The changes in 3ca7337 used a feature added in Emacs 24, making ido-ubiquitous v1.4 incompatibile with Emacs 23 and earlier. Breaking legacy compatibility was not intended, so this change restores proper support for those earlier versions of emacs. Fixes DarwinAwardWinner#5
When both a default and an intial input are provided to ido, ido places the point at the beginning of the input instead of at the end. This advice works around the bug by preprocessing the arguments to "ido-completing-read". If an initial input is provided and the default is non-nil, we simply move the default item to the head of the choice list, and then set the default to nil. Note that this tweak is only applied when ido is used via the ido-ubiquitous wrapper, so any direct calls to ido-completing-read should be unaffected. Fixes issue #18 in ido-ubiquitous.
Just replacing some code with equivalent clearer code.
This is the function used by "switch-to-buffer", which is the function originally bound to C-x C-b before ido is enabled. It is used as a non-ido fallback when pressing C-b inside "ido-switch-buffer", so allowing ido to work in it doesn't make sense, even though technically it works just fine.
No user-visible changes
This adds two new custom variables: "ido-ubiquitous-command-compatibility-exceptions" and "ido-ubiquitous-function-compatibility-exceptions", which are analogous to the two existing exception lists, only for compatibility mode.
Now compatibilty is only activated if the current call to "ido-completing-read" was done through the ido-ubiquitous wrapper "completing-read-ido". The new implementation now also works with recursive minibuffers. This *should* fix both #16 and #17, which I previously thought might be mutually exclusive.
Emacs has a variable called "completing-read-function" that holds a function that "completing-read" will dispatch to. ido-ubiquitous now sets this function rather than defining advice on "completing-read". This makes it less invasive, and as a bonus it makes ido-ubiquitous compatible with recursive minibuffers (previously, recursive minibuffer usage resulted in regular completing-read being used.)
No user-visible changes, only under-the-hood ones.
Fixes #17. Breaks #16 again, but that can't be helped. This reverts commit f327ce0.
Now ido the compatibility mode is allowed even when "require-match" is nil. Fixes #16.
It is now annotated as a boolean and assigned to the ido-ubiquitous group. The docstring is also improved.
# Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # Your branch is ahead of 'origin/master' by 2 commits. # # Changes to be committed: # # modified: ido-ubiquitous.el #
# Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # # Changes to be committed: # # modified: ido-ubiquitous.el #
Gnus already has support for ido, and ido completion conflicts with Gnus' normal completing-read-based function. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # Changes to be committed: # # modified: ido-ubiquitous.el # # Changes not staged for commit: # # modified: ido-ubiquitous.el #