![[Home]](https://www.emacswiki.org/images/logo218x38.png)
| Previous: Icicles - Note to Programmers | Icicles | IciclesIndex | Next: Icicles - pop-up-frames on MS Windows |
1. elect-mbuf.el
Library icicles.el started out life as library `elect-mbuf.el’, by Hans Koomen.
Original posting: From koomen@cs.rochester.edu Mon Jun 19 19:27:58 1989 To: info-gnu-emacs@prep.ai.mit.edu Cc: Hans <Koomen@cs.rochester.edu> Subject: elect-mbuf.el Date: Tue, 13 Jun 89 15:17:07 -0400
2. Minor enhancements
I hacked and enhanced the library in various relatively minor ways over the years, maintaining it as `elect-mbuf.el’. I did not change the main functionality of the library during this period: it always cycled the complete list of (basic prefix) completion candidates passed to ‘completing-read’; it did not update the candidate list based on the current minibuffer contents.
So, for instance, if you had ‘M-x for’ in the minibuffer, ‘down’ would cycle among all Emacs commands, not just those that start with “for”. I used the library this way for fifteen years without thinking much about this behavior or the code behind it.
3. Use the current input
In July 2005, LennartBorgman gave `elect-mbuf.el’ a quick try, and intuitively expected to see behavior along the lines that you see now for Icicles basic prefix completion:
‘down’ should cycle completions relative to the current input, not all completions supplied to ‘completing-read’.‘*Completions*’ is displayed, ‘down’ should highlight the current candidate there.Good idea Lennart. So I implemented that behavior, and renamed the library Icicles (for, I suppose, “input cycles” or some such – or because it’s cool ;-)).
4. Apropos completion
The code changes I made to implement #3 (completion cycling relative to current input) made me realize that other completion matchings could be implemented in a similar way. Basic prefix completion (the only completion provided by Emacs at the time) is handy, but it is also sometimes a bit limited. The idea of apropos completion occurred to me, and I implemented that as well.
5. File names and more
I extended the library quite a bit more, in terms of convenience (highlighting, treatment of buffer ‘*Completions*’,…, but also in terms of functionality. In particular, it now treats file names too. And, because Emacs 21 and later versions use ‘read-file-name’ for ‘find-file’ and so on, Icicles now treats ‘read-file-name’ the same as ‘completing-read’.
6. Delete Selection mode
On another suggestion from LennartBorgman, I made Icicles take advantage of Delete Selection mode. And I implemented it as a minor mode.
7, 8, 9,… On Beyond Zebra
One thing has led to another, and I’ve just kept adding features. Feature creep, I guess. But the more I play with Icicles, the more I imagine new ways it might be made more useful.
| Previous: Icicles - Note to Programmers | Icicles | IciclesIndex | Next: Icicles - pop-up-frames on MS Windows |
DrewsElispLibraries referenced here: Lisp:icicles.el
CategoryCommands CategoryCompletion CategoryRegexp CategoryDirectories CategoryFiles CategoryCode