From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Albinus Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] trunk r113958: * minibuffer.el (completion--sifn-requote): Bind `non-essential'. Date: Tue, 20 Aug 2013 16:59:08 +0200 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1377010768 27104 80.91.229.3 (20 Aug 2013 14:59:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 20 Aug 2013 14:59:28 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 20 16:59:29 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VBnP7-00029n-G7 for ged-emacs-devel@m.gmane.org; Tue, 20 Aug 2013 16:59:29 +0200 Original-Received: from localhost ([::1]:48346 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBnP7-0007Ap-1i for ged-emacs-devel@m.gmane.org; Tue, 20 Aug 2013 10:59:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50877) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBnOw-0006yA-UM for emacs-devel@gnu.org; Tue, 20 Aug 2013 10:59:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VBnOq-0000Sl-E5 for emacs-devel@gnu.org; Tue, 20 Aug 2013 10:59:18 -0400 Original-Received: from mout.gmx.net ([212.227.17.21]:56611) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBnOq-0000SP-4N for emacs-devel@gnu.org; Tue, 20 Aug 2013 10:59:12 -0400 Original-Received: from uw001237 ([79.193.174.122]) by mail.gmx.com (mrgmx101) with ESMTPA (Nemesis) id 0MRkhB-1VeER33Tjd-00Su9B for ; Tue, 20 Aug 2013 16:59:09 +0200 In-Reply-To: (Stefan Monnier's message of "Tue, 20 Aug 2013 10:35:54 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-Provags-ID: V03:K0:+JIrnveZRl/BTdZp1m7lYeFw1gEk+1xqTFExCSLHTU2dYrg0SVi XXXkB1L9p8LUV6aZdIXbzFg3BJStFW9RN4SMYYIHBLOCZhmLH1DKwwhXZY6V47VcVUXc9A+ GwMWcc4dkgKYYAzzkj+PS/EeqS4gbxrA+ZBXBv+F6FaEEbDM7u9sxbYN8kCtAbVPJkc8efn HSupcDfYyzeVekqfEEe6g== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 212.227.17.21 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:162921 Archived-At: Stefan Monnier 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:vagrant@192.168.10.") completion--sifn-requote(27 "/ssh:vagrant@192.168.10.2:/") completion--twq-try("/ssh:vagrant@192.168.10.2:/" "/ssh:vagrant@192.168.10.2:/" "/ssh:vagrant@192.168.10.2:/" 0 substitute-in-file-name completion--sifn-requote) completion--file-name-table("/ssh:vagrant@192.168.10.2:/" file-exists-p nil) complete-with-action(nil completion--file-name-table "/ssh:vagrant@192.168.10.2:/" file-exists-p) #[257 "\303\302\300\301$\207" ["/ssh:vagrant@192.168.10.2:/" file-exists-p nil complete-with-action] 6 "\n\n(fn TABLE)"](completion--file-name-table) funcall(#[257 "\303\302\300\301$\207" ["/ssh:vagrant@192.168.10.2:/" 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:vagrant@192.168.10.2:/" 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:vagrant@192.168.10.2:/" file-exists-p nil) try-completion("/ssh:vagrant@192.168.10.2:/" 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:vagrant@192.168.10.2:/") calls substitute-in-file-name("/ssh:vagrant@192.168.10.") > Stefan Best regards, Michael.