One slight problem, though. I've added MANPATH /opt/local/share/man in /usr/share/misc/man.conf so that it reads MacPorts-installed manpages. This works fine (e.g. "man:svn" in Safari's address bar), except that with just "man:", it hangs at "Please be patient, Bwana is building descriptions to make the index more useful" and I have no choice but to kill it in Terminal.
The hang happens after 245 (or once I saw 252) of the 280 gzipped manpages in the man1 subdirectory have been expanded in /private/var/tmp/folders.501/; if I move all 280 out of the way, it still happens after 245 (of 1638) pages in man3 have been expanded. At that point console.log says
Code: Select all
2007-06-02 10:12:01.662 Bwana[21116] *** -[NSCFDictionary setObject:forKey:]: attempt to insert nil value
Code: Select all
2007-06-02 10:20:33.506 Bwana[22123] *** -[NSConcreteFileHandle readDataOfLength:]: Interrupted system call
Code: Select all
mini:~ fz$ gdb
GNU gdb 6.1-20040303 (Apple version gdb-437) (Fri Jan 13 18:45:48 GMT 2006)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-apple-darwin".
(gdb) attach 22123
Attaching to process 22123.
Reading symbols for shared libraries . done
Reading symbols for shared libraries ........................................................................... done
0x9000a4e7 in mach_msg_trap ()
(gdb) handle SIGCHLD stop
Signal Stop Print Pass to program Description
SIGCHLD Yes Yes Yes Child status changed
(gdb) c
Continuing.
Reading symbols for shared libraries . done (**)
Program received signal SIGCHLD, Child status changed.
0x900107ec in read ()
(gdb) bt
#0 0x900107ec in read ()
#1 0x9279032f in -[NSConcreteFileHandle readDataOfLength:] ()
#2 0x92791387 in -[NSConcreteFileHandle readDataToEndOfFile] ()
#3 0x000038f5 in -[MyController unzip:] ()
#4 0x0000479d in -[MyController showIndexWithFilter:inNewWindow:usingCache:] ()
#5 0x00003526 in -[MyController showIndexWithFilter:inNewWindow:] ()
#6 0x000034f3 in -[MyController masterIndex:] ()
#7 0x9271dd35 in -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] ()
#8 0x9271db5f in _NSAppleEventManagerGenericHandler ()
#9 0x9150dfb5 in aeDispatchAppleEvent ()
#10 0x9150dee6 in dispatchEventAndSendReply ()
#11 0x9150ddb2 in aeProcessAppleEvent ()
#12 0x92efc2cc in AEProcessAppleEvent ()
#13 0x9339aca9 in _DPSNextEvent ()
#14 0x9339a6be in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#15 0x93394443 in -[NSApplication run] ()
#16 0x93388397 in NSApplicationMain ()
#17 0x00002926 in _start ()
#18 0x0000284d in start ()
(gdb) c (***)
Continuing.