--- man.el.~1.187.~ 2009-11-25 09:08:03.000000000 +1100 +++ man.el 2009-11-25 09:26:02.000000000 +1100 @@ -754,13 +754,17 @@ ((memq action '(t nil)) (let ((table '())) (with-temp-buffer + (setq default-directory "/") ;; in case inherited doesn't exist ;; Actually for my `man' the arg is a regexp. Don't know how ;; standard that is. Also, it's not clear what kind of ;; regexp are accepted: under GNU/Linux it seems it's ERE-style, ;; whereas under MacOSX it seems to be BRE-style and ;; doesn't accept backslashes at all. Let's not bother to ;; quote anything. - (call-process "man" nil '(t nil) nil "-k" (concat "^" string)) + (let ((process-connection-type nil) ;; pipe + (process-environment (copy-sequence process-environment))) + (setenv "COLUMNS" "999") ;; don't truncate long names + (call-process "man" nil '(t nil) nil "-k" (concat "^" string))) (goto-char (point-min)) (while (re-search-forward "^[^ \t\n]+" nil t) (push (match-string 0) table)))