Package: debian-el
Version: 29.5-1
Severity: normal
Tags: patch
The deb-view-control-coding function and the entry added to
file-coding-system-alist for it signal an error when trying to view a
manpage that contains the string "control" with WoMan. The following
recipe reproduces this in both emacs22 and emacs-snapshot (assuming
debhelper is installed for the dh_gencontrol manpage):
$ emacs22 -q
M-x toggle-debug-on-error
M-x woman RET dh_gencontrol
This gives the following backtrace:
,----
| Debugger entered--Lisp error: (wrong-type-argument stringp nil)
| string-match("\\.deb-INFO!\\./control\\'" nil)
| deb-view-control-coding((insert-file-contents
("/usr/share/man/man1/dh_gencontrol.1" . #<buffer *WoMan 1 dh_gencontrol*>) nil
nil nil nil))
| find-operation-coding-system(insert-file-contents
("/usr/share/man/man1/dh_gencontrol.1" . #<buffer *WoMan 1 dh_gencontrol*>) nil
nil nil nil)
| decode-coding-inserted-region(1 4778 "/usr/share/man/man1/dh_gencontrol.1"
nil nil nil nil)
| jka-compr-insert-file-contents("/usr/share/man/man1/dh_gencontrol.1.gz" nil
nil nil nil)
| apply(jka-compr-insert-file-contents
("/usr/share/man/man1/dh_gencontrol.1.gz" nil nil nil nil))
| jka-compr-handler(insert-file-contents
"/usr/share/man/man1/dh_gencontrol.1.gz" nil nil nil nil)
| insert-file-contents("/usr/share/man/man1/dh_gencontrol.1.gz" nil)
| woman-insert-file-contents("/usr/share/man/man1/dh_gencontrol.1.gz" t)
| woman-really-find-file("/usr/share/man/man1/dh_gencontrol.1.gz" t "*WoMan 1
dh_gencontrol*")
| woman-find-file("/usr/share/man/man1/dh_gencontrol.1.gz")
| woman(nil nil)
| call-interactively(woman)
| execute-extended-command(nil)
| call-interactively(execute-extended-command)
`----
The following patch should fix this issue:
--8<---------------cut here---------------start------------->8---
--- debian-el.el~ 2009-02-23 19:52:59.250583535 +0100
+++ debian-el.el 2009-04-10 15:37:18.902785993 +0200
@@ -91,7 +91,8 @@
(and (eq (car arg-list) 'insert-file-contents) ;; first arg
(consp (cadr arg-list)) ;; second arg like ("./control" . BUFFER)
(let ((buffer (cdr (cadr arg-list))))
- (and (string-match "\\.deb-INFO!\\./control\\'"
+ (and (buffer-file-name buffer)
+ (string-match "\\.deb-INFO!\\./control\\'"
(buffer-file-name buffer))
'utf-8))))
--8<---------------cut here---------------end--------------->8---
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (x86_64)
Kernel: Linux 2.6.28.9-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages debian-el depends on:
ii binutils 2.19.1-1 The GNU assembler, linker and bina
ii emacs-snapshot [emacsen] 1:20090329-2 The GNU Emacs editor (development
ii emacs21 [emacsen] 21.4a+1-5.6 The GNU Emacs editor
ii emacs22-gtk [emacsen] 22.3+1-1 The GNU Emacs editor (with GTK use
ii reportbug 4.0 reports bugs in the Debian distrib
Versions of packages debian-el recommends:
pn dlocate <none> (no description available)
ii groff-base 1.18.1.1-22 GNU troff text-formatting system (
ii wget 1.11.4-2 retrieves files from the web
Versions of packages debian-el suggests:
pn gnus <none> (no description available)
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]