* Why fido, icycles, ido, icomplete [not found] <20191106212018.cnddqzlo5rpdhi6s.ref@Ergus> @ 2019-11-06 21:20 ` Ergus 2019-11-06 21:30 ` Daniele Nicolodi 2019-11-06 22:03 ` João Távora 0 siblings, 2 replies; 36+ messages in thread From: Ergus @ 2019-11-06 21:20 UTC (permalink / raw) To: Drew Adams; +Cc: emacs-devel Hi: Sorry I have a sacrilegious question, maybe too obvious for everyone, but not for me yet. 90% of the emacs users are actually using ivy or helm... The statistics of downloaded packages are there; but also they are provided by default as part of the most popular customizations like spacemacs. Apart from that we actually already have (and invest effort supporting) ido, icomplete and maybe others provided as internal packages... in spite they are not (with huge difference) as popular as ivy or helm in these days. And at least I don't know how to differentiate one from the other. So: 1) Do we really need another confusing mode (fido-mode)? instead of improve one of the already existing alternatives with just an option to use flex? 2) Why we don't move all of those (the old and the new ones) to elpa as independent packages? (this will help also to know their individual popularity in our days and if it makes sense to invest more or less time in each of them) 3) If ivy & helm are the most popular these days... why we don't try to collaborate a bit more with their maintainers in order to provide them functionalities that they are emulating now with hacks? It will be more efficient now and beneficial for future similar packages in the future. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 21:20 ` Why fido, icycles, ido, icomplete Ergus @ 2019-11-06 21:30 ` Daniele Nicolodi 2019-11-06 22:27 ` Ergus 2019-11-06 22:03 ` João Távora 1 sibling, 1 reply; 36+ messages in thread From: Daniele Nicolodi @ 2019-11-06 21:30 UTC (permalink / raw) To: emacs-devel Hello Ergus, On 06-11-2019 14:20, Ergus wrote: > 90% of the emacs users are actually using ivy or helm... how do you come to this estimate? I don't think it is something you can derive solely from download statistics. Thank you. Cheers, Daniele ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 21:30 ` Daniele Nicolodi @ 2019-11-06 22:27 ` Ergus 0 siblings, 0 replies; 36+ messages in thread From: Ergus @ 2019-11-06 22:27 UTC (permalink / raw) To: Daniele Nicolodi; +Cc: emacs-devel On Wed, Nov 06, 2019 at 02:30:31PM -0700, Daniele Nicolodi wrote: >Hello Ergus, > >On 06-11-2019 14:20, Ergus wrote: >> 90% of the emacs users are actually using ivy or helm... >how do you come to this estimate? I don't think it is something you can >derive solely from download statistics. > >Thank you. > >Cheers, >Daniele > Hi Daniele: When I started using emacs I was very confused about what to use for completion, so I checked: download statistics and github starts (now there is the package "paradox" to get that information in the package manager). But also the community size of spacemacs (with 188000 starts and 4600 forks) compared to vanilla emacs and a Spanish telegram group for emacs (197 members now) and a reddit thread related (I can't find it now). I actually told 90% to be conservative; because 100% of the comments I have seen related to completion use helm or ivy exclusively. The few people I knew were using ido 3 years ago (due to the performance issues in helm) have moved to ivy now. On the other hand, in my work there is a user who use emacs without any config at all (because it is in a common server), so as I suppose there are other people in the same situation I keep that 10% for them. But I don't think he will be annoyed by an improvement like setting a better completion by default. In any case the key of my mail was more about why to maintain so many alternatives (it is hard to maintain, confusing for the user, complex to find information (at least in the package manager there is a description so the user can discover packages there)) and add another one instead of decide for the best we have and maintain and improve it as much as possible. Or provide lower level api functionalities for the popular packages (like ivy), move the others (like ido) to elpa and keep in built-in emacs only the minimal. Best, Ergus ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 21:20 ` Why fido, icycles, ido, icomplete Ergus 2019-11-06 21:30 ` Daniele Nicolodi @ 2019-11-06 22:03 ` João Távora 2019-11-06 22:39 ` Óscar Fuentes ` (2 more replies) 1 sibling, 3 replies; 36+ messages in thread From: João Távora @ 2019-11-06 22:03 UTC (permalink / raw) To: Ergus; +Cc: Drew Adams, emacs-devel Ergus <spacibba@aol.com> writes: > 1) Do we really need another confusing mode (fido-mode)? instead of > improve one of the already existing alternatives with just an option to > use flex? I'm sorry you find the name confusing. I find it appealing (it's "fake ido"), but we can change it (Stefan proposed icomplete-ido-mode). Now, I wish I could just put 'flex' (and many other things) in ido-mode. Actually the matter is much more complicated. Ido mode is a completely separate completion system that doesn't respect Emacs completion interfaces (completion-in-region-functions, completion-at-point-functions, completion-styles, etc etc etc ). This means it doesn't work nicely for M-x, C-h f, and many many other completion situations. So, believe me, I tried to change it... and gave up immediately (but go ahead, open lisp/ido.el hehehe). Recently, we worked together with the Helm developer to help Helm to abide by a greater number of Emacs completion interfaces. It should have, among other benefits, the interesting result that you can use Helm matching styles in icomplete.el's frontend. Or company's. Or Emacs's flex in Helm. So I don't think it's true there's no cooperation. Maybe you can convince someone to do that for ido.el, idk. I was a heavy Ido addict for many years because it has the best interface, hands down, much better than Ivy, or Helm, IMO of course. I also know many people in my company that swear by it. But the implementation was impossibly hard to hack on. Then I found icomplete.el, with very lean implementation (around 8x less lines) and the closest gap to ido-mode. I improved a decent part of icomplete.el, so Icomplete mode is now better by itself. But that gap to ido-mode is still annoyingly (and legitimately) there, and we can't just change icomplete-mode's defaults like that. So fido-mode. It's really just icomplete with slightly different defaults that emulate ido mode as close as possible. Indeed the specific contract of fido-mode is to emulate ido-mode as much as possible, to use it as a reference, so if you find something in the emulation that can be improved, please share. Regarding your other points, <shrug> that's just the way Emacs is. I like lean implementations that play along with the rest of Emacs, so I chose icomplete.el to use and to hack on. João ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 22:03 ` João Távora @ 2019-11-06 22:39 ` Óscar Fuentes 2019-11-06 22:57 ` João Távora 2019-11-06 23:21 ` Ergus 2019-11-08 17:54 ` Filipp Gunbin 2 siblings, 1 reply; 36+ messages in thread From: Óscar Fuentes @ 2019-11-06 22:39 UTC (permalink / raw) To: emacs-devel João Távora <joaotavora@gmail.com> writes: > Now, I wish I could just put 'flex' (and many other things) in > ido-mode. Ido has a `flex' completion style. Maybe it is a different one? > Actually the matter is much more complicated. Ido mode is a completely > separate completion system that doesn't respect Emacs completion > interfaces (completion-in-region-functions, > completion-at-point-functions, completion-styles, etc etc etc ). Should it? This is like the recent discussion about implementing new commands on VC: insisting on a common interface hampers diversity and innovation. We must accept that different tools sometimes deserve specific user interfaces. > This > means it doesn't work nicely for M-x, C-h f, and many many other > completion situations. Ido works nicely here for those cases with just a few lines on my .emacs and an extra package installed (ido-hacks). [snip] > I was a heavy Ido addict for many years because it has the best > interface, hands down, much better than Ivy, or Helm, IMO of course. I > also know many people in my company that swear by it. But the > implementation was impossibly hard to hack on. Ido here has a customized look (courtesy of ido-grid-mode.el), a customized completion scheme (flx-ido) and some more bells and whistles. This indicates to me that ido is more hackable than your message implies. I'm not denying that it could be much better on that regard, though. [snip] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 22:39 ` Óscar Fuentes @ 2019-11-06 22:57 ` João Távora 2019-11-06 23:07 ` Óscar Fuentes 0 siblings, 1 reply; 36+ messages in thread From: João Távora @ 2019-11-06 22:57 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1981 bytes --] On Wed, Nov 6, 2019 at 10:39 PM Óscar Fuentes <ofv@wanadoo.es> wrote: > João Távora <joaotavora@gmail.com> writes: > > > Now, I wish I could just put 'flex' (and many other things) in > > ido-mode. > > Ido has a `flex' completion style. Maybe it is a different one? > Yes it is. I created the flex completion style so it could be used across the board, in every completion frontend, not just icomplete. > Should it? This is like the recent discussion about implementing new > commands on VC: insisting on a common interface hampers diversity and > innovation. We must accept that different tools sometimes deserve > specific user interfaces. > Sure, but we're not talking about user-facing interfaces here, rather about interfaces between reusable components of Emacs. > > This > > means it doesn't work nicely for M-x, C-h f, and many many other > > completion situations. > > Ido works nicely here for those cases with just a few lines on my .emacs > and an extra package installed (ido-hacks). > But it won't work with, say SLY's capf-abiding completion table. Or Eglot's (or lsp-mode's for that matter). I think the name of the package you use to do that also says something about the quality of the integration. :-) > This indicates to me that ido is more hackable than your message > implies. I'm not denying that it could be much better on that regard, > though. > But those additions only bring it farther away from integrating into Emacs's completion facilities, and reaping those benefits. You'll have to write a package to make ido-mode use Helm's super-special matching styles, but you won't for icomplete. But I didn't mean to knock ido-mode. When I'm in a tight spot on someone else's contorted Emacs, it's still my goto M-x. It sounds like you're an ido-mode fan, so please try out fido-mode and tell me what you think is missing from it. I know a lot is, and I want to improve it. João [-- Attachment #2: Type: text/html, Size: 3176 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 22:57 ` João Távora @ 2019-11-06 23:07 ` Óscar Fuentes 2019-11-07 0:36 ` João Távora 0 siblings, 1 reply; 36+ messages in thread From: Óscar Fuentes @ 2019-11-06 23:07 UTC (permalink / raw) To: emacs-devel João Távora <joaotavora@gmail.com> writes: > It sounds like you're an ido-mode fan, so please try out > fido-mode and tell me what you think is missing from it. I > know a lot is, and I want to improve it. Has fido-mode support for flx-ido? Can I plug it in? Any other completion system that I know on Emacs is unbearably dumb IMAO. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 23:07 ` Óscar Fuentes @ 2019-11-07 0:36 ` João Távora 2019-11-07 1:07 ` Óscar Fuentes 0 siblings, 1 reply; 36+ messages in thread From: João Távora @ 2019-11-07 0:36 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes <ofv@wanadoo.es> writes: > João Távora <joaotavora@gmail.com> writes: > >> It sounds like you're an ido-mode fan, so please try out >> fido-mode and tell me what you think is missing from it. I >> know a lot is, and I want to improve it. > > Has fido-mode support for flx-ido? Can I plug it in? Any other > completion system that I know on Emacs is unbearably dumb IMAO. I don't know flx. According to its github page flx is a "matching engine", what in Emacs is a "completion style", I believe. Right? A way to match a pattern to a universe/set of possible strings and to return a (possibly propertized/annotated) subset of those strings. If so, and if flx adheres to the completion-styles API, then it's very easy to plug in. If it doesn't, maybe the author can find a way to adapt it, just like Thierry did recently in Helm. You can also try 'flex' and tell me what you think you are missing from flx. I don't find flex "unbearably dumb" :-) I like to type mispelled fragments of words I vaguely remember and it almost always pops my intended thing to the top of the list. But it doesn't autocorrect like google, for example, that's much harder. (does flx?) João ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 0:36 ` João Távora @ 2019-11-07 1:07 ` Óscar Fuentes 2019-11-07 1:21 ` Ergus 2019-11-07 10:09 ` João Távora 0 siblings, 2 replies; 36+ messages in thread From: Óscar Fuentes @ 2019-11-07 1:07 UTC (permalink / raw) To: emacs-devel João Távora <joaotavora@gmail.com> writes: > Óscar Fuentes <ofv@wanadoo.es> writes: > >> João Távora <joaotavora@gmail.com> writes: >> >>> It sounds like you're an ido-mode fan, so please try out >>> fido-mode and tell me what you think is missing from it. I >>> know a lot is, and I want to improve it. >> >> Has fido-mode support for flx-ido? Can I plug it in? Any other >> completion system that I know on Emacs is unbearably dumb IMAO. > > I don't know flx. According to its github page flx is a "matching > engine", what in Emacs is a "completion style", I believe. Right? A > way to match a pattern to a universe/set of possible strings and to > return a (possibly propertized/annotated) subset of those strings. It takes a set of candidates and a string as inputs. The algorithm associates a score to each candidate based on the string and outputs a list of matching candidates sorted by the score. > If so, and if flx adheres to the completion-styles API, then it's very > easy to plug in. If it doesn't, maybe the author can find a way to > adapt it, just like Thierry did recently in Helm. Where can I learn about that completion-styles API? > You can also try 'flex' and tell me what you think you are missing from > flx. I don't find flex "unbearably dumb" :-) I have experience with ido's flex and can't compare. flx requires some training but then it is extremely effective. I no longer bother to memorize most keyboard shorcuts, because by just remembering *some* part of the command's name it can be easily invoked through M-x, often with less keypresses (and with much less chording). It is quite effective at discovering new commands, once you have an idea of the naming convention that a package uses. Last, but not least, it is the matching system used by some of the "cool kids" that competes with Emacs (Sublime Text, to name one). > I like to type mispelled fragments of words I vaguely remember and it > almost always pops my intended thing to the top of the list. But it > doesn't autocorrect like google, for example, that's much harder. (does > flx?) If you need autocorrection with flx, you are using it wrong. For instance, with M-x and 20000+ candidates, four letters are almost always enough to put the target on the first 10 candidates. Said that, flx is somewhat forgiving about typos but explaining the reason without first explaining how the algorithm works is difficult. The weak point of flx is that it can be a bit slow. The author put a lot of effort on optimizations and it works reasonably well by using caching techniques, but the first invocation takes a bit too long even on fast machines and the cache uses lots of memory. Implementing the algorithm in C is on my to-do list. Then it could be used even for incremental search on a buffer. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 1:07 ` Óscar Fuentes @ 2019-11-07 1:21 ` Ergus 2019-11-07 1:51 ` Óscar Fuentes 2019-11-07 10:09 ` João Távora 1 sibling, 1 reply; 36+ messages in thread From: Ergus @ 2019-11-07 1:21 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel On Thu, Nov 07, 2019 at 02:07:09AM +0100, ??scar Fuentes wrote: >Jo??o T??vora <joaotavora@gmail.com> writes: > >> ??scar Fuentes <ofv@wanadoo.es> writes: >> >>> Jo??o T??vora <joaotavora@gmail.com> writes: >>> >>>> It sounds like you're an ido-mode fan, so please try out >>>> fido-mode and tell me what you think is missing from it. I >>>> know a lot is, and I want to improve it. >>> >>> Has fido-mode support for flx-ido? Can I plug it in? Any other >>> completion system that I know on Emacs is unbearably dumb IMAO. >> >> I don't know flx. According to its github page flx is a "matching >> engine", what in Emacs is a "completion style", I believe. Right? A >> way to match a pattern to a universe/set of possible strings and to >> return a (possibly propertized/annotated) subset of those strings. > >It takes a set of candidates and a string as inputs. The algorithm >associates a score to each candidate based on the string and outputs a >list of matching candidates sorted by the score. > 1) Is this what amx (former smex) does? >> If so, and if flx adheres to the completion-styles API, then it's very >> easy to plug in. If it doesn't, maybe the author can find a way to >> adapt it, just like Thierry did recently in Helm. > >Where can I learn about that completion-styles API? > >> You can also try 'flex' and tell me what you think you are missing from >> flx. I don't find flex "unbearably dumb" :-) > >I have experience with ido's flex and can't compare. flx requires some >training but then it is extremely effective. I no longer bother to >memorize most keyboard shorcuts, because by just remembering *some* part >of the command's name it can be easily invoked through M-x, often with >less keypresses (and with much less chording). It is quite effective at >discovering new commands, once you have an idea of the naming convention >that a package uses. Last, but not least, it is the matching system used >by some of the "cool kids" that competes with Emacs (Sublime Text, to >name one). > if 1) is it like: ivy???regex-fuzzy + amx? ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 1:21 ` Ergus @ 2019-11-07 1:51 ` Óscar Fuentes 0 siblings, 0 replies; 36+ messages in thread From: Óscar Fuentes @ 2019-11-07 1:51 UTC (permalink / raw) To: emacs-devel Ergus <spacibba@aol.com> writes: >>It takes a set of candidates and a string as inputs. The algorithm >>associates a score to each candidate based on the string and outputs a >>list of matching candidates sorted by the score. >> > 1) Is this what amx (former smex) does? I don't know amx/smex but AFAIK there is only one implementation of the flx algorithm on the Emacs universe. Alos, smex predates flx. > if 1) is it like: ivy???regex-fuzzy + amx? No, IIRC regex-fuzzy turn abc into .*a.*b.*c but flx is much more comples and the scoring algorithm is the key difference. flx scores candidates depending on where each letter matches. For instance, if I type M-x sbke the first candidate is save-buffers-kill-emacs, because it is the candidate that gets the higher score by far. Similarly, when I use my custom command for visiting a file on a git repo that presents as initial candidates all the files obtained through `git ls-files', typing "sxc" on the Emacs git checkout puts source/xdisp.c as the second candidate (the first is etc/xhtml-csismap.rnc) and if I type "lide" the fifth candidate is lisp/ido.el. This last example is penalized because the algorithm gives higher scores to candidates with longer names, which is also the reason why source/xdisp.c is not the first candidate on the previous example. But once we understand the algorithm, we know that the "e" in "lide" does not help because every file inside lisp/ has an ".el" suffix. Simply typing "lid" lisp/ido.el is already the fifth candidate but getting rid of the useless "e" and typing "lido" puts that file as the first candidate. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 1:07 ` Óscar Fuentes 2019-11-07 1:21 ` Ergus @ 2019-11-07 10:09 ` João Távora 2019-11-07 18:50 ` Óscar Fuentes 1 sibling, 1 reply; 36+ messages in thread From: João Távora @ 2019-11-07 10:09 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes <ofv@wanadoo.es> writes: > João Távora <joaotavora@gmail.com> writes: >> If so, and if flx adheres to the completion-styles API, then it's very >> easy to plug in. If it doesn't, maybe the author can find a way to >> adapt it, just like Thierry did recently in Helm. > > Where can I learn about that completion-styles API? In the emacs manual, but a lot in lisp/minibuffer.el. Look at how the other styles are implemented. Also ask Stefan on this list. >> You can also try 'flex' and tell me what you think you are missing from >> flx. I don't find flex "unbearably dumb" :-) > > I have experience with ido's flex and can't compare. I wasn't talking about ído's flex, which is named 'ido-enable-flex-matching'. So we don't lose ourselves, when I say 'flex' I am talking about: (setq completion-styles '(flex)) (setq completion-category-defaults nil ) When I say 'flx', I am talking about "your" system (or the little I know about it.) > flx requires some > training but then it is extremely effective. I no longer bother to > memorize most keyboard shorcuts, because by just remembering *some* part > of the command's name it can be easily invoked through M-x, often with > less keypresses (and with much less chording). It is quite effective at > discovering new commands, once you have an idea of the naming convention > that a package uses. Last, but not least, it is the matching system used > by some of the "cool kids" that competes with Emacs (Sublime Text, to > name one). I don't use the "cool kids" stuff, but I do use some completion boxes in some other applications with flex matching. I don't see any big difference between 'flex' and those. >> I like to type mispelled fragments of words I vaguely remember and it >> almost always pops my intended thing to the top of the list. But it >> doesn't autocorrect like google, for example, that's much harder. (does >> flx?) > If you need autocorrection with flx, you are using it wrong. I don't use flx. I gather it doesn't support autocorrection and neither does 'flex'. Great. Or not. Autocorrection is an advanced feature in many systems, most prominently Google's. The point there, I think, is precisely that you CAN use it wrong, as humans frequently do. Your description of your usage of flx matches exactly my usage of 'flex'. However, the 'flex' scoring implementation is about 20 lines in actual implementation, is controlled by a single variable (flex-score-match-tightness). 'flx' seems like it's much much larger in length, and considerably more sophisticated (I read warm-up cache, heatmap, special-cases for certain characters, etc.). I'm looking for your feedback in term of these kinds of statements "When I use 'flx' on the set X it gives me Y but 'flex' on the same set gives me Z" If we find 'flx's result is more compelling, we can take steps to approximate 'flex' to it. > instance, with M-x and 20000+ candidates, four letters are almost always > enough to put the target on the first 10 candidates. Said that, flx is > somewhat forgiving about typos Yes, but what kind of typos? If I type "complwt", will it ever bring "completion" as a match? 'flex' won't. João ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 10:09 ` João Távora @ 2019-11-07 18:50 ` Óscar Fuentes 0 siblings, 0 replies; 36+ messages in thread From: Óscar Fuentes @ 2019-11-07 18:50 UTC (permalink / raw) To: emacs-devel João Távora <joaotavora@gmail.com> writes: >> Where can I learn about that completion-styles API? > > In the emacs manual, but a lot in lisp/minibuffer.el. Look at how the > other styles are implemented. Also ask Stefan on this list. Thanks. >>> You can also try 'flex' and tell me what you think you are missing from >>> flx. I don't find flex "unbearably dumb" :-) >> >> I have experience with ido's flex and can't compare. > > I wasn't talking about ído's flex, which is named > 'ido-enable-flex-matching'. So we don't lose ourselves, when I say > 'flex' I am talking about: > > (setq completion-styles '(flex)) > (setq completion-category-defaults nil ) I'll try to experiment with emacs -Q and those settings as time permits. >> flx requires some >> training but then it is extremely effective. I no longer bother to >> memorize most keyboard shorcuts, because by just remembering *some* part >> of the command's name it can be easily invoked through M-x, often with >> less keypresses (and with much less chording). It is quite effective at >> discovering new commands, once you have an idea of the naming convention >> that a package uses. Last, but not least, it is the matching system used >> by some of the "cool kids" that competes with Emacs (Sublime Text, to >> name one). > > I don't use the "cool kids" stuff, but I do use some completion boxes in > some other applications with flex matching. I don't see any big > difference between 'flex' and those. The likely reason is that those other applications use flex matching or something that approximates it. On non-technical applications flx can be problematic because using it without some knowledge about how it works can bring puzzling results. >> If you need autocorrection with flx, you are using it wrong. > > I don't use flx. I gather it doesn't support autocorrection and neither > does 'flex'. Great. Or not. Autocorrection is an advanced feature in > many systems, most prominently Google's. The point there, I think, is > precisely that you CAN use it wrong, as humans frequently do. Autocorrection makes little sense when 1) your typical input is tiny (less that 6 characters) and 2) effective use of the completion style depends on *not* using words. [snip] > I'm looking for your feedback in term of these kinds of statements > > "When I use 'flx' on the set X it gives me Y but 'flex' on the same > set gives me Z" > > If we find 'flx's result is more compelling, we can take steps to > approximate 'flex' to it. I don't think that's a good idea. Many users are utterly confused by flx but are quite happy with flex. I'm more interested on adding flx as a completion style (hence my previous question about the completion-styles API). >> instance, with M-x and 20000+ candidates, four letters are almost always >> enough to put the target on the first 10 candidates. Said that, flx is >> somewhat forgiving about typos > > Yes, but what kind of typos? If I type "complwt", will it ever bring > "completion" as a match? 'flex' won't. Neither flx, because "completion" has no `w'. I already mentiond why flx users do not care much about autocorrection. Now I'll add that flx is not particularly good (read: superior to other methods) at completing single words. It shines at completing strings made of multiple words, tough, as your typical Elisp function/variable name, C++/Java qualified method, pathname, etc. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 22:03 ` João Távora 2019-11-06 22:39 ` Óscar Fuentes @ 2019-11-06 23:21 ` Ergus 2019-11-06 23:59 ` Óscar Fuentes 2019-11-07 0:27 ` João Távora 2019-11-08 17:54 ` Filipp Gunbin 2 siblings, 2 replies; 36+ messages in thread From: Ergus @ 2019-11-06 23:21 UTC (permalink / raw) To: João Távora; +Cc: Drew Adams, emacs-devel Hi Joao: Thanks for the answer it is very clarifying for me now. Maybe you should add all this information somewhere in the documentation. On Wed, Nov 06, 2019 at 10:03:20PM +0000, Jo�o T�vora wrote: >Ergus <spacibba@aol.com> writes: > >> 1) Do we really need another confusing mode (fido-mode)? instead of >> improve one of the already existing alternatives with just an option to >> use flex? > >I'm sorry you find the name confusing. I find it appealing (it's "fake >ido"), but we can change it (Stefan proposed icomplete-ido-mode). > The name is not important for me actually :p if it is documented properly and in a logical place in the manual with links (or in the same place) of the ido section and icomplete... so easily to find. >Now, I wish I could just put 'flex' (and many other things) in ido-mode. >Actually the matter is much more complicated. Ido mode is a completely >separate completion system that doesn't respect Emacs completion >interfaces (completion-in-region-functions, >completion-at-point-functions, completion-styles, etc etc etc ). This >means it doesn't work nicely for M-x, C-h f, and many many other >completion situations. So, believe me, I tried to change it... and gave >up immediately (but go ahead, open lisp/ido.el hehehe). > I actually have very strong feelings behind ido in 2019 (I know I am a sort of apostate for this). But I think it is something that needs to be removed/deprecated/substituted for the good of newer alternatives like icomplete. So new users will try more maintained/ modern/ powerful/ better integrated alternatives: like icomplete/ivy/helm. The intention is to move the users to the newer functionalities so they can get the best possible first impression. From the software point of view it is "complex" to keep such a big piece of code that nobody wants to touch anymore... specially if we already have alternatives for it. I think Abo-abo actually tried to modify ido to improve it and he finally ended implementing ivy... was easier that way. >Recently, we worked together with the Helm developer to help Helm to >abide by a greater number of Emacs completion interfaces. It should >have, among other benefits, the interesting result that you can use Helm >matching styles in icomplete.el's frontend. Or company's. Or Emacs's >flex in Helm. I will pray you to do the same for ivy... please please... Actually I think ivy is now much better integrated than helm before, but for sure there will be things missing you could help to improve. >So I don't think it's true there's no cooperation. > Sorry, maybe I explained wrong... I know there is some cooperation (actually some contributors here are active contributors of ivy for example). I just think it is not enough. The argument is actually that spacemacs is so big just because they need to hack or re-implement many functionalities that sometimes we can provide with an extra parameter in vanilla emacs. >Maybe you can convince someone to do that for ido.el, idk. > Again, I am not an ido fan... I would try to convince someone to do the same for avy-counsel actually. >I was a heavy Ido addict for many years because it has the best >interface, hands down, much better than Ivy, or Helm, IMO of course. I >also know many people in my company that swear by it. But the >implementation was impossibly hard to hack on. Then I found >icomplete.el, with very lean implementation (around 8x less lines) and >the closest gap to ido-mode. I improved a decent part of icomplete.el, >so Icomplete mode is now better by itself. But that gap to ido-mode is >still annoyingly (and legitimately) there, and we can't just change >icomplete-mode's defaults like that. > I have never used icomplete... so I don't know what ido provides that icomplete can't. So where is the gap? Is a part of the gap fixed in helm or ivy for example? >So fido-mode. It's really just icomplete with slightly different >defaults that emulate ido mode as close as possible. Indeed the >specific contract of fido-mode is to emulate ido-mode as much as >possible, to use it as a reference, so if you find something in the >emulation that can be improved, please share. > Maybe this paragraph should go in the manual in the ido section suggesting to switch to fido in order to improve fido as much as possible and deprecate the actual ido implementation in the future... (I have a dream, please don't burn me for this "A man can dream... a man can dream") >Regarding your other points, <shrug> that's just the way Emacs is. I >like lean implementations that play along with the rest of Emacs, so I >chose icomplete.el to use and to hack on. > Me too, now I get why we need fido... It should say explicitly in the documentation that "Fido is a modern icomplete emulating ido with better integration with all the emacs infrastructure" etc etc etc... and it. >Jo�o > > Best, Ergus ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 23:21 ` Ergus @ 2019-11-06 23:59 ` Óscar Fuentes 2019-11-07 0:47 ` Ergus 2019-11-07 0:27 ` João Távora 1 sibling, 1 reply; 36+ messages in thread From: Óscar Fuentes @ 2019-11-06 23:59 UTC (permalink / raw) To: emacs-devel Ergus <spacibba@aol.com> writes: > I actually have very strong feelings behind ido in 2019 (I know I am a > sort of apostate for this). But I think it is something that needs to be > removed/deprecated/substituted for the good of newer alternatives like > icomplete. So new users will try more maintained/ modern/ powerful/ > better integrated alternatives: like icomplete/ivy/helm. Ido is not used by default. What good does to remove it? > The intention is to move the users to the newer functionalities so they > can get the best possible first impression. New users are not exposed to ido at all. So I don't get your point. > From the software point of view it is "complex" to keep such a big piece > of code that nobody wants to touch anymore... specially if we already > have alternatives for it. People are not forced to work on Ido. They do because they want. > I think Abo-abo actually tried to modify ido to improve it and he > finally ended implementing ivy... was easier that way. I tried Ivy and decided that it is clearly inferior to my ido config. YMMV. Can we stop prentending there is One True Way of doing things? ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 23:59 ` Óscar Fuentes @ 2019-11-07 0:47 ` Ergus 2019-11-07 2:20 ` Óscar Fuentes 0 siblings, 1 reply; 36+ messages in thread From: Ergus @ 2019-11-07 0:47 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel On Thu, Nov 07, 2019 at 12:59:13AM +0100, �scar Fuentes wrote: >Ergus <spacibba@aol.com> writes: > >> I actually have very strong feelings behind ido in 2019 (I know I am a >> sort of apostate for this). But I think it is something that needs to be >> removed/deprecated/substituted for the good of newer alternatives like >> icomplete. So new users will try more maintained/ modern/ powerful/ >> better integrated alternatives: like icomplete/ivy/helm. > >Ido is not used by default. What good does to remove it? > Who is maintaining ido these days? Who fixes the issues related with ido? Which sense makes to develop and improve all the completion infrastructure and design if the users can't take advantage of it because nobody touches ido? Should we be stocked in 2001 because ido is hard do maintain? >> The intention is to move the users to the newer functionalities so they >> can get the best possible first impression. > >New users are not exposed to ido at all. So I don't get your point. > Reduce confusion, so users don't have to ask like me why are there so many alternatives; a clearer view of what's around, what's being more maintained, what's more functional, where the are investing more effort the developers. >> From the software point of view it is "complex" to keep such a big piece >> of code that nobody wants to touch anymore... specially if we already >> have alternatives for it. > >People are not forced to work on Ido. They do because they want. > By touch I mean maintain, integrate and update with the new features; also fix issues. Recommend ido today will just disappoint users and limit their view of emacs as it is today. New users (that we should also attract) have a very hard learning curve in front of them; we must not make it harder. And ido is not by far the best we have to offer anymore. We don't have either enough man power (and even with that it makes no sense) to maintain 4 packages with exactly the same functionality. >> I think Abo-abo actually tried to modify ido to improve it and he >> finally ended implementing ivy... was easier that way. > >I tried Ivy and decided that it is clearly inferior to my ido config. >YMMV. > This is a personal taste... Many more users are with helm or ivy these days... so "clearly inferior" is a very personal opinion in your case. My suggestion here will be to start using fido-mode and help fixing it until it can completely replace ido in functionality as it is based on icomplete and integrates better with the rest of the infrastructure. In my opinion ido should be deprecated and moved as a separated project in Elpa. And nothing limits icomplete to become more powerful and functional. >Can we stop prentending there is One True Way of doing things? > There are many approximations to The True; but true is always only One True... and nobody knows it. That's why we need to keep searching. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 0:47 ` Ergus @ 2019-11-07 2:20 ` Óscar Fuentes 2019-11-07 4:59 ` Ergus 2019-11-07 14:09 ` Stefan Monnier 0 siblings, 2 replies; 36+ messages in thread From: Óscar Fuentes @ 2019-11-07 2:20 UTC (permalink / raw) To: emacs-devel Ergus <spacibba@aol.com> writes: >>Ido is not used by default. What good does to remove it? >> > Who is maintaining ido these days? Who fixes the issues related with > ido? Which sense makes to develop and improve all the completion > infrastructure and design if the users can't take advantage of it > because nobody touches ido? Is Ido in such bad state and I didn't notice? > Should we be stocked in 2001 because ido is hard do maintain? What is the criteria for saying "this is 2001, this is 2019"? >>> The intention is to move the users to the newer functionalities so they >>> can get the best possible first impression. >> >>New users are not exposed to ido at all. So I don't get your point. >> > > Reduce confusion, so users don't have to ask like me why are there so > many alternatives; a clearer view of what's around, what's being more > maintained, what's more functional, where the are investing more effort > the developers. Sorry, I don't follow you there. Ido works. Emacs is not pestering new users with nag screens trying to lure them into using Ido. So what's your point? >>> From the software point of view it is "complex" to keep such a big piece >>> of code that nobody wants to touch anymore... specially if we already >>> have alternatives for it. >> >>People are not forced to work on Ido. They do because they want. >> > > By touch I mean maintain, integrate and update with the new features; > also fix issues. Which new features? Which issues? Did you notice the part were I mentioned that I tried Ivy and it was inferior to my Ido setup? > Recommend ido today will just disappoint users and limit their view of > emacs as it is today. How? And who is recommending Ido? Would they stop recommending Ido if it were on Elpa? > New users (that we should also attract) have a > very hard learning curve in front of them; we must not make it > harder. And ido is not by far the best we have to offer anymore. > > We don't have either enough man power (and even with that it makes no > sense) to maintain 4 packages with exactly the same functionality. > >>> I think Abo-abo actually tried to modify ido to improve it and he >>> finally ended implementing ivy... was easier that way. >> >>I tried Ivy and decided that it is clearly inferior to my ido config. >>YMMV. >> > This is a personal taste... Yes, the same personal taste that made me an Emacs user. > Many more users are with helm or ivy these > days... so "clearly inferior" is a very personal opinion in your case. I have serious doubts about your statistics. See, I tried Ivy+Swiper at least twice on the recent years, simultaneously on several machines. That counts as, let's say, 8 installs of Ivy+Swiper. But every time I decided that they are not an improvement, so I keep using Ido, which comes built-in with Emacs. On your statistics, that's 8 users for Ivy, 0 for Ido. > My suggestion here will be to start using fido-mode and help fixing it > until it can completely replace ido in functionality as it is based on > icomplete and integrates better with the rest of the infrastructure. I'm all for a better Ido and it is great that João is working on it. But as long as fido-mode is not as effective as Ido, I won't use it no matter how well integrated it is on the rest of the infrastructure. > In my opinion ido should be deprecated and moved as a separated project > in Elpa. And nothing limits icomplete to become more powerful and > functional. My opinion is that lots of Emacs packages should be moved to Elpa, but as I'm not inconvenienced by their presence (beyond the build taking a bit longer) I abstain from suggesting those changes and leave the decision to those that feel the burden of dealing with those packages. >>Can we stop prentending there is One True Way of doing things? >> > There are many approximations to The True; but true is always only > One True... and nobody knows it. That's why we need to keep searching. You are not searching, you are suggesting to remove alternatives that other people find useful. You are proposing change for change's sake. As long as your replacement can't improve my workflow, please let me alone in my cave with my 2001 technology that works better than your 2019 technology :-) ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 2:20 ` Óscar Fuentes @ 2019-11-07 4:59 ` Ergus 2019-11-07 18:26 ` Óscar Fuentes 2019-11-07 14:09 ` Stefan Monnier 1 sibling, 1 reply; 36+ messages in thread From: Ergus @ 2019-11-07 4:59 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel This is not going anywhere.. so I don't continue with this... I actually didn't proposed anything because (as in my first mail in the thread I said) This is always the same when talking about changes (I still remember the C-c C-c discussion a year ago). On Thu, Nov 07, 2019 at 03:20:48AM +0100, �scar Fuentes wrote: >Ergus <spacibba@aol.com> writes: > >>>Ido is not used by default. What good does to remove it? >>> >> Who is maintaining ido these days? Who fixes the issues related with >> ido? Which sense makes to develop and improve all the completion >> infrastructure and design if the users can't take advantage of it >> because nobody touches ido? > >Is Ido in such bad state and I didn't notice? > Yes, actually it is. It requires fixes, patches and external workarounds to make it work. And nobody so far is doing that. >> Should we be stocked in 2001 because ido is hard do maintain? > >What is the criteria for saying "this is 2001, this is 2019"? > Lets just look around and see alternative editors with new features we don't have... or just the features we have implemented in emacs in the latest versions... Why do you think it is needed ido-hacks, ido-everywhere, ido-vertical-mode, or ido-completing-read+? They are not actually extending ido, they are just pretending ido is updated. >>>> The intention is to move the users to the newer functionalities so they >>>> can get the best possible first impression. >>> >>>New users are not exposed to ido at all. So I don't get your point. >>> >> >> Reduce confusion, so users don't have to ask like me why are there so >> many alternatives; a clearer view of what's around, what's being more >> maintained, what's more functional, where the are investing more effort >> the developers. > >Sorry, I don't follow you there. Ido works. Emacs is not pestering new >users with nag screens trying to lure them into using Ido. So what's >your point? > I have explained it 2 times. You don't get it... ok. >>>> From the software point of view it is "complex" to keep such a big piece >>>> of code that nobody wants to touch anymore... specially if we already >>>> have alternatives for it. >>> >>>People are not forced to work on Ido. They do because they want. >>> >> >> By touch I mean maintain, integrate and update with the new features; >> also fix issues. > >Which new features? Which issues? Did you notice the part were I >mentioned that I tried Ivy and it was inferior to my Ido setup? > I haven't find any issue with ivy... and if there are issues there is a maintainer and active community... If you are not allowed to configure ivy to behave like ido it is because ivy is not ido... in any case I don't think there is something in ido that ivy can't reproduce. flx, fuzzy and so on are integrated + recentf, amx, avy, and many other fancy functionalities... I am not recommending ivy for you... I just doubt that there is so much (if any) functional difference with ido. And if there is something crucial just report that... >> Recommend ido today will just disappoint users and limit their view of >> emacs as it is today. > >How? And who is recommending Ido? Would they stop recommending Ido if it >were on Elpa? > Most of the documentation around talks more about ido than about icomplete or icycles... >> New users (that we should also attract) have a >> very hard learning curve in front of them; we must not make it >> harder. And ido is not by far the best we have to offer anymore. >> >> We don't have either enough man power (and even with that it makes no >> sense) to maintain 4 packages with exactly the same functionality. >> >>>> I think Abo-abo actually tried to modify ido to improve it and he >>>> finally ended implementing ivy... was easier that way. >>> >>>I tried Ivy and decided that it is clearly inferior to my ido config. >>>YMMV. >>> >> This is a personal taste... > >Yes, the same personal taste that made me an Emacs user. > We all use emacs >> Many more users are with helm or ivy these >> days... so "clearly inferior" is a very personal opinion in your case. > >I have serious doubts about your statistics. See, I tried Ivy+Swiper at >least twice on the recent years, simultaneously on several machines. >That counts as, let's say, 8 installs of Ivy+Swiper. But every time I >decided that they are not an improvement, so I keep using Ido, which >comes built-in with Emacs. On your statistics, that's 8 users for Ivy, 0 >for Ido. > But you didn't start it on github for sure, and if you did you only had one start to give so the statistics are a bit more accurate that way. Right now the king is still helm... And of course statistics have some test errors (that's the sense of statistics, otherwise it is just maths)... In any case all spacemacs user are not using ido and that's (with difference) the bigger community we have right now. One of the arguments to put ido (and many of the building packages) in a different package in Elpa to have some estimation of their use... Not the most accurate estimation, but better than nothing for sure... in your example it will give 8 too right? >> My suggestion here will be to start using fido-mode and help fixing it >> until it can completely replace ido in functionality as it is based on >> icomplete and integrates better with the rest of the infrastructure. > >I'm all for a better Ido and it is great that Jo�o is working on it. But >as long as fido-mode is not as effective as Ido, I won't use it no >matter how well integrated it is on the rest of the infrastructure. > Ok... I call that human backward compatibility. >> In my opinion ido should be deprecated and moved as a separated project >> in Elpa. And nothing limits icomplete to become more powerful and >> functional. > >My opinion is that lots of Emacs packages should be moved to Elpa, but >as I'm not inconvenienced by their presence (beyond the build taking a >bit longer) I abstain from suggesting those changes and leave the >decision to those that feel the burden of dealing with those packages. > If we don't do that (and everybody abstain) the emacs sources and installer will indefinitely grow and grow (as well as building times and bug reports, and unknown portions in the code that nobody uses and touches, and complexity trying to keep everything working more or less in the standard way, and we will need a lot of glue code to join old packages with the things...) >>>Can we stop prentending there is One True Way of doing things? >>> >> There are many approximations to The True; but true is always only >> One True... and nobody knows it. That's why we need to keep searching. > >You are not searching, you are suggesting to remove alternatives that >other people find useful. You are proposing change for change's sake. As >long as your replacement can't improve my workflow, please let me alone >in my cave with my 2001 technology that works better than your 2019 >technology :-) > Again I didn't propose anything. I have just seen many opinions before, about ido maintenance and update with the new features in emacs. If changes are bad then we shouldn't do any other emacs release anymore and keep it as if forever... But emacs have changes too much since 25.1. You don't know how well (or bad) my technology works... so you don't have a comparison point to say that yours work better. I could say that you didn't like ivy because you didn't configure it properly... those are both just random opinions without any basement. Best Ergus. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 4:59 ` Ergus @ 2019-11-07 18:26 ` Óscar Fuentes 0 siblings, 0 replies; 36+ messages in thread From: Óscar Fuentes @ 2019-11-07 18:26 UTC (permalink / raw) To: emacs-devel Ergus <spacibba@aol.com> writes: >>Is Ido in such bad state and I didn't notice? >> > Yes, actually it is. It requires fixes, patches and external workarounds > to make it work. And nobody so far is doing that. See below. >>What is the criteria for saying "this is 2001, this is 2019"? >> > Lets just look around and see alternative editors with new features we > don't have... or just the features we have implemented in emacs in the > latest versions... > > Why do you think it is needed ido-hacks, ido-everywhere, > ido-vertical-mode, or ido-completing-read+? They are not actually > extending ido, they are just pretending ido is updated. Although the Ido core mechanism works for general completion, it only covers some cases (file and buffer completion). The "fixes, patches and external workarounds" you refer to (actually, they are not fixes nor patches nor workarounds) extend the functionality to other cases where users wish to use the Ido completion mechanism. Possibly you are under the impression that Ido is intended as a replacement for Emacs' completion system. It is not. It's core goal is to provide a richer find-file and switch-to-buffer. You can delete files or kill buffers from the Ido prompt, and seamlessly switch from finding files to switching buffers and vice versa. Some people like Ido's completion mechanism and created extensions to use it for other purposes, but that doesn't mean that Ido is broken and needs fixes, patches and workarounds. >>> By touch I mean maintain, integrate and update with the new features; >>> also fix issues. >> >>Which new features? Which issues? Did you notice the part were I >>mentioned that I tried Ivy and it was inferior to my Ido setup? >> > I haven't find any issue with ivy... and if there are issues there is a > maintainer and active community... I never said that I found issues with Ivy. > If you are not allowed to configure ivy to behave like ido it is because > ivy is not ido... Great! Now, with one more step, you will understand why I'm reluctant to switching from Ido to Ivy when the later is not a replacement for the former. [snip] >>> Recommend ido today will just disappoint users and limit their view of >>> emacs as it is today. >> >>How? And who is recommending Ido? Would they stop recommending Ido if it >>were on Elpa? >> > Most of the documentation around talks more about ido than about > icomplete or icycles... What documentation? Emacs' documentation? Or text from the websphere? It is expected that icycles is not mentioned on Emacs' documentation. If Ido has more mentions on the websphere, that can be explained by several possible reasons, one of them being that people like to write about Ido :-) >>> Many more users are with helm or ivy these >>> days... so "clearly inferior" is a very personal opinion in your case. >> >>I have serious doubts about your statistics. See, I tried Ivy+Swiper at >>least twice on the recent years, simultaneously on several machines. >>That counts as, let's say, 8 installs of Ivy+Swiper. But every time I >>decided that they are not an improvement, so I keep using Ido, which >>comes built-in with Emacs. On your statistics, that's 8 users for Ivy, 0 >>for Ido. >> > But you didn't start it on github for sure, and if you did you only had > one start to give so the statistics are a bit more accurate that way. Can I give stars to Ido on Github? ;-) It seems to me that using Github stars as a popularity contest is quite problematic. [snip] > In any case all spacemacs user are not using ido and that's (with > difference) the bigger community we have right now. How do you know that there are no spacemacs users using Ido and why should we care? [snip] > Again I didn't propose anything. I have just seen many opinions before, > about ido maintenance and update with the new features in emacs. If > changes are bad then we shouldn't do any other emacs release anymore and > keep it as if forever... But emacs have changes too much since 25.1. > > You don't know how well (or bad) my technology works... so you don't > have a comparison point to say that yours work better. I could say that > you didn't like ivy because you didn't configure it properly... those > are both just random opinions without any basement. Sorry, but this is verging into religious flamewar. Let's stop the discussion here. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 2:20 ` Óscar Fuentes 2019-11-07 4:59 ` Ergus @ 2019-11-07 14:09 ` Stefan Monnier 2019-11-07 20:35 ` Óscar Fuentes 1 sibling, 1 reply; 36+ messages in thread From: Stefan Monnier @ 2019-11-07 14:09 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Hola Óscar, > Which new features? Which issues? Did you notice the part were I > mentioned that I tried Ivy and it was inferior to my Ido setup? IDO is a great package which lots of users like, so much so that we have several extra packages trying to use it in more circumstances than just selecting buffers and files. It still works as well as ever, AFAIK. But like all packages, there's pressure to make it work even better. One of those improvements is to make it work for all completions, as is done in ido-everywhere and ido-completing-read. But as it turns out, the current ido code only works with *most* completion tables, not all. There aren't terribly many completion tables for which it doesn't work, but it would be nice to get those few remaining percents working. There are 2 ways to do that: 1- improve ido.el 2- write a replacement Both approaches are valid. Experience shows that approach number 2 has been more popular. Personally, I don't use IDO so I'm not particularly interested in either approach's goal, but I do like some of IDO's features, so I'm interested in solutions that result in a closer integration of the "normal" completion code and IDO so I get to use some the features I like without being forced to buy into the ones I don't. That's why I wrote the `substring` completion style (which, together with icomplete-mode (plus a few tweaks) made iswitchb obsolete, but more importantly, it brought that feature to all users in the default config). IOW, I don't see fido-mode as "obsoleting ido-mode" but as "adding IDO features to the standard completion system", IOW spreading IDO's gospel further. Here as some examples of the corner cases supported by the standard completion system and that IDO currently doesn't cover, AFAICT: - C-x C-f by default can complete env vars, e.g. when you type C-x C-f $HOM TAB - C-x C-f ${HOM TAB will not only complete the "E" but will also close the "}", at least if there's no other env var starting with "HOME". - IDO doesn't support some completion styles such as `partial-completion` E.g. C-x C-f ~/e/s/r-e.c TAB to find the ~/emacs/src/regex-emacs.c file. - By default IDO only covers minibuffer completion of files and buffers. ido-completing-read makes it cover all minibuffer completions, but there's still no support for in-buffer completion. - the *Completions* buffer (and icomplete-mode's in-buffer list of completions [tho I now notice that some of the highlighting is lost in some cases, looks like a bug]) highlights the parts of the candidates that matched the pattern, as well as the place that correspond to where "point" is. Stefan ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 14:09 ` Stefan Monnier @ 2019-11-07 20:35 ` Óscar Fuentes 2019-11-07 21:11 ` Stefan Monnier 0 siblings, 1 reply; 36+ messages in thread From: Óscar Fuentes @ 2019-11-07 20:35 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: [snip text which I fully agree with] > There are 2 ways to do that: > 1- improve ido.el > 2- write a replacement > > Both approaches are valid. Experience shows that approach number 2 has > been more popular. AFAIK only Ivy was created as a replacement for Ido+extensions. > Personally, I don't use IDO so I'm not particularly > interested in either approach's goal, but I do like some of IDO's > features, so I'm interested in solutions that result in a closer > integration of the "normal" completion code and IDO so I get to use > some the features I like without being forced to buy into the ones I > don't. > > That's why I wrote the `substring` completion style (which, together > with icomplete-mode (plus a few tweaks) made iswitchb obsolete, but more > importantly, it brought that feature to all users in the default config). > > IOW, I don't see fido-mode as "obsoleting ido-mode" but as "adding IDO > features to the standard completion system", IOW spreading IDO's > gospel further. I thought it was Ido who made iswitchb obsolete ;-) but I get your point about expanding the capabilities of the default method to cater the needs of more users. Just to clarify, it is great to see João working on this. As for the future of Ido, I'm not terribly afraid: supposing it is obsoleted and the replacement does not fit my needs, the solution is obvious and not all that painful. > Here as some examples of the corner cases supported by the standard > completion system and that IDO currently doesn't cover, AFAICT: > - C-x C-f by default can complete env vars, e.g. when you type C-x C-f $HOM TAB > - C-x C-f ${HOM TAB will not only complete the "E" but will also close > the "}", at least if there's no other env var starting with "HOME". > - IDO doesn't support some completion styles such as `partial-completion` > E.g. C-x C-f ~/e/s/r-e.c TAB to find the ~/emacs/src/regex-emacs.c file. > - By default IDO only covers minibuffer completion of files and buffers. > ido-completing-read makes it cover all minibuffer completions, but > there's still no support for in-buffer completion. > - the *Completions* buffer (and icomplete-mode's in-buffer list of > completions [tho I now notice that some of the highlighting is lost in > some cases, looks like a bug]) highlights the parts of the candidates > that matched the pattern, as well as the place that correspond to where > "point" is. Good, but keep in mind that different approaches to completion can make some of the above moot. Take the *Completions* buffer, for example. On my Ido config, there is visual feedback about the parts of the candidate strings that matches the query and they are shown on a multi-column format that is dense and readable at the same time, IMO. As I mentioned on a previous message, there is more than one way to skin a cat. Having a powerful and flexible (*) default completion method is great, but other approaches perhaps require things that does not fit with whatever framework you can provide. * There is a tendency on modern software towards dumbing-down things, for a good reason, but IMAO Emacs should not do down that path. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 20:35 ` Óscar Fuentes @ 2019-11-07 21:11 ` Stefan Monnier 2019-11-07 22:18 ` Óscar Fuentes 0 siblings, 1 reply; 36+ messages in thread From: Stefan Monnier @ 2019-11-07 21:11 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > On my Ido config, there is visual feedback about the parts of the candidate > strings that matches the query and they are shown on a multi-column > format that is dense and readable at the same time, IMO. Great, I wasn't aware that it had been implemented for IDO. > As I mentioned on a previous message, there is more than one way to skin > a cat. Having a powerful and flexible (*) default completion method is > great, but other approaches perhaps require things that does not fit > with whatever framework you can provide. Definitely. Emacs makes it particularly easy to experiment this way and develop solutions tuned for very specific situations. IDO is a great such example. The number of "completion frameworks" out there for Emacs is another example. I see the task of Emacs maintainers as trying to consolidate those "branches" of functionality so that their features can be used in more circumstances. Usually that only applies to some parts of the functionality they offer, and very often it requires a complete rewrite of those features. The hardest part is often how to retrofit the "generic implementation" of a feature into the package which originally first provided this feature in an "ad-hoc" way, since as a general rule the generic implementation isn't a perfect match. Stefan ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 21:11 ` Stefan Monnier @ 2019-11-07 22:18 ` Óscar Fuentes 2019-11-07 22:30 ` Stefan Monnier 2019-11-07 22:34 ` João Távora 0 siblings, 2 replies; 36+ messages in thread From: Óscar Fuentes @ 2019-11-07 22:18 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> On my Ido config, there is visual feedback about the parts of the candidate >> strings that matches the query and they are shown on a multi-column >> format that is dense and readable at the same time, IMO. > > Great, I wasn't aware that it had been implemented for IDO. As an extension, yes. Below is my Ido-related config. It extends Ido completion to almost all Emacs, activates flx and changes the way candidates are displayed. Those customizations replace Ido's candidate-handling algorithm and dramatically alters its UI. So much for an unintelligible package :-) (setq ido-save-directory-list-file nil) (put 'tmm-menubar 'ido 'ignore) (require 'ido-hacks) (ido-hacks-mode) (ido-mode 1) (ido-everywhere) (setq ido-enable-tramp-completion nil) (setq ido-auto-merge-work-directories-length -1) (setq ido-enable-flex-matching t) (require 'flx-ido) (flx-ido-mode 1) ;; disable ido faces to see flx highlights. (setq ido-use-faces nil) (setq flx-ido-threshold 20000) (require 'ido-grid-mode) (ido-grid-mode 1) (setq ido-grid-mode-prefix-scrolls t) >> As I mentioned on a previous message, there is more than one way to skin >> a cat. Having a powerful and flexible (*) default completion method is >> great, but other approaches perhaps require things that does not fit >> with whatever framework you can provide. > > Definitely. Emacs makes it particularly easy to experiment this way and > develop solutions tuned for very specific situations. IDO is a great > such example. The number of "completion frameworks" out there for Emacs > is another example. > > I see the task of Emacs maintainers as trying to consolidate those > "branches" of functionality so that their features can be used in > more circumstances. Usually that only applies to some parts of the > functionality they offer, and very often it requires a complete rewrite > of those features. > > The hardest part is often how to retrofit the "generic implementation" > of a feature into the package which originally first provided this > feature in an "ad-hoc" way, since as a general rule the generic > implementation isn't a perfect match. What you say is very reasonable but sometimes this task is not worth the trouble (I'm not claiming that it's the case for fido-mode). There is always a tension among specifics and generalities. Sometimes it is irreconcilable. I don't see VC ever providing a better Magit than Magit itself and Magit would never come to existence if Marius insisted on implemeting it inside VC, simply because Magit has the goal of being the best UI for git and VC has the goal of being the best generic VCS UI. Does it make sense to expand Emacs' functions towards unifying those packages? Not at all, because they are only related on a superficial way. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 22:18 ` Óscar Fuentes @ 2019-11-07 22:30 ` Stefan Monnier 2019-11-07 22:34 ` João Távora 1 sibling, 0 replies; 36+ messages in thread From: Stefan Monnier @ 2019-11-07 22:30 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel > Those customizations replace Ido's candidate-handling algorithm and > dramatically alters its UI. So much for an unintelligible package :-) I don't think it's unintelligible. It's just difficult to make it interact with the existing "standard" completion code because it's structured fairly differently. So it's hard to make use if ido code in the standard UI and vice-versa. > What you say is very reasonable but sometimes this task is not worth the > trouble Not sure what "this task" refers to. If it refers to the retrofitting, I fully agree. If it refers to making (some of) the features more widely available (potentially by re-implementing them), then I generally disagree. Stefan ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 22:18 ` Óscar Fuentes 2019-11-07 22:30 ` Stefan Monnier @ 2019-11-07 22:34 ` João Távora 1 sibling, 0 replies; 36+ messages in thread From: João Távora @ 2019-11-07 22:34 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 580 bytes --] > So much for an unintelligible package :-) Hey, versus 600 lines of a package that plays along with every part of Emacs I can name, yes, it's unintelligible. Which is not to say it isn't great. But I can say that I had a long list of ido hacks myself (for imenu, for completion-at-point, etc). Even SLY in some situations falls back to ido when it doesn't find anything else. Don't knock me, I'm was a fellow IDOer for a long long time. I hope you or someone can bring all that neat stuff to Emacs so it can be shared with other completion frontends. João [-- Attachment #2: Type: text/html, Size: 835 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 23:21 ` Ergus 2019-11-06 23:59 ` Óscar Fuentes @ 2019-11-07 0:27 ` João Távora 2019-11-07 1:09 ` Ergus 1 sibling, 1 reply; 36+ messages in thread From: João Távora @ 2019-11-07 0:27 UTC (permalink / raw) To: Ergus; +Cc: Drew Adams, emacs-devel Ergus <spacibba@aol.com> writes: > Thanks for the answer it is very clarifying for me now. Maybe you should > add all this information somewhere in the documentation. *all* this informatino is a bit much, don't you think, but there is already documentation. > I actually have very strong feelings behind ido in 2019 (I know I am a > sort of apostate for this). But I think it is something that needs to be > removed/deprecated/substituted for the good of newer alternatives like The idea of fido-mode is indeed to obsolete ido mode. But it's still a bit far away. And removing is yet another matter: i don't think there's any harm in having ido. Of course, if fido-mode ever becomes a perfect superset of ido, and removing it proves mostly harmless, OK I guess. > The intention is to move the users to the newer functionalities so they > can get the best possible first impression. I agree with this. But I don't agree with the "newer" = "best possible". These things take time to settle and one of the strong points of Emacs is, paradoxically, its resistance to change. Its like a movie theater where there are only classics playing. Lots of grainy footage but all movies are superb. > I think Abo-abo actually tried to modify ido to improve it and he > finally ended implementing ivy... was easier that way. And I found icomplete.el, which is already in Emacs. > I will pray you to do the same for ivy... please please... Well, I did very little. The author did all the work. I and Stefan helped (mostly Stefan in the last part). The evolution is registered here https://github.com/emacs-helm/helm/issues/2165. You can point Ivy's author to this thread. > think ivy is now much better integrated than helm before, but for sure > there will be things missing you could help to improve. >>still annoyingly (and legitimately) there, and we can't just change >>icomplete-mode's defaults like that. >> > I have never used icomplete... so I don't know what ido provides that > icomplete can't. So where is the gap? Is a part of the gap fixed in helm > or ivy for example? You are miscommunicating: the "gap" is whatever doesn't quite work in icomplete-mode to make it work just like ido-mode. It's the behaviour of RET, C-k, C-d and some other things. > Maybe this paragraph should go in the manual in the ido section > suggesting to switch to fido in order to improve fido as much as > possible and deprecate the actual ido implementation in the future... (I > have a dream, please don't burn me for this "A man can dream... a man > can dream") There's already a paragraph in the manual. An alternative to Icomplete mode is Fido mode. This is very similar to Icomplete mode, but retains some functionality from a popular extension called Ido mode (in fact the name is derived from “Fake Ido”). Among other things, in Fido mode, ‘C-s’ and ‘C-r’ are also used to rotate the completions list, ‘C-k’ can be used to delete files and kill buffers in-list. Another noteworthy aspect is that ‘flex’ is used as the default completion style (*note Completion Styles::). ‘ To enable Fido mode, type ‘M-x fido-mode’, or customize the variable fido-mode’ to ‘t’ (*note Easy Customization::). I also put something in NEWS. You (or anyone else) can propose changes it, if you want. I put it in the icomplete section because it's really very closely related to icomplete-mode. Maybe I could add a reference to the ido-mode manual (just discovered it exists). Don't know how to do inter-manual references, though, this one is emacs/buffers.texi the other is misc/ido.texi. João ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 0:27 ` João Távora @ 2019-11-07 1:09 ` Ergus 2019-11-07 10:39 ` João Távora 0 siblings, 1 reply; 36+ messages in thread From: Ergus @ 2019-11-07 1:09 UTC (permalink / raw) To: João Távora; +Cc: Drew Adams, emacs-devel On Thu, Nov 07, 2019 at 12:27:48AM +0000, João Távora wrote: >Ergus <spacibba@aol.com> writes: > >> Thanks for the answer it is very clarifying for me now. Maybe you should >> add all this information somewhere in the documentation. > >*all* this informatino is a bit much, don't you think, but there is > already documentation. > >> I actually have very strong feelings behind ido in 2019 (I know I am a >> sort of apostate for this). But I think it is something that needs to be >> removed/deprecated/substituted for the good of newer alternatives like > >The idea of fido-mode is indeed to obsolete ido mode. But it's still a >bit far away. And removing is yet another matter: i don't think there's >any harm in having ido. Of course, if fido-mode ever becomes a perfect >superset of ido, and removing it proves mostly harmless, OK I guess. > Yes, I know >> The intention is to move the users to the newer functionalities so they >> can get the best possible first impression. > >I agree with this. But I don't agree with the "newer" = "best >possible". These things take time to settle and one of the strong >points of Emacs is, paradoxically, its resistance to change. Its like a >movie theater where there are only classics playing. Lots of grainy >footage but all movies are superb. > Yes, but nobody feels impressed by the special effects in the first Star Wars today, in spite of they were amazing in their moment and required much more effort than newer movies. My point is that many new functionalities are implemented for a reason and hide or limit them because of backward compatibility is senseless. >> I think Abo-abo actually tried to modify ido to improve it and he >> finally ended implementing ivy... was easier that way. > >And I found icomplete.el, which is already in Emacs. > ivy is also based on icomplete actually. >> I will pray you to do the same for ivy... please please... > >Well, I did very little. The author did all the work. I and Stefan >helped (mostly Stefan in the last part). The evolution is registered >here https://github.com/emacs-helm/helm/issues/2165. > >You can point Ivy's author to this thread. > I done. >> think ivy is now much better integrated than helm before, but for sure >> there will be things missing you could help to improve. > >>>still annoyingly (and legitimately) there, and we can't just change >>>icomplete-mode's defaults like that. >>> >> I have never used icomplete... so I don't know what ido provides that >> icomplete can't. So where is the gap? Is a part of the gap fixed in helm >> or ivy for example? > >You are miscommunicating: the "gap" is whatever doesn't quite work in >icomplete-mode to make it work just like ido-mode. It's the behaviour >of RET, C-k, C-d and some other things. > Could you add at least the cycle with arrows as in ido? >> Maybe this paragraph should go in the manual in the ido section >> suggesting to switch to fido in order to improve fido as much as >> possible and deprecate the actual ido implementation in the future... (I >> have a dream, please don't burn me for this "A man can dream... a man >> can dream") > >There's already a paragraph in the manual. > > An alternative to Icomplete mode is Fido mode. This is very similar > to Icomplete mode, but retains some functionality from a popular > extension called Ido mode (in fact the name is derived from “Fake Ido”). > Among other things, in Fido mode, ‘C-s’ and ‘C-r’ are also used to > rotate the completions list, ‘C-k’ can be used to delete files and kill > buffers in-list. Another noteworthy aspect is that ‘flex’ is used as > the default completion style (*note Completion Styles::). > ‘ > To enable Fido mode, type ‘M-x fido-mode’, or customize the variable > fido-mode’ to ‘t’ (*note Easy Customization::). > >I also put something in NEWS. > >You (or anyone else) can propose changes it, if you want. I put it in >the icomplete section because it's really very closely related to >icomplete-mode. Maybe I could add a reference to the ido-mode manual >(just discovered it exists). > >Don't know how to do inter-manual references, though, this one is >emacs/buffers.texi the other is misc/ido.texi. > I don;t know if it is possible; but it should be, otherwise at least mention it in the other. >João Best, Ergus ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 1:09 ` Ergus @ 2019-11-07 10:39 ` João Távora 2019-11-07 15:00 ` Ergus 0 siblings, 1 reply; 36+ messages in thread From: João Távora @ 2019-11-07 10:39 UTC (permalink / raw) To: Ergus; +Cc: Drew Adams, emacs-devel Ergus <spacibba@aol.com> writes: >>movie theater where there are only classics playing. Lots of grainy >>footage but all movies are superb. > Yes, but nobody feels impressed by the special effects in the first Star > Wars today, in spite of they were amazing in their moment and required > much more effort than newer movies. I'm glad I made the analogy, then. I am more interested in cinema than special effects. Metaphoricaly, of course. (but also literally). >>And I found icomplete.el, which is already in Emacs. > ivy is also based on icomplete actually. Oh. What do you mean "based". Does it share some of the implementation (i.e. does it 'require' icomplete as a library). Or is it more of "a derived work"? >>You are miscommunicating: the "gap" is whatever doesn't quite work in >>icomplete-mode to make it work just like ido-mode. It's the behaviour >>of RET, C-k, C-d and some other things. > Could you add at least the cycle with arrows as in ido? Of course, and so can you. Have you got a FSF copyright assignment? João ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-07 10:39 ` João Távora @ 2019-11-07 15:00 ` Ergus 0 siblings, 0 replies; 36+ messages in thread From: Ergus @ 2019-11-07 15:00 UTC (permalink / raw) To: João Távora; +Cc: Drew Adams, emacs-devel On Thu, Nov 07, 2019 at 10:39:44AM +0000, Jo?o T?vora wrote: >Ergus <spacibba@aol.com> writes: > >>>movie theater where there are only classics playing. Lots of grainy >>>footage but all movies are superb. >> Yes, but nobody feels impressed by the special effects in the first Star >> Wars today, in spite of they were amazing in their moment and required >> much more effort than newer movies. > >I'm glad I made the analogy, then. I am more interested in cinema than >special effects. Metaphoricaly, of course. (but also literally). > >>>And I found icomplete.el, which is already in Emacs. >> ivy is also based on icomplete actually. > >Oh. What do you mean "based". Does it share some of the implementation >(i.e. does it 'require' icomplete as a library). Or is it more of "a >derived work"? > It is a derived work. Look: https://github.com/abo-abo/swiper/issues/2321 >>>You are miscommunicating: the "gap" is whatever doesn't quite work in >>>icomplete-mode to make it work just like ido-mode. It's the behaviour >>>of RET, C-k, C-d and some other things. >> Could you add at least the cycle with arrows as in ido? > >Of course, and so can you. Have you got a FSF copyright assignment? > Yes, I have one... but I prefer to deal with the C side of emacs... ;-). >Jo?o > > Ergus ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-06 22:03 ` João Távora 2019-11-06 22:39 ` Óscar Fuentes 2019-11-06 23:21 ` Ergus @ 2019-11-08 17:54 ` Filipp Gunbin 2019-11-08 18:10 ` Óscar Fuentes ` (2 more replies) 2 siblings, 3 replies; 36+ messages in thread From: Filipp Gunbin @ 2019-11-08 17:54 UTC (permalink / raw) To: João Távora; +Cc: Ergus, Drew Adams, emacs-devel On 06/11/2019 22:03 +0000, João Távora wrote: > Ergus <spacibba@aol.com> writes: > >> 1) Do we really need another confusing mode (fido-mode)? instead of >> improve one of the already existing alternatives with just an option to >> use flex? > > I'm sorry you find the name confusing. I find it appealing (it's "fake > ido"), but we can change it (Stefan proposed icomplete-ido-mode). +1 for the name change, because Fido was a pre-Internet-era BBS network popular at least in Russia. I was too young when it was operational, but even for me the name would be confusing. Filipp ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-08 17:54 ` Filipp Gunbin @ 2019-11-08 18:10 ` Óscar Fuentes 2019-11-08 18:45 ` Nicolas Semrau 2019-11-08 19:12 ` Eli Zaretskii 2 siblings, 0 replies; 36+ messages in thread From: Óscar Fuentes @ 2019-11-08 18:10 UTC (permalink / raw) To: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > +1 for the name change, because Fido was a pre-Internet-era BBS network > popular at least in Russia. I was too young when it was operational, > but even for me the name would be confusing. Sadly, I'm not as young as you are and I was a Fido (Fidonet) user until the Internet became pervasive. FWIW I don't think that the name is problematic at all. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-08 17:54 ` Filipp Gunbin 2019-11-08 18:10 ` Óscar Fuentes @ 2019-11-08 18:45 ` Nicolas Semrau 2019-11-08 19:12 ` Eli Zaretskii 2 siblings, 0 replies; 36+ messages in thread From: Nicolas Semrau @ 2019-11-08 18:45 UTC (permalink / raw) To: Filipp Gunbin, João Távora; +Cc: Ergus, Drew Adams, emacs-devel > ---------------------------------------- > From: Filipp Gunbin <fgunbin@fastmail.fm> > Sent: Fri Nov 08 18:54:00 CET 2019 > To: João Távora <joaotavora@gmail.com> > Cc: Ergus <spacibba@aol.com>, Drew Adams <drew.adams@oracle.com>, <emacs-devel@gnu.org> > Subject: Re: Why fido, icycles, ido, icomplete > > > On 06/11/2019 22:03 +0000, João Távora wrote: > > > Ergus <spacibba@aol.com> writes: > > > >> 1) Do we really need another confusing mode (fido-mode)? instead of > >> improve one of the already existing alternatives with just an option to > >> use flex? > > > > I'm sorry you find the name confusing. I find it appealing (it's "fake > > ido"), but we can change it (Stefan proposed icomplete-ido-mode). > > +1 for the name change, because Fido was a pre-Internet-era BBS network > popular at least in Russia. I was too young when it was operational, > but even for me the name would be confusing. > > Filipp > I agree. Since the "FidoNet" service (often shortened to "Fido") was popular in at least a few European countries during the 80s/90s, I was flabbergasted for a second to read that a new fido-mode is being added. I therefore +1 a name-change. Greetings Nicolas ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-08 17:54 ` Filipp Gunbin 2019-11-08 18:10 ` Óscar Fuentes 2019-11-08 18:45 ` Nicolas Semrau @ 2019-11-08 19:12 ` Eli Zaretskii 2019-11-08 21:31 ` Juanma Barranquero 2 siblings, 1 reply; 36+ messages in thread From: Eli Zaretskii @ 2019-11-08 19:12 UTC (permalink / raw) To: Filipp Gunbin; +Cc: spacibba, joaotavora, drew.adams, emacs-devel > From: Filipp Gunbin <fgunbin@fastmail.fm> > Date: Fri, 08 Nov 2019 20:54:00 +0300 > Cc: Ergus <spacibba@aol.com>, Drew Adams <drew.adams@oracle.com>, > emacs-devel@gnu.org > > +1 for the name change, because Fido was a pre-Internet-era BBS network > popular at least in Russia. I was too young when it was operational, > but even for me the name would be confusing. FWIW, I know what Fido was, but I don't find the name fido-mode problematic in any sense. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-08 19:12 ` Eli Zaretskii @ 2019-11-08 21:31 ` Juanma Barranquero 2019-11-08 22:54 ` João Távora 0 siblings, 1 reply; 36+ messages in thread From: Juanma Barranquero @ 2019-11-08 21:31 UTC (permalink / raw) To: Eli Zaretskii Cc: spacibba, Filipp Gunbin, joaotavora, Drew Adams, Emacs developers [-- Attachment #1: Type: text/plain, Size: 110 bytes --] I'm another dinosaur from the Fido Age, but I don't find fido-mode confusing at all. Amusing is more like it. [-- Attachment #2: Type: text/html, Size: 139 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-08 21:31 ` Juanma Barranquero @ 2019-11-08 22:54 ` João Távora 2019-11-08 23:11 ` Ergus 0 siblings, 1 reply; 36+ messages in thread From: João Távora @ 2019-11-08 22:54 UTC (permalink / raw) To: Juanma Barranquero Cc: Eli Zaretskii, Filipp Gunbin, Ergus, Drew Adams, Emacs developers On Fri, Nov 8, 2019 at 9:32 PM Juanma Barranquero <lekktu@gmail.com> wrote: > > I'm another dinosaur from the Fido Age, but I don't find fido-mode confusing at all. Amusing is more like it. I also used BBS's and Fido (and RIME). But I wasn't thinking of them at all forgot all about them when I made up the name. I was thinking about the black-and-white cartoon guy from the 7up ad. I'm also pretty sure there is some dog named Fido. João ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: Why fido, icycles, ido, icomplete 2019-11-08 22:54 ` João Távora @ 2019-11-08 23:11 ` Ergus 0 siblings, 0 replies; 36+ messages in thread From: Ergus @ 2019-11-08 23:11 UTC (permalink / raw) To: João Távora Cc: Juanma Barranquero, Eli Zaretskii, Filipp Gunbin, Drew Adams, Emacs developers Hi: I am a bit younger probably (or got internet very late in my live) so fido is fine for me. In any case I am more interested about functionality than about a name. On Fri, Nov 08, 2019 at 10:54:43PM +0000, Jo�o T�vora wrote: >On Fri, Nov 8, 2019 at 9:32 PM Juanma Barranquero <lekktu@gmail.com> wrote: >> >> I'm another dinosaur from the Fido Age, but I don't find fido-mode confusing at all. Amusing is more like it. > >I also used BBS's and Fido (and RIME). But I wasn't thinking of them at all >forgot all about them when I made up the name. > >I was thinking about the black-and-white cartoon guy from the 7up ad. > >I'm also pretty sure there is some dog named Fido. > >Jo�o > ^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2019-11-08 23:11 UTC | newest] Thread overview: 36+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20191106212018.cnddqzlo5rpdhi6s.ref@Ergus> 2019-11-06 21:20 ` Why fido, icycles, ido, icomplete Ergus 2019-11-06 21:30 ` Daniele Nicolodi 2019-11-06 22:27 ` Ergus 2019-11-06 22:03 ` João Távora 2019-11-06 22:39 ` Óscar Fuentes 2019-11-06 22:57 ` João Távora 2019-11-06 23:07 ` Óscar Fuentes 2019-11-07 0:36 ` João Távora 2019-11-07 1:07 ` Óscar Fuentes 2019-11-07 1:21 ` Ergus 2019-11-07 1:51 ` Óscar Fuentes 2019-11-07 10:09 ` João Távora 2019-11-07 18:50 ` Óscar Fuentes 2019-11-06 23:21 ` Ergus 2019-11-06 23:59 ` Óscar Fuentes 2019-11-07 0:47 ` Ergus 2019-11-07 2:20 ` Óscar Fuentes 2019-11-07 4:59 ` Ergus 2019-11-07 18:26 ` Óscar Fuentes 2019-11-07 14:09 ` Stefan Monnier 2019-11-07 20:35 ` Óscar Fuentes 2019-11-07 21:11 ` Stefan Monnier 2019-11-07 22:18 ` Óscar Fuentes 2019-11-07 22:30 ` Stefan Monnier 2019-11-07 22:34 ` João Távora 2019-11-07 0:27 ` João Távora 2019-11-07 1:09 ` Ergus 2019-11-07 10:39 ` João Távora 2019-11-07 15:00 ` Ergus 2019-11-08 17:54 ` Filipp Gunbin 2019-11-08 18:10 ` Óscar Fuentes 2019-11-08 18:45 ` Nicolas Semrau 2019-11-08 19:12 ` Eli Zaretskii 2019-11-08 21:31 ` Juanma Barranquero 2019-11-08 22:54 ` João Távora 2019-11-08 23:11 ` Ergus
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).