From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Albinus Newsgroups: gmane.emacs.devel,gmane.emacs.tramp Subject: Re: TRAMP: Host name must not match method ... Date: Tue, 20 Aug 2013 12:06:24 +0200 Message-ID: References: <87y581dbfl.fsf@gmx.de> <87haelopdc.fsf@gmx.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1376993202 17574 80.91.229.3 (20 Aug 2013 10:06:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 20 Aug 2013 10:06:42 +0000 (UTC) Cc: tramp-devel@gnu.org, emacs-devel@gnu.org To: Matt McClure Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 20 12:06:43 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 1VBipl-0006W6-VX for ged-emacs-devel@m.gmane.org; Tue, 20 Aug 2013 12:06:42 +0200 Original-Received: from localhost ([::1]:46884 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBipl-0000Iv-Es for ged-emacs-devel@m.gmane.org; Tue, 20 Aug 2013 06:06:41 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55443) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBipc-0000IL-M1 for emacs-devel@gnu.org; Tue, 20 Aug 2013 06:06:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VBipW-0002tk-Mz for emacs-devel@gnu.org; Tue, 20 Aug 2013 06:06:32 -0400 Original-Received: from mout.gmx.net ([212.227.15.19]:52687) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBipW-0002ta-Cn for emacs-devel@gnu.org; Tue, 20 Aug 2013 06:06:26 -0400 Original-Received: from uw001237 ([79.193.174.122]) by mail.gmx.com (mrgmx102) with ESMTPA (Nemesis) id 0MN748-1V9UqW4BXE-006cwr for ; Tue, 20 Aug 2013 12:06:25 +0200 In-Reply-To: (Matt McClure's message of "Mon, 19 Aug 2013 22:38:10 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-Provags-ID: V03:K0:YNpy+QKffzealvX3wwdIm6Tq0E9wjUl2apm/5+4wekSiPTplpKd TqPPJ41xijjnVMBJyUI2pR4Ffau8/AzoW7fTJ9Bz0lmdx5uRk0y0ruzhEARy4n2Xv91JP31 IlLYOBsDYkx23b4FhsisTn+Z5S4RAA50ASWUFN5XCCDLJyVr43rs7YwFclUQzC1+1zsWZcM TGsu96RUtLuUQqJ+BCPJw== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 212.227.15.19 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:162912 gmane.emacs.tramp:8394 Archived-At: Matt McClure writes: Hi Matt, >> Strange. The user error in `tramp-dissect-file-name' is raised only when >> `tramp-completion-mode-p' returns nil. That function checks (beside >> other things) the variable `non-essential', which is bound to t inside >> `rfn-eshadow-update-overlay'. So there shouldn't be any problem. > > True. The first backtrace from my previous message is in a scenario > where the error doesn't surface to the user. The second backtrace, > which does not include `rfn-eshadow-update-overlay', is the failure > case. For the first backtrace, I could fix it (binding of `non-essential' was too late). The second problem you have shown is still not reproducible locally. Anyway, the patch in `completion--sifn-requote' below uses the same logic as in `rfn-eshadow-update-overlay', and should fix it for you as well. > Comparing rfn-eshadow-update-overlay to completion--sifn-requote, I > notice that the former wraps its call to substitute-in-file-name with > condition-case, whereas the latter does not. I believe the user-error > is signaled in both cases, but in the former it's handled by > condition-case, whereas in the latter nothing handles it. Right. Except that the second case does not happen to me. > But it seems that there must be a copy of minibuffer.el compiled into > the executable (?). Even though the completion--sifn-requote is > already defined, before my copy becomes active, I have to explicitly > (load-library "minibuffer"). Yes. Some of the most used lisp packages are dumped into the Emacs binary. You must recompile Emacs (or reload minibuffer.el, as you do). The following patch is submitted to Emacs trunk. Please check, whether it fixes the problem for you, especially in `completion--sifn-requote'. --8<---------------cut here---------------start------------->8--- === modified file 'lisp/ChangeLog' *** lisp/ChangeLog 2013-08-17 10:20:15 +0000 --- lisp/ChangeLog 2013-08-20 09:50:38 +0000 *************** *** 1,3 **** --- 1,10 ---- + 2013-08-20 Michael Albinus + + * minibuffer.el (completion--sifn-requote): Bind `non-essential'. + + * rfn-eshadow.el (rfn-eshadow-update-overlay): Move binding of + `non-essential' up. + 2013-08-17 Michael Albinus * net/tramp.el: === modified file 'lisp/minibuffer.el' *** lisp/minibuffer.el 2013-07-30 20:42:15 +0000 --- lisp/minibuffer.el 2013-08-20 09:29:27 +0000 *************** *** 2246,2252 **** ;; - Cygwin (substitute-in-file-name "C:\bin") => "/usr/bin" ;; (substitute-in-file-name "C:\") => "/" ;; (substitute-in-file-name "C:\bi") => "/bi" ! (let* ((ustr (substitute-in-file-name qstr)) (uprefix (substring ustr 0 upos)) qprefix) ;; Main assumption: nothing after qpos should affect the text before upos, --- 2246,2253 ---- ;; - Cygwin (substitute-in-file-name "C:\bin") => "/usr/bin" ;; (substitute-in-file-name "C:\") => "/" ;; (substitute-in-file-name "C:\bi") => "/bi" ! (let* ((non-essential t) ! (ustr (substitute-in-file-name qstr)) (uprefix (substring ustr 0 upos)) qprefix) ;; Main assumption: nothing after qpos should affect the text before upos, === modified file 'lisp/rfn-eshadow.el' *** lisp/rfn-eshadow.el 2013-01-01 09:11:05 +0000 --- lisp/rfn-eshadow.el 2013-08-20 08:57:50 +0000 *************** *** 176,186 **** `file-name-shadow-mode'; the minibuffer should have already been set up by `rfn-eshadow-setup-minibuffer'." (condition-case nil ! (let ((goal (substitute-in-file-name (minibuffer-contents))) ! (mid (overlay-end rfn-eshadow-overlay)) ! (start (minibuffer-prompt-end)) ! (end (point-max)) ! (non-essential t)) (unless ;; Catch the common case where the shadow does not need to move. (and mid --- 176,186 ---- `file-name-shadow-mode'; the minibuffer should have already been set up by `rfn-eshadow-setup-minibuffer'." (condition-case nil ! (let* ((non-essential t) ! (goal (substitute-in-file-name (minibuffer-contents))) ! (mid (overlay-end rfn-eshadow-overlay)) ! (start (minibuffer-prompt-end)) ! (end (point-max))) (unless ;; Catch the common case where the shadow does not need to move. (and mid --8<---------------cut here---------------end--------------->8--- Best regards, Michael.