Package: emacs-goodies-el
Version: 24.10-1
Severity: normal
When the perl-doc package is not installed, and starting from "emacs
-q", M-x perldoc gives an error
Wrong type argument: stringp, t
I think in perldoc-functions-alist the call
(shell-command "perldoc -u perlfunc" t t)
is incorrect, emacs doesn't allow t for the error output (nil or no
arg gives the same as stdout, if that's the intention.)
I think the change below will give a friendly message when the
necessary perldoc program is not found.
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i586)
Kernel: Linux 2.6.10-1-386
Locale: LANG=C, LC_CTYPE=C (charmap=ISO-8859-1) (ignored: LC_ALL set to en_AU)
Versions of packages emacs-goodies-el depends on:
ii bash 3.0-15 The GNU Bourne Again SHell
ii emacs21 [emacsen] 21.4a-1 The GNU Emacs editor
-- no debconf information
--- perldoc.el.old 2005-06-18 17:26:22.838829608 +1000
+++ perldoc.el 2005-06-18 17:35:38.849303168 +1000
@@ -89,14 +89,18 @@
(case-fold-search nil))
(set-buffer tmp-buffer)
(erase-buffer)
- (shell-command "perldoc -u perlfunc" t t)
+ (shell-command "perldoc -u perlfunc" t)
(goto-char (point-min))
(search-forward "Alphabetical Listing of Perl Functions" nil t)
(while (re-search-forward
"^=item \\(\\([a-z][^ //\n]*\\)\\|\\(I<\\(.*\\)> \\)\\)" nil t)
(let ((entry (list (or (match-string 2)(match-string 4)))))
(when (not (member entry perldoc-functions-alist))
- (push entry perldoc-functions-alist)))))
+ (push entry perldoc-functions-alist))))
+ ;; no output means the perldoc program doesn't exist or is only the
+ ;; debian perl package dummy script
+ (unless perldoc-functions-alist
+ (error "`perldoc' program not available")))
perldoc-functions-alist))
;;;###autoload