initial commit
[emacs-init.git] / auto-install / icicles-chg.el
1 ;;; icicles-chg.el --- Change logs for Icicles libraries.
2 ;;
3 ;; Filename: icicles-chg.el
4 ;; Description: Change logs for Icicles libraries.
5 ;; Author: Drew Adams
6 ;; Maintainer: Drew Adams
7 ;; Copyright (C) 2007-2011, Drew Adams, all rights reserved.
8 ;; Created: Tue Nov 27 07:47:53 2007
9 ;; Version: 22.0
10 ;; Last-Updated: Fri Sep  9 14:13:24 2011 (-0700)
11 ;;           By: dradams
12 ;;     Update #: 7120
13 ;; URL: http://www.emacswiki.org/cgi-bin/wiki/icicles-chg.el
14 ;; Keywords: extensions, help, abbrev, local, minibuffer,
15 ;;           keys, apropos, completion, matching, regexp, command
16 ;; Compatibility: GNU Emacs: 20.x, 21.x, 22.x, 23.x
17 ;;
18 ;; Features that might be required by this library:
19 ;;
20 ;;   None
21 ;;
22 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
23 ;;
24 ;;; Commentary:
25 ;;
26 ;;  Change logs for Icicles libraries.
27 ;;
28 ;;  This file consolidates the change logs for all Icicles libraries.
29 ;;  It contains no code.
30 ;;
31 ;;  Libraries `icicles-doc1.el' and `icicles-doc2.el' contain only
32 ;;  documentation, and they do not have change logs.  Initially,
33 ;;  everything was in one library, `icicles.el', so its change log is
34 ;;  the oldest.
35 ;;
36 ;; ****************************************************************************************************
37 ;; NOTE: If you byte-compile Icicles (recommended), then WHENEVER `icicles-mac.el' is updated, you
38 ;;       must load `icicles-mac.el' (not just `icicles-mac.elc'), then compile it, then RECOMPILE *ALL*
39 ;;       of the other Icicles source files as well.  This is normal for Lisp: code that depends on
40 ;;       macros needs to be byte-compiled anew after loading the updated macros.
41 ;; ****************************************************************************************************
42 ;;
43 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
44 ;;
45 ;; This program is free software; you can redistribute it and/or
46 ;; modify it under the terms of the GNU General Public License as
47 ;; published by the Free Software Foundation; either version 2, or
48 ;; (at your option) any later version.
49 ;;
50 ;; This program is distributed in the hope that it will be useful,
51 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
52 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
53 ;; General Public License for more details.
54 ;;
55 ;; You should have received a copy of the GNU General Public License
56 ;; along with this program; see the file COPYING.  If not, write to
57 ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
58 ;; Floor, Boston, MA 02110-1301, USA.
59 ;;
60 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
61  
62 ;;(@> "Index")
63 ;;
64 ;;  If you have library `linkd.el' and Emacs 22 or later, load
65 ;;  `linkd.el' and turn on `linkd-mode' now.  It lets you easily
66 ;;  navigate around the sections of this doc.  Linkd mode will
67 ;;  highlight this Index, as well as the cross-references and section
68 ;;  headings throughout this file.  You can get `linkd.el' here:
69 ;;  http://dto.freeshell.org/notebook/Linkd.html.
70 ;;
71 ;;  (@> "CHANGE LOG FOR `icicles-cmd1.el'")
72 ;;  (@> "CHANGE LOG FOR `icicles-cmd2.el'")
73 ;;  (@> "CHANGE LOG FOR `icicles-face.el'")
74 ;;  (@> "CHANGE LOG FOR `icicles-fn.el'")
75 ;;  (@> "CHANGE LOG FOR `icicles-mac.el'")
76 ;;  (@> "CHANGE LOG FOR `icicles-mcmd.el'")
77 ;;  (@> "CHANGE LOG FOR `icicles-mode.el'")
78 ;;  (@> "CHANGE LOG FOR `icicles-opt.el'")
79 ;;  (@> "CHANGE LOG FOR `icicles-var.el'")
80 ;;  (@> "CHANGE LOG FOR `icicles.el'")
81 ;;  (@> "CHANGE LOG FOR `icicles-cmd.el'" - Deprecated file)
82  
83 ;;;(@* "CHANGE LOG FOR `icicles-cmd1.el'")
84 ;;
85 ;; 2011/09/02 dadams
86 ;;     icicle-completing-yank: Put kills in order, respecting kill-ring-yank-pointer.
87 ;;                             (put 'icicle-completing-yank 'delete-selection 'yank).
88 ;;     icicle-insert-for-yank: Set this-command to yank.
89 ;; 2011/08/30 dadams
90 ;;     icicle-yank-maybe-completing: Put delete-selection prop, so region is deleted.
91 ;; 2011/08/26 dadams
92 ;;     icicle-comint-dynamic-complete-as-filename, icicle-comint-dynamic-simple-complete,
93 ;;       icicle-bbdb-complete-name, icicle-explore, icicle-bookmark(-list|-other-window),
94 ;;       icicle-define-bookmark-command-1, icicle-find-tag-action,
95 ;;       icicle-kill-a-buffer-and-update-completions, icicle-color-theme,
96 ;;       icicle-delete-file-or-directory:
97 ;;         Use icicle-condition-case-no-debug instead of condition-case.  Thx to Michael Heerdegen.
98 ;;     Make sure to pass format string as first arg to calls to functions error and message.
99 ;; 2011/08/12 dadams
100 ;;     icicle-delete-file, icicle-(file|directory)-list, icicle-(dired|file)*,
101 ;;       icicle-find-file(-absolute|-read-only|in-tags-table)*, icicle-(recent|locate)-file*:
102 ;;         Use icicle-(un)bind-file-candidate-keys.  Don't do/undo such bindings individually here.
103 ;;     icicle-find-file-(absolute|in-tags-table)*, icicle-(recent|locate)-file*:
104 ;;       Bind icicle-full-cand-fn.
105 ;;     icicle-dired-(project|buffer)*: Removed fboundp test of icicle-bookmark-* (just test Bookmark+).
106 ;; 2011/08/11 dadams
107 ;;     icicle-find-file-absolute(-other-window):
108 ;;       Bind C-x a [+-] to adding/removing tags.
109 ;; 2011/08/09 dadams
110 ;;     icicle-define(-file)-command calls: Removed undo code if same as last code, so do not repeat it.
111 ;; 2011/08/07 dadams
112 ;;     icicle-(find-file-absolute|recent-file)(-other-window), icicle-locate-file-1,
113 ;;       icicle-cd-for-(abs|loc)-files:
114 ;;         Bind icicle-abs-file-candidates to the COLLECTION alist (no longer just list of strings).
115 ;; 2011/07/30 dadams
116 ;;     Moved to icicles-cmd2.el and wrapped in eval-after-load bookmark+.el:
117 ;;       icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-(un)tag-a-file.
118 ;; 2011/07/26 dadams
119 ;;     Removed: icicle-list-end-string (no longer needed).  Thx to Michael Heerdegen.
120 ;; 2011/05/22 dadams
121 ;;     Added defvars for free vars to quiet byte compiler.
122 ;; 2011/05/21 dadams
123 ;;     icicle-customize-apropos(-options): let -> let* for interactive form.
124 ;; 2011/04/29 dadams
125 ;;     icicle-execute-extended-command(-1), icicle-command-abbrev(-action|-command),
126 ;;       icicle-execute-named-keyboard-macro, icicle-increment-(option|variable),
127 ;;       icicle-doremi-increment-variable+:
128 ;;         Renamed: orig-must-pass-after-match-predicate to icicle-orig-must-pass-after-match-pred,
129 ;;                  new-last-cmd to icicle-new-last-cmd.
130 ;; 2011/04/25 dadams
131 ;;     Commands defined with icicle-define-file-command and using icicle-file-bindings:
132 ;;       Remove binding for icicle-candidate-help-fn - done in icicles-mac.el now.
133 ;; 2011/04/13 dadams
134 ;;     Fixed autoload cookies for icicle-define-file-command commands added yesterday.
135 ;; 2011/04/12 dadams
136 ;;     Added: icicle-bookmark-save-marked-files(-as-project|-more|-persistently|-to-variable),
137 ;;            icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-(un)tag-a-file.
138 ;;     icicle-bookmark(-list|-set|-other-window|-delete-action), icicle-define-bookmark-command-1:
139 ;;       Applied Bookmark+ renaming: bmkp-sort-and-remove-dups -> bmkp-sort-omit.
140 ;;     icicle-bookmark-set: Fixed typo: bmkp-light-bookmarks-this-buffer -> bmkp-light-this-buffer. 
141 ;;     icicle-define-bookmark-command-1: Doc strings now mention corresponding Bookmark+ command.
142 ;;     icicle-execute-extended-command-1:
143 ;;       Apply icicle-transform-multi-completion to arg.  Thx to Michael Heerdegen.
144 ;; 2011/04/04 dadams
145 ;;     icicle-bookmark-jump-1, icicle-pop-tag-mark: Use icicle-recenter.
146 ;; 2011/04/02 dadams
147 ;;     Added: icicle-bookmark-file-this-dir((-all|some)-tags(-regexp))(-other-window),
148 ;;            icicle-locate-file-(action-fn|no-symlinks-p).
149 ;;     icicle-kmacro(-action), icicle-clear(-current)-history(-1):
150 ;;       Use (new) icicle-pref-arg, not pref-arg.
151 ;;     icicle(-kill|-insert)-buffer(-other-window), icicle-default-buffer-names,
152 ;;       icicle-filter-buffer-cands-for-mode, icicle-add-buffer-candidate:
153 ;;         Use (new) icicle-bufflist, not bufflist.
154 ;;     icicle-locate-file(-1|-no-symlinks)(-other-window):
155 ;;       Use (new) icicle-locate-file-no-symlinks-p, not no-symlinks-p.
156 ;; 2011/03/31 dadams
157 ;;     icicle-search-action-1: Applied renaming: i*-target-window-recenter-amount to icicle-recenter.
158 ;;     icicle-customize-apropos-options-of-type: Wrap icicle-var-is-of-type-p with condition-case.
159 ;; 2011/03/29 dadams
160 ;;     Use new icicle-* vars for various free vars (orig-buff etc.).
161 ;; 2011/03/26 dadams
162 ;;     Added: icicle-bookmark-file-(all|some)-tags(-regexp)(-other-window).
163 ;; 2011/02/22 dadams
164 ;;     Added: icicle-lisp-completion-at-point.
165 ;; 2011/01/06 dadams
166 ;;     Added: icicle-filter-buffer-cands-for-mode.
167 ;;     icicle-(kill|insert)-buffer, icicle-buffer(-other-window), icicle-add-buffer-candidate:
168 ;;       Bind C-x M to icicle-filter-buffer-cands-for-mode.
169 ;; 2010/12/26 dadams
170 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
171 ;; 2010/12/18 dadams
172 ;;     Added more autoload cookies for cmds & macros; removed from non-cmd fns.  Thx to Richard Kim.
173 ;;       Specify cmd and file for cmds defined by Icicles macros.
174 ;;     Require icicles-opt.el before icicles-var.el (but it makes no difference).
175 ;; 2010/11/21 dadams
176 ;;     defalias both old-lisp-complete-symbol and (for Emacs 23+) old-lisp-completion-at-point.
177 ;; 2010/11/10 dadams
178 ;;     icicle-lisp-complete-symbol: Remove return value.  Let it do everything (chg is in ici*mode.el).
179 ;; 2010/11/04 dadams
180 ;;     icicle-lisp-complete-symbol: Fixed return value for Emacs 23.2+.  Thx to Michael Heerdegen.
181 ;; 2010/11/03 dadams
182 ;;     defalias old-lisp-completion-at-point, not old-lisp-complete-symbol, for Emacs 23.2+.
183 ;;     icicle-lisp-complete-symbol:
184 ;;       Explicitly return nil, for use in completion-at-point-functions (Emacs 23.2+).
185 ;; 2010/10/25 dadams
186 ;;     icicle-buffer-list: Use icicle-must-pass-after-match-predicate, not icicle-must-pass-predicate.
187 ;;     icicle-directory-list:
188 ;;       Bind icicle-file-predicate instead of using PREDICATE arg.  No emacs-version limit now. 
189 ;; 2010/10/24 dadams
190 ;;     icicle-customize-apropos(-faces|-groups|-options(-of-type)), icicle-execute-extended-command,
191 ;;       icicle-command-abbrev, icicle-execute-named-keyboard-macro, icicle-(re)set-option-to-(t|nil),
192 ;;       icicle-toggle-option, icicle-increment-(option|variable), icicle-doremi-increment-variable+:
193 ;;         Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
194 ;;     icicle-execute-extended-command-1, icicle-command-abbrev-action,
195 ;;       icicle-increment-(option|variable), icicle-doremi-increment-variable+:
196 ;;         Restore orginal icicle-must-pass-after-match-predicate.
197 ;; 2010/10/09 dadams
198 ;;     icicle-customize-face, icicle-repeat-complex-command, icicle-delete-window:
199 ;;       Updated doc string for new prefix and modal cycling keys.
200 ;; 2010/08/27 dadams
201 ;;     icicle-pp-display-expression: Set the hooks locally instead of let-binding them, to avoid msg
202 ;;                                   "Making change-major-mode-hook buffer-local while locally
203 ;;                                   let-bound!" - suggestion from Stefan M.
204 ;; 2010/07/20 dadams
205 ;;     icicle-find-file-in-tags-table(-other-window):
206 ;;       Pick up default-directory of TAGS table.  Thx to Chris Hecker.
207 ;;     icicle-bookmark-jump-1: Applied renaming of bmkp-use-region-flag to bmkp-use-region.
208 ;; 2010/07/17 dadams
209 ;;     Added: icicle-bookmark-url-narrow, icicle-bookmark-url(-other-window).
210 ;;     icicle-bookmark(-list|-set|-other-window|-propertize-candidate|-help-string),
211 ;;       icicle-define-bookmark-command-1: w3m -> url.
212 ;;     Bound URL commands to C-M-u, C-x j u.
213 ;; 2010/07/02 dadams
214 ;;     icicle-bookmark-set: Added INTERACTIVEP arg.  Prompt for tags when bmkp-prompt-for-tags-flag.
215 ;;                          Highlight bookmark if bmkp-auto-light-when-set.
216 ;;     icicle-bookmark-cmd: Call icicle-bookmark-set with new INTERACTIVEP arg.
217 ;; 2010/06/25 dadams
218 ;;     icicle-find-file(-other-window):
219 ;;       Use default-directory, not nil, as third arg to read-file-name.  Thx to Thomas Lim.
220 ;;       Note: This more or less reverts a change I made (why?) on 2008/12/27 (see that, below).
221 ;; 2010/06/18 dadams
222 ;;     Renamed: bookmarkp-* to bmkp-*.
223 ;; 2010/06/11 dadams
224 ;;     icicle-find-file-absolute*, icicle-recent-file*, icicle-locate-file-1:
225 ;;       Bind C-c + to icicle-make-directory.
226 ;;     icicle-find-file-in-tags-table*: Removed bindings: C-x m, C-backspace.
227 ;; 2010/06/10 dadams
228 ;;     icicle-cd-for-abs-files: Bound enable-recursive-minibuffers to t.
229 ;; 2010/06/08 dadams
230 ;;     Added: icicle-bookmark-delete-action: Make it refresh the cache.
231 ;;     icicle-bookmark(-list|-other-window), icicle-define-bookmark-command-1:
232 ;;       Use icicle-bookmark-delete-action.
233 ;;       Use condition-case to filter out bad bookmarks (so no error).  Thx to M. Heerdegen.
234 ;; 2010/06/04 dadams
235 ;;     Applied renamings of doremi commands (added +).
236 ;;     icicle-(buffer|*file|directory)*: Updated doc string to mention icicle-(buffers|files)-ido-like.
237 ;; 2010/05/30 dadams
238 ;;     Added: icicle-locate-file-no-symlinks(-other-window), icicle-locate-file(-other-window)-action,
239 ;;            icicle-locate-file-1.
240 ;;     icicle-locate-file*: Moved body to icicle-locate-file-1.  Use named action functions.
241 ;;                          Respect icicle-ignored-directories (via *-files-within).
242 ;;     icicle-cd-for-loc-files: Added optional arg NO-SYMLINKS-P.
243 ;;     icicle-dired-saved-file-candidates(-other-window): Handle multi-completion candidates.
244 ;;     Thx to M. Heerdegen.
245 ;; 2010/05/28 dadams
246 ;;     icicle-(recent|locate)-file(-other-window), 
247 ;;       Use *-transform-multi-completion in *-all-candidates-list-alt-action-fn.  Thx to M. Heerdegen.
248 ;; 2010/05/27 dadams
249 ;;     icicle-cd-for-loc-files: Wrap interactive spec in save-selected-window.  Thx to M. Heerdegen.
250 ;; 2010/05/26 dadams
251 ;;     icicle-bookmark-set: Removed pseudo-default.  Thx to Michael Heerdegen.
252 ;; 2010/05/24 dadams
253 ;;     icicle-comint-replace-orig-completion-fns: Rewrote to not use case.  Thx to Michael Heerdegen.
254 ;; 2010/05/21 dadams
255 ;;     icicle-bookmark-help-string:
256 ;;       Use BOOKMARK-NAME, not BMK, as arg to vanilla fns, for Emacs < 23.  Thx to Alexander Haeckel.
257 ;; 2010-05-18 dadams
258 ;;     Added: icicle-cd-for-abs-files, icicle-cd-for-loc-files.
259 ;;     icicle-find-file-absolute*, icicle-locate-file*: Bind C-c C-d to icicle-cd-for-(abs|loc)-files.
260 ;;     icicle-locate-file*: Make icicle-list-use-nth-parts be nil if no non-positive prefix arg.
261 ;; 2010/05/16 dadams
262 ;;     icicle-define-bookmark-command-1: Defined command requires bookmark+.el.
263 ;;     Added: icicle-bookmark-specific-(buffers|files)-narrow, icicle-bookmark-this-buffer-narrow.
264 ;;     icicle-bookmark(-other-window), icicle-bookmark-set:
265 ;;       Bound C-M-= (b|f), C-M-. for narrowing to specific-(buffers|files), this-buffer.
266 ;;     icicle-bookmark-cleanup: Updated for added narrowing keys.
267 ;; 2010/05/15 dadams
268 ;;     Added: icicle-define-bookmark-command(-1).  Added ARGS param for use as arg for *-alist-only.
269 ;;     Added same-window commands for bookmark jumping.
270 ;;     Added: *-specific-(buffers|files)*, *-this-buffer*, *-(all|some)-tags(-regexp)* jump commands,
271 ;;            *-bookmarked-(buffer|file)-list.
272 ;;     icicle-bookmark-set: *-selected-buffers-alist-only -> *-specific-buffers-alist-only.
273 ;; 2010/05/06 dadams
274 ;;     icicle-bookmark-set: Removed spurious format call with its arg.
275 ;; 2010/04/29 dadams
276 ;;     icicle-explore: Bind icicle-remove-icicles-props-p to nil around call to completing-read.
277 ;;                     Call icicle-unpropertize at the end (without that binding).
278 ;; 2010/04/20 dadams
279 ;;     icicle-dired(-other-window): Use icicle-dirs-first-p, not icicle-dirs-last-p, and don't reverse.
280 ;; 2010/04/17 dadams
281 ;;     Added: icicle-bookmark-set.
282 ;;     icicle-bookmark-cmd: Use icicle-bookmark-set, not bookmark-set.  Simpler PARG code in that case.
283 ;;     icicle-bookmark(-list|-other-window), icicle-define-bookmark-other-window-command:
284 ;;       Use icicle-transform-multi-completion in icicle-delete-candidate-object.
285 ;; 2010/04/10 dadams
286 ;;     Corrected prefix arg use for icicle-find-file(-read-only)(-other-window).  Thx to M. Heerdegen.
287 ;; 2010/04/09 dadams
288 ;;     Added: icicle-find-file-read-only(-other-window).
289 ;;     icicle-find-file(-other-window):
290 ;;       Prefix arg on individual candidate means visit read-only.
291 ;;       Prefix arg for the command means reverse the prefix arg effect: read-only for all by default.
292 ;; 2010/04/02 dadams
293 ;;     Added: icicle-bookmark-list.
294 ;;     icicle-bookmark-cleanup: Clean up both minibuffer maps.
295 ;; 2010/03/27 dadams
296 ;;     icicle-define-bookmark-other-window-command: Use optional PROMPT arg.
297 ;; 2010/03/19 dadams
298 ;;     icicle-define-bookmark-other-window-command: Rich multi-completions per icicle-bookmark.
299 ;; 2010/03/16 dadams
300 ;;     icicle-bookmark(-other-window):
301 ;;       Use tags, not just file names, in the multi-completions.
302 ;;       Use the default join string, ^G^J, and end string, ^J^J.
303 ;;       Use just icicle-candidate-properties-alist to highlight the file name.
304 ;;       Remove extra quote marks from face names.
305 ;; 2010/03/14 dadams
306 ;;     icicle-bookmark(-other-window):
307 ;;       Copy file/buffer name string for candidate-part face, so we don't touch bookmark-alist.
308 ;;       Handle icicle-bookmark-refresh-cache-flag and C-u.
309 ;;       Bind the narrow keys in minibuffer-local-completion also (lax for multi-completion).
310 ;;       Use face file-name-shadow, not icicle-candidate-part (too distracting).
311 ;;     icicle-bookmark-*-narrow: Use icicle-get-alist-candidate-function.
312 ;;     icicle-define-bookmark-other-window-command: Rewrote to handle multi-completion.
313 ;;     icicle-bookmark-non-file-narrow: Use bookmarkp-non-file-bookmark-p.
314 ;;     icicle-bookmark-propertize-candidate: Typo in a face name.
315 ;; 2010/03/13 dadams
316 ;;     icicle-bookmark(-other-window):
317 ;;       If Bookmark+ available then, depending on icicle-show-multi-completion-flag, use a
318 ;;         multi-completion showing file or buffer.  Use icicle-candidates-alist to do that.
319 ;;       Don't put icicle-fancy-candidates prop on prompt.
320 ;;       Don't use icicle-sorted-bookmark-alist (removed).  Recompute each time.
321 ;; 2010/03/10 dadams
322 ;;     icicle-bookmark-help-string:
323 ;;       Mention the type in the help: sequence, function, bookmark list, desktop, etc.
324 ;;       Don't show position for types that don't use one.  Don't show file for buffer & Dired.
325 ;; 2010/03/09 dadams
326 ;;     icicle-color-theme: Initialize variable icicle-color-themes here, not in icicles-opt.el.
327 ;; 2010/03/04 dadams
328 ;;     icicle-bookmark(-other-window): Use bookmarkp-describe-bookmark(-internals) for C-M-RET.
329 ;; 2010/03/03 dadams
330 ;;     icicle-bookmark(-other-window), icicle-define-bookmark-other-window-command:
331 ;;       Use bookmarkp-sort-and-remove-dups.
332 ;;       Bind icicle-sort-orders-alist, using bookmarkp predicates.
333 ;;     icicle-bookmark(-other-window):
334 ;;       Set icicle-sorted-bookmark-alist and bookmarkp-sorted-alist.
335 ;;       Use bookmarkp-sorted-alist.
336 ;;       Don't append original icicle-sort-orders-alist.  Just include a couple of its entries.
337 ;;     Applied renamings: icicle-sort-function to icicle-sort-comparer,
338 ;;                        icicle-sort-functions-alist to icicle-sort-orders-alist.
339 ;; 2010/02/28 dadams
340 ;;     icicle-send-bug-report: Formatted body a bit.
341 ;; 2010/02/14 dadams
342 ;;     Added: icicle-bookmark-bookmark-list-other-window, icicle-bookmark-bookmark-list-narrow.
343 ;;     icicle-bookmark(-other-window):
344 ;;       Bound to C-M- prefix: icicle-bookmark-bookmark-list-narrow.  Updated doc string.
345 ;; 2010/02/13 dadams
346 ;;     Added: icicle-bookmark-(desktop|man)-other-window,
347 ;;            icicle-bookmark-(dired|desktop|man)-narrow.
348 ;;     icicle-define-bookmark-other-window-command: Raise error if bookmark+.el not found.
349 ;;     icicle-bookmark(-other-window):
350 ;;       Bound to C-M- prefix: icicle-bookmark-(dired|desktop|man)-narrow.
351 ;;     icicle-bookmark-propertize-candidate:
352 ;;       Handle also: sequence, function, bookmark list, desktop, man, buffer, bad bookmarks.
353 ;; 2010/02/02 dadams
354 ;;     icicle-bookmark-jump-1: Don't select minibuffer window and give it focus.
355 ;; 2010/01/30 dadams
356 ;;     icicle-dired(-other-window), icicle-(find|recent|locate)-file(-absolute)(-other-window)
357 ;;       icicle-find-file-in-tags-table(-other-window):
358 ;;         Bind icicle-all-candidates-list-alt-action-fn to open Dired on matching files.
359 ;; 2010/01/13 dadams
360 ;;     icicle-recent-file(-other-window):
361 ;;       Restore C-S-RET as icicle-remove-from-recentf-candidate-action (accidentally removed).
362 ;; 2010/01/12 dadams
363 ;;     Added: icicle-pp-display-expression.
364 ;;     icicle-pp-eval-expression: Use icicle-pp-display-expression.
365 ;;     icicle-bbdb-complete-name: save-excursion + set-buffer -> with-current-buffer.
366 ;; 2009/12/21 dadams
367 ;;     fset -> defalias.
368 ;; 2009/12/13 dadams
369 ;;     Added: icicle-bookmark-dired-other-window, icicle-dired(-other-window).
370 ;;     *-buffer*, *-dired-project*, *-find-file(-absolute)*, *-(recent|locate)-file*,
371 ;;       *-find-file-in-tags-table*:
372 ;;         Bind C-x m to icicle-bookmark-(non-file|dired|file)-other-window.
373 ;; 2009/11/27 dadams
374 ;;     Added: icicle(-doremi)-increment-(variable|option).
375 ;; 2009/11/25 dadams
376 ;;     icicle-color-theme: Raise error for empty input.  Thx to Ahei.
377 ;; 2009/11/24 dadams
378 ;;     icicle-color-theme: Take a snapshot each time invoked, unless prefix arg.
379 ;; 2009/11/22 dadams
380 ;;     icicle-color-theme: Use color-theme-initialize instead of load-library, to load themes.
381 ;; 2009/11/21 dadams
382 ;;     icicle-color-theme: Use color-theme-snapshot to let C-g undo changes.
383 ;;                         Try to load color-theme-library.el (available with version 6.6.0).
384 ;; 2009/11/17 dadams
385 ;;     icicle-bbdb-complete-name: Bind completion-case-ignore.
386 ;; 2009/11/14 dadams
387 ;;     icicle-bbdb-complete-name: Replace macro bbdb-hashtable by its expansion.
388 ;; 2009/09/21 dadams
389 ;;     icicle-lisp-complete-symbol:
390 ;;       Complete symbol in buffer as far as possible first.  Show completions initially.
391 ;; 2009/09/17 dadams
392 ;;     icicle-delete-file, icicle-(file|directory)-list,
393 ;;       icicle-find-file(-absolute)(-other-window),
394 ;;       icicle-(recent|locate)-file(-other-window),
395 ;;       icicle-find-file-in-tags-table(-other-window): Use icicle-file-bindings (new macro).
396 ;; 2009/09/16 dadams
397 ;;     Added: icicle-insert-buffer.
398 ;;     icicle-kill-buffer, icicle-buffer(-other-window), icicle-add-buffer-candidate:
399 ;;       Use icicle-buffer-bindings (new macro).
400 ;; 2009/08/29 dadams
401 ;;     Added: icicle-define-bookmark-other-window-command, icicle-select-bookmarked-region,
402 ;;            icicle-bookmark(-region|-info|-gnus|-w3m|(-non|-local|-remote)-file)-other-window.
403 ;;     icicle-bookmark-propertize-candidate: Updated to reflect renamed bookmark+.el face names.
404 ;;     icicle-bookmark-file-narrow: Use bookmarkp-file-bookmark-p.
405 ;;     (lambda...) -> #'(lambda...).
406 ;; 2009/08/25 dadams
407 ;;     Added: icicle-bookmark-cleanup-on-quit.
408 ;;     icicle-bookmark(-other-window): Use icicle-bookmark-cleanup-on-quit.
409 ;;     icicle-bookmark-cleanup: Removed code to return to original window a focus minibuffer.
410 ;; 2009/08/24 dadams
411 ;;     Added: icicle-bookmark-propertize-candidate.
412 ;;     icicle-bookmark(-other-window): Put faces on bookmark candidates according to type.
413 ;; 2009/08/23 dadams
414 ;;     Added: icicle-bookmark-(region|info|gnus|w3m|(non-|local-|remote-)file)-narrow.
415 ;;     icicle-bookmark(-other-window): Bind keys to bookmark candidate narrowing commands.
416 ;;     icicle-bookmark-cleanup: Unbind the same commands.
417 ;;     icicle-bookmark-cmd:
418 ;;       Let bookmark+.el (latest version) handle prompting for name, even for region bookmark.
419 ;;       Remove any newlines in bookmark name, when no prompting (thx to Thierry Volpiatto).
420 ;; 2009/08/21 dadams
421 ;;     icicle-bookmark-jump-1: Typo.
422 ;; 2009/08/20 dadams
423 ;;     icicle-bookmark-cmd: Use icicle-bookmark-other-window, not icicle-bookmark.
424 ;;                          Fix trimmed-name: no longer than def-name.
425 ;;     icicle-bookmark(-other-window): Bind enable-recursive-minibuffers, in case need to read.
426 ;;     icicle-bookmark-jump-1: No crosshair highlighting for region bookmarks.
427 ;; 2009/08/19 dadams
428 ;;     Added: icicle-bookmark-help-string.
429 ;;     icicle-bookmark-cmd: Handle creation of region bookmarks (new default values).
430 ;;                          icicle-bookmark-name-length-max now applies to whole bookmark name.
431 ;;     icicle-bookmark(-other-window):
432 ;;       Apply icicle-candidate-short-help to candidates.  Use also for the help function.
433 ;;     icicle-bookmark-jump-1: Use bookmark--jump-via if it is defined.
434 ;; 2009/06/21 dadams
435 ;;     icicle-bookmark-jump-1: Removed temporary Emacs 23 workaround for (fixed) bug #1175.
436 ;; 2009/06/07 dadams
437 ;;     icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
438 ;; 2009/05/22 dadams
439 ;;     Require icicles-mac.el if load-library doesn't find it.
440 ;;     Created - Split off from icicles-cmd.el.
441  
442 ;;;(@* "CHANGE LOG FOR `icicles-cmd2.el'")
443 ;;
444 ;; 2011/09/09 dadams
445 ;;     icicle-search-w-isearch-string: Added prefix-arg treatment.
446 ;; 2011/09/08 dadams
447 ;;     Added: icicle-search-w-isearch-string, from a lambda in icicles-mode.el.
448 ;; 2011/09/05 dadams
449 ;;     icicle-imenu-*: Others -> Other, as submenu name.
450 ;;     icicle-search, icicle-imenu*-full: Mention C-x . in doc strings.
451 ;; 2011/09/04 dadams
452 ;;     icicle-add-key+cmd: Handle Emacs 23+ consp char-range events, for self-insert.
453 ;;                         Applied renaming of icicle-complete-keys-self-insert-flag to *-ranges.
454 ;;     Removed: icicle-insert-char.
455 ;; 2011/09/02 dadams
456 ;;     Removed: icicle-Info-index-cmd, icicle-Info-menu-cmd, icicle-Info-goto-node-cmd.
457 ;;     icicle-Info-index(-20|-action): Use old-Info-index.
458 ;;     icicle-Info-goto-node-1: Use old-Info-goto-node.
459 ;; 2011/08/27 dadams
460 ;;     icicle-search-char-property-scan: Added optional ACTION arg.  Move hit-end after ACTION.
461 ;;     Added: icicle-imenu-1.  Created from old icicle-imenu*, but: (1) added args FULLP for full,
462 ;;            SUBMENU-FN to pick submenu, (2) pass PREDICATE and pos after forward-sexp for FULLP.
463 ;;     icicle-imenu, icicle-imenu-command: Use icicle-imenu-1.
464 ;;     Added: icicle-imenu(-command|-non-interactive-function)-full, icicle-search-defs-full,
465 ;;            icicle-imenu-(macro|variable|user-option|face|key-(implicit|explicit)-map)(-full), 
466 ;;     icicle-apply-action, icicle-apply-list-action, icicle-search-regexp-scan,
467 ;;       icicle-search-action-1, icicle-search-bookmark, icicle-define-search-bookmark-command,
468 ;;       icicle-search-thing-scan, icicle-search-char-property-scan:
469 ;;         Use icicle-condition-case-no-debug instead of condition-case.  Thx to Michael Heerdegen.
470 ;; 2011/08/26 dadams
471 ;;     icicle-imenu:
472 ;;       When multiple Others menus, name them uniquely.
473 ;;       When only one submenu, just use it (no choosing).
474 ;;     icicle-complete-keys-action: Removed useless condition-case.
475 ;;     Make sure to pass format string as first arg to calls to functions error and message.
476 ;; 2011/08/17 dadams
477 ;;     icicle-search-thing-scan: Use correct code (not 1+) also if thingatpt+.el is loaded.
478 ;;     icicle-search-regexp-scan: Quit while loop if no more match, except if complementing.
479 ;;     icicle-search-read-context-regexp, icicle-search-(thing|property)-args, icicle-tags-search:
480 ;;       Change prompt when complementing (add: *NOT*).
481 ;; 2011/08/16 dadams
482 ;;     icicle-maybe-byte-compile-after-load the eval-after-load definitions.
483 ;; 2011/08/14 dadams
484 ;;     icicle-search-thing-scan: Handle icicle-search-complement-domain-p.
485 ;;     Updated doc strings of search commands to mention complementing.
486 ;;     icicle-imenu(-command|-non-interactive-function), icicle-complete-keys-1:
487 ;;       Replaced mapc with dolist so do not require cl.el at runtime (Emacs 20).
488 ;;     icicle-imenu: Ignore case when completing to the type (function etc.). 
489 ;; 2011/08/13 dadams
490 ;;     Added: icicle-bookmark-a-file.
491 ;;     icicle-search-regexp-scan, icicle-search-char-property-scan:
492 ;;       Handle icicle-search-complement-domain-p.
493 ;; 2011/08/12 dadams
494 ;;     icicle-find-file-tagged(-other-window): 
495 ;;       Bind icicle-full-cand-fn.  Use icicle-file-bindings.
496 ;;       Use icicle-(un)bind-file-candidate-keys.  Don't do/undo such bindings individually here.
497 ;; 2011/08/09 dadams
498 ;;     icicle-find-file-tagged(-other-window): Bind C-x a [+-] to adding/removing tags.
499 ;;     icicle-define(-file)-command calls: Removed undo code if same as last code, so do not repeat it.
500 ;; 2011/08/08 dadams
501 ;;     icicle-find-file-tagged(-other-window): Prefix arg means use all (not just tagged) autofiles.
502 ;; 2011/08/07 dadams
503 ;;     Added: icicle-find-file-tagged(-other-window).
504 ;; 2011/08/05 dadams
505 ;;     icicle-(un)tag-a-file: Bind icicle-use-candidates-only-once-flag to t.
506 ;; 2011/07/31 dadams
507 ;;     Added: icicle-search-xml-element-text-node.
508 ;;     icicle-search-thing(-scan): Added TRANSFORM-FN arg.
509 ;;     icicle-search-define-candidates: Added message when only one candidate.
510 ;; 2011/07/30 dadams
511 ;;     Moved here from icicles-cmd1.el and wrapped in eval-after-load bookmark+.el:
512 ;;       icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-(un)tag-a-file.
513 ;;     Moved here from synonyms.el and wrapped in eval-after-load synonyms.el: (icicle)-synonyms.
514 ;;     Moved here from icicles-fn.el and wrapped in eval-after-load hexrgb.el:
515 ;;       icicle-color-*-lessp (except -rgb-), icicle-color-completion-setup, icicle-color-help,
516 ;;        icicle-make-color-candidate.
517 ;;     Soft-require hexrgb.el only when byte-compile.
518 ;;     icicle-frame-(bg|fg), icicle-read-color: Wrap in eval-after-load hexrgb.el.
519 ;;     icicle-(insert|complete)-thesaurus-entry(-cand-fn): Wrap in eval-after-load synonyms.el.
520 ;;     icicle-choose(-(in)visible)-faces, icicle-(hide|show)(-only)-faces:
521 ;;       Use eval-after-load highlight.el, not featurep.
522 ;;     icicle-pick-color-by-name(-action), palette keys: Use eval-after-load palette.el, not featurep.
523 ;; 2011/07/27 dadams
524 ;;     icicle-search-read-word: Changed regexp to what vanilla Emacs uses for word search.
525 ;;     icicle-search(-word): Updated doc string wrt word search.
526 ;; 2011/07/26 dadams
527 ;;     Removed: icicle-list-end-string (no longer needed).  Thx to Michael Heerdegen.
528 ;; 2011/07/24 dadams
529 ;;     Moved here from palette.el, and renamed with prefix icicle-:
530 ;;       icicle-pick-color-by-name, icicle-pick-color-by-name-action
531 ;;     Moved here from highlight.el, and renamed with prefix icicle- (from hlt-) and suffix -faces:
532 ;;       icicle-(hide|show)(-only)-faces, icicle-choose(-(in)visible)-faces.
533 ;;     Added: icicle-invisible-face-p.
534 ;;     icicle-choose(-(in)visible)-faces: Corrected:
535 ;;       Lax if icicle-WYSIWYG-Completions-flag.  Put icicle-fancy-candidates on prompt.
536 ;;       Use icicle-list-*, for multi-completions.  Use icicle-invisible-face-p to test invisibility.
537 ;;     Added eval-when-compile with soft requires for bookmark+.el and highlight.el.
538 ;; 2011/07/18 dadams
539 ;;     icicle-search-thing, icicle-search-thing-scan:
540 ;;       Moved normalizing BEG, END to *-scan, for multiple buffers case.  Thx to M. Heerdegen.
541 ;; 2011/07/13 dadams
542 ;;     icicle-search-replace-cand-in-mct: Changed <= to < for len-rep.  Thx to M. Heerdegen.
543 ;; 2011/07/04 dadams
544 ;;     icicle-search-in-context-default-fn:
545 ;;       Bound icicle-last-completion-candidate, icicle-completion-candidates.  Thx to M. Heerdegen.
546 ;; 2011/07/02 dadams
547 ;;     Added: icicle-defined-thing-p.
548 ;;     icicle-things-alist: Use icicle-defined-thing-p.  Thx to Michael Heerdegen.
549 ;; 2011/06/03 dadams
550 ;;     Replace icicle-help-in-mode-line-flag by icicle-help-in-mode-line-delay everywhere.
551 ;; 2011/05/25 dadams
552 ;;     icicle-fundoc, icicle-vardoc, icicle-plist:
553 ;;       Use icicle-doc-action only.  Bind icicle-list-use-nth-parts to (1).  Thx to Michael Heerdegen.
554 ;; 2011/05/24 dadams
555 ;;     icicle-invisible-p: Use invisible-p if available (Emacs 22+).
556 ;; 2011/05/22 dadams
557 ;;     Added defvars for free vars to quiet byte compiler.
558 ;; 2011/05/16 dadams
559 ;;     icicle-search-thing-args: Message about C-M-; when ignoring comments and THING is comment.
560 ;; 2011/05/15 dadams
561 ;;     Added: icicle-search-xml-element.
562 ;;     icicle-search-thing, icicle-search-thing-scan: Added PREDICATE optional arg.
563 ;; 2011/05/14 dadams
564 ;;     Added: icicle-things-alist.
565 ;;     icicle-search-thing-args, icicle-(next|previous)-visible-thing:
566 ;;       Use icicle-things-alist, not (now removed) option icicle-thing-types.
567 ;;     icicle-next-visible-thing-1: Change comparison to < from <=
568 ;;     Removed: icicle-defined-thing-p (not used).
569 ;; 2011/05/13 dadams
570 ;;     Renamed: icicle-last-visible-thing-type to icicle-last-thing-type.
571 ;;     icicle-last-thing-type: Use thgcmd-last-thing-type value as default, if available.
572 ;;     icicle-search-thing: Ensure BEG is before END (swap if needed).
573 ;;     icicle-search-thing-args, icicle-(next|previous)-visible-thing:
574 ;;       Use completing-read, not read-string, to read thing type.
575 ;;     icicle-(next|previous)-visible-thing: Do not set this-command (no need).
576 ;;     icicle-search-thing-scan: Removed code defining BEG, END if nil.  Go to BEG, not min BEG, END.
577 ;;     icicle-next-visible-thing-2: Do not return an empty thing.
578 ;; 2011/05/11 dadams
579 ;;     Added: icicle-invisible-p, icicle-previous-single-char-property-change.
580 ;;     icicle-search-thing-scan:
581 ;;       Handle also text invisible due to overlay, and invisible prop other than t.
582 ;;     icicle-next-visible-thing-2: Separate handling overlay and text prop.  Use icicle-invisible-p.
583 ;; 2011/05/10 dadams
584 ;;     Added: icicle-last-visible-thing-type, icicle-previous-visible-thing,
585 ;;            icicle-next-visible-thing-(and-bounds|1|2).
586 ;;     Alias icicle-next-visible-thing-(1|2) to the same commands from thing-cmds.el.
587 ;;     icicle-search-thing-scan:
588 ;;       Use when, not while, to skip over invisible (since use next-single-property-change).
589 ;;       Use new icicle-next-visible-and-bounds, so save-excursion and goto min.
590 ;;     Old icicle-next-visible is now ~ *-2, but that handles backward too.  New one is a command.
591 ;; 2011/05/07 dadams
592 ;;     Added: icicle-with-comments-hidden, icicle-hide/show-comments, icicle-search-thing,
593 ;;              icicle-defined-thing-p, icicle-next-visible-thing, icicle-search-thing-args,
594 ;;              icicle-search-thing-scan.
595 ;;     icicle-search: Doc string tweak.
596 ;; 2011/05/04 dadams
597 ;;     icicle-search-read-context-regexp: Changed prompt to make clear that we search within contexts.
598 ;;     icicle-search-define-candidates: Remove any region highlighting, so we can see search hits.
599 ;; 2011/04/29 dadams
600 ;;     icicle-choose-candidate-of-type: Rewrote buffer bindings based on icicle-buffer-bindings.
601 ;; 2011/04/26 dadams
602 ;;     Added: icicle-search-autofile-bookmark.
603 ;; 2011/04/12 dadams
604 ;;     Added: icicle-search-bookmark-list-marked, icicle-named-colors.
605 ;;     icicle-search-bookmark, icicle-define-search-bookmark-command:
606 ;;       Applied Bookmark+ renaming: bmkp-sort-and-remove-dups -> bmkp-sort-omit.
607 ;;     icicle-comint-search: Improved doc string (don't use C-next etc.).
608 ;;     icicle-frame-(bg|fg), icicle-read-color: Rename free var named-colors to icicle-named-colors.
609 ;;       Bind it in icicle-frame-(bg|fg), icicle-read-color, for use in icicle-color-completion-setup.
610 ;; 2011/04/04 dadams
611 ;;     icicle-insert-thesaurus-entry-cand-fn, icicle-goto-marker-1-action, icicle-search-final-act,
612 ;;       icicle-comint-search:  Use icicle-recenter.
613 ;; 2011/04/02 dadams
614 ;;     Added: icicle-info-(buff|window), icicle-key-prefix(-2), icicle-active-map,
615 ;;     Moved here from icicles-var.el:
616 ;;       icicle-orig-buff-key-complete, icicle-orig-extra-cands, icicle-orig-font, icicle-orig-frame,
617 ;;       icicle-orig-menu-bar, icicle-orig-pixelsize, icicle-orig-pointsize, icicle-this-cmd-keys,
618 ;;       icicle-orig-show-initially-flag, icicle-orig-sort-orders-alist, icicle-orig-win-key-complete.
619 ;;     icicle-Info-index(-goto-node)(-action):
620 ;;       Use (new) icicle-info-(buff|window), not info-(buff|window).
621 ;;     icicle-describe-option-of-type, icicle-describe-opt-of-type-complete:
622 ;;       Use (new) icicle-pref-arg, not pref-arg.
623 ;;     icicle-search: Bind (new) icicle-scan-fn-or-regexp.
624 ;;     Moved any alias inside emacs-major-version test.
625 ;;     icicle-complete-keys-1: Bind (new) icicle-key-prefix.
626 ;;     icicle-complete-keys-action: Use (new) icicle-key-prefix, not prefix.
627 ;;     icicle-keys+cmds-w-prefix: Bind (new) icicle-key-prefix-2.  Use icicle-active-map, not map.
628 ;;     icicle-add-key+cmd: Use icicle-key-prefix-2 and icicle-active-map, not prefix and map.
629 ;; 2011/03/31 dadams
630 ;;     icicle-describe-opt-of-type-complete: Wrap icicle-var-is-of-type-p with condition-case.
631 ;; 2011/03/29 dadams
632 ;;     icicle-search-action-1: Set icicle-other-window.  Use icicle-target-window-recenter-amount.
633 ;;     Use new icicle-* vars for various free vars (orig-buff etc.).
634 ;;     icicle-frame-(bg|fg), icicle-read-color: prompt -> icicle-prompt.
635 ;; 2011/03/03 dadams
636 ;;     icicle-insert-thesaurus-entry: Changed to strict completion from lax.
637 ;;     icicle-describe-option-of-type, icicle-(fun|var)doc, icicle-plist:
638 ;;       Removed mention of RET in prompt.
639 ;; 2011/02/17 dadams
640 ;;     Added defalias old-read-color for read-color.
641 ;; 2010/12/26 dadams
642 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
643 ;; 2010/12/18 dadams
644 ;;     Added more autoload cookies for commands.  Thx to Richard Kim.
645 ;;       Specify command and file for commands defined by Icicles macros.
646 ;;     Require icicles-opt.el before icicles-var.el (but it makes no difference).
647 ;; 2010/12/14 dadams
648 ;;     icicle-search-regexp-scan: Don't create marker if hit string is "".
649 ;;     icicle-search-highlight-all-input-matches:
650 ;;       Don't search within empty search contexts.  Do nothing if input and expanded input are "".
651 ;;       If search doesn't advance point then forward-char.  Stop searching if eobp.
652 ;;       Don't add (empty) overlay if search is empty.
653 ;;     icicle-search-highlight-context-levels: Don't add overlay for empty match.
654 ;;     icicle-search-highlight-input-matches-here: If search doesn't advance point then forward-char.
655 ;;     icicle-search-char-property-scan: Don't create empty overlays.
656 ;; 2010/11/10 dadams
657 ;;     Added: icicle-read-args-for-set-completion-methods.
658 ;;     icicle-set-((S-)TAB|completion)-methods-for-command: Added METHODS arg.
659 ;; 2010/11/09 dadams
660 ;;     Added: icicle-set-((S-)TAB|completion)-methods-for-command.
661 ;; 2010/11/07 dadams
662 ;;     Applied renaming of icicle-all-candidates-action-p to icicle-all-candidates-action.
663 ;; 2010/10/27 dadams
664 ;;     icicle-where-is: Use different prompt if prefix arg.  Clarify the pref-arg diff in doc string.
665 ;; 2010/10/25 dadams
666 ;;     icicle-search: Remove mention of icicle-search-context-match-predicate (no longer exists).
667 ;; 2010/10/24 dadams
668 ;;     icicle-where-is, icicle-apropos-(variable|option|function|command), icicle-apply,
669 ;;       icicle-save-string-to-variable, icicle-choose-candidate-of-type,
670 ;;       icicle-read-var-value-satisfying:
671 ;;         Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
672 ;; 2010/10/09 dadams
673 ;;     icicle-Info-goto-node, icicle-apply, icicle-goto-marker, icicle-occur, icicle-complete-keys,
674 ;;       icicle-(comint|compilation)-search, icicle-search(-sentences|-paragraphs|-pages):
675 ;;         Updated doc string for new prefix and modal cycling keys.
676 ;; 2010/07/17 dadams
677 ;;     Added: icicle-search-url-bookmark.
678 ;;     icicle-search-bookmark, icicle-define-search-bookmark-command: w3m -> url.  Added C-M-u binding.
679 ;; 2010/07/14 dadams
680 ;;     icicle-Info-index: Bind C-x m to icicle-bookmark-info-other-window.
681 ;;     icicle-Info-read-node-name: Restore original binding of C-x m, if any.
682 ;; 2010/06/21 dadams
683 ;;     icicle-comint-search: Wrap search with unwind-protect to remove hook.  Thx to M. Heerdegen.
684 ;; 2010/06/18 dadams
685 ;;     icicle-search-replace-match: Specific error message for read-only buffer.  Thx to M. Heerdegen.
686 ;;     Renamed: bookmarkp-* to bmkp-*.
687 ;; 2010/06/12 dadams
688 ;;     icicle-goto-marker-or-set-mark-command:
689 ;;       Set this-command so C-SPC C-SPC activates when not t-m mode.  Thx to Chris Hecker.
690 ;; 2010/06/11 dadams
691 ;;     icicle-search-action-1: (unless (pos-visible-in-window-p) (recenter -2)).  Thx to M. Heerdegen.
692 ;; 2010/06/08 dadams
693 ;;     icicle-search-bookmark, icicle-define-search-bookmark-command:
694 ;;       Use icicle-bookmark-delete-action.
695 ;;       Use condition-case to filter out bad bookmarks (so no error).
696 ;; 2010/06/04 dadams
697 ;;     Added: icicle-ido-like-mode.
698 ;; 2010/05/16 dadams
699 ;;     Added: icicle-search-(all|some)-tags(-regexp)-bookmark, icicle-search-desktop-bookmark,
700 ;;            icicle-search-specific-(buffers|files)-bookmark, icicle-search-this-buffer-bookmark.
701 ;;     icicle-define-search-bookmark-command: Defined cmd requires bookmark+.el.  Added &rest arg ARGS.
702 ;; 2010/05/15 dadams
703 ;;     icicle-search-highlight-and-maybe-replace: If candidate number is nil, set to 0.
704 ;;     icicle-search: Updated doc string: Can sort.  Don't say not to use C-|.
705 ;; 2010/05/09 dadams
706 ;;     Icicles search: Change to allow sorting.  Use mctized candidates, not alist + candidate nb.
707 ;;       icicle-search-highlight-and-maybe-replace:
708 ;;         Use *-replace-cand-in-mct, not *-replace-cand-in-alist.  Do not *-input-matches-here.
709 ;;       icicle-search-replace-cand-in-mct: Rewrote.
710 ;;         Handle multi-completions also.  Update CAND+MRKER to use replacement string, but keep props.
711 ;;       icicle-search-in-context-default-fn: Rewrote.
712 ;;         Update icicle-last-completion-candidate to current candidate.  Insert that.
713 ;;         Recompute input-match highlighting in current context.  Remove current if no candidates.
714 ;;       icicle-search-action-1: Do nothing if no candidates.
715 ;;       icicle-search-help: Bind icicle-whole-candidate-as-text-prop-p to t, not nil.
716 ;; 2010/05/04 dadams
717 ;;     icicle-object-action: Pass TYP to icicle-apply-to-saved-candidate. (UNTESTED)
718 ;;     icicle-choose-anything-candidate: Pass TYPE to icicle-apply-to-saved-candidate. (UNTESTED)
719 ;;     icicle-apply, icicle-read-var-value-satisfying: Bug fix: Removed #'.
720 ;; 2010/04/30 dadams
721 ;;     icicle-search: Delete icicle-search-current-overlay via icicle-no-match-hook (& restore hook). 
722 ;; 2010/04/29 dadams
723 ;;     icicle-apply: Added optional args predicate initial-input hist def inherit-input-method.
724 ;;                   Pass them to icicle-explore.
725 ;;     icicle-goto-marker-1: Pass a PREDICATE arg that ensures the marker points somewhere.
726 ;; 2010/04/25 dadams
727 ;;     icicle-complete-keys-action:
728 ;;       Bind icicle-*, esp. *-initially-flag, around call of this-command-keys.  Thx to M Heerdegen.
729 ;;     icicle-complete-keys: Save some icicle-* vars to reuse in icicle-complete-keys-action.
730 ;; 2010/04/17 dadams
731 ;;     icicle-search-bookmark, icicle-define-search-bookmark-command:
732 ;;       Use icicle-transform-multi-completion in icicle-delete-candidate-object.
733 ;; 2010/04/08 dadams
734 ;;     icicle-get-anything-candidates: Removed #' - it was preventing the fn from being functionp.
735 ;; 2010/04/03 dadams
736 ;;     Removed: icicle-search-desktop-bookmark (no need).
737 ;; 2010/04/02 dadams
738 ;;     Removed:
739 ;;       icicle-add-region, icicle-delete-region-from-alist, icicle-purge-bad-file-regions,
740 ;;       icicle-region-add-buffers, icicle-region-add-short-help, icicle-region-help,
741 ;;       icicle-region-open-all-files, icicle-regions, icicle-region-sorted, 
742 ;;       icicle-remove-all-regions-action, icicle-remove-all-regions-in-buffer, icicle-remove-region,
743 ;;       icicle-search-all-regions, icicle-search-region(-action), icicle-select-region(-action).
744 ;;     Added:
745 ;;       icicle-search-bookmark-list-bookmark, icicle-search-bookmarks-together,
746 ;;       icicle-search-desktop-bookmark, icicle-search-dired-bookmark, icicle-search-man-bookmark.
747 ;;     icicle-exchange-point-and-mark, icicle-search(-define-candidates),
748 ;;       icicle-char-properties-in-buffers:
749 ;;         Use only region bookmarks, not Icicles saved regions.
750 ;;     icicle-exchange-point-and-mark: Negative prefix arg prompts for bookmark name.
751 ;;     icicle-search-define-candidates(-1): Raise the no-candidates error in parent, not in (-1).
752 ;;     icicle-search-bookmark: Use full multi-completions.  Use bookmark sort orders.
753 ;;                             Define narrowing keys in both minibuffer maps.
754 ;;     icicle-search-bookmark-action: Transform multi-completion. Use bookmark posns only for region.
755 ;;     icicle-define-search-bookmark-command: Added PROMPT arg.  Use multi-completions, bookmark sorts.
756 ;; 2010/03/28 dadams
757 ;;     Renamed: icicle-search-all-regions to icicle-search-region.
758 ;;     Removed: old icicle-search-region (use icicle-search-region-bookmark instead),
759 ;;              icicle-region-add-buffers, icicle-region-add-short-help, icicle-region-help,
760 ;;              icicle-region-sorted, icicle-region-open-all-files, icicle-add-region,
761 ;;              icicle-remove-region, icicle-delete-region-from-alist,
762 ;;              icicle-purge-bad-file-regions, icicle-remove-all-regions-(in-buffer|action).
763 ;;     icicle-search-all-regions: Use region bookmarks, not icicle-region-alist.
764 ;; 2010/03/27 dadams
765 ;;     Added: icicle-search-(bookmark-list|desktop|dired|man)-bookmark.
766 ;;     icicle-search-bookmark: Use multi-completions.
767 ;;     icicle-search-bookmark-action:
768 ;;       Use icicle-transform-multi-completion.  Use both minibuffer completion maps.
769 ;;       Search region if region bookmark.
770 ;;     icicle-define-search-bookmark-command: Added optional PROMPT arg.  Use multi-completions.
771 ;; 2010/03/13 dadams
772 ;;     Applied renaming of icicle-add-buffer-name-flag to icicle-show-multi-completion-flag.
773 ;; 2010/03/09 dadams
774 ;;     icicle-regions: Use icicle-reversible-sort (with KEY arg), not sort.
775 ;; 2010/03/03 dadams
776 ;;     Applied renamings: icicle-sort-function to icicle-sort-comparer
777 ;;                        icicle-sort-functions-alist to icicle-sort-orders-alist,
778 ;;                        icicle-alternative-sort-function to icicle-alternative-sort-comparer,
779 ;;                        icicle-last-sort-function to icicle-last-sort-comparer.
780 ;; 2010/02/06 dadams
781 ;;     icicle-where-is: Make sure orig-buff is current when look up the bindings.
782 ;; 2010/01/12 dadams
783 ;;     icicle-insert-thesaurus-entry-cand-fn, icicle-marker+text,
784 ;;       icicle-search-(bookmark|region)-action, icicle-char-properties-in-buffer,
785 ;;       icicle-search-char-property-scan:
786 ;;         save-excursion + set-buffer -> with-current-buffer (+ save-excursion).
787 ;;     icicle-search-regexp-scan: set-buffer -> with-current-buffer.
788 ;; 2009/12/13 dadams
789 ;;     icicle-Info-read-node-name: Bind C-x m to icicle-bookmark-info-other-window.
790 ;; 2009/11/24 dadams
791 ;;     icicle-read-color: Copy the prompt string, so *-color-completion-setup can put props.
792 ;; 2009/11/22 dadams
793 ;;     icicle-frame-(bg|fg): Don't apply *-make-color-candidate to named-colors (done already).
794 ;; 2009/11/03 dadams
795 ;;     icicle-frame-(bg|fg): Use named-colors, not x-defined-colors.
796 ;;     icicle-read-color: No need to bind icicle-transform-function, since we use hexrgb.el.
797 ;; 2009/09/05 dadams
798 ;;     icicle-search-replace-all-search-hits:
799 ;;       Bind to nil: icicle-minibuffer-message-ok-p, icicle-help-in-mode-line-flag.
800 ;;     icicle-search-action-1: Add condition-case to ignore disappearance of *Completions* win.
801 ;;     icicle-search-highlight-and-maybe-replace:
802 ;;       Apply renaming of icicle-acting-on-next/prev (no -p).
803 ;;       Use length of *-completion-candidates, not mct.
804 ;;       Fix assignment of new candidate nb, and for both directions.
805 ;;       Bind icicle-minibuffer-message-ok-p to inhibit no-candidates msg.
806 ;;       Wrap around to first only if not icicle-acting-on-next/prev.
807 ;; 2009/09/02 dadams
808 ;;     icicle-exchange-point-and-mark: Respect icicle-region-bookmarks-flag.
809 ;; 2009/08/29 dadams
810 ;;     Added: icicle-define-search-bookmark-command,
811 ;;            icicle-search(-region|-info|-gnus|-w3m|(-non|-local|-remote)-file)-bookmark,
812 ;;            icicle-search-bookmark-action.
813 ;;     Moved (and redefined) to icicles-cmd1.el: icicle-select-bookmarked-region.
814 ;;     (lambda...) -> #'(lambda...).
815 ;; 2009/08/25 dadams
816 ;;     Added icicle-select-bookmarked-region.
817 ;;     icicle-exchange-point-and-mark:
818 ;;       If bookmark+ is loaded, use region bookmarks.
819 ;;       Raise error if try to save inactive region or try to select with no saved regions.
820 ;; 2009/08/11 dadams
821 ;;     Added: icicle-search-replace-all-search-hits.
822 ;;     Renamed: icicle-search-replace-candidate to icicle-search-replace-cand-in-alist.
823 ;;     Added: icicle-search-replace-cand-in-mct (not used, for now).
824 ;;     icicle-search:
825 ;;       Bind icicle-all-candidates-list-alt-action-fn to icicle-search-replace-all-search-hits.
826 ;;       Bind replace-count to 0.  Bind icicle-current-input to empty string.
827 ;;       Updated doc string.
828 ;;     icicle-search-replace-search-hit:
829 ;;       Do not bind icicle-completion-candidates, icicle-candidate-nb, icicle-last-input.
830 ;;       No lack-of-current-candidate error if icicle-all-candidates-action-p.
831 ;;     Added: icicle-search-action-1 (factored out from icicle-search-action.
832 ;;     icicle-search-action, icicle-search-help:
833 ;;       Bind icicle-whole-candidate-as-text-prop-p to nil, to force use of alist.
834 ;;     icicle-search-action(-1): Do not bind icicle-candidate-nb, so don't save and restore it.
835 ;;     icicle-search-in-context-default-fn: If replacement tried, then update the dialog state. 
836 ;;     icicle-search-highlight-and-maybe-replace: REWRITE.
837 ;;       Msg if string to be replaced is not found in candidate.
838 ;;       Swap order: Don't search unless first time (or replacing all).
839 ;;       icicle-search-replace-candidate -> icicle-search-replace-cand-in-alist.
840 ;;       If replacement done, then: Update alist, minibuffer-completion-table, and
841 ;;         minibuffer content.  Change candidate nb if navigating next/prev.  Complete again.
842 ;;         Return indication of whether we tried to replace something.
843 ;;     icicle-search-replace-cand-in-alist: Added catch, to skip whole list traversal.
844 ;;     Moved byte-compile quieting defvars to top level.  Added one for tooltip-mode.
845 ;; 2009/07/20 dadams
846 ;;     icicle-font: Ensure no nil elements in COLLECTION arg to completing-read, for Emacs 22+.
847 ;; 2009/06/07 dadams
848 ;;     icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
849 ;;     Added: icicle-purge-bad-file-regions.
850 ;;     icicle-add-region, icicle-(select|search)-region-action:
851 ;;       Special-case Info buffers.  Thx to Thierry Volpiatto.
852 ;; 2009/05/28 dadams
853 ;;     Bind icicle-search-replacement to nil.  (Somehow forgot when moved to icicle-explore.)
854 ;;     icicle-search-replace-search-hit: Raise an error if icicle-candidate-nb is nil.
855 ;; 2009/05/26 dadams
856 ;;     icicle-compilation-search: Use value 'until-move for next-error-highlight.
857 ;; 2009/05/22 dadams
858 ;;     Added: icicle-Info-virtual-book. 
859 ;;     Require icicles-mac.el if load-library doesn't find it.
860 ;;     icicle-search: Set icicle-search-final-choice to result.
861 ;;     Created - Split off from icicles-cmd.el.
862  
863 ;;;(@* "CHANGE LOG FOR `icicles-face.el'")
864 ;;
865 ;; 2011/08/16 dadams
866 ;;     Require icicles-mac.el.
867 ;;     icicle-maybe-byte-compile-after-load the eval-after-load definitions.
868 ;; 2011/07/30 dadams
869 ;;     eval-after-load hexrgb.el, not runtime error if not feature, for all fns that use hexrgb.el.
870 ;;     Moved here from icicles-opt.el: icicle-increment-color-value.
871 ;;     icicle-search-context-level-*: Use fboundp icicle-increment-color-satur*, not featurep hexrgb.
872 ;;     Soft-require hexrgb.el when byte compile.
873 ;; 2010/12/26 dadams
874 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
875 ;; 2010/05/05 dadams
876 ;;     icicle-mustmatch-completion: Changed line-width from 2 to -2.
877 ;; 2010/04/08 dadams
878 ;;     Added autoload cookies.
879 ;; 2010/03/13 dadams
880 ;;     Made icicle-candidate-part paler (light background): #EF84FFEAF427, not #DB17FFF4E581.
881 ;; 2010/02/17 dadams
882 ;;     Moved functions here from icicles-opt.el: icicle-increment-color-(hue|saturation). 
883 ;;     So no longer require icicles-opt.el.
884 ;; 2009/04/18 dadams
885 ;;     Removed load-time warning about using Icicles in a text terminal.
886 ;; 2009/04/12 dadams
887 ;;     Added: face icicle-mode-line-help.
888 ;; 2009/01/13 dadams
889 ;;     Added: icicle-extra-candidate.
890 ;; 2008/10/26 dadams
891 ;;     Added group: Icicles-Files.
892 ;; 2008/03/29 dadams
893 ;;     Redefined and renamed faces for completion status indicators.
894 ;;       Renamed: icicle-completing-mustmatch-prompt-prefix to icicle-mustmatch-completion,
895 ;;                icicle-mode-lighter-highlight(-plus) to icicle(-multi-command)-completion.
896 ;;       Removed: icicle-completing-prompt-prefix, icicle-prompt-suffix.
897 ;; 2008/03/09 dadams
898 ;;     Added: icicle-mode-lighter-highlight.
899 ;; 2007/12/10 dadams
900 ;;     Added: icicle-input-completion-fail-lax.
901 ;; 2007/11/18 dadams
902 ;;     Added: icicle-proxy-candidate.
903 ;;     icicle-special-candidate: No longer use a raised box.
904 ;; 2007/10/22 dadams
905 ;;     icicle-special-candidate: Raised box.
906 ;; 2007/08/19 dadams
907 ;;     Added: icicle-input-completion-fail.
908 ;; 2007/06/21 dadams
909 ;;     Added: icicle-candidate-part.  Changed definition of icicle-special-candidate.
910 ;; 2007/06/17 dadams
911 ;;     Added: icicle-saved-candidate.
912 ;; 2007/06/12 dadams
913 ;;     icicle-prompt-suffix: No box for dark background.
914 ;; 2007/06/11 dadams
915 ;;     Better defaults for dark background frames.
916 ;; 2007/06/07 dadams
917 ;;     Changed emacs-commentary-link to point to icicles-doc1.el and icicles-doc2.el.
918 ;; 2007/05/22 dadams
919 ;;     Protected icicle-search-context-level-1 to *-8, in case hexrgb is not loaded.
920 ;; 2007/04/20 dadams
921 ;;     Added: icicle-search-context-level-1 through *-8.
922 ;;     Require icicles-opt.el.
923 ;; 2006/12/22 dadams
924 ;;     Renamed group icicles to Icicles.
925 ;;     Added Icicles subgroups, and assigned them instead of group Icicles:
926 ;;      -Buffers, -Completions-Display, -Key-Bindings, -Key-Completion, -Matching,
927 ;;      -Minibuffer-Display, -Miscellaneous, -Searching.
928 ;; 2006/11/06 dadams
929 ;;     icicle-search-highlight-all-flag -> icicle-search-highlight-threshold (integer)
930 ;; 2006/10/16 dadams
931 ;;     icicle-special-candidate: changed background from Pink to #DB17FFF4E581.
932 ;; 2006/10/04 dadams
933 ;;     Added: icicle-special-candidate.
934 ;; 2006/08/13 dadams
935 ;;     Added: icicle-completing-prompt-prefix.
936 ;; 2006/07/16 dadams
937 ;;     Added dark-background face suggestions from Le Wang - thx.
938 ;; 2006/06/30 dadams
939 ;;     Added: minibuffer-prompt for Emacs < 22 (e.g. Emacs 21.4 has propertize).
940 ;; 2006/04/28 dadams
941 ;;     Added: icicle-whitespace-highlight.
942 ;; 2006/04/14 dadams
943 ;;     Renamed icicle-search-refined-regexp to icicle-search-current-input.
944 ;; 2006/04/07 dadams
945 ;;     Added: icicle-search-main-regexp-others.
946 ;;     Renamed: icicle-search-main-regexp to icicle-search-main-regexp-current.
947 ;; 2006/03/27 dadams
948 ;;     Added: icicle-search-*-regexp.
949 ;; 2006/03/22 dadams
950 ;;     Renamed: icicle-root-highlight-* to icicle-match-highlight-*.
951 ;; 2006/03/21 dadams
952 ;;     Added: icicle-common-match-highlight-Completions.
953 ;;     icicle-root-highlight-Completions: Changed default face.
954 ;; 2006/03/08 dadams
955 ;;     Added: icicle-current-candidate-highlight.
956  
957 ;;;(@* "CHANGE LOG FOR `icicles-fn.el'")
958 ;;
959 ;; 2011/09/05 dadams
960 ;;     icicle-display-candidates-in-Completions: Act on new option icicle-hide-non-matching-lines-flag.
961 ;; 2011/09/02 dadams
962 ;;     Added: icicle-delete-dups.
963 ;;     icicle-display-candidates-in-Completions: Don't highlight an empty match.
964 ;;     icicle-insert-candidates:
965 ;;       If only one column then colwidth should not be more than max-cand-len.
966 ;;       If whole cand is a single \n then do not treat it as the last \n (do not remove mouse-face).
967 ;; 2011/08/27 dadams
968 ;;     icicle-recentf-make-menu-items, icicle-display-candidates-in-Completions,
969 ;;       icicle-command-abbrev-save, icicle-kill-a-buffer: 
970 ;;         Use icicle-condition-case-no-debug instead of condition-case.  Thx to Michael Heerdegen.
971 ;; 2011/08/26 dadams
972 ;;     icicle-place-cursor: Put cursor at eob if get invalid-regexp error.
973 ;;     icicle-get-candidates-from-saved-set: Use %s, not %S, in error format string.
974 ;; 2011/08/15 dadams
975 ;;     icicle-display-completion-list: Do not call (last ...) if COMPLETIONS is null.
976 ;;     Added: icicle-all-completions.
977 ;;     Use icicle-all-completions, not all-completions, wherever a 4th arg is passed.
978 ;; 2011/08/12 dadams
979 ;;     icicle-completing-p: Handle cases of filename must-match maps.
980 ;;     icicle-file-name-input-p: Improved doc string.
981 ;; 2011/08/09 dadams
982 ;;     Added: icicle-replace-mct-cand-in-mct.
983 ;; 2011/08/07 dadams
984 ;;     icicle-display-candidates-in-Completions,
985 ;;       icicle-highlight-(initial-whitespace|complete-input|lighter), icicle-case-string-less-p,
986 ;;       icicle-expanded-common-match-1, icicle-insert-cand-in-minibuffer, icicle-place-cursor,
987 ;;       icicle-(special|extra)-candidates-first-p: Handle absolute file names too:
988 ;;           (icicle-file-name-input-p) -> (or (icicle-file-name-input-p) icicle-abs-file-candidates)
989 ;;     icicle-display-candidates-in-Completions:: icicle-transform-multi-completion for image-file.
990 ;; 2011/08/03 dadams
991 ;;     icicle-lisp-vanilla-completing-read:
992 ;;       Handle recent Emacs 24 changes: make-compose-keymap etc.  Thx to Stefan Monnier.
993 ;; 2011/07/30 dadams
994 ;;     Moved to icicles-cmd2.el and wrapped in eval-after-load hexrgb:
995 ;;       icicle-color-*-lessp (except -rgb-), icicle-color-completion-setup, icicle-color-help,
996 ;;        icicle-make-color-candidate.
997 ;; 2011/07/27 dadams
998 ;;     Use icicle-completions-format everywhere, not icicle-completions-format-internal (removed).
999 ;;     icicle-nb-of-cand-in-Completions-horiz: Bind icicle-completions-format to horizontal, not nil.
1000 ;; 2011/07/26 dadams
1001 ;;     icicle-insert-candidates: Vertical multiline: add only one newline, not two.  Use \' not $.
1002 ;;     Removed: icicle-list-end-string (no longer needed).
1003 ;;     Thx to Michael Heerdegen.
1004 ;; 2011/07/20 dadams
1005 ;;     icicle-mctized-full-candidate: Don't change icicle-completions-format-internal to horizontal.
1006 ;;     icicle-insert-candidates: If any candidate is multiline then use only one column.
1007 ;;     Thx to Michael Heerdegen.
1008 ;; 2011/07/06 dadams
1009 ;;     icicle-fit-completions-window:
1010 ;;       Emacs 22/23 fix: do not call fit-window-to-buffer.  Thx to Michael Heerdegen.
1011 ;;     icicle-read-face-name: Added version for Emacs 24+.
1012 ;; 2011/06/05 dadams
1013 ;;     icicle-unsorted(-file-name)-prefix-candidates, icicle-prefix-any(-file-name)-candidates-p:
1014 ;;       Add METADATA arg to icicle-completion-(try|all)-completion(s) calls.
1015 ;; 2011/06/03 dadams
1016 ;;     icicle-completion-(all|try)-completion(s):
1017 ;;       Added optional METADATA arg to handle Emacs 24's new METADATA arg.
1018 ;;     Replace icicle-help-in-mode-line-flag by icicle-help-in-mode-line-delay everywhere.
1019 ;;     icicle-show-in-mode-line: Use icicle-help-in-mode-line-delay, not hard-coded 10 sec.
1020 ;; 2011/05/31 dadams
1021 ;;     icicle-read-file-name: Reordered let bindings (cosmetic).
1022 ;; 2011/05/22 dadams
1023 ;;     Added defvars for free vars to quiet byte compiler.
1024 ;; 2011/05/12 dadams
1025 ;;     icicle-candidate-short-help: Do nothing if string is empty ("").
1026 ;; 2011/05/07 dadams
1027 ;;     icicle-insert-cand-in-minibuffer: Go to prompt end before insert.
1028 ;; 2011/05/04 dadams
1029 ;;     icicle-transform-multi-completion: If cand is "" just return it.  (Emacs 20 split-string bug.)
1030 ;; 2011/05/03 dadams
1031 ;;     Added: icicle-position, icicle-merge-saved-order-less-p.
1032 ;;     icicle-display-candidates-in-Completions: Respect icicle-highlight-saved-candidates-flag.
1033 ;; 2011/04/20 dadams
1034 ;;     icicle-completion-setup-function: Last version is for Emacs 23.3 also. Thx to Michael Heerdegen.
1035 ;; 2011/04/18 dadams
1036 ;;     icicle-face-valid-attribute-values: Added Emacs 23+ version.  Thx to Aankhen.
1037 ;; 2011/04/12 dadams
1038 ;;     Added defvars for icicle-dirs-done and icicle-files, for free vars.
1039 ;;       Bind *-files in icicle-dired-read-shell-command.  Bind *-dirs-done in icicle-files-within.
1040 ;;       Use *-files in icicle-*-add-dired-*.  Use *-dirs-done in icicle-files-within-1.
1041 ;;     icicle-color-completion-setup: Renamed (free elsewhere): named-colors -> icicle-named-colors.
1042 ;;                                    Applied renaming: prompt -> icicle-prompt.
1043 ;;     icicle-unsorted-file-name-prefix-candidates, icicle-unsorted-file-name-apropos-candidates,
1044 ;;       icicle-apropos-any-file-name-candidates-p:
1045 ;;         Use minibuffer-completion-predicate, not default-directory, in calls to all-completions.
1046 ;;         Thx to Michael Heerdegen.
1047 ;; 2011/03/31 dadams
1048 ;;     icicle-read-file-name, icicle-read-number, icicle-read-char-exclusive,
1049 ;;       icicle-read-string-completing, icicle-color-completion-setup:
1050 ;;         Wrap calls to icicle-var-is-of-type-p with condition-case.  Thx to Michael Heerdegen.
1051 ;; 2011/03/29 dadams
1052 ;;     icicle-show-help-in-mode-line: Removed boundp condition for icicle-completing-keys-p.
1053 ;;     icicle-scroll-or-update-Completions:
1054 ;;       Applied renaming: icicle-scroll-Completions to icicle-scroll-Completions-forward.
1055 ;;     icicle-color-completion-setup: prompt -> icicle-prompt.
1056 ;;     icicle-alt-act-fn-for-type: orig-window -> icicle-orig-window.
1057 ;; 2011/03/26 dadams
1058 ;;     icicle-read-face-name: Need copy-sequence for prompt in later Emacs versions also (forgot).
1059 ;; 2011/03/17 dadams
1060 ;;     icicle-display-candidates-in-Completions: Added 2-pixel margin around thumbnail image.
1061 ;; 2011/03/04 dadams
1062 ;;     icicle-read-file-name: Bind read-file-name-predicate.  Thx to Michael Heerdegen.
1063 ;;     icicle-alt-act-fn-for-type: Ensure orig-window is live before use it.  Thx to Michael Heerdegen.
1064 ;; 2011/02/22 dadams
1065 ;;     icicle-display-candidates-in-Completions: Show thumbnail for an image file.
1066 ;;                                               Call icicle-fit-completions-window explicitly here.
1067 ;;     icicle-fit-completions-window: Added optional arg (not used yet).  Ensure window is Completions.
1068 ;; 2011/02/20 dadams
1069 ;;     Added: icicle-color-(distance)-(hsv|rgb)-lessp.
1070 ;;     icicle-color-completion-setup: Added sort orders for HSV and RGB: component order and distance.
1071 ;; 2011/02/17 dadams
1072 ;;     icicle-join-nth-parts: If only one part then don't append the join string.
1073 ;; 2011/01/31 dadams
1074 ;;     icicle-insert-candidates: Fixed test for remainder cands: (= n (* r c)), not (= 0 (mod n r)).
1075 ;; 2011/01/11 dadams
1076 ;;     icicle-choose-completion-string:
1077 ;;       Removed code that uses base-size, choose-completion-delete-max-match.  Just replace all input.
1078 ;; 2011/01/05 dadams
1079 ;;     Added: icicle-file-type-less-p.
1080 ;;     icicle-highlight-input-noncompletion: When move overlay, specify buffer (for recursive minibuf).
1081 ;; 2010/12/26 dadams
1082 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
1083 ;; 2010/12/23 dadams
1084 ;;     icicle-expand-file-name-20: Allow for inputs to be nil.
1085 ;; 2010/12/18 dadams
1086 ;;     Moved icicle-assoc-delete-all to icicles-mac.el, since used there.
1087 ;;     Added autoload cookies for cmds & macro; removed them from non-interactive functions.
1088 ;; 2010/12/14 dadams
1089 ;;     Added: icicle-expand-file-name-20.
1090 ;;     Renamed: icicle-expand-file-name to icicle-expand-file-or-dir-name.
1091 ;;     icicle-abbreviate-or-expand-file-name, icicle-expand-file-or-dir-name:
1092 ;;       Use icicle-expand-file-name-20.
1093 ;;     icicle-completion-setup-function for Emacs < 22: Fix typo: last-command -> this-command.
1094 ;;     icicle-expanded-common-match: Removed from doc string: statement that result is regexp-quoted.
1095 ;; 2010/12/11 dadams
1096 ;;     icicle-completion-setup-function: Added a version for Emacs 23.2+.  Thx to Michael Heerdegen.
1097 ;; 2010/11/20 dadams
1098 ;;     icicle-toggle-icicle-mode-twice: Soft-require icicles-mode.el.
1099 ;;     eval-after-load for crm.el:
1100 ;;       Put toggle-twice on eval-after-load of icicles-mode, instead of doing it if i-m.el is loaded.
1101 ;; 2010/11/07 dadams
1102 ;;     Added helper macro icicle-maybe-cached-action.
1103 ;;     icicle-alt-act-fn-for-type: use icicle-maybe-cached-action so use same action for all cands.
1104 ;; 2010/11/06 dadams
1105 ;;     icicle-fuzzy-candidates: Filter using icicle-must-pass-after-match-predicate.
1106 ;;                              Respect also extra cands and proxy cands.
1107 ;;                              Let C-g exit completion.
1108 ;; 2010/10/25 dadams
1109 ;;     icicle-read-shell-command-completing:
1110 ;;       Use icicle-must-pass-after-match-predicate, not icicle-must-pass-predicate.
1111 ;; 2010/10/24 dadams
1112 ;;     icicle-unsorted(-file-name)-(prefix|apropos)-candidates:
1113 ;;       Respect icicle-must-pass-after-match-predicate.
1114 ;;     icicle-alt-act-fn-for-type: Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
1115 ;; 2010/10/07 dadams
1116 ;;     Added: icicle-current-TAB-method (function).  Use it in place of var everywhere.
1117 ;; 2010/10/04 dadams
1118 ;;     directory-sep-char -> ?/ (It was removed from Emacs 24.)
1119 ;; 2010/06/18 dadams
1120 ;;     icicle-completing-read:
1121 ;;       Initialize icicle-completions-format-internal to icicle-completions-format.
1122 ;;     icicle-mctized-full-candidate:
1123 ;;       Set icicle-completions-format-internal to horizontal for multi-line multi-completions.
1124 ;;     icicle-insert-candidates:
1125 ;;       Remove face property from end of candidate to next column.
1126 ;;       Replace icicle-completions-format by icicle-completions-format-internal.
1127 ;;     Renamed: bookmarkp-* to bmkp-*.
1128 ;; 2010/06/14 dadams
1129 ;;     icicle-read-from-minibuffer:
1130 ;;       If add file-name default to prompt, remove dir part first.  Thx to Chris Hecker.
1131 ;;     icicle-next-candidate: Do not icicle-recompute-candidates if this command was repeated.
1132 ;;     icicle-increment-cand-nb+signal-end: 
1133 ;;       Signal wrap from initial, not from 0.  Negative INCR -> start at end.  Thx to M. Heerdegen.
1134 ;;     icicle-call-then-update-Completions:
1135 ;;       Set icicle-last-input to nil so icicle-save-or-restore-input makes next-candidate recompute.
1136 ;; 2010/06/12 dadams
1137 ;;     icicle-fit-completions-window: Let-bind window-min-height to prevent deletion in Emacs 23.
1138 ;; 2010/06/10 dadams
1139 ;;     icicle-maybe-sort-and-strip-candidates:
1140 ;;       Set icicle-completion-candidates to result of *maybe...maybe*.  (It broke C-~.)
1141 ;; 2010/06/09 dadams
1142 ;;     icicle-isearch-complete-past-string: Use the last-used ring.  Thx to Michael Heerdegen.
1143 ;; 2010/06/08 dadams
1144 ;;     icicle-display-candidates-in-Completions: Show also total when truncated: N shown / M.
1145 ;;     icicle-maybe-sort-maybe-truncate: Save icicle-nb-candidates-before-truncation before truncating.
1146 ;; 2010/06/04 dadams
1147 ;;     Added: icicle-clear-lighter, icicle-maybe-sort-maybe-truncate, icicle-take.
1148 ;;     icicle-(prefix|apropos)-candidates, icicle-strip-ignored-files-and-sort,
1149 ;;       icicle-maybe-sort-and-strip-candidates, icicle-display-Completions:
1150 ;;         Use icicle-maybe-sort-maybe-truncate, not icicle-reversible-sort.
1151 ;;     icicle-(un)highlight-lighter: Use icicle-clear-lighter (factored out).
1152 ;; 2010/05/30 dadams
1153 ;;     Added: icicle-files-within-1.
1154 ;;     icicle-files-within:
1155 ;;       Use icicle-files-within-1.  Optionally don't follow symlinks (new arg NO-SYMLINKS-P).
1156 ;;       Don't process same dir twice.  Respect icicle-ignored-directories.  Thx to Michael Heerdegen.
1157 ;; 2010/05/18 dadams
1158 ;;     icicle-save-or-restore-input:
1159 ;;       Use icicle-file-directory-p, not file-directory-p (fails: ~/foo//usr/).  Thx to M. Heerdegen.
1160 ;; 2010/05/04 dadams
1161 ;;     icicle-alt-act-fn-for-type: Pass TYPE to icicle-apply-to-saved-candidate.
1162 ;; 2010/04/30 dadams
1163 ;;     icicle(-file-name)-unsorted-(apropos|prefix)-candidates, icicle-fuzzy-candidates:
1164 ;;       Set icicle-common-match-string to nil when no candidates.
1165 ;; 2010/04/29 dadams
1166 ;;     icicle-unpropertize: Do nothing unless icicle-remove-icicles-props-p.
1167 ;; 2010/04/27 dadams
1168 ;;     icicle-show-help-in-mode-line: Test value, not just boundp, of icicle-completing-keys-p.
1169 ;; 2010/04/21 dadams
1170 ;;     icicle-mode-line-name-less-p: Removed bogus calls to symbol-name.  Thx to Michael Heerdegen.
1171 ;; 2010/04/20 dadams
1172 ;;     Added: icicle-dirs-first-p.
1173 ;; 2010/04/02/dadams
1174 ;;     icicle-completing-p: Cache t, not the keymap portion.
1175 ;; 2010/03/16 dadams
1176 ;;     icicle-display-candidates-in-Completions, treating icicle-candidate-properties-alist:
1177 ;;       For subsequent matches of join string, skip over the last join string (not 1 char).
1178 ;;     icicle-candidate-short-help: Treat each property individually.
1179 ;; 2010/03/13 dadams
1180 ;;     icicle-reversible-sort: Respect icicle-transform-before-sort-p.
1181 ;; 2010/03/10 dadams
1182 ;;     icicle-show-help-in-mode-line:
1183 ;;       Put this test first: If candidate is a string with a help property, use that.
1184 ;;       Use get-file-buffer, not get-buffer, for a visited file.
1185 ;; 2010/03/09 dadams
1186 ;;     icicle-reversible-sort: Added optional KEY arg.  Set LIST to sort result and return it.
1187 ;;     icicle-multi-sort: Set RESULT to funcall result.
1188 ;; 2010/03/03 dadams
1189 ;;     Added: icicle-multi-sort, icicle-make-plain-predicate, icicle-alpha-p.
1190 ;;     icicle-reversible-sort: Use icicle-sort-comparer and icicle-multi-sort.
1191 ;;                             Reset to unsorted if an error is raised.
1192 ;;     Applied renamings: icicle-sort-function to icicle-sort-comparer,
1193 ;;                        icicle-sort-functions-alist to icicle-sort-orders-alist.
1194 ;;     icicle-read-shell-command-completing: Removed extra binding for icicle-sort-function.
1195 ;; 2010/01/12 dadams
1196 ;;     icicle-display-candidates-in-Completions: set-buffer -> with-current-buffer.
1197 ;; 2009/12/25 dadams
1198 ;;     icicle-strip-ignored-files-and-sort:
1199 ;;       Call completion-ignored-build-apply and icicle-update-ignored-extensions-regexp.
1200 ;; 2009/12/21 dadams
1201 ;;     fset -> defalias.
1202 ;; 2009/12/07 dadams
1203 ;;     Added: icicle-minibuffer-default-add-dired-shell-commands.
1204 ;;     icicle-dired-read-shell-command: Instead of using minibuffer-default-add-shell-commands,
1205 ;;       use icicle-minibuffer-default-add-dired-shell-commands.
1206 ;;     icicle-read-shell-command-completing: Bind insert-default-directory to nil.
1207 ;;     icicle-dir-prefix-wo-wildcards: Don't ever return nil - return "" if need be.
1208 ;;     icicle-read-string:
1209 ;;       Handle a consp default-value when user enters "": use the car.  Thx to Sakuma Ryo.
1210 ;; 2009/12/03 dadams
1211 ;;     icicle-completing-read:
1212 ;;       Make sure we don't use a nil def value for init value.  Thx to Sebastian Luque.
1213 ;; 2009/11/27 dadams
1214 ;;     *-display-candidates-in-Completions, *-prefix-candidates, *-fuzzy-candidates:
1215 ;;       Handle swank completions too.
1216 ;; 2009/11/25 dadams
1217 ;;     icicle-insert-candidates: Handle vertical layout: icicle-completions-format.
1218 ;; 2009/11/03 dadams
1219 ;;     icicle-color-completion-setup: Use hexrgb-defined-colors, not x-defined-colors.
1220 ;;                                    No icicle-transform-function, since we use hexrgb.el.
1221 ;; 2009/10/25 dadams
1222 ;;     Added: icicle-dir-prefix-wo-wildcards.  Use in icicle-insert-cand-in-minibuffer.
1223 ;;     icicle-save-or-restore-input: Remove test comparing last completion with current input.
1224 ;;     icicle-abbreviate-or-expand-file-name: If arg is absolute, do not expand.
1225 ;;     icicle-display-candidates-in-Completions, icicle-prefix-candidates,
1226 ;;       icicle-not-basic-prefix-completion-p:
1227 ;;         Updated for new completion methods.  Use *-current-TAB-method, not old fuzzy flag.
1228 ;; 2009/10/24 dadams
1229 ;;     icicle-unsorted-file-name-*-candidates, icicle-*-any-file-name-candidates-p:
1230 ;;       Got rid of slashed-p.
1231 ;;     icicle-unsorted-file-name-apropos-candidates:
1232 ;;       Set icicle-common-match-string to nil if there are no candidates.
1233 ;;     icicle-apropos-any-file-name-candidates-p:
1234 ;;       When input is a dir, remove final /, so we don't non-match highlight the / (empty dir).
1235 ;;       Bind case-fold-search, for apropos matching.
1236 ;;     icicle-abbreviate-or-expand-file-name: Set DIR to nil if it's relative.
1237 ;; 2009/10/22 dadams
1238 ;;     Added: icicle-file-name-directory.
1239 ;;     icicle-completion-setup-function, icicle-display-candidates-in-Completions,
1240 ;;       icicle-save-or-restore-input, icicle-file-name-directory-w-default,
1241 ;;       icicle-historical-alphabetic-p:
1242 ;;         Use icicle-file-name-directory, not file-name-directory.
1243 ;; 2009/10/17 dadams
1244 ;;     icicle-completion-try-completion: Return RES.
1245 ;; 2009/10/12 dadams
1246 ;;     icicle-unsorted-prefix-candidates, icicle-prefix-any-candidates-p:
1247 ;;       Use length of INPUT, not length from point backward to field-beginning.
1248 ;;     icicle-input-from-minibuffer: Added optional LEAVE-ENVVARS-P arg.
1249 ;;     icicle-next-candidate, icicle-highlight-complete-input:
1250 ;;       Call icicle-input-from-minibuffer with LEAVE-ENVVARS-P arg.
1251 ;;     icicle-completion-all-completions:
1252 ;;       If not basic completion (Emacs 23) and input ends in $, then append $ to cands also.
1253 ;; 2009/09/25 dadams
1254 ;;     icicle-file-name-prefix-candidates: Use whole input, not just nondirectory.
1255 ;;     Added: icicle-not-basic-prefix-completion-p.  Use where appropriate.
1256 ;; 2009/09/19 dadams
1257 ;;     icicle-unpropertize: Remove the internal text properties added by Icicles.
1258 ;;     icicle-completing-read, icicle-read-file-name: Call icicle-unpropertize unconditionally.
1259 ;; 2009/09/12 dadams
1260 ;;     icicle-kill-a-buffer: Bind enable-recursive-minibuffers, to confirm modified buffer.
1261 ;; 2009/09/05 dadams
1262 ;;     icicle-msg-maybe-in-minibuffer: Do nothing if icicle-minibuffer-message-ok-p is nil.
1263 ;; 2009/08/19 dadams
1264 ;;     icicle-candidate-short-help: Return (possibly propertized) STRING.
1265 ;; 2009/08/09 dadams
1266 ;;     Added: icicle-insert-cand-in-minibuffer - factored out code from icicle-next-candidate.
1267 ;;     eval-after-load "crm":
1268 ;;       Test that icy-mode is available using featurep, not fboundp.  Thx to Michael Heerdegen.
1269 ;; 2009/07/26 dadams
1270 ;;     icicle-completing-read, icicle-read-file-name-1:
1271 ;;       Bind minibuffer-history-variable to itself.
1272 ;; 2009/07/13 dadams
1273 ;;     icicle-read-face-name (Emacs 20 version): Use copy-sequence on prompt, before add prop.
1274 ;; 2009/07/12 dadams
1275 ;;     icicle-display-completion-list:
1276 ;;       Use different protection (fboundp) for fix for latest Emacs 23 crap (base size in cdr).
1277 ;; 2009/07/11 dadams
1278 ;;     icicle-next-candidate:
1279 ;;       If icicle-regexp-quote-flag, regexp-quote before string-match for highlighting root.
1280 ;;     icicle-place-cursor: If icicle-regexp-quote-flag, regexp-quote input to search for it.
1281 ;; 2009/07/02 dadams
1282 ;;     icicle-displayable-cand-from-saved-set:
1283 ;;       If icicle-readable-to-markers returns an atom, just use that.
1284 ;; 2009/06/17 dadams
1285 ;;     icicle-fit-completions-window: Scale text size initially.
1286 ;; 2009/06/07 dadams
1287 ;;     icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
1288 ;;     icicle-mctize-all:  If PRED is nil, so is NEWPRED (use and instead of when).
1289 ;; 2009/05/22 dadams
1290 ;;     Require icicles-mac.el if load-library doesn't find it.
1291 ;; 2009/05/18 dadams
1292 ;;     icicle-display-candidates-in-Completions: deactivate-mark in *Completions* after display.
1293 ;; 2009/05/17 dadams
1294 ;;     icicle-next-candidate: Updated to reflect thumb-frm.el name changes.
1295 ;; 2009/05/17 dadams
1296 ;;     Added: icicle-toggle-icicle-mode-twice.
1297 ;;     In eval-after-load crm: Use icicle-toggle-icicle-mode-twice, not icy-mode calls.
1298 ;; 2009/05/15 dadams
1299 ;;     icicle-unhighlight-lighter: Wrap redisplay in condition-case, like elsewhere.
1300 ;; 2009/05/11 dadams
1301 ;;     Added: icicle-upcase.  Use in place of upcase everywhere, to work around Emacs 20 bug.
1302 ;;     Added: icicle-local-keys-first-p.
1303 ;;     icicle-display-candidates-in-Completions:
1304 ;;       Don't highlight historical candidate if in icicle-hist-cands-no-highlight.
1305 ;; 2009/05/09 dadams
1306 ;;     icicle-input-from-minibuffer: Keep text properties when pick up input.
1307 ;;     icicle-highlight-input-noncompletion(-rest): Use an overlay instead of text property.
1308 ;;     icicle-show-help-in-mode-line: Fix special case for pseudo-key/cmd ..: go up to prefix.
1309 ;; 2009/05/07 dadams
1310 ;;     icicle-display-candidates-in-Completions, in the code that hides common match:
1311 ;;       Don't reset display property to nil.
1312 ;;       Use icicle-common-match-string, not current input.
1313 ;;     icicle-expanded-common-match-1:
1314 ;;       If input doesn't match candidate, return nil.  Throw nil, not input, everywhere.
1315 ;;     *-unsorted(-file-name)-apropos-candidates, *-apropos-any(-file-name)-candidates-p:
1316 ;;       Protect calls to icicle-apropos-complete-match-fn with condition-case, for Emacs 20.
1317 ;;     icicle-place-cursor: Added optional arg.
1318 ;; 2009/05/05 dadams
1319 ;;     icicle-alt-act-fn-for-type:
1320 ;;       Bind completion-ignore-case, based on read-buffer-completion-ignore-case.
1321 ;; 2009/05/03 dadams
1322 ;;     Use (fboundp 'minibuffer-default-add-completions), not (> emacs-major version 22).
1323 ;; 2009/05/01 dadams
1324 ;;     Renamed: icicle-choose-action-for-type to icicle-alt-act-fn-for-type.
1325 ;;     icicle-type-actions-alist: Rewrote.  Handle both list of objs and single obj.
1326 ;;     icicle-quote-file-name-part-of-cmd: Rewrote.  Quote file name always, and only file name.
1327 ;; 2009/04/30 dadams
1328 ;;     icicle-show-in-mode-line: Clear any message (e.g. Computing completion candidates...).
1329 ;; 2009/04/29 dadams
1330 ;;     icicle-get-alist-candidate: If NO-ERROR-P is 'no-error-no-msg, just return nil (no msg).
1331 ;;     icicle-choose-action-for-type: Use lax completion.
1332 ;; 2009/04/28 dadams
1333 ;;     icicle-choose-action-for-type: 
1334 ;;       Moved here from icicles-mac.el, changed to a function, and locally bind
1335 ;;       *-alt-action-fn  to icicle-choose-action-for-type function.
1336 ;;       For undefined TYPE, provide all functions as candidates.
1337 ;;     Added eval-when-compile of load-library icicles-mac.
1338 ;; 2009/04/27 dadams
1339 ;;     icicle-recompute-candidates:
1340 ;;       Keep no-display completion mode, if that's current.
1341 ;;       Set icicle-last-completion-command only if completion type, not user input, changed.
1342 ;;     icicle-complete-again-update: Added icicle-prefix-complete-no-display to first case.
1343 ;; 2009/04/19 dadams
1344 ;;     Use unless instead of or for fset's. (cosmetic)
1345 ;;     icicle-completing-read, icicle-read-from-minibuffer, icicle-read-string:
1346 ;;       Renamed history parameter to HIST-m@%=!$+&^*z, so C-h f output looks less strange.
1347 ;; 2009/04/18 dadams
1348 ;;     Soft-require hexrgb.el unconditionally, not just when there is a window-system.
1349 ;; 2009/04/12 dadams
1350 ;;     icicle-display-candidates-in-Completions: Added number of candidates to mode-line.
1351 ;;     icicle-show-help-in-mode-line: Use face icicle-show-help-in-mode-line.  Fix prefix keys.
1352 ;; 2009/04/11 dadams
1353 ;;     icicle-candidate-short-help:
1354 ;;       Do nothing if either icicle-help-in-mode-line-flag or tooltip-mode is nil.
1355 ;;     icicle-show-help-in-mode-line:
1356 ;;       If no symbol help, try string.
1357 ;;       Handle lambdas, menu-function-# from easy-menu, and prefix keys.
1358 ;;     icicle-make-color-candidate: Construct short help only if user will see it.
1359 ;; 2009/04/10 dadams
1360 ;;     Added: icicle-candidate-short-help, icicle-color-completion-setup (from i*-read-color).
1361 ;;     Moved here from icicle-cmds.el:
1362 ;;      icicle-remove-color-duplicates, icicle-color-help, icicle-make-color-candidate.
1363 ;;     icicle-make-color-candidate: Added short help, using icicle-candidate-short-help.
1364 ;;     icicle-show-help-in-mode-line:
1365 ;;       Treat :icicle-candidate-help text property on strings.
1366 ;;       Use candidate, not cand, for stringp clause, and use icicle-transform-multi-completion.
1367 ;;       Renamed: :icicle-candidate-help to icicle-mode-line-help.
1368 ;; 2009/04/08 dadams
1369 ;;     icicle-show-help-in-mode-line: Treat absolute file names too.
1370 ;; 2009/04/07 dadams
1371 ;;     icicle-show-help-in-mode-line: (bufferp (get-buffer...)...) -> (get-buffer...) Duh.
1372 ;; 2009/04/06 dadams
1373 ;;     Added: icicle-show-help-in-mode-line - from code in icicle-next-candidate:
1374 ;;              Added arg.  Handle: faces, buffer names, file names, :icicle-candidate-help.
1375 ;;     Added: icicle-help-line-(buffer|file).
1376 ;;     icicle-next-candidate: Use icicle-show-help-in-mode-line.
1377 ;; 2009/04/05 dadams
1378 ;;     Added: icicle-show-in-mode-line.
1379 ;;     icicle-next-candidate: Use icicle-show-in-mode-line to show help in mode-line.
1380 ;; 2009/04/04 dadams
1381 ;;     Added: icicle-buffer-smaller-p, icicle-major-mode-name-less-p,
1382 ;;            icicle-mode-line-name-less-p, icicle-buffer-file/process-name-less-p.
1383 ;; 2009/04/03 dadams
1384 ;;     icicle-read-from-minibuffer: Save filtered default val as icicle-filtered-default-value.
1385 ;;     icicle-lisp-vanilla-completing-read: Use icicle-filtered-default-value, not DEF, at end.
1386 ;; 2009/03/29 dadams
1387 ;;     icicle-read-shell-command: If non-nil initial-contents, punt to use original (old-*).
1388 ;; 2009/03/27 dadams
1389 ;;     Don't fset minibuffer-default-add-completions unless > Emacs 22.
1390 ;; 2009/03/27 dadams
1391 ;;     icicle-read-from-minibuffer: Use icicle-filter-wo-input on default-value (all values).
1392 ;;     icicle-completing-read, icicle-read-file-name-1:
1393 ;;       Use icicle-filter-wo-input on default value only to get init value.
1394 ;;     Added: icicle-minibuffer-default-add-completions, icicle-first-N.
1395 ;; 2009/03/26 dadams
1396 ;;     icicle-completing-read, icicle-read-file-name-1:
1397 ;;       Filter default values using icicle-filter-wo-input.
1398 ;;     icicle-filter-wo-input: Return the candidate, if it passes filtering.
1399 ;; 2009/03/16 dadams
1400 ;;     Added: icicle-recentf-make-menu-items.
1401 ;; 2009/03/10 dadams
1402 ;;     icicle-read-shell-command-completing: Applied renamings: icicle-guess-commands-in-path,
1403 ;;       icicle-shell-command-candidates-cache, icicle-recompute-shell-command-candidates.
1404 ;;     Moved to icicles-opt.el and renamed: icicle-shell-command-candidates.
1405 ;; 2009/03/08 dadams
1406 ;;     Added: icicle-quote-file-name-part-of-cmd.
1407 ;;     icicle-read-shell-command-completing:
1408 ;;       Call icicle-quote-file-name-part-of-cmd to escape spaces etc. in file names.
1409 ;;       Removed unneeded minibuffer-local-*-map let bindings.
1410 ;;     icicle-dired-smart-shell-command:
1411 ;;       Protected dired-default-directory with fboundp, for Emacs 20.
1412 ;; 2009/03/01 dadams
1413 ;;     icicle-read-from-minibuffer:
1414 ;;       No longer use icicle-complete-on-demand-cmd and on-demand-map.
1415 ;; 2009/02/28 dadams
1416 ;;     Don't fset old-dired-smart-shell-command here - do after load Dired-X (icicles-mode.el).
1417 ;;     Added for Emacs 20: definition of replace-regexp-in-string.
1418 ;;     icicle-read-(number|string-completing):
1419 ;;       No need for fboundp of replace-regexp-in-string, since provide it now for Emacs 20.
1420 ;;     icicle-read-file-name: Treat directory candidates as special candidates.
1421 ;;     icicle-read-shell-command-completing:
1422 ;;       Candidate help depends on candidate type.
1423 ;;       Use existing icicle-extra-candidates as its own default, not icicle-file-extras.
1424 ;; 2009/02/27 dadams
1425 ;;     icicle-shell-command: Fixed typo: shell-command -> old-shell-command.
1426 ;;     icicle-read-shell-command-completing: Append icicle-file-extras to i*-extra-candidates.
1427 ;; 2009/02/23 dadams
1428 ;;     icicle-read-shell-command-completing:
1429 ;;       Bind icicle-extra-candidates-dir-insert-p, not insert-default-directory, to nil.
1430 ;;     icicle-next-candidate: Protect dir insertion with icicle-extra-candidates-dir-insert-p.
1431 ;; 2009/02/22 dadams
1432 ;;     icicle-dired-read-shell-command: Use minibuffer-default-add-shell-commands if available.
1433 ;; 2009/02/20 dadams
1434 ;;     icicle-read-from-minibuffer: Treat icicle-complete-on-demand-cmd - on-demand completion.
1435 ;;     Added: icicle-dired-smart-shell-command, icicle-read-shell-command-completing,
1436 ;;            icicle-dired-read-shell-command, icicle-extra-candidates-first-p,
1437 ;;            icicle-require-match-p, icicle-shell-command(-on-region).
1438 ;;     icicle-read-shell-command:
1439 ;;       Call icicle-read-shell-command-completing.  Define always, not just when mailcap.
1440 ;;     icicle-dired-guess-shell-command: Just call icicle-read-shell-command-completing.
1441 ;;     icicle-shell-command-candidates: Cache completions in icicle-shell-command-candidates.
1442 ;;     icicle-highlight-input-noncompletion(-rest), icicle-highlight-lighter:
1443 ;;       Use function icicle-require-match-p, not var.
1444 ;;     icicle-completing-p: Test also whether parent map is a completion map.  Always cache.
1445 ;; 2009/02/17 dadams
1446 ;;     icicle-read-shell-command: Handle nil default-value.  Thx to Kao Felix.
1447 ;;     icicle-read-file-name: Append new proxy cands to any existing ones.
1448 ;;                            Don't assume that a proxy cand is a variable.
1449 ;; 2009/01/25 dadams
1450 ;;     Added: *-dired-guess-shell-command, *-read-shell-command, *-shell-command-candidates.
1451 ;; 2009/01/17 dadams
1452 ;;     icicle-display-candidates-in-Completions: Highlight Levenshtein (1) match.
1453 ;;     icicle-unsorted-apropos(-file-name)-candidates, icicle-display-Completions,
1454 ;;       icicle-apropos-any(-file-name)-candidates-p: Removed PCM.
1455 ;;     Added: icicle-levenshtein(-strict|-one)-match, icicle-levenshtein-one-regexp,
1456 ;;            icicle-substrings-of-length.
1457 ;; 2009/01/15 dadams
1458 ;;     Lose "icicle-" for fboundp's: completion-all-completions, completion-try-completion.
1459 ;; 2009/01/14 dadams
1460 ;;     Added: icicle-remove-dups-if-extras.
1461 ;; 2009/01/13 dadams
1462 ;;     Added: icicle-completion-all-completions, icicle-completion-try-completion.
1463 ;;     icicle-unsorted(-file-name)-(prefix|apropos)-candidates, icicle-display-Completions,
1464 ;;       icicle-any-(prefix|apropos)(-file-name)-candidates-p:
1465 ;;         Respect icicle-respect-completion-styles-p (Emacs 23).
1466 ;;     icicle-unsorted-file-name-prefix-candidates: Removed matching "^"++(regexp-quote input).
1467 ;;     icicle(-unsorted)(-file-name)-(prefix|apropos)-candidates:
1468 ;;       Call icicle-transform-candidates for extra candidates and proxy candidates too.
1469 ;;     icicle-display-candidates-in-Completions: Highlight extra candidates.
1470 ;;     icicle-face-valid-attribute-values:
1471 ;;       Use font-family-list instead of x-font-family-list, if available.
1472 ;; 2009/01/03 dadams
1473 ;;     icicle-call-then-update-Completions:
1474 ;;       If icicle-last-completion-command is nil, test icicle-current-completion-mode - don't
1475 ;;       just call icicle-prefix-complete.  E.g. icicle-search shouldn't end with a single
1476 ;;       prefix match.
1477 ;; 2008/12/25 dadams
1478 ;;     Added: icicle-save-raw-input (factored out from icicle-save-or-restore-input).
1479 ;;     icicle-save-or-restore-input:
1480 ;;       Change test whether last-command is cycling cmd to add also not being completing cmd.
1481 ;;       Use icicle-completing-p instead of testing this-command for being a cycling cmd.
1482 ;;       Use icicle-save-raw-input.
1483 ;;     icicle-next-candidate: Set icicle-cycling-p (new var) to t.
1484 ;; 2008/12/20 dadams
1485 ;;     icicle-save-or-restore-input: Don't restore last input if this is a completing command.
1486 ;; 2008/12/07 dadams
1487 ;;     icicle-completing-read, icicle-read-file-name-1:
1488 ;;       Removed icicle-prompt.  Don't add completion prompt prefix, except for Emacs 20.
1489 ;; 2008/12/06 dadams
1490 ;;     icicle-call-then-update-Completions:
1491 ;;       To update, call icicle-last-completion-command, not icicle-(apropos|prefix)-complete.
1492 ;; 2008/12/02 dadams
1493 ;;     icicle-unsorted(-file-name)-apropos-candidates:
1494 ;;       Call icicle-filter-wo-input before filtering with user input (as the doc string says).
1495 ;; 2008/11/28 dadams
1496 ;;     icicle-recompute-candidates, icicle-save-or-restore-input:
1497 ;;       Test property icicle-(prefix|apropos)-completing-command, not eq cmds.
1498 ;; 2008/11/23 dadams
1499 ;;     icicle-read-file-name:
1500 ;;       Don't initialize icicle-proxy-candidates unless icicle-add-proxy-candidates-flag.
1501 ;;       Don't add + to completion indicator if Emacs 23.
1502 ;; 2008/11/22 dadams
1503 ;;     icicle-completing-read:
1504 ;;       Bind icicle-fancy-cands-internal-p.  Do not call icicle-mctize-all unless fancy cands.
1505 ;;     icicle-mctized-full-candidate:
1506 ;;       No-op unless icicle-fancy-cands-internal-p or icicle-whole-candidate-as-text-prop-p.
1507 ;;     icicle-read-(number|char-exclusive|string-completing|face-name):
1508 ;;       Put icicle-fancy-candidates property on prompt if proxy candidates.
1509 ;;     icicle-display-candidates-in-Completions:
1510 ;;       Don't transform candidates unless icicle-fancy-cands-internal-p.
1511 ;; 2008/11/18 dadams
1512 ;;     icicle-display-candidates-in-Completions:
1513 ;;       Add icicle-special-candidate property as text property to candidates in
1514 ;;         icicle-completion-candidates, instead of just to display candidate, so returned also.
1515 ;;       Added support for icicle-display-string property.
1516 ;;       For these properties: look up symbol first in minibuffer-completion-table if obarray.
1517 ;; 2008/11/14 dadams
1518 ;;     icicle-display-candidates-in-Completions:
1519 ;;       Respect icicle-hide-common-match-in-Completions-flag.
1520 ;; 2008/11/10 dadams
1521 ;;     icicle(-unsorted)(-file-name)-(apropos|prefix)-candidates:
1522 ;;       Moved special and proxy candidates outside match filtering,
1523 ;;         reversing a change made on 2007/11/18.  Dunno why that change was made.
1524 ;;       But filter special and proxy candidates using the input.
1525 ;; 2008/11/09 dadams
1526 ;;     Added: icicle-join-nth-parts, icicle-display-cand-from-full-cand.
1527 ;;     icicle-transform-multi-completion: Use icicle-join-nth-parts.
1528 ;;     icicle-transform-multi-completion: Don't test icicle-list-join-string (always non-nil).
1529 ;;     icicle-first-matching-candidate:
1530 ;;       Fix: set res properly, not to the tested value.  Thx to Hannes Janetzek.
1531 ;; 2008/11/07 dadams
1532 ;;     icicle-color-name-w-bg: Return input if hexrgb.el is not loaded.  Thx to Fabrice Knevez.
1533 ;; 2008/11/04 dadams
1534 ;;     icicle-read-face-name: Soft-require eyedropper.el or palette.el.
1535 ;; 2008/11/03 dadams
1536 ;;     icicle-expanded-common-match: Bug fix for Emacs 20: If error matching, just return INPUT.
1537 ;;     icicle-highlight-input-noncompletion: Erase any message first before highlighting.
1538 ;; 2008/11/02 dadams
1539 ;;     icicle-display-candidates-in-Completions: For icicle-candidate-properties-alist, use
1540 ;;       narrowed buffer content, not i-current-completion-in-Completions.
1541 ;; 2008/10/24 dadams
1542 ;;     icicle-first-matching-candidate:
1543 ;;       Use regexp-quote on CAND.
1544 ;;       Add icicle-list-end-string to each entry in CANDIDATES.
1545 ;;       Iteration, not recursion.
1546 ;;     icicle-get-alist-candidate: Added optional arg NO-ERROR-P.
1547 ;; 2008/10/18 dadams
1548 ;;     Replaced customize-save-variable by funcall icicle-customize-save-variable-function.
1549 ;; 2008/10/14 dadams
1550 ;;     Applied renaming of icicle-completion-help to icicle-minibuffer-help.
1551 ;; 2008/10/06 dadams
1552 ;;     Don't toggle icy-mode after loading crm.el unless icy-mode is defined (!).
1553 ;;     icicle-ms-windows-NET-USE: If hash tables not available, just run the NET USE process.
1554 ;; 2008/10/04 dadams
1555 ;;     Substitute Icicles version of completing-read-multiple and its maps.  Thx to Per Nordlow.
1556 ;;       Added: (icicle|old)-completing-read-multiple, icicle-define-crm-completion-map,
1557 ;;              (icicle|old)-crm-local-(completion|must-match)-map.
1558 ;;     icicle-display-completion-list: Protect against Emacs 23 nonsense with base-size in cdr.
1559 ;; 2008/09/30 dadams
1560 ;;     Added: icicle-ms-windows-NET-USE.  Thx to Thomas Lim.
1561 ;;     icicle-file-remote-p: Use icicle-ms-windows-NET-USE.
1562 ;;     icicle-highlight-input-noncompletion: Return file-local-p if test shows it's local.
1563 ;;     icicle-call-then-update-Completions:
1564 ;;       Treat also known file-local-p return from icicle-highlight-input-noncompletion.
1565 ;;     Renamed icicle-isearch-complete-1 to icicle-isearch-complete-past-string and moved it
1566 ;;       here from icicles-mcmd.el.
1567 ;;     icicle-isearch-complete-past-string: Always use regexp-search-ring.  Changed prompt.
1568 ;; 2008/09/27 dadams
1569 ;;     icicle-highlight-input-noncompletion: Fixed typo: implicit-remote -> implicit.
1570 ;; 2008/09/20 dadams
1571 ;;     icicle-(apropos|prefix)-candidates, icicle-maybe-sort-and-strip-candidates:
1572 ;;       Strip ignored files if icicle-abs-file-candidates.
1573 ;; 2008/09/19 dadams
1574 ;;     icicle-get-candidates-from-saved-set: Added optional arg DONT-EXPAND-FILESETS-P.
1575 ;;                                           Use icicle-kill-a-buffer, not kill-buffer.
1576 ;;     Moved icicle-kill-a-buffer here from icicles-cmd.el.
1577 ;;     Added: icicle-unpropertize.
1578 ;;     icicle-completing-read, icicle-read-file-name: Use icicle-unpropertize.
1579 ;; 2008/09/16 dadams
1580 ;;     filesets-get-filelist: Fixed :tree so it includes files in subdirs.
1581 ;;     Added: icicle-filesets-files-under.
1582 ;; 2008/09/15 dadams
1583 ;;     Added: icicle-saved-fileset-p, icicle-displayable-cand-from-saved-set.
1584 ;;     icicle-get-candidates-from-saved-set:
1585 ;;       Rewrote code to convert saved candidates to displayable candidates.
1586 ;;         Use icicle-displayable-cand-from-*, icicle-saved-fileset-p.  Require filesets.el.
1587 ;;       Moved filesets-get-fileset-from-name into and of first cond clause.
1588 ;;     Wrapped defun of filesets-get-filelist in eval-after-load.
1589 ;; 2008/09/13 dadams
1590 ;;     Added: icicle-get-candidates-from-saved-set (factored from code in
1591 ;;            icicle-retrieve-candidates-from-set), filesets-get-filelist (redefined),
1592 ;;            icicle-explicit-saved-completion-candidates.
1593 ;;     Moved here from icicles-mcmd.el: icicle-readable-to-markers.
1594 ;; 2008/09/04 dadams
1595 ;;     icicle-read-file-name-1: Removed unused code for non icicle-mode case.
1596 ;; 2008/09/03 dadams
1597 ;;     Removed: icicle-(un)highlight-crosshairs, icicle-unhighlight-crosshairs+cleanup.
1598 ;; 2008/09/01 dadams
1599 ;;     Added: icicle-(un)highlight-crosshairs, icicle-unhighlight-crosshairs+cleanup.
1600 ;; 2008/08/29 dadams
1601 ;;     icicle-mctize-all:
1602 ;;       Do it for all list collections (new icicle-mctized-full-candidate).
1603 ;;       Adjust PRED to use cdr only for conses with string cars.
1604 ;;     icicle-mctized-full-candidate:
1605 ;;       Treat all kinds of list entries: strings, symbols, and conses with symbol args, etc.
1606 ;; 2008/08/25 dadams
1607 ;;     icicle-display-candidates-in-Completions: Do nothing if NO-DISPLAY-P is 'no-msg.
1608 ;; 2008/08/24 dadams
1609 ;;     icicle-filter-wo-input: Filter out empty-string candidates: "".
1610 ;;     Added: icicle-minibuf-input-sans-dir.
1611 ;;     Renamed: icicle-minibuffer-contents-from-minibuffer to icicle-input-from-minibuffer,
1612 ;;              icicle-minibuffer-contents to icicle-minibuf-input.
1613 ;;     icicle-display-candidates-in-Completions, icicle-next-candidate, icicle-place-cursor:
1614 ;;       Use icicle-minibuf-input-sans-dir.
1615 ;; 2008/08/23 dadams
1616 ;;     icicle-display-candidates-in-Completions:
1617 ;;       Wrap preliminary display of *Completions* in save-selected-window.
1618 ;; 2008/08/22 dadams
1619 ;;     icicle-display-candidates-in-Completions:
1620 ;;       Display *Completions* before calling with-output-to-temp-buffer and filling it.
1621 ;;        This is so we can know the window width, to determine the correct formatting.
1622 ;;     icicle-insert-candidates:
1623 ;;       Don't use lru window or *-Completions-*-default-width (removed).  Failsafe width 40.
1624 ;; 2008/08/21 dadams
1625 ;;     icicle-completing-read:
1626 ;;       Bind minibuffer-completing-file-name to nil if not completing a file name.
1627 ;;       Removed setq of minibuffer-completion-table. Already do it in *-lisp-vanilla-*.
1628 ;; 2008/08/20 dadams
1629 ;;     icicle-insert-candidates:
1630 ;;       Turn off mouse-face after insert candidate.
1631 ;;       Fixup whitespace correctly: Don't remove whitespace that is part of a candidate.
1632 ;;     Added: icicle-ding.
1633 ;;     icicle-read-number: Replaced ding by icicle-ding.
1634 ;; 2008/08/18 dadams
1635 ;;     Moved here from icicles-cmd.el (and renamed from *-less-p): icicle-cdr-lessp.
1636 ;;     Added: icicle-delete-count, icicle-mctize-all, icicle-mctized-(display|full)-candidate,
1637 ;;            icicle-part-1-cdr-lessp.
1638 ;;     Renamed: icicle-delete-if(-not)     to icicle-remove-if(-not),
1639 ;;              icicle-put-alist-candidate to icicle-put-whole-cand-prop,
1640 ;;              icicle-update-completions  to icicle-complete-again-update.
1641 ;;     icicle-completing-read: Factored out transformation to MCT into new fn icicle-mctize-all.
1642 ;; 2008/08/08 dadams
1643 ;;     icicle-completing-read: Updated doc string for Emacs 23.
1644 ;; 2008/08/03 dadams
1645 ;;     icicle-completing-read: Convert the predicate to apply to just the cdr (= original cons).
1646 ;;     icicle-save-or-restore-input: Don't save empty string ("") to C-l history.
1647 ;; 2008/07/27 dadams
1648 ;;     Added: icicle-2nd-part-string-less-p.
1649 ;;     Moved here from icicles-mcmd.el: icicle-transform-multi-completion.
1650 ;; 2008/07/19 dadams
1651 ;;     icicle-choose-completion-string: Don't move to point-max unless in minibuffer.
1652 ;; 2008/06/24 dadams
1653 ;;     Make *-must-match-filename-map an alias for *-filename-completion-map.  Use the latter.
1654 ;; 2008/06/22 dadams
1655 ;;     icicle-completing-read, icicle-read-file-name:
1656 ;;       Remove text properties from result (only) if icicle-unpropertize-*-flag.
1657 ;; 2008/06/21 dadams
1658 ;;     icicle-read-file-name: Remove text properties from result file name.
1659 ;; 2008/06/01 dadams
1660 ;;     icicle-lisp-vanilla-completing-read: Typo: minibuffer-local-must-match-filename-map.
1661 ;;     Put sort predicate properties on some sort predicate symbols, e.g. icicle-dirs-last-p.
1662 ;; 2008/05/22 dadams
1663 ;;     icicle-read-file-name: Bind minibuffer-completing-file-name to t.
1664 ;;     icicle-read-file-name-1: Do not prepend ". " if Emacs 23+, since it uses completing-read.
1665 ;;     icicle-(un)highlight-lighter: Reflect case-sensitivity in lighter.
1666 ;; 2008/05/11 dadams
1667 ;;     icicle-unsorted(-file-name)-apropos-candidates:
1668 ;;       Pass input to all-completions only if not icicle-apropos-complete-match-fn.
1669 ;; 2008/05/11 dadams
1670 ;;     Renamed icicle-fit-Completions-window to icicle-fit-completions-window.
1671 ;;     icicle-fit-completions-window: Use current window - not necessarily for *Completions*.
1672 ;; 2008/05/06 dadams
1673 ;;     icicle-highlight-lighter: Wrap redisplay in condition-case to ignore any errors.
1674 ;; 2008/05/05 dadams
1675 ;;     icicle-file-name-input-p: Redefined to just use minibuffer-completing-file-name.
1676 ;; 2008/05/01 dadams
1677 ;;     icicle-lisp-vanilla-completing-read, icicle-lisp-vanilla-completing-read,
1678 ;;       icicle-read-from-minibuffer, icicle-read-number, icicle-read-string-completing:
1679 ;;         Adapted to Emacs 23 change to allow list of strings for default value.
1680 ;; 2008/04/25 dadams
1681 ;;     icicle-call-then-update-Completions:
1682 ;;       nil icicle-test-for-remote-files-flag means don't test for remote file name.
1683 ;;     icicle-highlight-input-noncompletion:
1684 ;;       Correction: implicit, not always, in combination with not incremental completion.
1685 ;;       Added check for icicle-completing-command if value is explicit*.
1686 ;;       Added check for icicle-test-for-remote-files-flag if *-strict with lax completion.
1687 ;;       Protect call to icicle-file-remote-p with check of icicle-test-for-remote-files-flag.
1688 ;; 2008/04/18 dadams
1689 ;;     Renamed icicle-init-value-flag to icicle-default-value.
1690 ;;     icicle-read-from-minibuffer:
1691 ;;       If icicle-default-value is t, add to prompt.  Thx to Dominique Quatrevaux.
1692 ;;     icicle-completing-read, icicle-read-file-name-1, icicle-read-from-minibuffer:
1693 ;;       Change icicle-default-value test to rule out t also.
1694 ;;     icicle-completion-setup-function:
1695 ;;       Don't call file-name-directory unless minibuffer-completing-file-name.
1696 ;; 2008/04/01 dadams
1697 ;;     icicle-unsorted(-file-name)-apropos-candidates:
1698 ;;       If icicle-unsorted-apropos-candidates pass input to all-completions.
1699 ;;     icicle-expanded-common-match-1: 
1700 ;;       Use icicle-apropos-complete-match-fn throughout, but return nil if that is nil.
1701 ;;     icicle-display-candidates-in-Completions:
1702 ;;       If icicle-apropos-complete-match-fn is nil, don't try to highlight input match.
1703 ;; 2008/03/31 dadams
1704 ;;     icicle-display-candidates-in-Completions:
1705 ;;       Allow for no completion type, for No completions msg.
1706 ;; 2008/03/30 dadams
1707 ;;     icicle-read-file-name-1:
1708 ;;       Bind read-file-name-function to nil.
1709 ;;       Funcall icicle-old-read-file-name-fn instead of old-read-file-name.
1710 ;;     icicle-(un)highlight-lighter: Respect icicle-highlight-lighter-flag.
1711 ;;     Top-level: Moved fset for old-read-file-name to icicles-mode.el and renamed it.
1712 ;; 2008/03/29 dadams
1713 ;;     icicle-completing-read, icicle-read-file-name-1:
1714 ;;       Combine new faces for single-character minibuffer completion status indicator.
1715 ;;       Call icicle-highlight-lighter after establishing require-match, not at beginning.
1716 ;;       No longer use completing-prompt-prefix(-symb).
1717 ;;       No longer use icicle-reminder-prompt-flag (no longer add help to prompt).
1718 ;;     Removed: icicle-control-reminder-prompt.
1719 ;;     icicle-highlight-lighter:
1720 ;;       Combine faces for highlighting.  Indicate multi-command and strict/lax completion.
1721 ;;     icicle-unhighlight-lighter: Add + for multi-command.  Don't bother to propertize strg.
1722 ;;     icicle-file-remote-p: If name matches Windows drive letter, don't try other remote tests.
1723 ;; 2008/03/11 dadams
1724 ;;     icicle-completing-read-history:
1725 ;;       Convert cons list elements to strings.  Lets you use M-o with command-history.
1726 ;; 2008/03/09 dadams
1727 ;;     Added: icicle-(un)highlight-lighter.
1728 ;;     icicle-completing-read, icicle-read-file-name: Call icicle-highlight-lighter.
1729 ;; 2008/03/08 dadams
1730 ;;     icicle-completing-p: Replaced where-is-internal test with completion keymaps test.
1731 ;; 2008/03/05 dadams
1732 ;;     icicle-completing-read:
1733 ;;       Copy TABLE etc. only if candidates are strings.  Thx to Damon Permezel for bug report.
1734 ;;     icicle-files-within: Skip inaccessible directories and unreadable files.  Thx to Damon.
1735 ;; 2008/02/28 dadams
1736 ;;     icicle-completing-read: Fixed test for multicompletion: List of strings, not just list.
1737 ;; 2008/02/24 dadams
1738 ;;     Added: icicle-scatter(-match).
1739 ;;     icicle-display-*-in-Completions: Highlighting of input match can use icicle-scatter.
1740 ;;                                      Use icicle-apropos-complete-match-fn in message.
1741 ;;     icicle-expanded-common-match-1: Use icicle-apropos-complete-match-fn, not string-match.
1742 ;; 2008/02/23 dadams
1743 ;;     icicle-completing-read:
1744 ;;       Change initial-input to a cons with 0 position if icicle-init-value-flag is *-start.
1745 ;;     icicle-lisp-vanilla-completing-read: Set position to end of initial-input, by default.
1746 ;;                                          Convert zero-based position to one-based.
1747 ;; 2008/02/22 dadams
1748 ;;     icicle-completing-read:
1749 ;;       For all alist candidates (not just multi-completion):
1750 ;;         Copy the car and replace the cdr with the whole candidate.
1751 ;;     icicle-get-alist-candidate: Get and return just whole icicle-whole-candidate property.
1752 ;;     icicle-completion-setup-function (for Emacs 20):
1753 ;;       minibuffer-prompt-end -> icicle-minibuffer-prompt-end.
1754 ;; 2008/02/16 dadams
1755 ;;     icicle-get-alist-candidate:
1756 ;;       Reconstitute whole candidate, by consing string onto data, which is only the cdr now.
1757 ;;     icicle-completing-read: Use icicle-put-alist-candidate to put candidate data onto string.
1758 ;;     Added: icicle-put-alist-candidate.  Put only the cdr (data), not whole, onto the string.
1759 ;; 2008/02/14 dadams
1760 ;;     Added: icicle-substring-no-properties.
1761 ;; 2008/02/11 dadams
1762 ;;     icicle-read-string-completing: Moved save-match-data so replace-match can use match data.
1763 ;; 2008/02/06 dadams
1764 ;;     icicle-highlight-input-noncompletion:
1765 ;;       Wait icicle-highlight-input-completion-failure-delay before highlighting.
1766 ;;       Don't highlight if past icicle-highlight-input-completion-failure-threshold.
1767 ;;       Combined input-pending test with highlighting test, and moved it before file-name test.
1768 ;;       Conditionalized face removal.
1769 ;;       Return nil when input within delay preempts highlighting.
1770 ;;     icicle-highlight-initial-whitespace: Removed only vestigial whitespace highlighting.
1771 ;;     icicle-read-number: Moved save-match-data outside cond.
1772 ;; 2008/02/03 dadams
1773 ;;     icicle-choose-completion-string:
1774 ;;       Go to point-max before insert choice.  Respect icicle-dir-candidate-can-exit-p.
1775 ;;     icicle-completion-setup-function:
1776 ;;       Set default dir only if this is a completion cmd or not *-comp-base-is-default-dir-p.
1777 ;;       If icicle-comp-base-is-default-dir-p, set completion-base-size to default-dir length.
1778 ;;     icicle-read-file-name: Bind ffap vars to prevent slowing down ffap-guesser.
1779 ;; 2008/01/29 dadams
1780 ;;     Added: icicle-(apropos|prefix)-any(-file-name)-candidates-p,
1781 ;;            icicle-subst-envvar-in-file-name, icicle-highlight-input-noncompletion-rest,
1782 ;;            icicle-any-candidates-p, icicle-file-remote-p.
1783 ;;     icicle-minibuffer-contents-from-minibuffer: Use icicle-subst-envvar-in-file-name.
1784 ;;     icicle-call-then-update-Completions:
1785 ;;       Reinitialize icicle-input-fail-pos to nil.
1786 ;;       If we know input is a remote file name from failure highlighting, skip remote test.
1787 ;;       Use icicle-file-remote-p, not file-remote-p.
1788 ;;     icicle-highlight-input-noncompletion: Rewrote.
1789 ;;       Takes no args now.
1790 ;;       Do nothing if input pending or input is empty.
1791 ;;       Use icicle-file-remote-p, not file-remote-p.  Return value indicating remote file name.
1792 ;;       Use new values of icicle-highlight-input-completion-failure, including always.
1793 ;;       First check through last two chars, then icicle-highlight-input-noncompletion-rest.
1794 ;;     icicle-highlight-input-noncompletion-rest (was in icicle-highlight-input-noncompletion):
1795 ;;       No longer use icicle-max-chars-noncompletion-highlight.
1796 ;;       Use icicle-any-candidates-p, so don't compute candidate lists.
1797 ;; 2008/01/15 dadams
1798 ;;     icicle-command-abbrev-save: Added condition-case with message in case of error.
1799 ;;     icicle-control-reminder-prompt: Added message.
1800 ;; 2008/01/13 dadams
1801 ;;     icicle-read-face-name: Use icicle-transform-multi-completion.
1802 ;;     icicle-next-candidate: Do not use icicle-transform-multi-completion.
1803 ;;     icicle-next-candidate, icicle-save-or-restore-input: Do not treat handle-switch-frame.
1804 ;; 2008/01/08 dadams
1805 ;;     Renamed icicle-expanded-common-match to icicle-expanded-common-match-1.
1806 ;;     New icicle-expanded-common-match uses longest of two tries.
1807 ;;     icicle-expanded-common-match-1, first loop: Match ecm only up to orig-match-end.
1808 ;;     icicle-read-file-name: Use icicle-var-is-of-type-p for proxy candidates.
1809 ;;     icicle-choose-completion-string, icicle-strip-ignored-files-and-sort,
1810 ;;       icicle-filter-wo-input, icicle-first-matching-candidate,
1811 ;;       icicle-(proxy-candidate|prefix-keys)-first-p,  icicle-var-(matches|inherits)-type-p,
1812 ;;       icicle-read-(number|face-name|file-name|string-completing),
1813 ;;       icicle-unsorted(-file-name)-prefix-candidates, icicle-expanded-common-match-1,
1814 ;;       icicle-next-candidate, icicle-remove-dots: Wrap string-match in save-match-data.
1815 ;;     icicle-display-candidates-in-Completions: Moved save-match-data locations.
1816 ;; 2008/01/05 dadams
1817 ;;     icicle-next-candidate: Don't refresh Completions if last-command = handle-switch-frame.
1818 ;; 2008/01/04 dadams
1819 ;;     icicle-insert-candidates: Put property icicle-keep-newline on final \n of candidate.
1820 ;; 2007/12/31 dadams
1821 ;;     icicle-choose-completion-string: In minibuffer, delete all input before inserting.
1822 ;; 2007/12/27 dadams
1823 ;;     icicle-unsorted(-file-name)-apropos-candidates:
1824 ;;       Use null *-apropos-*-match-fn, not function-valued TABLE to inhibit input match.
1825 ;; 2007/12/26 dadams
1826 ;;     icicle-next-candidate: Raise *Completions* frame at the end.
1827 ;; 2007/12/24 dadams
1828 ;;     icicle-unsorted(-file-name)-apropos-candidates:
1829 ;;       Don't match input regexp if minibuffer-completion-table is a function.
1830 ;;     icicle-var-inherits-type-p:
1831 ;;       Recheck var-type match after set var-type to its car.
1832 ;;       Handle string (regexp) TYPES elements.
1833 ;;     icicle-value-satisfies-type-p: Skip type check for string type (regexp).
1834 ;;     icicle-var-is-of-type-p: Doc string.  Use icicle-var-matches-type-p.
1835 ;;     Added: icicle-var-matches-type-p, icicle-custom-type.
1836 ;; 2007/12/23 dadams
1837 ;;     icicle-var-is-of-type-p:
1838 ;;       Added MODE arg.  Use icicle-var-inherits-type-p, icicle-var-val-satisfies-type-p.
1839 ;;       Redefined as MODE choice, not just a simple or.  Treat more cases.
1840 ;;     Added: icicle-var-inherits-type-p, icicle-var-val-satisfies-type-p,
1841 ;;            icicle-value-satisfies-type-p.
1842 ;;     icicle-read-(number|char-exclusive|string-completing|face-name):
1843 ;;       Don't fill icicle-proxy-candidates unless icicle-add-proxy-candidates-flag.
1844 ;;       Corrected doc string to refer to icicle-add-proxy-candidates-flag.
1845 ;; 2007/12/22 dadams
1846 ;;     icicle-var-is-of-type-p:
1847 ;;       Check supertypes also.  Use both :validate and :match.
1848 ;;       Wrap type check in condition-case. Use widget-put instead of plist-put.
1849 ;;     Added soft require of wid-edit+.el.
1850 ;; 2007/12/21 dadams
1851 ;;     icicle-var-is-of-type-p: Use :validate, not :match, for the test.
1852 ;; 2007/12/19 dadams
1853 ;;     icicle-display-candidates-in-Completions:
1854 ;;       Ensure icicle-last-input is non-nil in (file-name-directory icicle-last-input).
1855 ;; 2007/12/14 dadams
1856 ;;     icicle-fit-Completions-window:
1857 ;;       Don't try to get a property if it's not a symbol.  Thx to Mike Mattie.
1858 ;; 2007/12/11 dadams
1859 ;;     Added: icicle-read-char-exclusive.
1860 ;;     icicle-read-face-name: Include face-name vars as proxy candidates.
1861 ;; 2007/12/10 dadams
1862 ;;     icicle-highlight-input-noncompletion: Use face icicle-input-completion-fail-lax also.
1863 ;; 2007/12/09 dadams
1864 ;;     icicle-highlight-input-noncompletion: Respect icicle-max-chars-noncompletion-highlight.
1865 ;; 2007/12/08 dadams
1866 ;;     icicle-read-file-name:
1867 ;;       Include file-name variables as proxy candidates.  Reset icicle-proxy-candidates at end.
1868 ;;     icicle-read-number: float type is not defined before Emacs 22.
1869 ;;     icicle-read-string-completing:
1870 ;;       Set default to "" if nil, but only after completing-read.
1871 ;;       Set car of hist to var value, replacing var name.  Treat consp hist also.
1872 ;; 2007/12/03 dadams
1873 ;;     Renamed icicle-longest-common-match to icicle-expanded-common-match.
1874 ;; 2007/12/02 dadams
1875 ;;     Added: icicle-var-is-of-type-p.
1876 ;;     icicle-read-(number|string-completing):
1877 ;;       Use icicle-var-is-of-type-p, to handle compatible types.
1878 ;; 2007/11/30 dadams
1879 ;;     icicle-read-file-name, icicle-read-(number|string-completing),
1880 ;;       icicle-display-candidates-in-Completions, icicle-proxy-candidate-first-p:
1881 ;;         Use only membership in icicle-proxy-candidates, not icicle-proxy-candidate property.
1882 ;;     icicle-choose-completion-string:
1883 ;;       Condition for exit: could be no minibuffer-completion-table if extra or proxy cands.
1884 ;; 2007/11/29 dadams
1885 ;;     icicle-read-(number|string-completing):
1886 ;;       Treat icicle-add-proxy-candidates-flag and icicle-proxy-candidates.
1887 ;;     icicle-display-candidates-in-Completions: Treat empty icicle-completion-candidates.
1888 ;; 2007/11/27 dadams
1889 ;;     Added: icicle-read-number, icicle-read-string-completing.
1890 ;;     icicle-read-file-name: Remove icicle-proxy-candidate property in unwind-protect.
1891 ;; 2007/11/25 dadams
1892 ;;     Added: icicle-command-abbrev(-save|-used-more-p).
1893 ;; 2007/11/24 dadams
1894 ;;     icicle-longest-common-match,  first loop: string-match -> not string-match.
1895 ;;                                               len-first -> length of lcm.
1896 ;;     Added: icicle-proxy-candidate-first-p.
1897 ;; 2007/11/18 dadams
1898 ;;     icicle(-unsorted)(-file-name)-(apropos|prefix)-candidates:
1899 ;;       Include also icicle-proxy-candidates.
1900 ;;       Move special and proxy candidates inside match filtering.
1901 ;;     icicle-display-candidates-in-Completions:
1902 ;;       Don't expand directory when highlighting special candidate.
1903 ;; 2007/11/02 dadams
1904 ;;     icicle-longest-common-match:
1905 ;;       First loop: (1) match against at most len-first, (2) put the match into the and test.
1906 ;; 2007/10/28 dadams
1907 ;;     icicle-display-candidates-in-Completions:
1908 ;;       Always highlight longest common match for prefix completion.
1909 ;;     icicle-unsorted(-file-name)-prefix-candidates, icicle-fuzzy-candidates:
1910 ;;       Set icicle-common-match-string, regardless of icicle-expand-input-*-flag.
1911 ;;     icicle-save-or-restore-input:
1912 ;;       Update to lcm even if no input change, if completion mode changed.
1913 ;;       Update to lcm if prefix completing, even if icicle-expand-input-*-flag is nil.
1914 ;;       Save input for C-l even if this command is an icicle-completing-command (?).
1915 ;;       Don't reset raw input to "" if cycling, so keep highlight in *Completions*.
1916 ;;     icicle-longest-common-match: Test prefix through embedded input each time.
1917 ;; 2007/10/26 dadams
1918 ;;     icicle-read-face-name (Emacs 22): Fix the treatment of default value.
1919 ;; 2007/10/22 dadams
1920 ;;     icicle-display-candidates-in-Completions:
1921 ;;       Highlight only regexp matching part of special candidates.
1922 ;;       Highlight special cands regardless of icicle-highlight-historical-candidates-flag.
1923 ;; 2007/10/02 dadams
1924 ;;     icicle-next-candidate:
1925 ;;       Apply abbreviate-file-name to file-name input.  Thx to Joonhwan Lee.
1926 ;; 2007/09/29 dadams
1927 ;;     Added: icicle-fuzzy-candidates.
1928 ;;     icicle-prefix-candidates: Treat fuzzy completion.
1929 ;;     icicle-display-candidates-in-Completions:
1930 ;;       For prefix completion, highlight literal input match in Completions.
1931 ;; 2007/09/26 dadams
1932 ;;     icicle-read-from-minibuffer: Removed keep-all arg - see also 2006/06/01.
1933 ;; 2007/09/22 dadamms
1934 ;;     icicle-completing-read, icicle-read-from-minibuffer:
1935 ;;       Ensure that init arg is string when get it from default arg via icicle-init-*-flag.
1936 ;; 2007/09/18 dadams
1937 ;;     icicle-call-then-update-Completions:
1938 ;;       Test icicle-current-completion-mode, not icicle-last-completion-command.
1939 ;; 2007/09/16 dadams
1940 ;;     icicle-call-then-update-Completions:
1941 ;;       Don't complete if file-remote-p.
1942 ;;       Highlight completion failure only if input > icicle-*-display-min-input-chars.
1943 ;;     icicle-highlight-input-noncompletion:
1944 ;;       Don't highlight unless also icicle-incremental-completion-flag.
1945 ;;       Call icicle-file-name-*-candidates for file-name input.
1946 ;;       Don't highlight if file-remote-p and reading file name.  Instead, remove highlighting.
1947 ;; 2007/09/14 dadams
1948 ;;     icicle-highlight-input-noncompletion, icicle-update-completions,
1949 ;;       icicle-recompute-candidates:
1950 ;;         Wrapped condition-case around candidates computation.
1951 ;; 2007/09/02 dadams
1952 ;;     icicle-display-candidates-in-Completions:
1953 ;;       Restore point and window point to start of candidates in *Completions*.
1954 ;; 2007/08/21 dadams
1955 ;;     icicle-highlight-input-noncompletion: Remove any vestigial highlighting on matched part.
1956 ;; 2007/08/19 dadams
1957 ;;     Added: icicle-lisp-vanilla-completing-read, icicle-highlight-input-noncompletion.
1958 ;;     icicle-completing-read:
1959 ;;       Allow reading and returning string candidates with properties:
1960 ;;         bind minibuffer-allow-text-properties.
1961 ;;       Put whole candidate on string as text property.
1962 ;;       Use icicle-lisp-vanilla-completing-read, not old-completing-read.
1963 ;;     icicle-call-then-update-Completions: Call icicle-highlight-input-noncompletion.
1964 ;;     icicle-get-alist-candidate:
1965 ;;       If icicle-whole-candidate-as-text-prop-p, try to get full candidate from text prop.
1966 ;; 2007/08/16 dadams
1967 ;;     icicle-insert-candidates: Don't reset text props if endpos > point.  Thx Chris Hecker.
1968 ;; 2007/08/14 dadams
1969 ;;     icicle-increment-cand-nb+signal-end: Removed audible bell - use visible bell only.
1970 ;; 2007/07/22 dadams
1971 ;;     icicle-read-face-name (Emacs 22 version):
1972 ;;       Revert multiple branch to not use icicle-make-face-candidate.
1973 ;;     Moved here from icicles-mode.el: icicle-completing-p.
1974 ;; 2007/07/06 dadams
1975 ;;     icicle-display-candidates-in-Completions: Leave cursor at start of candidates.
1976 ;; 2007/07/03 dadams
1977 ;;     icicle-save-or-restore-input:
1978 ;;       Add current-raw-input to icicle-previous(-non)-file-*-raw-inputs, respecting max len.
1979 ;;       Don't save input if current command is C-l or C-L.
1980 ;;       If don't save raw input, set it to empty string.
1981 ;;     Added: icicle-put-at-head.
1982 ;;     icicle-highlight-complete-input: Ensure no error treatment in call to search-forward.
1983 ;;     icicle-display-candidates-in-Completions:
1984 ;;       Ensure non-nil current(-raw)-input, for highlight.
1985 ;; 2007/06/23 dadams
1986 ;;     Added: icicle-completing-read-history.
1987 ;;     Moved here from icicles-cmd.el: icicle-read-from-minibuf-nil-default.
1988 ;; 2007/06/20 dadams
1989 ;;     icicle-make-face-candidate, icicle-read-face-name:
1990 ;;       Use new string value of icicle-WYSIWYG-Completions-flag.
1991 ;; 2007/06/19 dadams
1992 ;;     icicle-read-face-name:
1993 ;;       Use a multi-completion, depending on icicle-WYSIWYG-Completions-flag.
1994 ;;       For Emacs 22, isolate the multiple case and do nothing for it.
1995 ;;     icicle-make-face-candidate: Treat also whole-number value for icicle-WYSIWYG-*-flag.
1996 ;; 2007/06/17 dadams
1997 ;;     icicle-make-face-candidate: Respect icicle-WYSIWYG-Completions-flag.
1998 ;;     icicle-display-candidates-in-Completions: highlight saved candidates.
1999 ;;     icicle-place-overlay: Added priority arg.
2000 ;; 2007/06/13 dadams
2001 ;;     icicle-display-candidates-in-Completions:
2002 ;;       Upgrade icicle-incremental-completion-p only if redisplaying.  Thx Mark Elston.
2003 ;; 2007/06/10 dadams
2004 ;;     Removed unconditional add-hook for icicle-fit-Completions-window.
2005 ;; 2007/06/09 dadams
2006 ;;     icicle-insert-candidates: Don't mouse-face last char of candidate if it is a newline.
2007 ;;     icicle-display-candidates-in-Completions: Treat icicle-candidate-properties-alist last.
2008 ;; 2007/06/07 dadams
2009 ;;     icicle-read-face-name: Use (icicle-)face-name-history.
2010 ;; 2007/06/05 dadams
2011 ;;     Added soft require of hexrgb.el, but only if window-system.
2012 ;;     icicle-color*: Protected with featurep hexrgb and error message.
2013 ;; 2007/06/01 dadams
2014 ;;     icicle-completing-read, icicle-read-from-minibuffer, icicle-read-string:
2015 ;;       Use M@R%M=X!L$S+P&L^T*Z to avoid name capture by minibuffer-history-variable's value.
2016 ;;     icicle-display-candidates-in-Completions, icicle-historical-alphabetic-p,
2017 ;;       icicle-most-recent-first-p:
2018 ;;         Ensure value of minibuffer-history-variable is bound.
2019 ;; 2007/05/29 dadams
2020 ;;     icicle-call-then-update-Completions: Don't recomplete if only one candidate.
2021 ;; 2007/05/24 dadams
2022 ;;     icicle-completing-read, icicle-read-file-name:
2023 ;;       Fix length test for consp initial-input.  Thx to Anupam Sengupta.
2024 ;; 2007/05/04 dadams
2025 ;;     icicle-unsorted-*: C-g quits to top-level.
2026 ;;     icicle-candidate-set-1, icicle-scroll-or-update-*, icicle-msg-maybe-in-minibuffer:
2027 ;;       Move to minibuffer window for minibuffer-message.
2028 ;;     icicle-display-candidates-in-Completions, icicle-highlight-initial-whitespace,
2029 ;;     icicle-unsorted-file-name-*-candidates, icicle-longest-common-match,
2030 ;;     icicle-next-candidate, icicle-place-cursor, icicle-highlight-complete-input,
2031 ;;       icicle-special-candidates-first-p, icicle-case-string-less-p:
2032 ;;         Use read-file-name-completion-ignore-case, if completing file name.
2033 ;;     Moved mention of read-file-name-completion-ignore-case and
2034 ;;       icicle-cycle-into-subdirs-flag from icicle-completing-read to icicle-read-file-name.
2035 ;;     Added empty defvars for Emacs 22 standard vars, to quiet byte compiler.
2036 ;; 2007/04/29 dadams
2037 ;;     Added: icicle-last-modified-first-p.
2038 ;;     icicle-call-then-update-Completions: Delete icicle-complete-input-overlay.
2039 ;; 2007/04/08 dadams
2040 ;;     Added: icicle-highlight-candidate-in-Completions, from code in icicle-next-candidate.
2041 ;;            But changed to: 1) make Completions dedicated and 2) not bind case-fold-search.
2042 ;;     icicle-next-candidate: Use icicle-highlight-candidate-in-Completions.
2043 ;; 2007/04/02 dadams
2044 ;;     Moved here from icicles-cmd.el: icicle-filter-alist, icicle-first-matching-candidate.
2045 ;; 2007/04/01 dadams
2046 ;;     icicle-insert-candidates: Don't fixup-whitespace if bolp.
2047 ;; 2007/03/30 dadams
2048 ;;     icicle-fit-Completions-window: Don't resize *Completions* window if split horizontally.
2049 ;;     icicle-insert-candidates:
2050 ;;       Calculate nb of columns using max-candidate-len, not number of candidates.
2051 ;;       Indent at least one colwidth, and leave less space between candidates.
2052 ;; 2007/03/26 dadams
2053 ;;     icicle-completion-setup-function:
2054 ;;       Protected minibuffer-completing-symbol with boundp (not define in Emacs 23).
2055 ;; 2007/03/23 dadams
2056 ;;     icicle-completing-read, icicle-read-file-name:
2057 ;;       Record require-match in icicle-require-match-p.
2058 ;; 2007/03/17 dadams
2059 ;;     icicle-read-face-name: Undo Emacs 21+ brain-dead treatment of PROMPT arg.
2060 ;; 2007/03/14 dadams
2061 ;;     icicle-fit-Completions-window:
2062 ;;       Don't let *Completions* take over the frame, so don't lose other window.
2063 ;;       Respect icicle-Completions-window-max-height property of top-level command.
2064 ;; 2007/03/12 dadams
2065 ;;     Added: icicle-fit-Completions-window.  Use in temp-buffer-show-hook.
2066 ;;     icicle-display-completion-list:
2067 ;;       Print help lines here, not in icicle-completion-setup-*, so window fit includes them.
2068 ;;       Put face on string candidates intro string, Possible completions are:.
2069 ;;     icicle-completion-setup-function:
2070 ;;       Don't print the help lines here.
2071 ;;       Updated wrt latest Emacs 22 CVS version.
2072 ;;     icicle-insert-Completions-help-string: Remove second newline at end.
2073 ;;     icicle-start-of-candidates-in-Completions: Advance 1 or 2 lines, not 0 or 3.
2074 ;; 2007/03/10 dadams
2075 ;;     icicle-display-completion-list: Rewrote to adjust columns to window width.
2076 ;;     Added: icicle-insert-candidates.
2077 ;; 2007/03/09 dadams
2078 ;;     Moved icicle-get-alist-candidate here from icicles-cmd.el.
2079 ;; 2007/03/07 dadams
2080 ;;     icicle-choose-completion-string, icicle-next-candidate:
2081 ;;       Use 0, not t, as frame arg to get-buffer-window.
2082 ;; 2007/03/04 dadams
2083 ;;     icicle-highlight-initial-whitespace: Removed unused local var input-start-position.
2084 ;;     icicle-completing-read: Do not initialize icicle-candidates-alist.
2085 ;; 2007/03/03 dadams
2086 ;;     icicle-reversible-sort: Don't display Sorting candidates message - too annoying.
2087 ;; 2007/03/02 dadams
2088 ;;     icicle-completion-setup-function for Emacs 22: Don't use file-name-directory if nil.
2089 ;; 2007/03/01 dadams
2090 ;;     icicle-completing-read: Initialize icicle-candidates-alist.
2091 ;; 2007/02/24 dadams
2092 ;;     icicle-next-candidate:
2093 ;;       Transform multi-completion icicle-last-completion-candidate.
2094 ;;       If last-command is icicle(mouse)-remove-candidate don't reset common match string or
2095 ;;         redisplay *Completions*.
2096 ;;     icicle-recompute-candidates:
2097 ;;       Don't recompute if icicle-last-completion-command is icicle-mouse-remove-candidate.
2098 ;; 2007/02/18 dadams
2099 ;;     icicle-save-or-restore-input: Use "" if file-name-directory is nil.  Thx Shreevatsa R.
2100 ;; 2007/02/17 dadams
2101 ;;     icicle-reversible-sort: No Sorting... message if icicle-edit-update-p.  Thx Shreevatsa.
2102 ;; 2007/02/05 dadams
2103 ;;     icicle-completing-read: Added info about multi-completions to doc string.
2104 ;; 2007/02/04 dadams
2105 ;;     icicle-display-candidates-in-Completions: Fixed composition of multiple faces.
2106 ;; 2007/02/03 dadams
2107 ;;     Renamed icicle-icompleting-p to icicle-edit-update-p.
2108 ;;     Require icicles-var.el.  Removed eval-when-compile for require of icicles-opt.
2109 ;; 2007/02/02 dadams
2110 ;;     icicle-case-string-less-p: Use var, not function, icicle-completing-p (else too slow).
2111 ;;     icicle-reversible-sort: Added sorting progress message.
2112 ;; 2007/01/29 dadams
2113 ;;     icicle-display-candidates-in-Completions:
2114 ;;       Allow for consp proplist value of icicle-special-candidate.
2115 ;;     icicle-special-candidates-first-p: Added neither-special case.  Treat letter case.
2116 ;;     Renamed: icicle-case-insensitive-string-lessp to icicle-case-insensitive-string-less-p.
2117 ;;     Added: icicle-case-string-less-p.
2118 ;;     icicle-historical-alphabetic-p, icicle-most-recent-first-p, icicle-dirs-last-p,
2119 ;;       icicle-part-N-lessp, icicle-prefix-keys-first-p:
2120 ;;         Use icicle-case-string-less-p, not string-lessp.
2121 ;;     icicle-prefix-keys-first-p: Ignore case.
2122 ;; 2007/01/28 dadams
2123 ;;     Added: icicle-command-names-alphabetic-p.
2124 ;;     Moved here from icicles-cmd.el:
2125 ;;       icicle-prefix-keys-first-p, icicle-special-candidates-first-p.
2126 ;; 2007/01/23 dadams
2127 ;;     Added: icicle-read-face-name, icicle-make-face-candidate,
2128 ;;            icicle-face-valid-attribute-values, icicle-color-name-w-bg.
2129 ;;     icicle-choose-completion-string: Added Emacs 21 version.
2130 ;;     icicle-display-candidates-in-Completions:
2131 ;;       Only highlight past inputs if icicle-highlight-historical-candidates-flag.
2132 ;; 2007/01/22 dadams
2133 ;;     icicle-part-N-lessp, icicle-color-*-lessp: Do nothing if strings are not multipart.
2134 ;;     icicle-display-candidates-in-Completions:
2135 ;;       Highlight past inputs after treat *-prop*-alist.
2136 ;;     icicle-delete-whitespace-from-string: Added optional args.
2137 ;; 2007/01/21 dadams
2138 ;;     Added: icicle-part-*-lessp, icicle-color-*-lessp.
2139 ;; 2007/01/20 dadams
2140 ;;     Added: icicle-display-completion-list.
2141 ;; 2007/01/19 dadams
2142 ;;     icicle-display-candidates-in-Completions: Treat icicle-candidate-properties-alist.
2143 ;; 2007/01/15 dadams
2144 ;;     Added: icicle-reversible-sort.  Use it where standard sort function was used.
2145 ;;     Renamed: icicle-sort-and-strip-ignored to icicle-strip-ignored-files-and-sort,
2146 ;;              icicle-sort-dirs-last to icicle-dirs-last-p,
2147 ;;              icicle-sort-case-insensitively to icicle-case-insensitive-string-lessp.
2148 ;;     Grouped sort functions together.
2149 ;; 2007/01/14 dadams
2150 ;;     icicle-next-candidate: Use icicle-transform-multi-completion.  Thx to Rubikitch.
2151 ;;     icicle-transform-candidates: Updated doc string.
2152 ;; 2007/01/12 dadams
2153 ;;     icicle-next-candidate: Use icicle-list-use-nth-parts.  Thx to Rubikitch.
2154 ;;     icicle-display-candidates-in-Completions: Added message when no-display-p.
2155 ;; 2007/01/07 dadams
2156 ;;     icicle-completing-read: Updated doc string for Emacs 22.
2157 ;; 2007/01/06 dadams
2158 ;;     Added: icicle-abbreviate-or-expand-file-name.
2159 ;;     icicle-fix-default-directory: Use icicle-abbreviate-or-expand-file-name.
2160 ;;     icicle-save-or-restore-input: expand-file-name -> icicle-abbreviate-or-expand-file-name.
2161 ;;     icicle-completion-setup-function: Don't set default-directory to nil if minibuf empty.
2162 ;;     icicle-read-file-name: Bug fix: Don't set initial-input to icicle-initial-value if "".
2163 ;; 2007/01/05 dadams
2164 ;;     icicle-completing-read, icicle-read-file-name:
2165 ;;       Use existing string value of icicle-initial-value.  Thx to rubikitch for suggestion.
2166 ;; 2007/01/01 dadams
2167 ;;     Added assq-delete-all for Emacs 20 (moved here from icicles-mode.el).
2168 ;;     Added: icicle-assoc-delete-all.
2169 ;; 2006/12/25 dadams
2170 ;;     Added: icicle-most-recent-first-p.
2171 ;;     icicle-update-completions: Added optional no-display arg.
2172 ;;     Moved here from icicles-opt.el: icicle-historical-alphabetic-p.
2173 ;; 2006/11/10 dadams
2174 ;;     icicle-completing-read, icicle-read-file-name: Prefix prompt by + if a multi-command.
2175 ;; 2006/10/15 dadams
2176 ;;     icicle-save-or-restore-input:
2177 ;;       Change test from cmd is same as last to input is same as last.
2178 ;;     icicle-rebind-completion-maps:
2179 ;;       When turn off, bind C-M-mouse-2 and C-down-mouse-2 to nil.
2180 ;;     icicle-display-candidates-in-Completions: Accumulate (merge) highlight faces.
2181 ;;     Moved to icicles-mode.el:
2182 ;;       icicle-bind-isearch-keys, icicle-rebind-completion-maps,
2183 ;;       icicle-(redefine|restore)-standard-(commands|options),
2184 ;;       icicle-(redefine|restore)-std-completion-fns), icicle-(re|un)map,
2185 ;;       icicle-(bind|restore)-completion-keys, icicle-minibuffer-setup,
2186 ;;       icicle-cancel-*Help*-redirection, icicle-activate-mark,
2187 ;;       icicle-run-icicle-(pre|post)-command-hook, icicle-set-calling-cmd,
2188 ;;       icicle-undo-std-completion-faces, icicle-update-ignored-extensions-regexp,
2189 ;;       icicle-completing-p, icicle-restore-region-face.
2190 ;;     Removed eval-when-compile of *-face, *-var, *-mac, *-cmd.
2191 ;;     Removed some defvars for quieting byte compiler.
2192 ;; 2006/10/05 dadams
2193 ;;     icicle-display-candidates-in-Completions: Highlight candidates that are special.
2194 ;; 2006/10/03 dadams
2195 ;;     icicle-display-candidates-in-Completions:
2196 ;;       Removed predicate filtering, as the pred doesn't necessarily apply to the candidate.
2197 ;;       This has been in the code forever, so commented it out, in case it is needed ;-).
2198 ;; 2006/10/01 dadams
2199 ;;     icicle-alternative-sort -> icicle-toggle-alternative-sorting.
2200 ;;     icicle-update-completions: Treat icicle-prefix-word-complete case too.
2201 ;; 2006/09/30 dadams
2202 ;;     Added: icicle-key-description.
2203 ;;     icicle-(bind|restore)-completion-keys:
2204 ;;       Bind icicle-candidate-set-(save|retrieve) to C-M-(<|>), not C-(<|>).
2205 ;;       Bind icicle-toggle-angle-brackets to C-<.
2206 ;;       No longer remap help-command to icicle-completion-help.
2207 ;;       Bind icicle-completion-help to C-?.
2208 ;;       Rename [menu-bar minibuf C-h] to [menu-bar minibuf completion-help].
2209 ;;     icicle-completing-p: Bug fix: Use where-is-internal, not minibuffer-completion-table.
2210 ;; 2006/09/22 dadams
2211 ;;     icicle-minibuffer-setup:
2212 ;;       Apropos-complete, don't prefix-complete, when icicle-show-Completions-initially-flag.
2213 ;; 2006/09/17 dadams
2214 ;;     icicle-completing-p: Ensure minibuffer is active too.
2215 ;; 2006/09/16 dadams
2216 ;;     Bound icicle-insert-key-description to M-q.
2217 ;;     icicle-completing-read:
2218 ;;       Use icicle-list-join-string only to join parts of candidate (alist key).
2219 ;;       Append icicle-list-end-string instead.
2220 ;;     icicle-msg-maybe-in-minibuffer: Fixed doc string (active -> inactive).
2221 ;; 2006/09/12 dadams
2222 ;;     icicle-minibuffer-setup: Set icicle-pre-minibuffer-buffer.
2223 ;;     Renamed icicle-switch-to-minibuffer to icicle-insert-completion.
2224 ;; 2006/09/03 dadams
2225 ;;     Renamed icicle-show-Completions-help to icicle-show-Completions-help-flag.
2226 ;; 2006/08/27 dadams
2227 ;;     Bind Quit in Minibuf menu to icicle-abort-minibuffer-input.
2228 ;; 2006/08/22 dadams
2229 ;;     icicle-save-or-restore-input: If icicle-last-completion-candidate is nil, don't try to restore.
2230 ;; 2006/08/18 dadams
2231 ;;     icicle-minibuffer-setup: Reset icicle-last-completion-candidate to nil.
2232 ;;     icicle-rebind-completion-maps:
2233 ;;       Added icicle-Info-goto-node to icicle-completion-help-string.
2234 ;; 2006/08/15 dadams
2235 ;;     icicle-(bind|restore)-completion-keys:
2236 ;;       Bind icicle-help-on-(previous|next)-(apropos|prefix)-candidate.
2237 ;;       Reorder bindings.  Bind C-mouse-2 to 'ignore, not nil.
2238 ;;     icicle-rebind-completion-maps: Bind icicle-help-on-* in completion-list-mode-map.
2239 ;;     Added: icicle-barf-if-outside-Completions-and-minibuffer.
2240 ;; 2006/08/13 dadams
2241 ;;     icicle-completing-read, icicle-read-file-name: Use icicle-completing*-prompt-prefix.
2242 ;; 2006/08/04 dadams
2243 ;;     icicle-call-then-update-Completions:
2244 ;;       Call icicle-last-completion-command, not just prefix or apropos (so prefix-word too).
2245 ;;     icicle-completing-read, icicle-read-file-name, icicle-next-candidate,
2246 ;;       icicle-recompute-candidates, icicle-call-then-update-Completions:
2247 ;;         Use icicle-remove-Completions-window.
2248 ;;     icicle-(bind|restore)-completion-keys: Bound icicle-pp-eval-expression to M-:.
2249 ;; 2006/08/03 dadams
2250 ;;     icicle-completion-setup-function: Removed useless highlighting code at end (Emacs 20).
2251 ;;     icicle-rebind-completion-maps: Updated icicle-completion-help-string.
2252 ;; 2006/07/30 dadams
2253 ;;     icicle-call-then-update-Completions: save match-data.
2254 ;; 2006/07/29 dadams
2255 ;;     icicle-activate-mark: Do it only if icicle-completing-p.  Thx to Le Wang.
2256 ;;     icicle-rebind-completion-maps:
2257 ;;       Updated to use icicle-dispatch-C-..
2258 ;;       Added icicle-toggle-search-cleanup to icicle-completion-help-string.
2259 ;;     icicle-bind-completion-keys:
2260 ;;       Use icicle-dispatch-C-. instead of icicle-toggle-ignored-extensions.
2261 ;; 2006/07/28 dadams
2262 ;;     icicle-longest-common-match: Treat special case of input such as "$" or "\\>$".
2263 ;; 2006/07/24 dadams
2264 ;;     icicle-call-then-update-Completions: Deactivate mark at the end.  Thx to Le Wang.
2265 ;; 2006/07/23 dadams
2266 ;;     Added: icicle-transform-candidates.
2267 ;;     icicle-rebind-completion-maps, icicle-(bind|restore)-completion-keys:
2268 ;;       Added icicle-toggle-transforming.
2269 ;;     icicle-unsorted(-file-name)-*-candidates: Use icicle-transform-candidates.
2270 ;; 2006/07/20 dadams
2271 ;;     Renamed icicle-arrows-respect-* to icicle-cycling-respects-completion-mode-flag.
2272 ;; 2006/07/19 dadams
2273 ;;     Applied patch from Damien Elmes <emacs@repose.cx>:
2274 ;;       Added icicle-insert-help-string, icicle-start-of-completions (factored from existing).
2275 ;;       icicle-completion-setup-function: Use icicle-insert-help-string.
2276 ;;       icicle-display-candidates-in-Completions:
2277 ;;         Use icicle-start-of-completions, and adjust loop accordingly.
2278 ;;       icicle-minibuffer-setup:
2279 ;;         Reset icicle-current-completion-type.
2280 ;;         Bind (up|down) to icicle-*-context-candidate, not (previous|next)-history-element.
2281 ;;       icicle-next-candidate: Use icicle-start-of-completions.
2282 ;;       icicle-scroll-or-update-Completions: Use icicle-scroll-completions.
2283 ;;     Renamed: icicle-start-of-completions to icicle-start-of-candidates-in-Completions,
2284 ;;              icicle-insert-help-string to icicle-insert-Completions-help-string,
2285 ;;              icicle-current-completion-type to icicle-current-completion-mode,
2286 ;;              icicle-*-context-candidate to icicle-(next|previous)-candidate-per-mode,
2287 ;;              icicle-scroll-completions to icicle-scroll-Completions.
2288 ;;     icicle-minibuffer-setup:
2289 ;;       Replaced icicle-display-Completions with icicle-prefix-complete, to get initial
2290 ;;         highlight.
2291 ;; 2006/07/18 dadams
2292 ;;     icicle-call-then-update-Completions:
2293 ;;       Delete *Completions* window, depending on icicle-Completions-display-min-input-chars.
2294 ;;         Thx to Damien Elmes.
2295 ;;     icicle-rebind-completion-maps: Add icicle-toggle-case-sensitivity to help list.
2296 ;;     icicle-bind-completion-keys: Bind icicle-toggle-case-sensitivity to S-C-a (i.e. C-A).
2297 ;; 2006/07/17 dadams
2298 ;;     icicle-call-then-update-Completions: sit-for delay if no candidates.  Thx Damien Elmes.
2299 ;; 2006/07/09 dadams
2300 ;;     icicle-save-or-restore-input:
2301 ;;       Put back test: current input differs from last cycling candidate (user has edited it).
2302 ;;     icicle-next-candidate: Removed filtering with predicate (vestigial cruft).
2303 ;; 2006/07/08 dadams
2304 ;;     icicle-save-or-restore-input: Restore if currently cycling, not if not completing.
2305 ;; 2006/07/07 dadams
2306 ;;     icicle-display-candidates-in-Completions: Fixed test for historical candidate.
2307 ;;     Bound icicle-alternative-sort to M-,.  Updated icicle-completion-help-string.
2308 ;; 2006/07/05 dadams
2309 ;;     icicle-save-or-restore-input:
2310 ;;       For restoring: 1) No longer test if current input = *-last-completion-candidate.
2311 ;;                      2) No longer test if current input = icicle-initial-value.
2312 ;;       No longer save icicle-current-input as icicle-last-completion-candidate.
2313 ;;       Simplified the code.
2314 ;;     icicle-call-then-update-Completions: Do not set this-command or last-command.
2315 ;;     Renamed: icicle-current-regexp-input to icicle-current-raw-input.
2316 ;; 2006/07/04 dadams
2317 ;;     icicle-unsorted(-file-name)-prefix-candidates: Update icicle-common-match-string.
2318 ;;     icicle-unsorted-file-name-prefix-candidates:
2319 ;;       If prefix matches an empty directory, then use that directory as the sole completion.
2320 ;;     icicle-next-candidate: Use icicle-*-cycling-command properties.
2321 ;;                            Removed regexp-p arg in calls to icicle-save-or-restore-input.
2322 ;;     icicle-save-or-restore-input:
2323 ;;       Update icicle-common-*-string and icicle-current-regexp-input even if not regexp-p.
2324 ;;       Removed optional regexp-p argument.
2325 ;;       Do not update icicle-last-completion-candidate.
2326 ;;       Use icicle-*-*ing-command properties.
2327 ;;     icicle-recompute-candidates: Use icicle-*-cycling-command properties.
2328 ;; 2006/07/03 dadams
2329 ;;     Bug fixes -
2330 ;;       icicle-next-candidate:
2331 ;;         Don't reset icicle-common-match-string if this is an apropos cycling command
2332 ;;           and last command was an apropos command (cycling or completing).
2333 ;;         Do icicle-save-or-restore-input a second time, after recompute candidates,
2334 ;;           to pick up the common match.
2335 ;;         Always pass icicle-current-input to icicle-place-cursor.
2336 ;;       icicle-save-or-restore-input:
2337 ;;         Don't do anything if last command was a cycling command.
2338 ;;         Don't save input as regexp for C-l if this command is a cycling command,
2339 ;;           unless it is the first or it follows a completion command.
2340 ;; 2006/07/02 dadams
2341 ;;     icicle-place-cursor: position point & mark at least past prompt.  Thx to Peter Povinec.
2342 ;; 2006/06/09 dadams
2343 ;;     icicle(-file-name)-(apropos|prefix)-candidates: Reset icicle-candidate-nb to nil.
2344 ;;     icicle-recompute-candidates: Don't reset icicle-candidate-nb to nil.
2345 ;;     icicle-place-cursor: Prevent error on search-forward.
2346 ;; 2006/06/08 dadams
2347 ;;     icicle-save-or-restore-input: Do not restore if current command is completion.
2348 ;;     Added: icicle-expand-file-name.
2349 ;;     icicle-next-candidate: Don't pass NTH arg to icicle-display-candidates-in-Completions.
2350 ;; 2006/06/06 dadams
2351 ;;     icicle-control-reminder-prompt: condition-case, since it's on kill-emacs-hook.
2352 ;; 2006/06/01 dadams
2353 ;;     icicle-read-from-minibuffer: Emacs 22 removed the keep-all arg it had added.
2354 ;; 2006/05/31 dadams
2355 ;;     icicle-barf-if-outside*: Simplified.
2356 ;; 2006/05/30 dadams
2357 ;;     Bind icicle-erase-minibuffer-or-history to M-k also in non-completion minibuffer maps.
2358 ;; 2006/05/26 dadams
2359 ;;     Bind icicle-erase-minibuffer-or-history to M-k.
2360 ;;     Do not remap (or unmap) kill-sentence (it is on M-k in global map).
2361 ;; 2006/05/19 dadams
2362 ;;     Added: icicle-control-reminder-prompt.
2363 ;;     icicle-reminder-*-flag, icicle-read-file-name: Treat new values of icicle-reminder*.
2364 ;;     Renamed icicle-inhibit-reminder* to icicle-reminder*.
2365 ;; 2006/05/16 dadams
2366 ;;     icicle-recompute-candidates: Add new saved-last-input arg (replaces icicle-last-input).
2367 ;;     icicle-next-candidate: Pass saved old last input to icicle-recompute-candidates.
2368 ;; 2006/05/15 dadams
2369 ;;     Reverted change to icicle-unsorted(-file-name)-apropos-candidates,
2370 ;;       icicle-display-Completions: Use icicle-completion-nospace-flag, not nil.
2371 ;;     Renamed: icicle-completion-nospace-flag to icicle-ignore-space-prefix-flag.
2372 ;;     icicle-toggle-incremental-completion: C-#, icicle-toggle-ignored-space-prefix: C-^.
2373 ;; 2006/05/13 dadams
2374 ;;     icicle-unsorted(-file-name)-apropos-candidates, icicle-display-Completions:
2375 ;;       Use nil, not icicle-completion-nospace-flag.
2376 ;; 2006/05/12 dadams
2377 ;;     icicle-completion-help-string: Added faces and commands. Cleanup.
2378 ;;     Moved from icicles-cmd.el: icicle-barf-if-outside-*.
2379 ;; 2006/05/09 dadams
2380 ;;     icicle-display-*: Only issue Displaying... message when more candidates than threshold.
2381 ;; 2006/05/01 dadams
2382 ;;     icicle-save-or-restore-input: No-restore test is non-nil, not non-"", icicle-last-input.
2383 ;;     icicle-minibuffer-setup: Reset icicle-last-input to nil, not "".
2384 ;;     icicle-next-candidate: Highlight initial whitespace before underline root.
2385 ;; 2006/04/28 dadams
2386 ;;     icicle-save-or-restore-input:
2387 ;;       Restore empty input if it is not a file name.
2388 ;;       Don't expand empty common-match-string file-name input (it would lose trailing /).
2389 ;;     Added: icicle-highlight-initial-whitespace.
2390 ;;     icicle-next-candidate, icicle-call-then-update-Completions:
2391 ;;       Use icicle-highlight-initial-whitespace.
2392 ;; 2006/04/14 dadams
2393 ;;     icicle-call-then-update-Completions: Call icicle-update-input-hook.
2394 ;;     Bound icicle-insert-string-from-variable to C-=.  Update icicle-completion-help-string.
2395 ;; 2006/04/09 dadams
2396 ;;     icicle-bind-completion-keys, icicle-minibuffer-setup:
2397 ;;       Deal with icicle-arrows-respect-completion-type-flag.
2398 ;;     icicle-display-candidates-in-Completions:
2399 ;;       Bug fix: regexp-quote common match when highlighting it.
2400 ;;     icicle-clear-minibuffer: Remove interactive spec.
2401 ;;     Moved to icicles-cmd.el: icicle-customize-apropos*, icicle-repeat-complex-command.
2402 ;; 2006/04/02 dadams
2403 ;;     Bound icicle-toggle-regexp-quote.
2404 ;; 2006/03/31 dadams
2405 ;;     icicle-next-candidate:
2406 ;;       Apply icicle-place-cursor to icicle-current-regexp-input if regexp-p.
2407 ;;     icicle-save-or-restore-input:
2408 ;;       Don't set icicle-current-regexp-input if this is a next-candidate action.
2409 ;; 2006/03/27 dadams
2410 ;;     icicle-place-overlay: Made generic: added args overlay, face, buffer, properties.
2411 ;; 2006/03/25 dadams
2412 ;;     icicle-call-then-update-Completions: Corrected use of icicle-incremental-completion*.
2413 ;; 2006/03/24 dadams
2414 ;;     Renamed icicle-expand-input-to-common-match to icicle-longest-common-match.  Rewrote it.
2415 ;;     icicle-call-then-update-Completions:
2416 ;;       Use icicle-incremental-completion-delay and -threshold.
2417 ;;     Mapped icicle-delete-char.
2418 ;; 2006/03/23 dadams
2419 ;;     icicle-expand-input-to-common-match:
2420 ;;       Return the longest common match.  Don't set icicle-common-match-string here.
2421 ;;     icicle-unsorted-*apropos-candidates: Set icicle-common-match-string here explicitly.
2422 ;;     Added: icicle-maybe-sort-and-strip-candidates.  Use in icicle-candidate-set-1.
2423 ;; 2006/03/22 dadams
2424 ;;     icicle-display-candidates-in-Completions:
2425 ;;       Removed root arg (always use icicle-current-input).
2426 ;;       Always highlight normal match part.
2427 ;;       Highlight common-match part if icicle-expand-input-to-common-match-flag.
2428 ;;     icicle-save-or-restore-input:
2429 ;;       Update regexp even if not icicle-expand-input-to-common-match-flag.
2430 ;;     icicle-recompute-candidates: If no candidates, then delete *Completions* window.
2431 ;;     icicle-next-candidate: Set default-directory only if icicle-file-name-input-p.
2432 ;;     Applied renamings of icicle-match-* faces.
2433 ;; 2006/03/21 dadams
2434 ;;     icicle-expand-input-to-common-match:
2435 ;;       Bug fixes:
2436 ;;         If no overlap between first and second candidates, then no common match.
2437 ;;         If no match with another candidate, then no common match.
2438 ;;         Input must match computed common match.
2439 ;;         When checking others, check only the added (pre|suf)fix, and reduce those as needed.
2440 ;;     icicle-save-or-restore-input:
2441 ;;       Bug fixes:
2442 ;;         When icicle-expand-input-to-common-match-flag, expand using directory from the
2443 ;;           input, not the default-directory.  Thx to cacher3.ericsson.net for report.
2444 ;;         Do test for case-only difference only when case-fold-search.
2445 ;;         If input is a directory (with slash), then use it as is.
2446 ;;         Save icicle-current-regexp-input if no icicle-common-match-string too.
2447 ;;     icicle-display-candidates-in-Completions: Use icicle-common-match-highlight-Completions.
2448 ;; 2006/03/20 dadams
2449 ;;     icicle-save-or-restore-input: Set icicle-current-regexp-input too.
2450 ;;                                   Corrected letter-case test.
2451 ;; 2006/03/19 dadams
2452 ;;     Added: icicle-expand-input-to-common-match.
2453 ;;     icicle-unsorted*-apropos-candidates:
2454 ;;       Set icicle-common-match-string if icicle-expand-input-to-common-match-flag.
2455 ;;     icicle-save-or-restore-input:
2456 ;;       Added regexp-p arg.  Update input to icicle-common-match-string if appropriate.
2457 ;;     icicle-next-candidate: Reset icicle-common-match-string.
2458 ;; 2006/03/17 dadams
2459 ;;     icicle-file-(read|writ)able-p: Put non-empty string condition first.
2460 ;;     Added: icicle-delete-whitespace-from-string.
2461 ;;     icicle-files-within: Moved here from icicle-cmd.el.
2462 ;; 2006/03/14 dadams
2463 ;;     Removed: icicle-reset-icicle-completing-p.
2464 ;;     icicle-completing-read, icicle-read-file-name: Removed icicle-icicle-completing-p.
2465 ;;     icicle-display-*: Added Displaying... message.
2466 ;; 2006/03/13 dadams
2467 ;;     Added: icicle-file-(read|writ)able-p.  Bound them to C-{ and C-} in minibuffer.
2468 ;;     icicle-rebind-completion-maps, icicle-bind-completion-keys: Added the new commands.
2469 ;;     icicle-recompute-candidates: Forgot icicle-keep-only-past-inputs in other branch.
2470 ;; 2006/03/10 dadams
2471 ;;     icicle-save-or-restore-input: Bug fix (thx Toby Cubitt) - Not relative to default dir.
2472 ;;       Use directory-file-name, so don't include /.
2473 ;;       Use file-name-nondirectory, not file-relative-name if not cycling into subdirs.
2474 ;;     Renamed icicle-minibuffer-contents to icicle-minibuffer-contents-from-minibuffer.
2475 ;;     Added new icicle-minibuffer-contents, which can be called outside minibuffer.
2476 ;; 2006/03/08 dadams
2477 ;;     icicle-place-overlay: Use new face, icicle-current-candidate-highlight.
2478 ;; 2006/03/05 dadams
2479 ;;     Bound icicle-toggle-incremental-completion to C-^ in minibuffer.
2480 ;;     Updated icicle-completion-help-string with C-^ binding.
2481 ;;     icicle-display-candidates-in-Completions:
2482 ;;       Allow for on-the-fly changes to icicle-incremental-completion-flag.
2483 ;; 2006/03/01 dadams
2484 ;;     Added: icicle-clear-minibuffer.  Use in icicle-next-candidate.
2485 ;; 2006/02/27 dadams
2486 ;;     icicle-call-then-update-Completions: Set last-command to fn arg.
2487  
2488 ;;;(@* "CHANGE LOG FOR `icicles-mac.el'")
2489 ;;
2490 ;; ****************************************************************************************************
2491 ;; NOTE: If you byte-compile Icicles (recommended), then WHENEVER `icicles-mac.el' is updated, you
2492 ;;       must load `icicles-mac.el' (not just `icicles-mac.elc'), then compile it, then RECOMPILE *ALL*
2493 ;;       of the other Icicles source files as well.  This is normal for Lisp: code that depends on
2494 ;;       macros needs to be byte-compiled anew after loading the updated macros.
2495 ;; ****************************************************************************************************
2496 ;;
2497 ;; 2011/09/08 dadams
2498 ;;     font-lock-add-keywords - Use font-lock-keyword-face for icicle-condition-case-no-debug.
2499 ;; 2011/08/27 dadams
2500 ;;     icicle-condition-case-no-debug: Redefined so it respects debug-on-quit and keeps other handlers.
2501 ;; 2011/08/24 dadams
2502 ;;     Added top-level puts for common-lisp-indent-function.
2503 ;;     icicle-condition-case-no-debug, icicle-with-selected-window: Removed declare declaration.
2504 ;; 2011/08/22 dadams
2505 ;;     icicle-maybe-byte-compile-after-load: Require bytecomp.el.
2506 ;;     font-lock-add-keywords: Quote font-lock-function-name-face, for Emacs 20.
2507 ;; 2011/08/21 dadams
2508 ;;     Added: icicle-condition-case-no-debug.  Thx to Michael Heerdegen.
2509 ;;     icicle-define(-file)-command: Use icicle-condition-case-no-debug.
2510 ;; 2011/08/16 dadams
2511 ;;     Added: icicle-maybe-byte-compile-after-load, icicle-byte-compile-eval-after-load-flag.
2512 ;;     icicle-(buffer|file)-bindings: Use append, not backquote syntax.
2513 ;; 2011/08/12 dadams
2514 ;;     icicle-file-bindings: Removed binding of icicle-ignore-space-prefix-flag (to *-buffer-ignore-*).
2515 ;; 2011/05/22 dadams
2516 ;;     icicle-define(-file)-command: Use #',FUNCTION instead of ',FUNCTION.
2517 ;;     icicle-with-selected-window, icicle-(buffer|file)-bindings:
2518 ;;       Use #' with lambdas (not really needed).
2519 ;; 2011/05/03 dadams
2520 ;;     icicle-buffer-bindings, icicle-file-bindings:
2521 ;;       Had to revert definition for Emacs > 20, but keep it for Emacs 20.  Thx to Michael Heerdegen.
2522 ;; 2011/04/29 dadams
2523 ;;     icicle-buffer-bindings, icicle-file-bindings:
2524 ;;       Do not bind icicle-sort-comparer.  Instead, set it the first time
2525 ;;         (per icicle-(buffer|file)-sort-first-time-p).
2526 ;;       No side effects to icicle-sort-orders-alist.
2527 ;;       If icicle-(buffer|file)-sort is non-nil then put it at the beginning.
2528 ;;       Use old backquote syntax for post-bindings - needed because of vanilla Emacs 20 bug.
2529 ;; 2011/04/25 dadams
2530 ;;     icicle-file-bindings: Bind icicle-candidate-help-fn to icicle-describe-file w/ curr pref arg.
2531 ;; 2011/04/12 dadams
2532 ;;     icicle-buffer-bindings, icicle-file-bindings: Added optional POST-BINDINGS arg.
2533 ;; 2011/04/02 dadams
2534 ;;     icicle-buffer-bindings: Bind (new) icicle-bufflist, not bufflist.
2535 ;; 2011/03/29 dadams
2536 ;;     Renamed: orig-(buff|window) to icicle-orig-(buff|window).
2537 ;; 2011/01/17 dadams
2538 ;;     Require cl.el at compile time for Emacs 20.
2539 ;; 2011/01/06 dadams
2540 ;;     icicle-buffer-bindings: Zero prefix arg limits candidates to buffers with same mode as current.
2541 ;; 2010/12/26 dadams
2542 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
2543 ;; 2010/12/18 dadams
2544 ;;     icicle-assoc-delete-all: Moved here from icicles-fn.el, since used here.
2545 ;;     Added autoload cookies.
2546 ;; 2010/10/25 dadams
2547 ;;     icicle-(buffer|file)-bindings:
2548 ;;       Use icicle-must-pass-after-match-predicate, not icicle-must-pass-predicate
2549 ;; 2010/10/09 dadams
2550 ;;     icicle-define(-file)-command: Update generated doc: down/up for modal, end/home for prefix.
2551 ;; 2010/06/05 dadams
2552 ;;     icicle-file-bindings: Put back non-insertion for non-ido-like case.
2553 ;; 2010/06/04 dadams
2554 ;;     icicle-(buffer|file)-bindings: Bind vars that depend on icicle-(buffers|files)-ido-like-flag.
2555 ;; 2010/03/03 dadams
2556 ;;     Applied renamings: icicle-sort-function to icicle-sort-comparer,
2557 ;;                        icicle-sort-functions-alist to icicle-sort-orders-alist.
2558 ;; 2009/12/21 dadams
2559 ;;     fset -> defalias.
2560 ;; 2009/12/13 dadams
2561 ;;     icicle-define-sort-command: Add REVERSED to msg if reversed.
2562 ;; 2009/10/22 dadams
2563 ;;     icicle-define-file-command: Use icicle-file-name-directory, not file-name-directory.
2564 ;; 2009/09/17 dadams
2565 ;;     Added: icicle-file-bindings.
2566 ;; 2009/09/16 dadams
2567 ;;     Added: icicle-buffer-bindings.
2568 ;;     icicle-define(-file)-command: Macroexpand bindings, (e.g. to use icicle-buffer-bindings).
2569 ;; 2009/04/28 dadams
2570 ;;     Moved icicle-choose-action-for-type to icicles-fn.el and changed to a function.
2571 ;; 2009/04/26 dadams
2572 ;;     Added: icicle-choose-action-for-type, icicle-with-selected-window.
2573 ;; 2008/08/31 dadams
2574 ;;     icicle-define(-file)-command: Select window before call select-frame-set-input-focus.
2575 ;; 2008/08/18 dadams
2576 ;;     icicle-try-switch-buffer: Do nothing if icicle-inhibit-try-switch-buffer is non-nil.
2577 ;;     Use renaming from icicles-fn.el: icicle-complete-again-update.
2578 ;; 2008/03/29 dadams
2579 ;;     icicle-define(-file)-command: Do not call icicle-highlight-lighter.
2580 ;; 2008/03/09 dadams
2581 ;;     icicle-define(-file)-command: Call icicle-highlight-lighter.
2582 ;; 2007/11/25 dadams
2583 ;;     icicle-define(-file)-command:
2584 ;;       Bound minibuffer variables, so they are restored after action function
2585 ;;         (in case it uses minibuffer for completion).
2586 ;;       Return nil after, not before select-frame-set-input-focus.
2587 ;;       Added optional arg not-interactive-p.
2588 ;;     Quiet the byte compiler for Emacs versions before 22.
2589 ;; 2007/10/14 dadams
2590 ;;     icicle-define(-file)-command:
2591 ;;       Updated generated doc to reflect icicle-act-before-cycle-flag.
2592 ;; 2007/05/01 dadams
2593 ;;     icicle-define(-file)-command: Reset icicle-candidate-action-fn after reading input.
2594 ;; 2007/04/15 dadams
2595 ;;     icicle-define(-file)-command:
2596 ;;       Simplified action fn: Removed unwind-protect and outer condition-case,
2597 ;;       so don't return error msg now, and only set minibuf focus if succeed.
2598 ;;     icicle-define(-file)-command, icicle-try-switch-buffer: Removed "%s" from handlers.
2599 ;; 2007/02/06 dadams
2600 ;;     icicle-define(-file)-command: Mention mouse bindings in command doc strings.
2601 ;; 2007/01/15 dadams
2602 ;;     Added: icicle-define-sort-command.
2603 ;;     Updated font-lock-add-keywords.  Added lisp-indentation-hack (commented out).
2604 ;; 2007/01/06 dadams
2605 ;;     font-lock-add-keywords: 2 or 3, not 1 or 2, is index after add icicle-define-add-to-*.
2606 ;;                             Use lax matching, so no error if no match.
2607 ;; 2007/01/01 dadams
2608 ;;     Added: icicle-define-add-to-alist-command.
2609 ;;     Removed compile-time require of icicles-var.el.
2610 ;;     font-lock-add-keywords:
2611 ;;       "\\>[ \t'\(]*\\(\\sw+\\)?", not "\\s-+\\(\\sw\\(\\sw\\|\\s_\\)+\\)".
2612 ;;       Added icicle-define-add-to-alist-command.
2613 ;; 2006/10/14 dadams
2614 ;;     Require icicles-var.el.
2615 ;;     Moved conditional eval-when-compile to top level.
2616 ;; 2006/09/24 dadams
2617 ;;     icicle-define(-file)-command: Corrected bindings mentioned in doc strings.
2618 ;; 2006/08/27 dadams
2619 ;;     icicle-define(-file)-command: Ensure orig-window is live before using it.
2620 ;; 2006/08/23 dadams
2621 ;;     Added: icicle-try-switch-buffer.  Use it in icicle-define(-file)-command.
2622 ;; 2006/08/03 dadams
2623 ;;     icicle-define(-file)-command:
2624 ;;       (error (error-message-string...)) -> (error "%s" (error-message-string...)).
2625 ;; 2006/05/16 dadams
2626 ;;     icicle-define(-file)-command: Treat cases where user wiped out orig-buff or orig-window.
2627 ;; 2006/03/31 dadams
2628 ;;     icicle-define(-file)-command: Wrap action fn in unwind-protect to select minibuf frame.
2629 ;; 2006/03/11 dadams
2630 ;;     icicle-define-file-command: Expand file in directory of icicle-last-input.
2631 ;; 2006/03/08 dadams
2632 ;;     icicle-define(-file)-command: Bug fix (thx to TobyCubitt):
2633 ;;       Make sure icicle-candidate-action-fn runs FUNCTION in original buffer and window.
2634 ;; 2006/03/07 dadams
2635 ;;     icicle-define(-file)-command: Mention in doc string that BINDINGS are not in effect
2636 ;;       within icicle-candidate-action-fn.
2637  
2638 ;;;(@* "CHANGE LOG FOR `icicles-mcmd.el'")
2639 ;;
2640 ;; 2011/09/09 dadams
2641 ;;     icicle-switch-to-Completions-buf:
2642 ;;       Do not set icicle-current-input to minibuffer content.  Use that content sans dir, locally.
2643 ;;       If icicle-candidate-nb is defined, use it: just call icicle-move-to-next-completion.
2644 ;;     icicle-insert-completion:
2645 ;;       Set icicle-last-completion-candidate to COMPLETION.
2646 ;;       Set icicle-candidate-nb to icicle-nb-of-cand-at-Completions-pos (point).
2647 ;;       Use icicle-insert-cand-in-minibuffer COMPLETION, not just insert of directory + COMPLETION.
2648 ;;       Set icicle-last-input to icicle-current-input.  Set icicle-cycling-p to t.
2649 ;;       Call icicle-show-help-in-mode-line.
2650 ;; 2011/09/07 dadams
2651 ;;     icicle-erase-minibuffer-or-history-element, icicle-prefix-complete-1,
2652 ;;       icicle-apropos-complete(-1|-no-display), icicle-all-candidates-action-1, icicle-describe-file,
2653 ;;       icicle-apply-to-saved-candidate, icicle-narrow-candidates(-with-predicate): 
2654 ;;         Use icicle-condition-case-no-debug instead of condition-case.  Thx to Michael Heerdegen.
2655 ;; 2011/09/06 dadams
2656 ;;     Added: icicle-resolve-file-name.
2657 ;;     icicle-minibuffer-help: Call help-setup-xref, for back/forward buttons.
2658 ;; 2011/09/05 dadams
2659 ;;     Added: icicle-dispatch-C-x., icicle-toggle-hiding-non-matching-lines.
2660 ;;     icicle-help-string-completion: Added hiding no-match lines.  Use icicle-dispatch-C-x..
2661 ;; 2011/08/30 dadams
2662 ;;     icicle-backward-delete-char-untabify, icicle-delete(-backward)-char:
2663 ;;       Put delete-selection prop, so region is deleted.
2664 ;; 2011/08/26 dadams
2665 ;;     Make sure to pass format string as first arg to calls to functions error and message.
2666 ;;     icicle-candidate-set-save-1: Use %s, not %S, in error format string.
2667 ;; 2011/08/19 dadams
2668 ;;     Fix C-u in minibuffer for Emacs 24:
2669 ;;       Don't bother to define icicle-ensure-overriding-map-is-bound for Emacs 24+.
2670 ;;       icicle-(universal|digit|negative)-argument:
2671 ;;         Use save&set-overriding-map, not icicle-ensure-*, for Emacs 24.
2672 ;; 2011/08/15 dadams
2673 ;;     icicle-candidate-set-complement:
2674 ;;       Apply icicle-must-pass-after-match-predicate to correct the initial domain subtracting from.
2675 ;;       Use icicle-all-completions instead of its definition inline.
2676 ;; 2011/08/13 dadams
2677 ;;     Added: icicle-toggle-search-complementing-domain, toggle-icicle-search-complementing-domain.
2678 ;;     icicle-insert-string-from-variable: Completion candidates now include all string-valued vars.
2679 ;; 2011/08/12 dadams
2680 ;;     Added: icicle-add/remove-tags-and-refresh, icicle-(un)bind-file-candidate-keys.
2681 ;; 2011/08/07 dadams
2682 ;;     icicle-help-on-candidate: For icicle-candidate-help-fn case: icicle-transform-multi-completion.
2683 ;; 2011/07/27 dadams
2684 ;;     Use icicle-completions-format everywhere, not icicle-completions-format-internal (removed).
2685 ;; 2011/07/21 dadams
2686 ;;     Renamed: icicle-nb-of-candidate-in-Completions to icicle-nb-of-cand-at-Completions-pos.
2687 ;; 2011/07/06 dadams
2688 ;;     Applied renaming of icicle-Completions-frame-at-right-flag to icicle-move-Completions-frame.
2689 ;;     icicle-raise-Completions-frame: Handle left value of icicle-move-Completions-frame also.
2690 ;; 2011/06/26 dadams
2691 ;;     icicle-minibuffer-help: Use insert, not princ, with icicle-help-string-completion.
2692 ;;     icicle-minibuffer-help, icicle-help-string-completion:
2693 ;;       Use help-commands-to-key-buttons, not substitute-command-keys, if available.
2694 ;;     Soft-require help-fns+.el for help-commands-to-key-buttons.
2695 ;; 2011/06/03 dadams
2696 ;;     icicle-next-candidate-per-mode:
2697 ;;       Set this-command according to direction, per NTH.  If NTH is nil set it to 1.  For Icomplete+.
2698 ;;     Replace icicle-help-in-mode-line-flag by icicle-help-in-mode-line-delay everywhere.
2699 ;; 2011/05/22 dadams
2700 ;;     Added defvars for free vars to quiet byte compiler.
2701 ;; 2011/05/10 dadams
2702 ;;     icicle-toggle-ignoring-comments: Toggle also ignore-comments-flag from thing-cmds.el.
2703 ;; 2011/05/07 dadams
2704 ;;     Added: icicle-toggle-ignoring-comments.  Bound to C-M-;.
2705 ;;     Changed key for icicle-regexp-quote-input from C-M-; to M-% everywhere.
2706 ;; 2011/05/04 dadams
2707 ;;     icicle-transform-sole-candidate: Do nothing if for some reason icicle-current-input is nil.
2708 ;; 2011/05/03 dadams
2709 ;;     Added: icicle-plus-saved-sort, icicle-toggle-highlight-saved-candidates.
2710 ;;     icicle-help-string-completion: Mention icicle-toggle-highlight-saved-candidates.
2711 ;; 2011/04/29 dadams
2712 ;;     icicle-help-string-completion: Corrected current values shown for sort comparers.
2713 ;; 2011/04/25 dadams
2714 ;;     icicle-describe-file: Sync'd with help-fns+.el - include autofile bookmark info.
2715 ;;     icicle-help-on-candidate(-symbol): Add current-prefix-arg to call to icicle-describe-file.
2716 ;; 2011/04/02 dadams
2717 ;;     icicle-search-define-replacement: Use (new) icicle-scan-fn-or-regexp, not scan-fn-or-regexp.
2718 ;; 2011/03/29 dadams
2719 ;;     Added: icicle-scroll-(back|for)ward.
2720 ;;     Renamed:  icicle-scroll-Completions(-up) to icicle-scroll-Completions-(back|for)ward.
2721 ;;     orig-buf(f) -> icicle-orig-buff.
2722 ;;     icicle-help-on-candidate: Removed boundp condition for icicle-completing-keys-p.
2723 ;;     Applied renaming: icicle-scroll-Completions-backward-p to icicle-scroll-Completions-reverse-p.
2724 ;; 2011/03/20 dadams
2725 ;;     icicle-help-on-candidate-symbol: Don't bind help-xref-following.  Thx to Michael Heerdegen.
2726 ;; 2011/03/17 dadams
2727 ;;     icicle-candidate-set-complement:
2728 ;;       Added condition-case: Emacs 23.2+ all-completions has no 4th arg.
2729 ;;     icicle-delete-backward-char-dots, icicle-replace-input-w-parent-dir:
2730 ;;       Use delete-char, not delete-backward-char (Emacs 23.2+ changed it to interactive only).
2731 ;;     Added soft require of filesets.el when byte-compile.
2732 ;; 2011/03/15 dadams
2733 ;;     icicle-describe-file: Added thumbnails for image files.
2734 ;; 2011/03/04 dadams
2735 ;;     icicle-remove-cand-from-lists, icicle-narrow-candidates-with-predicate:
2736 ;;       Corrected code for updating the predicate.
2737 ;;       Test using emacs version, not boundp of read-file-name-predicate (since Icicles binds it now).
2738 ;; 2011/03/02 dadams
2739 ;;     Added: icicle-all-exif-data.
2740 ;;     icicle-describe-file: Show all EXIF data, using icicle-all-exif-data.
2741 ;; 2011/02/26 dadams
2742 ;;     Added: icicle-Completions-popup-choice(-1), icicle-substitute-keymap-vars.
2743 ;;     icicle-Completions-mouse-3-menu:
2744 ;;       Rewrote to use option icicle-Completions-mouse-3-menu-entries instead of hard-coding menus.
2745 ;;     icicle-candidate-set-define (cosmetic): Use when, not if, to raise error.
2746 ;;     icicle-candidate-set-(difference|union|intersection|complement), : Added start-progress message.
2747 ;; 2011/02/23 dadams
2748 ;;     icicle-help-string-completion, icicle-Completions-mouse-3-menu:
2749 ;;       Add icicle-cycle-image-file-thumbnail.
2750 ;;     icicle-Completions-mouse-3-menu: Handle prefix args (change menu items to reflect).
2751 ;; 2011/02/22 dadams
2752 ;;     Added: icicle-cycle-image-file-thumbnail.
2753 ;;     icicle-describe-file: Show also EXIF data for an image file.
2754 ;;     icicle-remove-Completions-window:
2755 ;;       No-op if Completions is selected or minibuf is selected and Completions was last selected.
2756 ;; 2011/02/20 dadams
2757 ;;     icicle-history: If history is command-history, convert its entries to strings for completion.
2758 ;;     icicle-history, icicle-keep-only-past-inputs: Clarify doc: current completion mode is kept.
2759 ;; 2011/01/20 dadams
2760 ;;     icicle-read+insert-file-name: Bind icicle-must-pass-after-match-predicate to nil.
2761 ;;     icicle-insert-string-at-point:
2762 ;;       A numeric prefix arg when use ALTERNATIVES means evaluate grabbed sexp and insert the value.
2763 ;; 2011/01/17 dadams
2764 ;;     icicle-remove-Completions-window: Bury buffer.
2765 ;;     icicle-toggle-highlight-all-current: barf if not in minibuf or Completions.
2766 ;;     icicle-dispatch-C-^: Use icicle-searching-p.
2767 ;; 2011/01/05 dadams
2768 ;;     Added: icicle-sort-by-file-type.
2769 ;; 2010/12/26 dadams
2770 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
2771 ;; 2010/12/18 dadams
2772 ;;     Added more autoload cookies for commands.  Thx to Richard Kim.
2773 ;;       Specify command and file for commands defined by Icicles macros.
2774 ;; 2010/12/17 dadams
2775 ;;     icicle-remove-Completions-window: Added FORCE arg.  Remove if FORCE or interactive.
2776 ;;     icicle-abort-recursive-edit: Call icicle-remove-Completions-window with FORCE arg.
2777 ;; 2010/12/14 dadams
2778 ;;     icicle-retrieve-previous-input:
2779 ;;       Added optional arg ALLOW-EMPTY-P (not used yet in calls).
2780 ;;       Remove "" systematically, unless ALLOW-EMPTY-P.
2781 ;;       Non-interactively, use last-recorded if current try is "" (unless ALLOW-EMPTY-P).
2782 ;;     icicle-toggle-highlight-all-current: Turn off incremental completion while erase minibuffer.
2783 ;;     icicle-insert-input: Apply renaming: icicle-expand-file-name to icicle-expand-file-or-dir-name.
2784 ;; 2010/12/02 dadams
2785 ;;     icicle-retrieve-previous-input: Exclude "" from past-input cycling.
2786 ;; 2010/11/30 dadams
2787 ;;     icicle-mouse-save-then-kill: If soft-require of mouse3.el, then use a simpler definition. 
2788 ;; 2010/11/27 dadams
2789 ;;     icicle-insert-list-join-string, icicle-pp-eval-expression-in-minibuffer:
2790 ;;       Protect with 1on1-fit-minibuffer-frame-flag and soft-require of fit-frame.el.
2791 ;;     icicle-(apropos|prefix)-complete-1: Soft-require of fit-frame.el for 1on1-fit-minibuffer-frame.
2792 ;; 2010/11/23 dadams
2793 ;;     icicle-minibuffer-help:
2794 ;;       Don't switch to minibuf window unless start in minibuf or *Completions*.  Thx to M. Heerdegen.
2795 ;; 2010/11/08 dadams
2796 ;;     icicle-next-TAB-completion-method, icicle-next-S-TAB-completion-method:
2797 ;;       Set the icicle-last-top-level-command property only when set the first temporary method.
2798 ;; 2010/11/07 dadams
2799 ;;     icicle-apply-to-saved-candidate: Do not sit-for if icicle-all-candidates-action.
2800 ;;     Applied renaming of icicle-all-candidates-action-p to icicle-all-candidates-action.
2801 ;; 2010/11/06 dadams
2802 ;;     icicle-apropos-complete-and-narrow: Do not regexp-quote if non-basic prefix completion.
2803 ;;     icicle-next-TAB-completion-method, icicle-next-S-TAB-completion-method:
2804 ;;       Prefix arg now means the new method is only for the current top-level command.
2805 ;;       Put properties on icicle-last-top-level-command to implement this.
2806 ;;     icicle-candidate-set-retrieve-1: Do icicle-apropos-complete-no-display if that was the last one.
2807 ;; 2010/11/05 dadams
2808 ;;     icicle-mouse-save-then-kill: Redefined for Emacs 24 (they changed mouse-save-then-kill).
2809 ;;     icicle-candidate-set-retrieve-1: Call icicle-apropos-complete upon minibuffer setup.
2810 ;; 2010/11/04 dadams
2811 ;;     icicle-nb-of-candidate-in-Completions: Treat nil value the same as horizontal value.
2812 ;; 2010/10/24 dadams
2813 ;;     icicle-insert-string-from-variable, icicle(-mouse)-candidate-read-fn-invoke,
2814 ;;       icicle-narrow-candidates, icicle-save-predicate-to-variable:
2815 ;;         Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
2816 ;; 2010/10/09 dadams
2817 ;;     icicle-minibuffer-help, icicle-help-string-completion, icicle-help-on-candidate (doc string):
2818 ;;       Updated for change toward modal cycling.  Fix for swank bindings and M-_ toggle.
2819 ;;     Applied renaming of icicle-cycling-respects-completion-mode to icicle-default-cycling-mode.
2820 ;;     icicle-toggle-search-replace-whole: Corrected toggle binding in doc string.
2821 ;; 2010/10/08 dadams
2822 ;;     icicle-narrow-candidates: Set icicle-current-completion-mode to apropos.
2823 ;;     icicle-apropos-complete-and-narrow:
2824 ;;       Protect regexp-quote by ensuring non-nil icicle-last-input.  Removed yesterday's change.
2825 ;; 2010/10/07 dadams
2826 ;;     icicle-next-TAB-completion-method:
2827 ;;       If icicle-current-TAB-method is nil, set to first one.  member -> memq.
2828 ;;     Use icicle-current-TAB-method function, not variable, everywhere else.
2829 ;;     icicle-apropos-complete-and-narrow:
2830 ;;       If completion mode is prefix, then prefix-complete first.  Thx to Michael Heerdegen.
2831 ;; 2010/10/06 dadams
2832 ;;     icicle-next-TAB-completion-method:
2833 ;;       Use car of icicle-TAB-completion-methods, not basic, as default.  Thx to Michael Heerdegen.
2834 ;; 2010/10/04 dadams
2835 ;;     directory-sep-char -> ?/ (It was removed from Emacs 24.)
2836 ;; 2010/09/26 dadams
2837 ;;     icicle-regexp-quote-input:
2838 ;;       Handle no mark in minibuffer.  Use end of prompt, not point-min.  Thx to Michael Heerdegen.
2839 ;;     icicle-column-wise-cand-nb: Bound NB (missing let binding).
2840 ;; 2010/06/18 dadams
2841 ;;     icicle-nb-of-candidate-in-Completions(-horiz), icicle-move-to-next-completion:
2842 ;;       Replace icicle-completions-format by icicle-completions-format-internal.
2843 ;;     icicle-scroll-Completions: Do nothing if *Completions* is not displayed.
2844 ;; 2010/06/16 dadams
2845 ;;     Added: icicle-col-wise-cand-nb.
2846 ;;     Renamed icicle-nb-of-candidate-in-Completions to icicle-nb-of-cand-in-Completions-horiz.
2847 ;;     Rewrote icicle-nb-of-candidate-in-Completions to handle vertical format also.
2848 ;;     icicle-candidate-set-save-selected-1:
2849 ;;       After setting BEG to next face chg, if BEG > END then raise error.
2850 ;;       After setting END to previous fact chg, BEG > END then swap.
2851 ;;       After extending, if BEG > END then swap.
2852 ;; 2010/06/14 dadams
2853 ;;     icicle-narrow-candidates: Handle Emacs 23.2+: Use completing-read with read-file-name-internal.
2854 ;;     icicle-search-define-replacement:
2855 ;;       Wrap *-remove-Completions-window in save-selected-window.  Thx to M. Heerdegen.
2856 ;;     icicle-help-on-candidate-symbol: Show combined help for fns, vars, and faces (Emacs 22+).
2857 ;; 2010/06/11 dadams
2858 ;;     Added: icicle-make-directory.
2859 ;;     icicle-read+insert-file-name: Bind icicle-make-directory to C-c +.
2860 ;; 2010/06/08 dadams
2861 ;;     icicle-doremi-increment-max-candidates+: Plain C-u resets icicle-max-candidates to nil.
2862 ;; 2010/06/07 dadams
2863 ;;     icicle-exit-minibuffer: Do not fiddle with faces if not in minibuffer.  Thx to M. Heerdegen.
2864 ;;     icicle-prefix-complete-1:
2865 ;;       Sole completion case: Move removal of *Completions* before the top-level throw.
2866 ;; 2010/06/04 dadams
2867 ;;     Added: icicle-doremi-increment-max-candidates+.
2868 ;;     Renamed by adding +: icicle-doremi-increment-swank-(timeout|prefix-length).
2869 ;;     icicle-help-string-completion: Mention missing doremi toggle keys.
2870 ;;     icicle-doremi-zoom-Completions+: Show *Completions* if not shown.
2871 ;; 2010/05/15 dadams
2872 ;;     icicle-all-candidates-action-1: Bind *-minibuffer-message-ok-p, *-help-in-mode-line-flag to nil.
2873 ;; 2010/05/09 dadams
2874 ;;     Added: icicle-dispatch-M-_.
2875 ;;     Removed: icicle-dispatch-C-comma.
2876 ;;     icicle-help-string-completion:
2877 ;;       Removed extra arg to format (icicle-key-descriptions-use-<>-flag).  Corrected arg order.
2878 ;;       Updated to reflect binding changes.
2879 ;;     icicle-toggle-highlight-all-current: Focus to minibuffer before show msg.
2880 ;; 2010/05/04 dadams
2881 ;;     icicle-change-sort-order: Use save-selected-window.  Thx to Michael Heerdegen.
2882 ;;     icicle-apply-to-saved-candidate:
2883 ;;       Only call sit-for if current-message.  Added TYPE arg.  Thx to Michael H.
2884 ;; 2010/05/03 dadams
2885 ;;     icicle-toggle-remote-file-testing: Updated for Emacs 23.2+  Thx to Michael Albinus.
2886 ;; 2010/04/30 dadams
2887 ;;     icicle-(apropos|prefix)-complete-1: Run icicle-no-match-hook when no candidates.
2888 ;; 2010/04/28 dadams
2889 ;;     icicle-remove-cand-from-lists: Fix pred a la icicle-mctize-all.  Thx to M. Heerdegen.
2890 ;; 2010/04/27 dadams
2891 ;;     icicle-apply-to-saved-candidate: Added sit-for for non-C-u case, to see any msg displayed.
2892 ;;     icicle-help-on-candidate: Test value, not just boundp, of icicle-completing-keys-p.
2893 ;; 2010/04/26 dadams
2894 ;;     icicle-toggle-highlight-all-current:
2895 ;;       Save/restore cand nb.  Re-complete, rehighlight.  Go to current cand only if it is defined.
2896 ;; 2010/04/21 dadams
2897 ;;     Added: icicle-sit-for (Emacs 23+), so user input interrupts sit-for after C-u in minibuffer.
2898 ;; 2010/04/20 dadams
2899 ;;     Added: icicle-sort-by-directories-first.
2900 ;;     icicle-nb-of-candidate-in-Completions:
2901 ;;       Bind icicle-completions-format to nil (for calls to *-move-to-next-*).  Thx to M. Heerdegen.
2902 ;; 2010/04/13 dadams
2903 ;;     icicle-(apropos|prefix)-complete-1: Fixed recent file-name completion bugs.
2904 ;;       When icicle-whole-candidate-as-text-prop-p is t and icicle-expand-input-to-common-match-flag
2905 ;;         is nil, expand the input, unless it is a directory.
2906 ;;       Expand file-name input to the common match for the current candidate.
2907 ;; 2010/04/11 dadams
2908 ;;     icicle-(apropos|prefix)-complete-1: Fix last fix:
2909 ;;       Put whole-cand prop on sole candidate only if not a dir, and use icicle-expanded-common-match.
2910 ;; 2010/04/09 dadams
2911 ;;     icicle-(apropos|prefix)-complete-1: When sole candidate, set icicle-current-input to it.
2912 ;;       Needed, in order to get icicle-whole-candidate property when
2913 ;;       icicle-expand-input-to-common-match-flag is nil.  Thx to Michael Heerdegen.
2914 ;; 2010/03/13 dadams
2915 ;;     Added: icicle-toggle-show-multi-completion.
2916 ;; 2010/03/03 dadams
2917 ;;     Applied renamings: icicle-sort-function to icicle-sort-comparer
2918 ;;                        icicle-sort-functions-alist to icicle-sort-orders-alist,
2919 ;;                        icicle-alternative-sort-function to icicle-alternative-sort-comparer,
2920 ;;                        icicle-last-sort-function to icicle-last-sort-comparer.
2921 ;; 2010/03/02 dadams
2922 ;;     icicle-remove-Completions-window: Do nothing unless *Completions* is shown.
2923 ;;     icicle-delete-windows-on: Do nothing unless buffer is visible.
2924 ;;                               Do not delete frame if it is the only one.
2925 ;; 2010/01/12 dadams
2926 ;;     icicle-mouse-choose-completion, icicle-insert-string-at-point,
2927 ;;       icicle-mouse-candidate-action-1, icicle-mouse-remove-candidate,
2928 ;;       icicle-mouse-candidate-read-fn-invoke, icicle-Completions-mouse-3-menu,
2929 ;;       icicle-mouse-save/unsave-candidate:
2930 ;;         set-buffer -> with-current-buffer.
2931 ;;     icicle-mouse-candidate-read-fn-invoke, icicle-Completions-mouse-3-menu,
2932 ;;       icicle-mouse-save/unsave-candidate:
2933 ;;         Removed unused local var BUFFER.
2934 ;;     icicle-mouse-choose-completion: Removed unused local var ORIG-BUFFER.
2935 ;; 2009/12/21 dadams
2936 ;;     icicle-narrow-candidates:
2937 ;;       Add fn to minibuffer-setup-hook to make the reference buffer be the new minibuffer.
2938 ;;     fset -> defalias.
2939 ;; 2009/12/13 dadams
2940 ;;     icicle-change-sort-order: Add REVERSED to msg when reversed.
2941 ;; 2009/11/27 dadams
2942 ;;     Added: icicle-doremi-increment-swank-(prefix-length|timeout).
2943 ;;     *-next-TAB-completion-method, *-prefix-complete-1: Handle swank completions too.
2944 ;;     *-next-TAB-completion-method: Bind icicle-doremi-increment-swank-(prefix-length|timeout).
2945 ;; 2009/11/26 dadams
2946 ;;     icicle-next-TAB-completion-method: Do not set icicle-inhibit-sort-p to t for fuzzy.
2947 ;; 2009/11/25 dadams
2948 ;;     Added: icicle-completions-format, icicle-row-wise-cand-nb.
2949 ;;     icicle-move-to-next-completion: Handle completions laid out vertically.
2950 ;; 2009/11/07 dadams
2951 ;;     Renamed Icicles doremi cmds (added +).  Applied other doremi cmd renamings (added +).
2952 ;; 2009/10/25 dadams
2953 ;;     icicle-prefix-complete-1: When sole cand, use the candidate, but without any dir.
2954 ;;     Renamed: icicle-next-apropos-match-function to icicle-next-S-TAB-completion-method,
2955 ;;              icicle-toggle-fuzzy-completion to icicle-next-TAB-completion-method (rewrote).
2956 ;;     icicle-(prefix|apropos)-complete-1: Updated no/sole msgs per new completion methods.
2957 ;;     icicle-Completions-mouse-3-menu: Updated with the new command names.
2958 ;;     Updated icicle-help-string-completion.
2959 ;; 2009/10/24 dadams
2960 ;;     icicle-(apropos|prefix)-complete-1:
2961 ;;       Removed code treating empty dir via *-any-*-p and ("").
2962 ;;       When only one candidate, set *-last-completion-candidate to:
2963 ;;         If file-name completion:
2964 ;;           If empty input, the input; if dir candidate, input + /; else the sole candidate.
2965 ;;         Else the sole candidate.
2966 ;; 2009/10/22 dadams
2967 ;;     icicle-insert-input, icicle-candidate-action-1, icicle-keep-only-past-inputs,
2968 ;;       icicle-apropos-complete-and-(narrow|widen):
2969 ;;         Use icicle-file-name-directory, not file-name-directory.
2970 ;; 2009/10/21 dadams
2971 ;;     icicle-prefix-complete-1:
2972 ;;       For empty dir we use "" as pseudo-cand.  Ensure not "" when later test for / last char.
2973 ;; 2009/10/12 dadams
2974 ;;     Added: icicle-input-is-a-completion-p.
2975 ;;     icicle-minibuffer-complete-and-exit, icicle-input-is-a-completion-p:
2976 ;;       Use icicle-input-is-a-completion-p.
2977 ;;     icicle-prefix-complete-1:
2978 ;;       For file-name input: Set, and use, current input without substituting env vars.
2979 ;;                            When sole candidate ends in /, add a / to current input also.
2980 ;; 2009/09/26 dadams
2981 ;;     icicle-narrow-candidates(-with-predicate): Bind icicle-progressive-completing-p to t.
2982 ;; 2009/09/25 dadams
2983 ;;     icicle-prefix-complete-1, icicle-transform-sole-candidate:
2984 ;;       Use icicle-current-input, not (car icicle-completion-candidates).
2985 ;;       Don't set icicle-current-input to (car icicle-completion-candidates) if no-catch.
2986 ;; 2009/09/12 dadams
2987 ;;     icicle-delete-candidate-object: Message if no candidates, in non-ALLP case also.
2988 ;;     icicle-delete-candidate-object-1: Bind icicle-completion-candidates to save & restore it.
2989 ;;     icicle-candidate-action-1, icicle-remove-candidate-display-others,
2990 ;;       icicle-delete-candidate-object, icicle-help-on-candidate,
2991 ;;       icicle-candidate-read-fn-invoke:
2992 ;;         Bind icicle-help-in-mode-line-flag to nil, to avoid help-display delay.
2993 ;;     icicle-update-and-next: Do nothing if user hit another key and there are more candidates.
2994 ;; 2009/09/05 dadams
2995 ;;     icicle-narrow-candidates: Don't raise an error if no candidates.  E.g. C-~.
2996 ;;     Use backward and forward as the values of icicle-cycling-command prop for nav commands.
2997 ;;     Apply renaming of icicle-acting-on-next/prev (removed -p).
2998 ;;     icicle-successive-action: Bind it to value of icicle-cycling-command (nav direction).
2999 ;;     icicle-all-candidates-list-alt-action: Raise error if null icicle-completion-candidates.
3000 ;;     icicle-search-define-replacement: Prevent immediate incremental completion kicking in.
3001 ;;     icicle-(widen|narrow)-candidates(-with-predicate):
3002 ;;       Use literal text for (S-)TAB in error message, to avoid S-iso-*.
3003 ;; 2009/09/02 dadams
3004 ;;     icicle-(prefix|apropos)-complete-1, icicle-narrow-candidates(-with-predicate):
3005 ;;       Impose icicle-top-level-when-sole-completion-delay when *-flag is non-nil.
3006 ;; 2009/08/27 dadams
3007 ;;     icicle-goto/kill-failed-input: Do nothing if the overlay is nowhere.
3008 ;;     icicle-mouse-yank-secondary: If yank-secondary is defined, then pass prefix arg also.
3009 ;; 2009/08/23 dadams
3010 ;;     icicle-narrow-candidates-with-predicate: Added optional arg PREDICATE.
3011 ;; 2009/08/20 dadams
3012 ;;     icicle-successive-action: Don't call icicle-show-help-in-mode-line unless string arg.
3013 ;; 2009/08/11 dadams
3014 ;;     icicle-all-candidates-action-1: Added ALTP arg.  Use in call to *-candidate-action-1.
3015 ;;     icicle-all-candidates(-list)-alt-action: Use new ALTP arg in call with *-alt-action-fn.
3016 ;;     icicle-successive-action: Bind icicle-acting-on-next/prev-p around call to action fn.
3017 ;;     icicle(-mouse)-candidate-action-1:
3018 ;;       No longer bind icicle-* to selves.  You must do it in the action fn if you need it.
3019 ;;     icicle-help-string-completion: C-| -> M-| for Replace all.
3020 ;;     icicle-change-history-variable: Protect with boundp: *-populate-interactive-history-flag.
3021 ;;     Wrap require of icicles-var.el in eval-and-compile.
3022 ;; 2009/08/01 dadams
3023 ;;     icicle-change-history-variable:
3024 ;;       Add icicle-interactive-history to choices only if *-populate-interactive-history-flag.
3025 ;; 2009/07/29 dadams
3026 ;;     icicle-other-history:
3027 ;;       Call icicle-use-interactive-command-history only if Emacs 23+ and non-nil history.
3028 ;; 2009/07/27 dadams
3029 ;;     icicle-help-string-completion: Mention icicle-other-history.
3030 ;; 2009/07/26 dadams
3031 ;;     Added: icicle-change-history-variable, icicle-other-history,
3032 ;;            icicle-use-interactive-command-history.
3033 ;;     icicle-history:
3034 ;;       Use icicle-cycling-p instead of get icicle-cycling-command, to avoid completion cmds.
3035 ;; 2009/07/02 dadams
3036 ;;     icicle-candidate-set-save-1: If icicle-get-alist-candidate-function returns nil, use CAND
3037 ;; 2009/06/26 dadams
3038 ;;     icicle-doremi-zoom-Completions, icicle-doremi-candidate-width-factor:
3039 ;;       Use new key-list options, doremi-...-keys (not -key).  You will need the latest DoReMi.
3040 ;; 2009/06/18 dadams
3041 ;;     doremi-buffer-font-size: Changed increment (doremi-*-key) bindings to =, -, M-=, M-i.
3042 ;;     icicle-help-string-completion: Added icicle-doremi-zoom-Completions.
3043 ;; 2009/06/17 dadams
3044 ;;     Added: icicle-doremi-zoom-Completions.
3045 ;;     icicle-doremi-candidate-width-factor: If no candidates, show message; don't use colors.
3046 ;; 2009/06/07 dadams
3047 ;;     icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
3048 ;; 2009/05/27 dadams
3049 ;;     icicle-minibuffer-complete-and-exit:
3050 ;;       Don't exit if any completion is done, unless icicle-require-match-p is t.
3051 ;; 2009/05/22 dadams
3052 ;;     Require icicles-mac.el if load-library doesn't find it.
3053 ;; 2009/05/18 dadams
3054 ;;     icicle-candidate-set-save-selected-1: If empty inactive region and MOREP, raise error.
3055 ;; 2009/05/17 dadams
3056 ;;     icicle-toggle-C-for-actions: Use icicle-toggle-icicle-mode-twice, not icy-mode calls.
3057 ;; 2009/05/15 dadams
3058 ;;     icicle-(prefix|apropos)-complete-1: Fit minibuffer frame after inserting current input.
3059 ;; 2009/05/11 dadams
3060 ;;     icicle-upcase-if-ignore-case, icicle-next-apropos-match-function: Use icicle-upcase.
3061 ;; 2009/05/09 dadams
3062 ;;     Added: icicle-looking(-back)-at-anychar-regexp-p, icicle-(forward|backward)-char-dots,
3063 ;;            icicle-backward-delete-char-untabify-dots, icicle-delete-backward-char-dots,
3064 ;;            icicle-delete-char-dots, icicle-transpose-chars-dots. icicle-insert-dot(-command),
3065 ;;            icicle-anychar-regexp, icicle-toggle-dot, icicle-convert-dots.
3066 ;;     icicle-backward-delete-char-untabify, icicle-delete-backward-char, icicle-delete-char,
3067 ;;       icicle-transpose-chars: Handle dots.
3068 ;;     icicle-prefix-complete: Convert dots and set icicle-dot-string-internal.
3069 ;;     icicle-goto/kill-failed-input: Use overlay.
3070 ;;     icicle-help-string-completion, icicle-Completions-mouse-3-menu:
3071 ;;       Added dot toggling.  Changed binding for icicle-toggle-hiding-common-match.
3072 ;; 2009/05/08 dadams
3073 ;;     icicle-(prefix|apropos)-complete-1: Fixed typo introduced 2009-05-05.
3074 ;; 2009/05/07 dadams
3075 ;;     icicle-retrieve-(previous|last)-input: Call icicle-place-cursor with optional second arg.
3076 ;; 2009/05/05 dadams
3077 ;;     toggle-icicle-case-sensitivity: Treat read-buffer-completion-ignore-case also (Emacs 23).
3078 ;; 2009/05/03 dadams
3079 ;;     icicle-(prefix|apropos)-complete-1:
3080 ;;       Don't stop cycling if last command was an action (treat as if it was a cycling cmd).
3081 ;;     icicle-all-candidates(-list)(-alt)-action, icicle(-mouse)-candidate(-alt)-action,
3082 ;;       icicle-delete-candidate-object, icicle(-mouse)-help-on-candidate:
3083 ;;         Put property icicle-action-command.
3084 ;; 2009/05/02 dadams
3085 ;;     icicle-candidate-alt-action: Respect icicle-alternative-actions-alist.
3086 ;;     icicle-minibuffer-help: Corrected wrt alt action-for-all keys.
3087 ;; 2009/04/30 dadams
3088 ;;     icicle-next-(prefix|apropos)-candidate, icicle-(prefix|apropos)-complete-1,
3089 ;;       icicle-successive-action:
3090 ;;         Reset icicle-next-(apropos|prefix)-complete-cycles-p to nil, as appropriate.
3091 ;;     icicle-prefix-complete-1: Show mode-line help only at very end, and even after cycling.
3092 ;; 2009/04/29 dadams
3093 ;;     icicle-apply-to-saved-candidate:
3094 ;;       Pass no-error-no-msg to icicle-get-alist-candidate function.
3095 ;;       If icicle-get-alist-candidate finds no function, get function from car of entry.
3096 ;;     icicle-apropos-complete-and-(narrow|widen): Handle icicle-apropos-complete-no-display.
3097 ;; 2009/04/27 dadams
3098 ;;     icicle-(prefix|apropos)-complete-1:
3099 ;;       Set icicle-last-completion-command to icicle-*-complete-no-display if arg NO-DISPLAY.
3100 ;;     icicle-history: If icicle-last-completion-command is nil, call icicle-apropos-complete.
3101 ;; 2009/04/26 dadams
3102 ;;     Wrap load of icicles-mac in eval-when-compile, and use load-library, not require.
3103 ;;     Require icicles-opt before icicles-var (not important).
3104 ;; 2009/04/20 dadams
3105 ;;     Added: icicle-(previous|next)-candidate-per-mode-alt-action.
3106 ;; 2009/03/19 dadams
3107 ;;     mouse-choose-completion: Don't fset unless standard function is defined.
3108 ;;     Use when/unless instead of or for fset's. (cosmetic)
3109 ;; 2009/04/15 dadams
3110 ;;     Added: icicle-(next|previous)-candidate-per-mode-help.
3111 ;;     icicle-successive-action: Set mode only if known.  Leave it alone for per-mode functions.
3112 ;;     icicle-(apropos|prefix)-complete-1:
3113 ;;       Don't show help in mode-line when icicle-top-level-when-sole-completion-flag = t.
3114 ;; 2009/04/12 dadams
3115 ;;     icicle-successive-action: Inhibit help in mode line until after action is finished.
3116 ;; 2009/04/06 dadams
3117 ;;     icicle-(prefix|apropos)-complete-1, icicle-candidate-set-retrieve-1,
3118 ;;       icicle-keep-only-past-inputs:
3119 ;;         Call icicle-show-help-in-mode-line for completed input.
3120 ;;     icicle-(prefix|apropos)-complete-1:
3121 ;;       Don't highlight complete input or show help if icicle-*-complete-and-exit-p is bound.
3122 ;; 2009/04/04 dadams
3123 ;;     Renamed: icicle-sort-by-last-use to icicle-sort-by-last-use-as-input.
3124 ;;     icicle-change-sort-order: Purge any nil entries from icicle-sort-functions-alist.
3125 ;;     icicle-current-sort-functions: Respect icicle-buffer-name-sort-predicate.
3126 ;;     icicle-reverse-sort-order: Echo icicle-current-sort-order.
3127 ;; 2009/03/16 dadams
3128 ;;     icicle-candidate-action-1: Respect icicle-use-candidates-only-once-alt-p.
3129 ;; 2009/03/10 dadams
3130 ;;     icicle-remove-Completions-window: Wrap with condition-case, to ignore "Attempt..." error.
3131 ;; 2009/03/01 dadams
3132 ;;     Added: icicle-completing-read+insert, icicle-read+insert-file-name.
3133 ;; 2009/02/28 dadams
3134 ;;     No soft require of subr-21.el now, since provide replace-regexp-in-string for Emacs 20.
3135 ;; 2009/02/23 dadams
3136 ;;     icicle-mouse-choose-completion, icicle-(prefix|apropos)-complete-1,
3137 ;;       icicle-insert-completion, icicle-mouse-candidate-action-1, icicle-update-and-next,
3138 ;;       icicle-narrow-candidates(-with-predicate), icicle-keep-only-past-inputs,
3139 ;;       icicle-insert-input:
3140 ;;         Protect dir insertion with icicle-extra-candidates-dir-insert-p.
3141 ;;     icicle-choose-completion: Use icicle-extra-candidates-dir-insert-p to reset base-size=0.
3142 ;; 2009/02/20 dadams
3143 ;;     Added: icicle-sort-extra-candidates-first.
3144 ;;     icicle-candidate-action-1: Use function icicle-require-match-p, not variable.
3145 ;; 2009/02/17 dadams
3146 ;;     icicle-exit-minibuffer: Don't put nil face property on input.  Thx to Daniel Clemente.
3147 ;; 2009/02/04 dadams
3148 ;;     icicle-(prefix|apropos)-complete-1:
3149 ;;       Do not set icicle-current-input to icicle-last-input unless also icicle-cycling-p.
3150 ;;       Do not cycle unless also was already cycling or icicle-next-*-complete-cycles-p.
3151 ;;       Set icicle-next-*-complete-cycles-p, at end, to save whether input was completed some.
3152 ;; 2009/02/01 dadams
3153 ;;     Added: icicle-up-directory, icicle-replace-input-w-parent-dir.
3154 ;; 2009/01/24 dadams
3155 ;;     icicle-narrow-candidates(-with-predicate):
3156 ;;       Bind icicle-apropos-complete-match-fn to icicle-last-apropos-complete-match-fn.
3157 ;;     icicle-next-apropos-match-function: Save new value as *-last-apropos-complete-match-fn.
3158 ;; 2009/01/18 dadams
3159 ;;     icicle-(prefix|apropos)-complete-1:
3160 ;;       Don't set icicle-current-input to icicle-last-input if icicle-edit-update-p.
3161 ;; 2009/01/17 dadams
3162 ;;     icicle-next-apropos-match-function:
3163 ;;       Add Levenshtein distance in message: (1).
3164 ;;       Don't do icicle-complete-again-update - too slow.
3165 ;; 2009/01/14 dadams
3166 ;;     icicle-remove-cand-from-lists: Treat icicle-remove-dups-if-extras also.
3167 ;; 2009/01/13 dadams
3168 ;;     icicle-delete-windows-on: Delete frame even if it has a minibuffer, if it's not active.
3169 ;; 2008/12/26 dadams
3170 ;;     Added: icicle-widen-candidates, icicle-apropos-complete-and-widen.
3171 ;;       Added icicle-widen-candidates to icicle-Completions-mouse-3-menu.
3172 ;; 2008/12/25 dadams
3173 ;;     icicle-retrieve-previous-input: Corrected logic following cycling.
3174 ;;       Remember whether repeated C-l calls follow cycling: local var was-cycling-p.
3175 ;;       If so, then use current raw input for second C-l.  Otherwise use previous raw input.
3176 ;;       Use icicle-cycling-p instead of testing if this command is a cycling command.
3177 ;;       Handle case of "" raw input, which is never in list of saved raw inputs.
3178 ;;       Restore current raw input after re-completing.
3179 ;;     icicle-(prefix|apropos)-complete-1: Reset icicle-cycling-p (new var) to nil.
3180 ;;     icicle-regexp-quote-input: Reset icicle-expand-input-to-common-match-flag to nil.
3181 ;; 2008/12/22 dadams
3182 ;;     Added: icicle-regexp-quote-input.
3183 ;;       Added it to icicle-help-string-completion, icicle-Completions-mouse-3-menu.
3184 ;; 2008/12/21 dadams
3185 ;;     icicle-minibuffer-complete-and-exit:
3186 ;;       Rewrote to fit new Emacs 23 behavior.  Thx to Daniel Clemente.
3187 ;;         Test minibuffer-completion-confirm first, before we auto-complete.
3188 ;;         icicle-last-input -> icicle-current-input (bug fix bc of call to *-no-display).
3189 ;;     icicle-prefix-complete-1: Bind free var word-complete-input.
3190 ;;     icicle-(apropos|prefix)-complete-1: No messages if NO-DISPLAY-P is 'no-msg.
3191 ;; 2008/12/20 dadams
3192 ;;     icicle-(apropos|prefix)-complete-1, icicle-narrow-candidates(-with-predicate):
3193 ;;       Expand file-name choice if thrown to icicle-read-top.
3194 ;; 2008/12/10 dadams
3195 ;;     icicle-(apropos|prefix)-complete-1: Don't pick up icicle-last-input unless also:
3196 ;;         (1) same completion mode, (2) icicle-completion-candidates is not nil.
3197 ;;     icicle-prefix-complete-1: If WORD-P, don't pick up icicle-last-input unless same command.
3198 ;;       Bind minibuffer-message-timeout to 0 during minibuffer-complete-word.
3199 ;;     icicle-apropos-complete-1:
3200 ;;       Typo in last cond clause: prefix -> apropos, in i-apropos-completing-command.
3201 ;; 2008/12/06 dadams
3202 ;;     icicle-prefix-complete-1: Fixes for word completion.
3203 ;;       Don't initialize *-current-input to *-last-input if word-p and icicle-edit-update-p.
3204 ;;       Recompute candidates after word complete also if editing or didn't repeat last command.
3205 ;;       Cycle if last command was not a prefix completion and input doesn't end in `-'.
3206 ;; 2008/12/05 dadams
3207 ;;     Let repeated completion commands cycle.  Thx to Andrey Zhdanov for the suggestion.
3208 ;;       icicle-(apropos| prefix)-complete-1:
3209 ;;         Call icicle-next-candidate, not scroll, when repeated.  Special treatment for word.
3210 ;;       icicle-(apropos|prefix)-complete*:
3211 ;;         Put icicle(-apropos|-prefix)-cycling-command property on command symbols.
3212 ;; 2008/12/02 dadams
3213 ;;     icicle-minibuffer-complete-and-exit:
3214 ;;       Updated for Emacs 23's minibuffer-confirm-exit-commands.
3215 ;; 2008/11/29 dadams
3216 ;;     icicle-prefix-word-complete:
3217 ;;       Redefined to use (new) icicle-prefix-complete-1.
3218 ;;       Put property icicle-completing-command.
3219 ;;     icicle-prefix-complete-1:
3220 ;;       Useful now also for icicle-prefix-word-complete.  Added arg word-p.
3221 ;;     icicle-(prefix|apropos)-complete-1, icicle-switch-to-Completions-buf:
3222 ;;       Test property icicle-prefix-completing-command, not eq cmds.
3223 ;;     icicle-(prefix|apropos)(-word)-complete(-no-display):
3224 ;;       Put property icicle-(prefix|apropos)-completing-command.
3225 ;;     icicle-next-candidate-per-mode: Use case, not cond.
3226 ;;     icicle-end-of-line+: Bind inhibit-field-text-motion, call end-of-line to get past prompt.
3227 ;; 2008/11/18 dadams
3228 ;;     icicle-minibuffer-complete-and-exit: Allow exit if input matches a current candidate.
3229 ;;     icicle-exit-minibuffer: Remove all Icicles minibuffer faces, but only those.
3230 ;; 2008/11/14 dadams
3231 ;;     Added: icicle-toggle-hiding-common-match.  
3232 ;;     icicle-help-string-completion, icicle-Completions-mouse-3-menu: Mention it.
3233 ;; 2008/11/10 dadams
3234 ;;     icicle-minibuffer-complete-and-exit:
3235 ;;       Use icicle-exit-minibuffer, not old-exit-minibuffer, so remove *Completions*.
3236 ;; 2008/11/09 dadams
3237 ;;     icicle-maybe-multi-completion-completing-p, icicle-transform-sole-candidate:
3238 ;;       Don't test icicle-list-join-string (always non-nil).
3239 ;; 2008/11/03 dadams
3240 ;;     icicle-(apropos|prefix)-complete-1: Added message Computing completion candidates...
3241 ;; 2008/11/02 dadams
3242 ;;     icicle-upcase-if-ignore-case: condition-case, to prevent error on bad chars (Emacs 20).
3243 ;; 2008/10/27 dadams
3244 ;;     Added: icicle-upcase-if-ignore-case.
3245 ;;     icicle-minibuffer-complete-and-exit, icicle-(prefix|apropos)-complete-1:
3246 ;;       Use icicle-upcase-if-ignore-case.
3247 ;; 2008/10/24 dadams
3248 ;;     icicle-minibuffer-complete-and-exit: If icicle-candidates-alist, then just filter it.
3249 ;; 2008/10/18 dadams
3250 ;;     Replaced customize-save-variable by funcall icicle-customize-save-variable-function.
3251 ;; 2008/10/14 dadams
3252 ;;     Added: icicle-help-string(-non)-completion.
3253 ;;     icicle-help-string-completion:
3254 ;;       Renamed from icicle-update-help-string in icicles-mode.el.
3255 ;;       Moved common part to icicles-var.el as icicle-general-help-string.
3256 ;;     Renamed: icicle-completion-help to icicle-minibuffer-help.
3257 ;;     icicle-minibuffer-help: If not completing, use icicle-help-string-non-completion.
3258 ;;                             Move Send an Icicles bug report to the bottom.
3259 ;; 2008/10/11 dadams
3260 ;;     icicle-(next|previous)-line: Fixed so it highlights also candidates in first column.
3261 ;;     icicle-kill-failed-input: Made it two-stage.  Renamed to icicle-goto/kill-failed-input.
3262 ;; 2008/10/10 dadams
3263 ;;     Added: icicle-(next|previous)-candidate-per-mode-action.
3264 ;; 2008/10/09 dadams
3265 ;;     Updated icicle-Completions-mouse-3-menu for C-<.
3266 ;; 2008/10/08 dadams
3267 ;;     Added: icicle-candidate-set-retrieve-more, icicle-candidate-set-retrieve-1.
3268 ;;     icicle-candidate-set-retrieve: Use icicle-candidate-set-retrieve-1.
3269 ;;     icicle-insert-string-at-point:
3270 ;;       Use icicle-pre-minibuffer-buffer, not (cadr (buffer-list)).  Thx to Andrey Zhdanov.
3271 ;;     icicle-beginning-of-line+: Don't move into prompt.  Thx to Andrey Zhdanov.
3272 ;; 2008/10/06 dadams
3273 ;;     icicle-self-insert: Do self-insert-command if executing-kbd-macro.  Thx to Tomer Levin.
3274 ;; 2008/10/01 dadams
3275 ;;     icicle-completion-help: Use icicle-update-help-string, not icicle-completion-help-string.
3276 ;; 2008/09/30 dadams
3277 ;;     Renamed icicle-isearch-complete-1 to icicle-isearch-complete-past-string and moved it
3278 ;;       to icicles-fn.el.
3279 ;; 2008/09/20 dadams
3280 ;;     icicle-toggle-ignored-extensions: Append $ to each extension.
3281 ;;     icicle-dispatch-C-.: Use icicle-searching-p as the condition, not *-file-name-input-p.
3282 ;; 2008/09/14 dadams
3283 ;;     icicle-(minibuffer|apropos)-complete-and-exit: Set icicle-last-input to current input.
3284 ;;     icicle-minibuffer-complete-and-exit: Use apropos completion if that's the current mode.
3285 ;; 2008/09/13 dadams
3286 ;;     icicle-candidate-set-save-1: Save to fileset if zero prefix arg.
3287 ;;     icicle-candidate-set-retrieve: Retrieve also from a fileset.
3288 ;;                                    No default value for completing-read.
3289 ;;     Added: icicle-add-file-to-fileset.
3290 ;;     Renamed:
3291 ;;       icicle-candidate-set-save-to-cache-file to icicle-candidate-set-save-persistently,
3292 ;;       icicle-candidate-set-retrieve-from-cache-file to *-candidate-set-retrieve-persistent.
3293 ;;     icicle-candidate-set-save-persistently: Added arg FILESETP.
3294 ;;     icicle-add/update-saved-completion-set: No default value for completing-read.
3295 ;;     icicle-retrieve-candidates-from-set:
3296 ;;       Factored out code as icicle-get-candidates-from-saved-set - use it.  Don't return name.
3297 ;;     Moved to icicles-fn.el: icicle-readable-to-markers.
3298 ;; 2008/09/09 dadams
3299 ;;     icicle-candidate-set-save(-selected-1): Added NO-ERROR-P arg.
3300 ;;     icicle-candidate-set-save-selected: Call *-save-selected-1 with NO-ERROR-P arg.
3301 ;;     icicle-candidate-set-save-1: Raise error if set to save is empty and not NO-ERROR-P.
3302 ;; 2008/09/08 dadams
3303 ;;     icicle-apropos-complete-and-narrow:
3304 ;;       If currently prefix completing, escape current input before apropos completing.
3305 ;; 2008/09/07 dadams
3306 ;;     icicle-minibuffer-complete-and-exit:
3307 ;;       Use *-prefix-complete-no-display and *-display-candidates-in-Completions when needed.
3308 ;; 2008/09/06 dadams
3309 ;;     icicle-minibuffer-complete-and-exit: Rewrote, based on icicle-apropos-complete-and-exit.
3310 ;;     icicle-prefix-complete-1:
3311 ;;       Wrap most of single-candidate case in (boundp 'icicle-prefix-complete-and-exit-p).
3312 ;; 2008/09/04 dadams
3313 ;;     icicle-minibuffer-complete-and-exit: Temporary bug workaround.
3314 ;; 2008/08/31 dadams
3315 ;;     icicle-completion-help, icicle-pp-eval-expression-in-minibuffer,
3316 ;;       icicle-delete-candidate-object-1, icicle-apply-to-saved-candidate,
3317 ;;       icicle-toggle-highlight-all-current:
3318 ;;         Select window before call select-frame-set-input-focus.
3319 ;; 2008/08/29 dadams
3320 ;;     icicle-minibuffer-complete-and-exit: Update icicle-last-input to minibuffer contents.
3321 ;; 2008/08/28 dadams
3322 ;;     icicle-(apropos|prefix)-complete-1, icicle-narrow-candidates(-with-predicate):
3323 ;;       Update minibuffer-history-variable before throw result.
3324 ;;     icicle-help-on-candidate: Renamed alacarte-menu-items-alist to lacarte-menu-items-alist.
3325 ;; 2008/08/27 dadams
3326 ;;     icicle-kill-failed-input: Reverted mistaken change to use start of *Completions* (duh).
3327 ;; 2008/08/25 dadams
3328 ;;     icicle-minibuffer-complete-and-exit: Call icicle-prefix-complete-no-display with no-msg
3329 ;;       arg, instead of binding minibuffer-message-timeout to 0.
3330 ;;     icicle-(apropos|prefix)-complete-no-display: Added optional NO-MSG-P arg.
3331 ;; 2008/08/24 dadams
3332 ;;     icicle-minibuffer-complete-and-exit: Rewrote to not call original Emacs version.
3333 ;;     Use today's renamings from icicles-fn.el.
3334 ;;     icicle-raise-Completions-frame: Don't do anything unless one-window-p and option = t.
3335 ;;     icicle-choose-completion, *-kill-failed-input, *-current-completion-in-Completions:
3336 ;;       Check point wrt candidates start position, not bobp.
3337 ;;     icicle-current-completion-in-Completions:
3338 ;;       "No completion here" error after, not before, we set beg wrt mouse-face change.
3339 ;;     icicle-mouse-candidate-action-1: Call icicle-update-and-next if there are still cands.
3340 ;; 2008/08/21 dadams
3341 ;;     icicle-candidate-set-retrieve: If completing files, remove directory from candidates.
3342 ;; 2008/08/20 dadams
3343 ;;     icicle-mouse-candidate-action-1: Remove mouse-face property from choice.
3344 ;; 2008/08/19 dadams
3345 ;;     icicle-mouse-remove-candidate:
3346 ;;       Set icicle-last-completion-candidate.  Needed for *-remove-candidate-display-others.
3347 ;;     icicle-mouse-candidate-action-1: Removed unused vars: buffer, base-size.
3348 ;;     Added: icicle-delete-candidate-object-1, with explicit CAND arg and NO-DISPLAY-P option.
3349 ;;     icicle-delete-candidate-object: Added optional ALLP arg.
3350 ;;     icicle-delete-current-candidate-object: Added optional CAND arg.
3351 ;;     icicle-update-and-next: Don't try to move to cand in *Completions* if number not known.
3352 ;; 2008/08/18 dadams
3353 ;;     Added: icicle-remove-cand-from-lists, icicle-update-and-next.
3354 ;;     icicle-narrow-candidates-with-predicate: Update predicate correctly, with lexical-let.
3355 ;;     icicle-remove-candidate, icicle-delete(-current)-candidate-object:
3356 ;;       Removed stuff from doc string about removing all that match.
3357 ;;     icicle-delete-candidate-object, icicle-remove-candidate-display-others:
3358 ;;       Use icicle-remove-cand-from-lists (with mctized candidate) and icicle-update-and-next.
3359 ;;     icicle-delete-current-candidate-object: Changed first condition:
3360 ;;       (and icicle-candidates-alist (consp (car val))) to
3361 ;;       (or icicle-whole-candidate-as-text-prop-p icicle-candidates-alist)
3362 ;;     icicle-remove-candidate-display-others:
3363 ;;       Added optional ALLP arg.
3364 ;;       Reinitialize icicle-last-completion-candidate properly (as elsewhere).
3365 ;;     icicle(-mouse)-candidate-action-1: Use ALLP arg for *-remove-candidate-display-others.
3366 ;;     icicle-history: Don't set minibuffer-completion-predicate if it is nil.
3367 ;;     Use renamings from icicles-fn.el:
3368 ;;       icicle-complete-again-update, icicle-remove-if, icicle-put-whole-cand-prop.
3369 ;;     icicle-narrow-candidates: Do not bind icicle-whole-candidate-as-text-prop-p to nil.
3370 ;;     icicle-Completions-mouse-3-menu: Removed icicle-scroll-Completions from menu.
3371 ;; 2008/08/17 dadams
3372 ;;     icicle-narrow-candidates-with-predicate:
3373 ;;       (read-file-name|minibuffer-completion)-predicate: Removed `, in front.
3374 ;;     icicle-scroll-Completions: Added optional arg (for mouse wheel reversal).
3375 ;;     Added: icicle-scroll-Completions-up.
3376 ;; 2008/08/03 dadams
3377 ;;     Added: icicle-all-candidates-list(-alt)-action.
3378 ;;     icicle-all-candidates(-alt)-action:
3379 ;;       Act on saved candidates, if any.  Use list function, if normal is nil.
3380 ;;     icicle-all-candidates-action-1:
3381 ;;       Use icicle-candidate-action-1 (with cand arg (new)), not funcall, to apply fn-var.
3382 ;;       Act on saved candidates, if any.
3383 ;;       Do not call icicle-abort-recursive-edit at the end.
3384 ;;     icicle-candidate-action-1:
3385 ;;       Added optional CAND arg.
3386 ;;       Save stuff before funcall, in case FN-VAR does its own completion.
3387 ;;     icicle-mouse-candidate-action-1: Save stuff before funcall, in case FN-VAR completes.
3388 ;;     icicle-remove-candidate-display-others:
3389 ;;       When no candidates left, just call icicle-abort-recursive-edit.
3390 ;;     icicle-help-on-candidate: Added optional CAND arg.
3391 ;;     Renamed: icicle-candidate-alternative-action-fn to icicle-candidate-alt-action-fn.
3392 ;; 2008/07/27 dadams
3393 ;;     Added: icicle-sort-by-2nd-parts-alphabetically, icicle-maybe-multi-completion-*.
3394 ;;     icicle-current-sort-functions: Treat icicle-multi-completion-sort-predicate property.
3395 ;;     icicle-dispatch-C-comma: Call icicle-change-sort-order interactively (bug fix).
3396 ;;     icicle-reverse-sort-order: Display candidates, possibly in reverse order (bug fix).
3397 ;;     Moved from here to icicles-fn.el: icicle-transform-multi-completion.
3398 ;; 2008/07/16 dadams
3399 ;;     icicle-mouse-choose-completion: No error if minibuffer is not active.
3400 ;;     icicle-completion-help and top-level: Don't require help-mode.el unless Emacs 22+.
3401 ;;     eval-when-compile require's of fit-frame.el, linkd.el.
3402 ;; 2008/06/24 dadams
3403 ;;     icicle-narrow-candidates: Emacs < 22: Set minibuffer-completing-file-name to nil.
3404 ;; 2008/06/21 dadams
3405 ;;     icicle(-mouse)-choose-completion, icicle-current-completion-in-Completions,
3406 ;;       icicle-mouse-candidate-action-1:
3407 ;;         buffer-substring-no-properties -> buffer-substring.
3408 ;;         *NOTE*: THIS REVERSES A FIX made on 2008/02/03.  Dunno why that fix was made.
3409 ;; 2008/06/03 dadams
3410 ;;     Added: icicle-toggle-C-for-actions.
3411 ;;     icicle-Completions-mouse-3-menu: Added icicle-toggle-C-for-actions.
3412 ;; 2008/06/01 dadams
3413 ;;     Added: icicle-current-sort-functions.  Predicate tests various contexts using properties.
3414 ;;     icicle-change-sort-order: Use icicle-current-sort-functions.
3415 ;;     Added new sort order, defining function icicle-sort-special-candidates-first.
3416 ;; 2008/05/27 dadams
3417 ;;     icicle-isearch-complete-1: Use ring symbols, not their values.
3418 ;; 2008/05/25 dadams
3419 ;;     icicle-isearch-complete: Rewrote.  Handle minibuffer search.
3420 ;;     Added: icicle-isearch-complete-1, from stuff in icicle-isearch-complete.
3421 ;;            Treat string case. Allow recursive minibuffers.  Don't use icicle-isearch-resume.
3422 ;;     Removed: icicle-isearch-resume.
3423 ;; 2008/05/22 dadams
3424 ;;     icicle-toggle-case-sensitivity: Added prefix arg and update lighter.
3425 ;; 2008/05/03 dadams
3426 ;;     icicle-history: Bind minibuffer-completing-file-name to nil.
3427 ;; 2008/05/02 dadams
3428 ;;     (put 'icicle(-mouse)-yank-secondary 'delete-selection 'yank)
3429 ;; 2008/04/25 dadams
3430 ;;     Added: icicle-toggle-remote-file-testing.
3431 ;;     icicle-Completions-mouse-3-menu:
3432 ;;       Added icicle-toggle-remote-file-testing (C-^).
3433 ;;       icicle-toggle-ignored-space-prefix is now bound to M-_, not C-^.
3434 ;;     icicle-dispatch-C-^:
3435 ;;       icicle-toggle-remote-file-testing, not icicle-toggle-ignored-space-prefix.
3436 ;; 2008/04/18 dadams
3437 ;;     Renamed icicle-init-value-flag to icicle-default-value.
3438 ;; 2008/04/13 dadams
3439 ;;     icicle-pp-eval-expression-in-minibuffer: Treat prefix arg (added optional arg).
3440 ;;     icicle-apply-to-saved-candidate: Use icicle-pp-eval-expression, not pp-eval-expression.
3441 ;; 2008/04/02 dadams
3442 ;;     icicle-apropos-complete-and-narrow: No longer bind icicle-top-level-when-*-flag to t.
3443 ;; 2008/03/31 dadams
3444 ;;     icicle-apropos-complete-1: Allow for no completion type, for No completion msg.
3445 ;; 2008/03/29 dadams
3446 ;;     icicle-pp-eval-expression-in-minibuffer, icicle-narrow-candidates(-with-predicate):
3447 ;;       Removed binding of icicle-reminder-prompt-flag.
3448 ;; 2008/03/25 dadams
3449 ;;     icicle-(apropos|prefix)-complete-1:
3450 ;;       When not regexp-matching, use substitute-in-file-name on input, to convert \ to /.
3451 ;; 2008/03/23 dadams
3452 ;;     icicle-scroll-Completions: Respect and update icicle-scroll-Completions-backward-p.
3453 ;; 2008/03/19 dadams
3454 ;;     Added: icicle-insert-newline-in-minibuffer.
3455 ;;     Renamed i*-pp-eval-expression to *-in-minibuffer.  Calls new icicle-pp-eval-expression.
3456 ;; 2008/03/12 dadams
3457 ;;     icicle-completion-help: Add buttons for Commentary (icicles-doc*.el).
3458 ;; 2008/03/11 dadams
3459 ;;     icicle-add/update-saved-completion-set: Clarify error msg for unwritable file.
3460 ;; 2008/03/07 dadams
3461 ;;     Renamed icicle-abort-minibuffer-input to icicle-abort-recursive-edit.
3462 ;; 2008/03/02 dadams
3463 ;;     icicle-describe-file:
3464 ;;       Use default dir if arg is nil.  Error if no readable file. Removed save-excursion.
3465 ;; 2008/02/24 dadams
3466 ;;     icicle-apropos-complete-1: Use icicle-apropos-match-fns-alist lookup for message.
3467 ;;     icicle-Completions-mouse-3-menu: Added item for icicle-next-apropos-match-function.
3468 ;;     Added: icicle-next-apropos-match-function.
3469 ;; 2008/02/22 dadams
3470 ;;     icicle-retrieve-candidates-from-set:
3471 ;;       Like logic for alist in icicle-completing-read:
3472 ;;         Do icicle-readable-to-markers, then copy car and replace cdr with whole candidate.
3473 ;;       Removed RAW arg from call to find-file-noselect.
3474 ;;       Wrap Lisp read in condition-case.
3475 ;;     Renamed, added un: icicle(-mouse)-save-candidate to icicle(-mouse)-save/unsave-candidate.
3476 ;;     icicle-add/update-saved-completion-set: Changed default name to just add .icy.
3477 ;;     icicle-candidate-set-save-1, icicle-retrieve-candidates-from-set:
3478 ;;       Wrap write/read to/from cache file in condition-case.
3479 ;; 2008/02/16 dadams
3480 ;;     icicle-retrieve-candidates-from-set:
3481 ;;       Convert alist cands to propertized strings, using i*-put-alist-* and i*-readable-to-*.
3482 ;;       Set icicle-candidates-alist to reconstituted retrieved candidates.
3483 ;;     icicle-candidate-set-save-1:
3484 ;;       Convert to readable alist from propertized text, using i*-markers-to-*, i*-get-alist-*.
3485 ;;     Added: icicle-readable-to-markers, icicle-markers-to-readable.
3486 ;; 2008/02/15 dadams
3487 ;;     icicle-delete-windows-on:
3488 ;;       Enable recursive minibuffers for interactive use.  Thx to Simon Marshall.
3489 ;; 2008/02/14 dadams
3490 ;;     icicle-add/update-saved-completion-set: Remove properties from completion-set string.
3491 ;;     icicle-change-sort-order, icicle-retrieve-previous-input,
3492 ;;       icicle-insert-string-from-variable, icicle(-mouse)-candidate-read-fn-invoke,
3493 ;;       icicle-narrow-candidates, icicle-save-predicate-to-variable,
3494 ;;       icicle-candidate-set-retrieve, icicle-candidate-set-save-1,
3495 ;;       icicle-add/update-saved-completion-set, icicle-isearch-complete: 
3496 ;;         Bind icicle-whole-candidate-as-text-prop-p to nil.
3497 ;; 2008/02/07 dadams
3498 ;;     icicle-delete-windows-on:
3499 ;;       Delete frame if one-window-p and not a standalone minibuffer.  Thx to Simon Marshall.
3500 ;; 2008/02/03 dadams
3501 ;;     icicle-mouse-choose-completion:
3502 ;;       Use absolute file name for choice and prepend dir in minibuffer.  Set base-size to 0.
3503 ;;       Don't remove *Completions* window.
3504 ;;     icicle-mouse-candidate-action-1: Use absolute file name for choice.
3505 ;;     icicle-mouse-choose-completion, icicle-mouse-candidate-action-1,
3506 ;;       icicle-current-completion-in-Completions: buffer-substring -> *-no-properties.
3507 ;;     icicle-nb-of-candidate-in-Completions: Update last-nb before the test, in loop.
3508 ;;     icicle-prefix-complete-1: If input matches empty dir, use that dir as sole completion.
3509 ;;                               Don't remove *Completions* window until after minibuffer msg.
3510 ;;     icicle-move-to-next-completion: Use icicle-show-Completions-help-flag, not hard-coded 3.
3511 ;;     icicle-candidate-action-1: For require-match case also, remove cand and display others.
3512 ;;     Added: icicle-choose-completion.
3513 ;; 2008/01/30 dadams
3514 ;;     Added: icicle-yank-secondary, icicle-mouse-yank-secondary.
3515 ;; 2008/01/29 dadams
3516 ;;     icicle-(apropos|prefix)-complete-1:
3517 ;;       If icicle-incremental-completion-flag is explicit*, treat like incremental completion.
3518 ;;     icicle-apropos-complete-1:
3519 ;;       Distinguish non-existent dir from empty dir: icicle-apropos-any-file-name-candidates-p.
3520 ;;     icicle-highlight-input-noncompletion takes no args now.
3521 ;; 2008/01/13 dadams
3522 ;;     icicle-mouse-choose-completion, icicle-insert-completion,
3523 ;;       icicle-mouse-candidate-action-1, icicle-mouse-save-candidate:
3524 ;;         Do not use icicle-transform-multi-completion.
3525 ;;     icicle-retrieve-last-input, icicle-(apropos|prefix)-complete-1:
3526 ;;       Do not treat handle-switch-frame.
3527 ;;     icicle-mouse-candidate-action-1: Add back \n only if it has property icicle-keep-newline.
3528 ;;     icicle-mouse-remove-candidate: Removed cruft.
3529 ;;     icicle-remove-candidate-display-others: save-selected-window around Completions display.
3530 ;;     icicle-help-on-candidate: Rewrote.
3531 ;;       Do not use icicle-transform-multi-completion except where appropriate.
3532 ;;       Always use icicle-candidate-help-fn as first priority, if defined.
3533 ;;       Give help for prefix keys too during key completion.
3534 ;;     icicle-help-on-candidate-symbol: No call to icicle-candidate-help-fn here.
3535 ;; 2008/01/04 dadams
3536 ;;     icicle-mouse-choose-completion, icicle-current-completion-in-Completions:
3537 ;;       Add candidate's final \n only if it has property icicle-keep-newline.
3538 ;; 2007/01/01 dadams
3539 ;;     icicle-narrow-candidates: For Emacs < 22, don't tack dir onto file name if absolute.
3540 ;;     icicle-candidate-set-save-1: Only redisplay candidates if *Completions* was displayed.
3541 ;; 2007/12/31 dadams
3542 ;;     icicle-mouse-choose-completion, icicle-mouse-candidate-action-1:
3543 ;;       Add back candidate's final \n that is missing mouse-face.
3544 ;;       Return icicle-candidate-nb, as doc string says.
3545 ;;     icicle-mouse-candidate-action-1: Delete current input from minibuffer before acting.
3546 ;;     Added: icicle-insert-list-join-string.
3547 ;;     Don't mention that C-o is bound to icicle-candidate-action.
3548 ;; 2007/12/26 dadams
3549 ;;     icicle-transform-multi-completion: Empty input after join string means empty part.
3550 ;;     icicle-help-on-candidate: Don't call icicle-raise-Completions-frame.
3551 ;; 2007/12/11 dadams
3552 ;;     icicle-change-sort-order:
3553 ;;       Don't include icicle-proxy-candidate-first-p unless icicle-add-proxy-candidates-flag.
3554 ;; 2007/12/10 dadams
3555 ;;     icicle-exit-minibuffer, icicle-kill-failed-input:
3556 ;;       Face icicle-input-completion-fail-lax also.
3557 ;; 2007/12/09 dadams
3558 ;;     icicle-exit-minibuffer: Remove icicle-input-completion-fail face from input.
3559 ;;     icicle-kill-failed-input: Rehighlight after deleting highlighted part.
3560 ;; 2007/12/08 dadams
3561 ;;     icicle-(next|previous)-line: Rewrote for variable number of columns.
3562 ;;     Added: , icicle-(beginning|end)-of-line+.
3563 ;; 2007/12/03 dadams
3564 ;;     Renamed longest common match (lcm) to expanded common match (ecm).
3565 ;; 2007/11/30 dadams
3566 ;;     icicle-help-on-candidate-symbol:
3567 ;;       Use fboundp, not functionp, to get describe-function for macros too.
3568 ;; 2007/11/28 dadams
3569 ;;     Renamed describe-bindings-in-map to describe-keymap.
3570 ;;     icicle-toggle-proxy-candidates: Swap values for saved and unsaved.
3571 ;; 2007/11/25 dadams
3572 ;;     Added: icicle-sort-by-abbrev-frequency.
3573 ;;     icicle-help-on-candidate-symbol: Treat command abbrevs via apropos for their commands.
3574 ;; 2007/11/24 dadams
3575 ;;     Added: icicle-sort-proxy-candidates-first.
3576 ;; 2007/11/22 dadams
3577 ;;     icicle-help-on-candidate-symbol: Use describe-bindings-in-map for a keymap.
3578 ;; 2007/11/17 dadams
3579 ;;     Added: icicle-toggle-proxy-candidates.  Added to icicle-Completions-mouse-3-menu also.
3580 ;; 2007/11/04 dadams
3581 ;;     Require subr-21 if replace-regexp-in-string is not defined.
3582 ;;     Require icicles-mac (don't wrap in eval-when-compile).
3583 ;;     icicle-Completions-mouse-3-menu: Added the latest toggle commands.
3584 ;; 2007/10/28 dadams
3585 ;;     Added: icicle-toggle-expand-to-common-match, icicle-toggle-search-replace-common-match.
3586 ;;     icicle-retrieve-last-input:
3587 ;;       Treat prefix completion like non-nil expand-input-to-common-match-flag.
3588 ;;     icicle-search-define-replacement: Bind icicle-update-input-hook to nil.
3589 ;;     icicle-toggle-highlight-all-current:
3590 ;;       Save icicle-candidate-nb around rehighlighting.
3591 ;;       Call icicle-search-action to get back to current candidate and highlight it.
3592 ;; 2007/10/27 dadams
3593 ;;     icicle-search-define-replacement:
3594 ;;       Bind candidates, input, and cand #, to restore after read replacement string.
3595 ;; 2007/10/26 dadams
3596 ;;     icicle-toggle-highlight-all-current: select-frame-set-input-focus to minibuffer.
3597 ;; 2007/10/22 dadams
3598 ;;     icicle-doremi-*: Use 4 arrows - one command hands off to the other.
3599 ;; 2007/10/21 dadams
3600 ;;     Added: icicle-doremi-inter-candidates-min-spaces, icicle-doremi-candidate-width-factor.
3601 ;; 2007/10/14 dadams
3602 ;;     Updated doc strings to reflect icicle-act-before-cycle-flag.
3603 ;; 2007/10/13 dadams
3604 ;;     icicle-candidate-action-1:
3605 ;;       Don't set icicle-last-completion-candidate if string.  Used for repeated C-next.
3606 ;;     icicle-remove-candidate-display-others, icicle-history:
3607 ;;       Treat also the case where cand is a string, not a consp.
3608 ;; 2007/10/07 dadams
3609 ;;     icicle-delete-candidate-object: Respect icicle-deletion-action-flag.
3610 ;; 2007/10/02 dadams
3611 ;;     icicle-(apropos|prefix)-complete-1:
3612 ;;       Apply abbreviate-file-name to file-name input.  Thx to Joonhwan Lee.
3613 ;;     icicle-toggle-fuzzy-completion: Removed soft require of fuzzy-match+.el.
3614 ;; 2007/09/29 dadams
3615 ;;     Added: icicle-toggle-fuzzy-completion.
3616 ;;     icicle-Completions-mouse-3-menu: Added icicle-toggle-fuzzy-completion.
3617 ;;     icicle-prefix-complete-1: Adjust feedback messages for fuzzy completion.
3618 ;;     icicle-(apropos|prefix)-complete-1:
3619 ;;       Only set icicle-default-directory if (icicle-file-name-input-p).
3620 ;; 2007/09/25 dadams
3621 ;;     icicle-narrow-candidates: Treat icicle-whole-candidate-as-text-prop-p case.
3622 ;;     icicle-kill-failed-input: Rewrote.
3623 ;; 2007/09/21 dadams
3624 ;;     icicle-narrow-candidates:
3625 ;;       Emacs<22, file-name completion: Append directory to each candidate.  Thx Ian Perryman.
3626 ;; 2007/09/14 dadams
3627 ;;     icicle-(apropos|prefix)-complete-1, icicle-prefix-word-complete:
3628 ;;       Wrapped condition-case around candidates computation.
3629 ;; 2007/08/25 dadams
3630 ;;     icicle-mouse-candidate-action-1: Use buffer-substring, not buffer-*-no-properties.
3631 ;; 2007/08/21 dadams
3632 ;;     icicle-(apropos|prefix)-complete-1:
3633 ;;       Reset icicle-input-fail-pos.  Call icicle-highlight-input-noncompletion when no match.
3634 ;; 2007/08/19 dadams
3635 ;;     Added: icicle-kill-failed-input.
3636 ;; 2007/08/18 dadams
3637 ;;     icicle-previous-apropos-candidate-alt-action: Fixed typo.  Thx to Hadron Quark.
3638 ;; 2007/07/29 dadams
3639 ;;     icicle-apply-to-saved-candidate:
3640 ;;       Added use-icicle-candidates-alist-p arg.  Use icicle-get-alist-candidate.
3641 ;;       Report original error message also.
3642 ;;     icicle-candidate-action-1: Do nothing if icicle-last-completion-candidate not a string.
3643 ;; 2007/07/27 dadams
3644 ;;     icicle-successive-action:
3645 ;;       icicle-act-first-then-navigate-p -> icicle-act-before-cycle-flag.
3646 ;; 2007/07/08 dadams
3647 ;;     icicle-all-candidates(-alt)-action:
3648 ;;       Use icicle-all-candidates(-alternative)-action-fn if defined.
3649 ;;     icicle-all-candidates-action-1: Added listp arg.
3650 ;;     icicle-mouse-save-candidate:
3651 ;;       Deactivate mark and redisplay completions, to show save highlight.
3652 ;; 2007/07/07 dadams
3653 ;;     Added: icicle-candidate-set-save(-more)-selected(-1),
3654 ;;            icicle-mouse-candidate-set-save(-more), icicle-mouse-save-then-kill.
3655 ;;     icicle-insert-completion: If no current completion, return to minibuffer anyway.
3656 ;;                               Update icicle-current-input with inserted candidate.
3657 ;;     icicle-Completions-mouse-3-menu:
3658 ;;       Added icicle-candidate-set-save-(more(-selected)|-selected).
3659 ;;     icicle-save-candidate: If no defined icicle-candidate-nb, then just display message.
3660 ;;     icicle-candidate-set-save(-more):
3661 ;;       Use icicle-candidate-set-save-1: Intern variable in standard obarray also.  Redisplay
3662 ;;       candidates and reselect minibuffer after reading file/var name.  Put eof error in
3663 ;;       minibuf.  Deactivate mark and redisplay completions.  Separate msg if reset.
3664 ;;     icicle-candidate-set-retrieve: If nothing to restore, don't restore nothing.
3665 ;;                                    If single candidate to restore, no *Completions* display.
3666 ;;                                    Else, update candidate display.
3667 ;; 2007/07/04 dadams
3668 ;;     icicle-Completions-mouse-3-menu: Added icicle-retrieve-(next|\previous)-input.
3669 ;; 2007/07/03 dadams
3670 ;;     Added: icicle-insert-history-element, icicle-retrieve-(next|previous)-input.
3671 ;;     icicle-history, icicle-keep-only-past-inputs:
3672 ;;       Don't retrieve last input unless following a cycling command.
3673 ;;     icicle-history:
3674 ;;       Do an initial icicle-apropos-complete unless icicle-last-completion-command.
3675 ;;       If not following a cycling command, call icicle-last-completion-command (don't set it
3676 ;;         to empty string) and reset icicle-last-input to nil.
3677 ;;     icicle-Completions-mouse-3-menu:
3678 ;;       icicle-retrieve-(next|previous)-input, not icicle-retrieve-last-input.
3679 ;;     Redefined next-history-element, instead of using defadvice.
3680 ;; 2007/06/23 dadams
3681 ;;     icicle-search-define-replacement: Use icicle-completing-read-history, not read-string.
3682 ;;                                       Use icicle-search-replacement-history.
3683 ;; 2007/06/17 dadams
3684 ;;     Added: icicle-toggle-WYSIWYG-Completions.
3685 ;;     icicle-switch-to-Completions-buf, icicle-move-to-next-completion:
3686 ;;       Added priority in call to icicle-place-overlay.
3687 ;; 2007/06/13 dadams
3688 ;;     Added: icicle-candidate-set-save-more.
3689 ;;     icicle-candidate-set-save: Unify messages.
3690 ;; 2007/06/12 dadams
3691 ;;     Added: icicle(-mouse)-save-candidate.
3692 ;;     icicle-candidate-set-retrieve: Insert candidate if there is only one retrieved.
3693 ;;     icicle-insert-completion: Added optional completion arg for non-interactive insertion.
3694 ;; 2007/06/10 dadams
3695 ;;     icicle-candidate-action-1: Treat icicle-require-match-p.
3696 ;; 2007/06/09 dadams
3697 ;;     icicle-candidate-action-1, icicle-mouse-candidate-action-1:
3698 ;;       Remove candidate if icicle-use-candidates-only-once-flag.
3699 ;;     icicle-candidate-action-1:
3700 ;;       Let users act on non-candidate too (arbitrary input).
3701 ;; 2007/06/07 dadams
3702 ;;     Renamed: icicle-function-history to icicle-function-name-history,
3703 ;;              icicle-variable-history to  icicle-variable-name-history.
3704 ;;     Use standard history variable if bound, else use Icicles history variable:
3705 ;;       function-name-history, variable-name-history
3706 ;; 2007/06/01 dadams
3707 ;;     icicle-erase-minibuffer-or-history-element, icicle-history:
3708 ;;       Ensure value of minibuffer-history-variable is bound.
3709 ;;     icicle-keep-only-past-inputs: If value of minibuffer-history-variable unbound, set nil.
3710 ;;     icicle-keep-only-past-inputs, icicle-history:
3711 ;;       Assume value of minibuffer-history-variable is a symbol - don't test that.
3712 ;; 2007/05/29 dadams
3713 ;;     icicle-insert-thing: Added optional arg no-replace-p.  Make sure end points are defined.
3714 ;;     icicle-insert-string-from-variable: Call icicle-insert-thing with no-replace-p arg.
3715 ;;     icicle-minibuffer-complete-and-exit: Set window-point to end of minibuffer.
3716 ;; 2007/05/15 dadams
3717 ;;     icicle-completion-help and top level:
3718 ;;       Soft require help-mode, not (featurep 'help-mode) and (fboundp 'define-button-type).
3719 ;; 2007/05/08 dadams
3720 ;;     Added: icicle-save-predicate-to-variable.
3721 ;;     icicle-Completions-mouse-3-menu: Added icicle-save-predicate-to-variable to menu.
3722 ;;     icicle-narrow-candidates-with-predicate: Quoted the predicate that is read.
3723 ;; 2007/05/07 dadams
3724 ;;     Added: icicle-narrow-candidates-with-predicate.
3725 ;;     icicle-Completions-mouse-3-menu: Added icicle-narrow-candidates-with-predicate (M-&).
3726 ;; 2007/05/06 dadams
3727 ;;     icicle-completion-help: Updated text at top of help buffer.
3728 ;;     icicle-customize-button: Capitalized group Icicles.
3729 ;;     Changed S-C- to C-S- and M-C- to C-M- in doc.
3730 ;; 2007/05/04 dadams
3731 ;;     icicle-candidate-read-fn-invoke, icicle-keep-only-*-inputs, icicle-retrieve-last-input,
3732 ;;     icicle-candidate-set-(retrieve|save|swap|difference|union|intersection|complement),
3733 ;;     icicle-all-candidates(-alt)-action, icicle-pp-eval-expression,
3734 ;;     icicle-insert-string-from-variable:
3735 ;;       Can call from *Completions* too, so can choose from mouse-3 menu during multi-command.
3736 ;;     icicle-candidate-set-save, icicle-retrieve-last-input, icicle-insert-*-from-variable:
3737 ;;       Select minibuffer window.
3738 ;;     icicle-toggle-case-sensitivity: Use setq-default for case-fold-search.
3739 ;;     icicle-switch-to-Completions-buf:
3740 ;;       Use read-file-name-completion-ignore-case, if completing file name.
3741 ;;     Added empty defvars for Emacs 22 standard vars, to quiet byte compiler.
3742 ;; 2007/05/02 dadams
3743 ;;     Added: icicle-dispatch-M-q, icicle-toggle-search-whole-word.
3744 ;;     Removed: icicle-dispatch-C-backquote.
3745 ;; 2007/04/29 dadams
3746 ;;     Added: icicle-sort-by-last-file-modification-time (sort order).
3747 ;; 2007/04/19 dadams
3748 ;;     icicle-successive-action: No longer interactive.  Moved barfing to calling commands.
3749 ;; 2007/04/17 dadams
3750 ;;     Added: icicle-dispatch-M-comma, icicle-search-define-replacement,
3751 ;;            icicle-dispatch-C-backquote, icicle-toggle-literal-replacement.
3752 ;; 2007/04/08 dadams
3753 ;;     Added: icicle-all-candidates-alt-action, icicle-all-candidates-action-1.
3754 ;;     icicle-candidate-action-1, icicle-delete-candidate-object, icicle-help-on-candidate,
3755 ;;     icicle-candidate-read-fn-invoke:
3756 ;;       Use negative test for prefix mode, not positive test for apropos.
3757 ;; 2007/04/07 dadams
3758 ;;     Added: icicle-successive-action, icicle-toggle-search-replace-whole,
3759 ;;            icicle-dispatch-C-comma.
3760 ;;     Defined navigating action and help functions using icicle-successive-action.
3761 ;; 2007/03/31 dadams
3762 ;;     icicle-(apropos|prefix)-complete-1:
3763 ;;       Accept sole completion if icicle-top-level-when-sole-completion-flag.
3764 ;;     icicle-narrow-candidates:
3765 ;;       Use read-file-name only for Emacs 22 or later.
3766 ;;       Accept sole completion only if icicle-top-level-when-sole-completion-flag.
3767 ;;     icicle-apropos-complete-and-narrow: Bind icicle-top-level-when-*-flag to t.
3768 ;; 2007/03/30 dadams
3769 ;;     icicle-narrow-candidates: Suppress sole-completion minibuffer-message.
3770 ;; 2007/03/23 dadams
3771 ;;     Added: icicle-apropos-complete-and-narrow.  Thx to Marian Schubert for the suggestion.
3772 ;;     icicle-narrow-candidates: Use icicle-require-match-p as REQUIRE-MATCH arg.
3773 ;; 2007/03/09 dadams
3774 ;;     Changed require to eval-when-compile require for icicles-mac.el.
3775 ;; 2007/03/08 dadams
3776 ;;     icicle-delete-current-candidate-object: Rewrote.
3777 ;;       Value of var can be an arbitrary alist, a list of strings, or a list of symbols.
3778 ;;     icicle-remove-candidate-display-others: Rewrote.
3779 ;;       Set icicle-last-completion-candidate based on icicle-candidate-nb or 0.
3780 ;;       Delete icicle-last-completion-candidate completely from icicle-completion-candidates.
3781 ;;       Update minibuffer-completion-predicate or read-file-name-predicate to remove for
3782 ;;         completion.
3783 ;;       Use with-current-buffer, not save-window-excursion, to visit *Completions*.
3784 ;;     icicle-remove-candidate:
3785 ;;       Updated doc string to mention Emacs < 22 limitation for file-name candidates.
3786 ;;     icicle-retrieve-last-input: Don't reset icicle-last-completion-command if interactive.
3787 ;; 2007/03/07 dadams
3788 ;;     icicle-switch-to-Completions-buf, icicle-remove-candidate-display-others,
3789 ;;     icicle-help-on-candidate, icicle-delete-windows-on:
3790 ;;       Use 0, not t, as frame arg to get-buffer-window.
3791 ;; 2007/03/06 dadams
3792 ;;     icicle-remove-candidate: Don't reset to first cand matching input if no last cand.
3793 ;;     icicle-change(alternative)-sort-order, icicle-reverse-sort-order,
3794 ;;       icicle-keep-only-past-inputs, icicle-toggle-sorting: Respect icicle-inhibit-sort-p.
3795 ;;     Renamed icicle-get-current-candidate to icicle-get-alist-candidate.
3796 ;; 2007/03/04 dadams
3797 ;;     icicle-remove-candidate-display-others:
3798 ;;       Use local var for cand-nb, because icicle-candidate-nb can change.
3799 ;;       If no last candidate, reset to first candidate matching input.
3800 ;;       Allow for icicle-candidate-nb not being defined here:
3801 ;;         Use icicle-get-current-candidate.  Move to next completion only if cand-nb defined.
3802 ;;       Use mapconcat only when delete multi-completion.
3803 ;;       Move to next completion in *Completions* only if icicle-candidate-nb was defined.
3804 ;;       Insert default-directory too, if icicle-file-name-input-p.
3805 ;;     icicle-insert-completion: Insert default-directory too, if icicle-file-name-input-p.
3806 ;;     icicle-(apropos|prefix)-complete-1, icicle-keep-only-past-inputs:
3807 ;;       Don't include directory when set icicle-last-completion-candidate.
3808 ;;     icicle-(apropos|prefix)-complete-1:
3809 ;;       Don't include directory when testing input membership in icicle-completion-candidates.
3810 ;; 2007/03/02 dadams
3811 ;;     icicle-delete-candidate-object:
3812 ;;       Corrected message target (object).  Added sit-for.
3813 ;;       Use local var for cand-nb, because icicle-candidate-nb can change.
3814 ;; 2007/02/27 dadams
3815 ;;     icicle-delete-candidate-object: Added message.
3816 ;;     icicle-delete-current-candidate-object: Don't erase minibuffer or update completions.
3817 ;; 2007/02/24 dadams
3818 ;;     Added: icicle(-mouse)-candidate-alt-action, icicle(-mouse)-candidate-action-1,
3819 ;;            icicle-(previous|next)-(apropos|prefix)-candidate-alt-action,
3820 ;;            icicle(-mouse)-remove-candidate, icicle-remove-candidate-display-others,
3821 ;;            icicle-delete-candidate-object, icicle-delete-current-candidate-object.
3822 ;;     icicle-insert-completion:
3823 ;;       Invoke icicle-transform-multi-completion.  Use with-current-buffer (window-buffer).
3824 ;;     icicle(-mouse)-candidate-action: Use icicle(-mouse)-candidate-action-1.
3825 ;; 2007/02/06 dadams
3826 ;;     icicle-completion-help: Added extra help if completing and if multi-command.
3827 ;; 2007/02/03 dadams
3828 ;;     Renamed icicle-icompleting-p to icicle-edit-update-p.
3829 ;; 2007/02/02 dadams
3830 ;;     Updated doc strings of toggle commands to mention the minibuffer bindings.
3831 ;; 2007/01/29 dadams
3832 ;;     icicle-change-sort-order: Don't sort icicle-sort-functions-alist entries for use.
3833 ;;     Define alphabetical sort order using icicle-case-string-less-p, not string-lessp.
3834 ;; 2007/01/23 dadams
3835 ;;     Added: icicle-toggle-highlight-historical-candidates.
3836 ;;     icicle-Completions-mouse-3-menu: Updated wrt toggles.
3837 ;; 2007/01/21 dadams
3838 ;;     icicle-narrow-candidates:
3839 ;;       Use minibuffer-history-variable, not regexp-history.  Thx to Jost for bug report.
3840 ;; 2007/01/20 dadams
3841 ;;     icicle-mouse-(choose-completion|candidate-action):
3842 ;;       Use icicle-transform-multi-completion.
3843 ;; 2007/01/15 dadams
3844 ;;     Added: icicle-change(-alternative)-sort-order, icicle-reverse-sort-order,
3845 ;;            icicle-current-sort-order, icicle-sort-*.
3846 ;;     icicle-transform-sole-candidate: Set icicle-last-*-candidate to transformed cand.
3847 ;;     icicle-help-on-candidate: Use icicle-transform-multi-completion.
3848 ;;     icicle-Completions-mouse-3-menu: Updated with new sort-order bindings.
3849 ;;     icicle-toggle-alternative-sorting: Better message.
3850 ;;     Require icicles-mac.el.
3851 ;; 2007/01/14 dadams
3852 ;;     Added: icicle-transform-multi-completion, icicle-transform-sole-candidate.
3853 ;;     icicle-(apropos|prefix)-complete-1: Use icicle-transform-sole-candidate.  Thx Rubikitch.
3854 ;;     icicle-help-on-candidate(-symbol):
3855 ;;       Use with-current-buffer to describe mode in Emacs 20 also.
3856 ;; 2007/01/13 dadams
3857 ;;     Added: icicle-describe-file, icicle-help-on-candidate-symbol.
3858 ;;     icicle-help-on-candidate:
3859 ;;       If existing symbol, describe it.  Else if buffer or file, describe it.  Else, convert
3860 ;;         string to symbol and describe it.  Use icicle-help-on-candidate-symbol.
3861 ;; 2007/01/10 dadams
3862 ;;     icicle-switch-to/from-minibuffer: Error message if minibuffer is not active.
3863 ;; 2007/01/06 dadams
3864 ;;     icicle-(apropos|prefix)-complete-1:
3865 ;;       expand-file-name -> icicle-abbreviate-or-expand-file-name.
3866 ;;     Added: icicle-toggle-~-for-home-dir.
3867 ;;     icicle-prefix-complete-1:
3868 ;;       Set icicle-default-directory only if also icicle-file-name-input-p.
3869 ;; 2007/01/01 dadams
3870 ;;     icicle-add/update-saved-completion-set: Use icicle-assoc-delete-all, not delete of assoc.
3871 ;;     Runtime, not compile-time, require of icicles-var.el, icicles-opt.el.
3872 ;; 2006/12/29 dadams
3873 ;;     icicle-insert-string-at-point:
3874 ;;       Treat nil return of alternative text-grabbing function.
3875 ;;       Echo the text-grabbing function when icicle-default-thing-insertion = alternatives.
3876 ;;     icicle-ensure-overriding-map-is-bound: Separate treatment for diff Emacs versions.
3877 ;; 2006/12/25 dadams
3878 ;;     icicle-keep-only-past-inputs:
3879 ;;       Added optional recent-first arg: Use icicle-most-recent-first-p as sort function.
3880 ;;       Update cands list if repeat.  Do not scroll Completions; update it unconditionally.
3881 ;;     Added: icicle-candidate-set-truncate.
3882 ;;     Uncommented describe-mode code, since RMS fixed Emacs bug that caused infinite recursion.
3883 ;; 2006/12/24 dadams
3884 ;;     Added: icicle-Completions-mouse-3-menu.
3885 ;; 2006/12/23 dadams
3886 ;;     icicle-narrow-candidates: Bug fix: Treat file-name completion with read-file-name.
3887 ;;     icicle-help-on-candidate: Call non-nil icicle-candidate-help-fn on candidate.
3888 ;; 2006/12/18 dadams
3889 ;;     icicle-apply-to-saved-candidate: Remove print arg and use current-prefix-arg instead.
3890 ;;     icicle-ensure-overriding-map-is-bound: Protect overriding-map-is-bound with boundp.
3891 ;;     Bug fix for Emacs 21: protect help-xref with get type button-category-symbol.
3892 ;; 2006/12/17 dadams
3893 ;;     Added: icicle(-mouse)-candidate-read-fn-invoke, icicle-apply-to-saved-candidate.
3894 ;; 2006/12/10 dadams
3895 ;;     Created from minibuffer and *Completions* commands in icicles-cmd.el.
3896  
3897 ;;;(@* "CHANGE LOG FOR `icicles-mode.el'")
3898 ;;
3899 ;; 2011/09/08 dadams
3900 ;;     icicle-bind-isearch-keys: Replace lambda with icicle-search-w-isearch-string.
3901 ;; 2011/09/06 dadams
3902 ;;     icicle-define-minibuffer-maps, icicle-(bind|restore)-completion-keys:
3903 ;;       Bind icicle-resolve-file-name to C-x C-f.
3904 ;; 2011/09/05 dadams
3905 ;;     icicle-mode: Update doc string: icicle-toggle-hiding-non-matching-lines.
3906 ;;     icicle-define-icicle-maps: Added icicle-toggle-hiding-non-matching-lines to menus.
3907 ;;     icicle-bind-completion-keys: Bind C-x . to icicle-dispatch-C-x. (new).
3908 ;; 2011/09/02 dadams
3909 ;;     icicle-(bind|restore)-other-keymap-keys:
3910 ;;       Test fn memq in icicle-functions-to-redefine, not just non-nil icicle-functions-to-redefine.
3911 ;;       Removed remap/unmap of Info commands.
3912 ;;       Restore completion-at-point, not comint-dynamic-complete, for Emacs 24.
3913 ;;     At end: defalias old-Info commands (instead of remapping in icicle-(bind|restore)-*-keys).
3914 ;; 2011/08/13 dadams
3915 ;;     Bound icicle-toggle-search-complementing-domain to C-M-~ and added to menus.
3916 ;; 2011/08/12 dadams
3917 ;;     icicle-define-minibuffer-maps: Removed code that binds C-x m, C-backspace, C-c +.
3918 ;;       Do that in icicle-bind-file-candidate-keys now.
3919 ;; 2011/08/07 dadams
3920 ;;     icicle-mode: Updated doc string for bookmark commands.
3921 ;; 2011/05/22 dadams
3922 ;;     Added defvars for free vars to quiet byte compiler.
3923 ;; 2011/05/07 dadams
3924 ;;     Changed key for icicle-regexp-quote-input from C-M-; to M-% everywhere.
3925 ;;     Bound icicle-toggle-ignoring-comments to C-M-;.
3926 ;;     icicle-mode doc string, icicle(-options)-menu-map: Added icicle-toggle-ignoring-comments.
3927 ;; 2011/05/03 dadams
3928 ;;     icicle-define-icicle-maps: Add icicle-toggle-highlight-saved-candidates to menus.
3929 ;;     icicle-(bind|restore)-completion-keys: Bind icicle-plus-saved-sort to C-M-+.
3930 ;;                                            Bind icicle-toggle-highlight-saved-candidates to S-pause.
3931 ;;     icicle-mode doc string: Mention icicle-toggle-highlight-saved-candidates.
3932 ;; 2011/04/12 dadams
3933 ;;     icicle-define-icicle-maps: Added Icicles submenu for Bookmark+ menu.
3934 ;;     icicle-(bind|restore)-other-keymap-keys:
3935 ;;       Bound icicle-bookmark-save-marked-files(-as-project|-more) in bookmark-bmenu-mode-map.
3936 ;; 2011/03/29 dadams
3937 ;;     icicle-define-minibuffer-maps, icicle-bind-completion-keys:
3938 ;;       Bound C-M-(v|V) to icicle-scroll-(forward|backward).
3939 ;;     Applied renaming: icicle-scroll-Completions(-up) to icicle-scroll-Completions-(back|for)ward.
3940 ;; 2011/03/26 dadams
3941 ;;     icicle-define-icicle-maps: Added tags commands.
3942 ;; 2011/03/06 dadams
3943 ;;     icicle-define-icicle-maps:
3944 ;;       Added to Options (sub)menu: icicle-toggle-search-whole-word.
3945 ;;       Removed from Options: icicle-toggle-highlight-all-current, icicle-regexp-quote-input.
3946 ;;       Removed redundant :visible icicle-mode's for icicle-menu-map.
3947 ;;       Added :help entries.
3948 ;;       Corrected: icicle-bookmark-bookmark-list, icicle-bookmark-desktop: not other-window.
3949 ;;     icicle-define-minibuffer-maps, icicle-(bind|restore)-completion-keys:
3950 ;;       Added: icicle-toggle-highlight-all-current, icicle-regexp-quote-input,
3951 ;;              icicle-erase-minibuffer-or-history-element (2), icicle-insert-list-join-string,
3952 ;;              icicle-insert-key-description, icicle-insert-string-from-variable (2),
3953 ;;              icicle-insert-string-at-point.
3954 ;; 2011/02/22 dadams
3955 ;;     icicle-(bind|restore)-completion-keys: Bind C-x t to icicle-cycle-image-file-thumbnail.
3956 ;;     icicle-mode: Do not add icicle-fit-completions-window to temp-buffer-show-hook.
3957 ;;                  Do it explicitly in icicle-display-candidates-in-Completions now.
3958 ;;     Renamed: icicle-*-standard-commands to icicle-(redefine|restore)-standard-functions.
3959 ;;              And rewrote them to just use new option icicle-functions-to-redefine.
3960 ;;     Replaced: icicle-redefine-standard-commands-flag with icicle-functions-to-redefine everywhere.
3961 ;;     Added: old-comint-dynamic-complete-filename.
3962 ;; 2011/02/17 dadams
3963 ;;     icicle-(redefine|restore)-standard-commands: Use icicle-read-color for read-color.
3964 ;; 2011/01/20 dadams
3965 ;;     icicle-define-minibuffer-maps, icicle-(bind|restore)-completion-keys:
3966 ;;       Bind/restore keys C-M-S-[cf] (*-completing-read+insert-keys, *-read+insert-file-name-keys).
3967 ;; 2011/01/18 dadams
3968 ;;     Require advice.el.
3969 ;; 2011/01/01 dadams
3970 ;;     icicle-define-icicle-maps: Typo: icicle-search-tags-menu-map -> icicle-menu-map.  Thx Le Wang.
3971 ;; 2010/12/26 dadams
3972 ;;     Added autoload cookies to load icicles.el when command icicle-mode is invoked.
3973 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
3974 ;; 2010/12/18 dadams
3975 ;;     Added more autoload cookies for commands.  Thx to Richard Kim.
3976 ;; 2010/11/23 dadams
3977 ;;     icicle-define-icicle-maps: Added "in minibuf" to :key for C-?.  Thx to Michael Heerdegen.
3978 ;; 2010/11/21 dadams
3979 ;;     icicle-(redefine|restore)-standard-commands:
3980 ;;       defalias lisp-complete-symbol unconditionally (it's still needed in some places for Emacs 23).
3981 ;; 2010/11/20 dadams
3982 ;;     For eval-after-load's:
3983 ;;       Protect eval of icicle-mode with boundp.
3984 ;;       If the library is already loaded, then add the eval-after-load to icicles-mode.el instead.
3985 ;;       Uncommented the code for simple.el for Emacs 23+.
3986 ;;     dolist eval-after-load at end: Removed test for icicles-mode feature.
3987 ;; 2010/11/10 dadams
3988 ;;     Define lisp-completion-at-point to return Icicles fn (don't defalias).  Thx to M. Heerdegen.
3989 ;; 2010/11/06 dadams
3990 ;;     icicle-top-level-prep: Reset current TAB and S-TAB methods, if temporary.
3991 ;; 2010/11/03 dadams
3992 ;;     icicle-(redefine|restore)-standard-commands:
3993 ;;       Updated for Emacs 23.2+: defalias lisp-completion-at-point instead.  Thx to Michael Heerdegen.
3994 ;; 2010/10/21 dadams
3995 ;;     icicle-minibuffer-setup:: Revert last change: this must NOT be local.
3996 ;; 2010/10/19 dadams
3997 ;;     icicle-minibuffer-setup: Use non-nil LOCAL arg to add-hook for icicle-top-level-prep.
3998 ;; 2010/10/09 dadams
3999 ;;     icicle-define-cycling-keys:
4000 ;;       Define modal keys uncondiationally (no icicle-cycling-respects-completion-mode).
4001 ;;       Define modal keys first, then non-modal.  Remove no bindings (make no bindings to nil).
4002 ;;       Removed hard-coded bindings for mouse wheel - handled by vars now, as before.
4003 ;;     icicle-define-minibuffer-maps:
4004 ;;       Hard-code down/up in completion-list-mode-map - do not reuse prefix completion keys.
4005 ;;     Applied renaming of icicle-cycling-respects-completion-mode to icicle-default-cycling-mode.
4006 ;; 2010/10/08 dadams
4007 ;;     icicle-minibuffer-setup: Don't set icicle-current-completion-mode in recursive minibuffer.
4008 ;;     icicle-define-cycling-keys: Unconditionally define mouse wheel for modal cycling.
4009 ;; 2010/10/07 dadams
4010 ;;     Use icicle-current-TAB-method function, not variable, everywhere.
4011 ;; 2010/10/06 dadams
4012 ;;     icicle-define-cycling-keys:  Let all non-conflicting non-modal keys remain: modal just
4013 ;;                                  overwrites the conflicting non-modal.  Thx to Michael Heerdegen.
4014 ;; 2010/07/17 dadams
4015 ;;     w3m - > url.  Add URL jump bindings.  Replace w3m by url otherwise.
4016 ;; 2010/06/11 dadams
4017 ;;     icicle-define-minibuffer-maps: Bind/restore C-c + to icicle-make-directory in file-name maps.
4018 ;; 2010/06/04 dadams
4019 ;;     icicle-mode doc string: Mention missing doremi commands.
4020 ;;     icicle-define-icicle-maps: Added Swank items and Max # of Completions, :visible for separator.
4021 ;;     icicle-(bind|restore)-completion-keys: Bind icicle-doremi-increment-max-candidates+ to C-x #.
4022 ;;     Apply renamings of icicle-doremi* (added +).
4023 ;; 2010/05/26 dadams
4024 ;;     Add to command-history only if an interned symbol.  Thx to Michael Heerdegen.
4025 ;; 2010/05/22 dadams
4026 ;;     icicle-(bind|restore)-completion-keys: Bind icicle-candidate-read-fn-invoke to ESC C-m also.
4027 ;; 2010/05/17 dadams
4028 ;;     icicle-define-icicle-maps: Changed :enable conditions for *-goto*-marker.  Thx to M. Heerdegen.
4029 ;; 2010/05/15 dadams
4030 ;;     icicle-mode: Updated doc string for bookmark commands.
4031 ;; 2010/05/09 dadams
4032 ;;     Key-binding changes: icicle-change-sort-order is C-, icicle-dispatch-M-_ is M-_.
4033 ;; 2010/04/21 dadams
4034 ;;     icicle-(redefine|restore)-std-completion-fns: Added icicle-sit-for for Emacs 23.
4035 ;; 2010/04/02 dadams
4036 ;;     icicle-mode: Updated doc string: list of commands.
4037 ;; 2010/04/02 dadams
4038 ;;     icicle-mode: Update doc string for change from regions to bookmarks.
4039 ;;     icicle-define-icicle-maps:
4040 ;;       Remove Icicles region stuff from menus.
4041 ;;       Added to menus: icicle-search-bookmarks-together, icicle-search-bookmark,
4042 ;;                       icicle-select-bookmarked-region.
4043 ;; 2010/03/28 dadams
4044 ;;     Applied renaming: icicle-search-all-regions to icicle-search-region.
4045 ;;     Use icicle-search-region-bookmark in menus.
4046 ;; 2010/03/14 dadams
4047 ;;     icicle-define-minibuffer-maps: Use featurep, not soft-require, for bookmark+.el.
4048 ;;     Added bookmark+ to final dolist for eval-after-load.
4049 ;; 2010/03/13 dadams
4050 ;;     icicle-define-icicle-maps:
4051 ;;       Bound icicle-toggle-show-multi-completion to M-m in minibuffer, and added to menus.
4052 ;;     Applied renaming of icicle-add-buffer-name-flag to icicle-show-multi-completion-flag.
4053 ;; 2010/02/17 dadams
4054 ;;     Applied rename of icicl-redefined-functions to icicle-inhibit-advice-functions.
4055 ;; 2010/02/13 dadams
4056 ;;     icicle-mode:
4057 ;;       Fill icicle-advice-info-list from advised fns among icicle-redefined-functions.
4058 ;;       Reactivate advised fns (in icicle-advice-info-list) when turn mode off.
4059 ;;       Added to doc string: icicle-bookmark-(dired|desktop|bookmark-list|man)-other-window.
4060 ;;     icicle-define-icicle-maps: Use (featurep 'recentf) instead of soft-requiring it.
4061 ;;     icicle(-bookmark)-menu-map: Added type-specific bookmark jump commands.
4062 ;;     eval-after-load's: Add (when (featurep 'icicles-mode)...) to ensure this file was loaded.
4063 ;; 2010/01/28 dadams
4064 ;;     icicle-define-minibuffer-maps, icicle-restore-completion-keys:
4065 ;;       Restore C-g correctly if delete-selection-mode.
4066 ;; 2009/12/25 dadams
4067 ;;     icicle-mode: Call completion-ignored-build-disable to disable the advice.
4068 ;; 2009/12/21 dadams
4069 ;;     Final dolist: Move loaded-library test outside of eval-after-load.
4070 ;;                   Update the test for Emacs 22+ (not just assoc).  Thx to Kevin Ryde.
4071 ;;     Combine eval-after-load's for dired-x.  Remove eval-after-load for simple.el (preloaded).
4072 ;;     fset -> defalias.
4073 ;; 2009/12/13 dadams
4074 ;;     icicle-define-minibuffer-maps:
4075 ;;       Bind C-x m to icicle-bookmark-file-other-window in file-name completion maps.
4076 ;; 2009/11/29 dadams
4077 ;;     Don't reference minibuffer-local-must-match-filename-map unless bound (obsolete in 23.2).
4078 ;; 2009/11/27 dadams
4079 ;;     icicle-(bind|restore)-completion-keys: Bind/restore C-x 1, C-x 2.
4080 ;; 2009/11/07 dadams
4081 ;;     Applied doremi cmd renamings (added +).
4082 ;; 2009/10/25 dadams
4083 ;;     icicle-mode, icicle-define-icicle-maps, icicle-bind-completion-keys:
4084 ;;       Updated doc string, menus, keys for completion-method command renamings.
4085 ;; 2009/09/26 dadams
4086 ;;     icicle-minibuffer-setup: Don't complete if icicle-progressive-completing-p.
4087 ;; 2009/09/16 dadams
4088 ;;     icy-mode: Add icicle-insert-buffer to doc string.
4089 ;;     icicle-define-icicle-maps: Added icicle-insert-buffer to icicle-menu-map.
4090 ;; 2009/09/10 dadams
4091 ;;     icicle-bind-key-completion-keys-in-keymaps-from: Don't exclude menu maps.
4092 ;; 2009/09/03 dadams
4093 ;;     icicle-add-menu-item-to-cmd-history: Wrap in condition-case, since on pre-command-hook.
4094 ;; 2009/08/18 dadams
4095 ;;     icicle-add-menu-item-to-cmd-history:
4096 ;;       Ensure this-command-keys-vector is not empty.  Thx to Kai Tetzlaff and Lennart Borgman.
4097 ;; 2009/08/09 dadams
4098 ;;     icicle-minibuffer-setup: Set region background for recursive minibuffers too.
4099 ;;     icicle-restore-region-face: Don't restore unless going back to top level.
4100 ;; 2009/08/01 dadams
4101 ;;     Added: icicle-add-menu-item-to-cmd-history.  Thx to Lennart Borgman.
4102 ;;     icy-mode: add/remove pre-command-hook, respecting icicle-menu-items-to-history-flag.
4103 ;;     call-interactively defadvice: Do not save let savehist save icicle-interactive-history.
4104 ;; 2009/07/29 dadams
4105 ;;     Change advice for call-interactively:
4106 ;;       Use it only for Emacs 23+.  Disable it to begin with.  
4107 ;;       Add only (non-mouse command) symbols to history.
4108 ;;     icy-mode (Emacs 23+):
4109 ;;       Enable/disable advice icicle-save-to-history when mode is turned on/off.
4110 ;;       Enable the advics only if non-nil icicle-populate-interactive-history-flag.
4111 ;;     icy-mode (Emacs 20-21): Remove advice icicle-save-to-history.
4112 ;; 2009/07/26 dadams
4113 ;;     Advise call-interactively to save command to icicle-interactive-history.
4114 ;;     icicle-(bind|restore)-completion-keys: Bind/restore C-M-pause as icicle-other-history.
4115 ;; 2009/07/13 dadams
4116 ;;     Emacs 22+:
4117 ;;       Added describe-face defadvice (icicle-respect-WYSIWYG).  icicle-mode: (de)activate it.
4118 ;; 2009/06/18 dadams
4119 ;;     icicle-mode: Added icicle-doremi-zoom-Completions to doc string.
4120 ;; 2009/06/17 dadams
4121 ;;     icicle-(bind|restore)-completion-keys: Bind icicle-doremi-zoom-Completions to C-x -.
4122 ;;     icicle-define-icicle-maps:
4123 ;;       Add icicle-doremi-zoom-Completions to Options menu.
4124 ;;       Change visible condition for all doremi stuff to ensure *Completions* is showing.
4125 ;; 2009/05/27 dadams
4126 ;;     icicle-retrieve-(next|previous)-input: Removed unused (always nil) arg DONT-COMPLETE-P.
4127 ;; 2009/05/22 dadams
4128 ;;     icicle-define-icicle-maps: Added icicle-Info-virtual-book to menu.
4129 ;;     Require icicles-cmd[12].el.
4130 ;; 2009/05/17 dadams
4131 ;;     dolist eval-after-load at end: Use icicle-toggle-icicle-mode-twice, not icy-mode calls.
4132 ;; 2009/05/09 dadams
4133 ;;     icicle-define-icicle-maps: Added icicle-toggle-dot to options menu.  Updated C-x . key.
4134 ;;     icicle-(bind|restore)-completion-keys:
4135 ;;       Bind *-toggle-dot to C-M-., *-toggle-hiding-common-match to C-x .,
4136 ;;            *-insert-dot-command to ..
4137 ;;     icy-mode: Mention icicle-toggle-dot in doc string.
4138 ;; 2009/05/02 dadams
4139 ;;     icicle-minibuffer-setup: Set icicle-cmd-reading-input to this-command.
4140 ;; 2009/04/30 dadams
4141 ;;     icicle-minibuffer-setup: Reset icicle-next-(prefix|apropos)-complete-cycles-p to nil.
4142 ;; 2009/04/20 dadams
4143 ;;     icicle-bind-completion-keys: Don't bind C-S-(up|down|next|prior) explicitly.
4144 ;;     icicle-restore-completion-keys:
4145 ;;       Restore: icicle-(prefix|apropos)-cycle-(previous|next)-alt-action-keys,
4146 ;;                icicle-modal-cycle-(up|down)-alt-action-keys.
4147 ;;       Don't restore C-S-(up|down|next|prior) explicitly.
4148 ;;     icicle-define-cycling-keys:
4149 ;;       Bind/Restore: icicle-(prefix|apropos)-cycle-(previous|next)-alt-action-keys,
4150 ;;                     icicle-modal-cycle-(up|down)-alt-action-keys.
4151 ;; 2009/04/19 dadams
4152 ;;     icicle-redefine-standard-commands: Added defalias for customize-apropos-options-of-type.
4153 ;;     eval-after-loads: Use when/unless instead of and/or for fset's. (cosmetic)
4154 ;; 2009/04/18 dadams
4155 ;;     icicle-mode: Mention in doc string: you might want to customize keys if no window mgr.
4156 ;; 2009/04/16 dadams
4157 ;;     icicle-restore-completion-keys, icicle-define-cycling-keys:
4158 ;;       Use icicle-(prefix|apropos)-cycle-(previous|next)-help-keys.
4159 ;; 2009/04/15 dadams
4160 ;;     icicle-bind-completion-keys: Removed bindings for C-M-(up|down|prior|next).
4161 ;;     icicle-restore-completion-keys: Unbind icicle-modal-cycle-(up|down)-help-keys.
4162 ;;     icicle-define-cycling-keys: Bind/unbind all help keys (including modal ones).
4163 ;; 2009/03/27 dadams
4164 ;;     icicle-(redefine|restore)-standard-commands:
4165 ;;       Added icicle-minibuffer-default-add-completions.
4166 ;; 2009/03/16 dadams
4167 ;;     icicle-define-icicle-maps: Use :visible for Icicle submenus themselves.
4168 ;;     icicle-(redefine|restore)-standard-commands: Added icicle-recentf-make-menu-items.
4169 ;;     Added eval-after load for recentf.el.
4170 ;; 2009/03/15 dadams
4171 ;;     icicle-mode: Added to doc string: icicle-recompute-shell-command-candidates,
4172 ;;                                       icicle-remove-file-from-recentf-list.
4173 ;;     icicle-define-icicle-maps: Added icicle-remove-file-from-recentf-list to menus.
4174 ;; 2009/03/10 dadams
4175 ;;     icicle-mode: Don't reset icicle-shell-*-cache if icicle-guess-commands-in-path is load.
4176 ;;     Applied renaming: icicle-shell-command-candidates to *-cache
4177 ;; 2009/03/01 dadams
4178 ;;     icicle-define-minibuffer-maps:
4179 ;;       Bind icicle-completing-read+insert, icicle-read+insert-file-name.  Add to Minibuf menu.
4180 ;; 2009/02/28 dadams
4181 ;;     fset old-dired-smart-shell-command after load Dired-X.
4182 ;; 2009/02/20 dadams
4183 ;;     icicle-mode: Reset icicle-shell-command-candidates to nil.
4184 ;;     icicle-minibuffer-setup:
4185 ;;       Use function icicle-require-match-p, not var.
4186 ;;       Do not reset icicle-completing-p to nil (reset by icicle-require-match-p).
4187 ;;     icicle-(redefine|restore)-standard-commands:
4188 ;;       Redefine dired-read-shell-command, not dired-guess-shell-command.
4189 ;;       Redefine: dired-smart-shell-command, shell-command(-on-region).
4190 ;;     Added eval-after load for dired-read-shell-command for dired-aux.el (and for dired-x.el).
4191 ;;     eval-after-load for read-shell-command: Don't do it only when mailcap can be loaded.
4192 ;; 2009/02/01 dadams
4193 ;;     icicle-define-minibuffer-maps: Bind C-backspace to icicle-up-directory.
4194 ;; 2009/01/25 dadams
4195 ;;     icicle-(redefine|restore)-standard-commands:
4196 ;;       Aliases for dired-guess-shell-command, read-shell-command.  Also eval-after-load's.
4197 ;; 2009/01/23 dadams
4198 ;;     icicle-(bind|restore)-other-keymap-keys:
4199 ;;       For sh-mode-map, remap comint-dynamic-complete, don't (un)bind TAB.  Thx to Seb Luque.
4200 ;; 2009/01/18 dadams
4201 ;;     Renamed Open Dired for Saved Completion Candidates to Open Dired for Chosen Files.
4202 ;; 2009/01/06 dadams
4203 ;;     Added to dolist of eval-after-load's: net-utils, rlogin, idlw-shell.
4204 ;; 2009/01/05 dadams
4205 ;;     icicle-(bind|restore)-other-keymap-keys: Treat keys for Shell Script, Ielm, Tcl, and GUD.
4206 ;;     icicle-(redefine|restore)-standard-commands:
4207 ;;       Handle: comint-dynamic-complete-filename, gud-gdb-complete-command.
4208 ;;     Added eval-after-load for gud.
4209 ;;     Added to dolist of eval-after-load's: ielm, gud, sh-script, tcl.
4210 ;; 2009/01/04 dadams
4211 ;;     Added ESS support:
4212 ;;       icicle-(redefine|restore)-standard-commands:
4213 ;;         Added: (icicle|old)-comint-replace-by-expanded-filename,
4214 ;;                (icicle|old)-ess-complete-object-name.
4215 ;;       Added eval-after-load for ess-site and for old-comint-replace-by-expanded-filename.
4216 ;;       Thx to Sebastian Luque.
4217 ;; 2008/12/30 dadams
4218 ;;     icicle-mode: Don't add/remove hook icicle-shell-hook-fn.
4219 ;;                  Don't call icicle-(un)bind-isearch-keys.
4220 ;;     Renamed: icicle-rebind-other-keymap-keys to icicle-bind-other-keymap-keys.
4221 ;;     icicle-(bind|restore)-other-keymap-keys:
4222 ;;       Call icicle-(un)bind-isearch-keys here.
4223 ;;       Bind/restore icicle-comint-command here.
4224 ;;       Don't use eval-after-load.  Instead, define keys if the maps are defined.
4225 ;;       Bind/restore shell keys only if icicle-redefine-standard-commands-flag is true.
4226 ;;     icicle-minibuffer-setup:
4227 ;;       Remove redundant code that calls icicle-define-cycling-keys for each minibuffer map.
4228 ;;     icicle-define-minibuffer-maps:
4229 ;;       Restore C-g to abort-recursive-edit in minibuffer-local-must-match-map.
4230 ;;     icicle-(redefine|restore)-standard-commands:
4231 ;;       Test fboundp of old-*, not *, for bbdb and comint.
4232 ;;       Do not defalias comint-dynamic-complete-filename or shell-dynamic-complete-*.
4233 ;;     icicle-remap: Moved to icicles-opt.el.
4234 ;;     At end of file:
4235 ;;       eval-after-load comint and bbdb: Turn off icy-mode before fset old-*.
4236 ;;       eval-after-load each of the other keymap libraries: Toggle icy-mode.
4237 ;; 2008/12/26 dadams
4238 ;;     Bind icicle-widen-candidates to M-+, and add it to Minibuf menu.
4239 ;;     Bind icicle-apropos-complete-and-widen to S-backspace.
4240 ;; 2008/12/22 dadams
4241 ;;     Forgot to add/remove icicle-shell-hook-fn to shell-mode-hook for Emacs 20.
4242 ;;     icicle-bind-completion-keys, icicle-define-icicle-maps: Added icicle-regexp-quote-input.
4243 ;; 2008/12/21 dadams
4244 ;;     icicle-(redefine|restore)-standard-commands: Added comint-*, shell-*.
4245 ;;     Renamed *-(rebind|restore)-non-completion-keys to *-(rebind|restore)-other-keymap-keys.
4246 ;;     icy-mode: Add/remove icicle-shell-hook-fn to shell-mode-hook.
4247 ;;     icicle--(rebind|restore)-other-keymap-keys:
4248 ;;       Don't rebind Info keys unless icicle-redefine-standard-commands-flag.
4249 ;;       Wrap Dired key bindings in eval-after-load.
4250 ;;     icicle-restore-other-keymap-keys: Corrected (updated) Dired keys.
4251 ;; 2008/12/07 dadams
4252 ;;     icicle-minibuffer-setup:
4253 ;;       Add completing prompt prefix here, using icicle-completion-prompt-overlay.
4254 ;;       Removed icicle-prompt.
4255 ;; 2008/12/05 dadams
4256 ;;     icicle-(bind|restore)-completion-keys: Bind C-v, M-v to scroll *Completions* window.
4257 ;; 2008/11/14 dadams
4258 ;;     icicle-toggle-hiding-common-match:
4259 ;;       icy-mode: Mention it in doc string, icicle-define-icicle-maps: Add it to menus.
4260 ;;       icicle-bind-completion-keys: Bind it to C-M-.
4261 ;;     icicle-minibuffer-setup:
4262 ;;       Use (cadr (buffer-list)), not other-buffer, for icicle-pre-minibuffer-buffer
4263 ;; 2008/11/04 dadams
4264 ;;     icicle-define-icicle-maps: No longer bind icicle-generic-S-tab keys (obsolete).
4265 ;;     Renamed:
4266 ;;       *-(un)bind-S-TAB-in-keymaps-from to *-(un)bind-key-completion-keys-in-keymaps-from,
4267 ;;       *-(un)bind-S-TAB-for-map-variable to *-(un)bind-key-completion-keys-for-map-var.
4268 ;;     icicle-(un)bind-key-completion-keys-in-keymaps-from:
4269 ;;       icicle-generic-S-tab-keys -> icicle-key-complete-keys.
4270 ;;       Respect icicle-complete-key-anyway-flag.
4271 ;;     icicle-define-minibuffer-maps: *-generic-S-tab-keys -> *-previous-candidate-keys.
4272 ;;     icicle-(bind|restore)-completion-keys: *-generic-S-tab-keys -> *-apropos-complete-keys.
4273 ;;     icicle-(un)bind-isearch-keys: *-generic-S-tab-keys -> *-search-from-isearch-keys.
4274 ;; 2008/11/03 dadams
4275 ;;     Applied renamings from icicles-cmd.el.
4276 ;; 2008/11/01 dadams
4277 ;;     Require cl.el at compile time for all Emacs versions, not just 20.
4278 ;; 2008/10/14 dadams
4279 ;;     icy-mode: No longer call icicle-update-help-string.
4280 ;;     Renamed: *-update-help-string to *-help-string-completion and moved to icicles-mcmd.el.
4281 ;;     Renamed: icicle-rebind-completion-maps to icicle-define-minibuffer-maps.
4282 ;;     Applied renaming from icicles-mcmd.el: icicle-completion-help to icicle-minibuffer-help.
4283 ;;     icicle-define-minibuffer-maps:
4284 ;;       Bound icicle-minibuffer-help also in non-completion minibuffer maps and *Completions*.
4285 ;;       Bound icicle-yank-secondary in minibuffer-local-isearch-map also.
4286 ;;     icicle-(bind|restore)-completion-keys: Only bind icicle-minibuffer-help if not inherited.
4287 ;; 2008/10/12 dadams
4288 ;;     icicle-rebind-non-completion-keys (and undo in icicle-restore-non-completion-keys):
4289 ;;       Ibuffer mode: Bind M-s i to icicle-search-ibuffer-marked and add to Operate menu.
4290 ;;       Buffer Menu mode: Bind M-s i to icicle-search-buff-menu-marked.
4291 ;;       Dired mode: Change binding of icicle-search-dired-marked from M-s to M-s i.
4292 ;;                   Removed vestigial binding to C-M-r.
4293 ;;       Make eval-after-load for "info" unconditional.
4294 ;; 2008/10/11 dadams
4295 ;;     icicle-update-help-string, icicle-(bind|restore)-completion-keys:
4296 ;;       icicle-kill-failed-input -> icicle-goto/kill-failed-input.
4297 ;;     icicle-define-cycling-keys: Typo: icicle-apropos-cycle-previous-keys -> *-action*.
4298 ;; 2008/10/10 dadams
4299 ;;     icicle-minibuffer-setup:
4300 ;;       Make icicle-current-completion-mode respect *-cycling-respects-completion-mode-flag.
4301 ;;       Initial *Completions* display respects icicle-cycling-respects-completion-mode-flag.
4302 ;;     icicle-minibuffer-setup, icicle-bind-completion-keys: Use icicle-define-cycling-keys.
4303 ;;     icicle-restore-completion-keys: Restore (C-)up, (C-)down, (C-)next, (C-)prior.
4304 ;;     Added: icicle-define-cycling-keys.
4305 ;; 2008/10/08 dadams
4306 ;;     icicle-bind-completion-keys:
4307 ;;       Bind icicle-candidate-set-retrieve-more to C-<.  Add to Minibuf menu.
4308 ;;     icicle-define-icicle-maps, icicle-update-help-string: Remove C-< for angle brackets.
4309 ;;     icicle-minibuffer-setup:
4310 ;;       Set icicle-pre-minibuffer-buffer to (other-buffer nil t), not (cadr (buffer-list).
4311 ;; 2008/10/04 dadams
4312 ;;     icicle-(redefine|restore)-std-completion-fns:
4313 ;;       Substitute Icicles version of completing-read-multiple and maps.  Thx to Per Nordlow.
4314 ;;     icy-mode doc string: Typo - thx to Richard Kim.
4315 ;; 2008/10/01 dadams
4316 ;;     icicle-update-help-string: Added current values for toggles.  Moved toggles near top.
4317 ;;     Added: icicle-S-iso-lefttab-to-S-TAB.
4318 ;; 2008/09/30 dadams
4319 ;;     icicle-bind-isearch-keys: For icicle-generic-S-tab-keys, read the search string using
4320 ;;       icicle-isearch-complete-past-string.
4321 ;; 2008/09/13 dadams
4322 ;;     Use renamings from icicles-mcmd.el:
4323 ;;       icicle-candidate-set-save-to-cache-file to icicle-candidate-set-save-persistently,
4324 ;;       icicle-candidate-set-retrieve-from-cache-file to *-candidate-set-retrieve-persistent.
4325 ;; 2008/09/11 dadams
4326 ;;     icicle-define-icicle-maps: Added icicle-grep-saved-file-candidates to menus.
4327 ;; 2008/09/09 dadams
4328 ;;     Use renamings from icicles-cmd.el:
4329 ;;       icicle-candidate-set-dired-marked-save-* to icicle-dired-save-marked-*.  
4330 ;;     Bind: icicle-dired-save-marked-* to C(-M)->, not C(-M)-),
4331 ;;           icicle-dired-saved-file-candidates-other-window to C-M-<, not C-M-r,
4332 ;;           icicle-dired-save-marked-(to-variable|as-project) to C-M-}, C-},
4333 ;;           icicle-dired-project-other-window to C-{.
4334 ;;     Add to Dired > Multiple (or Operate) > Icicles menu: icicle-dired-save-marked-as-project.
4335 ;;     Add to Dired > Dir and File > Icicles menus: icicle-dired-project-other-window.
4336 ;;     Removed from File > Icicles menu: icicle-dired-saved-file-candidates.
4337 ;; 2008/08/22 dadams
4338 ;;     icicle-update-help-string: Removed mention of icicle-Completions-window-default-width.
4339 ;; 2008/08/21 dadams
4340 ;;     icicle-define-icicle-maps: Replace icicle-find-file(-*) with icicle-file.
4341 ;;     icicle-mode doc string, icicle-update-help-string: Updated for new cmds icicle-file etc.
4342 ;;     Define BBDB aliase only if BBDB is loaded. 
4343 ;; 2008/08/17 dadams
4344 ;;     icicle-rebind-completion-maps: Bind mouse wheel for completion-list-mode-map.
4345 ;; 2008/08/12 dadams
4346 ;;     icicle-define-icicle-maps: Add :keys for icicle-goto(-global)-marker.
4347 ;; 2008/08/08 dadams
4348 ;;     icicle-define-icicle-maps:
4349 ;;       Added icicle-goto(-global)-marker to icicle-(bookmark|search)-menu-map.
4350 ;;     Soft require of menu-bar+.el, instead of just eval-when-compile.
4351 ;; 2008/08/07 dadams
4352 ;;     icicle-(redefine|restore)-*: Don't use symbol-function for target of defalias.
4353 ;; 2008/08/04 dadams
4354 ;;     Use condition-case when require mb-depth+.el.
4355 ;;     icicle-(rebind|restore)-completion-maps, icicle-bind-completion-keys:
4356 ;;       Updated Minibuf menu to add icicle-clear-current-history.
4357 ;;     icicle-restore-completion-keys:
4358 ;;       Added: (alt-)action(-list)-all, icicle-save-predicate-to-variable.
4359 ;; 2008/08/03 dadams
4360 ;;     icicle-mode: Updated doc string.
4361 ;;     icicle-update-help-string: Added clear-history stuff and changed bindings.
4362 ;;     icicle-rebind-completion-maps: Added binding: icicle-clear-current-history (M-i).
4363 ;;     icicle-bind-completion-keys:
4364 ;;       Added to Minibuf menu: icicle-all-candidates(-list)(-alt)-action.
4365 ;;       Added bindings: icicle-all-candidates-list-action (M-!),
4366 ;;                       icicle-all-candidates-list-alt-action (M-|),
4367 ;;                       icicle-clear-current-history (M-i).
4368 ;;       Changed bindings:
4369 ;;         icicle-all-candidates-alt-action (C-S-insert to C-|)
4370 ;;         icicle-toggle-expand-to-common-match (C-| to C-;),
4371 ;;         icicle-toggle-search-replace-common-match (C-M-| to M-;),
4372 ;;       
4373 ;; 2008/08/01 dadams
4374 ;;     icicle-mode: Std mb-depth.el renamed *-indicate-depth-mode  to *-depth-indicate-mode.
4375 ;; 2008/07/30 dadams
4376 ;;     icicle-update-help-string: Make C-M-) more obvious for clearing saved candidates.
4377 ;; 2008/07/23 dadams
4378 ;;     Renamed: icicle-map to icicle-apply.
4379 ;; 2008/07/21 dadams
4380 ;;     icicle-(redefine|restore)-standard-commands: Added icicle-bbdb-complete.
4381 ;; 2008/06/03 dadams
4382 ;;     icy-mode: Added icicle-toggle-C-for-actions to doc string.
4383 ;;     icicle-define-icicle-maps: Added icicle-toggle-C-for-actions to menus.
4384 ;;     icicle-update-help-string:
4385 ;;       Mention icicle-insert-history-element, icicle-toggle-C-for-actions.
4386 ;;     icicle-bind-completion-keys: Bindings according to icicle-use-C-for-actions-flag.
4387 ;;     icicle-(bind|restore)-completion-keys: Bind/unbind M-g.
4388 ;; 2008/05/27 dadams
4389 ;;     Renamed: icicle-(un)bind-isearch-completion-keys to icicle-(un)bind-isearch-keys.
4390 ;;     icicle-bind-isearch-keys: Bind S-TAB to icicle-search, C-o to isearch-(m)occur.
4391 ;;                               Likewise, icicle-unbind-isearch-keys.
4392 ;; 2008/05/25 dadams
4393 ;;     Renamed: icicle-bind-isearch-keys to icicle-bind-isearch-completion-keys.
4394 ;;     Added: icicle-unbind-isearch-completion-keys.
4395 ;;     icy-mode: icicle-(un)bind-isearch-completion-keys instead of updating isearch-mode-hook.
4396 ;;     icicle-bind-isearch-completion-keys:
4397 ;;       Don't bind anything in minibuffer-local-isearch-map (overridden by icicle-mode-map).
4398 ;; 2008/05/22 dadams
4399 ;;     icicle-update-help-string: Mention C-u for read-file-name-completion-ignore-case.
4400 ;; 2008/05/11 dadams
4401 ;;     Moved icicle-bind-top-level-commands to icicles-opt.el (and added optional arg).
4402 ;;     Renamed icicle-fit-Completions-window to icicle-fit-completions-window.
4403 ;; 2008/05/10 dadams
4404 ;;     Renamed: icicle-bind-top-level-commands-alist to icicle-top-level-key-bindings.
4405 ;;     icicle-bind-top-level-commands: Don't eval the key (binding).
4406 ;; 2008/05/07 dadams
4407 ;;     icicle-define-icicle-maps: Use icicle-bind-top-level-commands instead of hard-coding.
4408 ;;     icicle-update-help-string: icicle-bind-*-flag -> icicle-bind-*-alist.
4409 ;; 2008/04/25 dadams
4410 ;;     icicle-(redefine|restore)-std-completion-fns:
4411 ;;       Never set icicle-old-read-file-name-fn to icicle-read-file-name.
4412 ;;         Thx to Alexey Romanov and Per Nordlow.
4413 ;;     icicle-define-icicle-maps, icicle-(bind|restore)-completion-keys:
4414 ;;       Bound icicle-toggle-remote-file-testing (C-^).
4415 ;;       icicle-toggle-ignored-space-prefix is now bound to M-_, not C-^.
4416 ;;     icicle-update-help-string: Updated bindings accordingly.
4417 ;; 2008/04/18 dadams
4418 ;;     Renamed icicle-init-value-flag to icicle-default-value.
4419 ;; 2008/03/30 dadams
4420 ;;     icicle-(redefine|restore)-std-completion-fns:
4421 ;;       Set and swap read-file-name-function and icicle-old-read-file-name-fn for Emacs 22+.
4422 ;;     Top-level:
4423 ;;       Moved fset old-read-file-name here, renamed it orig-read-file-name.  Not for Emacs 22.
4424 ;; 2008/03/29 dadams
4425 ;;     icicle-mode: No longer use icicle-control-reminder-prompt on kill-emacs-hook.
4426 ;;     icicle-update-help-string:
4427 ;;       Removed: icicle-completing(-mustmatch)-prompt-prefix, icicle-reminder-prompt-flag.
4428 ;;     icicle-rebind-completion-maps: Remove code setting icicle-prompt-suffix (removed).
4429 ;; 2008/03/26 dadams
4430 ;;     Added icicle-Info-menu to icicle-mode doc string and icicle-update-help-string.
4431 ;;     icicle-define-icicle-maps: Added icicle-Info-menu to menus.
4432 ;;     icicle-(rebind|restore)-non-completion-keys: Bind/restore icicle-Info-menu-cmd.
4433 ;; 2008/03/23 dadams
4434 ;;     Added: icicle-handle-switch-frame.
4435 ;;     icicle-(rebind|restore)-non-completion-keys:
4436 ;;       Bind switch-frame to icicle-handle-switch-frame globally, and restore.
4437 ;; 2008/03/19 dadams
4438 ;;     Remap (pp-)eval-expression to new icicle-pp-eval-expression.
4439 ;;     Replace lambdas by icicle-pp-eval-expression-in-minibuffer.
4440 ;;     Use icicle-pp-eval-expression-in-minibuffer (new) in help string.
4441 ;;     icicle-rebind-completion-maps: Bind M-: to icicle-pp-eval-expression-in-minibuffer.
4442 ;;       Bind icicle-insert-newline-in-minibuffer in all minibuffer maps (likewise, non-icy).
4443 ;;       Bind C-g in minibuffer-local-must-match-map, even if inherit.
4444 ;;     icicle-bind-completion-keys: Don't bind in must-match if it inherits:
4445 ;;       C-a, C-e, C-=, M-k, M-o, M-., M-:, C-M-y, M-S-(backspace|delete)
4446 ;; 2008/03/09 dadams
4447 ;;     icicle-mode: Add icicle-unhighlight-lighter to minibuffer-exit-hook.
4448 ;; 2008/03/07 dadams
4449 ;;     icicle-abort-minibuffer-input:  Thx to Damon Permezel.
4450 ;;       Make it always call abort-recursive-edit.  Renamed to icicle-abort-recursive-edit.
4451 ;; 2008/02/28 dadams
4452 ;;     icicle-define-icicle-maps: Don't bind pop-tag-mark (M-*) in icicle-mode-map for Emacs 21.
4453 ;; 2008/02/26 dadams
4454 ;;     Remapped where-is to icicle-where-is.
4455 ;;     Added to Describe > Icicles menu: icicle-describe-option-of-type, icicle-where-is.
4456 ;;     Bound icicle-select-frame to C-x 5 o in Icicle mode.
4457 ;; 2008/02/24 dadams
4458 ;;     icicle-define-icicle-maps: Bound icicle-next-apropos-match-function to M-(.
4459 ;;     Add icicle-next-apropos-match-function to icicle-update-help-string and mode doc string.
4460 ;; 2008/02/23 dadams
4461 ;;     Renamed: icicle-search-tag to icicle-find-tag,
4462 ;;              icicle-find-tag(-other-window) to icicle-find-first-tag(-other-window).
4463 ;;     icicle-define-icicle-maps: Added icicle-tags-search to Tags menu and Search menu.
4464 ;; 2008/02/22 dadams
4465 ;;     Renamed: icicle(-mouse)-save-candidate to icicle(-mouse)-save/unsave-candidate.
4466 ;; 2008/02/13 dadams
4467 ;;     Remapped: find-tag (M-.) to icicle-search-tag, instead of icicle-find-tag
4468 ;;               pop-tag-mark (M-*) to icicle-pop-tag-mark.
4469 ;;     icicle-define-icicle-maps:
4470 ;;       Added icicle-search-tag and icicle-pop-tag-mark to menus.
4471 ;;       Removed icicle-find-tag from menu.  Renamed icicle-find-tag-other-window menu item.
4472 ;; 2008/02/07 dadams
4473 ;;     icicle-(redefine|restore)-std-completion-fns: Protect read-number with fboundp.
4474 ;; 2008/02/03 dadams
4475 ;;     icicle-(redefine|restore)-std-completion-fns: Added (icicle|old)-choose-completion.
4476 ;; 2008/01/30 dadams
4477 ;;     Bound icicle-yank-secondary and icicle-mouse-yank-secondary.
4478 ;; 2008/01/15 dadams
4479 ;;     Require dired.el.  Soft-require dired+.el. Thx to Fabrice Knevez.
4480 ;; 2008/01/13 dadams
4481 ;;     icicle-(rebind|restore)-non-completion-keys:
4482 ;;       Bound [handle-switch-frame] to icicle-skip-this-command globally.
4483 ;;     Added: icicle-skip-this-command.
4484 ;; 2008/01/02 dadams
4485 ;;     icicle-(rebind|restore)-non-completion-keys: Bound icicle-search-dired-marked to M-s.
4486 ;;     icicle-define-icicle-maps: Added icicle-search-dired-marked to Dired>Multiple>Icicles.
4487 ;; 2008/01/01 dadams
4488 ;;     icicle-*-non-completion-keys: Bound icicle-candidate-set-dired-marked-save(-more).
4489 ;;     icicle-define-icicle-maps: Added Icicles submenu for Dired > Multiple (Operate) menu.
4490 ;; 2007/12/31 dadams
4491 ;;     Bound icicle-insert-list-join-string to C-M-j.  Update icicle-update-help-string.
4492 ;; 2007/12/24 dadams
4493 ;;     icicle-rebind-completion-maps: Bound C-j to also refit the minibuffer frame.
4494 ;; 2007/12/20 dadams
4495 ;;     Bound icicle-dired-saved-file-candidates-other-window in Dired to C-M-r.
4496 ;;     Bound icicle-describe-option-of-type to C-h C-o, not C-h M-o.
4497 ;; 2007/12/18 dadams
4498 ;;     icicle-define-icicle-maps: Bind icicle-describe-option-of-type to C-h M-o.
4499 ;; 2007/12/14 dadams
4500 ;;     icicle-mode: Only add to kill-emacs-hook if icicle-customize-save-flag is non-nil.
4501 ;; 2007/12/13 dadams
4502 ;;     icicle-update-help-string: spell out options, don't abbreviate using *.
4503 ;; 2007/12/08 dadams
4504 ;;     Bound icicle-(beginning|end)-of-line+.
4505 ;; 2007/12/07 dadams
4506 ;;     icicle-rebind-completion-maps: Removed obsolete stuff from doc string.
4507 ;; 2007/12/03 dadams
4508 ;;     Renamed longest common match (lcm) to expanded common match (ecm).
4509 ;; 2007/11/29 dadams
4510 ;;     icicle-minibuffer-setup: If icicle-add-proxy-candidates-flag is nil, swap candidate sets.
4511 ;;                              Reset icicle-saved-proxy-candidates to nil.
4512 ;; 2007/11/27 dadams
4513 ;;     icicle-(redefine|restore)-std-completion-fns: Added read-number.
4514 ;; 2007/11/25 dadams
4515 ;;     icicle-define-icicle-maps: Bound icicle-command-abbrev to C-x SPC.
4516 ;;     icicle-mode: Use icicle-command-abbrev-save on kill-emacs-hook.
4517 ;;     Changed binding of icicle-doremi-inter-candidates-min-spaces from C-x SPC to C-x |.
4518 ;; 2007/11/23 dadams
4519 ;;     icicle-rebind-completion-maps:
4520 ;;       Use icicle-prefix-cycle-(next|previous)-keys, instead of hardcoding.
4521 ;;     icicle-(bind|restore)-completion-keys:
4522 ;;       Use icicle-(apropos|prefix)-cycle-(next|previous)-keys, instead of hardcoding.
4523 ;;       Restore explicit vanilla bindings last.
4524 ;; 2007/11/22 dadams
4525 ;;     icicle-(bind|restore)-completion-keys:
4526 ;;       Explicitly bind/restore (C-)up, (C-)down, (C-)next, (C-)(C-)prior, instead of
4527 ;;         remapping next-line etc.
4528 ;; 2007/11/21 dadams
4529 ;;     icicle-rebind-completion-maps: Explicitly bind C-j to icicle-self-insert.
4530 ;;     icicle-(bind|restore)-completion-keys, icicle-update-help-string:
4531 ;;       Removed C-o binding for icicle-candidate-action.
4532 ;; 2007/11/17 dadams
4533 ;;     Added doc, menus, bindings (C-M-_): icicle-toggle--proxy-candidates.
4534 ;; 2007/11/05 dadams
4535 ;;     icicle-define-icicle-maps: Moved [Icy] items to Icicles submenus.
4536 ;;     Added: icicle-(bookmark|custom|describe|edit|file|frames|info|search(-tags))-menu-map.
4537 ;; 2007/11/03 dadams
4538 ;;     icicle-define-icicle-maps, icicle-bind-S-TAB-in-keymaps-from,
4539 ;;       icicle-unbind-S-TAB-in-keymaps-from, icicle-rebind-completion-maps,
4540 ;;       icicle-bind-completion-keys:
4541 ;;         Bind icicle-generic-S-tab-keys instead of hard-coded S-(iso-left)tab.
4542 ;;     icicle-(bind|restore)-completion-keys:
4543 ;;       Bind/restore icicle-prefix-complete-keys,
4544 ;;         icicle-(apropos|prefix)-complete-keys-no-display, not hard-coded keys.
4545 ;;     icicle-bind-isearch-keys: Bind icicle-isearch-complete-keys, not hard-coded.
4546 ;;     Renamed icicle-modal-cycle-(up|down)-key to icicle-modal-cycle-(up|down)-keys,
4547 ;;             icicle-word-completion-key to icicle-word-completion-keys.
4548 ;; 2007/10/31 dadams
4549 ;;     icicle-define-icicle-maps:
4550 ;;       Moved options to new Icicles submenu of Options menu, and removed [Icy].  Added :keys.
4551 ;;     Added: icicle-options-menu-map.
4552 ;; 2007/10/28 dadams
4553 ;;     Added doc, menus, bindings (C-|, C-M-|):
4554 ;;       icicle-toggle-(expand-to-common-match|search-replace-common-match).
4555 ;; 2007/10/21 dadams
4556 ;;     icicle-(bind|restore)-completion-keys: Bind C-x w and C-x SPC.
4557 ;;     icicle-define-icicle-maps: Add Do Re Mi items.
4558 ;;     icicle-mode, icicle-update-help-string: Mention C-x w and C-x SPC.
4559 ;; 2007/09/29 dadams
4560 ;;     icicle-mode, icicle-define-icicle-maps, icicle-update-help-string:
4561 ;;       Added icicle-toggle-fuzzy-completion (and icicle-fuzzy-completion-flag to help string).
4562 ;;     icicle-(bind|restore)-completion-keys: Bind/unbind icicle-toggle-fuzzy-completion to C-(.
4563 ;; 2007/09/20 dadams
4564 ;;     icicle-(bind|restore)-completion-keys: Bind C-j to icicle-self-insert / exit-minibuffer.
4565 ;; 2007/09/18 dadams
4566 ;;     Added: icicle-update-help-string.  Use in icy-mode, not in icicle-rebind-completion-maps.
4567 ;;            Removed icicle-toggle-WYSIWYG-Completions (it has no minibuffer binding).
4568 ;; 2007/08/25 dadams
4569 ;;     icy-mode, icicle-completion-help-string:
4570 ;;       icicle-clear-option -> clear-option.  Added toggle alias.
4571 ;; 2007/08/21 dadams
4572 ;;     icicle-completion-help-string: Mention C-M-l.
4573 ;; 2007/08/19 dadams
4574 ;;     icicle-minibuffer-setup: Reset icicle-input-fail-pos.
4575 ;;     icicle-(bind|restore)-completion-keys:
4576 ;;       (Re|un)map reposition-window to icicle-kill-failed-input.
4577 ;; 2007/08/03 dadams
4578 ;;     icicle-mode: Remove icicle* hooks from local, not global, hooks.
4579 ;; 2007/07/22 dadams
4580 ;;     icicle-(redefine|restore)-standard-commands: Added customize-face(-other-window).
4581 ;;     Moved icicle-completing-p to icicles-fn.el.
4582 ;;     Require icicles-cmd.el.
4583 ;; 2007/07/06 dadams
4584 ;;     icicle-rebind-completion-maps:
4585 ;;       Moved icicle-Completions-mouse-3-menu to C-mouse-3.
4586 ;;       Added icicle(-mouse)-candidate-set-save(-more)-selected, icicle-candidate-set-retrieve,
4587 ;;             icicle-retrieve-previous-input.
4588 ;;     icicle-completion-help-string: Added icicle-candidate-set-save(-more)-selected.
4589 ;;     icicle-bind-completion-maps:
4590 ;;       Removed icicle-insert-history-element (inherited).
4591 ;;       Added: icicle-candidate-set-save-more(-selected), icicle-mouse-save-then-kill.
4592 ;; 2007/07/04 dadams
4593 ;;     icicle-rebind-completion-maps, icicle-(bind|restore)-completion-keys:
4594 ;;       Added icicle-insert-history-element to Minibuf menu.
4595 ;;     icicle-(bind|restore)-completion-keys:
4596 ;;       Added icicle-retrieve-(next|previous)-input to Minibuf menu.
4597 ;; 2007/07/03 dadams
4598 ;;     icicle-rebind-completion-maps, icicle-bind-completion-keys:
4599 ;;       Bind icicle-insert-history-element to M-o in all minibuffer maps.
4600 ;;     icicle-bind-completion-keys, icicle-completion-help-string:
4601 ;;       icicle-retrieve-(next|previous)-input, not icicle-retrieve-last-input.
4602 ;;     icicle-(redefine|restore)-std-completion-fns:
4603 ;;       defalias next-history-element to icicle-next-history-element.
4604 ;;     Removed defadvice for next-history-element.  Redefine in icicles-mcmd.el instead.
4605 ;; 2007/06/22 dadams
4606 ;;     Bound icicle-search-keywords and added to menus and help strings.
4607 ;; 2007/06/20 dadams
4608 ;;     Removed M-o binding for icicle-toggle-WYSIWYG-Completions.
4609 ;; 2007/06/19 dadams
4610 ;;     icicle-bind-completion-keys: Add icicle-save-predicate-to-variable to menus.
4611 ;;     icicle-completion-help-string:
4612 ;;       Mention icicle-save-predicate-to-variable and icicle-insert-string-from-variable.
4613 ;; 2007/06/18 dadams
4614 ;;     icy-mode doc string, icicle-completion-help-string: Added icicle-customize-face.
4615 ;;     icicle-define-icicle-maps: Added icicle-customize-face to menus.
4616 ;; 2007/06/17 dadams
4617 ;;     Bound icicle-toggle-WYSIWYG-Completions to M-o.
4618 ;;     icicle-minibuffer-setup: Reinitialize icicle-saved-candidate-overlays.
4619 ;; 2007/06/16 dadams
4620 ;;     icicle-(bind|restore)-completion-keys: Bound C-M-(help|f1).
4621 ;; 2007/06/15 dadams
4622 ;;     icicle-completion-help-string: Added and cleaned up set stuff.
4623 ;;     icicle-(bind|restore)-completion-keys: Cleanup.  Added menu items.
4624 ;; 2007/06/14 dadams
4625 ;;     Swap bindings for C-insert and insert.
4626 ;; 2007/06/13 dadams
4627 ;;     Bound C-insert and C-> to icicle-save-candidate and icicle-candidate-set-save-more.
4628 ;; 2007/06/12 dadams
4629 ;;     icicle-rebind-completion-maps: Bound icicle-mouse-save-candidate to M-S-mouse-2.
4630 ;; 2007/06/10 dadams
4631 ;;     icicle-mode: comint-mode-hook, compilation(-minor)-mode-hook, temp-buffer-show-hook.
4632 ;; 2007/06/08 dadams
4633 ;;     icy-mode: Added icicle-find-tag* to doc string.
4634 ;;     icicle-define-icicle-maps:
4635 ;;       Added icicle-find-tag*.  Remap find-tag* to icicle-find-tag*.
4636 ;;       Corrected Info menu.
4637 ;;     icicle-completion-help-string: Added icicle-find-tag*.
4638 ;; 2007/05/28 dadams
4639 ;;     icicle-restore-non-completion-keys: Unbind S-tab.
4640 ;;     Added: icicle-unbind-S-TAB-for-map-variable, icicle-unbind-S-TAB-in-keymaps-from.
4641 ;;     icicle-bind-S-TAB-in-keymaps-from: Treat S-tab and S-iso-lefftab separately.
4642 ;;     icicle-define-icicle-maps: Added icicle-imenu-* to Icicles/Search menus.
4643 ;; 2007/05/22 dadams
4644 ;;     Make [Icy] menu items invisible when not in Icicle mode.  Add :keys where appropriate.
4645 ;;     icicle-define-icicle-maps, icicle-rebind-completion-maps,
4646 ;;     icicle-(bind|restore)-completion-keys:
4647 ;;       icicle-menu-item-any-version -> menu-item.  Explicit put of enable property -> :enable.
4648 ;;     Don't require icicles-mac.el.
4649 ;;     icicle-bind-completion-keys: Added icicle-narrow-candidates, and corrected :enable forms.
4650 ;; 2007/05/21 dadams
4651 ;;     icicle-define-icicle-maps:
4652 ;;       Remap minibuffer-keyboard-quit to icicle-abort-minibuffer-input.  Needed, even though
4653 ;;         local-must-match inherits from local-completion in Emacs 22, because delsel.el binds
4654 ;;         C-g to minibuffer-keyboard-quit in minibuffer maps.
4655 ;;     menu-item-any-version -> icicle-menu-item-any-version.
4656 ;;     Added Icicles/Search menu items:
4657 ;;       Search (Buffer|File|Saved Region|All Saved Regions|Definition|Text Property).
4658 ;;     Renamed: Search a Region -> Search Saved Region, Choose a Region -> Choose Saved Region,
4659 ;;              Add Current Region to List -> Save Current Region.
4660 ;; 2007/05/20 dadams
4661 ;;     Enable menu-bar Minibuf:
4662 ;;       icicle-rebind-completion-maps:
4663 ;;         Use menu-item-any-version.
4664 ;;         Don't define menu for maps if it is defined by parent map.
4665 ;;         Add Enter and Help items for *-local-map.
4666 ;;         Add Enter, Help and Quit items for *-local-(ns|isearch)-map.
4667 ;;       icicle-bind-completion-keys:
4668 ;;         Use menu-item-any-version.
4669 ;;         Add Enter item for *-local-completion-map, unless defined by parent map.
4670 ;;       icicle-restore-completion-keys:
4671 ;;         Use menu-item-any-version.
4672 ;;         Add Enter and Quit items for *-local-completion-map, unless defined by parent map.
4673 ;;         Do not unmap kill-region(-wimpy).
4674 ;;         Bind [(control pause)] to nil.
4675 ;; 2007/05/13 dadams
4676 ;;     icicle-restore-completion-keys: Restore some forgotten minibuf menu items.
4677 ;; 2007/05/08 dadams
4678 ;;     Bound icicle-save-predicate-to-variable to C-M-&.
4679 ;; 2007/05/06 dadams
4680 ;;     icicle-rebind-completion-maps: Updated icicle-completion-help-string.
4681 ;;     Added defvars to quiet byte compiler.
4682 ;;     Changed S-C- to C-S- and M-C- to C-M- in doc.
4683 ;; 2007/05/03 dadams
4684 ;;     Remap icicle-yank-function, not yank.
4685 ;;     icicle-define-icicle-maps: Bind icicle-search-word.
4686 ;;     icicle-mode, icicle-completion-help-string: Add icicle-search-word to doc.
4687 ;; 2007/05/02 dadams
4688 ;;     Bound M-q to icicle-dispatch-M-q, not to icicle-insert-key-description.
4689 ;;     Bound C-` to icicle-toggle-regexp-quote, not to icicle-dispatch-C-backquote.
4690 ;;     Bound C-M-` to icicle-toggle-literal-replacement.
4691 ;;     Update icicle-completion-help-string.
4692 ;; 2007/04/20 dadams
4693 ;;     icicle-minibuffer-setup: Don't reset icicle-search-context-level here.
4694 ;; 2007/04/17 dadams
4695 ;;     Bound M-, to icicle-dispatch-M-comma, not to icicle-change-alternative-sort-order.
4696 ;;     Bound C-` to icicle-dispatch-C-backquote, not to icicle-toggle-regexp-quote.
4697 ;; 2007/04/10 dadams
4698 ;;     icicle-minibuffer-setup: Initialize icicle-search-context-level.
4699 ;; 2007/04/09 dadams
4700 ;;     Bound icicle-imenu to C-c =.
4701 ;; 2007/04/08 dadams
4702 ;;     Bound icicle-all-candidates-alt-action to C-S-insert.
4703 ;; 2007/04/07 dadams
4704 ;;     icicle-completion-help-string: Updated.
4705 ;;     Bound icicle-dispatch-C-comma to C-,.
4706 ;;     Bound in menu: icicle-toggle-search-replace-whole.
4707 ;;     Bound icicle-(next|previous)-(apropos|prefix)-candidate-alt-action (forgot).
4708 ;; 2007/04/02 dadams
4709 ;;     Bound icicle-search-text-property to C-c ".  Added it to icicle-completion-help-string.
4710 ;; 2007/03/23 dadams
4711 ;;     Bound icicle-apropos-complete-and-narrow to S-SPC.  Mention in *-completion-help-string.
4712 ;; 2007/03/14 dadams
4713 ;;     Added: icicle-top-level-prep.
4714 ;;     Removed: icicle-reset-candidates-alist.
4715 ;;     Do top-level stuff in icicle-minibuffer-setup, not in icicle-mode.
4716 ;;     icicle-minibuffer-setup: Add icicle-top-level-prep to pre-command-hook.
4717 ;;     icicle-mode: Remove icicle-top-level-prep from pre-command-hook.
4718 ;; 2007/03/07 dadams
4719 ;;     icicle-cancel-Help-redirection: Use 0, not t, as frame arg to get-buffer-window.
4720 ;; 2007/03/02 dadams
4721 ;;     icicle-bind-S-TAB-in-keymaps-from: Bound S-iso-lefttab also.
4722 ;; 2007/03/02 dadams
4723 ;;     icicle-define-icicle-maps:
4724 ;;       Bound S-iso-lefttab also to icicle-generic-S-tab.  Thx to Shreevatsa R.
4725 ;; 2007/02/28 dadams
4726 ;;     Added: icicle-reset-candidates-alist.
4727 ;;     icicle-mode: Use icicle-reset-candidates-alist.
4728 ;; 2007/02/27 dadams
4729 ;;     icicle-minibuffer-setup: Wait icicle-incremental-completion-delay before initial display.
4730 ;; 2007/02/24 dadams
4731 ;;     Bound: delete, S-mouse-2 to icicle(-mouse)-remove-candidate,
4732 ;;            C-S-RET, C-S-mouse-2 to icicle(-mouse)-candidate-alt-action,
4733 ;;            S-delete to icicle-delete-candidate-object.
4734 ;;     Don't remap icicle-kill-region(-wimpy) to delete key.
4735 ;; 2007/02/17 dadams
4736 ;;     Added: icicle-bind-S-TAB-in-keymaps-from, icicle-bind-S-TAB-for-map-variable.
4737 ;;     icicle-rebind-non-completion-keys:
4738 ;;       Bind S-TAB to keymaps in icicle-keymaps-for-key-completion.
4739 ;; 2007/02/02 dadams
4740 ;;     icicle-completing-p: Cache the value in variable icicle-completing-p.
4741 ;;     icicle-minibuffer-setup: Reset icicle-completing-p to nil.
4742 ;;     icicle-activate-mark: Use var, not function, icicle-completing-p, but after minibuf test.
4743 ;; 2007/01/23 dadams
4744 ;;     icicle-(redefine|restore)-std-completion-fns:
4745 ;;       Added icicle-read-face-name, icicle-face-valid-attribute-values.
4746 ;;     icicle-define-icicle-maps, icicle-rebind-completion-maps:
4747 ;;       Updated wrt toggles.  Added icicle*-highlight-historical-candidates*.
4748 ;;     icicle-bind-completion-keys: Added icicle-toggle-highlight-historical-candidates.
4749 ;; 2007/01/22 dadams
4750 ;;     Renamed icicle-regions to icicle-region-alist (forgot occurrences here).
4751 ;; 2007/01/20 dadams
4752 ;;     icicle-(redefine|restore)-std-completion-fns: Added icicle-display-completion-list.
4753 ;; 2007/01/15 dadams
4754 ;;     Moved C-, binding from icicle-toggle-sorting to icicle-change-sort-order.
4755 ;;     Moved icicle-toggle-alternative-sorting from M-, to C-M-,.
4756 ;;     Bound icicle-change-alternative-sort-order to M-,.
4757 ;;     Updated list of options in icicle-completion-help-string.
4758 ;; 2007/01/12 dadams
4759 ;;     Removed: icicle-override-maps-w-minibuffer-map, icicle-restore-overriding-local-map.
4760 ;;              Not used in minibuffer hooks.
4761 ;;     Removed [pause] bindings from minibuffer maps.
4762 ;;     Removed remap of yank in minibuffer maps.
4763 ;;     No longer bind icicle-remove-Completions-window in minibuffer maps.
4764 ;; 2007/01/11 dadams
4765 ;;     Renamed: icicle-define-icicle-mode-map to icicle-define-icicle-maps.
4766 ;;     icicle-define-icicle-maps: Use icicle-menu-map.  Don't recreate it.
4767 ;;     Bound [pause] to icicle-switch-to/from-minibuffer in all minibuffer maps.
4768 ;; 2007/01/10 dadams
4769 ;;     Added: icicle-override-maps-w-minibuffer-map, icicle-restore-overriding-local-map,
4770 ;;            icicle-(rebind|restore)-non-completion-keys.
4771 ;;     Added: icicle-rebind-global: This used to be called icicle-remap.
4772 ;;     icicle-(remap|unmap): Different purpose and use now.  Redefined to use remapping when
4773 ;;        available (as was done before for self-insert-command).
4774 ;;     icicle-mode:
4775 ;;       Add, remove as minibuffer setup and exit hooks: icicle-override-maps-w-minibuffer-map,
4776 ;;                                                       icicle-restore-overriding-local-map.
4777 ;;       Call icicle-(rebind|restore)-non-completion-keys.
4778 ;;     icicle-define-icicle-mode-map:
4779 ;;       Use icicle-remap where previously used substitute-key-definition for top-level cmds.
4780 ;;       Moved to icicle-(rebind|restore)-non-completion-keys:
4781 ;;         binding of Info commands in Info map and S-tab in all keymaps (to *-rebind-* only).
4782 ;;     icicle-(bind|restore)-completion-keys: Use new icicle-(remap|unmap) where possible.
4783 ;;       Use icicle-rebind-global and substitute-key-definition for keys defined in vanilla
4784 ;;         completion maps.
4785 ;; 2007/01/06 dadams
4786 ;;     icicle-mode: Update doc and bind icicle-toggle-~-for-home-dir to M-~.
4787 ;; 2007/01/01 dadams
4788 ;;     Moved assq-delete-all to icicles-fn.el.
4789 ;;     Require at runtime, not compile-time: icicles-var.el, icicles-fn.el.
4790 ;; 2006-12-31 dadams
4791 ;;     icicle-define-icicle-mode-map: Delete icicle-mode entry from minor-mode-map-alist.
4792 ;;     icicle-mode: Unbind icicle-mode-map when the mode is turned off.
4793 ;;     Added assq-delete-all for Emacs 20.
4794 ;;     Use current-global-map function, not global-map variable.
4795 ;; 2006/12/25 dadams
4796 ;;     Bound icicle-candidate-set-truncate to M-$.
4797 ;; 2006/12/24 dadams
4798 ;;     icicle-bind-completion-keys: transpose-yank(-pop) -> yank(-pop): typo.
4799 ;;     Bound mouse-3 to icicle-Completions-mouse-3-menu in completion-list-mode-map.
4800 ;; 2006/12/22 dadams
4801 ;;     Bound icicle-exchange-point-and-mark.
4802 ;;     :group 'icicles -> :group 'Icicles-Miscellaneous.
4803 ;; 2006/12/17 dadams
4804 ;;     Bound icicle(-mouse)-candidate-read-fn-invoke.
4805 ;; 2006/12/16 dadams
4806 ;;     icicle-define-icicle-mode-map: Protect icicle-kmacro with fboundp.
4807 ;; 2006/12/12 dadams
4808 ;;     Added icicle-customize-*-group, icicle-kill-buffer, icicle-delete-windows to I. menu.
4809 ;;     Added + to multi-command menu items.
4810 ;; 2006/12/11 dadams
4811 ;;     Added icicle-customize-apropos* and icicle-Info-* to menu-bar menus.
4812 ;; 2006/12/10 dadams
4813 ;;     Updated user options list in icicle-completion-help-string.
4814 ;;     Updated list of icicle-opt stuff used here.
4815 ;; 2006/12/06
4816 ;;     icicle-select-minibuffer-contents:
4817 ;;       Use icicle-minibuffer-prompt-end, not point-min.  Thx to Erik Postma.
4818 ;; 2006/11/26 dadams
4819 ;;     Added icicle-regions stuff.
4820 ;; 2006/11/24 dadams
4821 ;;     icicle-redefine-standard-options: Treat icicle-kmacro-ring-max.
4822 ;;     Bind icicle-kmacro to f5
4823 ;;     Replaced icicle-select-window-or-frame by icicle-other-window-or-frame.
4824 ;;     Removed binding of icicle-select-frame.
4825 ;;     Do not require mb-depth+.el for Emacs 21 (do it only for Emacs 22).
4826 ;; 2006/11/23 dadams
4827 ;;     Bound icicle-execute-named-keyboard-macro to C-x M-e.
4828 ;; 2006/11/18 dadams
4829 ;;     Soft require mb-depth+.el instead of minibuf-depth.el.
4830 ;; 2006/11/17 dadams
4831 ;;     Bind icicle-select-window-or-frame to whatever other-window(-or-frame) is bound to.
4832 ;;     Bind icicle-select-frame to whatever other-frame is bound to.
4833 ;; 2006/11/09 dadams
4834 ;;     Bind icicle-dispatch-C-^, not icicle-toggle-ignored-space-prefix, to C-^.
4835 ;;     icicle-rebind-completion-maps: Updated doc string for icicle-dispatch-C-^.
4836 ;; 2006/11/05 dadams
4837 ;;     Bound icicle-occur to C-c '.  Added it to menu-bar menus.
4838 ;; 2006/10/18 dadams
4839 ;;     icy-mode: Invoke icicle-define-icicle-mode-map unconditionally, not just first time.
4840 ;; 2006/10/16 dadams
4841 ;;     icicle-define-icicle-mode-map: Try to avoid binding S-TAB to menu maps.
4842 ;; 2006/10/15 dadams
4843 ;;     icicle-define-icicle-mode-map: Simplified, corrected binding of S-TAB for key completion.
4844 ;;                                    Use a separate map for the menu bar.
4845 ;;     Moved here from icicles-fn.el:
4846 ;;       icicle-bind-isearch-keys, icicle-rebind-completion-maps,
4847 ;;       icicle-(redefine|restore)-standard-(commands|options),
4848 ;;       icicle-(redefine|restore)-std-completion-fns, icicle-(re|un)map,
4849 ;;       icicle-(bind|restore)-completion-keys, icicle-minibuffer-setup,
4850 ;;       icicle-cancel-*Help*-redirection, icicle-activate-mark,
4851 ;;       icicle-run-icicle-(pre|post)-command-hook, icicle-set-calling-cmd,
4852 ;;       icicle-undo-std-completion-faces icicle-update-ignored-extensions-regexp,
4853 ;;       icicle-completing-p, icicle-restore-region-face.
4854 ;;     Renamed: icicle-cancel-*Help*-redirection to icicle-cancel-Help-redirection.
4855 ;;     Moved here from icicles-cmd.el: icicle-select-minibuffer-contents, next-history-element.
4856 ;;     Moved to icicles-cmd.el: icicle-generic-S-tab.
4857 ;;     Require icicles-opt.el.
4858 ;;     Added eval-when-compile's and defvars to quite byte compiler.
4859 ;; 2006/09/23 dadams
4860 ;;     icicle-define-icicle-mode-map: Corrected binding of icicle-yank-insert.
4861 ;; 2006/09/22 dadams
4862 ;;     icicle-minibuffer-setup: Set this-command and last-command, for scrolling *Completions*.
4863 ;; 2006/09/18 dadams
4864 ;;     icicle-mode: Picked up all global prefixes for S-TAB.
4865 ;; 2006/09/17 dadams
4866 ;;     Added: icicle-generic-S-tab.  Bound to S-TAB.
4867 ;;     icicle-mode:
4868 ;;       Bound icicle-complete-keys to prefix keys followed by S-TAB.
4869 ;;       Added run-hooks for Emacs 22 version.
4870 ;; 2006/09/12 dadams
4871 ;;     Bound icicle-switch-to/from-minibuffer to [pause].
4872 ;; 2006/08/27 dadams
4873 ;;     Bound icicle-abort-minibuffer-input to what abort-recursive-edit is normally bound to.
4874 ;;       And add it to Icicle menu.
4875 ;; 2006/08/23 dadams
4876 ;;     Bound icicle-delete-window to what delete-window and delete-windows-for are normally
4877 ;;       bound to.
4878 ;;     Put use of Info-mode-map inside an eval-after-load.
4879 ;; 2006/08/18 dadams
4880 ;;     Added icicle-Info-goto-node-cmd to icicle-mode doc string.
4881 ;;       Substitute it for Info-goto-node binding.
4882 ;; 2006/08/13 dadams
4883 ;;     Added icicle-Info-index-cmd to icicle-mode doc string.
4884 ;;       Substitute it for Info-index binding.
4885 ;; 2006/08/04 dadams
4886 ;;     Added icicle-plist to menus.
4887 ;;     icicle-doc treats faces too now.
4888 ;; 2006/08/03 dadams
4889 ;;     Bound icicle-insert-yank to what yank is normally bound to.
4890 ;;     icicle-mode: Updated doc string.
4891 ;; 2006/07/29 dadams
4892 ;;     icy-mode, icicle-define-icicle-mode-map: Added missing toggle commands.
4893 ;; 2006/07/22 dadams
4894 ;;     Changed binding of C-c C-s for icicle-search to C-c ` for icicle-search-generic.
4895 ;;     Removed: add-hooks for icicle-compilation-search - see icicles-cmd.el.
4896 ;; 2006/06/08 dadams
4897 ;;     Converted global bindings in icicles-keys.el to icicle-mode-map bindings here.
4898 ;;     Added f10 binding for icicle-execute-menu-command.
4899 ;; 2006/05/19 dadams
4900 ;;     icicle-mode: (add-hook 'kill-emacs-hook 'icicle-control-reminder-prompt).
4901 ;; 2006/05/18 dadams
4902 ;;     Change :init-value to nil, per new Emacs convention.
4903 ;; 2006/05/13 dadams
4904 ;;     icicle-mode: Updated doc string.
4905 ;; 2006/05/10 dadams
4906 ;;     icicle-define-icicle-mode-map: Added menu item Send Bug Report.
4907 ;; 2006/04/03 dadams
4908 ;;     icicle-define-icicle-mode-map: Added icicle-toggle-(regexp-quote|incremental-completion).
4909 ;; 2006/03/16 dadams
4910 ;;     icicle-mode: Turn on minibuffer-indicate-depth-mode (Emacs 22 only).
4911 ;;     Added soft require of minibuf-depth.el for Emacs 22.
4912 ;; 2006/03/14 dadams
4913 ;;     Do not use icicle-reset-icicle-completing-p as minibuffer-exit-hook.
4914 ;; 2006/03/07 dadams
4915 ;;     Corrected menu items for icicle-doc (no name regexp input, just doc regexp).
4916 ;; 2006/03/05 dadams
4917 ;;     Moved here from icicle-opt.el: icicle-mode, icicle-mode-hook.
4918 ;;     Moved here from icicle-fn.el: icicle-mode-map.
4919 ;;     Added: icicle-define-icicle-mode-map.
4920  
4921 ;;;(@* "CHANGE LOG FOR `icicles-opt.el'")
4922 ;;
4923 ;; 2011/09/05 dadams
4924 ;;     Added: icicle-hide-non-matching-lines-flag.
4925 ;;     icicle-Completions-toggle-submenu: Added icicle-toggle-hiding-non-matching-lines to menu.
4926 ;;     icicle-hide-common-match-in-Completions-flag: Updated doc string (new toggle key).
4927 ;; 2011/09/04 dadams
4928 ;;     Renamed: icicle-complete-keys-self-insert-flag to icicle-complete-keys-self-insert-ranges.
4929 ;;       Define it only for Emacs 22+.
4930 ;;       Made it an alist of char ranges, for Emacs 23+.
4931 ;; 2011/09/02 dadams
4932 ;;     icicle-functions-to-redefine: Added: Info-goto-node, Info-index, Info-menu.
4933 ;; 2011/08/30 dadams
4934 ;;     icicle-thing-at-point-functions:
4935 ;;       symbol-name-nearest-point -> icicle-thing-at-point-functions
4936 ;;       region-or-word-nearest-point -> word-nearest-point
4937 ;; 2011/08/13 dadams
4938 ;;     icicle-top-level-key-bindings: Map bmkp-autofile-set to icicle-bookmark-a-file.
4939 ;; 2011/08/07 dadams
4940 ;;     icicle-top-level-key-bindings: Bind icicle-find-file-tagged(-other-window) to C-x j t a a.
4941 ;; 2011/07/30 dadams
4942 ;;     Moved icicle-increment-color-value to icicles-face.el.
4943 ;;     Require icicles-face.el only if hexrgb.el has been loaded.
4944 ;; 2011/07/27 dadams
4945 ;;     icicle-completions-format, icicle-search-whole-word-flag: Updated doc string.
4946 ;; 2011/07/26 dadams
4947 ;;     Removed: icicle-list-end-string (no longer needed).  Thx to Michael Heerdegen.
4948 ;; 2011/07/06 dadams
4949 ;;     Renamed icicle-Completions-frame-at-right-flag to icicle-move-Completions-frame.
4950 ;;     icicle-move-Completions-frame: Allow for moving frame to the left also.
4951 ;; 2011/06/03 dadams
4952 ;;     Renamed icicle-help-in-mode-line-flag to icicle-help-in-mode-line-delay and changed to 5 secs.
4953 ;; 2011/05/24 dadams
4954 ;;     icicle-functions-to-redefine: Removed (dired-)read-shell-command - turned off by default now.
4955 ;; 2011/05/22 dadams
4956 ;;     icicle-init-value-flag/icicle-default-value: Added 3rd arg for make-obsolete-variable.
4957 ;; 2011/05/14 dadams
4958 ;;     Removed: icicle-thing-types.  Better to get the list dynamically.
4959 ;; 2011/05/13 dadams
4960 ;;     Added: icicle-thing-types.
4961 ;; 2011/05/07 dadams
4962 ;;     Added: icicle-ignore-comments-flag.
4963 ;; 2011/05/03 dadams
4964 ;;     Added: icicle-highlight-saved-candidates-flag.
4965 ;;     icicle-Completions-toggle-submenu: Added icicle-toggle-highlight-saved-candidates to menu.
4966 ;; 2011/04/26 dadams
4967 ;;     icicle-top-level-key-bindings:
4968 ;;       Added icicle-(un)tag-a-file, icicle-find-file-(all|some)-tags-*.
4969 ;;       If you have customized it, re-customize it from scratch or you will miss the new bindings.
4970 ;; 2011/04/02 dadams
4971 ;;     NOTE: IF you customized icicle-top-level-key-bindings and you use Bookmark+, then you will want
4972 ;;           to REMOVE THAT CUSTOMIZATION AND CUSTOMIZE AGAIN.  Otherwise, you will miss Icicles
4973 ;;           multi-command versions of the new Bookmark+ commands.
4974 ;;     icicle-top-level-key-bindings:
4975 ;;       Added icicle-bookmark-file-this-dir-((all|some)-tags(-regexp))(-other-window).
4976 ;; 2011/03/31 dadams
4977 ;;     Renamed icicle-target-window-recenter-amount to icicle-recenter & moved from icicles-var.el.
4978 ;; 2011/03/26 dadams
4979 ;;     icicle-top-level-key-bindings:
4980 ;;       Added: bmkp-file-(all|some)-tags(-regexp)-jump(-other-window).
4981 ;;       Fixed typos: bmkp-(all|some)-tags-regexp-jump (forgot -regexp).  Use fboundp, not featurep. 
4982 ;; 2011/03/22 dadams
4983 ;;     Added autoload cookies for defconsts.
4984 ;; 2011/02/26 dadams
4985 ;;     Added: icicle-Completions-(misc|save/retrieve|sets|sorting|this-candidate|toggle)-submenu,
4986 ;;            icicle-Completions-mouse-3-menu-entries.
4987 ;; 2011/02/22 dadams
4988 ;;     Added: icicle-image-files-in-Completions, icicle-functions-to-redefine.
4989 ;;     Removed: icicle-redefine-standard-commands-flag.
4990 ;; 2011/01/17 dadams
4991 ;;     Added runtime require of cl.el for Emacs 20.  (Emacs 20 does not handle defcustom well.)
4992 ;; 2011/01/12 dadams
4993 ;;     Changed default value of icicle-Completions-text-scale-decrease from 0.66 to 0.75.
4994 ;; 2011/01/02 dadams
4995 ;;     icicle-region-background:
4996 ;;       Use frame param background-mode, not frame-background-mode.  Thx to Le Wang.
4997 ;; 2010/12/26 dadams
4998 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
4999 ;; 2010/12/18 dadams
5000 ;;     Added some missing autoload cookies.
5001 ;; 2010/12/17 dadams
5002 ;;     icicle-thing-at-point-functions: Added to default: list-nearest-point-as-string (1,2,3).
5003 ;; 2010/11/12 dadams
5004 ;;     Added: icicle-(S-)TAB-completion-methods-per-command.
5005 ;; 2010/11/10 dadams
5006 ;;     icicle-top-level-key-bindings: In :set, protect icicle-mode-map with boundp.
5007 ;; 2010/10/25 dadams
5008 ;;     Removed: icicle-search-context-match-predicate (was not used).
5009 ;;     icicle-(buffer|file)-predicate: Mention that they (now) apply after matching.
5010 ;; 2010/10/24 dadams
5011 ;;     icicle-S-TAB-completion-methods-alist: Added ("Jaro-Winkler" . fuzzy-match).
5012 ;; 2010/10/09 dadams
5013 ;;     Corrections per move to emphasize modal cycling:
5014 ;;      Renamed: icicle-cycling-respects-completion-mode to icicle-default-cycling-mode.
5015 ;;      icicle-default-cycling-mode: Default value is prefix, not nil.  New value descriptions and doc.
5016 ;;      icicle-modal-cycle-*-keys: Put back wheel keys.  Removed mention of *-cycling-respects-*-mode.
5017 ;;      icicle-prefix-cycle-*-keys: Use end/home, not down/up as default values.
5018 ;;                                  No mention of being used also for *Completions*.
5019 ;;      icicle-act-before-cycle-flag: Updated doc string.
5020 ;; 2010/10/08 dadams
5021 ;;     icicle-modal-cycle-*-keys: Removed mouse-wheel keys - they are added systematically now.
5022 ;; 2010/10/07 dadams
5023 ;;     icicle-TAB-completion-methods: Removed :set, :initialize (handle it differently now).
5024 ;; 2010/10/06 dadams
5025 ;;     icicle-TAB-completion-methods: Added :set and :initialize.  Thx to Michael Heerdegen.
5026 ;;     icicle-modal-cycle-(up|down)((-alt)-action|-help)-keys: Bound mouse wheel also (Emacs 22+).
5027 ;; 2010/07/17 dadams
5028 ;;     icicle-top-level-key-bindings: Added *url-jump(-other-window).
5029 ;; 2010/06/18 dadams
5030 ;;     Renamed: bookmarkp-* to bmkp-*.
5031 ;; 2010/06/09 dadams
5032 ;;     icicle-isearch-complete-keys:
5033 ;;       Added [escape tab] to default binding (isearch bizarrie).  Added C-M-TAB for all platforms.
5034 ;; 2010/06/08 dadams
5035 ;;     icicle-bookmark-refresh-cache-flag: Changed the default value to t to avoid confusion.
5036 ;; 2010/06/05 dadams
5037 ;;     Set icicle-top-level-when-sole-completion-delay to 0.7 from 0.0.
5038 ;; 2010/06/04 dadams
5039 ;;     Added: icicle-(buffers|files)-ido-like-flag, icicle-max-candidates.
5040 ;;     icicle-ignored-directories: Protect default value with boundp.
5041 ;;     icicle-type-actions-alist: Added (maximize|restore|toggle-max)-frame(-horizontally|-vertically).
5042 ;; 2010/05/30 dadams
5043 ;;     Added: icicle-ignored-directories.
5044 ;; 2010/05/15 dadams
5045 ;;     icicle-top-level-key-bindings: Updated Icicles versions of bookmark jump commands.
5046 ;;     icicle-keymaps-for-key-completion: Added bookmarkp-jump-map bookmarkp-jump-other-window-map.
5047 ;; 2010/04/30 dadams
5048 ;;     Added: icicle-no-match-hook.
5049 ;; 2010/04/09 dadams
5050 ;;     Remap find-file-read-only(-other-window) to icicle-find-file-read-only(-other-window).
5051 ;; 2010/04/02 dadams
5052 ;;     Removed: icicle-region-alist, icicle-region-auto-open-files-flag,
5053 ;;              icicle-region-bookmarks-flag, icicle-regions-name-length-max.
5054 ;;     icicle-top-level-key-bindings: Removed bookmarkp-bookmark-list-jump-other-window.
5055 ;;       bookmarkp*: Use condition (featurep 'bookmark+).
5056 ;; 2010/03/31 dadams
5057 ;;     Removed extra code redefining some bookmark commands.
5058 ;; 2010/03/28 dadams
5059 ;;     Removed: icicle-region-alist, icicle-region-auto-open-files-flag,
5060 ;;              icicle-region-bookmarks-flag, icicle-regions-name-length-max.
5061 ;; 2010/03/14 dadams
5062 ;;     Added: icicle-bookmark-refresh-cache-flag.
5063 ;; 2010/03/13 sadams
5064 ;;     Renamed icicle-add-buffer-name-flag to icicle-show-multi-completion-flag.  Doc string.
5065 ;; 2010/03/09 dadams
5066 ;;     icicle-color-themes: Initialize to ().  Do real init in cmd icicle-color-theme.
5067 ;; 2010/03/03 dadams
5068 ;;     Renamed: icicle-sort-function to icicle-sort-comparer,
5069 ;;              icicle-sort-functions-alist to icicle-sort-orders-alist
5070 ;;              icicle-alternative-sort-function to icicle-alternative-sort-comparer.
5071 ;;     Redefined to allow multi-sorting: icicle-sort-comparer, icicle-sort-orders-alist.
5072 ;; 2010/02/17 dadams
5073 ;;     Moved icicle-redefined-functions here from icicles-var.el
5074 ;;       and renamed to icicle-inhibit-advice-functions.
5075 ;;     Moved to icicles-face.el: icicle-increment-color-(hue|saturation).
5076 ;;     So now require icicles-face.el.
5077 ;;     Corrected alphabetical order.
5078 ;; 2010/02/13 dadams
5079 ;;     icicle-top-level-key-bindings: Bound icicle-bookmark-*-jump-other-window.
5080 ;; 2010/01/24 dadams
5081 ;;     icicle-thing-at-point-functions:
5082 ;;       Use region-or-word-nearest-point, not word-nearest-point.  Change order.
5083 ;; 2010/01/17 dadams
5084 ;;     icicle-top-level-key-bindings: Added Icicles remappings for bookmarkp-*-jump-other-*.
5085 ;; 2009/12/25 dadams
5086 ;;     icicle-top-level-key-bindings: Bind ESC-M-x to lacarte-execute-command.
5087 ;; 2009/12/13 dadams
5088 ;;     icicle-top-level-key-bindings: Map dired(-other-window) to icicle-dired(-other-window).
5089 ;; 2009/12/07 dadams
5090 ;;     icicle-guess-commands-in-path: Changed default value to nil.
5091 ;; 2009/11/27 dadams
5092 ;;     Added: icicle-swank-prefix-length, icicle-swank-timeout.
5093 ;;     icicle-TAB-completion-methods: Treat swank method also.
5094 ;; 2009/11/24 dadams
5095 ;;     Added: icicle-completions-format.
5096 ;;     icicle-color-themes: Fix: delete singleton list with string, not symbol bury-buffer.
5097 ;; 2009/11/22 dadams
5098 ;;     icicle-color-themes: Use color-theme-initialize instead of load-library, to load themes.
5099 ;; 2009/11/21 dadams
5100 ;;     icicle-color-themes: (load-library "color-theme-library"), for color theme version 6.6.0.
5101 ;; 2009/10/25 dadams
5102 ;;     Added: icicle-TAB-completion-methods.
5103 ;;     Removed: icicle-fuzzy-completion-flag, icicle-prefix-completion-is-basic-flag.
5104 ;;     Renamed: icicle-apropos-match-fns-alist to icicle-S-TAB-completion-methods-alist.
5105 ;; 2009/10/12 dadams
5106 ;;     icicle-top-level-key-bindings: Added bindings for icicle-bookmark(-other-window).
5107 ;;     icicle-prefix-completion-is-basic-flag: Make it a constant for pre-Emacs 23.
5108 ;; 2009/10/06 dadams
5109 ;;     icicle-keymaps-for-key-completion: Added bookmark-bmenu-mode-map to default value.
5110 ;;     icicle-sort-functions-alist: Use a separate defcustom for Emacs 20, since no :type alist.
5111 ;; 2009/09/25 dadams
5112 ;;     Added: icicle-prefix-completion-is-basic-flag.
5113 ;;     Changed default value of:
5114 ;;       icicle-candidate-width-factor          from 70  to 80
5115 ;;       icicle-Completions-text-scale-decrease from 0.8 to 0.66.
5116 ;; 2009/09/16 dadams
5117 ;;     icicle-top-level-key-bindings: Added remap for icicle-insert-buffer.
5118 ;; 2009/09/05 dadams
5119 ;;     icicle-keymaps-for-key-completion: Added facemenu-keymap.
5120 ;;     icicle-search-replace-common-match-flag: Fixed doc string: C-M-| -> M-;.
5121 ;;     icicle-expand-input-to-common-match-flag: Fixed doc string: C-| -> C-;.
5122 ;; 2009/09/02 dadams
5123 ;;     Added: icicle-region-bookmarks-flag, icicle-top-level-when-sole-completion-delay.
5124 ;;     icicle-region-alist: Updated doc string. Added :group Icicles-Searching.
5125 ;; 2009/08/19 dadams
5126 ;;     icicle-bookmark-name-length-max:
5127 ;;       Changed default value from 40 to 70.  It is now the total name length.  Updated doc.
5128 ;; 2009/08/01 dadams
5129 ;;     Added: icicle-menu-items-to-history-flag.
5130 ;; 2009/07/29 dadams
5131 ;;     Added: icicle-populate-interactive-history-flag.
5132 ;; 2009/06/17 dadams
5133 ;;     Added: icicle-Completions-text-scale-decrease.
5134 ;; 2009/05/20 dadams
5135 ;;     icicle-keymaps-for-key-completion: Added prefix-key maps senator-mode-map,
5136 ;;       srecode-mode-map, jde-mode-map, jde-jdb-mode-map.  Thx to Daniel Clemente.
5137 ;; 2009/05/17 dadams
5138 ;;     icicle-type-actions-alist: Updated to reflect thumb-frm.el name changes.
5139 ;; 2009/05/10 dadams
5140 ;;     icicle-list-join-string: Don't set display property for Emacs 21 (Emacs bug).
5141 ;; 2009/05/09 dadams
5142 ;;     Added: icicle-dot-string, icicle-dot-show-regexp-flag, icicle-anychar-regexp, 
5143 ;; 2009/05/07 dadams
5144 ;;     icicle-list-join-string: Use copy-sequence in default value, so users see original sexp.
5145 ;; 2009/05/02 dadams
5146 ;;     Added: icicle-alternative-actions-alist.
5147 ;; 2009/05/01 dadams
5148 ;;     Added function to icicle-type-actions-alist: icicle-shell-command-on-file.
5149 ;; 2009/04/26 dadams
5150 ;;     Added: icicle-type-actions-alist, icicle-use-anything-candidates-flag.
5151 ;; 2009/04/20 dadams
5152 ;;     Added: icicle-(prefix|apropos)-cycle-(next|previous)-alt-action-keys,
5153 ;;            icicle-modal-cycle-(down|up)-alt-action-keys.
5154 ;; 2009/04/18 dadams
5155 ;;     Soft-require hexrgb.el unconditionally, not just when there is a window-system.
5156 ;;     icicle-region-background: If frame background is unspecified, consider it white.
5157 ;;                               Don't use frame background unless it is a valid color name.
5158 ;;                               Use region background if cannot compute saturation.
5159 ;; 2009/04/16 dadams
5160 ;;     Added: icicle-(prefix|apropos)-cycle-(next|previous)-help-keys.
5161 ;; 2009/04/15 dadams
5162 ;;     Added: icicle-modal-cycle-(up|down)-help-keys.
5163 ;; 2009/04/05 dadams
5164 ;;     Added: icicle-help-in-mode-line-flag.
5165 ;; 2009/03/10 dadams
5166 ;;     Moved here from icicles-fn.el: icicle-shell-command-candidates.
5167 ;;     Moved here from icicles-var.el: icicle-shell-command-candidates.
5168 ;;     Renamed: icicle-shell-command-candidates (fn) to icicle-compute-shell-command-candidates,
5169 ;;              icicle-shell-command-candidates (var) to icicle-shell-command-candidates-cache,
5170 ;;              icicle-guess-cmds-in-path-flag to icicle-guess-commands-in-path.
5171 ;;     icicle-guess-commands-in-path: Boolean -> choice.  Default is now first-use.
5172 ;;     icicle-compute-shell-command-candidates: Don't update cache variable here.
5173 ;;     icicle-shell-command-candidates-cache: Initialize per icicle-guess-commands-in-path.
5174 ;; 2009/03/08 dadams
5175 ;;     Added: icicle-quote-shell-file-name-flag.
5176 ;; 2009/03/01 dadams
5177 ;;     Added: icicle-completing-read+insert-keys, icicle-read+insert-file-name-keys.
5178 ;;     Removed: icicle-complete-on-demand-keys.
5179 ;; 2009/02/20 dadams
5180 ;;     Added: icicle-complete-on-demand-keys (not yet used).
5181 ;;     Renamed: icicle-dired-guess-all-shell-cmds-flag to icicle-guess-cmds-in-path-flag.
5182 ;; 2009/01/25 dadams
5183 ;;     Added: icicle-dired-guess-all-shell-cmds-flag.
5184 ;; 2009/01/17 dadams
5185 ;;     Added: icicle-levenshtein-distance.
5186 ;;     icicle-apropos-match-fns-alist: Added icicle-levenshtein(-strict)-match.
5187 ;; 2009/01/05 dadams
5188 ;;     Added ess-complete-* to icicle-comint-dynamic-complete-replacements.
5189 ;; 2009/01/01 dadams
5190 ;;     Added: icicle-comint-dynamic-complete-replacements.
5191 ;; 2008/12/30 dadams
5192 ;;     Moved icicle-remap here from icicles-mode.el.
5193 ;; 2008/12/06 dadams
5194 ;;     icicle-incremental-completion-flag: Changed :type to choice from boolean.
5195 ;; 2008/12/02 dadams
5196 ;;     Removed: icicle-file-ignore-space-prefix-flag.
5197 ;; 2008/11/28 dadams
5198 ;;     Moved here from icicles-var.el: icicle-apropos-match-fns-alist.
5199 ;; 2008/11/14 dadams
5200 ;;     Added: icicle-hide-common-match-in-Completions-flag.
5201 ;; 2008/11/04 dadams
5202 ;;     Removed: icicle-generic-S-tab-keys.
5203 ;;     Added (split icicle-generic-S-tab-keys in 4):
5204 ;;       icicle-apropos-complete-keys, icicle-key-complete-keys, icicle-previous-candidate-keys,
5205 ;;       icicle-search-from-isearch-keys.
5206 ;;     Added: icicle-complete-key-anyway-flag.
5207 ;; 2008/11/03 dadams
5208 ;;     Applied renamings from icicles-cmd.el.
5209 ;; 2008/10/26 dadams
5210 ;;     Added: icicle-file-*.
5211 ;; 2008/10/18 dadams
5212 ;;     Added: icicle-customize-save-variable-function.
5213 ;; 2008/10/17 dadams
5214 ;;     Added: icicle-bookmark-name-length-max.
5215 ;;     icicle-top-level-key-bindings: Remapped bookmark-set to icicle-bookmark-cmd.
5216 ;; 2008/10/11 dadams
5217 ;;     icicle-highlight-input-completion-failure: Updated doc string.
5218 ;; 2008/10/10 dadams
5219 ;;     Added: icicle-(apropos|prefix)-cycle-(next|previous)-action-keys,
5220 ;;            icicle-modal-cycle-(down|up)-action-keys.
5221 ;;     icicle-cycling-respects-completion-mode-flag:
5222 ;;       Renamed to icicle-cycling-respects-completion-mode.
5223 ;;       It's now a choice of nil, t, apropos, prefix.  Thx to Andrey Zhdanov.
5224 ;; 2008/09/30 dadams
5225 ;;     icicle-highlight-input-completion-failure: Changed default value to implicit-strict.
5226 ;; 2008/09/13 dadams
5227 ;;     Added: icicle-filesets-as-saved-completion-sets-flag.
5228 ;; 2008/08/28 dadams
5229 ;;     icicle-top-level-key-bindings:
5230 ;;       Renamed alacarte-execute-menu-command to lacarte-execute-menu-command.
5231 ;; 2008/08/22 dadams
5232 ;;     Removed: icicle-Completions-window-default-width (obsolete).
5233 ;; 2008/08/21 dadams
5234 ;;     icicle-top-level-key-bindings:
5235 ;;       Replace icicle-find-file(-other-window) with icicle-file(-other-window).
5236 ;;     icicle-generic-S-tab-keys: Mention bug workaround in doc string.  Thx to Kevin Rodgers.
5237 ;; 2008/08/20 dadams
5238 ;;     Added: icicle-inhibit-ding-flag.
5239 ;; 2008/08/12 dadams
5240 ;;     icicle-top-level-key-bindings:
5241 ;;       Remap set-mark-command (C-SPC) and pop-global-mark (C-x C-SPC).
5242 ;; 2008/08/11 dadams
5243 ;;     icicle-key-definition, icicle-top-level-key-bindings:
5244 ;;       Change :match-alternatives to (symbolp) from (commandp).
5245 ;;     icicle-top-level-key-bindings: Added condition for minibuffer-keyboard-quit.
5246 ;; 2008/08/06 dadams
5247 ;;     Bind icicle-kmacro to S-f4, not f5.  Thx to Andrew Hyatt.
5248 ;; 2008/06/22 dadams
5249 ;;     Added: icicle-unpropertize-completion-result-flag.
5250 ;; 2008/06/03 dadams
5251 ;;     Added: icicle-use-C-for-actions-flag.
5252 ;; 2008/05/27 dadams
5253 ;;     icicle-isearch-complete-keys: Removed S-TAB, added M-o.
5254 ;; 2008/05/25 dadams
5255 ;;     icicle-isearch-complete-keys: Added M-TAB and C-M-TAB (if Windows).
5256 ;;     Change [] notation to `' notation for keys in doc strings.
5257 ;; 2008/05/24 dadams
5258 ;;     icicle-isearch-complete-keys: Use explicit ([S-tab] [S-iso-lefttab]) for Emacs < 22.
5259 ;; 2008/05/19 dadams
5260 ;;     icicle-generic-S-tab-keys: Use explicit ([S-tab] [S-iso-lefttab]) for Emacs < 22.
5261 ;; 2008/05/11 dadams
5262 ;;     icicle-top-level-key-bindings: Added :set and :initialize.
5263 ;;     Moved icicle-bind-top-level-commands here from icicles-mode.el, and added optional arg.
5264 ;; 2008/05/10 dadams
5265 ;;     Added widget icicle-key-definition (new custom type).
5266 ;;     Renamed: icicle-bind-top-level-commands-alist to icicle-top-level-key-bindings.
5267 ;;     icicle-top-level-key-bindings:
5268 ;;       Redefined:  New :type, using icicle-key-definition or choice of restricted-sexp.
5269 ;;         Changed order of entry elements.  Use kbd.  No eval for command to be remapped.
5270 ;;         Don't bind f5 unless have kmacro.
5271 ;;     Moved icicle-yank-function before icicle-top-level-key-bindings (needed by it).
5272 ;; 2008/05/07 dadams
5273 ;;     icicle-region-alist, icicle-sort-functions-alist:
5274 ;;       Removed Emacs 20 version (alist works for Emacs 20 also).
5275 ;;     Replaced icicle-bind-top-level-commands-flag with icicle-bind-top-level-commands-alist.
5276 ;;     icicle-isearch-complete-keys:
5277 ;;       Changed default value from ([S-tab] [S-iso-lefttab]) to ([backtab]).
5278 ;; 2008/05/05 dadams
5279 ;;     icicle-generic-S-tab-keys:
5280 ;;       Changed default value from ([S-tab] [S-iso-lefttab]) to ([backtab]).
5281 ;; 2008/04/26 dadams
5282 ;;     Added: icicle-test-for-remote-files-flag.  Updated C-^ to M-_
5283 ;;     icicle-ignore-space-prefix-flag: Update doc string: M-_, not C-^.
5284 ;; 2008/04/18 dadams
5285 ;;     Renamed icicle-init-value-flag to icicle-default-value.
5286 ;;     icicle-default-value: Updated to reflect t value.
5287 ;; 2008/04/13 dadams
5288 ;;     Added: icicle-pp-eval-expression-print-(length|level).
5289 ;; 2008/03/30 dadams
5290 ;;     Added: icicle-highlight-lighter-flag.
5291 ;; 2008/03/29 dadams
5292 ;;     Removed: icicle-completing(-mustmatch)-prompt-prefix, icicle-reminder-prompt-flag.
5293 ;;     Updated doc string of icicle-customize-save-flag.
5294 ;; 2008/03/21 dadams
5295 ;;     icicle-reminder-prompt-flag: Changed default value to nil.
5296 ;; 2008/02/23 dadams
5297 ;;     icicle-init-value-flag: Added insert-start value.  Renamed insert value to insert-end.
5298 ;; 2008/02/06 dadams
5299 ;;     Added: icicle-highlight-input-completion-failure-(delay|threshold).
5300 ;; 2008/01/29 dadams
5301 ;;     Removed: icicle-max-chars-noncompletion-highlight.
5302 ;;     Renamed: icicle-*-input-completion-failure-flag to icicle-*-input-completion-failure.
5303 ;;     icicle-*-input-completion-failure: Added values (implicit*, always) and renamed others.
5304 ;; 2007/12/31 dadams
5305 ;;     icicle-list-join-string: Add display property to hide the ^G.
5306 ;; 2007/12/26 dadams
5307 ;;     icicle-region-background:
5308 ;;       Put initialization back inside defcustom.
5309 ;;       Change test for color from Emacs version to widget test.
5310 ;; 2007/12/24 dadams
5311 ;;     Added: icicle-option-type-prefix-arg-list.
5312 ;; 2007/12/14 dadams
5313 ;;     Added: icicle-customize-save-flag.
5314 ;; 2007/12/09 dadams
5315 ;;     Added: icicle-max-chars-noncompletion-highlight.
5316 ;; 2007/12/03 dadams
5317 ;;     Renamed longest common match (lcm) to expanded common match (ecm).
5318 ;; 2007/11/25 dadams
5319 ;;     Added: icicle-command-abbrev-(alist|match-all-parts-flag|priority-flag).
5320 ;; 2007/11/23 dadams
5321 ;;     Added: icicle-(apropos|prefix)-cycle-(next|previous)-keys.
5322 ;; 2007/11/17 dadams
5323 ;;     Added: icicle-add-proxy-candidates-flag.
5324 ;; 2007/11/02 dadams
5325 ;;     Added: icicle-generic-S-tab-keys, icicle-prefix-complete-keys,
5326 ;;            icicle-(apropos|prefix)-complete-no-display-keys, icicle-isearch-complete-keys.
5327 ;;     Renamed icicle-modal-cycle-(up|down)-key to icicle-modal-cycle-(up|down)-keys,
5328 ;;             icicle-word-completion-key to icicle-word-completion-keys.
5329 ;; 2007/10/29 dadams
5330 ;;     icicle-define-alias-commands-flag, icicle-deletion-action-flag,
5331 ;;       icicle-list-nth-parts-join-string: Added type and group.
5332 ;; 2007/10/28 dadams
5333 ;;     Added: icicle-search-replace-common-match-flag.
5334 ;; 2007/10/23 dadams
5335 ;;     icicle-highlight-input-initial-whitespace-flag:
5336 ;;       Mention icicle-highlight-input-completion-failure-flag in doc string.
5337 ;; 2007/10/21 dadams
5338 ;;     icicle-candidate-width-factor, icicle-inter-candidates-min-spaces: Mention Do Re Mi.
5339 ;; 2007/10/14 dadams
5340 ;;     icicle-act-before-cycle-flag: Default value is now nil.
5341 ;; 2007/10/07 dadams
5342 ;;     Added: icicle-deletion-action-flag.
5343 ;; 2007/09/28 dadams
5344 ;;     Added: icicle-fuzzy-completion-flag.
5345 ;; 2007/08/25 dadams
5346 ;;     Added: icicle-anything-transform-candidates-flag, icicle-define-alias-commands-flag.
5347 ;; 2007/08/19 dadams
5348 ;;     Added: icicle-highlight-input-completion-failure-flag.
5349 ;; 2007/08/16 dadams
5350 ;;     icicle-region-alist, icicle-sort-functions-alist: Use alist as :type for recent Emacs.
5351 ;; 2007/07/27 dadams
5352 ;;     Added: Moved icicle-act-first-then-navigate-p here from icicles-var.el, as option *-flag.
5353 ;;            Thx to Juri Linkov for suggestion.
5354 ;; 2007/07/03 dadams
5355 ;;     Added: icicle-completion-history-max-length, icicle-C-l-uses-completion-flag.
5356 ;;     icicle-expand-input-to-common-match-flag: Updated doc string accordingly.
5357 ;; 2007/06/20 dadams
5358 ;;     icicle-WYSIWYG-Completions-flag: Use string value, not whole number, for sample text.
5359 ;; 2007/06/19 dadams
5360 ;;     icicle-WYSIWYG-Completions-flag: Allow also a whole-number value, for separate swatch.
5361 ;; 2007/06/17 dadams
5362 ;;     Added: icicle-WYSIWYG-Completions-flag.
5363 ;; 2007/06/12 dadams
5364 ;;     icicle-region-background: Use different value for dark-background frames.
5365 ;; 2007/06/09 dadams
5366 ;;     Added: icicle-use-candidates-only-once-flag.
5367 ;; 2007/06/05 dadams
5368 ;;     Don't require hexrgb.el if no window system.
5369 ;;     icicle-increment-color-*: Protected with featurep hexrgb and error message.
5370 ;; 2007/05/06 dadams
5371 ;;     Added: icicle-search-context-match-predicate.
5372 ;; 2007/05/02 dadams
5373 ;;     Added: icicle-search-whole-word-flag, icicle-yank-function.
5374 ;;     icicle-regexp-quote-flag: Updated doc string to mention search.
5375 ;; 2007/04/20 dadams
5376 ;;     Added: icicle-search-highlight-context-levels-flag, icicle-increment-color-saturation.
5377 ;; 2007/04/17 dadams
5378 ;;     Added: icicle-search-replace-literally-flag.
5379 ;; 2007/04/15 dadams
5380 ;;     icicle-search-replace-whole-candidate-flag: Changed default value to t.
5381 ;; 2007/04/07 dadams
5382 ;;     Added: icicle-search-replace-whole-candidate-flag.
5383 ;; 2007/03/31 dadams
5384 ;;     Added: icicle-top-level-when-sole-completion-flag.
5385 ;;     icicle(-regexp)-search-ring-max: Default is 1/10th what it was.
5386 ;; 2007/03/30 dadams
5387 ;;     Added: icicle-candidate-width-factor, icicle-inter-candidates-min-spaces.
5388 ;; 2007/03/12 dadams
5389 ;;     Added: icicle-Completions-window-max-height.
5390 ;;     icicle-show-Completions-help-flag: defvaralias it to completion-show-help (if bound).
5391 ;; 2007/03/10 dadams
5392 ;;     Added: icicle-Completions-window-default-width.
5393 ;; 2007/02/27 dadams
5394 ;;     Changed default value of icicle-incremental-completion-delay to 0.7.
5395 ;; 2007/02/22 dadams
5396 ;;     icicle-buffer-sort: Use icicle-buffer-sort-*...*-last, not nil, as default value.
5397 ;; 2007/02/20 dadams
5398 ;;     Changed icicle-region-auto-open-files-flag default value to nil.
5399 ;; 2007/02/19 dadams
5400 ;;     icicle-region-alist: Added buffer's file to alist entry.
5401 ;;     Added: icicle-region-auto-open-files-flag.
5402 ;; 2007/02/17 dadams
5403 ;;     Added: icicle-keymaps-for-key-completion.
5404 ;; 2007/02/06 dadams
5405 ;;     Added: icicle-add-buffer-name-flag.
5406 ;; 2007/01/29 dadams
5407 ;;     icicle-sort-function: Use icicle-case-string-less-p as value, not string-lessp.
5408 ;; 2007/01/23 dadams
5409 ;;     Added: icicle-highlight-historical-candidates-flag.
5410 ;;     Updated doc strings of *-flag to mention toggles.
5411 ;; 2007/01/18 dadams
5412 ;;     Renamed: icicle-regions to icicle-region-alist.
5413 ;; 2007/01/15 dadams
5414 ;;     Added: icicle-change-sort-order-completion-flag, icicle-sort-functions-alist.
5415 ;;     icicle-cycle-into-subdirs-flag, icicle-sort-function: Updated doc string.
5416 ;; 2007/01/14 dadams
5417 ;;     Added: icicle-list-nth-parts-join-string.
5418 ;; 2007/01/08 dadams
5419 ;;     icicle-reminder-prompt-flag: Reduced default value from 20 to 7 Emacs sessions.
5420 ;; 2007/01/06 dadams
5421 ;;     Added: icicle-use-~-for-home-dir-flag.  Thanks to Timothy Stotts for the suggestion.
5422 ;; 2006/12/29 dadams
5423 ;;     icicle-thing-at-point-functions: Added ffap-guesser as first alternative text grabber.
5424 ;;     icicle-default-thing-insertion: Changed default value to icicle-default-thing-insertion.
5425 ;; 2006/12/25 dadams
5426 ;;     Moved to icicles-fn.el: icicle-historical-alphabetic-p.
5427 ;; 2006/12/22 dadams
5428 ;;     Assigned Icicles subgroups, instead of group Icicles.
5429 ;; 2006/12/10 dadams
5430 ;;     icicle-regions: Corrected (forgot repeat).
5431 ;; 2006/11/26 dadams
5432 ;;     Added: icicle-regions(-name-length-max).
5433 ;; 2006/11/24 dadams
5434 ;;     Added: icicle-kmacro-ring-max.
5435 ;; 2006/11/23 dadams
5436 ;;     Added: icicle-TAB-shows-candidates-flag.  Thx to Tamas Patrovics for the suggestion.
5437 ;; 2006/11/09 dadams
5438 ;;     icicle-search-highlight-all-flag -> icicle-search-highlight-threshold.
5439 ;;     Added: icicle-search-highlight-all-current-flag.
5440 ;; 2006/10/28 dadams
5441 ;;     icicle-region-background: Changed :type to 'color for Emacs 21+.
5442 ;;     icicle(-alternative)-sort-function, icicle-buffer-sort, icicle-transform-function:
5443 ;;       function -> choice of nil or function.
5444 ;;     icicle-buffer-configs: Added :tag's.
5445 ;;     icicle-saved-completion-sets: Corrected doc string.
5446 ;; 2006/10/21 dadams
5447 ;;     Added: icicle-complete-keys-self-insert-flag.
5448 ;; 2006/10/14 dadams
5449 ;;     icicle-list-end-string: Added :type and :group.
5450 ;;     Moved conditional eval-when-compile to top level.
5451 ;; 2006/10/04 dadams
5452 ;;     Added: icicle-special-candidate-regexp.
5453 ;; 2006/10/03 dadams
5454 ;;     icicle-list-join-string: Replaced ^G^J by \007\012, to be able to upload to Emacs Wiki.
5455 ;; 2006/10/01 dadams
5456 ;;     icicle-alternative-sort-function: Updated doc string - it's now a general toggle.
5457 ;; 2006/09/30 dadams
5458 ;;     Added: icicle-key-descriptions-use-*-flag.
5459 ;; 2006/09/16 dadams
5460 ;;     Added: icicle-list-end-string.
5461 ;; 2006/09/03 dadams
5462 ;;     Renamed icicle-show-Completions-help to icicle-show-Completions-help-flag.
5463 ;; 2006/08/13 dadams
5464 ;;     Added: icicle-completing(-mustmatch)-prompt-prefix.
5465 ;; 2006/07/28 dadams
5466 ;;     icicle-change-region-background-flag:
5467 ;;       Default value takes no account of delete-selection mode.  Improved doc string.
5468 ;;     icicle-region-background:
5469 ;;       Don't make region invisible if hexrgb.el was not loaded.
5470 ;;       Change value, not hue, if grayscale frame background.  Improved doc string.
5471 ;; 2006/07/23 dadams
5472 ;;     Added: icicle-transform-function.
5473 ;;     icicle-sort-function: Added Note to doc string.
5474 ;; 2006/07/20 dadams
5475 ;;     Added: icicle-modal-cycle-(up|down)-key.
5476 ;;     Renamed icicle-arrows-respect-* to icicle-cycling-respects-completion-mode-flag.
5477 ;; 2006/07/19 dadams
5478 ;;     Applied patch from Damien Elmes <emacs@repose.cx>:
5479 ;;       Added: icicle-show-completions-help.  Renamed it to icicle-show-Completions-help.
5480 ;; 2006/07/18 dadams
5481 ;;     Added: icicle-Completions-display-min-input-chars.  Thx to Damien Elmes.
5482 ;; 2006/07/10 dadams
5483 ;;     icicle-historical-alphabetic-p: Fallback directory if no previous input.
5484 ;; 2006/07/07 dadams
5485 ;;     Added: icicle-alternative-sort-function, icicle-historical-alphabetic-p.
5486 ;; 2006/07/04 dadams
5487 ;;     icicle-expand-input-to-common-match-flag: Updated doc string.
5488 ;; 2006/06/09 dadams
5489 ;;     icicle-region-background: Use nil in defcustom.  Initialize separately.
5490 ;; 2006/06/08 dadams
5491 ;;     icicle-bind-top-level-commands-flag: Updated doc string.
5492 ;; 2006/05/19 dadams
5493 ;;     Renamed icicle-inhibit-reminder* to icicle-reminder*.
5494 ;;       Changed its functionality to use a countdown.
5495 ;; 2006/05/16 dadams
5496 ;;     Added: icicle-bind-top-level-commands-flag.
5497 ;; 2006/05/15 dadams
5498 ;;     Renamed: icicle-completion-nospace-flag to icicle-ignore-space-prefix-flag.
5499 ;;     Added: icicle-buffer-ignore-space-prefix-flag.
5500 ;;     icicle-ignore-space-prefix-flag: Changed default value to nil.
5501 ;; 2006/05/09 dadams
5502 ;;     icicle-incremental-completion-threshold: Updated doc string (msg "Displaying...").
5503 ;; 2006/04/28 dadams
5504 ;;     Added: icicle-highlight-input-initial-whitespace-flag.
5505 ;; 2006/04/14 dadams
5506 ;;     Added: icicle-input-string, icicle-search-cleanup-flag, icicle-update-input-hook.
5507 ;;     icicle-list-join-string: Added :type and :group.
5508 ;; 2006/04/09 dadams
5509 ;;     Added: icicle-arrows-respect-completion-type-flag.
5510 ;; 2006/04/07 dadams
5511 ;;     Added: icicle-search-highlight-all-flag.
5512 ;; 2006/04/02 dadams
5513 ;;     Added: icicle-regexp-quote-flag.
5514 ;; 2006/03/24 dadams
5515 ;;     Added: icicle-incremental-completion-(delay|threshold).
5516 ;; 2006/03/20 dadams
5517 ;;     icicle-expand-input-to-common-match-flag: Changed default value to t.
5518 ;; 2006/03/19 dadams
5519 ;;     Added: icicle-expand-input-to-common-match-flag.
5520 ;; 2006/03/17 dadams
5521 ;;     Removed: icicle-cache-file.
5522 ;;     Added: icicle-saved-completion-sets.
5523 ;; 2006/03/13 dadams
5524 ;;     Added: icicle-cache-file.
5525 ;; 2006/03/08 dadams
5526 ;;     icicle-default-thing-insertion: Use substitute-command-keys in :tag.
5527 ;; 2006/03/05 dadams
5528 ;;     Moved from here to icicle-mode.el: icicle-mode, icicle-mode-hook.
5529 ;;     Added: icicle-touche-pas-aux-menus-flag.
5530 ;; 2006/03/03 dadams
5531 ;;     icicle-list-join-string: Changed value to ^G^J.  Clarified doc string.
5532  
5533 ;;;(@* "CHANGE LOG FOR `icicles-var.el'")
5534 ;;
5535 ;; 2011/09/05 dadams
5536 ;;     icicle-general-help-string: Added icicle-hide-non-matching-lines-flag.
5537 ;;                                 Removed -other-window from *-bookmark-(bookmark-list|desktop).
5538 ;; 2011/08/13 dadams
5539 ;;     Added: icicle-search-complement-domain-p.
5540 ;; 2011/08/12 dadams
5541 ;;     Added: icicle-full-cand-fn.
5542 ;; 2011/08/07 dadams
5543 ;;     icicle-abs-file-candidates: Update doc string: now an alist (for COLLECTION arg).
5544 ;; 2011/07/27 dadams
5545 ;;     Removed icicle-completions-format-internal.
5546 ;; 2011/07/26 dadams
5547 ;;     Removed: icicle-list-end-string (no longer needed).  Thx to Michael Heerdegen.
5548 ;; 2011/07/24 dadams
5549 ;;     Updated icicle-general-help-string for new commands.
5550 ;; 2011/07/06 dadams
5551 ;;     Applied renaming of icicle-Completions-frame-at-right-flag to icicle-move-Completions-frame.
5552 ;; 2011/05/03 dadams
5553 ;;     icicle-general-help-string: Mention icicle-toggle-highlight-saved-candidates.
5554 ;; 2011/04/29 dadams
5555 ;;     Added: icicle-buffer-sort-first-time-p, icicle-file-sort-first-time-p, icicle-new-last-cmd,
5556 ;;              icicle-orig-must-pass-after-match-pred.
5557 ;; 2011/04/02 dadams
5558 ;;     Added: icicle-bufflist, icicle-pref-arg, icicle-scan-fn-or-regexp.
5559 ;;     Moved to icicles-cmd2.el:
5560 ;;       icicle-orig-(buff|win)-key-complete, icicle-orig-extra-cands, icicle-orig-menu-bar,
5561 ;;       icicle-orig-(font|frame|pixelsize|pointsize), icicle-orig-show-initially-flag,
5562 ;;       icicle-orig-sort-orders-alist, icicle-this-cmd-keys.
5563 ;; 2011/03/31 dadams
5564 ;;     Renamed icicle-target-window-recenter-amount to icicle-recenter & moved to icicles-opt.el.
5565 ;; 2011/03/29 dadams
5566 ;;     Added: icicle-key-prefix-description, icicle-orig-(buff|window|font|frame|pixelsize|pointsize),
5567 ;;            icicle-orig-(buff|win)-key-complete, icicle-completing-keys-p, icicle-prompt,
5568 ;;            icicle-orig-(pt|win)-explore, icicle-orig-show-initially-flag, icicle-orig-extra-cands,
5569 ;;            icicle-other-window, icicle-target-window-recenter-amount, icicle-this-cmd-keys.
5570 ;;     Renamed: icicle-scroll-Completions-backward-p to icicle-scroll-Completions-reverse-p.
5571 ;;     icicle-complete-keys-alist: Removed conditional definition (just don't use it before Emacs 22).
5572 ;; 2011/01/17 dadams
5573 ;;     Removed compile-time require of cl.el.
5574 ;; 2010/12/26 dadams
5575 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
5576 ;; 2010/11/07 dadams
5577 ;;     Renamed: icicle-all-candidates-action-p to icicle-all-candidates-action.  Now can cache action.
5578 ;; 2010/10/25 dadams
5579 ;;     Removed mention of icicle-search-context-match-predicate (no longer exists).
5580 ;; 2010/10/24 adams
5581 ;;     Added: icicle-must-pass-after-match-predicate.
5582 ;;     icicle-must-pass-predicate: Clarified doc string.
5583 ;; 2010/10/09 dadams
5584 ;;     icicle-general-help-string:
5585 ;;       Applied renaming of icicle-cycling-respects-completion-mode to icicle-default-cycling-mode.
5586 ;; 2010/10/07 dadams
5587 ;;     icicle-current-TAB-method: Use nil, not basic, as default value.
5588 ;; 2010/06/18 dadams
5589 ;;     Added: icicle-completions-format-internal.
5590 ;; 2010/06/08 dadams
5591 ;;     Added: icicle-nb-candidates-before-truncation.
5592 ;; 2010/06/04 dadams
5593 ;;     Added: icicle-lighter-truncation.
5594 ;;     icicle-general-help-string: Mention missing doremi commands.
5595 ;; 2010/04/29 dadams
5596 ;;     Added: icicle-remove-icicles-props-p.
5597 ;; 2010/04/02 dadams
5598 ;;     icicle-general-help-string: Updated.
5599 ;; 2010/04/02 dadams
5600 ;;     Added: icicle-bookmark-types.
5601 ;;     icicle-general-help-string: Updated to reflect move from saved regions to bookmarks.
5602 ;; 2010/03/13 dadams
5603 ;;     Added: icicle-transform-before-sort-p.
5604 ;;     Removed: icicle-sorted-bookmark-alist.
5605 ;;     Applied renaming of icicle-add-buffer-name-flag to icicle-show-multi-completion-flag.
5606 ;; 2010/03/03 dadams
5607 ;;     Added: icicle-sorted-bookmark-alist, icicle-reverse-multi-sort-p.
5608 ;;     Renamed: icicle-last-sort-function to icicle-last-sort-comparer.
5609 ;;     icicle-general-help-string: Applied renaming to icicle-sort-orders-alist.
5610 ;;     Applied renamings: icicle-sort-function to icicle-sort-comparer,
5611 ;;                        icicle-sort-functions-alist to icicle-sort-orders-alist,
5612 ;;                        icicle-alternative-sort-function to icicle-alternative-sort-comparer.
5613 ;; 2010/02/17 dadams
5614 ;;     Moved icicle-redefined-functions to icicles-opt.el
5615 ;;       and renamed to icicle-inhibit-advice-functions
5616 ;; 2010/02/14 dadams
5617 ;;     Added: icicle-advice-info-list, icicle-redefined-functions.
5618 ;; 2009/11/07 dadams
5619 ;;     Applied doremi cmd renamings (added +) to help text.
5620 ;; 2009/10/25 dadams
5621 ;;     Added: icicle-current-TAB-method.
5622 ;;     Updated icicle-general-help-string with new command names.
5623 ;; 2009/09/26 dadams
5624 ;;     Added: icicle-progressive-completing-p.
5625 ;; 2009/09/25 dadams
5626 ;;     Removed: icicle-respect-completion-styles-p.  See option *-TAB-respects-*-styles-flag.
5627 ;; 2009/09/05 dadams
5628 ;;     Added: icicle-minibuffer-message-ok-p.
5629 ;;     Renamed icicle-acting-on-next/prev-p to icicle-acting-on-next/prev.
5630 ;; 2009/07/26 dadams
5631 ;;     Added: icicle-command-abbrev-history (belated), icicle-interactive-history.
5632 ;; 2009/05/17 dadams
5633 ;;     icicle-predicate-types-alist: Updated to reflect thumb-frm.el name changes.
5634 ;; 2009/05/11 dadams
5635 ;;     Added: icicle-hist-cands-no-highlight.
5636 ;; 2009/05/09 dadams
5637 ;;     Added: *-input-completion-fail-overlay, *-anychar-regexp, *-dot-string-internal.
5638 ;; 2009/05/02 dadams
5639 ;;     Added: icicle-cmd-reading-input.
5640 ;; 2009/04/28 dadams
5641 ;;     Renamed: icicle-object-predicate-types to icicle-predicate-types-alist.
5642 ;;     icicle-predicate-types-alist:
5643 ;;       Converted to alist, with cdr's from icicle-type-actions-alist.  Added more entries.
5644 ;;     Removed: icicle-object-named-types.
5645 ;; 2009/04/03 dadams
5646 ;;     Added: icicle-filtered-default-value.
5647 ;; 2009-03/16 dadams
5648 ;;     Added: icicle-use-candidates-only-once-alt-p.
5649 ;; 2009/03/15 dadams
5650 ;;     icicle-general-help-string: Added: icicle-recompute-shell-command-candidates,
5651 ;;                                        icicle-remove-file-from-recentf-list.
5652 ;; 2009/03/10 dadams
5653 ;;     Moved icicle-shell-command-candidates to icicles-opt.el and renamed: *-cache.
5654 ;; 2009/03/01 dadams
5655 ;;     Added: icicle-completing-read+insert-candidates.
5656 ;;     Removed: icicle-complete-on-demand-cmd.
5657 ;; 2009/02/23 dadams
5658 ;;     Added: icicle-extra-candidates-dir-insert-p.
5659 ;; 2009/02/20 dadams
5660 ;;     Added: icicle-shell-command-candidates, icicle-complete-on-demand-cmd.
5661 ;; 2009/02/04 dadams
5662 ;;     Added: icicle-next-prefix-complete-cycles-p, icicle-next-apropos-complete-cycles-p.
5663 ;; 2009/01/24 dadams
5664 ;;     Added: icicle-last-apropos-complete-match-fn.
5665 ;; 2009/01/13 dadams
5666 ;;     Added: icicle-respect-completion-styles-p (internal var, for now).
5667 ;; 2008/12/25 dadams
5668 ;;     Added: icicle-cycling-p.
5669 ;; 2008/12/07 dadams
5670 ;;     Added: icicle-completion-prompt-overlay.  Removed: icicle-prompt.
5671 ;; 2008/12/02 dadams
5672 ;;     Added: icicle-confirm-exit-commands.
5673 ;; 2008/11/28 dadams
5674 ;;     Moved to icicles-opt.el: icicle-apropos-match-fns-alist.
5675 ;; 2008/11/22 dadams
5676 ;;     Added: icicle-fancy-candidates-p, icicle-fancy-cands-internal-p.
5677 ;; 2008/11/03 dadams
5678 ;;     Applied renamings from icicles-cmd.el.
5679 ;; 2008/11/02 dadams
5680 ;;     Added: icicle-(doc|vardoc|fundoc|plist)-last-initial(-option)-cand-set.
5681 ;; 2008/10/14 dadams
5682 ;;     Added: icicle-general-help-string.
5683 ;;     Removed: icicle-completion-help-string.
5684 ;; 2008/10/06 dadams
5685 ;;     icicle-ms-windows-drive-hash: Set it to nil if make-hash-table is undefined.
5686 ;; 2008/09/30 dadams
5687 ;;     Added: icicle-ms-windows-drive-hash.
5688 ;; 2008/09/20 dadams
5689 ;;     icicle-ignored-extensions-regexp: Append $ to each extension.
5690 ;;     Added: icicle-abs-file-candidates.
5691 ;; 2008/08/28 dadams
5692 ;;     Renamed: alacarte-menu-items-alist to lacarte-menu-items-alist.
5693 ;; 2008/08/18 dadams
5694 ;;     Added: icicle-inhibit-try-switch-buffer.
5695 ;; 2008/08/12 dadams
5696 ;;     Added: icicle-apply-nomsg.
5697 ;; 2008/08/10 dadams
5698 ;;     Added: icicle-explore-final-choice, icicle-explore-final-choice-full.
5699 ;; 2008/08/03 dadams
5700 ;;     Added: icicle-all-candidates-list-alt-action-fn.
5701 ;;     Renamed: icicle-all-candidates-action-fn to icicle-all-candidates-list-action-fn,
5702 ;;              icicle-candidate-alternative-action-fn to icicle-candidate-alt-action-fn.
5703 ;; 2008/03/30 dadams
5704 ;;     Added: icicle-old-read-file-name-fn.
5705 ;; 2008/03/29 dadams
5706 ;;     Removed: icicle-prompt-suffix.
5707 ;; 2008/03/23 dadams
5708 ;;     Added: icicle-scroll-Completions-backward-p.
5709 ;; 2008/03/19 dadams
5710 ;;     Added: icicle-read-expression-map.
5711 ;; 2008/03/10 dadams
5712 ;;     Added: icicle-frame-alist.
5713 ;; 2008/02/24 dadams
5714 ;;     Added: icicle-apropos-match-fns-alist.
5715 ;; 2008/02/21 dadams
5716 ;;     Added: icicle-Info-only-rest-of-book-p.
5717 ;; 2008/02/03 dadams
5718 ;;     Added: icicle-comp-base-is-default-dir-p, icicle-dir-candidate-can-exit-p.
5719 ;; 2008/01/18 dadams
5720 ;;     Moved icicle-complete-keys-alist here from icicles-cmd.el
5721 ;; 2008/01/04 dadams
5722 ;;     Added: icicle-doc-history.
5723 ;; 2007/12/27 dadams
5724 ;;     Added: icicle-apropos-complete-match-fn.
5725 ;; 2007/12/05 dadams
5726 ;;     icicle-proxy-candidate-regexp: Removed * doc-string prefix.
5727 ;; 2007/11/25 dadams
5728 ;;     Added: icicle-commands-for-abbrev.
5729 ;; 2007/11/17 dadams
5730 ;;     Added: icicle(saved)-proxy-candidates, icicle-proxy-candidate-regexp.
5731 ;; 2007/10/06 dadams
5732 ;;     icicle-object-named-types: Added file type.
5733 ;; 2007/08/19 dadams
5734 ;;     Added: icicle-input-fail-pos.
5735 ;; 2007/08/18 dadams
5736 ;;     Added: icicle-whole-candidate-as-text-prop-p.
5737 ;; 2007/07/29 dadams
5738 ;;     Added: icicle-object-named-types, icicle-object-predicate-types.
5739 ;; 2007/07/27 dadams
5740 ;;     Moved icicle-act-first-then-navigate-p to icicles-opt.el as icicle-act-before-cycle-flag.
5741 ;; 2007/07/08 dadams
5742 ;;     Added: icicle-all-candidates(-alternative)-action-fn.
5743 ;; 2007/07/03 dadams
5744 ;;     Added: icicle-previous-raw(-non)-file-name-inputs.
5745 ;; 2007/06/23 dadams
5746 ;;     Added: icicle-search-replacement-history.
5747 ;; 2007/06/17 dadams
5748 ;;     Added: icicle-saved-candidate-overlays.
5749 ;; 2007/06/07 dadams
5750 ;;     Added: icicle-face-name-history.
5751 ;;     Renamed: frame-name-history to icicle-frame-name-history,
5752 ;;              icicle-font-history to icicle-font-name-history,
5753 ;;              icicle-function-history to icicle-function-name-history,
5754 ;;              icicle-variable-history to icicle-variable-name-history.
5755 ;; 2007/05/29 dadams
5756 ;;     icicle-insert-string-at-pt-*: Initialize to nil, not 0.
5757 ;; 2007/05/25 dadams
5758 ;;     Added: icicle-char-property-value-history.
5759 ;; 2007/05/06 dadams
5760 ;;     Added defvars to quiet byte compiler.
5761 ;; 2007/04/28 dadams
5762 ;;     Added: icicle-search-in-context-fn.
5763 ;; 2007/04/20 dadams
5764 ;;     Added: icicle-search-level-overlays.
5765 ;; 2007/04/15 dadams
5766 ;;     Added: icicle-search-context-regexp.
5767 ;; 2007/04/10 dadams
5768 ;;     Added: icicle-search-context-level.
5769 ;; 2007/04/08 dadams
5770 ;;     Added: icicle-all-candidates-action-p.
5771 ;;     icicle-candidate-action-fn: Corrected doc string: reversed success and failure values.
5772 ;; 2007/04/07 dadams
5773 ;;     Added: icicle-search-replacement, icicle-searching-p, icicle-act-first-then-navigate-p.
5774 ;; 2007/04/02 dadams
5775 ;;     Added: icicle-text-property-value-history.
5776 ;;     Added: icicle-text-properties-alist (commented out).
5777 ;; 2007/03/23 dadams
5778 ;;     Added: icicle-require-match-p.
5779 ;; 2007/03/14 dadams
5780 ;;     Added: icicle-last-top-level-command.
5781 ;; 2007/03/06 dadams
5782 ;;     Added: icicle-inhibit-sort-p.
5783 ;;     icicle-candidates-alist: Improved doc string.
5784 ;; 2007/02/20 dadams
5785 ;;     Added: icicle-delete-candidate-object, icicle-candidate-alternative-action-fn.
5786 ;; 2007/02/03 dadams
5787 ;;     Renamed icicle-icompleting-p to icicle-edit-update-p.
5788 ;; 2007/02/02 dadams
5789 ;;     Added: icicle-completing-p.
5790 ;; 2007/01/29 dadams
5791 ;;     icicle-last-sort-function: Use icicle-case-string-less-p, not string-lessp.
5792 ;; 2007/01/19 dadams
5793 ;;     Added: icicle-candidate-properties-alist.
5794 ;; 2007/01/15 dadams
5795 ;;     Added: icicle-reverse-sort-p.
5796 ;; 2007/01/14 dadams
5797 ;;     icicle-list-use-nth-parts: Updated doc string for new icicle-list-nth-parts-join-string.
5798 ;; 2007/01/12 dadams
5799 ;;     Added: icicle-list-use-nth-parts.
5800 ;;     Removed icicle-saved-overriding-local-map.
5801 ;; 2007/01/11 dadams
5802 ;;     Added: icicle-menu-map, icicle-minor-mode-map-entry.
5803 ;; 2007/01/10 dadams
5804 ;;     Added: icicle-saved-overriding-local-map.
5805 ;; 2007/01/05 dadams
5806 ;;     icicle-initial-value: Updated doc string to mention you can bind it.
5807 ;; 2006/12/25 dadams
5808 ;;     Added: icicle-saved-completion-candidates-internal.
5809 ;; 2006/12/23 dadams
5810 ;;     Added: icicle-candidate-help-fn.
5811 ;; 2006/12/17 dadams
5812 ;;     Added: icicle-saved-completion-candidate.
5813 ;; 2006/11/24 dadams
5814 ;;     Added: icicle-universal-argument-map, icicle-kmacro-alist, icicle-saved-kmacro-ring-max,
5815 ;;            icicle-kmacro-history.
5816 ;; 2006/11/18 dadams
5817 ;;     Added: frame-name-history, icicle-bookmark-history, icicle-buffer-config-history,
5818 ;;            icicle-color-history, icicle-color-theme-history, icicle-completion-set-history,
5819 ;;            icicle-dictionary-history, icicle-font-history, icicle-function-history,
5820 ;;            icicle-kill-history, icicle-search-history, icicle-variable-history,
5821 ;; 2006/11/09 dadams
5822 ;;     icicle-search-refined-overlays: Updated doc string: icicle-search-highlight-threshold.
5823 ;; 2006/10/14 dadams
5824 ;;     Moved conditional eval-when-compile to top level.
5825 ;; 2006/09/24 dadams
5826 ;;     icicle-last-transform-function: Corrected default value.
5827 ;; 2006/09/12 dadams
5828 ;;     Added: icicle-pre-minibuffer-buffer.
5829 ;; 2006/08/20 dadams
5830 ;;     icicle-current-completion-mode: Updated doc string.
5831 ;; 2006/08/04 dadams
5832 ;;     Removed icicle-apropos-completing-p (not used).
5833 ;; 2006/07/23 dadams
5834 ;;     Added: icicle-last-transform-function.
5835 ;; 2006/07/22 dadams
5836 ;;     Added: icicle-search-command, icicle-search-final-choice.
5837 ;; 2006/07/20 dadams
5838 ;;     Renamed icicle-arrows-respect-* to icicle-cycling-respects-completion-mode-flag.
5839 ;; 2006/07/19 dadams
5840 ;;     Applied patch from Damien Elmes <emacs@repose.cx>: Added: icicle-current-completion-type.
5841 ;;     Renamed: icicle-current-completion-type to icicle-current-completion-mode.
5842 ;; 2006/07/05 dadams
5843 ;;     Renamed: icicle-current-regexp-input to icicle-current-raw-input.
5844 ;; 2006/06/18 dadams
5845 ;;     Added: icicle-apropos-completing-p.
5846 ;; 2006/04/30 dadams
5847 ;;     Added: icicle-candidate-entry-fn.
5848 ;;     Renamed: icicle-search-candidates to icicle-candidates-alist.
5849 ;; 2006/04/14 dadams
5850 ;;     Renamed icicle-search-refined-overlay to icicle-search-refined-overlays.
5851 ;;     Added: icicle-search-candidates.
5852 ;; 2006/04/07 dadams
5853 ;;     Added: icicle-search-overlays.
5854 ;;     Renamed icicle-search-overlay to icicle-search-current-overlay.
5855 ;; 2006/03/27 dadams
5856 ;;     Added: icicle-search-refined-overlay.
5857 ;; 2006/03/26 dadams
5858 ;;     Added: icicle-search-overlay.
5859 ;; 2006/03/25 dadams
5860 ;;     Added: icicle-saved-candidates-variables-obarray.
5861 ;; 2006/03/20 dadams
5862 ;;     Added: icicle-common-match-string, icicle-current-regexp-input.
5863 ;; 2006/03/14 dadams
5864 ;;     Removed: icicle-icicle-completing-p.
5865 ;; 2006/03/13 dadams
5866 ;;     Added: icicle-re-no-dot.
5867 ;; 2006/03/05 dadams
5868 ;;     Moved to icicles-mode.el: icicle-mode-map.
5869 ;; 2006/03/04 dadams
5870 ;;     Moved options stuff to Options menu, when available.
5871 ;;     Moved apropos stuff to Apropos menu, when available.
5872 ;;     Moved describe stuff to Describe menu, when available.
5873 ;; 2006/03/03 dadams
5874 ;;     Added to Icicles menu: icicle-complete-thesaurus-entry, icicle-apropos*,
5875 ;;       option-setting cmds, buffer-config cmds icicle-(var|fun)doc.
5876 ;;     Require apropos-fn+var.el.
5877  
5878 ;;;(@* "CHANGE LOG FOR `icicles.el'")
5879 ;;
5880 ;; 2011/06-24 dadams
5881 ;;     Updated load order: mac, face, opt, var, fn, mcmd, cmd1, cmd2, mode.
5882 ;; 2010/12/26 dadams
5883 ;;     Removed autoload cookies except simple ones & ones with sexp on same line.  Thx to Richard Kim.
5884 ;; 2009/05/22 dadams
5885 ;;     Require icicles-cmd[12].
5886 ;; 2009/04/13 dadams
5887 ;;     Removed the part of Thierry's text that mentioned emacsclient (no relation to Icicles).
5888 ;; 2008/12/02 dadams
5889 ;;     Don't warn, if daemonp.  Thx to Thierry Volpiatto.
5890 ;; 2007/07/22 dadams
5891 ;;     Require icicles-cmd.el before icicles-mode.el.
5892 ;; 2007/06/07 dadams
5893 ;;     Moved all doc to new files icicles-doc1.el and icicles-doc2.el.
5894 ;; 2007/05/12 dadams
5895 ;;     Moved Search Enhancements subsections to top level: Isearch Completion,
5896 ;;       Icicles Search Commands, Overview, Search and Replace.
5897 ;; 2007/05/06 dadams
5898 ;;     Changed S-C- to C-S- and M-C- to C-M- in doc.
5899 ;; 2007/04/20 dadams
5900 ;;     Require icicles-face.el after icicles-opt.el.
5901 ;; 2007/03/09 dadams
5902 ;;     Renamed sections .*Removal of Duplicates to .*Removing Duplicates and
5903 ;;                      More on Multi-Commands to More About Multi-Commands.
5904 ;; 2007/02/24 dadams
5905 ;;     Added section More on Multi-Commands.
5906 ;;     Added subsection Chipping Away the Non-Elephant to Nutshell View.
5907 ;; 2007/02/03 dadams
5908 ;;     Updated section Sorting Candidates and Removal of Duplicates.
5909 ;; 2007/01/28 dadams
5910 ;;     Added: subsection Using Progressive ... Process of Elimination.
5911 ;; 2007/01/21 dadams
5912 ;;     Added: section Text Properties in *Completions*.
5913 ;; 2007/01/19 dadams
5914 ;;     Added: section Programming Multi-Completions.
5915 ;; 2007/01/16 dadams
5916 ;;     Added linkd links.  Cleanup.
5917 ;; 2007/01/15 dadams
5918 ;;     Added: section Sorting Candidates and Removal of Duplicates.
5919 ;;     Renamed:
5920 ;;      icicle-sort-and-strip-ignored to icicle-strip-ignored-files-and-sort,
5921 ;;      icicle-dirs-last-p to icicle-dirs-last-p,
5922 ;;      icicle-sort-case-insensitively to *-case-insensitive-string-lessp.
5923 ;; 2007/01/12 dadams
5924 ;;     Updated section Multi-Completions for icicle-list-use-nth-parts.
5925 ;; 2007/01/06 dadams
5926 ;;     File-Name and Directory-Name Completion Tips: Mention icicle-use-~-for-home-dir-flag.
5927 ;; 2006/11/23 dadams
5928 ;;     Added icicle-TAB-shows-candidates-flag.
5929 ;; 2006/11/10 dadams
5930 ;;     Multi-Commands: Mention prompt prefix +.
5931 ;; 2006/11/05 dadams
5932 ;;     icicle-occur is bound to C-c '.  Search commands use multiple buffers.
5933 ;;     Added Nutshell subsection Perform Multiple Operations In One Command.
5934 ;; 2006/10/19 dadams
5935 ;;     Added Goggle Matching section.
5936 ;; 2006/10/16 dadams
5937 ;;     Added key completion to Nutshell View.
5938 ;; 2006/10/14 dadams
5939 ;;     Renamed: icicle-cancel-*Help*-* to icicle-cancel-Help-*.
5940 ;;     Moved conditional eval-when-compile to top level.
5941 ;; 2006/10/01 dadams
5942 ;;     Updated for new alternative-sort toggle:
5943 ;;       History Enhancements, Key Completion, Customization *, Key Bindings.
5944 ;; 2006/09/30 dadams
5945 ;;     Changed bindings of icicle-candidate-set-(save|retrieve) from C-<, C-> to C-M-<, C-M->.
5946 ;;     Added icicle-key-descriptions-use-<>-flag in Customization section.
5947 ;; 2006/09/17 dadams
5948 ;;     Added section Key Completion.
5949 ;; 2006/09/12 dadams
5950 ;;     Added section Moving Between the Minibuffer and Other Buffers.
5951 ;; 2006/08/23 dadams
5952 ;;     Added sections Icicles Mult M-x and Defining Icicles Multi M-x.
5953 ;; 2006/08/18 dadams
5954 ;;     Added section Icicles Info Enhancements.
5955 ;; 2006/08/13 dadams
5956 ;;     Documented icicle-completing(-mustmatch)-prompt-prefix.
5957 ;; 2006/06/17 dadams
5958 ;;     Rewrote Multi-Commands, Defining Icicles Commands (Including Multi-Commands), and
5959 ;;             Defining Multi-Commands the Hard Way.
5960 ;;     Renamed: Defining Icicles Commands: + (Including Multi-Commands).
5961 ;;              Defining Multi-Commands: + the Hard Way.
5962 ;;     Added: Defining Multiple-Choice Menus.
5963 ;; 2006/06/08 dadams
5964 ;;     Removed require of icicle-keys.el (obsolete).
5965 ;; 2006/05/26 dadams
5966 ;;     Mention M-k as icicle-erase-minibuffer-or-history-element.
5967 ;;     Don't mention M-S-backspace and M-S-delete any more.
5968 ;; 2006/05/19 dadams
5969 ;;     Renamed icicle-inhibit-reminder* to icicle-reminder*.
5970 ;;       Updated its doc to reflect new functionality.
5971 ;; 2006/05/18 dadams
5972 ;;     Change install instructions to include turning on Icicle mode.
5973 ;; 2006/05/16 dadams
5974 ;;     Require icicles-keys.el when icicle-bind-top-level-commands-flag.
5975 ;;     Updated doc to reflect new library icicles-keys.el.
5976 ;; 2006/05/15 dadams
5977 ;;     Renamed: ici*-nospace-flag to icicle-ignore-space-prefix-flag.
5978 ;;     Updated doc of icicle-ignore-space-prefix-flag.
5979 ;;     Added doc of icicle-buffer-ignore-space-prefix-flag.
5980 ;; 2006/04/14 dadams
5981 ;;     Added section Inserting a Regexp from a Variable.
5982 ;; 2006/04/09 dadams
5983 ;;     Added descriptions of icicle-arrows-respect-completion-type-flag.
5984 ;; 2006/03/19 dadams
5985 ;;     Added description of icicle-expand-input-to-common-match-flag.
5986 ;; 2006/03/07 dadams
5987 ;;     Correct the description of icicle-doc - match against only the doc, not the symbol name.
5988 ;; 2006/03/06 dadams
5989 ;;     Reordered Commentary sections, putting Emacs-Lisp stuff later.
5990 ;; 2006/03/05 dadams
5991 ;;     Mention icicle-touche-pas-aux-menus-flag.
5992 ;; 2006/03/03 dadams
5993 ;;     Clarified Multi-Completions description.
5994 ;; 2006/03/01 dadams
5995 ;;     Added: icicle-(complete|insert)-thesaurus-entry.
5996 ;; 2006/02/27 dadams
5997 ;;     Split into multiple libraries: *-cmd, *-face, *-fn, *-mac, *-mode, *-opt, *-var.
5998 ;; 2006/02/25 dadams
5999 ;;     Added: icicle-narrow-candidates (bound to M-*), icicle-icicle-completing-p,
6000 ;;            icicle-set-calling-cmd, icicle-reset-icicle-completing-p,
6001 ;;            icicle-run-icicle-(pre|post)-command-hook.
6002 ;;     Add all hooks in icicle-mode only, except for minibuffer-local hooks (pre- and
6003 ;;       post-command).
6004 ;;     Remove all hooks when exit Icicle mode.
6005 ;;     icicle-completing-read, icicle-read-file-name:
6006 ;;       Add catch icicle-read-top.  Set icicle-icicle-completing-p.
6007 ;;       Separate case of not Icicle mode from other no-prompt cases.
6008 ;;     Reordered some groups of functions.
6009 ;; 2006/02/24 dadams
6010 ;;     icicle-candidate-set-1: Treat empty set.
6011 ;; 2006/02/21 dadams
6012 ;;     icicle-prefix-complete: Implemented icompletion here, like icicle-apropos-complete-1.
6013 ;;     icicle-call-then-update-Completions:
6014 ;;       Use icicle-last-completion-command, not icicle-apropos-complete.
6015 ;;     Renamed icicle-apropos-icompleting-p to icicle-icompleting-p.
6016 ;;     Added: icicle-(kill|delete)(-backward)-*, icicle-yank etc.  Bound them.
6017 ;;     Added: icicle-call-then-update-Completions.
6018 ;;     Added: icicle-incremental-completion-p.
6019 ;;       Use instead of icicle-incremental-completion-flag everywhere.
6020 ;;       Upgrade from t in icicle-display-candidates-in-Completions.
6021 ;;       Reset in icicle-minibuffer-setup.
6022 ;;     icicle-isearch-complete: Use search-ring symbol as history arg to completing-read.
6023 ;;     icicle-display-candidates-in-Completions, icicle-keep-only-past-inputs, icicle-history:
6024 ;;       Ensure that minibuffer-history-variable is a list.
6025 ;;     Fixed typos: icicle-keep-past-inputs -> icicle-keep-only-past-inputs.
6026 ;; 2006/02/20 dadams
6027 ;;     icicle-insert-string-at-point: Treat negative prefix arg.
6028 ;;     Added: icicle-signum.
6029 ;;     icicle-insert-thing: Remove text properties of string to insert.
6030 ;; 2006/02/19 dadams
6031 ;;     icicle-thing-at-point-functions: Added function to grab successive text.
6032 ;;     icicle-insert-string-at-point: Treat successive-grab fn and prefix arg.
6033 ;;     Added: icicle-default-thing-insertion, icicle-default-thing-insertion-flipped-p,
6034 ;;            icicle-insert-string-at-pt-(start|end), icicle-successive-grab-count,
6035 ;;            icicle-insert-thing.
6036 ;;     Renamed: icicle-insert-string-near-point to icicle-insert-string-at-point.
6037 ;; 2006/02/18 dadams
6038 ;;     icicle-retrieve-last-input: Don't reset icicle-last-completion-command if not interactive
6039 ;;     icicle-candidate-set-complement, icicle-keep-only-past-inputs:
6040 ;;       Use icicle-retrieve-last-input.
6041 ;;     icicle-keep-only-past-inputs:
6042 ;;       Rewrote modeled on icicle-apropos-complete:
6043 ;;        Take into account singleton and empty candidate set.
6044 ;;        Provide input to icicle-display-ca*.
6045 ;;        Set icicle-last-completion-command.
6046 ;;     icicle-history: Force redisplay of *Completions*.  Don't set this-command.
6047 ;;     icicle-completing-read: Ensure icicle-initial-value is not nil.
6048 ;;     icicle-save-or-restore-input: Don't restore empty input.
6049 ;;     icicle-recompute-candidates:
6050 ;;       Don't recompute if last completion cmd was icicle-keep-only-past-inputs.
6051 ;;     Added: icicle-historical-candidate, icicle-keep-only-past-inputs.
6052 ;;     icicle-display-candidates-in-Completions: Use icicle-historical-candidate.
6053 ;;     Bind icicle-keep-only-past-inputs to M-pause in minibuffer completion maps.
6054 ;; 2006/02/17 dadams
6055 ;;     Added: icicle-complete-input-overlay, icicle-highlight-complete-input,
6056 ;;            icicle-complete-input.
6057 ;;     icicle-(prefix|apropos)-complete(-1): Use icicle-highlight-complete-input.
6058 ;;     Added icicle-inhibit-reminder-prompt-flag.  Thx to Jonathan Simms for the suggestion.
6059 ;;     icicle-completing-read, icicle-read-file-name: Use icicle-inhibit-reminder-prompt-flag.
6060 ;; 2006/02/12 dadams
6061 ;;     icicle-read-string: Finished bug fix of 2/11.  Thx to Andrey Zhdanov.
6062 ;; 2006/02/11 dadams
6063 ;;     icicle-insert-string-near-point: Always start with first function.
6064 ;;     read-from-minibuffer: Bug fix: don't use def if init is consp.  Thx to Andrey Zhdanov.
6065 ;; 2006/02/09 dadams
6066 ;;     Added: icicle-insert-string-near-point, icicle-thing-at-point-functions,
6067 ;;            icicle-thing-at-pt-fns-pointer.
6068 ;;     Bound icicle-insert-string-near-point.
6069 ;;     Added Commentary section "Inserting Text Found Near the Cursor"
6070 ;;     Require: thingatpt+.el, thingatpt.el.
6071 ;;     Bug fix: icicle-execute-extended-command(-1): Take care of last-command and this-command.
6072 ;; 2006/02/08 dadams
6073 ;;     icicle-completing-read: Treat consp case of initial-input.
6074 ;;     icicle-read-file-name: Fixed bug introduced 02/02:
6075 ;;       Don't ensure initial-input is not null.
6076 ;; 2006/02/07 dadams
6077 ;;     Bug fix: Files menu find-file stuff was bound to *recent-file*.
6078 ;; 2006/02/03 dadams
6079 ;;     icicle-init-value-flag: Use nil as the default value.
6080 ;;     Added: icicle-read-from-minibuffer, icicle-read-string.
6081 ;;              Use in icicle-(redefine|restore)-standard-commands.
6082 ;; 2006/02/02 dadams
6083 ;;     icicle-completing-read, read-file-name:
6084 ;;       Respect icicle-init-value-flag only if default value not nil.
6085 ;;     read-file-name: Ensure initial-value is not null.  Initialize icicle-initial-value.
6086 ;;                     Respect icicle-init-value-flag.
6087 ;; 2006/01/29 dadams
6088 ;;     icicle-completing-read, icicle-read-file-name: Remove binding of ESC-TAB.
6089 ;;     icicle-lisp-complete-symbol: Enable recursive minibuffers if in minibuffer.
6090 ;;     Commentary: Combine lisp-complete-symbol with dabbrev.
6091 ;;     Updated bindings listed in icicle-completion-help-string.
6092 ;; 2006/01/28 dadams
6093 ;;     New feature: icicle-lisp-complete-symbol (added).  Added to Commentary and moved section.
6094 ;;     Corrected fix of 2005/12/14:
6095 ;;       icicle-minibuffer-setup: Save region background at recursion level 1.
6096 ;;       icicle-saved-region-background: defvar to nil.
6097 ;;     Added: icicle-increment-color-hue.  Use in icicle-region-background.
6098 ;;     Added: icicle-(re)set-option-to-(nil|t), icicle-clear-option, icicle-toggle-option,
6099 ;;            icicle-binary-option-p.
6100 ;; 2006/01/26 dadams
6101 ;;     Added: icicle(-saved)(-regexp)-search-ring-max,
6102 ;;            icicle-(redefine|restore)-standard-options.
6103 ;;     icicle-mode: Use icicle-(redefine|restore)-standard-options.
6104 ;;                  Use icicle-(redefine|restore)-standard-commands for Emacs 21+ also (forgot?)
6105 ;;     icicle-(redefine|restore)-*: Use defalias, not fset.
6106 ;; 2006/01/24 dadams
6107 ;;     New feature: icicle-isearch-complete.
6108 ;;       Added: icicle-isearch-complete, icicle-isearch-resume, icicle-bind-isearch-keys.
6109 ;;       icicle-mode: add/remove isearch-mode-hook.
6110 ;;     Minor bug fix: initial value was treated as icicle-last-completion-candidate.
6111 ;;       Added: icicle-initial-value.
6112 ;;       icicle-completing-read, icicle-read-file-name:
6113 ;;         Set icicle-initial-value, not icicle-last-completion-candidate.
6114 ;;       icicle-next-candidate:
6115 ;;         Initialize icicle-last-completion-candidate to icicle-initial-value.
6116 ;;       icicle-save-or-restore-input:
6117 ;;         Don't change icicle-current-input if = icicle-initial-value
6118 ;;       Renamed: icicle-init-value to icicle-init-value-flag.
6119 ;; 2006/01/23 dadams
6120 ;;     Use command remapping for self-insert-command in Emacs 22.
6121 ;;     Changed icicle-(re|un)map to defsubst.
6122 ;;     Removed Commentary section on icicle-execute-extended-command.
6123 ;;     icicle-apropos-complete-and-exit, icicle-apropos-complete-1:
6124 ;;       Use flag icicle-apropos-complete-and-exit-p to suppress minibuffer-message.
6125 ;; 2006/01/22 dadams
6126 ;;     Added: icicle-execute-extended-command*.
6127 ;;     completing-read, icicle-read-file-name:
6128 ;;       Corrected nil case for icicle-require-match-flag (bug fix).
6129 ;;       Hard-code bindings, instead of using \\[...], so the simpler bindings are shown.
6130 ;;     Changed C-o to C-RET for consistency (C-o still works too).
6131 ;;       icicle-(bind|restore)-completion-keys: Added C-RET binding.
6132 ;; 2006/01/21 dadams
6133 ;;     icicle-mouse-choose-completion:
6134 ;;       Don't save selected window if it's *Completions*.
6135 ;;     Added more Commentary about icicle-retrieve-last-input.
6136 ;; 2006/01/20 dadams
6137 ;;     icicle-sort-and-strip-ignored: Don't ignore names if only ignored extensions match.
6138 ;;     Added: icicle-apropos-complete-and-exit.  Bound it in icicle-rebind-completion-maps.
6139 ;;     icicle-minibuffer-setup: Don't reset icicle-require-match-flag.
6140 ;;     icicle-apropos-complete: Return the list of candidates.
6141 ;; 2006/01/19 dadams
6142 ;;     Added: icicle(-buffer)-require-match-flag.  Thanks to Mathias Dahl for feedback.
6143 ;;            Use in completing-read, read-file-name, and icicle-minibuffer-setup.
6144 ;;     Re-alphabetized defcustoms.
6145 ;; 2006/01/07 dadams
6146 ;;     Added :link.
6147 ;; 2005/12/31 dadams
6148 ;;     Added: icicle-fix-default-directory.
6149 ;;     icicle-read-file-name: Use icicle-fix-default-directory hack to fix bug.
6150 ;; 2005/12/26 dadams
6151 ;;     Added icicle-sort-case-insensitively.
6152 ;;     Added more parent groups for icicles group.
6153 ;; 2005/12/14 dadams
6154 ;;     icicle-minibuffer-setup: Only save region background when at top level.
6155 ;;     Added: icicle-Completions-frame-at-right-flag.  Use in icicle-candidate-action.
6156 ;;     Added: defvars for font-lock-keyword-face, font-lock-function-name-face.
6157 ;; 2005/12/09 dadams
6158 ;;     Fontify icicle-define* in emacs-lisp-mode.
6159 ;; 2005/12/02 dadams
6160 ;;     Added: icicle-customize-apropos*.  Use in icicle-(redefine|restore)-standard-commands.
6161 ;; 2005/12/01 dadams
6162 ;;     Added: icicle-repeat-complex-command, icicle-redefine-standard-commands-flag,
6163 ;;            icicle-(redefine|restore)-standard-commands.
6164 ;; 2005/11/30 dadams
6165 ;;     Added: icicle-apropos-zippy.
6166 ;;     icicle-apropos-command, icicle-apropos-variable:
6167 ;;       Corrected completing-read for do-all arg.
6168 ;;     icicle-apropos-command, *-apropos-option: My version must not respect apropos-do-all.
6169 ;; 2005/11/29 dadams
6170 ;;     Added: icicle-apropos*.
6171 ;;     icicle-help-on-candidate: Treat plists.  Message "No help" is the default.
6172 ;; 2005/11/25 dadams
6173 ;;     Added: icicle-dabbrev-completion.
6174 ;;     Renamed names with "*Completions*" to use "Completions", for coherence with XEmacs port.
6175 ;; 2005/11/24 dadams
6176 ;;     icicle-mouse-choose-completion: Delete *Completions* window systematically.
6177 ;; 2005/11/21 dadams
6178 ;;     icicle-delete-windows-on: Avoid error Attempt to delete minibuffer or sole ... window.
6179 ;;     icicle-prefix-complete, icicle-apropos-complete-1, icicle-next-candidate:
6180 ;;       Use icicle-delete-windows-on, not delete-window.
6181 ;;     icicle-candidate-set-save: Use map in doc string.
6182 ;;     icicle-compilation-search: Tidied up doc string.
6183 ;;     Use #' for clarity.
6184 ;; 2005/11/20 dadams
6185 ;;     icicle-completing-read: Added treatment of completions that are lists of strings.
6186 ;;     Updated Commentary: new section on completions that are lists.
6187 ;;     Added: icicle-list-join-string, icicle-doc, icicle-fundoc, icicle-vardoc.
6188 ;; 2005/11/15 dadams
6189 ;;     Temporarily removed defadvice of next-history-element for Emacs 22.  Bug reported.
6190 ;;     icicle-minibuffer-prompt-end: Changed from defsubst to defun.
6191 ;; 2005/11/13 dadams
6192 ;;     icicle-mouse-candidate-action: buffer-substring -> buffer-substring-no-properties.
6193 ;;     icicle-completing-read: Bind, don't set, minibuffer-completion-table.
6194 ;;     icicle-buffer*: Use other buffer for DEF, not INIT-VALUE.
6195 ;;     Added: icicle-preselect-init-value-flag, icicle-(add|remove)-buffer-*,
6196 ;;            icicle-read-from-minibuf-nil-default, icicle-buffer-list,
6197 ;;            icicle-select-minibuffer-contents, icicle-completing-p.
6198 ;;     icicle-minibuffer-setup:
6199 ;;       Select minibuf contents if icicle-preselect-init-value-flag.
6200 ;;       Only display *Completions* if icicle-completing-p.
6201 ;;     Advised next-history-element.
6202 ;; 2005/11/11 dadams
6203 ;;     Added: icicle-show-*Completions*-initially-flag, icicle-display-*Completions*.
6204 ;;     icicle-minibuffer-setup: If icicle-show-*Completions*-initially-flag, display it.
6205 ;; 2005/11/09 dadams
6206 ;;     Added: icicle-mouse-candidate-action.  Bind in icicle-rebind-completion-maps.
6207 ;;     icicle-buffer(-other-window): Use buffer-name-history as HIST arg to completing-read.
6208 ;; 2005/11/08 dadams
6209 ;;     Add/remove hook icicle-cancel-*Help*-redirection in icicle-mode, not at top level.
6210 ;;     Removed icicle-reset-icicle-menu-items-alist.
6211 ;;     Reset icicle-menu-items-alist in icicle-execute-menu-command of icicles-menu.el.
6212 ;; 2005/11/06 dadams
6213 ;;     Include minibuffer-local-filename-completion-map.
6214 ;; 2005/11/05 dadams
6215 ;;     icicle-display-candidates-in-*Completions*: Don't try to highlight root if it is "".
6216 ;;     icicle-help-on-candidate:
6217 ;;       Test null, not boundp icicle-menu-items-alist.
6218 ;;       If menu item's command is a lambda, set cand-symb to nil.
6219 ;;     icicle-mode: Use icicle-reset-icicle-menu-items-alist on minibuffer-exit-hook.
6220 ;;     Added: icicle-reset-icicle-menu-items-alist.
6221 ;;     Added defvar for icicle-menu-items-alist.
6222 ;;     Added byte-compiler comments and defvars to quiet byte-compile.
6223 ;; 2005/11/04 dadams
6224 ;;     icicle-display-candidates-in-*Completions:
6225 ;;       Bug fix - use (functionp minibuffer-completion-table), not (icicle-file-name-input-p).
6226 ;; 2005/11/03 dadams
6227 ;;     Added: icicle-filter-wo-input and vars icicle-must-*, icicle-extra*, icicle-buffer-*,
6228 ;;            icicle-buffer-config*, icicle-buffer-sort*.
6229 ;;     icicle-unsorted-*: Use icicle-filter-wo-input and icicle-extra-candidates.
6230 ;;     Added Commentary section Global Filters.
6231 ;;     icicle-buffer* commands: Added filter bindings.
6232 ;;     icicle-define(-file)-command: Minor bug fix: Ensure buffer is live before switching back.
6233 ;; 2005/11/01 dadams
6234 ;;     Added: icicle-must(-not)-match-regexp.  Use in icicle-unsorted-*-candidates.
6235 ;; 2005/10/31 dadams
6236 ;;     Added: icicle-use-default-as-init-value-flag.  Use in completing-read.
6237 ;;     icicle-find-file*: Minor bug fix - REQUIRE-MATCH should be nil.
6238 ;; 2005/10/29 dadams
6239 ;;     icicle-display-candidates-in-*Completions: Minor bug fix - wrap in save-window-excursion.
6240 ;;     icicle-minibuffer-contents-from-minibuffer:
6241 ;;       Minor bug fix - do nothing if file & user erased minibuffer.
6242 ;;     Menu-bar menus:
6243 ;;       Enable Icicles menu items only in Icicle mode.  Put search
6244 ;;       stuff on Search menu, if available.   Use "[Icy]" prefix for
6245 ;;       Icicles items in menus other than "Icicles".
6246 ;; 2005/10/28 dadams
6247 ;;     Added: icicle-define-file-command.
6248 ;;            Use it to define icicle-delete-file, icicle-find-file*.
6249 ;;     icicle-(next|previous)-(apropos|prefix)-candidate-action:
6250 ;;       Do action before moving to next|prev.
6251 ;;     icicle-candidate-action: Raise *Completions* frame, to keep it on top.
6252 ;; 2005/10/27 dadams
6253 ;;     Added: icicle-define-command, icicle-find-file*, select-frame-set-input-focus.
6254 ;;     Redefined using icicle-define-command:
6255 ;;       icicle-bookmark, icicle-buffer*, icicle-color-theme, icicle-delete-file,
6256 ;;       icicle-find-file*, icicle-font, icicle-frame-*, icicle-recent-file*.
6257 ;;     icicle-all-candidates-action: Report failures, not successes.  Use error msg.
6258 ;;     Added Commentary sections: Special-Character Conflicts, Defining Icicles Commands.
6259 ;;     Commentary section Act on All Candidates: Added delete-one-or-more-files example.
6260 ;;     Added icicle-find-file* to menu-bar menus.
6261 ;;     Inactivated top-level menu items when minibuffer is active.
6262 ;;     Renamed: icicle-delete-file-1 to icicle-delete-file-or-directory.
6263 ;; 2005/10/25 dadams
6264 ;;     Thx to Lennart Borgman for suggestion about select-frame-set-input-focus.
6265 ;; 2005/10/24 dadams
6266 ;;     icicle-search:
6267 ;;       1) Bug fix - need to have mouse-choose-completion set icicle-candidate-nb.
6268 ;;       2) Show error message.
6269 ;;     Default value of icicle-candidate-nb is now nil, not -1.
6270 ;;     Added: icicle-mouse-choose-completion, icicle-nb-of-candidate-in-*Completions*.
6271 ;;     icicle-move-to-(next|previous)-completion, icicle-increment-cand-nb+signal-end:
6272 ;;       Reset candidate number to 0 if nil.
6273 ;;     icicle-(redefine|restore)-std-completion-fns: Use icicle-mouse-choose-completion.
6274 ;; 2005/10/23 dadams
6275 ;;     Added: icicle-mode-map.
6276 ;;     icicle-(bind|restore)-completion-keys: Updated menu-bar menu.
6277 ;;     icicle-compilation-search: Error if not in a compilation buffer.
6278 ;; 2005/10/21 dadams
6279 ;;     icicle-remove-duplicates: redefined.
6280 ;; 2005/10/18 dadams
6281 ;;     icicle-file-name-input-p doc string:
6282 ;;       Mention why don't use minibuffer-completing-file-name.
6283 ;; 2005/10/16 dadams
6284 ;;     Added: icicle-compilation-search, icicle-search-hook.
6285 ;;     icicle-search: Run icicle-search-hook.  Added optional sit-for-period arg.
6286 ;;     icicle-mode: Added list of top-level commands to doc string.
6287 ;;     icicle-scroll-or-update-*Completions*: Added msg arg - only display msg if don't scroll.
6288 ;; 2005/10/14 dadams
6289 ;;     Allow for multisets of candidates.
6290 ;;     Added: icicle-search, icicle-completion-nospace-flag, icicle-candidate-nb,
6291 ;;            icicle-filter-alist, icicle-increment-cand-nb+signal-end.
6292 ;;     Commentary: Updated for icicle-search.
6293 ;;     icicle-next-candidate: Major rewrite.
6294 ;;       Uses icicle-candidate-nb, icicle-increment-cand-nb+signal-end,
6295 ;;            icicle-move-to-next-completion.
6296 ;;     Use icicle-completion-nospace-flag in calls to all-completions.
6297 ;;     icicle-previous-(apropos|prefix)-candidate,
6298 ;;     icicle-(next|previous)-(apropos|prefix)-candidate-action: Added optional arg.
6299 ;;     icicle-apropos-complete-1, icicle-next-candidate, icicle-recompute-candidates:
6300 ;;       Added *-action commands to memq test.
6301 ;;     icicle-move-to-next-completion: Added optional no-minibuffer-follow-p arg.
6302 ;;     icicle-scroll-or-update-*Completions*: Update display even if handle-switch-frame.
6303 ;; 2005/10/12 dadams
6304 ;;     Added: icicle-redefine-std-completion-fns,
6305 ;;            icicle-restore-std-completion-fns,
6306 ;;            icicle-delete-windows-on, icicle-frames-on.
6307 ;;     icicle-mode: Use icicle-redefine-std-completion-fns,
6308 ;;                  icicle-restore-std-completion-fns.
6309 ;;     Renamed to use icicle- prefix: choose-completion-string,
6310 ;;       completing-read, completion-setup-function, exit-minibuffer,
6311 ;;       minibuffer-complete-and-exit, read-file-name,
6312 ;;       switch-to-completions.  Added these and also old- versions.
6313 ;;     icicle-history: Treat file names also.
6314 ;;     remove-windows-on -> icicle-delete-windows-on.
6315 ;; 2005/10/11 dadams
6316 ;;     Added: icicle-history, icicle-scroll-or-update-*Completions*,
6317 ;;            icicle-undo-std-completion-faces.
6318 ;;     Minor bug fixes:
6319 ;;       icicle-remove-dots: Also match against "." and ".." (lack of slash in Emacs 21+).
6320 ;;       icicle-save-or-*: Don't reset to last input if icicle-last-completion-candidate is "".
6321 ;;                         Update icicle-last-completion-candidate also to use current input.
6322 ;;       Reset icicle-last-input in icicle-minibuffer-setup, not in
6323 ;;         completing-read and read-file-name.
6324 ;;       icicle-display-candidates-in-*Completions*, icicle-next-candidate:
6325 ;;         Put candidate in consp before applying predicate.
6326 ;;       icicle-recompute-candidates: Don't recompute unless icicle-last-completion-command.
6327 ;;       icicle-retrieve-last-input: Use icicle-current-input, not icicle-last-input.
6328 ;;       icicle-self-insert: Update icicle-current-input and set this-command to
6329 ;;                           icicle-apropos-complete.
6330 ;;       icicle-apropos-complete: Use error-message-string.
6331 ;;       icicle-apropos-complete-1:
6332 ;;         Protect icicle-file-directory-p with
6333 ;;         icicle-file-name-input-p.  Unconditionally update
6334 ;;         icicle-last-completion-command.
6335 ;;     Moved undoing of std completion faces to icicle-mode.
6336 ;;     Use icicle-scroll-or-update-*Completions* in icicle-candidate-set-1.
6337 ;; 2005/10/06 dadams
6338 ;;     icicle-prefix-complete, icicle-apropos-complete-1:
6339 ;;       Removed vestigial slash cruft - should have been removed in 2005/09/01 fix.
6340 ;;     Added: icicle-remove-dots.  Use in icicle-save-or-restore-input.
6341 ;; 2005/10/05 dadams
6342 ;;     icicle-msg-maybe-in-minibuffer: use format-string arg.
6343 ;; 2005/10/04 dadams
6344 ;;     Replace use of minibuffer-completion-help by
6345 ;;       icicle-apropos-complete.
6346 ;;     Added: icicle-recent-file*, icicle-toggle-ignored-extensions,
6347 ;;            icicle-update-completions, icicle-msg-maybe-in-minibuffer,
6348 ;;            icicle-saved-ignored-extensions.
6349 ;;     Bound icicle-toggle-*.
6350 ;;     icicle-toggle-sorting: Use icicle-update-completions, icicle-msg-maybe-in-minibuffer.
6351 ;;     icicle-sort-and-strip-ignored:
6352 ;;       icicle-ignored-extensions-regexp nil => nothing is ignored.
6353 ;;     Reorder key bindings, so prompt shows S-tab, not S-iso-lefttab.
6354 ;;     icicle-next-candidate: Fixed code to highlight candidate in *Completions*: restriction.
6355 ;; 2005/10/03 dadams
6356 ;;     Regexps can now use backslash (it is no longer a directory separator on MS Windows).
6357 ;;       icicle-minibuffer-contents-from-minibuffer, icicle-file-name-directory-w-default:
6358 ;;         Escape backslash, so not used as directory separator on MS Windows.
6359 ;;       Added: icicle-apropos-complete-1, icicle-file-name-nondirectory.
6360 ;;       icicle-apropos-complete: Use icicle-apropos-complete-1.
6361 ;;                                Treat regexp error via message.
6362 ;;       Use icicle-file-name-nondirectory everywhere, instead of file-name-nondirectory.
6363 ;;     Can now use "?" for regexps; it no longer shows completion list.
6364 ;;     Do icicle-update-ignored-extensions-regexp inside icicle-minibuffer-setup.
6365 ;;     Added and bound: icicle-retrieve-last-input.
6366 ;;     Updated icicle-completion-help-string with recent bindings.
6367 ;;     Renamed: icicle-last-command to icicle-last-completion-command.
6368 ;;              icicle-candidate-set-restore to icicle-candidate-set-retrieve.
6369 ;; 2005/10/01 dadams
6370 ;;     Added: icicle-candidate-set-(define|restore|swap).
6371 ;;     Changed binding of icicle-candidate-set-save to C->.
6372 ;;     Bound new commands.
6373 ;; 2005/10/01 dadams
6374 ;;     Major rewrite to add set operations: complement, difference, union, intersection.
6375 ;;       Added: icicle-completion-candidates, icicle-current-input, icicle-candidate-set-*,
6376 ;;              icicle-set-*, icicle-save-or-restore-input, icicle-recompute-candidates.
6377 ;;       Bound icicle-candidate-set*.
6378 ;;       Added Commentary for Sets of Completion Candidates.
6379 ;;       icicle-(apropos|prefix)-complete: Update icicle-completion-candidates, only as needed.
6380 ;;       icicle-next-candidate:
6381 ;;         Reverse candidates only if switched to opposite-direction command of same type.
6382 ;;         Likewise, for refresh of *Completions*.
6383 ;;         Protect put-text-property for root (e.g. no match for complement).
6384 ;;       icicle-(apropos|prefix)-complete,
6385 ;;       icicle-prefix-word-complete, icicle-next-candidate: Use icicle-completion-candidates.
6386 ;;       icicle-all-candidates-action: Use icicle-completion-candidates, not *-apropos-complete.
6387 ;;       icicle-display-candidates-in-*Completions*:
6388 ;;         Removed first arg (candidates).  Update icicle-completion-candidates.
6389 ;;    icicle-all-candidates-action:
6390 ;;      Use icicle-completion-candidates, so act on completions of either kind.
6391 ;; 2005/09/30 dadams
6392 ;;     Commented out resetting of minibuffer-completion-table to nil for icompletion.
6393 ;;     Thx to Andrey for bug report on M-x M-r problem.
6394 ;; 2005/09/27 dadams
6395 ;;     icicle-(bind|restore)-completion-keys: Bound [S-iso-lefttab] like [S-tab].
6396 ;; 2005/09/26 dadams
6397 ;;     Bug fix: Changed "\C-!"  to [(control ?!)] (others similarly).
6398 ;;     Bound [S-iso-lefttab] like [S-tab].
6399 ;; 2005/09/16 dadams
6400 ;;     Added: icicle-all-candidates-action, icicle-delete-file*,
6401 ;;     icicle-rebind-completion-maps: Bound icicle-all-candidates-action to C-!.
6402 ;;     icicle-(apropos|prefix)-complete: Return candidates list.
6403 ;;     icicle-bookmark, icicle-buffer*, icicle-color-theme,
6404 ;;     icicle-font, icicle-frame*: Return t for success, nil for failure.
6405 ;;     Commentary: Added section Choose All Completion Candidates.
6406 ;; 2005/09/14 dadams
6407 ;;     icicle-rebind-completion-maps: Bound TAB and S-TAB for navigation.
6408 ;;     icicle-move-to-(next|previous)-completion, icicle-(next|previous)-line: Wrap around.
6409 ;; 2005/09/13 dadams
6410 ;;     Major rewrite of file treatment, to treat directory candidates similarly to files.
6411 ;;     Added: icicle-default-directory, icicle-file-directory-p, icicle-sort-function,
6412 ;;            icicle-toggle-sorting, toggle-icicle-sorting.
6413 ;;     Use icicle-file-directory-p everywhere, except choose-completion-string.
6414 ;;     Removed: icicle-nondirectory-*.
6415 ;;     icicle-next-candidate: If not icicle-cycle-into-subdirs-flag, then use relative
6416 ;;                            file/dir name, not nondirectory part.
6417 ;;     icicle-(apropos|prefix)-complete:
6418 ;;       Set icicle-default-directory if sole completion is a subdirectory.
6419 ;;     icicle-sort-and-strip-ignored: Removed optional arg and treatment of subdirs.
6420 ;;     icicle-next-(apropos|prefix)-candidate, icicle-(apropos|prefix)-complete:
6421 ;;       Don't treat icicle-cycle-into-subdirs-flag here.
6422 ;;     icicle-(apropos|prefix)-complete, icicle-next-candidate:
6423 ;;       Set icicle-default-directory, if directory candidate.
6424 ;;     icicle-minibuffer-setup: Set icicle-default-directory.
6425 ;;     icicle-apropos-complete: Different message if icicle-apropos-icompleting-p.
6426 ;;     icicle-sort-dirs-last: Treat other kinds of candidates, besides files and dirs.
6427 ;;     Commentary and doc strings: Updated for icicle-sort-function, icicle-cycle-into-subdirs.
6428 ;;     Let delete-selection mode work with icicle-self-insert.
6429 ;;     icicle-display-candidates-in-*Completions*: Make *Completions* read-only.
6430 ;; 2005/09/09 dadams
6431 ;;     choose-completion-string: bug fix for Emacs 21.3.1 - use Emacs 20 version for 21.3.1.
6432 ;; 2005/09/08 dadams
6433 ;;     completion-setup-function: bug fix for Emacs 21.3.1 - use Emacs 20 version for 21.3.1.
6434 ;;     Added: icicle-remap, icicle-unmap, icicle-(bind|restore)-completion-keys.
6435 ;;     completing-read: Do not append suffix if not in Icicle mode.
6436 ;;     icicle-rebind-completion-maps:
6437 ;;       Clean-up.  Use icicle-(bind|restore)-completion-keys.
6438 ;;       Don't (suppress-keymap completion-list-mode-map).
6439 ;; 2005/09/06 dadams
6440 ;;     Provided apropos icompletion.
6441 ;;     Added: icicle-self-insert, icicle-incremental-completion-flag,
6442 ;;            icicle-apropos-icompleting-p.
6443 ;;     icicle-apropos-complete: Respect icicle-apropos-icompleting-p.
6444 ;;     Commentary: Updated Icompletion and Customization sections.
6445 ;;                 Added Apropos Icompletion.
6446 ;;     Changed default value of icicle-word-completion-key to M-SPC.
6447 ;;     icicle-rebind-completion-maps:
6448 ;;       Bind icicle-self-insert. Use self-insert for SPC.
6449 ;;       Updated icicle-completion-help-string.  Treat menu-bar menu for the minibuffer.
6450 ;;     completion-setup-function: Add instruction2 only when icicle-mode.
6451 ;;     icicle-display-candidates-in-*Completions*: Use save-restriction.
6452 ;;     icicle-minibuffer-contents-from-minibuffer:
6453 ;;       Allow for mixing $ of environment vars with $ of regexps.
6454 ;; 2005/09/02 dadams
6455 ;;     Added: icicle-bookmark, icicle-buffer(-other-window), icicle-candidate-action,
6456 ;;            icicle-candidate-action-fn, icicle-color-theme(s), icicle-font,
6457 ;;            icicle-frame-(b|f)g.
6458 ;;     Renamed: icicle-(next|previous)-(apropos|prefix)-*-help to
6459 ;;              icicle-(next|previous)-(apropos|prefix)-*-action.
6460 ;;     icicle-(apropos|prefix)-complete: Set icicle-last-completion-candidate.
6461 ;;     In renamed functions:  Use icicle-candidate-action, not icicle-help-on-candidate.
6462 ;;     icicle-rebind-completion-maps: Bound C-o to icicle-candidate-action.
6463 ;;     Added Commentary section on actions on candidates.
6464 ;;     icicle-move-to-next-completion: Test line num, not char position (fix).
6465 ;;     icicle-previous-line: 3 or 4, not 4 or 5 (fix).
6466 ;; 2005/09/01 dadams
6467 ;;     Fixed major bug: file-name completion did not work at all in non-MS Windows!
6468 ;;       icicle-file-name-(apropos|prefix)-candidates:
6469 ;;         Removed code for case where input starts with "/".
6470 ;;       icicle-nondirectory-file-name-(apropos|prefix)-candidates:
6471 ;;         Removed code for case where input starts with "/".  Bind default-directory.
6472 ;;       icicle-(apropos|prefix)-complete: Treat case when icicle-cycle-into-subdirs-flag = nil.
6473 ;;     icicle-next-candidate: Took out code that moved point when line is too long.
6474 ;;     icicle-minibuffer-setup: Reset icicle-prompt.
6475 ;; 2005/08/23 dadams
6476 ;;     Added: icicle-help-on-candidate, icicle-cancel-*Help*-redirection,
6477 ;;            icicle-(previous|next)-(prefix|apropos)-candidate-help.  Bound them all.
6478 ;;     icicle-rebind-completion-maps:
6479 ;;       Bound icicle-help-on-candidate, icicle-(previous|next)-(prefix|apropos)-candidate-help.
6480 ;; 2005/08/22 dadams
6481 ;;     Unconditionally require cl.el when compile (because of case).
6482 ;; 2005/08/19 dadams
6483 ;;     Renamed icicle-cursor-position-in-candidate to icicle-point-position-in-candidate.
6484 ;;     Added: icicle-mark-position-in-candidate, icicle-minibuffer-prompt-end.
6485 ;;     icicle-place-cursor: Position both point and mark.
6486 ;;     icicle-point-position-in-candidate: Change values from bob, eob to input-start/end.
6487 ;;     Removed: icicle-select-rest-of-completion-flag.
6488 ;;     Use inequality test on point and mark.
6489 ;; 2005/08/16 dadams
6490 ;;     Minbuffer messages: Differentiate prefix from apropos completion.
6491 ;;     completing-read, read-file-name: Append icicle-prompt-suffix for Emacs 20 (oversight).
6492 ;; 2005/08/15 dadams
6493 ;;     Bug fix: Only use face-spec-reset-face if target faces defined.
6494 ;;     read-file-name: bug fix:
6495 ;;       Use condition-case to get the correct number of args for
6496 ;;       old-read-file-name. Thx to Mathias Dahl for both bug reports.
6497 ;; 2005/08/14 dadams
6498 ;;     icicle-place-cursor: Narrow region to exclude minibuffer-prompt
6499 ;; 2005/08/13 dadams
6500 ;;     Add regexp support (removed it when introduced highlighting).
6501 ;;       icicle-next-candidate: Added regexp-p arg.  Use in icicle-next-apropos-candidate.
6502 ;;       icicle-place-cursor: Use regexp search.  For root-start, go to match-beginning.
6503 ;;       icicle-unsorted-file-name-apropos-candidates: Don't use regexp-quote.
6504 ;;     icicle-switch-to-*Completions*:
6505 ;;       Search in restriction of mouse-face zone; repeat.
6506 ;;       Treat file case (use nondirectory part).  Bind case-fold-search.
6507 ;;     Protect (aref <input> 0) against empty string.
6508 ;;     member -> memq, for symbols.
6509 ;; 2005/08/12 dadams
6510 ;;     Added: icicle-word-completion-key, icy-mode, icicle-insert-a-space.
6511 ;;     icicle-rebind-completion-maps: Use icicle-word-completion-key and icicle-insert-a-space.
6512 ;;     completing-read, icicle-rebind-completion-maps: Corrected bindings in doc string.
6513 ;; 2005/07/29 dadams
6514 ;;     Added: icicle-change-region-background-flag, icicle-increment-color-value,
6515 ;;            icicle-region-background, icicle-saved-region-background,
6516 ;;            icicle-restore-region-face.
6517 ;;     Added icicle-restore-region-face to minibuffer-exit-hook.
6518 ;;     Require hexrgb.el.
6519 ;;     Removed: icicle-select-rest-of-completion.
6520 ;;     icicle-minibuffer-setup:
6521 ;;       Save icicle-saved-region-background and use icicle-region-background.
6522 ;; 2005/07/28 dadams
6523 ;;     Added: icicle-*Completions*-instruction-*.
6524 ;;     completion-setup-function:
6525 ;;       Use icicle-*Completions*-instruction-*.
6526 ;;       Remove ? from instruction2.  Put both instr on same line.
6527 ;;       Use put-text-property, not *-w-face*.
6528 ;;     ------
6529 ;;     Move all completion stuff here, from simple+.el:
6530 ;;       choose-completion-string, completion-setup-function, switch-to-completions.
6531 ;;     Wrap *Completions* window deletion in save-selected-window.
6532 ;;     Added icicle-prefix-word-complete, and bound it to SPC.
6533 ;;     completion-setup-function:
6534 ;;       Renamed icicle-completing-read-prompt-suffix to icicle-prompt-suffix.
6535 ;; 2005/07/27 dadams
6536 ;;     Renamed: icicle-completing-read-prompt* to icicle-prompt*.
6537 ;;     Added: read-file-name, face
6538 ;;            icicle-completing-read-prompt-suffix, icicle-remove-property,
6539 ;;            icicle-select-rest-of-completion (simple, for now).
6540 ;;     completing-read: Apply faces to prompt.
6541 ;;     icicle-place-cursor: Use icicle-select-rest-of-completion.
6542 ;;     Added (if icicle-mode (icicle-mode 1)) at end.
6543 ;;     Reworded Commentary in terms of "input completion", not just completing-read.
6544 ;; 2005/07/26 dadams
6545 ;;     rebind-minibuffer-completion-maps: Minor bug fix.
6546 ;;     icicle-mode: Added " Icy" to mode line.
6547 ;;     Wrapped Emacs 21 version of icicle-mode (with define-minor-mode) in (eval (quote...)),
6548 ;;       so byte-compiling in Emacs 20 will produce a *.elc that works in Emacs 21.
6549 ;; 2005/07/25 dadams
6550 ;;     Added: icicle-mode, icicle-*-hook, icicle-minibuffer-setup, icicle-activate-mark.
6551 ;;     rebind-minibuffer-completion-maps:
6552 ;;       Restore bindings when exit Icicle mode.
6553 ;;       Added argument.  Pick up everything bound to help-command.
6554 ;;       Message only when mode is turned on.
6555 ;; 2005/07/24 dadams
6556 ;;     Now leave region from end of root to end of completion, so you can easily replace it,
6557 ;;       especially if you use delete-selection mode.  (Suggestion by Lennart Borgman.)
6558 ;;     Added: icicle-select-rest-of-completion-flag.
6559 ;;     icicle-place-cursor: Create active region if icicle-select-rest-of-completion-flag
6560 ;;     icicle-completion-help: Removed icicle-abort-minibuffer-input.
6561 ;;     icicle-abort-minibuffer-input: Removed obsolete code & comment on icomplete-inhibit.
6562 ;; 2005/07/22 dadams
6563 ;;     Major fixup: Treat file and directory names well, respect standard user options, more.
6564 ;;     Renamed:
6565 ;;       icicle-(next|previous)?-completion-candidate to icicle-*-prefix-candidate(s),
6566 ;;       icicle*filename* to icicle*file-name*,
6567 ;;       icicle-descend-into-subdirs to icicle-cycle-into-subdirs-flag.
6568 ;;     Added: icicle-file-name-apropos-candidates, icicle-file-name-directory-w-default,
6569 ;;            icicle-file-name-input-p, icicle-file-name-prefix-candidates,
6570 ;;            icicle-nondirectory-file-name-apropos-candidates,
6571 ;;            icicle-nondirectory-file-name-prefix-candidates,
6572 ;;            icicle-sort-dirs-last, icicle-unsorted-apropos-candidates,
6573 ;;            icicle-unsorted-file-name-apropos-candidates,
6574 ;;            icicle-unsorted-file-name-prefix-candidates, icicle-unsorted-prefix-candidates,
6575 ;;            icicle-last-command.
6576 ;;     Respect insert-default-directory and completion-auto-help.
6577 ;;     Use minibuffer-message instead of message.
6578 ;;     Commentary: Added Customization & Tips section.
6579 ;;     completing-read: Save icicle-last-input.  Reset icicle-nb-of-other-cycle-candidates.
6580 ;;     icicle-next-*-candidate: Branch to file-specific functions.
6581 ;;     icicle-*-candidates: Use icicle-unsorted-*-candidates.
6582 ;;     icicle-next-candidate:
6583 ;;       Delete *Completions* window if no candidates.
6584 ;;       Use icicle-file-name-directory, not file-name-directory.
6585 ;;     icicle-minibuffer-contents-from-minibuffer: Use substitute-in-file-name.
6586 ;;     icicle-*-complete:
6587 ;;       Treat slashed file names (e.g. "/foo").
6588 ;;       Use icicle-file-name-*-candidates, icicle-file-name-directory-w-default for files.
6589 ;;       Added messages [No completion], [Sole completion], [Complete, but not unique].
6590 ;;       Use icicle-last-command for repetition test. And set it.
6591 ;;     icicle-rebind-completion-maps: Updated icicle-completion-help-string and message.
6592 ;; 2005/07/21 dadams
6593 ;;     icicle-apropos-candidates: Use, not apropos, but delete-if-not on string-match.
6594 ;;                                Treat files too.
6595 ;;     Removed icicle-intersection.
6596 ;;     Added: icicle-descend-into-subdirs.
6597 ;;     icicle-sort-and-strip-ignored: Use icicle-descend-into-subdirs.  Don't use "." and "..".
6598 ;;     icicle-next-candidate:
6599 ;;       File names w/o dir.
6600 ;;       Use regexp-quote on root for underlining file-name root.
6601 ;;       Insert directory name for file.
6602 ;;     icicle-place-cursor: Search past dir, then search for file-name w/o dir.
6603 ;;     icicle-prefix-complete, icicle-apropos-complete,
6604 ;;     icicle-switch-to-*Completions*: Use icicle-minibuffer-contents-from-minibuffer.
6605 ;;     icicle-prefix-complete, icicle-apropos-complete: Insert dir when single candidate.
6606 ;;     icicle-display-candidates-in-*Completions*: Underline file-name w/o dir.
6607 ;; 2005/07/20 dadams
6608 ;;     icicle-next-candidate, *-display-candidates-in-*Completions*: Use set-buffer-modified-p.
6609 ;;     icicle-next-candidate: Use ding when hit end of cycle.
6610 ;;     Added: icicle-cursor-position-in-candidate, icicle-place-cursor.
6611 ;;            Use in icicle-next-candidate to position cursor.
6612 ;;     Added: defgroup icicles.
6613 ;; 2005/07/19 dadams
6614 ;;     Initialize icicle-ignored-*.
6615 ;;     Added: icicle-nb-of-other-cycle-candidates, icicle-minibuffer-contents-from-minibuffer.
6616 ;;     completing-read: Reset icicle-last-completion-candidate to nil.
6617 ;;     icicle-next-candidate:
6618 ;;       Use icicle-minibuffer-contents-from-minibuffer.
6619 ;;       Save icicle-nb-of-other-cycle-candidates for icomplete-completions (icomplete+).
6620 ;;       Use copy of "next" string since change its text properties.
6621 ;;       Use regexp-quote for underlined root.
6622 ;;       Use put-text-property, so works in Emacs 20.
6623 ;;       Update *Completions*, even if last command is repeated.
6624 ;;     icicle-*-complete: Complete rewrite.
6625 ;;     icicle-display-candidates-in-*Completions*: Do even if last command is repeated.
6626 ;; 2005/07/18 dadams
6627 ;;     icicle-display-*: Highlight only first occurrence in each candidate.
6628 ;;     icicle-next-candidate: Use completion-ignore-case.
6629 ;; 2005/07/17 dadams
6630 ;;     Treat file names also.
6631 ;;     Added: icicle-delete-if*, and use instead of delete-if-*.  Removed require cl.el.
6632 ;;     Added: icicle-ignored-extensions*, icicle-sort-and-strip-ignored,
6633 ;;            icicle-filename-input-p, icicle-update-ignored-extensions-regexp,
6634 ;;            icicle-prefix-complete.  Bound icicle-prefix-complete.
6635 ;;     Use icicle-update-ignored-extensions-regexp as minibuffer-setup-hook.
6636 ;;     icicle-*-candidates: Use icicle-sort-and-strip-ignored.
6637 ;;     icicle-next-candidate, icicle-display-candidates-in-*Completions*:
6638 ;;       Don't use predicate on file-name candidates (icicle-filename-input-p).
6639 ;;     icicle-next-candidate:
6640 ;;       Use read-file-name-completion-ignore-case (Emacs 22) and file-name-nondirectory.
6641 ;;     icicle-apropos-complete: Return t/nil. Treat single candidate as no-op.
6642 ;;     Reset std completions-* faces, so they don't interfere with apropos highlighting.
6643 ;; 2005/07/16 dadams
6644 ;;     Added: icicle-display-*, icicle-apropos-complete.
6645 ;;     Use icicle-display-* in icicle-next-candidate and icicle-apropos-complete.
6646 ;;     Bound icicle-apropos-complete to S-tab in completion maps.
6647 ;;     icicle-switch-to-*Completions*:
6648 ;;       Move to start of candidate.  Highlight candidate, not regexp.
6649 ;;     icicle-next-candidate: Underline the root that was completed.
6650 ;;     Added: faces icicle-root-highlight-*.
6651 ;;     Removed: faces: icicle-completion-help*.
6652 ;;     Removed (not used): require of strings.el.
6653 ;;     Commentary: Added Nutshell View.
6654 ;; 2005/07/15 dadams
6655 ;;     Renamed: icicle-completion-help+ to icicle-completion-help.
6656 ;;     Replaced: icicle-delete-lines by icicle-erase-minibuffer.
6657 ;;     icicle-next-candidate:
6658 ;;       Wrapped display-* and re-search-forward in condition-case.  Use icicle-place-overlay.
6659 ;;     Changed icicle-completion-help bindings to [f1].
6660 ;;     Added: icicle-*-line, icicle-switch-to-*, icicle-move-to-*-completion,
6661 ;;            icicle-current-completion-in-*Completions*, icicle-place-overlay.
6662 ;;     Added bindings for icicle-*-line, icicle-switch-to-*, icicle-move-to-*.
6663 ;;     Bound q to icicle-abort-minibuffer-input in completion-list-mode-map.
6664 ;;     icicle-completing-read-prompt-suffix: Mention both [f1] and ?.
6665 ;;     Removed: icicle-fit-frame.
6666 ;;     Commentary: Added How...Improves...(5).  Updated Key Bindings.
6667 ;; 2005/07/14 dadams
6668 ;;     icicle-next-candidate:
6669 ;;       Update *Completions*, if displayed, to reflect current
6670 ;;       candidates, but don't do it if this-command = last-command.
6671 ;;       Reverse list as needed, to keep same order.   Ensure current
6672 ;;       *Completions* choice shows in window (recenter as needed).
6673 ;;       For highlighting: Search with re-search-forward to be sure to get the right one.
6674 ;;       Took test for presence of predicate out of loop.
6675 ;;     Commentary: Added Note on pop-up-frames = t.
6676 ;; 2005/07/13 dadams
6677 ;;     Rewrote icicle-apropos-candidates.
6678 ;;     Added: icicle-intersection.
6679 ;; 2005/07/12 dadams
6680 ;;     Added: icicle-(next|previous)-apropos-candidate, icicle-next-candidate,
6681 ;;            icicle-apropos-candidates, icicle-completion-candidates.
6682 ;;     Bound: icicle-(next|previous)-apropos-candidate.
6683 ;;     Renamed: icicle-completion-help-(title-)face: Removed "-face".
6684 ;;     icicle-next-completion-candidate: Redefined to use icicle-next-candidate.
6685 ;;     icicle-rebind-completion-maps: Updated text to mention apropos completion.
6686 ;;     icicle-completion-help+: Use icicle-abort-minibuffer-input, not abort-recursive-edit.
6687 ;; 2005/07/10 dadams
6688 ;;     First version of icicles.el (previously called elect-mbuf.el).
6689 ;;     Renamed: minibuffer-completion-help-string to icicle-completion-help-string,
6690 ;;              completing-read-prompt to icicle-completing-read-prompt,
6691 ;;              completing-read-prompt-suffix to icicle-completing-read-prompt-suffix,
6692 ;;              mbuf-completion-help-face to icicle-completion-help-face,
6693 ;;              mbuf-completion-help-title-face to icicle-completion-help-title-face,
6694 ;;              minibuffer-last-default to icicle-last-completion-candidate,
6695 ;;              command-calling-for-completion to icicle-cmd-calling-for-completion,
6696 ;;              minibuffer-completion-help+ to icicle-completion-help+,
6697 ;;              abort-minibuffer-input to icicle-abort-minibuffer-input,
6698 ;;              next-default-input to icicle-next-completion-candidate,
6699 ;;              previous-default-input to icicle-previous-completion-candidate,
6700 ;;              rebind-minibuffer-completion-maps to icicle-rebind-completion-maps,
6701 ;;     Added: minibuffer-complete-and-exit, icicle-fit-frame, icicle-last-input.
6702 ;;     Moved delete-lines here from and renamed to icicle-delete-lines.
6703 ;;     Removed: mod+ (unused).
6704 ;;     icicle-completion-help+: Use *Help*, not *Completions*.  Don't show completions.
6705 ;;     icicle-next-completion-candidate: Use insert, not insert-string.
6706 ;;     icicle-rebind-completion-maps: Made it interactive.
6707 ;; 2005/07/09 dadams
6708 ;;     Removed: buffer-alist (not used).
6709 ;; 2005/05/15 dadams
6710 ;;     Renamed: flash-ding-minibuffer-frame to 1on1-flash-ding-minibuffer-frame.
6711 ;; 2005/05/10 dadams
6712 ;;     Hacked completing-read to remove *Completions* window at end if require-match is non-nil.
6713 ;;       (Don't know why/when this became a problem.)
6714 ;; 2004/09/21 dadams
6715 ;;     Updated to work in Emacs 21 (and 20):
6716 ;;       next-default-input uses delete-minibuffer-contents for 21, but erase-buffer for 20.
6717 ;;       minibuffer-completion-help+: bind inhibit-read-only to t around erase-buffer.
6718 ;; 2001/01/10 dadams
6719 ;;     Protected remove-windows-on via fboundp.
6720 ;; 1999/09/03 dadams
6721 ;;     Added: mbuf-completion-help-face, mbuf-completion-help-title-face.
6722 ;;     minibuffer-completion-help+: Use mbuf-*-face's instead of hard-coding.
6723 ;;     minibuffer-completion-help-string, completing-read-prompt-suffix: defconst -> defvar.
6724 ;; 1999/08/26 dadams
6725 ;;     Protected faces via boundp.
6726 ;; 1999/04/13 dadams
6727 ;;     Bound delete-lines to M-S-DEL and M-S-backspace.
6728 ;; 1999/03/17 dadams
6729 ;;     protect calls with test fboundp.
6730 ;; 1996/04/26 dadams
6731 ;;     Put escaped newlines on long-line strings.
6732 ;; 1996/03/26 dadams
6733 ;;     minibuffer-completion-help+: concat -> concat-w-faces (color).
6734 ;; 1995/12/20 dadams
6735 ;;     exit-minibuffer: Iconify *Completion* frame.
6736 ;; 1995/12/15 dadams
6737 ;;     abort-minibuffer-input: Reset minibuffer-completion-table to avoid icompletion.
6738 ;;     Defined replacement exit-minibuffer to do the same as #1.
6739 ;; 1995/12/01 dadams
6740 ;;     abort-minibuffer-input: Incorporated delete-selection-mode code
6741 ;;     rebind-minibuffer-completion-maps:
6742 ;;       Added C-g bindings for minibuffer-local-map, minibuffer-local-ns-map,
6743 ;;         minibuffer-local-isearch-map.
6744 ;; 1995/10/25 dadams
6745 ;;     Put defvar of minibuffer-completion-help-string after do
6746 ;;       rebind-minibuffer-completion-maps, so its doc string gives bindings.
6747 ;; 1995/10/24 dadams
6748 ;;     Mention ESC-TAB completion in completing-read.
6749 ;; 1995/10/17 dadams
6750 ;;     Let minibuffer use ESC-TAB for completion (Lisp symbols etc.)
6751 ;;     completing-read: Minibuffer adopts current buffer's ESC-TAB binding.
6752 ;;     Added command-calling-for-completion to memorize current command (done in
6753 ;;       completion-setup-hook).
6754 ;; 1995/09/12 dadams
6755 ;;     Added abort-minibuffer-input.
6756 ;;     Define C-g as abort-minibuffer-input in completion-list-mode-map and
6757 ;;       minibuffer-local-* maps.
6758 ;;     No self-insertion for completion-list-mode-map.
6759 ;; 1995/08/16 dadams
6760 ;;     next-default-input: Fixed bug - skip repeated alist entries.
6761 ;; 1995/08/10 dadams
6762 ;;     Rewrote minibuffer-completion-help+: Provide help even if no completions.
6763 ;;     So, added minibuffer-completion-help-string.
6764 ;;     `?' defined correctly for minibuffer-local-must-match-map.
6765 ;; 1995/08/08 dadams
6766 ;;     next-default-input: error msg: no hard coding of key seq.
6767 ;; 1995/08/02 dadams
6768 ;;     Major rewrite.
6769 ;;       No reminders in prompts.  Added minibuffer-completion-help+ to provide help info for
6770 ;;         *Completions*.
6771 ;;     Log for functions that were previously in simple+.el:
6772 ;;       choose-completion-string, completion-setup-function, switch-to-completions.
6773 ;; 2005/07/28 dadams
6774 ;;     completion-setup-function:
6775 ;;       Renamed icicle-completing-read-prompt-suffix to icicle-prompt-suffix.
6776 ;; 2005/07/15 dadams
6777 ;;     choose-completion-string, completion-setup-function: Updated for Emacs 21+.
6778 ;; 2005/07/10 dadams
6779 ;;     Renamed: command-calling-for-completion to icicle-cmd-calling-for-completion.
6780 ;; 2004/09/21 dadams
6781 ;;     Only redefine choose-completion-string if prior to Emacs 21.
6782 ;; 1999/03/17 dadams
6783 ;;     choose-completion-string:
6784 ;;       Added doc string.  Updated to correspond to Emacs 34.1.
6785 ;;     completion-setup-function: diff prompt setups.  face1 & face2 tests.
6786 ;;     Added: switch-to-completions.
6787 ;; 1996/04/26 dadams
6788 ;;     Put escaped newlines on long-line strings.
6789  
6790 ;;;(@* "CHANGE LOG FOR `icicles-cmd.el'" - Deprecated file)
6791 ;;
6792 ;; 2009/05/22 dadams
6793 ;;     Split in two: icicles-cmd1.el, icicles-cmd2.el.  File too large to upload to Emacs Wiki.
6794 ;; 2009/05/20 dadams
6795 ;;     Renamed: *-Info-build-node-completions-fix-* to *-Info-build-node-completions-1.
6796 ;;     icicle-Info-goto-node: Plain C-u now prepends Info file name to candidates.
6797 ;;     icicle-Info-goto-node-1: swapped arg order in call to Info-goto-node nodename (bug fix).
6798 ;;     icicle-Info-read-node-name, icicle-Info-build-node-completions(-1):
6799 ;;       Added optional arg INCLUDE-FILE-P.
6800 ;; 2009/05/11 dadams
6801 ;;     icicle-complete-keys: Use icicle-local-keys-first-p as icicle-sort-function.
6802 ;;                           Bind icicle-hist-cands-no-highlight to ("..").
6803 ;;     icicle-keys+cmds-w-prefix: Propertize candidate "..".
6804 ;;     icicle-dabbrev-completion: Use icicle-upcase.
6805 ;; 2009/05/10 dadams
6806 ;;     Added: icicle-search-(defs|lines|paragraphs|sentences|pages).
6807 ;;     icicle-plist: Pretty-print, unless negative prefix arg (or Emacs 20).
6808 ;;     icicle-search-regexp-scan: Fix to pick up candidate at eob: removed (not (eobp)) test.
6809 ;; 2009/05/05 dadams
6810 ;;     icicle-find-file-(absolute|in-tags-table)(-other-window),
6811 ;;       icicle-(recent|locate)-file(-other-window), icicle-describe-option-of-type,
6812 ;;       icicle-(vardoc|fundoc|doc|plist), icicle-goto-global-marker:
6813 ;;         Remove quote before face name, for icicle-candidate-properties-alist value.
6814 ;;     icicle-buffer(-other-window|-list), icicle-kill-buffer, icicle-choose-candidate-of-type:
6815 ;;       Bind completion-ignore-case, based on read-buffer-completion-ignore-case.
6816 ;; 2009/05/01 dadams
6817 ;;     Added: icicle-shell-command-on-file.
6818 ;;     Bind both icicle-all-candidates-list-alt-action-fn and icicle-candidate-alt-action-fn
6819 ;;       to icicle-alt-act-fn-for-type for appropriate type - same commands as for 2009/04/26,
6820 ;;       except removed these for *recent* (mistaken).
6821 ;;     Use renaming from icicles-fn.el: *-choose-action-for-type -> *-alt-act-fn-for-type.
6822 ;; 2009/04/28 dadams
6823 ;;     icicle-object-action: 
6824 ;;       At end, just apply the fn returned by icicle-choose-action-for-type to chosen object.
6825 ;;       Use icicle-type-actions-alist, not icicle-object-named-types.
6826 ;;       Update to use with icicle-predicate-types-alist (not flat list of preds).
6827 ;;     icicle-choose-candidate-of-type: Handle color type too.
6828 ;;     icicle-get-anything-actions-for-type:
6829 ;;       Highlight Anything actions using face icicle-special-candidate.
6830 ;; 2009/04/26 dadams
6831 ;;     icicle-marker+text, icicle-compilation-search-in-context-fn:
6832 ;;       Bind inhibit-field-text-motion to t, to ensure real end-of-line.
6833 ;;     Load icicles-mac (at compile time) using load-library, to ensure latest .elc.
6834 ;;     Bind icicle-candidate-alt-action-fn, where appropriate, to icicle-choose-action-for-type:
6835 ;;       *-lisp-complete-symbol, *-customize-face(-other-window), *-execute-extended-command,
6836 ;;       *-command-abbrev, *-command-abbrev-command, *-execute-named-keyboard-macro,
6837 ;;       *-set-option-to-t, *-reset-option-to-nil, *-toggle-option, *-select-frame,
6838 ;;       *-delete-windows, *-kill-buffer, icicle-buffer(-other-window),
6839 ;;       *-(add|remove)-buffer-candidate, *-(buffer|face|file|directory)-list,
6840 ;;       *-find-file(-absolute|-in-tags-table)(-other-window),
6841 ;;       *-(recent|locate)-file(-other-window), *-frame-(bg|fg), *-where-is,
6842 ;;       *-apropos(-variable|option|function|command), *-apply, *-save-string-to-variable,
6843 ;;       *--choose-candidate-of-type, *-read-var-value-satisfying, *-read-color. 
6844 ;;     icicle-execute-extended-command-1, icicle-command-abbrev-action:
6845 ;;       Rebind icicle-candidate-alt-action-fn to nil so we don't override it for invoked cmd.
6846 ;;     icicle-object-action: Respect icicle-use-anything-candidates-flag.
6847 ;; 2009/04/25 dadams
6848 ;;     icicle-find-file-in-tags-table(-other-window): Fixed copy+paste typo.
6849 ;; 2009/04/24 dadams
6850 ;;     Added: icicle-find-file-in-tags-table(-other-window).
6851 ;; 2009/04/19 dadams
6852 ;;     icicle-customize-apropos-options-of-type, icicle-dabbrev-completion:
6853 ;;       Don't fset unless standard function is defined.
6854 ;;     Use when/unless instead of or for fset's. (cosmetic)
6855 ;; 2009/04/18 dadams
6856 ;;     Soft-require hexrgb.el unconditionally, not just when there is a window-system.
6857 ;;     icicle-read-color: Error if hexrgb is not loaded.
6858 ;; 2009/04/11 dadams
6859 ;;     Added: icicle-region-add-short-help.
6860 ;;     icicle-font-w-orig-size: Construct short help only if user will see it.
6861 ;;     icicle-describe-opt-of-type-complete, icicle-marker+text,
6862 ;;       icicle-(select|search|remove)-region, icicle-search-(regexp|char-property)-scan:
6863 ;;         Add short help for mode-line and tooltip.
6864 ;;     icicle-region-help: Corrected start/end order.
6865 ;;     icicle-region-help, icicle-search-help: Removed unused help: No help.
6866 ;; 2009/04/10 dadams
6867 ;;     icicle-font-w-orig-size: Provide help string.  Set font to use orig-pointsize also.
6868 ;;     icicle-font: Modify frame - don't use menu-bar-mode.  Get orig menu-bar info from frame.
6869 ;;                  Save orig-pointsize also.
6870 ;;     icicle-frame-(bg|fg):
6871 ;;       Incorporate behavior of icicle-read-color: multi-completion etc.  Added short help.
6872 ;;       (Use icicle-make-color-candidate, icicle-color-completion-setup.)
6873 ;;     icicle-read-color:
6874 ;;       Factored out stuff as new function icicle-color-completion-setup.
6875 ;;       Corrected handling of ARG > 2.
6876 ;;     Moved to icicles-fn.el:
6877 ;;       icicle-color-help, icicle-make-color-candidate, icicle-remove-color-duplicates.
6878 ;; 2009/04/09 dadams
6879 ;;     Added: icicle-font-w-orig-size.
6880 ;;     icicle-font: Use icicle-font-w-orig-size.  No menu bar, to avoid Emacs frame-sizing bug.
6881 ;; 2009/04/04 dadams
6882 ;;     icicle-kill-buffer, icicle-buffer(-other-window|-list), icicle-choose-candidate-of-type:
6883 ;;       Bind icicle-sort-functions-alist for buffer names.
6884 ;; 2009/03/29 dadams
6885 ;;     icicle-make-color-candidate: Use white or black foreground, depending on color value.
6886 ;; 2009/03/27 dadams
6887 ;;     Renamed: icicle-default-buffer-name to icicle-default-buffer-names.
6888 ;;     icicle-buffer(-other-window):
6889 ;;       Bind bufflist, to make it available also to icicle-default-buffer-names.
6890 ;;     icicle-default-buffer-names: Emacs 23: Provide first 4 buffers from bufflist.
6891 ;; 2009/03/26 dadams
6892 ;;     Added: icicle-default-buffer-name.
6893 ;;     icicle-buffer(-other-window), icicle-add-buffer-candidate:
6894 ;;       Use icicle-default-buffer-name.
6895 ;; 2009/03/16 dadams
6896 ;;     icicle-buffer(-other-window), icicle-buffer-list, icicle-kill-buffer,
6897 ;;       icicle-add-buffer-candidate: Treat prefix arg buffers visiting files or frame-local.
6898 ;;     icicle-recent-file(-other-window): Bind icicle-use-candidates-only-once-alt-p to t.
6899 ;; 2009/03/15 dadams
6900 ;;     Added: icicle-remove-file-from-recentf-list, icicle-remove-from-recentf-candidate-action.
6901 ;;     icicle-recent-file(-other-window):
6902 ;;       Bind icicle-candidate-alt-action-fn  to icicle-remove-from-recentf-candidate-action.
6903 ;; 2009/03/10 dadams
6904 ;;     Added: icicle-recompute-shell-command-candidates.
6905 ;; 2009/02/28 dadams
6906 ;;     icicle-find-file-absolute(-other-window):
6907 ;;       Treat directory candidates as special candidates.
6908 ;;     icicle-apropos: Treat functions as special candidates.
6909 ;;     icicle-apropos-variable: Treat user options as special candidates.
6910 ;;     icicle-apropos-function: Treat commands as special candidates.
6911 ;;     icicle-apropos-command (non-apropos-fn+var version): Treat cmds as special candidates.
6912 ;; 2009/02/23 dadams
6913 ;;     icicle-Info-goto-node-action:
6914 ;;       Protect dir insertion with icicle-extra-candidates-dir-insert-p.
6915 ;; 2009/02/17 dadams
6916 ;;     icicle-lisp-complete-symbol:
6917 ;;       Added predicate arg.  Updated wrt Emacs 23 (better var completion).
6918 ;; 2009/02/01 dadams
6919 ;;     icicle-(find-file-absolute|(recent|locate)-file)(-other-window):
6920 ;;       Bind C-backspace to icicle-up-directory.
6921 ;; 2009/01/18 dadams
6922 ;;     icicle-dired-saved-file-candidates(-other-window):
6923 ;;       If there is no saved set, then use icicle-file-list to let user choose a set.
6924 ;;     Added: icicle-dired-chosen-files(-other-window), as aliases.
6925 ;; 2009/01/14 dadams
6926 ;;     Same commands as yesterday: icicle-remove-duplicates -> icicle-remove-dups-if-extras.
6927 ;; 2009/01/13 dadams
6928 ;;     icicle-kill-buffer, icicle-buffer(-other-window), icicle-(buffer|file|directory)-list,
6929 ;;       icicle-find-file(-absolute)(-other-window), icicle-(recent|locate)-file(-other-window),
6930 ;;       icicle-choose-candidate-of-type:
6931 ;;         Bind icicle-transform-function to icicle-remove-duplicates.
6932 ;; 2009/01/05 dadams
6933 ;;     Added: icicle-gud-gdb-complete-command.
6934 ;;     icicle-shell-dynamic-complete(-as)-environment-variable: (require 'shell)
6935 ;;     icicle-shell-dynamic-complete-as-command: Added candidate help for shell commands.
6936 ;; 2009/01/04 dadams
6937 ;;     Added ESS support:
6938 ;;       Added: icicle-comint-replace-by-expanded-filename, icicle-ess-complete-filename,
6939 ;;              icicle-ess(-internal)-complete-object-name, icicle-ess-R-complete-object-name.
6940 ;;       Thx to Sebastian Luque.
6941 ;;     Improved some doc strings.
6942 ;; 2009/01/02 dadams
6943 ;;     icicle-comint-dynamic-complete-as-filename, icicle-comint-dynamic-simple-complete:
6944 ;;       Fixed for comint-completion-autolist, absolute directories.  Thx to Sebastian Luque.
6945 ;; 2009/01/01 dadams
6946 ;;     icicle-comint-replace-orig-completion-fns:
6947 ;;       Use icicle-comint-dynamic-complete-replacements instead of hard-coded list.
6948 ;;     icicle-comint-dynamic-simple-complete: Fix for Emacs 20: map #'list over completions.
6949 ;; 2008/12/30 dadams
6950 ;;     Removed: shell-hook-fn.
6951 ;;     Removed fset here for: old-comint-dynamic-*, old-shell-dynamic-*, old-bbdb-complete-name.
6952 ;;     icicle-comint-dynamic-simple-complete: Map #'list over candidates (for Emacs 20).
6953 ;;     icicle-comint-hook-fn:
6954 ;;       Don't bind icicle-comint-command here - do it in icicle-bind-other-keymap-keys.
6955 ;; 2008/12/27 dadams
6956 ;;     Removed: icicle-find-file(-other-window)-w-wildcards.
6957 ;;     Removed soft require of dired+.el.
6958 ;;     icicle-find-file(-other-window):
6959 ;;       Use just find-file* with wildcards arg, not *-w-wildcards, as action fn.
6960 ;;       Bind icicle-default-value so that it won't insert the default value.
6961 ;;     icicle-find-file(-other-window), icicle-choose-candidate-of-type:
6962 ;;       Use nil as 3rd read-file-name arg, if not in Dired on a file name.
6963 ;; 2008/12/23 dadams
6964 ;;     icicle-comint-dynamic-complete-as-filename: Bind use-dialog-box to nil.
6965 ;; 2008/12/22 dadams
6966 ;;     icicle-comint-dynamic-complete-as-filename: Use INIT and PRED in read-file-name call.
6967 ;; 2008/12/21 dadams
6968 ;;     Added: icicle-shell-hook-fn, (icicle|old)-comint-dynamic-complete(-filename),
6969 ;;            (icicle|old)-shell-dynamic-complete-(command|filename|environment-variable), 
6970 ;;            icicle-comint-replace-orig-completion-fns, icicle-comint-dynamic-simple-complete,
6971 ;;            icicle-comint-dynamic-complete-as-filename,
6972 ;;            icicle-shell-dynamic-complete-as-(command|environment-variable).
6973 ;;     Renamed: icicle-comint-send-input to icicle-comint-search-send-input,
6974 ;;              icicle-comint-get-final-choice to icicle-comint-search-get-final-choice,
6975 ;;              icicle-comint-get-minibuffer-input to icicle-comint-search-get-minibuffer-input.
6976 ;;     Require shell.el at compile time.
6977 ;;     Use fn, not var, confirm-nonexistent-file-or-buffer.  Thx to Daniel Clemente.
6978 ;; 2008/12/02 dadams
6979 ;;     Removed all use of icicle-file-ignore-space-prefix-flag (removed).
6980 ;; 2008/11/23 dadams
6981 ;;     Updated wrt Emacs 23:
6982 ;;       find-file-confirm-nonexistent-file -> confirm-nonexistent-file-or-buffer.
6983 ;;       icicle-buffer*, icicle-add-buffer-candidate, icicle-choose-candidate-of-type:
6984 ;;         Added confirm-nonexistent-file-or-buffer.
6985 ;; 2008/11/22 dadams
6986 ;;     icicle-command-abbrev, icicle-remove-buffer-config-action, icicle-find-file-absolute*,
6987 ;;       icicle-(recent|locate)-file*, icicle-describe-option-of-type,
6988 ;;       icicle-(vardoc|fundoc|plist|doc), icicle-complete-keys-1, icicle-read-color:
6989 ;;         Put icicle-fancy-candidates property on prompt when appropriate.
6990 ;;     icicle-(find|recent|locate)-file(-absolute)(-other-window):
6991 ;;       Support find-file-confirm-nonexistent-file (Emacs 23).
6992 ;; 2008/11/17 dadams
6993 ;;     Added: icicle-find-first-tag-action, icicle-find-first-tag-other-window-action.
6994 ;;     icicle-find(-first)-tag(-other-window), icicle-find-tag-action: Crosshairs highlighting.
6995 ;;     icicle-find-first-tag(-other-window): Use icicle-find-first-tag(-other-window)-action.
6996 ;;     Mention crosshairs.el in doc strings of commands that use it.
6997 ;; 2008/11/14 dadams
6998 ;;     icicle-locate-file*: Use face icicle-candidate-part only for negative prefix arg.
6999 ;; 2008/11/09 dadams
7000 ;;     icicle-explore: When only 1 candidate, no completion.  Thx to Hannes Janetzek.
7001 ;; 2008/11/04 dadams
7002 ;;     Removed compile-time require of palette.el or eyedropper.el.  Thx to Andrey Zhdanov.
7003 ;;     icicle-read-color: Moved soft require of palette.el or eyedropper.el to beginning.
7004 ;;     Removed: icicle-generic-S-tab.
7005 ;;     icicle-add-key+cmd: Removed test for icicle-generic-S-tab.
7006 ;; 2008/11/03 dadams
7007 ;;     icicle-insert-for-yank: push-mark first.  Thx to Fabrice Knevez.
7008 ;;     Renamed: icicle-insert-kill to icicle-completing-yank,
7009 ;;              icicle-yank-insert to icicle-yank-maybe-completing.
7010 ;;     icicle-search: Restored binding of icicle-searching-p (somehow, accidentally removed it).
7011 ;; 2008/11/02 dadams
7012 ;;     icicle-(doc|vardoc|fundoc|plist):
7013 ;;       Prefix arg uses candidates cache.  Tighten scope of condition-case.
7014 ;;     icicle-doc:
7015 ;;       Show all of fn, var, and face doc that are available.  Thx to Fabrice Knevez.
7016 ;;       Use multi-completion: added symbol name and type.
7017 ;;     icicle-doc-action: (intern (icicle-transform-multi-completion...)), not assoc.
7018 ;; 2008/10/27 dadams
7019 ;;     icicle-find(-first)-tag*: Bind case-fold-search too.
7020 ;; 2008/10/26 dadams
7021 ;;     icicle-(file|directory)-list, icicle-find-file(-absolute)(-other-window),
7022 ;;       icicle-(locate|recent)-file(-other-window): Bind to icicle-file-* options.
7023 ;;     icicle-locate-file*, icicle-recent-file*:
7024 ;;       Bind icicle-abs-file-candidates, icicle-delete-candidate-object.
7025 ;;       Move init code into bindings.
7026 ;;     icicle-find-first-tag*: Move init code into bindings.
7027 ;; 2008/10/24 dadams
7028 ;;     Find-tag fixes.  Thx to Per Nordlow.
7029 ;;       icicle-find-tag: Bind completion-ignore-case also for call to icicle-explore.
7030 ;;       icicle-find-tag-define-candidates-1:
7031 ;;         Look for regexp followed by DEL, through eol.  Move to bol, then next line.
7032 ;;     icicle-explore: Call icicle-get-alist-candidate with NO-ERROR-P arg.
7033 ;; 2008/10/23 dadams
7034 ;;     icicle-find-tag: Use nil for REQUIRE-MATCH in call to icicle-explore.
7035 ;; 2008/10/21 dadams
7036 ;;     icicle-search-read-context-regexp: Bound icicle-candidate-(action|help)-fn to nil.
7037 ;;     icicle-search-define-candidates-1: Added error message - better than generic explore msg.
7038 ;;     Moved enable-recursive-minibuffers from *-search-region to *-search-region-action.
7039 ;;     icicle-search-region-action: Added message if no such file.
7040 ;; 2008/10/18 dadams
7041 ;;     Replaced customize-save-variable by funcall icicle-customize-save-variable-function.
7042 ;;     icicle-bookmark(-other-window): Use icicle-bookmark-cleanup.  Removed completion default.
7043 ;;     Added: icicle-bookmark-cleanup: Select orig-window at end.  Thx to Andrey Zhdanov.
7044 ;; 2008/10/17 dadams
7045 ;;     Added: icicle-bookmark-cmd.
7046 ;; 2008/10/16 dadams
7047 ;;     icicle-bookmark-jump-1: Fixed for Emacs 23.  Thx to Andrey Zhdanov.
7048 ;; 2008/10/12 dadams
7049 ;;     Added: icicle-search-ibuffer-marked, icicle-search-buff-menu-marked.
7050 ;;     icicle-search-dired-marked: Removed unused let binding.
7051 ;; 2008/10/11 dadams
7052 ;;     icicle-Info-index-20: Use symbol at point as default index topic.
7053 ;; 2008/10/05 dadams
7054 ;;     icicle-Info-read-node-name: Use lax completion.  Thx to Richard Kim.
7055 ;; 2008/09/22 dadams
7056 ;;     icicle-dired-project(-other-window):
7057 ;;       Map expand-file-name over absolute file names, to expand ~ in fileset entries.
7058 ;; 2008/09/20 dadams
7059 ;;     icicle-find-file-absolute(-other-window): abs-file-list -> icicle-abs-file-list.
7060 ;; 2008/09/19 dadams
7061 ;;     icicle-add-entry-to-saved-completion-set:
7062 ;;       Use only the fileset name, not the whole fileset, in the (:fileset...) entry.
7063 ;;     icicle-remove-entry-from-saved-completion-set: Rewrote.
7064 ;;       Either the entry to remove or the set to remove it from can now be a fileset.
7065 ;;     icicle-dired-save-marked-persistently: Added FILESETP arg, so you can save in a fileset.
7066 ;;     icicle-dired-project(-other-window): Include filesets as project candidates.
7067 ;;     Renamed: icicle-dired-save-marked-to-cache-file to icicle-dired-save-marked-persistently.
7068 ;;     Moved icicle-kill-a-buffer to icicles-fn.el.
7069 ;; 2008/09/15 dadams
7070 ;;     icicle-(add|remove)-candidate-(to|from)-saved-completion-set: Use :fileset keyword.
7071 ;;     icicle-search-where-arg, icicle-search-where-arg:
7072 ;;       Wrap icicle-(file|buffer)-list with save-selected-window.
7073 ;; 2008/09/14 dadams
7074 ;;     Renamed: icicle-(add|remove)-candidate-(to|from)-saved-completion-set to
7075 ;;              icicle-(add|remove)-entry-(to|from)-saved-completion-set.
7076 ;;     icicle-add-entry-to-saved-completion-set: Treat fileset entries, not just strings.
7077 ;;     icicle-(add|remove)-entry-(to|from)-saved-completion-set,
7078 ;;       icicle-remove-saved-completion-set, icicle-dired-project(-other-window):
7079 ;;         No default value for completing-read.
7080 ;; 2008/09/13 dadams
7081 ;;     Use renamings from icicles-mcmd.el:
7082 ;;       icicle-candidate-set-save-to-cache-file to icicle-candidate-set-save-persistently,
7083 ;;       icicle-candidate-set-retrieve-from-cache-file to *-candidate-set-retrieve-persistent.
7084 ;; 2008/09/11 dadams
7085 ;;     Added: icicle-grep-saved-file-candidates.
7086 ;; 2008/09/09 dadams
7087 ;;     Added: icicle-remove-saved-set-action: No longer set minibuffer-completion-table or call
7088 ;;                                            icicle-complete-again-update.
7089 ;;            icicle-dired-save-marked-(to-(variable|cache-file)|as-project),
7090 ;;            icicle-dired-project(-other-window).
7091 ;;     Renamed: icicle-candidate-set-dired-marked-save(-more) to icicle-dired-save-marked(-more)
7092 ;;     icicle-remove-saved-completion-set:
7093 ;;       Prompt and delete cache file.  Use icicle-remove-saved-set-action as action function.
7094 ;;       Bind: icicle-whole-candidate-as-text-prop-p, icicle-use-candidates-only-once-flag.
7095 ;;       Remove *Completions* window at end.
7096 ;; 2008/09/08 dadams
7097 ;;     icicle-dired-saved-file-candidates(-other-window):
7098 ;;       Don't change to relative file names - use whichever form (abs, rel) is saved.
7099 ;;     icicle-find-tag-define-candidates-1: Make sure tag is not empty before (aref tag 0).
7100 ;;     icicle-find-file-absolute(-other-window):
7101 ;;       Use default-directory as init value and default value.
7102 ;; 2008/09/03 dadams
7103 ;;     icicle-bookmark(-other-window), icicle-goto-marker-1:
7104 ;;       Use crosshairs-unhighlight, not icicle-unhighlight-crosshairs+cleanup.
7105 ;;     icicle-goto-marker-1: Bind orig-buff.
7106 ;;     *-bookmark-jump-1, *-goto-marker-1-action, *-compilation-search-in-context-fn:
7107 ;;       Use crosshairs-highlight, not icicle-highlight-crosshairs.
7108 ;; 2008/09/02 dadams
7109 ;;     Added: icicle-dabbrev--abbrev-at-point.
7110 ;;     icicle-dabbrev-completion: Use icicle-dabbrev--abbrev-at-point.  Thx to Tomer Levin.
7111 ;; 2008/09/01 dadams
7112 ;;     Added: icicle-bookmark-jump(-other-window), icicle-bookmark-jump-1.
7113 ;;     Removed: icicle-bookmark-other-window-action.
7114 ;;     icicle-bookmark(-other-window): Use icicle-bookmark-jump(-other-window) as action fn.
7115 ;;                                     Clean up crosshairs highlighting at end.
7116 ;;     icicle-goto-marker-1:
7117 ;;       Don't bind minibuffer-exit-hook.  Don't require crosshairs.el or hl-line+.el.
7118 ;;       Use icicle-unhighlight-crosshairs+cleanup for the cleanup.
7119 ;;     icicle-compilation-search: Don't require hl-line+.el.
7120 ;;     icicle-compilation-search-in-context-fn: Use icicle-highlight-crosshairs.
7121 ;; 2008/08/31 dadams
7122 ;;     icicle-goto-marker-1-action:
7123 ;;       Use col-highlight-(un)highlight, not crosshairs-flash.  Force redisplay.
7124 ;;       Add col-highlight-unhighlight to pre-command-hook.
7125 ;;       Use hl-line-highlight-now, not hl-line-flash.
7126 ;;     icicle-goto-marker-1: Remove col-highlight-unhighlight from pre-command-hook at end.
7127 ;;     icicle-customize-face(-other-window, icicle-execute-extended-command-1,
7128 ;;       icicle-find-tag-action, icicle-insert-thesaurus-entry, icicle-apply(-list)-action,
7129 ;;       icicle-search-action, icicle-tags-search, icicle-choose-anything-candidate:
7130 ;;         Select window before call select-frame-set-input-focus.
7131 ;; 2008/08/25 dadams
7132 ;;     icicle-find-file-absolute(-other-window), icicle-(recent|locate)-file(-other-window):
7133 ;;       Use lax completion and provide WILDCARDS arg to find-file.
7134 ;; 2008/08/24 dadams
7135 ;;     Use renaming from icicles-fn.el: icicle-minibuffer-contents to icicle-minibuf-input.
7136 ;; 2008/08/23 dadams
7137 ;;     icicle-clear-history: Wrap default value, minibuffer-history-variable, with symbol-name.
7138 ;; 2008/08/21 dadams
7139 ;;     Added: icicle-file(-other-*), icicle-find-file-absolute(-other-*).  Thx to Glauber M4.
7140 ;;     Soft-require bbdb-com.el at compile time.  Don't require bbdb.el at load time - define
7141 ;;       old-bbdb-* only if original is already defined.
7142 ;;     icicle-bbdb-complete-name: Raise error if BBDB not loaded.
7143 ;; 2008/08/20 dadams
7144 ;;     icicle-bbdb-complete-name, icicle-clear-current-history: Replaced ding by icicle-ding.
7145 ;; 2008/08/18 dadams
7146 ;;     icicle-clear-history:
7147 ;;       Moved icicle-use-candidates-only-once-flag binding to icicle-clear-history-1.
7148 ;;     icicle-delete-windows: Bind icicle-inhibit-try-switch-buffer.
7149 ;;     icicle-insert-kill: Bind icicle-sort-function to nil.
7150 ;;     icicle-recent-file(-other-window):
7151 ;;       Bind *-candidate-properties-alist and *-list-use-nth-parts to nil if no prefix arg.
7152 ;;     icicle-goto(-global)-marker:
7153 ;;       Bind icicle-sort-function(s-alist) differently in each - don't bind in *-goto-marker-1.
7154 ;;     icicle-remove-region: Use just icicle-delete-region-from-alist as action function.
7155 ;;     icicle-delete-region-from-alist:
7156 ;;       Use the propertized region name, not just reg-name in the cons to delete.
7157 ;;     Moved icicle-cdr-less-p to icicles-fn.el and renamed to icicle-cdr-lessp.
7158 ;;     Moved icicle-remove-candidate-display-others to icicles-mcmd.el.
7159 ;;     Use renamings from icicles-fn.el: icicle-complete-again-update, icicle-remove-if-not.
7160 ;;     icicle-explore, icicle-find-tag, icicle-complete-keys:
7161 ;;       Renamed local orig-* vars.  Use explore's in *-search-(quit-or-error|cleanup|action).
7162 ;; 2008/08/14 dadams
7163 ;;     icicle-apply: Handle multi-completion alist entries.
7164 ;;     icicle-goto-global-marker: Treat icicle-add-buffer-name-flag: Use multi-completions.
7165 ;;     icicle-marker+text: Added optional arg.  Annotate text with buffer name if appropriate.
7166 ;;     icicle-goto-marker-1: Pass global-ring-p to icicle-marker+text, so it can annotate.
7167 ;; 2008/08/13 dadams
7168 ;;     icicle-goto-marker-1: Don't add marker to ring markers if global ring.
7169 ;;     icicle-goto-marker-1-action: select-frame-set-input-focus.
7170 ;;     icicle-bbdb-complete-name: let -> let* (duh!) for completing-read.
7171 ;; 2008/08/12 dadams
7172 ;;     Added: icicle-goto(-global)-marker-or-(set-mark-command|pop-global-mark),
7173 ;;            icicle-goto-marker-1-action (factored out from icicle-goto-marker-1).
7174 ;;     icicle-goto-marker-1:
7175 ;;       Add mark-marker to list of markers in ring.
7176 ;;       Use icicle-goto-marker-1-action.
7177 ;;       Go directly to marker if only one.  Message if same as point.
7178 ;;       Better test for type of ring, for error msg.
7179 ;;     icicle-apply: Use icicle-explore-final-choice-full in final result (not void var).
7180 ;;                   Added optional arg NOMSG; bind icicle-apply-nomsg.
7181 ;;     icicle-apply-action: Respect icicle-apply-nomsg.  Removed vestigial cruft.
7182 ;;     icicle-bbdb-complete-name: Bind icicle-bbdb-complete-name to t and use strict completion.
7183 ;; 2008/08/11 dadams
7184 ;;     icicle-search-highlight-context-levels: Increase overlay priority for each context level.
7185 ;;     icicle-search-highlight-all-input-matches, icicle-search-highlight-input-matches-here:
7186 ;;       Made of current-input overlay higher than any context-level overlay: 204 -> 220.
7187 ;; 2008/08/10 dadams
7188 ;;     Added: icicle-explore, icicle-find-tag-define-candidates (renamed old to *-1),
7189 ;;            icicle-search-define-candidates (renamed old to *-1), icicle-search-cleanup,
7190 ;;            icicle-(find-tag|search)-(final-act|quit-or-error).
7191 ;;     Renamed: icicle-find-tag-define-candidates to icicle-find-tag-define-candidates-1,
7192 ;;              icicle-search-define-candidates to icicle-search-define-candidates-1.
7193 ;;     Redefined to use icicle-explore: icicle-find-tag, icicle-apply, icicle-search.
7194 ;;     icicle-comint-get-final-choice: Use icicle-explore-final-choice (not icicle-search-*).
7195 ;; 2008/08/08 dadams
7196 ;;     Added: icicle-goto-marker-1 (from icicle-goto-marker):
7197 ;;       Use unwind-protect and minibuffer-exit-hook to unhighlight crosshairs.
7198 ;;       Provide S-delete: bind icicle-delete-candidate-object.
7199 ;;       Require crosshairs.el, hl-line+.el.  Use crosshairs-flash.
7200 ;;     icicle-goto(-global)-marker: Use icicle-goto-marker-1.
7201 ;; 2008/08/06 dadams
7202 ;;     icicle-kmacro(-action):
7203 ;;       Better prefix arg treatment.
7204 ;;       kmacro-end-or-call-macro if still defining.
7205 ;;       No-exit require-match.
7206 ;;       Default value if only one.
7207 ;;       Minor bug fix (extra candidate).
7208 ;;       Name macros just 1, 2..., not macro #1, macro #2...
7209 ;; 2008/08/03 dadams
7210 ;;     Added: icicle-clear(-current)-history(-1|-entry), icicle-apply-list-action.
7211 ;;     icicle-apply: Bind icicle-all-candidates-list-action-fn to icicle-apply-list-action.
7212 ;;     Renamed: icicle-all-candidates-action-fn to icicle-all-candidates-list-action-fn,
7213 ;;              icicle-candidate-alternative-action-fn to icicle-candidate-alt-action-fn.
7214 ;; 2008/07/27 dadams
7215 ;;     icicle-recent-file*, icicle-locate-file*: Added date multi-completion, with prefix arg.
7216 ;;     Added: icicle-make-file+date-candidate.
7217 ;; 2008/07/23 dadams
7218 ;;     Renamed: icicle-map(-action) to icicle-apply(-action).  Added defalias for icicle-map.
7219 ;; 2008/07/21 dadams
7220 ;;     Added: icicle-bbdb-complete-name.  Thx to Ian Swainson.  require of bbdb.el for compile.
7221 ;; 2008/07/19 dadams
7222 ;;     icicle-Info-menu: Corrected regexp to pick up menu-item default, for Emacs 20.
7223 ;; 2008/07/15 dadams
7224 ;;     eval-when-compile require of: anything, cookie1, etags, eyedropper/palette, yow.
7225 ;;     icicle-customize-apropos-options-of-type: Typo: help-remove-duplicates -> icicle-*.
7226 ;;     icicle-send-bug-report: Include emacs-version.
7227 ;; 2008/05/16 dadams
7228 ;;     icicle-find-first-tag*, icicle-find-tag: Use tags-lazy-completion-table for Emacs 23.
7229 ;; 2008/04/25 dadams
7230 ;;     icicle-execute-extended-command-1:
7231 ;;       Add msg about binding if suggest-key-bindings.  Thx to Jonathan Arkell.
7232 ;; 2008/04/14 dadams
7233 ;;     icicle-pp-eval-expression: Treat negative prefix arg.
7234 ;; 2008/04/13 dadams
7235 ;;     icicle-pp-eval-expression:
7236 ;;       Treat prefix arg (added optional arg).
7237 ;;       Respect eval-expression-debug-on-error and icicle-pp-eval-*.
7238 ;; 2008/04/09 dadams
7239 ;;     icicle-apropos-(function|command), icicle-imenu-non-interactive-function-p,
7240 ;;       icicle-complete-keys-help: Use fboundp, not functionp, to also pick up macros.
7241 ;; 2008/04/04 dadams
7242 ;;     icicle-bookmark: Bind completion-ignore-case to bookmark-completion-ignore-case.
7243 ;;     Added: icicle-bookmark-other-window(-action).
7244 ;; 2008/04/01 dadams
7245 ;;     icicle-describe-option-of-type: Bind icicle-apropos-complete-match-fn to nil.
7246 ;;     icicle-describe-opt-of-type-complete:
7247 ;;       Moved icicle-current-completion-mode test out of icicle-delete-if-not (iterates).
7248 ;; 2008/03/31 dadams
7249 ;;     icicle-locate-file(-other-window), icicle-plist, icicle-describe-option-of-type,
7250 ;;       icicle-(var|fun)doc: icicle-highlight-lighter, before gather candidates.
7251 ;;     icicle-plist, icicle-describe-option-of-type, icicle-vardoc, icicle-fundoc:
7252 ;;       Simplified doc string and prompt wrt C-M-j.
7253 ;; 2008/03/30 dadams
7254 ;;     icicle-Info-menu: Treat also pseudo-menu at Top.  Thx to William Xu.
7255 ;; 2008/03/26 dadams
7256 ;;     Added: icicle-Info-menu(-cmd).
7257 ;; 2008/03/22 dadams
7258 ;;     icicle-other-window-or-frame: Rewrote to use icicle-select-window for all frames or one.
7259 ;;     icicle-select-window:
7260 ;;       Rewrote: Similar to icicle-select-frame (unique window names).  All frames or one.
7261 ;;     Added: icicle-select-window-by-name, icicle-make-window-alist.
7262 ;; 2008/03/19 dadams
7263 ;;     Added: icicle-pp-eval-expression (old version in icicles-mcmd.el was renamed).
7264 ;; 2008/03/11 dadams
7265 ;;     icicle-repeat-complex-command: Rewrote doc string.
7266 ;; 2008/03/10 dadams
7267 ;;     icicle-select-frame: Rewrote to use icicle-select-frame-by-name (unique frame names).
7268 ;;     icicle-choose-candidate-of-type: Use icicle-make-frame-alist, not make-frame-alist.
7269 ;;     Added: icicle-select-frame-by-name, icicle-make-frame-alist.
7270 ;; 2008/03/09 dadams
7271 ;;     icicle-dabbrev-completion, icicle-find-tag-define-candidates,
7272 ;;       icicle-Info-build-node-completions, icicle-search, icicle-read-color:
7273 ;;         Call icicle-highlight-lighter.
7274 ;; 2008/03/05 dadams
7275 ;;     icicle-map: Don't inhibit sorting.
7276 ;;     icicle-goto(-global)-marker: Provide sorting choices.  Highlight target line.
7277 ;;     Added: icicle-cdr-less-p.
7278 ;; 2008/02/26 dadams
7279 ;;     Added: icicle-where-is.
7280 ;; 2008/02/23 dadams
7281 ;;     icicle-lisp-complete-symbol:
7282 ;;       Wrap completing-read in save-excursion, because of icicle-top-level-*-completion-flag.
7283 ;;     icicle-search: Use NOWARN arg with find-file-noselect.
7284 ;;     Added: icicle-tags-search.
7285 ;;     Renamed: icicle-search-tag* to icicle-find-tag*,
7286 ;;              icicle-find-tag(-other-window) to icicle-find-first-tag(-other-window).
7287 ;; 2008/02/21 dadams
7288 ;;     icicle-Info-goto-node: Added .. node for book order.
7289 ;;       Use global var icicle-Info-only-rest-of-book-p.  Call icicle-Info-goto-node-1.
7290 ;;     icicle-Info-read-node-name: Remove REST-P arg.
7291 ;;     icicle-Info-goto-node-action: When rest-of-book-p:
7292 ;;       Update node completion table and then completions, and set current candidate number. 
7293 ;;     Added: icicle-Info-goto-node-1, icicle-Info-build-node-completions(-fix-*).
7294 ;; 2008/02/17 dadams
7295 ;;     icicle-Info-goto-node:
7296 ;;       Moved let to interactive spec, and added two args.  Use icicle-Info-read-node-name.
7297 ;;       Negative prefix arg means completions are limited to rest of book.
7298 ;;       Add icicle-Info-book-order-p to icicle-sort-functions-alist.
7299 ;;       New doc string, to explain everything.
7300 ;;     Added: icicle-Info-book-order-p, icicle-Info-read-node-name.
7301 ;; 2008/02/16 dadams
7302 ;;     icicle-(select|remove|search)-region:
7303 ;;       Removed extraneous (setq icicle-candidates-alist) in let binding.
7304 ;; 2008/02/13 dadams
7305 ;;     Added: icicle-search-tag, icicle-search-tag-define-candidates, icicle-search-tag-action,
7306 ;;       icicle-search-tag-help, icicle-pop-tag-mark.
7307 ;;     Updated doc string of icicle-find-tag(-other-window).
7308 ;; 2008/02/08 dadams
7309 ;;     icicle-compilation-search-in-context-fn:
7310 ;;       Simplified and corrected.  Dropped let, with-current-buffer.  Narrow to whole line.
7311 ;;       Different code for Emacs 22+: Set current error; call compilation-next-error-function.
7312 ;;     Removed: icicle-compilation-search-hl-line.
7313 ;;     icicle-compilation-search: Soft require hl-line+.
7314 ;;                                Don't bind next-error-hook to icicle-*-search-hl-line.
7315 ;;     Renamed: icicle-directories-list to icicle-directory-list.
7316 ;; 2008/02/07 dadams
7317 ;;     icicle-search-action:
7318 ;;       Moved icicle-highlight-candidate-* to after icicle-search-in-context-fn call.
7319 ;;     icicle-compilation-search-in-context-fn:
7320 ;;       Use buffer of marker.  Removed code using overlay buffer.
7321 ;;     icicle-compilation-search: Bound icicle-compilation-search-hl-line as next-error-hook.
7322 ;;     Added: icicle-compilation-search-hl-line.
7323 ;; 2008/02/03 dadams
7324 ;;     icicle-file-list: Rewrote using icicle-define-file-command.
7325 ;;     icicle-(re)set-option-*: Added boundp before user-variable-p and icicle-binary-option-p.
7326 ;;     Added: icicle-directories-list.
7327 ;; 2008/01/18 dadams
7328 ;;     Moved icicle-complete-keys-alist to icicles-var.el
7329 ;; 2008/01/13 dadams
7330 ;;     icicle-customize-face(-other-window), icicle-face-list, icicle-read-color:
7331 ;;       Use icicle-transform-multi-completion.
7332 ;;     icicle-(vardoc|fundoc): Use icicle-funvardoc-action as action fn and as help fn.
7333 ;;     icicle-doc: Use icicle-doc-action as action fn and as help fn.
7334 ;;     Added: icicle-funvardoc-action, icicle-doc-action.
7335 ;;     icicle-search-replace-search-hit: Simplified bind/restore of Icicles completion vars.
7336 ;; 2008/01/11 dadams
7337 ;;     icicle-search-highlight-and-maybe-replace:
7338 ;;       Don't call icicle-update-completions or icicle-display-candidates-in-Completions here.
7339 ;;     icicle-search-in-context-default-fn, icicle-compilation-search-in-context-fn:
7340 ;;       Call icicle-update-completions (at the end), since not done in i*-and-maybe-replace.
7341 ;; 2008/01/08 dadams
7342 ;;     icicle-describe-opt-of-type-complete: Treat 3rd arg.  Treat prefix completion.
7343 ;; 2008/01/06 dadams
7344 ;;     icicle-read-color: Provide color help for C-M-.  Added: icicle-color-help.
7345 ;; 2008/01/04 dadams
7346 ;;     icicle-doc, icicle-fundoc, icicle-vardoc: Use history variable icicle-doc-history.
7347 ;; 2008/01/02 dadams
7348 ;;     Added: icicle-search-dired-marked.
7349 ;; 2008/01/01 dadams
7350 ;;     icicle-(buffer|face|file)-list: Reverse list, so C-! keeps order.
7351 ;;     icicle-dired-saved-file-candidates(-other-window):
7352 ;;       Convert candidates to relative file names before opening Dired using them.
7353 ;;       Error if any candidate is not a file in directory.
7354 ;;     Added: icicle-candidate-set-dired-marked-save(-more).
7355 ;; 2007/12/31 dadams
7356 ;;     Added: icicle-fn-doc-minus-sig.
7357 ;;     icicle-fundoc, icicle-doc: Use icicle-fn-doc-minus-sig.
7358 ;;     icicle-doc: Bind icicle-transform-function, not icicle-whole-candidate-as-text-prop-p.
7359 ;; 2007/12/27 dadams
7360 ;;     icicle-describe-option-of-type:
7361 ;;       Bind icicle-apropos-complete-match-fn to nil to prevent automatic input match.
7362 ;; 2007/12/26 dadams
7363 ;;     icicle-describe-opt-of-type-complete: Pretty-print types.  Bind icicle-candidate-help-fn.
7364 ;;     Added: icicle-describe-opt-action.
7365 ;; 2007/12/24 dadams
7366 ;;     icicle-describe-option-of-type:
7367 ;;       Rewrote for different kinds of type matching.  TYPE can be a regexp or type sexp.
7368 ;;         Diff prefix args for diff behaviors. Handle type inheritance and value-checking.
7369 ;;     Added: icicle-describe-opt-of-type-complete.
7370 ;; 2007/12/21 dadams
7371 ;;     icicle-customize-apropos-options-of-type: help-var-is-* -> icicle-var-is-*.
7372 ;; 2007/12/20 dadams
7373 ;;     icicle-dired-saved-file-candidates(-*):
7374 ;;       Use substitute-command-keys in error msg.  Use generate-new-buffer name, not y-or-n-p.
7375 ;; 2007/12/15 dadams
7376 ;;     Added: icicle-customize-apropos-options-of-type.
7377 ;; 2007/12/11 dadams
7378 ;;     icicle-read-color: Don't leave out variable proxies if don't have eyedropper.
7379 ;; 2007/12/07 dadams
7380 ;;     Added: icicle-describe-option-of-type.
7381 ;;     icicle-doc:
7382 ;;       Choose kind of doc, instead of showing all (overwriting).
7383 ;;       Removed binding of icicle-candidate-properties-alist.
7384 ;;     icicle-read-color: Single-quote proxies, don't wrap with `_'.
7385 ;; 2007/12/06 dadams
7386 ;;     icicle-doc: Forgot to include face doc.
7387 ;; 2007/12/03 dadams
7388 ;;     Renamed icicle-longest-common-match to icicle-expanded-common-match.
7389 ;; 2007/12/02 dadams
7390 ;;     icicle-read-color: Include color-valued variables as proxy candidates.
7391 ;; 2007/11/30 dadams
7392 ;;     icicle-command-abbrev:
7393 ;;       Use only membership in icicle-proxy-candidates, not icicle-proxy-candidate property.
7394 ;;       So predicate is just commandp, since proxies are not part of regular candidates.
7395 ;;     icicle-command-abbrev-action:
7396 ;;       Bind to save/restore: icicle-add-proxy-candidates-flag, icicle-proxy-candidates.
7397 ;;     icicle-command-abbrev-command: Bind icicle-add-proxy-candidates-flag to nil, to reset.
7398 ;; 2007/11/29 dadams
7399 ;;     icicle-command-abbrev: Treat icicle-add-proxy-candidates-flag, icicle-proxy-candidates.
7400 ;;     icicle-read-color: Don't test icicle-add-proxy-candidates-flag.
7401 ;; 2007/11/27 dadams
7402 ;;     icicle-command-abbrev: Remove icicle-proxy-candidate property in unwind-protect.
7403 ;; 2007/11/26 dadams
7404 ;;     icicle-get-anything-candidates: Fixed for try-completion and test-completion cases.
7405 ;;     icicle-choose-anything-candidate: Bind icicle-candidates-alist to actions (two places).
7406 ;; 2007/11/25 dadams
7407 ;;     Added: icicle-command-abbrev(-action|-command|-matching-commands|-record|regexp).
7408 ;; 2007/11/24 dadams
7409 ;;     icicle-execute-extended-command: Bind use-file-dialog to nil.
7410 ;; 2007/11/17 dadams
7411 ;;     icicle-read-color:
7412 ;;       Respect icicle-add-proxy-candidates-flag.  Convert proxy multi-completions to strings.
7413 ;; 2007/11/03 dadams
7414 ;;     icicle-generic-S-tab: Doc string - mention icicle-generic-S-tab-keys.
7415 ;; 2007/10/28 dadams
7416 ;;     icicle-search: Don't bind icicle-expand-input-to-common-match-flag.  Updated doc string.
7417 ;;     icicle-search-highlight-all-input-matches:
7418 ;;       Don't set icicle-search-lcm unless icicle-expand-input-to-common-match-flag.
7419 ;;     icicle-search-highlight-and-maybe-replace:
7420 ;;       Match the lcm if icicle-search-replace-common-match-flag is non-nil.
7421 ;;       Save icicle-candidate-nb around icicle-update-completions.
7422 ;;       Set icicle-candidate-nb to 0 if nil.
7423 ;;     icicle-search-highlight-input-matches-here:
7424 ;;       Don't delete icicle-search-refined-overlays if icicle-*-all-current-flag.
7425 ;; 2007/10/26 dadams
7426 ;;     icicle-search-highlight-all-input-matches: Loop through overlays twice, to get the lcm.
7427 ;;     icicle-search-highlight-input-matches-here: Highlight the lcm, if available.
7428 ;;     icicle-search: Bind icicle-search-lcm.
7429 ;; 2007/10/22 dadams
7430 ;;    icicle-read-color: Use special-candidate face for pseudo color candidates.
7431 ;;    icicle-add-key+cmd: Don't include keys bound to undefined.
7432 ;; 2007/10/20 dadams
7433 ;;    icicle-read-color, icicle-remove-color-duplicates:
7434 ;;      Treat pseudo colors too (e.g. *point foreground*).
7435 ;;    icicle-make-color-candidate: Added optional HEX-RGB arg.
7436 ;; 2007/10/16 dadams
7437 ;;     icicle-vardoc: Prefix arg means use only user options.
7438 ;; 2007/10/14 dadams
7439 ;;     Updated doc strings to reflect new icicle-act-before-cycle-flag change.
7440 ;; 2007/10/13 dadams
7441 ;;     icicle-get-anything-candidates:
7442 ;;       If candidates is a fn, return fn that's useful for all-completions.  Filter by input.
7443 ;;     icicle-choose-anything-candidate:
7444 ;;       Don't sort or transform cands.  Respect Anything's require-pattern and delayed
7445 ;;       settings.  Bind icicle-candidates-alist to candidates, if that's a function.
7446 ;;     icicle-get-anything-candidates-of-type: Don't use mapcar if candidates is a function.
7447 ;;     Added: icicle-get-anything-req-pat-chars, icicle-get-anything-input-delay.
7448 ;; 2007/10/06 dadams
7449 ;;     icicle-choose-candidate-of-type: Added entry for file type.
7450 ;; 2007/09/25 dadams
7451 ;;     icicle-doc: Bind icicle-whole-candidate-as-text-prop-p to treat full candidates.
7452 ;; 2007/09/04 dadams
7453 ;;     icicle-read-color: Added optional PROMPT arg.
7454 ;; 2007/08/31 dadams
7455 ;;     icicle-buffer-list: Prefix arg means only buffers visiting files are candidates.
7456 ;;     icicle-search-where-arg, icicle-occur:
7457 ;;       Prefix arg 99 means only buffers visiting files are candidates.
7458 ;;     Added: icicle-search-choose-buffers.
7459 ;; 2007/08/27 dadams
7460 ;;     icicle-search-action: Fixed for return value.  Display the error message.
7461 ;; 2007/08/25 dadams
7462 ;;     icicle-choose-candidate-of-type: Removed (> emacs-major-version 21) restriction.
7463 ;; 2007/08/25 dadams
7464 ;;     Added: a, any, buffer, file, icicle-get-anything-(types|(default-)actions-for-type|
7465 ;;            candidates-of-type|(cached-)candidates), icicle-anything(-candidate-value),
7466 ;;            what-which-how, icicle-choose-anything-candidate.
7467 ;;     Renamed icicle-clear-option to clear-option.
7468 ;;     icicle-object-action: Treat Anything stuff.
7469 ;;       Added optional type arg.  Use vars icicle-object-(named|predicate)-types.
7470 ;;       Move icicle-read-var-value-satisfying call here from icicle-choose-candidate-of-type.
7471 ;;     icicle-choose-candidate-of-type: Create buffer if needed.
7472 ;;     Protected alias definitions with icicle-define-alias-commands-flag.
7473 ;;     icicle-map(-action):
7474 ;;       Use icicle-whole-candidate-as-text-prop-p and new icicle-get-alist-candidate.
7475 ;;     icicle-(select|remove|search)-region, icicle-search:
7476 ;;       Bind/use icicle-whole-candidate-as-text-prop-p.
7477 ;;     icicle-occur: Require buffer names to match existing buffers.  Thx to Hadron Quark.
7478 ;; 2007/08/15 dadams
7479 ;;     Added command toggle as alias for icicle-toggle-option.
7480 ;; 2007/08/09 dadams
7481 ;;     Soft require kmacro.  Define icicle-kmacro* if kmacro gets loaded.
7482 ;; 2007/07/27 dadams
7483 ;;     icicle-search: Renamed icicle-act-first-then-navigate-p to icicle-act-before-cycle-flag.
7484 ;; 2007/07/22 dadams
7485 ;;     icicle-customize-face: Added prefix arg to give vanilla completion.
7486 ;;     Added: icicle-customize-face-other-window.
7487 ;;     Replace standard customize-face(-other-window) by icicle-customize-face(-other-window).
7488 ;;     No longer require icicles-mode.el.
7489 ;;     Require cus-edit.el (not just at compile time).
7490 ;; 2007/07/08 dadams
7491 ;;     Added: icicle-customize-faces.
7492 ;;     icicle-customize-face: Bind icicle-all-candidates-action-fn to icicle-customize-faces.
7493 ;; 2007/06/23 dadams
7494 ;;     icicle-search-read-context-regexp, icicle-search-read-word, icicle-search-property-args,
7495 ;;      icicle-add-region, icicle-save-string-to-variable:
7496 ;;        Use icicle-completing-read-history, not read-from-minibuffer or read-string.
7497 ;;     icicle-face-list: Bound icicle-list-nth-parts-join-string etc.
7498 ;;     Moved to icicles-fn.el: icicle-read-from-minibuf-nil-default.
7499 ;; 2007/06/22 dadams
7500 ;;     Added: icicle-group-regexp, icicle-keyword-list, icicle-search-keywords.
7501 ;; 2007/06/21 dadams
7502 ;;     icicle-plist, icicle-(var|fun)doc, icicle-region-add-buffers, icicle-search-regexp-scan,
7503 ;;      icicle-search-char-property-scan:
7504 ;;        Use face icicle-candidate-part, not icicle-special-candidate.
7505 ;;     icicle-add-key+cmd: Highlight key side of the pair (key  =  binding).
7506 ;; 2007/06/18 dadams
7507 ;;     Added: icicle-customize-face.
7508 ;; 2007/06/17 dadams
7509 ;;     icicle-make-color-candidate: Respect icicle-WYSIWYG-Completions-flag.
7510 ;;     icicle-search-action: Added priority in call to icicle-place-overlay.
7511 ;; 2007/06/12 dadams
7512 ;;     icicle-execute-extended-command(-1):
7513 ;;       i-e-e-c-1 prepares the new last command, but i-e-e-c sets it, at end, to this-command.
7514 ;; 2007/06/10 dadams
7515 ;;     Added: icicle-comint-hook-fn, icicle-compilation-hook-fn.
7516 ;;     Removed unconditional add-hooks for comint-mode-hook and compilation(minor)-mode-hook.
7517 ;; 2007/06/09 dadams
7518 ;;     icicle-set-option-to-t, icicle-reset-option-to-nil, icicle-delete-windows,
7519 ;;      icicle-add-buffer-candidate, icicle-remove-buffer-candidate, icicle-buffer-list,
7520 ;;      icicle-remove-buffer-config, icicle-face-list, icicle-file-list,
7521 ;;      icicle-remove-all-regions-in-buffer, icicle-delete-file:
7522 ;;        Bind icicle-use-candidates-only-once-flag to t.
7523 ;;     icicle-set-option-to-t, icicle-clear-option: Candidate vars must have value nil/non-nil.
7524 ;;     icicle-search-regexp-scan: Added eobp test and empty hit-string test.
7525 ;;     icicle-select-(frame|window), icicle-delete-windows:
7526 ;;       Removed extra t arg to icicle-define-command.
7527 ;; 2007/06/08 dadams
7528 ;;     Added icicle-find-tag(-other-window).
7529 ;; 2007/06/07 dadams
7530 ;;     Renamed: icicle-font-history to icicle-font-name-history,
7531 ;;              icicle-function-history to icicle-function-name-history,
7532 ;;              icicle-variable-history to  icicle-variable-name-history.
7533 ;;     Use standard history variable if bound, else use Icicles history variable:
7534 ;;       bookmark-history, color-history, color-theme-history, face-name-history,
7535 ;;       font-name-history, frame-name-history, function-name-history, variable-name-history
7536 ;; 2007/06/05 dadams
7537 ;;     Don't require hexrgb.el if no window system.
7538 ;;     icicle-read-color: Use featurep, not require, for hexrgb.
7539 ;;     icicle-make-color-candidate: Error if hexrgb is not loaded.
7540 ;; 2007/05/31 dadams
7541 ;;     icicle-execute-extended-command-1: Set, don't bind this-command.
7542 ;;     icicle-execute-extended-command, icicle-execute-named-keyboard-macro:
7543 ;;       Simpler save and restore of last-command.
7544 ;; 2007/05/28 dadams
7545 ;;     icicle-imenu: Use same prefix-arg behavior as icicle-search (search multiple...).
7546 ;;     Added: icicle-imenu-(command|non-interactive-function(-p)).
7547 ;;     icicle-search-highlight-context-levels:
7548 ;;       Wrapped loop in condition-case.  Took max-levels determination out of loop.
7549 ;; 2007/05/25 dadams
7550 ;;     Added: icicle-face-list, icicle-next-single-char-property-change,
7551 ;;            icicle-search-(where-arg|property-args|char-property(-scan)|overlay-property),
7552 ;;            icicle-char-properties-in-buffer(s).
7553 ;;     Removed: icicle-text-properties-in-buffer(s), icicle-search-text-property-scan.
7554 ;;     icicle-search(-word): Use icicle-search-where-arg.
7555 ;; 2007/05/21 dadams
7556 ;;     Added: icicle-search-(buffer|file|all-regions).
7557 ;;     icicle-imenu: Fixed treatment of prefix arg.
7558 ;;     icicle-imenu-command-p: Fix to work also with Emacs 22 and  21.
7559 ;; 2007/05/14 dadams
7560 ;;     icicle-execute-extended-command-1: Error if empty command name.
7561 ;; 2007/05/12 dadams
7562 ;;     icicle-imenu: Added prefix arg for search for commands and non-cmds in Emacs-Lisp mode.
7563 ;;     Added: icicle-imenu-command-p.
7564 ;; 2007/05/11 dadams
7565 ;;     icicle-search-define-candidates:
7566 ;;       Move scan-fn-or-regexp to 4th arg from 2nd.  Removed &optional.
7567 ;;       Apply icicle-search-regexp-scan to args also.
7568 ;;     icicle-search-regexp-scan: Treat predicate.
7569 ;;       Move regexp to 3rd arg from 2nd, and add predicate arg.  Removed &optional.
7570 ;;     icicle-search-regexp-scan, icicle-search-text-property-scan:
7571 ;;       Add lengths of temp-list and icicle-candidates-alist.
7572 ;;     icicle-search-text-property(-scan): Added predicate argument.
7573 ;;     icicle-search-region-action: Bind icicle-candidate-action-fn to icicle-search-action.
7574 ;;     icicle-(select|search|remove)-region: Removed temp var bound to (icicle-region-sorted).
7575 ;;     icicle-search: Mention predicate in no-match message.
7576 ;; 2007/05/07 dadams
7577 ;;     icicle-add-buffer-config: Added history args for icicle-read-from-minibuf-nil-default.
7578 ;; 2007/05/06 dadams
7579 ;;     icicle-search: Bind icicle-must-pass-predicate to icicle-search-context-match-predicate.
7580 ;;     icicle-search-read-context-regexp: Don't accept an empty regexp.
7581 ;;     Changed S-C- to C-S- and M-C- to C-M- in doc.
7582 ;; 2007/05/04 dadams
7583 ;;     icicle-(re)set-option-to-(nil|t), icicle-toggle-option: Enable recursive minibuffers.
7584 ;; 2007/05/02 dadams
7585 ;;     icicle-search-read-word: Updated doc string.
7586 ;;     icicle-search: Respect icicle-search-whole-word-flag and icicle-regexp-quote-flag.
7587 ;;                    Single message for non-existent buffers.
7588 ;;     icicle-select-region-action: Message for non-existent file.
7589 ;;     Added empty defvars for Emacs 22 standard vars, to quiet byte compiler.
7590 ;; 2007/05/01 dadams
7591 ;;     icicle-execute-extended-command-1:
7592 ;;       Don't bind icicle-candidate-action-fn if we have already read command name.
7593 ;;     icicle-search-*-scan: Fill, reverse temp list, then append to icicle-candidates-alist.
7594 ;;     Added: icicle-search-word, icicle-search-read-word.
7595 ;; 2007/04/29 dadams
7596 ;;     icicle-search, icicle-search-text-property, icicle-text-properties-in-buffers:
7597 ;;       Allow search of multiple files.  Change prefix arg accordingly.
7598 ;; 2007/04/28 dadams
7599 ;;     Added: icicle-compilation-search-in-context-fn, icicle-search-in-context-default-fn,
7600 ;;            icicle-search-highlight-and-maybe-replace.
7601 ;;     icicle-search-action: Move code to the new functions.  Use icicle-search-in-context-fn.
7602 ;;     icicle-compilation-search: Rewrote.
7603 ;;       No longer use compile-goto-error as icicle-search-hook.
7604 ;;       Use icicle-compilation-search-in-context-fn.
7605 ;;       Cannot-replace error msg if not Emacs 22, since no compilation-highlight-overlay.
7606 ;;       Provide .* regexp and do not highlight - as in icicle-occur.
7607 ;; 2007/04/22 dadams
7608 ;;     icicle-search: Allow for pre-bound icicle-candidate(-alternative)-action-fn.
7609 ;;     icicle-search-replace-search-hit:
7610 ;;       Call icicle-candidate-action-fn, not necessarily icicle-search-action.
7611 ;; 2007/04/20 dadams
7612 ;;     Added: icicle-search-highlight-context-levels.  Use in icicle-search-action.
7613 ;;     icicle-search-highlight-cleanup: Delete icicle-search-level-overlays.
7614 ;;     icicle-search: Set icicle-search-context-regexp nil if scan-fn-or-regexp is not string.
7615 ;;     icicle-search-replace-fixed-case-p: Return nil if arg is nil.
7616 ;;     icicle-search-read-context-regexp: Use default with read-number; protect with fboundp.
7617 ;;     Added soft require of strings.el.
7618 ;; 2007/04/18 dadams
7619 ;;     Added: icicle-search-replace-fixed-case-p.  Use in icicle-search-action.
7620 ;;     icicle-search-action:
7621 ;;       Set match data to region when icicle-search-replace-whole-candidate-flag is t.
7622 ;;       Don't search for icicle-search-context-regexp.
7623 ;;     icicle-search-replace-match: Added fixedcase arg.
7624 ;;                                  Use icicle-search-replace-literally-flag.
7625 ;;     Use replace-match-maybe-edit (Emacs 22), not replace-match, and save and restore stuff.
7626 ;;     icicle-search-replace-search-hit:
7627 ;;       Use regexp-history in read-string.  Use icicle-search-define-replacement.
7628 ;; 2007/04/17 dadams
7629 ;;     Added: icicle-search-replace-match.  Treat Emacs<22 also.  Use in icicle-search-action.
7630 ;;     icicle-search-replace-search-hit: Use regexp-history in read-string.
7631 ;; 2007/04/16 dadams
7632 ;;     icicle-search-action: Use replace-count.
7633 ;;     icicle-search: Initialize replace-count to 0.
7634 ;; 2007/04/15 dadams
7635 ;;     icicle-search-action: Allow \,... etc. replacement.
7636 ;;       Use query-replace-compile-replacement and replace-match, with error treatment.
7637 ;;       Removed unwind-protect.  Removed %s from error-msg return.
7638 ;;     icicle-search: Save search string as icicle-search-context-regexp.
7639 ;;                    Use "%s" for error message in failure error call.
7640 ;;                    Updated doc string for lisp-eval replacement etc.
7641 ;;     *(-all)-input-matches(-here): save-match-data around input matching.
7642 ;;     icicle-search-highlight-input-matches-here: Added not eobp to loop test.
7643 ;; 2007/04/13 dadams
7644 ;;     icicle-search-highlight-input-matches-here: Bound free var ov.
7645 ;; 2007/04/10 dadams
7646 ;;     icicle-search-regexp-scan:
7647 ;;       Use match indicated by icicle-search-context-level as context.
7648 ;;     Added: icicle-search-read-context-regexp.
7649 ;;     icicle-search(-region|-regexp-scan): Use icicle-search-read-context-regexp.
7650 ;; 2007/04/08 dadams
7651 ;;     icicle-map-action, icicle-search-action:
7652 ;;       Return nil for success, error msg for failure (it was reversed).
7653 ;;       Use icicle-highlight-candidate-in-Completions.
7654 ;;     icicle-map-action: Moved minibuffer frame selection to unwind-protect final clause.
7655 ;;     icicle-search: Give focus to original frame, in unwinding clause (C-g).
7656 ;;     Added: icicle-search-highlight-input-matches-here.
7657 ;;     icicle-search-highlight-all-input-matches: Highlight all input matches in candidate.
7658 ;;     icicle-search-replace-search-hit:
7659 ;;       Use 0 if icicle-candidate-nb is nil.  Display completions.
7660 ;;       Save and restore: icicle-last-completion-command, icicle-last-input.
7661 ;;       Prevent using same string as candidate for replacement.
7662 ;;     icicle-search-action: Rewrote.  Enable repeated replacment of input matches.
7663 ;;       Save and restore icicle-candidate-nb.  Wrap it around if at end.
7664 ;;       Warn about empty input for whole-candidate replacement.
7665 ;;       Update icicle-last-completion-candidate.  Display completions.
7666 ;; 2007/04/07 dadams
7667 ;;     icicle-search: Added query-replace functionality.
7668 ;;       Navigate first, then act (C-next).
7669 ;;       Give focus to last frame searched.
7670 ;;       Bind: icicle-candidate-alternative-action-fn, icicle-inhibit-sort-p,
7671 ;;             icicle-searching-p, icicle-expand-input-to-common-match-flag.
7672 ;;       Bind icicle-buffer-require-match-flag to partial-match-ok in interactive spec.
7673 ;;     icicle-search-action:
7674 ;;       Added optional replace arg: if non-nil, then fn becomes a replace action.
7675 ;;     Added: icicle-search-replace-search-hit, icicle-search-replace-candidate,
7676 ;;     icicle-buffer-list: Bind all the stuff that is bound in icicle-buffer.
7677 ;; 2007/04/06 dadams
7678 ;;     icicle-execute-extended-command-1:
7679 ;;       Bind this-command, but only around call to cmd - don't set it.
7680 ;; 2007/04/02 dadams
7681 ;;     Added: icicle-search-text-property, icicle-search-text-property-scan,
7682 ;;            icicle-text-properties-in-buffer(s).
7683 ;;     icicle-search:
7684 ;;       Added &rest args.  Updated doc string.  Don't read regexp or reverse alist here.
7685 ;;       Use icicle-search-define-candidates, not icicle-search-regexp-scan.
7686 ;;     icicle-search-regexp-scan: Read regexp here.  Reverse alist here.
7687 ;;     Moved to icicles-fn.el: icicle-filter-alist, icicle-first-matching-candidate.
7688 ;;     Renamed: icicle-search-region-beg-end to icicle-region-or-buffer-limits.
7689 ;; 2007/04/01 dadams
7690 ;;     icicle-repeat-complex-command:
7691 ;;       Remove duplicates and sort entries, but only for reading command to eval.
7692 ;; 2007/03/31 dadams
7693 ;;     icicle-lisp-complete-symbol: Bind icicle-top-level-when-sole-completion-flag to t.
7694 ;; 2007/03/27 dadams
7695 ;;     icicle-search: Hard-code C-next key in message.
7696 ;;     icicle-search-regexp-scan: Initialize last-beg for first time.
7697 ;; 2007/03/23 dadams
7698 ;;     icicle-execute-extended-command-1:
7699 ;;       Don't restore last-command.  Run (pre|post)-command-hook.  Set, don't bind,
7700 ;;       this-command.  enable-recursive-minibuffers for interactive call of cmd.
7701 ;;     icicle-execute-extended-command, icicle-execute-named-keyboard-macro:
7702 ;;       Restore last-command at end.
7703 ;; 2007/03/20 dadams
7704 ;;     icicle-execute-extended-command-1: When wrong-number-of-args, icicle-help-on-candidate.
7705 ;; 2007/03/14 dadams
7706 ;;     icicle-dired-saved-file-candidates, icicle-buffer, icicle-(find|locate|recent)-file:
7707 ;;       Put 200 as value of property icicle-Completions-window-max-height.
7708 ;;     Added ;;;###autoload for icicle-define*.
7709 ;; 2007/03/09 dadams
7710 ;;     icicle-search, icicle-map, icicle-(remove|search|select)-region, icicle-imenu,
7711 ;;     icicle-occur, icicle-compilation-search:
7712 ;;       Bound icicle-transform-function to nil if interactive-p.
7713 ;;     icicle-comint-search: Updated doc string to mention false positives in command matching.
7714 ;;     Removed eval-when-compile from requires of Icicles libraries (except icicle-mac.el).
7715 ;; 2007/03/08 dadams
7716 ;;     icicle-insert-kill: Bound icicle-delete-candidate-object.
7717 ;; 2007/03/07 dadams
7718 ;;     icicle-delete-windows, icicle-map-action, icicle-search-action,
7719 ;;     icicle-choose-candidate-of-type, icicle-complete-keys-help:
7720 ;;       Use 0, not t, as frame arg to get-buffer-window.
7721 ;; 2007/03/06 dadams
7722 ;;     icicle-search, icicle-map, icicle-(remove|search|select)-region:
7723 ;;       Bind icicle-inhibit-sort-p to non-nil to prevent user sorting.
7724 ;;       Update doc string to mention that you cannot sort candidates.
7725 ;;     icicle-(remove|search|select)-region: Sort candidates by buffer and then by tag.
7726 ;;     icicle-search-region: Bound icicle-delete-candidate-object.
7727 ;;     icicle-search, icicle-map: Don't add or subtract one from candidate # if use action fn.
7728 ;;     icicle-search:
7729 ;;       If require-match, set icicle-completion-candidates and marker to reflect final choice.
7730 ;;     Renamed: icicle-get-current-candidate to icicle-get-alist-candidate.
7731 ;;     Added: icicle-region-sorted, icicle-region-add-buffers.
7732 ;; 2007/03/04 dadams
7733 ;;     icicle-get-current-candidate: Return nil if icicle-candidates-alist is nil.
7734 ;; 2007/03/02 dadams
7735 ;;     icicle-remove-buffer-config, icicle-remove-buffer-candidate: Removed extraneous quote.
7736 ;;     icicle-(find|recent)-file(-other-window): Bound icicle-delete-candidate-object.
7737 ;; 2007/02/28 dadams
7738 ;;     icicle-buffer-list, icicle-color-theme: Bound icicle-delete-candidate-object.
7739 ;; 2007/02/27 dadams
7740 ;;     icicle-recent-file(-other-window): Changed INITIAL-INPUT completing-read arg to nil.
7741 ;; 2007/02/25 dadams
7742 ;;     Added: icicle-remove-buffer-candidate-action, icicle-remove-buffer-config-action.
7743 ;;     icicle-add-buffer-candidate, icicle-bookmark, icicle-buffer-config:
7744 ;;       Bound icicle-delete-candidate-object.
7745 ;; 2007/02/24 dadams
7746 ;;     Added: icicle-kill-a-buffer-and-update-completions (was kill-a-buffer),
7747 ;;            icicle-delete-region-from-alist.
7748 ;;     icicle-delete-window: Use icicle-kill-a-buffer...-completions, not icicle-kill-a-buffer.
7749 ;;     icicle-buffer(-other-window), icicle-choose-candidate-of-type:
7750 ;;       Bind icicle-delete-candidate-object to icicle-kill-a-buffer.
7751 ;;       Bind icicle-sort-function to self if icicle-buffer-sort-function is nil.
7752 ;;     icicle-select-region:
7753 ;;       Bind icicle-delete-candidate-object to icicle-delete-region-from-alist.
7754 ;;     icicle-remove-region: Rewrote.
7755 ;;       Use icicle-delete-region-from-alist.
7756 ;;       Use icicle-remove-candidate-display-others, but don't redisplay unless completing.
7757 ;;       Respect icicle-add-buffer-name-flag (append buffer names).
7758 ;; 2007/02/20 dadams
7759 ;;     Added: icicle-search-region-action.  Open file associated with candidate.
7760 ;;     icicle-search-region:
7761 ;;       Use icicle-search-region-action.  Updated doc string.  Bind icicle-list-*.
7762 ;;       Fix default completing-read value.  Respect icicle-add-buffer-name-flag.
7763 ;;     icicle-select-region-action: Open file associated with candidate.
7764 ;;     icicle-region-open-all-files: Ignore files that are not readable.
7765 ;;     icicle-regions: Remove only non-existent buffers that are not associated with files.
7766 ;; 2007/02/19 dadams
7767 ;;     Added: icicle-region-open-all-files.
7768 ;;     icicle-(search|select)-region, icicle-search: Use icicle-region-open-all-files.
7769 ;;     icicle-add-region: Add file name to region entry in alist.
7770 ;;     icicle-select-region-action, icicle-region-help, icicle-search:
7771 ;;       Updated selectors for point and mark, because of addition of file name.
7772 ;;     icicle-region-help: Add file name to help message.
7773 ;; 2007/02/18 dadams
7774 ;;     Added: icicle-first-matching-candidate.
7775 ;;     icicle-get-current-candidate: Use icicle-first-matching-candidate, not assoc.
7776 ;; 2007/02/07 dadams
7777 ;;     icicle-search-action: Make *Completions* window dedicated.  Thx to Peter Povinec.
7778 ;; 2007/02/07 dadams
7779 ;;     icicle-search: pop-to-buffer and raise frame. Don't select orig-window.
7780 ;; 2007/02/06 dadams
7781 ;;     icicle-search, icicle-select-region, icicle-search-regexp-scan:
7782 ;;       Respect icicle-add-buffer-name-flag.
7783 ;;     icicle-search: Bound icicle-show-Completions-initially-flag to t.
7784 ;;                    Bound icicle-candidate-help-fn to icicle-search-help.
7785 ;;     icicle-search-regexp-scan: nil BUFFER arg means current buffer now.
7786 ;;     icicle-search-action, icicle-filter-alist: Treat multi-completion case also.
7787 ;;     Added: icicle-search-help.
7788 ;;     icicle-map-action, icicle-search-action: Removed unused local var, curr-cand-string.
7789 ;;     icicle-select-region, icicle-remove-region, icicle-search-region:
7790 ;;       Use icicle-candidates-alist, not regions-w-buffers (but bind it locally too).
7791 ;;     Renamed: icicle-get-current-region-candidate to icicle-get-current-candidate.
7792 ;;     icicle-region-help: Provide region limits also.
7793 ;;     Added note to some doc strings that the command is for Icicle mode only.
7794 ;; 2007/02/02 dadams
7795 ;;     icicle-search: Test for buffers, not buffer names, in WHERE.  Thx to Peter Povinec.
7796 ;;     icicle-buffer-list: Return the list of buffers.
7797 ;; 2007/01/28 dadams
7798 ;;     icicle-complete-keys:
7799 ;;       Bind icicle-sort-functions-alist, using icicle-command-names-alphabetic-p.
7800 ;; 2007/01/22 dadams
7801 ;;     icicle-read-color:
7802 ;;       Removed free var NTH-PARTS.
7803 ;;       Bound icicle-list-nth-parts-join-string the same as icicle-list-join-string.
7804 ;;       Remove duplicates: AliceBlue and alice blue etc.: downcase and remove whitespace.
7805 ;;     Added: icicle-remove-color-duplicates.
7806 ;;     Added soft require of hexrgb.el.
7807 ;;     icicle-*doc, icicle-plist: Bound icicle-candidate-properties-alist.
7808 ;; 2007/01/21 dadams
7809 ;;     Added: icicle-read-color, icicle-make-color-candidate.
7810 ;; 2007/01/18 dadams
7811 ;;     Added: icicle-get-current-region-candidate.
7812 ;;       Use current cand if cycled or `mouse-2'.  Else if single match, use that.  Else error.
7813 ;;     icicle-remove-region, icicle-search-region, icicle-region-help:
7814 ;;       Use icicle-get-current-region-candidate.
7815 ;;     icicle-add-region: Added optional TAG arg and prefix arg treatment.
7816 ;;     icicle-remove-region: Update completions list.  Bind regions-w-buffers.
7817 ;;     icicle-remove-all-regions-in-buffer: Use current buffer name as default.
7818 ;;     Added: icicle-select-region-action.
7819 ;;     icicle-select-region: Use icicle-select-region-action.
7820 ;;     Renamed: option icicle-regions to icicle-region-alist.
7821 ;;     icicle-regions: Sort entries.
7822 ;; 2007/01/17 dadams
7823 ;;    icicle-filter-alist: Reversed arg order.  Return alist arg if filter-keys arg is empty.
7824 ;; 2007/01/12 dadams
7825 ;;    icicle-delete-window: Do icicle-remove-Completions-window if in minibuffer.
7826 ;;    icicle-yank-insert: Do icicle-yank if in minibuffer.
7827 ;;    icicle-(fundoc|vardoc|doc|plist): Added condition-case: protect symbols that error.
7828 ;; 2007/01/01 dadams
7829 ;;    Added: icicle-(add|remove)-candidate-(to|from)-saved-completion-set.
7830 ;;    icicle-add-buffer-config: Use nil, not "nil" as default, if icicle-buffer-sort is nil.
7831 ;;                              Use icicle-define-add-to-alist-command to define it.
7832 ;;    icicle-remove-buffer-config, icicle-remove-saved-completion-set:
7833 ;;      Use icicle-assoc-delete-all, not delete of assoc.
7834 ;;    icicle-remove-saved-completion-set: Update display after removal.
7835 ;;    Reformatted icicle-define(-file)-command, based on setup.el's lisp-indentation-hack.
7836 ;; 2006/12/25 dadams
7837 ;;    Bug fix: icicle-search-action: Use icicle-filter-alist on icicle-candidates-alist.
7838 ;;    icicle-(select|search)-region: Use pop-to-buffer and raise-frame, not set-buffer.
7839 ;;    icicle-select-region: Activate the region.
7840 ;; 2006/12/23 dadams
7841 ;;    Added: icicle-region-help.  Use in icicle-*-region.
7842 ;;    Added: icicle-remove-all-regions-in-buffer, icicle-remove-all-regions-action.
7843 ;;    icicle-(select|search)-region: Ignore regions in non-existent buffers.
7844 ;;    icicle-remove-region: Update the persistent value of icicle-regions.
7845 ;; 2006/12/22 dadams
7846 ;;    Added: icicle-exchange-point-and-mark.
7847 ;;    icicle-customize-icicles-group: icicles -> Icicles (group name).
7848 ;; 2006/12/18 dadams
7849 ;;    icicle-object-action: Remove print arg.  icicle-apply-to-* uses current-prefix-arg now.
7850 ;; 2006/12/17 dadams
7851 ;;    Added: icicle-object-action, icicle-choose-candidate-of-type,
7852 ;;           icicle-read-var-value-satisfying.
7853 ;; 2006/12/16 dadams
7854 ;;    icicle-map-action: Bug fix: Use icicle-candidate-nb, not assoc.
7855 ;;    Added: icicle-goto(-global)-marker, icicle-marker+text, icicle-markers.
7856 ;; 2006/12/10 dadams
7857 ;;    Moved minibuffer and *Completions* commands to new file, icicles-mcmd.el.
7858 ;;    Require icicles-opt.el.
7859 ;;    icicle-buffer-list: Added final message.
7860 ;; 2006/11/26 dadams
7861 ;;    icicle-search-action: Bug fix: Use icicle-candidate-nb, not assoc, to get cand+mrker.
7862 ;;    icicle-*-complete-1: Bug fix: Don't set icicle-current-input to icicle-last-input if nil.
7863 ;;    Renamed: icicle-search-region to icicle-search-region-beg-end.
7864 ;;    Added: icicle-(add|remove|select|search)-region.
7865 ;;    icicle-search: Use icicle-regions for numeric prefix arg.  Updated doc string.
7866 ;;    Added: icicle-Info-index-20 - thx to Tamas Patrovics.  Use it in icicle-Info-index.
7867 ;; 2006/11/25 dadams
7868 ;;    icicle-search: After final selection, select orig-window and give its frame input focus.
7869 ;; 2006/11/24 dadams
7870 ;;    Added: icicle-ensure-overriding-map-is-bound, icicle-universal-argument,
7871 ;;           icicle-universal-argument-more, icicle-negative-argument, icicle-digit-argument,
7872 ;;           icicle-universal-argument-other-key, icicle-universal-argument-minus,
7873 ;;           icicle-kmacro(-action).
7874 ;;    icicle-dabbrev-completion: Don't stop at common root, and use lax completion.
7875 ;;    Replaced icicle-select-window-or-frame by icicle-other-window-or-frame (respects C-u 0).
7876 ;; 2006/11/23 dadams
7877 ;;    icicle-prefix-complete-1: Respect icicle-TAB-shows-candidates-flag.
7878 ;;    icicle-execute-extended-command-1: Treat named keyboard macros too.
7879 ;;    Added: icicle-execute-named-keyboard-macro.
7880 ;; 2006/11/18 dadams
7881 ;;    icicle-add/update-saved-completion-set, icicle-apropos*, icicle-bookmark,
7882 ;;    icicle-buffer-config, icicle-candidate-set-retrieve, icicle-candidate-set-save,
7883 ;;    icicle-color-theme, icicle-comint-command, icicle-complete-thesaurus-entry,
7884 ;;    icicle-customize-apropos*, icicle-delete-windows, icicle-font, icicle-frame-bg,
7885 ;;    icicle-frame-fg, icicle-insert-kill, icicle-insert-string-from-variable,
7886 ;;    icicle-insert-thesaurus-entry, icicle-locate-file*, icicle-map, icicle-narrow-candidates,
7887 ;;    icicle-remove-buffer-config, icicle-remove-saved-completion-set,
7888 ;;    icicle-reset-option-to-nil, icicle-save-string-to-variable, icicle-search,
7889 ;;    icicle-select-window, icicle-set-option-to-t, icicle-toggle-option:
7890 ;;      Use a specific history variable.
7891 ;; 2006/11/17 dadams
7892 ;;    Added: icicle-select-(frame|window), icicle-select-window-or-frame.
7893 ;; 2006/11/10 dadams
7894 ;;    icicle-mouse-candidate-action: read-event to swallow mouse up event.
7895 ;;    icicle-map-action:
7896 ;;      Don't use icicle-filter-alist - find string in icicle-candidates-alist.
7897 ;;      Unwind-protect to reselect minibuffer frame.  Don't bind case-fold-search.
7898 ;;    icicle-map: enable-recursive-minibuffers.
7899 ;; 2006/11/09 dadams
7900 ;;    icicle-nb-of-candidate-in-Completions: Redefined using binary search, for performance.
7901 ;;    icicle-toggle-ignored-space-prefix: Update doc string to use icicle-dispatch-C-^.
7902 ;;    icicle-search:
7903 ;;      Bind icicle-update-input-hook unconditionally, after icicle-search-regexp-scan.
7904 ;;    icicle-search-regexp-scan: Highlight up to icicle-search-highlight-threshold.
7905 ;;    icicle-search-highlight-all-input-matches:
7906 ;;      Only update input and highlight if icicle-search-highlight-all-current-flag.
7907 ;;    icicle-search-action:
7908 ;;      Don't use icicle-filter-alist - find string in icicle-candidates-alist.
7909 ;;    icicle-search-highlight-cleanup: Bind inhibit-quit to t.
7910 ;; 2006/11/07 dadams
7911 ;;    Added: icicle-toggle-highlight-all-current.
7912 ;; 2006/11/06 dadams
7913 ;;    icicle-search-action:
7914 ;;      Highlight icicle-current-input, not icicle-current-raw-input (not updated).
7915 ;;    Renamed icicle-search-highlight-all-flag to icicle-search-highlight-threshold.
7916 ;; 2006/11/05 dadams
7917 ;;    Added: icicle-search-regexp-scan.
7918 ;;    icicle-search:
7919 ;;      Added buffers arg.  Updated doc string.
7920 ;;      Use icicle-search-regexp-scan:  Scan each buffer in buffers.
7921 ;;                                      Add marker, not position, to icicle-candidates-alist.
7922 ;;      Go to candidate in its buffer.
7923 ;;      Added progress message.
7924 ;;    icicle-search-action: Pop to buffer of candidate (marker) and raise frame.
7925 ;;    icicle-occur:
7926 ;;      Added buffers arg.  Updated doc string.  Call icicle-search-highlight-cleanup.
7927 ;;    icicle-search-highlight-all-input-matches: set-buffer for each ov in dolist (minor opt.).
7928 ;;    icicle-search-highlight-cleanup: Added progress messages.  Minor optimization.
7929 ;; 2006/10/22 dadams
7930 ;;    icicle-complete-keys-action:
7931 ;;      Set last-nonmenu-event to non-mouse info, to ignore *Completions* click.
7932 ;;    icicle-complete-keys-1: Don't use a default value for completing-read.
7933 ;; 2006/10/21 dadams
7934 ;;    Added: icicle-insert-char.
7935 ;;    icicle-add-key+cmd: Respect icicle-complete-keys-self-insert-flag.
7936 ;; 2006/10/20 dadams
7937 ;;    icicle-map, icicle-delete-window: Corrected doc string.
7938 ;; 2006/10/16 dadams
7939 ;;    icicle-add-key+cmd: Protect :enable's eval with condition-case.
7940 ;;    icicle-complete-keys-1:
7941 ;;      No longer use icicle-extra-candidates.
7942 ;;      Use default value of .. for completing-read (except at top level).
7943 ;;    icicle-complete-keys-action: Correct no-match case: must match whole and part.
7944 ;;    icicle-keys+cmds-w-prefix: Add .. to icicle-complete-keys-alist unless at top level.
7945 ;; 2006/10/15 dadams
7946 ;;    icicle-complete-keys:
7947 ;;      Bind icicle-complete-keys-action, not icicle-complete-keys-help, to icicle-*-action-fn.
7948 ;;      Bind orig-buff, orig-window, and icicle-completing-keys-p, for use elsewhere.
7949 ;;    Added: icicle-complete-keys-action using code from icicle-complete-keys.
7950 ;;    icicle-complete-keys-action:
7951 ;;      Use orig-buff and orig-window; restore to originally selected window.
7952 ;;      Error if candidate doesn't match template xxx  =  yyy.
7953 ;;    icicle-complete-keys-1:
7954 ;;      Call icicle-complete-keys-action on chosen candidate.
7955 ;;    icicle-help-on-candidate: Treat key completion also.
7956 ;;    Added from cus-edit+.el: custom-variable-p.
7957 ;;    Moved to icicles-mode.el: icicle-select-minibuffer-contents, next-history-element.
7958 ;;    Moved here from icicles-mode.el: icicle-generic-S-tab.
7959 ;;    icicle-generic-S-tab (bug fix): Do not set last-command to icicle-apropos-complete.
7960 ;;    Added: eval-when-compile's.
7961 ;; 2006/10/13 dadams
7962 ;;    icicle-add-key+cmd:
7963 ;;      Add actual key to icicle-complete-keys-alist.  Thx to Stefan Monnier.
7964 ;;      Don't filter out index (Imenu) keymap.
7965 ;;      Treat :enable condition.
7966 ;;    icicle-complete-keys-1:
7967 ;;      Use actual key recorded in icicle-*-keys-alist. Don't convert to key description.
7968 ;;      Treat digit-argument and negative-argument.
7969 ;;    icicle-complete-keys-alist: Updated doc string for new structure.
7970 ;; 2006/10/08 dadams
7971 ;;    Added: icicle-add-key+cmd, icicle-read-single-key-description.
7972 ;;    Added: icicle-complete-keys-alist.
7973 ;;           Use in icicle-complete-keys-1, icicle-keys+cmds-w-prefix, icicle-add-key+cmd.
7974 ;;    icicle-add-key+cmd: Update binding, depending on its type (menu item etc.).
7975 ;;      Push (cons candidate binding), not just candidate, onto icicle-complete-keys-alist.
7976 ;;    icicle-complete-keys-1:
7977 ;;      Use binding, not just command name.  Call it and put it in (this|last)-command.
7978 ;;      Flipped (corrected) use of icicle-key-descriptions-use-<>-flag.
7979 ;;      Use icicle-read-single-key-description.
7980 ;;    icicle-prefix-keys-first-p, icicle-complete-keys-1, icicle-complete-keys-help,
7981 ;;      icicle-keys+cmds-w-prefix: Don't use icicle-list-*-string.
7982 ;; 2006/10/05 dadams
7983 ;;    icicle-complete-keys-1: Remove icicle-special-candidate property from all candidates.
7984 ;;    icicle-keys+cmds-w-prefix:
7985 ;;      Intern candidate and, if local binding, put icicle-special-candidate property on it.
7986 ;;      Use single string for candidate (don't use multi-completion).
7987 ;; 2006/10/03 dadams
7988 ;;     icicle-complete-keys-1: Treat "..".
7989 ;;     icicle-complete-keys: Updated doc string accordingly.
7990 ;;     icicle-prefix-keys-first-p: ".." is less than all other strings.  Don't hard-code "= ".
7991 ;;     icicle-keys+cmds-w-prefix:
7992 ;;       Filtered out shadowed bindings, icicle-generic-S-tab, and icicle-complete-keys.
7993 ;;       Use only map-keymap & lookup-key, not accessible-keymaps, current-active-maps,
7994 ;;         map-keymap.
7995 ;; 2006/10/01 dadams
7996 ;;     icicle-complete-keys: Bind sort functions, to put prefix keys first, by default.
7997 ;;                           Set last-command, before recursing.
7998 ;;     Replaced icicle-alternative-sort with icicle-toggle-alternative-sorting (new).
7999 ;;     icicle-(apropos|prefix)-complete-1:
8000 ;;       Ensure icicle-(current|last)-input are strings, before compare.
8001 ;;     icicle-keys+cmds-w-prefix: Tolerate empty local and global maps.
8002 ;; 2006/09/30 dadams
8003 ;;     Added: icicle-read-kbd-macro, icicle-edmacro-parse-keys, icicle-toggle-angle-brackets.
8004 ;;     icicle-complete-keys-1, icicle-dabbrev-completion:
8005 ;;       key-description -> icicle-key-description, with icicle-key-descriptions-use-<>-flag.
8006 ;;     icicle-complete-keys-1:
8007 ;;       read-kbd-macro -> icicle-read-kbd-macro, with icicle-key-descriptions-use-<>-flag.
8008 ;;       Got rid of extra space in prompt before colon, when no prefix.
8009 ;;     icicle-keys+cmds-w-prefix: Use single-key-description with icicle-*-use-<>-flag.
8010 ;;     icicle-insert-key-description:
8011 ;;       Change arg to a toggle, and use icicle-key-descriptions-use-<>-flag.
8012 ;;     Bind icicle-candidate-set-(retrieve|save) to C-M-<, C-M->, not C-<, C->.
8013 ;;     icicle-dired-saved-file-candidates*:
8014 ;;       Changed doc strings and messages to use dynamic binding of icicle-candidate-set-save.
8015 ;; 2006/09/24 dadams
8016 ;;     Added: icicle-complete-keys-help.
8017 ;;     icicle-complete-keys:
8018 ;;       Bind icicle-*-action-fn to icicle-complete-keys-help.  Mention help keys in docstring.
8019 ;;     icicle-complete-keys-1:
8020 ;;       Set last-command to command, so completion doesn't think candidate was last-command.
8021 ;;     icicle-keys+cmds-w-prefix: Provide placeholder for future use of generic characters.
8022 ;; 2006/09/23 dadams
8023 ;;     icicle-complete-keys-1:
8024 ;;       Error if there are no keys for the prefix.
8025 ;;       Error, not self-insert-command, for key read-kbd-macro can't convert. condition-case.
8026 ;;       Report error if calling cmd fails.
8027 ;;       Use vconcat for recursive call.
8028 ;;       Read cmd, don't intern it - it might be a lambda or byte-compiled function.
8029 ;;       Remove duplicates.
8030 ;;       Provide KEYS arg to call-interactively, for error reporting.
8031 ;;       Don't bind icicle-must-not-match-regexp to "^Character set .*=  self-insert-command".
8032 ;;     icicle-keys+cmds-w-prefix:
8033 ;;       Treat also local keymap and current minor maps.
8034 ;;       Do nothing if keys+maps is nil.
8035 ;;       Only map-keymap if the target is a keymap.
8036 ;;       Use keymapp, not functionp, as the binding test.
8037 ;;       Only add binding if it is a command or keymap.
8038 ;;       Only add self-insert-command binding if the key is char-valid-p.
8039 ;;       Use format %S, not %s for a command binding.
8040 ;;     icicle-insert-key-description: Added no-angle-brackets-p arg.
8041 ;; 2006/09/22 dadams
8042 ;;     icicle-complete-keys-1:
8043 ;;       Filter out keys described "Character set ...= self-insert-command".
8044 ;; 2006/09/20 dadams
8045 ;;     icicle-complete-keys-1: Treat self-insert-command specially.
8046 ;; 2006/09/17 dadams
8047 ;;     Added: icicle-complete-keys(-1), icicle-*-keys-prefix, icicle-keys+cmds-w-prefix,
8048 ;;     icicle-doc: Removed one \n from each candidate.
8049 ;; 2006/09/12 dadams
8050 ;;     Renamed icicle-switch-to-minibuffer to icicle-insert-completion.
8051 ;;     Added: icicle-switch-to/from-minibuffer.
8052 ;;     icicle-completion-help: Keep focus in the minibuffer after displaying help.
8053 ;; 2006/09/02 dadams
8054 ;;     icicle-help-on-(next|previous)-(apropos|prefix)-candidate,
8055 ;;       icicle-(next|previous)-(apropos|prefix)-candidate-action:
8056 ;;       Use save-selected-window, not save-window-excursion.
8057 ;;     icicle-find-file*: In Dired, ignore errors picking up current-line's file name.
8058 ;;     icicle-mouse-choose-completion: Error if minibuffer is not active.
8059 ;; 2006/08/27 dadams
8060 ;;     icicle-abort-minibuffer-input: If minibuffer not active, just kill buffer *Completions*.
8061 ;;     icicle-execute-extended-command-1, icicle-insert-thesaurus-entry, icicle-search-action:
8062 ;;       Ensure orig-window is live before using it.
8063 ;; 2006/08/23 dadams
8064 ;;     Added: icicle-delete-window(s).
8065 ;;     Added soft require of frame-cmds.el.
8066 ;; 2006/08/22 dadams
8067 ;;     icicle-execute-extended-command-1: Bind this-command, don't set it (fixes C-next).
8068 ;;     icicle-help-on-candidate: If no last candidate, then reset to first matching candidate.
8069 ;;     icicle-*-candidate-action, icicle-help-on-*-candidate: save-window-excursion.
8070 ;; 2006/08/20 dadams
8071 ;;     icicle-find-file*: Use diredp-find-a-file* in Dired mode (Emacs 22 or later).
8072 ;;     Bug fix: icicle-candidate-action: Use icicle-*-candidates, not icicle-next-*-candidate.
8073 ;;              icicle-next-*-candidate(-action): Set icicle-current-completion-mode.
8074 ;; 2006/08/18 dadams
8075 ;;     Added: icicle-Info-goto-node(-(action|cmd)).
8076 ;;     icicle-candidate-action: If no icicle-last-completion-candidate, use first candidate.
8077 ;; 2006/08/15 dadams
8078 ;;     Added: icicle-help-on-*-*-candidate,icicle-mouse-help-on-candidate.
8079 ;;     No longer put icicle-candidate-action-command property on symbols (not used).
8080 ;;     Added: icicle-raise-Completions-frame.
8081 ;;     icicle*-candidate-action, icicle-help-on-candidate: Use icicle-raise-Completions-frame.
8082 ;;     icicle-help-on-candidate: Can use it from *Completions* too now.
8083 ;;                               Use icicle-barf-if-outside-Completions-and-minibuffer.
8084 ;; 2006/08/13 dadams
8085 ;;     Added: icicle-Info-index(-(action|cmd)).
8086 ;; 2006/08/04 dadams
8087 ;;     icicle-*-complete-1, icicle-prefix-word-complete, icicle-keep-only-past-inputs:
8088 ;;       Set icicle-last-completion-command to the explicit command, not this-command.
8089 ;;     icicle-history: Call icicle-last-completion-command, not icicle-apropos-complete.
8090 ;;     icicle-apropos-complete-1, icicle-narrow-candidates:
8091 ;;       Removed binding of icicle-apropos-completing-p (not used).
8092 ;;     Added: icicle-plist, icicle-remove-Completions-window, icicle-pp-eval-expression.
8093 ;;     Added soft require of pp+.el.
8094 ;;     icicle-exit-minibuffer, icicle-minibuffer-complete-and-exit,
8095 ;;       icicle-mouse-choose-completion, icicle-abort-minibuffer-input,
8096 ;;       icicle-(apropos|prefix)-complete-1, icicle-keep-only-past-inputs,
8097 ;;       icicle-insert-thesaurus-entry-cand-fn: Use icicle-remove-Completions-window.
8098 ;;     icicle-doc: Treat doc of faces also.
8099 ;;     icicle-non-whitespace-string-p: Added doc string.
8100 ;; 2006/08/03 dadams
8101 ;;     Added:
8102 ;;       icicle-comint-command, icicle-insert-kill, icicle-insert-for-yank,icicle-yank-insert.
8103 ;;     Bound icicle-comint-command to C-c TAB in comint-mode.
8104 ;;     icicle-search, icicle-comint-search: Cleaned up doc string.
8105 ;; 2006/08/02 dadams
8106 ;;     icicle-comint-search: Mention *-prompt-pattern.  Thx to Kevin Rodgers.
8107 ;;     icicle-insert-string-from-variable: Added more variables to the completing-read alist.
8108 ;; 2006/07/29 dadams
8109 ;;     Added: icicle-dispatch-C-., toggle-icicle-search-cleanup, icicle-toggle-search-cleanup.
8110 ;; 2006/07/23 dadams
8111 ;;     Added: icicle-toggle-transforming.
8112 ;;     icicle-comint-search: Bind icicle-transform-function to icicle-remove-duplicates.
8113 ;; 2006/07/22 dadams
8114 ;;     Added: icicle-comint-search, icicle-comint-send-input, icicle-comint-get-*-input,
8115 ;;            icicle-comint-get-final-choice, icicle-search-generic.
8116 ;;     icicle-search: Added require-match arg for non-interactive calls.
8117 ;;                    Run the hooks if no match and no match required, and if we didn't cycle.
8118 ;;                    Return final choice as value (not used yet).
8119 ;;     icicle-insert-string-from-variable: Use buffer-local value of variable, if there is one.
8120 ;;     icicle-insert-string-from-variable:
8121 ;;       Make sure we use the buffer-local value of the variable, if there is one
8122 ;;       Added comint-prompt-regexp to regexp list.
8123 ;;     Added mode hooks for icicle-compilation-search and icicle-comint-send-input.
8124 ;; 2006/07/20 dadams
8125 ;;     Renamed icicle-arrows-respect-* to icicle-cycling-respects-completion-mode-flag.
8126 ;; 2006/07/19 dadams
8127 ;;     Applied patch from Damien Elmes <emacs@repose.cx>:
8128 ;;       Added: icicle-(next|previous)-context-candidate, icicle-scroll-completions.
8129 ;;       icicle-switch-to-completions, icicle-switch-to-Completions-buf,
8130 ;;         icicle-move-to-next-completion, icicle-map-action, icicle-search-action:
8131 ;;           Use icicle-start-of-completions.
8132 ;;       icicle-(apropos|prefix)-complete-1:
8133 ;;         Set icicle-current-completion-type vs use icicle-arrows-respect-*-flag.
8134 ;;         Use icicle-scroll-completions.
8135 ;;       icicle-current-completion-in-Completions: Use point-min if no previous prop change.
8136 ;;       icicle-keep-only-past-inputs: Use icicle-scroll-completions.
8137 ;;     Renamed icicle-start-of-completions to icicle-start-of-candidates-in-Completions,
8138 ;;             icicle-current-completion-type to icicle-current-completion-mode,
8139 ;;             icicle-*-context-candidate to icicle-(next|previous)-candidate-per-mode,
8140 ;;             icicle-scroll-completions to icicle-scroll-Completions.
8141 ;;     icicle-(next|previous)-context-candidate: Use icicle-barf-if-outside-minibuffer.
8142 ;;     icicle-scroll-Completions: Changed with-selected-window to Emacs 20 equivalent.
8143 ;; 2006/07/18 dadams
8144 ;;     icicle-search: Bind completion-ignore-case to case-fold-search.
8145 ;;     icicle-search-highlight-all-input-matches, icicle-search-action:
8146 ;;       Put search inside condition-case, for bad regexp.
8147 ;;     Added: icicle-toggle-case-sensitivity, toggle-icicle-case-sensitivity.
8148 ;; 2006/07/10 dadams
8149 ;;     Added: icicle-search-region.  Use in search functions.  Thx to Le Wang.
8150 ;; 2006/07/08 dadams
8151 ;;     icicle-search-highlight-all-input-matches: Use *-current-*, not *-current-raw-*.
8152 ;;     icicle-execute-extended-command-1:
8153 ;;       First try a string candidate as arg, then read it to convert it to symbol or number.
8154 ;;       Reset focus back to the minibuffer, in action function.
8155 ;; 2006/07/07 dadams
8156 ;;     Added: icicle-alternative-sort.
8157 ;;     icicle-imenu: Show *Completions* initially for submenu choice (only).
8158 ;;     icicle-execute-extended-command:
8159 ;;       Echo prefix arg in prompt.  Thx: *.dhcp.mdsn.wi.charter.com
8160 ;; 2006/07/06 dadams
8161 ;;     Added (eval-when-compile (require 'icicles-mac)).
8162 ;; 2006/07/05 dadams
8163 ;;     Renamed: icicle-current-regexp-input to icicle-current-raw-input.
8164 ;;     icicle-prefix-complete-1: Don't set icicle-current-raw-input.
8165 ;; 2006/07/04 dadams
8166 ;;     icicle-prefix-complete-1: No longer calculate common prefix and set current input to it.
8167 ;;     Added plist entries to categorize commands:
8168 ;;       icicle-(cycling|completing|candidate-action)-command.
8169 ;;     icicle-(apropos|prefix)-complete-1, icicle-prefix-word-complete,
8170 ;;     icicle-switch-to-Completions-buf, icicle-keep-only-past-inputs, icicle-history:
8171 ;;       Use icicle-cycling-command property.
8172 ;;     icicle-apropos-complete-1: Removed regexp-p arg in call to icicle-save-or-restore-input.
8173 ;; 2006/07/03 dadams
8174 ;;     icicle-(apropos|prefix)-complete-1: deactivate mark after inserting current input.
8175 ;; 2006/06/18 dadams
8176 ;;     icicle-apropos-complete-1, icicle-narrow-candidates: Bind icicle-apropos-completing-p.
8177 ;; 2006/06/09 dadams
8178 ;;     Bug fixes: Picked up matching subdir as default dir, even if there other files match.
8179 ;;                  Thx to Andrey Zhdanov.
8180 ;;                Empty directory not treated as a match.
8181 ;;     icicle-(apropos|prefix)-complete-1:
8182 ;;       If input matches an empty directory, then use that directory as the sole completion.
8183 ;;       Do not expand file-name input before call icicle-file-name-*-candidates.
8184 ;;     icicle-retrieve-last-input: Use insert, not icicle-insert-input (no longer used).
8185 ;;                                 (Input backslashes reverted to slashes.)
8186 ;; 2006/06/08 dadams
8187 ;;     Bug fix: Could not complete after cycling file names.  Thx to Andrey Zhdanov.
8188 ;;     icicle-insert-input: Use icicle-expand-file-name.
8189 ;;     icicle-prefix-complete-1:
8190 ;;       Expand file-name input before call icicle-file-name-prefix-candidates.
8191 ;;       Expand icicle-last-completion-candidate if it is a directory name.
8192 ;; 2006/05/30 dadams
8193 ;;     icicle-erase-minibuffer-or-history-element: Fix for consecutive deletions.
8194 ;; 2006/05/26 dadams
8195 ;;     Added: icicle-erase-minibuffer-or-history-element.
8196 ;; 2006/05/19 dadams
8197 ;;     Renamed icicle-inhibit-reminder* to icicle-reminder*.
8198 ;;     icicle-narrow-candidates: Bind icicle-reminder-prompt-flag to nil, not t.
8199 ;; 2006/05/16 dadams
8200 ;;     Added: icicle-kill(-a)-buffer.
8201 ;; 2006/05/15 dadams
8202 ;;     Renamed: icicle-completion-nospace-flag to icicle-ignore-space-prefix-flag.
8203 ;;     icicle-candidate-set-complement: Put back icicle-ignore-space-prefix-flag.
8204 ;;     icicle-buffer(-other-window): Bind icicle-buffer-ignore-space-prefix-flag.
8205 ;;     Added: icicle-toggle-ignored-space-prefix, toggle-icicle-ignored-space-prefix.
8206 ;; 2006/05/13 dadams
8207 ;;     icicle-occur: Make icicle-search-main-regexp-others unnoticeable instead of
8208 ;;                   setting icicle-search-highlight-all-flag to nil.
8209 ;;     icicle-candidate-set-complement: Use nil, not icicle-completion-nospace-flag.
8210 ;;     Renamed: icicle-search-imenu to icicle-imenu,
8211 ;;              icicle-search-imenu-in-buffer-p to icicle-imenu-in-buffer-p.
8212 ;; 2006/05/12 dadams
8213 ;;     icicle-search-imenu: Remove unmatched submenus.  Error if no imenu for the buffer.
8214 ;;     Added: icicle-search-imenu-in-buffer-p.
8215 ;;     icicle-insert-string-at-point: Use icicle-barf-if-outside-minibuffer.
8216 ;;     Moved to icicles-fn.el: icicle-barf-if-outside-*.
8217 ;;     Moved some commands to minibuffer-cmds section from top-level cmds section.
8218 ;; 2006/05/09 dadams
8219 ;;     Added: icicle-customize-icicles-group, icicle-send-bug-report, icicle-customize-button.
8220 ;; 2006/04/30 dadams
8221 ;;     Added: icicle-map, icicle-map-action.
8222 ;;     icicle-filter-alist: Corrected and simplified.
8223 ;;     icicle-search: Corrected cand-nb adjustment when cycle with action fns.
8224 ;;     Renamed: icicle-search-action-fn to icicle-search-action,
8225 ;;              icicle-search-candidates to icicle-candidates-alist.
8226 ;; 2006/04/28 dadams
8227 ;;     icicle-retrieve-last-input, icicle-(apropos|prefix)-complete-1:
8228 ;;       Use icicle-highlight-initial-whitespace.
8229 ;; 2006/04/25 dadams
8230 ;;     icicle-completion-help: Emacs 21.3's help-insert-xref-button signature is different.
8231 ;; 2006/04/16 dadams
8232 ;;     Added: icicle-search-imenu.
8233 ;;     icicle-search: Bug fixes:
8234 ;;       Treat completion without cycling: error or singleton go-to.
8235 ;;       Only subtract one from candidate number for C- cycling, not regular cycling.
8236 ;; 2006/04/14 dadams
8237 ;;     icicle-search:
8238 ;;       Bug fix: Position was off by one.
8239 ;;       Highlight input match inside each main regexp match (or not).
8240 ;;         Bind icicle-update-input-hook and icicle-incremental-completion-flag.
8241 ;;       Extract code to define icicle-search-action-fn.
8242 ;;       Use icicle-search-candidates instead of local variable search-candidates.
8243 ;;       Respect icicle-search-cleanup-flag.
8244 ;;     Added: icicle-search-highlight-*, icicle-search-action-fn,
8245 ;;            icicle-(insert|save)-text-(from|to)-variable.
8246 ;;     Renamed icicle-search-refined-regexp to icicle-search-current-input.
8247 ;; 2006/04/09 dadams
8248 ;;     icicle-(apropos|prefix)-complete-1: Deal with icicle-arrows-respect-*-flag.
8249 ;;     Moved here from icicles-fn.el: icicle-customize-apropos*, icicle-repeat-complex-command.
8250 ;; 2006/04/07 dadams
8251 ;;     icicle-search: Highlight all occurrences at once (like isearch highlight, but not lazy).
8252 ;;                    Error if no match for initial regexp.
8253 ;;     icicle-occur: Bind icicle-search-highlight-all-flag to nil: don't highlight each line.
8254 ;; 2006/04/02 dadms
8255 ;;     Added: icicle-toggle-regexp-quote, icicle-find-file*-w-wildcards.
8256 ;;     icicle-find-file*: Use icicle-find-file*-w-wildcards.
8257 ;; 2006/03/31 dadams
8258 ;;     icicle-search: Wrap action function with unwind-protect to select minibuffer frame.
8259 ;;                    Use completion-ignore-case when highlighting search hits.
8260 ;;                    Protect delete-overlay with overlayp.
8261 ;;                    Turn off region highlighting (so can see highlighting done here).
8262 ;;                    Removed sit-for-period argument.
8263 ;;     icicle-candidate-set-save: Use prin1 instead of pp.
8264 ;; 2006/03/27 dadams
8265 ;;     Added: icicle-occur.
8266 ;;     icicle-search: Highlight also match of current regexp, inside that of regexp arg.
8267 ;;                    Use new faces icicle-search-*-regexp.
8268 ;;     icicle-search, icicle-switch-to-Completions-buf, icicle-move-to-next-completion:
8269 ;;       Use new, generic icicle-place-overlay.
8270 ;;     Removed icicle-place-search-overlay.
8271 ;; 2006/03/26 dadams
8272 ;;     icicle-search: Use icicle-search-overlay.  Ensure don't match twice at same position.
8273 ;;                    Added regexp arg.  Use 0 as sit-for default.
8274 ;;     Added: icicle-place-search-overlay.
8275 ;; 2006/03/25 dadams
8276 ;;     icicle-prefix-complete: Minor bug fix: Don't save try-completion if not a string.
8277 ;;     icicle-candidate-set-(save|retrieve): Allow use of a variable to save/retrieve.
8278 ;;     Added: icicle-candidate-set-(retrieve-from|save-to)-variable, icicle-*-no-display,
8279 ;;            icicle-prefix-complete-1.
8280 ;;     icicle-apropos-complete-1: Added no-display-p optional arg.
8281 ;;     Use no-display-p arg in calls to icicle-display-candidates-in-Completions.
8282 ;;     icicle-candidate-set-(retrieve-from|save-to)-cache-file: Pass a consp, not t.
8283 ;;     icicle-candidate-set-retrieve: Don't display *Completions*.
8284 ;; 2006/03/24 dadams
8285 ;;     Added icicle-delete-char.
8286 ;; 2006/03/23 dadams
8287 ;;     icicle-candidate-set-define: Rewrote.  Can also use at top level.
8288 ;;       Error if wrong result type.  Sort result.  Use display-completion-list and
8289 ;;       icicle-narrow-candidates (unless at top level).
8290 ;;     icicle-narrow-candidates: Can call from top-level (but not interactively).
8291 ;;     icicle-candidate-set-complement: Use icicle-maybe-sort-and-strip-candidates.
8292 ;;     Mention in doc strings of minibuffer and *Completions* functions: where, key.
8293 ;; 2006/03/22 dadams
8294 ;;     icicle-find-file*: Use default-directory as default, so opens directory on empty input.
8295 ;;     icicle-prefix-complete:
8296 ;;       Save icicle-current-regexp-input.
8297 ;;       Set icicle-current-input to common prefix.  Use it everywhere here.
8298 ;;     Calls to icicle-display-candidates-in-Completions: no root arg now.
8299 ;; 2006/03/21 dadams
8300 ;;     icicle-insert-input: Bug fix: Use directory of input, not default-directory.
8301 ;;                                   Append a slash if input itself is a directory.
8302 ;; 2006/03/20 dadams
8303 ;;     icicle-retrieve-last-input: Insert icicle-current-regexp-input if repeat C-l.
8304 ;;     Added: icicle-insert-input.
8305 ;; 2006/03/19 dadams
8306 ;;     icicle-apropos-complete-1: Call icicle-save-or-restore-input with non-nil regexp-p arg.
8307 ;; 2006/03/17 dadams
8308 ;;     Added: icicle-add/update-saved-completion-set, icicle-remove-saved-completion-set,
8309 ;;            icicle-retrieve-candidates-from-set.
8310 ;;     Removed: icicle-cache-file.
8311 ;;     icicle-candidate-set-retrieve: Read candidates set and use its cache file.
8312 ;;                                    Enable recursive minibuffers.
8313 ;;     icicle-candidate-set-save: Read candidates set and cache-file names.
8314 ;;                                Use icicle-add/update-saved-completion-set.
8315 ;;     icicle-barf-if-outside-minibuffer: Move interactive test to calling functions.
8316 ;;     icicle-files-within: Moved to icicle-fn.el.
8317 ;; 2006/03/16 dadams
8318 ;;     Added: icicle*-saved-completion-set.
8319 ;; 2006/03/14 dadams
8320 ;;     icicle-narrow-candidates: Handle no-catch error.  Don't use icicle-completing-p.
8321 ;;     icicle-candidate-set-complement:
8322 ;;       Do what we do in icicle-candidate-set-retrieve: call icicle-narrow-candidates.
8323 ;;     icicle-candidate-set-(retrieve|complement): Msg when display.
8324 ;;     icicle-(apropos|prefix)-complete-1:
8325 ;;       Removed test for last-command = icicle-candidate-set-complement.
8326 ;; 2006/03/13 dadams
8327 ;;     Added: icicle-candidate-set-(retrieve-from|save-to)-cache-file.
8328 ;;     icicle-candidate-set-(retrieve|save): C-u uses cache file.
8329 ;; 2006/03/12 dadams
8330 ;;     Added: icicle-dired-saved-file-candidates(-other-window), icicle-locate-file*,
8331 ;;            icicle-files-within.
8332 ;; 2006/03/11 dadams
8333 ;;     icicle-find-file*, icicle-delete-file*:
8334 ;;       Reverted to simple form (moved directory control to icicles-mac.el).
8335 ;;     icicle-keep-only-past-inputs: Expand file name relative to directory of last input.
8336 ;; 2006/03/10 dadams
8337 ;;     icicle-find-file*, icicle-delete-file*: Expand file name relative to dir of last input.
8338 ;;     Renamed icicle-minibuffer-contents to icicle-minibuffer-contents-from-minibuffer.
8339 ;; 2006/03/09 dadams
8340 ;;     icicle-barf-if-outside-*: Removed argument - use this-command instead.
8341 ;; 2006/03/08 dadams
8342 ;;     icicle-bookmark: Use default value, not init value, for completing-read.
8343 ;; 2006/03/07 dadams
8344 ;;     icicle-doc: Save table in minibuffer-completion-table, so can access via C-RET too.
8345 ;;     icicle-insert-thesaurus-entry, icicle-*doc:
8346 ;;       Removed binding of icicle-incremental-completion-flag to nil.
8347 ;;     Added: icicle-barf-if-outside-(minibuffer|Completions).  Use in appropriate commands.
8348 ;;     Added: icicle-non-whitespace-string-p.  Use in icicle-*doc.
8349 ;; 2006/03/06 dadams
8350 ;;     Update doc strings of *-thesaurus*.
8351 ;; 2006/03/05 dadams
8352 ;;     Added: icicle-toggle-incremental-completion, toggle-icicle-incremental-completion.
8353 ;; 2006/03/03 dadams
8354 ;;     icicle-*doc: Clarified doc strings.  Updated prompts.
8355 ;;     Added: icicle-help-button.  Use in icicle-completion-help.
8356 ;; 2006/03/02 dadams
8357 ;;     icicle-insert-thesaurus-entry, icicle-complete-thesaurus-entry:
8358 ;;       Use synonyms-ensure-synonyms-read-from-cache.  Clarified doc strings.
8359 ;;     icicle-complete-thesaurus-entry: Error if no word at point.  Correct looking-at regexp.
8360 ;; 2006/03/01 dadams
8361 ;;     Added: icicle-insert-thesaurus-entry, icicle-insert-thesaurus-entry-cand-fn,
8362 ;;            icicle-complete-thesaurus-entry.
8363 ;;     icicle-(previous|next)-(apropos|prefix)-candidate-action: Wrap in save-excursion.
8364 ;;     Use icicle-clear-minibuffer instead of icicle-erase-minibuffer non-interactively.
8365 ;;     icicle-erase-minibuffer: Use icicle-call-then-update-Completions.
8366 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8367 ;;
8368 ;;; Code:
8369
8370 ;; You need not load this file.  It contains only documentation.
8371
8372 (provide 'icicles-chg)
8373
8374 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8375 ;;; icicles-chg.el ends here