emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: woman doesn't work if current buffer's directory doesn't exist


From: Chris Moore
Subject: Re: woman doesn't work if current buffer's directory doesn't exist
Date: Wed, 24 Jan 2007 23:06:37 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.93 (gnu/linux)

Richard Stallman <address@hidden> writes:

>     There's no ``best way'', it depends on what code calls call-process.
>     In some cases, you could bind default-directory to something sensible
>     (e.g., invocation-directory), in others you _must_ fail, because the
>     command arguments could use something like "./foo/bar" which precludes
>     us from changing directories.
>
> That is a good point.  Could you fix woman?

I don't think woman needs fixing.  Woman is failing because jka-compr
is failing, and that's where this can be fixed.

To see jka-compr failing, evaluate this:

  (let ((default-directory "/a/b/c"))
    (insert-file-contents "/usr/share/man/man1/ls.1.gz"))

I see a backtrace like this:

Debugger entered--Lisp error: (file-error "Setting current directory" "no suc
  signal(file-error ("Setting current directory" "no such file or directory" 
  (if (and (eq ... ...) (eq ... local-file)) (if visit (setq notfound error-c
  (condition-case error-code (let (...) (if replace ...) (setq start ...) (if
  (progn (and uncompress-message (message "%s %s..." uncompress-message base-
  (unwind-protect (progn (and uncompress-message ...) (condition-case error-c
  (let ((uncompress-message ...) (uncompress-program ...) (uncompress-args ..
  (if info (let (... ... ... ... ... ... local-file size start) (setq local-f
  (let* ((filename ...) (info ...)) (if info (let ... ... ... ... ... ... ...
  jka-compr-insert-file-contents("/usr/share/man/man1/ls.1.gz" nil nil nil ni
  apply(jka-compr-insert-file-contents ("/usr/share/man/man1/ls.1.gz" nil nil
  jka-compr-handler(insert-file-contents "/usr/share/man/man1/ls.1.gz" nil ni
  insert-file-contents("/usr/share/man/man1/ls.1.gz")
  (let ((default-directory "/a/b/c")) (insert-file-contents "/usr/share/man/m
  eval((let ((default-directory "/a/b/c")) (insert-file-contents "/usr/share/
  eval-last-sexp-1(nil)
  eval-last-sexp(nil)
  call-interactively(eval-last-sexp)

(assuming /a/b/c doesn't exist, and /usr/share/man/man1/ls.1.gz does,
and is in gzip format)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]