Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

8800 lines (8784 sloc) 507.259 kb
;;; icicles-chg.el --- Change logs for Icicles libraries.
;;
;; Filename: icicles-chg.el
;; Description: Change logs for Icicles libraries.
;; Author: Drew Adams
;; Maintainer: Drew Adams
;; Copyright (C) 2007-2012, Drew Adams, all rights reserved.
;; Created: Tue Nov 27 07:47:53 2007
;; Version: 22.0
;; Last-Updated: Fri Jan 20 17:37:42 2012 (-0800)
;; By: dradams
;; Update #: 7842
;; URL: http://www.emacswiki.org/cgi-bin/wiki/icicles-chg.el
;; Keywords: extensions, help, abbrev, local, minibuffer,
;; keys, apropos, completion, matching, regexp, command
;; Compatibility: GNU Emacs: 20.x, 21.x, 22.x, 23.x
;;
;; Features that might be required by this library:
;;
;; None
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; Commentary:
;;
;; Change logs for Icicles libraries.
;;
;; This file consolidates the change logs for all Icicles libraries.
;; It contains no code.
;;
;; Libraries `icicles-doc1.el' and `icicles-doc2.el' contain only
;; documentation, and they do not have change logs. Initially,
;; everything was in one library, `icicles.el', so its change log is
;; the oldest.
;;
;; ****************************************************************************************************
;; NOTE: If you byte-compile Icicles (recommended), then WHENEVER `icicles-mac.el' is updated, you
;; must load `icicles-mac.el' (not just `icicles-mac.elc'), then compile it, then RECOMPILE *ALL*
;; of the other Icicles source files as well. This is normal for Lisp: code that depends on
;; macros needs to be byte-compiled anew after loading the updated macros.
;; ****************************************************************************************************
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;; published by the Free Software Foundation; either version 2, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program; see the file COPYING. If not, write to
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
;; Floor, Boston, MA 02110-1301, USA.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;(@> "Index")
;;
;; If you have library `linkd.el' and Emacs 22 or later, load
;; `linkd.el' and turn on `linkd-mode' now. It lets you easily
;; navigate around the sections of this doc. Linkd mode will
;; highlight this Index, as well as the cross-references and section
;; headings throughout this file. You can get `linkd.el' here:
;; http://dto.freeshell.org/notebook/Linkd.html.
;;
;; (@> "CHANGE LOG FOR `icicles-cmd1.el'")
;; (@> "CHANGE LOG FOR `icicles-cmd2.el'")
;; (@> "CHANGE LOG FOR `icicles-face.el'")
;; (@> "CHANGE LOG FOR `icicles-fn.el'")
;; (@> "CHANGE LOG FOR `icicles-mac.el'")
;; (@> "CHANGE LOG FOR `icicles-mcmd.el'")
;; (@> "CHANGE LOG FOR `icicles-mode.el'")
;; (@> "CHANGE LOG FOR `icicles-opt.el'")
;; (@> "CHANGE LOG FOR `icicles-var.el'")
;; (@> "CHANGE LOG FOR `icicles.el'")
;; (@> "CHANGE LOG FOR `icicles-cmd.el'" - Deprecated file)
;;;(@* "CHANGE LOG FOR `icicles-cmd1.el'")
;;
;; 2012/01/20 dadams
;; icicle-bookmark-*-tags(-other-window): Pass prefix arg to bmkp-read-tags-completing, to refresh.
;; 2012/01/15 dadams
;; icicle-bookmark-set: Added missing quote mark for (icicle-)bookmark-history.
;; 2012/01/14 dadams
;; Added: icicle-zap-to-char.
;; 2012/01/08 dadams
;; Added: icicle-yank-pop-commands, icicle-bookmark-bind-narrow-commands,
;; icicle-bookmark-(autofile|autonamed(-this-buffer)|file-this-dir|temporary)-narrow.
;; Soft-require second-sel.el.
;; icicle-bookmark-set: Mention narrowing in doc string.
;; icicle-bookmark: Suggest in doc string to refresh cache if error.
;; Added C-x j bindings to doc string: a, C-f, x, # ., # #.
;; icicle-bookmark(-set|-other-window): Use icicle-bookmark-bind-narrow-commands.
;; icicle-bookmark-*-narrow:
;; Use icicle-transform-multi-completion, not funcall icicle-get-alist-candidate-function.
;; icicle-completing-yank: Add prefix arg behavior: use secondary-selection-ring. Update doc.
;; Add alt action of copying to other selection ring.
;; icicle-yank-maybe-completing: Bind current-prefix-arg to nil around icicle-completing-yank.
;; 2011/12/19 dadams
;; icicle-find-file-absolute(-other-window): Do not insert default directory as initial input.
;; icicle-ess-R-complete-object-name: Use line-end-position, not point-at-eol (not in Emacs 20).
;; icicle-bookmark-(cmd|set), icicle-bbdb-complete-name: Use line-(beginning|end)-position.
;; 2011/12/14 dadams
;; Added: icicle-bookmark-bookmark-file-narrow, icicle-bookmark-image-narrow,
;; icicle-bookmark-image(-other-window).
;; icicle-bookmark-set, icicle-bookmark(-other-window):
;; Changed bindings to be the same as top-level jump bindings.
;; Added bindings: icicle-bookmark-bookmark-file-narrow, icicle-bookmark-image-narrow.
;; icicle-bookmark-list:
;; Return bookmarks, not their names, unless prefix arg or icicle-bookmark-list-names-only-p.
;; Bind icicle-unpropertize-completion-result-flag. Use icicle-unpropertize-completion, not
;; icicle-substring-no-properties, so remove only Icicles internal properties.
;; Call bookmark-maybe-load-default-file whether Bookmark+ or not.
;; Use icicle-bookmark-types only for Bookmark+. Use all bookmarks otherwise.
;; 2011/11/23 dadams
;; icicle-locate-file-1: when -> unless icicle-locate-file-use-locate-p.
;; 2011/11/21 dadams
;; icicle-locate-file-1:
;; Do not bind current-prefix-arg, so pick up prefix arg for vanilla Emacs locate cmd.
;; Require locate.el in ignored binding, not first code.
;; No progress message (gathering...) if use external locate cmd.
;; Put prop icicle-fancy-candidates only if not using external locate cmd.
;; icicle-locate: Improved doc string.
;; icicle-find-file-absolute*, icicle-locate-file-1:
;; Bind C-c C-d to icicle-cd-for-(abs|loc)-files (it was mistakenly removed).
;; icicle-(delete|recent)-file, icicle-dired, icicle-find-file(-read-only|-in-tags-table),
;; icicle-(file|directory)-list:
;; Removed mention of C-c C-d in doc string - inappropriate here.
;; 2011/11/13 dadams
;; icicle-locate-file-1: Corrected placement of kill-buffer in unwind-protect.
;; 2011/11/07 dadams
;; icicle-locate-file-1:
;; Use with-current-buffer with locate-buffer-name, to hide switch-to-buffer in locate.
;; 2011/11/06 dadams
;; icicle-locate-file-1: Wrap use of external locate program in save-window-excursion.
;; 2011/11/01 dadams
;; Added: icicle-bookmark-autofile(-other-window),
;; icicle-bookmark-autonamed(-this-buffer)(-other-window), icicle-bookmark-bookmark-file,
;; icicle-bookmark-temporary(-other-window).
;; 2011/10/29 dadams
;; icicle-delete-file: Add icicle-remove-candidate-display-others to action fn. Remove S-delete.
;; 2011/10/21 dadams
;; icicle-remove-entry-from-saved-completion-set: Bind icicle-remove-icicles-props-p to nil.
;; icicle-execute-extended-command-1: Don't bind WAIT-TIME to 0 if CURR-MSG.
;; icicle-(add|remove)-entry-(to|from)-saved-completion-set, icicle-remove-saved-set-action,
;; icicle-execute-extended-command-1, icicle-kmacro-action, icicle-toggle-option,
;; icicle-increment-(option|variable), icicle-find-tag-help, icicle-add-buffer-candidate,
;; icicle-remove-buffer-(candidate|config)-action, icicle-remove-from-recentf-candidate-action,
;; icicle-locate-file-1, icicle-(string|sexp|keyword|face|buffer|bookmark|file|directory)-list:
;; Use icicle-propertize.
;; Applied renaming: icicle-unpropertize -> icicle-unpropertize-completion.
;; 2011/10/10 dadams
;; icicle-define-bookmark-command*: Moved to icicles-mac.el.
;; 2011/10/08 dadams
;; icicle-dired-project*, icicle-bookmark*, icicle*-buffer*: Use icicle-kbd.
;; 2011/10/03 dadams
;; icicle-customize-face: Updated for Emacs 24: Added optional arg OTHER-WINDOW.
;; 2011/09/21 dadams
;; Added: icicle-locate-other-window, icicle-locate-file-use-locate-p. Improved doc string.
;; icicle-locate: Use icicle-locate-file-1 (not icicle-define-command).
;; icicle-locate-file-1: Use locate external program, if non-nil icicle-locate-file-use-locate-p.
;; icicle-(find-file-(absolute|in-tags-table)|recent-file)(-other-window), icicle-locate-file-1,
;; icicle-cd-for-abs-files:
;; Use file-name-as-directory instead of concat with /.
;; 2011/09/18 dadams
;; Added: icicle-sexp-list, icicle-string-list.
;; Moved here from icicles-cmd2.el: icicle-keyword-list.
;; Added: icicle-locate. Thx to Michael Heerdegen.
;; icicle-bookmarked-(buffer|file)-list, icicle-define-add-to-alist-command,
;; icicle-(bookmark|buffer|face|file|directory|regexp|keyword)-list, icicle-add-buffer-config:
;; Bind icicle-prompt.
;; icicle-(bookmark|buffer|face|file|directory|regexp|keyword)-list:
;; Added msg saying Added... when interactive.
;; 2011/09/02 dadams
;; icicle-completing-yank: Put kills in order, respecting kill-ring-yank-pointer.
;; (put 'icicle-completing-yank 'delete-selection 'yank).
;; icicle-insert-for-yank: Set this-command to yank.
;; 2011/08/30 dadams
;; icicle-yank-maybe-completing: Put delete-selection prop, so region is deleted.
;; 2011/08/26 dadams
;; icicle-comint-dynamic-complete-as-filename, icicle-comint-dynamic-simple-complete,
;; icicle-bbdb-complete-name, icicle-explore, icicle-bookmark(-list|-other-window),
;; icicle-define-bookmark-command-1, icicle-find-tag-action,
;; icicle-kill-a-buffer-and-update-completions, icicle-color-theme,
;; icicle-delete-file-or-directory:
;; Use icicle-condition-case-no-debug instead of condition-case. Thx to Michael Heerdegen.
;; Make sure to pass format string as first arg to calls to functions error and message.
;; 2011/08/12 dadams
;; icicle-delete-file, icicle-(file|directory)-list, icicle-(dired|file)*,
;; icicle-find-file(-absolute|-read-only|in-tags-table)*, icicle-(recent|locate)-file*:
;; Use icicle-(un)bind-file-candidate-keys. Don't do/undo such bindings individually here.
;; icicle-find-file-(absolute|in-tags-table)*, icicle-(recent|locate)-file*:
;; Bind icicle-full-cand-fn.
;; icicle-dired-(project|buffer)*: Removed fboundp test of icicle-bookmark-* (just test Bookmark+).
;; 2011/08/11 dadams
;; icicle-find-file-absolute(-other-window):
;; Bind C-x a [+-] to adding/removing tags.
;; 2011/08/09 dadams
;; icicle-define(-file)-command calls: Removed undo code if same as last code, so do not repeat it.
;; 2011/08/07 dadams
;; icicle-(find-file-absolute|recent-file)(-other-window), icicle-locate-file-1,
;; icicle-cd-for-(abs|loc)-files:
;; Bind icicle-abs-file-candidates to the COLLECTION alist (no longer just list of strings).
;; 2011/07/30 dadams
;; Moved to icicles-cmd2.el and wrapped in eval-after-load bookmark+.el:
;; icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-(un)tag-a-file.
;; 2011/07/26 dadams
;; Removed: icicle-list-end-string (no longer needed). Thx to Michael Heerdegen.
;; 2011/05/22 dadams
;; Added defvars for free vars to quiet byte compiler.
;; 2011/05/21 dadams
;; icicle-customize-apropos(-options): let -> let* for interactive form.
;; 2011/04/29 dadams
;; icicle-execute-extended-command(-1), icicle-command-abbrev(-action|-command),
;; icicle-execute-named-keyboard-macro, icicle-increment-(option|variable),
;; icicle-doremi-increment-variable+:
;; Renamed: orig-must-pass-after-match-predicate to icicle-orig-must-pass-after-match-pred,
;; new-last-cmd to icicle-new-last-cmd.
;; 2011/04/25 dadams
;; Commands defined with icicle-define-file-command and using icicle-file-bindings:
;; Remove binding for icicle-candidate-help-fn - done in icicles-mac.el now.
;; 2011/04/13 dadams
;; Fixed autoload cookies for icicle-define-file-command commands added yesterday.
;; 2011/04/12 dadams
;; Added: icicle-bookmark-save-marked-files(-as-project|-more|-persistently|-to-variable),
;; icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-(un)tag-a-file.
;; icicle-bookmark(-list|-set|-other-window|-delete-action), icicle-define-bookmark-command-1:
;; Applied Bookmark+ renaming: bmkp-sort-and-remove-dups -> bmkp-sort-omit.
;; icicle-bookmark-set: Fixed typo: bmkp-light-bookmarks-this-buffer -> bmkp-light-this-buffer.
;; icicle-define-bookmark-command-1: Doc strings now mention corresponding Bookmark+ command.
;; icicle-execute-extended-command-1:
;; Apply icicle-transform-multi-completion to arg. Thx to Michael Heerdegen.
;; 2011/04/04 dadams
;; icicle-bookmark-jump-1, icicle-pop-tag-mark: Use icicle-recenter.
;; 2011/04/02 dadams
;; Added: icicle-bookmark-file-this-dir((-all|some)-tags(-regexp))(-other-window),
;; icicle-locate-file-(action-fn|no-symlinks-p).
;; icicle-kmacro(-action), icicle-clear(-current)-history(-1):
;; Use (new) icicle-pref-arg, not pref-arg.
;; icicle(-kill|-insert)-buffer(-other-window), icicle-default-buffer-names,
;; icicle-filter-buffer-cands-for-mode, icicle-add-buffer-candidate:
;; Use (new) icicle-bufflist, not bufflist.
;; icicle-locate-file(-1|-no-symlinks)(-other-window):
;; Use (new) icicle-locate-file-no-symlinks-p, not no-symlinks-p.
;; 2011/03/31 dadams
;; icicle-search-action-1: Applied renaming: i*-target-window-recenter-amount to icicle-recenter.
;; icicle-customize-apropos-options-of-type: Wrap icicle-var-is-of-type-p with condition-case.
;; 2011/03/29 dadams
;; Use new icicle-* vars for various free vars (orig-buff etc.).
;; 2011/03/26 dadams
;; Added: icicle-bookmark-file-(all|some)-tags(-regexp)(-other-window).
;; 2011/02/22 dadams
;; Added: icicle-lisp-completion-at-point.
;; 2011/01/06 dadams
;; Added: icicle-filter-buffer-cands-for-mode.
;; icicle-(kill|insert)-buffer, icicle-buffer(-other-window), icicle-add-buffer-candidate:
;; Bind C-x M to icicle-filter-buffer-cands-for-mode.
;; 2010/12/26 dadams
;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
;; 2010/12/18 dadams
;; Added more autoload cookies for cmds & macros; removed from non-cmd fns. Thx to Richard Kim.
;; Specify cmd and file for cmds defined by Icicles macros.
;; Require icicles-opt.el before icicles-var.el (but it makes no difference).
;; 2010/11/21 dadams
;; defalias both old-lisp-complete-symbol and (for Emacs 23+) old-lisp-completion-at-point.
;; 2010/11/10 dadams
;; icicle-lisp-complete-symbol: Remove return value. Let it do everything (chg is in ici*mode.el).
;; 2010/11/04 dadams
;; icicle-lisp-complete-symbol: Fixed return value for Emacs 23.2+. Thx to Michael Heerdegen.
;; 2010/11/03 dadams
;; defalias old-lisp-completion-at-point, not old-lisp-complete-symbol, for Emacs 23.2+.
;; icicle-lisp-complete-symbol:
;; Explicitly return nil, for use in completion-at-point-functions (Emacs 23.2+).
;; 2010/10/25 dadams
;; icicle-buffer-list: Use icicle-must-pass-after-match-predicate, not icicle-must-pass-predicate.
;; icicle-directory-list:
;; Bind icicle-file-predicate instead of using PREDICATE arg. No emacs-version limit now.
;; 2010/10/24 dadams
;; icicle-customize-apropos(-faces|-groups|-options(-of-type)), icicle-execute-extended-command,
;; icicle-command-abbrev, icicle-execute-named-keyboard-macro, icicle-(re)set-option-to-(t|nil),
;; icicle-toggle-option, icicle-increment-(option|variable), icicle-doremi-increment-variable+:
;; Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
;; icicle-execute-extended-command-1, icicle-command-abbrev-action,
;; icicle-increment-(option|variable), icicle-doremi-increment-variable+:
;; Restore orginal icicle-must-pass-after-match-predicate.
;; 2010/10/09 dadams
;; icicle-customize-face, icicle-repeat-complex-command, icicle-delete-window:
;; Updated doc string for new prefix and modal cycling keys.
;; 2010/08/27 dadams
;; icicle-pp-display-expression: Set the hooks locally instead of let-binding them, to avoid msg
;; "Making change-major-mode-hook buffer-local while locally
;; let-bound!" - suggestion from Stefan M.
;; 2010/07/20 dadams
;; icicle-find-file-in-tags-table(-other-window):
;; Pick up default-directory of TAGS table. Thx to Chris Hecker.
;; icicle-bookmark-jump-1: Applied renaming of bmkp-use-region-flag to bmkp-use-region.
;; 2010/07/17 dadams
;; Added: icicle-bookmark-url-narrow, icicle-bookmark-url(-other-window).
;; icicle-bookmark(-list|-set|-other-window|-propertize-candidate|-help-string),
;; icicle-define-bookmark-command-1: w3m -> url.
;; Bound URL commands to C-M-u, C-x j u.
;; 2010/07/02 dadams
;; icicle-bookmark-set: Added INTERACTIVEP arg. Prompt for tags when bmkp-prompt-for-tags-flag.
;; Highlight bookmark if bmkp-auto-light-when-set.
;; icicle-bookmark-cmd: Call icicle-bookmark-set with new INTERACTIVEP arg.
;; 2010/06/25 dadams
;; icicle-find-file(-other-window):
;; Use default-directory, not nil, as third arg to read-file-name. Thx to Thomas Lim.
;; Note: This more or less reverts a change I made (why?) on 2008/12/27 (see that, below).
;; 2010/06/18 dadams
;; Renamed: bookmarkp-* to bmkp-*.
;; 2010/06/11 dadams
;; icicle-find-file-absolute*, icicle-recent-file*, icicle-locate-file-1:
;; Bind C-c + to icicle-make-directory.
;; icicle-find-file-in-tags-table*: Removed bindings: C-x m, C-backspace.
;; 2010/06/10 dadams
;; icicle-cd-for-abs-files: Bound enable-recursive-minibuffers to t.
;; 2010/06/08 dadams
;; Added: icicle-bookmark-delete-action: Make it refresh the cache.
;; icicle-bookmark(-list|-other-window), icicle-define-bookmark-command-1:
;; Use icicle-bookmark-delete-action.
;; Use condition-case to filter out bad bookmarks (so no error). Thx to M. Heerdegen.
;; 2010/06/04 dadams
;; Applied renamings of doremi commands (added +).
;; icicle-(buffer|*file|directory)*: Updated doc string to mention icicle-(buffers|files)-ido-like.
;; 2010/05/30 dadams
;; Added: icicle-locate-file-no-symlinks(-other-window), icicle-locate-file(-other-window)-action,
;; icicle-locate-file-1.
;; icicle-locate-file*: Moved body to icicle-locate-file-1. Use named action functions.
;; Respect icicle-ignored-directories (via *-files-within).
;; icicle-cd-for-loc-files: Added optional arg NO-SYMLINKS-P.
;; icicle-dired-saved-file-candidates(-other-window): Handle multi-completion candidates.
;; Thx to M. Heerdegen.
;; 2010/05/28 dadams
;; icicle-(recent|locate)-file(-other-window),
;; Use *-transform-multi-completion in *-all-candidates-list-alt-action-fn. Thx to M. Heerdegen.
;; 2010/05/27 dadams
;; icicle-cd-for-loc-files: Wrap interactive spec in save-selected-window. Thx to M. Heerdegen.
;; 2010/05/26 dadams
;; icicle-bookmark-set: Removed pseudo-default. Thx to Michael Heerdegen.
;; 2010/05/24 dadams
;; icicle-comint-replace-orig-completion-fns: Rewrote to not use case. Thx to Michael Heerdegen.
;; 2010/05/21 dadams
;; icicle-bookmark-help-string:
;; Use BOOKMARK-NAME, not BMK, as arg to vanilla fns, for Emacs < 23. Thx to Alexander Haeckel.
;; 2010-05-18 dadams
;; Added: icicle-cd-for-abs-files, icicle-cd-for-loc-files.
;; icicle-find-file-absolute*, icicle-locate-file*: Bind C-c C-d to icicle-cd-for-(abs|loc)-files.
;; icicle-locate-file*: Make icicle-list-use-nth-parts be nil if no non-positive prefix arg.
;; 2010/05/16 dadams
;; icicle-define-bookmark-command-1: Defined command requires bookmark+.el.
;; Added: icicle-bookmark-specific-(buffers|files)-narrow, icicle-bookmark-this-buffer-narrow.
;; icicle-bookmark(-other-window), icicle-bookmark-set:
;; Bound C-M-= (b|f), C-M-. for narrowing to specific-(buffers|files), this-buffer.
;; icicle-bookmark-cleanup: Updated for added narrowing keys.
;; 2010/05/15 dadams
;; Added: icicle-define-bookmark-command(-1). Added ARGS param for use as arg for *-alist-only.
;; Added same-window commands for bookmark jumping.
;; Added: *-specific-(buffers|files)*, *-this-buffer*, *-(all|some)-tags(-regexp)* jump commands,
;; *-bookmarked-(buffer|file)-list.
;; icicle-bookmark-set: *-selected-buffers-alist-only -> *-specific-buffers-alist-only.
;; 2010/05/06 dadams
;; icicle-bookmark-set: Removed spurious format call with its arg.
;; 2010/04/29 dadams
;; icicle-explore: Bind icicle-remove-icicles-props-p to nil around call to completing-read.
;; Call icicle-unpropertize at the end (without that binding).
;; 2010/04/20 dadams
;; icicle-dired(-other-window): Use icicle-dirs-first-p, not icicle-dirs-last-p, and don't reverse.
;; 2010/04/17 dadams
;; Added: icicle-bookmark-set.
;; icicle-bookmark-cmd: Use icicle-bookmark-set, not bookmark-set. Simpler PARG code in that case.
;; icicle-bookmark(-list|-other-window), icicle-define-bookmark-other-window-command:
;; Use icicle-transform-multi-completion in icicle-delete-candidate-object.
;; 2010/04/10 dadams
;; Corrected prefix arg use for icicle-find-file(-read-only)(-other-window). Thx to M. Heerdegen.
;; 2010/04/09 dadams
;; Added: icicle-find-file-read-only(-other-window).
;; icicle-find-file(-other-window):
;; Prefix arg on individual candidate means visit read-only.
;; Prefix arg for the command means reverse the prefix arg effect: read-only for all by default.
;; 2010/04/02 dadams
;; Added: icicle-bookmark-list.
;; icicle-bookmark-cleanup: Clean up both minibuffer maps.
;; 2010/03/27 dadams
;; icicle-define-bookmark-other-window-command: Use optional PROMPT arg.
;; 2010/03/19 dadams
;; icicle-define-bookmark-other-window-command: Rich multi-completions per icicle-bookmark.
;; 2010/03/16 dadams
;; icicle-bookmark(-other-window):
;; Use tags, not just file names, in the multi-completions.
;; Use the default join string, ^G^J, and end string, ^J^J.
;; Use just icicle-candidate-properties-alist to highlight the file name.
;; Remove extra quote marks from face names.
;; 2010/03/14 dadams
;; icicle-bookmark(-other-window):
;; Copy file/buffer name string for candidate-part face, so we don't touch bookmark-alist.
;; Handle icicle-bookmark-refresh-cache-flag and C-u.
;; Bind the narrow keys in minibuffer-local-completion also (lax for multi-completion).
;; Use face file-name-shadow, not icicle-candidate-part (too distracting).
;; icicle-bookmark-*-narrow: Use icicle-get-alist-candidate-function.
;; icicle-define-bookmark-other-window-command: Rewrote to handle multi-completion.
;; icicle-bookmark-non-file-narrow: Use bookmarkp-non-file-bookmark-p.
;; icicle-bookmark-propertize-candidate: Typo in a face name.
;; 2010/03/13 dadams
;; icicle-bookmark(-other-window):
;; If Bookmark+ available then, depending on icicle-show-multi-completion-flag, use a
;; multi-completion showing file or buffer. Use icicle-candidates-alist to do that.
;; Don't put icicle-fancy-candidates prop on prompt.
;; Don't use icicle-sorted-bookmark-alist (removed). Recompute each time.
;; 2010/03/10 dadams
;; icicle-bookmark-help-string:
;; Mention the type in the help: sequence, function, bookmark list, desktop, etc.
;; Don't show position for types that don't use one. Don't show file for buffer & Dired.
;; 2010/03/09 dadams
;; icicle-color-theme: Initialize variable icicle-color-themes here, not in icicles-opt.el.
;; 2010/03/04 dadams
;; icicle-bookmark(-other-window): Use bookmarkp-describe-bookmark(-internals) for C-M-RET.
;; 2010/03/03 dadams
;; icicle-bookmark(-other-window), icicle-define-bookmark-other-window-command:
;; Use bookmarkp-sort-and-remove-dups.
;; Bind icicle-sort-orders-alist, using bookmarkp predicates.
;; icicle-bookmark(-other-window):
;; Set icicle-sorted-bookmark-alist and bookmarkp-sorted-alist.
;; Use bookmarkp-sorted-alist.
;; Don't append original icicle-sort-orders-alist. Just include a couple of its entries.
;; Applied renamings: icicle-sort-function to icicle-sort-comparer,
;; icicle-sort-functions-alist to icicle-sort-orders-alist.
;; 2010/02/28 dadams
;; icicle-send-bug-report: Formatted body a bit.
;; 2010/02/14 dadams
;; Added: icicle-bookmark-bookmark-list-other-window, icicle-bookmark-bookmark-list-narrow.
;; icicle-bookmark(-other-window):
;; Bound to C-M- prefix: icicle-bookmark-bookmark-list-narrow. Updated doc string.
;; 2010/02/13 dadams
;; Added: icicle-bookmark-(desktop|man)-other-window,
;; icicle-bookmark-(dired|desktop|man)-narrow.
;; icicle-define-bookmark-other-window-command: Raise error if bookmark+.el not found.
;; icicle-bookmark(-other-window):
;; Bound to C-M- prefix: icicle-bookmark-(dired|desktop|man)-narrow.
;; icicle-bookmark-propertize-candidate:
;; Handle also: sequence, function, bookmark list, desktop, man, buffer, bad bookmarks.
;; 2010/02/02 dadams
;; icicle-bookmark-jump-1: Don't select minibuffer window and give it focus.
;; 2010/01/30 dadams
;; icicle-dired(-other-window), icicle-(find|recent|locate)-file(-absolute)(-other-window)
;; icicle-find-file-in-tags-table(-other-window):
;; Bind icicle-all-candidates-list-alt-action-fn to open Dired on matching files.
;; 2010/01/13 dadams
;; icicle-recent-file(-other-window):
;; Restore C-S-RET as icicle-remove-from-recentf-candidate-action (accidentally removed).
;; 2010/01/12 dadams
;; Added: icicle-pp-display-expression.
;; icicle-pp-eval-expression: Use icicle-pp-display-expression.
;; icicle-bbdb-complete-name: save-excursion + set-buffer -> with-current-buffer.
;; 2009/12/21 dadams
;; fset -> defalias.
;; 2009/12/13 dadams
;; Added: icicle-bookmark-dired-other-window, icicle-dired(-other-window).
;; *-buffer*, *-dired-project*, *-find-file(-absolute)*, *-(recent|locate)-file*,
;; *-find-file-in-tags-table*:
;; Bind C-x m to icicle-bookmark-(non-file|dired|file)-other-window.
;; 2009/11/27 dadams
;; Added: icicle(-doremi)-increment-(variable|option).
;; 2009/11/25 dadams
;; icicle-color-theme: Raise error for empty input. Thx to Ahei.
;; 2009/11/24 dadams
;; icicle-color-theme: Take a snapshot each time invoked, unless prefix arg.
;; 2009/11/22 dadams
;; icicle-color-theme: Use color-theme-initialize instead of load-library, to load themes.
;; 2009/11/21 dadams
;; icicle-color-theme: Use color-theme-snapshot to let C-g undo changes.
;; Try to load color-theme-library.el (available with version 6.6.0).
;; 2009/11/17 dadams
;; icicle-bbdb-complete-name: Bind completion-case-ignore.
;; 2009/11/14 dadams
;; icicle-bbdb-complete-name: Replace macro bbdb-hashtable by its expansion.
;; 2009/09/21 dadams
;; icicle-lisp-complete-symbol:
;; Complete symbol in buffer as far as possible first. Show completions initially.
;; 2009/09/17 dadams
;; icicle-delete-file, icicle-(file|directory)-list,
;; icicle-find-file(-absolute)(-other-window),
;; icicle-(recent|locate)-file(-other-window),
;; icicle-find-file-in-tags-table(-other-window): Use icicle-file-bindings (new macro).
;; 2009/09/16 dadams
;; Added: icicle-insert-buffer.
;; icicle-kill-buffer, icicle-buffer(-other-window), icicle-add-buffer-candidate:
;; Use icicle-buffer-bindings (new macro).
;; 2009/08/29 dadams
;; Added: icicle-define-bookmark-other-window-command, icicle-select-bookmarked-region,
;; icicle-bookmark(-region|-info|-gnus|-w3m|(-non|-local|-remote)-file)-other-window.
;; icicle-bookmark-propertize-candidate: Updated to reflect renamed bookmark+.el face names.
;; icicle-bookmark-file-narrow: Use bookmarkp-file-bookmark-p.
;; (lambda...) -> #'(lambda...).
;; 2009/08/25 dadams
;; Added: icicle-bookmark-cleanup-on-quit.
;; icicle-bookmark(-other-window): Use icicle-bookmark-cleanup-on-quit.
;; icicle-bookmark-cleanup: Removed code to return to original window a focus minibuffer.
;; 2009/08/24 dadams
;; Added: icicle-bookmark-propertize-candidate.
;; icicle-bookmark(-other-window): Put faces on bookmark candidates according to type.
;; 2009/08/23 dadams
;; Added: icicle-bookmark-(region|info|gnus|w3m|(non-|local-|remote-)file)-narrow.
;; icicle-bookmark(-other-window): Bind keys to bookmark candidate narrowing commands.
;; icicle-bookmark-cleanup: Unbind the same commands.
;; icicle-bookmark-cmd:
;; Let bookmark+.el (latest version) handle prompting for name, even for region bookmark.
;; Remove any newlines in bookmark name, when no prompting (thx to Thierry Volpiatto).
;; 2009/08/21 dadams
;; icicle-bookmark-jump-1: Typo.
;; 2009/08/20 dadams
;; icicle-bookmark-cmd: Use icicle-bookmark-other-window, not icicle-bookmark.
;; Fix trimmed-name: no longer than def-name.
;; icicle-bookmark(-other-window): Bind enable-recursive-minibuffers, in case need to read.
;; icicle-bookmark-jump-1: No crosshair highlighting for region bookmarks.
;; 2009/08/19 dadams
;; Added: icicle-bookmark-help-string.
;; icicle-bookmark-cmd: Handle creation of region bookmarks (new default values).
;; icicle-bookmark-name-length-max now applies to whole bookmark name.
;; icicle-bookmark(-other-window):
;; Apply icicle-candidate-short-help to candidates. Use also for the help function.
;; icicle-bookmark-jump-1: Use bookmark--jump-via if it is defined.
;; 2009/06/21 dadams
;; icicle-bookmark-jump-1: Removed temporary Emacs 23 workaround for (fixed) bug #1175.
;; 2009/06/07 dadams
;; icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
;; 2009/05/22 dadams
;; Require icicles-mac.el if load-library doesn't find it.
;; Created - Split off from icicles-cmd.el.
;;;(@* "CHANGE LOG FOR `icicles-cmd2.el'")
;;
;; 2012/01/16 dadams
;; icicle-search-define-candidates: Add COMPLEMENT to error msg. Thx to Michael Heerdegen.
;; 2011/12/19 dadams
;; icicle-marker+text, icicle-compilation-search-in-context-fn: Use line-(beginning|end)-position.
;; 2011/12/14 dadams
;; icicle-search-where-arg: Do not bind icicle-bookmark-types here.
;; icicle-search-define-candidates: For bookmarks, WHERE is a cons of conses (not just a cons).
;; 2011/12/13 dadams
;; icicle-search-define-candidates: In bookmarks part, test BEG =? END only if both are non-nil.
;; 2011/12/06 dadams
;; icicle-send-signal-to-process: Add process name to prompt. Thx to Michael Heerdegen.
;; 2011/11/26 dadams
;; Renamed icicle-read-color to icicle-read-color-wysiwyg.
;; Added icicle-read-color (args compatible with vanilla read-color), for *-functions-to-redefine.
;; icicle-read-color-wysiwyg: Added MSGP arg. Updated hexrgb-read-color call (new arg list).
;; icicle-color-help: Corrected for different cases of icicle-list-use-nth-parts (not just (1 2)).
;; icicle-color-distance-(rgb|hsv)-lessp, icicle-choose-candidate-of-type:
;; Applied renaming: icicle-read-color-wysiwyg.
;; 2011/11/02 dadams
;; Added: icicle-search-autonamed-bookmark, icicle-search-temporary-bookmark.
;; *-full search commands:
;; Corrected doc strings to refer to the right option, icicle-hide-non-matching-lines-flag.
;; 2011/10/22 dadams
;; icicle-send-signal-to-process:
;; Bind icicle-last-transform-function to nil, so icicle-toggle-transforming still works well.
;; 2011/10/21 dadams
;; icicle-read-color, icicle-where-is, icicle-apply((-list)-action), icicle-search-thing-args,
;; icicle-set-completion-methods-for-command:
;; Use icicle-propertize.
;; 2011/10/19 dadams
;; Added: icicle-describe-process, icicle-send-signal-to-process. Thx to Michael Heerdegen.
;; 2011/10/10 dadams
;; icicle-define-search-bookmark-command: Moved to icicles-mac.el.
;; Moved here (and to icicles-face.el) from icicles-mac.el: icicle-maybe-byte-compile-after-load.
;; Replaced bodies of eval-after-load sexps with call to icicle-cmd2-after-load-*.
;; Added: icicle-cmd2-after-load-(bookmark+'|hexrgb|highlight|palette|synonyms).
;; Removed: icicle-read-single-key-description (unused).
;; 2011/10/08 dadams
;; Moved to icicles-mac.el: icicle-read-kbd-macro, icicle-edmacro-parse-keys.
;; Removed: icicle-orig-(buff|win)-key-complete - use regular icicle-orig*.
;; icicle-complete-keys: Bind regular icicle-orig*, not icicle-orig-(buff|win)-key-complete.
;; icicle-complete-keys-1: New icicle-key-description, with PREFIX arg and ANGLES, not NO-ANGLES.
;; icicle-complete-keys-action: Set buffer & window to icicle-orig*.
;; icicle-keys+cmds-w-prefix: Use icicle-delete-alist-dups. Thx to Michael Heerdegen.
;; icicle-add-key+cmd:
;; Do not follow indirection to ultimate symbol. Include NO-REMAP arg to key-binding.
;; Replace ESC by M-.. Follow remapped command to its target. Thx to Michael Heerdegen.
;; Do not remove VARIATION* names (Unicode).
;; icicle-read-single-key-description: Change NO-ANGLES arg to ANGLES.
;; icicle-where-is: Use icicle-key-description, not key-description.
;; icicle-Info-(index|read-node-name), icicle-search-bookmark, palette-mode-map: Use icicle-kbd.
;; 2011/10/02 dadams
;; icicle-add-key+cmd:
;; Use Unicode char name in place of self-insert-command. Remove empty and VARIATION* names.
;; 2011/09/27 dadams
;; Added: icicle-search-modes (macro).
;; icicle-search-where-arg: Use icicle-search-modes - handle zero prefix arg.
;; icicle-(occur|sentences|paragraphs|pages), Use *-search-where-arg, to search files & bookmarks.
;; icicle-search-define-candidates: Use nil for BEG and END if region is empty.
;; Thx to Michael Heerdegen.
;; 2011/09/18 dadams
;; Added: icicle-search-property-default-match-fn. Handles MuMaMo major mode zones.
;; icicle-search-char-prop-matches-p. Doesn't just flatten overlay & text props and use
;; set intersect. Uses icicle-some with MATCH-FN.
;; Moved to icicles-fn.el: icicle-flat-list (no longer used).
;; Moved to icicles-cmd1.el: icicle-(keyword|regexp)-list.
;; icicle-color-completion-setup: Ensure icicle-prompt is a string before adding property.
;; icicle-search-where-arg, icicle-search-choose-buffers, icicle-search-(buffer|file):
;; Bind icicle-prompt.
;; icicle-search-char-property: Added arg MATCH-FN. Add it to the return value.
;; icicle-search-(overlay|text)-property:
;; Added arg MATCH-FN (pass to icicle-search). Made all args mandatory.
;; icicle-search-text-property: When PROP is face, call font-lock-fontify-region.
;; icicle-search-property-args:
;; Bind match-fn to icicle-search-property-default-match-fn. Add it to return value.
;; Bind icicle-prompt and icicle-hist-var.
;; For values: for non-face prop, use icicle-sexp-list, not icicle-completing-read-history.
;; icicle-search-char-property-scan:
;; Added arg MATCH-FN. Use icicle-search-char-prop-matches-p.
;; Extend zone if matching prop values also in contiguous zone.
;; icicle-search-(regexp|thing)-scan, icicle-search-highlight-input-matches-here,
;; icicle-search-char-property-scan:
;; Handle t value for icicle-search-highlight-threshold.
;; 2011/09/09 dadams
;; icicle-search-w-isearch-string: Added prefix-arg treatment.
;; 2011/09/08 dadams
;; Added: icicle-search-w-isearch-string, from a lambda in icicles-mode.el.
;; 2011/09/05 dadams
;; icicle-imenu-*: Others -> Other, as submenu name.
;; icicle-search, icicle-imenu*-full: Mention C-x . in doc strings.
;; 2011/09/04 dadams
;; icicle-add-key+cmd: Handle Emacs 23+ consp char-range events, for self-insert.
;; Applied renaming of icicle-complete-keys-self-insert-flag to *-ranges.
;; Removed: icicle-insert-char.
;; 2011/09/02 dadams
;; Removed: icicle-Info-index-cmd, icicle-Info-menu-cmd, icicle-Info-goto-node-cmd.
;; icicle-Info-index(-20|-action): Use old-Info-index.
;; icicle-Info-goto-node-1: Use old-Info-goto-node.
;; 2011/08/27 dadams
;; icicle-search-char-property-scan: Added optional ACTION arg. Move hit-end after ACTION.
;; Added: icicle-imenu-1. Created from old icicle-imenu*, but: (1) added args FULLP for full,
;; SUBMENU-FN to pick submenu, (2) pass PREDICATE and pos after forward-sexp for FULLP.
;; icicle-imenu, icicle-imenu-command: Use icicle-imenu-1.
;; Added: icicle-imenu(-command|-non-interactive-function)-full, icicle-search-defs-full,
;; icicle-imenu-(macro|variable|user-option|face|key-(implicit|explicit)-map)(-full),
;; icicle-apply-action, icicle-apply-list-action, icicle-search-regexp-scan,
;; icicle-search-action-1, icicle-search-bookmark, icicle-define-search-bookmark-command,
;; icicle-search-thing-scan, icicle-search-char-property-scan:
;; Use icicle-condition-case-no-debug instead of condition-case. Thx to Michael Heerdegen.
;; 2011/08/26 dadams
;; icicle-imenu:
;; When multiple Others menus, name them uniquely.
;; When only one submenu, just use it (no choosing).
;; icicle-complete-keys-action: Removed useless condition-case.
;; Make sure to pass format string as first arg to calls to functions error and message.
;; 2011/08/17 dadams
;; icicle-search-thing-scan: Use correct code (not 1+) also if thingatpt+.el is loaded.
;; icicle-search-regexp-scan: Quit while loop if no more match, except if complementing.
;; icicle-search-read-context-regexp, icicle-search-(thing|property)-args, icicle-tags-search:
;; Change prompt when complementing (add: *NOT*).
;; 2011/08/16 dadams
;; icicle-maybe-byte-compile-after-load the eval-after-load definitions.
;; 2011/08/14 dadams
;; icicle-search-thing-scan: Handle icicle-search-complement-domain-p.
;; Updated doc strings of search commands to mention complementing.
;; icicle-imenu(-command|-non-interactive-function), icicle-complete-keys-1:
;; Replaced mapc with dolist so do not require cl.el at runtime (Emacs 20).
;; icicle-imenu: Ignore case when completing to the type (function etc.).
;; 2011/08/13 dadams
;; Added: icicle-bookmark-a-file.
;; icicle-search-regexp-scan, icicle-search-char-property-scan:
;; Handle icicle-search-complement-domain-p.
;; 2011/08/12 dadams
;; icicle-find-file-tagged(-other-window):
;; Bind icicle-full-cand-fn. Use icicle-file-bindings.
;; Use icicle-(un)bind-file-candidate-keys. Don't do/undo such bindings individually here.
;; 2011/08/09 dadams
;; icicle-find-file-tagged(-other-window): Bind C-x a [+-] to adding/removing tags.
;; icicle-define(-file)-command calls: Removed undo code if same as last code, so do not repeat it.
;; 2011/08/08 dadams
;; icicle-find-file-tagged(-other-window): Prefix arg means use all (not just tagged) autofiles.
;; 2011/08/07 dadams
;; Added: icicle-find-file-tagged(-other-window).
;; 2011/08/05 dadams
;; icicle-(un)tag-a-file: Bind icicle-use-candidates-only-once-flag to t.
;; 2011/07/31 dadams
;; Added: icicle-search-xml-element-text-node.
;; icicle-search-thing(-scan): Added TRANSFORM-FN arg.
;; icicle-search-define-candidates: Added message when only one candidate.
;; 2011/07/30 dadams
;; Moved here from icicles-cmd1.el and wrapped in eval-after-load bookmark+.el:
;; icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-(un)tag-a-file.
;; Moved here from synonyms.el and wrapped in eval-after-load synonyms.el: (icicle)-synonyms.
;; Moved here from icicles-fn.el and wrapped in eval-after-load hexrgb.el:
;; icicle-color-*-lessp (except -rgb-), icicle-color-completion-setup, icicle-color-help,
;; icicle-make-color-candidate.
;; Soft-require hexrgb.el only when byte-compile.
;; icicle-frame-(bg|fg), icicle-read-color: Wrap in eval-after-load hexrgb.el.
;; icicle-(insert|complete)-thesaurus-entry(-cand-fn): Wrap in eval-after-load synonyms.el.
;; icicle-choose(-(in)visible)-faces, icicle-(hide|show)(-only)-faces:
;; Use eval-after-load highlight.el, not featurep.
;; icicle-pick-color-by-name(-action), palette keys: Use eval-after-load palette.el, not featurep.
;; 2011/07/27 dadams
;; icicle-search-read-word: Changed regexp to what vanilla Emacs uses for word search.
;; icicle-search(-word): Updated doc string wrt word search.
;; 2011/07/26 dadams
;; Removed: icicle-list-end-string (no longer needed). Thx to Michael Heerdegen.
;; 2011/07/24 dadams
;; Moved here from palette.el, and renamed with prefix icicle-:
;; icicle-pick-color-by-name, icicle-pick-color-by-name-action
;; Moved here from highlight.el, and renamed with prefix icicle- (from hlt-) and suffix -faces:
;; icicle-(hide|show)(-only)-faces, icicle-choose(-(in)visible)-faces.
;; Added: icicle-invisible-face-p.
;; icicle-choose(-(in)visible)-faces: Corrected:
;; Lax if icicle-WYSIWYG-Completions-flag. Put icicle-fancy-candidates on prompt.
;; Use icicle-list-*, for multi-completions. Use icicle-invisible-face-p to test invisibility.
;; Added eval-when-compile with soft requires for bookmark+.el and highlight.el.
;; 2011/07/18 dadams
;; icicle-search-thing, icicle-search-thing-scan:
;; Moved normalizing BEG, END to *-scan, for multiple buffers case. Thx to M. Heerdegen.
;; 2011/07/13 dadams
;; icicle-search-replace-cand-in-mct: Changed <= to < for len-rep. Thx to M. Heerdegen.
;; 2011/07/04 dadams
;; icicle-search-in-context-default-fn:
;; Bound icicle-last-completion-candidate, icicle-completion-candidates. Thx to M. Heerdegen.
;; 2011/07/02 dadams
;; Added: icicle-defined-thing-p.
;; icicle-things-alist: Use icicle-defined-thing-p. Thx to Michael Heerdegen.
;; 2011/06/03 dadams
;; Replace icicle-help-in-mode-line-flag by icicle-help-in-mode-line-delay everywhere.
;; 2011/05/25 dadams
;; icicle-fundoc, icicle-vardoc, icicle-plist:
;; Use icicle-doc-action only. Bind icicle-list-use-nth-parts to (1). Thx to Michael Heerdegen.
;; 2011/05/24 dadams
;; icicle-invisible-p: Use invisible-p if available (Emacs 22+).
;; 2011/05/22 dadams
;; Added defvars for free vars to quiet byte compiler.
;; 2011/05/16 dadams
;; icicle-search-thing-args: Message about C-M-; when ignoring comments and THING is comment.
;; 2011/05/15 dadams
;; Added: icicle-search-xml-element.
;; icicle-search-thing, icicle-search-thing-scan: Added PREDICATE optional arg.
;; 2011/05/14 dadams
;; Added: icicle-things-alist.
;; icicle-search-thing-args, icicle-(next|previous)-visible-thing:
;; Use icicle-things-alist, not (now removed) option icicle-thing-types.
;; icicle-next-visible-thing-1: Change comparison to < from <=
;; Removed: icicle-defined-thing-p (not used).
;; 2011/05/13 dadams
;; Renamed: icicle-last-visible-thing-type to icicle-last-thing-type.
;; icicle-last-thing-type: Use thgcmd-last-thing-type value as default, if available.
;; icicle-search-thing: Ensure BEG is before END (swap if needed).
;; icicle-search-thing-args, icicle-(next|previous)-visible-thing:
;; Use completing-read, not read-string, to read thing type.
;; icicle-(next|previous)-visible-thing: Do not set this-command (no need).
;; icicle-search-thing-scan: Removed code defining BEG, END if nil. Go to BEG, not min BEG, END.
;; icicle-next-visible-thing-2: Do not return an empty thing.
;; 2011/05/11 dadams
;; Added: icicle-invisible-p, icicle-previous-single-char-property-change.
;; icicle-search-thing-scan:
;; Handle also text invisible due to overlay, and invisible prop other than t.
;; icicle-next-visible-thing-2: Separate handling overlay and text prop. Use icicle-invisible-p.
;; 2011/05/10 dadams
;; Added: icicle-last-visible-thing-type, icicle-previous-visible-thing,
;; icicle-next-visible-thing-(and-bounds|1|2).
;; Alias icicle-next-visible-thing-(1|2) to the same commands from thing-cmds.el.
;; icicle-search-thing-scan:
;; Use when, not while, to skip over invisible (since use next-single-property-change).
;; Use new icicle-next-visible-and-bounds, so save-excursion and goto min.
;; Old icicle-next-visible is now ~ *-2, but that handles backward too. New one is a command.
;; 2011/05/07 dadams
;; Added: icicle-with-comments-hidden, icicle-hide/show-comments, icicle-search-thing,
;; icicle-defined-thing-p, icicle-next-visible-thing, icicle-search-thing-args,
;; icicle-search-thing-scan.
;; icicle-search: Doc string tweak.
;; 2011/05/04 dadams
;; icicle-search-read-context-regexp: Changed prompt to make clear that we search within contexts.
;; icicle-search-define-candidates: Remove any region highlighting, so we can see search hits.
;; 2011/04/29 dadams
;; icicle-choose-candidate-of-type: Rewrote buffer bindings based on icicle-buffer-bindings.
;; 2011/04/26 dadams
;; Added: icicle-search-autofile-bookmark.
;; 2011/04/12 dadams
;; Added: icicle-search-bookmark-list-marked, icicle-named-colors.
;; icicle-search-bookmark, icicle-define-search-bookmark-command:
;; Applied Bookmark+ renaming: bmkp-sort-and-remove-dups -> bmkp-sort-omit.
;; icicle-comint-search: Improved doc string (don't use C-next etc.).
;; icicle-frame-(bg|fg), icicle-read-color: Rename free var named-colors to icicle-named-colors.
;; Bind it in icicle-frame-(bg|fg), icicle-read-color, for use in icicle-color-completion-setup.
;; 2011/04/04 dadams
;; icicle-insert-thesaurus-entry-cand-fn, icicle-goto-marker-1-action, icicle-search-final-act,
;; icicle-comint-search: Use icicle-recenter.
;; 2011/04/02 dadams
;; Added: icicle-info-(buff|window), icicle-key-prefix(-2), icicle-active-map,
;; Moved here from icicles-var.el:
;; icicle-orig-buff-key-complete, icicle-orig-extra-cands, icicle-orig-font, icicle-orig-frame,
;; icicle-orig-menu-bar, icicle-orig-pixelsize, icicle-orig-pointsize, icicle-this-cmd-keys,
;; icicle-orig-show-initially-flag, icicle-orig-sort-orders-alist, icicle-orig-win-key-complete.
;; icicle-Info-index(-goto-node)(-action):
;; Use (new) icicle-info-(buff|window), not info-(buff|window).
;; icicle-describe-option-of-type, icicle-describe-opt-of-type-complete:
;; Use (new) icicle-pref-arg, not pref-arg.
;; icicle-search: Bind (new) icicle-scan-fn-or-regexp.
;; Moved any alias inside emacs-major-version test.
;; icicle-complete-keys-1: Bind (new) icicle-key-prefix.
;; icicle-complete-keys-action: Use (new) icicle-key-prefix, not prefix.
;; icicle-keys+cmds-w-prefix: Bind (new) icicle-key-prefix-2. Use icicle-active-map, not map.
;; icicle-add-key+cmd: Use icicle-key-prefix-2 and icicle-active-map, not prefix and map.
;; 2011/03/31 dadams
;; icicle-describe-opt-of-type-complete: Wrap icicle-var-is-of-type-p with condition-case.
;; 2011/03/29 dadams
;; icicle-search-action-1: Set icicle-other-window. Use icicle-target-window-recenter-amount.
;; Use new icicle-* vars for various free vars (orig-buff etc.).
;; icicle-frame-(bg|fg), icicle-read-color: prompt -> icicle-prompt.
;; 2011/03/03 dadams
;; icicle-insert-thesaurus-entry: Changed to strict completion from lax.
;; icicle-describe-option-of-type, icicle-(fun|var)doc, icicle-plist:
;; Removed mention of RET in prompt.
;; 2011/02/17 dadams
;; Added defalias old-read-color for read-color.
;; 2010/12/26 dadams
;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
;; 2010/12/18 dadams
;; Added more autoload cookies for commands. Thx to Richard Kim.
;; Specify command and file for commands defined by Icicles macros.
;; Require icicles-opt.el before icicles-var.el (but it makes no difference).
;; 2010/12/14 dadams
;; icicle-search-regexp-scan: Don't create marker if hit string is "".
;; icicle-search-highlight-all-input-matches:
;; Don't search within empty search contexts. Do nothing if input and expanded input are "".
;; If search doesn't advance point then forward-char. Stop searching if eobp.
;; Don't add (empty) overlay if search is empty.
;; icicle-search-highlight-context-levels: Don't add overlay for empty match.
;; icicle-search-highlight-input-matches-here: If search doesn't advance point then forward-char.
;; icicle-search-char-property-scan: Don't create empty overlays.
;; 2010/11/10 dadams
;; Added: icicle-read-args-for-set-completion-methods.
;; icicle-set-((S-)TAB|completion)-methods-for-command: Added METHODS arg.
;; 2010/11/09 dadams
;; Added: icicle-set-((S-)TAB|completion)-methods-for-command.
;; 2010/11/07 dadams
;; Applied renaming of icicle-all-candidates-action-p to icicle-all-candidates-action.
;; 2010/10/27 dadams
;; icicle-where-is: Use different prompt if prefix arg. Clarify the pref-arg diff in doc string.
;; 2010/10/25 dadams
;; icicle-search: Remove mention of icicle-search-context-match-predicate (no longer exists).
;; 2010/10/24 dadams
;; icicle-where-is, icicle-apropos-(variable|option|function|command), icicle-apply,
;; icicle-save-string-to-variable, icicle-choose-candidate-of-type,
;; icicle-read-var-value-satisfying:
;; Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
;; 2010/10/09 dadams
;; icicle-Info-goto-node, icicle-apply, icicle-goto-marker, icicle-occur, icicle-complete-keys,
;; icicle-(comint|compilation)-search, icicle-search(-sentences|-paragraphs|-pages):
;; Updated doc string for new prefix and modal cycling keys.
;; 2010/07/17 dadams
;; Added: icicle-search-url-bookmark.
;; icicle-search-bookmark, icicle-define-search-bookmark-command: w3m -> url. Added C-M-u binding.
;; 2010/07/14 dadams
;; icicle-Info-index: Bind C-x m to icicle-bookmark-info-other-window.
;; icicle-Info-read-node-name: Restore original binding of C-x m, if any.
;; 2010/06/21 dadams
;; icicle-comint-search: Wrap search with unwind-protect to remove hook. Thx to M. Heerdegen.
;; 2010/06/18 dadams
;; icicle-search-replace-match: Specific error message for read-only buffer. Thx to M. Heerdegen.
;; Renamed: bookmarkp-* to bmkp-*.
;; 2010/06/12 dadams
;; icicle-goto-marker-or-set-mark-command:
;; Set this-command so C-SPC C-SPC activates when not t-m mode. Thx to Chris Hecker.
;; 2010/06/11 dadams
;; icicle-search-action-1: (unless (pos-visible-in-window-p) (recenter -2)). Thx to M. Heerdegen.
;; 2010/06/08 dadams
;; icicle-search-bookmark, icicle-define-search-bookmark-command:
;; Use icicle-bookmark-delete-action.
;; Use condition-case to filter out bad bookmarks (so no error).
;; 2010/06/04 dadams
;; Added: icicle-ido-like-mode.
;; 2010/05/16 dadams
;; Added: icicle-search-(all|some)-tags(-regexp)-bookmark, icicle-search-desktop-bookmark,
;; icicle-search-specific-(buffers|files)-bookmark, icicle-search-this-buffer-bookmark.
;; icicle-define-search-bookmark-command: Defined cmd requires bookmark+.el. Added &rest arg ARGS.
;; 2010/05/15 dadams
;; icicle-search-highlight-and-maybe-replace: If candidate number is nil, set to 0.
;; icicle-search: Updated doc string: Can sort. Don't say not to use C-|.
;; 2010/05/09 dadams
;; Icicles search: Change to allow sorting. Use mctized candidates, not alist + candidate nb.
;; icicle-search-highlight-and-maybe-replace:
;; Use *-replace-cand-in-mct, not *-replace-cand-in-alist. Do not *-input-matches-here.
;; icicle-search-replace-cand-in-mct: Rewrote.
;; Handle multi-completions also. Update CAND+MRKER to use replacement string, but keep props.
;; icicle-search-in-context-default-fn: Rewrote.
;; Update icicle-last-completion-candidate to current candidate. Insert that.
;; Recompute input-match highlighting in current context. Remove current if no candidates.
;; icicle-search-action-1: Do nothing if no candidates.
;; icicle-search-help: Bind icicle-whole-candidate-as-text-prop-p to t, not nil.
;; 2010/05/04 dadams
;; icicle-object-action: Pass TYP to icicle-apply-to-saved-candidate. (UNTESTED)
;; icicle-choose-anything-candidate: Pass TYPE to icicle-apply-to-saved-candidate. (UNTESTED)
;; icicle-apply, icicle-read-var-value-satisfying: Bug fix: Removed #'.
;; 2010/04/30 dadams
;; icicle-search: Delete icicle-search-current-overlay via icicle-no-match-hook (& restore hook).
;; 2010/04/29 dadams
;; icicle-apply: Added optional args predicate initial-input hist def inherit-input-method.
;; Pass them to icicle-explore.
;; icicle-goto-marker-1: Pass a PREDICATE arg that ensures the marker points somewhere.
;; 2010/04/25 dadams
;; icicle-complete-keys-action:
;; Bind icicle-*, esp. *-initially-flag, around call of this-command-keys. Thx to M Heerdegen.
;; icicle-complete-keys: Save some icicle-* vars to reuse in icicle-complete-keys-action.
;; 2010/04/17 dadams
;; icicle-search-bookmark, icicle-define-search-bookmark-command:
;; Use icicle-transform-multi-completion in icicle-delete-candidate-object.
;; 2010/04/08 dadams
;; icicle-get-anything-candidates: Removed #' - it was preventing the fn from being functionp.
;; 2010/04/03 dadams
;; Removed: icicle-search-desktop-bookmark (no need).
;; 2010/04/02 dadams
;; Removed:
;; icicle-add-region, icicle-delete-region-from-alist, icicle-purge-bad-file-regions,
;; icicle-region-add-buffers, icicle-region-add-short-help, icicle-region-help,
;; icicle-region-open-all-files, icicle-regions, icicle-region-sorted,
;; icicle-remove-all-regions-action, icicle-remove-all-regions-in-buffer, icicle-remove-region,
;; icicle-search-all-regions, icicle-search-region(-action), icicle-select-region(-action).
;; Added:
;; icicle-search-bookmark-list-bookmark, icicle-search-bookmarks-together,
;; icicle-search-desktop-bookmark, icicle-search-dired-bookmark, icicle-search-man-bookmark.
;; icicle-exchange-point-and-mark, icicle-search(-define-candidates),
;; icicle-char-properties-in-buffers:
;; Use only region bookmarks, not Icicles saved regions.
;; icicle-exchange-point-and-mark: Negative prefix arg prompts for bookmark name.
;; icicle-search-define-candidates(-1): Raise the no-candidates error in parent, not in (-1).
;; icicle-search-bookmark: Use full multi-completions. Use bookmark sort orders.
;; Define narrowing keys in both minibuffer maps.
;; icicle-search-bookmark-action: Transform multi-completion. Use bookmark posns only for region.
;; icicle-define-search-bookmark-command: Added PROMPT arg. Use multi-completions, bookmark sorts.
;; 2010/03/28 dadams
;; Renamed: icicle-search-all-regions to icicle-search-region.
;; Removed: old icicle-search-region (use icicle-search-region-bookmark instead),
;; icicle-region-add-buffers, icicle-region-add-short-help, icicle-region-help,
;; icicle-region-sorted, icicle-region-open-all-files, icicle-add-region,
;; icicle-remove-region, icicle-delete-region-from-alist,
;; icicle-purge-bad-file-regions, icicle-remove-all-regions-(in-buffer|action).
;; icicle-search-all-regions: Use region bookmarks, not icicle-region-alist.
;; 2010/03/27 dadams
;; Added: icicle-search-(bookmark-list|desktop|dired|man)-bookmark.
;; icicle-search-bookmark: Use multi-completions.
;; icicle-search-bookmark-action:
;; Use icicle-transform-multi-completion. Use both minibuffer completion maps.
;; Search region if region bookmark.
;; icicle-define-search-bookmark-command: Added optional PROMPT arg. Use multi-completions.
;; 2010/03/13 dadams
;; Applied renaming of icicle-add-buffer-name-flag to icicle-show-multi-completion-flag.
;; 2010/03/09 dadams
;; icicle-regions: Use icicle-reversible-sort (with KEY arg), not sort.
;; 2010/03/03 dadams
;; Applied renamings: icicle-sort-function to icicle-sort-comparer
;; icicle-sort-functions-alist to icicle-sort-orders-alist,
;; icicle-alternative-sort-function to icicle-alternative-sort-comparer,
;; icicle-last-sort-function to icicle-last-sort-comparer.
;; 2010/02/06 dadams
;; icicle-where-is: Make sure orig-buff is current when look up the bindings.
;; 2010/01/12 dadams
;; icicle-insert-thesaurus-entry-cand-fn, icicle-marker+text,
;; icicle-search-(bookmark|region)-action, icicle-char-properties-in-buffer,
;; icicle-search-char-property-scan:
;; save-excursion + set-buffer -> with-current-buffer (+ save-excursion).
;; icicle-search-regexp-scan: set-buffer -> with-current-buffer.
;; 2009/12/13 dadams
;; icicle-Info-read-node-name: Bind C-x m to icicle-bookmark-info-other-window.
;; 2009/11/24 dadams
;; icicle-read-color: Copy the prompt string, so *-color-completion-setup can put props.
;; 2009/11/22 dadams
;; icicle-frame-(bg|fg): Don't apply *-make-color-candidate to named-colors (done already).
;; 2009/11/03 dadams
;; icicle-frame-(bg|fg): Use named-colors, not x-defined-colors.
;; icicle-read-color: No need to bind icicle-transform-function, since we use hexrgb.el.
;; 2009/09/05 dadams
;; icicle-search-replace-all-search-hits:
;; Bind to nil: icicle-minibuffer-message-ok-p, icicle-help-in-mode-line-flag.
;; icicle-search-action-1: Add condition-case to ignore disappearance of *Completions* win.
;; icicle-search-highlight-and-maybe-replace:
;; Apply renaming of icicle-acting-on-next/prev (no -p).
;; Use length of *-completion-candidates, not mct.
;; Fix assignment of new candidate nb, and for both directions.
;; Bind icicle-minibuffer-message-ok-p to inhibit no-candidates msg.
;; Wrap around to first only if not icicle-acting-on-next/prev.
;; 2009/09/02 dadams
;; icicle-exchange-point-and-mark: Respect icicle-region-bookmarks-flag.
;; 2009/08/29 dadams
;; Added: icicle-define-search-bookmark-command,
;; icicle-search(-region|-info|-gnus|-w3m|(-non|-local|-remote)-file)-bookmark,
;; icicle-search-bookmark-action.
;; Moved (and redefined) to icicles-cmd1.el: icicle-select-bookmarked-region.
;; (lambda...) -> #'(lambda...).
;; 2009/08/25 dadams
;; Added icicle-select-bookmarked-region.
;; icicle-exchange-point-and-mark:
;; If bookmark+ is loaded, use region bookmarks.
;; Raise error if try to save inactive region or try to select with no saved regions.
;; 2009/08/11 dadams
;; Added: icicle-search-replace-all-search-hits.
;; Renamed: icicle-search-replace-candidate to icicle-search-replace-cand-in-alist.
;; Added: icicle-search-replace-cand-in-mct (not used, for now).
;; icicle-search:
;; Bind icicle-all-candidates-list-alt-action-fn to icicle-search-replace-all-search-hits.
;; Bind replace-count to 0. Bind icicle-current-input to empty string.
;; Updated doc string.
;; icicle-search-replace-search-hit:
;; Do not bind icicle-completion-candidates, icicle-candidate-nb, icicle-last-input.
;; No lack-of-current-candidate error if icicle-all-candidates-action-p.
;; Added: icicle-search-action-1 (factored out from icicle-search-action.
;; icicle-search-action, icicle-search-help:
;; Bind icicle-whole-candidate-as-text-prop-p to nil, to force use of alist.
;; icicle-search-action(-1): Do not bind icicle-candidate-nb, so don't save and restore it.
;; icicle-search-in-context-default-fn: If replacement tried, then update the dialog state.
;; icicle-search-highlight-and-maybe-replace: REWRITE.
;; Msg if string to be replaced is not found in candidate.
;; Swap order: Don't search unless first time (or replacing all).
;; icicle-search-replace-candidate -> icicle-search-replace-cand-in-alist.
;; If replacement done, then: Update alist, minibuffer-completion-table, and
;; minibuffer content. Change candidate nb if navigating next/prev. Complete again.
;; Return indication of whether we tried to replace something.
;; icicle-search-replace-cand-in-alist: Added catch, to skip whole list traversal.
;; Moved byte-compile quieting defvars to top level. Added one for tooltip-mode.
;; 2009/07/20 dadams
;; icicle-font: Ensure no nil elements in COLLECTION arg to completing-read, for Emacs 22+.
;; 2009/06/07 dadams
;; icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
;; Added: icicle-purge-bad-file-regions.
;; icicle-add-region, icicle-(select|search)-region-action:
;; Special-case Info buffers. Thx to Thierry Volpiatto.
;; 2009/05/28 dadams
;; Bind icicle-search-replacement to nil. (Somehow forgot when moved to icicle-explore.)
;; icicle-search-replace-search-hit: Raise an error if icicle-candidate-nb is nil.
;; 2009/05/26 dadams
;; icicle-compilation-search: Use value 'until-move for next-error-highlight.
;; 2009/05/22 dadams
;; Added: icicle-Info-virtual-book.
;; Require icicles-mac.el if load-library doesn't find it.
;; icicle-search: Set icicle-search-final-choice to result.
;; Created - Split off from icicles-cmd.el.
;;;(@* "CHANGE LOG FOR `icicles-face.el'")
;;
;; 2011/10/21 dadams
;; Added face: icicle-msg-emphasis.
;; 2011/10/10 dadams
;; Added: icicle-face-after-load-hexrgb.
;; Replaced bodies of eval-after-load sexps with call to icicle-face-after-load-hexrgb.
;; Added autoload cookies for icicle-increment-color-*.
;; Removed eval-when-compile to load icicles-mac.
;; Moved here (and to icicles-cmd2.el) from icicles-mac.el: icicle-maybe-byte-compile-after-load.
;; 2011/10/08 dadams
;; eval-when-compile icicles-mac.el.
;; 2011/08/16 dadams
;; Require icicles-mac.el.
;; icicle-maybe-byte-compile-after-load the eval-after-load definitions.
;; 2011/07/30 dadams
;; eval-after-load hexrgb.el, not runtime error if not feature, for all fns that use hexrgb.el.
;; Moved here from icicles-opt.el: icicle-increment-color-value.
;; icicle-search-context-level-*: Use fboundp icicle-increment-color-satur*, not featurep hexrgb.
;; Soft-require hexrgb.el when byte compile.
;; 2010/12/26 dadams
;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
;; 2010/05/05 dadams
;; icicle-mustmatch-completion: Changed line-width from 2 to -2.
;; 2010/04/08 dadams
;; Added autoload cookies.
;; 2010/03/13 dadams
;; Made icicle-candidate-part paler (light background): #EF84FFEAF427, not #DB17FFF4E581.
;; 2010/02/17 dadams
;; Moved functions here from icicles-opt.el: icicle-increment-color-(hue|saturation).
;; So no longer require icicles-opt.el.
;; 2009/04/18 dadams
;; Removed load-time warning about using Icicles in a text terminal.
;; 2009/04/12 dadams
;; Added: face icicle-mode-line-help.
;; 2009/01/13 dadams
;; Added: icicle-extra-candidate.
;; 2008/10/26 dadams
;; Added group: Icicles-Files.
;; 2008/03/29 dadams
;; Redefined and renamed faces for completion status indicators.
;; Renamed: icicle-completing-mustmatch-prompt-prefix to icicle-mustmatch-completion,
;; icicle-mode-lighter-highlight(-plus) to icicle(-multi-command)-completion.
;; Removed: icicle-completing-prompt-prefix, icicle-prompt-suffix.
;; 2008/03/09 dadams
;; Added: icicle-mode-lighter-highlight.
;; 2007/12/10 dadams
;; Added: icicle-input-completion-fail-lax.
;; 2007/11/18 dadams
;; Added: icicle-proxy-candidate.
;; icicle-special-candidate: No longer use a raised box.
;; 2007/10/22 dadams
;; icicle-special-candidate: Raised box.
;; 2007/08/19 dadams
;; Added: icicle-input-completion-fail.
;; 2007/06/21 dadams
;; Added: icicle-candidate-part. Changed definition of icicle-special-candidate.
;; 2007/06/17 dadams
;; Added: icicle-saved-candidate.
;; 2007/06/12 dadams
;; icicle-prompt-suffix: No box for dark background.
;; 2007/06/11 dadams
;; Better defaults for dark background frames.
;; 2007/06/07 dadams
;; Changed emacs-commentary-link to point to icicles-doc1.el and icicles-doc2.el.
;; 2007/05/22 dadams
;; Protected icicle-search-context-level-1 to *-8, in case hexrgb is not loaded.
;; 2007/04/20 dadams
;; Added: icicle-search-context-level-1 through *-8.
;; Require icicles-opt.el.
;; 2006/12/22 dadams
;; Renamed group icicles to Icicles.
;; Added Icicles subgroups, and assigned them instead of group Icicles:
;; -Buffers, -Completions-Display, -Key-Bindings, -Key-Completion, -Matching,
;; -Minibuffer-Display, -Miscellaneous, -Searching.
;; 2006/11/06 dadams
;; icicle-search-highlight-all-flag -> icicle-search-highlight-threshold (integer)
;; 2006/10/16 dadams
;; icicle-special-candidate: changed background from Pink to #DB17FFF4E581.
;; 2006/10/04 dadams
;; Added: icicle-special-candidate.
;; 2006/08/13 dadams
;; Added: icicle-completing-prompt-prefix.
;; 2006/07/16 dadams
;; Added dark-background face suggestions from Le Wang - thx.
;; 2006/06/30 dadams
;; Added: minibuffer-prompt for Emacs < 22 (e.g. Emacs 21.4 has propertize).
;; 2006/04/28 dadams
;; Added: icicle-whitespace-highlight.
;; 2006/04/14 dadams
;; Renamed icicle-search-refined-regexp to icicle-search-current-input.
;; 2006/04/07 dadams
;; Added: icicle-search-main-regexp-others.
;; Renamed: icicle-search-main-regexp to icicle-search-main-regexp-current.
;; 2006/03/27 dadams
;; Added: icicle-search-*-regexp.
;; 2006/03/22 dadams
;; Renamed: icicle-root-highlight-* to icicle-match-highlight-*.
;; 2006/03/21 dadams
;; Added: icicle-common-match-highlight-Completions.
;; icicle-root-highlight-Completions: Changed default face.
;; 2006/03/08 dadams
;; Added: icicle-current-candidate-highlight.
;;;(@* "CHANGE LOG FOR `icicles-fn.el'")
;;
;; 2012/01/20 dadams
;; icicle-call-then-update-Completions: Do the sit-for even if only one candidate.
;; 2012/01/17 dadams
;; icicle-insert-candidates:
;; Put mouse-face on final \n also. No longer use property icicle-keep-newline.
;; No longer treat single-newline candidate specially. Thx to Michael Heerdegen.
;; icicle-file-remote-p: Respect new var icicle-network-drive-means-remote-flag: nil means local.
;; icicle-call-then-update-Completions: Corrected logic for triggering re-complete.
;; In particular, REMOTE-TEST = file-remote-p prevents, rather than causes, re-completion.
;; icicle-ms-windows-NET-USE: Corrected hash-table support test: fboundp puthash, not hash-table-p.
;; icicle-choose-completion-string: let -> let* (typo).
;; 2012/01/14 dadams
;; Added: icicle-char-cands-from-charlist, icicle-read-char-maybe-completing, icicle-ucs-names.
;; icicle-read-char-by-name: Added optional arg NAMES. Use icicle-ucs-names, not ucs-names.
;; 2011/12/31 dadams
;; Reversed fix of 2011/04/12 for Emacs < 23:
;; icicle-unsorted-file-name-*, icicle-apropos-any-file-name-candidates-p:
;; Use default-directory, not minibuffer-completion-predicate, for Emacs < 23.
;; 2011/12/28 dadams
;; Removed mention of obsolete option icicle-cycle-into-subdirs-flag.
;; 2011/12/24 dadams
;; icicle-insert-candidates:
;; When only one column, set window width to column width.
;; Use option icicle-Completions-max-columns.
;; icicle-fit-completions-window: Clarify doc string.
;; 2011/12/15 dadams
;; icicle-display-candidates-in-Completions:
;; For face icicle-historical-candidate, expand file names before comparing.
;; 2011/12/06 dadams
;; icicle-read-from-minibuffer: Do not add default value to prompt.
;; 2011/10/21 dadams
;; Added: icicle-propertize.
;; Renamed: icicle-unpropertize to icicle-unpropertize-completion. Applied renaming everywhere.
;; icicle-display-candidates-in-Completions, icicle-kill-a-buffer: Use icicle-propertize.
;; 2011/10/09 dadams
;; Moved here from icicles-mac.el: icicle-try-switch-buffer, select-frame-set-input-focus.
;; Copied here from icicles-mac.el: icicle-assoc-delete-all.
;; Removed autoload cookie for icicle-maybe-cached-action.
;; 2011/10/08 dadams
;; Added: icicle-delete-alist-dups.
;; icicle-completing-read-history:
;; Use prin1, not princ, to convert to strings. Thx to Michael Heerdegen.
;; icicle-key-description: Added PREFIX arg. Use Emacs 22+ form of key-description if available.
;; Changed arg NO-ANGLES to ANGLES.
;; icicle-read-char-by-name: Do not remove VARIATION* names (Unicode).
;; 2011/10/05 dadams
;; icicle-display-candidates-in-Completions:
;; Use same font family, not same font, as orig buff. Only for Emacs 23+, and only when
;; icicle-pre-minibuffer-buffer is defined. Removed dedicated-p condition. Removed zoom-out.
;; 2011/10/02 dadams
;; Added: icicle-read-char-by-name.
;; icicle-display-candidates-in-Completions: Give *Completions* the same font as starting buffer.
;; 2011/09/14 dadams
;; Added: icicle-some.
;; Moved here from icicles-cmd2.el: icicle-flat-list (but no longer used).
;; 2011/09/05 dadams
;; icicle-display-candidates-in-Completions: Act on new option icicle-hide-non-matching-lines-flag.
;; 2011/09/02 dadams
;; Added: icicle-delete-dups.
;; icicle-display-candidates-in-Completions: Don't highlight an empty match.
;; icicle-insert-candidates:
;; If only one column then colwidth should not be more than max-cand-len.
;; If whole cand is a single \n then do not treat it as the last \n (do not remove mouse-face).
;; 2011/08/27 dadams
;; icicle-recentf-make-menu-items, icicle-display-candidates-in-Completions,
;; icicle-command-abbrev-save, icicle-kill-a-buffer:
;; Use icicle-condition-case-no-debug instead of condition-case. Thx to Michael Heerdegen.
;; 2011/08/26 dadams
;; icicle-place-cursor: Put cursor at eob if get invalid-regexp error.
;; icicle-get-candidates-from-saved-set: Use %s, not %S, in error format string.
;; 2011/08/15 dadams
;; icicle-display-completion-list: Do not call (last ...) if COMPLETIONS is null.
;; Added: icicle-all-completions.
;; Use icicle-all-completions, not all-completions, wherever a 4th arg is passed.
;; 2011/08/12 dadams
;; icicle-completing-p: Handle cases of filename must-match maps.
;; icicle-file-name-input-p: Improved doc string.
;; 2011/08/09 dadams
;; Added: icicle-replace-mct-cand-in-mct.
;; 2011/08/07 dadams
;; icicle-display-candidates-in-Completions,
;; icicle-highlight-(initial-whitespace|complete-input|lighter), icicle-case-string-less-p,
;; icicle-expanded-common-match-1, icicle-insert-cand-in-minibuffer, icicle-place-cursor,
;; icicle-(special|extra)-candidates-first-p: Handle absolute file names too:
;; (icicle-file-name-input-p) -> (or (icicle-file-name-input-p) icicle-abs-file-candidates)
;; icicle-display-candidates-in-Completions:: icicle-transform-multi-completion for image-file.
;; 2011/08/03 dadams
;; icicle-lisp-vanilla-completing-read:
;; Handle recent Emacs 24 changes: make-compose-keymap etc. Thx to Stefan Monnier.
;; 2011/07/30 dadams
;; Moved to icicles-cmd2.el and wrapped in eval-after-load hexrgb:
;; icicle-color-*-lessp (except -rgb-), icicle-color-completion-setup, icicle-color-help,
;; icicle-make-color-candidate.
;; 2011/07/27 dadams
;; Use icicle-completions-format everywhere, not icicle-completions-format-internal (removed).
;; icicle-nb-of-cand-in-Completions-horiz: Bind icicle-completions-format to horizontal, not nil.
;; 2011/07/26 dadams
;; icicle-insert-candidates: Vertical multiline: add only one newline, not two. Use \' not $.
;; Removed: icicle-list-end-string (no longer needed).
;; Thx to Michael Heerdegen.
;; 2011/07/20 dadams
;; icicle-mctized-full-candidate: Don't change icicle-completions-format-internal to horizontal.
;; icicle-insert-candidates: If any candidate is multiline then use only one column.
;; Thx to Michael Heerdegen.
;; 2011/07/06 dadams
;; icicle-fit-completions-window:
;; Emacs 22/23 fix: do not call fit-window-to-buffer. Thx to Michael Heerdegen.
;; icicle-read-face-name: Added version for Emacs 24+.
;; 2011/06/05 dadams
;; icicle-unsorted(-file-name)-prefix-candidates, icicle-prefix-any(-file-name)-candidates-p:
;; Add METADATA arg to icicle-completion-(try|all)-completion(s) calls.
;; 2011/06/03 dadams
;; icicle-completion-(all|try)-completion(s):
;; Added optional METADATA arg to handle Emacs 24's new METADATA arg.
;; Replace icicle-help-in-mode-line-flag by icicle-help-in-mode-line-delay everywhere.
;; icicle-show-in-mode-line: Use icicle-help-in-mode-line-delay, not hard-coded 10 sec.
;; 2011/05/31 dadams
;; icicle-read-file-name: Reordered let bindings (cosmetic).
;; 2011/05/22 dadams
;; Added defvars for free vars to quiet byte compiler.
;; 2011/05/12 dadams
;; icicle-candidate-short-help: Do nothing if string is empty ("").
;; 2011/05/07 dadams
;; icicle-insert-cand-in-minibuffer: Go to prompt end before insert.
;; 2011/05/04 dadams
;; icicle-transform-multi-completion: If cand is "" just return it. (Emacs 20 split-string bug.)
;; 2011/05/03 dadams
;; Added: icicle-position, icicle-merge-saved-order-less-p.
;; icicle-display-candidates-in-Completions: Respect icicle-highlight-saved-candidates-flag.
;; 2011/04/20 dadams
;; icicle-completion-setup-function: Last version is for Emacs 23.3 also. Thx to Michael Heerdegen.
;; 2011/04/18 dadams
;; icicle-face-valid-attribute-values: Added Emacs 23+ version. Thx to Aankhen.
;; 2011/04/12 dadams
;; Added defvars for icicle-dirs-done and icicle-files, for free vars.
;; Bind *-files in icicle-dired-read-shell-command. Bind *-dirs-done in icicle-files-within.
;; Use *-files in icicle-*-add-dired-*. Use *-dirs-done in icicle-files-within-1.
;; icicle-color-completion-setup: Renamed (free elsewhere): named-colors -> icicle-named-colors.
;; Applied renaming: prompt -> icicle-prompt.
;; icicle-unsorted-file-name-prefix-candidates, icicle-unsorted-file-name-apropos-candidates,
;; icicle-apropos-any-file-name-candidates-p:
;; Use minibuffer-completion-predicate, not default-directory, in calls to all-completions.
;; Thx to Michael Heerdegen.
;; 2011/03/31 dadams
;; icicle-read-file-name, icicle-read-number, icicle-read-char-exclusive,
;; icicle-read-string-completing, icicle-color-completion-setup:
;; Wrap calls to icicle-var-is-of-type-p with condition-case. Thx to Michael Heerdegen.
;; 2011/03/29 dadams
;; icicle-show-help-in-mode-line: Removed boundp condition for icicle-completing-keys-p.
;; icicle-scroll-or-update-Completions:
;; Applied renaming: icicle-scroll-Completions to icicle-scroll-Completions-forward.
;; icicle-color-completion-setup: prompt -> icicle-prompt.
;; icicle-alt-act-fn-for-type: orig-window -> icicle-orig-window.
;; 2011/03/26 dadams
;; icicle-read-face-name: Need copy-sequence for prompt in later Emacs versions also (forgot).
;; 2011/03/17 dadams
;; icicle-display-candidates-in-Completions: Added 2-pixel margin around thumbnail image.
;; 2011/03/04 dadams
;; icicle-read-file-name: Bind read-file-name-predicate. Thx to Michael Heerdegen.
;; icicle-alt-act-fn-for-type: Ensure orig-window is live before use it. Thx to Michael Heerdegen.
;; 2011/02/22 dadams
;; icicle-display-candidates-in-Completions: Show thumbnail for an image file.
;; Call icicle-fit-completions-window explicitly here.
;; icicle-fit-completions-window: Added optional arg (not used yet). Ensure window is Completions.
;; 2011/02/20 dadams
;; Added: icicle-color-(distance)-(hsv|rgb)-lessp.
;; icicle-color-completion-setup: Added sort orders for HSV and RGB: component order and distance.
;; 2011/02/17 dadams
;; icicle-join-nth-parts: If only one part then don't append the join string.
;; 2011/01/31 dadams
;; icicle-insert-candidates: Fixed test for remainder cands: (= n (* r c)), not (= 0 (mod n r)).
;; 2011/01/11 dadams
;; icicle-choose-completion-string:
;; Removed code that uses base-size, choose-completion-delete-max-match. Just replace all input.
;; 2011/01/05 dadams
;; Added: icicle-file-type-less-p.
;; icicle-highlight-input-noncompletion: When move overlay, specify buffer (for recursive minibuf).
;; 2010/12/26 dadams
;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
;; 2010/12/23 dadams
;; icicle-expand-file-name-20: Allow for inputs to be nil.
;; 2010/12/18 dadams
;; Moved icicle-assoc-delete-all to icicles-mac.el, since used there.
;; Added autoload cookies for cmds & macro; removed them from non-interactive functions.
;; 2010/12/14 dadams
;; Added: icicle-expand-file-name-20.
;; Renamed: icicle-expand-file-name to icicle-expand-file-or-dir-name.
;; icicle-abbreviate-or-expand-file-name, icicle-expand-file-or-dir-name:
;; Use icicle-expand-file-name-20.
;; icicle-completion-setup-function for Emacs < 22: Fix typo: last-command -> this-command.
;; icicle-expanded-common-match: Removed from doc string: statement that result is regexp-quoted.
;; 2010/12/11 dadams
;; icicle-completion-setup-function: Added a version for Emacs 23.2+. Thx to Michael Heerdegen.
;; 2010/11/20 dadams
;; icicle-toggle-icicle-mode-twice: Soft-require icicles-mode.el.
;; eval-after-load for crm.el:
;; Put toggle-twice on eval-after-load of icicles-mode, instead of doing it if i-m.el is loaded.
;; 2010/11/07 dadams
;; Added helper macro icicle-maybe-cached-action.
;; icicle-alt-act-fn-for-type: use icicle-maybe-cached-action so use same action for all cands.
;; 2010/11/06 dadams
;; icicle-fuzzy-candidates: Filter using icicle-must-pass-after-match-predicate.
;; Respect also extra cands and proxy cands.
;; Let C-g exit completion.
;; 2010/10/25 dadams
;; icicle-read-shell-command-completing:
;; Use icicle-must-pass-after-match-predicate, not icicle-must-pass-predicate.
;; 2010/10/24 dadams
;; icicle-unsorted(-file-name)-(prefix|apropos)-candidates:
;; Respect icicle-must-pass-after-match-predicate.
;; icicle-alt-act-fn-for-type: Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
;; 2010/10/07 dadams
;; Added: icicle-current-TAB-method (function). Use it in place of var everywhere.
;; 2010/10/04 dadams
;; directory-sep-char -> ?/ (It was removed from Emacs 24.)
;; 2010/06/18 dadams
;; icicle-completing-read:
;; Initialize icicle-completions-format-internal to icicle-completions-format.
;; icicle-mctized-full-candidate:
;; Set icicle-completions-format-internal to horizontal for multi-line multi-completions.
;; icicle-insert-candidates:
;; Remove face property from end of candidate to next column.
;; Replace icicle-completions-format by icicle-completions-format-internal.
;; Renamed: bookmarkp-* to bmkp-*.
;; 2010/06/14 dadams
;; icicle-read-from-minibuffer:
;; If add file-name default to prompt, remove dir part first. Thx to Chris Hecker.
;; icicle-next-candidate: Do not icicle-recompute-candidates if this command was repeated.
;; icicle-increment-cand-nb+signal-end:
;; Signal wrap from initial, not from 0. Negative INCR -> start at end. Thx to M. Heerdegen.
;; icicle-call-then-update-Completions:
;; Set icicle-last-input to nil so icicle-save-or-restore-input makes next-candidate recompute.
;; 2010/06/12 dadams
;; icicle-fit-completions-window: Let-bind window-min-height to prevent deletion in Emacs 23.
;; 2010/06/10 dadams
;; icicle-maybe-sort-and-strip-candidates:
;; Set icicle-completion-candidates to result of *maybe...maybe*. (It broke C-~.)
;; 2010/06/09 dadams
;; icicle-isearch-complete-past-string: Use the last-used ring. Thx to Michael Heerdegen.
;; 2010/06/08 dadams
;; icicle-display-candidates-in-Completions: Show also total when truncated: N shown / M.
;; icicle-maybe-sort-maybe-truncate: Save icicle-nb-candidates-before-truncation before truncating.
;; 2010/06/04 dadams
;; Added: icicle-clear-lighter, icicle-maybe-sort-maybe-truncate, icicle-take.
;; icicle-(prefix|apropos)-candidates, icicle-strip-ignored-files-and-sort,
;; icicle-maybe-sort-and-strip-candidates, icicle-display-Completions:
;; Use icicle-maybe-sort-maybe-truncate, not icicle-reversible-sort.
;; icicle-(un)highlight-lighter: Use icicle-clear-lighter (factored out).
;; 2010/05/30 dadams
;; Added: icicle-files-within-1.
;; icicle-files-within:
;; Use icicle-files-within-1. Optionally don't follow symlinks (new arg NO-SYMLINKS-P).
;; Don't process same dir twice. Respect icicle-ignored-directories. Thx to Michael Heerdegen.
;; 2010/05/18 dadams
;; icicle-save-or-restore-input:
;; Use icicle-file-directory-p, not file-directory-p (fails: ~/foo//usr/). Thx to M. Heerdegen.
;; 2010/05/04 dadams
;; icicle-alt-act-fn-for-type: Pass TYPE to icicle-apply-to-saved-candidate.
;; 2010/04/30 dadams
;; icicle(-file-name)-unsorted-(apropos|prefix)-candidates, icicle-fuzzy-candidates:
;; Set icicle-common-match-string to nil when no candidates.
;; 2010/04/29 dadams
;; icicle-unpropertize: Do nothing unless icicle-remove-icicles-props-p.
;; 2010/04/27 dadams
;; icicle-show-help-in-mode-line: Test value, not just boundp, of icicle-completing-keys-p.
;; 2010/04/21 dadams
;; icicle-mode-line-name-less-p: Removed bogus calls to symbol-name. Thx to Michael Heerdegen.
;; 2010/04/20 dadams
;; Added: icicle-dirs-first-p.
;; 2010/04/02/dadams
;; icicle-completing-p: Cache t, not the keymap portion.
;; 2010/03/16 dadams
;; icicle-display-candidates-in-Completions, treating icicle-candidate-properties-alist:
;; For subsequent matches of join string, skip over the last join string (not 1 char).
;; icicle-candidate-short-help: Treat each property individually.
;; 2010/03/13 dadams
;; icicle-reversible-sort: Respect icicle-transform-before-sort-p.
;; 2010/03/10 dadams
;; icicle-show-help-in-mode-line:
;; Put this test first: If candidate is a string with a help property, use that.
;; Use get-file-buffer, not get-buffer, for a visited file.
;; 2010/03/09 dadams
;; icicle-reversible-sort: Added optional KEY arg. Set LIST to sort result and return it.
;; icicle-multi-sort: Set RESULT to funcall result.
;; 2010/03/03 dadams
;; Added: icicle-multi-sort, icicle-make-plain-predicate, icicle-alpha-p.
;; icicle-reversible-sort: Use icicle-sort-comparer and icicle-multi-sort.
;; Reset to unsorted if an error is raised.
;; Applied renamings: icicle-sort-function to icicle-sort-comparer,
;; icicle-sort-functions-alist to icicle-sort-orders-alist.
;; icicle-read-shell-command-completing: Removed extra binding for icicle-sort-function.
;; 2010/01/12 dadams
;; icicle-display-candidates-in-Completions: set-buffer -> with-current-buffer.
;; 2009/12/25 dadams
;; icicle-strip-ignored-files-and-sort:
;; Call completion-ignored-build-apply and icicle-update-ignored-extensions-regexp.
;; 2009/12/21 dadams
;; fset -> defalias.
;; 2009/12/07 dadams
;; Added: icicle-minibuffer-default-add-dired-shell-commands.
;; icicle-dired-read-shell-command: Instead of using minibuffer-default-add-shell-commands,
;; use icicle-minibuffer-default-add-dired-shell-commands.
;; icicle-read-shell-command-completing: Bind insert-default-directory to nil.
;; icicle-dir-prefix-wo-wildcards: Don't ever return nil - return "" if need be.
;; icicle-read-string:
;; Handle a consp default-value when user enters "": use the car. Thx to Sakuma Ryo.
;; 2009/12/03 dadams
;; icicle-completing-read:
;; Make sure we don't use a nil def value for init value. Thx to Sebastian Luque.
;; 2009/11/27 dadams
;; *-display-candidates-in-Completions, *-prefix-candidates, *-fuzzy-candidates:
;; Handle swank completions too.
;; 2009/11/25 dadams
;; icicle-insert-candidates: Handle vertical layout: icicle-completions-format.
;; 2009/11/03 dadams
;; icicle-color-completion-setup: Use hexrgb-defined-colors, not x-defined-colors.
;; No icicle-transform-function, since we use hexrgb.el.
;; 2009/10/25 dadams
;; Added: icicle-dir-prefix-wo-wildcards. Use in icicle-insert-cand-in-minibuffer.
;; icicle-save-or-restore-input: Remove test comparing last completion with current input.
;; icicle-abbreviate-or-expand-file-name: If arg is absolute, do not expand.
;; icicle-display-candidates-in-Completions, icicle-prefix-candidates,
;; icicle-not-basic-prefix-completion-p:
;; Updated for new completion methods. Use *-current-TAB-method, not old fuzzy flag.
;; 2009/10/24 dadams
;; icicle-unsorted-file-name-*-candidates, icicle-*-any-file-name-candidates-p:
;; Got rid of slashed-p.
;; icicle-unsorted-file-name-apropos-candidates:
;; Set icicle-common-match-string to nil if there are no candidates.
;; icicle-apropos-any-file-name-candidates-p:
;; When input is a dir, remove final /, so we don't non-match highlight the / (empty dir).
;; Bind case-fold-search, for apropos matching.
;; icicle-abbreviate-or-expand-file-name: Set DIR to nil if it's relative.
;; 2009/10/22 dadams
;; Added: icicle-file-name-directory.
;; icicle-completion-setup-function, icicle-display-candidates-in-Completions,
;; icicle-save-or-restore-input, icicle-file-name-directory-w-default,
;; icicle-historical-alphabetic-p:
;; Use icicle-file-name-directory, not file-name-directory.
;; 2009/10/17 dadams
;; icicle-completion-try-completion: Return RES.
;; 2009/10/12 dadams
;; icicle-unsorted-prefix-candidates, icicle-prefix-any-candidates-p:
;; Use length of INPUT, not length from point backward to field-beginning.
;; icicle-input-from-minibuffer: Added optional LEAVE-ENVVARS-P arg.
;; icicle-next-candidate, icicle-highlight-complete-input:
;; Call icicle-input-from-minibuffer with LEAVE-ENVVARS-P arg.
;; icicle-completion-all-completions:
;; If not basic completion (Emacs 23) and input ends in $, then append $ to cands also.
;; 2009/09/25 dadams
;; icicle-file-name-prefix-candidates: Use whole input, not just nondirectory.
;; Added: icicle-not-basic-prefix-completion-p. Use where appropriate.
;; 2009/09/19 dadams
;; icicle-unpropertize: Remove the internal text properties added by Icicles.
;; icicle-completing-read, icicle-read-file-name: Call icicle-unpropertize unconditionally.
;; 2009/09/12 dadams
;; icicle-kill-a-buffer: Bind enable-recursive-minibuffers, to confirm modified buffer.
;; 2009/09/05 dadams
;; icicle-msg-maybe-in-minibuffer: Do nothing if icicle-minibuffer-message-ok-p is nil.
;; 2009/08/19 dadams
;; icicle-candidate-short-help: Return (possibly propertized) STRING.
;; 2009/08/09 dadams
;; Added: icicle-insert-cand-in-minibuffer - factored out code from icicle-next-candidate.
;; eval-after-load "crm":
;; Test that icy-mode is available using featurep, not fboundp. Thx to Michael Heerdegen.
;; 2009/07/26 dadams
;; icicle-completing-read, icicle-read-file-name-1:
;; Bind minibuffer-history-variable to itself.
;; 2009/07/13 dadams
;; icicle-read-face-name (Emacs 20 version): Use copy-sequence on prompt, before add prop.
;; 2009/07/12 dadams
;; icicle-display-completion-list:
;; Use different protection (fboundp) for fix for latest Emacs 23 crap (base size in cdr).
;; 2009/07/11 dadams
;; icicle-next-candidate:
;; If icicle-regexp-quote-flag, regexp-quote before string-match for highlighting root.
;; icicle-place-cursor: If icicle-regexp-quote-flag, regexp-quote input to search for it.
;; 2009/07/02 dadams
;; icicle-displayable-cand-from-saved-set:
;; If icicle-readable-to-markers returns an atom, just use that.
;; 2009/06/17 dadams
;; icicle-fit-completions-window: Scale text size initially.
;; 2009/06/07 dadams
;; icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
;; icicle-mctize-all: If PRED is nil, so is NEWPRED (use and instead of when).
;; 2009/05/22 dadams
;; Require icicles-mac.el if load-library doesn't find it.
;; 2009/05/18 dadams
;; icicle-display-candidates-in-Completions: deactivate-mark in *Completions* after display.
;; 2009/05/17 dadams
;; icicle-next-candidate: Updated to reflect thumb-frm.el name changes.
;; 2009/05/17 dadams
;; Added: icicle-toggle-icicle-mode-twice.
;; In eval-after-load crm: Use icicle-toggle-icicle-mode-twice, not icy-mode calls.
;; 2009/05/15 dadams
;; icicle-unhighlight-lighter: Wrap redisplay in condition-case, like elsewhere.
;; 2009/05/11 dadams
;; Added: icicle-upcase. Use in place of upcase everywhere, to work around Emacs 20 bug.
;; Added: icicle-local-keys-first-p.
;; icicle-display-candidates-in-Completions:
;; Don't highlight historical candidate if in icicle-hist-cands-no-highlight.
;; 2009/05/09 dadams
;; icicle-input-from-minibuffer: Keep text properties when pick up input.
;; icicle-highlight-input-noncompletion(-rest): Use an overlay instead of text property.
;; icicle-show-help-in-mode-line: Fix special case for pseudo-key/cmd ..: go up to prefix.
;; 2009/05/07 dadams
;; icicle-display-candidates-in-Completions, in the code that hides common match:
;; Don't reset display property to nil.
;; Use icicle-common-match-string, not current input.
;; icicle-expanded-common-match-1:
;; If input doesn't match candidate, return nil. Throw nil, not input, everywhere.
;; *-unsorted(-file-name)-apropos-candidates, *-apropos-any(-file-name)-candidates-p:
;; Protect calls to icicle-apropos-complete-match-fn with condition-case, for Emacs 20.
;; icicle-place-cursor: Added optional arg.
;; 2009/05/05 dadams
;; icicle-alt-act-fn-for-type:
;; Bind completion-ignore-case, based on read-buffer-completion-ignore-case.
;; 2009/05/03 dadams
;; Use (fboundp 'minibuffer-default-add-completions), not (> emacs-major version 22).
;; 2009/05/01 dadams
;; Renamed: icicle-choose-action-for-type to icicle-alt-act-fn-for-type.
;; icicle-type-actions-alist: Rewrote. Handle both list of objs and single obj.
;; icicle-quote-file-name-part-of-cmd: Rewrote. Quote file name always, and only file name.
;; 2009/04/30 dadams
;; icicle-show-in-mode-line: Clear any message (e.g. Computing completion candidates...).
;; 2009/04/29 dadams
;; icicle-get-alist-candidate: If NO-ERROR-P is 'no-error-no-msg, just return nil (no msg).
;; icicle-choose-action-for-type: Use lax completion.
;; 2009/04/28 dadams
;; icicle-choose-action-for-type:
;; Moved here from icicles-mac.el, changed to a function, and locally bind
;; *-alt-action-fn to icicle-choose-action-for-type function.
;; For undefined TYPE, provide all functions as candidates.
;; Added eval-when-compile of load-library icicles-mac.
;; 2009/04/27 dadams
;; icicle-recompute-candidates:
;; Keep no-display completion mode, if that's current.
;; Set icicle-last-completion-command only if completion type, not user input, changed.
;; icicle-complete-again-update: Added icicle-prefix-complete-no-display to first case.
;; 2009/04/19 dadams
;; Use unless instead of or for fset's. (cosmetic)
;; icicle-completing-read, icicle-read-from-minibuffer, icicle-read-string:
;; Renamed history parameter to HIST-m@%=!$+&^*z, so C-h f output looks less strange.
;; 2009/04/18 dadams
;; Soft-require hexrgb.el unconditionally, not just when there is a window-system.
;; 2009/04/12 dadams
;; icicle-display-candidates-in-Completions: Added number of candidates to mode-line.
;; icicle-show-help-in-mode-line: Use face icicle-show-help-in-mode-line. Fix prefix keys.
;; 2009/04/11 dadams
;; icicle-candidate-short-help:
;; Do nothing if either icicle-help-in-mode-line-flag or tooltip-mode is nil.
;; icicle-show-help-in-mode-line:
;; If no symbol help, try string.
;; Handle lambdas, menu-function-# from easy-menu, and prefix keys.
;; icicle-make-color-candidate: Construct short help only if user will see it.
;; 2009/04/10 dadams
;; Added: icicle-candidate-short-help, icicle-color-completion-setup (from i*-read-color).
;; Moved here from icicle-cmds.el:
;; icicle-remove-color-duplicates, icicle-color-help, icicle-make-color-candidate.
;; icicle-make-color-candidate: Added short help, using icicle-candidate-short-help.
;; icicle-show-help-in-mode-line:
;; Treat :icicle-candidate-help text property on strings.
;; Use candidate, not cand, for stringp clause, and use icicle-transform-multi-completion.
;; Renamed: :icicle-candidate-help to icicle-mode-line-help.
;; 2009/04/08 dadams
;; icicle-show-help-in-mode-line: Treat absolute file names too.
;; 2009/04/07 dadams
;; icicle-show-help-in-mode-line: (bufferp (get-buffer...)...) -> (get-buffer...) Duh.
;; 2009/04/06 dadams
;; Added: icicle-show-help-in-mode-line - from code in icicle-next-candidate:
;; Added arg. Handle: faces, buffer names, file names, :icicle-candidate-help.
;; Added: icicle-help-line-(buffer|file).
;; icicle-next-candidate: Use icicle-show-help-in-mode-line.
;; 2009/04/05 dadams
;; Added: icicle-show-in-mode-line.
;; icicle-next-candidate: Use icicle-show-in-mode-line to show help in mode-line.
;; 2009/04/04 dadams
;; Added: icicle-buffer-smaller-p, icicle-major-mode-name-less-p,
;; icicle-mode-line-name-less-p, icicle-buffer-file/process-name-less-p.
;; 2009/04/03 dadams
;; icicle-read-from-minibuffer: Save filtered default val as icicle-filtered-default-value.
;; icicle-lisp-vanilla-completing-read: Use icicle-filtered-default-value, not DEF, at end.
;; 2009/03/29 dadams
;; icicle-read-shell-command: If non-nil initial-contents, punt to use original (old-*).
;; 2009/03/27 dadams
;; Don't fset minibuffer-default-add-completions unless > Emacs 22.
;; 2009/03/27 dadams
;; icicle-read-from-minibuffer: Use icicle-filter-wo-input on default-value (all values).
;; icicle-completing-read, icicle-read-file-name-1:
;; Use icicle-filter-wo-input on default value only to get init value.
;; Added: icicle-minibuffer-default-add-completions, icicle-first-N.
;; 2009/03/26 dadams
;; icicle-completing-read, icicle-read-file-name-1:
;; Filter default values using icicle-filter-wo-input.
;; icicle-filter-wo-input: Return the candidate, if it passes filtering.
;; 2009/03/16 dadams
;; Added: icicle-recentf-make-menu-items.
;; 2009/03/10 dadams
;; icicle-read-shell-command-completing: Applied renamings: icicle-guess-commands-in-path,
;; icicle-shell-command-candidates-cache, icicle-recompute-shell-command-candidates.
;; Moved to icicles-opt.el and renamed: icicle-shell-command-candidates.
;; 2009/03/08 dadams
;; Added: icicle-quote-file-name-part-of-cmd.
;; icicle-read-shell-command-completing:
;; Call icicle-quote-file-name-part-of-cmd to escape spaces etc. in file names.
;; Removed unneeded minibuffer-local-*-map let bindings.
;; icicle-dired-smart-shell-command:
;; Protected dired-default-directory with fboundp, for Emacs 20.
;; 2009/03/01 dadams
;; icicle-read-from-minibuffer:
;; No longer use icicle-complete-on-demand-cmd and on-demand-map.
;; 2009/02/28 dadams
;; Don't fset old-dired-smart-shell-command here - do after load Dired-X (icicles-mode.el).
;; Added for Emacs 20: definition of replace-regexp-in-string.
;; icicle-read-(number|string-completing):
;; No need for fboundp of replace-regexp-in-string, since provide it now for Emacs 20.
;; icicle-read-file-name: Treat directory candidates as special candidates.
;; icicle-read-shell-command-completing:
;; Candidate help depends on candidate type.
;; Use existing icicle-extra-candidates as its own default, not icicle-file-extras.
;; 2009/02/27 dadams
;; icicle-shell-command: Fixed typo: shell-command -> old-shell-command.
;; icicle-read-shell-command-completing: Append icicle-file-extras to i*-extra-candidates.
;; 2009/02/23 dadams
;; icicle-read-shell-command-completing:
;; Bind icicle-extra-candidates-dir-insert-p, not insert-default-directory, to nil.
;; icicle-next-candidate: Protect dir insertion with icicle-extra-candidates-dir-insert-p.
;; 2009/02/22 dadams
;; icicle-dired-read-shell-command: Use minibuffer-default-add-shell-commands if available.
;; 2009/02/20 dadams
;; icicle-read-from-minibuffer: Treat icicle-complete-on-demand-cmd - on-demand completion.
;; Added: icicle-dired-smart-shell-command, icicle-read-shell-command-completing,
;; icicle-dired-read-shell-command, icicle-extra-candidates-first-p,
;; icicle-require-match-p, icicle-shell-command(-on-region).
;; icicle-read-shell-command:
;; Call icicle-read-shell-command-completing. Define always, not just when mailcap.
;; icicle-dired-guess-shell-command: Just call icicle-read-shell-command-completing.
;; icicle-shell-command-candidates: Cache completions in icicle-shell-command-candidates.
;; icicle-highlight-input-noncompletion(-rest), icicle-highlight-lighter:
;; Use function icicle-require-match-p, not var.
;; icicle-completing-p: Test also whether parent map is a completion map. Always cache.
;; 2009/02/17 dadams
;; icicle-read-shell-command: Handle nil default-value. Thx to Kao Felix.
;; icicle-read-file-name: Append new proxy cands to any existing ones.
;; Don't assume that a proxy cand is a variable.
;; 2009/01/25 dadams
;; Added: *-dired-guess-shell-command, *-read-shell-command, *-shell-command-candidates.
;; 2009/01/17 dadams
;; icicle-display-candidates-in-Completions: Highlight Levenshtein (1) match.
;; icicle-unsorted-apropos(-file-name)-candidates, icicle-display-Completions,
;; icicle-apropos-any(-file-name)-candidates-p: Removed PCM.
;; Added: icicle-levenshtein(-strict|-one)-match, icicle-levenshtein-one-regexp,
;; icicle-substrings-of-length.
;; 2009/01/15 dadams
;; Lose "icicle-" for fboundp's: completion-all-completions, completion-try-completion.
;; 2009/01/14 dadams
;; Added: icicle-remove-dups-if-extras.
;; 2009/01/13 dadams
;; Added: icicle-completion-all-completions, icicle-completion-try-completion.
;; icicle-unsorted(-file-name)-(prefix|apropos)-candidates, icicle-display-Completions,
;; icicle-any-(prefix|apropos)(-file-name)-candidates-p:
;; Respect icicle-respect-completion-styles-p (Emacs 23).
;; icicle-unsorted-file-name-prefix-candidates: Removed matching "^"++(regexp-quote input).
;; icicle(-unsorted)(-file-name)-(prefix|apropos)-candidates:
;; Call icicle-transform-candidates for extra candidates and proxy candidates too.
;; icicle-display-candidates-in-Completions: Highlight extra candidates.
;; icicle-face-valid-attribute-values:
;; Use font-family-list instead of x-font-family-list, if available.
;; 2009/01/03 dadams
;; icicle-call-then-update-Completions:
;; If icicle-last-completion-command is nil, test icicle-current-completion-mode - don't
;; just call icicle-prefix-complete. E.g. icicle-search shouldn't end with a single
;; prefix match.
;; 2008/12/25 dadams
;; Added: icicle-save-raw-input (factored out from icicle-save-or-restore-input).
;; icicle-save-or-restore-input:
;; Change test whether last-command is cycling cmd to add also not being completing cmd.
;; Use icicle-completing-p instead of testing this-command for being a cycling cmd.
;; Use icicle-save-raw-input.
;; icicle-next-candidate: Set icicle-cycling-p (new var) to t.
;; 2008/12/20 dadams
;; icicle-save-or-restore-input: Don't restore last input if this is a completing command.
;; 2008/12/07 dadams
;; icicle-completing-read, icicle-read-file-name-1:
;; Removed icicle-prompt. Don't add completion prompt prefix, except for Emacs 20.
;; 2008/12/06 dadams
;; icicle-call-then-update-Completions:
;; To update, call icicle-last-completion-command, not icicle-(apropos|prefix)-complete.
;; 2008/12/02 dadams
;; icicle-unsorted(-file-name)-apropos-candidates:
;; Call icicle-filter-wo-input before filtering with user input (as the doc string says).
;; 2008/11/28 dadams
;; icicle-recompute-candidates, icicle-save-or-restore-input:
;; Test property icicle-(prefix|apropos)-completing-command, not eq cmds.
;; 2008/11/23 dadams
;; icicle-read-file-name:
;; Don't initialize icicle-proxy-candidates unless icicle-add-proxy-candidates-flag.
;; Don't add + to completion indicator if Emacs 23.
;; 2008/11/22 dadams
;; icicle-completing-read:
;; Bind icicle-fancy-cands-internal-p. Do not call icicle-mctize-all unless fancy cands.
;; icicle-mctized-full-candidate:
;; No-op unless icicle-fancy-cands-internal-p or icicle-whole-candidate-as-text-prop-p.
;; icicle-read-(number|char-exclusive|string-completing|face-name):
;; Put icicle-fancy-candidates property on prompt if proxy candidates.
;; icicle-display-candidates-in-Completions:
;; Don't transform candidates unless icicle-fancy-cands-internal-p.
;; 2008/11/18 dadams
;; icicle-display-candidates-in-Completions:
;; Add icicle-special-candidate property as text property to candidates in
;; icicle-completion-candidates, instead of just to display candidate, so returned also.
;; Added support for icicle-display-string property.
;; For these properties: look up symbol first in minibuffer-completion-table if obarray.
;; 2008/11/14 dadams
;; icicle-display-candidates-in-Completions:
;; Respect icicle-hide-common-match-in-Completions-flag.
;; 2008/11/10 dadams
;; icicle(-unsorted)(-file-name)-(apropos|prefix)-candidates:
;; Moved special and proxy candidates outside match filtering,
;; reversing a change made on 2007/11/18. Dunno why that change was made.
;; But filter special and proxy candidates using the input.
;; 2008/11/09 dadams
;; Added: icicle-join-nth-parts, icicle-display-cand-from-full-cand.
;; icicle-transform-multi-completion: Use icicle-join-nth-parts.
;; icicle-transform-multi-completion: Don't test icicle-list-join-string (always non-nil).
;; icicle-first-matching-candidate:
;; Fix: set res properly, not to the tested value. Thx to Hannes Janetzek.
;; 2008/11/07 dadams
;; icicle-color-name-w-bg: Return input if hexrgb.el is not loaded. Thx to Fabrice Knevez.
;; 2008/11/04 dadams
;; icicle-read-face-name: Soft-require eyedropper.el or palette.el.
;; 2008/11/03 dadams
;; icicle-expanded-common-match: Bug fix for Emacs 20: If error matching, just return INPUT.
;; icicle-highlight-input-noncompletion: Erase any message first before highlighting.
;; 2008/11/02 dadams
;; icicle-display-candidates-in-Completions: For icicle-candidate-properties-alist, use
;; narrowed buffer content, not i-current-completion-in-Completions.
;; 2008/10/24 dadams
;; icicle-first-matching-candidate:
;; Use regexp-quote on CAND.
;; Add icicle-list-end-string to each entry in CANDIDATES.
;; Iteration, not recursion.
;; icicle-get-alist-candidate: Added optional arg NO-ERROR-P.
;; 2008/10/18 dadams
;; Replaced customize-save-variable by funcall icicle-customize-save-variable-function.
;; 2008/10/14 dadams
;; Applied renaming of icicle-completion-help to icicle-minibuffer-help.
;; 2008/10/06 dadams
;; Don't toggle icy-mode after loading crm.el unless icy-mode is defined (!).
;; icicle-ms-windows-NET-USE: If hash tables not available, just run the NET USE process.
;; 2008/10/04 dadams
;; Substitute Icicles version of completing-read-multiple and its maps. Thx to Per Nordlow.
;; Added: (icicle|old)-completing-read-multiple, icicle-define-crm-completion-map,
;; (icicle|old)-crm-local-(completion|must-match)-map.
;; icicle-display-completion-list: Protect against Emacs 23 nonsense with base-size in cdr.
;; 2008/09/30 dadams
;; Added: icicle-ms-windows-NET-USE. Thx to Thomas Lim.
;; icicle-file-remote-p: Use icicle-ms-windows-NET-USE.
;; icicle-highlight-input-noncompletion: Return file-local-p if test shows it's local.
;; icicle-call-then-update-Completions:
;; Treat also known file-local-p return from icicle-highlight-input-noncompletion.
;; Renamed icicle-isearch-complete-1 to icicle-isearch-complete-past-string and moved it
;; here from icicles-mcmd.el.
;; icicle-isearch-complete-past-string: Always use regexp-search-ring. Changed prompt.
;; 2008/09/27 dadams
;; icicle-highlight-input-noncompletion: Fixed typo: implicit-remote -> implicit.
;; 2008/09/20 dadams
;; icicle-(apropos|prefix)-candidates, icicle-maybe-sort-and-strip-candidates:
;; Strip ignored files if icicle-abs-file-candidates.
;; 2008/09/19 dadams
;; icicle-get-candidates-from-saved-set: Added optional arg DONT-EXPAND-FILESETS-P.
;; Use icicle-kill-a-buffer, not kill-buffer.
;; Moved icicle-kill-a-buffer here from icicles-cmd.el.
;; Added: icicle-unpropertize.
;; icicle-completing-read, icicle-read-file-name: Use icicle-unpropertize.
;; 2008/09/16 dadams
;; filesets-get-filelist: Fixed :tree so it includes files in subdirs.
;; Added: icicle-filesets-files-under.
;; 2008/09/15 dadams
;; Added: icicle-saved-fileset-p, icicle-displayable-cand-from-saved-set.
;; icicle-get-candidates-from-saved-set:
;; Rewrote code to convert saved candidates to displayable candidates.
;; Use icicle-displayable-cand-from-*, icicle-saved-fileset-p. Require filesets.el.
;; Moved filesets-get-fileset-from-name into and of first cond clause.
;; Wrapped defun of filesets-get-filelist in eval-after-load.
;; 2008/09/13 dadams
;; Added: icicle-get-candidates-from-saved-set (factored from code in
;; icicle-retrieve-candidates-from-set), filesets-get-filelist (redefined),
;; icicle-explicit-saved-completion-candidates.
;; Moved here from icicles-mcmd.el: icicle-readable-to-markers.
;; 2008/09/04 dadams
;; icicle-read-file-name-1: Removed unused code for non icicle-mode case.
;; 2008/09/03 dadams
;; Removed: icicle-(un)highlight-crosshairs, icicle-unhighlight-crosshairs+cleanup.
;; 2008/09/01 dadams
;; Added: icicle-(un)highlight-crosshairs, icicle-unhighlight-crosshairs+cleanup.
;; 2008/08/29 dadams
;; icicle-mctize-all:
;; Do it for all list collections (new icicle-mctized-full-candidate).
;; Adjust PRED to use cdr only for conses with string cars.
;; icicle-mctized-full-candidate:
;; Treat all kinds of list entries: strings, symbols, and conses with symbol args, etc.
;; 2008/08/25 dadams
;; icicle-display-candidates-in-Completions: Do nothing if NO-DISPLAY-P is 'no-msg.
;; 2008/08/24 dadams
;; icicle-filter-wo-input: Filter out empty-string candidates: "".
;; Added: icicle-minibuf-input-sans-dir.
;; Renamed: icicle-minibuffer-contents-from-minibuffer to icicle-input-from-minibuffer,
;; icicle-minibuffer-contents to icicle-minibuf-input.
;; icicle-display-candidates-in-Completions, icicle-next-candidate, icicle-place-cursor:
;; Use icicle-minibuf-input-sans-dir.
;; 2008/08/23 dadams
;; icicle-display-candidates-in-Completions:
;; Wrap preliminary display of *Completions* in save-selected-window.
;; 2008/08/22 dadams
;; icicle-display-candidates-in-Completions:
;; Display *Completions* before calling with-output-to-temp-buffer and filling it.
;; This is so we can know the window width, to determine the correct formatting.
;; icicle-insert-candidates:
;; Don't use lru window or *-Completions-*-default-width (removed). Failsafe width 40.
;; 2008/08/21 dadams
;; icicle-completing-read:
;; Bind minibuffer-completing-file-name to nil if not completing a file name.
;; Removed setq of minibuffer-completion-table. Already do it in *-lisp-vanilla-*.
;; 2008/08/20 dadams
;; icicle-insert-candidates:
;; Turn off mouse-face after insert candidate.
;; Fixup whitespace correctly: Don't remove whitespace that is part of a candidate.
;; Added: icicle-ding.
;; icicle-read-number: Replaced ding by icicle-ding.
;; 2008/08/18 dadams
;; Moved here from icicles-cmd.el (and renamed from *-less-p): icicle-cdr-lessp.
;; Added: icicle-delete-count, icicle-mctize-all, icicle-mctized-(display|full)-candidate,
;; icicle-part-1-cdr-lessp.
;; Renamed: icicle-delete-if(-not) to icicle-remove-if(-not),
;; icicle-put-alist-candidate to icicle-put-whole-cand-prop,
;; icicle-update-completions to icicle-complete-again-update.
;; icicle-completing-read: Factored out transformation to MCT into new fn icicle-mctize-all.
;; 2008/08/08 dadams
;; icicle-completing-read: Updated doc string for Emacs 23.
;; 2008/08/03 dadams
;; icicle-completing-read: Convert the predicate to apply to just the cdr (= original cons).
;; icicle-save-or-restore-input: Don't save empty string ("") to C-l history.
;; 2008/07/27 dadams
;; Added: icicle-2nd-part-string-less-p.
;; Moved here from icicles-mcmd.el: icicle-transform-multi-completion.
;; 2008/07/19 dadams
;; icicle-choose-completion-string: Don't move to point-max unless in minibuffer.
;; 2008/06/24 dadams
;; Make *-must-match-filename-map an alias for *-filename-completion-map. Use the latter.
;; 2008/06/22 dadams
;; icicle-completing-read, icicle-read-file-name:
;; Remove text properties from result (only) if icicle-unpropertize-*-flag.
;; 2008/06/21 dadams
;; icicle-read-file-name: Remove text properties from result file name.
;; 2008/06/01 dadams
;; icicle-lisp-vanilla-completing-read: Typo: minibuffer-local-must-match-filename-map.
;; Put sort predicate properties on some sort predicate symbols, e.g. icicle-dirs-last-p.
;; 2008/05/22 dadams
;; icicle-read-file-name: Bind minibuffer-completing-file-name to t.
;; icicle-read-file-name-1: Do not prepend ". " if Emacs 23+, since it uses completing-read.
;; icicle-(un)highlight-lighter: Reflect case-sensitivity in lighter.
;; 2008/05/11 dadams
;; icicle-unsorted(-file-name)-apropos-candidates:
;; Pass input to all-completions only if not icicle-apropos-complete-match-fn.
;; 2008/05/11 dadams
;; Renamed icicle-fit-Completions-window to icicle-fit-completions-window.
;; icicle-fit-completions-window: Use current window - not necessarily for *Completions*.
;; 2008/05/06 dadams
;; icicle-highlight-lighter: Wrap redisplay in condition-case to ignore any errors.
;; 2008/05/05 dadams
;; icicle-file-name-input-p: Redefined to just use minibuffer-completing-file-name.
;; 2008/05/01 dadams
;; icicle-lisp-vanilla-completing-read, icicle-lisp-vanilla-completing-read,
;; icicle-read-from-minibuffer, icicle-read-number, icicle-read-string-completing:
;; Adapted to Emacs 23 change to allow list of strings for default value.
;; 2008/04/25 dadams
;; icicle-call-then-update-Completions:
;; nil icicle-test-for-remote-files-flag means don't test for remote file name.
;; icicle-highlight-input-noncompletion:
;; Correction: implicit, not always, in combination with not incremental completion.
;; Added check for icicle-completing-command if value is explicit*.
;; Added check for icicle-test-for-remote-files-flag if *-strict with lax completion.
;; Protect call to icicle-file-remote-p with check of icicle-test-for-remote-files-flag.
;; 2008/04/18 dadams
;; Renamed icicle-init-value-flag to icicle-default-value.
;; icicle-read-from-minibuffer:
;; If icicle-default-value is t, add to prompt. Thx to Dominique Quatrevaux.
;; icicle-completing-read, icicle-read-file-name-1, icicle-read-from-minibuffer:
;; Change icicle-default-value test to rule out t also.
;; icicle-completion-setup-function:
;; Don't call file-name-directory unless minibuffer-completing-file-name.
;; 2008/04/01 dadams
;; icicle-unsorted(-file-name)-apropos-candidates:
;; If icicle-unsorted-apropos-candidates pass input to all-completions.
;; icicle-expanded-common-match-1:
;; Use icicle-apropos-complete-match-fn throughout, but return nil if that is nil.
;; icicle-display-candidates-in-Completions:
;; If icicle-apropos-complete-match-fn is nil, don't try to highlight input match.
;; 2008/03/31 dadams
;; icicle-display-candidates-in-Completions:
;; Allow for no completion type, for No completions msg.
;; 2008/03/30 dadams
;; icicle-read-file-name-1:
;; Bind read-file-name-function to nil.
;; Funcall icicle-old-read-file-name-fn instead of old-read-file-name.
;; icicle-(un)highlight-lighter: Respect icicle-highlight-lighter-flag.
;; Top-level: Moved fset for old-read-file-name to icicles-mode.el and renamed it.
;; 2008/03/29 dadams
;; icicle-completing-read, icicle-read-file-name-1:
;; Combine new faces for single-character minibuffer completion status indicator.
;; Call icicle-highlight-lighter after establishing require-match, not at beginning.
;; No longer use completing-prompt-prefix(-symb).
;; No longer use icicle-reminder-prompt-flag (no longer add help to prompt).
;; Removed: icicle-control-reminder-prompt.
;; icicle-highlight-lighter:
;; Combine faces for highlighting. Indicate multi-command and strict/lax completion.
;; icicle-unhighlight-lighter: Add + for multi-command. Don't bother to propertize strg.
;; icicle-file-remote-p: If name matches Windows drive letter, don't try other remote tests.
;; 2008/03/11 dadams
;; icicle-completing-read-history:
;; Convert cons list elements to strings. Lets you use M-o with command-history.
;; 2008/03/09 dadams
;; Added: icicle-(un)highlight-lighter.
;; icicle-completing-read, icicle-read-file-name: Call icicle-highlight-lighter.
;; 2008/03/08 dadams
;; icicle-completing-p: Replaced where-is-internal test with completion keymaps test.
;; 2008/03/05 dadams
;; icicle-completing-read:
;; Copy TABLE etc. only if candidates are strings. Thx to Damon Permezel for bug report.
;; icicle-files-within: Skip inaccessible directories and unreadable files. Thx to Damon.
;; 2008/02/28 dadams
;; icicle-completing-read: Fixed test for multicompletion: List of strings, not just list.
;; 2008/02/24 dadams
;; Added: icicle-scatter(-match).
;; icicle-display-*-in-Completions: Highlighting of input match can use icicle-scatter.
;; Use icicle-apropos-complete-match-fn in message.
;; icicle-expanded-common-match-1: Use icicle-apropos-complete-match-fn, not string-match.
;; 2008/02/23 dadams
;; icicle-completing-read:
;; Change initial-input to a cons with 0 position if icicle-init-value-flag is *-start.
;; icicle-lisp-vanilla-completing-read: Set position to end of initial-input, by default.
;; Convert zero-based position to one-based.
;; 2008/02/22 dadams
;; icicle-completing-read:
;; For all alist candidates (not just multi-completion):
;; Copy the car and replace the cdr with the whole candidate.
;; icicle-get-alist-candidate: Get and return just whole icicle-whole-candidate property.
;; icicle-completion-setup-function (for Emacs 20):
;; minibuffer-prompt-end -> icicle-minibuffer-prompt-end.
;; 2008/02/16 dadams
;; icicle-get-alist-candidate:
;; Reconstitute whole candidate, by consing string onto data, which is only the cdr now.
;; icicle-completing-read: Use icicle-put-alist-candidate to put candidate data onto string.
;; Added: icicle-put-alist-candidate. Put only the cdr (data), not whole, onto the string.
;; 2008/02/14 dadams
;; Added: icicle-substring-no-properties.
;; 2008/02/11 dadams
;; icicle-read-string-completing: Moved save-match-data so replace-match can use match data.
;; 2008/02/06 dadams
;; icicle-highlight-input-noncompletion:
;; Wait icicle-highlight-input-completion-failure-delay before highlighting.
;; Don't highlight if past icicle-highlight-input-completion-failure-threshold.
;; Combined input-pending test with highlighting test, and moved it before file-name test.
;; Conditionalized face removal.
;; Return nil when input within delay preempts highlighting.
;; icicle-highlight-initial-whitespace: Removed only vestigial whitespace highlighting.
;; icicle-read-number: Moved save-match-data outside cond.
;; 2008/02/03 dadams
;; icicle-choose-completion-string:
;; Go to point-max before insert choice. Respect icicle-dir-candidate-can-exit-p.
;; icicle-completion-setup-function:
;; Set default dir only if this is a completion cmd or not *-comp-base-is-default-dir-p.
;; If icicle-comp-base-is-default-dir-p, set completion-base-size to default-dir length.
;; icicle-read-file-name: Bind ffap vars to prevent slowing down ffap-guesser.
;; 2008/01/29 dadams
;; Added: icicle-(apropos|prefix)-any(-file-name)-candidates-p,
;; icicle-subst-envvar-in-file-name, icicle-highlight-input-noncompletion-rest,
;; icicle-any-candidates-p, icicle-file-remote-p.
;; icicle-minibuffer-contents-from-minibuffer: Use icicle-subst-envvar-in-file-name.
;; icicle-call-then-update-Completions:
;; Reinitialize icicle-input-fail-pos to nil.
;; If we know input is a remote file name from failure highlighting, skip remote test.
;; Use icicle-file-remote-p, not file-remote-p.
;; icicle-highlight-input-noncompletion: Rewrote.
;; Takes no args now.
;; Do nothing if input pending or input is empty.
;; Use icicle-file-remote-p, not file-remote-p. Return value indicating remote file name.
;; Use new values of icicle-highlight-input-completion-failure, including always.
;; First check through last two chars, then icicle-highlight-input-noncompletion-rest.
;; icicle-highlight-input-noncompletion-rest (was in icicle-highlight-input-noncompletion):
;; No longer use icicle-max-chars-noncompletion-highlight.
;; Use icicle-any-candidates-p, so don't compute candidate lists.
;; 2008/01/15 dadams
;; icicle-command-abbrev-save: Added condition-case with message in case of error.
;; icicle-control-reminder-prompt: Added message.
;; 2008/01/13 dadams
;; icicle-read-face-name: Use icicle-transform-multi-completion.
;; icicle-next-candidate: Do not use icicle-transform-multi-completion.
;; icicle-next-candidate, icicle-save-or-restore-input: Do not treat handle-switch-frame.
;; 2008/01/08 dadams
;; Renamed icicle-expanded-common-match to icicle-expanded-common-match-1.
;; New icicle-expanded-common-match uses longest of two tries.
;; icicle-expanded-common-match-1, first loop: Match ecm only up to orig-match-end.
;; icicle-read-file-name: Use icicle-var-is-of-type-p for proxy candidates.
;; icicle-choose-completion-string, icicle-strip-ignored-files-and-sort,
;; icicle-filter-wo-input, icicle-first-matching-candidate,
;; icicle-(proxy-candidate|prefix-keys)-first-p, icicle-var-(matches|inherits)-type-p,
;; icicle-read-(number|face-name|file-name|string-completing),
;; icicle-unsorted(-file-name)-prefix-candidates, icicle-expanded-common-match-1,
;; icicle-next-candidate, icicle-remove-dots: Wrap string-match in save-match-data.
;; icicle-display-candidates-in-Completions: Moved save-match-data locations.
;; 2008/01/05 dadams
;; icicle-next-candidate: Don't refresh Completions if last-command = handle-switch-frame.
;; 2008/01/04 dadams
;; icicle-insert-candidates: Put property icicle-keep-newline on final \n of candidate.
;; 2007/12/31 dadams
;; icicle-choose-completion-string: In minibuffer, delete all input before inserting.
;; 2007/12/27 dadams
;; icicle-unsorted(-file-name)-apropos-candidates:
;; Use null *-apropos-*-match-fn, not function-valued TABLE to inhibit input match.
;; 2007/12/26 dadams
;; icicle-next-candidate: Raise *Completions* frame at the end.
;; 2007/12/24 dadams
;; icicle-unsorted(-file-name)-apropos-candidates:
;; Don't match input regexp if minibuffer-completion-table is a function.
;; icicle-var-inherits-type-p:
;; Recheck var-type match after set var-type to its car.
;; Handle string (regexp) TYPES elements.
;; icicle-value-satisfies-type-p: Skip type check for string type (regexp).
;; icicle-var-is-of-type-p: Doc string. Use icicle-var-matches-type-p.
;; Added: icicle-var-matches-type-p, icicle-custom-type.
;; 2007/12/23 dadams
;; icicle-var-is-of-type-p:
;; Added MODE arg. Use icicle-var-inherits-type-p, icicle-var-val-satisfies-type-p.
;; Redefined as MODE choice, not just a simple or. Treat more cases.
;; Added: icicle-var-inherits-type-p, icicle-var-val-satisfies-type-p,
;; icicle-value-satisfies-type-p.
;; icicle-read-(number|char-exclusive|string-completing|face-name):
;; Don't fill icicle-proxy-candidates unless icicle-add-proxy-candidates-flag.
;; Corrected doc string to refer to icicle-add-proxy-candidates-flag.
;; 2007/12/22 dadams
;; icicle-var-is-of-type-p:
;; Check supertypes also. Use both :validate and :match.
;; Wrap type check in condition-case. Use widget-put instead of plist-put.
;; Added soft require of wid-edit+.el.
;; 2007/12/21 dadams
;; icicle-var-is-of-type-p: Use :validate, not :match, for the test.
;; 2007/12/19 dadams
;; icicle-display-candidates-in-Completions:
;; Ensure icicle-last-input is non-nil in (file-name-directory icicle-last-input).
;; 2007/12/14 dadams
;; icicle-fit-Completions-window:
;; Don't try to get a property if it's not a symbol. Thx to Mike Mattie.
;; 2007/12/11 dadams
;; Added: icicle-read-char-exclusive.
;; icicle-read-face-name: Include face-name vars as proxy candidates.
;; 2007/12/10 dadams
;; icicle-highlight-input-noncompletion: Use face icicle-input-completion-fail-lax also.
;; 2007/12/09 dadams
;; icicle-highlight-input-noncompletion: Respect icicle-max-chars-noncompletion-highlight.
;; 2007/12/08 dadams
;; icicle-read-file-name:
;; Include file-name variables as proxy candidates. Reset icicle-proxy-candidates at end.
;; icicle-read-number: float type is not defined before Emacs 22.
;; icicle-read-string-completing:
;; Set default to "" if nil, but only after completing-read.
;; Set car of hist to var value, replacing var name. Treat consp hist also.
;; 2007/12/03 dadams
;; Renamed icicle-longest-common-match to icicle-expanded-common-match.
;; 2007/12/02 dadams
;; Added: icicle-var-is-of-type-p.
;; icicle-read-(number|string-completing):
;; Use icicle-var-is-of-type-p, to handle compatible types.
;; 2007/11/30 dadams
;; icicle-read-file-name, icicle-read-(number|string-completing),
;; icicle-display-candidates-in-Completions, icicle-proxy-candidate-first-p:
;; Use only membership in icicle-proxy-candidates, not icicle-proxy-candidate property.
;; icicle-choose-completion-string:
;; Condition for exit: could be no minibuffer-completion-table if extra or proxy cands.
;; 2007/11/29 dadams
;; icicle-read-(number|string-completing):
;; Treat icicle-add-proxy-candidates-flag and icicle-proxy-candidates.
;; icicle-display-candidates-in-Completions: Treat empty icicle-completion-candidates.
;; 2007/11/27 dadams
;; Added: icicle-read-number, icicle-read-string-completing.
;; icicle-read-file-name: Remove icicle-proxy-candidate property in unwind-protect.
;; 2007/11/25 dadams
;; Added: icicle-command-abbrev(-save|-used-more-p).
;; 2007/11/24 dadams
;; icicle-longest-common-match, first loop: string-match -> not string-match.
;; len-first -> length of lcm.
;; Added: icicle-proxy-candidate-first-p.
;; 2007/11/18 dadams
;; icicle(-unsorted)(-file-name)-(apropos|prefix)-candidates:
;; Include also icicle-proxy-candidates.
;; Move special and proxy candidates inside match filtering.
;; icicle-display-candidates-in-Completions:
;; Don't expand directory when highlighting special candidate.
;; 2007/11/02 dadams
;; icicle-longest-common-match:
;; First loop: (1) match against at most len-first, (2) put the match into the and test.
;; 2007/10/28 dadams
;; icicle-display-candidates-in-Completions:
;; Always highlight longest common match for prefix completion.
;; icicle-unsorted(-file-name)-prefix-candidates, icicle-fuzzy-candidates:
;; Set icicle-common-match-string, regardless of icicle-expand-input-*-flag.
;; icicle-save-or-restore-input:
;; Update to lcm even if no input change, if completion mode changed.
;; Update to lcm if prefix completing, even if icicle-expand-input-*-flag is nil.
;; Save input for C-l even if this command is an icicle-completing-command (?).
;; Don't reset raw input to "" if cycling, so keep highlight in *Completions*.
;; icicle-longest-common-match: Test prefix through embedded input each time.
;; 2007/10/26 dadams
;; icicle-read-face-name (Emacs 22): Fix the treatment of default value.
;; 2007/10/22 dadams
;; icicle-display-candidates-in-Completions:
;; Highlight only regexp matching part of special candidates.
;; Highlight special cands regardless of icicle-highlight-historical-candidates-flag.
;; 2007/10/02 dadams
;; icicle-next-candidate:
;; Apply abbreviate-file-name to file-name input. Thx to Joonhwan Lee.
;; 2007/09/29 dadams
;; Added: icicle-fuzzy-candidates.
;; icicle-prefix-candidates: Treat fuzzy completion.
;; icicle-display-candidates-in-Completions:
;; For prefix completion, highlight literal input match in Completions.
;; 2007/09/26 dadams
;; icicle-read-from-minibuffer: Removed keep-all arg - see also 2006/06/01.
;; 2007/09/22 dadamms
;; icicle-completing-read, icicle-read-from-minibuffer:
;; Ensure that init arg is string when get it from default arg via icicle-init-*-flag.
;; 2007/09/18 dadams
;; icicle-call-then-update-Completions:
;; Test icicle-current-completion-mode, not icicle-last-completion-command.
;; 2007/09/16 dadams
;; icicle-call-then-update-Completions:
;; Don't complete if file-remote-p.
;; Highlight completion failure only if input > icicle-*-display-min-input-chars.
;; icicle-highlight-input-noncompletion:
;; Don't highlight unless also icicle-incremental-completion-flag.
;; Call icicle-file-name-*-candidates for file-name input.
;; Don't highlight if file-remote-p and reading file name. Instead, remove highlighting.
;; 2007/09/14 dadams
;; icicle-highlight-input-noncompletion, icicle-update-completions,
;; icicle-recompute-candidates:
;; Wrapped condition-case around candidates computation.
;; 2007/09/02 dadams
;; icicle-display-candidates-in-Completions:
;; Restore point and window point to start of candidates in *Completions*.
;; 2007/08/21 dadams
;; icicle-highlight-input-noncompletion: Remove any vestigial highlighting on matched part.
;; 2007/08/19 dadams
;; Added: icicle-lisp-vanilla-completing-read, icicle-highlight-input-noncompletion.
;; icicle-completing-read:
;; Allow reading and returning string candidates with properties:
;; bind minibuffer-allow-text-properties.
;; Put whole candidate on string as text property.
;; Use icicle-lisp-vanilla-completing-read, not old-completing-read.
;; icicle-call-then-update-Completions: Call icicle-highlight-input-noncompletion.
;; icicle-get-alist-candidate:
;; If icicle-whole-candidate-as-text-prop-p, try to get full candidate from text prop.
;; 2007/08/16 dadams
;; icicle-insert-candidates: Don't reset text props if endpos > point. Thx to Chris Hecker.
;; 2007/08/14 dadams
;; icicle-increment-cand-nb+signal-end: Removed audible bell - use visible bell only.
;; 2007/07/22 dadams
;; icicle-read-face-name (Emacs 22 version):
;; Revert multiple branch to not use icicle-make-face-candidate.
;; Moved here from icicles-mode.el: icicle-completing-p.
;; 2007/07/06 dadams
;; icicle-display-candidates-in-Completions: Leave cursor at start of candidates.
;; 2007/07/03 dadams
;; icicle-save-or-restore-input:
;; Add current-raw-input to icicle-previous(-non)-file-*-raw-inputs, respecting max len.
;; Don't save input if current command is C-l or C-L.
;; If don't save raw input, set it to empty string.
;; Added: icicle-put-at-head.
;; icicle-highlight-complete-input: Ensure no error treatment in call to search-forward.
;; icicle-display-candidates-in-Completions:
;; Ensure non-nil current(-raw)-input, for highlight.
;; 2007/06/23 dadams
;; Added: icicle-completing-read-history.
;; Moved here from icicles-cmd.el: icicle-read-from-minibuf-nil-default.
;; 2007/06/20 dadams
;; icicle-make-face-candidate, icicle-read-face-name:
;; Use new string value of icicle-WYSIWYG-Completions-flag.
;; 2007/06/19 dadams
;; icicle-read-face-name:
;; Use a multi-completion, depending on icicle-WYSIWYG-Completions-flag.
;; For Emacs 22, isolate the multiple case and do nothing for it.
;; icicle-make-face-candidate: Treat also whole-number value for icicle-WYSIWYG-*-flag.
;; 2007/06/17 dadams
;; icicle-make-face-candidate: Respect icicle-WYSIWYG-Completions-flag.
;; icicle-display-candidates-in-Completions: highlight saved candidates.
;; icicle-place-overlay: Added priority arg.
;; 2007/06/13 dadams
;; icicle-display-candidates-in-Completions:
;; Upgrade icicle-incremental-completion-p only if redisplaying. Thx Mark Elston.
;; 2007/06/10 dadams
;; Removed unconditional add-hook for icicle-fit-Completions-window.
;; 2007/06/09 dadams
;; icicle-insert-candidates: Don't mouse-face last char of candidate if it is a newline.
;; icicle-display-candidates-in-Completions: Treat icicle-candidate-properties-alist last.
;; 2007/06/07 dadams
;; icicle-read-face-name: Use (icicle-)face-name-history.
;; 2007/06/05 dadams
;; Added soft require of hexrgb.el, but only if window-system.
;; icicle-color*: Protected with featurep hexrgb and error message.
;; 2007/06/01 dadams
;; icicle-completing-read, icicle-read-from-minibuffer, icicle-read-string:
;; Use M@R%M=X!L$S+P&L^T*Z to avoid name capture by minibuffer-history-variable's value.
;; icicle-display-candidates-in-Completions, icicle-historical-alphabetic-p,
;; icicle-most-recent-first-p:
;; Ensure value of minibuffer-history-variable is bound.
;; 2007/05/29 dadams
;; icicle-call-then-update-Completions: Don't recomplete if only one candidate.
;; 2007/05/24 dadams
;; icicle-completing-read, icicle-read-file-name:
;; Fix length test for consp initial-input. Thx to Anupam Sengupta.
;; 2007/05/04 dadams
;; icicle-unsorted-*: C-g quits to top-level.
;; icicle-candidate-set-1, icicle-scroll-or-update-*, icicle-msg-maybe-in-minibuffer:
;; Move to minibuffer window for minibuffer-message.
;; icicle-display-candidates-in-Completions, icicle-highlight-initial-whitespace,
;; icicle-unsorted-file-name-*-candidates, icicle-longest-common-match,
;; icicle-next-candidate, icicle-place-cursor, icicle-highlight-complete-input,
;; icicle-special-candidates-first-p, icicle-case-string-less-p:
;; Use read-file-name-completion-ignore-case, if completing file name.
;; Moved mention of read-file-name-completion-ignore-case and
;; icicle-cycle-into-subdirs-flag from icicle-completing-read to icicle-read-file-name.
;; Added empty defvars for Emacs 22 standard vars, to quiet byte compiler.
;; 2007/04/29 dadams
;; Added: icicle-last-modified-first-p.
;; icicle-call-then-update-Completions: Delete icicle-complete-input-overlay.
;; 2007/04/08 dadams
;; Added: icicle-highlight-candidate-in-Completions, from code in icicle-next-candidate.
;; But changed to: 1) make Completions dedicated and 2) not bind case-fold-search.
;; icicle-next-candidate: Use icicle-highlight-candidate-in-Completions.
;; 2007/04/02 dadams
;; Moved here from icicles-cmd.el: icicle-filter-alist, icicle-first-matching-candidate.
;; 2007/04/01 dadams
;; icicle-insert-candidates: Don't fixup-whitespace if bolp.
;; 2007/03/30 dadams
;; icicle-fit-Completions-window: Don't resize *Completions* window if split horizontally.
;; icicle-insert-candidates:
;; Calculate nb of columns using max-candidate-len, not number of candidates.
;; Indent at least one colwidth, and leave less space between candidates.
;; 2007/03/26 dadams
;; icicle-completion-setup-function:
;; Protected minibuffer-completing-symbol with boundp (not define in Emacs 23).
;; 2007/03/23 dadams
;; icicle-completing-read, icicle-read-file-name:
;; Record require-match in icicle-require-match-p.
;; 2007/03/17 dadams
;; icicle-read-face-name: Undo Emacs 21+ brain-dead treatment of PROMPT arg.
;; 2007/03/14 dadams
;; icicle-fit-Completions-window:
;; Don't let *Completions* take over the frame, so don't lose other window.
;; Respect icicle-Completions-window-max-height property of top-level command.
;; 2007/03/12 dadams
;; Added: icicle-fit-Completions-window. Use in temp-buffer-show-hook.
;; icicle-display-completion-list:
;; Print help lines here, not in icicle-completion-setup-*, so window fit includes them.
;; Put face on string candidates intro string, Possible completions are:.
;; icicle-completion-setup-function:
;; Don't print the help lines here.
;; Updated wrt latest Emacs 22 CVS version.
;; icicle-insert-Completions-help-string: Remove second newline at end.
;; icicle-start-of-candidates-in-Completions: Advance 1 or 2 lines, not 0 or 3.
;; 2007/03/10 dadams
;; icicle-display-completion-list: Rewrote to adjust columns to window width.
;; Added: icicle-insert-candidates.
;; 2007/03/09 dadams
;; Moved icicle-get-alist-candidate here from icicles-cmd.el.
;; 2007/03/07 dadams
;; icicle-choose-completion-string, icicle-next-candidate:
;; Use 0, not t, as frame arg to get-buffer-window.
;; 2007/03/04 dadams
;; icicle-highlight-initial-whitespace: Removed unused local var input-start-position.
;; icicle-completing-read: Do not initialize icicle-candidates-alist.
;; 2007/03/03 dadams
;; icicle-reversible-sort: Don't display Sorting candidates message - too annoying.
;; 2007/03/02 dadams
;; icicle-completion-setup-function for Emacs 22: Don't use file-name-directory if nil.
;; 2007/03/01 dadams
;; icicle-completing-read: Initialize icicle-candidates-alist.
;; 2007/02/24 dadams
;; icicle-next-candidate:
;; Transform multi-completion icicle-last-completion-candidate.
;; If last-command is icicle(mouse)-remove-candidate don't reset common match string or
;; redisplay *Completions*.
;; icicle-recompute-candidates:
;; Don't recompute if icicle-last-completion-command is icicle-mouse-remove-candidate.
;; 2007/02/18 dadams
;; icicle-save-or-restore-input: Use "" if file-name-directory is nil. Thx Shreevatsa R.
;; 2007/02/17 dadams
;; icicle-reversible-sort: No Sorting... message if icicle-edit-update-p. Thx Shreevatsa.
;; 2007/02/05 dadams
;; icicle-completing-read: Added info about multi-completions to doc string.
;; 2007/02/04 dadams
;; icicle-display-candidates-in-Completions: Fixed composition of multiple faces.
;; 2007/02/03 dadams
;; Renamed icicle-icompleting-p to icicle-edit-update-p.
;; Require icicles-var.el. Removed eval-when-compile for require of icicles-opt.
;; 2007/02/02 dadams
;; icicle-case-string-less-p: Use var, not function, icicle-completing-p (else too slow).
;; icicle-reversible-sort: Added sorting progress message.
;; 2007/01/29 dadams
;; icicle-display-candidates-in-Completions:
;; Allow for consp proplist value of icicle-special-candidate.
;; icicle-special-candidates-first-p: Added neither-special case. Treat letter case.
;; Renamed: icicle-case-insensitive-string-lessp to icicle-case-insensitive-string-less-p.
;; Added: icicle-case-string-less-p.
;; icicle-historical-alphabetic-p, icicle-most-recent-first-p, icicle-dirs-last-p,
;; icicle-part-N-lessp, icicle-prefix-keys-first-p:
;; Use icicle-case-string-less-p, not string-lessp.
;; icicle-prefix-keys-first-p: Ignore case.
;; 2007/01/28 dadams
;; Added: icicle-command-names-alphabetic-p.
;; Moved here from icicles-cmd.el:
;; icicle-prefix-keys-first-p, icicle-special-candidates-first-p.
;; 2007/01/23 dadams
;; Added: icicle-read-face-name, icicle-make-face-candidate,
;; icicle-face-valid-attribute-values, icicle-color-name-w-bg.
;; icicle-choose-completion-string: Added Emacs 21 version.
;; icicle-display-candidates-in-Completions:
;; Only highlight past inputs if icicle-highlight-historical-candidates-flag.
;; 2007/01/22 dadams
;; icicle-part-N-lessp, icicle-color-*-lessp: Do nothing if strings are not multipart.
;; icicle-display-candidates-in-Completions:
;; Highlight past inputs after treat *-prop*-alist.
;; icicle-delete-whitespace-from-string: Added optional args.
;; 2007/01/21 dadams
;; Added: icicle-part-*-lessp, icicle-color-*-lessp.
;; 2007/01/20 dadams
;; Added: icicle-display-completion-list.
;; 2007/01/19 dadams
;; icicle-display-candidates-in-Completions: Treat icicle-candidate-properties-alist.
;; 2007/01/15 dadams
;; Added: icicle-reversible-sort. Use it where standard sort function was used.
;; Renamed: icicle-sort-and-strip-ignored to icicle-strip-ignored-files-and-sort,
;; icicle-sort-dirs-last to icicle-dirs-last-p,
;; icicle-sort-case-insensitively to icicle-case-insensitive-string-lessp.
;; Grouped sort functions together.
;; 2007/01/14 dadams
;; icicle-next-candidate: Use icicle-transform-multi-completion. Thx to Rubikitch.
;; icicle-transform-candidates: Updated doc string.
;; 2007/01/12 dadams
;; icicle-next-candidate: Use icicle-list-use-nth-parts. Thx to Rubikitch.
;; icicle-display-candidates-in-Completions: Added message when no-display-p.
;; 2007/01/07 dadams
;; icicle-completing-read: Updated doc string for Emacs 22.
;; 2007/01/06 dadams
;; Added: icicle-abbreviate-or-expand-file-name.
;; icicle-fix-default-directory: Use icicle-abbreviate-or-expand-file-name.
;; icicle-save-or-restore-input: expand-file-name -> icicle-abbreviate-or-expand-file-name.
;; icicle-completion-setup-function: Don't set default-directory to nil if minibuf empty.
;; icicle-read-file-name: Bug fix: Don't set initial-input to icicle-initial-value if "".
;; 2007/01/05 dadams
;; icicle-completing-read, icicle-read-file-name:
;; Use existing string value of icicle-initial-value. Thx to rubikitch for suggestion.
;; 2007/01/01 dadams
;; Added assq-delete-all for Emacs 20 (moved here from icicles-mode.el).
;; Added: icicle-assoc-delete-all.
;; 2006/12/25 dadams
;; Added: icicle-most-recent-first-p.
;; icicle-update-completions: Added optional no-display arg.
;; Moved here from icicles-opt.el: icicle-historical-alphabetic-p.
;; 2006/11/10 dadams
;; icicle-completing-read, icicle-read-file-name: Prefix prompt by + if a multi-command.
;; 2006/10/15 dadams
;; icicle-save-or-restore-input:
;; Change test from cmd is same as last to input is same as last.
;; icicle-rebind-completion-maps:
;; When turn off, bind C-M-mouse-2 and C-down-mouse-2 to nil.
;; icicle-display-candidates-in-Completions: Accumulate (merge) highlight faces.
;; Moved to icicles-mode.el:
;; icicle-bind-isearch-keys, icicle-rebind-completion-maps,
;; icicle-(redefine|restore)-standard-(commands|options),
;; icicle-(redefine|restore)-std-completion-fns), icicle-(re|un)map,
;; icicle-(bind|restore)-completion-keys, icicle-minibuffer-setup,
;; icicle-cancel-*Help*-redirection, icicle-activate-mark,
;; icicle-run-icicle-(pre|post)-command-hook, icicle-set-calling-cmd,
;; icicle-undo-std-completion-faces, icicle-update-ignored-extensions-regexp,
;; icicle-completing-p, icicle-restore-region-face.
;; Removed eval-when-compile of *-face, *-var, *-mac, *-cmd.
;; Removed some defvars for quieting byte compiler.
;; 2006/10/05 dadams
;; icicle-display-candidates-in-Completions: Highlight candidates that are special.
;; 2006/10/03 dadams
;; icicle-display-candidates-in-Completions:
;; Removed predicate filtering, as the pred doesn't necessarily apply to the candidate.
;; This has been in the code forever, so commented it out, in case it is needed ;-).
;; 2006/10/01 dadams
;; icicle-alternative-sort -> icicle-toggle-alternative-sorting.
;; icicle-update-completions: Treat icicle-prefix-word-complete case too.
;; 2006/09/30 dadams
;; Added: icicle-key-description.
;; icicle-(bind|restore)-completion-keys:
;; Bind icicle-candidate-set-(save|retrieve) to C-M-(<|>), not C-(<|>).
;; Bind icicle-toggle-angle-brackets to C-<.
;; No longer remap help-command to icicle-completion-help.
;; Bind icicle-completion-help to C-?.
;; Rename [menu-bar minibuf C-h] to [menu-bar minibuf completion-help].
;; icicle-completing-p: Bug fix: Use where-is-internal, not minibuffer-completion-table.
;; 2006/09/22 dadams
;; icicle-minibuffer-setup:
;; Apropos-complete, don't prefix-complete, when icicle-show-Completions-initially-flag.
;; 2006/09/17 dadams
;; icicle-completing-p: Ensure minibuffer is active too.
;; 2006/09/16 dadams
;; Bound icicle-insert-key-description to M-q.
;; icicle-completing-read:
;; Use icicle-list-join-string only to join parts of candidate (alist key).
;; Append icicle-list-end-string instead.
;; icicle-msg-maybe-in-minibuffer: Fixed doc string (active -> inactive).
;; 2006/09/12 dadams
;; icicle-minibuffer-setup: Set icicle-pre-minibuffer-buffer.
;; Renamed icicle-switch-to-minibuffer to icicle-insert-completion.
;; 2006/09/03 dadams
;; Renamed icicle-show-Completions-help to icicle-show-Completions-help-flag.
;; 2006/08/27 dadams
;; Bind Quit in Minibuf menu to icicle-abort-minibuffer-input.
;; 2006/08/22 dadams
;; icicle-save-or-restore-input: If icicle-last-completion-candidate is nil, don't try to restore.
;; 2006/08/18 dadams
;; icicle-minibuffer-setup: Reset icicle-last-completion-candidate to nil.
;; icicle-rebind-completion-maps:
;; Added icicle-Info-goto-node to icicle-completion-help-string.
;; 2006/08/15 dadams
;; icicle-(bind|restore)-completion-keys:
;; Bind icicle-help-on-(previous|next)-(apropos|prefix)-candidate.
;; Reorder bindings. Bind C-mouse-2 to 'ignore, not nil.
;; icicle-rebind-completion-maps: Bind icicle-help-on-* in completion-list-mode-map.
;; Added: icicle-barf-if-outside-Completions-and-minibuffer.
;; 2006/08/13 dadams
;; icicle-completing-read, icicle-read-file-name: Use icicle-completing*-prompt-prefix.
;; 2006/08/04 dadams
;; icicle-call-then-update-Completions:
;; Call icicle-last-completion-command, not just prefix or apropos (so prefix-word too).
;; icicle-completing-read, icicle-read-file-name, icicle-next-candidate,
;; icicle-recompute-candidates, icicle-call-then-update-Completions:
;; Use icicle-remove-Completions-window.
;; icicle-(bind|restore)-completion-keys: Bound icicle-pp-eval-expression to M-:.
;; 2006/08/03 dadams
;; icicle-completion-setup-function: Removed useless highlighting code at end (Emacs 20).
;; icicle-rebind-completion-maps: Updated icicle-completion-help-string.
;; 2006/07/30 dadams
;; icicle-call-then-update-Completions: save match-data.
;; 2006/07/29 dadams
;; icicle-activate-mark: Do it only if icicle-completing-p. Thx to Le Wang.
;; icicle-rebind-completion-maps:
;; Updated to use icicle-dispatch-C-..
;; Added icicle-toggle-search-cleanup to icicle-completion-help-string.
;; icicle-bind-completion-keys:
;; Use icicle-dispatch-C-. instead of icicle-toggle-ignored-extensions.
;; 2006/07/28 dadams
;; icicle-longest-common-match: Treat special case of input such as "$" or "\\>$".
;; 2006/07/24 dadams
;; icicle-call-then-update-Completions: Deactivate mark at the end. Thx to Le Wang.
;; 2006/07/23 dadams
;; Added: icicle-transform-candidates.
;; icicle-rebind-completion-maps, icicle-(bind|restore)-completion-keys:
;; Added icicle-toggle-transforming.
;; icicle-unsorted(-file-name)-*-candidates: Use icicle-transform-candidates.
;; 2006/07/20 dadams
;; Renamed icicle-arrows-respect-* to icicle-cycling-respects-completion-mode-flag.
;; 2006/07/19 dadams
;; Applied patch from Damien Elmes <emacs@repose.cx>:
;; Added icicle-insert-help-string, icicle-start-of-completions (factored from existing).
;; icicle-completion-setup-function: Use icicle-insert-help-string.
;; icicle-display-candidates-in-Completions:
;; Use icicle-start-of-completions, and adjust loop accordingly.
;; icicle-minibuffer-setup:
;; Reset icicle-current-completion-type.
;; Bind (up|down) to icicle-*-context-candidate, not (previous|next)-history-element.
;; icicle-next-candidate: Use icicle-start-of-completions.
;; icicle-scroll-or-update-Completions: Use icicle-scroll-completions.
;; Renamed: icicle-start-of-completions to icicle-start-of-candidates-in-Completions,
;; icicle-insert-help-string to icicle-insert-Completions-help-string,
;; icicle-current-completion-type to icicle-current-completion-mode,
;; icicle-*-context-candidate to icicle-(next|previous)-candidate-per-mode,
;; icicle-scroll-completions to icicle-scroll-Completions.
;; icicle-minibuffer-setup:
;; Replaced icicle-display-Completions with icicle-prefix-complete, to get initial
;; highlight.
;; 2006/07/18 dadams
;; icicle-call-then-update-Completions:
;; Delete *Completions* window, depending on icicle-Completions-display-min-input-chars.
;; Thx to Damien Elmes.
;; icicle-rebind-completion-maps: Add icicle-toggle-case-sensitivity to help list.
;; icicle-bind-completion-keys: Bind icicle-toggle-case-sensitivity to S-C-a (i.e. C-A).
;; 2006/07/17 dadams
;; icicle-call-then-update-Completions: sit-for delay if no candidates. Thx Damien Elmes.
;; 2006/07/09 dadams
;; icicle-save-or-restore-input:
;; Put back test: current input differs from last cycling candidate (user has edited it).
;; icicle-next-candidate: Removed filtering with predicate (vestigial cruft).
;; 2006/07/08 dadams
;; icicle-save-or-restore-input: Restore if currently cycling, not if not completing.
;; 2006/07/07 dadams
;; icicle-display-candidates-in-Completions: Fixed test for historical candidate.
;; Bound icicle-alternative-sort to M-,. Updated icicle-completion-help-string.
;; 2006/07/05 dadams
;; icicle-save-or-restore-input:
;; For restoring: 1) No longer test if current input = *-last-completion-candidate.
;; 2) No longer test if current input = icicle-initial-value.
;; No longer save icicle-current-input as icicle-last-completion-candidate.
;; Simplified the code.
;; icicle-call-then-update-Completions: Do not set this-command or last-command.
;; Renamed: icicle-current-regexp-input to icicle-current-raw-input.
;; 2006/07/04 dadams
;; icicle-unsorted(-file-name)-prefix-candidates: Update icicle-common-match-string.
;; icicle-unsorted-file-name-prefix-candidates:
;; If prefix matches an empty directory, then use that directory as the sole completion.
;; icicle-next-candidate: Use icicle-*-cycling-command properties.
;; Removed regexp-p arg in calls to icicle-save-or-restore-input.
;; icicle-save-or-restore-input:
;; Update icicle-common-*-string and icicle-current-regexp-input even if not regexp-p.
;; Removed optional regexp-p argument.
;; Do not update icicle-last-completion-candidate.
;; Use icicle-*-*ing-command properties.
;; icicle-recompute-candidates: Use icicle-*-cycling-command properties.
;; 2006/07/03 dadams
;; Bug fixes -
;; icicle-next-candidate:
;; Don't reset icicle-common-match-string if this is an apropos cycling command
;; and last command was an apropos command (cycling or completing).
;; Do icicle-save-or-restore-input a second time, after recompute candidates,
;; to pick up the common match.
;; Always pass icicle-current-input to icicle-place-cursor.
;; icicle-save-or-restore-input:
;; Don't do anything if last command was a cycling command.
;; Don't save input as regexp for C-l if this command is a cycling command,
;; unless it is the first or it follows a completion command.
;; 2006/07/02 dadams
;; icicle-place-cursor: position point & mark at least past prompt. Thx to Peter Povinec.
;; 2006/06/09 dadams
;; icicle(-file-name)-(apropos|prefix)-candidates: Reset icicle-candidate-nb to nil.
;; icicle-recompute-candidates: Don't reset icicle-candidate-nb to nil.
;; icicle-place-cursor: Prevent error on search-forward.
;; 2006/06/08 dadams
;; icicle-save-or-restore-input: Do not restore if current command is completion.
;; Added: icicle-expand-file-name.
;; icicle-next-candidate: Don't pass NTH arg to icicle-display-candidates-in-Completions.
;; 2006/06/06 dadams
;; icicle-control-reminder-prompt: condition-case, since it's on kill-emacs-hook.
;; 2006/06/01 dadams
;; icicle-read-from-minibuffer: Emacs 22 removed the keep-all arg it had added.
;; 2006/05/31 dadams
;; icicle-barf-if-outside*: Simplified.
;; 2006/05/30 dadams
;; Bind icicle-erase-minibuffer-or-history to M-k also in non-completion minibuffer maps.
;; 2006/05/26 dadams
;; Bind icicle-erase-minibuffer-or-history to M-k.
;; Do not remap (or unmap) kill-sentence (it is on M-k in global map).
;; 2006/05/19 dadams
;; Added: icicle-control-reminder-prompt.
;; icicle-reminder-*-flag, icicle-read-file-name: Treat new values of icicle-reminder*.
;; Renamed icicle-inhibit-reminder* to icicle-reminder*.
;; 2006/05/16 dadams
;; icicle-recompute-candidates: Add new saved-last-input arg (replaces icicle-last-input).
;; icicle-next-candidate: Pass saved old last input to icicle-recompute-candidates.
;; 2006/05/15 dadams
;; Reverted change to icicle-unsorted(-file-name)-apropos-candidates,
;; icicle-display-Completions: Use icicle-completion-nospace-flag, not nil.
;; Renamed: icicle-completion-nospace-flag to icicle-ignore-space-prefix-flag.
;; icicle-toggle-incremental-completion: C-#, icicle-toggle-ignored-space-prefix: C-^.
;; 2006/05/13 dadams
;; icicle-unsorted(-file-name)-apropos-candidates, icicle-display-Completions:
;; Use nil, not icicle-completion-nospace-flag.
;; 2006/05/12 dadams
;; icicle-completion-help-string: Added faces and commands. Cleanup.
;; Moved from icicles-cmd.el: icicle-barf-if-outside-*.
;; 2006/05/09 dadams
;; icicle-display-*: Only issue Displaying... message when more candidates than threshold.
;; 2006/05/01 dadams
;; icicle-save-or-restore-input: No-restore test is non-nil, not non-"", icicle-last-input.
;; icicle-minibuffer-setup: Reset icicle-last-input to nil, not "".
;; icicle-next-candidate: Highlight initial whitespace before underline root.
;; 2006/04/28 dadams
;; icicle-save-or-restore-input:
;; Restore empty input if it is not a file name.
;; Don't expand empty common-match-string file-name input (it would lose trailing /).
;; Added: icicle-highlight-initial-whitespace.
;; icicle-next-candidate, icicle-call-then-update-Completions:
;; Use icicle-highlight-initial-whitespace.
;; 2006/04/14 dadams
;; icicle-call-then-update-Completions: Call icicle-update-input-hook.
;; Bound icicle-insert-string-from-variable to C-=. Update icicle-completion-help-string.
;; 2006/04/09 dadams
;; icicle-bind-completion-keys, icicle-minibuffer-setup:
;; Deal with icicle-arrows-respect-completion-type-flag.
;; icicle-display-candidates-in-Completions:
;; Bug fix: regexp-quote common match when highlighting it.
;; icicle-clear-minibuffer: Remove interactive spec.
;; Moved to icicles-cmd.el: icicle-customize-apropos*, icicle-repeat-complex-command.
;; 2006/04/02 dadams
;; Bound icicle-toggle-regexp-quote.
;; 2006/03/31 dadams
;; icicle-next-candidate:
;; Apply icicle-place-cursor to icicle-current-regexp-input if regexp-p.
;; icicle-save-or-restore-input:
;; Don't set icicle-current-regexp-input if this is a next-candidate action.
;; 2006/03/27 dadams
;; icicle-place-overlay: Made generic: added args overlay, face, buffer, properties.
;; 2006/03/25 dadams
;; icicle-call-then-update-Completions: Corrected use of icicle-incremental-completion*.
;; 2006/03/24 dadams
;; Renamed icicle-expand-input-to-common-match to icicle-longest-common-match. Rewrote it.
;; icicle-call-then-update-Completions:
;; Use icicle-incremental-completion-delay and -threshold.
;; Mapped icicle-delete-char.
;; 2006/03/23 dadams
;; icicle-expand-input-to-common-match:
;; Return the longest common match. Don't set icicle-common-match-string here.
;; icicle-unsorted-*apropos-candidates: Set icicle-common-match-string here explicitly.
;; Added: icicle-maybe-sort-and-strip-candidates. Use in icicle-candidate-set-1.
;; 2006/03/22 dadams
;; icicle-display-candidates-in-Completions:
;; Removed root arg (always use icicle-current-input).
;; Always highlight normal match part.
;; Highlight common-match part if icicle-expand-input-to-common-match-flag.
;; icicle-save-or-restore-input:
;; Update regexp even if not icicle-expand-input-to-common-match-flag.
;; icicle-recompute-candidates: If no candidates, then delete *Completions* window.
;; icicle-next-candidate: Set default-directory only if icicle-file-name-input-p.
;; Applied renamings of icicle-match-* faces.
;; 2006/03/21 dadams
;; icicle-expand-input-to-common-match:
;; Bug fixes:
;; If no overlap between first and second candidates, then no common match.
;; If no match with another candidate, then no common match.
;; Input must match computed common match.
;; When checking others, check only the added (pre|suf)fix, and reduce those as needed.
;; icicle-save-or-restore-input:
;; Bug fixes:
;; When icicle-expand-input-to-common-match-flag, expand using directory from the
;; input, not the default-directory. Thx to cacher3.ericsson.net for report.
;; Do test for case-only difference only when case-fold-search.
;; If input is a directory (with slash), then use it as is.
;; Save icicle-current-regexp-input if no icicle-common-match-string too.
;; icicle-display-candidates-in-Completions: Use icicle-common-match-highlight-Completions.
;; 2006/03/20 dadams
;; icicle-save-or-restore-input: Set icicle-current-regexp-input too.
;; Corrected letter-case test.
;; 2006/03/19 dadams
;; Added: icicle-expand-input-to-common-match.
;; icicle-unsorted*-apropos-candidates:
;; Set icicle-common-match-string if icicle-expand-input-to-common-match-flag.
;; icicle-save-or-restore-input:
;; Added regexp-p arg. Update input to icicle-common-match-string if appropriate.
;; icicle-next-candidate: Reset icicle-common-match-string.
;; 2006/03/17 dadams
;; icicle-file-(read|writ)able-p: Put non-empty string condition first.
;; Added: icicle-delete-whitespace-from-string.
;; icicle-files-within: Moved here from icicle-cmd.el.
;; 2006/03/14 dadams
;; Removed: icicle-reset-icicle-completing-p.
;; icicle-completing-read, icicle-read-file-name: Removed icicle-icicle-completing-p.
;; icicle-display-*: Added Displaying... message.
;; 2006/03/13 dadams
;; Added: icicle-file-(read|writ)able-p. Bound them to C-{ and C-} in minibuffer.
;; icicle-rebind-completion-maps, icicle-bind-completion-keys: Added the new commands.
;; icicle-recompute-candidates: Forgot icicle-keep-only-past-inputs in other branch.
;; 2006/03/10 dadams
;; icicle-save-or-restore-input: Bug fix (thx Toby Cubitt) - Not relative to default dir.
;; Use directory-file-name, so don't include /.
;; Use file-name-nondirectory, not file-relative-name if not cycling into subdirs.
;; Renamed icicle-minibuffer-contents to icicle-minibuffer-contents-from-minibuffer.
;; Added new icicle-minibuffer-contents, which can be called outside minibuffer.
;; 2006/03/08 dadams
;; icicle-place-overlay: Use new face, icicle-current-candidate-highlight.
;; 2006/03/05 dadams
;; Bound icicle-toggle-incremental-completion to C-^ in minibuffer.
;; Updated icicle-completion-help-string with C-^ binding.
;; icicle-display-candidates-in-Completions:
;; Allow for on-the-fly changes to icicle-incremental-completion-flag.
;; 2006/03/01 dadams
;; Added: icicle-clear-minibuffer. Use in icicle-next-candidate.
;; 2006/02/27 dadams
;; icicle-call-then-update-Completions: Set last-command to fn arg.
;;;(@* "CHANGE LOG FOR `icicles-mac.el'")
;;
;; ****************************************************************************************************
;; NOTE: If you byte-compile Icicles (recommended), then WHENEVER `icicles-mac.el' is updated, you
;; must load `icicles-mac.el' (not just `icicles-mac.elc'), then compile it, then RECOMPILE *ALL*
;; of the other Icicles source files as well. This is normal for Lisp: code that depends on
;; macros needs to be byte-compiled anew after loading the updated macros.
;; ****************************************************************************************************
;;
;; 2012/01/20 dadams
;; icicle-define-bookmark-command-1: Added info about refreshing tags to doc string of tags cmds.
;; 2011/11/27 dadams
;; icicle-define-bookmark-command-1:
;; Calculate the alist first, before binding things like icicle-list-use-nth-parts, that are
;; inappropriate for the completing-read used to define the alist (in specific-file|buffer case).
;; 2011/10/21 dadams
;; icicle-define-sort-command: Use icicle-propertize.
;; 2011/10/12 dadams
;; Moved the Miscellaneous stuff to icicles.el: indent & font-lock for macros etc.
;; eval-when-compile require cl.el, even for later Emacs versions (incf).
;; 2011/10/10 dadams
;; Removed all autoload cookies.
;; Moved icicle(-search)-define-bookmark*-command* here from icicles-cmd2.el.
;; icicle-byte-compile-eval-after-load-flag: Moved to icicles.el.
;; icicle-maybe-byte-compile-after-load: Moved to icicles-face.el and icicles-cmd2.el.
;; icicle-try-switch-buffer, select-frame-set-input-focus: Moved to icicles-fn.el.
;; icicle-assoc-delete-all, icicle-remove-if: Copied to icicles-fn.el.
;; 2011/10/08 dadams
;; Added: icicle-kbd
;; Moved here from icicles-cmd2.el: icicle-read-kbd-macro, icicle-edmacro-parse-keys.
;; icicle-read-kbd-macro: Changed NO-ANGLES to ANGLES, and made it the prefix arg.
;; icicle-edmacro-parse-keys: Changed NO-ANGLES to ANGLES. Updated to match Emacs 24.
;; Changed regexp for non-angles match to use non-whitespace.
;; Use characterp or char-valid-p, depending on Emacs version.
;; 2011/09/08 dadams
;; font-lock-add-keywords - Use font-lock-keyword-face for icicle-condition-case-no-debug.
;; 2011/08/27 dadams
;; icicle-condition-case-no-debug: Redefined so it respects debug-on-quit and keeps other handlers.
;; 2011/08/24 dadams
;; Added top-level puts for common-lisp-indent-function.
;; icicle-condition-case-no-debug, icicle-with-selected-window: Removed declare declaration.
;; 2011/08/22 dadams
;; icicle-maybe-byte-compile-after-load: Require bytecomp.el.
;; font-lock-add-keywords: Quote font-lock-function-name-face, for Emacs 20.
;; 2011/08/21 dadams
;; Added: icicle-condition-case-no-debug. Thx to Michael Heerdegen.
;; icicle-define(-file)-command: Use icicle-condition-case-no-debug.
;; 2011/08/16 dadams
;; Added: icicle-maybe-byte-compile-after-load, icicle-byte-compile-eval-after-load-flag.
;; icicle-(buffer|file)-bindings: Use append, not backquote syntax.
;; 2011/08/12 dadams
;; icicle-file-bindings: Removed binding of icicle-ignore-space-prefix-flag (to *-buffer-ignore-*).
;; 2011/05/22 dadams
;; icicle-define(-file)-command: Use #',FUNCTION instead of ',FUNCTION.
;; icicle-with-selected-window, icicle-(buffer|file)-bindings:
;; Use #' with lambdas (not really needed).
;; 2011/05/03 dadams
;; icicle-buffer-bindings, icicle-file-bindings:
;; Had to revert definition for Emacs > 20, but keep it for Emacs 20. Thx to Michael Heerdegen.
;; 2011/04/29 dadams
;; icicle-buffer-bindings, icicle-file-bindings:
;; Do not bind icicle-sort-comparer. Instead, set it the first time
;; (per icicle-(buffer|file)-sort-first-time-p).
;; No side effects to icicle-sort-orders-alist.
;; If icicle-(buffer|file)-sort is non-nil then put it at the beginning.
;; Use old backquote syntax for post-bindings - needed because of vanilla Emacs 20 bug.
;; 2011/04/25 dadams
;; icicle-file-bindings: Bind icicle-candidate-help-fn to icicle-describe-file w/ curr pref arg.
;; 2011/04/12 dadams
;; icicle-buffer-bindings, icicle-file-bindings: Added optional POST-BINDINGS arg.
;; 2011/04/02 dadams
;; icicle-buffer-bindings: Bind (new) icicle-bufflist, not bufflist.
;; 2011/03/29 dadams
;; Renamed: orig-(buff|window) to icicle-orig-(buff|window).
;; 2011/01/17 dadams
;; Require cl.el at compile time for Emacs 20.
;; 2011/01/06 dadams
;; icicle-buffer-bindings: Zero prefix arg limits candidates to buffers with same mode as current.
;; 2010/12/26 dadams
;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
;; 2010/12/18 dadams
;; icicle-assoc-delete-all: Moved here from icicles-fn.el, since used here.
;; Added autoload cookies.
;; 2010/10/25 dadams
;; icicle-(buffer|file)-bindings:
;; Use icicle-must-pass-after-match-predicate, not icicle-must-pass-predicate
;; 2010/10/09 dadams
;; icicle-define(-file)-command: Update generated doc: down/up for modal, end/home for prefix.
;; 2010/06/05 dadams
;; icicle-file-bindings: Put back non-insertion for non-ido-like case.
;; 2010/06/04 dadams
;; icicle-(buffer|file)-bindings: Bind vars that depend on icicle-(buffers|files)-ido-like-flag.
;; 2010/03/03 dadams
;; Applied renamings: icicle-sort-function to icicle-sort-comparer,
;; icicle-sort-functions-alist to icicle-sort-orders-alist.
;; 2009/12/21 dadams
;; fset -> defalias.
;; 2009/12/13 dadams
;; icicle-define-sort-command: Add REVERSED to msg if reversed.
;; 2009/10/22 dadams
;; icicle-define-file-command: Use icicle-file-name-directory, not file-name-directory.
;; 2009/09/17 dadams
;; Added: icicle-file-bindings.
;; 2009/09/16 dadams
;; Added: icicle-buffer-bindings.
;; icicle-define(-file)-command: Macroexpand bindings, (e.g. to use icicle-buffer-bindings).
;; 2009/04/28 dadams
;; Moved icicle-choose-action-for-type to icicles-fn.el and changed to a function.
;; 2009/04/26 dadams
;; Added: icicle-choose-action-for-type, icicle-with-selected-window.
;; 2008/08/31 dadams
;; icicle-define(-file)-command: Select window before call select-frame-set-input-focus.
;; 2008/08/18 dadams
;; icicle-try-switch-buffer: Do nothing if icicle-inhibit-try-switch-buffer is non-nil.
;; Use renaming from icicles-fn.el: icicle-complete-again-update.
;; 2008/03/29 dadams
;; icicle-define(-file)-command: Do not call icicle-highlight-lighter.
;; 2008/03/09 dadams
;; icicle-define(-file)-command: Call icicle-highlight-lighter.
;; 2007/11/25 dadams
;; icicle-define(-file)-command:
;; Bound minibuffer variables, so they are restored after action function
;; (in case it uses minibuffer for completion).
;; Return nil after, not before select-frame-set-input-focus.
;; Added optional arg not-interactive-p.
;; Quiet the byte compiler for Emacs versions before 22.
;; 2007/10/14 dadams
;; icicle-define(-file)-command:
;; Updated generated doc to reflect icicle-act-before-cycle-flag.
;; 2007/05/01 dadams
;; icicle-define(-file)-command: Reset icicle-candidate-action-fn after reading input.
;; 2007/04/15 dadams
;; icicle-define(-file)-command:
;; Simplified action fn: Removed unwind-protect and outer condition-case,
;; so don't return error msg now, and only set minibuf focus if succeed.
;; icicle-define(-file)-command, icicle-try-switch-buffer: Removed "%s" from handlers.
;; 2007/02/06 dadams
;; icicle-define(-file)-command: Mention mouse bindings in command doc strings.
;; 2007/01/15 dadams
;; Added: icicle-define-sort-command.
;; Updated font-lock-add-keywords. Added lisp-indentation-hack (commented out).
;; 2007/01/06 dadams
;; font-lock-add-keywords: 2 or 3, not 1 or 2, is index after add icicle-define-add-to-*.
;; Use lax matching, so no error if no match.
;; 2007/01/01 dadams
;; Added: icicle-define-add-to-alist-command.
;; Removed compile-time require of icicles-var.el.
;; font-lock-add-keywords:
;; "\\>[ \t'\(]*\\(\\sw+\\)?", not "\\s-+\\(\\sw\\(\\sw\\|\\s_\\)+\\)".
;; Added icicle-define-add-to-alist-command.
;; 2006/10/14 dadams
;; Require icicles-var.el.
;; Moved conditional eval-when-compile to top level.
;; 2006/09/24 dadams
;; icicle-define(-file)-command: Corrected bindings mentioned in doc strings.
;; 2006/08/27 dadams
;; icicle-define(-file)-command: Ensure orig-window is live before using it.
;; 2006/08/23 dadams
;; Added: icicle-try-switch-buffer. Use it in icicle-define(-file)-command.
;; 2006/08/03 dadams
;; icicle-define(-file)-command:
;; (error (error-message-string...)) -> (error "%s" (error-message-string...)).
;; 2006/05/16 dadams
;; icicle-define(-file)-command: Treat cases where user wiped out orig-buff or orig-window.
;; 2006/03/31 dadams
;; icicle-define(-file)-command: Wrap action fn in unwind-protect to select minibuf frame.
;; 2006/03/11 dadams
;; icicle-define-file-command: Expand file in directory of icicle-last-input.
;; 2006/03/08 dadams
;; icicle-define(-file)-command: Bug fix (thx to TobyCubitt):
;; Make sure icicle-candidate-action-fn runs FUNCTION in original buffer and window.
;; 2006/03/07 dadams
;; icicle-define(-file)-command: Mention in doc string that BINDINGS are not in effect
;; within icicle-candidate-action-fn.
;;;(@* "CHANGE LOG FOR `icicles-mcmd.el'")
;;
;; 2012/01/20 dadams
;; Renamed icicle-toggle-incremental-completion to icicle-cycle-incremental-completion.
;; icicle-apropos-complete-and-exit:
;; Bind icicle-expand-input-to-common-match-flag and icicle-prefix-complete-and-exit-p also.
;; Complete based on icicle-current-completion-mode, not just apropos.
;; Use icicle-candidates-alist if appropriate.
;; icicle-cycle-incremental-completion: cycle among t, nil, and always, instead of toggle t & nil.
;; icicle-retrieve-previous-input: Just use icicle-call-then-update-Completions.
;; icicle-(prefix|apropos)-complete-1:
;; When sole cand, icicle-edit-update-p and not icicle-expand-input-*, show cand in Completions.
;; icicle-apropos-complete-2:
;; Removed arg and setting it. Return input-sans-dir needed for setting real mode-line help.
;; 2012/01/19 dadams
;; icicle-prefix-complete-2:
;; Removed first arg and setting it. Return condition needed for setting real mode-line help.
;; icicle-prefix-complete-1:
;; Conditionally set mode-line help, using return value of icicle-prefix-complete-2.
;; 2012/01/17 dadams
;; icicle-mouse-choose-completion, icicle-mouse-candidate-action-1, icicle-mouse-remove-candidate,
;; icicle-current-completion-in-Completions:
;; No longer add back a newline if property icicle-keep-newline. Thx to Michael Heerdegen.
;; 2012/01/13 dadams
;; icicle-(un)bind-file-candidate-keys: Corrected to handle also minibuffer-local-must-match-map.
;; 2012/01/08 dadams
;; icicle-(prefix|apropos)-complete-1: Protect icicle-ido-like-mode with boundp for Emacs 20.
;; 2011/12/31 dadams
;; icicle-apropos-complete-1: Remove extra icicle-edit-update-p (typo) in condition.
;; 2011/12/29 dadams
;; Added: icicle-(prefix|apropos)-complete-2.
;; icicle-(prefix|apropos)-complete-1:
;; When completing initially or icicle-incremental-completion-flag is non-nil & non-t, expand
;; input to common match.
;; 2011/12/28 dadams
;; icicle-(prefix|apropos)-complete-1:
;; If icicle-ido-like-mode and icicle-top-level-when-sole-completion-flag do not throw to top
;; if sole candidate is a directory.
;; 2011/12/19 dadams
;; icicle-(next|previous)-line: Use line-end-position, not end-of-line + point.
;; 2011/12/15 dadams
;; icicle-keep-only-past-inputs: For file-name candidates, expand file names before comparing.
;; 2011/11/05 dadams
;; icicle-nb-Completions-cols: Ensure return value is at least 1. Thx to Michael Heerdegen.
;; 2011/10/21 dadams
;; icicle-all-candidates-action-1: Bind icicle-minibuffer-message-ok-p to non-nil for LISTP.
;; icicle-erase-minibuffer-or-history-element, icicle-(change|reverse)-sort-order,
;; icicle-toggle-(ignoring-comments|dot|WYSIWYG-Completions|~-for-home-dir|C-for-actions),
;; icicle-toggle-((-alternative)-sorting|angle-brackets|proxy-candidates|transforming),
;; icicle-toggle-(incremental-completion|expand-to-common-match|remote-file-testing),
;; icicle-toggle-(highlight-all-current|hiding-(common-match|non-matching-lines)),
;; icicle-toggle-(show-multi-completion|ignored-space-prefix|regexp-quote|literal-replacement),
;; icicle-toggle-(highlight-(historical|saved)-candidates|ignored-extensions),
;; icicle-toggle-search-replace-(common-match|whole-word)),
;; icicle-toggle-search-(cleanup|complementing-domain), icicle-toggle-case-sensitivity,
;; icicle-cycle-image-file-thumbnail, icicle-next(-S)-TAB-completion-method:
;; Use icicle-propertize.
;; icicle-toggle-dot: Barf if not in minibuffer.
;; 2011/10/18 dadams
;; icicle-(apropos|prefix)-complete-1:
;; Simplify sole-candidate case and correct it for nil *-expand-input-to-common-*.
;; Thx to Michael Heerdegen.
;; 2011/10/08 dadams
;; icicle-next-TAB-completion-method, icicle-read+insert-file-name,
;; icicle-(un)bind-file-candidate-keys:
;; Use icicle-kbd.
;; icicle-insert-key-description: Made it OK for Emacs 20 too.
;; icicle-toggle-angle-brackets: Added no-op message for Emacs 20.
;; icicle-mouse-candidate-action-1: Wrap icicle-help-on-candidate with with-current-buffer.
;; For key-completion cand, use current buffer if no i*-orig-buff.
;; 2011/09/21 dadams
;; icicle-(prefix|apropos)-complete-1: Use file-name-as-directory instead of concat with /.
;; 2011/09/09 dadams
;; icicle-switch-to-Completions-buf:
;; Do not set icicle-current-input to minibuffer content. Use that content sans dir, locally.
;; If icicle-candidate-nb is defined, use it: just call icicle-move-to-next-completion.
;; icicle-insert-completion:
;; Set icicle-last-completion-candidate to COMPLETION.
;; Set icicle-candidate-nb to icicle-nb-of-cand-at-Completions-pos (point).
;; Use icicle-insert-cand-in-minibuffer COMPLETION, not just insert of directory + COMPLETION.
;; Set icicle-last-input to icicle-current-input. Set icicle-cycling-p to t.
;; Call icicle-show-help-in-mode-line.
;; 2011/09/07 dadams
;; icicle-erase-minibuffer-or-history-element, icicle-prefix-complete-1,
;; icicle-apropos-complete(-1|-no-display), icicle-all-candidates-action-1, icicle-describe-file,
;; icicle-apply-to-saved-candidate, icicle-narrow-candidates(-with-predicate):
;; Use icicle-condition-case-no-debug instead of condition-case. Thx to Michael Heerdegen.
;; 2011/09/06 dadams
;; Added: icicle-resolve-file-name.
;; icicle-minibuffer-help: Call help-setup-xref, for back/forward buttons.
;; 2011/09/05 dadams
;; Added: icicle-dispatch-C-x., icicle-toggle-hiding-non-matching-lines.
;; icicle-help-string-completion: Added hiding no-match lines. Use icicle-dispatch-C-x..
;; 2011/08/30 dadams
;; icicle-backward-delete-char-untabify, icicle-delete(-backward)-char:
;; Put delete-selection prop, so region is deleted.
;; 2011/08/26 dadams
;; Make sure to pass format string as first arg to calls to functions error and message.
;; icicle-candidate-set-save-1: Use %s, not %S, in error format string.
;; 2011/08/19 dadams
;; Fix C-u in minibuffer for Emacs 24:
;; Don't bother to define icicle-ensure-overriding-map-is-bound for Emacs 24+.
;; icicle-(universal|digit|negative)-argument:
;; Use save&set-overriding-map, not icicle-ensure-*, for Emacs 24.
;; 2011/08/15 dadams
;; icicle-candidate-set-complement:
;; Apply icicle-must-pass-after-match-predicate to correct the initial domain subtracting from.
;; Use icicle-all-completions instead of its definition inline.
;; 2011/08/13 dadams
;; Added: icicle-toggle-search-complementing-domain, toggle-icicle-search-complementing-domain.
;; icicle-insert-string-from-variable: Completion candidates now include all string-valued vars.
;; 2011/08/12 dadams
;; Added: icicle-add/remove-tags-and-refresh, icicle-(un)bind-file-candidate-keys.
;; 2011/08/07 dadams
;; icicle-help-on-candidate: For icicle-candidate-help-fn case: icicle-transform-multi-completion.
;; 2011/07/27 dadams
;; Use icicle-completions-format everywhere, not icicle-completions-format-internal (removed).
;; 2011/07/21 dadams
;; Renamed: icicle-nb-of-candidate-in-Completions to icicle-nb-of-cand-at-Completions-pos.
;; 2011/07/06 dadams
;; Applied renaming of icicle-Completions-frame-at-right-flag to icicle-move-Completions-frame.
;; icicle-raise-Completions-frame: Handle left value of icicle-move-Completions-frame also.
;; 2011/06/26 dadams
;; icicle-minibuffer-help: Use insert, not princ, with icicle-help-string-completion.
;; icicle-minibuffer-help, icicle-help-string-completion:
;; Use help-commands-to-key-buttons, not substitute-command-keys, if available.
;; Soft-require help-fns+.el for help-commands-to-key-buttons.
;; 2011/06/03 dadams
;; icicle-next-candidate-per-mode:
;; Set this-command according to direction, per NTH. If NTH is nil set it to 1. For Icomplete+.
;; Replace icicle-help-in-mode-line-flag by icicle-help-in-mode-line-delay everywhere.
;; 2011/05/22 dadams
;; Added defvars for free vars to quiet byte compiler.
;; 2011/05/10 dadams
;; icicle-toggle-ignoring-comments: Toggle also ignore-comments-flag from thing-cmds.el.
;; 2011/05/07 dadams
;; Added: icicle-toggle-ignoring-comments. Bound to C-M-;.
;; Changed key for icicle-regexp-quote-input from C-M-; to M-% everywhere.
;; 2011/05/04 dadams
;; icicle-transform-sole-candidate: Do nothing if for some reason icicle-current-input is nil.
;; 2011/05/03 dadams
;; Added: icicle-plus-saved-sort, icicle-toggle-highlight-saved-candidates.
;; icicle-help-string-completion: Mention icicle-toggle-highlight-saved-candidates.
;; 2011/04/29 dadams
;; icicle-help-string-completion: Corrected current values shown for sort comparers.
;; 2011/04/25 dadams
;; icicle-describe-file: Sync'd with help-fns+.el - include autofile bookmark info.
;; icicle-help-on-candidate(-symbol): Add current-prefix-arg to call to icicle-describe-file.
;; 2011/04/02 dadams
;; icicle-search-define-replacement: Use (new) icicle-scan-fn-or-regexp, not scan-fn-or-regexp.
;; 2011/03/29 dadams
;; Added: icicle-scroll-(back|for)ward.
;; Renamed: icicle-scroll-Completions(-up) to icicle-scroll-Completions-(back|for)ward.
;; orig-buf(f) -> icicle-orig-buff.
;; icicle-help-on-candidate: Removed boundp condition for icicle-completing-keys-p.
;; Applied renaming: icicle-scroll-Completions-backward-p to icicle-scroll-Completions-reverse-p.
;; 2011/03/20 dadams
;; icicle-help-on-candidate-symbol: Don't bind help-xref-following. Thx to Michael Heerdegen.
;; 2011/03/17 dadams
;; icicle-candidate-set-complement:
;; Added condition-case: Emacs 23.2+ all-completions has no 4th arg.
;; icicle-delete-backward-char-dots, icicle-replace-input-w-parent-dir:
;; Use delete-char, not delete-backward-char (Emacs 23.2+ changed it to interactive only).
;; Added soft require of filesets.el when byte-compile.
;; 2011/03/15 dadams
;; icicle-describe-file: Added thumbnails for image files.
;; 2011/03/04 dadams
;; icicle-remove-cand-from-lists, icicle-narrow-candidates-with-predicate:
;; Corrected code for updating the predicate.
;; Test using emacs version, not boundp of read-file-name-predicate (since Icicles binds it now).
;; 2011/03/02 dadams
;; Added: icicle-all-exif-data.
;; icicle-describe-file: Show all EXIF data, using icicle-all-exif-data.
;; 2011/02/26 dadams
;; Added: icicle-Completions-popup-choice(-1), icicle-substitute-keymap-vars.
;; icicle-Completions-mouse-3-menu:
;; Rewrote to use option icicle-Completions-mouse-3-menu-entries instead of hard-coding menus.
;; icicle-candidate-set-define (cosmetic): Use when, not if, to raise error.
;; icicle-candidate-set-(difference|union|intersection|complement), : Added start-progress message.
;; 2011/02/23 dadams
;; icicle-help-string-completion, icicle-Completions-mouse-3-menu:
;; Add icicle-cycle-image-file-thumbnail.
;; icicle-Completions-mouse-3-menu: Handle prefix args (change menu items to reflect).
;; 2011/02/22 dadams
;; Added: icicle-cycle-image-file-thumbnail.
;; icicle-describe-file: Show also EXIF data for an image file.
;; icicle-remove-Completions-window:
;; No-op if Completions is selected or minibuf is selected and Completions was last selected.
;; 2011/02/20 dadams
;; icicle-history: If history is command-history, convert its entries to strings for completion.
;; icicle-history, icicle-keep-only-past-inputs: Clarify doc: current completion mode is kept.
;; 2011/01/20 dadams
;; icicle-read+insert-file-name: Bind icicle-must-pass-after-match-predicate to nil.
;; icicle-insert-string-at-point:
;; A numeric prefix arg when use ALTERNATIVES means evaluate grabbed sexp and insert the value.
;; 2011/01/17 dadams
;; icicle-remove-Completions-window: Bury buffer.
;; icicle-toggle-highlight-all-current: barf if not in minibuf or Completions.
;; icicle-dispatch-C-^: Use icicle-searching-p.
;; 2011/01/05 dadams
;; Added: icicle-sort-by-file-type.
;; 2010/12/26 dadams
;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
;; 2010/12/18 dadams
;; Added more autoload cookies for commands. Thx to Richard Kim.
;; Specify command and file for commands defined by Icicles macros.
;; 2010/12/17 dadams
;; icicle-remove-Completions-window: Added FORCE arg. Remove if FORCE or interactive.
;; icicle-abort-recursive-edit: Call icicle-remove-Completions-window with FORCE arg.
;; 2010/12/14 dadams
;; icicle-retrieve-previous-input:
;; Added optional arg ALLOW-EMPTY-P (not used yet in calls).
;; Remove "" systematically, unless ALLOW-EMPTY-P.
;; Non-interactively, use last-recorded if current try is "" (unless ALLOW-EMPTY-P).
;; icicle-toggle-highlight-all-current: Turn off incremental completion while erase minibuffer.
;; icicle-insert-input: Apply renaming: icicle-expand-file-name to icicle-expand-file-or-dir-name.
;; 2010/12/02 dadams
;; icicle-retrieve-previous-input: Exclude "" from past-input cycling.
;; 2010/11/30 dadams
;; icicle-mouse-save-then-kill: If soft-require of mouse3.el, then use a simpler definition.
;; 2010/11/27 dadams
;; icicle-insert-list-join-string, icicle-pp-eval-expression-in-minibuffer:
;; Protect with 1on1-fit-minibuffer-frame-flag and soft-require of fit-frame.el.
;; icicle-(apropos|prefix)-complete-1: Soft-require of fit-frame.el for 1on1-fit-minibuffer-frame.
;; 2010/11/23 dadams
;; icicle-minibuffer-help:
;; Don't switch to minibuf window unless start in minibuf or *Completions*. Thx to M. Heerdegen.
;; 2010/11/08 dadams
;; icicle-next-TAB-completion-method, icicle-next-S-TAB-completion-method:
;; Set the icicle-last-top-level-command property only when set the first temporary method.
;; 2010/11/07 dadams
;; icicle-apply-to-saved-candidate: Do not sit-for if icicle-all-candidates-action.
;; Applied renaming of icicle-all-candidates-action-p to icicle-all-candidates-action.
;; 2010/11/06 dadams
;; icicle-apropos-complete-and-narrow: Do not regexp-quote if non-basic prefix completion.
;; icicle-next-TAB-completion-method, icicle-next-S-TAB-completion-method:
;; Prefix arg now means the new method is only for the current top-level command.
;; Put properties on icicle-last-top-level-command to implement this.
;; icicle-candidate-set-retrieve-1: Do icicle-apropos-complete-no-display if that was the last one.
;; 2010/11/05 dadams
;; icicle-mouse-save-then-kill: Redefined for Emacs 24 (they changed mouse-save-then-kill).
;; icicle-candidate-set-retrieve-1: Call icicle-apropos-complete upon minibuffer setup.
;; 2010/11/04 dadams
;; icicle-nb-of-candidate-in-Completions: Treat nil value the same as horizontal value.
;; 2010/10/24 dadams
;; icicle-insert-string-from-variable, icicle(-mouse)-candidate-read-fn-invoke,
;; icicle-narrow-candidates, icicle-save-predicate-to-variable:
;; Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
;; 2010/10/09 dadams
;; icicle-minibuffer-help, icicle-help-string-completion, icicle-help-on-candidate (doc string):
;; Updated for change toward modal cycling. Fix for swank bindings and M-_ toggle.
;; Applied renaming of icicle-cycling-respects-completion-mode to icicle-default-cycling-mode.
;; icicle-toggle-search-replace-whole: Corrected toggle binding in doc string.
;; 2010/10/08 dadams
;; icicle-narrow-candidates: Set icicle-current-completion-mode to apropos.
;; icicle-apropos-complete-and-narrow:
;; Protect regexp-quote by ensuring non-nil icicle-last-input. Removed yesterday's change.
;; 2010/10/07 dadams
;; icicle-next-TAB-completion-method:
;; If icicle-current-TAB-method is nil, set to first one. member -> memq.
;; Use icicle-current-TAB-method function, not variable, everywhere else.
;; icicle-apropos-complete-and-narrow:
;; If completion mode is prefix, then prefix-complete first. Thx to Michael Heerdegen.
;; 2010/10/06 dadams
;; icicle-next-TAB-completion-method:
;; Use car of icicle-TAB-completion-methods, not basic, as default. Thx to Michael Heerdegen.
;; 2010/10/04 dadams
;; directory-sep-char -> ?/ (It was removed from Emacs 24.)
;; 2010/09/26 dadams
;; icicle-regexp-quote-input:
;; Handle no mark in minibuffer. Use end of prompt, not point-min. Thx to Michael Heerdegen.
;; icicle-column-wise-cand-nb: Bound NB (missing let binding).
;; 2010/06/18 dadams
;; icicle-nb-of-candidate-in-Completions(-horiz), icicle-move-to-next-completion:
;; Replace icicle-completions-format by icicle-completions-format-internal.
;; icicle-scroll-Completions: Do nothing if *Completions* is not displayed.
;; 2010/06/16 dadams
;; Added: icicle-col-wise-cand-nb.
;; Renamed icicle-nb-of-candidate-in-Completions to icicle-nb-of-cand-in-Completions-horiz.
;; Rewrote icicle-nb-of-candidate-in-Completions to handle vertical format also.
;; icicle-candidate-set-save-selected-1:
;; After setting BEG to next face chg, if BEG > END then raise error.
;; After setting END to previous fact chg, BEG > END then swap.
;; After extending, if BEG > END then swap.
;; 2010/06/14 dadams
;; icicle-narrow-candidates: Handle Emacs 23.2+: Use completing-read with read-file-name-internal.
;; icicle-search-define-replacement:
;; Wrap *-remove-Completions-window in save-selected-window. Thx to M. Heerdegen.
;; icicle-help-on-candidate-symbol: Show combined help for fns, vars, and faces (Emacs 22+).
;; 2010/06/11 dadams
;; Added: icicle-make-directory.
;; icicle-read+insert-file-name: Bind icicle-make-directory to C-c +.
;; 2010/06/08 dadams
;; icicle-doremi-increment-max-candidates+: Plain C-u resets icicle-max-candidates to nil.
;; 2010/06/07 dadams
;; icicle-exit-minibuffer: Do not fiddle with faces if not in minibuffer. Thx to M. Heerdegen.
;; icicle-prefix-complete-1:
;; Sole completion case: Move removal of *Completions* before the top-level throw.
;; 2010/06/04 dadams
;; Added: icicle-doremi-increment-max-candidates+.
;; Renamed by adding +: icicle-doremi-increment-swank-(timeout|prefix-length).
;; icicle-help-string-completion: Mention missing doremi toggle keys.
;; icicle-doremi-zoom-Completions+: Show *Completions* if not shown.
;; 2010/05/15 dadams
;; icicle-all-candidates-action-1: Bind *-minibuffer-message-ok-p, *-help-in-mode-line-flag to nil.
;; 2010/05/09 dadams
;; Added: icicle-dispatch-M-_.
;; Removed: icicle-dispatch-C-comma.
;; icicle-help-string-completion:
;; Removed extra arg to format (icicle-key-descriptions-use-<>-flag). Corrected arg order.
;; Updated to reflect binding changes.
;; icicle-toggle-highlight-all-current: Focus to minibuffer before show msg.
;; 2010/05/04 dadams
;; icicle-change-sort-order: Use save-selected-window. Thx to Michael Heerdegen.
;; icicle-apply-to-saved-candidate:
;; Only call sit-for if current-message. Added TYPE arg. Thx to Michael H.
;; 2010/05/03 dadams
;; icicle-toggle-remote-file-testing: Updated for Emacs 23.2+ Thx to Michael Albinus.
;; 2010/04/30 dadams
;; icicle-(apropos|prefix)-complete-1: Run icicle-no-match-hook when no candidates.
;; 2010/04/28 dadams
;; icicle-remove-cand-from-lists: Fix pred a la icicle-mctize-all. Thx to M. Heerdegen.
;; 2010/04/27 dadams
;; icicle-apply-to-saved-candidate: Added sit-for for non-C-u case, to see any msg displayed.
;; icicle-help-on-candidate: Test value, not just boundp, of icicle-completing-keys-p.
;; 2010/04/26 dadams
;; icicle-toggle-highlight-all-current:
;; Save/restore cand nb. Re-complete, rehighlight. Go to current cand only if it is defined.
;; 2010/04/21 dadams
;; Added: icicle-sit-for (Emacs 23+), so user input interrupts sit-for after C-u in minibuffer.
;; 2010/04/20 dadams
;; Added: icicle-sort-by-directories-first.
;; icicle-nb-of-candidate-in-Completions:
;; Bind icicle-completions-format to nil (for calls to *-move-to-next-*). Thx to M. Heerdegen.
;; 2010/04/13 dadams
;; icicle-(apropos|prefix)-complete-1: Fixed recent file-name completion bugs.
;; When icicle-whole-candidate-as-text-prop-p is t and icicle-expand-input-to-common-match-flag
;; is nil, expand the input, unless it is a directory.
;; Expand file-name input to the common match for the current candidate.
;; 2010/04/11 dadams
;; icicle-(apropos|prefix)-complete-1: Fix last fix:
;; Put whole-cand prop on sole candidate only if not a dir, and use icicle-expanded-common-match.
;; 2010/04/09 dadams
;; icicle-(apropos|prefix)-complete-1: When sole candidate, set icicle-current-input to it.
;; Needed, in order to get icicle-whole-candidate property when
;; icicle-expand-input-to-common-match-flag is nil. Thx to Michael Heerdegen.
;; 2010/03/13 dadams
;; Added: icicle-toggle-show-multi-completion.
;; 2010/03/03 dadams
;; Applied renamings: icicle-sort-function to icicle-sort-comparer
;; icicle-sort-functions-alist to icicle-sort-orders-alist,
;; icicle-alternative-sort-function to icicle-alternative-sort-comparer,
;; icicle-last-sort-function to icicle-last-sort-comparer.
;; 2010/03/02 dadams
;; icicle-remove-Completions-window: Do nothing unless *Completions* is shown.
;; icicle-delete-windows-on: Do nothing unless buffer is visible.
;; Do not delete frame if it is the only one.
;; 2010/01/12 dadams
;; icicle-mouse-choose-completion, icicle-insert-string-at-point,
;; icicle-mouse-candidate-action-1, icicle-mouse-remove-candidate,
;; icicle-mouse-candidate-read-fn-invoke, icicle-Completions-mouse-3-menu,
;; icicle-mouse-save/unsave-candidate:
;; set-buffer -> with-current-buffer.
;; icicle-mouse-candidate-read-fn-invoke, icicle-Completions-mouse-3-menu,
;; icicle-mouse-save/unsave-candidate:
;; Removed unused local var BUFFER.
;; icicle-mouse-choose-completion: Removed unused local var ORIG-BUFFER.
;; 2009/12/21 dadams
;; icicle-narrow-candidates:
;; Add fn to minibuffer-setup-hook to make the reference buffer be the new minibuffer.
;; fset -> defalias.
;; 2009/12/13 dadams
;; icicle-change-sort-order: Add REVERSED to msg when reversed.
;; 2009/11/27 dadams
;; Added: icicle-doremi-increment-swank-(prefix-length|timeout).
;; *-next-TAB-completion-method, *-prefix-complete-1: Handle swank completions too.
;; *-next-TAB-completion-method: Bind icicle-doremi-increment-swank-(prefix-length|timeout).
;; 2009/11/26 dadams
;; icicle-next-TAB-completion-method: Do not set icicle-inhibit-sort-p to t for fuzzy.
;; 2009/11/25 dadams
;; Added: icicle-completions-format, icicle-row-wise-cand-nb.
;; icicle-move-to-next-completion: Handle completions laid out vertically.
;; 2009/11/07 dadams
;; Renamed Icicles doremi cmds (added +). Applied other doremi cmd renamings (added +).
;; 2009/10/25 dadams
;; icicle-prefix-complete-1: When sole cand, use the candidate, but without any dir.
;; Renamed: icicle-next-apropos-match-function to icicle-next-S-TAB-completion-method,
;; icicle-toggle-fuzzy-completion to icicle-next-TAB-completion-method (rewrote).
;; icicle-(prefix|apropos)-complete-1: Updated no/sole msgs per new completion methods.
;; icicle-Completions-mouse-3-menu: Updated with the new command names.
;; Updated icicle-help-string-completion.
;; 2009/10/24 dadams
;; icicle-(apropos|prefix)-complete-1:
;; Removed code treating empty dir via *-any-*-p and ("").
;; When only one candidate, set *-last-completion-candidate to:
;; If file-name completion:
;; If empty input, the input; if dir candidate, input + /; else the sole candidate.
;; Else the sole candidate.
;; 2009/10/22 dadams
;; icicle-insert-input, icicle-candidate-action-1, icicle-keep-only-past-inputs,
;; icicle-apropos-complete-and-(narrow|widen):
;; Use icicle-file-name-directory, not file-name-directory.
;; 2009/10/21 dadams
;; icicle-prefix-complete-1:
;; For empty dir we use "" as pseudo-cand. Ensure not "" when later test for / last char.
;; 2009/10/12 dadams
;; Added: icicle-input-is-a-completion-p.
;; icicle-minibuffer-complete-and-exit, icicle-input-is-a-completion-p:
;; Use icicle-input-is-a-completion-p.
;; icicle-prefix-complete-1:
;; For file-name input: Set, and use, current input without substituting env vars.
;; When sole candidate ends in /, add a / to current input also.
;; 2009/09/26 dadams
;; icicle-narrow-candidates(-with-predicate): Bind icicle-progressive-completing-p to t.
;; 2009/09/25 dadams
;; icicle-prefix-complete-1, icicle-transform-sole-candidate:
;; Use icicle-current-input, not (car icicle-completion-candidates).
;; Don't set icicle-current-input to (car icicle-completion-candidates) if no-catch.
;; 2009/09/12 dadams
;; icicle-delete-candidate-object: Message if no candidates, in non-ALLP case also.
;; icicle-delete-candidate-object-1: Bind icicle-completion-candidates to save & restore it.
;; icicle-candidate-action-1, icicle-remove-candidate-display-others,
;; icicle-delete-candidate-object, icicle-help-on-candidate,
;; icicle-candidate-read-fn-invoke:
;; Bind icicle-help-in-mode-line-flag to nil, to avoid help-display delay.
;; icicle-update-and-next: Do nothing if user hit another key and there are more candidates.
;; 2009/09/05 dadams
;; icicle-narrow-candidates: Don't raise an error if no candidates. E.g. C-~.
;; Use backward and forward as the values of icicle-cycling-command prop for nav commands.
;; Apply renaming of icicle-acting-on-next/prev (removed -p).
;; icicle-successive-action: Bind it to value of icicle-cycling-command (nav direction).
;; icicle-all-candidates-list-alt-action: Raise error if null icicle-completion-candidates.
;; icicle-search-define-replacement: Prevent immediate incremental completion kicking in.
;; icicle-(widen|narrow)-candidates(-with-predicate):
;; Use literal text for (S-)TAB in error message, to avoid S-iso-*.
;; 2009/09/02 dadams
;; icicle-(prefix|apropos)-complete-1, icicle-narrow-candidates(-with-predicate):
;; Impose icicle-top-level-when-sole-completion-delay when *-flag is non-nil.
;; 2009/08/27 dadams
;; icicle-goto/kill-failed-input: Do nothing if the overlay is nowhere.
;; icicle-mouse-yank-secondary: If yank-secondary is defined, then pass prefix arg also.
;; 2009/08/23 dadams
;; icicle-narrow-candidates-with-predicate: Added optional arg PREDICATE.
;; 2009/08/20 dadams
;; icicle-successive-action: Don't call icicle-show-help-in-mode-line unless string arg.
;; 2009/08/11 dadams
;; icicle-all-candidates-action-1: Added ALTP arg. Use in call to *-candidate-action-1.
;; icicle-all-candidates(-list)-alt-action: Use new ALTP arg in call with *-alt-action-fn.
;; icicle-successive-action: Bind icicle-acting-on-next/prev-p around call to action fn.
;; icicle(-mouse)-candidate-action-1:
;; No longer bind icicle-* to selves. You must do it in the action fn if you need it.
;; icicle-help-string-completion: C-| -> M-| for Replace all.
;; icicle-change-history-variable: Protect with boundp: *-populate-interactive-history-flag.
;; Wrap require of icicles-var.el in eval-and-compile.
;; 2009/08/01 dadams
;; icicle-change-history-variable:
;; Add icicle-interactive-history to choices only if *-populate-interactive-history-flag.
;; 2009/07/29 dadams
;; icicle-other-history:
;; Call icicle-use-interactive-command-history only if Emacs 23+ and non-nil history.
;; 2009/07/27 dadams
;; icicle-help-string-completion: Mention icicle-other-history.
;; 2009/07/26 dadams
;; Added: icicle-change-history-variable, icicle-other-history,
;; icicle-use-interactive-command-history.
;; icicle-history:
;; Use icicle-cycling-p instead of get icicle-cycling-command, to avoid completion cmds.
;; 2009/07/02 dadams
;; icicle-candidate-set-save-1: If icicle-get-alist-candidate-function returns nil, use CAND
;; 2009/06/26 dadams
;; icicle-doremi-zoom-Completions, icicle-doremi-candidate-width-factor:
;; Use new key-list options, doremi-...-keys (not -key). You will need the latest DoReMi.
;; 2009/06/18 dadams
;; doremi-buffer-font-size: Changed increment (doremi-*-key) bindings to =, -, M-=, M-i.
;; icicle-help-string-completion: Added icicle-doremi-zoom-Completions.
;; 2009/06/17 dadams
;; Added: icicle-doremi-zoom-Completions.
;; icicle-doremi-candidate-width-factor: If no candidates, show message; don't use colors.
;; 2009/06/07 dadams
;; icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
;; 2009/05/27 dadams
;; icicle-minibuffer-complete-and-exit:
;; Don't exit if any completion is done, unless icicle-require-match-p is t.
;; 2009/05/22 dadams
;; Require icicles-mac.el if load-library doesn't find it.
;; 2009/05/18 dadams
;; icicle-candidate-set-save-selected-1: If empty inactive region and MOREP, raise error.
;; 2009/05/17 dadams
;; icicle-toggle-C-for-actions: Use icicle-toggle-icicle-mode-twice, not icy-mode calls.
;; 2009/05/15 dadams
;; icicle-(prefix|apropos)-complete-1: Fit minibuffer frame after inserting current input.
;; 2009/05/11 dadams
;; icicle-upcase-if-ignore-case, icicle-next-apropos-match-function: Use icicle-upcase.
;; 2009/05/09 dadams
;; Added: icicle-looking(-back)-at-anychar-regexp-p, icicle-(forward|backward)-char-dots,
;; icicle-backward-delete-char-untabify-dots, icicle-delete-backward-char-dots,
;; icicle-delete-char-dots, icicle-transpose-chars-dots. icicle-insert-dot(-command),
;; icicle-anychar-regexp, icicle-toggle-dot, icicle-convert-dots.
;; icicle-backward-delete-char-untabify, icicle-delete-backward-char, icicle-delete-char,
;; icicle-transpose-chars: Handle dots.
;; icicle-prefix-complete: Convert dots and set icicle-dot-string-internal.
;; icicle-goto/kill-failed-input: Use overlay.
;; icicle-help-string-completion, icicle-Completions-mouse-3-menu:
;; Added dot toggling. Changed binding for icicle-toggle-hiding-common-match.
;; 2009/05/08 dadams
;; icicle-(prefix|apropos)-complete-1: Fixed typo introduced 2009-05-05.
;; 2009/05/07 dadams
;; icicle-retrieve-(previous|last)-input: Call icicle-place-cursor with optional second arg.
;; 2009/05/05 dadams
;; toggle-icicle-case-sensitivity: Treat read-buffer-completion-ignore-case also (Emacs 23).
;; 2009/05/03 dadams
;; icicle-(prefix|apropos)-complete-1:
;; Don't stop cycling if last command was an action (treat as if it was a cycling cmd).
;; icicle-all-candidates(-list)(-alt)-action, icicle(-mouse)-candidate(-alt)-action,
;; icicle-delete-candidate-object, icicle(-mouse)-help-on-candidate:
;; Put property icicle-action-command.
;; 2009/05/02 dadams
;; icicle-candidate-alt-action: Respect icicle-alternative-actions-alist.
;; icicle-minibuffer-help: Corrected wrt alt action-for-all keys.
;; 2009/04/30 dadams
;; icicle-next-(prefix|apropos)-candidate, icicle-(prefix|apropos)-complete-1,
;; icicle-successive-action:
;; Reset icicle-next-(apropos|prefix)-complete-cycles-p to nil, as appropriate.
;; icicle-prefix-complete-1: Show mode-line help only at very end, and even after cycling.
;; 2009/04/29 dadams
;; icicle-apply-to-saved-candidate:
;; Pass no-error-no-msg to icicle-get-alist-candidate function.
;; If icicle-get-alist-candidate finds no function, get function from car of entry.
;; icicle-apropos-complete-and-(narrow|widen): Handle icicle-apropos-complete-no-display.
;; 2009/04/27 dadams
;; icicle-(prefix|apropos)-complete-1:
;; Set icicle-last-completion-command to icicle-*-complete-no-display if arg NO-DISPLAY.
;; icicle-history: If icicle-last-completion-command is nil, call icicle-apropos-complete.
;; 2009/04/26 dadams
;; Wrap load of icicles-mac in eval-when-compile, and use load-library, not require.
;; Require icicles-opt before icicles-var (not important).
;; 2009/04/20 dadams
;; Added: icicle-(previous|next)-candidate-per-mode-alt-action.
;; 2009/03/19 dadams
;; mouse-choose-completion: Don't fset unless standard function is defined.
;; Use when/unless instead of or for fset's. (cosmetic)
;; 2009/04/15 dadams
;; Added: icicle-(next|previous)-candidate-per-mode-help.
;; icicle-successive-action: Set mode only if known. Leave it alone for per-mode functions.
;; icicle-(apropos|prefix)-complete-1:
;; Don't show help in mode-line when icicle-top-level-when-sole-completion-flag = t.
;; 2009/04/12 dadams
;; icicle-successive-action: Inhibit help in mode line until after action is finished.
;; 2009/04/06 dadams
;; icicle-(prefix|apropos)-complete-1, icicle-candidate-set-retrieve-1,
;; icicle-keep-only-past-inputs:
;; Call icicle-show-help-in-mode-line for completed input.
;; icicle-(prefix|apropos)-complete-1:
;; Don't highlight complete input or show help if icicle-*-complete-and-exit-p is bound.
;; 2009/04/04 dadams
;; Renamed: icicle-sort-by-last-use to icicle-sort-by-last-use-as-input.
;; icicle-change-sort-order: Purge any nil entries from icicle-sort-functions-alist.
;; icicle-current-sort-functions: Respect icicle-buffer-name-sort-predicate.
;; icicle-reverse-sort-order: Echo icicle-current-sort-order.
;; 2009/03/16 dadams
;; icicle-candidate-action-1: Respect icicle-use-candidates-only-once-alt-p.
;; 2009/03/10 dadams
;; icicle-remove-Completions-window: Wrap with condition-case, to ignore "Attempt..." error.
;; 2009/03/01 dadams
;; Added: icicle-completing-read+insert, icicle-read+insert-file-name.
;; 2009/02/28 dadams
;; No soft require of subr-21.el now, since provide replace-regexp-in-string for Emacs 20.
;; 2009/02/23 dadams
;; icicle-mouse-choose-completion, icicle-(prefix|apropos)-complete-1,
;; icicle-insert-completion, icicle-mouse-candidate-action-1, icicle-update-and-next,
;; icicle-narrow-candidates(-with-predicate), icicle-keep-only-past-inputs,
;; icicle-insert-input:
;; Protect dir insertion with icicle-extra-candidates-dir-insert-p.
;; icicle-choose-completion: Use icicle-extra-candidates-dir-insert-p to reset base-size=0.
;; 2009/02/20 dadams
;; Added: icicle-sort-extra-candidates-first.
;; icicle-candidate-action-1: Use function icicle-require-match-p, not variable.
;; 2009/02/17 dadams
;; icicle-exit-minibuffer: Don't put nil face property on input. Thx to Daniel Clemente.
;; 2009/02/04 dadams
;; icicle-(prefix|apropos)-complete-1:
;; Do not set icicle-current-input to icicle-last-input unless also icicle-cycling-p.
;; Do not cycle unless also was already cycling or icicle-next-*-complete-cycles-p.
;; Set icicle-next-*-complete-cycles-p, at end, to save whether input was completed some.
;; 2009/02/01 dadams
;; Added: icicle-up-directory, icicle-replace-input-w-parent-dir.
;; 2009/01/24 dadams
;; icicle-narrow-candidates(-with-predicate):
;; Bind icicle-apropos-complete-match-fn to icicle-last-apropos-complete-match-fn.
;; icicle-next-apropos-match-function: Save new value as *-last-apropos-complete-match-fn.
;; 2009/01/18 dadams
;; icicle-(prefix|apropos)-complete-1:
;; Don't set icicle-current-input to icicle-last-input if icicle-edit-update-p.
;; 2009/01/17 dadams
;; icicle-next-apropos-match-function:
;; Add Levenshtein distance in message: (1).
;; Don't do icicle-complete-again-update - too slow.
;; 2009/01/14 dadams
;; icicle-remove-cand-from-lists: Treat icicle-remove-dups-if-extras also.
;; 2009/01/13 dadams
;; icicle-delete-windows-on: Delete frame even if it has a minibuffer, if it's not active.
;; 2008/12/26 dadams
;; Added: icicle-widen-candidates, icicle-apropos-complete-and-widen.
;; Added icicle-widen-candidates to icicle-Completions-mouse-3-menu.
;; 2008/12/25 dadams
;; icicle-retrieve-previous-input: Corrected logic following cycling.
;; Remember whether repeated C-l calls follow cycling: local var was-cycling-p.
;; If so, then use current raw input for second C-l. Otherwise use previous raw input.
;; Use icicle-cycling-p instead of testing if this command is a cycling command.
;; Handle case of "" raw input, which is never in list of saved raw inputs.
;; Restore current raw input after re-completing.
;; icicle-(prefix|apropos)-complete-1: Reset icicle-cycling-p (new var) to nil.
;; icicle-regexp-quote-input: Reset icicle-expand-input-to-common-match-flag to nil.
;; 2008/12/22 dadams
;; Added: icicle-regexp-quote-input.
;; Added it to icicle-help-string-completion, icicle-Completions-mouse-3-menu.
;; 2008/12/21 dadams
;; icicle-minibuffer-complete-and-exit:
;; Rewrote to fit new Emacs 23 behavior. Thx to Daniel Clemente.
;; Test minibuffer-completion-confirm first, before we auto-complete.
;; icicle-last-input -> icicle-current-input (bug fix bc of call to *-no-display).
;; icicle-prefix-complete-1: Bind free var word-complete-input.
;; icicle-(apropos|prefix)-complete-1: No messages if NO-DISPLAY-P is 'no-msg.
;; 2008/12/20 dadams
;; icicle-(apropos|prefix)-complete-1, icicle-narrow-candidates(-with-predicate):
;; Expand file-name choice if thrown to icicle-read-top.
;; 2008/12/10 dadams
;; icicle-(apropos|prefix)-complete-1: Don't pick up icicle-last-input unless also:
;; (1) same completion mode, (2) icicle-completion-candidates is not nil.
;; icicle-prefix-complete-1: If WORD-P, don't pick up icicle-last-input unless same command.
;; Bind minibuffer-message-timeout to 0 during minibuffer-complete-word.
;; icicle-apropos-complete-1:
;; Typo in last cond clause: prefix -> apropos, in i-apropos-completing-command.
;; 2008/12/06 dadams
;; icicle-prefix-complete-1: Fixes for word completion.
;; Don't initialize *-current-input to *-last-input if word-p and icicle-edit-update-p.
;; Recompute candidates after word complete also if editing or didn't repeat last command.
;; Cycle if last command was not a prefix completion and input doesn't end in `-'.
;; 2008/12/05 dadams
;; Let repeated completion commands cycle. Thx to Andrey Zhdanov for the suggestion.
;; icicle-(apropos| prefix)-complete-1:
;; Call icicle-next-candidate, not scroll, when repeated. Special treatment for word.
;; icicle-(apropos|prefix)-complete*:
;; Put icicle(-apropos|-prefix)-cycling-command property on command symbols.
;; 2008/12/02 dadams
;; icicle-minibuffer-complete-and-exit:
;; Updated for Emacs 23's minibuffer-confirm-exit-commands.
;; 2008/11/29 dadams
;; icicle-prefix-word-complete:
;; Redefined to use (new) icicle-prefix-complete-1.
;; Put property icicle-completing-command.
;; icicle-prefix-complete-1:
;; Useful now also for icicle-prefix-word-complete. Added arg word-p.
;; icicle-(prefix|apropos)-complete-1, icicle-switch-to-Completions-buf:
;; Test property icicle-prefix-completing-command, not eq cmds.
;; icicle-(prefix|apropos)(-word)-complete(-no-display):
;; Put property icicle-(prefix|apropos)-completing-command.
;; icicle-next-candidate-per-mode: Use case, not cond.
;; icicle-end-of-line+: Bind inhibit-field-text-motion, call end-of-line to get past prompt.
;; 2008/11/18 dadams
;; icicle-minibuffer-complete-and-exit: Allow exit if input matches a current candidate.
;; icicle-exit-minibuffer: Remove all Icicles minibuffer faces, but only those.
;; 2008/11/14 dadams
;; Added: icicle-toggle-hiding-common-match.
;; icicle-help-string-completion, icicle-Completions-mouse-3-menu: Mention it.
;; 2008/11/10 dadams
;; icicle-minibuffer-complete-and-exit:
;; Use icicle-exit-minibuffer, not old-exit-minibuffer, so remove *Completions*.
;; 2008/11/09 dadams
;; icicle-maybe-multi-completion-completing-p, icicle-transform-sole-candidate:
;; Don't test icicle-list-join-string (always non-nil).
;; 2008/11/03 dadams
;; icicle-(apropos|prefix)-complete-1: Added message Computing completion candidates...
;; 2008/11/02 dadams
;; icicle-upcase-if-ignore-case: condition-case, to prevent error on bad chars (Emacs 20).
;; 2008/10/27 dadams
;; Added: icicle-upcase-if-ignore-case.
;; icicle-minibuffer-complete-and-exit, icicle-(prefix|apropos)-complete-1:
;; Use icicle-upcase-if-ignore-case.
;; 2008/10/24 dadams
;; icicle-minibuffer-complete-and-exit: If icicle-candidates-alist, then just filter it.
;; 2008/10/18 dadams
;; Replaced customize-save-variable by funcall icicle-customize-save-variable-function.
;; 2008/10/14 dadams
;; Added: icicle-help-string(-non)-completion.
;; icicle-help-string-completion:
;; Renamed from icicle-update-help-string in icicles-mode.el.
;; Moved common part to icicles-var.el as icicle-general-help-string.
;; Renamed: icicle-completion-help to icicle-minibuffer-help.
;; icicle-minibuffer-help: If not completing, use icicle-help-string-non-completion.
;; Move Send an Icicles bug report to the bottom.
;; 2008/10/11 dadams
;; icicle-(next|previous)-line: Fixed so it highlights also candidates in first column.
;; icicle-kill-failed-input: Made it two-stage. Renamed to icicle-goto/kill-failed-input.
;; 2008/10/10 dadams
;; Added: icicle-(next|previous)-candidate-per-mode-action.
;; 2008/10/09 dadams
;; Updated icicle-Completions-mouse-3-menu for C-<.
;; 2008/10/08 dadams
;; Added: icicle-candidate-set-retrieve-more, icicle-candidate-set-retrieve-1.
;; icicle-candidate-set-retrieve: Use icicle-candidate-set-retrieve-1.
;; icicle-insert-string-at-point:
;; Use icicle-pre-minibuffer-buffer, not (cadr (buffer-list)). Thx to Andrey Zhdanov.
;; icicle-beginning-of-line+: Don't move into prompt. Thx to Andrey Zhdanov.
;; 2008/10/06 dadams
;; icicle-self-insert: Do self-insert-command if executing-kbd-macro. Thx to Tomer Levin.
;; 2008/10/01 dadams
;; icicle-completion-help: Use icicle-update-help-string, not icicle-completion-help-string.
;; 2008/09/30 dadams
;; Renamed icicle-isearch-complete-1 to icicle-isearch-complete-past-string and moved it
;; to icicles-fn.el.
;; 2008/09/20 dadams
;; icicle-toggle-ignored-extensions: Append $ to each extension.
;; icicle-dispatch-C-.: Use icicle-searching-p as the condition, not *-file-name-input-p.
;; 2008/09/14 dadams
;; icicle-(minibuffer|apropos)-complete-and-exit: Set icicle-last-input to current input.
;; icicle-minibuffer-complete-and-exit: Use apropos completion if that's the current mode.
;; 2008/09/13 dadams
;; icicle-candidate-set-save-1: Save to fileset if zero prefix arg.
;; icicle-candidate-set-retrieve: Retrieve also from a fileset.
;; No default value for completing-read.
;; Added: icicle-add-file-to-fileset.
;; Renamed:
;; icicle-candidate-set-save-to-cache-file to icicle-candidate-set-save-persistently,
;; icicle-candidate-set-retrieve-from-cache-file to *-candidate-set-retrieve-persistent.
;; icicle-candidate-set-save-persistently: Added arg FILESETP.
;; icicle-add/update-saved-completion-set: No default value for completing-read.
;; icicle-retrieve-candidates-from-set:
;; Factored out code as icicle-get-candidates-from-saved-set - use it. Don't return name.
;; Moved to icicles-fn.el: icicle-readable-to-markers.
;; 2008/09/09 dadams
;; icicle-candidate-set-save(-selected-1): Added NO-ERROR-P arg.
;; icicle-candidate-set-save-selected: Call *-save-selected-1 with NO-ERROR-P arg.
;; icicle-candidate-set-save-1: Raise error if set to save is empty and not NO-ERROR-P.
;; 2008/09/08 dadams
;; icicle-apropos-complete-and-narrow:
;; If currently prefix completing, escape current input before apropos completing.
;; 2008/09/07 dadams
;; icicle-minibuffer-complete-and-exit:
;; Use *-prefix-complete-no-display and *-display-candidates-in-Completions when needed.
;; 2008/09/06 dadams
;; icicle-minibuffer-complete-and-exit: Rewrote, based on icicle-apropos-complete-and-exit.
;; icicle-prefix-complete-1:
;; Wrap most of single-candidate case in (boundp 'icicle-prefix-complete-and-exit-p).
;; 2008/09/04 dadams
;; icicle-minibuffer-complete-and-exit: Temporary bug workaround.
;; 2008/08/31 dadams
;; icicle-completion-help, icicle-pp-eval-expression-in-minibuffer,
;; icicle-delete-candidate-object-1, icicle-apply-to-saved-candidate,
;; icicle-toggle-highlight-all-current:
;; Select window before call select-frame-set-input-focus.
;; 2008/08/29 dadams
;; icicle-minibuffer-complete-and-exit: Update icicle-last-input to minibuffer contents.
;; 2008/08/28 dadams
;; icicle-(apropos|prefix)-complete-1, icicle-narrow-candidates(-with-predicate):
;; Update minibuffer-history-variable before throw result.
;; icicle-help-on-candidate: Renamed alacarte-menu-items-alist to lacarte-menu-items-alist.
;; 2008/08/27 dadams
;; icicle-kill-failed-input: Reverted mistaken change to use start of *Completions* (duh).
;; 2008/08/25 dadams
;; icicle-minibuffer-complete-and-exit: Call icicle-prefix-complete-no-display with no-msg
;; arg, instead of binding minibuffer-message-timeout to 0.
;; icicle-(apropos|prefix)-complete-no-display: Added optional NO-MSG-P arg.
;; 2008/08/24 dadams
;; icicle-minibuffer-complete-and-exit: Rewrote to not call original Emacs version.
;; Use today's renamings from icicles-fn.el.
;; icicle-raise-Completions-frame: Don't do anything unless one-window-p and option = t.
;; icicle-choose-completion, *-kill-failed-input, *-current-completion-in-Completions:
;; Check point wrt candidates start position, not bobp.
;; icicle-current-completion-in-Completions:
;; "No completion here" error after, not before, we set beg wrt mouse-face change.
;; icicle-mouse-candidate-action-1: Call icicle-update-and-next if there are still cands.
;; 2008/08/21 dadams
;; icicle-candidate-set-retrieve: If completing files, remove directory from candidates.
;; 2008/08/20 dadams
;; icicle-mouse-candidate-action-1: Remove mouse-face property from choice.
;; 2008/08/19 dadams
;; icicle-mouse-remove-candidate:
;; Set icicle-last-completion-candidate. Needed for *-remove-candidate-display-others.
;; icicle-mouse-candidate-action-1: Removed unused vars: buffer, base-size.
;; Added: icicle-delete-candidate-object-1, with explicit CAND arg and NO-DISPLAY-P option.
;; icicle-delete-candidate-object: Added optional ALLP arg.
;; icicle-delete-current-candidate-object: Added optional CAND arg.
;; icicle-update-and-next: Don't try to move to cand in *Completions* if number not known.
;; 2008/08/18 dadams
;; Added: icicle-remove-cand-from-lists, icicle-update-and-next.
;; icicle-narrow-candidates-with-predicate: Update predicate correctly, with lexical-let.
;; icicle-remove-candidate, icicle-delete(-current)-candidate-object:
;; Removed stuff from doc string about removing all that match.
;; icicle-delete-candidate-object, icicle-remove-candidate-display-others:
;; Use icicle-remove-cand-from-lists (with mctized candidate) and icicle-update-and-next.
;; icicle-delete-current-candidate-object: Changed first condition:
;; (and icicle-candidates-alist (consp (car val))) to
;; (or icicle-whole-candidate-as-text-prop-p icicle-candidates-alist)
;; icicle-remove-candidate-display-others:
;; Added optional ALLP arg.
;; Reinitialize icicle-last-completion-candidate properly (as elsewhere).
;; icicle(-mouse)-candidate-action-1: Use ALLP arg for *-remove-candidate-display-others.
;; icicle-history: Don't set minibuffer-completion-predicate if it is nil.
;; Use renamings from icicles-fn.el:
;; icicle-complete-again-update, icicle-remove-if, icicle-put-whole-cand-prop.
;; icicle-narrow-candidates: Do not bind icicle-whole-candidate-as-text-prop-p to nil.
;; icicle-Completions-mouse-3-menu: Removed icicle-scroll-Completions from menu.
;; 2008/08/17 dadams
;; icicle-narrow-candidates-with-predicate:
;; (read-file-name|minibuffer-completion)-predicate: Removed `, in front.
;; icicle-scroll-Completions: Added optional arg (for mouse wheel reversal).
;; Added: icicle-scroll-Completions-up.
;; 2008/08/03 dadams
;; Added: icicle-all-candidates-list(-alt)-action.
;; icicle-all-candidates(-alt)-action:
;; Act on saved candidates, if any. Use list function, if normal is nil.
;; icicle-all-candidates-action-1:
;; Use icicle-candidate-action-1 (with cand arg (new)), not funcall, to apply fn-var.
;; Act on saved candidates, if any.
;; Do not call icicle-abort-recursive-edit at the end.
;; icicle-candidate-action-1:
;; Added optional CAND arg.
;; Save stuff before funcall, in case FN-VAR does its own completion.
;; icicle-mouse-candidate-action-1: Save stuff before funcall, in case FN-VAR completes.
;; icicle-remove-candidate-display-others:
;; When no candidates left, just call icicle-abort-recursive-edit.
;; icicle-help-on-candidate: Added optional CAND arg.
;; Renamed: icicle-candidate-alternative-action-fn to icicle-candidate-alt-action-fn.
;; 2008/07/27 dadams
;; Added: icicle-sort-by-2nd-parts-alphabetically, icicle-maybe-multi-completion-*.
;; icicle-current-sort-functions: Treat icicle-multi-completion-sort-predicate property.
;; icicle-dispatch-C-comma: Call icicle-change-sort-order interactively (bug fix).
;; icicle-reverse-sort-order: Display candidates, possibly in reverse order (bug fix).
;; Moved from here to icicles-fn.el: icicle-transform-multi-completion.
;; 2008/07/16 dadams
;; icicle-mouse-choose-completion: No error if minibuffer is not active.
;; icicle-completion-help and top-level: Don't require help-mode.el unless Emacs 22+.
;; eval-when-compile require's of fit-frame.el, linkd.el.
;; 2008/06/24 dadams
;; icicle-narrow-candidates: Emacs < 22: Set minibuffer-completing-file-name to nil.
;; 2008/06/21 dadams
;; icicle(-mouse)-choose-completion, icicle-current-completion-in-Completions,
;; icicle-mouse-candidate-action-1:
;; buffer-substring-no-properties -> buffer-substring.
;; *NOTE*: THIS REVERSES A FIX made on 2008/02/03. Dunno why that fix was made.
;; 2008/06/03 dadams
;; Added: icicle-toggle-C-for-actions.
;; icicle-Completions-mouse-3-menu: Added icicle-toggle-C-for-actions.
;; 2008/06/01 dadams
;; Added: icicle-current-sort-functions. Predicate tests various contexts using properties.
;; icicle-change-sort-order: Use icicle-current-sort-functions.
;; Added new sort order, defining function icicle-sort-special-candidates-first.
;; 2008/05/27 dadams
;; icicle-isearch-complete-1: Use ring symbols, not their values.
;; 2008/05/25 dadams
;; icicle-isearch-complete: Rewrote. Handle minibuffer search.
;; Added: icicle-isearch-complete-1, from stuff in icicle-isearch-complete.
;; Treat string case. Allow recursive minibuffers. Don't use icicle-isearch-resume.
;; Removed: icicle-isearch-resume.
;; 2008/05/22 dadams
;; icicle-toggle-case-sensitivity: Added prefix arg and update lighter.
;; 2008/05/03 dadams
;; icicle-history: Bind minibuffer-completing-file-name to nil.
;; 2008/05/02 dadams
;; (put 'icicle(-mouse)-yank-secondary 'delete-selection 'yank)
;; 2008/04/25 dadams
;; Added: icicle-toggle-remote-file-testing.
;; icicle-Completions-mouse-3-menu:
;; Added icicle-toggle-remote-file-testing (C-^).
;; icicle-toggle-ignored-space-prefix is now bound to M-_, not C-^.
;; icicle-dispatch-C-^:
;; icicle-toggle-remote-file-testing, not icicle-toggle-ignored-space-prefix.
;; 2008/04/18 dadams
;; Renamed icicle-init-value-flag to icicle-default-value.
;; 2008/04/13 dadams
;; icicle-pp-eval-expression-in-minibuffer: Treat prefix arg (added optional arg).
;; icicle-apply-to-saved-candidate: Use icicle-pp-eval-expression, not pp-eval-expression.
;; 2008/04/02 dadams
;; icicle-apropos-complete-and-narrow: No longer bind icicle-top-level-when-*-flag to t.
;; 2008/03/31 dadams
;; icicle-apropos-complete-1: Allow for no completion type, for No completion msg.
;; 2008/03/29 dadams
;; icicle-pp-eval-expression-in-minibuffer, icicle-narrow-candidates(-with-predicate):
;; Removed binding of icicle-reminder-prompt-flag.
;; 2008/03/25 dadams
;; icicle-(apropos|prefix)-complete-1:
;; When not regexp-matching, use substitute-in-file-name on input, to convert \ to /.
;; 2008/03/23 dadams
;; icicle-scroll-Completions: Respect and update icicle-scroll-Completions-backward-p.
;; 2008/03/19 dadams
;; Added: icicle-insert-newline-in-minibuffer.
;; Renamed i*-pp-eval-expression to *-in-minibuffer. Calls new icicle-pp-eval-expression.
;; 2008/03/12 dadams
;; icicle-completion-help: Add buttons for Commentary (icicles-doc*.el).
;; 2008/03/11 dadams
;; icicle-add/update-saved-completion-set: Clarify error msg for unwritable file.
;; 2008/03/07 dadams
;; Renamed icicle-abort-minibuffer-input to icicle-abort-recursive-edit.
;; 2008/03/02 dadams
;; icicle-describe-file:
;; Use default dir if arg is nil. Error if no readable file. Removed save-excursion.
;; 2008/02/24 dadams
;; icicle-apropos-complete-1: Use icicle-apropos-match-fns-alist lookup for message.
;; icicle-Completions-mouse-3-menu: Added item for icicle-next-apropos-match-function.
;; Added: icicle-next-apropos-match-function.
;; 2008/02/22 dadams
;; icicle-retrieve-candidates-from-set:
;; Like logic for alist in icicle-completing-read:
;; Do icicle-readable-to-markers, then copy car and replace cdr with whole candidate.
;; Removed RAW arg from call to find-file-noselect.
;; Wrap Lisp read in condition-case.
;; Renamed, added un: icicle(-mouse)-save-candidate to icicle(-mouse)-save/unsave-candidate.
;; icicle-add/update-saved-completion-set: Changed default name to just add .icy.
;; icicle-candidate-set-save-1, icicle-retrieve-candidates-from-set:
;; Wrap write/read to/from cache file in condition-case.
;; 2008/02/16 dadams
;; icicle-retrieve-candidates-from-set:
;; Convert alist cands to propertized strings, using i*-put-alist-* and i*-readable-to-*.
;; Set icicle-candidates-alist to reconstituted retrieved candidates.
;; icicle-candidate-set-save-1:
;; Convert to readable alist from propertized text, using i*-markers-to-*, i*-get-alist-*.
;; Added: icicle-readable-to-markers, icicle-markers-to-readable.
;; 2008/02/15 dadams
;; icicle-delete-windows-on:
;; Enable recursive minibuffers for interactive use. Thx to Simon Marshall.
;; 2008/02/14 dadams
;; icicle-add/update-saved-completion-set: Remove properties from completion-set string.
;; icicle-change-sort-order, icicle-retrieve-previous-input,
;; icicle-insert-string-from-variable, icicle(-mouse)-candidate-read-fn-invoke,
;; icicle-narrow-candidates, icicle-save-predicate-to-variable,
;; icicle-candidate-set-retrieve, icicle-candidate-set-save-1,
;; icicle-add/update-saved-completion-set, icicle-isearch-complete:
;; Bind icicle-whole-candidate-as-text-prop-p to nil.
;; 2008/02/07 dadams
;; icicle-delete-windows-on:
;; Delete frame if one-window-p and not a standalone minibuffer. Thx to Simon Marshall.
;; 2008/02/03 dadams
;; icicle-mouse-choose-completion:
;; Use absolute file name for choice and prepend dir in minibuffer. Set base-size to 0.
;; Don't remove *Completions* window.
;; icicle-mouse-candidate-action-1: Use absolute file name for choice.
;; icicle-mouse-choose-completion, icicle-mouse-candidate-action-1,
;; icicle-current-completion-in-Completions: buffer-substring -> *-no-properties.
;; icicle-nb-of-candidate-in-Completions: Update last-nb before the test, in loop.
;; icicle-prefix-complete-1: If input matches empty dir, use that dir as sole completion.
;; Don't remove *Completions* window until after minibuffer msg.
;; icicle-move-to-next-completion: Use icicle-show-Completions-help-flag, not hard-coded 3.
;; icicle-candidate-action-1: For require-match case also, remove cand and display others.
;; Added: icicle-choose-completion.
;; 2008/01/30 dadams
;; Added: icicle-yank-secondary, icicle-mouse-yank-secondary.
;; 2008/01/29 dadams
;; icicle-(apropos|prefix)-complete-1:
;; If icicle-incremental-completion-flag is explicit*, treat like incremental completion.
;; icicle-apropos-complete-1:
;; Distinguish non-existent dir from empty dir: icicle-apropos-any-file-name-candidates-p.
;; icicle-highlight-input-noncompletion takes no args now.
;; 2008/01/13 dadams
;; icicle-mouse-choose-completion, icicle-insert-completion,
;; icicle-mouse-candidate-action-1, icicle-mouse-save-candidate:
;; Do not use icicle-transform-multi-completion.
;; icicle-retrieve-last-input, icicle-(apropos|prefix)-complete-1:
;; Do not treat handle-switch-frame.
;; icicle-mouse-candidate-action-1: Add back \n only if it has property icicle-keep-newline.
;; icicle-mouse-remove-candidate: Removed cruft.
;; icicle-remove-candidate-display-others: save-selected-window around Completions display.
;; icicle-help-on-candidate: Rewrote.
;; Do not use icicle-transform-multi-completion except where appropriate.
;; Always use icicle-candidate-help-fn as first priority, if defined.
;; Give help for prefix keys too during key completion.
;; icicle-help-on-candidate-symbol: No call to icicle-candidate-help-fn here.
;; 2008/01/04 dadams
;; icicle-mouse-choose-completion, icicle-current-completion-in-Completions:
;; Add candidate's final \n only if it has property icicle-keep-newline.
;; 2007/01/01 dadams
;; icicle-narrow-candidates: For Emacs < 22, don't tack dir onto file name if absolute.
;; icicle-candidate-set-save-1: Only redisplay candidates if *Completions* was displayed.
;; 2007/12/31 dadams
;; icicle-mouse-choose-completion, icicle-mouse-candidate-action-1:
;; Add back candidate's final \n that is missing mouse-face.
;; Return icicle-candidate-nb, as doc string says.
;; icicle-mouse-candidate-action-1: Delete current input from minibuffer before acting.
;; Added: icicle-insert-list-join-string.
;; Don't mention that C-o is bound to icicle-candidate-action.
;; 2007/12/26 dadams
;; icicle-transform-multi-completion: Empty input after join string means empty part.
;; icicle-help-on-candidate: Don't call icicle-raise-Completions-frame.
;; 2007/12/11 dadams
;; icicle-change-sort-order:
;; Don't include icicle-proxy-candidate-first-p unless icicle-add-proxy-candidates-flag.
;; 2007/12/10 dadams
;; icicle-exit-minibuffer, icicle-kill-failed-input:
;; Face icicle-input-completion-fail-lax also.
;; 2007/12/09 dadams
;; icicle-exit-minibuffer: Remove icicle-input-completion-fail face from input.
;; icicle-kill-failed-input: Rehighlight after deleting highlighted part.
;; 2007/12/08 dadams
;; icicle-(next|previous)-line: Rewrote for variable number of columns.
;; Added: , icicle-(beginning|end)-of-line+.
;; 2007/12/03 dadams
;; Renamed longest common match (lcm) to expanded common match (ecm).
;; 2007/11/30 dadams
;; icicle-help-on-candidate-symbol:
;; Use fboundp, not functionp, to get describe-function for macros too.
;; 2007/11/28 dadams
;; Renamed describe-bindings-in-map to describe-keymap.
;; icicle-toggle-proxy-candidates: Swap values for saved and unsaved.
;; 2007/11/25 dadams
;; Added: icicle-sort-by-abbrev-frequency.
;; icicle-help-on-candidate-symbol: Treat command abbrevs via apropos for their commands.
;; 2007/11/24 dadams
;; Added: icicle-sort-proxy-candidates-first.
;; 2007/11/22 dadams
;; icicle-help-on-candidate-symbol: Use describe-bindings-in-map for a keymap.
;; 2007/11/17 dadams
;; Added: icicle-toggle-proxy-candidates. Added to icicle-Completions-mouse-3-menu also.
;; 2007/11/04 dadams
;; Require subr-21 if replace-regexp-in-string is not defined.
;; Require icicles-mac (don't wrap in eval-when-compile).
;; icicle-Completions-mouse-3-menu: Added the latest toggle commands.
;; 2007/10/28 dadams
;; Added: icicle-toggle-expand-to-common-match, icicle-toggle-search-replace-common-match.
;; icicle-retrieve-last-input:
;; Treat prefix completion like non-nil expand-input-to-common-match-flag.
;; icicle-search-define-replacement: Bind icicle-update-input-hook to nil.
;; icicle-toggle-highlight-all-current:
;; Save icicle-candidate-nb around rehighlighting.
;; Call icicle-search-action to get back to current candidate and highlight it.
;; 2007/10/27 dadams
;; icicle-search-define-replacement:
;; Bind candidates, input, and cand #, to restore after read replacement string.
;; 2007/10/26 dadams
;; icicle-toggle-highlight-all-current: select-frame-set-input-focus to minibuffer.
;; 2007/10/22 dadams
;; icicle-doremi-*: Use 4 arrows - one command hands off to the other.
;; 2007/10/21 dadams
;; Added: icicle-doremi-inter-candidates-min-spaces, icicle-doremi-candidate-width-factor.
;; 2007/10/14 dadams
;; Updated doc strings to reflect icicle-act-before-cycle-flag.
;; 2007/10/13 dadams
;; icicle-candidate-action-1:
;; Don't set icicle-last-completion-candidate if string. Used for repeated C-next.
;; icicle-remove-candidate-display-others, icicle-history:
;; Treat also the case where cand is a string, not a consp.
;; 2007/10/07 dadams
;; icicle-delete-candidate-object: Respect icicle-deletion-action-flag.
;; 2007/10/02 dadams
;; icicle-(apropos|prefix)-complete-1:
;; Apply abbreviate-file-name to file-name input. Thx to Joonhwan Lee.
;; icicle-toggle-fuzzy-completion: Removed soft require of fuzzy-match+.el.
;; 2007/09/29 dadams
;; Added: icicle-toggle-fuzzy-completion.
;; icicle-Completions-mouse-3-menu: Added icicle-toggle-fuzzy-completion.
;; icicle-prefix-complete-1: Adjust feedback messages for fuzzy completion.
;; icicle-(apropos|prefix)-complete-1:
;; Only set icicle-default-directory if (icicle-file-name-input-p).
;; 2007/09/25 dadams
;; icicle-narrow-candidates: Treat icicle-whole-candidate-as-text-prop-p case.
;; icicle-kill-failed-input: Rewrote.
;; 2007/09/21 dadams
;; icicle-narrow-candidates:
;; Emacs<22, file-name completion: Append directory to each candidate. Thx Ian Perryman.
;; 2007/09/14 dadams
;; icicle-(apropos|prefix)-complete-1, icicle-prefix-word-complete:
;; Wrapped condition-case around candidates computation.
;; 2007/08/25 dadams
;; icicle-mouse-candidate-action-1: Use buffer-substring, not buffer-*-no-properties.
;; 2007/08/21 dadams
;; icicle-(apropos|prefix)-complete-1:
;; Reset icicle-input-fail-pos. Call icicle-highlight-input-noncompletion when no match.
;; 2007/08/19 dadams
;; Added: icicle-kill-failed-input.
;; 2007/08/18 dadams
;; icicle-previous-apropos-candidate-alt-action: Fixed typo. Thx to Hadron Quark.
;; 2007/07/29 dadams
;; icicle-apply-to-saved-candidate:
;; Added use-icicle-candidates-alist-p arg. Use icicle-get-alist-candidate.
;; Report original error message also.
;; icicle-candidate-action-1: Do nothing if icicle-last-completion-candidate not a string.
;; 2007/07/27 dadams
;; icicle-successive-action:
;; icicle-act-first-then-navigate-p -> icicle-act-before-cycle-flag.
;; 2007/07/08 dadams
;; icicle-all-candidates(-alt)-action:
;; Use icicle-all-candidates(-alternative)-action-fn if defined.
;; icicle-all-candidates-action-1: Added listp arg.
;; icicle-mouse-save-candidate:
;; Deactivate mark and redisplay completions, to show save highlight.
;; 2007/07/07 dadams
;; Added: icicle-candidate-set-save(-more)-selected(-1),
;; icicle-mouse-candidate-set-save(-more), icicle-mouse-save-then-kill.
;; icicle-insert-completion: If no current completion, return to minibuffer anyway.
;; Update icicle-current-input with inserted candidate.
;; icicle-Completions-mouse-3-menu:
;; Added icicle-candidate-set-save-(more(-selected)|-selected).
;; icicle-save-candidate: If no defined icicle-candidate-nb, then just display message.
;; icicle-candidate-set-save(-more):
;; Use icicle-candidate-set-save-1: Intern variable in standard obarray also. Redisplay
;; candidates and reselect minibuffer after reading file/var name. Put eof error in
;; minibuf. Deactivate mark and redisplay completions. Separate msg if reset.
;; icicle-candidate-set-retrieve: If nothing to restore, don't restore nothing.
;; If single candidate to restore, no *Completions* display.
;; Else, update candidate display.
;; 2007/07/04 dadams
;; icicle-Completions-mouse-3-menu: Added icicle-retrieve-(next|\previous)-input.
;; 2007/07/03 dadams
;; Added: icicle-insert-history-element, icicle-retrieve-(next|previous)-input.
;; icicle-history, icicle-keep-only-past-inputs:
;; Don't retrieve last input unless following a cycling command.
;; icicle-history:
;; Do an initial icicle-apropos-complete unless icicle-last-completion-command.
;; If not following a cycling command, call icicle-last-completion-command (don't set it
;; to empty string) and reset icicle-last-input to nil.
;; icicle-Completions-mouse-3-menu:
;; icicle-retrieve-(next|previous)-input, not icicle-retrieve-last-input.
;; Redefined next-history-element, instead of using defadvice.
;; 2007/06/23 dadams
;; icicle-search-define-replacement: Use icicle-completing-read-history, not read-string.
;; Use icicle-search-replacement-history.
;; 2007/06/17 dadams
;; Added: icicle-toggle-WYSIWYG-Completions.
;; icicle-switch-to-Completions-buf, icicle-move-to-next-completion:
;; Added priority in call to icicle-place-overlay.
;; 2007/06/13 dadams
;; Added: icicle-candidate-set-save-more.
;; icicle-candidate-set-save: Unify messages.
;; 2007/06/12 dadams
;; Added: icicle(-mouse)-save-candidate.
;; icicle-candidate-set-retrieve: Insert candidate if there is only one retrieved.
;; icicle-insert-completion: Added optional completion arg for non-interactive insertion.
;; 2007/06/10 dadams
;; icicle-candidate-action-1: Treat icicle-require-match-p.
;; 2007/06/09 dadams
;; icicle-candidate-action-1, icicle-mouse-candidate-action-1:
;; Remove candidate if icicle-use-candidates-only-once-flag.
;; icicle-candidate-action-1:
;; Let users act on non-candidate too (arbitrary input).
;; 2007/06/07 dadams
;; Renamed: icicle-function-history to icicle-function-name-history,
;; icicle-variable-history to icicle-variable-name-history.
;; Use standard history variable if bound, else use Icicles history variable:
;; function-name-history, variable-name-history
;; 2007/06/01 dadams
;; icicle-erase-minibuffer-or-history-element, icicle-history:
;; Ensure value of minibuffer-history-variable is bound.
;; icicle-keep-only-past-inputs: If value of minibuffer-history-variable unbound, set nil.
;; icicle-keep-only-past-inputs, icicle-history:
;; Assume value of minibuffer-history-variable is a symbol - don't test that.
;; 2007/05/29 dadams
;; icicle-insert-thing: Added optional arg no-replace-p. Make sure end points are defined.
;; icicle-insert-string-from-variable: Call icicle-insert-thing with no-replace-p arg.
;; icicle-minibuffer-complete-and-exit: Set window-point to end of minibuffer.
;; 2007/05/15 dadams
;; icicle-completion-help and top level:
;; Soft require help-mode, not (featurep 'help-mode) and (fboundp 'define-button-type).
;; 2007/05/08 dadams
;; Added: icicle-save-predicate-to-variable.
;; icicle-Completions-mouse-3-menu: Added icicle-save-predicate-to-variable to menu.
;; icicle-narrow-candidates-with-predicate: Quoted the predicate that is read.
;; 2007/05/07 dadams
;; Added: icicle-narrow-candidates-with-predicate.
;; icicle-Completions-mouse-3-menu: Added icicle-narrow-candidates-with-predicate (M-&).
;; 2007/05/06 dadams
;; icicle-completion-help: Updated text at top of help buffer.