* bug#37464: 26.3; Icomplete and TRAMP create unnecessary buffer
@ 2019-09-19 20:38 Andrii Kolomoiets
2019-09-21 9:17 ` Michael Albinus
0 siblings, 1 reply; 5+ messages in thread
From: Andrii Kolomoiets @ 2019-09-19 20:38 UTC (permalink / raw)
To: 37464
1. emacs -Q
2. M-x icomplete-mode
3. C-x C-f
4. /q::
instead of "q" allowed method can be specified e.g. "sudo" or "ssh"
5. C-g
6. C-x C-b
Notice new buffer "*tramp/q..." created although command was cancelled.
In GNU Emacs 26.3 (build 1, x86_64-apple-darwin18.2.0, NS appkit-1671.20 Version 10.14.3 (Build 18D109))
of 2019-09-02 built on builder10-14.porkrind.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37464: 26.3; Icomplete and TRAMP create unnecessary buffer
2019-09-19 20:38 bug#37464: 26.3; Icomplete and TRAMP create unnecessary buffer Andrii Kolomoiets
@ 2019-09-21 9:17 ` Michael Albinus
2019-09-23 6:59 ` Andrii Kolomoiets
0 siblings, 1 reply; 5+ messages in thread
From: Michael Albinus @ 2019-09-21 9:17 UTC (permalink / raw)
To: Andrii Kolomoiets; +Cc: 37464-done
Andrii Kolomoiets <andreyk.mad@gmail.com> writes:
Hi Andrii,
> 1. emacs -Q
> 2. M-x icomplete-mode
> 3. C-x C-f
> 4. /q::
> instead of "q" allowed method can be specified e.g. "sudo" or "ssh"
> 5. C-g
> 6. C-x C-b
>
> Notice new buffer "*tramp/q..." created although command was cancelled.
Thanks for the report, I can confirm the behaviour. However, this is not
a bug. Try the following command instead:
emacs -Q --eval '(setq tramp-verbose 6)'
This enables traces up to level 6, which are the commands send to a
remote host. You will see also the buffer *debug tramp/ssh...*. No trace
there with level 6, but entries like
11:09:33.148026 tramp-file-name-handler (5) # Non-essential received in operation (file-name-all-completions /ssh::)
This tells us, that Tramp hasn't tried any remote connection, because it
is still in user name / host name completion. And that's what counts.
I'm marking this as not-a-bug, and close it. Feel free to ask if you
need further information.
Best regards, Michael.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37464: 26.3; Icomplete and TRAMP create unnecessary buffer
2019-09-21 9:17 ` Michael Albinus
@ 2019-09-23 6:59 ` Andrii Kolomoiets
2019-09-23 10:53 ` Michael Albinus
0 siblings, 1 reply; 5+ messages in thread
From: Andrii Kolomoiets @ 2019-09-23 6:59 UTC (permalink / raw)
To: Michael Albinus; +Cc: 37464-done
Hi Michael,
> On Sep 21, 2019, at 12:17, Michael Albinus <michael.albinus@gmx.de> wrote:
>
>> 1. emacs -Q
>> 2. M-x icomplete-mode
>> 3. C-x C-f
>> 4. /q::
>> instead of "q" allowed method can be specified e.g. "sudo" or "ssh"
>> 5. C-g
>> 6. C-x C-b
>>
>> Notice new buffer "*tramp/q..." created although command was cancelled.
>
> Thanks for the report, I can confirm the behaviour. However, this is not
> a bug. Try the following command instead:
>
> emacs -Q --eval '(setq tramp-verbose 6)'
>
> This enables traces up to level 6, which are the commands send to a
> remote host. You will see also the buffer *debug tramp/ssh...*. No trace
> there with level 6, but entries like
>
> 11:09:33.148026 tramp-file-name-handler (5) # Non-essential received in operation (file-name-all-completions /ssh::)
>
> This tells us, that Tramp hasn't tried any remote connection, because it
> is still in user name / host name completion. And that's what counts.
>
> I'm marking this as not-a-bug, and close it. Feel free to ask if you
> need further information.
>
> Best regards, Michael.
But why this doesn't happen when icomplete-mode is disabled?
C-x C-f /q:: <TAB> says "Method 'q' is not known" and there are
no `*tramp/q...` buffer.
Let me explain how i faced this behaviour. I have some commands that do
`(abbreviate-file-name default-directory)`. After misspelled `sudo` as
TRAMP method in `find-file` prompt like `/suod::/etc/hosts` and
cancelling command with `C-g` the buffer `*tramp/suod...` was created.
And `(abbreviate-file-name default-directory)` in that buffer leads to
"Method 'suod' is not known" error.
I thought that buffer `*tramp/suod...` was created mistakenly.
If this is expected behaviour do i need to wrap `abbreviate-file-name`
with `condition-case` or something?
Actually there are more command that won't work from the
`*tramp/suod...` buffer: vc-dir, find-file, dired.
All of them leads to "Method 'soud' is not known" error.
Thanks!
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37464: 26.3; Icomplete and TRAMP create unnecessary buffer
2019-09-23 6:59 ` Andrii Kolomoiets
@ 2019-09-23 10:53 ` Michael Albinus
2019-09-23 11:46 ` Andrii Kolomoiets
0 siblings, 1 reply; 5+ messages in thread
From: Michael Albinus @ 2019-09-23 10:53 UTC (permalink / raw)
To: Andrii Kolomoiets; +Cc: 37464-done
Andrii Kolomoiets <andreyk.mad@gmail.com> writes:
> Hi Michael,
Hi Andrii,
> But why this doesn't happen when icomplete-mode is disabled?
> C-x C-f /q:: <TAB> says "Method 'q' is not known" and there are
> no `*tramp/q...` buffer.
You activate icomplete-mode for a reason. Icomplete calls (file-exists-p
"/ssh:hostname:"), after you have typed "/ssh::" (given that "hostname" is
the name of your host). Without icomplete-mode, this doesn't happen.
> Let me explain how i faced this behaviour. I have some commands that do
> `(abbreviate-file-name default-directory)`. After misspelled `sudo` as
> TRAMP method in `find-file` prompt like `/suod::/etc/hosts` and
> cancelling command with `C-g` the buffer `*tramp/suod...` was created.
> And `(abbreviate-file-name default-directory)` in that buffer leads to
> "Method 'suod' is not known" error.
Yes. But why do you call it in this buffer?
> I thought that buffer `*tramp/suod...` was created mistakenly.
> If this is expected behaviour do i need to wrap `abbreviate-file-name`
> with `condition-case` or something?
(ignore-errors (abbreviate-file-name default-directory)) would do.
> Actually there are more command that won't work from the
> `*tramp/suod...` buffer: vc-dir, find-file, dired.
> All of them leads to "Method 'soud' is not known" error.
Yes, but only if you take the buffer with the damaged
default-directory. I would try to ban such a buffer in my code.
> Thanks!
Best regards, Michael.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37464: 26.3; Icomplete and TRAMP create unnecessary buffer
2019-09-23 10:53 ` Michael Albinus
@ 2019-09-23 11:46 ` Andrii Kolomoiets
0 siblings, 0 replies; 5+ messages in thread
From: Andrii Kolomoiets @ 2019-09-23 11:46 UTC (permalink / raw)
To: Michael Albinus; +Cc: 37464-done
> Hi Andrii,
Hi Michael,
>> But why this doesn't happen when icomplete-mode is disabled?
>> C-x C-f /q:: <TAB> says "Method 'q' is not known" and there are
>> no `*tramp/q...` buffer.
>
> You activate icomplete-mode for a reason. Icomplete calls (file-exists-p
> "/ssh:hostname:"), after you have typed "/ssh::" (given that "hostname" is
> the name of your host). Without icomplete-mode, this doesn't happen.
>
>> Let me explain how i faced this behaviour. I have some commands that do
>> `(abbreviate-file-name default-directory)`. After misspelled `sudo` as
>> TRAMP method in `find-file` prompt like `/suod::/etc/hosts` and
>> cancelling command with `C-g` the buffer `*tramp/suod...` was created.
>> And `(abbreviate-file-name default-directory)` in that buffer leads to
>> "Method 'suod' is not known" error.
>
> Yes. But why do you call it in this buffer?
I use buffers in Ibuffer grouped by project or default-directory.
Group name is abbreviated default directory of the buffer if there are no project.
Also I have a command to switch to buffer which is belong to current project.
It call file-in-directory-p on every buffer's default-directory in order to determine
that the buffer belongs to project.
>> I thought that buffer `*tramp/suod...` was created mistakenly.
>> If this is expected behaviour do i need to wrap `abbreviate-file-name`
>> with `condition-case` or something?
>
> (ignore-errors (abbreviate-file-name default-directory)) would do.
Got it.
>> Actually there are more command that won't work from the
>> `*tramp/suod...` buffer: vc-dir, find-file, dired.
>> All of them leads to "Method 'soud' is not known" error.
>
> Yes, but only if you take the buffer with the damaged
> default-directory. I would try to ban such a buffer in my code.
>
> Best regards, Michael.
Thanks again, Michael.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-09-23 11:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-19 20:38 bug#37464: 26.3; Icomplete and TRAMP create unnecessary buffer Andrii Kolomoiets
2019-09-21 9:17 ` Michael Albinus
2019-09-23 6:59 ` Andrii Kolomoiets
2019-09-23 10:53 ` Michael Albinus
2019-09-23 11:46 ` Andrii Kolomoiets
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).