[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.
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'., Stefan Monnier, 2013/08/20
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'.,
Michael Albinus <=
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'., Stefan Monnier, 2013/08/20
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'., Michael Albinus, 2013/08/21
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'., Stefan Monnier, 2013/08/21
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'., Michael Albinus, 2013/08/22
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'., Stefan Monnier, 2013/08/22
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'., Michael Albinus, 2013/08/22
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'., Stefan Monnier, 2013/08/22
- Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'., Michael Albinus, 2013/08/26