🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.vm.bug
Article #693

Re: Can't launch attachments with "spaces" in file name

#693
From: Kevin Rodgers
Date: Thu, 22 Jan 2004 16:17
58 lines
5832 bytes
Jeffrey J. Kosowsky wrote:

> newsspam5REMOVETHIS@robf.de writes:
>>M-: (setq debug-on-quit t) RET
>>
>>and have a look at the backtrace, this should identify the defun
>>causing the hang.
> 
> This is what I got (but not sure what it means...):


Emacs is set up by default to call ange-ftp-completion-hook when
expanding any file name (or its directory) that starts with a slash and
contains no other slash or colon characters -- in this case, "/tmp" (see
file-name-handler-alist).

That's essentially a no-op, which just calls expand-file-name again,
this time with inhibit-file-name-handlers and inhibit-file-name-operation
bound to prevent ange-ftp-completion-hook-function from being called again
in an infinite loop.

Then the second call to expand-file-name hangs somewhere after the check
for the directory name's file-name-handler.  Unfortunately, that leaves
about 600 lines of heavily #ifdef'ed C code to explore.  Can you run
Emacs under a debugger like gdb?  Then you could see where in
Fexpand_file_name() it is getting hung up.

In any case, this doesn't seem like a bug in VM, but in Emacs itself.


> Debugger entered--Lisp error: (quit)
>   expand-file-name("1092672-My Document.DOC" "/tmp")
>   apply(expand-file-name ("1092672-My Document.DOC" "/tmp"))
>   ange-ftp-completion-hook-function(expand-file-name "1092672-My Document.DOC" "/tmp")
>   expand-file-name("1092672-My Document.DOC" "/tmp")
>   vm-make-tempfile-name(".DOC" "My Document.DOC")
>   vm-make-tempfile(".DOC" "My Document.DOC")
>   (setq tempfile (vm-make-tempfile suffix basename))
>   (cond ((or ... ...) (cond ... ...) (setq suffix ... suffix ...) (setq basename ...) (setq tempfile ...) (vm-register-message-garbage-files ...) (let ... ... ... ... ...)))
>   (if (and (processp process) (eq ... ...)) t (cond (... ... ... ... ... ... ...)) (or (cdr program-list) (setq tempfile ...)) (let (... ...) (while p ... ... ...)) (message "Launching %s..." (mapconcat ... program-list " ")) (setq process (if ... ... ...)) (process-kill-without-query process t) (message "Launching %s... done" (mapconcat ... program-list " ")) (if vm-mime-delete-viewer-processes (vm-register-message-garbage ... process)) (put (vm-mm-layout-cache layout) (quote vm-mime-display-external-generic) (list process tempfile)))
>   (let ((program-list ...) (buffer-read-only nil) start (coding-system-for-read ...) (coding-system-for-write ...) (append-file t) process tempfile cache end suffix basename) (setq cache (get ... ...) process (nth 0 cache) tempfile (nth 1 cache)) (if (and ... ...) t (cond ...) (or ... ...) (let ... ...) (message "Launching %s..." ...) (setq process ...) (process-kill-without-query process t) (message "Launching %s... done" ...) (if vm-mime-delete-viewer-processes ...) (put ... ... ...)))
>   vm-mime-display-external-generic([("application/msword" "name=My Document.DOC") ("application/msword" "name=\"My Document.DOC\"") "base64" nil nil ("attachment" "filename=My Document.DOC") ("attachment" "filename=\"My Document.DOC\"") #<marker at 11750644 in Inbox> #<marker at 11750839 in Inbox> #<marker at 11750840 in Inbox> #<marker at 11770208 in Inbox> nil <<c>> <<m>> nil nil nil])
>   (and (vm-mime-can-display-external type) (vm-mime-display-external-generic layout))
>   (cond ((and ... ...)) ((and ... ...)) ((vm-mime-types-match "multipart" type) (or ... ...)) ((and ... ...) (and extent ...)) ((and ... ... ...) (if extent ...) (vm-decode-mime-layout new-layout)) (t (and extent ...) (if ... ... ...)))
>   (progn (if (not ...) (progn ... ...)) (setq type (downcase ...) type-no-subtype (car ...)) (cond (... ... ... ...)) (cond (...) (...) (... ...) (... ...) (... ... ...) (t ... ...)) (and extent (vm-mime-delete-button-maybe extent)))
>   (unwind-protect (progn (if ... ...) (setq type ... type-no-subtype ...) (cond ...) (cond ... ... ... ... ... ...) (and extent ...)) (set-buffer-modified-p modified))
>   (let ((modified ...) new-layout file type type2 type-no-subtype (extent nil)) (unwind-protect (progn ... ... ... ... ...) (set-buffer-modified-p modified)))
>   vm-decode-mime-layout(#<overlay from 20039 to 20116 in Inbox Presentation> t)
>   (let ((vm-auto-displayed-mime-content-types t) (vm-auto-displayed-mime-content-type-exceptions nil)) (vm-decode-mime-layout layout t))
>   (save-excursion (let (... ...) (vm-decode-mime-layout layout t)))
>   vm-mime-display-generic(#<overlay from 20039 to 20116 in Inbox Presentation>)
>   vm-mouse-popup-or-select((mouse-2 (#<window 81 on *Backtrace*> 5755 (322 . 269) 3335810)))
>   vm-mouse-button-2((mouse-2 (#<window 81 on *Backtrace*> 5755 (322 . 269) 3335810)))
>   call-interactively(vm-mouse-button-2)


-- 
Kevin Rodgers
Technical Details
Message-ID: <400FF790.1000900@yahoo.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!170.207.51.80!not-for-mail
References: <m2fzekj10g.fsf@consult.pretender> <400320B7.5060408@yahoo.com> <m2k73n2nrb.fsf@consult.pretender> <400D5599.10709@yahoo.com> <m2isj6m7a4.fsf@consult.pretender> <861xpth8a1.fsf@robf.deREMOVETHIS> <m2smi88qsy.fsf@consult.pretender>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f6829,6e83a1235cadfbbe
X-Google-Attributes: gidf6829,public
X-Google-ArrivalTime: 2004-01-22 08:17:17 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!170.207.51.80!not-for-mail
From: Kevin Rodgers <ihs_4664@yahoo.com>
Newsgroups: gnu.emacs.vm.bug
Subject: Re: Can't launch attachments with "spaces" in file name
Date: Thu, 22 Jan 2004 09:17:20 -0700
Lines: 59
Message-ID: <400FF790.1000900@yahoo.com>
References: <m2fzekj10g.fsf@consult.pretender> <400320B7.5060408@yahoo.com> <m2k73n2nrb.fsf@consult.pretender> <400D5599.10709@yahoo.com> <m2isj6m7a4.fsf@consult.pretender> <861xpth8a1.fsf@robf.deREMOVETHIS> <m2smi88qsy.fsf@consult.pretender>
NNTP-Posting-Host: 170.207.51.80
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: news.uni-berlin.de 1074788236 21342370 170.207.51.80 ([82742])
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:0.9.4.1) Gecko/20020406 Netscape6/6.2.2
X-Accept-Language: en-us