emacs-devel
[Top][All Lists]
Advanced

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

Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requo


From: Michael Albinus
Subject: Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'.
Date: Tue, 20 Aug 2013 16:59:08 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>>   * minibuffer.el (completion--sifn-requote): Bind `non-essential'.
>   
> This is wrong.  completion--sifn-requote is used in many contexts, some
> of which are "essential" and some not.  IOW if you need to bind
> non-essential, it shouldn't be here, but somewhere higher up the
> call-chain.

Honestly, I don't know too much about the completion code in
minibuffer.el. The OP has reported the following backtrace (shortened by
me):

      substitute-in-file-name("/ssh:address@hidden")
      completion--sifn-requote(27 "/ssh:address@hidden:/")
      completion--twq-try("/ssh:address@hidden:/" "/ssh:address@hidden:/" 
"/ssh:address@hidden:/" 0 substitute-in-file-name completion--sifn-requote)
      completion--file-name-table("/ssh:address@hidden:/" file-exists-p nil)
      complete-with-action(nil completion--file-name-table 
"/ssh:address@hidden:/" file-exists-p)
      #[257 "\303\302\300\301$\207" ["/ssh:address@hidden:/" file-exists-p nil 
complete-with-action] 6 "\n\n(fn TABLE)"](completion--file-name-table)
      funcall(#[257 "\303\302\300\301$\207" ["/ssh:address@hidden:/" 
file-exists-p nil complete-with-action] 6 "\n\n(fn TABLE)"] 
completion--file-name-table)
      (setq res (funcall fun (car (prog1 xs (setq xs (cdr xs))))))
      (condition-case err (setq res (funcall fun (car (prog1 xs (setq xs (cdr 
xs)))))) (error (if firsterror nil (setq firsterror err)) nil))
      (while (and (not res) xs) (condition-case err (setq res (funcall fun (car 
(prog1 xs (setq xs (cdr xs)))))) (error (if firsterror nil (setq firsterror 
err)) nil)))
      (let ((firsterror nil) res) (while (and (not res) xs) (condition-case err 
(setq res (funcall fun (car (prog1 xs (setq xs ...))))) (error (if firsterror 
nil (setq firsterror err)) nil))) (or res (if firsterror (signal (car 
firsterror) (cdr firsterror)))))
      completion--some(#[257 "\303\302\300\301$\207" ["/ssh:address@hidden:/" 
file-exists-p nil complete-with-action] 6 "\n\n(fn TABLE)"] 
(completion--embedded-envvar-table completion--file-name-table))
      read-file-name-internal("/ssh:address@hidden:/" file-exists-p nil)
      try-completion("/ssh:address@hidden:/" read-file-name-internal 
file-exists-p)

Sadly, I cannot reproduce this scenario locally. And I have no idea, why

      completion--sifn-requote(27 "/ssh:address@hidden:/")

calls

      substitute-in-file-name("/ssh:address@hidden")

>         Stefan

Best regards, Michael.



reply via email to

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