From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Matt McClure Newsgroups: gmane.emacs.tramp,gmane.emacs.devel Subject: Re: TRAMP: Host name must not match method ... Date: Mon, 19 Aug 2013 22:38:10 -0400 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; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1376966295 19019 80.91.229.3 (20 Aug 2013 02:38:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 20 Aug 2013 02:38:15 +0000 (UTC) Cc: tramp-devel@gnu.org, emacs-devel@gnu.org To: Michael Albinus Original-X-From: tramp-devel-bounces+get-tramp-devel=m.gmane.org@gnu.org Tue Aug 20 04:38:19 2013 Return-path: Envelope-to: get-tramp-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 1VBbpq-0006We-Ch for get-tramp-devel@m.gmane.org; Tue, 20 Aug 2013 04:38:18 +0200 Original-Received: from localhost ([::1]:45650 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBbpp-0007In-DB for get-tramp-devel@m.gmane.org; Mon, 19 Aug 2013 22:38:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46279) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBbpl-0007Ib-Ah for tramp-devel@gnu.org; Mon, 19 Aug 2013 22:38:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VBbpj-0003IJ-QI for tramp-devel@gnu.org; Mon, 19 Aug 2013 22:38:13 -0400 Original-Received: from mail-pb0-x231.google.com ([2607:f8b0:400e:c01::231]:45591) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBbpj-0003Hw-JJ; Mon, 19 Aug 2013 22:38:11 -0400 Original-Received: by mail-pb0-f49.google.com with SMTP id xb4so5694887pbc.36 for ; Mon, 19 Aug 2013 19:38:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=3f4JAVktsdDOZRgSk4JMXo2z7uvBd+qI9JSXJVhaGMg=; b=A2Pc4qeP13evphJ3hYlkQW30odZeOSGrLhlAR7zEpZNNU4uDcFJFZF+iOFLspiKVVy 9THGBdZ+M+o772gQTtw51hcxAh7fPvyb6VddozKJINMIBra5dI99O0Db7RST0YCaSS8T HkJehpD3orztv1mIyvimqoelXjANPjlr6a83ssKJYWP4Kk+REfb0/2pOdCqhTz4t5v00 t0K5QAby+phKEcPkyycdE38d46TItGTKrg4vKxMLU6ZnV7jDeO9L683MdBeekHi8sjJH yqEp0FrXqMs00A681QQ80uszPmVM53MubLiLT2eIPk4m4TqT08Bdd5DoVHpEAEAw8aql NcHw== X-Received: by 10.68.130.200 with SMTP id og8mr16334540pbb.111.1376966290290; Mon, 19 Aug 2013 19:38:10 -0700 (PDT) Original-Received: by 10.69.0.35 with HTTP; Mon, 19 Aug 2013 19:38:10 -0700 (PDT) In-Reply-To: <87haelopdc.fsf@gmx.de> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c01::231 X-BeenThere: tramp-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tramp-devel-bounces+get-tramp-devel=m.gmane.org@gnu.org Original-Sender: tramp-devel-bounces+get-tramp-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.tramp:8393 gmane.emacs.devel:162902 Archived-At: On Mon, Aug 19, 2013 at 8:07 AM, Michael Albinus wrote: > Matt McClure writes: > >> Here's the backtrace the first time it stops: > > [...] > >> rfn-eshadow-update-overlay() > > 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. > Could you, please, check whether you might have shadow lisp files? Try > "M-x list-load-path-shadows". No Emacs Lisp load-path shadowings were found > In the debugger, you might also check the value of `non-essential', when > you pass `rfn-eshadow-update-overlay' and the break point. At the breakpoint in the failure case, and actually in the success cases also: non-essential is a variable defined in `simple.el'. Its value is nil >> C-x C-f /ssh:vagrant@192.168.33.2:/ RET >> >> This time the backtrace looks different. I notice these two stack >> frames that look suspicious: >> >> substitute-in-file-name("/ssh:vagrant@192.168.10.") >> completion--sifn-requote(27 "/ssh:vagrant@192.168.10.2:/") > > Here I don't see exactly what happens; I'm not so familiar with the > completion code in minibuffer.el. But maybe this is caused by the same > reason as the first break, let's see. 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. I'm able to work around the problem with: diff -u --label /Applications/Emacs.app/Contents/Resources/lisp/minibuffer.el.gz\~ --label /Applications/Emacs.app/Contents/Resources/lisp/minibuffer.el.gz /var/folders/_d/5p0jtv397qs73qr_frd6bw180000gn/T/jka-com874eUK /var/folders/_d/5p0jtv397qs73qr_frd6bw180000gn/T/jka-com8744oW --- /Applications/Emacs.app/Contents/Resources/lisp/minibuffer.el.gz~ +++ /Applications/Emacs.app/Contents/Resources/lisp/minibuffer.el.gz @@ -2256,13 +2256,15 @@ ;; Second assumptions: If qpos is far from the end this can be a bit slow, ;; so we speed it up by doing a first loop that skips a word at a time. ;; This word-sized loop is careful not to cut in the middle of env-vars. - (while (let ((boundary (string-match "\\(\\$+{?\\)?\\w+\\W*\\'" qstr))) - (and boundary - (progn - (setq qprefix (substring qstr 0 boundary)) - (string-prefix-p uprefix - (substitute-in-file-name qprefix))))) - (setq qstr qprefix)) + (condition-case nil + (while (let ((boundary (string-match "\\(\\$+{?\\)?\\w+\\W*\\'" qstr))) + (and boundary + (progn + (setq qprefix (substring qstr 0 boundary)) + (string-prefix-p uprefix + (substitute-in-file-name qprefix))))) + (setq qstr qprefix)) + (error nil)) (let ((qpos (length qstr))) (while (and (> qpos 0) (string-prefix-p uprefix Diff finished. Mon Aug 19 22:29:17 2013 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"). -- Matt McClure http://matthewlmcclure.com http://www.mapmyfitness.com/profile/matthewlmcclure