Update icicles
[emacs.git] / .emacs.d / elisp / icicle / 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 (concat "drew.adams" "@" "oracle" ".com")
7 ;; Copyright (C) 2007-2015, Drew Adams, all rights reserved.
8 ;; Created: Tue Nov 27 07:47:53 2007
9 ;; Last-Updated: Sun Feb 8 09:10:13 2015 (-0800)
10 ;; By: dradams
11 ;; Update #: 11394
12 ;; URL: http://www.emacswiki.org/icicles-chg.el
13 ;; Doc URL: http://www.emacswiki.org/Icicles
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, 24.x, 25.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 ;; This is a long file. To fontify it, you will likely need to
37 ;; increase `font-lock-maximum-size'. (I use the value 1024000.)
38 ;;
39 ;; ****************************************************************************************************
40 ;; NOTE: If you byte-compile Icicles (recommended), then WHENEVER `icicles-mac.el' is updated, you
41 ;; MUST LOAD `icicles-mac.el' (not just `icicles-mac.elc'), then compile it, then RECOMPILE *ALL*
42 ;; of the other Icicles source files as well. This is normal for Lisp. Code that depends on
43 ;; macros needs to be byte-compiled anew after loading the updated macros.
44 ;; ****************************************************************************************************
45 ;;
46 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
47 ;;
48 ;; This program is free software; you can redistribute it and/or
49 ;; modify it under the terms of the GNU General Public License as
50 ;; published by the Free Software Foundation; either version 2, or
51 ;; (at your option) any later version.
52 ;;
53 ;; This program is distributed in the hope that it will be useful,
54 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
55 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
56 ;; General Public License for more details.
57 ;;
58 ;; You should have received a copy of the GNU General Public License
59 ;; along with this program; see the file COPYING. If not, write to
60 ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
61 ;; Floor, Boston, MA 02110-1301, USA.
62 ;;
63 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
64
65 ;;(@> "Index")
66 ;;
67 ;; If you have library `linkd.el' and Emacs 22 or later, load
68 ;; `linkd.el' and turn on `linkd-mode' now. It lets you easily
69 ;; navigate around the sections of this doc. Linkd mode will
70 ;; highlight this Index, as well as the cross-references and section
71 ;; headings throughout this file. You can get `linkd.el' here:
72 ;; http://dto.freeshell.org/notebook/Linkd.html.
73 ;;
74 ;; (@> "CHANGE LOG FOR `icicles-cmd1.el'")
75 ;; (@> "CHANGE LOG FOR `icicles-cmd2.el'")
76 ;; (@> "CHANGE LOG FOR `icicles-face.el'")
77 ;; (@> "CHANGE LOG FOR `icicles-fn.el'")
78 ;; (@> "CHANGE LOG FOR `icicles-mac.el'")
79 ;; (@> "CHANGE LOG FOR `icicles-mcmd.el'")
80 ;; (@> "CHANGE LOG FOR `icicles-mode.el'")
81 ;; (@> "CHANGE LOG FOR `icicles-opt.el'")
82 ;; (@> "CHANGE LOG FOR `icicles-var.el'")
83 ;; (@> "CHANGE LOG FOR `icicles.el'")
84 ;; (@> "CHANGE LOG FOR `icicles-cmd.el'" - Deprecated file)
85
86 ;;;(@* "CHANGE LOG FOR `icicles-cmd1.el'")
87 ;;
88 ;; 2015/02/08 dadams
89 ;; icicle-bookmark-set: Soft-require Bookmark+ - don't test with featurep.
90 ;; Do not overwrite properties listed in option bmkp-properties-to-keep.
91 ;; 2014/12/15 dadams
92 ;; Added: icicle-bookmark(-local|-remote)-non-dir-file(-other-window).
93 ;; Added (commented out - not used yet): icicle-bookmark-non-dir-file-narrow.
94 ;; 2014/11/22 dadams
95 ;; icicle-buffer-multi-complete: Do not prepend ^ if TAB completion method is not basic.
96 ;; 2014/10/26 dadams
97 ;; For Emacs 25+: defalias icicle-ORIG-elisp-completion-at-point to elisp-completion-at-point.
98 ;; 2014/08/22 dadams
99 ;; icicle-file-of-content-apropos-complete-match: Update icicle-new-bufs-to-kill before searching.
100 ;; icicle-bookmark-jump-1: Better error if input BOOKMARK does not name an existing bookmark.
101 ;; 2014/08/21 dadams
102 ;; Added: icicle-bookmark-annotated-narrow.
103 ;; icicle-bookmark-bind-narrow-commands: Bind icicle-bookmark-annotated-narrow.
104 ;; 2014/08/19 dadams
105 ;; Added: icicle-bookmark-(dired-this-dir|dired-wildcards|navlist)-narrow.
106 ;; icicle-bookmark: Updated doc string for narrowing keys and to mention M-&.
107 ;; icicle-bookmark-bind-narrow-commands:
108 ;; Bind icicle-bookmark-*-narrow, for *:
109 ;; dired-(this-dir|wildcards)|function|icicle-search-hits|lighted|marked|modified|navlist|
110 ;; orphaned(-local|-remote)-file|sequence|snippet|tagged|variable-list
111 ;; icicle-bookmark-*-narrow: Use named predicates now, instead of lambdas.
112 ;; icicle-bookmark-url-narrow: Handle either kind of URL bookmark.
113 ;; icicle-bookmarked-(buffer|file)-list: Added optional arg MSGP.
114 ;; 2014/08/16 dadams
115 ;; icicle-customize-face(-other-window), icicle-face-list, icicle-customize-apropos-faces:
116 ;; Bind icicle-face-completing-p.
117 ;; icicle-customize-apropos: string-match -> icicle-string-match-p.
118 ;; Bug fix: 1st arg to icicle-string-matchp: if, not and.
119 ;; 2014/08/10 dadams
120 ;; Moved to icicles-fn.el (and modified): icicle-binary-option-p.
121 ;; icicle-apropos-variable: Bind icicle-variable-completing-p.
122 ;; icicle-bookmark(-other-window), icicle-bookmark-list: Bind icicle-bookmark-completing-p.
123 ;; icicle-apropos-variable: Bind icicle-variable-completing-p.
124 ;; 2014/08/06 dadams
125 ;; icicle-other-window-or-frame:
126 ;; C-u C-u is select win from any frame. C-u C-u C-u also choosed from all frames.
127 ;; icicle-select-window: Negative prefix arg means use all frames.
128 ;; icicle-choose-window-by-name: Negative prefix arg means use all frames. +/-99: do not select.
129 ;; icicle-make-window-alist: ALL-P can have value visible; other non-nil now means use all frames.
130 ;; 2014/08/04 dadams
131 ;; icicle-buffer-multi-complete: Filter with PRED.
132 ;; 2014/07/28 dadams
133 ;; Added new version of icicle-bbdb-complete-mail. Thx to Alan Schmitt for testing.
134 ;; 2014/07/14 dadams
135 ;; icicle-cd-for-loc-files: Bind enable-recursive-minibuffers.
136 ;; 2014/06/19 dadams
137 ;; icicle-explore: Added note to doc string about binding *-incremental-completion to always.
138 ;; 2014/06/06 dadams
139 ;; Added: icicle-choose-window-for-buffer-display, icicle-choose-window-by-name,
140 ;; icicle-read-choose-window-args.
141 ;; Advised: display-buffer, switch-to-buffer, switch-to-buffer-other-window.
142 ;; icicle-other-window-or-frame: C-u C-u does icicle-choose-window-for-buffer-display (Emacs 24+).
143 ;; icicle-select-window-by-name:
144 ;; Redefine using icicle-read-choose-window-args and icicle-choose-window-by-name.
145 ;; 2014/05/17 dadams
146 ;; icicle-shell-dynamic-complete-as-command, icicle-apropos-zippy, icicle-describe-process:
147 ;; with-output-to-temp-buffer -> icicle-with-help-window.
148 ;; 2014/05/09 dadams
149 ;; icicle-repeat-complex-command*: Use trick only for Emacs 24.4+.
150 ;; 2014/05/04 dadams
151 ;; Added: icicle-repeat-complex-command--called-interactively-skip.
152 ;; icicle-repeat-complex-command: Apply trick used to fix Emacs bug #14136.
153 ;; 2014/04/22 dadams
154 ;; icicle-apropos-*: Updated to use Emacs 24.4 apropos-user-option.
155 ;; 2014/04/20 dadams
156 ;; icicle-describe-option-of-type: Use the function icicle-anychar-regexp, not the variable.
157 ;; icicle-select-frame-by-name: Use frame-name-history if available.
158 ;; Removed some old $$$$$ comments (cleanup).
159 ;; 2014/04/01 dadams
160 ;; icicle-bookmark(-other-window|-list|-set):
161 ;; Faces icicle-annotation & icicle-msg-emphasis, not file-name-shadow & bookmark-menu-heading.
162 ;; 2014/03/09 dadams
163 ;; icicle-file(-other-window): Set this-command so user sees msgs appropriate to the command.
164 ;; 2014/03/08 dadams
165 ;; Use (featurep 'icomplete), not (boundp 'icomplete-mode), everywhere.
166 ;; icicle-execute-extended-command-1: Move run of pre-command-hook after binding of this-command.
167 ;; icicle-apropos-value, icicle-describe-option-of-type, *-find-file*-in-tags-table*:
168 ;; Put properties icicle-turn-off-(icomplete-mode|incremental-completion).
169 ;; icicle-(recent-file|find-file-abs)*: Put property icicle-hide-common-match.
170 ;; icicle-locate*: Put properties icicle-turn-off* and icicle-hide-common-match.
171 ;; icicle-find-file*(-in-tags-table*): Put property icicle-Completions-window-max-height.
172 ;; 2014/02/22 dadams
173 ;; icicle-lisp-complete-symbol: Fixed regression introduced by 2014-01-15 change:
174 ;; Max, not min, of point and BEG. If END is nil, use BEG for PATTERN. Go to BEG before insert.
175 ;; 2014/02/08 dadams
176 ;; icicle-find-file-(no-search|of-content)-action-1:
177 ;; Pass icicle-find-file-(no-search|of-content)-1 as arg, not icicle-find-file-action-fn.
178 ;; icicle-find-file-or-expand-dir: Use funcall, not call-interactively (not really a command).
179 ;; Use file-directory-p, not icicle-looks-like-dir-name-p.
180 ;; Use file-name-as-directory to get new default-directory.
181 ;; 2014/01/25 dadams
182 ;; icicle-bbdb-complete-name: Do not define if bbdb-version is not a number.
183 ;; 2014/01/18 dadams
184 ;; icicle-customize-face(-other-window): Handle proxy candidates in action function. Updated doc.
185 ;; 2014/01/15 dadams
186 ;; icicle-lisp-complete-symbol:
187 ;; Prevent read-only error message for empty input in minibuffer. Update a bit wrt vanilla.
188 ;; Wrap END calculation in unwind-protect also.
189 ;; 2014/01/08 dadams
190 ;; icicle-command-abbrev-action: Set CMD to the invoked command, using command-history.
191 ;; 2014/01/06 dadams
192 ;; icicle-apropos-value, icicle-command-abbrev: Bind icicle--last-toggle-transforming-msg.
193 ;; 2014/01/04 dadams
194 ;; icicle-locate-file-*-1: Typo: Mistakenly used recentf-list instead of default-directory.
195 ;; icicle-recent-file-*-1: Ensure recentf-list is boundp.
196 ;; 2014/01/02 dadams
197 ;; icicle-execute-extended-command(-1):
198 ;; Restore SPC correctly. If CMD turns off Icicle mode then not icicle-self-insert.
199 ;; 2013/12/09 dadams
200 ;; Added:
201 ;; icicle-find-file-of-content-in-tags-table, icicle-find-file-no-search-in-tags-table,
202 ;; icicle-find-file-of-content-in-tags-table-other-window,
203 ;; icicle-find-file-no-search-in-tags-table-other-window,
204 ;; icicle-find-file-of-content-in-tags-table-1, icicle-find-file-no-search-in-tags-table-1
205 ;; icicle-find-file-in-tags-table(-other-window): use defalias now - either of-content|no-search.
206 ;; Applied renamings: icicle-buffer-skip-hook to icicle-buffer-skip-functions,
207 ;; icicle-find-file-of-content-skip-hook to icicle-file-skip-functions.
208 ;; 2013/12/08 dadams
209 ;; Added:
210 ;; icicle-find-file-abs-action-fn, icicle-find-file-action-fn, icicle-new-bufs-to-keep,
211 ;; icicle-new-bufs-to-kill, icicle-existing-bufs,
212 ;; icicle-find-file-no-search-1 (from w/o *-1) using action fn (and same cleanup for undo),
213 ;; icicle-find-file-of-content-1 (from w/o *-1) using action fn,
214 ;; icicle-find-file-abs-no-search-1 (from w/o *-1) using action fn,
215 ;; icicle-find-file-abs-of-content-1 (from w/o *-1) using action fn,
216 ;; icicle-recent-file-no-search-1 (from w/o *-1) using action fn
217 ;; (& icicle-pref-arg, not curr, & same cleanup for undo),
218 ;; icicle-recent-file-of-content-1 (from w/o *-1) using action fn,
219 ;; icicle-locate-file-no-search-1 (from icicle-locate-file-1) using action fn (& same cleanup),
220 ;; icicle-locate-file-of-content-1,
221 ;; icicle-find-file-abs-read-only, icicle-find-file-abs-read-only-other-window,
222 ;; icicle-locate-file-no-search, icicle-locate-file-no-search-other-window,
223 ;; icicle-locate-file-no-search-no-symlinks,
224 ;; icicle-locate-file-no-search-no-symlinks-other-window,
225 ;; icicle-locate-file-of-content, icicle-locate-file-of-content-other-window,
226 ;; icicle-locate-file-of-content-no-symlinks,
227 ;; icicle-locate-file-of-content-no-symlinks-other-window,
228 ;; icicle-locate-no-search, icicle-locate-no-search-other-window,
229 ;; icicle-locate-of-content, icicle-locate-of-content-other-window,
230 ;; icicle-find-file-abs-no-search-action-1, icicle-find-file-abs-of-content-action-1,
231 ;; icicle-find-file-no-search-action-1, icicle-find-file-of-content-action-1,
232 ;; icicle-find-file-no-search-action, icicle-find-file-no-search-other-window-action,
233 ;; icicle-find-file-of-content-action, icicle-find-file-of-content-other-window-action,
234 ;; icicle-find-file-of-content-ro-action, icicle-find-file-of-content-ro-ow-action,
235 ;; icicle-find-file-abs-no-search-action, icicle-find-file-abs-no-search-other-window-action,
236 ;; icicle-find-file-abs-no-search-ro-action, icicle-find-file-abs-no-search-ro-ow-action,
237 ;; icicle-find-file-abs-of-content-action, icicle-find-file-abs-of-content-other-window-action,
238 ;; icicle-find-file-abs-of-content-ro-action, icicle-find-file-abs-of-content-ro-ow-action.
239 ;; icicle-(find-file(-abs)|recent-file|read-only)-(of-content|no-search)(-other-window):
240 ;; Redefined as a defun, using *-1 and *-action-fn.
241 ;; icicle-locate(-file)(-no-symlinks)(-other-window): defalias now - either of-content|no-search.
242 ;; Removed: icicle-locate-file-action-fn, icicle-locate-file(-other-window)-action,
243 ;; icicle-find-file-abs-1, icicle-locate-file-1.
244 ;; icicle-find-file(-abs)-read-only(-other-window): Define for *-abs-* and *-of-content-* also.
245 ;; icicle-buffer-multi-complete: Use new icicle-* vars, so do not bother to test with boundp.
246 ;; 2013/12/03 dadams
247 ;; Added: icicle-find-file-abs-1.
248 ;; icicle-find-file-abs-of-content(-other-window), icicle-recent-file-of-content(-other-window):
249 ;; Use icicle-find-file-abs-1.
250 ;; icicle-completing-yank: Typo - paren too early.
251 ;; 2013/12/01 dadams
252 ;; Added: icicle-recent-file-of-content, icicle-recent-file-of-content-other-window.
253 ;; Renamed: *-recent-file(-other-window) to icicle-recent-file-no-search(-other-window).
254 ;; Redefine icicle-recent-file(-other-window) as *-of-content* or *-no-search*, per Emacs version.
255 ;; icicle-execute-extended-command-1: Restore SPC to self inserting, for recursive minibuffers.
256 ;; icicle-find-file-abs-of-content: Pass nil as OTHER-WINDOW-P arg to *-find-file-or-expand-dir
257 ;; icicle-find-file(-abs)-of-content*:
258 ;; 1. Do the cleanup also for undo code, not just last code.
259 ;; 2. Just kill-buffer, instead of visiting and doing restore-buffer-modified-p first.
260 ;; 2013/11/29 dadams
261 ;; icicle-find-file(-abs)(-no-search|of-content)*, icicle-find-file-in-tags-table*:
262 ;; icicle-all-candidates-list-alt-action-fn needs to icicle-transform-multi-completion each file.
263 ;; 2013/11/26 dadams
264 ;; icicle-execute-extended-command: Temporarily bind SPC to minibuffer-complete-word.
265 ;; 2013/11/23 dadams
266 ;; Added: icicle-find-file-abs-of-content, icicle-find-file-abs-of-content-other-window.
267 ;; Renamed: *-find-file-absolute(-other-window) to icicle-find-file-abs-no-search(-other-window).
268 ;; Redefine icicle-find-file-absolute(-other-window) as *-no-search* or *-of-content*.
269 ;; icicle-find-file-of-content(-other-window):
270 ;; Just set FILE (no FIL2 binding).
271 ;; First code: Reset current-prefix-arg to nil, so can use it anew in action function.
272 ;; Added msg: Gathering files...
273 ;; icicle-file-of-content-apropos-complete-match:
274 ;; Handle date for absolute file names (icicle-find-file-abs-of-content).
275 ;; icicle-make-file+date-candidate: Removed final space after %T.
276 ;; 2013/11/19 dadams
277 ;; icicle-yank-pop-commands, icicle-completing-yank: Bind enable-recursive-minibuffers to t.
278 ;; 2013/11/03 dadams
279 ;; Added: icicle-visit-marked-file-of-content-recursive(-other-window),
280 ;; icicle-visit-marked-file-of-content-1, icicle-vmfoc-other-win-p, icicle-vmfoc-recursive-p
281 ;; icicle-visit-marked-file-of-content(-other-window): Use icicle-visit-marked-file-of-content-1.
282 ;; icicle-locate-file-no-symlinks: Fixed typo: action function is not *-other-window.
283 ;; 2013/10/31 dadams
284 ;; icicle-visit-marked-file-of-content*: Use diredp-get-files, so handle recursively marked files.
285 ;; 2013/10/29 dadams
286 ;; icicle-bookmark-cmd: Use bmkp-bookmark-set-confirm-overwrite, not bookmark-set, if defined.
287 ;; icicle-bookmark-set: Added code from Bookmark+ bookmark-set, for confirmation query if exists.
288 ;; 2013/10/27 dadams
289 ;; Added: icicle-custom-theme (Emacs 24+).
290 ;; 2013/09/02 dadams
291 ;; Added: icicle-dabbrev--last-completion-buffer, icicle-dabbrev--last-obarray.
292 ;; icicle-dabbrev-completion: Use those Icicles vars - dabbrev.el versions removed in Emacs 24.
293 ;; 2013/08/19 dadams
294 ;; icicle-kill-buffer: Bind icicle-use-candidates-only-once-flag to t.
295 ;; icicle-kill-a-buffer-and-update-completions: Do not update minibuffer-completion-table.
296 ;; 2013/08/05 dadams
297 ;; icicle-find-file-or-expand-dir: Reverted last change. Expand only for RET, not C-RET.
298 ;; 2013/08/04 dadams
299 ;; icicle-find-file-or-expand-dir: bind enable-recursive-minibuffers to t (for C-RET etc.).
300 ;; 2013/08/03 dadams
301 ;; icicle-kmacro-action: Fixed numeric prefix arg for count.
302 ;; Applied renamings: icicle-*-first-p.
303 ;; 2013/08/02 dadams
304 ;; Added: icicle-find-file-or-expand-dir.
305 ;; icicle-find-file(of-content|-no-search)(-other-window), : Use icicle-find-file-or-expand-dir.
306 ;; 2013/08/01 dadams
307 ;; icicle-comint-dynamic-complete-as-filename: Bind enable-recursive-minibuffers to t.
308 ;; 2013/07/29 dadams
309 ;; icicle-comint-dynamic-simple-complete: Bind enable-recursive-minibuffers to t.
310 ;; 2013/07/23 dadams
311 ;; icicle-buffer-multi-complete, icicle-describe-opt-of-type-complete:
312 ;; Use regexp-quote before concat ^ to front of string.
313 ;; 2013/07/04 dadams
314 ;; Use icicle-read-regexp, not read-string, for reading all regexps.
315 ;; 2013/07/02 dadams
316 ;; Added: icicle-bookmark-help (factored out), icicle-bookmark-act-on-prop.
317 ;; icicle-bookmark(-list|(-jump)(-other-window)):
318 ;; Bind icicle-candidate-alt-action-fn to icicle-bookmark-act-on-prop.
319 ;; icicle-bookmark(-set|list|-other-window|jump(-other-window)):
320 ;; Bind icicle-candidate-help-fn to icicle-bookmark-help.
321 ;; 2013/06/23 dadams
322 ;; icicle-find-file-of-content(-other-window): Ensure handle mode, vars, hooks, & handlers OK.
323 ;; In action fn: UN-visit any buffers that were created for content searching.
324 ;; 2013/04/24 dadams
325 ;; icicle-dired-saved-file-candidates:
326 ;; Removed error if no saved file names. Forgot to remove, when added icicle-file-list choosing.
327 ;; icicle-dired-saved-file-candidates(-other-window): Error if no files after icicle-file-list.
328 ;; 2013/04/17 dadams
329 ;; icicle-buffer-name-prompt, icicle-default-buffer-names: C-u C-u C-u means invisible buffers.
330 ;; icicle-kill-buffer: Add current buff to icicle-default-buffer-names.
331 ;; icicle-visit-marked-file-of-content*: Pass no arg to icicle-default-buffer-names.
332 ;; icicle-add-buffer-candidate: Single default if < Emacs 23.
333 ;; 2013/04/06 dadams
334 ;; icicle-default-buffer-names: If ARG is nil, put other-buffer first. Return up to six, not four.
335 ;; 2013/04/02 dadams
336 ;; Removed: icicle-ess-* (four Icicles completion functions for ESS).
337 ;; 2013/03/31 dadams
338 ;; icicle-buffer-name-prompt: (new) C-u C-u means visible buffer.
339 ;; icicle-buffer: Update doc string for visible buffers as candidates.
340 ;; 2013/03/27 dadams
341 ;; Do not require dabbrev for Emacs 24+ (until I get around to fixing icicle-dabbrev-completion).
342 ;; Temporarily removed icicle-dabbrev-completion for Emacs 24+.
343 ;; 2013/03/16 dadams
344 ;; custom-variable-p: Return nil if arg is not a symbol.
345 ;; icicle-buffer-multi-complete, icicle-(buffer|file-of-content)-apropos-complete-match:
346 ;; Test this-command, not last-command, and test it also for icicle-cycling-command.
347 ;; icicle-binary-option-p, icicle-buffer-multi-complete: Use icicle-get-safe, not get.
348 ;; 2013/03/12 dadams
349 ;; Added: icicle-buffer-cand-help (factored out).
350 ;; icicle-buffer(other-window), icicle-visit-marked-file-of-content(-other-window):
351 ;; Use icicle-buffer-cand-help.
352 ;; icicle-visit-marked-file-of-content:
353 ;; Bind icicle-last-apropos-complete-match-fn to icicle-buffer-apropos-complete-match.
354 ;; Bind icicle-apropos-complete-match-fn in second part of icicle-buffer-bindings, not first.
355 ;; icicle-send-bug-report: Ask for Update # from icicles-chg.el.
356 ;; 2013/03/11 dadams
357 ;; icicle(-customize)-apropos-options-of-type:
358 ;; Bound *-last-apropos-complete-match-fn to *-multi-comp-apropos-complete-match for progressive.
359 ;; 2013/03/08 dadams
360 ;; (icicle-(visit-marked-file-of-content|buffer(-no-search)))-other-window:
361 ;; Forgot OTHER-WIN arg to icicle-buffer-name-prompt.
362 ;; 2013/03/07 dadams
363 ;; Updated to use icicle-user-error where appropriate.
364 ;; 2013/03/05 dadams
365 ;; icicle-search-read-context-regexp: Provide default(s) using icicle-defaults-at-point (new).
366 ;; 2013/02/25 dadams
367 ;; icicle-buffer-multi-complete, icicle-buffer-apropos-complete-match, icicle-find-file-of-content:
368 ;; isearch-update-ring if find content-pat match.
369 ;; 2013/02/24 dadams
370 ;; icicle-find-file-of-content(-other-window):
371 ;; Use normal-mode, not revert-buffer. No need to restore r-o status. Thx to Michael Heerdegen.
372 ;; 2013/02/16 dadams
373 ;; Renamed: icicle-find-file(-other-window) to icicle-find-file-no-search(-other-window).
374 ;; Added defaliases for (new) icicle-find-file(-other-window), depending on Emacs version.
375 ;; icicle-file(-other-window): Corrected current-prefix-arg binding.
376 ;; icicle-find-file-absolute(-other-window): Prefix arg on candidate means open it read-only.
377 ;; *-find-file-(absolute|no-search)(-other-window): Include *-mouse-candidate-action in memq test.
378 ;; icicle-find-file-read-only*: Use icicle-find-file-no-search*, not icicle-find-file*.
379 ;; icicle-find-file-of-content(-other-window): Restore correct read-only status after reverting.
380 ;; *-dired-(saved-file-candidates|project)-other-window, *-find-file-no-search(-other-window)
381 ;; *-find-file-read-only-other-window, *-((recent|locate)-file(-no-symlinks)|locate)-other-window:
382 ;; Put property icicle-Completions-window-max-height (forgot).
383 ;; 2013/02/15 dadams
384 ;; icicle-pp-eval-expression: Bind deactivate-mark to nil, like fix for Emacs bug #13724.
385 ;; 2013/02/04 dadams
386 ;; Removed all autoload cookies.
387 ;; 2013/01/06 dadams
388 ;; icicle-execute-extended-command-1:
389 ;; Extra safeguards: Ensure CMD is fboundp before calling symbol-function.
390 ;; Ensure it is commandp before calling it interactively. Error if not.
391 ;; 2013/01/05 dadams
392 ;; icicle-bookmark-*-narrow: No-op unless (featurep 'bookmark+).
393 ;; icicle-(delete-file|dired|find-file(-absolute|-of-content|-in-tags-table)|recent-file|
394 ;; locate(-file)|(file|directory)-list):
395 ;; Updated doc string for new C-x C-t bindings.
396 ;; 2013/01/04 dadams
397 ;; icicle-bookmark-(autofile|autonamed)-narrow:
398 ;; Use icicle-transform-multi-completion, not icicle-mctized-display-candidate, like others.
399 ;; 2013/01/02 dadams
400 ;; icicle-other-window-or-frame: Use 1on1-other-frame.
401 ;; 2012/12/21 dadams
402 ;; icicle-buffer-multi-complete, icicle-file-of-content-apropos-complete-match:
403 ;; Added filtering by icicle-(buffer|find-file-of-content)-skip-hook. Thx to C. Schmidt.
404 ;; 2012/12/20 dadams
405 ;; Removed: icicle-find-file-of-content-multi-complete. Use only *-apropos-complete-match.
406 ;; icicle-file-of-content-apropos-complete-match:
407 ;; Do not use find-file-noselect, except for a dir.
408 ;; Use find-buffer-visiting or create-file-buffer, and with-current-buffer, insert-file-contents.
409 ;; Add buffer to new-bufs--to-kill.
410 ;; icicle-find-file-of-content(-other-window):
411 ;; Do not bind icicle-read-file-name-internal-fn to icicle-find-file-of-content-multi-complete.
412 ;; revert-buffer, so use correct mode.
413 ;; 2012/12/15 dadams
414 ;; icicle-find-file-of-content*:
415 ;; Bind icicle-apropos-complete-match-fn to icicle-file-of-content-apropos-complete-match, to fix
416 ;; apropos completion
417 ;; Bind icicle-compute-narrowing-regexp-p to t, for narrowing optimization.
418 ;; Set buffer-modified-p to nil before calling kill-buffer.
419 ;; icicle-file-of-content-apropos-complete-match:
420 ;; Require that each file name is matched by icicle-narrow-regexp (optimization for narrowing).
421 ;; 2012/12/14 dadams
422 ;; icicle-describe-option-of-type:
423 ;; Bind icicle-last-apropos-complete-match-fn to icicle-multi-comp-apropos-complete-match,
424 ;; for progressive completion. Bind icicle-dot-string to icicle-anychar-regexp.
425 ;; Updated doc to reflect improved behavior.
426 ;; 2012/12/12 dadams
427 ;; Added: icicle-buffer-apropos-complete-match, icicle-file-of-content-apropos-complete-match.
428 ;; icicle-buffer(-other-window):
429 ;; Bind icicle-last-apropos-complete-match-fn to icicle-buffer-apropos-complete-match.
430 ;; Move binding of icicle-apropos-complete-match-fn to post-bindings.
431 ;; icicle-find-file-of-content(-other-window):
432 ;; Bind icicle-last-apropos-complete-match-fn to icicle-file-of-content-apropos-complete-match.
433 ;; Reverted the 12/07 change. Binding *-apropos-complete-match-fn to nil broke apropos compl.
434 ;; icicle-find-file-of-content-multi-complete:
435 ;; Rewrote. Do not use all-completions. Use completion-table-in-turn for everything, passing
436 ;; content-matching predicate.
437 ;; icicle-execute-extended-command-1, icicle-command-abbrev-action:
438 ;; Bind completion-annotate-function to nil, to cancel top-level binding.
439 ;; 2012/12/07 dadams
440 ;; icicle-find-file-of-content(-other-window):
441 ;; Restored binding of icicle-apropos-complete-match-fn to nil.
442 ;; 2012/12/02 dadams
443 ;; Removed: icicle-find-file-of-content-read-file-name (use icicle-read-file-name-default instead).
444 ;; icicle-find-file-of-content(-other-window):
445 ;; Bind icicle-read-file-name-internal-fn, not read-file-name-function.
446 ;; No longer bind icicle-apropos-complete-match-fn to nil.
447 ;; 2012/12/01 dadams
448 ;; icicle-find-file-of-content-multi-complete:
449 ;; Use icicle-completion--embedded-envvar-table & completion-file-name-table, not internal Emacs.
450 ;; 2012/11/29 dadams
451 ;; icicle-find-file-of-content: Typo: removed -other-window.
452 ;; 2012/11/28 dadams
453 ;; icicle-apropos-value: Minor corrections. And treat C-u case like C-0 for C-$.
454 ;; icicle-completing-yank:
455 ;; Do not icicle-delete-dups when constructing cands. Let icicle-transform-function do it.
456 ;; 2012/11/26 dadams
457 ;; Added: icicle-apropos-value. Thx to Michael Heerdegen.
458 ;; icicle-execute-extended-command(-1): Save and restore icicle-toggle-transforming-message.
459 ;; 2012/11/19 dadams
460 ;; icicle-execute-extended-command-1: Show key-reminder after invoking CMD. Thx to M. Heerdegen.
461 ;; icicle-customize-apropos: lexical-let -> let. Put PATTERN in progress msg. Add comma for TYPE.
462 ;; icicle-find-tag-define-candidates-1: Put regexp in progress msg.
463 ;; 2012/11/17 dadams
464 ;; icicle-execute-extended-command-1: Show key-reminder msg before sit-for. Thx to M. Heerdegen.
465 ;; 2012/11/10 dadams
466 ;; custom-variable-p, icicle-binary-option-p: icicle-get-safe -> get.
467 ;; icicle-increment-(option|variable): intern -> intern-soft. Thx to Michael Heerdegen.
468 ;; 2012/11/08 dadams
469 ;; custom-variable-p, icicle-execute-extended-command-1, icicle-binary-option-p:
470 ;; Use icicle-get-safe.
471 ;; Doc strings: Use \\[...] more.
472 ;; 2012/11/07 dadams
473 ;; icicle-zap-to-char: char-to-string -> string.
474 ;; 2012/11/03 dadams
475 ;; Typo in eval-when-compile around icicle-bbdb-complete-name.
476 ;; 2012/11/02 dadams
477 ;; icicle-buffer-multi-complete: Use prog1 around content search in *-remove-if-not.
478 ;; Wrap icicle-bbdb-complete-name in eval-when-compile to avoid byte-compile error for BBDB 3.02.
479 ;; icicle-(buffer|file-of-content)-multi-complete: Put back prepending ^ for prefix mode.
480 ;; 2012/11/01 dadams
481 ;; icicle-(buffer|file-of-content)-multi-complete: Handle metadata COMPLETION-MODE arg.
482 ;; Comment out prepending ^ for prefix mode.
483 ;; 2012/10/28 dadams
484 ;; icicle-execute-extended-command, icicle-command-abbrev: With icicle-pre-minibuffer-buffer.
485 ;; 2012/10/27 dadams
486 ;; Added: icicle-bbdb-complete-mail (version for BBDB 3.02).
487 ;; icicle-execute-extended-command, icicle-command-abbrev:
488 ;; Bind icicle-last-transform-function: show only bound cmds. Thx to Michael Heerdegen.
489 ;; Bind completion-annotate-function: annotate with key bindings.
490 ;; 2012/10/21 dadams
491 ;; Added: icicle-cached-files-without-buffers, icicle-recent-files-without-buffers.
492 ;; icicle-buffer-multi-complete, icicle-buffer(-other-window):
493 ;; Add file names from recentf-list and file-cache-alist as candidates.
494 ;; 2012/10/20 dadams
495 ;; icicle-cd-for-(abs|loc)-files:
496 ;; Same change as 2012/08/27 fix to *-make-directory: Use dir in minibuffer as default.
497 ;; 2012/10/18 dadams
498 ;; icicle-directory-list: New feature: proxy candidates = vars with dir-list (i.e., path) values.
499 ;; icicle-locate-file-1:
500 ;; New feature: Treat plain C-u and C-u C-u, prompting for dir list.
501 ;; Ensure correct prefix arg treatment for icicle-locate (vs *-locate-file*).
502 ;; icicle-string-list: Last code: reset icicle-proxy-candidates to ().
503 ;; 2012/10/09 dadams
504 ;; icicle-customize-face*, icicle(-customize)-apropos-options-of-type,
505 ;; icicle-describe-option-of-type, icicle-dired-saved-file-candidates*, icicle-bookmark*,
506 ;; icicle-buffer*, icicle-visit-marked-file-of-content*, icicle-send-signal-to-process,
507 ;; icicle-find-file-absolute*, icicle-find-file-of-content*, icicle-recent-file*,
508 ;; icicle-locate-file-1, icicle-find-file-in-tags-table*, icicle-face-list, icicle-bookmark-list:
509 ;; Bind icicle-multi-completing-p.
510 ;; icicle-cd-for-(abs|loc)-files: Test icicle-multi-completing-p, not icicle-list-use-nth-parts.
511 ;; 2012/10/05 dadams
512 ;; Added: icicle-find-file-of-content(-other-window|-multi-complete|-read-file-name).
513 ;; icicle-buffer-multi-complete: Add new bufs to NEW-BUFS--TO-KILL, so can kill them when done.
514 ;; icicle-visit-marked-file-of-content(-other-window):
515 ;; Action arg: Transform multi-completion before passing to switch-to-buffer*.
516 ;; Save visited buffer to NEW-BUFS--TO-KEEP.
517 ;; When done, kill any unused buffers that were created, per new option
518 ;; icicle-kill-visited-buffers-flag. But prefix arg flips that.
519 ;; 2012/10/04 dadams
520 ;; icicle-find-file(-other-window): If precede C-! with prefix arg, then open all read-only.
521 ;; 2012/10/02 dadams
522 ;; icicle-describe-opt-of-type-complete, icicle-buffer-multi-complete:
523 ;; In try-completion: change PRED to a predicate that works on a singleton list, not a string.
524 ;; 2012/09/24 dadams
525 ;; icicle-recent-file(-other-window): Bind icicle-transform-before-sort-p to t,
526 ;; icicle-sort-comparer to icicle-last-accessed-first-p.
527 ;; 2012/09/22 dadams
528 ;; icicle-bookmark-jump-1:
529 ;; Use full bookmark, not name, after jump and before crosshairs, in case renamed autonamed bmk.
530 ;; 2012/09/15 dadams
531 ;; icicle-visit-marked-file-of-content*: *-remove-if -> use filter as dired-get-marked-files arg.
532 ;; 2012/09/11 dadams
533 ;; Renamed:
534 ;; *-buffer(-other-window) to *-buffer-no-search(-other-window)
535 ;; *-buffer-of-content(-other-window|complete) to *-buffer(-other-window|multi-complete)
536 ;; icicle-buffer(-other-window): Simplified prompt (no multi-completion hint).
537 ;; Updated doc strings for this icicle-buffer switch.
538 ;; icicle-default-buffer-names: Respect icicle-buffer-ignore-space-prefix-flag. Optimize a bit.
539 ;; 2012/09/09 dadams
540 ;; Added: icicle-visit-marked-file-of-content(-other-window).
541 ;; icicle-default-buffer-names: If BNAME is not in icicle-bufflist then do not use it.
542 ;; 2012/09/08 dadams
543 ;; Added: icicle-buffer-of-content(-other-window), icicle-buffer-of-content-complete.
544 ;; icicle-buffer-list: Remove binding of icicle-ignore-space-prefix-flag.
545 ;; 2012/09/07 dadams
546 ;; icicle-buffer(-other-window): Exclude icicle-orig-buff from candidates.
547 ;; 2012/08/13 dadams
548 ;; icicle-customize-face: Doc string improvement.
549 ;; 2012/08/10 dadams
550 ;; icicle-bookmark-set: If bookmark-make-record provides a name, use that as default.
551 ;; 2012/08/06 dadams
552 ;; Renamed old-* to icicle-ORIG-*:
553 ;; icicle-ORIG-file, icicle-ORIG-customize-face, icicle-ORIG-customize-face-other-window,
554 ;; icicle-ORIG-dabbrev-completion, icicle-ORIG-lisp-complete-symbol,
555 ;; icicle-ORIG-lisp-completion-at-point, icicle-ORIG-repeat-complex-command.
556 ;; 2012/07/31 dadams
557 ;; Added widgets icicle-file, old-file. Added command icicle-widget-file-complete.
558 ;; icicle-comint-dynamic-complete(-as)-filename, icicle-comint-replace-by-expanded-filename:
559 ;; Added optional (prefix) arg REPLACE-TO-EOL-P.
560 ;; 2012/07/22 dadams
561 ;; icicle-pp-display-expression: Do not try to select old-window if it is no longer live.
562 ;; 2012/07/21 dadams
563 ;; Replace defun of *-comint-completion-at-point by defalias to *-comint-dynamic-complete.
564 ;; icicle-comint-replace-orig-completion-fns: Redefined for new format of
565 ;; icicle-comint-dynamic-complete-replacements. Thx to Christopher Schmidt.
566 ;; icicle-execute-extended-command-1: Pass non-nil NOINDIRECT arg to where-is-internal.
567 ;; 2012/07/19 dadams
568 ;; icicle-default-buffer-names: Added optional ARG. Use in all calls to it.
569 ;; icicle-buffer-list: Allow also Dired buffers for positive prefix arg.
570 ;; icicle-(kill|insert)-buffer, icicle-add-buffer-candidate:
571 ;; Removed doc string content - just refer to icicle-buffer doc.
572 ;; 2012/07/10 dadams
573 ;; icicle-comint-dynamic-complete-as-filename:
574 ;; (file-name-nondir* (directory-file-name...)) -> (directory-file-name (file-relative-name...))
575 ;; Thx to Christopher Schmidt.
576 ;; 2012/07/08 dadams
577 ;; Added icicle-comint-completion-at-point. Thx to Christopher Schmidt and Michael Heerdegen.
578 ;; 2012/06/29 dadams
579 ;; icicle-command-abbrev:
580 ;; Bind icicle-sort-comparer to icicle-proxy-candidate-first-p, not
581 ;; icicle-command-abbrev-used-more-p. icicle-command-abbrev-used-more-p is second sort order.
582 ;; Bind icicle-allowed-sort-predicate (new), to allow icicle-command-abbrev-used-more-p.
583 ;; Improved doc string, mentioning icicle-command-abbrev-alist.
584 ;; icicle-command-abbrev-action:
585 ;; Add abbrev-or-cmd to icicle-commands-for-abbrev if it is in icicle-command-abbrev-alist.
586 ;; Do not bind icicle-sort-comparer here - not needed (?).
587 ;; During completion, bind icicle-current-input to abbrev-or-cmd.
588 ;; Removed #' from lambdas.
589 ;; 2012/06/24 dadams
590 ;; icicle-shell-dynamic-complete-as-command:
591 ;; Use shell-command-to-string in *Help* explicitly, not just shell-command.
592 ;; Thx to Christopher Schmidt & Michael Heerdegen.
593 ;; 2012/06/09 dadams
594 ;; icicle-pp-display-expression: Use backquote+comma, not lexical-let (bug fix).
595 ;; 2012/06/04 dadams
596 ;; Comment or otherwise handle free vars in lambdas: some lexical-let, some backquoting.
597 ;; 2012/06/03 dadams
598 ;; icicle-execute-extended-command-1:
599 ;; Do not show "You can invoke..." message for multi-command use. Do it only for top-level M-x.
600 ;; Use backquote+comma to eliminate free var CMD.
601 ;; 2012/05/30 dadams
602 ;; icicle-dired-insert-as-subdir: Include default-directory as candidate for ANCESTOR-DIR.
603 ;; 2012/05/25 dadams
604 ;; Added: icicle-dired-insert-as-subdir.
605 ;; 2012/05/22 dadams
606 ;; icicle-comint-dynamic-complete-as-filename, icicle-dired-(project|saved-file-candidates(*)),
607 ;; icicle-grep-saved-file-candidates:
608 ;; Test with icicle-file-remote-p before file-exists-p, to avoid Tramp.
609 ;; 2012/05/13 dadams
610 ;; Added: icicle-dired-save-marked(-more|to-cache-file|to-fileset|to-variable)-recursive,
611 ;; 2012/04/22 dadams
612 ;; Added: icicle-buffer-name-prompt.
613 ;; Removed: icicle-filter-buffer-cands-for-mode (replaced by *-(remove|keep-only)* in *-mcmd.el).
614 ;; icicle-(kill|insert)-buffer, icicle-buffer(-other-window), icicle-add-buffer-candidate:
615 ;; Use icicle-buffer-name-prompt, icicle-(un)bind-buffer-candidate-keys. Updated doc string.
616 ;; icicle-add-buffer-candidate:
617 ;; Bind icicle-delete-candidate-object to icicle-remove-buffer-candidate-action (as previously).
618 ;; 2012/04/09 dadams
619 ;; Fixed typos: double single-quotes in autoload cookies.
620 ;; 2012/04/08 dadams
621 ;; Make autoload cookies for commands load icicles[.el] explicitly.
622 ;; 2012/04/07 dadams
623 ;; icicle-bookmark-set:
624 ;; Updated for Bookmark+ changes, including new defaulting, removing region handling, and making
625 ;; bmk temporary.
626 ;; Updated doc string with info from icicle-bookmark-cmd. Refer to bookmark-set doc.
627 ;; icicle-bookmark-cmd:
628 ;; Updated doc string. Refer to icicle-bookmark-set doc.
629 ;; 2012/04/04 dadams
630 ;; Moved hint about (S-)TAB from icicle-read-args-w-val-satisfying to callers that need it.
631 ;; 2012/04/03 dadams
632 ;; Added: icicle-apropos-vars-w-val-satisfying, icicle-describe-var-w-val-satisfying,
633 ;; icicle-customize-opts-w-val-satisfying, icicle-read-args-w-val-satisfying.
634 ;; icicle-send-signal-to-process:
635 ;; Moved it and icicle-describe-process here from *-cmd2.el. Added autoload cookie.
636 ;; Changed definition guard condition to locate-library. Updated def, including to
637 ;; require proced.el.
638 ;; icicle-kmacro:
639 ;; Changed autoload cookie to be conditional on locate-library.
640 ;; Changed definition guard condition to locate-library. Updated def to require kmacro.el.
641 ;; Moved here from *cmd2.el:
642 ;; icicle-apropos, icicle-apropos-command, icicle-apropos-function, icicle-apropos-option,
643 ;; icicle-apropos-options-of-type, icicle-apropos-variable, icicle-apropos-zippy,
644 ;; icicle-apropos-opt-action, icicle-describe-option-of-type, icicle-describe-opt-action,
645 ;; icicle-describe-opt-of-type-complete.
646 ;; Plus compile-time requires of libraries yow, cookie1, apropos-fn+var.
647 ;; 2012/04/01 dadams
648 ;; Removed: old-customize-apropos* (no longer redefine automatically for Icicle mode).
649 ;; 2012/03/31 dadams
650 ;; icicle-customize-apropos: Do not call split-string if string is empty.
651 ;; Allow word list for Emacs 22+, not 24+.
652 ;; icicle-customize-apropos*: Added optional MSGP arg - display progress msg if non-nil.
653 ;; 2012/03/30 dadams
654 ;; Added: icicle-customize-apropos-opt-action.
655 ;; icicle-customize-apropos-options-of-type: Rewrote as a multi-command using multi-completions.
656 ;; icicle-customize-apropos*:
657 ;; Updated wrt Emacs 24 (handle PATTERN). Fixed vanilla Emacs bugs #11124, #11126, #11132.
658 ;; 2012/03/29 dadams
659 ;; icicle-customize-apropos-options-of-type:
660 ;; Pass inherit-or-value to icicle-var-is-of-type-p as the MODE.
661 ;; Handle the case where the user just enters a regexp, without using completion: mapatoms.
662 ;; icicle-customize-apropos: Use backquote and comma on regexp in lambda.
663 ;; 2012/03/28 dadams
664 ;; Changed FILE arg in autoloads by removing .el, so .elc will be loaded if available.
665 ;; 2012/03/10 dadams
666 ;; Added: icicle-make-bookmark-candidate (factored out).
667 ;; icicle-bookmark(-set|-list|-other-window):
668 ;; Use icicle-make-bookmark-candidate to define icicle-candidates-alist.
669 ;; 2012/03/09 dadams
670 ;; icicle-bookmarked-file-list: Call bookmark-maybe-load-default-file.
671 ;; icicle-customize-apropos(-faces|-groups|-options(-of-type)), icicle-(re)set-option-to-(t|nil),
672 ;; icicle-toggle-option, icicle-increment-(option|variable), icicle-doremi-increment-variable+,
673 ;; icicle-command-abbrev, icicle-execute-named-keyboard-macro, icicle-buffer-list:
674 ;; When Icomplete mode, use normal PRED, not *-must-pass-after-match-predicate.
675 ;; icicle-execute-extended-command: Likewise - redid it.
676 ;; icicle-customize-apropos-options: If prefix arg, still use user-variable-p also (or).
677 ;; 2012/03/03 dadams
678 ;; icicle-execute-extended-command:
679 ;; If in Icomplete mode, use the normal PRED arg, instead of *-must-pass-after-match-predicate.
680 ;; 2012/02/26 dadams
681 ;; Update to reflect Bookmark+ changes (bindings etc.).
682 ;; Added: icicle-bookmark-autofile-(all|some)-tags(-regexp)(-other-window).
683 ;; icicle-bookmark: Update doc string for binding changes.
684 ;; icicle-bookmark-bind-narrow-commands: Update bindings to reflect Bookmark+ changes.
685 ;; icicle-bookmark-help-string: Initialize no-position-p from bookmark, so it works if no pos.
686 ;; Typo: icicle-bookmark-this-dir-file-all-tags -> icicle-bookmark-file-this-dir-all-tags.
687 ;; 2012/02/11 dadams
688 ;; Applied renaming.
689 ;; 2012/01/31 dadams
690 ;; icicle-yank-pop-commands, icicle-completing-yank: Minor changes to doc strings.
691 ;; 2012/01/20 dadams
692 ;; icicle-bookmark-*-tags(-other-window): Pass prefix arg to bmkp-read-tags-completing, to refresh.
693 ;; 2012/01/15 dadams
694 ;; icicle-bookmark-set: Added missing quote mark for (icicle-)bookmark-history.
695 ;; 2012/01/14 dadams
696 ;; Added: icicle-zap-to-char.
697 ;; 2012/01/08 dadams
698 ;; Added: icicle-yank-pop-commands, icicle-bookmark-bind-narrow-commands,
699 ;; icicle-bookmark-(autofile|autonamed(-this-buffer)|file-this-dir|temporary)-narrow.
700 ;; Soft-require second-sel.el.
701 ;; icicle-bookmark-set: Mention narrowing in doc string.
702 ;; icicle-bookmark: Suggest in doc string to refresh cache if error.
703 ;; Added C-x j bindings to doc string: a, C-f, x, # ., # #.
704 ;; icicle-bookmark(-set|-other-window): Use icicle-bookmark-bind-narrow-commands.
705 ;; icicle-bookmark-*-narrow:
706 ;; Use icicle-transform-multi-completion, not funcall icicle-get-alist-candidate-function.
707 ;; icicle-completing-yank: Add prefix arg behavior: use secondary-selection-ring. Update doc.
708 ;; Add alt action of copying to other selection ring.
709 ;; icicle-yank-maybe-completing: Bind current-prefix-arg to nil around icicle-completing-yank.
710 ;; 2011/12/19 dadams
711 ;; icicle-find-file-absolute(-other-window): Do not insert default directory as initial input.
712 ;; icicle-ess-R-complete-object-name: Use line-end-position, not point-at-eol (not in Emacs 20).
713 ;; icicle-bookmark-(cmd|set), icicle-bbdb-complete-name: Use line-(beginning|end)-position.
714 ;; 2011/12/14 dadams
715 ;; Added: icicle-bookmark-bookmark-file-narrow, icicle-bookmark-image-narrow,
716 ;; icicle-bookmark-image(-other-window).
717 ;; icicle-bookmark-set, icicle-bookmark(-other-window):
718 ;; Changed bindings to be the same as top-level jump bindings.
719 ;; Added bindings: icicle-bookmark-bookmark-file-narrow, icicle-bookmark-image-narrow.
720 ;; icicle-bookmark-list:
721 ;; Return bookmarks, not their names, unless prefix arg or icicle-bookmark-list-names-only-p.
722 ;; Bind icicle-unpropertize-completion-result-flag. Use icicle-unpropertize-completion, not
723 ;; icicle-substring-no-properties, so remove only Icicles internal properties.
724 ;; Call bookmark-maybe-load-default-file whether Bookmark+ or not.
725 ;; Use icicle-bookmark-types only for Bookmark+. Use all bookmarks otherwise.
726 ;; 2011/11/23 dadams
727 ;; icicle-locate-file-1: when -> unless icicle-locate-file-use-locate-p.
728 ;; 2011/11/21 dadams
729 ;; icicle-locate-file-1:
730 ;; Do not bind current-prefix-arg, so pick up prefix arg for vanilla Emacs locate cmd.
731 ;; Require locate.el in ignored binding, not first code.
732 ;; No progress message (gathering...) if use external locate cmd.
733 ;; Put prop icicle-fancy-candidates only if not using external locate cmd.
734 ;; icicle-locate: Improved doc string.
735 ;; icicle-find-file-absolute*, icicle-locate-file-1:
736 ;; Bind C-c C-d to icicle-cd-for-(abs|loc)-files (it was mistakenly removed).
737 ;; icicle-(delete|recent)-file, icicle-dired, icicle-find-file(-read-only|-in-tags-table),
738 ;; icicle-(file|directory)-list:
739 ;; Removed mention of C-c C-d in doc string - inappropriate here.
740 ;; 2011/11/13 dadams
741 ;; icicle-locate-file-1: Corrected placement of kill-buffer in unwind-protect.
742 ;; 2011/11/07 dadams
743 ;; icicle-locate-file-1:
744 ;; Use with-current-buffer with locate-buffer-name, to hide switch-to-buffer in locate.
745 ;; 2011/11/06 dadams
746 ;; icicle-locate-file-1: Wrap use of external locate program in save-window-excursion.
747 ;; 2011/11/01 dadams
748 ;; Added: icicle-bookmark-autofile(-other-window),
749 ;; icicle-bookmark-autonamed(-this-buffer)(-other-window), icicle-bookmark-bookmark-file,
750 ;; icicle-bookmark-temporary(-other-window).
751 ;; 2011/10/29 dadams
752 ;; icicle-delete-file: Add icicle-remove-candidate-display-others to action fn. Remove S-delete.
753 ;; 2011/10/21 dadams
754 ;; icicle-remove-entry-from-saved-completion-set: Bind icicle-remove-icicles-props-p to nil.
755 ;; icicle-execute-extended-command-1: Don't bind WAIT-TIME to 0 if CURR-MSG.
756 ;; icicle-(add|remove)-entry-(to|from)-saved-completion-set, icicle-remove-saved-set-action,
757 ;; icicle-execute-extended-command-1, icicle-kmacro-action, icicle-toggle-option,
758 ;; icicle-increment-(option|variable), icicle-find-tag-help, icicle-add-buffer-candidate,
759 ;; icicle-remove-buffer-(candidate|config)-action, icicle-remove-from-recentf-candidate-action,
760 ;; icicle-locate-file-1, icicle-(string|sexp|keyword|face|buffer|bookmark|file|directory)-list:
761 ;; Use icicle-propertize.
762 ;; Applied renaming: icicle-unpropertize -> icicle-unpropertize-completion.
763 ;; 2011/10/10 dadams
764 ;; icicle-define-bookmark-command*: Moved to icicles-mac.el.
765 ;; 2011/10/08 dadams
766 ;; icicle-dired-project*, icicle-bookmark*, icicle*-buffer*: Use icicle-kbd.
767 ;; 2011/10/03 dadams
768 ;; icicle-customize-face: Updated for Emacs 24: Added optional arg OTHER-WINDOW.
769 ;; 2011/09/21 dadams
770 ;; Added: icicle-locate-other-window, icicle-locate-file-use-locate-p. Improved doc string.
771 ;; icicle-locate: Use icicle-locate-file-1 (not icicle-define-command).
772 ;; icicle-locate-file-1: Use locate external program, if non-nil icicle-locate-file-use-locate-p.
773 ;; icicle-(find-file-(absolute|in-tags-table)|recent-file)(-other-window), icicle-locate-file-1,
774 ;; icicle-cd-for-abs-files:
775 ;; Use file-name-as-directory instead of concat with /.
776 ;; 2011/09/18 dadams
777 ;; Added: icicle-sexp-list, icicle-string-list.
778 ;; Moved here from icicles-cmd2.el: icicle-keyword-list.
779 ;; Added: icicle-locate. Thx to Michael Heerdegen.
780 ;; icicle-bookmarked-(buffer|file)-list, icicle-define-add-to-alist-command,
781 ;; icicle-(bookmark|buffer|face|file|directory|regexp|keyword)-list, icicle-add-buffer-config:
782 ;; Bind icicle-prompt.
783 ;; icicle-(bookmark|buffer|face|file|directory|regexp|keyword)-list:
784 ;; Added msg saying Added... when interactive.
785 ;; 2011/09/02 dadams
786 ;; icicle-completing-yank: Put kills in order, respecting kill-ring-yank-pointer.
787 ;; (put 'icicle-completing-yank 'delete-selection 'yank).
788 ;; icicle-insert-for-yank: Set this-command to yank.
789 ;; 2011/08/30 dadams
790 ;; icicle-yank-maybe-completing: Put delete-selection prop, so region is deleted.
791 ;; 2011/08/26 dadams
792 ;; icicle-comint-dynamic-complete-as-filename, icicle-comint-dynamic-simple-complete,
793 ;; icicle-bbdb-complete-name, icicle-explore, icicle-bookmark(-list|-other-window),
794 ;; icicle-define-bookmark-command-1, icicle-find-tag-action,
795 ;; icicle-kill-a-buffer-and-update-completions, icicle-color-theme,
796 ;; icicle-delete-file-or-directory:
797 ;; Use icicle-condition-case-no-debug instead of condition-case. Thx to Michael Heerdegen.
798 ;; Make sure to pass format string as first arg to calls to functions error and message.
799 ;; 2011/08/12 dadams
800 ;; icicle-delete-file, icicle-(file|directory)-list, icicle-(dired|file)*,
801 ;; icicle-find-file(-absolute|-read-only|in-tags-table)*, icicle-(recent|locate)-file*:
802 ;; Use icicle-(un)bind-file-candidate-keys. Don't do/undo such bindings individually here.
803 ;; icicle-find-file-(absolute|in-tags-table)*, icicle-(recent|locate)-file*:
804 ;; Bind icicle-full-cand-fn.
805 ;; icicle-dired-(project|buffer)*: Removed fboundp test of icicle-bookmark-* (just test Bookmark+).
806 ;; 2011/08/11 dadams
807 ;; icicle-find-file-absolute(-other-window):
808 ;; Bind C-x a [+-] to adding/removing tags.
809 ;; 2011/08/09 dadams
810 ;; icicle-define(-file)-command calls: Removed undo code if same as last code, so do not repeat it.
811 ;; 2011/08/07 dadams
812 ;; icicle-(find-file-absolute|recent-file)(-other-window), icicle-locate-file-1,
813 ;; icicle-cd-for-(abs|loc)-files:
814 ;; Bind icicle-abs-file-candidates to the COLLECTION alist (no longer just list of strings).
815 ;; 2011/07/30 dadams
816 ;; Moved to icicles-cmd2.el and wrapped in eval-after-load bookmark+.el:
817 ;; icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-(un)tag-a-file.
818 ;; 2011/07/26 dadams
819 ;; Removed: icicle-list-end-string (no longer needed). Thx to Michael Heerdegen.
820 ;; 2011/05/22 dadams
821 ;; Added defvars for free vars to quiet byte compiler.
822 ;; 2011/05/21 dadams
823 ;; icicle-customize-apropos(-options): let -> let* for interactive form.
824 ;; 2011/04/29 dadams
825 ;; icicle-execute-extended-command(-1), icicle-command-abbrev(-action|-command),
826 ;; icicle-execute-named-keyboard-macro, icicle-increment-(option|variable),
827 ;; icicle-doremi-increment-variable+:
828 ;; Renamed: orig-must-pass-after-match-predicate to icicle-orig-must-pass-after-match-pred,
829 ;; new-last-cmd to icicle-new-last-cmd.
830 ;; 2011/04/25 dadams
831 ;; Commands defined with icicle-define-file-command and using icicle-file-bindings:
832 ;; Remove binding for icicle-candidate-help-fn - done in icicles-mac.el now.
833 ;; 2011/04/13 dadams
834 ;; Fixed autoload cookies for icicle-define-file-command commands added yesterday.
835 ;; 2011/04/12 dadams
836 ;; Added: icicle-bookmark-save-marked-files(-as-project|-more|-persistently|-to-variable),
837 ;; icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-(un)tag-a-file.
838 ;; icicle-bookmark(-list|-set|-other-window|-delete-action), icicle-define-bookmark-command-1:
839 ;; Applied Bookmark+ renaming: bmkp-sort-and-remove-dups -> bmkp-sort-omit.
840 ;; icicle-bookmark-set: Fixed typo: bmkp-light-bookmarks-this-buffer -> bmkp-light-this-buffer.
841 ;; icicle-define-bookmark-command-1: Doc strings now mention corresponding Bookmark+ command.
842 ;; icicle-execute-extended-command-1:
843 ;; Apply icicle-transform-multi-completion to arg. Thx to Michael Heerdegen.
844 ;; 2011/04/04 dadams
845 ;; icicle-bookmark-jump-1, icicle-pop-tag-mark: Use icicle-recenter.
846 ;; 2011/04/02 dadams
847 ;; Added: icicle-bookmark-file-this-dir((-all|some)-tags(-regexp))(-other-window),
848 ;; icicle-locate-file-(action-fn|no-symlinks-p).
849 ;; icicle-kmacro(-action), icicle-clear(-current)-history(-1):
850 ;; Use (new) icicle-pref-arg, not pref-arg.
851 ;; icicle(-kill|-insert)-buffer(-other-window), icicle-default-buffer-names,
852 ;; icicle-filter-buffer-cands-for-mode, icicle-add-buffer-candidate:
853 ;; Use (new) icicle-bufflist, not bufflist.
854 ;; icicle-locate-file(-1|-no-symlinks)(-other-window):
855 ;; Use (new) icicle-locate-file-no-symlinks-p, not no-symlinks-p.
856 ;; 2011/03/31 dadams
857 ;; icicle-search-action-1: Applied renaming: i*-target-window-recenter-amount to icicle-recenter.
858 ;; icicle-customize-apropos-options-of-type: Wrap icicle-var-is-of-type-p with condition-case.
859 ;; 2011/03/29 dadams
860 ;; Use new icicle-* vars for various free vars (orig-buff etc.).
861 ;; 2011/03/26 dadams
862 ;; Added: icicle-bookmark-file-(all|some)-tags(-regexp)(-other-window).
863 ;; 2011/02/22 dadams
864 ;; Added: icicle-lisp-completion-at-point.
865 ;; 2011/01/06 dadams
866 ;; Added: icicle-filter-buffer-cands-for-mode.
867 ;; icicle-(kill|insert)-buffer, icicle-buffer(-other-window), icicle-add-buffer-candidate:
868 ;; Bind C-x M to icicle-filter-buffer-cands-for-mode.
869 ;; 2010/12/26 dadams
870 ;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
871 ;; 2010/12/18 dadams
872 ;; Added more autoload cookies for cmds & macros; removed from non-cmd fns. Thx to Richard Kim.
873 ;; Specify cmd and file for cmds defined by Icicles macros.
874 ;; Require icicles-opt.el before icicles-var.el (but it makes no difference).
875 ;; 2010/11/21 dadams
876 ;; defalias both old-lisp-complete-symbol and (for Emacs 23+) old-lisp-completion-at-point.
877 ;; 2010/11/10 dadams
878 ;; icicle-lisp-complete-symbol: Remove return value. Let it do everything (chg is in ici*mode.el).
879 ;; 2010/11/04 dadams
880 ;; icicle-lisp-complete-symbol: Fixed return value for Emacs 23.2+. Thx to Michael Heerdegen.
881 ;; 2010/11/03 dadams
882 ;; defalias old-lisp-completion-at-point, not old-lisp-complete-symbol, for Emacs 23.2+.
883 ;; icicle-lisp-complete-symbol:
884 ;; Explicitly return nil, for use in completion-at-point-functions (Emacs 23.2+).
885 ;; 2010/10/25 dadams
886 ;; icicle-buffer-list: Use icicle-must-pass-after-match-predicate, not icicle-must-pass-predicate.
887 ;; icicle-directory-list:
888 ;; Bind icicle-file-predicate instead of using PREDICATE arg. No emacs-version limit now.
889 ;; 2010/10/24 dadams
890 ;; icicle-customize-apropos(-faces|-groups|-options(-of-type)), icicle-execute-extended-command,
891 ;; icicle-command-abbrev, icicle-execute-named-keyboard-macro, icicle-(re)set-option-to-(t|nil),
892 ;; icicle-toggle-option, icicle-increment-(option|variable), icicle-doremi-increment-variable+:
893 ;; Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
894 ;; icicle-execute-extended-command-1, icicle-command-abbrev-action,
895 ;; icicle-increment-(option|variable), icicle-doremi-increment-variable+:
896 ;; Restore orginal icicle-must-pass-after-match-predicate.
897 ;; 2010/10/09 dadams
898 ;; icicle-customize-face, icicle-repeat-complex-command, icicle-delete-window:
899 ;; Updated doc string for new prefix and modal cycling keys.
900 ;; 2010/08/27 dadams
901 ;; icicle-pp-display-expression: Set the hooks locally instead of let-binding them, to avoid msg
902 ;; "Making change-major-mode-hook buffer-local while locally
903 ;; let-bound!" - suggestion from Stefan M.
904 ;; 2010/07/20 dadams
905 ;; icicle-find-file-in-tags-table(-other-window):
906 ;; Pick up default-directory of TAGS table. Thx to Chris Hecker.
907 ;; icicle-bookmark-jump-1: Applied renaming of bmkp-use-region-flag to bmkp-use-region.
908 ;; 2010/07/17 dadams
909 ;; Added: icicle-bookmark-url-narrow, icicle-bookmark-url(-other-window).
910 ;; icicle-bookmark(-list|-set|-other-window|-propertize-candidate|-help-string),
911 ;; icicle-define-bookmark-command-1: w3m -> url.
912 ;; Bound URL commands to C-M-u, C-x j u.
913 ;; 2010/07/02 dadams
914 ;; icicle-bookmark-set: Added INTERACTIVEP arg. Prompt for tags when bmkp-prompt-for-tags-flag.
915 ;; Highlight bookmark if bmkp-auto-light-when-set.
916 ;; icicle-bookmark-cmd: Call icicle-bookmark-set with new INTERACTIVEP arg.
917 ;; 2010/06/25 dadams
918 ;; icicle-find-file(-other-window):
919 ;; Use default-directory, not nil, as third arg to read-file-name. Thx to Thomas Lim.
920 ;; Note: This more or less reverts a change I made (why?) on 2008/12/27 (see that, below).
921 ;; 2010/06/18 dadams
922 ;; Renamed: bookmarkp-* to bmkp-*.
923 ;; 2010/06/11 dadams
924 ;; icicle-find-file-absolute*, icicle-recent-file*, icicle-locate-file-1:
925 ;; Bind C-c + to icicle-make-directory.
926 ;; icicle-find-file-in-tags-table*: Removed bindings: C-x m, C-backspace.
927 ;; 2010/06/10 dadams
928 ;; icicle-cd-for-abs-files: Bound enable-recursive-minibuffers to t.
929 ;; 2010/06/08 dadams
930 ;; Added: icicle-bookmark-delete-action: Make it refresh the cache.
931 ;; icicle-bookmark(-list|-other-window), icicle-define-bookmark-command-1:
932 ;; Use icicle-bookmark-delete-action.
933 ;; Use condition-case to filter out bad bookmarks (so no error). Thx to M. Heerdegen.
934 ;; 2010/06/04 dadams
935 ;; Applied renamings of doremi commands (added +).
936 ;; icicle-(buffer|*file|directory)*: Updated doc string to mention icicle-(buffers|files)-ido-like.
937 ;; 2010/05/30 dadams
938 ;; Added: icicle-locate-file-no-symlinks(-other-window), icicle-locate-file(-other-window)-action,
939 ;; icicle-locate-file-1.
940 ;; icicle-locate-file*: Moved body to icicle-locate-file-1. Use named action functions.
941 ;; Respect icicle-ignored-directories (via *-files-within).
942 ;; icicle-cd-for-loc-files: Added optional arg NO-SYMLINKS-P.
943 ;; icicle-dired-saved-file-candidates(-other-window): Handle multi-completion candidates.
944 ;; Thx to M. Heerdegen.
945 ;; 2010/05/28 dadams
946 ;; icicle-(recent|locate)-file(-other-window),
947 ;; Use *-transform-multi-completion in *-all-candidates-list-alt-action-fn. Thx to M. Heerdegen.
948 ;; 2010/05/27 dadams
949 ;; icicle-cd-for-loc-files: Wrap interactive spec in save-selected-window. Thx to M. Heerdegen.
950 ;; 2010/05/26 dadams
951 ;; icicle-bookmark-set: Removed pseudo-default. Thx to Michael Heerdegen.
952 ;; 2010/05/24 dadams
953 ;; icicle-comint-replace-orig-completion-fns: Rewrote to not use case. Thx to Michael Heerdegen.
954 ;; 2010/05/21 dadams
955 ;; icicle-bookmark-help-string:
956 ;; Use BOOKMARK-NAME, not BMK, as arg to vanilla fns, for Emacs < 23. Thx to Alexander Haeckel.
957 ;; 2010-05-18 dadams
958 ;; Added: icicle-cd-for-abs-files, icicle-cd-for-loc-files.
959 ;; icicle-find-file-absolute*, icicle-locate-file*: Bind C-c C-d to icicle-cd-for-(abs|loc)-files.
960 ;; icicle-locate-file*: Make icicle-list-use-nth-parts be nil if no non-positive prefix arg.
961 ;; 2010/05/16 dadams
962 ;; icicle-define-bookmark-command-1: Defined command requires bookmark+.el.
963 ;; Added: icicle-bookmark-specific-(buffers|files)-narrow, icicle-bookmark-this-buffer-narrow.
964 ;; icicle-bookmark(-other-window), icicle-bookmark-set:
965 ;; Bound C-M-= (b|f), C-M-. for narrowing to specific-(buffers|files), this-buffer.
966 ;; icicle-bookmark-cleanup: Updated for added narrowing keys.
967 ;; 2010/05/15 dadams
968 ;; Added: icicle-define-bookmark-command(-1). Added ARGS param for use as arg for *-alist-only.
969 ;; Added same-window commands for bookmark jumping.
970 ;; Added: *-specific-(buffers|files)*, *-this-buffer*, *-(all|some)-tags(-regexp)* jump commands,
971 ;; *-bookmarked-(buffer|file)-list.
972 ;; icicle-bookmark-set: *-selected-buffers-alist-only -> *-specific-buffers-alist-only.
973 ;; 2010/05/06 dadams
974 ;; icicle-bookmark-set: Removed spurious format call with its arg.
975 ;; 2010/04/29 dadams
976 ;; icicle-explore: Bind icicle-remove-icicles-props-p to nil around call to completing-read.
977 ;; Call icicle-unpropertize at the end (without that binding).
978 ;; 2010/04/20 dadams
979 ;; icicle-dired(-other-window): Use icicle-dirs-first-p, not icicle-dirs-last-p, and don't reverse.
980 ;; 2010/04/17 dadams
981 ;; Added: icicle-bookmark-set.
982 ;; icicle-bookmark-cmd: Use icicle-bookmark-set, not bookmark-set. Simpler PARG code in that case.
983 ;; icicle-bookmark(-list|-other-window), icicle-define-bookmark-other-window-command:
984 ;; Use icicle-transform-multi-completion in icicle-delete-candidate-object.
985 ;; 2010/04/10 dadams
986 ;; Corrected prefix arg use for icicle-find-file(-read-only)(-other-window). Thx to M. Heerdegen.
987 ;; 2010/04/09 dadams
988 ;; Added: icicle-find-file-read-only(-other-window).
989 ;; icicle-find-file(-other-window):
990 ;; Prefix arg on individual candidate means visit read-only.
991 ;; Prefix arg for the command means reverse the prefix arg effect: read-only for all by default.
992 ;; 2010/04/02 dadams
993 ;; Added: icicle-bookmark-list.
994 ;; icicle-bookmark-cleanup: Clean up both minibuffer maps.
995 ;; 2010/03/27 dadams
996 ;; icicle-define-bookmark-other-window-command: Use optional PROMPT arg.
997 ;; 2010/03/19 dadams
998 ;; icicle-define-bookmark-other-window-command: Rich multi-completions per icicle-bookmark.
999 ;; 2010/03/16 dadams
1000 ;; icicle-bookmark(-other-window):
1001 ;; Use tags, not just file names, in the multi-completions.
1002 ;; Use the default join string, ^G^J, and end string, ^J^J.
1003 ;; Use just icicle-candidate-properties-alist to highlight the file name.
1004 ;; Remove extra quote marks from face names.
1005 ;; 2010/03/14 dadams
1006 ;; icicle-bookmark(-other-window):
1007 ;; Copy file/buffer name string for candidate-part face, so we don't touch bookmark-alist.
1008 ;; Handle icicle-bookmark-refresh-cache-flag and C-u.
1009 ;; Bind the narrow keys in minibuffer-local-completion also (lax for multi-completion).
1010 ;; Use face file-name-shadow, not icicle-candidate-part (too distracting).
1011 ;; icicle-bookmark-*-narrow: Use icicle-get-alist-candidate-function.
1012 ;; icicle-define-bookmark-other-window-command: Rewrote to handle multi-completion.
1013 ;; icicle-bookmark-non-file-narrow: Use bookmarkp-non-file-bookmark-p.
1014 ;; icicle-bookmark-propertize-candidate: Typo in a face name.
1015 ;; 2010/03/13 dadams
1016 ;; icicle-bookmark(-other-window):
1017 ;; If Bookmark+ available then, depending on icicle-show-multi-completion-flag, use a
1018 ;; multi-completion showing file or buffer. Use icicle-candidates-alist to do that.
1019 ;; Don't put icicle-fancy-candidates prop on prompt.
1020 ;; Don't use icicle-sorted-bookmark-alist (removed). Recompute each time.
1021 ;; 2010/03/10 dadams
1022 ;; icicle-bookmark-help-string:
1023 ;; Mention the type in the help: sequence, function, bookmark list, desktop, etc.
1024 ;; Don't show position for types that don't use one. Don't show file for buffer & Dired.
1025 ;; 2010/03/09 dadams
1026 ;; icicle-color-theme: Initialize variable icicle-color-themes here, not in icicles-opt.el.
1027 ;; 2010/03/04 dadams
1028 ;; icicle-bookmark(-other-window): Use bookmarkp-describe-bookmark(-internals) for C-M-RET.
1029 ;; 2010/03/03 dadams
1030 ;; icicle-bookmark(-other-window), icicle-define-bookmark-other-window-command:
1031 ;; Use bookmarkp-sort-and-remove-dups.
1032 ;; Bind icicle-sort-orders-alist, using bookmarkp predicates.
1033 ;; icicle-bookmark(-other-window):
1034 ;; Set icicle-sorted-bookmark-alist and bookmarkp-sorted-alist.
1035 ;; Use bookmarkp-sorted-alist.
1036 ;; Don't append original icicle-sort-orders-alist. Just include a couple of its entries.
1037 ;; Applied renamings: icicle-sort-function to icicle-sort-comparer,
1038 ;; icicle-sort-functions-alist to icicle-sort-orders-alist.
1039 ;; 2010/02/28 dadams
1040 ;; icicle-send-bug-report: Formatted body a bit.
1041 ;; 2010/02/14 dadams
1042 ;; Added: icicle-bookmark-bookmark-list-other-window, icicle-bookmark-bookmark-list-narrow.
1043 ;; icicle-bookmark(-other-window):
1044 ;; Bound to C-M- prefix: icicle-bookmark-bookmark-list-narrow. Updated doc string.
1045 ;; 2010/02/13 dadams
1046 ;; Added: icicle-bookmark-(desktop|man)-other-window,
1047 ;; icicle-bookmark-(dired|desktop|man)-narrow.
1048 ;; icicle-define-bookmark-other-window-command: Raise error if bookmark+.el not found.
1049 ;; icicle-bookmark(-other-window):
1050 ;; Bound to C-M- prefix: icicle-bookmark-(dired|desktop|man)-narrow.
1051 ;; icicle-bookmark-propertize-candidate:
1052 ;; Handle also: sequence, function, bookmark list, desktop, man, buffer, bad bookmarks.
1053 ;; 2010/02/02 dadams
1054 ;; icicle-bookmark-jump-1: Don't select minibuffer window and give it focus.
1055 ;; 2010/01/30 dadams
1056 ;; icicle-dired(-other-window), icicle-(find|recent|locate)-file(-absolute)(-other-window)
1057 ;; icicle-find-file-in-tags-table(-other-window):
1058 ;; Bind icicle-all-candidates-list-alt-action-fn to open Dired on matching files.
1059 ;; 2010/01/13 dadams
1060 ;; icicle-recent-file(-other-window):
1061 ;; Restore C-S-RET as icicle-remove-from-recentf-candidate-action (accidentally removed).
1062 ;; 2010/01/12 dadams
1063 ;; Added: icicle-pp-display-expression.
1064 ;; icicle-pp-eval-expression: Use icicle-pp-display-expression.
1065 ;; icicle-bbdb-complete-name: save-excursion + set-buffer -> with-current-buffer.
1066 ;; 2009/12/21 dadams
1067 ;; fset -> defalias.
1068 ;; 2009/12/13 dadams
1069 ;; Added: icicle-bookmark-dired-other-window, icicle-dired(-other-window).
1070 ;; *-buffer*, *-dired-project*, *-find-file(-absolute)*, *-(recent|locate)-file*,
1071 ;; *-find-file-in-tags-table*:
1072 ;; Bind C-x m to icicle-bookmark-(non-file|dired|file)-other-window.
1073 ;; 2009/11/27 dadams
1074 ;; Added: icicle(-doremi)-increment-(variable|option).
1075 ;; 2009/11/25 dadams
1076 ;; icicle-color-theme: Raise error for empty input. Thx to Ahei.
1077 ;; 2009/11/24 dadams
1078 ;; icicle-color-theme: Take a snapshot each time invoked, unless prefix arg.
1079 ;; 2009/11/22 dadams
1080 ;; icicle-color-theme: Use color-theme-initialize instead of load-library, to load themes.
1081 ;; 2009/11/21 dadams
1082 ;; icicle-color-theme: Use color-theme-snapshot to let C-g undo changes.
1083 ;; Try to load color-theme-library.el (available with version 6.6.0).
1084 ;; 2009/11/17 dadams
1085 ;; icicle-bbdb-complete-name: Bind completion-case-ignore.
1086 ;; 2009/11/14 dadams
1087 ;; icicle-bbdb-complete-name: Replace macro bbdb-hashtable by its expansion.
1088 ;; 2009/09/21 dadams
1089 ;; icicle-lisp-complete-symbol:
1090 ;; Complete symbol in buffer as far as possible first. Show completions initially.
1091 ;; 2009/09/17 dadams
1092 ;; icicle-delete-file, icicle-(file|directory)-list,
1093 ;; icicle-find-file(-absolute)(-other-window),
1094 ;; icicle-(recent|locate)-file(-other-window),
1095 ;; icicle-find-file-in-tags-table(-other-window): Use icicle-file-bindings (new macro).
1096 ;; 2009/09/16 dadams
1097 ;; Added: icicle-insert-buffer.
1098 ;; icicle-kill-buffer, icicle-buffer(-other-window), icicle-add-buffer-candidate:
1099 ;; Use icicle-buffer-bindings (new macro).
1100 ;; 2009/08/29 dadams
1101 ;; Added: icicle-define-bookmark-other-window-command, icicle-select-bookmarked-region,
1102 ;; icicle-bookmark(-region|-info|-gnus|-w3m|(-non|-local|-remote)-file)-other-window.
1103 ;; icicle-bookmark-propertize-candidate: Updated to reflect renamed bookmark+.el face names.
1104 ;; icicle-bookmark-file-narrow: Use bookmarkp-file-bookmark-p.
1105 ;; (lambda...) -> #'(lambda...).
1106 ;; 2009/08/25 dadams
1107 ;; Added: icicle-bookmark-cleanup-on-quit.
1108 ;; icicle-bookmark(-other-window): Use icicle-bookmark-cleanup-on-quit.
1109 ;; icicle-bookmark-cleanup: Removed code to return to original window a focus minibuffer.
1110 ;; 2009/08/24 dadams
1111 ;; Added: icicle-bookmark-propertize-candidate.
1112 ;; icicle-bookmark(-other-window): Put faces on bookmark candidates according to type.
1113 ;; 2009/08/23 dadams
1114 ;; Added: icicle-bookmark-(region|info|gnus|w3m|(non-|local-|remote-)file)-narrow.
1115 ;; icicle-bookmark(-other-window): Bind keys to bookmark candidate narrowing commands.
1116 ;; icicle-bookmark-cleanup: Unbind the same commands.
1117 ;; icicle-bookmark-cmd:
1118 ;; Let bookmark+.el (latest version) handle prompting for name, even for region bookmark.
1119 ;; Remove any newlines in bookmark name, when no prompting (thx to Thierry Volpiatto).
1120 ;; 2009/08/21 dadams
1121 ;; icicle-bookmark-jump-1: Typo.
1122 ;; 2009/08/20 dadams
1123 ;; icicle-bookmark-cmd: Use icicle-bookmark-other-window, not icicle-bookmark.
1124 ;; Fix trimmed-name: no longer than def-name.
1125 ;; icicle-bookmark(-other-window): Bind enable-recursive-minibuffers, in case need to read.
1126 ;; icicle-bookmark-jump-1: No crosshair highlighting for region bookmarks.
1127 ;; 2009/08/19 dadams
1128 ;; Added: icicle-bookmark-help-string.
1129 ;; icicle-bookmark-cmd: Handle creation of region bookmarks (new default values).
1130 ;; icicle-bookmark-name-length-max now applies to whole bookmark name.
1131 ;; icicle-bookmark(-other-window):
1132 ;; Apply icicle-candidate-short-help to candidates. Use also for the help function.
1133 ;; icicle-bookmark-jump-1: Use bookmark--jump-via if it is defined.
1134 ;; 2009/06/21 dadams
1135 ;; icicle-bookmark-jump-1: Removed temporary Emacs 23 workaround for (fixed) bug #1175.
1136 ;; 2009/06/07 dadams
1137 ;; icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
1138 ;; 2009/05/22 dadams
1139 ;; Require icicles-mac.el if load-library doesn't find it.
1140 ;; Created - Split off from icicles-cmd.el.
1141
1142 ;;;(@* "CHANGE LOG FOR `icicles-cmd2.el'")
1143 ;;
1144 ;; 2015/01/11 dadams
1145 ;; icicle-imenu-1: Bind icicle-remove-icicles-props-p to nil (for property icicle-whole-candidate).
1146 ;; 2014/12/28 dadams
1147 ;; Require completion.el at compile time.
1148 ;; icicle-marker+text: Prefix buffer name with line number.
1149 ;; icicle-imenu-(command|non-interactive-function)(-full): Use icicle-alist-key-match, not assoc.
1150 ;; 2014/11/28 dadams
1151 ;; Added: icicle-goto-any-marker.
1152 ;; icicle-goto-marker-or-set-mark-command: C-0 is now icicle-goto-any-marker.
1153 ;; icicle-goto-marker-1:
1154 ;; Handle symbol all as arg. Pass buffers or symbol global, not rings, to icicle-markers.
1155 ;; Remove duplicates.
1156 ;; icicle-marker+text: No-op if MARKER buffer is invalid.
1157 ;; icicle-markers: Arg is now BUFFERS, not a marker ring: the symbol global or a list of buffers.
1158 ;; 2014/10/19 dadams
1159 ;; icicle-Info-index: Updated doc string for highlighting of visited nodes.
1160 ;; 2014/10/17 dadams
1161 ;; icicle-this-command-keys-prefix:
1162 ;; If in minibuffer, ignore prefix key of icicle-key-complete-keys-for-minibuffer.
1163 ;; icicle-same-vector-keyseq-p:
1164 ;; Wrap with (kbd (key-description before comparing, to treat as same: [ESC ...], [27 ...].
1165 ;; 2014/10/15 dadams
1166 ;; icicle-imenu-1: Add contents of imenu-after-jump-hook to icicle-search-hook.
1167 ;; 2014/09/02 dadams
1168 ;; icicle-search-replace-match: Temporary (?) fix for braindead Emacs 24.4 regression (bug #18388).
1169 ;; 2014/08/31 dadams
1170 ;; icicle-search-highlight-and-maybe-replace: Removed code that reset match data to
1171 ;; icicle-search-regexp when icicle-search-replace-whole-candidate-flag=nil. IOW, returned to
1172 ;; fix of 2013-12-10, removing unwise change of 2013-12-26 that treated nil case the same as
1173 ;; non-nil case. For nil case, need keep match data for current-input match.
1174 ;; 2014/08/24 dadams
1175 ;; icicle-search-bookmark, icicle-search-bookmarks-together: Better prompt for context regexp.
1176 ;; icicle-search-bookmark: Bind icicle-bookmark-completing-p.
1177 ;; 2014/08/23 dadams
1178 ;; icicle-search-regexp-scan: Add each context number and total number to icicle-mode-line-help.
1179 ;; 2014/08/22 dadams
1180 ;; icicle-pick-color-by-name(-1): Added optional arg MSGP. Show message if non-nil.
1181 ;; 2014/08/21 dadams
1182 ;; Added: icicle-pick-color-by-name-1 - from icicle-pick-color-by-name-action.
1183 ;; icicle-pick-color-by-name: Bind icicle-list-use-nth-parts. Use icicle-pick-color-by-name-1.
1184 ;; icicle-pick-color-by-name-action: If palette is not shown, do not try to redisplay it.
1185 ;; Use icicle-pick-color-by-name-1.
1186 ;; icicle-color-from-multi-completion-input: Removed bindings of icicle-list-*.
1187 ;; icicle-bookmark-tagged(-other-window): Bind icicle-bookmark-completing-p.
1188 ;; 2014/08/18 dadams
1189 ;; icicle-choose-(in)visible-faces: Bind icicle-face-completing-p.
1190 ;; 2014/08/17 dadams
1191 ;; Added: icicle-color-from-multi-completion-input.
1192 ;; icicle-read-color: Wrap call to icicle-read-color-WYSIWYG in condition-case. Removed all of the
1193 ;; rest of the code, except check for empty input.
1194 ;; icicle-read-color-WYSIWYG: Just call icicle-color-from-multi-completion-input, to handle input.
1195 ;; icicle-pick-color-by-name: Redefined as defun, not using icicle-define-command.
1196 ;; Use icicle-read-color. Bind icicle-color-completing-p.
1197 ;; icicle-pick-color-by-name-action: Redefined to use icicle-color-from-multi-completion-input.
1198 ;; Added M-c binding for palette.
1199 ;; icicle-widget-color-complete: Bind icicle-color-completing.
1200 ;; 2014/08/16 dadams
1201 ;; Renamed: icicle-read-color-wysiwyg to icicle-read-color-WYSIWYG.
1202 ;; icicle-read-color-WYSIWYG: Bind icicle-color-completing-p.
1203 ;; icicle-imenu-1: Fixed bug introduced 2014/06/21: Set REGEXP from SUBMENU.
1204 ;; 2014/08/12 dadams
1205 ;; Added: icicle-wide-n, icicle-wide-n-action.
1206 ;; 2014/08/10 dadams
1207 ;; Added: icicle-describe-package.
1208 ;; Moved to icicles-fn.el (and modified): icicle-defined-thing-p.
1209 ;; icicle-choose-faces: Bind icicle-face-completing-p.
1210 ;; 2014/08/06 dadams
1211 ;; icicle-complete-keys, icicle-complete-menu-bar:
1212 ;; Bind icicle-must-pass-after-match-predicate to nil. (M-x ESC S-TAB did not complete.)
1213 ;; 2014/07/31 dadams
1214 ;; icicle-complete-keys-action: Do not use icicle-orig-buff, icicle-orig-window) - not bound.
1215 ;; See change-log entry for 2014/02/24. Must have forgotten to finish that change by doing this.
1216 ;; 2014/07/28 dadams
1217 ;; icicle-complete: Added sort orders. Bind completion-ignore-case.
1218 ;; 2014/07/27 dadams
1219 ;; Added: icicle-complete: Icicles version of command complete from completion.el.
1220 ;; 2014/06/21 dadams
1221 ;; icicle-imenu-1: Handle multiple submenus with the same name (e.g. Functions).
1222 ;; 2014/06/19 dadams
1223 ;; icicle-apply, icicle-search:
1224 ;; Added note to doc string about binding *-incremental-completion to always.
1225 ;; 2014/05/17 dadams
1226 ;; icicle-color-help, icicle-tags-search: with-output-to-temp-buffer -> icicle-with-help-window.
1227 ;; 2014/05/11 dadams
1228 ;; icicle-WYSIWYG-font:
1229 ;; Fixed wrt Emacs bug #17457: Do not truncate before calling font-info, and ignore its errors.
1230 ;; Distinguish, for user, font-info error from its nil return (font not loaded).
1231 ;; 2014/04/20 dadams
1232 ;; icicle-synonyms: Use icicle-sort-comparer, not icicle-sort-function (typo).
1233 ;; Removed some old $$$$$ comments (cleanup).
1234 ;; 2014/04/01 dadams
1235 ;; Added: icicle-bookmark-tagged, icicle-bookmark-tagged-other-window.
1236 ;; icicle-search-bookmark:
1237 ;; Faces icicle-annotation & icicle-msg-emphasis, not file-name-shadow & bookmark-menu-heading.
1238 ;; 2014/03/30 dadams
1239 ;; icicle-find-file-tagged(-other-window): Rebind icicle-candidate-help-fn to appropriate help fn.
1240 ;; 2014/03/08 dadams
1241 ;; Use (featurep 'icomplete), not (boundp 'icomplete-mode), everywhere.
1242 ;; 2014/03/03 dadams
1243 ;; icicle-search-xml-element: Try to handle attributes and <ELTNAME/> too.
1244 ;; 2014/02/24 dadams
1245 ;; icicle-complete-keys, icicle-complete-menu-bar:
1246 ;; Do not bind icicle-orig-buff or icicle-orig-window - they are the minibuffer buf & window.
1247 ;; 2014/02/07 dadams
1248 ;; Added: icicle-same-vector-keyseq-p.
1249 ;; icicle-this-command-keys-prefix:
1250 ;; Respect new option icicle-complete-keys-ignored-prefix-keys.
1251 ;; Use this-command-keys-vector, not this-command-keys.
1252 ;; 2014/01/14 dadams
1253 ;; icicle-compilation-search-in-context-fn:
1254 ;; Wrap body in condition-case, so can tolerate non-error lines as no-op in compilation buffer.
1255 ;; 2014/01/11 dadams
1256 ;; icicle-this-command-keys-prefix:
1257 ;; Reverted change made 2013/12/01. S-TAB following any prefix key should complete that key.
1258 ;; 2014/01/06 dadams
1259 ;; icicle-vardoc, icicle-fundoc, icicle-plist, icicle-doc:
1260 ;; Bind icicle--last-toggle-transforming-msg.
1261 ;; 2014/01/05 dadams
1262 ;; Added: icicle-next-font-lock-keywords, icicle-next-font-lock-keywords-repeat,
1263 ;; icicle-font-lock-keyword, icicle-update-f-l-keywords.
1264 ;; 2013/12/26 dadams
1265 ;; icicle-hide/show-comments: Updated from hide/show-comments in hide-comnts.el.
1266 ;; 2013/12/23 dadams
1267 ;; Added: icicle-load-library.
1268 ;; Moved icicle-named-colors defvar inside icicle-cmd2-after-load-hexrgb.
1269 ;; 2013/12/10 dadams
1270 ;; Added: icicle-search-regexp.
1271 ;; icicle-search-define-candidates-1: Set icicle-search-regexp.
1272 ;; icicle-search-highlight-and-maybe-replace:
1273 ;; Search for main regexp, to set match data for replace-match (via icicle-search-replace-match).
1274 ;; 2013/12/01 dadams
1275 ;; icicle-this-command-keys-prefix: Use [] as prefix key if this command is icicle-complete-keys.
1276 ;; 2013/11/17 dadams
1277 ;; Added: icicle-occur-dired-marked, icicle-occur-dired-marked-recursive,
1278 ;; icicle-search-dired-marked, icicle-search-dired-marked-recursive-1.
1279 ;; icicle-search-generic: Added optional PREFIX-ARG argument. Bind icicle-pref-arg to it.
1280 ;; icicle-search, icicle-search-where-arg:
1281 ;; Bind current-prefix-arg to icicle-pref-arg, so can get pref arg from icicle-search-generic.
1282 ;; icicle-search-dired-marked*: Use icicle-search-dired-marked-recursive-1.
1283 ;; 2013/10/18 dadams
1284 ;; Added: icicle-imenu-help.
1285 ;; icicle-imenu: Bind icicle-candidate-help-fn to icicle-imenu-help.
1286 ;; icicle-search: Respect an existing value of icicle-candidate-help-fn.
1287 ;; 2013/10/02 dadams
1288 ;; icicle-next-visible-thing-1: Put back <=, not <, for comparison. See comment.
1289 ;; 2013/09/29 dadams
1290 ;; icicle-search-char-prop-matches-p: Typo: isearchp-some -> icicle-some.
1291 ;; 2013/09/21 dadams
1292 ;; icicle-search-char-prop-matches-p: Corrected for overlays: only overlays, not get-char-property.
1293 ;; 2013/09/16 dadams
1294 ;; icicle-search-regexp-scan:
1295 ;; If icicle-search-complement-domain-p then PREDICATE should not succeed.
1296 ;; 2013/09/11 dadams
1297 ;; icicle-Info-multi-read-node-name: Bind case-fold-search to t in filter function for NODES.
1298 ;; 2013/09/06 dadams
1299 ;; Added: icicle-imenu-macro-full.
1300 ;; icicle-imenu-*-full: First arg to icicle-imenu-1 should just be non-nil.
1301 ;; icicle-imenu-non-interactive-function: Emacs Lisp only, not Lisp mode too.
1302 ;; icicle-imenu-macro-full: Typo: Macro -> Macros.
1303 ;; 2013/08/13 dadams
1304 ;; icicle-where-is: Bind icicle-highlight-input-completion-failure to nil if no prefix arg.
1305 ;; 2013/07/24 dadams
1306 ;; icicle-exchange-point-and-mark: Use region-(beginning|end), not mark function - simpler.
1307 ;; icicle-next-visible-thing(-and-bounds): Use buffer limit if region is empty.
1308 ;; 2013/07/23 dadams
1309 ;; icicle-Info-multi-read-node-name: Use regexp-quote before concat ^ to front of string.
1310 ;; 2013/07/09 dadams
1311 ;; Added: icicle-complete-menu-bar.
1312 ;; icicle-add-key+cmd: Corrected menu-item description: Always use MITEM if available.
1313 ;; icicle-complete-(keys|menu-bar): Made case-insensitive by default.
1314 ;; 2013/07/07 dadams
1315 ;; icicle-add-key+cmd: Use face icicle-key-complete-menu(-local) for menu items.
1316 ;; 2013/07/04 dadams
1317 ;; Use icicle-read-regexp, not read-string, for reading all regexps.
1318 ;; 2013/06/19 dadams
1319 ;; Added: icicle-WYSIWYG-font. Removed (commented out): icicle-font-w-orig-size.
1320 ;; icicle-font: Rewrote, to show WYSIWYG candidates.
1321 ;; 2013/03/26 dadams
1322 ;; icicle-Info-multi-read-node-name: setq STRG only if it is nil.
1323 ;; icicle-Info-goto-node-of-content: Do not bother to bind icicle-candidate-properties-alist.
1324 ;; 2013/03/23 dadams
1325 ;; Renamed icicle-Info-goto-node to icicle-Info-goto-node-no-search.
1326 ;; Added: icicle-Info-goto-node (new version) - use *-of-content or *-no-search.
1327 ;; icicle-Info-menu-cmd: Use icicle-Info-goto-node-no-search, not new icicle-Info-goto-node.
1328 ;; icicle-Info-content-match: Set Info-tag-table-marker to saved position.
1329 ;; icicle-Info-read-node-of-content: Save position of Info-tag-table-marker for *-content-match.
1330 ;; 2013/03/17 dadams
1331 ;; Added: icicle-Info-goto-node-of-content, icicle-Info-apropos-complete-match,
1332 ;; icicle-Info-content-match, icicle-Info-read-node-of-content,
1333 ;; icicle-Info-multi-read-node-name,
1334 ;; 2013/03/16 dadams
1335 ;; icicle-Info-goto-node-action: Give focus back to minibuffer frame at end.
1336 ;; icicle-Info-read-node-name: Retain INCLUDE-FILE-P arg in recursive call.
1337 ;; 2013/03/15 dadams
1338 ;; Removed: icicle-Info-book-order-p (just ensure book order as default order).
1339 ;; icicle-Info-goto-node:
1340 ;; Bind icicle-pref-arg, so it is available in icicle-Info-goto-node-action.
1341 ;; Use nil, not icicle-Info-book-order-p, in icicle-sort-orders-alist and icicle-sort-comparer.
1342 ;; icicle-Info-goto-node-1: Use natnump as ARG test.
1343 ;; icicle-Info-build-node-completions-1: Ensure result is in book order, whatever Emacs version.
1344 ;; icicle-Info-build-node-completions: Do not do any reversing, since *-1 now uses book order.
1345 ;; icicle-Info-goto-node-action: Pass icicle-pref-arg to icicle-Info-goto-node-1 (bug fix).
1346 ;; Do not reverse list.
1347 ;; 2013/03/07 dadams
1348 ;; Updated to use icicle-user-error where appropriate.
1349 ;; 2013/02/28 dadams
1350 ;; icicle-cmd2-after-load-hexrgb, icicle-cmd2-after-load-wid-edit+:
1351 ;; Use fset, not defalias, for redefinitions of read-color, widget-color-complete.
1352 ;; 2013/02/04 dadams
1353 ;; Removed all autoload cookies.
1354 ;; 2013/01/06 dadams
1355 ;; icicle-(bookmark|(un)tag)-a-file: Updated calls to bmkp-*, to add nil NO-UPDATE-P argument.
1356 ;; 2013/01/05 dadams
1357 ;; icicle-find-file-(all|some)-tags*: protect free vars in lambdas using backquote quote comma.
1358 ;; icicle-(bookmark-a-file|find-file-tagged|): Updated doc string for new C-x C-t bindings.
1359 ;; 2012/12/31 dadams
1360 ;; icicle-search-in-context-default-fn:
1361 ;; Set icicle-mode-line-help instead of using icicle-show-help-in-mode-line.
1362 ;; 2012/12/22 dadams
1363 ;; Added: icicle-search-file-found-p.
1364 ;; icicle-search-define-candidates:
1365 ;; Search only files that have at least one regexp match: use icicle-search-file-found-p to test.
1366 ;; 2012/11/28 dadams
1367 ;; icicle-(fundoc|vardoc|plist): Use C-$ to toggle command/fn, option/var, faces/all.
1368 ;; icicle-vardoc: Do not use non-neg prefix arg for options.
1369 ;; icicle-doc: Be able to use C-$ to limit to commands, options, and faces.
1370 ;; Correction: separate setq in and, in case icicle-fn-doc-minus-sig returns nil.
1371 ;; 2012/11/20 dadams
1372 ;; icicle-search-define-candidates:
1373 ;; Added progress message for context gathering. Thx to Michael Heerdegen.
1374 ;; 2012/11/10 dadams
1375 ;; icicle-defined-thing-p: icicle-get-safe -> get.
1376 ;; icicle-read-color-wysiwyg:
1377 ;; Fix case where user inputs name or RGB without completing (transformed to "").
1378 ;; Mention sorting in doc string.
1379 ;; 2012/11/08 dadams
1380 ;; icicle-defined-thing-p: Use icicle-get-safe.
1381 ;; Doc strings: Use \\[...] more.
1382 ;; 2012/11/05 dadams
1383 ;; Use \\[...] in doc strings instead of hard-coding, for some more keys.
1384 ;; 2012/11/03 dadams
1385 ;; Added: icicle-cmd2-after-load-wid-edit+. eval-after-load it for wid-edit+.el.
1386 ;; Use it for all of the widget stuff (take that out of icicle-cmd2-after-load-highlight).
1387 ;; 2012/10/26 dadams
1388 ;; icicle-search: Use \\[...] in doc string instead of hard-coding some of the keys.
1389 ;; 2012/10/22 dadams
1390 ;; icicle-Info-index: Bind *-transform-function to *-remove-duplicates. Emacs bug #12705.
1391 ;; 2012/10/20 dadams
1392 ;; icicle-read-color: Fix case where user inputs without completing (WYSIWYG transforms to "").
1393 ;; 2012/10/09 dadams
1394 ;; icicle-find-file-tagged*, icicle-read-color(-wysiwyg), icicle-frame-(bg|fg),
1395 ;; icicle-choose(-(in)visible)-faces, icicle-(var|fun)doc, icicle-plist,
1396 ;; icicle-goto-global-marker, icicle-occur, icicle-imenu-1,
1397 ;; icicle-search(-bookmark(s-together|list-marked)|-buffer|-file|-sentences|-paragraphs|-pages):
1398 ;; Bind icicle-multi-completing-p.
1399 ;; 2012/10/06 dadams
1400 ;; icicle-hide/show-comments: Call comment-normalize-vars first. Thx to Stefan Monnier.
1401 ;; 2012/09/08 dadams
1402 ;; icicle-apply: Override icicle-buffer-ignore-space-prefix-flag, not icicle-ignore-space-prefix*.
1403 ;; icicle-search: Remove mention of overriding icicle-ignore-space-prefix-flag.
1404 ;; icicle-choose-candidate-of-type: Remove binding of icicle-ignore-space-prefix-flag.
1405 ;; 2012/09/06 dadams
1406 ;; Use icicle-string-match-p.
1407 ;; 2012/09/05 dadams
1408 ;; Added: icicle-select-text-at-point.
1409 ;; 2012/08/21 dadams
1410 ;; tap-symbol-nearest-point -> symbol-nearest-point. (icicles-opt.el DTRT.)
1411 ;; 2012/08/18 dadams
1412 ;; symbol-nearest-point -> tap-symbol-nearest-point.
1413 ;; bounds-of-thing-at-point -> icicle-bounds-of-thing-at-point.
1414 ;; next-visible-thing-(1|2) -> thgcmd-next-visible-thing-(1|2).
1415 ;; next-visible-thing-1: Note: < seems better than <= for comparison. I changed it to < for
1416 ;; Icicles version on 2011-05-14. But just changed the thing-cmd.el version to < today.
1417 ;; 2012/08/14 dadams
1418 ;; icicle-cmd2-after-load-highlight:
1419 ;; For Emacs < 24, require wid-edit.el before defalias to widget-color-complete.
1420 ;; 2012/08/12 dadams
1421 ;; icicle-read-color-wysiwyg: Convert raw prefix arg `-' to -1.
1422 ;; 2012/08/06 dadams
1423 ;; Renamed old-* to icicle-ORIG-*:
1424 ;; icicle-ORIG-color, icicle-ORIG-read-color, icicle-ORIG-widget-color-complete.
1425 ;; icicle-Info-index(-20|-action), icicle-Info-menu, icicle-Info-goto-node-1:
1426 ;; Applied renaming to new: icicle-ORIG-*.
1427 ;; 2012/08/05 dadams
1428 ;; Added: widgets icicle-color, old-color. Added function icicle-widget-color-complete.
1429 ;; icicle-read-color-wysiwyg:
1430 ;; Added optional arg INITIAL-INPUT.
1431 ;; Return only variable's value if user-option candidate is chosen.
1432 ;; 2012/07/17 dadams
1433 ;; Removed: icicle-maybe-byte-compile-after-load (macro). Removed all calls to it.
1434 ;; 2012/07/07 dadams
1435 ;; icicle-Info-index:
1436 ;; Bind icicle-Info-(index-nodes|manual|hist-list), for highlighting visited nodes.
1437 ;; Raise error if not in Info-mode.
1438 ;; 2012/07/02 dadams
1439 ;; Moved defcustom of icicle-byte-compile-eval-after-load-flag to icicles-mcmd.el (loaded first).
1440 ;; icicle-search-bookmark(-action): Use *-search-context-regexp, not regexp, so no free warning.
1441 ;; Changed #'(lambda...) to (lambda...).
1442 ;; 2012/05/22 dadams
1443 ;; icicle-search-define-candidates, icicle-char-properties-in-buffers:
1444 ;; Test with icicle-file-remote-p before file-exists-p, to avoid Tramp.
1445 ;; 2012/05/15 dadams
1446 ;; Removed: icicle-search-desktop-bookmark (useless).
1447 ;; 2012/05/07 dadams
1448 ;; Renamed: icicle-search-dired-marked to icicle-search-dired-marked-recursive.
1449 ;; 2012/05/06 dadams
1450 ;; icicle-search-dired-marked: Call diredp-get-confirmation-recursive to get confirmation.
1451 ;; 2012/04/23 dadams
1452 ;; icicle-search-dired-marked: Use diredp-get-files. Raise error if Dired+ not present.
1453 ;; Moved other icicle-search-dired-* functions to Dired+ as diredp-*.
1454 ;; icicle-search-dired-get-files:
1455 ;; If user answers no, then pick up only the marked files here 9and all files underneath).
1456 ;; icicle-search-dired-get-files-for-dir: A no answer does not change what happens for top dir.
1457 ;; 2012/04/20 dadams
1458 ;; Added: icicle-search-dired-get-files-for-dir, icicle-search-dired-marked-here.
1459 ;; icicle-search-dired-marked:
1460 ;; Added arg IGNORE-MARKS-P (prefix arg). Pass it to icicle-search-dired-get-files.
1461 ;; icicle-search-dired-get-files: Rewrote - uses icicle-search-dired-get-files-for-dir.
1462 ;; Ask user whether to use Dired buffers for subdirs, if there are any.
1463 ;; 2012/04/14 dadams
1464 ;; icicle-search-dired-get-files: Moved handling of IGNORE-MARKS-P outside the lambda.
1465 ;; 2012/04/13 dadams
1466 ;; Added: icicle-search-dired-get-files.
1467 ;; icicle-search-dired-marked: Use icicle-search-dired-get-files, not dired-get-marked-files.
1468 ;; 2012/04/09 dadams
1469 ;; Changed last-command-char to last-command-event.
1470 ;; Fixed typos: double single-quotes in autoload cookies.
1471 ;; 2012/04/08 dadams
1472 ;; Make autoload cookies for commands load icicles[.el] explicitly.
1473 ;; 2012/04/03 dadams
1474 ;; Moved to *-cmd1.el:
1475 ;; icicle-send-signal-to-process, icicle-apropos, icicle-apropos-command, icicle-apropos-function,
1476 ;; icicle-apropos-option, icicle-apropos-options-of-type, icicle-apropos-variable,
1477 ;; icicle-apropos-zippy, icicle-apropos-opt-action, icicle-describe-option-of-type,
1478 ;; icicle-describe-opt-action, icicle-describe-opt-of-type-complete.
1479 ;; Plus compile-time requires of libraries yow, cookie1, apropos-fn+var.
1480 ;; 2012/04/01 dadams
1481 ;; Added: icicle-apropos-options-of-type, icicle-apropos-opt-action.
1482 ;; icicle-where-is: In help fn, wrap individual key sequences in `', not just all of them together.
1483 ;; 2012/03/31 dadams
1484 ;; icicle-apropos*: Updated wrt Emacs 24 (handle PATTERN). Added optional MSGP arg.
1485 ;; 2012/03/28 dadams
1486 ;; Changed FILE arg in autoloads by removing .el, so .elc will be loaded if available.
1487 ;; 2012/03/10 dadams
1488 ;; icicle-bookmark-a-file, icicle-find-file-tagged(-other-window): Bind icicle-full-cand-fn.
1489 ;; icicle-find-file-(handle-bookmark|(all|some)-tags(-regexp))(-other-window):
1490 ;; First code, last code: Call icicle-(un)bind-file-candidate-keys.
1491 ;; icicle-search-bookmark: Use icicle-make-bookmark-candidate to define icicle-candidates-alist.
1492 ;; 2012/03/09 dadams
1493 ;; icicle-untag-a-file, icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-where-is,
1494 ;; icicle-apropos-(variable|option|function|command), icicle-apply,
1495 ;; icicle-save-string-to-variable, icicle-choose-candidate-of-type,
1496 ;; icicle-read-var-value-satisfying, icicle-read-args-for-set-completion-methods:
1497 ;; When Icomplete mode, use normal PRED, not *-must-pass-after-match-predicate.
1498 ;; icicle-find-file-handle-bookmark(-other-window): Use bmkp-find-file(-other-window) as action fn.
1499 ;; 2012/02/26 dadams
1500 ;; Update to reflect Bookmark+ changes (bindings etc.).
1501 ;; Added icicle-find-file-handle-bookmark(-other-window), as nontagging C-f commands.
1502 ;; icicle-find-file-tagged*: Use bmkp-find-file*, not find-file*, as action fn.
1503 ;; Pass prefix arg to bmkp-read-tags-completing, to update cache.
1504 ;; 2012/02/20 dadams
1505 ;; Added: icicle-Info-menu-cmd. Actually, renamed icicle-Info-menu to icicle-Info-menu-cmd and
1506 ;; added non-interactive icicle-Info-menu with args for compatibility with vanilla Emacs.
1507 ;; icicle-Info-index: Added optional arg for non-interactive compatibility with vanilla Emacs.
1508 ;; 2012/02/12
1509 ;; Added def of icicle-byte-compile-eval-after-load-flag here too, so can load before icicles.el.
1510 ;; 2012/02/11 dadams
1511 ;; icicle-search: Update doc string for new input expansion.
1512 ;; icicle-search-highlight-all-input-matches:
1513 ;; Expand when apropos and 4 or prefix and 3 or 4.
1514 ;; 2012/01/25 dadams
1515 ;; icicle-exchange-point-and-mark: Support also vanilla Emacs 22+ use of a prefix arg.
1516 ;; 2012/01/16 dadams
1517 ;; icicle-search-define-candidates: Add COMPLEMENT to error msg. Thx to Michael Heerdegen.
1518 ;; 2011/12/19 dadams
1519 ;; icicle-marker+text, icicle-compilation-search-in-context-fn: Use line-(beginning|end)-position.
1520 ;; 2011/12/14 dadams
1521 ;; icicle-search-where-arg: Do not bind icicle-bookmark-types here.
1522 ;; icicle-search-define-candidates: For bookmarks, WHERE is a cons of conses (not just a cons).
1523 ;; 2011/12/13 dadams
1524 ;; icicle-search-define-candidates: In bookmarks part, test BEG =? END only if both are non-nil.
1525 ;; 2011/12/06 dadams
1526 ;; icicle-send-signal-to-process: Add process name to prompt. Thx to Michael Heerdegen.
1527 ;; 2011/11/26 dadams
1528 ;; Renamed icicle-read-color to icicle-read-color-wysiwyg.
1529 ;; Added icicle-read-color (args compatible with vanilla read-color), for *-functions-to-redefine.
1530 ;; icicle-read-color-wysiwyg: Added MSGP arg. Updated hexrgb-read-color call (new arg list).
1531 ;; icicle-color-help: Corrected for different cases of icicle-list-use-nth-parts (not just (1 2)).
1532 ;; icicle-color-distance-(rgb|hsv)-lessp, icicle-choose-candidate-of-type:
1533 ;; Applied renaming: icicle-read-color-wysiwyg.
1534 ;; 2011/11/02 dadams
1535 ;; Added: icicle-search-autonamed-bookmark, icicle-search-temporary-bookmark.
1536 ;; *-full search commands:
1537 ;; Corrected doc strings to refer to the right option, icicle-hide-non-matching-lines-flag.
1538 ;; 2011/10/22 dadams
1539 ;; icicle-send-signal-to-process:
1540 ;; Bind icicle-last-transform-function to nil, so icicle-toggle-transforming still works well.
1541 ;; 2011/10/21 dadams
1542 ;; icicle-read-color, icicle-where-is, icicle-apply((-list)-action), icicle-search-thing-args,
1543 ;; icicle-set-completion-methods-for-command:
1544 ;; Use icicle-propertize.
1545 ;; 2011/10/19 dadams
1546 ;; Added: icicle-describe-process, icicle-send-signal-to-process. Thx to Michael Heerdegen.
1547 ;; 2011/10/10 dadams
1548 ;; icicle-define-search-bookmark-command: Moved to icicles-mac.el.
1549 ;; Moved here (and to icicles-face.el) from icicles-mac.el: icicle-maybe-byte-compile-after-load.
1550 ;; Replaced bodies of eval-after-load sexps with call to icicle-cmd2-after-load-*.
1551 ;; Added: icicle-cmd2-after-load-(bookmark+'|hexrgb|highlight|palette|synonyms).
1552 ;; Removed: icicle-read-single-key-description (unused).
1553 ;; 2011/10/08 dadams
1554 ;; Moved to icicles-mac.el: icicle-read-kbd-macro, icicle-edmacro-parse-keys.
1555 ;; Removed: icicle-orig-(buff|win)-key-complete - use regular icicle-orig*.
1556 ;; icicle-complete-keys: Bind regular icicle-orig*, not icicle-orig-(buff|win)-key-complete.
1557 ;; icicle-complete-keys-1: New icicle-key-description, with PREFIX arg and ANGLES, not NO-ANGLES.
1558 ;; icicle-complete-keys-action: Set buffer & window to icicle-orig*.
1559 ;; icicle-keys+cmds-w-prefix: Use icicle-delete-alist-dups. Thx to Michael Heerdegen.
1560 ;; icicle-add-key+cmd:
1561 ;; Do not follow indirection to ultimate symbol. Include NO-REMAP arg to key-binding.
1562 ;; Replace ESC by M-.. Follow remapped command to its target. Thx to Michael Heerdegen.
1563 ;; Do not remove VARIATION* names (Unicode).
1564 ;; icicle-read-single-key-description: Change NO-ANGLES arg to ANGLES.
1565 ;; icicle-where-is: Use icicle-key-description, not key-description.
1566 ;; icicle-Info-(index|read-node-name), icicle-search-bookmark, palette-mode-map: Use icicle-kbd.
1567 ;; 2011/10/02 dadams
1568 ;; icicle-add-key+cmd:
1569 ;; Use Unicode char name in place of self-insert-command. Remove empty and VARIATION* names.
1570 ;; 2011/09/27 dadams
1571 ;; Added: icicle-search-modes (macro).
1572 ;; icicle-search-where-arg: Use icicle-search-modes - handle zero prefix arg.
1573 ;; icicle-(occur|sentences|paragraphs|pages), Use *-search-where-arg, to search files & bookmarks.
1574 ;; icicle-search-define-candidates: Use nil for BEG and END if region is empty.
1575 ;; Thx to Michael Heerdegen.
1576 ;; 2011/09/18 dadams
1577 ;; Added: icicle-search-property-default-match-fn. Handles MuMaMo major mode zones.
1578 ;; icicle-search-char-prop-matches-p. Doesn't just flatten overlay & text props and use
1579 ;; set intersect. Uses icicle-some with MATCH-FN.
1580 ;; Moved to icicles-fn.el: icicle-flat-list (no longer used).
1581 ;; Moved to icicles-cmd1.el: icicle-(keyword|regexp)-list.
1582 ;; icicle-color-completion-setup: Ensure icicle-prompt is a string before adding property.
1583 ;; icicle-search-where-arg, icicle-search-choose-buffers, icicle-search-(buffer|file):
1584 ;; Bind icicle-prompt.
1585 ;; icicle-search-char-property: Added arg MATCH-FN. Add it to the return value.
1586 ;; icicle-search-(overlay|text)-property:
1587 ;; Added arg MATCH-FN (pass to icicle-search). Made all args mandatory.
1588 ;; icicle-search-text-property: When PROP is face, call font-lock-fontify-region.
1589 ;; icicle-search-property-args:
1590 ;; Bind match-fn to icicle-search-property-default-match-fn. Add it to return value.
1591 ;; Bind icicle-prompt and icicle-hist-var.
1592 ;; For values: for non-face prop, use icicle-sexp-list, not icicle-completing-read-history.
1593 ;; icicle-search-char-property-scan:
1594 ;; Added arg MATCH-FN. Use icicle-search-char-prop-matches-p.
1595 ;; Extend zone if matching prop values also in contiguous zone.
1596 ;; icicle-search-(regexp|thing)-scan, icicle-search-highlight-input-matches-here,
1597 ;; icicle-search-char-property-scan:
1598 ;; Handle t value for icicle-search-highlight-threshold.
1599 ;; 2011/09/09 dadams
1600 ;; icicle-search-w-isearch-string: Added prefix-arg treatment.
1601 ;; 2011/09/08 dadams
1602 ;; Added: icicle-search-w-isearch-string, from a lambda in icicles-mode.el.
1603 ;; 2011/09/05 dadams
1604 ;; icicle-imenu-*: Others -> Other, as submenu name.
1605 ;; icicle-search, icicle-imenu*-full: Mention C-x . in doc strings.
1606 ;; 2011/09/04 dadams
1607 ;; icicle-add-key+cmd: Handle Emacs 23+ consp char-range events, for self-insert.
1608 ;; Applied renaming of icicle-complete-keys-self-insert-flag to *-ranges.
1609 ;; Removed: icicle-insert-char.
1610 ;; 2011/09/02 dadams
1611 ;; Removed: icicle-Info-index-cmd, icicle-Info-menu-cmd, icicle-Info-goto-node-cmd.
1612 ;; icicle-Info-index(-20|-action): Use old-Info-index.
1613 ;; icicle-Info-goto-node-1: Use old-Info-goto-node.
1614 ;; 2011/08/27 dadams
1615 ;; icicle-search-char-property-scan: Added optional ACTION arg. Move hit-end after ACTION.
1616 ;; Added: icicle-imenu-1. Created from old icicle-imenu*, but: (1) added args FULLP for full,
1617 ;; SUBMENU-FN to pick submenu, (2) pass PREDICATE and pos after forward-sexp for FULLP.
1618 ;; icicle-imenu, icicle-imenu-command: Use icicle-imenu-1.
1619 ;; Added: icicle-imenu(-command|-non-interactive-function)-full, icicle-search-defs-full,
1620 ;; icicle-imenu-(macro|variable|user-option|face|key-(implicit|explicit)-map)(-full),
1621 ;; icicle-apply-action, icicle-apply-list-action, icicle-search-regexp-scan,
1622 ;; icicle-search-action-1, icicle-search-bookmark, icicle-define-search-bookmark-command,
1623 ;; icicle-search-thing-scan, icicle-search-char-property-scan:
1624 ;; Use icicle-condition-case-no-debug instead of condition-case. Thx to Michael Heerdegen.
1625 ;; 2011/08/26 dadams
1626 ;; icicle-imenu:
1627 ;; When multiple Others menus, name them uniquely.
1628 ;; When only one submenu, just use it (no choosing).
1629 ;; icicle-complete-keys-action: Removed useless condition-case.
1630 ;; Make sure to pass format string as first arg to calls to functions error and message.
1631 ;; 2011/08/17 dadams
1632 ;; icicle-search-thing-scan: Use correct code (not 1+) also if thingatpt+.el is loaded.
1633 ;; icicle-search-regexp-scan: Quit while loop if no more match, except if complementing.
1634 ;; icicle-search-read-context-regexp, icicle-search-(thing|property)-args, icicle-tags-search:
1635 ;; Change prompt when complementing (add: *NOT*).
1636 ;; 2011/08/16 dadams
1637 ;; icicle-maybe-byte-compile-after-load the eval-after-load definitions.
1638 ;; 2011/08/14 dadams
1639 ;; icicle-search-thing-scan: Handle icicle-search-complement-domain-p.
1640 ;; Updated doc strings of search commands to mention complementing.
1641 ;; icicle-imenu(-command|-non-interactive-function), icicle-complete-keys-1:
1642 ;; Replaced mapc with dolist so do not require cl.el at runtime (Emacs 20).
1643 ;; icicle-imenu: Ignore case when completing to the type (function etc.).
1644 ;; 2011/08/13 dadams
1645 ;; Added: icicle-bookmark-a-file.
1646 ;; icicle-search-regexp-scan, icicle-search-char-property-scan:
1647 ;; Handle icicle-search-complement-domain-p.
1648 ;; 2011/08/12 dadams
1649 ;; icicle-find-file-tagged(-other-window):
1650 ;; Bind icicle-full-cand-fn. Use icicle-file-bindings.
1651 ;; Use icicle-(un)bind-file-candidate-keys. Don't do/undo such bindings individually here.
1652 ;; 2011/08/09 dadams
1653 ;; icicle-find-file-tagged(-other-window): Bind C-x a [+-] to adding/removing tags.
1654 ;; icicle-define(-file)-command calls: Removed undo code if same as last code, so do not repeat it.
1655 ;; 2011/08/08 dadams
1656 ;; icicle-find-file-tagged(-other-window): Prefix arg means use all (not just tagged) autofiles.
1657 ;; 2011/08/07 dadams
1658 ;; Added: icicle-find-file-tagged(-other-window).
1659 ;; 2011/08/05 dadams
1660 ;; icicle-(un)tag-a-file: Bind icicle-use-candidates-only-once-flag to t.
1661 ;; 2011/07/31 dadams
1662 ;; Added: icicle-search-xml-element-text-node.
1663 ;; icicle-search-thing(-scan): Added TRANSFORM-FN arg.
1664 ;; icicle-search-define-candidates: Added message when only one candidate.
1665 ;; 2011/07/30 dadams
1666 ;; Moved here from icicles-cmd1.el and wrapped in eval-after-load bookmark+.el:
1667 ;; icicle-find-file-(all|some)-tags(-regexp)(-other-window), icicle-(un)tag-a-file.
1668 ;; Moved here from synonyms.el and wrapped in eval-after-load synonyms.el: (icicle)-synonyms.
1669 ;; Moved here from icicles-fn.el and wrapped in eval-after-load hexrgb.el:
1670 ;; icicle-color-*-lessp (except -rgb-), icicle-color-completion-setup, icicle-color-help,
1671 ;; icicle-make-color-candidate.
1672 ;; Soft-require hexrgb.el only when byte-compile.
1673 ;; icicle-frame-(bg|fg), icicle-read-color: Wrap in eval-after-load hexrgb.el.
1674 ;; icicle-(insert|complete)-thesaurus-entry(-cand-fn): Wrap in eval-after-load synonyms.el.
1675 ;; icicle-choose(-(in)visible)-faces, icicle-(hide|show)(-only)-faces:
1676 ;; Use eval-after-load highlight.el, not featurep.
1677 ;; icicle-pick-color-by-name(-action), palette keys: Use eval-after-load palette.el, not featurep.
1678 ;; 2011/07/27 dadams
1679 ;; icicle-search-read-word: Changed regexp to what vanilla Emacs uses for word search.
1680 ;; icicle-search(-word): Updated doc string wrt word search.
1681 ;; 2011/07/26 dadams
1682 ;; Removed: icicle-list-end-string (no longer needed). Thx to Michael Heerdegen.
1683 ;; 2011/07/24 dadams
1684 ;; Moved here from palette.el, and renamed with prefix icicle-:
1685 ;; icicle-pick-color-by-name, icicle-pick-color-by-name-action
1686 ;; Moved here from highlight.el, and renamed with prefix icicle- (from hlt-) and suffix -faces:
1687 ;; icicle-(hide|show)(-only)-faces, icicle-choose(-(in)visible)-faces.
1688 ;; Added: icicle-invisible-face-p.
1689 ;; icicle-choose(-(in)visible)-faces: Corrected:
1690 ;; Lax if icicle-WYSIWYG-Completions-flag. Put icicle-fancy-candidates on prompt.
1691 ;; Use icicle-list-*, for multi-completions. Use icicle-invisible-face-p to test invisibility.
1692 ;; Added eval-when-compile with soft requires for bookmark+.el and highlight.el.
1693 ;; 2011/07/18 dadams
1694 ;; icicle-search-thing, icicle-search-thing-scan:
1695 ;; Moved normalizing BEG, END to *-scan, for multiple buffers case. Thx to M. Heerdegen.
1696 ;; 2011/07/13 dadams
1697 ;; icicle-search-replace-cand-in-mct: Changed <= to < for len-rep. Thx to M. Heerdegen.
1698 ;; 2011/07/04 dadams
1699 ;; icicle-search-in-context-default-fn:
1700 ;; Bound icicle-last-completion-candidate, icicle-completion-candidates. Thx to M. Heerdegen.
1701 ;; 2011/07/02 dadams
1702 ;; Added: icicle-defined-thing-p.
1703 ;; icicle-things-alist: Use icicle-defined-thing-p. Thx to Michael Heerdegen.
1704 ;; 2011/06/03 dadams
1705 ;; Replace icicle-help-in-mode-line-flag by icicle-help-in-mode-line-delay everywhere.
1706 ;; 2011/05/25 dadams
1707 ;; icicle-fundoc, icicle-vardoc, icicle-plist:
1708 ;; Use icicle-doc-action only. Bind icicle-list-use-nth-parts to (1). Thx to Michael Heerdegen.
1709 ;; 2011/05/24 dadams
1710 ;; icicle-invisible-p: Use invisible-p if available (Emacs 22+).
1711 ;; 2011/05/22 dadams
1712 ;; Added defvars for free vars to quiet byte compiler.
1713 ;; 2011/05/16 dadams
1714 ;; icicle-search-thing-args: Message about C-M-; when ignoring comments and THING is comment.
1715 ;; 2011/05/15 dadams
1716 ;; Added: icicle-search-xml-element.
1717 ;; icicle-search-thing, icicle-search-thing-scan: Added PREDICATE optional arg.
1718 ;; 2011/05/14 dadams
1719 ;; Added: icicle-things-alist.
1720 ;; icicle-search-thing-args, icicle-(next|previous)-visible-thing:
1721 ;; Use icicle-things-alist, not (now removed) option icicle-thing-types.
1722 ;; icicle-next-visible-thing-1: Change comparison to < from <=
1723 ;; Removed: icicle-defined-thing-p (not used).
1724 ;; 2011/05/13 dadams
1725 ;; Renamed: icicle-last-visible-thing-type to icicle-last-thing-type.
1726 ;; icicle-last-thing-type: Use thgcmd-last-thing-type value as default, if available.
1727 ;; icicle-search-thing: Ensure BEG is before END (swap if needed).
1728 ;; icicle-search-thing-args, icicle-(next|previous)-visible-thing:
1729 ;; Use completing-read, not read-string, to read thing type.
1730 ;; icicle-(next|previous)-visible-thing: Do not set this-command (no need).
1731 ;; icicle-search-thing-scan: Removed code defining BEG, END if nil. Go to BEG, not min BEG, END.
1732 ;; icicle-next-visible-thing-2: Do not return an empty thing.
1733 ;; 2011/05/11 dadams
1734 ;; Added: icicle-invisible-p, icicle-previous-single-char-property-change.
1735 ;; icicle-search-thing-scan:
1736 ;; Handle also text invisible due to overlay, and invisible prop other than t.
1737 ;; icicle-next-visible-thing-2: Separate handling overlay and text prop. Use icicle-invisible-p.
1738 ;; 2011/05/10 dadams
1739 ;; Added: icicle-last-visible-thing-type, icicle-previous-visible-thing,
1740 ;; icicle-next-visible-thing-(and-bounds|1|2).
1741 ;; Alias icicle-next-visible-thing-(1|2) to the same commands from thing-cmds.el.
1742 ;; icicle-search-thing-scan:
1743 ;; Use when, not while, to skip over invisible (since use next-single-property-change).
1744 ;; Use new icicle-next-visible-and-bounds, so save-excursion and goto min.
1745 ;; Old icicle-next-visible is now ~ *-2, but that handles backward too. New one is a command.
1746 ;; 2011/05/07 dadams
1747 ;; Added: icicle-with-comments-hidden, icicle-hide/show-comments, icicle-search-thing,
1748 ;; icicle-defined-thing-p, icicle-next-visible-thing, icicle-search-thing-args,
1749 ;; icicle-search-thing-scan.
1750 ;; icicle-search: Doc string tweak.
1751 ;; 2011/05/04 dadams
1752 ;; icicle-search-read-context-regexp: Changed prompt to make clear that we search within contexts.
1753 ;; icicle-search-define-candidates: Remove any region highlighting, so we can see search hits.
1754 ;; 2011/04/29 dadams
1755 ;; icicle-choose-candidate-of-type: Rewrote buffer bindings based on icicle-buffer-bindings.
1756 ;; 2011/04/26 dadams
1757 ;; Added: icicle-search-autofile-bookmark.
1758 ;; 2011/04/12 dadams
1759 ;; Added: icicle-search-bookmark-list-marked, icicle-named-colors.
1760 ;; icicle-search-bookmark, icicle-define-search-bookmark-command:
1761 ;; Applied Bookmark+ renaming: bmkp-sort-and-remove-dups -> bmkp-sort-omit.
1762 ;; icicle-comint-search: Improved doc string (don't use C-next etc.).
1763 ;; icicle-frame-(bg|fg), icicle-read-color: Rename free var named-colors to icicle-named-colors.
1764 ;; Bind it in icicle-frame-(bg|fg), icicle-read-color, for use in icicle-color-completion-setup.
1765 ;; 2011/04/04 dadams
1766 ;; icicle-insert-thesaurus-entry-cand-fn, icicle-goto-marker-1-action, icicle-search-final-act,
1767 ;; icicle-comint-search: Use icicle-recenter.
1768 ;; 2011/04/02 dadams
1769 ;; Added: icicle-info-(buff|window), icicle-key-prefix(-2), icicle-active-map,
1770 ;; Moved here from icicles-var.el:
1771 ;; icicle-orig-buff-key-complete, icicle-orig-extra-cands, icicle-orig-font, icicle-orig-frame,
1772 ;; icicle-orig-menu-bar, icicle-orig-pixelsize, icicle-orig-pointsize, icicle-this-cmd-keys,
1773 ;; icicle-orig-show-initially-flag, icicle-orig-sort-orders-alist, icicle-orig-win-key-complete.
1774 ;; icicle-Info-index(-goto-node)(-action):
1775 ;; Use (new) icicle-info-(buff|window), not info-(buff|window).
1776 ;; icicle-describe-option-of-type, icicle-describe-opt-of-type-complete:
1777 ;; Use (new) icicle-pref-arg, not pref-arg.
1778 ;; icicle-search: Bind (new) icicle-scan-fn-or-regexp.
1779 ;; Moved any alias inside emacs-major-version test.
1780 ;; icicle-complete-keys-1: Bind (new) icicle-key-prefix.
1781 ;; icicle-complete-keys-action: Use (new) icicle-key-prefix, not prefix.
1782 ;; icicle-keys+cmds-w-prefix: Bind (new) icicle-key-prefix-2. Use icicle-active-map, not map.
1783 ;; icicle-add-key+cmd: Use icicle-key-prefix-2 and icicle-active-map, not prefix and map.
1784 ;; 2011/03/31 dadams
1785 ;; icicle-describe-opt-of-type-complete: Wrap icicle-var-is-of-type-p with condition-case.
1786 ;; 2011/03/29 dadams
1787 ;; icicle-search-action-1: Set icicle-other-window. Use icicle-target-window-recenter-amount.
1788 ;; Use new icicle-* vars for various free vars (orig-buff etc.).
1789 ;; icicle-frame-(bg|fg), icicle-read-color: prompt -> icicle-prompt.
1790 ;; 2011/03/03 dadams
1791 ;; icicle-insert-thesaurus-entry: Changed to strict completion from lax.
1792 ;; icicle-describe-option-of-type, icicle-(fun|var)doc, icicle-plist:
1793 ;; Removed mention of RET in prompt.
1794 ;; 2011/02/17 dadams
1795 ;; Added defalias old-read-color for read-color.
1796 ;; 2010/12/26 dadams
1797 ;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
1798 ;; 2010/12/18 dadams
1799 ;; Added more autoload cookies for commands. Thx to Richard Kim.
1800 ;; Specify command and file for commands defined by Icicles macros.
1801 ;; Require icicles-opt.el before icicles-var.el (but it makes no difference).
1802 ;; 2010/12/14 dadams
1803 ;; icicle-search-regexp-scan: Don't create marker if hit string is "".
1804 ;; icicle-search-highlight-all-input-matches:
1805 ;; Don't search within empty search contexts. Do nothing if input and expanded input are "".
1806 ;; If search doesn't advance point then forward-char. Stop searching if eobp.
1807 ;; Don't add (empty) overlay if search is empty.
1808 ;; icicle-search-highlight-context-levels: Don't add overlay for empty match.
1809 ;; icicle-search-highlight-input-matches-here: If search doesn't advance point then forward-char.
1810 ;; icicle-search-char-property-scan: Don't create empty overlays.
1811 ;; 2010/11/10 dadams
1812 ;; Added: icicle-read-args-for-set-completion-methods.
1813 ;; icicle-set-((S-)TAB|completion)-methods-for-command: Added METHODS arg.
1814 ;; 2010/11/09 dadams
1815 ;; Added: icicle-set-((S-)TAB|completion)-methods-for-command.
1816 ;; 2010/11/07 dadams
1817 ;; Applied renaming of icicle-all-candidates-action-p to icicle-all-candidates-action.
1818 ;; 2010/10/27 dadams
1819 ;; icicle-where-is: Use different prompt if prefix arg. Clarify the pref-arg diff in doc string.
1820 ;; 2010/10/25 dadams
1821 ;; icicle-search: Remove mention of icicle-search-context-match-predicate (no longer exists).
1822 ;; 2010/10/24 dadams
1823 ;; icicle-where-is, icicle-apropos-(variable|option|function|command), icicle-apply,
1824 ;; icicle-save-string-to-variable, icicle-choose-candidate-of-type,
1825 ;; icicle-read-var-value-satisfying:
1826 ;; Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
1827 ;; 2010/10/09 dadams
1828 ;; icicle-Info-goto-node, icicle-apply, icicle-goto-marker, icicle-occur, icicle-complete-keys,
1829 ;; icicle-(comint|compilation)-search, icicle-search(-sentences|-paragraphs|-pages):
1830 ;; Updated doc string for new prefix and modal cycling keys.
1831 ;; 2010/07/17 dadams
1832 ;; Added: icicle-search-url-bookmark.
1833 ;; icicle-search-bookmark, icicle-define-search-bookmark-command: w3m -> url. Added C-M-u binding.
1834 ;; 2010/07/14 dadams
1835 ;; icicle-Info-index: Bind C-x m to icicle-bookmark-info-other-window.
1836 ;; icicle-Info-read-node-name: Restore original binding of C-x m, if any.
1837 ;; 2010/06/21 dadams
1838 ;; icicle-comint-search: Wrap search with unwind-protect to remove hook. Thx to M. Heerdegen.
1839 ;; 2010/06/18 dadams
1840 ;; icicle-search-replace-match: Specific error message for read-only buffer. Thx to M. Heerdegen.
1841 ;; Renamed: bookmarkp-* to bmkp-*.
1842 ;; 2010/06/12 dadams
1843 ;; icicle-goto-marker-or-set-mark-command:
1844 ;; Set this-command so C-SPC C-SPC activates when not t-m mode. Thx to Chris Hecker.
1845 ;; 2010/06/11 dadams
1846 ;; icicle-search-action-1: (unless (pos-visible-in-window-p) (recenter -2)). Thx to M. Heerdegen.
1847 ;; 2010/06/08 dadams
1848 ;; icicle-search-bookmark, icicle-define-search-bookmark-command:
1849 ;; Use icicle-bookmark-delete-action.
1850 ;; Use condition-case to filter out bad bookmarks (so no error).
1851 ;; 2010/06/04 dadams
1852 ;; Added: icicle-ido-like-mode.
1853 ;; 2010/05/16 dadams
1854 ;; Added: icicle-search-(all|some)-tags(-regexp)-bookmark, icicle-search-desktop-bookmark,
1855 ;; icicle-search-specific-(buffers|files)-bookmark, icicle-search-this-buffer-bookmark.
1856 ;; icicle-define-search-bookmark-command: Defined cmd requires bookmark+.el. Added &rest arg ARGS.
1857 ;; 2010/05/15 dadams
1858 ;; icicle-search-highlight-and-maybe-replace: If candidate number is nil, set to 0.
1859 ;; icicle-search: Updated doc string: Can sort. Don't say not to use C-|.
1860 ;; 2010/05/09 dadams
1861 ;; Icicles search: Change to allow sorting. Use mctized candidates, not alist + candidate nb.
1862 ;; icicle-search-highlight-and-maybe-replace:
1863 ;; Use *-replace-cand-in-mct, not *-replace-cand-in-alist. Do not *-input-matches-here.
1864 ;; icicle-search-replace-cand-in-mct: Rewrote.
1865 ;; Handle multi-completions also. Update CAND+MRKER to use replacement string, but keep props.
1866 ;; icicle-search-in-context-default-fn: Rewrote.
1867 ;; Update icicle-last-completion-candidate to current candidate. Insert that.
1868 ;; Recompute input-match highlighting in current context. Remove current if no candidates.
1869 ;; icicle-search-action-1: Do nothing if no candidates.
1870 ;; icicle-search-help: Bind icicle-whole-candidate-as-text-prop-p to t, not nil.
1871 ;; 2010/05/04 dadams
1872 ;; icicle-object-action: Pass TYP to icicle-apply-to-saved-candidate. (UNTESTED)
1873 ;; icicle-choose-anything-candidate: Pass TYPE to icicle-apply-to-saved-candidate. (UNTESTED)
1874 ;; icicle-apply, icicle-read-var-value-satisfying: Bug fix: Removed #'.
1875 ;; 2010/04/30 dadams
1876 ;; icicle-search: Delete icicle-search-current-overlay via icicle-no-match-hook (& restore hook).
1877 ;; 2010/04/29 dadams
1878 ;; icicle-apply: Added optional args predicate initial-input hist def inherit-input-method.
1879 ;; Pass them to icicle-explore.
1880 ;; icicle-goto-marker-1: Pass a PREDICATE arg that ensures the marker points somewhere.
1881 ;; 2010/04/25 dadams
1882 ;; icicle-complete-keys-action:
1883 ;; Bind icicle-*, esp. *-initially-flag, around call of this-command-keys. Thx to M. Heerdegen.
1884 ;; icicle-complete-keys: Save some icicle-* vars to reuse in icicle-complete-keys-action.
1885 ;; 2010/04/17 dadams
1886 ;; icicle-search-bookmark, icicle-define-search-bookmark-command:
1887 ;; Use icicle-transform-multi-completion in icicle-delete-candidate-object.
1888 ;; 2010/04/08 dadams
1889 ;; icicle-get-anything-candidates: Removed #' - it was preventing the fn from being functionp.
1890 ;; 2010/04/03 dadams
1891 ;; Removed: icicle-search-desktop-bookmark (no need).
1892 ;; 2010/04/02 dadams
1893 ;; Removed:
1894 ;; icicle-add-region, icicle-delete-region-from-alist, icicle-purge-bad-file-regions,
1895 ;; icicle-region-add-buffers, icicle-region-add-short-help, icicle-region-help,
1896 ;; icicle-region-open-all-files, icicle-regions, icicle-region-sorted,
1897 ;; icicle-remove-all-regions-action, icicle-remove-all-regions-in-buffer, icicle-remove-region,
1898 ;; icicle-search-all-regions, icicle-search-region(-action), icicle-select-region(-action).
1899 ;; Added:
1900 ;; icicle-search-bookmark-list-bookmark, icicle-search-bookmarks-together,
1901 ;; icicle-search-desktop-bookmark, icicle-search-dired-bookmark, icicle-search-man-bookmark.
1902 ;; icicle-exchange-point-and-mark, icicle-search(-define-candidates),
1903 ;; icicle-char-properties-in-buffers:
1904 ;; Use only region bookmarks, not Icicles saved regions.
1905 ;; icicle-exchange-point-and-mark: Negative prefix arg prompts for bookmark name.
1906 ;; icicle-search-define-candidates(-1): Raise the no-candidates error in parent, not in (-1).
1907 ;; icicle-search-bookmark: Use full multi-completions. Use bookmark sort orders.
1908 ;; Define narrowing keys in both minibuffer maps.
1909 ;; icicle-search-bookmark-action: Transform multi-completion. Use bookmark posns only for region.
1910 ;; icicle-define-search-bookmark-command: Added PROMPT arg. Use multi-completions, bookmark sorts.
1911 ;; 2010/03/28 dadams
1912 ;; Renamed: icicle-search-all-regions to icicle-search-region.
1913 ;; Removed: old icicle-search-region (use icicle-search-region-bookmark instead),
1914 ;; icicle-region-add-buffers, icicle-region-add-short-help, icicle-region-help,
1915 ;; icicle-region-sorted, icicle-region-open-all-files, icicle-add-region,
1916 ;; icicle-remove-region, icicle-delete-region-from-alist,
1917 ;; icicle-purge-bad-file-regions, icicle-remove-all-regions-(in-buffer|action).
1918 ;; icicle-search-all-regions: Use region bookmarks, not icicle-region-alist.
1919 ;; 2010/03/27 dadams
1920 ;; Added: icicle-search-(bookmark-list|desktop|dired|man)-bookmark.
1921 ;; icicle-search-bookmark: Use multi-completions.
1922 ;; icicle-search-bookmark-action:
1923 ;; Use icicle-transform-multi-completion. Use both minibuffer completion maps.
1924 ;; Search region if region bookmark.
1925 ;; icicle-define-search-bookmark-command: Added optional PROMPT arg. Use multi-completions.
1926 ;; 2010/03/13 dadams
1927 ;; Applied renaming of icicle-add-buffer-name-flag to icicle-show-multi-completion-flag.
1928 ;; 2010/03/09 dadams
1929 ;; icicle-regions: Use icicle-reversible-sort (with KEY arg), not sort.
1930 ;; 2010/03/03 dadams
1931 ;; Applied renamings: icicle-sort-function to icicle-sort-comparer
1932 ;; icicle-sort-functions-alist to icicle-sort-orders-alist,
1933 ;; icicle-alternative-sort-function to icicle-alternative-sort-comparer,
1934 ;; icicle-last-sort-function to icicle-last-sort-comparer.
1935 ;; 2010/02/06 dadams
1936 ;; icicle-where-is: Make sure orig-buff is current when look up the bindings.
1937 ;; 2010/01/12 dadams
1938 ;; icicle-insert-thesaurus-entry-cand-fn, icicle-marker+text,
1939 ;; icicle-search-(bookmark|region)-action, icicle-char-properties-in-buffer,
1940 ;; icicle-search-char-property-scan:
1941 ;; save-excursion + set-buffer -> with-current-buffer (+ save-excursion).
1942 ;; icicle-search-regexp-scan: set-buffer -> with-current-buffer.
1943 ;; 2009/12/13 dadams
1944 ;; icicle-Info-read-node-name: Bind C-x m to icicle-bookmark-info-other-window.
1945 ;; 2009/11/24 dadams
1946 ;; icicle-read-color: Copy the prompt string, so *-color-completion-setup can put props.
1947 ;; 2009/11/22 dadams
1948 ;; icicle-frame-(bg|fg): Don't apply *-make-color-candidate to named-colors (done already).
1949 ;; 2009/11/03 dadams
1950 ;; icicle-frame-(bg|fg): Use named-colors, not x-defined-colors.
1951 ;; icicle-read-color: No need to bind icicle-transform-function, since we use hexrgb.el.
1952 ;; 2009/09/05 dadams
1953 ;; icicle-search-replace-all-search-hits:
1954 ;; Bind to nil: icicle-minibuffer-message-ok-p, icicle-help-in-mode-line-flag.
1955 ;; icicle-search-action-1: Add condition-case to ignore disappearance of *Completions* win.
1956 ;; icicle-search-highlight-and-maybe-replace:
1957 ;; Apply renaming of icicle-acting-on-next/prev (no -p).
1958 ;; Use length of *-completion-candidates, not mct.
1959 ;; Fix assignment of new candidate nb, and for both directions.
1960 ;; Bind icicle-minibuffer-message-ok-p to inhibit no-candidates msg.
1961 ;; Wrap around to first only if not icicle-acting-on-next/prev.
1962 ;; 2009/09/02 dadams
1963 ;; icicle-exchange-point-and-mark: Respect icicle-region-bookmarks-flag.
1964 ;; 2009/08/29 dadams
1965 ;; Added: icicle-define-search-bookmark-command,
1966 ;; icicle-search(-region|-info|-gnus|-w3m|(-non|-local|-remote)-file)-bookmark,
1967 ;; icicle-search-bookmark-action.
1968 ;; Moved (and redefined) to icicles-cmd1.el: icicle-select-bookmarked-region.
1969 ;; (lambda...) -> #'(lambda...).
1970 ;; 2009/08/25 dadams
1971 ;; Added icicle-select-bookmarked-region.
1972 ;; icicle-exchange-point-and-mark:
1973 ;; If bookmark+ is loaded, use region bookmarks.
1974 ;; Raise error if try to save inactive region or try to select with no saved regions.
1975 ;; 2009/08/11 dadams
1976 ;; Added: icicle-search-replace-all-search-hits.
1977 ;; Renamed: icicle-search-replace-candidate to icicle-search-replace-cand-in-alist.
1978 ;; Added: icicle-search-replace-cand-in-mct (not used, for now).
1979 ;; icicle-search:
1980 ;; Bind icicle-all-candidates-list-alt-action-fn to icicle-search-replace-all-search-hits.
1981 ;; Bind replace-count to 0. Bind icicle-current-input to empty string.
1982 ;; Updated doc string.
1983 ;; icicle-search-replace-search-hit:
1984 ;; Do not bind icicle-completion-candidates, icicle-candidate-nb, icicle-last-input.
1985 ;; No lack-of-current-candidate error if icicle-all-candidates-action-p.
1986 ;; Added: icicle-search-action-1 (factored out from icicle-search-action.
1987 ;; icicle-search-action, icicle-search-help:
1988 ;; Bind icicle-whole-candidate-as-text-prop-p to nil, to force use of alist.
1989 ;; icicle-search-action(-1): Do not bind icicle-candidate-nb, so don't save and restore it.
1990 ;; icicle-search-in-context-default-fn: If replacement tried, then update the dialog state.
1991 ;; icicle-search-highlight-and-maybe-replace: REWRITE.
1992 ;; Msg if string to be replaced is not found in candidate.
1993 ;; Swap order: Don't search unless first time (or replacing all).
1994 ;; icicle-search-replace-candidate -> icicle-search-replace-cand-in-alist.
1995 ;; If replacement done, then: Update alist, minibuffer-completion-table, and
1996 ;; minibuffer content. Change candidate nb if navigating next/prev. Complete again.
1997 ;; Return indication of whether we tried to replace something.
1998 ;; icicle-search-replace-cand-in-alist: Added catch, to skip whole list traversal.
1999 ;; Moved byte-compile quieting defvars to top level. Added one for tooltip-mode.
2000 ;; 2009/07/20 dadams
2001 ;; icicle-font: Ensure no nil elements in COLLECTION arg to completing-read, for Emacs 22+.
2002 ;; 2009/06/07 dadams
2003 ;; icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
2004 ;; Added: icicle-purge-bad-file-regions.
2005 ;; icicle-add-region, icicle-(select|search)-region-action:
2006 ;; Special-case Info buffers. Thx to Thierry Volpiatto.
2007 ;; 2009/05/28 dadams
2008 ;; Bind icicle-search-replacement to nil. (Somehow forgot when moved to icicle-explore.)
2009 ;; icicle-search-replace-search-hit: Raise an error if icicle-candidate-nb is nil.
2010 ;; 2009/05/26 dadams
2011 ;; icicle-compilation-search: Use value 'until-move for next-error-highlight.
2012 ;; 2009/05/22 dadams
2013 ;; Added: icicle-Info-virtual-book.
2014 ;; Require icicles-mac.el if load-library doesn't find it.
2015 ;; icicle-search: Set icicle-search-final-choice to result.
2016 ;; Created - Split off from icicles-cmd.el.
2017
2018 ;;;(@* "CHANGE LOG FOR `icicles-face.el'")
2019 ;;
2020 ;; 2014/10/19 dadams
2021 ;; icicle-historical-candidate-other: Updated doc string for icicle-Info-highlight-visited-nodes.
2022 ;; 2013/07/07 dadams
2023 ;; Added: icicle-key-complete-menu, icicle-key-complete-menu-local.
2024 ;; 2013/02/04 dadams
2025 ;; Removed all autoload cookies.
2026 ;; 2013/01/18 dadams
2027 ;; Removed: icicle-increment-color-(hue|saturation|value) - moved to hexrgb.el and modified.
2028 ;; icicle-search-context-level-*: Use hexrgb-increment-*, with past increment divided by 100.
2029 ;; 2012/11/04 dadams
2030 ;; icicle-annotation: Fix default value for older Emacs versions.
2031 ;; 2012/10/27 dadams
2032 ;; Added icicle-annotation.
2033 ;; 2012/07/07 dadams
2034 ;; Added: icicle-historical-candidate-other (used only for icicle-Info-index so far).
2035 ;; 2012/03/29 dadams
2036 ;; Removed autoload cookies: hexrgb require, defs of *-increment-*, and *-search-context-level-*.
2037 ;; 2012/03/28 dadams
2038 ;; Soft-require hexrgb.el at autoload generation-time and load-time. Removed eval-when-compile.
2039 ;; Moved *-increment-* function defs from *-face-after-load-hexrgb to (when (featurep 'hexrgb)...),
2040 ;; and add autoload cookie for that.
2041 ;; Removed: icicle-byte-compile-eval-after-load-flag, icicle-maybe-byte-compile-after-load,
2042 ;; icicle-face-after-load-hexrgb.
2043 ;; Use (when (featurep 'hexrgb)...) instead of (defun icicle-face-after-load-hexrgb...) as wrapper.
2044 ;; Removed calls to icicle-maybe-byte-compile-after-load.
2045 ;; Removed (eval-after-load "hexrgb" '(icicle-face-after-load-hexrgb)).
2046 ;; Removed autoload cookie with autoloads for icicle-increment-color-*.
2047 ;; Changed FILE arg in autoloads by removing .el, so .elc will be loaded if available.
2048 ;; 2012/03/25 dadams
2049 ;; Replace autoload cookies for *-increment-color-* by autoloads inside soft-require of hexrgb.el.
2050 ;; 2012/02/12
2051 ;; Added def of icicle-byte-compile-eval-after-load-flag here too, so can load before icicles.el.
2052 ;; 2011/10/21 dadams
2053 ;; Added face: icicle-msg-emphasis.
2054 ;; 2011/10/10 dadams
2055 ;; Added: icicle-face-after-load-hexrgb.
2056 ;; Replaced bodies of eval-after-load sexps with call to icicle-face-after-load-hexrgb.
2057 ;; Added autoload cookies for icicle-increment-color-*.
2058 ;; Removed eval-when-compile to load icicles-mac.
2059 ;; Moved here (and to icicles-cmd2.el) from icicles-mac.el: icicle-maybe-byte-compile-after-load.
2060 ;; 2011/10/08 dadams
2061 ;; eval-when-compile icicles-mac.el.
2062 ;; 2011/08/16 dadams
2063 ;; Require icicles-mac.el.
2064 ;; icicle-maybe-byte-compile-after-load the eval-after-load definitions.
2065 ;; 2011/07/30 dadams
2066 ;; eval-after-load hexrgb.el, not runtime error if not feature, for all fns that use hexrgb.el.
2067 ;; Moved here from icicles-opt.el: icicle-increment-color-value.
2068 ;; icicle-search-context-level-*: Use fboundp icicle-increment-color-satur*, not featurep hexrgb.
2069 ;; Soft-require hexrgb.el when byte compile.
2070 ;; 2010/12/26 dadams
2071 ;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
2072 ;; 2010/05/05 dadams
2073 ;; icicle-mustmatch-completion: Changed line-width from 2 to -2.
2074 ;; 2010/04/08 dadams
2075 ;; Added autoload cookies.
2076 ;; 2010/03/13 dadams
2077 ;; Made icicle-candidate-part paler (light background): #EF84FFEAF427, not #DB17FFF4E581.
2078 ;; 2010/02/17 dadams
2079 ;; Moved functions here from icicles-opt.el: icicle-increment-color-(hue|saturation).
2080 ;; So no longer require icicles-opt.el.
2081 ;; 2009/04/18 dadams
2082 ;; Removed load-time warning about using Icicles in a text terminal.
2083 ;; 2009/04/12 dadams
2084 ;; Added: face icicle-mode-line-help.
2085 ;; 2009/01/13 dadams
2086 ;; Added: icicle-extra-candidate.
2087 ;; 2008/10/26 dadams
2088 ;; Added group: Icicles-Files.
2089 ;; 2008/03/29 dadams
2090 ;; Redefined and renamed faces for completion status indicators.
2091 ;; Renamed: icicle-completing-mustmatch-prompt-prefix to icicle-mustmatch-completion,
2092 ;; icicle-mode-lighter-highlight(-plus) to icicle(-multi-command)-completion.
2093 ;; Removed: icicle-completing-prompt-prefix, icicle-prompt-suffix.
2094 ;; 2008/03/09 dadams
2095 ;; Added: icicle-mode-lighter-highlight.
2096 ;; 2007/12/10 dadams
2097 ;; Added: icicle-input-completion-fail-lax.
2098 ;; 2007/11/18 dadams
2099 ;; Added: icicle-proxy-candidate.
2100 ;; icicle-special-candidate: No longer use a raised box.
2101 ;; 2007/10/22 dadams
2102 ;; icicle-special-candidate: Raised box.
2103 ;; 2007/08/19 dadams
2104 ;; Added: icicle-input-completion-fail.
2105 ;; 2007/06/21 dadams
2106 ;; Added: icicle-candidate-part. Changed definition of icicle-special-candidate.
2107 ;; 2007/06/17 dadams
2108 ;; Added: icicle-saved-candidate.
2109 ;; 2007/06/12 dadams
2110 ;; icicle-prompt-suffix: No box for dark background.
2111 ;; 2007/06/11 dadams
2112 ;; Better defaults for dark background frames.
2113 ;; 2007/06/07 dadams
2114 ;; Changed emacs-commentary-link to point to icicles-doc1.el and icicles-doc2.el.
2115 ;; 2007/05/22 dadams
2116 ;; Protected icicle-search-context-level-1 to *-8, in case hexrgb is not loaded.
2117 ;; 2007/04/20 dadams
2118 ;; Added: icicle-search-context-level-1 through *-8.
2119 ;; Require icicles-opt.el.
2120 ;; 2006/12/22 dadams
2121 ;; Renamed group icicles to Icicles.
2122 ;; Added Icicles subgroups, and assigned them instead of group Icicles:
2123 ;; -Buffers, -Completions-Display, -Key-Bindings, -Key-Completion, -Matching,
2124 ;; -Minibuffer-Display, -Miscellaneous, -Searching.
2125 ;; 2006/11/06 dadams
2126 ;; icicle-search-highlight-all-flag -> icicle-search-highlight-threshold (integer)
2127 ;; 2006/10/16 dadams
2128 ;; icicle-special-candidate: changed background from Pink to #DB17FFF4E581.
2129 ;; 2006/10/04 dadams
2130 ;; Added: icicle-special-candidate.
2131 ;; 2006/08/13 dadams
2132 ;; Added: icicle-completing-prompt-prefix.
2133 ;; 2006/07/16 dadams
2134 ;; Added dark-background face suggestions from Le Wang - thx.
2135 ;; 2006/06/30 dadams
2136 ;; Added: minibuffer-prompt for Emacs < 22 (e.g. Emacs 21.4 has propertize).
2137 ;; 2006/04/28 dadams
2138 ;; Added: icicle-whitespace-highlight.
2139 ;; 2006/04/14 dadams
2140 ;; Renamed icicle-search-refined-regexp to icicle-search-current-input.
2141 ;; 2006/04/07 dadams
2142 ;; Added: icicle-search-main-regexp-others.
2143 ;; Renamed: icicle-search-main-regexp to icicle-search-main-regexp-current.
2144 ;; 2006/03/27 dadams
2145 ;; Added: icicle-search-*-regexp.
2146 ;; 2006/03/22 dadams
2147 ;; Renamed: icicle-root-highlight-* to icicle-match-highlight-*.
2148 ;; 2006/03/21 dadams
2149 ;; Added: icicle-common-match-highlight-Completions.
2150 ;; icicle-root-highlight-Completions: Changed default face.
2151 ;; 2006/03/08 dadams
2152 ;; Added: icicle-current-candidate-highlight.
2153
2154 ;;;(@* "CHANGE LOG FOR `icicles-fn.el'")
2155 ;;
2156 ;; 2015/02/07 dadams
2157 ;; icicle-unsorted-file-name-prefix-candidates: For proxy cands and extra cands, use relative name.
2158 ;; 2015/01/21 dadams
2159 ;; icicle-choose-completion-string (Emacs 23.2+): Delete region even for INSERT-FUNCTION case.
2160 ;; 2015/01/20 dadams
2161 ;; icicle-choose-completion-string (Emacs 23.2+): Update for Emacs 24+.
2162 ;; Added arg INSERT-FUNCTION. Remove mouse-face from copy of CHOICE, before inserting it,
2163 ;; instead of removing it from buffer text after inserting.
2164 ;; Delete region up to read-only limits.
2165 ;; 2014/12/23 dadams
2166 ;; Added: icicle-alist-key-match.
2167 ;; 2014/12/15 dadams
2168 ;; Added: icicle-bookmark-non-dir-file-p.
2169 ;; 2014/11/15 dadams
2170 ;; Moved to icicles-mode.el: icicle-help-line-buffer, icicle-help-line-file,
2171 ;; icicle-show-help-in-mode-line, icicle-show-in-mode-line.
2172 ;; 2014/11/08 dadams
2173 ;; icicle-barf-if-*: Use or, not unless, so return non-nil if no error raised.
2174 ;; 2014/10/27 dadams
2175 ;; icicle-make-char-candidate, icicle-read-char-by-name:
2176 ;; Respect icicle-read-char-by-name-multi-completion-flag: nothing special if nil.
2177 ;; icicle-read-char-by-name: Do not override option icicle-show-multi-completion-flag.
2178 ;; 2014/10/19 dadams
2179 ;; icicle-display-candidates-in-Completions: Moved to icicles-mcmd.el. It is now a command.
2180 ;; Highlight Info index-entry cand on demand with C-x C-M-l, or automatically per new option
2181 ;; icicle-Info-highlight-visited-nodes.
2182 ;; 2014/09/12 dadams
2183 ;; icicle-display-candidates-in-Completions:
2184 ;; Handle possibility that image-dired-get-thumbnail-image returns nil, i.e., if it cannot
2185 ;; make/get a thumbnail for the image.
2186 ;; Handle Emacs 20 crash for expand-file-name with nil second arg.
2187 ;; icicle-expand-file-name-20: Make arg DIR optional.
2188 ;; 2014/08/29 dadams
2189 ;; Added: icicle-file-elc-p.
2190 ;; 2014/08/22 dadams
2191 ;; Added: icicle-file-desktop-p.
2192 ;; icicle-file-compressed-p: Handle cons argument.
2193 ;; 2014/08/21 dadams
2194 ;; Added: icicle-bookmark-annotated-p.
2195 ;; 2014/08/19 dadams
2196 ;; Added: icicle-bookmark-navlist-p.
2197 ;; Removed (commented out):
2198 ;; icicle-bookmark-last-specific-(buffer|file)-p, icicle-bookmark-this-file-p (not used yet).
2199 ;; icicle-bookmark(-autonamed)-this-buffer-p, icicle-bookmark-(dired|file)-this-dir-p:
2200 ;; Wrap body in with-current-buffer, for ORIG buf.
2201 ;; 2014/08/17 dadams
2202 ;; Moved to icicles-opt.el: icicle-color-defined-p.
2203 ;; 2014/08/12 dadams
2204 ;; icicle-special-candidates-first-p: Use icicle-special-candidate-p.
2205 ;; 2014/08/10 dadams
2206 ;; Added:
2207 ;; icicle-bookmark-autofile-p, icicle-bookmark-autonamed-p,
2208 ;; icicle-bookmark-autonamed-this-buffer-p, icicle-bookmark-bookmark-file-p,
2209 ;; icicle-bookmark-bookmark-list-p, icicle-bookmark-desktop-p, icicle-bookmark-dired-p,
2210 ;; icicle-bookmark-dired-this-dir-p, icicle-bookmark-dired-wildcards-p, icicle-bookmark-file-p,
2211 ;; icicle-bookmark-file-this-dir-p, icicle-bookmark-flagged-p, icicle-bookmark-function-p,
2212 ;; icicle-bookmark-gnus-p, icicle-bookmark-icicle-search-hits-p, icicle-bookmark-image-p,
2213 ;; icicle-bookmark-info-p, icicle-bookmark-last-specific-buffer-p,
2214 ;; icicle-bookmark-last-specific-file-p, icicle-bookmark-lighted-p,
2215 ;; icicle-bookmark-local-directory-p, icicle-bookmark-local-file-p, icicle-bookmark-man-p,
2216 ;; icicle-bookmark-marked-p, icicle-bookmark-modified-p, icicle-bookmark-non-file-p,
2217 ;; icicle-bookmark-omitted-p, icicle-bookmark-orphaned-file-p,
2218 ;; icicle-bookmark-orphaned-local-file-p, icicle-bookmark-orphaned-remote-file-p,
2219 ;; icicle-bookmark-region-p, icicle-bookmark-remote-file-p, icicle-bookmark-sequence-p,
2220 ;; icicle-bookmark-snippet-p, icicle-bookmark-tagged-p, icicle-bookmark-temporary-p,
2221 ;; icicle-bookmark-this-buffer-p, icicle-bookmark-this-file-p, icicle-bookmark-url-p,
2222 ;; icicle-bookmark-url-browse-p, icicle-bookmark-variable-list-p, icicle-bookmark-w3m-p,
2223 ;; icicle-buffer-modified-p, icicle-color-defined-p, icicle-color-gray-p,
2224 ;; icicle-color-supported-p, icicle-compilation-buffer-p, icicle-custom-variable-p,
2225 ;; icicle-face-bold-p, icicle-face-differs-from-default-p, icicle-face-inverse-video-p,
2226 ;; icicle-face-italic-p, icicle-face-nontrivial-p, icicle-face-underline-p,
2227 ;; icicle-ffap-file-remote-p, icicle-ffap-url-p, icicle-file-accessible-directory-p,
2228 ;; icicle-file-compressed-p, icicle-file-directory-p, icicle-file-executable-p,
2229 ;; icicle-file-exists-p, icicle-file-locked-p, icicle-file-name-absolute-p,
2230 ;; icicle-file-regular-p, icicle-file-symlink-p, icicle-frame-iconified-p,
2231 ;; icicle-frame-invisible-p, icicle-frame-splittable-p, icicle-frame-thumbnail-p,
2232 ;; icicle-frame-unsplittable-p, icicle-interesting-buffer-p, icicle-next-error-buffer-p,
2233 ;; icicle-nondirectory-p, icicle-not-special-candidate-p, icicle-package-built-in-p,
2234 ;; icicle-package-disabled-p, icicle-package-installed-p, icicle-recentf-include-p,
2235 ;; icicle-recentf-keep-p, icicle-special-candidate-p, icicle-special-display-p,
2236 ;; icicle-special-variable-p, icicle-window-at-bottom-p, icicle-window-at-left-p,
2237 ;; icicle-window-at-right-p, icicle-window-at-top-p, icicle-window-dedicated-p,
2238 ;; icicle-window-deletable-p, icicle-window-invisible-p.
2239 ;; Moved here from icicles-opt.el (and modified): icicle-image-file-p.
2240 ;; Moved here from icicles-cmd1.el (and modified): icicle-binary-option-p.
2241 ;; Moved here from icicles-cmd2.el (and modified): icicle-defined-thing-p.
2242 ;; Renamed: icicle-lisp-vanilla-completing-read to icicle-completing-read-default.
2243 ;; icicle-completing-read-default: Rewrote based on completing-read-default. Added opt arg KEYMAP.
2244 ;; icicle-completing-read: Added optional arg KEYMAP.
2245 ;; icicle-read-from-minibuffer: When Emacs < 23 and DEFAULT-VALUE is a list, set it to the car.
2246 ;; Advise read-file-local-variable: Bind icicle-variable-completing-p.
2247 ;; icicle-file-readable-p, icicle-file-remote-p, icicle-looks-like-dir-name-p:
2248 ;; Make it work also for a cons (completion) arg.
2249 ;; icicle-completing-p: Rewrote to just look for a binding of [icicle-is-completion-map].
2250 ;; 2014/07/29 dadams
2251 ;; icicle-read-file-name: For Emacs 23+ do not bind ffap vars to nil, so get multiple M-n defaults.
2252 ;; This reverses the change from 2008/02/03.
2253 ;; 2014/05/19 dadams
2254 ;; icicle-completing-read: Use only first default to prepare for icicle-handle-default-for-prompt.
2255 ;; 2014/05/17 dadams
2256 ;; icicle-read-shell-command-completing: with-output-to-temp-buffer -> icicle-with-help-window.
2257 ;; 2014/05/16 dadams
2258 ;; icicle-completing-read, args DEF and INCLUDE passed to icicle-handle-default-for-prompt:
2259 ;; If insert-default-directory then show DEF as relative to default-directory.
2260 ;; Pass non-nil INCLUDE only if insert-default-directory does not insert it as input.
2261 ;; 2014/04/29 dadams
2262 ;; Added: icicle-mouseover-help, icicle-create-thumb.
2263 ;; icicle-display-candidates-in-Completions: Provide mouseover tooltip image preview.
2264 ;; Hide mouse-face highlighting when image-only.
2265 ;; 2014/04/20 dadams
2266 ;; icicle-insert-candidates:
2267 ;; Automatic on/off of Icomplete mode and sorting: Turn on only if it was turned on here.
2268 ;; When turn off, set flag icicle-auto-no-*-p.
2269 ;; Icomplete: Call icomplete-exhibit when turn on. Update icicle-last-icomplete-mode-value.
2270 ;; No Icomplete auto on/off for Emacs < 23.
2271 ;; Removed some old $$$$$ comments (cleanup).
2272 ;; 2014/04/13 dadams
2273 ;; icicle-insert-candidates:
2274 ;; When toggling icomplete-mode automatically, ensure done in the minibuffer, not *Completions*.
2275 ;; When toggling sorting: Do not turn on unless it was automatically turned off for this cmd.
2276 ;; 2014/04/01 dadams
2277 ;; icicle-display-candidates-in-Completions:
2278 ;; For icicle-candidate-properties-alist, use \', not $, in regexp for string-match.
2279 ;; icicle-insert-candidates: Do not use icomplete-tidy for Emacs 20-22.
2280 ;; 2014/03/06 dadams
2281 ;; icicle-insert-candidates:
2282 ;; Respect new options icicle-icomplete-mode-max-candidates and icicle-sorting-max-candidates.
2283 ;; 2014/03/04 dadams
2284 ;; icicle-display-candidates-in-Completions:
2285 ;; Use icicle-display-completion-list, not display-completion-list.
2286 ;; Removed icicle-condition-case-no-debug around that call.
2287 ;; Pass NB-CANDS to icicle-display-completion-list.
2288 ;; icicle-display-completion-list: Added optional arg NB-CANDS. Pass it to *-insert-candidates.
2289 ;; icicle-insert-candidates: Added optional arg NUMBER-OF-CANDIDATES. Use it if available.
2290 ;; 2014/02/21 dadams
2291 ;; Added: icicle-read-file-name-default.
2292 ;; icicle-read-file-name, icicle-read-file-name-1, icicle-dired-read-shell-command,
2293 ;; icicle-dired-guess-shell-command:
2294 ;; Added optional HISTORY arg.
2295 ;; icicle-read-file-name-1: If icicle-orig-read-file-name-fn = read-file-name-default then
2296 ;; use icicle-read-file-name-default, which accepts a HISTORY arg.
2297 ;; icicle-dired-read-shell-command, icicle-dired-guess-shell-command:
2298 ;; Use shell-command-history by default.
2299 ;; icicle-read-shell-command-completing: Pass HIST to icicle-read-file-name.
2300 ;; 2014/02/19 dadams
2301 ;; icicle-read-file-name:
2302 ;; 2014/02/08 dadams
2303 ;; Renamed: icicle-file-directory-p to icicle-looks-like-dir-name-p.
2304 ;; icicle-looks-like-dir-name-p: Better doc string.
2305 ;; 2014/02/07 dadams
2306 ;; Added: icicle-unlist. Use it in icicle-read-from-minibuffer, icicle-read-string-completing,
2307 ;; icicle-read-string, icicle-insert-candidates, icicle-read-regexp.
2308 ;; 2014/01/18 dadams
2309 ;; icicle-read-face-name: Rewrote for Emacs 24. Doc string updated per Emacs bug #16483.
2310 ;; 2014/01/11 dadams
2311 ;; icicle-completion-setup-function (Emacs 20-21): Wrap in condition case - Emacs bug.
2312 ;; 2014/01/05 dadams
2313 ;; Added: icicle-list-position, icicle-repeat-command.
2314 ;; icicle-completing-read: Bind icicle-orig-*, so can use icicle-recomplete-from-original-domain.
2315 ;; 2013/12/30 dadams
2316 ;; icicle-make-char-candidate: 3-part multi-completion now - added hex code point.
2317 ;; icicle-read-char-by-name:
2318 ;; 3-part multi-completion now - can complete against hex code point too.
2319 ;; Ensure ignore case for comparison outside completion. Report invalid INPUT, not CHR.
2320 ;; 2013/12/29 dadams
2321 ;; Added: icicle-make-char-candidate. Add hex and octal for code point in help echo.
2322 ;; icicle-read-char-by-name: Redefined to use multi-completion. Can now use with narrowing.
2323 ;; 2013/12/26 dadams
2324 ;; icicle-read-char-by-name: put NAME, not SYMB as icicle-orig-cand text property.
2325 ;; 2013/11/28 dadams
2326 ;; icicle-read-face-name: Better fix for brain-dead vanilla Emacs PROMPT.
2327 ;; 2013/11/24 dadams
2328 ;; icicle-read-face-name: Updated for Emacs 24.
2329 ;; 2013/11/19 dadams
2330 ;; Removed: icicle-ORIG-read-file-name-default and icicle-read-file-name-default.
2331 ;; 2013/10/30 dadams
2332 ;; icicle-fuzzy-candidates, icicle(-unsorted(-file-name))-(prefix|apropos)-candidates:
2333 ;; Always set icicle-common-match-string - to nil or to icicle-expanded-common-match.
2334 ;; For prefix completion, icicle-expanded-common-match if icicle-must-pass-after-match-predicate.
2335 ;; 2013/08/03 dadams
2336 ;; Added: icicle-dirs-and-latest-use-first-p, icicle-latest-use-first-p.
2337 ;; Renamed: icicle-last-(accessed|modified)-first-p to icicle-latest-(access|modification)-first-p,
2338 ;; icicle-most-recent-first-p to icicle-latest-input-first-p.
2339 ;; icicle-show-help-in-mode-line, icicle-help-line-(buffer|file):
2340 ;; Propertize only the values, not their headings too.
2341 ;; icicle-help-line-file: Add access time.
2342 ;; icicle-historical-alphabetic-p, icicle-latest-input-first-p: Apply abbreviate-file-name.
2343 ;; 2013/08/01 dadams
2344 ;; icicle-choose-completion-string: Do not display obnoxious vanilla Emacs obsolescence warning.
2345 ;; 2013/07/04 dadams
2346 ;; Added: icicle-find-tag-default-as-regexp, icicle-read-regexp.
2347 ;; 2013/06/21 dadams
2348 ;; icicle-display-candidates-in-Completions: Removed vestigial code for highlighting special cand.
2349 ;; 2013/05/11 dadams
2350 ;; icicle-handle-default-for-prompt: Do not add nil DEFAULT to prompt.
2351 ;; 2013/04/30 dadams
2352 ;; Renamed: icicle-add-default-to-prompt to icicle-handle-default-for-prompt.
2353 ;; icicle-handle-default-for-prompt: Always remove existing default expression from prompt.
2354 ;; Added INCLUDE. If nil, do not add DEFAULT (just remove it).
2355 ;; icicle-completing-read:
2356 ;; Invoke icicle-handle-default-for-prompt unconditionally, passing (eq icicle-default-value t).
2357 ;; icicle-read-string: Use icicle-handle-default-for-prompt, not icicle-add-default-to-prompt.
2358 ;; 2013/04/22 dadams
2359 ;; icicle-read-buffer: Pass all args to read-buffer-function funcall. Thx to Nick Alcock.
2360 ;; 2013/04/08 dadams
2361 ;; icicle-choose-completion-string: Added versions for Emacs 23.1 and 23.2+.
2362 ;; 2013/04/06 dadams
2363 ;; icicle-completing-p:
2364 ;; Bug fix for Emacs > 24.3. Test minibuffer-completing-file-name, not filename keymaps.
2365 ;; 2013/03/11 dadams
2366 ;; icicle-try-switch-buffer: If BUFFER is already current, do nothing, to prevent hooks kicking in.
2367 ;; 2013/03/07 dadams
2368 ;; Updated to use icicle-user-error where appropriate.
2369 ;; 2013/03/05 dadams
2370 ;; Added: icicle-defaults-at-point.
2371 ;; 2013/02/28 dadams
2372 ;; eval-after-load crm: Use fset, not defalias. Thx to Michael Heerdegen.
2373 ;; 2013/02/26 dadams
2374 ;; icicle-(prefix|apropos)-any(-file-name)-candidates-p:
2375 ;; Fix for use with Icomplete - take icicle-must-pass-after-match-predicate into account.
2376 ;; 2013/02/12 dadams
2377 ;; Typo fix: minibuffer-default--* -> minibuffer-default-*. Thx to Christopher Schmidt.
2378 ;; 2013/02/10 dadams
2379 ;; icicle-bounds-of-thing-at-point: Use SYNTAX-TABLE arg only if it is a syntax table.
2380 ;; 2013/02/06 dadams
2381 ;; icicle-unpropertize-completion: Added rear-nonsticky. Thx to Christopher Schmidt.
2382 ;; 2013/02/04 dadams
2383 ;; Removed all autoload cookies.
2384 ;; 2013/02/03 dadams
2385 ;; Moved to icicles-mcmd.el: icicle-isearch-complete-past-string.
2386 ;; 2012/12/31 dadams
2387 ;; icicle-next-candidate: Set icicle-mode-line-help. Do not call icicle-show-help-in-mode-line.
2388 ;; icicle-insert-cand-in-minibuffer:
2389 ;; Ignore errors in put-text-property. If retrieve singleton cand set, it is read-only (why?).
2390 ;; icicle-insert-candidates: Corrected '(face 'icicle-annotation) to '(face icicle-annotation).
2391 ;; 2012/12/28 dadams
2392 ;; icicle-add-default-to-prompt: Handle nil DEFAULT. Thx to Michael Heerdegen.
2393 ;; 2012/12/22 dadams
2394 ;; Added: icicle-add-default-to-prompt.
2395 ;; icicle-completing-read, icicle-read-string: Use icicle-add-default-to-prompt.
2396 ;; 2012/12/21 dadams
2397 ;; icicle-unsorted(-file-name)-(prefix|apropos)-candidates:
2398 ;; Compute common match in all cases except i-e-i-t-c-m = 0, and set *-common-match-string to it.
2399 ;; icicle-save-or-restore-input:
2400 ;; Removed test for icicle-expand-input-to-common-match level: expand for all levels.
2401 ;; 2012/12/14 dadams
2402 ;; Added: icicle-multi-comp-apropos-complete-match.
2403 ;; 2012/12/12 dadams
2404 ;; icicle-expanded-common-match-1:
2405 ;; Use string-match, not icicle-apropos-complete-match-fn, except for first condition (and).
2406 ;; icicle-insert-candidates: Wrap funcall of annotation fn with condition-case, just in case.
2407 ;; 2012/12/10 dadams
2408 ;; icicle-read-file-name-default: Protect minibuffer-local-filename-syntax with boundp.
2409 ;; 2012/12/06 dadams
2410 ;; Moved minibuffer-with-setup-hook here from icicles-mac.el (and removed eval-when-compile).
2411 ;; icicle-read-shell-command, icicle-dired-read-shell-command:
2412 ;; Use minibuffer-with-setup-hook unconditionally, since provided here unconditionally.
2413 ;; 2012/12/05 dadams
2414 ;; icicle-completing-read: Remove HINT before adding it our way. Thx to Christopher Schmidt.
2415 ;; 2012/12/02 dadams
2416 ;; Added: icicle-read-file-name-default, icicle-ORIG-read-file-name-default.
2417 ;; 2012/11/27 dadams
2418 ;; icicle-completing-read:
2419 ;; For icicle-default-value = t: Append ": " to icicle-default-in-prompt-format-function result.
2420 ;; 2012/11/26 dadams
2421 ;; icicle-completing-read: Use new option icicle-default-in-prompt-format-function.
2422 ;; 2012/11/21 dadams
2423 ;; icicle-completing-read: Commented out removing dir part of icicle-default-value in prompt.
2424 ;; 2012/11/17 dadams
2425 ;; icicle-completing-read:
2426 ;; When (eq icicle-default-value t) add DEF to PROMPT. Thx to Michael Heerdegen.
2427 ;; 2012/11/10 dadams
2428 ;; icicle-custom-type: icicle-get-safe -> get.
2429 ;; icicle-fuzzy-candidates: Show all (not no) candidates for empty input, sorted alphabetically.
2430 ;; 2012/11/08 dadams
2431 ;; Added: icicle-get-safe.
2432 ;; icicle-completion-setup-function, icicle-var-(is-of|matches|inherits)-type-p,
2433 ;; icicle-var-val-satisfies-type-p, icicle-custom-type, icicle-fit-completions-window,
2434 ;; icicle-next-candidate, icicle-recompute-candidates, icicle-save-or-restore-input,
2435 ;; icicle-highlight-input-noncompletion:
2436 ;; Use icicle-get-safe.
2437 ;; 2012/11/07 dadams
2438 ;; icicle-read-char-by-name, icicle-read-from-minibuffer: char-to-string -> string.
2439 ;; icicle-scatter: Non-backtracking version.
2440 ;; 2012/10/27 dadams
2441 ;; Added: icicle-member-ignore-case.
2442 ;; icicle-insert-candidates:
2443 ;; Insert annotation only if icicle-show-annotations-flag. Highlight w/ face icicle-annotation.
2444 ;; 2012/10/24 dadams
2445 ;; icicle-completion--embedded-envvar-table: Return 0 as the first boundary. Thx to M. Heerdegen.
2446 ;; 2012/10/22 dadams
2447 ;; icicle-display-candidates-in-Completions: Check Info topic first in icicle-Info-index-cache.
2448 ;; icicle-Info-node-is-indexed-by-topic:
2449 ;; Return triplet: (TOPIC NODE FILE). Cache triplet in icicle-Info-index-cache (new).
2450 ;; 2012/10/21 dadams
2451 ;; icicle-take: Use a simpler definition.
2452 ;; 2012/10/20 dadams
2453 ;; icicle-completion--embedded-envvar-table: Added more of vanilla code. Thx to Michael Heerdegen.
2454 ;; 2012/10/18 dadams
2455 ;; icicle-read-file-name, icicle-read-number, icicle-read-char-exclusive,
2456 ;; icicle-read-string-completing, icicle-read-face-name:
2457 ;; Do not augment icicle-proxy-candidates if icicle-exclude-default-proxies is non-nil.
2458 ;; For all of them except icicle-read-face-name (already done): Augment, do not just replace.
2459 ;; 2012/10/17 dadams
2460 ;; icicle-display-candidates-in-Completions:
2461 ;; For *Completions* mode line: treat nil icicle-apropos-complete-match-fn like apropos.
2462 ;; 2012/10/15 dadams
2463 ;; icicle-(highlight|clear)-lighter: Use || to indicate multi-completion.
2464 ;; 2012/10/10 dadams
2465 ;; icicle-display-candidates-in-Completions:
2466 ;; Add lighter and completion mode to *Completions* mode line.
2467 ;; icicle-(prefix|apropos)-candidates:
2468 ;; Call *-maybe-sort-maybe-truncate even if *-sort-comparer is nil. Needed for truncation.
2469 ;; icicle-maybe-sort-maybe-truncate:
2470 ;; Handle new icicle-max-candidates value of RESET, from icicle-doremi-increment-max-candidates+
2471 ;; 2012/10/09 dadams
2472 ;; icicle-read-face-name: Bind icicle-multi-completing-p to t.
2473 ;; 2012/10/05 dadams
2474 ;; icicle-next-candidate: Removed setting of icicle-default-directory (unused).
2475 ;; 2012/10/02 dadams
2476 ;; icicle-file-name-(non)directory, icicle-input-from-minibuffer:
2477 ;; string-to-list -> append the string to (),
2478 ;; Because Emacs 24 now breaks older byte-compiled code, since it removed string-to-sequence.
2479 ;; 2012/10/01 dadams
2480 ;; icicle-file-name-(non)directory, icicle-input-from-minibuffer:
2481 ;; Rewrote to be more robust: do not hard-code ^G as the REPL-CHAR. Use a char not in string.
2482 ;; 2012/09/25 dadams
2483 ;; icicle-input-from-minibuffer, icicle-minibuf-input-sans-dir,
2484 ;; icicle-highlight-input-noncompletion:
2485 ;; Handle the icicle-abs-file-candidates case also - same as the icicle-file-name-input-p case.
2486 ;; 2012/09/24 dadams
2487 ;; Added: icicle-last-accessed-first-p.
2488 ;; icicle-read-shell-command-completing: Pass non-nil NO-ERROR-P arg to icicle-describe-file.
2489 ;; icicle-file-type-less-p, icicle-dirs-(first|last)-p, icicle-last-modified-first-p:
2490 ;; Use file comparison also if icicle-abs-file-candidates.
2491 ;; 2012/09/17 dadams
2492 ;; icicle-insert-candidates:
2493 ;; Add an extra newline after multi-line candidates only, not after all cands if ANY-MULTILINE-P.
2494 ;; 2012/09/08 dadams
2495 ;; Added: icicle-read-buffer, icicle-ORIG-read-buffer.
2496 ;; icicle-unsorted-(prefix|apropos)-candidates:
2497 ;; Use buffer-name alist, if not ignoring space prefix and not internal-complete-buffer.
2498 ;; Ensure icicle-buffer-name-input-p to pass icicle-buffer-ignore-space-prefix-flag arg.
2499 ;; icicle-unsorted-file-name-(prefix|apropos)-candidates,
2500 ;; icicle-apropos-any-file-name-candidates-p:
2501 ;; Do not pass icicle-ignore-space-prefix-flag arg to icicle-all-completions.
2502 ;; icicle-display-Completions, icicle-apropos-any-candidates-p:
2503 ;; Ensure icicle-buffer-name-input-p to pass icicle-buffer-ignore-space-prefix-flag arg.
2504 ;; 2012/09/06 dadams
2505 ;; Added icicle-string-match-p. Use it.
2506 ;; 2012/08/31 dadams
2507 ;; icicle-read-from-minibuffer: Improved doc string.
2508 ;; 2012/08/28 dadams
2509 ;; icicle-read-number: Allow for DEFAULT to be a cons with nil elements. Thx to C. Schmidt.
2510 ;; 2012/08/18 dadams
2511 ;; Added: icicle-bounds-of-thing-at-point.
2512 ;; thing-at-point -> icicle-thing-at-point, everywhere.
2513 ;; 2012/08/13 dadams
2514 ;; icicle-completing-read-multiple: Doc string improvement.
2515 ;; 2012/08/06 dadams
2516 ;; Renamed old-* to icicle-ORIG-*:
2517 ;; icicle-ORIG-choose-completion-string, icicle-ORIG-completing-read,
2518 ;; icicle-ORIG-completing-read-multiple, icicle-ORIG-completion-setup-function,
2519 ;; icicle-ORIG-dired-smart-shell-command, icicle-ORIG-display-completion-list,
2520 ;; icicle-ORIG-face-valid-attribute-values, icicle-ORIG-minibuffer-default-add-completions,
2521 ;; icicle-ORIG-read-char-by-name, icicle-ORIG-read-face-name,
2522 ;; icicle-ORIG-read-from-minibuffer, icicle-ORIG-read-number,
2523 ;; icicle-ORIG-read-string, icicle-ORIG-shell-command, icicle-ORIG-shell-command-on-region,
2524 ;; icicle-ORIG-crm-local-completion-map, icicle-ORIG-crm-local-must-match-map.
2525 ;; icicle-read-file-name-1: Applied renaming: new name icicle-orig-read-file-name-fn.
2526 ;; 2012/07/21 dadams
2527 ;; icicle-show-help-in-mode-line:
2528 ;; Allow value of property icicle-mode-line-help to be a function.
2529 ;; For a file-name candidate, call icicle-help-line-buffer with NO-FILE-P.
2530 ;; icicle-help-line-buffer: Added optional arg NO-FILE-P. Include file name, if any.
2531 ;; 2012/07/19 dadams
2532 ;; icicle-insert-candidates: Fix change from 7/18: ensure icicle-last-completion is non-nil.
2533 ;; 2012/07/18 dadams
2534 ;; icicle-insert-candidates: Handle annotations.
2535 ;; 2012/07/17 dadams
2536 ;; icicle-read-char-by-name: Show char and its code point in mode line when cycle.
2537 ;; 2012/07/07 dadams
2538 ;; Added: icicle-Info-node-is-indexed-by-topic.
2539 ;; icicle-display-candidates-in-Completions:
2540 ;; Added highlighting of topics pointing to visited Info nodes, for icicle-Info-index.
2541 ;; Call icicle-transform-multi-completion on file-name cand for historical-cand highlighting.
2542 ;; File-name completion fixes (thx to Michael Heerdegen):
2543 ;; Added: icicle-completion--embedded-envvar-table.
2544 ;; icicle-unsorted-file-name-prefix-candidates:
2545 ;; Use substitute-in-file-name on arg INPUT.
2546 ;; For Emacs 24+, bind minibuffer-completion-table to icicle-file-name-completion-table.
2547 ;; icicle-insert-cand-in-minibuffer: Removed insert-default-directory from AND as condition.
2548 ;; icicle-save-or-restore-input:
2549 ;; Removed insert-default-directory from COMMON condition for file-name completion.
2550 ;; Pass (NOT INSERT-DEFAULT-DIRECTORY) as 3rd arg to icicle-abbreviate-or-expand-file-name.
2551 ;; icicle-abbreviate-or-expand-file-name: Added optional arg DONT-ADD-DEFAULT-DIR-P.
2552 ;; Removed #' from lambdas.
2553 ;; 2012/06/25 dadams
2554 ;; Corrected change of 5/13: Removed call to file-name-as-directory.
2555 ;; icicle-alt-act-fn-for-type: Removed backquoting from lambda, since it uses a macro in *-mac.el.
2556 ;; 2012/06/24 dadams
2557 ;; icicle-read-shell-command-completing:
2558 ;; Use shell-command-to-string in *Help* explicitly, not just shell-command.
2559 ;; Thx to Christopher Schmidt & Michael Heerdegen.
2560 ;; icicle-help-line-(buffer|file): Handle fixnum overflow if buffer or file is too big.
2561 ;; icicle-insert-candidates: Remove extra newline at eob when vertical format.
2562 ;; 2012/06/21 dadams
2563 ;; icicle-prefix-any-file-name-candidates-p: updated for Emacs 23+ (file-name PRED).
2564 ;; 2012/06/18 dadams
2565 ;; icicle-help-line-buffer: Use format-mode-line if available.
2566 ;; 2012/06/09 dadams
2567 ;; icicle-display-candidates-in-Completions, icicle-highlight-initial-whitespace:
2568 ;; Use point-max if 1+ point is greater.
2569 ;; icicle-display-completion-list:
2570 ;; Insert help string only if there are completions.
2571 ;; Show text "There are no possible..." anyway, even if the show flag is nil.
2572 ;; icicle-expand-file-name-20: Move forward-line only if the show flag is non-nil - else no-op.
2573 ;; 2012/05/22 dadams
2574 ;; icicle-file-remote-p: Aligned with bmkp-file-remote-p - removed ffap; added final string-match.
2575 ;; icicle-show-help-in-mode-line, icicle-quote-file-name-part-of-cmd:
2576 ;; Test with icicle-file-remote-p before file-exists-p, to avoid Tramp. Thx to Michael Albinus.
2577 ;; 2012/05/13 dadams
2578 ;; icicle-completion-setup-function (all Emacs versions):
2579 ;; Corrected what becomes default-directory: Use substitute-in-file-name, to expand env vars.
2580 ;; Use expand-file-name and file-name-as-directory.
2581 ;; 2012/04/30 dadams
2582 ;; icicle-unsorted-file-name-prefix-candidates:
2583 ;; Forgot to use PRED, not default-directory, in second call to try-completion.
2584 ;; 2012/04/23 dadams
2585 ;; icicle-files-within(-1): If Dired+ available, use diredp-files-within(-1).
2586 ;; Moved to dired+.el (and renamed prefix): icicle-directories-within.
2587 ;; 2012/04/20 dadams
2588 ;; Added: icicle-directories-within (not yet used).
2589 ;; icicle-files-within: Added args INCLUDE-DIRS-P, PREDICATE. Remove killed Dired buffers.
2590 ;; 2012/04/13 dadams
2591 ;; icicle-files-within-1: Allow FILE-LIST to be a function. *-within: Updated doc accordingly.
2592 ;; 2012/04/08 dadams
2593 ;; icicle-minibuffer-default-add-dired-shell-commands: Make autoload cookie load icicles[.el].
2594 ;; 2012/03/30 dadams
2595 ;; icicle-join-nth-parts:
2596 ;; Handle a singleton PARTS normally, according to icicle-list-use-nth-parts - do not just
2597 ;; return the CAND. If PARTS is nil, return "".
2598 ;; 2012/03/16 dadams
2599 ;; icicle-display-candidates-in-Completions:
2600 ;; Show thumbnails for image-file bookmarks also (see Bookmark+).
2601 ;; Call remove-images to remove left-over image overlays (bug fix).
2602 ;; icicle-unpropertize-completion: Removed icicle-keep-newline (no longer used).
2603 ;; 2012/02/29 dadams
2604 ;; icicle-set-difference. Added optional KEY arg.
2605 ;; 2012/02/22 dadams
2606 ;; icicle-read-char-by-name: Updated per Juri's Emacs 24 patch (see Emacs bug #10857).
2607 ;; 2012/02/18 dadams
2608 ;; icicle-show-help-in-mode-line: Use property help-echo if icicle-mode-line-help is nil.
2609 ;; 2012/02/11 dadams
2610 ;; icicle-display-candidates-in-Completions:
2611 ;; Always highlight expanded common match now, not just when prefix or *-expand-input is non-nil.
2612 ;; icicle-unsorted(-file-name)-(prefix|apropos)-candidates:
2613 ;; Set icicle-common-match-string to expansion only if expanding (prefix: 3 or 4, apropos: 4).
2614 ;; icicle-save-or-restore-input:
2615 ;; Do not save if apropos and not 4 or prefix and not 3 or 4. (Before: checked only for apropos.)
2616 ;; icicle-remove-duplicates:
2617 ;; Do not use hash table for Emacs 20, even if cl.el loaded, so can byte-compile and use later.
2618 ;; 2012/02/08 dadams
2619 ;; icicle-remove-duplicates: Redefined to use a hash table.
2620 ;; icicle-remove-dups-if-extras: Call icicle-remove-duplicates (not inlined).
2621 ;; 2012/02/02 dadams
2622 ;; icicle-fuzzy-candidates: Use (min (length input) icicle-swank-prefix-length), not just the var.
2623 ;; 2012/01/20 dadams
2624 ;; icicle-call-then-update-Completions: Do the sit-for even if only one candidate.
2625 ;; 2012/01/17 dadams
2626 ;; icicle-insert-candidates:
2627 ;; Put mouse-face on final \n also. No longer use property icicle-keep-newline.
2628 ;; No longer treat single-newline candidate specially. Thx to Michael Heerdegen.
2629 ;; icicle-file-remote-p: Respect new var icicle-network-drive-means-remote-flag: nil means local.
2630 ;; icicle-call-then-update-Completions: Corrected logic for triggering re-complete.
2631 ;; In particular, REMOTE-TEST = file-remote-p prevents, rather than causes, re-completion.
2632 ;; icicle-ms-windows-NET-USE: Corrected hash-table support test: fboundp puthash, not hash-table-p.
2633 ;; icicle-choose-completion-string: let -> let* (typo).
2634 ;; 2012/01/14 dadams
2635 ;; Added: icicle-char-cands-from-charlist, icicle-read-char-maybe-completing, icicle-ucs-names.
2636 ;; icicle-read-char-by-name: Added optional arg NAMES. Use icicle-ucs-names, not ucs-names.
2637 ;; 2011/12/31 dadams
2638 ;; Reversed fix of 2011/04/12 for Emacs < 23:
2639 ;; icicle-unsorted-file-name-*, icicle-apropos-any-file-name-candidates-p:
2640 ;; Use default-directory, not minibuffer-completion-predicate, for Emacs < 23.
2641 ;; 2011/12/28 dadams
2642 ;; Removed mention of obsolete option icicle-cycle-into-subdirs-flag.
2643 ;; 2011/12/24 dadams
2644 ;; icicle-insert-candidates:
2645 ;; When only one column, set window width to column width.
2646 ;; Use option icicle-Completions-max-columns.
2647 ;; icicle-fit-completions-window: Clarify doc string.
2648 ;; 2011/12/15 dadams
2649 ;; icicle-display-candidates-in-Completions:
2650 ;; For face icicle-historical-candidate, expand file names before comparing.
2651 ;; 2011/12/06 dadams
2652 ;; icicle-read-from-minibuffer: Do not add default value to prompt.
2653 ;; 2011/10/21 dadams
2654 ;; Added: icicle-propertize.
2655 ;; Renamed: icicle-unpropertize to icicle-unpropertize-completion. Applied renaming everywhere.
2656 ;; icicle-display-candidates-in-Completions, icicle-kill-a-buffer: Use icicle-propertize.
2657 ;; 2011/10/09 dadams
2658 ;; Moved here from icicles-mac.el: icicle-try-switch-buffer, select-frame-set-input-focus.
2659 ;; Copied here from icicles-mac.el: icicle-assoc-delete-all.
2660 ;; Removed autoload cookie for icicle-maybe-cached-action.
2661 ;; 2011/10/08 dadams
2662 ;; Added: icicle-delete-alist-dups.
2663 ;; icicle-completing-read-history:
2664 ;; Use prin1, not princ, to convert to strings. Thx to Michael Heerdegen.
2665 ;; icicle-key-description: Added PREFIX arg. Use Emacs 22+ form of key-description if available.
2666 ;; Changed arg NO-ANGLES to ANGLES.
2667 ;; icicle-read-char-by-name: Do not remove VARIATION* names (Unicode).
2668 ;; 2011/10/05 dadams
2669 ;; icicle-display-candidates-in-Completions:
2670 ;; Use same font family, not same font, as orig buff. Only for Emacs 23+, and only when
2671 ;; icicle-pre-minibuffer-buffer is defined. Removed dedicated-p condition. Removed zoom-out.
2672 ;; 2011/10/02 dadams
2673 ;; Added: icicle-read-char-by-name.
2674 ;; icicle-display-candidates-in-Completions: Give *Completions* the same font as starting buffer.
2675 ;; 2011/09/14 dadams
2676 ;; Added: icicle-some.
2677 ;; Moved here from icicles-cmd2.el: icicle-flat-list (but no longer used).
2678 ;; 2011/09/05 dadams
2679 ;; icicle-display-candidates-in-Completions: Act on new option icicle-hide-non-matching-lines-flag.
2680 ;; 2011/09/02 dadams
2681 ;; Added: icicle-delete-dups.
2682 ;; icicle-display-candidates-in-Completions: Don't highlight an empty match.
2683 ;; icicle-insert-candidates:
2684 ;; If only one column then colwidth should not be more than max-cand-len.
2685 ;; If whole cand is a single \n then do not treat it as the last \n (do not remove mouse-face).
2686 ;; 2011/08/27 dadams
2687 ;; icicle-recentf-make-menu-items, icicle-display-candidates-in-Completions,
2688 ;; icicle-command-abbrev-save, icicle-kill-a-buffer:
2689 ;; Use icicle-condition-case-no-debug instead of condition-case. Thx to Michael Heerdegen.
2690 ;; 2011/08/26 dadams
2691 ;; icicle-place-cursor: Put cursor at eob if get invalid-regexp error.
2692 ;; icicle-get-candidates-from-saved-set: Use %s, not %S, in error format string.
2693 ;; 2011/08/15 dadams
2694 ;; icicle-display-completion-list: Do not call (last ...) if COMPLETIONS is null.
2695 ;; Added: icicle-all-completions.
2696 ;; Use icicle-all-completions, not all-completions, wherever a 4th arg is passed.
2697 ;; 2011/08/12 dadams
2698 ;; icicle-completing-p: Handle cases of filename must-match maps.
2699 ;; icicle-file-name-input-p: Improved doc string.
2700 ;; 2011/08/09 dadams
2701 ;; Added: icicle-replace-mct-cand-in-mct.
2702 ;; 2011/08/07 dadams
2703 ;; icicle-display-candidates-in-Completions,
2704 ;; icicle-highlight-(initial-whitespace|complete-input|lighter), icicle-case-string-less-p,
2705 ;; icicle-expanded-common-match-1, icicle-insert-cand-in-minibuffer, icicle-place-cursor,
2706 ;; icicle-(special|extra)-candidates-first-p: Handle absolute file names too:
2707 ;; (icicle-file-name-input-p) -> (or (icicle-file-name-input-p) icicle-abs-file-candidates)
2708 ;; icicle-display-candidates-in-Completions:: icicle-transform-multi-completion for image-file.
2709 ;; 2011/08/03 dadams
2710 ;; icicle-lisp-vanilla-completing-read:
2711 ;; Handle recent Emacs 24 changes: make-compose-keymap etc. Thx to Stefan Monnier.
2712 ;; 2011/07/30 dadams
2713 ;; Moved to icicles-cmd2.el and wrapped in eval-after-load hexrgb:
2714 ;; icicle-color-*-lessp (except -rgb-), icicle-color-completion-setup, icicle-color-help,
2715 ;; icicle-make-color-candidate.
2716 ;; 2011/07/27 dadams
2717 ;; Use icicle-completions-format everywhere, not icicle-completions-format-internal (removed).
2718 ;; icicle-nb-of-cand-in-Completions-horiz: Bind icicle-completions-format to horizontal, not nil.
2719 ;; 2011/07/26 dadams
2720 ;; icicle-insert-candidates: Vertical multiline: add only one newline, not two. Use \' not $.
2721 ;; Removed: icicle-list-end-string (no longer needed).
2722 ;; Thx to Michael Heerdegen.
2723 ;; 2011/07/20 dadams
2724 ;; icicle-mctized-full-candidate: Don't change icicle-completions-format-internal to horizontal.
2725 ;; icicle-insert-candidates: If any candidate is multiline then use only one column.
2726 ;; Thx to Michael Heerdegen.
2727 ;; 2011/07/06 dadams
2728 ;; icicle-fit-completions-window:
2729 ;; Emacs 22/23 fix: do not call fit-window-to-buffer. Thx to Michael Heerdegen.
2730 ;; icicle-read-face-name: Added version for Emacs 24+.
2731 ;; 2011/06/05 dadams
2732 ;; icicle-unsorted(-file-name)-prefix-candidates, icicle-prefix-any(-file-name)-candidates-p:
2733 ;; Add METADATA arg to icicle-completion-(try|all)-completion(s) calls.
2734 ;; 2011/06/03 dadams
2735 ;; icicle-completion-(all|try)-completion(s):
2736 ;; Added optional METADATA arg to handle Emacs 24's new METADATA arg.
2737 ;; Replace icicle-help-in-mode-line-flag by icicle-help-in-mode-line-delay everywhere.
2738 ;; icicle-show-in-mode-line: Use icicle-help-in-mode-line-delay, not hard-coded 10 sec.
2739 ;; 2011/05/31 dadams
2740 ;; icicle-read-file-name: Reordered let bindings (cosmetic).
2741 ;; 2011/05/22 dadams
2742 ;; Added defvars for free vars to quiet byte compiler.
2743 ;; 2011/05/12 dadams
2744 ;; icicle-candidate-short-help: Do nothing if string is empty ("").
2745 ;; 2011/05/07 dadams
2746 ;; icicle-insert-cand-in-minibuffer: Go to prompt end before insert.
2747 ;; 2011/05/04 dadams
2748 ;; icicle-transform-multi-completion: If cand is "" just return it. (Emacs 20 split-string bug.)
2749 ;; 2011/05/03 dadams
2750 ;; Added: icicle-position, icicle-merge-saved-order-less-p.
2751 ;; icicle-display-candidates-in-Completions: Respect icicle-highlight-saved-candidates-flag.
2752 ;; 2011/04/20 dadams
2753 ;; icicle-completion-setup-function: Last version is for Emacs 23.3 also. Thx to Michael Heerdegen.
2754 ;; 2011/04/18 dadams
2755 ;; icicle-face-valid-attribute-values: Added Emacs 23+ version. Thx to Aankhen.
2756 ;; 2011/04/12 dadams
2757 ;; Added defvars for icicle-dirs-done and icicle-files, for free vars.
2758 ;; Bind *-files in icicle-dired-read-shell-command. Bind *-dirs-done in icicle-files-within.
2759 ;; Use *-files in icicle-*-add-dired-*. Use *-dirs-done in icicle-files-within-1.
2760 ;; icicle-color-completion-setup: Renamed (free elsewhere): named-colors -> icicle-named-colors.
2761 ;; Applied renaming: prompt -> icicle-prompt.
2762 ;; icicle-unsorted-file-name-prefix-candidates, icicle-unsorted-file-name-apropos-candidates,
2763 ;; icicle-apropos-any-file-name-candidates-p:
2764 ;; Use minibuffer-completion-predicate, not default-directory, in calls to all-completions.
2765 ;; Thx to Michael Heerdegen.
2766 ;; 2011/03/31 dadams
2767 ;; icicle-read-file-name, icicle-read-number, icicle-read-char-exclusive,
2768 ;; icicle-read-string-completing, icicle-color-completion-setup:
2769 ;; Wrap calls to icicle-var-is-of-type-p with condition-case. Thx to Michael Heerdegen.
2770 ;; 2011/03/29 dadams
2771 ;; icicle-show-help-in-mode-line: Removed boundp condition for icicle-completing-keys-p.
2772 ;; icicle-scroll-or-update-Completions:
2773 ;; Applied renaming: icicle-scroll-Completions to icicle-scroll-Completions-forward.
2774 ;; icicle-color-completion-setup: prompt -> icicle-prompt.
2775 ;; icicle-alt-act-fn-for-type: orig-window -> icicle-orig-window.
2776 ;; 2011/03/26 dadams
2777 ;; icicle-read-face-name: Need copy-sequence for prompt in later Emacs versions also (forgot).
2778 ;; 2011/03/17 dadams
2779 ;; icicle-display-candidates-in-Completions: Added 2-pixel margin around thumbnail image.
2780 ;; 2011/03/04 dadams
2781 ;; icicle-read-file-name: Bind read-file-name-predicate. Thx to Michael Heerdegen.
2782 ;; icicle-alt-act-fn-for-type: Ensure orig-window is live before use it. Thx to Michael Heerdegen.
2783 ;; 2011/02/22 dadams
2784 ;; icicle-display-candidates-in-Completions: Show thumbnail for an image file.
2785 ;; Call icicle-fit-completions-window explicitly here.
2786 ;; icicle-fit-completions-window: Added optional arg (not used yet). Ensure window is Completions.
2787 ;; 2011/02/20 dadams
2788 ;; Added: icicle-color-(distance)-(hsv|rgb)-lessp.
2789 ;; icicle-color-completion-setup: Added sort orders for HSV and RGB: component order and distance.
2790 ;; 2011/02/17 dadams
2791 ;; icicle-join-nth-parts: If only one part then don't append the join string.
2792 ;; 2011/01/31 dadams
2793 ;; icicle-insert-candidates: Fixed test for remainder cands: (= n (* r c)), not (= 0 (mod n r)).
2794 ;; 2011/01/11 dadams
2795 ;; icicle-choose-completion-string:
2796 ;; Removed code that uses base-size, choose-completion-delete-max-match. Just replace all input.
2797 ;; 2011/01/05 dadams
2798 ;; Added: icicle-file-type-less-p.
2799 ;; icicle-highlight-input-noncompletion: When move overlay, specify buffer (for recursive minibuf).
2800 ;; 2010/12/26 dadams
2801 ;; Removed autoload cookies except simple ones & ones with sexp on same line. Thx to Richard Kim.
2802 ;; 2010/12/23 dadams
2803 ;; icicle-expand-file-name-20: Allow for inputs to be nil.
2804 ;; 2010/12/18 dadams
2805 ;; Moved icicle-assoc-delete-all to icicles-mac.el, since used there.
2806 ;; Added autoload cookies for cmds & macro; removed them from non-interactive functions.
2807 ;; 2010/12/14 dadams
2808 ;; Added: icicle-expand-file-name-20.
2809 ;; Renamed: icicle-expand-file-name to icicle-expand-file-or-dir-name.
2810 ;; icicle-abbreviate-or-expand-file-name, icicle-expand-file-or-dir-name:
2811 ;; Use icicle-expand-file-name-20.
2812 ;; icicle-completion-setup-function for Emacs < 22: Fix typo: last-command -> this-command.
2813 ;; icicle-expanded-common-match: Removed from doc string: statement that result is regexp-quoted.
2814 ;; 2010/12/11 dadams
2815 ;; icicle-completion-setup-function: Added a version for Emacs 23.2+. Thx to Michael Heerdegen.
2816 ;; 2010/11/20 dadams
2817 ;; icicle-toggle-icicle-mode-twice: Soft-require icicles-mode.el.
2818 ;; eval-after-load for crm.el:
2819 ;; Put toggle-twice on eval-after-load of icicles-mode, instead of doing it if i-m.el is loaded.
2820 ;; 2010/11/07 dadams
2821 ;; Added helper macro icicle-maybe-cached-action.
2822 ;; icicle-alt-act-fn-for-type: use icicle-maybe-cached-action so use same action for all cands.
2823 ;; 2010/11/06 dadams
2824 ;; icicle-fuzzy-candidates: Filter using icicle-must-pass-after-match-predicate.
2825 ;; Respect also extra cands and proxy cands.
2826 ;; Let C-g exit completion.
2827 ;; 2010/10/25 dadams
2828 ;; icicle-read-shell-command-completing:
2829 ;; Use icicle-must-pass-after-match-predicate, not icicle-must-pass-predicate.
2830 ;; 2010/10/24 dadams
2831 ;; icicle-unsorted(-file-name)-(prefix|apropos)-candidates:
2832 ;; Respect icicle-must-pass-after-match-predicate.
2833 ;; icicle-alt-act-fn-for-type: Use icicle-must-pass-after-match-predicate, not PREDICATE arg.
2834 ;; 2010/10/07 dadams
2835 ;; Added: icicle-current-TAB-method (function). Use it in place of var everywhere.
2836 ;; 2010/10/04 dadams
2837 ;; directory-sep-char -> ?/ (It was removed from Emacs 24.)
2838 ;; 2010/06/18 dadams
2839 ;; icicle-completing-read:
2840 ;; Initialize icicle-completions-format-internal to icicle-completions-format.
2841 ;; icicle-mctized-full-candidate:
2842 ;; Set icicle-completions-format-internal to horizontal for multi-line multi-completions.
2843 ;; icicle-insert-candidates:
2844 ;; Remove face property from end of candidate to next column.
2845 ;; Replace icicle-completions-format by icicle-completions-format-internal.
2846 ;; Renamed: bookmarkp-* to bmkp-*.
2847 ;; 2010/06/14 dadams
2848 ;; icicle-read-from-minibuffer:
2849 ;; If add file-name default to prompt, remove dir part first. Thx to Chris Hecker.
2850 ;; icicle-next-candidate: Do not icicle-recompute-candidates if this command was repeated.
2851 ;; icicle-increment-cand-nb+signal-end:
2852 ;; Signal wrap from initial, not from 0. Negative INCR -> start at end. Thx to M. Heerdegen.
2853 ;; icicle-call-then-update-Completions:
2854 ;; Set icicle-last-input to nil so icicle-save-or-restore-input makes next-candidate recompute.
2855 ;; 2010/06/12 dadams
2856 ;; icicle-fit-completions-window: Let-bind window-min-height to prevent deletion in Emacs 23.
2857 ;; 2010/06/10 dadams
2858 ;; icicle-maybe-sort-and-strip-candidates:
2859 ;; Set icicle-completion-candidates to result of *maybe...maybe*. (It broke C-~.)
2860 ;; 2010/06/09 dadams
2861 ;; icicle-isearch-complete-past-string: Use the last-used ring. Thx to Michael Heerdegen.
2862 ;; 2010/06/08 dadams
2863 ;; icicle-display-candidates-in-Completions: Show also total when truncated: N shown / M.
2864 ;; icicle-maybe-sort-maybe-truncate: Save icicle-nb-candidates-before-truncation before truncating.
2865 ;; 2010/06/04 dadams
2866 ;; Added: icicle-clear-lighter, icicle-maybe-sort-maybe-truncate, icicle-take.
2867 ;; icicle-(prefix|apropos)-candidates, icicle-strip-ignored-files-and-sort,
2868 ;; icicle-maybe-sort-and-strip-candidates, icicle-display-Completions:
2869 ;; Use icicle-maybe-sort-maybe-truncate, not icicle-reversible-sort.
2870 ;; icicle-(un)highlight-lighter: Use icicle-clear-lighter (factored out).
2871 ;; 2010/05/30 dadams
2872 ;; Added: icicle-files-within-1.
2873 ;; icicle-files-within:
2874 ;; Use icicle-files-within-1. Optionally don't follow symlinks (new arg NO-SYMLINKS-P).
2875 ;; Don't process same dir twice. Respect icicle-ignored-directories. Thx to Michael Heerdegen.
2876 ;; 2010/05/18 dadams
2877 ;; icicle-save-or-restore-input:
2878 ;; Use icicle-file-directory-p, not file-directory-p (fails: ~/foo//usr/). Thx to M. Heerdegen.
2879 ;; 2010/05/04 dadams
2880 ;; icicle-alt-act-fn-for-type: Pass TYPE to icicle-apply-to-saved-candidate.
2881 ;; 2010/04/30 dadams
2882 ;; icicle(-file-name)-unsorted-(apropos|prefix)-candidates, icicle-fuzzy-candidates:
2883 ;; Set icicle-common-match-string to nil when no candidates.
2884 ;; 2010/04/29 dadams
2885 ;; icicle-unpropertize: Do nothing unless icicle-remove-icicles-props-p.
2886 ;; 2010/04/27 dadams
2887 ;; icicle-show-help-in-mode-line: Test value, not just boundp, of icicle-completing-keys-p.
2888 ;; 2010/04/21 dadams
2889 ;; icicle-mode-line-name-less-p: Removed bogus calls to symbol-name. Thx to Michael Heerdegen.
2890 ;; 2010/04/20 dadams
2891 ;; Added: icicle-dirs-first-p.
2892 ;; 2010/04/02/dadams
2893 ;; icicle-completing-p: Cache t, not the keymap portion.
2894 ;; 2010/03/16 dadams
2895 ;; icicle-display-candidates-in-Completions, treating icicle-candidate-properties-alist:
2896 ;; For subsequent matches of join string, skip over the last join string (not 1 char).
2897 ;; icicle-candidate-short-help: Treat each property individually.
2898 ;; 2010/03/13 dadams
2899 ;; icicle-reversible-sort: Respect icicle-transform-before-sort-p.
2900 ;; 2010/03/10 dadams
2901 ;; icicle-show-help-in-mode-line:
2902 ;; Put this test first: If candidate is a string with a help property, use that.
2903 ;; Use get-file-buffer, not get-buffer, for a visited file.
2904 ;; 2010/03/09 dadams
2905 ;; icicle-reversible-sort: Added optional KEY arg. Set LIST to sort result and return it.
2906 ;; icicle-multi-sort: Set RESULT to funcall result.
2907 ;; 2010/03/03 dadams
2908 ;; Added: icicle-multi-sort, icicle-make-plain-predicate, icicle-alpha-p.
2909 ;; icicle-reversible-sort: Use icicle-sort-comparer and icicle-multi-sort.
2910 ;; Reset to unsorted if an error is raised.
2911 ;; Applied renamings: icicle-sort-function to icicle-sort-comparer,
2912 ;; icicle-sort-functions-alist to icicle-sort-orders-alist.
2913 ;; icicle-read-shell-command-completing: Removed extra binding for icicle-sort-function.
2914 ;; 2010/01/12 dadams
2915 ;; icicle-display-candidates-in-Completions: set-buffer -> with-current-buffer.
2916 ;; 2009/12/25 dadams
2917 ;; icicle-strip-ignored-files-and-sort:
2918 ;; Call completion-ignored-build-apply and icicle-update-ignored-extensions-regexp.
2919 ;; 2009/12/21 dadams
2920 ;; fset -> defalias.
2921 ;; 2009/12/07 dadams
2922 ;; Added: icicle-minibuffer-default-add-dired-shell-commands.
2923 ;; icicle-dired-read-shell-command: Instead of using minibuffer-default-add-shell-commands,
2924 ;; use icicle-minibuffer-default-add-dired-shell-commands.
2925 ;; icicle-read-shell-command-completing: Bind insert-default-directory to nil.
2926 ;; icicle-dir-prefix-wo-wildcards: Don't ever return nil - return "" if need be.
2927 ;; icicle-read-string:
2928 ;; Handle a consp default-value when user enters "": use the car. Thx to Sakuma Ryo.
2929 ;; 2009/12/03 dadams
2930 ;; icicle-completing-read:
2931 ;; Make sure we don't use a nil def value for init value. Thx to Sebastian Luque.
2932 ;; 2009/11/27 dadams
2933 ;; *-display-candidates-in-Completions, *-prefix-candidates, *-fuzzy-candidates:
2934 ;; Handle swank completions too.
2935 ;; 2009/11/25 dadams
2936 ;; icicle-insert-candidates: Handle vertical layout: icicle-completions-format.
2937 ;; 2009/11/03 dadams
2938 ;; icicle-color-completion-setup: Use hexrgb-defined-colors, not x-defined-colors.
2939 ;; No icicle-transform-function, since we use hexrgb.el.
2940 ;; 2009/10/25 dadams
2941 ;; Added: icicle-dir-prefix-wo-wildcards. Use in icicle-insert-cand-in-minibuffer.
2942 ;; icicle-save-or-restore-input: Remove test comparing last completion with current input.
2943 ;; icicle-abbreviate-or-expand-file-name: If arg is absolute, do not expand.
2944 ;; icicle-display-candidates-in-Completions, icicle-prefix-candidates,
2945 ;; icicle-not-basic-prefix-completion-p:
2946 ;; Updated for new completion methods. Use *-current-TAB-method, not old fuzzy flag.
2947 ;; 2009/10/24 dadams
2948 ;; icicle-unsorted-file-name-*-candidates, icicle-*-any-file-name-candidates-p:
2949 ;; Got rid of slashed-p.
2950 ;; icicle-unsorted-file-name-apropos-candidates:
2951 ;; Set icicle-common-match-string to nil if there are no candidates.
2952 ;; icicle-apropos-any-file-name-candidates-p:
2953 ;; When input is a dir, remove final /, so we don't non-match highlight the / (empty dir).
2954 ;; Bind case-fold-search, for apropos matching.
2955 ;; icicle-abbreviate-or-expand-file-name: Set DIR to nil if it's relative.
2956 ;; 2009/10/22 dadams
2957 ;; Added: icicle-file-name-directory.
2958 ;; icicle-completion-setup-function, icicle-display-candidates-in-Completions,
2959 ;; icicle-save-or-restore-input, icicle-file-name-directory-w-default,
2960 ;; icicle-historical-alphabetic-p:
2961 ;; Use icicle-file-name-directory, not file-name-directory.
2962 ;; 2009/10/17 dadams
2963 ;; icicle-completion-try-completion: Return RES.
2964 ;; 2009/10/12 dadams
2965 ;; icicle-unsorted-prefix-candidates, icicle-prefix-any-candidates-p:
2966 ;; Use length of INPUT, not length from point backward to field-beginning.
2967 ;; icicle-input-from-minibuffer: Added optional LEAVE-ENVVARS-P arg.
2968 ;; icicle-next-candidate, icicle-highlight-complete-input:
2969 ;; Call icicle-input-from-minibuffer with LEAVE-ENVVARS-P arg.
2970 ;; icicle-completion-all-completions:
2971 ;; If not basic completion (Emacs 23) and input ends in $, then append $ to cands also.
2972 ;; 2009/09/25 dadams
2973 ;; icicle-file-name-prefix-candidates: Use whole input, not just nondirectory.
2974 ;; Added: icicle-not-basic-prefix-completion-p. Use where appropriate.
2975 ;; 2009/09/19 dadams
2976 ;; icicle-unpropertize: Remove the internal text properties added by Icicles.
2977 ;; icicle-completing-read, icicle-read-file-name: Call icicle-unpropertize unconditionally.
2978 ;; 2009/09/12 dadams
2979 ;; icicle-kill-a-buffer: Bind enable-recursive-minibuffers, to confirm modified buffer.
2980 ;; 2009/09/05 dadams
2981 ;; icicle-msg-maybe-in-minibuffer: Do nothing if icicle-minibuffer-message-ok-p is nil.
2982 ;; 2009/08/19 dadams
2983 ;; icicle-candidate-short-help: Return (possibly propertized) STRING.
2984 ;; 2009/08/09 dadams
2985 ;; Added: icicle-insert-cand-in-minibuffer - factored out code from icicle-next-candidate.
2986 ;; eval-after-load "crm":
2987 ;; Test that icy-mode is available using featurep, not fboundp. Thx to Michael Heerdegen.
2988 ;; 2009/07/26 dadams
2989 ;; icicle-completing-read, icicle-read-file-name-1:
2990 ;; Bind minibuffer-history-variable to itself.
2991 ;; 2009/07/13 dadams
2992 ;; icicle-read-face-name (Emacs 20 version): Use copy-sequence on prompt, before add prop.
2993 ;; 2009/07/12 dadams
2994 ;; icicle-display-completion-list:
2995 ;; Use different protection (fboundp) for fix for latest Emacs 23 crap (base size in cdr).
2996 ;; 2009/07/11 dadams
2997 ;; icicle-next-candidate:
2998 ;; If icicle-regexp-quote-flag, regexp-quote before string-match for highlighting root.
2999 ;; icicle-place-cursor: If icicle-regexp-quote-flag, regexp-quote input to search for it.
3000 ;; 2009/07/02 dadams
3001 ;; icicle-displayable-cand-from-saved-set:
3002 ;; If icicle-readable-to-markers returns an atom, just use that.
3003 ;; 2009/06/17 dadams
3004 ;; icicle-fit-completions-window: Scale text size initially.
3005 ;; 2009/06/07 dadams
3006 ;; icicle-get-alist-candidate -> funcall icicle-get-alist-candidate-function.
3007 ;; icicle-mctize-all: If PRED is nil, so is NEWPRED (use and instead of when).
3008 ;; 2009/05/22 dadams
3009 ;; Require icicles-mac.el if load-library doesn't find it.
3010 ;; 2009/05/18 dadams
3011 ;; icicle-display-candidates-in-Completions: deactivate-mark in *Completions* after display.
3012 ;; 2009/05/17 dadams
3013 ;; icicle-next-candidate: Updated to reflect thumb-frm.el name changes.
3014 ;; 2009/05/17 dadams
3015 ;; Added: icicle-toggle-icicle-mode-twice.
3016 ;; In eval-after-load crm: Use icicle-toggle-icicle-mode-twice, not icy-mode calls.
3017 ;; 2009/05/15 dadams
3018 ;; icicle-unhighlight-lighter: Wrap redisplay in condition-case, like elsewhere.
3019 ;; 2009/05/11 dadams
3020 ;; Added: icicle-upcase. Use in place of upcase everywhere, to work around Emacs 20 bug.
3021 ;; Added: icicle-local-keys-first-p.
3022 ;; icicle-display-candidates-in-Completions:
3023 ;; Don't highlight historical candidate if in icicle-hist-cands-no-highlight.
3024 ;; 2009/05/09 dadams
3025 ;; icicle-input-from-minibuffer: Keep text properties when pick up input.
3026 ;; icicle-highlight-input-noncompletion(-rest): Use an overlay instead of text property.
3027 ;; icicle-show-help-in-mode-line: Fix special case for pseudo-key/cmd ..: go up to prefix.
3028 ;; 2009/05/07 dadams
3029 ;; icicle-display-candidates-in-Completions, in the code that hides common match:
3030 ;; Don't reset display property to nil.
3031 ;; Use icicle-common-match-string, not current input.
3032 ;; icicle-expanded-common-match-1:
3033 ;; If input doesn't match candidate, return nil. Throw nil, not input, everywhere.
3034 ;; *-unsorted(-file-name)-apropos-candidates, *-apropos-any(-file-name)-candidates-p:
3035 ;; Protect calls to icicle-apropos-complete-match-fn with condition-case, for Emacs 20.
3036 ;; icicle-place-cursor: Added optional arg.
3037 ;; 2009/05/05 dadams
3038 ;; icicle-alt-act-fn-for-type:
3039 ;; Bind completion-ignore-case, based on read-buffer-completion-ignore-case.
3040 ;; 2009/05/03 dadams
3041 ;; Use (fboundp 'minibuffer-default-add-completions), not (> emacs-major version 22).
3042 ;; 2009/05/01 dadams
3043 ;; Renamed: icicle-choose-action-for-type to icicle-alt-act-fn-for-type.
3044 ;; icicle-type-actions-alist: Rewrote. Handle both list of objs and single obj.
3045 ;; icicle-quote-file-name-part-of-cmd: Rewrote. Quote file name always, and only file name.
3046 ;; 2009/04/30 dadams
3047 ;; icicle-show-in-mode-line: Clear any message (e.g. Computing completion candidates...).
3048 ;; 2009/04/29 dadams
3049 ;; icicle-get-alist-candidate: If NO-ERROR-P is 'no-error-no-msg, just return nil (no msg).
3050 ;; icicle-choose-action-for-type: Use lax completion.
3051 ;; 2009/04/28 dadams
3052 ;; icicle-choose-action-for-type:
3053 ;; Moved here from icicles-mac.el, changed to a function, and locally bind
3054 ;; *-alt-action-fn to icicle-choose-action-for-type function.
3055 ;; For undefined TYPE, provide all functions as candidates.
3056 ;; Added eval-when-compile of load-library icicles-mac.
3057 ;; 2009/04/27 dadams
3058 ;; icicle-recompute-candidates:
3059 ;; Keep no-display completion mode, if that's current.
3060 ;; Set icicle-last-completion-command only if completion type, not user input, changed.
3061 ;; icicle-complete-again-update: Added icicle-prefix-complete-no-display to first case.
3062 ;; 2009/04/19 dadams
3063 ;; Use unless instead of or for fset's. (cosmetic)
3064 ;; icicle-completing-read, icicle-read-from-minibuffer, icicle-read-string:
3065 ;; Renamed history parameter to HIST-m@%=!$+&^*z, so C-h f output looks less strange.
3066 ;; 2009/04/18 dadams
3067 ;; Soft-require hexrgb.el unconditionally, not just when there is a window-system.
3068 ;; 2009/04/12 dadams
3069 ;; icicle-display-candidates-in-Completions: Added number of candidates to mode-line.
3070 ;; icicle-show-help-in-mode-line: Use face icicle-show-help-in-mode-line. Fix prefix keys.
3071 ;; 2009/04/11 dadams
3072 ;; icicle-candidate-short-help:
3073 ;; Do nothing if either icicle-help-in-mode-line-flag or tooltip-mode is nil.
3074 ;; icicle-show-help-in-mode-line:
3075 ;; If no symbol help, try string.
3076 ;; Handle lambdas, menu-function-# from easy-menu, and prefix keys.
3077 ;; icicle-make-color-candidate: Construct short help only if user will see it.
3078 ;; 2009/04/10 dadams
3079 ;; Added: icicle-candidate-short-help, icicle-color-completion-setup (from icicle-read-color).
3080 ;; Moved here from icicle-cmds.el:
3081 ;; icicle-remove-color-duplicates, icicle-color-help, icicle-make-color-candidate.
3082 ;; icicle-make-color-candidate: Added short help, using icicle-candidate-short-help.
3083 ;; icicle-show-help-in-mode-line:
3084 ;; Treat :icicle-candidate-help text property on strings.
3085 ;; Use candidate, not cand, for stringp clause, and use icicle-transform-multi-completion.
3086 ;; Renamed: :icicle-candidate-help to icicle-mode-line-help.
3087 ;; 2009/04/08 dadams
3088 ;; icicle-show-help-in-mode-line: Treat absolute file names too.
3089 ;; 2009/04/07 dadams
3090 ;; icicle-show-help-in-mode-line: (bufferp (get-buffer...)...) -> (get-buffer...) Duh.
3091 ;; 2009/04/06 dadams
3092 ;; Added: icicle-show-help-in-mode-line - from code in icicle-next-candidate:
3093 ;; Added arg. Handle: faces, buffer names, file names, :icicle-candidate-help.
3094 ;; Added: icicle-help-line-(buffer|file).
3095 ;; icicle-next-candidate: Use icicle-show-help-in-mode-line.
3096 ;; 2009/04/05 dadams
3097 ;; Added: icicle-show-in-mode-line.
3098 ;; icicle-next-candidate: Use icicle-show-in-mode-line to show help in mode-line.
3099 ;; 2009/04/04 dadams
3100 ;; Added: icicle-buffer-smaller-p, icicle-major-mode-name-less-p,
3101 ;; icicle-mode-line-name-less-p, icicle-buffer-file/process-name-less-p.
3102 ;; 2009/04/03 dadams
3103 ;; icicle-read-from-minibuffer: Save filtered default val as icicle-filtered-default-value.
3104 ;; icicle-lisp-vanilla-completing-read: Use icicle-filtered-default-value, not DEF, at end.
3105 ;; 2009/03/29 dadams
3106 ;; icicle-read-shell-command: If non-nil initial-contents, punt to use original (old-*).
3107 ;; 2009/03/27 dadams
3108 ;; Don't fset minibuffer-default-add-completions unless > Emacs 22.
3109 ;; 2009/03/27 dadams
3110 ;; icicle-read-from-minibuffer: Use icicle-filter-wo-input on default-value (all values).
3111 ;; icicle-completing-read, icicle-read-file-name-1:
3112 ;; Use icicle-filter-wo-input on default value only to get init value.
3113 ;; Added: icicle-minibuffer-default-add-completions, icicle-first-N.
3114 ;; 2009/03/26 dadams
3115 ;; icicle-completing-read, icicle-read-file-name-1:
3116 ;; Filter default values using icicle-filter-wo-input.
3117 ;; icicle-filter-wo-input: Return the candidate, if it passes filtering.
3118 ;; 2009/03/16 dadams
3119 ;; Added: icicle-recentf-make-menu-items.
3120 ;; 2009/03/10 dadams
3121 ;; icicle-read-shell-command-completing: Applied renamings: icicle-guess-commands-in-path,
3122 ;; icicle-shell-command-candidates-cache, icicle-recompute-shell-command-candidates.
3123 ;; Moved to icicles-opt.el and renamed: icicle-shell-command-candidates.
3124 ;; 2009/03/08 dadams
3125 ;; Added: icicle-quote-file-name-part-of-cmd.
3126 ;; icicle-read-shell-command-completing:
3127 ;; Call icicle-quote-file-name-part-of-cmd to escape spaces etc. in file names.
3128 ;; Removed unneeded minibuffer-local-*-map let bindings.
3129 ;; icicle-dired-smart-shell-command:
3130 ;; Protected dired-default-directory with fboundp, for Emacs 20.
3131 ;; 2009/03/01 dadams
3132 ;; icicle-read-from-minibuffer:
3133 ;; No longer use icicle-complete-on-demand-cmd and on-demand-map.
3134 ;; 2009/02/28 dadams
3135 ;; Don't fset old-dired-smart-shell-command here - do after load Dired-X (icicles-mode.el).
3136 ;; Added for Emacs 20: definition of replace-regexp-in-string.
3137 ;; icicle-read-(number|string-completing):
3138 ;; No need for fboundp of replace-regexp-in-string, since provide it now for Emacs 20.
3139 ;; icicle-read-file-name: Treat directory candidates as special candidates.
3140 ;; icicle-read-shell-command-completing:
3141 ;; Candidate help depends on candidate type.
3142 ;; Use existing icicle-extra-candidates as its own default, not icicle-file-extras.
3143 ;; 2009/02/27 dadams
3144 ;; icicle-shell-command: Fixed typo: shell-command -> old-shell-command.
3145 ;; icicle-read-shell-command-completing: Append icicle-file-extras to i*-extra-candidates.
3146 ;; 2009/02/23 dadams
3147 ;; icicle-read-shell-command-completing:
3148 ;; Bind icicle-extra-candidates-dir-insert-p, not insert-default-directory, to nil.
3149 ;; icicle-next-candidate: Protect dir insertion with icicle-extra-candidates-dir-insert-p.
3150 ;; 2009/02/22 dadams
3151 ;; icicle-dired-read-shell-command: Use minibuffer-default-add-shell-commands if available.
3152 ;; 2009/02/20 dadams
3153 ;; icicle-read-from-minibuffer: Treat icicle-complete-on-demand-cmd - on-demand completion.
3154 ;; Added: icicle-dired-smart-shell-command, icicle-read-shell-command-completing,
3155 ;; icicle-dired-read-shell-command, icicle-extra-candidates-first-p,
3156 ;; icicle-require-match-p, icicle-shell-command(-on-region).
3157 ;; icicle-read-shell-command:
3158 ;; Call icicle-read-shell-command-completing. Define always, not just when mailcap.
3159 ;; icicle-dired-guess-shell-command: Just call icicle-read-shell-command-completing.
3160 ;; icicle-shell-command-candidates: Cache completions in icicle-shell-command-candidates.
3161 ;; icicle-highlight-input-noncompletion(-rest), icicle-highlight-lighter:
3162 ;; Use function icicle-require-match-p, not var.
3163 ;; icicle-completing-p: Test also whether parent map is a completion map. Always cache.
3164 ;; 2009/02/17 dadams
3165 ;; icicle-read-shell-command: Handle nil default-value. Thx to Kao Felix.
3166 ;; icicle-read-file-name: Append new proxy cands to any existing ones.
3167 ;; Don't assume that a proxy cand is a variable.
3168 ;; 2009/01/25 dadams
3169 ;; Added: *-dired-guess-shell-command, *-read-shell-command, *-shell-command-candidates.
3170 ;; 2009/01/17 dadams
3171 ;; icicle-display-candidates-in-Completions: Highlight Levenshtein (1) match.
3172 ;; icicle-unsorted-apropos(-file-name)-candidates, icicle-display-Completions,
3173 ;; icicle-apropos-any(-file-name)-candidates-p: Removed PCM.
3174 ;; Added: icicle-levenshtein(-strict|-one)-match, icicle-levenshtein-one-regexp,
3175 ;; icicle-substrings-of-length.
3176 ;; 2009/01/15 dadams
3177 ;; Lose "icicle-" for fboundp's: completion-all-completions, completion-try-completion.
3178 ;; 2009/01/14 dadams
3179 ;; Added: icicle-remove-dups-if-extras.
3180 ;; 2009/01/13 dadams
3181 ;; Added: icicle-completion-all-completions, icicle-completion-try-completion.
3182 ;; icicle-unsorted(-file-name)-(prefix|apropos)-candidates, icicle-display-Completions,
3183 ;; icicle-any-(prefix|apropos)(-file-name)-candidates-p:
3184 ;; Respect icicle-respect-completion-styles-p (Emacs 23).
3185 ;; icicle-unsorted-file-name-prefix-candidates: Removed matching "^"++(regexp-quote input).
3186 ;; icicle(-unsorted)(-file-name)-(prefix|apropos)-candidates:
3187 ;; Call icicle-transform-candidates for extra candidates and proxy candidates too.
3188 ;; icicle-display-candidates-in-Completions: Highlight extra candidates.
3189 ;; icicle-face-valid-attribute-values:
3190 ;; Use font-family-list instead of x-font-family-list, if available.
3191 ;; 2009/01/03 dadams
3192 ;; icicle-call-then-update-Completions:
3193 ;; If icicle-last-completion-command is nil, test icicle-current-completion-mode - don't
3194 ;; just call icicle-prefix-complete. E.g. icicle-search shouldn't end with a single
3195 ;; prefix match.
3196 ;; 2008/12/25 dadams
3197 ;; Added: icicle-save-raw-input (factored out from icicle-save-or-restore-input).
3198 ;; icicle-save-or-restore-input:
3199 ;; Change test whether last-command is cycling cmd to add also not being completing cmd.
3200 ;; Use icicle-completing-p instead of testing this-command for being a cycling cmd.
3201 ;; Use icicle-save-raw-input.
3202 ;; icicle-next-candidate: Set icicle-cycling-p (new var) to t.
3203 ;; 2008/12/20 dadams
3204 ;; icicle-save-or-restore-input: Don't restore last input if this is a completing command.
3205 ;; 2008/12/07 dadams
3206 ;; icicle-completing-read, icicle-read-file-name-1:
3207 ;; Removed icicle-prompt. Don't add completion prompt prefix, except for Emacs 20.
3208 ;; 2008/12/06 dadams
3209 ;; icicle-call-then-update-Completions:
3210 ;; To update, call icicle-last-completion-command, not icicle-(apropos|prefix)-complete.
3211 ;; 2008/12/02 dadams
3212 ;; icicle-unsorted(-file-name)-apropos-candidates:
3213 ;; Call icicle-filter-wo-input before filtering with user input (as the doc string says).
3214 ;; 2008/11/28 dadams
3215 ;; icicle-recompute-candidates, icicle-save-or-restore-input:
3216 ;; Test property icicle-(prefix|apropos)-completing-command, not eq cmds.
3217 ;; 2008/11/23 dadams
3218 ;; icicle-read-file-name:
3219 ;; Don't initialize icicle-proxy-candidates unless icicle-add-proxy-candidates-flag.
3220 ;; Don't add + to completion indicator if Emacs 23.
3221 ;; 2008/11/22 dadams
3222 ;; icicle-completing-read:
3223 ;; Bind icicle-fancy-cands-internal-p. Do not call icicle-mctize-all unless fancy cands.
3224 ;; icicle-mctized-full-candidate:
3225 ;; No-op unless icicle-fancy-cands-internal-p or icicle-whole-candidate-as-text-prop-p.
3226 ;; icicle-read-(number|char-exclusive|string-completing|face-name):
3227 ;; Put icicle-fancy-candidates property on prompt if proxy candidates.
3228 ;; icicle-display-candidates-in-Completions:
3229 ;; Don't transform candidates unless icicle-fancy-cands-internal-p.
3230 ;; 2008/11/18 dadams
3231 ;; icicle-display-candidates-in-Completions:
3232 ;; Add icicle-special-candidate property as text property to candidates in
3233 ;; icicle-completion-candidates, instead of just to display candidate, so returned also.
3234 ;; Added support for icicle-display-string property.
3235 ;; For these properties: look up symbol first in minibuffer-completion-table if obarray.
3236 ;; 2008/11/14 dadams
3237 ;; icicle-display-candidates-in-Completions:
3238 ;; Respect icicle-hide-common-match-in-Completions-flag.
3239 ;; 2008/11/10 dadams
3240 ;; icicle(-unsorted)(-file-name)-(apropos|prefix)-candidates:
3241 ;; Moved special and proxy candidates outside match filtering,
3242 ;; reversing a change made on 2007/11/18. Dunno why that change was made.
3243 ;; But filter special and proxy candidates using the input.
3244 ;; 2008/11/09 dadams
3245 ;; Added: icicle-join-nth-parts, icicle-display-cand-from-full-cand.
3246 ;; icicle-transform-multi-completion: Use icicle-join-nth-parts.
3247 ;; icicle-transform-multi-completion: Don't test icicle-list-join-string (always non-nil).
3248 ;; icicle-first-matching-candidate:
3249 ;; Fix: set res properly, not to the tested value. Thx to Hannes Janetzek.
3250 ;; 2008/11/07 dadams
3251 ;; icicle-color-name-w-bg: Return input if hexrgb.el is not loaded. Thx to Fabrice Knevez.
3252 ;; 2008/11/04 dadams
3253 ;; icicle-read-face-name: Soft-require eyedropper.el or palette.el.
3254 ;; 2008/11/03 dadams
3255 ;; icicle-expanded-common-match: Bug fix for Emacs 20: If error matching, just return INPUT.
3256 ;; icicle-highlight-input-noncompletion: Erase any message first before highlighting.
3257 ;; 2008/11/02 dadams
3258 ;; icicle-display-candidates-in-Completions: For icicle-candidate-properties-alist, use
3259 ;; narrowed buffer content, not i-current-completion-in-Completions.
3260 ;; 2008/10/24 dadams
3261 ;; icicle-first-matching-candidate:
3262 ;; Use regexp-quote on CAND.
3263 ;; Add icicle-list-end-string to each entry in CANDIDATES.
3264 ;; Iteration, not recursion.
3265 ;; icicle-get-alist-candidate: Added optional arg NO-ERROR-P.
3266 ;; 2008/10/18 dadams
3267 ;; Replaced customize-save-variable by funcall icicle-customize-save-variable-function.
3268 ;; 2008/10/14 dadams
3269 ;; Applied renaming of icicle-completion-help to icicle-minibuffer-help.
3270 ;; 2008/10/06 dadams
3271 ;; Don't toggle icy-mode after loading crm.el unless icy-mode is defined (!).
3272 ;; icicle-ms-windows-NET-USE: If hash tables not available, just run the NET USE process.
3273 ;; 2008/10/04 dadams
3274 ;; Substitute Icicles version of completing-read-multiple and its maps. Thx to Per Nordlow.
3275 ;; Added: (icicle|old)-completing-read-multiple, icicle-define-crm-completion-map,
3276 ;; (icicle|old)-crm-local-(completion|must-match)-map.
3277 ;; icicle-display-completion-list: Protect against Emacs 23 nonsense with base-size in cdr.
3278 ;; 2008/09/30 dadams
3279 ;; Added: icicle-ms-windows-NET-USE. Thx to Thomas Lim.
3280 ;; icicle-file-remote-p: Use icicle-ms-windows-NET-USE.
3281 ;; icicle-highlight-input-noncompletion: Return file-local-p if test shows it's local.
3282 ;; icicle-call-then-update-Completions:
3283 ;; Treat also known file-local-p return from icicle-highlight-input-noncompletion.
3284 ;; Renamed icicle-isearch-complete-1 to icicle-isearch-complete-past-string and moved it
3285 ;; here from icicles-mcmd.el.
3286 ;; icicle-isearch-complete-past-string: Always use regexp-search-ring. Changed prompt.
3287 ;; 2008/09/27 dadams
3288 ;; icicle-highlight-input-noncompletion: Fixed typo: implicit-remote -> implicit.
3289 ;; 2008/09/20 dadams
3290 ;; icicle-(apropos|prefix)-candidates, icicle-maybe-sort-and-strip-candidates:
3291 ;; Strip ignored files if icicle-abs-file-candidates.
3292 ;; 2008/09/19 dadams
3293 ;; icicle-get-candidates-from-saved-set: Added optional arg DONT-EXPAND-FILESETS-P.
3294 ;; Use icicle-kill-a-buffer, not kill-buffer.
3295 ;; Moved icicle-kill-a-buffer here from icicles-cmd.el.
3296 ;; Added: icicle-unpropertize.
3297 ;; icicle-completing-read, icicle-read-file-name: Use icicle-unpropertize.
3298 ;; 2008/09/16 dadams
3299 ;; filesets-get-filelist: Fixed :tree so it includes files in subdirs.
3300 ;; Added: icicle-filesets-files-under.
3301 ;; 2008/09/15 dadams
3302 ;; Added: icicle-saved-fileset-p, icicle-displayable-cand-from-saved-set.
3303 ;; icicle-get-candidates-from-saved-set:
3304 ;; Rewrote code to convert saved candidates to displayable candidates.
3305 ;; Use icicle-displayable-cand-from-*, icicle-saved-fileset-p. Require filesets.el.
3306 ;; Moved filesets-get-fileset-from-name into and of first cond clause.
3307 ;; Wrapped defun of filesets-get-filelist in eval-after-load.
3308 ;; 2008/09/13 dadams
3309 ;; Added: icicle-get-candidates-from-saved-set (factored from code in
3310 ;; icicle-retrieve-candidates-from-set), filesets-get-filelist (redefined),
3311 ;; icicle-explicit-saved-completion-candidates.
3312 ;; Moved here from icicles-mcmd.el: icicle-readable-to-markers.
3313 ;; 2008/09/04 dadams
3314 ;; icicle-read-file-name-1: Removed unused code for non icicle-mode case.
3315 ;; 2008/09/03 dadams
3316 ;; Removed: icicle-(un)highlight-crosshairs, icicle-unhighlight-crosshairs+cleanup.
3317 ;; 2008/09/01 dadams
3318 ;; Added: icicle-(un)highlight-crosshairs, icicle-unhighlight-crosshairs+cleanup.
3319 ;; 2008/08/29 dadams
3320 ;; icicle-mctize-all:
3321 ;; Do it for all list collections (new icicle-mctized-full-candidate).
3322 ;; Adjust PRED to use cdr only for conses with string cars.
3323 ;; icicle-mctized-full-candidate:
3324 ;; Treat all kinds of list entries: strings, symbols, and conses with symbol args, etc.
3325 ;; 2008/08/25 dadams
3326 ;; icicle-display-candidates-in-Completions: Do nothing if NO-DISPLAY-P is 'no-msg.
3327 ;; 2008/08/24 dadams
3328 ;; icicle-filter-wo-input: Filter out empty-string candidates: "".
3329 ;; Added: icicle-minibuf-input-sans-dir.
3330 ;; Renamed: icicle-minibuffer-contents-from-minibuffer to icicle-input-from-minibuffer,
3331 ;; icicle-minibuffer-contents to icicle-minibuf-input.
3332 ;; icicle-display-candidates-in-Completions, icicle-next-candidate, icicle-place-cursor:
3333 ;; Use icicle-minibuf-input-sans-dir.
3334 ;; 2008/08/23 dadams
3335 ;; icicle-display-candidates-in-Completions:
3336 ;; Wrap preliminary display of *Completions* in save-selected-window.
3337 ;; 2008/08/22 dadams
3338 ;; icicle-display-candidates-in-Completions:
3339 ;; Display *Completions* before calling with-output-to-temp-buffer and filling it.
3340 ;; This is so we can know the window width, to determine the correct formatting.
3341 ;; icicle-insert-candidates:
3342 ;; Don't use lru window or *-Completions-*-default-width (removed). Failsafe width 40.
3343 ;; 2008/08/21 dadams
3344 ;; icicle-completing-read:
3345 ;; Bind minibuffer-completing-file-name to nil if not completing a file name.
3346 ;; Removed setq of minibuffer-completion-table. Already do it in *-lisp-vanilla-*.
3347 ;; 2008/08/20 dadams
3348 ;; icicle-insert-candidates:
3349 ;; Turn off mouse-face after insert candidate.
3350 ;; Fixup whitespace correctly: Don't remove whitespace that is part of a candidate.
3351 ;; Added: icicle-ding.
3352 ;; icicle-read-number: Replaced ding by icicle-ding.
3353 ;; 2008/08/18 dadams
3354 ;; Moved here from icicles-cmd.el (and renamed from *-less-p): icicle-cdr-lessp.
3355 ;; Added: icicle-delete-count, icicle-mctize-all, icicle-mctized-(display|full)-candidate,
3356 ;; icicle-part-1-cdr-lessp.
3357 ;; Renamed: icicle-delete-if(-not) to icicle-remove-if(-not),
3358 ;; icicle-put-alist-candidate to icicle-put-whole-cand-prop,
3359 ;; icicle-update-completions to icicle-complete-again-update.
3360 ;; icicle-completing-read: Factored out transformation to MCT into new fn icicle-mctize-all.
3361 ;; 2008/08/08 dadams
3362 ;; icicle-completing-read: Updated doc string for Emacs 23.
3363 ;; 2008/08/03 dadams
3364 ;; icicle-completing-read: Convert the predicate to apply to just the cdr (= original cons).
3365 ;; icicle-save-or-restore-input: Don't save empty string ("") to C-l history.
3366 ;; 2008/07/27 dadams
3367 ;; Added: icicle-2nd-part-string-less-p.
3368 ;; Moved here from icicles-mcmd.el: icicle-transform-multi-completion.
3369 ;; 2008/07/19 dadams
3370 ;; icicle-choose-completion-string: Don't move to point-max unless in minibuffer.
3371 ;; 2008/06/24 dadams
3372 ;; Make *-must-match-filename-map an alias for *-filename-completion-map. Use the latter.
3373 ;; 2008/06/22 dadams
3374 ;; icicle-completing-read, icicle-read-file-name:
3375 ;; Remove text properties from result (only) if icicle-unpropertize-*-flag.
3376 ;; 2008/06/21 dadams
3377 ;; icicle-read-file-name: Remove text properties from result file name.
3378 ;; 2008/06/01 dadams
3379 ;; icicle-lisp-vanilla-completing-read: Typo: minibuffer-local-must-match-filename-map.
3380 ;; Put sort predicate properties on some sort predicate symbols, e.g. icicle-dirs-last-p.
3381 ;; 2008/05/22 dadams
3382 ;; icicle-read-file-name: Bind minibuffer-completing-file-name to t.
3383 ;; icicle-read-file-name-1: Do not prepend ". " if Emacs 23+, since it uses completing-read.
3384 ;; icicle-(un)highlight-lighter: Reflect case-sensitivity in lighter.
3385 ;; 2008/05/11 dadams
3386 ;; icicle-unsorted(-file-name)-apropos-candidates:
3387 ;; Pass input to all-completions only if not icicle-apropos-complete-match-fn.
3388 ;; 2008/05/11 dadams
3389 ;; Renamed icicle-fit-Completions-window to icicle-fit-completions-window.
3390 ;; icicle-fit-completions-window: Use current window - not necessarily for *Completions*.
3391 ;; 2008/05/06 dadams
3392 ;; icicle-highlight-lighter: Wrap redisplay in condition-case to ignore any errors.
3393 ;; 2008/05/05 dadams
3394 ;; icicle-file-name-input-p: Redefined to just use minibuffer-completing-file-name.
3395 ;; 2008/05/01 dadams
3396 ;; icicle-lisp-vanilla-completing-read, icicle-lisp-vanilla-completing-read,
3397 ;; icicle-read-from-minibuffer, icicle-read-number, icicle-read-string-completing:
3398 ;; Adapted to Emacs 23 change to allow list of strings for default value.
3399 ;; 2008/04/25 dadams
3400 ;; icicle-call-then-update-Completions:
3401 ;; nil icicle-test-for-remote-files-flag means don't test for remote file name.
3402 ;; icicle-highlight-input-noncompletion:
3403 ;; Correction: implicit, not always, in combination with not incremental completion.
3404 ;; Added check for icicle-completing-command if value is explicit*.
3405 ;; Added check for icicle-test-for-remote-files-flag if *-strict with lax completion.
3406 ;; Protect call to icicle-file-remote-p with check of icicle-test-for-remote-files-flag.
3407 ;; 2008/04/18 dadams
3408 ;; Renamed icicle-init-value-flag to icicle-default-value.
3409 ;; icicle-read-from-minibuffer:
3410 ;; If icicle-default-value is t, add to prompt. Thx to Dominique Quatrevaux.
3411 ;; icicle-completing-read, icicle-read-file-name-1, icicle-read-from-minibuffer:
3412 ;; Change icicle-default-value test to rule out t also.
3413 ;; icicle-completion-setup-function:
3414 ;; Don't call file-name-directory unless minibuffer-completing-file-name.
3415 ;; 2008/04/01 dadams
3416 ;; icicle-unsorted(-file-name)-apropos-candidates:
3417 ;; If icicle-unsorted-apropos-candidates pass input to all-completions.
3418 ;; icicle-expanded-common-match-1:
3419 ;; Use icicle-apropos-complete-match-fn throughout, but return nil if that is nil.
3420 ;; icicle-display-candidates-in-Completions:
3421 ;; If icicle-apropos-complete-match-fn is nil, don't try to highlight input match.
3422 ;; 2008/03/31 dadams
3423 ;; icicle-display-candidates-in-Completions:
3424 ;; Allow for no completion type, for No completions msg.
3425 ;; 2008/03/30 dadams
3426 ;; icicle-read-file-name-1:
3427 ;; Bind read-file-name-function to nil.
3428 ;; Funcall icicle-old-read-file-name-fn instead of old-read-file-name.
3429 ;; icicle-(un)highlight-lighter: Respect icicle-highlight-lighter-flag.
3430 ;; Top-level: Moved fset for old-read-file-name to icicles-mode.el and renamed it.
3431 ;; 2008/03/29 dadams
3432 ;; icicle-completing-read, icicle-read-file-name-1:
3433 ;; Combine new faces for single-character minibuffer completion status indicator.
3434 ;; Call icicle-highlight-lighter after establishing require-match, not at beginning.
3435 ;; No longer use completing-prompt-prefix(-symb).
3436 ;; No longer use icicle-reminder-prompt-flag (no longer add help to prompt).
3437 ;; Removed: icicle-control-reminder-prompt.
3438 ;; icicle-highlight-lighter:
3439 ;; Combine faces for highlighting. Indicate multi-command and strict/lax completion.
3440 ;; icicle-unhighlight-lighter: Add + for multi-command. Don't bother to propertize strg.
3441 ;; icicle-file-remote-p: If name matches Windows drive letter, don't try other remote tests.
3442 ;; 2008/03/11 dadams
3443 ;; icicle-completing-read-history:
3444 ;; Convert cons list elements to strings. Lets you use M-o with command-history.
3445 ;; 2008/03/09 dadams
3446 ;; Added: icicle-(un)highlight-lighter.
3447 ;; icicle-completing-read, icicle-read-file-name: Call icicle-highlight-lighter.
3448 ;; 2008/03/08 dadams
3449 ;; icicle-completing-p: Replaced where-is-internal test with completion keymaps test.
3450 ;; 2008/03/05 dadams
3451 ;; icicle-completing-read:
3452 ;; Copy TABLE etc. only if candidates are strings. Thx to Damon Permezel for bug report.
3453 ;; icicle-files-within: Skip inaccessible directories and unreadable files. Thx to Damon.
3454 ;; 2008/02/28 dadams
3455 ;; icicle-completing-read: Fixed test for multicompletion: List of strings, not just list.
3456 ;; 2008/02/24 dadams
3457 ;; Added: icicle-scatter(-match).
3458 ;; icicle-display-*-in-Completions: Highlighting of input match can use icicle-scatter.
3459 ;; Use icicle-apropos-complete-match-fn in message.
3460 ;; icicle-expanded-common-match-1: Use icicle-apropos-complete-match-fn, not string-match.
3461 ;; 2008/02/23 dadams
3462 ;; icicle-completing-read:
3463 ;; Change initial-input to a cons with 0 position if icicle-init-value-flag is *-start.
3464 ;; icicle-lisp-vanilla-completing-read: Set position to end of initial-input, by default.
3465 ;; Convert zero-based position to one-based.
3466 ;; 2008/02/22 dadams
3467 ;; icicle-completing-read:
3468 ;; For all alist candidates (not just multi-completion):
3469 ;; Copy the car and replace the cdr with the whole candidate.
3470 ;; icicle-get-alist-candidate: Get and return just whole icicle-whole-candidate property.
3471 ;; icicle-completion-setup-function (for Emacs 20):
3472 ;; minibuffer-prompt-end -> icicle-minibuffer-prompt-end.
3473 ;; 2008/02/16 dadams
3474 ;; icicle-get-alist-candidate:
3475 ;; Reconstitute whole candidate, by consing string onto data, which is only the cdr now.
3476 ;; icicle-completing-read: Use icicle-put-alist-candidate to put candidate data onto string.
3477 ;; Added: icicle-put-alist-candidate. Put only the cdr (data), not whole, onto the string.
3478 ;; 2008/02/14 dadams
3479 ;; Added: icicle-substring-no-properties.
3480 ;; 2008/02/11 dadams
3481 ;; icicle-read-string-completing: Moved save-match-data so replace-match can use match data.
3482 ;; 2008/02/06 dadams
3483 ;; icicle-highlight-input-noncompletion:
3484 ;; Wait icicle-highlight-input-completion-failure-delay before highlighting.
3485 ;; Don't highlight if past icicle-highlight-input-completion-failure-threshold.
3486 ;; Combined input-pending test with highlighting test, and moved it before file-name test.
3487 ;; Conditionalized face removal.
3488 ;; Return nil when input within delay preempts highlighting.
3489 ;; icicle-highlight-initial-whitespace: Removed only vestigial whitespace highlighting.
3490 ;; icicle-read-number: Moved save-match-data outside cond.
3491 ;; 2008/02/03 dadams
3492 ;; icicle-choose-completion-string:
3493 ;; Go to point-max before insert choice. Respect icicle-dir-candidate-can-exit-p.
3494 ;; icicle-completion-setup-function:
3495 ;; Set default dir only if this is a completion cmd or not *-comp-base-is-default-dir-p.
3496 ;; If icicle-comp-base-is-default-dir-p, set completion-base-size to default-dir length.
3497 ;; icicle-read-file-name: Bind ffap vars to prevent slowing down ffap-guesser.
3498 ;; 2008/01/29 dadams
3499 ;; Added: icicle-(apropos|prefix)-any(-file-name)-candidates-p,
3500 ;; icicle-subst-envvar-in-file-name, icicle-highlight-input-noncompletion-rest,
3501 ;; icicle-any-candidates-p, icicle-file-remote-p.
3502 ;; icicle-minibuffer-contents-from-minibuffer: Use icicle-subst-envvar-in-file-name.
3503 ;; icicle-call-then-update-Completions:
3504 ;; Reinitialize icicle-input-fail-pos to nil.
3505 ;; If we know input is a remote file name from failure highlighting, skip remote test.
3506 ;; Use icicle-file-remote-p, not file-remote-p.
3507 ;; icicle-highlight-input-noncompletion: Rewrote.
3508 ;; Takes no args now.
3509 ;; Do nothing if input pending or input is empty.
3510 ;; Use icicle-file-remote-p, not file-remote-p. Return value indicating remote file name.
3511 ;; Use new values of icicle-highlight-input-completion-failure, including always.
3512 ;; First check through last two chars, then icicle-highlight-input-noncompletion-rest.
3513 ;; icicle-highlight-input-noncompletion-rest (was in icicle-highlight-input-noncompletion):
3514 ;; No longer use icicle-max-chars-noncompletion-highlight.
3515 ;; Use icicle-any-candidates-p, so don't compute candidate lists.
3516 ;; 2008/01/15 dadams
3517 ;; icicle-command-abbrev-save: Added condition-case with message in case of error.
3518 ;; icicle-control-reminder-prompt: Added message.
3519 ;; 2008/01/13 dadams
3520 ;; icicle-read-face-name: Use icicle-transform-multi-completion.
3521 ;; icicle-next-candidate: Do not use icicle-transform-multi-completion.
3522 ;; icicle-next-candidate, icicle-save-or-restore-input: Do not treat handle-switch-frame.
3523 ;; 2008/01/08 dadams
3524 ;; Renamed icicle-expanded-common-match to icicle-expanded-common-match-1.
3525 ;; New icicle-expanded-common-match uses longest of two tries.
3526 ;; icicle-expanded-common-match-1, first loop: Match ecm only up to orig-match-end.
3527 ;; icicle-read-file-name: Use icicle-var-is-of-type-p for proxy candidates.
3528 ;; icicle-choose-completion-string, icicle-strip-ignored-files-and-sort,
3529 ;; icicle-filter-wo-input, icicle-first-matching-candidate,
3530 ;; icicle-(proxy-candidate|prefix-keys)-first-p, icicle-var-(matches|inherits)-type-p,
3531 ;; icicle-read-(number|face-name|file-name|string-completing),
3532 ;; icicle-unsorted(-file-name)-prefix-candidates, icicle-expanded-common-match-1,
3533 ;; icicle-next-candidate, icicle-remove-dots: Wrap string-match in save-match-data.
3534 ;; icicle-display-candidates-in-Completions: Moved save-match-data locations.
3535 ;; 2008/01/05 dadams
3536 ;; icicle-next-candidate: Don't refresh Completions if last-command = handle-switch-frame.
3537 ;; 2008/01/04 dadams
3538 ;; icicle-insert-candidates: Put property icicle-keep-newline on final \n of candidate.
3539 ;; 2007/12/31 dadams
3540 ;; icicle-choose-completion-string: In minibuffer, delete all input before inserting.
3541 ;; 2007/12/27 dadams
3542 ;; icicle-unsorted(-file-name)-apropos-candidates:
3543 ;; Use null *-apropos-*-match-fn, not function-valued TABLE to inhibit input match.
3544 ;; 2007/12/26 dadams
3545 ;; icicle-next-candidate: Raise *Completions* frame at the end.
3546 ;; 2007/12/24 dadams
3547 ;; icicle-unsorted(-file-name)-apropos-candidates:
3548 ;; Don't match input regexp if minibuffer-completion-table is a function.
3549 ;; icicle-var-inherits-type-p:
3550 ;; Recheck var-type match after set var-type to its car.
3551 ;; Handle string (regexp) TYPES elements.
3552 ;; icicle-value-satisfies-type-p: Skip type check for string type (regexp).
3553 ;; icicle-var-is-of-type-p: Doc string. Use icicle-var-matches-type-p.
3554 ;; Added: icicle-var-matches-type-p, icicle-custom-type.
3555 ;; 2007/12/23 dadams
3556 ;; icicle-var-is-of-type-p:
3557 ;; Added MODE arg. Use icicle-var-inherits-type-p, icicle-var-val-satisfies-type-p.
3558 ;; Redefined as MODE choice, not just a simple or. Treat more cases.
3559 ;; Added: icicle-var-inherits-type-p, icicle-var-val-satisfies-type-p,
3560 ;; icicle-value-satisfies-type-p.
3561 ;; icicle-read-(number|char-exclusive|string-completing|face-name):
3562 ;; Don't fill icicle-proxy-candidates unless icicle-add-proxy-candidates-flag.
3563 ;; Corrected doc string to refer to icicle-add-proxy-candidates-flag.
3564 ;; 2007/12/22 dadams
3565 ;; icicle-var-is-of-type-p:
3566 ;; Check supertypes also. Use both :validate and :match.
3567 ;; Wrap type check in condition-case. Use widget-put instead of plist-put.
3568 ;; Added soft require of wid-edit+.el.
3569 ;; 2007/12/21 dadams
3570 ;; icicle-var-is-of-type-p: Use :validate, not :match, for the test.
3571 ;; 2007/12/19 dadams
3572 ;; icicle-display-candidates-in-Completions:
3573 ;; Ensure icicle-last-input is non-nil in (file-name-directory icicle-last-input).
3574 ;; 2007/12/14 dadams
3575 ;; icicle-fit-Completions-window:
3576 ;; Don't try to get a property if it's not a symbol. Thx to Mike Mattie.
3577 ;; 2007/12/11 dadams
3578 ;; Added: icicle-read-char-exclusive.
3579 ;; icicle-read-face-name: Include face-name vars as proxy candidates.
3580 ;; 2007/12/10 dadams
3581 ;; icicle-highlight-input-noncompletion: Use face icicle-input-completion-fail-lax also.
3582 ;; 2007/12/09 dadams
3583 ;; icicle-highlight-input-noncompletion: Respect icicle-max-chars-noncompletion-highlight.
3584 ;; 2007/12/08 dadams
3585 ;; icicle-read-file-name:
3586 ;; Include file-name variables as proxy candidates. Reset icicle-proxy-candidates at end.
3587 ;; icicle-read-number: float type is not defined before Emacs 22.
3588 ;; icicle-read-string-completing:
3589 ;; Set default to "" if nil, but only after completing-read.
3590 ;; Set car of hist to var value, replacing var name. Treat consp hist also.
3591 ;; 2007/12/03 dadams
3592 ;; Renamed icicle-longest-common-match to icicle-expanded-common-match.
3593 ;; 2007/12/02 dadams
3594 ;; Added: icicle-var-is-of-type-p.
3595 ;; icicle-read-(number|string-completing):
3596 ;; Use icicle-var-is-of-type-p, to handle compatible types.
3597 ;; 2007/11/30 dadams
3598 ;; icicle-read-file-name, icicle-read-(number|string-completing),
3599 ;; icicle-display-candidates-in-Completions, icicle-proxy-candidate-first-p:
3600 ;; Use only membership in icicle-proxy-candidates, not icicle-proxy-candidate property.
3601 ;; icicle-choose-completion-string:
3602 ;; Condition for exit: could be no minibuffer-completion-table if extra or proxy cands.
3603 ;; 2007/11/29 dadams
3604 ;; icicle-read-(number|string-completing):
3605 ;; Treat icicle-add-proxy-candidates-flag and icicle-proxy-candidates.
3606 ;; icicle-display-candidates-in-Completions: Treat empty icicle-completion-candidates.
3607 ;; 2007/11/27 dadams
3608 ;; Added: icicle-read-number, icicle-read-string-completing.
3609 ;; icicle-read-file-name: Remove icicle-proxy-candidate property in unwind-protect.
3610 ;; 2007/11/25 dadams
3611 ;; Added: icicle-command-abbrev(-save|-used-more-p).
3612 ;; 2007/11/24 dadams
3613 ;; icicle-longest-common-match, first loop: string-match -> not string-match.
3614 ;; len-first -> length of lcm.
3615 ;; Added: icicle-proxy-candidate-first-p.
3616 ;; 2007/11/18 dadams
3617 ;; icicle(-unsorted)(-file-name)-(apropos|prefix)-candidates:
3618 ;; Include also icicle-proxy-candidates.
3619 ;; Move special and proxy candidates inside match filtering.
3620 ;; icicle-display-candidates-in-Completions:
3621 ;; Don't expand directory when highlighting special candidate.
3622 ;; 2007/11/02 dadams
3623 ;; icicle-longest-common-match:
3624 ;; First loop: (1) match against at most len-first, (2) put the match into the and test.
3625 ;; 2007/10/28 dadams
3626 ;; icicle-display-candidates-in-Completions:
3627 ;; Always highlight longest common match for prefix completion.
3628 ;; icicle-unsorted(-file-name)-prefix-candidates, icicle-fuzzy-candidates:
3629 ;; Set icicle-common-match-string, regardless of icicle-expand-input-*-flag.
3630 ;; icicle-save-or-restore-input:
3631 ;; Update to lcm even if no input change, if completion mode changed.
3632 ;; Update to lcm if prefix completing, even if icicle-expand-input-*-flag is nil.
3633 ;; Save input for C-l even if this command is an icicle-completing-command (?).
3634 ;; Don't reset raw input to "" if cycling, so keep highlight in *Completions*.
3635 ;; icicle-longest-common-match: Test prefix through embedded input each time.
3636 ;; 2007/10/26 dadams
3637 ;; icicle-read-face-name (Emacs 22): Fix the treatment of default value.
3638 ;; 2007/10/22 dadams
3639 ;; icicle-display-candidates-in-Completions:
3640 ;; Highlight only regexp matching part of special candidates.
3641 ;; Highlight special cands regardless of icicle-highlight-historical-candidates-flag.
3642 ;; 2007/10/02 dadams
3643 ;; icicle-next-candidate:
3644 ;; Apply abbreviate-file-name to file-name input. Thx to Joonhwan Lee.
3645 ;; 2007/09/29 dadams
3646 ;; Added: icicle-fuzzy-candidates.
3647 ;; icicle-prefix-candidates: Treat fuzzy completion.
3648 ;; icicle-display-candidates-in-Completions:
3649 ;; For prefix completion, highlight literal input match in Completions.
3650 ;; 2007/09/26 dadams
3651 ;; icicle-read-from-minibuffer: Removed keep-all arg - see also 2006/06/01.
3652 ;; 2007/09/22 dadamms
3653 ;; icicle-completing-read, icicle-read-from-minibuffer:
3654 ;; Ensure that init arg is string when get it from default arg via icicle-init-*-flag.
3655 ;; 2007/09/18 dadams
3656 ;; icicle-call-then-update-Completions:
3657 ;; Test icicle-current-completion-mode, not icicle-last-completion-command.
3658 ;; 2007/09/16 dadams
3659 ;; icicle-call-then-update-Completions:
3660 ;; Don't complete if file-remote-p.
3661 ;; Highlight completion failure only if input > icicle-*-display-min-input-chars.
3662 ;; icicle-highlight-input-noncompletion:
3663 ;; Don't highlight unless also icicle-incremental-completion-flag.
3664 ;; Call icicle-file-name-*-candidates for file-name input.
3665 ;; Don't highlight if file-remote-p and reading file name. Instead, remove highlighting.
3666 ;; 2007/09/14 dadams
3667 ;; icicle-highlight-input-noncompletion, icicle-update-completions,
3668 ;; icicle-recompute-candidates:
3669 ;; Wrapped condition-case around candidates computation.
3670 ;; 2007/09/02 dadams
3671 ;; icicle-display-candidates-in-Completions:
3672 ;; Restore point and window point to start of candidates in *Completions*.
3673 ;; 2007/08/21 dadams
3674 ;; icicle-highlight-input-noncompletion: Remove any vestigial highlighting on matched part.
3675 ;; 2007/08/19 dadams
3676 ;; Added: icicle-lisp-vanilla-completing-read, icicle-highlight-input-noncompletion.
3677 ;; icicle-completing-read:
3678 ;; Allow reading and returning string candidates with properties:
3679 ;; bind minibuffer-allow-text-properties.
3680 ;; Put whole candidate on string as text property.
3681 ;; Use icicle-lisp-vanilla-completing-read, not old-completing-read.
3682 ;; icicle-call-then-update-Completions: Call icicle-highlight-input-noncompletion.
3683 ;; icicle-get-alist-candidate:
3684 ;; If icicle-whole-candidate-as-text-prop-p, try to get full candidate from text prop.
3685 ;; 2007/08/16 dadams
3686 ;; icicle-insert-candidates: Don't reset text props if endpos > point. Thx to Chris Hecker.
3687 ;; 2007/08/14 dadams
3688 ;; icicle-increment-cand-nb+signal-end: Removed audible bell - use visible bell only.
3689 ;; 2007/07/22 dadams
3690 ;; icicle-read-face-name (Emacs 22 version):
3691 ;; Revert multiple branch to not use icicle-make-face-candidate.
3692 ;; Moved here from icicles-mode.el: icicle-completing-p.
3693 ;; 2007/07/06 dadams
3694 ;; icicle-display-candidates-in-Completions: Leave cursor at start of candidates.
3695 ;; 2007/07/03 dadams
3696 ;; icicle-save-or-restore-input:
3697 ;; Add current-raw-input to icicle-previous(-non)-file-*-raw-inputs, respecting max len.
3698 ;; Don't save input if current command is C-l or C-L.
3699 ;; If don't save raw input, set it to empty string.
3700 ;; Added: icicle-put-at-head.
3701 ;; icicle-highlight-complete-input: Ensure no error treatment in call to search-forward.
3702 ;; icicle-display-candidates-in-Completions:
3703 ;; Ensure non-nil current(-raw)-input, for highlight.
3704 ;; 2007/06/23 dadams
3705 ;; Added: icicle-completing-read-history.
3706 ;; Moved here from icicles-cmd.el: icicle-read-from-minibuf-nil-default.
3707 ;; 2007/06/20 dadams
3708 ;; icicle-make-face-candidate, icicle-read-face-name:
3709 ;; Use new string value of icicle-WYSIWYG-Completions-flag.
3710 ;; 2007/06/19 dadams
3711 ;; icicle-read-face-name:
3712 ;; Use a multi-completion, depending on icicle-WYSIWYG-Completions-flag.
3713 ;; For Emacs 22, isolate the multiple case and do nothing for it.
3714 ;; icicle-make-face-candidate: Treat also whole-number value for icicle-WYSIWYG-*-flag.