diff options
| author | Eli Zaretskii | 2012-12-10 14:08:02 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2012-12-10 14:08:02 +0200 |
| commit | 3907e630a71d48e693062b350571990d7ba08bbb (patch) | |
| tree | 2be1ecc0796e42c7a453a9fd5131eb5866f79876 /lisp | |
| parent | cf2d22b874ca2df0072e32ee641e8efffe4abd6d (diff) | |
| parent | 81606b10501169a5671061b8461bbc32dcec8705 (diff) | |
| download | emacs-3907e630a71d48e693062b350571990d7ba08bbb.tar.gz emacs-3907e630a71d48e693062b350571990d7ba08bbb.zip | |
Merge from trunk + rename the event. Not tested yet.
Diffstat (limited to 'lisp')
178 files changed, 8560 insertions, 4421 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f26643ea5cf..b06344075d7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,959 @@ | |||
| 1 | 2012-12-10 Rüdiger Sonderfeld <ruediger@c-plusplus.de> | ||
| 2 | |||
| 3 | * subr.el (inotify-event-p, inotify-handle-event): New functions. | ||
| 4 | |||
| 5 | 2012-12-10 Dani Moncayo <dmoncayo@gmail.com> | ||
| 6 | |||
| 7 | * simple.el (just-one-space): Doc fix. | ||
| 8 | |||
| 9 | 2012-12-10 Eli Zaretskii <eliz@gnu.org> | ||
| 10 | |||
| 11 | * textmodes/texinfo.el (texinfo-enable-quote-envs): Add | ||
| 12 | "smallexample". | ||
| 13 | |||
| 14 | 2012-12-10 Le Wang <l26wang@gmail.com> | ||
| 15 | |||
| 16 | * hilit-chg.el (hilit-chg-set-face-on-change): Don't burp in | ||
| 17 | narrowed buffer (bug#12361). | ||
| 18 | |||
| 19 | 2012-12-10 Juanma Barranquero <lekktu@gmail.com> | ||
| 20 | |||
| 21 | * vc/vc-hooks.el (vc-state): Doc fix. | ||
| 22 | |||
| 23 | 2012-12-10 Glenn Morris <rgm@gnu.org> | ||
| 24 | |||
| 25 | * mail/rmail.el (rmail-maybe-display-summary): | ||
| 26 | Preserve buffer, in case select-window changes it. (Bug#13066) | ||
| 27 | |||
| 28 | 2012-12-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 29 | |||
| 30 | * emacs-lisp/cl.el, emacs-lisp/cl-lib.el: Move cl-unload-function and | ||
| 31 | cl-load-hook where they belong. | ||
| 32 | |||
| 33 | 2012-12-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 34 | |||
| 35 | * emacs-lisp/cl-lib.el (cl-declaim): Paren typo. | ||
| 36 | |||
| 37 | 2012-12-09 Eli Zaretskii <eliz@gnu.org> | ||
| 38 | |||
| 39 | Parallelize byte compilation on MS-Windows. | ||
| 40 | * makefile.w32-in (WINS_BASIC1, WINS_BASIC2, WINS_BASIC3) | ||
| 41 | (WINS_BASIC4): New variables, subdivide subdirectories into 4 parts. | ||
| 42 | (WINS_BASIC): Define as concatenation of the above. | ||
| 43 | (compile): Subdivide into 4 separate and independent jobs that can | ||
| 44 | be run in parallel. | ||
| 45 | (compile0-CMD, compile0-SH): New targets for compiling | ||
| 46 | COMPILE_FIRST files, which are prerequisites for the rest of the | ||
| 47 | byte-compilation. | ||
| 48 | (compile1-CMD, compile2-CMD, compile3-CMD, compile4-CMD): | ||
| 49 | New targets for parallel compilation with cmd.exe. | ||
| 50 | (compile1-SH, compile2-SH, compile3-SH, compile4-SH): Ditto for | ||
| 51 | compiling under a Unixy shell. | ||
| 52 | |||
| 53 | 2012-12-09 Chong Yidong <cyd@gnu.org> | ||
| 54 | |||
| 55 | * simple.el (set-mark-default-inactive): Delete this | ||
| 56 | accidentally-introduced option. | ||
| 57 | (set-mark-command, exchange-point-and-mark): Remove calls. | ||
| 58 | |||
| 59 | 2012-12-09 Glenn Morris <rgm@gnu.org> | ||
| 60 | |||
| 61 | * emacs-lisp/lisp-mode.el (eval-defun-1): Doc fix. | ||
| 62 | Respect a defcustom's :set function, if appropriate. (Bug#109) | ||
| 63 | (eval-defun): Doc fix. | ||
| 64 | |||
| 65 | 2012-12-08 Juri Linkov <juri@jurta.org> | ||
| 66 | |||
| 67 | * info.el (Info-copy-current-node-name, Info-breadcrumbs) | ||
| 68 | (Info-fontify-node, Info-bookmark-make-record): Remove the | ||
| 69 | file extension from Info-current-file (Bug#13016). | ||
| 70 | |||
| 71 | 2012-12-07 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 72 | |||
| 73 | * hi-lock.el (hi-lock-unface-buffer): If there's no matching regexp at | ||
| 74 | point, still provide some default. | ||
| 75 | (hi-lock--regexps-at-point): Don't enforce a "hi-lock-" prefix on face | ||
| 76 | names, since we don't use it right now. Actually return the list. | ||
| 77 | (hi-lock-file-patterns, hi-lock-interactive-patterns): Use defvar-local. | ||
| 78 | |||
| 79 | 2012-12-07 Chong Yidong <cyd@gnu.org> | ||
| 80 | |||
| 81 | * novice.el (disabled-command-function): Remove a spurious help | ||
| 82 | xref (Bug#13043). Suggested by Kelly Dean. | ||
| 83 | |||
| 84 | * subr.el (text-clone-maintain): Fix clone overlay deletion when a | ||
| 85 | syntax is specified (Bug#13025). | ||
| 86 | |||
| 87 | * info.el (Info-set-mode-line): Remove the file extension from | ||
| 88 | Info-current-file if there is one (Bug#13016). | ||
| 89 | |||
| 90 | 2012-12-07 Glenn Morris <rgm@gnu.org> | ||
| 91 | |||
| 92 | * mail/rmail.el (rmail-mime-decoded): New permanent local. | ||
| 93 | (rmail-show-message-1): Set rmail-mime-decoded when appropriate. | ||
| 94 | * mail/rmailedit.el (rmail-cease-edit): Respect rmail-mbox-format | ||
| 95 | and rmail-mime-decoded. (Bug#9841) | ||
| 96 | |||
| 97 | * mail/unrmail.el (unrmail-mbox-format): New option. (Bug#6574) | ||
| 98 | (batch-unrmail, unrmail): Doc fixes. | ||
| 99 | (unrmail): Respect unrmail-mbox-format. | ||
| 100 | * mail/rmail.el (rmail-mbox-format): New option. | ||
| 101 | (rmail-show-message-1): Respect rmail-mbox-format. | ||
| 102 | |||
| 103 | 2012-12-07 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 104 | |||
| 105 | * emacs-lisp/cl-macs.el (cl-tagbody): New macro. | ||
| 106 | |||
| 107 | 2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 108 | |||
| 109 | Further cleanup of the "cl-" namespace. Fit CL in 80 columns. | ||
| 110 | * emacs-lisp/cl-macs.el (cl--pop2, cl--optimize-safety) | ||
| 111 | (cl--optimize-speed, cl--not-toplevel, cl--parse-loop-clause) | ||
| 112 | (cl--expand-do-loop, cl--proclaim-history, cl--declare-stack) | ||
| 113 | (cl--do-proclaim, cl--proclaims-deferred): Rename from the "cl-" prefix. | ||
| 114 | (cl-progv): Don't rely on dynamic scoping to find the body. | ||
| 115 | * emacs-lisp/cl-lib.el (cl--optimize-speed, cl--optimize-safety) | ||
| 116 | (cl--proclaims-deferred): Rename from the "cl-" prefix. | ||
| 117 | (cl-declaim): Use backquotes. | ||
| 118 | * emacs-lisp/cl-extra.el (cl-make-random-state, cl-random-state-p): | ||
| 119 | Use "cl--" prefix for the object's tag. | ||
| 120 | |||
| 121 | * ses.el: Use advice-add/remove. | ||
| 122 | (ses--advice-copy-region-as-kill, ses--advice-yank): New functions. | ||
| 123 | (copy-region-as-kill, yank): Use advice-add. | ||
| 124 | (ses-unload-function): Use advice-remove. | ||
| 125 | |||
| 126 | 2012-12-06 Jonas Bernoulli <jonas@bernoul.li> | ||
| 127 | |||
| 128 | * button.el: Make them work in header-lines (bug#12817). | ||
| 129 | (button-map): Add bindings for header-line and mode-line use. | ||
| 130 | (button-get, button-put, button-label): `button' may now be a string. | ||
| 131 | (button-activate): Don't make it a defsubst. | ||
| 132 | (button--area-button-p, button--area-button-string): New functions. | ||
| 133 | (make-text-button): Fix the return value when `beg' was a string. | ||
| 134 | (push-button): Handle the mode-line case. | ||
| 135 | |||
| 136 | 2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 137 | |||
| 138 | * progmodes/sql.el: Use cl-lib and lexical-binding; various cleanup. | ||
| 139 | (sql-signum): Remove. Use `cl-signum' instead. | ||
| 140 | (sql-read-passwd): Remove; use read-passwd instread. | ||
| 141 | (sql-get-login-ext): Use read-string. | ||
| 142 | (sql-get-login): Use dolist and pcase. | ||
| 143 | (sql--completion-table): Rename from sql-try-completion. | ||
| 144 | Use complete-with-action. | ||
| 145 | (sql-mode): Don't change abbrev-all-caps globally. | ||
| 146 | (sql-connect): Don't rely on dynamic scoping for `new-name'. | ||
| 147 | (sql-postgres-completion-object): Initialize vars in their `let'. | ||
| 148 | (sql-comint-sybase, sql-comint-sqlite, sql-comint-mysql) | ||
| 149 | (sql-comint-solid, sql-comint-ms, sql-comint-postgres) | ||
| 150 | (sql-comint-interbase): Use a single append, without setq. | ||
| 151 | (sql-comint-linter): Same, and unwind-protect the LINTER_MBX var. | ||
| 152 | |||
| 153 | * hi-lock.el: Rework the default face and the serialize regexp code. | ||
| 154 | (hi-lock--auto-select-face-defaults): Remove. | ||
| 155 | (hi-lock-string-serialize-serial): Remove. | ||
| 156 | (hi-lock--hashcons-hash): Rename from hi-lock-string-serialize-hash; | ||
| 157 | make weak. | ||
| 158 | (hi-lock--hashcons): Rename from hi-lock-string-serialize, return an | ||
| 159 | equal string. | ||
| 160 | (hi-lock-set-pattern): Adjust accordingly. | ||
| 161 | (hi-lock--regexps-at-point): Simplify accordingly. | ||
| 162 | (hi-lock--auto-select-face-defaults): Remove. | ||
| 163 | (hi-lock--last-face): New var to replace it. | ||
| 164 | (hi-lock-read-face-name): Rewrite (bug#11095). | ||
| 165 | (hi-lock-unface-buffer): Arrange for the face to be the next default. | ||
| 166 | |||
| 167 | 2012-12-06 Michael Albinus <michael.albinus@gmx.de> | ||
| 168 | |||
| 169 | * net/tramp.el (tramp-replace-environment-variables): | ||
| 170 | Hide compiler warning. | ||
| 171 | (tramp-file-name-for-operation): Remove `executable-find', | ||
| 172 | `start-process', `call-process' and `call-process-region'. | ||
| 173 | |||
| 174 | * net/tramp-compat.el (top): Don't require 'tramp-util and 'tramp-vc. | ||
| 175 | |||
| 176 | * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Ensure backward | ||
| 177 | compatibility. | ||
| 178 | |||
| 179 | * net/tramp-sh.el (top): Remove `tramp-sh-handle-call-process-region'. | ||
| 180 | |||
| 181 | 2012-12-06 Chong Yidong <cyd@gnu.org> | ||
| 182 | |||
| 183 | * ffap.el (ffap-replace-file-component): Fix typo. | ||
| 184 | |||
| 185 | 2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 186 | |||
| 187 | * progmodes/octave-mod.el (octave-mark-block): Move out of tokens and | ||
| 188 | fix open-paren-like token test (bug#12785). | ||
| 189 | |||
| 190 | 2012-12-06 Glenn Morris <rgm@gnu.org> | ||
| 191 | |||
| 192 | * mail/rmailsum.el (rmail-new-summary): Tweak for | ||
| 193 | rmail-maybe-display-summary changing buffer. (Bug#13066) | ||
| 194 | |||
| 195 | 2012-12-06 Juri Linkov <juri@jurta.org> | ||
| 196 | |||
| 197 | * info.el (Info-fontify-node): Don't hide the last newline. | ||
| 198 | (Bug#12272) | ||
| 199 | |||
| 200 | 2012-12-06 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 201 | |||
| 202 | * mail/mailabbrev.el (mail-abbrev-expand-wrapper): Work in minibuffer | ||
| 203 | so as to enable message-read-from-minibuffer to expand mail aliases. | ||
| 204 | |||
| 205 | 2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 206 | |||
| 207 | * minibuf-eldef.el (minibuf-eldef-update-minibuffer): Don't mess with | ||
| 208 | the `intangible' property. | ||
| 209 | Suggested by Christopher Schmidt <christopher@ch.ristopher.com> | ||
| 210 | |||
| 211 | 2012-12-05 Deniz Dogan <deniz@dogan.se> | ||
| 212 | |||
| 213 | * net/rcirc.el (rcirc-urls): Update documentation. | ||
| 214 | (rcirc-condition-filter): New function. | ||
| 215 | (rcirc-browse-url, rcirc-markup-urls): Use only URLs before point | ||
| 216 | and exclude consecutive duplicate URLs (Bug#6082). | ||
| 217 | |||
| 218 | 2012-12-05 Michael Albinus <michael.albinus@gmx.de> | ||
| 219 | |||
| 220 | * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): | ||
| 221 | Check return code of copy command. | ||
| 222 | |||
| 223 | * net/tramp-adb.el (tramp-adb-sdk-dir, tramp-adb-prompt): | ||
| 224 | Use group `tramp'. Add version. | ||
| 225 | |||
| 226 | 2012-12-05 Chong Yidong <cyd@gnu.org> | ||
| 227 | |||
| 228 | * ffap.el (ffap-url-regexp): Don't require matching at front of | ||
| 229 | string (Bug#4952). | ||
| 230 | (ffap-url-p): If only a substring matches, return that. | ||
| 231 | (ffap-url-at-point): Use the return value of ffap-url-p. | ||
| 232 | (ffap-read-file-or-url, ffap-read-file-or-url-internal) | ||
| 233 | (find-file-at-point, dired-at-point, dired-at-point-prompter) | ||
| 234 | (ffap-guess-file-name-at-point): Likewise. | ||
| 235 | (ffap-replace-file-component): Fix typo. | ||
| 236 | |||
| 237 | * info.el (info-display-manual): Add existing Info buffers, whose | ||
| 238 | files may not be in Info-directory-list, to the completion. | ||
| 239 | (info--manual-names): New helper function. | ||
| 240 | |||
| 241 | 2012-12-05 Glenn Morris <rgm@gnu.org> | ||
| 242 | |||
| 243 | * vc/vc-hg.el (vc-hg-resolve-when-done, vc-hg-find-file-hook): | ||
| 244 | New functions, for detecting and resolving conflicts. (Bug#10709) | ||
| 245 | |||
| 246 | 2012-12-04 Jambunathan K <kjambunathan@gmail.com> | ||
| 247 | |||
| 248 | * hi-lock.el (hi-lock-auto-select-face): New user variable. | ||
| 249 | (hi-lock-auto-select-face-defaults): New buffer local variable. | ||
| 250 | (hi-lock-read-face-name): Honor `hi-lock-auto-select-face'. | ||
| 251 | (hi-lock-unface-buffer): Prompt user with useful defaults. | ||
| 252 | With prefix arg, unhighlight all hi-lock patterns in buffer. | ||
| 253 | |||
| 254 | 2012-12-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 255 | |||
| 256 | * obsolete/terminal.el, obsolete/longlines.el: Add obsolecence info. | ||
| 257 | |||
| 258 | 2012-12-04 Michael Albinus <michael.albinus@gmx.de> | ||
| 259 | |||
| 260 | * Makefile.in (TRAMP_SRC): | ||
| 261 | * makefile.w32-in (TRAMP_SRC): Add tramp-adb.el. | ||
| 262 | |||
| 263 | 2012-12-04 Juergen Hoetzel <juergen@archlinux.org> | ||
| 264 | |||
| 265 | * net/tramp-adb.el: New package. | ||
| 266 | |||
| 267 | 2012-12-04 Chong Yidong <cyd@gnu.org> | ||
| 268 | |||
| 269 | * terminal.el: Move to obsolete/. | ||
| 270 | |||
| 271 | * longlines.el: Move to obsolete/. | ||
| 272 | |||
| 273 | * vc/ediff-diff.el (ediff-extract-diffs, ediff-extract-diffs3): | ||
| 274 | Remove code referring to longlines mode. | ||
| 275 | |||
| 276 | 2012-12-03 Juri Linkov <juri@jurta.org> | ||
| 277 | |||
| 278 | * sort.el (delete-duplicate-lines): New command. (Bug#13032) | ||
| 279 | |||
| 280 | 2012-12-03 Agustín Martín Domingo <agustin.martin@hispalinux.es> | ||
| 281 | |||
| 282 | * textmodes/ispell.el (ispell-init-process) | ||
| 283 | (ispell-start-process, ispell-internal-change-dictionary): | ||
| 284 | Make sure personal dictionary name is expanded after initial | ||
| 285 | `default-directory' value. Use expanded strings for | ||
| 286 | keep/restart checks and for value (Bug#13019). | ||
| 287 | |||
| 288 | 2012-12-03 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 289 | |||
| 290 | * calc/calc-forms.el (math-date-to-iso-dt): Fix weekday number. | ||
| 291 | |||
| 292 | 2012-12-03 Leo Liu <sdl.web@gmail.com> | ||
| 293 | |||
| 294 | * files.el (dir-locals-read-from-file): Check file non-empty | ||
| 295 | before reading. (Bug#13038) | ||
| 296 | |||
| 297 | 2012-12-03 Glenn Morris <rgm@gnu.org> | ||
| 298 | |||
| 299 | * jka-cmpr-hook.el (jka-compr-get-compression-info): | ||
| 300 | Remove any version extension before checking filename. (Bug#13006) | ||
| 301 | (jka-compr-compression-info-list): Belated :version bump. | ||
| 302 | |||
| 303 | 2012-12-03 Chong Yidong <cyd@gnu.org> | ||
| 304 | |||
| 305 | * simple.el (transient-mark-mode): Doc fix (Bug#11523). | ||
| 306 | |||
| 307 | * buff-menu.el (Buffer-menu-delete-backwards, Buffer-menu-mode) | ||
| 308 | (buffer-menu): Doc fix (Bug#12294). | ||
| 309 | |||
| 310 | 2012-12-03 Roland Winkler <winkler@gnu.org> | ||
| 311 | |||
| 312 | * calendar/diary-lib.el (diary-header-line-format): Use keybinding | ||
| 313 | of diary-show-all-entries in the diary buffer (Bug#12994). | ||
| 314 | |||
| 315 | 2012-12-03 Michael Albinus <michael.albinus@gmx.de> | ||
| 316 | |||
| 317 | * net/tramp-sh.el (tramp-perl-encode): Use "read STDIN" instead of | ||
| 318 | "<STDIN>". This is binary safe. | ||
| 319 | |||
| 320 | 2012-12-03 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 321 | |||
| 322 | * calc/calc-forms.el (math-absolute-from-iso-dt) | ||
| 323 | (math-date-to-iso-dt, math-parse-iso-date-validate) | ||
| 324 | (math-iso-dt-to-date): New functions. | ||
| 325 | (math-fd-iso-dt, math-fd-isoyear, math-fd-isoweek) | ||
| 326 | (math-fd-isoweekday): New variables. | ||
| 327 | (calc-date-notation, math-parse-standard-date, math-format-date) | ||
| 328 | (math-format-date-part): Add support for more formatting codes. | ||
| 329 | |||
| 330 | 2012-12-02 Dmitry Gutov <dgutov@yandex.ru> | ||
| 331 | |||
| 332 | * vc/vc.el (vc-delete-file, vc-rename-file): Default to the | ||
| 333 | current buffer's file name when called interactively (Bug#12488). | ||
| 334 | |||
| 335 | 2012-12-02 Juri Linkov <juri@jurta.org> | ||
| 336 | |||
| 337 | * info.el (info-display-manual): Don't clobber an existing Info | ||
| 338 | buffer (Bug#10770). Add completion (Bug#10771). | ||
| 339 | |||
| 340 | 2012-12-01 Yuya Nishihara <yuya@tcha.org> (tiny change) | ||
| 341 | |||
| 342 | * vc/vc-hooks.el (vc-find-file-hook): Expand buffer-file-truename | ||
| 343 | before using it for comparison (Bug#5297). | ||
| 344 | |||
| 345 | 2012-12-01 Jari Aalto <jari.aalto@cante.net> | ||
| 346 | |||
| 347 | * textmodes/css-mode.el (css-current-defun-name): New function. | ||
| 348 | (css-mode): Use it. | ||
| 349 | |||
| 350 | * textmodes/sgml-mode.el (html-current-defun-name): New function. | ||
| 351 | (html-mode): Use it. | ||
| 352 | |||
| 353 | 2012-12-01 Chong Yidong <cyd@gnu.org> | ||
| 354 | |||
| 355 | Modularize add-log-current-defun (Bug#2224). | ||
| 356 | Suggested by Jari Aalto. | ||
| 357 | |||
| 358 | * vc/add-log.el (add-log-current-defun-function): Doc fix. | ||
| 359 | (add-log-current-defun): Move mode-specific code to other files. | ||
| 360 | (add-log-lisp-like-modes, add-log-c-like-modes) | ||
| 361 | (add-log-tex-like-modes): Variables deleted. | ||
| 362 | |||
| 363 | * emacs-lisp/lisp-mode.el (lisp-current-defun-name): New. | ||
| 364 | (lisp-mode-variables): Use it. | ||
| 365 | |||
| 366 | * progmodes/cc-mode.el (c-common-init): | ||
| 367 | * progmodes/cperl-mode.el (cperl-mode): Set a value for | ||
| 368 | add-log-current-defun-function. | ||
| 369 | |||
| 370 | * progmodes/m4-mode.el (m4-current-defun-name): New function. | ||
| 371 | (m4-mode): Use it. | ||
| 372 | |||
| 373 | * progmodes/perl-mode.el (perl-current-defun-name): New. | ||
| 374 | (perl-mode): Use it. | ||
| 375 | |||
| 376 | * progmodes/scheme.el (scheme-mode-variables, dsssl-mode): | ||
| 377 | Use lisp-current-defun-name. | ||
| 378 | |||
| 379 | * textmodes/tex-mode.el (tex-current-defun-name): New. | ||
| 380 | (tex-common-initialization): Use it. | ||
| 381 | |||
| 382 | * textmodes/texinfo.el (texinfo-current-defun-name): New. | ||
| 383 | (texinfo-mode): Use it. | ||
| 384 | |||
| 385 | 2012-12-01 Chong Yidong <cyd@gnu.org> | ||
| 386 | |||
| 387 | * emacs-lisp/lisp-mode.el (lisp-mode-variables, lisp-mode): | ||
| 388 | * progmodes/autoconf.el (autoconf-mode): | ||
| 389 | * progmodes/js.el (js-mode): | ||
| 390 | * progmodes/make-mode.el (makefile-mode, makefile-makepp-mode) | ||
| 391 | (makefile-bsdmake-mode, makefile-imake-mode, makefile-browse): | ||
| 392 | * progmodes/perl-mode.el (perl-mode): | ||
| 393 | * progmodes/sh-script.el (sh-mode, sh-set-shell): | ||
| 394 | * textmodes/css-mode.el (css-mode): | ||
| 395 | * textmodes/sgml-mode.el (html-mode, sgml-mode) | ||
| 396 | (sgml-tags-invisible, sgml-guess-indent): | ||
| 397 | * textmodes/tex-mode.el (tex-common-initialization) | ||
| 398 | (latex-complete-bibtex-keys, tex-shell, tex-main-file) | ||
| 399 | (doctex-mode, plain-tex-mode, latex-mode): | ||
| 400 | * textmodes/texinfo.el (texinfo-mode): Use setq-local. | ||
| 401 | |||
| 402 | 2012-12-01 Kirk Kelsey <kirk.kelsey@0x4b.net> | ||
| 403 | |||
| 404 | * vc/vc-hg.el (vc-hg-next-revision): | ||
| 405 | Ensure use of default "tip" output format. (Bug#6968) | ||
| 406 | |||
| 407 | 2012-12-01 Kim F. Storm <storm@cua.dk> | ||
| 408 | |||
| 409 | * startup.el (fancy-startup-tail): Add a clickable link | ||
| 410 | (Bug#2176). | ||
| 411 | |||
| 412 | 2012-12-01 Chong Yidong <cyd@gnu.org> | ||
| 413 | |||
| 414 | * startup.el (fancy-startup-tail): Improve the message about | ||
| 415 | auto-save files (Bug#2176). | ||
| 416 | |||
| 417 | * files.el (recover-session): Improve the descriptive message, and | ||
| 418 | use substitute-command-keys. | ||
| 419 | |||
| 420 | 2012-12-01 Glenn Morris <rgm@gnu.org> | ||
| 421 | |||
| 422 | * ido.el (ido-file-internal): | ||
| 423 | Handle other-window, other-frame for dired. (Bug#13036) | ||
| 424 | |||
| 425 | 2012-11-30 Glenn Morris <rgm@gnu.org> | ||
| 426 | |||
| 427 | * icomplete.el (icomplete-separator): Fix :version. | ||
| 428 | |||
| 429 | 2012-11-30 Chong Yidong <cyd@gnu.org> | ||
| 430 | |||
| 431 | * shell.el (shell): For C-u M-x shell, use an inactive shell | ||
| 432 | buffer as the default (Bug#1975). | ||
| 433 | (shell-apply-ansi-color, shell-reapply-ansi-color): New functions. | ||
| 434 | (shell-mode): Use them to reapply ansi colorization if Shell mode | ||
| 435 | is re-enabled. | ||
| 436 | |||
| 437 | 2012-11-30 Yuriy Vostrikov <delamonpansie@gmail.com> (tiny change) | ||
| 438 | |||
| 439 | * vc/vc-git.el (vc-git-command): Disable the pager (Bug#6137). | ||
| 440 | |||
| 441 | 2012-11-30 Samuel Bronson <naesten@gmail.com> | ||
| 442 | |||
| 443 | * progmodes/grep.el (grep-compute-defaults): Do not pass the -e | ||
| 444 | flag to xargs, for compatibility with BSD xargs (Bug#11703). | ||
| 445 | |||
| 446 | 2012-11-30 Toru TSUNEYOSHI <t_tuneyosi@hotmail.com> | ||
| 447 | |||
| 448 | * textmodes/fill.el (fill-region-as-paragraph): Handle overshoot | ||
| 449 | by move-to-column (Bug#3234). | ||
| 450 | |||
| 451 | 2012-11-30 Chong Yidong <cyd@gnu.org> | ||
| 452 | |||
| 453 | * longlines.el (longlines-wrap-line, longlines-encode-region): | ||
| 454 | Preserve text properties (Bug#1425). | ||
| 455 | |||
| 456 | 2012-11-30 OKAZAKI Tetsurou <okazaki.tetsurou@gmail.com> (tiny change) | ||
| 457 | |||
| 458 | * vc/vc.el (vc-register): Allow registering a file which is | ||
| 459 | already registered with a different backend (Bug#10589). | ||
| 460 | |||
| 461 | 2012-11-29 Jambunathan K <kjambunathan@gmail.com> | ||
| 462 | Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 463 | |||
| 464 | * icomplete.el: Change separator; add ido-style commands. | ||
| 465 | (icomplete-show-key-bindings): Remove custom var. | ||
| 466 | (icomplete-get-keys): Remove function. | ||
| 467 | (icomplete-forward-completions, icomplete-backward-completions): | ||
| 468 | New commands. | ||
| 469 | (icomplete-minibuffer-map): New var. | ||
| 470 | (icomplete-minibuffer-setup): Use it. | ||
| 471 | (icomplete-exhibit): Don't delay if the list of completions is known. | ||
| 472 | (icomplete-separator): New custom. | ||
| 473 | (icomplete-completions): Use it. | ||
| 474 | * minibuffer.el (completion-all-sorted-completions): Delete duplicates. | ||
| 475 | (minibuffer-force-complete-and-exit): New command. | ||
| 476 | (minibuffer--complete-and-exit): New function extracted from | ||
| 477 | minibuffer-complete-and-exit. | ||
| 478 | (minibuffer-complete-and-exit): Use it. | ||
| 479 | |||
| 480 | * progmodes/etags.el (visit-tags-table-buffer): Give a more precise | ||
| 481 | error message when the file doesn't exist (bug#12974). | ||
| 482 | |||
| 483 | 2012-11-29 Kelly Dean <kellydeanch@yahoo.com> (tiny change) | ||
| 484 | |||
| 485 | * simple.el (activate-mark): Run activate-mark-hook (bug#13027). | ||
| 486 | |||
| 487 | 2012-11-29 Glenn Morris <rgm@gnu.org> | ||
| 488 | |||
| 489 | * files.el (hack-dir-local-variables): Warn if try to set | ||
| 490 | coding via dir-locals, since it doesn't work. (Bug#7169) | ||
| 491 | |||
| 492 | Add desktop support for restoring vc-dir buffers. (Bug#10606) | ||
| 493 | * vc/vc-dir.el (vc-dir-mode): Autoload it (for desktop restore). | ||
| 494 | Set buffer-local value of desktop-save-buffer. | ||
| 495 | (vc-dir-desktop-buffer-misc-data, vc-dir-restore-desktop-buffer): | ||
| 496 | New functions. | ||
| 497 | (desktop-buffer-mode-handlers): Add vc-dir-mode entry. | ||
| 498 | * desktop.el (desktop-save-buffer-p): Treat vc-dir like dired. | ||
| 499 | |||
| 500 | * files.el (inhibit-local-variables-ignore-case): New. (Bug#10610) | ||
| 501 | (inhibit-local-variables-p): Use inhibit-local-variables-ignore-case. | ||
| 502 | Doc fix. | ||
| 503 | (inhibit-local-variables-regexps, inhibit-local-variables-suffixes): | ||
| 504 | Doc fixes. | ||
| 505 | |||
| 506 | 2012-11-28 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 507 | |||
| 508 | * calc/calc-forms.el (calc-date-notation): Fix regexp | ||
| 509 | used to find time codes. Fix symbol for seconds. | ||
| 510 | |||
| 511 | 2012-11-27 Glenn Morris <rgm@gnu.org> | ||
| 512 | |||
| 513 | * emacs-lisp/derived.el (derived-mode-make-docstring): | ||
| 514 | Don't mention "abbrev" or "syntax" if nil. (Bug#11277) | ||
| 515 | |||
| 516 | 2012-11-27 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 517 | |||
| 518 | * textmodes/table.el (table-insert): Don't use `symbol-name' on | ||
| 519 | lexically scoped variables (bug#13005). | ||
| 520 | |||
| 521 | 2012-11-27 Glenn Morris <rgm@gnu.org> | ||
| 522 | |||
| 523 | * vc/vc-hooks.el (vc-mistrust-permissions): | ||
| 524 | Default to t, to avoid data-loss. (Bug#11490) | ||
| 525 | |||
| 526 | 2012-11-27 Fabián Ezequiel Gallina <fgallina@cuca> | ||
| 527 | |||
| 528 | * progmodes/python.el (python-indent-guess-indent-offset): | ||
| 529 | If indentation is guessed make python-indent-offset buffer-local. | ||
| 530 | |||
| 531 | Fix Imenu regression. | ||
| 532 | * progmodes/python.el (python-nav-beginning-of-defun): | ||
| 533 | Fix forward movement when statement(s) separates point from defun. | ||
| 534 | (python-imenu-prev-index-position): New function. | ||
| 535 | |||
| 536 | 2012-11-27 Eli Zaretskii <eliz@gnu.org> | ||
| 537 | |||
| 538 | * subr.el (buffer-file-type): Declare with defvar-local. Doc fix. | ||
| 539 | |||
| 540 | * dos-w32.el (find-file-not-found-set-buffer-file-coding-system): | ||
| 541 | Don't set buffer-file-type. Return nil. (Bug#12989) | ||
| 542 | |||
| 543 | 2012-11-27 Glenn Morris <rgm@gnu.org> | ||
| 544 | |||
| 545 | * hippie-exp.el (hippie-expand-try-functions-list): | ||
| 546 | Re-autoload it. (Bug#12982) | ||
| 547 | |||
| 548 | 2012-11-27 Eli Zaretskii <eliz@gnu.org> | ||
| 549 | |||
| 550 | * descr-text.el (describe-char-padded-string): | ||
| 551 | Call internal-char-font only on GUI frames. (Bug#11964) | ||
| 552 | |||
| 553 | 2012-11-27 Andreas Schwab <schwab@linux-m68k.org> | ||
| 554 | |||
| 555 | * buff-menu.el (Buffer-menu-buffer+size-width): Fix customize type | ||
| 556 | and obsoletion message. | ||
| 557 | |||
| 558 | 2012-11-27 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 559 | |||
| 560 | * emacs-lisp/cl-macs.el (cl--transform-lambda): Add back `declare' in | ||
| 561 | the constructs to keep outside of the `cl-block' (bug#12977). | ||
| 562 | |||
| 563 | 2012-11-27 Chong Yidong <cyd@gnu.org> | ||
| 564 | |||
| 565 | * mouse.el (mouse-drag-line): Even if the line is not draggable, | ||
| 566 | keep reading until we get the up-event anyway, in order to process | ||
| 567 | the up-event for mouse-1-click-follows-link (Bug#12971). | ||
| 568 | |||
| 569 | 2012-11-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 570 | |||
| 571 | * emacs-lisp/advice.el (ad-should-compile): Don't compile advice if the | ||
| 572 | base function is not yet defined (bug#12965). | ||
| 573 | (ad-activate-advised-definition): Use ad-compile-function. | ||
| 574 | (ad-activate): Use cond. | ||
| 575 | |||
| 576 | 2012-11-25 Leo Liu <sdl.web@gmail.com> | ||
| 577 | |||
| 578 | * textmodes/sgml-mode.el (sgml-tag): Fix indentation for closing tag. | ||
| 579 | (Bug#12979) | ||
| 580 | |||
| 581 | 2012-11-24 Vincent Belaïche <vincentb1@users.sourceforge.net> | ||
| 582 | |||
| 583 | * textmodes/reftex-parse.el (reftex-parse-from-file): Use variable | ||
| 584 | reftex-section-info-function in order to be compatible with | ||
| 585 | Texinfo integration. | ||
| 586 | |||
| 587 | * textmodes/reftex.el (reftex-section-pre-regexp) | ||
| 588 | (reftex-section-post-regexp, reftex-section-info-function): | ||
| 589 | New variable. | ||
| 590 | (reftex-compile-variables): Use variables reftex-section-pre-regexp, | ||
| 591 | reftex-section-post-regexp, and reftex-section-info-function in order | ||
| 592 | to be compatible with Texinfo integration. | ||
| 593 | |||
| 594 | * textmodes/reftex-toc.el (reftex-toc-promote-action): | ||
| 595 | use reftex-section-pre-regexp variable in order to be compatible with | ||
| 596 | Texinfo integration. | ||
| 597 | |||
| 598 | 2012-11-25 Chong Yidong <cyd@gnu.org> | ||
| 599 | |||
| 600 | * faces.el: Make face-spec-set more analogous to setq. | ||
| 601 | (face-spec-set): Change the third arg to specify whether this | ||
| 602 | function is being called via defface, customize, or a third party. | ||
| 603 | Set the appropriate symbol properties. Clear the override spec if | ||
| 604 | setting via Custom. Initialize face if necessary. (Bug#4988) | ||
| 605 | (face-spec-recalc): Allow theme faces to completely replace the | ||
| 606 | defface spec, in the same way as custom faces (Bug#8454). | ||
| 607 | |||
| 608 | * cus-face.el (custom-declare-face): Move face initialization to | ||
| 609 | face-spec-set. | ||
| 610 | (custom-theme-set-faces): Don't initialize the face name here, as | ||
| 611 | that is now done in face-spec-set. | ||
| 612 | |||
| 613 | * cus-edit.el (custom-face-set, custom-face-mark-to-save) | ||
| 614 | (custom-face-reset-saved, custom-face-mark-to-reset-standard): | ||
| 615 | Simplify by using the new arg to face-spec-set. | ||
| 616 | |||
| 617 | * emacs-lisp/lisp-mode.el (eval-defun-1): When evaluating defface, | ||
| 618 | reset face-override-spec too, and use custom-declare-face. | ||
| 619 | |||
| 620 | 2012-11-24 Jan Djärv <jan.h.d@swipnet.se> | ||
| 621 | |||
| 622 | * term/ns-win.el (ns-initialize-window-system): Move creation of | ||
| 623 | fontsets here (Bug#11964). | ||
| 624 | |||
| 625 | 2012-11-24 Vincent Belaïche <vincentb1@users.sourceforge.net> | ||
| 626 | |||
| 627 | * ses.el (ses-rename-cell): Correct bug on mode-line update after | ||
| 628 | cell renaming. | ||
| 629 | |||
| 630 | 2012-11-24 Chong Yidong <cyd@gnu.org> | ||
| 631 | |||
| 632 | * woman.el (woman-default-faces, woman-monochrome-faces): Mark as | ||
| 633 | obsolete. | ||
| 634 | |||
| 635 | * custom.el (custom-theme-set-variables): Use a topological sort | ||
| 636 | for ordering by custom dependencies (Bug#12952). | ||
| 637 | (custom--sort-vars, custom--sort-vars-1): New functions. | ||
| 638 | |||
| 639 | 2012-11-24 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 640 | |||
| 641 | * emacs-lisp/bytecomp.el (byte-compile-file): Setup default value for | ||
| 642 | lexical-binding (bug#12938). | ||
| 643 | |||
| 644 | 2012-11-24 Wolfgang Jenkner <wjenkner@inode.at> | ||
| 645 | |||
| 646 | * image-mode.el (image-transform-check-size): Use assertions only | ||
| 647 | for images of type imagemagick. | ||
| 648 | |||
| 649 | Otherwise no error, image-transform-fit-to-{width,height} is | ||
| 650 | silently ignored, as before. Doc fix. | ||
| 651 | |||
| 652 | 2012-11-24 Chong Yidong <cyd@gnu.org> | ||
| 653 | |||
| 654 | * faces.el (color-defined-p): Doc fix (Bug#12853). | ||
| 655 | |||
| 656 | 2012-11-24 Juri Linkov <juri@jurta.org> | ||
| 657 | |||
| 658 | * dired.el (dired-mark): Add optional arg `interactive'. | ||
| 659 | Check for `use-region-p' if `interactive' is non-nil. | ||
| 660 | (dired-unmark, dired-flag-file-deletion): Add optional arg | ||
| 661 | `interactive'. Call `dired-mark' with the arg `interactive'. | ||
| 662 | (Bug#10624) | ||
| 663 | |||
| 664 | * wdired.el: Revert 2012-10-17 change partly and replace it with | ||
| 665 | Patch by Christopher Schmidt <christopher@ch.ristopher.com>. | ||
| 666 | (wdired-finish-edit): Add marks for new file names to | ||
| 667 | `wdired-old-marks'. Restore marks using `dired-mark-remembered' | ||
| 668 | after `revert-buffer'. | ||
| 669 | (wdired-do-renames): Remove calls to `dired-remove-file', | ||
| 670 | `dired-add-file', `dired-add-entry'. (Bug#11795) | ||
| 671 | |||
| 672 | 2012-11-24 Alan Mackenzie <acm@muc.de> | ||
| 673 | |||
| 674 | * progmodes/cc-defs.el (c-version): Bump to 5.32.4. | ||
| 675 | |||
| 676 | Fix bugs in the state cache. Enhance a debugging mechanism. | ||
| 677 | * progmodes/cc-engine.el (c-parse-state-get-strategy): Don't use | ||
| 678 | "brace at column zero" strategy for C++. | ||
| 679 | (c-append-lower-brace-pair-to-state-cache): Repair algorithm. | ||
| 680 | (c-parse-state-point): New variable. | ||
| 681 | (c-record-parse-state-state): Record old parse state with | ||
| 682 | `copy-tree'. Record previous value of point. | ||
| 683 | (c-debug-parse-state-double-cons): New debugging function. | ||
| 684 | (c-debug-parse-state): Call the above new function. | ||
| 685 | (c-toggle-parse-state-debug): Output a confirmatory message. | ||
| 686 | |||
| 687 | * progmodes/cc-mode.el (c-before-change, c-after-change): | ||
| 688 | Call c-invalidate-state-cache from `c-before-change' instead of | ||
| 689 | `c-after-change'. | ||
| 690 | |||
| 691 | 2012-11-23 Chong Yidong <cyd@gnu.org> | ||
| 692 | |||
| 693 | * find-cmd.el (find-constituents): Add executable, ipath, | ||
| 694 | readable, samefile, writable, daystart, regextype (Bug#12856). | ||
| 695 | |||
| 696 | 2012-11-23 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 697 | |||
| 698 | * emacs-lisp/ert.el, emacs-lisp/ert-x.el: Use cl-lib and lexical-binding. | ||
| 699 | |||
| 700 | 2012-11-22 Paul Eggert <eggert@cs.ucla.edu> | ||
| 701 | |||
| 702 | * calc/calc.el (calc-gregorian-switch): Move to after calc-refresh | ||
| 703 | definition. This fixes a bootstrap failure. | ||
| 704 | (calc-gregorian-switch): In menu, put dates before regions. | ||
| 705 | This is easier to follow, lines up better in the menu, and lets us | ||
| 706 | coalesce regions that switch at the same time. Give country | ||
| 707 | names, not "Vatican", as that's better for non-expert users. | ||
| 708 | Use names that are stable between the date of switch and now, e.g., | ||
| 709 | Bohemia and Moravia (which existed then and now) and not | ||
| 710 | Czechoslovakia (which didn't exist then and doesn't exist now). | ||
| 711 | What is now the U.S. mostly did not switch at the same time as | ||
| 712 | Britain, so omit the U.S. Correct spelling of "Britain". | ||
| 713 | Catholic Switzerland was too much of a mess, so omit it. | ||
| 714 | |||
| 715 | 2012-11-22 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 716 | |||
| 717 | * calc/calc.el (calc-gregorian-switch): Refresh the Calc buffer | ||
| 718 | after the variable is changed. | ||
| 719 | |||
| 720 | 2012-11-21 Daniel Colascione <dancol@dancol.org> | ||
| 721 | |||
| 722 | * progmodes/sql.el (sql-mode-font-lock-object-name): Support IF NOT EXISTS | ||
| 723 | in SQL declarations for font-lock. | ||
| 724 | (sql-imenu-generic-expression): Teach imenu about IF NOT EXISTS. | ||
| 725 | |||
| 726 | 2012-11-21 Glenn Morris <rgm@gnu.org> | ||
| 727 | |||
| 728 | * faces.el (face-underline-p, face-inverse-video-p, face-bold-p) | ||
| 729 | (face-italic-p): Add optional argument "inherit". | ||
| 730 | |||
| 731 | * faces.el (set-face-inverse-video, set-face-bold, set-face-italic): | ||
| 732 | Remove -p suffix from names, for consistency with other set-face-*. | ||
| 733 | (set-face-inverse-video): Fix interactive spec. | ||
| 734 | * play/gamegrid.el (gamegrid-make-mono-tty-face): | ||
| 735 | * textmodes/table.el (table--update-cell-face): | ||
| 736 | Use set-face-inverse-video rather than now obsolete alias. | ||
| 737 | |||
| 738 | 2012-11-21 Eli Zaretskii <eliz@gnu.org> | ||
| 739 | |||
| 740 | * simple.el (line-move): Don't call line-move-partial if | ||
| 741 | scroll-conservatively is in effect. (Bug#12927) | ||
| 742 | |||
| 743 | 2012-11-21 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 744 | |||
| 745 | * eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838: | ||
| 746 | Fallback on completion-at-point rather than | ||
| 747 | pcomplete-expand-and-complete, and only if pcomplete actually failed. | ||
| 748 | (eshell-cmpl-initialize): Setup completion-at-point. | ||
| 749 | |||
| 750 | * pcomplete.el (pcomplete--entries): Obey pcomplete-ignore-case. | ||
| 751 | |||
| 752 | * emacs-lisp/ert.el (ert--expand-should-1): Adapt to cl-lib. | ||
| 753 | |||
| 754 | 2012-11-21 Michael Albinus <michael.albinus@gmx.de> | ||
| 755 | |||
| 756 | * net/tramp-sh.el (tramp-do-copy-or-rename-file): If both files | ||
| 757 | are remote, check out-of-band property for both. | ||
| 758 | |||
| 759 | 2012-11-21 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 760 | |||
| 761 | * window.el (switch-to-buffer): Re-add the warning that was lost in the | ||
| 762 | code rewrite. | ||
| 763 | |||
| 764 | 2012-11-21 Paul Eggert <eggert@cs.ucla.edu> | ||
| 765 | |||
| 766 | More minor time fixes. | ||
| 767 | * calendar/time-date.el: Commentary fix. | ||
| 768 | * net/tramp-sh.el (tramp-do-file-attributes-with-ls): Undo last change; | ||
| 769 | too much other code depends on (0 0) time stamps. | ||
| 770 | * net/tramp.el (tramp-time-less-p, tramp-time-subtract): | ||
| 771 | Add a couple of FIXME comments. | ||
| 772 | |||
| 773 | Minor cleanup for times as lists of four integers. | ||
| 774 | * files.el (dir-locals-directory-cache): | ||
| 775 | * ps-bdf.el (bdf-file-mod-time, bdf-read-font-info): | ||
| 776 | Doc fixes. | ||
| 777 | * net/tramp-sh.el (tramp-do-file-attributes-with-ls): | ||
| 778 | * ps-bdf.el (bdf-file-newer-than-time): | ||
| 779 | Process four-integers time stamps, not two. Doc fixes. | ||
| 780 | |||
| 781 | 2012-11-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 782 | |||
| 783 | * uniquify.el (uniquify-managed): Use defvar-local. | ||
| 784 | (rename-buffer, create-file-buffer): Advise with advice-add. | ||
| 785 | (uniquify-unload-function): Unadvise accordingly. | ||
| 786 | |||
| 787 | * emacs-lisp/trace.el: Rewrite, use nadvice and lexical-binding. | ||
| 788 | (trace-buffer): Don't purecopy. | ||
| 789 | (trace-entry-message, trace-exit-message): Add `context' arg. | ||
| 790 | (trace--timer): New var. | ||
| 791 | (trace-make-advice): Adjust for use in nadvice. | ||
| 792 | Add `context' argument. Delay `display-buffer' via a timer. | ||
| 793 | (trace-function-internal): Use advice-add. | ||
| 794 | (trace--read-args): New function. | ||
| 795 | (trace-function-foreground, trace-function-background): Use it. | ||
| 796 | (trace-function): Rename to trace-function-foreground and redefine as | ||
| 797 | an alias to that new name. | ||
| 798 | (untrace-function, untrace-all): Adjust to the use of nadvice. | ||
| 799 | |||
| 800 | * emacs-lisp/bytecomp.el (byte-compile): Fix handling of closures. | ||
| 801 | |||
| 802 | * emacs-lisp/byte-run.el (defun-declarations-alist): Fix last change. | ||
| 803 | |||
| 804 | * subr.el (called-interactively-p-functions): New var. | ||
| 805 | (internal--called-interactively-p--get-frame): New macro. | ||
| 806 | (called-interactively-p, interactive-p): Rewrite in Lisp. | ||
| 807 | * emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun. | ||
| 808 | (called-interactively-p-functions): Use it. | ||
| 809 | * emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun. | ||
| 810 | (called-interactively-p-functions): Use it. | ||
| 811 | * allout.el (allout-called-interactively-p): Don't assume | ||
| 812 | called-interactively-p is a subr. | ||
| 813 | |||
| 814 | 2012-11-20 Glenn Morris <rgm@gnu.org> | ||
| 815 | |||
| 816 | * profiler.el (profiler-report-mode-map): Add a menu. | ||
| 817 | No need to bind `q' because we derive from special-mode. | ||
| 818 | (profiler-report-find-entry): Handle calls from the menu-bar. | ||
| 819 | |||
| 820 | 2012-11-19 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 821 | |||
| 822 | * emacs-lisp/byte-run.el (defun-declarations-alist): | ||
| 823 | Allow a compiler-macro to be a lambda expression. | ||
| 824 | |||
| 825 | * progmodes/python.el: Use cl-lib. Move var declarations outside of | ||
| 826 | eval-when-compile. | ||
| 827 | (python-syntax-context): Add compiler-macro. | ||
| 828 | (python-font-lock-keywords): Simplify with De Morgan. | ||
| 829 | |||
| 830 | * vc/diff-mode.el (diff-hunk): Don't make useless timers. | ||
| 831 | |||
| 832 | * files.el (load-file): Require match in minibuffer selection, as was | ||
| 833 | the case in Emacs-20 before we changed the spec to allow .elc files | ||
| 834 | (bug#12935). | ||
| 835 | |||
| 836 | * json.el: Don't require cl since we don't use it. | ||
| 837 | * color.el: Don't require cl. | ||
| 838 | (color-complement): `caddr' -> `nth 2'. | ||
| 839 | |||
| 840 | * calendar/time-date.el (time-to-seconds): De-obsolete. | ||
| 841 | |||
| 842 | 2012-11-19 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 843 | |||
| 844 | * calc/calc-forms.el (math-leap-year-p): Fix formula for negative | ||
| 845 | year numbers. | ||
| 846 | (math-date-to-julian-dt): Adjust the initial approximation for the | ||
| 847 | year to deal with the new definition of the DATE. | ||
| 848 | |||
| 849 | 2012-11-19 Daniel Colascione <dancol@dancol.org> | ||
| 850 | |||
| 851 | * term/w32-win.el (cygwin-convert-path-from-windows): | ||
| 852 | Accomodate rename of cygwin_convert_path* to cygwin_convert_file_name*. | ||
| 853 | |||
| 854 | 2012-11-18 Chong Yidong <cyd@gnu.org> | ||
| 855 | |||
| 856 | * filecache.el (file-cache--read-list): New function. | ||
| 857 | (file-cache-add-directory-list, file-cache-add-file-list) | ||
| 858 | (file-cache-delete-file-list, file-cache-delete-directory-list): | ||
| 859 | Use it to read a list of files or directories (Bug#12846). | ||
| 860 | (file-cache-add-file, file-cache-add-directory) | ||
| 861 | (file-cache-delete-file-list, file-cache-delete-file-regexp) | ||
| 862 | (file-cache-delete-directory): Print an message. | ||
| 863 | |||
| 864 | 2012-11-18 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 865 | |||
| 866 | * calc/calc-forms.el (math-date-to-dt): Use integer date when | ||
| 867 | calling `math-date-to-julian-dt' and 'math-date-to-gregorian-dt'. | ||
| 868 | |||
| 869 | 2012-11-18 Glenn Morris <rgm@gnu.org> | ||
| 870 | |||
| 871 | * image.el (insert-image, insert-sliced-image): Doc fix. | ||
| 872 | |||
| 873 | 2012-11-18 Chong Yidong <cyd@gnu.org> | ||
| 874 | |||
| 875 | * emacs-lisp/syntax.el (syntax-propertize-function): Doc fix | ||
| 876 | (Bug#12810). | ||
| 877 | |||
| 878 | 2012-11-18 OKAZAKI Tetsurou <okazaki.tetsurou@gmail.com> (tiny change) | ||
| 879 | |||
| 880 | * vc/vc-svn.el (vc-svn-merge-news): Properly parse the merge | ||
| 881 | response when the target file is in a subdirectory (Bug#12757). | ||
| 882 | |||
| 883 | 2012-11-18 Chong Yidong <cyd@gnu.org> | ||
| 884 | |||
| 885 | * filecache.el (file-cache-add-file-list): Doc fix (Bug#12694). | ||
| 886 | |||
| 887 | 2012-11-18 Glenn Morris <rgm@gnu.org> | ||
| 888 | |||
| 889 | * emacs-lisp/cl-lib.el (face-underline-p): | ||
| 890 | Use set-face-underline rather than the alias set-face-underline-p. | ||
| 891 | |||
| 892 | * window.el (with-temp-buffer-window): Doc fix. | ||
| 893 | * subr.el (with-output-to-temp-buffer): | ||
| 894 | Add doc xref to with-temp-buffer-window. | ||
| 895 | |||
| 896 | 2012-11-18 Juanma Barranquero <lekktu@gmail.com> | ||
| 897 | |||
| 898 | * woman.el (woman-non-underline-faces): Use `set-face-underline'. | ||
| 899 | * calc/calc.el (math-format-date-cache): Declare. | ||
| 900 | |||
| 901 | 2012-11-17 Paul Eggert <eggert@cs.ucla.edu> | ||
| 902 | |||
| 903 | Calc by default uses the Gregorian calendar for all dates (Bug#12633). | ||
| 904 | It also uses January 1, 1 AD as its day number 1. | ||
| 905 | * calc/calc-forms.el (math-julian-date-beginning) | ||
| 906 | (math-julian-date-beginning-int): Implement this. | ||
| 907 | |||
| 908 | 2012-11-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 909 | |||
| 910 | * descr-text.el (quail-find-key): | ||
| 911 | * dired.el (desktop-file-name): | ||
| 912 | * dirtrack.el (shell-prefixed-directory-name, shell-process-cd): | ||
| 913 | * generic-x.el (comint-mode, comint-exec): | ||
| 914 | * image-dired.el (widget-forward): | ||
| 915 | * info.el (speedbar-add-expansion-list, speedbar-center-buffer-smartly) | ||
| 916 | (speedbar-change-expand-button-char) | ||
| 917 | (speedbar-change-initial-expansion-list, speedbar-delete-subblock) | ||
| 918 | (speedbar-make-specialized-keymap, speedbar-make-tag-line): | ||
| 919 | * printing.el (easy-menu-add-item, easy-menu-remove-item) | ||
| 920 | (widget-field-action, widget-value-set): | ||
| 921 | * speedbar.el (imenu--make-index-alist): | ||
| 922 | * term.el (ring-empty-p, ring-ref, ring-insert-at-beginning) | ||
| 923 | (ring-length, ring-insert): | ||
| 924 | * vcursor.el (compare-windows-skip-whitespace): | ||
| 925 | * woman.el (dired-get-filename): | ||
| 926 | Declare functions. | ||
| 927 | |||
| 928 | * term/w32-win.el (cygwin-convert-path-from-windows): Fix declaration. | ||
| 929 | |||
| 930 | 2012-11-17 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 931 | |||
| 932 | * calc/calc.el (calc-gregorian-switch): New variable. | ||
| 933 | |||
| 934 | * calc/calc-forms.el (math-day-in-year, math-dt-before-p) | ||
| 935 | (math-absolute-from-gregorian-dt, math-absolute-from-julian-dt) | ||
| 936 | (math-date-to-julian-dt, math-date-to-gregorian-dt): New functions. | ||
| 937 | (math-leap-year-p): Add option to distinguish between Julian | ||
| 938 | and Gregorian calendars. | ||
| 939 | (math-day-number): Use `math-day-in-year' to do the computations. | ||
| 940 | (math-absolute-from-dt): Rename from `math-absolute-from-date'. | ||
| 941 | Use `math-absolute-from-gregorian' and `math-absolute-from-julian' | ||
| 942 | to do the computations. | ||
| 943 | (math-date-to-dt): Use `math-date-to-julian-dt' and | ||
| 944 | `math-date-to-gregorian-dt' to do the computations. | ||
| 945 | (calcFunc-weekday, math-format-date-part): Use the new version of | ||
| 946 | the DATE to determine the weekday. | ||
| 947 | (calcFunc-newmonth, calcFunc-newyear): Use `calc-gregorian-switch' | ||
| 948 | when necessary. | ||
| 949 | |||
| 950 | 2012-11-17 Eli Zaretskii <eliz@gnu.org> | ||
| 951 | |||
| 952 | * term/w32-win.el (w32-handle-dropped-file): Use 'file://' only on | ||
| 953 | Cygwin; otherwise use 'file:'. (Bug#12914) | ||
| 954 | (cygwin-convert-path-from-windows): Declare, to avoid | ||
| 955 | byte-compiler warnings. | ||
| 956 | |||
| 1 | 2012-11-17 Andreas Politz <politza@fh-trier.de> | 957 | 2012-11-17 Andreas Politz <politza@fh-trier.de> |
| 2 | 958 | ||
| 3 | * ibuffer.el (ibuffer-mark-forward, ibuffer-unmark-forward) | 959 | * ibuffer.el (ibuffer-mark-forward, ibuffer-unmark-forward) |
| @@ -3459,7 +4415,7 @@ | |||
| 3459 | * calendar/cal-tex.el (cal-tex-weekly-common): | 4415 | * calendar/cal-tex.el (cal-tex-weekly-common): |
| 3460 | Restore leading blank page. | 4416 | Restore leading blank page. |
| 3461 | 4417 | ||
| 3462 | 2012-08-22 Le Wang <l26wang@gmail.com> (tiny change) | 4418 | 2012-08-22 Le Wang <l26wang@gmail.com> |
| 3463 | 4419 | ||
| 3464 | * misc.el (forward-to-word, backward-to-word): Activate or extend | 4420 | * misc.el (forward-to-word, backward-to-word): Activate or extend |
| 3465 | the region under `shift-select-mode'. (Bug#12231) | 4421 | the region under `shift-select-mode'. (Bug#12231) |
| @@ -11103,7 +12059,7 @@ | |||
| 11103 | * dynamic-setting.el (font-setting-change-default-font): Don't | 12059 | * dynamic-setting.el (font-setting-change-default-font): Don't |
| 11104 | change the default face if SET-FONT argument is non-nil (Bug#9982). | 12060 | change the default face if SET-FONT argument is non-nil (Bug#9982). |
| 11105 | 12061 | ||
| 11106 | 2012-01-29 Samuel Bronson <naesten@gmail.com> (tiny change) | 12062 | 2012-01-29 Samuel Bronson <naesten@gmail.com> |
| 11107 | 12063 | ||
| 11108 | * custom.el (defcustom): Add doc link to Lisp manual (Bug#10635). | 12064 | * custom.el (defcustom): Add doc link to Lisp manual (Bug#10635). |
| 11109 | 12065 | ||
diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15 index 83657a98bfd..b97cd80cdba 100644 --- a/lisp/ChangeLog.15 +++ b/lisp/ChangeLog.15 | |||
| @@ -7979,7 +7979,7 @@ | |||
| 7979 | Remember the buffers at head, rather than their name. | 7979 | Remember the buffers at head, rather than their name. |
| 7980 | * iswitchb.el (iswitchb-kill-buffer): Re-make the list. | 7980 | * iswitchb.el (iswitchb-kill-buffer): Re-make the list. |
| 7981 | 7981 | ||
| 7982 | 2010-08-22 Kirk Kelsey <kirk.kelsey@0x4b.net> (tiny change) | 7982 | 2010-08-22 Kirk Kelsey <kirk.kelsey@0x4b.net> |
| 7983 | Stefan Monnier <monnier@iro.umontreal.ca> | 7983 | Stefan Monnier <monnier@iro.umontreal.ca> |
| 7984 | 7984 | ||
| 7985 | * progmodes/make-mode.el (makefile-fill-paragraph): Account for the | 7985 | * progmodes/make-mode.el (makefile-fill-paragraph): Account for the |
diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 643b698c6e8..0b56dc8aec4 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in | |||
| @@ -377,12 +377,12 @@ $(MH_E_DIR)/mh-loaddefs.el: $(MH_E_SRC) | |||
| 377 | # an own subdirectory. OTOH, it does not hurt to keep them in | 377 | # an own subdirectory. OTOH, it does not hurt to keep them in |
| 378 | # lisp/net. | 378 | # lisp/net. |
| 379 | TRAMP_DIR = $(lisp)/net | 379 | TRAMP_DIR = $(lisp)/net |
| 380 | TRAMP_SRC = $(TRAMP_DIR)/tramp.el $(TRAMP_DIR)/tramp-cache.el \ | 380 | TRAMP_SRC = $(TRAMP_DIR)/tramp.el $(TRAMP_DIR)/tramp-adb.el \ |
| 381 | $(TRAMP_DIR)/tramp-cmds.el $(TRAMP_DIR)/tramp-compat.el \ | 381 | $(TRAMP_DIR)/tramp-cache.el $(TRAMP_DIR)/tramp-cmds.el \ |
| 382 | $(TRAMP_DIR)/tramp-ftp.el $(TRAMP_DIR)/tramp-gvfs.el \ | 382 | $(TRAMP_DIR)/tramp-compat.el $(TRAMP_DIR)/tramp-ftp.el \ |
| 383 | $(TRAMP_DIR)/tramp-gw.el $(TRAMP_DIR)/tramp-sh.el \ | 383 | $(TRAMP_DIR)/tramp-gvfs.el $(TRAMP_DIR)/tramp-gw.el \ |
| 384 | $(TRAMP_DIR)/tramp-smb.el $(TRAMP_DIR)/tramp-uu.el \ | 384 | $(TRAMP_DIR)/tramp-sh.el $(TRAMP_DIR)/tramp-smb.el \ |
| 385 | $(TRAMP_DIR)/trampver.el | 385 | $(TRAMP_DIR)/tramp-uu.el $(TRAMP_DIR)/trampver.el |
| 386 | 386 | ||
| 387 | $(TRAMP_DIR)/tramp-loaddefs.el: $(TRAMP_SRC) | 387 | $(TRAMP_DIR)/tramp-loaddefs.el: $(TRAMP_SRC) |
| 388 | $(emacs) -l autoload \ | 388 | $(emacs) -l autoload \ |
diff --git a/lisp/allout.el b/lisp/allout.el index 04de853ebe0..e93aefd12cc 100644 --- a/lisp/allout.el +++ b/lisp/allout.el | |||
| @@ -1657,10 +1657,9 @@ and the place for the cursor after the decryption is done." | |||
| 1657 | (defmacro allout-called-interactively-p () | 1657 | (defmacro allout-called-interactively-p () |
| 1658 | "A version of `called-interactively-p' independent of Emacs version." | 1658 | "A version of `called-interactively-p' independent of Emacs version." |
| 1659 | ;; ... to ease maintenance of allout without betraying deprecation. | 1659 | ;; ... to ease maintenance of allout without betraying deprecation. |
| 1660 | (if (equal (subr-arity (symbol-function 'called-interactively-p)) | 1660 | (if (ignore-errors (called-interactively-p 'interactive) t) |
| 1661 | '(0 . 0)) | 1661 | '(called-interactively-p 'interactive) |
| 1662 | '(called-interactively-p) | 1662 | '(called-interactively-p))) |
| 1663 | '(called-interactively-p 'interactive))) | ||
| 1664 | ;;;_ = allout-inhibit-aberrance-doublecheck nil | 1663 | ;;;_ = allout-inhibit-aberrance-doublecheck nil |
| 1665 | ;; In some exceptional moments, disparate topic depths need to be allowed | 1664 | ;; In some exceptional moments, disparate topic depths need to be allowed |
| 1666 | ;; momentarily, eg when one topic is being yanked into another and they're | 1665 | ;; momentarily, eg when one topic is being yanked into another and they're |
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index 6ab6e548ab5..3161973ba32 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el | |||
| @@ -55,12 +55,12 @@ If nil, use `Buffer-menu-name-width' and `Buffer-menu-size-width'. | |||
| 55 | If non-nil, the value of `Buffer-menu-name-width' is overridden; | 55 | If non-nil, the value of `Buffer-menu-name-width' is overridden; |
| 56 | the name column is assigned width `Buffer-menu-buffer+size-width' | 56 | the name column is assigned width `Buffer-menu-buffer+size-width' |
| 57 | minus `Buffer-menu-size-width'. This use is deprecated." | 57 | minus `Buffer-menu-size-width'. This use is deprecated." |
| 58 | :type 'number | 58 | :type '(choice (const nil) number) |
| 59 | :group 'Buffer-menu | 59 | :group 'Buffer-menu |
| 60 | :version "24.3") | 60 | :version "24.3") |
| 61 | 61 | ||
| 62 | (make-obsolete-variable 'Buffer-menu-buffer+size-width | 62 | (make-obsolete-variable 'Buffer-menu-buffer+size-width |
| 63 | "`Buffer-menu-name-width' and `Buffer-menu-size-width'" | 63 | "use `Buffer-menu-name-width' and `Buffer-menu-size-width' instead." |
| 64 | "24.3") | 64 | "24.3") |
| 65 | 65 | ||
| 66 | (defcustom Buffer-menu-name-width 19 | 66 | (defcustom Buffer-menu-name-width 19 |
| @@ -204,31 +204,11 @@ commands.") | |||
| 204 | 204 | ||
| 205 | (define-derived-mode Buffer-menu-mode tabulated-list-mode "Buffer Menu" | 205 | (define-derived-mode Buffer-menu-mode tabulated-list-mode "Buffer Menu" |
| 206 | "Major mode for Buffer Menu buffers. | 206 | "Major mode for Buffer Menu buffers. |
| 207 | The Buffer Menu is invoked by the commands \\[list-buffers], \\[buffer-menu], and | 207 | The Buffer Menu is invoked by the commands \\[list-buffers], |
| 208 | \\[buffer-menu-other-window]. See `buffer-menu' for details." | 208 | \\[buffer-menu], and \\[buffer-menu-other-window]. |
| 209 | (set (make-local-variable 'buffer-stale-function) | 209 | See `buffer-menu' for a description of its contents. |
| 210 | (lambda (&optional _noconfirm) 'fast)) | ||
| 211 | (add-hook 'tabulated-list-revert-hook 'list-buffers--refresh nil t)) | ||
| 212 | |||
| 213 | (defun buffer-menu (&optional arg) | ||
| 214 | "Switch to the Buffer Menu. | ||
| 215 | By default, all buffers are listed except those whose names start | ||
| 216 | with a space (which are for internal use). With prefix argument | ||
| 217 | ARG, show only buffers that are visiting files. | ||
| 218 | |||
| 219 | The first column (denoted \"C\") shows \".\" for the buffer from | ||
| 220 | which you came. It shows \">\" for buffers you mark to be | ||
| 221 | displayed, and \"D\" for those you mark for deletion. | ||
| 222 | |||
| 223 | The \"R\" column has a \"%\" if the buffer is read-only. | ||
| 224 | The \"M\" column has a \"*\" if it is modified, or \"S\" if you | ||
| 225 | have marked it for saving. | ||
| 226 | |||
| 227 | After this come the buffer name, its size in characters, its | ||
| 228 | major mode, and the visited file name (if any). | ||
| 229 | 210 | ||
| 230 | 211 | In Buffer Menu mode, the following commands are defined: | |
| 231 | In the Buffer Menu, the following commands are defined: | ||
| 232 | \\<Buffer-menu-mode-map> | 212 | \\<Buffer-menu-mode-map> |
| 233 | \\[quit-window] Remove the Buffer Menu from the display. | 213 | \\[quit-window] Remove the Buffer Menu from the display. |
| 234 | \\[Buffer-menu-this-window] Select current line's buffer in place of the buffer menu. | 214 | \\[Buffer-menu-this-window] Select current line's buffer in place of the buffer menu. |
| @@ -244,7 +224,7 @@ In the Buffer Menu, the following commands are defined: | |||
| 244 | \\[Buffer-menu-1-window] Select that buffer in full-frame window. | 224 | \\[Buffer-menu-1-window] Select that buffer in full-frame window. |
| 245 | \\[Buffer-menu-2-window] Select that buffer in one window, together with the | 225 | \\[Buffer-menu-2-window] Select that buffer in one window, together with the |
| 246 | buffer selected before this one in another window. | 226 | buffer selected before this one in another window. |
| 247 | \\[Buffer-menu-isearch-buffers] Incremental search in the marked buffers. | 227 | \\[Buffer-menu-isearch-buffers] Incremental search in the marked buffers. |
| 248 | \\[Buffer-menu-isearch-buffers-regexp] Isearch for regexp in the marked buffers. | 228 | \\[Buffer-menu-isearch-buffers-regexp] Isearch for regexp in the marked buffers. |
| 249 | \\[Buffer-menu-visit-tags-table] visit-tags-table this buffer. | 229 | \\[Buffer-menu-visit-tags-table] visit-tags-table this buffer. |
| 250 | \\[Buffer-menu-not-modified] Clear modified-flag on that buffer. | 230 | \\[Buffer-menu-not-modified] Clear modified-flag on that buffer. |
| @@ -259,6 +239,29 @@ In the Buffer Menu, the following commands are defined: | |||
| 259 | \\[revert-buffer] Update the list of buffers. | 239 | \\[revert-buffer] Update the list of buffers. |
| 260 | \\[Buffer-menu-toggle-files-only] Toggle whether the menu displays only file buffers. | 240 | \\[Buffer-menu-toggle-files-only] Toggle whether the menu displays only file buffers. |
| 261 | \\[Buffer-menu-bury] Bury the buffer listed on this line." | 241 | \\[Buffer-menu-bury] Bury the buffer listed on this line." |
| 242 | (set (make-local-variable 'buffer-stale-function) | ||
| 243 | (lambda (&optional _noconfirm) 'fast)) | ||
| 244 | (add-hook 'tabulated-list-revert-hook 'list-buffers--refresh nil t)) | ||
| 245 | |||
| 246 | (defun buffer-menu (&optional arg) | ||
| 247 | "Switch to the Buffer Menu. | ||
| 248 | By default, the Buffer Menu lists all buffers except those whose | ||
| 249 | names start with a space (which are for internal use). With | ||
| 250 | prefix argument ARG, show only buffers that are visiting files. | ||
| 251 | |||
| 252 | In the Buffer Menu, the first column (denoted \"C\") shows \".\" | ||
| 253 | for the buffer from which you came, \">\" for buffers you mark to | ||
| 254 | be displayed, and \"D\" for those you mark for deletion. | ||
| 255 | |||
| 256 | The \"R\" column has a \"%\" if the buffer is read-only. | ||
| 257 | The \"M\" column has a \"*\" if it is modified, or \"S\" if you | ||
| 258 | have marked it for saving. | ||
| 259 | |||
| 260 | The remaining columns show the buffer name, the buffer size in | ||
| 261 | characters, its major mode, and the visited file name (if any). | ||
| 262 | |||
| 263 | See `Buffer-menu-mode' for the keybindings available the Buffer | ||
| 264 | Menu." | ||
| 262 | (interactive "P") | 265 | (interactive "P") |
| 263 | (switch-to-buffer (list-buffers-noselect arg)) | 266 | (switch-to-buffer (list-buffers-noselect arg)) |
| 264 | (message | 267 | (message |
| @@ -280,7 +283,7 @@ ARG, show only buffers that are visiting files." | |||
| 280 | (defun list-buffers (&optional arg) | 283 | (defun list-buffers (&optional arg) |
| 281 | "Display a list of existing buffers. | 284 | "Display a list of existing buffers. |
| 282 | The list is displayed in a buffer named \"*Buffer List*\". | 285 | The list is displayed in a buffer named \"*Buffer List*\". |
| 283 | See `buffer-menu' for details about the Buffer Menu buffer. | 286 | See `buffer-menu' for a description of the Buffer Menu. |
| 284 | 287 | ||
| 285 | By default, all buffers are listed except those whose names start | 288 | By default, all buffers are listed except those whose names start |
| 286 | with a space (which are for internal use). With prefix argument | 289 | with a space (which are for internal use). With prefix argument |
| @@ -377,7 +380,9 @@ buffers to delete; a negative ARG means to delete backwards." | |||
| 377 | 380 | ||
| 378 | (defun Buffer-menu-delete-backwards (&optional arg) | 381 | (defun Buffer-menu-delete-backwards (&optional arg) |
| 379 | "Mark the buffer on this Buffer Menu line for deletion, and move up. | 382 | "Mark the buffer on this Buffer Menu line for deletion, and move up. |
| 380 | Prefix ARG means move that many lines." | 383 | A subsequent \\<Buffer-menu-mode-map>`\\[Buffer-menu-execute]' |
| 384 | command will delete the marked buffer. Prefix ARG means move | ||
| 385 | that many lines." | ||
| 381 | (interactive "p") | 386 | (interactive "p") |
| 382 | (Buffer-menu-delete (- (or arg 1)))) | 387 | (Buffer-menu-delete (- (or arg 1)))) |
| 383 | 388 | ||
diff --git a/lisp/button.el b/lisp/button.el index 3cf38fa64c6..c52dcabed08 100644 --- a/lisp/button.el +++ b/lisp/button.el | |||
| @@ -64,6 +64,11 @@ | |||
| 64 | ;; might get converted to ^M when building loaddefs.el | 64 | ;; might get converted to ^M when building loaddefs.el |
| 65 | (define-key map [(control ?m)] 'push-button) | 65 | (define-key map [(control ?m)] 'push-button) |
| 66 | (define-key map [mouse-2] 'push-button) | 66 | (define-key map [mouse-2] 'push-button) |
| 67 | ;; FIXME: You'd think that for keymaps coming from text-properties on the | ||
| 68 | ;; mode-line or header-line, the `mode-line' or `header-line' prefix | ||
| 69 | ;; shouldn't be necessary! | ||
| 70 | (define-key map [mode-line mouse-2] 'push-button) | ||
| 71 | (define-key map [header-line mouse-2] 'push-button) | ||
| 67 | map) | 72 | map) |
| 68 | "Keymap used by buttons.") | 73 | "Keymap used by buttons.") |
| 69 | 74 | ||
| @@ -184,10 +189,12 @@ changes to a supertype are not reflected in its subtypes)." | |||
| 184 | 189 | ||
| 185 | (defun button-get (button prop) | 190 | (defun button-get (button prop) |
| 186 | "Get the property of button BUTTON named PROP." | 191 | "Get the property of button BUTTON named PROP." |
| 187 | (if (overlayp button) | 192 | (cond ((overlayp button) |
| 188 | (overlay-get button prop) | 193 | (overlay-get button prop)) |
| 189 | ;; Must be a text-property button. | 194 | ((button--area-button-p button) |
| 190 | (get-text-property button prop))) | 195 | (get-text-property 0 prop (button--area-button-string button))) |
| 196 | (t ; Must be a text-property button. | ||
| 197 | (get-text-property button prop)))) | ||
| 191 | 198 | ||
| 192 | (defun button-put (button prop val) | 199 | (defun button-put (button prop val) |
| 193 | "Set BUTTON's PROP property to VAL." | 200 | "Set BUTTON's PROP property to VAL." |
| @@ -202,21 +209,30 @@ changes to a supertype are not reflected in its subtypes)." | |||
| 202 | ;; Disallow updating the `category' property directly. | 209 | ;; Disallow updating the `category' property directly. |
| 203 | (error "Button `category' property may not be set directly"))) | 210 | (error "Button `category' property may not be set directly"))) |
| 204 | ;; Add the property. | 211 | ;; Add the property. |
| 205 | (if (overlayp button) | 212 | (cond ((overlayp button) |
| 206 | (overlay-put button prop val) | 213 | (overlay-put button prop val)) |
| 207 | ;; Must be a text-property button. | 214 | ((button--area-button-p button) |
| 208 | (put-text-property | 215 | (setq button (button--area-button-string button)) |
| 209 | (or (previous-single-property-change (1+ button) 'button) | 216 | (put-text-property 0 (length button) prop val button)) |
| 210 | (point-min)) | 217 | (t ; Must be a text-property button. |
| 211 | (or (next-single-property-change button 'button) | 218 | (put-text-property |
| 212 | (point-max)) | 219 | (or (previous-single-property-change (1+ button) 'button) |
| 213 | prop val))) | 220 | (point-min)) |
| 214 | 221 | (or (next-single-property-change button 'button) | |
| 215 | (defsubst button-activate (button &optional use-mouse-action) | 222 | (point-max)) |
| 223 | prop val)))) | ||
| 224 | |||
| 225 | (defun button-activate (button &optional use-mouse-action) | ||
| 216 | "Call BUTTON's action property. | 226 | "Call BUTTON's action property. |
| 217 | If USE-MOUSE-ACTION is non-nil, invoke the button's mouse-action | 227 | If USE-MOUSE-ACTION is non-nil, invoke the button's mouse-action |
| 218 | instead of its normal action; if the button has no mouse-action, | 228 | instead of its normal action; if the button has no mouse-action, |
| 219 | the normal action is used instead." | 229 | the normal action is used instead. |
| 230 | |||
| 231 | The action can either be a marker or a function. If it's a | ||
| 232 | marker then goto it. Otherwise it it is a function then it is | ||
| 233 | called with BUTTON as only argument. BUTTON is either an | ||
| 234 | overlay, a buffer position, or (for buttons in the mode-line or | ||
| 235 | header-line) a string." | ||
| 220 | (let ((action (or (and use-mouse-action (button-get button 'mouse-action)) | 236 | (let ((action (or (and use-mouse-action (button-get button 'mouse-action)) |
| 221 | (button-get button 'action)))) | 237 | (button-get button 'action)))) |
| 222 | (if (markerp action) | 238 | (if (markerp action) |
| @@ -228,7 +244,10 @@ the normal action is used instead." | |||
| 228 | 244 | ||
| 229 | (defun button-label (button) | 245 | (defun button-label (button) |
| 230 | "Return BUTTON's text label." | 246 | "Return BUTTON's text label." |
| 231 | (buffer-substring-no-properties (button-start button) (button-end button))) | 247 | (if (button--area-button-p button) |
| 248 | (substring-no-properties (button--area-button-string button)) | ||
| 249 | (buffer-substring-no-properties (button-start button) | ||
| 250 | (button-end button)))) | ||
| 232 | 251 | ||
| 233 | (defsubst button-type (button) | 252 | (defsubst button-type (button) |
| 234 | "Return BUTTON's button-type." | 253 | "Return BUTTON's button-type." |
| @@ -238,6 +257,12 @@ the normal action is used instead." | |||
| 238 | "Return t if BUTTON has button-type TYPE, or one of TYPE's subtypes." | 257 | "Return t if BUTTON has button-type TYPE, or one of TYPE's subtypes." |
| 239 | (button-type-subtype-p (button-get button 'type) type)) | 258 | (button-type-subtype-p (button-get button 'type) type)) |
| 240 | 259 | ||
| 260 | (defalias 'button--area-button-p 'stringp | ||
| 261 | "Return non-nil if BUTTON is an area button. | ||
| 262 | Such area buttons are used for buttons in the mode-line and header-line.") | ||
| 263 | |||
| 264 | (defalias 'button--area-button-string 'identity | ||
| 265 | "Return area button BUTTON's button-string.") | ||
| 241 | 266 | ||
| 242 | ;; Creating overlay buttons | 267 | ;; Creating overlay buttons |
| 243 | 268 | ||
| @@ -324,7 +349,7 @@ Also see `insert-text-button'." | |||
| 324 | (cons 'button (cons (list t) properties)) | 349 | (cons 'button (cons (list t) properties)) |
| 325 | object) | 350 | object) |
| 326 | ;; Return something that can be used to get at the button. | 351 | ;; Return something that can be used to get at the button. |
| 327 | beg)) | 352 | (or object beg))) |
| 328 | 353 | ||
| 329 | (defun insert-text-button (label &rest properties) | 354 | (defun insert-text-button (label &rest properties) |
| 330 | "Insert a button with the label LABEL. | 355 | "Insert a button with the label LABEL. |
| @@ -405,7 +430,9 @@ POS may be either a buffer position or a mouse-event. If | |||
| 405 | USE-MOUSE-ACTION is non-nil, invoke the button's mouse-action | 430 | USE-MOUSE-ACTION is non-nil, invoke the button's mouse-action |
| 406 | instead of its normal action; if the button has no mouse-action, | 431 | instead of its normal action; if the button has no mouse-action, |
| 407 | the normal action is used instead. The action may be either a | 432 | the normal action is used instead. The action may be either a |
| 408 | function to call or a marker to display. | 433 | function to call or a marker to display and is invoked using |
| 434 | `button-activate' (which see). | ||
| 435 | |||
| 409 | POS defaults to point, except when `push-button' is invoked | 436 | POS defaults to point, except when `push-button' is invoked |
| 410 | interactively as the result of a mouse-event, in which case, the | 437 | interactively as the result of a mouse-event, in which case, the |
| 411 | mouse event is used. | 438 | mouse event is used. |
| @@ -417,11 +444,13 @@ return t." | |||
| 417 | ;; POS is a mouse event; switch to the proper window/buffer | 444 | ;; POS is a mouse event; switch to the proper window/buffer |
| 418 | (let ((posn (event-start pos))) | 445 | (let ((posn (event-start pos))) |
| 419 | (with-current-buffer (window-buffer (posn-window posn)) | 446 | (with-current-buffer (window-buffer (posn-window posn)) |
| 420 | (push-button (posn-point posn) t))) | 447 | (if (posn-area posn) |
| 448 | ;; mode-line or header-line event | ||
| 449 | (button-activate (car (posn-string posn)) t) | ||
| 450 | (push-button (posn-point posn)) t))) | ||
| 421 | ;; POS is just normal position | 451 | ;; POS is just normal position |
| 422 | (let ((button (button-at (or pos (point))))) | 452 | (let ((button (button-at (or pos (point))))) |
| 423 | (if (not button) | 453 | (when button |
| 424 | nil | ||
| 425 | (button-activate button use-mouse-action) | 454 | (button-activate button use-mouse-action) |
| 426 | t)))) | 455 | t)))) |
| 427 | 456 | ||
diff --git a/lisp/calc/README b/lisp/calc/README index 25d1a5e9b58..638b482a60a 100644 --- a/lisp/calc/README +++ b/lisp/calc/README | |||
| @@ -70,11 +70,18 @@ opinions. | |||
| 70 | Summary of changes to "Calc" | 70 | Summary of changes to "Calc" |
| 71 | ------- -- ------- -- ---- | 71 | ------- -- ------- -- ---- |
| 72 | 72 | ||
| 73 | Emacs 24.4 | ||
| 74 | |||
| 75 | * The date forms use the Gregorian calendar for all dates. | ||
| 76 | (Previously they were a combination of Julian and Gregorian | ||
| 77 | dates.) This can be configured with the customizable variable | ||
| 78 | `calc-gregorian-switch'. | ||
| 79 | |||
| 73 | Emacs 24.3 | 80 | Emacs 24.3 |
| 74 | 81 | ||
| 75 | Algebraic simplification mode is now the default. | 82 | * Algebraic simplification mode is now the default. |
| 76 | To restrict to the limited simplifications given by the former | 83 | To restrict to the limited simplifications given by the former |
| 77 | default simplification mode, use `m I'. | 84 | default simplification mode, use `m I'. |
| 78 | 85 | ||
| 79 | Emacs 24.1 | 86 | Emacs 24.1 |
| 80 | 87 | ||
diff --git a/lisp/calc/calc-forms.el b/lisp/calc/calc-forms.el index bd748158d66..5ce76b14d72 100644 --- a/lisp/calc/calc-forms.el +++ b/lisp/calc/calc-forms.el | |||
| @@ -94,7 +94,8 @@ | |||
| 94 | (setcar (nthcdr arg calc-standard-date-formats) fmt)) | 94 | (setcar (nthcdr arg calc-standard-date-formats) fmt)) |
| 95 | (let ((case-fold-search nil)) | 95 | (let ((case-fold-search nil)) |
| 96 | (and (not (string-match "<.*>" fmt)) | 96 | (and (not (string-match "<.*>" fmt)) |
| 97 | (string-match "\\`[^hHspP]*\\([^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*[bBhHmpPsS]+[^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*\\)[^hHspP]*\\'" fmt) | 97 | ;; Find time part to put in <...> |
| 98 | (string-match "\\`[^hHspPT]*\\([^ac-gi-lnoqrt-zAC-GI-OQRU-Z]*\\(bs\\|bm\\|bh\\|BS\\|BH\\|[hHmpPsST]\\)+[^ac-gi-lnoqrt-zAC-GI-OQRU-Z]*\\)[^hHspPT]*\\'" fmt) | ||
| 98 | (string-match (concat "[^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*" | 99 | (string-match (concat "[^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*" |
| 99 | (regexp-quote (math-match-substring fmt 1)) | 100 | (regexp-quote (math-match-substring fmt 1)) |
| 100 | "[^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*") fmt) | 101 | "[^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*") fmt) |
| @@ -125,7 +126,7 @@ | |||
| 125 | lfmt nil)) | 126 | lfmt nil)) |
| 126 | (setq time nil)) | 127 | (setq time nil)) |
| 127 | (t | 128 | (t |
| 128 | (if (string-match "\\`[^a-zA-Z]*[bB][a-zA-Z]" fmt) | 129 | (if (string-match "\\`[^a-zA-Z]*[bBZI][a-zA-Z]" fmt) |
| 129 | (setq pos2 (1+ pos2))) | 130 | (setq pos2 (1+ pos2))) |
| 130 | (while (and (< pos2 (length fmt)) | 131 | (while (and (< pos2 (length fmt)) |
| 131 | (= (upcase (aref fmt pos2)) | 132 | (= (upcase (aref fmt pos2)) |
| @@ -133,6 +134,7 @@ | |||
| 133 | (setq pos2 (1+ pos2))) | 134 | (setq pos2 (1+ pos2))) |
| 134 | (setq sym (intern (substring fmt pos pos2))) | 135 | (setq sym (intern (substring fmt pos pos2))) |
| 135 | (or (memq sym '(Y YY BY YYY YYYY | 136 | (or (memq sym '(Y YY BY YYY YYYY |
| 137 | ZYYY IYYY Iww w | ||
| 136 | aa AA aaa AAA aaaa AAAA | 138 | aa AA aaa AAA aaaa AAAA |
| 137 | bb BB bbb BBB bbbb BBBB | 139 | bb BB bbb BBB bbbb BBBB |
| 138 | M MM BM mmm Mmm Mmmm MMM MMMM | 140 | M MM BM mmm Mmm Mmmm MMM MMMM |
| @@ -140,8 +142,8 @@ | |||
| 140 | W www Www Wwww WWW WWWW | 142 | W www Www Wwww WWW WWWW |
| 141 | h hh bh H HH BH | 143 | h hh bh H HH BH |
| 142 | p P pp PP pppp PPPP | 144 | p P pp PP pppp PPPP |
| 143 | m mm bm s ss bss SS BS C | 145 | m mm bm s ss bs SS BS C |
| 144 | N n J j U b)) | 146 | N n J j U b T)) |
| 145 | (and (eq sym 'X) (not lfmt) (not fullfmt)) | 147 | (and (eq sym 'X) (not lfmt) (not fullfmt)) |
| 146 | (error "Bad format code: %s" sym)) | 148 | (error "Bad format code: %s" sym)) |
| 147 | (and (memq sym '(bb BB bbb BBB bbbb BBBB)) | 149 | (and (memq sym '(bb BB bbb BBB bbbb BBBB)) |
| @@ -369,17 +371,68 @@ | |||
| 369 | 371 | ||
| 370 | ;;; Some of these functions are adapted from Edward Reingold's "calendar.el". | 372 | ;;; Some of these functions are adapted from Edward Reingold's "calendar.el". |
| 371 | ;;; These versions are rewritten to use arbitrary-size integers. | 373 | ;;; These versions are rewritten to use arbitrary-size integers. |
| 372 | ;;; The Julian calendar is used up to 9/2/1752, after which the Gregorian | ||
| 373 | ;;; calendar is used; the first day after 9/2/1752 is 9/14/1752. | ||
| 374 | 374 | ||
| 375 | ;;; A numerical date is the number of days since midnight on | 375 | ;;; A numerical date is the number of days since midnight on |
| 376 | ;;; the morning of January 1, 1 A.D. If the date is a non-integer, | 376 | ;;; the morning of December 31, 1 B.C. (Gregorian) or January 2, 1 A.D. (Julian). |
| 377 | ;;; it represents a specific date and time. | 377 | ;;; Emacs's calendar refers to such a date as an absolute date, some Calc function |
| 378 | ;;; names also use that terminology. If the date is a non-integer, it represents | ||
| 379 | ;;; a specific date and time. | ||
| 378 | ;;; A "dt" is a list of the form, (year month day), corresponding to | 380 | ;;; A "dt" is a list of the form, (year month day), corresponding to |
| 379 | ;;; an integer code, or (year month day hour minute second), corresponding | 381 | ;;; an integer code, or (year month day hour minute second), corresponding |
| 380 | ;;; to a non-integer code. | 382 | ;;; to a non-integer code. |
| 381 | 383 | ||
| 384 | (defun math-date-to-gregorian-dt (date) | ||
| 385 | "Return the day (YEAR MONTH DAY) in the Gregorian calendar. | ||
| 386 | DATE is the number of days since December 31, -1 in the Gregorian calendar." | ||
| 387 | (let* ((month 1) | ||
| 388 | day | ||
| 389 | (year (math-quotient (math-add date (if (Math-lessp date 711859) | ||
| 390 | 365 ; for speed, we take | ||
| 391 | -108)) ; >1950 as a special case | ||
| 392 | (if (math-negp date) 366 365))) | ||
| 393 | ; this result may be an overestimate | ||
| 394 | temp) | ||
| 395 | (while (Math-lessp date (setq temp (math-absolute-from-gregorian-dt year 1 1))) | ||
| 396 | (setq year (math-add year -1))) | ||
| 397 | (if (eq year 0) (setq year -1)) | ||
| 398 | (setq date (1+ (math-sub date temp))) | ||
| 399 | (setq temp | ||
| 400 | (if (math-leap-year-p year) | ||
| 401 | [1 32 61 92 122 153 183 214 245 275 306 336 999] | ||
| 402 | [1 32 60 91 121 152 182 213 244 274 305 335 999])) | ||
| 403 | (while (>= date (aref temp month)) | ||
| 404 | (setq month (1+ month))) | ||
| 405 | (setq day (1+ (- date (aref temp (1- month))))) | ||
| 406 | (list year month day))) | ||
| 407 | |||
| 408 | (defun math-date-to-julian-dt (date) | ||
| 409 | "Return the day (YEAR MONTH DAY) in the Julian calendar. | ||
| 410 | DATE is the number of days since December 31, -1 in the Gregorian calendar." | ||
| 411 | (let* ((month 1) | ||
| 412 | day | ||
| 413 | (year (math-quotient (math-add date (if (Math-lessp date 711859) | ||
| 414 | 367 ; for speed, we take | ||
| 415 | -106)) ; >1950 as a special case | ||
| 416 | (if (math-negp date) 366 365))) | ||
| 417 | ; this result may be an overestimate | ||
| 418 | temp) | ||
| 419 | (while (Math-lessp date (setq temp (math-absolute-from-julian-dt year 1 1))) | ||
| 420 | (setq year (math-add year -1))) | ||
| 421 | (if (eq year 0) (setq year -1)) | ||
| 422 | (setq date (1+ (math-sub date temp))) | ||
| 423 | (setq temp | ||
| 424 | (if (math-leap-year-p year t) | ||
| 425 | [1 32 61 92 122 153 183 214 245 275 306 336 999] | ||
| 426 | [1 32 60 91 121 152 182 213 244 274 305 335 999])) | ||
| 427 | (while (>= date (aref temp month)) | ||
| 428 | (setq month (1+ month))) | ||
| 429 | (setq day (1+ (- date (aref temp (1- month))))) | ||
| 430 | (list year month day))) | ||
| 431 | |||
| 382 | (defun math-date-to-dt (value) | 432 | (defun math-date-to-dt (value) |
| 433 | "Return the day and time of VALUE. | ||
| 434 | The integer part of VALUE is the number of days since Dec 31, -1 | ||
| 435 | in the Gregorian calendar and the remaining part determines the time." | ||
| 383 | (if (eq (car-safe value) 'date) | 436 | (if (eq (car-safe value) 'date) |
| 384 | (setq value (nth 1 value))) | 437 | (setq value (nth 1 value))) |
| 385 | (or (math-realp value) | 438 | (or (math-realp value) |
| @@ -387,32 +440,42 @@ | |||
| 387 | (let* ((parts (math-date-parts value)) | 440 | (let* ((parts (math-date-parts value)) |
| 388 | (date (car parts)) | 441 | (date (car parts)) |
| 389 | (time (nth 1 parts)) | 442 | (time (nth 1 parts)) |
| 390 | (month 1) | 443 | (dt (if (and calc-gregorian-switch |
| 391 | day | 444 | (Math-lessp value |
| 392 | (year (math-quotient (math-add date (if (Math-lessp date 711859) | 445 | (or |
| 393 | 365 ; for speed, we take | 446 | (nth 3 calc-gregorian-switch) |
| 394 | -108)) ; >1950 as a special case | 447 | (apply 'math-absolute-from-gregorian-dt calc-gregorian-switch)) |
| 395 | (if (math-negp value) 366 365))) | 448 | )) |
| 396 | ; this result may be an overestimate | 449 | (math-date-to-julian-dt date) |
| 397 | temp) | 450 | (math-date-to-gregorian-dt date)))) |
| 398 | (while (Math-lessp date (setq temp (math-absolute-from-date year 1 1))) | ||
| 399 | (setq year (math-add year -1))) | ||
| 400 | (if (eq year 0) (setq year -1)) | ||
| 401 | (setq date (1+ (math-sub date temp))) | ||
| 402 | (and (eq year 1752) (>= date 247) | ||
| 403 | (setq date (+ date 11))) | ||
| 404 | (setq temp (if (math-leap-year-p year) | ||
| 405 | [1 32 61 92 122 153 183 214 245 275 306 336 999] | ||
| 406 | [1 32 60 91 121 152 182 213 244 274 305 335 999])) | ||
| 407 | (while (>= date (aref temp month)) | ||
| 408 | (setq month (1+ month))) | ||
| 409 | (setq day (1+ (- date (aref temp (1- month))))) | ||
| 410 | (if (math-integerp value) | 451 | (if (math-integerp value) |
| 411 | (list year month day) | 452 | dt |
| 412 | (list year month day | 453 | (append dt |
| 413 | (/ time 3600) | 454 | (list |
| 414 | (% (/ time 60) 60) | 455 | (/ time 3600) |
| 415 | (math-add (% time 60) (nth 2 parts)))))) | 456 | (% (/ time 60) 60) |
| 457 | (math-add (% time 60) (nth 2 parts))))))) | ||
| 458 | |||
| 459 | (defun math-date-to-iso-dt (date) | ||
| 460 | "Return the ISO8601 date (year week day) of DATE." | ||
| 461 | (unless (Math-integerp date) | ||
| 462 | (setq date (math-floor date))) | ||
| 463 | (let* ((approx (nth 0 (math-date-to-gregorian-dt (math-sub date 3)))) | ||
| 464 | (year (math-add approx | ||
| 465 | (let ((y approx) | ||
| 466 | (sum 0)) | ||
| 467 | (while (>= (math-compare date | ||
| 468 | (math-absolute-from-iso-dt (setq y (math-add y 1)) 1 1)) 0) | ||
| 469 | (setq sum (+ sum 1))) | ||
| 470 | sum)))) | ||
| 471 | (list | ||
| 472 | year | ||
| 473 | (math-add (car (math-idivmod | ||
| 474 | (math-sub date (math-absolute-from-iso-dt year 1 1)) | ||
| 475 | 7)) | ||
| 476 | 1) | ||
| 477 | (let ((day (calcFunc-mod date 7))) | ||
| 478 | (if (= day 0) 7 day))))) | ||
| 416 | 479 | ||
| 417 | (defun math-dt-to-date (dt) | 480 | (defun math-dt-to-date (dt) |
| 418 | (or (integerp (nth 1 dt)) | 481 | (or (integerp (nth 1 dt)) |
| @@ -423,7 +486,17 @@ | |||
| 423 | (math-reject-arg (nth 2 dt) 'fixnump)) | 486 | (math-reject-arg (nth 2 dt) 'fixnump)) |
| 424 | (if (or (< (nth 2 dt) 1) (> (nth 2 dt) 31)) | 487 | (if (or (< (nth 2 dt) 1) (> (nth 2 dt) 31)) |
| 425 | (math-reject-arg (nth 2 dt) "Day value is out of range")) | 488 | (math-reject-arg (nth 2 dt) "Day value is out of range")) |
| 426 | (let ((date (math-absolute-from-date (car dt) (nth 1 dt) (nth 2 dt)))) | 489 | (let ((date (math-absolute-from-dt (car dt) (nth 1 dt) (nth 2 dt)))) |
| 490 | (if (nth 3 dt) | ||
| 491 | (math-add (math-float date) | ||
| 492 | (math-div (math-add (+ (* (nth 3 dt) 3600) | ||
| 493 | (* (nth 4 dt) 60)) | ||
| 494 | (nth 5 dt)) | ||
| 495 | '(float 864 2))) | ||
| 496 | date))) | ||
| 497 | |||
| 498 | (defun math-iso-dt-to-date (dt) | ||
| 499 | (let ((date (math-absolute-from-iso-dt (car dt) (nth 1 dt) (nth 2 dt)))) | ||
| 427 | (if (nth 3 dt) | 500 | (if (nth 3 dt) |
| 428 | (math-add (math-float date) | 501 | (math-add (math-float date) |
| 429 | (math-div (math-add (+ (* (nth 3 dt) 3600) | 502 | (math-div (math-add (+ (* (nth 3 dt) 3600) |
| @@ -446,11 +519,17 @@ | |||
| 446 | (defun math-this-year () | 519 | (defun math-this-year () |
| 447 | (nth 5 (decode-time))) | 520 | (nth 5 (decode-time))) |
| 448 | 521 | ||
| 449 | (defun math-leap-year-p (year) | 522 | (defun math-leap-year-p (year &optional julian) |
| 450 | (if (Math-lessp year 1752) | 523 | "Non-nil if YEAR is a leap year. |
| 524 | If JULIAN is non-nil, then use the criterion for leap years | ||
| 525 | in the Julian calendar, otherwise use the criterion in the | ||
| 526 | Gregorian calendar." | ||
| 527 | (if julian | ||
| 451 | (if (math-negp year) | 528 | (if (math-negp year) |
| 452 | (= (math-imod (math-neg year) 4) 1) | 529 | (= (math-imod (math-neg year) 4) 1) |
| 453 | (= (math-imod year 4) 0)) | 530 | (= (math-imod year 4) 0)) |
| 531 | (if (math-negp year) | ||
| 532 | (setq year (math-sub -1 year))) | ||
| 454 | (setq year (math-imod year 400)) | 533 | (setq year (math-imod year 400)) |
| 455 | (or (and (= (% year 4) 0) (/= (% year 100) 0)) | 534 | (or (and (= (% year 4) 0) (/= (% year 100) 0)) |
| 456 | (= year 0)))) | 535 | (= year 0)))) |
| @@ -460,39 +539,112 @@ | |||
| 460 | 29 | 539 | 29 |
| 461 | (aref [31 28 31 30 31 30 31 31 30 31 30 31] (1- month)))) | 540 | (aref [31 28 31 30 31 30 31 31 30 31 30 31] (1- month)))) |
| 462 | 541 | ||
| 463 | (defun math-day-number (year month day) | 542 | (defun math-day-in-year (year month day &optional julian) |
| 543 | "Return the number of days of the year up to YEAR MONTH DAY. | ||
| 544 | The count includes the given date. | ||
| 545 | If JULIAN is non-nil, use the Julian calendar, otherwise | ||
| 546 | use the Gregorian calendar." | ||
| 464 | (let ((day-of-year (+ day (* 31 (1- month))))) | 547 | (let ((day-of-year (+ day (* 31 (1- month))))) |
| 465 | (if (> month 2) | 548 | (if (> month 2) |
| 466 | (progn | 549 | (progn |
| 467 | (setq day-of-year (- day-of-year (/ (+ 23 (* 4 month)) 10))) | 550 | (setq day-of-year (- day-of-year (/ (+ 23 (* 4 month)) 10))) |
| 468 | (if (math-leap-year-p year) | 551 | (if (math-leap-year-p year julian) |
| 469 | (setq day-of-year (1+ day-of-year))))) | 552 | (setq day-of-year (1+ day-of-year))))) |
| 470 | (and (eq year 1752) | ||
| 471 | (or (> month 9) | ||
| 472 | (and (= month 9) (>= day 14))) | ||
| 473 | (setq day-of-year (- day-of-year 11))) | ||
| 474 | day-of-year)) | 553 | day-of-year)) |
| 475 | 554 | ||
| 476 | (defun math-absolute-from-date (year month day) | 555 | (defun math-day-number (year month day) |
| 556 | "Return the number of days of the year up to YEAR MONTH DAY. | ||
| 557 | The count includes the given date." | ||
| 558 | (if calc-gregorian-switch | ||
| 559 | (cond ((eq year (nth 0 calc-gregorian-switch)) | ||
| 560 | (1+ | ||
| 561 | (- (math-absolute-from-dt year month day) | ||
| 562 | (math-absolute-from-dt year 1 1)))) | ||
| 563 | ((Math-lessp year (nth 0 calc-gregorian-switch)) | ||
| 564 | (math-day-in-year year month day t)) | ||
| 565 | (t | ||
| 566 | (math-day-in-year year month day))) | ||
| 567 | (math-day-in-year year month day))) | ||
| 568 | |||
| 569 | (defun math-dt-before-p (dt1 dt2) | ||
| 570 | "Non-nil if DT1 occurs before DT2. | ||
| 571 | A DT is a list of the form (YEAR MONTH DAY)." | ||
| 572 | (or (Math-lessp (nth 0 dt1) (nth 0 dt2)) | ||
| 573 | (and (equal (nth 0 dt1) (nth 0 dt2)) | ||
| 574 | (or (< (nth 1 dt1) (nth 1 dt2)) | ||
| 575 | (and (= (nth 1 dt1) (nth 1 dt2)) | ||
| 576 | (< (nth 2 dt1) (nth 2 dt2))))))) | ||
| 577 | |||
| 578 | (defun math-absolute-from-gregorian-dt (year month day) | ||
| 579 | "Return the DATE of the day given by the Gregorian day YEAR MONTH DAY. | ||
| 580 | Recall that DATE is the number of days since December 31, -1 | ||
| 581 | in the Gregorian calendar." | ||
| 477 | (if (eq year 0) (setq year -1)) | 582 | (if (eq year 0) (setq year -1)) |
| 478 | (let ((yearm1 (math-sub year 1))) | 583 | (let ((yearm1 (math-sub year 1))) |
| 479 | (math-sub (math-add (math-day-number year month day) | 584 | (math-sub |
| 480 | (math-add (math-mul 365 yearm1) | 585 | ;; Add the number of days of the year and the numbers of days |
| 481 | (if (math-posp year) | 586 | ;; in the previous years (leap year days to be added separately) |
| 482 | (math-quotient yearm1 4) | 587 | (math-add (math-day-in-year year month day) |
| 483 | (math-sub 365 | 588 | (math-add (math-mul 365 yearm1) |
| 484 | (math-quotient (math-sub 3 year) | 589 | ;; Add the number of Julian leap years |
| 485 | 4))))) | 590 | (if (math-posp year) |
| 486 | (if (or (Math-lessp year 1753) | 591 | (math-quotient yearm1 4) |
| 487 | (and (eq year 1752) (<= month 9))) | 592 | (math-sub 365 |
| 488 | 1 | 593 | (math-quotient (math-sub 3 year) |
| 489 | (let ((correction (math-mul (math-quotient yearm1 100) 3))) | 594 | 4))))) |
| 490 | (let ((res (math-idivmod correction 4))) | 595 | ;; Subtract the number of Julian leap years which are not |
| 491 | (math-add (if (= (cdr res) 0) | 596 | ;; Gregorian leap years. In C=4N+r centuries, there will |
| 492 | -1 | 597 | ;; be 3N+r of these days. The following will compute |
| 493 | 0) | 598 | ;; 3N+r. |
| 494 | (car res)))))))) | 599 | (let* ((correction (math-mul (math-quotient yearm1 100) 3)) |
| 495 | 600 | (res (math-idivmod correction 4))) | |
| 601 | (math-add (if (= (cdr res) 0) | ||
| 602 | 0 | ||
| 603 | 1) | ||
| 604 | (car res)))))) | ||
| 605 | |||
| 606 | (defun math-absolute-from-julian-dt (year month day) | ||
| 607 | "Return the DATE of the day given by the Julian day YEAR MONTH DAY. | ||
| 608 | Recall that DATE is the number of days since December 31, -1 | ||
| 609 | in the Gregorian calendar." | ||
| 610 | (if (eq year 0) (setq year -1)) | ||
| 611 | (let ((yearm1 (math-sub year 1))) | ||
| 612 | (math-sub | ||
| 613 | ;; Add the number of days of the year and the numbers of days | ||
| 614 | ;; in the previous years (leap year days to be added separately) | ||
| 615 | (math-add (math-day-in-year year month day) | ||
| 616 | (math-add (math-mul 365 yearm1) | ||
| 617 | ;; Add the number of Julian leap years | ||
| 618 | (if (math-posp year) | ||
| 619 | (math-quotient yearm1 4) | ||
| 620 | (math-sub 365 | ||
| 621 | (math-quotient (math-sub 3 year) | ||
| 622 | 4))))) | ||
| 623 | ;; Adjustment, since January 1, 1 (Julian) is absolute day -1 | ||
| 624 | 2))) | ||
| 625 | |||
| 626 | ;; calc-gregorian-switch is a customizable variable defined in calc.el | ||
| 627 | (defvar calc-gregorian-switch) | ||
| 628 | |||
| 629 | (defun math-absolute-from-iso-dt (year week day) | ||
| 630 | "Return the DATE of the day given by the iso8601 day YEAR WEEK DAY." | ||
| 631 | (let* ((janfour (math-absolute-from-gregorian-dt year 1 4)) | ||
| 632 | (prevmon (math-sub janfour | ||
| 633 | (cdr (math-idivmod (math-sub janfour 1) 7))))) | ||
| 634 | (math-add | ||
| 635 | (math-add prevmon (* (1- week) 7)) | ||
| 636 | (if (zerop day) 6 (1- day))))) | ||
| 637 | |||
| 638 | (defun math-absolute-from-dt (year month day) | ||
| 639 | "Return the DATE of the day given by the day YEAR MONTH DAY. | ||
| 640 | Recall that DATE is the number of days since December 31, -1 | ||
| 641 | in the Gregorian calendar." | ||
| 642 | (if (and calc-gregorian-switch | ||
| 643 | ;; The next few lines determine if the given date | ||
| 644 | ;; occurs before the switch to the Gregorian calendar. | ||
| 645 | (math-dt-before-p (list year month day) calc-gregorian-switch)) | ||
| 646 | (math-absolute-from-julian-dt year month day) | ||
| 647 | (math-absolute-from-gregorian-dt year month day))) | ||
| 496 | 648 | ||
| 497 | ;;; It is safe to redefine these in your init file to use a different | 649 | ;;; It is safe to redefine these in your init file to use a different |
| 498 | ;;; language. | 650 | ;;; language. |
| @@ -526,6 +678,10 @@ | |||
| 526 | (defvar math-fd-minute) | 678 | (defvar math-fd-minute) |
| 527 | (defvar math-fd-second) | 679 | (defvar math-fd-second) |
| 528 | (defvar math-fd-bc-flag) | 680 | (defvar math-fd-bc-flag) |
| 681 | (defvar math-fd-iso-dt) | ||
| 682 | (defvar math-fd-isoyear) | ||
| 683 | (defvar math-fd-isoweek) | ||
| 684 | (defvar math-fd-isoweekday) | ||
| 529 | 685 | ||
| 530 | (defun math-format-date (math-fd-date) | 686 | (defun math-format-date (math-fd-date) |
| 531 | (if (eq (car-safe math-fd-date) 'date) | 687 | (if (eq (car-safe math-fd-date) 'date) |
| @@ -533,12 +689,14 @@ | |||
| 533 | (let ((entry (list math-fd-date calc-internal-prec calc-date-format))) | 689 | (let ((entry (list math-fd-date calc-internal-prec calc-date-format))) |
| 534 | (or (cdr (assoc entry math-format-date-cache)) | 690 | (or (cdr (assoc entry math-format-date-cache)) |
| 535 | (let* ((math-fd-dt nil) | 691 | (let* ((math-fd-dt nil) |
| 692 | (math-fd-iso-dt nil) | ||
| 536 | (calc-group-digits nil) | 693 | (calc-group-digits nil) |
| 537 | (calc-leading-zeros nil) | 694 | (calc-leading-zeros nil) |
| 538 | (calc-number-radix 10) | 695 | (calc-number-radix 10) |
| 539 | (calc-twos-complement-mode nil) | 696 | (calc-twos-complement-mode nil) |
| 540 | math-fd-year math-fd-month math-fd-day math-fd-weekday | 697 | math-fd-year math-fd-month math-fd-day math-fd-weekday |
| 541 | math-fd-hour math-fd-minute math-fd-second | 698 | math-fd-hour math-fd-minute math-fd-second |
| 699 | math-fd-isoyear math-fd-isoweek math-fd-isoweekday | ||
| 542 | (math-fd-bc-flag nil) | 700 | (math-fd-bc-flag nil) |
| 543 | (fmt (apply 'concat (mapcar 'math-format-date-part | 701 | (fmt (apply 'concat (mapcar 'math-format-date-part |
| 544 | calc-date-format)))) | 702 | calc-date-format)))) |
| @@ -548,13 +706,13 @@ | |||
| 548 | (setcdr math-fd-dt nil)) | 706 | (setcdr math-fd-dt nil)) |
| 549 | fmt)))) | 707 | fmt)))) |
| 550 | 708 | ||
| 551 | (defconst math-julian-date-beginning '(float 17214235 -1) | 709 | (defconst math-julian-date-beginning '(float 17214225 -1) |
| 552 | "The beginning of the Julian calendar, | 710 | "The beginning of the Julian date calendar, |
| 553 | as measured in the number of days before January 1 of the year 1AD.") | 711 | as measured in the number of days before December 31, 1 BC (Gregorian).") |
| 554 | 712 | ||
| 555 | (defconst math-julian-date-beginning-int 1721424 | 713 | (defconst math-julian-date-beginning-int 1721423 |
| 556 | "The beginning of the Julian calendar, | 714 | "The beginning of the Julian date calendar, |
| 557 | as measured in the integer number of days before January 1 of the year 1AD.") | 715 | as measured in the integer number of days before December 31, 1 BC (Gregorian).") |
| 558 | 716 | ||
| 559 | (defun math-format-date-part (x) | 717 | (defun math-format-date-part (x) |
| 560 | (cond ((stringp x) | 718 | (cond ((stringp x) |
| @@ -578,6 +736,23 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 578 | math-julian-date-beginning-int))) | 736 | math-julian-date-beginning-int))) |
| 579 | ((eq x 'U) | 737 | ((eq x 'U) |
| 580 | (math-format-number (nth 1 (math-date-parts math-fd-date 719164)))) | 738 | (math-format-number (nth 1 (math-date-parts math-fd-date 719164)))) |
| 739 | ((memq x '(IYYY Iww w)) | ||
| 740 | (progn | ||
| 741 | (or math-fd-iso-dt | ||
| 742 | (setq math-fd-iso-dt (math-date-to-iso-dt math-fd-date) | ||
| 743 | math-fd-isoyear (car math-fd-iso-dt) | ||
| 744 | math-fd-isoweek (nth 1 math-fd-iso-dt) | ||
| 745 | math-fd-isoweekday (nth 2 math-fd-iso-dt))) | ||
| 746 | (cond ((eq x 'IYYY) | ||
| 747 | (let* ((neg (Math-negp math-fd-isoyear)) | ||
| 748 | (pyear (calcFunc-abs math-fd-isoyear))) | ||
| 749 | (if (and (natnump pyear) (< pyear 10000)) | ||
| 750 | (concat (if neg "-" "") (format "%04d" pyear)) | ||
| 751 | (concat (if neg "-" "+") (math-format-number pyear))))) | ||
| 752 | ((eq x 'Iww) | ||
| 753 | (concat "W" (format "%02d" math-fd-isoweek))) | ||
| 754 | ((eq x 'w) | ||
| 755 | (format "%d" math-fd-isoweekday))))) | ||
| 581 | ((progn | 756 | ((progn |
| 582 | (or math-fd-dt | 757 | (or math-fd-dt |
| 583 | (progn | 758 | (progn |
| @@ -585,8 +760,7 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 585 | math-fd-year (car math-fd-dt) | 760 | math-fd-year (car math-fd-dt) |
| 586 | math-fd-month (nth 1 math-fd-dt) | 761 | math-fd-month (nth 1 math-fd-dt) |
| 587 | math-fd-day (nth 2 math-fd-dt) | 762 | math-fd-day (nth 2 math-fd-dt) |
| 588 | math-fd-weekday (math-mod | 763 | math-fd-weekday (math-mod (math-floor math-fd-date) 7) |
| 589 | (math-add (math-floor math-fd-date) 6) 7) | ||
| 590 | math-fd-hour (nth 3 math-fd-dt) | 764 | math-fd-hour (nth 3 math-fd-dt) |
| 591 | math-fd-minute (nth 4 math-fd-dt) | 765 | math-fd-minute (nth 4 math-fd-dt) |
| 592 | math-fd-second (nth 5 math-fd-dt)) | 766 | math-fd-second (nth 5 math-fd-dt)) |
| @@ -609,6 +783,15 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 609 | (if (and (natnump math-fd-year) (< math-fd-year 100)) | 783 | (if (and (natnump math-fd-year) (< math-fd-year 100)) |
| 610 | (format "+%d" math-fd-year) | 784 | (format "+%d" math-fd-year) |
| 611 | (math-format-number math-fd-year))) | 785 | (math-format-number math-fd-year))) |
| 786 | ((eq x 'ZYYY) | ||
| 787 | (let* ((year (if (Math-negp math-fd-year) | ||
| 788 | (math-add math-fd-year 1) | ||
| 789 | math-fd-year)) | ||
| 790 | (neg (Math-negp year)) | ||
| 791 | (pyear (calcFunc-abs year))) | ||
| 792 | (if (and (natnump pyear) (< pyear 10000)) | ||
| 793 | (concat (if neg "-" "") (format "%04d" pyear)) | ||
| 794 | (concat (if neg "-" "+") (math-format-number pyear))))) | ||
| 612 | ((eq x 'b) "") | 795 | ((eq x 'b) "") |
| 613 | ((eq x 'aa) | 796 | ((eq x 'aa) |
| 614 | (and (not math-fd-bc-flag) "ad")) | 797 | (and (not math-fd-bc-flag) "ad")) |
| @@ -634,6 +817,7 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 634 | (and math-fd-bc-flag "b.c.")) | 817 | (and math-fd-bc-flag "b.c.")) |
| 635 | ((eq x 'BBBB) | 818 | ((eq x 'BBBB) |
| 636 | (and math-fd-bc-flag "B.C.")) | 819 | (and math-fd-bc-flag "B.C.")) |
| 820 | ((eq x 'T) "T") | ||
| 637 | ((eq x 'M) | 821 | ((eq x 'M) |
| 638 | (format "%d" math-fd-month)) | 822 | (format "%d" math-fd-month)) |
| 639 | ((eq x 'MM) | 823 | ((eq x 'MM) |
| @@ -898,6 +1082,20 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 898 | (list 'date (math-dt-to-date (append (list year month day) | 1082 | (list 'date (math-dt-to-date (append (list year month day) |
| 899 | (and hour (list hour minute second)))))) | 1083 | (and hour (list hour minute second)))))) |
| 900 | 1084 | ||
| 1085 | (defun math-parse-iso-date-validate (isoyear isoweek isoweekday hour minute second) | ||
| 1086 | (if (or (< isoweek 1) (> isoweek 53)) | ||
| 1087 | (throw 'syntax "Week value is out of range")) | ||
| 1088 | (and hour | ||
| 1089 | (progn | ||
| 1090 | (if (or (< hour 0) (> hour 23)) | ||
| 1091 | (throw 'syntax "Hour value is out of range")) | ||
| 1092 | (if (or (< minute 0) (> minute 59)) | ||
| 1093 | (throw 'syntax "Minute value is out of range")) | ||
| 1094 | (if (or (math-negp second) (not (Math-lessp second 60))) | ||
| 1095 | (throw 'syntax "Seconds value is out of range")))) | ||
| 1096 | (list 'date (math-iso-dt-to-date (append (list isoyear isoweek isoweekday) | ||
| 1097 | (and hour (list hour minute second)))))) | ||
| 1098 | |||
| 901 | (defun math-parse-date-word (names &optional front) | 1099 | (defun math-parse-date-word (names &optional front) |
| 902 | (let ((n 1)) | 1100 | (let ((n 1)) |
| 903 | (while (and names (not (string-match (if (equal (car names) "Sep") | 1101 | (while (and names (not (string-match (if (equal (car names) "Sep") |
| @@ -918,6 +1116,7 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 918 | (let ((case-fold-search t) | 1116 | (let ((case-fold-search t) |
| 919 | (okay t) num | 1117 | (okay t) num |
| 920 | (fmt calc-date-format) this next (gnext nil) | 1118 | (fmt calc-date-format) this next (gnext nil) |
| 1119 | (isoyear nil) (isoweek nil) (isoweekday nil) | ||
| 921 | (year nil) (month nil) (day nil) (bigyear nil) (yearday nil) | 1120 | (year nil) (month nil) (day nil) (bigyear nil) (yearday nil) |
| 922 | (hour nil) (minute nil) (second nil) (bc-flag nil)) | 1121 | (hour nil) (minute nil) (second nil) (bc-flag nil)) |
| 923 | (while (and fmt okay) | 1122 | (while (and fmt okay) |
| @@ -994,19 +1193,35 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 994 | (if (string-match "\\`pm\\|p\\.m\\." math-pd-str) | 1193 | (if (string-match "\\`pm\\|p\\.m\\." math-pd-str) |
| 995 | (setq hour (if (= hour 12) 12 (% (+ hour 12) 24)) | 1194 | (setq hour (if (= hour 12) 12 (% (+ hour 12) 24)) |
| 996 | math-pd-str (substring math-pd-str (match-end 0)))))) | 1195 | math-pd-str (substring math-pd-str (match-end 0)))))) |
| 997 | ((memq this '(Y YY BY YYY YYYY)) | 1196 | ((memq this '(Y YY BY YYY YYYY ZYYY)) |
| 998 | (and (if (memq next '(MM DD ddd hh HH mm ss SS)) | 1197 | (and (if (memq next '(MM DD ddd hh HH mm ss SS)) |
| 999 | (if (memq this '(Y YY BYY)) | 1198 | (if (memq this '(Y YY BYY)) |
| 1000 | (string-match "\\` *[0-9][0-9]" math-pd-str) | 1199 | (string-match "\\` *[0-9][0-9]" math-pd-str) |
| 1001 | (string-match "\\`[0-9][0-9][0-9][0-9]" math-pd-str)) | 1200 | (string-match "\\`[0-9][0-9][0-9][0-9]" math-pd-str)) |
| 1002 | (string-match "\\`[-+]?[0-9]+" math-pd-str)) | 1201 | (string-match "\\`[-+]?[0-9]+" math-pd-str)) |
| 1003 | (setq year (math-match-substring math-pd-str 0) | 1202 | (setq year (math-match-substring math-pd-str 0) |
| 1004 | bigyear (or (eq this 'YYY) | 1203 | bigyear (or (eq this 'YYY) |
| 1005 | (memq (aref math-pd-str 0) '(?\+ ?\-))) | 1204 | (memq (aref math-pd-str 0) '(?\+ ?\-))) |
| 1006 | math-pd-str (substring math-pd-str (match-end 0)) | 1205 | math-pd-str (substring math-pd-str (match-end 0)) |
| 1007 | year (math-read-number year)))) | 1206 | year (math-read-number year)) |
| 1207 | (if (and (eq this 'ZYYY) (eq year 0)) | ||
| 1208 | (setq year (math-sub year 1) | ||
| 1209 | bigyear t) | ||
| 1210 | t))) | ||
| 1211 | ((eq this 'IYYY) | ||
| 1212 | (if (string-match "\\`[-+]?[0-9]+" math-pd-str) | ||
| 1213 | (setq isoyear (string-to-number (math-match-substring math-pd-str 0)) | ||
| 1214 | math-pd-str (substring math-pd-str (match-end 0))))) | ||
| 1215 | ((eq this 'Iww) | ||
| 1216 | (if (string-match "W\\([0-9][0-9]\\)" math-pd-str) | ||
| 1217 | (setq isoweek (string-to-number (math-match-substring math-pd-str 1)) | ||
| 1218 | math-pd-str (substring math-pd-str 3)))) | ||
| 1008 | ((eq this 'b) | 1219 | ((eq this 'b) |
| 1009 | t) | 1220 | t) |
| 1221 | ((eq this 'T) | ||
| 1222 | (if (eq (aref math-pd-str 0) ?T) | ||
| 1223 | (setq math-pd-str (substring math-pd-str 1)) | ||
| 1224 | t)) | ||
| 1010 | ((memq this '(aa AA aaaa AAAA)) | 1225 | ((memq this '(aa AA aaaa AAAA)) |
| 1011 | (if (string-match "\\` *\\(ad\\|a\\.d\\.\\)" math-pd-str) | 1226 | (if (string-match "\\` *\\(ad\\|a\\.d\\.\\)" math-pd-str) |
| 1012 | (setq math-pd-str (substring math-pd-str (match-end 0))))) | 1227 | (setq math-pd-str (substring math-pd-str (match-end 0))))) |
| @@ -1041,7 +1256,9 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 1041 | nil)) | 1256 | nil)) |
| 1042 | nil) | 1257 | nil) |
| 1043 | ((eq this 'W) | 1258 | ((eq this 'W) |
| 1044 | (and (>= num 0) (< num 7))) | 1259 | (and (>= num 0) (< num 7))) |
| 1260 | ((eq this 'w) | ||
| 1261 | (setq isoweekday num)) | ||
| 1045 | ((memq this '(d ddd bdd)) | 1262 | ((memq this '(d ddd bdd)) |
| 1046 | (setq yearday num)) | 1263 | (setq yearday num)) |
| 1047 | ((memq this '(M MM BM)) | 1264 | ((memq this '(M MM BM)) |
| @@ -1058,18 +1275,20 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 1058 | (setq yearday nil) | 1275 | (setq yearday nil) |
| 1059 | (setq month 1 day 1))) | 1276 | (setq month 1 day 1))) |
| 1060 | (if (and okay (equal math-pd-str "")) | 1277 | (if (and okay (equal math-pd-str "")) |
| 1061 | (and month day (or (not (or hour minute second)) | 1278 | (if isoyear |
| 1062 | (and hour minute)) | 1279 | (math-parse-iso-date-validate isoyear isoweek isoweekday hour minute second) |
| 1063 | (progn | 1280 | (and month day (or (not (or hour minute second)) |
| 1064 | (or year (setq year (math-this-year))) | 1281 | (and hour minute)) |
| 1065 | (or second (setq second 0)) | 1282 | (progn |
| 1066 | (if bc-flag | 1283 | (or year (setq year (math-this-year))) |
| 1067 | (setq year (math-neg (math-abs year)))) | 1284 | (or second (setq second 0)) |
| 1068 | (setq day (math-parse-date-validate year bigyear month day | 1285 | (if bc-flag |
| 1069 | hour minute second)) | 1286 | (setq year (math-neg (math-abs year)))) |
| 1070 | (if yearday | 1287 | (setq day (math-parse-date-validate year bigyear month day |
| 1071 | (setq day (math-add day (1- yearday)))) | 1288 | hour minute second)) |
| 1072 | day))))) | 1289 | (if yearday |
| 1290 | (setq day (math-add day (1- yearday)))) | ||
| 1291 | day)))))) | ||
| 1073 | 1292 | ||
| 1074 | 1293 | ||
| 1075 | (defun calcFunc-now (&optional zone) | 1294 | (defun calcFunc-now (&optional zone) |
| @@ -1098,7 +1317,7 @@ as measured in the integer number of days before January 1 of the year 1AD.") | |||
| 1098 | (setq date (nth 1 date))) | 1317 | (setq date (nth 1 date))) |
| 1099 | (or (math-realp date) | 1318 | (or (math-realp date) |
| 1100 | (math-reject-arg date 'datep)) | 1319 | (math-reject-arg date 'datep)) |
| 1101 | (math-mod (math-add (math-floor date) 6) 7)) | 1320 | (math-mod (math-floor date) 7)) |
| 1102 | 1321 | ||
| 1103 | (defun calcFunc-yearday (date) | 1322 | (defun calcFunc-yearday (date) |
| 1104 | (let ((dt (math-date-to-dt date))) | 1323 | (let ((dt (math-date-to-dt date))) |
| @@ -1298,7 +1517,7 @@ second, the number of seconds offset for daylight savings." | |||
| 1298 | 0))) | 1517 | 0))) |
| 1299 | (rounded-abs-date | 1518 | (rounded-abs-date |
| 1300 | (+ | 1519 | (+ |
| 1301 | (calendar-absolute-from-gregorian | 1520 | (calendar-absolute-from-gregorian |
| 1302 | (list (nth 1 dt) (nth 2 dt) (nth 0 dt))) | 1521 | (list (nth 1 dt) (nth 2 dt) (nth 0 dt))) |
| 1303 | (/ (round (* 60 time)) 60.0 24.0)))) | 1522 | (/ (round (* 60 time)) 60.0 24.0)))) |
| 1304 | (if (dst-in-effect rounded-abs-date) | 1523 | (if (dst-in-effect rounded-abs-date) |
| @@ -1434,28 +1653,100 @@ and ends on the last Sunday of October at 2 a.m." | |||
| 1434 | (and (math-messy-integerp day) (setq day (math-trunc day))) | 1653 | (and (math-messy-integerp day) (setq day (math-trunc day))) |
| 1435 | (or (integerp day) (math-reject-arg day 'fixnump)) | 1654 | (or (integerp day) (math-reject-arg day 'fixnump)) |
| 1436 | (and (or (< day 0) (> day 31)) (math-reject-arg day 'range)) | 1655 | (and (or (< day 0) (> day 31)) (math-reject-arg day 'range)) |
| 1437 | (let ((dt (math-date-to-dt date))) | 1656 | (let* ((dt (math-date-to-dt date)) |
| 1438 | (if (or (= day 0) (> day (math-days-in-month (car dt) (nth 1 dt)))) | 1657 | (dim (math-days-in-month (car dt) (nth 1 dt))) |
| 1439 | (setq day (math-days-in-month (car dt) (nth 1 dt)))) | 1658 | (julian (if calc-gregorian-switch |
| 1440 | (and (eq (car dt) 1752) (= (nth 1 dt) 9) | 1659 | (math-date-to-dt (math-sub |
| 1441 | (if (>= day 14) (setq day (- day 11)))) | 1660 | (or (nth 3 calc-gregorian-switch) |
| 1442 | (list 'date (math-add (math-dt-to-date (list (car dt) (nth 1 dt) 1)) | 1661 | (apply 'math-absolute-from-gregorian-dt calc-gregorian-switch)) |
| 1443 | (1- day))))) | 1662 | 1))))) |
| 1663 | (if (or (= day 0) (> day dim)) | ||
| 1664 | (setq day (1- dim)) | ||
| 1665 | (setq day (1- day))) | ||
| 1666 | ;; Adjust if this occurs near the switch to the Gregorian calendar | ||
| 1667 | (if calc-gregorian-switch | ||
| 1668 | (cond | ||
| 1669 | ((and (math-dt-before-p (list (car dt) (nth 1 dt) 1) calc-gregorian-switch) | ||
| 1670 | (math-dt-before-p julian (list (car dt) (nth 1 dt) 1))) | ||
| 1671 | ;; In this case, CALC-GREGORIAN-SWITCH is the first day of the month | ||
| 1672 | (list 'date | ||
| 1673 | (math-dt-to-date (list (car calc-gregorian-switch) | ||
| 1674 | (nth 1 calc-gregorian-switch) | ||
| 1675 | (if (> (+ (nth 2 calc-gregorian-switch) day) dim) | ||
| 1676 | dim | ||
| 1677 | (+ (nth 2 calc-gregorian-switch) day)))))) | ||
| 1678 | ((and (eq (car dt) (car calc-gregorian-switch)) | ||
| 1679 | (= (nth 1 dt) (nth 1 calc-gregorian-switch))) | ||
| 1680 | ;; In this case, the switch to the Gregorian calendar occurs in the given month | ||
| 1681 | (if (< (+ (nth 2 julian) day) (nth 2 calc-gregorian-switch)) | ||
| 1682 | ;; If the DAYth day occurs before the switch, use it | ||
| 1683 | (list 'date (math-dt-to-date (list (car dt) (nth 1 dt) (1+ day)))) | ||
| 1684 | ;; Otherwise do some computations | ||
| 1685 | (let ((tm (+ day (- (nth 2 calc-gregorian-switch) (nth 2 julian))))) | ||
| 1686 | (list 'date (math-dt-to-date | ||
| 1687 | (list (car dt) | ||
| 1688 | (nth 1 dt) | ||
| 1689 | ;; | ||
| 1690 | (if (> tm dim) dim tm))))))) | ||
| 1691 | ((and (eq (car dt) (car julian)) | ||
| 1692 | (= (nth 1 dt) (nth 1 julian))) | ||
| 1693 | ;; In this case, the current month is truncated because of the switch | ||
| 1694 | ;; to the Gregorian calendar | ||
| 1695 | (list 'date (math-dt-to-date | ||
| 1696 | (list (car dt) | ||
| 1697 | (nth 1 dt) | ||
| 1698 | (if (>= day (nth 2 julian)) | ||
| 1699 | (nth 2 julian) | ||
| 1700 | (1+ day)))))) | ||
| 1701 | (t | ||
| 1702 | ;; The default | ||
| 1703 | (list 'date (math-add (math-dt-to-date (list (car dt) (nth 1 dt) 1)) day)))) | ||
| 1704 | (list 'date (math-add (math-dt-to-date (list (car dt) (nth 1 dt) 1)) day))))) | ||
| 1444 | 1705 | ||
| 1445 | (defun calcFunc-newyear (date &optional day) | 1706 | (defun calcFunc-newyear (date &optional day) |
| 1707 | (if (eq (car-safe date) 'date) (setq date (nth 1 date))) | ||
| 1446 | (or day (setq day 1)) | 1708 | (or day (setq day 1)) |
| 1447 | (and (math-messy-integerp day) (setq day (math-trunc day))) | 1709 | (and (math-messy-integerp day) (setq day (math-trunc day))) |
| 1448 | (or (integerp day) (math-reject-arg day 'fixnump)) | 1710 | (or (integerp day) (math-reject-arg day 'fixnump)) |
| 1449 | (let ((dt (math-date-to-dt date))) | 1711 | (let* ((dt (math-date-to-dt date)) |
| 1712 | (gregbeg (if calc-gregorian-switch | ||
| 1713 | (or (nth 3 calc-gregorian-switch) | ||
| 1714 | (apply 'math-absolute-from-gregorian-dt calc-gregorian-switch)))) | ||
| 1715 | (julianend (if calc-gregorian-switch (math-sub gregbeg 1))) | ||
| 1716 | (julian (if calc-gregorian-switch | ||
| 1717 | (math-date-to-dt julianend)))) | ||
| 1450 | (if (and (>= day 0) (<= day 366)) | 1718 | (if (and (>= day 0) (<= day 366)) |
| 1451 | (let ((max (if (eq (car dt) 1752) 355 | 1719 | (let ((max (if (math-leap-year-p (car dt)) 366 365))) |
| 1452 | (if (math-leap-year-p (car dt)) 366 365)))) | ||
| 1453 | (if (or (= day 0) (> day max)) (setq day max)) | 1720 | (if (or (= day 0) (> day max)) (setq day max)) |
| 1454 | (list 'date (math-add (math-dt-to-date (list (car dt) 1 1)) | 1721 | (if calc-gregorian-switch |
| 1455 | (1- day)))) | 1722 | ;; Now to break this down into cases |
| 1723 | (cond | ||
| 1724 | ((and (math-dt-before-p (list (car dt) 1 1) calc-gregorian-switch) | ||
| 1725 | (math-dt-before-p julian (list (car dt) 1 1))) | ||
| 1726 | ;; In this case, CALC-GREGORIAN-SWITCH is the first day of the year | ||
| 1727 | (list 'date (math-min (math-add gregbeg (1- day)) | ||
| 1728 | (math-dt-to-date (list (car calc-gregorian-switch) 12 31))))) | ||
| 1729 | ((eq (car dt) (car julian)) | ||
| 1730 | ;; In this case, the switch to the Gregorian calendar occurs in the given year | ||
| 1731 | (if (Math-lessp (car julian) (car calc-gregorian-switch)) | ||
| 1732 | ;; Here, the last Julian day is the last day of the year. | ||
| 1733 | (list 'date (math-min (math-add (math-dt-to-date (list (car dt) 1 1)) (1- day)) | ||
| 1734 | julianend)) | ||
| 1735 | ;; Otherwise, just make sure the date doesn't go past the end of the year | ||
| 1736 | (list 'date (math-min (math-add (math-dt-to-date (list (car dt) 1 1)) (1- day)) | ||
| 1737 | (math-dt-to-date (list (car dt) 12 31)))))) | ||
| 1738 | (t | ||
| 1739 | (list 'date (math-add (math-dt-to-date (list (car dt) 1 1)) | ||
| 1740 | (1- day))))) | ||
| 1741 | (list 'date (math-add (math-dt-to-date (list (car dt) 1 1)) | ||
| 1742 | (1- day))))) | ||
| 1456 | (if (and (>= day -12) (<= day -1)) | 1743 | (if (and (>= day -12) (<= day -1)) |
| 1457 | (list 'date (math-dt-to-date (list (car dt) (- day) 1))) | 1744 | (if (and calc-gregorian-switch |
| 1458 | (math-reject-arg day 'range))))) | 1745 | (math-dt-before-p (list (car dt) (- day) 1) calc-gregorian-switch) |
| 1746 | (math-dt-before-p julian (list (car dt) (- day) 1))) | ||
| 1747 | (list 'date gregbeg) | ||
| 1748 | (list 'date (math-dt-to-date (list (car dt) (- day) 1)))) | ||
| 1749 | (math-reject-arg day 'range))))) | ||
| 1459 | 1750 | ||
| 1460 | (defun calcFunc-incmonth (date &optional step) | 1751 | (defun calcFunc-incmonth (date &optional step) |
| 1461 | (or step (setq step 1)) | 1752 | (or step (setq step 1)) |
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index f1643b10a76..58eabf9bcec 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el | |||
| @@ -464,6 +464,8 @@ to be identified as that note." | |||
| 464 | :type 'string | 464 | :type 'string |
| 465 | :group 'calc) | 465 | :group 'calc) |
| 466 | 466 | ||
| 467 | (defvar math-format-date-cache) ; calc-forms.el | ||
| 468 | |||
| 467 | (defface calc-nonselected-face | 469 | (defface calc-nonselected-face |
| 468 | '((t :inherit shadow | 470 | '((t :inherit shadow |
| 469 | :slant italic)) | 471 | :slant italic)) |
| @@ -2020,6 +2022,50 @@ See calc-keypad for details." | |||
| 2020 | (calc-refresh align))) | 2022 | (calc-refresh align))) |
| 2021 | (setq calc-refresh-count (1+ calc-refresh-count))) | 2023 | (setq calc-refresh-count (1+ calc-refresh-count))) |
| 2022 | 2024 | ||
| 2025 | ;; Dates that are built-in options for `calc-gregorian-switch' should be | ||
| 2026 | ;; (YEAR MONTH DAY math-date-from-gregorian-dt(YEAR MONTH DAY)) for speed. | ||
| 2027 | (defcustom calc-gregorian-switch nil | ||
| 2028 | "The first day the Gregorian calendar is used by Calc's date forms. | ||
| 2029 | This is `nil' (the default) if the Gregorian calendar is the only one used. | ||
| 2030 | Otherwise, it should be a list `(YEAR MONTH DAY)' when Calc begins to use | ||
| 2031 | the Gregorian calendar; Calc will use the Julian calendar for earlier dates. | ||
| 2032 | The dates in which different regions of the world began to use the | ||
| 2033 | Gregorian calendar vary quite a bit, even within a single country. | ||
| 2034 | If you want Calc's date forms to switch between the Julian and | ||
| 2035 | Gregorian calendar, you can specify the date or choose from several | ||
| 2036 | common choices. Some of these choices should be taken with a grain | ||
| 2037 | of salt; for example different parts of France changed calendars at | ||
| 2038 | different times, and Sweden's change to the Gregorian calendar was | ||
| 2039 | complicated. Also, the boundaries of the countries were different at | ||
| 2040 | the times of the calendar changes than they are now. | ||
| 2041 | The Vatican decided that the Gregorian calendar should take effect | ||
| 2042 | on 15 October 1582 (Gregorian), and many Catholic countries made | ||
| 2043 | the change then. Great Britain and its colonies had the Gregorian | ||
| 2044 | calendar take effect on 14 September 1752 (Gregorian); this includes | ||
| 2045 | the United States." | ||
| 2046 | :group 'calc | ||
| 2047 | :version "24.4" | ||
| 2048 | :type '(choice (const :tag "Always use the Gregorian calendar" nil) | ||
| 2049 | (const :tag "1582-10-15 - Italy, Poland, Portugal, Spain" (1582 10 15 577736)) | ||
| 2050 | (const :tag "1582-12-20 - France" (1582 12 20 577802)) | ||
| 2051 | (const :tag "1582-12-25 - Luxemburg" (1582 12 25 577807)) | ||
| 2052 | (const :tag "1584-01-17 - Bohemia and Moravia" (1584 1 17 578195)) | ||
| 2053 | (const :tag "1587-11-01 - Hungary" (1587 11 1 579579)) | ||
| 2054 | (const :tag "1700-03-01 - Denmark" (1700 3 1 620607)) | ||
| 2055 | (const :tag "1701-01-12 - Protestant Switzerland" (1701 1 12 620924)) | ||
| 2056 | (const :tag "1752-09-14 - Great Britain and dominions" (1752 9 14 639797)) | ||
| 2057 | (const :tag "1753-03-01 - Sweden" (1753 3 1 639965)) | ||
| 2058 | (const :tag "1918-02-14 - Russia" (1918 2 14 700214)) | ||
| 2059 | (const :tag "1919-04-14 - Romania" (1919 4 14 700638)) | ||
| 2060 | (list :tag "(YEAR MONTH DAY)" | ||
| 2061 | (integer :tag "Year") | ||
| 2062 | (integer :tag "Month (integer)") | ||
| 2063 | (integer :tag "Day"))) | ||
| 2064 | :set (lambda (symbol value) | ||
| 2065 | (set-default symbol value) | ||
| 2066 | (setq math-format-date-cache nil) | ||
| 2067 | (calc-refresh))) | ||
| 2068 | |||
| 2023 | ;;;; The Calc Trail buffer. | 2069 | ;;;; The Calc Trail buffer. |
| 2024 | 2070 | ||
| 2025 | (defun calc-check-trail-aligned () | 2071 | (defun calc-check-trail-aligned () |
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index 27c6f76581c..46a7f703019 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el | |||
| @@ -444,8 +444,7 @@ The format of the header is specified by `diary-header-line-format'." | |||
| 444 | (defcustom diary-header-line-format | 444 | (defcustom diary-header-line-format |
| 445 | '(:eval (calendar-string-spread | 445 | '(:eval (calendar-string-spread |
| 446 | (list (if diary-selective-display | 446 | (list (if diary-selective-display |
| 447 | "Some text is hidden - press \"s\" in calendar \ | 447 | "Some text is hidden - press \"C-c C-s\" before edit/copy" |
| 448 | before edit/copy" | ||
| 449 | "Diary")) | 448 | "Diary")) |
| 450 | ?\s (window-width))) | 449 | ?\s (window-width))) |
| 451 | "Format of the header line displayed by `diary-simple-display'. | 450 | "Format of the header line displayed by `diary-simple-display'. |
diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el index 38b766084c9..9cac659d848 100644 --- a/lisp/calendar/time-date.el +++ b/lisp/calendar/time-date.el | |||
| @@ -30,11 +30,10 @@ | |||
| 30 | ;; value equal to HIGH * 2^16 + LOW + USEC * 10^-6 + PSEC * 10^-12 | 30 | ;; value equal to HIGH * 2^16 + LOW + USEC * 10^-6 + PSEC * 10^-12 |
| 31 | ;; seconds, where missing components are treated as zero. HIGH can be | 31 | ;; seconds, where missing components are treated as zero. HIGH can be |
| 32 | ;; negative, either because the value is a time difference, or because | 32 | ;; negative, either because the value is a time difference, or because |
| 33 | ;; the machine supports negative time stamps that fall before the | 33 | ;; the machine supports negative time stamps that fall before the epoch. |
| 34 | ;; epoch. The macro `with-decoded-time-value' and the | 34 | ;; The macro `with-decoded-time-value' and the function |
| 35 | ;; function `encode-time-value' make it easier to deal with these | 35 | ;; `encode-time-value' make it easier to deal with these formats. |
| 36 | ;; three formats. See `time-subtract' for an example of how to use | 36 | ;; See `time-subtract' for an example of how to use them. |
| 37 | ;; them. | ||
| 38 | 37 | ||
| 39 | ;;; Code: | 38 | ;;; Code: |
| 40 | 39 | ||
| @@ -134,9 +133,7 @@ If DATE lacks timezone information, GMT is assumed." | |||
| 134 | ;;;###autoload(if (or (featurep 'emacs) | 133 | ;;;###autoload(if (or (featurep 'emacs) |
| 135 | ;;;###autoload (and (fboundp 'float-time) | 134 | ;;;###autoload (and (fboundp 'float-time) |
| 136 | ;;;###autoload (subrp (symbol-function 'float-time)))) | 135 | ;;;###autoload (subrp (symbol-function 'float-time)))) |
| 137 | ;;;###autoload (progn | 136 | ;;;###autoload (defalias 'time-to-seconds 'float-time) |
| 138 | ;;;###autoload (defalias 'time-to-seconds 'float-time) | ||
| 139 | ;;;###autoload (make-obsolete 'time-to-seconds 'float-time "21.1")) | ||
| 140 | ;;;###autoload (autoload 'time-to-seconds "time-date")) | 137 | ;;;###autoload (autoload 'time-to-seconds "time-date")) |
| 141 | 138 | ||
| 142 | (eval-when-compile | 139 | (eval-when-compile |
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog index a01ce4c30a3..cdfb357b646 100644 --- a/lisp/cedet/ChangeLog +++ b/lisp/cedet/ChangeLog | |||
| @@ -1,12 +1,17 @@ | |||
| 1 | 2012-11-19 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * semantic/fw.el (semantic-make-local-hook, semantic-mode-line-update): | ||
| 4 | Simplify via CSE. | ||
| 5 | |||
| 1 | 2012-11-16 David Engster <deng@randomsample.de> | 6 | 2012-11-16 David Engster <deng@randomsample.de> |
| 2 | 7 | ||
| 3 | * semantic/symref/list.el (semantic-symref-symbol): Use | 8 | * semantic/symref/list.el (semantic-symref-symbol): |
| 4 | `semantic-complete-read-tag-project' instead of | 9 | Use `semantic-complete-read-tag-project' instead of |
| 5 | `semantic-complete-read-tag-buffer-deep', since the latter is not | 10 | `semantic-complete-read-tag-buffer-deep', since the latter is not |
| 6 | working correctly. | 11 | working correctly. |
| 7 | 12 | ||
| 8 | * semantic/symref.el (semantic-symref-result-get-tags): Use | 13 | * semantic/symref.el (semantic-symref-result-get-tags): |
| 9 | `find-buffer-visiting' to follow symbolic links. | 14 | Use `find-buffer-visiting' to follow symbolic links. |
| 10 | 15 | ||
| 11 | * semantic/fw.el (semantic-find-file-noselect): Always set | 16 | * semantic/fw.el (semantic-find-file-noselect): Always set |
| 12 | `enable-local-variables' to `:safe' when loading files. | 17 | `enable-local-variables' to `:safe' when loading files. |
diff --git a/lisp/cedet/semantic/fw.el b/lisp/cedet/semantic/fw.el index 14ffc808c44..6dd85309967 100644 --- a/lisp/cedet/semantic/fw.el +++ b/lisp/cedet/semantic/fw.el | |||
| @@ -122,15 +122,13 @@ | |||
| 122 | ) | 122 | ) |
| 123 | 123 | ||
| 124 | 124 | ||
| 125 | (if (and (not (featurep 'xemacs)) | 125 | (defalias 'semantic-make-local-hook |
| 126 | (>= emacs-major-version 21)) | 126 | (if (and (not (featurep 'xemacs)) |
| 127 | (defalias 'semantic-make-local-hook 'identity) | 127 | (>= emacs-major-version 21)) |
| 128 | (defalias 'semantic-make-local-hook 'make-local-hook) | 128 | #'identity #'make-local-hook)) |
| 129 | ) | ||
| 130 | 129 | ||
| 131 | (if (featurep 'xemacs) | 130 | (defalias 'semantic-mode-line-update |
| 132 | (defalias 'semantic-mode-line-update 'redraw-modeline) | 131 | (if (featurep 'xemacs) #'redraw-modeline #'force-mode-line-update)) |
| 133 | (defalias 'semantic-mode-line-update 'force-mode-line-update)) | ||
| 134 | 132 | ||
| 135 | ;; Since Emacs 22 major mode functions should use `run-mode-hooks' to | 133 | ;; Since Emacs 22 major mode functions should use `run-mode-hooks' to |
| 136 | ;; run major mode hooks. | 134 | ;; run major mode hooks. |
diff --git a/lisp/color.el b/lisp/color.el index b915beacb0a..e1563ea474c 100644 --- a/lisp/color.el +++ b/lisp/color.el | |||
| @@ -33,9 +33,6 @@ | |||
| 33 | 33 | ||
| 34 | ;;; Code: | 34 | ;;; Code: |
| 35 | 35 | ||
| 36 | (eval-when-compile | ||
| 37 | (require 'cl)) | ||
| 38 | |||
| 39 | ;; Emacs < 23.3 | 36 | ;; Emacs < 23.3 |
| 40 | (eval-and-compile | 37 | (eval-and-compile |
| 41 | (unless (boundp 'float-pi) | 38 | (unless (boundp 'float-pi) |
| @@ -69,9 +66,9 @@ RED, GREEN, and BLUE should be numbers between 0.0 and 1.0, inclusive." | |||
| 69 | COLOR-NAME should be a string naming a color (e.g. \"white\"), or | 66 | COLOR-NAME should be a string naming a color (e.g. \"white\"), or |
| 70 | a string specifying a color's RGB components (e.g. \"#ff12ec\")." | 67 | a string specifying a color's RGB components (e.g. \"#ff12ec\")." |
| 71 | (let ((color (color-name-to-rgb color-name))) | 68 | (let ((color (color-name-to-rgb color-name))) |
| 72 | (list (- 1.0 (car color)) | 69 | (list (- 1.0 (nth 0 color)) |
| 73 | (- 1.0 (cadr color)) | 70 | (- 1.0 (nth 1 color)) |
| 74 | (- 1.0 (caddr color))))) | 71 | (- 1.0 (nth 2 color))))) |
| 75 | 72 | ||
| 76 | (defun color-gradient (start stop step-number) | 73 | (defun color-gradient (start stop step-number) |
| 77 | "Return a list with STEP-NUMBER colors from START to STOP. | 74 | "Return a list with STEP-NUMBER colors from START to STOP. |
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 8e06b16bd12..69e694bd14e 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el | |||
| @@ -3679,15 +3679,10 @@ Optional EVENT is the location for the menu." | |||
| 3679 | (setq comment nil) | 3679 | (setq comment nil) |
| 3680 | ;; Make the comment invisible by hand if it's empty | 3680 | ;; Make the comment invisible by hand if it's empty |
| 3681 | (custom-comment-hide comment-widget)) | 3681 | (custom-comment-hide comment-widget)) |
| 3682 | (put symbol 'customized-face value) | ||
| 3683 | (custom-push-theme 'theme-face symbol 'user 'set value) | 3682 | (custom-push-theme 'theme-face symbol 'user 'set value) |
| 3684 | (if (face-spec-choose value) | 3683 | (face-spec-set symbol value 'customized-face) |
| 3685 | (face-spec-set symbol value t) | ||
| 3686 | ;; face-set-spec ignores empty attribute lists, so just give it | ||
| 3687 | ;; something harmless instead. | ||
| 3688 | (face-spec-set symbol '((t :foreground unspecified)) t)) | ||
| 3689 | (put symbol 'customized-face-comment comment) | ||
| 3690 | (put symbol 'face-comment comment) | 3684 | (put symbol 'face-comment comment) |
| 3685 | (put symbol 'customized-face-comment comment) | ||
| 3691 | (custom-face-state-set widget) | 3686 | (custom-face-state-set widget) |
| 3692 | (custom-redraw-magic widget))) | 3687 | (custom-redraw-magic widget))) |
| 3693 | 3688 | ||
| @@ -3696,20 +3691,14 @@ Optional EVENT is the location for the menu." | |||
| 3696 | (let* ((symbol (widget-value widget)) | 3691 | (let* ((symbol (widget-value widget)) |
| 3697 | (value (custom-face-widget-to-spec widget)) | 3692 | (value (custom-face-widget-to-spec widget)) |
| 3698 | (comment-widget (widget-get widget :comment-widget)) | 3693 | (comment-widget (widget-get widget :comment-widget)) |
| 3699 | (comment (widget-value comment-widget))) | 3694 | (comment (widget-value comment-widget)) |
| 3695 | (standard (eq (widget-get widget :custom-state) 'standard))) | ||
| 3700 | (when (equal comment "") | 3696 | (when (equal comment "") |
| 3701 | (setq comment nil) | 3697 | (setq comment nil) |
| 3702 | ;; Make the comment invisible by hand if it's empty | 3698 | ;; Make the comment invisible by hand if it's empty |
| 3703 | (custom-comment-hide comment-widget)) | 3699 | (custom-comment-hide comment-widget)) |
| 3704 | (custom-push-theme 'theme-face symbol 'user 'set value) | 3700 | (custom-push-theme 'theme-face symbol 'user 'set value) |
| 3705 | (if (face-spec-choose value) | 3701 | (face-spec-set symbol value (if standard 'reset 'saved-face)) |
| 3706 | (face-spec-set symbol value t) | ||
| 3707 | ;; face-set-spec ignores empty attribute lists, so just give it | ||
| 3708 | ;; something harmless instead. | ||
| 3709 | (face-spec-set symbol '((t :foreground unspecified)) t)) | ||
| 3710 | (unless (eq (widget-get widget :custom-state) 'standard) | ||
| 3711 | (put symbol 'saved-face value)) | ||
| 3712 | (put symbol 'customized-face nil) | ||
| 3713 | (put symbol 'face-comment comment) | 3702 | (put symbol 'face-comment comment) |
| 3714 | (put symbol 'customized-face-comment nil) | 3703 | (put symbol 'customized-face-comment nil) |
| 3715 | (put symbol 'saved-face-comment comment))) | 3704 | (put symbol 'saved-face-comment comment))) |
| @@ -3738,13 +3727,12 @@ uncustomized (themed or standard) face." | |||
| 3738 | (saved-face (get face 'saved-face)) | 3727 | (saved-face (get face 'saved-face)) |
| 3739 | (comment (get face 'saved-face-comment)) | 3728 | (comment (get face 'saved-face-comment)) |
| 3740 | (comment-widget (widget-get widget :comment-widget))) | 3729 | (comment-widget (widget-get widget :comment-widget))) |
| 3741 | (put face 'customized-face nil) | ||
| 3742 | (put face 'customized-face-comment nil) | ||
| 3743 | (custom-push-theme 'theme-face face 'user | 3730 | (custom-push-theme 'theme-face face 'user |
| 3744 | (if saved-face 'set 'reset) | 3731 | (if saved-face 'set 'reset) |
| 3745 | saved-face) | 3732 | saved-face) |
| 3746 | (face-spec-set face saved-face t) | 3733 | (face-spec-set face saved-face 'saved-face) |
| 3747 | (put face 'face-comment comment) | 3734 | (put face 'face-comment comment) |
| 3735 | (put face 'customized-face-comment nil) | ||
| 3748 | (widget-value-set child saved-face) | 3736 | (widget-value-set child saved-face) |
| 3749 | ;; This call manages the comment visibility | 3737 | ;; This call manages the comment visibility |
| 3750 | (widget-value-set comment-widget (or comment "")) | 3738 | (widget-value-set comment-widget (or comment "")) |
| @@ -3764,11 +3752,10 @@ redraw the widget immediately." | |||
| 3764 | (comment-widget (widget-get widget :comment-widget))) | 3752 | (comment-widget (widget-get widget :comment-widget))) |
| 3765 | (unless value | 3753 | (unless value |
| 3766 | (user-error "No standard setting for this face")) | 3754 | (user-error "No standard setting for this face")) |
| 3767 | (put symbol 'customized-face nil) | ||
| 3768 | (put symbol 'customized-face-comment nil) | ||
| 3769 | (custom-push-theme 'theme-face symbol 'user 'reset) | 3755 | (custom-push-theme 'theme-face symbol 'user 'reset) |
| 3770 | (face-spec-set symbol value t) | 3756 | (face-spec-set symbol value 'reset) |
| 3771 | (custom-theme-recalc-face symbol) | 3757 | (put symbol 'face-comment nil) |
| 3758 | (put symbol 'customized-face-comment nil) | ||
| 3772 | (if (and custom-reset-standard-faces-list | 3759 | (if (and custom-reset-standard-faces-list |
| 3773 | (or (get symbol 'saved-face) (get symbol 'saved-face-comment))) | 3760 | (or (get symbol 'saved-face) (get symbol 'saved-face-comment))) |
| 3774 | ;; Do this later. | 3761 | ;; Do this later. |
| @@ -3784,7 +3771,6 @@ redraw the widget immediately." | |||
| 3784 | (put symbol 'saved-face nil) | 3771 | (put symbol 'saved-face nil) |
| 3785 | (put symbol 'saved-face-comment nil) | 3772 | (put symbol 'saved-face-comment nil) |
| 3786 | (custom-save-all)) | 3773 | (custom-save-all)) |
| 3787 | (put symbol 'face-comment nil) | ||
| 3788 | (widget-value-set child | 3774 | (widget-value-set child |
| 3789 | (custom-pre-filter-face-spec | 3775 | (custom-pre-filter-face-spec |
| 3790 | (list (list t (custom-face-attributes-get | 3776 | (list (list t (custom-face-attributes-get |
diff --git a/lisp/cus-face.el b/lisp/cus-face.el index 06fd10149d3..bf18c917cff 100644 --- a/lisp/cus-face.el +++ b/lisp/cus-face.el | |||
| @@ -32,35 +32,14 @@ | |||
| 32 | ;;; Declaring a face. | 32 | ;;; Declaring a face. |
| 33 | 33 | ||
| 34 | (defun custom-declare-face (face spec doc &rest args) | 34 | (defun custom-declare-face (face spec doc &rest args) |
| 35 | "Like `defface', but FACE is evaluated as a normal argument." | 35 | "Like `defface', but with FACE evaluated as a normal argument." |
| 36 | (unless (get face 'face-defface-spec) | 36 | (unless (get face 'face-defface-spec) |
| 37 | (let ((facep (facep face))) | 37 | (face-spec-set face (purecopy spec) 'face-defface-spec) |
| 38 | (unless facep | 38 | (push (cons 'defface face) current-load-list) |
| 39 | ;; If the user has already created the face, respect that. | 39 | (when doc |
| 40 | (let ((value (or (get face 'saved-face) spec)) | 40 | (set-face-documentation face (purecopy doc))) |
| 41 | (have-window-system (memq initial-window-system '(x w32)))) | 41 | (custom-handle-all-keywords face args 'custom-face) |
| 42 | ;; Create global face. | 42 | (run-hooks 'custom-define-hook)) |
| 43 | (make-empty-face face) | ||
| 44 | ;; Create frame-local faces | ||
| 45 | (dolist (frame (frame-list)) | ||
| 46 | (face-spec-set-2 face frame value) | ||
| 47 | (when (memq (window-system frame) '(x w32 ns)) | ||
| 48 | (setq have-window-system t))) | ||
| 49 | ;; When making a face after frames already exist | ||
| 50 | (if have-window-system | ||
| 51 | (make-face-x-resource-internal face)))) | ||
| 52 | ;; Don't record SPEC until we see it causes no errors. | ||
| 53 | (put face 'face-defface-spec (purecopy spec)) | ||
| 54 | (push (cons 'defface face) current-load-list) | ||
| 55 | (when (and doc (null (face-documentation face))) | ||
| 56 | (set-face-documentation face (purecopy doc))) | ||
| 57 | (custom-handle-all-keywords face args 'custom-face) | ||
| 58 | (run-hooks 'custom-define-hook) | ||
| 59 | ;; If the face had existing settings, recalculate it. For | ||
| 60 | ;; example, the user might load a theme with a face setting, and | ||
| 61 | ;; later load a library defining that face. | ||
| 62 | (if facep | ||
| 63 | (custom-theme-recalc-face face)))) | ||
| 64 | face) | 43 | face) |
| 65 | 44 | ||
| 66 | ;;; Face attributes. | 45 | ;;; Face attributes. |
| @@ -343,10 +322,7 @@ Several properties of THEME and FACE are used in the process: | |||
| 343 | 322 | ||
| 344 | If THEME property `theme-immediate' is non-nil, this is equivalent of | 323 | If THEME property `theme-immediate' is non-nil, this is equivalent of |
| 345 | providing the NOW argument to all faces in the argument list: FACE is | 324 | providing the NOW argument to all faces in the argument list: FACE is |
| 346 | created now. The only difference is FACE property `force-face': if NOW | 325 | created now. |
| 347 | is non-nil, FACE property `force-face' is set to the symbol `rogue', else | ||
| 348 | if THEME property `theme-immediate' is non-nil, FACE property `force-face' | ||
| 349 | is set to the symbol `immediate'. | ||
| 350 | 326 | ||
| 351 | SPEC itself is saved in FACE property `saved-face' and it is stored in | 327 | SPEC itself is saved in FACE property `saved-face' and it is stored in |
| 352 | FACE's list property `theme-face' \(using `custom-push-theme')." | 328 | FACE's list property `theme-face' \(using `custom-push-theme')." |
| @@ -371,15 +347,11 @@ FACE's list property `theme-face' \(using `custom-push-theme')." | |||
| 371 | (when (not (and oldspec (eq 'user (caar oldspec)))) | 347 | (when (not (and oldspec (eq 'user (caar oldspec)))) |
| 372 | (put face 'saved-face spec) | 348 | (put face 'saved-face spec) |
| 373 | (put face 'saved-face-comment comment)) | 349 | (put face 'saved-face-comment comment)) |
| 374 | ;; Do this AFTER checking the `theme-face' property. | ||
| 375 | (custom-push-theme 'theme-face face theme 'set spec) | 350 | (custom-push-theme 'theme-face face theme 'set spec) |
| 376 | (when (or now immediate) | 351 | (when (or now immediate) |
| 377 | (put face 'force-face (if now 'rogue 'immediate))) | 352 | (put face 'force-face (if now 'rogue 'immediate))) |
| 378 | (when (or now immediate (facep face)) | 353 | (when (or now immediate (facep face)) |
| 379 | (unless (facep face) | ||
| 380 | (make-empty-face face)) | ||
| 381 | (put face 'face-comment comment) | 354 | (put face 'face-comment comment) |
| 382 | (put face 'face-override-spec nil) | ||
| 383 | (face-spec-set face spec t)))))))) | 355 | (face-spec-set face spec t)))))))) |
| 384 | 356 | ||
| 385 | ;; XEmacs compatibility function. In XEmacs, when you reset a Custom | 357 | ;; XEmacs compatibility function. In XEmacs, when you reset a Custom |
diff --git a/lisp/custom.el b/lisp/custom.el index dc810e3c97d..8dfcf4bc14c 100644 --- a/lisp/custom.el +++ b/lisp/custom.el | |||
| @@ -948,7 +948,6 @@ prior to evaluating EXP). | |||
| 948 | 948 | ||
| 949 | COMMENT is a comment string about SYMBOL." | 949 | COMMENT is a comment string about SYMBOL." |
| 950 | (custom-check-theme theme) | 950 | (custom-check-theme theme) |
| 951 | |||
| 952 | ;; Process all the needed autoloads before anything else, so that the | 951 | ;; Process all the needed autoloads before anything else, so that the |
| 953 | ;; subsequent code has all the info it needs (e.g. which var corresponds | 952 | ;; subsequent code has all the info it needs (e.g. which var corresponds |
| 954 | ;; to a minor mode), regardless of the ordering of the variables. | 953 | ;; to a minor mode), regardless of the ordering of the variables. |
| @@ -958,29 +957,7 @@ COMMENT is a comment string about SYMBOL." | |||
| 958 | (memq (get symbol 'custom-autoload) '(nil noset))) | 957 | (memq (get symbol 'custom-autoload) '(nil noset))) |
| 959 | ;; This symbol needs to be autoloaded, even just for a `set'. | 958 | ;; This symbol needs to be autoloaded, even just for a `set'. |
| 960 | (custom-load-symbol symbol)))) | 959 | (custom-load-symbol symbol)))) |
| 961 | 960 | (setq args (custom--sort-vars args)) | |
| 962 | ;; Move minor modes and variables with explicit requires to the end. | ||
| 963 | (setq args | ||
| 964 | (sort args | ||
| 965 | (lambda (a1 a2) | ||
| 966 | (let* ((sym1 (car a1)) | ||
| 967 | (sym2 (car a2)) | ||
| 968 | (1-then-2 (memq sym1 (get sym2 'custom-dependencies))) | ||
| 969 | (2-then-1 (memq sym2 (get sym1 'custom-dependencies)))) | ||
| 970 | (cond ((and 1-then-2 2-then-1) | ||
| 971 | (error "Circular custom dependency between `%s' and `%s'" | ||
| 972 | sym1 sym2)) | ||
| 973 | (2-then-1 nil) | ||
| 974 | ;; 1 is a dependency of 2, so needs to be set first. | ||
| 975 | (1-then-2) | ||
| 976 | ;; Put minor modes and symbols with :require last. | ||
| 977 | ;; Putting minor modes last ensures that the mode | ||
| 978 | ;; function will see other customized values rather | ||
| 979 | ;; than default values. | ||
| 980 | (t (or (nth 3 a2) | ||
| 981 | (eq (get sym2 'custom-set) | ||
| 982 | 'custom-set-minor-mode)))))))) | ||
| 983 | |||
| 984 | (dolist (entry args) | 961 | (dolist (entry args) |
| 985 | (unless (listp entry) | 962 | (unless (listp entry) |
| 986 | (error "Incompatible Custom theme spec")) | 963 | (error "Incompatible Custom theme spec")) |
| @@ -1014,6 +991,60 @@ COMMENT is a comment string about SYMBOL." | |||
| 1014 | (and (or now (default-boundp symbol)) | 991 | (and (or now (default-boundp symbol)) |
| 1015 | (put symbol 'variable-comment comment))))))) | 992 | (put symbol 'variable-comment comment))))))) |
| 1016 | 993 | ||
| 994 | (defvar custom--sort-vars-table) | ||
| 995 | (defvar custom--sort-vars-result) | ||
| 996 | |||
| 997 | (defun custom--sort-vars (vars) | ||
| 998 | "Sort VARS based on custom dependencies. | ||
| 999 | VARS is a list whose elements have the same form as the ARGS | ||
| 1000 | arguments to `custom-theme-set-variables'. Return the sorted | ||
| 1001 | list, in which A occurs before B if B was defined with a | ||
| 1002 | `:set-after' keyword specifying A (see `defcustom')." | ||
| 1003 | (let ((custom--sort-vars-table (make-hash-table)) | ||
| 1004 | (dependants (make-hash-table)) | ||
| 1005 | (custom--sort-vars-result nil) | ||
| 1006 | last) | ||
| 1007 | ;; Construct a pair of tables keyed with the symbols of VARS. | ||
| 1008 | (dolist (var vars) | ||
| 1009 | (puthash (car var) (cons t var) custom--sort-vars-table) | ||
| 1010 | (puthash (car var) var dependants)) | ||
| 1011 | ;; From the second table, remove symbols that are depended-on. | ||
| 1012 | (dolist (var vars) | ||
| 1013 | (dolist (dep (get (car var) 'custom-dependencies)) | ||
| 1014 | (remhash dep dependants))) | ||
| 1015 | ;; If a variable is "stand-alone", put it last if it's a minor | ||
| 1016 | ;; mode or has a :require flag. This is not really necessary, but | ||
| 1017 | ;; putting minor modes last helps ensure that the mode function | ||
| 1018 | ;; sees other customized values rather than default values. | ||
| 1019 | (maphash (lambda (sym var) | ||
| 1020 | (when (and (null (get sym 'custom-dependencies)) | ||
| 1021 | (or (nth 3 var) | ||
| 1022 | (eq (get sym 'custom-set) | ||
| 1023 | 'custom-set-minor-mode))) | ||
| 1024 | (remhash sym dependants) | ||
| 1025 | (push var last))) | ||
| 1026 | dependants) | ||
| 1027 | ;; The remaining symbols depend on others but are not | ||
| 1028 | ;; depended-upon. Do a depth-first topological sort. | ||
| 1029 | (maphash #'custom--sort-vars-1 dependants) | ||
| 1030 | (nreverse (append last custom--sort-vars-result)))) | ||
| 1031 | |||
| 1032 | (defun custom--sort-vars-1 (sym &optional _ignored) | ||
| 1033 | (let ((elt (gethash sym custom--sort-vars-table))) | ||
| 1034 | ;; The car of the hash table value is nil if the variable has | ||
| 1035 | ;; already been processed, `dependant' if it is a dependant in the | ||
| 1036 | ;; current graph descent, and t otherwise. | ||
| 1037 | (when elt | ||
| 1038 | (cond | ||
| 1039 | ((eq (car elt) 'dependant) | ||
| 1040 | (error "Circular custom dependency on `%s'" sym)) | ||
| 1041 | ((car elt) | ||
| 1042 | (setcar elt 'dependant) | ||
| 1043 | (dolist (dep (get sym 'custom-dependencies)) | ||
| 1044 | (custom--sort-vars-1 dep)) | ||
| 1045 | (setcar elt nil) | ||
| 1046 | (push (cdr elt) custom--sort-vars-result)))))) | ||
| 1047 | |||
| 1017 | 1048 | ||
| 1018 | ;;; Defining themes. | 1049 | ;;; Defining themes. |
| 1019 | 1050 | ||
diff --git a/lisp/descr-text.el b/lisp/descr-text.el index 0c7f82d516e..d531e15546a 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el | |||
| @@ -354,7 +354,8 @@ This function is semi-obsolete. Use `get-char-code-property'." | |||
| 354 | ;; Return a string of CH with composition for padding on both sides. | 354 | ;; Return a string of CH with composition for padding on both sides. |
| 355 | ;; It is displayed without overlapping with the left/right columns. | 355 | ;; It is displayed without overlapping with the left/right columns. |
| 356 | (defsubst describe-char-padded-string (ch) | 356 | (defsubst describe-char-padded-string (ch) |
| 357 | (if (internal-char-font nil ch) | 357 | (if (and (display-multi-font-p) |
| 358 | (internal-char-font nil ch)) | ||
| 358 | (compose-string (string ch) 0 1 (format "\t%c\t" ch)) | 359 | (compose-string (string ch) 0 1 (format "\t%c\t" ch)) |
| 359 | (string ch))) | 360 | (string ch))) |
| 360 | 361 | ||
| @@ -374,6 +375,8 @@ This function is semi-obsolete. Use `get-char-code-property'." | |||
| 374 | (format "%c:%s" x doc))) | 375 | (format "%c:%s" x doc))) |
| 375 | mnemonics ", "))))) | 376 | mnemonics ", "))))) |
| 376 | 377 | ||
| 378 | (declare-function quail-find-key "quail" (char)) | ||
| 379 | |||
| 377 | ;;;###autoload | 380 | ;;;###autoload |
| 378 | (defun describe-char (pos &optional buffer) | 381 | (defun describe-char (pos &optional buffer) |
| 379 | "Describe position POS (interactively, point) and the char after POS. | 382 | "Describe position POS (interactively, point) and the char after POS. |
diff --git a/lisp/desktop.el b/lisp/desktop.el index c8023bb43ed..5589dd025bc 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el | |||
| @@ -825,7 +825,7 @@ MODE is the major mode. | |||
| 825 | (or (and filename | 825 | (or (and filename |
| 826 | (stringp desktop-files-not-to-save) | 826 | (stringp desktop-files-not-to-save) |
| 827 | (not (string-match desktop-files-not-to-save filename))) | 827 | (not (string-match desktop-files-not-to-save filename))) |
| 828 | (and (eq mode 'dired-mode) | 828 | (and (memq mode '(dired-mode vc-dir-mode)) |
| 829 | (with-current-buffer bufname | 829 | (with-current-buffer bufname |
| 830 | (not (setq dired-skip | 830 | (not (setq dired-skip |
| 831 | (string-match desktop-files-not-to-save | 831 | (string-match desktop-files-not-to-save |
diff --git a/lisp/dired.el b/lisp/dired.el index 5f7ee48a810..1d6c667e1dd 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -3109,7 +3109,7 @@ argument or confirmation)." | |||
| 3109 | (insert dired-marker-char))) | 3109 | (insert dired-marker-char))) |
| 3110 | (forward-line 1)))) | 3110 | (forward-line 1)))) |
| 3111 | 3111 | ||
| 3112 | (defun dired-mark (arg) | 3112 | (defun dired-mark (arg &optional interactive) |
| 3113 | "Mark the file at point in the Dired buffer. | 3113 | "Mark the file at point in the Dired buffer. |
| 3114 | If the region is active, mark all files in the region. | 3114 | If the region is active, mark all files in the region. |
| 3115 | Otherwise, with a prefix arg, mark files on the next ARG lines. | 3115 | Otherwise, with a prefix arg, mark files on the next ARG lines. |
| @@ -3119,10 +3119,10 @@ If on a subdir headerline, mark all its files except `.' and `..'. | |||
| 3119 | Use \\[dired-unmark-all-files] to remove all marks | 3119 | Use \\[dired-unmark-all-files] to remove all marks |
| 3120 | and \\[dired-unmark] on a subdir to remove the marks in | 3120 | and \\[dired-unmark] on a subdir to remove the marks in |
| 3121 | this subdir." | 3121 | this subdir." |
| 3122 | (interactive "P") | 3122 | (interactive (list current-prefix-arg t)) |
| 3123 | (cond | 3123 | (cond |
| 3124 | ;; Mark files in the active region. | 3124 | ;; Mark files in the active region. |
| 3125 | ((and transient-mark-mode mark-active) | 3125 | ((and interactive (use-region-p)) |
| 3126 | (save-excursion | 3126 | (save-excursion |
| 3127 | (let ((beg (region-beginning)) | 3127 | (let ((beg (region-beginning)) |
| 3128 | (end (region-end))) | 3128 | (end (region-end))) |
| @@ -3139,7 +3139,7 @@ this subdir." | |||
| 3139 | (prefix-numeric-value arg) | 3139 | (prefix-numeric-value arg) |
| 3140 | (function (lambda () (delete-char 1) (insert dired-marker-char)))))))) | 3140 | (function (lambda () (delete-char 1) (insert dired-marker-char)))))))) |
| 3141 | 3141 | ||
| 3142 | (defun dired-unmark (arg) | 3142 | (defun dired-unmark (arg &optional interactive) |
| 3143 | "Unmark the file at point in the Dired buffer. | 3143 | "Unmark the file at point in the Dired buffer. |
| 3144 | If the region is active, unmark all files in the region. | 3144 | If the region is active, unmark all files in the region. |
| 3145 | Otherwise, with a prefix arg, unmark files on the next ARG lines. | 3145 | Otherwise, with a prefix arg, unmark files on the next ARG lines. |
| @@ -3147,11 +3147,11 @@ Otherwise, with a prefix arg, unmark files on the next ARG lines. | |||
| 3147 | If looking at a subdir, unmark all its files except `.' and `..'. | 3147 | If looking at a subdir, unmark all its files except `.' and `..'. |
| 3148 | If the region is active in Transient Mark mode, unmark all files | 3148 | If the region is active in Transient Mark mode, unmark all files |
| 3149 | in the active region." | 3149 | in the active region." |
| 3150 | (interactive "P") | 3150 | (interactive (list current-prefix-arg t)) |
| 3151 | (let ((dired-marker-char ?\040)) | 3151 | (let ((dired-marker-char ?\040)) |
| 3152 | (dired-mark arg))) | 3152 | (dired-mark arg interactive))) |
| 3153 | 3153 | ||
| 3154 | (defun dired-flag-file-deletion (arg) | 3154 | (defun dired-flag-file-deletion (arg &optional interactive) |
| 3155 | "In Dired, flag the current line's file for deletion. | 3155 | "In Dired, flag the current line's file for deletion. |
| 3156 | If the region is active, flag all files in the region. | 3156 | If the region is active, flag all files in the region. |
| 3157 | Otherwise, with a prefix arg, flag files on the next ARG lines. | 3157 | Otherwise, with a prefix arg, flag files on the next ARG lines. |
| @@ -3159,9 +3159,9 @@ Otherwise, with a prefix arg, flag files on the next ARG lines. | |||
| 3159 | If on a subdir headerline, flag all its files except `.' and `..'. | 3159 | If on a subdir headerline, flag all its files except `.' and `..'. |
| 3160 | If the region is active in Transient Mark mode, flag all files | 3160 | If the region is active in Transient Mark mode, flag all files |
| 3161 | in the active region." | 3161 | in the active region." |
| 3162 | (interactive "P") | 3162 | (interactive (list current-prefix-arg t)) |
| 3163 | (let ((dired-marker-char dired-del-marker)) | 3163 | (let ((dired-marker-char dired-del-marker)) |
| 3164 | (dired-mark arg))) | 3164 | (dired-mark arg interactive))) |
| 3165 | 3165 | ||
| 3166 | (defun dired-unmark-backward (arg) | 3166 | (defun dired-unmark-backward (arg) |
| 3167 | "In Dired, move up lines and remove marks or deletion flags there. | 3167 | "In Dired, move up lines and remove marks or deletion flags there. |
| @@ -3732,6 +3732,7 @@ Ask means pop up a menu for the user to select one of copy, move or link." | |||
| 3732 | ;;;; Desktop support | 3732 | ;;;; Desktop support |
| 3733 | 3733 | ||
| 3734 | (eval-when-compile (require 'desktop)) | 3734 | (eval-when-compile (require 'desktop)) |
| 3735 | (declare-function desktop-file-name "desktop" (filename dirname)) | ||
| 3735 | 3736 | ||
| 3736 | (defun dired-desktop-buffer-misc-data (dirname) | 3737 | (defun dired-desktop-buffer-misc-data (dirname) |
| 3737 | "Auxiliary information to be saved in desktop file." | 3738 | "Auxiliary information to be saved in desktop file." |
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el index 5e825032741..a66fc23dec1 100644 --- a/lisp/dirtrack.el +++ b/lisp/dirtrack.el | |||
| @@ -220,6 +220,9 @@ the mode if ARG is omitted or nil." | |||
| 220 | (goto-char (point-max)) | 220 | (goto-char (point-max)) |
| 221 | (insert msg1 msg2 "\n")))) | 221 | (insert msg1 msg2 "\n")))) |
| 222 | 222 | ||
| 223 | (declare-function shell-prefixed-directory-name "shell" (dir)) | ||
| 224 | (declare-function shell-process-cd "shell" (arg)) | ||
| 225 | |||
| 223 | ;;;###autoload | 226 | ;;;###autoload |
| 224 | (defun dirtrack (input) | 227 | (defun dirtrack (input) |
| 225 | "Determine the current directory from the process output for a prompt. | 228 | "Determine the current directory from the process output for a prompt. |
diff --git a/lisp/dos-w32.el b/lisp/dos-w32.el index 4839d6b9239..cb043ce8559 100644 --- a/lisp/dos-w32.el +++ b/lisp/dos-w32.el | |||
| @@ -210,7 +210,7 @@ set to the appropriate coding system, and the value of | |||
| 210 | (untranslated-file-p (buffer-file-name)))) | 210 | (untranslated-file-p (buffer-file-name)))) |
| 211 | (setq coding (coding-system-change-eol-conversion coding 0)) | 211 | (setq coding (coding-system-change-eol-conversion coding 0)) |
| 212 | (setq buffer-file-coding-system coding)) | 212 | (setq buffer-file-coding-system coding)) |
| 213 | (setq buffer-file-type (eq buffer-file-coding-system 'no-conversion))))) | 213 | nil))) |
| 214 | 214 | ||
| 215 | ;;; To set the default coding system on new files. | 215 | ;;; To set the default coding system on new files. |
| 216 | (add-hook 'find-file-not-found-functions | 216 | (add-hook 'find-file-not-found-functions |
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el index c2ebb3bbdc6..a947dceccc9 100644 --- a/lisp/emacs-lisp/advice.el +++ b/lisp/emacs-lisp/advice.el | |||
| @@ -2900,19 +2900,18 @@ If COMPILE is non-nil and not a negative number then it returns t. | |||
| 2900 | If COMPILE is a negative number then it returns nil. | 2900 | If COMPILE is a negative number then it returns nil. |
| 2901 | If COMPILE is nil then the result depends on the value of | 2901 | If COMPILE is nil then the result depends on the value of |
| 2902 | `ad-default-compilation-action' (which see)." | 2902 | `ad-default-compilation-action' (which see)." |
| 2903 | (if (integerp compile) | 2903 | (cond |
| 2904 | (>= compile 0) | 2904 | ;; Don't compile until the real function definition is known (bug#12965). |
| 2905 | (if compile | 2905 | ((not (ad-real-orig-definition function)) nil) |
| 2906 | compile | 2906 | ((integerp compile) (>= compile 0)) |
| 2907 | (cond ((eq ad-default-compilation-action 'never) | 2907 | (compile) |
| 2908 | nil) | 2908 | ((eq ad-default-compilation-action 'never) nil) |
| 2909 | ((eq ad-default-compilation-action 'always) | 2909 | ((eq ad-default-compilation-action 'always) t) |
| 2910 | t) | 2910 | ((eq ad-default-compilation-action 'like-original) |
| 2911 | ((eq ad-default-compilation-action 'like-original) | 2911 | (or (ad-subr-p (ad-get-orig-definition function)) |
| 2912 | (or (ad-subr-p (ad-get-orig-definition function)) | 2912 | (ad-compiled-p (ad-get-orig-definition function)))) |
| 2913 | (ad-compiled-p (ad-get-orig-definition function)))) | 2913 | ;; everything else means `maybe': |
| 2914 | ;; everything else means `maybe': | 2914 | (t (featurep 'byte-compile)))) |
| 2915 | (t (featurep 'byte-compile)))))) | ||
| 2916 | 2915 | ||
| 2917 | (defun ad-activate-advised-definition (function compile) | 2916 | (defun ad-activate-advised-definition (function compile) |
| 2918 | "Redefine FUNCTION with its advised definition from cache or scratch. | 2917 | "Redefine FUNCTION with its advised definition from cache or scratch. |
| @@ -2927,7 +2926,7 @@ The current definition and its cache-id will be put into the cache." | |||
| 2927 | (ad-make-advised-definition function))) | 2926 | (ad-make-advised-definition function))) |
| 2928 | (advice-add function :around advicefunname) | 2927 | (advice-add function :around advicefunname) |
| 2929 | (if (ad-should-compile function compile) | 2928 | (if (ad-should-compile function compile) |
| 2930 | (byte-compile advicefunname)) | 2929 | (ad-compile-function function)) |
| 2931 | (if verified-cached-definition | 2930 | (if verified-cached-definition |
| 2932 | (if (not (eq verified-cached-definition | 2931 | (if (not (eq verified-cached-definition |
| 2933 | (symbol-function advicefunname))) | 2932 | (symbol-function advicefunname))) |
| @@ -3003,20 +3002,20 @@ definition will always be cached for later usage." | |||
| 3003 | (interactive | 3002 | (interactive |
| 3004 | (list (ad-read-advised-function "Activate advice of") | 3003 | (list (ad-read-advised-function "Activate advice of") |
| 3005 | current-prefix-arg)) | 3004 | current-prefix-arg)) |
| 3006 | (if (not (ad-is-advised function)) | 3005 | (cond |
| 3007 | (error "ad-activate: `%s' is not advised" function) | 3006 | ((not (ad-is-advised function)) |
| 3008 | ;; Just return for forward advised and not yet defined functions: | 3007 | (error "ad-activate: `%s' is not advised" function)) |
| 3009 | (if (ad-get-orig-definition function) | 3008 | ;; Just return for forward advised and not yet defined functions: |
| 3010 | (if (not (ad-has-any-advice function)) | 3009 | ((not (ad-get-orig-definition function)) nil) |
| 3011 | (ad-unadvise function) | 3010 | ((not (ad-has-any-advice function)) (ad-unadvise function)) |
| 3012 | ;; Otherwise activate the advice: | 3011 | ;; Otherwise activate the advice: |
| 3013 | (cond ((ad-has-redefining-advice function) | 3012 | ((ad-has-redefining-advice function) |
| 3014 | (ad-activate-advised-definition function compile) | 3013 | (ad-activate-advised-definition function compile) |
| 3015 | (ad-set-advice-info-field function 'active t) | 3014 | (ad-set-advice-info-field function 'active t) |
| 3016 | (eval (ad-make-hook-form function 'activation)) | 3015 | (eval (ad-make-hook-form function 'activation)) |
| 3017 | function) | 3016 | function) |
| 3018 | ;; Here we are if we have all disabled advices: | 3017 | ;; Here we are if we have all disabled advices: |
| 3019 | (t (ad-deactivate function))))))) | 3018 | (t (ad-deactivate function)))) |
| 3020 | 3019 | ||
| 3021 | (defalias 'ad-activate-on 'ad-activate) | 3020 | (defalias 'ad-activate-on 'ad-activate) |
| 3022 | 3021 | ||
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index 462b4a25154..b4582a41d6c 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el | |||
| @@ -81,8 +81,14 @@ The return value of this function is not used." | |||
| 81 | #'(lambda (f _args new-name when) | 81 | #'(lambda (f _args new-name when) |
| 82 | `(make-obsolete ',f ',new-name ,when))) | 82 | `(make-obsolete ',f ',new-name ,when))) |
| 83 | (list 'compiler-macro | 83 | (list 'compiler-macro |
| 84 | #'(lambda (f _args compiler-function) | 84 | #'(lambda (f args compiler-function) |
| 85 | `(put ',f 'compiler-macro #',compiler-function))) | 85 | ;; FIXME: Make it possible to just reuse `args'. |
| 86 | `(eval-and-compile | ||
| 87 | (put ',f 'compiler-macro | ||
| 88 | ,(if (eq (car-safe compiler-function) 'lambda) | ||
| 89 | `(lambda ,(append (cadr compiler-function) args) | ||
| 90 | ,@(cddr compiler-function)) | ||
| 91 | `#',compiler-function))))) | ||
| 86 | (list 'doc-string | 92 | (list 'doc-string |
| 87 | #'(lambda (f _args pos) | 93 | #'(lambda (f _args pos) |
| 88 | (list 'put (list 'quote f) ''doc-string-elt (list 'quote pos)))) | 94 | (list 'put (list 'quote f) ''doc-string-elt (list 'quote pos)))) |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index a325e0f3e44..5867cfb7064 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -1748,6 +1748,9 @@ The value is non-nil if there were no errors, nil if errors." | |||
| 1748 | ;; There may be a file local variable setting (bug#10419). | 1748 | ;; There may be a file local variable setting (bug#10419). |
| 1749 | (setq buffer-read-only nil | 1749 | (setq buffer-read-only nil |
| 1750 | filename buffer-file-name)) | 1750 | filename buffer-file-name)) |
| 1751 | ;; Don't inherit lexical-binding from caller (bug#12938). | ||
| 1752 | (unless (local-variable-p 'lexical-binding) | ||
| 1753 | (setq-local lexical-binding nil)) | ||
| 1751 | ;; Set the default directory, in case an eval-when-compile uses it. | 1754 | ;; Set the default directory, in case an eval-when-compile uses it. |
| 1752 | (setq default-directory (file-name-directory filename))) | 1755 | (setq default-directory (file-name-directory filename))) |
| 1753 | ;; Check if the file's local variables explicitly specify not to | 1756 | ;; Check if the file's local variables explicitly specify not to |
| @@ -2509,8 +2512,8 @@ If FORM is a lambda or a macro, byte-compile it as a function." | |||
| 2509 | (when (symbolp form) | 2512 | (when (symbolp form) |
| 2510 | (unless (memq (car-safe fun) '(closure lambda)) | 2513 | (unless (memq (car-safe fun) '(closure lambda)) |
| 2511 | (error "Don't know how to compile %S" fun)) | 2514 | (error "Don't know how to compile %S" fun)) |
| 2512 | (setq fun (byte-compile--reify-function fun)) | 2515 | (setq lexical-binding (eq (car fun) 'closure)) |
| 2513 | (setq lexical-binding (eq (car fun) 'closure))) | 2516 | (setq fun (byte-compile--reify-function fun))) |
| 2514 | (unless (eq (car-safe fun) 'lambda) | 2517 | (unless (eq (car-safe fun) 'lambda) |
| 2515 | (error "Don't know how to compile %S" fun)) | 2518 | (error "Don't know how to compile %S" fun)) |
| 2516 | ;; Expand macros. | 2519 | ;; Expand macros. |
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 7c25972835b..b12b332d2e6 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el | |||
| @@ -51,7 +51,8 @@ TYPE is a Common Lisp type specifier. | |||
| 51 | ((eq type 'string) (if (stringp x) x (concat x))) | 51 | ((eq type 'string) (if (stringp x) x (concat x))) |
| 52 | ((eq type 'array) (if (arrayp x) x (vconcat x))) | 52 | ((eq type 'array) (if (arrayp x) x (vconcat x))) |
| 53 | ((and (eq type 'character) (stringp x) (= (length x) 1)) (aref x 0)) | 53 | ((and (eq type 'character) (stringp x) (= (length x) 1)) (aref x 0)) |
| 54 | ((and (eq type 'character) (symbolp x)) (cl-coerce (symbol-name x) type)) | 54 | ((and (eq type 'character) (symbolp x)) |
| 55 | (cl-coerce (symbol-name x) type)) | ||
| 55 | ((eq type 'float) (float x)) | 56 | ((eq type 'float) (float x)) |
| 56 | ((cl-typep x type) x) | 57 | ((cl-typep x type) x) |
| 57 | (t (error "Can't coerce %s to type %s" x type)))) | 58 | (t (error "Can't coerce %s to type %s" x type)))) |
| @@ -69,7 +70,7 @@ strings case-insensitively." | |||
| 69 | ((stringp x) | 70 | ((stringp x) |
| 70 | (and (stringp y) (= (length x) (length y)) | 71 | (and (stringp y) (= (length x) (length y)) |
| 71 | (or (string-equal x y) | 72 | (or (string-equal x y) |
| 72 | (string-equal (downcase x) (downcase y))))) ; lazy but simple! | 73 | (string-equal (downcase x) (downcase y))))) ;Lazy but simple! |
| 73 | ((numberp x) | 74 | ((numberp x) |
| 74 | (and (numberp y) (= x y))) | 75 | (and (numberp y) (= x y))) |
| 75 | ((consp x) | 76 | ((consp x) |
| @@ -439,14 +440,14 @@ Optional second arg STATE is a random-state object." | |||
| 439 | If STATE is t, return a new state object seeded from the time of day." | 440 | If STATE is t, return a new state object seeded from the time of day." |
| 440 | (cond ((null state) (cl-make-random-state cl--random-state)) | 441 | (cond ((null state) (cl-make-random-state cl--random-state)) |
| 441 | ((vectorp state) (copy-tree state t)) | 442 | ((vectorp state) (copy-tree state t)) |
| 442 | ((integerp state) (vector 'cl-random-state-tag -1 30 state)) | 443 | ((integerp state) (vector 'cl--random-state-tag -1 30 state)) |
| 443 | (t (cl-make-random-state (cl--random-time))))) | 444 | (t (cl-make-random-state (cl--random-time))))) |
| 444 | 445 | ||
| 445 | ;;;###autoload | 446 | ;;;###autoload |
| 446 | (defun cl-random-state-p (object) | 447 | (defun cl-random-state-p (object) |
| 447 | "Return t if OBJECT is a random-state object." | 448 | "Return t if OBJECT is a random-state object." |
| 448 | (and (vectorp object) (= (length object) 4) | 449 | (and (vectorp object) (= (length object) 4) |
| 449 | (eq (aref object 0) 'cl-random-state-tag))) | 450 | (eq (aref object 0) 'cl--random-state-tag))) |
| 450 | 451 | ||
| 451 | 452 | ||
| 452 | ;; Implementation limits. | 453 | ;; Implementation limits. |
diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el index bfc63134985..9175dd7d608 100644 --- a/lisp/emacs-lisp/cl-lib.el +++ b/lisp/emacs-lisp/cl-lib.el | |||
| @@ -93,8 +93,8 @@ | |||
| 93 | 93 | ||
| 94 | (require 'macroexp) | 94 | (require 'macroexp) |
| 95 | 95 | ||
| 96 | (defvar cl-optimize-speed 1) | 96 | (defvar cl--optimize-speed 1) |
| 97 | (defvar cl-optimize-safety 1) | 97 | (defvar cl--optimize-safety 1) |
| 98 | 98 | ||
| 99 | ;;;###autoload | 99 | ;;;###autoload |
| 100 | (define-obsolete-variable-alias | 100 | (define-obsolete-variable-alias |
| @@ -113,12 +113,6 @@ printer proceeds to the next function on the list. | |||
| 113 | This variable is not used at present, but it is defined in hopes that | 113 | This variable is not used at present, but it is defined in hopes that |
| 114 | a future Emacs interpreter will be able to use it.") | 114 | a future Emacs interpreter will be able to use it.") |
| 115 | 115 | ||
| 116 | (defun cl-unload-function () | ||
| 117 | "Stop unloading of the Common Lisp extensions." | ||
| 118 | (message "Cannot unload the feature `cl'") | ||
| 119 | ;; Stop standard unloading! | ||
| 120 | t) | ||
| 121 | |||
| 122 | ;;; Generalized variables. | 116 | ;;; Generalized variables. |
| 123 | ;; These macros are defined here so that they | 117 | ;; These macros are defined here so that they |
| 124 | ;; can safely be used in init files. | 118 | ;; can safely be used in init files. |
| @@ -248,23 +242,21 @@ one value. | |||
| 248 | (equal (buffer-name (symbol-value 'byte-compile--outbuffer)) | 242 | (equal (buffer-name (symbol-value 'byte-compile--outbuffer)) |
| 249 | " *Compiler Output*")))) | 243 | " *Compiler Output*")))) |
| 250 | 244 | ||
| 251 | (defvar cl-proclaims-deferred nil) | 245 | (defvar cl--proclaims-deferred nil) |
| 252 | 246 | ||
| 253 | (defun cl-proclaim (spec) | 247 | (defun cl-proclaim (spec) |
| 254 | "Record a global declaration specified by SPEC." | 248 | "Record a global declaration specified by SPEC." |
| 255 | (if (fboundp 'cl-do-proclaim) (cl-do-proclaim spec t) | 249 | (if (fboundp 'cl--do-proclaim) (cl--do-proclaim spec t) |
| 256 | (push spec cl-proclaims-deferred)) | 250 | (push spec cl--proclaims-deferred)) |
| 257 | nil) | 251 | nil) |
| 258 | 252 | ||
| 259 | (defmacro cl-declaim (&rest specs) | 253 | (defmacro cl-declaim (&rest specs) |
| 260 | "Like `cl-proclaim', but takes any number of unevaluated, unquoted arguments. | 254 | "Like `cl-proclaim', but takes any number of unevaluated, unquoted arguments. |
| 261 | Puts `(cl-eval-when (compile load eval) ...)' around the declarations | 255 | Puts `(cl-eval-when (compile load eval) ...)' around the declarations |
| 262 | so that they are registered at compile-time as well as run-time." | 256 | so that they are registered at compile-time as well as run-time." |
| 263 | (let ((body (mapcar (function (lambda (x) | 257 | (let ((body (mapcar (lambda (x) `(cl-proclaim ',x)) specs))) |
| 264 | (list 'cl-proclaim (list 'quote x)))) | 258 | (if (cl--compiling-file) `(cl-eval-when (compile load eval) ,@body) |
| 265 | specs))) | 259 | `(progn ,@body)))) ; Avoid loading cl-macs.el for cl-eval-when. |
| 266 | (if (cl--compiling-file) (cl-list* 'cl-eval-when '(compile load eval) body) | ||
| 267 | (cons 'progn body)))) ; avoid loading cl-macs.el for cl-eval-when | ||
| 268 | 260 | ||
| 269 | 261 | ||
| 270 | ;;; Symbols. | 262 | ;;; Symbols. |
| @@ -301,7 +293,8 @@ always returns nil." | |||
| 301 | "Return t if INTEGER is even." | 293 | "Return t if INTEGER is even." |
| 302 | (eq (logand integer 1) 0)) | 294 | (eq (logand integer 1) 0)) |
| 303 | 295 | ||
| 304 | (defvar cl--random-state (vector 'cl-random-state-tag -1 30 (cl--random-time))) | 296 | (defvar cl--random-state |
| 297 | (vector 'cl--random-state-tag -1 30 (cl--random-time))) | ||
| 305 | 298 | ||
| 306 | (defconst cl-most-positive-float nil | 299 | (defconst cl-most-positive-float nil |
| 307 | "The largest value that a Lisp float can hold. | 300 | "The largest value that a Lisp float can hold. |
| @@ -661,7 +654,7 @@ If ALIST is non-nil, the new pairs are prepended to it." | |||
| 661 | (gv-define-setter face-foreground (x f &optional s) | 654 | (gv-define-setter face-foreground (x f &optional s) |
| 662 | `(set-face-foreground ,f ,x ,s)) | 655 | `(set-face-foreground ,f ,x ,s)) |
| 663 | (gv-define-setter face-underline-p (x f &optional s) | 656 | (gv-define-setter face-underline-p (x f &optional s) |
| 664 | `(set-face-underline-p ,f ,x ,s)) | 657 | `(set-face-underline ,f ,x ,s)) |
| 665 | (gv-define-simple-setter file-modes set-file-modes t) | 658 | (gv-define-simple-setter file-modes set-file-modes t) |
| 666 | (gv-define-simple-setter frame-height set-screen-height t) | 659 | (gv-define-simple-setter frame-height set-screen-height t) |
| 667 | (gv-define-simple-setter frame-parameters modify-frame-parameters t) | 660 | (gv-define-simple-setter frame-parameters modify-frame-parameters t) |
| @@ -747,8 +740,6 @@ If ALIST is non-nil, the new pairs are prepended to it." | |||
| 747 | 740 | ||
| 748 | (provide 'cl-lib) | 741 | (provide 'cl-lib) |
| 749 | 742 | ||
| 750 | (run-hooks 'cl-load-hook) | ||
| 751 | |||
| 752 | ;; Local variables: | 743 | ;; Local variables: |
| 753 | ;; byte-compile-dynamic: t | 744 | ;; byte-compile-dynamic: t |
| 754 | ;; End: | 745 | ;; End: |
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el index 69882e36f22..f699ee7fb8e 100644 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | ;;;;;; cl--map-overlays cl--map-intervals cl--map-keymap-recursively | 11 | ;;;;;; cl--map-overlays cl--map-intervals cl--map-keymap-recursively |
| 12 | ;;;;;; cl-notevery cl-notany cl-every cl-some cl-mapcon cl-mapcan | 12 | ;;;;;; cl-notevery cl-notany cl-every cl-some cl-mapcon cl-mapcan |
| 13 | ;;;;;; cl-mapl cl-mapc cl-maplist cl-map cl--mapcar-many cl-equalp | 13 | ;;;;;; cl-mapl cl-mapc cl-maplist cl-map cl--mapcar-many cl-equalp |
| 14 | ;;;;;; cl-coerce) "cl-extra" "cl-extra.el" "8e9fee941c465ac0fee9b92a92d64154") | 14 | ;;;;;; cl-coerce) "cl-extra" "cl-extra.el" "3ee58411735a01dd1e1d3964fdcfae70") |
| 15 | ;;; Generated autoloads from cl-extra.el | 15 | ;;; Generated autoloads from cl-extra.el |
| 16 | 16 | ||
| 17 | (autoload 'cl-coerce "cl-extra" "\ | 17 | (autoload 'cl-coerce "cl-extra" "\ |
| @@ -224,7 +224,7 @@ Return the value of SYMBOL's PROPNAME property, or DEFAULT if none. | |||
| 224 | 224 | ||
| 225 | \(fn SYMBOL PROPNAME &optional DEFAULT)" nil nil) | 225 | \(fn SYMBOL PROPNAME &optional DEFAULT)" nil nil) |
| 226 | 226 | ||
| 227 | (put 'cl-get 'compiler-macro #'cl--compiler-macro-get) | 227 | (eval-and-compile (put 'cl-get 'compiler-macro #'cl--compiler-macro-get)) |
| 228 | 228 | ||
| 229 | (autoload 'cl-getf "cl-extra" "\ | 229 | (autoload 'cl-getf "cl-extra" "\ |
| 230 | Search PROPLIST for property PROPNAME; return its value or DEFAULT. | 230 | Search PROPLIST for property PROPNAME; return its value or DEFAULT. |
| @@ -262,12 +262,12 @@ including `cl-block' and `cl-eval-when'. | |||
| 262 | ;;;;;; cl-rotatef cl-shiftf cl-remf cl-psetf cl-declare cl-the cl-locally | 262 | ;;;;;; cl-rotatef cl-shiftf cl-remf cl-psetf cl-declare cl-the cl-locally |
| 263 | ;;;;;; cl-multiple-value-setq cl-multiple-value-bind cl-symbol-macrolet | 263 | ;;;;;; cl-multiple-value-setq cl-multiple-value-bind cl-symbol-macrolet |
| 264 | ;;;;;; cl-macrolet cl-labels cl-flet* cl-flet cl-progv cl-psetq | 264 | ;;;;;; cl-macrolet cl-labels cl-flet* cl-flet cl-progv cl-psetq |
| 265 | ;;;;;; cl-do-all-symbols cl-do-symbols cl-dotimes cl-dolist cl-do* | 265 | ;;;;;; cl-do-all-symbols cl-do-symbols cl-tagbody cl-dotimes cl-dolist |
| 266 | ;;;;;; cl-do cl-loop cl-return-from cl-return cl-block cl-etypecase | 266 | ;;;;;; cl-do* cl-do cl-loop cl-return-from cl-return cl-block cl-etypecase |
| 267 | ;;;;;; cl-typecase cl-ecase cl-case cl-load-time-value cl-eval-when | 267 | ;;;;;; cl-typecase cl-ecase cl-case cl-load-time-value cl-eval-when |
| 268 | ;;;;;; cl-destructuring-bind cl-function cl-defmacro cl-defun cl-gentemp | 268 | ;;;;;; cl-destructuring-bind cl-function cl-defmacro cl-defun cl-gentemp |
| 269 | ;;;;;; cl-gensym cl--compiler-macro-cXXr cl--compiler-macro-list*) | 269 | ;;;;;; cl-gensym cl--compiler-macro-cXXr cl--compiler-macro-list*) |
| 270 | ;;;;;; "cl-macs" "cl-macs.el" "a7d9b56ea588b869813de8ed7ec1fbcd") | 270 | ;;;;;; "cl-macs" "cl-macs.el" "d3af72b1cff3398fa1480065fc2887a2") |
| 271 | ;;; Generated autoloads from cl-macs.el | 271 | ;;; Generated autoloads from cl-macs.el |
| 272 | 272 | ||
| 273 | (autoload 'cl--compiler-macro-list* "cl-macs" "\ | 273 | (autoload 'cl--compiler-macro-list* "cl-macs" "\ |
| @@ -465,6 +465,19 @@ nil. | |||
| 465 | 465 | ||
| 466 | (put 'cl-dotimes 'lisp-indent-function '1) | 466 | (put 'cl-dotimes 'lisp-indent-function '1) |
| 467 | 467 | ||
| 468 | (autoload 'cl-tagbody "cl-macs" "\ | ||
| 469 | Execute statements while providing for control transfers to labels. | ||
| 470 | Each element of LABELS-OR-STMTS can be either a label (integer or symbol) | ||
| 471 | or a `cons' cell, in which case it's taken to be a statement. | ||
| 472 | This distinction is made before performing macroexpansion. | ||
| 473 | Statements are executed in sequence left to right, discarding any return value, | ||
| 474 | stopping only when reaching the end of LABELS-OR-STMTS. | ||
| 475 | Any statement can transfer control at any time to the statements that follow | ||
| 476 | one of the labels with the special form (go LABEL). | ||
| 477 | Labels have lexical scope and dynamic extent. | ||
| 478 | |||
| 479 | \(fn &rest LABELS-OR-STMTS)" nil t) | ||
| 480 | |||
| 468 | (autoload 'cl-do-symbols "cl-macs" "\ | 481 | (autoload 'cl-do-symbols "cl-macs" "\ |
| 469 | Loop over all symbols. | 482 | Loop over all symbols. |
| 470 | Evaluate BODY with VAR bound to each interned symbol, or to each symbol | 483 | Evaluate BODY with VAR bound to each interned symbol, or to each symbol |
| @@ -759,7 +772,7 @@ surrounded by (cl-block NAME ...). | |||
| 759 | ;;;;;; cl-nsubstitute-if cl-nsubstitute cl-substitute-if-not cl-substitute-if | 772 | ;;;;;; cl-nsubstitute-if cl-nsubstitute cl-substitute-if-not cl-substitute-if |
| 760 | ;;;;;; cl-substitute cl-delete-duplicates cl-remove-duplicates cl-delete-if-not | 773 | ;;;;;; cl-substitute cl-delete-duplicates cl-remove-duplicates cl-delete-if-not |
| 761 | ;;;;;; cl-delete-if cl-delete cl-remove-if-not cl-remove-if cl-remove | 774 | ;;;;;; cl-delete-if cl-delete cl-remove-if-not cl-remove-if cl-remove |
| 762 | ;;;;;; cl-replace cl-fill cl-reduce) "cl-seq" "cl-seq.el" "4c1e1191e82dc8d5449a5ec4d59efc10") | 775 | ;;;;;; cl-replace cl-fill cl-reduce) "cl-seq" "cl-seq.el" "4b8ddc5bea2fcc626526ce3644071568") |
| 763 | ;;; Generated autoloads from cl-seq.el | 776 | ;;; Generated autoloads from cl-seq.el |
| 764 | 777 | ||
| 765 | (autoload 'cl-reduce "cl-seq" "\ | 778 | (autoload 'cl-reduce "cl-seq" "\ |
| @@ -1020,7 +1033,7 @@ Keywords supported: :test :test-not :key | |||
| 1020 | 1033 | ||
| 1021 | \(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) | 1034 | \(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) |
| 1022 | 1035 | ||
| 1023 | (put 'cl-member 'compiler-macro #'cl--compiler-macro-member) | 1036 | (eval-and-compile (put 'cl-member 'compiler-macro #'cl--compiler-macro-member)) |
| 1024 | 1037 | ||
| 1025 | (autoload 'cl-member-if "cl-seq" "\ | 1038 | (autoload 'cl-member-if "cl-seq" "\ |
| 1026 | Find the first item satisfying PREDICATE in LIST. | 1039 | Find the first item satisfying PREDICATE in LIST. |
| @@ -1050,7 +1063,7 @@ Keywords supported: :test :test-not :key | |||
| 1050 | 1063 | ||
| 1051 | \(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) | 1064 | \(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) |
| 1052 | 1065 | ||
| 1053 | (put 'cl-assoc 'compiler-macro #'cl--compiler-macro-assoc) | 1066 | (eval-and-compile (put 'cl-assoc 'compiler-macro #'cl--compiler-macro-assoc)) |
| 1054 | 1067 | ||
| 1055 | (autoload 'cl-assoc-if "cl-seq" "\ | 1068 | (autoload 'cl-assoc-if "cl-seq" "\ |
| 1056 | Find the first item whose car satisfies PREDICATE in LIST. | 1069 | Find the first item whose car satisfies PREDICATE in LIST. |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 918e992512c..39df7befcd2 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -48,13 +48,13 @@ | |||
| 48 | ;; `gv' is required here because cl-macs can be loaded before loaddefs.el. | 48 | ;; `gv' is required here because cl-macs can be loaded before loaddefs.el. |
| 49 | (require 'gv) | 49 | (require 'gv) |
| 50 | 50 | ||
| 51 | (defmacro cl-pop2 (place) | 51 | (defmacro cl--pop2 (place) |
| 52 | (declare (debug edebug-sexps)) | 52 | (declare (debug edebug-sexps)) |
| 53 | `(prog1 (car (cdr ,place)) | 53 | `(prog1 (car (cdr ,place)) |
| 54 | (setq ,place (cdr (cdr ,place))))) | 54 | (setq ,place (cdr (cdr ,place))))) |
| 55 | 55 | ||
| 56 | (defvar cl-optimize-safety) | 56 | (defvar cl--optimize-safety) |
| 57 | (defvar cl-optimize-speed) | 57 | (defvar cl--optimize-speed) |
| 58 | 58 | ||
| 59 | ;;; Initialization. | 59 | ;;; Initialization. |
| 60 | 60 | ||
| @@ -216,12 +216,17 @@ The name is made by appending a number to PREFIX, default \"G\"." | |||
| 216 | (defvar cl--bind-inits) (defvar cl--bind-lets) (defvar cl--bind-forms) | 216 | (defvar cl--bind-inits) (defvar cl--bind-lets) (defvar cl--bind-forms) |
| 217 | 217 | ||
| 218 | (defun cl--transform-lambda (form bind-block) | 218 | (defun cl--transform-lambda (form bind-block) |
| 219 | "Transform a function form FORM of name BIND-BLOCK. | ||
| 220 | BIND-BLOCK is the name of the symbol to which the function will be bound, | ||
| 221 | and which will be used for the name of the `cl-block' surrounding the | ||
| 222 | function's body. | ||
| 223 | FORM is of the form (ARGS . BODY)." | ||
| 219 | (let* ((args (car form)) (body (cdr form)) (orig-args args) | 224 | (let* ((args (car form)) (body (cdr form)) (orig-args args) |
| 220 | (cl--bind-block bind-block) (cl--bind-defs nil) (cl--bind-enquote nil) | 225 | (cl--bind-block bind-block) (cl--bind-defs nil) (cl--bind-enquote nil) |
| 221 | (cl--bind-inits nil) (cl--bind-lets nil) (cl--bind-forms nil) | 226 | (cl--bind-inits nil) (cl--bind-lets nil) (cl--bind-forms nil) |
| 222 | (header nil) (simple-args nil)) | 227 | (header nil) (simple-args nil)) |
| 223 | (while (or (stringp (car body)) | 228 | (while (or (stringp (car body)) |
| 224 | (memq (car-safe (car body)) '(interactive cl-declare))) | 229 | (memq (car-safe (car body)) '(interactive declare cl-declare))) |
| 225 | (push (pop body) header)) | 230 | (push (pop body) header)) |
| 226 | (setq args (if (listp args) (cl-copy-list args) (list '&rest args))) | 231 | (setq args (if (listp args) (cl-copy-list args) (list '&rest args))) |
| 227 | (let ((p (last args))) (if (cdr p) (setcdr p (list '&rest (cdr p))))) | 232 | (let ((p (last args))) (if (cdr p) (setcdr p (list '&rest (cdr p))))) |
| @@ -426,7 +431,7 @@ its argument list allows full Common Lisp conventions." | |||
| 426 | (if (memq '&environment args) (error "&environment used incorrectly")) | 431 | (if (memq '&environment args) (error "&environment used incorrectly")) |
| 427 | (let ((save-args args) | 432 | (let ((save-args args) |
| 428 | (restarg (memq '&rest args)) | 433 | (restarg (memq '&rest args)) |
| 429 | (safety (if (cl--compiling-file) cl-optimize-safety 3)) | 434 | (safety (if (cl--compiling-file) cl--optimize-safety 3)) |
| 430 | (keys nil) | 435 | (keys nil) |
| 431 | (laterarg nil) (exactarg nil) minarg) | 436 | (laterarg nil) (exactarg nil) minarg) |
| 432 | (or num (setq num 0)) | 437 | (or num (setq num 0)) |
| @@ -435,7 +440,7 @@ its argument list allows full Common Lisp conventions." | |||
| 435 | (setq restarg (cadr restarg))) | 440 | (setq restarg (cadr restarg))) |
| 436 | (push (list restarg expr) cl--bind-lets) | 441 | (push (list restarg expr) cl--bind-lets) |
| 437 | (if (eq (car args) '&whole) | 442 | (if (eq (car args) '&whole) |
| 438 | (push (list (cl-pop2 args) restarg) cl--bind-lets)) | 443 | (push (list (cl--pop2 args) restarg) cl--bind-lets)) |
| 439 | (let ((p args)) | 444 | (let ((p args)) |
| 440 | (setq minarg restarg) | 445 | (setq minarg restarg) |
| 441 | (while (and p (not (memq (car p) cl--lambda-list-keywords))) | 446 | (while (and p (not (memq (car p) cl--lambda-list-keywords))) |
| @@ -471,7 +476,7 @@ its argument list allows full Common Lisp conventions." | |||
| 471 | (if def `(if ,restarg ,poparg ,def) poparg)) | 476 | (if def `(if ,restarg ,poparg ,def) poparg)) |
| 472 | (setq num (1+ num)))))) | 477 | (setq num (1+ num)))))) |
| 473 | (if (eq (car args) '&rest) | 478 | (if (eq (car args) '&rest) |
| 474 | (let ((arg (cl-pop2 args))) | 479 | (let ((arg (cl--pop2 args))) |
| 475 | (if (consp arg) (cl--do-arglist arg restarg))) | 480 | (if (consp arg) (cl--do-arglist arg restarg))) |
| 476 | (or (eq (car args) '&key) (= safety 0) exactarg | 481 | (or (eq (car args) '&key) (= safety 0) exactarg |
| 477 | (push `(if ,restarg | 482 | (push `(if ,restarg |
| @@ -569,7 +574,7 @@ its argument list allows full Common Lisp conventions." | |||
| 569 | 574 | ||
| 570 | ;;; The `cl-eval-when' form. | 575 | ;;; The `cl-eval-when' form. |
| 571 | 576 | ||
| 572 | (defvar cl-not-toplevel nil) | 577 | (defvar cl--not-toplevel nil) |
| 573 | 578 | ||
| 574 | ;;;###autoload | 579 | ;;;###autoload |
| 575 | (defmacro cl-eval-when (when &rest body) | 580 | (defmacro cl-eval-when (when &rest body) |
| @@ -581,9 +586,9 @@ If `eval' is in WHEN, BODY is evaluated when interpreted or at non-top-level. | |||
| 581 | \(fn (WHEN...) BODY...)" | 586 | \(fn (WHEN...) BODY...)" |
| 582 | (declare (indent 1) (debug ((&rest &or "compile" "load" "eval") body))) | 587 | (declare (indent 1) (debug ((&rest &or "compile" "load" "eval") body))) |
| 583 | (if (and (fboundp 'cl--compiling-file) (cl--compiling-file) | 588 | (if (and (fboundp 'cl--compiling-file) (cl--compiling-file) |
| 584 | (not cl-not-toplevel) (not (boundp 'for-effect))) ; horrible kludge | 589 | (not cl--not-toplevel) (not (boundp 'for-effect))) ;Horrible kludge. |
| 585 | (let ((comp (or (memq 'compile when) (memq :compile-toplevel when))) | 590 | (let ((comp (or (memq 'compile when) (memq :compile-toplevel when))) |
| 586 | (cl-not-toplevel t)) | 591 | (cl--not-toplevel t)) |
| 587 | (if (or (memq 'load when) (memq :load-toplevel when)) | 592 | (if (or (memq 'load when) (memq :load-toplevel when)) |
| 588 | (if comp (cons 'progn (mapcar 'cl--compile-time-too body)) | 593 | (if comp (cons 'progn (mapcar 'cl--compile-time-too body)) |
| 589 | `(if nil nil ,@body)) | 594 | `(if nil nil ,@body)) |
| @@ -754,7 +759,8 @@ This is compatible with Common Lisp, but note that `defun' and | |||
| 754 | (defvar cl--loop-first-flag) | 759 | (defvar cl--loop-first-flag) |
| 755 | (defvar cl--loop-initially) (defvar cl--loop-map-form) (defvar cl--loop-name) | 760 | (defvar cl--loop-initially) (defvar cl--loop-map-form) (defvar cl--loop-name) |
| 756 | (defvar cl--loop-result) (defvar cl--loop-result-explicit) | 761 | (defvar cl--loop-result) (defvar cl--loop-result-explicit) |
| 757 | (defvar cl--loop-result-var) (defvar cl--loop-steps) (defvar cl--loop-symbol-macs) | 762 | (defvar cl--loop-result-var) (defvar cl--loop-steps) |
| 763 | (defvar cl--loop-symbol-macs) | ||
| 758 | 764 | ||
| 759 | ;;;###autoload | 765 | ;;;###autoload |
| 760 | (defmacro cl-loop (&rest loop-args) | 766 | (defmacro cl-loop (&rest loop-args) |
| @@ -787,7 +793,8 @@ Valid clauses are: | |||
| 787 | "return"] form] | 793 | "return"] form] |
| 788 | ;; Simple default, which covers 99% of the cases. | 794 | ;; Simple default, which covers 99% of the cases. |
| 789 | symbolp form))) | 795 | symbolp form))) |
| 790 | (if (not (memq t (mapcar 'symbolp (delq nil (delq t (cl-copy-list loop-args)))))) | 796 | (if (not (memq t (mapcar #'symbolp |
| 797 | (delq nil (delq t (cl-copy-list loop-args)))))) | ||
| 791 | `(cl-block nil (while t ,@loop-args)) | 798 | `(cl-block nil (while t ,@loop-args)) |
| 792 | (let ((cl--loop-args loop-args) (cl--loop-name nil) (cl--loop-bindings nil) | 799 | (let ((cl--loop-args loop-args) (cl--loop-name nil) (cl--loop-bindings nil) |
| 793 | (cl--loop-body nil) (cl--loop-steps nil) | 800 | (cl--loop-body nil) (cl--loop-steps nil) |
| @@ -798,14 +805,16 @@ Valid clauses are: | |||
| 798 | (cl--loop-map-form nil) (cl--loop-first-flag nil) | 805 | (cl--loop-map-form nil) (cl--loop-first-flag nil) |
| 799 | (cl--loop-destr-temps nil) (cl--loop-symbol-macs nil)) | 806 | (cl--loop-destr-temps nil) (cl--loop-symbol-macs nil)) |
| 800 | (setq cl--loop-args (append cl--loop-args '(cl-end-loop))) | 807 | (setq cl--loop-args (append cl--loop-args '(cl-end-loop))) |
| 801 | (while (not (eq (car cl--loop-args) 'cl-end-loop)) (cl-parse-loop-clause)) | 808 | (while (not (eq (car cl--loop-args) 'cl-end-loop)) |
| 809 | (cl--parse-loop-clause)) | ||
| 802 | (if cl--loop-finish-flag | 810 | (if cl--loop-finish-flag |
| 803 | (push `((,cl--loop-finish-flag t)) cl--loop-bindings)) | 811 | (push `((,cl--loop-finish-flag t)) cl--loop-bindings)) |
| 804 | (if cl--loop-first-flag | 812 | (if cl--loop-first-flag |
| 805 | (progn (push `((,cl--loop-first-flag t)) cl--loop-bindings) | 813 | (progn (push `((,cl--loop-first-flag t)) cl--loop-bindings) |
| 806 | (push `(setq ,cl--loop-first-flag nil) cl--loop-steps))) | 814 | (push `(setq ,cl--loop-first-flag nil) cl--loop-steps))) |
| 807 | (let* ((epilogue (nconc (nreverse cl--loop-finally) | 815 | (let* ((epilogue (nconc (nreverse cl--loop-finally) |
| 808 | (list (or cl--loop-result-explicit cl--loop-result)))) | 816 | (list (or cl--loop-result-explicit |
| 817 | cl--loop-result)))) | ||
| 809 | (ands (cl--loop-build-ands (nreverse cl--loop-body))) | 818 | (ands (cl--loop-build-ands (nreverse cl--loop-body))) |
| 810 | (while-body (nconc (cadr ands) (nreverse cl--loop-steps))) | 819 | (while-body (nconc (cadr ands) (nreverse cl--loop-steps))) |
| 811 | (body (append | 820 | (body (append |
| @@ -825,7 +834,8 @@ Valid clauses are: | |||
| 825 | `((if ,cl--loop-finish-flag | 834 | `((if ,cl--loop-finish-flag |
| 826 | (progn ,@epilogue) ,cl--loop-result-var))) | 835 | (progn ,@epilogue) ,cl--loop-result-var))) |
| 827 | epilogue)))) | 836 | epilogue)))) |
| 828 | (if cl--loop-result-var (push (list cl--loop-result-var) cl--loop-bindings)) | 837 | (if cl--loop-result-var |
| 838 | (push (list cl--loop-result-var) cl--loop-bindings)) | ||
| 829 | (while cl--loop-bindings | 839 | (while cl--loop-bindings |
| 830 | (if (cdar cl--loop-bindings) | 840 | (if (cdar cl--loop-bindings) |
| 831 | (setq body (list (cl--loop-let (pop cl--loop-bindings) body t))) | 841 | (setq body (list (cl--loop-let (pop cl--loop-bindings) body t))) |
| @@ -835,7 +845,8 @@ Valid clauses are: | |||
| 835 | (push (car (pop cl--loop-bindings)) lets)) | 845 | (push (car (pop cl--loop-bindings)) lets)) |
| 836 | (setq body (list (cl--loop-let lets body nil)))))) | 846 | (setq body (list (cl--loop-let lets body nil)))))) |
| 837 | (if cl--loop-symbol-macs | 847 | (if cl--loop-symbol-macs |
| 838 | (setq body (list `(cl-symbol-macrolet ,cl--loop-symbol-macs ,@body)))) | 848 | (setq body |
| 849 | (list `(cl-symbol-macrolet ,cl--loop-symbol-macs ,@body)))) | ||
| 839 | `(cl-block ,cl--loop-name ,@body))))) | 850 | `(cl-block ,cl--loop-name ,@body))))) |
| 840 | 851 | ||
| 841 | ;; Below is a complete spec for cl-loop, in several parts that correspond | 852 | ;; Below is a complete spec for cl-loop, in several parts that correspond |
| @@ -990,7 +1001,7 @@ Valid clauses are: | |||
| 990 | 1001 | ||
| 991 | 1002 | ||
| 992 | 1003 | ||
| 993 | (defun cl-parse-loop-clause () ; uses loop-* | 1004 | (defun cl--parse-loop-clause () ; uses loop-* |
| 994 | (let ((word (pop cl--loop-args)) | 1005 | (let ((word (pop cl--loop-args)) |
| 995 | (hash-types '(hash-key hash-keys hash-value hash-values)) | 1006 | (hash-types '(hash-key hash-keys hash-value hash-values)) |
| 996 | (key-types '(key-code key-codes key-seq key-seqs | 1007 | (key-types '(key-code key-codes key-seq key-seqs |
| @@ -1005,17 +1016,21 @@ Valid clauses are: | |||
| 1005 | 1016 | ||
| 1006 | ((eq word 'initially) | 1017 | ((eq word 'initially) |
| 1007 | (if (memq (car cl--loop-args) '(do doing)) (pop cl--loop-args)) | 1018 | (if (memq (car cl--loop-args) '(do doing)) (pop cl--loop-args)) |
| 1008 | (or (consp (car cl--loop-args)) (error "Syntax error on `initially' clause")) | 1019 | (or (consp (car cl--loop-args)) |
| 1020 | (error "Syntax error on `initially' clause")) | ||
| 1009 | (while (consp (car cl--loop-args)) | 1021 | (while (consp (car cl--loop-args)) |
| 1010 | (push (pop cl--loop-args) cl--loop-initially))) | 1022 | (push (pop cl--loop-args) cl--loop-initially))) |
| 1011 | 1023 | ||
| 1012 | ((eq word 'finally) | 1024 | ((eq word 'finally) |
| 1013 | (if (eq (car cl--loop-args) 'return) | 1025 | (if (eq (car cl--loop-args) 'return) |
| 1014 | (setq cl--loop-result-explicit (or (cl-pop2 cl--loop-args) '(quote nil))) | 1026 | (setq cl--loop-result-explicit |
| 1027 | (or (cl--pop2 cl--loop-args) '(quote nil))) | ||
| 1015 | (if (memq (car cl--loop-args) '(do doing)) (pop cl--loop-args)) | 1028 | (if (memq (car cl--loop-args) '(do doing)) (pop cl--loop-args)) |
| 1016 | (or (consp (car cl--loop-args)) (error "Syntax error on `finally' clause")) | 1029 | (or (consp (car cl--loop-args)) |
| 1030 | (error "Syntax error on `finally' clause")) | ||
| 1017 | (if (and (eq (caar cl--loop-args) 'return) (null cl--loop-name)) | 1031 | (if (and (eq (caar cl--loop-args) 'return) (null cl--loop-name)) |
| 1018 | (setq cl--loop-result-explicit (or (nth 1 (pop cl--loop-args)) '(quote nil))) | 1032 | (setq cl--loop-result-explicit |
| 1033 | (or (nth 1 (pop cl--loop-args)) '(quote nil))) | ||
| 1019 | (while (consp (car cl--loop-args)) | 1034 | (while (consp (car cl--loop-args)) |
| 1020 | (push (pop cl--loop-args) cl--loop-finally))))) | 1035 | (push (pop cl--loop-args) cl--loop-finally))))) |
| 1021 | 1036 | ||
| @@ -1031,7 +1046,8 @@ Valid clauses are: | |||
| 1031 | (if (eq word 'being) (setq word (pop cl--loop-args))) | 1046 | (if (eq word 'being) (setq word (pop cl--loop-args))) |
| 1032 | (if (memq word '(the each)) (setq word (pop cl--loop-args))) | 1047 | (if (memq word '(the each)) (setq word (pop cl--loop-args))) |
| 1033 | (if (memq word '(buffer buffers)) | 1048 | (if (memq word '(buffer buffers)) |
| 1034 | (setq word 'in cl--loop-args (cons '(buffer-list) cl--loop-args))) | 1049 | (setq word 'in |
| 1050 | cl--loop-args (cons '(buffer-list) cl--loop-args))) | ||
| 1035 | (cond | 1051 | (cond |
| 1036 | 1052 | ||
| 1037 | ((memq word '(from downfrom upfrom to downto upto | 1053 | ((memq word '(from downfrom upfrom to downto upto |
| @@ -1040,15 +1056,19 @@ Valid clauses are: | |||
| 1040 | (if (memq (car cl--loop-args) '(downto above)) | 1056 | (if (memq (car cl--loop-args) '(downto above)) |
| 1041 | (error "Must specify `from' value for downward cl-loop")) | 1057 | (error "Must specify `from' value for downward cl-loop")) |
| 1042 | (let* ((down (or (eq (car cl--loop-args) 'downfrom) | 1058 | (let* ((down (or (eq (car cl--loop-args) 'downfrom) |
| 1043 | (memq (cl-caddr cl--loop-args) '(downto above)))) | 1059 | (memq (cl-caddr cl--loop-args) |
| 1060 | '(downto above)))) | ||
| 1044 | (excl (or (memq (car cl--loop-args) '(above below)) | 1061 | (excl (or (memq (car cl--loop-args) '(above below)) |
| 1045 | (memq (cl-caddr cl--loop-args) '(above below)))) | 1062 | (memq (cl-caddr cl--loop-args) |
| 1046 | (start (and (memq (car cl--loop-args) '(from upfrom downfrom)) | 1063 | '(above below)))) |
| 1047 | (cl-pop2 cl--loop-args))) | 1064 | (start (and (memq (car cl--loop-args) |
| 1065 | '(from upfrom downfrom)) | ||
| 1066 | (cl--pop2 cl--loop-args))) | ||
| 1048 | (end (and (memq (car cl--loop-args) | 1067 | (end (and (memq (car cl--loop-args) |
| 1049 | '(to upto downto above below)) | 1068 | '(to upto downto above below)) |
| 1050 | (cl-pop2 cl--loop-args))) | 1069 | (cl--pop2 cl--loop-args))) |
| 1051 | (step (and (eq (car cl--loop-args) 'by) (cl-pop2 cl--loop-args))) | 1070 | (step (and (eq (car cl--loop-args) 'by) |
| 1071 | (cl--pop2 cl--loop-args))) | ||
| 1052 | (end-var (and (not (macroexp-const-p end)) | 1072 | (end-var (and (not (macroexp-const-p end)) |
| 1053 | (make-symbol "--cl-var--"))) | 1073 | (make-symbol "--cl-var--"))) |
| 1054 | (step-var (and (not (macroexp-const-p step)) | 1074 | (step-var (and (not (macroexp-const-p step)) |
| @@ -1082,7 +1102,7 @@ Valid clauses are: | |||
| 1082 | loop-for-sets)))) | 1102 | loop-for-sets)))) |
| 1083 | (push (list temp | 1103 | (push (list temp |
| 1084 | (if (eq (car cl--loop-args) 'by) | 1104 | (if (eq (car cl--loop-args) 'by) |
| 1085 | (let ((step (cl-pop2 cl--loop-args))) | 1105 | (let ((step (cl--pop2 cl--loop-args))) |
| 1086 | (if (and (memq (car-safe step) | 1106 | (if (and (memq (car-safe step) |
| 1087 | '(quote function | 1107 | '(quote function |
| 1088 | cl-function)) | 1108 | cl-function)) |
| @@ -1094,7 +1114,8 @@ Valid clauses are: | |||
| 1094 | 1114 | ||
| 1095 | ((eq word '=) | 1115 | ((eq word '=) |
| 1096 | (let* ((start (pop cl--loop-args)) | 1116 | (let* ((start (pop cl--loop-args)) |
| 1097 | (then (if (eq (car cl--loop-args) 'then) (cl-pop2 cl--loop-args) start))) | 1117 | (then (if (eq (car cl--loop-args) 'then) |
| 1118 | (cl--pop2 cl--loop-args) start))) | ||
| 1098 | (push (list var nil) loop-for-bindings) | 1119 | (push (list var nil) loop-for-bindings) |
| 1099 | (if (or ands (eq (car cl--loop-args) 'and)) | 1120 | (if (or ands (eq (car cl--loop-args) 'and)) |
| 1100 | (progn | 1121 | (progn |
| @@ -1131,14 +1152,15 @@ Valid clauses are: | |||
| 1131 | (let ((ref (or (memq (car cl--loop-args) '(in-ref of-ref)) | 1152 | (let ((ref (or (memq (car cl--loop-args) '(in-ref of-ref)) |
| 1132 | (and (not (memq (car cl--loop-args) '(in of))) | 1153 | (and (not (memq (car cl--loop-args) '(in of))) |
| 1133 | (error "Expected `of'")))) | 1154 | (error "Expected `of'")))) |
| 1134 | (seq (cl-pop2 cl--loop-args)) | 1155 | (seq (cl--pop2 cl--loop-args)) |
| 1135 | (temp-seq (make-symbol "--cl-seq--")) | 1156 | (temp-seq (make-symbol "--cl-seq--")) |
| 1136 | (temp-idx (if (eq (car cl--loop-args) 'using) | 1157 | (temp-idx |
| 1137 | (if (and (= (length (cadr cl--loop-args)) 2) | 1158 | (if (eq (car cl--loop-args) 'using) |
| 1138 | (eq (cl-caadr cl--loop-args) 'index)) | 1159 | (if (and (= (length (cadr cl--loop-args)) 2) |
| 1139 | (cadr (cl-pop2 cl--loop-args)) | 1160 | (eq (cl-caadr cl--loop-args) 'index)) |
| 1140 | (error "Bad `using' clause")) | 1161 | (cadr (cl--pop2 cl--loop-args)) |
| 1141 | (make-symbol "--cl-idx--")))) | 1162 | (error "Bad `using' clause")) |
| 1163 | (make-symbol "--cl-idx--")))) | ||
| 1142 | (push (list temp-seq seq) loop-for-bindings) | 1164 | (push (list temp-seq seq) loop-for-bindings) |
| 1143 | (push (list temp-idx 0) loop-for-bindings) | 1165 | (push (list temp-idx 0) loop-for-bindings) |
| 1144 | (if ref | 1166 | (if ref |
| @@ -1161,15 +1183,17 @@ Valid clauses are: | |||
| 1161 | loop-for-steps))) | 1183 | loop-for-steps))) |
| 1162 | 1184 | ||
| 1163 | ((memq word hash-types) | 1185 | ((memq word hash-types) |
| 1164 | (or (memq (car cl--loop-args) '(in of)) (error "Expected `of'")) | 1186 | (or (memq (car cl--loop-args) '(in of)) |
| 1165 | (let* ((table (cl-pop2 cl--loop-args)) | 1187 | (error "Expected `of'")) |
| 1166 | (other (if (eq (car cl--loop-args) 'using) | 1188 | (let* ((table (cl--pop2 cl--loop-args)) |
| 1167 | (if (and (= (length (cadr cl--loop-args)) 2) | 1189 | (other |
| 1168 | (memq (cl-caadr cl--loop-args) hash-types) | 1190 | (if (eq (car cl--loop-args) 'using) |
| 1169 | (not (eq (cl-caadr cl--loop-args) word))) | 1191 | (if (and (= (length (cadr cl--loop-args)) 2) |
| 1170 | (cadr (cl-pop2 cl--loop-args)) | 1192 | (memq (cl-caadr cl--loop-args) hash-types) |
| 1171 | (error "Bad `using' clause")) | 1193 | (not (eq (cl-caadr cl--loop-args) word))) |
| 1172 | (make-symbol "--cl-var--")))) | 1194 | (cadr (cl--pop2 cl--loop-args)) |
| 1195 | (error "Bad `using' clause")) | ||
| 1196 | (make-symbol "--cl-var--")))) | ||
| 1173 | (if (memq word '(hash-value hash-values)) | 1197 | (if (memq word '(hash-value hash-values)) |
| 1174 | (setq var (prog1 other (setq other var)))) | 1198 | (setq var (prog1 other (setq other var)))) |
| 1175 | (setq cl--loop-map-form | 1199 | (setq cl--loop-map-form |
| @@ -1177,16 +1201,19 @@ Valid clauses are: | |||
| 1177 | 1201 | ||
| 1178 | ((memq word '(symbol present-symbol external-symbol | 1202 | ((memq word '(symbol present-symbol external-symbol |
| 1179 | symbols present-symbols external-symbols)) | 1203 | symbols present-symbols external-symbols)) |
| 1180 | (let ((ob (and (memq (car cl--loop-args) '(in of)) (cl-pop2 cl--loop-args)))) | 1204 | (let ((ob (and (memq (car cl--loop-args) '(in of)) |
| 1205 | (cl--pop2 cl--loop-args)))) | ||
| 1181 | (setq cl--loop-map-form | 1206 | (setq cl--loop-map-form |
| 1182 | `(mapatoms (lambda (,var) . --cl-map) ,ob)))) | 1207 | `(mapatoms (lambda (,var) . --cl-map) ,ob)))) |
| 1183 | 1208 | ||
| 1184 | ((memq word '(overlay overlays extent extents)) | 1209 | ((memq word '(overlay overlays extent extents)) |
| 1185 | (let ((buf nil) (from nil) (to nil)) | 1210 | (let ((buf nil) (from nil) (to nil)) |
| 1186 | (while (memq (car cl--loop-args) '(in of from to)) | 1211 | (while (memq (car cl--loop-args) '(in of from to)) |
| 1187 | (cond ((eq (car cl--loop-args) 'from) (setq from (cl-pop2 cl--loop-args))) | 1212 | (cond ((eq (car cl--loop-args) 'from) |
| 1188 | ((eq (car cl--loop-args) 'to) (setq to (cl-pop2 cl--loop-args))) | 1213 | (setq from (cl--pop2 cl--loop-args))) |
| 1189 | (t (setq buf (cl-pop2 cl--loop-args))))) | 1214 | ((eq (car cl--loop-args) 'to) |
| 1215 | (setq to (cl--pop2 cl--loop-args))) | ||
| 1216 | (t (setq buf (cl--pop2 cl--loop-args))))) | ||
| 1190 | (setq cl--loop-map-form | 1217 | (setq cl--loop-map-form |
| 1191 | `(cl--map-overlays | 1218 | `(cl--map-overlays |
| 1192 | (lambda (,var ,(make-symbol "--cl-var--")) | 1219 | (lambda (,var ,(make-symbol "--cl-var--")) |
| @@ -1198,11 +1225,13 @@ Valid clauses are: | |||
| 1198 | (var1 (make-symbol "--cl-var1--")) | 1225 | (var1 (make-symbol "--cl-var1--")) |
| 1199 | (var2 (make-symbol "--cl-var2--"))) | 1226 | (var2 (make-symbol "--cl-var2--"))) |
| 1200 | (while (memq (car cl--loop-args) '(in of property from to)) | 1227 | (while (memq (car cl--loop-args) '(in of property from to)) |
| 1201 | (cond ((eq (car cl--loop-args) 'from) (setq from (cl-pop2 cl--loop-args))) | 1228 | (cond ((eq (car cl--loop-args) 'from) |
| 1202 | ((eq (car cl--loop-args) 'to) (setq to (cl-pop2 cl--loop-args))) | 1229 | (setq from (cl--pop2 cl--loop-args))) |
| 1230 | ((eq (car cl--loop-args) 'to) | ||
| 1231 | (setq to (cl--pop2 cl--loop-args))) | ||
| 1203 | ((eq (car cl--loop-args) 'property) | 1232 | ((eq (car cl--loop-args) 'property) |
| 1204 | (setq prop (cl-pop2 cl--loop-args))) | 1233 | (setq prop (cl--pop2 cl--loop-args))) |
| 1205 | (t (setq buf (cl-pop2 cl--loop-args))))) | 1234 | (t (setq buf (cl--pop2 cl--loop-args))))) |
| 1206 | (if (and (consp var) (symbolp (car var)) (symbolp (cdr var))) | 1235 | (if (and (consp var) (symbolp (car var)) (symbolp (cdr var))) |
| 1207 | (setq var1 (car var) var2 (cdr var)) | 1236 | (setq var1 (car var) var2 (cdr var)) |
| 1208 | (push (list var `(cons ,var1 ,var2)) loop-for-sets)) | 1237 | (push (list var `(cons ,var1 ,var2)) loop-for-sets)) |
| @@ -1212,15 +1241,17 @@ Valid clauses are: | |||
| 1212 | ,buf ,prop ,from ,to)))) | 1241 | ,buf ,prop ,from ,to)))) |
| 1213 | 1242 | ||
| 1214 | ((memq word key-types) | 1243 | ((memq word key-types) |
| 1215 | (or (memq (car cl--loop-args) '(in of)) (error "Expected `of'")) | 1244 | (or (memq (car cl--loop-args) '(in of)) |
| 1216 | (let ((cl-map (cl-pop2 cl--loop-args)) | 1245 | (error "Expected `of'")) |
| 1217 | (other (if (eq (car cl--loop-args) 'using) | 1246 | (let ((cl-map (cl--pop2 cl--loop-args)) |
| 1218 | (if (and (= (length (cadr cl--loop-args)) 2) | 1247 | (other |
| 1219 | (memq (cl-caadr cl--loop-args) key-types) | 1248 | (if (eq (car cl--loop-args) 'using) |
| 1220 | (not (eq (cl-caadr cl--loop-args) word))) | 1249 | (if (and (= (length (cadr cl--loop-args)) 2) |
| 1221 | (cadr (cl-pop2 cl--loop-args)) | 1250 | (memq (cl-caadr cl--loop-args) key-types) |
| 1222 | (error "Bad `using' clause")) | 1251 | (not (eq (cl-caadr cl--loop-args) word))) |
| 1223 | (make-symbol "--cl-var--")))) | 1252 | (cadr (cl--pop2 cl--loop-args)) |
| 1253 | (error "Bad `using' clause")) | ||
| 1254 | (make-symbol "--cl-var--")))) | ||
| 1224 | (if (memq word '(key-binding key-bindings)) | 1255 | (if (memq word '(key-binding key-bindings)) |
| 1225 | (setq var (prog1 other (setq other var)))) | 1256 | (setq var (prog1 other (setq other var)))) |
| 1226 | (setq cl--loop-map-form | 1257 | (setq cl--loop-map-form |
| @@ -1240,7 +1271,8 @@ Valid clauses are: | |||
| 1240 | loop-for-steps))) | 1271 | loop-for-steps))) |
| 1241 | 1272 | ||
| 1242 | ((memq word '(window windows)) | 1273 | ((memq word '(window windows)) |
| 1243 | (let ((scr (and (memq (car cl--loop-args) '(in of)) (cl-pop2 cl--loop-args))) | 1274 | (let ((scr (and (memq (car cl--loop-args) '(in of)) |
| 1275 | (cl--pop2 cl--loop-args))) | ||
| 1244 | (temp (make-symbol "--cl-var--")) | 1276 | (temp (make-symbol "--cl-var--")) |
| 1245 | (minip (make-symbol "--cl-minip--"))) | 1277 | (minip (make-symbol "--cl-minip--"))) |
| 1246 | (push (list var (if scr | 1278 | (push (list var (if scr |
| @@ -1335,7 +1367,8 @@ Valid clauses are: | |||
| 1335 | 1367 | ||
| 1336 | ((memq word '(minimize minimizing maximize maximizing)) | 1368 | ((memq word '(minimize minimizing maximize maximizing)) |
| 1337 | (let* ((what (pop cl--loop-args)) | 1369 | (let* ((what (pop cl--loop-args)) |
| 1338 | (temp (if (cl--simple-expr-p what) what (make-symbol "--cl-var--"))) | 1370 | (temp (if (cl--simple-expr-p what) what |
| 1371 | (make-symbol "--cl-var--"))) | ||
| 1339 | (var (cl--loop-handle-accum nil)) | 1372 | (var (cl--loop-handle-accum nil)) |
| 1340 | (func (intern (substring (symbol-name word) 0 3))) | 1373 | (func (intern (substring (symbol-name word) 0 3))) |
| 1341 | (set `(setq ,var (if ,var (,func ,var ,temp) ,temp)))) | 1374 | (set `(setq ,var (if ,var (,func ,var ,temp) ,temp)))) |
| @@ -1346,7 +1379,8 @@ Valid clauses are: | |||
| 1346 | ((eq word 'with) | 1379 | ((eq word 'with) |
| 1347 | (let ((bindings nil)) | 1380 | (let ((bindings nil)) |
| 1348 | (while (progn (push (list (pop cl--loop-args) | 1381 | (while (progn (push (list (pop cl--loop-args) |
| 1349 | (and (eq (car cl--loop-args) '=) (cl-pop2 cl--loop-args))) | 1382 | (and (eq (car cl--loop-args) '=) |
| 1383 | (cl--pop2 cl--loop-args))) | ||
| 1350 | bindings) | 1384 | bindings) |
| 1351 | (eq (car cl--loop-args) 'and)) | 1385 | (eq (car cl--loop-args) 'and)) |
| 1352 | (pop cl--loop-args)) | 1386 | (pop cl--loop-args)) |
| @@ -1359,19 +1393,23 @@ Valid clauses are: | |||
| 1359 | (push `(not ,(pop cl--loop-args)) cl--loop-body)) | 1393 | (push `(not ,(pop cl--loop-args)) cl--loop-body)) |
| 1360 | 1394 | ||
| 1361 | ((eq word 'always) | 1395 | ((eq word 'always) |
| 1362 | (or cl--loop-finish-flag (setq cl--loop-finish-flag (make-symbol "--cl-flag--"))) | 1396 | (or cl--loop-finish-flag |
| 1397 | (setq cl--loop-finish-flag (make-symbol "--cl-flag--"))) | ||
| 1363 | (push `(setq ,cl--loop-finish-flag ,(pop cl--loop-args)) cl--loop-body) | 1398 | (push `(setq ,cl--loop-finish-flag ,(pop cl--loop-args)) cl--loop-body) |
| 1364 | (setq cl--loop-result t)) | 1399 | (setq cl--loop-result t)) |
| 1365 | 1400 | ||
| 1366 | ((eq word 'never) | 1401 | ((eq word 'never) |
| 1367 | (or cl--loop-finish-flag (setq cl--loop-finish-flag (make-symbol "--cl-flag--"))) | 1402 | (or cl--loop-finish-flag |
| 1403 | (setq cl--loop-finish-flag (make-symbol "--cl-flag--"))) | ||
| 1368 | (push `(setq ,cl--loop-finish-flag (not ,(pop cl--loop-args))) | 1404 | (push `(setq ,cl--loop-finish-flag (not ,(pop cl--loop-args))) |
| 1369 | cl--loop-body) | 1405 | cl--loop-body) |
| 1370 | (setq cl--loop-result t)) | 1406 | (setq cl--loop-result t)) |
| 1371 | 1407 | ||
| 1372 | ((eq word 'thereis) | 1408 | ((eq word 'thereis) |
| 1373 | (or cl--loop-finish-flag (setq cl--loop-finish-flag (make-symbol "--cl-flag--"))) | 1409 | (or cl--loop-finish-flag |
| 1374 | (or cl--loop-result-var (setq cl--loop-result-var (make-symbol "--cl-var--"))) | 1410 | (setq cl--loop-finish-flag (make-symbol "--cl-flag--"))) |
| 1411 | (or cl--loop-result-var | ||
| 1412 | (setq cl--loop-result-var (make-symbol "--cl-var--"))) | ||
| 1375 | (push `(setq ,cl--loop-finish-flag | 1413 | (push `(setq ,cl--loop-finish-flag |
| 1376 | (not (setq ,cl--loop-result-var ,(pop cl--loop-args)))) | 1414 | (not (setq ,cl--loop-result-var ,(pop cl--loop-args)))) |
| 1377 | cl--loop-body)) | 1415 | cl--loop-body)) |
| @@ -1379,11 +1417,11 @@ Valid clauses are: | |||
| 1379 | ((memq word '(if when unless)) | 1417 | ((memq word '(if when unless)) |
| 1380 | (let* ((cond (pop cl--loop-args)) | 1418 | (let* ((cond (pop cl--loop-args)) |
| 1381 | (then (let ((cl--loop-body nil)) | 1419 | (then (let ((cl--loop-body nil)) |
| 1382 | (cl-parse-loop-clause) | 1420 | (cl--parse-loop-clause) |
| 1383 | (cl--loop-build-ands (nreverse cl--loop-body)))) | 1421 | (cl--loop-build-ands (nreverse cl--loop-body)))) |
| 1384 | (else (let ((cl--loop-body nil)) | 1422 | (else (let ((cl--loop-body nil)) |
| 1385 | (if (eq (car cl--loop-args) 'else) | 1423 | (if (eq (car cl--loop-args) 'else) |
| 1386 | (progn (pop cl--loop-args) (cl-parse-loop-clause))) | 1424 | (progn (pop cl--loop-args) (cl--parse-loop-clause))) |
| 1387 | (cl--loop-build-ands (nreverse cl--loop-body)))) | 1425 | (cl--loop-build-ands (nreverse cl--loop-body)))) |
| 1388 | (simple (and (eq (car then) t) (eq (car else) t)))) | 1426 | (simple (and (eq (car then) t) (eq (car else) t)))) |
| 1389 | (if (eq (car cl--loop-args) 'end) (pop cl--loop-args)) | 1427 | (if (eq (car cl--loop-args) 'end) (pop cl--loop-args)) |
| @@ -1405,8 +1443,10 @@ Valid clauses are: | |||
| 1405 | (push (cons 'progn (nreverse (cons t body))) cl--loop-body))) | 1443 | (push (cons 'progn (nreverse (cons t body))) cl--loop-body))) |
| 1406 | 1444 | ||
| 1407 | ((eq word 'return) | 1445 | ((eq word 'return) |
| 1408 | (or cl--loop-finish-flag (setq cl--loop-finish-flag (make-symbol "--cl-var--"))) | 1446 | (or cl--loop-finish-flag |
| 1409 | (or cl--loop-result-var (setq cl--loop-result-var (make-symbol "--cl-var--"))) | 1447 | (setq cl--loop-finish-flag (make-symbol "--cl-var--"))) |
| 1448 | (or cl--loop-result-var | ||
| 1449 | (setq cl--loop-result-var (make-symbol "--cl-var--"))) | ||
| 1410 | (push `(setq ,cl--loop-result-var ,(pop cl--loop-args) | 1450 | (push `(setq ,cl--loop-result-var ,(pop cl--loop-args) |
| 1411 | ,cl--loop-finish-flag nil) cl--loop-body)) | 1451 | ,cl--loop-finish-flag nil) cl--loop-body)) |
| 1412 | 1452 | ||
| @@ -1416,7 +1456,7 @@ Valid clauses are: | |||
| 1416 | (or handler (error "Expected a cl-loop keyword, found %s" word)) | 1456 | (or handler (error "Expected a cl-loop keyword, found %s" word)) |
| 1417 | (funcall handler)))) | 1457 | (funcall handler)))) |
| 1418 | (if (eq (car cl--loop-args) 'and) | 1458 | (if (eq (car cl--loop-args) 'and) |
| 1419 | (progn (pop cl--loop-args) (cl-parse-loop-clause))))) | 1459 | (progn (pop cl--loop-args) (cl--parse-loop-clause))))) |
| 1420 | 1460 | ||
| 1421 | (defun cl--loop-let (specs body par) ; uses loop-* | 1461 | (defun cl--loop-let (specs body par) ; uses loop-* |
| 1422 | (let ((p specs) (temps nil) (new nil)) | 1462 | (let ((p specs) (temps nil) (new nil)) |
| @@ -1435,10 +1475,12 @@ Valid clauses are: | |||
| 1435 | (if (and (consp (car specs)) (listp (caar specs))) | 1475 | (if (and (consp (car specs)) (listp (caar specs))) |
| 1436 | (let* ((spec (caar specs)) (nspecs nil) | 1476 | (let* ((spec (caar specs)) (nspecs nil) |
| 1437 | (expr (cadr (pop specs))) | 1477 | (expr (cadr (pop specs))) |
| 1438 | (temp (cdr (or (assq spec cl--loop-destr-temps) | 1478 | (temp |
| 1439 | (car (push (cons spec (or (last spec 0) | 1479 | (cdr (or (assq spec cl--loop-destr-temps) |
| 1440 | (make-symbol "--cl-var--"))) | 1480 | (car (push (cons spec |
| 1441 | cl--loop-destr-temps)))))) | 1481 | (or (last spec 0) |
| 1482 | (make-symbol "--cl-var--"))) | ||
| 1483 | cl--loop-destr-temps)))))) | ||
| 1442 | (push (list temp expr) new) | 1484 | (push (list temp expr) new) |
| 1443 | (while (consp spec) | 1485 | (while (consp spec) |
| 1444 | (push (list (pop spec) | 1486 | (push (list (pop spec) |
| @@ -1447,24 +1489,27 @@ Valid clauses are: | |||
| 1447 | (setq specs (nconc (nreverse nspecs) specs))) | 1489 | (setq specs (nconc (nreverse nspecs) specs))) |
| 1448 | (push (pop specs) new))) | 1490 | (push (pop specs) new))) |
| 1449 | (if (eq body 'setq) | 1491 | (if (eq body 'setq) |
| 1450 | (let ((set (cons (if par 'cl-psetq 'setq) (apply 'nconc (nreverse new))))) | 1492 | (let ((set (cons (if par 'cl-psetq 'setq) |
| 1493 | (apply 'nconc (nreverse new))))) | ||
| 1451 | (if temps `(let* ,(nreverse temps) ,set) set)) | 1494 | (if temps `(let* ,(nreverse temps) ,set) set)) |
| 1452 | `(,(if par 'let 'let*) | 1495 | `(,(if par 'let 'let*) |
| 1453 | ,(nconc (nreverse temps) (nreverse new)) ,@body)))) | 1496 | ,(nconc (nreverse temps) (nreverse new)) ,@body)))) |
| 1454 | 1497 | ||
| 1455 | (defun cl--loop-handle-accum (def &optional func) ; uses loop-* | 1498 | (defun cl--loop-handle-accum (def &optional func) ; uses loop-* |
| 1456 | (if (eq (car cl--loop-args) 'into) | 1499 | (if (eq (car cl--loop-args) 'into) |
| 1457 | (let ((var (cl-pop2 cl--loop-args))) | 1500 | (let ((var (cl--pop2 cl--loop-args))) |
| 1458 | (or (memq var cl--loop-accum-vars) | 1501 | (or (memq var cl--loop-accum-vars) |
| 1459 | (progn (push (list (list var def)) cl--loop-bindings) | 1502 | (progn (push (list (list var def)) cl--loop-bindings) |
| 1460 | (push var cl--loop-accum-vars))) | 1503 | (push var cl--loop-accum-vars))) |
| 1461 | var) | 1504 | var) |
| 1462 | (or cl--loop-accum-var | 1505 | (or cl--loop-accum-var |
| 1463 | (progn | 1506 | (progn |
| 1464 | (push (list (list (setq cl--loop-accum-var (make-symbol "--cl-var--")) def)) | 1507 | (push (list (list |
| 1465 | cl--loop-bindings) | 1508 | (setq cl--loop-accum-var (make-symbol "--cl-var--")) |
| 1509 | def)) | ||
| 1510 | cl--loop-bindings) | ||
| 1466 | (setq cl--loop-result (if func (list func cl--loop-accum-var) | 1511 | (setq cl--loop-result (if func (list func cl--loop-accum-var) |
| 1467 | cl--loop-accum-var)) | 1512 | cl--loop-accum-var)) |
| 1468 | cl--loop-accum-var)))) | 1513 | cl--loop-accum-var)))) |
| 1469 | 1514 | ||
| 1470 | (defun cl--loop-build-ands (clauses) | 1515 | (defun cl--loop-build-ands (clauses) |
| @@ -1511,7 +1556,7 @@ such that COMBO is equivalent to (and . CLAUSES)." | |||
| 1511 | ((&rest &or symbolp (symbolp &optional form form)) | 1556 | ((&rest &or symbolp (symbolp &optional form form)) |
| 1512 | (form body) | 1557 | (form body) |
| 1513 | cl-declarations body))) | 1558 | cl-declarations body))) |
| 1514 | (cl-expand-do-loop steps endtest body nil)) | 1559 | (cl--expand-do-loop steps endtest body nil)) |
| 1515 | 1560 | ||
| 1516 | ;;;###autoload | 1561 | ;;;###autoload |
| 1517 | (defmacro cl-do* (steps endtest &rest body) | 1562 | (defmacro cl-do* (steps endtest &rest body) |
| @@ -1519,9 +1564,9 @@ such that COMBO is equivalent to (and . CLAUSES)." | |||
| 1519 | 1564 | ||
| 1520 | \(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" | 1565 | \(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" |
| 1521 | (declare (indent 2) (debug cl-do)) | 1566 | (declare (indent 2) (debug cl-do)) |
| 1522 | (cl-expand-do-loop steps endtest body t)) | 1567 | (cl--expand-do-loop steps endtest body t)) |
| 1523 | 1568 | ||
| 1524 | (defun cl-expand-do-loop (steps endtest body star) | 1569 | (defun cl--expand-do-loop (steps endtest body star) |
| 1525 | `(cl-block nil | 1570 | `(cl-block nil |
| 1526 | (,(if star 'let* 'let) | 1571 | (,(if star 'let* 'let) |
| 1527 | ,(mapcar (lambda (c) (if (consp c) (list (car c) (nth 1 c)) c)) | 1572 | ,(mapcar (lambda (c) (if (consp c) (list (car c) (nth 1 c)) c)) |
| @@ -1566,6 +1611,52 @@ nil. | |||
| 1566 | (if (advice-member-p #'cl--wrap-in-nil-block 'dotimes) | 1611 | (if (advice-member-p #'cl--wrap-in-nil-block 'dotimes) |
| 1567 | loop `(cl-block nil ,loop)))) | 1612 | loop `(cl-block nil ,loop)))) |
| 1568 | 1613 | ||
| 1614 | (defvar cl--tagbody-alist nil) | ||
| 1615 | |||
| 1616 | ;;;###autoload | ||
| 1617 | (defmacro cl-tagbody (&rest labels-or-stmts) | ||
| 1618 | "Execute statements while providing for control transfers to labels. | ||
| 1619 | Each element of LABELS-OR-STMTS can be either a label (integer or symbol) | ||
| 1620 | or a `cons' cell, in which case it's taken to be a statement. | ||
| 1621 | This distinction is made before performing macroexpansion. | ||
| 1622 | Statements are executed in sequence left to right, discarding any return value, | ||
| 1623 | stopping only when reaching the end of LABELS-OR-STMTS. | ||
| 1624 | Any statement can transfer control at any time to the statements that follow | ||
| 1625 | one of the labels with the special form (go LABEL). | ||
| 1626 | Labels have lexical scope and dynamic extent." | ||
| 1627 | (let ((blocks '()) | ||
| 1628 | (first-label (if (consp (car labels-or-stmts)) | ||
| 1629 | 'cl--preamble (pop labels-or-stmts)))) | ||
| 1630 | (let ((block (list first-label))) | ||
| 1631 | (dolist (label-or-stmt labels-or-stmts) | ||
| 1632 | (if (consp label-or-stmt) (push label-or-stmt block) | ||
| 1633 | ;; Add a "go to next block" to implement the fallthrough. | ||
| 1634 | (unless (eq 'go (car-safe (car-safe block))) | ||
| 1635 | (push `(go ,label-or-stmt) block)) | ||
| 1636 | (push (nreverse block) blocks) | ||
| 1637 | (setq block (list label-or-stmt)))) | ||
| 1638 | (unless (eq 'go (car-safe (car-safe block))) | ||
| 1639 | (push `(go cl--exit) block)) | ||
| 1640 | (push (nreverse block) blocks)) | ||
| 1641 | (let ((catch-tag (make-symbol "cl--tagbody-tag"))) | ||
| 1642 | (push (cons 'cl--exit catch-tag) cl--tagbody-alist) | ||
| 1643 | (dolist (block blocks) | ||
| 1644 | (push (cons (car block) catch-tag) cl--tagbody-alist)) | ||
| 1645 | (macroexpand-all | ||
| 1646 | `(let ((next-label ',first-label)) | ||
| 1647 | (while | ||
| 1648 | (not (eq (setq next-label | ||
| 1649 | (catch ',catch-tag | ||
| 1650 | (cl-case next-label | ||
| 1651 | ,@blocks))) | ||
| 1652 | 'cl--exit)))) | ||
| 1653 | `((go . ,(lambda (label) | ||
| 1654 | (let ((catch-tag (cdr (assq label cl--tagbody-alist)))) | ||
| 1655 | (unless catch-tag | ||
| 1656 | (error "Unknown cl-tagbody go label `%S'" label)) | ||
| 1657 | `(throw ',catch-tag ',label)))) | ||
| 1658 | ,@macroexpand-all-environment))))) | ||
| 1659 | |||
| 1569 | ;;;###autoload | 1660 | ;;;###autoload |
| 1570 | (defmacro cl-do-symbols (spec &rest body) | 1661 | (defmacro cl-do-symbols (spec &rest body) |
| 1571 | "Loop over all symbols. | 1662 | "Loop over all symbols. |
| @@ -1615,19 +1706,18 @@ second list (or to nil if VALUES is shorter than SYMBOLS); then the | |||
| 1615 | BODY forms are executed and their result is returned. This is much like | 1706 | BODY forms are executed and their result is returned. This is much like |
| 1616 | a `let' form, except that the list of symbols can be computed at run-time." | 1707 | a `let' form, except that the list of symbols can be computed at run-time." |
| 1617 | (declare (indent 2) (debug (form form body))) | 1708 | (declare (indent 2) (debug (form form body))) |
| 1618 | (let ((bodyfun (make-symbol "cl--progv-body")) | 1709 | (let ((bodyfun (make-symbol "body")) |
| 1619 | (binds (make-symbol "binds")) | 1710 | (binds (make-symbol "binds")) |
| 1620 | (syms (make-symbol "syms")) | 1711 | (syms (make-symbol "syms")) |
| 1621 | (vals (make-symbol "vals"))) | 1712 | (vals (make-symbol "vals"))) |
| 1622 | `(progn | 1713 | `(progn |
| 1623 | (defvar ,bodyfun) | ||
| 1624 | (let* ((,syms ,symbols) | 1714 | (let* ((,syms ,symbols) |
| 1625 | (,vals ,values) | 1715 | (,vals ,values) |
| 1626 | (,bodyfun (lambda () ,@body)) | 1716 | (,bodyfun (lambda () ,@body)) |
| 1627 | (,binds ())) | 1717 | (,binds ())) |
| 1628 | (while ,syms | 1718 | (while ,syms |
| 1629 | (push (list (pop ,syms) (list 'quote (pop ,vals))) ,binds)) | 1719 | (push (list (pop ,syms) (list 'quote (pop ,vals))) ,binds)) |
| 1630 | (eval (list 'let ,binds '(funcall ,bodyfun))))))) | 1720 | (eval (list 'let ,binds (list 'funcall (list 'quote ,bodyfun)))))))) |
| 1631 | 1721 | ||
| 1632 | (defvar cl--labels-convert-cache nil) | 1722 | (defvar cl--labels-convert-cache nil) |
| 1633 | 1723 | ||
| @@ -1898,11 +1988,11 @@ values. For compatibility, (cl-values A B C) is a synonym for (list A B C). | |||
| 1898 | (declare (indent 1) (debug (cl-type-spec form))) | 1988 | (declare (indent 1) (debug (cl-type-spec form))) |
| 1899 | form) | 1989 | form) |
| 1900 | 1990 | ||
| 1901 | (defvar cl-proclaim-history t) ; for future compilers | 1991 | (defvar cl--proclaim-history t) ; for future compilers |
| 1902 | (defvar cl-declare-stack t) ; for future compilers | 1992 | (defvar cl--declare-stack t) ; for future compilers |
| 1903 | 1993 | ||
| 1904 | (defun cl-do-proclaim (spec hist) | 1994 | (defun cl--do-proclaim (spec hist) |
| 1905 | (and hist (listp cl-proclaim-history) (push spec cl-proclaim-history)) | 1995 | (and hist (listp cl--proclaim-history) (push spec cl--proclaim-history)) |
| 1906 | (cond ((eq (car-safe spec) 'special) | 1996 | (cond ((eq (car-safe spec) 'special) |
| 1907 | (if (boundp 'byte-compile-bound-variables) | 1997 | (if (boundp 'byte-compile-bound-variables) |
| 1908 | (setq byte-compile-bound-variables | 1998 | (setq byte-compile-bound-variables |
| @@ -1927,9 +2017,9 @@ values. For compatibility, (cl-values A B C) is a synonym for (list A B C). | |||
| 1927 | '((0 nil) (1 t) (2 t) (3 t)))) | 2017 | '((0 nil) (1 t) (2 t) (3 t)))) |
| 1928 | (safety (assq (nth 1 (assq 'safety (cdr spec))) | 2018 | (safety (assq (nth 1 (assq 'safety (cdr spec))) |
| 1929 | '((0 t) (1 t) (2 t) (3 nil))))) | 2019 | '((0 t) (1 t) (2 t) (3 nil))))) |
| 1930 | (if speed (setq cl-optimize-speed (car speed) | 2020 | (if speed (setq cl--optimize-speed (car speed) |
| 1931 | byte-optimize (nth 1 speed))) | 2021 | byte-optimize (nth 1 speed))) |
| 1932 | (if safety (setq cl-optimize-safety (car safety) | 2022 | (if safety (setq cl--optimize-safety (car safety) |
| 1933 | byte-compile-delete-errors (nth 1 safety))))) | 2023 | byte-compile-delete-errors (nth 1 safety))))) |
| 1934 | 2024 | ||
| 1935 | ((and (eq (car-safe spec) 'warn) (boundp 'byte-compile-warnings)) | 2025 | ((and (eq (car-safe spec) 'warn) (boundp 'byte-compile-warnings)) |
| @@ -1941,10 +2031,10 @@ values. For compatibility, (cl-values A B C) is a synonym for (list A B C). | |||
| 1941 | nil) | 2031 | nil) |
| 1942 | 2032 | ||
| 1943 | ;;; Process any proclamations made before cl-macs was loaded. | 2033 | ;;; Process any proclamations made before cl-macs was loaded. |
| 1944 | (defvar cl-proclaims-deferred) | 2034 | (defvar cl--proclaims-deferred) |
| 1945 | (let ((p (reverse cl-proclaims-deferred))) | 2035 | (let ((p (reverse cl--proclaims-deferred))) |
| 1946 | (while p (cl-do-proclaim (pop p) t)) | 2036 | (while p (cl--do-proclaim (pop p) t)) |
| 1947 | (setq cl-proclaims-deferred nil)) | 2037 | (setq cl--proclaims-deferred nil)) |
| 1948 | 2038 | ||
| 1949 | ;;;###autoload | 2039 | ;;;###autoload |
| 1950 | (defmacro cl-declare (&rest specs) | 2040 | (defmacro cl-declare (&rest specs) |
| @@ -1957,8 +2047,8 @@ will turn off byte-compile warnings in the function. | |||
| 1957 | See Info node `(cl)Declarations' for details." | 2047 | See Info node `(cl)Declarations' for details." |
| 1958 | (if (cl--compiling-file) | 2048 | (if (cl--compiling-file) |
| 1959 | (while specs | 2049 | (while specs |
| 1960 | (if (listp cl-declare-stack) (push (car specs) cl-declare-stack)) | 2050 | (if (listp cl--declare-stack) (push (car specs) cl--declare-stack)) |
| 1961 | (cl-do-proclaim (pop specs) nil))) | 2051 | (cl--do-proclaim (pop specs) nil))) |
| 1962 | nil) | 2052 | nil) |
| 1963 | 2053 | ||
| 1964 | ;;; The standard modify macros. | 2054 | ;;; The standard modify macros. |
| @@ -2204,7 +2294,7 @@ value, that slot cannot be set via `setf'. | |||
| 2204 | (copier (intern (format "copy-%s" name))) | 2294 | (copier (intern (format "copy-%s" name))) |
| 2205 | (predicate (intern (format "%s-p" name))) | 2295 | (predicate (intern (format "%s-p" name))) |
| 2206 | (print-func nil) (print-auto nil) | 2296 | (print-func nil) (print-auto nil) |
| 2207 | (safety (if (cl--compiling-file) cl-optimize-safety 3)) | 2297 | (safety (if (cl--compiling-file) cl--optimize-safety 3)) |
| 2208 | (include nil) | 2298 | (include nil) |
| 2209 | (tag (intern (format "cl-struct-%s" name))) | 2299 | (tag (intern (format "cl-struct-%s" name))) |
| 2210 | (tag-symbol (intern (format "cl-struct-%s-tags" name))) | 2300 | (tag-symbol (intern (format "cl-struct-%s-tags" name))) |
| @@ -2449,7 +2539,8 @@ The type name can then be used in `cl-typecase', `cl-check-type', etc." | |||
| 2449 | (if (consp (cadr type)) `(> ,val ,(cl-caadr type)) | 2539 | (if (consp (cadr type)) `(> ,val ,(cl-caadr type)) |
| 2450 | `(>= ,val ,(cadr type)))) | 2540 | `(>= ,val ,(cadr type)))) |
| 2451 | ,(if (memq (cl-caddr type) '(* nil)) t | 2541 | ,(if (memq (cl-caddr type) '(* nil)) t |
| 2452 | (if (consp (cl-caddr type)) `(< ,val ,(cl-caaddr type)) | 2542 | (if (consp (cl-caddr type)) |
| 2543 | `(< ,val ,(cl-caaddr type)) | ||
| 2453 | `(<= ,val ,(cl-caddr type))))))) | 2544 | `(<= ,val ,(cl-caddr type))))))) |
| 2454 | ((memq (car type) '(and or not)) | 2545 | ((memq (car type) '(and or not)) |
| 2455 | (cons (car type) | 2546 | (cons (car type) |
| @@ -2474,7 +2565,7 @@ TYPE is a Common Lisp-style type specifier." | |||
| 2474 | STRING is an optional description of the desired type." | 2565 | STRING is an optional description of the desired type." |
| 2475 | (declare (debug (place cl-type-spec &optional stringp))) | 2566 | (declare (debug (place cl-type-spec &optional stringp))) |
| 2476 | (and (or (not (cl--compiling-file)) | 2567 | (and (or (not (cl--compiling-file)) |
| 2477 | (< cl-optimize-speed 3) (= cl-optimize-safety 3)) | 2568 | (< cl--optimize-speed 3) (= cl--optimize-safety 3)) |
| 2478 | (let* ((temp (if (cl--simple-expr-p form 3) | 2569 | (let* ((temp (if (cl--simple-expr-p form 3) |
| 2479 | form (make-symbol "--cl-var--"))) | 2570 | form (make-symbol "--cl-var--"))) |
| 2480 | (body `(or ,(cl--make-type-test temp type) | 2571 | (body `(or ,(cl--make-type-test temp type) |
| @@ -2494,7 +2585,7 @@ They are not evaluated unless the assertion fails. If STRING is | |||
| 2494 | omitted, a default message listing FORM itself is used." | 2585 | omitted, a default message listing FORM itself is used." |
| 2495 | (declare (debug (form &rest form))) | 2586 | (declare (debug (form &rest form))) |
| 2496 | (and (or (not (cl--compiling-file)) | 2587 | (and (or (not (cl--compiling-file)) |
| 2497 | (< cl-optimize-speed 3) (= cl-optimize-safety 3)) | 2588 | (< cl--optimize-speed 3) (= cl--optimize-safety 3)) |
| 2498 | (let ((sargs (and show-args | 2589 | (let ((sargs (and show-args |
| 2499 | (delq nil (mapcar (lambda (x) | 2590 | (delq nil (mapcar (lambda (x) |
| 2500 | (unless (macroexp-const-p x) | 2591 | (unless (macroexp-const-p x) |
| @@ -2690,14 +2781,14 @@ surrounded by (cl-block NAME ...). | |||
| 2690 | 2781 | ||
| 2691 | ;;; Things that are side-effect-free. | 2782 | ;;; Things that are side-effect-free. |
| 2692 | (mapc (lambda (x) (put x 'side-effect-free t)) | 2783 | (mapc (lambda (x) (put x 'side-effect-free t)) |
| 2693 | '(cl-oddp cl-evenp cl-signum last butlast cl-ldiff cl-pairlis cl-gcd cl-lcm | 2784 | '(cl-oddp cl-evenp cl-signum last butlast cl-ldiff cl-pairlis cl-gcd |
| 2694 | cl-isqrt cl-floor cl-ceiling cl-truncate cl-round cl-mod cl-rem cl-subseq | 2785 | cl-lcm cl-isqrt cl-floor cl-ceiling cl-truncate cl-round cl-mod cl-rem |
| 2695 | cl-list-length cl-get cl-getf)) | 2786 | cl-subseq cl-list-length cl-get cl-getf)) |
| 2696 | 2787 | ||
| 2697 | ;;; Things that are side-effect-and-error-free. | 2788 | ;;; Things that are side-effect-and-error-free. |
| 2698 | (mapc (lambda (x) (put x 'side-effect-free 'error-free)) | 2789 | (mapc (lambda (x) (put x 'side-effect-free 'error-free)) |
| 2699 | '(eql cl-floatp-safe cl-list* cl-subst cl-acons cl-equalp cl-random-state-p | 2790 | '(eql cl-floatp-safe cl-list* cl-subst cl-acons cl-equalp |
| 2700 | copy-tree cl-sublis)) | 2791 | cl-random-state-p copy-tree cl-sublis)) |
| 2701 | 2792 | ||
| 2702 | 2793 | ||
| 2703 | (run-hooks 'cl-macs-load-hook) | 2794 | (run-hooks 'cl-macs-load-hook) |
diff --git a/lisp/emacs-lisp/cl-seq.el b/lisp/emacs-lisp/cl-seq.el index 1fa562e328a..b8fd3c29b5c 100644 --- a/lisp/emacs-lisp/cl-seq.el +++ b/lisp/emacs-lisp/cl-seq.el | |||
| @@ -105,6 +105,9 @@ | |||
| 105 | (eq (not (funcall cl-test ,x ,y)) cl-test-not) | 105 | (eq (not (funcall cl-test ,x ,y)) cl-test-not) |
| 106 | (eql ,x ,y))) | 106 | (eql ,x ,y))) |
| 107 | 107 | ||
| 108 | ;; Yuck! These vars are set/bound by cl--parsing-keywords to match :if :test | ||
| 109 | ;; and :key keyword args, and they are also accessed (sometimes) via dynamic | ||
| 110 | ;; scoping (and some of those accesses are from macro-expanded code). | ||
| 108 | (defvar cl-test) (defvar cl-test-not) | 111 | (defvar cl-test) (defvar cl-test-not) |
| 109 | (defvar cl-if) (defvar cl-if-not) | 112 | (defvar cl-if) (defvar cl-if-not) |
| 110 | (defvar cl-key) | 113 | (defvar cl-key) |
| @@ -333,7 +336,8 @@ This is a destructive function; it reuses the storage of SEQ whenever possible. | |||
| 333 | 336 | ||
| 334 | (defun cl--delete-duplicates (cl-seq cl-keys cl-copy) | 337 | (defun cl--delete-duplicates (cl-seq cl-keys cl-copy) |
| 335 | (if (listp cl-seq) | 338 | (if (listp cl-seq) |
| 336 | (cl--parsing-keywords (:test :test-not :key (:start 0) :end :from-end :if) | 339 | (cl--parsing-keywords |
| 340 | (:test :test-not :key (:start 0) :end :from-end :if) | ||
| 337 | () | 341 | () |
| 338 | (if cl-from-end | 342 | (if cl-from-end |
| 339 | (let ((cl-p (nthcdr cl-start cl-seq)) cl-i) | 343 | (let ((cl-p (nthcdr cl-start cl-seq)) cl-i) |
| @@ -776,7 +780,8 @@ to avoid corrupting the original LIST1 and LIST2. | |||
| 776 | (setq cl-list1 (prog1 cl-list2 (setq cl-list2 cl-list1)))) | 780 | (setq cl-list1 (prog1 cl-list2 (setq cl-list2 cl-list1)))) |
| 777 | (while cl-list2 | 781 | (while cl-list2 |
| 778 | (if (or cl-keys (numberp (car cl-list2))) | 782 | (if (or cl-keys (numberp (car cl-list2))) |
| 779 | (setq cl-list1 (apply 'cl-adjoin (car cl-list2) cl-list1 cl-keys)) | 783 | (setq cl-list1 |
| 784 | (apply 'cl-adjoin (car cl-list2) cl-list1 cl-keys)) | ||
| 780 | (or (memq (car cl-list2) cl-list1) | 785 | (or (memq (car cl-list2) cl-list1) |
| 781 | (push (car cl-list2) cl-list1))) | 786 | (push (car cl-list2) cl-list1))) |
| 782 | (pop cl-list2)) | 787 | (pop cl-list2)) |
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index 40d12358b17..7241b3c5984 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el | |||
| @@ -83,6 +83,12 @@ | |||
| 83 | ;; (delete-region (1- (point)) (point))) | 83 | ;; (delete-region (1- (point)) (point))) |
| 84 | ;; (save-buffer))))) | 84 | ;; (save-buffer))))) |
| 85 | 85 | ||
| 86 | (defun cl-unload-function () | ||
| 87 | "Stop unloading of the Common Lisp extensions." | ||
| 88 | (message "Cannot unload the feature `cl'") | ||
| 89 | ;; Stop standard unloading! | ||
| 90 | t) | ||
| 91 | |||
| 86 | ;;; Aliases to cl-lib's features. | 92 | ;;; Aliases to cl-lib's features. |
| 87 | 93 | ||
| 88 | (dolist (var '( | 94 | (dolist (var '( |
| @@ -735,4 +741,7 @@ You can replace this macro with `gv-letplace'." | |||
| 735 | (list accessor temp)))) | 741 | (list accessor temp)))) |
| 736 | 742 | ||
| 737 | (provide 'cl) | 743 | (provide 'cl) |
| 744 | |||
| 745 | (run-hooks 'cl-load-hook) | ||
| 746 | |||
| 738 | ;;; cl.el ends here | 747 | ;;; cl.el ends here |
diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el index 8c8d37b2194..f4b79eb3016 100644 --- a/lisp/emacs-lisp/derived.el +++ b/lisp/emacs-lisp/derived.el | |||
| @@ -295,16 +295,32 @@ is not very useful." | |||
| 295 | ;; Use a default docstring. | 295 | ;; Use a default docstring. |
| 296 | (setq docstring | 296 | (setq docstring |
| 297 | (if (null parent) | 297 | (if (null parent) |
| 298 | (format "Major-mode. | 298 | ;; FIXME filling. |
| 299 | Uses keymap `%s', abbrev table `%s' and syntax-table `%s'." map abbrev syntax) | 299 | (format "Major-mode.\nUses keymap `%s'%s%s." map |
| 300 | (if abbrev (format "%s abbrev table `%s'" | ||
| 301 | (if syntax "," " and") abbrev) "") | ||
| 302 | (if syntax (format " and syntax-table `%s'" syntax) "")) | ||
| 300 | (format "Major mode derived from `%s' by `define-derived-mode'. | 303 | (format "Major mode derived from `%s' by `define-derived-mode'. |
| 301 | It inherits all of the parent's attributes, but has its own keymap, | 304 | It inherits all of the parent's attributes, but has its own keymap%s: |
| 302 | abbrev table and syntax table: | 305 | |
| 303 | 306 | `%s'%s | |
| 304 | `%s', `%s' and `%s' | 307 | |
| 305 | 308 | which more-or-less shadow%s %s's corresponding table%s." | |
| 306 | which more-or-less shadow %s's corresponding tables." | 309 | parent |
| 307 | parent map abbrev syntax parent)))) | 310 | (cond ((and abbrev syntax) |
| 311 | ",\nabbrev table and syntax table") | ||
| 312 | (abbrev "\nand abbrev table") | ||
| 313 | (syntax "\nand syntax table") | ||
| 314 | (t "")) | ||
| 315 | map | ||
| 316 | (cond ((and abbrev syntax) | ||
| 317 | (format ", `%s' and `%s'" abbrev syntax)) | ||
| 318 | ((or abbrev syntax) | ||
| 319 | (format " and `%s'" (or abbrev syntax))) | ||
| 320 | (t "")) | ||
| 321 | (if (or abbrev syntax) "" "s") | ||
| 322 | parent | ||
| 323 | (if (or abbrev syntax) "s" ""))))) | ||
| 308 | 324 | ||
| 309 | (unless (string-match (regexp-quote (symbol-name hook)) docstring) | 325 | (unless (string-match (regexp-quote (symbol-name hook)) docstring) |
| 310 | ;; Make sure the docstring mentions the mode's hook. | 326 | ;; Make sure the docstring mentions the mode's hook. |
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 483ed64de20..12311711fe0 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el | |||
| @@ -4268,6 +4268,21 @@ With prefix argument, make it a temporary breakpoint." | |||
| 4268 | 4268 | ||
| 4269 | ;;; Finalize Loading | 4269 | ;;; Finalize Loading |
| 4270 | 4270 | ||
| 4271 | ;; When edebugging a function, some of the sub-expressions are | ||
| 4272 | ;; wrapped in (edebug-enter (lambda () ..)), so we need to teach | ||
| 4273 | ;; called-interactively-p that calls within the inner lambda should refer to | ||
| 4274 | ;; the outside function. | ||
| 4275 | (add-hook 'called-interactively-p-functions | ||
| 4276 | #'edebug--called-interactively-skip) | ||
| 4277 | (defun edebug--called-interactively-skip (i frame1 frame2) | ||
| 4278 | (when (and (eq (car-safe (nth 1 frame1)) 'lambda) | ||
| 4279 | (eq (nth 1 (nth 1 frame1)) '()) | ||
| 4280 | (eq (nth 1 frame2) 'edebug-enter)) | ||
| 4281 | ;; `edebug-enter' calls itself on its first invocation. | ||
| 4282 | (if (eq (nth 1 (internal--called-interactively-p--get-frame i)) | ||
| 4283 | 'edebug-enter) | ||
| 4284 | 2 1))) | ||
| 4285 | |||
| 4271 | ;; Finally, hook edebug into the rest of Emacs. | 4286 | ;; Finally, hook edebug into the rest of Emacs. |
| 4272 | ;; There are probably some other things that could go here. | 4287 | ;; There are probably some other things that could go here. |
| 4273 | 4288 | ||
diff --git a/lisp/emacs-lisp/ert-x.el b/lisp/emacs-lisp/ert-x.el index c3b8e5e10d4..60d74774e87 100644 --- a/lisp/emacs-lisp/ert-x.el +++ b/lisp/emacs-lisp/ert-x.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; ert-x.el --- Staging area for experimental extensions to ERT | 1 | ;;; ert-x.el --- Staging area for experimental extensions to ERT -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2008, 2010-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2008, 2010-2012 Free Software Foundation, Inc. |
| 4 | 4 | ||
| @@ -28,8 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | ;;; Code: | 29 | ;;; Code: |
| 30 | 30 | ||
| 31 | (eval-when-compile | 31 | (eval-when-compile (require 'cl-lib)) |
| 32 | (require 'cl)) | ||
| 33 | (require 'ert) | 32 | (require 'ert) |
| 34 | 33 | ||
| 35 | 34 | ||
| @@ -90,8 +89,8 @@ ERT--THUNK with that buffer as current." | |||
| 90 | (kill-buffer ert--buffer) | 89 | (kill-buffer ert--buffer) |
| 91 | (remhash ert--buffer ert--test-buffers)))) | 90 | (remhash ert--buffer ert--test-buffers)))) |
| 92 | 91 | ||
| 93 | (defmacro* ert-with-test-buffer ((&key ((:name name-form))) | 92 | (cl-defmacro ert-with-test-buffer ((&key ((:name name-form))) |
| 94 | &body body) | 93 | &body body) |
| 95 | "Create a test buffer and run BODY in that buffer. | 94 | "Create a test buffer and run BODY in that buffer. |
| 96 | 95 | ||
| 97 | To be used in ERT tests. If BODY finishes successfully, the test | 96 | To be used in ERT tests. If BODY finishes successfully, the test |
| @@ -116,10 +115,10 @@ the name of the test and the result of NAME-FORM." | |||
| 116 | "Kill all test buffers that are still live." | 115 | "Kill all test buffers that are still live." |
| 117 | (interactive) | 116 | (interactive) |
| 118 | (let ((count 0)) | 117 | (let ((count 0)) |
| 119 | (maphash (lambda (buffer dummy) | 118 | (maphash (lambda (buffer _dummy) |
| 120 | (when (or (not (buffer-live-p buffer)) | 119 | (when (or (not (buffer-live-p buffer)) |
| 121 | (kill-buffer buffer)) | 120 | (kill-buffer buffer)) |
| 122 | (incf count))) | 121 | (cl-incf count))) |
| 123 | ert--test-buffers) | 122 | ert--test-buffers) |
| 124 | (message "%s out of %s test buffers killed" | 123 | (message "%s out of %s test buffers killed" |
| 125 | count (hash-table-count ert--test-buffers))) | 124 | count (hash-table-count ert--test-buffers))) |
| @@ -149,9 +148,9 @@ the rest are arguments to the command. | |||
| 149 | 148 | ||
| 150 | NOTE: Since the command is not called by `call-interactively' | 149 | NOTE: Since the command is not called by `call-interactively' |
| 151 | test for `called-interactively' in the command will fail." | 150 | test for `called-interactively' in the command will fail." |
| 152 | (assert (listp command) t) | 151 | (cl-assert (listp command) t) |
| 153 | (assert (commandp (car command)) t) | 152 | (cl-assert (commandp (car command)) t) |
| 154 | (assert (not unread-command-events) t) | 153 | (cl-assert (not unread-command-events) t) |
| 155 | (let (return-value) | 154 | (let (return-value) |
| 156 | ;; For the order of things here see command_loop_1 in keyboard.c. | 155 | ;; For the order of things here see command_loop_1 in keyboard.c. |
| 157 | ;; | 156 | ;; |
| @@ -175,7 +174,7 @@ test for `called-interactively' in the command will fail." | |||
| 175 | (when (boundp 'last-repeatable-command) | 174 | (when (boundp 'last-repeatable-command) |
| 176 | (setq last-repeatable-command real-last-command)) | 175 | (setq last-repeatable-command real-last-command)) |
| 177 | (when (and deactivate-mark transient-mark-mode) (deactivate-mark)) | 176 | (when (and deactivate-mark transient-mark-mode) (deactivate-mark)) |
| 178 | (assert (not unread-command-events) t) | 177 | (cl-assert (not unread-command-events) t) |
| 179 | return-value)) | 178 | return-value)) |
| 180 | 179 | ||
| 181 | (defun ert-run-idle-timers () | 180 | (defun ert-run-idle-timers () |
| @@ -198,7 +197,7 @@ rather than the entire match." | |||
| 198 | (with-temp-buffer | 197 | (with-temp-buffer |
| 199 | (insert s) | 198 | (insert s) |
| 200 | (dolist (x regexps) | 199 | (dolist (x regexps) |
| 201 | (destructuring-bind (regexp subexp) (if (listp x) x `(,x nil)) | 200 | (cl-destructuring-bind (regexp subexp) (if (listp x) x `(,x nil)) |
| 202 | (goto-char (point-min)) | 201 | (goto-char (point-min)) |
| 203 | (while (re-search-forward regexp nil t) | 202 | (while (re-search-forward regexp nil t) |
| 204 | (replace-match "" t t nil subexp)))) | 203 | (replace-match "" t t nil subexp)))) |
| @@ -224,15 +223,15 @@ would return the string \"foo bar baz quux\" where the substring | |||
| 224 | None of the ARGS are modified, but the return value may share | 223 | None of the ARGS are modified, but the return value may share |
| 225 | structure with the plists in ARGS." | 224 | structure with the plists in ARGS." |
| 226 | (with-temp-buffer | 225 | (with-temp-buffer |
| 227 | (loop with current-plist = nil | 226 | (cl-loop with current-plist = nil |
| 228 | for x in args do | 227 | for x in args do |
| 229 | (etypecase x | 228 | (cl-etypecase x |
| 230 | (string (let ((begin (point))) | 229 | (string (let ((begin (point))) |
| 231 | (insert x) | 230 | (insert x) |
| 232 | (set-text-properties begin (point) current-plist))) | 231 | (set-text-properties begin (point) current-plist))) |
| 233 | (list (unless (zerop (mod (length x) 2)) | 232 | (list (unless (zerop (mod (length x) 2)) |
| 234 | (error "Odd number of args in plist: %S" x)) | 233 | (error "Odd number of args in plist: %S" x)) |
| 235 | (setq current-plist x)))) | 234 | (setq current-plist x)))) |
| 236 | (buffer-string))) | 235 | (buffer-string))) |
| 237 | 236 | ||
| 238 | 237 | ||
| @@ -245,8 +244,8 @@ buffer, and renames the original buffer back to BUFFER-NAME. | |||
| 245 | 244 | ||
| 246 | This is useful if THUNK has undesirable side-effects on an Emacs | 245 | This is useful if THUNK has undesirable side-effects on an Emacs |
| 247 | buffer with a fixed name such as *Messages*." | 246 | buffer with a fixed name such as *Messages*." |
| 248 | (lexical-let ((new-buffer-name (generate-new-buffer-name | 247 | (let ((new-buffer-name (generate-new-buffer-name |
| 249 | (format "%s orig buffer" buffer-name)))) | 248 | (format "%s orig buffer" buffer-name)))) |
| 250 | (with-current-buffer (get-buffer-create buffer-name) | 249 | (with-current-buffer (get-buffer-create buffer-name) |
| 251 | (rename-buffer new-buffer-name)) | 250 | (rename-buffer new-buffer-name)) |
| 252 | (unwind-protect | 251 | (unwind-protect |
| @@ -258,7 +257,7 @@ buffer with a fixed name such as *Messages*." | |||
| 258 | (with-current-buffer new-buffer-name | 257 | (with-current-buffer new-buffer-name |
| 259 | (rename-buffer buffer-name))))) | 258 | (rename-buffer buffer-name))))) |
| 260 | 259 | ||
| 261 | (defmacro* ert-with-buffer-renamed ((buffer-name-form) &body body) | 260 | (cl-defmacro ert-with-buffer-renamed ((buffer-name-form) &body body) |
| 262 | "Protect the buffer named BUFFER-NAME from side-effects and run BODY. | 261 | "Protect the buffer named BUFFER-NAME from side-effects and run BODY. |
| 263 | 262 | ||
| 264 | See `ert-call-with-buffer-renamed' for details." | 263 | See `ert-call-with-buffer-renamed' for details." |
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el index ff00be7a237..ab6dcb58143 100644 --- a/lisp/emacs-lisp/ert.el +++ b/lisp/emacs-lisp/ert.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; ert.el --- Emacs Lisp Regression Testing | 1 | ;;; ert.el --- Emacs Lisp Regression Testing -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2007-2008, 2010-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2007-2008, 2010-2012 Free Software Foundation, Inc. |
| 4 | 4 | ||
| @@ -54,8 +54,7 @@ | |||
| 54 | 54 | ||
| 55 | ;;; Code: | 55 | ;;; Code: |
| 56 | 56 | ||
| 57 | (eval-when-compile | 57 | (eval-when-compile (require 'cl-lib)) |
| 58 | (require 'cl)) | ||
| 59 | (require 'button) | 58 | (require 'button) |
| 60 | (require 'debug) | 59 | (require 'debug) |
| 61 | (require 'easymenu) | 60 | (require 'easymenu) |
| @@ -105,33 +104,33 @@ | |||
| 105 | "A reimplementation of `remove-if-not'. | 104 | "A reimplementation of `remove-if-not'. |
| 106 | 105 | ||
| 107 | ERT-PRED is a predicate, ERT-LIST is the input list." | 106 | ERT-PRED is a predicate, ERT-LIST is the input list." |
| 108 | (loop for ert-x in ert-list | 107 | (cl-loop for ert-x in ert-list |
| 109 | if (funcall ert-pred ert-x) | 108 | if (funcall ert-pred ert-x) |
| 110 | collect ert-x)) | 109 | collect ert-x)) |
| 111 | 110 | ||
| 112 | (defun ert--intersection (a b) | 111 | (defun ert--intersection (a b) |
| 113 | "A reimplementation of `intersection'. Intersect the sets A and B. | 112 | "A reimplementation of `intersection'. Intersect the sets A and B. |
| 114 | 113 | ||
| 115 | Elements are compared using `eql'." | 114 | Elements are compared using `eql'." |
| 116 | (loop for x in a | 115 | (cl-loop for x in a |
| 117 | if (memql x b) | 116 | if (memql x b) |
| 118 | collect x)) | 117 | collect x)) |
| 119 | 118 | ||
| 120 | (defun ert--set-difference (a b) | 119 | (defun ert--set-difference (a b) |
| 121 | "A reimplementation of `set-difference'. Subtract the set B from the set A. | 120 | "A reimplementation of `set-difference'. Subtract the set B from the set A. |
| 122 | 121 | ||
| 123 | Elements are compared using `eql'." | 122 | Elements are compared using `eql'." |
| 124 | (loop for x in a | 123 | (cl-loop for x in a |
| 125 | unless (memql x b) | 124 | unless (memql x b) |
| 126 | collect x)) | 125 | collect x)) |
| 127 | 126 | ||
| 128 | (defun ert--set-difference-eq (a b) | 127 | (defun ert--set-difference-eq (a b) |
| 129 | "A reimplementation of `set-difference'. Subtract the set B from the set A. | 128 | "A reimplementation of `set-difference'. Subtract the set B from the set A. |
| 130 | 129 | ||
| 131 | Elements are compared using `eq'." | 130 | Elements are compared using `eq'." |
| 132 | (loop for x in a | 131 | (cl-loop for x in a |
| 133 | unless (memq x b) | 132 | unless (memq x b) |
| 134 | collect x)) | 133 | collect x)) |
| 135 | 134 | ||
| 136 | (defun ert--union (a b) | 135 | (defun ert--union (a b) |
| 137 | "A reimplementation of `union'. Compute the union of the sets A and B. | 136 | "A reimplementation of `union'. Compute the union of the sets A and B. |
| @@ -149,7 +148,7 @@ Elements are compared using `eql'." | |||
| 149 | (make-symbol (format "%s%s" | 148 | (make-symbol (format "%s%s" |
| 150 | prefix | 149 | prefix |
| 151 | (prog1 ert--gensym-counter | 150 | (prog1 ert--gensym-counter |
| 152 | (incf ert--gensym-counter)))))) | 151 | (cl-incf ert--gensym-counter)))))) |
| 153 | 152 | ||
| 154 | (defun ert--coerce-to-vector (x) | 153 | (defun ert--coerce-to-vector (x) |
| 155 | "Coerce X to a vector." | 154 | "Coerce X to a vector." |
| @@ -158,19 +157,19 @@ Elements are compared using `eql'." | |||
| 158 | x | 157 | x |
| 159 | (vconcat x))) | 158 | (vconcat x))) |
| 160 | 159 | ||
| 161 | (defun* ert--remove* (x list &key key test) | 160 | (cl-defun ert--remove* (x list &key key test) |
| 162 | "Does not support all the keywords of remove*." | 161 | "Does not support all the keywords of remove*." |
| 163 | (unless key (setq key #'identity)) | 162 | (unless key (setq key #'identity)) |
| 164 | (unless test (setq test #'eql)) | 163 | (unless test (setq test #'eql)) |
| 165 | (loop for y in list | 164 | (cl-loop for y in list |
| 166 | unless (funcall test x (funcall key y)) | 165 | unless (funcall test x (funcall key y)) |
| 167 | collect y)) | 166 | collect y)) |
| 168 | 167 | ||
| 169 | (defun ert--string-position (c s) | 168 | (defun ert--string-position (c s) |
| 170 | "Return the position of the first occurrence of C in S, or nil if none." | 169 | "Return the position of the first occurrence of C in S, or nil if none." |
| 171 | (loop for i from 0 | 170 | (cl-loop for i from 0 |
| 172 | for x across s | 171 | for x across s |
| 173 | when (eql x c) return i)) | 172 | when (eql x c) return i)) |
| 174 | 173 | ||
| 175 | (defun ert--mismatch (a b) | 174 | (defun ert--mismatch (a b) |
| 176 | "Return index of first element that differs between A and B. | 175 | "Return index of first element that differs between A and B. |
| @@ -184,29 +183,30 @@ Like `mismatch'. Uses `equal' for comparison." | |||
| 184 | (t | 183 | (t |
| 185 | (let ((la (length a)) | 184 | (let ((la (length a)) |
| 186 | (lb (length b))) | 185 | (lb (length b))) |
| 187 | (assert (arrayp a) t) | 186 | (cl-assert (arrayp a) t) |
| 188 | (assert (arrayp b) t) | 187 | (cl-assert (arrayp b) t) |
| 189 | (assert (<= la lb) t) | 188 | (cl-assert (<= la lb) t) |
| 190 | (loop for i below la | 189 | (cl-loop for i below la |
| 191 | when (not (equal (aref a i) (aref b i))) return i | 190 | when (not (equal (aref a i) (aref b i))) return i |
| 192 | finally (return (if (/= la lb) | 191 | finally (cl-return (if (/= la lb) |
| 193 | la | 192 | la |
| 194 | (assert (equal a b) t) | 193 | (cl-assert (equal a b) t) |
| 195 | nil))))))) | 194 | nil))))))) |
| 196 | 195 | ||
| 197 | (defun ert--subseq (seq start &optional end) | 196 | (defun ert--subseq (seq start &optional end) |
| 198 | "Return a subsequence of SEQ from START to END." | 197 | "Return a subsequence of SEQ from START to END." |
| 199 | (when (char-table-p seq) (error "Not supported")) | 198 | (when (char-table-p seq) (error "Not supported")) |
| 200 | (let ((vector (substring (ert--coerce-to-vector seq) start end))) | 199 | (let ((vector (substring (ert--coerce-to-vector seq) start end))) |
| 201 | (etypecase seq | 200 | (cl-etypecase seq |
| 202 | (vector vector) | 201 | (vector vector) |
| 203 | (string (concat vector)) | 202 | (string (concat vector)) |
| 204 | (list (append vector nil)) | 203 | (list (append vector nil)) |
| 205 | (bool-vector (loop with result = (make-bool-vector (length vector) nil) | 204 | (bool-vector (cl-loop with result |
| 206 | for i below (length vector) do | 205 | = (make-bool-vector (length vector) nil) |
| 207 | (setf (aref result i) (aref vector i)) | 206 | for i below (length vector) do |
| 208 | finally (return result))) | 207 | (setf (aref result i) (aref vector i)) |
| 209 | (char-table (assert nil))))) | 208 | finally (cl-return result))) |
| 209 | (char-table (cl-assert nil))))) | ||
| 210 | 210 | ||
| 211 | (defun ert-equal-including-properties (a b) | 211 | (defun ert-equal-including-properties (a b) |
| 212 | "Return t if A and B have similar structure and contents. | 212 | "Return t if A and B have similar structure and contents. |
| @@ -225,10 +225,10 @@ Emacs bug 6581 at URL `http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6581'." | |||
| 225 | ;;; Defining and locating tests. | 225 | ;;; Defining and locating tests. |
| 226 | 226 | ||
| 227 | ;; The data structure that represents a test case. | 227 | ;; The data structure that represents a test case. |
| 228 | (defstruct ert-test | 228 | (cl-defstruct ert-test |
| 229 | (name nil) | 229 | (name nil) |
| 230 | (documentation nil) | 230 | (documentation nil) |
| 231 | (body (assert nil)) | 231 | (body (cl-assert nil)) |
| 232 | (most-recent-result nil) | 232 | (most-recent-result nil) |
| 233 | (expected-result-type ':passed) | 233 | (expected-result-type ':passed) |
| 234 | (tags '())) | 234 | (tags '())) |
| @@ -273,7 +273,7 @@ Returns a two-element list containing the keys-and-values plist | |||
| 273 | and the body." | 273 | and the body." |
| 274 | (let ((extracted-key-accu '()) | 274 | (let ((extracted-key-accu '()) |
| 275 | (remaining keys-and-body)) | 275 | (remaining keys-and-body)) |
| 276 | (while (and (consp remaining) (keywordp (first remaining))) | 276 | (while (keywordp (car-safe remaining)) |
| 277 | (let ((keyword (pop remaining))) | 277 | (let ((keyword (pop remaining))) |
| 278 | (unless (consp remaining) | 278 | (unless (consp remaining) |
| 279 | (error "Value expected after keyword %S in %S" | 279 | (error "Value expected after keyword %S in %S" |
| @@ -283,13 +283,13 @@ and the body." | |||
| 283 | keys-and-body)) | 283 | keys-and-body)) |
| 284 | (push (cons keyword (pop remaining)) extracted-key-accu))) | 284 | (push (cons keyword (pop remaining)) extracted-key-accu))) |
| 285 | (setq extracted-key-accu (nreverse extracted-key-accu)) | 285 | (setq extracted-key-accu (nreverse extracted-key-accu)) |
| 286 | (list (loop for (key . value) in extracted-key-accu | 286 | (list (cl-loop for (key . value) in extracted-key-accu |
| 287 | collect key | 287 | collect key |
| 288 | collect value) | 288 | collect value) |
| 289 | remaining))) | 289 | remaining))) |
| 290 | 290 | ||
| 291 | ;;;###autoload | 291 | ;;;###autoload |
| 292 | (defmacro* ert-deftest (name () &body docstring-keys-and-body) | 292 | (cl-defmacro ert-deftest (name () &body docstring-keys-and-body) |
| 293 | "Define NAME (a symbol) as a test. | 293 | "Define NAME (a symbol) as a test. |
| 294 | 294 | ||
| 295 | BODY is evaluated as a `progn' when the test is run. It should | 295 | BODY is evaluated as a `progn' when the test is run. It should |
| @@ -313,12 +313,13 @@ description of valid values for RESULT-TYPE. | |||
| 313 | (indent 2)) | 313 | (indent 2)) |
| 314 | (let ((documentation nil) | 314 | (let ((documentation nil) |
| 315 | (documentation-supplied-p nil)) | 315 | (documentation-supplied-p nil)) |
| 316 | (when (stringp (first docstring-keys-and-body)) | 316 | (when (stringp (car docstring-keys-and-body)) |
| 317 | (setq documentation (pop docstring-keys-and-body) | 317 | (setq documentation (pop docstring-keys-and-body) |
| 318 | documentation-supplied-p t)) | 318 | documentation-supplied-p t)) |
| 319 | (destructuring-bind ((&key (expected-result nil expected-result-supplied-p) | 319 | (cl-destructuring-bind |
| 320 | (tags nil tags-supplied-p)) | 320 | ((&key (expected-result nil expected-result-supplied-p) |
| 321 | body) | 321 | (tags nil tags-supplied-p)) |
| 322 | body) | ||
| 322 | (ert--parse-keys-and-body docstring-keys-and-body) | 323 | (ert--parse-keys-and-body docstring-keys-and-body) |
| 323 | `(progn | 324 | `(progn |
| 324 | (ert-set-test ',name | 325 | (ert-set-test ',name |
| @@ -388,16 +389,11 @@ DATA is displayed to the user and should state the reason of the failure." | |||
| 388 | (defun ert--expand-should-1 (whole form inner-expander) | 389 | (defun ert--expand-should-1 (whole form inner-expander) |
| 389 | "Helper function for the `should' macro and its variants." | 390 | "Helper function for the `should' macro and its variants." |
| 390 | (let ((form | 391 | (let ((form |
| 391 | ;; If `cl-macroexpand' isn't bound, the code that we're | 392 | (macroexpand form (cond |
| 392 | ;; compiling doesn't depend on cl and thus doesn't need an | 393 | ((boundp 'macroexpand-all-environment) |
| 393 | ;; environment arg for `macroexpand'. | 394 | macroexpand-all-environment) |
| 394 | (if (fboundp 'cl-macroexpand) | 395 | ((boundp 'cl-macro-environment) |
| 395 | ;; Suppress warning about run-time call to cl function: we | 396 | cl-macro-environment))))) |
| 396 | ;; only call it if it's fboundp. | ||
| 397 | (with-no-warnings | ||
| 398 | (cl-macroexpand form (and (boundp 'cl-macro-environment) | ||
| 399 | cl-macro-environment))) | ||
| 400 | (macroexpand form)))) | ||
| 401 | (cond | 397 | (cond |
| 402 | ((or (atom form) (ert--special-operator-p (car form))) | 398 | ((or (atom form) (ert--special-operator-p (car form))) |
| 403 | (let ((value (ert--gensym "value-"))) | 399 | (let ((value (ert--gensym "value-"))) |
| @@ -410,10 +406,10 @@ DATA is displayed to the user and should state the reason of the failure." | |||
| 410 | (t | 406 | (t |
| 411 | (let ((fn-name (car form)) | 407 | (let ((fn-name (car form)) |
| 412 | (arg-forms (cdr form))) | 408 | (arg-forms (cdr form))) |
| 413 | (assert (or (symbolp fn-name) | 409 | (cl-assert (or (symbolp fn-name) |
| 414 | (and (consp fn-name) | 410 | (and (consp fn-name) |
| 415 | (eql (car fn-name) 'lambda) | 411 | (eql (car fn-name) 'lambda) |
| 416 | (listp (cdr fn-name))))) | 412 | (listp (cdr fn-name))))) |
| 417 | (let ((fn (ert--gensym "fn-")) | 413 | (let ((fn (ert--gensym "fn-")) |
| 418 | (args (ert--gensym "args-")) | 414 | (args (ert--gensym "args-")) |
| 419 | (value (ert--gensym "value-")) | 415 | (value (ert--gensym "value-")) |
| @@ -451,35 +447,34 @@ should return code that calls INNER-FORM and performs the checks | |||
| 451 | and error signaling specific to the particular variant of | 447 | and error signaling specific to the particular variant of |
| 452 | `should'. The code that INNER-EXPANDER returns must not call | 448 | `should'. The code that INNER-EXPANDER returns must not call |
| 453 | FORM-DESCRIPTION-FORM before it has called INNER-FORM." | 449 | FORM-DESCRIPTION-FORM before it has called INNER-FORM." |
| 454 | (lexical-let ((inner-expander inner-expander)) | 450 | (ert--expand-should-1 |
| 455 | (ert--expand-should-1 | 451 | whole form |
| 456 | whole form | 452 | (lambda (inner-form form-description-form value-var) |
| 457 | (lambda (inner-form form-description-form value-var) | 453 | (let ((form-description (ert--gensym "form-description-"))) |
| 458 | (let ((form-description (ert--gensym "form-description-"))) | 454 | `(let (,form-description) |
| 459 | `(let (,form-description) | 455 | ,(funcall inner-expander |
| 460 | ,(funcall inner-expander | 456 | `(unwind-protect |
| 461 | `(unwind-protect | 457 | ,inner-form |
| 462 | ,inner-form | 458 | (setq ,form-description ,form-description-form) |
| 463 | (setq ,form-description ,form-description-form) | 459 | (ert--signal-should-execution ,form-description)) |
| 464 | (ert--signal-should-execution ,form-description)) | 460 | `,form-description |
| 465 | `,form-description | 461 | value-var)))))) |
| 466 | value-var))))))) | 462 | |
| 467 | 463 | (cl-defmacro should (form) | |
| 468 | (defmacro* should (form) | ||
| 469 | "Evaluate FORM. If it returns nil, abort the current test as failed. | 464 | "Evaluate FORM. If it returns nil, abort the current test as failed. |
| 470 | 465 | ||
| 471 | Returns the value of FORM." | 466 | Returns the value of FORM." |
| 472 | (ert--expand-should `(should ,form) form | 467 | (ert--expand-should `(should ,form) form |
| 473 | (lambda (inner-form form-description-form value-var) | 468 | (lambda (inner-form form-description-form _value-var) |
| 474 | `(unless ,inner-form | 469 | `(unless ,inner-form |
| 475 | (ert-fail ,form-description-form))))) | 470 | (ert-fail ,form-description-form))))) |
| 476 | 471 | ||
| 477 | (defmacro* should-not (form) | 472 | (cl-defmacro should-not (form) |
| 478 | "Evaluate FORM. If it returns non-nil, abort the current test as failed. | 473 | "Evaluate FORM. If it returns non-nil, abort the current test as failed. |
| 479 | 474 | ||
| 480 | Returns nil." | 475 | Returns nil." |
| 481 | (ert--expand-should `(should-not ,form) form | 476 | (ert--expand-should `(should-not ,form) form |
| 482 | (lambda (inner-form form-description-form value-var) | 477 | (lambda (inner-form form-description-form _value-var) |
| 483 | `(unless (not ,inner-form) | 478 | `(unless (not ,inner-form) |
| 484 | (ert-fail ,form-description-form))))) | 479 | (ert-fail ,form-description-form))))) |
| 485 | 480 | ||
| @@ -490,10 +485,10 @@ Returns nil." | |||
| 490 | Determines whether CONDITION matches TYPE and EXCLUDE-SUBTYPES, | 485 | Determines whether CONDITION matches TYPE and EXCLUDE-SUBTYPES, |
| 491 | and aborts the current test as failed if it doesn't." | 486 | and aborts the current test as failed if it doesn't." |
| 492 | (let ((signaled-conditions (get (car condition) 'error-conditions)) | 487 | (let ((signaled-conditions (get (car condition) 'error-conditions)) |
| 493 | (handled-conditions (etypecase type | 488 | (handled-conditions (cl-etypecase type |
| 494 | (list type) | 489 | (list type) |
| 495 | (symbol (list type))))) | 490 | (symbol (list type))))) |
| 496 | (assert signaled-conditions) | 491 | (cl-assert signaled-conditions) |
| 497 | (unless (ert--intersection signaled-conditions handled-conditions) | 492 | (unless (ert--intersection signaled-conditions handled-conditions) |
| 498 | (ert-fail (append | 493 | (ert-fail (append |
| 499 | (funcall form-description-fn) | 494 | (funcall form-description-fn) |
| @@ -512,7 +507,7 @@ and aborts the current test as failed if it doesn't." | |||
| 512 | 507 | ||
| 513 | ;; FIXME: The expansion will evaluate the keyword args (if any) in | 508 | ;; FIXME: The expansion will evaluate the keyword args (if any) in |
| 514 | ;; nonstandard order. | 509 | ;; nonstandard order. |
| 515 | (defmacro* should-error (form &rest keys &key type exclude-subtypes) | 510 | (cl-defmacro should-error (form &rest keys &key type exclude-subtypes) |
| 516 | "Evaluate FORM and check that it signals an error. | 511 | "Evaluate FORM and check that it signals an error. |
| 517 | 512 | ||
| 518 | The error signaled needs to match TYPE. TYPE should be a list | 513 | The error signaled needs to match TYPE. TYPE should be a list |
| @@ -560,19 +555,19 @@ failed." | |||
| 560 | 555 | ||
| 561 | (defun ert--proper-list-p (x) | 556 | (defun ert--proper-list-p (x) |
| 562 | "Return non-nil if X is a proper list, nil otherwise." | 557 | "Return non-nil if X is a proper list, nil otherwise." |
| 563 | (loop | 558 | (cl-loop |
| 564 | for firstp = t then nil | 559 | for firstp = t then nil |
| 565 | for fast = x then (cddr fast) | 560 | for fast = x then (cddr fast) |
| 566 | for slow = x then (cdr slow) do | 561 | for slow = x then (cdr slow) do |
| 567 | (when (null fast) (return t)) | 562 | (when (null fast) (cl-return t)) |
| 568 | (when (not (consp fast)) (return nil)) | 563 | (when (not (consp fast)) (cl-return nil)) |
| 569 | (when (null (cdr fast)) (return t)) | 564 | (when (null (cdr fast)) (cl-return t)) |
| 570 | (when (not (consp (cdr fast))) (return nil)) | 565 | (when (not (consp (cdr fast))) (cl-return nil)) |
| 571 | (when (and (not firstp) (eq fast slow)) (return nil)))) | 566 | (when (and (not firstp) (eq fast slow)) (cl-return nil)))) |
| 572 | 567 | ||
| 573 | (defun ert--explain-format-atom (x) | 568 | (defun ert--explain-format-atom (x) |
| 574 | "Format the atom X for `ert--explain-equal'." | 569 | "Format the atom X for `ert--explain-equal'." |
| 575 | (typecase x | 570 | (cl-typecase x |
| 576 | (fixnum (list x (format "#x%x" x) (format "?%c" x))) | 571 | (fixnum (list x (format "#x%x" x) (format "?%c" x))) |
| 577 | (t x))) | 572 | (t x))) |
| 578 | 573 | ||
| @@ -581,7 +576,7 @@ failed." | |||
| 581 | Returns nil if they are." | 576 | Returns nil if they are." |
| 582 | (if (not (equal (type-of a) (type-of b))) | 577 | (if (not (equal (type-of a) (type-of b))) |
| 583 | `(different-types ,a ,b) | 578 | `(different-types ,a ,b) |
| 584 | (etypecase a | 579 | (cl-etypecase a |
| 585 | (cons | 580 | (cons |
| 586 | (let ((a-proper-p (ert--proper-list-p a)) | 581 | (let ((a-proper-p (ert--proper-list-p a)) |
| 587 | (b-proper-p (ert--proper-list-p b))) | 582 | (b-proper-p (ert--proper-list-p b))) |
| @@ -593,19 +588,19 @@ Returns nil if they are." | |||
| 593 | ,a ,b | 588 | ,a ,b |
| 594 | first-mismatch-at | 589 | first-mismatch-at |
| 595 | ,(ert--mismatch a b)) | 590 | ,(ert--mismatch a b)) |
| 596 | (loop for i from 0 | 591 | (cl-loop for i from 0 |
| 597 | for ai in a | 592 | for ai in a |
| 598 | for bi in b | 593 | for bi in b |
| 599 | for xi = (ert--explain-equal-rec ai bi) | 594 | for xi = (ert--explain-equal-rec ai bi) |
| 600 | do (when xi (return `(list-elt ,i ,xi))) | 595 | do (when xi (cl-return `(list-elt ,i ,xi))) |
| 601 | finally (assert (equal a b) t))) | 596 | finally (cl-assert (equal a b) t))) |
| 602 | (let ((car-x (ert--explain-equal-rec (car a) (car b)))) | 597 | (let ((car-x (ert--explain-equal-rec (car a) (car b)))) |
| 603 | (if car-x | 598 | (if car-x |
| 604 | `(car ,car-x) | 599 | `(car ,car-x) |
| 605 | (let ((cdr-x (ert--explain-equal-rec (cdr a) (cdr b)))) | 600 | (let ((cdr-x (ert--explain-equal-rec (cdr a) (cdr b)))) |
| 606 | (if cdr-x | 601 | (if cdr-x |
| 607 | `(cdr ,cdr-x) | 602 | `(cdr ,cdr-x) |
| 608 | (assert (equal a b) t) | 603 | (cl-assert (equal a b) t) |
| 609 | nil)))))))) | 604 | nil)))))))) |
| 610 | (array (if (not (equal (length a) (length b))) | 605 | (array (if (not (equal (length a) (length b))) |
| 611 | `(arrays-of-different-length ,(length a) ,(length b) | 606 | `(arrays-of-different-length ,(length a) ,(length b) |
| @@ -613,12 +608,12 @@ Returns nil if they are." | |||
| 613 | ,@(unless (char-table-p a) | 608 | ,@(unless (char-table-p a) |
| 614 | `(first-mismatch-at | 609 | `(first-mismatch-at |
| 615 | ,(ert--mismatch a b)))) | 610 | ,(ert--mismatch a b)))) |
| 616 | (loop for i from 0 | 611 | (cl-loop for i from 0 |
| 617 | for ai across a | 612 | for ai across a |
| 618 | for bi across b | 613 | for bi across b |
| 619 | for xi = (ert--explain-equal-rec ai bi) | 614 | for xi = (ert--explain-equal-rec ai bi) |
| 620 | do (when xi (return `(array-elt ,i ,xi))) | 615 | do (when xi (cl-return `(array-elt ,i ,xi))) |
| 621 | finally (assert (equal a b) t)))) | 616 | finally (cl-assert (equal a b) t)))) |
| 622 | (atom (if (not (equal a b)) | 617 | (atom (if (not (equal a b)) |
| 623 | (if (and (symbolp a) (symbolp b) (string= a b)) | 618 | (if (and (symbolp a) (symbolp b) (string= a b)) |
| 624 | `(different-symbols-with-the-same-name ,a ,b) | 619 | `(different-symbols-with-the-same-name ,a ,b) |
| @@ -637,10 +632,10 @@ Returns nil if they are." | |||
| 637 | 632 | ||
| 638 | (defun ert--significant-plist-keys (plist) | 633 | (defun ert--significant-plist-keys (plist) |
| 639 | "Return the keys of PLIST that have non-null values, in order." | 634 | "Return the keys of PLIST that have non-null values, in order." |
| 640 | (assert (zerop (mod (length plist) 2)) t) | 635 | (cl-assert (zerop (mod (length plist) 2)) t) |
| 641 | (loop for (key value . rest) on plist by #'cddr | 636 | (cl-loop for (key value . rest) on plist by #'cddr |
| 642 | unless (or (null value) (memq key accu)) collect key into accu | 637 | unless (or (null value) (memq key accu)) collect key into accu |
| 643 | finally (return accu))) | 638 | finally (cl-return accu))) |
| 644 | 639 | ||
| 645 | (defun ert--plist-difference-explanation (a b) | 640 | (defun ert--plist-difference-explanation (a b) |
| 646 | "Return a programmer-readable explanation of why A and B are different plists. | 641 | "Return a programmer-readable explanation of why A and B are different plists. |
| @@ -648,8 +643,8 @@ Returns nil if they are." | |||
| 648 | Returns nil if they are equivalent, i.e., have the same value for | 643 | Returns nil if they are equivalent, i.e., have the same value for |
| 649 | each key, where absent values are treated as nil. The order of | 644 | each key, where absent values are treated as nil. The order of |
| 650 | key/value pairs in each list does not matter." | 645 | key/value pairs in each list does not matter." |
| 651 | (assert (zerop (mod (length a) 2)) t) | 646 | (cl-assert (zerop (mod (length a) 2)) t) |
| 652 | (assert (zerop (mod (length b) 2)) t) | 647 | (cl-assert (zerop (mod (length b) 2)) t) |
| 653 | ;; Normalizing the plists would be another way to do this but it | 648 | ;; Normalizing the plists would be another way to do this but it |
| 654 | ;; requires a total ordering on all lisp objects (since any object | 649 | ;; requires a total ordering on all lisp objects (since any object |
| 655 | ;; is valid as a text property key). Perhaps defining such an | 650 | ;; is valid as a text property key). Perhaps defining such an |
| @@ -659,21 +654,21 @@ key/value pairs in each list does not matter." | |||
| 659 | (keys-b (ert--significant-plist-keys b)) | 654 | (keys-b (ert--significant-plist-keys b)) |
| 660 | (keys-in-a-not-in-b (ert--set-difference-eq keys-a keys-b)) | 655 | (keys-in-a-not-in-b (ert--set-difference-eq keys-a keys-b)) |
| 661 | (keys-in-b-not-in-a (ert--set-difference-eq keys-b keys-a))) | 656 | (keys-in-b-not-in-a (ert--set-difference-eq keys-b keys-a))) |
| 662 | (flet ((explain-with-key (key) | 657 | (cl-flet ((explain-with-key (key) |
| 663 | (let ((value-a (plist-get a key)) | 658 | (let ((value-a (plist-get a key)) |
| 664 | (value-b (plist-get b key))) | 659 | (value-b (plist-get b key))) |
| 665 | (assert (not (equal value-a value-b)) t) | 660 | (cl-assert (not (equal value-a value-b)) t) |
| 666 | `(different-properties-for-key | 661 | `(different-properties-for-key |
| 667 | ,key ,(ert--explain-equal-including-properties value-a | 662 | ,key ,(ert--explain-equal-including-properties value-a |
| 668 | value-b))))) | 663 | value-b))))) |
| 669 | (cond (keys-in-a-not-in-b | 664 | (cond (keys-in-a-not-in-b |
| 670 | (explain-with-key (first keys-in-a-not-in-b))) | 665 | (explain-with-key (car keys-in-a-not-in-b))) |
| 671 | (keys-in-b-not-in-a | 666 | (keys-in-b-not-in-a |
| 672 | (explain-with-key (first keys-in-b-not-in-a))) | 667 | (explain-with-key (car keys-in-b-not-in-a))) |
| 673 | (t | 668 | (t |
| 674 | (loop for key in keys-a | 669 | (cl-loop for key in keys-a |
| 675 | when (not (equal (plist-get a key) (plist-get b key))) | 670 | when (not (equal (plist-get a key) (plist-get b key))) |
| 676 | return (explain-with-key key))))))) | 671 | return (explain-with-key key))))))) |
| 677 | 672 | ||
| 678 | (defun ert--abbreviate-string (s len suffixp) | 673 | (defun ert--abbreviate-string (s len suffixp) |
| 679 | "Shorten string S to at most LEN chars. | 674 | "Shorten string S to at most LEN chars. |
| @@ -697,29 +692,30 @@ Returns a programmer-readable explanation of why A and B are not | |||
| 697 | `ert-equal-including-properties', or nil if they are." | 692 | `ert-equal-including-properties', or nil if they are." |
| 698 | (if (not (equal a b)) | 693 | (if (not (equal a b)) |
| 699 | (ert--explain-equal a b) | 694 | (ert--explain-equal a b) |
| 700 | (assert (stringp a) t) | 695 | (cl-assert (stringp a) t) |
| 701 | (assert (stringp b) t) | 696 | (cl-assert (stringp b) t) |
| 702 | (assert (eql (length a) (length b)) t) | 697 | (cl-assert (eql (length a) (length b)) t) |
| 703 | (loop for i from 0 to (length a) | 698 | (cl-loop for i from 0 to (length a) |
| 704 | for props-a = (text-properties-at i a) | 699 | for props-a = (text-properties-at i a) |
| 705 | for props-b = (text-properties-at i b) | 700 | for props-b = (text-properties-at i b) |
| 706 | for difference = (ert--plist-difference-explanation props-a props-b) | 701 | for difference = (ert--plist-difference-explanation |
| 707 | do (when difference | 702 | props-a props-b) |
| 708 | (return `(char ,i ,(substring-no-properties a i (1+ i)) | 703 | do (when difference |
| 709 | ,difference | 704 | (cl-return `(char ,i ,(substring-no-properties a i (1+ i)) |
| 710 | context-before | 705 | ,difference |
| 711 | ,(ert--abbreviate-string | 706 | context-before |
| 712 | (substring-no-properties a 0 i) | 707 | ,(ert--abbreviate-string |
| 713 | 10 t) | 708 | (substring-no-properties a 0 i) |
| 714 | context-after | 709 | 10 t) |
| 715 | ,(ert--abbreviate-string | 710 | context-after |
| 716 | (substring-no-properties a (1+ i)) | 711 | ,(ert--abbreviate-string |
| 717 | 10 nil)))) | 712 | (substring-no-properties a (1+ i)) |
| 718 | ;; TODO(ohler): Get `equal-including-properties' fixed in | 713 | 10 nil)))) |
| 719 | ;; Emacs, delete `ert-equal-including-properties', and | 714 | ;; TODO(ohler): Get `equal-including-properties' fixed in |
| 720 | ;; re-enable this assertion. | 715 | ;; Emacs, delete `ert-equal-including-properties', and |
| 721 | ;;finally (assert (equal-including-properties a b) t) | 716 | ;; re-enable this assertion. |
| 722 | ))) | 717 | ;;finally (cl-assert (equal-including-properties a b) t) |
| 718 | ))) | ||
| 723 | (put 'ert-equal-including-properties | 719 | (put 'ert-equal-including-properties |
| 724 | 'ert-explainer | 720 | 'ert-explainer |
| 725 | 'ert--explain-equal-including-properties) | 721 | 'ert--explain-equal-including-properties) |
| @@ -734,8 +730,8 @@ Returns a programmer-readable explanation of why A and B are not | |||
| 734 | 730 | ||
| 735 | Bound dynamically. This is a list of (PREFIX . MESSAGE) pairs.") | 731 | Bound dynamically. This is a list of (PREFIX . MESSAGE) pairs.") |
| 736 | 732 | ||
| 737 | (defmacro* ert-info ((message-form &key ((:prefix prefix-form) "Info: ")) | 733 | (cl-defmacro ert-info ((message-form &key ((:prefix prefix-form) "Info: ")) |
| 738 | &body body) | 734 | &body body) |
| 739 | "Evaluate MESSAGE-FORM and BODY, and report the message if BODY fails. | 735 | "Evaluate MESSAGE-FORM and BODY, and report the message if BODY fails. |
| 740 | 736 | ||
| 741 | To be used within ERT tests. MESSAGE-FORM should evaluate to a | 737 | To be used within ERT tests. MESSAGE-FORM should evaluate to a |
| @@ -755,18 +751,19 @@ and is displayed in front of the value of MESSAGE-FORM." | |||
| 755 | "Non-nil means enter debugger when a test fails or terminates with an error.") | 751 | "Non-nil means enter debugger when a test fails or terminates with an error.") |
| 756 | 752 | ||
| 757 | ;; The data structures that represent the result of running a test. | 753 | ;; The data structures that represent the result of running a test. |
| 758 | (defstruct ert-test-result | 754 | (cl-defstruct ert-test-result |
| 759 | (messages nil) | 755 | (messages nil) |
| 760 | (should-forms nil) | 756 | (should-forms nil) |
| 761 | ) | 757 | ) |
| 762 | (defstruct (ert-test-passed (:include ert-test-result))) | 758 | (cl-defstruct (ert-test-passed (:include ert-test-result))) |
| 763 | (defstruct (ert-test-result-with-condition (:include ert-test-result)) | 759 | (cl-defstruct (ert-test-result-with-condition (:include ert-test-result)) |
| 764 | (condition (assert nil)) | 760 | (condition (cl-assert nil)) |
| 765 | (backtrace (assert nil)) | 761 | (backtrace (cl-assert nil)) |
| 766 | (infos (assert nil))) | 762 | (infos (cl-assert nil))) |
| 767 | (defstruct (ert-test-quit (:include ert-test-result-with-condition))) | 763 | (cl-defstruct (ert-test-quit (:include ert-test-result-with-condition))) |
| 768 | (defstruct (ert-test-failed (:include ert-test-result-with-condition))) | 764 | (cl-defstruct (ert-test-failed (:include ert-test-result-with-condition))) |
| 769 | (defstruct (ert-test-aborted-with-non-local-exit (:include ert-test-result))) | 765 | (cl-defstruct (ert-test-aborted-with-non-local-exit |
| 766 | (:include ert-test-result))) | ||
| 770 | 767 | ||
| 771 | 768 | ||
| 772 | (defun ert--record-backtrace () | 769 | (defun ert--record-backtrace () |
| @@ -779,7 +776,7 @@ and is displayed in front of the value of MESSAGE-FORM." | |||
| 779 | ;; `ert-results-pop-to-backtrace-for-test-at-point' given that we | 776 | ;; `ert-results-pop-to-backtrace-for-test-at-point' given that we |
| 780 | ;; already have `ert-results-rerun-test-debugging-errors-at-point'. | 777 | ;; already have `ert-results-rerun-test-debugging-errors-at-point'. |
| 781 | ;; For batch use, however, printing the backtrace may be useful. | 778 | ;; For batch use, however, printing the backtrace may be useful. |
| 782 | (loop | 779 | (cl-loop |
| 783 | ;; 6 is the number of frames our own debugger adds (when | 780 | ;; 6 is the number of frames our own debugger adds (when |
| 784 | ;; compiled; more when interpreted). FIXME: Need to describe a | 781 | ;; compiled; more when interpreted). FIXME: Need to describe a |
| 785 | ;; procedure for determining this constant. | 782 | ;; procedure for determining this constant. |
| @@ -796,33 +793,33 @@ and is displayed in front of the value of MESSAGE-FORM." | |||
| 796 | (print-level 8) | 793 | (print-level 8) |
| 797 | (print-length 50)) | 794 | (print-length 50)) |
| 798 | (dolist (frame backtrace) | 795 | (dolist (frame backtrace) |
| 799 | (ecase (first frame) | 796 | (cl-ecase (car frame) |
| 800 | ((nil) | 797 | ((nil) |
| 801 | ;; Special operator. | 798 | ;; Special operator. |
| 802 | (destructuring-bind (special-operator &rest arg-forms) | 799 | (cl-destructuring-bind (special-operator &rest arg-forms) |
| 803 | (cdr frame) | 800 | (cdr frame) |
| 804 | (insert | 801 | (insert |
| 805 | (format " %S\n" (list* special-operator arg-forms))))) | 802 | (format " %S\n" (cons special-operator arg-forms))))) |
| 806 | ((t) | 803 | ((t) |
| 807 | ;; Function call. | 804 | ;; Function call. |
| 808 | (destructuring-bind (fn &rest args) (cdr frame) | 805 | (cl-destructuring-bind (fn &rest args) (cdr frame) |
| 809 | (insert (format " %S(" fn)) | 806 | (insert (format " %S(" fn)) |
| 810 | (loop for firstp = t then nil | 807 | (cl-loop for firstp = t then nil |
| 811 | for arg in args do | 808 | for arg in args do |
| 812 | (unless firstp | 809 | (unless firstp |
| 813 | (insert " ")) | 810 | (insert " ")) |
| 814 | (insert (format "%S" arg))) | 811 | (insert (format "%S" arg))) |
| 815 | (insert ")\n"))))))) | 812 | (insert ")\n"))))))) |
| 816 | 813 | ||
| 817 | ;; A container for the state of the execution of a single test and | 814 | ;; A container for the state of the execution of a single test and |
| 818 | ;; environment data needed during its execution. | 815 | ;; environment data needed during its execution. |
| 819 | (defstruct ert--test-execution-info | 816 | (cl-defstruct ert--test-execution-info |
| 820 | (test (assert nil)) | 817 | (test (cl-assert nil)) |
| 821 | (result (assert nil)) | 818 | (result (cl-assert nil)) |
| 822 | ;; A thunk that may be called when RESULT has been set to its final | 819 | ;; A thunk that may be called when RESULT has been set to its final |
| 823 | ;; value and test execution should be terminated. Should not | 820 | ;; value and test execution should be terminated. Should not |
| 824 | ;; return. | 821 | ;; return. |
| 825 | (exit-continuation (assert nil)) | 822 | (exit-continuation (cl-assert nil)) |
| 826 | ;; The binding of `debugger' outside of the execution of the test. | 823 | ;; The binding of `debugger' outside of the execution of the test. |
| 827 | next-debugger | 824 | next-debugger |
| 828 | ;; The binding of `ert-debug-on-error' that is in effect for the | 825 | ;; The binding of `ert-debug-on-error' that is in effect for the |
| @@ -831,7 +828,7 @@ and is displayed in front of the value of MESSAGE-FORM." | |||
| 831 | ;; don't remember whether this feature is important.) | 828 | ;; don't remember whether this feature is important.) |
| 832 | ert-debug-on-error) | 829 | ert-debug-on-error) |
| 833 | 830 | ||
| 834 | (defun ert--run-test-debugger (info debugger-args) | 831 | (defun ert--run-test-debugger (info args) |
| 835 | "During a test run, `debugger' is bound to a closure that calls this function. | 832 | "During a test run, `debugger' is bound to a closure that calls this function. |
| 836 | 833 | ||
| 837 | This function records failures and errors and either terminates | 834 | This function records failures and errors and either terminates |
| @@ -839,21 +836,21 @@ the test silently or calls the interactive debugger, as | |||
| 839 | appropriate. | 836 | appropriate. |
| 840 | 837 | ||
| 841 | INFO is the ert--test-execution-info corresponding to this test | 838 | INFO is the ert--test-execution-info corresponding to this test |
| 842 | run. DEBUGGER-ARGS are the arguments to `debugger'." | 839 | run. ARGS are the arguments to `debugger'." |
| 843 | (destructuring-bind (first-debugger-arg &rest more-debugger-args) | 840 | (cl-destructuring-bind (first-debugger-arg &rest more-debugger-args) |
| 844 | debugger-args | 841 | args |
| 845 | (ecase first-debugger-arg | 842 | (cl-ecase first-debugger-arg |
| 846 | ((lambda debug t exit nil) | 843 | ((lambda debug t exit nil) |
| 847 | (apply (ert--test-execution-info-next-debugger info) debugger-args)) | 844 | (apply (ert--test-execution-info-next-debugger info) args)) |
| 848 | (error | 845 | (error |
| 849 | (let* ((condition (first more-debugger-args)) | 846 | (let* ((condition (car more-debugger-args)) |
| 850 | (type (case (car condition) | 847 | (type (cl-case (car condition) |
| 851 | ((quit) 'quit) | 848 | ((quit) 'quit) |
| 852 | (otherwise 'failed))) | 849 | (otherwise 'failed))) |
| 853 | (backtrace (ert--record-backtrace)) | 850 | (backtrace (ert--record-backtrace)) |
| 854 | (infos (reverse ert--infos))) | 851 | (infos (reverse ert--infos))) |
| 855 | (setf (ert--test-execution-info-result info) | 852 | (setf (ert--test-execution-info-result info) |
| 856 | (ecase type | 853 | (cl-ecase type |
| 857 | (quit | 854 | (quit |
| 858 | (make-ert-test-quit :condition condition | 855 | (make-ert-test-quit :condition condition |
| 859 | :backtrace backtrace | 856 | :backtrace backtrace |
| @@ -864,39 +861,42 @@ run. DEBUGGER-ARGS are the arguments to `debugger'." | |||
| 864 | :infos infos)))) | 861 | :infos infos)))) |
| 865 | ;; Work around Emacs's heuristic (in eval.c) for detecting | 862 | ;; Work around Emacs's heuristic (in eval.c) for detecting |
| 866 | ;; errors in the debugger. | 863 | ;; errors in the debugger. |
| 867 | (incf num-nonmacro-input-events) | 864 | (cl-incf num-nonmacro-input-events) |
| 868 | ;; FIXME: We should probably implement more fine-grained | 865 | ;; FIXME: We should probably implement more fine-grained |
| 869 | ;; control a la non-t `debug-on-error' here. | 866 | ;; control a la non-t `debug-on-error' here. |
| 870 | (cond | 867 | (cond |
| 871 | ((ert--test-execution-info-ert-debug-on-error info) | 868 | ((ert--test-execution-info-ert-debug-on-error info) |
| 872 | (apply (ert--test-execution-info-next-debugger info) debugger-args)) | 869 | (apply (ert--test-execution-info-next-debugger info) args)) |
| 873 | (t)) | 870 | (t)) |
| 874 | (funcall (ert--test-execution-info-exit-continuation info))))))) | 871 | (funcall (ert--test-execution-info-exit-continuation info))))))) |
| 875 | 872 | ||
| 876 | (defun ert--run-test-internal (ert-test-execution-info) | 873 | (defun ert--run-test-internal (test-execution-info) |
| 877 | "Low-level function to run a test according to ERT-TEST-EXECUTION-INFO. | 874 | "Low-level function to run a test according to TEST-EXECUTION-INFO. |
| 878 | 875 | ||
| 879 | This mainly sets up debugger-related bindings." | 876 | This mainly sets up debugger-related bindings." |
| 880 | (lexical-let ((info ert-test-execution-info)) | 877 | (setf (ert--test-execution-info-next-debugger test-execution-info) debugger |
| 881 | (setf (ert--test-execution-info-next-debugger info) debugger | 878 | (ert--test-execution-info-ert-debug-on-error test-execution-info) |
| 882 | (ert--test-execution-info-ert-debug-on-error info) ert-debug-on-error) | 879 | ert-debug-on-error) |
| 883 | (catch 'ert--pass | 880 | (catch 'ert--pass |
| 884 | ;; For now, each test gets its own temp buffer and its own | 881 | ;; For now, each test gets its own temp buffer and its own |
| 885 | ;; window excursion, just to be safe. If this turns out to be | 882 | ;; window excursion, just to be safe. If this turns out to be |
| 886 | ;; too expensive, we can remove it. | 883 | ;; too expensive, we can remove it. |
| 887 | (with-temp-buffer | 884 | (with-temp-buffer |
| 888 | (save-window-excursion | 885 | (save-window-excursion |
| 889 | (let ((debugger (lambda (&rest debugger-args) | 886 | (let ((debugger (lambda (&rest args) |
| 890 | (ert--run-test-debugger info debugger-args))) | 887 | (ert--run-test-debugger test-execution-info |
| 891 | (debug-on-error t) | 888 | args))) |
| 892 | (debug-on-quit t) | 889 | (debug-on-error t) |
| 893 | ;; FIXME: Do we need to store the old binding of this | 890 | (debug-on-quit t) |
| 894 | ;; and consider it in `ert--run-test-debugger'? | 891 | ;; FIXME: Do we need to store the old binding of this |
| 895 | (debug-ignored-errors nil) | 892 | ;; and consider it in `ert--run-test-debugger'? |
| 896 | (ert--infos '())) | 893 | (debug-ignored-errors nil) |
| 897 | (funcall (ert-test-body (ert--test-execution-info-test info)))))) | 894 | (ert--infos '())) |
| 898 | (ert-pass)) | 895 | (funcall (ert-test-body (ert--test-execution-info-test |
| 899 | (setf (ert--test-execution-info-result info) (make-ert-test-passed))) | 896 | test-execution-info)))))) |
| 897 | (ert-pass)) | ||
| 898 | (setf (ert--test-execution-info-result test-execution-info) | ||
| 899 | (make-ert-test-passed)) | ||
| 900 | nil) | 900 | nil) |
| 901 | 901 | ||
| 902 | (defun ert--force-message-log-buffer-truncation () | 902 | (defun ert--force-message-log-buffer-truncation () |
| @@ -934,18 +934,18 @@ The elements are of type `ert-test'.") | |||
| 934 | 934 | ||
| 935 | Returns the result and stores it in ERT-TEST's `most-recent-result' slot." | 935 | Returns the result and stores it in ERT-TEST's `most-recent-result' slot." |
| 936 | (setf (ert-test-most-recent-result ert-test) nil) | 936 | (setf (ert-test-most-recent-result ert-test) nil) |
| 937 | (block error | 937 | (cl-block error |
| 938 | (lexical-let ((begin-marker | 938 | (let ((begin-marker |
| 939 | (with-current-buffer (get-buffer-create "*Messages*") | 939 | (with-current-buffer (get-buffer-create "*Messages*") |
| 940 | (set-marker (make-marker) (point-max))))) | 940 | (set-marker (make-marker) (point-max))))) |
| 941 | (unwind-protect | 941 | (unwind-protect |
| 942 | (lexical-let ((info (make-ert--test-execution-info | 942 | (let ((info (make-ert--test-execution-info |
| 943 | :test ert-test | 943 | :test ert-test |
| 944 | :result | 944 | :result |
| 945 | (make-ert-test-aborted-with-non-local-exit) | 945 | (make-ert-test-aborted-with-non-local-exit) |
| 946 | :exit-continuation (lambda () | 946 | :exit-continuation (lambda () |
| 947 | (return-from error nil)))) | 947 | (cl-return-from error nil)))) |
| 948 | (should-form-accu (list))) | 948 | (should-form-accu (list))) |
| 949 | (unwind-protect | 949 | (unwind-protect |
| 950 | (let ((ert--should-execution-observer | 950 | (let ((ert--should-execution-observer |
| 951 | (lambda (form-description) | 951 | (lambda (form-description) |
| @@ -987,32 +987,32 @@ t -- Always matches. | |||
| 987 | RESULT." | 987 | RESULT." |
| 988 | ;; It would be easy to add `member' and `eql' types etc., but I | 988 | ;; It would be easy to add `member' and `eql' types etc., but I |
| 989 | ;; haven't bothered yet. | 989 | ;; haven't bothered yet. |
| 990 | (etypecase result-type | 990 | (cl-etypecase result-type |
| 991 | ((member nil) nil) | 991 | ((member nil) nil) |
| 992 | ((member t) t) | 992 | ((member t) t) |
| 993 | ((member :failed) (ert-test-failed-p result)) | 993 | ((member :failed) (ert-test-failed-p result)) |
| 994 | ((member :passed) (ert-test-passed-p result)) | 994 | ((member :passed) (ert-test-passed-p result)) |
| 995 | (cons | 995 | (cons |
| 996 | (destructuring-bind (operator &rest operands) result-type | 996 | (cl-destructuring-bind (operator &rest operands) result-type |
| 997 | (ecase operator | 997 | (cl-ecase operator |
| 998 | (and | 998 | (and |
| 999 | (case (length operands) | 999 | (cl-case (length operands) |
| 1000 | (0 t) | 1000 | (0 t) |
| 1001 | (t | 1001 | (t |
| 1002 | (and (ert-test-result-type-p result (first operands)) | 1002 | (and (ert-test-result-type-p result (car operands)) |
| 1003 | (ert-test-result-type-p result `(and ,@(rest operands))))))) | 1003 | (ert-test-result-type-p result `(and ,@(cdr operands))))))) |
| 1004 | (or | 1004 | (or |
| 1005 | (case (length operands) | 1005 | (cl-case (length operands) |
| 1006 | (0 nil) | 1006 | (0 nil) |
| 1007 | (t | 1007 | (t |
| 1008 | (or (ert-test-result-type-p result (first operands)) | 1008 | (or (ert-test-result-type-p result (car operands)) |
| 1009 | (ert-test-result-type-p result `(or ,@(rest operands))))))) | 1009 | (ert-test-result-type-p result `(or ,@(cdr operands))))))) |
| 1010 | (not | 1010 | (not |
| 1011 | (assert (eql (length operands) 1)) | 1011 | (cl-assert (eql (length operands) 1)) |
| 1012 | (not (ert-test-result-type-p result (first operands)))) | 1012 | (not (ert-test-result-type-p result (car operands)))) |
| 1013 | (satisfies | 1013 | (satisfies |
| 1014 | (assert (eql (length operands) 1)) | 1014 | (cl-assert (eql (length operands) 1)) |
| 1015 | (funcall (first operands) result))))))) | 1015 | (funcall (car operands) result))))))) |
| 1016 | 1016 | ||
| 1017 | (defun ert-test-result-expected-p (test result) | 1017 | (defun ert-test-result-expected-p (test result) |
| 1018 | "Return non-nil if TEST's expected result type matches RESULT." | 1018 | "Return non-nil if TEST's expected result type matches RESULT." |
| @@ -1053,9 +1053,9 @@ set implied by them without checking whether it is really | |||
| 1053 | contained in UNIVERSE." | 1053 | contained in UNIVERSE." |
| 1054 | ;; This code needs to match the etypecase in | 1054 | ;; This code needs to match the etypecase in |
| 1055 | ;; `ert-insert-human-readable-selector'. | 1055 | ;; `ert-insert-human-readable-selector'. |
| 1056 | (etypecase selector | 1056 | (cl-etypecase selector |
| 1057 | ((member nil) nil) | 1057 | ((member nil) nil) |
| 1058 | ((member t) (etypecase universe | 1058 | ((member t) (cl-etypecase universe |
| 1059 | (list universe) | 1059 | (list universe) |
| 1060 | ((member t) (ert-select-tests "" universe)))) | 1060 | ((member t) (ert-select-tests "" universe)))) |
| 1061 | ((member :new) (ert-select-tests | 1061 | ((member :new) (ert-select-tests |
| @@ -1083,7 +1083,7 @@ contained in UNIVERSE." | |||
| 1083 | universe)) | 1083 | universe)) |
| 1084 | ((member :unexpected) (ert-select-tests `(not :expected) universe)) | 1084 | ((member :unexpected) (ert-select-tests `(not :expected) universe)) |
| 1085 | (string | 1085 | (string |
| 1086 | (etypecase universe | 1086 | (cl-etypecase universe |
| 1087 | ((member t) (mapcar #'ert-get-test | 1087 | ((member t) (mapcar #'ert-get-test |
| 1088 | (apropos-internal selector #'ert-test-boundp))) | 1088 | (apropos-internal selector #'ert-test-boundp))) |
| 1089 | (list (ert--remove-if-not (lambda (test) | 1089 | (list (ert--remove-if-not (lambda (test) |
| @@ -1093,51 +1093,51 @@ contained in UNIVERSE." | |||
| 1093 | universe)))) | 1093 | universe)))) |
| 1094 | (ert-test (list selector)) | 1094 | (ert-test (list selector)) |
| 1095 | (symbol | 1095 | (symbol |
| 1096 | (assert (ert-test-boundp selector)) | 1096 | (cl-assert (ert-test-boundp selector)) |
| 1097 | (list (ert-get-test selector))) | 1097 | (list (ert-get-test selector))) |
| 1098 | (cons | 1098 | (cons |
| 1099 | (destructuring-bind (operator &rest operands) selector | 1099 | (cl-destructuring-bind (operator &rest operands) selector |
| 1100 | (ecase operator | 1100 | (cl-ecase operator |
| 1101 | (member | 1101 | (member |
| 1102 | (mapcar (lambda (purported-test) | 1102 | (mapcar (lambda (purported-test) |
| 1103 | (etypecase purported-test | 1103 | (cl-etypecase purported-test |
| 1104 | (symbol (assert (ert-test-boundp purported-test)) | 1104 | (symbol (cl-assert (ert-test-boundp purported-test)) |
| 1105 | (ert-get-test purported-test)) | 1105 | (ert-get-test purported-test)) |
| 1106 | (ert-test purported-test))) | 1106 | (ert-test purported-test))) |
| 1107 | operands)) | 1107 | operands)) |
| 1108 | (eql | 1108 | (eql |
| 1109 | (assert (eql (length operands) 1)) | 1109 | (cl-assert (eql (length operands) 1)) |
| 1110 | (ert-select-tests `(member ,@operands) universe)) | 1110 | (ert-select-tests `(member ,@operands) universe)) |
| 1111 | (and | 1111 | (and |
| 1112 | ;; Do these definitions of AND, NOT and OR satisfy de | 1112 | ;; Do these definitions of AND, NOT and OR satisfy de |
| 1113 | ;; Morgan's laws? Should they? | 1113 | ;; Morgan's laws? Should they? |
| 1114 | (case (length operands) | 1114 | (cl-case (length operands) |
| 1115 | (0 (ert-select-tests 't universe)) | 1115 | (0 (ert-select-tests 't universe)) |
| 1116 | (t (ert-select-tests `(and ,@(rest operands)) | 1116 | (t (ert-select-tests `(and ,@(cdr operands)) |
| 1117 | (ert-select-tests (first operands) | 1117 | (ert-select-tests (car operands) |
| 1118 | universe))))) | 1118 | universe))))) |
| 1119 | (not | 1119 | (not |
| 1120 | (assert (eql (length operands) 1)) | 1120 | (cl-assert (eql (length operands) 1)) |
| 1121 | (let ((all-tests (ert-select-tests 't universe))) | 1121 | (let ((all-tests (ert-select-tests 't universe))) |
| 1122 | (ert--set-difference all-tests | 1122 | (ert--set-difference all-tests |
| 1123 | (ert-select-tests (first operands) | 1123 | (ert-select-tests (car operands) |
| 1124 | all-tests)))) | 1124 | all-tests)))) |
| 1125 | (or | 1125 | (or |
| 1126 | (case (length operands) | 1126 | (cl-case (length operands) |
| 1127 | (0 (ert-select-tests 'nil universe)) | 1127 | (0 (ert-select-tests 'nil universe)) |
| 1128 | (t (ert--union (ert-select-tests (first operands) universe) | 1128 | (t (ert--union (ert-select-tests (car operands) universe) |
| 1129 | (ert-select-tests `(or ,@(rest operands)) | 1129 | (ert-select-tests `(or ,@(cdr operands)) |
| 1130 | universe))))) | 1130 | universe))))) |
| 1131 | (tag | 1131 | (tag |
| 1132 | (assert (eql (length operands) 1)) | 1132 | (cl-assert (eql (length operands) 1)) |
| 1133 | (let ((tag (first operands))) | 1133 | (let ((tag (car operands))) |
| 1134 | (ert-select-tests `(satisfies | 1134 | (ert-select-tests `(satisfies |
| 1135 | ,(lambda (test) | 1135 | ,(lambda (test) |
| 1136 | (member tag (ert-test-tags test)))) | 1136 | (member tag (ert-test-tags test)))) |
| 1137 | universe))) | 1137 | universe))) |
| 1138 | (satisfies | 1138 | (satisfies |
| 1139 | (assert (eql (length operands) 1)) | 1139 | (cl-assert (eql (length operands) 1)) |
| 1140 | (ert--remove-if-not (first operands) | 1140 | (ert--remove-if-not (car operands) |
| 1141 | (ert-select-tests 't universe)))))))) | 1141 | (ert-select-tests 't universe)))))))) |
| 1142 | 1142 | ||
| 1143 | (defun ert--insert-human-readable-selector (selector) | 1143 | (defun ert--insert-human-readable-selector (selector) |
| @@ -1146,26 +1146,27 @@ contained in UNIVERSE." | |||
| 1146 | ;; `backtrace' slot of the result objects in the | 1146 | ;; `backtrace' slot of the result objects in the |
| 1147 | ;; `most-recent-result' slots of test case objects in (eql ...) or | 1147 | ;; `most-recent-result' slots of test case objects in (eql ...) or |
| 1148 | ;; (member ...) selectors. | 1148 | ;; (member ...) selectors. |
| 1149 | (labels ((rec (selector) | 1149 | (cl-labels ((rec (selector) |
| 1150 | ;; This code needs to match the etypecase in `ert-select-tests'. | 1150 | ;; This code needs to match the etypecase in |
| 1151 | (etypecase selector | 1151 | ;; `ert-select-tests'. |
| 1152 | ((or (member nil t | 1152 | (cl-etypecase selector |
| 1153 | :new :failed :passed | 1153 | ((or (member nil t |
| 1154 | :expected :unexpected) | 1154 | :new :failed :passed |
| 1155 | string | 1155 | :expected :unexpected) |
| 1156 | symbol) | 1156 | string |
| 1157 | selector) | 1157 | symbol) |
| 1158 | (ert-test | 1158 | selector) |
| 1159 | (if (ert-test-name selector) | 1159 | (ert-test |
| 1160 | (make-symbol (format "<%S>" (ert-test-name selector))) | 1160 | (if (ert-test-name selector) |
| 1161 | (make-symbol "<unnamed test>"))) | 1161 | (make-symbol (format "<%S>" (ert-test-name selector))) |
| 1162 | (cons | 1162 | (make-symbol "<unnamed test>"))) |
| 1163 | (destructuring-bind (operator &rest operands) selector | 1163 | (cons |
| 1164 | (ecase operator | 1164 | (cl-destructuring-bind (operator &rest operands) selector |
| 1165 | ((member eql and not or) | 1165 | (cl-ecase operator |
| 1166 | `(,operator ,@(mapcar #'rec operands))) | 1166 | ((member eql and not or) |
| 1167 | ((member tag satisfies) | 1167 | `(,operator ,@(mapcar #'rec operands))) |
| 1168 | selector))))))) | 1168 | ((member tag satisfies) |
| 1169 | selector))))))) | ||
| 1169 | (insert (format "%S" (rec selector))))) | 1170 | (insert (format "%S" (rec selector))))) |
| 1170 | 1171 | ||
| 1171 | 1172 | ||
| @@ -1182,21 +1183,21 @@ contained in UNIVERSE." | |||
| 1182 | ;; that corresponds to this run in order to be able to update the | 1183 | ;; that corresponds to this run in order to be able to update the |
| 1183 | ;; statistics correctly when a test is re-run interactively and has a | 1184 | ;; statistics correctly when a test is re-run interactively and has a |
| 1184 | ;; different result than before. | 1185 | ;; different result than before. |
| 1185 | (defstruct ert--stats | 1186 | (cl-defstruct ert--stats |
| 1186 | (selector (assert nil)) | 1187 | (selector (cl-assert nil)) |
| 1187 | ;; The tests, in order. | 1188 | ;; The tests, in order. |
| 1188 | (tests (assert nil) :type vector) | 1189 | (tests (cl-assert nil) :type vector) |
| 1189 | ;; A map of test names (or the test objects themselves for unnamed | 1190 | ;; A map of test names (or the test objects themselves for unnamed |
| 1190 | ;; tests) to indices into the `tests' vector. | 1191 | ;; tests) to indices into the `tests' vector. |
| 1191 | (test-map (assert nil) :type hash-table) | 1192 | (test-map (cl-assert nil) :type hash-table) |
| 1192 | ;; The results of the tests during this run, in order. | 1193 | ;; The results of the tests during this run, in order. |
| 1193 | (test-results (assert nil) :type vector) | 1194 | (test-results (cl-assert nil) :type vector) |
| 1194 | ;; The start times of the tests, in order, as reported by | 1195 | ;; The start times of the tests, in order, as reported by |
| 1195 | ;; `current-time'. | 1196 | ;; `current-time'. |
| 1196 | (test-start-times (assert nil) :type vector) | 1197 | (test-start-times (cl-assert nil) :type vector) |
| 1197 | ;; The end times of the tests, in order, as reported by | 1198 | ;; The end times of the tests, in order, as reported by |
| 1198 | ;; `current-time'. | 1199 | ;; `current-time'. |
| 1199 | (test-end-times (assert nil) :type vector) | 1200 | (test-end-times (cl-assert nil) :type vector) |
| 1200 | (passed-expected 0) | 1201 | (passed-expected 0) |
| 1201 | (passed-unexpected 0) | 1202 | (passed-unexpected 0) |
| 1202 | (failed-expected 0) | 1203 | (failed-expected 0) |
| @@ -1246,21 +1247,25 @@ Also changes the counters in STATS to match." | |||
| 1246 | (results (ert--stats-test-results stats)) | 1247 | (results (ert--stats-test-results stats)) |
| 1247 | (old-test (aref tests pos)) | 1248 | (old-test (aref tests pos)) |
| 1248 | (map (ert--stats-test-map stats))) | 1249 | (map (ert--stats-test-map stats))) |
| 1249 | (flet ((update (d) | 1250 | (cl-flet ((update (d) |
| 1250 | (if (ert-test-result-expected-p (aref tests pos) | 1251 | (if (ert-test-result-expected-p (aref tests pos) |
| 1251 | (aref results pos)) | 1252 | (aref results pos)) |
| 1252 | (etypecase (aref results pos) | 1253 | (cl-etypecase (aref results pos) |
| 1253 | (ert-test-passed (incf (ert--stats-passed-expected stats) d)) | 1254 | (ert-test-passed |
| 1254 | (ert-test-failed (incf (ert--stats-failed-expected stats) d)) | 1255 | (cl-incf (ert--stats-passed-expected stats) d)) |
| 1255 | (null) | 1256 | (ert-test-failed |
| 1256 | (ert-test-aborted-with-non-local-exit) | 1257 | (cl-incf (ert--stats-failed-expected stats) d)) |
| 1257 | (ert-test-quit)) | 1258 | (null) |
| 1258 | (etypecase (aref results pos) | 1259 | (ert-test-aborted-with-non-local-exit) |
| 1259 | (ert-test-passed (incf (ert--stats-passed-unexpected stats) d)) | 1260 | (ert-test-quit)) |
| 1260 | (ert-test-failed (incf (ert--stats-failed-unexpected stats) d)) | 1261 | (cl-etypecase (aref results pos) |
| 1261 | (null) | 1262 | (ert-test-passed |
| 1262 | (ert-test-aborted-with-non-local-exit) | 1263 | (cl-incf (ert--stats-passed-unexpected stats) d)) |
| 1263 | (ert-test-quit))))) | 1264 | (ert-test-failed |
| 1265 | (cl-incf (ert--stats-failed-unexpected stats) d)) | ||
| 1266 | (null) | ||
| 1267 | (ert-test-aborted-with-non-local-exit) | ||
| 1268 | (ert-test-quit))))) | ||
| 1264 | ;; Adjust counters to remove the result that is currently in stats. | 1269 | ;; Adjust counters to remove the result that is currently in stats. |
| 1265 | (update -1) | 1270 | (update -1) |
| 1266 | ;; Put new test and result into stats. | 1271 | ;; Put new test and result into stats. |
| @@ -1278,11 +1283,11 @@ Also changes the counters in STATS to match." | |||
| 1278 | SELECTOR is the selector that was used to select TESTS." | 1283 | SELECTOR is the selector that was used to select TESTS." |
| 1279 | (setq tests (ert--coerce-to-vector tests)) | 1284 | (setq tests (ert--coerce-to-vector tests)) |
| 1280 | (let ((map (make-hash-table :size (length tests)))) | 1285 | (let ((map (make-hash-table :size (length tests)))) |
| 1281 | (loop for i from 0 | 1286 | (cl-loop for i from 0 |
| 1282 | for test across tests | 1287 | for test across tests |
| 1283 | for key = (ert--stats-test-key test) do | 1288 | for key = (ert--stats-test-key test) do |
| 1284 | (assert (not (gethash key map))) | 1289 | (cl-assert (not (gethash key map))) |
| 1285 | (setf (gethash key map) i)) | 1290 | (setf (gethash key map) i)) |
| 1286 | (make-ert--stats :selector selector | 1291 | (make-ert--stats :selector selector |
| 1287 | :tests tests | 1292 | :tests tests |
| 1288 | :test-map map | 1293 | :test-map map |
| @@ -1324,8 +1329,8 @@ SELECTOR is the selector that was used to select TESTS." | |||
| 1324 | (force-mode-line-update) | 1329 | (force-mode-line-update) |
| 1325 | (unwind-protect | 1330 | (unwind-protect |
| 1326 | (progn | 1331 | (progn |
| 1327 | (loop for test in tests do | 1332 | (cl-loop for test in tests do |
| 1328 | (ert-run-or-rerun-test stats test listener)) | 1333 | (ert-run-or-rerun-test stats test listener)) |
| 1329 | (setq abortedp nil)) | 1334 | (setq abortedp nil)) |
| 1330 | (setf (ert--stats-aborted-p stats) abortedp) | 1335 | (setf (ert--stats-aborted-p stats) abortedp) |
| 1331 | (setf (ert--stats-end-time stats) (current-time)) | 1336 | (setf (ert--stats-end-time stats) (current-time)) |
| @@ -1349,7 +1354,7 @@ SELECTOR is the selector that was used to select TESTS." | |||
| 1349 | "Return a character that represents the test result RESULT. | 1354 | "Return a character that represents the test result RESULT. |
| 1350 | 1355 | ||
| 1351 | EXPECTEDP specifies whether the result was expected." | 1356 | EXPECTEDP specifies whether the result was expected." |
| 1352 | (let ((s (etypecase result | 1357 | (let ((s (cl-etypecase result |
| 1353 | (ert-test-passed ".P") | 1358 | (ert-test-passed ".P") |
| 1354 | (ert-test-failed "fF") | 1359 | (ert-test-failed "fF") |
| 1355 | (null "--") | 1360 | (null "--") |
| @@ -1361,7 +1366,7 @@ EXPECTEDP specifies whether the result was expected." | |||
| 1361 | "Return a string that represents the test result RESULT. | 1366 | "Return a string that represents the test result RESULT. |
| 1362 | 1367 | ||
| 1363 | EXPECTEDP specifies whether the result was expected." | 1368 | EXPECTEDP specifies whether the result was expected." |
| 1364 | (let ((s (etypecase result | 1369 | (let ((s (cl-etypecase result |
| 1365 | (ert-test-passed '("passed" "PASSED")) | 1370 | (ert-test-passed '("passed" "PASSED")) |
| 1366 | (ert-test-failed '("failed" "FAILED")) | 1371 | (ert-test-failed '("failed" "FAILED")) |
| 1367 | (null '("unknown" "UNKNOWN")) | 1372 | (null '("unknown" "UNKNOWN")) |
| @@ -1383,9 +1388,9 @@ Ensures a final newline is inserted." | |||
| 1383 | "Insert `ert-info' infos from RESULT into current buffer. | 1388 | "Insert `ert-info' infos from RESULT into current buffer. |
| 1384 | 1389 | ||
| 1385 | RESULT must be an `ert-test-result-with-condition'." | 1390 | RESULT must be an `ert-test-result-with-condition'." |
| 1386 | (check-type result ert-test-result-with-condition) | 1391 | (cl-check-type result ert-test-result-with-condition) |
| 1387 | (dolist (info (ert-test-result-with-condition-infos result)) | 1392 | (dolist (info (ert-test-result-with-condition-infos result)) |
| 1388 | (destructuring-bind (prefix . message) info | 1393 | (cl-destructuring-bind (prefix . message) info |
| 1389 | (let ((begin (point)) | 1394 | (let ((begin (point)) |
| 1390 | (indentation (make-string (+ (length prefix) 4) ?\s)) | 1395 | (indentation (make-string (+ (length prefix) 4) ?\s)) |
| 1391 | (end nil)) | 1396 | (end nil)) |
| @@ -1421,14 +1426,14 @@ Returns the stats object." | |||
| 1421 | (ert-run-tests | 1426 | (ert-run-tests |
| 1422 | selector | 1427 | selector |
| 1423 | (lambda (event-type &rest event-args) | 1428 | (lambda (event-type &rest event-args) |
| 1424 | (ecase event-type | 1429 | (cl-ecase event-type |
| 1425 | (run-started | 1430 | (run-started |
| 1426 | (destructuring-bind (stats) event-args | 1431 | (cl-destructuring-bind (stats) event-args |
| 1427 | (message "Running %s tests (%s)" | 1432 | (message "Running %s tests (%s)" |
| 1428 | (length (ert--stats-tests stats)) | 1433 | (length (ert--stats-tests stats)) |
| 1429 | (ert--format-time-iso8601 (ert--stats-start-time stats))))) | 1434 | (ert--format-time-iso8601 (ert--stats-start-time stats))))) |
| 1430 | (run-ended | 1435 | (run-ended |
| 1431 | (destructuring-bind (stats abortedp) event-args | 1436 | (cl-destructuring-bind (stats abortedp) event-args |
| 1432 | (let ((unexpected (ert-stats-completed-unexpected stats)) | 1437 | (let ((unexpected (ert-stats-completed-unexpected stats)) |
| 1433 | (expected-failures (ert--stats-failed-expected stats))) | 1438 | (expected-failures (ert--stats-failed-expected stats))) |
| 1434 | (message "\n%sRan %s tests, %s results as expected%s (%s)%s\n" | 1439 | (message "\n%sRan %s tests, %s results as expected%s (%s)%s\n" |
| @@ -1446,19 +1451,19 @@ Returns the stats object." | |||
| 1446 | (format "\n%s expected failures" expected-failures))) | 1451 | (format "\n%s expected failures" expected-failures))) |
| 1447 | (unless (zerop unexpected) | 1452 | (unless (zerop unexpected) |
| 1448 | (message "%s unexpected results:" unexpected) | 1453 | (message "%s unexpected results:" unexpected) |
| 1449 | (loop for test across (ert--stats-tests stats) | 1454 | (cl-loop for test across (ert--stats-tests stats) |
| 1450 | for result = (ert-test-most-recent-result test) do | 1455 | for result = (ert-test-most-recent-result test) do |
| 1451 | (when (not (ert-test-result-expected-p test result)) | 1456 | (when (not (ert-test-result-expected-p test result)) |
| 1452 | (message "%9s %S" | 1457 | (message "%9s %S" |
| 1453 | (ert-string-for-test-result result nil) | 1458 | (ert-string-for-test-result result nil) |
| 1454 | (ert-test-name test)))) | 1459 | (ert-test-name test)))) |
| 1455 | (message "%s" ""))))) | 1460 | (message "%s" ""))))) |
| 1456 | (test-started | 1461 | (test-started |
| 1457 | ) | 1462 | ) |
| 1458 | (test-ended | 1463 | (test-ended |
| 1459 | (destructuring-bind (stats test result) event-args | 1464 | (cl-destructuring-bind (stats test result) event-args |
| 1460 | (unless (ert-test-result-expected-p test result) | 1465 | (unless (ert-test-result-expected-p test result) |
| 1461 | (etypecase result | 1466 | (cl-etypecase result |
| 1462 | (ert-test-passed | 1467 | (ert-test-passed |
| 1463 | (message "Test %S passed unexpectedly" (ert-test-name test))) | 1468 | (message "Test %S passed unexpectedly" (ert-test-name test))) |
| 1464 | (ert-test-result-with-condition | 1469 | (ert-test-result-with-condition |
| @@ -1484,7 +1489,7 @@ Returns the stats object." | |||
| 1484 | (ert--pp-with-indentation-and-newline | 1489 | (ert--pp-with-indentation-and-newline |
| 1485 | (ert-test-result-with-condition-condition result))) | 1490 | (ert-test-result-with-condition-condition result))) |
| 1486 | (goto-char (1- (point-max))) | 1491 | (goto-char (1- (point-max))) |
| 1487 | (assert (looking-at "\n")) | 1492 | (cl-assert (looking-at "\n")) |
| 1488 | (delete-char 1) | 1493 | (delete-char 1) |
| 1489 | (message "Test %S condition:" (ert-test-name test)) | 1494 | (message "Test %S condition:" (ert-test-name test)) |
| 1490 | (message "%s" (buffer-string)))) | 1495 | (message "%s" (buffer-string)))) |
| @@ -1532,7 +1537,7 @@ the tests)." | |||
| 1532 | (1 font-lock-keyword-face nil t) | 1537 | (1 font-lock-keyword-face nil t) |
| 1533 | (2 font-lock-function-name-face nil t))))) | 1538 | (2 font-lock-function-name-face nil t))))) |
| 1534 | 1539 | ||
| 1535 | (defun* ert--remove-from-list (list-var element &key key test) | 1540 | (cl-defun ert--remove-from-list (list-var element &key key test) |
| 1536 | "Remove ELEMENT from the value of LIST-VAR if present. | 1541 | "Remove ELEMENT from the value of LIST-VAR if present. |
| 1537 | 1542 | ||
| 1538 | This can be used as an inverse of `add-to-list'." | 1543 | This can be used as an inverse of `add-to-list'." |
| @@ -1557,7 +1562,7 @@ If ADD-DEFAULT-TO-PROMPT is non-nil, PROMPT will be modified to | |||
| 1557 | include the default, if any. | 1562 | include the default, if any. |
| 1558 | 1563 | ||
| 1559 | Signals an error if no test name was read." | 1564 | Signals an error if no test name was read." |
| 1560 | (etypecase default | 1565 | (cl-etypecase default |
| 1561 | (string (let ((symbol (intern-soft default))) | 1566 | (string (let ((symbol (intern-soft default))) |
| 1562 | (unless (and symbol (ert-test-boundp symbol)) | 1567 | (unless (and symbol (ert-test-boundp symbol)) |
| 1563 | (setq default nil)))) | 1568 | (setq default nil)))) |
| @@ -1614,11 +1619,11 @@ Nothing more than an interactive interface to `ert-make-test-unbound'." | |||
| 1614 | ;;; Display of test progress and results. | 1619 | ;;; Display of test progress and results. |
| 1615 | 1620 | ||
| 1616 | ;; An entry in the results buffer ewoc. There is one entry per test. | 1621 | ;; An entry in the results buffer ewoc. There is one entry per test. |
| 1617 | (defstruct ert--ewoc-entry | 1622 | (cl-defstruct ert--ewoc-entry |
| 1618 | (test (assert nil)) | 1623 | (test (cl-assert nil)) |
| 1619 | ;; If the result of this test was expected, its ewoc entry is hidden | 1624 | ;; If the result of this test was expected, its ewoc entry is hidden |
| 1620 | ;; initially. | 1625 | ;; initially. |
| 1621 | (hidden-p (assert nil)) | 1626 | (hidden-p (cl-assert nil)) |
| 1622 | ;; An ewoc entry may be collapsed to hide details such as the error | 1627 | ;; An ewoc entry may be collapsed to hide details such as the error |
| 1623 | ;; condition. | 1628 | ;; condition. |
| 1624 | ;; | 1629 | ;; |
| @@ -1694,7 +1699,7 @@ Also sets `ert--results-progress-bar-button-begin'." | |||
| 1694 | ((ert--stats-current-test stats) 'running) | 1699 | ((ert--stats-current-test stats) 'running) |
| 1695 | ((ert--stats-end-time stats) 'finished) | 1700 | ((ert--stats-end-time stats) 'finished) |
| 1696 | (t 'preparing)))) | 1701 | (t 'preparing)))) |
| 1697 | (ecase state | 1702 | (cl-ecase state |
| 1698 | (preparing | 1703 | (preparing |
| 1699 | (insert "")) | 1704 | (insert "")) |
| 1700 | (aborted | 1705 | (aborted |
| @@ -1705,12 +1710,12 @@ Also sets `ert--results-progress-bar-button-begin'." | |||
| 1705 | (t | 1710 | (t |
| 1706 | (insert "Aborted.")))) | 1711 | (insert "Aborted.")))) |
| 1707 | (running | 1712 | (running |
| 1708 | (assert (ert--stats-current-test stats)) | 1713 | (cl-assert (ert--stats-current-test stats)) |
| 1709 | (insert "Running test: ") | 1714 | (insert "Running test: ") |
| 1710 | (ert-insert-test-name-button (ert-test-name | 1715 | (ert-insert-test-name-button (ert-test-name |
| 1711 | (ert--stats-current-test stats)))) | 1716 | (ert--stats-current-test stats)))) |
| 1712 | (finished | 1717 | (finished |
| 1713 | (assert (not (ert--stats-current-test stats))) | 1718 | (cl-assert (not (ert--stats-current-test stats))) |
| 1714 | (insert "Finished."))) | 1719 | (insert "Finished."))) |
| 1715 | (insert "\n") | 1720 | (insert "\n") |
| 1716 | (if (ert--stats-end-time stats) | 1721 | (if (ert--stats-end-time stats) |
| @@ -1813,7 +1818,7 @@ non-nil, returns the face for expected results.." | |||
| 1813 | (defun ert-face-for-stats (stats) | 1818 | (defun ert-face-for-stats (stats) |
| 1814 | "Return a face that represents STATS." | 1819 | "Return a face that represents STATS." |
| 1815 | (cond ((ert--stats-aborted-p stats) 'nil) | 1820 | (cond ((ert--stats-aborted-p stats) 'nil) |
| 1816 | ((plusp (ert-stats-completed-unexpected stats)) | 1821 | ((cl-plusp (ert-stats-completed-unexpected stats)) |
| 1817 | (ert-face-for-test-result nil)) | 1822 | (ert-face-for-test-result nil)) |
| 1818 | ((eql (ert-stats-completed-expected stats) (ert-stats-total stats)) | 1823 | ((eql (ert-stats-completed-expected stats) (ert-stats-total stats)) |
| 1819 | (ert-face-for-test-result t)) | 1824 | (ert-face-for-test-result t)) |
| @@ -1824,7 +1829,7 @@ non-nil, returns the face for expected results.." | |||
| 1824 | (let* ((test (ert--ewoc-entry-test entry)) | 1829 | (let* ((test (ert--ewoc-entry-test entry)) |
| 1825 | (stats ert--results-stats) | 1830 | (stats ert--results-stats) |
| 1826 | (result (let ((pos (ert--stats-test-pos stats test))) | 1831 | (result (let ((pos (ert--stats-test-pos stats test))) |
| 1827 | (assert pos) | 1832 | (cl-assert pos) |
| 1828 | (aref (ert--stats-test-results stats) pos))) | 1833 | (aref (ert--stats-test-results stats) pos))) |
| 1829 | (hiddenp (ert--ewoc-entry-hidden-p entry)) | 1834 | (hiddenp (ert--ewoc-entry-hidden-p entry)) |
| 1830 | (expandedp (ert--ewoc-entry-expanded-p entry)) | 1835 | (expandedp (ert--ewoc-entry-expanded-p entry)) |
| @@ -1850,7 +1855,7 @@ non-nil, returns the face for expected results.." | |||
| 1850 | (ert--string-first-line (ert-test-documentation test)) | 1855 | (ert--string-first-line (ert-test-documentation test)) |
| 1851 | 'font-lock-face 'font-lock-doc-face) | 1856 | 'font-lock-face 'font-lock-doc-face) |
| 1852 | "\n")) | 1857 | "\n")) |
| 1853 | (etypecase result | 1858 | (cl-etypecase result |
| 1854 | (ert-test-passed | 1859 | (ert-test-passed |
| 1855 | (if (ert-test-result-expected-p test result) | 1860 | (if (ert-test-result-expected-p test result) |
| 1856 | (insert " passed\n") | 1861 | (insert " passed\n") |
| @@ -1908,9 +1913,10 @@ BUFFER-NAME, if non-nil, is the buffer name to use." | |||
| 1908 | (make-string (ert-stats-total stats) | 1913 | (make-string (ert-stats-total stats) |
| 1909 | (ert-char-for-test-result nil t))) | 1914 | (ert-char-for-test-result nil t))) |
| 1910 | (set (make-local-variable 'ert--results-listener) listener) | 1915 | (set (make-local-variable 'ert--results-listener) listener) |
| 1911 | (loop for test across (ert--stats-tests stats) do | 1916 | (cl-loop for test across (ert--stats-tests stats) do |
| 1912 | (ewoc-enter-last ewoc | 1917 | (ewoc-enter-last ewoc |
| 1913 | (make-ert--ewoc-entry :test test :hidden-p t))) | 1918 | (make-ert--ewoc-entry :test test |
| 1919 | :hidden-p t))) | ||
| 1914 | (ert--results-update-ewoc-hf ert--results-ewoc ert--results-stats) | 1920 | (ert--results-update-ewoc-hf ert--results-ewoc ert--results-stats) |
| 1915 | (goto-char (1- (point-max))) | 1921 | (goto-char (1- (point-max))) |
| 1916 | buffer))))) | 1922 | buffer))))) |
| @@ -1945,21 +1951,21 @@ and how to display message." | |||
| 1945 | default nil)) | 1951 | default nil)) |
| 1946 | nil)) | 1952 | nil)) |
| 1947 | (unless message-fn (setq message-fn 'message)) | 1953 | (unless message-fn (setq message-fn 'message)) |
| 1948 | (lexical-let ((output-buffer-name output-buffer-name) | 1954 | (let ((output-buffer-name output-buffer-name) |
| 1949 | buffer | 1955 | buffer |
| 1950 | listener | 1956 | listener |
| 1951 | (message-fn message-fn)) | 1957 | (message-fn message-fn)) |
| 1952 | (setq listener | 1958 | (setq listener |
| 1953 | (lambda (event-type &rest event-args) | 1959 | (lambda (event-type &rest event-args) |
| 1954 | (ecase event-type | 1960 | (cl-ecase event-type |
| 1955 | (run-started | 1961 | (run-started |
| 1956 | (destructuring-bind (stats) event-args | 1962 | (cl-destructuring-bind (stats) event-args |
| 1957 | (setq buffer (ert--setup-results-buffer stats | 1963 | (setq buffer (ert--setup-results-buffer stats |
| 1958 | listener | 1964 | listener |
| 1959 | output-buffer-name)) | 1965 | output-buffer-name)) |
| 1960 | (pop-to-buffer buffer))) | 1966 | (pop-to-buffer buffer))) |
| 1961 | (run-ended | 1967 | (run-ended |
| 1962 | (destructuring-bind (stats abortedp) event-args | 1968 | (cl-destructuring-bind (stats abortedp) event-args |
| 1963 | (funcall message-fn | 1969 | (funcall message-fn |
| 1964 | "%sRan %s tests, %s results were as expected%s" | 1970 | "%sRan %s tests, %s results were as expected%s" |
| 1965 | (if (not abortedp) | 1971 | (if (not abortedp) |
| @@ -1976,19 +1982,19 @@ and how to display message." | |||
| 1976 | ert--results-ewoc) | 1982 | ert--results-ewoc) |
| 1977 | stats))) | 1983 | stats))) |
| 1978 | (test-started | 1984 | (test-started |
| 1979 | (destructuring-bind (stats test) event-args | 1985 | (cl-destructuring-bind (stats test) event-args |
| 1980 | (with-current-buffer buffer | 1986 | (with-current-buffer buffer |
| 1981 | (let* ((ewoc ert--results-ewoc) | 1987 | (let* ((ewoc ert--results-ewoc) |
| 1982 | (pos (ert--stats-test-pos stats test)) | 1988 | (pos (ert--stats-test-pos stats test)) |
| 1983 | (node (ewoc-nth ewoc pos))) | 1989 | (node (ewoc-nth ewoc pos))) |
| 1984 | (assert node) | 1990 | (cl-assert node) |
| 1985 | (setf (ert--ewoc-entry-test (ewoc-data node)) test) | 1991 | (setf (ert--ewoc-entry-test (ewoc-data node)) test) |
| 1986 | (aset ert--results-progress-bar-string pos | 1992 | (aset ert--results-progress-bar-string pos |
| 1987 | (ert-char-for-test-result nil t)) | 1993 | (ert-char-for-test-result nil t)) |
| 1988 | (ert--results-update-stats-display-maybe ewoc stats) | 1994 | (ert--results-update-stats-display-maybe ewoc stats) |
| 1989 | (ewoc-invalidate ewoc node))))) | 1995 | (ewoc-invalidate ewoc node))))) |
| 1990 | (test-ended | 1996 | (test-ended |
| 1991 | (destructuring-bind (stats test result) event-args | 1997 | (cl-destructuring-bind (stats test result) event-args |
| 1992 | (with-current-buffer buffer | 1998 | (with-current-buffer buffer |
| 1993 | (let* ((ewoc ert--results-ewoc) | 1999 | (let* ((ewoc ert--results-ewoc) |
| 1994 | (pos (ert--stats-test-pos stats test)) | 2000 | (pos (ert--stats-test-pos stats test)) |
| @@ -2020,28 +2026,28 @@ and how to display message." | |||
| 2020 | (define-derived-mode ert-results-mode special-mode "ERT-Results" | 2026 | (define-derived-mode ert-results-mode special-mode "ERT-Results" |
| 2021 | "Major mode for viewing results of ERT test runs.") | 2027 | "Major mode for viewing results of ERT test runs.") |
| 2022 | 2028 | ||
| 2023 | (loop for (key binding) in | 2029 | (cl-loop for (key binding) in |
| 2024 | '(;; Stuff that's not in the menu. | 2030 | '( ;; Stuff that's not in the menu. |
| 2025 | ("\t" forward-button) | 2031 | ("\t" forward-button) |
| 2026 | ([backtab] backward-button) | 2032 | ([backtab] backward-button) |
| 2027 | ("j" ert-results-jump-between-summary-and-result) | 2033 | ("j" ert-results-jump-between-summary-and-result) |
| 2028 | ("L" ert-results-toggle-printer-limits-for-test-at-point) | 2034 | ("L" ert-results-toggle-printer-limits-for-test-at-point) |
| 2029 | ("n" ert-results-next-test) | 2035 | ("n" ert-results-next-test) |
| 2030 | ("p" ert-results-previous-test) | 2036 | ("p" ert-results-previous-test) |
| 2031 | ;; Stuff that is in the menu. | 2037 | ;; Stuff that is in the menu. |
| 2032 | ("R" ert-results-rerun-all-tests) | 2038 | ("R" ert-results-rerun-all-tests) |
| 2033 | ("r" ert-results-rerun-test-at-point) | 2039 | ("r" ert-results-rerun-test-at-point) |
| 2034 | ("d" ert-results-rerun-test-at-point-debugging-errors) | 2040 | ("d" ert-results-rerun-test-at-point-debugging-errors) |
| 2035 | ("." ert-results-find-test-at-point-other-window) | 2041 | ("." ert-results-find-test-at-point-other-window) |
| 2036 | ("b" ert-results-pop-to-backtrace-for-test-at-point) | 2042 | ("b" ert-results-pop-to-backtrace-for-test-at-point) |
| 2037 | ("m" ert-results-pop-to-messages-for-test-at-point) | 2043 | ("m" ert-results-pop-to-messages-for-test-at-point) |
| 2038 | ("l" ert-results-pop-to-should-forms-for-test-at-point) | 2044 | ("l" ert-results-pop-to-should-forms-for-test-at-point) |
| 2039 | ("h" ert-results-describe-test-at-point) | 2045 | ("h" ert-results-describe-test-at-point) |
| 2040 | ("D" ert-delete-test) | 2046 | ("D" ert-delete-test) |
| 2041 | ("T" ert-results-pop-to-timings) | 2047 | ("T" ert-results-pop-to-timings) |
| 2042 | ) | 2048 | ) |
| 2043 | do | 2049 | do |
| 2044 | (define-key ert-results-mode-map key binding)) | 2050 | (define-key ert-results-mode-map key binding)) |
| 2045 | 2051 | ||
| 2046 | (easy-menu-define ert-results-mode-menu ert-results-mode-map | 2052 | (easy-menu-define ert-results-mode-menu ert-results-mode-map |
| 2047 | "Menu for `ert-results-mode'." | 2053 | "Menu for `ert-results-mode'." |
| @@ -2121,15 +2127,15 @@ To be used in the ERT results buffer." | |||
| 2121 | EWOC-FN specifies the direction and should be either `ewoc-prev' | 2127 | EWOC-FN specifies the direction and should be either `ewoc-prev' |
| 2122 | or `ewoc-next'. If there are no more nodes in that direction, an | 2128 | or `ewoc-next'. If there are no more nodes in that direction, an |
| 2123 | error is signaled with the message ERROR-MESSAGE." | 2129 | error is signaled with the message ERROR-MESSAGE." |
| 2124 | (loop | 2130 | (cl-loop |
| 2125 | (setq node (funcall ewoc-fn ert--results-ewoc node)) | 2131 | (setq node (funcall ewoc-fn ert--results-ewoc node)) |
| 2126 | (when (null node) | 2132 | (when (null node) |
| 2127 | (error "%s" error-message)) | 2133 | (error "%s" error-message)) |
| 2128 | (unless (ert--ewoc-entry-hidden-p (ewoc-data node)) | 2134 | (unless (ert--ewoc-entry-hidden-p (ewoc-data node)) |
| 2129 | (goto-char (ewoc-location node)) | 2135 | (goto-char (ewoc-location node)) |
| 2130 | (return)))) | 2136 | (cl-return)))) |
| 2131 | 2137 | ||
| 2132 | (defun ert--results-expand-collapse-button-action (button) | 2138 | (defun ert--results-expand-collapse-button-action (_button) |
| 2133 | "Expand or collapse the test node BUTTON belongs to." | 2139 | "Expand or collapse the test node BUTTON belongs to." |
| 2134 | (let* ((ewoc ert--results-ewoc) | 2140 | (let* ((ewoc ert--results-ewoc) |
| 2135 | (node (save-excursion | 2141 | (node (save-excursion |
| @@ -2158,11 +2164,11 @@ To be used in the ERT results buffer." | |||
| 2158 | (defun ert--ewoc-position (ewoc node) | 2164 | (defun ert--ewoc-position (ewoc node) |
| 2159 | ;; checkdoc-order: nil | 2165 | ;; checkdoc-order: nil |
| 2160 | "Return the position of NODE in EWOC, or nil if NODE is not in EWOC." | 2166 | "Return the position of NODE in EWOC, or nil if NODE is not in EWOC." |
| 2161 | (loop for i from 0 | 2167 | (cl-loop for i from 0 |
| 2162 | for node-here = (ewoc-nth ewoc 0) then (ewoc-next ewoc node-here) | 2168 | for node-here = (ewoc-nth ewoc 0) then (ewoc-next ewoc node-here) |
| 2163 | do (when (eql node node-here) | 2169 | do (when (eql node node-here) |
| 2164 | (return i)) | 2170 | (cl-return i)) |
| 2165 | finally (return nil))) | 2171 | finally (cl-return nil))) |
| 2166 | 2172 | ||
| 2167 | (defun ert-results-jump-between-summary-and-result () | 2173 | (defun ert-results-jump-between-summary-and-result () |
| 2168 | "Jump back and forth between the test run summary and individual test results. | 2174 | "Jump back and forth between the test run summary and individual test results. |
| @@ -2210,7 +2216,7 @@ To be used in the ERT results buffer." | |||
| 2210 | "Return the test at point, or nil. | 2216 | "Return the test at point, or nil. |
| 2211 | 2217 | ||
| 2212 | To be used in the ERT results buffer." | 2218 | To be used in the ERT results buffer." |
| 2213 | (assert (eql major-mode 'ert-results-mode)) | 2219 | (cl-assert (eql major-mode 'ert-results-mode)) |
| 2214 | (if (ert--results-test-node-or-null-at-point) | 2220 | (if (ert--results-test-node-or-null-at-point) |
| 2215 | (let* ((node (ert--results-test-node-at-point)) | 2221 | (let* ((node (ert--results-test-node-at-point)) |
| 2216 | (test (ert--ewoc-entry-test (ewoc-data node)))) | 2222 | (test (ert--ewoc-entry-test (ewoc-data node)))) |
| @@ -2282,9 +2288,9 @@ definition." | |||
| 2282 | (point)) | 2288 | (point)) |
| 2283 | ((eventp last-command-event) | 2289 | ((eventp last-command-event) |
| 2284 | (posn-point (event-start last-command-event))) | 2290 | (posn-point (event-start last-command-event))) |
| 2285 | (t (assert nil)))) | 2291 | (t (cl-assert nil)))) |
| 2286 | 2292 | ||
| 2287 | (defun ert--results-progress-bar-button-action (button) | 2293 | (defun ert--results-progress-bar-button-action (_button) |
| 2288 | "Jump to details for the test represented by the character clicked in BUTTON." | 2294 | "Jump to details for the test represented by the character clicked in BUTTON." |
| 2289 | (goto-char (ert--button-action-position)) | 2295 | (goto-char (ert--button-action-position)) |
| 2290 | (ert-results-jump-between-summary-and-result)) | 2296 | (ert-results-jump-between-summary-and-result)) |
| @@ -2294,7 +2300,7 @@ definition." | |||
| 2294 | 2300 | ||
| 2295 | To be used in the ERT results buffer." | 2301 | To be used in the ERT results buffer." |
| 2296 | (interactive) | 2302 | (interactive) |
| 2297 | (assert (eql major-mode 'ert-results-mode)) | 2303 | (cl-assert (eql major-mode 'ert-results-mode)) |
| 2298 | (let ((selector (ert--stats-selector ert--results-stats))) | 2304 | (let ((selector (ert--stats-selector ert--results-stats))) |
| 2299 | (ert-run-tests-interactively selector (buffer-name)))) | 2305 | (ert-run-tests-interactively selector (buffer-name)))) |
| 2300 | 2306 | ||
| @@ -2303,13 +2309,13 @@ To be used in the ERT results buffer." | |||
| 2303 | 2309 | ||
| 2304 | To be used in the ERT results buffer." | 2310 | To be used in the ERT results buffer." |
| 2305 | (interactive) | 2311 | (interactive) |
| 2306 | (destructuring-bind (test redefinition-state) | 2312 | (cl-destructuring-bind (test redefinition-state) |
| 2307 | (ert--results-test-at-point-allow-redefinition) | 2313 | (ert--results-test-at-point-allow-redefinition) |
| 2308 | (when (null test) | 2314 | (when (null test) |
| 2309 | (error "No test at point")) | 2315 | (error "No test at point")) |
| 2310 | (let* ((stats ert--results-stats) | 2316 | (let* ((stats ert--results-stats) |
| 2311 | (progress-message (format "Running %stest %S" | 2317 | (progress-message (format "Running %stest %S" |
| 2312 | (ecase redefinition-state | 2318 | (cl-ecase redefinition-state |
| 2313 | ((nil) "") | 2319 | ((nil) "") |
| 2314 | (redefined "new definition of ") | 2320 | (redefined "new definition of ") |
| 2315 | (deleted "deleted ")) | 2321 | (deleted "deleted ")) |
| @@ -2350,7 +2356,7 @@ To be used in the ERT results buffer." | |||
| 2350 | (stats ert--results-stats) | 2356 | (stats ert--results-stats) |
| 2351 | (pos (ert--stats-test-pos stats test)) | 2357 | (pos (ert--stats-test-pos stats test)) |
| 2352 | (result (aref (ert--stats-test-results stats) pos))) | 2358 | (result (aref (ert--stats-test-results stats) pos))) |
| 2353 | (etypecase result | 2359 | (cl-etypecase result |
| 2354 | (ert-test-passed (error "Test passed, no backtrace available")) | 2360 | (ert-test-passed (error "Test passed, no backtrace available")) |
| 2355 | (ert-test-result-with-condition | 2361 | (ert-test-result-with-condition |
| 2356 | (let ((backtrace (ert-test-result-with-condition-backtrace result)) | 2362 | (let ((backtrace (ert-test-result-with-condition-backtrace result)) |
| @@ -2408,13 +2414,14 @@ To be used in the ERT results buffer." | |||
| 2408 | (ert-simple-view-mode) | 2414 | (ert-simple-view-mode) |
| 2409 | (if (null (ert-test-result-should-forms result)) | 2415 | (if (null (ert-test-result-should-forms result)) |
| 2410 | (insert "\n(No should forms during this test.)\n") | 2416 | (insert "\n(No should forms during this test.)\n") |
| 2411 | (loop for form-description in (ert-test-result-should-forms result) | 2417 | (cl-loop for form-description |
| 2412 | for i from 1 do | 2418 | in (ert-test-result-should-forms result) |
| 2413 | (insert "\n") | 2419 | for i from 1 do |
| 2414 | (insert (format "%s: " i)) | 2420 | (insert "\n") |
| 2415 | (let ((begin (point))) | 2421 | (insert (format "%s: " i)) |
| 2416 | (ert--pp-with-indentation-and-newline form-description) | 2422 | (let ((begin (point))) |
| 2417 | (ert--make-xrefs-region begin (point))))) | 2423 | (ert--pp-with-indentation-and-newline form-description) |
| 2424 | (ert--make-xrefs-region begin (point))))) | ||
| 2418 | (goto-char (point-min)) | 2425 | (goto-char (point-min)) |
| 2419 | (insert "`should' forms executed during test `") | 2426 | (insert "`should' forms executed during test `") |
| 2420 | (ert-insert-test-name-button (ert-test-name test)) | 2427 | (ert-insert-test-name-button (ert-test-name test)) |
| @@ -2443,17 +2450,16 @@ To be used in the ERT results buffer." | |||
| 2443 | To be used in the ERT results buffer." | 2450 | To be used in the ERT results buffer." |
| 2444 | (interactive) | 2451 | (interactive) |
| 2445 | (let* ((stats ert--results-stats) | 2452 | (let* ((stats ert--results-stats) |
| 2446 | (start-times (ert--stats-test-start-times stats)) | ||
| 2447 | (end-times (ert--stats-test-end-times stats)) | ||
| 2448 | (buffer (get-buffer-create "*ERT timings*")) | 2453 | (buffer (get-buffer-create "*ERT timings*")) |
| 2449 | (data (loop for test across (ert--stats-tests stats) | 2454 | (data (cl-loop for test across (ert--stats-tests stats) |
| 2450 | for start-time across (ert--stats-test-start-times stats) | 2455 | for start-time across (ert--stats-test-start-times |
| 2451 | for end-time across (ert--stats-test-end-times stats) | 2456 | stats) |
| 2452 | collect (list test | 2457 | for end-time across (ert--stats-test-end-times stats) |
| 2453 | (float-time (subtract-time end-time | 2458 | collect (list test |
| 2454 | start-time)))))) | 2459 | (float-time (subtract-time |
| 2460 | end-time start-time)))))) | ||
| 2455 | (setq data (sort data (lambda (a b) | 2461 | (setq data (sort data (lambda (a b) |
| 2456 | (> (second a) (second b))))) | 2462 | (> (cl-second a) (cl-second b))))) |
| 2457 | (pop-to-buffer buffer) | 2463 | (pop-to-buffer buffer) |
| 2458 | (let ((inhibit-read-only t)) | 2464 | (let ((inhibit-read-only t)) |
| 2459 | (buffer-disable-undo) | 2465 | (buffer-disable-undo) |
| @@ -2462,13 +2468,13 @@ To be used in the ERT results buffer." | |||
| 2462 | (if (null data) | 2468 | (if (null data) |
| 2463 | (insert "(No data)\n") | 2469 | (insert "(No data)\n") |
| 2464 | (insert (format "%-3s %8s %8s\n" "" "time" "cumul")) | 2470 | (insert (format "%-3s %8s %8s\n" "" "time" "cumul")) |
| 2465 | (loop for (test time) in data | 2471 | (cl-loop for (test time) in data |
| 2466 | for cumul-time = time then (+ cumul-time time) | 2472 | for cumul-time = time then (+ cumul-time time) |
| 2467 | for i from 1 do | 2473 | for i from 1 do |
| 2468 | (let ((begin (point))) | 2474 | (progn |
| 2469 | (insert (format "%3s: %8.3f %8.3f " i time cumul-time)) | 2475 | (insert (format "%3s: %8.3f %8.3f " i time cumul-time)) |
| 2470 | (ert-insert-test-name-button (ert-test-name test)) | 2476 | (ert-insert-test-name-button (ert-test-name test)) |
| 2471 | (insert "\n")))) | 2477 | (insert "\n")))) |
| 2472 | (goto-char (point-min)) | 2478 | (goto-char (point-min)) |
| 2473 | (insert "Tests by run time (seconds):\n\n") | 2479 | (insert "Tests by run time (seconds):\n\n") |
| 2474 | (forward-line 1)))) | 2480 | (forward-line 1)))) |
| @@ -2481,7 +2487,7 @@ To be used in the ERT results buffer." | |||
| 2481 | (error "Requires Emacs 24")) | 2487 | (error "Requires Emacs 24")) |
| 2482 | (let (test-name | 2488 | (let (test-name |
| 2483 | test-definition) | 2489 | test-definition) |
| 2484 | (etypecase test-or-test-name | 2490 | (cl-etypecase test-or-test-name |
| 2485 | (symbol (setq test-name test-or-test-name | 2491 | (symbol (setq test-name test-or-test-name |
| 2486 | test-definition (ert-get-test test-or-test-name))) | 2492 | test-definition (ert-get-test test-or-test-name))) |
| 2487 | (ert-test (setq test-name (ert-test-name test-or-test-name) | 2493 | (ert-test (setq test-name (ert-test-name test-or-test-name) |
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 64aac4b81db..df6680a6d94 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el | |||
| @@ -195,45 +195,34 @@ score-mode.el. KEYWORDS-CASE-INSENSITIVE non-nil means that for | |||
| 195 | font-lock keywords will not be case sensitive." | 195 | font-lock keywords will not be case sensitive." |
| 196 | (when lisp-syntax | 196 | (when lisp-syntax |
| 197 | (set-syntax-table lisp-mode-syntax-table)) | 197 | (set-syntax-table lisp-mode-syntax-table)) |
| 198 | (make-local-variable 'paragraph-ignore-fill-prefix) | 198 | (setq-local paragraph-ignore-fill-prefix t) |
| 199 | (setq paragraph-ignore-fill-prefix t) | 199 | (setq-local fill-paragraph-function 'lisp-fill-paragraph) |
| 200 | (make-local-variable 'fill-paragraph-function) | ||
| 201 | (setq fill-paragraph-function 'lisp-fill-paragraph) | ||
| 202 | ;; Adaptive fill mode gets the fill wrong for a one-line paragraph made of | 200 | ;; Adaptive fill mode gets the fill wrong for a one-line paragraph made of |
| 203 | ;; a single docstring. Let's fix it here. | 201 | ;; a single docstring. Let's fix it here. |
| 204 | (set (make-local-variable 'adaptive-fill-function) | 202 | (setq-local adaptive-fill-function |
| 205 | (lambda () (if (looking-at "\\s-+\"[^\n\"]+\"\\s-*$") ""))) | 203 | (lambda () (if (looking-at "\\s-+\"[^\n\"]+\"\\s-*$") ""))) |
| 206 | ;; Adaptive fill mode gets in the way of auto-fill, | 204 | ;; Adaptive fill mode gets in the way of auto-fill, |
| 207 | ;; and should make no difference for explicit fill | 205 | ;; and should make no difference for explicit fill |
| 208 | ;; because lisp-fill-paragraph should do the job. | 206 | ;; because lisp-fill-paragraph should do the job. |
| 209 | ;; I believe that newcomment's auto-fill code properly deals with it -stef | 207 | ;; I believe that newcomment's auto-fill code properly deals with it -stef |
| 210 | ;;(set (make-local-variable 'adaptive-fill-mode) nil) | 208 | ;;(set (make-local-variable 'adaptive-fill-mode) nil) |
| 211 | (make-local-variable 'indent-line-function) | 209 | (setq-local indent-line-function 'lisp-indent-line) |
| 212 | (setq indent-line-function 'lisp-indent-line) | 210 | (setq-local outline-regexp ";;;\\(;* [^ \t\n]\\|###autoload\\)\\|(") |
| 213 | (make-local-variable 'outline-regexp) | 211 | (setq-local outline-level 'lisp-outline-level) |
| 214 | (setq outline-regexp ";;;\\(;* [^ \t\n]\\|###autoload\\)\\|(") | 212 | (setq-local add-log-current-defun-function #'lisp-current-defun-name) |
| 215 | (make-local-variable 'outline-level) | 213 | (setq-local comment-start ";") |
| 216 | (setq outline-level 'lisp-outline-level) | ||
| 217 | (make-local-variable 'comment-start) | ||
| 218 | (setq comment-start ";") | ||
| 219 | (make-local-variable 'comment-start-skip) | ||
| 220 | ;; Look within the line for a ; following an even number of backslashes | 214 | ;; Look within the line for a ; following an even number of backslashes |
| 221 | ;; after either a non-backslash or the line beginning. | 215 | ;; after either a non-backslash or the line beginning. |
| 222 | (setq comment-start-skip "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *") | 216 | (setq-local comment-start-skip "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *") |
| 223 | (make-local-variable 'font-lock-comment-start-skip) | ||
| 224 | ;; Font lock mode uses this only when it KNOWS a comment is starting. | 217 | ;; Font lock mode uses this only when it KNOWS a comment is starting. |
| 225 | (setq font-lock-comment-start-skip ";+ *") | 218 | (setq-local font-lock-comment-start-skip ";+ *") |
| 226 | (make-local-variable 'comment-add) | 219 | (setq-local comment-add 1) ;default to `;;' in comment-region |
| 227 | (setq comment-add 1) ;default to `;;' in comment-region | 220 | (setq-local comment-column 40) |
| 228 | (make-local-variable 'comment-column) | ||
| 229 | (setq comment-column 40) | ||
| 230 | ;; Don't get confused by `;' in doc strings when paragraph-filling. | 221 | ;; Don't get confused by `;' in doc strings when paragraph-filling. |
| 231 | (set (make-local-variable 'comment-use-global-state) t) | 222 | (setq-local comment-use-global-state t) |
| 232 | (make-local-variable 'imenu-generic-expression) | 223 | (setq-local imenu-generic-expression lisp-imenu-generic-expression) |
| 233 | (setq imenu-generic-expression lisp-imenu-generic-expression) | 224 | (setq-local multibyte-syntax-as-symbol t) |
| 234 | (make-local-variable 'multibyte-syntax-as-symbol) | 225 | (setq-local syntax-begin-function 'beginning-of-defun) |
| 235 | (setq multibyte-syntax-as-symbol t) | ||
| 236 | (set (make-local-variable 'syntax-begin-function) 'beginning-of-defun) | ||
| 237 | (setq font-lock-defaults | 226 | (setq font-lock-defaults |
| 238 | `((lisp-font-lock-keywords | 227 | `((lisp-font-lock-keywords |
| 239 | lisp-font-lock-keywords-1 lisp-font-lock-keywords-2) | 228 | lisp-font-lock-keywords-1 lisp-font-lock-keywords-2) |
| @@ -249,6 +238,32 @@ font-lock keywords will not be case sensitive." | |||
| 249 | 1000 | 238 | 1000 |
| 250 | len))) | 239 | len))) |
| 251 | 240 | ||
| 241 | (defun lisp-current-defun-name () | ||
| 242 | "Return the name of the defun at point, or nil." | ||
| 243 | (save-excursion | ||
| 244 | (let ((location (point))) | ||
| 245 | ;; If we are now precisely at the beginning of a defun, make sure | ||
| 246 | ;; beginning-of-defun finds that one rather than the previous one. | ||
| 247 | (or (eobp) (forward-char 1)) | ||
| 248 | (beginning-of-defun) | ||
| 249 | ;; Make sure we are really inside the defun found, not after it. | ||
| 250 | (when (and (looking-at "\\s(") | ||
| 251 | (progn (end-of-defun) | ||
| 252 | (< location (point))) | ||
| 253 | (progn (forward-sexp -1) | ||
| 254 | (>= location (point)))) | ||
| 255 | (if (looking-at "\\s(") | ||
| 256 | (forward-char 1)) | ||
| 257 | ;; Skip the defining construct name, typically "defun" or | ||
| 258 | ;; "defvar". | ||
| 259 | (forward-sexp 1) | ||
| 260 | ;; The second element is usually a symbol being defined. If it | ||
| 261 | ;; is not, use the first symbol in it. | ||
| 262 | (skip-chars-forward " \t\n'(") | ||
| 263 | (buffer-substring-no-properties (point) | ||
| 264 | (progn (forward-sexp 1) | ||
| 265 | (point))))))) | ||
| 266 | |||
| 252 | (defvar lisp-mode-shared-map | 267 | (defvar lisp-mode-shared-map |
| 253 | (let ((map (make-sparse-keymap))) | 268 | (let ((map (make-sparse-keymap))) |
| 254 | (define-key map "\e\C-q" 'indent-sexp) | 269 | (define-key map "\e\C-q" 'indent-sexp) |
| @@ -519,10 +534,9 @@ or to switch back to an existing one. | |||
| 519 | Entry to this mode calls the value of `lisp-mode-hook' | 534 | Entry to this mode calls the value of `lisp-mode-hook' |
| 520 | if that value is non-nil." | 535 | if that value is non-nil." |
| 521 | (lisp-mode-variables nil t) | 536 | (lisp-mode-variables nil t) |
| 522 | (set (make-local-variable 'find-tag-default-function) 'lisp-find-tag-default) | 537 | (setq-local find-tag-default-function 'lisp-find-tag-default) |
| 523 | (make-local-variable 'comment-start-skip) | 538 | (setq-local comment-start-skip |
| 524 | (setq comment-start-skip | 539 | "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *") |
| 525 | "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *") | ||
| 526 | (setq imenu-case-fold-search t)) | 540 | (setq imenu-case-fold-search t)) |
| 527 | 541 | ||
| 528 | (defun lisp-find-tag-default () | 542 | (defun lisp-find-tag-default () |
| @@ -816,6 +830,7 @@ this command arranges for all errors to enter the debugger." | |||
| 816 | (defun eval-defun-1 (form) | 830 | (defun eval-defun-1 (form) |
| 817 | "Treat some expressions specially. | 831 | "Treat some expressions specially. |
| 818 | Reset the `defvar' and `defcustom' variables to the initial value. | 832 | Reset the `defvar' and `defcustom' variables to the initial value. |
| 833 | \(For `defcustom', use the :set function if there is one.) | ||
| 819 | Reinitialize the face according to the `defface' specification." | 834 | Reinitialize the face according to the `defface' specification." |
| 820 | ;; The code in edebug-defun should be consistent with this, but not | 835 | ;; The code in edebug-defun should be consistent with this, but not |
| 821 | ;; the same, since this gets a macroexpanded form. | 836 | ;; the same, since this gets a macroexpanded form. |
| @@ -831,14 +846,19 @@ Reinitialize the face according to the `defface' specification." | |||
| 831 | ;; `custom-declare-variable' with a quoted value arg. | 846 | ;; `custom-declare-variable' with a quoted value arg. |
| 832 | ((and (eq (car form) 'custom-declare-variable) | 847 | ((and (eq (car form) 'custom-declare-variable) |
| 833 | (default-boundp (eval (nth 1 form) lexical-binding))) | 848 | (default-boundp (eval (nth 1 form) lexical-binding))) |
| 834 | ;; Force variable to be bound. | 849 | ;; Force variable to be bound, using :set function if specified. |
| 835 | (set-default (eval (nth 1 form) lexical-binding) | 850 | (let ((setfunc (memq :set form))) |
| 836 | ;; The second arg is an expression that evaluates to | 851 | (when setfunc |
| 837 | ;; an expression. The second evaluation is the one | 852 | (setq setfunc (car-safe (cdr-safe setfunc))) |
| 838 | ;; normally performed not be normal execution but by | 853 | (or (functionp setfunc) (setq setfunc nil))) |
| 839 | ;; custom-initialize-set (for example), which does not | 854 | (funcall (or setfunc 'set-default) |
| 840 | ;; use lexical-binding. | 855 | (eval (nth 1 form) lexical-binding) |
| 841 | (eval (eval (nth 2 form) lexical-binding))) | 856 | ;; The second arg is an expression that evaluates to |
| 857 | ;; an expression. The second evaluation is the one | ||
| 858 | ;; normally performed not by normal execution but by | ||
| 859 | ;; custom-initialize-set (for example), which does not | ||
| 860 | ;; use lexical-binding. | ||
| 861 | (eval (eval (nth 2 form) lexical-binding)))) | ||
| 842 | form) | 862 | form) |
| 843 | ;; `defface' is macroexpanded to `custom-declare-face'. | 863 | ;; `defface' is macroexpanded to `custom-declare-face'. |
| 844 | ((eq (car form) 'custom-declare-face) | 864 | ((eq (car form) 'custom-declare-face) |
| @@ -847,21 +867,8 @@ Reinitialize the face according to the `defface' specification." | |||
| 847 | (setq face-new-frame-defaults | 867 | (setq face-new-frame-defaults |
| 848 | (assq-delete-all face-symbol face-new-frame-defaults)) | 868 | (assq-delete-all face-symbol face-new-frame-defaults)) |
| 849 | (put face-symbol 'face-defface-spec nil) | 869 | (put face-symbol 'face-defface-spec nil) |
| 850 | (put face-symbol 'face-documentation (nth 3 form)) | 870 | (put face-symbol 'face-override-spec nil)) |
| 851 | ;; Setting `customized-face' to the new spec after calling | 871 | form) |
| 852 | ;; the form, but preserving the old saved spec in `saved-face', | ||
| 853 | ;; imitates the situation when the new face spec is set | ||
| 854 | ;; temporarily for the current session in the customize | ||
| 855 | ;; buffer, thus allowing `face-user-default-spec' to use the | ||
| 856 | ;; new customized spec instead of the saved spec. | ||
| 857 | ;; Resetting `saved-face' temporarily to nil is needed to let | ||
| 858 | ;; `defface' change the spec, regardless of a saved spec. | ||
| 859 | (prog1 `(prog1 ,form | ||
| 860 | (put ,(nth 1 form) 'saved-face | ||
| 861 | ',(get face-symbol 'saved-face)) | ||
| 862 | (put ,(nth 1 form) 'customized-face | ||
| 863 | ,(nth 2 form))) | ||
| 864 | (put face-symbol 'saved-face nil)))) | ||
| 865 | ((eq (car form) 'progn) | 872 | ((eq (car form) 'progn) |
| 866 | (cons 'progn (mapcar 'eval-defun-1 (cdr form)))) | 873 | (cons 'progn (mapcar 'eval-defun-1 (cdr form)))) |
| 867 | (t form))) | 874 | (t form))) |
| @@ -914,11 +921,12 @@ Return the result of evaluation." | |||
| 914 | 921 | ||
| 915 | If the current defun is actually a call to `defvar' or `defcustom', | 922 | If the current defun is actually a call to `defvar' or `defcustom', |
| 916 | evaluating it this way resets the variable using its initial value | 923 | evaluating it this way resets the variable using its initial value |
| 917 | expression even if the variable already has some other value. | 924 | expression (using the defcustom's :set function if there is one), even |
| 918 | \(Normally `defvar' and `defcustom' do not alter the value if there | 925 | if the variable already has some other value. \(Normally `defvar' and |
| 919 | already is one.) In an analogous way, evaluating a `defface' | 926 | `defcustom' do not alter the value if there already is one.) In an |
| 920 | overrides any customizations of the face, so that it becomes | 927 | analogous way, evaluating a `defface' overrides any customizations of |
| 921 | defined exactly as the `defface' expression says. | 928 | the face, so that it becomes defined exactly as the `defface' expression |
| 929 | says. | ||
| 922 | 930 | ||
| 923 | If `eval-expression-debug-on-error' is non-nil, which is the default, | 931 | If `eval-expression-debug-on-error' is non-nil, which is the default, |
| 924 | this command arranges for all errors to enter the debugger. | 932 | this command arranges for all errors to enter the debugger. |
diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el index 540e0166ec2..d9c5316b1b8 100644 --- a/lisp/emacs-lisp/nadvice.el +++ b/lisp/emacs-lisp/nadvice.el | |||
| @@ -402,6 +402,56 @@ of the piece of advice." | |||
| 402 | (if (fboundp function-name) | 402 | (if (fboundp function-name) |
| 403 | (symbol-function function-name)))))) | 403 | (symbol-function function-name)))))) |
| 404 | 404 | ||
| 405 | ;; When code is advised, called-interactively-p needs to be taught to skip | ||
| 406 | ;; the advising frames. | ||
| 407 | ;; FIXME: This Major Ugly Hack won't handle calls to called-interactively-p | ||
| 408 | ;; done from the advised function if the deepest advice is an around advice! | ||
| 409 | ;; In other cases (calls from an advice or calls from the advised function when | ||
| 410 | ;; the deepest advice is not an around advice), it should hopefully get | ||
| 411 | ;; it right. | ||
| 412 | (add-hook 'called-interactively-p-functions | ||
| 413 | #'advice--called-interactively-skip) | ||
| 414 | (defun advice--called-interactively-skip (origi frame1 frame2) | ||
| 415 | (let* ((i origi) | ||
| 416 | (get-next-frame | ||
| 417 | (lambda () | ||
| 418 | (setq frame1 frame2) | ||
| 419 | (setq frame2 (internal--called-interactively-p--get-frame i)) | ||
| 420 | ;; (message "Advice Frame %d = %S" i frame2) | ||
| 421 | (setq i (1+ i))))) | ||
| 422 | (when (and (eq (nth 1 frame2) 'apply) | ||
| 423 | (progn | ||
| 424 | (funcall get-next-frame) | ||
| 425 | (advice--p (indirect-function (nth 1 frame2))))) | ||
| 426 | (funcall get-next-frame) | ||
| 427 | ;; If we now have the symbol, this was the head advice and | ||
| 428 | ;; we're done. | ||
| 429 | (while (advice--p (nth 1 frame1)) | ||
| 430 | ;; This was an inner advice called from some earlier advice. | ||
| 431 | ;; The stack frames look different depending on the particular | ||
| 432 | ;; kind of the earlier advice. | ||
| 433 | (let ((inneradvice (nth 1 frame1))) | ||
| 434 | (if (and (eq (nth 1 frame2) 'apply) | ||
| 435 | (progn | ||
| 436 | (funcall get-next-frame) | ||
| 437 | (advice--p (indirect-function | ||
| 438 | (nth 1 frame2))))) | ||
| 439 | ;; The earlier advice was something like a before/after | ||
| 440 | ;; advice where the "next" code is called directly by the | ||
| 441 | ;; advice--p object. | ||
| 442 | (funcall get-next-frame) | ||
| 443 | ;; It's apparently an around advice, where the "next" is | ||
| 444 | ;; called by the body of the advice in any way it sees fit, | ||
| 445 | ;; so we need to skip the frames of that body. | ||
| 446 | (while | ||
| 447 | (progn | ||
| 448 | (funcall get-next-frame) | ||
| 449 | (not (and (eq (nth 1 frame2) 'apply) | ||
| 450 | (eq (nth 3 frame2) inneradvice))))) | ||
| 451 | (funcall get-next-frame) | ||
| 452 | (funcall get-next-frame)))) | ||
| 453 | (- i origi 1)))) | ||
| 454 | |||
| 405 | 455 | ||
| 406 | (provide 'nadvice) | 456 | (provide 'nadvice) |
| 407 | ;;; nadvice.el ends here | 457 | ;;; nadvice.el ends here |
diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el index c3d78b3444b..592cb1b0174 100644 --- a/lisp/emacs-lisp/syntax.el +++ b/lisp/emacs-lisp/syntax.el | |||
| @@ -55,12 +55,18 @@ | |||
| 55 | ;; have to flush that cache between each function, and we couldn't use | 55 | ;; have to flush that cache between each function, and we couldn't use |
| 56 | ;; syntax-ppss-flush-cache since that would not only flush the cache but also | 56 | ;; syntax-ppss-flush-cache since that would not only flush the cache but also |
| 57 | ;; reset syntax-propertize--done which should not be done in this case). | 57 | ;; reset syntax-propertize--done which should not be done in this case). |
| 58 | "Mode-specific function to apply the syntax-table properties. | 58 | "Mode-specific function to apply `syntax-table' text properties. |
| 59 | Called with two arguments: START and END. | 59 | The value of this variable is a function to be called by Font |
| 60 | This function can call `syntax-ppss' on any position before END, but it | 60 | Lock mode, prior to performing syntactic fontification on a |
| 61 | should not call `syntax-ppss-flush-cache', which means that it should not | 61 | stretch of text. It is given two arguments, START and END: the |
| 62 | call `syntax-ppss' on some position and later modify the buffer on some | 62 | start and end of the text to be fontified. Major modes can |
| 63 | earlier position.") | 63 | specify a custom function to apply `syntax-table' properties to |
| 64 | override the default syntax table in special cases. | ||
| 65 | |||
| 66 | The specified function may call `syntax-ppss' on any position | ||
| 67 | before END, but it should not call `syntax-ppss-flush-cache', | ||
| 68 | which means that it should not call `syntax-ppss' on some | ||
| 69 | position and later modify the buffer on some earlier position.") | ||
| 64 | 70 | ||
| 65 | (defvar syntax-propertize-chunk-size 500) | 71 | (defvar syntax-propertize-chunk-size 500) |
| 66 | 72 | ||
| @@ -118,7 +124,7 @@ The arg RULES can be of the same form as in `syntax-propertize-rules'. | |||
| 118 | The return value is an object that can be passed as a rule to | 124 | The return value is an object that can be passed as a rule to |
| 119 | `syntax-propertize-rules'. | 125 | `syntax-propertize-rules'. |
| 120 | I.e. this is useful only when you want to share rules among several | 126 | I.e. this is useful only when you want to share rules among several |
| 121 | syntax-propertize-functions." | 127 | `syntax-propertize-function's." |
| 122 | (declare (debug syntax-propertize-rules)) | 128 | (declare (debug syntax-propertize-rules)) |
| 123 | ;; Precompile? Yeah, right! | 129 | ;; Precompile? Yeah, right! |
| 124 | ;; Seriously, tho, this is a macro for 2 reasons: | 130 | ;; Seriously, tho, this is a macro for 2 reasons: |
diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el index c6fff7aa443..722e6270e95 100644 --- a/lisp/emacs-lisp/trace.el +++ b/lisp/emacs-lisp/trace.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; trace.el --- tracing facility for Emacs Lisp functions | 1 | ;;; trace.el --- tracing facility for Emacs Lisp functions -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1998, 2000-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1993, 1998, 2000-2012 Free Software Foundation, Inc. |
| 4 | 4 | ||
| @@ -151,18 +151,15 @@ | |||
| 151 | 151 | ||
| 152 | ;;; Code: | 152 | ;;; Code: |
| 153 | 153 | ||
| 154 | (require 'advice) | ||
| 155 | |||
| 156 | (defgroup trace nil | 154 | (defgroup trace nil |
| 157 | "Tracing facility for Emacs Lisp functions." | 155 | "Tracing facility for Emacs Lisp functions." |
| 158 | :prefix "trace-" | 156 | :prefix "trace-" |
| 159 | :group 'lisp) | 157 | :group 'lisp) |
| 160 | 158 | ||
| 161 | ;;;###autoload | 159 | ;;;###autoload |
| 162 | (defcustom trace-buffer (purecopy "*trace-output*") | 160 | (defcustom trace-buffer "*trace-output*" |
| 163 | "Trace output will by default go to that buffer." | 161 | "Trace output will by default go to that buffer." |
| 164 | :type 'string | 162 | :type 'string) |
| 165 | :group 'trace) | ||
| 166 | 163 | ||
| 167 | ;; Current level of traced function invocation: | 164 | ;; Current level of traced function invocation: |
| 168 | (defvar trace-level 0) | 165 | (defvar trace-level 0) |
| @@ -176,78 +173,109 @@ | |||
| 176 | (defvar inhibit-trace nil | 173 | (defvar inhibit-trace nil |
| 177 | "If non-nil, all tracing is temporarily inhibited.") | 174 | "If non-nil, all tracing is temporarily inhibited.") |
| 178 | 175 | ||
| 179 | (defun trace-entry-message (function level argument-bindings) | 176 | (defun trace-entry-message (function level args context) |
| 180 | ;; Generates a string that describes that FUNCTION has been entered at | 177 | "Generate a string that describes that FUNCTION has been entered. |
| 181 | ;; trace LEVEL with ARGUMENT-BINDINGS. | 178 | LEVEL is the trace level, ARGS is the list of arguments passed to FUNCTION, |
| 182 | (format "%s%s%d -> %s: %s\n" | 179 | and CONTEXT is a string describing the dynamic context (e.g. values of |
| 183 | (mapconcat 'char-to-string (make-string (1- level) ?|) " ") | 180 | some global variables)." |
| 184 | (if (> level 1) " " "") | 181 | (let ((print-circle t)) |
| 185 | level | 182 | (format "%s%s%d -> %S%s\n" |
| 186 | function | 183 | (mapconcat 'char-to-string (make-string (1- level) ?|) " ") |
| 187 | (let ((print-circle t)) | 184 | (if (> level 1) " " "") |
| 188 | (mapconcat (lambda (binding) | 185 | level |
| 189 | (concat | 186 | (cons function args) |
| 190 | (symbol-name (ad-arg-binding-field binding 'name)) | 187 | context))) |
| 191 | "=" | 188 | |
| 192 | ;; do this so we'll see strings: | 189 | (defun trace-exit-message (function level value context) |
| 193 | (prin1-to-string | 190 | "Generate a string that describes that FUNCTION has exited. |
| 194 | (ad-arg-binding-field binding 'value)))) | 191 | LEVEL is the trace level, VALUE value returned by FUNCTION, |
| 195 | argument-bindings | 192 | and CONTEXT is a string describing the dynamic context (e.g. values of |
| 196 | " ")))) | 193 | some global variables)." |
| 197 | 194 | (let ((print-circle t)) | |
| 198 | (defun trace-exit-message (function level value) | 195 | (format "%s%s%d <- %s: %S%s\n" |
| 199 | ;; Generates a string that describes that FUNCTION has been exited at | 196 | (mapconcat 'char-to-string (make-string (1- level) ?|) " ") |
| 200 | ;; trace LEVEL and that it returned VALUE. | 197 | (if (> level 1) " " "") |
| 201 | (format "%s%s%d <- %s: %s\n" | 198 | level |
| 202 | (mapconcat 'char-to-string (make-string (1- level) ?|) " ") | 199 | function |
| 203 | (if (> level 1) " " "") | 200 | ;; Do this so we'll see strings: |
| 204 | level | 201 | value |
| 205 | function | 202 | context))) |
| 206 | ;; do this so we'll see strings: | 203 | |
| 207 | (let ((print-circle t)) (prin1-to-string value)))) | 204 | (defvar trace--timer nil) |
| 208 | 205 | ||
| 209 | (defun trace-make-advice (function buffer background) | 206 | (defun trace-make-advice (function buffer background context) |
| 210 | ;; Builds the piece of advice to be added to FUNCTION's advice info | 207 | "Build the piece of advice to be added to trace FUNCTION. |
| 211 | ;; so that it will generate the proper trace output in BUFFER | 208 | FUNCTION is the name of the traced function. |
| 212 | ;; (quietly if BACKGROUND is t). | 209 | BUFFER is the buffer where the trace should be printed. |
| 213 | (ad-make-advice | 210 | BACKGROUND if nil means to display BUFFER. |
| 214 | trace-advice-name nil t | 211 | CONTEXT if non-nil should be a function that returns extra info that should |
| 215 | `(advice | 212 | be printed along with the arguments in the trace." |
| 216 | lambda () | 213 | (lambda (body &rest args) |
| 217 | (let ((trace-level (1+ trace-level)) | 214 | (let ((trace-level (1+ trace-level)) |
| 218 | (trace-buffer (get-buffer-create ,buffer))) | 215 | (trace-buffer (get-buffer-create buffer)) |
| 219 | (unless inhibit-trace | 216 | (ctx (funcall context))) |
| 220 | (with-current-buffer trace-buffer | 217 | (unless inhibit-trace |
| 221 | (set (make-local-variable 'window-point-insertion-type) t) | 218 | (with-current-buffer trace-buffer |
| 222 | ,(unless background '(display-buffer trace-buffer)) | 219 | (set (make-local-variable 'window-point-insertion-type) t) |
| 223 | (goto-char (point-max)) | 220 | (unless (or background trace--timer |
| 224 | ;; Insert a separator from previous trace output: | 221 | (get-buffer-window trace-buffer 'visible)) |
| 225 | (if (= trace-level 1) (insert trace-separator)) | 222 | (setq trace--timer |
| 226 | (insert | 223 | ;; Postpone the display to some later time, in case we |
| 227 | (trace-entry-message | 224 | ;; can't actually do it now. |
| 228 | ',function trace-level ad-arg-bindings)))) | 225 | (run-with-timer 0 nil |
| 229 | ad-do-it | 226 | (lambda () |
| 230 | (unless inhibit-trace | 227 | (setq trace--timer nil) |
| 231 | (with-current-buffer trace-buffer | 228 | (display-buffer trace-buffer))))) |
| 232 | ,(unless background '(display-buffer trace-buffer)) | 229 | (goto-char (point-max)) |
| 233 | (goto-char (point-max)) | 230 | ;; Insert a separator from previous trace output: |
| 234 | (insert | 231 | (if (= trace-level 1) (insert trace-separator)) |
| 235 | (trace-exit-message | 232 | (insert |
| 236 | ',function trace-level ad-return-value)))))))) | 233 | (trace-entry-message |
| 237 | 234 | function trace-level args ctx)))) | |
| 238 | (defun trace-function-internal (function buffer background) | 235 | (let ((result)) |
| 239 | ;; Adds trace advice for FUNCTION and activates it. | 236 | (unwind-protect |
| 240 | (ad-add-advice | 237 | (setq result (list (apply body args))) |
| 241 | function | 238 | (unless inhibit-trace |
| 242 | (trace-make-advice function (or buffer trace-buffer) background) | 239 | (let ((ctx (funcall context))) |
| 243 | 'around 'last) | 240 | (with-current-buffer trace-buffer |
| 244 | (ad-activate function nil)) | 241 | (unless background (display-buffer trace-buffer)) |
| 242 | (goto-char (point-max)) | ||
| 243 | (insert | ||
| 244 | (trace-exit-message | ||
| 245 | function | ||
| 246 | trace-level | ||
| 247 | (if result (car result) '\!non-local\ exit\!) | ||
| 248 | ctx)))))) | ||
| 249 | (car result))))) | ||
| 250 | |||
| 251 | (defun trace-function-internal (function buffer background context) | ||
| 252 | "Add trace advice for FUNCTION." | ||
| 253 | (advice-add | ||
| 254 | function :around | ||
| 255 | (trace-make-advice function (or buffer trace-buffer) background | ||
| 256 | (or context (lambda () ""))) | ||
| 257 | `((name . ,trace-advice-name)))) | ||
| 245 | 258 | ||
| 246 | (defun trace-is-traced (function) | 259 | (defun trace-is-traced (function) |
| 247 | (ad-find-advice function 'around trace-advice-name)) | 260 | (advice-member-p trace-advice-name function)) |
| 261 | |||
| 262 | (defun trace--read-args (prompt) | ||
| 263 | (cons | ||
| 264 | (intern (completing-read prompt obarray 'fboundp t)) | ||
| 265 | (when current-prefix-arg | ||
| 266 | (list | ||
| 267 | (read-buffer "Output to buffer: " trace-buffer) | ||
| 268 | (let ((exp | ||
| 269 | (let ((minibuffer-completing-symbol t)) | ||
| 270 | (read-from-minibuffer "Context expression: " | ||
| 271 | nil read-expression-map t | ||
| 272 | 'read-expression-history)))) | ||
| 273 | `(lambda () | ||
| 274 | (let ((print-circle t)) | ||
| 275 | (concat " [" (prin1-to-string ,exp) "]")))))))) | ||
| 248 | 276 | ||
| 249 | ;;;###autoload | 277 | ;;;###autoload |
| 250 | (defun trace-function (function &optional buffer) | 278 | (defun trace-function-foreground (function &optional buffer context) |
| 251 | "Traces FUNCTION with trace output going to BUFFER. | 279 | "Traces FUNCTION with trace output going to BUFFER. |
| 252 | For every call of FUNCTION Lisp-style trace messages that display argument | 280 | For every call of FUNCTION Lisp-style trace messages that display argument |
| 253 | and return values will be inserted into BUFFER. This function generates the | 281 | and return values will be inserted into BUFFER. This function generates the |
| @@ -255,14 +283,11 @@ trace advice for FUNCTION and activates it together with any other advice | |||
| 255 | there might be!! The trace BUFFER will popup whenever FUNCTION is called. | 283 | there might be!! The trace BUFFER will popup whenever FUNCTION is called. |
| 256 | Do not use this to trace functions that switch buffers or do any other | 284 | Do not use this to trace functions that switch buffers or do any other |
| 257 | display oriented stuff, use `trace-function-background' instead." | 285 | display oriented stuff, use `trace-function-background' instead." |
| 258 | (interactive | 286 | (interactive (trace--read-args "Trace function: ")) |
| 259 | (list | 287 | (trace-function-internal function buffer nil context)) |
| 260 | (intern (completing-read "Trace function: " obarray 'fboundp t)) | ||
| 261 | (read-buffer "Output to buffer: " trace-buffer))) | ||
| 262 | (trace-function-internal function buffer nil)) | ||
| 263 | 288 | ||
| 264 | ;;;###autoload | 289 | ;;;###autoload |
| 265 | (defun trace-function-background (function &optional buffer) | 290 | (defun trace-function-background (function &optional buffer context) |
| 266 | "Traces FUNCTION with trace output going quietly to BUFFER. | 291 | "Traces FUNCTION with trace output going quietly to BUFFER. |
| 267 | When this tracing is enabled, every call to FUNCTION writes | 292 | When this tracing is enabled, every call to FUNCTION writes |
| 268 | a Lisp-style trace message (showing the arguments and return value) | 293 | a Lisp-style trace message (showing the arguments and return value) |
| @@ -272,12 +297,11 @@ The trace output goes to BUFFER quietly, without changing | |||
| 272 | the window or buffer configuration. | 297 | the window or buffer configuration. |
| 273 | 298 | ||
| 274 | BUFFER defaults to `trace-buffer'." | 299 | BUFFER defaults to `trace-buffer'." |
| 275 | (interactive | 300 | (interactive (trace--read-args "Trace function in background: ")) |
| 276 | (list | 301 | (trace-function-internal function buffer t context)) |
| 277 | (intern | 302 | |
| 278 | (completing-read "Trace function in background: " obarray 'fboundp t)) | 303 | ;;;###autoload |
| 279 | (read-buffer "Output to buffer: " trace-buffer))) | 304 | (defalias 'trace-function 'trace-function-foreground) |
| 280 | (trace-function-internal function buffer t)) | ||
| 281 | 305 | ||
| 282 | (defun untrace-function (function) | 306 | (defun untrace-function (function) |
| 283 | "Untraces FUNCTION and possibly activates all remaining advice. | 307 | "Untraces FUNCTION and possibly activates all remaining advice. |
| @@ -285,16 +309,14 @@ Activation is performed with `ad-update', hence remaining advice will get | |||
| 285 | activated only if the advice of FUNCTION is currently active. If FUNCTION | 309 | activated only if the advice of FUNCTION is currently active. If FUNCTION |
| 286 | was not traced this is a noop." | 310 | was not traced this is a noop." |
| 287 | (interactive | 311 | (interactive |
| 288 | (list (ad-read-advised-function "Untrace function" 'trace-is-traced))) | 312 | (list (intern (completing-read "Untrace function: " |
| 289 | (when (trace-is-traced function) | 313 | obarray #'trace-is-traced t)))) |
| 290 | (ad-remove-advice function 'around trace-advice-name) | 314 | (advice-remove function trace-advice-name)) |
| 291 | (ad-update function))) | ||
| 292 | 315 | ||
| 293 | (defun untrace-all () | 316 | (defun untrace-all () |
| 294 | "Untraces all currently traced functions." | 317 | "Untraces all currently traced functions." |
| 295 | (interactive) | 318 | (interactive) |
| 296 | (ad-do-advised-functions (function) | 319 | (mapatoms #'untrace-function)) |
| 297 | (untrace-function function))) | ||
| 298 | 320 | ||
| 299 | (provide 'trace) | 321 | (provide 'trace) |
| 300 | 322 | ||
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index e0a88461dc9..847b995997c 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog | |||
| @@ -1,3 +1,36 @@ | |||
| 1 | 2012-11-30 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * erc.el (erc-accidental-paste-threshold-seconds): Add :version. | ||
| 4 | |||
| 5 | 2012-11-30 Eric Hanchrow <eric.hanchrow@gmail.com> | ||
| 6 | |||
| 7 | * erc.el (erc-last-input-time): New variable. | ||
| 8 | (erc-accidental-paste-threshold-seconds): New option to avoid | ||
| 9 | sending accidentally-pasted text to the server (Bug#11592). | ||
| 10 | (erc-send-current-line): Use it. | ||
| 11 | |||
| 12 | 2012-11-30 Chong Yidong <cyd@gnu.org> | ||
| 13 | |||
| 14 | * erc.el (erc-lurker-cleanup, erc-lurker-p): Use float-time. | ||
| 15 | |||
| 16 | 2012-11-23 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17 | |||
| 18 | * erc-backend.el: Fix last change that missed calls to `second' | ||
| 19 | (bug#12970). | ||
| 20 | |||
| 21 | 2012-11-19 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22 | |||
| 23 | Use cl-lib instead of cl, and interactive-p => called-interactively-p. | ||
| 24 | * erc-track.el, erc-networks.el, erc-netsplit.el, erc-dcc.el: | ||
| 25 | * erc-backend.el: Use cl-lib, nth, pcase, and called-interactively-p | ||
| 26 | instead of cl. | ||
| 27 | * erc-speedbar.el, erc-services.el, erc-pcomplete.el, erc-notify.el: | ||
| 28 | * erc-match.el, erc-log.el, erc-join.el, erc-ezbounce.el: | ||
| 29 | * erc-capab.el: Don't require cl since we don't use it. | ||
| 30 | * erc.el: Use cl-lib, nth, pcase, and called-interactively-p i.s.o cl. | ||
| 31 | (erc-lurker-ignore-chars, erc-common-server-suffixes): | ||
| 32 | Move before first use. | ||
| 33 | |||
| 1 | 2012-11-16 Glenn Morris <rgm@gnu.org> | 34 | 2012-11-16 Glenn Morris <rgm@gnu.org> |
| 2 | 35 | ||
| 3 | * erc.el (erc-modules): Add "notifications". Tweak "hecomplete" doc. | 36 | * erc.el (erc-modules): Add "notifications". Tweak "hecomplete" doc. |
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index 90b96d7c763..9b28916623b 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el | |||
| @@ -98,7 +98,7 @@ | |||
| 98 | ;;; Code: | 98 | ;;; Code: |
| 99 | 99 | ||
| 100 | (require 'erc-compat) | 100 | (require 'erc-compat) |
| 101 | (eval-when-compile (require 'cl)) | 101 | (eval-when-compile (require 'cl-lib)) |
| 102 | ;; There's a fairly strong mutual dependency between erc.el and erc-backend.el. | 102 | ;; There's a fairly strong mutual dependency between erc.el and erc-backend.el. |
| 103 | ;; Luckily, erc.el does not need erc-backend.el for macroexpansion whereas the | 103 | ;; Luckily, erc.el does not need erc-backend.el for macroexpansion whereas the |
| 104 | ;; reverse is true: | 104 | ;; reverse is true: |
| @@ -109,7 +109,7 @@ | |||
| 109 | (defvar erc-server-responses (make-hash-table :test #'equal) | 109 | (defvar erc-server-responses (make-hash-table :test #'equal) |
| 110 | "Hashtable mapping server responses to their handler hooks.") | 110 | "Hashtable mapping server responses to their handler hooks.") |
| 111 | 111 | ||
| 112 | (defstruct (erc-response (:conc-name erc-response.)) | 112 | (cl-defstruct (erc-response (:conc-name erc-response.)) |
| 113 | (unparsed "" :type string) | 113 | (unparsed "" :type string) |
| 114 | (sender "" :type string) | 114 | (sender "" :type string) |
| 115 | (command "" :type string) | 115 | (command "" :type string) |
| @@ -950,7 +950,7 @@ PROCs `process-buffer' is `current-buffer' when this function is called." | |||
| 950 | (push str (erc-response.command-args msg)))) | 950 | (push str (erc-response.command-args msg)))) |
| 951 | 951 | ||
| 952 | (setf (erc-response.contents msg) | 952 | (setf (erc-response.contents msg) |
| 953 | (first (erc-response.command-args msg))) | 953 | (car (erc-response.command-args msg))) |
| 954 | 954 | ||
| 955 | (setf (erc-response.command-args msg) | 955 | (setf (erc-response.command-args msg) |
| 956 | (nreverse (erc-response.command-args msg))) | 956 | (nreverse (erc-response.command-args msg))) |
| @@ -1045,7 +1045,7 @@ Finds hooks by looking in the `erc-server-responses' hashtable." | |||
| 1045 | (name &rest name) | 1045 | (name &rest name) |
| 1046 | &optional sexp sexp def-body)) | 1046 | &optional sexp sexp def-body)) |
| 1047 | 1047 | ||
| 1048 | (defmacro* define-erc-response-handler ((name &rest aliases) | 1048 | (cl-defmacro define-erc-response-handler ((name &rest aliases) |
| 1049 | &optional extra-fn-doc extra-var-doc | 1049 | &optional extra-fn-doc extra-var-doc |
| 1050 | &rest fn-body) | 1050 | &rest fn-body) |
| 1051 | "Define an ERC handler hook/function pair. | 1051 | "Define an ERC handler hook/function pair. |
| @@ -1154,11 +1154,11 @@ add things to `%s' instead." | |||
| 1154 | "") | 1154 | "") |
| 1155 | name hook-name)) | 1155 | name hook-name)) |
| 1156 | (fn-alternates | 1156 | (fn-alternates |
| 1157 | (loop for alias in aliases | 1157 | (cl-loop for alias in aliases |
| 1158 | collect (intern (format "erc-server-%s" alias)))) | 1158 | collect (intern (format "erc-server-%s" alias)))) |
| 1159 | (var-alternates | 1159 | (var-alternates |
| 1160 | (loop for alias in aliases | 1160 | (cl-loop for alias in aliases |
| 1161 | collect (intern (format "erc-server-%s-functions" alias))))) | 1161 | collect (intern (format "erc-server-%s-functions" alias))))) |
| 1162 | `(prog2 | 1162 | `(prog2 |
| 1163 | ;; Normal hook variable. | 1163 | ;; Normal hook variable. |
| 1164 | (defvar ,hook-name ',fn-name ,(format hook-doc name)) | 1164 | (defvar ,hook-name ',fn-name ,(format hook-doc name)) |
| @@ -1172,19 +1172,19 @@ add things to `%s' instead." | |||
| 1172 | (put ',hook-name 'definition-name ',name) | 1172 | (put ',hook-name 'definition-name ',name) |
| 1173 | 1173 | ||
| 1174 | ;; Hashtable map of responses to hook variables | 1174 | ;; Hashtable map of responses to hook variables |
| 1175 | ,@(loop for response in (cons name aliases) | 1175 | ,@(cl-loop for response in (cons name aliases) |
| 1176 | for var in (cons hook-name var-alternates) | 1176 | for var in (cons hook-name var-alternates) |
| 1177 | collect `(puthash ,(format "%s" response) ',var | 1177 | collect `(puthash ,(format "%s" response) ',var |
| 1178 | erc-server-responses)) | 1178 | erc-server-responses)) |
| 1179 | ;; Alternates. | 1179 | ;; Alternates. |
| 1180 | ;; Functions are defaliased, hook variables are defvared so we | 1180 | ;; Functions are defaliased, hook variables are defvared so we |
| 1181 | ;; can add hooks to one alias, but not another. | 1181 | ;; can add hooks to one alias, but not another. |
| 1182 | ,@(loop for fn in fn-alternates | 1182 | ,@(cl-loop for fn in fn-alternates |
| 1183 | for var in var-alternates | 1183 | for var in var-alternates |
| 1184 | for a in aliases | 1184 | for a in aliases |
| 1185 | nconc (list `(defalias ',fn ',fn-name) | 1185 | nconc (list `(defalias ',fn ',fn-name) |
| 1186 | `(defvar ,var ',fn-name ,(format hook-doc a)) | 1186 | `(defvar ,var ',fn-name ,(format hook-doc a)) |
| 1187 | `(put ',var 'definition-name ',hook-name)))))) | 1187 | `(put ',var 'definition-name ',hook-name)))))) |
| 1188 | 1188 | ||
| 1189 | (define-erc-response-handler (ERROR) | 1189 | (define-erc-response-handler (ERROR) |
| 1190 | "Handle an ERROR command from the server." nil | 1190 | "Handle an ERROR command from the server." nil |
| @@ -1196,10 +1196,10 @@ add things to `%s' instead." | |||
| 1196 | (define-erc-response-handler (INVITE) | 1196 | (define-erc-response-handler (INVITE) |
| 1197 | "Handle invitation messages." | 1197 | "Handle invitation messages." |
| 1198 | nil | 1198 | nil |
| 1199 | (let ((target (first (erc-response.command-args parsed))) | 1199 | (let ((target (car (erc-response.command-args parsed))) |
| 1200 | (chnl (erc-response.contents parsed))) | 1200 | (chnl (erc-response.contents parsed))) |
| 1201 | (multiple-value-bind (nick login host) | 1201 | (pcase-let ((`(,nick ,login ,host) |
| 1202 | (values-list (erc-parse-user (erc-response.sender parsed))) | 1202 | (erc-parse-user (erc-response.sender parsed)))) |
| 1203 | (setq erc-invitation chnl) | 1203 | (setq erc-invitation chnl) |
| 1204 | (when (string= target (erc-current-nick)) | 1204 | (when (string= target (erc-current-nick)) |
| 1205 | (erc-display-message | 1205 | (erc-display-message |
| @@ -1212,8 +1212,8 @@ add things to `%s' instead." | |||
| 1212 | nil | 1212 | nil |
| 1213 | (let ((chnl (erc-response.contents parsed)) | 1213 | (let ((chnl (erc-response.contents parsed)) |
| 1214 | (buffer nil)) | 1214 | (buffer nil)) |
| 1215 | (multiple-value-bind (nick login host) | 1215 | (pcase-let ((`(,nick ,login ,host) |
| 1216 | (values-list (erc-parse-user (erc-response.sender parsed))) | 1216 | (erc-parse-user (erc-response.sender parsed)))) |
| 1217 | ;; strip the stupid combined JOIN facility (IRC 2.9) | 1217 | ;; strip the stupid combined JOIN facility (IRC 2.9) |
| 1218 | (if (string-match "^\\(.*\\)?\^g.*$" chnl) | 1218 | (if (string-match "^\\(.*\\)?\^g.*$" chnl) |
| 1219 | (setq chnl (match-string 1 chnl))) | 1219 | (setq chnl (match-string 1 chnl))) |
| @@ -1249,12 +1249,12 @@ add things to `%s' instead." | |||
| 1249 | 1249 | ||
| 1250 | (define-erc-response-handler (KICK) | 1250 | (define-erc-response-handler (KICK) |
| 1251 | "Handle kick messages received from the server." nil | 1251 | "Handle kick messages received from the server." nil |
| 1252 | (let* ((ch (first (erc-response.command-args parsed))) | 1252 | (let* ((ch (nth 0 (erc-response.command-args parsed))) |
| 1253 | (tgt (second (erc-response.command-args parsed))) | 1253 | (tgt (nth 1 (erc-response.command-args parsed))) |
| 1254 | (reason (erc-trim-string (erc-response.contents parsed))) | 1254 | (reason (erc-trim-string (erc-response.contents parsed))) |
| 1255 | (buffer (erc-get-buffer ch proc))) | 1255 | (buffer (erc-get-buffer ch proc))) |
| 1256 | (multiple-value-bind (nick login host) | 1256 | (pcase-let ((`(,nick ,login ,host) |
| 1257 | (values-list (erc-parse-user (erc-response.sender parsed))) | 1257 | (erc-parse-user (erc-response.sender parsed)))) |
| 1258 | (erc-remove-channel-member buffer tgt) | 1258 | (erc-remove-channel-member buffer tgt) |
| 1259 | (cond | 1259 | (cond |
| 1260 | ((string= tgt (erc-current-nick)) | 1260 | ((string= tgt (erc-current-nick)) |
| @@ -1277,11 +1277,11 @@ add things to `%s' instead." | |||
| 1277 | 1277 | ||
| 1278 | (define-erc-response-handler (MODE) | 1278 | (define-erc-response-handler (MODE) |
| 1279 | "Handle server mode changes." nil | 1279 | "Handle server mode changes." nil |
| 1280 | (let ((tgt (first (erc-response.command-args parsed))) | 1280 | (let ((tgt (car (erc-response.command-args parsed))) |
| 1281 | (mode (mapconcat 'identity (cdr (erc-response.command-args parsed)) | 1281 | (mode (mapconcat 'identity (cdr (erc-response.command-args parsed)) |
| 1282 | " "))) | 1282 | " "))) |
| 1283 | (multiple-value-bind (nick login host) | 1283 | (pcase-let ((`(,nick ,login ,host) |
| 1284 | (values-list (erc-parse-user (erc-response.sender parsed))) | 1284 | (erc-parse-user (erc-response.sender parsed)))) |
| 1285 | (erc-log (format "MODE: %s -> %s: %s" nick tgt mode)) | 1285 | (erc-log (format "MODE: %s -> %s: %s" nick tgt mode)) |
| 1286 | ;; dirty hack | 1286 | ;; dirty hack |
| 1287 | (let ((buf (cond ((erc-channel-p tgt) | 1287 | (let ((buf (cond ((erc-channel-p tgt) |
| @@ -1305,8 +1305,8 @@ add things to `%s' instead." | |||
| 1305 | "Handle nick change messages." nil | 1305 | "Handle nick change messages." nil |
| 1306 | (let ((nn (erc-response.contents parsed)) | 1306 | (let ((nn (erc-response.contents parsed)) |
| 1307 | bufs) | 1307 | bufs) |
| 1308 | (multiple-value-bind (nick login host) | 1308 | (pcase-let ((`(,nick ,login ,host) |
| 1309 | (values-list (erc-parse-user (erc-response.sender parsed))) | 1309 | (erc-parse-user (erc-response.sender parsed)))) |
| 1310 | (setq bufs (erc-buffer-list-with-nick nick proc)) | 1310 | (setq bufs (erc-buffer-list-with-nick nick proc)) |
| 1311 | (erc-log (format "NICK: %s -> %s" nick nn)) | 1311 | (erc-log (format "NICK: %s -> %s" nick nn)) |
| 1312 | ;; if we had a query with this user, make sure future messages will be | 1312 | ;; if we had a query with this user, make sure future messages will be |
| @@ -1340,11 +1340,11 @@ add things to `%s' instead." | |||
| 1340 | 1340 | ||
| 1341 | (define-erc-response-handler (PART) | 1341 | (define-erc-response-handler (PART) |
| 1342 | "Handle part messages." nil | 1342 | "Handle part messages." nil |
| 1343 | (let* ((chnl (first (erc-response.command-args parsed))) | 1343 | (let* ((chnl (car (erc-response.command-args parsed))) |
| 1344 | (reason (erc-trim-string (erc-response.contents parsed))) | 1344 | (reason (erc-trim-string (erc-response.contents parsed))) |
| 1345 | (buffer (erc-get-buffer chnl proc))) | 1345 | (buffer (erc-get-buffer chnl proc))) |
| 1346 | (multiple-value-bind (nick login host) | 1346 | (pcase-let ((`(,nick ,login ,host) |
| 1347 | (values-list (erc-parse-user (erc-response.sender parsed))) | 1347 | (erc-parse-user (erc-response.sender parsed)))) |
| 1348 | (erc-remove-channel-member buffer nick) | 1348 | (erc-remove-channel-member buffer nick) |
| 1349 | (erc-display-message parsed 'notice buffer | 1349 | (erc-display-message parsed 'notice buffer |
| 1350 | 'PART ?n nick ?u login | 1350 | 'PART ?n nick ?u login |
| @@ -1361,7 +1361,7 @@ add things to `%s' instead." | |||
| 1361 | 1361 | ||
| 1362 | (define-erc-response-handler (PING) | 1362 | (define-erc-response-handler (PING) |
| 1363 | "Handle ping messages." nil | 1363 | "Handle ping messages." nil |
| 1364 | (let ((pinger (first (erc-response.command-args parsed)))) | 1364 | (let ((pinger (car (erc-response.command-args parsed)))) |
| 1365 | (erc-log (format "PING: %s" pinger)) | 1365 | (erc-log (format "PING: %s" pinger)) |
| 1366 | ;; ping response to the server MUST be forced, or you can lose big | 1366 | ;; ping response to the server MUST be forced, or you can lose big |
| 1367 | (erc-server-send (format "PONG :%s" pinger) t) | 1367 | (erc-server-send (format "PONG :%s" pinger) t) |
| @@ -1379,7 +1379,7 @@ add things to `%s' instead." | |||
| 1379 | (when erc-verbose-server-ping | 1379 | (when erc-verbose-server-ping |
| 1380 | (erc-display-message | 1380 | (erc-display-message |
| 1381 | parsed 'notice proc 'PONG | 1381 | parsed 'notice proc 'PONG |
| 1382 | ?h (first (erc-response.command-args parsed)) ?i erc-server-lag | 1382 | ?h (car (erc-response.command-args parsed)) ?i erc-server-lag |
| 1383 | ?s (if (/= erc-server-lag 1) "s" ""))) | 1383 | ?s (if (/= erc-server-lag 1) "s" ""))) |
| 1384 | (erc-update-mode-line)))) | 1384 | (erc-update-mode-line)))) |
| 1385 | 1385 | ||
| @@ -1451,8 +1451,8 @@ add things to `%s' instead." | |||
| 1451 | "Another user has quit IRC." nil | 1451 | "Another user has quit IRC." nil |
| 1452 | (let ((reason (erc-response.contents parsed)) | 1452 | (let ((reason (erc-response.contents parsed)) |
| 1453 | bufs) | 1453 | bufs) |
| 1454 | (multiple-value-bind (nick login host) | 1454 | (pcase-let ((`(,nick ,login ,host) |
| 1455 | (values-list (erc-parse-user (erc-response.sender parsed))) | 1455 | (erc-parse-user (erc-response.sender parsed)))) |
| 1456 | (setq bufs (erc-buffer-list-with-nick nick proc)) | 1456 | (setq bufs (erc-buffer-list-with-nick nick proc)) |
| 1457 | (erc-remove-user nick) | 1457 | (erc-remove-user nick) |
| 1458 | (setq reason (erc-wash-quit-reason reason nick login host)) | 1458 | (setq reason (erc-wash-quit-reason reason nick login host)) |
| @@ -1462,12 +1462,12 @@ add things to `%s' instead." | |||
| 1462 | 1462 | ||
| 1463 | (define-erc-response-handler (TOPIC) | 1463 | (define-erc-response-handler (TOPIC) |
| 1464 | "The channel topic has changed." nil | 1464 | "The channel topic has changed." nil |
| 1465 | (let* ((ch (first (erc-response.command-args parsed))) | 1465 | (let* ((ch (car (erc-response.command-args parsed))) |
| 1466 | (topic (erc-trim-string (erc-response.contents parsed))) | 1466 | (topic (erc-trim-string (erc-response.contents parsed))) |
| 1467 | (time (format-time-string erc-server-timestamp-format | 1467 | (time (format-time-string erc-server-timestamp-format |
| 1468 | (current-time)))) | 1468 | (current-time)))) |
| 1469 | (multiple-value-bind (nick login host) | 1469 | (pcase-let ((`(,nick ,login ,host) |
| 1470 | (values-list (erc-parse-user (erc-response.sender parsed))) | 1470 | (erc-parse-user (erc-response.sender parsed)))) |
| 1471 | (erc-update-channel-member ch nick nick nil nil nil host login) | 1471 | (erc-update-channel-member ch nick nick nil nil nil host login) |
| 1472 | (erc-update-channel-topic ch (format "%s\C-o (%s, %s)" topic nick time)) | 1472 | (erc-update-channel-topic ch (format "%s\C-o (%s, %s)" topic nick time)) |
| 1473 | (erc-display-message parsed 'notice (erc-get-buffer ch proc) | 1473 | (erc-display-message parsed 'notice (erc-get-buffer ch proc) |
| @@ -1477,8 +1477,8 @@ add things to `%s' instead." | |||
| 1477 | (define-erc-response-handler (WALLOPS) | 1477 | (define-erc-response-handler (WALLOPS) |
| 1478 | "Display a WALLOPS message." nil | 1478 | "Display a WALLOPS message." nil |
| 1479 | (let ((message (erc-response.contents parsed))) | 1479 | (let ((message (erc-response.contents parsed))) |
| 1480 | (multiple-value-bind (nick login host) | 1480 | (pcase-let ((`(,nick ,login ,host) |
| 1481 | (values-list (erc-parse-user (erc-response.sender parsed))) | 1481 | (erc-parse-user (erc-response.sender parsed)))) |
| 1482 | (erc-display-message | 1482 | (erc-display-message |
| 1483 | parsed 'notice nil | 1483 | parsed 'notice nil |
| 1484 | 'WALLOPS ?n nick ?m message)))) | 1484 | 'WALLOPS ?n nick ?m message)))) |
| @@ -1486,7 +1486,7 @@ add things to `%s' instead." | |||
| 1486 | (define-erc-response-handler (001) | 1486 | (define-erc-response-handler (001) |
| 1487 | "Set `erc-server-current-nick' to reflect server settings and display the welcome message." | 1487 | "Set `erc-server-current-nick' to reflect server settings and display the welcome message." |
| 1488 | nil | 1488 | nil |
| 1489 | (erc-set-current-nick (first (erc-response.command-args parsed))) | 1489 | (erc-set-current-nick (car (erc-response.command-args parsed))) |
| 1490 | (erc-update-mode-line) ; needed here? | 1490 | (erc-update-mode-line) ; needed here? |
| 1491 | (setq erc-nick-change-attempt-count 0) | 1491 | (setq erc-nick-change-attempt-count 0) |
| 1492 | (setq erc-default-nicks (if (consp erc-nick) erc-nick (list erc-nick))) | 1492 | (setq erc-default-nicks (if (consp erc-nick) erc-nick (list erc-nick))) |
| @@ -1507,16 +1507,16 @@ add things to `%s' instead." | |||
| 1507 | 1507 | ||
| 1508 | (define-erc-response-handler (004) | 1508 | (define-erc-response-handler (004) |
| 1509 | "Display the server's identification." nil | 1509 | "Display the server's identification." nil |
| 1510 | (multiple-value-bind (server-name server-version) | 1510 | (pcase-let ((`(,server-name ,server-version) |
| 1511 | (values-list (cdr (erc-response.command-args parsed))) | 1511 | (cdr (erc-response.command-args parsed)))) |
| 1512 | (setq erc-server-version server-version) | 1512 | (setq erc-server-version server-version) |
| 1513 | (setq erc-server-announced-name server-name) | 1513 | (setq erc-server-announced-name server-name) |
| 1514 | (erc-update-mode-line-buffer (process-buffer proc)) | 1514 | (erc-update-mode-line-buffer (process-buffer proc)) |
| 1515 | (erc-display-message | 1515 | (erc-display-message |
| 1516 | parsed 'notice proc | 1516 | parsed 'notice proc |
| 1517 | 's004 ?s server-name ?v server-version | 1517 | 's004 ?s server-name ?v server-version |
| 1518 | ?U (fourth (erc-response.command-args parsed)) | 1518 | ?U (nth 3 (erc-response.command-args parsed)) |
| 1519 | ?C (fifth (erc-response.command-args parsed))))) | 1519 | ?C (nth 4 (erc-response.command-args parsed))))) |
| 1520 | 1520 | ||
| 1521 | (define-erc-response-handler (005) | 1521 | (define-erc-response-handler (005) |
| 1522 | "Set the variable `erc-server-parameters' and display the received message. | 1522 | "Set the variable `erc-server-parameters' and display the received message. |
| @@ -1547,7 +1547,7 @@ A server may send more than one 005 message." | |||
| 1547 | 1547 | ||
| 1548 | (define-erc-response-handler (221) | 1548 | (define-erc-response-handler (221) |
| 1549 | "Display the current user modes." nil | 1549 | "Display the current user modes." nil |
| 1550 | (let* ((nick (first (erc-response.command-args parsed))) | 1550 | (let* ((nick (car (erc-response.command-args parsed))) |
| 1551 | (modes (mapconcat 'identity | 1551 | (modes (mapconcat 'identity |
| 1552 | (cdr (erc-response.command-args parsed)) " "))) | 1552 | (cdr (erc-response.command-args parsed)) " "))) |
| 1553 | (erc-set-modes nick modes) | 1553 | (erc-set-modes nick modes) |
| @@ -1556,17 +1556,17 @@ A server may send more than one 005 message." | |||
| 1556 | (define-erc-response-handler (252) | 1556 | (define-erc-response-handler (252) |
| 1557 | "Display the number of IRC operators online." nil | 1557 | "Display the number of IRC operators online." nil |
| 1558 | (erc-display-message parsed 'notice 'active 's252 | 1558 | (erc-display-message parsed 'notice 'active 's252 |
| 1559 | ?i (second (erc-response.command-args parsed)))) | 1559 | ?i (cadr (erc-response.command-args parsed)))) |
| 1560 | 1560 | ||
| 1561 | (define-erc-response-handler (253) | 1561 | (define-erc-response-handler (253) |
| 1562 | "Display the number of unknown connections." nil | 1562 | "Display the number of unknown connections." nil |
| 1563 | (erc-display-message parsed 'notice 'active 's253 | 1563 | (erc-display-message parsed 'notice 'active 's253 |
| 1564 | ?i (second (erc-response.command-args parsed)))) | 1564 | ?i (cadr (erc-response.command-args parsed)))) |
| 1565 | 1565 | ||
| 1566 | (define-erc-response-handler (254) | 1566 | (define-erc-response-handler (254) |
| 1567 | "Display the number of channels formed." nil | 1567 | "Display the number of channels formed." nil |
| 1568 | (erc-display-message parsed 'notice 'active 's254 | 1568 | (erc-display-message parsed 'notice 'active 's254 |
| 1569 | ?i (second (erc-response.command-args parsed)))) | 1569 | ?i (cadr (erc-response.command-args parsed)))) |
| 1570 | 1570 | ||
| 1571 | (define-erc-response-handler (250 251 255 256 257 258 259 265 266 377 378) | 1571 | (define-erc-response-handler (250 251 255 256 257 258 259 265 266 377 378) |
| 1572 | "Generic display of server messages as notices. | 1572 | "Generic display of server messages as notices. |
| @@ -1576,8 +1576,8 @@ See `erc-display-server-message'." nil | |||
| 1576 | 1576 | ||
| 1577 | (define-erc-response-handler (275) | 1577 | (define-erc-response-handler (275) |
| 1578 | "Display secure connection message." nil | 1578 | "Display secure connection message." nil |
| 1579 | (multiple-value-bind (nick user message) | 1579 | (pcase-let ((`(,nick ,user ,message) |
| 1580 | (values-list (cdr (erc-response.command-args parsed))) | 1580 | (cdr (erc-response.command-args parsed)))) |
| 1581 | (erc-display-message | 1581 | (erc-display-message |
| 1582 | parsed 'notice 'active 's275 | 1582 | parsed 'notice 'active 's275 |
| 1583 | ?n nick | 1583 | ?n nick |
| @@ -1590,13 +1590,13 @@ See `erc-display-server-message'." nil | |||
| 1590 | (define-erc-response-handler (301) | 1590 | (define-erc-response-handler (301) |
| 1591 | "AWAY notice." nil | 1591 | "AWAY notice." nil |
| 1592 | (erc-display-message parsed 'notice 'active 's301 | 1592 | (erc-display-message parsed 'notice 'active 's301 |
| 1593 | ?n (second (erc-response.command-args parsed)) | 1593 | ?n (cadr (erc-response.command-args parsed)) |
| 1594 | ?r (erc-response.contents parsed))) | 1594 | ?r (erc-response.contents parsed))) |
| 1595 | 1595 | ||
| 1596 | (define-erc-response-handler (303) | 1596 | (define-erc-response-handler (303) |
| 1597 | "ISON reply" nil | 1597 | "ISON reply" nil |
| 1598 | (erc-display-message parsed 'notice 'active 's303 | 1598 | (erc-display-message parsed 'notice 'active 's303 |
| 1599 | ?n (second (erc-response.command-args parsed)))) | 1599 | ?n (cadr (erc-response.command-args parsed)))) |
| 1600 | 1600 | ||
| 1601 | (define-erc-response-handler (305) | 1601 | (define-erc-response-handler (305) |
| 1602 | "Return from AWAYness." nil | 1602 | "Return from AWAYness." nil |
| @@ -1612,8 +1612,8 @@ See `erc-display-server-message'." nil | |||
| 1612 | 1612 | ||
| 1613 | (define-erc-response-handler (307) | 1613 | (define-erc-response-handler (307) |
| 1614 | "Display nick-identified message." nil | 1614 | "Display nick-identified message." nil |
| 1615 | (multiple-value-bind (nick user message) | 1615 | (pcase-let ((`(,nick ,user ,message) |
| 1616 | (values-list (cdr (erc-response.command-args parsed))) | 1616 | (cdr (erc-response.command-args parsed)))) |
| 1617 | (erc-display-message | 1617 | (erc-display-message |
| 1618 | parsed 'notice 'active 's307 | 1618 | parsed 'notice 'active 's307 |
| 1619 | ?n nick | 1619 | ?n nick |
| @@ -1624,8 +1624,8 @@ See `erc-display-server-message'." nil | |||
| 1624 | "WHOIS/WHOWAS notices." nil | 1624 | "WHOIS/WHOWAS notices." nil |
| 1625 | (let ((fname (erc-response.contents parsed)) | 1625 | (let ((fname (erc-response.contents parsed)) |
| 1626 | (catalog-entry (intern (format "s%s" (erc-response.command parsed))))) | 1626 | (catalog-entry (intern (format "s%s" (erc-response.command parsed))))) |
| 1627 | (multiple-value-bind (nick user host) | 1627 | (pcase-let ((`(,nick ,user ,host) |
| 1628 | (values-list (cdr (erc-response.command-args parsed))) | 1628 | (cdr (erc-response.command-args parsed)))) |
| 1629 | (erc-update-user-nick nick nick host nil fname user) | 1629 | (erc-update-user-nick nick nick host nil fname user) |
| 1630 | (erc-display-message | 1630 | (erc-display-message |
| 1631 | parsed 'notice 'active catalog-entry | 1631 | parsed 'notice 'active catalog-entry |
| @@ -1633,8 +1633,8 @@ See `erc-display-server-message'." nil | |||
| 1633 | 1633 | ||
| 1634 | (define-erc-response-handler (312) | 1634 | (define-erc-response-handler (312) |
| 1635 | "Server name response in WHOIS." nil | 1635 | "Server name response in WHOIS." nil |
| 1636 | (multiple-value-bind (nick server-host) | 1636 | (pcase-let ((`(,nick ,server-host)) |
| 1637 | (values-list (cdr (erc-response.command-args parsed))) | 1637 | (cdr (erc-response.command-args parsed))) |
| 1638 | (erc-display-message | 1638 | (erc-display-message |
| 1639 | parsed 'notice 'active 's312 | 1639 | parsed 'notice 'active 's312 |
| 1640 | ?n nick ?s server-host ?c (erc-response.contents parsed)))) | 1640 | ?n nick ?s server-host ?c (erc-response.contents parsed)))) |
| @@ -1643,7 +1643,7 @@ See `erc-display-server-message'." nil | |||
| 1643 | "IRC Operator response in WHOIS." nil | 1643 | "IRC Operator response in WHOIS." nil |
| 1644 | (erc-display-message | 1644 | (erc-display-message |
| 1645 | parsed 'notice 'active 's313 | 1645 | parsed 'notice 'active 's313 |
| 1646 | ?n (second (erc-response.command-args parsed)))) | 1646 | ?n (cadr (erc-response.command-args parsed)))) |
| 1647 | 1647 | ||
| 1648 | (define-erc-response-handler (315 318 323 369) | 1648 | (define-erc-response-handler (315 318 323 369) |
| 1649 | ;; 315 - End of WHO | 1649 | ;; 315 - End of WHO |
| @@ -1655,8 +1655,8 @@ See `erc-display-server-message'." nil | |||
| 1655 | 1655 | ||
| 1656 | (define-erc-response-handler (317) | 1656 | (define-erc-response-handler (317) |
| 1657 | "IDLE notice." nil | 1657 | "IDLE notice." nil |
| 1658 | (multiple-value-bind (nick seconds-idle on-since time) | 1658 | (pcase-let ((`(,nick ,seconds-idle ,on-since ,time) |
| 1659 | (values-list (cdr (erc-response.command-args parsed))) | 1659 | (cdr (erc-response.command-args parsed)))) |
| 1660 | (setq time (when on-since | 1660 | (setq time (when on-since |
| 1661 | (format-time-string erc-server-timestamp-format | 1661 | (format-time-string erc-server-timestamp-format |
| 1662 | (erc-string-to-emacs-time on-since)))) | 1662 | (erc-string-to-emacs-time on-since)))) |
| @@ -1674,14 +1674,14 @@ See `erc-display-server-message'." nil | |||
| 1674 | "Channel names in WHOIS response." nil | 1674 | "Channel names in WHOIS response." nil |
| 1675 | (erc-display-message | 1675 | (erc-display-message |
| 1676 | parsed 'notice 'active 's319 | 1676 | parsed 'notice 'active 's319 |
| 1677 | ?n (second (erc-response.command-args parsed)) | 1677 | ?n (cadr (erc-response.command-args parsed)) |
| 1678 | ?c (erc-response.contents parsed))) | 1678 | ?c (erc-response.contents parsed))) |
| 1679 | 1679 | ||
| 1680 | (define-erc-response-handler (320) | 1680 | (define-erc-response-handler (320) |
| 1681 | "Identified user in WHOIS." nil | 1681 | "Identified user in WHOIS." nil |
| 1682 | (erc-display-message | 1682 | (erc-display-message |
| 1683 | parsed 'notice 'active 's320 | 1683 | parsed 'notice 'active 's320 |
| 1684 | ?n (second (erc-response.command-args parsed)))) | 1684 | ?n (cadr (erc-response.command-args parsed)))) |
| 1685 | 1685 | ||
| 1686 | (define-erc-response-handler (321) | 1686 | (define-erc-response-handler (321) |
| 1687 | "LIST header." nil | 1687 | "LIST header." nil |
| @@ -1696,16 +1696,16 @@ See `erc-display-server-message'." nil | |||
| 1696 | (define-erc-response-handler (322) | 1696 | (define-erc-response-handler (322) |
| 1697 | "LIST notice." nil | 1697 | "LIST notice." nil |
| 1698 | (let ((topic (erc-response.contents parsed))) | 1698 | (let ((topic (erc-response.contents parsed))) |
| 1699 | (multiple-value-bind (channel num-users) | 1699 | (pcase-let ((`(,channel ,num-users) |
| 1700 | (values-list (cdr (erc-response.command-args parsed))) | 1700 | (cdr (erc-response.command-args parsed)))) |
| 1701 | (add-to-list 'erc-channel-list (list channel)) | 1701 | (add-to-list 'erc-channel-list (list channel)) |
| 1702 | (erc-update-channel-topic channel topic)))) | 1702 | (erc-update-channel-topic channel topic)))) |
| 1703 | 1703 | ||
| 1704 | (defun erc-server-322-message (proc parsed) | 1704 | (defun erc-server-322-message (proc parsed) |
| 1705 | "Display a message for the 322 event." | 1705 | "Display a message for the 322 event." |
| 1706 | (let ((topic (erc-response.contents parsed))) | 1706 | (let ((topic (erc-response.contents parsed))) |
| 1707 | (multiple-value-bind (channel num-users) | 1707 | (pcase-let ((`(,channel ,num-users) |
| 1708 | (values-list (cdr (erc-response.command-args parsed))) | 1708 | (cdr (erc-response.command-args parsed)))) |
| 1709 | (erc-display-message | 1709 | (erc-display-message |
| 1710 | parsed 'notice proc 's322 | 1710 | parsed 'notice proc 's322 |
| 1711 | ?c channel ?u num-users ?t (or topic ""))))) | 1711 | ?c channel ?u num-users ?t (or topic ""))))) |
| @@ -1713,7 +1713,7 @@ See `erc-display-server-message'." nil | |||
| 1713 | 1713 | ||
| 1714 | (define-erc-response-handler (324) | 1714 | (define-erc-response-handler (324) |
| 1715 | "Channel or nick modes." nil | 1715 | "Channel or nick modes." nil |
| 1716 | (let ((channel (second (erc-response.command-args parsed))) | 1716 | (let ((channel (cadr (erc-response.command-args parsed))) |
| 1717 | (modes (mapconcat 'identity (cddr (erc-response.command-args parsed)) | 1717 | (modes (mapconcat 'identity (cddr (erc-response.command-args parsed)) |
| 1718 | " "))) | 1718 | " "))) |
| 1719 | (erc-set-modes channel modes) | 1719 | (erc-set-modes channel modes) |
| @@ -1723,16 +1723,16 @@ See `erc-display-server-message'." nil | |||
| 1723 | 1723 | ||
| 1724 | (define-erc-response-handler (328) | 1724 | (define-erc-response-handler (328) |
| 1725 | "Channel URL (on freenode network)." nil | 1725 | "Channel URL (on freenode network)." nil |
| 1726 | (let ((channel (second (erc-response.command-args parsed))) | 1726 | (let ((channel (cadr (erc-response.command-args parsed))) |
| 1727 | (url (erc-response.contents parsed))) | 1727 | (url (erc-response.contents parsed))) |
| 1728 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) | 1728 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) |
| 1729 | 's328 ?c channel ?u url))) | 1729 | 's328 ?c channel ?u url))) |
| 1730 | 1730 | ||
| 1731 | (define-erc-response-handler (329) | 1731 | (define-erc-response-handler (329) |
| 1732 | "Channel creation date." nil | 1732 | "Channel creation date." nil |
| 1733 | (let ((channel (second (erc-response.command-args parsed))) | 1733 | (let ((channel (cadr (erc-response.command-args parsed))) |
| 1734 | (time (erc-string-to-emacs-time | 1734 | (time (erc-string-to-emacs-time |
| 1735 | (third (erc-response.command-args parsed))))) | 1735 | (nth 2 (erc-response.command-args parsed))))) |
| 1736 | (erc-display-message | 1736 | (erc-display-message |
| 1737 | parsed 'notice (erc-get-buffer channel proc) | 1737 | parsed 'notice (erc-get-buffer channel proc) |
| 1738 | 's329 ?c channel ?t (format-time-string erc-server-timestamp-format | 1738 | 's329 ?c channel ?t (format-time-string erc-server-timestamp-format |
| @@ -1748,22 +1748,22 @@ See `erc-display-server-message'." nil | |||
| 1748 | ;; authaccount == (aref parsed 4) | 1748 | ;; authaccount == (aref parsed 4) |
| 1749 | ;; authmsg == (aref parsed 5) | 1749 | ;; authmsg == (aref parsed 5) |
| 1750 | ;; The guesses below are, well, just that. -- Lawrence 2004/05/10 | 1750 | ;; The guesses below are, well, just that. -- Lawrence 2004/05/10 |
| 1751 | (let ((nick (second (erc-response.command-args parsed))) | 1751 | (let ((nick (cadr (erc-response.command-args parsed))) |
| 1752 | (authaccount (third (erc-response.command-args parsed))) | 1752 | (authaccount (nth 2 (erc-response.command-args parsed))) |
| 1753 | (authmsg (erc-response.contents parsed))) | 1753 | (authmsg (erc-response.contents parsed))) |
| 1754 | (erc-display-message parsed 'notice 'active 's330 | 1754 | (erc-display-message parsed 'notice 'active 's330 |
| 1755 | ?n nick ?a authmsg ?i authaccount))) | 1755 | ?n nick ?a authmsg ?i authaccount))) |
| 1756 | 1756 | ||
| 1757 | (define-erc-response-handler (331) | 1757 | (define-erc-response-handler (331) |
| 1758 | "No topic set for channel." nil | 1758 | "No topic set for channel." nil |
| 1759 | (let ((channel (second (erc-response.command-args parsed))) | 1759 | (let ((channel (cadr (erc-response.command-args parsed))) |
| 1760 | (topic (erc-response.contents parsed))) | 1760 | (topic (erc-response.contents parsed))) |
| 1761 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) | 1761 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) |
| 1762 | 's331 ?c channel))) | 1762 | 's331 ?c channel))) |
| 1763 | 1763 | ||
| 1764 | (define-erc-response-handler (332) | 1764 | (define-erc-response-handler (332) |
| 1765 | "TOPIC notice." nil | 1765 | "TOPIC notice." nil |
| 1766 | (let ((channel (second (erc-response.command-args parsed))) | 1766 | (let ((channel (cadr (erc-response.command-args parsed))) |
| 1767 | (topic (erc-response.contents parsed))) | 1767 | (topic (erc-response.contents parsed))) |
| 1768 | (erc-update-channel-topic channel topic) | 1768 | (erc-update-channel-topic channel topic) |
| 1769 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) | 1769 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) |
| @@ -1771,8 +1771,8 @@ See `erc-display-server-message'." nil | |||
| 1771 | 1771 | ||
| 1772 | (define-erc-response-handler (333) | 1772 | (define-erc-response-handler (333) |
| 1773 | "Who set the topic, and when." nil | 1773 | "Who set the topic, and when." nil |
| 1774 | (multiple-value-bind (channel nick time) | 1774 | (pcase-let ((`(,channel ,nick ,time) |
| 1775 | (values-list (cdr (erc-response.command-args parsed))) | 1775 | (cdr (erc-response.command-args parsed)))) |
| 1776 | (setq time (format-time-string erc-server-timestamp-format | 1776 | (setq time (format-time-string erc-server-timestamp-format |
| 1777 | (erc-string-to-emacs-time time))) | 1777 | (erc-string-to-emacs-time time))) |
| 1778 | (erc-update-channel-topic channel | 1778 | (erc-update-channel-topic channel |
| @@ -1784,15 +1784,15 @@ See `erc-display-server-message'." nil | |||
| 1784 | (define-erc-response-handler (341) | 1784 | (define-erc-response-handler (341) |
| 1785 | "Let user know when an INVITE attempt has been sent successfully." | 1785 | "Let user know when an INVITE attempt has been sent successfully." |
| 1786 | nil | 1786 | nil |
| 1787 | (multiple-value-bind (nick channel) | 1787 | (pcase-let ((`(,nick ,channel) |
| 1788 | (values-list (cdr (erc-response.command-args parsed))) | 1788 | (cdr (erc-response.command-args parsed)))) |
| 1789 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) | 1789 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) |
| 1790 | 's341 ?n nick ?c channel))) | 1790 | 's341 ?n nick ?c channel))) |
| 1791 | 1791 | ||
| 1792 | (define-erc-response-handler (352) | 1792 | (define-erc-response-handler (352) |
| 1793 | "WHO notice." nil | 1793 | "WHO notice." nil |
| 1794 | (multiple-value-bind (channel user host server nick away-flag) | 1794 | (pcase-let ((`(,channel ,user ,host ,server ,nick ,away-flag) |
| 1795 | (values-list (cdr (erc-response.command-args parsed))) | 1795 | (cdr (erc-response.command-args parsed)))) |
| 1796 | (let ((full-name (erc-response.contents parsed)) | 1796 | (let ((full-name (erc-response.contents parsed)) |
| 1797 | hopcount) | 1797 | hopcount) |
| 1798 | (when (string-match "\\(^[0-9]+ \\)\\(.*\\)$" full-name) | 1798 | (when (string-match "\\(^[0-9]+ \\)\\(.*\\)$" full-name) |
| @@ -1806,7 +1806,7 @@ See `erc-display-server-message'." nil | |||
| 1806 | 1806 | ||
| 1807 | (define-erc-response-handler (353) | 1807 | (define-erc-response-handler (353) |
| 1808 | "NAMES notice." nil | 1808 | "NAMES notice." nil |
| 1809 | (let ((channel (third (erc-response.command-args parsed))) | 1809 | (let ((channel (nth 2 (erc-response.command-args parsed))) |
| 1810 | (users (erc-response.contents parsed))) | 1810 | (users (erc-response.contents parsed))) |
| 1811 | (erc-display-message parsed 'notice (or (erc-get-buffer channel proc) | 1811 | (erc-display-message parsed 'notice (or (erc-get-buffer channel proc) |
| 1812 | 'active) | 1812 | 'active) |
| @@ -1816,13 +1816,13 @@ See `erc-display-server-message'." nil | |||
| 1816 | 1816 | ||
| 1817 | (define-erc-response-handler (366) | 1817 | (define-erc-response-handler (366) |
| 1818 | "End of NAMES." nil | 1818 | "End of NAMES." nil |
| 1819 | (erc-with-buffer ((second (erc-response.command-args parsed)) proc) | 1819 | (erc-with-buffer ((cadr (erc-response.command-args parsed)) proc) |
| 1820 | (erc-channel-end-receiving-names))) | 1820 | (erc-channel-end-receiving-names))) |
| 1821 | 1821 | ||
| 1822 | (define-erc-response-handler (367) | 1822 | (define-erc-response-handler (367) |
| 1823 | "Channel ban list entries." nil | 1823 | "Channel ban list entries." nil |
| 1824 | (multiple-value-bind (channel banmask setter time) | 1824 | (pcase-let ((`(,channel ,banmask ,setter ,time) |
| 1825 | (values-list (cdr (erc-response.command-args parsed))) | 1825 | (cdr (erc-response.command-args parsed)))) |
| 1826 | ;; setter and time are not standard | 1826 | ;; setter and time are not standard |
| 1827 | (if setter | 1827 | (if setter |
| 1828 | (erc-display-message parsed 'notice 'active 's367-set-by | 1828 | (erc-display-message parsed 'notice 'active 's367-set-by |
| @@ -1836,7 +1836,7 @@ See `erc-display-server-message'." nil | |||
| 1836 | 1836 | ||
| 1837 | (define-erc-response-handler (368) | 1837 | (define-erc-response-handler (368) |
| 1838 | "End of channel ban list." nil | 1838 | "End of channel ban list." nil |
| 1839 | (let ((channel (second (erc-response.command-args parsed)))) | 1839 | (let ((channel (cadr (erc-response.command-args parsed)))) |
| 1840 | (erc-display-message parsed 'notice 'active 's368 | 1840 | (erc-display-message parsed 'notice 'active 's368 |
| 1841 | ?c channel))) | 1841 | ?c channel))) |
| 1842 | 1842 | ||
| @@ -1845,8 +1845,8 @@ See `erc-display-server-message'." nil | |||
| 1845 | ;; FIXME: Yet more magic numbers in original code, I'm guessing this | 1845 | ;; FIXME: Yet more magic numbers in original code, I'm guessing this |
| 1846 | ;; command takes two arguments, and doesn't have any "contents". -- | 1846 | ;; command takes two arguments, and doesn't have any "contents". -- |
| 1847 | ;; Lawrence 2004/05/10 | 1847 | ;; Lawrence 2004/05/10 |
| 1848 | (multiple-value-bind (from to) | 1848 | (pcase-let ((`(,from ,to) |
| 1849 | (values-list (cdr (erc-response.command-args parsed))) | 1849 | (cdr (erc-response.command-args parsed)))) |
| 1850 | (erc-display-message parsed 'notice 'active | 1850 | (erc-display-message parsed 'notice 'active |
| 1851 | 's379 ?c from ?f to))) | 1851 | 's379 ?c from ?f to))) |
| 1852 | 1852 | ||
| @@ -1854,12 +1854,12 @@ See `erc-display-server-message'." nil | |||
| 1854 | "Server's time string." nil | 1854 | "Server's time string." nil |
| 1855 | (erc-display-message | 1855 | (erc-display-message |
| 1856 | parsed 'notice 'active | 1856 | parsed 'notice 'active |
| 1857 | 's391 ?s (second (erc-response.command-args parsed)) | 1857 | 's391 ?s (cadr (erc-response.command-args parsed)) |
| 1858 | ?t (third (erc-response.command-args parsed)))) | 1858 | ?t (nth 2 (erc-response.command-args parsed)))) |
| 1859 | 1859 | ||
| 1860 | (define-erc-response-handler (401) | 1860 | (define-erc-response-handler (401) |
| 1861 | "No such nick/channel." nil | 1861 | "No such nick/channel." nil |
| 1862 | (let ((nick/channel (second (erc-response.command-args parsed)))) | 1862 | (let ((nick/channel (cadr (erc-response.command-args parsed)))) |
| 1863 | (when erc-whowas-on-nosuchnick | 1863 | (when erc-whowas-on-nosuchnick |
| 1864 | (erc-log (format "cmd: WHOWAS: %s" nick/channel)) | 1864 | (erc-log (format "cmd: WHOWAS: %s" nick/channel)) |
| 1865 | (erc-server-send (format "WHOWAS %s 1" nick/channel))) | 1865 | (erc-server-send (format "WHOWAS %s 1" nick/channel))) |
| @@ -1869,23 +1869,23 @@ See `erc-display-server-message'." nil | |||
| 1869 | (define-erc-response-handler (403) | 1869 | (define-erc-response-handler (403) |
| 1870 | "No such channel." nil | 1870 | "No such channel." nil |
| 1871 | (erc-display-message parsed '(notice error) 'active | 1871 | (erc-display-message parsed '(notice error) 'active |
| 1872 | 's403 ?c (second (erc-response.command-args parsed)))) | 1872 | 's403 ?c (cadr (erc-response.command-args parsed)))) |
| 1873 | 1873 | ||
| 1874 | (define-erc-response-handler (404) | 1874 | (define-erc-response-handler (404) |
| 1875 | "Cannot send to channel." nil | 1875 | "Cannot send to channel." nil |
| 1876 | (erc-display-message parsed '(notice error) 'active | 1876 | (erc-display-message parsed '(notice error) 'active |
| 1877 | 's404 ?c (second (erc-response.command-args parsed)))) | 1877 | 's404 ?c (cadr (erc-response.command-args parsed)))) |
| 1878 | 1878 | ||
| 1879 | 1879 | ||
| 1880 | (define-erc-response-handler (405) | 1880 | (define-erc-response-handler (405) |
| 1881 | "Can't join that many channels." nil | 1881 | "Can't join that many channels." nil |
| 1882 | (erc-display-message parsed '(notice error) 'active | 1882 | (erc-display-message parsed '(notice error) 'active |
| 1883 | 's405 ?c (second (erc-response.command-args parsed)))) | 1883 | 's405 ?c (cadr (erc-response.command-args parsed)))) |
| 1884 | 1884 | ||
| 1885 | (define-erc-response-handler (406) | 1885 | (define-erc-response-handler (406) |
| 1886 | "No such nick." nil | 1886 | "No such nick." nil |
| 1887 | (erc-display-message parsed '(notice error) 'active | 1887 | (erc-display-message parsed '(notice error) 'active |
| 1888 | 's406 ?n (second (erc-response.command-args parsed)))) | 1888 | 's406 ?n (cadr (erc-response.command-args parsed)))) |
| 1889 | 1889 | ||
| 1890 | (define-erc-response-handler (412) | 1890 | (define-erc-response-handler (412) |
| 1891 | "No text to send." nil | 1891 | "No text to send." nil |
| @@ -1894,33 +1894,33 @@ See `erc-display-server-message'." nil | |||
| 1894 | (define-erc-response-handler (421) | 1894 | (define-erc-response-handler (421) |
| 1895 | "Unknown command." nil | 1895 | "Unknown command." nil |
| 1896 | (erc-display-message parsed '(notice error) 'active 's421 | 1896 | (erc-display-message parsed '(notice error) 'active 's421 |
| 1897 | ?c (second (erc-response.command-args parsed)))) | 1897 | ?c (cadr (erc-response.command-args parsed)))) |
| 1898 | 1898 | ||
| 1899 | (define-erc-response-handler (432) | 1899 | (define-erc-response-handler (432) |
| 1900 | "Bad nick." nil | 1900 | "Bad nick." nil |
| 1901 | (erc-display-message parsed '(notice error) 'active 's432 | 1901 | (erc-display-message parsed '(notice error) 'active 's432 |
| 1902 | ?n (second (erc-response.command-args parsed)))) | 1902 | ?n (cadr (erc-response.command-args parsed)))) |
| 1903 | 1903 | ||
| 1904 | (define-erc-response-handler (433) | 1904 | (define-erc-response-handler (433) |
| 1905 | "Login-time \"nick in use\"." nil | 1905 | "Login-time \"nick in use\"." nil |
| 1906 | (erc-nickname-in-use (second (erc-response.command-args parsed)) | 1906 | (erc-nickname-in-use (cadr (erc-response.command-args parsed)) |
| 1907 | "already in use")) | 1907 | "already in use")) |
| 1908 | 1908 | ||
| 1909 | (define-erc-response-handler (437) | 1909 | (define-erc-response-handler (437) |
| 1910 | "Nick temporarily unavailable (on IRCnet)." nil | 1910 | "Nick temporarily unavailable (on IRCnet)." nil |
| 1911 | (let ((nick/channel (second (erc-response.command-args parsed)))) | 1911 | (let ((nick/channel (cadr (erc-response.command-args parsed)))) |
| 1912 | (unless (erc-channel-p nick/channel) | 1912 | (unless (erc-channel-p nick/channel) |
| 1913 | (erc-nickname-in-use nick/channel "temporarily unavailable")))) | 1913 | (erc-nickname-in-use nick/channel "temporarily unavailable")))) |
| 1914 | 1914 | ||
| 1915 | (define-erc-response-handler (442) | 1915 | (define-erc-response-handler (442) |
| 1916 | "Not on channel." nil | 1916 | "Not on channel." nil |
| 1917 | (erc-display-message parsed '(notice error) 'active 's442 | 1917 | (erc-display-message parsed '(notice error) 'active 's442 |
| 1918 | ?c (second (erc-response.command-args parsed)))) | 1918 | ?c (cadr (erc-response.command-args parsed)))) |
| 1919 | 1919 | ||
| 1920 | (define-erc-response-handler (461) | 1920 | (define-erc-response-handler (461) |
| 1921 | "Not enough parameters for command." nil | 1921 | "Not enough parameters for command." nil |
| 1922 | (erc-display-message parsed '(notice error) 'active 's461 | 1922 | (erc-display-message parsed '(notice error) 'active 's461 |
| 1923 | ?c (second (erc-response.command-args parsed)) | 1923 | ?c (cadr (erc-response.command-args parsed)) |
| 1924 | ?m (erc-response.contents parsed))) | 1924 | ?m (erc-response.contents parsed))) |
| 1925 | 1925 | ||
| 1926 | (define-erc-response-handler (465) | 1926 | (define-erc-response-handler (465) |
| @@ -1936,37 +1936,37 @@ See `erc-display-server-message'." nil | |||
| 1936 | (erc-display-message parsed '(notice error) nil | 1936 | (erc-display-message parsed '(notice error) nil |
| 1937 | (intern (format "s%s" | 1937 | (intern (format "s%s" |
| 1938 | (erc-response.command parsed))) | 1938 | (erc-response.command parsed))) |
| 1939 | ?c (second (erc-response.command-args parsed)))) | 1939 | ?c (cadr (erc-response.command-args parsed)))) |
| 1940 | 1940 | ||
| 1941 | (define-erc-response-handler (475) | 1941 | (define-erc-response-handler (475) |
| 1942 | "Channel key needed." nil | 1942 | "Channel key needed." nil |
| 1943 | (erc-display-message parsed '(notice error) nil 's475 | 1943 | (erc-display-message parsed '(notice error) nil 's475 |
| 1944 | ?c (second (erc-response.command-args parsed))) | 1944 | ?c (cadr (erc-response.command-args parsed))) |
| 1945 | (when erc-prompt-for-channel-key | 1945 | (when erc-prompt-for-channel-key |
| 1946 | (let ((channel (second (erc-response.command-args parsed))) | 1946 | (let ((channel (cadr (erc-response.command-args parsed))) |
| 1947 | (key (read-from-minibuffer | 1947 | (key (read-from-minibuffer |
| 1948 | (format "Channel %s is mode +k. Enter key (RET to cancel): " | 1948 | (format "Channel %s is mode +k. Enter key (RET to cancel): " |
| 1949 | (second (erc-response.command-args parsed)))))) | 1949 | (cadr (erc-response.command-args parsed)))))) |
| 1950 | (when (and key (> (length key) 0)) | 1950 | (when (and key (> (length key) 0)) |
| 1951 | (erc-cmd-JOIN channel key))))) | 1951 | (erc-cmd-JOIN channel key))))) |
| 1952 | 1952 | ||
| 1953 | (define-erc-response-handler (477) | 1953 | (define-erc-response-handler (477) |
| 1954 | "Channel doesn't support modes." nil | 1954 | "Channel doesn't support modes." nil |
| 1955 | (let ((channel (second (erc-response.command-args parsed))) | 1955 | (let ((channel (cadr (erc-response.command-args parsed))) |
| 1956 | (message (erc-response.contents parsed))) | 1956 | (message (erc-response.contents parsed))) |
| 1957 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) | 1957 | (erc-display-message parsed 'notice (erc-get-buffer channel proc) |
| 1958 | (format "%s: %s" channel message)))) | 1958 | (format "%s: %s" channel message)))) |
| 1959 | 1959 | ||
| 1960 | (define-erc-response-handler (482) | 1960 | (define-erc-response-handler (482) |
| 1961 | "You need to be a channel operator to do that." nil | 1961 | "You need to be a channel operator to do that." nil |
| 1962 | (let ((channel (second (erc-response.command-args parsed))) | 1962 | (let ((channel (cadr (erc-response.command-args parsed))) |
| 1963 | (message (erc-response.contents parsed))) | 1963 | (message (erc-response.contents parsed))) |
| 1964 | (erc-display-message parsed '(error notice) 'active 's482 | 1964 | (erc-display-message parsed '(error notice) 'active 's482 |
| 1965 | ?c channel ?m message))) | 1965 | ?c channel ?m message))) |
| 1966 | 1966 | ||
| 1967 | (define-erc-response-handler (671) | 1967 | (define-erc-response-handler (671) |
| 1968 | "Secure connection response in WHOIS." nil | 1968 | "Secure connection response in WHOIS." nil |
| 1969 | (let ((nick (second (erc-response.command-args parsed))) | 1969 | (let ((nick (cadr (erc-response.command-args parsed))) |
| 1970 | (securemsg (erc-response.contents parsed))) | 1970 | (securemsg (erc-response.contents parsed))) |
| 1971 | (erc-display-message parsed 'notice 'active 's671 | 1971 | (erc-display-message parsed 'notice 'active 's671 |
| 1972 | ?n nick ?a securemsg))) | 1972 | ?n nick ?a securemsg))) |
diff --git a/lisp/erc/erc-capab.el b/lisp/erc/erc-capab.el index 08b9c67f6c0..e8201f2ea43 100644 --- a/lisp/erc/erc-capab.el +++ b/lisp/erc/erc-capab.el | |||
| @@ -68,7 +68,6 @@ | |||
| 68 | ;;; Code: | 68 | ;;; Code: |
| 69 | 69 | ||
| 70 | (require 'erc) | 70 | (require 'erc) |
| 71 | (eval-when-compile (require 'cl)) | ||
| 72 | 71 | ||
| 73 | ;;; Customization: | 72 | ;;; Customization: |
| 74 | 73 | ||
diff --git a/lisp/erc/erc-dcc.el b/lisp/erc/erc-dcc.el index ed8440315eb..e31416f0e1a 100644 --- a/lisp/erc/erc-dcc.el +++ b/lisp/erc/erc-dcc.el | |||
| @@ -54,9 +54,7 @@ | |||
| 54 | ;;; Code: | 54 | ;;; Code: |
| 55 | 55 | ||
| 56 | (require 'erc) | 56 | (require 'erc) |
| 57 | (eval-when-compile | 57 | (eval-when-compile (require 'pcomplete)) |
| 58 | (require 'cl) | ||
| 59 | (require 'pcomplete)) | ||
| 60 | 58 | ||
| 61 | ;;;###autoload (autoload 'erc-dcc-mode "erc-dcc") | 59 | ;;;###autoload (autoload 'erc-dcc-mode "erc-dcc") |
| 62 | (define-erc-module dcc nil | 60 | (define-erc-module dcc nil |
| @@ -277,7 +275,7 @@ Argument IP is the address as a string. The result is also a string." | |||
| 277 | (* (nth 1 ips) 65536.0) | 275 | (* (nth 1 ips) 65536.0) |
| 278 | (* (nth 2 ips) 256.0) | 276 | (* (nth 2 ips) 256.0) |
| 279 | (nth 3 ips)))) | 277 | (nth 3 ips)))) |
| 280 | (if (interactive-p) | 278 | (if (called-interactively-p 'interactive) |
| 281 | (message "%s is %.0f" ip res) | 279 | (message "%s is %.0f" ip res) |
| 282 | (format "%.0f" res))))) | 280 | (format "%.0f" res))))) |
| 283 | 281 | ||
| @@ -380,8 +378,8 @@ created subprocess, or nil." | |||
| 380 | (with-no-warnings ; obsolete since 23.1 | 378 | (with-no-warnings ; obsolete since 23.1 |
| 381 | (set-process-filter-multibyte process nil))))) | 379 | (set-process-filter-multibyte process nil))))) |
| 382 | (file-error | 380 | (file-error |
| 383 | (unless (and (string= "Cannot bind server socket" (cadr err)) | 381 | (unless (and (string= "Cannot bind server socket" (nth 1 err)) |
| 384 | (string= "address already in use" (caddr err))) | 382 | (string= "address already in use" (nth 2 err))) |
| 385 | (signal (car err) (cdr err))) | 383 | (signal (car err) (cdr err))) |
| 386 | (setq port (1+ port)) | 384 | (setq port (1+ port)) |
| 387 | (unless (< port upper) | 385 | (unless (< port upper) |
| @@ -434,38 +432,38 @@ where FOO is one of CLOSE, GET, SEND, LIST, CHAT, etc." | |||
| 434 | (pcomplete-here (append '("chat" "close" "get" "list") | 432 | (pcomplete-here (append '("chat" "close" "get" "list") |
| 435 | (when (fboundp 'make-network-process) '("send")))) | 433 | (when (fboundp 'make-network-process) '("send")))) |
| 436 | (pcomplete-here | 434 | (pcomplete-here |
| 437 | (case (intern (downcase (pcomplete-arg 1))) | 435 | (pcase (intern (downcase (pcomplete-arg 1))) |
| 438 | (chat (mapcar (lambda (elt) (plist-get elt :nick)) | 436 | (`chat (mapcar (lambda (elt) (plist-get elt :nick)) |
| 437 | (erc-remove-if-not | ||
| 438 | #'(lambda (elt) | ||
| 439 | (eq (plist-get elt :type) 'CHAT)) | ||
| 440 | erc-dcc-list))) | ||
| 441 | (`close (erc-delete-dups | ||
| 442 | (mapcar (lambda (elt) (symbol-name (plist-get elt :type))) | ||
| 443 | erc-dcc-list))) | ||
| 444 | (`get (mapcar #'erc-dcc-nick | ||
| 439 | (erc-remove-if-not | 445 | (erc-remove-if-not |
| 440 | #'(lambda (elt) | 446 | #'(lambda (elt) |
| 441 | (eq (plist-get elt :type) 'CHAT)) | 447 | (eq (plist-get elt :type) 'GET)) |
| 442 | erc-dcc-list))) | 448 | erc-dcc-list))) |
| 443 | (close (erc-delete-dups | 449 | (`send (pcomplete-erc-all-nicks)))) |
| 444 | (mapcar (lambda (elt) (symbol-name (plist-get elt :type))) | ||
| 445 | erc-dcc-list))) | ||
| 446 | (get (mapcar #'erc-dcc-nick | ||
| 447 | (erc-remove-if-not | ||
| 448 | #'(lambda (elt) | ||
| 449 | (eq (plist-get elt :type) 'GET)) | ||
| 450 | erc-dcc-list))) | ||
| 451 | (send (pcomplete-erc-all-nicks)))) | ||
| 452 | (pcomplete-here | 450 | (pcomplete-here |
| 453 | (case (intern (downcase (pcomplete-arg 2))) | 451 | (pcase (intern (downcase (pcomplete-arg 2))) |
| 454 | (get (mapcar (lambda (elt) (plist-get elt :file)) | 452 | (`get (mapcar (lambda (elt) (plist-get elt :file)) |
| 455 | (erc-remove-if-not | 453 | (erc-remove-if-not |
| 456 | #'(lambda (elt) | 454 | #'(lambda (elt) |
| 457 | (and (eq (plist-get elt :type) 'GET) | 455 | (and (eq (plist-get elt :type) 'GET) |
| 458 | (erc-nick-equal-p (erc-extract-nick | 456 | (erc-nick-equal-p (erc-extract-nick |
| 459 | (plist-get elt :nick)) | 457 | (plist-get elt :nick)) |
| 460 | (pcomplete-arg 1)))) | 458 | (pcomplete-arg 1)))) |
| 461 | erc-dcc-list))) | 459 | erc-dcc-list))) |
| 462 | (close (mapcar #'erc-dcc-nick | 460 | (`close (mapcar #'erc-dcc-nick |
| 463 | (erc-remove-if-not | 461 | (erc-remove-if-not |
| 464 | #'(lambda (elt) | 462 | #'(lambda (elt) |
| 465 | (eq (plist-get elt :type) | 463 | (eq (plist-get elt :type) |
| 466 | (intern (upcase (pcomplete-arg 1))))) | 464 | (intern (upcase (pcomplete-arg 1))))) |
| 467 | erc-dcc-list))) | 465 | erc-dcc-list))) |
| 468 | (send (pcomplete-entries))))) | 466 | (`send (pcomplete-entries))))) |
| 469 | 467 | ||
| 470 | (defun erc-dcc-do-CHAT-command (proc &optional nick) | 468 | (defun erc-dcc-do-CHAT-command (proc &optional nick) |
| 471 | (when nick | 469 | (when nick |
| @@ -1248,7 +1246,7 @@ other client." | |||
| 1248 | 1246 | ||
| 1249 | (defun erc-dcc-no-such-nick (proc parsed) | 1247 | (defun erc-dcc-no-such-nick (proc parsed) |
| 1250 | "Detect and handle no-such-nick replies from the IRC server." | 1248 | "Detect and handle no-such-nick replies from the IRC server." |
| 1251 | (let* ((elt (erc-dcc-member :nick (second (erc-response.command-args parsed)) | 1249 | (let* ((elt (erc-dcc-member :nick (nth 1 (erc-response.command-args parsed)) |
| 1252 | :parent proc)) | 1250 | :parent proc)) |
| 1253 | (peer (plist-get elt :peer))) | 1251 | (peer (plist-get elt :peer))) |
| 1254 | (when (or (and (processp peer) (not (eq (process-status peer) 'open))) | 1252 | (when (or (and (processp peer) (not (eq (process-status peer) 'open))) |
diff --git a/lisp/erc/erc-ezbounce.el b/lisp/erc/erc-ezbounce.el index 5e5d6c2c188..6bcc17e4bc0 100644 --- a/lisp/erc/erc-ezbounce.el +++ b/lisp/erc/erc-ezbounce.el | |||
| @@ -26,7 +26,6 @@ | |||
| 26 | ;;; Code: | 26 | ;;; Code: |
| 27 | 27 | ||
| 28 | (require 'erc) | 28 | (require 'erc) |
| 29 | (eval-when-compile (require 'cl)) | ||
| 30 | 29 | ||
| 31 | (defgroup erc-ezbounce nil | 30 | (defgroup erc-ezbounce nil |
| 32 | "Interface to the EZBounce IRC bouncer (a virtual IRC server)" | 31 | "Interface to the EZBounce IRC bouncer (a virtual IRC server)" |
diff --git a/lisp/erc/erc-join.el b/lisp/erc/erc-join.el index ac6b311a0c4..e285cfb4ec5 100644 --- a/lisp/erc/erc-join.el +++ b/lisp/erc/erc-join.el | |||
| @@ -34,7 +34,6 @@ | |||
| 34 | 34 | ||
| 35 | (require 'erc) | 35 | (require 'erc) |
| 36 | (require 'auth-source) | 36 | (require 'auth-source) |
| 37 | (eval-when-compile (require 'cl)) | ||
| 38 | 37 | ||
| 39 | (defgroup erc-autojoin nil | 38 | (defgroup erc-autojoin nil |
| 40 | "Enable autojoining." | 39 | "Enable autojoining." |
diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index b3f3f5865a1..1ff2951e09e 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el | |||
| @@ -93,9 +93,7 @@ | |||
| 93 | ;;; Code: | 93 | ;;; Code: |
| 94 | 94 | ||
| 95 | (require 'erc) | 95 | (require 'erc) |
| 96 | (eval-when-compile | 96 | (eval-when-compile (require 'erc-networks)) |
| 97 | (require 'erc-networks) | ||
| 98 | (require 'cl)) | ||
| 99 | 97 | ||
| 100 | (defgroup erc-log nil | 98 | (defgroup erc-log nil |
| 101 | "Logging facilities for ERC." | 99 | "Logging facilities for ERC." |
| @@ -429,7 +427,8 @@ You can save every individual message by putting this function on | |||
| 429 | file t 'nomessage)))) | 427 | file t 'nomessage)))) |
| 430 | (let ((coding-system-for-write coding-system)) | 428 | (let ((coding-system-for-write coding-system)) |
| 431 | (write-region start end file t 'nomessage)))) | 429 | (write-region start end file t 'nomessage)))) |
| 432 | (if (and erc-truncate-buffer-on-save (interactive-p)) | 430 | (if (and erc-truncate-buffer-on-save |
| 431 | (called-interactively-p 'interactive)) | ||
| 433 | (progn | 432 | (progn |
| 434 | (let ((inhibit-read-only t)) (erase-buffer)) | 433 | (let ((inhibit-read-only t)) (erase-buffer)) |
| 435 | (move-marker erc-last-saved-position (point-max)) | 434 | (move-marker erc-last-saved-position (point-max)) |
diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el index 8dcdcb9e2e6..f1219427360 100644 --- a/lisp/erc/erc-match.el +++ b/lisp/erc/erc-match.el | |||
| @@ -35,7 +35,6 @@ | |||
| 35 | ;;; Code: | 35 | ;;; Code: |
| 36 | 36 | ||
| 37 | (require 'erc) | 37 | (require 'erc) |
| 38 | (eval-when-compile (require 'cl)) | ||
| 39 | 38 | ||
| 40 | ;; Customization: | 39 | ;; Customization: |
| 41 | 40 | ||
diff --git a/lisp/erc/erc-netsplit.el b/lisp/erc/erc-netsplit.el index fc4aeb10c84..cbaf62b1a61 100644 --- a/lisp/erc/erc-netsplit.el +++ b/lisp/erc/erc-netsplit.el | |||
| @@ -31,7 +31,6 @@ | |||
| 31 | ;;; Code: | 31 | ;;; Code: |
| 32 | 32 | ||
| 33 | (require 'erc) | 33 | (require 'erc) |
| 34 | (eval-when-compile (require 'cl)) | ||
| 35 | 34 | ||
| 36 | (defgroup erc-netsplit nil | 35 | (defgroup erc-netsplit nil |
| 37 | "Netsplit detection tries to automatically figure when a | 36 | "Netsplit detection tries to automatically figure when a |
| @@ -107,7 +106,7 @@ join from that split has been detected or not.") | |||
| 107 | (dolist (elt erc-netsplit-list) | 106 | (dolist (elt erc-netsplit-list) |
| 108 | (if (member nick (nthcdr 3 elt)) | 107 | (if (member nick (nthcdr 3 elt)) |
| 109 | (progn | 108 | (progn |
| 110 | (if (not (caddr elt)) | 109 | (if (not (nth 2 elt)) |
| 111 | (progn | 110 | (progn |
| 112 | (erc-display-message | 111 | (erc-display-message |
| 113 | parsed 'notice (process-buffer proc) | 112 | parsed 'notice (process-buffer proc) |
| @@ -149,7 +148,7 @@ join from that split has been detected or not.") | |||
| 149 | ;; element for this netsplit exists already | 148 | ;; element for this netsplit exists already |
| 150 | (progn | 149 | (progn |
| 151 | (setcdr (nthcdr 2 ass) (cons nick (nthcdr 3 ass))) | 150 | (setcdr (nthcdr 2 ass) (cons nick (nthcdr 3 ass))) |
| 152 | (when (caddr ass) | 151 | (when (nth 2 ass) |
| 153 | ;; There was already a netjoin for this netsplit, it | 152 | ;; There was already a netjoin for this netsplit, it |
| 154 | ;; seems like the old one didn't get finished... | 153 | ;; seems like the old one didn't get finished... |
| 155 | (erc-display-message | 154 | (erc-display-message |
| @@ -194,7 +193,7 @@ join from that split has been detected or not.") | |||
| 194 | nil 'notice 'active | 193 | nil 'notice 'active |
| 195 | 'netsplit-wholeft ?s (car elt) | 194 | 'netsplit-wholeft ?s (car elt) |
| 196 | ?n (mapconcat 'erc-extract-nick (nthcdr 3 elt) " ") | 195 | ?n (mapconcat 'erc-extract-nick (nthcdr 3 elt) " ") |
| 197 | ?t (if (caddr elt) | 196 | ?t (if (nth 2 elt) |
| 198 | "(joining)" | 197 | "(joining)" |
| 199 | ""))))) | 198 | ""))))) |
| 200 | t) | 199 | t) |
diff --git a/lisp/erc/erc-networks.el b/lisp/erc/erc-networks.el index 89372555ccc..5089ff6b4ba 100644 --- a/lisp/erc/erc-networks.el +++ b/lisp/erc/erc-networks.el | |||
| @@ -40,7 +40,7 @@ | |||
| 40 | ;;; Code: | 40 | ;;; Code: |
| 41 | 41 | ||
| 42 | (require 'erc) | 42 | (require 'erc) |
| 43 | (eval-when-compile (require 'cl)) | 43 | (eval-when-compile (require 'cl-lib)) |
| 44 | 44 | ||
| 45 | ;; Variables | 45 | ;; Variables |
| 46 | 46 | ||
| @@ -729,10 +729,10 @@ search for a match in `erc-networks-alist'." | |||
| 729 | (or | 729 | (or |
| 730 | ;; Loop through `erc-networks-alist' looking for a match. | 730 | ;; Loop through `erc-networks-alist' looking for a match. |
| 731 | (let ((server (or erc-server-announced-name erc-session-server))) | 731 | (let ((server (or erc-server-announced-name erc-session-server))) |
| 732 | (loop for (name matcher) in erc-networks-alist | 732 | (cl-loop for (name matcher) in erc-networks-alist |
| 733 | when (and matcher | 733 | when (and matcher |
| 734 | (string-match (concat matcher "\\'") server)) | 734 | (string-match (concat matcher "\\'") server)) |
| 735 | do (return name))) | 735 | do (cl-return name))) |
| 736 | 'Unknown))) | 736 | 'Unknown))) |
| 737 | 737 | ||
| 738 | (defun erc-network () | 738 | (defun erc-network () |
| @@ -789,8 +789,8 @@ As an example: | |||
| 789 | (cond ((numberp p) | 789 | (cond ((numberp p) |
| 790 | (push p result)) | 790 | (push p result)) |
| 791 | ((listp p) | 791 | ((listp p) |
| 792 | (setq result (nconc (loop for i from (cadr p) downto (car p) | 792 | (setq result (nconc (cl-loop for i from (cadr p) downto (car p) |
| 793 | collect i) | 793 | collect i) |
| 794 | result))))) | 794 | result))))) |
| 795 | (nreverse result))) | 795 | (nreverse result))) |
| 796 | 796 | ||
diff --git a/lisp/erc/erc-notify.el b/lisp/erc/erc-notify.el index 0b5e99180d6..b9d7ff78cd8 100644 --- a/lisp/erc/erc-notify.el +++ b/lisp/erc/erc-notify.el | |||
| @@ -30,9 +30,7 @@ | |||
| 30 | 30 | ||
| 31 | (require 'erc) | 31 | (require 'erc) |
| 32 | (require 'erc-networks) | 32 | (require 'erc-networks) |
| 33 | (eval-when-compile | 33 | (eval-when-compile (require 'pcomplete)) |
| 34 | (require 'cl) | ||
| 35 | (require 'pcomplete)) | ||
| 36 | 34 | ||
| 37 | ;;;; Customizable variables | 35 | ;;;; Customizable variables |
| 38 | 36 | ||
diff --git a/lisp/erc/erc-pcomplete.el b/lisp/erc/erc-pcomplete.el index bb30fd90066..d6bb8019b15 100644 --- a/lisp/erc/erc-pcomplete.el +++ b/lisp/erc/erc-pcomplete.el | |||
| @@ -43,7 +43,6 @@ | |||
| 43 | (require 'erc) | 43 | (require 'erc) |
| 44 | (require 'erc-compat) | 44 | (require 'erc-compat) |
| 45 | (require 'time-date) | 45 | (require 'time-date) |
| 46 | (eval-when-compile (require 'cl)) | ||
| 47 | 46 | ||
| 48 | (defgroup erc-pcomplete nil | 47 | (defgroup erc-pcomplete nil |
| 49 | "Programmable completion for ERC" | 48 | "Programmable completion for ERC" |
diff --git a/lisp/erc/erc-services.el b/lisp/erc/erc-services.el index b3b80a5f851..b75ad8e9517 100644 --- a/lisp/erc/erc-services.el +++ b/lisp/erc/erc-services.el | |||
| @@ -62,7 +62,7 @@ | |||
| 62 | 62 | ||
| 63 | (require 'erc) | 63 | (require 'erc) |
| 64 | (require 'erc-networks) | 64 | (require 'erc-networks) |
| 65 | (eval-when-compile (require 'cl)) | 65 | (eval-when-compile (require 'cl-lib)) |
| 66 | 66 | ||
| 67 | ;; Customization: | 67 | ;; Customization: |
| 68 | 68 | ||
diff --git a/lisp/erc/erc-speedbar.el b/lisp/erc/erc-speedbar.el index 4b98cf173be..22053945159 100644 --- a/lisp/erc/erc-speedbar.el +++ b/lisp/erc/erc-speedbar.el | |||
| @@ -38,7 +38,6 @@ | |||
| 38 | (require 'erc) | 38 | (require 'erc) |
| 39 | (require 'speedbar) | 39 | (require 'speedbar) |
| 40 | (condition-case nil (require 'dframe) (error nil)) | 40 | (condition-case nil (require 'dframe) (error nil)) |
| 41 | (eval-when-compile (require 'cl)) | ||
| 42 | 41 | ||
| 43 | ;;; Customization: | 42 | ;;; Customization: |
| 44 | 43 | ||
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index a204584b400..976d2a21030 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el | |||
| @@ -34,7 +34,7 @@ | |||
| 34 | ;; * Add extensibility so that custom functions can track | 34 | ;; * Add extensibility so that custom functions can track |
| 35 | ;; custom modification types. | 35 | ;; custom modification types. |
| 36 | 36 | ||
| 37 | (eval-when-compile (require 'cl)) | 37 | (eval-when-compile (require 'cl-lib)) |
| 38 | (require 'erc) | 38 | (require 'erc) |
| 39 | (require 'erc-compat) | 39 | (require 'erc-compat) |
| 40 | (require 'erc-match) | 40 | (require 'erc-match) |
| @@ -484,7 +484,7 @@ START is the minimum length of the name used." | |||
| 484 | 484 | ||
| 485 | ;;; Test: | 485 | ;;; Test: |
| 486 | 486 | ||
| 487 | (assert | 487 | (cl-assert |
| 488 | (and | 488 | (and |
| 489 | ;; verify examples from the doc strings | 489 | ;; verify examples from the doc strings |
| 490 | (equal (let ((erc-track-shorten-aggressively nil)) | 490 | (equal (let ((erc-track-shorten-aggressively nil)) |
| @@ -869,7 +869,7 @@ Use `erc-make-mode-line-buffer-name' to create buttons." | |||
| 869 | (setq erc-modified-channels-alist | 869 | (setq erc-modified-channels-alist |
| 870 | (delete (assq buffer erc-modified-channels-alist) | 870 | (delete (assq buffer erc-modified-channels-alist) |
| 871 | erc-modified-channels-alist)) | 871 | erc-modified-channels-alist)) |
| 872 | (when (interactive-p) | 872 | (when (called-interactively-p 'interactive) |
| 873 | (erc-modified-channels-display))) | 873 | (erc-modified-channels-display))) |
| 874 | 874 | ||
| 875 | (defun erc-track-find-face (faces) | 875 | (defun erc-track-find-face (faces) |
| @@ -980,7 +980,7 @@ is in `erc-mode'." | |||
| 980 | (add-to-list 'faces cur))) | 980 | (add-to-list 'faces cur))) |
| 981 | faces)) | 981 | faces)) |
| 982 | 982 | ||
| 983 | (assert | 983 | (cl-assert |
| 984 | (let ((str "is bold")) | 984 | (let ((str "is bold")) |
| 985 | (put-text-property 3 (length str) | 985 | (put-text-property 3 (length str) |
| 986 | 'face '(bold erc-current-nick-face) | 986 | 'face '(bold erc-current-nick-face) |
| @@ -1030,17 +1030,17 @@ relative to `erc-track-switch-direction'" | |||
| 1030 | (let ((dir erc-track-switch-direction) | 1030 | (let ((dir erc-track-switch-direction) |
| 1031 | offset) | 1031 | offset) |
| 1032 | (when (< arg 0) | 1032 | (when (< arg 0) |
| 1033 | (setq dir (case dir | 1033 | (setq dir (pcase dir |
| 1034 | (oldest 'newest) | 1034 | (`oldest 'newest) |
| 1035 | (newest 'oldest) | 1035 | (`newest 'oldest) |
| 1036 | (mostactive 'leastactive) | 1036 | (`mostactive 'leastactive) |
| 1037 | (leastactive 'mostactive) | 1037 | (`leastactive 'mostactive) |
| 1038 | (importance 'oldest))) | 1038 | (`importance 'oldest))) |
| 1039 | (setq arg (- arg))) | 1039 | (setq arg (- arg))) |
| 1040 | (setq offset (case dir | 1040 | (setq offset (pcase dir |
| 1041 | ((oldest leastactive) | 1041 | ((or `oldest `leastactive) |
| 1042 | (- (length erc-modified-channels-alist) arg)) | 1042 | (- (length erc-modified-channels-alist) arg)) |
| 1043 | (t (1- arg)))) | 1043 | (_ (1- arg)))) |
| 1044 | ;; normalize out of range user input | 1044 | ;; normalize out of range user input |
| 1045 | (cond ((>= offset (length erc-modified-channels-alist)) | 1045 | (cond ((>= offset (length erc-modified-channels-alist)) |
| 1046 | (setq offset (1- (length erc-modified-channels-alist)))) | 1046 | (setq offset (1- (length erc-modified-channels-alist)))) |
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 7cb6fbb595b..bead7759e13 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el | |||
| @@ -67,7 +67,7 @@ | |||
| 67 | (defconst erc-version-string "Version 5.3" | 67 | (defconst erc-version-string "Version 5.3" |
| 68 | "ERC version. This is used by function `erc-version'.") | 68 | "ERC version. This is used by function `erc-version'.") |
| 69 | 69 | ||
| 70 | (eval-when-compile (require 'cl)) | 70 | (eval-when-compile (require 'cl-lib)) |
| 71 | (require 'font-lock) | 71 | (require 'font-lock) |
| 72 | (require 'pp) | 72 | (require 'pp) |
| 73 | (require 'thingatpt) | 73 | (require 'thingatpt) |
| @@ -369,7 +369,7 @@ If no server buffer exists, return nil." | |||
| 369 | (with-current-buffer ,buffer | 369 | (with-current-buffer ,buffer |
| 370 | ,@body))))) | 370 | ,@body))))) |
| 371 | 371 | ||
| 372 | (defstruct (erc-server-user (:type vector) :named) | 372 | (cl-defstruct (erc-server-user (:type vector) :named) |
| 373 | ;; User data | 373 | ;; User data |
| 374 | nickname host login full-name info | 374 | nickname host login full-name info |
| 375 | ;; Buffers | 375 | ;; Buffers |
| @@ -379,7 +379,7 @@ If no server buffer exists, return nil." | |||
| 379 | (buffers nil) | 379 | (buffers nil) |
| 380 | ) | 380 | ) |
| 381 | 381 | ||
| 382 | (defstruct (erc-channel-user (:type vector) :named) | 382 | (cl-defstruct (erc-channel-user (:type vector) :named) |
| 383 | op voice | 383 | op voice |
| 384 | ;; Last message time (in the form of the return value of | 384 | ;; Last message time (in the form of the return value of |
| 385 | ;; (current-time) | 385 | ;; (current-time) |
| @@ -1386,7 +1386,7 @@ If BUFFER is nil, the current buffer is used." | |||
| 1386 | t)) | 1386 | t)) |
| 1387 | (erc-server-send (format "ISON %s" nick)) | 1387 | (erc-server-send (format "ISON %s" nick)) |
| 1388 | (while (eq erc-online-p 'unknown) (accept-process-output)) | 1388 | (while (eq erc-online-p 'unknown) (accept-process-output)) |
| 1389 | (if (interactive-p) | 1389 | (if (called-interactively-p 'interactive) |
| 1390 | (message "%s is %sonline" | 1390 | (message "%s is %sonline" |
| 1391 | (or erc-online-p nick) | 1391 | (or erc-online-p nick) |
| 1392 | (if erc-online-p "" "not ")) | 1392 | (if erc-online-p "" "not ")) |
| @@ -2157,11 +2157,11 @@ functions in here get called with the parameters SERVER and NICK." | |||
| 2157 | (list :server server :port port :nick nick :password passwd))) | 2157 | (list :server server :port port :nick nick :password passwd))) |
| 2158 | 2158 | ||
| 2159 | ;;;###autoload | 2159 | ;;;###autoload |
| 2160 | (defun* erc (&key (server (erc-compute-server)) | 2160 | (cl-defun erc (&key (server (erc-compute-server)) |
| 2161 | (port (erc-compute-port)) | 2161 | (port (erc-compute-port)) |
| 2162 | (nick (erc-compute-nick)) | 2162 | (nick (erc-compute-nick)) |
| 2163 | password | 2163 | password |
| 2164 | (full-name (erc-compute-full-name))) | 2164 | (full-name (erc-compute-full-name))) |
| 2165 | "ERC is a powerful, modular, and extensible IRC client. | 2165 | "ERC is a powerful, modular, and extensible IRC client. |
| 2166 | This function is the main entry point for ERC. | 2166 | This function is the main entry point for ERC. |
| 2167 | 2167 | ||
| @@ -2383,24 +2383,24 @@ If STRING is nil, the function does nothing." | |||
| 2383 | (while list | 2383 | (while list |
| 2384 | (setq elt (car list)) | 2384 | (setq elt (car list)) |
| 2385 | (cond ((integerp elt) ; POSITION | 2385 | (cond ((integerp elt) ; POSITION |
| 2386 | (incf (car list) shift)) | 2386 | (cl-incf (car list) shift)) |
| 2387 | ((or (atom elt) ; nil, EXTENT | 2387 | ((or (atom elt) ; nil, EXTENT |
| 2388 | ;; (eq t (car elt)) ; (t . TIME) | 2388 | ;; (eq t (car elt)) ; (t . TIME) |
| 2389 | (markerp (car elt))) ; (MARKER . DISTANCE) | 2389 | (markerp (car elt))) ; (MARKER . DISTANCE) |
| 2390 | nil) | 2390 | nil) |
| 2391 | ((integerp (car elt)) ; (BEGIN . END) | 2391 | ((integerp (car elt)) ; (BEGIN . END) |
| 2392 | (incf (car elt) shift) | 2392 | (cl-incf (car elt) shift) |
| 2393 | (incf (cdr elt) shift)) | 2393 | (cl-incf (cdr elt) shift)) |
| 2394 | ((stringp (car elt)) ; (TEXT . POSITION) | 2394 | ((stringp (car elt)) ; (TEXT . POSITION) |
| 2395 | (incf (cdr elt) (* (if (natnump (cdr elt)) 1 -1) shift))) | 2395 | (cl-incf (cdr elt) (* (if (natnump (cdr elt)) 1 -1) shift))) |
| 2396 | ((null (car elt)) ; (nil PROPERTY VALUE BEG . END) | 2396 | ((null (car elt)) ; (nil PROPERTY VALUE BEG . END) |
| 2397 | (let ((cons (nthcdr 3 elt))) | 2397 | (let ((cons (nthcdr 3 elt))) |
| 2398 | (incf (car cons) shift) | 2398 | (cl-incf (car cons) shift) |
| 2399 | (incf (cdr cons) shift))) | 2399 | (cl-incf (cdr cons) shift))) |
| 2400 | ((and (featurep 'xemacs) | 2400 | ((and (featurep 'xemacs) |
| 2401 | (extentp (car elt))) ; (EXTENT START END) | 2401 | (extentp (car elt))) ; (EXTENT START END) |
| 2402 | (incf (nth 1 elt) shift) | 2402 | (cl-incf (nth 1 elt) shift) |
| 2403 | (incf (nth 2 elt) shift))) | 2403 | (cl-incf (nth 2 elt) shift))) |
| 2404 | (setq list (cdr list)))))) | 2404 | (setq list (cdr list)))))) |
| 2405 | 2405 | ||
| 2406 | (defvar erc-valid-nick-regexp "[]a-zA-Z^[;\\`_{}|][]^[;\\`_{}|a-zA-Z0-9-]*" | 2406 | (defvar erc-valid-nick-regexp "[]a-zA-Z^[;\\`_{}|][]^[;\\`_{}|a-zA-Z0-9-]*" |
| @@ -2477,6 +2477,13 @@ purposes." | |||
| 2477 | :group 'erc-lurker | 2477 | :group 'erc-lurker |
| 2478 | :type 'boolean) | 2478 | :type 'boolean) |
| 2479 | 2479 | ||
| 2480 | (defcustom erc-lurker-ignore-chars "`_" | ||
| 2481 | "Characters at the end of a nick to strip for activity tracking purposes. | ||
| 2482 | |||
| 2483 | See also `erc-lurker-trim-nicks'." | ||
| 2484 | :group 'erc-lurker | ||
| 2485 | :type 'string) | ||
| 2486 | |||
| 2480 | (defun erc-lurker-maybe-trim (nick) | 2487 | (defun erc-lurker-maybe-trim (nick) |
| 2481 | "Maybe trim trailing `erc-lurker-ignore-chars' from NICK. | 2488 | "Maybe trim trailing `erc-lurker-ignore-chars' from NICK. |
| 2482 | 2489 | ||
| @@ -2491,13 +2498,6 @@ non-nil." | |||
| 2491 | "" nick) | 2498 | "" nick) |
| 2492 | nick)) | 2499 | nick)) |
| 2493 | 2500 | ||
| 2494 | (defcustom erc-lurker-ignore-chars "`_" | ||
| 2495 | "Characters at the end of a nick to strip for activity tracking purposes. | ||
| 2496 | |||
| 2497 | See also `erc-lurker-trim-nicks'." | ||
| 2498 | :group 'erc-lurker | ||
| 2499 | :type 'string) | ||
| 2500 | |||
| 2501 | (defcustom erc-lurker-hide-list nil | 2501 | (defcustom erc-lurker-hide-list nil |
| 2502 | "List of IRC type messages to hide when sent by lurkers. | 2502 | "List of IRC type messages to hide when sent by lurkers. |
| 2503 | 2503 | ||
| @@ -2534,9 +2534,9 @@ consumption for long-lived IRC or Emacs sessions." | |||
| 2534 | (maphash | 2534 | (maphash |
| 2535 | (lambda (nick last-PRIVMSG-time) | 2535 | (lambda (nick last-PRIVMSG-time) |
| 2536 | (when | 2536 | (when |
| 2537 | (> (time-to-seconds (time-subtract | 2537 | (> (float-time (time-subtract |
| 2538 | (current-time) | 2538 | (current-time) |
| 2539 | last-PRIVMSG-time)) | 2539 | last-PRIVMSG-time)) |
| 2540 | erc-lurker-threshold-time) | 2540 | erc-lurker-threshold-time) |
| 2541 | (remhash nick hash))) | 2541 | (remhash nick hash))) |
| 2542 | hash) | 2542 | hash) |
| @@ -2580,7 +2580,8 @@ updates of `erc-lurker-state'." | |||
| 2580 | (server | 2580 | (server |
| 2581 | (erc-canonicalize-server-name erc-server-announced-name))) | 2581 | (erc-canonicalize-server-name erc-server-announced-name))) |
| 2582 | (when (equal command "PRIVMSG") | 2582 | (when (equal command "PRIVMSG") |
| 2583 | (when (>= (incf erc-lurker-cleanup-count) erc-lurker-cleanup-interval) | 2583 | (when (>= (cl-incf erc-lurker-cleanup-count) |
| 2584 | erc-lurker-cleanup-interval) | ||
| 2584 | (setq erc-lurker-cleanup-count 0) | 2585 | (setq erc-lurker-cleanup-count 0) |
| 2585 | (erc-lurker-cleanup)) | 2586 | (erc-lurker-cleanup)) |
| 2586 | (unless (gethash server erc-lurker-state) | 2587 | (unless (gethash server erc-lurker-state) |
| @@ -2601,10 +2602,21 @@ server within `erc-lurker-threshold-time'. See also | |||
| 2601 | (gethash (erc-lurker-maybe-trim nick) | 2602 | (gethash (erc-lurker-maybe-trim nick) |
| 2602 | (gethash server erc-lurker-state (make-hash-table))))) | 2603 | (gethash server erc-lurker-state (make-hash-table))))) |
| 2603 | (or (null last-PRIVMSG-time) | 2604 | (or (null last-PRIVMSG-time) |
| 2604 | (> (time-to-seconds | 2605 | (> (float-time |
| 2605 | (time-subtract (current-time) last-PRIVMSG-time)) | 2606 | (time-subtract (current-time) last-PRIVMSG-time)) |
| 2606 | erc-lurker-threshold-time)))) | 2607 | erc-lurker-threshold-time)))) |
| 2607 | 2608 | ||
| 2609 | (defcustom erc-common-server-suffixes | ||
| 2610 | '(("openprojects.net$" . "OPN") | ||
| 2611 | ("freenode.net$" . "freenode") | ||
| 2612 | ("oftc.net$" . "OFTC")) | ||
| 2613 | "Alist of common server name suffixes. | ||
| 2614 | This variable is used in mode-line display to save screen | ||
| 2615 | real estate. Set it to nil if you want to avoid changing | ||
| 2616 | displayed hostnames." | ||
| 2617 | :group 'erc-mode-line-and-header | ||
| 2618 | :type 'alist) | ||
| 2619 | |||
| 2608 | (defun erc-canonicalize-server-name (server) | 2620 | (defun erc-canonicalize-server-name (server) |
| 2609 | "Returns the canonical network name for SERVER if any, | 2621 | "Returns the canonical network name for SERVER if any, |
| 2610 | otherwise `erc-server-announced-name'. SERVER is matched against | 2622 | otherwise `erc-server-announced-name'. SERVER is matched against |
| @@ -3115,37 +3127,37 @@ If SERVER is non-nil, use that, rather than the current server." | |||
| 3115 | (add-to-list 'symlist | 3127 | (add-to-list 'symlist |
| 3116 | (cons (erc-once-with-server-event | 3128 | (cons (erc-once-with-server-event |
| 3117 | 311 `(string= ,nick | 3129 | 311 `(string= ,nick |
| 3118 | (second | 3130 | (nth 1 |
| 3119 | (erc-response.command-args parsed)))) | 3131 | (erc-response.command-args parsed)))) |
| 3120 | 'erc-server-311-functions)) | 3132 | 'erc-server-311-functions)) |
| 3121 | (add-to-list 'symlist | 3133 | (add-to-list 'symlist |
| 3122 | (cons (erc-once-with-server-event | 3134 | (cons (erc-once-with-server-event |
| 3123 | 312 `(string= ,nick | 3135 | 312 `(string= ,nick |
| 3124 | (second | 3136 | (nth 1 |
| 3125 | (erc-response.command-args parsed)))) | 3137 | (erc-response.command-args parsed)))) |
| 3126 | 'erc-server-312-functions)) | 3138 | 'erc-server-312-functions)) |
| 3127 | (add-to-list 'symlist | 3139 | (add-to-list 'symlist |
| 3128 | (cons (erc-once-with-server-event | 3140 | (cons (erc-once-with-server-event |
| 3129 | 318 `(string= ,nick | 3141 | 318 `(string= ,nick |
| 3130 | (second | 3142 | (nth 1 |
| 3131 | (erc-response.command-args parsed)))) | 3143 | (erc-response.command-args parsed)))) |
| 3132 | 'erc-server-318-functions)) | 3144 | 'erc-server-318-functions)) |
| 3133 | (add-to-list 'symlist | 3145 | (add-to-list 'symlist |
| 3134 | (cons (erc-once-with-server-event | 3146 | (cons (erc-once-with-server-event |
| 3135 | 319 `(string= ,nick | 3147 | 319 `(string= ,nick |
| 3136 | (second | 3148 | (nth 1 |
| 3137 | (erc-response.command-args parsed)))) | 3149 | (erc-response.command-args parsed)))) |
| 3138 | 'erc-server-319-functions)) | 3150 | 'erc-server-319-functions)) |
| 3139 | (add-to-list 'symlist | 3151 | (add-to-list 'symlist |
| 3140 | (cons (erc-once-with-server-event | 3152 | (cons (erc-once-with-server-event |
| 3141 | 320 `(string= ,nick | 3153 | 320 `(string= ,nick |
| 3142 | (second | 3154 | (nth 1 |
| 3143 | (erc-response.command-args parsed)))) | 3155 | (erc-response.command-args parsed)))) |
| 3144 | 'erc-server-320-functions)) | 3156 | 'erc-server-320-functions)) |
| 3145 | (add-to-list 'symlist | 3157 | (add-to-list 'symlist |
| 3146 | (cons (erc-once-with-server-event | 3158 | (cons (erc-once-with-server-event |
| 3147 | 330 `(string= ,nick | 3159 | 330 `(string= ,nick |
| 3148 | (second | 3160 | (nth 1 |
| 3149 | (erc-response.command-args parsed)))) | 3161 | (erc-response.command-args parsed)))) |
| 3150 | 'erc-server-330-functions)) | 3162 | 'erc-server-330-functions)) |
| 3151 | (add-to-list 'symlist | 3163 | (add-to-list 'symlist |
| @@ -4328,8 +4340,8 @@ See also: `erc-echo-notice-in-user-buffers', | |||
| 4328 | 4340 | ||
| 4329 | (defun erc-banlist-store (proc parsed) | 4341 | (defun erc-banlist-store (proc parsed) |
| 4330 | "Record ban entries for a channel." | 4342 | "Record ban entries for a channel." |
| 4331 | (multiple-value-bind (channel mask whoset) | 4343 | (pcase-let ((`(,channel ,mask ,whoset) |
| 4332 | (values-list (cdr (erc-response.command-args parsed))) | 4344 | (cdr (erc-response.command-args parsed)))) |
| 4333 | ;; Determine to which buffer the message corresponds | 4345 | ;; Determine to which buffer the message corresponds |
| 4334 | (let ((buffer (erc-get-buffer channel proc))) | 4346 | (let ((buffer (erc-get-buffer channel proc))) |
| 4335 | (with-current-buffer buffer | 4347 | (with-current-buffer buffer |
| @@ -4340,7 +4352,7 @@ See also: `erc-echo-notice-in-user-buffers', | |||
| 4340 | 4352 | ||
| 4341 | (defun erc-banlist-finished (proc parsed) | 4353 | (defun erc-banlist-finished (proc parsed) |
| 4342 | "Record that we have received the banlist." | 4354 | "Record that we have received the banlist." |
| 4343 | (let* ((channel (second (erc-response.command-args parsed))) | 4355 | (let* ((channel (nth 1 (erc-response.command-args parsed))) |
| 4344 | (buffer (erc-get-buffer channel proc))) | 4356 | (buffer (erc-get-buffer channel proc))) |
| 4345 | (with-current-buffer buffer | 4357 | (with-current-buffer buffer |
| 4346 | (put 'erc-channel-banlist 'received-from-server t))) | 4358 | (put 'erc-channel-banlist 'received-from-server t))) |
| @@ -4349,7 +4361,7 @@ See also: `erc-echo-notice-in-user-buffers', | |||
| 4349 | (defun erc-banlist-update (proc parsed) | 4361 | (defun erc-banlist-update (proc parsed) |
| 4350 | "Check MODE commands for bans and update the banlist appropriately." | 4362 | "Check MODE commands for bans and update the banlist appropriately." |
| 4351 | ;; FIXME: Possibly incorrect. -- Lawrence 2004-05-11 | 4363 | ;; FIXME: Possibly incorrect. -- Lawrence 2004-05-11 |
| 4352 | (let* ((tgt (first (erc-response.command-args parsed))) | 4364 | (let* ((tgt (car (erc-response.command-args parsed))) |
| 4353 | (mode (erc-response.contents parsed)) | 4365 | (mode (erc-response.contents parsed)) |
| 4354 | (whoset (erc-response.sender parsed)) | 4366 | (whoset (erc-response.sender parsed)) |
| 4355 | (buffer (erc-get-buffer tgt proc))) | 4367 | (buffer (erc-get-buffer tgt proc))) |
| @@ -5203,42 +5215,66 @@ Specifically, return the position of `erc-insert-marker'." | |||
| 5203 | "Return the value of `point' at the end of the input line." | 5215 | "Return the value of `point' at the end of the input line." |
| 5204 | (point-max)) | 5216 | (point-max)) |
| 5205 | 5217 | ||
| 5218 | (defvar erc-last-input-time 0 | ||
| 5219 | "Time of last call to `erc-send-current-line'. | ||
| 5220 | If that function has never been called, the value is 0.") | ||
| 5221 | |||
| 5222 | (defcustom erc-accidental-paste-threshold-seconds nil | ||
| 5223 | "Minimum time, in seconds, before sending new lines via IRC. | ||
| 5224 | If the value is a number, `erc-send-current-line' signals an | ||
| 5225 | error if its previous invocation was less than this much time | ||
| 5226 | ago. This is useful so that if you accidentally enter large | ||
| 5227 | amounts of text into the ERC buffer, that text is not sent to the | ||
| 5228 | IRC server. | ||
| 5229 | |||
| 5230 | If the value is nil, `erc-send-current-line' always considers any | ||
| 5231 | submitted line to be intentional." | ||
| 5232 | :group 'erc | ||
| 5233 | :version "24.4" | ||
| 5234 | :type '(choice number (other :tag "disabled" nil))) | ||
| 5235 | |||
| 5206 | (defun erc-send-current-line () | 5236 | (defun erc-send-current-line () |
| 5207 | "Parse current line and send it to IRC." | 5237 | "Parse current line and send it to IRC." |
| 5208 | (interactive) | 5238 | (interactive) |
| 5209 | (save-restriction | 5239 | (let ((now (float-time))) |
| 5210 | (widen) | 5240 | (if (or (not erc-accidental-paste-threshold-seconds) |
| 5211 | (if (< (point) (erc-beg-of-input-line)) | 5241 | (< erc-accidental-paste-threshold-seconds |
| 5212 | (erc-error "Point is not in the input area") | 5242 | (- now erc-last-input-time))) |
| 5213 | (let ((inhibit-read-only t) | 5243 | (save-restriction |
| 5214 | (str (erc-user-input)) | 5244 | (widen) |
| 5215 | (old-buf (current-buffer))) | 5245 | (if (< (point) (erc-beg-of-input-line)) |
| 5216 | (if (and (not (erc-server-buffer-live-p)) | 5246 | (erc-error "Point is not in the input area") |
| 5217 | (not (erc-command-no-process-p str))) | 5247 | (let ((inhibit-read-only t) |
| 5218 | (erc-error "ERC: No process running") | 5248 | (str (erc-user-input)) |
| 5219 | (erc-set-active-buffer (current-buffer)) | 5249 | (old-buf (current-buffer))) |
| 5220 | 5250 | (if (and (not (erc-server-buffer-live-p)) | |
| 5221 | ;; Kill the input and the prompt | 5251 | (not (erc-command-no-process-p str))) |
| 5222 | (delete-region (erc-beg-of-input-line) | 5252 | (erc-error "ERC: No process running") |
| 5223 | (erc-end-of-input-line)) | 5253 | (erc-set-active-buffer (current-buffer)) |
| 5224 | 5254 | ;; Kill the input and the prompt | |
| 5225 | (unwind-protect | 5255 | (delete-region (erc-beg-of-input-line) |
| 5226 | (erc-send-input str) | 5256 | (erc-end-of-input-line)) |
| 5227 | ;; Fix the buffer if the command didn't kill it | 5257 | (unwind-protect |
| 5228 | (when (buffer-live-p old-buf) | 5258 | (erc-send-input str) |
| 5229 | (with-current-buffer old-buf | 5259 | ;; Fix the buffer if the command didn't kill it |
| 5230 | (save-restriction | 5260 | (when (buffer-live-p old-buf) |
| 5231 | (widen) | 5261 | (with-current-buffer old-buf |
| 5232 | (goto-char (point-max)) | 5262 | (save-restriction |
| 5233 | (when (processp erc-server-process) | 5263 | (widen) |
| 5234 | (set-marker (process-mark erc-server-process) (point))) | 5264 | (goto-char (point-max)) |
| 5235 | (set-marker erc-insert-marker (point)) | 5265 | (when (processp erc-server-process) |
| 5236 | (let ((buffer-modified (buffer-modified-p))) | 5266 | (set-marker (process-mark erc-server-process) (point))) |
| 5237 | (erc-display-prompt) | 5267 | (set-marker erc-insert-marker (point)) |
| 5238 | (set-buffer-modified-p buffer-modified)))))) | 5268 | (let ((buffer-modified (buffer-modified-p))) |
| 5239 | 5269 | (erc-display-prompt) | |
| 5240 | ;; Only when last hook has been run... | 5270 | (set-buffer-modified-p buffer-modified)))))) |
| 5241 | (run-hook-with-args 'erc-send-completed-hook str)))))) | 5271 | |
| 5272 | ;; Only when last hook has been run... | ||
| 5273 | (run-hook-with-args 'erc-send-completed-hook str)))) | ||
| 5274 | (setq erc-last-input-time now)) | ||
| 5275 | (switch-to-buffer "*ERC Accidental Paste Overflow*") | ||
| 5276 | (lwarn 'erc :warning | ||
| 5277 | "You seem to have accidentally pasted some text!")))) | ||
| 5242 | 5278 | ||
| 5243 | (defun erc-user-input () | 5279 | (defun erc-user-input () |
| 5244 | "Return the input of the user in the current buffer." | 5280 | "Return the input of the user in the current buffer." |
| @@ -6000,7 +6036,7 @@ entry of `channel-members'." | |||
| 6000 | (if cuser | 6036 | (if cuser |
| 6001 | (setq op (erc-channel-user-op cuser) | 6037 | (setq op (erc-channel-user-op cuser) |
| 6002 | voice (erc-channel-user-voice cuser))) | 6038 | voice (erc-channel-user-voice cuser))) |
| 6003 | (if (interactive-p) | 6039 | (if (called-interactively-p 'interactive) |
| 6004 | (message "%s is %s@%s%s%s" | 6040 | (message "%s is %s@%s%s%s" |
| 6005 | nick login host | 6041 | nick login host |
| 6006 | (if full-name (format " (%s)" full-name) "") | 6042 | (if full-name (format " (%s)" full-name) "") |
| @@ -6088,17 +6124,6 @@ Otherwise, use the `erc-header-line' face." | |||
| 6088 | :group 'erc-paranoia | 6124 | :group 'erc-paranoia |
| 6089 | :type 'boolean) | 6125 | :type 'boolean) |
| 6090 | 6126 | ||
| 6091 | (defcustom erc-common-server-suffixes | ||
| 6092 | '(("openprojects.net$" . "OPN") | ||
| 6093 | ("freenode.net$" . "freenode") | ||
| 6094 | ("oftc.net$" . "OFTC")) | ||
| 6095 | "Alist of common server name suffixes. | ||
| 6096 | This variable is used in mode-line display to save screen | ||
| 6097 | real estate. Set it to nil if you want to avoid changing | ||
| 6098 | displayed hostnames." | ||
| 6099 | :group 'erc-mode-line-and-header | ||
| 6100 | :type 'alist) | ||
| 6101 | |||
| 6102 | (defcustom erc-mode-line-away-status-format | 6127 | (defcustom erc-mode-line-away-status-format |
| 6103 | "(AWAY since %a %b %d %H:%M) " | 6128 | "(AWAY since %a %b %d %H:%M) " |
| 6104 | "When you're away on a server, this is shown in the mode line. | 6129 | "When you're away on a server, this is shown in the mode line. |
| @@ -6302,7 +6327,7 @@ If optional argument HERE is non-nil, insert version number at point." | |||
| 6302 | (format "ERC %s (GNU Emacs %s)" erc-version-string emacs-version))) | 6327 | (format "ERC %s (GNU Emacs %s)" erc-version-string emacs-version))) |
| 6303 | (if here | 6328 | (if here |
| 6304 | (insert version-string) | 6329 | (insert version-string) |
| 6305 | (if (interactive-p) | 6330 | (if (called-interactively-p 'interactive) |
| 6306 | (message "%s" version-string) | 6331 | (message "%s" version-string) |
| 6307 | version-string)))) | 6332 | version-string)))) |
| 6308 | 6333 | ||
| @@ -6322,7 +6347,7 @@ If optional argument HERE is non-nil, insert version number at point." | |||
| 6322 | ", "))) | 6347 | ", "))) |
| 6323 | (if here | 6348 | (if here |
| 6324 | (insert string) | 6349 | (insert string) |
| 6325 | (if (interactive-p) | 6350 | (if (called-interactively-p 'interactive) |
| 6326 | (message "%s" string) | 6351 | (message "%s" string) |
| 6327 | string)))) | 6352 | string)))) |
| 6328 | 6353 | ||
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el index aa8aae2d245..b4c86e39e86 100644 --- a/lisp/eshell/em-cmpl.el +++ b/lisp/eshell/em-cmpl.el | |||
| @@ -297,6 +297,8 @@ to writing a completion function." | |||
| 297 | (define-key eshell-command-map [? ] 'pcomplete-expand) | 297 | (define-key eshell-command-map [? ] 'pcomplete-expand) |
| 298 | (define-key eshell-mode-map [tab] 'eshell-pcomplete) | 298 | (define-key eshell-mode-map [tab] 'eshell-pcomplete) |
| 299 | (define-key eshell-mode-map [(control ?i)] 'eshell-pcomplete) | 299 | (define-key eshell-mode-map [(control ?i)] 'eshell-pcomplete) |
| 300 | (add-hook 'completion-at-point-functions | ||
| 301 | #'pcomplete-completions-at-point nil t) | ||
| 300 | ;; jww (1999-10-19): Will this work on anything but X? | 302 | ;; jww (1999-10-19): Will this work on anything but X? |
| 301 | (if (featurep 'xemacs) | 303 | (if (featurep 'xemacs) |
| 302 | (define-key eshell-mode-map [iso-left-tab] 'pcomplete-reverse) | 304 | (define-key eshell-mode-map [iso-left-tab] 'pcomplete-reverse) |
| @@ -452,9 +454,9 @@ to writing a completion function." | |||
| 452 | (defun eshell-pcomplete () | 454 | (defun eshell-pcomplete () |
| 453 | "Eshell wrapper for `pcomplete'." | 455 | "Eshell wrapper for `pcomplete'." |
| 454 | (interactive) | 456 | (interactive) |
| 455 | (if eshell-cmpl-ignore-case | 457 | (condition-case nil |
| 456 | (pcomplete-expand-and-complete) ; hack workaround for bug#12838 | 458 | (pcomplete) |
| 457 | (pcomplete))) | 459 | (text-read-only (completion-at-point)))) ; Workaround for bug#12838. |
| 458 | 460 | ||
| 459 | (provide 'em-cmpl) | 461 | (provide 'em-cmpl) |
| 460 | 462 | ||
diff --git a/lisp/faces.el b/lisp/faces.el index 9e0ca962499..280d85c34e9 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -487,44 +487,44 @@ with the `default' face (which is always completely specified)." | |||
| 487 | (defalias 'face-background-pixmap 'face-stipple) | 487 | (defalias 'face-background-pixmap 'face-stipple) |
| 488 | 488 | ||
| 489 | 489 | ||
| 490 | ;; FIXME all of these -p functions ignore inheritance (cf face-stipple). | 490 | (defun face-underline-p (face &optional frame inherit) |
| 491 | ;; Ie, a face that inherits from an underlined face but does not | ||
| 492 | ;; specify :underline will return nil. | ||
| 493 | ;; So these functions don't actually tell you anything about how the | ||
| 494 | ;; face will _appear_. So not very useful IMO. | ||
| 495 | (defun face-underline-p (face &optional frame) | ||
| 496 | "Return non-nil if FACE specifies a non-nil underlining. | 491 | "Return non-nil if FACE specifies a non-nil underlining. |
| 497 | If the optional argument FRAME is given, report on face FACE in that frame. | 492 | If the optional argument FRAME is given, report on face FACE in that frame. |
| 498 | If FRAME is t, report on the defaults for face FACE (for new frames). | 493 | If FRAME is t, report on the defaults for face FACE (for new frames). |
| 499 | If FRAME is omitted or nil, use the selected frame." | 494 | If FRAME is omitted or nil, use the selected frame. |
| 500 | (face-attribute-specified-or (face-attribute face :underline frame) nil)) | 495 | Optional argument INHERIT is passed to `face-attribute'." |
| 496 | (face-attribute-specified-or | ||
| 497 | (face-attribute face :underline frame inherit) nil)) | ||
| 501 | 498 | ||
| 502 | 499 | ||
| 503 | (defun face-inverse-video-p (face &optional frame) | 500 | (defun face-inverse-video-p (face &optional frame inherit) |
| 504 | "Return non-nil if FACE specifies a non-nil inverse-video. | 501 | "Return non-nil if FACE specifies a non-nil inverse-video. |
| 505 | If the optional argument FRAME is given, report on face FACE in that frame. | 502 | If the optional argument FRAME is given, report on face FACE in that frame. |
| 506 | If FRAME is t, report on the defaults for face FACE (for new frames). | 503 | If FRAME is t, report on the defaults for face FACE (for new frames). |
| 507 | If FRAME is omitted or nil, use the selected frame." | 504 | If FRAME is omitted or nil, use the selected frame. |
| 508 | (eq (face-attribute face :inverse-video frame) t)) | 505 | Optional argument INHERIT is passed to `face-attribute'." |
| 506 | (eq (face-attribute face :inverse-video frame inherit) t)) | ||
| 509 | 507 | ||
| 510 | 508 | ||
| 511 | (defun face-bold-p (face &optional frame) | 509 | (defun face-bold-p (face &optional frame inherit) |
| 512 | "Return non-nil if the font of FACE is bold on FRAME. | 510 | "Return non-nil if the font of FACE is bold on FRAME. |
| 513 | If the optional argument FRAME is given, report on face FACE in that frame. | 511 | If the optional argument FRAME is given, report on face FACE in that frame. |
| 514 | If FRAME is t, report on the defaults for face FACE (for new frames). | 512 | If FRAME is t, report on the defaults for face FACE (for new frames). |
| 515 | If FRAME is omitted or nil, use the selected frame. | 513 | If FRAME is omitted or nil, use the selected frame. |
| 514 | Optional argument INHERIT is passed to `face-attribute'. | ||
| 516 | Use `face-attribute' for finer control." | 515 | Use `face-attribute' for finer control." |
| 517 | (let ((bold (face-attribute face :weight frame))) | 516 | (let ((bold (face-attribute face :weight frame inherit))) |
| 518 | (memq bold '(semi-bold bold extra-bold ultra-bold)))) | 517 | (memq bold '(semi-bold bold extra-bold ultra-bold)))) |
| 519 | 518 | ||
| 520 | 519 | ||
| 521 | (defun face-italic-p (face &optional frame) | 520 | (defun face-italic-p (face &optional frame inherit) |
| 522 | "Return non-nil if the font of FACE is italic on FRAME. | 521 | "Return non-nil if the font of FACE is italic on FRAME. |
| 523 | If the optional argument FRAME is given, report on face FACE in that frame. | 522 | If the optional argument FRAME is given, report on face FACE in that frame. |
| 524 | If FRAME is t, report on the defaults for face FACE (for new frames). | 523 | If FRAME is t, report on the defaults for face FACE (for new frames). |
| 525 | If FRAME is omitted or nil, use the selected frame. | 524 | If FRAME is omitted or nil, use the selected frame. |
| 525 | Optional argument INHERIT is passed to `face-attribute'. | ||
| 526 | Use `face-attribute' for finer control." | 526 | Use `face-attribute' for finer control." |
| 527 | (let ((italic (face-attribute face :slant frame))) | 527 | (let ((italic (face-attribute face :slant frame inherit))) |
| 528 | (memq italic '(italic oblique)))) | 528 | (memq italic '(italic oblique)))) |
| 529 | 529 | ||
| 530 | 530 | ||
| @@ -862,7 +862,7 @@ Use `set-face-attribute' to ``unspecify'' underlining." | |||
| 862 | 'set-face-underline "24.3") | 862 | 'set-face-underline "24.3") |
| 863 | 863 | ||
| 864 | 864 | ||
| 865 | (defun set-face-inverse-video-p (face inverse-video-p &optional frame) | 865 | (defun set-face-inverse-video (face inverse-video-p &optional frame) |
| 866 | "Specify whether face FACE is in inverse video. | 866 | "Specify whether face FACE is in inverse video. |
| 867 | INVERSE-VIDEO-P non-nil means FACE displays explicitly in inverse video. | 867 | INVERSE-VIDEO-P non-nil means FACE displays explicitly in inverse video. |
| 868 | INVERSE-VIDEO-P nil means FACE explicitly is not in inverse video. | 868 | INVERSE-VIDEO-P nil means FACE explicitly is not in inverse video. |
| @@ -870,14 +870,13 @@ FRAME nil or not specified means change face on all frames. | |||
| 870 | Use `set-face-attribute' to ``unspecify'' the inverse video attribute." | 870 | Use `set-face-attribute' to ``unspecify'' the inverse video attribute." |
| 871 | (interactive | 871 | (interactive |
| 872 | (let ((list (read-face-and-attribute :inverse-video))) | 872 | (let ((list (read-face-and-attribute :inverse-video))) |
| 873 | (list (car list) (eq (car (cdr list)) t)))) | 873 | (list (car list) (if (cadr list) t)))) |
| 874 | (set-face-attribute face frame :inverse-video inverse-video-p)) | 874 | (set-face-attribute face frame :inverse-video inverse-video-p)) |
| 875 | 875 | ||
| 876 | (define-obsolete-function-alias 'set-face-inverse-video-p | ||
| 877 | 'set-face-inverse-video "24.4") | ||
| 876 | 878 | ||
| 877 | ;; The -p suffix is a hostage to fortune. What if we want to extend | 879 | (defun set-face-bold (face bold-p &optional frame) |
| 878 | ;; this to allow more than boolean options? Exactly this happened | ||
| 879 | ;; to set-face-underline-p. | ||
| 880 | (defun set-face-bold-p (face bold-p &optional frame) | ||
| 881 | "Specify whether face FACE is bold. | 880 | "Specify whether face FACE is bold. |
| 882 | BOLD-P non-nil means FACE should explicitly display bold. | 881 | BOLD-P non-nil means FACE should explicitly display bold. |
| 883 | BOLD-P nil means FACE should explicitly display non-bold. | 882 | BOLD-P nil means FACE should explicitly display non-bold. |
| @@ -887,8 +886,10 @@ Use `set-face-attribute' or `modify-face' for finer control." | |||
| 887 | (make-face-unbold face frame) | 886 | (make-face-unbold face frame) |
| 888 | (make-face-bold face frame))) | 887 | (make-face-bold face frame))) |
| 889 | 888 | ||
| 889 | (define-obsolete-function-alias 'set-face-bold-p 'set-face-bold "24.4") | ||
| 890 | |||
| 890 | 891 | ||
| 891 | (defun set-face-italic-p (face italic-p &optional frame) | 892 | (defun set-face-italic (face italic-p &optional frame) |
| 892 | "Specify whether face FACE is italic. | 893 | "Specify whether face FACE is italic. |
| 893 | ITALIC-P non-nil means FACE should explicitly display italic. | 894 | ITALIC-P non-nil means FACE should explicitly display italic. |
| 894 | ITALIC-P nil means FACE should explicitly display non-italic. | 895 | ITALIC-P nil means FACE should explicitly display non-italic. |
| @@ -898,6 +899,8 @@ Use `set-face-attribute' or `modify-face' for finer control." | |||
| 898 | (make-face-unitalic face frame) | 899 | (make-face-unitalic face frame) |
| 899 | (make-face-italic face frame))) | 900 | (make-face-italic face frame))) |
| 900 | 901 | ||
| 902 | (define-obsolete-function-alias 'set-face-italic-p 'set-face-italic "24.4") | ||
| 903 | |||
| 901 | 904 | ||
| 902 | (defalias 'set-face-background-pixmap 'set-face-stipple) | 905 | (defalias 'set-face-background-pixmap 'set-face-stipple) |
| 903 | 906 | ||
| @@ -926,13 +929,25 @@ of the default face. Value is FACE." | |||
| 926 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 929 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 927 | 930 | ||
| 928 | (defun read-face-name (prompt &optional default multiple) | 931 | (defun read-face-name (prompt &optional default multiple) |
| 929 | "Read a face, defaulting to the face or faces on the char after point. | 932 | "Read a face, defaulting to the face or faces at point. |
| 930 | If it has the property `read-face-name', that overrides the `face' property. | 933 | If the text at point has the property `read-face-name', that |
| 931 | PROMPT should be a string that describes what the caller will do with the face; | 934 | overrides the `face' property for determining the default. |
| 932 | it should not end in a space. | 935 | |
| 936 | PROMPT should be a string that describes what the caller will do | ||
| 937 | with the face; it should not end in a space. | ||
| 938 | |||
| 939 | |||
| 940 | This function uses `completing-read-multiple' with \",\" as the | ||
| 941 | separator character, i.e. | ||
| 942 | |||
| 943 | |||
| 944 | |||
| 945 | |||
| 946 | |||
| 933 | The optional argument DEFAULT provides the value to display in the | 947 | The optional argument DEFAULT provides the value to display in the |
| 934 | minibuffer prompt that is returned if the user just types RET | 948 | minibuffer prompt that is returned if the user just types RET |
| 935 | unless DEFAULT is a string (in which case nil is returned). | 949 | unless DEFAULT is a string (in which case nil is returned). |
| 950 | |||
| 936 | If MULTIPLE is non-nil, return a list of faces (possibly only one). | 951 | If MULTIPLE is non-nil, return a list of faces (possibly only one). |
| 937 | Otherwise, return a single face." | 952 | Otherwise, return a single face." |
| 938 | (let ((faceprop (or (get-char-property (point) 'read-face-name) | 953 | (let ((faceprop (or (get-char-property (point) 'read-face-name) |
| @@ -1572,44 +1587,79 @@ If SPEC is nil, return nil." | |||
| 1572 | (mapcar (lambda (x) (list (car x) 'unspecified)) | 1587 | (mapcar (lambda (x) (list (car x) 'unspecified)) |
| 1573 | face-attribute-name-alist))))) | 1588 | face-attribute-name-alist))))) |
| 1574 | 1589 | ||
| 1575 | (defun face-spec-set (face spec &optional for-defface) | 1590 | (defun face-spec-set (face spec &optional spec-type) |
| 1576 | "Set and apply the face spec for FACE. | 1591 | "Set the face spec SPEC for FACE. |
| 1577 | If the optional argument FOR-DEFFACE is omitted or nil, set the | 1592 | See `defface' for the format of SPEC. |
| 1578 | overriding spec to SPEC, recording it in the `face-override-spec' | 1593 | |
| 1579 | property of FACE. See `defface' for the format of SPEC. | 1594 | The appearance of each face is controlled by its spec, and by the |
| 1580 | 1595 | internal face attributes (which can be frame-specific and can be | |
| 1581 | If FOR-DEFFACE is non-nil, set the base spec (the one set by | 1596 | set via `set-face-attribute'). |
| 1582 | `defface' and Custom). In this case, SPEC is ignored; the caller | 1597 | |
| 1583 | is responsible for putting the face spec in the `saved-face', | 1598 | The argument SPEC-TYPE determines which spec to set: |
| 1584 | `customized-face', or `face-defface-spec', as appropriate. | 1599 | nil or `face-override-spec' means the override spec (which is |
| 1585 | 1600 | usually what you want if calling this function outside of | |
| 1586 | The appearance of FACE is controlled by the base spec, by any | 1601 | Custom code); |
| 1587 | custom theme specs on top of that, and by the overriding spec on | 1602 | `customized-face' or `saved-face' means the customized spec or |
| 1588 | top of all the rest." | 1603 | the saved custom spec; |
| 1589 | (if for-defface | 1604 | `face-defface-spec' means the default spec |
| 1590 | ;; When we reset the face based on its custom spec, then it is | 1605 | (usually set only via `defface'); |
| 1591 | ;; unmodified as far as Custom is concerned. | 1606 | `reset' means to ignore SPEC, but clear the `customized-face' |
| 1592 | (put (or (get face 'face-alias) face) 'face-modified nil) | 1607 | and `face-override-spec' specs; |
| 1593 | ;; When we change a face based on a spec from outside custom, | 1608 | Any other value means not to set any spec, but to run the |
| 1594 | ;; record it for future frames. | 1609 | function for its other effects. |
| 1595 | (put (or (get face 'face-alias) face) 'face-override-spec spec)) | 1610 | |
| 1596 | ;; Reset each frame according to the rules implied by all its specs. | 1611 | In addition to setting the face spec, this function defines FACE |
| 1597 | (dolist (frame (frame-list)) | 1612 | as a valid face name if it is not already one, and (re)calculates |
| 1598 | (face-spec-recalc face frame))) | 1613 | the face's attributes on existing frames." |
| 1614 | (if (get face 'face-alias) | ||
| 1615 | (setq face (get face 'face-alias))) | ||
| 1616 | ;; Save SPEC to the relevant symbol property. | ||
| 1617 | (unless spec-type | ||
| 1618 | (setq spec-type 'face-override-spec)) | ||
| 1619 | (if (memq spec-type '(face-defface-spec face-override-spec | ||
| 1620 | customized-face saved-face)) | ||
| 1621 | (put face spec-type spec)) | ||
| 1622 | (if (memq spec-type '(reset saved-face)) | ||
| 1623 | (put face 'customized-face nil)) | ||
| 1624 | ;; Setting the face spec via Custom empties out any override spec, | ||
| 1625 | ;; similar to how setting a variable via Custom changes its values. | ||
| 1626 | (if (memq spec-type '(customized-face saved-face reset)) | ||
| 1627 | (put face 'face-override-spec nil)) | ||
| 1628 | ;; If we reset the face based on its custom spec, it is unmodified | ||
| 1629 | ;; as far as Custom is concerned. | ||
| 1630 | (unless (eq face 'face-override-spec) | ||
| 1631 | (put face 'face-modified nil)) | ||
| 1632 | (if (facep face) | ||
| 1633 | ;; If the face already exists, recalculate it. | ||
| 1634 | (dolist (frame (frame-list)) | ||
| 1635 | (face-spec-recalc face frame)) | ||
| 1636 | ;; Otherwise, initialize it on all frames. | ||
| 1637 | (make-empty-face face) | ||
| 1638 | (let ((value (face-user-default-spec face)) | ||
| 1639 | (have-window-system (memq initial-window-system '(x w32 ns)))) | ||
| 1640 | (dolist (frame (frame-list)) | ||
| 1641 | (face-spec-set-2 face frame value) | ||
| 1642 | (when (memq (window-system frame) '(x w32 ns)) | ||
| 1643 | (setq have-window-system t))) | ||
| 1644 | (if have-window-system | ||
| 1645 | (make-face-x-resource-internal face))))) | ||
| 1599 | 1646 | ||
| 1600 | (defun face-spec-recalc (face frame) | 1647 | (defun face-spec-recalc (face frame) |
| 1601 | "Reset the face attributes of FACE on FRAME according to its specs. | 1648 | "Reset the face attributes of FACE on FRAME according to its specs. |
| 1602 | This applies the defface/custom spec first, then the custom theme specs, | 1649 | This applies the defface/custom spec first, then the custom theme specs, |
| 1603 | then the override spec." | 1650 | then the override spec." |
| 1651 | (while (get face 'face-alias) | ||
| 1652 | (setq face (get face 'face-alias))) | ||
| 1604 | (face-spec-reset-face face frame) | 1653 | (face-spec-reset-face face frame) |
| 1605 | (let ((face-sym (or (get face 'face-alias) face))) | 1654 | ;; If FACE is customized or themed, set the custom spec from |
| 1606 | (or (get face 'customized-face) | 1655 | ;; `theme-face' records, which completely replace the defface spec |
| 1607 | (get face 'saved-face) | 1656 | ;; rather than inheriting from it. |
| 1608 | (face-spec-set-2 face frame (face-default-spec face))) | 1657 | (let ((theme-faces (get face 'theme-face))) |
| 1609 | (let ((theme-faces (reverse (get face-sym 'theme-face)))) | 1658 | (if theme-faces |
| 1610 | (dolist (spec theme-faces) | 1659 | (dolist (spec (reverse theme-faces)) |
| 1611 | (face-spec-set-2 face frame (cadr spec)))) | 1660 | (face-spec-set-2 face frame (cadr spec))) |
| 1612 | (face-spec-set-2 face frame (get face-sym 'face-override-spec)))) | 1661 | (face-spec-set-2 face frame (face-default-spec face)))) |
| 1662 | (face-spec-set-2 face frame (get face 'face-override-spec))) | ||
| 1613 | 1663 | ||
| 1614 | (defun face-spec-set-2 (face frame spec) | 1664 | (defun face-spec-set-2 (face frame spec) |
| 1615 | "Set the face attributes of FACE on FRAME according to SPEC." | 1665 | "Set the face attributes of FACE on FRAME according to SPEC." |
| @@ -1689,12 +1739,16 @@ If FRAME is nil, that stands for the selected frame." | |||
| 1689 | (declare-function xw-color-defined-p "xfns.c" (color &optional frame)) | 1739 | (declare-function xw-color-defined-p "xfns.c" (color &optional frame)) |
| 1690 | 1740 | ||
| 1691 | (defun color-defined-p (color &optional frame) | 1741 | (defun color-defined-p (color &optional frame) |
| 1692 | "Return non-nil if color COLOR is supported on frame FRAME. | 1742 | "Return non-nil if COLOR is supported on frame FRAME. |
| 1693 | If FRAME is omitted or nil, use the selected frame. | 1743 | COLOR should be a string naming a color (e.g. \"white\"), or a |
| 1694 | If COLOR is the symbol `unspecified' or one of the strings | 1744 | string specifying a color's RGB components (e.g. \"#ff12ec\"), or |
| 1695 | \"unspecified-fg\" or \"unspecified-bg\", the value is nil." | 1745 | the symbol `unspecified'. |
| 1696 | (if (member color '(unspecified "unspecified-bg" "unspecified-fg")) | 1746 | |
| 1697 | nil | 1747 | This function returns nil if COLOR is the symbol `unspecified', |
| 1748 | or one of the strings \"unspecified-fg\" or \"unspecified-bg\". | ||
| 1749 | |||
| 1750 | If FRAME is omitted or nil, use the selected frame." | ||
| 1751 | (unless (member color '(unspecified "unspecified-bg" "unspecified-fg")) | ||
| 1698 | (if (member (framep (or frame (selected-frame))) '(x w32 ns)) | 1752 | (if (member (framep (or frame (selected-frame))) '(x w32 ns)) |
| 1699 | (xw-color-defined-p color frame) | 1753 | (xw-color-defined-p color frame) |
| 1700 | (numberp (tty-color-translate color frame))))) | 1754 | (numberp (tty-color-translate color frame))))) |
diff --git a/lisp/ffap.el b/lisp/ffap.el index 4c75609fe01..00be6b91571 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el | |||
| @@ -181,7 +181,7 @@ Note this name may be omitted if it equals the default | |||
| 181 | ;; Could just use `url-nonrelative-link' of w3, if loaded. | 181 | ;; Could just use `url-nonrelative-link' of w3, if loaded. |
| 182 | ;; This regexp is not exhaustive, it just matches common cases. | 182 | ;; This regexp is not exhaustive, it just matches common cases. |
| 183 | (concat | 183 | (concat |
| 184 | "\\`\\(" | 184 | "\\(" |
| 185 | "news\\(post\\)?:\\|mailto:\\|file:" ; no host ok | 185 | "news\\(post\\)?:\\|mailto:\\|file:" ; no host ok |
| 186 | "\\|" | 186 | "\\|" |
| 187 | "\\(ftp\\|https?\\|telnet\\|gopher\\|www\\|wais\\)://" ; needs host | 187 | "\\(ftp\\|https?\\|telnet\\|gopher\\|www\\|wais\\)://" ; needs host |
| @@ -484,7 +484,7 @@ Returned values: | |||
| 484 | "In remote FULLNAME, replace path with NAME. May return nil." | 484 | "In remote FULLNAME, replace path with NAME. May return nil." |
| 485 | ;; Use efs if loaded, but do not load it otherwise. | 485 | ;; Use efs if loaded, but do not load it otherwise. |
| 486 | (if (fboundp 'efs-replace-path-component) | 486 | (if (fboundp 'efs-replace-path-component) |
| 487 | (funcall efs-replace-path-component fullname name) | 487 | (funcall 'efs-replace-path-component fullname name) |
| 488 | (and (stringp fullname) | 488 | (and (stringp fullname) |
| 489 | (stringp name) | 489 | (stringp name) |
| 490 | (concat (file-remote-p fullname) name)))) | 490 | (concat (file-remote-p fullname) name)))) |
| @@ -606,10 +606,11 @@ Looks at `ffap-ftp-default-user', returns \"\" for \"localhost\"." | |||
| 606 | 606 | ||
| 607 | (defsubst ffap-url-p (string) | 607 | (defsubst ffap-url-p (string) |
| 608 | "If STRING looks like an URL, return it (maybe improved), else nil." | 608 | "If STRING looks like an URL, return it (maybe improved), else nil." |
| 609 | (let ((case-fold-search t)) | 609 | (when (and (stringp string) ffap-url-regexp) |
| 610 | (and ffap-url-regexp (string-match ffap-url-regexp string) | 610 | (let* ((case-fold-search t) |
| 611 | ;; I lied, no improvement: | 611 | (match (string-match ffap-url-regexp string))) |
| 612 | string))) | 612 | (cond ((eq match 0) string) |
| 613 | (match (substring string match)))))) | ||
| 613 | 614 | ||
| 614 | ;; Broke these out of ffap-fixup-url, for use of ffap-url package. | 615 | ;; Broke these out of ffap-fixup-url, for use of ffap-url package. |
| 615 | (defun ffap-url-unwrap-local (url) | 616 | (defun ffap-url-unwrap-local (url) |
| @@ -1122,10 +1123,8 @@ Assumes the buffer has not changed." | |||
| 1122 | (equal (ffap-string-around) "<>") | 1123 | (equal (ffap-string-around) "<>") |
| 1123 | ;; (ffap-user-p name): | 1124 | ;; (ffap-user-p name): |
| 1124 | (not (string-match "~" (expand-file-name (concat "~" name))))) | 1125 | (not (string-match "~" (expand-file-name (concat "~" name))))) |
| 1125 | (setq name (concat "mailto:" name)))) | 1126 | (setq name (concat "mailto:" name))) |
| 1126 | 1127 | ((ffap-url-p name))))))) | |
| 1127 | (if (ffap-url-p name) | ||
| 1128 | name))))) | ||
| 1129 | 1128 | ||
| 1130 | (defvar ffap-gopher-regexp | 1129 | (defvar ffap-gopher-regexp |
| 1131 | "^.*\\<\\(Type\\|Name\\|Path\\|Host\\|Port\\) *= *\\(.*\\) *$" | 1130 | "^.*\\<\\(Type\\|Name\\|Path\\|Host\\|Port\\) *= *\\(.*\\) *$" |
| @@ -1297,13 +1296,11 @@ which may actually result in an URL rather than a filename." | |||
| 1297 | (let (dir) | 1296 | (let (dir) |
| 1298 | ;; Tricky: guess may have or be a local directory, like "w3/w3.elc" | 1297 | ;; Tricky: guess may have or be a local directory, like "w3/w3.elc" |
| 1299 | ;; or "w3/" or "../el/ffap.el" or "../../../" | 1298 | ;; or "w3/" or "../el/ffap.el" or "../../../" |
| 1300 | (or (ffap-url-p guess) | 1299 | (unless (ffap-url-p guess) |
| 1301 | (progn | 1300 | (unless (ffap-file-remote-p guess) |
| 1302 | (or (ffap-file-remote-p guess) | 1301 | (setq guess |
| 1303 | (setq guess | 1302 | (abbreviate-file-name (expand-file-name guess)))) |
| 1304 | (abbreviate-file-name (expand-file-name guess)) | 1303 | (setq dir (file-name-directory guess))) |
| 1305 | )) | ||
| 1306 | (setq dir (file-name-directory guess)))) | ||
| 1307 | (let ((minibuffer-completing-file-name t) | 1304 | (let ((minibuffer-completing-file-name t) |
| 1308 | (completion-ignore-case read-file-name-completion-ignore-case) | 1305 | (completion-ignore-case read-file-name-completion-ignore-case) |
| 1309 | (fnh-elem (cons ffap-url-regexp 'url-file-handler))) | 1306 | (fnh-elem (cons ffap-url-regexp 'url-file-handler))) |
| @@ -1327,11 +1324,8 @@ which may actually result in an URL rather than a filename." | |||
| 1327 | ;; other modifications to be lost (e.g. when Tramp gets loaded | 1324 | ;; other modifications to be lost (e.g. when Tramp gets loaded |
| 1328 | ;; during the completing-read call). | 1325 | ;; during the completing-read call). |
| 1329 | (setq file-name-handler-alist (delq fnh-elem file-name-handler-alist)))) | 1326 | (setq file-name-handler-alist (delq fnh-elem file-name-handler-alist)))) |
| 1330 | ;; Do file substitution like (interactive "F"), suggested by MCOOK. | 1327 | (or (ffap-url-p guess) |
| 1331 | (or (ffap-url-p guess) (setq guess (substitute-in-file-name guess))) | 1328 | (substitute-in-file-name guess)))) |
| 1332 | ;; Should not do it on url's, where $ is a common (VMS?) character. | ||
| 1333 | ;; Note: upcoming url.el package ought to handle this automatically. | ||
| 1334 | guess)) | ||
| 1335 | 1329 | ||
| 1336 | (defun ffap-read-url-internal (string pred action) | 1330 | (defun ffap-read-url-internal (string pred action) |
| 1337 | "Complete URLs from history, treating given string as valid." | 1331 | "Complete URLs from history, treating given string as valid." |
| @@ -1346,11 +1340,10 @@ which may actually result in an URL rather than a filename." | |||
| 1346 | (t t)))) | 1340 | (t t)))) |
| 1347 | 1341 | ||
| 1348 | (defun ffap-read-file-or-url-internal (string pred action) | 1342 | (defun ffap-read-file-or-url-internal (string pred action) |
| 1349 | (unless string ;Why would this ever happen? | 1343 | (let ((url (ffap-url-p string))) |
| 1350 | (setq string default-directory)) | 1344 | (if url |
| 1351 | (if (ffap-url-p string) | 1345 | (ffap-read-url-internal url pred action) |
| 1352 | (ffap-read-url-internal string pred action) | 1346 | (read-file-name-internal (or string default-directory) pred action)))) |
| 1353 | (read-file-name-internal string pred action))) | ||
| 1354 | 1347 | ||
| 1355 | ;; The rest of this page is just to work with package complete.el. | 1348 | ;; The rest of this page is just to work with package complete.el. |
| 1356 | ;; This code assumes that you load ffap.el after complete.el. | 1349 | ;; This code assumes that you load ffap.el after complete.el. |
| @@ -1441,30 +1434,31 @@ and the functions `ffap-file-at-point' and `ffap-url-at-point'." | |||
| 1441 | (let (current-prefix-arg) ; we already interpreted it | 1434 | (let (current-prefix-arg) ; we already interpreted it |
| 1442 | (call-interactively ffap-file-finder)) | 1435 | (call-interactively ffap-file-finder)) |
| 1443 | (or filename (setq filename (ffap-prompter))) | 1436 | (or filename (setq filename (ffap-prompter))) |
| 1444 | (cond | 1437 | (let ((url (ffap-url-p filename))) |
| 1445 | ((ffap-url-p filename) | 1438 | (cond |
| 1446 | (let (current-prefix-arg) ; w3 2.3.25 bug, reported by KPC | 1439 | (url |
| 1447 | (funcall ffap-url-fetcher filename))) | 1440 | (let (current-prefix-arg) |
| 1448 | ((and ffap-pass-wildcards-to-dired | 1441 | (funcall ffap-url-fetcher url))) |
| 1449 | ffap-dired-wildcards | 1442 | ((and ffap-pass-wildcards-to-dired |
| 1450 | (string-match ffap-dired-wildcards filename)) | 1443 | ffap-dired-wildcards |
| 1451 | (funcall ffap-directory-finder filename)) | 1444 | (string-match ffap-dired-wildcards filename)) |
| 1452 | ((and ffap-dired-wildcards | 1445 | (funcall ffap-directory-finder filename)) |
| 1453 | (string-match ffap-dired-wildcards filename) | 1446 | ((and ffap-dired-wildcards |
| 1454 | find-file-wildcards | 1447 | (string-match ffap-dired-wildcards filename) |
| 1455 | ;; Check if it's find-file that supports wildcards arg | 1448 | find-file-wildcards |
| 1456 | (memq ffap-file-finder '(find-file find-alternate-file))) | 1449 | ;; Check if it's find-file that supports wildcards arg |
| 1457 | (funcall ffap-file-finder (expand-file-name filename) t)) | 1450 | (memq ffap-file-finder '(find-file find-alternate-file))) |
| 1458 | ((or (not ffap-newfile-prompt) | 1451 | (funcall ffap-file-finder (expand-file-name filename) t)) |
| 1459 | (file-exists-p filename) | 1452 | ((or (not ffap-newfile-prompt) |
| 1460 | (y-or-n-p "File does not exist, create buffer? ")) | 1453 | (file-exists-p filename) |
| 1461 | (funcall ffap-file-finder | 1454 | (y-or-n-p "File does not exist, create buffer? ")) |
| 1462 | ;; expand-file-name fixes "~/~/.emacs" bug sent by CHUCKR. | 1455 | (funcall ffap-file-finder |
| 1463 | (expand-file-name filename))) | 1456 | ;; expand-file-name fixes "~/~/.emacs" bug sent by CHUCKR. |
| 1464 | ;; User does not want to find a non-existent file: | 1457 | (expand-file-name filename))) |
| 1465 | ((signal 'file-error (list "Opening file buffer" | 1458 | ;; User does not want to find a non-existent file: |
| 1466 | "no such file or directory" | 1459 | ((signal 'file-error (list "Opening file buffer" |
| 1467 | filename)))))) | 1460 | "no such file or directory" |
| 1461 | filename))))))) | ||
| 1468 | 1462 | ||
| 1469 | ;; Shortcut: allow {M-x ffap} rather than {M-x find-file-at-point}. | 1463 | ;; Shortcut: allow {M-x ffap} rather than {M-x find-file-at-point}. |
| 1470 | ;;;###autoload | 1464 | ;;;###autoload |
| @@ -1820,25 +1814,26 @@ If `dired-at-point-require-prefix' is set, the prefix meaning is reversed." | |||
| 1820 | (let (current-prefix-arg) ; already interpreted | 1814 | (let (current-prefix-arg) ; already interpreted |
| 1821 | (call-interactively ffap-directory-finder)) | 1815 | (call-interactively ffap-directory-finder)) |
| 1822 | (or filename (setq filename (dired-at-point-prompter))) | 1816 | (or filename (setq filename (dired-at-point-prompter))) |
| 1823 | (cond | 1817 | (let ((url (ffap-url-p filename))) |
| 1824 | ((ffap-url-p filename) | 1818 | (cond |
| 1825 | (funcall ffap-url-fetcher filename)) | 1819 | (url |
| 1826 | ((and ffap-dired-wildcards | 1820 | (funcall ffap-url-fetcher url)) |
| 1827 | (string-match ffap-dired-wildcards filename)) | 1821 | ((and ffap-dired-wildcards |
| 1828 | (funcall ffap-directory-finder filename)) | 1822 | (string-match ffap-dired-wildcards filename)) |
| 1829 | ((file-exists-p filename) | 1823 | (funcall ffap-directory-finder filename)) |
| 1830 | (if (file-directory-p filename) | 1824 | ((file-exists-p filename) |
| 1825 | (if (file-directory-p filename) | ||
| 1826 | (funcall ffap-directory-finder | ||
| 1827 | (expand-file-name filename)) | ||
| 1831 | (funcall ffap-directory-finder | 1828 | (funcall ffap-directory-finder |
| 1832 | (expand-file-name filename)) | 1829 | (concat (expand-file-name filename) "*")))) |
| 1833 | (funcall ffap-directory-finder | 1830 | ((and (file-writable-p |
| 1834 | (concat (expand-file-name filename) "*")))) | 1831 | (or (file-name-directory (directory-file-name filename)) |
| 1835 | ((and (file-writable-p | 1832 | filename)) |
| 1836 | (or (file-name-directory (directory-file-name filename)) | 1833 | (y-or-n-p "Directory does not exist, create it? ")) |
| 1837 | filename)) | 1834 | (make-directory filename) |
| 1838 | (y-or-n-p "Directory does not exist, create it? ")) | 1835 | (funcall ffap-directory-finder filename)) |
| 1839 | (make-directory filename) | 1836 | ((error "No such file or directory `%s'" filename)))))) |
| 1840 | (funcall ffap-directory-finder filename)) | ||
| 1841 | ((error "No such file or directory `%s'" filename))))) | ||
| 1842 | 1837 | ||
| 1843 | (defun dired-at-point-prompter (&optional guess) | 1838 | (defun dired-at-point-prompter (&optional guess) |
| 1844 | ;; Does guess and prompt step for find-file-at-point. | 1839 | ;; Does guess and prompt step for find-file-at-point. |
| @@ -1851,23 +1846,23 @@ If `dired-at-point-require-prefix' is set, the prefix meaning is reversed." | |||
| 1851 | (ffap-url-regexp "Dired file or URL: ") | 1846 | (ffap-url-regexp "Dired file or URL: ") |
| 1852 | (t "Dired file: ")) | 1847 | (t "Dired file: ")) |
| 1853 | (prog1 | 1848 | (prog1 |
| 1854 | (setq guess (or guess | 1849 | (setq guess |
| 1855 | (let ((guess (ffap-guesser))) | 1850 | (let ((guess (or guess (ffap-guesser)))) |
| 1856 | (if (or (not guess) | 1851 | (cond |
| 1857 | (ffap-url-p guess) | 1852 | ((null guess) nil) |
| 1858 | (ffap-file-remote-p guess)) | 1853 | ((ffap-url-p guess)) |
| 1859 | guess | 1854 | ((ffap-file-remote-p guess) |
| 1860 | (setq guess (abbreviate-file-name | 1855 | guess) |
| 1861 | (expand-file-name guess))) | 1856 | ((progn |
| 1862 | (cond | 1857 | (setq guess (abbreviate-file-name |
| 1863 | ;; Interpret local directory as a directory. | 1858 | (expand-file-name guess))) |
| 1864 | ((file-directory-p guess) | 1859 | ;; Interpret local directory as a directory. |
| 1865 | (file-name-as-directory guess)) | 1860 | (file-directory-p guess)) |
| 1866 | ;; Get directory component from local files. | 1861 | (file-name-as-directory guess)) |
| 1867 | ((file-regular-p guess) | 1862 | ;; Get directory component from local files. |
| 1868 | (file-name-directory guess)) | 1863 | ((file-regular-p guess) |
| 1869 | (guess)))) | 1864 | (file-name-directory guess)) |
| 1870 | )) | 1865 | (guess)))) |
| 1871 | (and guess (ffap-highlight)))) | 1866 | (and guess (ffap-highlight)))) |
| 1872 | (ffap-highlight t))) | 1867 | (ffap-highlight t))) |
| 1873 | 1868 | ||
| @@ -1916,22 +1911,17 @@ Only intended for interactive use." | |||
| 1916 | (defun ffap-guess-file-name-at-point () | 1911 | (defun ffap-guess-file-name-at-point () |
| 1917 | "Try to get a file name at point. | 1912 | "Try to get a file name at point. |
| 1918 | This hook is intended to be put in `file-name-at-point-functions'." | 1913 | This hook is intended to be put in `file-name-at-point-functions'." |
| 1919 | (when (fboundp 'ffap-guesser) | 1914 | (let ((guess (ffap-guesser))) |
| 1920 | ;; Logic from `ffap-read-file-or-url' and `dired-at-point-prompter'. | 1915 | (when (stringp guess) |
| 1921 | (let ((guess (ffap-guesser))) | 1916 | (let ((url (ffap-url-p guess))) |
| 1922 | (setq guess | 1917 | (or url |
| 1923 | (if (or (not guess) | 1918 | (progn |
| 1924 | (and (fboundp 'ffap-url-p) | 1919 | (unless (ffap-file-remote-p guess) |
| 1925 | (ffap-url-p guess)) | 1920 | (setq guess |
| 1926 | (and (fboundp 'ffap-file-remote-p) | 1921 | (abbreviate-file-name (expand-file-name guess)))) |
| 1927 | (ffap-file-remote-p guess))) | 1922 | (if (file-directory-p guess) |
| 1928 | guess | 1923 | (file-name-as-directory guess) |
| 1929 | (abbreviate-file-name (expand-file-name guess)))) | 1924 | guess))))))) |
| 1930 | (when guess | ||
| 1931 | (if (file-directory-p guess) | ||
| 1932 | (file-name-as-directory guess) | ||
| 1933 | guess))))) | ||
| 1934 | |||
| 1935 | 1925 | ||
| 1936 | ;;; Offer default global bindings (`ffap-bindings'): | 1926 | ;;; Offer default global bindings (`ffap-bindings'): |
| 1937 | 1927 | ||
diff --git a/lisp/filecache.el b/lisp/filecache.el index 23246c24c45..bc77c24fe63 100644 --- a/lisp/filecache.el +++ b/lisp/filecache.el | |||
| @@ -267,42 +267,63 @@ files of names DIRNAME1/FILENAME, DIRNAME2/FILENAME, ...") | |||
| 267 | ;; Functions to add files to the cache | 267 | ;; Functions to add files to the cache |
| 268 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 268 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 269 | 269 | ||
| 270 | (defun file-cache--read-list (file op-prompt) | ||
| 271 | (let* ((fun (if file 'read-file-name 'read-directory-name)) | ||
| 272 | (type (if file "file" "directory")) | ||
| 273 | (prompt-1 (concat op-prompt " " type ": ")) | ||
| 274 | (prompt-2 (concat op-prompt " another " type "?")) | ||
| 275 | (continue t) | ||
| 276 | result) | ||
| 277 | (while continue | ||
| 278 | (push (funcall fun prompt-1 nil nil t) result) | ||
| 279 | (setq continue (y-or-n-p prompt-2))) | ||
| 280 | (nreverse result))) | ||
| 281 | |||
| 270 | ;;;###autoload | 282 | ;;;###autoload |
| 271 | (defun file-cache-add-directory (directory &optional regexp) | 283 | (defun file-cache-add-directory (directory &optional regexp) |
| 272 | "Add DIRECTORY to the file cache. | 284 | "Add all files in DIRECTORY to the file cache. |
| 273 | If the optional REGEXP argument is non-nil, only files which match it will | 285 | If called from Lisp with a non-nil REGEXP argument is non-nil, |
| 274 | be added to the cache." | 286 | only add files whose names match REGEXP." |
| 275 | (interactive "DAdd files from directory: ") | 287 | (interactive (list (read-directory-name "Add files from directory: " |
| 288 | nil nil t) | ||
| 289 | nil)) | ||
| 276 | ;; Not an error, because otherwise we can't use load-paths that | 290 | ;; Not an error, because otherwise we can't use load-paths that |
| 277 | ;; contain non-existent directories. | 291 | ;; contain non-existent directories. |
| 278 | (if (not (file-accessible-directory-p directory)) | 292 | (when (file-accessible-directory-p directory) |
| 279 | (message "Directory %s does not exist" directory) | ||
| 280 | (let* ((dir (expand-file-name directory)) | 293 | (let* ((dir (expand-file-name directory)) |
| 281 | (dir-files (directory-files dir t regexp))) | 294 | (dir-files (directory-files dir t regexp))) |
| 282 | ;; Filter out files we don't want to see | 295 | ;; Filter out files we don't want to see |
| 283 | (dolist (file dir-files) | 296 | (dolist (file dir-files) |
| 284 | (if (file-directory-p file) | 297 | (if (file-directory-p file) |
| 285 | (setq dir-files (delq file dir-files)) | 298 | (setq dir-files (delq file dir-files)) |
| 286 | (dolist (regexp file-cache-filter-regexps) | 299 | (dolist (regexp file-cache-filter-regexps) |
| 287 | (if (string-match regexp file) | 300 | (if (string-match regexp file) |
| 288 | (setq dir-files (delq file dir-files)))))) | 301 | (setq dir-files (delq file dir-files)))))) |
| 289 | (file-cache-add-file-list dir-files)))) | 302 | (file-cache-add-file-list dir-files)))) |
| 290 | 303 | ||
| 291 | ;;;###autoload | 304 | ;;;###autoload |
| 292 | (defun file-cache-add-directory-list (directory-list &optional regexp) | 305 | (defun file-cache-add-directory-list (directories &optional regexp) |
| 293 | "Add DIRECTORY-LIST (a list of directory names) to the file cache. | 306 | "Add DIRECTORIES (a list of directory names) to the file cache. |
| 307 | If called interactively, read the directory names one by one. | ||
| 294 | If the optional REGEXP argument is non-nil, only files which match it | 308 | If the optional REGEXP argument is non-nil, only files which match it |
| 295 | will be added to the cache. Note that the REGEXP is applied to the | 309 | will be added to the cache. Note that the REGEXP is applied to the |
| 296 | files in each directory, not to the directory list itself." | 310 | files in each directory, not to the directory list itself." |
| 297 | (interactive "XAdd files from directory list: ") | 311 | (interactive (list (file-cache--read-list nil "Add"))) |
| 298 | (mapcar | 312 | (dolist (dir directories) |
| 299 | (lambda (dir) (file-cache-add-directory dir regexp)) | 313 | (file-cache-add-directory dir regexp)) |
| 300 | directory-list)) | 314 | (let ((n (length directories))) |
| 301 | 315 | (message "Filecache: cached file names from %d director%s." | |
| 302 | (defun file-cache-add-file-list (file-list) | 316 | n (if (= n 1) "y" "ies")))) |
| 303 | "Add FILE-LIST (a list of files names) to the file cache." | 317 | |
| 304 | (interactive "XFile List: ") | 318 | (defun file-cache-add-file-list (files) |
| 305 | (mapcar 'file-cache-add-file file-list)) | 319 | "Add FILES (a list of file names) to the file cache. |
| 320 | If called interactively, read the file names one by one." | ||
| 321 | (interactive (list (file-cache--read-list t "Add"))) | ||
| 322 | (dolist (f files) | ||
| 323 | (file-cache-add-file f)) | ||
| 324 | (let ((n (length files))) | ||
| 325 | (message "Filecache: cached %d file name%s." | ||
| 326 | n (if (= n 1) "" "s")))) | ||
| 306 | 327 | ||
| 307 | ;; Workhorse function | 328 | ;; Workhorse function |
| 308 | 329 | ||
| @@ -317,15 +338,18 @@ files in each directory, not to the directory list itself." | |||
| 317 | (dir-name (file-name-directory file)) | 338 | (dir-name (file-name-directory file)) |
| 318 | (the-entry (assoc-string file-name file-cache-alist | 339 | (the-entry (assoc-string file-name file-cache-alist |
| 319 | file-cache-ignore-case))) | 340 | file-cache-ignore-case))) |
| 320 | ;; Does the entry exist already? | 341 | (cond ((null the-entry) |
| 321 | (if the-entry | 342 | ;; If the entry wasn't in the cache, add it. |
| 322 | (unless (or (and (stringp (cdr the-entry)) | 343 | (push (list file-name dir-name) file-cache-alist) |
| 323 | (string= dir-name (cdr the-entry))) | 344 | (if (called-interactively-p 'interactive) |
| 324 | (and (listp (cdr the-entry)) | 345 | (message "Filecache: cached file name %s." file))) |
| 325 | (member dir-name (cdr the-entry)))) | 346 | ((not (member dir-name (cdr the-entry))) |
| 326 | (setcdr the-entry (cons dir-name (cdr the-entry)))) | 347 | (setcdr the-entry (cons dir-name (cdr the-entry))) |
| 327 | ;; If not, add it to the cache | 348 | (if (called-interactively-p 'interactive) |
| 328 | (push (list file-name dir-name) file-cache-alist)))) | 349 | (message "Filecache: cached file name %s." file))) |
| 350 | (t | ||
| 351 | (if (called-interactively-p 'interactive) | ||
| 352 | (message "Filecache: %s is already cached." file)))))) | ||
| 329 | 353 | ||
| 330 | ;;;###autoload | 354 | ;;;###autoload |
| 331 | (defun file-cache-add-directory-using-find (directory) | 355 | (defun file-cache-add-directory-using-find (directory) |
| @@ -411,17 +435,26 @@ or the optional REGEXP argument." | |||
| 411 | 435 | ||
| 412 | ;; This clears *all* files with the given name | 436 | ;; This clears *all* files with the given name |
| 413 | (defun file-cache-delete-file (file) | 437 | (defun file-cache-delete-file (file) |
| 414 | "Delete FILE from the file cache." | 438 | "Delete FILE (a relative file name) from the file cache. |
| 439 | Return nil if FILE was not in the file cache, non-nil otherwise." | ||
| 415 | (interactive | 440 | (interactive |
| 416 | (list (completing-read "Delete file from cache: " file-cache-alist))) | 441 | (list (completing-read "Delete file from cache: " file-cache-alist))) |
| 417 | (setq file-cache-alist | 442 | (let ((elt (assoc-string file file-cache-alist file-cache-ignore-case))) |
| 418 | (delq (assoc-string file file-cache-alist file-cache-ignore-case) | 443 | (setq file-cache-alist (delq elt file-cache-alist)) |
| 419 | file-cache-alist))) | 444 | elt)) |
| 420 | 445 | ||
| 421 | (defun file-cache-delete-file-list (file-list) | 446 | (defun file-cache-delete-file-list (files &optional message) |
| 422 | "Delete FILE-LIST (a list of files) from the file cache." | 447 | "Delete FILES (a list of files) from the file cache. |
| 423 | (interactive "XFile List: ") | 448 | If called interactively, read the file names one by one. |
| 424 | (mapcar 'file-cache-delete-file file-list)) | 449 | If MESSAGE is non-nil, or if called interactively, print a |
| 450 | message reporting the number of file names deleted." | ||
| 451 | (interactive (list (file-cache--read-list t "Uncache") t)) | ||
| 452 | (let ((n 0)) | ||
| 453 | (dolist (f files) | ||
| 454 | (if (file-cache-delete-file f) | ||
| 455 | (setq n (1+ n)))) | ||
| 456 | (message "Filecache: uncached %d file name%s." | ||
| 457 | n (if (= n 1) "" "s")))) | ||
| 425 | 458 | ||
| 426 | (defun file-cache-delete-file-regexp (regexp) | 459 | (defun file-cache-delete-file-regexp (regexp) |
| 427 | "Delete files matching REGEXP from the file cache." | 460 | "Delete files matching REGEXP from the file cache." |
| @@ -430,21 +463,18 @@ or the optional REGEXP argument." | |||
| 430 | (dolist (elt file-cache-alist) | 463 | (dolist (elt file-cache-alist) |
| 431 | (and (string-match regexp (car elt)) | 464 | (and (string-match regexp (car elt)) |
| 432 | (push (car elt) delete-list))) | 465 | (push (car elt) delete-list))) |
| 433 | (file-cache-delete-file-list delete-list) | 466 | (file-cache-delete-file-list delete-list))) |
| 434 | (message "Filecache: deleted %d files from file cache" | ||
| 435 | (length delete-list)))) | ||
| 436 | 467 | ||
| 437 | (defun file-cache-delete-directory (directory) | 468 | (defun file-cache-delete-directory (directory) |
| 438 | "Delete DIRECTORY from the file cache." | 469 | "Delete DIRECTORY from the file cache." |
| 439 | (interactive "DDelete directory from file cache: ") | 470 | (interactive "DDelete directory from file cache: ") |
| 440 | (let ((dir (expand-file-name directory)) | 471 | (let ((dir (expand-file-name directory)) |
| 441 | (result 0)) | 472 | (n 0)) |
| 442 | (dolist (entry file-cache-alist) | 473 | (dolist (entry file-cache-alist) |
| 443 | (if (file-cache-do-delete-directory dir entry) | 474 | (if (file-cache-do-delete-directory dir entry) |
| 444 | (setq result (1+ result)))) | 475 | (setq n (1+ n)))) |
| 445 | (if (zerop result) | 476 | (message "Filecache: uncached %d file name%s." |
| 446 | (error "Filecache: no entries containing %s found in cache" directory) | 477 | n (if (= n 1) "" "s")))) |
| 447 | (message "Filecache: deleted %d entries" result)))) | ||
| 448 | 478 | ||
| 449 | (defun file-cache-do-delete-directory (dir entry) | 479 | (defun file-cache-do-delete-directory (dir entry) |
| 450 | (let ((directory-list (cdr entry)) | 480 | (let ((directory-list (cdr entry)) |
| @@ -455,10 +485,12 @@ or the optional REGEXP argument." | |||
| 455 | (delq entry file-cache-alist)) | 485 | (delq entry file-cache-alist)) |
| 456 | (setcdr entry (delete directory directory-list)))))) | 486 | (setcdr entry (delete directory directory-list)))))) |
| 457 | 487 | ||
| 458 | (defun file-cache-delete-directory-list (directory-list) | 488 | (defun file-cache-delete-directory-list (directories) |
| 459 | "Delete DIRECTORY-LIST (a list of directories) from the file cache." | 489 | "Delete DIRECTORIES (a list of directory names) from the file cache. |
| 460 | (interactive "XDirectory List: ") | 490 | If called interactively, read the directory names one by one." |
| 461 | (mapcar 'file-cache-delete-directory directory-list)) | 491 | (interactive (list (file-cache--read-list nil "Uncache"))) |
| 492 | (dolist (d directories) | ||
| 493 | (file-cache-delete-directory d))) | ||
| 462 | 494 | ||
| 463 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 495 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 464 | ;; Utility functions | 496 | ;; Utility functions |
diff --git a/lisp/files.el b/lisp/files.el index 8e8a178caab..c8a75f67820 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -730,7 +730,7 @@ The path separator is colon in GNU and GNU-like systems." | |||
| 730 | ;; This is a case where .elc makes a lot of sense. | 730 | ;; This is a case where .elc makes a lot of sense. |
| 731 | (interactive (list (let ((completion-ignored-extensions | 731 | (interactive (list (let ((completion-ignored-extensions |
| 732 | (remove ".elc" completion-ignored-extensions))) | 732 | (remove ".elc" completion-ignored-extensions))) |
| 733 | (read-file-name "Load file: ")))) | 733 | (read-file-name "Load file: " nil nil 'lambda)))) |
| 734 | (load (expand-file-name file) nil nil t)) | 734 | (load (expand-file-name file) nil nil t)) |
| 735 | 735 | ||
| 736 | (defun locate-file (filename path &optional suffixes predicate) | 736 | (defun locate-file (filename path &optional suffixes predicate) |
| @@ -2502,25 +2502,31 @@ They may happen to contain sequences that look like local variable | |||
| 2502 | specifications, but are not really, or they may be containers for | 2502 | specifications, but are not really, or they may be containers for |
| 2503 | member files with their own local variable sections, which are | 2503 | member files with their own local variable sections, which are |
| 2504 | not appropriate for the containing file. | 2504 | not appropriate for the containing file. |
| 2505 | See also `inhibit-local-variables-suffixes'.") | 2505 | The function `inhibit-local-variables-p' uses this.") |
| 2506 | 2506 | ||
| 2507 | (define-obsolete-variable-alias 'inhibit-first-line-modes-suffixes | 2507 | (define-obsolete-variable-alias 'inhibit-first-line-modes-suffixes |
| 2508 | 'inhibit-local-variables-suffixes "24.1") | 2508 | 'inhibit-local-variables-suffixes "24.1") |
| 2509 | 2509 | ||
| 2510 | (defvar inhibit-local-variables-suffixes nil | 2510 | (defvar inhibit-local-variables-suffixes nil |
| 2511 | "List of regexps matching suffixes to remove from file names. | 2511 | "List of regexps matching suffixes to remove from file names. |
| 2512 | When checking `inhibit-local-variables-regexps', we first discard | 2512 | The function `inhibit-local-variables-p' uses this: when checking |
| 2513 | from the end of the file name anything that matches one of these regexps.") | 2513 | a file name, it first discards from the end of the name anything that |
| 2514 | matches one of these regexps.") | ||
| 2515 | |||
| 2516 | ;; Can't think of any situation in which you'd want this to be nil... | ||
| 2517 | (defvar inhibit-local-variables-ignore-case t | ||
| 2518 | "Non-nil means `inhibit-local-variables-p' ignores case.") | ||
| 2514 | 2519 | ||
| 2515 | ;; TODO explicitly add case-fold-search t? | ||
| 2516 | (defun inhibit-local-variables-p () | 2520 | (defun inhibit-local-variables-p () |
| 2517 | "Return non-nil if file local variables should be ignored. | 2521 | "Return non-nil if file local variables should be ignored. |
| 2518 | This checks the file (or buffer) name against `inhibit-local-variables-regexps' | 2522 | This checks the file (or buffer) name against `inhibit-local-variables-regexps' |
| 2519 | and `inhibit-local-variables-suffixes'." | 2523 | and `inhibit-local-variables-suffixes'. If |
| 2524 | `inhibit-local-variables-ignore-case' is non-nil, this ignores case." | ||
| 2520 | (let ((temp inhibit-local-variables-regexps) | 2525 | (let ((temp inhibit-local-variables-regexps) |
| 2521 | (name (if buffer-file-name | 2526 | (name (if buffer-file-name |
| 2522 | (file-name-sans-versions buffer-file-name) | 2527 | (file-name-sans-versions buffer-file-name) |
| 2523 | (buffer-name)))) | 2528 | (buffer-name))) |
| 2529 | (case-fold-search inhibit-local-variables-ignore-case)) | ||
| 2524 | (while (let ((sufs inhibit-local-variables-suffixes)) | 2530 | (while (let ((sufs inhibit-local-variables-suffixes)) |
| 2525 | (while (and sufs (not (string-match (car sufs) name))) | 2531 | (while (and sufs (not (string-match (car sufs) name))) |
| 2526 | (setq sufs (cdr sufs))) | 2532 | (setq sufs (cdr sufs))) |
| @@ -3433,7 +3439,7 @@ DIR is the name of the directory. | |||
| 3433 | CLASS is the name of a variable class (a symbol). | 3439 | CLASS is the name of a variable class (a symbol). |
| 3434 | MTIME is the recorded modification time of the directory-local | 3440 | MTIME is the recorded modification time of the directory-local |
| 3435 | variables file associated with this entry. This time is a list | 3441 | variables file associated with this entry. This time is a list |
| 3436 | of two integers (the same format as `file-attributes'), and is | 3442 | of integers (the same format as `file-attributes'), and is |
| 3437 | used to test whether the cache entry is still valid. | 3443 | used to test whether the cache entry is still valid. |
| 3438 | Alternatively, MTIME can be nil, which means the entry is always | 3444 | Alternatively, MTIME can be nil, which means the entry is always |
| 3439 | considered valid.") | 3445 | considered valid.") |
| @@ -3634,14 +3640,15 @@ is found. Returns the new class name." | |||
| 3634 | (condition-case err | 3640 | (condition-case err |
| 3635 | (progn | 3641 | (progn |
| 3636 | (insert-file-contents file) | 3642 | (insert-file-contents file) |
| 3637 | (let* ((dir-name (file-name-directory file)) | 3643 | (unless (zerop (buffer-size)) |
| 3638 | (class-name (intern dir-name)) | 3644 | (let* ((dir-name (file-name-directory file)) |
| 3639 | (variables (let ((read-circle nil)) | 3645 | (class-name (intern dir-name)) |
| 3640 | (read (current-buffer))))) | 3646 | (variables (let ((read-circle nil)) |
| 3641 | (dir-locals-set-class-variables class-name variables) | 3647 | (read (current-buffer))))) |
| 3642 | (dir-locals-set-directory-class dir-name class-name | 3648 | (dir-locals-set-class-variables class-name variables) |
| 3643 | (nth 5 (file-attributes file))) | 3649 | (dir-locals-set-directory-class dir-name class-name |
| 3644 | class-name)) | 3650 | (nth 5 (file-attributes file))) |
| 3651 | class-name))) | ||
| 3645 | (error (message "Error reading dir-locals: %S" err) nil))))) | 3652 | (error (message "Error reading dir-locals: %S" err) nil))))) |
| 3646 | 3653 | ||
| 3647 | (defcustom enable-remote-dir-locals nil | 3654 | (defcustom enable-remote-dir-locals nil |
| @@ -3676,10 +3683,13 @@ and `file-local-variables-alist', without applying them." | |||
| 3676 | (dir-locals-get-class-variables class) dir-name nil))) | 3683 | (dir-locals-get-class-variables class) dir-name nil))) |
| 3677 | (when variables | 3684 | (when variables |
| 3678 | (dolist (elt variables) | 3685 | (dolist (elt variables) |
| 3679 | (unless (memq (car elt) '(eval mode)) | 3686 | (if (eq (car elt) 'coding) |
| 3680 | (setq dir-local-variables-alist | 3687 | (display-warning :warning |
| 3681 | (assq-delete-all (car elt) dir-local-variables-alist))) | 3688 | "Coding cannot be specified by dir-locals") |
| 3682 | (push elt dir-local-variables-alist)) | 3689 | (unless (memq (car elt) '(eval mode)) |
| 3690 | (setq dir-local-variables-alist | ||
| 3691 | (assq-delete-all (car elt) dir-local-variables-alist))) | ||
| 3692 | (push elt dir-local-variables-alist))) | ||
| 3683 | (hack-local-variables-filter variables dir-name))))))) | 3693 | (hack-local-variables-filter variables dir-name))))))) |
| 3684 | 3694 | ||
| 3685 | (defun hack-dir-local-variables-non-file-buffer () | 3695 | (defun hack-dir-local-variables-non-file-buffer () |
| @@ -5408,18 +5418,20 @@ Then you'll be asked about a number of files to recover." | |||
| 5408 | (let ((ls-lisp-support-shell-wildcards t)) | 5418 | (let ((ls-lisp-support-shell-wildcards t)) |
| 5409 | (dired (concat auto-save-list-file-prefix "*") | 5419 | (dired (concat auto-save-list-file-prefix "*") |
| 5410 | (concat dired-listing-switches " -t"))) | 5420 | (concat dired-listing-switches " -t"))) |
| 5421 | (use-local-map (nconc (make-sparse-keymap) (current-local-map))) | ||
| 5422 | (define-key (current-local-map) "\C-c\C-c" 'recover-session-finish) | ||
| 5411 | (save-excursion | 5423 | (save-excursion |
| 5412 | (goto-char (point-min)) | 5424 | (goto-char (point-min)) |
| 5413 | (or (looking-at " Move to the session you want to recover,") | 5425 | (or (looking-at " Move to the session you want to recover,") |
| 5414 | (let ((inhibit-read-only t)) | 5426 | (let ((inhibit-read-only t)) |
| 5415 | ;; Each line starts with a space | 5427 | ;; Each line starts with a space |
| 5416 | ;; so that Font Lock mode won't highlight the first character. | 5428 | ;; so that Font Lock mode won't highlight the first character. |
| 5417 | (insert " Move to the session you want to recover,\n" | 5429 | (insert " To recover a session, move to it and type C-c C-c.\n" |
| 5418 | " then type C-c C-c to select it.\n\n" | 5430 | (substitute-command-keys |
| 5419 | " You can also delete some of these files;\n" | 5431 | " To delete a session file, type \ |
| 5420 | " type d on a line to mark that file for deletion.\n\n")))) | 5432 | \\[dired-flag-file-deletion] on its line to flag |
| 5421 | (use-local-map (nconc (make-sparse-keymap) (current-local-map))) | 5433 | the file for deletion, then \\[dired-do-flagged-delete] to \ |
| 5422 | (define-key (current-local-map) "\C-c\C-c" 'recover-session-finish)) | 5434 | delete flagged files.\n\n")))))) |
| 5423 | 5435 | ||
| 5424 | (defun recover-session-finish () | 5436 | (defun recover-session-finish () |
| 5425 | "Choose one saved session to recover auto-save files from. | 5437 | "Choose one saved session to recover auto-save files from. |
diff --git a/lisp/find-cmd.el b/lisp/find-cmd.el index 6589bac0c6a..4cf5b85c81a 100644 --- a/lisp/find-cmd.el +++ b/lisp/find-cmd.el | |||
| @@ -63,6 +63,7 @@ | |||
| 63 | (cnewer . (1)) | 63 | (cnewer . (1)) |
| 64 | (ctime . (1)) | 64 | (ctime . (1)) |
| 65 | (empty . (0)) | 65 | (empty . (0)) |
| 66 | (executable . (0)) | ||
| 66 | (false . (0)) | 67 | (false . (0)) |
| 67 | (fstype . (1)) | 68 | (fstype . (1)) |
| 68 | (gid . (1)) | 69 | (gid . (1)) |
| @@ -70,37 +71,43 @@ | |||
| 70 | (ilname . (1)) | 71 | (ilname . (1)) |
| 71 | (iname . (1)) | 72 | (iname . (1)) |
| 72 | (inum . (1)) | 73 | (inum . (1)) |
| 73 | (iwholename . (1)) | 74 | (ipath . (1)) |
| 74 | (iregex . (1)) | 75 | (iregex . (1)) |
| 76 | (iwholename . (1)) | ||
| 75 | (links . (1)) | 77 | (links . (1)) |
| 76 | (lname . (1)) | 78 | (lname . (1)) |
| 77 | (mmin . (1)) | 79 | (mmin . (1)) |
| 78 | (mtime . (1)) | 80 | (mtime . (1)) |
| 79 | (name . (1)) | 81 | (name . (1)) |
| 80 | (newer . (1)) | 82 | (newer . (1)) |
| 81 | (nouser . (0)) | ||
| 82 | (nogroup . (0)) | 83 | (nogroup . (0)) |
| 84 | (nouser . (0)) | ||
| 83 | (path . (1)) | 85 | (path . (1)) |
| 84 | (perm . (0)) | 86 | (perm . (0)) |
| 87 | (readable . (0)) | ||
| 85 | (regex . (1)) | 88 | (regex . (1)) |
| 86 | (wholename . (1)) | 89 | (samefile . (1)) |
| 87 | (size . (1)) | 90 | (size . (1)) |
| 88 | (true . (0)) | 91 | (true . (0)) |
| 89 | (type . (1)) | 92 | (type . (1)) |
| 90 | (uid . (1)) | 93 | (uid . (1)) |
| 91 | (used . (1)) | 94 | (used . (1)) |
| 92 | (user . (1)) | 95 | (user . (1)) |
| 96 | (wholename . (1)) | ||
| 97 | (writable . (0)) | ||
| 93 | (xtype . (nil)) | 98 | (xtype . (nil)) |
| 94 | 99 | ||
| 95 | ;; normal options (always true) | 100 | ;; normal options (always true) |
| 101 | (daystart . (0)) | ||
| 96 | (depth . (0)) | 102 | (depth . (0)) |
| 97 | (maxdepth . (1)) | 103 | (maxdepth . (1)) |
| 98 | (mindepth . (1)) | 104 | (mindepth . (1)) |
| 99 | (mount . (0)) | 105 | (mount . (0)) |
| 100 | (noleaf . (0)) | 106 | (noleaf . (0)) |
| 101 | (xdev . (0)) | ||
| 102 | (ignore_readdir_race . (0)) | 107 | (ignore_readdir_race . (0)) |
| 103 | (noignore_readdir_race . (0)) | 108 | (noignore_readdir_race . (0)) |
| 109 | (regextype . (1)) | ||
| 110 | (xdev . (0)) | ||
| 104 | 111 | ||
| 105 | ;; actions | 112 | ;; actions |
| 106 | (delete . (0)) | 113 | (delete . (0)) |
diff --git a/lisp/generic-x.el b/lisp/generic-x.el index 878021ec5c5..e2533c1f12b 100644 --- a/lisp/generic-x.el +++ b/lisp/generic-x.el | |||
| @@ -549,6 +549,9 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 549 | (concat (w32-shell-name) " -c " (buffer-file-name))))) | 549 | (concat (w32-shell-name) " -c " (buffer-file-name))))) |
| 550 | 550 | ||
| 551 | (eval-when-compile (require 'comint)) | 551 | (eval-when-compile (require 'comint)) |
| 552 | (declare-function comint-mode "comint" ()) | ||
| 553 | (declare-function comint-exec "comint" (buffer name command startfile switches)) | ||
| 554 | |||
| 552 | (defun bat-generic-mode-run-as-comint () | 555 | (defun bat-generic-mode-run-as-comint () |
| 553 | "Run the current BAT file in a comint buffer." | 556 | "Run the current BAT file in a comint buffer." |
| 554 | (interactive) | 557 | (interactive) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index dd493d383a3..2d2d9318bd6 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,95 @@ | |||
| 1 | 2012-12-06 Sam Steingold <sds@gnu.org> | ||
| 2 | |||
| 3 | * gnus-start.el (gnus-before-resume-hook): Add. | ||
| 4 | (gnus-1): Run it when Gnus is alive. | ||
| 5 | |||
| 6 | 2012-12-06 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 7 | |||
| 8 | * gmm-utils.el (gmm-called-interactively-p): Restore as a macro. | ||
| 9 | * gnus-art.el (article-unsplit-urls) | ||
| 10 | * gnus-bookmark.el (gnus-bookmark-bmenu-list) | ||
| 11 | * gnus-registry.el (gnus-registry-get-article-marks) | ||
| 12 | * message.el (message-goto-body): Use it. | ||
| 13 | (message-called-interactively-p): Remove. | ||
| 14 | |||
| 15 | * spam-stat.el (spam-stat-called-interactively-p): New macro. | ||
| 16 | (spam-stat-score-buffer): Use it. | ||
| 17 | |||
| 18 | * spam.el: Silence the warnings against BBDB functions when compiling. | ||
| 19 | |||
| 20 | * gnus-score.el (gnus-score-decode-text-parts): | ||
| 21 | Use append+mapcar instead of the cl function mapcan. | ||
| 22 | |||
| 23 | * gmm-utils.el (gmm-flet): Remove. | ||
| 24 | |||
| 25 | * gnus-sync.el (gnus-sync-lesync-call): | ||
| 26 | Avoid overriding json-alist-p. | ||
| 27 | |||
| 28 | * message.el (message-read-from-minibuffer): | ||
| 29 | Avoid overriding mail-abbrev-in-expansion-header-p. | ||
| 30 | |||
| 31 | 2012-12-05 Sam Steingold <sds@gnu.org> | ||
| 32 | |||
| 33 | * gnus.el (gnus-delete-gnus-frame): Extract from `gnus-other-frame'. | ||
| 34 | (gnus-other-frame): Add `gnus-delete-gnus-frame' to | ||
| 35 | `gnus-suspend-gnus-hook' in addition to `gnus-exit-gnus-hook'. | ||
| 36 | |||
| 37 | 2012-12-05 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 38 | |||
| 39 | * gmm-utils.el (gmm-called-interactively-p): Revert. | ||
| 40 | This seems to cause Emacs to get stuck! | ||
| 41 | * gnus-art.el (article-unsplit-urls) | ||
| 42 | * gnus-bookmark.el (gnus-bookmark-bmenu-list) | ||
| 43 | * gnus-registry.el (gnus-registry-get-article-marks) | ||
| 44 | * message.el (message-goto-body) | ||
| 45 | (message-called-interactively-p): Revert. | ||
| 46 | |||
| 47 | * gmm-utils.el (gmm-called-interactively-p): New function. | ||
| 48 | * gnus-art.el (article-unsplit-urls) | ||
| 49 | * gnus-bookmark.el (gnus-bookmark-bmenu-list) | ||
| 50 | * gnus-registry.el (gnus-registry-get-article-marks) | ||
| 51 | * message.el (message-goto-body): Use it. | ||
| 52 | (message-called-interactively-p): Remove. | ||
| 53 | |||
| 54 | * gmm-utils.el (gmm-flet): Restore it using cl-letf. | ||
| 55 | * gnus-sync.el (gnus-sync-lesync-call) | ||
| 56 | * message.el (message-read-from-minibuffer): Use it. | ||
| 57 | |||
| 58 | 2012-12-05 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 59 | |||
| 60 | * gmm-utils.el (gmm-flet): Remove. | ||
| 61 | * gnus-sync.el (gnus-sync-lesync-call) | ||
| 62 | * message.el (message-read-from-minibuffer): Don't use it. | ||
| 63 | |||
| 64 | 2012-12-04 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 65 | |||
| 66 | * gmm-utils.el (gmm-labels): Use cl-labels if available. | ||
| 67 | |||
| 68 | 2012-12-04 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 69 | |||
| 70 | * gmm-utils.el (gmm-flet, gmm-labels): New macros. | ||
| 71 | |||
| 72 | * gnus-sync.el (gnus-sync-lesync-call) | ||
| 73 | * message.el (message-read-from-minibuffer): Use gmm-flet. | ||
| 74 | |||
| 75 | * gnus-score.el (gnus-score-decode-text-parts): Use gmm-labels. | ||
| 76 | |||
| 77 | * gnus-util.el (gnus-macroexpand-all): Remove. | ||
| 78 | |||
| 79 | 2012-12-03 Andreas Schwab <schwab@linux-m68k.org> | ||
| 80 | |||
| 81 | * gnus-sum.el (gnus-summary-mode-map): Bind gnus-summary-widget-forward | ||
| 82 | to TAB, not [tab]. | ||
| 83 | (gnus-summary-article-map): Likewise. | ||
| 84 | |||
| 85 | * gnus-sync.el (gnus-sync-newsrc-offsets): Restore definition. | ||
| 86 | (gnus-sync-save): Use correct format for gnus-sync-newsrc-loader. | ||
| 87 | |||
| 88 | 2012-11-19 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 89 | |||
| 90 | * message.el (message-get-reply-headers): | ||
| 91 | Make sure the reply goes to the author if it is a wide reply. | ||
| 92 | |||
| 1 | 2012-11-16 Jan Tatarik <jan.tatarik@gmail.com> | 93 | 2012-11-16 Jan Tatarik <jan.tatarik@gmail.com> |
| 2 | 94 | ||
| 3 | * gnus-score.el (gnus-score-body): | 95 | * gnus-score.el (gnus-score-body): |
diff --git a/lisp/gnus/gmm-utils.el b/lisp/gnus/gmm-utils.el index 975b83370ba..0f03d479534 100644 --- a/lisp/gnus/gmm-utils.el +++ b/lisp/gnus/gmm-utils.el | |||
| @@ -417,6 +417,31 @@ coding-system." | |||
| 417 | (write-region start end filename append visit lockname)) | 417 | (write-region start end filename append visit lockname)) |
| 418 | (write-region start end filename append visit lockname mustbenew))) | 418 | (write-region start end filename append visit lockname mustbenew))) |
| 419 | 419 | ||
| 420 | ;; `interactive-p' is obsolete since Emacs 23.2. | ||
| 421 | (defmacro gmm-called-interactively-p (kind) | ||
| 422 | (condition-case nil | ||
| 423 | (progn | ||
| 424 | (eval '(called-interactively-p 'any)) | ||
| 425 | ;; Emacs >=23.2 | ||
| 426 | `(called-interactively-p ,kind)) | ||
| 427 | ;; Emacs <23.2 | ||
| 428 | (wrong-number-of-arguments '(called-interactively-p)) | ||
| 429 | ;; XEmacs | ||
| 430 | (void-function '(interactive-p)))) | ||
| 431 | |||
| 432 | ;; `labels' is obsolete since Emacs 24.3. | ||
| 433 | (defmacro gmm-labels (bindings &rest body) | ||
| 434 | "Make temporary function bindings. | ||
| 435 | The bindings can be recursive and the scoping is lexical, but capturing | ||
| 436 | them in closures will only work if `lexical-binding' is in use. But in | ||
| 437 | Emacs 24.2 and older, the lexical scoping is handled via `lexical-let' | ||
| 438 | rather than relying on `lexical-binding'. | ||
| 439 | |||
| 440 | \(fn ((FUNC ARGLIST BODY...) ...) FORM...)" | ||
| 441 | `(,(progn (require 'cl) (if (fboundp 'cl-labels) 'cl-labels 'labels)) | ||
| 442 | ,bindings ,@body)) | ||
| 443 | (put 'gmm-labels 'lisp-indent-function 1) | ||
| 444 | |||
| 420 | (provide 'gmm-utils) | 445 | (provide 'gmm-utils) |
| 421 | 446 | ||
| 422 | ;;; gmm-utils.el ends here | 447 | ;;; gmm-utils.el ends here |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index edcd7da2ddd..9dfe119f831 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -2718,7 +2718,7 @@ If READ-CHARSET, ask for a coding system." | |||
| 2718 | (while (re-search-forward | 2718 | (while (re-search-forward |
| 2719 | "\\(\\(https?\\|ftp\\)://\\S-+\\) *\n\\(\\S-+\\)" nil t) | 2719 | "\\(\\(https?\\|ftp\\)://\\S-+\\) *\n\\(\\S-+\\)" nil t) |
| 2720 | (replace-match "\\1\\3" t))) | 2720 | (replace-match "\\1\\3" t))) |
| 2721 | (when (interactive-p) | 2721 | (when (gmm-called-interactively-p 'any) |
| 2722 | (gnus-treat-article nil)))) | 2722 | (gnus-treat-article nil)))) |
| 2723 | 2723 | ||
| 2724 | (defun article-wash-html () | 2724 | (defun article-wash-html () |
diff --git a/lisp/gnus/gnus-bookmark.el b/lisp/gnus/gnus-bookmark.el index 9f6654dd12d..e447322777e 100644 --- a/lisp/gnus/gnus-bookmark.el +++ b/lisp/gnus/gnus-bookmark.el | |||
| @@ -367,7 +367,7 @@ The leftmost column displays a D if the bookmark is flagged for | |||
| 367 | deletion, or > if it is flagged for displaying." | 367 | deletion, or > if it is flagged for displaying." |
| 368 | (interactive) | 368 | (interactive) |
| 369 | (gnus-bookmark-maybe-load-default-file) | 369 | (gnus-bookmark-maybe-load-default-file) |
| 370 | (if (interactive-p) | 370 | (if (gmm-called-interactively-p 'any) |
| 371 | (switch-to-buffer (get-buffer-create "*Gnus Bookmark List*")) | 371 | (switch-to-buffer (get-buffer-create "*Gnus Bookmark List*")) |
| 372 | (set-buffer (get-buffer-create "*Gnus Bookmark List*"))) | 372 | (set-buffer (get-buffer-create "*Gnus Bookmark List*"))) |
| 373 | (let ((inhibit-read-only t) | 373 | (let ((inhibit-read-only t) |
diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index 71e00967548..5e20f5fb706 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el | |||
| @@ -982,7 +982,7 @@ only the last one's marks are returned." | |||
| 982 | (let* ((article (last articles)) | 982 | (let* ((article (last articles)) |
| 983 | (id (gnus-registry-fetch-message-id-fast article)) | 983 | (id (gnus-registry-fetch-message-id-fast article)) |
| 984 | (marks (when id (gnus-registry-get-id-key id 'mark)))) | 984 | (marks (when id (gnus-registry-get-id-key id 'mark)))) |
| 985 | (when (interactive-p) | 985 | (when (gmm-called-interactively-p 'any) |
| 986 | (gnus-message 1 "Marks are %S" marks)) | 986 | (gnus-message 1 "Marks are %S" marks)) |
| 987 | marks)) | 987 | marks)) |
| 988 | 988 | ||
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el index b7061960839..4a47b738134 100644 --- a/lisp/gnus/gnus-score.el +++ b/lisp/gnus/gnus-score.el | |||
| @@ -33,6 +33,7 @@ | |||
| 33 | (require 'gnus-win) | 33 | (require 'gnus-win) |
| 34 | (require 'message) | 34 | (require 'message) |
| 35 | (require 'score-mode) | 35 | (require 'score-mode) |
| 36 | (require 'gmm-utils) | ||
| 36 | 37 | ||
| 37 | (defcustom gnus-global-score-files nil | 38 | (defcustom gnus-global-score-files nil |
| 38 | "List of global score files and directories. | 39 | "List of global score files and directories. |
| @@ -1718,33 +1719,37 @@ score in `gnus-newsgroup-scored' by SCORE." | |||
| 1718 | nil) | 1719 | nil) |
| 1719 | 1720 | ||
| 1720 | (defun gnus-score-decode-text-parts () | 1721 | (defun gnus-score-decode-text-parts () |
| 1721 | (labels ((mm-text-parts (handle) | 1722 | (gmm-labels |
| 1722 | (cond ((stringp (car handle)) | 1723 | ((mm-text-parts |
| 1723 | (let ((parts (mapcan #'mm-text-parts (cdr handle)))) | 1724 | (handle) |
| 1724 | (if (equal "multipart/alternative" (car handle)) | 1725 | (cond ((stringp (car handle)) |
| 1725 | ;; pick the first supported alternative | 1726 | (let ((parts (apply #'append |
| 1726 | (list (car parts)) | 1727 | (mapcar #'mm-text-parts (cdr handle))))) |
| 1727 | parts))) | 1728 | (if (equal "multipart/alternative" (car handle)) |
| 1728 | 1729 | ;; pick the first supported alternative | |
| 1729 | ((bufferp (car handle)) | 1730 | (list (car parts)) |
| 1730 | (when (string-match "^text/" (mm-handle-media-type handle)) | 1731 | parts))) |
| 1731 | (list handle))) | 1732 | |
| 1732 | 1733 | ((bufferp (car handle)) | |
| 1733 | (t (mapcan #'mm-text-parts handle)))) | 1734 | (when (string-match "^text/" (mm-handle-media-type handle)) |
| 1734 | (my-mm-display-part (handle) | 1735 | (list handle))) |
| 1735 | (when handle | 1736 | |
| 1736 | (save-restriction | 1737 | (t (apply #'append (mapcar #'mm-text-parts handle))))) |
| 1737 | (narrow-to-region (point) (point)) | 1738 | (my-mm-display-part |
| 1738 | (mm-display-inline handle) | 1739 | (handle) |
| 1739 | (goto-char (point-max)))))) | 1740 | (when handle |
| 1741 | (save-restriction | ||
| 1742 | (narrow-to-region (point) (point)) | ||
| 1743 | (mm-display-inline handle) | ||
| 1744 | (goto-char (point-max)))))) | ||
| 1740 | 1745 | ||
| 1741 | (let (;(mm-text-html-renderer 'w3m-standalone) | 1746 | (let (;(mm-text-html-renderer 'w3m-standalone) |
| 1742 | (handles (mm-dissect-buffer t))) | 1747 | (handles (mm-dissect-buffer t))) |
| 1743 | (save-excursion | 1748 | (save-excursion |
| 1744 | (article-goto-body) | 1749 | (article-goto-body) |
| 1745 | (delete-region (point) (point-max)) | 1750 | (delete-region (point) (point-max)) |
| 1746 | (mapc #'my-mm-display-part (mm-text-parts handles)) | 1751 | (mapc #'my-mm-display-part (mm-text-parts handles)) |
| 1747 | handles)))) | 1752 | handles)))) |
| 1748 | 1753 | ||
| 1749 | (defun gnus-score-body (scores header now expire &optional trace) | 1754 | (defun gnus-score-body (scores header now expire &optional trace) |
| 1750 | (if gnus-agent-fetching | 1755 | (if gnus-agent-fetching |
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index eaf17d9e579..a8b6c5b4816 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el | |||
| @@ -395,7 +395,15 @@ This hook is called after Gnus is connected to the NNTP server." | |||
| 395 | 395 | ||
| 396 | (defcustom gnus-before-startup-hook nil | 396 | (defcustom gnus-before-startup-hook nil |
| 397 | "A hook called before startup. | 397 | "A hook called before startup. |
| 398 | This hook is called as the first thing when Gnus is started." | 398 | This hook is called as the first thing when Gnus is started. |
| 399 | See also `gnus-before-resume-hook'." | ||
| 400 | :group 'gnus-start | ||
| 401 | :type 'hook) | ||
| 402 | |||
| 403 | (defcustom gnus-before-resume-hook nil | ||
| 404 | "A hook called before resuming Gnus after suspend. | ||
| 405 | This hook is called as the first thing when Gnus is resumed after a suspend. | ||
| 406 | See also `gnus-before-startup-hook'." | ||
| 399 | :group 'gnus-start | 407 | :group 'gnus-start |
| 400 | :type 'hook) | 408 | :type 'hook) |
| 401 | 409 | ||
| @@ -749,6 +757,7 @@ prompt the user for the name of an NNTP server to use." | |||
| 749 | 757 | ||
| 750 | (if (gnus-alive-p) | 758 | (if (gnus-alive-p) |
| 751 | (progn | 759 | (progn |
| 760 | (gnus-run-hooks 'gnus-before-resume-hook) | ||
| 752 | (switch-to-buffer gnus-group-buffer) | 761 | (switch-to-buffer gnus-group-buffer) |
| 753 | (gnus-group-get-new-news | 762 | (gnus-group-get-new-news |
| 754 | (and (numberp arg) | 763 | (and (numberp arg) |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index b44b953bec6..1d4f470aea2 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -1911,7 +1911,7 @@ increase the score of each group you read." | |||
| 1911 | "a" gnus-summary-post-news | 1911 | "a" gnus-summary-post-news |
| 1912 | "x" gnus-summary-limit-to-unread | 1912 | "x" gnus-summary-limit-to-unread |
| 1913 | "s" gnus-summary-isearch-article | 1913 | "s" gnus-summary-isearch-article |
| 1914 | [tab] gnus-summary-widget-forward | 1914 | "\t" gnus-summary-widget-forward |
| 1915 | [backtab] gnus-summary-widget-backward | 1915 | [backtab] gnus-summary-widget-backward |
| 1916 | "t" gnus-summary-toggle-header | 1916 | "t" gnus-summary-toggle-header |
| 1917 | "g" gnus-summary-show-article | 1917 | "g" gnus-summary-show-article |
| @@ -2076,7 +2076,7 @@ increase the score of each group you read." | |||
| 2076 | "W" gnus-warp-to-article | 2076 | "W" gnus-warp-to-article |
| 2077 | "g" gnus-summary-show-article | 2077 | "g" gnus-summary-show-article |
| 2078 | "s" gnus-summary-isearch-article | 2078 | "s" gnus-summary-isearch-article |
| 2079 | [tab] gnus-summary-widget-forward | 2079 | "\t" gnus-summary-widget-forward |
| 2080 | [backtab] gnus-summary-widget-backward | 2080 | [backtab] gnus-summary-widget-backward |
| 2081 | "P" gnus-summary-print-article | 2081 | "P" gnus-summary-print-article |
| 2082 | "S" gnus-sticky-article | 2082 | "S" gnus-sticky-article |
diff --git a/lisp/gnus/gnus-sync.el b/lisp/gnus/gnus-sync.el index b5f8379e367..0ec9fedffe3 100644 --- a/lisp/gnus/gnus-sync.el +++ b/lisp/gnus/gnus-sync.el | |||
| @@ -109,6 +109,13 @@ this setting is harmless until the user chooses a sync backend." | |||
| 109 | :group 'gnus-sync | 109 | :group 'gnus-sync |
| 110 | :type '(repeat regexp)) | 110 | :type '(repeat regexp)) |
| 111 | 111 | ||
| 112 | (defcustom gnus-sync-newsrc-offsets '(2 3) | ||
| 113 | "List of per-group data to be synchronized." | ||
| 114 | :group 'gnus-sync | ||
| 115 | :version "24.4" | ||
| 116 | :type '(set (const :tag "Read ranges" 2) | ||
| 117 | (const :tag "Marks" 3))) | ||
| 118 | |||
| 112 | (defcustom gnus-sync-global-vars nil | 119 | (defcustom gnus-sync-global-vars nil |
| 113 | "List of global variables to be synchronized. | 120 | "List of global variables to be synchronized. |
| 114 | You may want to sync `gnus-newsrc-last-checked-date' but pretty | 121 | You may want to sync `gnus-newsrc-last-checked-date' but pretty |
| @@ -169,16 +176,15 @@ and `gnus-topic-alist'. Also see `gnus-variable-list'." | |||
| 169 | (defun gnus-sync-lesync-call (url method headers &optional kvdata) | 176 | (defun gnus-sync-lesync-call (url method headers &optional kvdata) |
| 170 | "Make an access request to URL using KVDATA and METHOD. | 177 | "Make an access request to URL using KVDATA and METHOD. |
| 171 | KVDATA must be an alist." | 178 | KVDATA must be an alist." |
| 172 | (flet ((json-alist-p (list) (gnus-sync-json-alist-p list))) ; temp patch | 179 | (let ((url-request-method method) |
| 173 | (let ((url-request-method method) | 180 | (url-request-extra-headers headers) |
| 174 | (url-request-extra-headers headers) | 181 | (url-request-data (if kvdata (json-encode kvdata) nil))) |
| 175 | (url-request-data (if kvdata (json-encode kvdata) nil))) | 182 | (with-current-buffer (url-retrieve-synchronously url) |
| 176 | (with-current-buffer (url-retrieve-synchronously url) | 183 | (let ((data (gnus-sync-lesync-parse))) |
| 177 | (let ((data (gnus-sync-lesync-parse))) | 184 | (gnus-message 12 "gnus-sync-lesync-call: %s URL %s sent %S got %S" |
| 178 | (gnus-message 12 "gnus-sync-lesync-call: %s URL %s sent %S got %S" | 185 | method url `((headers . ,headers) (data ,kvdata)) data) |
| 179 | method url `((headers . ,headers) (data ,kvdata)) data) | 186 | (kill-buffer (current-buffer)) |
| 180 | (kill-buffer (current-buffer)) | 187 | data)))) |
| 181 | data))))) | ||
| 182 | 188 | ||
| 183 | (defun gnus-sync-lesync-PUT (url headers &optional data) | 189 | (defun gnus-sync-lesync-PUT (url headers &optional data) |
| 184 | (gnus-sync-lesync-call url "PUT" headers data)) | 190 | (gnus-sync-lesync-call url "PUT" headers data)) |
| @@ -743,7 +749,15 @@ With a prefix, FORCE is set and all groups will be saved." | |||
| 743 | ;; entry in gnus-newsrc-alist whose group matches any of the | 749 | ;; entry in gnus-newsrc-alist whose group matches any of the |
| 744 | ;; gnus-sync-newsrc-groups | 750 | ;; gnus-sync-newsrc-groups |
| 745 | ;; TODO: keep the old contents for groups we don't have! | 751 | ;; TODO: keep the old contents for groups we don't have! |
| 746 | (let ((gnus-sync-newsrc-loader (gnus-sync-newsrc-loader-builder))) | 752 | (let ((gnus-sync-newsrc-loader |
| 753 | (loop for entry in (cdr gnus-newsrc-alist) | ||
| 754 | when (gnus-grep-in-list | ||
| 755 | (car entry) ;the group name | ||
| 756 | gnus-sync-newsrc-groups) | ||
| 757 | collect (cons (car entry) | ||
| 758 | (mapcar (lambda (offset) | ||
| 759 | (cons offset (nth offset entry))) | ||
| 760 | gnus-sync-newsrc-offsets))))) | ||
| 747 | (with-temp-file gnus-sync-backend | 761 | (with-temp-file gnus-sync-backend |
| 748 | (progn | 762 | (progn |
| 749 | (let ((coding-system-for-write gnus-ding-file-coding-system) | 763 | (let ((coding-system-for-write gnus-ding-file-coding-system) |
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index f5e1077f8c4..7b1e2b5c792 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el | |||
| @@ -1938,27 +1938,6 @@ to case differences." | |||
| 1938 | (string-equal (downcase str1) (downcase prefix)) | 1938 | (string-equal (downcase str1) (downcase prefix)) |
| 1939 | (string-equal str1 prefix)))))) | 1939 | (string-equal str1 prefix)))))) |
| 1940 | 1940 | ||
| 1941 | (eval-and-compile | ||
| 1942 | (if (fboundp 'macroexpand-all) | ||
| 1943 | (defalias 'gnus-macroexpand-all 'macroexpand-all) | ||
| 1944 | (defun gnus-macroexpand-all (form &optional environment) | ||
| 1945 | "Return result of expanding macros at all levels in FORM. | ||
| 1946 | If no macros are expanded, FORM is returned unchanged. | ||
| 1947 | The second optional arg ENVIRONMENT specifies an environment of macro | ||
| 1948 | definitions to shadow the loaded ones for use in file byte-compilation." | ||
| 1949 | (if (consp form) | ||
| 1950 | (let ((idx 1) | ||
| 1951 | (len (length (setq form (copy-sequence form)))) | ||
| 1952 | expanded) | ||
| 1953 | (while (< idx len) | ||
| 1954 | (setcar (nthcdr idx form) (gnus-macroexpand-all (nth idx form) | ||
| 1955 | environment)) | ||
| 1956 | (setq idx (1+ idx))) | ||
| 1957 | (if (eq (setq expanded (macroexpand form environment)) form) | ||
| 1958 | form | ||
| 1959 | (gnus-macroexpand-all expanded environment))) | ||
| 1960 | form)))) | ||
| 1961 | |||
| 1962 | ;; Simple check: can be a macro but this way, although slow, it's really clear. | 1941 | ;; Simple check: can be a macro but this way, although slow, it's really clear. |
| 1963 | ;; We don't use `bound-and-true-p' because it's not in XEmacs. | 1942 | ;; We don't use `bound-and-true-p' because it's not in XEmacs. |
| 1964 | (defun gnus-bound-and-true-p (sym) | 1943 | (defun gnus-bound-and-true-p (sym) |
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index 8fbde5c8ecc..70e7f711f3d 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el | |||
| @@ -4348,6 +4348,14 @@ server." | |||
| 4348 | (interactive "P") | 4348 | (interactive "P") |
| 4349 | (gnus arg nil 'slave)) | 4349 | (gnus arg nil 'slave)) |
| 4350 | 4350 | ||
| 4351 | (defun gnus-delete-gnus-frame () | ||
| 4352 | "Delete gnus frame unless it is the only one. | ||
| 4353 | Used for `gnus-exit-gnus-hook' in `gnus-other-frame'." | ||
| 4354 | (when (and (frame-live-p gnus-other-frame-object) | ||
| 4355 | (cdr (frame-list))) | ||
| 4356 | (delete-frame gnus-other-frame-object)) | ||
| 4357 | (setq gnus-other-frame-object nil)) | ||
| 4358 | |||
| 4351 | ;;;###autoload | 4359 | ;;;###autoload |
| 4352 | (defun gnus-other-frame (&optional arg display) | 4360 | (defun gnus-other-frame (&optional arg display) |
| 4353 | "Pop up a frame to read news. | 4361 | "Pop up a frame to read news. |
| @@ -4388,12 +4396,13 @@ current display is used." | |||
| 4388 | (if alive | 4396 | (if alive |
| 4389 | (switch-to-buffer gnus-group-buffer) | 4397 | (switch-to-buffer gnus-group-buffer) |
| 4390 | (funcall gnus-other-frame-function arg) | 4398 | (funcall gnus-other-frame-function arg) |
| 4391 | (add-hook 'gnus-exit-gnus-hook | 4399 | (add-hook 'gnus-exit-gnus-hook 'gnus-delete-gnus-frame) |
| 4392 | (lambda nil | 4400 | ;; One might argue that `gnus-delete-gnus-frame' should not be called |
| 4393 | (when (and (frame-live-p gnus-other-frame-object) | 4401 | ;; from `gnus-suspend-gnus-hook', but, on the other hand, one might |
| 4394 | (cdr (frame-list))) | 4402 | ;; argue that it should. No matter what you think, for the sake of |
| 4395 | (delete-frame gnus-other-frame-object)) | 4403 | ;; those who want it to be called from it, please keep (defun |
| 4396 | (setq gnus-other-frame-object nil))))))) | 4404 | ;; gnus-delete-gnus-frame) even if you remove the next `add-hook'. |
| 4405 | (add-hook 'gnus-suspend-gnus-hook 'gnus-delete-gnus-frame))))) | ||
| 4397 | 4406 | ||
| 4398 | ;;;###autoload | 4407 | ;;;###autoload |
| 4399 | (defun gnus (&optional arg dont-connect slave) | 4408 | (defun gnus (&optional arg dont-connect slave) |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 8905acb9d1f..0e2c5debe4d 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -3137,22 +3137,10 @@ M-RET `message-newline-and-reformat' (break the line and reformat)." | |||
| 3137 | (push-mark) | 3137 | (push-mark) |
| 3138 | (message-position-on-field "Summary" "Subject")) | 3138 | (message-position-on-field "Summary" "Subject")) |
| 3139 | 3139 | ||
| 3140 | (eval-when-compile | ||
| 3141 | (defmacro message-called-interactively-p (kind) | ||
| 3142 | (condition-case nil | ||
| 3143 | (progn | ||
| 3144 | (eval '(called-interactively-p 'any)) | ||
| 3145 | ;; Emacs >=23.2 | ||
| 3146 | `(called-interactively-p ,kind)) | ||
| 3147 | ;; Emacs <23.2 | ||
| 3148 | (wrong-number-of-arguments '(called-interactively-p)) | ||
| 3149 | ;; XEmacs | ||
| 3150 | (void-function '(interactive-p))))) | ||
| 3151 | |||
| 3152 | (defun message-goto-body () | 3140 | (defun message-goto-body () |
| 3153 | "Move point to the beginning of the message body." | 3141 | "Move point to the beginning of the message body." |
| 3154 | (interactive) | 3142 | (interactive) |
| 3155 | (when (and (message-called-interactively-p 'any) | 3143 | (when (and (gmm-called-interactively-p 'any) |
| 3156 | (looking-at "[ \t]*\n")) | 3144 | (looking-at "[ \t]*\n")) |
| 3157 | (expand-abbrev)) | 3145 | (expand-abbrev)) |
| 3158 | (push-mark) | 3146 | (push-mark) |
| @@ -6730,11 +6718,16 @@ The function is called with one parameter, a cons cell ..." | |||
| 6730 | ", ")) | 6718 | ", ")) |
| 6731 | mct (message-fetch-field "mail-copies-to") | 6719 | mct (message-fetch-field "mail-copies-to") |
| 6732 | author (or (message-fetch-field "mail-reply-to") | 6720 | author (or (message-fetch-field "mail-reply-to") |
| 6733 | (message-fetch-field "reply-to") | 6721 | (message-fetch-field "reply-to")) |
| 6734 | (message-fetch-field "from") | ||
| 6735 | "") | ||
| 6736 | mft (and message-use-mail-followup-to | 6722 | mft (and message-use-mail-followup-to |
| 6737 | (message-fetch-field "mail-followup-to")))) | 6723 | (message-fetch-field "mail-followup-to"))) |
| 6724 | ;; Make sure this message goes to the author if this is a wide | ||
| 6725 | ;; reply, since Reply-To address may be a list address a mailing | ||
| 6726 | ;; list server added. | ||
| 6727 | (when (and wide author) | ||
| 6728 | (setq cc (concat author ", " cc))) | ||
| 6729 | (when (or wide (not author)) | ||
| 6730 | (setq author (or (message-fetch-field "from") "")))) | ||
| 6738 | 6731 | ||
| 6739 | ;; Handle special values of Mail-Copies-To. | 6732 | ;; Handle special values of Mail-Copies-To. |
| 6740 | (when mct | 6733 | (when mct |
| @@ -8136,8 +8129,7 @@ regexp VARSTR." | |||
| 8136 | (if (fboundp 'mail-abbrevs-setup) | 8129 | (if (fboundp 'mail-abbrevs-setup) |
| 8137 | (let ((minibuffer-setup-hook 'mail-abbrevs-setup) | 8130 | (let ((minibuffer-setup-hook 'mail-abbrevs-setup) |
| 8138 | (minibuffer-local-map message-minibuffer-local-map)) | 8131 | (minibuffer-local-map message-minibuffer-local-map)) |
| 8139 | (flet ((mail-abbrev-in-expansion-header-p nil t)) | 8132 | (read-from-minibuffer prompt initial-contents)) |
| 8140 | (read-from-minibuffer prompt initial-contents))) | ||
| 8141 | (let ((minibuffer-setup-hook 'mail-abbrev-minibuffer-setup-hook) | 8133 | (let ((minibuffer-setup-hook 'mail-abbrev-minibuffer-setup-hook) |
| 8142 | (minibuffer-local-map message-minibuffer-local-map)) | 8134 | (minibuffer-local-map message-minibuffer-local-map)) |
| 8143 | (read-string prompt initial-contents)))) | 8135 | (read-string prompt initial-contents)))) |
diff --git a/lisp/gnus/spam-stat.el b/lisp/gnus/spam-stat.el index 04f90ee038d..9165e4193de 100644 --- a/lisp/gnus/spam-stat.el +++ b/lisp/gnus/spam-stat.el | |||
| @@ -494,6 +494,18 @@ where DIFF is the difference between SCORE and 0.5." | |||
| 494 | (setcdr (nthcdr 14 result) nil) | 494 | (setcdr (nthcdr 14 result) nil) |
| 495 | result)) | 495 | result)) |
| 496 | 496 | ||
| 497 | (eval-when-compile | ||
| 498 | (defmacro spam-stat-called-interactively-p (kind) | ||
| 499 | (condition-case nil | ||
| 500 | (progn | ||
| 501 | (eval '(called-interactively-p 'any)) | ||
| 502 | ;; Emacs >=23.2 | ||
| 503 | `(called-interactively-p ,kind)) | ||
| 504 | ;; Emacs <23.2 | ||
| 505 | (wrong-number-of-arguments '(called-interactively-p)) | ||
| 506 | ;; XEmacs | ||
| 507 | (void-function '(interactive-p))))) | ||
| 508 | |||
| 497 | (defun spam-stat-score-buffer () | 509 | (defun spam-stat-score-buffer () |
| 498 | "Return a score describing the spam-probability for this buffer. | 510 | "Return a score describing the spam-probability for this buffer. |
| 499 | Add user supplied modifications if supplied." | 511 | Add user supplied modifications if supplied." |
| @@ -511,7 +523,7 @@ Add user supplied modifications if supplied." | |||
| 511 | (error nil))) | 523 | (error nil))) |
| 512 | (ans | 524 | (ans |
| 513 | (if score1s (+ score0 score1s) score0))) | 525 | (if score1s (+ score0 score1s) score0))) |
| 514 | (when (interactive-p) | 526 | (when (spam-stat-called-interactively-p 'any) |
| 515 | (message "%S" ans)) | 527 | (message "%S" ans)) |
| 516 | ans)) | 528 | ans)) |
| 517 | 529 | ||
diff --git a/lisp/gnus/spam.el b/lisp/gnus/spam.el index c3be15adc1a..bacad983c78 100644 --- a/lisp/gnus/spam.el +++ b/lisp/gnus/spam.el | |||
| @@ -2092,22 +2092,24 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details." | |||
| 2092 | (declare-function gnus-extract-address-components "gnus-util" (from)) | 2092 | (declare-function gnus-extract-address-components "gnus-util" (from)) |
| 2093 | 2093 | ||
| 2094 | (eval-and-compile | 2094 | (eval-and-compile |
| 2095 | (when (condition-case nil | 2095 | (condition-case nil |
| 2096 | (progn | 2096 | (progn |
| 2097 | (require 'bbdb) | 2097 | (require 'bbdb) |
| 2098 | (require 'bbdb-com)) | 2098 | (require 'bbdb-com)) |
| 2099 | (file-error | 2099 | (file-error |
| 2100 | ;; `bbdb-records' should not be bound as an autoload function | 2100 | ;; `bbdb-records' should not be bound as an autoload function |
| 2101 | ;; before loading bbdb because of `bbdb-hashtable-size'. | 2101 | ;; before loading bbdb because of `bbdb-hashtable-size'. |
| 2102 | (defalias 'bbdb-buffer 'ignore) | 2102 | (defalias 'bbdb-buffer 'ignore) |
| 2103 | (defalias 'bbdb-create-internal 'ignore) | 2103 | (defalias 'bbdb-create-internal 'ignore) |
| 2104 | (defalias 'bbdb-records 'ignore) | 2104 | (defalias 'bbdb-records 'ignore) |
| 2105 | (defalias 'spam-BBDB-register-routine 'ignore) | 2105 | (defalias 'spam-BBDB-register-routine 'ignore) |
| 2106 | (defalias 'spam-enter-ham-BBDB 'ignore) | 2106 | (defalias 'spam-enter-ham-BBDB 'ignore) |
| 2107 | (defalias 'spam-exists-in-BBDB-p 'ignore) | 2107 | (defalias 'spam-exists-in-BBDB-p 'ignore) |
| 2108 | (defalias 'bbdb-gethash 'ignore) | 2108 | (defalias 'bbdb-gethash 'ignore) |
| 2109 | nil)) | 2109 | nil))) |
| 2110 | 2110 | ||
| 2111 | (eval-and-compile | ||
| 2112 | (when (featurep 'bbdb-com) | ||
| 2111 | ;; when the BBDB changes, we want to clear out our cache | 2113 | ;; when the BBDB changes, we want to clear out our cache |
| 2112 | (defun spam-clear-cache-BBDB (&rest immaterial) | 2114 | (defun spam-clear-cache-BBDB (&rest immaterial) |
| 2113 | (spam-clear-cache 'spam-use-BBDB)) | 2115 | (spam-clear-cache 'spam-use-BBDB)) |
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el index 59743124cc5..de875c72593 100644 --- a/lisp/hi-lock.el +++ b/lisp/hi-lock.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; hi-lock.el --- minor mode for interactive automatic highlighting | 1 | ;;; hi-lock.el --- minor mode for interactive automatic highlighting -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2000-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2000-2012 Free Software Foundation, Inc. |
| 4 | 4 | ||
| @@ -135,6 +135,13 @@ patterns." | |||
| 135 | ;; It can have a function value. | 135 | ;; It can have a function value. |
| 136 | (put 'hi-lock-file-patterns-policy 'risky-local-variable t) | 136 | (put 'hi-lock-file-patterns-policy 'risky-local-variable t) |
| 137 | 137 | ||
| 138 | (defcustom hi-lock-auto-select-face nil | ||
| 139 | "Non-nil if highlighting commands should not prompt for face names. | ||
| 140 | When non-nil, each hi-lock command will cycle through faces in | ||
| 141 | `hi-lock-face-defaults' without prompting." | ||
| 142 | :type 'boolean | ||
| 143 | :version "24.4") | ||
| 144 | |||
| 138 | (defgroup hi-lock-faces nil | 145 | (defgroup hi-lock-faces nil |
| 139 | "Faces for hi-lock." | 146 | "Faces for hi-lock." |
| 140 | :group 'hi-lock | 147 | :group 'hi-lock |
| @@ -198,11 +205,13 @@ patterns." | |||
| 198 | "Face for hi-lock mode." | 205 | "Face for hi-lock mode." |
| 199 | :group 'hi-lock-faces) | 206 | :group 'hi-lock-faces) |
| 200 | 207 | ||
| 201 | (defvar hi-lock-file-patterns nil | 208 | (defvar-local hi-lock-file-patterns nil |
| 202 | "Patterns found in file for hi-lock. Should not be changed.") | 209 | "Patterns found in file for hi-lock. Should not be changed.") |
| 210 | (put 'hi-lock-file-patterns 'permanent-local t) | ||
| 203 | 211 | ||
| 204 | (defvar hi-lock-interactive-patterns nil | 212 | (defvar-local hi-lock-interactive-patterns nil |
| 205 | "Patterns provided to hi-lock by user. Should not be changed.") | 213 | "Patterns provided to hi-lock by user. Should not be changed.") |
| 214 | (put 'hi-lock-interactive-patterns 'permanent-local t) | ||
| 206 | 215 | ||
| 207 | (define-obsolete-variable-alias 'hi-lock-face-history | 216 | (define-obsolete-variable-alias 'hi-lock-face-history |
| 208 | 'hi-lock-face-defaults "23.1") | 217 | 'hi-lock-face-defaults "23.1") |
| @@ -211,9 +220,6 @@ patterns." | |||
| 211 | "hi-blue-b" "hi-red-b" "hi-green-b" "hi-black-hb") | 220 | "hi-blue-b" "hi-red-b" "hi-green-b" "hi-black-hb") |
| 212 | "Default faces for hi-lock interactive functions.") | 221 | "Default faces for hi-lock interactive functions.") |
| 213 | 222 | ||
| 214 | ;;(dolist (f hi-lock-face-defaults) | ||
| 215 | ;; (unless (facep f) (error "%s not a face" f))) | ||
| 216 | |||
| 217 | (define-obsolete-variable-alias 'hi-lock-regexp-history | 223 | (define-obsolete-variable-alias 'hi-lock-regexp-history |
| 218 | 'regexp-history | 224 | 'regexp-history |
| 219 | "23.1") | 225 | "23.1") |
| @@ -232,11 +238,6 @@ that older functionality. This variable avoids multiple reminders.") | |||
| 232 | Assumption is made if `hi-lock-mode' used in the *scratch* buffer while | 238 | Assumption is made if `hi-lock-mode' used in the *scratch* buffer while |
| 233 | a library is being loaded.") | 239 | a library is being loaded.") |
| 234 | 240 | ||
| 235 | (make-variable-buffer-local 'hi-lock-interactive-patterns) | ||
| 236 | (put 'hi-lock-interactive-patterns 'permanent-local t) | ||
| 237 | (make-variable-buffer-local 'hi-lock-file-patterns) | ||
| 238 | (put 'hi-lock-file-patterns 'permanent-local t) | ||
| 239 | |||
| 240 | (defvar hi-lock-menu | 241 | (defvar hi-lock-menu |
| 241 | (let ((map (make-sparse-keymap "Hi Lock"))) | 242 | (let ((map (make-sparse-keymap "Hi Lock"))) |
| 242 | (define-key-after map [highlight-regexp] | 243 | (define-key-after map [highlight-regexp] |
| @@ -463,56 +464,93 @@ updated as you type." | |||
| 463 | 464 | ||
| 464 | (declare-function x-popup-menu "menu.c" (position menu)) | 465 | (declare-function x-popup-menu "menu.c" (position menu)) |
| 465 | 466 | ||
| 467 | (defun hi-lock--regexps-at-point () | ||
| 468 | (let ((regexps '())) | ||
| 469 | ;; When using overlays, there is no ambiguity on the best | ||
| 470 | ;; choice of regexp. | ||
| 471 | (let ((regexp (get-char-property (point) 'hi-lock-overlay-regexp))) | ||
| 472 | (when regexp (push regexp regexps))) | ||
| 473 | ;; With font-locking on, check if the cursor is on an highlighted text. | ||
| 474 | ;; Checking for hi-lock face is a good heuristic. FIXME: use "hi-lock-". | ||
| 475 | (and (string-match "\\`hi-" (face-name (face-at-point))) | ||
| 476 | (let* ((hi-text | ||
| 477 | (buffer-substring-no-properties | ||
| 478 | (previous-single-property-change (point) 'face) | ||
| 479 | (next-single-property-change (point) 'face)))) | ||
| 480 | ;; Compute hi-lock patterns that match the | ||
| 481 | ;; highlighted text at point. Use this later in | ||
| 482 | ;; during completing-read. | ||
| 483 | (dolist (hi-lock-pattern hi-lock-interactive-patterns) | ||
| 484 | (let ((regexp (car hi-lock-pattern))) | ||
| 485 | (if (string-match regexp hi-text) | ||
| 486 | (push regexp regexps)))))) | ||
| 487 | regexps)) | ||
| 488 | |||
| 489 | (defvar-local hi-lock--last-face nil) | ||
| 490 | |||
| 466 | ;;;###autoload | 491 | ;;;###autoload |
| 467 | (defalias 'unhighlight-regexp 'hi-lock-unface-buffer) | 492 | (defalias 'unhighlight-regexp 'hi-lock-unface-buffer) |
| 468 | ;;;###autoload | 493 | ;;;###autoload |
| 469 | (defun hi-lock-unface-buffer (regexp) | 494 | (defun hi-lock-unface-buffer (regexp) |
| 470 | "Remove highlighting of each match to REGEXP set by hi-lock. | 495 | "Remove highlighting of each match to REGEXP set by hi-lock. |
| 471 | Interactively, prompt for REGEXP, accepting only regexps | 496 | Interactively, prompt for REGEXP, accepting only regexps |
| 472 | previously inserted by hi-lock interactive functions." | 497 | previously inserted by hi-lock interactive functions. |
| 498 | If REGEXP is t (or if \\[universal-argument] was specified interactively), | ||
| 499 | then remove all hi-lock highlighting." | ||
| 473 | (interactive | 500 | (interactive |
| 474 | (if (and (display-popup-menus-p) | 501 | (cond |
| 475 | (listp last-nonmenu-event) | 502 | (current-prefix-arg (list t)) |
| 476 | use-dialog-box) | 503 | ((and (display-popup-menus-p) |
| 477 | (catch 'snafu | 504 | (listp last-nonmenu-event) |
| 478 | (or | 505 | use-dialog-box) |
| 479 | (x-popup-menu | 506 | (catch 'snafu |
| 480 | t | 507 | (or |
| 481 | (cons | 508 | (x-popup-menu |
| 482 | `keymap | 509 | t |
| 483 | (cons "Select Pattern to Unhighlight" | 510 | (cons |
| 484 | (mapcar (lambda (pattern) | 511 | `keymap |
| 485 | (list (car pattern) | 512 | (cons "Select Pattern to Unhighlight" |
| 486 | (format | 513 | (mapcar (lambda (pattern) |
| 487 | "%s (%s)" (car pattern) | 514 | (list (car pattern) |
| 488 | (symbol-name | 515 | (format |
| 489 | (car | 516 | "%s (%s)" (car pattern) |
| 490 | (cdr (car (cdr (car (cdr pattern)))))))) | 517 | (cadr (cadr (cadr pattern)))) |
| 491 | (cons nil nil) | 518 | (cons nil nil) |
| 492 | (car pattern))) | 519 | (car pattern))) |
| 493 | hi-lock-interactive-patterns)))) | 520 | hi-lock-interactive-patterns)))) |
| 494 | ;; If the user clicks outside the menu, meaning that they | 521 | ;; If the user clicks outside the menu, meaning that they |
| 495 | ;; change their mind, x-popup-menu returns nil, and | 522 | ;; change their mind, x-popup-menu returns nil, and |
| 496 | ;; interactive signals a wrong number of arguments error. | 523 | ;; interactive signals a wrong number of arguments error. |
| 497 | ;; To prevent that, we return an empty string, which will | 524 | ;; To prevent that, we return an empty string, which will |
| 498 | ;; effectively disable the rest of the function. | 525 | ;; effectively disable the rest of the function. |
| 499 | (throw 'snafu '("")))) | 526 | (throw 'snafu '(""))))) |
| 500 | (let ((history-list (mapcar (lambda (p) (car p)) | 527 | (t |
| 501 | hi-lock-interactive-patterns))) | 528 | ;; Un-highlighting triggered via keyboard action. |
| 502 | (unless hi-lock-interactive-patterns | 529 | (unless hi-lock-interactive-patterns |
| 503 | (error "No highlighting to remove")) | 530 | (error "No highlighting to remove")) |
| 531 | ;; Infer the regexp to un-highlight based on cursor position. | ||
| 532 | (let* ((defaults (or (hi-lock--regexps-at-point) | ||
| 533 | (mapcar #'car hi-lock-interactive-patterns)))) | ||
| 504 | (list | 534 | (list |
| 505 | (completing-read "Regexp to unhighlight: " | 535 | (completing-read (if (null defaults) |
| 506 | hi-lock-interactive-patterns nil t | 536 | "Regexp to unhighlight: " |
| 507 | (car (car hi-lock-interactive-patterns)) | 537 | (format "Regexp to unhighlight (default %s): " |
| 508 | (cons 'history-list 1)))))) | 538 | (car defaults))) |
| 509 | (let ((keyword (assoc regexp hi-lock-interactive-patterns))) | 539 | hi-lock-interactive-patterns |
| 540 | nil t nil nil defaults)))))) | ||
| 541 | (dolist (keyword (if (eq regexp t) hi-lock-interactive-patterns | ||
| 542 | (list (assoc regexp hi-lock-interactive-patterns)))) | ||
| 510 | (when keyword | 543 | (when keyword |
| 544 | (let ((face (cadr (cadr (cadr keyword))))) | ||
| 545 | ;; Make `face' the next one to use by default. | ||
| 546 | (setq hi-lock--last-face | ||
| 547 | (cadr (member (symbol-name face) | ||
| 548 | (reverse hi-lock-face-defaults))))) | ||
| 511 | (font-lock-remove-keywords nil (list keyword)) | 549 | (font-lock-remove-keywords nil (list keyword)) |
| 512 | (setq hi-lock-interactive-patterns | 550 | (setq hi-lock-interactive-patterns |
| 513 | (delq keyword hi-lock-interactive-patterns)) | 551 | (delq keyword hi-lock-interactive-patterns)) |
| 514 | (remove-overlays | 552 | (remove-overlays |
| 515 | nil nil 'hi-lock-overlay-regexp (hi-lock-string-serialize regexp)) | 553 | nil nil 'hi-lock-overlay-regexp (hi-lock--hashcons regexp)) |
| 516 | (when font-lock-fontified (font-lock-fontify-buffer))))) | 554 | (when font-lock-fontified (font-lock-fontify-buffer))))) |
| 517 | 555 | ||
| 518 | ;;;###autoload | 556 | ;;;###autoload |
| @@ -567,23 +605,28 @@ not suitable." | |||
| 567 | regexp)) | 605 | regexp)) |
| 568 | 606 | ||
| 569 | (defun hi-lock-read-face-name () | 607 | (defun hi-lock-read-face-name () |
| 570 | "Read face name from minibuffer with completion and history." | 608 | "Return face for interactive highlighting. |
| 571 | (intern (completing-read | 609 | When `hi-lock-auto-select-face' is non-nil, just return the next face. |
| 572 | "Highlight using face: " | 610 | Otherwise, read face name from minibuffer with completion and history." |
| 573 | obarray 'facep t | 611 | (let ((default (or (cadr (member hi-lock--last-face hi-lock-face-defaults)) |
| 574 | (cons (car hi-lock-face-defaults) | 612 | (car hi-lock-face-defaults)))) |
| 575 | (let ((prefix | 613 | (setq hi-lock--last-face |
| 576 | (try-completion | 614 | (if (and hi-lock-auto-select-face (not current-prefix-arg)) |
| 577 | (substring (car hi-lock-face-defaults) 0 1) | 615 | default |
| 578 | hi-lock-face-defaults))) | 616 | (completing-read |
| 579 | (if (and (stringp prefix) | 617 | (format "Highlight using face (default %s): " default) |
| 580 | (not (equal prefix (car hi-lock-face-defaults)))) | 618 | obarray 'facep t nil 'face-name-history |
| 581 | (length prefix) 0))) | 619 | (append (member default hi-lock-face-defaults) |
| 582 | 'face-name-history | 620 | hi-lock-face-defaults)))) |
| 583 | (cdr hi-lock-face-defaults)))) | 621 | (unless (member hi-lock--last-face hi-lock-face-defaults) |
| 622 | (setq hi-lock-face-defaults | ||
| 623 | (append hi-lock-face-defaults (list hi-lock--last-face)))) | ||
| 624 | (intern hi-lock--last-face))) | ||
| 584 | 625 | ||
| 585 | (defun hi-lock-set-pattern (regexp face) | 626 | (defun hi-lock-set-pattern (regexp face) |
| 586 | "Highlight REGEXP with face FACE." | 627 | "Highlight REGEXP with face FACE." |
| 628 | ;; Hashcons the regexp, so it can be passed to remove-overlays later. | ||
| 629 | (setq regexp (hi-lock--hashcons regexp)) | ||
| 587 | (let ((pattern (list regexp (list 0 (list 'quote face) t)))) | 630 | (let ((pattern (list regexp (list 0 (list 'quote face) t)))) |
| 588 | (unless (member pattern hi-lock-interactive-patterns) | 631 | (unless (member pattern hi-lock-interactive-patterns) |
| 589 | (push pattern hi-lock-interactive-patterns) | 632 | (push pattern hi-lock-interactive-patterns) |
| @@ -591,8 +634,7 @@ not suitable." | |||
| 591 | (progn | 634 | (progn |
| 592 | (font-lock-add-keywords nil (list pattern) t) | 635 | (font-lock-add-keywords nil (list pattern) t) |
| 593 | (font-lock-fontify-buffer)) | 636 | (font-lock-fontify-buffer)) |
| 594 | (let* ((serial (hi-lock-string-serialize regexp)) | 637 | (let* ((range-min (- (point) (/ hi-lock-highlight-range 2))) |
| 595 | (range-min (- (point) (/ hi-lock-highlight-range 2))) | ||
| 596 | (range-max (+ (point) (/ hi-lock-highlight-range 2))) | 638 | (range-max (+ (point) (/ hi-lock-highlight-range 2))) |
| 597 | (search-start | 639 | (search-start |
| 598 | (max (point-min) | 640 | (max (point-min) |
| @@ -605,7 +647,7 @@ not suitable." | |||
| 605 | (while (re-search-forward regexp search-end t) | 647 | (while (re-search-forward regexp search-end t) |
| 606 | (let ((overlay (make-overlay (match-beginning 0) (match-end 0)))) | 648 | (let ((overlay (make-overlay (match-beginning 0) (match-end 0)))) |
| 607 | (overlay-put overlay 'hi-lock-overlay t) | 649 | (overlay-put overlay 'hi-lock-overlay t) |
| 608 | (overlay-put overlay 'hi-lock-overlay-regexp serial) | 650 | (overlay-put overlay 'hi-lock-overlay-regexp regexp) |
| 609 | (overlay-put overlay 'face face)) | 651 | (overlay-put overlay 'face face)) |
| 610 | (goto-char (match-end 0))))))))) | 652 | (goto-char (match-end 0))))))))) |
| 611 | 653 | ||
| @@ -655,25 +697,14 @@ not suitable." | |||
| 655 | (font-lock-add-keywords nil hi-lock-file-patterns t) | 697 | (font-lock-add-keywords nil hi-lock-file-patterns t) |
| 656 | (font-lock-add-keywords nil hi-lock-interactive-patterns t))) | 698 | (font-lock-add-keywords nil hi-lock-interactive-patterns t))) |
| 657 | 699 | ||
| 658 | (defvar hi-lock-string-serialize-hash | 700 | (defvar hi-lock--hashcons-hash |
| 659 | (make-hash-table :test 'equal) | 701 | (make-hash-table :test 'equal :weakness t) |
| 660 | "Hash table used to assign unique numbers to strings.") | 702 | "Hash table used to hash cons regexps.") |
| 661 | 703 | ||
| 662 | (defvar hi-lock-string-serialize-serial 1 | 704 | (defun hi-lock--hashcons (string) |
| 663 | "Number assigned to last new string in call to `hi-lock-string-serialize'. | 705 | "Return unique object equal to STRING." |
| 664 | A string is considered new if it had not previously been used in a call to | 706 | (or (gethash string hi-lock--hashcons-hash) |
| 665 | `hi-lock-string-serialize'.") | 707 | (puthash string string hi-lock--hashcons-hash))) |
| 666 | |||
| 667 | (defun hi-lock-string-serialize (string) | ||
| 668 | "Return unique serial number for STRING." | ||
| 669 | (interactive) | ||
| 670 | (let ((val (gethash string hi-lock-string-serialize-hash))) | ||
| 671 | (if val val | ||
| 672 | (puthash string | ||
| 673 | (setq hi-lock-string-serialize-serial | ||
| 674 | (1+ hi-lock-string-serialize-serial)) | ||
| 675 | hi-lock-string-serialize-hash) | ||
| 676 | hi-lock-string-serialize-serial))) | ||
| 677 | 708 | ||
| 678 | (defun hi-lock-unload-function () | 709 | (defun hi-lock-unload-function () |
| 679 | "Unload the Hi-Lock library." | 710 | "Unload the Hi-Lock library." |
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el index 0970ece9446..7b5e2b54300 100644 --- a/lisp/hilit-chg.el +++ b/lisp/hilit-chg.el | |||
| @@ -569,37 +569,39 @@ This allows you to manually remove highlighting from uninteresting changes." | |||
| 569 | highlight-changes-visible-mode) | 569 | highlight-changes-visible-mode) |
| 570 | (hilit-chg-fixup beg end)) | 570 | (hilit-chg-fixup beg end)) |
| 571 | (highlight-save-buffer-state | 571 | (highlight-save-buffer-state |
| 572 | (if (and (= beg end) (> leng-before 0)) | 572 | (if (and (= beg end) (> leng-before 0)) |
| 573 | ;; deletion | 573 | ;; deletion |
| 574 | (progn | 574 | (progn |
| 575 | ;; The eolp and bolp tests are a kludge! But they prevent | 575 | ;; The eolp and bolp tests are a kludge! But they prevent |
| 576 | ;; rather nasty looking displays when deleting text at the end | 576 | ;; rather nasty looking displays when deleting text at the end |
| 577 | ;; of line, such as normal corrections as one is typing and | 577 | ;; of line, such as normal corrections as one is typing and |
| 578 | ;; immediately makes a correction, and when deleting first | 578 | ;; immediately makes a correction, and when deleting first |
| 579 | ;; character of a line. | 579 | ;; character of a line. |
| 580 | ;; (if (= leng-before 1) | 580 | ;; (if (= leng-before 1) |
| 581 | ;; (if (eolp) | 581 | ;; (if (eolp) |
| 582 | ;; (setq beg-decr 0 end-incr 0) | 582 | ;; (setq beg-decr 0 end-incr 0) |
| 583 | ;; (if (bolp) | 583 | ;; (if (bolp) |
| 584 | ;; (setq beg-decr 0)))) | 584 | ;; (setq beg-decr 0)))) |
| 585 | ;; (setq beg (max (- beg beg-decr) (point-min))) | 585 | ;; (setq beg (max (- beg beg-decr) (point-min))) |
| 586 | (setq end (min (+ end end-incr) (point-max))) | 586 | (setq end (min (+ end end-incr) (point-max))) |
| 587 | (setq type 'hilit-chg-delete)) | 587 | (setq type 'hilit-chg-delete)) |
| 588 | ;; Not a deletion. | 588 | ;; Not a deletion. |
| 589 | ;; Most of the time the following is not necessary, but | 589 | ;; Most of the time the following is not necessary, but |
| 590 | ;; if the current text was marked as a deletion then | 590 | ;; if the current text was marked as a deletion then |
| 591 | ;; the old overlay is still in effect, so if we add some | 591 | ;; the old overlay is still in effect. So if the user adds some |
| 592 | ;; text then remove the deletion marking, but set it to | 592 | ;; text where she earlier deleted text, we have to remove the |
| 593 | ;; changed otherwise its highlighting disappears. | 593 | ;; deletion marking, and replace it explicitly with a `changed' |
| 594 | (if (eq (get-text-property end 'hilit-chg) 'hilit-chg-delete) | 594 | ;; marking, otherwise its highlighting would disappear. |
| 595 | (progn | 595 | (if (eq (get-text-property end 'hilit-chg) 'hilit-chg-delete) |
| 596 | (put-text-property end (+ end 1) 'hilit-chg 'hilit-chg) | 596 | (save-restriction |
| 597 | (if highlight-changes-visible-mode | 597 | (widen) |
| 598 | (hilit-chg-fixup beg (+ end 1)))))) | 598 | (put-text-property end (+ end 1) 'hilit-chg 'hilit-chg) |
| 599 | (unless no-property-change | 599 | (if highlight-changes-visible-mode |
| 600 | (put-text-property beg end 'hilit-chg type)) | 600 | (hilit-chg-fixup beg (+ end 1)))))) |
| 601 | (if (or highlight-changes-visible-mode no-property-change) | 601 | (unless no-property-change |
| 602 | (hilit-chg-make-ov type beg end))))))) | 602 | (put-text-property beg end 'hilit-chg type)) |
| 603 | (if (or highlight-changes-visible-mode no-property-change) | ||
| 604 | (hilit-chg-make-ov type beg end))))))) | ||
| 603 | 605 | ||
| 604 | (defun hilit-chg-update () | 606 | (defun hilit-chg-update () |
| 605 | "Update a buffer's highlight changes when visibility changed." | 607 | "Update a buffer's highlight changes when visibility changed." |
diff --git a/lisp/hippie-exp.el b/lisp/hippie-exp.el index 2f0a6e3af59..d2c69c70b75 100644 --- a/lisp/hippie-exp.el +++ b/lisp/hippie-exp.el | |||
| @@ -199,6 +199,8 @@ | |||
| 199 | 199 | ||
| 200 | (defvar he-search-window ()) | 200 | (defvar he-search-window ()) |
| 201 | 201 | ||
| 202 | ;;; Autoloaded for historical reasons (bug#12982) | ||
| 203 | ;;;###autoload | ||
| 202 | (defcustom hippie-expand-try-functions-list | 204 | (defcustom hippie-expand-try-functions-list |
| 203 | '(try-complete-file-name-partially | 205 | '(try-complete-file-name-partially |
| 204 | try-complete-file-name | 206 | try-complete-file-name |
diff --git a/lisp/icomplete.el b/lisp/icomplete.el index a4e3e339470..08d8c28816f 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el | |||
| @@ -71,6 +71,11 @@ | |||
| 71 | (make-obsolete-variable | 71 | (make-obsolete-variable |
| 72 | 'icomplete-prospects-length 'icomplete-prospects-height "23.1") | 72 | 'icomplete-prospects-length 'icomplete-prospects-height "23.1") |
| 73 | 73 | ||
| 74 | (defcustom icomplete-separator " | " | ||
| 75 | "String used by icomplete to separate alternatives in the minibuffer." | ||
| 76 | :type 'string | ||
| 77 | :version "24.4") | ||
| 78 | |||
| 74 | ;;;_* User Customization variables | 79 | ;;;_* User Customization variables |
| 75 | (defcustom icomplete-prospects-height | 80 | (defcustom icomplete-prospects-height |
| 76 | ;; 20 is an estimated common size for the prompt + minibuffer content, to | 81 | ;; 20 is an estimated common size for the prompt + minibuffer content, to |
| @@ -97,11 +102,6 @@ See `icomplete-delay-completions-threshold'." | |||
| 97 | :type 'integer | 102 | :type 'integer |
| 98 | :group 'icomplete) | 103 | :group 'icomplete) |
| 99 | 104 | ||
| 100 | (defcustom icomplete-show-key-bindings t | ||
| 101 | "If non-nil, show key bindings as well as completion for sole matches." | ||
| 102 | :type 'boolean | ||
| 103 | :group 'icomplete) | ||
| 104 | |||
| 105 | (defcustom icomplete-minibuffer-setup-hook nil | 105 | (defcustom icomplete-minibuffer-setup-hook nil |
| 106 | "Icomplete-specific customization of minibuffer setup. | 106 | "Icomplete-specific customization of minibuffer setup. |
| 107 | 107 | ||
| @@ -145,23 +145,6 @@ Use `icomplete-mode' function to set it up properly for incremental | |||
| 145 | minibuffer completion.") | 145 | minibuffer completion.") |
| 146 | (add-hook 'icomplete-post-command-hook 'icomplete-exhibit) | 146 | (add-hook 'icomplete-post-command-hook 'icomplete-exhibit) |
| 147 | 147 | ||
| 148 | (defun icomplete-get-keys (func-name) | ||
| 149 | "Return strings naming keys bound to FUNC-NAME, or nil if none. | ||
| 150 | Examines the prior, not current, buffer, presuming that current buffer | ||
| 151 | is minibuffer." | ||
| 152 | (when (commandp func-name) | ||
| 153 | (save-excursion | ||
| 154 | (let* ((sym (intern func-name)) | ||
| 155 | (buf (other-buffer nil t)) | ||
| 156 | (keys (with-current-buffer buf (where-is-internal sym)))) | ||
| 157 | (when keys | ||
| 158 | (concat "<" | ||
| 159 | (mapconcat 'key-description | ||
| 160 | (sort keys | ||
| 161 | #'(lambda (x y) | ||
| 162 | (< (length x) (length y)))) | ||
| 163 | ", ") | ||
| 164 | ">")))))) | ||
| 165 | ;;;_ = icomplete-with-completion-tables | 148 | ;;;_ = icomplete-with-completion-tables |
| 166 | (defvar icomplete-with-completion-tables '(internal-complete-buffer) | 149 | (defvar icomplete-with-completion-tables '(internal-complete-buffer) |
| 167 | "Specialized completion tables with which icomplete should operate. | 150 | "Specialized completion tables with which icomplete should operate. |
| @@ -169,6 +152,37 @@ is minibuffer." | |||
| 169 | Icomplete does not operate with any specialized completion tables | 152 | Icomplete does not operate with any specialized completion tables |
| 170 | except those on this list.") | 153 | except those on this list.") |
| 171 | 154 | ||
| 155 | (defvar icomplete-minibuffer-map | ||
| 156 | (let ((map (make-sparse-keymap))) | ||
| 157 | (define-key map [?\M-\t] 'minibuffer-force-complete) | ||
| 158 | (define-key map [?\C-j] 'minibuffer-force-complete-and-exit) | ||
| 159 | (define-key map [?\C-s] 'icomplete-forward-completions) | ||
| 160 | (define-key map [?\C-r] 'icomplete-backward-completions) | ||
| 161 | map)) | ||
| 162 | |||
| 163 | (defun icomplete-forward-completions () | ||
| 164 | "Step forward completions by one entry. | ||
| 165 | Second entry becomes the first and can be selected with | ||
| 166 | `minibuffer-force-complete-and-exit'." | ||
| 167 | (interactive) | ||
| 168 | (let* ((comps (completion-all-sorted-completions)) | ||
| 169 | (last (last comps))) | ||
| 170 | (setcdr last (cons (car comps) (cdr last))) | ||
| 171 | (completion--cache-all-sorted-completions (cdr comps)))) | ||
| 172 | |||
| 173 | (defun icomplete-backward-completions () | ||
| 174 | "Step backward completions by one entry. | ||
| 175 | Last entry becomes the first and can be selected with | ||
| 176 | `minibuffer-force-complete-and-exit'." | ||
| 177 | (interactive) | ||
| 178 | (let* ((comps (completion-all-sorted-completions)) | ||
| 179 | (last-but-one (last comps 2)) | ||
| 180 | (last (cdr last-but-one))) | ||
| 181 | (when last | ||
| 182 | (setcdr last-but-one (cdr last)) | ||
| 183 | (push (car last) comps) | ||
| 184 | (completion--cache-all-sorted-completions comps)))) | ||
| 185 | |||
| 172 | ;;;_ > icomplete-mode (&optional prefix) | 186 | ;;;_ > icomplete-mode (&optional prefix) |
| 173 | ;;;###autoload | 187 | ;;;###autoload |
| 174 | (define-minor-mode icomplete-mode | 188 | (define-minor-mode icomplete-mode |
| @@ -208,6 +222,8 @@ Conditions are: | |||
| 208 | Usually run by inclusion in `minibuffer-setup-hook'." | 222 | Usually run by inclusion in `minibuffer-setup-hook'." |
| 209 | (when (and icomplete-mode (icomplete-simple-completing-p)) | 223 | (when (and icomplete-mode (icomplete-simple-completing-p)) |
| 210 | (set (make-local-variable 'completion-show-inline-help) nil) | 224 | (set (make-local-variable 'completion-show-inline-help) nil) |
| 225 | (use-local-map (make-composed-keymap icomplete-minibuffer-map | ||
| 226 | (current-local-map))) | ||
| 211 | (add-hook 'pre-command-hook | 227 | (add-hook 'pre-command-hook |
| 212 | (lambda () (let ((non-essential t)) | 228 | (lambda () (let ((non-essential t)) |
| 213 | (run-hooks 'icomplete-pre-command-hook))) | 229 | (run-hooks 'icomplete-pre-command-hook))) |
| @@ -239,27 +255,29 @@ and `minibuffer-setup-hook'." | |||
| 239 | (goto-char (point-max)) | 255 | (goto-char (point-max)) |
| 240 | ; Insert the match-status information: | 256 | ; Insert the match-status information: |
| 241 | (if (and (> (point-max) (minibuffer-prompt-end)) | 257 | (if (and (> (point-max) (minibuffer-prompt-end)) |
| 242 | buffer-undo-list ; Wait for some user input. | 258 | buffer-undo-list ; Wait for some user input. |
| 243 | (or | 259 | (or |
| 244 | ;; Don't bother with delay after certain number of chars: | 260 | ;; Don't bother with delay after certain number of chars: |
| 245 | (> (- (point) (field-beginning)) icomplete-max-delay-chars) | 261 | (> (- (point) (field-beginning)) icomplete-max-delay-chars) |
| 246 | ;; Don't delay if alternatives number is small enough: | 262 | ;; Don't delay if the completions are known. |
| 247 | (and (sequencep minibuffer-completion-table) | 263 | completion-all-sorted-completions |
| 248 | (< (length minibuffer-completion-table) | 264 | ;; Don't delay if alternatives number is small enough: |
| 249 | icomplete-delay-completions-threshold)) | 265 | (and (sequencep minibuffer-completion-table) |
| 250 | ;; Delay - give some grace time for next keystroke, before | 266 | (< (length minibuffer-completion-table) |
| 267 | icomplete-delay-completions-threshold)) | ||
| 268 | ;; Delay - give some grace time for next keystroke, before | ||
| 251 | ;; embarking on computing completions: | 269 | ;; embarking on computing completions: |
| 252 | (sit-for icomplete-compute-delay))) | 270 | (sit-for icomplete-compute-delay))) |
| 253 | (let ((text (while-no-input | 271 | (let ((text (while-no-input |
| 254 | (icomplete-completions | 272 | (icomplete-completions |
| 255 | (field-string) | 273 | (field-string) |
| 256 | minibuffer-completion-table | 274 | minibuffer-completion-table |
| 257 | minibuffer-completion-predicate | 275 | minibuffer-completion-predicate |
| 258 | (not minibuffer-completion-confirm)))) | 276 | (not minibuffer-completion-confirm)))) |
| 259 | (buffer-undo-list t) | 277 | (buffer-undo-list t) |
| 260 | deactivate-mark) | 278 | deactivate-mark) |
| 261 | ;; Do nothing if while-no-input was aborted. | 279 | ;; Do nothing if while-no-input was aborted. |
| 262 | (when (stringp text) | 280 | (when (stringp text) |
| 263 | (move-overlay icomplete-overlay (point) (point) (current-buffer)) | 281 | (move-overlay icomplete-overlay (point) (point) (current-buffer)) |
| 264 | ;; The current C cursor code doesn't know to use the overlay's | 282 | ;; The current C cursor code doesn't know to use the overlay's |
| 265 | ;; marker's stickiness to figure out whether to place the cursor | 283 | ;; marker's stickiness to figure out whether to place the cursor |
| @@ -365,17 +383,14 @@ are exhibited within the square braces.)" | |||
| 365 | (if prospects | 383 | (if prospects |
| 366 | (concat determ | 384 | (concat determ |
| 367 | "{" | 385 | "{" |
| 368 | (and most-is-exact ",") | 386 | (and most-is-exact |
| 369 | (mapconcat 'identity (nreverse prospects) ",") | 387 | (substring icomplete-separator |
| 370 | (and limit ",...") | 388 | (string-match "[^ ]" icomplete-separator))) |
| 389 | (mapconcat 'identity (nreverse prospects) | ||
| 390 | icomplete-separator) | ||
| 391 | (and limit (concat icomplete-separator "…")) | ||
| 371 | "}") | 392 | "}") |
| 372 | (concat determ | 393 | (concat determ " [Matched]")))))) |
| 373 | " [Matched" | ||
| 374 | (let ((keys (and icomplete-show-key-bindings | ||
| 375 | (commandp (intern-soft most)) | ||
| 376 | (icomplete-get-keys most)))) | ||
| 377 | (if keys (concat "; " keys) "")) | ||
| 378 | "]")))))) | ||
| 379 | 394 | ||
| 380 | ;;_* Local emacs vars. | 395 | ;;_* Local emacs vars. |
| 381 | ;;Local variables: | 396 | ;;Local variables: |
diff --git a/lisp/ido.el b/lisp/ido.el index f4f9c27c847..7044fa496db 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -2389,7 +2389,10 @@ If cursor is not at the end of the user input, move to end of input." | |||
| 2389 | (ido-buffer-internal 'insert 'insert-buffer "Insert buffer: " nil ido-text 'ido-enter-insert-file)) | 2389 | (ido-buffer-internal 'insert 'insert-buffer "Insert buffer: " nil ido-text 'ido-enter-insert-file)) |
| 2390 | 2390 | ||
| 2391 | ((eq ido-exit 'dired) | 2391 | ((eq ido-exit 'dired) |
| 2392 | (dired (concat ido-current-directory (or ido-text "")))) | 2392 | (funcall (cond ((eq method 'other-window) 'dired-other-window) |
| 2393 | ((eq method 'other-frame) 'dired-other-frame) | ||
| 2394 | (t 'dired)) | ||
| 2395 | (concat ido-current-directory (or ido-text "")))) | ||
| 2393 | 2396 | ||
| 2394 | ((eq ido-exit 'ffap) | 2397 | ((eq ido-exit 'ffap) |
| 2395 | (find-file-at-point)) | 2398 | (find-file-at-point)) |
diff --git a/lisp/image-dired.el b/lisp/image-dired.el index 3659894f08d..77c968b21ae 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el | |||
| @@ -2454,6 +2454,8 @@ when using per-directory thumbnail file storage")) | |||
| 2454 | (defvar image-dired-widget-list nil | 2454 | (defvar image-dired-widget-list nil |
| 2455 | "List to keep track of meta data in edit buffer.") | 2455 | "List to keep track of meta data in edit buffer.") |
| 2456 | 2456 | ||
| 2457 | (declare-function widget-forward "wid-edit" (arg)) | ||
| 2458 | |||
| 2457 | ;;;###autoload | 2459 | ;;;###autoload |
| 2458 | (defun image-dired-dired-edit-comment-and-tags () | 2460 | (defun image-dired-dired-edit-comment-and-tags () |
| 2459 | "Edit comment and tags of current or marked image files. | 2461 | "Edit comment and tags of current or marked image files. |
diff --git a/lisp/image-mode.el b/lisp/image-mode.el index 4ac62fbb6fc..0e91567a29a 100644 --- a/lisp/image-mode.el +++ b/lisp/image-mode.el | |||
| @@ -746,8 +746,14 @@ close to a multiple of 90, see `image-transform-right-angle-fudge'." | |||
| 746 | h))))) | 746 | h))))) |
| 747 | 747 | ||
| 748 | (defun image-transform-check-size () | 748 | (defun image-transform-check-size () |
| 749 | "Check that the image exactly fits the width/height of the window." | 749 | "Check that the image exactly fits the width/height of the window. |
| 750 | (unless (numberp image-transform-resize) | 750 | |
| 751 | Do this for an image of type `imagemagick' to make sure that the | ||
| 752 | elisp code matches the way ImageMagick computes the bounding box | ||
| 753 | of a rotated image." | ||
| 754 | (when (and (not (numberp image-transform-resize)) | ||
| 755 | (boundp 'image-type) | ||
| 756 | (eq image-type 'imagemagick)) | ||
| 751 | (let ((size (image-display-size (image-get-display-property) t))) | 757 | (let ((size (image-display-size (image-get-display-property) t))) |
| 752 | (cond ((eq image-transform-resize 'fit-width) | 758 | (cond ((eq image-transform-resize 'fit-width) |
| 753 | (cl-assert (= (car size) | 759 | (cl-assert (= (car size) |
diff --git a/lisp/image.el b/lisp/image.el index bd2f5c3a3ca..27bbc2c08d6 100644 --- a/lisp/image.el +++ b/lisp/image.el | |||
| @@ -429,7 +429,7 @@ means display it in the right marginal area." | |||
| 429 | "Insert IMAGE into current buffer at point. | 429 | "Insert IMAGE into current buffer at point. |
| 430 | IMAGE is displayed by inserting STRING into the current buffer | 430 | IMAGE is displayed by inserting STRING into the current buffer |
| 431 | with a `display' property whose value is the image. STRING | 431 | with a `display' property whose value is the image. STRING |
| 432 | defaults to the empty string if you omit it. | 432 | defaults to a single space if you omit it. |
| 433 | AREA is where to display the image. AREA nil or omitted means | 433 | AREA is where to display the image. AREA nil or omitted means |
| 434 | display it in the text area, a value of `left-margin' means | 434 | display it in the text area, a value of `left-margin' means |
| 435 | display it in the left marginal area, a value of `right-margin' | 435 | display it in the left marginal area, a value of `right-margin' |
| @@ -467,8 +467,8 @@ height of the image; integer values are taken as pixel values." | |||
| 467 | (defun insert-sliced-image (image &optional string area rows cols) | 467 | (defun insert-sliced-image (image &optional string area rows cols) |
| 468 | "Insert IMAGE into current buffer at point. | 468 | "Insert IMAGE into current buffer at point. |
| 469 | IMAGE is displayed by inserting STRING into the current buffer | 469 | IMAGE is displayed by inserting STRING into the current buffer |
| 470 | with a `display' property whose value is the image. STRING is | 470 | with a `display' property whose value is the image. The default |
| 471 | defaulted if you omit it. | 471 | STRING is a single space. |
| 472 | AREA is where to display the image. AREA nil or omitted means | 472 | AREA is where to display the image. AREA nil or omitted means |
| 473 | display it in the text area, a value of `left-margin' means | 473 | display it in the text area, a value of `left-margin' means |
| 474 | display it in the left marginal area, a value of `right-margin' | 474 | display it in the left marginal area, a value of `right-margin' |
diff --git a/lisp/info.el b/lisp/info.el index 36ffa806f04..4c7bb981afc 100644 --- a/lisp/info.el +++ b/lisp/info.el | |||
| @@ -1668,7 +1668,9 @@ escaped (\\\",\\\\)." | |||
| 1668 | " (" | 1668 | " (" |
| 1669 | (if (stringp Info-current-file) | 1669 | (if (stringp Info-current-file) |
| 1670 | (replace-regexp-in-string | 1670 | (replace-regexp-in-string |
| 1671 | "%" "%%" (file-name-nondirectory Info-current-file)) | 1671 | "%" "%%" |
| 1672 | (file-name-sans-extension | ||
| 1673 | (file-name-nondirectory Info-current-file))) | ||
| 1672 | (format "*%S*" Info-current-file)) | 1674 | (format "*%S*" Info-current-file)) |
| 1673 | ") " | 1675 | ") " |
| 1674 | (if Info-current-node | 1676 | (if Info-current-node |
| @@ -4032,7 +4034,9 @@ With a zero prefix arg, put the name inside a function call to `info'." | |||
| 4032 | (unless Info-current-node | 4034 | (unless Info-current-node |
| 4033 | (user-error "No current Info node")) | 4035 | (user-error "No current Info node")) |
| 4034 | (let ((node (if (stringp Info-current-file) | 4036 | (let ((node (if (stringp Info-current-file) |
| 4035 | (concat "(" (file-name-nondirectory Info-current-file) ") " | 4037 | (concat "(" (file-name-sans-extension |
| 4038 | (file-name-nondirectory Info-current-file)) | ||
| 4039 | ") " | ||
| 4036 | Info-current-node)))) | 4040 | Info-current-node)))) |
| 4037 | (if (zerop (prefix-numeric-value arg)) | 4041 | (if (zerop (prefix-numeric-value arg)) |
| 4038 | (setq node (concat "(info \"" node "\")"))) | 4042 | (setq node (concat "(info \"" node "\")"))) |
| @@ -4419,7 +4423,8 @@ first line or header line, and for breadcrumb links.") | |||
| 4419 | (if (not (equal node "Top")) node | 4423 | (if (not (equal node "Top")) node |
| 4420 | (format "(%s)Top" | 4424 | (format "(%s)Top" |
| 4421 | (if (stringp Info-current-file) | 4425 | (if (stringp Info-current-file) |
| 4422 | (file-name-nondirectory Info-current-file) | 4426 | (file-name-sans-extension |
| 4427 | (file-name-nondirectory Info-current-file)) | ||
| 4423 | ;; Some legacy code can still use a symbol. | 4428 | ;; Some legacy code can still use a symbol. |
| 4424 | Info-current-file))))) | 4429 | Info-current-file))))) |
| 4425 | (setq line (concat | 4430 | (setq line (concat |
| @@ -4531,7 +4536,8 @@ first line or header line, and for breadcrumb links.") | |||
| 4531 | (if (re-search-forward | 4536 | (if (re-search-forward |
| 4532 | (format "File: %s\\([^,\n\t]+\\)," | 4537 | (format "File: %s\\([^,\n\t]+\\)," |
| 4533 | (if (stringp Info-current-file) | 4538 | (if (stringp Info-current-file) |
| 4534 | (file-name-nondirectory Info-current-file) | 4539 | (file-name-sans-extension |
| 4540 | (file-name-nondirectory Info-current-file)) | ||
| 4535 | Info-current-file)) | 4541 | Info-current-file)) |
| 4536 | header-end t) | 4542 | header-end t) |
| 4537 | (put-text-property (match-beginning 1) (match-end 1) | 4543 | (put-text-property (match-beginning 1) (match-end 1) |
| @@ -4826,8 +4832,8 @@ first line or header line, and for breadcrumb links.") | |||
| 4826 | ;; Hide empty lines at the end of the node. | 4832 | ;; Hide empty lines at the end of the node. |
| 4827 | (goto-char (point-max)) | 4833 | (goto-char (point-max)) |
| 4828 | (skip-chars-backward "\n") | 4834 | (skip-chars-backward "\n") |
| 4829 | (when (< (1+ (point)) (point-max)) | 4835 | (when (< (point) (1- (point-max))) |
| 4830 | (put-text-property (1+ (point)) (point-max) 'invisible t)) | 4836 | (put-text-property (point) (1- (point-max)) 'invisible t)) |
| 4831 | 4837 | ||
| 4832 | (set-buffer-modified-p nil)))) | 4838 | (set-buffer-modified-p nil)))) |
| 4833 | 4839 | ||
| @@ -4836,6 +4842,17 @@ first line or header line, and for breadcrumb links.") | |||
| 4836 | ;; current Info node. | 4842 | ;; current Info node. |
| 4837 | (eval-when-compile (require 'speedbar)) | 4843 | (eval-when-compile (require 'speedbar)) |
| 4838 | 4844 | ||
| 4845 | (declare-function speedbar-add-expansion-list "speedbar" (new-list)) | ||
| 4846 | (declare-function speedbar-center-buffer-smartly "speedbar" ()) | ||
| 4847 | (declare-function speedbar-change-expand-button-char "speedbar" (char)) | ||
| 4848 | (declare-function speedbar-change-initial-expansion-list "speedbar" (new-default)) | ||
| 4849 | (declare-function speedbar-delete-subblock "speedbar" (indent)) | ||
| 4850 | (declare-function speedbar-make-specialized-keymap "speedbar" ()) | ||
| 4851 | (declare-function speedbar-make-tag-line "speedbar" | ||
| 4852 | (exp-button-type exp-button-char exp-button-function | ||
| 4853 | exp-button-data tag-button tag-button-function | ||
| 4854 | tag-button-data tag-button-face depth)) | ||
| 4855 | |||
| 4839 | (defvar Info-speedbar-key-map nil | 4856 | (defvar Info-speedbar-key-map nil |
| 4840 | "Keymap used when in the Info display mode.") | 4857 | "Keymap used when in the Info display mode.") |
| 4841 | 4858 | ||
| @@ -5058,7 +5075,8 @@ BUFFER is the buffer speedbar is requesting buttons for." | |||
| 5058 | "This implements the `bookmark-make-record-function' type (which see) | 5075 | "This implements the `bookmark-make-record-function' type (which see) |
| 5059 | for Info nodes." | 5076 | for Info nodes." |
| 5060 | (let* ((file (and (stringp Info-current-file) | 5077 | (let* ((file (and (stringp Info-current-file) |
| 5061 | (file-name-nondirectory Info-current-file))) | 5078 | (file-name-sans-extension |
| 5079 | (file-name-nondirectory Info-current-file)))) | ||
| 5062 | (bookmark-name (if file | 5080 | (bookmark-name (if file |
| 5063 | (concat "(" file ") " Info-current-node) | 5081 | (concat "(" file ") " Info-current-node) |
| 5064 | Info-current-node)) | 5082 | Info-current-node)) |
| @@ -5086,8 +5104,16 @@ type returned by `Info-bookmark-make-record', which see." | |||
| 5086 | 5104 | ||
| 5087 | ;;;###autoload | 5105 | ;;;###autoload |
| 5088 | (defun info-display-manual (manual) | 5106 | (defun info-display-manual (manual) |
| 5089 | "Go to Info buffer that displays MANUAL, creating it if none already exists." | 5107 | "Display an Info buffer displaying MANUAL. |
| 5090 | (interactive "sManual name: ") | 5108 | If there is an existing Info buffer for MANUAL, display it. |
| 5109 | Otherwise, visit the manual in a new Info buffer." | ||
| 5110 | (interactive | ||
| 5111 | (list | ||
| 5112 | (progn | ||
| 5113 | (info-initialize) | ||
| 5114 | (completing-read "Manual name: " | ||
| 5115 | (info--manual-names) | ||
| 5116 | nil t)))) | ||
| 5091 | (let ((blist (buffer-list)) | 5117 | (let ((blist (buffer-list)) |
| 5092 | (manual-re (concat "\\(/\\|\\`\\)" manual "\\(\\.\\|\\'\\)")) | 5118 | (manual-re (concat "\\(/\\|\\`\\)" manual "\\(\\.\\|\\'\\)")) |
| 5093 | (case-fold-search t) | 5119 | (case-fold-search t) |
| @@ -5102,7 +5128,22 @@ type returned by `Info-bookmark-make-record', which see." | |||
| 5102 | (if found | 5128 | (if found |
| 5103 | (switch-to-buffer found) | 5129 | (switch-to-buffer found) |
| 5104 | (info-initialize) | 5130 | (info-initialize) |
| 5105 | (info (Info-find-file manual))))) | 5131 | (info (Info-find-file manual) |
| 5132 | (generate-new-buffer-name "*info*"))))) | ||
| 5133 | |||
| 5134 | (defun info--manual-names () | ||
| 5135 | (let (names) | ||
| 5136 | (dolist (buffer (buffer-list)) | ||
| 5137 | (with-current-buffer buffer | ||
| 5138 | (and (eq major-mode 'Info-mode) | ||
| 5139 | (stringp Info-current-file) | ||
| 5140 | (push (file-name-sans-extension | ||
| 5141 | (file-name-nondirectory Info-current-file)) | ||
| 5142 | names)))) | ||
| 5143 | (delete-dups (append (nreverse names) | ||
| 5144 | (apply-partially 'Info-read-node-name-2 | ||
| 5145 | Info-directory-list | ||
| 5146 | (mapcar 'car Info-suffix-list)))))) | ||
| 5106 | 5147 | ||
| 5107 | (provide 'info) | 5148 | (provide 'info) |
| 5108 | 5149 | ||
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el index e4743ada045..75d1bbbad6b 100644 --- a/lisp/jka-cmpr-hook.el +++ b/lisp/jka-cmpr-hook.el | |||
| @@ -109,6 +109,7 @@ Otherwise, it is nil.") | |||
| 109 | "Return information about the compression scheme of FILENAME. | 109 | "Return information about the compression scheme of FILENAME. |
| 110 | The determination as to which compression scheme, if any, to use is | 110 | The determination as to which compression scheme, if any, to use is |
| 111 | based on the filename itself and `jka-compr-compression-info-list'." | 111 | based on the filename itself and `jka-compr-compression-info-list'." |
| 112 | (setq filename (file-name-sans-versions filename)) | ||
| 112 | (catch 'compression-info | 113 | (catch 'compression-info |
| 113 | (let ((case-fold-search nil)) | 114 | (let ((case-fold-search nil)) |
| 114 | (dolist (x jka-compr-compression-info-list) | 115 | (dolist (x jka-compr-compression-info-list) |
| @@ -191,19 +192,6 @@ options through Custom does this automatically." | |||
| 191 | 192 | ||
| 192 | ;; I have this defined so that .Z files are assumed to be in unix | 193 | ;; I have this defined so that .Z files are assumed to be in unix |
| 193 | ;; compress format; and .gz files, in gzip format, and .bz2 files in bzip fmt. | 194 | ;; compress format; and .gz files, in gzip format, and .bz2 files in bzip fmt. |
| 194 | |||
| 195 | ;; FIXME? It seems ugly that one has to add "\\(~\\|\\.~[0-9]+~\\)?" to | ||
| 196 | ;; all the regexps here, in order to match backup files etc. | ||
| 197 | ;; It's trivial to modify jka-compr-get-compression-info to match | ||
| 198 | ;; regexps against file-name-sans-versions, but this regexp is also | ||
| 199 | ;; used to build a file-name-handler-alist entry. | ||
| 200 | ;; find-file-name-handler does not use file-name-sans-versions. | ||
| 201 | ;; Perhaps it should, | ||
| 202 | ;; http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg00812.html, | ||
| 203 | ;; but it's used all over the place and there are probably other ramifications. | ||
| 204 | ;; One could modify jka-compr-build-file-regexp to add the backup regexp, | ||
| 205 | ;; but jka-compr-compression-info-list is a defcustom to which | ||
| 206 | ;; anything could be added, so it's easiest to leave things as they are. | ||
| 207 | (defcustom jka-compr-compression-info-list | 195 | (defcustom jka-compr-compression-info-list |
| 208 | ;;[regexp | 196 | ;;[regexp |
| 209 | ;; compr-message compr-prog compr-args | 197 | ;; compr-message compr-prog compr-args |
| @@ -310,6 +298,7 @@ variables. Setting this through Custom does that automatically." | |||
| 310 | (boolean :tag "Strip Extension") | 298 | (boolean :tag "Strip Extension") |
| 311 | (string :tag "Magic Bytes"))) | 299 | (string :tag "Magic Bytes"))) |
| 312 | :set 'jka-compr-set | 300 | :set 'jka-compr-set |
| 301 | :version "24.1" ; removed version extension piece | ||
| 313 | :group 'jka-compr) | 302 | :group 'jka-compr) |
| 314 | 303 | ||
| 315 | (defcustom jka-compr-mode-alist-additions | 304 | (defcustom jka-compr-mode-alist-additions |
diff --git a/lisp/json.el b/lisp/json.el index 8167bfe93f2..b1ea03120dc 100644 --- a/lisp/json.el +++ b/lisp/json.el | |||
| @@ -51,7 +51,6 @@ | |||
| 51 | 51 | ||
| 52 | ;;; Code: | 52 | ;;; Code: |
| 53 | 53 | ||
| 54 | (eval-when-compile (require 'cl)) | ||
| 55 | 54 | ||
| 56 | ;; Compatibility code | 55 | ;; Compatibility code |
| 57 | 56 | ||
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index 876402f6fff..095a7229c60 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | ;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best | 6 | ;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best |
| 7 | ;;;;;; 5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5" | 7 | ;;;;;; 5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5" |
| 8 | ;;;;;; "play/5x5.el" (20545 57511 257469 0)) | 8 | ;;;;;; "play/5x5.el" (20545 60086 510404 0)) |
| 9 | ;;; Generated autoloads from play/5x5.el | 9 | ;;; Generated autoloads from play/5x5.el |
| 10 | 10 | ||
| 11 | (autoload '5x5 "5x5" "\ | 11 | (autoload '5x5 "5x5" "\ |
| @@ -68,7 +68,7 @@ should return a grid vector array that is the new solution. | |||
| 68 | ;;;*** | 68 | ;;;*** |
| 69 | 69 | ||
| 70 | ;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el" | 70 | ;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el" |
| 71 | ;;;;;; (20576 42138 697312 0)) | 71 | ;;;;;; (20576 17415 279992 225000)) |
| 72 | ;;; Generated autoloads from progmodes/ada-mode.el | 72 | ;;; Generated autoloads from progmodes/ada-mode.el |
| 73 | 73 | ||
| 74 | (autoload 'ada-add-extensions "ada-mode" "\ | 74 | (autoload 'ada-add-extensions "ada-mode" "\ |
| @@ -88,7 +88,7 @@ Ada mode is the major mode for editing Ada code. | |||
| 88 | ;;;*** | 88 | ;;;*** |
| 89 | 89 | ||
| 90 | ;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el" | 90 | ;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el" |
| 91 | ;;;;;; (20355 10021 546955 0)) | 91 | ;;;;;; (20533 50312 678915 0)) |
| 92 | ;;; Generated autoloads from progmodes/ada-stmt.el | 92 | ;;; Generated autoloads from progmodes/ada-stmt.el |
| 93 | 93 | ||
| 94 | (autoload 'ada-header "ada-stmt" "\ | 94 | (autoload 'ada-header "ada-stmt" "\ |
| @@ -99,7 +99,7 @@ Insert a descriptive header at the top of the file. | |||
| 99 | ;;;*** | 99 | ;;;*** |
| 100 | 100 | ||
| 101 | ;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el" | 101 | ;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el" |
| 102 | ;;;;;; (20458 56750 651721 0)) | 102 | ;;;;;; (20533 50312 678915 0)) |
| 103 | ;;; Generated autoloads from progmodes/ada-xref.el | 103 | ;;; Generated autoloads from progmodes/ada-xref.el |
| 104 | 104 | ||
| 105 | (autoload 'ada-find-file "ada-xref" "\ | 105 | (autoload 'ada-find-file "ada-xref" "\ |
| @@ -114,15 +114,16 @@ Completion is available. | |||
| 114 | ;;;;;; add-change-log-entry-other-window add-change-log-entry find-change-log | 114 | ;;;;;; add-change-log-entry-other-window add-change-log-entry find-change-log |
| 115 | ;;;;;; prompt-for-change-log-name add-log-mailing-address add-log-full-name | 115 | ;;;;;; prompt-for-change-log-name add-log-mailing-address add-log-full-name |
| 116 | ;;;;;; add-log-current-defun-function) "add-log" "vc/add-log.el" | 116 | ;;;;;; add-log-current-defun-function) "add-log" "vc/add-log.el" |
| 117 | ;;;;;; (20586 48936 135199 0)) | 117 | ;;;;;; (20665 35316 344720 209000)) |
| 118 | ;;; Generated autoloads from vc/add-log.el | 118 | ;;; Generated autoloads from vc/add-log.el |
| 119 | 119 | ||
| 120 | (put 'change-log-default-name 'safe-local-variable 'string-or-null-p) | 120 | (put 'change-log-default-name 'safe-local-variable 'string-or-null-p) |
| 121 | 121 | ||
| 122 | (defvar add-log-current-defun-function nil "\ | 122 | (defvar add-log-current-defun-function nil "\ |
| 123 | If non-nil, function to guess name of surrounding function. | 123 | If non-nil, function to guess name of surrounding function. |
| 124 | It is used by `add-log-current-defun' in preference to built-in rules. | 124 | It is called by `add-log-current-defun' with no argument, and |
| 125 | Returns function's name as a string, or nil if outside a function.") | 125 | should return the function's name as a string, or nil if point is |
| 126 | outside a function.") | ||
| 126 | 127 | ||
| 127 | (custom-autoload 'add-log-current-defun-function "add-log" t) | 128 | (custom-autoload 'add-log-current-defun-function "add-log" t) |
| 128 | 129 | ||
| @@ -213,15 +214,6 @@ Runs `change-log-mode-hook'. | |||
| 213 | 214 | ||
| 214 | \(fn)" t nil) | 215 | \(fn)" t nil) |
| 215 | 216 | ||
| 216 | (defvar add-log-lisp-like-modes '(emacs-lisp-mode lisp-mode scheme-mode dsssl-mode lisp-interaction-mode) "\ | ||
| 217 | Modes that look like Lisp to `add-log-current-defun'.") | ||
| 218 | |||
| 219 | (defvar add-log-c-like-modes '(c-mode c++-mode c++-c-mode objc-mode) "\ | ||
| 220 | Modes that look like C to `add-log-current-defun'.") | ||
| 221 | |||
| 222 | (defvar add-log-tex-like-modes '(TeX-mode plain-TeX-mode LaTeX-mode tex-mode) "\ | ||
| 223 | Modes that look like TeX to `add-log-current-defun'.") | ||
| 224 | |||
| 225 | (autoload 'add-log-current-defun "add-log" "\ | 217 | (autoload 'add-log-current-defun "add-log" "\ |
| 226 | Return name of function definition point is in, or nil. | 218 | Return name of function definition point is in, or nil. |
| 227 | 219 | ||
| @@ -253,7 +245,7 @@ old-style time formats for entries are supported. | |||
| 253 | 245 | ||
| 254 | ;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice | 246 | ;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice |
| 255 | ;;;;;; ad-enable-advice ad-default-compilation-action ad-redefinition-action) | 247 | ;;;;;; ad-enable-advice ad-default-compilation-action ad-redefinition-action) |
| 256 | ;;;;;; "advice" "emacs-lisp/advice.el" (20618 55210 422086 0)) | 248 | ;;;;;; "advice" "emacs-lisp/advice.el" (20660 26176 137583 0)) |
| 257 | ;;; Generated autoloads from emacs-lisp/advice.el | 249 | ;;; Generated autoloads from emacs-lisp/advice.el |
| 258 | 250 | ||
| 259 | (defvar ad-redefinition-action 'warn "\ | 251 | (defvar ad-redefinition-action 'warn "\ |
| @@ -352,7 +344,7 @@ POSITION ::= `first' | `last' | NUMBER. Optional, defaults to `first', | |||
| 352 | ARGLIST ::= An optional argument list to be used for the advised function | 344 | ARGLIST ::= An optional argument list to be used for the advised function |
| 353 | instead of the argument list of the original. The first one found in | 345 | instead of the argument list of the original. The first one found in |
| 354 | before/around/after-advices will be used. | 346 | before/around/after-advices will be used. |
| 355 | FLAG ::= `protect'|`disable'|`activate'|`compile'|`preactivate'|`freeze'. | 347 | FLAG ::= `protect'|`disable'|`activate'|`compile'|`preactivate'. |
| 356 | All flags can be specified with unambiguous initial substrings. | 348 | All flags can be specified with unambiguous initial substrings. |
| 357 | DOCSTRING ::= Optional documentation for this piece of advice. | 349 | DOCSTRING ::= Optional documentation for this piece of advice. |
| 358 | INTERACTIVE-FORM ::= Optional interactive form to be used for the advised | 350 | INTERACTIVE-FORM ::= Optional interactive form to be used for the advised |
| @@ -378,13 +370,6 @@ time. This generates a compiled advised definition according to the current | |||
| 378 | advice state that will be used during activation if appropriate. Only use | 370 | advice state that will be used during activation if appropriate. Only use |
| 379 | this if the `defadvice' gets actually compiled. | 371 | this if the `defadvice' gets actually compiled. |
| 380 | 372 | ||
| 381 | `freeze': Expands the `defadvice' into a redefining `defun/defmacro' according | ||
| 382 | to this particular single advice. No other advice information will be saved. | ||
| 383 | Frozen advices cannot be undone, they behave like a hard redefinition of | ||
| 384 | the advised function. `freeze' implies `activate' and `preactivate'. The | ||
| 385 | documentation of the advised function can be dumped onto the `DOC' file | ||
| 386 | during preloading. | ||
| 387 | |||
| 388 | See Info node `(elisp)Advising Functions' for comprehensive documentation. | 373 | See Info node `(elisp)Advising Functions' for comprehensive documentation. |
| 389 | usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) | 374 | usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) |
| 390 | [DOCSTRING] [INTERACTIVE-FORM] | 375 | [DOCSTRING] [INTERACTIVE-FORM] |
| @@ -398,7 +383,7 @@ usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) | |||
| 398 | 383 | ||
| 399 | ;;;### (autoloads (align-newline-and-indent align-unhighlight-rule | 384 | ;;;### (autoloads (align-newline-and-indent align-unhighlight-rule |
| 400 | ;;;;;; align-highlight-rule align-current align-entire align-regexp | 385 | ;;;;;; align-highlight-rule align-current align-entire align-regexp |
| 401 | ;;;;;; align) "align" "align.el" (20566 63671 243798 0)) | 386 | ;;;;;; align) "align" "align.el" (20566 45971 994610 911000)) |
| 402 | ;;; Generated autoloads from align.el | 387 | ;;; Generated autoloads from align.el |
| 403 | 388 | ||
| 404 | (autoload 'align "align" "\ | 389 | (autoload 'align "align" "\ |
| @@ -489,7 +474,7 @@ A replacement function for `newline-and-indent', aligning as it goes. | |||
| 489 | 474 | ||
| 490 | ;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation | 475 | ;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation |
| 491 | ;;;;;; allout-setup allout-auto-activation-helper) "allout" "allout.el" | 476 | ;;;;;; allout-setup allout-auto-activation-helper) "allout" "allout.el" |
| 492 | ;;;;;; (20577 33959 40183 0)) | 477 | ;;;;;; (20652 52617 313760 0)) |
| 493 | ;;; Generated autoloads from allout.el | 478 | ;;; Generated autoloads from allout.el |
| 494 | 479 | ||
| 495 | (autoload 'allout-auto-activation-helper "allout" "\ | 480 | (autoload 'allout-auto-activation-helper "allout" "\ |
| @@ -850,7 +835,7 @@ for details on preparing Emacs for automatic allout activation. | |||
| 850 | 835 | ||
| 851 | ;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation | 836 | ;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation |
| 852 | ;;;;;; allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el" | 837 | ;;;;;; allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el" |
| 853 | ;;;;;; (20545 57511 257469 0)) | 838 | ;;;;;; (20545 60086 510404 0)) |
| 854 | ;;; Generated autoloads from allout-widgets.el | 839 | ;;; Generated autoloads from allout-widgets.el |
| 855 | 840 | ||
| 856 | (let ((loads (get 'allout-widgets 'custom-loads))) (if (member '"allout-widgets" loads) nil (put 'allout-widgets 'custom-loads (cons '"allout-widgets" loads)))) | 841 | (let ((loads (get 'allout-widgets 'custom-loads))) (if (member '"allout-widgets" loads) nil (put 'allout-widgets 'custom-loads (cons '"allout-widgets" loads)))) |
| @@ -910,7 +895,7 @@ outline hot-spot navigation (see `allout-mode'). | |||
| 910 | ;;;*** | 895 | ;;;*** |
| 911 | 896 | ||
| 912 | ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp" | 897 | ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp" |
| 913 | ;;;;;; "net/ange-ftp.el" (20566 63671 243798 0)) | 898 | ;;;;;; "net/ange-ftp.el" (20566 46265 242622 534000)) |
| 914 | ;;; Generated autoloads from net/ange-ftp.el | 899 | ;;; Generated autoloads from net/ange-ftp.el |
| 915 | 900 | ||
| 916 | (defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir) | 901 | (defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir) |
| @@ -932,7 +917,7 @@ directory, so that Emacs will know its current contents. | |||
| 932 | ;;;*** | 917 | ;;;*** |
| 933 | 918 | ||
| 934 | ;;;### (autoloads (animate-birthday-present animate-sequence animate-string) | 919 | ;;;### (autoloads (animate-birthday-present animate-sequence animate-string) |
| 935 | ;;;;;; "animate" "play/animate.el" (20545 57511 257469 0)) | 920 | ;;;;;; "animate" "play/animate.el" (20545 60086 510404 0)) |
| 936 | ;;; Generated autoloads from play/animate.el | 921 | ;;; Generated autoloads from play/animate.el |
| 937 | 922 | ||
| 938 | (autoload 'animate-string "animate" "\ | 923 | (autoload 'animate-string "animate" "\ |
| @@ -965,7 +950,7 @@ the buffer *Birthday-Present-for-Name*. | |||
| 965 | ;;;*** | 950 | ;;;*** |
| 966 | 951 | ||
| 967 | ;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on) | 952 | ;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on) |
| 968 | ;;;;;; "ansi-color" "ansi-color.el" (20577 33959 40183 0)) | 953 | ;;;;;; "ansi-color" "ansi-color.el" (20647 7982 429263 0)) |
| 969 | ;;; Generated autoloads from ansi-color.el | 954 | ;;; Generated autoloads from ansi-color.el |
| 970 | 955 | ||
| 971 | (autoload 'ansi-color-for-comint-mode-on "ansi-color" "\ | 956 | (autoload 'ansi-color-for-comint-mode-on "ansi-color" "\ |
| @@ -991,8 +976,8 @@ This is a good function to put in `comint-output-filter-functions'. | |||
| 991 | ;;;*** | 976 | ;;;*** |
| 992 | 977 | ||
| 993 | ;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules) | 978 | ;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules) |
| 994 | ;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (20566 63671 243798 | 979 | ;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (20566 46627 290641 |
| 995 | ;;;;;; 0)) | 980 | ;;;;;; 925000)) |
| 996 | ;;; Generated autoloads from progmodes/antlr-mode.el | 981 | ;;; Generated autoloads from progmodes/antlr-mode.el |
| 997 | 982 | ||
| 998 | (autoload 'antlr-show-makefile-rules "antlr-mode" "\ | 983 | (autoload 'antlr-show-makefile-rules "antlr-mode" "\ |
| @@ -1028,7 +1013,7 @@ Used in `antlr-mode'. Also a useful function in `java-mode-hook'. | |||
| 1028 | ;;;*** | 1013 | ;;;*** |
| 1029 | 1014 | ||
| 1030 | ;;;### (autoloads (appt-activate appt-add) "appt" "calendar/appt.el" | 1015 | ;;;### (autoloads (appt-activate appt-add) "appt" "calendar/appt.el" |
| 1031 | ;;;;;; (20355 10021 546955 0)) | 1016 | ;;;;;; (20533 50312 678915 0)) |
| 1032 | ;;; Generated autoloads from calendar/appt.el | 1017 | ;;; Generated autoloads from calendar/appt.el |
| 1033 | 1018 | ||
| 1034 | (autoload 'appt-add "appt" "\ | 1019 | (autoload 'appt-add "appt" "\ |
| @@ -1051,8 +1036,8 @@ ARG is positive, otherwise off. | |||
| 1051 | 1036 | ||
| 1052 | ;;;### (autoloads (apropos-documentation apropos-value apropos-library | 1037 | ;;;### (autoloads (apropos-documentation apropos-value apropos-library |
| 1053 | ;;;;;; apropos apropos-documentation-property apropos-command apropos-variable | 1038 | ;;;;;; apropos apropos-documentation-property apropos-command apropos-variable |
| 1054 | ;;;;;; apropos-read-pattern) "apropos" "apropos.el" (20523 62082 | 1039 | ;;;;;; apropos-read-pattern) "apropos" "apropos.el" (20533 50312 |
| 1055 | ;;;;;; 997685 0)) | 1040 | ;;;;;; 678915 0)) |
| 1056 | ;;; Generated autoloads from apropos.el | 1041 | ;;; Generated autoloads from apropos.el |
| 1057 | 1042 | ||
| 1058 | (autoload 'apropos-read-pattern "apropos" "\ | 1043 | (autoload 'apropos-read-pattern "apropos" "\ |
| @@ -1160,8 +1145,8 @@ Returns list of symbols and documentation found. | |||
| 1160 | 1145 | ||
| 1161 | ;;;*** | 1146 | ;;;*** |
| 1162 | 1147 | ||
| 1163 | ;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20614 | 1148 | ;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20647 |
| 1164 | ;;;;;; 54428 654267 0)) | 1149 | ;;;;;; 7982 429263 0)) |
| 1165 | ;;; Generated autoloads from arc-mode.el | 1150 | ;;; Generated autoloads from arc-mode.el |
| 1166 | 1151 | ||
| 1167 | (autoload 'archive-mode "arc-mode" "\ | 1152 | (autoload 'archive-mode "arc-mode" "\ |
| @@ -1181,7 +1166,7 @@ archive. | |||
| 1181 | 1166 | ||
| 1182 | ;;;*** | 1167 | ;;;*** |
| 1183 | 1168 | ||
| 1184 | ;;;### (autoloads (array-mode) "array" "array.el" (20355 10021 546955 | 1169 | ;;;### (autoloads (array-mode) "array" "array.el" (20533 50312 678915 |
| 1185 | ;;;;;; 0)) | 1170 | ;;;;;; 0)) |
| 1186 | ;;; Generated autoloads from array.el | 1171 | ;;; Generated autoloads from array.el |
| 1187 | 1172 | ||
| @@ -1253,8 +1238,8 @@ Entering array mode calls the function `array-mode-hook'. | |||
| 1253 | 1238 | ||
| 1254 | ;;;*** | 1239 | ;;;*** |
| 1255 | 1240 | ||
| 1256 | ;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (20513 | 1241 | ;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (20533 |
| 1257 | ;;;;;; 18948 537867 0)) | 1242 | ;;;;;; 50312 678915 0)) |
| 1258 | ;;; Generated autoloads from textmodes/artist.el | 1243 | ;;; Generated autoloads from textmodes/artist.el |
| 1259 | 1244 | ||
| 1260 | (autoload 'artist-mode "artist" "\ | 1245 | (autoload 'artist-mode "artist" "\ |
| @@ -1459,8 +1444,8 @@ Keymap summary | |||
| 1459 | 1444 | ||
| 1460 | ;;;*** | 1445 | ;;;*** |
| 1461 | 1446 | ||
| 1462 | ;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (20355 | 1447 | ;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (20533 |
| 1463 | ;;;;;; 10021 546955 0)) | 1448 | ;;;;;; 50312 678915 0)) |
| 1464 | ;;; Generated autoloads from progmodes/asm-mode.el | 1449 | ;;; Generated autoloads from progmodes/asm-mode.el |
| 1465 | 1450 | ||
| 1466 | (autoload 'asm-mode "asm-mode" "\ | 1451 | (autoload 'asm-mode "asm-mode" "\ |
| @@ -1488,7 +1473,7 @@ Special commands: | |||
| 1488 | ;;;*** | 1473 | ;;;*** |
| 1489 | 1474 | ||
| 1490 | ;;;### (autoloads (auth-source-cache-expiry) "auth-source" "gnus/auth-source.el" | 1475 | ;;;### (autoloads (auth-source-cache-expiry) "auth-source" "gnus/auth-source.el" |
| 1491 | ;;;;;; (20544 36659 880486 0)) | 1476 | ;;;;;; (20545 60086 510404 0)) |
| 1492 | ;;; Generated autoloads from gnus/auth-source.el | 1477 | ;;; Generated autoloads from gnus/auth-source.el |
| 1493 | 1478 | ||
| 1494 | (defvar auth-source-cache-expiry 7200 "\ | 1479 | (defvar auth-source-cache-expiry 7200 "\ |
| @@ -1501,7 +1486,7 @@ let-binding.") | |||
| 1501 | ;;;*** | 1486 | ;;;*** |
| 1502 | 1487 | ||
| 1503 | ;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el" | 1488 | ;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el" |
| 1504 | ;;;;;; (20355 10021 546955 0)) | 1489 | ;;;;;; (20533 50312 678915 0)) |
| 1505 | ;;; Generated autoloads from autoarg.el | 1490 | ;;; Generated autoloads from autoarg.el |
| 1506 | 1491 | ||
| 1507 | (defvar autoarg-mode nil "\ | 1492 | (defvar autoarg-mode nil "\ |
| @@ -1562,7 +1547,7 @@ This is similar to `autoarg-mode' but rebinds the keypad keys | |||
| 1562 | ;;;*** | 1547 | ;;;*** |
| 1563 | 1548 | ||
| 1564 | ;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el" | 1549 | ;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el" |
| 1565 | ;;;;;; (20513 18948 537867 0)) | 1550 | ;;;;;; (20665 31909 588757 472000)) |
| 1566 | ;;; Generated autoloads from progmodes/autoconf.el | 1551 | ;;; Generated autoloads from progmodes/autoconf.el |
| 1567 | 1552 | ||
| 1568 | (autoload 'autoconf-mode "autoconf" "\ | 1553 | (autoload 'autoconf-mode "autoconf" "\ |
| @@ -1573,7 +1558,7 @@ Major mode for editing Autoconf configure.ac files. | |||
| 1573 | ;;;*** | 1558 | ;;;*** |
| 1574 | 1559 | ||
| 1575 | ;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert) | 1560 | ;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert) |
| 1576 | ;;;;;; "autoinsert" "autoinsert.el" (20566 63671 243798 0)) | 1561 | ;;;;;; "autoinsert" "autoinsert.el" (20566 45969 322610 468000)) |
| 1577 | ;;; Generated autoloads from autoinsert.el | 1562 | ;;; Generated autoloads from autoinsert.el |
| 1578 | 1563 | ||
| 1579 | (autoload 'auto-insert "autoinsert" "\ | 1564 | (autoload 'auto-insert "autoinsert" "\ |
| @@ -1613,7 +1598,7 @@ insert a template for the file depending on the mode of the buffer. | |||
| 1613 | 1598 | ||
| 1614 | ;;;### (autoloads (batch-update-autoloads update-directory-autoloads | 1599 | ;;;### (autoloads (batch-update-autoloads update-directory-autoloads |
| 1615 | ;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el" | 1600 | ;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el" |
| 1616 | ;;;;;; (20594 43050 277913 0)) | 1601 | ;;;;;; (20594 14884 858174 0)) |
| 1617 | ;;; Generated autoloads from emacs-lisp/autoload.el | 1602 | ;;; Generated autoloads from emacs-lisp/autoload.el |
| 1618 | 1603 | ||
| 1619 | (put 'generated-autoload-file 'safe-local-variable 'stringp) | 1604 | (put 'generated-autoload-file 'safe-local-variable 'stringp) |
| @@ -1664,7 +1649,7 @@ should be non-nil). | |||
| 1664 | 1649 | ||
| 1665 | ;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode | 1650 | ;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode |
| 1666 | ;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode) | 1651 | ;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode) |
| 1667 | ;;;;;; "autorevert" "autorevert.el" (20476 31768 298871 0)) | 1652 | ;;;;;; "autorevert" "autorevert.el" (20629 14541 236054 412000)) |
| 1668 | ;;; Generated autoloads from autorevert.el | 1653 | ;;; Generated autoloads from autorevert.el |
| 1669 | 1654 | ||
| 1670 | (autoload 'auto-revert-mode "autorevert" "\ | 1655 | (autoload 'auto-revert-mode "autorevert" "\ |
| @@ -1753,7 +1738,7 @@ specifies in the mode line. | |||
| 1753 | ;;;*** | 1738 | ;;;*** |
| 1754 | 1739 | ||
| 1755 | ;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid" | 1740 | ;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid" |
| 1756 | ;;;;;; "avoid.el" (20593 22184 581574 0)) | 1741 | ;;;;;; "avoid.el" (20594 14884 858174 0)) |
| 1757 | ;;; Generated autoloads from avoid.el | 1742 | ;;; Generated autoloads from avoid.el |
| 1758 | 1743 | ||
| 1759 | (defvar mouse-avoidance-mode nil "\ | 1744 | (defvar mouse-avoidance-mode nil "\ |
| @@ -1794,7 +1779,7 @@ definition of \"random distance\".) | |||
| 1794 | ;;;*** | 1779 | ;;;*** |
| 1795 | 1780 | ||
| 1796 | ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el" | 1781 | ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el" |
| 1797 | ;;;;;; (20594 43050 277913 0)) | 1782 | ;;;;;; (20595 33984 147078 0)) |
| 1798 | ;;; Generated autoloads from battery.el | 1783 | ;;; Generated autoloads from battery.el |
| 1799 | (put 'battery-mode-line-string 'risky-local-variable t) | 1784 | (put 'battery-mode-line-string 'risky-local-variable t) |
| 1800 | 1785 | ||
| @@ -1830,7 +1815,7 @@ seconds. | |||
| 1830 | ;;;*** | 1815 | ;;;*** |
| 1831 | 1816 | ||
| 1832 | ;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run) | 1817 | ;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run) |
| 1833 | ;;;;;; "benchmark" "emacs-lisp/benchmark.el" (20557 48712 315579 | 1818 | ;;;;;; "benchmark" "emacs-lisp/benchmark.el" (20557 23173 326608 |
| 1834 | ;;;;;; 0)) | 1819 | ;;;;;; 0)) |
| 1835 | ;;; Generated autoloads from emacs-lisp/benchmark.el | 1820 | ;;; Generated autoloads from emacs-lisp/benchmark.el |
| 1836 | 1821 | ||
| @@ -1868,7 +1853,7 @@ For non-interactive use see also `benchmark-run' and | |||
| 1868 | ;;;*** | 1853 | ;;;*** |
| 1869 | 1854 | ||
| 1870 | ;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize) | 1855 | ;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize) |
| 1871 | ;;;;;; "bibtex" "textmodes/bibtex.el" (20576 13095 881042 0)) | 1856 | ;;;;;; "bibtex" "textmodes/bibtex.el" (20575 51581 109735 0)) |
| 1872 | ;;; Generated autoloads from textmodes/bibtex.el | 1857 | ;;; Generated autoloads from textmodes/bibtex.el |
| 1873 | 1858 | ||
| 1874 | (autoload 'bibtex-initialize "bibtex" "\ | 1859 | (autoload 'bibtex-initialize "bibtex" "\ |
| @@ -1957,7 +1942,7 @@ A prefix arg negates the value of `bibtex-search-entry-globally'. | |||
| 1957 | ;;;*** | 1942 | ;;;*** |
| 1958 | 1943 | ||
| 1959 | ;;;### (autoloads (bibtex-style-mode) "bibtex-style" "textmodes/bibtex-style.el" | 1944 | ;;;### (autoloads (bibtex-style-mode) "bibtex-style" "textmodes/bibtex-style.el" |
| 1960 | ;;;;;; (20355 10021 546955 0)) | 1945 | ;;;;;; (20533 50312 678915 0)) |
| 1961 | ;;; Generated autoloads from textmodes/bibtex-style.el | 1946 | ;;; Generated autoloads from textmodes/bibtex-style.el |
| 1962 | 1947 | ||
| 1963 | (autoload 'bibtex-style-mode "bibtex-style" "\ | 1948 | (autoload 'bibtex-style-mode "bibtex-style" "\ |
| @@ -1969,7 +1954,7 @@ Major mode for editing BibTeX style files. | |||
| 1969 | 1954 | ||
| 1970 | ;;;### (autoloads (binhex-decode-region binhex-decode-region-external | 1955 | ;;;### (autoloads (binhex-decode-region binhex-decode-region-external |
| 1971 | ;;;;;; binhex-decode-region-internal) "binhex" "mail/binhex.el" | 1956 | ;;;;;; binhex-decode-region-internal) "binhex" "mail/binhex.el" |
| 1972 | ;;;;;; (20355 10021 546955 0)) | 1957 | ;;;;;; (20533 50312 678915 0)) |
| 1973 | ;;; Generated autoloads from mail/binhex.el | 1958 | ;;; Generated autoloads from mail/binhex.el |
| 1974 | 1959 | ||
| 1975 | (defconst binhex-begin-line "^:...............................................................$" "\ | 1960 | (defconst binhex-begin-line "^:...............................................................$" "\ |
| @@ -1993,8 +1978,8 @@ Binhex decode region between START and END. | |||
| 1993 | 1978 | ||
| 1994 | ;;;*** | 1979 | ;;;*** |
| 1995 | 1980 | ||
| 1996 | ;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (20551 | 1981 | ;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (20552 |
| 1997 | ;;;;;; 9899 283417 0)) | 1982 | ;;;;;; 25066 479417 0)) |
| 1998 | ;;; Generated autoloads from play/blackbox.el | 1983 | ;;; Generated autoloads from play/blackbox.el |
| 1999 | 1984 | ||
| 2000 | (autoload 'blackbox "blackbox" "\ | 1985 | (autoload 'blackbox "blackbox" "\ |
| @@ -2117,7 +2102,7 @@ a reflection. | |||
| 2117 | ;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert | 2102 | ;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert |
| 2118 | ;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate | 2103 | ;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate |
| 2119 | ;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark" | 2104 | ;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark" |
| 2120 | ;;;;;; "bookmark.el" (20618 55210 422086 0)) | 2105 | ;;;;;; "bookmark.el" (20629 57223 201983 433000)) |
| 2121 | ;;; Generated autoloads from bookmark.el | 2106 | ;;; Generated autoloads from bookmark.el |
| 2122 | (define-key ctl-x-r-map "b" 'bookmark-jump) | 2107 | (define-key ctl-x-r-map "b" 'bookmark-jump) |
| 2123 | (define-key ctl-x-r-map "m" 'bookmark-set) | 2108 | (define-key ctl-x-r-map "m" 'bookmark-set) |
| @@ -2318,7 +2303,7 @@ Incremental search of bookmarks, hiding the non-matches as we go. | |||
| 2318 | ;;;;;; browse-url-xdg-open browse-url-at-mouse browse-url-at-point | 2303 | ;;;;;; browse-url-xdg-open browse-url-at-mouse browse-url-at-point |
| 2319 | ;;;;;; browse-url browse-url-of-region browse-url-of-dired-file | 2304 | ;;;;;; browse-url browse-url-of-region browse-url-of-dired-file |
| 2320 | ;;;;;; browse-url-of-buffer browse-url-of-file browse-url-browser-function) | 2305 | ;;;;;; browse-url-of-buffer browse-url-of-file browse-url-browser-function) |
| 2321 | ;;;;;; "browse-url" "net/browse-url.el" (20566 63671 243798 0)) | 2306 | ;;;;;; "browse-url" "net/browse-url.el" (20566 46699 734641 18000)) |
| 2322 | ;;; Generated autoloads from net/browse-url.el | 2307 | ;;; Generated autoloads from net/browse-url.el |
| 2323 | 2308 | ||
| 2324 | (defvar browse-url-browser-function 'browse-url-default-browser "\ | 2309 | (defvar browse-url-browser-function 'browse-url-default-browser "\ |
| @@ -2634,7 +2619,7 @@ from `browse-url-elinks-wrapper'. | |||
| 2634 | ;;;*** | 2619 | ;;;*** |
| 2635 | 2620 | ||
| 2636 | ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next) | 2621 | ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next) |
| 2637 | ;;;;;; "bs" "bs.el" (20576 13095 881042 0)) | 2622 | ;;;;;; "bs" "bs.el" (20574 57829 481502 235000)) |
| 2638 | ;;; Generated autoloads from bs.el | 2623 | ;;; Generated autoloads from bs.el |
| 2639 | 2624 | ||
| 2640 | (autoload 'bs-cycle-next "bs" "\ | 2625 | (autoload 'bs-cycle-next "bs" "\ |
| @@ -2674,8 +2659,8 @@ name of buffer configuration. | |||
| 2674 | 2659 | ||
| 2675 | ;;;*** | 2660 | ;;;*** |
| 2676 | 2661 | ||
| 2677 | ;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (20566 63671 | 2662 | ;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (20566 46646 |
| 2678 | ;;;;;; 243798 0)) | 2663 | ;;;;;; 562639 12000)) |
| 2679 | ;;; Generated autoloads from play/bubbles.el | 2664 | ;;; Generated autoloads from play/bubbles.el |
| 2680 | 2665 | ||
| 2681 | (autoload 'bubbles "bubbles" "\ | 2666 | (autoload 'bubbles "bubbles" "\ |
| @@ -2697,7 +2682,7 @@ columns on its right towards the left. | |||
| 2697 | ;;;*** | 2682 | ;;;*** |
| 2698 | 2683 | ||
| 2699 | ;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference" | 2684 | ;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference" |
| 2700 | ;;;;;; "progmodes/bug-reference.el" (20593 22184 581574 0)) | 2685 | ;;;;;; "progmodes/bug-reference.el" (20594 14884 858174 0)) |
| 2701 | ;;; Generated autoloads from progmodes/bug-reference.el | 2686 | ;;; Generated autoloads from progmodes/bug-reference.el |
| 2702 | 2687 | ||
| 2703 | (put 'bug-reference-url-format 'safe-local-variable (lambda (s) (or (stringp s) (and (symbolp s) (get s 'bug-reference-url-format))))) | 2688 | (put 'bug-reference-url-format 'safe-local-variable (lambda (s) (or (stringp s) (and (symbolp s) (get s 'bug-reference-url-format))))) |
| @@ -2721,7 +2706,7 @@ Like `bug-reference-mode', but only buttonize in comments and strings. | |||
| 2721 | ;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile | 2706 | ;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile |
| 2722 | ;;;;;; compile-defun byte-compile-file byte-recompile-directory | 2707 | ;;;;;; compile-defun byte-compile-file byte-recompile-directory |
| 2723 | ;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning) | 2708 | ;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning) |
| 2724 | ;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (20599 27513 576550 0)) | 2709 | ;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (20656 14460 296991 0)) |
| 2725 | ;;; Generated autoloads from emacs-lisp/bytecomp.el | 2710 | ;;; Generated autoloads from emacs-lisp/bytecomp.el |
| 2726 | (put 'byte-compile-dynamic 'safe-local-variable 'booleanp) | 2711 | (put 'byte-compile-dynamic 'safe-local-variable 'booleanp) |
| 2727 | (put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) | 2712 | (put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) |
| @@ -2841,8 +2826,8 @@ and corresponding effects. | |||
| 2841 | 2826 | ||
| 2842 | ;;;*** | 2827 | ;;;*** |
| 2843 | 2828 | ||
| 2844 | ;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (20355 | 2829 | ;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (20533 |
| 2845 | ;;;;;; 10021 546955 0)) | 2830 | ;;;;;; 50312 678915 0)) |
| 2846 | ;;; Generated autoloads from calendar/cal-china.el | 2831 | ;;; Generated autoloads from calendar/cal-china.el |
| 2847 | 2832 | ||
| 2848 | (put 'calendar-chinese-time-zone 'risky-local-variable t) | 2833 | (put 'calendar-chinese-time-zone 'risky-local-variable t) |
| @@ -2851,8 +2836,8 @@ and corresponding effects. | |||
| 2851 | 2836 | ||
| 2852 | ;;;*** | 2837 | ;;;*** |
| 2853 | 2838 | ||
| 2854 | ;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (20461 32935 | 2839 | ;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (20533 50312 |
| 2855 | ;;;;;; 300400 0)) | 2840 | ;;;;;; 678915 0)) |
| 2856 | ;;; Generated autoloads from calendar/cal-dst.el | 2841 | ;;; Generated autoloads from calendar/cal-dst.el |
| 2857 | 2842 | ||
| 2858 | (put 'calendar-daylight-savings-starts 'risky-local-variable t) | 2843 | (put 'calendar-daylight-savings-starts 'risky-local-variable t) |
| @@ -2864,7 +2849,7 @@ and corresponding effects. | |||
| 2864 | ;;;*** | 2849 | ;;;*** |
| 2865 | 2850 | ||
| 2866 | ;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el" | 2851 | ;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el" |
| 2867 | ;;;;;; (20355 10021 546955 0)) | 2852 | ;;;;;; (20533 50312 678915 0)) |
| 2868 | ;;; Generated autoloads from calendar/cal-hebrew.el | 2853 | ;;; Generated autoloads from calendar/cal-hebrew.el |
| 2869 | 2854 | ||
| 2870 | (autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\ | 2855 | (autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\ |
| @@ -2880,8 +2865,8 @@ from the cursor position. | |||
| 2880 | 2865 | ||
| 2881 | ;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle | 2866 | ;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle |
| 2882 | ;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc | 2867 | ;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc |
| 2883 | ;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (20593 | 2868 | ;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (20655 |
| 2884 | ;;;;;; 22184 581574 0)) | 2869 | ;;;;;; 4702 996292 0)) |
| 2885 | ;;; Generated autoloads from calc/calc.el | 2870 | ;;; Generated autoloads from calc/calc.el |
| 2886 | (define-key ctl-x-map "*" 'calc-dispatch) | 2871 | (define-key ctl-x-map "*" 'calc-dispatch) |
| 2887 | 2872 | ||
| @@ -2965,8 +2950,8 @@ See Info node `(calc)Defining Functions'. | |||
| 2965 | 2950 | ||
| 2966 | ;;;*** | 2951 | ;;;*** |
| 2967 | 2952 | ||
| 2968 | ;;;### (autoloads (calc-undo) "calc-undo" "calc/calc-undo.el" (20355 | 2953 | ;;;### (autoloads (calc-undo) "calc-undo" "calc/calc-undo.el" (20533 |
| 2969 | ;;;;;; 10021 546955 0)) | 2954 | ;;;;;; 50312 678915 0)) |
| 2970 | ;;; Generated autoloads from calc/calc-undo.el | 2955 | ;;; Generated autoloads from calc/calc-undo.el |
| 2971 | 2956 | ||
| 2972 | (autoload 'calc-undo "calc-undo" "\ | 2957 | (autoload 'calc-undo "calc-undo" "\ |
| @@ -2976,8 +2961,8 @@ See Info node `(calc)Defining Functions'. | |||
| 2976 | 2961 | ||
| 2977 | ;;;*** | 2962 | ;;;*** |
| 2978 | 2963 | ||
| 2979 | ;;;### (autoloads (calculator) "calculator" "calculator.el" (20476 | 2964 | ;;;### (autoloads (calculator) "calculator" "calculator.el" (20533 |
| 2980 | ;;;;;; 31768 298871 0)) | 2965 | ;;;;;; 50312 678915 0)) |
| 2981 | ;;; Generated autoloads from calculator.el | 2966 | ;;; Generated autoloads from calculator.el |
| 2982 | 2967 | ||
| 2983 | (autoload 'calculator "calculator" "\ | 2968 | (autoload 'calculator "calculator" "\ |
| @@ -2988,8 +2973,8 @@ See the documentation for `calculator-mode' for more information. | |||
| 2988 | 2973 | ||
| 2989 | ;;;*** | 2974 | ;;;*** |
| 2990 | 2975 | ||
| 2991 | ;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (20594 | 2976 | ;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (20595 |
| 2992 | ;;;;;; 43050 277913 0)) | 2977 | ;;;;;; 33984 147078 0)) |
| 2993 | ;;; Generated autoloads from calendar/calendar.el | 2978 | ;;; Generated autoloads from calendar/calendar.el |
| 2994 | 2979 | ||
| 2995 | (autoload 'calendar "calendar" "\ | 2980 | (autoload 'calendar "calendar" "\ |
| @@ -3033,7 +3018,7 @@ This function is suitable for execution in an init file. | |||
| 3033 | ;;;*** | 3018 | ;;;*** |
| 3034 | 3019 | ||
| 3035 | ;;;### (autoloads (canlock-verify canlock-insert-header) "canlock" | 3020 | ;;;### (autoloads (canlock-verify canlock-insert-header) "canlock" |
| 3036 | ;;;;;; "gnus/canlock.el" (20355 10021 546955 0)) | 3021 | ;;;;;; "gnus/canlock.el" (20533 50312 678915 0)) |
| 3037 | ;;; Generated autoloads from gnus/canlock.el | 3022 | ;;; Generated autoloads from gnus/canlock.el |
| 3038 | 3023 | ||
| 3039 | (autoload 'canlock-insert-header "canlock" "\ | 3024 | (autoload 'canlock-insert-header "canlock" "\ |
| @@ -3051,7 +3036,7 @@ it fails. | |||
| 3051 | ;;;*** | 3036 | ;;;*** |
| 3052 | 3037 | ||
| 3053 | ;;;### (autoloads (capitalized-words-mode) "cap-words" "progmodes/cap-words.el" | 3038 | ;;;### (autoloads (capitalized-words-mode) "cap-words" "progmodes/cap-words.el" |
| 3054 | ;;;;;; (20355 10021 546955 0)) | 3039 | ;;;;;; (20533 50312 678915 0)) |
| 3055 | ;;; Generated autoloads from progmodes/cap-words.el | 3040 | ;;; Generated autoloads from progmodes/cap-words.el |
| 3056 | 3041 | ||
| 3057 | (autoload 'capitalized-words-mode "cap-words" "\ | 3042 | (autoload 'capitalized-words-mode "cap-words" "\ |
| @@ -3090,15 +3075,15 @@ Obsoletes `c-forward-into-nomenclature'. | |||
| 3090 | 3075 | ||
| 3091 | ;;;*** | 3076 | ;;;*** |
| 3092 | 3077 | ||
| 3093 | ;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (20355 | 3078 | ;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (20533 |
| 3094 | ;;;;;; 10021 546955 0)) | 3079 | ;;;;;; 50312 678915 0)) |
| 3095 | ;;; Generated autoloads from progmodes/cc-compat.el | 3080 | ;;; Generated autoloads from progmodes/cc-compat.el |
| 3096 | (put 'c-indent-level 'safe-local-variable 'integerp) | 3081 | (put 'c-indent-level 'safe-local-variable 'integerp) |
| 3097 | 3082 | ||
| 3098 | ;;;*** | 3083 | ;;;*** |
| 3099 | 3084 | ||
| 3100 | ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" | 3085 | ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" |
| 3101 | ;;;;;; (20557 48712 315579 0)) | 3086 | ;;;;;; (20656 14460 296991 0)) |
| 3102 | ;;; Generated autoloads from progmodes/cc-engine.el | 3087 | ;;; Generated autoloads from progmodes/cc-engine.el |
| 3103 | 3088 | ||
| 3104 | (autoload 'c-guess-basic-syntax "cc-engine" "\ | 3089 | (autoload 'c-guess-basic-syntax "cc-engine" "\ |
| @@ -3110,8 +3095,8 @@ Return the syntactic context of the current line. | |||
| 3110 | 3095 | ||
| 3111 | ;;;### (autoloads (c-guess-install c-guess-region-no-install c-guess-region | 3096 | ;;;### (autoloads (c-guess-install c-guess-region-no-install c-guess-region |
| 3112 | ;;;;;; c-guess-buffer-no-install c-guess-buffer c-guess-no-install | 3097 | ;;;;;; c-guess-buffer-no-install c-guess-buffer c-guess-no-install |
| 3113 | ;;;;;; c-guess) "cc-guess" "progmodes/cc-guess.el" (20355 10021 | 3098 | ;;;;;; c-guess) "cc-guess" "progmodes/cc-guess.el" (20533 50312 |
| 3114 | ;;;;;; 546955 0)) | 3099 | ;;;;;; 678915 0)) |
| 3115 | ;;; Generated autoloads from progmodes/cc-guess.el | 3100 | ;;; Generated autoloads from progmodes/cc-guess.el |
| 3116 | 3101 | ||
| 3117 | (defvar c-guess-guessed-offsets-alist nil "\ | 3102 | (defvar c-guess-guessed-offsets-alist nil "\ |
| @@ -3211,7 +3196,7 @@ the absolute file name of the file if STYLE-NAME is nil. | |||
| 3211 | 3196 | ||
| 3212 | ;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode | 3197 | ;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode |
| 3213 | ;;;;;; c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" | 3198 | ;;;;;; c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" |
| 3214 | ;;;;;; (20614 54428 654267 0)) | 3199 | ;;;;;; (20665 35573 592719 966000)) |
| 3215 | ;;; Generated autoloads from progmodes/cc-mode.el | 3200 | ;;; Generated autoloads from progmodes/cc-mode.el |
| 3216 | 3201 | ||
| 3217 | (autoload 'c-initialize-cc-mode "cc-mode" "\ | 3202 | (autoload 'c-initialize-cc-mode "cc-mode" "\ |
| @@ -3388,7 +3373,7 @@ Key bindings: | |||
| 3388 | ;;;*** | 3373 | ;;;*** |
| 3389 | 3374 | ||
| 3390 | ;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles" | 3375 | ;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles" |
| 3391 | ;;;;;; "progmodes/cc-styles.el" (20566 63671 243798 0)) | 3376 | ;;;;;; "progmodes/cc-styles.el" (20566 46620 114637 614000)) |
| 3392 | ;;; Generated autoloads from progmodes/cc-styles.el | 3377 | ;;; Generated autoloads from progmodes/cc-styles.el |
| 3393 | 3378 | ||
| 3394 | (autoload 'c-set-style "cc-styles" "\ | 3379 | (autoload 'c-set-style "cc-styles" "\ |
| @@ -3439,8 +3424,8 @@ and exists only for compatibility reasons. | |||
| 3439 | 3424 | ||
| 3440 | ;;;*** | 3425 | ;;;*** |
| 3441 | 3426 | ||
| 3442 | ;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20595 63909 | 3427 | ;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20596 57817 |
| 3443 | ;;;;;; 923329 0)) | 3428 | ;;;;;; 368875 0)) |
| 3444 | ;;; Generated autoloads from progmodes/cc-vars.el | 3429 | ;;; Generated autoloads from progmodes/cc-vars.el |
| 3445 | (put 'c-basic-offset 'safe-local-variable 'integerp) | 3430 | (put 'c-basic-offset 'safe-local-variable 'integerp) |
| 3446 | (put 'c-backslash-column 'safe-local-variable 'integerp) | 3431 | (put 'c-backslash-column 'safe-local-variable 'integerp) |
| @@ -3450,7 +3435,7 @@ and exists only for compatibility reasons. | |||
| 3450 | 3435 | ||
| 3451 | ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program | 3436 | ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program |
| 3452 | ;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el" | 3437 | ;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el" |
| 3453 | ;;;;;; (20355 10021 546955 0)) | 3438 | ;;;;;; (20533 50312 678915 0)) |
| 3454 | ;;; Generated autoloads from international/ccl.el | 3439 | ;;; Generated autoloads from international/ccl.el |
| 3455 | 3440 | ||
| 3456 | (autoload 'ccl-compile "ccl" "\ | 3441 | (autoload 'ccl-compile "ccl" "\ |
| @@ -3711,7 +3696,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program. | |||
| 3711 | ;;;*** | 3696 | ;;;*** |
| 3712 | 3697 | ||
| 3713 | ;;;### (autoloads (cconv-closure-convert) "cconv" "emacs-lisp/cconv.el" | 3698 | ;;;### (autoloads (cconv-closure-convert) "cconv" "emacs-lisp/cconv.el" |
| 3714 | ;;;;;; (20453 5437 764254 0)) | 3699 | ;;;;;; (20533 50312 678915 0)) |
| 3715 | ;;; Generated autoloads from emacs-lisp/cconv.el | 3700 | ;;; Generated autoloads from emacs-lisp/cconv.el |
| 3716 | 3701 | ||
| 3717 | (autoload 'cconv-closure-convert "cconv" "\ | 3702 | (autoload 'cconv-closure-convert "cconv" "\ |
| @@ -3726,7 +3711,7 @@ Returns a form where all lambdas don't have any free variables. | |||
| 3726 | ;;;*** | 3711 | ;;;*** |
| 3727 | 3712 | ||
| 3728 | ;;;### (autoloads (cfengine-auto-mode cfengine2-mode cfengine3-mode) | 3713 | ;;;### (autoloads (cfengine-auto-mode cfengine2-mode cfengine3-mode) |
| 3729 | ;;;;;; "cfengine" "progmodes/cfengine.el" (20355 10021 546955 0)) | 3714 | ;;;;;; "cfengine" "progmodes/cfengine.el" (20533 50312 678915 0)) |
| 3730 | ;;; Generated autoloads from progmodes/cfengine.el | 3715 | ;;; Generated autoloads from progmodes/cfengine.el |
| 3731 | 3716 | ||
| 3732 | (autoload 'cfengine3-mode "cfengine" "\ | 3717 | (autoload 'cfengine3-mode "cfengine" "\ |
| @@ -3756,7 +3741,7 @@ on the buffer contents | |||
| 3756 | ;;;*** | 3741 | ;;;*** |
| 3757 | 3742 | ||
| 3758 | ;;;### (autoloads (check-declare-directory check-declare-file) "check-declare" | 3743 | ;;;### (autoloads (check-declare-directory check-declare-file) "check-declare" |
| 3759 | ;;;;;; "emacs-lisp/check-declare.el" (20378 29222 722320 0)) | 3744 | ;;;;;; "emacs-lisp/check-declare.el" (20533 50312 678915 0)) |
| 3760 | ;;; Generated autoloads from emacs-lisp/check-declare.el | 3745 | ;;; Generated autoloads from emacs-lisp/check-declare.el |
| 3761 | 3746 | ||
| 3762 | (autoload 'check-declare-file "check-declare" "\ | 3747 | (autoload 'check-declare-file "check-declare" "\ |
| @@ -3781,7 +3766,7 @@ Returns non-nil if any false statements are found. | |||
| 3781 | ;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer | 3766 | ;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer |
| 3782 | ;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive | 3767 | ;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive |
| 3783 | ;;;;;; checkdoc-interactive checkdoc checkdoc-list-of-strings-p) | 3768 | ;;;;;; checkdoc-interactive checkdoc checkdoc-list-of-strings-p) |
| 3784 | ;;;;;; "checkdoc" "emacs-lisp/checkdoc.el" (20614 54428 654267 0)) | 3769 | ;;;;;; "checkdoc" "emacs-lisp/checkdoc.el" (20647 7982 429263 0)) |
| 3785 | ;;; Generated autoloads from emacs-lisp/checkdoc.el | 3770 | ;;; Generated autoloads from emacs-lisp/checkdoc.el |
| 3786 | (put 'checkdoc-force-docstrings-flag 'safe-local-variable 'booleanp) | 3771 | (put 'checkdoc-force-docstrings-flag 'safe-local-variable 'booleanp) |
| 3787 | (put 'checkdoc-force-history-flag 'safe-local-variable 'booleanp) | 3772 | (put 'checkdoc-force-history-flag 'safe-local-variable 'booleanp) |
| @@ -3977,7 +3962,7 @@ checking of documentation strings. | |||
| 3977 | 3962 | ||
| 3978 | ;;;### (autoloads (pre-write-encode-hz post-read-decode-hz encode-hz-buffer | 3963 | ;;;### (autoloads (pre-write-encode-hz post-read-decode-hz encode-hz-buffer |
| 3979 | ;;;;;; encode-hz-region decode-hz-buffer decode-hz-region) "china-util" | 3964 | ;;;;;; encode-hz-region decode-hz-buffer decode-hz-region) "china-util" |
| 3980 | ;;;;;; "language/china-util.el" (20355 10021 546955 0)) | 3965 | ;;;;;; "language/china-util.el" (20533 50312 678915 0)) |
| 3981 | ;;; Generated autoloads from language/china-util.el | 3966 | ;;; Generated autoloads from language/china-util.el |
| 3982 | 3967 | ||
| 3983 | (autoload 'decode-hz-region "china-util" "\ | 3968 | (autoload 'decode-hz-region "china-util" "\ |
| @@ -4015,7 +4000,7 @@ Encode the text in the current buffer to HZ. | |||
| 4015 | ;;;*** | 4000 | ;;;*** |
| 4016 | 4001 | ||
| 4017 | ;;;### (autoloads (command-history list-command-history repeat-matching-complex-command) | 4002 | ;;;### (autoloads (command-history list-command-history repeat-matching-complex-command) |
| 4018 | ;;;;;; "chistory" "chistory.el" (20355 10021 546955 0)) | 4003 | ;;;;;; "chistory" "chistory.el" (20533 50312 678915 0)) |
| 4019 | ;;; Generated autoloads from chistory.el | 4004 | ;;; Generated autoloads from chistory.el |
| 4020 | 4005 | ||
| 4021 | (autoload 'repeat-matching-complex-command "chistory" "\ | 4006 | (autoload 'repeat-matching-complex-command "chistory" "\ |
| @@ -4055,7 +4040,7 @@ and runs the normal hook `command-history-hook'. | |||
| 4055 | ;;;*** | 4040 | ;;;*** |
| 4056 | 4041 | ||
| 4057 | ;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el" | 4042 | ;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el" |
| 4058 | ;;;;;; (20355 10021 546955 0)) | 4043 | ;;;;;; (20533 50312 678915 0)) |
| 4059 | ;;; Generated autoloads from emacs-lisp/cl-indent.el | 4044 | ;;; Generated autoloads from emacs-lisp/cl-indent.el |
| 4060 | 4045 | ||
| 4061 | (autoload 'common-lisp-indent-function "cl-indent" "\ | 4046 | (autoload 'common-lisp-indent-function "cl-indent" "\ |
| @@ -4133,8 +4118,8 @@ For example, the function `case' has an indent property | |||
| 4133 | 4118 | ||
| 4134 | ;;;*** | 4119 | ;;;*** |
| 4135 | 4120 | ||
| 4136 | ;;;### (autoloads nil "cl-lib" "emacs-lisp/cl-lib.el" (20599 27513 | 4121 | ;;;### (autoloads nil "cl-lib" "emacs-lisp/cl-lib.el" (20648 29678 |
| 4137 | ;;;;;; 576550 0)) | 4122 | ;;;;;; 511980 0)) |
| 4138 | ;;; Generated autoloads from emacs-lisp/cl-lib.el | 4123 | ;;; Generated autoloads from emacs-lisp/cl-lib.el |
| 4139 | 4124 | ||
| 4140 | (define-obsolete-variable-alias 'custom-print-functions 'cl-custom-print-functions "24.3") | 4125 | (define-obsolete-variable-alias 'custom-print-functions 'cl-custom-print-functions "24.3") |
| @@ -4162,7 +4147,7 @@ a future Emacs interpreter will be able to use it.") | |||
| 4162 | ;;;*** | 4147 | ;;;*** |
| 4163 | 4148 | ||
| 4164 | ;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el" | 4149 | ;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el" |
| 4165 | ;;;;;; (20566 63671 243798 0)) | 4150 | ;;;;;; (20566 46193 922619 203000)) |
| 4166 | ;;; Generated autoloads from progmodes/cmacexp.el | 4151 | ;;; Generated autoloads from progmodes/cmacexp.el |
| 4167 | 4152 | ||
| 4168 | (autoload 'c-macro-expand "cmacexp" "\ | 4153 | (autoload 'c-macro-expand "cmacexp" "\ |
| @@ -4182,8 +4167,8 @@ For use inside Lisp programs, see also `c-macro-expansion'. | |||
| 4182 | 4167 | ||
| 4183 | ;;;*** | 4168 | ;;;*** |
| 4184 | 4169 | ||
| 4185 | ;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (20355 | 4170 | ;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (20533 |
| 4186 | ;;;;;; 10021 546955 0)) | 4171 | ;;;;;; 50312 678915 0)) |
| 4187 | ;;; Generated autoloads from cmuscheme.el | 4172 | ;;; Generated autoloads from cmuscheme.el |
| 4188 | 4173 | ||
| 4189 | (autoload 'run-scheme "cmuscheme" "\ | 4174 | (autoload 'run-scheme "cmuscheme" "\ |
| @@ -4203,8 +4188,8 @@ is run). | |||
| 4203 | 4188 | ||
| 4204 | ;;;*** | 4189 | ;;;*** |
| 4205 | 4190 | ||
| 4206 | ;;;### (autoloads (color-name-to-rgb) "color" "color.el" (20592 1317 | 4191 | ;;;### (autoloads (color-name-to-rgb) "color" "color.el" (20650 61396 |
| 4207 | ;;;;;; 691761 0)) | 4192 | ;;;;;; 673885 0)) |
| 4208 | ;;; Generated autoloads from color.el | 4193 | ;;; Generated autoloads from color.el |
| 4209 | 4194 | ||
| 4210 | (autoload 'color-name-to-rgb "color" "\ | 4195 | (autoload 'color-name-to-rgb "color" "\ |
| @@ -4226,7 +4211,7 @@ If FRAME cannot display COLOR, return nil. | |||
| 4226 | ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list | 4211 | ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list |
| 4227 | ;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command | 4212 | ;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command |
| 4228 | ;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el" | 4213 | ;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el" |
| 4229 | ;;;;;; (20594 43050 277913 0)) | 4214 | ;;;;;; (20594 14884 858174 0)) |
| 4230 | ;;; Generated autoloads from comint.el | 4215 | ;;; Generated autoloads from comint.el |
| 4231 | 4216 | ||
| 4232 | (defvar comint-output-filter-functions '(ansi-color-process-output comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\ | 4217 | (defvar comint-output-filter-functions '(ansi-color-process-output comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\ |
| @@ -4326,7 +4311,7 @@ REGEXP-GROUP is the regular expression group in REGEXP to use. | |||
| 4326 | ;;;*** | 4311 | ;;;*** |
| 4327 | 4312 | ||
| 4328 | ;;;### (autoloads (compare-windows) "compare-w" "vc/compare-w.el" | 4313 | ;;;### (autoloads (compare-windows) "compare-w" "vc/compare-w.el" |
| 4329 | ;;;;;; (20355 10021 546955 0)) | 4314 | ;;;;;; (20533 50312 678915 0)) |
| 4330 | ;;; Generated autoloads from vc/compare-w.el | 4315 | ;;; Generated autoloads from vc/compare-w.el |
| 4331 | 4316 | ||
| 4332 | (autoload 'compare-windows "compare-w" "\ | 4317 | (autoload 'compare-windows "compare-w" "\ |
| @@ -4363,8 +4348,8 @@ on third call it again advances points to the next difference and so on. | |||
| 4363 | ;;;;;; compilation-shell-minor-mode compilation-mode compilation-start | 4348 | ;;;;;; compilation-shell-minor-mode compilation-mode compilation-start |
| 4364 | ;;;;;; compile compilation-disable-input compile-command compilation-search-path | 4349 | ;;;;;; compile compilation-disable-input compile-command compilation-search-path |
| 4365 | ;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook | 4350 | ;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook |
| 4366 | ;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20615 | 4351 | ;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20666 |
| 4367 | ;;;;;; 49194 141673 0)) | 4352 | ;;;;;; 61709 220674 0)) |
| 4368 | ;;; Generated autoloads from progmodes/compile.el | 4353 | ;;; Generated autoloads from progmodes/compile.el |
| 4369 | 4354 | ||
| 4370 | (defvar compilation-mode-hook nil "\ | 4355 | (defvar compilation-mode-hook nil "\ |
| @@ -4546,7 +4531,7 @@ This is the value of `next-error-function' in Compilation buffers. | |||
| 4546 | ;;;*** | 4531 | ;;;*** |
| 4547 | 4532 | ||
| 4548 | ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el" | 4533 | ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el" |
| 4549 | ;;;;;; (20495 51111 757560 0)) | 4534 | ;;;;;; (20533 50312 678915 0)) |
| 4550 | ;;; Generated autoloads from completion.el | 4535 | ;;; Generated autoloads from completion.el |
| 4551 | 4536 | ||
| 4552 | (defvar dynamic-completion-mode nil "\ | 4537 | (defvar dynamic-completion-mode nil "\ |
| @@ -4571,7 +4556,7 @@ if ARG is omitted or nil. | |||
| 4571 | ;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode | 4556 | ;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode |
| 4572 | ;;;;;; conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode | 4557 | ;;;;;; conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode |
| 4573 | ;;;;;; conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el" | 4558 | ;;;;;; conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el" |
| 4574 | ;;;;;; (20355 10021 546955 0)) | 4559 | ;;;;;; (20533 50312 678915 0)) |
| 4575 | ;;; Generated autoloads from textmodes/conf-mode.el | 4560 | ;;; Generated autoloads from textmodes/conf-mode.el |
| 4576 | 4561 | ||
| 4577 | (autoload 'conf-mode "conf-mode" "\ | 4562 | (autoload 'conf-mode "conf-mode" "\ |
| @@ -4727,7 +4712,7 @@ For details see `conf-mode'. Example: | |||
| 4727 | ;;;*** | 4712 | ;;;*** |
| 4728 | 4713 | ||
| 4729 | ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie) | 4714 | ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie) |
| 4730 | ;;;;;; "cookie1" "play/cookie1.el" (20545 57511 257469 0)) | 4715 | ;;;;;; "cookie1" "play/cookie1.el" (20545 60086 510404 0)) |
| 4731 | ;;; Generated autoloads from play/cookie1.el | 4716 | ;;; Generated autoloads from play/cookie1.el |
| 4732 | 4717 | ||
| 4733 | (autoload 'cookie "cookie1" "\ | 4718 | (autoload 'cookie "cookie1" "\ |
| @@ -4759,8 +4744,8 @@ Randomly permute the elements of VECTOR (all permutations equally likely). | |||
| 4759 | ;;;*** | 4744 | ;;;*** |
| 4760 | 4745 | ||
| 4761 | ;;;### (autoloads (copyright-update-directory copyright copyright-fix-years | 4746 | ;;;### (autoloads (copyright-update-directory copyright copyright-fix-years |
| 4762 | ;;;;;; copyright-update) "copyright" "emacs-lisp/copyright.el" (20518 | 4747 | ;;;;;; copyright-update) "copyright" "emacs-lisp/copyright.el" (20533 |
| 4763 | ;;;;;; 12580 46478 0)) | 4748 | ;;;;;; 50312 678915 0)) |
| 4764 | ;;; Generated autoloads from emacs-lisp/copyright.el | 4749 | ;;; Generated autoloads from emacs-lisp/copyright.el |
| 4765 | (put 'copyright-at-end-flag 'safe-local-variable 'booleanp) | 4750 | (put 'copyright-at-end-flag 'safe-local-variable 'booleanp) |
| 4766 | (put 'copyright-names-regexp 'safe-local-variable 'stringp) | 4751 | (put 'copyright-names-regexp 'safe-local-variable 'stringp) |
| @@ -4799,8 +4784,8 @@ If FIX is non-nil, run `copyright-fix-years' instead. | |||
| 4799 | ;;;*** | 4784 | ;;;*** |
| 4800 | 4785 | ||
| 4801 | ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode) | 4786 | ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode) |
| 4802 | ;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (20512 60198 306109 | 4787 | ;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (20665 37088 368703 |
| 4803 | ;;;;;; 0)) | 4788 | ;;;;;; 981000)) |
| 4804 | ;;; Generated autoloads from progmodes/cperl-mode.el | 4789 | ;;; Generated autoloads from progmodes/cperl-mode.el |
| 4805 | (put 'cperl-indent-level 'safe-local-variable 'integerp) | 4790 | (put 'cperl-indent-level 'safe-local-variable 'integerp) |
| 4806 | (put 'cperl-brace-offset 'safe-local-variable 'integerp) | 4791 | (put 'cperl-brace-offset 'safe-local-variable 'integerp) |
| @@ -4999,7 +4984,7 @@ Run a `perldoc' on the word around point. | |||
| 4999 | ;;;*** | 4984 | ;;;*** |
| 5000 | 4985 | ||
| 5001 | ;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el" | 4986 | ;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el" |
| 5002 | ;;;;;; (20355 10021 546955 0)) | 4987 | ;;;;;; (20533 50312 678915 0)) |
| 5003 | ;;; Generated autoloads from progmodes/cpp.el | 4988 | ;;; Generated autoloads from progmodes/cpp.el |
| 5004 | 4989 | ||
| 5005 | (autoload 'cpp-highlight-buffer "cpp" "\ | 4990 | (autoload 'cpp-highlight-buffer "cpp" "\ |
| @@ -5018,7 +5003,7 @@ Edit display information for cpp conditionals. | |||
| 5018 | ;;;*** | 5003 | ;;;*** |
| 5019 | 5004 | ||
| 5020 | ;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el" | 5005 | ;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el" |
| 5021 | ;;;;;; (20593 22184 581574 0)) | 5006 | ;;;;;; (20594 14884 858174 0)) |
| 5022 | ;;; Generated autoloads from emulation/crisp.el | 5007 | ;;; Generated autoloads from emulation/crisp.el |
| 5023 | 5008 | ||
| 5024 | (defvar crisp-mode nil "\ | 5009 | (defvar crisp-mode nil "\ |
| @@ -5044,7 +5029,7 @@ if ARG is omitted or nil. | |||
| 5044 | ;;;*** | 5029 | ;;;*** |
| 5045 | 5030 | ||
| 5046 | ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el" | 5031 | ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el" |
| 5047 | ;;;;;; (20355 10021 546955 0)) | 5032 | ;;;;;; (20533 50312 678915 0)) |
| 5048 | ;;; Generated autoloads from emacs-lisp/crm.el | 5033 | ;;; Generated autoloads from emacs-lisp/crm.el |
| 5049 | 5034 | ||
| 5050 | (autoload 'completing-read-multiple "crm" "\ | 5035 | (autoload 'completing-read-multiple "crm" "\ |
| @@ -5079,8 +5064,8 @@ INHERIT-INPUT-METHOD. | |||
| 5079 | 5064 | ||
| 5080 | ;;;*** | 5065 | ;;;*** |
| 5081 | 5066 | ||
| 5082 | ;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (20478 | 5067 | ;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (20665 |
| 5083 | ;;;;;; 3673 653810 0)) | 5068 | ;;;;;; 38640 856688 172000)) |
| 5084 | ;;; Generated autoloads from textmodes/css-mode.el | 5069 | ;;; Generated autoloads from textmodes/css-mode.el |
| 5085 | 5070 | ||
| 5086 | (autoload 'css-mode "css-mode" "\ | 5071 | (autoload 'css-mode "css-mode" "\ |
| @@ -5091,7 +5076,7 @@ Major mode to edit Cascading Style Sheets. | |||
| 5091 | ;;;*** | 5076 | ;;;*** |
| 5092 | 5077 | ||
| 5093 | ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el" | 5078 | ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el" |
| 5094 | ;;;;;; (20434 17809 692608 0)) | 5079 | ;;;;;; (20533 50312 678915 0)) |
| 5095 | ;;; Generated autoloads from emulation/cua-base.el | 5080 | ;;; Generated autoloads from emulation/cua-base.el |
| 5096 | 5081 | ||
| 5097 | (defvar cua-mode nil "\ | 5082 | (defvar cua-mode nil "\ |
| @@ -5151,7 +5136,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings. | |||
| 5151 | ;;;;;; customize-mode customize customize-push-and-save customize-save-variable | 5136 | ;;;;;; customize-mode customize customize-push-and-save customize-save-variable |
| 5152 | ;;;;;; customize-set-variable customize-set-value custom-menu-sort-alphabetically | 5137 | ;;;;;; customize-set-variable customize-set-value custom-menu-sort-alphabetically |
| 5153 | ;;;;;; custom-buffer-sort-alphabetically custom-browse-sort-alphabetically) | 5138 | ;;;;;; custom-buffer-sort-alphabetically custom-browse-sort-alphabetically) |
| 5154 | ;;;;;; "cus-edit" "cus-edit.el" (20577 33959 40183 0)) | 5139 | ;;;;;; "cus-edit" "cus-edit.el" (20657 37717 602128 837000)) |
| 5155 | ;;; Generated autoloads from cus-edit.el | 5140 | ;;; Generated autoloads from cus-edit.el |
| 5156 | 5141 | ||
| 5157 | (defvar custom-browse-sort-alphabetically nil "\ | 5142 | (defvar custom-browse-sort-alphabetically nil "\ |
| @@ -5463,8 +5448,8 @@ The format is suitable for use with `easy-menu-define'. | |||
| 5463 | ;;;*** | 5448 | ;;;*** |
| 5464 | 5449 | ||
| 5465 | ;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme | 5450 | ;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme |
| 5466 | ;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20355 | 5451 | ;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20533 |
| 5467 | ;;;;;; 10021 546955 0)) | 5452 | ;;;;;; 50312 678915 0)) |
| 5468 | ;;; Generated autoloads from cus-theme.el | 5453 | ;;; Generated autoloads from cus-theme.el |
| 5469 | 5454 | ||
| 5470 | (autoload 'customize-create-theme "cus-theme" "\ | 5455 | (autoload 'customize-create-theme "cus-theme" "\ |
| @@ -5498,7 +5483,7 @@ omitted, a buffer named *Custom Themes* is used. | |||
| 5498 | ;;;*** | 5483 | ;;;*** |
| 5499 | 5484 | ||
| 5500 | ;;;### (autoloads (cvs-status-mode) "cvs-status" "vc/cvs-status.el" | 5485 | ;;;### (autoloads (cvs-status-mode) "cvs-status" "vc/cvs-status.el" |
| 5501 | ;;;;;; (20476 31768 298871 0)) | 5486 | ;;;;;; (20533 50312 678915 0)) |
| 5502 | ;;; Generated autoloads from vc/cvs-status.el | 5487 | ;;; Generated autoloads from vc/cvs-status.el |
| 5503 | 5488 | ||
| 5504 | (autoload 'cvs-status-mode "cvs-status" "\ | 5489 | (autoload 'cvs-status-mode "cvs-status" "\ |
| @@ -5509,7 +5494,7 @@ Mode used for cvs status output. | |||
| 5509 | ;;;*** | 5494 | ;;;*** |
| 5510 | 5495 | ||
| 5511 | ;;;### (autoloads (global-cwarn-mode cwarn-mode) "cwarn" "progmodes/cwarn.el" | 5496 | ;;;### (autoloads (global-cwarn-mode cwarn-mode) "cwarn" "progmodes/cwarn.el" |
| 5512 | ;;;;;; (20577 33959 40183 0)) | 5497 | ;;;;;; (20576 15647 691916 958000)) |
| 5513 | ;;; Generated autoloads from progmodes/cwarn.el | 5498 | ;;; Generated autoloads from progmodes/cwarn.el |
| 5514 | 5499 | ||
| 5515 | (autoload 'cwarn-mode "cwarn" "\ | 5500 | (autoload 'cwarn-mode "cwarn" "\ |
| @@ -5554,7 +5539,7 @@ See `cwarn-mode' for more information on Cwarn mode. | |||
| 5554 | 5539 | ||
| 5555 | ;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char | 5540 | ;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char |
| 5556 | ;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el" | 5541 | ;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el" |
| 5557 | ;;;;;; (20355 10021 546955 0)) | 5542 | ;;;;;; (20533 50312 678915 0)) |
| 5558 | ;;; Generated autoloads from language/cyril-util.el | 5543 | ;;; Generated autoloads from language/cyril-util.el |
| 5559 | 5544 | ||
| 5560 | (autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\ | 5545 | (autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\ |
| @@ -5583,7 +5568,7 @@ If the argument is nil, we return the display table to its standard state. | |||
| 5583 | ;;;*** | 5568 | ;;;*** |
| 5584 | 5569 | ||
| 5585 | ;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el" | 5570 | ;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el" |
| 5586 | ;;;;;; (20397 45851 446679 0)) | 5571 | ;;;;;; (20533 50312 678915 0)) |
| 5587 | ;;; Generated autoloads from dabbrev.el | 5572 | ;;; Generated autoloads from dabbrev.el |
| 5588 | (put 'dabbrev-case-fold-search 'risky-local-variable t) | 5573 | (put 'dabbrev-case-fold-search 'risky-local-variable t) |
| 5589 | (put 'dabbrev-case-replace 'risky-local-variable t) | 5574 | (put 'dabbrev-case-replace 'risky-local-variable t) |
| @@ -5630,7 +5615,7 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion]. | |||
| 5630 | ;;;*** | 5615 | ;;;*** |
| 5631 | 5616 | ||
| 5632 | ;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el" | 5617 | ;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el" |
| 5633 | ;;;;;; (20586 48936 135199 0)) | 5618 | ;;;;;; (20585 42247 727488 570000)) |
| 5634 | ;;; Generated autoloads from cedet/data-debug.el | 5619 | ;;; Generated autoloads from cedet/data-debug.el |
| 5635 | 5620 | ||
| 5636 | (autoload 'data-debug-new-buffer "data-debug" "\ | 5621 | (autoload 'data-debug-new-buffer "data-debug" "\ |
| @@ -5640,8 +5625,8 @@ Create a new data-debug buffer with NAME. | |||
| 5640 | 5625 | ||
| 5641 | ;;;*** | 5626 | ;;;*** |
| 5642 | 5627 | ||
| 5643 | ;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20614 | 5628 | ;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20615 |
| 5644 | ;;;;;; 54428 654267 0)) | 5629 | ;;;;;; 22847 537904 0)) |
| 5645 | ;;; Generated autoloads from net/dbus.el | 5630 | ;;; Generated autoloads from net/dbus.el |
| 5646 | 5631 | ||
| 5647 | (autoload 'dbus-handle-event "dbus" "\ | 5632 | (autoload 'dbus-handle-event "dbus" "\ |
| @@ -5654,8 +5639,8 @@ If the HANDLER returns a `dbus-error', it is propagated as return message. | |||
| 5654 | 5639 | ||
| 5655 | ;;;*** | 5640 | ;;;*** |
| 5656 | 5641 | ||
| 5657 | ;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (20355 | 5642 | ;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (20533 |
| 5658 | ;;;;;; 10021 546955 0)) | 5643 | ;;;;;; 50312 678915 0)) |
| 5659 | ;;; Generated autoloads from progmodes/dcl-mode.el | 5644 | ;;; Generated autoloads from progmodes/dcl-mode.el |
| 5660 | 5645 | ||
| 5661 | (autoload 'dcl-mode "dcl-mode" "\ | 5646 | (autoload 'dcl-mode "dcl-mode" "\ |
| @@ -5782,7 +5767,7 @@ There is some minimal font-lock support (see vars | |||
| 5782 | ;;;*** | 5767 | ;;;*** |
| 5783 | 5768 | ||
| 5784 | ;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" | 5769 | ;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" |
| 5785 | ;;;;;; "emacs-lisp/debug.el" (20609 10405 476026 0)) | 5770 | ;;;;;; "emacs-lisp/debug.el" (20647 7982 429263 0)) |
| 5786 | ;;; Generated autoloads from emacs-lisp/debug.el | 5771 | ;;; Generated autoloads from emacs-lisp/debug.el |
| 5787 | 5772 | ||
| 5788 | (setq debugger 'debug) | 5773 | (setq debugger 'debug) |
| @@ -5796,7 +5781,7 @@ You may call with no args, or you may pass nil as the first arg and | |||
| 5796 | any other args you like. In that case, the list of args after the | 5781 | any other args you like. In that case, the list of args after the |
| 5797 | first will be printed into the backtrace buffer. | 5782 | first will be printed into the backtrace buffer. |
| 5798 | 5783 | ||
| 5799 | \(fn &rest DEBUGGER-ARGS)" t nil) | 5784 | \(fn &rest ARGS)" t nil) |
| 5800 | 5785 | ||
| 5801 | (autoload 'debug-on-entry "debug" "\ | 5786 | (autoload 'debug-on-entry "debug" "\ |
| 5802 | Request FUNCTION to invoke debugger each time it is called. | 5787 | Request FUNCTION to invoke debugger each time it is called. |
| @@ -5826,7 +5811,7 @@ To specify a nil argument interactively, exit with an empty minibuffer. | |||
| 5826 | ;;;*** | 5811 | ;;;*** |
| 5827 | 5812 | ||
| 5828 | ;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el" | 5813 | ;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el" |
| 5829 | ;;;;;; (20566 63671 243798 0)) | 5814 | ;;;;;; (20566 45330 762583 402000)) |
| 5830 | ;;; Generated autoloads from play/decipher.el | 5815 | ;;; Generated autoloads from play/decipher.el |
| 5831 | 5816 | ||
| 5832 | (autoload 'decipher "decipher" "\ | 5817 | (autoload 'decipher "decipher" "\ |
| @@ -5855,8 +5840,8 @@ The most useful commands are: | |||
| 5855 | ;;;*** | 5840 | ;;;*** |
| 5856 | 5841 | ||
| 5857 | ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region | 5842 | ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region |
| 5858 | ;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (20355 | 5843 | ;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (20533 |
| 5859 | ;;;;;; 10021 546955 0)) | 5844 | ;;;;;; 50312 678915 0)) |
| 5860 | ;;; Generated autoloads from delim-col.el | 5845 | ;;; Generated autoloads from delim-col.el |
| 5861 | 5846 | ||
| 5862 | (autoload 'delimit-columns-customize "delim-col" "\ | 5847 | (autoload 'delimit-columns-customize "delim-col" "\ |
| @@ -5880,8 +5865,8 @@ START and END delimits the corners of text rectangle. | |||
| 5880 | 5865 | ||
| 5881 | ;;;*** | 5866 | ;;;*** |
| 5882 | 5867 | ||
| 5883 | ;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (20355 | 5868 | ;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (20533 |
| 5884 | ;;;;;; 10021 546955 0)) | 5869 | ;;;;;; 50312 678915 0)) |
| 5885 | ;;; Generated autoloads from progmodes/delphi.el | 5870 | ;;; Generated autoloads from progmodes/delphi.el |
| 5886 | 5871 | ||
| 5887 | (autoload 'delphi-mode "delphi" "\ | 5872 | (autoload 'delphi-mode "delphi" "\ |
| @@ -5933,7 +5918,7 @@ with no args, if that value is non-nil. | |||
| 5933 | ;;;*** | 5918 | ;;;*** |
| 5934 | 5919 | ||
| 5935 | ;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (20613 | 5920 | ;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (20613 |
| 5936 | ;;;;;; 49078 764749 0)) | 5921 | ;;;;;; 39767 44650 0)) |
| 5937 | ;;; Generated autoloads from delsel.el | 5922 | ;;; Generated autoloads from delsel.el |
| 5938 | 5923 | ||
| 5939 | (defalias 'pending-delete-mode 'delete-selection-mode) | 5924 | (defalias 'pending-delete-mode 'delete-selection-mode) |
| @@ -5963,7 +5948,7 @@ any selection. | |||
| 5963 | ;;;*** | 5948 | ;;;*** |
| 5964 | 5949 | ||
| 5965 | ;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode) | 5950 | ;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode) |
| 5966 | ;;;;;; "derived" "emacs-lisp/derived.el" (20577 33959 40183 0)) | 5951 | ;;;;;; "derived" "emacs-lisp/derived.el" (20661 34503 396141 0)) |
| 5967 | ;;; Generated autoloads from emacs-lisp/derived.el | 5952 | ;;; Generated autoloads from emacs-lisp/derived.el |
| 5968 | 5953 | ||
| 5969 | (autoload 'define-derived-mode "derived" "\ | 5954 | (autoload 'define-derived-mode "derived" "\ |
| @@ -6030,7 +6015,7 @@ the first time the mode is used. | |||
| 6030 | ;;;*** | 6015 | ;;;*** |
| 6031 | 6016 | ||
| 6032 | ;;;### (autoloads (describe-char describe-text-properties) "descr-text" | 6017 | ;;;### (autoloads (describe-char describe-text-properties) "descr-text" |
| 6033 | ;;;;;; "descr-text.el" (20530 32114 546307 0)) | 6018 | ;;;;;; "descr-text.el" (20660 26176 137583 0)) |
| 6034 | ;;; Generated autoloads from descr-text.el | 6019 | ;;; Generated autoloads from descr-text.el |
| 6035 | 6020 | ||
| 6036 | (autoload 'describe-text-properties "descr-text" "\ | 6021 | (autoload 'describe-text-properties "descr-text" "\ |
| @@ -6067,7 +6052,7 @@ relevant to POS. | |||
| 6067 | ;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir | 6052 | ;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir |
| 6068 | ;;;;;; desktop-load-default desktop-read desktop-remove desktop-save | 6053 | ;;;;;; desktop-load-default desktop-read desktop-remove desktop-save |
| 6069 | ;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop" | 6054 | ;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop" |
| 6070 | ;;;;;; "desktop.el" (20577 33959 40183 0)) | 6055 | ;;;;;; "desktop.el" (20664 5610 38100 0)) |
| 6071 | ;;; Generated autoloads from desktop.el | 6056 | ;;; Generated autoloads from desktop.el |
| 6072 | 6057 | ||
| 6073 | (defvar desktop-save-mode nil "\ | 6058 | (defvar desktop-save-mode nil "\ |
| @@ -6256,7 +6241,7 @@ Revert to the last loaded desktop. | |||
| 6256 | 6241 | ||
| 6257 | ;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article | 6242 | ;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article |
| 6258 | ;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines) | 6243 | ;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines) |
| 6259 | ;;;;;; "deuglify" "gnus/deuglify.el" (20355 10021 546955 0)) | 6244 | ;;;;;; "deuglify" "gnus/deuglify.el" (20533 50312 678915 0)) |
| 6260 | ;;; Generated autoloads from gnus/deuglify.el | 6245 | ;;; Generated autoloads from gnus/deuglify.el |
| 6261 | 6246 | ||
| 6262 | (autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\ | 6247 | (autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\ |
| @@ -6289,7 +6274,7 @@ Deuglify broken Outlook (Express) articles and redisplay. | |||
| 6289 | ;;;*** | 6274 | ;;;*** |
| 6290 | 6275 | ||
| 6291 | ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib" | 6276 | ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib" |
| 6292 | ;;;;;; "calendar/diary-lib.el" (20576 42138 697312 0)) | 6277 | ;;;;;; "calendar/diary-lib.el" (20668 15033 902481 0)) |
| 6293 | ;;; Generated autoloads from calendar/diary-lib.el | 6278 | ;;; Generated autoloads from calendar/diary-lib.el |
| 6294 | 6279 | ||
| 6295 | (autoload 'diary "diary-lib" "\ | 6280 | (autoload 'diary "diary-lib" "\ |
| @@ -6333,7 +6318,7 @@ Major mode for editing the diary file. | |||
| 6333 | 6318 | ||
| 6334 | ;;;### (autoloads (diff-buffer-with-file diff-latest-backup-file | 6319 | ;;;### (autoloads (diff-buffer-with-file diff-latest-backup-file |
| 6335 | ;;;;;; diff-backup diff diff-command diff-switches) "diff" "vc/diff.el" | 6320 | ;;;;;; diff-backup diff diff-command diff-switches) "diff" "vc/diff.el" |
| 6336 | ;;;;;; (20570 60708 993668 0)) | 6321 | ;;;;;; (20570 39802 408146 846000)) |
| 6337 | ;;; Generated autoloads from vc/diff.el | 6322 | ;;; Generated autoloads from vc/diff.el |
| 6338 | 6323 | ||
| 6339 | (defvar diff-switches (purecopy "-c") "\ | 6324 | (defvar diff-switches (purecopy "-c") "\ |
| @@ -6382,7 +6367,7 @@ This requires the external program `diff' to be in your `exec-path'. | |||
| 6382 | ;;;*** | 6367 | ;;;*** |
| 6383 | 6368 | ||
| 6384 | ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "vc/diff-mode.el" | 6369 | ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "vc/diff-mode.el" |
| 6385 | ;;;;;; (20623 43301 870757 0)) | 6370 | ;;;;;; (20650 61396 673885 0)) |
| 6386 | ;;; Generated autoloads from vc/diff-mode.el | 6371 | ;;; Generated autoloads from vc/diff-mode.el |
| 6387 | 6372 | ||
| 6388 | (autoload 'diff-mode "diff-mode" "\ | 6373 | (autoload 'diff-mode "diff-mode" "\ |
| @@ -6414,7 +6399,7 @@ the mode if ARG is omitted or nil. | |||
| 6414 | 6399 | ||
| 6415 | ;;;*** | 6400 | ;;;*** |
| 6416 | 6401 | ||
| 6417 | ;;;### (autoloads (dig) "dig" "net/dig.el" (20355 10021 546955 0)) | 6402 | ;;;### (autoloads (dig) "dig" "net/dig.el" (20533 50312 678915 0)) |
| 6418 | ;;; Generated autoloads from net/dig.el | 6403 | ;;; Generated autoloads from net/dig.el |
| 6419 | 6404 | ||
| 6420 | (autoload 'dig "dig" "\ | 6405 | (autoload 'dig "dig" "\ |
| @@ -6426,8 +6411,8 @@ Optional arguments are passed to `dig-invoke'. | |||
| 6426 | ;;;*** | 6411 | ;;;*** |
| 6427 | 6412 | ||
| 6428 | ;;;### (autoloads (dired-mode dired-noselect dired-other-frame dired-other-window | 6413 | ;;;### (autoloads (dired-mode dired-noselect dired-other-frame dired-other-window |
| 6429 | ;;;;;; dired dired-listing-switches) "dired" "dired.el" (20619 46245 | 6414 | ;;;;;; dired dired-listing-switches) "dired" "dired.el" (20656 14460 |
| 6430 | ;;;;;; 806932 0)) | 6415 | ;;;;;; 296991 0)) |
| 6431 | ;;; Generated autoloads from dired.el | 6416 | ;;; Generated autoloads from dired.el |
| 6432 | 6417 | ||
| 6433 | (defvar dired-listing-switches (purecopy "-al") "\ | 6418 | (defvar dired-listing-switches (purecopy "-al") "\ |
| @@ -6548,7 +6533,7 @@ Keybindings: | |||
| 6548 | ;;;*** | 6533 | ;;;*** |
| 6549 | 6534 | ||
| 6550 | ;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el" | 6535 | ;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el" |
| 6551 | ;;;;;; (20399 35365 4050 0)) | 6536 | ;;;;;; (20648 29678 511980 0)) |
| 6552 | ;;; Generated autoloads from dirtrack.el | 6537 | ;;; Generated autoloads from dirtrack.el |
| 6553 | 6538 | ||
| 6554 | (autoload 'dirtrack-mode "dirtrack" "\ | 6539 | (autoload 'dirtrack-mode "dirtrack" "\ |
| @@ -6578,8 +6563,8 @@ from `default-directory'. | |||
| 6578 | 6563 | ||
| 6579 | ;;;*** | 6564 | ;;;*** |
| 6580 | 6565 | ||
| 6581 | ;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (20497 | 6566 | ;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (20533 |
| 6582 | ;;;;;; 6436 957082 0)) | 6567 | ;;;;;; 50312 678915 0)) |
| 6583 | ;;; Generated autoloads from emacs-lisp/disass.el | 6568 | ;;; Generated autoloads from emacs-lisp/disass.el |
| 6584 | 6569 | ||
| 6585 | (autoload 'disassemble "disass" "\ | 6570 | (autoload 'disassemble "disass" "\ |
| @@ -6598,7 +6583,7 @@ redefine OBJECT if it is a symbol. | |||
| 6598 | ;;;;;; standard-display-g1 standard-display-ascii standard-display-default | 6583 | ;;;;;; standard-display-g1 standard-display-ascii standard-display-default |
| 6599 | ;;;;;; standard-display-8bit describe-current-display-table describe-display-table | 6584 | ;;;;;; standard-display-8bit describe-current-display-table describe-display-table |
| 6600 | ;;;;;; set-display-table-slot display-table-slot make-display-table) | 6585 | ;;;;;; set-display-table-slot display-table-slot make-display-table) |
| 6601 | ;;;;;; "disp-table" "disp-table.el" (20355 10021 546955 0)) | 6586 | ;;;;;; "disp-table" "disp-table.el" (20533 50312 678915 0)) |
| 6602 | ;;; Generated autoloads from disp-table.el | 6587 | ;;; Generated autoloads from disp-table.el |
| 6603 | 6588 | ||
| 6604 | (autoload 'make-display-table "disp-table" "\ | 6589 | (autoload 'make-display-table "disp-table" "\ |
| @@ -6720,7 +6705,7 @@ in `.emacs'. | |||
| 6720 | ;;;*** | 6705 | ;;;*** |
| 6721 | 6706 | ||
| 6722 | ;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el" | 6707 | ;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el" |
| 6723 | ;;;;;; (20545 57511 257469 0)) | 6708 | ;;;;;; (20545 60086 510404 0)) |
| 6724 | ;;; Generated autoloads from play/dissociate.el | 6709 | ;;; Generated autoloads from play/dissociate.el |
| 6725 | 6710 | ||
| 6726 | (autoload 'dissociated-press "dissociate" "\ | 6711 | (autoload 'dissociated-press "dissociate" "\ |
| @@ -6736,8 +6721,8 @@ Default is 2. | |||
| 6736 | 6721 | ||
| 6737 | ;;;*** | 6722 | ;;;*** |
| 6738 | 6723 | ||
| 6739 | ;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (20355 10021 | 6724 | ;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (20533 50312 |
| 6740 | ;;;;;; 546955 0)) | 6725 | ;;;;;; 678915 0)) |
| 6741 | ;;; Generated autoloads from dnd.el | 6726 | ;;; Generated autoloads from dnd.el |
| 6742 | 6727 | ||
| 6743 | (defvar dnd-protocol-alist `((,(purecopy "^file:///") . dnd-open-local-file) (,(purecopy "^file://") . dnd-open-file) (,(purecopy "^file:") . dnd-open-local-file) (,(purecopy "^\\(https?\\|ftp\\|file\\|nfs\\)://") . dnd-open-file)) "\ | 6728 | (defvar dnd-protocol-alist `((,(purecopy "^file:///") . dnd-open-local-file) (,(purecopy "^file://") . dnd-open-file) (,(purecopy "^file:") . dnd-open-local-file) (,(purecopy "^\\(https?\\|ftp\\|file\\|nfs\\)://") . dnd-open-file)) "\ |
| @@ -6758,7 +6743,7 @@ if some action was made, or nil if the URL is ignored.") | |||
| 6758 | ;;;*** | 6743 | ;;;*** |
| 6759 | 6744 | ||
| 6760 | ;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode" | 6745 | ;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode" |
| 6761 | ;;;;;; "textmodes/dns-mode.el" (20355 10021 546955 0)) | 6746 | ;;;;;; "textmodes/dns-mode.el" (20533 50312 678915 0)) |
| 6762 | ;;; Generated autoloads from textmodes/dns-mode.el | 6747 | ;;; Generated autoloads from textmodes/dns-mode.el |
| 6763 | 6748 | ||
| 6764 | (autoload 'dns-mode "dns-mode" "\ | 6749 | (autoload 'dns-mode "dns-mode" "\ |
| @@ -6782,8 +6767,8 @@ Locate SOA record and increment the serial field. | |||
| 6782 | ;;;*** | 6767 | ;;;*** |
| 6783 | 6768 | ||
| 6784 | ;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe | 6769 | ;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe |
| 6785 | ;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20581 | 6770 | ;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20584 |
| 6786 | ;;;;;; 31014 234484 0)) | 6771 | ;;;;;; 355 183605 0)) |
| 6787 | ;;; Generated autoloads from doc-view.el | 6772 | ;;; Generated autoloads from doc-view.el |
| 6788 | 6773 | ||
| 6789 | (autoload 'doc-view-mode-p "doc-view" "\ | 6774 | (autoload 'doc-view-mode-p "doc-view" "\ |
| @@ -6829,8 +6814,8 @@ See the command `doc-view-mode' for more information on this mode. | |||
| 6829 | 6814 | ||
| 6830 | ;;;*** | 6815 | ;;;*** |
| 6831 | 6816 | ||
| 6832 | ;;;### (autoloads (doctor) "doctor" "play/doctor.el" (20545 57511 | 6817 | ;;;### (autoloads (doctor) "doctor" "play/doctor.el" (20545 60086 |
| 6833 | ;;;;;; 257469 0)) | 6818 | ;;;;;; 510404 0)) |
| 6834 | ;;; Generated autoloads from play/doctor.el | 6819 | ;;; Generated autoloads from play/doctor.el |
| 6835 | 6820 | ||
| 6836 | (autoload 'doctor "doctor" "\ | 6821 | (autoload 'doctor "doctor" "\ |
| @@ -6840,8 +6825,8 @@ Switch to *doctor* buffer and start giving psychotherapy. | |||
| 6840 | 6825 | ||
| 6841 | ;;;*** | 6826 | ;;;*** |
| 6842 | 6827 | ||
| 6843 | ;;;### (autoloads (double-mode) "double" "double.el" (20355 10021 | 6828 | ;;;### (autoloads (double-mode) "double" "double.el" (20533 50312 |
| 6844 | ;;;;;; 546955 0)) | 6829 | ;;;;;; 678915 0)) |
| 6845 | ;;; Generated autoloads from double.el | 6830 | ;;; Generated autoloads from double.el |
| 6846 | 6831 | ||
| 6847 | (autoload 'double-mode "double" "\ | 6832 | (autoload 'double-mode "double" "\ |
| @@ -6857,8 +6842,8 @@ strings when pressed twice. See `double-map' for details. | |||
| 6857 | 6842 | ||
| 6858 | ;;;*** | 6843 | ;;;*** |
| 6859 | 6844 | ||
| 6860 | ;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (20545 57511 | 6845 | ;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (20545 60086 |
| 6861 | ;;;;;; 257469 0)) | 6846 | ;;;;;; 510404 0)) |
| 6862 | ;;; Generated autoloads from play/dunnet.el | 6847 | ;;; Generated autoloads from play/dunnet.el |
| 6863 | 6848 | ||
| 6864 | (autoload 'dunnet "dunnet" "\ | 6849 | (autoload 'dunnet "dunnet" "\ |
| @@ -6870,7 +6855,7 @@ Switch to *dungeon* buffer and start game. | |||
| 6870 | 6855 | ||
| 6871 | ;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap | 6856 | ;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap |
| 6872 | ;;;;;; define-globalized-minor-mode define-minor-mode) "easy-mmode" | 6857 | ;;;;;; define-globalized-minor-mode define-minor-mode) "easy-mmode" |
| 6873 | ;;;;;; "emacs-lisp/easy-mmode.el" (20574 57775 217760 0)) | 6858 | ;;;;;; "emacs-lisp/easy-mmode.el" (20573 55237 806451 754000)) |
| 6874 | ;;; Generated autoloads from emacs-lisp/easy-mmode.el | 6859 | ;;; Generated autoloads from emacs-lisp/easy-mmode.el |
| 6875 | 6860 | ||
| 6876 | (defalias 'easy-mmode-define-minor-mode 'define-minor-mode) | 6861 | (defalias 'easy-mmode-define-minor-mode 'define-minor-mode) |
| @@ -7006,7 +6991,7 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX). | |||
| 7006 | 6991 | ||
| 7007 | ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define | 6992 | ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define |
| 7008 | ;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (20615 | 6993 | ;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (20615 |
| 7009 | ;;;;;; 49194 141673 0)) | 6994 | ;;;;;; 25856 794590 959000)) |
| 7010 | ;;; Generated autoloads from emacs-lisp/easymenu.el | 6995 | ;;; Generated autoloads from emacs-lisp/easymenu.el |
| 7011 | 6996 | ||
| 7012 | (autoload 'easy-menu-define "easymenu" "\ | 6997 | (autoload 'easy-menu-define "easymenu" "\ |
| @@ -7151,7 +7136,7 @@ To implement dynamic menus, either call this from | |||
| 7151 | ;;;;;; ebnf-eps-file ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer | 7136 | ;;;;;; ebnf-eps-file ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer |
| 7152 | ;;;;;; ebnf-spool-file ebnf-spool-directory ebnf-print-region ebnf-print-buffer | 7137 | ;;;;;; ebnf-spool-file ebnf-spool-directory ebnf-print-region ebnf-print-buffer |
| 7153 | ;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps" | 7138 | ;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps" |
| 7154 | ;;;;;; "progmodes/ebnf2ps.el" (20566 63671 243798 0)) | 7139 | ;;;;;; "progmodes/ebnf2ps.el" (20566 46586 454636 778000)) |
| 7155 | ;;; Generated autoloads from progmodes/ebnf2ps.el | 7140 | ;;; Generated autoloads from progmodes/ebnf2ps.el |
| 7156 | 7141 | ||
| 7157 | (autoload 'ebnf-customize "ebnf2ps" "\ | 7142 | (autoload 'ebnf-customize "ebnf2ps" "\ |
| @@ -7425,8 +7410,8 @@ See `ebnf-style-database' documentation. | |||
| 7425 | ;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition | 7410 | ;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition |
| 7426 | ;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration | 7411 | ;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration |
| 7427 | ;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree | 7412 | ;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree |
| 7428 | ;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (20561 | 7413 | ;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (20562 |
| 7429 | ;;;;;; 18280 338092 0)) | 7414 | ;;;;;; 52650 563777 0)) |
| 7430 | ;;; Generated autoloads from progmodes/ebrowse.el | 7415 | ;;; Generated autoloads from progmodes/ebrowse.el |
| 7431 | 7416 | ||
| 7432 | (autoload 'ebrowse-tree-mode "ebrowse" "\ | 7417 | (autoload 'ebrowse-tree-mode "ebrowse" "\ |
| @@ -7575,7 +7560,7 @@ Display statistics for a class tree. | |||
| 7575 | ;;;*** | 7560 | ;;;*** |
| 7576 | 7561 | ||
| 7577 | ;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el" | 7562 | ;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el" |
| 7578 | ;;;;;; (20523 62082 997685 0)) | 7563 | ;;;;;; (20533 50312 678915 0)) |
| 7579 | ;;; Generated autoloads from ebuff-menu.el | 7564 | ;;; Generated autoloads from ebuff-menu.el |
| 7580 | 7565 | ||
| 7581 | (autoload 'electric-buffer-list "ebuff-menu" "\ | 7566 | (autoload 'electric-buffer-list "ebuff-menu" "\ |
| @@ -7608,7 +7593,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry. | |||
| 7608 | ;;;*** | 7593 | ;;;*** |
| 7609 | 7594 | ||
| 7610 | ;;;### (autoloads (Electric-command-history-redo-expression) "echistory" | 7595 | ;;;### (autoloads (Electric-command-history-redo-expression) "echistory" |
| 7611 | ;;;;;; "echistory.el" (20355 10021 546955 0)) | 7596 | ;;;;;; "echistory.el" (20533 50312 678915 0)) |
| 7612 | ;;; Generated autoloads from echistory.el | 7597 | ;;; Generated autoloads from echistory.el |
| 7613 | 7598 | ||
| 7614 | (autoload 'Electric-command-history-redo-expression "echistory" "\ | 7599 | (autoload 'Electric-command-history-redo-expression "echistory" "\ |
| @@ -7620,7 +7605,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing. | |||
| 7620 | ;;;*** | 7605 | ;;;*** |
| 7621 | 7606 | ||
| 7622 | ;;;### (autoloads (ecomplete-setup) "ecomplete" "gnus/ecomplete.el" | 7607 | ;;;### (autoloads (ecomplete-setup) "ecomplete" "gnus/ecomplete.el" |
| 7623 | ;;;;;; (20355 10021 546955 0)) | 7608 | ;;;;;; (20533 50312 678915 0)) |
| 7624 | ;;; Generated autoloads from gnus/ecomplete.el | 7609 | ;;; Generated autoloads from gnus/ecomplete.el |
| 7625 | 7610 | ||
| 7626 | (autoload 'ecomplete-setup "ecomplete" "\ | 7611 | (autoload 'ecomplete-setup "ecomplete" "\ |
| @@ -7630,8 +7615,8 @@ With prefix arg NOCONFIRM, execute current line as-is without editing. | |||
| 7630 | 7615 | ||
| 7631 | ;;;*** | 7616 | ;;;*** |
| 7632 | 7617 | ||
| 7633 | ;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (20590 45996 | 7618 | ;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (20590 37036 |
| 7634 | ;;;;;; 129575 0)) | 7619 | ;;;;;; 437844 0)) |
| 7635 | ;;; Generated autoloads from cedet/ede.el | 7620 | ;;; Generated autoloads from cedet/ede.el |
| 7636 | 7621 | ||
| 7637 | (defvar global-ede-mode nil "\ | 7622 | (defvar global-ede-mode nil "\ |
| @@ -7658,7 +7643,7 @@ an EDE controlled project. | |||
| 7658 | 7643 | ||
| 7659 | ;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form | 7644 | ;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form |
| 7660 | ;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" | 7645 | ;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" |
| 7661 | ;;;;;; "emacs-lisp/edebug.el" (20594 43050 277913 0)) | 7646 | ;;;;;; "emacs-lisp/edebug.el" (20652 52617 313760 0)) |
| 7662 | ;;; Generated autoloads from emacs-lisp/edebug.el | 7647 | ;;; Generated autoloads from emacs-lisp/edebug.el |
| 7663 | 7648 | ||
| 7664 | (defvar edebug-all-defs nil "\ | 7649 | (defvar edebug-all-defs nil "\ |
| @@ -7731,8 +7716,8 @@ Toggle edebugging of all forms. | |||
| 7731 | ;;;;;; ediff-merge-directories-with-ancestor ediff-merge-directories | 7716 | ;;;;;; ediff-merge-directories-with-ancestor ediff-merge-directories |
| 7732 | ;;;;;; ediff-directories3 ediff-directory-revisions ediff-directories | 7717 | ;;;;;; ediff-directories3 ediff-directory-revisions ediff-directories |
| 7733 | ;;;;;; ediff-buffers3 ediff-buffers ediff-backup ediff-current-file | 7718 | ;;;;;; ediff-buffers3 ediff-buffers ediff-backup ediff-current-file |
| 7734 | ;;;;;; ediff-files3 ediff-files) "ediff" "vc/ediff.el" (20495 51111 | 7719 | ;;;;;; ediff-files3 ediff-files) "ediff" "vc/ediff.el" (20533 50312 |
| 7735 | ;;;;;; 757560 0)) | 7720 | ;;;;;; 678915 0)) |
| 7736 | ;;; Generated autoloads from vc/ediff.el | 7721 | ;;; Generated autoloads from vc/ediff.el |
| 7737 | 7722 | ||
| 7738 | (autoload 'ediff-files "ediff" "\ | 7723 | (autoload 'ediff-files "ediff" "\ |
| @@ -7964,7 +7949,7 @@ With optional NODE, goes to that node. | |||
| 7964 | ;;;*** | 7949 | ;;;*** |
| 7965 | 7950 | ||
| 7966 | ;;;### (autoloads (ediff-customize) "ediff-help" "vc/ediff-help.el" | 7951 | ;;;### (autoloads (ediff-customize) "ediff-help" "vc/ediff-help.el" |
| 7967 | ;;;;;; (20355 10021 546955 0)) | 7952 | ;;;;;; (20533 50312 678915 0)) |
| 7968 | ;;; Generated autoloads from vc/ediff-help.el | 7953 | ;;; Generated autoloads from vc/ediff-help.el |
| 7969 | 7954 | ||
| 7970 | (autoload 'ediff-customize "ediff-help" "\ | 7955 | (autoload 'ediff-customize "ediff-help" "\ |
| @@ -7975,7 +7960,7 @@ With optional NODE, goes to that node. | |||
| 7975 | ;;;*** | 7960 | ;;;*** |
| 7976 | 7961 | ||
| 7977 | ;;;### (autoloads (ediff-show-registry) "ediff-mult" "vc/ediff-mult.el" | 7962 | ;;;### (autoloads (ediff-show-registry) "ediff-mult" "vc/ediff-mult.el" |
| 7978 | ;;;;;; (20614 54428 654267 0)) | 7963 | ;;;;;; (20615 22847 537904 0)) |
| 7979 | ;;; Generated autoloads from vc/ediff-mult.el | 7964 | ;;; Generated autoloads from vc/ediff-mult.el |
| 7980 | 7965 | ||
| 7981 | (autoload 'ediff-show-registry "ediff-mult" "\ | 7966 | (autoload 'ediff-show-registry "ediff-mult" "\ |
| @@ -7988,7 +7973,7 @@ Display Ediff's registry. | |||
| 7988 | ;;;*** | 7973 | ;;;*** |
| 7989 | 7974 | ||
| 7990 | ;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe) | 7975 | ;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe) |
| 7991 | ;;;;;; "ediff-util" "vc/ediff-util.el" (20584 7212 455152 0)) | 7976 | ;;;;;; "ediff-util" "vc/ediff-util.el" (20584 355 183605 0)) |
| 7992 | ;;; Generated autoloads from vc/ediff-util.el | 7977 | ;;; Generated autoloads from vc/ediff-util.el |
| 7993 | 7978 | ||
| 7994 | (autoload 'ediff-toggle-multiframe "ediff-util" "\ | 7979 | (autoload 'ediff-toggle-multiframe "ediff-util" "\ |
| @@ -8009,7 +7994,7 @@ To change the default, set the variable `ediff-use-toolbar-p', which see. | |||
| 8009 | 7994 | ||
| 8010 | ;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro | 7995 | ;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro |
| 8011 | ;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el" | 7996 | ;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el" |
| 8012 | ;;;;;; (20476 31768 298871 0)) | 7997 | ;;;;;; (20533 50312 678915 0)) |
| 8013 | ;;; Generated autoloads from edmacro.el | 7998 | ;;; Generated autoloads from edmacro.el |
| 8014 | 7999 | ||
| 8015 | (autoload 'edit-kbd-macro "edmacro" "\ | 8000 | (autoload 'edit-kbd-macro "edmacro" "\ |
| @@ -8058,7 +8043,7 @@ or nil, use a compact 80-column format. | |||
| 8058 | ;;;*** | 8043 | ;;;*** |
| 8059 | 8044 | ||
| 8060 | ;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt" | 8045 | ;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt" |
| 8061 | ;;;;;; "emulation/edt.el" (20566 63671 243798 0)) | 8046 | ;;;;;; "emulation/edt.el" (20566 46383 798627 826000)) |
| 8062 | ;;; Generated autoloads from emulation/edt.el | 8047 | ;;; Generated autoloads from emulation/edt.el |
| 8063 | 8048 | ||
| 8064 | (autoload 'edt-set-scroll-margins "edt" "\ | 8049 | (autoload 'edt-set-scroll-margins "edt" "\ |
| @@ -8076,7 +8061,7 @@ Turn on EDT Emulation. | |||
| 8076 | ;;;*** | 8061 | ;;;*** |
| 8077 | 8062 | ||
| 8078 | ;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el" | 8063 | ;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el" |
| 8079 | ;;;;;; (20593 22184 581574 0)) | 8064 | ;;;;;; (20594 14884 858174 0)) |
| 8080 | ;;; Generated autoloads from ehelp.el | 8065 | ;;; Generated autoloads from ehelp.el |
| 8081 | 8066 | ||
| 8082 | (autoload 'with-electric-help "ehelp" "\ | 8067 | (autoload 'with-electric-help "ehelp" "\ |
| @@ -8113,7 +8098,7 @@ BUFFER is put back into its original major mode. | |||
| 8113 | ;;;*** | 8098 | ;;;*** |
| 8114 | 8099 | ||
| 8115 | ;;;### (autoloads (customize-object) "eieio-custom" "emacs-lisp/eieio-custom.el" | 8100 | ;;;### (autoloads (customize-object) "eieio-custom" "emacs-lisp/eieio-custom.el" |
| 8116 | ;;;;;; (20586 48936 135199 0)) | 8101 | ;;;;;; (20585 42108 911494 670000)) |
| 8117 | ;;; Generated autoloads from emacs-lisp/eieio-custom.el | 8102 | ;;; Generated autoloads from emacs-lisp/eieio-custom.el |
| 8118 | 8103 | ||
| 8119 | (autoload 'customize-object "eieio-custom" "\ | 8104 | (autoload 'customize-object "eieio-custom" "\ |
| @@ -8126,7 +8111,7 @@ Optional argument GROUP is the sub-group of slots to display. | |||
| 8126 | 8111 | ||
| 8127 | ;;;### (autoloads (eieio-describe-generic eieio-describe-constructor | 8112 | ;;;### (autoloads (eieio-describe-generic eieio-describe-constructor |
| 8128 | ;;;;;; eieio-describe-class eieio-browse) "eieio-opt" "emacs-lisp/eieio-opt.el" | 8113 | ;;;;;; eieio-describe-class eieio-browse) "eieio-opt" "emacs-lisp/eieio-opt.el" |
| 8129 | ;;;;;; (20617 41641 89638 0)) | 8114 | ;;;;;; (20619 27099 673959 0)) |
| 8130 | ;;; Generated autoloads from emacs-lisp/eieio-opt.el | 8115 | ;;; Generated autoloads from emacs-lisp/eieio-opt.el |
| 8131 | 8116 | ||
| 8132 | (autoload 'eieio-browse "eieio-opt" "\ | 8117 | (autoload 'eieio-browse "eieio-opt" "\ |
| @@ -8160,7 +8145,7 @@ Also extracts information about all methods specific to this generic. | |||
| 8160 | ;;;*** | 8145 | ;;;*** |
| 8161 | 8146 | ||
| 8162 | ;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string) | 8147 | ;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string) |
| 8163 | ;;;;;; "eldoc" "emacs-lisp/eldoc.el" (20355 10021 546955 0)) | 8148 | ;;;;;; "eldoc" "emacs-lisp/eldoc.el" (20533 50312 678915 0)) |
| 8164 | ;;; Generated autoloads from emacs-lisp/eldoc.el | 8149 | ;;; Generated autoloads from emacs-lisp/eldoc.el |
| 8165 | 8150 | ||
| 8166 | (defvar eldoc-minor-mode-string (purecopy " ElDoc") "\ | 8151 | (defvar eldoc-minor-mode-string (purecopy " ElDoc") "\ |
| @@ -8207,7 +8192,7 @@ Emacs Lisp mode) that support ElDoc.") | |||
| 8207 | ;;;*** | 8192 | ;;;*** |
| 8208 | 8193 | ||
| 8209 | ;;;### (autoloads (electric-layout-mode electric-pair-mode electric-indent-mode) | 8194 | ;;;### (autoloads (electric-layout-mode electric-pair-mode electric-indent-mode) |
| 8210 | ;;;;;; "electric" "electric.el" (20613 49078 764749 0)) | 8195 | ;;;;;; "electric" "electric.el" (20613 39767 44650 0)) |
| 8211 | ;;; Generated autoloads from electric.el | 8196 | ;;; Generated autoloads from electric.el |
| 8212 | 8197 | ||
| 8213 | (defvar electric-indent-chars '(10) "\ | 8198 | (defvar electric-indent-chars '(10) "\ |
| @@ -8277,8 +8262,8 @@ The variable `electric-layout-rules' says when and how to insert newlines. | |||
| 8277 | 8262 | ||
| 8278 | ;;;*** | 8263 | ;;;*** |
| 8279 | 8264 | ||
| 8280 | ;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (20355 | 8265 | ;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (20533 |
| 8281 | ;;;;;; 10021 546955 0)) | 8266 | ;;;;;; 50312 678915 0)) |
| 8282 | ;;; Generated autoloads from elide-head.el | 8267 | ;;; Generated autoloads from elide-head.el |
| 8283 | 8268 | ||
| 8284 | (autoload 'elide-head "elide-head" "\ | 8269 | (autoload 'elide-head "elide-head" "\ |
| @@ -8295,7 +8280,7 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks. | |||
| 8295 | 8280 | ||
| 8296 | ;;;### (autoloads (elint-initialize elint-defun elint-current-buffer | 8281 | ;;;### (autoloads (elint-initialize elint-defun elint-current-buffer |
| 8297 | ;;;;;; elint-directory elint-file) "elint" "emacs-lisp/elint.el" | 8282 | ;;;;;; elint-directory elint-file) "elint" "emacs-lisp/elint.el" |
| 8298 | ;;;;;; (20486 36135 22104 0)) | 8283 | ;;;;;; (20533 50312 678915 0)) |
| 8299 | ;;; Generated autoloads from emacs-lisp/elint.el | 8284 | ;;; Generated autoloads from emacs-lisp/elint.el |
| 8300 | 8285 | ||
| 8301 | (autoload 'elint-file "elint" "\ | 8286 | (autoload 'elint-file "elint" "\ |
| @@ -8331,8 +8316,8 @@ optional prefix argument REINIT is non-nil. | |||
| 8331 | ;;;*** | 8316 | ;;;*** |
| 8332 | 8317 | ||
| 8333 | ;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list | 8318 | ;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list |
| 8334 | ;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (20497 | 8319 | ;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (20647 |
| 8335 | ;;;;;; 6436 957082 0)) | 8320 | ;;;;;; 7982 429263 0)) |
| 8336 | ;;; Generated autoloads from emacs-lisp/elp.el | 8321 | ;;; Generated autoloads from emacs-lisp/elp.el |
| 8337 | 8322 | ||
| 8338 | (autoload 'elp-instrument-function "elp" "\ | 8323 | (autoload 'elp-instrument-function "elp" "\ |
| @@ -8367,7 +8352,7 @@ displayed. | |||
| 8367 | ;;;*** | 8352 | ;;;*** |
| 8368 | 8353 | ||
| 8369 | ;;;### (autoloads (emacs-lock-mode) "emacs-lock" "emacs-lock.el" | 8354 | ;;;### (autoloads (emacs-lock-mode) "emacs-lock" "emacs-lock.el" |
| 8370 | ;;;;;; (20577 33959 40183 0)) | 8355 | ;;;;;; (20574 60091 377598 17000)) |
| 8371 | ;;; Generated autoloads from emacs-lock.el | 8356 | ;;; Generated autoloads from emacs-lock.el |
| 8372 | 8357 | ||
| 8373 | (autoload 'emacs-lock-mode "emacs-lock" "\ | 8358 | (autoload 'emacs-lock-mode "emacs-lock" "\ |
| @@ -8394,8 +8379,8 @@ Other values are interpreted as usual. | |||
| 8394 | 8379 | ||
| 8395 | ;;;*** | 8380 | ;;;*** |
| 8396 | 8381 | ||
| 8397 | ;;;### (autoloads (report-emacs-bug-query-existing-bugs report-emacs-bug) | 8382 | ;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el" |
| 8398 | ;;;;;; "emacsbug" "mail/emacsbug.el" (20576 13095 881042 0)) | 8383 | ;;;;;; (20647 7982 429263 0)) |
| 8399 | ;;; Generated autoloads from mail/emacsbug.el | 8384 | ;;; Generated autoloads from mail/emacsbug.el |
| 8400 | 8385 | ||
| 8401 | (autoload 'report-emacs-bug "emacsbug" "\ | 8386 | (autoload 'report-emacs-bug "emacsbug" "\ |
| @@ -8404,19 +8389,13 @@ Prompts for bug subject. Leaves you in a mail buffer. | |||
| 8404 | 8389 | ||
| 8405 | \(fn TOPIC &optional RECENT-KEYS)" t nil) | 8390 | \(fn TOPIC &optional RECENT-KEYS)" t nil) |
| 8406 | 8391 | ||
| 8407 | (autoload 'report-emacs-bug-query-existing-bugs "emacsbug" "\ | ||
| 8408 | Query for KEYWORDS at `report-emacs-bug-tracker-url', and return the result. | ||
| 8409 | The result is an alist with items of the form (URL SUBJECT NO). | ||
| 8410 | |||
| 8411 | \(fn KEYWORDS)" t nil) | ||
| 8412 | |||
| 8413 | ;;;*** | 8392 | ;;;*** |
| 8414 | 8393 | ||
| 8415 | ;;;### (autoloads (emerge-merge-directories emerge-revisions-with-ancestor | 8394 | ;;;### (autoloads (emerge-merge-directories emerge-revisions-with-ancestor |
| 8416 | ;;;;;; emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote | 8395 | ;;;;;; emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote |
| 8417 | ;;;;;; emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor | 8396 | ;;;;;; emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor |
| 8418 | ;;;;;; emerge-buffers emerge-files-with-ancestor emerge-files) "emerge" | 8397 | ;;;;;; emerge-buffers emerge-files-with-ancestor emerge-files) "emerge" |
| 8419 | ;;;;;; "vc/emerge.el" (20576 42138 697312 0)) | 8398 | ;;;;;; "vc/emerge.el" (20576 20472 112114 850000)) |
| 8420 | ;;; Generated autoloads from vc/emerge.el | 8399 | ;;; Generated autoloads from vc/emerge.el |
| 8421 | 8400 | ||
| 8422 | (autoload 'emerge-files "emerge" "\ | 8401 | (autoload 'emerge-files "emerge" "\ |
| @@ -8477,7 +8456,7 @@ Emerge two RCS revisions of a file, with another revision as ancestor. | |||
| 8477 | ;;;*** | 8456 | ;;;*** |
| 8478 | 8457 | ||
| 8479 | ;;;### (autoloads (enriched-decode enriched-encode enriched-mode) | 8458 | ;;;### (autoloads (enriched-decode enriched-encode enriched-mode) |
| 8480 | ;;;;;; "enriched" "textmodes/enriched.el" (20461 32935 300400 0)) | 8459 | ;;;;;; "enriched" "textmodes/enriched.el" (20533 50312 678915 0)) |
| 8481 | ;;; Generated autoloads from textmodes/enriched.el | 8460 | ;;; Generated autoloads from textmodes/enriched.el |
| 8482 | 8461 | ||
| 8483 | (autoload 'enriched-mode "enriched" "\ | 8462 | (autoload 'enriched-mode "enriched" "\ |
| @@ -8518,7 +8497,7 @@ Commands: | |||
| 8518 | ;;;;;; epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file | 8497 | ;;;;;; epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file |
| 8519 | ;;;;;; epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys | 8498 | ;;;;;; epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys |
| 8520 | ;;;;;; epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20577 | 8499 | ;;;;;; epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20577 |
| 8521 | ;;;;;; 33959 40183 0)) | 8500 | ;;;;;; 6050 709767 255000)) |
| 8522 | ;;; Generated autoloads from epa.el | 8501 | ;;; Generated autoloads from epa.el |
| 8523 | 8502 | ||
| 8524 | (autoload 'epa-list-keys "epa" "\ | 8503 | (autoload 'epa-list-keys "epa" "\ |
| @@ -8696,8 +8675,8 @@ Insert selected KEYS after the point. | |||
| 8696 | ;;;*** | 8675 | ;;;*** |
| 8697 | 8676 | ||
| 8698 | ;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify | 8677 | ;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify |
| 8699 | ;;;;;; epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (20355 10021 | 8678 | ;;;;;; epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (20533 50312 |
| 8700 | ;;;;;; 546955 0)) | 8679 | ;;;;;; 678915 0)) |
| 8701 | ;;; Generated autoloads from epa-dired.el | 8680 | ;;; Generated autoloads from epa-dired.el |
| 8702 | 8681 | ||
| 8703 | (autoload 'epa-dired-do-decrypt "epa-dired" "\ | 8682 | (autoload 'epa-dired-do-decrypt "epa-dired" "\ |
| @@ -8723,7 +8702,7 @@ Encrypt marked files. | |||
| 8723 | ;;;*** | 8702 | ;;;*** |
| 8724 | 8703 | ||
| 8725 | ;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler) | 8704 | ;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler) |
| 8726 | ;;;;;; "epa-file" "epa-file.el" (20355 10021 546955 0)) | 8705 | ;;;;;; "epa-file" "epa-file.el" (20533 50312 678915 0)) |
| 8727 | ;;; Generated autoloads from epa-file.el | 8706 | ;;; Generated autoloads from epa-file.el |
| 8728 | 8707 | ||
| 8729 | (autoload 'epa-file-handler "epa-file" "\ | 8708 | (autoload 'epa-file-handler "epa-file" "\ |
| @@ -8745,7 +8724,7 @@ Encrypt marked files. | |||
| 8745 | 8724 | ||
| 8746 | ;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt | 8725 | ;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt |
| 8747 | ;;;;;; epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode) | 8726 | ;;;;;; epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode) |
| 8748 | ;;;;;; "epa-mail" "epa-mail.el" (20566 63671 243798 0)) | 8727 | ;;;;;; "epa-mail" "epa-mail.el" (20567 14136 702359 0)) |
| 8749 | ;;; Generated autoloads from epa-mail.el | 8728 | ;;; Generated autoloads from epa-mail.el |
| 8750 | 8729 | ||
| 8751 | (autoload 'epa-mail-mode "epa-mail" "\ | 8730 | (autoload 'epa-mail-mode "epa-mail" "\ |
| @@ -8815,8 +8794,8 @@ if ARG is omitted or nil. | |||
| 8815 | 8794 | ||
| 8816 | ;;;*** | 8795 | ;;;*** |
| 8817 | 8796 | ||
| 8818 | ;;;### (autoloads (epg-make-context) "epg" "epg.el" (20577 33959 | 8797 | ;;;### (autoloads (epg-make-context) "epg" "epg.el" (20577 6315 457768 |
| 8819 | ;;;;;; 40183 0)) | 8798 | ;;;;;; 40000)) |
| 8820 | ;;; Generated autoloads from epg.el | 8799 | ;;; Generated autoloads from epg.el |
| 8821 | 8800 | ||
| 8822 | (autoload 'epg-make-context "epg" "\ | 8801 | (autoload 'epg-make-context "epg" "\ |
| @@ -8827,7 +8806,7 @@ Return a context object. | |||
| 8827 | ;;;*** | 8806 | ;;;*** |
| 8828 | 8807 | ||
| 8829 | ;;;### (autoloads (epg-expand-group epg-check-configuration epg-configuration) | 8808 | ;;;### (autoloads (epg-expand-group epg-check-configuration epg-configuration) |
| 8830 | ;;;;;; "epg-config" "epg-config.el" (20373 11301 906925 0)) | 8809 | ;;;;;; "epg-config" "epg-config.el" (20533 50312 678915 0)) |
| 8831 | ;;; Generated autoloads from epg-config.el | 8810 | ;;; Generated autoloads from epg-config.el |
| 8832 | 8811 | ||
| 8833 | (autoload 'epg-configuration "epg-config" "\ | 8812 | (autoload 'epg-configuration "epg-config" "\ |
| @@ -8848,7 +8827,7 @@ Look at CONFIG and try to expand GROUP. | |||
| 8848 | ;;;*** | 8827 | ;;;*** |
| 8849 | 8828 | ||
| 8850 | ;;;### (autoloads (erc-handle-irc-url erc-tls erc erc-select-read-args) | 8829 | ;;;### (autoloads (erc-handle-irc-url erc-tls erc erc-select-read-args) |
| 8851 | ;;;;;; "erc" "erc/erc.el" (20604 29767 397763 0)) | 8830 | ;;;;;; "erc" "erc/erc.el" (20666 889 186471 0)) |
| 8852 | ;;; Generated autoloads from erc/erc.el | 8831 | ;;; Generated autoloads from erc/erc.el |
| 8853 | 8832 | ||
| 8854 | (autoload 'erc-select-read-args "erc" "\ | 8833 | (autoload 'erc-select-read-args "erc" "\ |
| @@ -8896,36 +8875,36 @@ Otherwise, connect to HOST:PORT as USER and /join CHANNEL. | |||
| 8896 | 8875 | ||
| 8897 | ;;;*** | 8876 | ;;;*** |
| 8898 | 8877 | ||
| 8899 | ;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (20591 | 8878 | ;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (20592 |
| 8900 | ;;;;;; 33616 626144 310000)) | 8879 | ;;;;;; 4085 721682 0)) |
| 8901 | ;;; Generated autoloads from erc/erc-autoaway.el | 8880 | ;;; Generated autoloads from erc/erc-autoaway.el |
| 8902 | (autoload 'erc-autoaway-mode "erc-autoaway") | 8881 | (autoload 'erc-autoaway-mode "erc-autoaway") |
| 8903 | 8882 | ||
| 8904 | ;;;*** | 8883 | ;;;*** |
| 8905 | 8884 | ||
| 8906 | ;;;### (autoloads nil "erc-button" "erc/erc-button.el" (20593 22184 | 8885 | ;;;### (autoloads nil "erc-button" "erc/erc-button.el" (20594 14884 |
| 8907 | ;;;;;; 581574 0)) | 8886 | ;;;;;; 858174 0)) |
| 8908 | ;;; Generated autoloads from erc/erc-button.el | 8887 | ;;; Generated autoloads from erc/erc-button.el |
| 8909 | (autoload 'erc-button-mode "erc-button" nil t) | 8888 | (autoload 'erc-button-mode "erc-button" nil t) |
| 8910 | 8889 | ||
| 8911 | ;;;*** | 8890 | ;;;*** |
| 8912 | 8891 | ||
| 8913 | ;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (20591 33616 | 8892 | ;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (20650 61396 |
| 8914 | ;;;;;; 706147 283000)) | 8893 | ;;;;;; 673885 0)) |
| 8915 | ;;; Generated autoloads from erc/erc-capab.el | 8894 | ;;; Generated autoloads from erc/erc-capab.el |
| 8916 | (autoload 'erc-capab-identify-mode "erc-capab" nil t) | 8895 | (autoload 'erc-capab-identify-mode "erc-capab" nil t) |
| 8917 | 8896 | ||
| 8918 | ;;;*** | 8897 | ;;;*** |
| 8919 | 8898 | ||
| 8920 | ;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (20591 33616 | 8899 | ;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (20592 4085 |
| 8921 | ;;;;;; 736174 412000)) | 8900 | ;;;;;; 721682 0)) |
| 8922 | ;;; Generated autoloads from erc/erc-compat.el | 8901 | ;;; Generated autoloads from erc/erc-compat.el |
| 8923 | (autoload 'erc-define-minor-mode "erc-compat") | 8902 | (autoload 'erc-define-minor-mode "erc-compat") |
| 8924 | 8903 | ||
| 8925 | ;;;*** | 8904 | ;;;*** |
| 8926 | 8905 | ||
| 8927 | ;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC) | 8906 | ;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC) |
| 8928 | ;;;;;; "erc-dcc" "erc/erc-dcc.el" (20591 33616 756180 926000)) | 8907 | ;;;;;; "erc-dcc" "erc/erc-dcc.el" (20650 61396 673885 0)) |
| 8929 | ;;; Generated autoloads from erc/erc-dcc.el | 8908 | ;;; Generated autoloads from erc/erc-dcc.el |
| 8930 | (autoload 'erc-dcc-mode "erc-dcc") | 8909 | (autoload 'erc-dcc-mode "erc-dcc") |
| 8931 | 8910 | ||
| @@ -8955,7 +8934,7 @@ that subcommand. | |||
| 8955 | ;;;*** | 8934 | ;;;*** |
| 8956 | 8935 | ||
| 8957 | ;;;### (autoloads nil "erc-desktop-notifications" "erc/erc-desktop-notifications.el" | 8936 | ;;;### (autoloads nil "erc-desktop-notifications" "erc/erc-desktop-notifications.el" |
| 8958 | ;;;;;; (20593 22184 581574 0)) | 8937 | ;;;;;; (20594 14884 858174 0)) |
| 8959 | ;;; Generated autoloads from erc/erc-desktop-notifications.el | 8938 | ;;; Generated autoloads from erc/erc-desktop-notifications.el |
| 8960 | (autoload 'erc-notifications-mode "erc-desktop-notifications" "" t) | 8939 | (autoload 'erc-notifications-mode "erc-desktop-notifications" "" t) |
| 8961 | 8940 | ||
| @@ -8965,7 +8944,7 @@ that subcommand. | |||
| 8965 | ;;;;;; erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list | 8944 | ;;;;;; erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list |
| 8966 | ;;;;;; erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action | 8945 | ;;;;;; erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action |
| 8967 | ;;;;;; erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el" | 8946 | ;;;;;; erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el" |
| 8968 | ;;;;;; (20591 33616 766161 665000)) | 8947 | ;;;;;; (20650 61396 673885 0)) |
| 8969 | ;;; Generated autoloads from erc/erc-ezbounce.el | 8948 | ;;; Generated autoloads from erc/erc-ezbounce.el |
| 8970 | 8949 | ||
| 8971 | (autoload 'erc-cmd-ezb "erc-ezbounce" "\ | 8950 | (autoload 'erc-cmd-ezb "erc-ezbounce" "\ |
| @@ -9027,8 +9006,8 @@ Add EZBouncer convenience functions to ERC. | |||
| 9027 | 9006 | ||
| 9028 | ;;;*** | 9007 | ;;;*** |
| 9029 | 9008 | ||
| 9030 | ;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (20591 | 9009 | ;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (20592 |
| 9031 | ;;;;;; 33616 776163 920000)) | 9010 | ;;;;;; 4085 721682 0)) |
| 9032 | ;;; Generated autoloads from erc/erc-fill.el | 9011 | ;;; Generated autoloads from erc/erc-fill.el |
| 9033 | (autoload 'erc-fill-mode "erc-fill" nil t) | 9012 | (autoload 'erc-fill-mode "erc-fill" nil t) |
| 9034 | 9013 | ||
| @@ -9041,7 +9020,7 @@ You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'. | |||
| 9041 | ;;;*** | 9020 | ;;;*** |
| 9042 | 9021 | ||
| 9043 | ;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd" | 9022 | ;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd" |
| 9044 | ;;;;;; "erc/erc-identd.el" (20591 33616 794740 81000)) | 9023 | ;;;;;; "erc/erc-identd.el" (20592 4085 721682 0)) |
| 9045 | ;;; Generated autoloads from erc/erc-identd.el | 9024 | ;;; Generated autoloads from erc/erc-identd.el |
| 9046 | (autoload 'erc-identd-mode "erc-identd") | 9025 | (autoload 'erc-identd-mode "erc-identd") |
| 9047 | 9026 | ||
| @@ -9063,7 +9042,7 @@ system. | |||
| 9063 | ;;;*** | 9042 | ;;;*** |
| 9064 | 9043 | ||
| 9065 | ;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el" | 9044 | ;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el" |
| 9066 | ;;;;;; (20591 33616 794740 81000)) | 9045 | ;;;;;; (20592 4085 721682 0)) |
| 9067 | ;;; Generated autoloads from erc/erc-imenu.el | 9046 | ;;; Generated autoloads from erc/erc-imenu.el |
| 9068 | 9047 | ||
| 9069 | (autoload 'erc-create-imenu-index "erc-imenu" "\ | 9048 | (autoload 'erc-create-imenu-index "erc-imenu" "\ |
| @@ -9073,22 +9052,22 @@ system. | |||
| 9073 | 9052 | ||
| 9074 | ;;;*** | 9053 | ;;;*** |
| 9075 | 9054 | ||
| 9076 | ;;;### (autoloads nil "erc-join" "erc/erc-join.el" (20591 33616 804732 | 9055 | ;;;### (autoloads nil "erc-join" "erc/erc-join.el" (20650 61396 673885 |
| 9077 | ;;;;;; 878000)) | 9056 | ;;;;;; 0)) |
| 9078 | ;;; Generated autoloads from erc/erc-join.el | 9057 | ;;; Generated autoloads from erc/erc-join.el |
| 9079 | (autoload 'erc-autojoin-mode "erc-join" nil t) | 9058 | (autoload 'erc-autojoin-mode "erc-join" nil t) |
| 9080 | 9059 | ||
| 9081 | ;;;*** | 9060 | ;;;*** |
| 9082 | 9061 | ||
| 9083 | ;;;### (autoloads nil "erc-list" "erc/erc-list.el" (20591 33616 824757 | 9062 | ;;;### (autoloads nil "erc-list" "erc/erc-list.el" (20592 4085 721682 |
| 9084 | ;;;;;; 867000)) | 9063 | ;;;;;; 0)) |
| 9085 | ;;; Generated autoloads from erc/erc-list.el | 9064 | ;;; Generated autoloads from erc/erc-list.el |
| 9086 | (autoload 'erc-list-mode "erc-list") | 9065 | (autoload 'erc-list-mode "erc-list") |
| 9087 | 9066 | ||
| 9088 | ;;;*** | 9067 | ;;;*** |
| 9089 | 9068 | ||
| 9090 | ;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log" | 9069 | ;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log" |
| 9091 | ;;;;;; "erc/erc-log.el" (20593 22184 581574 0)) | 9070 | ;;;;;; "erc/erc-log.el" (20650 61396 673885 0)) |
| 9092 | ;;; Generated autoloads from erc/erc-log.el | 9071 | ;;; Generated autoloads from erc/erc-log.el |
| 9093 | (autoload 'erc-log-mode "erc-log" nil t) | 9072 | (autoload 'erc-log-mode "erc-log" nil t) |
| 9094 | 9073 | ||
| @@ -9120,7 +9099,7 @@ You can save every individual message by putting this function on | |||
| 9120 | ;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host | 9099 | ;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host |
| 9121 | ;;;;;; erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool | 9100 | ;;;;;; erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool |
| 9122 | ;;;;;; erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el" | 9101 | ;;;;;; erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el" |
| 9123 | ;;;;;; (20591 33616 834740 676000)) | 9102 | ;;;;;; (20650 61396 673885 0)) |
| 9124 | ;;; Generated autoloads from erc/erc-match.el | 9103 | ;;; Generated autoloads from erc/erc-match.el |
| 9125 | (autoload 'erc-match-mode "erc-match") | 9104 | (autoload 'erc-match-mode "erc-match") |
| 9126 | 9105 | ||
| @@ -9166,15 +9145,15 @@ Delete dangerous-host interactively to `erc-dangerous-hosts'. | |||
| 9166 | 9145 | ||
| 9167 | ;;;*** | 9146 | ;;;*** |
| 9168 | 9147 | ||
| 9169 | ;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (20591 33616 844710 | 9148 | ;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (20592 4085 721682 |
| 9170 | ;;;;;; 904000)) | 9149 | ;;;;;; 0)) |
| 9171 | ;;; Generated autoloads from erc/erc-menu.el | 9150 | ;;; Generated autoloads from erc/erc-menu.el |
| 9172 | (autoload 'erc-menu-mode "erc-menu" nil t) | 9151 | (autoload 'erc-menu-mode "erc-menu" nil t) |
| 9173 | 9152 | ||
| 9174 | ;;;*** | 9153 | ;;;*** |
| 9175 | 9154 | ||
| 9176 | ;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el" | 9155 | ;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el" |
| 9177 | ;;;;;; (20591 33616 854733 799000)) | 9156 | ;;;;;; (20650 61396 673885 0)) |
| 9178 | ;;; Generated autoloads from erc/erc-netsplit.el | 9157 | ;;; Generated autoloads from erc/erc-netsplit.el |
| 9179 | (autoload 'erc-netsplit-mode "erc-netsplit") | 9158 | (autoload 'erc-netsplit-mode "erc-netsplit") |
| 9180 | 9159 | ||
| @@ -9186,7 +9165,7 @@ Show who's gone. | |||
| 9186 | ;;;*** | 9165 | ;;;*** |
| 9187 | 9166 | ||
| 9188 | ;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks" | 9167 | ;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks" |
| 9189 | ;;;;;; "erc/erc-networks.el" (20591 33616 854733 799000)) | 9168 | ;;;;;; "erc/erc-networks.el" (20650 61396 673885 0)) |
| 9190 | ;;; Generated autoloads from erc/erc-networks.el | 9169 | ;;; Generated autoloads from erc/erc-networks.el |
| 9191 | 9170 | ||
| 9192 | (autoload 'erc-determine-network "erc-networks" "\ | 9171 | (autoload 'erc-determine-network "erc-networks" "\ |
| @@ -9204,7 +9183,7 @@ Interactively select a server to connect to using `erc-server-alist'. | |||
| 9204 | ;;;*** | 9183 | ;;;*** |
| 9205 | 9184 | ||
| 9206 | ;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify" | 9185 | ;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify" |
| 9207 | ;;;;;; "erc/erc-notify.el" (20591 33616 864734 46000)) | 9186 | ;;;;;; "erc/erc-notify.el" (20650 61396 673885 0)) |
| 9208 | ;;; Generated autoloads from erc/erc-notify.el | 9187 | ;;; Generated autoloads from erc/erc-notify.el |
| 9209 | (autoload 'erc-notify-mode "erc-notify" nil t) | 9188 | (autoload 'erc-notify-mode "erc-notify" nil t) |
| 9210 | 9189 | ||
| @@ -9222,37 +9201,37 @@ with args, toggle notify status of people. | |||
| 9222 | 9201 | ||
| 9223 | ;;;*** | 9202 | ;;;*** |
| 9224 | 9203 | ||
| 9225 | ;;;### (autoloads nil "erc-page" "erc/erc-page.el" (20591 33616 864734 | 9204 | ;;;### (autoloads nil "erc-page" "erc/erc-page.el" (20592 4085 721682 |
| 9226 | ;;;;;; 46000)) | 9205 | ;;;;;; 0)) |
| 9227 | ;;; Generated autoloads from erc/erc-page.el | 9206 | ;;; Generated autoloads from erc/erc-page.el |
| 9228 | (autoload 'erc-page-mode "erc-page") | 9207 | (autoload 'erc-page-mode "erc-page") |
| 9229 | 9208 | ||
| 9230 | ;;;*** | 9209 | ;;;*** |
| 9231 | 9210 | ||
| 9232 | ;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (20591 | 9211 | ;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (20650 |
| 9233 | ;;;;;; 33616 874723 983000)) | 9212 | ;;;;;; 61396 673885 0)) |
| 9234 | ;;; Generated autoloads from erc/erc-pcomplete.el | 9213 | ;;; Generated autoloads from erc/erc-pcomplete.el |
| 9235 | (autoload 'erc-completion-mode "erc-pcomplete" nil t) | 9214 | (autoload 'erc-completion-mode "erc-pcomplete" nil t) |
| 9236 | 9215 | ||
| 9237 | ;;;*** | 9216 | ;;;*** |
| 9238 | 9217 | ||
| 9239 | ;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (20591 33616 | 9218 | ;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (20592 4085 |
| 9240 | ;;;;;; 874723 983000)) | 9219 | ;;;;;; 721682 0)) |
| 9241 | ;;; Generated autoloads from erc/erc-replace.el | 9220 | ;;; Generated autoloads from erc/erc-replace.el |
| 9242 | (autoload 'erc-replace-mode "erc-replace") | 9221 | (autoload 'erc-replace-mode "erc-replace") |
| 9243 | 9222 | ||
| 9244 | ;;;*** | 9223 | ;;;*** |
| 9245 | 9224 | ||
| 9246 | ;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (20591 33616 884730 | 9225 | ;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (20592 4085 721682 |
| 9247 | ;;;;;; 605000)) | 9226 | ;;;;;; 0)) |
| 9248 | ;;; Generated autoloads from erc/erc-ring.el | 9227 | ;;; Generated autoloads from erc/erc-ring.el |
| 9249 | (autoload 'erc-ring-mode "erc-ring" nil t) | 9228 | (autoload 'erc-ring-mode "erc-ring" nil t) |
| 9250 | 9229 | ||
| 9251 | ;;;*** | 9230 | ;;;*** |
| 9252 | 9231 | ||
| 9253 | ;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode) | 9232 | ;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode) |
| 9254 | ;;;;;; "erc-services" "erc/erc-services.el" (20591 33616 894723 | 9233 | ;;;;;; "erc-services" "erc/erc-services.el" (20650 61396 673885 |
| 9255 | ;;;;;; 303000)) | 9234 | ;;;;;; 0)) |
| 9256 | ;;; Generated autoloads from erc/erc-services.el | 9235 | ;;; Generated autoloads from erc/erc-services.el |
| 9257 | (autoload 'erc-services-mode "erc-services" nil t) | 9236 | (autoload 'erc-services-mode "erc-services" nil t) |
| 9258 | 9237 | ||
| @@ -9269,15 +9248,15 @@ When called interactively, read the password using `read-passwd'. | |||
| 9269 | 9248 | ||
| 9270 | ;;;*** | 9249 | ;;;*** |
| 9271 | 9250 | ||
| 9272 | ;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (20591 33616 | 9251 | ;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (20592 4085 |
| 9273 | ;;;;;; 894723 303000)) | 9252 | ;;;;;; 721682 0)) |
| 9274 | ;;; Generated autoloads from erc/erc-sound.el | 9253 | ;;; Generated autoloads from erc/erc-sound.el |
| 9275 | (autoload 'erc-sound-mode "erc-sound") | 9254 | (autoload 'erc-sound-mode "erc-sound") |
| 9276 | 9255 | ||
| 9277 | ;;;*** | 9256 | ;;;*** |
| 9278 | 9257 | ||
| 9279 | ;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el" | 9258 | ;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el" |
| 9280 | ;;;;;; (20591 33616 894723 303000)) | 9259 | ;;;;;; (20650 61396 673885 0)) |
| 9281 | ;;; Generated autoloads from erc/erc-speedbar.el | 9260 | ;;; Generated autoloads from erc/erc-speedbar.el |
| 9282 | 9261 | ||
| 9283 | (autoload 'erc-speedbar-browser "erc-speedbar" "\ | 9262 | (autoload 'erc-speedbar-browser "erc-speedbar" "\ |
| @@ -9288,22 +9267,22 @@ This will add a speedbar major display mode. | |||
| 9288 | 9267 | ||
| 9289 | ;;;*** | 9268 | ;;;*** |
| 9290 | 9269 | ||
| 9291 | ;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (20591 | 9270 | ;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (20592 |
| 9292 | ;;;;;; 33616 904733 437000)) | 9271 | ;;;;;; 4085 721682 0)) |
| 9293 | ;;; Generated autoloads from erc/erc-spelling.el | 9272 | ;;; Generated autoloads from erc/erc-spelling.el |
| 9294 | (autoload 'erc-spelling-mode "erc-spelling" nil t) | 9273 | (autoload 'erc-spelling-mode "erc-spelling" nil t) |
| 9295 | 9274 | ||
| 9296 | ;;;*** | 9275 | ;;;*** |
| 9297 | 9276 | ||
| 9298 | ;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (20593 22184 | 9277 | ;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (20594 14884 |
| 9299 | ;;;;;; 581574 0)) | 9278 | ;;;;;; 858174 0)) |
| 9300 | ;;; Generated autoloads from erc/erc-stamp.el | 9279 | ;;; Generated autoloads from erc/erc-stamp.el |
| 9301 | (autoload 'erc-timestamp-mode "erc-stamp" nil t) | 9280 | (autoload 'erc-timestamp-mode "erc-stamp" nil t) |
| 9302 | 9281 | ||
| 9303 | ;;;*** | 9282 | ;;;*** |
| 9304 | 9283 | ||
| 9305 | ;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el" | 9284 | ;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el" |
| 9306 | ;;;;;; (20591 33616 924730 373000)) | 9285 | ;;;;;; (20650 61396 673885 0)) |
| 9307 | ;;; Generated autoloads from erc/erc-track.el | 9286 | ;;; Generated autoloads from erc/erc-track.el |
| 9308 | 9287 | ||
| 9309 | (defvar erc-track-minor-mode nil "\ | 9288 | (defvar erc-track-minor-mode nil "\ |
| @@ -9329,8 +9308,7 @@ keybindings will not do anything useful. | |||
| 9329 | ;;;*** | 9308 | ;;;*** |
| 9330 | 9309 | ||
| 9331 | ;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size) | 9310 | ;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size) |
| 9332 | ;;;;;; "erc-truncate" "erc/erc-truncate.el" (20591 33616 934716 | 9311 | ;;;;;; "erc-truncate" "erc/erc-truncate.el" (20592 4085 721682 0)) |
| 9333 | ;;;;;; 526000)) | ||
| 9334 | ;;; Generated autoloads from erc/erc-truncate.el | 9312 | ;;; Generated autoloads from erc/erc-truncate.el |
| 9335 | (autoload 'erc-truncate-mode "erc-truncate" nil t) | 9313 | (autoload 'erc-truncate-mode "erc-truncate" nil t) |
| 9336 | 9314 | ||
| @@ -9350,7 +9328,7 @@ Meant to be used in hooks, like `erc-insert-post-hook'. | |||
| 9350 | ;;;*** | 9328 | ;;;*** |
| 9351 | 9329 | ||
| 9352 | ;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el" | 9330 | ;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el" |
| 9353 | ;;;;;; (20591 33616 934716 526000)) | 9331 | ;;;;;; (20592 4085 721682 0)) |
| 9354 | ;;; Generated autoloads from erc/erc-xdcc.el | 9332 | ;;; Generated autoloads from erc/erc-xdcc.el |
| 9355 | (autoload 'erc-xdcc-mode "erc-xdcc") | 9333 | (autoload 'erc-xdcc-mode "erc-xdcc") |
| 9356 | 9334 | ||
| @@ -9363,7 +9341,7 @@ Add a file to `erc-xdcc-files'. | |||
| 9363 | 9341 | ||
| 9364 | ;;;### (autoloads (ert-describe-test ert-run-tests-interactively | 9342 | ;;;### (autoloads (ert-describe-test ert-run-tests-interactively |
| 9365 | ;;;;;; ert-run-tests-batch-and-exit ert-run-tests-batch ert-deftest) | 9343 | ;;;;;; ert-run-tests-batch-and-exit ert-run-tests-batch ert-deftest) |
| 9366 | ;;;;;; "ert" "emacs-lisp/ert.el" (20576 42138 697312 0)) | 9344 | ;;;;;; "ert" "emacs-lisp/ert.el" (20655 4702 996292 0)) |
| 9367 | ;;; Generated autoloads from emacs-lisp/ert.el | 9345 | ;;; Generated autoloads from emacs-lisp/ert.el |
| 9368 | 9346 | ||
| 9369 | (autoload 'ert-deftest "ert" "\ | 9347 | (autoload 'ert-deftest "ert" "\ |
| @@ -9429,7 +9407,7 @@ Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test). | |||
| 9429 | ;;;*** | 9407 | ;;;*** |
| 9430 | 9408 | ||
| 9431 | ;;;### (autoloads (ert-kill-all-test-buffers) "ert-x" "emacs-lisp/ert-x.el" | 9409 | ;;;### (autoloads (ert-kill-all-test-buffers) "ert-x" "emacs-lisp/ert-x.el" |
| 9432 | ;;;;;; (20576 42138 697312 0)) | 9410 | ;;;;;; (20655 4702 996292 0)) |
| 9433 | ;;; Generated autoloads from emacs-lisp/ert-x.el | 9411 | ;;; Generated autoloads from emacs-lisp/ert-x.el |
| 9434 | 9412 | ||
| 9435 | (put 'ert-with-test-buffer 'lisp-indent-function 1) | 9413 | (put 'ert-with-test-buffer 'lisp-indent-function 1) |
| @@ -9441,8 +9419,8 @@ Kill all test buffers that are still live. | |||
| 9441 | 9419 | ||
| 9442 | ;;;*** | 9420 | ;;;*** |
| 9443 | 9421 | ||
| 9444 | ;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (20593 | 9422 | ;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (20594 |
| 9445 | ;;;;;; 22184 581574 0)) | 9423 | ;;;;;; 14884 858174 0)) |
| 9446 | ;;; Generated autoloads from eshell/esh-mode.el | 9424 | ;;; Generated autoloads from eshell/esh-mode.el |
| 9447 | 9425 | ||
| 9448 | (autoload 'eshell-mode "esh-mode" "\ | 9426 | (autoload 'eshell-mode "esh-mode" "\ |
| @@ -9455,7 +9433,7 @@ Emacs shell interactive mode. | |||
| 9455 | ;;;*** | 9433 | ;;;*** |
| 9456 | 9434 | ||
| 9457 | ;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell" | 9435 | ;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell" |
| 9458 | ;;;;;; "eshell/eshell.el" (20577 33959 40183 0)) | 9436 | ;;;;;; "eshell/eshell.el" (20576 16566 11955 847000)) |
| 9459 | ;;; Generated autoloads from eshell/eshell.el | 9437 | ;;; Generated autoloads from eshell/eshell.el |
| 9460 | 9438 | ||
| 9461 | (autoload 'eshell "eshell" "\ | 9439 | (autoload 'eshell "eshell" "\ |
| @@ -9496,7 +9474,7 @@ corresponding to a successful execution. | |||
| 9496 | ;;;;;; visit-tags-table tags-table-mode find-tag-default-function | 9474 | ;;;;;; visit-tags-table tags-table-mode find-tag-default-function |
| 9497 | ;;;;;; find-tag-hook tags-add-tables tags-compression-info-list | 9475 | ;;;;;; find-tag-hook tags-add-tables tags-compression-info-list |
| 9498 | ;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el" | 9476 | ;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el" |
| 9499 | ;;;;;; (20478 3673 653810 0)) | 9477 | ;;;;;; (20664 5610 38100 0)) |
| 9500 | ;;; Generated autoloads from progmodes/etags.el | 9478 | ;;; Generated autoloads from progmodes/etags.el |
| 9501 | 9479 | ||
| 9502 | (defvar tags-file-name nil "\ | 9480 | (defvar tags-file-name nil "\ |
| @@ -9814,7 +9792,7 @@ for \\[find-tag] (which see). | |||
| 9814 | ;;;;;; ethio-fidel-to-sera-marker ethio-fidel-to-sera-region ethio-fidel-to-sera-buffer | 9792 | ;;;;;; ethio-fidel-to-sera-marker ethio-fidel-to-sera-region ethio-fidel-to-sera-buffer |
| 9815 | ;;;;;; ethio-sera-to-fidel-marker ethio-sera-to-fidel-region ethio-sera-to-fidel-buffer | 9793 | ;;;;;; ethio-sera-to-fidel-marker ethio-sera-to-fidel-region ethio-sera-to-fidel-buffer |
| 9816 | ;;;;;; setup-ethiopic-environment-internal) "ethio-util" "language/ethio-util.el" | 9794 | ;;;;;; setup-ethiopic-environment-internal) "ethio-util" "language/ethio-util.el" |
| 9817 | ;;;;;; (20355 10021 546955 0)) | 9795 | ;;;;;; (20533 50312 678915 0)) |
| 9818 | ;;; Generated autoloads from language/ethio-util.el | 9796 | ;;; Generated autoloads from language/ethio-util.el |
| 9819 | 9797 | ||
| 9820 | (autoload 'setup-ethiopic-environment-internal "ethio-util" "\ | 9798 | (autoload 'setup-ethiopic-environment-internal "ethio-util" "\ |
| @@ -9984,7 +9962,7 @@ With ARG, insert that many delimiters. | |||
| 9984 | 9962 | ||
| 9985 | ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline | 9963 | ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline |
| 9986 | ;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el" | 9964 | ;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el" |
| 9987 | ;;;;;; (20478 3673 653810 0)) | 9965 | ;;;;;; (20533 50312 678915 0)) |
| 9988 | ;;; Generated autoloads from net/eudc.el | 9966 | ;;; Generated autoloads from net/eudc.el |
| 9989 | 9967 | ||
| 9990 | (autoload 'eudc-set-server "eudc" "\ | 9968 | (autoload 'eudc-set-server "eudc" "\ |
| @@ -10040,7 +10018,7 @@ This does nothing except loading eudc by autoload side-effect. | |||
| 10040 | 10018 | ||
| 10041 | ;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline | 10019 | ;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline |
| 10042 | ;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary) | 10020 | ;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary) |
| 10043 | ;;;;;; "eudc-bob" "net/eudc-bob.el" (20355 10021 546955 0)) | 10021 | ;;;;;; "eudc-bob" "net/eudc-bob.el" (20533 50312 678915 0)) |
| 10044 | ;;; Generated autoloads from net/eudc-bob.el | 10022 | ;;; Generated autoloads from net/eudc-bob.el |
| 10045 | 10023 | ||
| 10046 | (autoload 'eudc-display-generic-binary "eudc-bob" "\ | 10024 | (autoload 'eudc-display-generic-binary "eudc-bob" "\ |
| @@ -10076,7 +10054,7 @@ Display a button for the JPEG DATA. | |||
| 10076 | ;;;*** | 10054 | ;;;*** |
| 10077 | 10055 | ||
| 10078 | ;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb) | 10056 | ;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb) |
| 10079 | ;;;;;; "eudc-export" "net/eudc-export.el" (20355 10021 546955 0)) | 10057 | ;;;;;; "eudc-export" "net/eudc-export.el" (20533 50312 678915 0)) |
| 10080 | ;;; Generated autoloads from net/eudc-export.el | 10058 | ;;; Generated autoloads from net/eudc-export.el |
| 10081 | 10059 | ||
| 10082 | (autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\ | 10060 | (autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\ |
| @@ -10093,7 +10071,7 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record. | |||
| 10093 | ;;;*** | 10071 | ;;;*** |
| 10094 | 10072 | ||
| 10095 | ;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el" | 10073 | ;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el" |
| 10096 | ;;;;;; (20355 10021 546955 0)) | 10074 | ;;;;;; (20533 50312 678915 0)) |
| 10097 | ;;; Generated autoloads from net/eudc-hotlist.el | 10075 | ;;; Generated autoloads from net/eudc-hotlist.el |
| 10098 | 10076 | ||
| 10099 | (autoload 'eudc-edit-hotlist "eudc-hotlist" "\ | 10077 | (autoload 'eudc-edit-hotlist "eudc-hotlist" "\ |
| @@ -10103,8 +10081,8 @@ Edit the hotlist of directory servers in a specialized buffer. | |||
| 10103 | 10081 | ||
| 10104 | ;;;*** | 10082 | ;;;*** |
| 10105 | 10083 | ||
| 10106 | ;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (20453 | 10084 | ;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (20533 |
| 10107 | ;;;;;; 5437 764254 0)) | 10085 | ;;;;;; 50312 678915 0)) |
| 10108 | ;;; Generated autoloads from emacs-lisp/ewoc.el | 10086 | ;;; Generated autoloads from emacs-lisp/ewoc.el |
| 10109 | 10087 | ||
| 10110 | (autoload 'ewoc-create "ewoc" "\ | 10088 | (autoload 'ewoc-create "ewoc" "\ |
| @@ -10133,7 +10111,7 @@ fourth arg NOSEP non-nil inhibits this. | |||
| 10133 | ;;;### (autoloads (executable-make-buffer-file-executable-if-script-p | 10111 | ;;;### (autoloads (executable-make-buffer-file-executable-if-script-p |
| 10134 | ;;;;;; executable-self-display executable-set-magic executable-interpret | 10112 | ;;;;;; executable-self-display executable-set-magic executable-interpret |
| 10135 | ;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el" | 10113 | ;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el" |
| 10136 | ;;;;;; (20533 6181 437016 717000)) | 10114 | ;;;;;; (20533 50312 678915 0)) |
| 10137 | ;;; Generated autoloads from progmodes/executable.el | 10115 | ;;; Generated autoloads from progmodes/executable.el |
| 10138 | 10116 | ||
| 10139 | (autoload 'executable-command-find-posix-p "executable" "\ | 10117 | (autoload 'executable-command-find-posix-p "executable" "\ |
| @@ -10176,7 +10154,7 @@ file modes. | |||
| 10176 | 10154 | ||
| 10177 | ;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot | 10155 | ;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot |
| 10178 | ;;;;;; expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el" | 10156 | ;;;;;; expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el" |
| 10179 | ;;;;;; (20355 10021 546955 0)) | 10157 | ;;;;;; (20533 50312 678915 0)) |
| 10180 | ;;; Generated autoloads from expand.el | 10158 | ;;; Generated autoloads from expand.el |
| 10181 | 10159 | ||
| 10182 | (autoload 'expand-add-abbrevs "expand" "\ | 10160 | (autoload 'expand-add-abbrevs "expand" "\ |
| @@ -10225,8 +10203,8 @@ This is used only in conjunction with `expand-add-abbrevs'. | |||
| 10225 | 10203 | ||
| 10226 | ;;;*** | 10204 | ;;;*** |
| 10227 | 10205 | ||
| 10228 | ;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20566 63671 | 10206 | ;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20566 46184 |
| 10229 | ;;;;;; 243798 0)) | 10207 | ;;;;;; 706620 234000)) |
| 10230 | ;;; Generated autoloads from progmodes/f90.el | 10208 | ;;; Generated autoloads from progmodes/f90.el |
| 10231 | 10209 | ||
| 10232 | (autoload 'f90-mode "f90" "\ | 10210 | (autoload 'f90-mode "f90" "\ |
| @@ -10297,7 +10275,7 @@ with no args, if that value is non-nil. | |||
| 10297 | ;;;;;; buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase | 10275 | ;;;;;; buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase |
| 10298 | ;;;;;; text-scale-set face-remap-set-base face-remap-reset-base | 10276 | ;;;;;; text-scale-set face-remap-set-base face-remap-reset-base |
| 10299 | ;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (20622 | 10277 | ;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (20622 |
| 10300 | ;;;;;; 22438 32851 0)) | 10278 | ;;;;;; 21008 480608 570000)) |
| 10301 | ;;; Generated autoloads from face-remap.el | 10279 | ;;; Generated autoloads from face-remap.el |
| 10302 | 10280 | ||
| 10303 | (autoload 'face-remap-add-relative "face-remap" "\ | 10281 | (autoload 'face-remap-add-relative "face-remap" "\ |
| @@ -10460,8 +10438,8 @@ Besides the choice of face, it is the same as `buffer-face-mode'. | |||
| 10460 | 10438 | ||
| 10461 | ;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue | 10439 | ;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue |
| 10462 | ;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts | 10440 | ;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts |
| 10463 | ;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (20566 63671 | 10441 | ;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (20566 46719 |
| 10464 | ;;;;;; 243798 0)) | 10442 | ;;;;;; 378637 198000)) |
| 10465 | ;;; Generated autoloads from mail/feedmail.el | 10443 | ;;; Generated autoloads from mail/feedmail.el |
| 10466 | 10444 | ||
| 10467 | (autoload 'feedmail-send-it "feedmail" "\ | 10445 | (autoload 'feedmail-send-it "feedmail" "\ |
| @@ -10516,7 +10494,7 @@ you can set `feedmail-queue-reminder-alist' to nil. | |||
| 10516 | 10494 | ||
| 10517 | ;;;### (autoloads (ffap-bindings ffap-guess-file-name-at-point dired-at-point | 10495 | ;;;### (autoloads (ffap-bindings ffap-guess-file-name-at-point dired-at-point |
| 10518 | ;;;;;; ffap-at-mouse ffap-menu find-file-at-point ffap-next) "ffap" | 10496 | ;;;;;; ffap-at-mouse ffap-menu find-file-at-point ffap-next) "ffap" |
| 10519 | ;;;;;; "ffap.el" (20595 63909 923329 0)) | 10497 | ;;;;;; "ffap.el" (20595 33984 147078 0)) |
| 10520 | ;;; Generated autoloads from ffap.el | 10498 | ;;; Generated autoloads from ffap.el |
| 10521 | 10499 | ||
| 10522 | (autoload 'ffap-next "ffap" "\ | 10500 | (autoload 'ffap-next "ffap" "\ |
| @@ -10582,23 +10560,24 @@ Evaluate the forms in variable `ffap-bindings'. | |||
| 10582 | ;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively | 10560 | ;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively |
| 10583 | ;;;;;; file-cache-add-directory-using-locate file-cache-add-directory-using-find | 10561 | ;;;;;; file-cache-add-directory-using-locate file-cache-add-directory-using-find |
| 10584 | ;;;;;; file-cache-add-file file-cache-add-directory-list file-cache-add-directory) | 10562 | ;;;;;; file-cache-add-file file-cache-add-directory-list file-cache-add-directory) |
| 10585 | ;;;;;; "filecache" "filecache.el" (20355 10021 546955 0)) | 10563 | ;;;;;; "filecache" "filecache.el" (20648 29733 701119 761000)) |
| 10586 | ;;; Generated autoloads from filecache.el | 10564 | ;;; Generated autoloads from filecache.el |
| 10587 | 10565 | ||
| 10588 | (autoload 'file-cache-add-directory "filecache" "\ | 10566 | (autoload 'file-cache-add-directory "filecache" "\ |
| 10589 | Add DIRECTORY to the file cache. | 10567 | Add all files in DIRECTORY to the file cache. |
| 10590 | If the optional REGEXP argument is non-nil, only files which match it will | 10568 | If called from Lisp with a non-nil REGEXP argument is non-nil, |
| 10591 | be added to the cache. | 10569 | only add files whose names match REGEXP. |
| 10592 | 10570 | ||
| 10593 | \(fn DIRECTORY &optional REGEXP)" t nil) | 10571 | \(fn DIRECTORY &optional REGEXP)" t nil) |
| 10594 | 10572 | ||
| 10595 | (autoload 'file-cache-add-directory-list "filecache" "\ | 10573 | (autoload 'file-cache-add-directory-list "filecache" "\ |
| 10596 | Add DIRECTORY-LIST (a list of directory names) to the file cache. | 10574 | Add DIRECTORIES (a list of directory names) to the file cache. |
| 10575 | If called interactively, read the directory names one by one. | ||
| 10597 | If the optional REGEXP argument is non-nil, only files which match it | 10576 | If the optional REGEXP argument is non-nil, only files which match it |
| 10598 | will be added to the cache. Note that the REGEXP is applied to the | 10577 | will be added to the cache. Note that the REGEXP is applied to the |
| 10599 | files in each directory, not to the directory list itself. | 10578 | files in each directory, not to the directory list itself. |
| 10600 | 10579 | ||
| 10601 | \(fn DIRECTORY-LIST &optional REGEXP)" t nil) | 10580 | \(fn DIRECTORIES &optional REGEXP)" t nil) |
| 10602 | 10581 | ||
| 10603 | (autoload 'file-cache-add-file "filecache" "\ | 10582 | (autoload 'file-cache-add-file "filecache" "\ |
| 10604 | Add FILE to the file cache. | 10583 | Add FILE to the file cache. |
| @@ -10642,8 +10621,8 @@ the name is considered already unique; only the second substitution | |||
| 10642 | ;;;;;; copy-file-locals-to-dir-locals delete-dir-local-variable | 10621 | ;;;;;; copy-file-locals-to-dir-locals delete-dir-local-variable |
| 10643 | ;;;;;; add-dir-local-variable delete-file-local-variable-prop-line | 10622 | ;;;;;; add-dir-local-variable delete-file-local-variable-prop-line |
| 10644 | ;;;;;; add-file-local-variable-prop-line delete-file-local-variable | 10623 | ;;;;;; add-file-local-variable-prop-line delete-file-local-variable |
| 10645 | ;;;;;; add-file-local-variable) "files-x" "files-x.el" (20355 10021 | 10624 | ;;;;;; add-file-local-variable) "files-x" "files-x.el" (20533 50312 |
| 10646 | ;;;;;; 546955 0)) | 10625 | ;;;;;; 678915 0)) |
| 10647 | ;;; Generated autoloads from files-x.el | 10626 | ;;; Generated autoloads from files-x.el |
| 10648 | 10627 | ||
| 10649 | (autoload 'add-file-local-variable "files-x" "\ | 10628 | (autoload 'add-file-local-variable "files-x" "\ |
| @@ -10708,8 +10687,8 @@ Copy directory-local variables to the -*- line. | |||
| 10708 | 10687 | ||
| 10709 | ;;;*** | 10688 | ;;;*** |
| 10710 | 10689 | ||
| 10711 | ;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20614 | 10690 | ;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20615 |
| 10712 | ;;;;;; 54428 654267 0)) | 10691 | ;;;;;; 22847 537904 0)) |
| 10713 | ;;; Generated autoloads from filesets.el | 10692 | ;;; Generated autoloads from filesets.el |
| 10714 | 10693 | ||
| 10715 | (autoload 'filesets-init "filesets" "\ | 10694 | (autoload 'filesets-init "filesets" "\ |
| @@ -10720,8 +10699,8 @@ Set up hooks, load the cache file -- if existing -- and build the menu. | |||
| 10720 | 10699 | ||
| 10721 | ;;;*** | 10700 | ;;;*** |
| 10722 | 10701 | ||
| 10723 | ;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (20355 10021 | 10702 | ;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (20655 12114 |
| 10724 | ;;;;;; 546955 0)) | 10703 | ;;;;;; 463008 671000)) |
| 10725 | ;;; Generated autoloads from find-cmd.el | 10704 | ;;; Generated autoloads from find-cmd.el |
| 10726 | 10705 | ||
| 10727 | (autoload 'find-cmd "find-cmd" "\ | 10706 | (autoload 'find-cmd "find-cmd" "\ |
| @@ -10741,7 +10720,7 @@ result is a string that should be ready for the command line. | |||
| 10741 | ;;;*** | 10720 | ;;;*** |
| 10742 | 10721 | ||
| 10743 | ;;;### (autoloads (find-grep-dired find-name-dired find-dired) "find-dired" | 10722 | ;;;### (autoloads (find-grep-dired find-name-dired find-dired) "find-dired" |
| 10744 | ;;;;;; "find-dired.el" (20355 10021 546955 0)) | 10723 | ;;;;;; "find-dired.el" (20533 50312 678915 0)) |
| 10745 | ;;; Generated autoloads from find-dired.el | 10724 | ;;; Generated autoloads from find-dired.el |
| 10746 | 10725 | ||
| 10747 | (autoload 'find-dired "find-dired" "\ | 10726 | (autoload 'find-dired "find-dired" "\ |
| @@ -10781,7 +10760,7 @@ use in place of \"-ls\" as the final argument. | |||
| 10781 | 10760 | ||
| 10782 | ;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file | 10761 | ;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file |
| 10783 | ;;;;;; ff-find-other-file ff-get-other-file ff-special-constructs) | 10762 | ;;;;;; ff-find-other-file ff-get-other-file ff-special-constructs) |
| 10784 | ;;;;;; "find-file" "find-file.el" (20387 44199 24128 0)) | 10763 | ;;;;;; "find-file" "find-file.el" (20533 50312 678915 0)) |
| 10785 | ;;; Generated autoloads from find-file.el | 10764 | ;;; Generated autoloads from find-file.el |
| 10786 | 10765 | ||
| 10787 | (defvar ff-special-constructs `((,(purecopy "^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") lambda nil (buffer-substring (match-beginning 2) (match-end 2)))) "\ | 10766 | (defvar ff-special-constructs `((,(purecopy "^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") lambda nil (buffer-substring (match-beginning 2) (match-end 2)))) "\ |
| @@ -10877,7 +10856,7 @@ Visit the file you click on in another window. | |||
| 10877 | ;;;;;; find-variable find-variable-noselect find-function-other-frame | 10856 | ;;;;;; find-variable find-variable-noselect find-function-other-frame |
| 10878 | ;;;;;; find-function-other-window find-function find-function-noselect | 10857 | ;;;;;; find-function-other-window find-function find-function-noselect |
| 10879 | ;;;;;; find-function-search-for-symbol find-library) "find-func" | 10858 | ;;;;;; find-function-search-for-symbol find-library) "find-func" |
| 10880 | ;;;;;; "emacs-lisp/find-func.el" (20497 6436 957082 0)) | 10859 | ;;;;;; "emacs-lisp/find-func.el" (20533 50312 678915 0)) |
| 10881 | ;;; Generated autoloads from emacs-lisp/find-func.el | 10860 | ;;; Generated autoloads from emacs-lisp/find-func.el |
| 10882 | 10861 | ||
| 10883 | (autoload 'find-library "find-func" "\ | 10862 | (autoload 'find-library "find-func" "\ |
| @@ -11036,8 +11015,8 @@ Define some key bindings for the find-function family of functions. | |||
| 11036 | ;;;*** | 11015 | ;;;*** |
| 11037 | 11016 | ||
| 11038 | ;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories | 11017 | ;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories |
| 11039 | ;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (20355 10021 | 11018 | ;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (20533 50312 |
| 11040 | ;;;;;; 546955 0)) | 11019 | ;;;;;; 678915 0)) |
| 11041 | ;;; Generated autoloads from find-lisp.el | 11020 | ;;; Generated autoloads from find-lisp.el |
| 11042 | 11021 | ||
| 11043 | (autoload 'find-lisp-find-dired "find-lisp" "\ | 11022 | (autoload 'find-lisp-find-dired "find-lisp" "\ |
| @@ -11058,7 +11037,7 @@ Change the filter on a find-lisp-find-dired buffer to REGEXP. | |||
| 11058 | ;;;*** | 11037 | ;;;*** |
| 11059 | 11038 | ||
| 11060 | ;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords) | 11039 | ;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords) |
| 11061 | ;;;;;; "finder" "finder.el" (20355 10021 546955 0)) | 11040 | ;;;;;; "finder" "finder.el" (20533 50312 678915 0)) |
| 11062 | ;;; Generated autoloads from finder.el | 11041 | ;;; Generated autoloads from finder.el |
| 11063 | 11042 | ||
| 11064 | (autoload 'finder-list-keywords "finder" "\ | 11043 | (autoload 'finder-list-keywords "finder" "\ |
| @@ -11080,7 +11059,7 @@ Find packages matching a given keyword. | |||
| 11080 | ;;;*** | 11059 | ;;;*** |
| 11081 | 11060 | ||
| 11082 | ;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl" | 11061 | ;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl" |
| 11083 | ;;;;;; "flow-ctrl.el" (20566 63671 243798 0)) | 11062 | ;;;;;; "flow-ctrl.el" (20566 45950 38611 876000)) |
| 11084 | ;;; Generated autoloads from flow-ctrl.el | 11063 | ;;; Generated autoloads from flow-ctrl.el |
| 11085 | 11064 | ||
| 11086 | (autoload 'enable-flow-control "flow-ctrl" "\ | 11065 | (autoload 'enable-flow-control "flow-ctrl" "\ |
| @@ -11102,7 +11081,7 @@ to get the effect of a C-q. | |||
| 11102 | ;;;*** | 11081 | ;;;*** |
| 11103 | 11082 | ||
| 11104 | ;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el" | 11083 | ;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el" |
| 11105 | ;;;;;; (20355 10021 546955 0)) | 11084 | ;;;;;; (20533 50312 678915 0)) |
| 11106 | ;;; Generated autoloads from gnus/flow-fill.el | 11085 | ;;; Generated autoloads from gnus/flow-fill.el |
| 11107 | 11086 | ||
| 11108 | (autoload 'fill-flowed-encode "flow-fill" "\ | 11087 | (autoload 'fill-flowed-encode "flow-fill" "\ |
| @@ -11118,8 +11097,8 @@ to get the effect of a C-q. | |||
| 11118 | ;;;*** | 11097 | ;;;*** |
| 11119 | 11098 | ||
| 11120 | ;;;### (autoloads (flymake-find-file-hook flymake-mode-off flymake-mode-on | 11099 | ;;;### (autoloads (flymake-find-file-hook flymake-mode-off flymake-mode-on |
| 11121 | ;;;;;; flymake-mode) "flymake" "progmodes/flymake.el" (20611 52135 | 11100 | ;;;;;; flymake-mode) "flymake" "progmodes/flymake.el" (20647 7982 |
| 11122 | ;;;;;; 109136 0)) | 11101 | ;;;;;; 429263 0)) |
| 11123 | ;;; Generated autoloads from progmodes/flymake.el | 11102 | ;;; Generated autoloads from progmodes/flymake.el |
| 11124 | 11103 | ||
| 11125 | (autoload 'flymake-mode "flymake" "\ | 11104 | (autoload 'flymake-mode "flymake" "\ |
| @@ -11149,7 +11128,7 @@ Turn flymake mode off. | |||
| 11149 | 11128 | ||
| 11150 | ;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off | 11129 | ;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off |
| 11151 | ;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode) | 11130 | ;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode) |
| 11152 | ;;;;;; "flyspell" "textmodes/flyspell.el" (20566 63671 243798 0)) | 11131 | ;;;;;; "flyspell" "textmodes/flyspell.el" (20566 46000 842611 651000)) |
| 11153 | ;;; Generated autoloads from textmodes/flyspell.el | 11132 | ;;; Generated autoloads from textmodes/flyspell.el |
| 11154 | 11133 | ||
| 11155 | (autoload 'flyspell-prog-mode "flyspell" "\ | 11134 | (autoload 'flyspell-prog-mode "flyspell" "\ |
| @@ -11221,7 +11200,7 @@ Flyspell whole buffer. | |||
| 11221 | 11200 | ||
| 11222 | ;;;### (autoloads (follow-delete-other-windows-and-split follow-mode | 11201 | ;;;### (autoloads (follow-delete-other-windows-and-split follow-mode |
| 11223 | ;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el" | 11202 | ;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el" |
| 11224 | ;;;;;; (20501 3499 284800 0)) | 11203 | ;;;;;; (20533 50312 678915 0)) |
| 11225 | ;;; Generated autoloads from follow.el | 11204 | ;;; Generated autoloads from follow.el |
| 11226 | 11205 | ||
| 11227 | (autoload 'turn-on-follow-mode "follow" "\ | 11206 | (autoload 'turn-on-follow-mode "follow" "\ |
| @@ -11289,8 +11268,8 @@ selected if the original window is the first one in the frame. | |||
| 11289 | 11268 | ||
| 11290 | ;;;*** | 11269 | ;;;*** |
| 11291 | 11270 | ||
| 11292 | ;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (20478 | 11271 | ;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (20533 |
| 11293 | ;;;;;; 3673 653810 0)) | 11272 | ;;;;;; 50312 678915 0)) |
| 11294 | ;;; Generated autoloads from mail/footnote.el | 11273 | ;;; Generated autoloads from mail/footnote.el |
| 11295 | 11274 | ||
| 11296 | (autoload 'footnote-mode "footnote" "\ | 11275 | (autoload 'footnote-mode "footnote" "\ |
| @@ -11309,7 +11288,7 @@ play around with the following keys: | |||
| 11309 | ;;;*** | 11288 | ;;;*** |
| 11310 | 11289 | ||
| 11311 | ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode) | 11290 | ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode) |
| 11312 | ;;;;;; "forms" "forms.el" (20427 14766 970343 0)) | 11291 | ;;;;;; "forms" "forms.el" (20533 50312 678915 0)) |
| 11313 | ;;; Generated autoloads from forms.el | 11292 | ;;; Generated autoloads from forms.el |
| 11314 | 11293 | ||
| 11315 | (autoload 'forms-mode "forms" "\ | 11294 | (autoload 'forms-mode "forms" "\ |
| @@ -11346,7 +11325,7 @@ Visit a file in Forms mode in other window. | |||
| 11346 | ;;;*** | 11325 | ;;;*** |
| 11347 | 11326 | ||
| 11348 | ;;;### (autoloads (fortran-mode) "fortran" "progmodes/fortran.el" | 11327 | ;;;### (autoloads (fortran-mode) "fortran" "progmodes/fortran.el" |
| 11349 | ;;;;;; (20438 24024 724594 589000)) | 11328 | ;;;;;; (20533 50312 678915 0)) |
| 11350 | ;;; Generated autoloads from progmodes/fortran.el | 11329 | ;;; Generated autoloads from progmodes/fortran.el |
| 11351 | 11330 | ||
| 11352 | (autoload 'fortran-mode "fortran" "\ | 11331 | (autoload 'fortran-mode "fortran" "\ |
| @@ -11424,8 +11403,8 @@ with no args, if that value is non-nil. | |||
| 11424 | ;;;*** | 11403 | ;;;*** |
| 11425 | 11404 | ||
| 11426 | ;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region | 11405 | ;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region |
| 11427 | ;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (20355 10021 | 11406 | ;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (20533 50312 |
| 11428 | ;;;;;; 546955 0)) | 11407 | ;;;;;; 678915 0)) |
| 11429 | ;;; Generated autoloads from play/fortune.el | 11408 | ;;; Generated autoloads from play/fortune.el |
| 11430 | 11409 | ||
| 11431 | (autoload 'fortune-add-fortune "fortune" "\ | 11410 | (autoload 'fortune-add-fortune "fortune" "\ |
| @@ -11474,7 +11453,7 @@ and choose the directory as the fortune-file. | |||
| 11474 | ;;;*** | 11453 | ;;;*** |
| 11475 | 11454 | ||
| 11476 | ;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el" | 11455 | ;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el" |
| 11477 | ;;;;;; (20609 10405 476026 0)) | 11456 | ;;;;;; (20608 21217 487940 41000)) |
| 11478 | ;;; Generated autoloads from progmodes/gdb-mi.el | 11457 | ;;; Generated autoloads from progmodes/gdb-mi.el |
| 11479 | 11458 | ||
| 11480 | (defvar gdb-enable-debug nil "\ | 11459 | (defvar gdb-enable-debug nil "\ |
| @@ -11552,8 +11531,8 @@ detailed description of this mode. | |||
| 11552 | ;;;*** | 11531 | ;;;*** |
| 11553 | 11532 | ||
| 11554 | ;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal | 11533 | ;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal |
| 11555 | ;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (20406 | 11534 | ;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (20533 |
| 11556 | ;;;;;; 8611 875037 0)) | 11535 | ;;;;;; 50312 678915 0)) |
| 11557 | ;;; Generated autoloads from emacs-lisp/generic.el | 11536 | ;;; Generated autoloads from emacs-lisp/generic.el |
| 11558 | 11537 | ||
| 11559 | (defvar generic-mode-list nil "\ | 11538 | (defvar generic-mode-list nil "\ |
| @@ -11632,7 +11611,7 @@ regular expression that can be used as an element of | |||
| 11632 | ;;;*** | 11611 | ;;;*** |
| 11633 | 11612 | ||
| 11634 | ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el" | 11613 | ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el" |
| 11635 | ;;;;;; (20478 3673 653810 0)) | 11614 | ;;;;;; (20533 50312 678915 0)) |
| 11636 | ;;; Generated autoloads from progmodes/glasses.el | 11615 | ;;; Generated autoloads from progmodes/glasses.el |
| 11637 | 11616 | ||
| 11638 | (autoload 'glasses-mode "glasses" "\ | 11617 | (autoload 'glasses-mode "glasses" "\ |
| @@ -11648,7 +11627,7 @@ add virtual separators (like underscores) at places they belong to. | |||
| 11648 | 11627 | ||
| 11649 | ;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error | 11628 | ;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error |
| 11650 | ;;;;;; gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el" | 11629 | ;;;;;; gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el" |
| 11651 | ;;;;;; (20355 10021 546955 0)) | 11630 | ;;;;;; (20533 50312 678915 0)) |
| 11652 | ;;; Generated autoloads from gnus/gmm-utils.el | 11631 | ;;; Generated autoloads from gnus/gmm-utils.el |
| 11653 | 11632 | ||
| 11654 | (autoload 'gmm-regexp-concat "gmm-utils" "\ | 11633 | (autoload 'gmm-regexp-concat "gmm-utils" "\ |
| @@ -11703,8 +11682,8 @@ DEFAULT-MAP specifies the default key map for ICON-LIST. | |||
| 11703 | ;;;*** | 11682 | ;;;*** |
| 11704 | 11683 | ||
| 11705 | ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server | 11684 | ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server |
| 11706 | ;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20552 30761 | 11685 | ;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20552 25066 |
| 11707 | ;;;;;; 207103 0)) | 11686 | ;;;;;; 479417 0)) |
| 11708 | ;;; Generated autoloads from gnus/gnus.el | 11687 | ;;; Generated autoloads from gnus/gnus.el |
| 11709 | (when (fboundp 'custom-autoload) | 11688 | (when (fboundp 'custom-autoload) |
| 11710 | (custom-autoload 'gnus-select-method "gnus")) | 11689 | (custom-autoload 'gnus-select-method "gnus")) |
| @@ -11757,7 +11736,7 @@ prompt the user for the name of an NNTP server to use. | |||
| 11757 | ;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group | 11736 | ;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group |
| 11758 | ;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize | 11737 | ;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize |
| 11759 | ;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent" | 11738 | ;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent" |
| 11760 | ;;;;;; "gnus/gnus-agent.el" (20518 12580 46478 0)) | 11739 | ;;;;;; "gnus/gnus-agent.el" (20533 50312 678915 0)) |
| 11761 | ;;; Generated autoloads from gnus/gnus-agent.el | 11740 | ;;; Generated autoloads from gnus/gnus-agent.el |
| 11762 | 11741 | ||
| 11763 | (autoload 'gnus-unplugged "gnus-agent" "\ | 11742 | (autoload 'gnus-unplugged "gnus-agent" "\ |
| @@ -11848,7 +11827,7 @@ If CLEAN, obsolete (ignore). | |||
| 11848 | ;;;*** | 11827 | ;;;*** |
| 11849 | 11828 | ||
| 11850 | ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el" | 11829 | ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el" |
| 11851 | ;;;;;; (20578 54821 719276 0)) | 11830 | ;;;;;; (20647 7982 429263 0)) |
| 11852 | ;;; Generated autoloads from gnus/gnus-art.el | 11831 | ;;; Generated autoloads from gnus/gnus-art.el |
| 11853 | 11832 | ||
| 11854 | (autoload 'gnus-article-prepare-display "gnus-art" "\ | 11833 | (autoload 'gnus-article-prepare-display "gnus-art" "\ |
| @@ -11859,7 +11838,7 @@ Make the current buffer look like a nice article. | |||
| 11859 | ;;;*** | 11838 | ;;;*** |
| 11860 | 11839 | ||
| 11861 | ;;;### (autoloads (gnus-bookmark-bmenu-list gnus-bookmark-jump gnus-bookmark-set) | 11840 | ;;;### (autoloads (gnus-bookmark-bmenu-list gnus-bookmark-jump gnus-bookmark-set) |
| 11862 | ;;;;;; "gnus-bookmark" "gnus/gnus-bookmark.el" (20355 10021 546955 | 11841 | ;;;;;; "gnus-bookmark" "gnus/gnus-bookmark.el" (20533 50312 678915 |
| 11863 | ;;;;;; 0)) | 11842 | ;;;;;; 0)) |
| 11864 | ;;; Generated autoloads from gnus/gnus-bookmark.el | 11843 | ;;; Generated autoloads from gnus/gnus-bookmark.el |
| 11865 | 11844 | ||
| @@ -11885,8 +11864,8 @@ deletion, or > if it is flagged for displaying. | |||
| 11885 | 11864 | ||
| 11886 | ;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group | 11865 | ;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group |
| 11887 | ;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active | 11866 | ;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active |
| 11888 | ;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (20355 | 11867 | ;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (20533 |
| 11889 | ;;;;;; 10021 546955 0)) | 11868 | ;;;;;; 50312 678915 0)) |
| 11890 | ;;; Generated autoloads from gnus/gnus-cache.el | 11869 | ;;; Generated autoloads from gnus/gnus-cache.el |
| 11891 | 11870 | ||
| 11892 | (autoload 'gnus-jog-cache "gnus-cache" "\ | 11871 | (autoload 'gnus-jog-cache "gnus-cache" "\ |
| @@ -11928,7 +11907,7 @@ supported. | |||
| 11928 | ;;;*** | 11907 | ;;;*** |
| 11929 | 11908 | ||
| 11930 | ;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article) | 11909 | ;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article) |
| 11931 | ;;;;;; "gnus-delay" "gnus/gnus-delay.el" (20355 10021 546955 0)) | 11910 | ;;;;;; "gnus-delay" "gnus/gnus-delay.el" (20533 50312 678915 0)) |
| 11932 | ;;; Generated autoloads from gnus/gnus-delay.el | 11911 | ;;; Generated autoloads from gnus/gnus-delay.el |
| 11933 | 11912 | ||
| 11934 | (autoload 'gnus-delay-article "gnus-delay" "\ | 11913 | (autoload 'gnus-delay-article "gnus-delay" "\ |
| @@ -11964,7 +11943,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil. | |||
| 11964 | ;;;*** | 11943 | ;;;*** |
| 11965 | 11944 | ||
| 11966 | ;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d) | 11945 | ;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d) |
| 11967 | ;;;;;; "gnus-diary" "gnus/gnus-diary.el" (20355 10021 546955 0)) | 11946 | ;;;;;; "gnus-diary" "gnus/gnus-diary.el" (20647 7982 429263 0)) |
| 11968 | ;;; Generated autoloads from gnus/gnus-diary.el | 11947 | ;;; Generated autoloads from gnus/gnus-diary.el |
| 11969 | 11948 | ||
| 11970 | (autoload 'gnus-user-format-function-d "gnus-diary" "\ | 11949 | (autoload 'gnus-user-format-function-d "gnus-diary" "\ |
| @@ -11980,7 +11959,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil. | |||
| 11980 | ;;;*** | 11959 | ;;;*** |
| 11981 | 11960 | ||
| 11982 | ;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el" | 11961 | ;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el" |
| 11983 | ;;;;;; (20355 10021 546955 0)) | 11962 | ;;;;;; (20628 55151 230164 0)) |
| 11984 | ;;; Generated autoloads from gnus/gnus-dired.el | 11963 | ;;; Generated autoloads from gnus/gnus-dired.el |
| 11985 | 11964 | ||
| 11986 | (autoload 'turn-on-gnus-dired-mode "gnus-dired" "\ | 11965 | (autoload 'turn-on-gnus-dired-mode "gnus-dired" "\ |
| @@ -11991,7 +11970,7 @@ Convenience method to turn on gnus-dired-mode. | |||
| 11991 | ;;;*** | 11970 | ;;;*** |
| 11992 | 11971 | ||
| 11993 | ;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el" | 11972 | ;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el" |
| 11994 | ;;;;;; (20355 10021 546955 0)) | 11973 | ;;;;;; (20533 50312 678915 0)) |
| 11995 | ;;; Generated autoloads from gnus/gnus-draft.el | 11974 | ;;; Generated autoloads from gnus/gnus-draft.el |
| 11996 | 11975 | ||
| 11997 | (autoload 'gnus-draft-reminder "gnus-draft" "\ | 11976 | (autoload 'gnus-draft-reminder "gnus-draft" "\ |
| @@ -12004,7 +11983,7 @@ Reminder user if there are unsent drafts. | |||
| 12004 | ;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png | 11983 | ;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png |
| 12005 | ;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header | 11984 | ;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header |
| 12006 | ;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (20549 | 11985 | ;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (20549 |
| 12007 | ;;;;;; 54573 979353 0)) | 11986 | ;;;;;; 34104 417881 0)) |
| 12008 | ;;; Generated autoloads from gnus/gnus-fun.el | 11987 | ;;; Generated autoloads from gnus/gnus-fun.el |
| 12009 | 11988 | ||
| 12010 | (autoload 'gnus-random-x-face "gnus-fun" "\ | 11989 | (autoload 'gnus-random-x-face "gnus-fun" "\ |
| @@ -12049,7 +12028,7 @@ FILE should be a PNG file that's 48x48 and smaller than or equal to | |||
| 12049 | ;;;*** | 12028 | ;;;*** |
| 12050 | 12029 | ||
| 12051 | ;;;### (autoloads (gnus-treat-mail-gravatar gnus-treat-from-gravatar) | 12030 | ;;;### (autoloads (gnus-treat-mail-gravatar gnus-treat-from-gravatar) |
| 12052 | ;;;;;; "gnus-gravatar" "gnus/gnus-gravatar.el" (20355 10021 546955 | 12031 | ;;;;;; "gnus-gravatar" "gnus/gnus-gravatar.el" (20533 50312 678915 |
| 12053 | ;;;;;; 0)) | 12032 | ;;;;;; 0)) |
| 12054 | ;;; Generated autoloads from gnus/gnus-gravatar.el | 12033 | ;;; Generated autoloads from gnus/gnus-gravatar.el |
| 12055 | 12034 | ||
| @@ -12068,7 +12047,7 @@ If gravatars are already displayed, remove them. | |||
| 12068 | ;;;*** | 12047 | ;;;*** |
| 12069 | 12048 | ||
| 12070 | ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group) | 12049 | ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group) |
| 12071 | ;;;;;; "gnus-group" "gnus/gnus-group.el" (20553 51627 169867 0)) | 12050 | ;;;;;; "gnus-group" "gnus/gnus-group.el" (20553 28953 158351 908000)) |
| 12072 | ;;; Generated autoloads from gnus/gnus-group.el | 12051 | ;;; Generated autoloads from gnus/gnus-group.el |
| 12073 | 12052 | ||
| 12074 | (autoload 'gnus-fetch-group "gnus-group" "\ | 12053 | (autoload 'gnus-fetch-group "gnus-group" "\ |
| @@ -12086,7 +12065,7 @@ Pop up a frame and enter GROUP. | |||
| 12086 | ;;;*** | 12065 | ;;;*** |
| 12087 | 12066 | ||
| 12088 | ;;;### (autoloads (gnus-html-prefetch-images gnus-article-html) "gnus-html" | 12067 | ;;;### (autoloads (gnus-html-prefetch-images gnus-article-html) "gnus-html" |
| 12089 | ;;;;;; "gnus/gnus-html.el" (20355 10021 546955 0)) | 12068 | ;;;;;; "gnus/gnus-html.el" (20533 50312 678915 0)) |
| 12090 | ;;; Generated autoloads from gnus/gnus-html.el | 12069 | ;;; Generated autoloads from gnus/gnus-html.el |
| 12091 | 12070 | ||
| 12092 | (autoload 'gnus-article-html "gnus-html" "\ | 12071 | (autoload 'gnus-article-html "gnus-html" "\ |
| @@ -12102,7 +12081,7 @@ Pop up a frame and enter GROUP. | |||
| 12102 | ;;;*** | 12081 | ;;;*** |
| 12103 | 12082 | ||
| 12104 | ;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el" | 12083 | ;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el" |
| 12105 | ;;;;;; (20495 51111 757560 0)) | 12084 | ;;;;;; (20533 50312 678915 0)) |
| 12106 | ;;; Generated autoloads from gnus/gnus-kill.el | 12085 | ;;; Generated autoloads from gnus/gnus-kill.el |
| 12107 | 12086 | ||
| 12108 | (defalias 'gnus-batch-kill 'gnus-batch-score) | 12087 | (defalias 'gnus-batch-kill 'gnus-batch-score) |
| @@ -12117,7 +12096,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score | |||
| 12117 | 12096 | ||
| 12118 | ;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate | 12097 | ;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate |
| 12119 | ;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el" | 12098 | ;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el" |
| 12120 | ;;;;;; (20355 10021 546955 0)) | 12099 | ;;;;;; (20533 50312 678915 0)) |
| 12121 | ;;; Generated autoloads from gnus/gnus-ml.el | 12100 | ;;; Generated autoloads from gnus/gnus-ml.el |
| 12122 | 12101 | ||
| 12123 | (autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\ | 12102 | (autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\ |
| @@ -12142,7 +12121,7 @@ Minor mode for providing mailing-list commands. | |||
| 12142 | 12121 | ||
| 12143 | ;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update | 12122 | ;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update |
| 12144 | ;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el" | 12123 | ;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el" |
| 12145 | ;;;;;; (20355 10021 546955 0)) | 12124 | ;;;;;; (20533 50312 678915 0)) |
| 12146 | ;;; Generated autoloads from gnus/gnus-mlspl.el | 12125 | ;;; Generated autoloads from gnus/gnus-mlspl.el |
| 12147 | 12126 | ||
| 12148 | (autoload 'gnus-group-split-setup "gnus-mlspl" "\ | 12127 | (autoload 'gnus-group-split-setup "gnus-mlspl" "\ |
| @@ -12243,7 +12222,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns: | |||
| 12243 | ;;;*** | 12222 | ;;;*** |
| 12244 | 12223 | ||
| 12245 | ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail) | 12224 | ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail) |
| 12246 | ;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20593 22184 581574 0)) | 12225 | ;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20594 14884 858174 0)) |
| 12247 | ;;; Generated autoloads from gnus/gnus-msg.el | 12226 | ;;; Generated autoloads from gnus/gnus-msg.el |
| 12248 | 12227 | ||
| 12249 | (autoload 'gnus-msg-mail "gnus-msg" "\ | 12228 | (autoload 'gnus-msg-mail "gnus-msg" "\ |
| @@ -12270,7 +12249,7 @@ Like `message-reply'. | |||
| 12270 | ;;;*** | 12249 | ;;;*** |
| 12271 | 12250 | ||
| 12272 | ;;;### (autoloads (gnus-notifications) "gnus-notifications" "gnus/gnus-notifications.el" | 12251 | ;;;### (autoloads (gnus-notifications) "gnus-notifications" "gnus/gnus-notifications.el" |
| 12273 | ;;;;;; (20593 22184 581574 0)) | 12252 | ;;;;;; (20594 14884 858174 0)) |
| 12274 | ;;; Generated autoloads from gnus/gnus-notifications.el | 12253 | ;;; Generated autoloads from gnus/gnus-notifications.el |
| 12275 | 12254 | ||
| 12276 | (autoload 'gnus-notifications "gnus-notifications" "\ | 12255 | (autoload 'gnus-notifications "gnus-notifications" "\ |
| @@ -12288,7 +12267,7 @@ This is typically a function to add in | |||
| 12288 | 12267 | ||
| 12289 | ;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon | 12268 | ;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon |
| 12290 | ;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el" | 12269 | ;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el" |
| 12291 | ;;;;;; (20523 62082 997685 0)) | 12270 | ;;;;;; (20533 50312 678915 0)) |
| 12292 | ;;; Generated autoloads from gnus/gnus-picon.el | 12271 | ;;; Generated autoloads from gnus/gnus-picon.el |
| 12293 | 12272 | ||
| 12294 | (autoload 'gnus-treat-from-picon "gnus-picon" "\ | 12273 | (autoload 'gnus-treat-from-picon "gnus-picon" "\ |
| @@ -12315,7 +12294,7 @@ If picons are already displayed, remove them. | |||
| 12315 | ;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection | 12294 | ;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection |
| 12316 | ;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement | 12295 | ;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement |
| 12317 | ;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range" | 12296 | ;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range" |
| 12318 | ;;;;;; "gnus/gnus-range.el" (20544 36659 880486 0)) | 12297 | ;;;;;; "gnus/gnus-range.el" (20545 60086 510404 0)) |
| 12319 | ;;; Generated autoloads from gnus/gnus-range.el | 12298 | ;;; Generated autoloads from gnus/gnus-range.el |
| 12320 | 12299 | ||
| 12321 | (autoload 'gnus-sorted-difference "gnus-range" "\ | 12300 | (autoload 'gnus-sorted-difference "gnus-range" "\ |
| @@ -12383,7 +12362,7 @@ Add NUM into sorted LIST by side effect. | |||
| 12383 | ;;;*** | 12362 | ;;;*** |
| 12384 | 12363 | ||
| 12385 | ;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize) | 12364 | ;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize) |
| 12386 | ;;;;;; "gnus-registry" "gnus/gnus-registry.el" (20544 36659 880486 | 12365 | ;;;;;; "gnus-registry" "gnus/gnus-registry.el" (20545 60086 510404 |
| 12387 | ;;;;;; 0)) | 12366 | ;;;;;; 0)) |
| 12388 | ;;; Generated autoloads from gnus/gnus-registry.el | 12367 | ;;; Generated autoloads from gnus/gnus-registry.el |
| 12389 | 12368 | ||
| @@ -12400,8 +12379,8 @@ Install the registry hooks. | |||
| 12400 | ;;;*** | 12379 | ;;;*** |
| 12401 | 12380 | ||
| 12402 | ;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate | 12381 | ;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate |
| 12403 | ;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (20355 | 12382 | ;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (20533 |
| 12404 | ;;;;;; 10021 546955 0)) | 12383 | ;;;;;; 50312 678915 0)) |
| 12405 | ;;; Generated autoloads from gnus/gnus-sieve.el | 12384 | ;;; Generated autoloads from gnus/gnus-sieve.el |
| 12406 | 12385 | ||
| 12407 | (autoload 'gnus-sieve-update "gnus-sieve" "\ | 12386 | (autoload 'gnus-sieve-update "gnus-sieve" "\ |
| @@ -12429,7 +12408,7 @@ See the documentation for these variables and functions for details. | |||
| 12429 | ;;;*** | 12408 | ;;;*** |
| 12430 | 12409 | ||
| 12431 | ;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el" | 12410 | ;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el" |
| 12432 | ;;;;;; (20458 56750 651721 0)) | 12411 | ;;;;;; (20533 50312 678915 0)) |
| 12433 | ;;; Generated autoloads from gnus/gnus-spec.el | 12412 | ;;; Generated autoloads from gnus/gnus-spec.el |
| 12434 | 12413 | ||
| 12435 | (autoload 'gnus-update-format "gnus-spec" "\ | 12414 | (autoload 'gnus-update-format "gnus-spec" "\ |
| @@ -12440,7 +12419,7 @@ Update the format specification near point. | |||
| 12440 | ;;;*** | 12419 | ;;;*** |
| 12441 | 12420 | ||
| 12442 | ;;;### (autoloads (gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" | 12421 | ;;;### (autoloads (gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" |
| 12443 | ;;;;;; (20614 54428 654267 0)) | 12422 | ;;;;;; (20615 22847 537904 0)) |
| 12444 | ;;; Generated autoloads from gnus/gnus-start.el | 12423 | ;;; Generated autoloads from gnus/gnus-start.el |
| 12445 | 12424 | ||
| 12446 | (autoload 'gnus-declare-backend "gnus-start" "\ | 12425 | (autoload 'gnus-declare-backend "gnus-start" "\ |
| @@ -12451,7 +12430,7 @@ Declare back end NAME with ABILITIES as a Gnus back end. | |||
| 12451 | ;;;*** | 12430 | ;;;*** |
| 12452 | 12431 | ||
| 12453 | ;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el" | 12432 | ;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el" |
| 12454 | ;;;;;; (20540 39589 424586 0)) | 12433 | ;;;;;; (20668 15033 902481 0)) |
| 12455 | ;;; Generated autoloads from gnus/gnus-sum.el | 12434 | ;;; Generated autoloads from gnus/gnus-sum.el |
| 12456 | 12435 | ||
| 12457 | (autoload 'gnus-summary-bookmark-jump "gnus-sum" "\ | 12436 | (autoload 'gnus-summary-bookmark-jump "gnus-sum" "\ |
| @@ -12463,7 +12442,7 @@ BOOKMARK is a bookmark name or a bookmark record. | |||
| 12463 | ;;;*** | 12442 | ;;;*** |
| 12464 | 12443 | ||
| 12465 | ;;;### (autoloads (gnus-sync-install-hooks gnus-sync-initialize) | 12444 | ;;;### (autoloads (gnus-sync-install-hooks gnus-sync-initialize) |
| 12466 | ;;;;;; "gnus-sync" "gnus/gnus-sync.el" (20593 22184 581574 0)) | 12445 | ;;;;;; "gnus-sync" "gnus/gnus-sync.el" (20669 24410 534430 0)) |
| 12467 | ;;; Generated autoloads from gnus/gnus-sync.el | 12446 | ;;; Generated autoloads from gnus/gnus-sync.el |
| 12468 | 12447 | ||
| 12469 | (autoload 'gnus-sync-initialize "gnus-sync" "\ | 12448 | (autoload 'gnus-sync-initialize "gnus-sync" "\ |
| @@ -12479,7 +12458,7 @@ Install the sync hooks. | |||
| 12479 | ;;;*** | 12458 | ;;;*** |
| 12480 | 12459 | ||
| 12481 | ;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el" | 12460 | ;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el" |
| 12482 | ;;;;;; (20447 49522 409090 0)) | 12461 | ;;;;;; (20533 50312 678915 0)) |
| 12483 | ;;; Generated autoloads from gnus/gnus-win.el | 12462 | ;;; Generated autoloads from gnus/gnus-win.el |
| 12484 | 12463 | ||
| 12485 | (autoload 'gnus-add-configuration "gnus-win" "\ | 12464 | (autoload 'gnus-add-configuration "gnus-win" "\ |
| @@ -12490,7 +12469,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'. | |||
| 12490 | ;;;*** | 12469 | ;;;*** |
| 12491 | 12470 | ||
| 12492 | ;;;### (autoloads (gnutls-min-prime-bits) "gnutls" "net/gnutls.el" | 12471 | ;;;### (autoloads (gnutls-min-prime-bits) "gnutls" "net/gnutls.el" |
| 12493 | ;;;;;; (20476 31768 298871 0)) | 12472 | ;;;;;; (20533 50312 678915 0)) |
| 12494 | ;;; Generated autoloads from net/gnutls.el | 12473 | ;;; Generated autoloads from net/gnutls.el |
| 12495 | 12474 | ||
| 12496 | (defvar gnutls-min-prime-bits 256 "\ | 12475 | (defvar gnutls-min-prime-bits 256 "\ |
| @@ -12506,8 +12485,8 @@ A value of nil says to use the default GnuTLS value.") | |||
| 12506 | 12485 | ||
| 12507 | ;;;*** | 12486 | ;;;*** |
| 12508 | 12487 | ||
| 12509 | ;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (20626 19492 | 12488 | ;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (20625 56567 |
| 12510 | ;;;;;; 855904 0)) | 12489 | ;;;;;; 922104 625000)) |
| 12511 | ;;; Generated autoloads from play/gomoku.el | 12490 | ;;; Generated autoloads from play/gomoku.el |
| 12512 | 12491 | ||
| 12513 | (autoload 'gomoku "gomoku" "\ | 12492 | (autoload 'gomoku "gomoku" "\ |
| @@ -12535,7 +12514,7 @@ Use \\[describe-mode] for more info. | |||
| 12535 | 12514 | ||
| 12536 | ;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address | 12515 | ;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address |
| 12537 | ;;;;;; goto-address-at-point) "goto-addr" "net/goto-addr.el" (20566 | 12516 | ;;;;;; goto-address-at-point) "goto-addr" "net/goto-addr.el" (20566 |
| 12538 | ;;;;;; 63671 243798 0)) | 12517 | ;;;;;; 46230 958621 550000)) |
| 12539 | ;;; Generated autoloads from net/goto-addr.el | 12518 | ;;; Generated autoloads from net/goto-addr.el |
| 12540 | 12519 | ||
| 12541 | (define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1") | 12520 | (define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1") |
| @@ -12577,7 +12556,7 @@ Like `goto-address-mode', but only for comments and strings. | |||
| 12577 | ;;;*** | 12556 | ;;;*** |
| 12578 | 12557 | ||
| 12579 | ;;;### (autoloads (gravatar-retrieve-synchronously gravatar-retrieve) | 12558 | ;;;### (autoloads (gravatar-retrieve-synchronously gravatar-retrieve) |
| 12580 | ;;;;;; "gravatar" "gnus/gravatar.el" (20355 10021 546955 0)) | 12559 | ;;;;;; "gravatar" "gnus/gravatar.el" (20533 50312 678915 0)) |
| 12581 | ;;; Generated autoloads from gnus/gravatar.el | 12560 | ;;; Generated autoloads from gnus/gravatar.el |
| 12582 | 12561 | ||
| 12583 | (autoload 'gravatar-retrieve "gravatar" "\ | 12562 | (autoload 'gravatar-retrieve "gravatar" "\ |
| @@ -12595,8 +12574,8 @@ Retrieve MAIL-ADDRESS gravatar and returns it. | |||
| 12595 | 12574 | ||
| 12596 | ;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults | 12575 | ;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults |
| 12597 | ;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command | 12576 | ;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command |
| 12598 | ;;;;;; grep-window-height) "grep" "progmodes/grep.el" (20572 16038 | 12577 | ;;;;;; grep-window-height) "grep" "progmodes/grep.el" (20664 24895 |
| 12599 | ;;;;;; 402143 0)) | 12578 | ;;;;;; 147100 745000)) |
| 12600 | ;;; Generated autoloads from progmodes/grep.el | 12579 | ;;; Generated autoloads from progmodes/grep.el |
| 12601 | 12580 | ||
| 12602 | (defvar grep-window-height nil "\ | 12581 | (defvar grep-window-height nil "\ |
| @@ -12759,7 +12738,7 @@ file name to `*.gz', and sets `grep-highlight-matches' to `always'. | |||
| 12759 | 12738 | ||
| 12760 | ;;;*** | 12739 | ;;;*** |
| 12761 | 12740 | ||
| 12762 | ;;;### (autoloads (gs-load-image) "gs" "gs.el" (20355 10021 546955 | 12741 | ;;;### (autoloads (gs-load-image) "gs" "gs.el" (20533 50312 678915 |
| 12763 | ;;;;;; 0)) | 12742 | ;;;;;; 0)) |
| 12764 | ;;; Generated autoloads from gs.el | 12743 | ;;; Generated autoloads from gs.el |
| 12765 | 12744 | ||
| @@ -12774,8 +12753,8 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful. | |||
| 12774 | ;;;*** | 12753 | ;;;*** |
| 12775 | 12754 | ||
| 12776 | ;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb | 12755 | ;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb |
| 12777 | ;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20614 55343 | 12756 | ;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20615 22847 |
| 12778 | ;;;;;; 384716 548000)) | 12757 | ;;;;;; 537904 0)) |
| 12779 | ;;; Generated autoloads from progmodes/gud.el | 12758 | ;;; Generated autoloads from progmodes/gud.el |
| 12780 | 12759 | ||
| 12781 | (autoload 'gud-gdb "gud" "\ | 12760 | (autoload 'gud-gdb "gud" "\ |
| @@ -12863,9 +12842,9 @@ it if ARG is omitted or nil. | |||
| 12863 | 12842 | ||
| 12864 | ;;;*** | 12843 | ;;;*** |
| 12865 | 12844 | ||
| 12866 | ;;;### (autoloads (setf gv-define-simple-setter gv-define-setter | 12845 | ;;;### (autoloads (gv-ref setf gv-define-simple-setter gv-define-setter |
| 12867 | ;;;;;; gv--defun-declaration gv-define-expander gv-letplace gv-get) | 12846 | ;;;;;; gv--defun-declaration gv-define-expander gv-letplace gv-get) |
| 12868 | ;;;;;; "gv" "emacs-lisp/gv.el" (20608 20265 413008 0)) | 12847 | ;;;;;; "gv" "emacs-lisp/gv.el" (20647 7982 429263 0)) |
| 12869 | ;;; Generated autoloads from emacs-lisp/gv.el | 12848 | ;;; Generated autoloads from emacs-lisp/gv.el |
| 12870 | 12849 | ||
| 12871 | (autoload 'gv-get "gv" "\ | 12850 | (autoload 'gv-get "gv" "\ |
| @@ -12885,7 +12864,7 @@ Build the code manipulating the generalized variable PLACE. | |||
| 12885 | GETTER will be bound to a copyable expression that returns the value | 12864 | GETTER will be bound to a copyable expression that returns the value |
| 12886 | of PLACE. | 12865 | of PLACE. |
| 12887 | SETTER will be bound to a function that takes an expression V and returns | 12866 | SETTER will be bound to a function that takes an expression V and returns |
| 12888 | and new expression that sets PLACE to V. | 12867 | a new expression that sets PLACE to V. |
| 12889 | BODY should return some Elisp expression E manipulating PLACE via GETTER | 12868 | BODY should return some Elisp expression E manipulating PLACE via GETTER |
| 12890 | and SETTER. | 12869 | and SETTER. |
| 12891 | The returned value will then be an Elisp expression that first evaluates | 12870 | The returned value will then be an Elisp expression that first evaluates |
| @@ -12921,7 +12900,7 @@ well for simple place forms. | |||
| 12921 | Assignments of VAL to (NAME ARGS...) are expanded by binding the argument | 12900 | Assignments of VAL to (NAME ARGS...) are expanded by binding the argument |
| 12922 | forms (VAL ARGS...) according to ARGLIST, then executing BODY, which must | 12901 | forms (VAL ARGS...) according to ARGLIST, then executing BODY, which must |
| 12923 | return a Lisp form that does the assignment. | 12902 | return a Lisp form that does the assignment. |
| 12924 | The first arg in ARLIST (the one that receives VAL) receives an expression | 12903 | The first arg in ARGLIST (the one that receives VAL) receives an expression |
| 12925 | which can do arbitrary things, whereas the other arguments are all guaranteed | 12904 | which can do arbitrary things, whereas the other arguments are all guaranteed |
| 12926 | to be pure and copyable. Example use: | 12905 | to be pure and copyable. Example use: |
| 12927 | (gv-define-setter aref (v a i) `(aset ,a ,i ,v)) | 12906 | (gv-define-setter aref (v a i) `(aset ,a ,i ,v)) |
| @@ -12935,8 +12914,12 @@ Define a simple setter method for generalized variable NAME. | |||
| 12935 | This macro is an easy-to-use substitute for `gv-define-expander' that works | 12914 | This macro is an easy-to-use substitute for `gv-define-expander' that works |
| 12936 | well for simple place forms. Assignments of VAL to (NAME ARGS...) are | 12915 | well for simple place forms. Assignments of VAL to (NAME ARGS...) are |
| 12937 | turned into calls of the form (SETTER ARGS... VAL). | 12916 | turned into calls of the form (SETTER ARGS... VAL). |
| 12917 | |||
| 12938 | If FIX-RETURN is non-nil, then SETTER is not assumed to return VAL and | 12918 | If FIX-RETURN is non-nil, then SETTER is not assumed to return VAL and |
| 12939 | instead the assignment is turned into (prog1 VAL (SETTER ARGS... VAL)) | 12919 | instead the assignment is turned into something equivalent to |
| 12920 | (let ((temp VAL)) | ||
| 12921 | (SETTER ARGS... temp) | ||
| 12922 | temp) | ||
| 12940 | so as to preserve the semantics of `setf'. | 12923 | so as to preserve the semantics of `setf'. |
| 12941 | 12924 | ||
| 12942 | \(fn NAME SETTER &optional FIX-RETURN)" nil t) | 12925 | \(fn NAME SETTER &optional FIX-RETURN)" nil t) |
| @@ -12952,10 +12935,16 @@ The return value is the last VAL in the list. | |||
| 12952 | 12935 | ||
| 12953 | (put 'gv-place 'edebug-form-spec 'edebug-match-form) | 12936 | (put 'gv-place 'edebug-form-spec 'edebug-match-form) |
| 12954 | 12937 | ||
| 12938 | (autoload 'gv-ref "gv" "\ | ||
| 12939 | Return a reference to PLACE. | ||
| 12940 | This is like the `&' operator of the C language. | ||
| 12941 | |||
| 12942 | \(fn PLACE)" nil t) | ||
| 12943 | |||
| 12955 | ;;;*** | 12944 | ;;;*** |
| 12956 | 12945 | ||
| 12957 | ;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (20566 | 12946 | ;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (20566 |
| 12958 | ;;;;;; 63671 243798 0)) | 12947 | ;;;;;; 46640 14637 679000)) |
| 12959 | ;;; Generated autoloads from play/handwrite.el | 12948 | ;;; Generated autoloads from play/handwrite.el |
| 12960 | 12949 | ||
| 12961 | (autoload 'handwrite "handwrite" "\ | 12950 | (autoload 'handwrite "handwrite" "\ |
| @@ -12973,7 +12962,7 @@ Variables: `handwrite-linespace' (default 12) | |||
| 12973 | ;;;*** | 12962 | ;;;*** |
| 12974 | 12963 | ||
| 12975 | ;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el" | 12964 | ;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el" |
| 12976 | ;;;;;; (20478 3673 653810 0)) | 12965 | ;;;;;; (20533 50312 678915 0)) |
| 12977 | ;;; Generated autoloads from play/hanoi.el | 12966 | ;;; Generated autoloads from play/hanoi.el |
| 12978 | 12967 | ||
| 12979 | (autoload 'hanoi "hanoi" "\ | 12968 | (autoload 'hanoi "hanoi" "\ |
| @@ -13002,7 +12991,7 @@ to be updated. | |||
| 13002 | 12991 | ||
| 13003 | ;;;### (autoloads (mail-check-payment mail-add-payment-async mail-add-payment | 12992 | ;;;### (autoloads (mail-check-payment mail-add-payment-async mail-add-payment |
| 13004 | ;;;;;; hashcash-verify-payment hashcash-insert-payment-async hashcash-insert-payment) | 12993 | ;;;;;; hashcash-verify-payment hashcash-insert-payment-async hashcash-insert-payment) |
| 13005 | ;;;;;; "hashcash" "mail/hashcash.el" (20355 10021 546955 0)) | 12994 | ;;;;;; "hashcash" "mail/hashcash.el" (20533 50312 678915 0)) |
| 13006 | ;;; Generated autoloads from mail/hashcash.el | 12995 | ;;; Generated autoloads from mail/hashcash.el |
| 13007 | 12996 | ||
| 13008 | (autoload 'hashcash-insert-payment "hashcash" "\ | 12997 | (autoload 'hashcash-insert-payment "hashcash" "\ |
| @@ -13047,8 +13036,8 @@ Prefix arg sets default accept amount temporarily. | |||
| 13047 | ;;;### (autoloads (scan-buf-previous-region scan-buf-next-region | 13036 | ;;;### (autoloads (scan-buf-previous-region scan-buf-next-region |
| 13048 | ;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer | 13037 | ;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer |
| 13049 | ;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string | 13038 | ;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string |
| 13050 | ;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (20355 10021 | 13039 | ;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (20533 50312 |
| 13051 | ;;;;;; 546955 0)) | 13040 | ;;;;;; 678915 0)) |
| 13052 | ;;; Generated autoloads from help-at-pt.el | 13041 | ;;; Generated autoloads from help-at-pt.el |
| 13053 | 13042 | ||
| 13054 | (autoload 'help-at-pt-string "help-at-pt" "\ | 13043 | (autoload 'help-at-pt-string "help-at-pt" "\ |
| @@ -13178,7 +13167,7 @@ different regions. With numeric argument ARG, behaves like | |||
| 13178 | ;;;### (autoloads (doc-file-to-info doc-file-to-man describe-categories | 13167 | ;;;### (autoloads (doc-file-to-info doc-file-to-man describe-categories |
| 13179 | ;;;;;; describe-syntax describe-variable variable-at-point describe-function-1 | 13168 | ;;;;;; describe-syntax describe-variable variable-at-point describe-function-1 |
| 13180 | ;;;;;; find-lisp-object-file-name help-C-file-name describe-function) | 13169 | ;;;;;; find-lisp-object-file-name help-C-file-name describe-function) |
| 13181 | ;;;;;; "help-fns" "help-fns.el" (20601 16294 451653 0)) | 13170 | ;;;;;; "help-fns" "help-fns.el" (20600 48649 527386 0)) |
| 13182 | ;;; Generated autoloads from help-fns.el | 13171 | ;;; Generated autoloads from help-fns.el |
| 13183 | 13172 | ||
| 13184 | (autoload 'describe-function "help-fns" "\ | 13173 | (autoload 'describe-function "help-fns" "\ |
| @@ -13258,7 +13247,7 @@ Produce a texinfo buffer with sorted doc-strings from the DOC file. | |||
| 13258 | ;;;*** | 13247 | ;;;*** |
| 13259 | 13248 | ||
| 13260 | ;;;### (autoloads (three-step-help) "help-macro" "help-macro.el" | 13249 | ;;;### (autoloads (three-step-help) "help-macro" "help-macro.el" |
| 13261 | ;;;;;; (20589 25124 41923 0)) | 13250 | ;;;;;; (20588 61767 630752 0)) |
| 13262 | ;;; Generated autoloads from help-macro.el | 13251 | ;;; Generated autoloads from help-macro.el |
| 13263 | 13252 | ||
| 13264 | (defvar three-step-help nil "\ | 13253 | (defvar three-step-help nil "\ |
| @@ -13275,7 +13264,7 @@ gives the window that lists the options.") | |||
| 13275 | ;;;### (autoloads (help-bookmark-jump help-xref-on-pp help-insert-xref-button | 13264 | ;;;### (autoloads (help-bookmark-jump help-xref-on-pp help-insert-xref-button |
| 13276 | ;;;;;; help-xref-button help-make-xrefs help-buffer help-setup-xref | 13265 | ;;;;;; help-xref-button help-make-xrefs help-buffer help-setup-xref |
| 13277 | ;;;;;; help-mode-finish help-mode-setup help-mode) "help-mode" "help-mode.el" | 13266 | ;;;;;; help-mode-finish help-mode-setup help-mode) "help-mode" "help-mode.el" |
| 13278 | ;;;;;; (20601 16294 451653 0)) | 13267 | ;;;;;; (20647 12936 770269 490000)) |
| 13279 | ;;; Generated autoloads from help-mode.el | 13268 | ;;; Generated autoloads from help-mode.el |
| 13280 | 13269 | ||
| 13281 | (autoload 'help-mode "help-mode" "\ | 13270 | (autoload 'help-mode "help-mode" "\ |
| @@ -13375,7 +13364,7 @@ BOOKMARK is a bookmark name or a bookmark record. | |||
| 13375 | ;;;*** | 13364 | ;;;*** |
| 13376 | 13365 | ||
| 13377 | ;;;### (autoloads (Helper-help Helper-describe-bindings) "helper" | 13366 | ;;;### (autoloads (Helper-help Helper-describe-bindings) "helper" |
| 13378 | ;;;;;; "emacs-lisp/helper.el" (20355 10021 546955 0)) | 13367 | ;;;;;; "emacs-lisp/helper.el" (20533 50312 678915 0)) |
| 13379 | ;;; Generated autoloads from emacs-lisp/helper.el | 13368 | ;;; Generated autoloads from emacs-lisp/helper.el |
| 13380 | 13369 | ||
| 13381 | (autoload 'Helper-describe-bindings "helper" "\ | 13370 | (autoload 'Helper-describe-bindings "helper" "\ |
| @@ -13391,7 +13380,7 @@ Provide help for current mode. | |||
| 13391 | ;;;*** | 13380 | ;;;*** |
| 13392 | 13381 | ||
| 13393 | ;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl" | 13382 | ;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl" |
| 13394 | ;;;;;; "hexl.el" (20523 62082 997685 0)) | 13383 | ;;;;;; "hexl.el" (20666 60492 791740 0)) |
| 13395 | ;;; Generated autoloads from hexl.el | 13384 | ;;; Generated autoloads from hexl.el |
| 13396 | 13385 | ||
| 13397 | (autoload 'hexl-mode "hexl" "\ | 13386 | (autoload 'hexl-mode "hexl" "\ |
| @@ -13488,7 +13477,7 @@ This discards the buffer's undo information. | |||
| 13488 | ;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer | 13477 | ;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer |
| 13489 | ;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer | 13478 | ;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer |
| 13490 | ;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" | 13479 | ;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" |
| 13491 | ;;;;;; (20593 22184 581574 0)) | 13480 | ;;;;;; (20594 14884 858174 0)) |
| 13492 | ;;; Generated autoloads from hi-lock.el | 13481 | ;;; Generated autoloads from hi-lock.el |
| 13493 | 13482 | ||
| 13494 | (autoload 'hi-lock-mode "hi-lock" "\ | 13483 | (autoload 'hi-lock-mode "hi-lock" "\ |
| @@ -13636,7 +13625,7 @@ be found in variable `hi-lock-interactive-patterns'. | |||
| 13636 | ;;;*** | 13625 | ;;;*** |
| 13637 | 13626 | ||
| 13638 | ;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el" | 13627 | ;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el" |
| 13639 | ;;;;;; (20588 4262 531841 0)) | 13628 | ;;;;;; (20587 1560 278468 915000)) |
| 13640 | ;;; Generated autoloads from progmodes/hideif.el | 13629 | ;;; Generated autoloads from progmodes/hideif.el |
| 13641 | 13630 | ||
| 13642 | (autoload 'hide-ifdef-mode "hideif" "\ | 13631 | (autoload 'hide-ifdef-mode "hideif" "\ |
| @@ -13680,7 +13669,7 @@ Several variables affect how the hiding is done: | |||
| 13680 | ;;;*** | 13669 | ;;;*** |
| 13681 | 13670 | ||
| 13682 | ;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el" | 13671 | ;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el" |
| 13683 | ;;;;;; (20566 63671 243798 0)) | 13672 | ;;;;;; (20566 46578 522635 374000)) |
| 13684 | ;;; Generated autoloads from progmodes/hideshow.el | 13673 | ;;; Generated autoloads from progmodes/hideshow.el |
| 13685 | 13674 | ||
| 13686 | (defvar hs-special-modes-alist (mapcar 'purecopy '((c-mode "{" "}" "/[*/]" nil nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil))) "\ | 13675 | (defvar hs-special-modes-alist (mapcar 'purecopy '((c-mode "{" "}" "/[*/]" nil nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil))) "\ |
| @@ -13746,8 +13735,8 @@ Unconditionally turn off `hs-minor-mode'. | |||
| 13746 | ;;;;;; highlight-compare-buffers highlight-changes-rotate-faces | 13735 | ;;;;;; highlight-compare-buffers highlight-changes-rotate-faces |
| 13747 | ;;;;;; highlight-changes-previous-change highlight-changes-next-change | 13736 | ;;;;;; highlight-changes-previous-change highlight-changes-next-change |
| 13748 | ;;;;;; highlight-changes-remove-highlight highlight-changes-visible-mode | 13737 | ;;;;;; highlight-changes-remove-highlight highlight-changes-visible-mode |
| 13749 | ;;;;;; highlight-changes-mode) "hilit-chg" "hilit-chg.el" (20355 | 13738 | ;;;;;; highlight-changes-mode) "hilit-chg" "hilit-chg.el" (20533 |
| 13750 | ;;;;;; 10021 546955 0)) | 13739 | ;;;;;; 50312 678915 0)) |
| 13751 | ;;; Generated autoloads from hilit-chg.el | 13740 | ;;; Generated autoloads from hilit-chg.el |
| 13752 | 13741 | ||
| 13753 | (autoload 'highlight-changes-mode "hilit-chg" "\ | 13742 | (autoload 'highlight-changes-mode "hilit-chg" "\ |
| @@ -13878,10 +13867,17 @@ See `highlight-changes-mode' for more information on Highlight-Changes mode. | |||
| 13878 | 13867 | ||
| 13879 | ;;;*** | 13868 | ;;;*** |
| 13880 | 13869 | ||
| 13881 | ;;;### (autoloads (make-hippie-expand-function hippie-expand) "hippie-exp" | 13870 | ;;;### (autoloads (make-hippie-expand-function hippie-expand hippie-expand-try-functions-list) |
| 13882 | ;;;;;; "hippie-exp.el" (20584 7212 455152 0)) | 13871 | ;;;;;; "hippie-exp" "hippie-exp.el" (20660 26176 137583 0)) |
| 13883 | ;;; Generated autoloads from hippie-exp.el | 13872 | ;;; Generated autoloads from hippie-exp.el |
| 13884 | 13873 | ||
| 13874 | (defvar hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol) "\ | ||
| 13875 | The list of expansion functions tried in order by `hippie-expand'. | ||
| 13876 | To change the behavior of `hippie-expand', remove, change the order of, | ||
| 13877 | or insert functions in this list.") | ||
| 13878 | |||
| 13879 | (custom-autoload 'hippie-expand-try-functions-list "hippie-exp" t) | ||
| 13880 | |||
| 13885 | (autoload 'hippie-expand "hippie-exp" "\ | 13881 | (autoload 'hippie-expand "hippie-exp" "\ |
| 13886 | Try to expand text before point, using multiple methods. | 13882 | Try to expand text before point, using multiple methods. |
| 13887 | The expansion functions in `hippie-expand-try-functions-list' are | 13883 | The expansion functions in `hippie-expand-try-functions-list' are |
| @@ -13904,7 +13900,7 @@ argument VERBOSE non-nil makes the function verbose. | |||
| 13904 | ;;;*** | 13900 | ;;;*** |
| 13905 | 13901 | ||
| 13906 | ;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el" | 13902 | ;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el" |
| 13907 | ;;;;;; (20355 10021 546955 0)) | 13903 | ;;;;;; (20533 50312 678915 0)) |
| 13908 | ;;; Generated autoloads from hl-line.el | 13904 | ;;; Generated autoloads from hl-line.el |
| 13909 | 13905 | ||
| 13910 | (autoload 'hl-line-mode "hl-line" "\ | 13906 | (autoload 'hl-line-mode "hl-line" "\ |
| @@ -13957,7 +13953,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and | |||
| 13957 | ;;;;;; holiday-bahai-holidays holiday-islamic-holidays holiday-christian-holidays | 13953 | ;;;;;; holiday-bahai-holidays holiday-islamic-holidays holiday-christian-holidays |
| 13958 | ;;;;;; holiday-hebrew-holidays holiday-other-holidays holiday-local-holidays | 13954 | ;;;;;; holiday-hebrew-holidays holiday-other-holidays holiday-local-holidays |
| 13959 | ;;;;;; holiday-oriental-holidays holiday-general-holidays) "holidays" | 13955 | ;;;;;; holiday-oriental-holidays holiday-general-holidays) "holidays" |
| 13960 | ;;;;;; "calendar/holidays.el" (20566 63671 243798 0)) | 13956 | ;;;;;; "calendar/holidays.el" (20566 46439 838629 747000)) |
| 13961 | ;;; Generated autoloads from calendar/holidays.el | 13957 | ;;; Generated autoloads from calendar/holidays.el |
| 13962 | 13958 | ||
| 13963 | (define-obsolete-variable-alias 'general-holidays 'holiday-general-holidays "23.1") | 13959 | (define-obsolete-variable-alias 'general-holidays 'holiday-general-holidays "23.1") |
| @@ -14105,8 +14101,8 @@ The optional LABEL is used to label the buffer created. | |||
| 14105 | 14101 | ||
| 14106 | ;;;*** | 14102 | ;;;*** |
| 14107 | 14103 | ||
| 14108 | ;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (20355 | 14104 | ;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (20533 |
| 14109 | ;;;;;; 10021 546955 0)) | 14105 | ;;;;;; 50312 678915 0)) |
| 14110 | ;;; Generated autoloads from gnus/html2text.el | 14106 | ;;; Generated autoloads from gnus/html2text.el |
| 14111 | 14107 | ||
| 14112 | (autoload 'html2text "html2text" "\ | 14108 | (autoload 'html2text "html2text" "\ |
| @@ -14117,7 +14113,7 @@ Convert HTML to plain text in the current buffer. | |||
| 14117 | ;;;*** | 14113 | ;;;*** |
| 14118 | 14114 | ||
| 14119 | ;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer) | 14115 | ;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer) |
| 14120 | ;;;;;; "htmlfontify" "htmlfontify.el" (20614 54428 654267 0)) | 14116 | ;;;;;; "htmlfontify" "htmlfontify.el" (20615 22847 537904 0)) |
| 14121 | ;;; Generated autoloads from htmlfontify.el | 14117 | ;;; Generated autoloads from htmlfontify.el |
| 14122 | 14118 | ||
| 14123 | (autoload 'htmlfontify-buffer "htmlfontify" "\ | 14119 | (autoload 'htmlfontify-buffer "htmlfontify" "\ |
| @@ -14150,8 +14146,8 @@ You may also want to set `hfy-page-header' and `hfy-page-footer'. | |||
| 14150 | ;;;*** | 14146 | ;;;*** |
| 14151 | 14147 | ||
| 14152 | ;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter | 14148 | ;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter |
| 14153 | ;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (20478 | 14149 | ;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (20533 |
| 14154 | ;;;;;; 3673 653810 0)) | 14150 | ;;;;;; 50312 678915 0)) |
| 14155 | ;;; Generated autoloads from ibuf-macs.el | 14151 | ;;; Generated autoloads from ibuf-macs.el |
| 14156 | 14152 | ||
| 14157 | (autoload 'define-ibuffer-column "ibuf-macs" "\ | 14153 | (autoload 'define-ibuffer-column "ibuf-macs" "\ |
| @@ -14240,7 +14236,7 @@ bound to the current value of the filter. | |||
| 14240 | ;;;*** | 14236 | ;;;*** |
| 14241 | 14237 | ||
| 14242 | ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers) | 14238 | ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers) |
| 14243 | ;;;;;; "ibuffer" "ibuffer.el" (20576 13312 649004 817000)) | 14239 | ;;;;;; "ibuffer" "ibuffer.el" (20647 14483 886336 46000)) |
| 14244 | ;;; Generated autoloads from ibuffer.el | 14240 | ;;; Generated autoloads from ibuffer.el |
| 14245 | 14241 | ||
| 14246 | (autoload 'ibuffer-list-buffers "ibuffer" "\ | 14242 | (autoload 'ibuffer-list-buffers "ibuffer" "\ |
| @@ -14281,7 +14277,7 @@ FORMATS is the value to use for `ibuffer-formats'. | |||
| 14281 | 14277 | ||
| 14282 | ;;;### (autoloads (icalendar-import-buffer icalendar-import-file | 14278 | ;;;### (autoloads (icalendar-import-buffer icalendar-import-file |
| 14283 | ;;;;;; icalendar-export-region icalendar-export-file) "icalendar" | 14279 | ;;;;;; icalendar-export-region icalendar-export-file) "icalendar" |
| 14284 | ;;;;;; "calendar/icalendar.el" (20593 22184 581574 0)) | 14280 | ;;;;;; "calendar/icalendar.el" (20594 14884 858174 0)) |
| 14285 | ;;; Generated autoloads from calendar/icalendar.el | 14281 | ;;; Generated autoloads from calendar/icalendar.el |
| 14286 | 14282 | ||
| 14287 | (autoload 'icalendar-export-file "icalendar" "\ | 14283 | (autoload 'icalendar-export-file "icalendar" "\ |
| @@ -14333,8 +14329,8 @@ buffer `*icalendar-errors*'. | |||
| 14333 | 14329 | ||
| 14334 | ;;;*** | 14330 | ;;;*** |
| 14335 | 14331 | ||
| 14336 | ;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20453 | 14332 | ;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20665 |
| 14337 | ;;;;;; 5437 764254 0)) | 14333 | ;;;;;; 22617 826757 0)) |
| 14338 | ;;; Generated autoloads from icomplete.el | 14334 | ;;; Generated autoloads from icomplete.el |
| 14339 | 14335 | ||
| 14340 | (defvar icomplete-mode nil "\ | 14336 | (defvar icomplete-mode nil "\ |
| @@ -14356,8 +14352,8 @@ the mode if ARG is omitted or nil. | |||
| 14356 | 14352 | ||
| 14357 | ;;;*** | 14353 | ;;;*** |
| 14358 | 14354 | ||
| 14359 | ;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (20355 10021 | 14355 | ;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (20533 50312 |
| 14360 | ;;;;;; 546955 0)) | 14356 | ;;;;;; 678915 0)) |
| 14361 | ;;; Generated autoloads from progmodes/icon.el | 14357 | ;;; Generated autoloads from progmodes/icon.el |
| 14362 | 14358 | ||
| 14363 | (autoload 'icon-mode "icon" "\ | 14359 | (autoload 'icon-mode "icon" "\ |
| @@ -14398,7 +14394,7 @@ with no args, if that value is non-nil. | |||
| 14398 | ;;;*** | 14394 | ;;;*** |
| 14399 | 14395 | ||
| 14400 | ;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el" | 14396 | ;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el" |
| 14401 | ;;;;;; (20572 16038 402143 0)) | 14397 | ;;;;;; (20571 55599 814625 0)) |
| 14402 | ;;; Generated autoloads from progmodes/idlw-shell.el | 14398 | ;;; Generated autoloads from progmodes/idlw-shell.el |
| 14403 | 14399 | ||
| 14404 | (autoload 'idlwave-shell "idlw-shell" "\ | 14400 | (autoload 'idlwave-shell "idlw-shell" "\ |
| @@ -14424,7 +14420,7 @@ See also the variable `idlwave-shell-prompt-pattern'. | |||
| 14424 | ;;;*** | 14420 | ;;;*** |
| 14425 | 14421 | ||
| 14426 | ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el" | 14422 | ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el" |
| 14427 | ;;;;;; (20576 42138 697312 0)) | 14423 | ;;;;;; (20576 17457 279993 463000)) |
| 14428 | ;;; Generated autoloads from progmodes/idlwave.el | 14424 | ;;; Generated autoloads from progmodes/idlwave.el |
| 14429 | 14425 | ||
| 14430 | (autoload 'idlwave-mode "idlwave" "\ | 14426 | (autoload 'idlwave-mode "idlwave" "\ |
| @@ -14558,8 +14554,8 @@ The main features of this mode are | |||
| 14558 | ;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file | 14554 | ;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file |
| 14559 | ;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer | 14555 | ;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer |
| 14560 | ;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window | 14556 | ;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window |
| 14561 | ;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20590 | 14557 | ;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20665 |
| 14562 | ;;;;;; 45996 129575 0)) | 14558 | ;;;;;; 25107 949632 0)) |
| 14563 | ;;; Generated autoloads from ido.el | 14559 | ;;; Generated autoloads from ido.el |
| 14564 | 14560 | ||
| 14565 | (defvar ido-mode nil "\ | 14561 | (defvar ido-mode nil "\ |
| @@ -14818,7 +14814,7 @@ DEF, if non-nil, is the default value. | |||
| 14818 | 14814 | ||
| 14819 | ;;;*** | 14815 | ;;;*** |
| 14820 | 14816 | ||
| 14821 | ;;;### (autoloads (ielm) "ielm" "ielm.el" (20566 63671 243798 0)) | 14817 | ;;;### (autoloads (ielm) "ielm" "ielm.el" (20566 45191 990577 813000)) |
| 14822 | ;;; Generated autoloads from ielm.el | 14818 | ;;; Generated autoloads from ielm.el |
| 14823 | 14819 | ||
| 14824 | (autoload 'ielm "ielm" "\ | 14820 | (autoload 'ielm "ielm" "\ |
| @@ -14829,8 +14825,8 @@ Switches to the buffer `*ielm*', or creates it if it does not exist. | |||
| 14829 | 14825 | ||
| 14830 | ;;;*** | 14826 | ;;;*** |
| 14831 | 14827 | ||
| 14832 | ;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (20355 10021 | 14828 | ;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (20533 50312 |
| 14833 | ;;;;;; 546955 0)) | 14829 | ;;;;;; 678915 0)) |
| 14834 | ;;; Generated autoloads from iimage.el | 14830 | ;;; Generated autoloads from iimage.el |
| 14835 | 14831 | ||
| 14836 | (define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1") | 14832 | (define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1") |
| @@ -14851,7 +14847,7 @@ the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'. | |||
| 14851 | ;;;;;; create-image image-type-auto-detected-p image-type-available-p | 14847 | ;;;;;; create-image image-type-auto-detected-p image-type-available-p |
| 14852 | ;;;;;; image-type image-type-from-file-name image-type-from-file-header | 14848 | ;;;;;; image-type image-type-from-file-name image-type-from-file-header |
| 14853 | ;;;;;; image-type-from-buffer image-type-from-data) "image" "image.el" | 14849 | ;;;;;; image-type-from-buffer image-type-from-data) "image" "image.el" |
| 14854 | ;;;;;; (20613 59417 195100 163000)) | 14850 | ;;;;;; (20648 29678 511980 0)) |
| 14855 | ;;; Generated autoloads from image.el | 14851 | ;;; Generated autoloads from image.el |
| 14856 | 14852 | ||
| 14857 | (autoload 'image-type-from-data "image" "\ | 14853 | (autoload 'image-type-from-data "image" "\ |
| @@ -14950,7 +14946,7 @@ means display it in the right marginal area. | |||
| 14950 | Insert IMAGE into current buffer at point. | 14946 | Insert IMAGE into current buffer at point. |
| 14951 | IMAGE is displayed by inserting STRING into the current buffer | 14947 | IMAGE is displayed by inserting STRING into the current buffer |
| 14952 | with a `display' property whose value is the image. STRING | 14948 | with a `display' property whose value is the image. STRING |
| 14953 | defaults to the empty string if you omit it. | 14949 | defaults to a single space if you omit it. |
| 14954 | AREA is where to display the image. AREA nil or omitted means | 14950 | AREA is where to display the image. AREA nil or omitted means |
| 14955 | display it in the text area, a value of `left-margin' means | 14951 | display it in the text area, a value of `left-margin' means |
| 14956 | display it in the left marginal area, a value of `right-margin' | 14952 | display it in the left marginal area, a value of `right-margin' |
| @@ -14966,8 +14962,8 @@ height of the image; integer values are taken as pixel values. | |||
| 14966 | (autoload 'insert-sliced-image "image" "\ | 14962 | (autoload 'insert-sliced-image "image" "\ |
| 14967 | Insert IMAGE into current buffer at point. | 14963 | Insert IMAGE into current buffer at point. |
| 14968 | IMAGE is displayed by inserting STRING into the current buffer | 14964 | IMAGE is displayed by inserting STRING into the current buffer |
| 14969 | with a `display' property whose value is the image. STRING is | 14965 | with a `display' property whose value is the image. The default |
| 14970 | defaulted if you omit it. | 14966 | STRING is a single space. |
| 14971 | AREA is where to display the image. AREA nil or omitted means | 14967 | AREA is where to display the image. AREA nil or omitted means |
| 14972 | display it in the text area, a value of `left-margin' means | 14968 | display it in the text area, a value of `left-margin' means |
| 14973 | display it in the left marginal area, a value of `right-margin' | 14969 | display it in the left marginal area, a value of `right-margin' |
| @@ -15051,7 +15047,7 @@ If Emacs is compiled without ImageMagick support, this does nothing. | |||
| 15051 | ;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag | 15047 | ;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag |
| 15052 | ;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs | 15048 | ;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs |
| 15053 | ;;;;;; image-dired-dired-with-window-configuration image-dired-dired-toggle-marked-thumbs) | 15049 | ;;;;;; image-dired-dired-with-window-configuration image-dired-dired-toggle-marked-thumbs) |
| 15054 | ;;;;;; "image-dired" "image-dired.el" (20478 3673 653810 0)) | 15050 | ;;;;;; "image-dired" "image-dired.el" (20648 29678 511980 0)) |
| 15055 | ;;; Generated autoloads from image-dired.el | 15051 | ;;; Generated autoloads from image-dired.el |
| 15056 | 15052 | ||
| 15057 | (autoload 'image-dired-dired-toggle-marked-thumbs "image-dired" "\ | 15053 | (autoload 'image-dired-dired-toggle-marked-thumbs "image-dired" "\ |
| @@ -15189,7 +15185,7 @@ easy-to-use form. | |||
| 15189 | 15185 | ||
| 15190 | ;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp | 15186 | ;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp |
| 15191 | ;;;;;; image-file-name-regexps image-file-name-extensions) "image-file" | 15187 | ;;;;;; image-file-name-regexps image-file-name-extensions) "image-file" |
| 15192 | ;;;;;; "image-file.el" (20355 10021 546955 0)) | 15188 | ;;;;;; "image-file.el" (20533 50312 678915 0)) |
| 15193 | ;;; Generated autoloads from image-file.el | 15189 | ;;; Generated autoloads from image-file.el |
| 15194 | 15190 | ||
| 15195 | (defvar image-file-name-extensions (purecopy '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg")) "\ | 15191 | (defvar image-file-name-extensions (purecopy '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg")) "\ |
| @@ -15252,7 +15248,7 @@ An image file is one whose name has an extension in | |||
| 15252 | ;;;*** | 15248 | ;;;*** |
| 15253 | 15249 | ||
| 15254 | ;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode | 15250 | ;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode |
| 15255 | ;;;;;; image-mode) "image-mode" "image-mode.el" (20580 10161 446444 | 15251 | ;;;;;; image-mode) "image-mode" "image-mode.el" (20656 14460 296991 |
| 15256 | ;;;;;; 0)) | 15252 | ;;;;;; 0)) |
| 15257 | ;;; Generated autoloads from image-mode.el | 15253 | ;;; Generated autoloads from image-mode.el |
| 15258 | 15254 | ||
| @@ -15298,7 +15294,7 @@ on these modes. | |||
| 15298 | ;;;*** | 15294 | ;;;*** |
| 15299 | 15295 | ||
| 15300 | ;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar | 15296 | ;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar |
| 15301 | ;;;;;; imenu-sort-function) "imenu" "imenu.el" (20622 22438 32851 | 15297 | ;;;;;; imenu-sort-function) "imenu" "imenu.el" (20647 7982 429263 |
| 15302 | ;;;;;; 0)) | 15298 | ;;;;;; 0)) |
| 15303 | ;;; Generated autoloads from imenu.el | 15299 | ;;; Generated autoloads from imenu.el |
| 15304 | 15300 | ||
| @@ -15439,7 +15435,7 @@ for more information. | |||
| 15439 | 15435 | ||
| 15440 | ;;;### (autoloads (indian-2-column-to-ucs-region in-is13194-pre-write-conversion | 15436 | ;;;### (autoloads (indian-2-column-to-ucs-region in-is13194-pre-write-conversion |
| 15441 | ;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region) | 15437 | ;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region) |
| 15442 | ;;;;;; "ind-util" "language/ind-util.el" (20355 10021 546955 0)) | 15438 | ;;;;;; "ind-util" "language/ind-util.el" (20533 50312 678915 0)) |
| 15443 | ;;; Generated autoloads from language/ind-util.el | 15439 | ;;; Generated autoloads from language/ind-util.el |
| 15444 | 15440 | ||
| 15445 | (autoload 'indian-compose-region "ind-util" "\ | 15441 | (autoload 'indian-compose-region "ind-util" "\ |
| @@ -15470,7 +15466,7 @@ Convert old Emacs Devanagari characters to UCS. | |||
| 15470 | ;;;*** | 15466 | ;;;*** |
| 15471 | 15467 | ||
| 15472 | ;;;### (autoloads (inferior-lisp) "inf-lisp" "progmodes/inf-lisp.el" | 15468 | ;;;### (autoloads (inferior-lisp) "inf-lisp" "progmodes/inf-lisp.el" |
| 15473 | ;;;;;; (20584 7212 455152 0)) | 15469 | ;;;;;; (20584 355 183605 0)) |
| 15474 | ;;; Generated autoloads from progmodes/inf-lisp.el | 15470 | ;;; Generated autoloads from progmodes/inf-lisp.el |
| 15475 | 15471 | ||
| 15476 | (autoload 'inferior-lisp "inf-lisp" "\ | 15472 | (autoload 'inferior-lisp "inf-lisp" "\ |
| @@ -15492,8 +15488,8 @@ of `inferior-lisp-program'). Runs the hooks from | |||
| 15492 | ;;;;;; Info-goto-emacs-key-command-node Info-goto-emacs-command-node | 15488 | ;;;;;; Info-goto-emacs-key-command-node Info-goto-emacs-command-node |
| 15493 | ;;;;;; Info-mode info-finder info-apropos Info-index Info-directory | 15489 | ;;;;;; Info-mode info-finder info-apropos Info-index Info-directory |
| 15494 | ;;;;;; Info-on-current-buffer info-standalone info-emacs-bug info-emacs-manual | 15490 | ;;;;;; Info-on-current-buffer info-standalone info-emacs-bug info-emacs-manual |
| 15495 | ;;;;;; info info-other-window) "info" "info.el" (20623 43301 870757 | 15491 | ;;;;;; info info-other-window) "info" "info.el" (20668 19667 245432 |
| 15496 | ;;;;;; 0)) | 15492 | ;;;;;; 713000)) |
| 15497 | ;;; Generated autoloads from info.el | 15493 | ;;; Generated autoloads from info.el |
| 15498 | 15494 | ||
| 15499 | (defcustom Info-default-directory-list (let* ((config-dir (file-name-as-directory (or (and (featurep 'ns) (let ((dir (expand-file-name "../info" data-directory))) (if (file-directory-p dir) dir))) configure-info-directory))) (prefixes (prune-directory-list '("/usr/local/" "/usr/" "/opt/" "/"))) (suffixes '("share/" "" "gnu/" "gnu/lib/" "gnu/lib/emacs/" "emacs/" "lib/" "lib/emacs/")) (standard-info-dirs (apply #'nconc (mapcar (lambda (pfx) (let ((dirs (mapcar (lambda (sfx) (concat pfx sfx "info/")) suffixes))) (prune-directory-list dirs))) prefixes))) (dirs (if (member config-dir standard-info-dirs) (nconc standard-info-dirs (list config-dir)) (cons config-dir standard-info-dirs)))) (if (not (eq system-type 'windows-nt)) dirs (let* ((instdir (file-name-directory invocation-directory)) (dir1 (expand-file-name "../info/" instdir)) (dir2 (expand-file-name "../../../info/" instdir))) (cond ((file-exists-p dir1) (append dirs (list dir1))) ((file-exists-p dir2) (append dirs (list dir2))) (t dirs))))) "\ | 15495 | (defcustom Info-default-directory-list (let* ((config-dir (file-name-as-directory (or (and (featurep 'ns) (let ((dir (expand-file-name "../info" data-directory))) (if (file-directory-p dir) dir))) configure-info-directory))) (prefixes (prune-directory-list '("/usr/local/" "/usr/" "/opt/" "/"))) (suffixes '("share/" "" "gnu/" "gnu/lib/" "gnu/lib/emacs/" "emacs/" "lib/" "lib/emacs/")) (standard-info-dirs (apply #'nconc (mapcar (lambda (pfx) (let ((dirs (mapcar (lambda (sfx) (concat pfx sfx "info/")) suffixes))) (prune-directory-list dirs))) prefixes))) (dirs (if (member config-dir standard-info-dirs) (nconc standard-info-dirs (list config-dir)) (cons config-dir standard-info-dirs)))) (if (not (eq system-type 'windows-nt)) dirs (let* ((instdir (file-name-directory invocation-directory)) (dir1 (expand-file-name "../info/" instdir)) (dir2 (expand-file-name "../../../info/" instdir))) (cond ((file-exists-p dir1) (append dirs (list dir1))) ((file-exists-p dir2) (append dirs (list dir2))) (t dirs))))) "\ |
| @@ -15695,7 +15691,9 @@ type returned by `Info-bookmark-make-record', which see. | |||
| 15695 | \(fn BMK)" nil nil) | 15691 | \(fn BMK)" nil nil) |
| 15696 | 15692 | ||
| 15697 | (autoload 'info-display-manual "info" "\ | 15693 | (autoload 'info-display-manual "info" "\ |
| 15698 | Go to Info buffer that displays MANUAL, creating it if none already exists. | 15694 | Display an Info buffer displaying MANUAL. |
| 15695 | If there is an existing Info buffer for MANUAL, display it. | ||
| 15696 | Otherwise, visit the manual in a new Info buffer. | ||
| 15699 | 15697 | ||
| 15700 | \(fn MANUAL)" t nil) | 15698 | \(fn MANUAL)" t nil) |
| 15701 | 15699 | ||
| @@ -15703,7 +15701,7 @@ Go to Info buffer that displays MANUAL, creating it if none already exists. | |||
| 15703 | 15701 | ||
| 15704 | ;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file | 15702 | ;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file |
| 15705 | ;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el" | 15703 | ;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el" |
| 15706 | ;;;;;; (20474 44971 970015 0)) | 15704 | ;;;;;; (20533 50312 678915 0)) |
| 15707 | ;;; Generated autoloads from info-look.el | 15705 | ;;; Generated autoloads from info-look.el |
| 15708 | 15706 | ||
| 15709 | (autoload 'info-lookup-reset "info-look" "\ | 15707 | (autoload 'info-lookup-reset "info-look" "\ |
| @@ -15752,7 +15750,7 @@ Perform completion on file preceding point. | |||
| 15752 | 15750 | ||
| 15753 | ;;;### (autoloads (info-xref-docstrings info-xref-check-all-custom | 15751 | ;;;### (autoloads (info-xref-docstrings info-xref-check-all-custom |
| 15754 | ;;;;;; info-xref-check-all info-xref-check) "info-xref" "info-xref.el" | 15752 | ;;;;;; info-xref-check-all info-xref-check) "info-xref" "info-xref.el" |
| 15755 | ;;;;;; (20476 31768 298871 0)) | 15753 | ;;;;;; (20533 50312 678915 0)) |
| 15756 | ;;; Generated autoloads from info-xref.el | 15754 | ;;; Generated autoloads from info-xref.el |
| 15757 | 15755 | ||
| 15758 | (autoload 'info-xref-check "info-xref" "\ | 15756 | (autoload 'info-xref-check "info-xref" "\ |
| @@ -15835,7 +15833,7 @@ the sources handy. | |||
| 15835 | ;;;*** | 15833 | ;;;*** |
| 15836 | 15834 | ||
| 15837 | ;;;### (autoloads (batch-info-validate Info-validate Info-split Info-split-threshold | 15835 | ;;;### (autoloads (batch-info-validate Info-validate Info-split Info-split-threshold |
| 15838 | ;;;;;; Info-tagify) "informat" "informat.el" (20355 10021 546955 | 15836 | ;;;;;; Info-tagify) "informat" "informat.el" (20533 50312 678915 |
| 15839 | ;;;;;; 0)) | 15837 | ;;;;;; 0)) |
| 15840 | ;;; Generated autoloads from informat.el | 15838 | ;;; Generated autoloads from informat.el |
| 15841 | 15839 | ||
| @@ -15882,7 +15880,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\" | |||
| 15882 | ;;;*** | 15880 | ;;;*** |
| 15883 | 15881 | ||
| 15884 | ;;;### (autoloads (inversion-require-emacs) "inversion" "cedet/inversion.el" | 15882 | ;;;### (autoloads (inversion-require-emacs) "inversion" "cedet/inversion.el" |
| 15885 | ;;;;;; (20590 45996 129575 0)) | 15883 | ;;;;;; (20590 37036 437844 0)) |
| 15886 | ;;; Generated autoloads from cedet/inversion.el | 15884 | ;;; Generated autoloads from cedet/inversion.el |
| 15887 | 15885 | ||
| 15888 | (autoload 'inversion-require-emacs "inversion" "\ | 15886 | (autoload 'inversion-require-emacs "inversion" "\ |
| @@ -15895,7 +15893,7 @@ Only checks one based on which kind of Emacs is being run. | |||
| 15895 | 15893 | ||
| 15896 | ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method | 15894 | ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method |
| 15897 | ;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el" | 15895 | ;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el" |
| 15898 | ;;;;;; (20355 10021 546955 0)) | 15896 | ;;;;;; (20533 50312 678915 0)) |
| 15899 | ;;; Generated autoloads from international/isearch-x.el | 15897 | ;;; Generated autoloads from international/isearch-x.el |
| 15900 | 15898 | ||
| 15901 | (autoload 'isearch-toggle-specified-input-method "isearch-x" "\ | 15899 | (autoload 'isearch-toggle-specified-input-method "isearch-x" "\ |
| @@ -15915,8 +15913,8 @@ Toggle input method in interactive search. | |||
| 15915 | 15913 | ||
| 15916 | ;;;*** | 15914 | ;;;*** |
| 15917 | 15915 | ||
| 15918 | ;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (20355 | 15916 | ;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (20533 |
| 15919 | ;;;;;; 10021 546955 0)) | 15917 | ;;;;;; 50312 678915 0)) |
| 15920 | ;;; Generated autoloads from isearchb.el | 15918 | ;;; Generated autoloads from isearchb.el |
| 15921 | 15919 | ||
| 15922 | (autoload 'isearchb-activate "isearchb" "\ | 15920 | (autoload 'isearchb-activate "isearchb" "\ |
| @@ -15932,7 +15930,7 @@ accessed via isearchb. | |||
| 15932 | ;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only | 15930 | ;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only |
| 15933 | ;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso | 15931 | ;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso |
| 15934 | ;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt" | 15932 | ;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt" |
| 15935 | ;;;;;; "international/iso-cvt.el" (20355 10021 546955 0)) | 15933 | ;;;;;; "international/iso-cvt.el" (20533 50312 678915 0)) |
| 15936 | ;;; Generated autoloads from international/iso-cvt.el | 15934 | ;;; Generated autoloads from international/iso-cvt.el |
| 15937 | 15935 | ||
| 15938 | (autoload 'iso-spanish "iso-cvt" "\ | 15936 | (autoload 'iso-spanish "iso-cvt" "\ |
| @@ -16023,7 +16021,7 @@ Add submenus to the File menu, to convert to and from various formats. | |||
| 16023 | ;;;*** | 16021 | ;;;*** |
| 16024 | 16022 | ||
| 16025 | ;;;### (autoloads nil "iso-transl" "international/iso-transl.el" | 16023 | ;;;### (autoloads nil "iso-transl" "international/iso-transl.el" |
| 16026 | ;;;;;; (20486 36135 22104 0)) | 16024 | ;;;;;; (20533 50312 678915 0)) |
| 16027 | ;;; Generated autoloads from international/iso-transl.el | 16025 | ;;; Generated autoloads from international/iso-transl.el |
| 16028 | (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map) | 16026 | (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map) |
| 16029 | (autoload 'iso-transl-ctl-x-8-map "iso-transl" "Keymap for C-x 8 prefix." t 'keymap) | 16027 | (autoload 'iso-transl-ctl-x-8-map "iso-transl" "Keymap for C-x 8 prefix." t 'keymap) |
| @@ -16031,10 +16029,11 @@ Add submenus to the File menu, to convert to and from various formats. | |||
| 16031 | ;;;*** | 16029 | ;;;*** |
| 16032 | 16030 | ||
| 16033 | ;;;### (autoloads (ispell-message ispell-minor-mode ispell ispell-complete-word-interior-frag | 16031 | ;;;### (autoloads (ispell-message ispell-minor-mode ispell ispell-complete-word-interior-frag |
| 16034 | ;;;;;; ispell-complete-word ispell-continue ispell-buffer ispell-comments-and-strings | 16032 | ;;;;;; ispell-complete-word ispell-continue ispell-buffer-with-debug |
| 16035 | ;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell | 16033 | ;;;;;; ispell-buffer ispell-comments-and-strings ispell-region ispell-change-dictionary |
| 16036 | ;;;;;; ispell-help ispell-pdict-save ispell-word ispell-personal-dictionary) | 16034 | ;;;;;; ispell-kill-ispell ispell-help ispell-pdict-save ispell-word |
| 16037 | ;;;;;; "ispell" "textmodes/ispell.el" (20601 16294 451653 0)) | 16035 | ;;;;;; ispell-personal-dictionary) "ispell" "textmodes/ispell.el" |
| 16036 | ;;;;;; (20669 24410 534430 0)) | ||
| 16038 | ;;; Generated autoloads from textmodes/ispell.el | 16037 | ;;; Generated autoloads from textmodes/ispell.el |
| 16039 | 16038 | ||
| 16040 | (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive)))) | 16039 | (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive)))) |
| @@ -16187,6 +16186,12 @@ Check the current buffer for spelling errors interactively. | |||
| 16187 | 16186 | ||
| 16188 | \(fn)" t nil) | 16187 | \(fn)" t nil) |
| 16189 | 16188 | ||
| 16189 | (autoload 'ispell-buffer-with-debug "ispell" "\ | ||
| 16190 | `ispell-buffer' with some output sent to `ispell-debug-buffer' buffer. | ||
| 16191 | Use APPEND to append the info to previous buffer if exists. | ||
| 16192 | |||
| 16193 | \(fn &optional APPEND)" t nil) | ||
| 16194 | |||
| 16190 | (autoload 'ispell-continue "ispell" "\ | 16195 | (autoload 'ispell-continue "ispell" "\ |
| 16191 | Continue a halted spelling session beginning with the current word. | 16196 | Continue a halted spelling session beginning with the current word. |
| 16192 | 16197 | ||
| @@ -16261,8 +16266,8 @@ You can bind this to the key C-c i in GNUS or mail by adding to | |||
| 16261 | 16266 | ||
| 16262 | ;;;*** | 16267 | ;;;*** |
| 16263 | 16268 | ||
| 16264 | ;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (20577 | 16269 | ;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (20576 |
| 16265 | ;;;;;; 33959 40183 0)) | 16270 | ;;;;;; 18956 372056 655000)) |
| 16266 | ;;; Generated autoloads from iswitchb.el | 16271 | ;;; Generated autoloads from iswitchb.el |
| 16267 | 16272 | ||
| 16268 | (defvar iswitchb-mode nil "\ | 16273 | (defvar iswitchb-mode nil "\ |
| @@ -16290,7 +16295,7 @@ between buffers using substrings. See `iswitchb' for details. | |||
| 16290 | ;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region | 16295 | ;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region |
| 16291 | ;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku | 16296 | ;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku |
| 16292 | ;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal) | 16297 | ;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal) |
| 16293 | ;;;;;; "japan-util" "language/japan-util.el" (20355 10021 546955 | 16298 | ;;;;;; "japan-util" "language/japan-util.el" (20533 50312 678915 |
| 16294 | ;;;;;; 0)) | 16299 | ;;;;;; 0)) |
| 16295 | ;;; Generated autoloads from language/japan-util.el | 16300 | ;;; Generated autoloads from language/japan-util.el |
| 16296 | 16301 | ||
| @@ -16369,7 +16374,7 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading. | |||
| 16369 | ;;;*** | 16374 | ;;;*** |
| 16370 | 16375 | ||
| 16371 | ;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr" | 16376 | ;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr" |
| 16372 | ;;;;;; "jka-compr.el" (20355 10021 546955 0)) | 16377 | ;;;;;; "jka-compr.el" (20533 50312 678915 0)) |
| 16373 | ;;; Generated autoloads from jka-compr.el | 16378 | ;;; Generated autoloads from jka-compr.el |
| 16374 | 16379 | ||
| 16375 | (defvar jka-compr-inhibit nil "\ | 16380 | (defvar jka-compr-inhibit nil "\ |
| @@ -16392,8 +16397,8 @@ by `jka-compr-installed'. | |||
| 16392 | 16397 | ||
| 16393 | ;;;*** | 16398 | ;;;*** |
| 16394 | 16399 | ||
| 16395 | ;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20532 45476 981297 | 16400 | ;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20665 32946 244749 |
| 16396 | ;;;;;; 0)) | 16401 | ;;;;;; 462000)) |
| 16397 | ;;; Generated autoloads from progmodes/js.el | 16402 | ;;; Generated autoloads from progmodes/js.el |
| 16398 | 16403 | ||
| 16399 | (autoload 'js-mode "js" "\ | 16404 | (autoload 'js-mode "js" "\ |
| @@ -16407,7 +16412,7 @@ Major mode for editing JavaScript. | |||
| 16407 | 16412 | ||
| 16408 | ;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup | 16413 | ;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup |
| 16409 | ;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el" | 16414 | ;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el" |
| 16410 | ;;;;;; (20355 10021 546955 0)) | 16415 | ;;;;;; (20533 50312 678915 0)) |
| 16411 | ;;; Generated autoloads from emulation/keypad.el | 16416 | ;;; Generated autoloads from emulation/keypad.el |
| 16412 | 16417 | ||
| 16413 | (defvar keypad-setup nil "\ | 16418 | (defvar keypad-setup nil "\ |
| @@ -16463,7 +16468,7 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.' | |||
| 16463 | ;;;*** | 16468 | ;;;*** |
| 16464 | 16469 | ||
| 16465 | ;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el" | 16470 | ;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el" |
| 16466 | ;;;;;; (20355 10021 546955 0)) | 16471 | ;;;;;; (20533 50312 678915 0)) |
| 16467 | ;;; Generated autoloads from international/kinsoku.el | 16472 | ;;; Generated autoloads from international/kinsoku.el |
| 16468 | 16473 | ||
| 16469 | (autoload 'kinsoku "kinsoku" "\ | 16474 | (autoload 'kinsoku "kinsoku" "\ |
| @@ -16484,8 +16489,8 @@ the context of text formatting. | |||
| 16484 | 16489 | ||
| 16485 | ;;;*** | 16490 | ;;;*** |
| 16486 | 16491 | ||
| 16487 | ;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (20355 | 16492 | ;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (20533 |
| 16488 | ;;;;;; 10021 546955 0)) | 16493 | ;;;;;; 50312 678915 0)) |
| 16489 | ;;; Generated autoloads from international/kkc.el | 16494 | ;;; Generated autoloads from international/kkc.el |
| 16490 | 16495 | ||
| 16491 | (defvar kkc-after-update-conversion-functions nil "\ | 16496 | (defvar kkc-after-update-conversion-functions nil "\ |
| @@ -16510,7 +16515,7 @@ and the return value is the length of the conversion. | |||
| 16510 | ;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro | 16515 | ;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro |
| 16511 | ;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter | 16516 | ;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter |
| 16512 | ;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro kmacro-exec-ring-item) | 16517 | ;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro kmacro-exec-ring-item) |
| 16513 | ;;;;;; "kmacro" "kmacro.el" (20471 22929 875294 592000)) | 16518 | ;;;;;; "kmacro" "kmacro.el" (20533 50312 678915 0)) |
| 16514 | ;;; Generated autoloads from kmacro.el | 16519 | ;;; Generated autoloads from kmacro.el |
| 16515 | (global-set-key "\C-x(" 'kmacro-start-macro) | 16520 | (global-set-key "\C-x(" 'kmacro-start-macro) |
| 16516 | (global-set-key "\C-x)" 'kmacro-end-macro) | 16521 | (global-set-key "\C-x)" 'kmacro-end-macro) |
| @@ -16621,7 +16626,7 @@ If kbd macro currently being defined end it before activating it. | |||
| 16621 | ;;;*** | 16626 | ;;;*** |
| 16622 | 16627 | ||
| 16623 | ;;;### (autoloads (setup-korean-environment-internal) "korea-util" | 16628 | ;;;### (autoloads (setup-korean-environment-internal) "korea-util" |
| 16624 | ;;;;;; "language/korea-util.el" (20501 3499 284800 0)) | 16629 | ;;;;;; "language/korea-util.el" (20533 50312 678915 0)) |
| 16625 | ;;; Generated autoloads from language/korea-util.el | 16630 | ;;; Generated autoloads from language/korea-util.el |
| 16626 | 16631 | ||
| 16627 | (defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\ | 16632 | (defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\ |
| @@ -16636,7 +16641,7 @@ The kind of Korean keyboard for Korean input method. | |||
| 16636 | ;;;*** | 16641 | ;;;*** |
| 16637 | 16642 | ||
| 16638 | ;;;### (autoloads (landmark landmark-test-run) "landmark" "play/landmark.el" | 16643 | ;;;### (autoloads (landmark landmark-test-run) "landmark" "play/landmark.el" |
| 16639 | ;;;;;; (20545 57511 257469 0)) | 16644 | ;;;;;; (20545 60086 510404 0)) |
| 16640 | ;;; Generated autoloads from play/landmark.el | 16645 | ;;; Generated autoloads from play/landmark.el |
| 16641 | 16646 | ||
| 16642 | (defalias 'landmark-repeat 'landmark-test-run) | 16647 | (defalias 'landmark-repeat 'landmark-test-run) |
| @@ -16668,7 +16673,7 @@ Use \\[describe-mode] for more info. | |||
| 16668 | 16673 | ||
| 16669 | ;;;### (autoloads (lao-compose-region lao-composition-function lao-transcribe-roman-to-lao-string | 16674 | ;;;### (autoloads (lao-compose-region lao-composition-function lao-transcribe-roman-to-lao-string |
| 16670 | ;;;;;; lao-transcribe-single-roman-syllable-to-lao lao-compose-string) | 16675 | ;;;;;; lao-transcribe-single-roman-syllable-to-lao lao-compose-string) |
| 16671 | ;;;;;; "lao-util" "language/lao-util.el" (20355 10021 546955 0)) | 16676 | ;;;;;; "lao-util" "language/lao-util.el" (20533 50312 678915 0)) |
| 16672 | ;;; Generated autoloads from language/lao-util.el | 16677 | ;;; Generated autoloads from language/lao-util.el |
| 16673 | 16678 | ||
| 16674 | (autoload 'lao-compose-string "lao-util" "\ | 16679 | (autoload 'lao-compose-string "lao-util" "\ |
| @@ -16707,7 +16712,7 @@ Transcribe Romanized Lao string STR to Lao character string. | |||
| 16707 | 16712 | ||
| 16708 | ;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc | 16713 | ;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc |
| 16709 | ;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist) | 16714 | ;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist) |
| 16710 | ;;;;;; "latexenc" "international/latexenc.el" (20355 10021 546955 | 16715 | ;;;;;; "latexenc" "international/latexenc.el" (20533 50312 678915 |
| 16711 | ;;;;;; 0)) | 16716 | ;;;;;; 0)) |
| 16712 | ;;; Generated autoloads from international/latexenc.el | 16717 | ;;; Generated autoloads from international/latexenc.el |
| 16713 | 16718 | ||
| @@ -16740,8 +16745,8 @@ coding system names is determined from `latex-inputenc-coding-alist'. | |||
| 16740 | ;;;*** | 16745 | ;;;*** |
| 16741 | 16746 | ||
| 16742 | ;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display) | 16747 | ;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display) |
| 16743 | ;;;;;; "latin1-disp" "international/latin1-disp.el" (20577 33959 | 16748 | ;;;;;; "latin1-disp" "international/latin1-disp.el" (20577 7722 |
| 16744 | ;;;;;; 40183 0)) | 16749 | ;;;;;; 729771 155000)) |
| 16745 | ;;; Generated autoloads from international/latin1-disp.el | 16750 | ;;; Generated autoloads from international/latin1-disp.el |
| 16746 | 16751 | ||
| 16747 | (defvar latin1-display nil "\ | 16752 | (defvar latin1-display nil "\ |
| @@ -16783,7 +16788,7 @@ use either \\[customize] or the function `latin1-display'.") | |||
| 16783 | ;;;*** | 16788 | ;;;*** |
| 16784 | 16789 | ||
| 16785 | ;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el" | 16790 | ;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el" |
| 16786 | ;;;;;; (20355 10021 546955 0)) | 16791 | ;;;;;; (20533 50312 678915 0)) |
| 16787 | ;;; Generated autoloads from progmodes/ld-script.el | 16792 | ;;; Generated autoloads from progmodes/ld-script.el |
| 16788 | 16793 | ||
| 16789 | (autoload 'ld-script-mode "ld-script" "\ | 16794 | (autoload 'ld-script-mode "ld-script" "\ |
| @@ -16793,7 +16798,7 @@ A major mode to edit GNU ld script files | |||
| 16793 | 16798 | ||
| 16794 | ;;;*** | 16799 | ;;;*** |
| 16795 | 16800 | ||
| 16796 | ;;;### (autoloads (life) "life" "play/life.el" (20545 57511 257469 | 16801 | ;;;### (autoloads (life) "life" "play/life.el" (20545 60086 510404 |
| 16797 | ;;;;;; 0)) | 16802 | ;;;;;; 0)) |
| 16798 | ;;; Generated autoloads from play/life.el | 16803 | ;;; Generated autoloads from play/life.el |
| 16799 | 16804 | ||
| @@ -16808,7 +16813,7 @@ generations (this defaults to 1). | |||
| 16808 | ;;;*** | 16813 | ;;;*** |
| 16809 | 16814 | ||
| 16810 | ;;;### (autoloads (global-linum-mode linum-mode) "linum" "linum.el" | 16815 | ;;;### (autoloads (global-linum-mode linum-mode) "linum" "linum.el" |
| 16811 | ;;;;;; (20580 10161 446444 0)) | 16816 | ;;;;;; (20581 13032 944808 0)) |
| 16812 | ;;; Generated autoloads from linum.el | 16817 | ;;; Generated autoloads from linum.el |
| 16813 | 16818 | ||
| 16814 | (autoload 'linum-mode "linum" "\ | 16819 | (autoload 'linum-mode "linum" "\ |
| @@ -16844,8 +16849,8 @@ See `linum-mode' for more information on Linum mode. | |||
| 16844 | 16849 | ||
| 16845 | ;;;*** | 16850 | ;;;*** |
| 16846 | 16851 | ||
| 16847 | ;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (20476 | 16852 | ;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (20533 |
| 16848 | ;;;;;; 31768 298871 0)) | 16853 | ;;;;;; 50312 678915 0)) |
| 16849 | ;;; Generated autoloads from loadhist.el | 16854 | ;;; Generated autoloads from loadhist.el |
| 16850 | 16855 | ||
| 16851 | (autoload 'unload-feature "loadhist" "\ | 16856 | (autoload 'unload-feature "loadhist" "\ |
| @@ -16877,7 +16882,7 @@ something strange, such as redefining an Emacs function. | |||
| 16877 | ;;;*** | 16882 | ;;;*** |
| 16878 | 16883 | ||
| 16879 | ;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches) | 16884 | ;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches) |
| 16880 | ;;;;;; "locate" "locate.el" (20566 63671 243798 0)) | 16885 | ;;;;;; "locate" "locate.el" (20566 45835 254600 494000)) |
| 16881 | ;;; Generated autoloads from locate.el | 16886 | ;;; Generated autoloads from locate.el |
| 16882 | 16887 | ||
| 16883 | (defvar locate-ls-subdir-switches (purecopy "-al") "\ | 16888 | (defvar locate-ls-subdir-switches (purecopy "-al") "\ |
| @@ -16929,8 +16934,8 @@ except that FILTER is not optional. | |||
| 16929 | 16934 | ||
| 16930 | ;;;*** | 16935 | ;;;*** |
| 16931 | 16936 | ||
| 16932 | ;;;### (autoloads (log-edit) "log-edit" "vc/log-edit.el" (20586 48936 | 16937 | ;;;### (autoloads (log-edit) "log-edit" "vc/log-edit.el" (20586 27094 |
| 16933 | ;;;;;; 135199 0)) | 16938 | ;;;;;; 290288 0)) |
| 16934 | ;;; Generated autoloads from vc/log-edit.el | 16939 | ;;; Generated autoloads from vc/log-edit.el |
| 16935 | 16940 | ||
| 16936 | (autoload 'log-edit "log-edit" "\ | 16941 | (autoload 'log-edit "log-edit" "\ |
| @@ -16961,8 +16966,8 @@ done. Otherwise, it uses the current buffer. | |||
| 16961 | 16966 | ||
| 16962 | ;;;*** | 16967 | ;;;*** |
| 16963 | 16968 | ||
| 16964 | ;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (20515 | 16969 | ;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (20533 |
| 16965 | ;;;;;; 36389 544939 0)) | 16970 | ;;;;;; 50312 678915 0)) |
| 16966 | ;;; Generated autoloads from vc/log-view.el | 16971 | ;;; Generated autoloads from vc/log-view.el |
| 16967 | 16972 | ||
| 16968 | (autoload 'log-view-mode "log-view" "\ | 16973 | (autoload 'log-view-mode "log-view" "\ |
| @@ -16972,35 +16977,9 @@ Major mode for browsing CVS log output. | |||
| 16972 | 16977 | ||
| 16973 | ;;;*** | 16978 | ;;;*** |
| 16974 | 16979 | ||
| 16975 | ;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (20355 | ||
| 16976 | ;;;;;; 10021 546955 0)) | ||
| 16977 | ;;; Generated autoloads from longlines.el | ||
| 16978 | |||
| 16979 | (autoload 'longlines-mode "longlines" "\ | ||
| 16980 | Toggle Long Lines mode in this buffer. | ||
| 16981 | With a prefix argument ARG, enable Long Lines mode if ARG is | ||
| 16982 | positive, and disable it otherwise. If called from Lisp, enable | ||
| 16983 | the mode if ARG is omitted or nil. | ||
| 16984 | |||
| 16985 | When Long Lines mode is enabled, long lines are wrapped if they | ||
| 16986 | extend beyond `fill-column'. The soft newlines used for line | ||
| 16987 | wrapping will not show up when the text is yanked or saved to | ||
| 16988 | disk. | ||
| 16989 | |||
| 16990 | If the variable `longlines-auto-wrap' is non-nil, lines are | ||
| 16991 | automatically wrapped whenever the buffer is changed. You can | ||
| 16992 | always call `fill-paragraph' to fill individual paragraphs. | ||
| 16993 | |||
| 16994 | If the variable `longlines-show-hard-newlines' is non-nil, hard | ||
| 16995 | newlines are indicated with a symbol. | ||
| 16996 | |||
| 16997 | \(fn &optional ARG)" t nil) | ||
| 16998 | |||
| 16999 | ;;;*** | ||
| 17000 | |||
| 17001 | ;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer | 16980 | ;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer |
| 17002 | ;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (20476 | 16981 | ;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (20533 |
| 17003 | ;;;;;; 31768 298871 0)) | 16982 | ;;;;;; 50312 678915 0)) |
| 17004 | ;;; Generated autoloads from lpr.el | 16983 | ;;; Generated autoloads from lpr.el |
| 17005 | 16984 | ||
| 17006 | (defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)) "\ | 16985 | (defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)) "\ |
| @@ -17096,7 +17075,7 @@ for further customization of the printer command. | |||
| 17096 | ;;;*** | 17075 | ;;;*** |
| 17097 | 17076 | ||
| 17098 | ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el" | 17077 | ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el" |
| 17099 | ;;;;;; (20355 10021 546955 0)) | 17078 | ;;;;;; (20533 50312 678915 0)) |
| 17100 | ;;; Generated autoloads from ls-lisp.el | 17079 | ;;; Generated autoloads from ls-lisp.el |
| 17101 | 17080 | ||
| 17102 | (defvar ls-lisp-support-shell-wildcards t "\ | 17081 | (defvar ls-lisp-support-shell-wildcards t "\ |
| @@ -17108,7 +17087,7 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).") | |||
| 17108 | ;;;*** | 17087 | ;;;*** |
| 17109 | 17088 | ||
| 17110 | ;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (20566 | 17089 | ;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (20566 |
| 17111 | ;;;;;; 63671 243798 0)) | 17090 | ;;;;;; 46417 662629 772000)) |
| 17112 | ;;; Generated autoloads from calendar/lunar.el | 17091 | ;;; Generated autoloads from calendar/lunar.el |
| 17113 | 17092 | ||
| 17114 | (autoload 'lunar-phases "lunar" "\ | 17093 | (autoload 'lunar-phases "lunar" "\ |
| @@ -17122,8 +17101,8 @@ This function is suitable for execution in an init file. | |||
| 17122 | 17101 | ||
| 17123 | ;;;*** | 17102 | ;;;*** |
| 17124 | 17103 | ||
| 17125 | ;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (20355 | 17104 | ;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (20665 |
| 17126 | ;;;;;; 10021 546955 0)) | 17105 | ;;;;;; 36931 628705 467000)) |
| 17127 | ;;; Generated autoloads from progmodes/m4-mode.el | 17106 | ;;; Generated autoloads from progmodes/m4-mode.el |
| 17128 | 17107 | ||
| 17129 | (autoload 'm4-mode "m4-mode" "\ | 17108 | (autoload 'm4-mode "m4-mode" "\ |
| @@ -17134,7 +17113,7 @@ A major mode to edit m4 macro files. | |||
| 17134 | ;;;*** | 17113 | ;;;*** |
| 17135 | 17114 | ||
| 17136 | ;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro | 17115 | ;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro |
| 17137 | ;;;;;; name-last-kbd-macro) "macros" "macros.el" (20355 10021 546955 | 17116 | ;;;;;; name-last-kbd-macro) "macros" "macros.el" (20533 50312 678915 |
| 17138 | ;;;;;; 0)) | 17117 | ;;;;;; 0)) |
| 17139 | ;;; Generated autoloads from macros.el | 17118 | ;;; Generated autoloads from macros.el |
| 17140 | 17119 | ||
| @@ -17224,7 +17203,7 @@ and then select the region of un-tablified names and use | |||
| 17224 | ;;;*** | 17203 | ;;;*** |
| 17225 | 17204 | ||
| 17226 | ;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr" | 17205 | ;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr" |
| 17227 | ;;;;;; "mail/mail-extr.el" (20355 10021 546955 0)) | 17206 | ;;;;;; "mail/mail-extr.el" (20533 50312 678915 0)) |
| 17228 | ;;; Generated autoloads from mail/mail-extr.el | 17207 | ;;; Generated autoloads from mail/mail-extr.el |
| 17229 | 17208 | ||
| 17230 | (autoload 'mail-extract-address-components "mail-extr" "\ | 17209 | (autoload 'mail-extract-address-components "mail-extr" "\ |
| @@ -17256,7 +17235,7 @@ Convert mail domain DOMAIN to the country it corresponds to. | |||
| 17256 | 17235 | ||
| 17257 | ;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history | 17236 | ;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history |
| 17258 | ;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el" | 17237 | ;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el" |
| 17259 | ;;;;;; (20566 63671 243798 0)) | 17238 | ;;;;;; (20566 46269 462622 211000)) |
| 17260 | ;;; Generated autoloads from mail/mail-hist.el | 17239 | ;;; Generated autoloads from mail/mail-hist.el |
| 17261 | 17240 | ||
| 17262 | (autoload 'mail-hist-define-keys "mail-hist" "\ | 17241 | (autoload 'mail-hist-define-keys "mail-hist" "\ |
| @@ -17288,7 +17267,7 @@ This function normally would be called when the message is sent. | |||
| 17288 | ;;;### (autoloads (mail-fetch-field mail-unquote-printable-region | 17267 | ;;;### (autoloads (mail-fetch-field mail-unquote-printable-region |
| 17289 | ;;;;;; mail-unquote-printable mail-quote-printable-region mail-quote-printable | 17268 | ;;;;;; mail-unquote-printable mail-quote-printable-region mail-quote-printable |
| 17290 | ;;;;;; mail-file-babyl-p mail-dont-reply-to-names mail-use-rfc822) | 17269 | ;;;;;; mail-file-babyl-p mail-dont-reply-to-names mail-use-rfc822) |
| 17291 | ;;;;;; "mail-utils" "mail/mail-utils.el" (20355 10021 546955 0)) | 17270 | ;;;;;; "mail-utils" "mail/mail-utils.el" (20533 50312 678915 0)) |
| 17292 | ;;; Generated autoloads from mail/mail-utils.el | 17271 | ;;; Generated autoloads from mail/mail-utils.el |
| 17293 | 17272 | ||
| 17294 | (defvar mail-use-rfc822 nil "\ | 17273 | (defvar mail-use-rfc822 nil "\ |
| @@ -17364,7 +17343,7 @@ matches may be returned from the message body. | |||
| 17364 | 17343 | ||
| 17365 | ;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup | 17344 | ;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup |
| 17366 | ;;;;;; mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (20566 | 17345 | ;;;;;; mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (20566 |
| 17367 | ;;;;;; 63671 243798 0)) | 17346 | ;;;;;; 34890 729127 0)) |
| 17368 | ;;; Generated autoloads from mail/mailabbrev.el | 17347 | ;;; Generated autoloads from mail/mailabbrev.el |
| 17369 | 17348 | ||
| 17370 | (defvar mail-abbrevs-mode nil "\ | 17349 | (defvar mail-abbrevs-mode nil "\ |
| @@ -17415,7 +17394,7 @@ double-quotes. | |||
| 17415 | 17394 | ||
| 17416 | ;;;### (autoloads (mail-complete mail-completion-at-point-function | 17395 | ;;;### (autoloads (mail-complete mail-completion-at-point-function |
| 17417 | ;;;;;; define-mail-alias expand-mail-aliases mail-complete-style) | 17396 | ;;;;;; define-mail-alias expand-mail-aliases mail-complete-style) |
| 17418 | ;;;;;; "mailalias" "mail/mailalias.el" (20577 33959 40183 0)) | 17397 | ;;;;;; "mailalias" "mail/mailalias.el" (20576 15960 587930 157000)) |
| 17419 | ;;; Generated autoloads from mail/mailalias.el | 17398 | ;;; Generated autoloads from mail/mailalias.el |
| 17420 | 17399 | ||
| 17421 | (defvar mail-complete-style 'angles "\ | 17400 | (defvar mail-complete-style 'angles "\ |
| @@ -17469,7 +17448,7 @@ current header, calls `mail-complete-function' and passes prefix ARG if any. | |||
| 17469 | ;;;*** | 17448 | ;;;*** |
| 17470 | 17449 | ||
| 17471 | ;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el" | 17450 | ;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el" |
| 17472 | ;;;;;; (20355 10021 546955 0)) | 17451 | ;;;;;; (20533 50312 678915 0)) |
| 17473 | ;;; Generated autoloads from mail/mailclient.el | 17452 | ;;; Generated autoloads from mail/mailclient.el |
| 17474 | 17453 | ||
| 17475 | (autoload 'mailclient-send-it "mailclient" "\ | 17454 | (autoload 'mailclient-send-it "mailclient" "\ |
| @@ -17483,8 +17462,8 @@ The mail client is taken to be the handler of mailto URLs. | |||
| 17483 | 17462 | ||
| 17484 | ;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode | 17463 | ;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode |
| 17485 | ;;;;;; makefile-gmake-mode makefile-automake-mode makefile-mode) | 17464 | ;;;;;; makefile-gmake-mode makefile-automake-mode makefile-mode) |
| 17486 | ;;;;;; "make-mode" "progmodes/make-mode.el" (20392 30149 675975 | 17465 | ;;;;;; "make-mode" "progmodes/make-mode.el" (20665 39324 196680 |
| 17487 | ;;;;;; 59000)) | 17466 | ;;;;;; 404000)) |
| 17488 | ;;; Generated autoloads from progmodes/make-mode.el | 17467 | ;;; Generated autoloads from progmodes/make-mode.el |
| 17489 | 17468 | ||
| 17490 | (autoload 'makefile-mode "make-mode" "\ | 17469 | (autoload 'makefile-mode "make-mode" "\ |
| @@ -17601,8 +17580,8 @@ An adapted `makefile-mode' that knows about imake. | |||
| 17601 | 17580 | ||
| 17602 | ;;;*** | 17581 | ;;;*** |
| 17603 | 17582 | ||
| 17604 | ;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (20355 | 17583 | ;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (20533 |
| 17605 | ;;;;;; 10021 546955 0)) | 17584 | ;;;;;; 50312 678915 0)) |
| 17606 | ;;; Generated autoloads from makesum.el | 17585 | ;;; Generated autoloads from makesum.el |
| 17607 | 17586 | ||
| 17608 | (autoload 'make-command-summary "makesum" "\ | 17587 | (autoload 'make-command-summary "makesum" "\ |
| @@ -17614,7 +17593,7 @@ Previous contents of that buffer are killed first. | |||
| 17614 | ;;;*** | 17593 | ;;;*** |
| 17615 | 17594 | ||
| 17616 | ;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el" | 17595 | ;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el" |
| 17617 | ;;;;;; (20523 62082 997685 0)) | 17596 | ;;;;;; (20533 50312 678915 0)) |
| 17618 | ;;; Generated autoloads from man.el | 17597 | ;;; Generated autoloads from man.el |
| 17619 | 17598 | ||
| 17620 | (defalias 'manual-entry 'man) | 17599 | (defalias 'manual-entry 'man) |
| @@ -17668,8 +17647,8 @@ Default bookmark handler for Man buffers. | |||
| 17668 | 17647 | ||
| 17669 | ;;;*** | 17648 | ;;;*** |
| 17670 | 17649 | ||
| 17671 | ;;;### (autoloads (master-mode) "master" "master.el" (20355 10021 | 17650 | ;;;### (autoloads (master-mode) "master" "master.el" (20533 50312 |
| 17672 | ;;;;;; 546955 0)) | 17651 | ;;;;;; 678915 0)) |
| 17673 | ;;; Generated autoloads from master.el | 17652 | ;;; Generated autoloads from master.el |
| 17674 | 17653 | ||
| 17675 | (autoload 'master-mode "master" "\ | 17654 | (autoload 'master-mode "master" "\ |
| @@ -17692,7 +17671,7 @@ yourself the value of `master-of' by calling `master-show-slave'. | |||
| 17692 | ;;;*** | 17671 | ;;;*** |
| 17693 | 17672 | ||
| 17694 | ;;;### (autoloads (minibuffer-depth-indicate-mode) "mb-depth" "mb-depth.el" | 17673 | ;;;### (autoloads (minibuffer-depth-indicate-mode) "mb-depth" "mb-depth.el" |
| 17695 | ;;;;;; (20355 10021 546955 0)) | 17674 | ;;;;;; (20533 50312 678915 0)) |
| 17696 | ;;; Generated autoloads from mb-depth.el | 17675 | ;;; Generated autoloads from mb-depth.el |
| 17697 | 17676 | ||
| 17698 | (defvar minibuffer-depth-indicate-mode nil "\ | 17677 | (defvar minibuffer-depth-indicate-mode nil "\ |
| @@ -17725,7 +17704,7 @@ recursion depth in the minibuffer prompt. This is only useful if | |||
| 17725 | ;;;;;; message-forward-make-body message-forward message-recover | 17704 | ;;;;;; message-forward-make-body message-forward message-recover |
| 17726 | ;;;;;; message-supersede message-cancel-news message-followup message-wide-reply | 17705 | ;;;;;; message-supersede message-cancel-news message-followup message-wide-reply |
| 17727 | ;;;;;; message-reply message-news message-mail message-mode) "message" | 17706 | ;;;;;; message-reply message-news message-mail message-mode) "message" |
| 17728 | ;;;;;; "gnus/message.el" (20567 23165 75548 0)) | 17707 | ;;;;;; "gnus/message.el" (20650 61396 673885 0)) |
| 17729 | ;;; Generated autoloads from gnus/message.el | 17708 | ;;; Generated autoloads from gnus/message.el |
| 17730 | 17709 | ||
| 17731 | (define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook) | 17710 | (define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook) |
| @@ -17891,7 +17870,7 @@ which specify the range to operate on. | |||
| 17891 | ;;;*** | 17870 | ;;;*** |
| 17892 | 17871 | ||
| 17893 | ;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el" | 17872 | ;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el" |
| 17894 | ;;;;;; (20399 35365 4050 0)) | 17873 | ;;;;;; (20533 50312 678915 0)) |
| 17895 | ;;; Generated autoloads from progmodes/meta-mode.el | 17874 | ;;; Generated autoloads from progmodes/meta-mode.el |
| 17896 | 17875 | ||
| 17897 | (autoload 'metafont-mode "meta-mode" "\ | 17876 | (autoload 'metafont-mode "meta-mode" "\ |
| @@ -17908,7 +17887,7 @@ Major mode for editing MetaPost sources. | |||
| 17908 | 17887 | ||
| 17909 | ;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body | 17888 | ;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body |
| 17910 | ;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el" | 17889 | ;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el" |
| 17911 | ;;;;;; (20355 10021 546955 0)) | 17890 | ;;;;;; (20533 50312 678915 0)) |
| 17912 | ;;; Generated autoloads from mail/metamail.el | 17891 | ;;; Generated autoloads from mail/metamail.el |
| 17913 | 17892 | ||
| 17914 | (autoload 'metamail-interpret-header "metamail" "\ | 17893 | (autoload 'metamail-interpret-header "metamail" "\ |
| @@ -17953,7 +17932,7 @@ redisplayed as output is inserted. | |||
| 17953 | 17932 | ||
| 17954 | ;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose | 17933 | ;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose |
| 17955 | ;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp" | 17934 | ;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp" |
| 17956 | ;;;;;; "mh-e/mh-comp.el" (20355 10021 546955 0)) | 17935 | ;;;;;; "mh-e/mh-comp.el" (20660 26176 137583 0)) |
| 17957 | ;;; Generated autoloads from mh-e/mh-comp.el | 17936 | ;;; Generated autoloads from mh-e/mh-comp.el |
| 17958 | 17937 | ||
| 17959 | (autoload 'mh-smail "mh-comp" "\ | 17938 | (autoload 'mh-smail "mh-comp" "\ |
| @@ -18043,8 +18022,8 @@ delete the draft message. | |||
| 18043 | 18022 | ||
| 18044 | ;;;*** | 18023 | ;;;*** |
| 18045 | 18024 | ||
| 18046 | ;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20614 54428 | 18025 | ;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20660 26176 |
| 18047 | ;;;;;; 654267 0)) | 18026 | ;;;;;; 137583 0)) |
| 18048 | ;;; Generated autoloads from mh-e/mh-e.el | 18027 | ;;; Generated autoloads from mh-e/mh-e.el |
| 18049 | 18028 | ||
| 18050 | (put 'mh-progs 'risky-local-variable t) | 18029 | (put 'mh-progs 'risky-local-variable t) |
| @@ -18061,7 +18040,7 @@ Display version information about MH-E and the MH mail handling system. | |||
| 18061 | ;;;*** | 18040 | ;;;*** |
| 18062 | 18041 | ||
| 18063 | ;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder" | 18042 | ;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder" |
| 18064 | ;;;;;; "mh-e/mh-folder.el" (20371 55972 331861 0)) | 18043 | ;;;;;; "mh-e/mh-folder.el" (20660 26176 137583 0)) |
| 18065 | ;;; Generated autoloads from mh-e/mh-folder.el | 18044 | ;;; Generated autoloads from mh-e/mh-folder.el |
| 18066 | 18045 | ||
| 18067 | (autoload 'mh-rmail "mh-folder" "\ | 18046 | (autoload 'mh-rmail "mh-folder" "\ |
| @@ -18143,7 +18122,7 @@ perform the operation on all messages in that region. | |||
| 18143 | ;;;*** | 18122 | ;;;*** |
| 18144 | 18123 | ||
| 18145 | ;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight" | 18124 | ;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight" |
| 18146 | ;;;;;; "midnight.el" (20478 3673 653810 0)) | 18125 | ;;;;;; "midnight.el" (20533 50312 678915 0)) |
| 18147 | ;;; Generated autoloads from midnight.el | 18126 | ;;; Generated autoloads from midnight.el |
| 18148 | 18127 | ||
| 18149 | (autoload 'clean-buffer-list "midnight" "\ | 18128 | (autoload 'clean-buffer-list "midnight" "\ |
| @@ -18170,7 +18149,7 @@ to its second argument TM. | |||
| 18170 | ;;;*** | 18149 | ;;;*** |
| 18171 | 18150 | ||
| 18172 | ;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef" | 18151 | ;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef" |
| 18173 | ;;;;;; "minibuf-eldef.el" (20580 10161 446444 0)) | 18152 | ;;;;;; "minibuf-eldef.el" (20647 7982 429263 0)) |
| 18174 | ;;; Generated autoloads from minibuf-eldef.el | 18153 | ;;; Generated autoloads from minibuf-eldef.el |
| 18175 | 18154 | ||
| 18176 | (defvar minibuffer-electric-default-mode nil "\ | 18155 | (defvar minibuffer-electric-default-mode nil "\ |
| @@ -18200,7 +18179,7 @@ is modified to remove the default indication. | |||
| 18200 | ;;;*** | 18179 | ;;;*** |
| 18201 | 18180 | ||
| 18202 | ;;;### (autoloads (list-dynamic-libraries butterfly) "misc" "misc.el" | 18181 | ;;;### (autoloads (list-dynamic-libraries butterfly) "misc" "misc.el" |
| 18203 | ;;;;;; (20533 5993 500881 0)) | 18182 | ;;;;;; (20533 50312 678915 0)) |
| 18204 | ;;; Generated autoloads from misc.el | 18183 | ;;; Generated autoloads from misc.el |
| 18205 | 18184 | ||
| 18206 | (autoload 'butterfly "misc" "\ | 18185 | (autoload 'butterfly "misc" "\ |
| @@ -18230,7 +18209,7 @@ The return value is always nil. | |||
| 18230 | 18209 | ||
| 18231 | ;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files | 18210 | ;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files |
| 18232 | ;;;;;; multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup) | 18211 | ;;;;;; multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup) |
| 18233 | ;;;;;; "misearch" "misearch.el" (20490 33188 850375 0)) | 18212 | ;;;;;; "misearch" "misearch.el" (20533 50312 678915 0)) |
| 18234 | ;;; Generated autoloads from misearch.el | 18213 | ;;; Generated autoloads from misearch.el |
| 18235 | (add-hook 'isearch-mode-hook 'multi-isearch-setup) | 18214 | (add-hook 'isearch-mode-hook 'multi-isearch-setup) |
| 18236 | 18215 | ||
| @@ -18312,7 +18291,7 @@ whose file names match the specified wildcard. | |||
| 18312 | ;;;*** | 18291 | ;;;*** |
| 18313 | 18292 | ||
| 18314 | ;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el" | 18293 | ;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el" |
| 18315 | ;;;;;; (20566 63671 243798 0)) | 18294 | ;;;;;; (20566 46143 538618 330000)) |
| 18316 | ;;; Generated autoloads from progmodes/mixal-mode.el | 18295 | ;;; Generated autoloads from progmodes/mixal-mode.el |
| 18317 | 18296 | ||
| 18318 | (autoload 'mixal-mode "mixal-mode" "\ | 18297 | (autoload 'mixal-mode "mixal-mode" "\ |
| @@ -18323,7 +18302,7 @@ Major mode for the mixal asm language. | |||
| 18323 | ;;;*** | 18302 | ;;;*** |
| 18324 | 18303 | ||
| 18325 | ;;;### (autoloads (mm-default-file-encoding) "mm-encode" "gnus/mm-encode.el" | 18304 | ;;;### (autoloads (mm-default-file-encoding) "mm-encode" "gnus/mm-encode.el" |
| 18326 | ;;;;;; (20355 10021 546955 0)) | 18305 | ;;;;;; (20533 50312 678915 0)) |
| 18327 | ;;; Generated autoloads from gnus/mm-encode.el | 18306 | ;;; Generated autoloads from gnus/mm-encode.el |
| 18328 | 18307 | ||
| 18329 | (autoload 'mm-default-file-encoding "mm-encode" "\ | 18308 | (autoload 'mm-default-file-encoding "mm-encode" "\ |
| @@ -18334,7 +18313,7 @@ Return a default encoding for FILE. | |||
| 18334 | ;;;*** | 18313 | ;;;*** |
| 18335 | 18314 | ||
| 18336 | ;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents) | 18315 | ;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents) |
| 18337 | ;;;;;; "mm-extern" "gnus/mm-extern.el" (20355 10021 546955 0)) | 18316 | ;;;;;; "mm-extern" "gnus/mm-extern.el" (20533 50312 678915 0)) |
| 18338 | ;;; Generated autoloads from gnus/mm-extern.el | 18317 | ;;; Generated autoloads from gnus/mm-extern.el |
| 18339 | 18318 | ||
| 18340 | (autoload 'mm-extern-cache-contents "mm-extern" "\ | 18319 | (autoload 'mm-extern-cache-contents "mm-extern" "\ |
| @@ -18353,7 +18332,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing. | |||
| 18353 | ;;;*** | 18332 | ;;;*** |
| 18354 | 18333 | ||
| 18355 | ;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el" | 18334 | ;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el" |
| 18356 | ;;;;;; (20355 10021 546955 0)) | 18335 | ;;;;;; (20533 50312 678915 0)) |
| 18357 | ;;; Generated autoloads from gnus/mm-partial.el | 18336 | ;;; Generated autoloads from gnus/mm-partial.el |
| 18358 | 18337 | ||
| 18359 | (autoload 'mm-inline-partial "mm-partial" "\ | 18338 | (autoload 'mm-inline-partial "mm-partial" "\ |
| @@ -18367,7 +18346,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing. | |||
| 18367 | ;;;*** | 18346 | ;;;*** |
| 18368 | 18347 | ||
| 18369 | ;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents) | 18348 | ;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents) |
| 18370 | ;;;;;; "mm-url" "gnus/mm-url.el" (20495 51111 757560 0)) | 18349 | ;;;;;; "mm-url" "gnus/mm-url.el" (20533 50312 678915 0)) |
| 18371 | ;;; Generated autoloads from gnus/mm-url.el | 18350 | ;;; Generated autoloads from gnus/mm-url.el |
| 18372 | 18351 | ||
| 18373 | (autoload 'mm-url-insert-file-contents "mm-url" "\ | 18352 | (autoload 'mm-url-insert-file-contents "mm-url" "\ |
| @@ -18384,7 +18363,7 @@ Insert file contents of URL using `mm-url-program'. | |||
| 18384 | ;;;*** | 18363 | ;;;*** |
| 18385 | 18364 | ||
| 18386 | ;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu" | 18365 | ;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu" |
| 18387 | ;;;;;; "gnus/mm-uu.el" (20355 10021 546955 0)) | 18366 | ;;;;;; "gnus/mm-uu.el" (20533 50312 678915 0)) |
| 18388 | ;;; Generated autoloads from gnus/mm-uu.el | 18367 | ;;; Generated autoloads from gnus/mm-uu.el |
| 18389 | 18368 | ||
| 18390 | (autoload 'mm-uu-dissect "mm-uu" "\ | 18369 | (autoload 'mm-uu-dissect "mm-uu" "\ |
| @@ -18404,7 +18383,7 @@ Assume text has been decoded if DECODED is non-nil. | |||
| 18404 | ;;;*** | 18383 | ;;;*** |
| 18405 | 18384 | ||
| 18406 | ;;;### (autoloads (mml-attach-file mml-to-mime) "mml" "gnus/mml.el" | 18385 | ;;;### (autoloads (mml-attach-file mml-to-mime) "mml" "gnus/mml.el" |
| 18407 | ;;;;;; (20567 23165 75548 0)) | 18386 | ;;;;;; (20567 14136 702359 0)) |
| 18408 | ;;; Generated autoloads from gnus/mml.el | 18387 | ;;; Generated autoloads from gnus/mml.el |
| 18409 | 18388 | ||
| 18410 | (autoload 'mml-to-mime "mml" "\ | 18389 | (autoload 'mml-to-mime "mml" "\ |
| @@ -18430,7 +18409,7 @@ body) or \"attachment\" (separate from the body). | |||
| 18430 | ;;;*** | 18409 | ;;;*** |
| 18431 | 18410 | ||
| 18432 | ;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el" | 18411 | ;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el" |
| 18433 | ;;;;;; (20355 10021 546955 0)) | 18412 | ;;;;;; (20533 50312 678915 0)) |
| 18434 | ;;; Generated autoloads from gnus/mml1991.el | 18413 | ;;; Generated autoloads from gnus/mml1991.el |
| 18435 | 18414 | ||
| 18436 | (autoload 'mml1991-encrypt "mml1991" "\ | 18415 | (autoload 'mml1991-encrypt "mml1991" "\ |
| @@ -18447,7 +18426,7 @@ body) or \"attachment\" (separate from the body). | |||
| 18447 | 18426 | ||
| 18448 | ;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt | 18427 | ;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt |
| 18449 | ;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt) | 18428 | ;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt) |
| 18450 | ;;;;;; "mml2015" "gnus/mml2015.el" (20355 10021 546955 0)) | 18429 | ;;;;;; "mml2015" "gnus/mml2015.el" (20533 50312 678915 0)) |
| 18451 | ;;; Generated autoloads from gnus/mml2015.el | 18430 | ;;; Generated autoloads from gnus/mml2015.el |
| 18452 | 18431 | ||
| 18453 | (autoload 'mml2015-decrypt "mml2015" "\ | 18432 | (autoload 'mml2015-decrypt "mml2015" "\ |
| @@ -18487,16 +18466,16 @@ body) or \"attachment\" (separate from the body). | |||
| 18487 | 18466 | ||
| 18488 | ;;;*** | 18467 | ;;;*** |
| 18489 | 18468 | ||
| 18490 | ;;;### (autoloads nil "mode-local" "cedet/mode-local.el" (20406 8611 | 18469 | ;;;### (autoloads nil "mode-local" "cedet/mode-local.el" (20585 42247 |
| 18491 | ;;;;;; 875037 0)) | 18470 | ;;;;;; 723488 573000)) |
| 18492 | ;;; Generated autoloads from cedet/mode-local.el | 18471 | ;;; Generated autoloads from cedet/mode-local.el |
| 18493 | 18472 | ||
| 18494 | (put 'define-overloadable-function 'doc-string-elt 3) | 18473 | (put 'define-overloadable-function 'doc-string-elt 3) |
| 18495 | 18474 | ||
| 18496 | ;;;*** | 18475 | ;;;*** |
| 18497 | 18476 | ||
| 18498 | ;;;### (autoloads (m2-mode) "modula2" "progmodes/modula2.el" (20355 | 18477 | ;;;### (autoloads (m2-mode) "modula2" "progmodes/modula2.el" (20533 |
| 18499 | ;;;;;; 10021 546955 0)) | 18478 | ;;;;;; 50312 678915 0)) |
| 18500 | ;;; Generated autoloads from progmodes/modula2.el | 18479 | ;;; Generated autoloads from progmodes/modula2.el |
| 18501 | 18480 | ||
| 18502 | (defalias 'modula-2-mode 'm2-mode) | 18481 | (defalias 'modula-2-mode 'm2-mode) |
| @@ -18530,7 +18509,7 @@ followed by the first character of the construct. | |||
| 18530 | ;;;*** | 18509 | ;;;*** |
| 18531 | 18510 | ||
| 18532 | ;;;### (autoloads (denato-region nato-region unmorse-region morse-region) | 18511 | ;;;### (autoloads (denato-region nato-region unmorse-region morse-region) |
| 18533 | ;;;;;; "morse" "play/morse.el" (20355 10021 546955 0)) | 18512 | ;;;;;; "morse" "play/morse.el" (20533 50312 678915 0)) |
| 18534 | ;;; Generated autoloads from play/morse.el | 18513 | ;;; Generated autoloads from play/morse.el |
| 18535 | 18514 | ||
| 18536 | (autoload 'morse-region "morse" "\ | 18515 | (autoload 'morse-region "morse" "\ |
| @@ -18556,7 +18535,7 @@ Convert NATO phonetic alphabet in region to ordinary ASCII text. | |||
| 18556 | ;;;*** | 18535 | ;;;*** |
| 18557 | 18536 | ||
| 18558 | ;;;### (autoloads (mouse-drag-drag mouse-drag-throw) "mouse-drag" | 18537 | ;;;### (autoloads (mouse-drag-drag mouse-drag-throw) "mouse-drag" |
| 18559 | ;;;;;; "mouse-drag.el" (20566 63671 243798 0)) | 18538 | ;;;;;; "mouse-drag.el" (20566 45828 866603 595000)) |
| 18560 | ;;; Generated autoloads from mouse-drag.el | 18539 | ;;; Generated autoloads from mouse-drag.el |
| 18561 | 18540 | ||
| 18562 | (autoload 'mouse-drag-throw "mouse-drag" "\ | 18541 | (autoload 'mouse-drag-throw "mouse-drag" "\ |
| @@ -18603,7 +18582,7 @@ To test this function, evaluate: | |||
| 18603 | 18582 | ||
| 18604 | ;;;*** | 18583 | ;;;*** |
| 18605 | 18584 | ||
| 18606 | ;;;### (autoloads (mpc) "mpc" "mpc.el" (20523 62082 997685 0)) | 18585 | ;;;### (autoloads (mpc) "mpc" "mpc.el" (20533 50312 678915 0)) |
| 18607 | ;;; Generated autoloads from mpc.el | 18586 | ;;; Generated autoloads from mpc.el |
| 18608 | 18587 | ||
| 18609 | (autoload 'mpc "mpc" "\ | 18588 | (autoload 'mpc "mpc" "\ |
| @@ -18613,7 +18592,7 @@ Main entry point for MPC. | |||
| 18613 | 18592 | ||
| 18614 | ;;;*** | 18593 | ;;;*** |
| 18615 | 18594 | ||
| 18616 | ;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (20545 57511 257469 | 18595 | ;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (20545 60086 510404 |
| 18617 | ;;;;;; 0)) | 18596 | ;;;;;; 0)) |
| 18618 | ;;; Generated autoloads from play/mpuz.el | 18597 | ;;; Generated autoloads from play/mpuz.el |
| 18619 | 18598 | ||
| @@ -18624,7 +18603,7 @@ Multiplication puzzle with GNU Emacs. | |||
| 18624 | 18603 | ||
| 18625 | ;;;*** | 18604 | ;;;*** |
| 18626 | 18605 | ||
| 18627 | ;;;### (autoloads (msb-mode) "msb" "msb.el" (20476 31768 298871 0)) | 18606 | ;;;### (autoloads (msb-mode) "msb" "msb.el" (20533 50312 678915 0)) |
| 18628 | ;;; Generated autoloads from msb.el | 18607 | ;;; Generated autoloads from msb.el |
| 18629 | 18608 | ||
| 18630 | (defvar msb-mode nil "\ | 18609 | (defvar msb-mode nil "\ |
| @@ -18654,7 +18633,7 @@ different buffer menu using the function `msb'. | |||
| 18654 | ;;;;;; describe-current-coding-system describe-current-coding-system-briefly | 18633 | ;;;;;; describe-current-coding-system describe-current-coding-system-briefly |
| 18655 | ;;;;;; describe-coding-system describe-character-set list-charset-chars | 18634 | ;;;;;; describe-coding-system describe-character-set list-charset-chars |
| 18656 | ;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el" | 18635 | ;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el" |
| 18657 | ;;;;;; (20577 33959 40183 0)) | 18636 | ;;;;;; (20576 16405 87949 626000)) |
| 18658 | ;;; Generated autoloads from international/mule-diag.el | 18637 | ;;; Generated autoloads from international/mule-diag.el |
| 18659 | 18638 | ||
| 18660 | (autoload 'list-character-sets "mule-diag" "\ | 18639 | (autoload 'list-character-sets "mule-diag" "\ |
| @@ -18791,7 +18770,7 @@ The default is 20. If LIMIT is negative, do not limit the listing. | |||
| 18791 | ;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion | 18770 | ;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion |
| 18792 | ;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist | 18771 | ;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist |
| 18793 | ;;;;;; truncate-string-to-width store-substring) "mule-util" "international/mule-util.el" | 18772 | ;;;;;; truncate-string-to-width store-substring) "mule-util" "international/mule-util.el" |
| 18794 | ;;;;;; (20577 33959 40183 0)) | 18773 | ;;;;;; (20577 7556 49770 693000)) |
| 18795 | ;;; Generated autoloads from international/mule-util.el | 18774 | ;;; Generated autoloads from international/mule-util.el |
| 18796 | 18775 | ||
| 18797 | (defsubst string-to-list (string) "\ | 18776 | (defsubst string-to-list (string) "\ |
| @@ -18922,11 +18901,88 @@ per-character basis, this may not be accurate. | |||
| 18922 | 18901 | ||
| 18923 | ;;;*** | 18902 | ;;;*** |
| 18924 | 18903 | ||
| 18904 | ;;;### (autoloads (advice-member-p advice-remove advice-add advice--add-function | ||
| 18905 | ;;;;;; add-function advice--buffer-local advice--remove-function) | ||
| 18906 | ;;;;;; "nadvice" "emacs-lisp/nadvice.el" (20652 52617 313760 0)) | ||
| 18907 | ;;; Generated autoloads from emacs-lisp/nadvice.el | ||
| 18908 | |||
| 18909 | (autoload 'advice--remove-function "nadvice" "\ | ||
| 18910 | |||
| 18911 | |||
| 18912 | \(fn FLIST FUNCTION)" nil nil) | ||
| 18913 | |||
| 18914 | (autoload 'advice--buffer-local "nadvice" "\ | ||
| 18915 | Buffer-local value of VAR, presumed to contain a function. | ||
| 18916 | |||
| 18917 | \(fn VAR)" nil nil) | ||
| 18918 | |||
| 18919 | (autoload 'add-function "nadvice" "\ | ||
| 18920 | Add a piece of advice on the function stored at PLACE. | ||
| 18921 | FUNCTION describes the code to add. WHERE describes where to add it. | ||
| 18922 | WHERE can be explained by showing the resulting new function, as the | ||
| 18923 | result of combining FUNCTION and the previous value of PLACE, which we | ||
| 18924 | call OLDFUN here: | ||
| 18925 | `:before' (lambda (&rest r) (apply FUNCTION r) (apply OLDFUN r)) | ||
| 18926 | `:after' (lambda (&rest r) (prog1 (apply OLDFUN r) (apply FUNCTION r))) | ||
| 18927 | `:around' (lambda (&rest r) (apply FUNCTION OLDFUN r)) | ||
| 18928 | `:before-while' (lambda (&rest r) (and (apply FUNCTION r) (apply OLDFUN r))) | ||
| 18929 | `:before-until' (lambda (&rest r) (or (apply FUNCTION r) (apply OLDFUN r))) | ||
| 18930 | `:after-while' (lambda (&rest r) (and (apply OLDFUN r) (apply FUNCTION r))) | ||
| 18931 | `:after-until' (lambda (&rest r) (or (apply OLDFUN r) (apply FUNCTION r))) | ||
| 18932 | If FUNCTION was already added, do nothing. | ||
| 18933 | PROPS is an alist of additional properties, among which the following have | ||
| 18934 | a special meaning: | ||
| 18935 | - `name': a string or symbol. It can be used to refer to this piece of advice. | ||
| 18936 | |||
| 18937 | PLACE cannot be a simple variable. Instead it should either be | ||
| 18938 | \(default-value 'VAR) or (local 'VAR) depending on whether FUNCTION | ||
| 18939 | should be applied to VAR buffer-locally or globally. | ||
| 18940 | |||
| 18941 | If one of FUNCTION or OLDFUN is interactive, then the resulting function | ||
| 18942 | is also interactive. There are 3 cases: | ||
| 18943 | - FUNCTION is not interactive: the interactive spec of OLDFUN is used. | ||
| 18944 | - The interactive spec of FUNCTION is itself a function: it should take one | ||
| 18945 | argument (the interactive spec of OLDFUN, which it can pass to | ||
| 18946 | `advice-eval-interactive-spec') and return the list of arguments to use. | ||
| 18947 | - Else, use the interactive spec of FUNCTION and ignore the one of OLDFUN. | ||
| 18948 | |||
| 18949 | \(fn WHERE PLACE FUNCTION &optional PROPS)" nil t) | ||
| 18950 | |||
| 18951 | (autoload 'advice--add-function "nadvice" "\ | ||
| 18952 | |||
| 18953 | |||
| 18954 | \(fn WHERE REF FUNCTION PROPS)" nil nil) | ||
| 18955 | |||
| 18956 | (autoload 'advice-add "nadvice" "\ | ||
| 18957 | Like `add-function' but for the function named SYMBOL. | ||
| 18958 | Contrary to `add-function', this will properly handle the cases where SYMBOL | ||
| 18959 | is defined as a macro, alias, command, ... | ||
| 18960 | |||
| 18961 | \(fn SYMBOL WHERE FUNCTION &optional PROPS)" nil nil) | ||
| 18962 | |||
| 18963 | (autoload 'advice-remove "nadvice" "\ | ||
| 18964 | Like `remove-function' but for the function named SYMBOL. | ||
| 18965 | Contrary to `remove-function', this will work also when SYMBOL is a macro | ||
| 18966 | and it will not signal an error if SYMBOL is not `fboundp'. | ||
| 18967 | Instead of the actual function to remove, FUNCTION can also be the `name' | ||
| 18968 | of the piece of advice. | ||
| 18969 | |||
| 18970 | \(fn SYMBOL FUNCTION)" nil nil) | ||
| 18971 | |||
| 18972 | (autoload 'advice-member-p "nadvice" "\ | ||
| 18973 | Return non-nil if ADVICE has been added to FUNCTION-NAME. | ||
| 18974 | Instead of ADVICE being the actual function, it can also be the `name' | ||
| 18975 | of the piece of advice. | ||
| 18976 | |||
| 18977 | \(fn ADVICE FUNCTION-NAME)" nil nil) | ||
| 18978 | |||
| 18979 | ;;;*** | ||
| 18980 | |||
| 18925 | ;;;### (autoloads (network-connection network-connection-to-service | 18981 | ;;;### (autoloads (network-connection network-connection-to-service |
| 18926 | ;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host | 18982 | ;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host |
| 18927 | ;;;;;; nslookup nslookup-host ping traceroute route arp netstat | 18983 | ;;;;;; nslookup nslookup-host ping traceroute route arp netstat |
| 18928 | ;;;;;; iwconfig ifconfig) "net-utils" "net/net-utils.el" (20355 | 18984 | ;;;;;; iwconfig ifconfig) "net-utils" "net/net-utils.el" (20533 |
| 18929 | ;;;;;; 10021 546955 0)) | 18985 | ;;;;;; 50312 678915 0)) |
| 18930 | ;;; Generated autoloads from net/net-utils.el | 18986 | ;;; Generated autoloads from net/net-utils.el |
| 18931 | 18987 | ||
| 18932 | (autoload 'ifconfig "net-utils" "\ | 18988 | (autoload 'ifconfig "net-utils" "\ |
| @@ -19020,8 +19076,8 @@ Open a network connection to HOST on PORT. | |||
| 19020 | 19076 | ||
| 19021 | ;;;*** | 19077 | ;;;*** |
| 19022 | 19078 | ||
| 19023 | ;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (20495 | 19079 | ;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (20533 |
| 19024 | ;;;;;; 51111 757560 0)) | 19080 | ;;;;;; 50312 678915 0)) |
| 19025 | ;;; Generated autoloads from net/netrc.el | 19081 | ;;; Generated autoloads from net/netrc.el |
| 19026 | 19082 | ||
| 19027 | (autoload 'netrc-credentials "netrc" "\ | 19083 | (autoload 'netrc-credentials "netrc" "\ |
| @@ -19034,7 +19090,7 @@ listed in the PORTS list. | |||
| 19034 | ;;;*** | 19090 | ;;;*** |
| 19035 | 19091 | ||
| 19036 | ;;;### (autoloads (open-network-stream) "network-stream" "net/network-stream.el" | 19092 | ;;;### (autoloads (open-network-stream) "network-stream" "net/network-stream.el" |
| 19037 | ;;;;;; (20369 14251 85829 0)) | 19093 | ;;;;;; (20533 50312 678915 0)) |
| 19038 | ;;; Generated autoloads from net/network-stream.el | 19094 | ;;; Generated autoloads from net/network-stream.el |
| 19039 | 19095 | ||
| 19040 | (autoload 'open-network-stream "network-stream" "\ | 19096 | (autoload 'open-network-stream "network-stream" "\ |
| @@ -19125,7 +19181,7 @@ STARTTLS upgrades even if Emacs doesn't have built-in TLS functionality. | |||
| 19125 | ;;;*** | 19181 | ;;;*** |
| 19126 | 19182 | ||
| 19127 | ;;;### (autoloads (newsticker-start newsticker-running-p) "newst-backend" | 19183 | ;;;### (autoloads (newsticker-start newsticker-running-p) "newst-backend" |
| 19128 | ;;;;;; "net/newst-backend.el" (20577 33959 40183 0)) | 19184 | ;;;;;; "net/newst-backend.el" (20576 15743 119920 938000)) |
| 19129 | ;;; Generated autoloads from net/newst-backend.el | 19185 | ;;; Generated autoloads from net/newst-backend.el |
| 19130 | 19186 | ||
| 19131 | (autoload 'newsticker-running-p "newst-backend" "\ | 19187 | (autoload 'newsticker-running-p "newst-backend" "\ |
| @@ -19147,7 +19203,7 @@ Run `newsticker-start-hook' if newsticker was not running already. | |||
| 19147 | ;;;*** | 19203 | ;;;*** |
| 19148 | 19204 | ||
| 19149 | ;;;### (autoloads (newsticker-plainview) "newst-plainview" "net/newst-plainview.el" | 19205 | ;;;### (autoloads (newsticker-plainview) "newst-plainview" "net/newst-plainview.el" |
| 19150 | ;;;;;; (20434 17809 692608 0)) | 19206 | ;;;;;; (20533 50312 678915 0)) |
| 19151 | ;;; Generated autoloads from net/newst-plainview.el | 19207 | ;;; Generated autoloads from net/newst-plainview.el |
| 19152 | 19208 | ||
| 19153 | (autoload 'newsticker-plainview "newst-plainview" "\ | 19209 | (autoload 'newsticker-plainview "newst-plainview" "\ |
| @@ -19158,7 +19214,7 @@ Start newsticker plainview. | |||
| 19158 | ;;;*** | 19214 | ;;;*** |
| 19159 | 19215 | ||
| 19160 | ;;;### (autoloads (newsticker-show-news) "newst-reader" "net/newst-reader.el" | 19216 | ;;;### (autoloads (newsticker-show-news) "newst-reader" "net/newst-reader.el" |
| 19161 | ;;;;;; (20434 17809 692608 0)) | 19217 | ;;;;;; (20533 50312 678915 0)) |
| 19162 | ;;; Generated autoloads from net/newst-reader.el | 19218 | ;;; Generated autoloads from net/newst-reader.el |
| 19163 | 19219 | ||
| 19164 | (autoload 'newsticker-show-news "newst-reader" "\ | 19220 | (autoload 'newsticker-show-news "newst-reader" "\ |
| @@ -19169,7 +19225,7 @@ Start reading news. You may want to bind this to a key. | |||
| 19169 | ;;;*** | 19225 | ;;;*** |
| 19170 | 19226 | ||
| 19171 | ;;;### (autoloads (newsticker-start-ticker newsticker-ticker-running-p) | 19227 | ;;;### (autoloads (newsticker-start-ticker newsticker-ticker-running-p) |
| 19172 | ;;;;;; "newst-ticker" "net/newst-ticker.el" (20427 14766 970343 | 19228 | ;;;;;; "newst-ticker" "net/newst-ticker.el" (20533 50312 678915 |
| 19173 | ;;;;;; 0)) | 19229 | ;;;;;; 0)) |
| 19174 | ;;; Generated autoloads from net/newst-ticker.el | 19230 | ;;; Generated autoloads from net/newst-ticker.el |
| 19175 | 19231 | ||
| @@ -19191,7 +19247,7 @@ running already. | |||
| 19191 | ;;;*** | 19247 | ;;;*** |
| 19192 | 19248 | ||
| 19193 | ;;;### (autoloads (newsticker-treeview) "newst-treeview" "net/newst-treeview.el" | 19249 | ;;;### (autoloads (newsticker-treeview) "newst-treeview" "net/newst-treeview.el" |
| 19194 | ;;;;;; (20590 45996 129575 0)) | 19250 | ;;;;;; (20590 37036 437844 0)) |
| 19195 | ;;; Generated autoloads from net/newst-treeview.el | 19251 | ;;; Generated autoloads from net/newst-treeview.el |
| 19196 | 19252 | ||
| 19197 | (autoload 'newsticker-treeview "newst-treeview" "\ | 19253 | (autoload 'newsticker-treeview "newst-treeview" "\ |
| @@ -19202,7 +19258,7 @@ Start newsticker treeview. | |||
| 19202 | ;;;*** | 19258 | ;;;*** |
| 19203 | 19259 | ||
| 19204 | ;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el" | 19260 | ;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el" |
| 19205 | ;;;;;; (20614 54428 654267 0)) | 19261 | ;;;;;; (20615 22847 537904 0)) |
| 19206 | ;;; Generated autoloads from gnus/nndiary.el | 19262 | ;;; Generated autoloads from gnus/nndiary.el |
| 19207 | 19263 | ||
| 19208 | (autoload 'nndiary-generate-nov-databases "nndiary" "\ | 19264 | (autoload 'nndiary-generate-nov-databases "nndiary" "\ |
| @@ -19212,8 +19268,8 @@ Generate NOV databases in all nndiary directories. | |||
| 19212 | 19268 | ||
| 19213 | ;;;*** | 19269 | ;;;*** |
| 19214 | 19270 | ||
| 19215 | ;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (20355 | 19271 | ;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (20533 |
| 19216 | ;;;;;; 10021 546955 0)) | 19272 | ;;;;;; 50312 678915 0)) |
| 19217 | ;;; Generated autoloads from gnus/nndoc.el | 19273 | ;;; Generated autoloads from gnus/nndoc.el |
| 19218 | 19274 | ||
| 19219 | (autoload 'nndoc-add-type "nndoc" "\ | 19275 | (autoload 'nndoc-add-type "nndoc" "\ |
| @@ -19228,7 +19284,7 @@ symbol in the alist. | |||
| 19228 | ;;;*** | 19284 | ;;;*** |
| 19229 | 19285 | ||
| 19230 | ;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el" | 19286 | ;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el" |
| 19231 | ;;;;;; (20458 56750 651721 0)) | 19287 | ;;;;;; (20533 50312 678915 0)) |
| 19232 | ;;; Generated autoloads from gnus/nnfolder.el | 19288 | ;;; Generated autoloads from gnus/nnfolder.el |
| 19233 | 19289 | ||
| 19234 | (autoload 'nnfolder-generate-active-file "nnfolder" "\ | 19290 | (autoload 'nnfolder-generate-active-file "nnfolder" "\ |
| @@ -19240,7 +19296,7 @@ This command does not work if you use short group names. | |||
| 19240 | ;;;*** | 19296 | ;;;*** |
| 19241 | 19297 | ||
| 19242 | ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" | 19298 | ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" |
| 19243 | ;;;;;; (20458 56750 651721 0)) | 19299 | ;;;;;; (20533 50312 678915 0)) |
| 19244 | ;;; Generated autoloads from gnus/nnml.el | 19300 | ;;; Generated autoloads from gnus/nnml.el |
| 19245 | 19301 | ||
| 19246 | (autoload 'nnml-generate-nov-databases "nnml" "\ | 19302 | (autoload 'nnml-generate-nov-databases "nnml" "\ |
| @@ -19251,7 +19307,7 @@ Generate NOV databases in all nnml directories. | |||
| 19251 | ;;;*** | 19307 | ;;;*** |
| 19252 | 19308 | ||
| 19253 | ;;;### (autoloads (disable-command enable-command disabled-command-function) | 19309 | ;;;### (autoloads (disable-command enable-command disabled-command-function) |
| 19254 | ;;;;;; "novice" "novice.el" (20566 63671 243798 0)) | 19310 | ;;;;;; "novice" "novice.el" (20566 45824 34603 301000)) |
| 19255 | ;;; Generated autoloads from novice.el | 19311 | ;;; Generated autoloads from novice.el |
| 19256 | 19312 | ||
| 19257 | (define-obsolete-variable-alias 'disabled-command-hook 'disabled-command-function "22.1") | 19313 | (define-obsolete-variable-alias 'disabled-command-hook 'disabled-command-function "22.1") |
| @@ -19284,7 +19340,7 @@ future sessions. | |||
| 19284 | ;;;*** | 19340 | ;;;*** |
| 19285 | 19341 | ||
| 19286 | ;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el" | 19342 | ;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el" |
| 19287 | ;;;;;; (20355 10021 546955 0)) | 19343 | ;;;;;; (20533 50312 678915 0)) |
| 19288 | ;;; Generated autoloads from textmodes/nroff-mode.el | 19344 | ;;; Generated autoloads from textmodes/nroff-mode.el |
| 19289 | 19345 | ||
| 19290 | (autoload 'nroff-mode "nroff-mode" "\ | 19346 | (autoload 'nroff-mode "nroff-mode" "\ |
| @@ -19299,7 +19355,7 @@ closing requests for requests that are used in matched pairs. | |||
| 19299 | ;;;*** | 19355 | ;;;*** |
| 19300 | 19356 | ||
| 19301 | ;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml/nxml-glyph.el" | 19357 | ;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml/nxml-glyph.el" |
| 19302 | ;;;;;; (20523 62082 997685 0)) | 19358 | ;;;;;; (20533 50312 678915 0)) |
| 19303 | ;;; Generated autoloads from nxml/nxml-glyph.el | 19359 | ;;; Generated autoloads from nxml/nxml-glyph.el |
| 19304 | 19360 | ||
| 19305 | (autoload 'nxml-glyph-display-string "nxml-glyph" "\ | 19361 | (autoload 'nxml-glyph-display-string "nxml-glyph" "\ |
| @@ -19311,8 +19367,8 @@ Return nil if the face cannot display a glyph for N. | |||
| 19311 | 19367 | ||
| 19312 | ;;;*** | 19368 | ;;;*** |
| 19313 | 19369 | ||
| 19314 | ;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (20478 | 19370 | ;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (20533 |
| 19315 | ;;;;;; 3673 653810 0)) | 19371 | ;;;;;; 50312 678915 0)) |
| 19316 | ;;; Generated autoloads from nxml/nxml-mode.el | 19372 | ;;; Generated autoloads from nxml/nxml-mode.el |
| 19317 | 19373 | ||
| 19318 | (autoload 'nxml-mode "nxml-mode" "\ | 19374 | (autoload 'nxml-mode "nxml-mode" "\ |
| @@ -19374,7 +19430,7 @@ Many aspects this mode can be customized using | |||
| 19374 | ;;;*** | 19430 | ;;;*** |
| 19375 | 19431 | ||
| 19376 | ;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm" | 19432 | ;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm" |
| 19377 | ;;;;;; "nxml/nxml-uchnm.el" (20355 10021 546955 0)) | 19433 | ;;;;;; "nxml/nxml-uchnm.el" (20533 50312 678915 0)) |
| 19378 | ;;; Generated autoloads from nxml/nxml-uchnm.el | 19434 | ;;; Generated autoloads from nxml/nxml-uchnm.el |
| 19379 | 19435 | ||
| 19380 | (autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\ | 19436 | (autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\ |
| @@ -19387,7 +19443,7 @@ the variable `nxml-enabled-unicode-blocks'. | |||
| 19387 | ;;;*** | 19443 | ;;;*** |
| 19388 | 19444 | ||
| 19389 | ;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el" | 19445 | ;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el" |
| 19390 | ;;;;;; (20355 10021 546955 0)) | 19446 | ;;;;;; (20533 50312 678915 0)) |
| 19391 | ;;; Generated autoloads from progmodes/octave-inf.el | 19447 | ;;; Generated autoloads from progmodes/octave-inf.el |
| 19392 | 19448 | ||
| 19393 | (autoload 'inferior-octave "octave-inf" "\ | 19449 | (autoload 'inferior-octave "octave-inf" "\ |
| @@ -19410,7 +19466,7 @@ startup file, `~/.emacs-octave'. | |||
| 19410 | ;;;*** | 19466 | ;;;*** |
| 19411 | 19467 | ||
| 19412 | ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el" | 19468 | ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el" |
| 19413 | ;;;;;; (20566 63671 243798 0)) | 19469 | ;;;;;; (20566 45245 150579 485000)) |
| 19414 | ;;; Generated autoloads from progmodes/octave-mod.el | 19470 | ;;; Generated autoloads from progmodes/octave-mod.el |
| 19415 | 19471 | ||
| 19416 | (autoload 'octave-mode "octave-mod" "\ | 19472 | (autoload 'octave-mode "octave-mod" "\ |
| @@ -19498,7 +19554,7 @@ including a reproducible test case and send the message. | |||
| 19498 | ;;;;;; org-run-like-in-org-mode turn-on-orgstruct++ turn-on-orgstruct | 19554 | ;;;;;; org-run-like-in-org-mode turn-on-orgstruct++ turn-on-orgstruct |
| 19499 | ;;;;;; orgstruct-mode org-global-cycle org-cycle org-mode org-clock-persistence-insinuate | 19555 | ;;;;;; orgstruct-mode org-global-cycle org-cycle org-mode org-clock-persistence-insinuate |
| 19500 | ;;;;;; turn-on-orgtbl org-version org-babel-do-load-languages) "org" | 19556 | ;;;;;; turn-on-orgtbl org-version org-babel-do-load-languages) "org" |
| 19501 | ;;;;;; "org/org.el" (20618 55210 422086 0)) | 19557 | ;;;;;; "org/org.el" (20619 27099 673959 0)) |
| 19502 | ;;; Generated autoloads from org/org.el | 19558 | ;;; Generated autoloads from org/org.el |
| 19503 | 19559 | ||
| 19504 | (autoload 'org-babel-do-load-languages "org" "\ | 19560 | (autoload 'org-babel-do-load-languages "org" "\ |
| @@ -19724,7 +19780,7 @@ Call the customize function with org as argument. | |||
| 19724 | ;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views | 19780 | ;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views |
| 19725 | ;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda | 19781 | ;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda |
| 19726 | ;;;;;; org-agenda org-toggle-sticky-agenda) "org-agenda" "org/org-agenda.el" | 19782 | ;;;;;; org-agenda org-toggle-sticky-agenda) "org-agenda" "org/org-agenda.el" |
| 19727 | ;;;;;; (20618 55210 422086 0)) | 19783 | ;;;;;; (20619 27099 673959 0)) |
| 19728 | ;;; Generated autoloads from org/org-agenda.el | 19784 | ;;; Generated autoloads from org/org-agenda.el |
| 19729 | 19785 | ||
| 19730 | (autoload 'org-toggle-sticky-agenda "org-agenda" "\ | 19786 | (autoload 'org-toggle-sticky-agenda "org-agenda" "\ |
| @@ -19981,7 +20037,7 @@ to override `appt-message-warning-time'. | |||
| 19981 | ;;;*** | 20037 | ;;;*** |
| 19982 | 20038 | ||
| 19983 | ;;;### (autoloads (org-beamer-mode org-beamer-sectioning) "org-beamer" | 20039 | ;;;### (autoloads (org-beamer-mode org-beamer-sectioning) "org-beamer" |
| 19984 | ;;;;;; "org/org-beamer.el" (20618 55210 422086 0)) | 20040 | ;;;;;; "org/org-beamer.el" (20619 27099 673959 0)) |
| 19985 | ;;; Generated autoloads from org/org-beamer.el | 20041 | ;;; Generated autoloads from org/org-beamer.el |
| 19986 | 20042 | ||
| 19987 | (autoload 'org-beamer-sectioning "org-beamer" "\ | 20043 | (autoload 'org-beamer-sectioning "org-beamer" "\ |
| @@ -20003,8 +20059,8 @@ Special support for editing Org-mode files made to export to beamer. | |||
| 20003 | ;;;*** | 20059 | ;;;*** |
| 20004 | 20060 | ||
| 20005 | ;;;### (autoloads (org-capture-import-remember-templates org-capture | 20061 | ;;;### (autoloads (org-capture-import-remember-templates org-capture |
| 20006 | ;;;;;; org-capture-string) "org-capture" "org/org-capture.el" (20618 | 20062 | ;;;;;; org-capture-string) "org-capture" "org/org-capture.el" (20619 |
| 20007 | ;;;;;; 55210 422086 0)) | 20063 | ;;;;;; 27099 673959 0)) |
| 20008 | ;;; Generated autoloads from org/org-capture.el | 20064 | ;;; Generated autoloads from org/org-capture.el |
| 20009 | 20065 | ||
| 20010 | (autoload 'org-capture-string "org-capture" "\ | 20066 | (autoload 'org-capture-string "org-capture" "\ |
| @@ -20045,8 +20101,8 @@ Set org-capture-templates to be similar to `org-remember-templates'. | |||
| 20045 | ;;;*** | 20101 | ;;;*** |
| 20046 | 20102 | ||
| 20047 | ;;;### (autoloads (org-agenda-columns org-insert-columns-dblock org-dblock-write:columnview | 20103 | ;;;### (autoloads (org-agenda-columns org-insert-columns-dblock org-dblock-write:columnview |
| 20048 | ;;;;;; org-columns) "org-colview" "org/org-colview.el" (20618 55210 | 20104 | ;;;;;; org-columns) "org-colview" "org/org-colview.el" (20619 27099 |
| 20049 | ;;;;;; 422086 0)) | 20105 | ;;;;;; 673959 0)) |
| 20050 | ;;; Generated autoloads from org/org-colview.el | 20106 | ;;; Generated autoloads from org/org-colview.el |
| 20051 | 20107 | ||
| 20052 | (autoload 'org-columns "org-colview" "\ | 20108 | (autoload 'org-columns "org-colview" "\ |
| @@ -20090,7 +20146,7 @@ Turn on or update column view in the agenda. | |||
| 20090 | ;;;*** | 20146 | ;;;*** |
| 20091 | 20147 | ||
| 20092 | ;;;### (autoloads (org-check-version) "org-compat" "org/org-compat.el" | 20148 | ;;;### (autoloads (org-check-version) "org-compat" "org/org-compat.el" |
| 20093 | ;;;;;; (20618 55210 422086 0)) | 20149 | ;;;;;; (20619 27099 673959 0)) |
| 20094 | ;;; Generated autoloads from org/org-compat.el | 20150 | ;;; Generated autoloads from org/org-compat.el |
| 20095 | 20151 | ||
| 20096 | (autoload 'org-check-version "org-compat" "\ | 20152 | (autoload 'org-check-version "org-compat" "\ |
| @@ -20101,7 +20157,7 @@ Try very hard to provide sensible version strings. | |||
| 20101 | ;;;*** | 20157 | ;;;*** |
| 20102 | 20158 | ||
| 20103 | ;;;### (autoloads (org-git-version org-release) "org-version" "org/org-version.el" | 20159 | ;;;### (autoloads (org-git-version org-release) "org-version" "org/org-version.el" |
| 20104 | ;;;;;; (20618 55210 422086 0)) | 20160 | ;;;;;; (20619 27099 673959 0)) |
| 20105 | ;;; Generated autoloads from org/org-version.el | 20161 | ;;; Generated autoloads from org/org-version.el |
| 20106 | 20162 | ||
| 20107 | (autoload 'org-release "org-version" "\ | 20163 | (autoload 'org-release "org-version" "\ |
| @@ -20122,7 +20178,7 @@ The location of ODT styles.") | |||
| 20122 | ;;;*** | 20178 | ;;;*** |
| 20123 | 20179 | ||
| 20124 | ;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el" | 20180 | ;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el" |
| 20125 | ;;;;;; (20355 10021 546955 0)) | 20181 | ;;;;;; (20533 50312 678915 0)) |
| 20126 | ;;; Generated autoloads from outline.el | 20182 | ;;; Generated autoloads from outline.el |
| 20127 | (put 'outline-regexp 'safe-local-variable 'stringp) | 20183 | (put 'outline-regexp 'safe-local-variable 'stringp) |
| 20128 | (put 'outline-heading-end-regexp 'safe-local-variable 'stringp) | 20184 | (put 'outline-heading-end-regexp 'safe-local-variable 'stringp) |
| @@ -20186,7 +20242,7 @@ See the command `outline-mode' for more information on this mode. | |||
| 20186 | ;;;### (autoloads (list-packages describe-package package-initialize | 20242 | ;;;### (autoloads (list-packages describe-package package-initialize |
| 20187 | ;;;;;; package-refresh-contents package-install-file package-install-from-buffer | 20243 | ;;;;;; package-refresh-contents package-install-file package-install-from-buffer |
| 20188 | ;;;;;; package-install package-enable-at-startup) "package" "emacs-lisp/package.el" | 20244 | ;;;;;; package-install package-enable-at-startup) "package" "emacs-lisp/package.el" |
| 20189 | ;;;;;; (20622 22438 32851 0)) | 20245 | ;;;;;; (20622 16646 799433 0)) |
| 20190 | ;;; Generated autoloads from emacs-lisp/package.el | 20246 | ;;; Generated autoloads from emacs-lisp/package.el |
| 20191 | 20247 | ||
| 20192 | (defvar package-enable-at-startup t "\ | 20248 | (defvar package-enable-at-startup t "\ |
| @@ -20256,8 +20312,8 @@ The list is displayed in a buffer named `*Packages*'. | |||
| 20256 | 20312 | ||
| 20257 | ;;;*** | 20313 | ;;;*** |
| 20258 | 20314 | ||
| 20259 | ;;;### (autoloads (show-paren-mode) "paren" "paren.el" (20542 50478 | 20315 | ;;;### (autoloads (show-paren-mode) "paren" "paren.el" (20542 54621 |
| 20260 | ;;;;;; 439878 507000)) | 20316 | ;;;;;; 56606 0)) |
| 20261 | ;;; Generated autoloads from paren.el | 20317 | ;;; Generated autoloads from paren.el |
| 20262 | 20318 | ||
| 20263 | (defvar show-paren-mode nil "\ | 20319 | (defvar show-paren-mode nil "\ |
| @@ -20284,7 +20340,7 @@ matching parenthesis is highlighted in `show-paren-style' after | |||
| 20284 | ;;;*** | 20340 | ;;;*** |
| 20285 | 20341 | ||
| 20286 | ;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el" | 20342 | ;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el" |
| 20287 | ;;;;;; (20478 3673 653810 0)) | 20343 | ;;;;;; (20533 50312 678915 0)) |
| 20288 | ;;; Generated autoloads from calendar/parse-time.el | 20344 | ;;; Generated autoloads from calendar/parse-time.el |
| 20289 | (put 'parse-time-rules 'risky-local-variable t) | 20345 | (put 'parse-time-rules 'risky-local-variable t) |
| 20290 | 20346 | ||
| @@ -20297,8 +20353,8 @@ unknown are returned as nil. | |||
| 20297 | 20353 | ||
| 20298 | ;;;*** | 20354 | ;;;*** |
| 20299 | 20355 | ||
| 20300 | ;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20478 | 20356 | ;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20533 |
| 20301 | ;;;;;; 3673 653810 0)) | 20357 | ;;;;;; 50312 678915 0)) |
| 20302 | ;;; Generated autoloads from progmodes/pascal.el | 20358 | ;;; Generated autoloads from progmodes/pascal.el |
| 20303 | 20359 | ||
| 20304 | (autoload 'pascal-mode "pascal" "\ | 20360 | (autoload 'pascal-mode "pascal" "\ |
| @@ -20351,7 +20407,8 @@ no args, if that value is non-nil. | |||
| 20351 | ;;;*** | 20407 | ;;;*** |
| 20352 | 20408 | ||
| 20353 | ;;;### (autoloads (password-in-cache-p password-cache-expiry password-cache) | 20409 | ;;;### (autoloads (password-in-cache-p password-cache-expiry password-cache) |
| 20354 | ;;;;;; "password-cache" "password-cache.el" (20577 33959 40183 0)) | 20410 | ;;;;;; "password-cache" "password-cache.el" (20576 15327 199903 |
| 20411 | ;;;;;; 603000)) | ||
| 20355 | ;;; Generated autoloads from password-cache.el | 20412 | ;;; Generated autoloads from password-cache.el |
| 20356 | 20413 | ||
| 20357 | (defvar password-cache t "\ | 20414 | (defvar password-cache t "\ |
| @@ -20373,7 +20430,7 @@ Check if KEY is in the cache. | |||
| 20373 | ;;;*** | 20430 | ;;;*** |
| 20374 | 20431 | ||
| 20375 | ;;;### (autoloads (pcase-let pcase-let* pcase) "pcase" "emacs-lisp/pcase.el" | 20432 | ;;;### (autoloads (pcase-let pcase-let* pcase) "pcase" "emacs-lisp/pcase.el" |
| 20376 | ;;;;;; (20582 12914 894781 0)) | 20433 | ;;;;;; (20584 355 183605 0)) |
| 20377 | ;;; Generated autoloads from emacs-lisp/pcase.el | 20434 | ;;; Generated autoloads from emacs-lisp/pcase.el |
| 20378 | 20435 | ||
| 20379 | (autoload 'pcase "pcase" "\ | 20436 | (autoload 'pcase "pcase" "\ |
| @@ -20434,8 +20491,8 @@ of the form (UPAT EXP). | |||
| 20434 | 20491 | ||
| 20435 | ;;;*** | 20492 | ;;;*** |
| 20436 | 20493 | ||
| 20437 | ;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (20355 | 20494 | ;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (20533 |
| 20438 | ;;;;;; 10021 546955 0)) | 20495 | ;;;;;; 50312 678915 0)) |
| 20439 | ;;; Generated autoloads from pcmpl-cvs.el | 20496 | ;;; Generated autoloads from pcmpl-cvs.el |
| 20440 | 20497 | ||
| 20441 | (autoload 'pcomplete/cvs "pcmpl-cvs" "\ | 20498 | (autoload 'pcomplete/cvs "pcmpl-cvs" "\ |
| @@ -20446,7 +20503,7 @@ Completion rules for the `cvs' command. | |||
| 20446 | ;;;*** | 20503 | ;;;*** |
| 20447 | 20504 | ||
| 20448 | ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip) | 20505 | ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip) |
| 20449 | ;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (20572 16038 402143 0)) | 20506 | ;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (20571 55599 814625 0)) |
| 20450 | ;;; Generated autoloads from pcmpl-gnu.el | 20507 | ;;; Generated autoloads from pcmpl-gnu.el |
| 20451 | 20508 | ||
| 20452 | (autoload 'pcomplete/gzip "pcmpl-gnu" "\ | 20509 | (autoload 'pcomplete/gzip "pcmpl-gnu" "\ |
| @@ -20474,7 +20531,7 @@ Completion for the GNU tar utility. | |||
| 20474 | ;;;*** | 20531 | ;;;*** |
| 20475 | 20532 | ||
| 20476 | ;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill) | 20533 | ;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill) |
| 20477 | ;;;;;; "pcmpl-linux" "pcmpl-linux.el" (20355 10021 546955 0)) | 20534 | ;;;;;; "pcmpl-linux" "pcmpl-linux.el" (20533 50312 678915 0)) |
| 20478 | ;;; Generated autoloads from pcmpl-linux.el | 20535 | ;;; Generated autoloads from pcmpl-linux.el |
| 20479 | 20536 | ||
| 20480 | (autoload 'pcomplete/kill "pcmpl-linux" "\ | 20537 | (autoload 'pcomplete/kill "pcmpl-linux" "\ |
| @@ -20494,8 +20551,8 @@ Completion for GNU/Linux `mount'. | |||
| 20494 | 20551 | ||
| 20495 | ;;;*** | 20552 | ;;;*** |
| 20496 | 20553 | ||
| 20497 | ;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (20523 | 20554 | ;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (20533 |
| 20498 | ;;;;;; 62082 997685 0)) | 20555 | ;;;;;; 50312 678915 0)) |
| 20499 | ;;; Generated autoloads from pcmpl-rpm.el | 20556 | ;;; Generated autoloads from pcmpl-rpm.el |
| 20500 | 20557 | ||
| 20501 | (autoload 'pcomplete/rpm "pcmpl-rpm" "\ | 20558 | (autoload 'pcomplete/rpm "pcmpl-rpm" "\ |
| @@ -20507,7 +20564,7 @@ Completion for the `rpm' command. | |||
| 20507 | 20564 | ||
| 20508 | ;;;### (autoloads (pcomplete/scp pcomplete/ssh pcomplete/chgrp pcomplete/chown | 20565 | ;;;### (autoloads (pcomplete/scp pcomplete/ssh pcomplete/chgrp pcomplete/chown |
| 20509 | ;;;;;; pcomplete/which pcomplete/xargs pcomplete/rm pcomplete/rmdir | 20566 | ;;;;;; pcomplete/which pcomplete/xargs pcomplete/rm pcomplete/rmdir |
| 20510 | ;;;;;; pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (20376 40834 914217 | 20567 | ;;;;;; pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (20533 50312 678915 |
| 20511 | ;;;;;; 0)) | 20568 | ;;;;;; 0)) |
| 20512 | ;;; Generated autoloads from pcmpl-unix.el | 20569 | ;;; Generated autoloads from pcmpl-unix.el |
| 20513 | 20570 | ||
| @@ -20565,8 +20622,8 @@ Includes files as well as host names followed by a colon. | |||
| 20565 | 20622 | ||
| 20566 | ;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list | 20623 | ;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list |
| 20567 | ;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete | 20624 | ;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete |
| 20568 | ;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20582 | 20625 | ;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20652 |
| 20569 | ;;;;;; 12914 894781 0)) | 20626 | ;;;;;; 52617 313760 0)) |
| 20570 | ;;; Generated autoloads from pcomplete.el | 20627 | ;;; Generated autoloads from pcomplete.el |
| 20571 | 20628 | ||
| 20572 | (autoload 'pcomplete "pcomplete" "\ | 20629 | (autoload 'pcomplete "pcomplete" "\ |
| @@ -20625,7 +20682,7 @@ Setup `shell-mode' to use pcomplete. | |||
| 20625 | 20682 | ||
| 20626 | ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status | 20683 | ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status |
| 20627 | ;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs" | 20684 | ;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs" |
| 20628 | ;;;;;; "vc/pcvs.el" (20584 7212 455152 0)) | 20685 | ;;;;;; "vc/pcvs.el" (20584 355 183605 0)) |
| 20629 | ;;; Generated autoloads from vc/pcvs.el | 20686 | ;;; Generated autoloads from vc/pcvs.el |
| 20630 | 20687 | ||
| 20631 | (autoload 'cvs-checkout "pcvs" "\ | 20688 | (autoload 'cvs-checkout "pcvs" "\ |
| @@ -20700,8 +20757,8 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d | |||
| 20700 | 20757 | ||
| 20701 | ;;;*** | 20758 | ;;;*** |
| 20702 | 20759 | ||
| 20703 | ;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (20576 42138 | 20760 | ;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (20576 19280 |
| 20704 | ;;;;;; 697312 0)) | 20761 | ;;;;;; 28070 497000)) |
| 20705 | ;;; Generated autoloads from vc/pcvs-defs.el | 20762 | ;;; Generated autoloads from vc/pcvs-defs.el |
| 20706 | 20763 | ||
| 20707 | (defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m)) "\ | 20764 | (defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m)) "\ |
| @@ -20710,7 +20767,7 @@ Global menu used by PCL-CVS.") | |||
| 20710 | ;;;*** | 20767 | ;;;*** |
| 20711 | 20768 | ||
| 20712 | ;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el" | 20769 | ;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el" |
| 20713 | ;;;;;; (20566 63671 243798 0)) | 20770 | ;;;;;; (20665 36903 324706 553000)) |
| 20714 | ;;; Generated autoloads from progmodes/perl-mode.el | 20771 | ;;; Generated autoloads from progmodes/perl-mode.el |
| 20715 | (put 'perl-indent-level 'safe-local-variable 'integerp) | 20772 | (put 'perl-indent-level 'safe-local-variable 'integerp) |
| 20716 | (put 'perl-continued-statement-offset 'safe-local-variable 'integerp) | 20773 | (put 'perl-continued-statement-offset 'safe-local-variable 'integerp) |
| @@ -20772,7 +20829,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'. | |||
| 20772 | ;;;*** | 20829 | ;;;*** |
| 20773 | 20830 | ||
| 20774 | ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el" | 20831 | ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el" |
| 20775 | ;;;;;; (20551 9899 283417 0)) | 20832 | ;;;;;; (20552 25066 479417 0)) |
| 20776 | ;;; Generated autoloads from textmodes/picture.el | 20833 | ;;; Generated autoloads from textmodes/picture.el |
| 20777 | 20834 | ||
| 20778 | (autoload 'picture-mode "picture" "\ | 20835 | (autoload 'picture-mode "picture" "\ |
| @@ -20853,7 +20910,7 @@ they are not by default assigned to keys. | |||
| 20853 | ;;;*** | 20910 | ;;;*** |
| 20854 | 20911 | ||
| 20855 | ;;;### (autoloads (plstore-mode plstore-open) "plstore" "gnus/plstore.el" | 20912 | ;;;### (autoloads (plstore-mode plstore-open) "plstore" "gnus/plstore.el" |
| 20856 | ;;;;;; (20378 29222 722320 0)) | 20913 | ;;;;;; (20533 50312 678915 0)) |
| 20857 | ;;; Generated autoloads from gnus/plstore.el | 20914 | ;;; Generated autoloads from gnus/plstore.el |
| 20858 | 20915 | ||
| 20859 | (autoload 'plstore-open "plstore" "\ | 20916 | (autoload 'plstore-open "plstore" "\ |
| @@ -20869,7 +20926,7 @@ Major mode for editing PLSTORE files. | |||
| 20869 | ;;;*** | 20926 | ;;;*** |
| 20870 | 20927 | ||
| 20871 | ;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el" | 20928 | ;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el" |
| 20872 | ;;;;;; (20355 10021 546955 0)) | 20929 | ;;;;;; (20533 50312 678915 0)) |
| 20873 | ;;; Generated autoloads from textmodes/po.el | 20930 | ;;; Generated autoloads from textmodes/po.el |
| 20874 | 20931 | ||
| 20875 | (autoload 'po-find-file-coding-system "po" "\ | 20932 | (autoload 'po-find-file-coding-system "po" "\ |
| @@ -20880,7 +20937,7 @@ Called through `file-coding-system-alist', before the file is visited for real. | |||
| 20880 | 20937 | ||
| 20881 | ;;;*** | 20938 | ;;;*** |
| 20882 | 20939 | ||
| 20883 | ;;;### (autoloads (pong) "pong" "play/pong.el" (20478 3673 653810 | 20940 | ;;;### (autoloads (pong) "pong" "play/pong.el" (20533 50312 678915 |
| 20884 | ;;;;;; 0)) | 20941 | ;;;;;; 0)) |
| 20885 | ;;; Generated autoloads from play/pong.el | 20942 | ;;; Generated autoloads from play/pong.el |
| 20886 | 20943 | ||
| @@ -20897,8 +20954,8 @@ pong-mode keybindings:\\<pong-mode-map> | |||
| 20897 | 20954 | ||
| 20898 | ;;;*** | 20955 | ;;;*** |
| 20899 | 20956 | ||
| 20900 | ;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20458 56750 | 20957 | ;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20647 7982 |
| 20901 | ;;;;;; 651721 0)) | 20958 | ;;;;;; 429263 0)) |
| 20902 | ;;; Generated autoloads from gnus/pop3.el | 20959 | ;;; Generated autoloads from gnus/pop3.el |
| 20903 | 20960 | ||
| 20904 | (autoload 'pop3-movemail "pop3" "\ | 20961 | (autoload 'pop3-movemail "pop3" "\ |
| @@ -20911,7 +20968,7 @@ Use streaming commands. | |||
| 20911 | 20968 | ||
| 20912 | ;;;### (autoloads (pp-macroexpand-last-sexp pp-eval-last-sexp pp-macroexpand-expression | 20969 | ;;;### (autoloads (pp-macroexpand-last-sexp pp-eval-last-sexp pp-macroexpand-expression |
| 20913 | ;;;;;; pp-eval-expression pp pp-buffer pp-to-string) "pp" "emacs-lisp/pp.el" | 20970 | ;;;;;; pp-eval-expression pp pp-buffer pp-to-string) "pp" "emacs-lisp/pp.el" |
| 20914 | ;;;;;; (20495 51111 757560 0)) | 20971 | ;;;;;; (20533 50312 678915 0)) |
| 20915 | ;;; Generated autoloads from emacs-lisp/pp.el | 20972 | ;;; Generated autoloads from emacs-lisp/pp.el |
| 20916 | 20973 | ||
| 20917 | (autoload 'pp-to-string "pp" "\ | 20974 | (autoload 'pp-to-string "pp" "\ |
| @@ -20979,7 +21036,7 @@ Ignores leading comment characters. | |||
| 20979 | ;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview | 21036 | ;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview |
| 20980 | ;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript | 21037 | ;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript |
| 20981 | ;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el" | 21038 | ;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el" |
| 20982 | ;;;;;; (20566 63671 243798 0)) | 21039 | ;;;;;; (20648 29678 511980 0)) |
| 20983 | ;;; Generated autoloads from printing.el | 21040 | ;;; Generated autoloads from printing.el |
| 20984 | 21041 | ||
| 20985 | (autoload 'pr-interface "printing" "\ | 21042 | (autoload 'pr-interface "printing" "\ |
| @@ -21566,7 +21623,7 @@ are both set to t. | |||
| 21566 | 21623 | ||
| 21567 | ;;;*** | 21624 | ;;;*** |
| 21568 | 21625 | ||
| 21569 | ;;;### (autoloads (proced) "proced" "proced.el" (20593 22184 581574 | 21626 | ;;;### (autoloads (proced) "proced" "proced.el" (20594 14884 858174 |
| 21570 | ;;;;;; 0)) | 21627 | ;;;;;; 0)) |
| 21571 | ;;; Generated autoloads from proced.el | 21628 | ;;; Generated autoloads from proced.el |
| 21572 | 21629 | ||
| @@ -21587,7 +21644,7 @@ Proced buffers. | |||
| 21587 | 21644 | ||
| 21588 | ;;;### (autoloads (profiler-find-profile-other-frame profiler-find-profile-other-window | 21645 | ;;;### (autoloads (profiler-find-profile-other-frame profiler-find-profile-other-window |
| 21589 | ;;;;;; profiler-find-profile profiler-start) "profiler" "profiler.el" | 21646 | ;;;;;; profiler-find-profile profiler-start) "profiler" "profiler.el" |
| 21590 | ;;;;;; (20619 46245 806932 0)) | 21647 | ;;;;;; (20650 61396 673885 0)) |
| 21591 | ;;; Generated autoloads from profiler.el | 21648 | ;;; Generated autoloads from profiler.el |
| 21592 | 21649 | ||
| 21593 | (autoload 'profiler-start "profiler" "\ | 21650 | (autoload 'profiler-start "profiler" "\ |
| @@ -21616,7 +21673,7 @@ Open profile FILENAME. | |||
| 21616 | ;;;*** | 21673 | ;;;*** |
| 21617 | 21674 | ||
| 21618 | ;;;### (autoloads (run-prolog mercury-mode prolog-mode) "prolog" | 21675 | ;;;### (autoloads (run-prolog mercury-mode prolog-mode) "prolog" |
| 21619 | ;;;;;; "progmodes/prolog.el" (20576 42138 697312 0)) | 21676 | ;;;;;; "progmodes/prolog.el" (20576 17486 923994 745000)) |
| 21620 | ;;; Generated autoloads from progmodes/prolog.el | 21677 | ;;; Generated autoloads from progmodes/prolog.el |
| 21621 | 21678 | ||
| 21622 | (autoload 'prolog-mode "prolog" "\ | 21679 | (autoload 'prolog-mode "prolog" "\ |
| @@ -21651,8 +21708,8 @@ With prefix argument ARG, restart the Prolog process if running before. | |||
| 21651 | 21708 | ||
| 21652 | ;;;*** | 21709 | ;;;*** |
| 21653 | 21710 | ||
| 21654 | ;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (20355 | 21711 | ;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (20652 |
| 21655 | ;;;;;; 10021 546955 0)) | 21712 | ;;;;;; 52617 313760 0)) |
| 21656 | ;;; Generated autoloads from ps-bdf.el | 21713 | ;;; Generated autoloads from ps-bdf.el |
| 21657 | 21714 | ||
| 21658 | (defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "\ | 21715 | (defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "\ |
| @@ -21664,7 +21721,7 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").") | |||
| 21664 | ;;;*** | 21721 | ;;;*** |
| 21665 | 21722 | ||
| 21666 | ;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (20576 | 21723 | ;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (20576 |
| 21667 | ;;;;;; 42138 697312 0)) | 21724 | ;;;;;; 17495 155995 39000)) |
| 21668 | ;;; Generated autoloads from progmodes/ps-mode.el | 21725 | ;;; Generated autoloads from progmodes/ps-mode.el |
| 21669 | 21726 | ||
| 21670 | (autoload 'ps-mode "ps-mode" "\ | 21727 | (autoload 'ps-mode "ps-mode" "\ |
| @@ -21716,7 +21773,7 @@ Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number | |||
| 21716 | ;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces | 21773 | ;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces |
| 21717 | ;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type | 21774 | ;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type |
| 21718 | ;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (20566 | 21775 | ;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (20566 |
| 21719 | ;;;;;; 63671 243798 0)) | 21776 | ;;;;;; 45755 958602 756000)) |
| 21720 | ;;; Generated autoloads from ps-print.el | 21777 | ;;; Generated autoloads from ps-print.el |
| 21721 | 21778 | ||
| 21722 | (defvar ps-page-dimensions-database (purecopy (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list 'letter (* 72 8.5) (* 72 11.0) "Letter") (list 'legal (* 72 8.5) (* 72 14.0) "Legal") (list 'letter-small (* 72 7.68) (* 72 10.16) "LetterSmall") (list 'tabloid (* 72 11.0) (* 72 17.0) "Tabloid") (list 'ledger (* 72 17.0) (* 72 11.0) "Ledger") (list 'statement (* 72 5.5) (* 72 8.5) "Statement") (list 'executive (* 72 7.5) (* 72 10.0) "Executive") (list 'a4small (* 72 7.47) (* 72 10.85) "A4Small") (list 'b4 (* 72 10.125) (* 72 14.33) "B4") (list 'b5 (* 72 7.16) (* 72 10.125) "B5") '(addresslarge 236.0 99.0 "AddressLarge") '(addresssmall 236.0 68.0 "AddressSmall") '(cuthanging13 90.0 222.0 "CutHanging13") '(cuthanging15 90.0 114.0 "CutHanging15") '(diskette 181.0 136.0 "Diskette") '(eurofilefolder 139.0 112.0 "EuropeanFilefolder") '(eurofoldernarrow 526.0 107.0 "EuroFolderNarrow") '(eurofolderwide 526.0 136.0 "EuroFolderWide") '(euronamebadge 189.0 108.0 "EuroNameBadge") '(euronamebadgelarge 223.0 136.0 "EuroNameBadgeLarge") '(filefolder 230.0 37.0 "FileFolder") '(jewelry 76.0 136.0 "Jewelry") '(mediabadge 180.0 136.0 "MediaBadge") '(multipurpose 126.0 68.0 "MultiPurpose") '(retaillabel 90.0 104.0 "RetailLabel") '(shipping 271.0 136.0 "Shipping") '(slide35mm 26.0 104.0 "Slide35mm") '(spine8mm 187.0 26.0 "Spine8mm") '(topcoated 425.19685 136.0 "TopCoatedPaper") '(topcoatedpaper 396.0 136.0 "TopcoatedPaper150") '(vhsface 205.0 127.0 "VHSFace") '(vhsspine 400.0 50.0 "VHSSpine") '(zipdisk 156.0 136.0 "ZipDisk"))) "\ | 21779 | (defvar ps-page-dimensions-database (purecopy (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list 'letter (* 72 8.5) (* 72 11.0) "Letter") (list 'legal (* 72 8.5) (* 72 14.0) "Legal") (list 'letter-small (* 72 7.68) (* 72 10.16) "LetterSmall") (list 'tabloid (* 72 11.0) (* 72 17.0) "Tabloid") (list 'ledger (* 72 17.0) (* 72 11.0) "Ledger") (list 'statement (* 72 5.5) (* 72 8.5) "Statement") (list 'executive (* 72 7.5) (* 72 10.0) "Executive") (list 'a4small (* 72 7.47) (* 72 10.85) "A4Small") (list 'b4 (* 72 10.125) (* 72 14.33) "B4") (list 'b5 (* 72 7.16) (* 72 10.125) "B5") '(addresslarge 236.0 99.0 "AddressLarge") '(addresssmall 236.0 68.0 "AddressSmall") '(cuthanging13 90.0 222.0 "CutHanging13") '(cuthanging15 90.0 114.0 "CutHanging15") '(diskette 181.0 136.0 "Diskette") '(eurofilefolder 139.0 112.0 "EuropeanFilefolder") '(eurofoldernarrow 526.0 107.0 "EuroFolderNarrow") '(eurofolderwide 526.0 136.0 "EuroFolderWide") '(euronamebadge 189.0 108.0 "EuroNameBadge") '(euronamebadgelarge 223.0 136.0 "EuroNameBadgeLarge") '(filefolder 230.0 37.0 "FileFolder") '(jewelry 76.0 136.0 "Jewelry") '(mediabadge 180.0 136.0 "MediaBadge") '(multipurpose 126.0 68.0 "MultiPurpose") '(retaillabel 90.0 104.0 "RetailLabel") '(shipping 271.0 136.0 "Shipping") '(slide35mm 26.0 104.0 "Slide35mm") '(spine8mm 187.0 26.0 "Spine8mm") '(topcoated 425.19685 136.0 "TopCoatedPaper") '(topcoatedpaper 396.0 136.0 "TopcoatedPaper150") '(vhsface 205.0 127.0 "VHSFace") '(vhsspine 400.0 50.0 "VHSSpine") '(zipdisk 156.0 136.0 "ZipDisk"))) "\ |
| @@ -21913,7 +21970,7 @@ If EXTENSION is any other symbol, it is ignored. | |||
| 21913 | ;;;*** | 21970 | ;;;*** |
| 21914 | 21971 | ||
| 21915 | ;;;### (autoloads (python-mode run-python) "python" "progmodes/python.el" | 21972 | ;;;### (autoloads (python-mode run-python) "python" "progmodes/python.el" |
| 21916 | ;;;;;; (20599 27513 576550 0)) | 21973 | ;;;;;; (20660 26176 137583 0)) |
| 21917 | ;;; Generated autoloads from progmodes/python.el | 21974 | ;;; Generated autoloads from progmodes/python.el |
| 21918 | 21975 | ||
| 21919 | (add-to-list 'auto-mode-alist (cons (purecopy "\\.py\\'") 'python-mode)) | 21976 | (add-to-list 'auto-mode-alist (cons (purecopy "\\.py\\'") 'python-mode)) |
| @@ -21949,7 +22006,7 @@ if that value is non-nil. | |||
| 21949 | ;;;*** | 22006 | ;;;*** |
| 21950 | 22007 | ||
| 21951 | ;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el" | 22008 | ;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el" |
| 21952 | ;;;;;; (20557 48712 315579 0)) | 22009 | ;;;;;; (20557 23173 326608 0)) |
| 21953 | ;;; Generated autoloads from gnus/qp.el | 22010 | ;;; Generated autoloads from gnus/qp.el |
| 21954 | 22011 | ||
| 21955 | (autoload 'quoted-printable-decode-region "qp" "\ | 22012 | (autoload 'quoted-printable-decode-region "qp" "\ |
| @@ -21972,7 +22029,7 @@ them into characters should be done separately. | |||
| 21972 | ;;;;;; quail-defrule quail-install-decode-map quail-install-map | 22029 | ;;;;;; quail-defrule quail-install-decode-map quail-install-map |
| 21973 | ;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout | 22030 | ;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout |
| 21974 | ;;;;;; quail-define-package quail-use-package quail-title) "quail" | 22031 | ;;;;;; quail-define-package quail-use-package quail-title) "quail" |
| 21975 | ;;;;;; "international/quail.el" (20523 62082 997685 0)) | 22032 | ;;;;;; "international/quail.el" (20533 50312 678915 0)) |
| 21976 | ;;; Generated autoloads from international/quail.el | 22033 | ;;; Generated autoloads from international/quail.el |
| 21977 | 22034 | ||
| 21978 | (autoload 'quail-title "quail" "\ | 22035 | (autoload 'quail-title "quail" "\ |
| @@ -22204,7 +22261,7 @@ of each directory. | |||
| 22204 | ;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls | 22261 | ;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls |
| 22205 | ;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url | 22262 | ;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url |
| 22206 | ;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (20566 | 22263 | ;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (20566 |
| 22207 | ;;;;;; 63671 243798 0)) | 22264 | ;;;;;; 46668 994639 176000)) |
| 22208 | ;;; Generated autoloads from net/quickurl.el | 22265 | ;;; Generated autoloads from net/quickurl.el |
| 22209 | 22266 | ||
| 22210 | (defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\ | 22267 | (defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\ |
| @@ -22276,7 +22333,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'. | |||
| 22276 | ;;;*** | 22333 | ;;;*** |
| 22277 | 22334 | ||
| 22278 | ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" | 22335 | ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" |
| 22279 | ;;;;;; "net/rcirc.el" (20614 54428 654267 0)) | 22336 | ;;;;;; "net/rcirc.el" (20615 22847 537904 0)) |
| 22280 | ;;; Generated autoloads from net/rcirc.el | 22337 | ;;; Generated autoloads from net/rcirc.el |
| 22281 | 22338 | ||
| 22282 | (autoload 'rcirc "rcirc" "\ | 22339 | (autoload 'rcirc "rcirc" "\ |
| @@ -22314,8 +22371,8 @@ if ARG is omitted or nil. | |||
| 22314 | 22371 | ||
| 22315 | ;;;*** | 22372 | ;;;*** |
| 22316 | 22373 | ||
| 22317 | ;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (20355 | 22374 | ;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (20533 |
| 22318 | ;;;;;; 10021 546955 0)) | 22375 | ;;;;;; 50312 678915 0)) |
| 22319 | ;;; Generated autoloads from net/rcompile.el | 22376 | ;;; Generated autoloads from net/rcompile.el |
| 22320 | 22377 | ||
| 22321 | (autoload 'remote-compile "rcompile" "\ | 22378 | (autoload 'remote-compile "rcompile" "\ |
| @@ -22327,7 +22384,7 @@ See \\[compile]. | |||
| 22327 | ;;;*** | 22384 | ;;;*** |
| 22328 | 22385 | ||
| 22329 | ;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el" | 22386 | ;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el" |
| 22330 | ;;;;;; (20427 14766 970343 0)) | 22387 | ;;;;;; (20533 50312 678915 0)) |
| 22331 | ;;; Generated autoloads from emacs-lisp/re-builder.el | 22388 | ;;; Generated autoloads from emacs-lisp/re-builder.el |
| 22332 | 22389 | ||
| 22333 | (defalias 'regexp-builder 're-builder) | 22390 | (defalias 'regexp-builder 're-builder) |
| @@ -22345,8 +22402,8 @@ matching parts of the target buffer will be highlighted. | |||
| 22345 | 22402 | ||
| 22346 | ;;;*** | 22403 | ;;;*** |
| 22347 | 22404 | ||
| 22348 | ;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (20356 2211 | 22405 | ;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (20533 50312 |
| 22349 | ;;;;;; 532900 0)) | 22406 | ;;;;;; 678915 0)) |
| 22350 | ;;; Generated autoloads from recentf.el | 22407 | ;;; Generated autoloads from recentf.el |
| 22351 | 22408 | ||
| 22352 | (defvar recentf-mode nil "\ | 22409 | (defvar recentf-mode nil "\ |
| @@ -22376,7 +22433,7 @@ were operated on recently. | |||
| 22376 | ;;;;;; string-rectangle delete-whitespace-rectangle open-rectangle | 22433 | ;;;;;; string-rectangle delete-whitespace-rectangle open-rectangle |
| 22377 | ;;;;;; insert-rectangle yank-rectangle copy-rectangle-as-kill kill-rectangle | 22434 | ;;;;;; insert-rectangle yank-rectangle copy-rectangle-as-kill kill-rectangle |
| 22378 | ;;;;;; extract-rectangle delete-extract-rectangle delete-rectangle) | 22435 | ;;;;;; extract-rectangle delete-extract-rectangle delete-rectangle) |
| 22379 | ;;;;;; "rect" "rect.el" (20501 3499 284800 0)) | 22436 | ;;;;;; "rect" "rect.el" (20533 50312 678915 0)) |
| 22380 | ;;; Generated autoloads from rect.el | 22437 | ;;; Generated autoloads from rect.el |
| 22381 | 22438 | ||
| 22382 | (autoload 'delete-rectangle "rect" "\ | 22439 | (autoload 'delete-rectangle "rect" "\ |
| @@ -22510,8 +22567,8 @@ with a prefix argument, prompt for START-AT and FORMAT. | |||
| 22510 | 22567 | ||
| 22511 | ;;;*** | 22568 | ;;;*** |
| 22512 | 22569 | ||
| 22513 | ;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (20478 | 22570 | ;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (20533 |
| 22514 | ;;;;;; 3673 653810 0)) | 22571 | ;;;;;; 50312 678915 0)) |
| 22515 | ;;; Generated autoloads from textmodes/refill.el | 22572 | ;;; Generated autoloads from textmodes/refill.el |
| 22516 | 22573 | ||
| 22517 | (autoload 'refill-mode "refill" "\ | 22574 | (autoload 'refill-mode "refill" "\ |
| @@ -22532,8 +22589,8 @@ For true \"word wrap\" behavior, use `visual-line-mode' instead. | |||
| 22532 | ;;;*** | 22589 | ;;;*** |
| 22533 | 22590 | ||
| 22534 | ;;;### (autoloads (reftex-reset-scanning-information reftex-mode | 22591 | ;;;### (autoloads (reftex-reset-scanning-information reftex-mode |
| 22535 | ;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (20590 45996 | 22592 | ;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (20660 26176 |
| 22536 | ;;;;;; 129575 0)) | 22593 | ;;;;;; 137583 0)) |
| 22537 | ;;; Generated autoloads from textmodes/reftex.el | 22594 | ;;; Generated autoloads from textmodes/reftex.el |
| 22538 | 22595 | ||
| 22539 | (autoload 'turn-on-reftex "reftex" "\ | 22596 | (autoload 'turn-on-reftex "reftex" "\ |
| @@ -22583,7 +22640,7 @@ This enforces rescanning the buffer on next use. | |||
| 22583 | ;;;*** | 22640 | ;;;*** |
| 22584 | 22641 | ||
| 22585 | ;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el" | 22642 | ;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el" |
| 22586 | ;;;;;; (20585 28088 480237 0)) | 22643 | ;;;;;; (20585 2669 263465 0)) |
| 22587 | ;;; Generated autoloads from textmodes/reftex-cite.el | 22644 | ;;; Generated autoloads from textmodes/reftex-cite.el |
| 22588 | 22645 | ||
| 22589 | (autoload 'reftex-citation "reftex-cite" "\ | 22646 | (autoload 'reftex-citation "reftex-cite" "\ |
| @@ -22613,7 +22670,7 @@ While entering the regexp, completion on knows citation keys is possible. | |||
| 22613 | ;;;*** | 22670 | ;;;*** |
| 22614 | 22671 | ||
| 22615 | ;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el" | 22672 | ;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el" |
| 22616 | ;;;;;; (20585 28088 480237 0)) | 22673 | ;;;;;; (20585 2669 263465 0)) |
| 22617 | ;;; Generated autoloads from textmodes/reftex-global.el | 22674 | ;;; Generated autoloads from textmodes/reftex-global.el |
| 22618 | 22675 | ||
| 22619 | (autoload 'reftex-isearch-minor-mode "reftex-global" "\ | 22676 | (autoload 'reftex-isearch-minor-mode "reftex-global" "\ |
| @@ -22630,7 +22687,7 @@ With no argument, this command toggles | |||
| 22630 | ;;;*** | 22687 | ;;;*** |
| 22631 | 22688 | ||
| 22632 | ;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el" | 22689 | ;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el" |
| 22633 | ;;;;;; (20585 28088 480237 0)) | 22690 | ;;;;;; (20585 2669 263465 0)) |
| 22634 | ;;; Generated autoloads from textmodes/reftex-index.el | 22691 | ;;; Generated autoloads from textmodes/reftex-index.el |
| 22635 | 22692 | ||
| 22636 | (autoload 'reftex-index-phrases-mode "reftex-index" "\ | 22693 | (autoload 'reftex-index-phrases-mode "reftex-index" "\ |
| @@ -22663,7 +22720,7 @@ Here are all local bindings. | |||
| 22663 | ;;;*** | 22720 | ;;;*** |
| 22664 | 22721 | ||
| 22665 | ;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el" | 22722 | ;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el" |
| 22666 | ;;;;;; (20585 28088 480237 0)) | 22723 | ;;;;;; (20660 26176 137583 0)) |
| 22667 | ;;; Generated autoloads from textmodes/reftex-parse.el | 22724 | ;;; Generated autoloads from textmodes/reftex-parse.el |
| 22668 | 22725 | ||
| 22669 | (autoload 'reftex-all-document-files "reftex-parse" "\ | 22726 | (autoload 'reftex-all-document-files "reftex-parse" "\ |
| @@ -22675,8 +22732,8 @@ of master file. | |||
| 22675 | 22732 | ||
| 22676 | ;;;*** | 22733 | ;;;*** |
| 22677 | 22734 | ||
| 22678 | ;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (20593 | 22735 | ;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (20594 |
| 22679 | ;;;;;; 22184 581574 0)) | 22736 | ;;;;;; 14884 858174 0)) |
| 22680 | ;;; Generated autoloads from textmodes/reftex-vars.el | 22737 | ;;; Generated autoloads from textmodes/reftex-vars.el |
| 22681 | (put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) | 22738 | (put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) |
| 22682 | (put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) | 22739 | (put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) |
| @@ -22686,7 +22743,7 @@ of master file. | |||
| 22686 | ;;;*** | 22743 | ;;;*** |
| 22687 | 22744 | ||
| 22688 | ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el" | 22745 | ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el" |
| 22689 | ;;;;;; (20522 38650 757441 0)) | 22746 | ;;;;;; (20533 50312 678915 0)) |
| 22690 | ;;; Generated autoloads from emacs-lisp/regexp-opt.el | 22747 | ;;; Generated autoloads from emacs-lisp/regexp-opt.el |
| 22691 | 22748 | ||
| 22692 | (autoload 'regexp-opt "regexp-opt" "\ | 22749 | (autoload 'regexp-opt "regexp-opt" "\ |
| @@ -22717,7 +22774,7 @@ This means the number of non-shy regexp grouping constructs | |||
| 22717 | 22774 | ||
| 22718 | ;;;### (autoloads (remember-diary-extract-entries remember-clipboard | 22775 | ;;;### (autoloads (remember-diary-extract-entries remember-clipboard |
| 22719 | ;;;;;; remember-other-frame remember) "remember" "textmodes/remember.el" | 22776 | ;;;;;; remember-other-frame remember) "remember" "textmodes/remember.el" |
| 22720 | ;;;;;; (20355 10021 546955 0)) | 22777 | ;;;;;; (20533 50312 678915 0)) |
| 22721 | ;;; Generated autoloads from textmodes/remember.el | 22778 | ;;; Generated autoloads from textmodes/remember.el |
| 22722 | 22779 | ||
| 22723 | (autoload 'remember "remember" "\ | 22780 | (autoload 'remember "remember" "\ |
| @@ -22748,7 +22805,7 @@ Extract diary entries from the region. | |||
| 22748 | 22805 | ||
| 22749 | ;;;*** | 22806 | ;;;*** |
| 22750 | 22807 | ||
| 22751 | ;;;### (autoloads (repeat) "repeat" "repeat.el" (20614 54428 654267 | 22808 | ;;;### (autoloads (repeat) "repeat" "repeat.el" (20615 22847 537904 |
| 22752 | ;;;;;; 0)) | 22809 | ;;;;;; 0)) |
| 22753 | ;;; Generated autoloads from repeat.el | 22810 | ;;; Generated autoloads from repeat.el |
| 22754 | 22811 | ||
| @@ -22772,7 +22829,7 @@ recently executed command not bound to an input event\". | |||
| 22772 | ;;;*** | 22829 | ;;;*** |
| 22773 | 22830 | ||
| 22774 | ;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el" | 22831 | ;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el" |
| 22775 | ;;;;;; (20355 10021 546955 0)) | 22832 | ;;;;;; (20533 50312 678915 0)) |
| 22776 | ;;; Generated autoloads from mail/reporter.el | 22833 | ;;; Generated autoloads from mail/reporter.el |
| 22777 | 22834 | ||
| 22778 | (autoload 'reporter-submit-bug-report "reporter" "\ | 22835 | (autoload 'reporter-submit-bug-report "reporter" "\ |
| @@ -22804,7 +22861,7 @@ mail-sending package is used for editing and sending the message. | |||
| 22804 | ;;;*** | 22861 | ;;;*** |
| 22805 | 22862 | ||
| 22806 | ;;;### (autoloads (reposition-window) "reposition" "reposition.el" | 22863 | ;;;### (autoloads (reposition-window) "reposition" "reposition.el" |
| 22807 | ;;;;;; (20355 10021 546955 0)) | 22864 | ;;;;;; (20533 50312 678915 0)) |
| 22808 | ;;; Generated autoloads from reposition.el | 22865 | ;;; Generated autoloads from reposition.el |
| 22809 | 22866 | ||
| 22810 | (autoload 'reposition-window "reposition" "\ | 22867 | (autoload 'reposition-window "reposition" "\ |
| @@ -22831,7 +22888,7 @@ first comment line visible (if point is in a comment). | |||
| 22831 | ;;;*** | 22888 | ;;;*** |
| 22832 | 22889 | ||
| 22833 | ;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el" | 22890 | ;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el" |
| 22834 | ;;;;;; (20355 10021 546955 0)) | 22891 | ;;;;;; (20533 50312 678915 0)) |
| 22835 | ;;; Generated autoloads from reveal.el | 22892 | ;;; Generated autoloads from reveal.el |
| 22836 | 22893 | ||
| 22837 | (autoload 'reveal-mode "reveal" "\ | 22894 | (autoload 'reveal-mode "reveal" "\ |
| @@ -22867,7 +22924,7 @@ the mode if ARG is omitted or nil. | |||
| 22867 | ;;;*** | 22924 | ;;;*** |
| 22868 | 22925 | ||
| 22869 | ;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el" | 22926 | ;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el" |
| 22870 | ;;;;;; (20355 10021 546955 0)) | 22927 | ;;;;;; (20533 50312 678915 0)) |
| 22871 | ;;; Generated autoloads from emacs-lisp/ring.el | 22928 | ;;; Generated autoloads from emacs-lisp/ring.el |
| 22872 | 22929 | ||
| 22873 | (autoload 'ring-p "ring" "\ | 22930 | (autoload 'ring-p "ring" "\ |
| @@ -22882,8 +22939,8 @@ Make a ring that can contain SIZE elements. | |||
| 22882 | 22939 | ||
| 22883 | ;;;*** | 22940 | ;;;*** |
| 22884 | 22941 | ||
| 22885 | ;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (20402 11562 | 22942 | ;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (20533 50312 |
| 22886 | ;;;;;; 85788 0)) | 22943 | ;;;;;; 678915 0)) |
| 22887 | ;;; Generated autoloads from net/rlogin.el | 22944 | ;;; Generated autoloads from net/rlogin.el |
| 22888 | 22945 | ||
| 22889 | (autoload 'rlogin "rlogin" "\ | 22946 | (autoload 'rlogin "rlogin" "\ |
| @@ -22932,8 +22989,8 @@ variable. | |||
| 22932 | ;;;;;; rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers | 22989 | ;;;;;; rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers |
| 22933 | ;;;;;; rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers | 22990 | ;;;;;; rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers |
| 22934 | ;;;;;; rmail-user-mail-address-regexp rmail-movemail-variant-p rmail-spool-directory | 22991 | ;;;;;; rmail-user-mail-address-regexp rmail-movemail-variant-p rmail-spool-directory |
| 22935 | ;;;;;; rmail-file-name) "rmail" "mail/rmail.el" (20599 61088 34742 | 22992 | ;;;;;; rmail-file-name) "rmail" "mail/rmail.el" (20599 38534 554587 |
| 22936 | ;;;;;; 635000)) | 22993 | ;;;;;; 163000)) |
| 22937 | ;;; Generated autoloads from mail/rmail.el | 22994 | ;;; Generated autoloads from mail/rmail.el |
| 22938 | 22995 | ||
| 22939 | (defvar rmail-file-name (purecopy "~/RMAIL") "\ | 22996 | (defvar rmail-file-name (purecopy "~/RMAIL") "\ |
| @@ -23131,8 +23188,8 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server. | |||
| 23131 | ;;;*** | 23188 | ;;;*** |
| 23132 | 23189 | ||
| 23133 | ;;;### (autoloads (rmail-output-body-to-file rmail-output-as-seen | 23190 | ;;;### (autoloads (rmail-output-body-to-file rmail-output-as-seen |
| 23134 | ;;;;;; rmail-output) "rmailout" "mail/rmailout.el" (20530 3765 184907 | 23191 | ;;;;;; rmail-output) "rmailout" "mail/rmailout.el" (20533 50312 |
| 23135 | ;;;;;; 0)) | 23192 | ;;;;;; 678915 0)) |
| 23136 | ;;; Generated autoloads from mail/rmailout.el | 23193 | ;;; Generated autoloads from mail/rmailout.el |
| 23137 | (put 'rmail-output-file-alist 'risky-local-variable t) | 23194 | (put 'rmail-output-file-alist 'risky-local-variable t) |
| 23138 | 23195 | ||
| @@ -23197,7 +23254,7 @@ than appending to it. Deletes the message after writing if | |||
| 23197 | ;;;*** | 23254 | ;;;*** |
| 23198 | 23255 | ||
| 23199 | ;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "nxml/rng-cmpct.el" | 23256 | ;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "nxml/rng-cmpct.el" |
| 23200 | ;;;;;; (20355 10021 546955 0)) | 23257 | ;;;;;; (20533 50312 678915 0)) |
| 23201 | ;;; Generated autoloads from nxml/rng-cmpct.el | 23258 | ;;; Generated autoloads from nxml/rng-cmpct.el |
| 23202 | 23259 | ||
| 23203 | (autoload 'rng-c-load-schema "rng-cmpct" "\ | 23260 | (autoload 'rng-c-load-schema "rng-cmpct" "\ |
| @@ -23209,7 +23266,7 @@ Return a pattern. | |||
| 23209 | ;;;*** | 23266 | ;;;*** |
| 23210 | 23267 | ||
| 23211 | ;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "nxml/rng-nxml.el" | 23268 | ;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "nxml/rng-nxml.el" |
| 23212 | ;;;;;; (20355 10021 546955 0)) | 23269 | ;;;;;; (20533 50312 678915 0)) |
| 23213 | ;;; Generated autoloads from nxml/rng-nxml.el | 23270 | ;;; Generated autoloads from nxml/rng-nxml.el |
| 23214 | 23271 | ||
| 23215 | (autoload 'rng-nxml-mode-init "rng-nxml" "\ | 23272 | (autoload 'rng-nxml-mode-init "rng-nxml" "\ |
| @@ -23222,7 +23279,7 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil. | |||
| 23222 | ;;;*** | 23279 | ;;;*** |
| 23223 | 23280 | ||
| 23224 | ;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el" | 23281 | ;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el" |
| 23225 | ;;;;;; (20355 10021 546955 0)) | 23282 | ;;;;;; (20533 50312 678915 0)) |
| 23226 | ;;; Generated autoloads from nxml/rng-valid.el | 23283 | ;;; Generated autoloads from nxml/rng-valid.el |
| 23227 | 23284 | ||
| 23228 | (autoload 'rng-validate-mode "rng-valid" "\ | 23285 | (autoload 'rng-validate-mode "rng-valid" "\ |
| @@ -23252,8 +23309,8 @@ to use for finding the schema. | |||
| 23252 | 23309 | ||
| 23253 | ;;;*** | 23310 | ;;;*** |
| 23254 | 23311 | ||
| 23255 | ;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (20355 | 23312 | ;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (20533 |
| 23256 | ;;;;;; 10021 546955 0)) | 23313 | ;;;;;; 50312 678915 0)) |
| 23257 | ;;; Generated autoloads from nxml/rng-xsd.el | 23314 | ;;; Generated autoloads from nxml/rng-xsd.el |
| 23258 | 23315 | ||
| 23259 | (put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile 'rng-xsd-compile) | 23316 | (put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile 'rng-xsd-compile) |
| @@ -23281,7 +23338,7 @@ must be equal. | |||
| 23281 | ;;;*** | 23338 | ;;;*** |
| 23282 | 23339 | ||
| 23283 | ;;;### (autoloads (robin-use-package robin-modify-package robin-define-package) | 23340 | ;;;### (autoloads (robin-use-package robin-modify-package robin-define-package) |
| 23284 | ;;;;;; "robin" "international/robin.el" (20523 62082 997685 0)) | 23341 | ;;;;;; "robin" "international/robin.el" (20533 50312 678915 0)) |
| 23285 | ;;; Generated autoloads from international/robin.el | 23342 | ;;; Generated autoloads from international/robin.el |
| 23286 | 23343 | ||
| 23287 | (autoload 'robin-define-package "robin" "\ | 23344 | (autoload 'robin-define-package "robin" "\ |
| @@ -23314,7 +23371,7 @@ Start using robin package NAME, which is a string. | |||
| 23314 | ;;;*** | 23371 | ;;;*** |
| 23315 | 23372 | ||
| 23316 | ;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region | 23373 | ;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region |
| 23317 | ;;;;;; rot13-string rot13) "rot13" "rot13.el" (20355 10021 546955 | 23374 | ;;;;;; rot13-string rot13) "rot13" "rot13.el" (20533 50312 678915 |
| 23318 | ;;;;;; 0)) | 23375 | ;;;;;; 0)) |
| 23319 | ;;; Generated autoloads from rot13.el | 23376 | ;;; Generated autoloads from rot13.el |
| 23320 | 23377 | ||
| @@ -23353,7 +23410,7 @@ Toggle the use of ROT13 encoding for the current window. | |||
| 23353 | ;;;*** | 23410 | ;;;*** |
| 23354 | 23411 | ||
| 23355 | ;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el" | 23412 | ;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el" |
| 23356 | ;;;;;; (20594 43050 277913 0)) | 23413 | ;;;;;; (20594 14884 858174 0)) |
| 23357 | ;;; Generated autoloads from textmodes/rst.el | 23414 | ;;; Generated autoloads from textmodes/rst.el |
| 23358 | (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode))) | 23415 | (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode))) |
| 23359 | 23416 | ||
| @@ -23384,7 +23441,7 @@ for modes derived from Text mode, like Mail mode. | |||
| 23384 | ;;;*** | 23441 | ;;;*** |
| 23385 | 23442 | ||
| 23386 | ;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el" | 23443 | ;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el" |
| 23387 | ;;;;;; (20576 42138 697312 0)) | 23444 | ;;;;;; (20647 7982 429263 0)) |
| 23388 | ;;; Generated autoloads from progmodes/ruby-mode.el | 23445 | ;;; Generated autoloads from progmodes/ruby-mode.el |
| 23389 | 23446 | ||
| 23390 | (autoload 'ruby-mode "ruby-mode" "\ | 23447 | (autoload 'ruby-mode "ruby-mode" "\ |
| @@ -23401,12 +23458,14 @@ The variable `ruby-indent-level' controls the amount of indentation. | |||
| 23401 | 23458 | ||
| 23402 | (add-to-list 'auto-mode-alist (cons (purecopy "\\.rb\\'") 'ruby-mode)) | 23459 | (add-to-list 'auto-mode-alist (cons (purecopy "\\.rb\\'") 'ruby-mode)) |
| 23403 | 23460 | ||
| 23461 | (add-to-list 'auto-mode-alist '("Rakefile\\'" . ruby-mode)) | ||
| 23462 | |||
| 23404 | (dolist (name (list "ruby" "rbx" "jruby" "ruby1.9" "ruby1.8")) (add-to-list 'interpreter-mode-alist (cons (purecopy name) 'ruby-mode))) | 23463 | (dolist (name (list "ruby" "rbx" "jruby" "ruby1.9" "ruby1.8")) (add-to-list 'interpreter-mode-alist (cons (purecopy name) 'ruby-mode))) |
| 23405 | 23464 | ||
| 23406 | ;;;*** | 23465 | ;;;*** |
| 23407 | 23466 | ||
| 23408 | ;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (20355 | 23467 | ;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (20533 |
| 23409 | ;;;;;; 10021 546955 0)) | 23468 | ;;;;;; 50312 678915 0)) |
| 23410 | ;;; Generated autoloads from ruler-mode.el | 23469 | ;;; Generated autoloads from ruler-mode.el |
| 23411 | 23470 | ||
| 23412 | (defvar ruler-mode nil "\ | 23471 | (defvar ruler-mode nil "\ |
| @@ -23423,8 +23482,8 @@ if ARG is omitted or nil. | |||
| 23423 | 23482 | ||
| 23424 | ;;;*** | 23483 | ;;;*** |
| 23425 | 23484 | ||
| 23426 | ;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (20518 | 23485 | ;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (20533 |
| 23427 | ;;;;;; 12580 46478 0)) | 23486 | ;;;;;; 50312 678915 0)) |
| 23428 | ;;; Generated autoloads from emacs-lisp/rx.el | 23487 | ;;; Generated autoloads from emacs-lisp/rx.el |
| 23429 | 23488 | ||
| 23430 | (autoload 'rx-to-string "rx" "\ | 23489 | (autoload 'rx-to-string "rx" "\ |
| @@ -23735,8 +23794,8 @@ enclosed in `(and ...)'. | |||
| 23735 | 23794 | ||
| 23736 | ;;;*** | 23795 | ;;;*** |
| 23737 | 23796 | ||
| 23738 | ;;;### (autoloads (savehist-mode) "savehist" "savehist.el" (20577 | 23797 | ;;;### (autoloads (savehist-mode) "savehist" "savehist.el" (20576 |
| 23739 | ;;;;;; 33959 40183 0)) | 23798 | ;;;;;; 15358 683905 201000)) |
| 23740 | ;;; Generated autoloads from savehist.el | 23799 | ;;; Generated autoloads from savehist.el |
| 23741 | 23800 | ||
| 23742 | (defvar savehist-mode nil "\ | 23801 | (defvar savehist-mode nil "\ |
| @@ -23768,7 +23827,7 @@ histories, which is probably undesirable. | |||
| 23768 | ;;;*** | 23827 | ;;;*** |
| 23769 | 23828 | ||
| 23770 | ;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el" | 23829 | ;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el" |
| 23771 | ;;;;;; (20427 14766 970343 0)) | 23830 | ;;;;;; (20665 36153 780714 159000)) |
| 23772 | ;;; Generated autoloads from progmodes/scheme.el | 23831 | ;;; Generated autoloads from progmodes/scheme.el |
| 23773 | 23832 | ||
| 23774 | (autoload 'scheme-mode "scheme" "\ | 23833 | (autoload 'scheme-mode "scheme" "\ |
| @@ -23810,7 +23869,7 @@ that variable's value is a string. | |||
| 23810 | ;;;*** | 23869 | ;;;*** |
| 23811 | 23870 | ||
| 23812 | ;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el" | 23871 | ;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el" |
| 23813 | ;;;;;; (20355 10021 546955 0)) | 23872 | ;;;;;; (20533 50312 678915 0)) |
| 23814 | ;;; Generated autoloads from gnus/score-mode.el | 23873 | ;;; Generated autoloads from gnus/score-mode.el |
| 23815 | 23874 | ||
| 23816 | (autoload 'gnus-score-mode "score-mode" "\ | 23875 | (autoload 'gnus-score-mode "score-mode" "\ |
| @@ -23824,7 +23883,7 @@ This mode is an extended emacs-lisp mode. | |||
| 23824 | ;;;*** | 23883 | ;;;*** |
| 23825 | 23884 | ||
| 23826 | ;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el" | 23885 | ;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el" |
| 23827 | ;;;;;; (20363 61861 222722 0)) | 23886 | ;;;;;; (20533 50312 678915 0)) |
| 23828 | ;;; Generated autoloads from scroll-all.el | 23887 | ;;; Generated autoloads from scroll-all.el |
| 23829 | 23888 | ||
| 23830 | (defvar scroll-all-mode nil "\ | 23889 | (defvar scroll-all-mode nil "\ |
| @@ -23850,7 +23909,7 @@ one window apply to all visible windows in the same frame. | |||
| 23850 | ;;;*** | 23909 | ;;;*** |
| 23851 | 23910 | ||
| 23852 | ;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el" | 23911 | ;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el" |
| 23853 | ;;;;;; (20355 10021 546955 0)) | 23912 | ;;;;;; (20533 50312 678915 0)) |
| 23854 | ;;; Generated autoloads from scroll-lock.el | 23913 | ;;; Generated autoloads from scroll-lock.el |
| 23855 | 23914 | ||
| 23856 | (autoload 'scroll-lock-mode "scroll-lock" "\ | 23915 | (autoload 'scroll-lock-mode "scroll-lock" "\ |
| @@ -23866,7 +23925,7 @@ vertically fixed relative to window boundaries during scrolling. | |||
| 23866 | 23925 | ||
| 23867 | ;;;*** | 23926 | ;;;*** |
| 23868 | 23927 | ||
| 23869 | ;;;### (autoloads nil "secrets" "net/secrets.el" (20478 3673 653810 | 23928 | ;;;### (autoloads nil "secrets" "net/secrets.el" (20533 50312 678915 |
| 23870 | ;;;;;; 0)) | 23929 | ;;;;;; 0)) |
| 23871 | ;;; Generated autoloads from net/secrets.el | 23930 | ;;; Generated autoloads from net/secrets.el |
| 23872 | (when (featurep 'dbusbind) | 23931 | (when (featurep 'dbusbind) |
| @@ -23875,7 +23934,7 @@ vertically fixed relative to window boundaries during scrolling. | |||
| 23875 | ;;;*** | 23934 | ;;;*** |
| 23876 | 23935 | ||
| 23877 | ;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic" | 23936 | ;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic" |
| 23878 | ;;;;;; "cedet/semantic.el" (20617 41641 89638 0)) | 23937 | ;;;;;; "cedet/semantic.el" (20619 27099 673959 0)) |
| 23879 | ;;; Generated autoloads from cedet/semantic.el | 23938 | ;;; Generated autoloads from cedet/semantic.el |
| 23880 | 23939 | ||
| 23881 | (defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\ | 23940 | (defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\ |
| @@ -23932,7 +23991,7 @@ Semantic mode. | |||
| 23932 | ;;;*** | 23991 | ;;;*** |
| 23933 | 23992 | ||
| 23934 | ;;;### (autoloads (bovine-grammar-mode) "semantic/bovine/grammar" | 23993 | ;;;### (autoloads (bovine-grammar-mode) "semantic/bovine/grammar" |
| 23935 | ;;;;;; "cedet/semantic/bovine/grammar.el" (20593 22184 581574 0)) | 23994 | ;;;;;; "cedet/semantic/bovine/grammar.el" (20592 14750 589797 981000)) |
| 23936 | ;;; Generated autoloads from cedet/semantic/bovine/grammar.el | 23995 | ;;; Generated autoloads from cedet/semantic/bovine/grammar.el |
| 23937 | 23996 | ||
| 23938 | (autoload 'bovine-grammar-mode "semantic/bovine/grammar" "\ | 23997 | (autoload 'bovine-grammar-mode "semantic/bovine/grammar" "\ |
| @@ -23943,7 +24002,7 @@ Major mode for editing Bovine grammars. | |||
| 23943 | ;;;*** | 24002 | ;;;*** |
| 23944 | 24003 | ||
| 23945 | ;;;### (autoloads (wisent-grammar-mode) "semantic/wisent/grammar" | 24004 | ;;;### (autoloads (wisent-grammar-mode) "semantic/wisent/grammar" |
| 23946 | ;;;;;; "cedet/semantic/wisent/grammar.el" (20593 22184 581574 0)) | 24005 | ;;;;;; "cedet/semantic/wisent/grammar.el" (20592 14837 837798 186000)) |
| 23947 | ;;; Generated autoloads from cedet/semantic/wisent/grammar.el | 24006 | ;;; Generated autoloads from cedet/semantic/wisent/grammar.el |
| 23948 | 24007 | ||
| 23949 | (autoload 'wisent-grammar-mode "semantic/wisent/grammar" "\ | 24008 | (autoload 'wisent-grammar-mode "semantic/wisent/grammar" "\ |
| @@ -23961,7 +24020,7 @@ Major mode for editing Wisent grammars. | |||
| 23961 | ;;;;;; mail-personal-alias-file mail-default-reply-to mail-archive-file-name | 24020 | ;;;;;; mail-personal-alias-file mail-default-reply-to mail-archive-file-name |
| 23962 | ;;;;;; mail-header-separator send-mail-function mail-interactive | 24021 | ;;;;;; mail-header-separator send-mail-function mail-interactive |
| 23963 | ;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style) | 24022 | ;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style) |
| 23964 | ;;;;;; "sendmail" "mail/sendmail.el" (20614 54428 654267 0)) | 24023 | ;;;;;; "sendmail" "mail/sendmail.el" (20615 22847 537904 0)) |
| 23965 | ;;; Generated autoloads from mail/sendmail.el | 24024 | ;;; Generated autoloads from mail/sendmail.el |
| 23966 | 24025 | ||
| 23967 | (defvar mail-from-style 'default "\ | 24026 | (defvar mail-from-style 'default "\ |
| @@ -24243,8 +24302,8 @@ Like `mail' command, but display mail buffer in another frame. | |||
| 24243 | ;;;*** | 24302 | ;;;*** |
| 24244 | 24303 | ||
| 24245 | ;;;### (autoloads (server-save-buffers-kill-terminal server-mode | 24304 | ;;;### (autoloads (server-save-buffers-kill-terminal server-mode |
| 24246 | ;;;;;; server-force-delete server-start) "server" "server.el" (20594 | 24305 | ;;;;;; server-force-delete server-start) "server" "server.el" (20647 |
| 24247 | ;;;;;; 43050 277913 0)) | 24306 | ;;;;;; 7982 429263 0)) |
| 24248 | ;;; Generated autoloads from server.el | 24307 | ;;; Generated autoloads from server.el |
| 24249 | 24308 | ||
| 24250 | (put 'server-host 'risky-local-variable t) | 24309 | (put 'server-host 'risky-local-variable t) |
| @@ -24311,7 +24370,7 @@ only these files will be asked to be saved. | |||
| 24311 | 24370 | ||
| 24312 | ;;;*** | 24371 | ;;;*** |
| 24313 | 24372 | ||
| 24314 | ;;;### (autoloads (ses-mode) "ses" "ses.el" (20553 51627 169867 0)) | 24373 | ;;;### (autoloads (ses-mode) "ses" "ses.el" (20657 39151 929960 0)) |
| 24315 | ;;; Generated autoloads from ses.el | 24374 | ;;; Generated autoloads from ses.el |
| 24316 | 24375 | ||
| 24317 | (autoload 'ses-mode "ses" "\ | 24376 | (autoload 'ses-mode "ses" "\ |
| @@ -24330,7 +24389,7 @@ These are active only in the minibuffer, when entering or editing a formula: | |||
| 24330 | ;;;*** | 24389 | ;;;*** |
| 24331 | 24390 | ||
| 24332 | ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el" | 24391 | ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el" |
| 24333 | ;;;;;; (20580 10161 446444 0)) | 24392 | ;;;;;; (20665 37305 556705 260000)) |
| 24334 | ;;; Generated autoloads from textmodes/sgml-mode.el | 24393 | ;;; Generated autoloads from textmodes/sgml-mode.el |
| 24335 | 24394 | ||
| 24336 | (autoload 'sgml-mode "sgml-mode" "\ | 24395 | (autoload 'sgml-mode "sgml-mode" "\ |
| @@ -24396,7 +24455,7 @@ To work around that, do: | |||
| 24396 | ;;;*** | 24455 | ;;;*** |
| 24397 | 24456 | ||
| 24398 | ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el" | 24457 | ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el" |
| 24399 | ;;;;;; (20624 64165 102958 0)) | 24458 | ;;;;;; (20665 38785 745682 0)) |
| 24400 | ;;; Generated autoloads from progmodes/sh-script.el | 24459 | ;;; Generated autoloads from progmodes/sh-script.el |
| 24401 | (put 'sh-shell 'safe-local-variable 'symbolp) | 24460 | (put 'sh-shell 'safe-local-variable 'symbolp) |
| 24402 | 24461 | ||
| @@ -24460,7 +24519,7 @@ with your script for an edit-interpret-debug cycle. | |||
| 24460 | ;;;*** | 24519 | ;;;*** |
| 24461 | 24520 | ||
| 24462 | ;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el" | 24521 | ;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el" |
| 24463 | ;;;;;; (20572 16038 402143 0)) | 24522 | ;;;;;; (20571 55599 814625 0)) |
| 24464 | ;;; Generated autoloads from emacs-lisp/shadow.el | 24523 | ;;; Generated autoloads from emacs-lisp/shadow.el |
| 24465 | 24524 | ||
| 24466 | (autoload 'list-load-path-shadows "shadow" "\ | 24525 | (autoload 'list-load-path-shadows "shadow" "\ |
| @@ -24510,8 +24569,8 @@ function, `load-path-shadows-find'. | |||
| 24510 | ;;;*** | 24569 | ;;;*** |
| 24511 | 24570 | ||
| 24512 | ;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group | 24571 | ;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group |
| 24513 | ;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (20355 | 24572 | ;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (20533 |
| 24514 | ;;;;;; 10021 546955 0)) | 24573 | ;;;;;; 50312 678915 0)) |
| 24515 | ;;; Generated autoloads from shadowfile.el | 24574 | ;;; Generated autoloads from shadowfile.el |
| 24516 | 24575 | ||
| 24517 | (autoload 'shadow-define-cluster "shadowfile" "\ | 24576 | (autoload 'shadow-define-cluster "shadowfile" "\ |
| @@ -24550,7 +24609,7 @@ Set up file shadowing. | |||
| 24550 | ;;;*** | 24609 | ;;;*** |
| 24551 | 24610 | ||
| 24552 | ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" | 24611 | ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" |
| 24553 | ;;;;;; (20566 63671 243798 0)) | 24612 | ;;;;;; (20664 27691 323071 891000)) |
| 24554 | ;;; Generated autoloads from shell.el | 24613 | ;;; Generated autoloads from shell.el |
| 24555 | 24614 | ||
| 24556 | (defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\ | 24615 | (defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\ |
| @@ -24598,8 +24657,8 @@ Otherwise, one argument `-i' is passed to the shell. | |||
| 24598 | 24657 | ||
| 24599 | ;;;*** | 24658 | ;;;*** |
| 24600 | 24659 | ||
| 24601 | ;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20595 | 24660 | ;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20596 |
| 24602 | ;;;;;; 63909 923329 0)) | 24661 | ;;;;;; 57817 368875 0)) |
| 24603 | ;;; Generated autoloads from gnus/shr.el | 24662 | ;;; Generated autoloads from gnus/shr.el |
| 24604 | 24663 | ||
| 24605 | (autoload 'shr-insert-document "shr" "\ | 24664 | (autoload 'shr-insert-document "shr" "\ |
| @@ -24612,7 +24671,7 @@ DOM should be a parse tree as generated by | |||
| 24612 | ;;;*** | 24671 | ;;;*** |
| 24613 | 24672 | ||
| 24614 | ;;;### (autoloads (sieve-upload-and-kill sieve-upload-and-bury sieve-upload | 24673 | ;;;### (autoloads (sieve-upload-and-kill sieve-upload-and-bury sieve-upload |
| 24615 | ;;;;;; sieve-manage) "sieve" "gnus/sieve.el" (20487 57003 603251 | 24674 | ;;;;;; sieve-manage) "sieve" "gnus/sieve.el" (20533 50312 678915 |
| 24616 | ;;;;;; 0)) | 24675 | ;;;;;; 0)) |
| 24617 | ;;; Generated autoloads from gnus/sieve.el | 24676 | ;;; Generated autoloads from gnus/sieve.el |
| 24618 | 24677 | ||
| @@ -24639,7 +24698,7 @@ DOM should be a parse tree as generated by | |||
| 24639 | ;;;*** | 24698 | ;;;*** |
| 24640 | 24699 | ||
| 24641 | ;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el" | 24700 | ;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el" |
| 24642 | ;;;;;; (20487 57003 603251 0)) | 24701 | ;;;;;; (20533 50312 678915 0)) |
| 24643 | ;;; Generated autoloads from gnus/sieve-mode.el | 24702 | ;;; Generated autoloads from gnus/sieve-mode.el |
| 24644 | 24703 | ||
| 24645 | (autoload 'sieve-mode "sieve-mode" "\ | 24704 | (autoload 'sieve-mode "sieve-mode" "\ |
| @@ -24654,8 +24713,8 @@ Turning on Sieve mode runs `sieve-mode-hook'. | |||
| 24654 | 24713 | ||
| 24655 | ;;;*** | 24714 | ;;;*** |
| 24656 | 24715 | ||
| 24657 | ;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (20355 | 24716 | ;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (20533 |
| 24658 | ;;;;;; 10021 546955 0)) | 24717 | ;;;;;; 50312 678915 0)) |
| 24659 | ;;; Generated autoloads from progmodes/simula.el | 24718 | ;;; Generated autoloads from progmodes/simula.el |
| 24660 | 24719 | ||
| 24661 | (autoload 'simula-mode "simula" "\ | 24720 | (autoload 'simula-mode "simula" "\ |
| @@ -24704,7 +24763,7 @@ with no arguments, if that value is non-nil. | |||
| 24704 | ;;;*** | 24763 | ;;;*** |
| 24705 | 24764 | ||
| 24706 | ;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new | 24765 | ;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new |
| 24707 | ;;;;;; define-skeleton) "skeleton" "skeleton.el" (20541 6907 775259 | 24766 | ;;;;;; define-skeleton) "skeleton" "skeleton.el" (20541 32865 505578 |
| 24708 | ;;;;;; 0)) | 24767 | ;;;;;; 0)) |
| 24709 | ;;; Generated autoloads from skeleton.el | 24768 | ;;; Generated autoloads from skeleton.el |
| 24710 | 24769 | ||
| @@ -24817,7 +24876,7 @@ symmetrical ones, and the same character twice for the others. | |||
| 24817 | ;;;*** | 24876 | ;;;*** |
| 24818 | 24877 | ||
| 24819 | ;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff) | 24878 | ;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff) |
| 24820 | ;;;;;; "smerge-mode" "vc/smerge-mode.el" (20585 28088 480237 0)) | 24879 | ;;;;;; "smerge-mode" "vc/smerge-mode.el" (20585 2669 263465 0)) |
| 24821 | ;;; Generated autoloads from vc/smerge-mode.el | 24880 | ;;; Generated autoloads from vc/smerge-mode.el |
| 24822 | 24881 | ||
| 24823 | (autoload 'smerge-ediff "smerge-mode" "\ | 24882 | (autoload 'smerge-ediff "smerge-mode" "\ |
| @@ -24845,7 +24904,7 @@ If no conflict maker is found, turn off `smerge-mode'. | |||
| 24845 | ;;;*** | 24904 | ;;;*** |
| 24846 | 24905 | ||
| 24847 | ;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el" | 24906 | ;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el" |
| 24848 | ;;;;;; (20355 10021 546955 0)) | 24907 | ;;;;;; (20533 50312 678915 0)) |
| 24849 | ;;; Generated autoloads from gnus/smiley.el | 24908 | ;;; Generated autoloads from gnus/smiley.el |
| 24850 | 24909 | ||
| 24851 | (autoload 'smiley-region "smiley" "\ | 24910 | (autoload 'smiley-region "smiley" "\ |
| @@ -24863,7 +24922,7 @@ interactively. If there's no argument, do it at the current buffer. | |||
| 24863 | ;;;*** | 24922 | ;;;*** |
| 24864 | 24923 | ||
| 24865 | ;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail" | 24924 | ;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail" |
| 24866 | ;;;;;; "mail/smtpmail.el" (20551 9899 283417 0)) | 24925 | ;;;;;; "mail/smtpmail.el" (20552 25066 479417 0)) |
| 24867 | ;;; Generated autoloads from mail/smtpmail.el | 24926 | ;;; Generated autoloads from mail/smtpmail.el |
| 24868 | 24927 | ||
| 24869 | (autoload 'smtpmail-send-it "smtpmail" "\ | 24928 | (autoload 'smtpmail-send-it "smtpmail" "\ |
| @@ -24878,7 +24937,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'. | |||
| 24878 | 24937 | ||
| 24879 | ;;;*** | 24938 | ;;;*** |
| 24880 | 24939 | ||
| 24881 | ;;;### (autoloads (snake) "snake" "play/snake.el" (20478 3673 653810 | 24940 | ;;;### (autoloads (snake) "snake" "play/snake.el" (20533 50312 678915 |
| 24882 | ;;;;;; 0)) | 24941 | ;;;;;; 0)) |
| 24883 | ;;; Generated autoloads from play/snake.el | 24942 | ;;; Generated autoloads from play/snake.el |
| 24884 | 24943 | ||
| @@ -24903,7 +24962,7 @@ Snake mode keybindings: | |||
| 24903 | ;;;*** | 24962 | ;;;*** |
| 24904 | 24963 | ||
| 24905 | ;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el" | 24964 | ;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el" |
| 24906 | ;;;;;; (20577 33959 40183 0)) | 24965 | ;;;;;; (20576 17407 119991 302000)) |
| 24907 | ;;; Generated autoloads from net/snmp-mode.el | 24966 | ;;; Generated autoloads from net/snmp-mode.el |
| 24908 | 24967 | ||
| 24909 | (autoload 'snmp-mode "snmp-mode" "\ | 24968 | (autoload 'snmp-mode "snmp-mode" "\ |
| @@ -24933,7 +24992,7 @@ then `snmpv2-mode-hook'. | |||
| 24933 | ;;;*** | 24992 | ;;;*** |
| 24934 | 24993 | ||
| 24935 | ;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (20566 | 24994 | ;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (20566 |
| 24936 | ;;;;;; 63671 243798 0)) | 24995 | ;;;;;; 46404 938628 506000)) |
| 24937 | ;;; Generated autoloads from calendar/solar.el | 24996 | ;;; Generated autoloads from calendar/solar.el |
| 24938 | 24997 | ||
| 24939 | (autoload 'sunrise-sunset "solar" "\ | 24998 | (autoload 'sunrise-sunset "solar" "\ |
| @@ -24948,8 +25007,8 @@ This function is suitable for execution in an init file. | |||
| 24948 | 25007 | ||
| 24949 | ;;;*** | 25008 | ;;;*** |
| 24950 | 25009 | ||
| 24951 | ;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (20427 | 25010 | ;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (20533 |
| 24952 | ;;;;;; 14766 970343 0)) | 25011 | ;;;;;; 50312 678915 0)) |
| 24953 | ;;; Generated autoloads from play/solitaire.el | 25012 | ;;; Generated autoloads from play/solitaire.el |
| 24954 | 25013 | ||
| 24955 | (autoload 'solitaire "solitaire" "\ | 25014 | (autoload 'solitaire "solitaire" "\ |
| @@ -25024,10 +25083,10 @@ Pick your favorite shortcuts: | |||
| 25024 | 25083 | ||
| 25025 | ;;;*** | 25084 | ;;;*** |
| 25026 | 25085 | ||
| 25027 | ;;;### (autoloads (reverse-region sort-columns sort-regexp-fields | 25086 | ;;;### (autoloads (delete-duplicate-lines reverse-region sort-columns |
| 25028 | ;;;;;; sort-fields sort-numeric-fields sort-pages sort-paragraphs | 25087 | ;;;;;; sort-regexp-fields sort-fields sort-numeric-fields sort-pages |
| 25029 | ;;;;;; sort-lines sort-subr) "sort" "sort.el" (20507 42276 222255 | 25088 | ;;;;;; sort-paragraphs sort-lines sort-subr) "sort" "sort.el" (20669 |
| 25030 | ;;;;;; 0)) | 25089 | ;;;;;; 24410 534430 0)) |
| 25031 | ;;; Generated autoloads from sort.el | 25090 | ;;; Generated autoloads from sort.el |
| 25032 | (put 'sort-fold-case 'safe-local-variable 'booleanp) | 25091 | (put 'sort-fold-case 'safe-local-variable 'booleanp) |
| 25033 | 25092 | ||
| @@ -25174,10 +25233,30 @@ From a program takes two point or marker arguments, BEG and END. | |||
| 25174 | 25233 | ||
| 25175 | \(fn BEG END)" t nil) | 25234 | \(fn BEG END)" t nil) |
| 25176 | 25235 | ||
| 25236 | (autoload 'delete-duplicate-lines "sort" "\ | ||
| 25237 | Delete duplicate lines in the region between BEG and END. | ||
| 25238 | |||
| 25239 | If REVERSE is nil, search and delete duplicates forward keeping the first | ||
| 25240 | occurrence of duplicate lines. If REVERSE is non-nil (when called | ||
| 25241 | interactively with C-u prefix), search and delete duplicates backward | ||
| 25242 | keeping the last occurrence of duplicate lines. | ||
| 25243 | |||
| 25244 | If ADJACENT is non-nil (when called interactively with two C-u prefixes), | ||
| 25245 | delete repeated lines only if they are adjacent. It works like the utility | ||
| 25246 | `uniq' and is useful when lines are already sorted in a large file since | ||
| 25247 | this is more efficient in performance and memory usage than when ADJACENT | ||
| 25248 | is nil that uses additional memory to remember previous lines. | ||
| 25249 | |||
| 25250 | When called from Lisp and INTERACTIVE is omitted or nil, return the number | ||
| 25251 | of deleted duplicate lines, do not print it; if INTERACTIVE is t, the | ||
| 25252 | function behaves in all respects as if it had been called interactively. | ||
| 25253 | |||
| 25254 | \(fn BEG END &optional REVERSE ADJACENT INTERACTIVE)" t nil) | ||
| 25255 | |||
| 25177 | ;;;*** | 25256 | ;;;*** |
| 25178 | 25257 | ||
| 25179 | ;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20458 | 25258 | ;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20533 |
| 25180 | ;;;;;; 56750 651721 0)) | 25259 | ;;;;;; 50312 678915 0)) |
| 25181 | ;;; Generated autoloads from gnus/spam.el | 25260 | ;;; Generated autoloads from gnus/spam.el |
| 25182 | 25261 | ||
| 25183 | (autoload 'spam-initialize "spam" "\ | 25262 | (autoload 'spam-initialize "spam" "\ |
| @@ -25193,7 +25272,7 @@ installed through `spam-necessary-extra-headers'. | |||
| 25193 | 25272 | ||
| 25194 | ;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file | 25273 | ;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file |
| 25195 | ;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report" | 25274 | ;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report" |
| 25196 | ;;;;;; "gnus/spam-report.el" (20355 10021 546955 0)) | 25275 | ;;;;;; "gnus/spam-report.el" (20533 50312 678915 0)) |
| 25197 | ;;; Generated autoloads from gnus/spam-report.el | 25276 | ;;; Generated autoloads from gnus/spam-report.el |
| 25198 | 25277 | ||
| 25199 | (autoload 'spam-report-process-queue "spam-report" "\ | 25278 | (autoload 'spam-report-process-queue "spam-report" "\ |
| @@ -25236,7 +25315,7 @@ Spam reports will be queued with the method used when | |||
| 25236 | ;;;*** | 25315 | ;;;*** |
| 25237 | 25316 | ||
| 25238 | ;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar" | 25317 | ;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar" |
| 25239 | ;;;;;; "speedbar.el" (20566 63671 243798 0)) | 25318 | ;;;;;; "speedbar.el" (20648 29678 511980 0)) |
| 25240 | ;;; Generated autoloads from speedbar.el | 25319 | ;;; Generated autoloads from speedbar.el |
| 25241 | 25320 | ||
| 25242 | (defalias 'speedbar 'speedbar-frame-mode) | 25321 | (defalias 'speedbar 'speedbar-frame-mode) |
| @@ -25260,8 +25339,8 @@ selected. If the speedbar frame is active, then select the attached frame. | |||
| 25260 | 25339 | ||
| 25261 | ;;;*** | 25340 | ;;;*** |
| 25262 | 25341 | ||
| 25263 | ;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (20355 | 25342 | ;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (20533 |
| 25264 | ;;;;;; 10021 546955 0)) | 25343 | ;;;;;; 50312 678915 0)) |
| 25265 | ;;; Generated autoloads from play/spook.el | 25344 | ;;; Generated autoloads from play/spook.el |
| 25266 | 25345 | ||
| 25267 | (autoload 'spook "spook" "\ | 25346 | (autoload 'spook "spook" "\ |
| @@ -25279,8 +25358,8 @@ Return a vector containing the lines from `spook-phrases-file'. | |||
| 25279 | ;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres | 25358 | ;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres |
| 25280 | ;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix | 25359 | ;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix |
| 25281 | ;;;;;; sql-sybase sql-oracle sql-product-interactive sql-connect | 25360 | ;;;;;; sql-sybase sql-oracle sql-product-interactive sql-connect |
| 25282 | ;;;;;; sql-mode sql-help sql-add-product-keywords) "sql" "progmodes/sql.el" | 25361 | ;;;;;; sql-mode sql-add-product-keywords) "sql" "progmodes/sql.el" |
| 25283 | ;;;;;; (20566 63671 243798 0)) | 25362 | ;;;;;; (20655 4702 996292 0)) |
| 25284 | ;;; Generated autoloads from progmodes/sql.el | 25363 | ;;; Generated autoloads from progmodes/sql.el |
| 25285 | 25364 | ||
| 25286 | (autoload 'sql-add-product-keywords "sql" "\ | 25365 | (autoload 'sql-add-product-keywords "sql" "\ |
| @@ -25304,40 +25383,7 @@ adds a fontification pattern to fontify identifiers ending in | |||
| 25304 | 25383 | ||
| 25305 | \(fn PRODUCT KEYWORDS &optional APPEND)" nil nil) | 25384 | \(fn PRODUCT KEYWORDS &optional APPEND)" nil nil) |
| 25306 | 25385 | ||
| 25307 | (autoload 'sql-help "sql" "\ | 25386 | (eval '(defun sql-help nil #("Show short help for the SQL modes.\n\nUse an entry function to open an interactive SQL buffer. This buffer is\nusually named `*SQL*'. The name of the major mode is SQLi.\n\nUse the following commands to start a specific SQL interpreter:\n\n \\\\FREE\n\nOther non-free SQL implementations are also supported:\n\n \\\\NONFREE\n\nBut we urge you to choose a free implementation instead of these.\n\nYou can also use \\[sql-product-interactive] to invoke the\ninterpreter for the current `sql-product'.\n\nOnce you have the SQLi buffer, you can enter SQL statements in the\nbuffer. The output generated is appended to the buffer and a new prompt\nis generated. See the In/Out menu in the SQLi buffer for some functions\nthat help you navigate through the buffer, the input history, etc.\n\nIf you have a really complex SQL statement or if you are writing a\nprocedure, you can do this in a separate buffer. Put the new buffer in\n`sql-mode' by calling \\[sql-mode]. The name of this buffer can be\nanything. The name of the major mode is SQL.\n\nIn this SQL buffer (SQL mode), you can send the region or the entire\nbuffer to the interactive SQL buffer (SQLi mode). The results are\nappended to the SQLi buffer without disturbing your SQL buffer." 0 1 (dynamic-docstring-function sql--make-help-docstring)) (interactive) (describe-function 'sql-help))) |
| 25308 | Show short help for the SQL modes. | ||
| 25309 | |||
| 25310 | Use an entry function to open an interactive SQL buffer. This buffer is | ||
| 25311 | usually named `*SQL*'. The name of the major mode is SQLi. | ||
| 25312 | |||
| 25313 | Use the following commands to start a specific SQL interpreter: | ||
| 25314 | |||
| 25315 | \\\\FREE | ||
| 25316 | |||
| 25317 | Other non-free SQL implementations are also supported: | ||
| 25318 | |||
| 25319 | \\\\NONFREE | ||
| 25320 | |||
| 25321 | But we urge you to choose a free implementation instead of these. | ||
| 25322 | |||
| 25323 | You can also use \\[sql-product-interactive] to invoke the | ||
| 25324 | interpreter for the current `sql-product'. | ||
| 25325 | |||
| 25326 | Once you have the SQLi buffer, you can enter SQL statements in the | ||
| 25327 | buffer. The output generated is appended to the buffer and a new prompt | ||
| 25328 | is generated. See the In/Out menu in the SQLi buffer for some functions | ||
| 25329 | that help you navigate through the buffer, the input history, etc. | ||
| 25330 | |||
| 25331 | If you have a really complex SQL statement or if you are writing a | ||
| 25332 | procedure, you can do this in a separate buffer. Put the new buffer in | ||
| 25333 | `sql-mode' by calling \\[sql-mode]. The name of this buffer can be | ||
| 25334 | anything. The name of the major mode is SQL. | ||
| 25335 | |||
| 25336 | In this SQL buffer (SQL mode), you can send the region or the entire | ||
| 25337 | buffer to the interactive SQL buffer (SQLi mode). The results are | ||
| 25338 | appended to the SQLi buffer without disturbing your SQL buffer. | ||
| 25339 | |||
| 25340 | \(fn)" t nil) | ||
| 25341 | 25387 | ||
| 25342 | (autoload 'sql-mode "sql" "\ | 25388 | (autoload 'sql-mode "sql" "\ |
| 25343 | Major mode to edit SQL. | 25389 | Major mode to edit SQL. |
| @@ -25776,7 +25822,7 @@ buffer. | |||
| 25776 | ;;;*** | 25822 | ;;;*** |
| 25777 | 25823 | ||
| 25778 | ;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el" | 25824 | ;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el" |
| 25779 | ;;;;;; (20586 48936 135199 0)) | 25825 | ;;;;;; (20647 7982 429263 0)) |
| 25780 | ;;; Generated autoloads from cedet/srecode/srt-mode.el | 25826 | ;;; Generated autoloads from cedet/srecode/srt-mode.el |
| 25781 | 25827 | ||
| 25782 | (autoload 'srecode-template-mode "srecode/srt-mode" "\ | 25828 | (autoload 'srecode-template-mode "srecode/srt-mode" "\ |
| @@ -25789,7 +25835,7 @@ Major-mode for writing SRecode macros. | |||
| 25789 | ;;;*** | 25835 | ;;;*** |
| 25790 | 25836 | ||
| 25791 | ;;;### (autoloads (starttls-open-stream) "starttls" "gnus/starttls.el" | 25837 | ;;;### (autoloads (starttls-open-stream) "starttls" "gnus/starttls.el" |
| 25792 | ;;;;;; (20606 34222 123795 0)) | 25838 | ;;;;;; (20608 13586 654200 0)) |
| 25793 | ;;; Generated autoloads from gnus/starttls.el | 25839 | ;;; Generated autoloads from gnus/starttls.el |
| 25794 | 25840 | ||
| 25795 | (autoload 'starttls-open-stream "starttls" "\ | 25841 | (autoload 'starttls-open-stream "starttls" "\ |
| @@ -25816,8 +25862,8 @@ GnuTLS requires a port number. | |||
| 25816 | ;;;;;; strokes-mode strokes-list-strokes strokes-load-user-strokes | 25862 | ;;;;;; strokes-mode strokes-list-strokes strokes-load-user-strokes |
| 25817 | ;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke | 25863 | ;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke |
| 25818 | ;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke | 25864 | ;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke |
| 25819 | ;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (20593 | 25865 | ;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (20594 |
| 25820 | ;;;;;; 22184 581574 0)) | 25866 | ;;;;;; 14884 858174 0)) |
| 25821 | ;;; Generated autoloads from strokes.el | 25867 | ;;; Generated autoloads from strokes.el |
| 25822 | 25868 | ||
| 25823 | (autoload 'strokes-global-set-stroke "strokes" "\ | 25869 | (autoload 'strokes-global-set-stroke "strokes" "\ |
| @@ -25931,7 +25977,7 @@ Read a complex stroke and insert its glyph into the current buffer. | |||
| 25931 | ;;;*** | 25977 | ;;;*** |
| 25932 | 25978 | ||
| 25933 | ;;;### (autoloads (studlify-buffer studlify-word studlify-region) | 25979 | ;;;### (autoloads (studlify-buffer studlify-word studlify-region) |
| 25934 | ;;;;;; "studly" "play/studly.el" (20355 10021 546955 0)) | 25980 | ;;;;;; "studly" "play/studly.el" (20533 50312 678915 0)) |
| 25935 | ;;; Generated autoloads from play/studly.el | 25981 | ;;; Generated autoloads from play/studly.el |
| 25936 | 25982 | ||
| 25937 | (autoload 'studlify-region "studly" "\ | 25983 | (autoload 'studlify-region "studly" "\ |
| @@ -25952,7 +25998,7 @@ Studlify-case the current buffer. | |||
| 25952 | ;;;*** | 25998 | ;;;*** |
| 25953 | 25999 | ||
| 25954 | ;;;### (autoloads (global-subword-mode subword-mode) "subword" "progmodes/subword.el" | 26000 | ;;;### (autoloads (global-subword-mode subword-mode) "subword" "progmodes/subword.el" |
| 25955 | ;;;;;; (20524 51365 2559 0)) | 26001 | ;;;;;; (20533 50312 678915 0)) |
| 25956 | ;;; Generated autoloads from progmodes/subword.el | 26002 | ;;; Generated autoloads from progmodes/subword.el |
| 25957 | 26003 | ||
| 25958 | (autoload 'subword-mode "subword" "\ | 26004 | (autoload 'subword-mode "subword" "\ |
| @@ -26008,7 +26054,7 @@ See `subword-mode' for more information on Subword mode. | |||
| 26008 | ;;;*** | 26054 | ;;;*** |
| 26009 | 26055 | ||
| 26010 | ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el" | 26056 | ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el" |
| 26011 | ;;;;;; (20576 42138 697312 0)) | 26057 | ;;;;;; (20576 15917 623928 140000)) |
| 26012 | ;;; Generated autoloads from mail/supercite.el | 26058 | ;;; Generated autoloads from mail/supercite.el |
| 26013 | 26059 | ||
| 26014 | (autoload 'sc-cite-original "supercite" "\ | 26060 | (autoload 'sc-cite-original "supercite" "\ |
| @@ -26040,8 +26086,8 @@ and `sc-post-hook' is run after the guts of this function. | |||
| 26040 | 26086 | ||
| 26041 | ;;;*** | 26087 | ;;;*** |
| 26042 | 26088 | ||
| 26043 | ;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (20355 | 26089 | ;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (20533 |
| 26044 | ;;;;;; 10021 546955 0)) | 26090 | ;;;;;; 50312 678915 0)) |
| 26045 | ;;; Generated autoloads from t-mouse.el | 26091 | ;;; Generated autoloads from t-mouse.el |
| 26046 | 26092 | ||
| 26047 | (define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1") | 26093 | (define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1") |
| @@ -26069,8 +26115,8 @@ It relies on the `gpm' daemon being activated. | |||
| 26069 | 26115 | ||
| 26070 | ;;;*** | 26116 | ;;;*** |
| 26071 | 26117 | ||
| 26072 | ;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (20355 10021 | 26118 | ;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (20533 50312 |
| 26073 | ;;;;;; 546955 0)) | 26119 | ;;;;;; 678915 0)) |
| 26074 | ;;; Generated autoloads from tabify.el | 26120 | ;;; Generated autoloads from tabify.el |
| 26075 | 26121 | ||
| 26076 | (autoload 'untabify "tabify" "\ | 26122 | (autoload 'untabify "tabify" "\ |
| @@ -26105,7 +26151,7 @@ The variable `tab-width' controls the spacing of tab stops. | |||
| 26105 | ;;;;;; table-recognize table-insert-row-column table-insert-column | 26151 | ;;;;;; table-recognize table-insert-row-column table-insert-column |
| 26106 | ;;;;;; table-insert-row table-insert table-point-left-cell-hook | 26152 | ;;;;;; table-insert-row table-insert table-point-left-cell-hook |
| 26107 | ;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook) | 26153 | ;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook) |
| 26108 | ;;;;;; "table" "textmodes/table.el" (20586 48936 135199 0)) | 26154 | ;;;;;; "table" "textmodes/table.el" (20660 26176 137583 0)) |
| 26109 | ;;; Generated autoloads from textmodes/table.el | 26155 | ;;; Generated autoloads from textmodes/table.el |
| 26110 | 26156 | ||
| 26111 | (defvar table-cell-map-hook nil "\ | 26157 | (defvar table-cell-map-hook nil "\ |
| @@ -26697,8 +26743,8 @@ converts a table into plain text without frames. It is a companion to | |||
| 26697 | 26743 | ||
| 26698 | ;;;*** | 26744 | ;;;*** |
| 26699 | 26745 | ||
| 26700 | ;;;### (autoloads (talk talk-connect) "talk" "talk.el" (20355 10021 | 26746 | ;;;### (autoloads (talk talk-connect) "talk" "talk.el" (20533 50312 |
| 26701 | ;;;;;; 546955 0)) | 26747 | ;;;;;; 678915 0)) |
| 26702 | ;;; Generated autoloads from talk.el | 26748 | ;;; Generated autoloads from talk.el |
| 26703 | 26749 | ||
| 26704 | (autoload 'talk-connect "talk" "\ | 26750 | (autoload 'talk-connect "talk" "\ |
| @@ -26713,8 +26759,8 @@ Connect to the Emacs talk group from the current X display or tty frame. | |||
| 26713 | 26759 | ||
| 26714 | ;;;*** | 26760 | ;;;*** |
| 26715 | 26761 | ||
| 26716 | ;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (20585 28088 | 26762 | ;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (20585 2669 |
| 26717 | ;;;;;; 480237 0)) | 26763 | ;;;;;; 263465 0)) |
| 26718 | ;;; Generated autoloads from tar-mode.el | 26764 | ;;; Generated autoloads from tar-mode.el |
| 26719 | 26765 | ||
| 26720 | (autoload 'tar-mode "tar-mode" "\ | 26766 | (autoload 'tar-mode "tar-mode" "\ |
| @@ -26738,7 +26784,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'. | |||
| 26738 | ;;;*** | 26784 | ;;;*** |
| 26739 | 26785 | ||
| 26740 | ;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl" | 26786 | ;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl" |
| 26741 | ;;;;;; "progmodes/tcl.el" (20580 10161 446444 0)) | 26787 | ;;;;;; "progmodes/tcl.el" (20581 13032 944808 0)) |
| 26742 | ;;; Generated autoloads from progmodes/tcl.el | 26788 | ;;; Generated autoloads from progmodes/tcl.el |
| 26743 | 26789 | ||
| 26744 | (autoload 'tcl-mode "tcl" "\ | 26790 | (autoload 'tcl-mode "tcl" "\ |
| @@ -26786,8 +26832,8 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'. | |||
| 26786 | 26832 | ||
| 26787 | ;;;*** | 26833 | ;;;*** |
| 26788 | 26834 | ||
| 26789 | ;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (20355 10021 | 26835 | ;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (20533 50312 |
| 26790 | ;;;;;; 546955 0)) | 26836 | ;;;;;; 678915 0)) |
| 26791 | ;;; Generated autoloads from net/telnet.el | 26837 | ;;; Generated autoloads from net/telnet.el |
| 26792 | 26838 | ||
| 26793 | (autoload 'telnet "telnet" "\ | 26839 | (autoload 'telnet "telnet" "\ |
| @@ -26813,7 +26859,7 @@ Normally input is edited in Emacs and sent a line at a time. | |||
| 26813 | ;;;*** | 26859 | ;;;*** |
| 26814 | 26860 | ||
| 26815 | ;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el" | 26861 | ;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el" |
| 26816 | ;;;;;; (20580 10161 446444 0)) | 26862 | ;;;;;; (20648 29678 511980 0)) |
| 26817 | ;;; Generated autoloads from term.el | 26863 | ;;; Generated autoloads from term.el |
| 26818 | 26864 | ||
| 26819 | (autoload 'make-term "term" "\ | 26865 | (autoload 'make-term "term" "\ |
| @@ -26855,45 +26901,8 @@ use in that buffer. | |||
| 26855 | 26901 | ||
| 26856 | ;;;*** | 26902 | ;;;*** |
| 26857 | 26903 | ||
| 26858 | ;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (20355 | ||
| 26859 | ;;;;;; 10021 546955 0)) | ||
| 26860 | ;;; Generated autoloads from terminal.el | ||
| 26861 | |||
| 26862 | (autoload 'terminal-emulator "terminal" "\ | ||
| 26863 | Under a display-terminal emulator in BUFFER, run PROGRAM on arguments ARGS. | ||
| 26864 | ARGS is a list of argument-strings. Remaining arguments are WIDTH and HEIGHT. | ||
| 26865 | BUFFER's contents are made an image of the display generated by that program, | ||
| 26866 | and any input typed when BUFFER is the current Emacs buffer is sent to that | ||
| 26867 | program as keyboard input. | ||
| 26868 | |||
| 26869 | Interactively, BUFFER defaults to \"*terminal*\" and PROGRAM and ARGS | ||
| 26870 | are parsed from an input-string using your usual shell. | ||
| 26871 | WIDTH and HEIGHT are determined from the size of the current window | ||
| 26872 | -- WIDTH will be one less than the window's width, HEIGHT will be its height. | ||
| 26873 | |||
| 26874 | To switch buffers and leave the emulator, or to give commands | ||
| 26875 | to the emulator itself (as opposed to the program running under it), | ||
| 26876 | type Control-^. The following character is an emulator command. | ||
| 26877 | Type Control-^ twice to send it to the subprogram. | ||
| 26878 | This escape character may be changed using the variable `terminal-escape-char'. | ||
| 26879 | |||
| 26880 | `Meta' characters may not currently be sent through the terminal emulator. | ||
| 26881 | |||
| 26882 | Here is a list of some of the variables which control the behavior | ||
| 26883 | of the emulator -- see their documentation for more information: | ||
| 26884 | terminal-escape-char, terminal-scrolling, terminal-more-processing, | ||
| 26885 | terminal-redisplay-interval. | ||
| 26886 | |||
| 26887 | This function calls the value of terminal-mode-hook if that exists | ||
| 26888 | and is non-nil after the terminal buffer has been set up and the | ||
| 26889 | subprocess started. | ||
| 26890 | |||
| 26891 | \(fn BUFFER PROGRAM ARGS &optional WIDTH HEIGHT)" t nil) | ||
| 26892 | |||
| 26893 | ;;;*** | ||
| 26894 | |||
| 26895 | ;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el" | 26904 | ;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el" |
| 26896 | ;;;;;; (20580 10161 446444 0)) | 26905 | ;;;;;; (20579 47335 3827 0)) |
| 26897 | ;;; Generated autoloads from emacs-lisp/testcover.el | 26906 | ;;; Generated autoloads from emacs-lisp/testcover.el |
| 26898 | 26907 | ||
| 26899 | (autoload 'testcover-this-defun "testcover" "\ | 26908 | (autoload 'testcover-this-defun "testcover" "\ |
| @@ -26903,8 +26912,8 @@ Start coverage on function under point. | |||
| 26903 | 26912 | ||
| 26904 | ;;;*** | 26913 | ;;;*** |
| 26905 | 26914 | ||
| 26906 | ;;;### (autoloads (tetris) "tetris" "play/tetris.el" (20545 57511 | 26915 | ;;;### (autoloads (tetris) "tetris" "play/tetris.el" (20545 60086 |
| 26907 | ;;;;;; 257469 0)) | 26916 | ;;;;;; 510404 0)) |
| 26908 | ;;; Generated autoloads from play/tetris.el | 26917 | ;;; Generated autoloads from play/tetris.el |
| 26909 | 26918 | ||
| 26910 | (autoload 'tetris "tetris" "\ | 26919 | (autoload 'tetris "tetris" "\ |
| @@ -26935,7 +26944,7 @@ tetris-mode keybindings: | |||
| 26935 | ;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command | 26944 | ;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command |
| 26936 | ;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp | 26945 | ;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp |
| 26937 | ;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el" | 26946 | ;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el" |
| 26938 | ;;;;;; (20594 43050 277913 0)) | 26947 | ;;;;;; (20665 36964 828705 971000)) |
| 26939 | ;;; Generated autoloads from textmodes/tex-mode.el | 26948 | ;;; Generated autoloads from textmodes/tex-mode.el |
| 26940 | 26949 | ||
| 26941 | (defvar tex-shell-file-name nil "\ | 26950 | (defvar tex-shell-file-name nil "\ |
| @@ -27237,7 +27246,7 @@ Major mode to edit DocTeX files. | |||
| 27237 | ;;;*** | 27246 | ;;;*** |
| 27238 | 27247 | ||
| 27239 | ;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer) | 27248 | ;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer) |
| 27240 | ;;;;;; "texinfmt" "textmodes/texinfmt.el" (20434 17809 692608 0)) | 27249 | ;;;;;; "texinfmt" "textmodes/texinfmt.el" (20533 50312 678915 0)) |
| 27241 | ;;; Generated autoloads from textmodes/texinfmt.el | 27250 | ;;; Generated autoloads from textmodes/texinfmt.el |
| 27242 | 27251 | ||
| 27243 | (autoload 'texinfo-format-buffer "texinfmt" "\ | 27252 | (autoload 'texinfo-format-buffer "texinfmt" "\ |
| @@ -27277,7 +27286,7 @@ if large. You can use `Info-split' to do this manually. | |||
| 27277 | ;;;*** | 27286 | ;;;*** |
| 27278 | 27287 | ||
| 27279 | ;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote) | 27288 | ;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote) |
| 27280 | ;;;;;; "texinfo" "textmodes/texinfo.el" (20478 3673 653810 0)) | 27289 | ;;;;;; "texinfo" "textmodes/texinfo.el" (20665 37006 296704 255000)) |
| 27281 | ;;; Generated autoloads from textmodes/texinfo.el | 27290 | ;;; Generated autoloads from textmodes/texinfo.el |
| 27282 | 27291 | ||
| 27283 | (defvar texinfo-open-quote (purecopy "``") "\ | 27292 | (defvar texinfo-open-quote (purecopy "``") "\ |
| @@ -27363,7 +27372,7 @@ value of `texinfo-mode-hook'. | |||
| 27363 | 27372 | ||
| 27364 | ;;;### (autoloads (thai-composition-function thai-compose-buffer | 27373 | ;;;### (autoloads (thai-composition-function thai-compose-buffer |
| 27365 | ;;;;;; thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el" | 27374 | ;;;;;; thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el" |
| 27366 | ;;;;;; (20355 10021 546955 0)) | 27375 | ;;;;;; (20533 50312 678915 0)) |
| 27367 | ;;; Generated autoloads from language/thai-util.el | 27376 | ;;; Generated autoloads from language/thai-util.el |
| 27368 | 27377 | ||
| 27369 | (autoload 'thai-compose-region "thai-util" "\ | 27378 | (autoload 'thai-compose-region "thai-util" "\ |
| @@ -27392,7 +27401,7 @@ Compose Thai characters in the current buffer. | |||
| 27392 | 27401 | ||
| 27393 | ;;;### (autoloads (list-at-point number-at-point symbol-at-point | 27402 | ;;;### (autoloads (list-at-point number-at-point symbol-at-point |
| 27394 | ;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing) | 27403 | ;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing) |
| 27395 | ;;;;;; "thingatpt" "thingatpt.el" (20623 43301 870757 0)) | 27404 | ;;;;;; "thingatpt" "thingatpt.el" (20623 2577 143277 474000)) |
| 27396 | ;;; Generated autoloads from thingatpt.el | 27405 | ;;; Generated autoloads from thingatpt.el |
| 27397 | 27406 | ||
| 27398 | (autoload 'forward-thing "thingatpt" "\ | 27407 | (autoload 'forward-thing "thingatpt" "\ |
| @@ -27455,7 +27464,7 @@ Return the Lisp list at point, or nil if none is found. | |||
| 27455 | 27464 | ||
| 27456 | ;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked | 27465 | ;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked |
| 27457 | ;;;;;; thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el" | 27466 | ;;;;;; thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el" |
| 27458 | ;;;;;; (20355 10021 546955 0)) | 27467 | ;;;;;; (20533 50312 678915 0)) |
| 27459 | ;;; Generated autoloads from thumbs.el | 27468 | ;;; Generated autoloads from thumbs.el |
| 27460 | 27469 | ||
| 27461 | (autoload 'thumbs-find-thumb "thumbs" "\ | 27470 | (autoload 'thumbs-find-thumb "thumbs" "\ |
| @@ -27493,8 +27502,8 @@ In dired, call the setroot program on the image at point. | |||
| 27493 | ;;;;;; tibetan-post-read-conversion tibetan-compose-buffer tibetan-decompose-buffer | 27502 | ;;;;;; tibetan-post-read-conversion tibetan-compose-buffer tibetan-decompose-buffer |
| 27494 | ;;;;;; tibetan-decompose-string tibetan-decompose-region tibetan-compose-region | 27503 | ;;;;;; tibetan-decompose-string tibetan-decompose-region tibetan-compose-region |
| 27495 | ;;;;;; tibetan-compose-string tibetan-transcription-to-tibetan tibetan-tibetan-to-transcription | 27504 | ;;;;;; tibetan-compose-string tibetan-transcription-to-tibetan tibetan-tibetan-to-transcription |
| 27496 | ;;;;;; tibetan-char-p) "tibet-util" "language/tibet-util.el" (20355 | 27505 | ;;;;;; tibetan-char-p) "tibet-util" "language/tibet-util.el" (20533 |
| 27497 | ;;;;;; 10021 546955 0)) | 27506 | ;;;;;; 50312 678915 0)) |
| 27498 | ;;; Generated autoloads from language/tibet-util.el | 27507 | ;;; Generated autoloads from language/tibet-util.el |
| 27499 | 27508 | ||
| 27500 | (autoload 'tibetan-char-p "tibet-util" "\ | 27509 | (autoload 'tibetan-char-p "tibet-util" "\ |
| @@ -27568,7 +27577,7 @@ See also docstring of the function tibetan-compose-region. | |||
| 27568 | ;;;*** | 27577 | ;;;*** |
| 27569 | 27578 | ||
| 27570 | ;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el" | 27579 | ;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el" |
| 27571 | ;;;;;; (20373 11301 906925 0)) | 27580 | ;;;;;; (20533 50312 678915 0)) |
| 27572 | ;;; Generated autoloads from textmodes/tildify.el | 27581 | ;;; Generated autoloads from textmodes/tildify.el |
| 27573 | 27582 | ||
| 27574 | (autoload 'tildify-region "tildify" "\ | 27583 | (autoload 'tildify-region "tildify" "\ |
| @@ -27593,7 +27602,7 @@ This function performs no refilling of the changed text. | |||
| 27593 | 27602 | ||
| 27594 | ;;;### (autoloads (emacs-init-time emacs-uptime display-time-world | 27603 | ;;;### (autoloads (emacs-init-time emacs-uptime display-time-world |
| 27595 | ;;;;;; display-time-mode display-time display-time-day-and-date) | 27604 | ;;;;;; display-time-mode display-time display-time-day-and-date) |
| 27596 | ;;;;;; "time" "time.el" (20619 46245 806932 0)) | 27605 | ;;;;;; "time" "time.el" (20622 16646 799433 0)) |
| 27597 | ;;; Generated autoloads from time.el | 27606 | ;;; Generated autoloads from time.el |
| 27598 | 27607 | ||
| 27599 | (defvar display-time-day-and-date nil "\ | 27608 | (defvar display-time-day-and-date nil "\ |
| @@ -27659,7 +27668,7 @@ Return a string giving the duration of the Emacs initialization. | |||
| 27659 | ;;;;;; time-to-day-in-year date-leap-year-p days-between date-to-day | 27668 | ;;;;;; time-to-day-in-year date-leap-year-p days-between date-to-day |
| 27660 | ;;;;;; time-add time-subtract time-since days-to-time time-less-p | 27669 | ;;;;;; time-add time-subtract time-since days-to-time time-less-p |
| 27661 | ;;;;;; seconds-to-time date-to-time) "time-date" "calendar/time-date.el" | 27670 | ;;;;;; seconds-to-time date-to-time) "time-date" "calendar/time-date.el" |
| 27662 | ;;;;;; (20453 5437 764254 0)) | 27671 | ;;;;;; (20652 52617 313760 0)) |
| 27663 | ;;; Generated autoloads from calendar/time-date.el | 27672 | ;;; Generated autoloads from calendar/time-date.el |
| 27664 | 27673 | ||
| 27665 | (autoload 'date-to-time "time-date" "\ | 27674 | (autoload 'date-to-time "time-date" "\ |
| @@ -27670,9 +27679,7 @@ If DATE lacks timezone information, GMT is assumed. | |||
| 27670 | (if (or (featurep 'emacs) | 27679 | (if (or (featurep 'emacs) |
| 27671 | (and (fboundp 'float-time) | 27680 | (and (fboundp 'float-time) |
| 27672 | (subrp (symbol-function 'float-time)))) | 27681 | (subrp (symbol-function 'float-time)))) |
| 27673 | (progn | 27682 | (defalias 'time-to-seconds 'float-time) |
| 27674 | (defalias 'time-to-seconds 'float-time) | ||
| 27675 | (make-obsolete 'time-to-seconds 'float-time "21.1")) | ||
| 27676 | (autoload 'time-to-seconds "time-date")) | 27683 | (autoload 'time-to-seconds "time-date")) |
| 27677 | 27684 | ||
| 27678 | (autoload 'seconds-to-time "time-date" "\ | 27685 | (autoload 'seconds-to-time "time-date" "\ |
| @@ -27773,7 +27780,7 @@ This function does not work for SECONDS greater than `most-positive-fixnum'. | |||
| 27773 | ;;;*** | 27780 | ;;;*** |
| 27774 | 27781 | ||
| 27775 | ;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" | 27782 | ;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" |
| 27776 | ;;;;;; "time-stamp.el" (20566 63671 243798 0)) | 27783 | ;;;;;; "time-stamp.el" (20566 45666 534598 861000)) |
| 27777 | ;;; Generated autoloads from time-stamp.el | 27784 | ;;; Generated autoloads from time-stamp.el |
| 27778 | (put 'time-stamp-format 'safe-local-variable 'stringp) | 27785 | (put 'time-stamp-format 'safe-local-variable 'stringp) |
| 27779 | (put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p) | 27786 | (put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p) |
| @@ -27817,7 +27824,7 @@ With ARG, turn time stamping on if and only if arg is positive. | |||
| 27817 | ;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out | 27824 | ;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out |
| 27818 | ;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in | 27825 | ;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in |
| 27819 | ;;;;;; timeclock-mode-line-display) "timeclock" "calendar/timeclock.el" | 27826 | ;;;;;; timeclock-mode-line-display) "timeclock" "calendar/timeclock.el" |
| 27820 | ;;;;;; (20593 22184 581574 0)) | 27827 | ;;;;;; (20594 14884 858174 0)) |
| 27821 | ;;; Generated autoloads from calendar/timeclock.el | 27828 | ;;; Generated autoloads from calendar/timeclock.el |
| 27822 | 27829 | ||
| 27823 | (autoload 'timeclock-mode-line-display "timeclock" "\ | 27830 | (autoload 'timeclock-mode-line-display "timeclock" "\ |
| @@ -27917,7 +27924,7 @@ relative only to the time worked today, and not to past time. | |||
| 27917 | ;;;*** | 27924 | ;;;*** |
| 27918 | 27925 | ||
| 27919 | ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv" | 27926 | ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv" |
| 27920 | ;;;;;; "international/titdic-cnv.el" (20355 10021 546955 0)) | 27927 | ;;;;;; "international/titdic-cnv.el" (20533 50312 678915 0)) |
| 27921 | ;;; Generated autoloads from international/titdic-cnv.el | 27928 | ;;; Generated autoloads from international/titdic-cnv.el |
| 27922 | 27929 | ||
| 27923 | (autoload 'titdic-convert "titdic-cnv" "\ | 27930 | (autoload 'titdic-convert "titdic-cnv" "\ |
| @@ -27940,7 +27947,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\". | |||
| 27940 | ;;;*** | 27947 | ;;;*** |
| 27941 | 27948 | ||
| 27942 | ;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm" | 27949 | ;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm" |
| 27943 | ;;;;;; "tmm.el" (20622 22438 32851 0)) | 27950 | ;;;;;; "tmm.el" (20622 16646 799433 0)) |
| 27944 | ;;; Generated autoloads from tmm.el | 27951 | ;;; Generated autoloads from tmm.el |
| 27945 | (define-key global-map "\M-`" 'tmm-menubar) | 27952 | (define-key global-map "\M-`" 'tmm-menubar) |
| 27946 | (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse) | 27953 | (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse) |
| @@ -27980,7 +27987,7 @@ Its value should be an event that has a binding in MENU. | |||
| 27980 | 27987 | ||
| 27981 | ;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities | 27988 | ;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities |
| 27982 | ;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category) | 27989 | ;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category) |
| 27983 | ;;;;;; "todo-mode" "calendar/todo-mode.el" (20355 10021 546955 0)) | 27990 | ;;;;;; "todo-mode" "calendar/todo-mode.el" (20533 50312 678915 0)) |
| 27984 | ;;; Generated autoloads from calendar/todo-mode.el | 27991 | ;;; Generated autoloads from calendar/todo-mode.el |
| 27985 | 27992 | ||
| 27986 | (autoload 'todo-add-category "todo-mode" "\ | 27993 | (autoload 'todo-add-category "todo-mode" "\ |
| @@ -28040,7 +28047,7 @@ Show TODO list. | |||
| 28040 | 28047 | ||
| 28041 | ;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu | 28048 | ;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu |
| 28042 | ;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame) | 28049 | ;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame) |
| 28043 | ;;;;;; "tool-bar" "tool-bar.el" (20355 10021 546955 0)) | 28050 | ;;;;;; "tool-bar" "tool-bar.el" (20533 50312 678915 0)) |
| 28044 | ;;; Generated autoloads from tool-bar.el | 28051 | ;;; Generated autoloads from tool-bar.el |
| 28045 | 28052 | ||
| 28046 | (autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\ | 28053 | (autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\ |
| @@ -28111,7 +28118,7 @@ holds a keymap. | |||
| 28111 | ;;;*** | 28118 | ;;;*** |
| 28112 | 28119 | ||
| 28113 | ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el" | 28120 | ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el" |
| 28114 | ;;;;;; (20566 63671 243798 0)) | 28121 | ;;;;;; (20566 47027 18655 117000)) |
| 28115 | ;;; Generated autoloads from emulation/tpu-edt.el | 28122 | ;;; Generated autoloads from emulation/tpu-edt.el |
| 28116 | 28123 | ||
| 28117 | (defvar tpu-edt-mode nil "\ | 28124 | (defvar tpu-edt-mode nil "\ |
| @@ -28141,7 +28148,7 @@ Turn on TPU/edt emulation. | |||
| 28141 | ;;;*** | 28148 | ;;;*** |
| 28142 | 28149 | ||
| 28143 | ;;;### (autoloads (tpu-mapper) "tpu-mapper" "emulation/tpu-mapper.el" | 28150 | ;;;### (autoloads (tpu-mapper) "tpu-mapper" "emulation/tpu-mapper.el" |
| 28144 | ;;;;;; (20566 63671 243798 0)) | 28151 | ;;;;;; (20566 46324 490624 377000)) |
| 28145 | ;;; Generated autoloads from emulation/tpu-mapper.el | 28152 | ;;; Generated autoloads from emulation/tpu-mapper.el |
| 28146 | 28153 | ||
| 28147 | (autoload 'tpu-mapper "tpu-mapper" "\ | 28154 | (autoload 'tpu-mapper "tpu-mapper" "\ |
| @@ -28175,8 +28182,8 @@ your local X guru can try to figure out why the key is being ignored. | |||
| 28175 | 28182 | ||
| 28176 | ;;;*** | 28183 | ;;;*** |
| 28177 | 28184 | ||
| 28178 | ;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (20355 10021 | 28185 | ;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (20533 50312 |
| 28179 | ;;;;;; 546955 0)) | 28186 | ;;;;;; 678915 0)) |
| 28180 | ;;; Generated autoloads from emacs-lisp/tq.el | 28187 | ;;; Generated autoloads from emacs-lisp/tq.el |
| 28181 | 28188 | ||
| 28182 | (autoload 'tq-create "tq" "\ | 28189 | (autoload 'tq-create "tq" "\ |
| @@ -28189,16 +28196,17 @@ to a tcp server on another machine. | |||
| 28189 | 28196 | ||
| 28190 | ;;;*** | 28197 | ;;;*** |
| 28191 | 28198 | ||
| 28192 | ;;;### (autoloads (trace-function-background trace-function trace-buffer) | 28199 | ;;;### (autoloads (trace-function-background trace-function-foreground |
| 28193 | ;;;;;; "trace" "emacs-lisp/trace.el" (20485 15269 390836 0)) | 28200 | ;;;;;; trace-buffer) "trace" "emacs-lisp/trace.el" (20652 52617 |
| 28201 | ;;;;;; 313760 0)) | ||
| 28194 | ;;; Generated autoloads from emacs-lisp/trace.el | 28202 | ;;; Generated autoloads from emacs-lisp/trace.el |
| 28195 | 28203 | ||
| 28196 | (defvar trace-buffer (purecopy "*trace-output*") "\ | 28204 | (defvar trace-buffer "*trace-output*" "\ |
| 28197 | Trace output will by default go to that buffer.") | 28205 | Trace output will by default go to that buffer.") |
| 28198 | 28206 | ||
| 28199 | (custom-autoload 'trace-buffer "trace" t) | 28207 | (custom-autoload 'trace-buffer "trace" t) |
| 28200 | 28208 | ||
| 28201 | (autoload 'trace-function "trace" "\ | 28209 | (autoload 'trace-function-foreground "trace" "\ |
| 28202 | Traces FUNCTION with trace output going to BUFFER. | 28210 | Traces FUNCTION with trace output going to BUFFER. |
| 28203 | For every call of FUNCTION Lisp-style trace messages that display argument | 28211 | For every call of FUNCTION Lisp-style trace messages that display argument |
| 28204 | and return values will be inserted into BUFFER. This function generates the | 28212 | and return values will be inserted into BUFFER. This function generates the |
| @@ -28207,7 +28215,7 @@ there might be!! The trace BUFFER will popup whenever FUNCTION is called. | |||
| 28207 | Do not use this to trace functions that switch buffers or do any other | 28215 | Do not use this to trace functions that switch buffers or do any other |
| 28208 | display oriented stuff, use `trace-function-background' instead. | 28216 | display oriented stuff, use `trace-function-background' instead. |
| 28209 | 28217 | ||
| 28210 | \(fn FUNCTION &optional BUFFER)" t nil) | 28218 | \(fn FUNCTION &optional BUFFER CONTEXT)" t nil) |
| 28211 | 28219 | ||
| 28212 | (autoload 'trace-function-background "trace" "\ | 28220 | (autoload 'trace-function-background "trace" "\ |
| 28213 | Traces FUNCTION with trace output going quietly to BUFFER. | 28221 | Traces FUNCTION with trace output going quietly to BUFFER. |
| @@ -28220,14 +28228,16 @@ the window or buffer configuration. | |||
| 28220 | 28228 | ||
| 28221 | BUFFER defaults to `trace-buffer'. | 28229 | BUFFER defaults to `trace-buffer'. |
| 28222 | 28230 | ||
| 28223 | \(fn FUNCTION &optional BUFFER)" t nil) | 28231 | \(fn FUNCTION &optional BUFFER CONTEXT)" t nil) |
| 28232 | |||
| 28233 | (defalias 'trace-function 'trace-function-foreground) | ||
| 28224 | 28234 | ||
| 28225 | ;;;*** | 28235 | ;;;*** |
| 28226 | 28236 | ||
| 28227 | ;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion | 28237 | ;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion |
| 28228 | ;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers | 28238 | ;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers |
| 28229 | ;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp" | 28239 | ;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp" |
| 28230 | ;;;;;; "net/tramp.el" (20597 19239 817699 0)) | 28240 | ;;;;;; "net/tramp.el" (20652 52617 313760 0)) |
| 28231 | ;;; Generated autoloads from net/tramp.el | 28241 | ;;; Generated autoloads from net/tramp.el |
| 28232 | 28242 | ||
| 28233 | (defvar tramp-mode t "\ | 28243 | (defvar tramp-mode t "\ |
| @@ -28360,7 +28370,7 @@ Discard Tramp from loading remote files. | |||
| 28360 | ;;;*** | 28370 | ;;;*** |
| 28361 | 28371 | ||
| 28362 | ;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el" | 28372 | ;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el" |
| 28363 | ;;;;;; (20438 24016 194668 0)) | 28373 | ;;;;;; (20533 50312 678915 0)) |
| 28364 | ;;; Generated autoloads from net/tramp-ftp.el | 28374 | ;;; Generated autoloads from net/tramp-ftp.el |
| 28365 | 28375 | ||
| 28366 | (autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\ | 28376 | (autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\ |
| @@ -28371,7 +28381,7 @@ Discard Tramp from loading remote files. | |||
| 28371 | ;;;*** | 28381 | ;;;*** |
| 28372 | 28382 | ||
| 28373 | ;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20584 | 28383 | ;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20584 |
| 28374 | ;;;;;; 7212 455152 0)) | 28384 | ;;;;;; 355 183605 0)) |
| 28375 | ;;; Generated autoloads from tutorial.el | 28385 | ;;; Generated autoloads from tutorial.el |
| 28376 | 28386 | ||
| 28377 | (autoload 'help-with-tutorial "tutorial" "\ | 28387 | (autoload 'help-with-tutorial "tutorial" "\ |
| @@ -28396,7 +28406,7 @@ resumed later. | |||
| 28396 | ;;;*** | 28406 | ;;;*** |
| 28397 | 28407 | ||
| 28398 | ;;;### (autoloads (tai-viet-composition-function) "tv-util" "language/tv-util.el" | 28408 | ;;;### (autoloads (tai-viet-composition-function) "tv-util" "language/tv-util.el" |
| 28399 | ;;;;;; (20355 10021 546955 0)) | 28409 | ;;;;;; (20533 50312 678915 0)) |
| 28400 | ;;; Generated autoloads from language/tv-util.el | 28410 | ;;; Generated autoloads from language/tv-util.el |
| 28401 | 28411 | ||
| 28402 | (autoload 'tai-viet-composition-function "tv-util" "\ | 28412 | (autoload 'tai-viet-composition-function "tv-util" "\ |
| @@ -28407,7 +28417,7 @@ resumed later. | |||
| 28407 | ;;;*** | 28417 | ;;;*** |
| 28408 | 28418 | ||
| 28409 | ;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column" | 28419 | ;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column" |
| 28410 | ;;;;;; "textmodes/two-column.el" (20566 63671 243798 0)) | 28420 | ;;;;;; "textmodes/two-column.el" (20566 46502 658633 677000)) |
| 28411 | ;;; Generated autoloads from textmodes/two-column.el | 28421 | ;;; Generated autoloads from textmodes/two-column.el |
| 28412 | (autoload '2C-command "two-column" () t 'keymap) | 28422 | (autoload '2C-command "two-column" () t 'keymap) |
| 28413 | (global-set-key "\C-x6" '2C-command) | 28423 | (global-set-key "\C-x6" '2C-command) |
| @@ -28456,7 +28466,7 @@ First column's text sSs Second column's text | |||
| 28456 | 28466 | ||
| 28457 | ;;;### (autoloads (type-break-guesstimate-keystroke-threshold type-break-statistics | 28467 | ;;;### (autoloads (type-break-guesstimate-keystroke-threshold type-break-statistics |
| 28458 | ;;;;;; type-break type-break-mode) "type-break" "type-break.el" | 28468 | ;;;;;; type-break type-break-mode) "type-break" "type-break.el" |
| 28459 | ;;;;;; (20582 12914 894781 0)) | 28469 | ;;;;;; (20584 355 183605 0)) |
| 28460 | ;;; Generated autoloads from type-break.el | 28470 | ;;; Generated autoloads from type-break.el |
| 28461 | 28471 | ||
| 28462 | (defvar type-break-mode nil "\ | 28472 | (defvar type-break-mode nil "\ |
| @@ -28588,8 +28598,8 @@ FRAC should be the inverse of the fractional value; for example, a value of | |||
| 28588 | 28598 | ||
| 28589 | ;;;*** | 28599 | ;;;*** |
| 28590 | 28600 | ||
| 28591 | ;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (20566 63671 | 28601 | ;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (20566 46709 |
| 28592 | ;;;;;; 243798 0)) | 28602 | ;;;;;; 606641 427000)) |
| 28593 | ;;; Generated autoloads from mail/uce.el | 28603 | ;;; Generated autoloads from mail/uce.el |
| 28594 | 28604 | ||
| 28595 | (autoload 'uce-reply-to-uce "uce" "\ | 28605 | (autoload 'uce-reply-to-uce "uce" "\ |
| @@ -28607,7 +28617,7 @@ You might need to set `uce-mail-reader' before using this. | |||
| 28607 | ;;;;;; ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string | 28617 | ;;;;;; ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string |
| 28608 | ;;;;;; ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region | 28618 | ;;;;;; ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region |
| 28609 | ;;;;;; ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize" | 28619 | ;;;;;; ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize" |
| 28610 | ;;;;;; "international/ucs-normalize.el" (20476 31768 298871 0)) | 28620 | ;;;;;; "international/ucs-normalize.el" (20533 50312 678915 0)) |
| 28611 | ;;; Generated autoloads from international/ucs-normalize.el | 28621 | ;;; Generated autoloads from international/ucs-normalize.el |
| 28612 | 28622 | ||
| 28613 | (autoload 'ucs-normalize-NFD-region "ucs-normalize" "\ | 28623 | (autoload 'ucs-normalize-NFD-region "ucs-normalize" "\ |
| @@ -28673,7 +28683,7 @@ Normalize the string STR by the Unicode NFC and Mac OS's HFS Plus. | |||
| 28673 | ;;;*** | 28683 | ;;;*** |
| 28674 | 28684 | ||
| 28675 | ;;;### (autoloads (ununderline-region underline-region) "underline" | 28685 | ;;;### (autoloads (ununderline-region underline-region) "underline" |
| 28676 | ;;;;;; "textmodes/underline.el" (20355 10021 546955 0)) | 28686 | ;;;;;; "textmodes/underline.el" (20533 50312 678915 0)) |
| 28677 | ;;; Generated autoloads from textmodes/underline.el | 28687 | ;;; Generated autoloads from textmodes/underline.el |
| 28678 | 28688 | ||
| 28679 | (autoload 'underline-region "underline" "\ | 28689 | (autoload 'underline-region "underline" "\ |
| @@ -28694,7 +28704,7 @@ which specify the range to operate on. | |||
| 28694 | ;;;*** | 28704 | ;;;*** |
| 28695 | 28705 | ||
| 28696 | ;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el" | 28706 | ;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el" |
| 28697 | ;;;;;; (20369 14251 85829 0)) | 28707 | ;;;;;; (20533 50312 678915 0)) |
| 28698 | ;;; Generated autoloads from mail/unrmail.el | 28708 | ;;; Generated autoloads from mail/unrmail.el |
| 28699 | 28709 | ||
| 28700 | (autoload 'batch-unrmail "unrmail" "\ | 28710 | (autoload 'batch-unrmail "unrmail" "\ |
| @@ -28713,8 +28723,8 @@ Convert old-style Rmail Babyl file FILE to system inbox format file TO-FILE. | |||
| 28713 | 28723 | ||
| 28714 | ;;;*** | 28724 | ;;;*** |
| 28715 | 28725 | ||
| 28716 | ;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (20355 | 28726 | ;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (20533 |
| 28717 | ;;;;;; 10021 546955 0)) | 28727 | ;;;;;; 50312 678915 0)) |
| 28718 | ;;; Generated autoloads from emacs-lisp/unsafep.el | 28728 | ;;; Generated autoloads from emacs-lisp/unsafep.el |
| 28719 | 28729 | ||
| 28720 | (autoload 'unsafep "unsafep" "\ | 28730 | (autoload 'unsafep "unsafep" "\ |
| @@ -28727,7 +28737,7 @@ UNSAFEP-VARS is a list of symbols with local bindings. | |||
| 28727 | ;;;*** | 28737 | ;;;*** |
| 28728 | 28738 | ||
| 28729 | ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url" | 28739 | ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url" |
| 28730 | ;;;;;; "url/url.el" (20601 16294 451653 0)) | 28740 | ;;;;;; "url/url.el" (20601 13717 868555 169000)) |
| 28731 | ;;; Generated autoloads from url/url.el | 28741 | ;;; Generated autoloads from url/url.el |
| 28732 | 28742 | ||
| 28733 | (autoload 'url-retrieve "url" "\ | 28743 | (autoload 'url-retrieve "url" "\ |
| @@ -28775,7 +28785,7 @@ no further processing). URL is either a string or a parsed URL. | |||
| 28775 | ;;;*** | 28785 | ;;;*** |
| 28776 | 28786 | ||
| 28777 | ;;;### (autoloads (url-register-auth-scheme url-get-authentication) | 28787 | ;;;### (autoloads (url-register-auth-scheme url-get-authentication) |
| 28778 | ;;;;;; "url-auth" "url/url-auth.el" (20355 10021 546955 0)) | 28788 | ;;;;;; "url-auth" "url/url-auth.el" (20533 50312 678915 0)) |
| 28779 | ;;; Generated autoloads from url/url-auth.el | 28789 | ;;; Generated autoloads from url/url-auth.el |
| 28780 | 28790 | ||
| 28781 | (autoload 'url-get-authentication "url-auth" "\ | 28791 | (autoload 'url-get-authentication "url-auth" "\ |
| @@ -28817,7 +28827,7 @@ RATING a rating between 1 and 10 of the strength of the authentication. | |||
| 28817 | ;;;*** | 28827 | ;;;*** |
| 28818 | 28828 | ||
| 28819 | ;;;### (autoloads (url-cache-extract url-is-cached url-store-in-cache) | 28829 | ;;;### (autoloads (url-cache-extract url-is-cached url-store-in-cache) |
| 28820 | ;;;;;; "url-cache" "url/url-cache.el" (20355 10021 546955 0)) | 28830 | ;;;;;; "url-cache" "url/url-cache.el" (20533 50312 678915 0)) |
| 28821 | ;;; Generated autoloads from url/url-cache.el | 28831 | ;;; Generated autoloads from url/url-cache.el |
| 28822 | 28832 | ||
| 28823 | (autoload 'url-store-in-cache "url-cache" "\ | 28833 | (autoload 'url-store-in-cache "url-cache" "\ |
| @@ -28838,8 +28848,8 @@ Extract FNAM from the local disk cache. | |||
| 28838 | 28848 | ||
| 28839 | ;;;*** | 28849 | ;;;*** |
| 28840 | 28850 | ||
| 28841 | ;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (20355 10021 | 28851 | ;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (20533 50312 |
| 28842 | ;;;;;; 546955 0)) | 28852 | ;;;;;; 678915 0)) |
| 28843 | ;;; Generated autoloads from url/url-cid.el | 28853 | ;;; Generated autoloads from url/url-cid.el |
| 28844 | 28854 | ||
| 28845 | (autoload 'url-cid "url-cid" "\ | 28855 | (autoload 'url-cid "url-cid" "\ |
| @@ -28850,7 +28860,7 @@ Extract FNAM from the local disk cache. | |||
| 28850 | ;;;*** | 28860 | ;;;*** |
| 28851 | 28861 | ||
| 28852 | ;;;### (autoloads (url-dav-vc-registered url-dav-request url-dav-supported-p) | 28862 | ;;;### (autoloads (url-dav-vc-registered url-dav-request url-dav-supported-p) |
| 28853 | ;;;;;; "url-dav" "url/url-dav.el" (20501 3499 284800 0)) | 28863 | ;;;;;; "url-dav" "url/url-dav.el" (20533 50312 678915 0)) |
| 28854 | ;;; Generated autoloads from url/url-dav.el | 28864 | ;;; Generated autoloads from url/url-dav.el |
| 28855 | 28865 | ||
| 28856 | (autoload 'url-dav-supported-p "url-dav" "\ | 28866 | (autoload 'url-dav-supported-p "url-dav" "\ |
| @@ -28884,8 +28894,8 @@ added to this list, so most requests can just pass in nil. | |||
| 28884 | 28894 | ||
| 28885 | ;;;*** | 28895 | ;;;*** |
| 28886 | 28896 | ||
| 28887 | ;;;### (autoloads (url-file) "url-file" "url/url-file.el" (20602 | 28897 | ;;;### (autoloads (url-file) "url-file" "url/url-file.el" (20601 |
| 28888 | ;;;;;; 37158 321420 0)) | 28898 | ;;;;;; 54760 265680 0)) |
| 28889 | ;;; Generated autoloads from url/url-file.el | 28899 | ;;; Generated autoloads from url/url-file.el |
| 28890 | 28900 | ||
| 28891 | (autoload 'url-file "url-file" "\ | 28901 | (autoload 'url-file "url-file" "\ |
| @@ -28896,7 +28906,7 @@ Handle file: and ftp: URLs. | |||
| 28896 | ;;;*** | 28906 | ;;;*** |
| 28897 | 28907 | ||
| 28898 | ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw" | 28908 | ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw" |
| 28899 | ;;;;;; "url/url-gw.el" (20478 3673 653810 0)) | 28909 | ;;;;;; "url/url-gw.el" (20533 50312 678915 0)) |
| 28900 | ;;; Generated autoloads from url/url-gw.el | 28910 | ;;; Generated autoloads from url/url-gw.el |
| 28901 | 28911 | ||
| 28902 | (autoload 'url-gateway-nslookup-host "url-gw" "\ | 28912 | (autoload 'url-gateway-nslookup-host "url-gw" "\ |
| @@ -28916,7 +28926,7 @@ Might do a non-blocking connection; use `process-status' to check. | |||
| 28916 | 28926 | ||
| 28917 | ;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file | 28927 | ;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file |
| 28918 | ;;;;;; url-file-handler url-handler-mode) "url-handlers" "url/url-handlers.el" | 28928 | ;;;;;; url-file-handler url-handler-mode) "url-handlers" "url/url-handlers.el" |
| 28919 | ;;;;;; (20584 7212 455152 0)) | 28929 | ;;;;;; (20584 355 183605 0)) |
| 28920 | ;;; Generated autoloads from url/url-handlers.el | 28930 | ;;; Generated autoloads from url/url-handlers.el |
| 28921 | 28931 | ||
| 28922 | (defvar url-handler-mode nil "\ | 28932 | (defvar url-handler-mode nil "\ |
| @@ -28970,8 +28980,8 @@ accessible. | |||
| 28970 | 28980 | ||
| 28971 | ;;;*** | 28981 | ;;;*** |
| 28972 | 28982 | ||
| 28973 | ;;;### (autoloads nil "url-http" "url/url-http.el" (20601 16294 451653 | 28983 | ;;;### (autoloads nil "url-http" "url/url-http.el" (20601 13773 988556 |
| 28974 | ;;;;;; 0)) | 28984 | ;;;;;; 549000)) |
| 28975 | ;;; Generated autoloads from url/url-http.el | 28985 | ;;; Generated autoloads from url/url-http.el |
| 28976 | (autoload 'url-default-expander "url-expand") | 28986 | (autoload 'url-default-expander "url-expand") |
| 28977 | 28987 | ||
| @@ -28983,8 +28993,8 @@ accessible. | |||
| 28983 | 28993 | ||
| 28984 | ;;;*** | 28994 | ;;;*** |
| 28985 | 28995 | ||
| 28986 | ;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (20355 10021 | 28996 | ;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (20533 50312 |
| 28987 | ;;;;;; 546955 0)) | 28997 | ;;;;;; 678915 0)) |
| 28988 | ;;; Generated autoloads from url/url-irc.el | 28998 | ;;; Generated autoloads from url/url-irc.el |
| 28989 | 28999 | ||
| 28990 | (autoload 'url-irc "url-irc" "\ | 29000 | (autoload 'url-irc "url-irc" "\ |
| @@ -28994,8 +29004,8 @@ accessible. | |||
| 28994 | 29004 | ||
| 28995 | ;;;*** | 29005 | ;;;*** |
| 28996 | 29006 | ||
| 28997 | ;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (20355 | 29007 | ;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (20533 |
| 28998 | ;;;;;; 10021 546955 0)) | 29008 | ;;;;;; 50312 678915 0)) |
| 28999 | ;;; Generated autoloads from url/url-ldap.el | 29009 | ;;; Generated autoloads from url/url-ldap.el |
| 29000 | 29010 | ||
| 29001 | (autoload 'url-ldap "url-ldap" "\ | 29011 | (autoload 'url-ldap "url-ldap" "\ |
| @@ -29009,7 +29019,7 @@ URL can be a URL string, or a URL vector of the type returned by | |||
| 29009 | ;;;*** | 29019 | ;;;*** |
| 29010 | 29020 | ||
| 29011 | ;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el" | 29021 | ;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el" |
| 29012 | ;;;;;; (20355 10021 546955 0)) | 29022 | ;;;;;; (20533 50312 678915 0)) |
| 29013 | ;;; Generated autoloads from url/url-mailto.el | 29023 | ;;; Generated autoloads from url/url-mailto.el |
| 29014 | 29024 | ||
| 29015 | (autoload 'url-mail "url-mailto" "\ | 29025 | (autoload 'url-mail "url-mailto" "\ |
| @@ -29025,8 +29035,8 @@ Handle the mailto: URL syntax. | |||
| 29025 | ;;;*** | 29035 | ;;;*** |
| 29026 | 29036 | ||
| 29027 | ;;;### (autoloads (url-data url-generic-emulator-loader url-info | 29037 | ;;;### (autoloads (url-data url-generic-emulator-loader url-info |
| 29028 | ;;;;;; url-man) "url-misc" "url/url-misc.el" (20478 3673 653810 | 29038 | ;;;;;; url-man) "url-misc" "url/url-misc.el" (20668 17640 189346 |
| 29029 | ;;;;;; 0)) | 29039 | ;;;;;; 887000)) |
| 29030 | ;;; Generated autoloads from url/url-misc.el | 29040 | ;;; Generated autoloads from url/url-misc.el |
| 29031 | 29041 | ||
| 29032 | (autoload 'url-man "url-misc" "\ | 29042 | (autoload 'url-man "url-misc" "\ |
| @@ -29058,7 +29068,7 @@ Fetch a data URL (RFC 2397). | |||
| 29058 | ;;;*** | 29068 | ;;;*** |
| 29059 | 29069 | ||
| 29060 | ;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el" | 29070 | ;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el" |
| 29061 | ;;;;;; (20355 10021 546955 0)) | 29071 | ;;;;;; (20533 50312 678915 0)) |
| 29062 | ;;; Generated autoloads from url/url-news.el | 29072 | ;;; Generated autoloads from url/url-news.el |
| 29063 | 29073 | ||
| 29064 | (autoload 'url-news "url-news" "\ | 29074 | (autoload 'url-news "url-news" "\ |
| @@ -29075,7 +29085,7 @@ Fetch a data URL (RFC 2397). | |||
| 29075 | 29085 | ||
| 29076 | ;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable | 29086 | ;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable |
| 29077 | ;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el" | 29087 | ;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el" |
| 29078 | ;;;;;; (20355 10021 546955 0)) | 29088 | ;;;;;; (20533 50312 678915 0)) |
| 29079 | ;;; Generated autoloads from url/url-ns.el | 29089 | ;;; Generated autoloads from url/url-ns.el |
| 29080 | 29090 | ||
| 29081 | (autoload 'isPlainHostName "url-ns" "\ | 29091 | (autoload 'isPlainHostName "url-ns" "\ |
| @@ -29116,7 +29126,7 @@ Fetch a data URL (RFC 2397). | |||
| 29116 | ;;;*** | 29126 | ;;;*** |
| 29117 | 29127 | ||
| 29118 | ;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse" | 29128 | ;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse" |
| 29119 | ;;;;;; "url/url-parse.el" (20577 33959 40183 0)) | 29129 | ;;;;;; "url/url-parse.el" (20648 29678 511980 0)) |
| 29120 | ;;; Generated autoloads from url/url-parse.el | 29130 | ;;; Generated autoloads from url/url-parse.el |
| 29121 | 29131 | ||
| 29122 | (autoload 'url-recreate-url "url-parse" "\ | 29132 | (autoload 'url-recreate-url "url-parse" "\ |
| @@ -29168,7 +29178,7 @@ parses to | |||
| 29168 | ;;;*** | 29178 | ;;;*** |
| 29169 | 29179 | ||
| 29170 | ;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el" | 29180 | ;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el" |
| 29171 | ;;;;;; (20478 3673 653810 0)) | 29181 | ;;;;;; (20533 50312 678915 0)) |
| 29172 | ;;; Generated autoloads from url/url-privacy.el | 29182 | ;;; Generated autoloads from url/url-privacy.el |
| 29173 | 29183 | ||
| 29174 | (autoload 'url-setup-privacy-info "url-privacy" "\ | 29184 | (autoload 'url-setup-privacy-info "url-privacy" "\ |
| @@ -29179,7 +29189,7 @@ Setup variables that expose info about you and your system. | |||
| 29179 | ;;;*** | 29189 | ;;;*** |
| 29180 | 29190 | ||
| 29181 | ;;;### (autoloads (url-queue-retrieve) "url-queue" "url/url-queue.el" | 29191 | ;;;### (autoloads (url-queue-retrieve) "url-queue" "url/url-queue.el" |
| 29182 | ;;;;;; (20478 3673 653810 0)) | 29192 | ;;;;;; (20533 50312 678915 0)) |
| 29183 | ;;; Generated autoloads from url/url-queue.el | 29193 | ;;; Generated autoloads from url/url-queue.el |
| 29184 | 29194 | ||
| 29185 | (autoload 'url-queue-retrieve "url-queue" "\ | 29195 | (autoload 'url-queue-retrieve "url-queue" "\ |
| @@ -29200,7 +29210,7 @@ The variable `url-queue-timeout' sets a timeout. | |||
| 29200 | ;;;;;; url-eat-trailing-space url-get-normalized-date url-lazy-message | 29210 | ;;;;;; url-eat-trailing-space url-get-normalized-date url-lazy-message |
| 29201 | ;;;;;; url-normalize-url url-insert-entities-in-string url-parse-args | 29211 | ;;;;;; url-normalize-url url-insert-entities-in-string url-parse-args |
| 29202 | ;;;;;; url-debug url-debug) "url-util" "url/url-util.el" (20584 | 29212 | ;;;;;; url-debug url-debug) "url-util" "url/url-util.el" (20584 |
| 29203 | ;;;;;; 7212 455152 0)) | 29213 | ;;;;;; 355 183605 0)) |
| 29204 | ;;; Generated autoloads from url/url-util.el | 29214 | ;;; Generated autoloads from url/url-util.el |
| 29205 | 29215 | ||
| 29206 | (defvar url-debug nil "\ | 29216 | (defvar url-debug nil "\ |
| @@ -29374,7 +29384,7 @@ This uses `url-current-object', set locally to the buffer. | |||
| 29374 | ;;;*** | 29384 | ;;;*** |
| 29375 | 29385 | ||
| 29376 | ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) | 29386 | ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) |
| 29377 | ;;;;;; "userlock" "userlock.el" (20555 6946 859539 0)) | 29387 | ;;;;;; "userlock" "userlock.el" (20553 51521 311307 389000)) |
| 29378 | ;;; Generated autoloads from userlock.el | 29388 | ;;; Generated autoloads from userlock.el |
| 29379 | 29389 | ||
| 29380 | (autoload 'ask-user-about-lock "userlock" "\ | 29390 | (autoload 'ask-user-about-lock "userlock" "\ |
| @@ -29404,7 +29414,7 @@ The buffer in question is current when this function is called. | |||
| 29404 | 29414 | ||
| 29405 | ;;;### (autoloads (utf-7-imap-pre-write-conversion utf-7-pre-write-conversion | 29415 | ;;;### (autoloads (utf-7-imap-pre-write-conversion utf-7-pre-write-conversion |
| 29406 | ;;;;;; utf-7-imap-post-read-conversion utf-7-post-read-conversion) | 29416 | ;;;;;; utf-7-imap-post-read-conversion utf-7-post-read-conversion) |
| 29407 | ;;;;;; "utf-7" "international/utf-7.el" (20355 10021 546955 0)) | 29417 | ;;;;;; "utf-7" "international/utf-7.el" (20533 50312 678915 0)) |
| 29408 | ;;; Generated autoloads from international/utf-7.el | 29418 | ;;; Generated autoloads from international/utf-7.el |
| 29409 | 29419 | ||
| 29410 | (autoload 'utf-7-post-read-conversion "utf-7" "\ | 29420 | (autoload 'utf-7-post-read-conversion "utf-7" "\ |
| @@ -29429,8 +29439,8 @@ The buffer in question is current when this function is called. | |||
| 29429 | 29439 | ||
| 29430 | ;;;*** | 29440 | ;;;*** |
| 29431 | 29441 | ||
| 29432 | ;;;### (autoloads (utf7-encode) "utf7" "gnus/utf7.el" (20355 10021 | 29442 | ;;;### (autoloads (utf7-encode) "utf7" "gnus/utf7.el" (20533 50312 |
| 29433 | ;;;;;; 546955 0)) | 29443 | ;;;;;; 678915 0)) |
| 29434 | ;;; Generated autoloads from gnus/utf7.el | 29444 | ;;; Generated autoloads from gnus/utf7.el |
| 29435 | 29445 | ||
| 29436 | (autoload 'utf7-encode "utf7" "\ | 29446 | (autoload 'utf7-encode "utf7" "\ |
| @@ -29442,7 +29452,7 @@ Encode UTF-7 STRING. Use IMAP modification if FOR-IMAP is non-nil. | |||
| 29442 | 29452 | ||
| 29443 | ;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal | 29453 | ;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal |
| 29444 | ;;;;;; uudecode-decode-region-external) "uudecode" "mail/uudecode.el" | 29454 | ;;;;;; uudecode-decode-region-external) "uudecode" "mail/uudecode.el" |
| 29445 | ;;;;;; (20355 10021 546955 0)) | 29455 | ;;;;;; (20533 50312 678915 0)) |
| 29446 | ;;; Generated autoloads from mail/uudecode.el | 29456 | ;;; Generated autoloads from mail/uudecode.el |
| 29447 | 29457 | ||
| 29448 | (autoload 'uudecode-decode-region-external "uudecode" "\ | 29458 | (autoload 'uudecode-decode-region-external "uudecode" "\ |
| @@ -29472,8 +29482,8 @@ If FILE-NAME is non-nil, save the result to FILE-NAME. | |||
| 29472 | ;;;;;; vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers | 29482 | ;;;;;; vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers |
| 29473 | ;;;;;; vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff | 29483 | ;;;;;; vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff |
| 29474 | ;;;;;; vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook | 29484 | ;;;;;; vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook |
| 29475 | ;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20611 | 29485 | ;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20668 |
| 29476 | ;;;;;; 52135 109136 0)) | 29486 | ;;;;;; 15033 902481 0)) |
| 29477 | ;;; Generated autoloads from vc/vc.el | 29487 | ;;; Generated autoloads from vc/vc.el |
| 29478 | 29488 | ||
| 29479 | (defvar vc-checkout-hook nil "\ | 29489 | (defvar vc-checkout-hook nil "\ |
| @@ -29719,11 +29729,15 @@ backend to NEW-BACKEND, and unregister FILE from the current backend. | |||
| 29719 | 29729 | ||
| 29720 | (autoload 'vc-delete-file "vc" "\ | 29730 | (autoload 'vc-delete-file "vc" "\ |
| 29721 | Delete file and mark it as such in the version control system. | 29731 | Delete file and mark it as such in the version control system. |
| 29732 | If called interactively, read FILE, defaulting to the current | ||
| 29733 | buffer's file name if it's under version control. | ||
| 29722 | 29734 | ||
| 29723 | \(fn FILE)" t nil) | 29735 | \(fn FILE)" t nil) |
| 29724 | 29736 | ||
| 29725 | (autoload 'vc-rename-file "vc" "\ | 29737 | (autoload 'vc-rename-file "vc" "\ |
| 29726 | Rename file OLD to NEW in both work area and repository. | 29738 | Rename file OLD to NEW in both work area and repository. |
| 29739 | If called interactively, read OLD and NEW, defaulting OLD to the | ||
| 29740 | current buffer's file name if it's under version control. | ||
| 29727 | 29741 | ||
| 29728 | \(fn OLD NEW)" t nil) | 29742 | \(fn OLD NEW)" t nil) |
| 29729 | 29743 | ||
| @@ -29751,7 +29765,7 @@ Return the branch part of a revision number REV. | |||
| 29751 | ;;;*** | 29765 | ;;;*** |
| 29752 | 29766 | ||
| 29753 | ;;;### (autoloads (vc-annotate) "vc-annotate" "vc/vc-annotate.el" | 29767 | ;;;### (autoloads (vc-annotate) "vc-annotate" "vc/vc-annotate.el" |
| 29754 | ;;;;;; (20478 3673 653810 0)) | 29768 | ;;;;;; (20533 50312 678915 0)) |
| 29755 | ;;; Generated autoloads from vc/vc-annotate.el | 29769 | ;;; Generated autoloads from vc/vc-annotate.el |
| 29756 | 29770 | ||
| 29757 | (autoload 'vc-annotate "vc-annotate" "\ | 29771 | (autoload 'vc-annotate "vc-annotate" "\ |
| @@ -29788,7 +29802,7 @@ mode-specific menu. `vc-annotate-color-map' and | |||
| 29788 | 29802 | ||
| 29789 | ;;;*** | 29803 | ;;;*** |
| 29790 | 29804 | ||
| 29791 | ;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (20478 3673 653810 | 29805 | ;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (20533 50312 678915 |
| 29792 | ;;;;;; 0)) | 29806 | ;;;;;; 0)) |
| 29793 | ;;; Generated autoloads from vc/vc-arch.el | 29807 | ;;; Generated autoloads from vc/vc-arch.el |
| 29794 | (defun vc-arch-registered (file) | 29808 | (defun vc-arch-registered (file) |
| @@ -29799,8 +29813,7 @@ mode-specific menu. `vc-annotate-color-map' and | |||
| 29799 | 29813 | ||
| 29800 | ;;;*** | 29814 | ;;;*** |
| 29801 | 29815 | ||
| 29802 | ;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20584 7212 455152 | 29816 | ;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20584 355 183605 0)) |
| 29803 | ;;;;;; 0)) | ||
| 29804 | ;;; Generated autoloads from vc/vc-bzr.el | 29817 | ;;; Generated autoloads from vc/vc-bzr.el |
| 29805 | 29818 | ||
| 29806 | (defconst vc-bzr-admin-dirname ".bzr" "\ | 29819 | (defconst vc-bzr-admin-dirname ".bzr" "\ |
| @@ -29816,7 +29829,7 @@ Name of the format file in a .bzr directory.") | |||
| 29816 | 29829 | ||
| 29817 | ;;;*** | 29830 | ;;;*** |
| 29818 | 29831 | ||
| 29819 | ;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20542 46798 773957 | 29832 | ;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20542 54621 56606 |
| 29820 | ;;;;;; 0)) | 29833 | ;;;;;; 0)) |
| 29821 | ;;; Generated autoloads from vc/vc-cvs.el | 29834 | ;;; Generated autoloads from vc/vc-cvs.el |
| 29822 | (defun vc-cvs-registered (f) | 29835 | (defun vc-cvs-registered (f) |
| @@ -29828,10 +29841,49 @@ Name of the format file in a .bzr directory.") | |||
| 29828 | 29841 | ||
| 29829 | ;;;*** | 29842 | ;;;*** |
| 29830 | 29843 | ||
| 29831 | ;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (20522 9637 465791 | 29844 | ;;;### (autoloads (vc-dir vc-dir-mode) "vc-dir" "vc/vc-dir.el" (20664 |
| 29832 | ;;;;;; 0)) | 29845 | ;;;;;; 5610 38100 0)) |
| 29833 | ;;; Generated autoloads from vc/vc-dir.el | 29846 | ;;; Generated autoloads from vc/vc-dir.el |
| 29834 | 29847 | ||
| 29848 | (autoload 'vc-dir-mode "vc-dir" "\ | ||
| 29849 | Major mode for VC directory buffers. | ||
| 29850 | Marking/Unmarking key bindings and actions: | ||
| 29851 | m - mark a file/directory | ||
| 29852 | - if the region is active, mark all the files in region. | ||
| 29853 | Restrictions: - a file cannot be marked if any parent directory is marked | ||
| 29854 | - a directory cannot be marked if any child file or | ||
| 29855 | directory is marked | ||
| 29856 | u - unmark a file/directory | ||
| 29857 | - if the region is active, unmark all the files in region. | ||
| 29858 | M - if the cursor is on a file: mark all the files with the same state as | ||
| 29859 | the current file | ||
| 29860 | - if the cursor is on a directory: mark all child files | ||
| 29861 | - with a prefix argument: mark all files | ||
| 29862 | U - if the cursor is on a file: unmark all the files with the same state | ||
| 29863 | as the current file | ||
| 29864 | - if the cursor is on a directory: unmark all child files | ||
| 29865 | - with a prefix argument: unmark all files | ||
| 29866 | mouse-2 - toggles the mark state | ||
| 29867 | |||
| 29868 | VC commands | ||
| 29869 | VC commands in the `C-x v' prefix can be used. | ||
| 29870 | VC commands act on the marked entries. If nothing is marked, VC | ||
| 29871 | commands act on the current entry. | ||
| 29872 | |||
| 29873 | Search & Replace | ||
| 29874 | S - searches the marked files | ||
| 29875 | Q - does a query replace on the marked files | ||
| 29876 | M-s a C-s - does an isearch on the marked files | ||
| 29877 | M-s a C-M-s - does a regexp isearch on the marked files | ||
| 29878 | If nothing is marked, these commands act on the current entry. | ||
| 29879 | When a directory is current or marked, the Search & Replace | ||
| 29880 | commands act on the child files of that directory that are displayed in | ||
| 29881 | the *vc-dir* buffer. | ||
| 29882 | |||
| 29883 | \\{vc-dir-mode-map} | ||
| 29884 | |||
| 29885 | \(fn)" t nil) | ||
| 29886 | |||
| 29835 | (autoload 'vc-dir "vc-dir" "\ | 29887 | (autoload 'vc-dir "vc-dir" "\ |
| 29836 | Show the VC status for \"interesting\" files in and below DIR. | 29888 | Show the VC status for \"interesting\" files in and below DIR. |
| 29837 | This allows you to mark files and perform VC operations on them. | 29889 | This allows you to mark files and perform VC operations on them. |
| @@ -29854,7 +29906,7 @@ These are the commands available for use in the file status buffer: | |||
| 29854 | ;;;*** | 29906 | ;;;*** |
| 29855 | 29907 | ||
| 29856 | ;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc/vc-dispatcher.el" | 29908 | ;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc/vc-dispatcher.el" |
| 29857 | ;;;;;; (20489 12324 656827 0)) | 29909 | ;;;;;; (20533 50312 678915 0)) |
| 29858 | ;;; Generated autoloads from vc/vc-dispatcher.el | 29910 | ;;; Generated autoloads from vc/vc-dispatcher.el |
| 29859 | 29911 | ||
| 29860 | (autoload 'vc-do-command "vc-dispatcher" "\ | 29912 | (autoload 'vc-do-command "vc-dispatcher" "\ |
| @@ -29877,8 +29929,8 @@ case, and the process object in the asynchronous case. | |||
| 29877 | 29929 | ||
| 29878 | ;;;*** | 29930 | ;;;*** |
| 29879 | 29931 | ||
| 29880 | ;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20586 48936 135199 | 29932 | ;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20664 25386 555095 |
| 29881 | ;;;;;; 0)) | 29933 | ;;;;;; 685000)) |
| 29882 | ;;; Generated autoloads from vc/vc-git.el | 29934 | ;;; Generated autoloads from vc/vc-git.el |
| 29883 | (defun vc-git-registered (file) | 29935 | (defun vc-git-registered (file) |
| 29884 | "Return non-nil if FILE is registered with git." | 29936 | "Return non-nil if FILE is registered with git." |
| @@ -29889,7 +29941,7 @@ case, and the process object in the asynchronous case. | |||
| 29889 | 29941 | ||
| 29890 | ;;;*** | 29942 | ;;;*** |
| 29891 | 29943 | ||
| 29892 | ;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (20489 12324 656827 0)) | 29944 | ;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (20665 28029 52155 0)) |
| 29893 | ;;; Generated autoloads from vc/vc-hg.el | 29945 | ;;; Generated autoloads from vc/vc-hg.el |
| 29894 | (defun vc-hg-registered (file) | 29946 | (defun vc-hg-registered (file) |
| 29895 | "Return non-nil if FILE is registered with hg." | 29947 | "Return non-nil if FILE is registered with hg." |
| @@ -29900,7 +29952,8 @@ case, and the process object in the asynchronous case. | |||
| 29900 | 29952 | ||
| 29901 | ;;;*** | 29953 | ;;;*** |
| 29902 | 29954 | ||
| 29903 | ;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20524 51365 2559 0)) | 29955 | ;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20533 50312 678915 |
| 29956 | ;;;;;; 0)) | ||
| 29904 | ;;; Generated autoloads from vc/vc-mtn.el | 29957 | ;;; Generated autoloads from vc/vc-mtn.el |
| 29905 | 29958 | ||
| 29906 | (defconst vc-mtn-admin-dir "_MTN" "\ | 29959 | (defconst vc-mtn-admin-dir "_MTN" "\ |
| @@ -29917,7 +29970,7 @@ Name of the monotone directory's format file.") | |||
| 29917 | ;;;*** | 29970 | ;;;*** |
| 29918 | 29971 | ||
| 29919 | ;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc/vc-rcs.el" | 29972 | ;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc/vc-rcs.el" |
| 29920 | ;;;;;; (20584 7212 455152 0)) | 29973 | ;;;;;; (20584 355 183605 0)) |
| 29921 | ;;; Generated autoloads from vc/vc-rcs.el | 29974 | ;;; Generated autoloads from vc/vc-rcs.el |
| 29922 | 29975 | ||
| 29923 | (defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\ | 29976 | (defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\ |
| @@ -29931,7 +29984,7 @@ For a description of possible values, see `vc-check-master-templates'.") | |||
| 29931 | ;;;*** | 29984 | ;;;*** |
| 29932 | 29985 | ||
| 29933 | ;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc/vc-sccs.el" | 29986 | ;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc/vc-sccs.el" |
| 29934 | ;;;;;; (20584 7212 455152 0)) | 29987 | ;;;;;; (20584 355 183605 0)) |
| 29935 | ;;; Generated autoloads from vc/vc-sccs.el | 29988 | ;;; Generated autoloads from vc/vc-sccs.el |
| 29936 | 29989 | ||
| 29937 | (defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\ | 29990 | (defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\ |
| @@ -29949,7 +30002,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir) | |||
| 29949 | 30002 | ||
| 29950 | ;;;*** | 30003 | ;;;*** |
| 29951 | 30004 | ||
| 29952 | ;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20355 10021 546955 | 30005 | ;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20648 29678 511980 |
| 29953 | ;;;;;; 0)) | 30006 | ;;;;;; 0)) |
| 29954 | ;;; Generated autoloads from vc/vc-svn.el | 30007 | ;;; Generated autoloads from vc/vc-svn.el |
| 29955 | (defun vc-svn-registered (f) | 30008 | (defun vc-svn-registered (f) |
| @@ -29964,7 +30017,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir) | |||
| 29964 | ;;;*** | 30017 | ;;;*** |
| 29965 | 30018 | ||
| 29966 | ;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el" | 30019 | ;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el" |
| 29967 | ;;;;;; (20577 33959 40183 0)) | 30020 | ;;;;;; (20576 17562 243997 985000)) |
| 29968 | ;;; Generated autoloads from progmodes/vera-mode.el | 30021 | ;;; Generated autoloads from progmodes/vera-mode.el |
| 29969 | (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode)) | 30022 | (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode)) |
| 29970 | 30023 | ||
| @@ -30022,7 +30075,7 @@ Key bindings: | |||
| 30022 | ;;;*** | 30075 | ;;;*** |
| 30023 | 30076 | ||
| 30024 | ;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el" | 30077 | ;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el" |
| 30025 | ;;;;;; (20593 22184 581574 0)) | 30078 | ;;;;;; (20594 14884 858174 0)) |
| 30026 | ;;; Generated autoloads from progmodes/verilog-mode.el | 30079 | ;;; Generated autoloads from progmodes/verilog-mode.el |
| 30027 | 30080 | ||
| 30028 | (autoload 'verilog-mode "verilog-mode" "\ | 30081 | (autoload 'verilog-mode "verilog-mode" "\ |
| @@ -30161,7 +30214,7 @@ Key bindings specific to `verilog-mode-map' are: | |||
| 30161 | ;;;*** | 30214 | ;;;*** |
| 30162 | 30215 | ||
| 30163 | ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el" | 30216 | ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el" |
| 30164 | ;;;;;; (20593 22184 581574 0)) | 30217 | ;;;;;; (20594 14884 858174 0)) |
| 30165 | ;;; Generated autoloads from progmodes/vhdl-mode.el | 30218 | ;;; Generated autoloads from progmodes/vhdl-mode.el |
| 30166 | 30219 | ||
| 30167 | (autoload 'vhdl-mode "vhdl-mode" "\ | 30220 | (autoload 'vhdl-mode "vhdl-mode" "\ |
| @@ -30715,8 +30768,8 @@ Key bindings: | |||
| 30715 | 30768 | ||
| 30716 | ;;;*** | 30769 | ;;;*** |
| 30717 | 30770 | ||
| 30718 | ;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (20566 63671 243798 | 30771 | ;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (20566 46321 482625 |
| 30719 | ;;;;;; 0)) | 30772 | ;;;;;; 150000)) |
| 30720 | ;;; Generated autoloads from emulation/vi.el | 30773 | ;;; Generated autoloads from emulation/vi.el |
| 30721 | 30774 | ||
| 30722 | (autoload 'vi-mode "vi" "\ | 30775 | (autoload 'vi-mode "vi" "\ |
| @@ -30771,7 +30824,7 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs. | |||
| 30771 | ;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion | 30824 | ;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion |
| 30772 | ;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer | 30825 | ;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer |
| 30773 | ;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util" | 30826 | ;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util" |
| 30774 | ;;;;;; "language/viet-util.el" (20355 10021 546955 0)) | 30827 | ;;;;;; "language/viet-util.el" (20533 50312 678915 0)) |
| 30775 | ;;; Generated autoloads from language/viet-util.el | 30828 | ;;; Generated autoloads from language/viet-util.el |
| 30776 | 30829 | ||
| 30777 | (autoload 'viet-encode-viscii-char "viet-util" "\ | 30830 | (autoload 'viet-encode-viscii-char "viet-util" "\ |
| @@ -30819,7 +30872,7 @@ Convert Vietnamese characters of the current buffer to `VIQR' mnemonics. | |||
| 30819 | ;;;;;; view-mode view-buffer-other-frame view-buffer-other-window | 30872 | ;;;;;; view-mode view-buffer-other-frame view-buffer-other-window |
| 30820 | ;;;;;; view-buffer view-file-other-frame view-file-other-window | 30873 | ;;;;;; view-buffer view-file-other-frame view-file-other-window |
| 30821 | ;;;;;; view-file kill-buffer-if-not-modified view-remove-frame-by-deleting) | 30874 | ;;;;;; view-file kill-buffer-if-not-modified view-remove-frame-by-deleting) |
| 30822 | ;;;;;; "view" "view.el" (20577 33959 40183 0)) | 30875 | ;;;;;; "view" "view.el" (20574 60285 453605 907000)) |
| 30823 | ;;; Generated autoloads from view.el | 30876 | ;;; Generated autoloads from view.el |
| 30824 | 30877 | ||
| 30825 | (defvar view-remove-frame-by-deleting t "\ | 30878 | (defvar view-remove-frame-by-deleting t "\ |
| @@ -31075,8 +31128,8 @@ Exit View mode and make the current buffer editable. | |||
| 31075 | 31128 | ||
| 31076 | ;;;*** | 31129 | ;;;*** |
| 31077 | 31130 | ||
| 31078 | ;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (20513 | 31131 | ;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (20533 |
| 31079 | ;;;;;; 18948 537867 0)) | 31132 | ;;;;;; 50312 678915 0)) |
| 31080 | ;;; Generated autoloads from emulation/vip.el | 31133 | ;;; Generated autoloads from emulation/vip.el |
| 31081 | 31134 | ||
| 31082 | (autoload 'vip-setup "vip" "\ | 31135 | (autoload 'vip-setup "vip" "\ |
| @@ -31092,7 +31145,7 @@ Turn on VIP emulation of VI. | |||
| 31092 | ;;;*** | 31145 | ;;;*** |
| 31093 | 31146 | ||
| 31094 | ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el" | 31147 | ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el" |
| 31095 | ;;;;;; (20566 63671 243798 0)) | 31148 | ;;;;;; (20566 46795 194646 255000)) |
| 31096 | ;;; Generated autoloads from emulation/viper.el | 31149 | ;;; Generated autoloads from emulation/viper.el |
| 31097 | 31150 | ||
| 31098 | (autoload 'toggle-viper-mode "viper" "\ | 31151 | (autoload 'toggle-viper-mode "viper" "\ |
| @@ -31109,7 +31162,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'. | |||
| 31109 | ;;;*** | 31162 | ;;;*** |
| 31110 | 31163 | ||
| 31111 | ;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el" | 31164 | ;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el" |
| 31112 | ;;;;;; (20355 10021 546955 0)) | 31165 | ;;;;;; (20533 50312 678915 0)) |
| 31113 | ;;; Generated autoloads from emacs-lisp/warnings.el | 31166 | ;;; Generated autoloads from emacs-lisp/warnings.el |
| 31114 | 31167 | ||
| 31115 | (defvar warning-prefix-function nil "\ | 31168 | (defvar warning-prefix-function nil "\ |
| @@ -31199,7 +31252,7 @@ this is equivalent to `display-warning', using | |||
| 31199 | ;;;*** | 31252 | ;;;*** |
| 31200 | 31253 | ||
| 31201 | ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el" | 31254 | ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el" |
| 31202 | ;;;;;; (20619 46245 806932 0)) | 31255 | ;;;;;; (20656 14460 296991 0)) |
| 31203 | ;;; Generated autoloads from wdired.el | 31256 | ;;; Generated autoloads from wdired.el |
| 31204 | 31257 | ||
| 31205 | (autoload 'wdired-change-to-wdired-mode "wdired" "\ | 31258 | (autoload 'wdired-change-to-wdired-mode "wdired" "\ |
| @@ -31216,8 +31269,8 @@ See `wdired-mode'. | |||
| 31216 | 31269 | ||
| 31217 | ;;;*** | 31270 | ;;;*** |
| 31218 | 31271 | ||
| 31219 | ;;;### (autoloads (webjump) "webjump" "net/webjump.el" (20566 63671 | 31272 | ;;;### (autoloads (webjump) "webjump" "net/webjump.el" (20566 45342 |
| 31220 | ;;;;;; 243798 0)) | 31273 | ;;;;;; 918583 804000)) |
| 31221 | ;;; Generated autoloads from net/webjump.el | 31274 | ;;; Generated autoloads from net/webjump.el |
| 31222 | 31275 | ||
| 31223 | (autoload 'webjump "webjump" "\ | 31276 | (autoload 'webjump "webjump" "\ |
| @@ -31234,7 +31287,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke | |||
| 31234 | ;;;*** | 31287 | ;;;*** |
| 31235 | 31288 | ||
| 31236 | ;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el" | 31289 | ;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el" |
| 31237 | ;;;;;; (20613 49078 764749 0)) | 31290 | ;;;;;; (20613 39767 44650 0)) |
| 31238 | ;;; Generated autoloads from progmodes/which-func.el | 31291 | ;;; Generated autoloads from progmodes/which-func.el |
| 31239 | (put 'which-func-format 'risky-local-variable t) | 31292 | (put 'which-func-format 'risky-local-variable t) |
| 31240 | (put 'which-func-current 'risky-local-variable t) | 31293 | (put 'which-func-current 'risky-local-variable t) |
| @@ -31267,8 +31320,8 @@ in certain major modes. | |||
| 31267 | ;;;### (autoloads (whitespace-report-region whitespace-report whitespace-cleanup-region | 31320 | ;;;### (autoloads (whitespace-report-region whitespace-report whitespace-cleanup-region |
| 31268 | ;;;;;; whitespace-cleanup global-whitespace-toggle-options whitespace-toggle-options | 31321 | ;;;;;; whitespace-cleanup global-whitespace-toggle-options whitespace-toggle-options |
| 31269 | ;;;;;; global-whitespace-newline-mode global-whitespace-mode whitespace-newline-mode | 31322 | ;;;;;; global-whitespace-newline-mode global-whitespace-mode whitespace-newline-mode |
| 31270 | ;;;;;; whitespace-mode) "whitespace" "whitespace.el" (20508 13724 | 31323 | ;;;;;; whitespace-mode) "whitespace" "whitespace.el" (20533 50312 |
| 31271 | ;;;;;; 260761 0)) | 31324 | ;;;;;; 678915 0)) |
| 31272 | ;;; Generated autoloads from whitespace.el | 31325 | ;;; Generated autoloads from whitespace.el |
| 31273 | 31326 | ||
| 31274 | (autoload 'whitespace-mode "whitespace" "\ | 31327 | (autoload 'whitespace-mode "whitespace" "\ |
| @@ -31667,8 +31720,8 @@ cleaning up these problems. | |||
| 31667 | ;;;*** | 31720 | ;;;*** |
| 31668 | 31721 | ||
| 31669 | ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse | 31722 | ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse |
| 31670 | ;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (20478 3673 | 31723 | ;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (20533 50312 |
| 31671 | ;;;;;; 653810 0)) | 31724 | ;;;;;; 678915 0)) |
| 31672 | ;;; Generated autoloads from wid-browse.el | 31725 | ;;; Generated autoloads from wid-browse.el |
| 31673 | 31726 | ||
| 31674 | (autoload 'widget-browse-at "wid-browse" "\ | 31727 | (autoload 'widget-browse-at "wid-browse" "\ |
| @@ -31697,8 +31750,8 @@ if ARG is omitted or nil. | |||
| 31697 | ;;;*** | 31750 | ;;;*** |
| 31698 | 31751 | ||
| 31699 | ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create | 31752 | ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create |
| 31700 | ;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20373 | 31753 | ;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20533 |
| 31701 | ;;;;;; 11301 906925 0)) | 31754 | ;;;;;; 50312 678915 0)) |
| 31702 | ;;; Generated autoloads from wid-edit.el | 31755 | ;;; Generated autoloads from wid-edit.el |
| 31703 | 31756 | ||
| 31704 | (autoload 'widgetp "wid-edit" "\ | 31757 | (autoload 'widgetp "wid-edit" "\ |
| @@ -31742,7 +31795,7 @@ Setup current buffer so editing string widgets works. | |||
| 31742 | 31795 | ||
| 31743 | ;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right | 31796 | ;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right |
| 31744 | ;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (20566 | 31797 | ;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (20566 |
| 31745 | ;;;;;; 63671 243798 0)) | 31798 | ;;;;;; 44765 218559 34000)) |
| 31746 | ;;; Generated autoloads from windmove.el | 31799 | ;;; Generated autoloads from windmove.el |
| 31747 | 31800 | ||
| 31748 | (autoload 'windmove-left "windmove" "\ | 31801 | (autoload 'windmove-left "windmove" "\ |
| @@ -31794,8 +31847,8 @@ Default MODIFIER is 'shift. | |||
| 31794 | 31847 | ||
| 31795 | ;;;*** | 31848 | ;;;*** |
| 31796 | 31849 | ||
| 31797 | ;;;### (autoloads (winner-mode) "winner" "winner.el" (20584 7212 | 31850 | ;;;### (autoloads (winner-mode) "winner" "winner.el" (20584 355 183605 |
| 31798 | ;;;;;; 455152 0)) | 31851 | ;;;;;; 0)) |
| 31799 | ;;; Generated autoloads from winner.el | 31852 | ;;; Generated autoloads from winner.el |
| 31800 | 31853 | ||
| 31801 | (defvar winner-mode nil "\ | 31854 | (defvar winner-mode nil "\ |
| @@ -31819,8 +31872,8 @@ the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'. | |||
| 31819 | ;;;*** | 31872 | ;;;*** |
| 31820 | 31873 | ||
| 31821 | ;;;### (autoloads (woman-bookmark-jump woman-find-file woman-dired-find-file | 31874 | ;;;### (autoloads (woman-bookmark-jump woman-find-file woman-dired-find-file |
| 31822 | ;;;;;; woman woman-locale) "woman" "woman.el" (20623 43301 870757 | 31875 | ;;;;;; woman woman-locale) "woman" "woman.el" (20656 64489 79784 |
| 31823 | ;;;;;; 0)) | 31876 | ;;;;;; 260000)) |
| 31824 | ;;; Generated autoloads from woman.el | 31877 | ;;; Generated autoloads from woman.el |
| 31825 | 31878 | ||
| 31826 | (defvar woman-locale nil "\ | 31879 | (defvar woman-locale nil "\ |
| @@ -31869,7 +31922,7 @@ Default bookmark handler for Woman buffers. | |||
| 31869 | ;;;*** | 31922 | ;;;*** |
| 31870 | 31923 | ||
| 31871 | ;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el" | 31924 | ;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el" |
| 31872 | ;;;;;; (20355 10021 546955 0)) | 31925 | ;;;;;; (20533 50312 678915 0)) |
| 31873 | ;;; Generated autoloads from emulation/ws-mode.el | 31926 | ;;; Generated autoloads from emulation/ws-mode.el |
| 31874 | 31927 | ||
| 31875 | (autoload 'wordstar-mode "ws-mode" "\ | 31928 | (autoload 'wordstar-mode "ws-mode" "\ |
| @@ -31981,8 +32034,8 @@ The key bindings are: | |||
| 31981 | 32034 | ||
| 31982 | ;;;*** | 32035 | ;;;*** |
| 31983 | 32036 | ||
| 31984 | ;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (20478 3673 | 32037 | ;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (20533 50312 |
| 31985 | ;;;;;; 653810 0)) | 32038 | ;;;;;; 678915 0)) |
| 31986 | ;;; Generated autoloads from net/xesam.el | 32039 | ;;; Generated autoloads from net/xesam.el |
| 31987 | 32040 | ||
| 31988 | (autoload 'xesam-search "xesam" "\ | 32041 | (autoload 'xesam-search "xesam" "\ |
| @@ -32002,7 +32055,7 @@ Example: | |||
| 32002 | ;;;*** | 32055 | ;;;*** |
| 32003 | 32056 | ||
| 32004 | ;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el" | 32057 | ;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el" |
| 32005 | ;;;;;; (20528 48420 241677 0)) | 32058 | ;;;;;; (20533 50312 678915 0)) |
| 32006 | ;;; Generated autoloads from xml.el | 32059 | ;;; Generated autoloads from xml.el |
| 32007 | 32060 | ||
| 32008 | (autoload 'xml-parse-file "xml" "\ | 32061 | (autoload 'xml-parse-file "xml" "\ |
| @@ -32059,7 +32112,7 @@ Both features can be combined by providing a cons cell | |||
| 32059 | ;;;*** | 32112 | ;;;*** |
| 32060 | 32113 | ||
| 32061 | ;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok" | 32114 | ;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok" |
| 32062 | ;;;;;; "nxml/xmltok.el" (20355 10021 546955 0)) | 32115 | ;;;;;; "nxml/xmltok.el" (20533 50312 678915 0)) |
| 32063 | ;;; Generated autoloads from nxml/xmltok.el | 32116 | ;;; Generated autoloads from nxml/xmltok.el |
| 32064 | 32117 | ||
| 32065 | (autoload 'xmltok-get-declared-encoding-position "xmltok" "\ | 32118 | (autoload 'xmltok-get-declared-encoding-position "xmltok" "\ |
| @@ -32077,8 +32130,8 @@ If LIMIT is non-nil, then do not consider characters beyond LIMIT. | |||
| 32077 | 32130 | ||
| 32078 | ;;;*** | 32131 | ;;;*** |
| 32079 | 32132 | ||
| 32080 | ;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20485 | 32133 | ;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20533 |
| 32081 | ;;;;;; 15269 390836 0)) | 32134 | ;;;;;; 50312 678915 0)) |
| 32082 | ;;; Generated autoloads from xt-mouse.el | 32135 | ;;; Generated autoloads from xt-mouse.el |
| 32083 | 32136 | ||
| 32084 | (defvar xterm-mouse-mode nil "\ | 32137 | (defvar xterm-mouse-mode nil "\ |
| @@ -32108,7 +32161,7 @@ down the SHIFT key while pressing the mouse button. | |||
| 32108 | ;;;*** | 32161 | ;;;*** |
| 32109 | 32162 | ||
| 32110 | ;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc" | 32163 | ;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc" |
| 32111 | ;;;;;; "gnus/yenc.el" (20355 10021 546955 0)) | 32164 | ;;;;;; "gnus/yenc.el" (20533 50312 678915 0)) |
| 32112 | ;;; Generated autoloads from gnus/yenc.el | 32165 | ;;; Generated autoloads from gnus/yenc.el |
| 32113 | 32166 | ||
| 32114 | (autoload 'yenc-decode-region "yenc" "\ | 32167 | (autoload 'yenc-decode-region "yenc" "\ |
| @@ -32124,7 +32177,7 @@ Extract file name from an yenc header. | |||
| 32124 | ;;;*** | 32177 | ;;;*** |
| 32125 | 32178 | ||
| 32126 | ;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism | 32179 | ;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism |
| 32127 | ;;;;;; yow) "yow" "play/yow.el" (20364 42504 244840 586000)) | 32180 | ;;;;;; yow) "yow" "play/yow.el" (20533 50312 678915 0)) |
| 32128 | ;;; Generated autoloads from play/yow.el | 32181 | ;;; Generated autoloads from play/yow.el |
| 32129 | 32182 | ||
| 32130 | (autoload 'yow "yow" "\ | 32183 | (autoload 'yow "yow" "\ |
| @@ -32150,7 +32203,7 @@ Zippy goes to the analyst. | |||
| 32150 | 32203 | ||
| 32151 | ;;;*** | 32204 | ;;;*** |
| 32152 | 32205 | ||
| 32153 | ;;;### (autoloads (zone) "zone" "play/zone.el" (20545 57511 257469 | 32206 | ;;;### (autoloads (zone) "zone" "play/zone.el" (20545 60086 510404 |
| 32154 | ;;;;;; 0)) | 32207 | ;;;;;; 0)) |
| 32155 | ;;; Generated autoloads from play/zone.el | 32208 | ;;; Generated autoloads from play/zone.el |
| 32156 | 32209 | ||
| @@ -32167,46 +32220,46 @@ Zone out, completely. | |||
| 32167 | ;;;;;; "calc/calc-fin.el" "calc/calc-forms.el" "calc/calc-frac.el" | 32220 | ;;;;;; "calc/calc-fin.el" "calc/calc-forms.el" "calc/calc-frac.el" |
| 32168 | ;;;;;; "calc/calc-funcs.el" "calc/calc-graph.el" "calc/calc-help.el" | 32221 | ;;;;;; "calc/calc-funcs.el" "calc/calc-graph.el" "calc/calc-help.el" |
| 32169 | ;;;;;; "calc/calc-incom.el" "calc/calc-keypd.el" "calc/calc-lang.el" | 32222 | ;;;;;; "calc/calc-incom.el" "calc/calc-keypd.el" "calc/calc-lang.el" |
| 32170 | ;;;;;; "calc/calc-loaddefs.el" "calc/calc-macs.el" "calc/calc-map.el" | 32223 | ;;;;;; "calc/calc-macs.el" "calc/calc-map.el" "calc/calc-math.el" |
| 32171 | ;;;;;; "calc/calc-math.el" "calc/calc-menu.el" "calc/calc-misc.el" | 32224 | ;;;;;; "calc/calc-menu.el" "calc/calc-misc.el" "calc/calc-mode.el" |
| 32172 | ;;;;;; "calc/calc-mode.el" "calc/calc-mtx.el" "calc/calc-nlfit.el" | 32225 | ;;;;;; "calc/calc-mtx.el" "calc/calc-nlfit.el" "calc/calc-poly.el" |
| 32173 | ;;;;;; "calc/calc-poly.el" "calc/calc-prog.el" "calc/calc-rewr.el" | 32226 | ;;;;;; "calc/calc-prog.el" "calc/calc-rewr.el" "calc/calc-rules.el" |
| 32174 | ;;;;;; "calc/calc-rules.el" "calc/calc-sel.el" "calc/calc-stat.el" | 32227 | ;;;;;; "calc/calc-sel.el" "calc/calc-stat.el" "calc/calc-store.el" |
| 32175 | ;;;;;; "calc/calc-store.el" "calc/calc-stuff.el" "calc/calc-trail.el" | 32228 | ;;;;;; "calc/calc-stuff.el" "calc/calc-trail.el" "calc/calc-units.el" |
| 32176 | ;;;;;; "calc/calc-units.el" "calc/calc-vec.el" "calc/calc-yank.el" | 32229 | ;;;;;; "calc/calc-vec.el" "calc/calc-yank.el" "calc/calcalg2.el" |
| 32177 | ;;;;;; "calc/calcalg2.el" "calc/calcalg3.el" "calc/calccomp.el" | 32230 | ;;;;;; "calc/calcalg3.el" "calc/calccomp.el" "calc/calcsel2.el" |
| 32178 | ;;;;;; "calc/calcsel2.el" "calendar/cal-bahai.el" "calendar/cal-coptic.el" | 32231 | ;;;;;; "calendar/cal-bahai.el" "calendar/cal-coptic.el" "calendar/cal-french.el" |
| 32179 | ;;;;;; "calendar/cal-french.el" "calendar/cal-html.el" "calendar/cal-islam.el" | 32232 | ;;;;;; "calendar/cal-html.el" "calendar/cal-islam.el" "calendar/cal-iso.el" |
| 32180 | ;;;;;; "calendar/cal-iso.el" "calendar/cal-julian.el" "calendar/cal-loaddefs.el" | 32233 | ;;;;;; "calendar/cal-julian.el" "calendar/cal-loaddefs.el" "calendar/cal-mayan.el" |
| 32181 | ;;;;;; "calendar/cal-mayan.el" "calendar/cal-menu.el" "calendar/cal-move.el" | 32234 | ;;;;;; "calendar/cal-menu.el" "calendar/cal-move.el" "calendar/cal-persia.el" |
| 32182 | ;;;;;; "calendar/cal-persia.el" "calendar/cal-tex.el" "calendar/cal-x.el" | 32235 | ;;;;;; "calendar/cal-tex.el" "calendar/cal-x.el" "calendar/diary-loaddefs.el" |
| 32183 | ;;;;;; "calendar/diary-loaddefs.el" "calendar/hol-loaddefs.el" "cdl.el" | 32236 | ;;;;;; "calendar/hol-loaddefs.el" "cdl.el" "cedet/cedet-cscope.el" |
| 32184 | ;;;;;; "cedet/cedet-cscope.el" "cedet/cedet-files.el" "cedet/cedet-global.el" | 32237 | ;;;;;; "cedet/cedet-files.el" "cedet/cedet-global.el" "cedet/cedet-idutils.el" |
| 32185 | ;;;;;; "cedet/cedet-idutils.el" "cedet/cedet.el" "cedet/ede/auto.el" | 32238 | ;;;;;; "cedet/cedet.el" "cedet/ede/auto.el" "cedet/ede/autoconf-edit.el" |
| 32186 | ;;;;;; "cedet/ede/autoconf-edit.el" "cedet/ede/base.el" "cedet/ede/cpp-root.el" | 32239 | ;;;;;; "cedet/ede/base.el" "cedet/ede/cpp-root.el" "cedet/ede/custom.el" |
| 32187 | ;;;;;; "cedet/ede/custom.el" "cedet/ede/dired.el" "cedet/ede/emacs.el" | 32240 | ;;;;;; "cedet/ede/dired.el" "cedet/ede/emacs.el" "cedet/ede/files.el" |
| 32188 | ;;;;;; "cedet/ede/files.el" "cedet/ede/generic.el" "cedet/ede/linux.el" | 32241 | ;;;;;; "cedet/ede/generic.el" "cedet/ede/linux.el" "cedet/ede/locate.el" |
| 32189 | ;;;;;; "cedet/ede/loaddefs.el" "cedet/ede/locate.el" "cedet/ede/make.el" | 32242 | ;;;;;; "cedet/ede/make.el" "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el" |
| 32190 | ;;;;;; "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el" "cedet/ede/pmake.el" | 32243 | ;;;;;; "cedet/ede/pmake.el" "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el" |
| 32191 | ;;;;;; "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el" "cedet/ede/proj-comp.el" | 32244 | ;;;;;; "cedet/ede/proj-comp.el" "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el" |
| 32192 | ;;;;;; "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el" "cedet/ede/proj-misc.el" | 32245 | ;;;;;; "cedet/ede/proj-misc.el" "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el" |
| 32193 | ;;;;;; "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el" "cedet/ede/proj-scheme.el" | 32246 | ;;;;;; "cedet/ede/proj-scheme.el" "cedet/ede/proj-shared.el" "cedet/ede/proj.el" |
| 32194 | ;;;;;; "cedet/ede/proj-shared.el" "cedet/ede/proj.el" "cedet/ede/project-am.el" | 32247 | ;;;;;; "cedet/ede/project-am.el" "cedet/ede/shell.el" "cedet/ede/simple.el" |
| 32195 | ;;;;;; "cedet/ede/shell.el" "cedet/ede/simple.el" "cedet/ede/source.el" | 32248 | ;;;;;; "cedet/ede/source.el" "cedet/ede/speedbar.el" "cedet/ede/srecode.el" |
| 32196 | ;;;;;; "cedet/ede/speedbar.el" "cedet/ede/srecode.el" "cedet/ede/system.el" | 32249 | ;;;;;; "cedet/ede/system.el" "cedet/ede/util.el" "cedet/pulse.el" |
| 32197 | ;;;;;; "cedet/ede/util.el" "cedet/pulse.el" "cedet/semantic/analyze.el" | 32250 | ;;;;;; "cedet/semantic/analyze.el" "cedet/semantic/analyze/complete.el" |
| 32198 | ;;;;;; "cedet/semantic/analyze/complete.el" "cedet/semantic/analyze/debug.el" | 32251 | ;;;;;; "cedet/semantic/analyze/debug.el" "cedet/semantic/analyze/fcn.el" |
| 32199 | ;;;;;; "cedet/semantic/analyze/fcn.el" "cedet/semantic/analyze/refs.el" | 32252 | ;;;;;; "cedet/semantic/analyze/refs.el" "cedet/semantic/bovine.el" |
| 32200 | ;;;;;; "cedet/semantic/bovine.el" "cedet/semantic/bovine/c-by.el" | 32253 | ;;;;;; "cedet/semantic/bovine/c-by.el" "cedet/semantic/bovine/c.el" |
| 32201 | ;;;;;; "cedet/semantic/bovine/c.el" "cedet/semantic/bovine/debug.el" | 32254 | ;;;;;; "cedet/semantic/bovine/debug.el" "cedet/semantic/bovine/el.el" |
| 32202 | ;;;;;; "cedet/semantic/bovine/el.el" "cedet/semantic/bovine/gcc.el" | 32255 | ;;;;;; "cedet/semantic/bovine/gcc.el" "cedet/semantic/bovine/make-by.el" |
| 32203 | ;;;;;; "cedet/semantic/bovine/make-by.el" "cedet/semantic/bovine/make.el" | 32256 | ;;;;;; "cedet/semantic/bovine/make.el" "cedet/semantic/bovine/scm-by.el" |
| 32204 | ;;;;;; "cedet/semantic/bovine/scm-by.el" "cedet/semantic/bovine/scm.el" | 32257 | ;;;;;; "cedet/semantic/bovine/scm.el" "cedet/semantic/chart.el" |
| 32205 | ;;;;;; "cedet/semantic/chart.el" "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" | 32258 | ;;;;;; "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" "cedet/semantic/db-debug.el" |
| 32206 | ;;;;;; "cedet/semantic/db-debug.el" "cedet/semantic/db-ebrowse.el" | 32259 | ;;;;;; "cedet/semantic/db-ebrowse.el" "cedet/semantic/db-el.el" |
| 32207 | ;;;;;; "cedet/semantic/db-el.el" "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" | 32260 | ;;;;;; "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" "cedet/semantic/db-global.el" |
| 32208 | ;;;;;; "cedet/semantic/db-global.el" "cedet/semantic/db-javascript.el" | 32261 | ;;;;;; "cedet/semantic/db-javascript.el" "cedet/semantic/db-mode.el" |
| 32209 | ;;;;;; "cedet/semantic/db-mode.el" "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el" | 32262 | ;;;;;; "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el" |
| 32210 | ;;;;;; "cedet/semantic/db.el" "cedet/semantic/debug.el" "cedet/semantic/decorate.el" | 32263 | ;;;;;; "cedet/semantic/db.el" "cedet/semantic/debug.el" "cedet/semantic/decorate.el" |
| 32211 | ;;;;;; "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el" | 32264 | ;;;;;; "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el" |
| 32212 | ;;;;;; "cedet/semantic/dep.el" "cedet/semantic/doc.el" "cedet/semantic/ede-grammar.el" | 32265 | ;;;;;; "cedet/semantic/dep.el" "cedet/semantic/doc.el" "cedet/semantic/ede-grammar.el" |
| @@ -32214,13 +32267,13 @@ Zone out, completely. | |||
| 32214 | ;;;;;; "cedet/semantic/fw.el" "cedet/semantic/grammar-wy.el" "cedet/semantic/grammar.el" | 32267 | ;;;;;; "cedet/semantic/fw.el" "cedet/semantic/grammar-wy.el" "cedet/semantic/grammar.el" |
| 32215 | ;;;;;; "cedet/semantic/html.el" "cedet/semantic/ia-sb.el" "cedet/semantic/ia.el" | 32268 | ;;;;;; "cedet/semantic/html.el" "cedet/semantic/ia-sb.el" "cedet/semantic/ia.el" |
| 32216 | ;;;;;; "cedet/semantic/idle.el" "cedet/semantic/imenu.el" "cedet/semantic/java.el" | 32269 | ;;;;;; "cedet/semantic/idle.el" "cedet/semantic/imenu.el" "cedet/semantic/java.el" |
| 32217 | ;;;;;; "cedet/semantic/lex-spp.el" "cedet/semantic/lex.el" "cedet/semantic/loaddefs.el" | 32270 | ;;;;;; "cedet/semantic/lex-spp.el" "cedet/semantic/lex.el" "cedet/semantic/mru-bookmark.el" |
| 32218 | ;;;;;; "cedet/semantic/mru-bookmark.el" "cedet/semantic/sb.el" "cedet/semantic/scope.el" | 32271 | ;;;;;; "cedet/semantic/sb.el" "cedet/semantic/scope.el" "cedet/semantic/senator.el" |
| 32219 | ;;;;;; "cedet/semantic/senator.el" "cedet/semantic/sort.el" "cedet/semantic/symref.el" | 32272 | ;;;;;; "cedet/semantic/sort.el" "cedet/semantic/symref.el" "cedet/semantic/symref/cscope.el" |
| 32220 | ;;;;;; "cedet/semantic/symref/cscope.el" "cedet/semantic/symref/filter.el" | 32273 | ;;;;;; "cedet/semantic/symref/filter.el" "cedet/semantic/symref/global.el" |
| 32221 | ;;;;;; "cedet/semantic/symref/global.el" "cedet/semantic/symref/grep.el" | 32274 | ;;;;;; "cedet/semantic/symref/grep.el" "cedet/semantic/symref/idutils.el" |
| 32222 | ;;;;;; "cedet/semantic/symref/idutils.el" "cedet/semantic/symref/list.el" | 32275 | ;;;;;; "cedet/semantic/symref/list.el" "cedet/semantic/tag-file.el" |
| 32223 | ;;;;;; "cedet/semantic/tag-file.el" "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el" | 32276 | ;;;;;; "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el" |
| 32224 | ;;;;;; "cedet/semantic/tag.el" "cedet/semantic/texi.el" "cedet/semantic/util-modes.el" | 32277 | ;;;;;; "cedet/semantic/tag.el" "cedet/semantic/texi.el" "cedet/semantic/util-modes.el" |
| 32225 | ;;;;;; "cedet/semantic/util.el" "cedet/semantic/wisent.el" "cedet/semantic/wisent/comp.el" | 32278 | ;;;;;; "cedet/semantic/util.el" "cedet/semantic/wisent.el" "cedet/semantic/wisent/comp.el" |
| 32226 | ;;;;;; "cedet/semantic/wisent/java-tags.el" "cedet/semantic/wisent/javascript.el" | 32279 | ;;;;;; "cedet/semantic/wisent/java-tags.el" "cedet/semantic/wisent/javascript.el" |
| @@ -32232,11 +32285,11 @@ Zone out, completely. | |||
| 32232 | ;;;;;; "cedet/srecode/el.el" "cedet/srecode/expandproto.el" "cedet/srecode/extract.el" | 32285 | ;;;;;; "cedet/srecode/el.el" "cedet/srecode/expandproto.el" "cedet/srecode/extract.el" |
| 32233 | ;;;;;; "cedet/srecode/fields.el" "cedet/srecode/filters.el" "cedet/srecode/find.el" | 32286 | ;;;;;; "cedet/srecode/fields.el" "cedet/srecode/filters.el" "cedet/srecode/find.el" |
| 32234 | ;;;;;; "cedet/srecode/getset.el" "cedet/srecode/insert.el" "cedet/srecode/java.el" | 32287 | ;;;;;; "cedet/srecode/getset.el" "cedet/srecode/insert.el" "cedet/srecode/java.el" |
| 32235 | ;;;;;; "cedet/srecode/loaddefs.el" "cedet/srecode/map.el" "cedet/srecode/mode.el" | 32288 | ;;;;;; "cedet/srecode/map.el" "cedet/srecode/mode.el" "cedet/srecode/semantic.el" |
| 32236 | ;;;;;; "cedet/srecode/semantic.el" "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el" | 32289 | ;;;;;; "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el" "cedet/srecode/table.el" |
| 32237 | ;;;;;; "cedet/srecode/table.el" "cedet/srecode/template.el" "cedet/srecode/texi.el" | 32290 | ;;;;;; "cedet/srecode/template.el" "cedet/srecode/texi.el" "cus-dep.el" |
| 32238 | ;;;;;; "cus-dep.el" "dframe.el" "dired-aux.el" "dired-x.el" "dos-fns.el" | 32291 | ;;;;;; "dframe.el" "dired-aux.el" "dired-x.el" "dos-fns.el" "dos-vars.el" |
| 32239 | ;;;;;; "dos-vars.el" "dos-w32.el" "dynamic-setting.el" "emacs-lisp/authors.el" | 32292 | ;;;;;; "dos-w32.el" "dynamic-setting.el" "emacs-lisp/authors.el" |
| 32240 | ;;;;;; "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el" | 32293 | ;;;;;; "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el" |
| 32241 | ;;;;;; "emacs-lisp/chart.el" "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el" | 32294 | ;;;;;; "emacs-lisp/chart.el" "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el" |
| 32242 | ;;;;;; "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el" "emacs-lisp/cl.el" | 32295 | ;;;;;; "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el" "emacs-lisp/cl.el" |
| @@ -32256,33 +32309,32 @@ Zone out, completely. | |||
| 32256 | ;;;;;; "eshell/em-pred.el" "eshell/em-prompt.el" "eshell/em-rebind.el" | 32309 | ;;;;;; "eshell/em-pred.el" "eshell/em-prompt.el" "eshell/em-rebind.el" |
| 32257 | ;;;;;; "eshell/em-script.el" "eshell/em-smart.el" "eshell/em-term.el" | 32310 | ;;;;;; "eshell/em-script.el" "eshell/em-smart.el" "eshell/em-term.el" |
| 32258 | ;;;;;; "eshell/em-unix.el" "eshell/em-xtra.el" "eshell/esh-arg.el" | 32311 | ;;;;;; "eshell/em-unix.el" "eshell/em-xtra.el" "eshell/esh-arg.el" |
| 32259 | ;;;;;; "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-groups.el" | 32312 | ;;;;;; "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-io.el" |
| 32260 | ;;;;;; "eshell/esh-io.el" "eshell/esh-module.el" "eshell/esh-opt.el" | 32313 | ;;;;;; "eshell/esh-module.el" "eshell/esh-opt.el" "eshell/esh-proc.el" |
| 32261 | ;;;;;; "eshell/esh-proc.el" "eshell/esh-util.el" "eshell/esh-var.el" | 32314 | ;;;;;; "eshell/esh-util.el" "eshell/esh-var.el" "ezimage.el" "foldout.el" |
| 32262 | ;;;;;; "ezimage.el" "foldout.el" "format-spec.el" "fringe.el" "generic-x.el" | 32315 | ;;;;;; "format-spec.el" "fringe.el" "generic-x.el" "gnus/compface.el" |
| 32263 | ;;;;;; "gnus/compface.el" "gnus/gnus-async.el" "gnus/gnus-bcklg.el" | 32316 | ;;;;;; "gnus/gnus-async.el" "gnus/gnus-bcklg.el" "gnus/gnus-cite.el" |
| 32264 | ;;;;;; "gnus/gnus-cite.el" "gnus/gnus-cus.el" "gnus/gnus-demon.el" | 32317 | ;;;;;; "gnus/gnus-cus.el" "gnus/gnus-demon.el" "gnus/gnus-dup.el" |
| 32265 | ;;;;;; "gnus/gnus-dup.el" "gnus/gnus-eform.el" "gnus/gnus-ems.el" | 32318 | ;;;;;; "gnus/gnus-eform.el" "gnus/gnus-ems.el" "gnus/gnus-int.el" |
| 32266 | ;;;;;; "gnus/gnus-int.el" "gnus/gnus-logic.el" "gnus/gnus-mh.el" | 32319 | ;;;;;; "gnus/gnus-logic.el" "gnus/gnus-mh.el" "gnus/gnus-salt.el" |
| 32267 | ;;;;;; "gnus/gnus-salt.el" "gnus/gnus-score.el" "gnus/gnus-setup.el" | 32320 | ;;;;;; "gnus/gnus-score.el" "gnus/gnus-setup.el" "gnus/gnus-srvr.el" |
| 32268 | ;;;;;; "gnus/gnus-srvr.el" "gnus/gnus-topic.el" "gnus/gnus-undo.el" | 32321 | ;;;;;; "gnus/gnus-topic.el" "gnus/gnus-undo.el" "gnus/gnus-util.el" |
| 32269 | ;;;;;; "gnus/gnus-util.el" "gnus/gnus-uu.el" "gnus/gnus-vm.el" "gnus/gssapi.el" | 32322 | ;;;;;; "gnus/gnus-uu.el" "gnus/gnus-vm.el" "gnus/gssapi.el" "gnus/ietf-drums.el" |
| 32270 | ;;;;;; "gnus/ietf-drums.el" "gnus/legacy-gnus-agent.el" "gnus/mail-parse.el" | 32323 | ;;;;;; "gnus/legacy-gnus-agent.el" "gnus/mail-parse.el" "gnus/mail-prsvr.el" |
| 32271 | ;;;;;; "gnus/mail-prsvr.el" "gnus/mail-source.el" "gnus/mailcap.el" | 32324 | ;;;;;; "gnus/mail-source.el" "gnus/mailcap.el" "gnus/messcompat.el" |
| 32272 | ;;;;;; "gnus/messcompat.el" "gnus/mm-archive.el" "gnus/mm-bodies.el" | 32325 | ;;;;;; "gnus/mm-archive.el" "gnus/mm-bodies.el" "gnus/mm-decode.el" |
| 32273 | ;;;;;; "gnus/mm-decode.el" "gnus/mm-util.el" "gnus/mm-view.el" "gnus/mml-sec.el" | 32326 | ;;;;;; "gnus/mm-util.el" "gnus/mm-view.el" "gnus/mml-sec.el" "gnus/mml-smime.el" |
| 32274 | ;;;;;; "gnus/mml-smime.el" "gnus/nnagent.el" "gnus/nnbabyl.el" "gnus/nndir.el" | 32327 | ;;;;;; "gnus/nnagent.el" "gnus/nnbabyl.el" "gnus/nndir.el" "gnus/nndraft.el" |
| 32275 | ;;;;;; "gnus/nndraft.el" "gnus/nneething.el" "gnus/nngateway.el" | 32328 | ;;;;;; "gnus/nneething.el" "gnus/nngateway.el" "gnus/nnheader.el" |
| 32276 | ;;;;;; "gnus/nnheader.el" "gnus/nnimap.el" "gnus/nnir.el" "gnus/nnmail.el" | 32329 | ;;;;;; "gnus/nnimap.el" "gnus/nnir.el" "gnus/nnmail.el" "gnus/nnmaildir.el" |
| 32277 | ;;;;;; "gnus/nnmaildir.el" "gnus/nnmairix.el" "gnus/nnmbox.el" "gnus/nnmh.el" | 32330 | ;;;;;; "gnus/nnmairix.el" "gnus/nnmbox.el" "gnus/nnmh.el" "gnus/nnnil.el" |
| 32278 | ;;;;;; "gnus/nnnil.el" "gnus/nnoo.el" "gnus/nnregistry.el" "gnus/nnrss.el" | 32331 | ;;;;;; "gnus/nnoo.el" "gnus/nnregistry.el" "gnus/nnrss.el" "gnus/nnspool.el" |
| 32279 | ;;;;;; "gnus/nnspool.el" "gnus/nntp.el" "gnus/nnvirtual.el" "gnus/nnweb.el" | 32332 | ;;;;;; "gnus/nntp.el" "gnus/nnvirtual.el" "gnus/nnweb.el" "gnus/registry.el" |
| 32280 | ;;;;;; "gnus/registry.el" "gnus/rfc1843.el" "gnus/rfc2045.el" "gnus/rfc2047.el" | 32333 | ;;;;;; "gnus/rfc1843.el" "gnus/rfc2045.el" "gnus/rfc2047.el" "gnus/rfc2104.el" |
| 32281 | ;;;;;; "gnus/rfc2104.el" "gnus/rfc2231.el" "gnus/rtree.el" "gnus/shr-color.el" | 32334 | ;;;;;; "gnus/rfc2231.el" "gnus/rtree.el" "gnus/shr-color.el" "gnus/sieve-manage.el" |
| 32282 | ;;;;;; "gnus/sieve-manage.el" "gnus/smime.el" "gnus/spam-stat.el" | 32335 | ;;;;;; "gnus/smime.el" "gnus/spam-stat.el" "gnus/spam-wash.el" "hex-util.el" |
| 32283 | ;;;;;; "gnus/spam-wash.el" "hex-util.el" "hfy-cmap.el" "ibuf-ext.el" | 32336 | ;;;;;; "hfy-cmap.el" "ibuf-ext.el" "international/cp51932.el" "international/eucjp-ms.el" |
| 32284 | ;;;;;; "international/cp51932.el" "international/eucjp-ms.el" "international/fontset.el" | 32337 | ;;;;;; "international/fontset.el" "international/iso-ascii.el" "international/ja-dic-cnv.el" |
| 32285 | ;;;;;; "international/iso-ascii.el" "international/ja-dic-cnv.el" | ||
| 32286 | ;;;;;; "international/ja-dic-utl.el" "international/ogonek.el" "international/uni-bidi.el" | 32338 | ;;;;;; "international/ja-dic-utl.el" "international/ogonek.el" "international/uni-bidi.el" |
| 32287 | ;;;;;; "international/uni-category.el" "international/uni-combining.el" | 32339 | ;;;;;; "international/uni-category.el" "international/uni-combining.el" |
| 32288 | ;;;;;; "international/uni-comment.el" "international/uni-decimal.el" | 32340 | ;;;;;; "international/uni-comment.el" "international/uni-decimal.el" |
| @@ -32370,8 +32422,8 @@ Zone out, completely. | |||
| 32370 | ;;;;;; "vc/ediff-ptch.el" "vc/ediff-vers.el" "vc/ediff-wind.el" | 32422 | ;;;;;; "vc/ediff-ptch.el" "vc/ediff-vers.el" "vc/ediff-wind.el" |
| 32371 | ;;;;;; "vc/pcvs-info.el" "vc/pcvs-parse.el" "vc/pcvs-util.el" "vc/vc-dav.el" | 32423 | ;;;;;; "vc/pcvs-info.el" "vc/pcvs-parse.el" "vc/pcvs-util.el" "vc/vc-dav.el" |
| 32372 | ;;;;;; "vcursor.el" "vt-control.el" "vt100-led.el" "w32-common-fns.el" | 32424 | ;;;;;; "vcursor.el" "vt-control.el" "vt100-led.el" "w32-common-fns.el" |
| 32373 | ;;;;;; "w32-fns.el" "w32-vars.el" "x-dnd.el") (20626 19627 425848 | 32425 | ;;;;;; "w32-fns.el" "w32-vars.el" "x-dnd.el") (20669 25890 774402 |
| 32374 | ;;;;;; 6000)) | 32426 | ;;;;;; 97000)) |
| 32375 | 32427 | ||
| 32376 | ;;;*** | 32428 | ;;;*** |
| 32377 | 32429 | ||
diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el index 2e4ffec1383..aa507897243 100644 --- a/lisp/mail/mailabbrev.el +++ b/lisp/mail/mailabbrev.el | |||
| @@ -472,10 +472,12 @@ of a mail alias. The value is set up, buffer-local, when first needed.") | |||
| 472 | 472 | ||
| 473 | (defun mail-abbrev-expand-wrapper (expand) | 473 | (defun mail-abbrev-expand-wrapper (expand) |
| 474 | (if (and mail-abbrevs (not (eq mail-abbrevs t))) | 474 | (if (and mail-abbrevs (not (eq mail-abbrevs t))) |
| 475 | (if (mail-abbrev-in-expansion-header-p) | 475 | (if (or (mail-abbrev-in-expansion-header-p) |
| 476 | ;; Necessary for `message-read-from-minibuffer' to work. | ||
| 477 | (window-minibuffer-p)) | ||
| 476 | 478 | ||
| 477 | ;; We are in a To: (or CC:, or whatever) header, and | 479 | ;; We are in a To: (or CC:, or whatever) header or a minibuffer, |
| 478 | ;; should use word-abbrevs to expand mail aliases. | 480 | ;; and should use word-abbrevs to expand mail aliases. |
| 479 | (let ((local-abbrev-table mail-abbrevs)) | 481 | (let ((local-abbrev-table mail-abbrevs)) |
| 480 | 482 | ||
| 481 | ;; Before anything else, resolve aliases if they need it. | 483 | ;; Before anything else, resolve aliases if they need it. |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index a2cb7cb9ee8..9c48788553b 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -100,6 +100,10 @@ its character representation and its display representation.") | |||
| 100 | "The current header display style choice, one of | 100 | "The current header display style choice, one of |
| 101 | 'normal (selected headers) or 'full (all headers).") | 101 | 'normal (selected headers) or 'full (all headers).") |
| 102 | 102 | ||
| 103 | (defvar rmail-mime-decoded nil | ||
| 104 | "Non-nil if message has been processed by `rmail-show-mime-function'.") | ||
| 105 | (put 'rmail-mime-decoded 'permanent-local t) ; for rmail-edit | ||
| 106 | |||
| 103 | (defgroup rmail nil | 107 | (defgroup rmail nil |
| 104 | "Mail reader for Emacs." | 108 | "Mail reader for Emacs." |
| 105 | :group 'mail) | 109 | :group 'mail) |
| @@ -2699,6 +2703,27 @@ N defaults to the current message." | |||
| 2699 | :group 'rmail | 2703 | :group 'rmail |
| 2700 | :version "23.1") | 2704 | :version "23.1") |
| 2701 | 2705 | ||
| 2706 | ;; FIXME? | ||
| 2707 | ;; rmail-show-mime-function does not unquote >From lines. Should it? | ||
| 2708 | (defcustom rmail-mbox-format 'mboxrd | ||
| 2709 | "The mbox format that your system uses. | ||
| 2710 | There is no way to determine this, so you should set the appropriate value. | ||
| 2711 | The formats quote lines containing \"From \" differently. | ||
| 2712 | The choices are: | ||
| 2713 | `mboxo' : lines that start with \"From \" quoted as \">From \" | ||
| 2714 | `mboxrd': lines that start with \">*From \" quoted with another \">\" | ||
| 2715 | The `mboxo' format is ambiguous, in that one cannot know whether | ||
| 2716 | a line starting with \">From \" originally had a \">\" or not. | ||
| 2717 | |||
| 2718 | It is not critical to set this to the correct value; it only affects | ||
| 2719 | how Rmail displays lines starting with \">*From \" in non-MIME messages. | ||
| 2720 | |||
| 2721 | See also `unrmail-mbox-format'." | ||
| 2722 | :type '(choice (const mboxrd) | ||
| 2723 | (const mboxro)) | ||
| 2724 | :version "24.4" | ||
| 2725 | :group 'rmail-files) | ||
| 2726 | |||
| 2702 | (defun rmail-show-message-1 (&optional msg) | 2727 | (defun rmail-show-message-1 (&optional msg) |
| 2703 | "Show message MSG (default: current message) using `rmail-view-buffer'. | 2728 | "Show message MSG (default: current message) using `rmail-view-buffer'. |
| 2704 | Return text to display in the minibuffer if MSG is out of | 2729 | Return text to display in the minibuffer if MSG is out of |
| @@ -2747,6 +2772,7 @@ The current mail message becomes the message displayed." | |||
| 2747 | (re-search-forward "mime-version: 1.0" nil t)) | 2772 | (re-search-forward "mime-version: 1.0" nil t)) |
| 2748 | (let ((rmail-buffer mbox-buf) | 2773 | (let ((rmail-buffer mbox-buf) |
| 2749 | (rmail-view-buffer view-buf)) | 2774 | (rmail-view-buffer view-buf)) |
| 2775 | (set (make-local-variable 'rmail-mime-decoded) t) | ||
| 2750 | (funcall rmail-show-mime-function)) | 2776 | (funcall rmail-show-mime-function)) |
| 2751 | (setq body-start (search-forward "\n\n" nil t)) | 2777 | (setq body-start (search-forward "\n\n" nil t)) |
| 2752 | (narrow-to-region beg (point)) | 2778 | (narrow-to-region beg (point)) |
| @@ -2791,11 +2817,15 @@ The current mail message becomes the message displayed." | |||
| 2791 | ;; Prepare the separator (blank line) before the body. | 2817 | ;; Prepare the separator (blank line) before the body. |
| 2792 | (goto-char (point-min)) | 2818 | (goto-char (point-min)) |
| 2793 | (insert "\n") | 2819 | (insert "\n") |
| 2794 | ;; Unquote quoted From lines | 2820 | ;; Unquote quoted From lines. |
| 2795 | (while (re-search-forward "^>+From " nil t) | 2821 | (let ((fromline (if (eq 'mboxrd rmail-mbox-format) |
| 2796 | (beginning-of-line) | 2822 | "^>+From " |
| 2797 | (delete-char 1) | 2823 | "^>From ")) |
| 2798 | (forward-line)) | 2824 | case-fold-search) |
| 2825 | (while (re-search-forward fromline nil t) | ||
| 2826 | (beginning-of-line) | ||
| 2827 | (delete-char 1) | ||
| 2828 | (forward-line))) | ||
| 2799 | (goto-char (point-min))) | 2829 | (goto-char (point-min))) |
| 2800 | ;; Copy the headers to the front of the message view buffer. | 2830 | ;; Copy the headers to the front of the message view buffer. |
| 2801 | (rmail-copy-headers beg end) | 2831 | (rmail-copy-headers beg end) |
| @@ -3869,6 +3899,7 @@ see the documentation of `rmail-resend'." | |||
| 3869 | (msgnum rmail-current-message) | 3899 | (msgnum rmail-current-message) |
| 3870 | (subject (concat "[" | 3900 | (subject (concat "[" |
| 3871 | (let ((from (or (mail-fetch-field "From") | 3901 | (let ((from (or (mail-fetch-field "From") |
| 3902 | ;; FIXME - huh? | ||
| 3872 | (mail-fetch-field ">From")))) | 3903 | (mail-fetch-field ">From")))) |
| 3873 | (if from | 3904 | (if from |
| 3874 | (concat (mail-strip-quoted-names from) ": ") | 3905 | (concat (mail-strip-quoted-names from) ": ") |
| @@ -4194,6 +4225,7 @@ This has an effect only if a summary buffer exists." | |||
| 4194 | ;; Put the summary buffer back on the screen, if user wants that. | 4225 | ;; Put the summary buffer back on the screen, if user wants that. |
| 4195 | (defun rmail-maybe-display-summary () | 4226 | (defun rmail-maybe-display-summary () |
| 4196 | (let ((selected (selected-window)) | 4227 | (let ((selected (selected-window)) |
| 4228 | (buffer (current-buffer)) | ||
| 4197 | window) | 4229 | window) |
| 4198 | ;; If requested, make sure the summary is displayed. | 4230 | ;; If requested, make sure the summary is displayed. |
| 4199 | (and rmail-summary-buffer (buffer-name rmail-summary-buffer) | 4231 | (and rmail-summary-buffer (buffer-name rmail-summary-buffer) |
| @@ -4215,7 +4247,8 @@ This has an effect only if a summary buffer exists." | |||
| 4215 | (progn | 4247 | (progn |
| 4216 | (select-window window) | 4248 | (select-window window) |
| 4217 | (enlarge-window (- rmail-summary-window-size (window-height)))) | 4249 | (enlarge-window (- rmail-summary-window-size (window-height)))) |
| 4218 | (select-window selected))))) | 4250 | (select-window selected) |
| 4251 | (set-buffer buffer))))) | ||
| 4219 | 4252 | ||
| 4220 | ;;;; *** Rmail Local Fontification *** | 4253 | ;;;; *** Rmail Local Fontification *** |
| 4221 | 4254 | ||
| @@ -4550,7 +4583,7 @@ encoded string (and the same mask) will decode the string." | |||
| 4550 | ;;; Start of automatically extracted autoloads. | 4583 | ;;; Start of automatically extracted autoloads. |
| 4551 | 4584 | ||
| 4552 | ;;;### (autoloads (rmail-edit-current-message) "rmailedit" "rmailedit.el" | 4585 | ;;;### (autoloads (rmail-edit-current-message) "rmailedit" "rmailedit.el" |
| 4553 | ;;;;;; "78b8b7d5c679935c118d595d473d7c5e") | 4586 | ;;;;;; "791ea184628feb6335fe3e29f7234934") |
| 4554 | ;;; Generated autoloads from rmailedit.el | 4587 | ;;; Generated autoloads from rmailedit.el |
| 4555 | 4588 | ||
| 4556 | (autoload 'rmail-edit-current-message "rmailedit" "\ | 4589 | (autoload 'rmail-edit-current-message "rmailedit" "\ |
| @@ -4707,7 +4740,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order. | |||
| 4707 | 4740 | ||
| 4708 | ;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic | 4741 | ;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic |
| 4709 | ;;;;;; rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels | 4742 | ;;;;;; rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels |
| 4710 | ;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "6cafe6b03e187b5836e3c359322b5cbf") | 4743 | ;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "856fc6e337d5398b302c448ee7a2315e") |
| 4711 | ;;; Generated autoloads from rmailsum.el | 4744 | ;;; Generated autoloads from rmailsum.el |
| 4712 | 4745 | ||
| 4713 | (autoload 'rmail-summary "rmailsum" "\ | 4746 | (autoload 'rmail-summary "rmailsum" "\ |
diff --git a/lisp/mail/rmailedit.el b/lisp/mail/rmailedit.el index e4e066bd642..004eb2e3247 100644 --- a/lisp/mail/rmailedit.el +++ b/lisp/mail/rmailedit.el | |||
| @@ -167,10 +167,25 @@ This function runs the hooks `text-mode-hook' and `rmail-edit-mode-hook'. | |||
| 167 | (if (or rmail-old-mime-state | 167 | (if (or rmail-old-mime-state |
| 168 | (not rmail-old-pruned)) | 168 | (not rmail-old-pruned)) |
| 169 | (forward-line 1)) | 169 | (forward-line 1)) |
| 170 | (while (re-search-forward "^>*From " nil t) | 170 | ;; When editing a non-MIME message, rmail-show-message-1 has unescaped |
| 171 | (beginning-of-line) | 171 | ;; ^>*From lines according to rmail-mbox-format. We are editing |
| 172 | (insert ">") | 172 | ;; the message as it was displayed, and need to put the escapes when done. |
| 173 | (forward-line)) | 173 | ;; When editing a MIME message, we are editing the "raw" message. |
| 174 | ;; ^>*From lines have not been escaped, but we still need to ensure | ||
| 175 | ;; a "^From " line is escaped so as not to break later parsing (?). | ||
| 176 | ;; With ^>+From lines, we have no way of knowing whether the person | ||
| 177 | ;; doing the editing escaped them or not, so it seems best to leave | ||
| 178 | ;; them alone. (This all assumes you are using rmailmm rather than | ||
| 179 | ;; something else that behaves differently.) | ||
| 180 | (let ((fromline (if (or (eq 'mboxo rmail-mbox-format) | ||
| 181 | rmail-mime-decoded) | ||
| 182 | "^From " | ||
| 183 | "^>*From ")) | ||
| 184 | case-fold-search) | ||
| 185 | (while (re-search-forward fromline nil t) | ||
| 186 | (beginning-of-line) | ||
| 187 | (insert ">") | ||
| 188 | (forward-line))) | ||
| 174 | ;; Make sure buffer ends with a blank line so as not to run this | 189 | ;; Make sure buffer ends with a blank line so as not to run this |
| 175 | ;; message together with the following one. | 190 | ;; message together with the following one. |
| 176 | (goto-char (point-max)) | 191 | (goto-char (point-max)) |
| @@ -201,6 +216,7 @@ This function runs the hooks `text-mode-hook' and `rmail-edit-mode-hook'. | |||
| 201 | (setq buffer-undo-list t) | 216 | (setq buffer-undo-list t) |
| 202 | (rmail-variables)) | 217 | (rmail-variables)) |
| 203 | ;; If text has really changed, mark message as edited. | 218 | ;; If text has really changed, mark message as edited. |
| 219 | ;; FIXME we should do the comparison before escaping From lines. | ||
| 204 | (unless (and (= (length old) (- (point-max) (point-min))) | 220 | (unless (and (= (length old) (- (point-max) (point-min))) |
| 205 | (string= old (buffer-substring (point-min) (point-max)))) | 221 | (string= old (buffer-substring (point-min) (point-max)))) |
| 206 | (setq old nil) | 222 | (setq old nil) |
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index 612ccbdfd9e..cacc6e19416 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el | |||
| @@ -428,7 +428,7 @@ nil for FUNCTION means all messages." | |||
| 428 | ;; This is how rmail makes the summary buffer reappear. | 428 | ;; This is how rmail makes the summary buffer reappear. |
| 429 | ;; We do this here to make the window the proper size. | 429 | ;; We do this here to make the window the proper size. |
| 430 | (rmail-select-summary nil) | 430 | (rmail-select-summary nil) |
| 431 | (set-buffer rmail-summary-buffer)) | 431 | (set-buffer sumbuf)) |
| 432 | (rmail-summary-goto-msg mesg t t) | 432 | (rmail-summary-goto-msg mesg t t) |
| 433 | (rmail-summary-construct-io-menu) | 433 | (rmail-summary-construct-io-menu) |
| 434 | (message "Computing summary lines...done"))) | 434 | (message "Computing summary lines...done"))) |
diff --git a/lisp/mail/unrmail.el b/lisp/mail/unrmail.el index bf7b9abe2c1..fd7e49a65d5 100644 --- a/lisp/mail/unrmail.el +++ b/lisp/mail/unrmail.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; unrmail.el --- convert Rmail Babyl files to mailbox files | 1 | ;;; unrmail.el --- convert Rmail Babyl files to mbox files |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1992, 2001-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1992, 2001-2012 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Maintainer: FSF | 5 | ;; Maintainer: FSF |
| 6 | ;; Keywords: mail | 6 | ;; Keywords: mail |
| @@ -26,7 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | ;;;###autoload | 27 | ;;;###autoload |
| 28 | (defun batch-unrmail () | 28 | (defun batch-unrmail () |
| 29 | "Convert old-style Rmail Babyl files to system inbox format. | 29 | "Convert old-style Rmail Babyl files to mbox format. |
| 30 | Specify the input Rmail Babyl file names as command line arguments. | 30 | Specify the input Rmail Babyl file names as command line arguments. |
| 31 | For each Rmail file, the corresponding output file name | 31 | For each Rmail file, the corresponding output file name |
| 32 | is made by adding `.mail' at the end. | 32 | is made by adding `.mail' at the end. |
| @@ -45,9 +45,26 @@ For example, invoke `emacs -batch -f batch-unrmail RMAIL'." | |||
| 45 | (declare-function mail-mbox-from "mail-utils" ()) | 45 | (declare-function mail-mbox-from "mail-utils" ()) |
| 46 | (defvar rmime-magic-string) ; in rmime.el, if you have it | 46 | (defvar rmime-magic-string) ; in rmime.el, if you have it |
| 47 | 47 | ||
| 48 | (defcustom unrmail-mbox-format 'mboxrd | ||
| 49 | "The mbox format that `unrmail' should produce. | ||
| 50 | These formats separate messages using lines that start with \"From \". | ||
| 51 | Therefore any lines in the message bodies that start with \"From \" | ||
| 52 | must be quoted. The `mboxo' format just prepends a \">\" to such lines. | ||
| 53 | This is not reversible, because given a line starting with \">From \" in | ||
| 54 | an mboxo file, it is not possible to know whether the original had a \">\" | ||
| 55 | or not. The `mxbord' format avoids this by also quoting \">From \" as | ||
| 56 | \">>From \", and so on. For this reason, mboxrd is recommended. | ||
| 57 | |||
| 58 | See also `rmail-mbox-format'." | ||
| 59 | :type '(choice (const mboxrd) | ||
| 60 | (const mboxro)) | ||
| 61 | :version "24.4" | ||
| 62 | :group 'rmail-files) | ||
| 63 | |||
| 48 | ;;;###autoload | 64 | ;;;###autoload |
| 49 | (defun unrmail (file to-file) | 65 | (defun unrmail (file to-file) |
| 50 | "Convert old-style Rmail Babyl file FILE to system inbox format file TO-FILE." | 66 | "Convert old-style Rmail Babyl file FILE to mbox format file TO-FILE. |
| 67 | The variable `unrmail-mbox-format' controls which mbox format to use." | ||
| 51 | (interactive "fUnrmail (babyl file): \nFUnrmail into (new mailbox file): ") | 68 | (interactive "fUnrmail (babyl file): \nFUnrmail into (new mailbox file): ") |
| 52 | (with-temp-buffer | 69 | (with-temp-buffer |
| 53 | ;; Read in the old Rmail file with no decoding. | 70 | ;; Read in the old Rmail file with no decoding. |
| @@ -224,13 +241,15 @@ For example, invoke `emacs -batch -f batch-unrmail RMAIL'." | |||
| 224 | (when keywords | 241 | (when keywords |
| 225 | (insert "X-RMAIL-KEYWORDS: " keywords "\n")) | 242 | (insert "X-RMAIL-KEYWORDS: " keywords "\n")) |
| 226 | (goto-char (point-min)) | 243 | (goto-char (point-min)) |
| 227 | ;; ``Quote'' "\nFrom " as "\n>From " | 244 | ;; Convert From to >From, etc. |
| 228 | ;; (note that this isn't really quoting, as there is no requirement | 245 | (let ((case-fold-search nil) |
| 229 | ;; that "\n[>]+From " be quoted in the same transparent way.) | 246 | (fromline (if (eq 'mboxrd unrmail-mbox-format) |
| 230 | (let ((case-fold-search nil)) | 247 | "^>*From " |
| 231 | (while (search-forward "\nFrom " nil t) | 248 | "^From "))) |
| 232 | (forward-char -5) | 249 | (while (re-search-forward fromline nil t) |
| 233 | (insert ?>))) | 250 | (beginning-of-line) |
| 251 | (insert ?>) | ||
| 252 | (forward-line 1))) | ||
| 234 | (goto-char (point-max)) | 253 | (goto-char (point-max)) |
| 235 | ;; Add terminator blank line to message. | 254 | ;; Add terminator blank line to message. |
| 236 | (insert "\n") | 255 | (insert "\n") |
diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index 756d2b949fa..cb2cba466f6 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in | |||
| @@ -104,27 +104,39 @@ WINS_CEDET=\ | |||
| 104 | cedet/semantic/symref \ | 104 | cedet/semantic/symref \ |
| 105 | cedet/semantic/wisent | 105 | cedet/semantic/wisent |
| 106 | 106 | ||
| 107 | WINS_BASIC=\ | 107 | # The list of subdirectories is subdivided into 4 more or less equal |
| 108 | # parts so that we could have 4-way parallelism while compiling Lisp | ||
| 109 | # files, which helps to slash bootstrap times. See the 'compile' | ||
| 110 | # target below. | ||
| 111 | WINS_BASIC1=\ | ||
| 108 | calc \ | 112 | calc \ |
| 109 | calendar \ | 113 | calendar \ |
| 110 | emacs-lisp \ | 114 | emacs-lisp \ |
| 111 | emulation \ | ||
| 112 | erc \ | 115 | erc \ |
| 113 | eshell \ | 116 | net \ |
| 117 | url | ||
| 118 | |||
| 119 | WINS_BASIC2=\ | ||
| 114 | gnus \ | 120 | gnus \ |
| 115 | international \ | 121 | international \ |
| 116 | language \ | 122 | language \ |
| 117 | mail \ | 123 | |
| 124 | |||
| 125 | WINS_BASIC3=\ | ||
| 126 | emulation \ | ||
| 118 | mh-e \ | 127 | mh-e \ |
| 119 | net \ | ||
| 120 | nxml \ | 128 | nxml \ |
| 121 | org \ | 129 | org \ |
| 122 | play \ | 130 | play \ |
| 123 | progmodes \ | ||
| 124 | textmodes \ | 131 | textmodes \ |
| 125 | url \ | ||
| 126 | vc | 132 | vc |
| 127 | 133 | ||
| 134 | WINS_BASIC4=\ | ||
| 135 | eshell \ | ||
| 136 | progmodes | ||
| 137 | |||
| 138 | WINS_BASIC= $(WINS_BASIC1) $(WINS_BASIC2) $(WINS_BASIC3) $(WINS_BASIC4) | ||
| 139 | |||
| 128 | # Directories with lisp files to compile, and to extract data from | 140 | # Directories with lisp files to compile, and to extract data from |
| 129 | # (customs, autoloads, etc.) | 141 | # (customs, autoloads, etc.) |
| 130 | WINS_UPDATES=$(WINS_BASIC) \ | 142 | WINS_UPDATES=$(WINS_BASIC) \ |
| @@ -311,22 +323,71 @@ TAGS-LISP-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsf | |||
| 311 | # compiled find the right files. | 323 | # compiled find the right files. |
| 312 | 324 | ||
| 313 | # Need separate version for sh and native cmd.exe | 325 | # Need separate version for sh and native cmd.exe |
| 314 | compile: $(lisp)/subdirs.el compile-$(SHELLTYPE) doit | 326 | compile: $(lisp)/subdirs.el compile0-$(SHELLTYPE) compile1-$(SHELLTYPE) compile2-$(SHELLTYPE) compile3-$(SHELLTYPE) compile4-$(SHELLTYPE) doit |
| 315 | 327 | ||
| 316 | compile-CMD: autoloads | 328 | compile0-CMD: autoloads |
| 317 | # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g | 329 | # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g |
| 318 | for %%f in ($(COMPILE_FIRST)) do \ | 330 | for %%f in ($(COMPILE_FIRST)) do \ |
| 319 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f | 331 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f |
| 320 | for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do \ | 332 | |
| 333 | compile1-CMD: autoloads compile0-CMD | ||
| 334 | for %%f in (. $(WINS_BASIC1)) do for %%g in (%%f/*.el) do \ | ||
| 321 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g | 335 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g |
| 322 | 336 | ||
| 323 | compile-SH: autoloads | 337 | compile2-CMD: autoloads compile0-CMD |
| 338 | for %%f in ($(WINS_BASIC2)) do for %%g in (%%f/*.el) do \ | ||
| 339 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g | ||
| 340 | |||
| 341 | compile3-CMD: autoloads compile0-CMD | ||
| 342 | for %%f in ($(WINS_BASIC3)) do for %%g in (%%f/*.el) do \ | ||
| 343 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g | ||
| 344 | |||
| 345 | compile4-CMD: autoloads compile0-CMD | ||
| 346 | for %%f in ($(WINS_BASIC4) $(WINS_CEDET) term obsolete) do for %%g in (%%f/*.el) do \ | ||
| 347 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g | ||
| 348 | |||
| 349 | compile0-SH: autoloads | ||
| 324 | # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done | 350 | # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done |
| 325 | for el in $(COMPILE_FIRST); do \ | 351 | for el in $(COMPILE_FIRST); do \ |
| 326 | echo Compiling $$el; \ | 352 | echo Compiling $$el; \ |
| 327 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ | 353 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ |
| 328 | done | 354 | done |
| 329 | for dir in $(lisp) $(WINS); do \ | 355 | |
| 356 | compile1-SH: autoloads compile0-SH | ||
| 357 | for dir in $(lisp) $(WINS_BASIC1); do \ | ||
| 358 | for el in $$dir/*.el; do \ | ||
| 359 | if test -f $$el; \ | ||
| 360 | then \ | ||
| 361 | echo Compiling $$el; \ | ||
| 362 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ | ||
| 363 | fi \ | ||
| 364 | done; \ | ||
| 365 | done | ||
| 366 | |||
| 367 | compile2-SH: autoloads compile0-SH | ||
| 368 | for dir in $(WINS_BASIC2); do \ | ||
| 369 | for el in $$dir/*.el; do \ | ||
| 370 | if test -f $$el; \ | ||
| 371 | then \ | ||
| 372 | echo Compiling $$el; \ | ||
| 373 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ | ||
| 374 | fi \ | ||
| 375 | done; \ | ||
| 376 | done | ||
| 377 | |||
| 378 | compile3-SH: autoloads compile0-SH | ||
| 379 | for dir in $(WINS_BASIC3); do \ | ||
| 380 | for el in $$dir/*.el; do \ | ||
| 381 | if test -f $$el; \ | ||
| 382 | then \ | ||
| 383 | echo Compiling $$el; \ | ||
| 384 | $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ | ||
| 385 | fi \ | ||
| 386 | done; \ | ||
| 387 | done | ||
| 388 | |||
| 389 | compile4-SH: autoloads compile0-SH | ||
| 390 | for dir in $(WINS_BASIC4) $(WINS_CEDET) terms obsolete; do \ | ||
| 330 | for el in $$dir/*.el; do \ | 391 | for el in $$dir/*.el; do \ |
| 331 | if test -f $$el; \ | 392 | if test -f $$el; \ |
| 332 | then \ | 393 | then \ |
| @@ -447,23 +508,24 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) $(lisp)/subdirs.el | |||
| 447 | $(ARGQUOTE)$(lisp)/mh-e/mh-loaddefs.el$(ARGQUOTE) $(MAKE) ./mh-e | 508 | $(ARGQUOTE)$(lisp)/mh-e/mh-loaddefs.el$(ARGQUOTE) $(MAKE) ./mh-e |
| 448 | 509 | ||
| 449 | # Update TRAMP internal autoloads. Maybe we could move tramp*.el into | 510 | # Update TRAMP internal autoloads. Maybe we could move tramp*.el into |
| 450 | # its own subdirectory. OTOH, it does not hurt to keep them in | 511 | # an own subdirectory. OTOH, it does not hurt to keep them in |
| 451 | # lisp/net. | 512 | # lisp/net. |
| 452 | TRAMP_SRC = $(lisp)/net/tramp.el $(lisp)/net/tramp-cache.el \ | 513 | TRAMP_DIR = $(lisp)/net |
| 453 | $(lisp)/net/tramp-cmds.el $(lisp)/net/tramp-compat.el \ | 514 | TRAMP_SRC = $(TRAMP_DIR)/tramp.el $(TRAMP_DIR)/tramp-adb.el \ |
| 454 | $(lisp)/net/tramp-ftp.el $(lisp)/net/tramp-gvfs.el \ | 515 | $(TRAMP_DIR)/tramp-cache.el $(TRAMP_DIR)/tramp-cmds.el \ |
| 455 | $(lisp)/net/tramp-gw.el $(lisp)/net/tramp-sh.el \ | 516 | $(TRAMP_DIR)/tramp-compat.el $(TRAMP_DIR)/tramp-ftp.el \ |
| 456 | $(lisp)/net/tramp-smb.el $(lisp)/net/tramp-uu.el \ | 517 | $(TRAMP_DIR)/tramp-gvfs.el $(TRAMP_DIR)/tramp-gw.el \ |
| 457 | $(lisp)/net/trampver.el | 518 | $(TRAMP_DIR)/tramp-sh.el $(TRAMP_DIR)/tramp-smb.el \ |
| 458 | 519 | $(TRAMP_DIR)/tramp-uu.el $(TRAMP_DIR)/trampver.el | |
| 459 | $(lisp)/net/tramp-loaddefs.el: $(TRAMP_SRC) $(lisp)/subdirs.el | 520 | |
| 521 | $(TRAMP_DIR)/tramp-loaddefs.el: $(TRAMP_SRC) $(lisp)/subdirs.el | ||
| 460 | "$(EMACS)" $(EMACSOPT) \ | 522 | "$(EMACS)" $(EMACSOPT) \ |
| 461 | -l autoload \ | 523 | -l autoload \ |
| 462 | --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###tramp-autoload$(DQUOTE))$(ARGQUOTE) \ | 524 | --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###tramp-autoload$(DQUOTE))$(ARGQUOTE) \ |
| 463 | --eval $(ARGQUOTE)(setq find-file-suppress-same-file-warnings t)$(ARGQUOTE) \ | 525 | --eval $(ARGQUOTE)(setq find-file-suppress-same-file-warnings t)$(ARGQUOTE) \ |
| 464 | --eval $(ARGQUOTE)(setq make-backup-files nil)$(ARGQUOTE) \ | 526 | --eval $(ARGQUOTE)(setq make-backup-files nil)$(ARGQUOTE) \ |
| 465 | -f w32-batch-update-autoloads \ | 527 | -f w32-batch-update-autoloads \ |
| 466 | $(ARGQUOTE)$(lisp)/net/tramp-loaddefs.el$(ARGQUOTE) $(MAKE) ./net | 528 | $(ARGQUOTE)$(TRAMP_DIR)/tramp-loaddefs.el$(ARGQUOTE) $(MAKE) ./net |
| 467 | 529 | ||
| 468 | # Prepare a bootstrap in the lisp subdirectory. | 530 | # Prepare a bootstrap in the lisp subdirectory. |
| 469 | # | 531 | # |
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index adc8707f011..cf8f1ac2b16 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,3 +1,136 @@ | |||
| 1 | 2012-11-25 Bill Wohler <wohler@newt.com> | ||
| 2 | |||
| 3 | Release MH-E version 8.4. | ||
| 4 | |||
| 5 | * mh-e.el (Version, mh-version): Update for release 8.4. | ||
| 6 | |||
| 7 | * mh-comp.el (mh-regexp-in-field-syntax-table): Fix docstring. | ||
| 8 | (mh-edit-again): Format. | ||
| 9 | (mh-components-to-list): Fix docstring. | ||
| 10 | (mh-regexp-in-field-p): Remove unused variable `field'. | ||
| 11 | |||
| 12 | * mh-compat.el (mh-define-obsolete-variable-alias) | ||
| 13 | (mh-make-obsolete-variable): New macros to fix XEmacs compiler | ||
| 14 | warnings. | ||
| 15 | |||
| 16 | * mh-letter.el (mh-yank-hooks): Use new mh-make-obsolete-variable | ||
| 17 | macro. | ||
| 18 | |||
| 19 | * mh-e.el (mh-kill-folder-suppress-prompt-hooks): Use | ||
| 20 | new mh-define-obsolete-variable-alias macro. | ||
| 21 | |||
| 22 | * mh-compat.el (mh-cl-flet): New alias for cl-flet on Emacs 24 and | ||
| 23 | flet elsewhere. | ||
| 24 | |||
| 25 | * mh-thread.el (mh-thread-set-tables): Replace flet with new alias | ||
| 26 | mh-cl-flet. | ||
| 27 | |||
| 28 | * mh-show.el (mh-gnus-article-highlight-citation): | ||
| 29 | Replace flet with new alias mh-cl-flet. | ||
| 30 | |||
| 31 | * mh-mime.el (mh-display-with-external-viewer, mh-mime-display) | ||
| 32 | (mh-press-button, mh-push-button, mh-display-emphasis): Replace | ||
| 33 | flet with new alias mh-cl-flet. | ||
| 34 | |||
| 35 | * mh-e.el (mh-invisible-header-fields-internal): | ||
| 36 | Remove trailing whitespace. | ||
| 37 | |||
| 38 | 2012-11-25 Jeffrey C Honig <jch@honig.net> | ||
| 39 | |||
| 40 | * mh-comp.el: (mh-edit-again): Use the components file to specify | ||
| 41 | default values for missing headers in the draft. | ||
| 42 | (mh-regexp-in-field-syntax-table, mh-fcc-syntax-table) | ||
| 43 | (mh-addr-syntax-table, mh-regexp-in-field-p): Use a syntax table | ||
| 44 | so we'll properly parse non-address fields. | ||
| 45 | (mh-components-to-list, mh-extract-header-field): New functions to | ||
| 46 | read components file. | ||
| 47 | (mh-find-components, mh-send-sub): Move code to locate components | ||
| 48 | file into a new function. | ||
| 49 | (mh-insert-auto-fields, mh-modify-header-field): New syntax for | ||
| 50 | calling mh-regexp-in-field-p (closes SF #1708292). | ||
| 51 | |||
| 52 | * mh-e.el (mh-invisible-header-fields-internal): Added: X-xsi. | ||
| 53 | (addresses SF #1916032). | ||
| 54 | |||
| 55 | * mh-folder.el (mh-inc-folder): Call mh-process-or-undo-commands | ||
| 56 | before running to insure we do not lose any pending changes. | ||
| 57 | (closes SF #2321115). | ||
| 58 | |||
| 59 | 2012-11-25 Ted Phelps <phelps@gnusto.com> | ||
| 60 | |||
| 61 | Postpone junk processing (closes SF #2945712). Patch submitted by | ||
| 62 | Ted Phelps and refined by Bill Wohler. | ||
| 63 | |||
| 64 | * mh-e.el (mh-blacklist, mh-whitelist): New variables. | ||
| 65 | (mh-whitelist-preserves-sequences-flag): New option. | ||
| 66 | (mh-before-commands-processed-hook): Update documentation. | ||
| 67 | (mh-blacklist-msg-hook, mh-whitelist-msg-hook): New hooks. | ||
| 68 | (mh-folder-blacklisted, mh-folder-whitelisted): New faces. | ||
| 69 | * mh-folder.el (mh-folder-message-menu): Add "Junk" to "Undo." | ||
| 70 | (mh-folder-font-lock-keywords): Add regexps for blacklisted and | ||
| 71 | whitelisted messages. | ||
| 72 | (mh-folder-mode): Add mh-blacklist and mh-whitelist variables. | ||
| 73 | (mh-execute-commands): Update documentation. | ||
| 74 | (mh-undo, mh-outstanding-commands-p, mh-process-commands) | ||
| 75 | (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg): Handle | ||
| 76 | blacklisted and whitelisted messages. | ||
| 77 | * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Update to put | ||
| 78 | messages in blacklist and whitelist respectively for latter | ||
| 79 | processing. | ||
| 80 | (mh-blacklist-a-msg, mh-junk-whitelist-a-msg): New function to | ||
| 81 | support previous functions. | ||
| 82 | (mh-junk-blacklist-disposition): New function. | ||
| 83 | (mh-junk-process-blacklist, mh-junk-process-whitelist): New | ||
| 84 | functions that perform the blacklisting and whitelisting | ||
| 85 | respectively that used to be performed by mh-junk-blacklist and | ||
| 86 | mh-junk-whitelist. | ||
| 87 | * mh-scan.el (mh-scan-blacklisted-msg-regexp) | ||
| 88 | (mh-scan-whitelisted-msg-regexp): New scan line regexps. | ||
| 89 | (mh-scan-good-msg-regexp): Add B and W characters to regexp. | ||
| 90 | (mh-scan-cmd-note-width): Update documentation. | ||
| 91 | (mh-note-blacklisted, mh-note-whitelisted): New scan line | ||
| 92 | characters. | ||
| 93 | * mh-search.el (mh-index-execute-commands): Handle blacklisted and | ||
| 94 | whitelisted messages. | ||
| 95 | |||
| 96 | 2012-11-25 Jeffrey C Honig <jch@honig.net> | ||
| 97 | |||
| 98 | * mh-e.el (mh-invisible-header-fields-internal): Added: | ||
| 99 | Bounces-To:, Bounces_to:, X-ACL-Warn:, X-BFI:, X-BPS1:, X-BPS2:, | ||
| 100 | X-Campaign-Id:, X-Campaign:, X-Cloudmark-SP-, X-Destination-ID:, | ||
| 101 | X-detected-operating-system:, X-DocGen-Version:, X-EM-, | ||
| 102 | X-Email-Type-Id:, X-FB-SS:, X-FuHaFi:, X-MailFlowPolicy:, | ||
| 103 | X-mail_abuse-inquires, X-MailingID:, X-Match:, | ||
| 104 | X-MaxCode-Template:, X-ME-Bayesian:, X-Sendergroup:, X-SFDC-, | ||
| 105 | X-SMFBL:, X-SMHeaderMap:, X-VGI-OESCD:, X-VirtualServer:, | ||
| 106 | X-VirtualServerGroup:, X-XPT-XSL-Name:, X-Y-GMX-Trusted:, | ||
| 107 | X-XWALL-, X-ZixNet:. Changed X-Habeas-SWE- to X-Habeas-. Updated | ||
| 108 | the comment. (addresses SF #1916032). | ||
| 109 | |||
| 110 | 2012-11-25 Bill Wohler <wohler@newt.com> | ||
| 111 | |||
| 112 | * mh-e.el (mh-invisible-header-fields-internal): Add | ||
| 113 | X-AnalysisOut, X-Authentication-Info, X-Auto-Response-Suppress, | ||
| 114 | X-Bayes-Prob, X-Cam-, X-CanIt-Geo, X-Completed, X-Facebook, | ||
| 115 | X-Forwarded-, X-Generated-By, X-Headers-End, X-IEEE-UCE, | ||
| 116 | X-Jira-Fingerprint, X-Junkmail-, X-Launchpad-, X-MXL-Hash, | ||
| 117 | X-Notification-, X-Notifications, X-Oracle-Calendar. Replace | ||
| 118 | X-DCC-Usenix-Metrics with X-DCC- (addresses SF #1916032). | ||
| 119 | |||
| 120 | 2012-11-25 Jeffrey C Honig <jch@honig.net> | ||
| 121 | |||
| 122 | * mh-letter.el (mh-yank-cur-msg): Replace usage of set-buffer with | ||
| 123 | with-current-buffer in mh-yang-cur-msg, semantics changed in emacs | ||
| 124 | 23 and we do not want to use set-buffer unless we actually want to | ||
| 125 | change the buffer the user is looking at (closes SF #2830504). | ||
| 126 | |||
| 127 | * mh-show.el (mh-show-folder-map): Add missing key binding for | ||
| 128 | mh-show-pack-folder (closes SF #3466086). | ||
| 129 | |||
| 130 | 2012-11-25 Bill Wohler <wohler@newt.com> | ||
| 131 | |||
| 132 | * mh-e.el (Version, mh-version): Add +bzr to version. | ||
| 133 | |||
| 1 | 2012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> | 134 | 2012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 135 | ||
| 3 | * mh-letter.el (mh-yank-hooks): Use make-obsolete-variable. | 136 | * mh-letter.el (mh-yank-hooks): Use make-obsolete-variable. |
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el index b2a5f023224..3f2ee056bdf 100644 --- a/lisp/mh-e/mh-comp.el +++ b/lisp/mh-e/mh-comp.el | |||
| @@ -121,6 +121,42 @@ Used by the \\[mh-edit-again] and \\[mh-extract-rejected-mail] commands.") | |||
| 121 | syntax-table) | 121 | syntax-table) |
| 122 | "Syntax table used by MH-E while in MH-Letter mode.") | 122 | "Syntax table used by MH-E while in MH-Letter mode.") |
| 123 | 123 | ||
| 124 | (defvar mh-regexp-in-field-syntax-table nil | ||
| 125 | "Specify a syntax table for `mh-regexp-in-field-p' to use.") | ||
| 126 | |||
| 127 | (defvar mh-fcc-syntax-table | ||
| 128 | (let ((syntax-table (make-syntax-table text-mode-syntax-table))) | ||
| 129 | (modify-syntax-entry ?+ "w" syntax-table) | ||
| 130 | (modify-syntax-entry ?/ "w" syntax-table) | ||
| 131 | syntax-table) | ||
| 132 | "Syntax table used by MH-E while searching an Fcc field.") | ||
| 133 | |||
| 134 | (defvar mh-addr-syntax-table | ||
| 135 | (let ((syntax-table (make-syntax-table text-mode-syntax-table))) | ||
| 136 | (modify-syntax-entry ?! "w" syntax-table) | ||
| 137 | (modify-syntax-entry ?# "w" syntax-table) | ||
| 138 | (modify-syntax-entry ?$ "w" syntax-table) | ||
| 139 | (modify-syntax-entry ?% "w" syntax-table) | ||
| 140 | (modify-syntax-entry ?& "w" syntax-table) | ||
| 141 | (modify-syntax-entry ?' "w" syntax-table) | ||
| 142 | (modify-syntax-entry ?* "w" syntax-table) | ||
| 143 | (modify-syntax-entry ?+ "w" syntax-table) | ||
| 144 | (modify-syntax-entry ?- "w" syntax-table) | ||
| 145 | (modify-syntax-entry ?/ "w" syntax-table) | ||
| 146 | (modify-syntax-entry ?= "w" syntax-table) | ||
| 147 | (modify-syntax-entry ?? "w" syntax-table) | ||
| 148 | (modify-syntax-entry ?^ "w" syntax-table) | ||
| 149 | (modify-syntax-entry ?_ "w" syntax-table) | ||
| 150 | (modify-syntax-entry ?` "w" syntax-table) | ||
| 151 | (modify-syntax-entry ?{ "w" syntax-table) | ||
| 152 | (modify-syntax-entry ?| "w" syntax-table) | ||
| 153 | (modify-syntax-entry ?} "w" syntax-table) | ||
| 154 | (modify-syntax-entry ?~ "w" syntax-table) | ||
| 155 | (modify-syntax-entry ?. "w" syntax-table) | ||
| 156 | (modify-syntax-entry ?@ "w" syntax-table) | ||
| 157 | syntax-table) | ||
| 158 | "Syntax table used by MH-E while searching an address field.") | ||
| 159 | |||
| 124 | (defvar mh-send-args "" | 160 | (defvar mh-send-args "" |
| 125 | "Extra args to pass to \"send\" command.") | 161 | "Extra args to pass to \"send\" command.") |
| 126 | 162 | ||
| @@ -391,13 +427,81 @@ See also `mh-send'." | |||
| 391 | (mh-read-draft "clean-up" (mh-msg-filename message) nil))))) | 427 | (mh-read-draft "clean-up" (mh-msg-filename message) nil))))) |
| 392 | (mh-clean-msg-header (point-min) mh-new-draft-cleaned-headers nil) | 428 | (mh-clean-msg-header (point-min) mh-new-draft-cleaned-headers nil) |
| 393 | (mh-insert-header-separator) | 429 | (mh-insert-header-separator) |
| 430 | ;; Merge in components | ||
| 431 | (mh-mapc | ||
| 432 | (function | ||
| 433 | (lambda (header-field) | ||
| 434 | (let ((field (car header-field)) | ||
| 435 | (value (cdr header-field)) | ||
| 436 | (case-fold-search t)) | ||
| 437 | (cond | ||
| 438 | ;; Address field | ||
| 439 | ((string-match field "^To$\\|^Cc$\\|^From$") | ||
| 440 | (cond | ||
| 441 | ((not (mh-goto-header-field (concat field ":"))) | ||
| 442 | ;; Header field does not exist, add it | ||
| 443 | (mh-goto-header-end 0) | ||
| 444 | (insert field ": " value "\n")) | ||
| 445 | ((string-equal value "") | ||
| 446 | ;; Header field already exists and no value | ||
| 447 | ) | ||
| 448 | (t | ||
| 449 | ;; Header field exists and we have a value | ||
| 450 | (let (address mailbox (alias (mh-alias-expand value))) | ||
| 451 | (and alias | ||
| 452 | (setq address (ietf-drums-parse-address alias)) | ||
| 453 | (setq mailbox (car address))) | ||
| 454 | ;; XXX - Need to parse all addresses out of field | ||
| 455 | (if (and | ||
| 456 | (not (mh-regexp-in-field-p | ||
| 457 | (concat "\\b" (regexp-quote value) "\\b") field)) | ||
| 458 | mailbox | ||
| 459 | (not (mh-regexp-in-field-p | ||
| 460 | (concat "\\b" (regexp-quote mailbox) "\\b") field))) | ||
| 461 | (insert " " value ",")) | ||
| 462 | )))) | ||
| 463 | ((string-match field "^Fcc$") | ||
| 464 | ;; Folder reference | ||
| 465 | (mh-modify-header-field field value)) | ||
| 466 | ;; Text field, that's an easy case | ||
| 467 | (t | ||
| 468 | (mh-modify-header-field field value)))))) | ||
| 469 | (mh-components-to-list (mh-find-components))) | ||
| 394 | (goto-char (point-min)) | 470 | (goto-char (point-min)) |
| 395 | (save-buffer) | 471 | (save-buffer) |
| 396 | (mh-compose-and-send-mail draft "" from-folder nil nil nil nil nil nil | 472 | (mh-compose-and-send-mail |
| 397 | config) | 473 | draft "" from-folder nil nil nil nil nil nil config) |
| 398 | (mh-letter-mode-message) | 474 | (mh-letter-mode-message) |
| 399 | (mh-letter-adjust-point))) | 475 | (mh-letter-adjust-point))) |
| 400 | 476 | ||
| 477 | (defun mh-extract-header-field () | ||
| 478 | "Extract field name and field value from the field at point. | ||
| 479 | Returns a list of field name and value (which may be null)." | ||
| 480 | (let ((end (save-excursion (mh-header-field-end) | ||
| 481 | (point)))) | ||
| 482 | (if (looking-at mh-letter-header-field-regexp) | ||
| 483 | (save-excursion | ||
| 484 | (goto-char (match-end 1)) | ||
| 485 | (forward-char 1) | ||
| 486 | (skip-chars-forward " \t") | ||
| 487 | (cons (match-string-no-properties 1) (buffer-substring-no-properties (point) end)))))) | ||
| 488 | |||
| 489 | |||
| 490 | (defun mh-components-to-list (components) | ||
| 491 | "Convert the COMPONENTS file to a list of field names and values." | ||
| 492 | (with-current-buffer (get-buffer-create mh-temp-buffer) | ||
| 493 | (erase-buffer) | ||
| 494 | (insert-file-contents components) | ||
| 495 | (goto-char (point-min)) | ||
| 496 | (let | ||
| 497 | ((header-fields nil)) | ||
| 498 | (while (mh-in-header-p) | ||
| 499 | (setq header-fields (append header-fields (list (mh-extract-header-field)))) | ||
| 500 | (mh-header-field-end) | ||
| 501 | (forward-char 1) | ||
| 502 | ) | ||
| 503 | header-fields))) | ||
| 504 | |||
| 401 | ;;;###mh-autoload | 505 | ;;;###mh-autoload |
| 402 | (defun mh-extract-rejected-mail (message) | 506 | (defun mh-extract-rejected-mail (message) |
| 403 | "Edit a MESSAGE that was returned by the mail system. | 507 | "Edit a MESSAGE that was returned by the mail system. |
| @@ -773,6 +877,22 @@ Optional argument BUFFER can be used to specify the buffer." | |||
| 773 | (t | 877 | (t |
| 774 | nil)))) | 878 | nil)))) |
| 775 | 879 | ||
| 880 | (defun mh-find-components () | ||
| 881 | "Return the path to the components file." | ||
| 882 | (let (components) | ||
| 883 | (cond | ||
| 884 | ((file-exists-p | ||
| 885 | (setq components | ||
| 886 | (expand-file-name mh-comp-formfile mh-user-path))) | ||
| 887 | components) | ||
| 888 | ((file-exists-p | ||
| 889 | (setq components | ||
| 890 | (expand-file-name mh-comp-formfile mh-lib))) | ||
| 891 | components) | ||
| 892 | (t | ||
| 893 | (error "Can't find %s in %s or %s" | ||
| 894 | mh-comp-formfile mh-user-path mh-lib))))) | ||
| 895 | |||
| 776 | (defun mh-send-sub (to cc subject config) | 896 | (defun mh-send-sub (to cc subject config) |
| 777 | "Do the real work of composing and sending a letter. | 897 | "Do the real work of composing and sending a letter. |
| 778 | Expects the TO, CC, and SUBJECT fields as arguments. | 898 | Expects the TO, CC, and SUBJECT fields as arguments. |
| @@ -782,19 +902,7 @@ CONFIG is the window configuration before sending mail." | |||
| 782 | (message "Composing a message...") | 902 | (message "Composing a message...") |
| 783 | (let ((draft (mh-read-draft | 903 | (let ((draft (mh-read-draft |
| 784 | "message" | 904 | "message" |
| 785 | (let (components) | 905 | (mh-find-components) |
| 786 | (cond | ||
| 787 | ((file-exists-p | ||
| 788 | (setq components | ||
| 789 | (expand-file-name mh-comp-formfile mh-user-path))) | ||
| 790 | components) | ||
| 791 | ((file-exists-p | ||
| 792 | (setq components | ||
| 793 | (expand-file-name mh-comp-formfile mh-lib))) | ||
| 794 | components) | ||
| 795 | (t | ||
| 796 | (error "Can't find %s in %s or %s" | ||
| 797 | mh-comp-formfile mh-user-path mh-lib)))) | ||
| 798 | nil))) | 906 | nil))) |
| 799 | (mh-insert-fields "To:" to "Subject:" subject "Cc:" cc) | 907 | (mh-insert-fields "To:" to "Subject:" subject "Cc:" cc) |
| 800 | (goto-char (point-max)) | 908 | (goto-char (point-max)) |
| @@ -1071,7 +1179,7 @@ discarded." | |||
| 1071 | (insert " " value) | 1179 | (insert " " value) |
| 1072 | (delete-region (point) (mh-line-end-position))) | 1180 | (delete-region (point) (mh-line-end-position))) |
| 1073 | ((and (not overwrite-flag) | 1181 | ((and (not overwrite-flag) |
| 1074 | (mh-regexp-in-field-p (concat "\\b" value "\\b") field)) | 1182 | (mh-regexp-in-field-p (concat "\\b" (regexp-quote value) "\\b") field)) |
| 1075 | ;; Already there, do nothing. | 1183 | ;; Already there, do nothing. |
| 1076 | ) | 1184 | ) |
| 1077 | ((and (not overwrite-flag) | 1185 | ((and (not overwrite-flag) |
| @@ -1083,18 +1191,33 @@ discarded." | |||
| 1083 | 1191 | ||
| 1084 | (defun mh-regexp-in-field-p (regexp &rest fields) | 1192 | (defun mh-regexp-in-field-p (regexp &rest fields) |
| 1085 | "Non-nil means REGEXP was found in FIELDS." | 1193 | "Non-nil means REGEXP was found in FIELDS." |
| 1086 | (save-excursion | 1194 | (let ((old-syntax-table (syntax-table))) |
| 1087 | (let ((search-result nil) | 1195 | (unwind-protect |
| 1088 | (field)) | 1196 | (save-excursion |
| 1089 | (while fields | 1197 | (let ((search-result nil)) |
| 1090 | (setq field (car fields)) | 1198 | (while fields |
| 1091 | (if (and (mh-goto-header-field field) | 1199 | (let ((field (car fields)) |
| 1092 | (re-search-forward | 1200 | (syntax-table mh-regexp-in-field-syntax-table)) |
| 1093 | regexp (save-excursion (mh-header-field-end)(point)) t)) | 1201 | (if (null syntax-table) |
| 1094 | (setq fields nil | 1202 | (let ((case-fold-search t)) |
| 1095 | search-result t) | 1203 | (cond |
| 1096 | (setq fields (cdr fields)))) | 1204 | ((string-match field "^To$\\|^[BD]?cc$\\|^From$") |
| 1097 | search-result))) | 1205 | (setq syntax-table mh-addr-syntax-table)) |
| 1206 | ((string-match field "^Fcc$") | ||
| 1207 | (setq syntax-table mh-fcc-syntax-table)) | ||
| 1208 | (t | ||
| 1209 | (setq syntax-table (syntax-table))) | ||
| 1210 | ))) | ||
| 1211 | (if (and (mh-goto-header-field field) | ||
| 1212 | (set-syntax-table syntax-table) | ||
| 1213 | (re-search-forward | ||
| 1214 | regexp (save-excursion (mh-header-field-end)(point)) t)) | ||
| 1215 | (setq fields nil | ||
| 1216 | search-result t) | ||
| 1217 | (setq fields (cdr fields))) | ||
| 1218 | (set-syntax-table old-syntax-table))) | ||
| 1219 | search-result)) | ||
| 1220 | (set-syntax-table old-syntax-table)))) | ||
| 1098 | 1221 | ||
| 1099 | (defun mh-ascii-buffer-p () | 1222 | (defun mh-ascii-buffer-p () |
| 1100 | "Check if current buffer is entirely composed of ASCII. | 1223 | "Check if current buffer is entirely composed of ASCII. |
diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el index 4a93109e7a4..973a5ca5833 100644 --- a/lisp/mh-e/mh-compat.el +++ b/lisp/mh-e/mh-compat.el | |||
| @@ -75,6 +75,12 @@ introduced in Emacs 22." | |||
| 75 | 'cancel-timer | 75 | 'cancel-timer |
| 76 | 'delete-itimer)) | 76 | 'delete-itimer)) |
| 77 | 77 | ||
| 78 | ;; Emacs 24 renamed flet to cl-flet. | ||
| 79 | (defalias 'mh-cl-flet | ||
| 80 | (if (fboundp 'cl-flet) | ||
| 81 | 'cl-flet | ||
| 82 | 'flet)) | ||
| 83 | |||
| 78 | (defun mh-display-color-cells (&optional display) | 84 | (defun mh-display-color-cells (&optional display) |
| 79 | "Return the number of color cells supported by DISPLAY. | 85 | "Return the number of color cells supported by DISPLAY. |
| 80 | This function is used by XEmacs to return 2 when `device-color-cells' | 86 | This function is used by XEmacs to return 2 when `device-color-cells' |
| @@ -242,6 +248,40 @@ This function returns nil on those systems." | |||
| 242 | This function returns nil on those systems." | 248 | This function returns nil on those systems." |
| 243 | nil) | 249 | nil) |
| 244 | 250 | ||
| 251 | (defmacro mh-define-obsolete-variable-alias | ||
| 252 | (obsolete-name current-name &optional when docstring) | ||
| 253 | "Make OBSOLETE-NAME a variable alias for CURRENT-NAME and mark it obsolete. | ||
| 254 | See documentation for `define-obsolete-variable-alias' for a description | ||
| 255 | of the arguments OBSOLETE-NAME, CURRENT-NAME, and perhaps WHEN | ||
| 256 | and DOCSTRING. This macro is used by XEmacs that lacks WHEN and | ||
| 257 | DOCSTRING arguments." | ||
| 258 | (if (featurep 'xemacs) | ||
| 259 | `(define-obsolete-variable-alias ,obsolete-name ,current-name) | ||
| 260 | `(define-obsolete-variable-alias ,obsolete-name ,current-name ,when ,docstring))) | ||
| 261 | |||
| 262 | (defmacro mh-make-obsolete-variable (obsolete-name current-name &optional when access-type) | ||
| 263 | "Make the byte-compiler warn that OBSOLETE-NAME is obsolete. | ||
| 264 | See documentation for `make-obsolete-variable' for a description | ||
| 265 | of the arguments OBSOLETE-NAME, CURRENT-NAME, and perhaps WHEN | ||
| 266 | and ACCESS-TYPE. This macro is used by XEmacs that lacks WHEN and | ||
| 267 | ACCESS-TYPE arguments." | ||
| 268 | (if (featurep 'xemacs) | ||
| 269 | `(make-obsolete-variable ,obsolete-name ,current-name) | ||
| 270 | `(make-obsolete-variable ,obsolete-name ,current-name ,when ,access-type))) | ||
| 271 | |||
| 272 | (defmacro mh-make-obsolete-variable (obsolete-name current-name &optional when access-type) | ||
| 273 | "Make the byte-compiler warn that OBSOLETE-NAME is obsolete. | ||
| 274 | See documentation for `make-obsolete-variable' for a description | ||
| 275 | of the arguments OBSOLETE-NAME, CURRENT-NAME, and perhaps WHEN | ||
| 276 | and ACCESS-TYPE. This macro is used by XEmacs that lacks WHEN and | ||
| 277 | ACCESS-TYPE arguments and by Emacs versions that lack ACCESS-TYPE, | ||
| 278 | introduced in Emacs 24." | ||
| 279 | (if (featurep 'xemacs) | ||
| 280 | `(make-obsolete-variable ,obsolete-name ,current-name) | ||
| 281 | (if (< emacs-major-version 24) | ||
| 282 | `(make-obsolete-variable ,obsolete-name ,current-name ,when) | ||
| 283 | `(make-obsolete-variable ,obsolete-name ,current-name ,when ,access-type)))) | ||
| 284 | |||
| 245 | (defun-mh mh-match-string-no-properties | 285 | (defun-mh mh-match-string-no-properties |
| 246 | match-string-no-properties (num &optional string) | 286 | match-string-no-properties (num &optional string) |
| 247 | "Return string of text matched by last search, without text properties. | 287 | "Return string of text matched by last search, without text properties. |
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el index 705c92b0b4c..3b37b9e799c 100644 --- a/lisp/mh-e/mh-e.el +++ b/lisp/mh-e/mh-e.el | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 6 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| 8 | ;; Version: 8.3.1 | 8 | ;; Version: 8.4 |
| 9 | ;; Keywords: mail | 9 | ;; Keywords: mail |
| 10 | 10 | ||
| 11 | ;; This file is part of GNU Emacs. | 11 | ;; This file is part of GNU Emacs. |
| @@ -127,7 +127,7 @@ | |||
| 127 | ;; Try to keep variables local to a single file. Provide accessors if | 127 | ;; Try to keep variables local to a single file. Provide accessors if |
| 128 | ;; variables are shared. Use this section as a last resort. | 128 | ;; variables are shared. Use this section as a last resort. |
| 129 | 129 | ||
| 130 | (defconst mh-version "8.3.1" "Version number of MH-E.") | 130 | (defconst mh-version "8.4" "Version number of MH-E.") |
| 131 | 131 | ||
| 132 | ;; Variants | 132 | ;; Variants |
| 133 | 133 | ||
| @@ -230,6 +230,11 @@ User's mail folder directory.") | |||
| 230 | (defvar mh-arrow-marker nil | 230 | (defvar mh-arrow-marker nil |
| 231 | "Marker for arrow display in fringe.") | 231 | "Marker for arrow display in fringe.") |
| 232 | 232 | ||
| 233 | (defvar mh-blacklist nil | ||
| 234 | "List of messages to use to train the junk filter. | ||
| 235 | This variable can be used by | ||
| 236 | `mh-before-commands-processed-hook'.") | ||
| 237 | |||
| 233 | (defvar mh-colors-available-flag nil | 238 | (defvar mh-colors-available-flag nil |
| 234 | "Non-nil means colors are available.") | 239 | "Non-nil means colors are available.") |
| 235 | 240 | ||
| @@ -291,6 +296,11 @@ Elements have the form (SEQUENCE . MESSAGES).") | |||
| 291 | "Stack of operations that change the folder view. | 296 | "Stack of operations that change the folder view. |
| 292 | These operations include narrowing or threading.") | 297 | These operations include narrowing or threading.") |
| 293 | 298 | ||
| 299 | (defvar mh-whitelist nil | ||
| 300 | "List of messages to use to train the junk filter. | ||
| 301 | This variable can be used by | ||
| 302 | `mh-before-commands-processed-hook'.") | ||
| 303 | |||
| 294 | ;; MH-Show Locals (alphabetical) | 304 | ;; MH-Show Locals (alphabetical) |
| 295 | 305 | ||
| 296 | (defvar mh-globals-hash (make-hash-table) | 306 | (defvar mh-globals-hash (make-hash-table) |
| @@ -2215,6 +2225,17 @@ commands." | |||
| 2215 | :group 'mh-sequences | 2225 | :group 'mh-sequences |
| 2216 | :package-version '(MH-E . "7.0")) | 2226 | :package-version '(MH-E . "7.0")) |
| 2217 | 2227 | ||
| 2228 | (defcustom-mh mh-whitelist-preserves-sequences-flag t | ||
| 2229 | "*Non-nil means that sequences are preserved when messages are whitelisted. | ||
| 2230 | |||
| 2231 | If a message is in any sequence (except \"Previous-Sequence:\" | ||
| 2232 | and \"cur\") when it is whitelisted, then it will still be in | ||
| 2233 | those sequences in the destination folder. If this behavior is | ||
| 2234 | not desired, then turn off this option." | ||
| 2235 | :type 'boolean | ||
| 2236 | :group 'mh-sequences | ||
| 2237 | :package-version '(MH-E . "8.4")) | ||
| 2238 | |||
| 2218 | ;;; Reading Your Mail (:group 'mh-show) | 2239 | ;;; Reading Your Mail (:group 'mh-show) |
| 2219 | 2240 | ||
| 2220 | (defcustom-mh mh-bury-show-buffer-flag t | 2241 | (defcustom-mh mh-bury-show-buffer-flag t |
| @@ -2400,7 +2421,8 @@ of citations entirely, choose \"None\"." | |||
| 2400 | ;; "X-Mailer:" ; | 2421 | ;; "X-Mailer:" ; |
| 2401 | ;; "X-Operator:" ; Similar to X-Mailer, so display it | 2422 | ;; "X-Operator:" ; Similar to X-Mailer, so display it |
| 2402 | 2423 | ||
| 2403 | ;; Keep fields alphabetized (set sort-fold-case to t first). | 2424 | ;; Keep fields alphabetized with case folding. Use M-:(setq |
| 2425 | ;; sort-fold-case t) from the minibuffer to accomplish this. | ||
| 2404 | ;; Mention source, if known. | 2426 | ;; Mention source, if known. |
| 2405 | (defvar mh-invisible-header-fields-internal | 2427 | (defvar mh-invisible-header-fields-internal |
| 2406 | '( | 2428 | '( |
| @@ -2418,6 +2440,8 @@ of citations entirely, choose \"None\"." | |||
| 2418 | "Auto-forwarded:" ; RFC 2156 | 2440 | "Auto-forwarded:" ; RFC 2156 |
| 2419 | "Autoforwarded:" ; RFC 2156 | 2441 | "Autoforwarded:" ; RFC 2156 |
| 2420 | "Bestservhost:" | 2442 | "Bestservhost:" |
| 2443 | "Bounces-To:" | ||
| 2444 | "Bounces_to:" | ||
| 2421 | "Bytes:" | 2445 | "Bytes:" |
| 2422 | "Cancel-Key:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2446 | "Cancel-Key:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2423 | "Cancel-Lock:" ; NNTP posts | 2447 | "Cancel-Lock:" ; NNTP posts |
| @@ -2523,9 +2547,11 @@ of citations entirely, choose \"None\"." | |||
| 2523 | "X-Abuse-Info:" | 2547 | "X-Abuse-Info:" |
| 2524 | "X-Accept-Language:" ; Netscape/Mozilla | 2548 | "X-Accept-Language:" ; Netscape/Mozilla |
| 2525 | "X-Ack:" | 2549 | "X-Ack:" |
| 2550 | "X-ACL-Warn:" ; http://www.exim.org | ||
| 2526 | "X-Admin:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2551 | "X-Admin:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2527 | "X-Administrivia-To:" | 2552 | "X-Administrivia-To:" |
| 2528 | "X-AMAZON" ; Amazon.com | 2553 | "X-AMAZON" ; Amazon.com |
| 2554 | "X-AnalysisOut:" ; Exchange | ||
| 2529 | "X-AntiAbuse:" ; cPanel | 2555 | "X-AntiAbuse:" ; cPanel |
| 2530 | "X-Antivirus-Scanner:" | 2556 | "X-Antivirus-Scanner:" |
| 2531 | "X-AOL-IP:" ; AOL WebMail | 2557 | "X-AOL-IP:" ; AOL WebMail |
| @@ -2535,18 +2561,30 @@ of citations entirely, choose \"None\"." | |||
| 2535 | "X-AuditID:" | 2561 | "X-AuditID:" |
| 2536 | "X-Authenticated-Info:" ; Verizon.net? | 2562 | "X-Authenticated-Info:" ; Verizon.net? |
| 2537 | "X-Authenticated-Sender:" ; AT&T Message Center (webmail) | 2563 | "X-Authenticated-Sender:" ; AT&T Message Center (webmail) |
| 2564 | "X-Authentication-Info:" ; verizon.net? | ||
| 2538 | "X-Authentication-Warning:" ; sendmail | 2565 | "X-Authentication-Warning:" ; sendmail |
| 2539 | "X-Authority-Analysis:" | 2566 | "X-Authority-Analysis:" |
| 2567 | "X-Auto-Response-Suppress:" ; Exchange | ||
| 2540 | "X-Barracuda-" ; Barracuda spam scores | 2568 | "X-Barracuda-" ; Barracuda spam scores |
| 2569 | "X-Bayes-Prob:" ; IEEE spam filter | ||
| 2541 | "X-Beenthere:" ; Mailman mailing list manager | 2570 | "X-Beenthere:" ; Mailman mailing list manager |
| 2571 | "X-BFI:" | ||
| 2542 | "X-Bigfish:" | 2572 | "X-Bigfish:" |
| 2543 | "X-Bogosity:" ; bogofilter | 2573 | "X-Bogosity:" ; bogofilter |
| 2574 | "X-BPS1:" ; http://www.boggletools.com | ||
| 2575 | "X-BPS2:" ; http://www.boggletools.com | ||
| 2544 | "X-Brightmail-Tracker:" ; Brightmail | 2576 | "X-Brightmail-Tracker:" ; Brightmail |
| 2545 | "X-BrightmailFiltered:" ; Brightmail | 2577 | "X-BrightmailFiltered:" ; Brightmail |
| 2546 | "X-Bugzilla-" ; Bugzilla | 2578 | "X-Bugzilla-" ; Bugzilla |
| 2579 | "X-Cam-" ; Cambridge scanners | ||
| 2580 | "X-Campaign-Id:" | ||
| 2581 | "X-Campaign:" | ||
| 2547 | "X-Campaignid:" | 2582 | "X-Campaignid:" |
| 2583 | "X-CanIt-Geo:" ; IEEE spam filter | ||
| 2584 | "X-Cloudmark-SP-" ; Cloudmark (www.cloudmark.com) | ||
| 2548 | "X-Comment:" ; AT&T Mailennium | 2585 | "X-Comment:" ; AT&T Mailennium |
| 2549 | "X-Complaints-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2586 | "X-Complaints-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2587 | "X-Completed:" | ||
| 2550 | "X-Confirm-Reading-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2588 | "X-Confirm-Reading-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2551 | "X-Content-Filtered-By:" | 2589 | "X-Content-Filtered-By:" |
| 2552 | "X-ContentStamp:" ; NetZero | 2590 | "X-ContentStamp:" ; NetZero |
| @@ -2554,18 +2592,23 @@ of citations entirely, choose \"None\"." | |||
| 2554 | "X-Cr-Hashedpuzzle:" | 2592 | "X-Cr-Hashedpuzzle:" |
| 2555 | "X-Cr-Puzzleid:" | 2593 | "X-Cr-Puzzleid:" |
| 2556 | "X-Cron-Env:" | 2594 | "X-Cron-Env:" |
| 2557 | "X-DCC-Usenix-Metrics:" | 2595 | "X-DCC-" ; SpamAssassin |
| 2558 | "X-Declude-" ; http://www.declude.com/x-note.htm | 2596 | "X-Declude-" ; http://www.declude.com/x-note.htm |
| 2559 | "X-Dedicated:" | 2597 | "X-Dedicated:" |
| 2560 | "X-Delivered" | 2598 | "X-Delivered" |
| 2599 | "X-Destination-ID:" | ||
| 2600 | "X-detected-operating-system:" ; GNU.ORG? | ||
| 2561 | "X-DH-Virus-" | 2601 | "X-DH-Virus-" |
| 2562 | "X-DMCA" | 2602 | "X-DMCA" |
| 2603 | "X-DocGen-Version:" ; DocGen | ||
| 2563 | "X-Domain:" | 2604 | "X-Domain:" |
| 2564 | "X-Echelon-Distraction" | 2605 | "X-Echelon-Distraction" |
| 2565 | "X-EFL-Spamscore:" ; MIT alumni spam filtering | 2606 | "X-EFL-Spamscore:" ; MIT alumni spam filtering |
| 2566 | "X-eGroups-" ; Egroups/yahoogroups mailing list manager | 2607 | "X-eGroups-" ; Egroups/yahoogroups mailing list manager |
| 2567 | "X-EID:" | 2608 | "X-EID:" |
| 2568 | "X-ELNK-Trace:" ; Earthlink mailer | 2609 | "X-ELNK-Trace:" ; Earthlink mailer |
| 2610 | "X-EM-" ; Some ecommerce software | ||
| 2611 | "X-Email-Type-Id:" ; Paypal http://www.paypal.com | ||
| 2569 | "X-Enigmail-Version:" | 2612 | "X-Enigmail-Version:" |
| 2570 | "X-Envelope-Date:" ; GNU mailutils | 2613 | "X-Envelope-Date:" ; GNU mailutils |
| 2571 | "X-Envelope-From:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2614 | "X-Envelope-From:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| @@ -2575,29 +2618,39 @@ of citations entirely, choose \"None\"." | |||
| 2575 | "X-Evolution:" ; Evolution mail client | 2618 | "X-Evolution:" ; Evolution mail client |
| 2576 | "X-ExtLoop" | 2619 | "X-ExtLoop" |
| 2577 | "X-Face:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2620 | "X-Face:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2621 | "X-Facebook" ; Facebook | ||
| 2622 | "X-FB-SS:" | ||
| 2578 | "X-fmx-" | 2623 | "X-fmx-" |
| 2579 | "X-Folder:" ; Spam | 2624 | "X-Folder:" ; Spam |
| 2625 | "X-Forwarded-" ; Google+ | ||
| 2580 | "X-From-Line" | 2626 | "X-From-Line" |
| 2627 | "X-FuHaFi:" ; http://www.gmx.net/ | ||
| 2628 | "X-Generated-By:" ; launchpad.net | ||
| 2581 | "X-Gmail-" ; Gmail | 2629 | "X-Gmail-" ; Gmail |
| 2582 | "X-Gnus-Mail-Source:" ; gnus | 2630 | "X-Gnus-Mail-Source:" ; gnus |
| 2583 | "X-Google-" ; Google mail | 2631 | "X-Google-" ; Google mail |
| 2584 | "X-Google-Sender-Auth:" | 2632 | "X-Google-Sender-Auth:" |
| 2585 | "X-Greylist:" ; milter-greylist-1.2.1 | 2633 | "X-Greylist:" ; milter-greylist-1.2.1 |
| 2586 | "X-Habeas-SWE-" ; Spam | 2634 | "X-Habeas-" ; http://www.returnpath.net |
| 2587 | "X-Hashcash:" ; hashcash | 2635 | "X-Hashcash:" ; hashcash |
| 2636 | "X-Headers-End:" ; SpamCop | ||
| 2588 | "X-HPL-" | 2637 | "X-HPL-" |
| 2589 | "X-HR-" | 2638 | "X-HR-" |
| 2590 | "X-HTTP-UserAgent:" | 2639 | "X-HTTP-UserAgent:" |
| 2591 | "X-Hz" ; Hertz | 2640 | "X-Hz" ; Hertz |
| 2592 | "X-Identity:" ; http://www.declude.com/x-note.htm | 2641 | "X-Identity:" ; http://www.declude.com/x-note.htm |
| 2642 | "X-IEEE-UCE-" ; IEEE spam filter | ||
| 2593 | "X-Image-URL:" | 2643 | "X-Image-URL:" |
| 2594 | "X-IMAP:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2644 | "X-IMAP:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2595 | "X-Info:" ; NTMail | 2645 | "X-Info:" ; NTMail |
| 2596 | "X-IronPort-" ; IronPort AV | 2646 | "X-IronPort-" ; IronPort AV |
| 2597 | "X-ISI-4-30-3-MailScanner:" | 2647 | "X-ISI-4-30-3-MailScanner:" |
| 2598 | "X-J2-" | 2648 | "X-J2-" |
| 2649 | "X-Jira-Fingerprint:" ; JIRA | ||
| 2650 | "X-Junkmail-" ; RCN? | ||
| 2599 | "X-Juno-" ; Juno | 2651 | "X-Juno-" ; Juno |
| 2600 | "X-Key:" | 2652 | "X-Key:" |
| 2653 | "X-Launchpad-" ; plaunchpad.net | ||
| 2601 | "X-List-Host:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2654 | "X-List-Host:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2602 | "X-List-Subscribe:" ; Unknown mailing list managers | 2655 | "X-List-Subscribe:" ; Unknown mailing list managers |
| 2603 | "X-List-Unsubscribe:" ; Unknown mailing list managers | 2656 | "X-List-Unsubscribe:" ; Unknown mailing list managers |
| @@ -2606,18 +2659,24 @@ of citations entirely, choose \"None\"." | |||
| 2606 | "X-Loop:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2659 | "X-Loop:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2607 | "X-Lrde-Mailscanner:" | 2660 | "X-Lrde-Mailscanner:" |
| 2608 | "X-Lumos-SenderID:" ; Roving ConstantContact | 2661 | "X-Lumos-SenderID:" ; Roving ConstantContact |
| 2662 | "X-mail_abuse_inquiries:" ; http://www.salesforce.com | ||
| 2609 | "X-Mail-from:" ; fastmail.fm | 2663 | "X-Mail-from:" ; fastmail.fm |
| 2610 | "X-MAIL-INFO:" ; NetZero | 2664 | "X-MAIL-INFO:" ; NetZero |
| 2611 | "X-Mailer_" | 2665 | "X-Mailer_" |
| 2666 | "X-MailFlowPolicy:" ; Cisco Email Security (formerly IronPort; http://www.ironport.com) | ||
| 2612 | "X-Mailing-List:" ; Unknown mailing list managers | 2667 | "X-Mailing-List:" ; Unknown mailing list managers |
| 2668 | "X-MailingID:" | ||
| 2613 | "X-Mailman-Approved-At:" ; Mailman mailing list manager | 2669 | "X-Mailman-Approved-At:" ; Mailman mailing list manager |
| 2614 | "X-Mailman-Version:" ; Mailman mailing list manager | 2670 | "X-Mailman-Version:" ; Mailman mailing list manager |
| 2615 | "X-MailScanner" ; ListProc(tm) by CREN | 2671 | "X-MailScanner" ; ListProc(tm) by CREN |
| 2616 | "X-Mailutils-Message-Id" ; GNU Mailutils | 2672 | "X-Mailutils-Message-Id" ; GNU Mailutils |
| 2617 | "X-Majordomo:" ; Majordomo mailing list manager | 2673 | "X-Majordomo:" ; Majordomo mailing list manager |
| 2674 | "X-Match:" | ||
| 2675 | "X-MaxCode-Template:" ; Paypal http://www.paypal.com | ||
| 2618 | "X-MB-Message-" ; AOL WebMail | 2676 | "X-MB-Message-" ; AOL WebMail |
| 2619 | "X-MDaemon-Deliver-To:" | 2677 | "X-MDaemon-Deliver-To:" |
| 2620 | "X-MDRemoteIP:" | 2678 | "X-MDRemoteIP:" |
| 2679 | "X-ME-Bayesian:" ; http://www.newmediadevelopment.net/page.cfm/parent/Client-Area/content/Managing-spam/ | ||
| 2621 | "X-Message-Id" | 2680 | "X-Message-Id" |
| 2622 | "X-Message-Type:" | 2681 | "X-Message-Type:" |
| 2623 | "X-MessageWall-Score:" ; Unknown mailing list manager, AUC TeX | 2682 | "X-MessageWall-Score:" ; Unknown mailing list manager, AUC TeX |
| @@ -2630,12 +2689,16 @@ of citations entirely, choose \"None\"." | |||
| 2630 | "X-MS-" ; MS Outlook | 2689 | "X-MS-" ; MS Outlook |
| 2631 | "X-Msmail-" ; MS Outlook | 2690 | "X-Msmail-" ; MS Outlook |
| 2632 | "X-MSMail-Priority" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2691 | "X-MSMail-Priority" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2692 | "X-MXL-Hash:" | ||
| 2633 | "X-NAI-Spam-" ; Network Associates Inc. SpamKiller | 2693 | "X-NAI-Spam-" ; Network Associates Inc. SpamKiller |
| 2634 | "X-News:" ; News | 2694 | "X-News:" ; News |
| 2635 | "X-Newsreader:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2695 | "X-Newsreader:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2636 | "X-No-Archive:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2696 | "X-No-Archive:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2637 | "X-Notes-Item:" ; Lotus Notes Domino structured header | 2697 | "X-Notes-Item:" ; Lotus Notes Domino structured header |
| 2698 | "X-Notification-" ; Google+ | ||
| 2699 | "X-Notifications:" ; Google+ | ||
| 2638 | "X-OperatingSystem:" | 2700 | "X-OperatingSystem:" |
| 2701 | "X-Oracle-Calendar:" ; Oracle calendar invitations | ||
| 2639 | "X-ORBL:" | 2702 | "X-ORBL:" |
| 2640 | "X-Orcl-Content-Type:" | 2703 | "X-Orcl-Content-Type:" |
| 2641 | "X-Organization:" | 2704 | "X-Organization:" |
| @@ -2652,6 +2715,7 @@ of citations entirely, choose \"None\"." | |||
| 2652 | "X-PID:" | 2715 | "X-PID:" |
| 2653 | "X-PMG-" | 2716 | "X-PMG-" |
| 2654 | "X-PMX-Version:" | 2717 | "X-PMX-Version:" |
| 2718 | "X-Policyd-Weight:" ; policyd-weight (Postfix) | ||
| 2655 | "X-Postfilter:" | 2719 | "X-Postfilter:" |
| 2656 | "X-Priority:" ; MS Outlook | 2720 | "X-Priority:" ; MS Outlook |
| 2657 | "X-Proofpoint-" ; Proofpoint mail filter | 2721 | "X-Proofpoint-" ; Proofpoint mail filter |
| @@ -2677,14 +2741,20 @@ of citations entirely, choose \"None\"." | |||
| 2677 | "X-SBRS:" | 2741 | "X-SBRS:" |
| 2678 | "X-SBRule:" ; Spam | 2742 | "X-SBRule:" ; Spam |
| 2679 | "X-Scanned-By:" | 2743 | "X-Scanned-By:" |
| 2744 | "X-Sender-ID:" ; Google+ | ||
| 2680 | "X-Sender:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2745 | "X-Sender:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2746 | "X-Sendergroup:" ; Cisco Email Security (formerly IronPort; http://www.ironport.com) | ||
| 2681 | "X-Server-Date:" | 2747 | "X-Server-Date:" |
| 2682 | "X-Server-Uuid:" | 2748 | "X-Server-Uuid:" |
| 2683 | "X-Service-Code:" | 2749 | "X-Service-Code:" |
| 2750 | "X-SFDC-" ; http://www.salesforce.com | ||
| 2684 | "X-Sieve:" ; Sieve filtering | 2751 | "X-Sieve:" ; Sieve filtering |
| 2752 | "X-SMFBL:" | ||
| 2753 | "X-SMHeaderMap:" | ||
| 2685 | "X-SMTP-" | 2754 | "X-SMTP-" |
| 2686 | "X-Source" | 2755 | "X-Source" |
| 2687 | "X-Spam-" ; Spamassassin | 2756 | "X-Spam-" ; SpamAssassin |
| 2757 | "X-Spam:" ; Exchange | ||
| 2688 | "X-SpamBouncer:" ; Spam | 2758 | "X-SpamBouncer:" ; Spam |
| 2689 | "X-SPF-" | 2759 | "X-SPF-" |
| 2690 | "X-Status" | 2760 | "X-Status" |
| @@ -2692,6 +2762,7 @@ of citations entirely, choose \"None\"." | |||
| 2692 | "X-Submissions-To:" | 2762 | "X-Submissions-To:" |
| 2693 | "X-Sun-Charset:" | 2763 | "X-Sun-Charset:" |
| 2694 | "X-Telecom-Digest" | 2764 | "X-Telecom-Digest" |
| 2765 | "X-TM-IMSS-Message-ID:" ; http://www.trendmicro.com | ||
| 2695 | "X-Trace:" | 2766 | "X-Trace:" |
| 2696 | "X-UID" | 2767 | "X-UID" |
| 2697 | "X-UIDL:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2768 | "X-UIDL:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| @@ -2702,15 +2773,23 @@ of citations entirely, choose \"None\"." | |||
| 2702 | "X-USANET-" ; usa.net | 2773 | "X-USANET-" ; usa.net |
| 2703 | "X-Usenet-Provider" | 2774 | "X-Usenet-Provider" |
| 2704 | "X-UserInfo1:" | 2775 | "X-UserInfo1:" |
| 2776 | "X-VGI-OESCD:" | ||
| 2777 | "X-VirtualServer:" | ||
| 2778 | "X-VirtualServerGroup:" | ||
| 2705 | "X-Virus-" ; | 2779 | "X-Virus-" ; |
| 2706 | "X-Vms-To:" | 2780 | "X-Vms-To:" |
| 2707 | "X-VSMLoop:" ; NTMail | 2781 | "X-VSMLoop:" ; NTMail |
| 2708 | "X-WebTV-Signature:" | 2782 | "X-WebTV-Signature:" |
| 2709 | "X-Wss-Id:" ; Worldtalk gateways | 2783 | "X-Wss-Id:" ; Worldtalk gateways |
| 2710 | "X-X-Sender:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ | 2784 | "X-X-Sender:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ |
| 2785 | "X-XPT-XSL-Name:" ; Paypal http://www.paypal.com | ||
| 2786 | "X-xsi-" | ||
| 2787 | "X-XWALL-" ; http://www.dataenter.co.at/doc/xwall_undocumented_config.htm | ||
| 2788 | "X-Y-GMX-Trusted:" ; http://www.gmx.net/ | ||
| 2711 | "X-Yahoo" | 2789 | "X-Yahoo" |
| 2712 | "X-Yahoo-Newman-" | 2790 | "X-Yahoo-Newman-" |
| 2713 | "X-YMail-" | 2791 | "X-YMail-" |
| 2792 | "X-ZixNet:" | ||
| 2714 | "X400-" ; X400 | 2793 | "X400-" ; X400 |
| 2715 | "Xref:" ; RFC 1036 | 2794 | "Xref:" ; RFC 1036 |
| 2716 | ) | 2795 | ) |
| @@ -3104,9 +3183,10 @@ annotated messages with `mh-annotate-list'." | |||
| 3104 | (defcustom-mh mh-before-commands-processed-hook nil | 3183 | (defcustom-mh mh-before-commands-processed-hook nil |
| 3105 | "Hook run by \\<mh-folder-mode-map>\\[mh-execute-commands] before performing outstanding refile and delete requests. | 3184 | "Hook run by \\<mh-folder-mode-map>\\[mh-execute-commands] before performing outstanding refile and delete requests. |
| 3106 | 3185 | ||
| 3107 | Variables that are useful in this hook include `mh-delete-list' | 3186 | Variables that are useful in this hook include `mh-delete-list', |
| 3108 | and `mh-refile-list' which can be used to see which changes will | 3187 | `mh-refile-list', `mh-blacklist', and `mh-whitelist' which can be |
| 3109 | be made to the current folder, `mh-current-folder'." | 3188 | used to see which changes will be made to the current folder, |
| 3189 | `mh-current-folder'." | ||
| 3110 | :type 'hook | 3190 | :type 'hook |
| 3111 | :group 'mh-hooks | 3191 | :group 'mh-hooks |
| 3112 | :group 'mh-folder | 3192 | :group 'mh-folder |
| @@ -3136,6 +3216,13 @@ before sending, add the `ispell-message' function." | |||
| 3136 | :group 'mh-letter | 3216 | :group 'mh-letter |
| 3137 | :package-version '(MH-E . "6.0")) | 3217 | :package-version '(MH-E . "6.0")) |
| 3138 | 3218 | ||
| 3219 | (defcustom-mh mh-blacklist-msg-hook nil | ||
| 3220 | "Hook run by \\<mh-letter-mode-map>\\[mh-junk-blacklist] after marking each message for blacklisting." | ||
| 3221 | :type 'hook | ||
| 3222 | :group 'mh-hooks | ||
| 3223 | :group 'mh-show | ||
| 3224 | :package-version '(MH-E . "8.4")) | ||
| 3225 | |||
| 3139 | (defcustom-mh mh-delete-msg-hook nil | 3226 | (defcustom-mh mh-delete-msg-hook nil |
| 3140 | "Hook run by \\<mh-letter-mode-map>\\[mh-delete-msg] after marking each message for deletion. | 3227 | "Hook run by \\<mh-letter-mode-map>\\[mh-delete-msg] after marking each message for deletion. |
| 3141 | 3228 | ||
| @@ -3189,7 +3276,7 @@ function used to insert the signature with | |||
| 3189 | :group 'mh-letter | 3276 | :group 'mh-letter |
| 3190 | :package-version '(MH-E . "8.0")) | 3277 | :package-version '(MH-E . "8.0")) |
| 3191 | 3278 | ||
| 3192 | (define-obsolete-variable-alias 'mh-kill-folder-suppress-prompt-hooks | 3279 | (mh-define-obsolete-variable-alias 'mh-kill-folder-suppress-prompt-hooks |
| 3193 | 'mh-kill-folder-suppress-prompt-functions "24.3") | 3280 | 'mh-kill-folder-suppress-prompt-functions "24.3") |
| 3194 | (defcustom-mh mh-kill-folder-suppress-prompt-functions '(mh-search-p) | 3281 | (defcustom-mh mh-kill-folder-suppress-prompt-functions '(mh-search-p) |
| 3195 | "Abnormal hook run at the beginning of \\<mh-folder-mode-map>\\[mh-kill-folder]. | 3282 | "Abnormal hook run at the beginning of \\<mh-folder-mode-map>\\[mh-kill-folder]. |
| @@ -3301,6 +3388,13 @@ sequence." | |||
| 3301 | :group 'mh-sequences | 3388 | :group 'mh-sequences |
| 3302 | :package-version '(MH-E . "6.0")) | 3389 | :package-version '(MH-E . "6.0")) |
| 3303 | 3390 | ||
| 3391 | (defcustom-mh mh-whitelist-msg-hook nil | ||
| 3392 | "Hook run by \\<mh-letter-mode-map>\\[mh-junk-whitelist] after marking each message for whitelisting." | ||
| 3393 | :type 'hook | ||
| 3394 | :group 'mh-hooks | ||
| 3395 | :group 'mh-show | ||
| 3396 | :package-version '(MH-E . "8.4")) | ||
| 3397 | |||
| 3304 | 3398 | ||
| 3305 | 3399 | ||
| 3306 | ;;; Faces (:group 'mh-faces + group where faces described) | 3400 | ;;; Faces (:group 'mh-faces + group where faces described) |
| @@ -3519,6 +3613,13 @@ specified colors." | |||
| 3519 | :group 'mh-folder | 3613 | :group 'mh-folder |
| 3520 | :package-version '(MH-E . "8.0")) | 3614 | :package-version '(MH-E . "8.0")) |
| 3521 | 3615 | ||
| 3616 | (defface-mh mh-folder-blacklisted | ||
| 3617 | (mh-face-data 'mh-folder-msg-number '((t (:inherit mh-folder-msg-number)))) | ||
| 3618 | "Blacklisted message face." | ||
| 3619 | :group 'mh-faces | ||
| 3620 | :group 'mh-folder | ||
| 3621 | :package-version '(MH-E . "8.4")) | ||
| 3622 | |||
| 3522 | (defface-mh mh-folder-body | 3623 | (defface-mh mh-folder-body |
| 3523 | (mh-face-data 'mh-folder-msg-number | 3624 | (mh-face-data 'mh-folder-msg-number |
| 3524 | '((((class color)) | 3625 | '((((class color)) |
| @@ -3608,6 +3709,13 @@ format `mh-scan-format-nmh' and the regular expression | |||
| 3608 | :group 'mh-folder | 3709 | :group 'mh-folder |
| 3609 | :package-version '(MH-E . "8.0")) | 3710 | :package-version '(MH-E . "8.0")) |
| 3610 | 3711 | ||
| 3712 | (defface-mh mh-folder-whitelisted | ||
| 3713 | (mh-face-data 'mh-folder-refiled '((t (:inherit mh-folder-refiled)))) | ||
| 3714 | "Whitelisted message face." | ||
| 3715 | :group 'mh-faces | ||
| 3716 | :group 'mh-folder | ||
| 3717 | :package-version '(MH-E . "8.4")) | ||
| 3718 | |||
| 3611 | (defface-mh mh-letter-header-field (mh-face-data 'mh-letter-header-field) | 3719 | (defface-mh mh-letter-header-field (mh-face-data 'mh-letter-header-field) |
| 3612 | "Editable header field value face in draft buffers." | 3720 | "Editable header field value face in draft buffers." |
| 3613 | :group 'mh-faces | 3721 | :group 'mh-faces |
diff --git a/lisp/mh-e/mh-folder.el b/lisp/mh-e/mh-folder.el index d9e6c74f3f3..6b5ff3b62e2 100644 --- a/lisp/mh-e/mh-folder.el +++ b/lisp/mh-e/mh-folder.el | |||
| @@ -162,9 +162,9 @@ annotation.") | |||
| 162 | ["Go to Last Message" mh-last-msg t] | 162 | ["Go to Last Message" mh-last-msg t] |
| 163 | ["Go to Message by Number..." mh-goto-msg t] | 163 | ["Go to Message by Number..." mh-goto-msg t] |
| 164 | ["Modify Message" mh-modify t] | 164 | ["Modify Message" mh-modify t] |
| 165 | ["Delete Message" mh-delete-msg (mh-get-msg-num nil)] | ||
| 166 | ["Refile Message" mh-refile-msg (mh-get-msg-num nil)] | 165 | ["Refile Message" mh-refile-msg (mh-get-msg-num nil)] |
| 167 | ["Undo Delete/Refile" mh-undo (mh-outstanding-commands-p)] | 166 | ["Delete Message" mh-delete-msg (mh-get-msg-num nil)] |
| 167 | ["Undo Delete/Refile/Junk" mh-undo (mh-outstanding-commands-p)] | ||
| 168 | ["Execute Delete/Refile" mh-execute-commands | 168 | ["Execute Delete/Refile" mh-execute-commands |
| 169 | (mh-outstanding-commands-p)] | 169 | (mh-outstanding-commands-p)] |
| 170 | "--" | 170 | "--" |
| @@ -405,12 +405,18 @@ See `mh-set-help'.") | |||
| 405 | ;; Folders when displaying index buffer | 405 | ;; Folders when displaying index buffer |
| 406 | (list "^\\+.*" | 406 | (list "^\\+.*" |
| 407 | '(0 'mh-search-folder)) | 407 | '(0 'mh-search-folder)) |
| 408 | ;; Marked for deletion | ||
| 409 | (list (concat mh-scan-deleted-msg-regexp ".*") | ||
| 410 | '(0 'mh-folder-deleted)) | ||
| 411 | ;; Marked for refile | 408 | ;; Marked for refile |
| 412 | (list (concat mh-scan-refiled-msg-regexp ".*") | 409 | (list (concat mh-scan-refiled-msg-regexp ".*") |
| 413 | '(0 'mh-folder-refiled)) | 410 | '(0 'mh-folder-refiled)) |
| 411 | ;; Marked for deletion | ||
| 412 | (list (concat mh-scan-deleted-msg-regexp ".*") | ||
| 413 | '(0 'mh-folder-deleted)) | ||
| 414 | ;; Marked for blacklisting | ||
| 415 | (list (concat mh-scan-blacklisted-msg-regexp ".*") | ||
| 416 | '(0 'mh-folder-blacklisted)) | ||
| 417 | ;; Marked for whitelisting | ||
| 418 | (list (concat mh-scan-whitelisted-msg-regexp ".*") | ||
| 419 | '(0 'mh-folder-whitelisted)) | ||
| 414 | ;; After subject | 420 | ;; After subject |
| 415 | (list mh-scan-body-regexp | 421 | (list mh-scan-body-regexp |
| 416 | '(1 'mh-folder-body nil t)) | 422 | '(1 'mh-folder-body nil t)) |
| @@ -614,8 +620,10 @@ perform the operation on all messages in that region. | |||
| 614 | 'overlay-arrow-position nil ; Allow for simultaneous display in | 620 | 'overlay-arrow-position nil ; Allow for simultaneous display in |
| 615 | 'overlay-arrow-string ">" ; different MH-E buffers. | 621 | 'overlay-arrow-string ">" ; different MH-E buffers. |
| 616 | 'mh-showing-mode nil ; Show message also? | 622 | 'mh-showing-mode nil ; Show message also? |
| 617 | 'mh-delete-list nil ; List of msgs nums to delete | ||
| 618 | 'mh-refile-list nil ; List of folder names in mh-seq-list | 623 | 'mh-refile-list nil ; List of folder names in mh-seq-list |
| 624 | 'mh-delete-list nil ; List of msgs nums to delete | ||
| 625 | 'mh-blacklist nil ; List of messages to process as spam | ||
| 626 | 'mh-whitelist nil ; List of messages to process as ham | ||
| 619 | 'mh-seq-list nil ; Alist of (seq . msgs) nums | 627 | 'mh-seq-list nil ; Alist of (seq . msgs) nums |
| 620 | 'mh-seen-list nil ; List of displayed messages | 628 | 'mh-seen-list nil ; List of displayed messages |
| 621 | 'mh-next-direction 'forward ; Direction to move to next message | 629 | 'mh-next-direction 'forward ; Direction to move to next message |
| @@ -709,15 +717,15 @@ RANGE is read in interactive use." | |||
| 709 | 717 | ||
| 710 | ;;;###mh-autoload | 718 | ;;;###mh-autoload |
| 711 | (defun mh-execute-commands () | 719 | (defun mh-execute-commands () |
| 712 | "Process outstanding delete and refile requests\\<mh-folder-mode-map>. | 720 | "Perform outstanding operations\\<mh-folder-mode-map>. |
| 713 | 721 | ||
| 714 | If you've marked messages to be deleted or refiled and you want | 722 | If you've marked messages to be refiled, deleted, blacklisted, or |
| 715 | to go ahead and delete or refile the messages, use this command. | 723 | whitelisted and you want to go ahead and perform these operations |
| 716 | Many MH-E commands that may affect the numbering of the | 724 | on these messages, use this command. Many MH-E commands that may |
| 717 | messages (such as \\[mh-rescan-folder] or \\[mh-pack-folder]) | 725 | affect the numbering of the messages (such as |
| 718 | will ask if you want to process refiles or deletes first and then | 726 | \\[mh-rescan-folder] or \\[mh-pack-folder]) will ask if you want |
| 719 | either run this command for you or undo the pending refiles and | 727 | to perform these operations first and then either run this |
| 720 | deletes. | 728 | command for you or undo the pending operations. |
| 721 | 729 | ||
| 722 | This function runs `mh-before-commands-processed-hook' before the | 730 | This function runs `mh-before-commands-processed-hook' before the |
| 723 | commands are processed and `mh-after-commands-processed-hook' | 731 | commands are processed and `mh-after-commands-processed-hook' |
| @@ -766,7 +774,7 @@ the message." | |||
| 766 | return-value)) | 774 | return-value)) |
| 767 | 775 | ||
| 768 | ;;;###mh-autoload | 776 | ;;;###mh-autoload |
| 769 | (defun mh-inc-folder (&optional file folder) | 777 | (defun mh-inc-folder (&optional file folder dont-exec-pending) |
| 770 | "Incorporate new mail into a folder. | 778 | "Incorporate new mail into a folder. |
| 771 | 779 | ||
| 772 | You can incorporate mail from any file into the current folder by | 780 | You can incorporate mail from any file into the current folder by |
| @@ -777,7 +785,10 @@ The hook `mh-inc-folder-hook' is run after incorporating new | |||
| 777 | mail. | 785 | mail. |
| 778 | 786 | ||
| 779 | Do not call this function from outside MH-E; use \\[mh-rmail] | 787 | Do not call this function from outside MH-E; use \\[mh-rmail] |
| 780 | instead." | 788 | instead. |
| 789 | |||
| 790 | In a program, the processing of outstanding commands is not performed | ||
| 791 | if DONT-EXEC-PENDING is non-nil." | ||
| 781 | (interactive (list (if current-prefix-arg | 792 | (interactive (list (if current-prefix-arg |
| 782 | (expand-file-name | 793 | (expand-file-name |
| 783 | (read-file-name "inc mail from file: " | 794 | (read-file-name "inc mail from file: " |
| @@ -786,6 +797,8 @@ instead." | |||
| 786 | (mh-prompt-for-folder "inc mail into" mh-inbox t)))) | 797 | (mh-prompt-for-folder "inc mail into" mh-inbox t)))) |
| 787 | (if (not folder) | 798 | (if (not folder) |
| 788 | (setq folder mh-inbox)) | 799 | (setq folder mh-inbox)) |
| 800 | (unless dont-exec-pending | ||
| 801 | (mh-process-or-undo-commands folder)) | ||
| 789 | (let ((threading-needed-flag nil)) | 802 | (let ((threading-needed-flag nil)) |
| 790 | (let ((config (current-window-configuration))) | 803 | (let ((config (current-window-configuration))) |
| 791 | (when (and mh-show-buffer (get-buffer mh-show-buffer)) | 804 | (when (and mh-show-buffer (get-buffer mh-show-buffer)) |
| @@ -1181,14 +1194,18 @@ RANGE is read in interactive use." | |||
| 1181 | (cond ((numberp range) | 1194 | (cond ((numberp range) |
| 1182 | (let ((original-position (point))) | 1195 | (let ((original-position (point))) |
| 1183 | (beginning-of-line) | 1196 | (beginning-of-line) |
| 1184 | (while (not (or (looking-at mh-scan-deleted-msg-regexp) | 1197 | (while (not (or (looking-at mh-scan-refiled-msg-regexp) |
| 1185 | (looking-at mh-scan-refiled-msg-regexp) | 1198 | (looking-at mh-scan-deleted-msg-regexp) |
| 1199 | (looking-at mh-scan-blacklisted-msg-regexp) | ||
| 1200 | (looking-at mh-scan-whitelisted-msg-regexp) | ||
| 1186 | (and (eq mh-next-direction 'forward) (bobp)) | 1201 | (and (eq mh-next-direction 'forward) (bobp)) |
| 1187 | (and (eq mh-next-direction 'backward) | 1202 | (and (eq mh-next-direction 'backward) |
| 1188 | (save-excursion (forward-line) (eobp))))) | 1203 | (save-excursion (forward-line) (eobp))))) |
| 1189 | (forward-line (if (eq mh-next-direction 'forward) -1 1))) | 1204 | (forward-line (if (eq mh-next-direction 'forward) -1 1))) |
| 1190 | (if (or (looking-at mh-scan-deleted-msg-regexp) | 1205 | (if (or (looking-at mh-scan-refiled-msg-regexp) |
| 1191 | (looking-at mh-scan-refiled-msg-regexp)) | 1206 | (looking-at mh-scan-deleted-msg-regexp) |
| 1207 | (looking-at mh-scan-blacklisted-msg-regexp) | ||
| 1208 | (looking-at mh-scan-whitelisted-msg-regexp)) | ||
| 1192 | (progn | 1209 | (progn |
| 1193 | (mh-undo-msg (mh-get-msg-num t)) | 1210 | (mh-undo-msg (mh-get-msg-num t)) |
| 1194 | (mh-maybe-show)) | 1211 | (mh-maybe-show)) |
| @@ -1520,7 +1537,7 @@ is updated." | |||
| 1520 | (save-excursion | 1537 | (save-excursion |
| 1521 | (when (eq major-mode 'mh-show-mode) | 1538 | (when (eq major-mode 'mh-show-mode) |
| 1522 | (set-buffer mh-show-folder-buffer)) | 1539 | (set-buffer mh-show-folder-buffer)) |
| 1523 | (or mh-delete-list mh-refile-list))) | 1540 | (or mh-delete-list mh-refile-list mh-blacklist mh-whitelist))) |
| 1524 | 1541 | ||
| 1525 | ;;;###mh-autoload | 1542 | ;;;###mh-autoload |
| 1526 | (defun mh-set-folder-modified-p (flag) | 1543 | (defun mh-set-folder-modified-p (flag) |
| @@ -1544,10 +1561,15 @@ after the commands are processed." | |||
| 1544 | 1561 | ||
| 1545 | (let ((redraw-needed-flag mh-index-data) | 1562 | (let ((redraw-needed-flag mh-index-data) |
| 1546 | (folders-changed (list mh-current-folder)) | 1563 | (folders-changed (list mh-current-folder)) |
| 1547 | (seq-map (and mh-refile-list mh-refile-preserves-sequences-flag | 1564 | (seq-map (and |
| 1548 | (mh-create-sequence-map mh-seq-list))) | 1565 | (or (and mh-refile-list mh-refile-preserves-sequences-flag) |
| 1566 | (and mh-whitelist | ||
| 1567 | mh-whitelist-preserves-sequences-flag)) | ||
| 1568 | (mh-create-sequence-map mh-seq-list))) | ||
| 1549 | (dest-map (and mh-refile-list mh-refile-preserves-sequences-flag | 1569 | (dest-map (and mh-refile-list mh-refile-preserves-sequences-flag |
| 1550 | (make-hash-table)))) | 1570 | (make-hash-table))) |
| 1571 | (white-map (and mh-whitelist mh-whitelist-preserves-sequences-flag | ||
| 1572 | (make-hash-table)))) | ||
| 1551 | ;; Remove invalid scan lines if we are in an index folder and then remove | 1573 | ;; Remove invalid scan lines if we are in an index folder and then remove |
| 1552 | ;; the real messages | 1574 | ;; the real messages |
| 1553 | (when mh-index-data | 1575 | (when mh-index-data |
| @@ -1594,6 +1616,49 @@ after the commands are processed." | |||
| 1594 | (mh-delete-scan-msgs mh-delete-list) | 1616 | (mh-delete-scan-msgs mh-delete-list) |
| 1595 | (setq mh-delete-list nil))) | 1617 | (setq mh-delete-list nil))) |
| 1596 | 1618 | ||
| 1619 | ;; Blacklist messages. | ||
| 1620 | (when mh-blacklist | ||
| 1621 | (let ((msg-list (mh-coalesce-msg-list mh-blacklist)) | ||
| 1622 | (dest (mh-junk-blacklist-disposition))) | ||
| 1623 | (mh-junk-process-blacklist mh-blacklist) | ||
| 1624 | ;; TODO I wonder why mh-exec-cmd is used instead of the following: | ||
| 1625 | ;; (mh-refile-a-msg nil (intern dest)) | ||
| 1626 | ;; (mh-delete-a-msg nil))) | ||
| 1627 | (if (null dest) | ||
| 1628 | (apply 'mh-exec-cmd "rmm" folder msg-list) | ||
| 1629 | (apply 'mh-exec-cmd "refile" "-src" folder dest msg-list) | ||
| 1630 | (push dest folders-changed)) | ||
| 1631 | (setq redraw-needed-flag t) | ||
| 1632 | (mh-delete-scan-msgs mh-blacklist) | ||
| 1633 | (setq mh-blacklist nil))) | ||
| 1634 | |||
| 1635 | ;; Whitelist messages. | ||
| 1636 | (when mh-whitelist | ||
| 1637 | (let ((msg-list (mh-coalesce-msg-list mh-whitelist)) | ||
| 1638 | (last (car (mh-translate-range mh-inbox "last")))) | ||
| 1639 | (mh-junk-process-whitelist mh-whitelist) | ||
| 1640 | (apply #'mh-exec-cmd "refile" "-src" folder mh-inbox msg-list) | ||
| 1641 | (push mh-inbox folders-changed) | ||
| 1642 | (setq redraw-needed-flag t) | ||
| 1643 | (mh-delete-scan-msgs mh-whitelist) | ||
| 1644 | (when mh-whitelist-preserves-sequences-flag | ||
| 1645 | (clrhash white-map) | ||
| 1646 | (loop for i from (1+ (or last 0)) | ||
| 1647 | for msg in (sort (copy-sequence mh-whitelist) #'<) | ||
| 1648 | do (loop for seq-name in (gethash msg seq-map) | ||
| 1649 | do (push i (gethash seq-name white-map)))) | ||
| 1650 | (maphash | ||
| 1651 | #'(lambda (seq msgs) | ||
| 1652 | ;; Can't be run in background, since the current | ||
| 1653 | ;; folder is changed by mark this could lead to a | ||
| 1654 | ;; race condition with the next refile/whitelist. | ||
| 1655 | (apply #'mh-exec-cmd "mark" | ||
| 1656 | "-sequence" (symbol-name seq) mh-inbox | ||
| 1657 | "-add" (mapcar #'(lambda(x) (format "%s" x)) | ||
| 1658 | (mh-coalesce-msg-list msgs)))) | ||
| 1659 | white-map)) | ||
| 1660 | (setq mh-whitelist nil))) | ||
| 1661 | |||
| 1597 | ;; Don't need to remove sequences since delete and refile do so. | 1662 | ;; Don't need to remove sequences since delete and refile do so. |
| 1598 | ;; Mark cur message | 1663 | ;; Mark cur message |
| 1599 | (if (> (buffer-size) 0) | 1664 | (if (> (buffer-size) 0) |
| @@ -1904,6 +1969,10 @@ once when he kept statistics on his mail usage." | |||
| 1904 | (setq message (mh-get-msg-num t))) | 1969 | (setq message (mh-get-msg-num t))) |
| 1905 | (if (looking-at mh-scan-refiled-msg-regexp) | 1970 | (if (looking-at mh-scan-refiled-msg-regexp) |
| 1906 | (error "Message %d is refiled; undo refile before deleting" message)) | 1971 | (error "Message %d is refiled; undo refile before deleting" message)) |
| 1972 | (if (looking-at mh-scan-blacklisted-msg-regexp) | ||
| 1973 | (error "Message %d is blacklisted; undo before deleting" message)) | ||
| 1974 | (if (looking-at mh-scan-whitelisted-msg-regexp) | ||
| 1975 | (error "Message %d is whitelisted; undo before deleting" message)) | ||
| 1907 | (if (looking-at mh-scan-deleted-msg-regexp) | 1976 | (if (looking-at mh-scan-deleted-msg-regexp) |
| 1908 | nil | 1977 | nil |
| 1909 | (mh-set-folder-modified-p t) | 1978 | (mh-set-folder-modified-p t) |
| @@ -1925,6 +1994,10 @@ be refiled." | |||
| 1925 | (setq message (mh-get-msg-num t))) | 1994 | (setq message (mh-get-msg-num t))) |
| 1926 | (cond ((looking-at mh-scan-deleted-msg-regexp) | 1995 | (cond ((looking-at mh-scan-deleted-msg-regexp) |
| 1927 | (error "Message %d is deleted; undo delete before moving" message)) | 1996 | (error "Message %d is deleted; undo delete before moving" message)) |
| 1997 | ((looking-at mh-scan-blacklisted-msg-regexp) | ||
| 1998 | (error "Message %d is blacklisted; undo before moving" message)) | ||
| 1999 | ((looking-at mh-scan-whitelisted-msg-regexp) | ||
| 2000 | (error "Message %d is whitelisted; undo before moving" message)) | ||
| 1928 | ((looking-at mh-scan-refiled-msg-regexp) | 2001 | ((looking-at mh-scan-refiled-msg-regexp) |
| 1929 | (if (y-or-n-p | 2002 | (if (y-or-n-p |
| 1930 | (format "Message %d already refiled; copy to %s as well? " | 2003 | (format "Message %d already refiled; copy to %s as well? " |
| @@ -1943,7 +2016,7 @@ be refiled." | |||
| 1943 | (run-hooks 'mh-refile-msg-hook))))) | 2016 | (run-hooks 'mh-refile-msg-hook))))) |
| 1944 | 2017 | ||
| 1945 | (defun mh-undo-msg (msg) | 2018 | (defun mh-undo-msg (msg) |
| 1946 | "Undo the deletion or refile of one MSG. | 2019 | "Undo the deletion, refile, black- or whitelisting of one MSG. |
| 1947 | If MSG is nil then act on the message at point" | 2020 | If MSG is nil then act on the message at point" |
| 1948 | (save-excursion | 2021 | (save-excursion |
| 1949 | (if (numberp msg) | 2022 | (if (numberp msg) |
| @@ -1952,6 +2025,10 @@ If MSG is nil then act on the message at point" | |||
| 1952 | (setq msg (mh-get-msg-num t))) | 2025 | (setq msg (mh-get-msg-num t))) |
| 1953 | (cond ((memq msg mh-delete-list) | 2026 | (cond ((memq msg mh-delete-list) |
| 1954 | (setq mh-delete-list (delq msg mh-delete-list))) | 2027 | (setq mh-delete-list (delq msg mh-delete-list))) |
| 2028 | ((memq msg mh-blacklist) | ||
| 2029 | (setq mh-blacklist (delq msg mh-blacklist))) | ||
| 2030 | ((memq msg mh-whitelist) | ||
| 2031 | (setq mh-whitelist (delq msg mh-whitelist))) | ||
| 1955 | (t | 2032 | (t |
| 1956 | (dolist (folder-msg-list mh-refile-list) | 2033 | (dolist (folder-msg-list mh-refile-list) |
| 1957 | (setf (cdr folder-msg-list) (remove msg (cdr folder-msg-list)))) | 2034 | (setf (cdr folder-msg-list) (remove msg (cdr folder-msg-list)))) |
diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index 2119d6f93ea..261dbfbf645 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el | |||
| @@ -52,27 +52,64 @@ program, see: | |||
| 52 | - `mh-bogofilter-blacklist' | 52 | - `mh-bogofilter-blacklist' |
| 53 | - `mh-spamprobe-blacklist'" | 53 | - `mh-spamprobe-blacklist'" |
| 54 | (interactive (list (mh-interactive-range "Blacklist"))) | 54 | (interactive (list (mh-interactive-range "Blacklist"))) |
| 55 | (mh-iterate-on-range () range (mh-blacklist-a-msg nil)) | ||
| 56 | (if (looking-at mh-scan-blacklisted-msg-regexp) | ||
| 57 | (mh-next-msg))) | ||
| 58 | |||
| 59 | (defun mh-blacklist-a-msg (message) | ||
| 60 | "Blacklist MESSAGE. | ||
| 61 | If MESSAGE is nil then the message at point is blacklisted. | ||
| 62 | The hook `mh-blacklisted-msg-hook' is called after you mark a message | ||
| 63 | for blacklisting." | ||
| 64 | (save-excursion | ||
| 65 | (if (numberp message) | ||
| 66 | (mh-goto-msg message nil t) | ||
| 67 | (beginning-of-line) | ||
| 68 | (setq message (mh-get-msg-num t))) | ||
| 69 | (cond ((looking-at mh-scan-refiled-msg-regexp) | ||
| 70 | (error "Message %d is refiled; undo refile before blacklisting" | ||
| 71 | message)) | ||
| 72 | ((looking-at mh-scan-deleted-msg-regexp) | ||
| 73 | (error "Message %d is deleted; undo delete before blacklisting" | ||
| 74 | message)) | ||
| 75 | ((looking-at mh-scan-whitelisted-msg-regexp) | ||
| 76 | (error "Message %d is whitelisted; undo before blacklisting" | ||
| 77 | message)) | ||
| 78 | ((looking-at mh-scan-blacklisted-msg-regexp) nil) | ||
| 79 | (t | ||
| 80 | (mh-set-folder-modified-p t) | ||
| 81 | (setq mh-blacklist (cons message mh-blacklist)) | ||
| 82 | (if (not (memq message mh-seen-list)) | ||
| 83 | (setq mh-seen-list (cons message mh-seen-list))) | ||
| 84 | (mh-notate nil mh-note-blacklisted mh-cmd-note) | ||
| 85 | (run-hooks 'mh-blacklist-msg-hook))))) | ||
| 86 | |||
| 87 | ;;;###mh-autoload | ||
| 88 | (defun mh-junk-blacklist-disposition () | ||
| 89 | "Determines the fate of the selected spam." | ||
| 90 | (cond ((null mh-junk-disposition) nil) | ||
| 91 | ((equal mh-junk-disposition "") "+") | ||
| 92 | ((eq (aref mh-junk-disposition 0) ?+) | ||
| 93 | mh-junk-disposition) | ||
| 94 | ((eq (aref mh-junk-disposition 0) ?@) | ||
| 95 | (concat mh-current-folder "/" | ||
| 96 | (substring mh-junk-disposition 1))) | ||
| 97 | (t (concat "+" mh-junk-disposition)))) | ||
| 98 | |||
| 99 | ;;;###mh-autoload | ||
| 100 | (defun mh-junk-process-blacklist (range) | ||
| 101 | "Blacklist RANGE as spam. | ||
| 102 | This command trains the spam program in use (see the option | ||
| 103 | `mh-junk-program') with the content of RANGE and then handles the | ||
| 104 | message(s) as specified by the option `mh-junk-disposition'." | ||
| 55 | (let ((blacklist-func (nth 1 (assoc mh-junk-choice mh-junk-function-alist)))) | 105 | (let ((blacklist-func (nth 1 (assoc mh-junk-choice mh-junk-function-alist)))) |
| 56 | (unless blacklist-func | 106 | (unless blacklist-func |
| 57 | (error "Customize `mh-junk-program' appropriately")) | 107 | (error "Customize `mh-junk-program' appropriately")) |
| 58 | (let ((dest (cond ((null mh-junk-disposition) nil) | 108 | (mh-iterate-on-range msg range |
| 59 | ((equal mh-junk-disposition "") "+") | 109 | (message "Blacklisting message %d..." msg) |
| 60 | ((eq (aref mh-junk-disposition 0) ?+) | 110 | (funcall (symbol-function blacklist-func) msg) |
| 61 | mh-junk-disposition) | 111 | (message "Blacklisting message %d...done" msg)) |
| 62 | ((eq (aref mh-junk-disposition 0) ?@) | 112 | (mh-next-msg))) |
| 63 | (concat mh-current-folder "/" | ||
| 64 | (substring mh-junk-disposition 1))) | ||
| 65 | (t (concat "+" mh-junk-disposition))))) | ||
| 66 | (mh-iterate-on-range msg range | ||
| 67 | (message "Blacklisting message %d..." msg) | ||
| 68 | (funcall (symbol-function blacklist-func) msg) | ||
| 69 | (message "Blacklisting message %d...done" msg) | ||
| 70 | (if (not (memq msg mh-seen-list)) | ||
| 71 | (setq mh-seen-list (cons msg mh-seen-list))) | ||
| 72 | (if dest | ||
| 73 | (mh-refile-a-msg nil (intern dest)) | ||
| 74 | (mh-delete-a-msg nil))) | ||
| 75 | (mh-next-msg)))) | ||
| 76 | 113 | ||
| 77 | ;;;###mh-autoload | 114 | ;;;###mh-autoload |
| 78 | (defun mh-junk-whitelist (range) | 115 | (defun mh-junk-whitelist (range) |
| @@ -85,14 +122,49 @@ refiles the message into the \"+inbox\" folder. | |||
| 85 | Check the documentation of `mh-interactive-range' to see how | 122 | Check the documentation of `mh-interactive-range' to see how |
| 86 | RANGE is read in interactive use." | 123 | RANGE is read in interactive use." |
| 87 | (interactive (list (mh-interactive-range "Whitelist"))) | 124 | (interactive (list (mh-interactive-range "Whitelist"))) |
| 125 | (mh-iterate-on-range () range (mh-junk-whitelist-a-msg nil)) | ||
| 126 | (if (looking-at mh-scan-whitelisted-msg-regexp) | ||
| 127 | (mh-next-msg))) | ||
| 128 | |||
| 129 | (defun mh-junk-whitelist-a-msg (message) | ||
| 130 | "Whitelist MESSAGE. | ||
| 131 | If MESSAGE is nil then the message at point is whitelisted. The | ||
| 132 | hook `mh-whitelist-msg-hook' is called after you mark a message | ||
| 133 | for whitelisting." | ||
| 134 | (save-excursion | ||
| 135 | (if (numberp message) | ||
| 136 | (mh-goto-msg message nil t) | ||
| 137 | (beginning-of-line) | ||
| 138 | (setq message (mh-get-msg-num t))) | ||
| 139 | (cond ((looking-at mh-scan-refiled-msg-regexp) | ||
| 140 | (error "Message %d is refiled; undo refile before whitelisting" | ||
| 141 | message)) | ||
| 142 | ((looking-at mh-scan-deleted-msg-regexp) | ||
| 143 | (error "Message %d is deleted; undo delete before whitelisting" | ||
| 144 | message)) | ||
| 145 | ((looking-at mh-scan-blacklisted-msg-regexp) | ||
| 146 | (error "Message %d is blacklisted; undo before whitelisting" | ||
| 147 | message)) | ||
| 148 | ((looking-at mh-scan-whitelisted-msg-regexp) nil) | ||
| 149 | (t | ||
| 150 | (mh-set-folder-modified-p t) | ||
| 151 | (setq mh-whitelist (cons message mh-whitelist)) | ||
| 152 | (mh-notate nil mh-note-whitelisted mh-cmd-note) | ||
| 153 | (run-hooks 'mh-whitelist-msg-hook))))) | ||
| 154 | |||
| 155 | ;;;###mh-autoload | ||
| 156 | (defun mh-junk-process-whitelist (range) | ||
| 157 | "Whitelist RANGE as ham. | ||
| 158 | |||
| 159 | This command reclassifies the RANGE as ham if it were incorrectly | ||
| 160 | classified as spam (see the option `mh-junk-program')." | ||
| 88 | (let ((whitelist-func (nth 2 (assoc mh-junk-choice mh-junk-function-alist)))) | 161 | (let ((whitelist-func (nth 2 (assoc mh-junk-choice mh-junk-function-alist)))) |
| 89 | (unless whitelist-func | 162 | (unless whitelist-func |
| 90 | (error "Customize `mh-junk-program' appropriately")) | 163 | (error "Customize `mh-junk-program' appropriately")) |
| 91 | (mh-iterate-on-range msg range | 164 | (mh-iterate-on-range msg range |
| 92 | (message "Whitelisting message %d..." msg) | 165 | (message "Whitelisting message %d..." msg) |
| 93 | (funcall (symbol-function whitelist-func) msg) | 166 | (funcall (symbol-function whitelist-func) msg) |
| 94 | (message "Whitelisting message %d...done" msg) | 167 | (message "Whitelisting message %d...done" msg)) |
| 95 | (mh-refile-a-msg nil (intern mh-inbox))) | ||
| 96 | (mh-next-msg))) | 168 | (mh-next-msg))) |
| 97 | 169 | ||
| 98 | 170 | ||
diff --git a/lisp/mh-e/mh-letter.el b/lisp/mh-e/mh-letter.el index 490bfc07560..8965439a275 100644 --- a/lisp/mh-e/mh-letter.el +++ b/lisp/mh-e/mh-letter.el | |||
| @@ -68,7 +68,7 @@ citation text as modified. | |||
| 68 | 68 | ||
| 69 | This is a normal hook, misnamed for historical reasons. | 69 | This is a normal hook, misnamed for historical reasons. |
| 70 | It is obsolete and is only used if `mail-citation-hook' is nil.") | 70 | It is obsolete and is only used if `mail-citation-hook' is nil.") |
| 71 | (make-obsolete-variable 'mh-yank-hooks 'mail-citation-hook "19.34") | 71 | (mh-make-obsolete-variable 'mh-yank-hooks 'mail-citation-hook "19.34") |
| 72 | 72 | ||
| 73 | 73 | ||
| 74 | 74 | ||
| @@ -724,69 +724,71 @@ not inserted. If the option `mh-yank-behavior' is set to one of | |||
| 724 | the supercite flavors, the hook `mail-citation-hook' is ignored | 724 | the supercite flavors, the hook `mail-citation-hook' is ignored |
| 725 | and `mh-ins-buf-prefix' is not inserted." | 725 | and `mh-ins-buf-prefix' is not inserted." |
| 726 | (interactive) | 726 | (interactive) |
| 727 | (if (and mh-sent-from-folder | 727 | (let ((show-buffer)) |
| 728 | (with-current-buffer mh-sent-from-folder mh-show-buffer) | 728 | (if (and mh-sent-from-folder |
| 729 | (with-current-buffer mh-sent-from-folder | 729 | (with-current-buffer mh-sent-from-folder mh-show-buffer) |
| 730 | (get-buffer mh-show-buffer)) | 730 | (setq show-buffer (with-current-buffer mh-sent-from-folder |
| 731 | mh-sent-from-msg) | 731 | (get-buffer mh-show-buffer))) |
| 732 | (let ((to-point (point)) | 732 | mh-sent-from-msg) |
| 733 | (to-buffer (current-buffer))) | 733 | (let ((to-point (point)) |
| 734 | (set-buffer mh-sent-from-folder) | 734 | (to-buffer (current-buffer))) |
| 735 | (if mh-delete-yanked-msg-window-flag | 735 | (if mh-delete-yanked-msg-window-flag |
| 736 | (delete-windows-on mh-show-buffer)) | 736 | (with-current-buffer mh-sent-from-folder |
| 737 | (set-buffer mh-show-buffer) ; Find displayed message | 737 | (delete-windows-on show-buffer))) |
| 738 | (let* ((from-attr (mh-extract-from-attribution)) | 738 | ;; Find displayed message |
| 739 | (yank-region (mh-mark-active-p nil)) | 739 | (with-current-buffer show-buffer |
| 740 | (mh-ins-str | 740 | (let* ((from-attr (mh-extract-from-attribution)) |
| 741 | (cond ((and yank-region | 741 | (yank-region (mh-mark-active-p nil)) |
| 742 | (or (eq 'supercite mh-yank-behavior) | 742 | (mh-ins-str |
| 743 | (eq 'autosupercite mh-yank-behavior) | 743 | (cond ((and yank-region |
| 744 | (eq t mh-yank-behavior))) | 744 | (or (eq 'supercite mh-yank-behavior) |
| 745 | ;; supercite needs the full header | 745 | (eq 'autosupercite mh-yank-behavior) |
| 746 | (concat | 746 | (eq t mh-yank-behavior))) |
| 747 | (buffer-substring (point-min) (mh-mail-header-end)) | 747 | ;; supercite needs the full header |
| 748 | "\n" | 748 | (concat |
| 749 | (buffer-substring (region-beginning) (region-end)))) | 749 | (buffer-substring (point-min) (mh-mail-header-end)) |
| 750 | (yank-region | 750 | "\n" |
| 751 | (buffer-substring (region-beginning) (region-end))) | 751 | (buffer-substring (region-beginning) (region-end)))) |
| 752 | ((or (eq 'body mh-yank-behavior) | 752 | (yank-region |
| 753 | (eq 'attribution mh-yank-behavior) | 753 | (buffer-substring (region-beginning) (region-end))) |
| 754 | (eq 'autoattrib mh-yank-behavior)) | 754 | ((or (eq 'body mh-yank-behavior) |
| 755 | (buffer-substring | 755 | (eq 'attribution mh-yank-behavior) |
| 756 | (save-excursion | 756 | (eq 'autoattrib mh-yank-behavior)) |
| 757 | (goto-char (point-min)) | 757 | (buffer-substring |
| 758 | (mh-goto-header-end 1) | 758 | (save-excursion |
| 759 | (point)) | 759 | (goto-char (point-min)) |
| 760 | (point-max))) | 760 | (mh-goto-header-end 1) |
| 761 | ((or (eq 'supercite mh-yank-behavior) | 761 | (point)) |
| 762 | (eq 'autosupercite mh-yank-behavior) | 762 | (point-max))) |
| 763 | (eq t mh-yank-behavior)) | 763 | ((or (eq 'supercite mh-yank-behavior) |
| 764 | (buffer-substring (point-min) (point-max))) | 764 | (eq 'autosupercite mh-yank-behavior) |
| 765 | (t | 765 | (eq t mh-yank-behavior)) |
| 766 | (buffer-substring (point) (point-max)))))) | 766 | (buffer-substring (point-min) (point-max))) |
| 767 | (set-buffer to-buffer) | 767 | (t |
| 768 | (save-restriction | 768 | (buffer-substring (point) (point-max)))))) |
| 769 | (narrow-to-region to-point to-point) | 769 | (with-current-buffer to-buffer |
| 770 | (insert (mh-filter-out-non-text mh-ins-str)) | 770 | (save-restriction |
| 771 | (goto-char (point-max)) ;Needed for sc-cite-original | 771 | (narrow-to-region to-point to-point) |
| 772 | (push-mark) ;Needed for sc-cite-original | 772 | (insert (mh-filter-out-non-text mh-ins-str)) |
| 773 | (goto-char (point-min)) ;Needed for sc-cite-original | 773 | (goto-char (point-max)) ;Needed for sc-cite-original |
| 774 | (mh-insert-prefix-string mh-ins-buf-prefix) | 774 | (push-mark) ;Needed for sc-cite-original |
| 775 | (when (or (eq 'attribution mh-yank-behavior) | 775 | (goto-char (point-min)) ;Needed for sc-cite-original |
| 776 | (eq 'autoattrib mh-yank-behavior)) | 776 | (mh-insert-prefix-string mh-ins-buf-prefix) |
| 777 | (insert from-attr) | 777 | (when (or (eq 'attribution mh-yank-behavior) |
| 778 | (mh-identity-insert-attribution-verb nil) | 778 | (eq 'autoattrib mh-yank-behavior)) |
| 779 | (insert "\n\n")) | 779 | (insert from-attr) |
| 780 | ;; If the user has selected a region, he has already "edited" the | 780 | (mh-identity-insert-attribution-verb nil) |
| 781 | ;; text, so leave the cursor at the end of the yanked text. In | 781 | (insert "\n\n")) |
| 782 | ;; either case, leave a mark at the opposite end of the included | 782 | ;; If the user has selected a region, he has already "edited" the |
| 783 | ;; text to make it easy to jump or delete to the other end of the | 783 | ;; text, so leave the cursor at the end of the yanked text. In |
| 784 | ;; text. | 784 | ;; either case, leave a mark at the opposite end of the included |
| 785 | (push-mark) | 785 | ;; text to make it easy to jump or delete to the other end of the |
| 786 | (goto-char (point-max)) | 786 | ;; text. |
| 787 | (if (null yank-region) | 787 | (push-mark) |
| 788 | (mh-exchange-point-and-mark-preserving-active-mark))))) | 788 | (goto-char (point-max)) |
| 789 | (error "There is no current message"))) | 789 | (if (null yank-region) |
| 790 | (mh-exchange-point-and-mark-preserving-active-mark))))))) | ||
| 791 | (error "There is no current message")))) | ||
| 790 | 792 | ||
| 791 | 793 | ||
| 792 | 794 | ||
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el index 66e1ba5ec69..5ce6159e2d5 100644 --- a/lisp/mh-e/mh-mime.el +++ b/lisp/mh-e/mh-mime.el | |||
| @@ -268,10 +268,12 @@ usually reads the file \"/etc/mailcap\"." | |||
| 268 | (buffer-read-only nil)) | 268 | (buffer-read-only nil)) |
| 269 | (when (string-match "^[^% \t]+$" method) | 269 | (when (string-match "^[^% \t]+$" method) |
| 270 | (setq method (concat method " %s"))) | 270 | (setq method (concat method " %s"))) |
| 271 | (flet ((mm-handle-set-external-undisplayer (handle function) | 271 | (mh-cl-flet |
| 272 | (mh-handle-set-external-undisplayer folder handle function))) | 272 | ((mm-handle-set-external-undisplayer |
| 273 | (unwind-protect (mm-display-external part method) | 273 | (handle function) |
| 274 | (set-buffer-modified-p nil))))) | 274 | (mh-handle-set-external-undisplayer folder handle function))) |
| 275 | (unwind-protect (mm-display-external part method) | ||
| 276 | (set-buffer-modified-p nil))))) | ||
| 275 | nil)) | 277 | nil)) |
| 276 | 278 | ||
| 277 | ;;;###mh-autoload | 279 | ;;;###mh-autoload |
| @@ -523,47 +525,48 @@ parsed and then displayed." | |||
| 523 | (let ((handles ()) | 525 | (let ((handles ()) |
| 524 | (folder mh-show-folder-buffer) | 526 | (folder mh-show-folder-buffer) |
| 525 | (raw-message-data (buffer-string))) | 527 | (raw-message-data (buffer-string))) |
| 526 | (flet ((mm-handle-set-external-undisplayer | 528 | (mh-cl-flet |
| 527 | (handle function) | 529 | ((mm-handle-set-external-undisplayer |
| 528 | (mh-handle-set-external-undisplayer folder handle function))) | 530 | (handle function) |
| 529 | (goto-char (point-min)) | 531 | (mh-handle-set-external-undisplayer folder handle function))) |
| 530 | (unless (search-forward "\n\n" nil t) | 532 | (goto-char (point-min)) |
| 531 | (goto-char (point-max)) | 533 | (unless (search-forward "\n\n" nil t) |
| 532 | (insert "\n\n")) | 534 | (goto-char (point-max)) |
| 533 | 535 | (insert "\n\n")) | |
| 534 | (condition-case err | 536 | |
| 535 | (progn | 537 | (condition-case err |
| 536 | ;; If needed dissect the current buffer | 538 | (progn |
| 537 | (if pre-dissected-handles | 539 | ;; If needed dissect the current buffer |
| 538 | (setq handles pre-dissected-handles) | 540 | (if pre-dissected-handles |
| 539 | (if (setq handles (mm-dissect-buffer nil)) | 541 | (setq handles pre-dissected-handles) |
| 540 | (mh-mm-uu-dissect-text-parts handles) | 542 | (if (setq handles (mm-dissect-buffer nil)) |
| 541 | (setq handles (mm-uu-dissect))) | 543 | (mh-mm-uu-dissect-text-parts handles) |
| 542 | (setf (mh-mime-handles (mh-buffer-data)) | 544 | (setq handles (mm-uu-dissect))) |
| 543 | (mh-mm-merge-handles handles | 545 | (setf (mh-mime-handles (mh-buffer-data)) |
| 544 | (mh-mime-handles (mh-buffer-data)))) | 546 | (mh-mm-merge-handles handles |
| 545 | (unless handles | 547 | (mh-mime-handles (mh-buffer-data)))) |
| 546 | (mh-decode-message-body))) | 548 | (unless handles |
| 547 | 549 | (mh-decode-message-body))) | |
| 548 | (cond ((and handles | 550 | |
| 549 | (or (not (stringp (car handles))) | 551 | (cond ((and handles |
| 550 | (cdr handles))) | 552 | (or (not (stringp (car handles))) |
| 551 | ;; Go to start of message body | 553 | (cdr handles))) |
| 552 | (goto-char (point-min)) | 554 | ;; Go to start of message body |
| 553 | (or (search-forward "\n\n" nil t) | 555 | (goto-char (point-min)) |
| 554 | (goto-char (point-max))) | 556 | (or (search-forward "\n\n" nil t) |
| 555 | 557 | (goto-char (point-max))) | |
| 556 | ;; Delete the body | 558 | |
| 557 | (delete-region (point) (point-max)) | 559 | ;; Delete the body |
| 558 | 560 | (delete-region (point) (point-max)) | |
| 559 | ;; Display the MIME handles | 561 | |
| 560 | (mh-mime-display-part handles)) | 562 | ;; Display the MIME handles |
| 561 | (t | 563 | (mh-mime-display-part handles)) |
| 562 | (mh-signature-highlight)))) | 564 | (t |
| 563 | (error | 565 | (mh-signature-highlight)))) |
| 564 | (message "Could not display body: %s" (error-message-string err)) | 566 | (error |
| 565 | (delete-region (point-min) (point-max)) | 567 | (message "Could not display body: %s" (error-message-string err)) |
| 566 | (insert raw-message-data)))))) | 568 | (delete-region (point-min) (point-max)) |
| 569 | (insert raw-message-data)))))) | ||
| 567 | 570 | ||
| 568 | (defun mh-decode-message-body () | 571 | (defun mh-decode-message-body () |
| 569 | "Decode message based on charset. | 572 | "Decode message based on charset. |
| @@ -1046,13 +1049,14 @@ attachment, the attachment is hidden." | |||
| 1046 | (function (get-text-property (point) 'mh-callback)) | 1049 | (function (get-text-property (point) 'mh-callback)) |
| 1047 | (buffer-read-only nil) | 1050 | (buffer-read-only nil) |
| 1048 | (folder mh-show-folder-buffer)) | 1051 | (folder mh-show-folder-buffer)) |
| 1049 | (flet ((mm-handle-set-external-undisplayer | 1052 | (mh-cl-flet |
| 1050 | (handle function) | 1053 | ((mm-handle-set-external-undisplayer |
| 1051 | (mh-handle-set-external-undisplayer folder handle function))) | 1054 | (handle function) |
| 1052 | (when (and function (eolp)) | 1055 | (mh-handle-set-external-undisplayer folder handle function))) |
| 1053 | (backward-char)) | 1056 | (when (and function (eolp)) |
| 1054 | (unwind-protect (and function (funcall function data)) | 1057 | (backward-char)) |
| 1055 | (set-buffer-modified-p nil))))) | 1058 | (unwind-protect (and function (funcall function data)) |
| 1059 | (set-buffer-modified-p nil))))) | ||
| 1056 | 1060 | ||
| 1057 | (defun mh-push-button (event) | 1061 | (defun mh-push-button (event) |
| 1058 | "Click MIME button for EVENT. | 1062 | "Click MIME button for EVENT. |
| @@ -1066,9 +1070,11 @@ to click the MIME button." | |||
| 1066 | (mm-inline-media-tests mh-mm-inline-media-tests) | 1070 | (mm-inline-media-tests mh-mm-inline-media-tests) |
| 1067 | (data (get-text-property (point) 'mh-data)) | 1071 | (data (get-text-property (point) 'mh-data)) |
| 1068 | (function (get-text-property (point) 'mh-callback))) | 1072 | (function (get-text-property (point) 'mh-callback))) |
| 1069 | (flet ((mm-handle-set-external-undisplayer (handle func) | 1073 | (mh-cl-flet |
| 1070 | (mh-handle-set-external-undisplayer folder handle func))) | 1074 | ((mm-handle-set-external-undisplayer |
| 1071 | (and function (funcall function data)))))) | 1075 | (handle func) |
| 1076 | (mh-handle-set-external-undisplayer folder handle func))) | ||
| 1077 | (and function (funcall function data)))))) | ||
| 1072 | 1078 | ||
| 1073 | (defun mh-handle-set-external-undisplayer (folder handle function) | 1079 | (defun mh-handle-set-external-undisplayer (folder handle function) |
| 1074 | "Replacement for `mm-handle-set-external-undisplayer'. | 1080 | "Replacement for `mm-handle-set-external-undisplayer'. |
| @@ -1160,10 +1166,11 @@ this ;-)" | |||
| 1160 | (defun mh-display-emphasis () | 1166 | (defun mh-display-emphasis () |
| 1161 | "Display graphical emphasis." | 1167 | "Display graphical emphasis." |
| 1162 | (when (and mh-graphical-emphasis-flag (mh-small-show-buffer-p)) | 1168 | (when (and mh-graphical-emphasis-flag (mh-small-show-buffer-p)) |
| 1163 | (flet ((article-goto-body ())) ; shadow this function to do nothing | 1169 | (mh-cl-flet |
| 1164 | (save-excursion | 1170 | ((article-goto-body ())) ; shadow this function to do nothing |
| 1165 | (goto-char (point-min)) | 1171 | (save-excursion |
| 1166 | (article-emphasize))))) | 1172 | (goto-char (point-min)) |
| 1173 | (article-emphasize))))) | ||
| 1167 | 1174 | ||
| 1168 | (defun mh-small-show-buffer-p () | 1175 | (defun mh-small-show-buffer-p () |
| 1169 | "Check if show buffer is small. | 1176 | "Check if show buffer is small. |
diff --git a/lisp/mh-e/mh-scan.el b/lisp/mh-e/mh-scan.el index 5f0c0818714..30bcf9f4647 100644 --- a/lisp/mh-e/mh-scan.el +++ b/lisp/mh-e/mh-scan.el | |||
| @@ -111,6 +111,22 @@ expression which matches the body text as in the default of | |||
| 111 | not correct, the body fragment will not be highlighted with the | 111 | not correct, the body fragment will not be highlighted with the |
| 112 | face `mh-folder-body'.") | 112 | face `mh-folder-body'.") |
| 113 | 113 | ||
| 114 | (defvar mh-scan-blacklisted-msg-regexp "^\\( *[0-9]+\\)B" | ||
| 115 | "This regular expression matches blacklisted (spam) messages. | ||
| 116 | |||
| 117 | It must match from the beginning of the line. Note that the | ||
| 118 | default setting of `mh-folder-font-lock-keywords' expects this | ||
| 119 | expression to contain at least one parenthesized expression which | ||
| 120 | matches the message number as in the default of | ||
| 121 | |||
| 122 | \"^\\\\( *[0-9]+\\\\)B\". | ||
| 123 | |||
| 124 | This expression includes the leading space within parenthesis | ||
| 125 | since it looks better to highlight it as well. The highlighting | ||
| 126 | is done with the face `mh-folder-blacklisted'. This regular | ||
| 127 | expression should be correct as it is needed by non-fontification | ||
| 128 | functions. See also `mh-note-blacklisted'.") | ||
| 129 | |||
| 114 | (defvar mh-scan-cur-msg-number-regexp "^\\( *[0-9]+\\+\\).*" | 130 | (defvar mh-scan-cur-msg-number-regexp "^\\( *[0-9]+\\+\\).*" |
| 115 | "This regular expression matches the current message. | 131 | "This regular expression matches the current message. |
| 116 | 132 | ||
| @@ -155,7 +171,7 @@ is done with the face `mh-folder-deleted'. This regular | |||
| 155 | expression should be correct as it is needed by non-fontification | 171 | expression should be correct as it is needed by non-fontification |
| 156 | functions. See also `mh-note-deleted'.") | 172 | functions. See also `mh-note-deleted'.") |
| 157 | 173 | ||
| 158 | (defvar mh-scan-good-msg-regexp "^\\( *[0-9]+\\)[^D^0-9]" | 174 | (defvar mh-scan-good-msg-regexp "^\\( *[0-9]+\\)[^^DBW0-9]" |
| 159 | "This regular expression matches \"good\" messages. | 175 | "This regular expression matches \"good\" messages. |
| 160 | 176 | ||
| 161 | It must match from the beginning of the line. Note that the | 177 | It must match from the beginning of the line. Note that the |
| @@ -163,7 +179,7 @@ default setting of `mh-folder-font-lock-keywords' expects this | |||
| 163 | expression to contain at least one parenthesized expression which | 179 | expression to contain at least one parenthesized expression which |
| 164 | matches the message number as in the default of | 180 | matches the message number as in the default of |
| 165 | 181 | ||
| 166 | \"^\\\\( *[0-9]+\\\\)[^D^0-9]\". | 182 | \"^\\\\( *[0-9]+\\\\)[^^DBW0-9]\". |
| 167 | 183 | ||
| 168 | This expression includes the leading space within the parenthesis | 184 | This expression includes the leading space within the parenthesis |
| 169 | since it looks better to highlight it as well. The highlighting | 185 | since it looks better to highlight it as well. The highlighting |
| @@ -277,6 +293,22 @@ non-fontification functions.") | |||
| 277 | This is used to eliminate error messages that are occasionally | 293 | This is used to eliminate error messages that are occasionally |
| 278 | produced by \"inc\".") | 294 | produced by \"inc\".") |
| 279 | 295 | ||
| 296 | (defvar mh-scan-whitelisted-msg-regexp "^\\( *[0-9]+\\)W" | ||
| 297 | "This regular expression matches whitelisted (non-spam) messages. | ||
| 298 | |||
| 299 | It must match from the beginning of the line. Note that the | ||
| 300 | default setting of `mh-folder-font-lock-keywords' expects this | ||
| 301 | expression to contain at least one parenthesized expression which | ||
| 302 | matches the message number as in the default of | ||
| 303 | |||
| 304 | \"^\\\\( *[0-9]+\\\\)W\". | ||
| 305 | |||
| 306 | This expression includes the leading space within parenthesis | ||
| 307 | since it looks better to highlight it as well. The highlighting | ||
| 308 | is done with the face `mh-folder-whitelisted'. This regular | ||
| 309 | expression should be correct as it is needed by non-fontification | ||
| 310 | functions. See also `mh-note-whitelisted'.") | ||
| 311 | |||
| 280 | 312 | ||
| 281 | 313 | ||
| 282 | ;;; Widths, Offsets and Columns | 314 | ;;; Widths, Offsets and Columns |
| @@ -294,11 +326,13 @@ Note that columns in Emacs start with 0.") | |||
| 294 | (defvar mh-scan-cmd-note-width 1 | 326 | (defvar mh-scan-cmd-note-width 1 |
| 295 | "Number of columns consumed by the cmd-note field in `mh-scan-format'. | 327 | "Number of columns consumed by the cmd-note field in `mh-scan-format'. |
| 296 | 328 | ||
| 297 | This column will have one of the values: \" \", \"D\", \"^\", \"+\", where | 329 | This column will have one of the values: \" \", \"^\", \"D\", \"B\", \"W\", \"+\", where |
| 298 | 330 | ||
| 299 | \" \" is the default value, | 331 | \" \" is the default value, |
| 332 | \"^\" is the `mh-note-refiled' character, | ||
| 300 | \"D\" is the `mh-note-deleted' character, | 333 | \"D\" is the `mh-note-deleted' character, |
| 301 | \"^\" is the `mh-note-refiled' character, and | 334 | \"B\" is the `mh-note-blacklisted' character, |
| 335 | \"W\" is the `mh-note-whitelisted' character, and | ||
| 302 | \"+\" is the `mh-note-cur' character.") | 336 | \"+\" is the `mh-note-cur' character.") |
| 303 | 337 | ||
| 304 | (defvar mh-scan-destination-width 1 | 338 | (defvar mh-scan-destination-width 1 |
| @@ -363,6 +397,10 @@ This column will only ever have spaces in it.") | |||
| 363 | 397 | ||
| 364 | ;; Alphabetical. | 398 | ;; Alphabetical. |
| 365 | 399 | ||
| 400 | (defvar mh-note-blacklisted ?B | ||
| 401 | "Messages that have been blacklisted are marked by this character. | ||
| 402 | See also `mh-scan-blacklisted-msg-regexp'.") | ||
| 403 | |||
| 366 | (defvar mh-note-cur ?+ | 404 | (defvar mh-note-cur ?+ |
| 367 | "The current message (in MH, not in MH-E) is marked by this character. | 405 | "The current message (in MH, not in MH-E) is marked by this character. |
| 368 | See also `mh-scan-cur-msg-number-regexp'.") | 406 | See also `mh-scan-cur-msg-number-regexp'.") |
| @@ -396,6 +434,10 @@ See also `mh-scan-refiled-msg-regexp'.") | |||
| 396 | Messages in the \"search\" sequence are marked by this character as | 434 | Messages in the \"search\" sequence are marked by this character as |
| 397 | well.") | 435 | well.") |
| 398 | 436 | ||
| 437 | (defvar mh-note-whitelisted ?W | ||
| 438 | "Messages that have been whitelisted are marked by this character. | ||
| 439 | See also `mh-scan-whitelisted-msg-regexp'.") | ||
| 440 | |||
| 399 | 441 | ||
| 400 | 442 | ||
| 401 | ;;; Utilities | 443 | ;;; Utilities |
diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el index 453f1b77901..88e42986f7d 100644 --- a/lisp/mh-e/mh-search.el +++ b/lisp/mh-e/mh-search.el | |||
| @@ -1449,11 +1449,12 @@ being the list of messages originally from that folder." | |||
| 1449 | 1449 | ||
| 1450 | ;;;###mh-autoload | 1450 | ;;;###mh-autoload |
| 1451 | (defun mh-index-execute-commands () | 1451 | (defun mh-index-execute-commands () |
| 1452 | "Delete/refile the actual messages. | 1452 | "Perform the outstanding operations on the actual messages. |
| 1453 | The copies in the searched folder are then deleted/refiled to get | 1453 | The copies in the searched folder are then deleted, refiled, |
| 1454 | the desired result. Before deleting the messages we make sure | 1454 | blacklisted and whitelisted to get the desired result. Before |
| 1455 | that the message being deleted is identical to the one that the | 1455 | processing the messages we make sure that the message is |
| 1456 | user has marked in the index buffer." | 1456 | identical to the one that the user has marked in the index |
| 1457 | buffer." | ||
| 1457 | (save-excursion | 1458 | (save-excursion |
| 1458 | (let ((folders ()) | 1459 | (let ((folders ()) |
| 1459 | (mh-speed-flists-inhibit-flag t)) | 1460 | (mh-speed-flists-inhibit-flag t)) |
| @@ -1466,9 +1467,13 @@ user has marked in the index buffer." | |||
| 1466 | ;; Otherwise delete the messages in the source buffer... | 1467 | ;; Otherwise delete the messages in the source buffer... |
| 1467 | (with-current-buffer folder | 1468 | (with-current-buffer folder |
| 1468 | (let ((old-refile-list mh-refile-list) | 1469 | (let ((old-refile-list mh-refile-list) |
| 1469 | (old-delete-list mh-delete-list)) | 1470 | (old-delete-list mh-delete-list) |
| 1471 | (old-blacklist mh-blacklist) | ||
| 1472 | (old-whitelist mh-whitelist)) | ||
| 1470 | (setq mh-refile-list nil | 1473 | (setq mh-refile-list nil |
| 1471 | mh-delete-list msgs) | 1474 | mh-delete-list msgs |
| 1475 | mh-blacklist nil | ||
| 1476 | mh-whitelist nil) | ||
| 1472 | (unwind-protect (mh-execute-commands) | 1477 | (unwind-protect (mh-execute-commands) |
| 1473 | (setq mh-refile-list | 1478 | (setq mh-refile-list |
| 1474 | (mapcar (lambda (x) | 1479 | (mapcar (lambda (x) |
| @@ -1478,13 +1483,21 @@ user has marked in the index buffer." | |||
| 1478 | old-refile-list) | 1483 | old-refile-list) |
| 1479 | mh-delete-list | 1484 | mh-delete-list |
| 1480 | (loop for x in old-delete-list | 1485 | (loop for x in old-delete-list |
| 1486 | unless (memq x msgs) collect x) | ||
| 1487 | mh-blacklist | ||
| 1488 | (loop for x in old-blacklist | ||
| 1489 | unless (memq x msgs) collect x) | ||
| 1490 | mh-whitelist | ||
| 1491 | (loop for x in old-whitelist | ||
| 1481 | unless (memq x msgs) collect x)) | 1492 | unless (memq x msgs) collect x)) |
| 1482 | (mh-set-folder-modified-p (mh-outstanding-commands-p)) | 1493 | (mh-set-folder-modified-p (mh-outstanding-commands-p)) |
| 1483 | (when (mh-outstanding-commands-p) | 1494 | (when (mh-outstanding-commands-p) |
| 1484 | (mh-notate-deleted-and-refiled))))))) | 1495 | (mh-notate-deleted-and-refiled))))))) |
| 1485 | (mh-index-matching-source-msgs (append (loop for x in mh-refile-list | 1496 | (mh-index-matching-source-msgs (append (loop for x in mh-refile-list |
| 1486 | append (cdr x)) | 1497 | append (cdr x)) |
| 1487 | mh-delete-list) | 1498 | mh-delete-list |
| 1499 | mh-blacklist | ||
| 1500 | mh-whitelist) | ||
| 1488 | t)) | 1501 | t)) |
| 1489 | folders))) | 1502 | folders))) |
| 1490 | 1503 | ||
diff --git a/lisp/mh-e/mh-show.el b/lisp/mh-e/mh-show.el index a5759344b25..4fb9fad0919 100644 --- a/lisp/mh-e/mh-show.el +++ b/lisp/mh-e/mh-show.el | |||
| @@ -611,6 +611,7 @@ still visible.\n") | |||
| 611 | "l" mh-show-list-folders | 611 | "l" mh-show-list-folders |
| 612 | "n" mh-index-new-messages | 612 | "n" mh-index-new-messages |
| 613 | "o" mh-show-visit-folder | 613 | "o" mh-show-visit-folder |
| 614 | "p" mh-show-pack-folder | ||
| 614 | "q" mh-show-index-sequenced-messages | 615 | "q" mh-show-index-sequenced-messages |
| 615 | "r" mh-show-rescan-folder | 616 | "r" mh-show-rescan-folder |
| 616 | "s" mh-search | 617 | "s" mh-search |
| @@ -898,13 +899,14 @@ See also `mh-folder-mode'. | |||
| 898 | (interactive) | 899 | (interactive) |
| 899 | ;; Don't allow Gnus to create buttons while highlighting, maybe this is bad | 900 | ;; Don't allow Gnus to create buttons while highlighting, maybe this is bad |
| 900 | ;; style? | 901 | ;; style? |
| 901 | (flet ((gnus-article-add-button (&rest args) nil)) | 902 | (mh-cl-flet |
| 902 | (let* ((modified (buffer-modified-p)) | 903 | ((gnus-article-add-button (&rest args) nil)) |
| 903 | (gnus-article-buffer (buffer-name)) | 904 | (let* ((modified (buffer-modified-p)) |
| 904 | (gnus-cite-face-list `(,@(cdr gnus-cite-face-list) | 905 | (gnus-article-buffer (buffer-name)) |
| 905 | ,(car gnus-cite-face-list)))) | 906 | (gnus-cite-face-list `(,@(cdr gnus-cite-face-list) |
| 906 | (gnus-article-highlight-citation t) | 907 | ,(car gnus-cite-face-list)))) |
| 907 | (set-buffer-modified-p modified)))) | 908 | (gnus-article-highlight-citation t) |
| 909 | (set-buffer-modified-p modified)))) | ||
| 908 | 910 | ||
| 909 | (provide 'mh-show) | 911 | (provide 'mh-show) |
| 910 | 912 | ||
diff --git a/lisp/mh-e/mh-thread.el b/lisp/mh-e/mh-thread.el index 48c06c3df87..ba2c61f1708 100644 --- a/lisp/mh-e/mh-thread.el +++ b/lisp/mh-e/mh-thread.el | |||
| @@ -645,19 +645,20 @@ Only information about messages in MSG-LIST are added to the tree." | |||
| 645 | 645 | ||
| 646 | (defun mh-thread-set-tables (folder) | 646 | (defun mh-thread-set-tables (folder) |
| 647 | "Use the tables of FOLDER in current buffer." | 647 | "Use the tables of FOLDER in current buffer." |
| 648 | (flet ((mh-get-table (symbol) | 648 | (mh-cl-flet |
| 649 | (with-current-buffer folder | 649 | ((mh-get-table (symbol) |
| 650 | (symbol-value symbol)))) | 650 | (with-current-buffer folder |
| 651 | (setq mh-thread-id-hash (mh-get-table 'mh-thread-id-hash)) | 651 | (symbol-value symbol)))) |
| 652 | (setq mh-thread-subject-hash (mh-get-table 'mh-thread-subject-hash)) | 652 | (setq mh-thread-id-hash (mh-get-table 'mh-thread-id-hash)) |
| 653 | (setq mh-thread-id-table (mh-get-table 'mh-thread-id-table)) | 653 | (setq mh-thread-subject-hash (mh-get-table 'mh-thread-subject-hash)) |
| 654 | (setq mh-thread-id-index-map (mh-get-table 'mh-thread-id-index-map)) | 654 | (setq mh-thread-id-table (mh-get-table 'mh-thread-id-table)) |
| 655 | (setq mh-thread-index-id-map (mh-get-table 'mh-thread-index-id-map)) | 655 | (setq mh-thread-id-index-map (mh-get-table 'mh-thread-id-index-map)) |
| 656 | (setq mh-thread-scan-line-map (mh-get-table 'mh-thread-scan-line-map)) | 656 | (setq mh-thread-index-id-map (mh-get-table 'mh-thread-index-id-map)) |
| 657 | (setq mh-thread-subject-container-hash | 657 | (setq mh-thread-scan-line-map (mh-get-table 'mh-thread-scan-line-map)) |
| 658 | (mh-get-table 'mh-thread-subject-container-hash)) | 658 | (setq mh-thread-subject-container-hash |
| 659 | (setq mh-thread-duplicates (mh-get-table 'mh-thread-duplicates)) | 659 | (mh-get-table 'mh-thread-subject-container-hash)) |
| 660 | (setq mh-thread-history (mh-get-table 'mh-thread-history)))) | 660 | (setq mh-thread-duplicates (mh-get-table 'mh-thread-duplicates)) |
| 661 | (setq mh-thread-history (mh-get-table 'mh-thread-history)))) | ||
| 661 | 662 | ||
| 662 | (defun mh-thread-process-in-reply-to (reply-to-header) | 663 | (defun mh-thread-process-in-reply-to (reply-to-header) |
| 663 | "Extract message id's from REPLY-TO-HEADER. | 664 | "Extract message id's from REPLY-TO-HEADER. |
diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el index 950c28b227f..c9e663eedba 100644 --- a/lisp/minibuf-eldef.el +++ b/lisp/minibuf-eldef.el | |||
| @@ -152,15 +152,11 @@ been set up by `minibuf-eldef-setup-minibuffer'." | |||
| 152 | (and (= (point-max) minibuf-eldef-initial-buffer-length) | 152 | (and (= (point-max) minibuf-eldef-initial-buffer-length) |
| 153 | (string-equal (minibuffer-contents-no-properties) | 153 | (string-equal (minibuffer-contents-no-properties) |
| 154 | minibuf-eldef-initial-input))) | 154 | minibuf-eldef-initial-input))) |
| 155 | ;; swap state | 155 | ;; Swap state. |
| 156 | (setq minibuf-eldef-showing-default-in-prompt | 156 | (setq minibuf-eldef-showing-default-in-prompt |
| 157 | (not minibuf-eldef-showing-default-in-prompt)) | 157 | (not minibuf-eldef-showing-default-in-prompt)) |
| 158 | (cond (minibuf-eldef-showing-default-in-prompt | 158 | (overlay-put minibuf-eldef-overlay 'invisible |
| 159 | (overlay-put minibuf-eldef-overlay 'invisible nil) | 159 | (not minibuf-eldef-showing-default-in-prompt)))) |
| 160 | (overlay-put minibuf-eldef-overlay 'intangible nil)) | ||
| 161 | (t | ||
| 162 | (overlay-put minibuf-eldef-overlay 'invisible t) | ||
| 163 | (overlay-put minibuf-eldef-overlay 'intangible t))))) | ||
| 164 | 160 | ||
| 165 | 161 | ||
| 166 | ;;;###autoload | 162 | ;;;###autoload |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 6e704fad807..7fe50e930ce 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -1106,6 +1106,13 @@ scroll the window of possible completions." | |||
| 1106 | (sort-fun (completion-metadata-get all-md 'cycle-sort-function))) | 1106 | (sort-fun (completion-metadata-get all-md 'cycle-sort-function))) |
| 1107 | (when last | 1107 | (when last |
| 1108 | (setcdr last nil) | 1108 | (setcdr last nil) |
| 1109 | |||
| 1110 | ;; Delete duplicates: do it after setting last's cdr to nil (so | ||
| 1111 | ;; it's a proper list), and be careful to reset `last' since it | ||
| 1112 | ;; may be a different cons-cell. | ||
| 1113 | (setq all (delete-dups all)) | ||
| 1114 | (setq last (last all)) | ||
| 1115 | |||
| 1109 | (setq all (if sort-fun (funcall sort-fun all) | 1116 | (setq all (if sort-fun (funcall sort-fun all) |
| 1110 | ;; Prefer shorter completions, by default. | 1117 | ;; Prefer shorter completions, by default. |
| 1111 | (sort all (lambda (c1 c2) (< (length c1) (length c2)))))) | 1118 | (sort all (lambda (c1 c2) (< (length c1) (length c2)))))) |
| @@ -1120,6 +1127,15 @@ scroll the window of possible completions." | |||
| 1120 | ;; all possibilities. | 1127 | ;; all possibilities. |
| 1121 | (completion--cache-all-sorted-completions (nconc all base-size)))))) | 1128 | (completion--cache-all-sorted-completions (nconc all base-size)))))) |
| 1122 | 1129 | ||
| 1130 | (defun minibuffer-force-complete-and-exit () | ||
| 1131 | "Complete the minibuffer with first of the matches and exit." | ||
| 1132 | (interactive) | ||
| 1133 | (minibuffer-force-complete) | ||
| 1134 | (minibuffer--complete-and-exit | ||
| 1135 | ;; If the previous completion completed to an element which fails | ||
| 1136 | ;; test-completion, then we shouldn't exit, but that should be rare. | ||
| 1137 | (lambda () (minibuffer-message "Incomplete")))) | ||
| 1138 | |||
| 1123 | (defun minibuffer-force-complete () | 1139 | (defun minibuffer-force-complete () |
| 1124 | "Complete the minibuffer to an exact match. | 1140 | "Complete the minibuffer to an exact match. |
| 1125 | Repeated uses step through the possible completions." | 1141 | Repeated uses step through the possible completions." |
| @@ -1192,6 +1208,22 @@ If `minibuffer-completion-confirm' is `confirm-after-completion', | |||
| 1192 | `minibuffer-confirm-exit-commands', and accept the input | 1208 | `minibuffer-confirm-exit-commands', and accept the input |
| 1193 | otherwise." | 1209 | otherwise." |
| 1194 | (interactive) | 1210 | (interactive) |
| 1211 | (minibuffer--complete-and-exit | ||
| 1212 | (lambda () | ||
| 1213 | (pcase (condition-case nil | ||
| 1214 | (completion--do-completion nil 'expect-exact) | ||
| 1215 | (error 1)) | ||
| 1216 | ((or #b001 #b011) (exit-minibuffer)) | ||
| 1217 | (#b111 (if (not minibuffer-completion-confirm) | ||
| 1218 | (exit-minibuffer) | ||
| 1219 | (minibuffer-message "Confirm") | ||
| 1220 | nil)) | ||
| 1221 | (_ nil))))) | ||
| 1222 | |||
| 1223 | (defun minibuffer--complete-and-exit (completion-function) | ||
| 1224 | "Exit from `require-match' minibuffer. | ||
| 1225 | COMPLETION-FUNCTION is called if the current buffer's content does not | ||
| 1226 | appear to be a match." | ||
| 1195 | (let ((beg (field-beginning)) | 1227 | (let ((beg (field-beginning)) |
| 1196 | (end (field-end))) | 1228 | (end (field-end))) |
| 1197 | (cond | 1229 | (cond |
| @@ -1239,15 +1271,7 @@ If `minibuffer-completion-confirm' is `confirm-after-completion', | |||
| 1239 | 1271 | ||
| 1240 | (t | 1272 | (t |
| 1241 | ;; Call do-completion, but ignore errors. | 1273 | ;; Call do-completion, but ignore errors. |
| 1242 | (pcase (condition-case nil | 1274 | (funcall completion-function))))) |
| 1243 | (completion--do-completion nil 'expect-exact) | ||
| 1244 | (error 1)) | ||
| 1245 | ((or #b001 #b011) (exit-minibuffer)) | ||
| 1246 | (#b111 (if (not minibuffer-completion-confirm) | ||
| 1247 | (exit-minibuffer) | ||
| 1248 | (minibuffer-message "Confirm") | ||
| 1249 | nil)) | ||
| 1250 | (_ nil)))))) | ||
| 1251 | 1275 | ||
| 1252 | (defun completion--try-word-completion (string table predicate point md) | 1276 | (defun completion--try-word-completion (string table predicate point md) |
| 1253 | (let ((comp (completion-try-completion string table predicate point md))) | 1277 | (let ((comp (completion-try-completion string table predicate point md))) |
diff --git a/lisp/mouse.el b/lisp/mouse.el index 61d70404bd6..60a3d390889 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -425,7 +425,7 @@ must be one of the symbols `header', `mode', or `vertical'." | |||
| 425 | (frame-parameters frame))) | 425 | (frame-parameters frame))) |
| 426 | 'right))) | 426 | 'right))) |
| 427 | (draggable t) | 427 | (draggable t) |
| 428 | event position growth dragged) | 428 | finished event position growth dragged) |
| 429 | (cond | 429 | (cond |
| 430 | ((eq line 'header) | 430 | ((eq line 'header) |
| 431 | ;; Check whether header-line can be dragged at all. | 431 | ;; Check whether header-line can be dragged at all. |
| @@ -457,7 +457,7 @@ must be one of the symbols `header', `mode', or `vertical'." | |||
| 457 | ;; Start tracking. | 457 | ;; Start tracking. |
| 458 | (track-mouse | 458 | (track-mouse |
| 459 | ;; Loop reading events and sampling the position of the mouse. | 459 | ;; Loop reading events and sampling the position of the mouse. |
| 460 | (while draggable | 460 | (while (not finished) |
| 461 | (setq event (read-event)) | 461 | (setq event (read-event)) |
| 462 | (setq position (mouse-position)) | 462 | (setq position (mouse-position)) |
| 463 | ;; Do nothing if | 463 | ;; Do nothing if |
| @@ -472,7 +472,7 @@ must be one of the symbols `header', `mode', or `vertical'." | |||
| 472 | ;; - there is a keyboard event or some other unknown event. | 472 | ;; - there is a keyboard event or some other unknown event. |
| 473 | (cond | 473 | (cond |
| 474 | ((not (consp event)) | 474 | ((not (consp event)) |
| 475 | (setq draggable nil)) | 475 | (setq finished t)) |
| 476 | ((memq (car event) '(switch-frame select-window)) | 476 | ((memq (car event) '(switch-frame select-window)) |
| 477 | nil) | 477 | nil) |
| 478 | ((not (memq (car event) '(mouse-movement scroll-bar-movement))) | 478 | ((not (memq (car event) '(mouse-movement scroll-bar-movement))) |
| @@ -480,15 +480,15 @@ must be one of the symbols `header', `mode', or `vertical'." | |||
| 480 | ;; Do not unread a drag-mouse-1 event to avoid selecting | 480 | ;; Do not unread a drag-mouse-1 event to avoid selecting |
| 481 | ;; some other window. For vertical line dragging do not | 481 | ;; some other window. For vertical line dragging do not |
| 482 | ;; unread mouse-1 events either (but only if we dragged at | 482 | ;; unread mouse-1 events either (but only if we dragged at |
| 483 | ;; least once to allow mouse-1 clicks get through. | 483 | ;; least once to allow mouse-1 clicks get through). |
| 484 | (unless (and dragged | 484 | (unless (and dragged |
| 485 | (if (eq line 'vertical) | 485 | (if (eq line 'vertical) |
| 486 | (memq (car event) '(drag-mouse-1 mouse-1)) | 486 | (memq (car event) '(drag-mouse-1 mouse-1)) |
| 487 | (eq (car event) 'drag-mouse-1))) | 487 | (eq (car event) 'drag-mouse-1))) |
| 488 | (push event unread-command-events))) | 488 | (push event unread-command-events))) |
| 489 | (setq draggable nil)) | 489 | (setq finished t)) |
| 490 | ((or (not (eq (car position) frame)) | 490 | ((not (and (eq (car position) frame) |
| 491 | (null (car (cdr position)))) | 491 | (cadr position))) |
| 492 | nil) | 492 | nil) |
| 493 | ((eq line 'vertical) | 493 | ((eq line 'vertical) |
| 494 | ;; Drag vertical divider. | 494 | ;; Drag vertical divider. |
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index e9828c5f813..fa5bc4a9822 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el | |||
| @@ -406,7 +406,8 @@ will be killed." | |||
| 406 | "The channel or user associated with this buffer.") | 406 | "The channel or user associated with this buffer.") |
| 407 | 407 | ||
| 408 | (defvar rcirc-urls nil | 408 | (defvar rcirc-urls nil |
| 409 | "List of urls seen in the current buffer.") | 409 | "List of URLs seen in the current buffer and the position in |
| 410 | the buffer where the URL starts.") | ||
| 410 | (put 'rcirc-urls 'permanent-local t) | 411 | (put 'rcirc-urls 'permanent-local t) |
| 411 | 412 | ||
| 412 | (defvar rcirc-timeout-seconds 600 | 413 | (defvar rcirc-timeout-seconds 600 |
| @@ -2392,12 +2393,23 @@ keywords when no KEYWORD is given." | |||
| 2392 | "\\)") | 2393 | "\\)") |
| 2393 | "Regexp matching URLs. Set to nil to disable URL features in rcirc.") | 2394 | "Regexp matching URLs. Set to nil to disable URL features in rcirc.") |
| 2394 | 2395 | ||
| 2396 | (defun rcirc-condition-filter (condp lst) | ||
| 2397 | "Given a condition and a list, returns the list with elements | ||
| 2398 | that do not satisfy the condition removed." | ||
| 2399 | (delq nil (mapcar (lambda (x) (and (funcall condp x) x)) lst))) | ||
| 2400 | |||
| 2395 | (defun rcirc-browse-url (&optional arg) | 2401 | (defun rcirc-browse-url (&optional arg) |
| 2396 | "Prompt for URL to browse based on URLs in buffer." | 2402 | "Prompt for URL to browse based on URLs in buffer before point. |
| 2403 | |||
| 2404 | If ARG is given, opens the URL in a new browser window." | ||
| 2397 | (interactive "P") | 2405 | (interactive "P") |
| 2398 | (let ((completions (mapcar (lambda (x) (cons x nil)) rcirc-urls)) | 2406 | (let* ((point (point)) |
| 2399 | (initial-input (car rcirc-urls)) | 2407 | (filtered (rcirc-condition-filter |
| 2400 | (history (cdr rcirc-urls))) | 2408 | (lambda (x) (>= point (cdr x))) |
| 2409 | rcirc-urls)) | ||
| 2410 | (completions (mapcar (lambda (x) (car x)) filtered)) | ||
| 2411 | (initial-input (caar filtered)) | ||
| 2412 | (history (mapcar (lambda (x) (car x)) (cdr filtered)))) | ||
| 2401 | (browse-url (completing-read "rcirc browse-url: " | 2413 | (browse-url (completing-read "rcirc browse-url: " |
| 2402 | completions nil nil initial-input 'history) | 2414 | completions nil nil initial-input 'history) |
| 2403 | arg))) | 2415 | arg))) |
| @@ -2441,17 +2453,19 @@ keywords when no KEYWORD is given." | |||
| 2441 | (defun rcirc-markup-urls (sender response) | 2453 | (defun rcirc-markup-urls (sender response) |
| 2442 | (while (and rcirc-url-regexp ;; nil means disable URL catching | 2454 | (while (and rcirc-url-regexp ;; nil means disable URL catching |
| 2443 | (re-search-forward rcirc-url-regexp nil t)) | 2455 | (re-search-forward rcirc-url-regexp nil t)) |
| 2444 | (let ((start (match-beginning 0)) | 2456 | (let* ((start (match-beginning 0)) |
| 2445 | (end (match-end 0)) | 2457 | (end (match-end 0)) |
| 2446 | (url (match-string-no-properties 0))) | 2458 | (url (match-string-no-properties 0)) |
| 2459 | (link-text (buffer-substring-no-properties start end))) | ||
| 2447 | (make-button start end | 2460 | (make-button start end |
| 2448 | 'face 'rcirc-url | 2461 | 'face 'rcirc-url |
| 2449 | 'follow-link t | 2462 | 'follow-link t |
| 2450 | 'rcirc-url url | 2463 | 'rcirc-url url |
| 2451 | 'action (lambda (button) | 2464 | 'action (lambda (button) |
| 2452 | (browse-url (button-get button 'rcirc-url)))) | 2465 | (browse-url (button-get button 'rcirc-url)))) |
| 2453 | ;; record the url | 2466 | ;; record the url if it is not already the latest stored url |
| 2454 | (push url rcirc-urls)))) | 2467 | (when (not (string= link-text (caar rcirc-urls))) |
| 2468 | (push (cons link-text start) rcirc-urls))))) | ||
| 2455 | 2469 | ||
| 2456 | (defun rcirc-markup-keywords (sender response) | 2470 | (defun rcirc-markup-keywords (sender response) |
| 2457 | (when (and (string= response "PRIVMSG") | 2471 | (when (and (string= response "PRIVMSG") |
diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el new file mode 100644 index 00000000000..fea4cb35ea3 --- /dev/null +++ b/lisp/net/tramp-adb.el | |||
| @@ -0,0 +1,981 @@ | |||
| 1 | ;;; tramp-adb.el --- Functions for calling Android Debug Bridge from Tramp | ||
| 2 | |||
| 3 | ;; Copyright (C) 2011-2012 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Juergen Hoetzel <juergen@archlinux.org> | ||
| 6 | ;; Keywords: comm, processes | ||
| 7 | ;; Package: tramp | ||
| 8 | |||
| 9 | ;; This file is part of GNU Emacs. | ||
| 10 | |||
| 11 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 12 | ;; it under the terms of the GNU General Public License as published by | ||
| 13 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 14 | ;; (at your option) any later version. | ||
| 15 | |||
| 16 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 19 | ;; GNU General Public License for more details. | ||
| 20 | |||
| 21 | ;; You should have received a copy of the GNU General Public License | ||
| 22 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 23 | |||
| 24 | ;;; Commentary: | ||
| 25 | |||
| 26 | ;; The Android Debug Bridge must be installed on your local machine. | ||
| 27 | ;; Add the following form into your .emacs: | ||
| 28 | ;; | ||
| 29 | ;; (setq tramp-adb-sdk-dir "/path/to/android/sdk") | ||
| 30 | ;; | ||
| 31 | ;; Due to security it is not possible to access non-root devices. | ||
| 32 | |||
| 33 | ;;; Code: | ||
| 34 | |||
| 35 | (require 'tramp) | ||
| 36 | |||
| 37 | (defvar dired-move-to-filename-regexp) | ||
| 38 | |||
| 39 | (defcustom tramp-adb-sdk-dir "~/Android/sdk" | ||
| 40 | "Set to the directory containing the Android SDK." | ||
| 41 | :type 'string | ||
| 42 | :version "24.4" | ||
| 43 | :group 'tramp) | ||
| 44 | |||
| 45 | ;;;###tramp-autoload | ||
| 46 | (defconst tramp-adb-method "adb" | ||
| 47 | "*When this method name is used, forward all calls to Android Debug Bridge.") | ||
| 48 | |||
| 49 | (defcustom tramp-adb-prompt "^\\(?:[[:alnum:]]*@[[:alnum:]]*[^#\\$]*\\)?[#\\$][[:space:]]" | ||
| 50 | "Regexp used as prompt in almquist shell." | ||
| 51 | :type 'string | ||
| 52 | :version "24.4" | ||
| 53 | :group 'tramp) | ||
| 54 | |||
| 55 | (defconst tramp-adb-ls-date-regexp "[[:space:]][0-9]\\{4\\}-[0-9][0-9]-[0-9][0-9][[:space:]][0-9][0-9]:[0-9][0-9][[:space:]]") | ||
| 56 | |||
| 57 | ;;;###tramp-autoload | ||
| 58 | (add-to-list 'tramp-methods `(,tramp-adb-method)) | ||
| 59 | |||
| 60 | ;;;###tramp-autoload | ||
| 61 | (eval-after-load 'tramp | ||
| 62 | '(tramp-set-completion-function | ||
| 63 | tramp-adb-method '((tramp-adb-parse-device-names "")))) | ||
| 64 | |||
| 65 | ;;;###tramp-autoload | ||
| 66 | (add-to-list 'tramp-foreign-file-name-handler-alist | ||
| 67 | (cons 'tramp-adb-file-name-p 'tramp-adb-file-name-handler)) | ||
| 68 | |||
| 69 | (defconst tramp-adb-file-name-handler-alist | ||
| 70 | '((directory-file-name . tramp-handle-directory-file-name) | ||
| 71 | (dired-uncache . tramp-handle-dired-uncache) | ||
| 72 | (file-name-as-directory . tramp-handle-file-name-as-directory) | ||
| 73 | (file-name-completion . tramp-handle-file-name-completion) | ||
| 74 | (file-name-all-completions . tramp-adb-handle-file-name-all-completions) | ||
| 75 | (file-attributes . tramp-adb-handle-file-attributes) | ||
| 76 | (file-name-directory . tramp-handle-file-name-directory) | ||
| 77 | (file-name-nondirectory . tramp-handle-file-name-nondirectory) | ||
| 78 | (file-truename . tramp-adb-handle-file-truename) | ||
| 79 | (file-newer-than-file-p . tramp-handle-file-newer-than-file-p) | ||
| 80 | (file-name-as-directory . tramp-handle-file-name-as-directory) | ||
| 81 | (file-regular-p . tramp-handle-file-regular-p) | ||
| 82 | (file-remote-p . tramp-handle-file-remote-p) | ||
| 83 | (file-directory-p . tramp-adb-handle-file-directory-p) | ||
| 84 | (file-symlink-p . tramp-handle-file-symlink-p) | ||
| 85 | ;; FIXME: This is too sloppy. | ||
| 86 | (file-executable-p . file-exists-p) | ||
| 87 | (file-exists-p . tramp-adb-handle-file-exists-p) | ||
| 88 | (file-readable-p . tramp-handle-file-exists-p) | ||
| 89 | (file-writable-p . tramp-adb-handle-file-writable-p) | ||
| 90 | (file-local-copy . tramp-adb-handle-file-local-copy) | ||
| 91 | (file-modes . tramp-handle-file-modes) | ||
| 92 | (expand-file-name . tramp-adb-handle-expand-file-name) | ||
| 93 | (find-backup-file-name . tramp-handle-find-backup-file-name) | ||
| 94 | (directory-files . tramp-handle-directory-files) | ||
| 95 | (make-directory . tramp-adb-handle-make-directory) | ||
| 96 | (delete-directory . tramp-adb-handle-delete-directory) | ||
| 97 | (delete-file . tramp-adb-handle-delete-file) | ||
| 98 | (load . tramp-handle-load) | ||
| 99 | (insert-directory . tramp-adb-handle-insert-directory) | ||
| 100 | (insert-file-contents . tramp-handle-insert-file-contents) | ||
| 101 | (substitute-in-file-name . tramp-handle-substitute-in-file-name) | ||
| 102 | (unhandled-file-name-directory . tramp-handle-unhandled-file-name-directory) | ||
| 103 | (vc-registered . ignore) ;no vc control files on Android devices | ||
| 104 | (write-region . tramp-adb-handle-write-region) | ||
| 105 | (set-file-modes . tramp-adb-handle-set-file-modes) | ||
| 106 | (set-file-times . ignore) | ||
| 107 | (copy-file . tramp-adb-handle-copy-file) | ||
| 108 | (rename-file . tramp-adb-handle-rename-file) | ||
| 109 | (process-file . tramp-adb-handle-process-file) | ||
| 110 | (shell-command . tramp-adb-handle-shell-command) | ||
| 111 | (start-file-process . tramp-adb-handle-start-file-process)) | ||
| 112 | "Alist of handler functions for Tramp ADB method.") | ||
| 113 | |||
| 114 | ;;;###tramp-autoload | ||
| 115 | (defun tramp-adb-file-name-p (filename) | ||
| 116 | "Check if it's a filename for ADB." | ||
| 117 | (let ((v (tramp-dissect-file-name filename))) | ||
| 118 | (string= (tramp-file-name-method v) tramp-adb-method))) | ||
| 119 | |||
| 120 | ;;;###tramp-autoload | ||
| 121 | (defun tramp-adb-file-name-handler (operation &rest args) | ||
| 122 | "Invoke the ADB handler for OPERATION. | ||
| 123 | First arg specifies the OPERATION, second arg is a list of arguments to | ||
| 124 | pass to the OPERATION." | ||
| 125 | (let ((fn (assoc operation tramp-adb-file-name-handler-alist)) | ||
| 126 | ;; `tramp-default-host's default value is (system-name). Not | ||
| 127 | ;; useful for us. | ||
| 128 | (tramp-default-host | ||
| 129 | (unless (equal (eval (car (get 'tramp-default-host 'standard-value))) | ||
| 130 | tramp-default-host) | ||
| 131 | tramp-default-host))) | ||
| 132 | (if fn | ||
| 133 | (save-match-data (apply (cdr fn) args)) | ||
| 134 | (tramp-run-real-handler operation args)))) | ||
| 135 | |||
| 136 | ;; This cannot be a constant, because `tramp-adb-sdk-dir' is customizable. | ||
| 137 | (defun tramp-adb-program () | ||
| 138 | "The Android Debug Bridge." | ||
| 139 | (expand-file-name "platform-tools/adb" tramp-adb-sdk-dir)) | ||
| 140 | |||
| 141 | ;;;###tramp-autoload | ||
| 142 | (defun tramp-adb-parse-device-names (ignore) | ||
| 143 | "Return a list of (nil host) tuples allowed to access." | ||
| 144 | (with-temp-buffer | ||
| 145 | (when (zerop (call-process (tramp-adb-program) nil t nil "devices")) | ||
| 146 | (let (result) | ||
| 147 | (goto-char (point-min)) | ||
| 148 | (while (search-forward-regexp "^\\(\\S-+\\)[[:space:]]+device$" nil t) | ||
| 149 | (add-to-list 'result (list nil (match-string 1)))) | ||
| 150 | result)))) | ||
| 151 | |||
| 152 | (defun tramp-adb-handle-expand-file-name (name &optional dir) | ||
| 153 | "Like `expand-file-name' for Tramp files." | ||
| 154 | ;; If DIR is not given, use DEFAULT-DIRECTORY or "/". | ||
| 155 | (setq dir (or dir default-directory "/")) | ||
| 156 | ;; Unless NAME is absolute, concat DIR and NAME. | ||
| 157 | (unless (file-name-absolute-p name) | ||
| 158 | (setq name (concat (file-name-as-directory dir) name))) | ||
| 159 | ;; If NAME is not a Tramp file, run the real handler. | ||
| 160 | (if (not (tramp-tramp-file-p name)) | ||
| 161 | (tramp-run-real-handler 'expand-file-name (list name nil)) | ||
| 162 | ;; Dissect NAME. | ||
| 163 | (with-parsed-tramp-file-name name nil | ||
| 164 | (unless (tramp-run-real-handler 'file-name-absolute-p (list localname)) | ||
| 165 | (setq localname (concat "/" localname))) | ||
| 166 | ;; Do normal `expand-file-name' (this does "/./" and "/../"). | ||
| 167 | ;; We bind `directory-sep-char' here for XEmacs on Windows, | ||
| 168 | ;; which would otherwise use backslash. `default-directory' is | ||
| 169 | ;; bound, because on Windows there would be problems with UNC | ||
| 170 | ;; shares or Cygwin mounts. | ||
| 171 | (let ((directory-sep-char ?/) | ||
| 172 | (default-directory (tramp-compat-temporary-file-directory))) | ||
| 173 | (tramp-make-tramp-file-name | ||
| 174 | method user host | ||
| 175 | (tramp-drop-volume-letter | ||
| 176 | (tramp-run-real-handler | ||
| 177 | 'expand-file-name (list localname)))))))) | ||
| 178 | |||
| 179 | (defun tramp-adb-handle-file-directory-p (filename) | ||
| 180 | "Like `file-directory-p' for Tramp files." | ||
| 181 | (car (file-attributes (file-truename filename)))) | ||
| 182 | |||
| 183 | ;; This is derived from `tramp-sh-handle-file-truename'. Maybe the | ||
| 184 | ;; code could be shared? | ||
| 185 | (defun tramp-adb-handle-file-truename (filename &optional counter prev-dirs) | ||
| 186 | "Like `file-truename' for Tramp files." | ||
| 187 | (with-parsed-tramp-file-name (expand-file-name filename) nil | ||
| 188 | (with-tramp-file-property v localname "file-truename" | ||
| 189 | (let ((result nil)) ; result steps in reverse order | ||
| 190 | (tramp-message v 4 "Finding true name for `%s'" filename) | ||
| 191 | (let* ((directory-sep-char ?/) | ||
| 192 | (steps (tramp-compat-split-string localname "/")) | ||
| 193 | (localnamedir (tramp-run-real-handler | ||
| 194 | 'file-name-as-directory (list localname))) | ||
| 195 | (is-dir (string= localname localnamedir)) | ||
| 196 | (thisstep nil) | ||
| 197 | (numchase 0) | ||
| 198 | ;; Don't make the following value larger than | ||
| 199 | ;; necessary. People expect an error message in a | ||
| 200 | ;; timely fashion when something is wrong; otherwise | ||
| 201 | ;; they might think that Emacs is hung. Of course, | ||
| 202 | ;; correctness has to come first. | ||
| 203 | (numchase-limit 20) | ||
| 204 | symlink-target) | ||
| 205 | (while (and steps (< numchase numchase-limit)) | ||
| 206 | (setq thisstep (pop steps)) | ||
| 207 | (tramp-message | ||
| 208 | v 5 "Check %s" | ||
| 209 | (mapconcat 'identity | ||
| 210 | (append '("") (reverse result) (list thisstep)) | ||
| 211 | "/")) | ||
| 212 | (setq symlink-target | ||
| 213 | (nth 0 (file-attributes | ||
| 214 | (tramp-make-tramp-file-name | ||
| 215 | method user host | ||
| 216 | (mapconcat 'identity | ||
| 217 | (append '("") | ||
| 218 | (reverse result) | ||
| 219 | (list thisstep)) | ||
| 220 | "/"))))) | ||
| 221 | (cond ((string= "." thisstep) | ||
| 222 | (tramp-message v 5 "Ignoring step `.'")) | ||
| 223 | ((string= ".." thisstep) | ||
| 224 | (tramp-message v 5 "Processing step `..'") | ||
| 225 | (pop result)) | ||
| 226 | ((stringp symlink-target) | ||
| 227 | ;; It's a symlink, follow it. | ||
| 228 | (tramp-message v 5 "Follow symlink to %s" symlink-target) | ||
| 229 | (setq numchase (1+ numchase)) | ||
| 230 | (when (file-name-absolute-p symlink-target) | ||
| 231 | (setq result nil)) | ||
| 232 | ;; If the symlink was absolute, we'll get a string | ||
| 233 | ;; like "/user@host:/some/target"; extract the | ||
| 234 | ;; "/some/target" part from it. | ||
| 235 | (when (tramp-tramp-file-p symlink-target) | ||
| 236 | (unless (tramp-equal-remote filename symlink-target) | ||
| 237 | (tramp-error | ||
| 238 | v 'file-error | ||
| 239 | "Symlink target `%s' on wrong host" symlink-target)) | ||
| 240 | (setq symlink-target localname)) | ||
| 241 | (setq steps | ||
| 242 | (append (tramp-compat-split-string | ||
| 243 | symlink-target "/") | ||
| 244 | steps))) | ||
| 245 | (t | ||
| 246 | ;; It's a file. | ||
| 247 | (setq result (cons thisstep result))))) | ||
| 248 | (when (>= numchase numchase-limit) | ||
| 249 | (tramp-error | ||
| 250 | v 'file-error | ||
| 251 | "Maximum number (%d) of symlinks exceeded" numchase-limit)) | ||
| 252 | (setq result (reverse result)) | ||
| 253 | ;; Combine list to form string. | ||
| 254 | (setq result | ||
| 255 | (if result | ||
| 256 | (mapconcat 'identity (cons "" result) "/") | ||
| 257 | "/")) | ||
| 258 | (when (and is-dir (or (string= "" result) | ||
| 259 | (not (string= (substring result -1) "/")))) | ||
| 260 | (setq result (concat result "/")))) | ||
| 261 | |||
| 262 | (tramp-message v 4 "True name of `%s' is `%s'" filename result) | ||
| 263 | (tramp-make-tramp-file-name method user host result))))) | ||
| 264 | |||
| 265 | (defun tramp-adb-handle-file-attributes (filename &optional id-format) | ||
| 266 | "Like `file-attributes' for Tramp files." | ||
| 267 | (unless id-format (setq id-format 'integer)) | ||
| 268 | (ignore-errors | ||
| 269 | (with-parsed-tramp-file-name filename nil | ||
| 270 | (with-tramp-file-property v localname (format "file-attributes-%s" id-format) | ||
| 271 | (tramp-adb-barf-unless-okay | ||
| 272 | v (format "ls -d -l %s" (tramp-shell-quote-argument localname)) "") | ||
| 273 | (with-current-buffer (tramp-get-buffer v) | ||
| 274 | (tramp-adb-sh-fix-ls-output) | ||
| 275 | (let* ((columns (split-string (buffer-string))) | ||
| 276 | (mod-string (nth 0 columns)) | ||
| 277 | (is-dir (eq ?d (aref mod-string 0))) | ||
| 278 | (is-symlink (eq ?l (aref mod-string 0))) | ||
| 279 | (symlink-target (and is-symlink (cadr (split-string (buffer-string) "\\( -> \\|\n\\)")))) | ||
| 280 | (uid (nth 1 columns)) | ||
| 281 | (gid (nth 2 columns)) | ||
| 282 | (date (format "%s %s" (nth 4 columns) (nth 5 columns))) | ||
| 283 | (size (string-to-number (nth 3 columns)))) | ||
| 284 | (list | ||
| 285 | (or is-dir symlink-target) | ||
| 286 | 1 ;link-count | ||
| 287 | ;; no way to handle numeric ids in Androids ash | ||
| 288 | (if (eq id-format 'integer) 0 uid) | ||
| 289 | (if (eq id-format 'integer) 0 gid) | ||
| 290 | '(0 0) ; atime | ||
| 291 | (date-to-time date) ; mtime | ||
| 292 | '(0 0) ; ctime | ||
| 293 | size | ||
| 294 | mod-string | ||
| 295 | ;; fake | ||
| 296 | t 1 1))))))) | ||
| 297 | |||
| 298 | (defun tramp-adb--gnu-switches-to-ash | ||
| 299 | (switches) | ||
| 300 | "Almquist shell can't handle multiple arguments. | ||
| 301 | Convert (\"-al\") to (\"-a\" \"-l\"). Remove arguments like \"--dired\"." | ||
| 302 | (split-string | ||
| 303 | (apply 'concat | ||
| 304 | (mapcar (lambda (s) | ||
| 305 | (replace-regexp-in-string | ||
| 306 | "\\(.\\)" " -\\1" | ||
| 307 | (replace-regexp-in-string "^-" "" s))) | ||
| 308 | ;; FIXME: Warning about removed switches (long and non-dash). | ||
| 309 | (delq nil | ||
| 310 | (mapcar | ||
| 311 | (lambda (s) (and (not (string-match "\\(^--\\|^[^-]\\)" s)) s)) | ||
| 312 | switches)))))) | ||
| 313 | |||
| 314 | (defun tramp-adb-handle-insert-directory | ||
| 315 | (filename switches &optional wildcard full-directory-p) | ||
| 316 | "Like `insert-directory' for Tramp files." | ||
| 317 | (when (stringp switches) | ||
| 318 | (setq switches (tramp-adb--gnu-switches-to-ash (split-string switches)))) | ||
| 319 | (with-parsed-tramp-file-name (file-truename filename) nil | ||
| 320 | (with-current-buffer (tramp-get-buffer v) | ||
| 321 | (let ((name (tramp-shell-quote-argument (directory-file-name localname))) | ||
| 322 | (switch-d (member "-d" switches)) | ||
| 323 | (switch-t (member "-t" switches)) | ||
| 324 | (switches (mapconcat 'identity (remove "-t" switches) " "))) | ||
| 325 | (tramp-adb-barf-unless-okay | ||
| 326 | v (format "ls %s %s" switches name) | ||
| 327 | "Cannot insert directory listing: %s" filename) | ||
| 328 | (unless switch-d | ||
| 329 | ;; We insert also filename/. and filename/.., because "ls" doesn't. | ||
| 330 | (narrow-to-region (point) (point)) | ||
| 331 | (ignore-errors | ||
| 332 | (tramp-adb-barf-unless-okay | ||
| 333 | v (format "ls -d %s %s %s" | ||
| 334 | switches | ||
| 335 | (concat (file-name-as-directory name) ".") | ||
| 336 | (concat (file-name-as-directory name) "..")) | ||
| 337 | "Cannot insert directory listing: %s" filename)) | ||
| 338 | (widen)) | ||
| 339 | (tramp-adb-sh-fix-ls-output switch-t))) | ||
| 340 | (insert-buffer-substring (tramp-get-buffer v)))) | ||
| 341 | |||
| 342 | (defun tramp-adb-sh-fix-ls-output (&optional sort-by-time) | ||
| 343 | "Androids ls command doesn't insert size column for directories: Emacs dired can't find files. Insert dummy 0 in empty size columns." | ||
| 344 | (save-excursion | ||
| 345 | ;; Insert missing size. | ||
| 346 | (goto-char (point-min)) | ||
| 347 | (while (search-forward-regexp "[[:space:]]\\([[:space:]][0-9]\\{4\\}-[0-9][0-9]-[0-9][0-9][[:space:]]\\)" nil t) | ||
| 348 | (replace-match "0\\1" "\\1" nil) | ||
| 349 | ;; Insert missing "/". | ||
| 350 | (when (looking-at "[0-9][0-9]:[0-9][0-9][[:space:]]+$") | ||
| 351 | (end-of-line) | ||
| 352 | (insert "/"))) | ||
| 353 | ;; Sort entries. | ||
| 354 | (let* ((lines (split-string (buffer-string) "\n" t)) | ||
| 355 | (sorted-lines | ||
| 356 | (sort | ||
| 357 | lines | ||
| 358 | (if sort-by-time | ||
| 359 | 'tramp-adb-ls-output-time-less-p | ||
| 360 | 'tramp-adb-ls-output-name-less-p)))) | ||
| 361 | (delete-region (point-min) (point-max)) | ||
| 362 | (insert " " (mapconcat 'identity sorted-lines "\n "))) | ||
| 363 | ;; Add final newline. | ||
| 364 | (goto-char (point-max)) | ||
| 365 | (unless (= (point) (line-beginning-position)) | ||
| 366 | (insert "\n")))) | ||
| 367 | |||
| 368 | |||
| 369 | (defun tramp-adb-ls-output-time-less-p (a b) | ||
| 370 | "Sort \"ls\" output by time, descending." | ||
| 371 | (let (time-a time-b) | ||
| 372 | (string-match tramp-adb-ls-date-regexp a) | ||
| 373 | (setq time-a (apply 'encode-time (parse-time-string (match-string 0 a)))) | ||
| 374 | (string-match tramp-adb-ls-date-regexp b) | ||
| 375 | (setq time-b (apply 'encode-time (parse-time-string (match-string 0 b)))) | ||
| 376 | (time-less-p time-b time-a))) | ||
| 377 | |||
| 378 | (defun tramp-adb-ls-output-name-less-p (a b) | ||
| 379 | "Sort \"ls\" output by name, ascending." | ||
| 380 | (let (posa posb) | ||
| 381 | (string-match dired-move-to-filename-regexp a) | ||
| 382 | (setq posa (match-end 0)) | ||
| 383 | (string-match dired-move-to-filename-regexp b) | ||
| 384 | (setq posb (match-end 0)) | ||
| 385 | (string-lessp (substring a posa) (substring b posb)))) | ||
| 386 | |||
| 387 | (defun tramp-adb-handle-make-directory (dir &optional parents) | ||
| 388 | "Like `make-directory' for Tramp files." | ||
| 389 | (setq dir (expand-file-name dir)) | ||
| 390 | (with-parsed-tramp-file-name dir nil | ||
| 391 | (when parents | ||
| 392 | (let ((par (expand-file-name ".." dir))) | ||
| 393 | (unless (file-directory-p par) | ||
| 394 | (make-directory par parents)))) | ||
| 395 | (tramp-adb-barf-unless-okay | ||
| 396 | v (format "mkdir %s" (tramp-shell-quote-argument localname)) | ||
| 397 | "Couldn't make directory %s" dir) | ||
| 398 | (tramp-flush-directory-property v (file-name-directory localname)))) | ||
| 399 | |||
| 400 | (defun tramp-adb-handle-delete-directory (directory &optional recursive) | ||
| 401 | "Like `delete-directory' for Tramp files." | ||
| 402 | (setq directory (expand-file-name directory)) | ||
| 403 | (with-parsed-tramp-file-name directory nil | ||
| 404 | (tramp-flush-file-property v (file-name-directory localname)) | ||
| 405 | (tramp-flush-directory-property v localname) | ||
| 406 | (tramp-adb-barf-unless-okay | ||
| 407 | v (format "%s %s" | ||
| 408 | (if recursive "rm -r" "rmdir") | ||
| 409 | (tramp-shell-quote-argument localname)) | ||
| 410 | "Couldn't delete %s" directory))) | ||
| 411 | |||
| 412 | (defun tramp-adb-handle-delete-file (filename &optional trash) | ||
| 413 | "Like `delete-file' for Tramp files." | ||
| 414 | (setq filename (expand-file-name filename)) | ||
| 415 | (with-parsed-tramp-file-name filename nil | ||
| 416 | (tramp-flush-file-property v (file-name-directory localname)) | ||
| 417 | (tramp-flush-file-property v localname) | ||
| 418 | (tramp-adb-barf-unless-okay | ||
| 419 | v (format "rm %s" (tramp-shell-quote-argument localname)) | ||
| 420 | "Couldn't delete %s" filename))) | ||
| 421 | |||
| 422 | (defun tramp-adb-handle-file-name-all-completions (filename directory) | ||
| 423 | "Like `file-name-all-completions' for Tramp files." | ||
| 424 | (all-completions | ||
| 425 | filename | ||
| 426 | (with-parsed-tramp-file-name directory nil | ||
| 427 | (with-tramp-file-property v localname "file-name-all-completions" | ||
| 428 | (save-match-data | ||
| 429 | (tramp-adb-send-command | ||
| 430 | v (format "ls %s" (tramp-shell-quote-argument localname))) | ||
| 431 | (mapcar | ||
| 432 | (lambda (f) | ||
| 433 | (if (file-directory-p f) | ||
| 434 | (file-name-as-directory f) | ||
| 435 | f)) | ||
| 436 | (with-current-buffer (tramp-get-buffer v) | ||
| 437 | (delq | ||
| 438 | nil | ||
| 439 | (mapcar | ||
| 440 | (lambda (l) (and (not (string-match "^[[:space:]]*$" l)) l)) | ||
| 441 | (split-string (buffer-string) "\n")))))))))) | ||
| 442 | |||
| 443 | (defun tramp-adb-handle-file-local-copy (filename) | ||
| 444 | "Like `file-local-copy' for Tramp files." | ||
| 445 | (with-parsed-tramp-file-name filename nil | ||
| 446 | (unless (file-exists-p (file-truename filename)) | ||
| 447 | (tramp-error | ||
| 448 | v 'file-error | ||
| 449 | "Cannot make local copy of non-existing file `%s'" filename)) | ||
| 450 | (let ((tmpfile (tramp-compat-make-temp-file filename))) | ||
| 451 | (with-tramp-progress-reporter | ||
| 452 | v 3 (format "Fetching %s to tmp file %s" filename tmpfile) | ||
| 453 | (when (tramp-adb-execute-adb-command v "pull" localname tmpfile) | ||
| 454 | (delete-file tmpfile) | ||
| 455 | (tramp-error | ||
| 456 | v 'file-error "Cannot make local copy of file `%s'" filename)) | ||
| 457 | (set-file-modes tmpfile (file-modes filename))) | ||
| 458 | tmpfile))) | ||
| 459 | |||
| 460 | (defun tramp-adb-handle-file-writable-p (filename) | ||
| 461 | "Like `tramp-sh-handle-file-writable-p'. | ||
| 462 | But handle the case, if the \"test\" command is not available." | ||
| 463 | (with-parsed-tramp-file-name filename nil | ||
| 464 | (with-tramp-file-property v localname "file-writable-p" | ||
| 465 | (if (tramp-adb-find-test-command v) | ||
| 466 | (if (file-exists-p filename) | ||
| 467 | (zerop | ||
| 468 | (tramp-adb-command-exit-status | ||
| 469 | v (format "test -w %s" (tramp-shell-quote-argument localname)))) | ||
| 470 | (and | ||
| 471 | (file-directory-p (file-name-directory filename)) | ||
| 472 | (file-writable-p (file-name-directory filename)))) | ||
| 473 | |||
| 474 | ;; Missing "test" command on Android < 4. | ||
| 475 | (let ((rw-path "/data/data")) | ||
| 476 | (tramp-message | ||
| 477 | v 5 | ||
| 478 | "Not implemented yet (assuming \"/data/data\" is writable): %s" | ||
| 479 | localname) | ||
| 480 | (and (>= (length localname) (length rw-path)) | ||
| 481 | (string= (substring localname 0 (length rw-path)) | ||
| 482 | rw-path))))))) | ||
| 483 | |||
| 484 | (defun tramp-adb-handle-write-region | ||
| 485 | (start end filename &optional append visit lockname confirm) | ||
| 486 | "Like `write-region' for Tramp files." | ||
| 487 | (setq filename (expand-file-name filename)) | ||
| 488 | (with-parsed-tramp-file-name filename nil | ||
| 489 | (when append | ||
| 490 | (tramp-error | ||
| 491 | v 'file-error "Cannot append to file using Tramp (`%s')" filename)) | ||
| 492 | (when (and confirm (file-exists-p filename)) | ||
| 493 | (unless (y-or-n-p (format "File %s exists; overwrite anyway? " | ||
| 494 | filename)) | ||
| 495 | (tramp-error v 'file-error "File not overwritten"))) | ||
| 496 | ;; We must also flush the cache of the directory, because | ||
| 497 | ;; `file-attributes' reads the values from there. | ||
| 498 | (tramp-flush-file-property v (file-name-directory localname)) | ||
| 499 | (tramp-flush-file-property v localname) | ||
| 500 | (let* ((curbuf (current-buffer)) | ||
| 501 | (tmpfile (tramp-compat-make-temp-file filename))) | ||
| 502 | (tramp-run-real-handler | ||
| 503 | 'write-region | ||
| 504 | (list start end tmpfile append 'no-message lockname confirm)) | ||
| 505 | (with-tramp-progress-reporter | ||
| 506 | v 3 (format "Moving tmp file %s to %s" tmpfile filename) | ||
| 507 | (unwind-protect | ||
| 508 | (when (tramp-adb-execute-adb-command v "push" tmpfile localname) | ||
| 509 | (tramp-error v 'file-error "Cannot write: `%s' filename")) | ||
| 510 | (delete-file tmpfile))) | ||
| 511 | |||
| 512 | (unless (equal curbuf (current-buffer)) | ||
| 513 | (tramp-error | ||
| 514 | v 'file-error | ||
| 515 | "Buffer has changed from `%s' to `%s'" curbuf (current-buffer)))))) | ||
| 516 | |||
| 517 | (defun tramp-adb-handle-set-file-modes (filename mode) | ||
| 518 | "Like `set-file-modes' for Tramp files." | ||
| 519 | (with-parsed-tramp-file-name filename nil | ||
| 520 | (tramp-flush-file-property v localname) | ||
| 521 | (tramp-adb-barf-unless-okay | ||
| 522 | v (format "chmod %s %s" (tramp-compat-decimal-to-octal mode) localname) | ||
| 523 | "Error while changing file's mode %s" filename))) | ||
| 524 | |||
| 525 | (defun tramp-adb-handle-copy-file | ||
| 526 | (filename newname &optional ok-if-already-exists keep-date | ||
| 527 | preserve-uid-gid preserve-selinux-context) | ||
| 528 | "Like `copy-file' for Tramp files. | ||
| 529 | PRESERVE-UID-GID and PRESERVE-SELINUX-CONTEXT are completely ignored." | ||
| 530 | (setq filename (expand-file-name filename) | ||
| 531 | newname (expand-file-name newname)) | ||
| 532 | |||
| 533 | (if (file-directory-p filename) | ||
| 534 | (copy-directory filename newname keep-date t) | ||
| 535 | (with-tramp-progress-reporter | ||
| 536 | (tramp-dissect-file-name (if (file-remote-p filename) filename newname)) | ||
| 537 | 0 (format "Copying %s to %s" filename newname) | ||
| 538 | |||
| 539 | (let ((tmpfile (file-local-copy filename))) | ||
| 540 | |||
| 541 | (if tmpfile | ||
| 542 | ;; Remote filename. | ||
| 543 | (condition-case err | ||
| 544 | (rename-file tmpfile newname ok-if-already-exists) | ||
| 545 | ((error quit) | ||
| 546 | (delete-file tmpfile) | ||
| 547 | (signal (car err) (cdr err)))) | ||
| 548 | |||
| 549 | ;; Remote newname. | ||
| 550 | (when (file-directory-p newname) | ||
| 551 | (setq newname | ||
| 552 | (expand-file-name (file-name-nondirectory filename) newname))) | ||
| 553 | |||
| 554 | (with-parsed-tramp-file-name newname nil | ||
| 555 | (when (and (not ok-if-already-exists) | ||
| 556 | (file-exists-p newname)) | ||
| 557 | (tramp-error v 'file-already-exists newname)) | ||
| 558 | |||
| 559 | ;; We must also flush the cache of the directory, because | ||
| 560 | ;; `file-attributes' reads the values from there. | ||
| 561 | (tramp-flush-file-property v (file-name-directory localname)) | ||
| 562 | (tramp-flush-file-property v localname) | ||
| 563 | (when (tramp-adb-execute-adb-command v "push" filename localname) | ||
| 564 | (tramp-error | ||
| 565 | v 'file-error "Cannot copy `%s' `%s'" filename newname)))))) | ||
| 566 | |||
| 567 | ;; KEEP-DATE handling. | ||
| 568 | (when keep-date | ||
| 569 | (set-file-times newname (nth 5 (file-attributes filename)))))) | ||
| 570 | |||
| 571 | (defun tramp-adb-handle-rename-file | ||
| 572 | (filename newname &optional ok-if-already-exists) | ||
| 573 | "Like `rename-file' for Tramp files." | ||
| 574 | (setq filename (expand-file-name filename) | ||
| 575 | newname (expand-file-name newname)) | ||
| 576 | |||
| 577 | (with-parsed-tramp-file-name | ||
| 578 | (if (file-remote-p filename) filename newname) nil | ||
| 579 | (with-tramp-progress-reporter | ||
| 580 | v 0 (format "Renaming %s to %s" newname filename) | ||
| 581 | |||
| 582 | (if (and (tramp-equal-remote filename newname) | ||
| 583 | (not (file-directory-p filename))) | ||
| 584 | (progn | ||
| 585 | (when (and (not ok-if-already-exists) | ||
| 586 | (file-exists-p newname)) | ||
| 587 | (tramp-error v 'file-already-exists newname)) | ||
| 588 | ;; We must also flush the cache of the directory, because | ||
| 589 | ;; `file-attributes' reads the values from there. | ||
| 590 | (tramp-flush-file-property v (file-name-directory localname)) | ||
| 591 | (tramp-flush-file-property v localname) | ||
| 592 | ;; Short track. | ||
| 593 | (tramp-adb-barf-unless-okay | ||
| 594 | v (format "mv %s %s" (file-remote-p filename 'localname) localname) | ||
| 595 | "Error renaming %s to %s" filename newname)) | ||
| 596 | |||
| 597 | ;; Rename by copy. | ||
| 598 | (copy-file filename newname ok-if-already-exists t t) | ||
| 599 | (delete-file filename))))) | ||
| 600 | |||
| 601 | (defun tramp-adb-handle-process-file | ||
| 602 | (program &optional infile destination display &rest args) | ||
| 603 | "Like `process-file' for Tramp files." | ||
| 604 | ;; The implementation is not complete yet. | ||
| 605 | (when (and (numberp destination) (zerop destination)) | ||
| 606 | (error "Implementation does not handle immediate return")) | ||
| 607 | |||
| 608 | (with-parsed-tramp-file-name default-directory nil | ||
| 609 | (let (command input tmpinput stderr tmpstderr outbuf ret) | ||
| 610 | ;; Compute command. | ||
| 611 | (setq command (mapconcat 'tramp-shell-quote-argument | ||
| 612 | (cons program args) " ")) | ||
| 613 | ;; Determine input. | ||
| 614 | (if (null infile) | ||
| 615 | (setq input "/dev/null") | ||
| 616 | (setq infile (expand-file-name infile)) | ||
| 617 | (if (tramp-equal-remote default-directory infile) | ||
| 618 | ;; INFILE is on the same remote host. | ||
| 619 | (setq input (with-parsed-tramp-file-name infile nil localname)) | ||
| 620 | ;; INFILE must be copied to remote host. | ||
| 621 | (setq input (tramp-make-tramp-temp-file v) | ||
| 622 | tmpinput (tramp-make-tramp-file-name method user host input)) | ||
| 623 | (copy-file infile tmpinput t))) | ||
| 624 | (when input (setq command (format "%s <%s" command input))) | ||
| 625 | |||
| 626 | ;; Determine output. | ||
| 627 | (cond | ||
| 628 | ;; Just a buffer. | ||
| 629 | ((bufferp destination) | ||
| 630 | (setq outbuf destination)) | ||
| 631 | ;; A buffer name. | ||
| 632 | ((stringp destination) | ||
| 633 | (setq outbuf (get-buffer-create destination))) | ||
| 634 | ;; (REAL-DESTINATION ERROR-DESTINATION) | ||
| 635 | ((consp destination) | ||
| 636 | ;; output. | ||
| 637 | (cond | ||
| 638 | ((bufferp (car destination)) | ||
| 639 | (setq outbuf (car destination))) | ||
| 640 | ((stringp (car destination)) | ||
| 641 | (setq outbuf (get-buffer-create (car destination)))) | ||
| 642 | ((car destination) | ||
| 643 | (setq outbuf (current-buffer)))) | ||
| 644 | ;; stderr. | ||
| 645 | (cond | ||
| 646 | ((stringp (cadr destination)) | ||
| 647 | (setcar (cdr destination) (expand-file-name (cadr destination))) | ||
| 648 | (if (tramp-equal-remote default-directory (cadr destination)) | ||
| 649 | ;; stderr is on the same remote host. | ||
| 650 | (setq stderr (with-parsed-tramp-file-name | ||
| 651 | (cadr destination) nil localname)) | ||
| 652 | ;; stderr must be copied to remote host. The temporary | ||
| 653 | ;; file must be deleted after execution. | ||
| 654 | (setq stderr (tramp-make-tramp-temp-file v) | ||
| 655 | tmpstderr (tramp-make-tramp-file-name | ||
| 656 | method user host stderr)))) | ||
| 657 | ;; stderr to be discarded. | ||
| 658 | ((null (cadr destination)) | ||
| 659 | (setq stderr "/dev/null")))) | ||
| 660 | ;; 't | ||
| 661 | (destination | ||
| 662 | (setq outbuf (current-buffer)))) | ||
| 663 | (when stderr (setq command (format "%s 2>%s" command stderr))) | ||
| 664 | |||
| 665 | ;; Send the command. It might not return in time, so we protect | ||
| 666 | ;; it. Call it in a subshell, in order to preserve working | ||
| 667 | ;; directory. | ||
| 668 | (condition-case nil | ||
| 669 | (progn | ||
| 670 | (setq ret 0 | ||
| 671 | ret | ||
| 672 | (tramp-adb-barf-unless-okay | ||
| 673 | v (format "(cd %s; %s)" | ||
| 674 | (tramp-shell-quote-argument localname) | ||
| 675 | command) | ||
| 676 | "")) | ||
| 677 | ;; We should show the output anyway. | ||
| 678 | (when outbuf | ||
| 679 | (with-current-buffer outbuf | ||
| 680 | (insert-buffer-substring (tramp-get-connection-buffer v))) | ||
| 681 | (when display (display-buffer outbuf)))) | ||
| 682 | ;; When the user did interrupt, we should do it also. We use | ||
| 683 | ;; return code -1 as marker. | ||
| 684 | (quit | ||
| 685 | (kill-buffer (tramp-get-connection-buffer v)) | ||
| 686 | (setq ret -1)) | ||
| 687 | ;; Handle errors. | ||
| 688 | (error | ||
| 689 | (kill-buffer (tramp-get-connection-buffer v)) | ||
| 690 | (setq ret 1))) | ||
| 691 | |||
| 692 | ;; Provide error file. | ||
| 693 | (when tmpstderr (rename-file tmpstderr (cadr destination) t)) | ||
| 694 | |||
| 695 | ;; Cleanup. We remove all file cache values for the connection, | ||
| 696 | ;; because the remote process could have changed them. | ||
| 697 | (when tmpinput (delete-file tmpinput)) | ||
| 698 | |||
| 699 | ;; `process-file-side-effects' has been introduced with GNU | ||
| 700 | ;; Emacs 23.2. If set to `nil', no remote file will be changed | ||
| 701 | ;; by `program'. If it doesn't exist, we assume its default | ||
| 702 | ;; value 't'. | ||
| 703 | (unless (and (boundp 'process-file-side-effects) | ||
| 704 | (not (symbol-value 'process-file-side-effects))) | ||
| 705 | (tramp-flush-directory-property v "")) | ||
| 706 | |||
| 707 | ;; Return exit status. | ||
| 708 | (if (equal ret -1) | ||
| 709 | (keyboard-quit) | ||
| 710 | ret)))) | ||
| 711 | |||
| 712 | (defun tramp-adb-handle-shell-command | ||
| 713 | (command &optional output-buffer error-buffer) | ||
| 714 | "Like `shell-command' for Tramp files." | ||
| 715 | (let* ((asynchronous (string-match "[ \t]*&[ \t]*\\'" command)) | ||
| 716 | ;; We cannot use `shell-file-name' and `shell-command-switch', | ||
| 717 | ;; they are variables of the local host. | ||
| 718 | (args (list "sh" "-c" (substring command 0 asynchronous))) | ||
| 719 | current-buffer-p | ||
| 720 | (output-buffer | ||
| 721 | (cond | ||
| 722 | ((bufferp output-buffer) output-buffer) | ||
| 723 | ((stringp output-buffer) (get-buffer-create output-buffer)) | ||
| 724 | (output-buffer | ||
| 725 | (setq current-buffer-p t) | ||
| 726 | (current-buffer)) | ||
| 727 | (t (get-buffer-create | ||
| 728 | (if asynchronous | ||
| 729 | "*Async Shell Command*" | ||
| 730 | "*Shell Command Output*"))))) | ||
| 731 | (error-buffer | ||
| 732 | (cond | ||
| 733 | ((bufferp error-buffer) error-buffer) | ||
| 734 | ((stringp error-buffer) (get-buffer-create error-buffer)))) | ||
| 735 | (buffer | ||
| 736 | (if (and (not asynchronous) error-buffer) | ||
| 737 | (with-parsed-tramp-file-name default-directory nil | ||
| 738 | (list output-buffer (tramp-make-tramp-temp-file v))) | ||
| 739 | output-buffer)) | ||
| 740 | (p (get-buffer-process output-buffer))) | ||
| 741 | |||
| 742 | ;; Check whether there is another process running. Tramp does not | ||
| 743 | ;; support 2 (asynchronous) processes in parallel. | ||
| 744 | (when p | ||
| 745 | (if (yes-or-no-p "A command is running. Kill it? ") | ||
| 746 | (ignore-errors (kill-process p)) | ||
| 747 | (error "Shell command in progress"))) | ||
| 748 | |||
| 749 | (if current-buffer-p | ||
| 750 | (progn | ||
| 751 | (barf-if-buffer-read-only) | ||
| 752 | (push-mark nil t)) | ||
| 753 | (with-current-buffer output-buffer | ||
| 754 | (setq buffer-read-only nil) | ||
| 755 | (erase-buffer))) | ||
| 756 | |||
| 757 | (if (and (not current-buffer-p) (integerp asynchronous)) | ||
| 758 | (prog1 | ||
| 759 | ;; Run the process. | ||
| 760 | (apply 'start-file-process "*Async Shell*" buffer args) | ||
| 761 | ;; Display output. | ||
| 762 | (pop-to-buffer output-buffer) | ||
| 763 | (setq mode-line-process '(":%s")) | ||
| 764 | (shell-mode)) | ||
| 765 | |||
| 766 | (prog1 | ||
| 767 | ;; Run the process. | ||
| 768 | (apply 'process-file (car args) nil buffer nil (cdr args)) | ||
| 769 | ;; Insert error messages if they were separated. | ||
| 770 | (when (listp buffer) | ||
| 771 | (with-current-buffer error-buffer | ||
| 772 | (insert-file-contents (cadr buffer))) | ||
| 773 | (delete-file (cadr buffer))) | ||
| 774 | (if current-buffer-p | ||
| 775 | ;; This is like exchange-point-and-mark, but doesn't | ||
| 776 | ;; activate the mark. It is cleaner to avoid activation, | ||
| 777 | ;; even though the command loop would deactivate the mark | ||
| 778 | ;; because we inserted text. | ||
| 779 | (goto-char (prog1 (mark t) | ||
| 780 | (set-marker (mark-marker) (point) | ||
| 781 | (current-buffer)))) | ||
| 782 | ;; There's some output, display it. | ||
| 783 | (when (with-current-buffer output-buffer (> (point-max) (point-min))) | ||
| 784 | (if (functionp 'display-message-or-buffer) | ||
| 785 | (tramp-compat-funcall 'display-message-or-buffer output-buffer) | ||
| 786 | (pop-to-buffer output-buffer)))))))) | ||
| 787 | |||
| 788 | ;; We use BUFFER also as connection buffer during setup. Because of | ||
| 789 | ;; this, its original contents must be saved, and restored once | ||
| 790 | ;; connection has been setup. | ||
| 791 | (defun tramp-adb-handle-start-file-process (name buffer program &rest args) | ||
| 792 | "Like `start-file-process' for Tramp files." | ||
| 793 | (with-parsed-tramp-file-name default-directory nil | ||
| 794 | ;; When PROGRAM is nil, we just provide a tty. | ||
| 795 | (let ((command | ||
| 796 | (when (stringp program) | ||
| 797 | (format "cd %s; %s" | ||
| 798 | (tramp-shell-quote-argument localname) | ||
| 799 | (mapconcat 'tramp-shell-quote-argument | ||
| 800 | (cons program args) " ")))) | ||
| 801 | (tramp-process-connection-type | ||
| 802 | (or (null program) tramp-process-connection-type)) | ||
| 803 | (bmp (and (buffer-live-p buffer) (buffer-modified-p buffer))) | ||
| 804 | (name1 name) | ||
| 805 | (i 0)) | ||
| 806 | (unwind-protect | ||
| 807 | (save-excursion | ||
| 808 | (save-restriction | ||
| 809 | (unless buffer | ||
| 810 | ;; BUFFER can be nil. We use a temporary buffer. | ||
| 811 | (setq buffer (generate-new-buffer tramp-temp-buffer-name))) | ||
| 812 | (while (get-process name1) | ||
| 813 | ;; NAME must be unique as process name. | ||
| 814 | (setq i (1+ i) | ||
| 815 | name1 (format "%s<%d>" name i))) | ||
| 816 | (setq name name1) | ||
| 817 | ;; Set the new process properties. | ||
| 818 | (tramp-set-connection-property v "process-name" name) | ||
| 819 | (tramp-set-connection-property v "process-buffer" buffer) | ||
| 820 | ;; Activate narrowing in order to save BUFFER contents. | ||
| 821 | ;; Clear also the modification time; otherwise we might | ||
| 822 | ;; be interrupted by `verify-visited-file-modtime'. | ||
| 823 | (with-current-buffer (tramp-get-connection-buffer v) | ||
| 824 | (let ((buffer-undo-list t)) | ||
| 825 | (clear-visited-file-modtime) | ||
| 826 | (narrow-to-region (point-max) (point-max)) | ||
| 827 | (if command | ||
| 828 | ;; Send the command. | ||
| 829 | (tramp-adb-send-command v command) | ||
| 830 | ;; Open the connection. | ||
| 831 | (tramp-adb-maybe-open-connection v)))) | ||
| 832 | (let ((p (tramp-get-connection-process v))) | ||
| 833 | ;; Set sentinel and query flag for this process. | ||
| 834 | (tramp-set-connection-property p "vector" v) | ||
| 835 | (set-process-sentinel p 'tramp-process-sentinel) | ||
| 836 | (tramp-compat-set-process-query-on-exit-flag p t) | ||
| 837 | ;; Return process. | ||
| 838 | p))) | ||
| 839 | ;; Save exit. | ||
| 840 | (with-current-buffer (tramp-get-connection-buffer v) | ||
| 841 | (if (string-match tramp-temp-buffer-name (buffer-name)) | ||
| 842 | (progn | ||
| 843 | (set-process-buffer (tramp-get-connection-process v) nil) | ||
| 844 | (kill-buffer (current-buffer))) | ||
| 845 | (set-buffer-modified-p bmp))) | ||
| 846 | (tramp-set-connection-property v "process-name" nil) | ||
| 847 | (tramp-set-connection-property v "process-buffer" nil))))) | ||
| 848 | |||
| 849 | ;; Android < 4 doesn't provide test command. | ||
| 850 | |||
| 851 | (defun tramp-adb-handle-file-exists-p (filename) | ||
| 852 | "Like `file-exists-p' for Tramp files." | ||
| 853 | (with-parsed-tramp-file-name filename nil | ||
| 854 | (with-tramp-file-property v localname "file-exists-p" | ||
| 855 | (file-attributes filename)))) | ||
| 856 | |||
| 857 | ;; Helper functions. | ||
| 858 | |||
| 859 | (defun tramp-adb-execute-adb-command (vec &rest args) | ||
| 860 | "Returns nil on success error-output on failure." | ||
| 861 | (when (tramp-file-name-host vec) | ||
| 862 | (setq args (append (list "-s" (tramp-file-name-host vec)) args))) | ||
| 863 | (with-temp-buffer | ||
| 864 | (prog1 | ||
| 865 | (unless (zerop (apply 'call-process (tramp-adb-program) nil t nil args)) | ||
| 866 | (buffer-string)) | ||
| 867 | (tramp-message | ||
| 868 | vec 6 "%s %s\n%s" | ||
| 869 | (tramp-adb-program) (mapconcat 'identity args " ") (buffer-string))))) | ||
| 870 | |||
| 871 | (defun tramp-adb-find-test-command (vec) | ||
| 872 | "Checks, whether the ash has a builtin \"test\" command. | ||
| 873 | This happens for Android >= 4.0." | ||
| 874 | (with-tramp-connection-property vec "test" | ||
| 875 | (zerop (tramp-adb-command-exit-status vec "type test")))) | ||
| 876 | |||
| 877 | ;; Connection functions | ||
| 878 | |||
| 879 | (defun tramp-adb-send-command (vec command) | ||
| 880 | "Send the COMMAND to connection VEC." | ||
| 881 | (tramp-adb-maybe-open-connection vec) | ||
| 882 | (tramp-message vec 6 "%s" command) | ||
| 883 | (tramp-send-string vec command) | ||
| 884 | ;; fixme: Race condition | ||
| 885 | (tramp-adb-wait-for-output (tramp-get-connection-process vec)) | ||
| 886 | (with-current-buffer (tramp-get-connection-buffer vec) | ||
| 887 | (save-excursion | ||
| 888 | (goto-char (point-min)) | ||
| 889 | ;; We can't use stty to disable echo of command. | ||
| 890 | (delete-matching-lines (regexp-quote command)) | ||
| 891 | ;; When the local machine is W32, there are still trailing ^M. | ||
| 892 | ;; There must be a better solution by setting the correct coding | ||
| 893 | ;; system, but this requires changes in core Tramp. | ||
| 894 | (goto-char (point-min)) | ||
| 895 | (while (re-search-forward "\r+$" nil t) | ||
| 896 | (replace-match "" nil nil))))) | ||
| 897 | |||
| 898 | (defun tramp-adb-barf-unless-okay (vec command fmt &rest args) | ||
| 899 | "Run COMMAND, check exit status, throw error if exit status not okay. | ||
| 900 | FMT and ARGS are passed to `error'." | ||
| 901 | (tramp-adb-send-command vec (format "%s; echo tramp_exit_status $?" command)) | ||
| 902 | (with-current-buffer (tramp-get-connection-buffer vec) | ||
| 903 | (goto-char (point-max)) | ||
| 904 | (unless (re-search-backward "tramp_exit_status [0-9]+" nil t) | ||
| 905 | (tramp-error | ||
| 906 | vec 'file-error "Couldn't find exit status of `%s'" command)) | ||
| 907 | (skip-chars-forward "^ ") | ||
| 908 | (unless (zerop (read (current-buffer))) | ||
| 909 | (apply 'tramp-error vec 'file-error fmt args)) | ||
| 910 | (let (buffer-read-only) | ||
| 911 | (delete-region (match-beginning 0) (point-max))))) | ||
| 912 | |||
| 913 | (defun tramp-adb-command-exit-status | ||
| 914 | (vec command) | ||
| 915 | "Run COMMAND and return its exit status. | ||
| 916 | Sends `echo $?' along with the COMMAND for checking the exit status. If | ||
| 917 | COMMAND is nil, just sends `echo $?'. Returns the exit status found." | ||
| 918 | (tramp-adb-send-command vec (format "%s; echo tramp_exit_status $?" command)) | ||
| 919 | (with-current-buffer (tramp-get-connection-buffer vec) | ||
| 920 | (goto-char (point-max)) | ||
| 921 | (unless (re-search-backward "tramp_exit_status [0-9]+" nil t) | ||
| 922 | (tramp-error | ||
| 923 | vec 'file-error "Couldn't find exit status of `%s'" command)) | ||
| 924 | (skip-chars-forward "^ ") | ||
| 925 | (read (current-buffer)))) | ||
| 926 | |||
| 927 | (defun tramp-adb-wait-for-output (proc &optional timeout) | ||
| 928 | "Wait for output from remote command." | ||
| 929 | (unless (buffer-live-p (process-buffer proc)) | ||
| 930 | (delete-process proc) | ||
| 931 | (tramp-error proc 'file-error "Process `%s' not available, try again" proc)) | ||
| 932 | (with-current-buffer (process-buffer proc) | ||
| 933 | (if (tramp-wait-for-regexp proc timeout tramp-adb-prompt) | ||
| 934 | (let (buffer-read-only) | ||
| 935 | (goto-char (point-min)) | ||
| 936 | (when (re-search-forward tramp-adb-prompt (point-at-eol) t) | ||
| 937 | (forward-line 1) | ||
| 938 | (delete-region (point-min) (point))) | ||
| 939 | ;; Delete the prompt. | ||
| 940 | (goto-char (point-max)) | ||
| 941 | (re-search-backward tramp-adb-prompt nil t) | ||
| 942 | (delete-region (point) (point-max))) | ||
| 943 | (if timeout | ||
| 944 | (tramp-error | ||
| 945 | proc 'file-error | ||
| 946 | "[[Remote adb prompt `%s' not found in %d secs]]" | ||
| 947 | tramp-adb-prompt timeout) | ||
| 948 | (tramp-error | ||
| 949 | proc 'file-error | ||
| 950 | "[[Remote prompt `%s' not found]]" tramp-adb-prompt))))) | ||
| 951 | |||
| 952 | (defun tramp-adb-maybe-open-connection (vec) | ||
| 953 | "Maybe open a connection VEC. | ||
| 954 | Does not do anything if a connection is already open, but re-opens the | ||
| 955 | connection if a previous connection has died for some reason." | ||
| 956 | (let* ((buf (tramp-get-connection-buffer vec)) | ||
| 957 | (p (get-buffer-process buf))) | ||
| 958 | (unless | ||
| 959 | (and p (processp p) (memq (process-status p) '(run open))) | ||
| 960 | (save-match-data | ||
| 961 | (when (and p (processp p)) (delete-process p)) | ||
| 962 | (with-tramp-progress-reporter vec 3 "Opening adb shell connection" | ||
| 963 | (let* ((coding-system-for-read 'utf-8-dos) ;is this correct? | ||
| 964 | (process-connection-type tramp-process-connection-type) | ||
| 965 | (args (if (tramp-file-name-host vec) | ||
| 966 | (list "-s" (tramp-file-name-host vec) "shell") | ||
| 967 | (list "shell"))) | ||
| 968 | (p (let ((default-directory | ||
| 969 | (tramp-compat-temporary-file-directory))) | ||
| 970 | (apply 'start-process (tramp-get-connection-name vec) buf | ||
| 971 | (tramp-adb-program) args)))) | ||
| 972 | (tramp-message | ||
| 973 | vec 6 "%s" (mapconcat 'identity (process-command p) " ")) | ||
| 974 | ;; Wait for initial prompt. | ||
| 975 | (tramp-adb-wait-for-output p) | ||
| 976 | (unless (eq 'run (process-status p)) | ||
| 977 | (tramp-error vec 'file-error "Terminated!")) | ||
| 978 | (set-process-query-on-exit-flag p nil))))))) | ||
| 979 | |||
| 980 | (provide 'tramp-adb) | ||
| 981 | ;;; tramp-adb.el ends here | ||
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el index c3552ae023b..3d37a0cfc39 100644 --- a/lisp/net/tramp-compat.el +++ b/lisp/net/tramp-compat.el | |||
| @@ -71,22 +71,6 @@ | |||
| 71 | (require 'timer-funcs) | 71 | (require 'timer-funcs) |
| 72 | (require 'timer)) | 72 | (require 'timer)) |
| 73 | 73 | ||
| 74 | ;; We check whether `start-file-process' is bound. | ||
| 75 | ;; Note: we deactivate this. There are problems, at least in SXEmacs. | ||
| 76 | (unless t;(fboundp 'start-file-process) | ||
| 77 | |||
| 78 | ;; tramp-util offers integration into other (X)Emacs packages like | ||
| 79 | ;; compile.el, gud.el etc. Not necessary in Emacs 23. | ||
| 80 | (eval-after-load "tramp" | ||
| 81 | '(require 'tramp-util)) | ||
| 82 | |||
| 83 | ;; Make sure that we get integration with the VC package. When it | ||
| 84 | ;; is loaded, we need to pull in the integration module. Not | ||
| 85 | ;; necessary in Emacs 23. | ||
| 86 | (eval-after-load "vc" | ||
| 87 | (eval-after-load "tramp" | ||
| 88 | '(require 'tramp-vc)))) | ||
| 89 | |||
| 90 | ;; Avoid byte-compiler warnings if the byte-compiler supports this. | 74 | ;; Avoid byte-compiler warnings if the byte-compiler supports this. |
| 91 | ;; Currently, XEmacs supports this. | 75 | ;; Currently, XEmacs supports this. |
| 92 | (when (featurep 'xemacs) | 76 | (when (featurep 'xemacs) |
| @@ -132,9 +116,7 @@ | |||
| 132 | ;; mechanism. | 116 | ;; mechanism. |
| 133 | 117 | ||
| 134 | ;; `file-remote-p' has been introduced with Emacs 22. The version | 118 | ;; `file-remote-p' has been introduced with Emacs 22. The version |
| 135 | ;; of XEmacs is not a magic file name function (yet); this is | 119 | ;; of XEmacs is not a magic file name function (yet). |
| 136 | ;; corrected in tramp-util.el. Here it is sufficient if the | ||
| 137 | ;; function exists. | ||
| 138 | (unless (fboundp 'file-remote-p) | 120 | (unless (fboundp 'file-remote-p) |
| 139 | (defalias 'file-remote-p | 121 | (defalias 'file-remote-p |
| 140 | (lambda (file &optional identification connected) | 122 | (lambda (file &optional identification connected) |
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 0aa1b8957ac..a4b2e0fccff 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el | |||
| @@ -526,7 +526,11 @@ is no information where to trace the message.") | |||
| 526 | (tramp-message tramp-gvfs-dbus-event-vector 10 "%S" event) | 526 | (tramp-message tramp-gvfs-dbus-event-vector 10 "%S" event) |
| 527 | (tramp-error tramp-gvfs-dbus-event-vector 'file-error "%s" (cadr err)))) | 527 | (tramp-error tramp-gvfs-dbus-event-vector 'file-error "%s" (cadr err)))) |
| 528 | 528 | ||
| 529 | (add-hook 'dbus-event-error-functions 'tramp-gvfs-dbus-event-error) | 529 | ;; `dbus-event-error-hooks' has been renamed to `dbus-event-error-functions'. |
| 530 | (add-hook | ||
| 531 | (if (boundp 'dbus-event-error-functions) | ||
| 532 | 'dbus-event-error-functions 'dbus-event-error-hooks) | ||
| 533 | 'tramp-gvfs-dbus-event-error) | ||
| 530 | 534 | ||
| 531 | 535 | ||
| 532 | ;; File name primitives. | 536 | ;; File name primitives. |
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index ec321d00506..55af0f0d96b 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el | |||
| @@ -813,14 +813,11 @@ my %%trans = do { | |||
| 813 | map {(substr(unpack(q(B8), chr $i++), 2, 6), $_)} | 813 | map {(substr(unpack(q(B8), chr $i++), 2, 6), $_)} |
| 814 | split //, q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/); | 814 | split //, q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/); |
| 815 | }; | 815 | }; |
| 816 | 816 | my $data; | |
| 817 | binmode(\\*STDIN); | ||
| 818 | 817 | ||
| 819 | # We read in chunks of 54 bytes, to generate output lines | 818 | # We read in chunks of 54 bytes, to generate output lines |
| 820 | # of 72 chars (plus end of line) | 819 | # of 72 chars (plus end of line) |
| 821 | $/ = \\54; | 820 | while (read STDIN, $data, 54) { |
| 822 | |||
| 823 | while (my $data = <STDIN>) { | ||
| 824 | my $pad = q(); | 821 | my $pad = q(); |
| 825 | 822 | ||
| 826 | # Only for the last chunk, and only if did not fill the last three-byte packet | 823 | # Only for the last chunk, and only if did not fill the last three-byte packet |
| @@ -1270,9 +1267,10 @@ target of the symlink differ." | |||
| 1270 | res-uid | 1267 | res-uid |
| 1271 | ;; 3. File gid. | 1268 | ;; 3. File gid. |
| 1272 | res-gid | 1269 | res-gid |
| 1273 | ;; 4. Last access time, as a list of two integers. First | 1270 | ;; 4. Last access time, as a list of integers. Normally this |
| 1274 | ;; integer has high-order 16 bits of time, second has low 16 | 1271 | ;; would be in the same format as `current-time', but the |
| 1275 | ;; bits. | 1272 | ;; subseconds part is not currently implemented, and (0 0) |
| 1273 | ;; denotes an unknown time. | ||
| 1276 | ;; 5. Last modification time, likewise. | 1274 | ;; 5. Last modification time, likewise. |
| 1277 | ;; 6. Last status change time, likewise. | 1275 | ;; 6. Last status change time, likewise. |
| 1278 | '(0 0) '(0 0) '(0 0) ;CCC how to find out? | 1276 | '(0 0) '(0 0) '(0 0) ;CCC how to find out? |
| @@ -1980,6 +1978,7 @@ file names." | |||
| 1980 | (error "Unknown operation `%s', must be `copy' or `rename'" op)) | 1978 | (error "Unknown operation `%s', must be `copy' or `rename'" op)) |
| 1981 | (let ((t1 (tramp-tramp-file-p filename)) | 1979 | (let ((t1 (tramp-tramp-file-p filename)) |
| 1982 | (t2 (tramp-tramp-file-p newname)) | 1980 | (t2 (tramp-tramp-file-p newname)) |
| 1981 | (length (nth 7 (file-attributes (file-truename filename)))) | ||
| 1983 | (context (and preserve-selinux-context | 1982 | (context (and preserve-selinux-context |
| 1984 | (apply 'file-selinux-context (list filename)))) | 1983 | (apply 'file-selinux-context (list filename)))) |
| 1985 | pr tm) | 1984 | pr tm) |
| @@ -2009,8 +2008,9 @@ file names." | |||
| 2009 | ok-if-already-exists keep-date preserve-uid-gid)) | 2008 | ok-if-already-exists keep-date preserve-uid-gid)) |
| 2010 | 2009 | ||
| 2011 | ;; Try out-of-band operation. | 2010 | ;; Try out-of-band operation. |
| 2012 | ((tramp-method-out-of-band-p | 2011 | ((and |
| 2013 | v1 (nth 7 (file-attributes (file-truename filename)))) | 2012 | (tramp-method-out-of-band-p v1 length) |
| 2013 | (tramp-method-out-of-band-p v2 length)) | ||
| 2014 | (tramp-do-copy-or-rename-file-out-of-band | 2014 | (tramp-do-copy-or-rename-file-out-of-band |
| 2015 | op filename newname keep-date)) | 2015 | op filename newname keep-date)) |
| 2016 | 2016 | ||
| @@ -2038,8 +2038,7 @@ file names." | |||
| 2038 | 2038 | ||
| 2039 | ;; If the Tramp file has an out-of-band method, the | 2039 | ;; If the Tramp file has an out-of-band method, the |
| 2040 | ;; corresponding copy-program can be invoked. | 2040 | ;; corresponding copy-program can be invoked. |
| 2041 | ((tramp-method-out-of-band-p | 2041 | ((tramp-method-out-of-band-p v length) |
| 2042 | v (nth 7 (file-attributes (file-truename filename)))) | ||
| 2043 | (tramp-do-copy-or-rename-file-out-of-band | 2042 | (tramp-do-copy-or-rename-file-out-of-band |
| 2044 | op filename newname keep-date)) | 2043 | op filename newname keep-date)) |
| 2045 | 2044 | ||
| @@ -2380,17 +2379,38 @@ The method used must be an out-of-band method." | |||
| 2380 | ;; last longer than 60 secs. | 2379 | ;; last longer than 60 secs. |
| 2381 | (let ((p (let ((default-directory | 2380 | (let ((p (let ((default-directory |
| 2382 | (tramp-compat-temporary-file-directory))) | 2381 | (tramp-compat-temporary-file-directory))) |
| 2383 | (apply 'start-process | 2382 | (apply 'start-process-shell-command |
| 2384 | (tramp-get-connection-name v) | 2383 | (tramp-get-connection-name v) |
| 2385 | (tramp-get-connection-buffer v) | 2384 | (tramp-get-connection-buffer v) |
| 2386 | copy-program | 2385 | copy-program |
| 2387 | (append copy-args (list source target)))))) | 2386 | (append |
| 2387 | copy-args | ||
| 2388 | (list | ||
| 2389 | (shell-quote-argument source) | ||
| 2390 | (shell-quote-argument target) | ||
| 2391 | "&&" "echo" "tramp_exit_status" "0" | ||
| 2392 | "||" "echo" "tramp_exit_status" "1")))))) | ||
| 2388 | (tramp-message | 2393 | (tramp-message |
| 2389 | orig-vec 6 "%s" | 2394 | orig-vec 6 "%s" |
| 2390 | (mapconcat 'identity (process-command p) " ")) | 2395 | (mapconcat 'identity (process-command p) " ")) |
| 2391 | (tramp-compat-set-process-query-on-exit-flag p nil) | 2396 | (tramp-compat-set-process-query-on-exit-flag p nil) |
| 2392 | (tramp-process-actions | 2397 | (tramp-process-actions |
| 2393 | p v nil tramp-actions-copy-out-of-band))) | 2398 | p v nil tramp-actions-copy-out-of-band) |
| 2399 | |||
| 2400 | ;; Check the return code. | ||
| 2401 | (goto-char (point-max)) | ||
| 2402 | (unless | ||
| 2403 | (re-search-backward "tramp_exit_status [0-9]+" nil t) | ||
| 2404 | (tramp-error | ||
| 2405 | orig-vec 'file-error | ||
| 2406 | "Couldn't find exit status of `%s'" (process-command p))) | ||
| 2407 | (skip-chars-forward "^ ") | ||
| 2408 | (unless (zerop (read (current-buffer))) | ||
| 2409 | (forward-line -1) | ||
| 2410 | (tramp-error | ||
| 2411 | orig-vec 'file-error | ||
| 2412 | "Error copying: `%s'" | ||
| 2413 | (buffer-substring (point-min) (point-at-eol)))))) | ||
| 2394 | 2414 | ||
| 2395 | ;; Reset the transfer process properties. | 2415 | ;; Reset the transfer process properties. |
| 2396 | (tramp-message orig-vec 6 "\n%s" (buffer-string)) | 2416 | (tramp-message orig-vec 6 "\n%s" (buffer-string)) |
| @@ -2912,16 +2932,6 @@ the result will be a local, non-Tramp, filename." | |||
| 2912 | (keyboard-quit) | 2932 | (keyboard-quit) |
| 2913 | ret)))) | 2933 | ret)))) |
| 2914 | 2934 | ||
| 2915 | (defun tramp-sh-handle-call-process-region | ||
| 2916 | (start end program &optional delete buffer display &rest args) | ||
| 2917 | "Like `call-process-region' for Tramp files." | ||
| 2918 | (let ((tmpfile (tramp-compat-make-temp-file ""))) | ||
| 2919 | (write-region start end tmpfile) | ||
| 2920 | (when delete (delete-region start end)) | ||
| 2921 | (unwind-protect | ||
| 2922 | (apply 'call-process program tmpfile buffer display args) | ||
| 2923 | (delete-file tmpfile)))) | ||
| 2924 | |||
| 2925 | (defun tramp-sh-handle-file-local-copy (filename) | 2935 | (defun tramp-sh-handle-file-local-copy (filename) |
| 2926 | "Like `file-local-copy' for Tramp files." | 2936 | "Like `file-local-copy' for Tramp files." |
| 2927 | (with-parsed-tramp-file-name filename nil | 2937 | (with-parsed-tramp-file-name filename nil |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index caaae5d553e..a4d36cbe72c 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -1750,10 +1750,12 @@ value of `default-file-modes', without execute permissions." | |||
| 1750 | 1750 | ||
| 1751 | (defalias 'tramp-replace-environment-variables | 1751 | (defalias 'tramp-replace-environment-variables |
| 1752 | (if (ignore-errors | 1752 | (if (ignore-errors |
| 1753 | (equal "${ tramp?}" (substitute-env-vars "${ tramp?}" 'only-defined))) | 1753 | (equal "${ tramp?}" |
| 1754 | (tramp-compat-funcall | ||
| 1755 | 'substitute-env-vars "${ tramp?}" 'only-defined))) | ||
| 1754 | (lambda (filename) | 1756 | (lambda (filename) |
| 1755 | "Like `substitute-env-vars' with `only-defined' non-nil." | 1757 | "Like `substitute-env-vars' with `only-defined' non-nil." |
| 1756 | (substitute-env-vars filename 'only-defined)) | 1758 | (tramp-compat-funcall 'substitute-env-vars filename 'only-defined)) |
| 1757 | (lambda (filename) | 1759 | (lambda (filename) |
| 1758 | "Replace environment variables in FILENAME. | 1760 | "Replace environment variables in FILENAME. |
| 1759 | Return the string with the replaced variables." | 1761 | Return the string with the replaced variables." |
| @@ -1928,10 +1930,7 @@ ARGS are the arguments OPERATION has been called with." | |||
| 1928 | ;; Emacs 23+ only. | 1930 | ;; Emacs 23+ only. |
| 1929 | 'start-file-process | 1931 | 'start-file-process |
| 1930 | ;; XEmacs only. | 1932 | ;; XEmacs only. |
| 1931 | 'dired-print-file 'dired-shell-call-process | 1933 | 'dired-print-file 'dired-shell-call-process)) |
| 1932 | ;; nowhere yet. | ||
| 1933 | 'executable-find 'start-process | ||
| 1934 | 'call-process 'call-process-region)) | ||
| 1935 | default-directory) | 1934 | default-directory) |
| 1936 | ;; Unknown file primitive. | 1935 | ;; Unknown file primitive. |
| 1937 | (t (error "unknown file I/O primitive: %s" operation)))) | 1936 | (t (error "unknown file I/O primitive: %s" operation)))) |
| @@ -3767,6 +3766,7 @@ Invokes `password-read' if available, `read-passwd' else." | |||
| 3767 | ("oct" . 10) ("nov" . 11) ("dec" . 12)) | 3766 | ("oct" . 10) ("nov" . 11) ("dec" . 12)) |
| 3768 | "Alist mapping month names to integers.") | 3767 | "Alist mapping month names to integers.") |
| 3769 | 3768 | ||
| 3769 | ;; FIXME: Shouldn't this also look at any subseconds parts of T1 and T2? | ||
| 3770 | ;;;###tramp-autoload | 3770 | ;;;###tramp-autoload |
| 3771 | (defun tramp-time-less-p (t1 t2) | 3771 | (defun tramp-time-less-p (t1 t2) |
| 3772 | "Say whether time value T1 is less than time value T2." | 3772 | "Say whether time value T1 is less than time value T2." |
| @@ -3776,6 +3776,7 @@ Invokes `password-read' if available, `read-passwd' else." | |||
| 3776 | (and (= (car t1) (car t2)) | 3776 | (and (= (car t1) (car t2)) |
| 3777 | (< (nth 1 t1) (nth 1 t2))))) | 3777 | (< (nth 1 t1) (nth 1 t2))))) |
| 3778 | 3778 | ||
| 3779 | ;; FIXME: Shouldn't this also look at any subseconds parts of T1 and T2? | ||
| 3779 | (defun tramp-time-subtract (t1 t2) | 3780 | (defun tramp-time-subtract (t1 t2) |
| 3780 | "Subtract two time values. | 3781 | "Subtract two time values. |
| 3781 | Return the difference in the format of a time value." | 3782 | Return the difference in the format of a time value." |
diff --git a/lisp/novice.el b/lisp/novice.el index c621ac4b692..b8e4a268b23 100644 --- a/lisp/novice.el +++ b/lisp/novice.el | |||
| @@ -49,7 +49,6 @@ If nil, the feature is disabled, i.e., all commands work normally.") | |||
| 49 | (unless keys (setq keys (this-command-keys))) | 49 | (unless keys (setq keys (this-command-keys))) |
| 50 | (let (char) | 50 | (let (char) |
| 51 | (save-window-excursion | 51 | (save-window-excursion |
| 52 | (help-setup-xref (list 'disabled-command-function cmd keys) nil) | ||
| 53 | (with-output-to-temp-buffer "*Disabled Command*" ;; (help-buffer) | 52 | (with-output-to-temp-buffer "*Disabled Command*" ;; (help-buffer) |
| 54 | (if (or (eq (aref keys 0) | 53 | (if (or (eq (aref keys 0) |
| 55 | (if (stringp keys) | 54 | (if (stringp keys) |
diff --git a/lisp/longlines.el b/lisp/obsolete/longlines.el index 68722a8f920..1ae6d1a357e 100644 --- a/lisp/longlines.el +++ b/lisp/obsolete/longlines.el | |||
| @@ -6,6 +6,7 @@ | |||
| 6 | ;; Alex Schroeder <alex@gnu.org> | 6 | ;; Alex Schroeder <alex@gnu.org> |
| 7 | ;; Chong Yidong <cyd@stupidchicken.com> | 7 | ;; Chong Yidong <cyd@stupidchicken.com> |
| 8 | ;; Maintainer: Chong Yidong <cyd@stupidchicken.com> | 8 | ;; Maintainer: Chong Yidong <cyd@stupidchicken.com> |
| 9 | ;; Obsolete-since: 24.4 | ||
| 9 | ;; Keywords: convenience, wp | 10 | ;; Keywords: convenience, wp |
| 10 | 11 | ||
| 11 | ;; This file is part of GNU Emacs. | 12 | ;; This file is part of GNU Emacs. |
| @@ -278,7 +279,7 @@ end of the buffer." | |||
| 278 | If wrapping is performed, point remains on the line. If the line does | 279 | If wrapping is performed, point remains on the line. If the line does |
| 279 | not need to be wrapped, move point to the next line and return t." | 280 | not need to be wrapped, move point to the next line and return t." |
| 280 | (if (longlines-set-breakpoint) | 281 | (if (longlines-set-breakpoint) |
| 281 | (progn (insert-before-markers ?\n) | 282 | (progn (insert-before-markers-and-inherit ?\n) |
| 282 | (backward-char 1) | 283 | (backward-char 1) |
| 283 | (delete-char -1) | 284 | (delete-char -1) |
| 284 | (forward-char 1) | 285 | (forward-char 1) |
| @@ -384,8 +385,12 @@ compatibility with `format-alist', and is ignored." | |||
| 384 | (mod (buffer-modified-p))) | 385 | (mod (buffer-modified-p))) |
| 385 | (goto-char (min beg end)) | 386 | (goto-char (min beg end)) |
| 386 | (while (search-forward "\n" reg-max t) | 387 | (while (search-forward "\n" reg-max t) |
| 387 | (unless (get-text-property (match-beginning 0) 'hard) | 388 | (let ((pos (match-beginning 0))) |
| 388 | (replace-match " "))) | 389 | (unless (get-text-property pos 'hard) |
| 390 | (goto-char (1+ pos)) | ||
| 391 | (insert-and-inherit " ") | ||
| 392 | (delete-region pos (1+ pos)) | ||
| 393 | (remove-text-properties pos (1+ pos) 'hard)))) | ||
| 389 | (set-buffer-modified-p mod) | 394 | (set-buffer-modified-p mod) |
| 390 | end))) | 395 | end))) |
| 391 | 396 | ||
diff --git a/lisp/terminal.el b/lisp/obsolete/terminal.el index 7aaac26f1b0..5497a74b32f 100644 --- a/lisp/terminal.el +++ b/lisp/obsolete/terminal.el | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Richard Mlynarik <mly@eddie.mit.edu> | 6 | ;; Author: Richard Mlynarik <mly@eddie.mit.edu> |
| 7 | ;; Maintainer: FSF | 7 | ;; Maintainer: FSF |
| 8 | ;; Obsolete-since: 24.4 | ||
| 8 | ;; Keywords: comm, terminals | 9 | ;; Keywords: comm, terminals |
| 9 | 10 | ||
| 10 | ;; This file is part of GNU Emacs. | 11 | ;; This file is part of GNU Emacs. |
| @@ -24,14 +25,14 @@ | |||
| 24 | 25 | ||
| 25 | ;;; Commentary: | 26 | ;;; Commentary: |
| 26 | 27 | ||
| 27 | ;;; This file has been censored by the Communications Decency Act. | 28 | ;; This file has been censored by the Communications Decency Act. |
| 28 | ;;; That law was passed under the guise of a ban on pornography, but | 29 | ;; That law was passed under the guise of a ban on pornography, but |
| 29 | ;;; it bans far more than that. This file did not contain pornography, | 30 | ;; it bans far more than that. This file did not contain pornography, |
| 30 | ;;; but it was censored nonetheless. | 31 | ;; but it was censored nonetheless. |
| 31 | 32 | ||
| 32 | ;;; For information on US government censorship of the Internet, and | 33 | ;; For information on US government censorship of the Internet, and |
| 33 | ;;; what you can do to bring back freedom of the press, see the web | 34 | ;; what you can do to bring back freedom of the press, see the web |
| 34 | ;;; site http://www.vtw.org/ | 35 | ;; site http://www.vtw.org/ |
| 35 | 36 | ||
| 36 | ;;; Code: | 37 | ;;; Code: |
| 37 | 38 | ||
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index 9bf731fb6b2..98383e56532 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-12-04 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * org-bibtex.el (org-bibtex-ask): Use visual-line-mode instead of | ||
| 4 | longlines-mode. | ||
| 5 | |||
| 1 | 2012-10-26 Achim Gratz <stromeko@stromeko.de> | 6 | 2012-10-26 Achim Gratz <stromeko@stromeko.de> |
| 2 | 7 | ||
| 3 | * ob-ditaa.el: Needs to (require 'org-compat) for | 8 | * ob-ditaa.el: Needs to (require 'org-compat) for |
diff --git a/lisp/org/org-bibtex.el b/lisp/org/org-bibtex.el index f8e07adcd8a..aaae8d52de8 100644 --- a/lisp/org/org-bibtex.el +++ b/lisp/org/org-bibtex.el | |||
| @@ -120,7 +120,6 @@ | |||
| 120 | (declare-function bibtex-generate-autokey "bibtex" ()) | 120 | (declare-function bibtex-generate-autokey "bibtex" ()) |
| 121 | (declare-function bibtex-parse-entry "bibtex" (&optional content)) | 121 | (declare-function bibtex-parse-entry "bibtex" (&optional content)) |
| 122 | (declare-function bibtex-url "bibtex" (&optional pos no-browse)) | 122 | (declare-function bibtex-url "bibtex" (&optional pos no-browse)) |
| 123 | (declare-function longlines-mode "longlines" (&optional arg)) | ||
| 124 | (declare-function org-babel-trim "ob" (string &optional regexp)) | 123 | (declare-function org-babel-trim "ob" (string &optional regexp)) |
| 125 | 124 | ||
| 126 | 125 | ||
| @@ -381,7 +380,7 @@ This variable is relevant only if `org-bibtex-export-tags-as-keywords' is t." | |||
| 381 | (buf-name (format "*Bibtex Help %s*" name))) | 380 | (buf-name (format "*Bibtex Help %s*" name))) |
| 382 | (with-output-to-temp-buffer buf-name | 381 | (with-output-to-temp-buffer buf-name |
| 383 | (princ (cdr (assoc field org-bibtex-fields)))) | 382 | (princ (cdr (assoc field org-bibtex-fields)))) |
| 384 | (with-current-buffer buf-name (longlines-mode t)) | 383 | (with-current-buffer buf-name (visual-line-mode 1)) |
| 385 | (org-fit-window-to-buffer (get-buffer-window buf-name)) | 384 | (org-fit-window-to-buffer (get-buffer-window buf-name)) |
| 386 | ((lambda (result) (when (> (length result) 0) result)) | 385 | ((lambda (result) (when (> (length result) 0) result)) |
| 387 | (read-from-minibuffer (format "%s: " name)))))) | 386 | (read-from-minibuffer (format "%s: " name)))))) |
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el index 9e55976a8bd..13cf7356e7f 100644 --- a/lisp/pcomplete.el +++ b/lisp/pcomplete.el | |||
| @@ -833,7 +833,8 @@ this is `comint-dynamic-complete-functions'." | |||
| 833 | . ,(lambda (comps) | 833 | . ,(lambda (comps) |
| 834 | (sort comps pcomplete-compare-entry-function))) | 834 | (sort comps pcomplete-compare-entry-function))) |
| 835 | ,@(cdr (completion-file-name-table s p a))) | 835 | ,@(cdr (completion-file-name-table s p a))) |
| 836 | (let ((completion-ignored-extensions nil)) | 836 | (let ((completion-ignored-extensions nil) |
| 837 | (completion-ignore-case pcomplete-ignore-case)) | ||
| 837 | (completion-table-with-predicate | 838 | (completion-table-with-predicate |
| 838 | #'comint-completion-file-name-table pred 'strict s p a)))))) | 839 | #'comint-completion-file-name-table pred 'strict s p a)))))) |
| 839 | 840 | ||
diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el index a3ea4af4651..8af877c7843 100644 --- a/lisp/play/gamegrid.el +++ b/lisp/play/gamegrid.el | |||
| @@ -175,7 +175,7 @@ static unsigned char gamegrid_bits[] = { | |||
| 175 | 175 | ||
| 176 | (defun gamegrid-make-mono-tty-face () | 176 | (defun gamegrid-make-mono-tty-face () |
| 177 | (let ((face (make-face 'gamegrid-mono-tty-face))) | 177 | (let ((face (make-face 'gamegrid-mono-tty-face))) |
| 178 | (set-face-inverse-video-p face t) | 178 | (set-face-inverse-video face t) |
| 179 | face)) | 179 | face)) |
| 180 | 180 | ||
| 181 | (defun gamegrid-make-color-tty-face (color) | 181 | (defun gamegrid-make-color-tty-face (color) |
diff --git a/lisp/printing.el b/lisp/printing.el index 02b2fb0139c..26a7648f68e 100644 --- a/lisp/printing.el +++ b/lisp/printing.el | |||
| @@ -1383,6 +1383,10 @@ Used by `pr-menu-bind' and `pr-update-menus'.") | |||
| 1383 | (eval-when-compile | 1383 | (eval-when-compile |
| 1384 | (require 'easymenu)) ; to avoid compilation gripes | 1384 | (require 'easymenu)) ; to avoid compilation gripes |
| 1385 | 1385 | ||
| 1386 | (declare-function easy-menu-add-item "easymenu" | ||
| 1387 | (map path item &optional before)) | ||
| 1388 | (declare-function easy-menu-remove-item "easymenu" (map path name)) | ||
| 1389 | |||
| 1386 | (eval-and-compile | 1390 | (eval-and-compile |
| 1387 | (defun pr-global-menubar (pr-menu-spec) | 1391 | (defun pr-global-menubar (pr-menu-spec) |
| 1388 | (require 'easymenu) | 1392 | (require 'easymenu) |
| @@ -6079,6 +6083,8 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order." | |||
| 6079 | (and pr-i-region ; let region activated | 6083 | (and pr-i-region ; let region activated |
| 6080 | (pr-keep-region-active))) | 6084 | (pr-keep-region-active))) |
| 6081 | 6085 | ||
| 6086 | (declare-function widget-field-action "wid-edit" (widget &optional _event)) | ||
| 6087 | (declare-function widget-value-set "wid-edit" (widget value)) | ||
| 6082 | 6088 | ||
| 6083 | (defun pr-insert-section-1 () | 6089 | (defun pr-insert-section-1 () |
| 6084 | ;; 1. Print: | 6090 | ;; 1. Print: |
diff --git a/lisp/profiler.el b/lisp/profiler.el index 38c0c0b83a7..00b51ffe099 100644 --- a/lisp/profiler.el +++ b/lisp/profiler.el | |||
| @@ -404,7 +404,6 @@ RET: expand or collapse")) | |||
| 404 | 404 | ||
| 405 | (defvar profiler-report-mode-map | 405 | (defvar profiler-report-mode-map |
| 406 | (let ((map (make-sparse-keymap))) | 406 | (let ((map (make-sparse-keymap))) |
| 407 | ;; FIXME: Add menu. | ||
| 408 | (define-key map "n" 'profiler-report-next-entry) | 407 | (define-key map "n" 'profiler-report-next-entry) |
| 409 | (define-key map "p" 'profiler-report-previous-entry) | 408 | (define-key map "p" 'profiler-report-previous-entry) |
| 410 | ;; I find it annoying more than helpful to not be able to navigate | 409 | ;; I find it annoying more than helpful to not be able to navigate |
| @@ -424,8 +423,43 @@ RET: expand or collapse")) | |||
| 424 | (define-key map "D" 'profiler-report-descending-sort) | 423 | (define-key map "D" 'profiler-report-descending-sort) |
| 425 | (define-key map "=" 'profiler-report-compare-profile) | 424 | (define-key map "=" 'profiler-report-compare-profile) |
| 426 | (define-key map (kbd "C-x C-w") 'profiler-report-write-profile) | 425 | (define-key map (kbd "C-x C-w") 'profiler-report-write-profile) |
| 427 | (define-key map "q" 'quit-window) | 426 | (easy-menu-define profiler-report-menu map "Menu for Profiler Report mode." |
| 428 | map)) | 427 | '("Profiler" |
| 428 | ["Next Entry" profiler-report-next-entry :active t | ||
| 429 | :help "Move to next entry"] | ||
| 430 | ["Previous Entry" profiler-report-previous-entry :active t | ||
| 431 | :help "Move to previous entry"] | ||
| 432 | "--" | ||
| 433 | ["Toggle Entry" profiler-report-toggle-entry | ||
| 434 | :active (profiler-report-calltree-at-point) | ||
| 435 | :help "Expand or collapse the current entry"] | ||
| 436 | ["Find Entry" profiler-report-find-entry | ||
| 437 | ;; FIXME should deactivate if not on a known function. | ||
| 438 | :active (profiler-report-calltree-at-point) | ||
| 439 | :help "Find the definition of the current entry"] | ||
| 440 | ["Describe Entry" profiler-report-describe-entry | ||
| 441 | :active (profiler-report-calltree-at-point) | ||
| 442 | :help "Show the documentation of the current entry"] | ||
| 443 | "--" | ||
| 444 | ["Show Calltree" profiler-report-render-calltree | ||
| 445 | :active profiler-report-reversed | ||
| 446 | :help "Show calltree view"] | ||
| 447 | ["Show Reversed Calltree" profiler-report-render-reversed-calltree | ||
| 448 | :active (not profiler-report-reversed) | ||
| 449 | :help "Show reversed calltree view"] | ||
| 450 | ["Sort Ascending" profiler-report-ascending-sort | ||
| 451 | :active (not (eq profiler-report-order 'ascending)) | ||
| 452 | :help "Sort calltree view in ascending order"] | ||
| 453 | ["Sort Descending" profiler-report-descending-sort | ||
| 454 | :active (not (eq profiler-report-order 'descending)) | ||
| 455 | :help "Sort calltree view in descending order"] | ||
| 456 | "--" | ||
| 457 | ["Compare Profile..." profiler-report-compare-profile :active t | ||
| 458 | :help "Compare current profile with another"] | ||
| 459 | ["Write Profile..." profiler-report-write-profile :active t | ||
| 460 | :help "Write current profile to a file"])) | ||
| 461 | map) | ||
| 462 | "Keymap for `profiler-report-mode'.") | ||
| 429 | 463 | ||
| 430 | (defun profiler-report-make-buffer-name (profile) | 464 | (defun profiler-report-make-buffer-name (profile) |
| 431 | (format "*%s-Profiler-Report %s*" | 465 | (format "*%s-Profiler-Report %s*" |
| @@ -529,11 +563,15 @@ otherwise collapse." | |||
| 529 | (defun profiler-report-find-entry (&optional event) | 563 | (defun profiler-report-find-entry (&optional event) |
| 530 | "Find entry at point." | 564 | "Find entry at point." |
| 531 | (interactive (list last-nonmenu-event)) | 565 | (interactive (list last-nonmenu-event)) |
| 532 | (if event (posn-set-point (event-end event))) | 566 | (with-current-buffer |
| 533 | (let ((tree (profiler-report-calltree-at-point))) | 567 | (if event (window-buffer (posn-window (event-start event))) |
| 534 | (when tree | 568 | (current-buffer)) |
| 535 | (let ((entry (profiler-calltree-entry tree))) | 569 | (and event (setq event (event-end event)) |
| 536 | (find-function entry))))) | 570 | (posn-set-point event)) |
| 571 | (let ((tree (profiler-report-calltree-at-point))) | ||
| 572 | (when tree | ||
| 573 | (let ((entry (profiler-calltree-entry tree))) | ||
| 574 | (find-function entry)))))) | ||
| 537 | 575 | ||
| 538 | (defun profiler-report-describe-entry () | 576 | (defun profiler-report-describe-entry () |
| 539 | "Describe entry at point." | 577 | "Describe entry at point." |
diff --git a/lisp/progmodes/autoconf.el b/lisp/progmodes/autoconf.el index ac3a7282952..5deb60f9e41 100644 --- a/lisp/progmodes/autoconf.el +++ b/lisp/progmodes/autoconf.el | |||
| @@ -78,22 +78,19 @@ searching backwards at another AC_... command." | |||
| 78 | ;;;###autoload | 78 | ;;;###autoload |
| 79 | (define-derived-mode autoconf-mode prog-mode "Autoconf" | 79 | (define-derived-mode autoconf-mode prog-mode "Autoconf" |
| 80 | "Major mode for editing Autoconf configure.ac files." | 80 | "Major mode for editing Autoconf configure.ac files." |
| 81 | (set (make-local-variable 'parens-require-spaces) nil) ; for M4 arg lists | 81 | (setq-local parens-require-spaces nil) ; for M4 arg lists |
| 82 | (set (make-local-variable 'defun-prompt-regexp) | 82 | (setq-local defun-prompt-regexp "^[ \t]*A[CM]_\\(\\sw\\|\\s_\\)+") |
| 83 | "^[ \t]*A[CM]_\\(\\sw\\|\\s_\\)+") | 83 | (setq-local comment-start "dnl ") |
| 84 | (set (make-local-variable 'comment-start) "dnl ") | 84 | (setq-local comment-start-skip "\\(?:\\(\\W\\|\\`\\)dnl\\|#\\) +") |
| 85 | (set (make-local-variable 'comment-start-skip) | 85 | (setq-local syntax-propertize-function |
| 86 | "\\(?:\\(\\W\\|\\`\\)dnl\\|#\\) +") | 86 | (syntax-propertize-rules ("\\<dnl\\>" (0 "<")))) |
| 87 | (set (make-local-variable 'syntax-propertize-function) | 87 | (setq-local font-lock-defaults |
| 88 | (syntax-propertize-rules ("\\<dnl\\>" (0 "<")))) | 88 | `(autoconf-font-lock-keywords nil nil (("_" . "w")))) |
| 89 | (set (make-local-variable 'font-lock-defaults) | 89 | (setq-local imenu-generic-expression autoconf-imenu-generic-expression) |
| 90 | `(autoconf-font-lock-keywords nil nil (("_" . "w")))) | 90 | (setq-local imenu-syntax-alist '(("_" . "w"))) |
| 91 | (set (make-local-variable 'imenu-generic-expression) | 91 | (setq-local indent-line-function #'indent-relative) |
| 92 | autoconf-imenu-generic-expression) | 92 | (setq-local add-log-current-defun-function |
| 93 | (set (make-local-variable 'imenu-syntax-alist) '(("_" . "w"))) | 93 | #'autoconf-current-defun-function)) |
| 94 | (set (make-local-variable 'indent-line-function) #'indent-relative) | ||
| 95 | (set (make-local-variable 'add-log-current-defun-function) | ||
| 96 | #'autoconf-current-defun-function)) | ||
| 97 | 94 | ||
| 98 | (provide 'autoconf-mode) | 95 | (provide 'autoconf-mode) |
| 99 | (provide 'autoconf) | 96 | (provide 'autoconf) |
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el index 0dc596a472b..17bd2760baa 100644 --- a/lisp/progmodes/cc-defs.el +++ b/lisp/progmodes/cc-defs.el | |||
| @@ -93,7 +93,7 @@ | |||
| 93 | 93 | ||
| 94 | ;;; Variables also used at compile time. | 94 | ;;; Variables also used at compile time. |
| 95 | 95 | ||
| 96 | (defconst c-version "5.32.3" | 96 | (defconst c-version "5.32.4" |
| 97 | "CC Mode version number.") | 97 | "CC Mode version number.") |
| 98 | 98 | ||
| 99 | (defconst c-version-sym (intern c-version)) | 99 | (defconst c-version-sym (intern c-version)) |
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 2aa04cb2b0b..10355451480 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el | |||
| @@ -2561,8 +2561,11 @@ comment at the start of cc-engine.el for more info." | |||
| 2561 | start-point cache-pos))) | 2561 | start-point cache-pos))) |
| 2562 | 2562 | ||
| 2563 | ;; Might we be better off starting from the top level, two defuns back, | 2563 | ;; Might we be better off starting from the top level, two defuns back, |
| 2564 | ;; instead? | 2564 | ;; instead? This heuristic no longer works well in C++, where |
| 2565 | (when (> how-far c-state-cache-too-far) | 2565 | ;; declarations inside namespace brace blocks are frequently placed at |
| 2566 | ;; column zero. | ||
| 2567 | (when (and (not (c-major-mode-is 'c++-mode)) | ||
| 2568 | (> how-far c-state-cache-too-far)) | ||
| 2566 | (setq BOD-pos (c-get-fallback-scan-pos here)) ; somewhat EXPENSIVE!!! | 2569 | (setq BOD-pos (c-get-fallback-scan-pos here)) ; somewhat EXPENSIVE!!! |
| 2567 | (if (< (- here BOD-pos) how-far) | 2570 | (if (< (- here BOD-pos) how-far) |
| 2568 | (setq strategy 'BOD | 2571 | (setq strategy 'BOD |
| @@ -2649,17 +2652,20 @@ comment at the start of cc-engine.el for more info." | |||
| 2649 | ;; If we're essentially repeating a fruitless search, just give up. | 2652 | ;; If we're essentially repeating a fruitless search, just give up. |
| 2650 | (unless (and c-state-brace-pair-desert | 2653 | (unless (and c-state-brace-pair-desert |
| 2651 | (eq cache-pos (car c-state-brace-pair-desert)) | 2654 | (eq cache-pos (car c-state-brace-pair-desert)) |
| 2655 | (or (null (car c-state-brace-pair-desert)) | ||
| 2656 | (> from (car c-state-brace-pair-desert))) | ||
| 2652 | (<= from (cdr c-state-brace-pair-desert))) | 2657 | (<= from (cdr c-state-brace-pair-desert))) |
| 2653 | ;; DESERT-LIM. Only search what we absolutely need to, | 2658 | ;; DESERT-LIM. Avoid repeated searching through the cached desert. |
| 2654 | (let ((desert-lim | 2659 | (let ((desert-lim |
| 2655 | (and c-state-brace-pair-desert | 2660 | (and c-state-brace-pair-desert |
| 2656 | (eq cache-pos (car c-state-brace-pair-desert)) | 2661 | (eq cache-pos (car c-state-brace-pair-desert)) |
| 2662 | (>= from (cdr c-state-brace-pair-desert)) | ||
| 2657 | (cdr c-state-brace-pair-desert))) | 2663 | (cdr c-state-brace-pair-desert))) |
| 2658 | ;; CACHE-LIM. This limit will be necessary when an opening | 2664 | ;; CACHE-LIM. This limit will be necessary when an opening |
| 2659 | ;; paren at `cache-pos' has just had its matching close paren | 2665 | ;; paren at `cache-pos' has just had its matching close paren |
| 2660 | ;; inserted. `cache-pos' continues to be a search bound, even | 2666 | ;; inserted into the buffer. `cache-pos' continues to be a |
| 2661 | ;; though the algorithm below would skip over the new paren | 2667 | ;; search bound, even though the algorithm below would skip |
| 2662 | ;; pair. | 2668 | ;; over the new paren pair. |
| 2663 | (cache-lim (and cache-pos (< cache-pos from) cache-pos))) | 2669 | (cache-lim (and cache-pos (< cache-pos from) cache-pos))) |
| 2664 | (narrow-to-region | 2670 | (narrow-to-region |
| 2665 | (cond | 2671 | (cond |
| @@ -3342,12 +3348,18 @@ comment at the start of cc-engine.el for more info." | |||
| 3342 | (fset 'c-real-parse-state (symbol-function 'c-parse-state))) | 3348 | (fset 'c-real-parse-state (symbol-function 'c-parse-state))) |
| 3343 | (cc-bytecomp-defun c-real-parse-state) | 3349 | (cc-bytecomp-defun c-real-parse-state) |
| 3344 | 3350 | ||
| 3351 | (defvar c-parse-state-point nil) | ||
| 3345 | (defvar c-parse-state-state nil) | 3352 | (defvar c-parse-state-state nil) |
| 3346 | (defun c-record-parse-state-state () | 3353 | (defun c-record-parse-state-state () |
| 3354 | (setq c-parse-state-point (point)) | ||
| 3347 | (setq c-parse-state-state | 3355 | (setq c-parse-state-state |
| 3348 | (mapcar | 3356 | (mapcar |
| 3349 | (lambda (arg) | 3357 | (lambda (arg) |
| 3350 | (cons arg (symbol-value arg))) | 3358 | (let ((val (symbol-value arg))) |
| 3359 | (cons arg | ||
| 3360 | (if (consp val) | ||
| 3361 | (copy-tree val) | ||
| 3362 | val)))) | ||
| 3351 | '(c-state-cache | 3363 | '(c-state-cache |
| 3352 | c-state-cache-good-pos | 3364 | c-state-cache-good-pos |
| 3353 | c-state-nonlit-pos-cache | 3365 | c-state-nonlit-pos-cache |
| @@ -3360,7 +3372,8 @@ comment at the start of cc-engine.el for more info." | |||
| 3360 | c-state-point-min-lit-start | 3372 | c-state-point-min-lit-start |
| 3361 | c-state-min-scan-pos | 3373 | c-state-min-scan-pos |
| 3362 | c-state-old-cpp-beg | 3374 | c-state-old-cpp-beg |
| 3363 | c-state-old-cpp-end)))) | 3375 | c-state-old-cpp-end |
| 3376 | c-parse-state-point)))) | ||
| 3364 | (defun c-replay-parse-state-state () | 3377 | (defun c-replay-parse-state-state () |
| 3365 | (message | 3378 | (message |
| 3366 | (concat "(setq " | 3379 | (concat "(setq " |
| @@ -3370,6 +3383,16 @@ comment at the start of cc-engine.el for more info." | |||
| 3370 | c-parse-state-state " ") | 3383 | c-parse-state-state " ") |
| 3371 | ")"))) | 3384 | ")"))) |
| 3372 | 3385 | ||
| 3386 | (defun c-debug-parse-state-double-cons (state) | ||
| 3387 | (let (state-car conses-not-ok) | ||
| 3388 | (while state | ||
| 3389 | (setq state-car (car state) | ||
| 3390 | state (cdr state)) | ||
| 3391 | (if (and (consp state-car) | ||
| 3392 | (consp (car state))) | ||
| 3393 | (setq conses-not-ok t))) | ||
| 3394 | conses-not-ok)) | ||
| 3395 | |||
| 3373 | (defun c-debug-parse-state () | 3396 | (defun c-debug-parse-state () |
| 3374 | (let ((here (point)) (res1 (c-real-parse-state)) res2) | 3397 | (let ((here (point)) (res1 (c-real-parse-state)) res2) |
| 3375 | (let ((c-state-cache nil) | 3398 | (let ((c-state-cache nil) |
| @@ -3402,8 +3425,16 @@ comment at the start of cc-engine.el for more info." | |||
| 3402 | here res1 res2) | 3425 | here res1 res2) |
| 3403 | (message "Old state:") | 3426 | (message "Old state:") |
| 3404 | (c-replay-parse-state-state)) | 3427 | (c-replay-parse-state-state)) |
| 3428 | |||
| 3429 | (when (c-debug-parse-state-double-cons res1) | ||
| 3430 | (message "c-parse-state INVALIDITY at %s: %s" | ||
| 3431 | here res1) | ||
| 3432 | (message "Old state:") | ||
| 3433 | (c-replay-parse-state-state)) | ||
| 3434 | |||
| 3405 | (c-record-parse-state-state) | 3435 | (c-record-parse-state-state) |
| 3406 | res1)) | 3436 | res2 ; res1 correct a cascading series of errors ASAP |
| 3437 | )) | ||
| 3407 | 3438 | ||
| 3408 | (defun c-toggle-parse-state-debug (&optional arg) | 3439 | (defun c-toggle-parse-state-debug (&optional arg) |
| 3409 | (interactive "P") | 3440 | (interactive "P") |
| @@ -3411,7 +3442,9 @@ comment at the start of cc-engine.el for more info." | |||
| 3411 | (fset 'c-parse-state (symbol-function (if c-debug-parse-state | 3442 | (fset 'c-parse-state (symbol-function (if c-debug-parse-state |
| 3412 | 'c-debug-parse-state | 3443 | 'c-debug-parse-state |
| 3413 | 'c-real-parse-state))) | 3444 | 'c-real-parse-state))) |
| 3414 | (c-keep-region-active)) | 3445 | (c-keep-region-active) |
| 3446 | (message "c-debug-parse-state %sabled" | ||
| 3447 | (if c-debug-parse-state "en" "dis"))) | ||
| 3415 | (when c-debug-parse-state | 3448 | (when c-debug-parse-state |
| 3416 | (c-toggle-parse-state-debug 1)) | 3449 | (c-toggle-parse-state-debug 1)) |
| 3417 | 3450 | ||
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index 50eaebe4dec..a904ffdb811 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el | |||
| @@ -647,7 +647,9 @@ compatible with old code; callers should always specify it." | |||
| 647 | 647 | ||
| 648 | (set (make-local-variable 'outline-regexp) "[^#\n\^M]") | 648 | (set (make-local-variable 'outline-regexp) "[^#\n\^M]") |
| 649 | (set (make-local-variable 'outline-level) 'c-outline-level) | 649 | (set (make-local-variable 'outline-level) 'c-outline-level) |
| 650 | 650 | (set (make-local-variable 'add-log-current-defun-function) | |
| 651 | (lambda () | ||
| 652 | (or (c-cpp-define-name) (c-defun-name)))) | ||
| 651 | (let ((rfn (assq mode c-require-final-newline))) | 653 | (let ((rfn (assq mode c-require-final-newline))) |
| 652 | (when rfn | 654 | (when rfn |
| 653 | (and (cdr rfn) | 655 | (and (cdr rfn) |
| @@ -1034,7 +1036,10 @@ Note that the style variables are always made local to the buffer." | |||
| 1034 | (mapc (lambda (fn) | 1036 | (mapc (lambda (fn) |
| 1035 | (funcall fn beg end)) | 1037 | (funcall fn beg end)) |
| 1036 | c-get-state-before-change-functions)) | 1038 | c-get-state-before-change-functions)) |
| 1037 | )))) | 1039 | ))) |
| 1040 | ;; The following must be done here rather than in `c-after-change' because | ||
| 1041 | ;; newly inserted parens would foul up the invalidation algorithm. | ||
| 1042 | (c-invalidate-state-cache beg)) | ||
| 1038 | 1043 | ||
| 1039 | (defvar c-in-after-change-fontification nil) | 1044 | (defvar c-in-after-change-fontification nil) |
| 1040 | (make-variable-buffer-local 'c-in-after-change-fontification) | 1045 | (make-variable-buffer-local 'c-in-after-change-fontification) |
| @@ -1082,7 +1087,7 @@ Note that the style variables are always made local to the buffer." | |||
| 1082 | 1087 | ||
| 1083 | (c-trim-found-types beg end old-len) ; maybe we don't need all of these. | 1088 | (c-trim-found-types beg end old-len) ; maybe we don't need all of these. |
| 1084 | (c-invalidate-sws-region-after beg end) | 1089 | (c-invalidate-sws-region-after beg end) |
| 1085 | (c-invalidate-state-cache beg) | 1090 | ;; (c-invalidate-state-cache beg) ; moved to `c-before-change'. |
| 1086 | (c-invalidate-find-decl-cache beg) | 1091 | (c-invalidate-find-decl-cache beg) |
| 1087 | 1092 | ||
| 1088 | (when c-recognize-<>-arglists | 1093 | (when c-recognize-<>-arglists |
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index e1430b67e99..0a952cf3870 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el | |||
| @@ -1742,6 +1742,13 @@ or as help on variables `cperl-tips', `cperl-problems', | |||
| 1742 | (setq outline-regexp cperl-outline-regexp) | 1742 | (setq outline-regexp cperl-outline-regexp) |
| 1743 | (make-local-variable 'outline-level) | 1743 | (make-local-variable 'outline-level) |
| 1744 | (setq outline-level 'cperl-outline-level) | 1744 | (setq outline-level 'cperl-outline-level) |
| 1745 | (make-local-variable 'add-log-current-defun-function) | ||
| 1746 | (setq add-log-current-defun-function | ||
| 1747 | (lambda () | ||
| 1748 | (save-excursion | ||
| 1749 | (if (re-search-backward "^sub[ \t]+\\([^({ \t\n]+\\)" nil t) | ||
| 1750 | (match-string-no-properties 1))))) | ||
| 1751 | |||
| 1745 | (make-local-variable 'paragraph-start) | 1752 | (make-local-variable 'paragraph-start) |
| 1746 | (setq paragraph-start (concat "^$\\|" page-delimiter)) | 1753 | (setq paragraph-start (concat "^$\\|" page-delimiter)) |
| 1747 | (make-local-variable 'paragraph-separate) | 1754 | (make-local-variable 'paragraph-separate) |
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 071a0fb6037..067d89781d2 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el | |||
| @@ -702,7 +702,9 @@ Returns t if it visits a tags table, or nil if there are no more in the list." | |||
| 702 | (kill-local-variable 'tags-file-name) | 702 | (kill-local-variable 'tags-file-name) |
| 703 | (if (eq local-tags-file-name tags-file-name) | 703 | (if (eq local-tags-file-name tags-file-name) |
| 704 | (setq tags-file-name nil)) | 704 | (setq tags-file-name nil)) |
| 705 | (user-error "File %s is not a valid tags table" | 705 | (user-error (if (file-exists-p local-tags-file-name) |
| 706 | "File %s is not a valid tags table" | ||
| 707 | "File %s does not exist") | ||
| 706 | local-tags-file-name))))) | 708 | local-tags-file-name))))) |
| 707 | 709 | ||
| 708 | (defun tags-reset-tags-tables () | 710 | (defun tags-reset-tags-tables () |
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index c056b0f4e26..b448b7b3032 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el | |||
| @@ -586,7 +586,7 @@ This function is called from `compilation-filter-hook'." | |||
| 586 | 'exec-plus) | 586 | 'exec-plus) |
| 587 | ((and | 587 | ((and |
| 588 | (grep-probe find-program `(nil nil nil ,null-device "-print0")) | 588 | (grep-probe find-program `(nil nil nil ,null-device "-print0")) |
| 589 | (grep-probe xargs-program `(nil nil nil "-0" "-e" "echo"))) | 589 | (grep-probe xargs-program `(nil nil nil "-0" "echo"))) |
| 590 | 'gnu) | 590 | 'gnu) |
| 591 | (t | 591 | (t |
| 592 | 'exec)))) | 592 | 'exec)))) |
| @@ -596,7 +596,7 @@ This function is called from `compilation-filter-hook'." | |||
| 596 | ;; Windows shells need the program file name | 596 | ;; Windows shells need the program file name |
| 597 | ;; after the pipe symbol be quoted if they use | 597 | ;; after the pipe symbol be quoted if they use |
| 598 | ;; forward slashes as directory separators. | 598 | ;; forward slashes as directory separators. |
| 599 | (format "%s . -type f -print0 | \"%s\" -0 -e %s" | 599 | (format "%s . -type f -print0 | \"%s\" -0 %s" |
| 600 | find-program xargs-program grep-command)) | 600 | find-program xargs-program grep-command)) |
| 601 | ((memq grep-find-use-xargs '(exec exec-plus)) | 601 | ((memq grep-find-use-xargs '(exec exec-plus)) |
| 602 | (let ((cmd0 (format "%s . -type f -exec %s" | 602 | (let ((cmd0 (format "%s . -type f -exec %s" |
| @@ -621,7 +621,7 @@ This function is called from `compilation-filter-hook'." | |||
| 621 | (format "%s " null-device) | 621 | (format "%s " null-device) |
| 622 | ""))) | 622 | ""))) |
| 623 | (cond ((eq grep-find-use-xargs 'gnu) | 623 | (cond ((eq grep-find-use-xargs 'gnu) |
| 624 | (format "%s . <X> -type f <F> -print0 | \"%s\" -0 -e %s" | 624 | (format "%s . <X> -type f <F> -print0 | \"%s\" -0 %s" |
| 625 | find-program xargs-program gcmd)) | 625 | find-program xargs-program gcmd)) |
| 626 | ((eq grep-find-use-xargs 'exec) | 626 | ((eq grep-find-use-xargs 'exec) |
| 627 | (format "%s . <X> -type f <F> -exec %s {} %s%s" | 627 | (format "%s . <X> -type f <F> -exec %s {} %s%s" |
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index 33ef7607671..e6bba6a6609 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el | |||
| @@ -3306,29 +3306,21 @@ If one hasn't been set, or if it's stale, prompt for a new one." | |||
| 3306 | (define-derived-mode js-mode prog-mode "Javascript" | 3306 | (define-derived-mode js-mode prog-mode "Javascript" |
| 3307 | "Major mode for editing JavaScript." | 3307 | "Major mode for editing JavaScript." |
| 3308 | :group 'js | 3308 | :group 'js |
| 3309 | (setq-local indent-line-function 'js-indent-line) | ||
| 3310 | (setq-local beginning-of-defun-function 'js-beginning-of-defun) | ||
| 3311 | (setq-local end-of-defun-function 'js-end-of-defun) | ||
| 3312 | (setq-local open-paren-in-column-0-is-defun-start nil) | ||
| 3313 | (setq-local font-lock-defaults (list js--font-lock-keywords)) | ||
| 3314 | (setq-local syntax-propertize-function #'js-syntax-propertize) | ||
| 3309 | 3315 | ||
| 3310 | (set (make-local-variable 'indent-line-function) 'js-indent-line) | 3316 | (setq-local parse-sexp-ignore-comments t) |
| 3311 | (set (make-local-variable 'beginning-of-defun-function) | 3317 | (setq-local parse-sexp-lookup-properties t) |
| 3312 | 'js-beginning-of-defun) | 3318 | (setq-local which-func-imenu-joiner-function #'js--which-func-joiner) |
| 3313 | (set (make-local-variable 'end-of-defun-function) | ||
| 3314 | 'js-end-of-defun) | ||
| 3315 | |||
| 3316 | (set (make-local-variable 'open-paren-in-column-0-is-defun-start) nil) | ||
| 3317 | (set (make-local-variable 'font-lock-defaults) | ||
| 3318 | (list js--font-lock-keywords)) | ||
| 3319 | (set (make-local-variable 'syntax-propertize-function) | ||
| 3320 | #'js-syntax-propertize) | ||
| 3321 | |||
| 3322 | (set (make-local-variable 'parse-sexp-ignore-comments) t) | ||
| 3323 | (set (make-local-variable 'parse-sexp-lookup-properties) t) | ||
| 3324 | (set (make-local-variable 'which-func-imenu-joiner-function) | ||
| 3325 | #'js--which-func-joiner) | ||
| 3326 | 3319 | ||
| 3327 | ;; Comments | 3320 | ;; Comments |
| 3328 | (set (make-local-variable 'comment-start) "// ") | 3321 | (setq-local comment-start "// ") |
| 3329 | (set (make-local-variable 'comment-end) "") | 3322 | (setq-local comment-end "") |
| 3330 | (set (make-local-variable 'fill-paragraph-function) | 3323 | (setq-local fill-paragraph-function 'js-c-fill-paragraph) |
| 3331 | 'js-c-fill-paragraph) | ||
| 3332 | 3324 | ||
| 3333 | ;; Parse cache | 3325 | ;; Parse cache |
| 3334 | (add-hook 'before-change-functions #'js--flush-caches t t) | 3326 | (add-hook 'before-change-functions #'js--flush-caches t t) |
| @@ -3338,8 +3330,7 @@ If one hasn't been set, or if it's stale, prompt for a new one." | |||
| 3338 | 3330 | ||
| 3339 | ;; Imenu | 3331 | ;; Imenu |
| 3340 | (setq imenu-case-fold-search nil) | 3332 | (setq imenu-case-fold-search nil) |
| 3341 | (set (make-local-variable 'imenu-create-index-function) | 3333 | (setq imenu-create-index-function #'js--imenu-create-index) |
| 3342 | #'js--imenu-create-index) | ||
| 3343 | 3334 | ||
| 3344 | ;; for filling, pretend we're cc-mode | 3335 | ;; for filling, pretend we're cc-mode |
| 3345 | (setq c-comment-prefix-regexp "//+\\|\\**" | 3336 | (setq c-comment-prefix-regexp "//+\\|\\**" |
| @@ -3350,10 +3341,10 @@ If one hasn't been set, or if it's stale, prompt for a new one." | |||
| 3350 | c-comment-start-regexp "/[*/]\\|\\s!" | 3341 | c-comment-start-regexp "/[*/]\\|\\s!" |
| 3351 | comment-start-skip "\\(//+\\|/\\*+\\)\\s *") | 3342 | comment-start-skip "\\(//+\\|/\\*+\\)\\s *") |
| 3352 | 3343 | ||
| 3353 | (set (make-local-variable 'electric-indent-chars) | 3344 | (setq-local electric-indent-chars |
| 3354 | (append "{}():;," electric-indent-chars)) ;FIXME: js2-mode adds "[]*". | 3345 | (append "{}():;," electric-indent-chars)) ;FIXME: js2-mode adds "[]*". |
| 3355 | (set (make-local-variable 'electric-layout-rules) | 3346 | (setq-local electric-layout-rules |
| 3356 | '((?\; . after) (?\{ . after) (?\} . before))) | 3347 | '((?\; . after) (?\{ . after) (?\} . before))) |
| 3357 | 3348 | ||
| 3358 | (let ((c-buffer-is-cc-mode t)) | 3349 | (let ((c-buffer-is-cc-mode t)) |
| 3359 | ;; FIXME: These are normally set by `c-basic-common-init'. Should | 3350 | ;; FIXME: These are normally set by `c-basic-common-init'. Should |
| @@ -3365,8 +3356,7 @@ If one hasn't been set, or if it's stale, prompt for a new one." | |||
| 3365 | (make-local-variable 'adaptive-fill-regexp) | 3356 | (make-local-variable 'adaptive-fill-regexp) |
| 3366 | (c-setup-paragraph-variables)) | 3357 | (c-setup-paragraph-variables)) |
| 3367 | 3358 | ||
| 3368 | (set (make-local-variable 'syntax-begin-function) | 3359 | (setq-local syntax-begin-function #'js--syntax-begin-function) |
| 3369 | #'js--syntax-begin-function) | ||
| 3370 | 3360 | ||
| 3371 | ;; Important to fontify the whole buffer syntactically! If we don't, | 3361 | ;; Important to fontify the whole buffer syntactically! If we don't, |
| 3372 | ;; then we might have regular expression literals that aren't marked | 3362 | ;; then we might have regular expression literals that aren't marked |
diff --git a/lisp/progmodes/m4-mode.el b/lisp/progmodes/m4-mode.el index 20f91ce2d9e..7904033e68e 100644 --- a/lisp/progmodes/m4-mode.el +++ b/lisp/progmodes/m4-mode.el | |||
| @@ -141,13 +141,21 @@ | |||
| 141 | "*m4-output*" nil) | 141 | "*m4-output*" nil) |
| 142 | (switch-to-buffer-other-window "*m4-output*")) | 142 | (switch-to-buffer-other-window "*m4-output*")) |
| 143 | 143 | ||
| 144 | (defun m4-current-defun-name () | ||
| 145 | "Return the name of the M4 function at point, or nil." | ||
| 146 | (save-excursion | ||
| 147 | (if (re-search-backward | ||
| 148 | "^\\(\\(m4_\\)?define\\|A._DEFUN\\)(\\[?\\([A-Za-z0-9_]+\\)" nil t) | ||
| 149 | (match-string-no-properties 3)))) | ||
| 150 | |||
| 144 | ;;;###autoload | 151 | ;;;###autoload |
| 145 | (define-derived-mode m4-mode prog-mode "m4" | 152 | (define-derived-mode m4-mode prog-mode "m4" |
| 146 | "A major mode to edit m4 macro files." | 153 | "A major mode to edit m4 macro files." |
| 147 | :abbrev-table m4-mode-abbrev-table | 154 | :abbrev-table m4-mode-abbrev-table |
| 148 | (set (make-local-variable 'comment-start) "#") | 155 | (setq-local comment-start "#") |
| 149 | (set (make-local-variable 'parse-sexp-ignore-comments) t) | 156 | (setq-local parse-sexp-ignore-comments t) |
| 150 | (set (make-local-variable 'font-lock-defaults) '(m4-font-lock-keywords nil))) | 157 | (setq-local add-log-current-defun-function #'m4-current-defun-name) |
| 158 | (setq font-lock-defaults '(m4-font-lock-keywords nil))) | ||
| 151 | 159 | ||
| 152 | (provide 'm4-mode) | 160 | (provide 'm4-mode) |
| 153 | ;;stuff to play with for debugging | 161 | ;;stuff to play with for debugging |
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index 2f4419ba2ea..8e8cd74c7be 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el | |||
| @@ -879,41 +879,42 @@ Makefile mode can be configured by modifying the following variables: | |||
| 879 | (make-local-variable 'makefile-need-macro-pickup) | 879 | (make-local-variable 'makefile-need-macro-pickup) |
| 880 | 880 | ||
| 881 | ;; Font lock. | 881 | ;; Font lock. |
| 882 | (set (make-local-variable 'font-lock-defaults) | 882 | (setq-local font-lock-defaults |
| 883 | ;; SYNTAX-BEGIN set to backward-paragraph to avoid slow-down | 883 | ;; Set SYNTAX-BEGIN to backward-paragraph to avoid |
| 884 | ;; near the end of a large buffer, due to parse-partial-sexp's | 884 | ;; slow-down near the end of a large buffer, due to |
| 885 | ;; trying to parse all the way till the beginning of buffer. | 885 | ;; `parse-partial-sexp' trying to parse all the way till |
| 886 | '(makefile-font-lock-keywords | 886 | ;; the beginning of buffer. |
| 887 | nil nil | 887 | '(makefile-font-lock-keywords |
| 888 | ((?$ . ".")) | 888 | nil nil |
| 889 | backward-paragraph)) | 889 | ((?$ . ".")) |
| 890 | (set (make-local-variable 'syntax-propertize-function) | 890 | backward-paragraph)) |
| 891 | makefile-syntax-propertize-function) | 891 | (setq-local syntax-propertize-function |
| 892 | makefile-syntax-propertize-function) | ||
| 892 | 893 | ||
| 893 | ;; Add-log. | 894 | ;; Add-log. |
| 894 | (set (make-local-variable 'add-log-current-defun-function) | 895 | (setq-local add-log-current-defun-function |
| 895 | 'makefile-add-log-defun) | 896 | 'makefile-add-log-defun) |
| 896 | 897 | ||
| 897 | ;; Imenu. | 898 | ;; Imenu. |
| 898 | (set (make-local-variable 'imenu-generic-expression) | 899 | (setq-local imenu-generic-expression |
| 899 | makefile-imenu-generic-expression) | 900 | makefile-imenu-generic-expression) |
| 900 | 901 | ||
| 901 | ;; Dabbrev. | 902 | ;; Dabbrev. |
| 902 | (set (make-local-variable 'dabbrev-abbrev-skip-leading-regexp) "\\$") | 903 | (setq-local dabbrev-abbrev-skip-leading-regexp "\\$") |
| 903 | 904 | ||
| 904 | ;; Other abbrevs. | 905 | ;; Other abbrevs. |
| 905 | (setq local-abbrev-table makefile-mode-abbrev-table) | 906 | (setq local-abbrev-table makefile-mode-abbrev-table) |
| 906 | 907 | ||
| 907 | ;; Filling. | 908 | ;; Filling. |
| 908 | (set (make-local-variable 'fill-paragraph-function) 'makefile-fill-paragraph) | 909 | (setq-local fill-paragraph-function 'makefile-fill-paragraph) |
| 909 | 910 | ||
| 910 | ;; Comment stuff. | 911 | ;; Comment stuff. |
| 911 | (set (make-local-variable 'comment-start) "#") | 912 | (setq-local comment-start "#") |
| 912 | (set (make-local-variable 'comment-end) "") | 913 | (setq-local comment-end "") |
| 913 | (set (make-local-variable 'comment-start-skip) "#+[ \t]*") | 914 | (setq-local comment-start-skip "#+[ \t]*") |
| 914 | 915 | ||
| 915 | ;; Make sure TAB really inserts \t. | 916 | ;; Make sure TAB really inserts \t. |
| 916 | (set (make-local-variable 'indent-line-function) 'indent-to-left-margin) | 917 | (setq-local indent-line-function 'indent-to-left-margin) |
| 917 | 918 | ||
| 918 | ;; Real TABs are important in makefiles | 919 | ;; Real TABs are important in makefiles |
| 919 | (setq indent-tabs-mode t)) | 920 | (setq indent-tabs-mode t)) |
| @@ -934,8 +935,7 @@ Makefile mode can be configured by modifying the following variables: | |||
| 934 | ;;;###autoload | 935 | ;;;###autoload |
| 935 | (define-derived-mode makefile-makepp-mode makefile-mode "Makeppfile" | 936 | (define-derived-mode makefile-makepp-mode makefile-mode "Makeppfile" |
| 936 | "An adapted `makefile-mode' that knows about makepp." | 937 | "An adapted `makefile-mode' that knows about makepp." |
| 937 | (set (make-local-variable 'makefile-rule-action-regex) | 938 | (setq-local makefile-rule-action-regex makefile-makepp-rule-action-regex) |
| 938 | makefile-makepp-rule-action-regex) | ||
| 939 | (setq font-lock-defaults | 939 | (setq font-lock-defaults |
| 940 | `(makefile-makepp-font-lock-keywords ,@(cdr font-lock-defaults)) | 940 | `(makefile-makepp-font-lock-keywords ,@(cdr font-lock-defaults)) |
| 941 | imenu-generic-expression | 941 | imenu-generic-expression |
| @@ -945,11 +945,9 @@ Makefile mode can be configured by modifying the following variables: | |||
| 945 | ;;;###autoload | 945 | ;;;###autoload |
| 946 | (define-derived-mode makefile-bsdmake-mode makefile-mode "BSDmakefile" | 946 | (define-derived-mode makefile-bsdmake-mode makefile-mode "BSDmakefile" |
| 947 | "An adapted `makefile-mode' that knows about BSD make." | 947 | "An adapted `makefile-mode' that knows about BSD make." |
| 948 | (set (make-local-variable 'makefile-dependency-regex) | 948 | (setq-local makefile-dependency-regex makefile-bsdmake-dependency-regex) |
| 949 | makefile-bsdmake-dependency-regex) | 949 | (setq-local makefile-dependency-skip "^:!") |
| 950 | (set (make-local-variable 'makefile-dependency-skip) "^:!") | 950 | (setq-local makefile-rule-action-regex makefile-bsdmake-rule-action-regex) |
| 951 | (set (make-local-variable 'makefile-rule-action-regex) | ||
| 952 | makefile-bsdmake-rule-action-regex) | ||
| 953 | (setq font-lock-defaults | 951 | (setq font-lock-defaults |
| 954 | `(makefile-bsdmake-font-lock-keywords ,@(cdr font-lock-defaults)))) | 952 | `(makefile-bsdmake-font-lock-keywords ,@(cdr font-lock-defaults)))) |
| 955 | 953 | ||
| @@ -957,7 +955,7 @@ Makefile mode can be configured by modifying the following variables: | |||
| 957 | (define-derived-mode makefile-imake-mode makefile-mode "Imakefile" | 955 | (define-derived-mode makefile-imake-mode makefile-mode "Imakefile" |
| 958 | "An adapted `makefile-mode' that knows about imake." | 956 | "An adapted `makefile-mode' that knows about imake." |
| 959 | :syntax-table makefile-imake-mode-syntax-table | 957 | :syntax-table makefile-imake-mode-syntax-table |
| 960 | (set (make-local-variable 'syntax-propertize-function) nil) | 958 | (setq-local syntax-propertize-function nil) |
| 961 | (setq font-lock-defaults | 959 | (setq font-lock-defaults |
| 962 | `(makefile-imake-font-lock-keywords ,@(cdr font-lock-defaults)))) | 960 | `(makefile-imake-font-lock-keywords ,@(cdr font-lock-defaults)))) |
| 963 | 961 | ||
| @@ -1501,8 +1499,8 @@ Insertion takes place at point." | |||
| 1501 | (pop-to-buffer browser-buffer) | 1499 | (pop-to-buffer browser-buffer) |
| 1502 | (makefile-browser-fill targets macros) | 1500 | (makefile-browser-fill targets macros) |
| 1503 | (shrink-window-if-larger-than-buffer) | 1501 | (shrink-window-if-larger-than-buffer) |
| 1504 | (set (make-local-variable 'makefile-browser-selection-vector) | 1502 | (setq-local makefile-browser-selection-vector |
| 1505 | (make-vector (+ (length targets) (length macros)) nil)) | 1503 | (make-vector (+ (length targets) (length macros)) nil)) |
| 1506 | (makefile-browser-start-interaction)))) | 1504 | (makefile-browser-start-interaction)))) |
| 1507 | 1505 | ||
| 1508 | (defun makefile-switch-to-browser () | 1506 | (defun makefile-switch-to-browser () |
diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el index ab5a19f8a2f..da40cf51be9 100644 --- a/lisp/progmodes/octave-mod.el +++ b/lisp/progmodes/octave-mod.el | |||
| @@ -794,11 +794,14 @@ does not end in `...' or `\\' or is inside an open parenthesis list." | |||
| 794 | "Put point at the beginning of this Octave block, mark at the end. | 794 | "Put point at the beginning of this Octave block, mark at the end. |
| 795 | The block marked is the one that contains point or follows point." | 795 | The block marked is the one that contains point or follows point." |
| 796 | (interactive) | 796 | (interactive) |
| 797 | (if (and (looking-at "\\sw\\|\\s_") | ||
| 798 | (looking-back "\\sw\\|\\s_" (1- (point)))) | ||
| 799 | (skip-syntax-forward "w_")) | ||
| 797 | (unless (or (looking-at "\\s(") | 800 | (unless (or (looking-at "\\s(") |
| 798 | (save-excursion | 801 | (save-excursion |
| 799 | (let* ((token (funcall smie-forward-token-function)) | 802 | (let* ((token (funcall smie-forward-token-function)) |
| 800 | (level (assoc token smie-grammar))) | 803 | (level (assoc token smie-grammar))) |
| 801 | (and level (null (cadr level)))))) | 804 | (and level (not (numberp (cadr level))))))) |
| 802 | (backward-up-list 1)) | 805 | (backward-up-list 1)) |
| 803 | (mark-sexp)) | 806 | (mark-sexp)) |
| 804 | 807 | ||
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el index d2f7fc7a059..46940457d36 100644 --- a/lisp/progmodes/perl-mode.el +++ b/lisp/progmodes/perl-mode.el | |||
| @@ -578,6 +578,13 @@ create a new comment." | |||
| 578 | ((looking-at "=head[0-9]") (- (char-before (match-end 0)) ?0)) | 578 | ((looking-at "=head[0-9]") (- (char-before (match-end 0)) ?0)) |
| 579 | ((looking-at "=cut") 1) | 579 | ((looking-at "=cut") 1) |
| 580 | (t 3))) | 580 | (t 3))) |
| 581 | |||
| 582 | (defun perl-current-defun-name () | ||
| 583 | "The `add-log-current-defun' function in Perl mode." | ||
| 584 | (save-excursion | ||
| 585 | (if (re-search-backward "^sub[ \t]+\\([^({ \t\n]+\\)" nil t) | ||
| 586 | (match-string-no-properties 1)))) | ||
| 587 | |||
| 581 | 588 | ||
| 582 | (defvar perl-mode-hook nil | 589 | (defvar perl-mode-hook nil |
| 583 | "Normal hook to run when entering Perl mode.") | 590 | "Normal hook to run when entering Perl mode.") |
| @@ -631,15 +638,15 @@ Various indentation styles: K&R BSD BLK GNU LW | |||
| 631 | 638 | ||
| 632 | Turning on Perl mode runs the normal hook `perl-mode-hook'." | 639 | Turning on Perl mode runs the normal hook `perl-mode-hook'." |
| 633 | :abbrev-table perl-mode-abbrev-table | 640 | :abbrev-table perl-mode-abbrev-table |
| 634 | (set (make-local-variable 'paragraph-start) (concat "$\\|" page-delimiter)) | 641 | (setq-local paragraph-start (concat "$\\|" page-delimiter)) |
| 635 | (set (make-local-variable 'paragraph-separate) paragraph-start) | 642 | (setq-local paragraph-separate paragraph-start) |
| 636 | (set (make-local-variable 'paragraph-ignore-fill-prefix) t) | 643 | (setq-local paragraph-ignore-fill-prefix t) |
| 637 | (set (make-local-variable 'indent-line-function) #'perl-indent-line) | 644 | (setq-local indent-line-function #'perl-indent-line) |
| 638 | (set (make-local-variable 'comment-start) "# ") | 645 | (setq-local comment-start "# ") |
| 639 | (set (make-local-variable 'comment-end) "") | 646 | (setq-local comment-end "") |
| 640 | (set (make-local-variable 'comment-start-skip) "\\(^\\|\\s-\\);?#+ *") | 647 | (setq-local comment-start-skip "\\(^\\|\\s-\\);?#+ *") |
| 641 | (set (make-local-variable 'comment-indent-function) #'perl-comment-indent) | 648 | (setq-local comment-indent-function #'perl-comment-indent) |
| 642 | (set (make-local-variable 'parse-sexp-ignore-comments) t) | 649 | (setq-local parse-sexp-ignore-comments t) |
| 643 | ;; Tell font-lock.el how to handle Perl. | 650 | ;; Tell font-lock.el how to handle Perl. |
| 644 | (setq font-lock-defaults '((perl-font-lock-keywords | 651 | (setq font-lock-defaults '((perl-font-lock-keywords |
| 645 | perl-font-lock-keywords-1 | 652 | perl-font-lock-keywords-1 |
| @@ -647,22 +654,21 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'." | |||
| 647 | nil nil ((?\_ . "w")) nil | 654 | nil nil ((?\_ . "w")) nil |
| 648 | (font-lock-syntactic-face-function | 655 | (font-lock-syntactic-face-function |
| 649 | . perl-font-lock-syntactic-face-function))) | 656 | . perl-font-lock-syntactic-face-function))) |
| 650 | (set (make-local-variable 'syntax-propertize-function) | 657 | (setq-local syntax-propertize-function #'perl-syntax-propertize-function) |
| 651 | #'perl-syntax-propertize-function) | ||
| 652 | (add-hook 'syntax-propertize-extend-region-functions | 658 | (add-hook 'syntax-propertize-extend-region-functions |
| 653 | #'syntax-propertize-multiline 'append 'local) | 659 | #'syntax-propertize-multiline 'append 'local) |
| 654 | ;; Electricity. | 660 | ;; Electricity. |
| 655 | ;; FIXME: setup electric-layout-rules. | 661 | ;; FIXME: setup electric-layout-rules. |
| 656 | (set (make-local-variable 'electric-indent-chars) | 662 | (setq-local electric-indent-chars |
| 657 | (append '(?\{ ?\} ?\; ?\:) electric-indent-chars)) | 663 | (append '(?\{ ?\} ?\; ?\:) electric-indent-chars)) |
| 658 | (add-hook 'electric-indent-functions #'perl-electric-noindent-p nil t) | 664 | (add-hook 'electric-indent-functions #'perl-electric-noindent-p nil t) |
| 659 | ;; Tell imenu how to handle Perl. | 665 | ;; Tell imenu how to handle Perl. |
| 660 | (set (make-local-variable 'imenu-generic-expression) | 666 | (setq-local imenu-generic-expression perl-imenu-generic-expression) |
| 661 | perl-imenu-generic-expression) | ||
| 662 | (setq imenu-case-fold-search nil) | 667 | (setq imenu-case-fold-search nil) |
| 663 | ;; Setup outline-minor-mode. | 668 | ;; Setup outline-minor-mode. |
| 664 | (set (make-local-variable 'outline-regexp) perl-outline-regexp) | 669 | (setq-local outline-regexp perl-outline-regexp) |
| 665 | (set (make-local-variable 'outline-level) 'perl-outline-level)) | 670 | (setq-local outline-level 'perl-outline-level) |
| 671 | (setq-local add-log-current-defun-function #'perl-current-defun-name)) | ||
| 666 | 672 | ||
| 667 | ;; This is used by indent-for-comment | 673 | ;; This is used by indent-for-comment |
| 668 | ;; to decide how much to indent a comment in Perl code | 674 | ;; to decide how much to indent a comment in Perl code |
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 949b0252bf1..a2c8453a011 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -33,7 +33,7 @@ | |||
| 33 | ;; Implements Syntax highlighting, Indentation, Movement, Shell | 33 | ;; Implements Syntax highlighting, Indentation, Movement, Shell |
| 34 | ;; interaction, Shell completion, Shell virtualenv support, Pdb | 34 | ;; interaction, Shell completion, Shell virtualenv support, Pdb |
| 35 | ;; tracking, Symbol completion, Skeletons, FFAP, Code Check, Eldoc, | 35 | ;; tracking, Symbol completion, Skeletons, FFAP, Code Check, Eldoc, |
| 36 | ;; imenu. | 36 | ;; Imenu. |
| 37 | 37 | ||
| 38 | ;; Syntax highlighting: Fontification of code is provided and supports | 38 | ;; Syntax highlighting: Fontification of code is provided and supports |
| 39 | ;; python's triple quoted strings properly. | 39 | ;; python's triple quoted strings properly. |
| @@ -169,10 +169,12 @@ | |||
| 169 | ;; might guessed you should run `python-shell-send-buffer' from time | 169 | ;; might guessed you should run `python-shell-send-buffer' from time |
| 170 | ;; to time to get better results too. | 170 | ;; to time to get better results too. |
| 171 | 171 | ||
| 172 | ;; imenu: This mode supports imenu in its most basic form, letting it | 172 | ;; Imenu: This mode supports Imenu in its most basic form, letting it |
| 173 | ;; build the necessary alist via `imenu-default-create-index-function' | 173 | ;; build the necessary alist via `imenu-default-create-index-function' |
| 174 | ;; by having set `imenu-extract-index-name-function' to | 174 | ;; by having set `imenu-extract-index-name-function' to |
| 175 | ;; `python-info-current-defun'. | 175 | ;; `python-info-current-defun' and |
| 176 | ;; `imenu-prev-index-position-function' to | ||
| 177 | ;; `python-imenu-prev-index-position'. | ||
| 176 | 178 | ||
| 177 | ;; If you used python-mode.el you probably will miss auto-indentation | 179 | ;; If you used python-mode.el you probably will miss auto-indentation |
| 178 | ;; when inserting newlines. To achieve the same behavior you have | 180 | ;; when inserting newlines. To achieve the same behavior you have |
| @@ -202,13 +204,12 @@ | |||
| 202 | 204 | ||
| 203 | (require 'ansi-color) | 205 | (require 'ansi-color) |
| 204 | (require 'comint) | 206 | (require 'comint) |
| 207 | (eval-when-compile (require 'cl-lib)) | ||
| 205 | 208 | ||
| 206 | (eval-when-compile | 209 | ;; Avoid compiler warnings |
| 207 | (require 'cl) | 210 | (defvar view-return-to-alist) |
| 208 | ;; Avoid compiler warnings | 211 | (defvar compilation-error-regexp-alist) |
| 209 | (defvar view-return-to-alist) | 212 | (defvar outline-heading-end-regexp) |
| 210 | (defvar compilation-error-regexp-alist) | ||
| 211 | (defvar outline-heading-end-regexp)) | ||
| 212 | 213 | ||
| 213 | (autoload 'comint-mode "comint") | 214 | (autoload 'comint-mode "comint") |
| 214 | 215 | ||
| @@ -364,12 +365,24 @@ This variant of `rx' supports common python named REGEXPS." | |||
| 364 | "Return non-nil if point is on TYPE using SYNTAX-PPSS. | 365 | "Return non-nil if point is on TYPE using SYNTAX-PPSS. |
| 365 | TYPE can be `comment', `string' or `paren'. It returns the start | 366 | TYPE can be `comment', `string' or `paren'. It returns the start |
| 366 | character address of the specified TYPE." | 367 | character address of the specified TYPE." |
| 368 | (declare (compiler-macro | ||
| 369 | (lambda (form) | ||
| 370 | (pcase type | ||
| 371 | (`'comment | ||
| 372 | `(let ((ppss (or ,syntax-ppss (syntax-ppss)))) | ||
| 373 | (and (nth 4 ppss) (nth 8 ppss)))) | ||
| 374 | (`'string | ||
| 375 | `(let ((ppss (or ,syntax-ppss (syntax-ppss)))) | ||
| 376 | (and (nth 3 ppss) (nth 8 ppss)))) | ||
| 377 | (`'paren | ||
| 378 | `(nth 1 (or ,syntax-ppss (syntax-ppss)))) | ||
| 379 | (_ form))))) | ||
| 367 | (let ((ppss (or syntax-ppss (syntax-ppss)))) | 380 | (let ((ppss (or syntax-ppss (syntax-ppss)))) |
| 368 | (case type | 381 | (pcase type |
| 369 | (comment (and (nth 4 ppss) (nth 8 ppss))) | 382 | (`comment (and (nth 4 ppss) (nth 8 ppss))) |
| 370 | (string (and (not (nth 4 ppss)) (nth 8 ppss))) | 383 | (`string (and (nth 3 ppss) (nth 8 ppss))) |
| 371 | (paren (nth 1 ppss)) | 384 | (`paren (nth 1 ppss)) |
| 372 | (t nil)))) | 385 | (_ nil)))) |
| 373 | 386 | ||
| 374 | (defun python-syntax-context-type (&optional syntax-ppss) | 387 | (defun python-syntax-context-type (&optional syntax-ppss) |
| 375 | "Return the context type using SYNTAX-PPSS. | 388 | "Return the context type using SYNTAX-PPSS. |
| @@ -481,8 +494,8 @@ The type returned can be `comment', `string' or `paren'." | |||
| 481 | (when (re-search-forward re limit t) | 494 | (when (re-search-forward re limit t) |
| 482 | (while (and (python-syntax-context 'paren) | 495 | (while (and (python-syntax-context 'paren) |
| 483 | (re-search-forward re limit t))) | 496 | (re-search-forward re limit t))) |
| 484 | (if (and (not (python-syntax-context 'paren)) | 497 | (if (not (or (python-syntax-context 'paren) |
| 485 | (not (equal (char-after (point-marker)) ?=))) | 498 | (equal (char-after (point-marker)) ?=))) |
| 486 | t | 499 | t |
| 487 | (set-match-data nil))))) | 500 | (set-match-data nil))))) |
| 488 | (1 font-lock-variable-name-face nil nil)) | 501 | (1 font-lock-variable-name-face nil nil)) |
| @@ -516,7 +529,7 @@ is used to limit the scan." | |||
| 516 | (while (and (< i 3) | 529 | (while (and (< i 3) |
| 517 | (or (not limit) (< (+ point i) limit)) | 530 | (or (not limit) (< (+ point i) limit)) |
| 518 | (eq (char-after (+ point i)) quote-char)) | 531 | (eq (char-after (+ point i)) quote-char)) |
| 519 | (incf i)) | 532 | (cl-incf i)) |
| 520 | i)) | 533 | i)) |
| 521 | 534 | ||
| 522 | (defun python-syntax-stringify () | 535 | (defun python-syntax-stringify () |
| @@ -645,7 +658,7 @@ These make `python-indent-calculate-indentation' subtract the value of | |||
| 645 | (python-util-forward-comment) | 658 | (python-util-forward-comment) |
| 646 | (current-indentation)))) | 659 | (current-indentation)))) |
| 647 | (if indentation | 660 | (if indentation |
| 648 | (setq python-indent-offset indentation) | 661 | (set (make-local-variable 'python-indent-offset) indentation) |
| 649 | (message "Can't guess python-indent-offset, using defaults: %s" | 662 | (message "Can't guess python-indent-offset, using defaults: %s" |
| 650 | python-indent-offset))))))) | 663 | python-indent-offset))))))) |
| 651 | 664 | ||
| @@ -723,17 +736,17 @@ START is the buffer position where the sexp starts." | |||
| 723 | (save-restriction | 736 | (save-restriction |
| 724 | (widen) | 737 | (widen) |
| 725 | (save-excursion | 738 | (save-excursion |
| 726 | (case context-status | 739 | (pcase context-status |
| 727 | ('no-indent 0) | 740 | (`no-indent 0) |
| 728 | ;; When point is after beginning of block just add one level | 741 | ;; When point is after beginning of block just add one level |
| 729 | ;; of indentation relative to the context-start | 742 | ;; of indentation relative to the context-start |
| 730 | ('after-beginning-of-block | 743 | (`after-beginning-of-block |
| 731 | (goto-char context-start) | 744 | (goto-char context-start) |
| 732 | (+ (current-indentation) python-indent-offset)) | 745 | (+ (current-indentation) python-indent-offset)) |
| 733 | ;; When after a simple line just use previous line | 746 | ;; When after a simple line just use previous line |
| 734 | ;; indentation, in the case current line starts with a | 747 | ;; indentation, in the case current line starts with a |
| 735 | ;; `python-indent-dedenters' de-indent one level. | 748 | ;; `python-indent-dedenters' de-indent one level. |
| 736 | ('after-line | 749 | (`after-line |
| 737 | (- | 750 | (- |
| 738 | (save-excursion | 751 | (save-excursion |
| 739 | (goto-char context-start) | 752 | (goto-char context-start) |
| @@ -746,11 +759,11 @@ START is the buffer position where the sexp starts." | |||
| 746 | ;; When inside of a string, do nothing. just use the current | 759 | ;; When inside of a string, do nothing. just use the current |
| 747 | ;; indentation. XXX: perhaps it would be a good idea to | 760 | ;; indentation. XXX: perhaps it would be a good idea to |
| 748 | ;; invoke standard text indentation here | 761 | ;; invoke standard text indentation here |
| 749 | ('inside-string | 762 | (`inside-string |
| 750 | (goto-char context-start) | 763 | (goto-char context-start) |
| 751 | (current-indentation)) | 764 | (current-indentation)) |
| 752 | ;; After backslash we have several possibilities. | 765 | ;; After backslash we have several possibilities. |
| 753 | ('after-backslash | 766 | (`after-backslash |
| 754 | (cond | 767 | (cond |
| 755 | ;; Check if current line is a dot continuation. For this | 768 | ;; Check if current line is a dot continuation. For this |
| 756 | ;; the current line must start with a dot and previous | 769 | ;; the current line must start with a dot and previous |
| @@ -816,7 +829,7 @@ START is the buffer position where the sexp starts." | |||
| 816 | (+ (current-indentation) python-indent-offset))))) | 829 | (+ (current-indentation) python-indent-offset))))) |
| 817 | ;; When inside a paren there's a need to handle nesting | 830 | ;; When inside a paren there's a need to handle nesting |
| 818 | ;; correctly | 831 | ;; correctly |
| 819 | ('inside-paren | 832 | (`inside-paren |
| 820 | (cond | 833 | (cond |
| 821 | ;; If current line closes the outermost open paren use the | 834 | ;; If current line closes the outermost open paren use the |
| 822 | ;; current indentation of the context-start line. | 835 | ;; current indentation of the context-start line. |
| @@ -1087,12 +1100,12 @@ With positive ARG search backwards, else search forwards." | |||
| 1087 | (beg-indentation | 1100 | (beg-indentation |
| 1088 | (and (> arg 0) | 1101 | (and (> arg 0) |
| 1089 | (save-excursion | 1102 | (save-excursion |
| 1090 | (and (python-info-current-line-empty-p) | 1103 | (while (and |
| 1091 | (python-util-forward-comment -1)) | 1104 | (not (python-info-looking-at-beginning-of-defun)) |
| 1092 | (python-nav-beginning-of-statement) | 1105 | (python-nav-backward-block))) |
| 1093 | (if (python-info-looking-at-beginning-of-defun) | 1106 | (or (and (python-info-looking-at-beginning-of-defun) |
| 1094 | (+ (current-indentation) python-indent-offset) | 1107 | (+ (current-indentation) python-indent-offset)) |
| 1095 | (current-indentation))))) | 1108 | 0)))) |
| 1096 | (found | 1109 | (found |
| 1097 | (progn | 1110 | (progn |
| 1098 | (when (and (< arg 0) | 1111 | (when (and (< arg 0) |
| @@ -2164,11 +2177,11 @@ INPUT." | |||
| 2164 | 'default) | 2177 | 'default) |
| 2165 | (t nil))) | 2178 | (t nil))) |
| 2166 | (completion-code | 2179 | (completion-code |
| 2167 | (case completion-context | 2180 | (pcase completion-context |
| 2168 | (pdb python-shell-completion-pdb-string-code) | 2181 | (`pdb python-shell-completion-pdb-string-code) |
| 2169 | (import python-shell-completion-module-string-code) | 2182 | (`import python-shell-completion-module-string-code) |
| 2170 | (default python-shell-completion-string-code) | 2183 | (`default python-shell-completion-string-code) |
| 2171 | (t nil))) | 2184 | (_ nil))) |
| 2172 | (input | 2185 | (input |
| 2173 | (if (eq completion-context 'import) | 2186 | (if (eq completion-context 'import) |
| 2174 | (replace-regexp-in-string "^[ \t]+" "" line) | 2187 | (replace-regexp-in-string "^[ \t]+" "" line) |
| @@ -2492,17 +2505,17 @@ JUSTIFY should be used (if applicable) as in `fill-paragraph'." | |||
| 2492 | ;; Docstring styles may vary for oneliners and multi-liners. | 2505 | ;; Docstring styles may vary for oneliners and multi-liners. |
| 2493 | (> (count-matches "\n" str-start-pos str-end-pos) 0)) | 2506 | (> (count-matches "\n" str-start-pos str-end-pos) 0)) |
| 2494 | (delimiters-style | 2507 | (delimiters-style |
| 2495 | (case python-fill-docstring-style | 2508 | (pcase python-fill-docstring-style |
| 2496 | ;; delimiters-style is a cons cell with the form | 2509 | ;; delimiters-style is a cons cell with the form |
| 2497 | ;; (START-NEWLINES . END-NEWLINES). When any of the sexps | 2510 | ;; (START-NEWLINES . END-NEWLINES). When any of the sexps |
| 2498 | ;; is NIL means to not add any newlines for start or end | 2511 | ;; is NIL means to not add any newlines for start or end |
| 2499 | ;; of docstring. See `python-fill-docstring-style' for a | 2512 | ;; of docstring. See `python-fill-docstring-style' for a |
| 2500 | ;; graphic idea of each style. | 2513 | ;; graphic idea of each style. |
| 2501 | (django (cons 1 1)) | 2514 | (`django (cons 1 1)) |
| 2502 | (onetwo (and multi-line-p (cons 1 2))) | 2515 | (`onetwo (and multi-line-p (cons 1 2))) |
| 2503 | (pep-257 (and multi-line-p (cons nil 2))) | 2516 | (`pep-257 (and multi-line-p (cons nil 2))) |
| 2504 | (pep-257-nn (and multi-line-p (cons nil 1))) | 2517 | (`pep-257-nn (and multi-line-p (cons nil 1))) |
| 2505 | (symmetric (and multi-line-p (cons 1 1))))) | 2518 | (`symmetric (and multi-line-p (cons 1 1))))) |
| 2506 | (docstring-p (save-excursion | 2519 | (docstring-p (save-excursion |
| 2507 | ;; Consider docstrings those strings which | 2520 | ;; Consider docstrings those strings which |
| 2508 | ;; start on a line by themselves. | 2521 | ;; start on a line by themselves. |
| @@ -2703,7 +2716,7 @@ The skeleton will be bound to python-skeleton-NAME." | |||
| 2703 | (easy-menu-add-item | 2716 | (easy-menu-add-item |
| 2704 | nil '("Python" "Skeletons") | 2717 | nil '("Python" "Skeletons") |
| 2705 | `[,(format | 2718 | `[,(format |
| 2706 | "Insert %s" (caddr (split-string (symbol-name skeleton) "-"))) | 2719 | "Insert %s" (nth 2 (split-string (symbol-name skeleton) "-"))) |
| 2707 | ,skeleton t])))) | 2720 | ,skeleton t])))) |
| 2708 | 2721 | ||
| 2709 | ;;; FFAP | 2722 | ;;; FFAP |
| @@ -2870,6 +2883,19 @@ Interactively, prompt for symbol." | |||
| 2870 | "^Eldoc needs an inferior Python process running.") | 2883 | "^Eldoc needs an inferior Python process running.") |
| 2871 | 2884 | ||
| 2872 | 2885 | ||
| 2886 | ;;; Imenu | ||
| 2887 | |||
| 2888 | (defun python-imenu-prev-index-position () | ||
| 2889 | "Python mode's `imenu-prev-index-position-function'." | ||
| 2890 | (let ((found)) | ||
| 2891 | (while (and (setq found | ||
| 2892 | (re-search-backward python-nav-beginning-of-defun-regexp nil t)) | ||
| 2893 | (not (python-info-looking-at-beginning-of-defun)))) | ||
| 2894 | (and found | ||
| 2895 | (python-info-looking-at-beginning-of-defun) | ||
| 2896 | (python-info-current-defun)))) | ||
| 2897 | |||
| 2898 | |||
| 2873 | ;;; Misc helpers | 2899 | ;;; Misc helpers |
| 2874 | 2900 | ||
| 2875 | (defun python-info-current-defun (&optional include-type) | 2901 | (defun python-info-current-defun (&optional include-type) |
| @@ -3214,6 +3240,9 @@ if that value is non-nil." | |||
| 3214 | (set (make-local-variable 'imenu-extract-index-name-function) | 3240 | (set (make-local-variable 'imenu-extract-index-name-function) |
| 3215 | #'python-info-current-defun) | 3241 | #'python-info-current-defun) |
| 3216 | 3242 | ||
| 3243 | (set (make-local-variable 'imenu-prev-index-position-function) | ||
| 3244 | #'python-imenu-prev-index-position) | ||
| 3245 | |||
| 3217 | (set (make-local-variable 'add-log-current-defun-function) | 3246 | (set (make-local-variable 'add-log-current-defun-function) |
| 3218 | #'python-info-current-defun) | 3247 | #'python-info-current-defun) |
| 3219 | 3248 | ||
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index 7cab07fe387..1a15f9eda3c 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el | |||
| @@ -126,44 +126,44 @@ | |||
| 126 | (defun scheme-mode-variables () | 126 | (defun scheme-mode-variables () |
| 127 | (set-syntax-table scheme-mode-syntax-table) | 127 | (set-syntax-table scheme-mode-syntax-table) |
| 128 | (setq local-abbrev-table scheme-mode-abbrev-table) | 128 | (setq local-abbrev-table scheme-mode-abbrev-table) |
| 129 | (set (make-local-variable 'paragraph-start) (concat "$\\|" page-delimiter)) | 129 | (setq-local paragraph-start (concat "$\\|" page-delimiter)) |
| 130 | (set (make-local-variable 'paragraph-separate) paragraph-start) | 130 | (setq-local paragraph-separate paragraph-start) |
| 131 | (set (make-local-variable 'paragraph-ignore-fill-prefix) t) | 131 | (setq-local paragraph-ignore-fill-prefix t) |
| 132 | (set (make-local-variable 'fill-paragraph-function) 'lisp-fill-paragraph) | 132 | (setq-local fill-paragraph-function 'lisp-fill-paragraph) |
| 133 | ;; Adaptive fill mode gets in the way of auto-fill, | 133 | ;; Adaptive fill mode gets in the way of auto-fill, |
| 134 | ;; and should make no difference for explicit fill | 134 | ;; and should make no difference for explicit fill |
| 135 | ;; because lisp-fill-paragraph should do the job. | 135 | ;; because lisp-fill-paragraph should do the job. |
| 136 | (set (make-local-variable 'adaptive-fill-mode) nil) | 136 | (setq-local adaptive-fill-mode nil) |
| 137 | (set (make-local-variable 'indent-line-function) 'lisp-indent-line) | 137 | (setq-local indent-line-function 'lisp-indent-line) |
| 138 | (set (make-local-variable 'parse-sexp-ignore-comments) t) | 138 | (setq-local parse-sexp-ignore-comments t) |
| 139 | (set (make-local-variable 'outline-regexp) ";;; \\|(....") | 139 | (setq-local outline-regexp ";;; \\|(....") |
| 140 | (set (make-local-variable 'comment-start) ";") | 140 | (setq-local add-log-current-defun-function #'lisp-current-defun-name) |
| 141 | (set (make-local-variable 'comment-add) 1) | 141 | (setq-local comment-start ";") |
| 142 | (setq-local comment-add 1) | ||
| 142 | ;; Look within the line for a ; following an even number of backslashes | 143 | ;; Look within the line for a ; following an even number of backslashes |
| 143 | ;; after either a non-backslash or the line beginning. | 144 | ;; after either a non-backslash or the line beginning. |
| 144 | (set (make-local-variable 'comment-start-skip) | 145 | (setq-local comment-start-skip |
| 145 | "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+[ \t]*") | 146 | "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+[ \t]*") |
| 146 | (set (make-local-variable 'font-lock-comment-start-skip) ";+ *") | 147 | (setq-local font-lock-comment-start-skip ";+ *") |
| 147 | (set (make-local-variable 'comment-column) 40) | 148 | (setq-local comment-column 40) |
| 148 | (set (make-local-variable 'parse-sexp-ignore-comments) t) | 149 | (setq-local parse-sexp-ignore-comments t) |
| 149 | (set (make-local-variable 'lisp-indent-function) 'scheme-indent-function) | 150 | (setq-local lisp-indent-function 'scheme-indent-function) |
| 150 | (setq mode-line-process '("" scheme-mode-line-process)) | 151 | (setq mode-line-process '("" scheme-mode-line-process)) |
| 151 | (set (make-local-variable 'imenu-case-fold-search) t) | 152 | (setq-local imenu-case-fold-search t) |
| 152 | (setq imenu-generic-expression scheme-imenu-generic-expression) | 153 | (setq imenu-generic-expression scheme-imenu-generic-expression) |
| 153 | (set (make-local-variable 'imenu-syntax-alist) | 154 | (setq-local imenu-syntax-alist |
| 154 | '(("+-*/.<>=?!$%_&~^:" . "w"))) | 155 | '(("+-*/.<>=?!$%_&~^:" . "w"))) |
| 155 | (set (make-local-variable 'font-lock-defaults) | 156 | (setq font-lock-defaults |
| 156 | '((scheme-font-lock-keywords | 157 | '((scheme-font-lock-keywords |
| 157 | scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) | 158 | scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) |
| 158 | nil t (("+-*/.<>=!?$%_&~^:" . "w") (?#. "w 14")) | 159 | nil t (("+-*/.<>=!?$%_&~^:" . "w") (?#. "w 14")) |
| 159 | beginning-of-defun | 160 | beginning-of-defun |
| 160 | (font-lock-mark-block-function . mark-defun) | 161 | (font-lock-mark-block-function . mark-defun) |
| 161 | (font-lock-syntactic-face-function | 162 | (font-lock-syntactic-face-function |
| 162 | . scheme-font-lock-syntactic-face-function) | 163 | . scheme-font-lock-syntactic-face-function) |
| 163 | (parse-sexp-lookup-properties . t) | 164 | (parse-sexp-lookup-properties . t) |
| 164 | (font-lock-extra-managed-props syntax-table))) | 165 | (font-lock-extra-managed-props syntax-table))) |
| 165 | (set (make-local-variable 'lisp-doc-string-elt-property) | 166 | (setq-local lisp-doc-string-elt-property 'scheme-doc-string-elt)) |
| 166 | 'scheme-doc-string-elt)) | ||
| 167 | 167 | ||
| 168 | (defvar scheme-mode-line-process "") | 168 | (defvar scheme-mode-line-process "") |
| 169 | 169 | ||
| @@ -386,7 +386,7 @@ Blank lines separate paragraphs. Semicolons start comments. | |||
| 386 | Entering this mode runs the hooks `scheme-mode-hook' and then | 386 | Entering this mode runs the hooks `scheme-mode-hook' and then |
| 387 | `dsssl-mode-hook' and inserts the value of `dsssl-sgml-declaration' if | 387 | `dsssl-mode-hook' and inserts the value of `dsssl-sgml-declaration' if |
| 388 | that variable's value is a string." | 388 | that variable's value is a string." |
| 389 | (set (make-local-variable 'page-delimiter) "^;;;") ; ^L not valid SGML char | 389 | (setq-local page-delimiter "^;;;") ; ^L not valid SGML char |
| 390 | ;; Insert a suitable SGML declaration into an empty buffer. | 390 | ;; Insert a suitable SGML declaration into an empty buffer. |
| 391 | ;; FIXME: This should use `auto-insert-alist' instead. | 391 | ;; FIXME: This should use `auto-insert-alist' instead. |
| 392 | (and (zerop (buffer-size)) | 392 | (and (zerop (buffer-size)) |
| @@ -397,10 +397,10 @@ that variable's value is a string." | |||
| 397 | nil t (("+-*/.<>=?$%_&~^:" . "w")) | 397 | nil t (("+-*/.<>=?$%_&~^:" . "w")) |
| 398 | beginning-of-defun | 398 | beginning-of-defun |
| 399 | (font-lock-mark-block-function . mark-defun))) | 399 | (font-lock-mark-block-function . mark-defun))) |
| 400 | (set (make-local-variable 'imenu-case-fold-search) nil) | 400 | (setq-local add-log-current-defun-function #'lisp-current-defun-name) |
| 401 | (setq-local imenu-case-fold-search nil) | ||
| 401 | (setq imenu-generic-expression dsssl-imenu-generic-expression) | 402 | (setq imenu-generic-expression dsssl-imenu-generic-expression) |
| 402 | (set (make-local-variable 'imenu-syntax-alist) | 403 | (setq-local imenu-syntax-alist '(("+-*/.<>=?$%_&~^:" . "w")))) |
| 403 | '(("+-*/.<>=?$%_&~^:" . "w")))) | ||
| 404 | 404 | ||
| 405 | ;; Extra syntax for DSSSL. This isn't separated from Scheme, but | 405 | ;; Extra syntax for DSSSL. This isn't separated from Scheme, but |
| 406 | ;; shouldn't cause much trouble in scheme-mode. | 406 | ;; shouldn't cause much trouble in scheme-mode. |
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 5af14e51f49..243b712febb 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -1497,42 +1497,41 @@ with your script for an edit-interpret-debug cycle." | |||
| 1497 | (make-local-variable 'sh-shell-file) | 1497 | (make-local-variable 'sh-shell-file) |
| 1498 | (make-local-variable 'sh-shell) | 1498 | (make-local-variable 'sh-shell) |
| 1499 | 1499 | ||
| 1500 | (set (make-local-variable 'skeleton-pair-default-alist) | 1500 | (setq-local skeleton-pair-default-alist |
| 1501 | sh-skeleton-pair-default-alist) | 1501 | sh-skeleton-pair-default-alist) |
| 1502 | (set (make-local-variable 'skeleton-end-hook) | 1502 | (setq-local skeleton-end-hook |
| 1503 | (lambda () (or (eolp) (newline) (indent-relative)))) | 1503 | (lambda () (or (eolp) (newline) (indent-relative)))) |
| 1504 | 1504 | ||
| 1505 | (set (make-local-variable 'paragraph-start) (concat page-delimiter "\\|$")) | 1505 | (setq-local paragraph-start (concat page-delimiter "\\|$")) |
| 1506 | (set (make-local-variable 'paragraph-separate) paragraph-start) | 1506 | (setq-local paragraph-separate paragraph-start) |
| 1507 | (set (make-local-variable 'comment-start) "# ") | 1507 | (setq-local comment-start "# ") |
| 1508 | (set (make-local-variable 'comment-start-skip) "#+[\t ]*") | 1508 | (setq-local comment-start-skip "#+[\t ]*") |
| 1509 | (set (make-local-variable 'local-abbrev-table) sh-mode-abbrev-table) | 1509 | (setq-local local-abbrev-table sh-mode-abbrev-table) |
| 1510 | (set (make-local-variable 'comint-dynamic-complete-functions) | 1510 | (setq-local comint-dynamic-complete-functions |
| 1511 | sh-dynamic-complete-functions) | 1511 | sh-dynamic-complete-functions) |
| 1512 | (add-hook 'completion-at-point-functions 'comint-completion-at-point nil t) | 1512 | (add-hook 'completion-at-point-functions 'comint-completion-at-point nil t) |
| 1513 | ;; we can't look if previous line ended with `\' | 1513 | ;; we can't look if previous line ended with `\' |
| 1514 | (set (make-local-variable 'comint-prompt-regexp) "^[ \t]*") | 1514 | (setq-local comint-prompt-regexp "^[ \t]*") |
| 1515 | (set (make-local-variable 'imenu-case-fold-search) nil) | 1515 | (setq-local imenu-case-fold-search nil) |
| 1516 | (set (make-local-variable 'font-lock-defaults) | 1516 | (setq font-lock-defaults |
| 1517 | `((sh-font-lock-keywords | 1517 | `((sh-font-lock-keywords |
| 1518 | sh-font-lock-keywords-1 sh-font-lock-keywords-2) | 1518 | sh-font-lock-keywords-1 sh-font-lock-keywords-2) |
| 1519 | nil nil | 1519 | nil nil |
| 1520 | ((?/ . "w") (?~ . "w") (?. . "w") (?- . "w") (?_ . "w")) nil | 1520 | ((?/ . "w") (?~ . "w") (?. . "w") (?- . "w") (?_ . "w")) nil |
| 1521 | (font-lock-syntactic-face-function | 1521 | (font-lock-syntactic-face-function |
| 1522 | . sh-font-lock-syntactic-face-function))) | 1522 | . sh-font-lock-syntactic-face-function))) |
| 1523 | (set (make-local-variable 'syntax-propertize-function) | 1523 | (setq-local syntax-propertize-function #'sh-syntax-propertize-function) |
| 1524 | #'sh-syntax-propertize-function) | ||
| 1525 | (add-hook 'syntax-propertize-extend-region-functions | 1524 | (add-hook 'syntax-propertize-extend-region-functions |
| 1526 | #'syntax-propertize-multiline 'append 'local) | 1525 | #'syntax-propertize-multiline 'append 'local) |
| 1527 | (sh-electric-here-document-mode 1) | 1526 | (sh-electric-here-document-mode 1) |
| 1528 | (set (make-local-variable 'skeleton-pair-alist) '((?` _ ?`))) | 1527 | (setq-local skeleton-pair-alist '((?` _ ?`))) |
| 1529 | (set (make-local-variable 'skeleton-pair-filter-function) 'sh-quoted-p) | 1528 | (setq-local skeleton-pair-filter-function 'sh-quoted-p) |
| 1530 | (set (make-local-variable 'skeleton-further-elements) | 1529 | (setq-local skeleton-further-elements |
| 1531 | '((< '(- (min sh-indentation (current-column)))))) | 1530 | '((< '(- (min sh-indentation (current-column)))))) |
| 1532 | (set (make-local-variable 'skeleton-filter-function) 'sh-feature) | 1531 | (setq-local skeleton-filter-function 'sh-feature) |
| 1533 | (set (make-local-variable 'skeleton-newline-indent-rigidly) t) | 1532 | (setq-local skeleton-newline-indent-rigidly t) |
| 1534 | (set (make-local-variable 'defun-prompt-regexp) | 1533 | (setq-local defun-prompt-regexp |
| 1535 | (concat "^\\(function[ \t]\\|[[:alnum:]]+[ \t]+()[ \t]+\\)")) | 1534 | (concat "^\\(function[ \t]\\|[[:alnum:]]+[ \t]+()[ \t]+\\)")) |
| 1536 | ;; Parse or insert magic number for exec, and set all variables depending | 1535 | ;; Parse or insert magic number for exec, and set all variables depending |
| 1537 | ;; on the shell thus determined. | 1536 | ;; on the shell thus determined. |
| 1538 | (sh-set-shell | 1537 | (sh-set-shell |
| @@ -2104,19 +2103,19 @@ Calls the value of `sh-set-shell-hook' if set." | |||
| 2104 | (executable-set-magic shell (sh-feature sh-shell-arg) | 2103 | (executable-set-magic shell (sh-feature sh-shell-arg) |
| 2105 | no-query-flag insert-flag))) | 2104 | no-query-flag insert-flag))) |
| 2106 | (setq mode-line-process (format "[%s]" sh-shell)) | 2105 | (setq mode-line-process (format "[%s]" sh-shell)) |
| 2107 | (set (make-local-variable 'sh-shell-variables) nil) | 2106 | (setq-local sh-shell-variables nil) |
| 2108 | (set (make-local-variable 'sh-shell-variables-initialized) nil) | 2107 | (setq-local sh-shell-variables-initialized nil) |
| 2109 | (set (make-local-variable 'imenu-generic-expression) | 2108 | (setq-local imenu-generic-expression |
| 2110 | (sh-feature sh-imenu-generic-expression)) | 2109 | (sh-feature sh-imenu-generic-expression)) |
| 2111 | (let ((tem (sh-feature sh-mode-syntax-table-input))) | 2110 | (let ((tem (sh-feature sh-mode-syntax-table-input))) |
| 2112 | (when tem | 2111 | (when tem |
| 2113 | (set (make-local-variable 'sh-mode-syntax-table) | 2112 | (setq-local sh-mode-syntax-table |
| 2114 | (apply 'sh-mode-syntax-table tem)) | 2113 | (apply 'sh-mode-syntax-table tem)) |
| 2115 | (set-syntax-table sh-mode-syntax-table))) | 2114 | (set-syntax-table sh-mode-syntax-table))) |
| 2116 | (dolist (var (sh-feature sh-variables)) | 2115 | (dolist (var (sh-feature sh-variables)) |
| 2117 | (sh-remember-variable var)) | 2116 | (sh-remember-variable var)) |
| 2118 | (if (set (make-local-variable 'sh-indent-supported-here) | 2117 | (if (setq-local sh-indent-supported-here |
| 2119 | (sh-feature sh-indent-supported)) | 2118 | (sh-feature sh-indent-supported)) |
| 2120 | (progn | 2119 | (progn |
| 2121 | (message "Setting up indent for shell type %s" sh-shell) | 2120 | (message "Setting up indent for shell type %s" sh-shell) |
| 2122 | (if sh-use-smie | 2121 | (if sh-use-smie |
| @@ -2127,16 +2126,16 @@ Calls the value of `sh-set-shell-hook' if set." | |||
| 2127 | (funcall mksym "rules") | 2126 | (funcall mksym "rules") |
| 2128 | :forward-token (funcall mksym "forward-token") | 2127 | :forward-token (funcall mksym "forward-token") |
| 2129 | :backward-token (funcall mksym "backward-token"))) | 2128 | :backward-token (funcall mksym "backward-token"))) |
| 2130 | (set (make-local-variable 'parse-sexp-lookup-properties) t) | 2129 | (setq-local parse-sexp-lookup-properties t) |
| 2131 | (set (make-local-variable 'sh-kw-alist) (sh-feature sh-kw)) | 2130 | (setq-local sh-kw-alist (sh-feature sh-kw)) |
| 2132 | (let ((regexp (sh-feature sh-kws-for-done))) | 2131 | (let ((regexp (sh-feature sh-kws-for-done))) |
| 2133 | (if regexp | 2132 | (if regexp |
| 2134 | (set (make-local-variable 'sh-regexp-for-done) | 2133 | (setq-local sh-regexp-for-done |
| 2135 | (sh-mkword-regexpr (regexp-opt regexp t))))) | 2134 | (sh-mkword-regexpr (regexp-opt regexp t))))) |
| 2136 | (message "setting up indent stuff") | 2135 | (message "setting up indent stuff") |
| 2137 | ;; sh-mode has already made indent-line-function local | 2136 | ;; sh-mode has already made indent-line-function local |
| 2138 | ;; but do it in case this is called before that. | 2137 | ;; but do it in case this is called before that. |
| 2139 | (set (make-local-variable 'indent-line-function) 'sh-indent-line)) | 2138 | (setq-local indent-line-function 'sh-indent-line)) |
| 2140 | (if sh-make-vars-local | 2139 | (if sh-make-vars-local |
| 2141 | (sh-make-vars-local)) | 2140 | (sh-make-vars-local)) |
| 2142 | (message "Indentation setup for shell type %s" sh-shell)) | 2141 | (message "Indentation setup for shell type %s" sh-shell)) |
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index 64b87d9e436..22ba55d9a08 100644 --- a/lisp/progmodes/sql.el +++ b/lisp/progmodes/sql.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; sql.el --- specialized comint.el for SQL interpreters | 1 | ;;; sql.el --- specialized comint.el for SQL interpreters -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998-2012 Free Software Foundation, Inc. |
| 4 | 4 | ||
| @@ -80,14 +80,6 @@ | |||
| 80 | ;; Hint for newbies: take a look at `dabbrev-expand', `abbrev-mode', and | 80 | ;; Hint for newbies: take a look at `dabbrev-expand', `abbrev-mode', and |
| 81 | ;; `imenu-add-menubar-index'. | 81 | ;; `imenu-add-menubar-index'. |
| 82 | 82 | ||
| 83 | ;;; Requirements for Emacs 19.34: | ||
| 84 | |||
| 85 | ;; If you are using Emacs 19.34, you will have to get and install | ||
| 86 | ;; the file regexp-opt.el | ||
| 87 | ;; <URL:ftp://ftp.ifi.uio.no/pub/emacs/emacs-20.3/lisp/emacs-lisp/regexp-opt.el> | ||
| 88 | ;; and the custom package | ||
| 89 | ;; <URL:http://www.dina.kvl.dk/~abraham/custom/>. | ||
| 90 | |||
| 91 | ;;; Bugs: | 83 | ;;; Bugs: |
| 92 | 84 | ||
| 93 | ;; sql-ms now uses osql instead of isql. Osql flushes its error | 85 | ;; sql-ms now uses osql instead of isql. Osql flushes its error |
| @@ -169,15 +161,17 @@ | |||
| 169 | ;; | 161 | ;; |
| 170 | ;; ;; Do something with `sql-user', `sql-password', | 162 | ;; ;; Do something with `sql-user', `sql-password', |
| 171 | ;; ;; `sql-database', and `sql-server'. | 163 | ;; ;; `sql-database', and `sql-server'. |
| 172 | ;; (let ((params options)) | 164 | ;; (let ((params |
| 173 | ;; (if (not (string= "" sql-server)) | 165 | ;; (append |
| 174 | ;; (setq params (append (list "-S" sql-server) params))) | ||
| 175 | ;; (if (not (string= "" sql-database)) | ||
| 176 | ;; (setq params (append (list "-D" sql-database) params))) | ||
| 177 | ;; (if (not (string= "" sql-password)) | ||
| 178 | ;; (setq params (append (list "-P" sql-password) params))) | ||
| 179 | ;; (if (not (string= "" sql-user)) | 166 | ;; (if (not (string= "" sql-user)) |
| 180 | ;; (setq params (append (list "-U" sql-user) params))) | 167 | ;; (list "-U" sql-user)) |
| 168 | ;; (if (not (string= "" sql-password)) | ||
| 169 | ;; (list "-P" sql-password)) | ||
| 170 | ;; (if (not (string= "" sql-database)) | ||
| 171 | ;; (list "-D" sql-database)) | ||
| 172 | ;; (if (not (string= "" sql-server)) | ||
| 173 | ;; (list "-S" sql-server)) | ||
| 174 | ;; options))) | ||
| 181 | ;; (sql-comint product params))) | 175 | ;; (sql-comint product params))) |
| 182 | ;; | 176 | ;; |
| 183 | ;; (sql-set-product-feature 'xyz | 177 | ;; (sql-set-product-feature 'xyz |
| @@ -229,22 +223,13 @@ | |||
| 229 | 223 | ||
| 230 | ;;; Code: | 224 | ;;; Code: |
| 231 | 225 | ||
| 226 | (require 'cl-lib) | ||
| 232 | (require 'comint) | 227 | (require 'comint) |
| 233 | ;; Need the following to allow GNU Emacs 19 to compile the file. | 228 | ;; Need the following to allow GNU Emacs 19 to compile the file. |
| 234 | (eval-when-compile | 229 | (eval-when-compile |
| 235 | (require 'regexp-opt)) | 230 | (require 'regexp-opt)) |
| 236 | (require 'custom) | 231 | (require 'custom) |
| 237 | (require 'thingatpt) | 232 | (require 'thingatpt) |
| 238 | (eval-when-compile ;; needed in Emacs 19, 20 | ||
| 239 | (setq max-specpdl-size (max max-specpdl-size 2000))) | ||
| 240 | |||
| 241 | (defun sql-signum (n) | ||
| 242 | "Return 1, 0, or -1 to identify the sign of N." | ||
| 243 | (cond | ||
| 244 | ((not (numberp n)) nil) | ||
| 245 | ((< n 0) -1) | ||
| 246 | ((> n 0) 1) | ||
| 247 | (t 0))) | ||
| 248 | 233 | ||
| 249 | (defvar font-lock-keyword-face) | 234 | (defvar font-lock-keyword-face) |
| 250 | (defvar font-lock-set-defaults) | 235 | (defvar font-lock-set-defaults) |
| @@ -636,12 +621,14 @@ making new SQLi sessions." | |||
| 636 | (set | 621 | (set |
| 637 | (group (const :tag "Product" sql-product) | 622 | (group (const :tag "Product" sql-product) |
| 638 | (choice | 623 | (choice |
| 639 | ,@(mapcar (lambda (prod-info) | 624 | ,@(mapcar |
| 640 | `(const :tag | 625 | (lambda (prod-info) |
| 641 | ,(or (plist-get (cdr prod-info) :name) | 626 | `(const :tag |
| 642 | (capitalize (symbol-name (car prod-info)))) | 627 | ,(or (plist-get (cdr prod-info) :name) |
| 643 | (quote ,(car prod-info)))) | 628 | (capitalize |
| 644 | sql-product-alist))) | 629 | (symbol-name (car prod-info)))) |
| 630 | (quote ,(car prod-info)))) | ||
| 631 | sql-product-alist))) | ||
| 645 | (group (const :tag "Username" sql-user) string) | 632 | (group (const :tag "Username" sql-user) string) |
| 646 | (group (const :tag "Password" sql-password) string) | 633 | (group (const :tag "Password" sql-password) string) |
| 647 | (group (const :tag "Server" sql-server) string) | 634 | (group (const :tag "Server" sql-server) string) |
| @@ -655,8 +642,8 @@ making new SQLi sessions." | |||
| 655 | :group 'SQL) | 642 | :group 'SQL) |
| 656 | 643 | ||
| 657 | (defcustom sql-product 'ansi | 644 | (defcustom sql-product 'ansi |
| 658 | "Select the SQL database product used so that buffers can be | 645 | "Select the SQL database product used. |
| 659 | highlighted properly when you open them." | 646 | This allows highlighting buffers properly when you open them." |
| 660 | :type `(choice | 647 | :type `(choice |
| 661 | ,@(mapcar (lambda (prod-info) | 648 | ,@(mapcar (lambda (prod-info) |
| 662 | `(const :tag | 649 | `(const :tag |
| @@ -736,15 +723,15 @@ this variable is nil, that buffer is shown using | |||
| 736 | 723 | ||
| 737 | (defvar sql-imenu-generic-expression | 724 | (defvar sql-imenu-generic-expression |
| 738 | ;; Items are in reverse order because they are rendered in reverse. | 725 | ;; Items are in reverse order because they are rendered in reverse. |
| 739 | '(("Rules/Defaults" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*\\(rule\\|default\\)\\s-+\\(\\w+\\)" 3) | 726 | '(("Rules/Defaults" "^\\s-*create\\s-+\\(?:\\w+\\s-+\\)*\\(?:rule\\|default\\)\\(?:if\\s-+not\\s-+exists\\s-+\\)?\\s-+\\(\\w+\\)" 1) |
| 740 | ("Sequences" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*sequence\\s-+\\(\\w+\\)" 2) | 727 | ("Sequences" "^\\s-*create\\s-+\\(?:\\w+\\s-+\\)*sequence\\s-+\\(?:if\\s-+not\\s-+exists\\s-+\\)?\\(\\w+\\)" 1) |
| 741 | ("Triggers" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*trigger\\s-+\\(\\w+\\)" 2) | 728 | ("Triggers" "^\\s-*create\\s-+\\(?:\\w+\\s-+\\)*trigger\\s-+\\(?:if\\s-+not\\s-+exists\\s-+\\)?\\(\\w+\\)" 1) |
| 742 | ("Functions" "^\\s-*\\(create\\s-+\\(\\w+\\s-+\\)*\\)?function\\s-+\\(\\w+\\)" 3) | 729 | ("Functions" "^\\s-*\\(?:create\\s-+\\(?:\\w+\\s-+\\)*\\)?function\\s-+\\(?:if\\s-+not\\s-+exists\\s-+\\)?\\(\\w+\\)" 1) |
| 743 | ("Procedures" "^\\s-*\\(create\\s-+\\(\\w+\\s-+\\)*\\)?proc\\(edure\\)?\\s-+\\(\\w+\\)" 4) | 730 | ("Procedures" "^\\s-*\\(?:create\\s-+\\(?:\\w+\\s-+\\)*\\)?proc\\(?:edure\\)?\\s-+\\(?:if\\s-+not\\s-+exists\\s-+\\)?\\(\\w+\\)" 1) |
| 744 | ("Packages" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*package\\s-+\\(body\\s-+\\)?\\(\\w+\\)" 3) | 731 | ("Packages" "^\\s-*create\\s-+\\(?:\\w+\\s-+\\)*package\\s-+\\(?:body\\s-+\\)?\\(?:if\\s-+not\\s-+exists\\s-+\\)?\\(\\w+\\)" 1) |
| 745 | ("Types" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*type\\s-+\\(body\\s-+\\)?\\(\\w+\\)" 3) | 732 | ("Types" "^\\s-*create\\s-+\\(?:\\w+\\s-+\\)*type\\s-+\\(?:body\\s-+\\)?\\(?:if\\s-+not\\s-+exists\\s-+\\)?\\(\\w+\\)" 1) |
| 746 | ("Indexes" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*index\\s-+\\(\\w+\\)" 2) | 733 | ("Indexes" "^\\s-*create\\s-+\\(?:\\w+\\s-+\\)*index\\s-+\\(?:if\\s-+not\\s-+exists\\s-+\\)?\\(\\w+\\)" 1) |
| 747 | ("Tables/Views" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*\\(table\\|view\\)\\s-+\\(\\w+\\)" 3)) | 734 | ("Tables/Views" "^\\s-*create\\s-+\\(?:\\w+\\s-+\\)*\\(?:table\\|view\\)\\s-+\\(?:if\\s-+not\\s-+exists\\s-+\\)?\\(\\w+\\)" 1)) |
| 748 | "Define interesting points in the SQL buffer for `imenu'. | 735 | "Define interesting points in the SQL buffer for `imenu'. |
| 749 | 736 | ||
| 750 | This is used to set `imenu-generic-expression' when SQL mode is | 737 | This is used to set `imenu-generic-expression' when SQL mode is |
| @@ -818,12 +805,11 @@ for the first time." | |||
| 818 | 805 | ||
| 819 | ;; Customization for ANSI | 806 | ;; Customization for ANSI |
| 820 | 807 | ||
| 821 | (defcustom sql-ansi-statement-starters (regexp-opt '( | 808 | (defcustom sql-ansi-statement-starters |
| 822 | "create" "alter" "drop" | 809 | (regexp-opt '("create" "alter" "drop" |
| 823 | "select" "insert" "update" "delete" "merge" | 810 | "select" "insert" "update" "delete" "merge" |
| 824 | "grant" "revoke" | 811 | "grant" "revoke")) |
| 825 | )) | 812 | "Regexp of keywords that start SQL commands. |
| 826 | "Regexp of keywords that start SQL commands | ||
| 827 | 813 | ||
| 828 | All products share this list; products should define a regexp to | 814 | All products share this list; products should define a regexp to |
| 829 | identify additional keywords in a variable defined by | 815 | identify additional keywords in a variable defined by |
| @@ -1167,10 +1153,10 @@ You can change `sql-prompt-length' on `sql-interactive-mode-hook'.") | |||
| 1167 | Used by `sql-rename-buffer'.") | 1153 | Used by `sql-rename-buffer'.") |
| 1168 | 1154 | ||
| 1169 | (defun sql-buffer-live-p (buffer &optional product connection) | 1155 | (defun sql-buffer-live-p (buffer &optional product connection) |
| 1170 | "Returns non-nil if the process associated with buffer is live. | 1156 | "Return non-nil if the process associated with buffer is live. |
| 1171 | 1157 | ||
| 1172 | BUFFER can be a buffer object or a buffer name. The buffer must | 1158 | BUFFER can be a buffer object or a buffer name. The buffer must |
| 1173 | be a live buffer, have an running process attached to it, be in | 1159 | be a live buffer, have a running process attached to it, be in |
| 1174 | `sql-interactive-mode', and, if PRODUCT or CONNECTION are | 1160 | `sql-interactive-mode', and, if PRODUCT or CONNECTION are |
| 1175 | specified, it's `sql-product' or `sql-connection' must match." | 1161 | specified, it's `sql-product' or `sql-connection' must match." |
| 1176 | 1162 | ||
| @@ -1178,7 +1164,6 @@ specified, it's `sql-product' or `sql-connection' must match." | |||
| 1178 | (setq buffer (get-buffer buffer)) | 1164 | (setq buffer (get-buffer buffer)) |
| 1179 | (and buffer | 1165 | (and buffer |
| 1180 | (buffer-live-p buffer) | 1166 | (buffer-live-p buffer) |
| 1181 | (get-buffer-process buffer) | ||
| 1182 | (comint-check-proc buffer) | 1167 | (comint-check-proc buffer) |
| 1183 | (with-current-buffer buffer | 1168 | (with-current-buffer buffer |
| 1184 | (and (derived-mode-p 'sql-interactive-mode) | 1169 | (and (derived-mode-p 'sql-interactive-mode) |
| @@ -1287,27 +1272,15 @@ Based on `comint-mode-map'.") | |||
| 1287 | ;; Abbreviations -- if you want more of them, define them in your init | 1272 | ;; Abbreviations -- if you want more of them, define them in your init |
| 1288 | ;; file. Abbrevs have to be enabled in your init file, too. | 1273 | ;; file. Abbrevs have to be enabled in your init file, too. |
| 1289 | 1274 | ||
| 1290 | (defvar sql-mode-abbrev-table nil | 1275 | (define-abbrev-table 'sql-mode-abbrev-table |
| 1276 | '(("ins" "insert" nil nil t) | ||
| 1277 | ("upd" "update" nil nil t) | ||
| 1278 | ("del" "delete" nil nil t) | ||
| 1279 | ("sel" "select" nil nil t) | ||
| 1280 | ("proc" "procedure" nil nil t) | ||
| 1281 | ("func" "function" nil nil t) | ||
| 1282 | ("cr" "create" nil nil t)) | ||
| 1291 | "Abbrev table used in `sql-mode' and `sql-interactive-mode'.") | 1283 | "Abbrev table used in `sql-mode' and `sql-interactive-mode'.") |
| 1292 | (unless sql-mode-abbrev-table | ||
| 1293 | (define-abbrev-table 'sql-mode-abbrev-table nil)) | ||
| 1294 | |||
| 1295 | (mapc | ||
| 1296 | ;; In Emacs 22+, provide SYSTEM-FLAG to define-abbrev. | ||
| 1297 | (lambda (abbrev) | ||
| 1298 | (let ((name (car abbrev)) | ||
| 1299 | (expansion (cdr abbrev))) | ||
| 1300 | (condition-case nil | ||
| 1301 | (define-abbrev sql-mode-abbrev-table name expansion nil 0 t) | ||
| 1302 | (error | ||
| 1303 | (define-abbrev sql-mode-abbrev-table name expansion))))) | ||
| 1304 | '(("ins" . "insert") | ||
| 1305 | ("upd" . "update") | ||
| 1306 | ("del" . "delete") | ||
| 1307 | ("sel" . "select") | ||
| 1308 | ("proc" . "procedure") | ||
| 1309 | ("func" . "function") | ||
| 1310 | ("cr" . "create"))) | ||
| 1311 | 1284 | ||
| 1312 | ;; Syntax Table | 1285 | ;; Syntax Table |
| 1313 | 1286 | ||
| @@ -1339,6 +1312,7 @@ Based on `comint-mode-map'.") | |||
| 1339 | "\\(?:\\w+\\s-+\\)*" ;; optional intervening keywords | 1312 | "\\(?:\\w+\\s-+\\)*" ;; optional intervening keywords |
| 1340 | "\\(?:table\\|view\\|\\(?:package\\|type\\)\\(?:\\s-+body\\)?\\|proc\\(?:edure\\)?" | 1313 | "\\(?:table\\|view\\|\\(?:package\\|type\\)\\(?:\\s-+body\\)?\\|proc\\(?:edure\\)?" |
| 1341 | "\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+" | 1314 | "\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+" |
| 1315 | "\\(?:if\\s-+not\\s-+exists\\s-+\\)?" ;; IF NOT EXISTS | ||
| 1342 | "\\(\\w+\\)") | 1316 | "\\(\\w+\\)") |
| 1343 | 1 'font-lock-function-name-face)) | 1317 | 1 'font-lock-function-name-face)) |
| 1344 | 1318 | ||
| @@ -1529,9 +1503,8 @@ function `regexp-opt'. Therefore, take a look at the source before | |||
| 1529 | you define your own `sql-mode-ansi-font-lock-keywords'. You may want | 1503 | you define your own `sql-mode-ansi-font-lock-keywords'. You may want |
| 1530 | to add functions and PL/SQL keywords.") | 1504 | to add functions and PL/SQL keywords.") |
| 1531 | 1505 | ||
| 1532 | (defun sql-oracle-show-reserved-words () | 1506 | (defun sql--oracle-show-reserved-words () |
| 1533 | ;; This function is for use by the maintainer of SQL.EL only. | 1507 | ;; This function is for use by the maintainer of SQL.EL only. |
| 1534 | (interactive) | ||
| 1535 | (if (or (and (not (derived-mode-p 'sql-mode)) | 1508 | (if (or (and (not (derived-mode-p 'sql-mode)) |
| 1536 | (not (derived-mode-p 'sql-interactive-mode))) | 1509 | (not (derived-mode-p 'sql-interactive-mode))) |
| 1537 | (not sql-buffer) | 1510 | (not sql-buffer) |
| @@ -2610,14 +2583,12 @@ adds a fontification pattern to fontify identifiers ending in | |||
| 2610 | (append keywords old-val)))))) | 2583 | (append keywords old-val)))))) |
| 2611 | 2584 | ||
| 2612 | (defun sql-for-each-login (login-params body) | 2585 | (defun sql-for-each-login (login-params body) |
| 2613 | "Iterates through login parameters and returns a list of results." | 2586 | "Iterate through login parameters and return a list of results." |
| 2614 | |||
| 2615 | (delq nil | 2587 | (delq nil |
| 2616 | (mapcar | 2588 | (mapcar |
| 2617 | (lambda (param) | 2589 | (lambda (param) |
| 2618 | (let ((token (or (and (listp param) (car param)) param)) | 2590 | (let ((token (or (car-safe param) param)) |
| 2619 | (plist (or (and (listp param) (cdr param)) nil))) | 2591 | (plist (cdr-safe param))) |
| 2620 | |||
| 2621 | (funcall body token plist))) | 2592 | (funcall body token plist))) |
| 2622 | login-params))) | 2593 | login-params))) |
| 2623 | 2594 | ||
| @@ -2681,6 +2652,34 @@ matching the regular expression `comint-prompt-regexp', a buffer | |||
| 2681 | local variable." | 2652 | local variable." |
| 2682 | (save-excursion (comint-bol nil) (point)))) | 2653 | (save-excursion (comint-bol nil) (point)))) |
| 2683 | 2654 | ||
| 2655 | ;;; SMIE support | ||
| 2656 | |||
| 2657 | ;; Needs a lot more love than I can provide. --Stef | ||
| 2658 | |||
| 2659 | ;; (require 'smie) | ||
| 2660 | |||
| 2661 | ;; (defconst sql-smie-grammar | ||
| 2662 | ;; (smie-prec2->grammar | ||
| 2663 | ;; (smie-bnf->prec2 | ||
| 2664 | ;; ;; Partly based on http://www.h2database.com/html/grammar.html | ||
| 2665 | ;; '((cmd ("SELECT" select-exp "FROM" select-table-exp) | ||
| 2666 | ;; ) | ||
| 2667 | ;; (select-exp ("*") (exp) (exp "AS" column-alias)) | ||
| 2668 | ;; (column-alias) | ||
| 2669 | ;; (select-table-exp (table-exp "WHERE" exp) (table-exp)) | ||
| 2670 | ;; (table-exp) | ||
| 2671 | ;; (exp ("CASE" exp "WHEN" exp "THEN" exp "ELSE" exp "END") | ||
| 2672 | ;; ("CASE" exp "WHEN" exp "THEN" exp "END")) | ||
| 2673 | ;; ;; Random ad-hoc additions. | ||
| 2674 | ;; (foo (foo "," foo)) | ||
| 2675 | ;; ) | ||
| 2676 | ;; '((assoc ","))))) | ||
| 2677 | |||
| 2678 | ;; (defun sql-smie-rules (kind token) | ||
| 2679 | ;; (pcase (cons kind token) | ||
| 2680 | ;; (`(:list-intro . ,_) t) | ||
| 2681 | ;; (`(:before . "(") (smie-rule-parent)))) | ||
| 2682 | |||
| 2684 | ;;; Motion Functions | 2683 | ;;; Motion Functions |
| 2685 | 2684 | ||
| 2686 | (defun sql-statement-regexp (prod) | 2685 | (defun sql-statement-regexp (prod) |
| @@ -2693,7 +2692,7 @@ local variable." | |||
| 2693 | "\\>"))) | 2692 | "\\>"))) |
| 2694 | 2693 | ||
| 2695 | (defun sql-beginning-of-statement (arg) | 2694 | (defun sql-beginning-of-statement (arg) |
| 2696 | "Moves the cursor to the beginning of the current SQL statement." | 2695 | "Move to the beginning of the current SQL statement." |
| 2697 | (interactive "p") | 2696 | (interactive "p") |
| 2698 | 2697 | ||
| 2699 | (let ((here (point)) | 2698 | (let ((here (point)) |
| @@ -2720,10 +2719,10 @@ local variable." | |||
| 2720 | (beginning-of-line) | 2719 | (beginning-of-line) |
| 2721 | ;; If we didn't move, try again | 2720 | ;; If we didn't move, try again |
| 2722 | (when (= here (point)) | 2721 | (when (= here (point)) |
| 2723 | (sql-beginning-of-statement (* 2 (sql-signum arg)))))) | 2722 | (sql-beginning-of-statement (* 2 (cl-signum arg)))))) |
| 2724 | 2723 | ||
| 2725 | (defun sql-end-of-statement (arg) | 2724 | (defun sql-end-of-statement (arg) |
| 2726 | "Moves the cursor to the end of the current SQL statement." | 2725 | "Move to the end of the current SQL statement." |
| 2727 | (interactive "p") | 2726 | (interactive "p") |
| 2728 | (let ((term (sql-get-product-feature sql-product :terminator)) | 2727 | (let ((term (sql-get-product-feature sql-product :terminator)) |
| 2729 | (re-search (if (> 0 arg) 're-search-backward 're-search-forward)) | 2728 | (re-search (if (> 0 arg) 're-search-backward 're-search-forward)) |
| @@ -2732,7 +2731,7 @@ local variable." | |||
| 2732 | (when (consp term) | 2731 | (when (consp term) |
| 2733 | (setq term (car term))) | 2732 | (setq term (car term))) |
| 2734 | ;; Iterate until we've moved the desired number of stmt ends | 2733 | ;; Iterate until we've moved the desired number of stmt ends |
| 2735 | (while (not (= (sql-signum arg) 0)) | 2734 | (while (not (= (cl-signum arg) 0)) |
| 2736 | ;; if we're looking at the terminator, jump by 2 | 2735 | ;; if we're looking at the terminator, jump by 2 |
| 2737 | (if (or (and (> 0 arg) (looking-back term)) | 2736 | (if (or (and (> 0 arg) (looking-back term)) |
| 2738 | (and (< 0 arg) (looking-at term))) | 2737 | (and (< 0 arg) (looking-at term))) |
| @@ -2743,7 +2742,7 @@ local variable." | |||
| 2743 | (setq arg 0) | 2742 | (setq arg 0) |
| 2744 | ;; count it if we're not in a comment | 2743 | ;; count it if we're not in a comment |
| 2745 | (unless (nth 7 (syntax-ppss)) | 2744 | (unless (nth 7 (syntax-ppss)) |
| 2746 | (setq arg (- arg (sql-signum arg)))))) | 2745 | (setq arg (- arg (cl-signum arg)))))) |
| 2747 | (goto-char (if (match-data) | 2746 | (goto-char (if (match-data) |
| 2748 | (match-end 0) | 2747 | (match-end 0) |
| 2749 | here)))) | 2748 | here)))) |
| @@ -2856,10 +2855,6 @@ appended to the SQLi buffer without disturbing your SQL buffer." | |||
| 2856 | t t doc 0))) | 2855 | t t doc 0))) |
| 2857 | doc) | 2856 | doc) |
| 2858 | 2857 | ||
| 2859 | (defun sql-read-passwd (prompt &optional default) | ||
| 2860 | "Read a password using PROMPT. Optional DEFAULT is password to start with." | ||
| 2861 | (read-passwd prompt nil default)) | ||
| 2862 | |||
| 2863 | (defun sql-get-login-ext (symbol prompt history-var plist) | 2858 | (defun sql-get-login-ext (symbol prompt history-var plist) |
| 2864 | "Prompt user with extended login parameters. | 2859 | "Prompt user with extended login parameters. |
| 2865 | 2860 | ||
| @@ -2911,8 +2906,7 @@ value. (The property value is used as the PREDICATE argument to | |||
| 2911 | (read-number prompt (or default last-value 0))) | 2906 | (read-number prompt (or default last-value 0))) |
| 2912 | 2907 | ||
| 2913 | (t | 2908 | (t |
| 2914 | (let ((r (read-from-minibuffer prompt-def last-value nil nil history-var nil))) | 2909 | (read-string prompt-def last-value history-var default)))))) |
| 2915 | (if (string= "" r) (or default "") r))))))) | ||
| 2916 | 2910 | ||
| 2917 | (defun sql-get-login (&rest what) | 2911 | (defun sql-get-login (&rest what) |
| 2918 | "Get username, password and database from the user. | 2912 | "Get username, password and database from the user. |
| @@ -2942,32 +2936,29 @@ supported: | |||
| 2942 | 2936 | ||
| 2943 | In order to ask the user for username, password and database, call the | 2937 | In order to ask the user for username, password and database, call the |
| 2944 | function like this: (sql-get-login 'user 'password 'database)." | 2938 | function like this: (sql-get-login 'user 'password 'database)." |
| 2945 | (interactive) | 2939 | (dolist (w what) |
| 2946 | (mapcar | 2940 | (let ((plist (cdr-safe w))) |
| 2947 | (lambda (w) | 2941 | (pcase (or (car-safe w) w) |
| 2948 | (let ((token (or (and (consp w) (car w)) w)) | 2942 | (`user |
| 2949 | (plist (or (and (consp w) (cdr w)) nil))) | 2943 | (sql-get-login-ext 'sql-user "User: " 'sql-user-history plist)) |
| 2950 | |||
| 2951 | (cond | ||
| 2952 | ((eq token 'user) ; user | ||
| 2953 | (sql-get-login-ext 'sql-user "User: " 'sql-user-history plist)) | ||
| 2954 | 2944 | ||
| 2955 | ((eq token 'password) ; password | 2945 | (`password |
| 2956 | (setq-default sql-password | 2946 | (setq-default sql-password |
| 2957 | (sql-read-passwd "Password: " sql-password))) | 2947 | (read-passwd "Password: " nil sql-password))) |
| 2958 | 2948 | ||
| 2959 | ((eq token 'server) ; server | 2949 | (`server |
| 2960 | (sql-get-login-ext 'sql-server "Server: " 'sql-server-history plist)) | 2950 | (sql-get-login-ext 'sql-server "Server: " 'sql-server-history plist)) |
| 2961 | 2951 | ||
| 2962 | ((eq token 'database) ; database | 2952 | (`database |
| 2963 | (sql-get-login-ext 'sql-database "Database: " 'sql-database-history plist)) | 2953 | (sql-get-login-ext 'sql-database "Database: " |
| 2954 | 'sql-database-history plist)) | ||
| 2964 | 2955 | ||
| 2965 | ((eq token 'port) ; port | 2956 | (`port |
| 2966 | (sql-get-login-ext 'sql-port "Port: " nil (append '(:number t) plist)))))) | 2957 | (sql-get-login-ext 'sql-port "Port: " |
| 2967 | what)) | 2958 | nil (append '(:number t) plist))))))) |
| 2968 | 2959 | ||
| 2969 | (defun sql-find-sqli-buffer (&optional product connection) | 2960 | (defun sql-find-sqli-buffer (&optional product connection) |
| 2970 | "Returns the name of the current default SQLi buffer or nil. | 2961 | "Return the name of the current default SQLi buffer or nil. |
| 2971 | In order to qualify, the SQLi buffer must be alive, be in | 2962 | In order to qualify, the SQLi buffer must be alive, be in |
| 2972 | `sql-interactive-mode' and have a process." | 2963 | `sql-interactive-mode' and have a process." |
| 2973 | (let ((buf sql-buffer) | 2964 | (let ((buf sql-buffer) |
| @@ -3071,29 +3062,29 @@ server/database name." | |||
| 3071 | (sql-for-each-login | 3062 | (sql-for-each-login |
| 3072 | (sql-get-product-feature sql-product :sqli-login) | 3063 | (sql-get-product-feature sql-product :sqli-login) |
| 3073 | (lambda (token plist) | 3064 | (lambda (token plist) |
| 3074 | (cond | 3065 | (pcase token |
| 3075 | ((eq token 'user) | 3066 | (`user |
| 3076 | (unless (string= "" sql-user) | 3067 | (unless (string= "" sql-user) |
| 3077 | (list "/" sql-user))) | 3068 | (list "/" sql-user))) |
| 3078 | ((eq token 'port) | 3069 | (`port |
| 3079 | (unless (or (not (numberp sql-port)) | 3070 | (unless (or (not (numberp sql-port)) |
| 3080 | (= 0 sql-port)) | 3071 | (= 0 sql-port)) |
| 3081 | (list ":" (number-to-string sql-port)))) | 3072 | (list ":" (number-to-string sql-port)))) |
| 3082 | ((eq token 'server) | 3073 | (`server |
| 3083 | (unless (string= "" sql-server) | 3074 | (unless (string= "" sql-server) |
| 3084 | (list "." | 3075 | (list "." |
| 3085 | (if (plist-member plist :file) | 3076 | (if (plist-member plist :file) |
| 3086 | (file-name-nondirectory sql-server) | 3077 | (file-name-nondirectory sql-server) |
| 3087 | sql-server)))) | 3078 | sql-server)))) |
| 3088 | ((eq token 'database) | 3079 | (`database |
| 3089 | (unless (string= "" sql-database) | 3080 | (unless (string= "" sql-database) |
| 3090 | (list "@" | 3081 | (list "@" |
| 3091 | (if (plist-member plist :file) | 3082 | (if (plist-member plist :file) |
| 3092 | (file-name-nondirectory sql-database) | 3083 | (file-name-nondirectory sql-database) |
| 3093 | sql-database)))) | 3084 | sql-database)))) |
| 3094 | 3085 | ||
| 3095 | ((eq token 'password) nil) | 3086 | ;; (`password nil) |
| 3096 | (t nil)))))))) | 3087 | (_ nil)))))))) |
| 3097 | 3088 | ||
| 3098 | ;; If there's a connection, use it and the name thus far | 3089 | ;; If there's a connection, use it and the name thus far |
| 3099 | (if sql-connection | 3090 | (if sql-connection |
| @@ -3526,7 +3517,7 @@ for each match." | |||
| 3526 | (nreverse results))) | 3517 | (nreverse results))) |
| 3527 | 3518 | ||
| 3528 | (defun sql-execute (sqlbuf outbuf command enhanced arg) | 3519 | (defun sql-execute (sqlbuf outbuf command enhanced arg) |
| 3529 | "Executes a command in a SQL interactive buffer and captures the output. | 3520 | "Execute a command in a SQL interactive buffer and capture the output. |
| 3530 | 3521 | ||
| 3531 | The commands are run in SQLBUF and the output saved in OUTBUF. | 3522 | The commands are run in SQLBUF and the output saved in OUTBUF. |
| 3532 | COMMAND must be a string, a function or a list of such elements. | 3523 | COMMAND must be a string, a function or a list of such elements. |
| @@ -3534,7 +3525,7 @@ Functions are called with SQLBUF, OUTBUF and ARG as parameters; | |||
| 3534 | strings are formatted with ARG and executed. | 3525 | strings are formatted with ARG and executed. |
| 3535 | 3526 | ||
| 3536 | If the results are empty the OUTBUF is deleted, otherwise the | 3527 | If the results are empty the OUTBUF is deleted, otherwise the |
| 3537 | buffer is popped into a view window. " | 3528 | buffer is popped into a view window." |
| 3538 | (mapc | 3529 | (mapc |
| 3539 | (lambda (c) | 3530 | (lambda (c) |
| 3540 | (cond | 3531 | (cond |
| @@ -3599,43 +3590,35 @@ The list is maintained in SQL interactive buffers.") | |||
| 3599 | 3590 | ||
| 3600 | (defvar sql-completion-sqlbuf nil) | 3591 | (defvar sql-completion-sqlbuf nil) |
| 3601 | 3592 | ||
| 3602 | (defun sql-try-completion (string collection &optional predicate) | 3593 | (defun sql--completion-table (string pred action) |
| 3603 | (when sql-completion-sqlbuf | 3594 | (when sql-completion-sqlbuf |
| 3604 | (with-current-buffer sql-completion-sqlbuf | 3595 | (with-current-buffer sql-completion-sqlbuf |
| 3605 | (let ((schema (and (string-match "\\`\\(\\sw\\(:?\\sw\\|\\s_\\)*\\)[.]" string) | 3596 | (let ((schema (and (string-match "\\`\\(\\sw\\(:?\\sw\\|\\s_\\)*\\)[.]" string) |
| 3606 | (downcase (match-string 1 string))))) | 3597 | (downcase (match-string 1 string))))) |
| 3607 | 3598 | ||
| 3608 | ;; If we haven't loaded any object name yet, load local schema | 3599 | ;; If we haven't loaded any object name yet, load local schema |
| 3609 | (unless sql-completion-object | 3600 | (unless sql-completion-object |
| 3610 | (sql-build-completions nil)) | 3601 | (sql-build-completions nil)) |
| 3611 | 3602 | ||
| 3612 | ;; If they want another schema, load it if we haven't yet | 3603 | ;; If they want another schema, load it if we haven't yet |
| 3613 | (when schema | 3604 | (when schema |
| 3614 | (let ((schema-dot (concat schema ".")) | 3605 | (let ((schema-dot (concat schema ".")) |
| 3615 | (schema-len (1+ (length schema))) | 3606 | (schema-len (1+ (length schema))) |
| 3616 | (names sql-completion-object) | 3607 | (names sql-completion-object) |
| 3617 | has-schema) | 3608 | has-schema) |
| 3618 | 3609 | ||
| 3619 | (while (and (not has-schema) names) | 3610 | (while (and (not has-schema) names) |
| 3620 | (setq has-schema (and | 3611 | (setq has-schema (and |
| 3621 | (>= (length (car names)) schema-len) | 3612 | (>= (length (car names)) schema-len) |
| 3622 | (string= schema-dot | 3613 | (string= schema-dot |
| 3623 | (downcase (substring (car names) | 3614 | (downcase (substring (car names) |
| 3624 | 0 schema-len)))) | 3615 | 0 schema-len)))) |
| 3625 | names (cdr names))) | 3616 | names (cdr names))) |
| 3626 | (unless has-schema | 3617 | (unless has-schema |
| 3627 | (sql-build-completions schema))))) | 3618 | (sql-build-completions schema))))) |
| 3628 | 3619 | ||
| 3629 | ;; Try to find the completion | 3620 | ;; Try to find the completion |
| 3630 | (cond | 3621 | (complete-with-action action sql-completion-object string pred)))) |
| 3631 | ((not predicate) | ||
| 3632 | (try-completion string sql-completion-object)) | ||
| 3633 | ((eq predicate t) | ||
| 3634 | (all-completions string sql-completion-object)) | ||
| 3635 | ((eq predicate 'lambda) | ||
| 3636 | (test-completion string sql-completion-object)) | ||
| 3637 | ((eq (car predicate) 'boundaries) | ||
| 3638 | (completion-boundaries string sql-completion-object nil (cdr predicate))))))) | ||
| 3639 | 3622 | ||
| 3640 | (defun sql-read-table-name (prompt) | 3623 | (defun sql-read-table-name (prompt) |
| 3641 | "Read the name of a database table." | 3624 | "Read the name of a database table." |
| @@ -3651,7 +3634,7 @@ The list is maintained in SQL interactive buffers.") | |||
| 3651 | (completion-ignore-case t)) | 3634 | (completion-ignore-case t)) |
| 3652 | 3635 | ||
| 3653 | (if (sql-get-product-feature product :completion-object) | 3636 | (if (sql-get-product-feature product :completion-object) |
| 3654 | (completing-read prompt (function sql-try-completion) | 3637 | (completing-read prompt #'sql--completion-table |
| 3655 | nil nil tname) | 3638 | nil nil tname) |
| 3656 | (read-from-minibuffer prompt tname)))) | 3639 | (read-from-minibuffer prompt tname)))) |
| 3657 | 3640 | ||
| @@ -3719,6 +3702,7 @@ must tell Emacs. Here's how to do that in your init file: | |||
| 3719 | (if sql-mode-menu | 3702 | (if sql-mode-menu |
| 3720 | (easy-menu-add sql-mode-menu)); XEmacs | 3703 | (easy-menu-add sql-mode-menu)); XEmacs |
| 3721 | 3704 | ||
| 3705 | ;; (smie-setup sql-smie-grammar #'sql-smie-rules) | ||
| 3722 | (set (make-local-variable 'comment-start) "--") | 3706 | (set (make-local-variable 'comment-start) "--") |
| 3723 | ;; Make each buffer in sql-mode remember the "current" SQLi buffer. | 3707 | ;; Make each buffer in sql-mode remember the "current" SQLi buffer. |
| 3724 | (make-local-variable 'sql-buffer) | 3708 | (make-local-variable 'sql-buffer) |
| @@ -3732,7 +3716,7 @@ must tell Emacs. Here's how to do that in your init file: | |||
| 3732 | (set (make-local-variable 'paragraph-separate) "[\f]*$") | 3716 | (set (make-local-variable 'paragraph-separate) "[\f]*$") |
| 3733 | (set (make-local-variable 'paragraph-start) "[\n\f]") | 3717 | (set (make-local-variable 'paragraph-start) "[\n\f]") |
| 3734 | ;; Abbrevs | 3718 | ;; Abbrevs |
| 3735 | (setq abbrev-all-caps 1) | 3719 | (setq-local abbrev-all-caps 1) |
| 3736 | ;; Contains the name of database objects | 3720 | ;; Contains the name of database objects |
| 3737 | (set (make-local-variable 'sql-contains-names) t) | 3721 | (set (make-local-variable 'sql-contains-names) t) |
| 3738 | ;; Catch changes to sql-product and highlight accordingly | 3722 | ;; Catch changes to sql-product and highlight accordingly |
| @@ -3958,13 +3942,13 @@ is specified in the connection settings." | |||
| 3958 | (setq set-params | 3942 | (setq set-params |
| 3959 | (mapcar | 3943 | (mapcar |
| 3960 | (lambda (v) | 3944 | (lambda (v) |
| 3961 | (cond | 3945 | (pcase (car v) |
| 3962 | ((eq (car v) 'sql-user) 'user) | 3946 | (`sql-user 'user) |
| 3963 | ((eq (car v) 'sql-password) 'password) | 3947 | (`sql-password 'password) |
| 3964 | ((eq (car v) 'sql-server) 'server) | 3948 | (`sql-server 'server) |
| 3965 | ((eq (car v) 'sql-database) 'database) | 3949 | (`sql-database 'database) |
| 3966 | ((eq (car v) 'sql-port) 'port) | 3950 | (`sql-port 'port) |
| 3967 | (t (car v)))) | 3951 | (s s))) |
| 3968 | (cdr connect-set))) | 3952 | (cdr connect-set))) |
| 3969 | 3953 | ||
| 3970 | ;; the remaining params (w/o the connection params) | 3954 | ;; the remaining params (w/o the connection params) |
| @@ -3983,7 +3967,7 @@ is specified in the connection settings." | |||
| 3983 | 3967 | ||
| 3984 | ;; Start the SQLi session with revised list of login parameters | 3968 | ;; Start the SQLi session with revised list of login parameters |
| 3985 | (eval `(let ((,param-var ',rem-params)) | 3969 | (eval `(let ((,param-var ',rem-params)) |
| 3986 | (sql-product-interactive sql-product new-name)))) | 3970 | (sql-product-interactive ',sql-product ',new-name)))) |
| 3987 | 3971 | ||
| 3988 | (message "SQL Connection <%s> does not exist" connection) | 3972 | (message "SQL Connection <%s> does not exist" connection) |
| 3989 | nil))) | 3973 | nil))) |
| @@ -4027,16 +4011,16 @@ optionally is saved to the user's init file." | |||
| 4027 | (if (assoc name alist) | 4011 | (if (assoc name alist) |
| 4028 | (message "Connection <%s> already exists" name) | 4012 | (message "Connection <%s> already exists" name) |
| 4029 | (setq connect | 4013 | (setq connect |
| 4030 | (append (list name) | 4014 | (cons name |
| 4031 | (sql-for-each-login | 4015 | (sql-for-each-login |
| 4032 | `(product ,@login) | 4016 | `(product ,@login) |
| 4033 | (lambda (token _plist) | 4017 | (lambda (token _plist) |
| 4034 | (cond | 4018 | (pcase token |
| 4035 | ((eq token 'product) `(sql-product ',product)) | 4019 | (`product `(sql-product ',product)) |
| 4036 | ((eq token 'user) `(sql-user ,user)) | 4020 | (`user `(sql-user ,user)) |
| 4037 | ((eq token 'database) `(sql-database ,database)) | 4021 | (`database `(sql-database ,database)) |
| 4038 | ((eq token 'server) `(sql-server ,server)) | 4022 | (`server `(sql-server ,server)) |
| 4039 | ((eq token 'port) `(sql-port ,port))))))) | 4023 | (`port `(sql-port ,port))))))) |
| 4040 | 4024 | ||
| 4041 | (setq alist (append alist (list connect))) | 4025 | (setq alist (append alist (list connect))) |
| 4042 | 4026 | ||
| @@ -4046,7 +4030,7 @@ optionally is saved to the user's init file." | |||
| 4046 | (customize-set-variable 'sql-connection-alist alist))))))) | 4030 | (customize-set-variable 'sql-connection-alist alist))))))) |
| 4047 | 4031 | ||
| 4048 | (defun sql-connection-menu-filter (tail) | 4032 | (defun sql-connection-menu-filter (tail) |
| 4049 | "Generates menu entries for using each connection." | 4033 | "Generate menu entries for using each connection." |
| 4050 | (append | 4034 | (append |
| 4051 | (mapcar | 4035 | (mapcar |
| 4052 | (lambda (conn) | 4036 | (lambda (conn) |
| @@ -4113,7 +4097,8 @@ the call to \\[sql-product-interactive] with | |||
| 4113 | new-sqli-buffer) | 4097 | new-sqli-buffer) |
| 4114 | 4098 | ||
| 4115 | ;; Get credentials. | 4099 | ;; Get credentials. |
| 4116 | (apply 'sql-get-login (sql-get-product-feature product :sqli-login)) | 4100 | (apply #'sql-get-login |
| 4101 | (sql-get-product-feature product :sqli-login)) | ||
| 4117 | 4102 | ||
| 4118 | ;; Connect to database. | 4103 | ;; Connect to database. |
| 4119 | (message "Login...") | 4104 | (message "Login...") |
| @@ -4224,7 +4209,7 @@ The default comes from `process-coding-system-alist' and | |||
| 4224 | (sql-comint product parameter))) | 4209 | (sql-comint product parameter))) |
| 4225 | 4210 | ||
| 4226 | (defun sql-oracle-save-settings (sqlbuf) | 4211 | (defun sql-oracle-save-settings (sqlbuf) |
| 4227 | "Saves most SQL*Plus settings so they may be reset by \\[sql-redirect]." | 4212 | "Save most SQL*Plus settings so they may be reset by \\[sql-redirect]." |
| 4228 | ;; Note: does not capture the following settings: | 4213 | ;; Note: does not capture the following settings: |
| 4229 | ;; | 4214 | ;; |
| 4230 | ;; APPINFO | 4215 | ;; APPINFO |
| @@ -4296,7 +4281,7 @@ The default comes from `process-coding-system-alist' and | |||
| 4296 | ;; Restore the changed settings | 4281 | ;; Restore the changed settings |
| 4297 | (sql-redirect sqlbuf saved-settings)) | 4282 | (sql-redirect sqlbuf saved-settings)) |
| 4298 | 4283 | ||
| 4299 | (defun sql-oracle-list-all (sqlbuf outbuf enhanced table-name) | 4284 | (defun sql-oracle-list-all (sqlbuf outbuf enhanced _table-name) |
| 4300 | ;; Query from USER_OBJECTS or ALL_OBJECTS | 4285 | ;; Query from USER_OBJECTS or ALL_OBJECTS |
| 4301 | (let ((settings (sql-oracle-save-settings sqlbuf)) | 4286 | (let ((settings (sql-oracle-save-settings sqlbuf)) |
| 4302 | (simple-sql | 4287 | (simple-sql |
| @@ -4335,7 +4320,7 @@ The default comes from `process-coding-system-alist' and | |||
| 4335 | 4320 | ||
| 4336 | (sql-oracle-restore-settings sqlbuf settings))) | 4321 | (sql-oracle-restore-settings sqlbuf settings))) |
| 4337 | 4322 | ||
| 4338 | (defun sql-oracle-list-table (sqlbuf outbuf enhanced table-name) | 4323 | (defun sql-oracle-list-table (sqlbuf outbuf _enhanced table-name) |
| 4339 | "Implements :list-table under Oracle." | 4324 | "Implements :list-table under Oracle." |
| 4340 | (let ((settings (sql-oracle-save-settings sqlbuf))) | 4325 | (let ((settings (sql-oracle-save-settings sqlbuf))) |
| 4341 | 4326 | ||
| @@ -4412,15 +4397,17 @@ The default comes from `process-coding-system-alist' and | |||
| 4412 | "Create comint buffer and connect to Sybase." | 4397 | "Create comint buffer and connect to Sybase." |
| 4413 | ;; Put all parameters to the program (if defined) in a list and call | 4398 | ;; Put all parameters to the program (if defined) in a list and call |
| 4414 | ;; make-comint. | 4399 | ;; make-comint. |
| 4415 | (let ((params options)) | 4400 | (let ((params |
| 4416 | (if (not (string= "" sql-server)) | 4401 | (append |
| 4417 | (setq params (append (list "-S" sql-server) params))) | 4402 | (if (not (string= "" sql-user)) |
| 4418 | (if (not (string= "" sql-database)) | 4403 | (list "-U" sql-user)) |
| 4419 | (setq params (append (list "-D" sql-database) params))) | 4404 | (if (not (string= "" sql-password)) |
| 4420 | (if (not (string= "" sql-password)) | 4405 | (list "-P" sql-password)) |
| 4421 | (setq params (append (list "-P" sql-password) params))) | 4406 | (if (not (string= "" sql-database)) |
| 4422 | (if (not (string= "" sql-user)) | 4407 | (list "-D" sql-database)) |
| 4423 | (setq params (append (list "-U" sql-user) params))) | 4408 | (if (not (string= "" sql-server)) |
| 4409 | (list "-S" sql-server)) | ||
| 4410 | options))) | ||
| 4424 | (sql-comint product params))) | 4411 | (sql-comint product params))) |
| 4425 | 4412 | ||
| 4426 | 4413 | ||
| @@ -4505,14 +4492,13 @@ The default comes from `process-coding-system-alist' and | |||
| 4505 | "Create comint buffer and connect to SQLite." | 4492 | "Create comint buffer and connect to SQLite." |
| 4506 | ;; Put all parameters to the program (if defined) in a list and call | 4493 | ;; Put all parameters to the program (if defined) in a list and call |
| 4507 | ;; make-comint. | 4494 | ;; make-comint. |
| 4508 | (let ((params)) | 4495 | (let ((params |
| 4509 | (if (not (string= "" sql-database)) | 4496 | (append options |
| 4510 | (setq params (append (list (expand-file-name sql-database)) | 4497 | (if (not (string= "" sql-database)) |
| 4511 | params))) | 4498 | `(,(expand-file-name sql-database)))))) |
| 4512 | (setq params (append options params)) | ||
| 4513 | (sql-comint product params))) | 4499 | (sql-comint product params))) |
| 4514 | 4500 | ||
| 4515 | (defun sql-sqlite-completion-object (sqlbuf schema) | 4501 | (defun sql-sqlite-completion-object (sqlbuf _schema) |
| 4516 | (sql-redirect-value sqlbuf ".tables" "\\sw\\(?:\\sw\\|\\s_\\)*" 0)) | 4502 | (sql-redirect-value sqlbuf ".tables" "\\sw\\(?:\\sw\\|\\s_\\)*" 0)) |
| 4517 | 4503 | ||
| 4518 | 4504 | ||
| @@ -4555,18 +4541,19 @@ The default comes from `process-coding-system-alist' and | |||
| 4555 | "Create comint buffer and connect to MySQL." | 4541 | "Create comint buffer and connect to MySQL." |
| 4556 | ;; Put all parameters to the program (if defined) in a list and call | 4542 | ;; Put all parameters to the program (if defined) in a list and call |
| 4557 | ;; make-comint. | 4543 | ;; make-comint. |
| 4558 | (let ((params)) | 4544 | (let ((params |
| 4559 | (if (not (string= "" sql-database)) | 4545 | (append |
| 4560 | (setq params (append (list sql-database) params))) | 4546 | options |
| 4561 | (if (not (string= "" sql-server)) | 4547 | (if (not (string= "" sql-user)) |
| 4562 | (setq params (append (list (concat "--host=" sql-server)) params))) | 4548 | (list (concat "--user=" sql-user))) |
| 4563 | (if (not (= 0 sql-port)) | 4549 | (if (not (string= "" sql-password)) |
| 4564 | (setq params (append (list (concat "--port=" (number-to-string sql-port))) params))) | 4550 | (list (concat "--password=" sql-password))) |
| 4565 | (if (not (string= "" sql-password)) | 4551 | (if (not (= 0 sql-port)) |
| 4566 | (setq params (append (list (concat "--password=" sql-password)) params))) | 4552 | (list (concat "--port=" (number-to-string sql-port)))) |
| 4567 | (if (not (string= "" sql-user)) | 4553 | (if (not (string= "" sql-server)) |
| 4568 | (setq params (append (list (concat "--user=" sql-user)) params))) | 4554 | (list (concat "--host=" sql-server))) |
| 4569 | (setq params (append options params)) | 4555 | (if (not (string= "" sql-database)) |
| 4556 | (list sql-database))))) | ||
| 4570 | (sql-comint product params))) | 4557 | (sql-comint product params))) |
| 4571 | 4558 | ||
| 4572 | 4559 | ||
| @@ -4606,13 +4593,15 @@ The default comes from `process-coding-system-alist' and | |||
| 4606 | "Create comint buffer and connect to Solid." | 4593 | "Create comint buffer and connect to Solid." |
| 4607 | ;; Put all parameters to the program (if defined) in a list and call | 4594 | ;; Put all parameters to the program (if defined) in a list and call |
| 4608 | ;; make-comint. | 4595 | ;; make-comint. |
| 4609 | (let ((params options)) | 4596 | (let ((params |
| 4610 | ;; It only makes sense if both username and password are there. | 4597 | (append |
| 4611 | (if (not (or (string= "" sql-user) | 4598 | (if (not (string= "" sql-server)) |
| 4612 | (string= "" sql-password))) | 4599 | (list sql-server)) |
| 4613 | (setq params (append (list sql-user sql-password) params))) | 4600 | ;; It only makes sense if both username and password are there. |
| 4614 | (if (not (string= "" sql-server)) | 4601 | (if (not (or (string= "" sql-user) |
| 4615 | (setq params (append (list sql-server) params))) | 4602 | (string= "" sql-password))) |
| 4603 | (list sql-user sql-password)) | ||
| 4604 | options))) | ||
| 4616 | (sql-comint product params))) | 4605 | (sql-comint product params))) |
| 4617 | 4606 | ||
| 4618 | 4607 | ||
| @@ -4694,22 +4683,25 @@ The default comes from `process-coding-system-alist' and | |||
| 4694 | "Create comint buffer and connect to Microsoft SQL Server." | 4683 | "Create comint buffer and connect to Microsoft SQL Server." |
| 4695 | ;; Put all parameters to the program (if defined) in a list and call | 4684 | ;; Put all parameters to the program (if defined) in a list and call |
| 4696 | ;; make-comint. | 4685 | ;; make-comint. |
| 4697 | (let ((params options)) | 4686 | (let ((params |
| 4698 | (if (not (string= "" sql-server)) | 4687 | (append |
| 4699 | (setq params (append (list "-S" sql-server) params))) | 4688 | (if (not (string= "" sql-user)) |
| 4700 | (if (not (string= "" sql-database)) | 4689 | (list "-U" sql-user)) |
| 4701 | (setq params (append (list "-d" sql-database) params))) | 4690 | (if (not (string= "" sql-database)) |
| 4702 | (if (not (string= "" sql-user)) | 4691 | (list "-d" sql-database)) |
| 4703 | (setq params (append (list "-U" sql-user) params))) | 4692 | (if (not (string= "" sql-server)) |
| 4704 | (if (not (string= "" sql-password)) | 4693 | (list "-S" sql-server)) |
| 4705 | (setq params (append (list "-P" sql-password) params)) | 4694 | options))) |
| 4706 | (if (string= "" sql-user) | 4695 | (setq params |
| 4707 | ;; if neither user nor password is provided, use system | 4696 | (if (not (string= "" sql-password)) |
| 4708 | ;; credentials. | 4697 | `("-P" ,sql-password ,@params) |
| 4709 | (setq params (append (list "-E") params)) | 4698 | (if (string= "" sql-user) |
| 4710 | ;; If -P is passed to ISQL as the last argument without a | 4699 | ;; If neither user nor password is provided, use system |
| 4711 | ;; password, it's considered null. | 4700 | ;; credentials. |
| 4712 | (setq params (append params (list "-P"))))) | 4701 | `("-E" ,@params) |
| 4702 | ;; If -P is passed to ISQL as the last argument without a | ||
| 4703 | ;; password, it's considered null. | ||
| 4704 | `(,@params "-P")))) | ||
| 4713 | (sql-comint product params))) | 4705 | (sql-comint product params))) |
| 4714 | 4706 | ||
| 4715 | 4707 | ||
| @@ -4753,48 +4745,58 @@ Try to set `comint-output-filter-functions' like this: | |||
| 4753 | 4745 | ||
| 4754 | (defun sql-comint-postgres (product options) | 4746 | (defun sql-comint-postgres (product options) |
| 4755 | "Create comint buffer and connect to Postgres." | 4747 | "Create comint buffer and connect to Postgres." |
| 4756 | ;; username and password are ignored. Mark Stosberg suggest to add | 4748 | ;; username and password are ignored. Mark Stosberg suggests to add |
| 4757 | ;; the database at the end. Jason Beegan suggest using --pset and | 4749 | ;; the database at the end. Jason Beegan suggests using --pset and |
| 4758 | ;; pager=off instead of \\o|cat. The later was the solution by | 4750 | ;; pager=off instead of \\o|cat. The later was the solution by |
| 4759 | ;; Gregor Zych. Jason's suggestion is the default value for | 4751 | ;; Gregor Zych. Jason's suggestion is the default value for |
| 4760 | ;; sql-postgres-options. | 4752 | ;; sql-postgres-options. |
| 4761 | (let ((params options)) | 4753 | (let ((params |
| 4762 | (if (not (string= "" sql-database)) | 4754 | (append |
| 4763 | (setq params (append params (list sql-database)))) | 4755 | (if (not (= 0 sql-port)) |
| 4764 | (if (not (string= "" sql-server)) | 4756 | (list "-p" (number-to-string sql-port))) |
| 4765 | (setq params (append (list "-h" sql-server) params))) | 4757 | (if (not (string= "" sql-user)) |
| 4766 | (if (not (string= "" sql-user)) | 4758 | (list "-U" sql-user)) |
| 4767 | (setq params (append (list "-U" sql-user) params))) | 4759 | (if (not (string= "" sql-server)) |
| 4768 | (if (not (= 0 sql-port)) | 4760 | (list "-h" sql-server)) |
| 4769 | (setq params (append (list "-p" (number-to-string sql-port)) params))) | 4761 | options |
| 4762 | (if (not (string= "" sql-database)) | ||
| 4763 | (list sql-database))))) | ||
| 4770 | (sql-comint product params))) | 4764 | (sql-comint product params))) |
| 4771 | 4765 | ||
| 4772 | (defun sql-postgres-completion-object (sqlbuf schema) | 4766 | (defun sql-postgres-completion-object (sqlbuf schema) |
| 4773 | (let (cl re fs a r) | 4767 | (sql-redirect sqlbuf "\\t on") |
| 4774 | (sql-redirect sqlbuf "\\t on") | 4768 | (let ((aligned |
| 4775 | (setq a (car (sql-redirect-value sqlbuf "\\a" "Output format is \\(.*\\)[.]$" 1))) | 4769 | (string= "aligned" |
| 4776 | (when (string= a "aligned") | 4770 | (car (sql-redirect-value |
| 4777 | (sql-redirect sqlbuf "\\a")) | 4771 | sqlbuf "\\a" |
| 4778 | (setq fs (or (car (sql-redirect-value sqlbuf "\\f" "Field separator is \"\\(.\\)[.]$" 1)) "|")) | 4772 | "Output format is \\(.*\\)[.]$" 1))))) |
| 4779 | 4773 | (when aligned | |
| 4780 | (setq re (concat "^\\([^" fs "]*\\)" fs "\\([^" fs "]*\\)" fs "[^" fs "]*" fs "[^" fs "]*$")) | ||
| 4781 | (setq cl (if (not schema) | ||
| 4782 | (sql-redirect-value sqlbuf "\\d" re '(1 2)) | ||
| 4783 | (append (sql-redirect-value sqlbuf (format "\\dt %s.*" schema) re '(1 2)) | ||
| 4784 | (sql-redirect-value sqlbuf (format "\\dv %s.*" schema) re '(1 2)) | ||
| 4785 | (sql-redirect-value sqlbuf (format "\\ds %s.*" schema) re '(1 2))))) | ||
| 4786 | |||
| 4787 | ;; Restore tuples and alignment to what they were | ||
| 4788 | (sql-redirect sqlbuf "\\t off") | ||
| 4789 | (when (not (string= a "aligned")) | ||
| 4790 | (sql-redirect sqlbuf "\\a")) | 4774 | (sql-redirect sqlbuf "\\a")) |
| 4791 | 4775 | (let* ((fs (or (car (sql-redirect-value | |
| 4792 | ;; Return the list of table names (public schema name can be omitted) | 4776 | sqlbuf "\\f" "Field separator is \"\\(.\\)[.]$" 1)) |
| 4793 | (mapcar (lambda (tbl) | 4777 | "|")) |
| 4794 | (if (string= (car tbl) "public") | 4778 | (re (concat "^\\([^" fs "]*\\)" fs "\\([^" fs "]*\\)" |
| 4795 | (cadr tbl) | 4779 | fs "[^" fs "]*" fs "[^" fs "]*$")) |
| 4796 | (format "%s.%s" (car tbl) (cadr tbl)))) | 4780 | (cl (if (not schema) |
| 4797 | cl))) | 4781 | (sql-redirect-value sqlbuf "\\d" re '(1 2)) |
| 4782 | (append (sql-redirect-value | ||
| 4783 | sqlbuf (format "\\dt %s.*" schema) re '(1 2)) | ||
| 4784 | (sql-redirect-value | ||
| 4785 | sqlbuf (format "\\dv %s.*" schema) re '(1 2)) | ||
| 4786 | (sql-redirect-value | ||
| 4787 | sqlbuf (format "\\ds %s.*" schema) re '(1 2)))))) | ||
| 4788 | |||
| 4789 | ;; Restore tuples and alignment to what they were. | ||
| 4790 | (sql-redirect sqlbuf "\\t off") | ||
| 4791 | (when (not aligned) | ||
| 4792 | (sql-redirect sqlbuf "\\a")) | ||
| 4793 | |||
| 4794 | ;; Return the list of table names (public schema name can be omitted) | ||
| 4795 | (mapcar (lambda (tbl) | ||
| 4796 | (if (string= (car tbl) "public") | ||
| 4797 | (cadr tbl) | ||
| 4798 | (format "%s.%s" (car tbl) (cadr tbl)))) | ||
| 4799 | cl)))) | ||
| 4798 | 4800 | ||
| 4799 | 4801 | ||
| 4800 | 4802 | ||
| @@ -4833,13 +4835,15 @@ The default comes from `process-coding-system-alist' and | |||
| 4833 | "Create comint buffer and connect to Interbase." | 4835 | "Create comint buffer and connect to Interbase." |
| 4834 | ;; Put all parameters to the program (if defined) in a list and call | 4836 | ;; Put all parameters to the program (if defined) in a list and call |
| 4835 | ;; make-comint. | 4837 | ;; make-comint. |
| 4836 | (let ((params options)) | 4838 | (let ((params |
| 4837 | (if (not (string= "" sql-user)) | 4839 | (append |
| 4838 | (setq params (append (list "-u" sql-user) params))) | 4840 | (if (not (string= "" sql-database)) |
| 4839 | (if (not (string= "" sql-password)) | 4841 | (list sql-database)) ; Add to the front! |
| 4840 | (setq params (append (list "-p" sql-password) params))) | 4842 | (if (not (string= "" sql-password)) |
| 4841 | (if (not (string= "" sql-database)) | 4843 | (list "-p" sql-password)) |
| 4842 | (setq params (cons sql-database params))) ; add to the front! | 4844 | (if (not (string= "" sql-user)) |
| 4845 | (list "-u" sql-user)) | ||
| 4846 | options))) | ||
| 4843 | (sql-comint product params))) | 4847 | (sql-comint product params))) |
| 4844 | 4848 | ||
| 4845 | 4849 | ||
| @@ -4921,19 +4925,18 @@ buffer. | |||
| 4921 | "Create comint buffer and connect to Linter." | 4925 | "Create comint buffer and connect to Linter." |
| 4922 | ;; Put all parameters to the program (if defined) in a list and call | 4926 | ;; Put all parameters to the program (if defined) in a list and call |
| 4923 | ;; make-comint. | 4927 | ;; make-comint. |
| 4924 | (let ((params options) | 4928 | (let* ((login |
| 4925 | (login nil) | 4929 | (if (not (string= "" sql-user)) |
| 4926 | (old-mbx (getenv "LINTER_MBX"))) | 4930 | (concat sql-user "/" sql-password))) |
| 4927 | (if (not (string= "" sql-user)) | 4931 | (params |
| 4928 | (setq login (concat sql-user "/" sql-password))) | 4932 | (append |
| 4929 | (setq params (append (list "-u" login) params)) | 4933 | (if (not (string= "" sql-server)) |
| 4930 | (if (not (string= "" sql-server)) | 4934 | (list "-n" sql-server)) |
| 4931 | (setq params (append (list "-n" sql-server) params))) | 4935 | (list "-u" login) |
| 4932 | (if (string= "" sql-database) | 4936 | options))) |
| 4933 | (setenv "LINTER_MBX" nil) | 4937 | (cl-letf (((getenv "LINTER_MBX") |
| 4934 | (setenv "LINTER_MBX" sql-database)) | 4938 | (unless (string= "" sql-database) sql-database))) |
| 4935 | (sql-comint product params) | 4939 | (sql-comint product params)))) |
| 4936 | (setenv "LINTER_MBX" old-mbx))) | ||
| 4937 | 4940 | ||
| 4938 | 4941 | ||
| 4939 | 4942 | ||
diff --git a/lisp/ps-bdf.el b/lisp/ps-bdf.el index a82e03ceda7..477aee1b2da 100644 --- a/lisp/ps-bdf.el +++ b/lisp/ps-bdf.el | |||
| @@ -70,20 +70,15 @@ for BDFNAME." | |||
| 70 | 70 | ||
| 71 | (defsubst bdf-file-mod-time (filename) | 71 | (defsubst bdf-file-mod-time (filename) |
| 72 | "Return modification time of FILENAME. | 72 | "Return modification time of FILENAME. |
| 73 | The value is a list of two integers, the first integer has high-order | 73 | The value is a list of integers in the same format as `current-time'." |
| 74 | 16 bits, the second has low 16 bits." | ||
| 75 | (nth 5 (file-attributes filename))) | 74 | (nth 5 (file-attributes filename))) |
| 76 | 75 | ||
| 77 | (defun bdf-file-newer-than-time (filename mod-time) | 76 | (defun bdf-file-newer-than-time (filename mod-time) |
| 78 | "Return non-nil if and only if FILENAME is newer than MOD-TIME. | 77 | "Return non-nil if and only if FILENAME is newer than MOD-TIME. |
| 79 | MOD-TIME is a modification time as a list of two integers, the first | 78 | MOD-TIME is a modification time as a list of integers in the same |
| 80 | integer has high-order 16 bits, the second has low 16 bits." | 79 | format as `current-time'." |
| 81 | (let* ((new-mod-time (bdf-file-mod-time filename)) | 80 | (let ((new-mod-time (bdf-file-mod-time filename))) |
| 82 | (new-time (car new-mod-time)) | 81 | (time-less-p mod-time new-mod-time))) |
| 83 | (time (car mod-time))) | ||
| 84 | (or (> new-time time) | ||
| 85 | (and (= new-time time) | ||
| 86 | (> (nth 1 new-mod-time) (nth 1 mod-time)))))) | ||
| 87 | 82 | ||
| 88 | (defun bdf-find-file (bdfname) | 83 | (defun bdf-find-file (bdfname) |
| 89 | "Return a buffer visiting a bdf file BDFNAME. | 84 | "Return a buffer visiting a bdf file BDFNAME. |
| @@ -178,8 +173,8 @@ FONT-INFO is a list of the following format: | |||
| 178 | (BDFFILE MOD-TIME FONT-BOUNDING-BOX | 173 | (BDFFILE MOD-TIME FONT-BOUNDING-BOX |
| 179 | RELATIVE-COMPOSE BASELINE-OFFSET CODE-RANGE MAXLEN OFFSET-VECTOR) | 174 | RELATIVE-COMPOSE BASELINE-OFFSET CODE-RANGE MAXLEN OFFSET-VECTOR) |
| 180 | 175 | ||
| 181 | MOD-TIME is last modification time as a list of two integers, the | 176 | MOD-TIME is last modification time as a list of integers in the |
| 182 | first integer has high-order 16 bits, the second has low 16 bits. | 177 | same format as `current-time'. |
| 183 | 178 | ||
| 184 | SIZE is a size of the font on 72 dpi device. This value is got | 179 | SIZE is a size of the font on 72 dpi device. This value is got |
| 185 | from SIZE record of the font. | 180 | from SIZE record of the font. |
diff --git a/lisp/ses.el b/lisp/ses.el index 27b906d22e3..80260185942 100644 --- a/lisp/ses.el +++ b/lisp/ses.el | |||
| @@ -2718,8 +2718,9 @@ inserts a new row if at bottom of print area. Repeat COUNT times." | |||
| 2718 | ;; Cut and paste, import and export | 2718 | ;; Cut and paste, import and export |
| 2719 | ;;---------------------------------------------------------------------------- | 2719 | ;;---------------------------------------------------------------------------- |
| 2720 | 2720 | ||
| 2721 | (defadvice copy-region-as-kill (around ses-copy-region-as-kill | 2721 | (defun ses--advice-copy-region-as-kill (crak-fun beg end &rest args) |
| 2722 | activate preactivate) | 2722 | ;; FIXME: Why doesn't it make sense to copy read-only or |
| 2723 | ;; intangible attributes? They're removed upon yank! | ||
| 2723 | "It doesn't make sense to copy read-only or intangible attributes into the | 2724 | "It doesn't make sense to copy read-only or intangible attributes into the |
| 2724 | kill ring. It probably doesn't make sense to copy keymap properties. | 2725 | kill ring. It probably doesn't make sense to copy keymap properties. |
| 2725 | We'll assume copying front-sticky properties doesn't make sense, either. | 2726 | We'll assume copying front-sticky properties doesn't make sense, either. |
| @@ -2730,14 +2731,15 @@ hard to override how mouse-1 works." | |||
| 2730 | (let ((temp beg)) | 2731 | (let ((temp beg)) |
| 2731 | (setq beg end | 2732 | (setq beg end |
| 2732 | end temp))) | 2733 | end temp))) |
| 2733 | (if (not (and (eq major-mode 'ses-mode) | 2734 | (if (not (and (derived-mode-p 'ses-mode) |
| 2734 | (eq (get-text-property beg 'read-only) 'ses) | 2735 | (eq (get-text-property beg 'read-only) 'ses) |
| 2735 | (eq (get-text-property (1- end) 'read-only) 'ses))) | 2736 | (eq (get-text-property (1- end) 'read-only) 'ses))) |
| 2736 | ad-do-it ; Normal copy-region-as-kill. | 2737 | (apply crak-fun beg end args) ; Normal copy-region-as-kill. |
| 2737 | (kill-new (ses-copy-region beg end)) | 2738 | (kill-new (ses-copy-region beg end)) |
| 2738 | (if transient-mark-mode | 2739 | (if transient-mark-mode |
| 2739 | (setq deactivate-mark t)) | 2740 | (setq deactivate-mark t)) |
| 2740 | nil)) | 2741 | nil)) |
| 2742 | (advice-add 'copy-region-as-kill :around #'ses--advice-copy-region-as-kill) | ||
| 2741 | 2743 | ||
| 2742 | (defun ses-copy-region (beg end) | 2744 | (defun ses-copy-region (beg end) |
| 2743 | "Treat the region as rectangular. Convert the intangible attributes to | 2745 | "Treat the region as rectangular. Convert the intangible attributes to |
| @@ -2801,7 +2803,7 @@ We clear the killed cells instead of deleting them." | |||
| 2801 | (ses-clear-cell row col)) | 2803 | (ses-clear-cell row col)) |
| 2802 | (ses-jump (car ses--curcell))) | 2804 | (ses-jump (car ses--curcell))) |
| 2803 | 2805 | ||
| 2804 | (defadvice yank (around ses-yank activate preactivate) | 2806 | (defun ses--advice-yank (yank-fun &optional arg &rest args) |
| 2805 | "In SES mode, the yanked text is inserted as cells. | 2807 | "In SES mode, the yanked text is inserted as cells. |
| 2806 | 2808 | ||
| 2807 | If the text contains 'ses attributes (meaning it went to the kill-ring from a | 2809 | If the text contains 'ses attributes (meaning it went to the kill-ring from a |
| @@ -2819,9 +2821,9 @@ When inserting formulas, the text is treated as a string constant if it doesn't | |||
| 2819 | make sense as a sexp or would otherwise be considered a symbol. Use 'sym to | 2821 | make sense as a sexp or would otherwise be considered a symbol. Use 'sym to |
| 2820 | explicitly insert a symbol, or use the C-u prefix to treat all unmarked words | 2822 | explicitly insert a symbol, or use the C-u prefix to treat all unmarked words |
| 2821 | as symbols." | 2823 | as symbols." |
| 2822 | (if (not (and (eq major-mode 'ses-mode) | 2824 | (if (not (and (derived-mode-p 'ses-mode) |
| 2823 | (eq (get-text-property (point) 'keymap) 'ses-mode-print-map))) | 2825 | (eq (get-text-property (point) 'keymap) 'ses-mode-print-map))) |
| 2824 | ad-do-it ; Normal non-SES yank. | 2826 | (apply yank-fun arg args) ; Normal non-SES yank. |
| 2825 | (ses-check-curcell 'end) | 2827 | (ses-check-curcell 'end) |
| 2826 | (push-mark (point)) | 2828 | (push-mark (point)) |
| 2827 | (let ((text (current-kill (cond | 2829 | (let ((text (current-kill (cond |
| @@ -2839,6 +2841,7 @@ as symbols." | |||
| 2839 | arg))) | 2841 | arg))) |
| 2840 | (if (consp arg) | 2842 | (if (consp arg) |
| 2841 | (exchange-point-and-mark)))) | 2843 | (exchange-point-and-mark)))) |
| 2844 | (advice-add 'yank :around #'ses--advice-yank) | ||
| 2842 | 2845 | ||
| 2843 | (defun ses-yank-pop (arg) | 2846 | (defun ses-yank-pop (arg) |
| 2844 | "Replace just-yanked stretch of killed text with a different stretch. | 2847 | "Replace just-yanked stretch of killed text with a different stretch. |
| @@ -3313,7 +3316,7 @@ highlighted range in the spreadsheet." | |||
| 3313 | (put-text-property pos end 'intangible new-name)) | 3316 | (put-text-property pos end 'intangible new-name)) |
| 3314 | ;; update mode line | 3317 | ;; update mode line |
| 3315 | (setq mode-line-process (list " cell " | 3318 | (setq mode-line-process (list " cell " |
| 3316 | (symbol-name sym))) | 3319 | (symbol-name new-name))) |
| 3317 | (force-mode-line-update))) | 3320 | (force-mode-line-update))) |
| 3318 | 3321 | ||
| 3319 | ;;---------------------------------------------------------------------------- | 3322 | ;;---------------------------------------------------------------------------- |
| @@ -3586,10 +3589,9 @@ current column and continues until the next nonblank column." | |||
| 3586 | 3589 | ||
| 3587 | (defun ses-unload-function () | 3590 | (defun ses-unload-function () |
| 3588 | "Unload the Simple Emacs Spreadsheet." | 3591 | "Unload the Simple Emacs Spreadsheet." |
| 3589 | (dolist (fun '(copy-region-as-kill yank)) | 3592 | (advice-remove 'yank #'ses--advice-yank) |
| 3590 | (ad-remove-advice fun 'around (intern (concat "ses-" (symbol-name fun)))) | 3593 | (advice-remove 'copy-region-as-kill #'ses--advice-copy-region-as-kill) |
| 3591 | (ad-update fun)) | 3594 | ;; Continue standard unloading. |
| 3592 | ;; continue standard unloading | ||
| 3593 | nil) | 3595 | nil) |
| 3594 | 3596 | ||
| 3595 | (provide 'ses) | 3597 | (provide 'ses) |
diff --git a/lisp/shell.el b/lisp/shell.el index 77a42389785..fc8f3dfb940 100644 --- a/lisp/shell.el +++ b/lisp/shell.el | |||
| @@ -561,10 +561,8 @@ buffer." | |||
| 561 | ;; very inefficient in Shell buffers (e.g. Bug#10835). We use a | 561 | ;; very inefficient in Shell buffers (e.g. Bug#10835). We use a |
| 562 | ;; custom `ansi-color-apply-face-function' to convert color escape | 562 | ;; custom `ansi-color-apply-face-function' to convert color escape |
| 563 | ;; sequences into `font-lock-face' properties. | 563 | ;; sequences into `font-lock-face' properties. |
| 564 | (set (make-local-variable 'ansi-color-apply-face-function) | 564 | (setq-local ansi-color-apply-face-function #'shell-apply-ansi-color) |
| 565 | (lambda (beg end face) | 565 | (shell-reapply-ansi-color) |
| 566 | (when face | ||
| 567 | (put-text-property beg end 'font-lock-face face)))) | ||
| 568 | 566 | ||
| 569 | ;; This is not really correct, since the shell buffer does not really | 567 | ;; This is not really correct, since the shell buffer does not really |
| 570 | ;; edit this directory. But it is useful in the buffer list and menus. | 568 | ;; edit this directory. But it is useful in the buffer list and menus. |
| @@ -603,6 +601,27 @@ buffer." | |||
| 603 | 'shell-filter-ctrl-a-ctrl-b nil t))) | 601 | 'shell-filter-ctrl-a-ctrl-b nil t))) |
| 604 | (comint-read-input-ring t))) | 602 | (comint-read-input-ring t))) |
| 605 | 603 | ||
| 604 | (defun shell-apply-ansi-color (beg end face) | ||
| 605 | "Apply FACE as the ansi-color face for the text between BEG and END." | ||
| 606 | (when face | ||
| 607 | (put-text-property beg end 'ansi-color-face face) | ||
| 608 | (put-text-property beg end 'font-lock-face face))) | ||
| 609 | |||
| 610 | (defun shell-reapply-ansi-color () | ||
| 611 | "Reapply ansi-color faces to the existing contents of the buffer." | ||
| 612 | (save-restriction | ||
| 613 | (widen) | ||
| 614 | (let* ((pos (point-min)) | ||
| 615 | (end (or (next-single-property-change pos 'ansi-color-face) | ||
| 616 | (point-max))) | ||
| 617 | face) | ||
| 618 | (while end | ||
| 619 | (if (setq face (get-text-property pos 'ansi-color-face)) | ||
| 620 | (put-text-property pos (or end (point-max)) | ||
| 621 | 'font-lock-face face)) | ||
| 622 | (setq pos end | ||
| 623 | end (next-single-property-change pos 'ansi-color-face)))))) | ||
| 624 | |||
| 606 | (defun shell-filter-ctrl-a-ctrl-b (string) | 625 | (defun shell-filter-ctrl-a-ctrl-b (string) |
| 607 | "Remove `^A' and `^B' characters from comint output. | 626 | "Remove `^A' and `^B' characters from comint output. |
| 608 | 627 | ||
| @@ -671,7 +690,12 @@ Otherwise, one argument `-i' is passed to the shell. | |||
| 671 | (and current-prefix-arg | 690 | (and current-prefix-arg |
| 672 | (prog1 | 691 | (prog1 |
| 673 | (read-buffer "Shell buffer: " | 692 | (read-buffer "Shell buffer: " |
| 674 | (generate-new-buffer-name "*shell*")) | 693 | ;; If the current buffer is an inactive |
| 694 | ;; shell buffer, use it as the default. | ||
| 695 | (if (and (eq major-mode 'shell-mode) | ||
| 696 | (null (get-buffer-process (current-buffer)))) | ||
| 697 | (buffer-name) | ||
| 698 | (generate-new-buffer-name "*shell*"))) | ||
| 675 | (if (file-remote-p default-directory) | 699 | (if (file-remote-p default-directory) |
| 676 | ;; It must be possible to declare a local default-directory. | 700 | ;; It must be possible to declare a local default-directory. |
| 677 | ;; FIXME: This can't be right: it changes the default-directory | 701 | ;; FIXME: This can't be right: it changes the default-directory |
diff --git a/lisp/simple.el b/lisp/simple.el index aed945d6e13..78b76579584 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -744,7 +744,7 @@ If BACKWARD-ONLY is non-nil, only delete them before point." | |||
| 744 | 744 | ||
| 745 | (defun just-one-space (&optional n) | 745 | (defun just-one-space (&optional n) |
| 746 | "Delete all spaces and tabs around point, leaving one space (or N spaces). | 746 | "Delete all spaces and tabs around point, leaving one space (or N spaces). |
| 747 | If N is negative, delete newlines as well." | 747 | If N is negative, delete newlines as well, leaving -N spaces." |
| 748 | (interactive "*p") | 748 | (interactive "*p") |
| 749 | (unless n (setq n 1)) | 749 | (unless n (setq n 1)) |
| 750 | (let ((orig-pos (point)) | 750 | (let ((orig-pos (point)) |
| @@ -4012,7 +4012,8 @@ run `deactivate-mark-hook'." | |||
| 4012 | (when (mark t) | 4012 | (when (mark t) |
| 4013 | (setq mark-active t) | 4013 | (setq mark-active t) |
| 4014 | (unless transient-mark-mode | 4014 | (unless transient-mark-mode |
| 4015 | (setq transient-mark-mode 'lambda)))) | 4015 | (setq transient-mark-mode 'lambda)) |
| 4016 | (run-hooks 'activate-mark-hook))) | ||
| 4016 | 4017 | ||
| 4017 | (defun set-mark (pos) | 4018 | (defun set-mark (pos) |
| 4018 | "Set this buffer's mark to POS. Don't use this function! | 4019 | "Set this buffer's mark to POS. Don't use this function! |
| @@ -4133,14 +4134,6 @@ after C-u \\[set-mark-command]." | |||
| 4133 | :type 'boolean | 4134 | :type 'boolean |
| 4134 | :group 'editing-basics) | 4135 | :group 'editing-basics) |
| 4135 | 4136 | ||
| 4136 | (defcustom set-mark-default-inactive nil | ||
| 4137 | "If non-nil, setting the mark does not activate it. | ||
| 4138 | This causes \\[set-mark-command] and \\[exchange-point-and-mark] to | ||
| 4139 | behave the same whether or not `transient-mark-mode' is enabled." | ||
| 4140 | :type 'boolean | ||
| 4141 | :group 'editing-basics | ||
| 4142 | :version "23.1") | ||
| 4143 | |||
| 4144 | (defun set-mark-command (arg) | 4137 | (defun set-mark-command (arg) |
| 4145 | "Set the mark where point is, or jump to the mark. | 4138 | "Set the mark where point is, or jump to the mark. |
| 4146 | Setting the mark also alters the region, which is the text | 4139 | Setting the mark also alters the region, which is the text |
| @@ -4202,8 +4195,7 @@ purposes. See the documentation of `set-mark' for more information." | |||
| 4202 | (activate-mark) | 4195 | (activate-mark) |
| 4203 | (message "Mark activated"))) | 4196 | (message "Mark activated"))) |
| 4204 | (t | 4197 | (t |
| 4205 | (push-mark-command nil) | 4198 | (push-mark-command nil)))) |
| 4206 | (if set-mark-default-inactive (deactivate-mark))))) | ||
| 4207 | 4199 | ||
| 4208 | (defun push-mark (&optional location nomsg activate) | 4200 | (defun push-mark (&optional location nomsg activate) |
| 4209 | "Set mark at LOCATION (point, by default) and push old mark on mark ring. | 4201 | "Set mark at LOCATION (point, by default) and push old mark on mark ring. |
| @@ -4267,7 +4259,6 @@ mode temporarily." | |||
| 4267 | (deactivate-mark) | 4259 | (deactivate-mark) |
| 4268 | (set-mark (point)) | 4260 | (set-mark (point)) |
| 4269 | (goto-char omark) | 4261 | (goto-char omark) |
| 4270 | (if set-mark-default-inactive (deactivate-mark)) | ||
| 4271 | (cond (temp-highlight | 4262 | (cond (temp-highlight |
| 4272 | (setq transient-mark-mode (cons 'only transient-mark-mode))) | 4263 | (setq transient-mark-mode (cons 'only transient-mark-mode))) |
| 4273 | ((or (and arg (region-active-p)) ; (xor arg (not (region-active-p))) | 4264 | ((or (and arg (region-active-p)) ; (xor arg (not (region-active-p))) |
| @@ -4332,14 +4323,14 @@ else--for example, incremental search, \\[beginning-of-buffer], and \\[end-of-bu | |||
| 4332 | You can also deactivate the mark by typing \\[keyboard-quit] or | 4323 | You can also deactivate the mark by typing \\[keyboard-quit] or |
| 4333 | \\[keyboard-escape-quit]. | 4324 | \\[keyboard-escape-quit]. |
| 4334 | 4325 | ||
| 4335 | Many commands change their behavior when Transient Mark mode is in effect | 4326 | Many commands change their behavior when Transient Mark mode is |
| 4336 | and the mark is active, by acting on the region instead of their usual | 4327 | in effect and the mark is active, by acting on the region instead |
| 4337 | default part of the buffer's text. Examples of such commands include | 4328 | of their usual default part of the buffer's text. Examples of |
| 4338 | \\[comment-dwim], \\[flush-lines], \\[keep-lines], \ | 4329 | such commands include \\[comment-dwim], \\[flush-lines], \\[keep-lines], |
| 4339 | \\[query-replace], \\[query-replace-regexp], \\[ispell], and \\[undo]. | 4330 | \\[query-replace], \\[query-replace-regexp], \\[ispell], and \\[undo]. |
| 4340 | Invoke \\[apropos-documentation] and type \"transient\" or | 4331 | To see the documentation of commands which are sensitive to the |
| 4341 | \"mark.*active\" at the prompt, to see the documentation of | 4332 | Transient Mark mode, invoke \\[apropos-documentation] and type \"transient\" |
| 4342 | commands which are sensitive to the Transient Mark mode." | 4333 | or \"mark.*active\" at the prompt." |
| 4343 | :global t | 4334 | :global t |
| 4344 | ;; It's defined in C/cus-start, this stops the d-m-m macro defining it again. | 4335 | ;; It's defined in C/cus-start, this stops the d-m-m macro defining it again. |
| 4345 | :variable transient-mark-mode) | 4336 | :variable transient-mark-mode) |
| @@ -4583,6 +4574,9 @@ lines." | |||
| 4583 | (unless (and auto-window-vscroll try-vscroll | 4574 | (unless (and auto-window-vscroll try-vscroll |
| 4584 | ;; Only vscroll for single line moves | 4575 | ;; Only vscroll for single line moves |
| 4585 | (= (abs arg) 1) | 4576 | (= (abs arg) 1) |
| 4577 | ;; Under scroll-conservatively, the display engine | ||
| 4578 | ;; does this better. | ||
| 4579 | (zerop scroll-conservatively) | ||
| 4586 | ;; But don't vscroll in a keyboard macro. | 4580 | ;; But don't vscroll in a keyboard macro. |
| 4587 | (not defining-kbd-macro) | 4581 | (not defining-kbd-macro) |
| 4588 | (not executing-kbd-macro) | 4582 | (not executing-kbd-macro) |
diff --git a/lisp/sort.el b/lisp/sort.el index 44f90fff379..cd0b4433ab3 100644 --- a/lisp/sort.el +++ b/lisp/sort.el | |||
| @@ -562,6 +562,62 @@ From a program takes two point or marker arguments, BEG and END." | |||
| 562 | (setq ll (cdr ll))) | 562 | (setq ll (cdr ll))) |
| 563 | (insert (car ll))))) | 563 | (insert (car ll))))) |
| 564 | 564 | ||
| 565 | ;;;###autoload | ||
| 566 | (defun delete-duplicate-lines (beg end &optional reverse adjacent interactive) | ||
| 567 | "Delete duplicate lines in the region between BEG and END. | ||
| 568 | |||
| 569 | If REVERSE is nil, search and delete duplicates forward keeping the first | ||
| 570 | occurrence of duplicate lines. If REVERSE is non-nil (when called | ||
| 571 | interactively with C-u prefix), search and delete duplicates backward | ||
| 572 | keeping the last occurrence of duplicate lines. | ||
| 573 | |||
| 574 | If ADJACENT is non-nil (when called interactively with two C-u prefixes), | ||
| 575 | delete repeated lines only if they are adjacent. It works like the utility | ||
| 576 | `uniq' and is useful when lines are already sorted in a large file since | ||
| 577 | this is more efficient in performance and memory usage than when ADJACENT | ||
| 578 | is nil that uses additional memory to remember previous lines. | ||
| 579 | |||
| 580 | When called from Lisp and INTERACTIVE is omitted or nil, return the number | ||
| 581 | of deleted duplicate lines, do not print it; if INTERACTIVE is t, the | ||
| 582 | function behaves in all respects as if it had been called interactively." | ||
| 583 | (interactive | ||
| 584 | (progn | ||
| 585 | (barf-if-buffer-read-only) | ||
| 586 | (list (region-beginning) (region-end) | ||
| 587 | (equal current-prefix-arg '(4)) | ||
| 588 | (equal current-prefix-arg '(16)) | ||
| 589 | t))) | ||
| 590 | (let ((lines (unless adjacent (make-hash-table :weakness 'key :test 'equal))) | ||
| 591 | line prev-line | ||
| 592 | (count 0) | ||
| 593 | (beg (copy-marker beg)) | ||
| 594 | (end (copy-marker end))) | ||
| 595 | (save-excursion | ||
| 596 | (goto-char (if reverse end beg)) | ||
| 597 | (if (and reverse (bolp)) (forward-char -1)) | ||
| 598 | (while (if reverse | ||
| 599 | (and (> (point) beg) (not (bobp))) | ||
| 600 | (and (< (point) end) (not (eobp)))) | ||
| 601 | (setq line (buffer-substring-no-properties | ||
| 602 | (line-beginning-position) (line-end-position))) | ||
| 603 | (if (if adjacent (equal line prev-line) (gethash line lines)) | ||
| 604 | (progn | ||
| 605 | (delete-region (progn (forward-line 0) (point)) | ||
| 606 | (progn (forward-line 1) (point))) | ||
| 607 | (if reverse (forward-line -1)) | ||
| 608 | (setq count (1+ count))) | ||
| 609 | (if adjacent (setq prev-line line) (puthash line t lines)) | ||
| 610 | (forward-line (if reverse -1 1))))) | ||
| 611 | (set-marker beg nil) | ||
| 612 | (set-marker end nil) | ||
| 613 | (when interactive | ||
| 614 | (message "Deleted %d %sduplicate line%s%s" | ||
| 615 | count | ||
| 616 | (if adjacent "adjacent " "") | ||
| 617 | (if (= count 1) "" "s") | ||
| 618 | (if reverse " backward" ""))) | ||
| 619 | count)) | ||
| 620 | |||
| 565 | (provide 'sort) | 621 | (provide 'sort) |
| 566 | 622 | ||
| 567 | ;;; sort.el ends here | 623 | ;;; sort.el ends here |
diff --git a/lisp/speedbar.el b/lisp/speedbar.el index 25a6fbfd998..dd104d436b5 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el | |||
| @@ -3608,6 +3608,7 @@ functions to do caching and flushing if appropriate." | |||
| 3608 | nil | 3608 | nil |
| 3609 | 3609 | ||
| 3610 | (eval-when-compile (condition-case nil (require 'imenu) (error nil))) | 3610 | (eval-when-compile (condition-case nil (require 'imenu) (error nil))) |
| 3611 | (declare-function imenu--make-index-alist "imenu" (&optional no-error)) | ||
| 3611 | 3612 | ||
| 3612 | (defun speedbar-fetch-dynamic-imenu (file) | 3613 | (defun speedbar-fetch-dynamic-imenu (file) |
| 3613 | "Load FILE into a buffer, and generate tags using Imenu. | 3614 | "Load FILE into a buffer, and generate tags using Imenu. |
diff --git a/lisp/startup.el b/lisp/startup.el index 2e8b6b7f8c4..ec6d45a294d 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -1569,27 +1569,24 @@ a face or button specification." | |||
| 1569 | :face '(variable-pitch (:height 0.8)) | 1569 | :face '(variable-pitch (:height 0.8)) |
| 1570 | emacs-copyright | 1570 | emacs-copyright |
| 1571 | "\n") | 1571 | "\n") |
| 1572 | (and auto-save-list-file-prefix | 1572 | (when auto-save-list-file-prefix |
| 1573 | ;; Don't signal an error if the | 1573 | (let ((dir (file-name-directory auto-save-list-file-prefix)) |
| 1574 | ;; directory for auto-save-list files | 1574 | (name (file-name-nondirectory auto-save-list-file-prefix)) |
| 1575 | ;; does not yet exist. | 1575 | files) |
| 1576 | (file-directory-p (file-name-directory | 1576 | ;; Don't warn if the directory for auto-save-list files does not |
| 1577 | auto-save-list-file-prefix)) | 1577 | ;; yet exist. |
| 1578 | (directory-files | 1578 | (and (file-directory-p dir) |
| 1579 | (file-name-directory auto-save-list-file-prefix) | 1579 | (setq files (directory-files dir nil (concat "\\`" name) t)) |
| 1580 | nil | 1580 | (fancy-splash-insert :face '(variable-pitch font-lock-comment-face) |
| 1581 | (concat "\\`" | 1581 | (if (= (length files) 1) |
| 1582 | (regexp-quote (file-name-nondirectory | 1582 | "\nAn auto-save file list was found. " |
| 1583 | auto-save-list-file-prefix))) | 1583 | "\nAuto-save file lists were found. ") |
| 1584 | t) | 1584 | "If an Emacs session crashed recently,\ntype " |
| 1585 | (fancy-splash-insert :face '(variable-pitch font-lock-comment-face) | 1585 | :link `("M-x recover-session RET" |
| 1586 | "\nIf an Emacs session crashed recently, " | 1586 | ,(lambda (_button) |
| 1587 | "type " | 1587 | (call-interactively |
| 1588 | :face '(fixed-pitch font-lock-comment-face) | 1588 | 'recover-session))) |
| 1589 | "Meta-x recover-session RET" | 1589 | " to recover the files you were editing.")))) |
| 1590 | :face '(variable-pitch font-lock-comment-face) | ||
| 1591 | "\nto recover" | ||
| 1592 | " the files you were editing.")) | ||
| 1593 | 1590 | ||
| 1594 | (when concise | 1591 | (when concise |
| 1595 | (fancy-splash-insert | 1592 | (fancy-splash-insert |
diff --git a/lisp/subr.el b/lisp/subr.el index 1a850b1eabf..1e509036cd1 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -1159,17 +1159,6 @@ The return value has the form (WIDTH . HEIGHT). POSITION should | |||
| 1159 | be a list of the form returned by `event-start' and `event-end'." | 1159 | be a list of the form returned by `event-start' and `event-end'." |
| 1160 | (nth 9 position)) | 1160 | (nth 9 position)) |
| 1161 | 1161 | ||
| 1162 | (defun w32notify-handle-event (event) | ||
| 1163 | "Handle file system monitoring event. | ||
| 1164 | If EVENT is a file-notification event, then its callback is called. | ||
| 1165 | Otherwise, a `filewatch-error' is signaled." | ||
| 1166 | (interactive "e") | ||
| 1167 | |||
| 1168 | (if (and (eq (car event) 'file-notify) | ||
| 1169 | (= (length event) 3)) | ||
| 1170 | (funcall (nth 2 event) (nth 1 event)) | ||
| 1171 | (signal 'filewatch-error (cons "Not a valid file-notify event" event)))) | ||
| 1172 | |||
| 1173 | 1162 | ||
| 1174 | ;;;; Obsolescent names for functions. | 1163 | ;;;; Obsolescent names for functions. |
| 1175 | 1164 | ||
| @@ -1202,8 +1191,6 @@ is converted into a string by expressing it in decimal." | |||
| 1202 | (make-obsolete 'unfocus-frame "it does nothing." "22.1") | 1191 | (make-obsolete 'unfocus-frame "it does nothing." "22.1") |
| 1203 | (make-obsolete 'make-variable-frame-local | 1192 | (make-obsolete 'make-variable-frame-local |
| 1204 | "explicitly check for a frame-parameter instead." "22.2") | 1193 | "explicitly check for a frame-parameter instead." "22.2") |
| 1205 | (make-obsolete 'interactive-p 'called-interactively-p "23.2") | ||
| 1206 | (set-advertised-calling-convention 'called-interactively-p '(kind) "23.1") | ||
| 1207 | (set-advertised-calling-convention | 1194 | (set-advertised-calling-convention |
| 1208 | 'all-completions '(string collection &optional predicate) "23.1") | 1195 | 'all-completions '(string collection &optional predicate) "23.1") |
| 1209 | (set-advertised-calling-convention 'unintern '(name obarray) "23.3") | 1196 | (set-advertised-calling-convention 'unintern '(name obarray) "23.3") |
| @@ -2635,13 +2622,14 @@ When the hook runs, the temporary buffer is current. | |||
| 2635 | This hook is normally set up with a function to put the buffer in Help | 2622 | This hook is normally set up with a function to put the buffer in Help |
| 2636 | mode.") | 2623 | mode.") |
| 2637 | 2624 | ||
| 2638 | ;; Avoid compiler warnings about this variable, | 2625 | (defvar-local buffer-file-type nil |
| 2639 | ;; which has a special meaning on certain system types. | ||
| 2640 | (defvar buffer-file-type nil | ||
| 2641 | "Non-nil if the visited file is a binary file. | 2626 | "Non-nil if the visited file is a binary file. |
| 2642 | This variable is meaningful on MS-DOG and Windows NT. | 2627 | This variable is meaningful on MS-DOG and MS-Windows. |
| 2643 | On those systems, it is automatically local in every buffer. | 2628 | On those systems, it is automatically local in every buffer. |
| 2644 | On other systems, this variable is normally always nil.") | 2629 | On other systems, this variable is normally always nil. |
| 2630 | |||
| 2631 | WARNING: This variable is obsolete and will disappear Real Soon Now. | ||
| 2632 | Don't use it!") | ||
| 2645 | 2633 | ||
| 2646 | ;; The `assert' macro from the cl package signals | 2634 | ;; The `assert' macro from the cl package signals |
| 2647 | ;; `cl-assertion-failed' at runtime so always define it. | 2635 | ;; `cl-assertion-failed' at runtime so always define it. |
| @@ -3200,6 +3188,7 @@ in which case `save-window-excursion' cannot help." | |||
| 3200 | ;; Return nil. | 3188 | ;; Return nil. |
| 3201 | nil) | 3189 | nil) |
| 3202 | 3190 | ||
| 3191 | ;; Doc is very similar to with-temp-buffer-window. | ||
| 3203 | (defmacro with-output-to-temp-buffer (bufname &rest body) | 3192 | (defmacro with-output-to-temp-buffer (bufname &rest body) |
| 3204 | "Bind `standard-output' to buffer BUFNAME, eval BODY, then show that buffer. | 3193 | "Bind `standard-output' to buffer BUFNAME, eval BODY, then show that buffer. |
| 3205 | 3194 | ||
| @@ -3225,7 +3214,9 @@ with the buffer BUFNAME temporarily current. It runs the hook | |||
| 3225 | `temp-buffer-show-hook' after displaying buffer BUFNAME, with that | 3214 | `temp-buffer-show-hook' after displaying buffer BUFNAME, with that |
| 3226 | buffer temporarily current, and the window that was used to display it | 3215 | buffer temporarily current, and the window that was used to display it |
| 3227 | temporarily selected. But it doesn't run `temp-buffer-show-hook' | 3216 | temporarily selected. But it doesn't run `temp-buffer-show-hook' |
| 3228 | if it uses `temp-buffer-show-function'." | 3217 | if it uses `temp-buffer-show-function'. |
| 3218 | |||
| 3219 | See the related form `with-temp-buffer-window'." | ||
| 3229 | (declare (debug t)) | 3220 | (declare (debug t)) |
| 3230 | (let ((old-dir (make-symbol "old-dir")) | 3221 | (let ((old-dir (make-symbol "old-dir")) |
| 3231 | (buf (make-symbol "buf"))) | 3222 | (buf (make-symbol "buf"))) |
| @@ -3856,7 +3847,7 @@ This is used on the `modification-hooks' property of text clones." | |||
| 3856 | (if (not (re-search-forward | 3847 | (if (not (re-search-forward |
| 3857 | (overlay-get ol1 'text-clone-syntax) cend t)) | 3848 | (overlay-get ol1 'text-clone-syntax) cend t)) |
| 3858 | ;; Mark the overlay for deletion. | 3849 | ;; Mark the overlay for deletion. |
| 3859 | (overlay-put ol1 'text-clones nil) | 3850 | (setq end cbeg) |
| 3860 | (when (< (match-end 0) cend) | 3851 | (when (< (match-end 0) cend) |
| 3861 | ;; Shrink the clone at its end. | 3852 | ;; Shrink the clone at its end. |
| 3862 | (setq end (min end (match-end 0))) | 3853 | (setq end (min end (match-end 0))) |
| @@ -3971,6 +3962,152 @@ The properties used on SYMBOL are `composefunc', `sendfunc', | |||
| 3971 | (put symbol 'abortfunc (or abortfunc 'kill-buffer)) | 3962 | (put symbol 'abortfunc (or abortfunc 'kill-buffer)) |
| 3972 | (put symbol 'hookvar (or hookvar 'mail-send-hook))) | 3963 | (put symbol 'hookvar (or hookvar 'mail-send-hook))) |
| 3973 | 3964 | ||
| 3965 | (defvar called-interactively-p-functions nil | ||
| 3966 | "Special hook called to skip special frames in `called-interactively-p'. | ||
| 3967 | The functions are called with 3 arguments: (I FRAME1 FRAME2), | ||
| 3968 | where FRAME1 is a \"current frame\", FRAME2 is the next frame, | ||
| 3969 | I is the index of the frame after FRAME2. It should return nil | ||
| 3970 | if those frames don't seem special and otherwise, it should return | ||
| 3971 | the number of frames to skip (minus 1).") | ||
| 3972 | |||
| 3973 | (defmacro internal--called-interactively-p--get-frame (n) | ||
| 3974 | ;; `sym' will hold a global variable, which will be used kind of like C's | ||
| 3975 | ;; "static" variables. | ||
| 3976 | (let ((sym (make-symbol "base-index"))) | ||
| 3977 | `(progn | ||
| 3978 | (defvar ,sym | ||
| 3979 | (let ((i 1)) | ||
| 3980 | (while (not (eq (nth 1 (backtrace-frame i)) | ||
| 3981 | 'called-interactively-p)) | ||
| 3982 | (setq i (1+ i))) | ||
| 3983 | i)) | ||
| 3984 | ;; (unless (eq (nth 1 (backtrace-frame ,sym)) 'called-interactively-p) | ||
| 3985 | ;; (error "called-interactively-p: %s is out-of-sync!" ,sym)) | ||
| 3986 | (backtrace-frame (+ ,sym ,n))))) | ||
| 3987 | |||
| 3988 | (defun called-interactively-p (&optional kind) | ||
| 3989 | "Return t if the containing function was called by `call-interactively'. | ||
| 3990 | If KIND is `interactive', then only return t if the call was made | ||
| 3991 | interactively by the user, i.e. not in `noninteractive' mode nor | ||
| 3992 | when `executing-kbd-macro'. | ||
| 3993 | If KIND is `any', on the other hand, it will return t for any kind of | ||
| 3994 | interactive call, including being called as the binding of a key or | ||
| 3995 | from a keyboard macro, even in `noninteractive' mode. | ||
| 3996 | |||
| 3997 | This function is very brittle, it may fail to return the intended result when | ||
| 3998 | the code is debugged, advised, or instrumented in some form. Some macros and | ||
| 3999 | special forms (such as `condition-case') may also sometimes wrap their bodies | ||
| 4000 | in a `lambda', so any call to `called-interactively-p' from those bodies will | ||
| 4001 | indicate whether that lambda (rather than the surrounding function) was called | ||
| 4002 | interactively. | ||
| 4003 | |||
| 4004 | Instead of using this function, it is cleaner and more reliable to give your | ||
| 4005 | function an extra optional argument whose `interactive' spec specifies | ||
| 4006 | non-nil unconditionally (\"p\" is a good way to do this), or via | ||
| 4007 | \(not (or executing-kbd-macro noninteractive)). | ||
| 4008 | |||
| 4009 | The only known proper use of `interactive' for KIND is in deciding | ||
| 4010 | whether to display a helpful message, or how to display it. If you're | ||
| 4011 | thinking of using it for any other purpose, it is quite likely that | ||
| 4012 | you're making a mistake. Think: what do you want to do when the | ||
| 4013 | command is called from a keyboard macro?" | ||
| 4014 | (declare (advertised-calling-convention (kind) "23.1")) | ||
| 4015 | (when (not (and (eq kind 'interactive) | ||
| 4016 | (or executing-kbd-macro noninteractive))) | ||
| 4017 | (let* ((i 1) ;; 0 is the called-interactively-p frame. | ||
| 4018 | frame nextframe | ||
| 4019 | (get-next-frame | ||
| 4020 | (lambda () | ||
| 4021 | (setq frame nextframe) | ||
| 4022 | (setq nextframe (internal--called-interactively-p--get-frame i)) | ||
| 4023 | ;; (message "Frame %d = %S" i nextframe) | ||
| 4024 | (setq i (1+ i))))) | ||
| 4025 | (funcall get-next-frame) ;; Get the first frame. | ||
| 4026 | (while | ||
| 4027 | ;; FIXME: The edebug and advice handling should be made modular and | ||
| 4028 | ;; provided directly by edebug.el and nadvice.el. | ||
| 4029 | (progn | ||
| 4030 | ;; frame =(backtrace-frame i-2) | ||
| 4031 | ;; nextframe=(backtrace-frame i-1) | ||
| 4032 | (funcall get-next-frame) | ||
| 4033 | ;; `pcase' would be a fairly good fit here, but it sometimes moves | ||
| 4034 | ;; branches within local functions, which then messes up the | ||
| 4035 | ;; `backtrace-frame' data we get, | ||
| 4036 | (or | ||
| 4037 | ;; Skip special forms (from non-compiled code). | ||
| 4038 | (and frame (null (car frame))) | ||
| 4039 | ;; Skip also `interactive-p' (because we don't want to know if | ||
| 4040 | ;; interactive-p was called interactively but if it's caller was) | ||
| 4041 | ;; and `byte-code' (idem; this appears in subexpressions of things | ||
| 4042 | ;; like condition-case, which are wrapped in a separate bytecode | ||
| 4043 | ;; chunk). | ||
| 4044 | ;; FIXME: For lexical-binding code, this is much worse, | ||
| 4045 | ;; because the frames look like "byte-code -> funcall -> #[...]", | ||
| 4046 | ;; which is not a reliable signature. | ||
| 4047 | (memq (nth 1 frame) '(interactive-p 'byte-code)) | ||
| 4048 | ;; Skip package-specific stack-frames. | ||
| 4049 | (let ((skip (run-hook-with-args-until-success | ||
| 4050 | 'called-interactively-p-functions | ||
| 4051 | i frame nextframe))) | ||
| 4052 | (pcase skip | ||
| 4053 | (`nil nil) | ||
| 4054 | (`0 t) | ||
| 4055 | (_ (setq i (+ i skip -1)) (funcall get-next-frame))))))) | ||
| 4056 | ;; Now `frame' should be "the function from which we were called". | ||
| 4057 | (pcase (cons frame nextframe) | ||
| 4058 | ;; No subr calls `interactive-p', so we can rule that out. | ||
| 4059 | (`((,_ ,(pred (lambda (f) (subrp (indirect-function f)))) . ,_) . ,_) nil) | ||
| 4060 | ;; Somehow, I sometimes got `command-execute' rather than | ||
| 4061 | ;; `call-interactively' on my stacktrace !? | ||
| 4062 | ;;(`(,_ . (t command-execute . ,_)) t) | ||
| 4063 | (`(,_ . (t call-interactively . ,_)) t))))) | ||
| 4064 | |||
| 4065 | (defun interactive-p () | ||
| 4066 | "Return t if the containing function was run directly by user input. | ||
| 4067 | This means that the function was called with `call-interactively' | ||
| 4068 | \(which includes being called as the binding of a key) | ||
| 4069 | and input is currently coming from the keyboard (not a keyboard macro), | ||
| 4070 | and Emacs is not running in batch mode (`noninteractive' is nil). | ||
| 4071 | |||
| 4072 | The only known proper use of `interactive-p' is in deciding whether to | ||
| 4073 | display a helpful message, or how to display it. If you're thinking | ||
| 4074 | of using it for any other purpose, it is quite likely that you're | ||
| 4075 | making a mistake. Think: what do you want to do when the command is | ||
| 4076 | called from a keyboard macro or in batch mode? | ||
| 4077 | |||
| 4078 | To test whether your function was called with `call-interactively', | ||
| 4079 | either (i) add an extra optional argument and give it an `interactive' | ||
| 4080 | spec that specifies non-nil unconditionally (such as \"p\"); or (ii) | ||
| 4081 | use `called-interactively-p'." | ||
| 4082 | (declare (obsolete called-interactively-p "23.2")) | ||
| 4083 | (called-interactively-p 'interactive)) | ||
| 4084 | |||
| 4085 | (defun function-arity (f &optional num) | ||
| 4086 | "Return the (MIN . MAX) arity of F. | ||
| 4087 | If the maximum arity is infinite, MAX is `many'. | ||
| 4088 | F can be a function or a macro. | ||
| 4089 | If NUM is non-nil, return non-nil iff F can be called with NUM args." | ||
| 4090 | (if (symbolp f) (setq f (indirect-function f))) | ||
| 4091 | (if (eq (car-safe f) 'macro) (setq f (cdr f))) | ||
| 4092 | (let ((res | ||
| 4093 | (if (subrp f) | ||
| 4094 | (let ((x (subr-arity f))) | ||
| 4095 | (if (eq (cdr x) 'unevalled) (cons (car x) 'many))) | ||
| 4096 | (let* ((args (if (consp f) (cadr f) (aref f 0))) | ||
| 4097 | (max (length args)) | ||
| 4098 | (opt (memq '&optional args)) | ||
| 4099 | (rest (memq '&rest args)) | ||
| 4100 | (min (- max (length opt)))) | ||
| 4101 | (if opt | ||
| 4102 | (cons min (if rest 'many (1- max))) | ||
| 4103 | (if rest | ||
| 4104 | (cons (- max (length rest)) 'many) | ||
| 4105 | (cons min max))))))) | ||
| 4106 | (if (not num) | ||
| 4107 | res | ||
| 4108 | (and (>= num (car res)) | ||
| 4109 | (or (eq 'many (cdr res)) (<= num (cdr res))))))) | ||
| 4110 | |||
| 3974 | (defun set-temporary-overlay-map (map &optional keep-pred) | 4111 | (defun set-temporary-overlay-map (map &optional keep-pred) |
| 3975 | "Set MAP as a temporary keymap taking precedence over most other keymaps. | 4112 | "Set MAP as a temporary keymap taking precedence over most other keymaps. |
| 3976 | Note that this does NOT take precedence over the \"overriding\" maps | 4113 | Note that this does NOT take precedence over the \"overriding\" maps |
| @@ -4186,6 +4323,36 @@ convenience wrapper around `make-progress-reporter' and friends. | |||
| 4186 | nil ,@(cdr (cdr spec))))) | 4323 | nil ,@(cdr (cdr spec))))) |
| 4187 | 4324 | ||
| 4188 | 4325 | ||
| 4326 | ;;;; Support for watching filesystem events. | ||
| 4327 | |||
| 4328 | (defun inotify-event-p (event) | ||
| 4329 | "Check if EVENT is an inotify event." | ||
| 4330 | (and (listp event) | ||
| 4331 | (>= (length event) 3) | ||
| 4332 | (eq (car event) 'file-inotify))) | ||
| 4333 | |||
| 4334 | ;;;###autoload | ||
| 4335 | (defun inotify-handle-event (event) | ||
| 4336 | "Handle inotify file system monitoring event. | ||
| 4337 | If EVENT is an inotify filewatch event, call its callback. | ||
| 4338 | Otherwise, signal a `filewatch-error'." | ||
| 4339 | (interactive "e") | ||
| 4340 | (unless (inotify-event-p event) | ||
| 4341 | (signal 'filewatch-error (cons "Not a valid inotify event" event))) | ||
| 4342 | (funcall (nth 2 event) (nth 1 event))) | ||
| 4343 | |||
| 4344 | (defun w32notify-handle-event (event) | ||
| 4345 | "Handle MS-Windows file system monitoring event. | ||
| 4346 | If EVENT is an MS-Windows filewatch event, call its callback. | ||
| 4347 | Otherwise, signal a `filewatch-error'." | ||
| 4348 | (interactive "e") | ||
| 4349 | (if (and (eq (car event) 'file-w32notify) | ||
| 4350 | (= (length event) 3)) | ||
| 4351 | (funcall (nth 2 event) (nth 1 event)) | ||
| 4352 | (signal 'filewatch-error | ||
| 4353 | (cons "Not a valid MS-Windows file-notify event" event)))) | ||
| 4354 | |||
| 4355 | |||
| 4189 | ;;;; Comparing version strings. | 4356 | ;;;; Comparing version strings. |
| 4190 | 4357 | ||
| 4191 | (defconst version-separator "." | 4358 | (defconst version-separator "." |
diff --git a/lisp/term.el b/lisp/term.el index d6acaef1ae9..a7c50d65562 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -397,6 +397,12 @@ | |||
| 397 | (require 'ring) | 397 | (require 'ring) |
| 398 | (require 'ehelp) | 398 | (require 'ehelp) |
| 399 | 399 | ||
| 400 | (declare-function ring-empty-p "ring" (ring)) | ||
| 401 | (declare-function ring-ref "ring" (ring index)) | ||
| 402 | (declare-function ring-insert-at-beginning "ring" (ring item)) | ||
| 403 | (declare-function ring-length "ring" (ring)) | ||
| 404 | (declare-function ring-insert "ring" (ring item)) | ||
| 405 | |||
| 400 | (defgroup term nil | 406 | (defgroup term nil |
| 401 | "General command interpreter in a window." | 407 | "General command interpreter in a window." |
| 402 | :group 'processes) | 408 | :group 'processes) |
diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el index e31362b8313..e255fec1240 100644 --- a/lisp/term/ns-win.el +++ b/lisp/term/ns-win.el | |||
| @@ -656,18 +656,6 @@ This defines a fontset consisting of the Courier and other fonts that | |||
| 656 | come with OS X. | 656 | come with OS X. |
| 657 | See the documentation of `create-fontset-from-fontset-spec' for the format.") | 657 | See the documentation of `create-fontset-from-fontset-spec' for the format.") |
| 658 | 658 | ||
| 659 | ;; Conditional on new-fontset so bootstrapping works on non-GUI compiles. | ||
| 660 | (when (fboundp 'new-fontset) | ||
| 661 | ;; Setup the default fontset. | ||
| 662 | (create-default-fontset) | ||
| 663 | ;; Create the standard fontset. | ||
| 664 | (condition-case err | ||
| 665 | (create-fontset-from-fontset-spec ns-standard-fontset-spec t) | ||
| 666 | (error (display-warning | ||
| 667 | 'initialization | ||
| 668 | (format "Creation of the standard fontset failed: %s" err) | ||
| 669 | :error)))) | ||
| 670 | |||
| 671 | (defvar ns-reg-to-script) ; nsfont.m | 659 | (defvar ns-reg-to-script) ; nsfont.m |
| 672 | 660 | ||
| 673 | ;; This maps font registries (not exposed by NS APIs for font selection) to | 661 | ;; This maps font registries (not exposed by NS APIs for font selection) to |
| @@ -914,6 +902,16 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.") | |||
| 914 | ;; PENDING: not needed? | 902 | ;; PENDING: not needed? |
| 915 | (setq command-line-args (x-handle-args command-line-args)) | 903 | (setq command-line-args (x-handle-args command-line-args)) |
| 916 | 904 | ||
| 905 | ;; Setup the default fontset. | ||
| 906 | (create-default-fontset) | ||
| 907 | ;; Create the standard fontset. | ||
| 908 | (condition-case err | ||
| 909 | (create-fontset-from-fontset-spec ns-standard-fontset-spec t) | ||
| 910 | (error (display-warning | ||
| 911 | 'initialization | ||
| 912 | (format "Creation of the standard fontset failed: %s" err) | ||
| 913 | :error))) | ||
| 914 | |||
| 917 | (x-open-connection (system-name) nil t) | 915 | (x-open-connection (system-name) nil t) |
| 918 | 916 | ||
| 919 | (dolist (service (ns-list-services)) | 917 | (dolist (service (ns-list-services)) |
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el index 224fb7c1442..95dab10101b 100644 --- a/lisp/term/w32-win.el +++ b/lisp/term/w32-win.el | |||
| @@ -91,6 +91,9 @@ | |||
| 91 | (declare-function w32-send-sys-command "w32fns.c") | 91 | (declare-function w32-send-sys-command "w32fns.c") |
| 92 | (declare-function set-message-beep "w32fns.c") | 92 | (declare-function set-message-beep "w32fns.c") |
| 93 | 93 | ||
| 94 | (declare-function cygwin-convert-file-name-from-windows "cygw32.c" | ||
| 95 | (path &optional absolute_p)) | ||
| 96 | |||
| 94 | ;; Conditional on new-fontset so bootstrapping works on non-GUI compiles | 97 | ;; Conditional on new-fontset so bootstrapping works on non-GUI compiles |
| 95 | (if (fboundp 'new-fontset) | 98 | (if (fboundp 'new-fontset) |
| 96 | (require 'fontset)) | 99 | (require 'fontset)) |
| @@ -105,7 +108,7 @@ | |||
| 105 | 108 | ||
| 106 | (defun w32-handle-dropped-file (window file-name) | 109 | (defun w32-handle-dropped-file (window file-name) |
| 107 | (let ((f (if (eq system-type 'cygwin) | 110 | (let ((f (if (eq system-type 'cygwin) |
| 108 | (cygwin-convert-path-from-windows file-name t) | 111 | (cygwin-convert-file-name-from-windows file-name t) |
| 109 | (subst-char-in-string ?\\ ?/ file-name))) | 112 | (subst-char-in-string ?\\ ?/ file-name))) |
| 110 | (coding (or file-name-coding-system | 113 | (coding (or file-name-coding-system |
| 111 | default-file-name-coding-system))) | 114 | default-file-name-coding-system))) |
| @@ -116,7 +119,11 @@ | |||
| 116 | "/") | 119 | "/") |
| 117 | "/"))) | 120 | "/"))) |
| 118 | (dnd-handle-one-url window 'private | 121 | (dnd-handle-one-url window 'private |
| 119 | (concat "file://" file-name))) | 122 | (concat |
| 123 | (if (eq system-type 'cygwin) | ||
| 124 | "file://" | ||
| 125 | "file:") | ||
| 126 | file-name))) | ||
| 120 | 127 | ||
| 121 | (defun w32-drag-n-drop (event &optional new-frame) | 128 | (defun w32-drag-n-drop (event &optional new-frame) |
| 122 | "Edit the files listed in the drag-n-drop EVENT. | 129 | "Edit the files listed in the drag-n-drop EVENT. |
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index d50aadef25b..7130e1c9cee 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el | |||
| @@ -266,22 +266,22 @@ | |||
| 266 | ;;;###autoload | 266 | ;;;###autoload |
| 267 | (define-derived-mode css-mode fundamental-mode "CSS" | 267 | (define-derived-mode css-mode fundamental-mode "CSS" |
| 268 | "Major mode to edit Cascading Style Sheets." | 268 | "Major mode to edit Cascading Style Sheets." |
| 269 | (set (make-local-variable 'font-lock-defaults) css-font-lock-defaults) | 269 | (setq-local font-lock-defaults css-font-lock-defaults) |
| 270 | (set (make-local-variable 'comment-start) "/*") | 270 | (setq-local comment-start "/*") |
| 271 | (set (make-local-variable 'comment-start-skip) "/\\*+[ \t]*") | 271 | (setq-local comment-start-skip "/\\*+[ \t]*") |
| 272 | (set (make-local-variable 'comment-end) "*/") | 272 | (setq-local comment-end "*/") |
| 273 | (set (make-local-variable 'comment-end-skip) "[ \t]*\\*+/") | 273 | (setq-local comment-end-skip "[ \t]*\\*+/") |
| 274 | (set (make-local-variable 'forward-sexp-function) 'css-forward-sexp) | 274 | (setq-local forward-sexp-function 'css-forward-sexp) |
| 275 | (set (make-local-variable 'parse-sexp-ignore-comments) t) | 275 | (setq-local parse-sexp-ignore-comments t) |
| 276 | (set (make-local-variable 'indent-line-function) 'css-indent-line) | 276 | (setq-local indent-line-function 'css-indent-line) |
| 277 | (set (make-local-variable 'fill-paragraph-function) | 277 | (setq-local fill-paragraph-function 'css-fill-paragraph) |
| 278 | 'css-fill-paragraph) | 278 | (setq-local add-log-current-defun-function #'css-current-defun-name) |
| 279 | (when css-electric-keys | 279 | (when css-electric-keys |
| 280 | (let ((fc (make-char-table 'auto-fill-chars))) | 280 | (let ((fc (make-char-table 'auto-fill-chars))) |
| 281 | (set-char-table-parent fc auto-fill-chars) | 281 | (set-char-table-parent fc auto-fill-chars) |
| 282 | (dolist (c css-electric-keys) | 282 | (dolist (c css-electric-keys) |
| 283 | (aset fc c 'indent-according-to-mode)) | 283 | (aset fc c 'indent-according-to-mode)) |
| 284 | (set (make-local-variable 'auto-fill-chars) fc)))) | 284 | (setq-local auto-fill-chars fc)))) |
| 285 | 285 | ||
| 286 | (defvar comment-continue) | 286 | (defvar comment-continue) |
| 287 | 287 | ||
| @@ -481,5 +481,15 @@ | |||
| 481 | (save-excursion (indent-line-to indent)) | 481 | (save-excursion (indent-line-to indent)) |
| 482 | (indent-line-to indent))))) | 482 | (indent-line-to indent))))) |
| 483 | 483 | ||
| 484 | (defun css-current-defun-name () | ||
| 485 | "Return the name of the CSS section at point, or nil." | ||
| 486 | (save-excursion | ||
| 487 | (let ((max (max (point-min) (- (point) 1600)))) ; approx 20 lines back | ||
| 488 | (when (search-backward "{" max t) | ||
| 489 | (skip-chars-backward " \t\r\n") | ||
| 490 | (beginning-of-line) | ||
| 491 | (if (looking-at "^[ \t]*\\([^{\r\n]*[^ {\t\r\n]\\)") | ||
| 492 | (match-string-no-properties 1)))))) | ||
| 493 | |||
| 484 | (provide 'css-mode) | 494 | (provide 'css-mode) |
| 485 | ;;; css-mode.el ends here | 495 | ;;; css-mode.el ends here |
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index d0e90c99516..86a1736783d 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el | |||
| @@ -721,7 +721,11 @@ space does not end a sentence, so don't break a line there." | |||
| 721 | (move-to-column (current-fill-column)) | 721 | (move-to-column (current-fill-column)) |
| 722 | (if (when (< (point) to) | 722 | (if (when (< (point) to) |
| 723 | ;; Find the position where we'll break the line. | 723 | ;; Find the position where we'll break the line. |
| 724 | (forward-char 1) ;Use an immediately following space, if any. | 724 | ;; Use an immediately following space, if any. |
| 725 | ;; However, note that `move-to-column' may overshoot | ||
| 726 | ;; if there are wide characters (Bug#3234). | ||
| 727 | (unless (> (current-column) (current-fill-column)) | ||
| 728 | (forward-char 1)) | ||
| 725 | (fill-move-to-break-point linebeg) | 729 | (fill-move-to-break-point linebeg) |
| 726 | ;; Check again to see if we got to the end of | 730 | ;; Check again to see if we got to the end of |
| 727 | ;; the paragraph. | 731 | ;; the paragraph. |
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index f667525397c..961fb1bad83 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el | |||
| @@ -2649,11 +2649,8 @@ When asynchronous processes are not supported, `run' is always returned." | |||
| 2649 | (defun ispell-start-process () | 2649 | (defun ispell-start-process () |
| 2650 | "Start the Ispell process, with support for no asynchronous processes. | 2650 | "Start the Ispell process, with support for no asynchronous processes. |
| 2651 | Keeps argument list for future Ispell invocations for no async support." | 2651 | Keeps argument list for future Ispell invocations for no async support." |
| 2652 | ;; Local dictionary becomes the global dictionary in use. | 2652 | ;; `ispell-current-dictionary' and `ispell-current-personal-dictionary' |
| 2653 | (setq ispell-current-dictionary | 2653 | ;; are properly set in `ispell-internal-change-dictionary'. |
| 2654 | (or ispell-local-dictionary ispell-dictionary)) | ||
| 2655 | (setq ispell-current-personal-dictionary | ||
| 2656 | (or ispell-local-pdict ispell-personal-dictionary)) | ||
| 2657 | (let* ((default-directory | 2654 | (let* ((default-directory |
| 2658 | (if (and (file-directory-p default-directory) | 2655 | (if (and (file-directory-p default-directory) |
| 2659 | (file-readable-p default-directory)) | 2656 | (file-readable-p default-directory)) |
| @@ -2668,8 +2665,7 @@ Keeps argument list for future Ispell invocations for no async support." | |||
| 2668 | (list "-d" ispell-current-dictionary)) | 2665 | (list "-d" ispell-current-dictionary)) |
| 2669 | orig-args | 2666 | orig-args |
| 2670 | (if ispell-current-personal-dictionary ; Use specified pers dict. | 2667 | (if ispell-current-personal-dictionary ; Use specified pers dict. |
| 2671 | (list "-p" | 2668 | (list "-p" ispell-current-personal-dictionary)) |
| 2672 | (expand-file-name ispell-current-personal-dictionary))) | ||
| 2673 | ;; If we are using recent aspell or hunspell, make sure we use the | 2669 | ;; If we are using recent aspell or hunspell, make sure we use the |
| 2674 | ;; right encoding for communication. ispell or older aspell/hunspell | 2670 | ;; right encoding for communication. ispell or older aspell/hunspell |
| 2675 | ;; does not support this. | 2671 | ;; does not support this. |
| @@ -2706,6 +2702,9 @@ Keeps argument list for future Ispell invocations for no async support." | |||
| 2706 | (let* (;; Basename of dictionary used by the spell-checker | 2702 | (let* (;; Basename of dictionary used by the spell-checker |
| 2707 | (dict-bname (or (car (cdr (member "-d" (ispell-get-ispell-args)))) | 2703 | (dict-bname (or (car (cdr (member "-d" (ispell-get-ispell-args)))) |
| 2708 | ispell-current-dictionary)) | 2704 | ispell-current-dictionary)) |
| 2705 | ;; The directory where process was started. | ||
| 2706 | (current-ispell-directory default-directory) | ||
| 2707 | ;; The default directory for the process. | ||
| 2709 | ;; Use "~/" as default-directory unless using Ispell with per-dir | 2708 | ;; Use "~/" as default-directory unless using Ispell with per-dir |
| 2710 | ;; personal dictionaries and not in a minibuffer under XEmacs | 2709 | ;; personal dictionaries and not in a minibuffer under XEmacs |
| 2711 | (default-directory | 2710 | (default-directory |
| @@ -2896,13 +2895,15 @@ By just answering RET you can find out what the current dictionary is." | |||
| 2896 | "Update the dictionary and the personal dictionary used by Ispell. | 2895 | "Update the dictionary and the personal dictionary used by Ispell. |
| 2897 | This may kill the Ispell process; if so, a new one will be started | 2896 | This may kill the Ispell process; if so, a new one will be started |
| 2898 | when needed." | 2897 | when needed." |
| 2899 | (let ((dict (or ispell-local-dictionary ispell-dictionary)) | 2898 | (let* ((dict (or ispell-local-dictionary ispell-dictionary)) |
| 2900 | (pdict (or ispell-local-pdict ispell-personal-dictionary))) | 2899 | (pdict (or ispell-local-pdict ispell-personal-dictionary)) |
| 2900 | (expanded-pdict (if pdict (expand-file-name pdict)))) | ||
| 2901 | (unless (and (equal ispell-current-dictionary dict) | 2901 | (unless (and (equal ispell-current-dictionary dict) |
| 2902 | (equal ispell-current-personal-dictionary pdict)) | 2902 | (equal ispell-current-personal-dictionary |
| 2903 | expanded-pdict)) | ||
| 2903 | (ispell-kill-ispell t) | 2904 | (ispell-kill-ispell t) |
| 2904 | (setq ispell-current-dictionary dict | 2905 | (setq ispell-current-dictionary dict |
| 2905 | ispell-current-personal-dictionary pdict)))) | 2906 | ispell-current-personal-dictionary expanded-pdict)))) |
| 2906 | 2907 | ||
| 2907 | ;; Avoid error messages when compiling for these dynamic variables. | 2908 | ;; Avoid error messages when compiling for these dynamic variables. |
| 2908 | (defvar ispell-start) | 2909 | (defvar ispell-start) |
diff --git a/lisp/textmodes/reftex-parse.el b/lisp/textmodes/reftex-parse.el index 791b5d7b945..7169e70d6c4 100644 --- a/lisp/textmodes/reftex-parse.el +++ b/lisp/textmodes/reftex-parse.el | |||
| @@ -251,7 +251,7 @@ of master file." | |||
| 251 | ;; the next parsing iteration. | 251 | ;; the next parsing iteration. |
| 252 | (when (eq (char-before) ?\\) (backward-char)) | 252 | (when (eq (char-before) ?\\) (backward-char)) |
| 253 | ;; Insert in List | 253 | ;; Insert in List |
| 254 | (setq toc-entry (reftex-section-info file)) | 254 | (setq toc-entry (funcall reftex-section-info-function file)) |
| 255 | (when toc-entry | 255 | (when toc-entry |
| 256 | ;; It can happen that section info returns nil | 256 | ;; It can happen that section info returns nil |
| 257 | (setq level (nth 5 toc-entry)) | 257 | (setq level (nth 5 toc-entry)) |
diff --git a/lisp/textmodes/reftex-toc.el b/lisp/textmodes/reftex-toc.el index 4f73322d3f5..eec15be4d83 100644 --- a/lisp/textmodes/reftex-toc.el +++ b/lisp/textmodes/reftex-toc.el | |||
| @@ -785,7 +785,7 @@ PRO-OR-DE is assumed to be dynamically scoped into this function." | |||
| 785 | (marker (nth 4 data))) | 785 | (marker (nth 4 data))) |
| 786 | (with-current-buffer (marker-buffer marker) | 786 | (with-current-buffer (marker-buffer marker) |
| 787 | (goto-char (marker-position marker)) | 787 | (goto-char (marker-position marker)) |
| 788 | (if (looking-at (concat "\\([ \t]*\\\\\\)" (regexp-quote name))) | 788 | (if (looking-at (concat "\\([ \t]*" reftex-section-pre-regexp "\\)" (regexp-quote name))) |
| 789 | (replace-match (concat "\\1" newname)) | 789 | (replace-match (concat "\\1" newname)) |
| 790 | (error "Fatal error during %smotion" pro-or-de))))) | 790 | (error "Fatal error during %smotion" pro-or-de))))) |
| 791 | 791 | ||
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el index bdee0fcf1d4..dfbeda38fd9 100644 --- a/lisp/textmodes/reftex.el +++ b/lisp/textmodes/reftex.el | |||
| @@ -301,7 +301,9 @@ on the menu bar. | |||
| 301 | (modify-syntax-entry ?\' "." reftex-syntax-table-for-bib) | 301 | (modify-syntax-entry ?\' "." reftex-syntax-table-for-bib) |
| 302 | (modify-syntax-entry ?\" "." reftex-syntax-table-for-bib) | 302 | (modify-syntax-entry ?\" "." reftex-syntax-table-for-bib) |
| 303 | (modify-syntax-entry ?\[ "." reftex-syntax-table-for-bib) | 303 | (modify-syntax-entry ?\[ "." reftex-syntax-table-for-bib) |
| 304 | (modify-syntax-entry ?\] "." reftex-syntax-table-for-bib)) | 304 | (modify-syntax-entry ?\] "." reftex-syntax-table-for-bib) |
| 305 | |||
| 306 | (run-hooks 'reftex-mode-hook)) | ||
| 305 | ;; Mode was turned off | 307 | ;; Mode was turned off |
| 306 | (easy-menu-remove reftex-mode-menu))) | 308 | (easy-menu-remove reftex-mode-menu))) |
| 307 | 309 | ||
| @@ -664,6 +666,16 @@ will deactivate it." | |||
| 664 | (defvar reftex-find-label-regexp-format nil) | 666 | (defvar reftex-find-label-regexp-format nil) |
| 665 | (defvar reftex-find-label-regexp-format2 nil) | 667 | (defvar reftex-find-label-regexp-format2 nil) |
| 666 | 668 | ||
| 669 | ;; Constants for making RefTeX open to Texinfo hooking | ||
| 670 | (defvar reftex-section-pre-regexp "\\\\") | ||
| 671 | ;; Including `\' as a character to be matched at the end of the regexp | ||
| 672 | ;; will allow stuff like \begin{foo}\label{bar} to be matched. This | ||
| 673 | ;; will make the parser to advance one char too much. Therefore | ||
| 674 | ;; `reftex-parse-from-file' will step one char back if a section is | ||
| 675 | ;; found. | ||
| 676 | (defvar reftex-section-post-regexp "\\*?\\(\\[[^]]*\\]\\)?[[{ \t\r\n\\]") | ||
| 677 | (defvar reftex-section-info-function 'reftex-section-info) | ||
| 678 | |||
| 667 | (defvar reftex-memory nil | 679 | (defvar reftex-memory nil |
| 668 | "Memorizes old variable values to indicate changes in these variables.") | 680 | "Memorizes old variable values to indicate changes in these variables.") |
| 669 | 681 | ||
| @@ -1083,16 +1095,10 @@ This enforces rescanning the buffer on next use." | |||
| 1083 | reftex-include-file-commands "\\|") | 1095 | reftex-include-file-commands "\\|") |
| 1084 | "\\)[{ \t]+\\([^} \t\n\r]+\\)")) | 1096 | "\\)[{ \t]+\\([^} \t\n\r]+\\)")) |
| 1085 | (section-re | 1097 | (section-re |
| 1086 | ;; Including `\' as a character to be matched at the end | 1098 | (concat wbol reftex-section-pre-regexp "\\(" |
| 1087 | ;; of the regexp will allow stuff like | ||
| 1088 | ;; \begin{foo}\label{bar} to be matched. This will make | ||
| 1089 | ;; the parser to advance one char too much. Therefore | ||
| 1090 | ;; `reftex-parse-from-file' will step one char back if a | ||
| 1091 | ;; section is found. | ||
| 1092 | (concat wbol "\\\\\\(" | ||
| 1093 | (mapconcat (lambda (x) (regexp-quote (car x))) | 1099 | (mapconcat (lambda (x) (regexp-quote (car x))) |
| 1094 | reftex-section-levels-all "\\|") | 1100 | reftex-section-levels-all "\\|") |
| 1095 | "\\)\\*?\\(\\[[^]]*\\]\\)?[[{ \t\r\n\\]")) | 1101 | "\\)" reftex-section-post-regexp)) |
| 1096 | (appendix-re (concat wbol "\\(\\\\appendix\\)")) | 1102 | (appendix-re (concat wbol "\\(\\\\appendix\\)")) |
| 1097 | (macro-re | 1103 | (macro-re |
| 1098 | (if macros-with-labels | 1104 | (if macros-with-labels |
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index 46c65b25b37..97faa3afb36 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el | |||
| @@ -463,47 +463,39 @@ Do \\[describe-key] on the following bindings to discover what they do. | |||
| 463 | ;; A start or end tag by itself on a line separates a paragraph. | 463 | ;; A start or end tag by itself on a line separates a paragraph. |
| 464 | ;; This is desirable because SGML discards a newline that appears | 464 | ;; This is desirable because SGML discards a newline that appears |
| 465 | ;; immediately after a start tag or immediately before an end tag. | 465 | ;; immediately after a start tag or immediately before an end tag. |
| 466 | (set (make-local-variable 'paragraph-start) (concat "[ \t]*$\\|\ | 466 | (setq-local paragraph-start (concat "[ \t]*$\\|\ |
| 467 | \[ \t]*</?\\(" sgml-name-re sgml-attrs-re "\\)?>")) | 467 | \[ \t]*</?\\(" sgml-name-re sgml-attrs-re "\\)?>")) |
| 468 | (set (make-local-variable 'paragraph-separate) | 468 | (setq-local paragraph-separate (concat paragraph-start "$")) |
| 469 | (concat paragraph-start "$")) | 469 | (setq-local adaptive-fill-regexp "[ \t]*") |
| 470 | (set (make-local-variable 'adaptive-fill-regexp) "[ \t]*") | ||
| 471 | (add-hook 'fill-nobreak-predicate 'sgml-fill-nobreak nil t) | 470 | (add-hook 'fill-nobreak-predicate 'sgml-fill-nobreak nil t) |
| 472 | (set (make-local-variable 'indent-line-function) 'sgml-indent-line) | 471 | (setq-local indent-line-function 'sgml-indent-line) |
| 473 | (set (make-local-variable 'comment-start) "<!-- ") | 472 | (setq-local comment-start "<!-- ") |
| 474 | (set (make-local-variable 'comment-end) " -->") | 473 | (setq-local comment-end " -->") |
| 475 | (set (make-local-variable 'comment-indent-function) 'sgml-comment-indent) | 474 | (setq-local comment-indent-function 'sgml-comment-indent) |
| 476 | (set (make-local-variable 'comment-line-break-function) | 475 | (setq-local comment-line-break-function 'sgml-comment-indent-new-line) |
| 477 | 'sgml-comment-indent-new-line) | 476 | (setq-local skeleton-further-elements '((completion-ignore-case t))) |
| 478 | (set (make-local-variable 'skeleton-further-elements) | 477 | (setq-local skeleton-end-hook |
| 479 | '((completion-ignore-case t))) | 478 | (lambda () |
| 480 | (set (make-local-variable 'skeleton-end-hook) | 479 | (or (eolp) |
| 481 | (lambda () | 480 | (not (or (eq v2 '\n) (eq (car-safe v2) '\n))) |
| 482 | (or (eolp) | 481 | (newline-and-indent)))) |
| 483 | (not (or (eq v2 '\n) (eq (car-safe v2) '\n))) | 482 | (setq font-lock-defaults '((sgml-font-lock-keywords |
| 484 | (newline-and-indent)))) | 483 | sgml-font-lock-keywords-1 |
| 485 | (set (make-local-variable 'font-lock-defaults) | 484 | sgml-font-lock-keywords-2) |
| 486 | '((sgml-font-lock-keywords | 485 | nil t)) |
| 487 | sgml-font-lock-keywords-1 | 486 | (setq-local syntax-propertize-function sgml-syntax-propertize-function) |
| 488 | sgml-font-lock-keywords-2) | 487 | (setq-local facemenu-add-face-function 'sgml-mode-facemenu-add-face-function) |
| 489 | nil t)) | 488 | (setq-local sgml-xml-mode (sgml-xml-guess)) |
| 490 | (set (make-local-variable 'syntax-propertize-function) | 489 | (unless sgml-xml-mode |
| 491 | sgml-syntax-propertize-function) | 490 | (setq-local skeleton-transformation-function sgml-transformation-function)) |
| 492 | (set (make-local-variable 'facemenu-add-face-function) | ||
| 493 | 'sgml-mode-facemenu-add-face-function) | ||
| 494 | (set (make-local-variable 'sgml-xml-mode) (sgml-xml-guess)) | ||
| 495 | (if sgml-xml-mode | ||
| 496 | () | ||
| 497 | (set (make-local-variable 'skeleton-transformation-function) | ||
| 498 | sgml-transformation-function)) | ||
| 499 | ;; This will allow existing comments within declarations to be | 491 | ;; This will allow existing comments within declarations to be |
| 500 | ;; recognized. | 492 | ;; recognized. |
| 501 | ;; I can't find a clear description of SGML/XML comments, but it seems that | 493 | ;; I can't find a clear description of SGML/XML comments, but it seems that |
| 502 | ;; the only reliable ones are <!-- ... --> although it's not clear what | 494 | ;; the only reliable ones are <!-- ... --> although it's not clear what |
| 503 | ;; "..." can contain. It used to accept -- ... -- as well, but that was | 495 | ;; "..." can contain. It used to accept -- ... -- as well, but that was |
| 504 | ;; apparently a mistake. | 496 | ;; apparently a mistake. |
| 505 | (set (make-local-variable 'comment-start-skip) "<!--[ \t]*") | 497 | (setq-local comment-start-skip "<!--[ \t]*") |
| 506 | (set (make-local-variable 'comment-end-skip) "[ \t]*--[ \t\n]*>") | 498 | (setq-local comment-end-skip "[ \t]*--[ \t\n]*>") |
| 507 | ;; This definition has an HTML leaning but probably fits well for other modes. | 499 | ;; This definition has an HTML leaning but probably fits well for other modes. |
| 508 | (setq imenu-generic-expression | 500 | (setq imenu-generic-expression |
| 509 | `((nil | 501 | `((nil |
| @@ -671,13 +663,13 @@ in your `.emacs': | |||
| 671 | (if (eq v2 t) (setq v2 nil)) | 663 | (if (eq v2 t) (setq v2 nil)) |
| 672 | ;; We use `identity' to prevent skeleton from passing | 664 | ;; We use `identity' to prevent skeleton from passing |
| 673 | ;; `str' through `skeleton-transformation-function' a second time. | 665 | ;; `str' through `skeleton-transformation-function' a second time. |
| 674 | '(("") v2 _ v2 "</" (identity ',str) ?>)) | 666 | '(("") v2 _ v2 "</" (identity ',str) ?> >)) |
| 675 | ((eq (car v2) t) | 667 | ((eq (car v2) t) |
| 676 | (cons '("") (cdr v2))) | 668 | (cons '("") (cdr v2))) |
| 677 | (t | 669 | (t |
| 678 | (append '(("") (car v2)) | 670 | (append '(("") (car v2)) |
| 679 | (cdr v2) | 671 | (cdr v2) |
| 680 | '(resume: (car v2) _ "</" (identity ',str) ?>)))))) | 672 | '(resume: (car v2) _ "</" (identity ',str) ?> >)))))) |
| 681 | 673 | ||
| 682 | (autoload 'skeleton-read "skeleton") | 674 | (autoload 'skeleton-read "skeleton") |
| 683 | 675 | ||
| @@ -982,10 +974,10 @@ With prefix argument ARG, repeat this ARG times." | |||
| 982 | (unwind-protect | 974 | (unwind-protect |
| 983 | (save-excursion | 975 | (save-excursion |
| 984 | (goto-char (point-min)) | 976 | (goto-char (point-min)) |
| 985 | (if (set (make-local-variable 'sgml-tags-invisible) | 977 | (if (setq-local sgml-tags-invisible |
| 986 | (if arg | 978 | (if arg |
| 987 | (>= (prefix-numeric-value arg) 0) | 979 | (>= (prefix-numeric-value arg) 0) |
| 988 | (not sgml-tags-invisible))) | 980 | (not sgml-tags-invisible))) |
| 989 | (while (re-search-forward sgml-tag-name-re nil t) | 981 | (while (re-search-forward sgml-tag-name-re nil t) |
| 990 | (setq string | 982 | (setq string |
| 991 | (cdr (assq (intern-soft (downcase (match-string 1))) | 983 | (cdr (assq (intern-soft (downcase (match-string 1))) |
| @@ -1564,8 +1556,7 @@ Add this to `sgml-mode-hook' for convenience." | |||
| 1564 | (goto-char (point-min)) | 1556 | (goto-char (point-min)) |
| 1565 | (if (re-search-forward "^\\([ \t]+\\)<" 500 'noerror) | 1557 | (if (re-search-forward "^\\([ \t]+\\)<" 500 'noerror) |
| 1566 | (progn | 1558 | (progn |
| 1567 | (set (make-local-variable 'sgml-basic-offset) | 1559 | (setq-local sgml-basic-offset (1- (current-column))) |
| 1568 | (1- (current-column))) | ||
| 1569 | (message "Guessed sgml-basic-offset = %d" | 1560 | (message "Guessed sgml-basic-offset = %d" |
| 1570 | sgml-basic-offset) | 1561 | sgml-basic-offset) |
| 1571 | )))) | 1562 | )))) |
| @@ -1941,6 +1932,19 @@ This takes effect when first loading the library.") | |||
| 1941 | (defvar outline-heading-end-regexp) | 1932 | (defvar outline-heading-end-regexp) |
| 1942 | (defvar outline-level) | 1933 | (defvar outline-level) |
| 1943 | 1934 | ||
| 1935 | (defun html-current-defun-name () | ||
| 1936 | "Return the name of the last HTML title or heading, or nil." | ||
| 1937 | (save-excursion | ||
| 1938 | (if (re-search-backward | ||
| 1939 | (concat | ||
| 1940 | "<[ \t\r\n]*" | ||
| 1941 | "\\(?:[hH][0-6]\\|title\\|TITLE\\|Title\\)" | ||
| 1942 | "[^>]*>" | ||
| 1943 | "[ \t\r\n]*" | ||
| 1944 | "\\([^<\r\n]*[^ <\t\r\n]+\\)") | ||
| 1945 | nil t) | ||
| 1946 | (match-string-no-properties 1)))) | ||
| 1947 | |||
| 1944 | 1948 | ||
| 1945 | ;;;###autoload | 1949 | ;;;###autoload |
| 1946 | (define-derived-mode html-mode sgml-mode '(sgml-xml-mode "XHTML" "HTML") | 1950 | (define-derived-mode html-mode sgml-mode '(sgml-xml-mode "XHTML" "HTML") |
| @@ -1979,33 +1983,29 @@ To work around that, do: | |||
| 1979 | (eval-after-load \"sgml-mode\" '(aset sgml-char-names ?' nil)) | 1983 | (eval-after-load \"sgml-mode\" '(aset sgml-char-names ?' nil)) |
| 1980 | 1984 | ||
| 1981 | \\{html-mode-map}" | 1985 | \\{html-mode-map}" |
| 1982 | (set (make-local-variable 'sgml-display-text) html-display-text) | 1986 | (setq-local sgml-display-text html-display-text) |
| 1983 | (set (make-local-variable 'sgml-tag-face-alist) html-tag-face-alist) | 1987 | (setq-local sgml-tag-face-alist html-tag-face-alist) |
| 1984 | (make-local-variable 'sgml-tag-alist) | 1988 | (setq-local sgml-tag-alist html-tag-alist) |
| 1985 | (make-local-variable 'sgml-face-tag-alist) | 1989 | (setq-local sgml-face-tag-alist html-face-tag-alist) |
| 1986 | (make-local-variable 'sgml-tag-help) | 1990 | (setq-local sgml-tag-help html-tag-help) |
| 1987 | (make-local-variable 'outline-regexp) | 1991 | (setq-local outline-regexp "^.*<[Hh][1-6]\\>") |
| 1988 | (make-local-variable 'outline-heading-end-regexp) | 1992 | (setq-local outline-heading-end-regexp "</[Hh][1-6]>") |
| 1989 | (make-local-variable 'outline-level) | 1993 | (setq-local outline-level |
| 1990 | (make-local-variable 'sentence-end-base) | 1994 | (lambda () (char-before (match-end 0)))) |
| 1991 | (setq sentence-end-base "[.?!][]\"'”)}]*\\(<[^>]*>\\)*" | 1995 | (setq-local add-log-current-defun-function #'html-current-defun-name) |
| 1992 | sgml-tag-alist html-tag-alist | 1996 | (setq-local sentence-end-base "[.?!][]\"'”)}]*\\(<[^>]*>\\)*") |
| 1993 | sgml-face-tag-alist html-face-tag-alist | 1997 | |
| 1994 | sgml-tag-help html-tag-help | ||
| 1995 | outline-regexp "^.*<[Hh][1-6]\\>" | ||
| 1996 | outline-heading-end-regexp "</[Hh][1-6]>" | ||
| 1997 | outline-level (lambda () | ||
| 1998 | (char-before (match-end 0)))) | ||
| 1999 | (setq imenu-create-index-function 'html-imenu-index) | 1998 | (setq imenu-create-index-function 'html-imenu-index) |
| 2000 | (set (make-local-variable 'sgml-empty-tags) | 1999 | |
| 2001 | ;; From HTML-4.01's loose.dtd, parsed with `sgml-parse-dtd', | 2000 | (setq-local sgml-empty-tags |
| 2002 | ;; plus manual addition of "wbr". | 2001 | ;; From HTML-4.01's loose.dtd, parsed with |
| 2003 | '("area" "base" "basefont" "br" "col" "frame" "hr" "img" "input" | 2002 | ;; `sgml-parse-dtd', plus manual addition of "wbr". |
| 2004 | "isindex" "link" "meta" "param" "wbr")) | 2003 | '("area" "base" "basefont" "br" "col" "frame" "hr" "img" "input" |
| 2005 | (set (make-local-variable 'sgml-unclosed-tags) | 2004 | "isindex" "link" "meta" "param" "wbr")) |
| 2006 | ;; From HTML-4.01's loose.dtd, parsed with `sgml-parse-dtd'. | 2005 | (setq-local sgml-unclosed-tags |
| 2007 | '("body" "colgroup" "dd" "dt" "head" "html" "li" "option" | 2006 | ;; From HTML-4.01's loose.dtd, parsed with `sgml-parse-dtd'. |
| 2008 | "p" "tbody" "td" "tfoot" "th" "thead" "tr")) | 2007 | '("body" "colgroup" "dd" "dt" "head" "html" "li" "option" |
| 2008 | "p" "tbody" "td" "tfoot" "th" "thead" "tr")) | ||
| 2009 | ;; It's for the user to decide if it defeats it or not -stef | 2009 | ;; It's for the user to decide if it defeats it or not -stef |
| 2010 | ;; (make-local-variable 'imenu-sort-function) | 2010 | ;; (make-local-variable 'imenu-sort-function) |
| 2011 | ;; (setq imenu-sort-function nil) ; sorting the menu defeats the purpose | 2011 | ;; (setq imenu-sort-function nil) ; sorting the menu defeats the purpose |
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index 3d9f88a43c9..cbfc746dc56 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el | |||
| @@ -1570,8 +1570,7 @@ results. | |||
| 1570 | 1570 | ||
| 1571 | Inside a table cell has a special keymap. | 1571 | Inside a table cell has a special keymap. |
| 1572 | 1572 | ||
| 1573 | \\{table-cell-map} | 1573 | \\{table-cell-map}" |
| 1574 | " | ||
| 1575 | (interactive | 1574 | (interactive |
| 1576 | (progn | 1575 | (progn |
| 1577 | (barf-if-buffer-read-only) | 1576 | (barf-if-buffer-read-only) |
| @@ -1583,41 +1582,47 @@ Inside a table cell has a special keymap. | |||
| 1583 | ("Cell width(s)" . table-cell-width-history) | 1582 | ("Cell width(s)" . table-cell-width-history) |
| 1584 | ("Cell height(s)" . table-cell-height-history))))) | 1583 | ("Cell height(s)" . table-cell-height-history))))) |
| 1585 | (table--make-cell-map) | 1584 | (table--make-cell-map) |
| 1586 | ;; reform the arguments. | 1585 | ;; Reform the arguments. |
| 1587 | (if (null cell-width) (setq cell-width (car table-cell-width-history))) | 1586 | (if (null cell-width) (setq cell-width (car table-cell-width-history))) |
| 1588 | (if (null cell-height) (setq cell-height (car table-cell-height-history))) | 1587 | (if (null cell-height) (setq cell-height (car table-cell-height-history))) |
| 1589 | (if (stringp columns) (setq columns (string-to-number columns))) | 1588 | (if (stringp columns) (setq columns (string-to-number columns))) |
| 1590 | (if (stringp rows) (setq rows (string-to-number rows))) | 1589 | (if (stringp rows) (setq rows (string-to-number rows))) |
| 1591 | (if (stringp cell-width) (setq cell-width (table--string-to-number-list cell-width))) | 1590 | (if (stringp cell-width) |
| 1592 | (if (stringp cell-height) (setq cell-height (table--string-to-number-list cell-height))) | 1591 | (setq cell-width (table--string-to-number-list cell-width))) |
| 1592 | (if (stringp cell-height) | ||
| 1593 | (setq cell-height (table--string-to-number-list cell-height))) | ||
| 1593 | (if (numberp cell-width) (setq cell-width (cons cell-width nil))) | 1594 | (if (numberp cell-width) (setq cell-width (cons cell-width nil))) |
| 1594 | (if (numberp cell-height) (setq cell-height (cons cell-height nil))) | 1595 | (if (numberp cell-height) (setq cell-height (cons cell-height nil))) |
| 1595 | ;; test validity of the arguments. | 1596 | ;; Test validity of the arguments. |
| 1596 | (mapc (lambda (arg) | 1597 | (dolist (arg `((columns . ,columns) |
| 1597 | (let* ((value (symbol-value arg)) | 1598 | (rows . ,rows) |
| 1598 | (error-handler | 1599 | (cell-width . ,cell-width) |
| 1599 | (function (lambda () | 1600 | (cell-height . ,cell-height))) |
| 1600 | (error "%s must be a positive integer%s" arg | 1601 | (let* ((value (cdr arg)) |
| 1601 | (if (listp value) " or a list of positive integers" "")))))) | 1602 | (error-handler |
| 1602 | (if (null value) (funcall error-handler)) | 1603 | (lambda () |
| 1603 | (mapcar (function (lambda (arg1) | 1604 | (error "%s must be a positive integer%s" (car arg) |
| 1604 | (if (or (not (integerp arg1)) | 1605 | (if (listp value) |
| 1605 | (< arg1 1)) | 1606 | " or a list of positive integers" ""))))) |
| 1606 | (funcall error-handler)))) | 1607 | (if (null value) (funcall error-handler)) |
| 1607 | (if (listp value) value | 1608 | (dolist (arg1 (if (listp value) value |
| 1608 | (cons value nil))))) | 1609 | (cons value nil))) |
| 1609 | '(columns rows cell-width cell-height)) | 1610 | (if (or (not (integerp arg1)) |
| 1611 | (< arg1 1)) | ||
| 1612 | (funcall error-handler))))) | ||
| 1610 | (let ((orig-coord (table--get-coordinate)) | 1613 | (let ((orig-coord (table--get-coordinate)) |
| 1611 | (coord (table--get-coordinate)) | 1614 | (coord (table--get-coordinate)) |
| 1612 | r i cw ch cell-str border-str) | 1615 | r i cw ch cell-str border-str) |
| 1613 | ;; prefabricate the building blocks border-str and cell-str. | 1616 | ;; Prefabricate the building blocks border-str and cell-str. |
| 1614 | (with-temp-buffer | 1617 | (with-temp-buffer |
| 1615 | ;; construct border-str | 1618 | ;; Construct border-str. |
| 1616 | (insert table-cell-intersection-char) | 1619 | (insert table-cell-intersection-char) |
| 1617 | (setq cw cell-width) | 1620 | (setq cw cell-width) |
| 1618 | (setq i 0) | 1621 | (setq i 0) |
| 1619 | (while (< i columns) | 1622 | (while (< i columns) |
| 1620 | (insert (make-string (car cw) (string-to-char table-cell-horizontal-chars)) table-cell-intersection-char) | 1623 | (insert (make-string (car cw) |
| 1624 | (string-to-char table-cell-horizontal-chars)) | ||
| 1625 | table-cell-intersection-char) | ||
| 1621 | (if (cdr cw) (setq cw (cdr cw))) | 1626 | (if (cdr cw) (setq cw (cdr cw))) |
| 1622 | (setq i (1+ i))) | 1627 | (setq i (1+ i))) |
| 1623 | (setq border-str (buffer-substring (point-min) (point-max))) | 1628 | (setq border-str (buffer-substring (point-min) (point-max))) |
| @@ -5210,7 +5215,7 @@ instead of the current buffer and returns the OBJECT." | |||
| 5210 | "Update cell face according to the current mode." | 5215 | "Update cell face according to the current mode." |
| 5211 | (if (featurep 'xemacs) | 5216 | (if (featurep 'xemacs) |
| 5212 | (set-face-property 'table-cell 'underline table-fixed-width-mode) | 5217 | (set-face-property 'table-cell 'underline table-fixed-width-mode) |
| 5213 | (set-face-inverse-video-p 'table-cell table-fixed-width-mode))) | 5218 | (set-face-inverse-video 'table-cell table-fixed-width-mode))) |
| 5214 | 5219 | ||
| 5215 | (table--update-cell-face) | 5220 | (table--update-cell-face) |
| 5216 | 5221 | ||
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 062f43be57b..16689b1ad02 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el | |||
| @@ -421,6 +421,17 @@ An alternative value is \" . \", if you use a font with a narrow period." | |||
| 421 | (if (looking-at latex-outline-regexp) | 421 | (if (looking-at latex-outline-regexp) |
| 422 | (1+ (or (cdr (assoc (match-string 1) latex-section-alist)) -1)) | 422 | (1+ (or (cdr (assoc (match-string 1) latex-section-alist)) -1)) |
| 423 | 1000)) | 423 | 1000)) |
| 424 | |||
| 425 | (defun tex-current-defun-name () | ||
| 426 | "Return the name of the TeX section/paragraph/chapter at point, or nil." | ||
| 427 | (save-excursion | ||
| 428 | (when (re-search-backward | ||
| 429 | "\\\\\\(sub\\)*\\(section\\|paragraph\\|chapter\\)" | ||
| 430 | nil t) | ||
| 431 | (goto-char (match-beginning 0)) | ||
| 432 | (buffer-substring-no-properties | ||
| 433 | (1+ (point)) ; without initial backslash | ||
| 434 | (line-end-position))))) | ||
| 424 | 435 | ||
| 425 | ;;;; | 436 | ;;;; |
| 426 | ;;;; Font-Lock support | 437 | ;;;; Font-Lock support |
| @@ -1062,10 +1073,10 @@ tex-show-queue-command | |||
| 1062 | Entering Plain-tex mode runs the hook `text-mode-hook', then the hook | 1073 | Entering Plain-tex mode runs the hook `text-mode-hook', then the hook |
| 1063 | `tex-mode-hook', and finally the hook `plain-tex-mode-hook'. When the | 1074 | `tex-mode-hook', and finally the hook `plain-tex-mode-hook'. When the |
| 1064 | special subshell is initiated, the hook `tex-shell-hook' is run." | 1075 | special subshell is initiated, the hook `tex-shell-hook' is run." |
| 1065 | (set (make-local-variable 'tex-command) tex-run-command) | 1076 | (setq-local tex-command tex-run-command) |
| 1066 | (set (make-local-variable 'tex-start-of-header) "%\\*\\*start of header") | 1077 | (setq-local tex-start-of-header "%\\*\\*start of header") |
| 1067 | (set (make-local-variable 'tex-end-of-header) "%\\*\\*end of header") | 1078 | (setq-local tex-end-of-header "%\\*\\*end of header") |
| 1068 | (set (make-local-variable 'tex-trailer) "\\bye\n")) | 1079 | (setq-local tex-trailer "\\bye\n")) |
| 1069 | 1080 | ||
| 1070 | ;;;###autoload | 1081 | ;;;###autoload |
| 1071 | (define-derived-mode latex-mode tex-mode "LaTeX" | 1082 | (define-derived-mode latex-mode tex-mode "LaTeX" |
| @@ -1108,11 +1119,10 @@ tex-show-queue-command | |||
| 1108 | Entering Latex mode runs the hook `text-mode-hook', then | 1119 | Entering Latex mode runs the hook `text-mode-hook', then |
| 1109 | `tex-mode-hook', and finally `latex-mode-hook'. When the special | 1120 | `tex-mode-hook', and finally `latex-mode-hook'. When the special |
| 1110 | subshell is initiated, `tex-shell-hook' is run." | 1121 | subshell is initiated, `tex-shell-hook' is run." |
| 1111 | (set (make-local-variable 'tex-command) latex-run-command) | 1122 | (setq-local tex-command latex-run-command) |
| 1112 | (set (make-local-variable 'tex-start-of-header) | 1123 | (setq-local tex-start-of-header "\\\\document\\(style\\|class\\)") |
| 1113 | "\\\\document\\(style\\|class\\)") | 1124 | (setq-local tex-end-of-header "\\\\begin\\s-*{document}") |
| 1114 | (set (make-local-variable 'tex-end-of-header) "\\\\begin\\s-*{document}") | 1125 | (setq-local tex-trailer "\\end{document}\n") |
| 1115 | (set (make-local-variable 'tex-trailer) "\\end{document}\n") | ||
| 1116 | ;; A line containing just $$ is treated as a paragraph separator. | 1126 | ;; A line containing just $$ is treated as a paragraph separator. |
| 1117 | ;; A line starting with $$ starts a paragraph, | 1127 | ;; A line starting with $$ starts a paragraph, |
| 1118 | ;; but does not separate paragraphs if it has more stuff on it. | 1128 | ;; but does not separate paragraphs if it has more stuff on it. |
| @@ -1138,18 +1148,17 @@ subshell is initiated, `tex-shell-hook' is run." | |||
| 1138 | "marginpar" "parbox" "caption")) | 1148 | "marginpar" "parbox" "caption")) |
| 1139 | "\\|\\$\\$\\|[a-z]*\\(space\\|skip\\|page[a-z]*\\)" | 1149 | "\\|\\$\\$\\|[a-z]*\\(space\\|skip\\|page[a-z]*\\)" |
| 1140 | "\\>\\)[ \t]*\\($\\|%\\)\\)")) | 1150 | "\\>\\)[ \t]*\\($\\|%\\)\\)")) |
| 1141 | (set (make-local-variable 'imenu-create-index-function) | 1151 | (setq-local imenu-create-index-function 'latex-imenu-create-index) |
| 1142 | 'latex-imenu-create-index) | 1152 | (setq-local tex-face-alist tex-latex-face-alist) |
| 1143 | (set (make-local-variable 'tex-face-alist) tex-latex-face-alist) | ||
| 1144 | (add-hook 'fill-nobreak-predicate 'latex-fill-nobreak-predicate nil t) | 1153 | (add-hook 'fill-nobreak-predicate 'latex-fill-nobreak-predicate nil t) |
| 1145 | (set (make-local-variable 'indent-line-function) 'latex-indent) | 1154 | (setq-local indent-line-function 'latex-indent) |
| 1146 | (set (make-local-variable 'fill-indent-according-to-mode) t) | 1155 | (setq-local fill-indent-according-to-mode t) |
| 1147 | (add-hook 'completion-at-point-functions | 1156 | (add-hook 'completion-at-point-functions |
| 1148 | 'latex-complete-data nil 'local) | 1157 | 'latex-complete-data nil 'local) |
| 1149 | (set (make-local-variable 'outline-regexp) latex-outline-regexp) | 1158 | (setq-local outline-regexp latex-outline-regexp) |
| 1150 | (set (make-local-variable 'outline-level) 'latex-outline-level) | 1159 | (setq-local outline-level 'latex-outline-level) |
| 1151 | (set (make-local-variable 'forward-sexp-function) 'latex-forward-sexp) | 1160 | (setq-local forward-sexp-function 'latex-forward-sexp) |
| 1152 | (set (make-local-variable 'skeleton-end-hook) nil)) | 1161 | (setq-local skeleton-end-hook nil)) |
| 1153 | 1162 | ||
| 1154 | ;;;###autoload | 1163 | ;;;###autoload |
| 1155 | (define-derived-mode slitex-mode latex-mode "SliTeX" | 1164 | (define-derived-mode slitex-mode latex-mode "SliTeX" |
| @@ -1198,39 +1207,36 @@ Entering SliTeX mode runs the hook `text-mode-hook', then the hook | |||
| 1198 | 1207 | ||
| 1199 | (defun tex-common-initialization () | 1208 | (defun tex-common-initialization () |
| 1200 | ;; Regexp isearch should accept newline and formfeed as whitespace. | 1209 | ;; Regexp isearch should accept newline and formfeed as whitespace. |
| 1201 | (set (make-local-variable 'search-whitespace-regexp) "[ \t\r\n\f]+") | 1210 | (setq-local search-whitespace-regexp "[ \t\r\n\f]+") |
| 1202 | ;; A line containing just $$ is treated as a paragraph separator. | 1211 | ;; A line containing just $$ is treated as a paragraph separator. |
| 1203 | (set (make-local-variable 'paragraph-start) | 1212 | (setq-local paragraph-start "[ \t]*$\\|[\f\\\\%]\\|[ \t]*\\$\\$") |
| 1204 | "[ \t]*$\\|[\f\\\\%]\\|[ \t]*\\$\\$") | ||
| 1205 | ;; A line starting with $$ starts a paragraph, | 1213 | ;; A line starting with $$ starts a paragraph, |
| 1206 | ;; but does not separate paragraphs if it has more stuff on it. | 1214 | ;; but does not separate paragraphs if it has more stuff on it. |
| 1207 | (set (make-local-variable 'paragraph-separate) | 1215 | (setq-local paragraph-separate "[ \t]*$\\|[\f\\\\%]\\|[ \t]*\\$\\$[ \t]*$") |
| 1208 | "[ \t]*$\\|[\f\\\\%]\\|[ \t]*\\$\\$[ \t]*$") | 1216 | (setq-local add-log-current-defun-function #'tex-current-defun-name) |
| 1209 | (set (make-local-variable 'comment-start) "%") | 1217 | (setq-local comment-start "%") |
| 1210 | (set (make-local-variable 'comment-add) 1) | 1218 | (setq-local comment-add 1) |
| 1211 | (set (make-local-variable 'comment-start-skip) | 1219 | (setq-local comment-start-skip |
| 1212 | "\\(\\(^\\|[^\\\n]\\)\\(\\\\\\\\\\)*\\)\\(%+ *\\)") | 1220 | "\\(\\(^\\|[^\\\n]\\)\\(\\\\\\\\\\)*\\)\\(%+ *\\)") |
| 1213 | (set (make-local-variable 'parse-sexp-ignore-comments) t) | 1221 | (setq-local parse-sexp-ignore-comments t) |
| 1214 | (set (make-local-variable 'compare-windows-whitespace) | 1222 | (setq-local compare-windows-whitespace 'tex-categorize-whitespace) |
| 1215 | 'tex-categorize-whitespace) | 1223 | (setq-local facemenu-add-face-function 'tex-facemenu-add-face-function) |
| 1216 | (set (make-local-variable 'facemenu-add-face-function) | 1224 | (setq-local facemenu-end-add-face "}") |
| 1217 | 'tex-facemenu-add-face-function) | 1225 | (setq-local facemenu-remove-face-function t) |
| 1218 | (set (make-local-variable 'facemenu-end-add-face) "}") | 1226 | (setq-local font-lock-defaults |
| 1219 | (set (make-local-variable 'facemenu-remove-face-function) t) | 1227 | '((tex-font-lock-keywords tex-font-lock-keywords-1 |
| 1220 | (set (make-local-variable 'font-lock-defaults) | 1228 | tex-font-lock-keywords-2 tex-font-lock-keywords-3) |
| 1221 | '((tex-font-lock-keywords tex-font-lock-keywords-1 | 1229 | nil nil nil nil |
| 1222 | tex-font-lock-keywords-2 tex-font-lock-keywords-3) | 1230 | ;; Who ever uses that anyway ??? |
| 1223 | nil nil nil nil | 1231 | (font-lock-mark-block-function . mark-paragraph) |
| 1224 | ;; Who ever uses that anyway ??? | 1232 | (font-lock-syntactic-face-function |
| 1225 | (font-lock-mark-block-function . mark-paragraph) | 1233 | . tex-font-lock-syntactic-face-function) |
| 1226 | (font-lock-syntactic-face-function | 1234 | (font-lock-unfontify-region-function |
| 1227 | . tex-font-lock-syntactic-face-function) | 1235 | . tex-font-lock-unfontify-region))) |
| 1228 | (font-lock-unfontify-region-function | 1236 | (setq-local syntax-propertize-function |
| 1229 | . tex-font-lock-unfontify-region))) | 1237 | (syntax-propertize-rules latex-syntax-propertize-rules)) |
| 1230 | (set (make-local-variable 'syntax-propertize-function) | ||
| 1231 | (syntax-propertize-rules latex-syntax-propertize-rules)) | ||
| 1232 | ;; TABs in verbatim environments don't do what you think. | 1238 | ;; TABs in verbatim environments don't do what you think. |
| 1233 | (set (make-local-variable 'indent-tabs-mode) nil) | 1239 | (setq-local indent-tabs-mode nil) |
| 1234 | ;; Other vars that should be buffer-local. | 1240 | ;; Other vars that should be buffer-local. |
| 1235 | (make-local-variable 'tex-command) | 1241 | (make-local-variable 'tex-command) |
| 1236 | (make-local-variable 'tex-start-of-header) | 1242 | (make-local-variable 'tex-start-of-header) |
| @@ -1523,8 +1529,7 @@ Puts point on a blank line between them." | |||
| 1523 | (looking-at bibtex-reference-key)) | 1529 | (looking-at bibtex-reference-key)) |
| 1524 | (push (match-string-no-properties 0) keys))))) | 1530 | (push (match-string-no-properties 0) keys))))) |
| 1525 | ;; Fill the cache. | 1531 | ;; Fill the cache. |
| 1526 | (set (make-local-variable 'latex-complete-bibtex-cache) | 1532 | (setq-local latex-complete-bibtex-cache (list files key keys))) |
| 1527 | (list files key keys))) | ||
| 1528 | (complete-with-action action keys key pred))))) | 1533 | (complete-with-action action keys key pred))))) |
| 1529 | 1534 | ||
| 1530 | (defun latex-complete-envnames () | 1535 | (defun latex-complete-envnames () |
| @@ -1885,8 +1890,7 @@ Mark is left at original location." | |||
| 1885 | ;; The utility functions: | 1890 | ;; The utility functions: |
| 1886 | 1891 | ||
| 1887 | (define-derived-mode tex-shell shell-mode "TeX-Shell" | 1892 | (define-derived-mode tex-shell shell-mode "TeX-Shell" |
| 1888 | (set (make-local-variable 'compilation-error-regexp-alist) | 1893 | (setq-local compilation-error-regexp-alist tex-error-regexp-alist) |
| 1889 | tex-error-regexp-alist) | ||
| 1890 | (compilation-shell-minor-mode t)) | 1894 | (compilation-shell-minor-mode t)) |
| 1891 | 1895 | ||
| 1892 | ;;;###autoload | 1896 | ;;;###autoload |
| @@ -2099,8 +2103,7 @@ of the current buffer." | |||
| 2099 | (with-no-warnings | 2103 | (with-no-warnings |
| 2100 | (when (boundp 'TeX-master) | 2104 | (when (boundp 'TeX-master) |
| 2101 | (cond ((stringp TeX-master) | 2105 | (cond ((stringp TeX-master) |
| 2102 | (make-local-variable 'tex-main-file) | 2106 | (setq-local tex-main-file TeX-master)) |
| 2103 | (setq tex-main-file TeX-master)) | ||
| 2104 | ((and (eq TeX-master t) buffer-file-name) | 2107 | ((and (eq TeX-master t) buffer-file-name) |
| 2105 | (file-relative-name buffer-file-name))))) | 2108 | (file-relative-name buffer-file-name))))) |
| 2106 | ;; Try to guess the main file. | 2109 | ;; Try to guess the main file. |
| @@ -2870,8 +2873,8 @@ There might be text before point." | |||
| 2870 | (cons (car x) 'doctex-font-lock-syntactic-face-function)) | 2873 | (cons (car x) 'doctex-font-lock-syntactic-face-function)) |
| 2871 | (_ x))) | 2874 | (_ x))) |
| 2872 | (cdr font-lock-defaults)))) | 2875 | (cdr font-lock-defaults)))) |
| 2873 | (set (make-local-variable 'syntax-propertize-function) | 2876 | (setq-local syntax-propertize-function |
| 2874 | (syntax-propertize-rules doctex-syntax-propertize-rules))) | 2877 | (syntax-propertize-rules doctex-syntax-propertize-rules))) |
| 2875 | 2878 | ||
| 2876 | (run-hooks 'tex-mode-load-hook) | 2879 | (run-hooks 'tex-mode-load-hook) |
| 2877 | 2880 | ||
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el index 4e7715dcea9..263d875a5f0 100644 --- a/lisp/textmodes/texinfo.el +++ b/lisp/textmodes/texinfo.el | |||
| @@ -33,6 +33,15 @@ | |||
| 33 | ;;; Code: | 33 | ;;; Code: |
| 34 | 34 | ||
| 35 | (eval-when-compile (require 'tex-mode)) | 35 | (eval-when-compile (require 'tex-mode)) |
| 36 | (declare-function tex-buffer "tex-mode" ()) | ||
| 37 | (declare-function tex-region "tex-mode" (beg end)) | ||
| 38 | (declare-function tex-send-command "tex-mode") | ||
| 39 | (declare-function tex-recenter-output-buffer "tex-mode" (linenum)) | ||
| 40 | (declare-function tex-print "tex-mode" (&optional alt)) | ||
| 41 | (declare-function tex-view "tex-mode" ()) | ||
| 42 | (declare-function tex-shell-running "tex-mode" ()) | ||
| 43 | (declare-function tex-kill-job "tex-mode" ()) | ||
| 44 | |||
| 36 | (defvar outline-heading-alist) | 45 | (defvar outline-heading-alist) |
| 37 | 46 | ||
| 38 | (defgroup texinfo nil | 47 | (defgroup texinfo nil |
| @@ -502,6 +511,12 @@ Subexpression 1 is what goes into the corresponding `@end' statement.") | |||
| 502 | (regexp-opt (texinfo-filter 2 texinfo-section-list)) | 511 | (regexp-opt (texinfo-filter 2 texinfo-section-list)) |
| 503 | "Regular expression matching just the Texinfo chapter level headings.") | 512 | "Regular expression matching just the Texinfo chapter level headings.") |
| 504 | 513 | ||
| 514 | (defun texinfo-current-defun-name () | ||
| 515 | "Return the name of the Texinfo node at point, or nil." | ||
| 516 | (save-excursion | ||
| 517 | (if (re-search-backward "^@node[ \t]+\\([^,\n]+\\)" nil t) | ||
| 518 | (match-string-no-properties 1)))) | ||
| 519 | |||
| 505 | ;;; Texinfo mode | 520 | ;;; Texinfo mode |
| 506 | 521 | ||
| 507 | ;;;###autoload | 522 | ;;;###autoload |
| @@ -571,66 +586,53 @@ be the first node in the file. | |||
| 571 | 586 | ||
| 572 | Entering Texinfo mode calls the value of `text-mode-hook', and then the | 587 | Entering Texinfo mode calls the value of `text-mode-hook', and then the |
| 573 | value of `texinfo-mode-hook'." | 588 | value of `texinfo-mode-hook'." |
| 574 | (set (make-local-variable 'page-delimiter) | 589 | (setq-local page-delimiter |
| 575 | (concat | 590 | (concat "^@node [ \t]*[Tt]op\\|^@\\(" |
| 576 | "^@node [ \t]*[Tt]op\\|^@\\(" | 591 | texinfo-chapter-level-regexp |
| 577 | texinfo-chapter-level-regexp | 592 | "\\)\\>")) |
| 578 | "\\)\\>")) | 593 | (setq-local require-final-newline mode-require-final-newline) |
| 579 | (make-local-variable 'require-final-newline) | 594 | (setq-local indent-tabs-mode nil) |
| 580 | (setq require-final-newline mode-require-final-newline) | 595 | (setq-local paragraph-separate |
| 581 | (make-local-variable 'indent-tabs-mode) | 596 | (concat "\b\\|@[a-zA-Z]*[ \n]\\|" |
| 582 | (setq indent-tabs-mode nil) | 597 | paragraph-separate)) |
| 583 | (make-local-variable 'paragraph-separate) | 598 | (setq-local paragraph-start (concat "\b\\|@[a-zA-Z]*[ \n]\\|" |
| 584 | (setq paragraph-separate | 599 | paragraph-start)) |
| 585 | (concat "\b\\|@[a-zA-Z]*[ \n]\\|" paragraph-separate)) | 600 | (setq-local sentence-end-base "\\(@\\(end\\)?dots{}\\|[.?!]\\)[]\"'”)}]*") |
| 586 | (make-local-variable 'paragraph-start) | 601 | (setq-local fill-column 70) |
| 587 | (setq paragraph-start (concat "\b\\|@[a-zA-Z]*[ \n]\\|" paragraph-start)) | 602 | (setq-local comment-start "@c ") |
| 588 | (set (make-local-variable 'sentence-end-base) | 603 | (setq-local comment-start-skip "@c +\\|@comment +") |
| 589 | "\\(@\\(end\\)?dots{}\\|[.?!]\\)[]\"'”)}]*") | 604 | (setq-local words-include-escapes t) |
| 590 | (make-local-variable 'fill-column) | 605 | (setq-local imenu-generic-expression texinfo-imenu-generic-expression) |
| 591 | (setq fill-column 70) | ||
| 592 | (make-local-variable 'comment-start) | ||
| 593 | (setq comment-start "@c ") | ||
| 594 | (make-local-variable 'comment-start-skip) | ||
| 595 | (setq comment-start-skip "@c +\\|@comment +") | ||
| 596 | (make-local-variable 'words-include-escapes) | ||
| 597 | (setq words-include-escapes t) | ||
| 598 | (make-local-variable 'imenu-generic-expression) | ||
| 599 | (setq imenu-generic-expression texinfo-imenu-generic-expression) | ||
| 600 | (setq imenu-case-fold-search nil) | 606 | (setq imenu-case-fold-search nil) |
| 601 | (make-local-variable 'font-lock-defaults) | ||
| 602 | (setq font-lock-defaults | 607 | (setq font-lock-defaults |
| 603 | '(texinfo-font-lock-keywords nil nil nil backward-paragraph)) | 608 | '(texinfo-font-lock-keywords nil nil nil backward-paragraph)) |
| 604 | (set (make-local-variable 'syntax-propertize-function) | 609 | (setq-local syntax-propertize-function texinfo-syntax-propertize-function) |
| 605 | texinfo-syntax-propertize-function) | 610 | (setq-local parse-sexp-lookup-properties t) |
| 606 | (set (make-local-variable 'parse-sexp-lookup-properties) t) | 611 | (setq-local add-log-current-defun-function #'texinfo-current-defun-name) |
| 607 | 612 | ||
| 608 | ;; Outline settings. | 613 | ;; Outline settings. |
| 609 | (set (make-local-variable 'outline-heading-alist) | 614 | (setq-local outline-heading-alist |
| 610 | ;; We should merge outline-heading-alist and texinfo-section-list | 615 | ;; We should merge `outline-heading-alist' and |
| 611 | ;; but in the mean time, let's just generate one from the other. | 616 | ;; `texinfo-section-list'. But in the mean time, let's |
| 612 | (mapcar (lambda (x) (cons (concat "@" (car x)) (cadr x))) | 617 | ;; just generate one from the other. |
| 613 | texinfo-section-list)) | 618 | (mapcar (lambda (x) (cons (concat "@" (car x)) (cadr x))) |
| 614 | (set (make-local-variable 'outline-regexp) | 619 | texinfo-section-list)) |
| 615 | (concat (regexp-opt (mapcar 'car outline-heading-alist) t) | 620 | (setq-local outline-regexp |
| 616 | "\\>")) | 621 | (concat (regexp-opt (mapcar 'car outline-heading-alist) t) |
| 617 | 622 | "\\>")) | |
| 618 | (make-local-variable 'tex-start-of-header) | 623 | |
| 619 | (setq tex-start-of-header "%\\*\\*start") | 624 | (setq-local tex-start-of-header "%\\*\\*start") |
| 620 | (make-local-variable 'tex-end-of-header) | 625 | (setq-local tex-end-of-header "%\\*\\*end") |
| 621 | (setq tex-end-of-header "%\\*\\*end") | 626 | (setq-local tex-first-line-header-regexp "^\\\\input") |
| 622 | (make-local-variable 'tex-first-line-header-regexp) | 627 | (setq-local tex-trailer "@bye\n") |
| 623 | (setq tex-first-line-header-regexp "^\\\\input") | 628 | |
| 624 | (make-local-variable 'tex-trailer) | 629 | ;; Prevent filling certain lines, in addition to ones specified by |
| 625 | (setq tex-trailer "@bye\n") | 630 | ;; the user. |
| 626 | 631 | (setq-local auto-fill-inhibit-regexp | |
| 627 | ;; Prevent filling certain lines, in addition to ones specified | 632 | (let ((prevent-filling "^@\\(def\\|multitable\\)")) |
| 628 | ;; by the user. | 633 | (if (null auto-fill-inhibit-regexp) |
| 629 | (let ((prevent-filling "^@\\(def\\|multitable\\)")) | 634 | prevent-filling |
| 630 | (set (make-local-variable 'auto-fill-inhibit-regexp) | 635 | (concat auto-fill-inhibit-regexp "\\|" prevent-filling))))) |
| 631 | (if (null auto-fill-inhibit-regexp) | ||
| 632 | prevent-filling | ||
| 633 | (concat auto-fill-inhibit-regexp "\\|" prevent-filling))))) | ||
| 634 | 636 | ||
| 635 | 637 | ||
| 636 | 638 | ||
| @@ -676,7 +678,8 @@ Puts point on a blank line between them." | |||
| 676 | (not (match-end 1))))) | 678 | (not (match-end 1))))) |
| 677 | 679 | ||
| 678 | (defvar texinfo-enable-quote-macros "@\\(code\\|samp\\|kbd\\)\\>") | 680 | (defvar texinfo-enable-quote-macros "@\\(code\\|samp\\|kbd\\)\\>") |
| 679 | (defvar texinfo-enable-quote-envs '("example\\>" "lisp\\>")) | 681 | (defvar texinfo-enable-quote-envs |
| 682 | '("example\\>" "smallexample\\>" "lisp\\>")) | ||
| 680 | (defun texinfo-insert-quote (&optional arg) | 683 | (defun texinfo-insert-quote (&optional arg) |
| 681 | "Insert the appropriate quote mark for Texinfo. | 684 | "Insert the appropriate quote mark for Texinfo. |
| 682 | Usually inserts the value of `texinfo-open-quote' (normally ``) or | 685 | Usually inserts the value of `texinfo-open-quote' (normally ``) or |
diff --git a/lisp/uniquify.el b/lisp/uniquify.el index 3619d499419..2b4794c9cc2 100644 --- a/lisp/uniquify.el +++ b/lisp/uniquify.el | |||
| @@ -183,10 +183,9 @@ contains the name of the directory which the buffer is visiting.") | |||
| 183 | ;; Internal variables used free | 183 | ;; Internal variables used free |
| 184 | (defvar uniquify-possibly-resolvable nil) | 184 | (defvar uniquify-possibly-resolvable nil) |
| 185 | 185 | ||
| 186 | (defvar uniquify-managed nil | 186 | (defvar-local uniquify-managed nil |
| 187 | "Non-nil if the name of this buffer is managed by uniquify. | 187 | "Non-nil if the name of this buffer is managed by uniquify. |
| 188 | It actually holds the list of `uniquify-item's corresponding to the conflict.") | 188 | It actually holds the list of `uniquify-item's corresponding to the conflict.") |
| 189 | (make-variable-buffer-local 'uniquify-managed) | ||
| 190 | (put 'uniquify-managed 'permanent-local t) | 189 | (put 'uniquify-managed 'permanent-local t) |
| 191 | 190 | ||
| 192 | ;; Used in desktop.el to save the non-uniquified buffer name | 191 | ;; Used in desktop.el to save the non-uniquified buffer name |
| @@ -464,27 +463,34 @@ For use on `kill-buffer-hook'." | |||
| 464 | ;; rename-buffer and create-file-buffer. (Setting find-file-hook isn't | 463 | ;; rename-buffer and create-file-buffer. (Setting find-file-hook isn't |
| 465 | ;; sufficient.) | 464 | ;; sufficient.) |
| 466 | 465 | ||
| 467 | (defadvice rename-buffer (after rename-buffer-uniquify activate) | 466 | (advice-add 'rename-buffer :around #'uniquify--rename-buffer-advice) |
| 467 | (defun uniquify--rename-buffer-advice (rb-fun newname &optional unique &rest args) | ||
| 468 | "Uniquify buffer names with parts of directory name." | 468 | "Uniquify buffer names with parts of directory name." |
| 469 | (let ((retval (apply rb-fun newname unique args))) | ||
| 469 | (uniquify-maybe-rerationalize-w/o-cb) | 470 | (uniquify-maybe-rerationalize-w/o-cb) |
| 470 | (if (null (ad-get-arg 1)) ; no UNIQUE argument. | 471 | (if (null unique) |
| 471 | ;; Mark this buffer so it won't be renamed by uniquify. | 472 | ;; Mark this buffer so it won't be renamed by uniquify. |
| 472 | (setq uniquify-managed nil) | 473 | (setq uniquify-managed nil) |
| 473 | (when uniquify-buffer-name-style | 474 | (when uniquify-buffer-name-style |
| 474 | ;; Rerationalize w.r.t the new name. | 475 | ;; Rerationalize w.r.t the new name. |
| 475 | (uniquify-rationalize-file-buffer-names | 476 | (uniquify-rationalize-file-buffer-names |
| 476 | (ad-get-arg 0) | 477 | newname |
| 477 | (uniquify-buffer-file-name (current-buffer)) | 478 | (uniquify-buffer-file-name (current-buffer)) |
| 478 | (current-buffer)) | 479 | (current-buffer)) |
| 479 | (setq ad-return-value (buffer-name (current-buffer)))))) | 480 | (setq retval (buffer-name (current-buffer))))) |
| 481 | retval)) | ||
| 480 | 482 | ||
| 481 | (defadvice create-file-buffer (after create-file-buffer-uniquify activate) | 483 | |
| 484 | (advice-add 'create-file-buffer :around #'uniquify--create-file-buffer-advice) | ||
| 485 | (defun uniquify--create-file-buffer-advice (cfb-fun filename &rest args) | ||
| 482 | "Uniquify buffer names with parts of directory name." | 486 | "Uniquify buffer names with parts of directory name." |
| 487 | (let ((retval (apply cfb-fun filename args))) | ||
| 483 | (if uniquify-buffer-name-style | 488 | (if uniquify-buffer-name-style |
| 484 | (let ((filename (expand-file-name (directory-file-name (ad-get-arg 0))))) | 489 | (let ((filename (expand-file-name (directory-file-name filename)))) |
| 485 | (uniquify-rationalize-file-buffer-names | 490 | (uniquify-rationalize-file-buffer-names |
| 486 | (file-name-nondirectory filename) | 491 | (file-name-nondirectory filename) |
| 487 | (file-name-directory filename) ad-return-value)))) | 492 | (file-name-directory filename) retval))) |
| 493 | retval)) | ||
| 488 | 494 | ||
| 489 | ;;; The End | 495 | ;;; The End |
| 490 | 496 | ||
| @@ -496,9 +502,8 @@ For use on `kill-buffer-hook'." | |||
| 496 | (set-buffer buf) | 502 | (set-buffer buf) |
| 497 | (when uniquify-managed | 503 | (when uniquify-managed |
| 498 | (push (cons buf (uniquify-item-base (car uniquify-managed))) buffers))) | 504 | (push (cons buf (uniquify-item-base (car uniquify-managed))) buffers))) |
| 499 | (dolist (fun '(rename-buffer create-file-buffer)) | 505 | (advice-remove 'rename-buffer #'uniquify--rename-buffer-advice) |
| 500 | (ad-remove-advice fun 'after (intern (concat (symbol-name fun) "-uniquify"))) | 506 | (advice-remove 'create-file-buffer #'uniquify--create-file-buffer-advice) |
| 501 | (ad-update fun)) | ||
| 502 | (dolist (buf buffers) | 507 | (dolist (buf buffers) |
| 503 | (set-buffer (car buf)) | 508 | (set-buffer (car buf)) |
| 504 | (rename-buffer (cdr buf) t)))) | 509 | (rename-buffer (cdr buf) t)))) |
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 59222bcc957..fb4839358b9 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-12-03 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * url-misc.el (url-do-terminal-emulator): Use make-term instead of | ||
| 4 | terminal-emulator. | ||
| 5 | |||
| 1 | 2012-10-13 Liam Stitt <stittl@cuug.ab.ca> (tiny change) | 6 | 2012-10-13 Liam Stitt <stittl@cuug.ab.ca> (tiny change) |
| 2 | 7 | ||
| 3 | * url-vars.el (url-uncompressor-alist): | 8 | * url-vars.el (url-uncompressor-alist): |
diff --git a/lisp/url/url-misc.el b/lisp/url/url-misc.el index dd521ccd690..8cf9cffdf6b 100644 --- a/lisp/url/url-misc.el +++ b/lisp/url/url-misc.el | |||
| @@ -44,27 +44,21 @@ | |||
| 44 | nil)) | 44 | nil)) |
| 45 | 45 | ||
| 46 | (defun url-do-terminal-emulator (type server port user) | 46 | (defun url-do-terminal-emulator (type server port user) |
| 47 | (terminal-emulator | 47 | (switch-to-buffer |
| 48 | (generate-new-buffer (format "%s%s" (if user (concat user "@") "") server)) | 48 | (apply |
| 49 | (pcase type | 49 | 'make-term |
| 50 | (`rlogin "rlogin") | 50 | (format "%s%s" (if user (concat user "@") "") server) |
| 51 | (`telnet "telnet") | 51 | (cond ((eq type 'rlogin) "rlogin") |
| 52 | (`tn3270 "tn3270") | 52 | ((eq type 'telnet) "telnet") |
| 53 | (_ | 53 | ((eq type 'tn3270) "tn3270") |
| 54 | (error "Unknown terminal emulator required: %s" type))) | 54 | (t (error "Unknown terminal emulator required: %s" type))) |
| 55 | (pcase type | 55 | nil |
| 56 | (`rlogin | 56 | (cond ((eq type 'rlogin) |
| 57 | (if user | 57 | (if user (list server "-l" user) (list server))) |
| 58 | (list server "-l" user) | 58 | ((eq type 'telnet) |
| 59 | (list server))) | 59 | (if port (list server port) (list server))) |
| 60 | (`telnet | 60 | ((eq type 'tn3270) |
| 61 | (if user (message "Please log in as user: %s" user)) | 61 | (list server)))))) |
| 62 | (if port | ||
| 63 | (list server port) | ||
| 64 | (list server))) | ||
| 65 | (`tn3270 | ||
| 66 | (if user (message "Please log in as user: %s" user)) | ||
| 67 | (list server))))) | ||
| 68 | 62 | ||
| 69 | ;;;###autoload | 63 | ;;;###autoload |
| 70 | (defun url-generic-emulator-loader (url) | 64 | (defun url-generic-emulator-loader (url) |
diff --git a/lisp/url/url-parse.el b/lisp/url/url-parse.el index cb61a021251..2efabed5cd8 100644 --- a/lisp/url/url-parse.el +++ b/lisp/url/url-parse.el | |||
| @@ -48,7 +48,7 @@ | |||
| 48 | 48 | ||
| 49 | (defun url-path-and-query (urlobj) | 49 | (defun url-path-and-query (urlobj) |
| 50 | "Return the path and query components of URLOBJ. | 50 | "Return the path and query components of URLOBJ. |
| 51 | These two components are store together in the FILENAME slot of | 51 | These two components are stored together in the FILENAME slot of |
| 52 | the object. The return value of this function is (PATH . QUERY), | 52 | the object. The return value of this function is (PATH . QUERY), |
| 53 | where each of PATH and QUERY are strings or nil." | 53 | where each of PATH and QUERY are strings or nil." |
| 54 | (let ((name (url-filename urlobj)) | 54 | (let ((name (url-filename urlobj)) |
diff --git a/lisp/vc/add-log.el b/lisp/vc/add-log.el index 5a378df6513..0d2b82cb9a7 100644 --- a/lisp/vc/add-log.el +++ b/lisp/vc/add-log.el | |||
| @@ -61,8 +61,9 @@ | |||
| 61 | ;;;###autoload | 61 | ;;;###autoload |
| 62 | (defcustom add-log-current-defun-function nil | 62 | (defcustom add-log-current-defun-function nil |
| 63 | "If non-nil, function to guess name of surrounding function. | 63 | "If non-nil, function to guess name of surrounding function. |
| 64 | It is used by `add-log-current-defun' in preference to built-in rules. | 64 | It is called by `add-log-current-defun' with no argument, and |
| 65 | Returns function's name as a string, or nil if outside a function." | 65 | should return the function's name as a string, or nil if point is |
| 66 | outside a function." | ||
| 66 | :type '(choice (const nil) function) | 67 | :type '(choice (const nil) function) |
| 67 | :group 'change-log) | 68 | :group 'change-log) |
| 68 | 69 | ||
| @@ -1118,21 +1119,6 @@ parentheses." | |||
| 1118 | :type 'regexp | 1119 | :type 'regexp |
| 1119 | :group 'change-log) | 1120 | :group 'change-log) |
| 1120 | 1121 | ||
| 1121 | ;;;###autoload | ||
| 1122 | (defvar add-log-lisp-like-modes | ||
| 1123 | '(emacs-lisp-mode lisp-mode scheme-mode dsssl-mode lisp-interaction-mode) | ||
| 1124 | "Modes that look like Lisp to `add-log-current-defun'.") | ||
| 1125 | |||
| 1126 | ;;;###autoload | ||
| 1127 | (defvar add-log-c-like-modes | ||
| 1128 | '(c-mode c++-mode c++-c-mode objc-mode) | ||
| 1129 | "Modes that look like C to `add-log-current-defun'.") | ||
| 1130 | |||
| 1131 | ;;;###autoload | ||
| 1132 | (defvar add-log-tex-like-modes | ||
| 1133 | '(TeX-mode plain-TeX-mode LaTeX-mode tex-mode) | ||
| 1134 | "Modes that look like TeX to `add-log-current-defun'.") | ||
| 1135 | |||
| 1136 | (declare-function c-cpp-define-name "cc-cmds" ()) | 1122 | (declare-function c-cpp-define-name "cc-cmds" ()) |
| 1137 | (declare-function c-defun-name "cc-cmds" ()) | 1123 | (declare-function c-defun-name "cc-cmds" ()) |
| 1138 | 1124 | ||
| @@ -1152,75 +1138,21 @@ identifiers followed by `:' or `='. See variables | |||
| 1152 | Has a preference of looking backwards." | 1138 | Has a preference of looking backwards." |
| 1153 | (condition-case nil | 1139 | (condition-case nil |
| 1154 | (save-excursion | 1140 | (save-excursion |
| 1155 | (let ((location (point))) | 1141 | (if add-log-current-defun-function |
| 1156 | (cond (add-log-current-defun-function | 1142 | (funcall add-log-current-defun-function) |
| 1157 | (funcall add-log-current-defun-function)) | 1143 | ;; If all else fails, try heuristics |
| 1158 | ((apply 'derived-mode-p add-log-lisp-like-modes) | 1144 | (let (case-fold-search |
| 1159 | ;; If we are now precisely at the beginning of a defun, | 1145 | result) |
| 1160 | ;; make sure beginning-of-defun finds that one | 1146 | (end-of-line) |
| 1161 | ;; rather than the previous one. | 1147 | (when (re-search-backward add-log-current-defun-header-regexp |
| 1162 | (or (eobp) (forward-char 1)) | 1148 | (- (point) 10000) t) |
| 1163 | (beginning-of-defun) | 1149 | (setq result (or (match-string-no-properties 1) |
| 1164 | ;; Make sure we are really inside the defun found, | 1150 | (match-string-no-properties 0))) |
| 1165 | ;; not after it. | 1151 | ;; Strip whitespace away |
| 1166 | (when (and (looking-at "\\s(") | 1152 | (when (string-match "\\([^ \t\n\r\f].*[^ \t\n\r\f]\\)" |
| 1167 | (progn (end-of-defun) | 1153 | result) |
| 1168 | (< location (point))) | 1154 | (setq result (match-string-no-properties 1 result))) |
| 1169 | (progn (forward-sexp -1) | 1155 | result)))) |
| 1170 | (>= location (point)))) | ||
| 1171 | (if (looking-at "\\s(") | ||
| 1172 | (forward-char 1)) | ||
| 1173 | ;; Skip the defining construct name, typically "defun" | ||
| 1174 | ;; or "defvar". | ||
| 1175 | (forward-sexp 1) | ||
| 1176 | ;; The second element is usually a symbol being defined. | ||
| 1177 | ;; If it is not, use the first symbol in it. | ||
| 1178 | (skip-chars-forward " \t\n'(") | ||
| 1179 | (buffer-substring-no-properties (point) | ||
| 1180 | (progn (forward-sexp 1) | ||
| 1181 | (point))))) | ||
| 1182 | ((apply 'derived-mode-p add-log-c-like-modes) | ||
| 1183 | (or (c-cpp-define-name) | ||
| 1184 | (c-defun-name))) | ||
| 1185 | ((apply #'derived-mode-p add-log-tex-like-modes) | ||
| 1186 | (if (re-search-backward | ||
| 1187 | "\\\\\\(sub\\)*\\(section\\|paragraph\\|chapter\\)" | ||
| 1188 | nil t) | ||
| 1189 | (progn | ||
| 1190 | (goto-char (match-beginning 0)) | ||
| 1191 | (buffer-substring-no-properties | ||
| 1192 | (1+ (point)) ; without initial backslash | ||
| 1193 | (line-end-position))))) | ||
| 1194 | ((derived-mode-p 'texinfo-mode) | ||
| 1195 | (if (re-search-backward "^@node[ \t]+\\([^,\n]+\\)" nil t) | ||
| 1196 | (match-string-no-properties 1))) | ||
| 1197 | ((derived-mode-p 'perl-mode 'cperl-mode) | ||
| 1198 | (if (re-search-backward "^sub[ \t]+\\([^({ \t\n]+\\)" nil t) | ||
| 1199 | (match-string-no-properties 1))) | ||
| 1200 | ;; Emacs's autoconf-mode installs its own | ||
| 1201 | ;; `add-log-current-defun-function'. This applies to | ||
| 1202 | ;; a different mode apparently for editing .m4 | ||
| 1203 | ;; autoconf source. | ||
| 1204 | ((derived-mode-p 'autoconf-mode) | ||
| 1205 | (if (re-search-backward | ||
| 1206 | "^\\(\\(m4_\\)?define\\|A._DEFUN\\)(\\[?\\([A-Za-z0-9_]+\\)" nil t) | ||
| 1207 | (match-string-no-properties 3))) | ||
| 1208 | (t | ||
| 1209 | ;; If all else fails, try heuristics | ||
| 1210 | (let (case-fold-search | ||
| 1211 | result) | ||
| 1212 | (end-of-line) | ||
| 1213 | (when (re-search-backward | ||
| 1214 | add-log-current-defun-header-regexp | ||
| 1215 | (- (point) 10000) | ||
| 1216 | t) | ||
| 1217 | (setq result (or (match-string-no-properties 1) | ||
| 1218 | (match-string-no-properties 0))) | ||
| 1219 | ;; Strip whitespace away | ||
| 1220 | (when (string-match "\\([^ \t\n\r\f].*[^ \t\n\r\f]\\)" | ||
| 1221 | result) | ||
| 1222 | (setq result (match-string-no-properties 1 result))) | ||
| 1223 | result)))))) | ||
| 1224 | (error nil))) | 1156 | (error nil))) |
| 1225 | 1157 | ||
| 1226 | (defvar change-log-get-method-definition-md) | 1158 | (defvar change-log-get-method-definition-md) |
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el index 26c64ce2ad3..0c023b0f7f4 100644 --- a/lisp/vc/diff-mode.el +++ b/lisp/vc/diff-mode.el | |||
| @@ -575,19 +575,21 @@ next hunk if TRY-HARDER is non-nil; otherwise signal an error." | |||
| 575 | (easy-mmode-define-navigation | 575 | (easy-mmode-define-navigation |
| 576 | diff-hunk diff-hunk-header-re "hunk" diff-end-of-hunk diff-restrict-view | 576 | diff-hunk diff-hunk-header-re "hunk" diff-end-of-hunk diff-restrict-view |
| 577 | (when diff-auto-refine-mode | 577 | (when diff-auto-refine-mode |
| 578 | (setq diff--auto-refine-data (cons (current-buffer) (point-marker))) | 578 | (unless (prog1 diff--auto-refine-data |
| 579 | (run-at-time 0.0 nil | 579 | (setq diff--auto-refine-data |
| 580 | (lambda () | 580 | (cons (current-buffer) (point-marker)))) |
| 581 | (when diff--auto-refine-data | 581 | (run-at-time 0.0 nil |
| 582 | (let ((buffer (car diff--auto-refine-data)) | 582 | (lambda () |
| 583 | (point (cdr diff--auto-refine-data))) | 583 | (when diff--auto-refine-data |
| 584 | (setq diff--auto-refine-data nil) | 584 | (let ((buffer (car diff--auto-refine-data)) |
| 585 | (with-local-quit | 585 | (point (cdr diff--auto-refine-data))) |
| 586 | (when (buffer-live-p buffer) | 586 | (setq diff--auto-refine-data nil) |
| 587 | (with-current-buffer buffer | 587 | (with-local-quit |
| 588 | (save-excursion | 588 | (when (buffer-live-p buffer) |
| 589 | (goto-char point) | 589 | (with-current-buffer buffer |
| 590 | (diff-refine-hunk))))))))))) | 590 | (save-excursion |
| 591 | (goto-char point) | ||
| 592 | (diff-refine-hunk)))))))))))) | ||
| 591 | 593 | ||
| 592 | (easy-mmode-define-navigation | 594 | (easy-mmode-define-navigation |
| 593 | diff-file diff-file-header-re "file" diff-end-of-file) | 595 | diff-file diff-file-header-re "file" diff-end-of-file) |
diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el index 5b31e625a00..aa7c9007200 100644 --- a/lisp/vc/ediff-diff.el +++ b/lisp/vc/ediff-diff.el | |||
| @@ -453,52 +453,30 @@ one optional arguments, diff-number to refine.") | |||
| 453 | c-prev c-end) | 453 | c-prev c-end) |
| 454 | ;; else convert lines to points | 454 | ;; else convert lines to points |
| 455 | (ediff-with-current-buffer A-buffer | 455 | (ediff-with-current-buffer A-buffer |
| 456 | (let ((longlines-mode-val | 456 | (goto-char (or a-prev-pt shift-A (point-min))) |
| 457 | (if (and (boundp 'longlines-mode) longlines-mode) 1 0))) | 457 | (forward-line (- a-begin a-prev)) |
| 458 | ;; we must disable and then restore longlines-mode | 458 | (setq a-begin-pt (point)) |
| 459 | (if (eq longlines-mode-val 1) | 459 | (forward-line (- a-end a-begin)) |
| 460 | (longlines-mode 0)) | 460 | (setq a-end-pt (point) |
| 461 | (goto-char (or a-prev-pt shift-A (point-min))) | 461 | a-prev a-end |
| 462 | (forward-line (- a-begin a-prev)) | 462 | a-prev-pt a-end-pt)) |
| 463 | (setq a-begin-pt (point)) | ||
| 464 | (forward-line (- a-end a-begin)) | ||
| 465 | (setq a-end-pt (point) | ||
| 466 | a-prev a-end | ||
| 467 | a-prev-pt a-end-pt) | ||
| 468 | (if (eq longlines-mode-val 1) | ||
| 469 | (longlines-mode longlines-mode-val)) | ||
| 470 | )) | ||
| 471 | (ediff-with-current-buffer B-buffer | 463 | (ediff-with-current-buffer B-buffer |
| 472 | (let ((longlines-mode-val | 464 | (goto-char (or b-prev-pt shift-B (point-min))) |
| 473 | (if (and (boundp 'longlines-mode) longlines-mode) 1 0))) | 465 | (forward-line (- b-begin b-prev)) |
| 474 | (if (eq longlines-mode-val 1) | 466 | (setq b-begin-pt (point)) |
| 475 | (longlines-mode 0)) | 467 | (forward-line (- b-end b-begin)) |
| 476 | (goto-char (or b-prev-pt shift-B (point-min))) | 468 | (setq b-end-pt (point) |
| 477 | (forward-line (- b-begin b-prev)) | 469 | b-prev b-end |
| 478 | (setq b-begin-pt (point)) | 470 | b-prev-pt b-end-pt)) |
| 479 | (forward-line (- b-end b-begin)) | ||
| 480 | (setq b-end-pt (point) | ||
| 481 | b-prev b-end | ||
| 482 | b-prev-pt b-end-pt) | ||
| 483 | (if (eq longlines-mode-val 1) | ||
| 484 | (longlines-mode longlines-mode-val)) | ||
| 485 | )) | ||
| 486 | (if (ediff-buffer-live-p C-buffer) | 471 | (if (ediff-buffer-live-p C-buffer) |
| 487 | (ediff-with-current-buffer C-buffer | 472 | (ediff-with-current-buffer C-buffer |
| 488 | (let ((longlines-mode-val | 473 | (goto-char (or c-prev-pt (point-min))) |
| 489 | (if (and (boundp 'longlines-mode) longlines-mode) 1 0))) | 474 | (forward-line (- c-begin c-prev)) |
| 490 | (if (eq longlines-mode-val 1) | 475 | (setq c-begin-pt (point)) |
| 491 | (longlines-mode 0)) | 476 | (forward-line (- c-end c-begin)) |
| 492 | (goto-char (or c-prev-pt (point-min))) | 477 | (setq c-end-pt (point) |
| 493 | (forward-line (- c-begin c-prev)) | 478 | c-prev c-end |
| 494 | (setq c-begin-pt (point)) | 479 | c-prev-pt c-end-pt))) |
| 495 | (forward-line (- c-end c-begin)) | ||
| 496 | (setq c-end-pt (point) | ||
| 497 | c-prev c-end | ||
| 498 | c-prev-pt c-end-pt) | ||
| 499 | (if (eq longlines-mode-val 1) | ||
| 500 | (longlines-mode longlines-mode-val)) | ||
| 501 | ))) | ||
| 502 | (setq diff-list | 480 | (setq diff-list |
| 503 | (nconc | 481 | (nconc |
| 504 | diff-list | 482 | diff-list |
| @@ -1085,65 +1063,36 @@ delimiter regions")) | |||
| 1085 | c-prev c-end) | 1063 | c-prev c-end) |
| 1086 | ;; else convert lines to points | 1064 | ;; else convert lines to points |
| 1087 | (ediff-with-current-buffer A-buffer | 1065 | (ediff-with-current-buffer A-buffer |
| 1088 | (let ((longlines-mode-val | 1066 | (goto-char (or a-prev-pt shift-A (point-min))) |
| 1089 | (if (and (boundp 'longlines-mode) longlines-mode) 1 0))) | 1067 | (forward-line (- a-begin a-prev)) |
| 1090 | ;; we must disable and then restore longlines-mode | 1068 | (setq a-begin-pt (point)) |
| 1091 | (if (eq longlines-mode-val 1) | 1069 | (forward-line (- a-end a-begin)) |
| 1092 | (longlines-mode 0)) | 1070 | (setq a-end-pt (point) |
| 1093 | (goto-char (or a-prev-pt shift-A (point-min))) | 1071 | a-prev a-end |
| 1094 | (forward-line (- a-begin a-prev)) | 1072 | a-prev-pt a-end-pt)) |
| 1095 | (setq a-begin-pt (point)) | ||
| 1096 | (forward-line (- a-end a-begin)) | ||
| 1097 | (setq a-end-pt (point) | ||
| 1098 | a-prev a-end | ||
| 1099 | a-prev-pt a-end-pt) | ||
| 1100 | (if (eq longlines-mode-val 1) | ||
| 1101 | (longlines-mode longlines-mode-val)) | ||
| 1102 | )) | ||
| 1103 | (ediff-with-current-buffer B-buffer | 1073 | (ediff-with-current-buffer B-buffer |
| 1104 | (let ((longlines-mode-val | 1074 | (goto-char (or b-prev-pt shift-B (point-min))) |
| 1105 | (if (and (boundp 'longlines-mode) longlines-mode) 1 0))) | 1075 | (forward-line (- b-begin b-prev)) |
| 1106 | (if (eq longlines-mode-val 1) | 1076 | (setq b-begin-pt (point)) |
| 1107 | (longlines-mode 0)) | 1077 | (forward-line (- b-end b-begin)) |
| 1108 | (goto-char (or b-prev-pt shift-B (point-min))) | 1078 | (setq b-end-pt (point) |
| 1109 | (forward-line (- b-begin b-prev)) | 1079 | b-prev b-end |
| 1110 | (setq b-begin-pt (point)) | 1080 | b-prev-pt b-end-pt)) |
| 1111 | (forward-line (- b-end b-begin)) | ||
| 1112 | (setq b-end-pt (point) | ||
| 1113 | b-prev b-end | ||
| 1114 | b-prev-pt b-end-pt) | ||
| 1115 | (if (eq longlines-mode-val 1) | ||
| 1116 | (longlines-mode longlines-mode-val)) | ||
| 1117 | )) | ||
| 1118 | (ediff-with-current-buffer C-buffer | 1081 | (ediff-with-current-buffer C-buffer |
| 1119 | (let ((longlines-mode-val | 1082 | (goto-char (or c-prev-pt shift-C (point-min))) |
| 1120 | (if (and (boundp 'longlines-mode) longlines-mode) 1 0))) | 1083 | (forward-line (- c-begin c-prev)) |
| 1121 | (if (eq longlines-mode-val 1) | 1084 | (setq c-begin-pt (point)) |
| 1122 | (longlines-mode 0)) | 1085 | (forward-line (- c-end c-begin)) |
| 1123 | (goto-char (or c-prev-pt shift-C (point-min))) | 1086 | (setq c-end-pt (point) |
| 1124 | (forward-line (- c-begin c-prev)) | 1087 | c-prev c-end |
| 1125 | (setq c-begin-pt (point)) | 1088 | c-prev-pt c-end-pt)) |
| 1126 | (forward-line (- c-end c-begin)) | ||
| 1127 | (setq c-end-pt (point) | ||
| 1128 | c-prev c-end | ||
| 1129 | c-prev-pt c-end-pt) | ||
| 1130 | (if (eq longlines-mode-val 1) | ||
| 1131 | (longlines-mode longlines-mode-val)) | ||
| 1132 | )) | ||
| 1133 | (if (ediff-buffer-live-p anc-buffer) | 1089 | (if (ediff-buffer-live-p anc-buffer) |
| 1134 | (ediff-with-current-buffer anc-buffer | 1090 | (ediff-with-current-buffer anc-buffer |
| 1135 | (let ((longlines-mode-val | 1091 | (forward-line (- c-or-anc-begin anc-prev)) |
| 1136 | (if (and (boundp 'longlines-mode) longlines-mode) 1 0))) | 1092 | (setq anc-begin-pt (point)) |
| 1137 | (if (eq longlines-mode-val 1) | 1093 | (forward-line (- c-or-anc-end c-or-anc-begin)) |
| 1138 | (longlines-mode 0)) | 1094 | (setq anc-end-pt (point) |
| 1139 | (forward-line (- c-or-anc-begin anc-prev)) | 1095 | anc-prev c-or-anc-end))) |
| 1140 | (setq anc-begin-pt (point)) | ||
| 1141 | (forward-line (- c-or-anc-end c-or-anc-begin)) | ||
| 1142 | (setq anc-end-pt (point) | ||
| 1143 | anc-prev c-or-anc-end) | ||
| 1144 | (if (eq longlines-mode-val 1) | ||
| 1145 | (longlines-mode longlines-mode-val)) | ||
| 1146 | ))) | ||
| 1147 | (setq diff-list | 1096 | (setq diff-list |
| 1148 | (nconc | 1097 | (nconc |
| 1149 | diff-list | 1098 | diff-list |
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 455f48c50d3..a9df6fdee8d 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el | |||
| @@ -930,6 +930,8 @@ If it is a file, return the corresponding cons for the file itself." | |||
| 930 | 930 | ||
| 931 | (defvar use-vc-backend) ;; dynamically bound | 931 | (defvar use-vc-backend) ;; dynamically bound |
| 932 | 932 | ||
| 933 | ;; Autoload cookie needed by desktop.el. | ||
| 934 | ;;;###autoload | ||
| 933 | (define-derived-mode vc-dir-mode special-mode "VC dir" | 935 | (define-derived-mode vc-dir-mode special-mode "VC dir" |
| 934 | "Major mode for VC directory buffers. | 936 | "Major mode for VC directory buffers. |
| 935 | Marking/Unmarking key bindings and actions: | 937 | Marking/Unmarking key bindings and actions: |
| @@ -967,6 +969,8 @@ the *vc-dir* buffer. | |||
| 967 | 969 | ||
| 968 | \\{vc-dir-mode-map}" | 970 | \\{vc-dir-mode-map}" |
| 969 | (set (make-local-variable 'vc-dir-backend) use-vc-backend) | 971 | (set (make-local-variable 'vc-dir-backend) use-vc-backend) |
| 972 | (set (make-local-variable 'desktop-save-buffer) | ||
| 973 | 'vc-dir-desktop-buffer-misc-data) | ||
| 970 | (setq buffer-read-only t) | 974 | (setq buffer-read-only t) |
| 971 | (when (boundp 'tool-bar-map) | 975 | (when (boundp 'tool-bar-map) |
| 972 | (set (make-local-variable 'tool-bar-map) vc-dir-tool-bar-map)) | 976 | (set (make-local-variable 'tool-bar-map) vc-dir-tool-bar-map)) |
| @@ -1288,6 +1292,31 @@ These are the commands available for use in the file status buffer: | |||
| 1288 | "Default absence of extra information returned for a file." | 1292 | "Default absence of extra information returned for a file." |
| 1289 | nil) | 1293 | nil) |
| 1290 | 1294 | ||
| 1295 | |||
| 1296 | ;;; Support for desktop.el (adapted from what dired.el does). | ||
| 1297 | |||
| 1298 | (declare-function desktop-file-name "desktop" (filename dirname)) | ||
| 1299 | |||
| 1300 | (defun vc-dir-desktop-buffer-misc-data (dirname) | ||
| 1301 | "Auxiliary information to be saved in desktop file." | ||
| 1302 | (cons (desktop-file-name default-directory dirname) vc-dir-backend)) | ||
| 1303 | |||
| 1304 | (defun vc-dir-restore-desktop-buffer (_filename _buffername misc-data) | ||
| 1305 | "Restore a `vc-dir' buffer specified in a desktop file." | ||
| 1306 | (let ((dir (car misc-data)) | ||
| 1307 | (backend (cdr misc-data))) | ||
| 1308 | (if (file-directory-p dir) | ||
| 1309 | (progn | ||
| 1310 | (vc-dir dir backend) | ||
| 1311 | (current-buffer)) | ||
| 1312 | (message "Desktop: Directory %s no longer exists." dir) | ||
| 1313 | (when desktop-missing-file-warning (sit-for 1)) | ||
| 1314 | nil))) | ||
| 1315 | |||
| 1316 | (add-to-list 'desktop-buffer-mode-handlers | ||
| 1317 | '(vc-dir-mode . vc-dir-restore-desktop-buffer)) | ||
| 1318 | |||
| 1319 | |||
| 1291 | (provide 'vc-dir) | 1320 | (provide 'vc-dir) |
| 1292 | 1321 | ||
| 1293 | ;;; vc-dir.el ends here | 1322 | ;;; vc-dir.el ends here |
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 5d7cb366e82..08b48fa7b40 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el | |||
| @@ -1148,7 +1148,7 @@ This command shares argument histories with \\[rgrep] and \\[grep]." | |||
| 1148 | The difference to vc-do-command is that this function always invokes | 1148 | The difference to vc-do-command is that this function always invokes |
| 1149 | `vc-git-program'." | 1149 | `vc-git-program'." |
| 1150 | (apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program | 1150 | (apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program |
| 1151 | file-or-list flags)) | 1151 | file-or-list (cons "--no-pager" flags))) |
| 1152 | 1152 | ||
| 1153 | (defun vc-git--empty-db-p () | 1153 | (defun vc-git--empty-db-p () |
| 1154 | "Check if the git db is empty (no commit done yet)." | 1154 | "Check if the git db is empty (no commit done yet)." |
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index 727fb08e388..a240fdeb658 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el | |||
| @@ -93,7 +93,7 @@ | |||
| 93 | ;; - clear-headers () ?? | 93 | ;; - clear-headers () ?? |
| 94 | ;; - delete-file (file) TEST IT | 94 | ;; - delete-file (file) TEST IT |
| 95 | ;; - rename-file (old new) OK | 95 | ;; - rename-file (old new) OK |
| 96 | ;; - find-file-hook () PROBABLY NOT NEEDED | 96 | ;; - find-file-hook () added for bug#10709 |
| 97 | 97 | ||
| 98 | ;; 2) Implement Stefan Monnier's advice: | 98 | ;; 2) Implement Stefan Monnier's advice: |
| 99 | ;; vc-hg-registered and vc-hg-state | 99 | ;; vc-hg-registered and vc-hg-state |
| @@ -384,7 +384,7 @@ Optional arg REVISION is a revision to annotate from." | |||
| 384 | (let ((newrev (1+ (string-to-number rev))) | 384 | (let ((newrev (1+ (string-to-number rev))) |
| 385 | (tip-revision | 385 | (tip-revision |
| 386 | (with-temp-buffer | 386 | (with-temp-buffer |
| 387 | (vc-hg-command t 0 nil "tip") | 387 | (vc-hg-command t 0 nil "tip" "--style=default") |
| 388 | (goto-char (point-min)) | 388 | (goto-char (point-min)) |
| 389 | (re-search-forward "^changeset:[ \t]*\\([0-9]+\\):") | 389 | (re-search-forward "^changeset:[ \t]*\\([0-9]+\\):") |
| 390 | (string-to-number (match-string-no-properties 1))))) | 390 | (string-to-number (match-string-no-properties 1))))) |
| @@ -464,6 +464,35 @@ REV is the revision to check out into WORKFILE." | |||
| 464 | (vc-hg-command t 0 file "cat" "-r" rev) | 464 | (vc-hg-command t 0 file "cat" "-r" rev) |
| 465 | (vc-hg-command t 0 file "cat"))))) | 465 | (vc-hg-command t 0 file "cat"))))) |
| 466 | 466 | ||
| 467 | (defun vc-hg-resolve-when-done () | ||
| 468 | "Call \"hg resolve -m\" if the conflict markers have been removed." | ||
| 469 | (save-excursion | ||
| 470 | (goto-char (point-min)) | ||
| 471 | (unless (re-search-forward "^<<<<<<< " nil t) | ||
| 472 | (vc-hg-command nil 0 buffer-file-name "resolve" "-m") | ||
| 473 | ;; Remove the hook so that it is not called multiple times. | ||
| 474 | (remove-hook 'after-save-hook 'vc-hg-resolve-when-done t)))) | ||
| 475 | |||
| 476 | (defun vc-hg-find-file-hook () | ||
| 477 | (when (and buffer-file-name | ||
| 478 | (file-exists-p (concat buffer-file-name ".orig")) | ||
| 479 | ;; Hg does not seem to have a "conflict" status, eg | ||
| 480 | ;; hg http://bz.selenic.com/show_bug.cgi?id=2724 | ||
| 481 | (memq (vc-file-getprop buffer-file-name 'vc-state) | ||
| 482 | '(edited conflict)) | ||
| 483 | ;; Maybe go on to check that "hg resolve -l" says "U"? | ||
| 484 | ;; If "hg resolve -l" says there's a conflict but there are no | ||
| 485 | ;; conflict markers, it's not clear what we should do. | ||
| 486 | (save-excursion | ||
| 487 | (goto-char (point-min)) | ||
| 488 | (re-search-forward "^<<<<<<< " nil t))) | ||
| 489 | ;; Hg may not recognize "conflict" as a state, but we can do better. | ||
| 490 | (vc-file-setprop buffer-file-name 'vc-state 'conflict) | ||
| 491 | (smerge-start-session) | ||
| 492 | (add-hook 'after-save-hook 'vc-hg-resolve-when-done nil t) | ||
| 493 | (message "There are unresolved conflicts in this file"))) | ||
| 494 | |||
| 495 | |||
| 467 | ;; Modeled after the similar function in vc-bzr.el | 496 | ;; Modeled after the similar function in vc-bzr.el |
| 468 | (defun vc-hg-workfile-unchanged-p (file) | 497 | (defun vc-hg-workfile-unchanged-p (file) |
| 469 | (eq 'up-to-date (vc-hg-state file))) | 498 | (eq 'up-to-date (vc-hg-state file))) |
diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el index 07a292ae435..a5eb2932af8 100644 --- a/lisp/vc/vc-hooks.el +++ b/lisp/vc/vc-hooks.el | |||
| @@ -107,10 +107,12 @@ control systems." | |||
| 107 | :type 'boolean | 107 | :type 'boolean |
| 108 | :group 'vc) | 108 | :group 'vc) |
| 109 | 109 | ||
| 110 | (defcustom vc-mistrust-permissions nil | 110 | ;; If you fix bug#11490, probably you can set this back to nil. |
| 111 | (defcustom vc-mistrust-permissions t | ||
| 111 | "If non-nil, don't assume permissions/ownership track version-control status. | 112 | "If non-nil, don't assume permissions/ownership track version-control status. |
| 112 | If nil, do rely on the permissions. | 113 | If nil, do rely on the permissions. |
| 113 | See also variable `vc-consult-headers'." | 114 | See also variable `vc-consult-headers'." |
| 115 | :version "24.3" ; nil->t, bug#11490 | ||
| 114 | :type 'boolean | 116 | :type 'boolean |
| 115 | :group 'vc) | 117 | :group 'vc) |
| 116 | 118 | ||
| @@ -436,8 +438,8 @@ For registered files, the possible values are: | |||
| 436 | (defun vc-state (file &optional backend) | 438 | (defun vc-state (file &optional backend) |
| 437 | "Return the version control state of FILE. | 439 | "Return the version control state of FILE. |
| 438 | 440 | ||
| 439 | If FILE is not registered, this function always returns nil. | 441 | A return of nil from this function means we have no information on the |
| 440 | For registered files, the value returned is one of: | 442 | status of this file. Otherwise, the value returned is one of: |
| 441 | 443 | ||
| 442 | 'up-to-date The working file is unmodified with respect to the | 444 | 'up-to-date The working file is unmodified with respect to the |
| 443 | latest version on the current branch, and not locked. | 445 | latest version on the current branch, and not locked. |
| @@ -489,10 +491,8 @@ For registered files, the value returned is one of: | |||
| 489 | that any file with vc-state nil might be ignorable | 491 | that any file with vc-state nil might be ignorable |
| 490 | without VC knowing it. | 492 | without VC knowing it. |
| 491 | 493 | ||
| 492 | 'unregistered The file is not under version control. | 494 | 'unregistered The file is not under version control." |
| 493 | 495 | ||
| 494 | A return of nil from this function means we have no information on the | ||
| 495 | status of this file." | ||
| 496 | ;; Note: in Emacs 22 and older, return of nil meant the file was | 496 | ;; Note: in Emacs 22 and older, return of nil meant the file was |
| 497 | ;; unregistered. This is potentially a source of | 497 | ;; unregistered. This is potentially a source of |
| 498 | ;; backward-compatibility bugs. | 498 | ;; backward-compatibility bugs. |
| @@ -856,8 +856,9 @@ current, and kill the buffer that visits the link." | |||
| 856 | (set (make-local-variable 'backup-inhibited) t)) | 856 | (set (make-local-variable 'backup-inhibited) t)) |
| 857 | ;; Let the backend setup any buffer-local things he needs. | 857 | ;; Let the backend setup any buffer-local things he needs. |
| 858 | (vc-call-backend backend 'find-file-hook)) | 858 | (vc-call-backend backend 'find-file-hook)) |
| 859 | ((let ((link-type (and (not (equal buffer-file-name buffer-file-truename)) | 859 | ((let* ((truename (expand-file-name buffer-file-truename)) |
| 860 | (vc-backend buffer-file-truename)))) | 860 | (link-type (and (not (equal buffer-file-name truename)) |
| 861 | (vc-backend truename)))) | ||
| 861 | (cond ((not link-type) nil) ;Nothing to do. | 862 | (cond ((not link-type) nil) ;Nothing to do. |
| 862 | ((eq vc-follow-symlinks nil) | 863 | ((eq vc-follow-symlinks nil) |
| 863 | (message | 864 | (message |
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el index 3becd8950f1..370cd0a9dca 100644 --- a/lisp/vc/vc-svn.el +++ b/lisp/vc/vc-svn.el | |||
| @@ -414,7 +414,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION." | |||
| 414 | ;; We also used to match the filename in column 0 without any | 414 | ;; We also used to match the filename in column 0 without any |
| 415 | ;; meta-info before it, but I believe this can never happen. | 415 | ;; meta-info before it, but I believe this can never happen. |
| 416 | (concat "^\\(\\([ACGDU]\\)\\(.[B ]\\)? \\)" | 416 | (concat "^\\(\\([ACGDU]\\)\\(.[B ]\\)? \\)" |
| 417 | (regexp-quote (file-name-nondirectory file))) | 417 | (regexp-quote (file-relative-name file))) |
| 418 | nil t) | 418 | nil t) |
| 419 | (cond | 419 | (cond |
| 420 | ;; Merge successful, we are in sync with repository now | 420 | ;; Merge successful, we are in sync with repository now |
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index a909aca5bca..d001df87d5c 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el | |||
| @@ -1271,12 +1271,10 @@ first backend that could register the file is used." | |||
| 1271 | ;; many VCS allow that as well. | 1271 | ;; many VCS allow that as well. |
| 1272 | (dolist (fname files) | 1272 | (dolist (fname files) |
| 1273 | (let ((bname (get-file-buffer fname))) | 1273 | (let ((bname (get-file-buffer fname))) |
| 1274 | (unless fname (setq fname buffer-file-name)) | 1274 | (unless fname |
| 1275 | (when (vc-backend fname) | 1275 | (setq fname buffer-file-name)) |
| 1276 | (if (vc-registered fname) | 1276 | (when (vc-call-backend backend 'registered fname) |
| 1277 | (error "This file is already registered") | 1277 | (error "This file is already registered")) |
| 1278 | (unless (y-or-n-p "Previous master file has vanished. Make a new one? ") | ||
| 1279 | (error "Aborted")))) | ||
| 1280 | ;; Watch out for new buffers of size 0: the corresponding file | 1278 | ;; Watch out for new buffers of size 0: the corresponding file |
| 1281 | ;; does not exist yet, even though buffer-modified-p is nil. | 1279 | ;; does not exist yet, even though buffer-modified-p is nil. |
| 1282 | (when bname | 1280 | (when bname |
| @@ -2556,8 +2554,12 @@ backend to NEW-BACKEND, and unregister FILE from the current backend. | |||
| 2556 | 2554 | ||
| 2557 | ;;;###autoload | 2555 | ;;;###autoload |
| 2558 | (defun vc-delete-file (file) | 2556 | (defun vc-delete-file (file) |
| 2559 | "Delete file and mark it as such in the version control system." | 2557 | "Delete file and mark it as such in the version control system. |
| 2560 | (interactive "fVC delete file: ") | 2558 | If called interactively, read FILE, defaulting to the current |
| 2559 | buffer's file name if it's under version control." | ||
| 2560 | (interactive (list (read-file-name "VC delete file: " nil | ||
| 2561 | (when (vc-backend buffer-file-name) | ||
| 2562 | buffer-file-name) t))) | ||
| 2561 | (setq file (expand-file-name file)) | 2563 | (setq file (expand-file-name file)) |
| 2562 | (let ((buf (get-file-buffer file)) | 2564 | (let ((buf (get-file-buffer file)) |
| 2563 | (backend (vc-backend file))) | 2565 | (backend (vc-backend file))) |
| @@ -2595,8 +2597,13 @@ backend to NEW-BACKEND, and unregister FILE from the current backend. | |||
| 2595 | 2597 | ||
| 2596 | ;;;###autoload | 2598 | ;;;###autoload |
| 2597 | (defun vc-rename-file (old new) | 2599 | (defun vc-rename-file (old new) |
| 2598 | "Rename file OLD to NEW in both work area and repository." | 2600 | "Rename file OLD to NEW in both work area and repository. |
| 2599 | (interactive "fVC rename file: \nFRename to: ") | 2601 | If called interactively, read OLD and NEW, defaulting OLD to the |
| 2602 | current buffer's file name if it's under version control." | ||
| 2603 | (interactive (list (read-file-name "VC rename file: " nil | ||
| 2604 | (when (vc-backend buffer-file-name) | ||
| 2605 | buffer-file-name) t) | ||
| 2606 | (read-file-name "Rename to: "))) | ||
| 2600 | ;; in CL I would have said (setq new (merge-pathnames new old)) | 2607 | ;; in CL I would have said (setq new (merge-pathnames new old)) |
| 2601 | (let ((old-base (file-name-nondirectory old))) | 2608 | (let ((old-base (file-name-nondirectory old))) |
| 2602 | (when (and (not (string= "" old-base)) | 2609 | (when (and (not (string= "" old-base)) |
diff --git a/lisp/vcursor.el b/lisp/vcursor.el index 19cb7a9df8d..a277abcad9b 100644 --- a/lisp/vcursor.el +++ b/lisp/vcursor.el | |||
| @@ -881,6 +881,8 @@ ALL-FRAMES is also used to decide whether to split the window." | |||
| 881 | (vcursor-disable -1)))) | 881 | (vcursor-disable -1)))) |
| 882 | ) | 882 | ) |
| 883 | 883 | ||
| 884 | (declare-function compare-windows-skip-whitespace "compare-w" (start)) | ||
| 885 | |||
| 884 | ;; vcursor-compare-windows is copied from compare-w.el with only | 886 | ;; vcursor-compare-windows is copied from compare-w.el with only |
| 885 | ;; minor modifications; these are too bound up with the function | 887 | ;; minor modifications; these are too bound up with the function |
| 886 | ;; to make it really useful to call compare-windows itself. | 888 | ;; to make it really useful to call compare-windows itself. |
diff --git a/lisp/wdired.el b/lisp/wdired.el index 9851b2046d9..5183b5639c3 100644 --- a/lisp/wdired.el +++ b/lisp/wdired.el | |||
| @@ -399,6 +399,15 @@ non-nil means return old filename." | |||
| 399 | (setq changes t) | 399 | (setq changes t) |
| 400 | (if (not file-new) ;empty filename! | 400 | (if (not file-new) ;empty filename! |
| 401 | (push file-old files-deleted) | 401 | (push file-old files-deleted) |
| 402 | (when wdired-keep-marker-rename | ||
| 403 | (let ((mark (cond ((integerp wdired-keep-marker-rename) | ||
| 404 | wdired-keep-marker-rename) | ||
| 405 | (wdired-keep-marker-rename | ||
| 406 | (cdr (assoc file-old wdired-old-marks))) | ||
| 407 | (t nil)))) | ||
| 408 | (when mark | ||
| 409 | (push (cons (substitute-in-file-name file-new) mark) | ||
| 410 | wdired-old-marks)))) | ||
| 402 | (push (cons file-old (substitute-in-file-name file-new)) | 411 | (push (cons file-old (substitute-in-file-name file-new)) |
| 403 | files-renamed)))) | 412 | files-renamed)))) |
| 404 | (forward-line -1))) | 413 | (forward-line -1))) |
| @@ -416,7 +425,9 @@ non-nil means return old filename." | |||
| 416 | (= (length files-renamed) 1)) | 425 | (= (length files-renamed) 1)) |
| 417 | (setq dired-directory (cdr (car files-renamed)))) | 426 | (setq dired-directory (cdr (car files-renamed)))) |
| 418 | ;; Re-sort the buffer. | 427 | ;; Re-sort the buffer. |
| 419 | (revert-buffer)) | 428 | (revert-buffer) |
| 429 | (let ((inhibit-read-only t)) | ||
| 430 | (dired-mark-remembered wdired-old-marks))) | ||
| 420 | (let ((inhibit-read-only t)) | 431 | (let ((inhibit-read-only t)) |
| 421 | (remove-text-properties (point-min) (point-max) | 432 | (remove-text-properties (point-min) (point-max) |
| 422 | '(old-name nil end-name nil old-link nil | 433 | '(old-name nil end-name nil old-link nil |
| @@ -430,8 +441,6 @@ non-nil means return old filename." | |||
| 430 | (set-buffer-modified-p nil) | 441 | (set-buffer-modified-p nil) |
| 431 | (setq buffer-undo-list nil)) | 442 | (setq buffer-undo-list nil)) |
| 432 | 443 | ||
| 433 | (declare-function dired-add-entry "dired-aux" (filename &optional marker-char relative)) | ||
| 434 | |||
| 435 | (defun wdired-do-renames (renames) | 444 | (defun wdired-do-renames (renames) |
| 436 | "Perform RENAMES in parallel." | 445 | "Perform RENAMES in parallel." |
| 437 | (let ((residue ()) | 446 | (let ((residue ()) |
| @@ -473,8 +482,7 @@ non-nil means return old filename." | |||
| 473 | (push (cons tmp file-new) residue)))) | 482 | (push (cons tmp file-new) residue)))) |
| 474 | (t | 483 | (t |
| 475 | (setq progress t) | 484 | (setq progress t) |
| 476 | (let* ((file-ori (car rename)) | 485 | (let ((file-ori (car rename))) |
| 477 | (old-mark (cdr (assoc file-ori wdired-old-marks)))) | ||
| 478 | (if wdired-use-interactive-rename | 486 | (if wdired-use-interactive-rename |
| 479 | (wdired-search-and-rename file-ori file-new) | 487 | (wdired-search-and-rename file-ori file-new) |
| 480 | ;; If dired-rename-file autoloads dired-aux while | 488 | ;; If dired-rename-file autoloads dired-aux while |
| @@ -485,20 +493,12 @@ non-nil means return old filename." | |||
| 485 | (condition-case err | 493 | (condition-case err |
| 486 | (let ((dired-backup-overwrite nil)) | 494 | (let ((dired-backup-overwrite nil)) |
| 487 | (dired-rename-file file-ori file-new | 495 | (dired-rename-file file-ori file-new |
| 488 | overwrite) | 496 | overwrite)) |
| 489 | (dired-remove-file file-ori) | ||
| 490 | (dired-add-file | ||
| 491 | file-new | ||
| 492 | (cond ((integerp wdired-keep-marker-rename) | ||
| 493 | wdired-keep-marker-rename) | ||
| 494 | (wdired-keep-marker-rename old-mark) | ||
| 495 | (t nil)))) | ||
| 496 | (error | 497 | (error |
| 497 | (setq errors (1+ errors)) | 498 | (setq errors (1+ errors)) |
| 498 | (dired-log (concat "Rename `" file-ori "' to `" | 499 | (dired-log (concat "Rename `" file-ori "' to `" |
| 499 | file-new "' failed:\n%s\n") | 500 | file-new "' failed:\n%s\n") |
| 500 | err) | 501 | err))))))))) |
| 501 | (dired-add-entry file-ori old-mark))))))))) | ||
| 502 | errors)) | 502 | errors)) |
| 503 | 503 | ||
| 504 | 504 | ||
diff --git a/lisp/window.el b/lisp/window.el index 9ac3a4ecda0..52909fa9e5f 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -142,41 +142,46 @@ to `display-buffer'." | |||
| 142 | ;; Return the window. | 142 | ;; Return the window. |
| 143 | window)))) | 143 | window)))) |
| 144 | 144 | ||
| 145 | ;; Doc is very similar to with-output-to-temp-buffer. | ||
| 145 | (defmacro with-temp-buffer-window (buffer-or-name action quit-function &rest body) | 146 | (defmacro with-temp-buffer-window (buffer-or-name action quit-function &rest body) |
| 146 | "Evaluate BODY and display the buffer specified by BUFFER-OR-NAME. | 147 | "Bind `standard-output' to BUFFER-OR-NAME, eval BODY, show the buffer. |
| 147 | BUFFER-OR-NAME must specify either a live buffer, or the name of a | 148 | BUFFER-OR-NAME must specify either a live buffer, or the name of a |
| 148 | buffer (if it does not exist, this macro creates it). | 149 | buffer (if it does not exist, this macro creates it). |
| 149 | 150 | ||
| 150 | Make sure the specified buffer is empty before evaluating BODY. | 151 | This construct makes buffer BUFFER-OR-NAME empty before running BODY. |
| 151 | Do not make that buffer current for BODY. Instead, bind | 152 | It does not make the buffer current for BODY. |
| 152 | `standard-output' to that buffer, so that output generated with | 153 | Instead it binds `standard-output' to that buffer, so that output |
| 153 | `prin1' and similar functions in BODY goes into that buffer. | 154 | generated with `prin1' and similar functions in BODY goes into |
| 155 | the buffer. | ||
| 154 | 156 | ||
| 155 | After evaluating BODY, this marks the specified buffer unmodified and | 157 | At the end of BODY, this marks the specified buffer unmodified and |
| 156 | read-only, and displays it in a window via `display-buffer', passing | 158 | read-only, and displays it in a window (but does not select it, or make |
| 157 | ACTION as the action argument to `display-buffer'. It automatically | 159 | the buffer current). The display happens by calling `display-buffer' |
| 158 | shrinks the relevant window if `temp-buffer-resize-mode' is enabled. | 160 | with the ACTION argument. If `temp-buffer-resize-mode' is enabled, |
| 161 | the relevant window shrinks automatically. | ||
| 159 | 162 | ||
| 160 | Returns the value returned by BODY, unless QUIT-FUNCTION specifies | 163 | This returns the value returned by BODY, unless QUIT-FUNCTION specifies |
| 161 | a function. In that case, runs the function with two arguments - | 164 | a function. In that case, it runs the function with two arguments - |
| 162 | the window showing the specified buffer and the value returned by | 165 | the window showing the specified buffer and the value returned by |
| 163 | BODY - and returns the value returned by that function. | 166 | BODY - and returns the value returned by that function. |
| 164 | 167 | ||
| 165 | If the buffer is displayed on a new frame, the window manager may | 168 | If the buffer is displayed on a new frame, the window manager may |
| 166 | decide to select that frame. In that case, it's usually a good | 169 | decide to select that frame. In that case, it's usually a good |
| 167 | strategy if the function specified by QUIT-FUNCTION selects the | 170 | strategy if QUIT-FUNCTION selects the window showing the buffer |
| 168 | window showing the buffer before reading a value from the | 171 | before reading any value from the minibuffer; for example, when |
| 169 | minibuffer; for example, when asking a `yes-or-no-p' question. | 172 | asking a `yes-or-no-p' question. |
| 170 | 173 | ||
| 171 | This construct is similar to `with-output-to-temp-buffer', but does | 174 | This runs the hook `temp-buffer-window-setup-hook' before BODY, |
| 172 | not put the buffer in help mode, or call `temp-buffer-show-function'. | 175 | with the specified buffer temporarily current. It runs the |
| 173 | It also runs different hooks, namely `temp-buffer-window-setup-hook' | 176 | hook `temp-buffer-window-show-hook' after displaying the buffer, |
| 174 | \(with the specified buffer current) and `temp-buffer-window-show-hook' | 177 | with that buffer temporarily current, and the window that was used to |
| 175 | \(with the specified buffer current and the window showing it selected). | 178 | display it temporarily selected. |
| 176 | 179 | ||
| 177 | Since this macro calls `display-buffer', the window displaying | 180 | This construct is similar to `with-output-to-temp-buffer', but |
| 178 | the buffer is usually not selected and the specified buffer | 181 | runs different hooks. In particular, it does not run |
| 179 | usually not made current. QUIT-FUNCTION can override that." | 182 | `temp-buffer-setup-hook', which usually puts the buffer in Help mode. |
| 183 | Also, it does not call `temp-buffer-show-function' (the ACTION | ||
| 184 | argument replaces this)." | ||
| 180 | (declare (debug t)) | 185 | (declare (debug t)) |
| 181 | (let ((buffer (make-symbol "buffer")) | 186 | (let ((buffer (make-symbol "buffer")) |
| 182 | (window (make-symbol "window")) | 187 | (window (make-symbol "window")) |
| @@ -5865,7 +5870,12 @@ the selected window or never appeared in it before, or if | |||
| 5865 | :version "24.3") | 5870 | :version "24.3") |
| 5866 | 5871 | ||
| 5867 | (defun switch-to-buffer (buffer-or-name &optional norecord force-same-window) | 5872 | (defun switch-to-buffer (buffer-or-name &optional norecord force-same-window) |
| 5868 | "Switch to buffer BUFFER-OR-NAME in the selected window. | 5873 | "Display buffer BUFFER-OR-NAME in the selected window. |
| 5874 | |||
| 5875 | WARNING: This is NOT the way to work on another buffer temporarily | ||
| 5876 | within a Lisp program! Use `set-buffer' instead. That avoids | ||
| 5877 | messing with the window-buffer correspondences. | ||
| 5878 | |||
| 5869 | If the selected window cannot display the specified | 5879 | If the selected window cannot display the specified |
| 5870 | buffer (e.g. if it is a minibuffer window or strongly dedicated | 5880 | buffer (e.g. if it is a minibuffer window or strongly dedicated |
| 5871 | to another buffer), call `pop-to-buffer' to select the buffer in | 5881 | to another buffer), call `pop-to-buffer' to select the buffer in |
diff --git a/lisp/woman.el b/lisp/woman.el index 46b6b680440..c7f9b08d404 100644 --- a/lisp/woman.el +++ b/lisp/woman.el | |||
| @@ -949,6 +949,7 @@ or different fonts." | |||
| 949 | 949 | ||
| 950 | (defun woman-default-faces () | 950 | (defun woman-default-faces () |
| 951 | "Set foreground colors of italic and bold faces to their default values." | 951 | "Set foreground colors of italic and bold faces to their default values." |
| 952 | (declare (obsolete choose-completion-guess-base-position "23.2")) | ||
| 952 | (interactive) | 953 | (interactive) |
| 953 | (face-spec-set 'woman-italic (face-user-default-spec 'woman-italic)) | 954 | (face-spec-set 'woman-italic (face-user-default-spec 'woman-italic)) |
| 954 | (face-spec-set 'woman-bold (face-user-default-spec 'woman-bold))) | 955 | (face-spec-set 'woman-bold (face-user-default-spec 'woman-bold))) |
| @@ -956,6 +957,7 @@ or different fonts." | |||
| 956 | (defun woman-monochrome-faces () | 957 | (defun woman-monochrome-faces () |
| 957 | "Set foreground colors of italic and bold faces to that of the default face. | 958 | "Set foreground colors of italic and bold faces to that of the default face. |
| 958 | This is usually either black or white." | 959 | This is usually either black or white." |
| 960 | (declare (obsolete choose-completion-guess-base-position "23.2")) | ||
| 959 | (interactive) | 961 | (interactive) |
| 960 | (set-face-foreground 'woman-italic 'unspecified) | 962 | (set-face-foreground 'woman-italic 'unspecified) |
| 961 | (set-face-foreground 'woman-bold 'unspecified)) | 963 | (set-face-foreground 'woman-bold 'unspecified)) |
| @@ -1550,11 +1552,13 @@ Also make each path-info component into a list. | |||
| 1550 | (woman-dired-define-keys) | 1552 | (woman-dired-define-keys) |
| 1551 | (add-hook 'dired-mode-hook 'woman-dired-define-keys)) | 1553 | (add-hook 'dired-mode-hook 'woman-dired-define-keys)) |
| 1552 | 1554 | ||
| 1555 | (declare-function dired-get-filename "dired" | ||
| 1556 | (&optional localp no-error-if-not-filep)) | ||
| 1557 | |||
| 1553 | ;;;###autoload | 1558 | ;;;###autoload |
| 1554 | (defun woman-dired-find-file () | 1559 | (defun woman-dired-find-file () |
| 1555 | "In dired, run the WoMan man-page browser on this file." | 1560 | "In dired, run the WoMan man-page browser on this file." |
| 1556 | (interactive) | 1561 | (interactive) |
| 1557 | ;; dired-get-filename is defined in dired.el | ||
| 1558 | (woman-find-file (dired-get-filename))) | 1562 | (woman-find-file (dired-get-filename))) |
| 1559 | 1563 | ||
| 1560 | 1564 | ||
| @@ -1826,8 +1830,6 @@ Argument EVENT is the invoking mouse event." | |||
| 1826 | ["Use Full Frame Width" woman-toggle-fill-frame | 1830 | ["Use Full Frame Width" woman-toggle-fill-frame |
| 1827 | :active t :style toggle :selected woman-fill-frame] | 1831 | :active t :style toggle :selected woman-fill-frame] |
| 1828 | ["Reformat Last Man Page" woman-reformat-last-file t] | 1832 | ["Reformat Last Man Page" woman-reformat-last-file t] |
| 1829 | ["Use Monochrome Main Faces" woman-monochrome-faces t] | ||
| 1830 | ["Use Default Main Faces" woman-default-faces t] | ||
| 1831 | ["Make Contents Menu" (woman-imenu t) (not woman-imenu-done)] | 1833 | ["Make Contents Menu" (woman-imenu t) (not woman-imenu-done)] |
| 1832 | "--" | 1834 | "--" |
| 1833 | ["Describe (Wo)Man Mode" describe-mode t] | 1835 | ["Describe (Wo)Man Mode" describe-mode t] |
| @@ -1947,6 +1949,9 @@ Optional argument REDRAW, if non-nil, forces mode line to be updated." | |||
| 1947 | (message "Woman fill column set to %s." | 1949 | (message "Woman fill column set to %s." |
| 1948 | (if woman-fill-frame "frame width" woman-fill-column))) | 1950 | (if woman-fill-frame "frame width" woman-fill-column))) |
| 1949 | 1951 | ||
| 1952 | (declare-function apropos-print "apropos" | ||
| 1953 | (do-keys spacing &optional text nosubst)) | ||
| 1954 | |||
| 1950 | (defun woman-mini-help () | 1955 | (defun woman-mini-help () |
| 1951 | "Display WoMan commands and user options in an `apropos' buffer." | 1956 | "Display WoMan commands and user options in an `apropos' buffer." |
| 1952 | ;; Based on apropos-command in apropos.el | 1957 | ;; Based on apropos-command in apropos.el |
| @@ -2191,7 +2196,7 @@ To be called on original buffer and any .so insertions." | |||
| 2191 | (face-underline-p face)) | 2196 | (face-underline-p face)) |
| 2192 | (let ((face-no-ul (intern (concat face-name "-no-ul")))) | 2197 | (let ((face-no-ul (intern (concat face-name "-no-ul")))) |
| 2193 | (copy-face face face-no-ul) | 2198 | (copy-face face face-no-ul) |
| 2194 | (set-face-underline-p face-no-ul nil))))))) | 2199 | (set-face-underline face-no-ul nil))))))) |
| 2195 | 2200 | ||
| 2196 | ;; Preprocessors | 2201 | ;; Preprocessors |
| 2197 | ;; ============= | 2202 | ;; ============= |