* Re: [Emacs-diffs] master 37b88d7: Fix bug#23006 [not found] ` <20170309184458.08C9725FCF@vcs0.savannah.gnu.org> @ 2017-03-10 8:43 ` Stefan Monnier 2017-03-10 10:00 ` Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: Stefan Monnier @ 2017-03-10 8:43 UTC (permalink / raw) To: emacs-devel; +Cc: Michael Albinus > * lisp/minibuffer.el (completion--nth-completion): > Let-bind `non-essential'. Oh, no, this is wrong. This amounts to saying that all forms of completions are always non-essential, which is definitely incorrect. Stefan ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [Emacs-diffs] master 37b88d7: Fix bug#23006 2017-03-10 8:43 ` [Emacs-diffs] master 37b88d7: Fix bug#23006 Stefan Monnier @ 2017-03-10 10:00 ` Michael Albinus 2017-03-10 10:10 ` Stefan Monnier ` (2 more replies) 0 siblings, 3 replies; 56+ messages in thread From: Michael Albinus @ 2017-03-10 10:00 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: Hi Stefan, >> * lisp/minibuffer.el (completion--nth-completion): >> Let-bind `non-essential'. > > Oh, no, this is wrong. This amounts to saying that all forms of > completions are always non-essential, which is definitely incorrect. The only meaning of `non-essential' is to give Tramp a hint that we're in completion. I haven't seen any other use of this variable since it has been introduced back in 2010. If you believe this is wrong, then Tramp needs another variable for such a trigger. As we did agree originally in <http://lists.gnu.org/archive/html/bug-gnu-emacs/2010-04/msg00371.html>. The idea to take `non-essential' instead came later from you. > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [Emacs-diffs] master 37b88d7: Fix bug#23006 2017-03-10 10:00 ` Michael Albinus @ 2017-03-10 10:10 ` Stefan Monnier 2017-03-10 10:32 ` Michael Albinus 2017-03-10 10:30 ` [Emacs-diffs] master 37b88d7: Fix bug#23006 Dmitry Gutov 2017-03-10 10:34 ` Stefan Monnier 2 siblings, 1 reply; 56+ messages in thread From: Stefan Monnier @ 2017-03-10 10:10 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel > The only meaning of `non-essential' is to give Tramp a hint that we're > in completion. No, the meaning of it is: we're running code which is not essential (basically, running in something equivalent to a background thread). It's been introduced mainly for Tramp, so that Tramp can decide whether it should try to open a new connection or not (e.g., it should open a new connection when the user does `C-x C-f /ssh:foo:bar TAB' but it shouldn't open a new connection when the user does `M-x icomplete-mode RET C-x C-f /ssh:foo:bar'). The binding you added gets rid of this distinction, and indeed, now if I do `C-x C-f /ssh:foo:bar TAB' I don't get any completion any more. Stefan ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [Emacs-diffs] master 37b88d7: Fix bug#23006 2017-03-10 10:10 ` Stefan Monnier @ 2017-03-10 10:32 ` Michael Albinus 2017-03-10 10:57 ` Stefan Monnier 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-03-10 10:32 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> The only meaning of `non-essential' is to give Tramp a hint that we're >> in completion. > > No, the meaning of it is: we're running code which is not essential > (basically, running in something equivalent to a background thread). > > It's been introduced mainly for Tramp, so that Tramp can decide whether > it should try to open a new connection or not (e.g., it should open > a new connection when the user does `C-x C-f /ssh:foo:bar TAB' but it > shouldn't open a new connection when the user does > `M-x icomplete-mode RET C-x C-f /ssh:foo:bar'). It is not only the password case. It is also the ambiguity of the remote file name syntax, where "/abc:" could be already a hostname, or just a method. Tramp must know whether it is in completion, and behave accordingly. File name handlers are bound to the syntax of a file name; no semantics included. I hate this ambiguity since ever (I've entered Tramp maintenace in 2002). But we are much too late to change the syntax. > The binding you added gets rid of this distinction, and indeed, now if > I do `C-x C-f /ssh:foo:bar TAB' I don't get any completion any more. A single "/" helps. Try `C-x C-f /ssh:foo:./bar TAB' for example. > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [Emacs-diffs] master 37b88d7: Fix bug#23006 2017-03-10 10:32 ` Michael Albinus @ 2017-03-10 10:57 ` Stefan Monnier 2017-03-10 14:14 ` Change Tramp syntax (was: [Emacs-diffs] master 37b88d7: Fix bug#23006) Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: Stefan Monnier @ 2017-03-10 10:57 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel > I hate this ambiguity since ever (I've entered Tramp maintenace in > 2002). But we are much too late to change the syntax. Of course not. It can be changed very easily, and very few users if any will suffer from it. In all likelihood the only cases where this occurs are interactive situations, and we've generally considered it OK to break backward compatibility with "old humans" (as opposed to "old code", where we usually try to preserve this compatibility) except for specific cases where we think that it will inconvenience muscle memory of too many users. Let's get rid of this ambiguity once and for all, so we can move on, instead of adding hacks to try and keep it alive even longer. >> The binding you added gets rid of this distinction, and indeed, now if >> I do `C-x C-f /ssh:foo:bar TAB' I don't get any completion any more. > A single "/" helps. Try `C-x C-f /ssh:foo:./bar TAB' for example. So I see another problem: emacs -Q M-x icomplete-mode RET C-x C-f /ssh:foo:/ and now suddenly it's signaling errors because it tries to connect to `foo` even though I haven't requested any completion yet. I think it should honor `non-essential' in that case and not try to open up a new connection until I hit TAB or some similar explicit request. Stefan ^ permalink raw reply [flat|nested] 56+ messages in thread
* Change Tramp syntax (was: [Emacs-diffs] master 37b88d7: Fix bug#23006) 2017-03-10 10:57 ` Stefan Monnier @ 2017-03-10 14:14 ` Michael Albinus 2017-03-10 15:22 ` Eli Zaretskii 2017-03-10 16:56 ` Stefan Monnier 0 siblings, 2 replies; 56+ messages in thread From: Michael Albinus @ 2017-03-10 14:14 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> I hate this ambiguity since ever (I've entered Tramp maintenace in >> 2002). But we are much too late to change the syntax. > > Of course not. It can be changed very easily, and very few users if any > will suffer from it. In all likelihood the only cases where this > occurs are interactive situations, and we've generally considered it OK > to break backward compatibility with "old humans" (as opposed to "old > code", where we usually try to preserve this compatibility) except for > specific cases where we think that it will inconvenience muscle memory of > too many users. IIRC, the main reason to declare the method part optional was to still support ange-ftp syntax. Now it's 15 years later, and the number of ange-ftp users might have decreased. > Let's get rid of this ambiguity once and for all, so we can move on, > instead of adding hacks to try and keep it alive even longer. Maybe we shall start a poll, in emacs-devel, emacs-help and tramp-devel. We should not ask what a user prefers (many of them will prefer not to type a method). They question must be what will be broken if we stop support for ange-ftp syntax "/host:/path/to/file". This would also mean, that we cannot support default methods anymore. A file name with a default method would look like "/:host:/path/to/file", which is already the quoted file name syntax. John? Eli? > So I see another problem: > > emacs -Q > M-x icomplete-mode RET > C-x C-f /ssh:foo:/ > > and now suddenly it's signaling errors because it tries to connect to > `foo` even though I haven't requested any completion yet. > I think it should honor `non-essential' in that case and not try to open > up a new connection until I hit TAB or some similar explicit request. I'll check. > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax (was: [Emacs-diffs] master 37b88d7: Fix bug#23006) 2017-03-10 14:14 ` Change Tramp syntax (was: [Emacs-diffs] master 37b88d7: Fix bug#23006) Michael Albinus @ 2017-03-10 15:22 ` Eli Zaretskii 2017-04-03 15:54 ` Change Tramp syntax John Wiegley 2017-03-10 16:56 ` Stefan Monnier 1 sibling, 1 reply; 56+ messages in thread From: Eli Zaretskii @ 2017-03-10 15:22 UTC (permalink / raw) To: Michael Albinus; +Cc: monnier, emacs-devel > From: Michael Albinus <michael.albinus@gmx.de> > Date: Fri, 10 Mar 2017 15:14:21 +0100 > Cc: emacs-devel@gnu.org > > Maybe we shall start a poll, in emacs-devel, emacs-help and > tramp-devel. We should not ask what a user prefers (many of them will > prefer not to type a method). They question must be what will be broken > if we stop support for ange-ftp syntax "/host:/path/to/file". > > This would also mean, that we cannot support default methods anymore. A > file name with a default method would look like "/:host:/path/to/file", > which is already the quoted file name syntax. > > John? Eli? I didn't use ange-ftp syntax in a decade. Not sure what others do, but my impression is that Tramp methods are the only game in town. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-10 15:22 ` Eli Zaretskii @ 2017-04-03 15:54 ` John Wiegley 2017-04-03 17:00 ` Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: John Wiegley @ 2017-04-03 15:54 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Michael Albinus, monnier, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1700 bytes --] >>>>> "EZ" == Eli Zaretskii <eliz@gnu.org> writes: EZ> I didn't use ange-ftp syntax in a decade. Not sure what others do, but my EZ> impression is that Tramp methods are the only game in town. I use the ange-ftp syntax multiple times a day, for years now. It's how I edit files on remote hosts. Changing from "/host:file" to "/-:host:file" seems like an unnecessary change in syntax -- when the first form is so easy to use -- but only because I don't understand the difficulties it causes. However, I imagine many users, who like me are long-familiar with the first form, will wonder why we had to move to a more complex syntax *when the first one has been working for years and years*. How are people using the new Tramp to learn that "/-:" is replaced by "/"? Will "/host:file" just be broken for them, and they have to understand both (1) that it's a Tramp-related issue, and (2) how to find the answer in the Tramp manual or NEWS file? If there are more people like me out there, relying on this syntax as heavily, I have a sense this is going to feel like a concession that does not benefit the user. Unless I'm mistaken, the user gains nothing from the change, but now has to remember to add "-:" to path names long since burned into finger memory. - Is there *any way* to retain ange-ftp syntax, maybe even as a hack that rewrites /foo:bar into /-:foo:bar, and can be required from a compat module? - What is the user experience when ange-ftp paths are used, after this change is made? Thanks, -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 658 bytes --] ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-03 15:54 ` Change Tramp syntax John Wiegley @ 2017-04-03 17:00 ` Michael Albinus 2017-04-03 23:14 ` John Wiegley 2017-04-04 7:09 ` Andreas Schwab 0 siblings, 2 replies; 56+ messages in thread From: Michael Albinus @ 2017-04-03 17:00 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: Hi John, > Changing from "/host:file" to "/-:host:file" seems like an unnecessary change > in syntax -- when the first form is so easy to use -- but only because I don't > understand the difficulties it causes. However, I imagine many users, who like > me are long-familiar with the first form, will wonder why we had to move to a > more complex syntax *when the first one has been working for years and years*. It didn't work ever. User and host name completion was based on a terrible heuristic. There have been bug reports, plus a many years long dissense between Stefan and me about `non-essential'. Enough reasons that I decided to solve it once and forever. > How are people using the new Tramp to learn that "/-:" is replaced by "/"? > Will "/host:file" just be broken for them, and they have to understand both > (1) that it's a Tramp-related issue, and (2) how to find the answer in the > Tramp manual or NEWS file? There's no need to use "-". You could always use "ssh" instead, if this annoys your eyes. > If there are more people like me out there, relying on this syntax as heavily, > I have a sense this is going to feel like a concession that does not benefit > the user. Unless I'm mistaken, the user gains nothing from the change, but now > has to remember to add "-:" to path names long since burned into finger > memory. > > - Is there *any way* to retain ange-ftp syntax, maybe even as a hack that > rewrites /foo:bar into /-:foo:bar, and can be required from a compat module? See the Tramp manual, Frequently Asked Questions section. It explains several possibilities how to shorten the filename. Maybe it shall be documented more prominently. The other way back to the ange-ftp syntax I've mentioned in my announcement: You are invited to implement a solution in Tramp :-) I failed. > - What is the user experience when ange-ftp paths are used, after this change > is made? > > Thanks, Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-03 17:00 ` Michael Albinus @ 2017-04-03 23:14 ` John Wiegley 2017-04-03 23:35 ` Drew Adams ` (2 more replies) 2017-04-04 7:09 ` Andreas Schwab 1 sibling, 3 replies; 56+ messages in thread From: John Wiegley @ 2017-04-03 23:14 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel >>>>> "MA" == Michael Albinus <michael.albinus@gmx.de> writes: MA> It didn't work ever. User and host name completion was based on a terrible MA> heuristic. There have been bug reports, plus a many years long dissense MA> between Stefan and me about `non-essential'. Personally I don't care to ever complete host names (they're always short, as I use ssh/config to manage them), so I'd rather have /host:file than an unambiguous way to complete host names I never complete. I could be in the minority, though. MA> Enough reasons that I decided to solve it once and forever. This is the essence of my question: Does it solve the problem for some, at a cost to others? What is the new user experience if they fail to use "ssh:"? Is it obvious what they've done wrong and how to fix it? You're modifying some seriously ancient behavior with this change. MA> There's no need to use "-". You could always use "ssh" instead, if this MA> annoys your eyes. Well.... by adding 4 characters to every remote pathname I type, for no benefit *I* can perceive. MA> The other way back to the ange-ftp syntax I've mentioned in my MA> announcement: You are invited to implement a solution in Tramp :-) Since you know the code well, do you think it's easy to add my own file-name-handler that will insert the missing "ssh:" and resubmit to Tramp? -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 56+ messages in thread
* RE: Change Tramp syntax 2017-04-03 23:14 ` John Wiegley @ 2017-04-03 23:35 ` Drew Adams 2017-04-04 8:46 ` Michael Albinus 2017-04-04 17:04 ` John Wiegley 2 siblings, 0 replies; 56+ messages in thread From: Drew Adams @ 2017-04-03 23:35 UTC (permalink / raw) To: John Wiegley, Michael Albinus; +Cc: emacs-devel > MA> It didn't work ever. User and host name completion was based on > a terrible > MA> heuristic. There have been bug reports, plus a many years long > dissense > MA> between Stefan and me about `non-essential'. > > Personally I don't care to ever complete host names (they're always > short, as > I use ssh/config to manage them), so I'd rather have /host:file than > an > unambiguous way to complete host names I never complete. I could be > in the > minority, though. > > MA> Enough reasons that I decided to solve it once and forever. > > This is the essence of my question: Does it solve the problem for > some, at a > cost to others? What is the new user experience if they fail to use > "ssh:"? Is > it obvious what they've done wrong and how to fix it? You're > modifying some > seriously ancient behavior with this change. > > MA> There's no need to use "-". You could always use "ssh" instead, > if this > MA> annoys your eyes. > > Well.... by adding 4 characters to every remote pathname I type, for > no > benefit *I* can perceive. > > MA> The other way back to the ange-ftp syntax I've mentioned in my > MA> announcement: You are invited to implement a solution in Tramp > :-) > > Since you know the code well, do you think it's easy to add my own > file-name-handler that will insert the missing "ssh:" and resubmit > to Tramp? FWIW, and without wanting to argue for it, I'll mention that I too use FTP and the /host:file/ syntax. I don't use ssh - I use only ange-ftp. And I don't really care about file-name completion for remote names, if that helps. Not trying to persuade anyone; just letting you know there is one more ange-ftp user. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-03 23:14 ` John Wiegley 2017-04-03 23:35 ` Drew Adams @ 2017-04-04 8:46 ` Michael Albinus 2017-04-04 16:46 ` John Wiegley 2017-04-04 17:04 ` John Wiegley 2 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-04-04 8:46 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: Hi John, > Since you know the code well, do you think it's easy to add my own > file-name-handler that will insert the missing "ssh:" and resubmit to Tramp? Adding another file name handler would be complicate, because Tramp plays with inhibit-file-name-{handlers, operation} internally. And other packages call Tramp functions directly, which might cause also problems. But Tramp supports already two different syntaxes, the well known "/method:user@host:" syntax, and the XEmacs style "/[method/user@host]" syntax. You can select which syntax to use by changing `tramp-syntax'. It shouldn't be too hard to add a third variant "/user@host:". Give me some days to play with. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-04 8:46 ` Michael Albinus @ 2017-04-04 16:46 ` John Wiegley 2017-04-04 16:59 ` Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: John Wiegley @ 2017-04-04 16:46 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel >>>>> "MA" == Michael Albinus <michael.albinus@gmx.de> writes: MA> It shouldn't be too hard to add a third variant "/user@host:". Give me MA> some days to play with. Thanks! Would the "user@" be required in that case? Is there any way at all to retain the behavior of "/host:"? :) -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-04 16:46 ` John Wiegley @ 2017-04-04 16:59 ` Michael Albinus 2017-04-04 19:44 ` John Wiegley 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-04-04 16:59 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: >>>>>> "MA" == Michael Albinus <michael.albinus@gmx.de> writes: > > MA> It shouldn't be too hard to add a third variant "/user@host:". Give me > MA> some days to play with. > > Thanks! Would the "user@" be required in that case? Is there any way at all to > retain the behavior of "/host:"? :) "user@" would still be optional. So yes, "/host:" is valid in this special syntax. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-04 16:59 ` Michael Albinus @ 2017-04-04 19:44 ` John Wiegley 2017-04-06 19:12 ` Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: John Wiegley @ 2017-04-04 19:44 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel >>>>> "MA" == Michael Albinus <michael.albinus@gmx.de> writes: MA> "user@" would still be optional. So yes, "/host:" is valid in this special MA> syntax. If that can be the case, all my objections go away. Let me know if I can help with testing. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-04 19:44 ` John Wiegley @ 2017-04-06 19:12 ` Michael Albinus 2017-04-07 5:27 ` John Wiegley 2017-04-07 13:52 ` Filipp Gunbin 0 siblings, 2 replies; 56+ messages in thread From: Michael Albinus @ 2017-04-06 19:12 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: Hi John, > MA> "user@" would still be optional. So yes, "/host:" is valid in this special > MA> syntax. > > If that can be the case, all my objections go away. Let me know if I can help > with testing. I've pushed a patch to master which shall allow you to change your Tramp syntax. Put something like this in your .emacs: (tramp-change-syntax 'ftp) That's it, you have ange-ftp syntax "/user@host:/path/to/file". Other possible values are 'def (the default), which changes the syntax to "/method:user@host:/path/to/file"; and 'sep (the XEmacs syntax), which is "/[method/user@host]/path/to/file". In all cases, the "user@" part is optional. You could also call interactively "M-x tramp-change-syntax" at any time. It is autoloaded, no need to load tramp.el before. Note, that this function kills all existing buffers with a remote default-directory, because these buffers cannot be used anymore. Maybe I should give the user a warning in the interactive case. Please give it a testing. I know, at least Drew will test it as well. There's still something to do, documentation, new test cases; but I've pushed the code already in order to get early feedback. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-06 19:12 ` Michael Albinus @ 2017-04-07 5:27 ` John Wiegley 2017-04-08 16:43 ` Michael Albinus 2017-04-07 13:52 ` Filipp Gunbin 1 sibling, 1 reply; 56+ messages in thread From: John Wiegley @ 2017-04-07 5:27 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel >>>>> "MA" == Michael Albinus <michael.albinus@gmx.de> writes: MA> I've pushed a patch to master which shall allow you to change your Tramp MA> syntax. Put something like this in your .emacs: MA> (tramp-change-syntax 'ftp) Thanks, Michael! I'll give it a try next week. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-07 5:27 ` John Wiegley @ 2017-04-08 16:43 ` Michael Albinus 2017-04-13 18:00 ` John Wiegley 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-04-08 16:43 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: >>>>>> "MA" == Michael Albinus <michael.albinus@gmx.de> writes: > > MA> I've pushed a patch to master which shall allow you to change your Tramp > MA> syntax. Put something like this in your .emacs: > > MA> (tramp-change-syntax 'ftp) > > Thanks, Michael! I'll give it a try next week. It's (tramp-change-syntax 'simplified) now. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-08 16:43 ` Michael Albinus @ 2017-04-13 18:00 ` John Wiegley 0 siblings, 0 replies; 56+ messages in thread From: John Wiegley @ 2017-04-13 18:00 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel >>>>> "MA" == Michael Albinus <michael.albinus@gmx.de> writes: MA> It's (tramp-change-syntax 'simplified) now. This is excellent, Michael, thank you for being so responsive on this issue. I look forward to many more years of using Tramp. In fact, I was just using it not 10 minutes ago to edit logwatch.conf file on my VPS... -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-06 19:12 ` Michael Albinus 2017-04-07 5:27 ` John Wiegley @ 2017-04-07 13:52 ` Filipp Gunbin 2017-04-07 14:02 ` Michael Albinus 2017-04-08 16:41 ` Michael Albinus 1 sibling, 2 replies; 56+ messages in thread From: Filipp Gunbin @ 2017-04-07 13:52 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel Hi Michael, 'def and 'sep seem a bit obscure. Maybe 'default and 'xemacs? Filipp ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-07 13:52 ` Filipp Gunbin @ 2017-04-07 14:02 ` Michael Albinus 2017-04-08 16:41 ` Michael Albinus 1 sibling, 0 replies; 56+ messages in thread From: Michael Albinus @ 2017-04-07 14:02 UTC (permalink / raw) To: Filipp Gunbin; +Cc: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > Hi Michael, Hi Filipp, > 'def and 'sep seem a bit obscure. Maybe 'default and 'xemacs? I know that. But tramp-syntax exists since ever, offering the values 'ftp and 'sep. So I have a compatibility problem. There is also the other problem, that 'ftp was used in the past for what 'def is today. Achhhh ... I will think about. > Filipp Best regards. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-07 13:52 ` Filipp Gunbin 2017-04-07 14:02 ` Michael Albinus @ 2017-04-08 16:41 ` Michael Albinus 2017-04-09 19:18 ` Talking about Lisp symbols Richard Stallman ` (2 more replies) 1 sibling, 3 replies; 56+ messages in thread From: Michael Albinus @ 2017-04-08 16:41 UTC (permalink / raw) To: Filipp Gunbin; +Cc: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > Hi Michael, Hi Filipp, > 'def and 'sep seem a bit obscure. Maybe 'default and 'xemacs? I've changed possible values now to 'default, 'simplified and 'separate. > Filipp Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Talking about Lisp symbols 2017-04-08 16:41 ` Michael Albinus @ 2017-04-09 19:18 ` Richard Stallman 2017-04-10 13:43 ` Change Tramp syntax Filipp Gunbin 2017-04-10 16:18 ` Teemu Likonen 2 siblings, 0 replies; 56+ messages in thread From: Richard Stallman @ 2017-04-09 19:18 UTC (permalink / raw) To: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Please don't write a quote before a symbol to say it's a constant symbol. That goes against GNU conventions. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-08 16:41 ` Michael Albinus 2017-04-09 19:18 ` Talking about Lisp symbols Richard Stallman @ 2017-04-10 13:43 ` Filipp Gunbin 2017-04-10 16:18 ` Teemu Likonen 2 siblings, 0 replies; 56+ messages in thread From: Filipp Gunbin @ 2017-04-10 13:43 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel Thanks! Filipp ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-08 16:41 ` Michael Albinus 2017-04-09 19:18 ` Talking about Lisp symbols Richard Stallman 2017-04-10 13:43 ` Change Tramp syntax Filipp Gunbin @ 2017-04-10 16:18 ` Teemu Likonen 2017-04-10 16:45 ` Michael Albinus 2 siblings, 1 reply; 56+ messages in thread From: Teemu Likonen @ 2017-04-10 16:18 UTC (permalink / raw) To: Michael Albinus; +Cc: Filipp Gunbin, emacs-devel [-- Attachment #1: Type: text/plain, Size: 464 bytes --] Michael Albinus [2017-04-08 18:41:54+02] wrote: > I've changed possible values now to 'default, 'simplified and > 'separate. I think "default" shouldn't be a name itself. Better use meaningful names and choose one as the default. See variable Man-notify-method for a good example. (Just a random comment from a user.) -- /// Teemu Likonen - .-.. <https://keybase.io/tlikonen> // // PGP: 4E10 55DC 84E9 DFF6 13D7 8557 719D 69D3 2453 9450 /// [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 454 bytes --] ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-10 16:18 ` Teemu Likonen @ 2017-04-10 16:45 ` Michael Albinus 2017-04-10 18:03 ` Teemu Likonen 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-04-10 16:45 UTC (permalink / raw) To: Teemu Likonen; +Cc: Filipp Gunbin, emacs-devel Teemu Likonen <tlikonen@iki.fi> writes: > Better use meaningful names That's definitely not my expertise ... Proposals welcome Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-10 16:45 ` Michael Albinus @ 2017-04-10 18:03 ` Teemu Likonen 0 siblings, 0 replies; 56+ messages in thread From: Teemu Likonen @ 2017-04-10 18:03 UTC (permalink / raw) To: Michael Albinus; +Cc: Filipp Gunbin, emacs-devel [-- Attachment #1: Type: text/plain, Size: 458 bytes --] Michael Albinus [2017-04-10 18:45:49+02] wrote: > Teemu Likonen <tlikonen@iki.fi> writes: >> Better use meaningful names > Proposals welcome My Emacs 25.2 does not have the Tramp changes in question but if there's a syntax option that uses only /method: prefix then maybe symbol named "method" would fit. I understand too little about the details. Just trying to suggest using more descriptive name than "default". I think it makes user interface better. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 454 bytes --] ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-03 23:14 ` John Wiegley 2017-04-03 23:35 ` Drew Adams 2017-04-04 8:46 ` Michael Albinus @ 2017-04-04 17:04 ` John Wiegley 2017-04-04 17:50 ` Michael Albinus 2 siblings, 1 reply; 56+ messages in thread From: John Wiegley @ 2017-04-04 17:04 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel >>>>> John Wiegley <johnw@gnu.org> writes: > This is the essence of my question: Does it solve the problem for some, at a > cost to others? What is the new user experience if they fail to use "ssh:"? > Is it obvious what they've done wrong and how to fix it? Michael, I'd still like an answer to these questions, please. I'm concerned about how this change is going to affect users who aren't as aware of Tramp and its workings. Thanks! Alternatively, if we implement a compat translation that is on by default for at least a few versions, it would resolve these questions as well. Thanks, -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-04 17:04 ` John Wiegley @ 2017-04-04 17:50 ` Michael Albinus 2017-04-04 21:08 ` John Wiegley 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-04-04 17:50 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: Hi John, >> This is the essence of my question: Does it solve the problem for some, at a >> cost to others? What is the new user experience if they fail to use "ssh:"? >> Is it obvious what they've done wrong and how to fix it? > > Michael, I'd still like an answer to these questions, please. I'm concerned > about how this change is going to affect users who aren't as aware of Tramp > and its workings. Thanks! Alternatively, if we implement a compat translation > that is on by default for at least a few versions, it would resolve these > questions as well. If people do a simple "C-x C-f /localhost:" from an Emacs started with -Q, they get an error "File not found and directory write-protected". Tramp cannot do anything else, because it is not involved. If there is a file name completion package active (ido, icomplete, whatever), they get a guidance while typing the filename, latest when the trailing ":" has been typed. If a user tries to complete a filename, even if only plain Emacs is called with -Q, she gets a guidance. Typing "/ l o c <TAB>" does not complete to anything. Well, this decision is a trade-off between my permanent frustration of not working parts of Tramp (and being blamed for this when I tried to find a solution), and limiting users with a changed syntax. If you call me guilty, then I'm guilty for not doing this change 15 years ago. I believe it won't be too much bad feedback after people have understood the change. Some years ago, the obscure /multi:ssh:host1:ssh:host2: syntax was removed, even w/o an alternative. Later, the alternative /ssh:host1|ssh:host2: was introduced. People did accept. Of course, I'm biased, and there might have been a lot of frustration from people because of that change. But then it didn't reach me. Adding pure ange-ftp like syntax, as I have offered, seems to be a good compromise for all of us. And please take also into account, that I mean it seriously: if you insist in keeping the syntax as it was, I will insist in seeing other people working on Tramp. I'm the lonely maintainer since 2004, and there are no remarkable contributions from somebody else except tramp-adb.el, written by Juergen Hoetzel. > Thanks, Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-04 17:50 ` Michael Albinus @ 2017-04-04 21:08 ` John Wiegley 0 siblings, 0 replies; 56+ messages in thread From: John Wiegley @ 2017-04-04 21:08 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel >>>>> "MA" == Michael Albinus <michael.albinus@gmx.de> writes: MA> I believe it won't be too much bad feedback after people have understood MA> the change. Some years ago, the obscure /multi:ssh:host1:ssh:host2: syntax MA> was removed, even w/o an alternative. Later, the alternative MA> /ssh:host1|ssh:host2: was introduced. People did accept. MA> Of course, I'm biased, and there might have been a lot of frustration from MA> people because of that change. But then it didn't reach me. I was one of those people, I just didn't complain when multihost was changed. I'd never even heard about host1|host2 until today! I assumed multihost was forever borked and had been using .ssh/config to manage multihops. It's great to hear there's a way to use one-off multihops again. You just gave me a new feature. :) MA> Adding pure ange-ftp like syntax, as I have offered, seems to be a good MA> compromise for all of us. Yes, indeed! MA> And please take also into account, that I mean it seriously: if you insist MA> in keeping the syntax as it was, I will insist in seeing other people MA> working on Tramp. I'm the lonely maintainer since 2004, and there are no MA> remarkable contributions from somebody else except tramp-adb.el, written MA> by Juergen Hoetzel. I hear you, and I appreciate where you're coming from. On the flip side, I also have to take all Emacs users into account. Not everyone knows whats going on, or understands Tramp; and they want Emacs to just "continue working" as much as possible, even while we improve things and right old wrongs. Your proposed syntax fits this bill. In the meantime, I'll keep an eye out for people who might be willing to contribute to Tramp. It's an essential package. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-04-03 17:00 ` Michael Albinus 2017-04-03 23:14 ` John Wiegley @ 2017-04-04 7:09 ` Andreas Schwab 1 sibling, 0 replies; 56+ messages in thread From: Andreas Schwab @ 2017-04-04 7:09 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel On Apr 03 2017, Michael Albinus <michael.albinus@gmx.de> wrote: > There's no need to use "-". You could always use "ssh" instead, if this > annoys your eyes. But that's not the same, "-" uses tramp-default-method. Another problem is that the new syntax is not backward compatible. There is no way to write a tramp file name that uses the default method and works with all versions. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-10 14:14 ` Change Tramp syntax (was: [Emacs-diffs] master 37b88d7: Fix bug#23006) Michael Albinus 2017-03-10 15:22 ` Eli Zaretskii @ 2017-03-10 16:56 ` Stefan Monnier 2017-03-11 19:44 ` Michael Albinus 1 sibling, 1 reply; 56+ messages in thread From: Stefan Monnier @ 2017-03-10 16:56 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel > Maybe we shall start a poll, in emacs-devel, emacs-help and > tramp-devel. We should not ask what a user prefers (many of them will > prefer not to type a method). They question must be what will be broken > if we stop support for ange-ftp syntax "/host:/path/to/file". Actually, there are several options, for example: 1- Get rid of ange-ftp syntax altogether, like you propose. 2- Keep the syntax, but only when it doesn't collide with the Tramp syntax. I.e. /fencepost:foo will still be allowed, but if you want to access a host named "ssh" you'll need something like /ftp:ssh:foo or /ssh:ssh:foo or /ssh.domain:foo or /user@ssh:foo. I.e. /foo: will only be considered ange-ftp syntax if `foo` is not a method. 3- Like 2 but treat /foo:./bar and /foo:/bar as an ange-ftp syntax even if `foo` is a method. I never use ange-ftp syntax (although I only ever use the `ssh` method), so I could live with 1 (and it sure would simplify the code), but I'm in favor of option 2 because I think it is the simplest option that still preserves the main benefit of the ange-ftp syntax (i.e. the default method). > This would also mean, that we cannot support default methods anymore. A > file name with a default method would look like "/:host:/path/to/file", > which is already the quoted file name syntax. If really needed we could use something like `/-:host:`. Stefan ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-10 16:56 ` Stefan Monnier @ 2017-03-11 19:44 ` Michael Albinus 2017-03-11 20:08 ` Eli Zaretskii 2017-03-11 21:54 ` Stefan Monnier 0 siblings, 2 replies; 56+ messages in thread From: Michael Albinus @ 2017-03-11 19:44 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: Hi Stefan, >> Maybe we shall start a poll, in emacs-devel, emacs-help and >> tramp-devel. We should not ask what a user prefers (many of them will >> prefer not to type a method). They question must be what will be broken >> if we stop support for ange-ftp syntax "/host:/path/to/file". > > Actually, there are several options, for example: > 1- Get rid of ange-ftp syntax altogether, like you propose. > 2- Keep the syntax, but only when it doesn't collide with the > Tramp syntax. I.e. /fencepost:foo will still be allowed, but > if you want to access a host named "ssh" you'll need something like > /ftp:ssh:foo or /ssh:ssh:foo or /ssh.domain:foo or /user@ssh:foo. > I.e. /foo: will only be considered ange-ftp syntax if `foo` is not a method. > 3- Like 2 but treat /foo:./bar and /foo:/bar as an ange-ftp syntax even if > `foo` is a method. Currently, we have implemented option 2. But the check, whether the host name in /ssh:foo collides with a method, happens too late, because file name handlers are fired by parsing the file name, and not by additional checks (like a function call). If we want to go this way, it must be option 1. Or must we allow file name handlers to be activated by a function call, instead of merely checking a regexp. > I never use ange-ftp syntax (although I only ever use the `ssh` method), > so I could live with 1 (and it sure would simplify the code), but I'm in > favor of option 2 because I think it is the simplest option that still > preserves the main benefit of the ange-ftp syntax (i.e. the default > method). > >> This would also mean, that we cannot support default methods anymore. A >> file name with a default method would look like "/:host:/path/to/file", >> which is already the quoted file name syntax. > > If really needed we could use something like `/-:host:`. Agreed. This preserves the default method, by the cost of additional typing "- :". Let's see how much head wind there will be due to cutting default method, and in case of we might offer this as compromise. > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-11 19:44 ` Michael Albinus @ 2017-03-11 20:08 ` Eli Zaretskii 2017-03-11 20:31 ` Michael Albinus 2017-03-11 21:54 ` Stefan Monnier 1 sibling, 1 reply; 56+ messages in thread From: Eli Zaretskii @ 2017-03-11 20:08 UTC (permalink / raw) To: Michael Albinus; +Cc: monnier, emacs-devel > From: Michael Albinus <michael.albinus@gmx.de> > Date: Sat, 11 Mar 2017 20:44:15 +0100 > Cc: emacs-devel@gnu.org > > > 1- Get rid of ange-ftp syntax altogether, like you propose. > > 2- Keep the syntax, but only when it doesn't collide with the > > Tramp syntax. I.e. /fencepost:foo will still be allowed, but > > if you want to access a host named "ssh" you'll need something like > > /ftp:ssh:foo or /ssh:ssh:foo or /ssh.domain:foo or /user@ssh:foo. > > I.e. /foo: will only be considered ange-ftp syntax if `foo` is not a method. > > 3- Like 2 but treat /foo:./bar and /foo:/bar as an ange-ftp syntax even if > > `foo` is a method. > > Currently, we have implemented option 2. But the check, whether the host > name in /ssh:foo collides with a method, happens too late, because file > name handlers are fired by parsing the file name, and not by additional > checks (like a function call). Are the recent changes the reason that typing "C-x C-f ~/da" is now followed by a perceptible delay, due to Tramp being auto-loaded? This used not to be the case. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-11 20:08 ` Eli Zaretskii @ 2017-03-11 20:31 ` Michael Albinus 2017-03-12 15:18 ` Eli Zaretskii 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-03-11 20:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: Hi Eli, >> Currently, we have implemented option 2. But the check, whether the host >> name in /ssh:foo collides with a method, happens too late, because file >> name handlers are fired by parsing the file name, and not by additional >> checks (like a function call). > > Are the recent changes the reason that typing "C-x C-f ~/da" is now > followed by a perceptible delay, due to Tramp being auto-loaded? This > used not to be the case. "~/da" shall not invoke Tramp. But it does, indeed. If I call "emacs -Q" and eval "M-x debug-on-entry RET load", then Tramp is already loaded after typing "~/d". The reason is substitute-in-file-name("/d") rfn-eshadow-update-overlay() read-from-minibuffer("Find file: " "~/" (keymap (keymap (32)) keymap (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (27 keymap (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete) keymap (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the minibuffer") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuffer") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "" :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (10 . exit-minibuffer) (13 . exit-minibuffer) (7 . abort-recursive-edit) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-command) (XF86Back . previous-history-element) (up . previous-line-or-history-element) (prior . previous-history-element) (XF86Forward . next-history-element) (down . next-line-or-history-element) (next . next-history-element) (27 keymap (114 . previous-matching-history-element) (115 . next-matching-history-element) (112 . previous-history-element) (110 . next-history-element))) nil file-name-history "~/" nil) The delay is not serious on my 7-years old T500 (less than half a second). I don't know whether this counts as "perceptible". Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-11 20:31 ` Michael Albinus @ 2017-03-12 15:18 ` Eli Zaretskii 2017-03-12 18:30 ` Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: Eli Zaretskii @ 2017-03-12 15:18 UTC (permalink / raw) To: Michael Albinus; +Cc: monnier, emacs-devel > From: Michael Albinus <michael.albinus@gmx.de> > Cc: monnier@IRO.UMontreal.CA, emacs-devel@gnu.org > Date: Sat, 11 Mar 2017 21:31:00 +0100 > > > Are the recent changes the reason that typing "C-x C-f ~/da" is now > > followed by a perceptible delay, due to Tramp being auto-loaded? This > > used not to be the case. > > "~/da" shall not invoke Tramp. But it does, indeed. If I call "emacs -Q" > and eval "M-x debug-on-entry RET load", then Tramp is already loaded > after typing "~/d". The reason is > > substitute-in-file-name("/d") > rfn-eshadow-update-overlay() > read-from-minibuffer("Find file: " "~/" (keymap (keymap (32)) keymap (10 . m Can we get rid of this somehow? It used to be possible to avoid loading Tramp when specifying local file names. > The delay is not serious on my 7-years old T500 (less than half a > second). I don't know whether this counts as "perceptible". Well, if it wasn't perceptible, I wouldn't have paid attention... ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-12 15:18 ` Eli Zaretskii @ 2017-03-12 18:30 ` Michael Albinus 2017-03-12 22:11 ` Eli Zaretskii 2017-03-13 17:23 ` Michael Albinus 0 siblings, 2 replies; 56+ messages in thread From: Michael Albinus @ 2017-03-12 18:30 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: Hi Eli, >> "~/da" shall not invoke Tramp. But it does, indeed. If I call "emacs -Q" >> and eval "M-x debug-on-entry RET load", then Tramp is already loaded >> after typing "~/d". The reason is >> >> substitute-in-file-name("/d") >> rfn-eshadow-update-overlay() >> read-from-minibuffer("Find file: " "~/" (keymap (keymap (32)) keymap (10 . m > > Can we get rid of this somehow? It used to be possible to avoid > loading Tramp when specifying local file names. I'm just working on changing Tramp to require always a method. After that, I'll check whether we could optimize the autoloads. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-12 18:30 ` Michael Albinus @ 2017-03-12 22:11 ` Eli Zaretskii 2017-03-13 17:23 ` Michael Albinus 1 sibling, 0 replies; 56+ messages in thread From: Eli Zaretskii @ 2017-03-12 22:11 UTC (permalink / raw) To: Michael Albinus; +Cc: monnier, emacs-devel > From: Michael Albinus <michael.albinus@gmx.de> > Cc: monnier@IRO.UMontreal.CA, emacs-devel@gnu.org > Date: Sun, 12 Mar 2017 19:30:18 +0100 > > >> substitute-in-file-name("/d") > >> rfn-eshadow-update-overlay() > >> read-from-minibuffer("Find file: " "~/" (keymap (keymap (32)) keymap (10 . m > > > > Can we get rid of this somehow? It used to be possible to avoid > > loading Tramp when specifying local file names. > > I'm just working on changing Tramp to require always a method. After > that, I'll check whether we could optimize the autoloads. Thanks, looking forward for that. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-12 18:30 ` Michael Albinus 2017-03-12 22:11 ` Eli Zaretskii @ 2017-03-13 17:23 ` Michael Albinus 2017-03-13 17:30 ` Eli Zaretskii 1 sibling, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-03-13 17:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: Hi Eli, >>> "~/da" shall not invoke Tramp. But it does, indeed. If I call "emacs -Q" >>> and eval "M-x debug-on-entry RET load", then Tramp is already loaded >>> after typing "~/d". The reason is >>> >>> substitute-in-file-name("/d") >>> rfn-eshadow-update-overlay() >>> read-from-minibuffer("Find file: " "~/" (keymap (keymap (32)) >>> keymap (10 . m >> >> Can we get rid of this somehow? It used to be possible to avoid >> loading Tramp when specifying local file names. > > I'm just working on changing Tramp to require always a method. After > that, I'll check whether we could optimize the autoloads. Pls check; according to my tests, Tramp is loaded much later now. A local file name should not cause Tramp being loaded except in case of file name completion, when Tramp expects a file name "/foo" could be extended to a remote file name. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-13 17:23 ` Michael Albinus @ 2017-03-13 17:30 ` Eli Zaretskii 2017-03-13 17:35 ` Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: Eli Zaretskii @ 2017-03-13 17:30 UTC (permalink / raw) To: Michael Albinus; +Cc: monnier, emacs-devel > From: Michael Albinus <michael.albinus@gmx.de> > Cc: monnier@IRO.UMontreal.CA, emacs-devel@gnu.org > Date: Mon, 13 Mar 2017 18:23:45 +0100 > > >>> "~/da" shall not invoke Tramp. But it does, indeed. If I call "emacs -Q" > >>> and eval "M-x debug-on-entry RET load", then Tramp is already loaded > >>> after typing "~/d". The reason is > >>> > >>> substitute-in-file-name("/d") > >>> rfn-eshadow-update-overlay() > >>> read-from-minibuffer("Find file: " "~/" (keymap (keymap (32)) > >>> keymap (10 . m > >> > >> Can we get rid of this somehow? It used to be possible to avoid > >> loading Tramp when specifying local file names. > > > > I'm just working on changing Tramp to require always a method. After > > that, I'll check whether we could optimize the autoloads. > > Pls check; according to my tests, Tramp is loaded much later now. What I see here is that it's loaded whenever file-name completion is invoked by pressing TAB or RET. Before that, it doesn't get loaded. That's good progress, thanks. > A local file name should not cause Tramp being loaded except in case of > file name completion, when Tramp expects a file name "/foo" could be > extended to a remote file name. I have a directory ~/data. Is it expected that typing "C-x C-f ~/dat TAB" should load Tramp? If that's expected, why is Tramp interested in completions of such file names? Thanks. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-13 17:30 ` Eli Zaretskii @ 2017-03-13 17:35 ` Michael Albinus 2017-03-14 3:38 ` Eli Zaretskii 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-03-13 17:35 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> A local file name should not cause Tramp being loaded except in case of >> file name completion, when Tramp expects a file name "/foo" could be >> extended to a remote file name. > > I have a directory ~/data. Is it expected that typing "C-x C-f ~/dat TAB" > should load Tramp? If that's expected, why is Tramp interested in > completions of such file names? Tramp shouldn't be interested. "~" is in the way. I wrote "/foo". > Thanks. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-13 17:35 ` Michael Albinus @ 2017-03-14 3:38 ` Eli Zaretskii 2017-03-14 9:06 ` Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: Eli Zaretskii @ 2017-03-14 3:38 UTC (permalink / raw) To: Michael Albinus; +Cc: monnier, emacs-devel > From: Michael Albinus <michael.albinus@gmx.de> > Cc: monnier@IRO.UMontreal.CA, emacs-devel@gnu.org > Date: Mon, 13 Mar 2017 18:35:07 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> A local file name should not cause Tramp being loaded except in case of > >> file name completion, when Tramp expects a file name "/foo" could be > >> extended to a remote file name. > > > > I have a directory ~/data. Is it expected that typing "C-x C-f ~/dat TAB" > > should load Tramp? If that's expected, why is Tramp interested in > > completions of such file names? > > Tramp shouldn't be interested. "~" is in the way. I wrote "/foo". Sorry, I don't think I understand what you meant. Does this mean you think loading Tramp in the above case is unexpected, and will look into this? Or does this mean the presence of "~" somehow explains why Tramp is loaded upon completion? In the latter case, could you please elaborate? Thanks. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-14 3:38 ` Eli Zaretskii @ 2017-03-14 9:06 ` Michael Albinus 2017-03-14 14:13 ` Michael Albinus 2017-03-14 15:58 ` Eli Zaretskii 0 siblings, 2 replies; 56+ messages in thread From: Michael Albinus @ 2017-03-14 9:06 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: Hi Eli, >> > I have a directory ~/data. Is it expected that typing "C-x C-f ~/dat TAB" >> > should load Tramp? If that's expected, why is Tramp interested in >> > completions of such file names? >> >> Tramp shouldn't be interested. "~" is in the way. I wrote "/foo". > > Sorry, I don't think I understand what you meant. Does this mean you > think loading Tramp in the above case is unexpected, and will look > into this? Or does this mean the presence of "~" somehow explains why > Tramp is loaded upon completion? In the latter case, could you please > elaborate? I meant that Tramp shall not be loaded in that case. I tried to reproduce, starting emacs -Q, being in ~/, and typing "C-x C-f d a <TAB>". And indeed, Tramp is loaded. Backtrace: --8<---------------cut here---------------start------------->8--- tramp-completion-file-name-handler(file-name-completion "da" "/home/albinmic/" file-exists-p) file-name-completion("da" "~/" file-exists-p) completion-file-name-table("~/da" file-exists-p nil) try-completion("~/da" completion-file-name-table file-exists-p) --8<---------------cut here---------------end--------------->8--- Neither "da" nor "/home/albinmic/" shall trigger this. I'll check. > Thanks. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-14 9:06 ` Michael Albinus @ 2017-03-14 14:13 ` Michael Albinus 2017-03-14 16:11 ` Eli Zaretskii 2017-03-14 15:58 ` Eli Zaretskii 1 sibling, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-03-14 14:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: monnier, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: Hi Eli, > Neither "da" nor "/home/albinmic/" shall trigger this. I'll check. Should be better now with my latest patch. Could you pls check? It requires to regenerate the autoload files. >> Thanks. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-14 14:13 ` Michael Albinus @ 2017-03-14 16:11 ` Eli Zaretskii 0 siblings, 0 replies; 56+ messages in thread From: Eli Zaretskii @ 2017-03-14 16:11 UTC (permalink / raw) To: Michael Albinus; +Cc: monnier, emacs-devel > From: Michael Albinus <michael.albinus@gmx.de> > Cc: monnier@IRO.UMontreal.CA, emacs-devel@gnu.org > Date: Tue, 14 Mar 2017 15:13:37 +0100 > > > Neither "da" nor "/home/albinmic/" shall trigger this. I'll check. > > Should be better now with my latest patch. Could you pls check? Yes, the problem is gone now. Thanks! > It requires to regenerate the autoload files. Happened automagically for me. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-14 9:06 ` Michael Albinus 2017-03-14 14:13 ` Michael Albinus @ 2017-03-14 15:58 ` Eli Zaretskii 1 sibling, 0 replies; 56+ messages in thread From: Eli Zaretskii @ 2017-03-14 15:58 UTC (permalink / raw) To: Michael Albinus; +Cc: monnier, emacs-devel > From: Michael Albinus <michael.albinus@gmx.de> > Cc: monnier@IRO.UMontreal.CA, emacs-devel@gnu.org > Date: Tue, 14 Mar 2017 10:06:59 +0100 > > I meant that Tramp shall not be loaded in that case. I tried to > reproduce, starting emacs -Q, being in ~/, and typing "C-x C-f d a <TAB>". > > And indeed, Tramp is loaded. Backtrace: > > --8<---------------cut here---------------start------------->8--- > tramp-completion-file-name-handler(file-name-completion "da" "/home/albinmic/" file-exists-p) > file-name-completion("da" "~/" file-exists-p) > completion-file-name-table("~/da" file-exists-p nil) > try-completion("~/da" completion-file-name-table file-exists-p) > --8<---------------cut here---------------end--------------->8--- > > Neither "da" nor "/home/albinmic/" shall trigger this. I'll check. Thank you. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-11 19:44 ` Michael Albinus 2017-03-11 20:08 ` Eli Zaretskii @ 2017-03-11 21:54 ` Stefan Monnier 2017-03-12 9:10 ` Michael Albinus 1 sibling, 1 reply; 56+ messages in thread From: Stefan Monnier @ 2017-03-11 21:54 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel >>> Maybe we shall start a poll, in emacs-devel, emacs-help and >>> tramp-devel. We should not ask what a user prefers (many of them will >>> prefer not to type a method). They question must be what will be broken >>> if we stop support for ange-ftp syntax "/host:/path/to/file". >> Actually, there are several options, for example: >> 1- Get rid of ange-ftp syntax altogether, like you propose. >> 2- Keep the syntax, but only when it doesn't collide with the >> Tramp syntax. I.e. /fencepost:foo will still be allowed, but >> if you want to access a host named "ssh" you'll need something like >> /ftp:ssh:foo or /ssh:ssh:foo or /ssh.domain:foo or /user@ssh:foo. >> I.e. /foo: will only be considered ange-ftp syntax if `foo` is not a method. >> 3- Like 2 but treat /foo:./bar and /foo:/bar as an ange-ftp syntax even if >> `foo` is a method. > Currently, we have implemented option 2. Hmm... then I don't understand why you need to handle completion differently from non-completion. Which cases currently misbehave if tramp-completion-mode-p returns nil? > But the check, whether the host name in /ssh:foo collides with > a method, happens too late, because file name handlers are fired by > parsing the file name, and not by additional checks (like a function > call). I don't understand this either. Currently I see two Tramp entries in f-n-h-alist: ("\\`/[^/]*\\'" . tramp-completion-file-name-handler) ("^/\\(\\(?:\\(?:\\([a-zA-Z_0-9-]+\\):\\)?\\(?:\\([^/|: ]+\\)@\\)?\\(\\(?:[a-zA-Z0-9_.-]+\\|\\[\\(?:\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+\\)?]\\)\\(?:#[0-9]+\\)?\\)?|\\)+\\)?\\(?:\\([a-zA-Z_0-9-]+\\):\\)?\\(?:\\([^/|: ]+\\)@\\)?\\(\\(?:[a-zA-Z0-9_.-]+\\|\\[\\(?:\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+\\)?]\\)\\(?:#[0-9]+\\)?\\)?:\\(.*$\\)" . tramp-file-name-handler) Neither of those regexps seems to handle an /ssh: prefix differently from a /host: prefix. Stefan ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-11 21:54 ` Stefan Monnier @ 2017-03-12 9:10 ` Michael Albinus 2017-03-12 17:12 ` Stefan Monnier 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-03-12 9:10 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: Hi Stefan, > I don't understand this either. Currently I see two Tramp entries in > f-n-h-alist: > > ("\\`/[^/]*\\'" . tramp-completion-file-name-handler) > ("^/\\(\\(?:\\(?:\\([a-zA-Z_0-9-]+\\):\\)?\\(?:\\([^/|: ]+\\)@\\)?\\(\\(?:[a-zA-Z0-9_.-]+\\|\\[\\(?:\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+\\)?]\\)\\(?:#[0-9]+\\)?\\)?|\\)+\\)?\\(?:\\([a-zA-Z_0-9-]+\\):\\)?\\(?:\\([^/|: ]+\\)@\\)?\\(\\(?:[a-zA-Z0-9_.-]+\\|\\[\\(?:\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+\\)?]\\)\\(?:#[0-9]+\\)?\\)?:\\(.*$\\)" . tramp-file-name-handler) > > Neither of those regexps seems to handle an /ssh: prefix differently > from a /host: prefix. The first file name handler is intended to perform method, user name and host name completion. It offers only handlers for `expand-file-name', `file-name-all-completions' and `file-name-completion', everything else will be handled either by `tramp-file-name-handler' (if the regexp matches that handler), or by the native file name operation. In `tramp-completion-handle-file-name-all-completions' it checks for both possibilities, "/ssh:" and "/host:". The second file name handler is intended to handle everything else. It also performs a check, that a host name is not a method. But this is not part of the regexp; this check is performed in `tramp-maybe-open-connection', when a remote connection is being opened. It would be preferable to extend the second regexp such a way, that remote file names like "/ssh:whatever" are not allowed. But this is not possible, because the method names to be excluded as host names are not known at the time this file name handler is installed in `file-name-handler-alist'. If we discard ange-ftp syntax, the two entries would look like ("\\`/\\(-:\\)?[^:]*\\'" . tramp-completion-file-name-handler) ("\\`/[a-zA-Z_0-9-]+:\\([^/|: \t]+@\\)?[a-zA-Z0-9_.-]+:" ;; method user name host name . tramp-file-name-handler) The two regexps don't overlap any longer, which is the key. Of course, the second regexp must be more complex, due to the multi-hop syntax, due to Samba domains, due to IPv6 addresses, and due to port numbers. But you see the idea. > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-12 9:10 ` Michael Albinus @ 2017-03-12 17:12 ` Stefan Monnier 2017-03-12 18:43 ` Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: Stefan Monnier @ 2017-03-12 17:12 UTC (permalink / raw) To: emacs-devel > The first file name handler is intended to perform method, user name and > host name completion. It offers only handlers for `expand-file-name', > `file-name-all-completions' and `file-name-completion', everything else > will be handled either by `tramp-file-name-handler' (if the regexp > matches that handler), or by the native file name operation. In > `tramp-completion-handle-file-name-all-completions' it checks for both > possibilities, "/ssh:" and "/host:". > The second file name handler is intended to handle everything else. It > also performs a check, that a host name is not a method. But this is not > part of the regexp; this check is performed in > `tramp-maybe-open-connection', when a remote connection is being opened. Right, so clearly the "is it a method name, or a host name" check is performed in Elisp code, not in a regexp. So what did you mean by: But the check, whether the host name in /ssh:foo collides with a method, happens too late, because file name handlers are fired by parsing the file name, and not by additional checks (like a function call). ? > It would be preferable to extend the second regexp such a way, that > remote file names like "/ssh:whatever" are not allowed. Why? Also, I'm still curious about: What currently breaks if tramp-completion-mode-p always returns nil? Stefan ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-12 17:12 ` Stefan Monnier @ 2017-03-12 18:43 ` Michael Albinus 2017-03-12 21:50 ` Stefan Monnier 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-03-12 18:43 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: Hi Stefan, > Right, so clearly the "is it a method name, or a host name" check is > performed in Elisp code, not in a regexp. So what did you mean by: > > But the check, whether the host name in /ssh:foo collides with > a method, happens too late, because file name handlers are fired by > parsing the file name, and not by additional checks (like a function > call). > > ? When the Tramp file name handler is invoked, it is not clear whether "ssh" is a method or a host name. "foo" could be part of a host name or a local name. >> It would be preferable to extend the second regexp such a way, that >> remote file names like "/ssh:whatever" are not allowed. > > Why? > > Also, I'm still curious about: > What currently breaks if tramp-completion-mode-p always returns nil? Well, I have decided today to solve this for now and ever. I'm changing Tramp that a method name is mandatory. A remote file name is now always /method:user@host: "method" could be "-". The "user@" and "host" parts are optional. Whoever wants to keep ange-ftp style syntax, is obliged to enter the Tramp maintenance team ... > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-12 18:43 ` Michael Albinus @ 2017-03-12 21:50 ` Stefan Monnier 2017-03-13 7:23 ` Michael Albinus 0 siblings, 1 reply; 56+ messages in thread From: Stefan Monnier @ 2017-03-12 21:50 UTC (permalink / raw) To: emacs-devel >> What currently breaks if tramp-completion-mode-p always returns nil? > Well, I have decided today to solve this for now and ever. I'm changing > Tramp that a method name is mandatory. Does it mean that tramp-completion-mode-p will disappear? Stefan ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Change Tramp syntax 2017-03-12 21:50 ` Stefan Monnier @ 2017-03-13 7:23 ` Michael Albinus 0 siblings, 0 replies; 56+ messages in thread From: Michael Albinus @ 2017-03-13 7:23 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> Well, I have decided today to solve this for now and ever. I'm changing >> Tramp that a method name is mandatory. > > Does it mean that tramp-completion-mode-p will disappear? The function remains, but returns just the value of `non-essential'. Its main use is to suppress opening an otherwise not established connection in `tramp-maybe-open-connection'. Most of the other calls will be removed. Tramp won't use any heuristic anymore in order to decide, whether a new connection could be opened, or not. It is up to the completion packages to use this variable properly. (In my ongoing tests I have reverted already setting `non-essential' in `completion--nth-completion'). > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [Emacs-diffs] master 37b88d7: Fix bug#23006 2017-03-10 10:00 ` Michael Albinus 2017-03-10 10:10 ` Stefan Monnier @ 2017-03-10 10:30 ` Dmitry Gutov 2017-03-10 10:36 ` Michael Albinus 2017-03-10 10:34 ` Stefan Monnier 2 siblings, 1 reply; 56+ messages in thread From: Dmitry Gutov @ 2017-03-10 10:30 UTC (permalink / raw) To: Michael Albinus, Stefan Monnier; +Cc: emacs-devel On 10.03.2017 12:00, Michael Albinus wrote: > The only meaning of `non-essential' is to give Tramp a hint that we're > in completion. ...which is non-essential. > I haven't seen any other use of this variable since it > has been introduced back in 2010. We've been over this many times, and the "other use of this variable" is now present in company-mode and Ido. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [Emacs-diffs] master 37b88d7: Fix bug#23006 2017-03-10 10:30 ` [Emacs-diffs] master 37b88d7: Fix bug#23006 Dmitry Gutov @ 2017-03-10 10:36 ` Michael Albinus 2017-03-10 13:44 ` Dmitry Gutov 0 siblings, 1 reply; 56+ messages in thread From: Michael Albinus @ 2017-03-10 10:36 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Stefan Monnier, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: Hi Dmitry, > On 10.03.2017 12:00, Michael Albinus wrote: > >> The only meaning of `non-essential' is to give Tramp a hint that we're >> in completion. > > ...which is non-essential. I don't understand. What do you mean? >> I haven't seen any other use of this variable since it >> has been introduced back in 2010. > > We've been over this many times, Yes, and nobody has contributed an alternative solution to what I have proposed. > and the "other use of this variable" > is now present in company-mode and Ido. In ido? What else but giving a hint for Tramp do you mean there? I cannot speak for company-mode, but I would be surprised if it changes its behaviour depending on the value of `non-essential'. Best regards, Michael. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [Emacs-diffs] master 37b88d7: Fix bug#23006 2017-03-10 10:36 ` Michael Albinus @ 2017-03-10 13:44 ` Dmitry Gutov 0 siblings, 0 replies; 56+ messages in thread From: Dmitry Gutov @ 2017-03-10 13:44 UTC (permalink / raw) To: Michael Albinus; +Cc: Stefan Monnier, emacs-devel On 10.03.2017 12:36, Michael Albinus wrote: >> ...which is non-essential. > > I don't understand. What do you mean? Like Stefan said, non-essential completion is one that happens "like in a background thread", or on idle timer, etc. Which normally means "don't ask for password", but could also mean "don't try too hard generate completions too hard", e.g. in case there are multiple available algorithms, with different precision/time tradeoffs. >> We've been over this many times, > > Yes, and nobody has contributed an alternative solution to what I have > proposed. You are solving a problem which I don't really understand and probably never encountered (the syntax ambiguity of some sort). On the other hand, the issue in company-mode which you visited and commented on discussed a problem that concerns actual users. >> and the "other use of this variable" >> is now present in company-mode and Ido. > > In ido? What else but giving a hint for Tramp do you mean there? It does just that. > I cannot speak for company-mode, but I would be surprised if it changes > its behaviour depending on the value of `non-essential'. No, it binds the variable, according to the particular documented meaning of `non-essential', expecting corresponding behavior from Tramp. Ignoring that and never asking for password during completion is not what we discussed there. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [Emacs-diffs] master 37b88d7: Fix bug#23006 2017-03-10 10:00 ` Michael Albinus 2017-03-10 10:10 ` Stefan Monnier 2017-03-10 10:30 ` [Emacs-diffs] master 37b88d7: Fix bug#23006 Dmitry Gutov @ 2017-03-10 10:34 ` Stefan Monnier 2 siblings, 0 replies; 56+ messages in thread From: Stefan Monnier @ 2017-03-10 10:34 UTC (permalink / raw) To: emacs-devel > If you believe this is wrong, then Tramp needs another variable for such > a trigger. As we did agree originally in > <http://lists.gnu.org/archive/html/bug-gnu-emacs/2010-04/msg00371.html>. > The idea to take `non-essential' instead came later from you. IIUC the problem comes from the following: 1- in the process of performing completion, the completion code will end up using "subparts" of a filename. More specifically, the user may write something like "/ssh:foo:bar" but the completion code somehow ends up invoking file functions (and hence Tramp) on "/ssh:foo". 2- For historical reasons, Tramp wants to allow users to write "/ssh:foo" to access files on the "ssh" host. So in order for Tramp to figure out where the "/ssh:foo" that it received should be treated as "foo on ssh" or as "incomplete host foo via ssh", you need to try and figure out where we're in case 1 or case 2, and you try to do that using some heuristic, part of which is to look at `non-essential'. Sadly, `non-essential' is not there for that purpose, so it is only somewhat correlated with the info you want, but is not a reliable indicator (neither sufficient nor necessary). I see 2 ways out of this problem: - Introduce a new variable which indicates we're performing completion. I'm not sure exactly what "performing completion" means precisely, but maybe binding it in completion-file-name-table would be sufficient for Tramp's needs. - Get rid of this historical syntax. We could still accept "/ssh:./foo" (or maybe even "/ssh:foo/bar", tho this one looks more risky) to access the "ssh" host, which seems like a very minor annoyance. I'm strongly in favor of the second option: while the ambiguity of "/ssh:foo" is only known to bite us in the case of completion, I'd be surprised if there aren't other cases where it hurts. Also the way Tramp currently behaves subtly differently while completing than in other contexts is a source of complexity of bugs which I'd rather eliminate (I remember some problems linked to such discrepancies around file-name-directory). Stefan ^ permalink raw reply [flat|nested] 56+ messages in thread
end of thread, other threads:[~2017-04-13 18:00 UTC | newest] Thread overview: 56+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20170309184457.29604.13048@vcs0.savannah.gnu.org> [not found] ` <20170309184458.08C9725FCF@vcs0.savannah.gnu.org> 2017-03-10 8:43 ` [Emacs-diffs] master 37b88d7: Fix bug#23006 Stefan Monnier 2017-03-10 10:00 ` Michael Albinus 2017-03-10 10:10 ` Stefan Monnier 2017-03-10 10:32 ` Michael Albinus 2017-03-10 10:57 ` Stefan Monnier 2017-03-10 14:14 ` Change Tramp syntax (was: [Emacs-diffs] master 37b88d7: Fix bug#23006) Michael Albinus 2017-03-10 15:22 ` Eli Zaretskii 2017-04-03 15:54 ` Change Tramp syntax John Wiegley 2017-04-03 17:00 ` Michael Albinus 2017-04-03 23:14 ` John Wiegley 2017-04-03 23:35 ` Drew Adams 2017-04-04 8:46 ` Michael Albinus 2017-04-04 16:46 ` John Wiegley 2017-04-04 16:59 ` Michael Albinus 2017-04-04 19:44 ` John Wiegley 2017-04-06 19:12 ` Michael Albinus 2017-04-07 5:27 ` John Wiegley 2017-04-08 16:43 ` Michael Albinus 2017-04-13 18:00 ` John Wiegley 2017-04-07 13:52 ` Filipp Gunbin 2017-04-07 14:02 ` Michael Albinus 2017-04-08 16:41 ` Michael Albinus 2017-04-09 19:18 ` Talking about Lisp symbols Richard Stallman 2017-04-10 13:43 ` Change Tramp syntax Filipp Gunbin 2017-04-10 16:18 ` Teemu Likonen 2017-04-10 16:45 ` Michael Albinus 2017-04-10 18:03 ` Teemu Likonen 2017-04-04 17:04 ` John Wiegley 2017-04-04 17:50 ` Michael Albinus 2017-04-04 21:08 ` John Wiegley 2017-04-04 7:09 ` Andreas Schwab 2017-03-10 16:56 ` Stefan Monnier 2017-03-11 19:44 ` Michael Albinus 2017-03-11 20:08 ` Eli Zaretskii 2017-03-11 20:31 ` Michael Albinus 2017-03-12 15:18 ` Eli Zaretskii 2017-03-12 18:30 ` Michael Albinus 2017-03-12 22:11 ` Eli Zaretskii 2017-03-13 17:23 ` Michael Albinus 2017-03-13 17:30 ` Eli Zaretskii 2017-03-13 17:35 ` Michael Albinus 2017-03-14 3:38 ` Eli Zaretskii 2017-03-14 9:06 ` Michael Albinus 2017-03-14 14:13 ` Michael Albinus 2017-03-14 16:11 ` Eli Zaretskii 2017-03-14 15:58 ` Eli Zaretskii 2017-03-11 21:54 ` Stefan Monnier 2017-03-12 9:10 ` Michael Albinus 2017-03-12 17:12 ` Stefan Monnier 2017-03-12 18:43 ` Michael Albinus 2017-03-12 21:50 ` Stefan Monnier 2017-03-13 7:23 ` Michael Albinus 2017-03-10 10:30 ` [Emacs-diffs] master 37b88d7: Fix bug#23006 Dmitry Gutov 2017-03-10 10:36 ` Michael Albinus 2017-03-10 13:44 ` Dmitry Gutov 2017-03-10 10:34 ` Stefan Monnier
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.