diff options
| author | Tom Tromey <tromey@redhat.com> | 2013-07-06 23:18:58 -0600 |
|---|---|---|
| committer | Tom Tromey <tromey@redhat.com> | 2013-07-06 23:18:58 -0600 |
| commit | 6dacdad5fcb278e5a16b38bb81786aac9ca27be4 (patch) | |
| tree | f5f331ea361ba0f99e0f9b638d183ad492a7da31 /lisp | |
| parent | 0a6f2ff0c8ceb29703e76cddd46ea3f176dd873a (diff) | |
| parent | 219afb88d9d484393418820d1c08dc93299110ec (diff) | |
| download | emacs-6dacdad5fcb278e5a16b38bb81786aac9ca27be4.tar.gz | |
merge from trunk
this merges frmo trunk and fixes various build issues.
this needed a few ugly tweaks.
this hangs in "make check" now
Diffstat (limited to 'lisp')
155 files changed, 41347 insertions, 32160 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2d9fd3f28b4..2402ea0cd1f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,1397 @@ +2013-07-06 Jan Djärv <jan.h.d@swipnet.se> + + * files.el (write-file): Do not display confirm dialog for NS, + it does its own dialog, which can't be cancelled (Bug#14578). + +2013-07-06 Eli Zaretskii <eliz@gnu.org> + + * simple.el (line-move-partial): Adjust the row returned by + posn-at-point for the current window-vscroll. (Bug#14567) + +2013-07-06 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-file-gvfs-monitor-dir-process-filter): + (tramp-sh-file-inotifywait-process-filter): Handle file names with + spaces. + +2013-07-06 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-state-put-stale-windows): New variable. + (window--state-put-2): Save list of windows without matching buffer. + (window-state-put): Remove "bufferless" windows if possible. + +2013-07-06 Juanma Barranquero <lekktu@gmail.com> + + * simple.el (alternatives-define): Remove leftover :group keyword. + Tweak docstring. + +2013-07-06 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-use-virtual-buffers): Allow new value 'auto. + (ido-enable-virtual-buffers): New variable. + (ido-buffer-internal, ido-toggle-virtual-buffers) + (ido-make-buffer-list): Use it. + (ido-exhibit): Support turning on and off virtual buffers + automatically. + +2013-07-06 Juanma Barranquero <lekktu@gmail.com> + + * simple.el (alternatives-define): New macro. + +2013-07-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (read-quoted-char): Use read-key. + (sit-for): Let read-event decode tty input (bug#14782). + +2013-07-05 Stephen Berman <stephen.berman@gmx.net> + + * calendar/todo-mode.el: Add handling of file deletion, both by + mode command and externally. Fix various related bugs. + Clarify Commentary and improve some documentation strings and code. + (todo-delete-file): New command. + (todo-check-file): New function. + (todo-show): Handle external deletion of the file we're trying to + show (bug#14688). Replace called-interactively-p by an optional + prefix argument to avoid problematic interaction with catch form + when byte compiled (bug#14702). + (todo-quit): Handle external deletion of the archive's todo file. + Make sure the buffer that was visiting the archive file is still + live before trying to bury it. + (todo-category-completions): Handle external deletion of any + category completion files. + (todo-jump-to-category, todo-basic-insert-item): Recalculate list + of todo files, in case of external deletion. + (todo-add-file): Replace unnecessary setq by let-binding. + (todo-find-archive): Check whether there are any archives. + Replace unnecessary setq by let-binding. + (todo-archive-done-item): Use find-file-noselect to get the + archive buffer whether or not the archive already exists. + Remove superfluous code. Use file size instead of buffer-file-name to + check if the archive is new; if it is, update list of archives. + (todo-default-todo-file): Allow nil to be a valid value for when + there are no todo files. + (todo-reevaluate-default-file-defcustom): Use corrected definition + of todo-default-todo-file. + (todo-key-bindings-t+a+f): Add key binding for todo-delete-file. + (todo-delete-category, todo-show-categories-table) + (todo-category-number): Clarify comment. + (todo-filter-items): Clarify documentation string. + (todo-show-current-file, todo-display-as-todo-file) + (todo-reset-and-enable-done-separator): Tweak documentation string. + (todo-done-separator): Make separator length window-width, since + bug#2749 is now fixed. + +2013-07-05 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch): + Support both "gvfs-monitor-dir" and "inotifywait". + (tramp-sh-file-inotifywait-process-filter): Rename from + `tramp-sh-file-notify-process-filter'. + (tramp-sh-file-gvfs-monitor-dir-process-filter) + (tramp-get-remote-gvfs-monitor-dir): New defuns. + +2013-07-05 Leo Liu <sdl.web@gmail.com> + + * autoinsert.el (auto-insert-alist): Default to lexical-binding. + +2013-07-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * frame.el (display-pixel-height, display-pixel-width) + (display-mm-height, display-mm-width): Mention behavior on + multi-monitor setups in docstrings. + (w32-display-monitor-attributes-list): Declare function. + (display-monitor-attributes-list): Use it. + +2013-07-04 Michael Albinus <michael.albinus@gmx.de> + + * filenotify.el: New package. + + * autorevert.el (top): Require filenotify.el. + (auto-revert-notify-enabled): Remove. Use `file-notify-support' + instead. + (auto-revert-notify-rm-watch, auto-revert-notify-add-watch) + (auto-revert-notify-handler): Use `file-notify-*' functions. + + * subr.el (file-notify-handle-event): Move function to filenotify.el. + + * net/tramp.el (tramp-file-name-for-operation): + Handle `file-notify-add-watch' and `file-notify-rm-watch'. + + * net/tramp-sh.el (tramp-sh-file-name-handler-alist): Add handler + for `file-notify-add-watch' and `file-notify-rm-watch'. + (tramp-process-sentinel): Improve trace. + (tramp-sh-handle-file-notify-add-watch) + (tramp-sh-file-notify-process-filter) + (tramp-sh-handle-file-notify-rm-watch) + (tramp-get-remote-inotifywait): New defuns. + +2013-07-03 Juri Linkov <juri@jurta.org> + + * buff-menu.el (Buffer-menu-multi-occur): Add args and move the + call of `occur-read-primary-args' to interactive spec. + + * ibuffer.el (ibuffer-mode-map): Bind "M-s a C-o" to + `ibuffer-do-occur' like in buff-menu.el. (Bug#14673) + +2013-07-03 Matthias Meulien <orontee@gmail.com> + + * buff-menu.el (Buffer-menu-mode-map): Bind "M-s a C-o" to + `Buffer-menu-multi-occur'. Add it to the menu. + (Buffer-menu-mode): Document it in docstring. + (Buffer-menu-multi-occur): New command. (Bug#14673) + +2013-07-03 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight more + keywords and built-ins. + +2013-07-03 Glenn Morris <rgm@gnu.org> + + * subr.el (y-or-n-p): Handle empty prompts. (Bug#14770) + + Make info-xref checks case-sensitive by default + * info.el (Info-find-node, Info-find-in-tag-table) + (Info-find-node-in-buffer, Info-find-node-2, Info-goto-node): + Add option for exact case matching of nodes. + * info-xref.el (info-xref): New custom group. + (info-xref-case-fold): New option. + (info-xref-goto-node-p): Pass info-xref-case-fold to Info-goto-node. + +2013-07-03 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-delete-file-at-head): Respect delete-by-moving-to-trash. + +2013-07-03 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-move-to-block): When we're at a + middle of block statement initially, lower the depth. Remove + FIXME comment, not longer valid. Remove middle of block statement + detection, no need to do that anymore since we've been using + `ruby-parse-region' here. + +2013-07-02 Jan Djärv <jan.h.d@swipnet.se> + + * term/ns-win.el (display-format-alist): Use .* (Bug#14765). + +2013-07-01 Katsumi Yamaoka <yamaoka@jpl.org> + + * wid-edit.el (widget-default-get): Don't modify widget (Bug#14738). + +2013-07-01 Juanma Barranquero <lekktu@gmail.com> + + * desktop.el (desktop-restore-frames): Rename from desktop-save-windows. + (desktop-restore-in-current-display): New customization option. + (desktop--excluded-frame-parameters): Add `font'. + (desktop--save-frames): Rename from desktop--save-windows. + (desktop--restore-in-this-display-p): New function. + (desktop--make-full-frame): Remove unwanted width/height from + full(width|height) frames. + (desktop--restore-frames): Rename from desktop--restore-windows. + Obey desktop-restore-current-display. Do not delete old frames or + select a new frame unless we were able to restore at least one frame. + +2013-06-30 Michal Nazarewicz <mina86@mina86.com> + + * files.el (find-file-noselect): Simplify conditional expression. + + * remember.el (remember-append-to-file): + Don't mix `find-buffer-visiting' and `get-file-buffer'. + + Add `remember-notes' function to store random notes across Emacs + restarts. + * remember.el (remember-data-file): Add :set callback to affect + notes buffer (if any). + (remember-notes): New command. + (remember-notes-buffer-name, bury-remember-notes-on-kill): + New defcustoms for the `remember-notes' function. + (remember-notes-save-and-bury-buffer): New command. + (remember-notes-mode-map): New variable. + (remember-mode): New minor mode. + (remember-notes--kill-buffer-query): New function. + * startup.el (initial-buffer-choice): Add notes to custom type. + +2013-06-30 Eli Zaretskii <eliz@gnu.org> + + * bindings.el (right-char, left-char): Don't call sit-for, this is + no longer needed. Use arithmetic comparison only for numerical + arguments. + + * international/mule-cmds.el (select-safe-coding-system): + Handle the case of FROM being a string correctly. (Bug#14755) + +2013-06-30 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/shr.el (shr-make-table-1): Add a sanity check that allows + progression on degenerate tables. + (shr-rescale-image): ImageMagick animated images currently don't work. + +2013-06-30 Juanma Barranquero <lekktu@gmail.com> + + Some fixes and improvements for desktop frame restoration. + It is still experimental and disabled by default. + * desktop.el (desktop--save-windows): Put the selected frame at + the head of the list. + (desktop--make-full-frame): New function. + (desktop--restore-windows): Try to re-select the frame that was + selected upon saving. Do not abort if some frames fail to restore, + just show an error message and continue. Set up maximized frames + so they have default non-maximized dimensions. + +2013-06-30 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-syntax-propertize-function): + Don't start heredoc inside a string or comment. + +2013-06-29 Eli Zaretskii <eliz@gnu.org> + + * bindings.el (visual-order-cursor-movement): New defcustom. + (right-char, left-char): Provide visual-order cursor motion by + calling move-point-visually. Update the doc strings. + +2013-06-28 Kenichi Handa <handa@gnu.org> + + * international/mule.el (define-coding-system): New coding system + properties :inhibit-null-byte-detection, + :inhibit-iso-escape-detection, and :prefer-utf-8. + (set-buffer-file-coding-system): If :charset-list property of + CODING-SYSTEM is `emacs', do not check if CODING-SYSTEM is + appropriate for setting. + + * international/mule-cmds.el (select-safe-coding-system): + If DEFAULT-CODING-SYSTEM is prefer-utf-8 and the buffer contains + multibyte characters, return utf-8 (or one of its siblings). + + * international/mule-conf.el (prefer-utf-8): New coding system. + (file-coding-system-alist): Use prefer-utf-8 as default for Elisp + files. + +2013-06-28 Ivan Kanis <ivan@kanis.fr> + + * net/shr.el (shr-render-region): New function. + + * net/eww.el: Autoload `eww-browse-url'. + +2013-06-27 Dmitry Gutov <dgutov@yandex.ru> + + * emacs-lisp/package-x.el (package-upload-buffer-internal): + Adapt to `package-desc-version' being a list. + Use `package--ac-desc-version' to retrieve version from a package + archive element. + +2013-06-27 Juanma Barranquero <lekktu@gmail.com> + + New experimental feature to save&restore window and frame setup. + * desktop.el (desktop-save-windows): New defcustom. + (desktop--saved-states): New var. + (desktop--excluded-frame-parameters): New defconst. + (desktop--filter-frame-parms, desktop--find-frame-in-display) + (desktop--restore-windows, desktop--save-windows): New functions. + (desktop-save): Call `desktop--save-windows'. + (desktop-read): Call `desktop--restore-windows'. + +2013-06-27 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/shr.el (add-face-text-property): Remove compat definition. + +2013-06-27 Stephen Berman <stephen.berman@gmx.net> + + * info.el (Info-try-follow-nearest-node): Move search for footnote + above search for node name to prevent missing a footnote (bug#14717). + +2013-06-27 Stephen Berman <stephen.berman@gmx.net> + + * obsolete/otodo-mode.el: Add obsolescence info to file header. + +2013-06-27 Leo Liu <sdl.web@gmail.com> + + * net/eww.el (eww-read-bookmarks): Check file size. + +2013-06-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/nadvice.el (advice--defalias-fset): Move advice back to + advice--pending if newdef is nil or an autoload (bug#13820). + (advice-mapc): New function. + +2013-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/eww.el (eww-mode): Undo isn't necessary in eww buffers, + probably. + (eww-mode-map): Add a menu bar. + (eww-add-bookmark): New command. + (eww-bookmark-mode): New mode and commands. + (eww-add-bookmark): Remove newlines from the title. + (eww-bookmark-browse): Don't bug out if it's the only window. + +2013-06-26 Glenn Morris <rgm@gnu.org> + + * htmlfontify.el (hfy-triplet): Handle unspecified-fg, bg. + (hfy-size): Handle ttys. (Bug#14668) + + * info-xref.el: Update for Texinfo 5 change in *note format. + (info-xref-node-re, info-xref-note-re): New constants. + (info-xref-check-buffer): Use info-xref-note-re. + +2013-06-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (set-variable): Use read-from-minibuffer (bug#14710). + + * emacs-lisp/package.el (package--add-to-archive-contents): Add missing + nil terminate the loop (bug#14718). + +2013-06-25 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/eww.el: Rework history traversal. When going forward/back, + put these actions into the history, too, so that they can be + replayed. + (eww-render): Move the history reset to the correct buffer. + +2013-06-25 Juri Linkov <juri@jurta.org> + + * files-x.el (modify-dir-local-variable): Change the header comment + in the file with directory local variables. (Bug#14692) + + * files-x.el (read-file-local-variable-value): Add `default'. + (Bug#14710) + +2013-06-25 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/eww.el (eww-make-unique-file-name): Create a unique file + name before saving to entering `y' accidentally asynchronously. + +2013-06-25 Ivan Kanis <ivan@kanis.fr> + + * net/eww.el (eww-download): New command and keystroke. + +2013-06-25 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/eww.el (eww-copy-page-url): Change name of command. + + * net/shr.el (shr-map): Change `shr-copy-url' from `u' to `w' to + be more consistent with Info and dired. + + * net/eww.el (eww-mode-map): Ditto. + +2013-06-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/package.el: Use lexical-binding. Include obsolete + packages from archives. + (package-archive-contents): Change format; include obsolete packages. + (package-desc): Use `dir' to mark builtin packages. + (package--from-builtin): Set the `dir' field to `builtin'. + (generated-autoload-file, version-control): Declare. + (package-compute-transaction): Change first arg and return value to be + lists of package-descs. Adjust to new package-archive-contents format. + (package--add-to-archive-contents): Adjust to new + package-archive-contents format. + (package-download-transaction): Arg is now a list of package-descs. + (package-install): If `pkg' is a package name, pass it as + a requirement, so it is subject to the usual (e.g. disabled) checks. + (describe-package): Accept package-desc as well. + (describe-package-1): Describe a specific package-desc. Add links to + other package-descs for the same package name. + (package-menu-describe-package): Pass the actual package-desc. + (package-menu-mode): Add to tabulated-list-revert-hook so revert-buffer + works correctly. + (package-desc-status): New function. + (package-menu--refresh): New function, extracted + from package-menu--generate. + (package-menu--generate): Use it. + (package-delete): Update package-alist. + (package-menu-execute): Don't call package-initialize. + + * progmodes/idlw-toolbar.el, progmodes/idlw-shell.el, + progmodes/idlw-help.el, progmodes/idlw-complete-structtag.el, + progmodes/ebnf-yac.el, progmodes/ebnf-otz.el, progmodes/ebnf-iso.el, + progmodes/ebnf-ebx.el, progmodes/ebnf-dtd.el, progmodes/ebnf-bnf.el, + progmodes/ebnf-abn.el, emacs-lisp/package-x.el, emacs-lisp/cl-seq.el, + emacs-lisp/cl-macs.el: Neuter the "Version:" header. + +2013-06-25 Martin Rudalics <rudalics@gmx.at> + + * window.el (window--state-get-1): Workaround for bug#14527. + http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00941.html + +2013-06-25 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/eww.el (eww-back-url): Implement the history by stashing all + the data into a list. + (eww-forward-url): Allow going forward in the history, too. + +2013-06-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * files-x.el (read-file-local-variable-value): Use read-from-minibuffer + for values and use read--expression for expressions (bug#14710). + (read-file-local-variable): Avoid setq. + (read-file-local-variable-mode): Use minor-mode-list. + +2013-06-25 Rüdiger Sonderfeld <ruediger@c-plusplus.de> + + * textmodes/bibtex.el (bibtex-generate-url-list): Add support + for DOI URLs. + +2013-06-25 Rüdiger Sonderfeld <ruediger@c-plusplus.de> + + * textmodes/bibtex.el (bibtex-mode, bibtex-set-dialect): + Update imenu-support when dialect changes. + +2013-06-25 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-read-internal): Allow forward slash on windows. + +2013-06-24 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/eww.el (eww): Start of strings is \\`, not ^. + +2013-06-24 Ivan Kanis <ivan@kanis.fr> + + * net/shr.el (shr-browse-url): Fix interactive spec. + + * net/eww.el (eww): Add a trailing slash to domain names. + +2013-06-24 Juanma Barranquero <lekktu@gmail.com> + + * faces.el (face-spec-recalc): Revert part of 2013-06-23T20:29:18Z!lekktu@gmail.com (bug#14705). + +2013-06-24 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/shr.el (shr-browse-url): Use an external browser if given a + prefix. + + * net/eww.el (eww-external-browser): Move to shr. + +2013-06-24 Ivan Kanis <ivan@kanis.fr> + + * net/eww.el (eww): Work more correctly for file: URLs. + (eww-detect-charset): Allow quoted charsets. + (eww-yank-page-url): New command and keystroke. + +2013-06-24 Daiki Ueno <ueno@gnu.org> + + * epg.el (epg-make-context): Check if PROTOCOL is valid; embed the + file name of gpg executable. + (epg-context-program): New function. + (epg-context-home-directory): New function. + (epg-context-set-program): New function. + (epg-context-set-home-directory): New function. + (epg--start): Use `epg-context-program' instead of + 'epg-gpg-program'. + (epg--list-keys-1): Likewise. + +2013-06-24 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-read-internal): Fix bug#14620. + +2013-06-23 Juanma Barranquero <lekktu@gmail.com> + + * faces.el (face-documentation): Simplify. + (read-face-attribute, tty-find-type, x-resolve-font-name): + Use `string-match-p'. + (list-faces-display): Use `string-match-p'. Simplify. + (face-spec-recalc): Check face to avoid face alias loops. + (read-color): Use `string-match-p' and non-capturing parenthesis. + +2013-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/shr.el (shr-rescale-image): Use the new + :max-width/:max-height functionality. + +2013-06-23 Ivan Kanis <ivan@kanis.fr> + + * net/eww.el (eww-search-prefix): New variable. + (eww): Use it. + (eww-external-browser): New variable. + (eww-mode-map): New keystroke. + (eww-browse-with-external-browser): New command. + + * net/eww.el: Bind `C-c C-c' to "submit" in all form keymaps. + +2013-06-23 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/tabulated-list.el (tabulated-list-init-header): + Don't skip aligning the next header field when padding is 0; + otherwise, field width is not respected unless the title is as + wide as the field. + +2013-06-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/package.el (package-el-version): Remove. + (package-process-define-package): Fix inf-loop. + (package-install): Allow symbols as arguments again. + +2013-06-22 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): Move `catch', + add some more keyword-like methods. + http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00911.html + +2013-06-22 Juanma Barranquero <lekktu@gmail.com> + + * bs.el (bs-buffer-show-mark): Make defvar-local. + (bs-mode): Use setq-local. + + * emacs-lock.el (emacs-lock-mode, emacs-lock--old-mode) + (emacs-lock--try-unlocking): Make defvar-local. + +2013-06-22 Glenn Morris <rgm@fencepost.gnu.org> + + * play/cookie1.el (cookie-apropos): Minor simplification. + + * progmodes/gdb-mi.el (gdb-mapcar*): Remove, replace with cl-mapcar. + +2013-06-22 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (auto-mode-alist): Do not use + `regexp-opt', it breaks the build during dumping. + +2013-06-21 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): + Highlight keyword-like methods on Kernel and Module with + font-lock-builtin-face. + (auto-mode-alist): Consolidate different entries into one regexp + and add more *file-s. + +2013-06-21 Stephen Berman <stephen.berman@gmx.net> + + * obsolete/otodo-mode.el: Move and rename from calendar/todo-mode.el. + + * calendar/diary-lib.el (diary-goto-entry-function): New variable. + (diary-entry): Use it in the action of this button type instead of + diary-goto-entry. + + * calendar/todo-mode.el: New version. + (todo-add-category): Append new category to end of file and give + it the highest number, instead of putting it at the beginning and + giving it 0. Incorporate noninteractive functionality. + (todo-forward-category): Adapt to 1-based category numbering. + Allow skipping over archived categories. + (todo-backward-category): Derive from todo-forward-category. + (todo-backward-item, todo-forward-item): Make noninteractive and + delegate interactive part to new commands. Make sensitive to done items. + (todo-categories): Make value an alist of category names and + vectors of item counts. + (todo-category-beg): Make a defconst. + (todo-category-number): Use 1 instead of 0 as initial value. + (todo-category-select): Make sensitive to overlays, optional item + highlighting and done items. + (todo-delete-item): Make sensitive to overlays and marked and done items. + (todo-edit-item): Make sensitive to overlays and editing of + date/time header optional. Add format checks. + (todo-edit-multiline): Rename to todo-edit-multiline-item. Make a + no-op if point is not on an item. Advertise using todo-edit-quit. + (todo-edit-mode): Make sensitive to new format, font-locking, and + multiple todo files. + (todo-insert-item, todo-insert-item-here): Derive from + todo-basic-insert-item and extend functionality. + (todo-item-end, todo-item-start): Make sensitive to done items. + (todo-item-string): Don't return text properties. Restore point. + (todo-jump-to-category): Make sensitive to multiple todo files and + todo archives. Use extended category completion. + (todo-lower-item, todo-raise-item): Rename to *-priority and + derive from todo-set-item-priority. + (todo-mode): Derive from special-mode. Make sensitive to new + format, font-locking and multiple todo files. Make read-only. + (todo-mode-map): Don't suppress digit keys, so they can supply + prefix arguments. Add many new key bindings. + (todo-prefix): Insert as an overlay instead of file text. + Change semantics from diary date expression to purely visual mark. + (todo-print): Rename to todo-print-buffer. Make buffer display + features printable. Remove option to restrict number of items + printed. Add option to print to file. + (todo-print-function): Rename to todo-print-buffer-function. + (todo-quit): Extend to handle exiting new todo modes. + (todo-remove-item): Make sensitive to overlays. + (todo-save): Extend to buffers of filtered items. + (todo-show): Make sensitive to done items, multiple todo files and + new todo modes. Offer to convert legacy todo file before creating + first new todo file. + (todo-show-priorities): Rename to todo-top-priorities. + Change semantics of value 0. + (todo-top-priorities): Rename to todo-filter-top-priorities, + derive from todo-filter-items and extend functionality. + (todo-save-top-priorities): Rename to todo-save-filtered-items-buffer + and extend functionality to other types of filtered items. + (todo-add-item-non-interactively, todo-ask-p, todo-cat-slct) + (todo-category-end, todo-category-sep, todo-cats, todo-cmd-back) + (todo-cmd-done, todo-cmd-edit, todo-cmd-forw, todo-cmd-inst) + (todo-cmd-kill, todo-cmd-lowr, todo-cmd-next, todo-cmd-prev) + (todo-cmd-rais, todo-cmd-save, todo-completing-read, todo-cp) + (todo-edit-mode-hook, todo-entry-prefix-function) + (todo-entry-timestamp-initials, todo-file-do, todo-file-done) + (todo-file-item, todo-file-top, todo-header, todo-initial-setup) + (todo-initials, todo-insert-threshold, todo-item-string-start) + (todo-line-string, todo-menu, todo-mode-hook) + (todo-more-important-p, todo-previous-answer, todo-previous-line) + (todo-print-priorities, todo-remove-separator) + (todo-save-top-priorities-too, todo-string-count-lines) + (todo-string-multiline-p, todo-time-string-format) + (todo-tmp-buffer-name): Remove. + (todo-add-file, todo-archive-done-item, todo-choose-archive) + (todo-convert-legacy-files, todo-copy-item, todo-delete-category) + (todo-edit-category-diary-inclusion) + (todo-edit-category-diary-nonmarking, todo-edit-done-item-comment) + (todo-edit-file, todo-edit-item-date-day) + (todo-edit-item-date-day-name, todo-edit-item-date-from-calendar) + (todo-edit-item-date-month, todo-edit-item-date-to-today) + (todo-edit-item-date-year, todo-edit-item-diary-inclusion) + (todo-edit-item-diary-nonmarking, todo-edit-item-header) + (todo-edit-item-time, todo-edit-quit, todo-filter-diary-items) + (todo-filter-diary-items-multifile, todo-filter-regexp-items) + (todo-filter-regexp-items-multifile, todo-filter-top-priorities) + (todo-filter-top-priorities-multifile, todo-find-archive) + (todo-find-filtered-items-file, todo-go-to-source-item) + (todo-insert-item-from-calendar, todo-item-done, todo-item-undone) + (todo-jump-to-archive-category, todo-lower-category) + (todo-mark-category, todo-marked-item-p, todo-merge-category) + (todo-move-category, todo-move-item, todo-next-button) + (todo-next-item, todo-padded-string, todo-powerset) + (todo-previous-button, todo-previous-item) + (todo-print-buffer-to-file, todo-raise-category) + (todo-rename-category, todo-repair-categories-sexp, todo-search) + (todo-set-category-number, todo-set-item-priority) + (todo-set-top-priorities-in-category) + (todo-set-top-priorities-in-file, todo-show-categories-table) + (todo-sort-categories-alphabetically-or-numerically) + (todo-sort-categories-by-archived, todo-sort-categories-by-diary) + (todo-sort-categories-by-done, todo-sort-categories-by-todo) + (todo-toggle-item-header, todo-toggle-item-highlighting) + (todo-toggle-mark-item, todo-toggle-prefix-numbers) + (todo-toggle-view-done-items, todo-toggle-view-done-only) + (todo-unarchive-items, todo-unmark-category): New commands. + (todo-absolute-file-name, todo-add-to-buffer-list) + (todo-adjusted-category-label-length, todo-basic-edit-item-header) + (todo-basic-insert-item, todo-category-completions) + (todo-category-number, todo-category-string-matcher-1) + (todo-category-string-matcher-2, todo-check-filtered-items-file) + (todo-check-format, todo-clear-matches) + (todo-comment-string-matcher, todo-convert-legacy-date-time) + (todo-current-category, todo-date-string-matcher) + (todo-define-insertion-command, todo-diary-expired-matcher) + (todo-diary-goto-entry, todo-diary-item-p) + (todo-diary-nonmarking-matcher, todo-display-as-todo-file) + (todo-display-categories, todo-display-sorted, todo-done-item-p) + (todo-done-item-section-p, todo-done-separator) + (todo-done-string-matcher, todo-files, todo-filter-items) + (todo-filter-items-1, todo-filter-items-filename, todo-find-item) + (todo-gen-arglists, todo-get-count, todo-get-overlay, todo-indent) + (todo-insert-category-line, todo-insert-item-from-calendar) + (todo-insert-sort-button, todo-insert-with-overlays) + (todo-insertion-command-name, todo-insertion-key-bindings) + (todo-label-to-key, todo-longest-category-name-length) + (todo-make-categories-list, todo-mode-external-set) + (todo-mode-line-control, todo-modes-set-1, todo-modes-set-2) + (todo-modes-set-3, todo-multiple-filter-files) + (todo-nondiary-marker-matcher, todo-prefix-overlays) + (todo-read-category, todo-read-date, todo-read-dayname) + (todo-read-file-name, todo-read-time) + (todo-reevaluate-category-completions-files-defcustom) + (todo-reevaluate-default-file-defcustom) + (todo-reevaluate-filelist-defcustoms) + (todo-reevaluate-filter-files-defcustom) + (todo-reset-and-enable-done-separator, todo-reset-comment-string) + (todo-reset-done-separator, todo-reset-done-separator-string) + (todo-reset-done-string, todo-reset-global-current-todo-file) + (todo-reset-highlight-item, todo-reset-nondiary-marker) + (todo-reset-prefix, todo-set-categories) + (todo-set-date-from-calendar, todo-set-show-current-file) + (todo-set-top-priorities, todo-short-file-name) + (todo-show-current-file, todo-sort, todo-time-string-matcher) + (todo-total-item-counts, todo-update-buffer-list) + (todo-update-categories-display, todo-update-categories-sexp) + (todo-update-count, todo-validate-name, todo-y-or-n-p): + New functions. + (todo-archive-mode, todo-categories-mode, todo-filtered-items-mode): + New major modes. + (todo-categories, todo-display, todo-edit, todo-faces) + (todo-filtered): New defgroups. + (todo-archived-only, todo-button, todo-category-string, todo-date) + (todo-diary-expired, todo-done, todo-done-sep, todo-comment) + (todo-mark, todo-nondiary, todo-prefix-string, todo-search) + (todo-sorted-column, todo-time, todo-top-priority): New deffaces. + (todo-add-item-if-new-category, todo-always-add-time-string) + (todo-categories-align, todo-categories-archived-label) + (todo-categories-category-label, todo-categories-diary-label) + (todo-categories-done-label, todo-categories-number-separator) + (todo-categories-todo-label, todo-categories-totals-label) + (todo-category-completions-files, todo-completion-ignore-case) + (todo-default-todo-file, todo-diary-nonmarking, todo-directory) + (todo-done-separator-string, todo-done-string) + (todo-files-function, todo-filter-done-items, todo-filter-files) + (todo-highlight-item, todo-include-in-diary, todo-indent-to-here) + (todo-initial-category, todo-initial-file, todo-item-mark) + (todo-legacy-date-time-regexp, todo-mode-line-function) + (todo-nondiary-marker, todo-number-prefix) + (todo-print-buffer-function, todo-show-current-file) + (todo-show-done-only, todo-show-first, todo-show-with-done) + (todo-skip-archived-categories, todo-top-priorities-overrides) + (todo-undo-item-omit-comment, todo-use-only-highlighted-region) + (todo-visit-files-commands, todo-wrap-lines, todo-y-with-space): + New defcustoms. + (todo-category-done, todo-date-pattern, todo-date-string-start) + (todo-diary-items-buffer, todo-done-string-start) + (todo-filtered-items-buffer, todo-item-start) + (todo-month-abbrev-array, todo-month-name-array) + (todo-nondiary-end, todo-nondiary-start, todo-regexp-items-buffer) + (todo-top-priorities-buffer): New defconsts. + (todo-archive-mode-map, todo-archives, todo-categories-mode-map) + (todo-categories-with-marks, todo-category-string-face) + (todo-comment-face, todo-comment-string, todo-current-todo-file) + (todo-date-face, todo-date-from-calendar, todo-descending-counts) + (todo-diary-expired-face, todo-done-face, todo-done-sep-face) + (todo-done-separator, todo-edit-buffer, todo-edit-mode-map) + (todo-file-buffers, todo-files, todo-filtered-items-mode-map) + (todo-font-lock-keywords, todo-global-current-todo-file) + (todo-insertion-commands, todo-insertion-commands-arg-key-list) + (todo-insertion-commands-args) + (todo-insertion-commands-args-genlist) + (todo-insertion-commands-names, todo-insertion-map) + (todo-key-bindings-t, todo-key-bindings-t+a) + (todo-key-bindings-t+a+f, todo-key-bindings-t+f, todo-mode-map) + (todo-multiple-filter-files, todo-multiple-filter-files-widget) + (todo-nondiary-face, todo-print-buffer, todo-time-face) + (todo-visited): New variables. + +2013-06-21 Glenn Morris <rgm@gnu.org> + + * play/cookie1.el (cookie-apropos): Add optional display argument. + * obsolete/yow.el (apropos-zippy): Use cookie-apropos. + (psychoanalyze-pinhead): Use cookie-doctor. + +2013-06-21 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/package.el (tar-get-file-descriptor) + (tar--extract): Declare. + +2013-06-21 Eduard Wiebe <usenet@pusto.de> + + Extend flymake's warning predicate to be a function (bug#14217). + * progmodes/flymake.el (flymake-warning-predicate): New. + (flymake-parse-line): Use it. + (flymake-warning-re): Make obsolete alias to + `flymake-warning-predicate'. + +2013-06-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/package.el (package-alist): Include obsolete packages. + (package-obsolete-list): Remove. + (package-activate): Remove min-version argument. Add `force' argument. + Adjust to new package-alist format. + (package-mark-obsolete): Remove. + (package-unpack): Force reload of the package's autoloads. + (package-installed-p): Check builtins if the installed package is not + recent enough. + (package-initialize): Don't reset package-obsolete-list. + Don't specify which package version to activate. + (package-process-define-package, describe-package-1) + (package-menu--generate): Adjust to new package-alist format. + +2013-06-21 Juanma Barranquero <lekktu@gmail.com> + + * allout-widgets.el (allout-widgets-mode-off) + (allout-widgets-mode-on, allout-widgets-pre-command-business) + (allout-widgets-post-command-business) + (allout-widgets-after-copy-or-kill-function) + (allout-widgets-after-undo-function, allout-test-range-overlaps) + (allout-decorate-item-and-context) + (allout-graphics-modification-handler): Fix typos in docstrings. + (allout-get-or-create-parent-widget): Use `looking-at-p'. + + * cmuscheme.el (scheme-start-file): Doc fix. + (inferior-scheme-mode, switch-to-scheme): Fix typos in docstrings. + (scheme-input-filter): Use `string-match-p'. + + * composite.el (compose-gstring-for-terminal): Fix typo in docstring. + + * dired-x.el: Use Dired consistently in docstrings. + + * dired.el: Use Dired consistently in docstrings. + (dired-readin, dired-mode): Use `setq-local'. + (dired-switches-alist): Make defvar-local. + (dired-buffers-for-dir): Use `zerop'. + (dired-safe-switches-p, dired-switches-escape-p) + (dired-insert-old-subdirs, dired-move-to-end-of-filename) + (dired-glob-regexp, dired-in-this-tree, dired-goto-file-1) + (dired-sort-set-mode-line, dired-sort-toggle, dired-sort-R-check): + (dired-goto-next-nontrivial-file): Use `string-match-p'. + (dired-align-file, dired-insert-directory, dired-mark-files-in-region) + (dired-toggle-marks, dired-mark-files-containing-regexp) + (dired-mark-symlinks, dired-mark-directories, dired-mark-executables) + (dired-flag-auto-save-files, dired-flag-backup-files): + Use `looking-at-p'. + (dired-mark-files-regexp, dired-build-subdir-alist): + Use `string-match-p', `looking-at-p'. + + * dos-w32.el (untranslated-canonical-name, untranslated-file-p) + (direct-print-region-helper): Use `string-match-p'. + +2013-06-21 Leo Liu <sdl.web@gmail.com> + + * comint.el (comint-redirect-results-list-from-process): + Fix infinite loop. + +2013-06-21 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/eww.el (eww-update-header-line-format): Quote % characters. + +2013-06-21 Glenn Morris <rgm@gnu.org> + + * play/cookie1.el (cookie): New custom group. + (cookie-file): New option. + (cookie-check-file): New function. + (cookie): Make it interactive. Make start and end messages optional. + Interactively, display the result. Default to cookie-file. + (cookie-insert): Default to cookie-file. + (cookie-snarf): Make start and end messages optional. + Default to cookie-file. Use with-temp-buffer. + (cookie-read): Rename from read-cookie. + Make start and end messages optional. Default to cookie-file. + (cookie-shuffle-vector): Rename from shuffle-vector. Use dotimes. + Do not autoload it. + (cookie-apropos, cookie-doctor): New functions, copied from yow.el + * obsolete/yow.el (read-zippyism): Use new name for read-cookie. + +2013-06-21 Leo Liu <sdl.web@gmail.com> + + * progmodes/octave.el (octave-mode): Backward compatibility fix. + +2013-06-21 Glenn Morris <rgm@gnu.org> + + * font-lock.el (lisp-font-lock-keywords-2): Add with-eval-after-load. + +2013-06-21 Stefan Monnier <monnier@iro.umontreal.ca> + Daniel Hackney <dan@haxney.org> + + * emacs-lisp/package.el: Use tar-mode rather than tar executable. + Consolidate the single-file vs tarball code. + (package-desc-suffix): New function. + (package-desc-full-name): Don't bother inlining it. + (package-load-descriptor): Return the new package-desc. + (package-mark-obsolete): Remove unused arg `package'. + (package-unpack): Make it work for single files as well. + Make it update package-alist. + (package--make-autoloads-and-stuff): Rename from + package--make-autoloads-and-compile. Don't compile any more. + (package--compile): New function. + (package-generate-description-file): New function, extracted from + package-unpack-single. + (package-unpack-single): Remove. + (package--with-work-buffer): Add indentation and debugging info. + (package-download-single): Remove. + (package-install-from-archive): Rename from package-download-tar, make + it take a pkg-desc, and make it work for single files as well. + (package-download-transaction): Simplify. + (package-tar-file-info): Remove `file' arg. Rewrite not to use an + external tar program. + (package-install-from-buffer): Remove `pkg-desc' argument. + Use package-tar-file-info for tar-mode buffers. + (package-install-file): Simplify accordingly. + (package-archive-base): Change to take a pkg-desc. + * tar-mode.el (tar--check-descriptor): New function, extracted from + tar-get-descriptor. + (tar-get-descriptor): Use it. + (tar-get-file-descriptor): New function. + (tar--extract): New function, extracted from tar-extract. + (tar--extract): Use it. + * emacs-lisp/package-x.el (package-upload-file): Decode the file, in + case the summary uses non-ascii. Adjust to new calling convention of + package-tar-file-info. + +2013-06-21 Leo Liu <sdl.web@gmail.com> + + * comint.el (comint-redirect-results-list-from-process): + Fix random delay. (Bug#14681) + +2013-06-21 Juanma Barranquero <lekktu@gmail.com> + + * profiler.el (profiler-format-number): Use log, not log10. + +2013-06-20 Juanma Barranquero <lekktu@gmail.com> + + * term/x-win.el (emacs-session-filename): Use `locate-user-emacs-file'. + +2013-06-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-loaddefs.el: Don't version-control any more. + * emacs-lisp/cl-lib.el: Load cl-macs when cl-loaddefs is not + yet available. + * Makefile.in (AUTOGEN_VCS): Move cl-loaddefs.el... + (AUTOGENEL): ... here. + * emacs-lisp/cl-macs.el (cl--sublis): New function. + (cl--defsubst-expand): Use it. + +2013-06-20 Paul Eggert <eggert@cs.ucla.edu> + + * subr.el (log10): Move here from C code, and declare as obsolete. + All uses of (log10 X) replaced with (log X 10). + +2013-06-20 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/tabulated-list.el (tabulated-list-format): Fix typo. + Declare with `defvar-local'. + (tabulated-list-use-header-line, tabulated-list-entries) + (tabulated-list-padding, tabulated-list-printer) + (tabulated-list-sort-key): Declare with `defvar-local'. + (tabulated-list-init-header, tabulated-list-print-fake-header): + Use `setq-local'. + +2013-06-20 Michael Albinus <michael.albinus@gmx.de> + + * arc-mode.el (archive-mode): Add `archive-write-file' to + `write-contents-functions' also for remote files. (Bug#14652) + +2013-06-20 Juanma Barranquero <lekktu@gmail.com> + + * cus-edit.el (custom-commands): Fix typos. + (custom-display): Fix tooltip text. + (custom-magic-alist, custom-filter-face-spec, custom-group-members): + Fix typos in docstrings. + (custom--initialize-widget-variables, Custom-mode): Use `setq-local'. + (custom-unlispify-menu-entry, custom-magic-value-create) + (custom-add-see-also, custom-group-value-create): Use ?\s. + (custom-guess-type, customize-apropos, editable-field) + (custom-face-value-create): Use `string-match-p'. + (custom-save-variables, custom-save-faces): Use `looking-at-p'. + + * custom.el (custom-load-symbol): Use `string-match-p'. + + * ansi-color.el: Convert to lexical binding. + (ansi-colors): Fix URL. + (ansi-color-context, ansi-color-context-region): Use defvar-local. + (ansi-color-apply-sequence, ansi-color-map): Fix typos in docstrings. + (ansi-color-make-color-map): Rename local var ansi-color-map to map. + +2013-06-19 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/eww.el (eww-process-text-input): Display passwords as asterisks. + + * net/shr.el (shr-make-table-1): Protect against invalid column-spans. + +2013-06-19 Tom Tromey <tromey@redhat.com> + + * net/eww.el (eww-top-url): Remove. + (eww-home-url, eww-start-url, eww-contents-url): New defvars. + (eww-render): Set new variables. Don't set eww-top-url. + (eww-handle-link): Handle "prev", "home", and "contents". + Downcase the rel text. + (eww-top-url): Choose best top URL. + +2013-06-19 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/eww.el: Rewrite to implement form elements "by hand" instead of + relying in widget.el. Using widget.el leads to too many + user interface inconsistencies. + (eww-self-insert): Implement entering commands in text fields. + (eww-process-text-input): New function to make text input field editing + work. + (eww-submit): Rewrite to use the new-style form methods. + (eww-select-display): Display the correct selected item. + (eww-change-select): Implement changing the select value. + (eww-toggle-checkbox): Implement radio/checkboxes. + (eww-update-field): Fix compilation error. + (eww-tag-textarea): Implement <textarea>. + + * net/shr.el (shr-urlify): Use `keymap' instead of `local-map' so that + we don't shadow mode-specific bindings. + + * net/eww.el (eww-browse-url): Don't push stuff onto history if there's + nothing to push. + + * net/shr.el (shr-map): Bind [down-mouse-1] to browse URLs. + +2013-06-19 Glenn Morris <rgm@fencepost.gnu.org> + + * emacs-lisp/eieio.el (defclass): Make it eval-and-compile once more. + +2013-06-19 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-adb-get-toolbox): Remove function, it is + not needed. + + * net/tramp-sh.el (tramp-find-shell): Don't set "busybox" property. + +2013-06-19 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/browse-url.el (browse-url-browser-function): + `eww-browse-url' has the right calling signature, `eww' does not. + +2013-06-19 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): + Only eval autoloaded macros. + (byte-compile-autoload): Only give the macro warning for macros. + + * progmodes/cperl-mode.el (ps-bold-faces, ps-italic-faces) + (ps-underlined-faces): Declare. + + * progmodes/idlwave.el (func-menu): Only set it up on XEmacs. + (speedbar-add-supported-extension): Declare. + + * international/titdic-cnv.el (tit-process-header, miscdic-convert): + Don't include a date stamp in the header of the generated file; + it leads to needless differences between output files. + +2013-06-19 Michael Albinus <michael.albinus@gmx.de> + + * net/secrets.el (secrets-struct-secret-content-type): + Replace check of introspection data by a test call of "CreateItem". + Some servers do not offer introspection. + +2013-06-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * electric.el (electric-pair-mode): Improve interaction with + electric-layout-mode. + (electric-pair-default-inhibit): Don't assume (eq char (char-before)). + (electric-pair-syntax): Use text-mode-syntax-table in comments + and strings. + (electric-pair--insert): New function. + (electric-pair-post-self-insert-function): Use it and + electric--after-char-pos. + +2013-06-19 Leo Liu <sdl.web@gmail.com> + + * progmodes/octave.el (octave-help): Fix regexp. + +2013-06-18 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/shr.el (shr-make-table-1): Implement <td rowspan>. + (shr-table-horizontal-line): Allow nil as a value, and change the + default. + (shr-insert-table-ruler): Respect the nil value. + +2013-06-18 Tom Tromey <tromey@barimba> + + * net/eww.el (eww-next-url, eww-previous-url, eww-up-url, eww-top-url): + New defvars. + (eww-open-file): New defun. + (eww-render): Initialize new variables. + (eww-display-html): Handle "link" and "a". + (eww-handle-link, eww-tag-link, eww-tag-a): New defuns. + (eww-mode-map): Move "p" to "l". Bind "p", "n", "t", and "u". + (eww-back-url): Rename from eww-previous-url. + (eww-next-url, eww-previous-url, eww-up-url, eww-top-url): + New defuns. + +2013-06-18 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-syntax-before-regexp-re): + Distinguish ternary operator tokens from slash symbol and slash + char literal. + +2013-06-18 Juanma Barranquero <lekktu@gmail.com> + + Convert symbol prettification into minor mode and global minor mode. + + * progmodes/prog-mode.el (prettify-symbols-alist): Rename from + `prog-prettify-symbols', and make a local defvar instead of defcustom. + (prettify-symbols--keywords): Rename from + `prog-prettify-symbols-alist' and make a local defvar. + (prettify-symbols--compose-symbol): Rename from + `prog--prettify-font-lock-compose-symbol'. + (prettify-symbols--make-keywords): Rename from + `prog-prettify-font-lock-symbols-keywords' and simplify. + (prog-prettify-install): Remove. + (prettify-symbols-mode): New minor mode, based on + `prog-prettify-install'. + (turn-on-prettify-symbols-mode): New function. + (global-prettify-symbols-mode): New globalized minor mode. + + * emacs-lisp/lisp-mode.el (lisp-mode-variables): + * progmodes/cfengine.el (cfengine3-mode): + * progmodes/perl-mode.el (perl-mode): Don't call + `prog-prettify-install'; set `prettify-symbols-alist' instead. + +2013-06-18 Juri Linkov <juri@jurta.org> + + * files-x.el (modify-file-local-variable-message): New function. + (modify-file-local-variable) + (modify-file-local-variable-prop-line): Add arg INTERACTIVE + and call `modify-file-local-variable-message' when it's non-nil. + (add-file-local-variable, delete-file-local-variable) + (add-file-local-variable-prop-line) + (delete-file-local-variable-prop-line): Add arg INTERACTIVE + and use it. (Bug#9820) + +2013-06-18 Juri Linkov <juri@jurta.org> + + * emulation/vi.el (vi-shell-op): + * emulation/vip.el (vip-execute-com, ex-command): + * emulation/viper-cmd.el (viper-exec-bang): + * emulation/viper-ex.el (ex-command): Add non-nil arg REPLACE to + the call of `shell-command-on-region'. (Bug#14637) + + * simple.el (shell-command-on-region): Doc fix. + +2013-06-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/eieio-custom.el: Remove misleading Version: header + (bug#14633). + +2013-06-18 Glenn Morris <rgm@gnu.org> + + * net/eww.el, net/shr.el, net/shr-color.el: Move here from gnus/. + + * newcomment.el (comment-search-forward, comment-search-backward): + Doc fix. (Bug#14376) + +2013-06-18 Juanma Barranquero <lekktu@gmail.com> + + * face-remap.el (buffer-face-toggle): Fix typo in docstring. + (buffer-face-mode-invoke): Doc fix. + +2013-06-18 Matthias Meulien <orontee@gmail.com> + + * tabify.el (untabify, tabify): With prefix, apply to entire buffer. + <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00545.html> + +2013-06-18 Glenn Morris <rgm@gnu.org> + + * generic-x.el (bat-generic-mode, rc-generic-mode, rul-generic-mode): + Replace obsolete function generic-make-keywords with its expansion. + + * progmodes/python.el (ffap-alist): Declare. + + * textmodes/reftex.el (bibtex-mode-map): Declare. + +2013-06-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/package.el: Update package-alist after install (bug#14632). + (package-unpack, package-unpack-single): Return the pkg-dir. + (package-download-transaction): Use it to update package-alist. + +2013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/browse-url.el (browse-url-browser-function): Add `eww' as a + possible choice. + +2013-06-17 Juri Linkov <juri@jurta.org> + + * net/webjump.el (webjump-sample-sites): Add DuckDuckGo. + +2013-06-17 Dmitry Gutov <dgutov@yandex.ru> + + * emacs-lisp/package.el (package-load-descriptor): + Remove `with-syntax-table' call, `read' doesn't need it. + http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00539.html + +2013-06-17 Juanma Barranquero <lekktu@gmail.com> + + * startup.el (command-line): Expand package name returned by + `package--description-file' (bug#14639). + +2013-06-17 Dmitry Gutov <dgutov@yandex.ru> + + * emacs-lisp/package.el (package-load-descriptor): Do not call + `emacs-lisp-mode', just use its syntax table. + +2013-06-17 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/prog-mode.el (prog-prettify-install): Add `composition' to + `font-lock-extra-managed-props' if any prettifying keyword is added. + (prog--prettify-font-lock-compose-symbol): Use ?\s instead of ?\ . + (prog-mode): Use `setq-local'. + +2013-06-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * international/characters.el (standard-case-table): Set syntax of ?» + and ?« to punctuation. + +2013-06-16 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/prog-mode.el (prog--prettify-font-lock-compose-symbol): + Save relevant match data before calling `syntax-ppss' (bug#14595). + +2013-06-15 Juri Linkov <juri@jurta.org> + + * files-x.el (modify-file-local-variable-prop-line): Add local + variables to the end of the existing comment on the first line. + Use `file-auto-mode-skip' to skip interpreter magic line, + and also skip XML declaration. + +2013-06-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * startup.el (package--builtin-versions): New var. + (package-subdirectory-regexp): Remove. + (package--description-file): Hard code its value instead. + + * emacs-lisp/package.el: Don't activate packages older than builtin. + (package-obsolete-list): Rename from package-obsolete-alist, and make + it into a simple list of package-desc. + (package-strip-version): Remove. + (package-built-in-p): Use package--builtin-versions. + (package-mark-obsolete): Simplify. + (package-process-define-package): Mark it obsolete if older than the + builtin version. + (package-handle-response): Use line-end-position. + (package-read-archive-contents, package--download-one-archive): + Simplify. + (package--add-to-archive-contents): Skip if older than the builtin or + installed version. + (package-menu-describe-package): Fix last change. + (package-list-unversioned): New var. + (package-menu--generate): Use it. + + * emacs-lisp/autoload.el: Manage package--builtin-versions. + (autoload--insert-text, autoload--insert-cookie-text): New functions. + (autoload-builtin-package-versions): New variable. + (autoload-generate-file-autoloads): Use them. + Remove the list of autoloaded functions/macros from the + (autoload...) comments. + + * Makefile.in (autoloads): Set autoload-builtin-package-versions. + +2013-06-15 Eli Zaretskii <eliz@gnu.org> + + * simple.el (line-move-partial): Don't jump to the next screen + line as soon as it becomes visible. Instead, continue enlarging + the vscroll until the portion of a tall screen line that's left on + display is about the height of the frame's default font. + (Bug#14567) + +2013-06-15 Glenn Morris <rgm@gnu.org> + + * vc/vc-dispatcher.el (vc-compilation-mode): Avoid making + compilation-error-regexp-alist void, or local while let-bound. + + * progmodes/make-mode.el (makefile-mode-syntax-table): + Treat "=" as punctuation. (Bug#14614) + +2013-06-15 Juanma Barranquero <lekktu@gmail.com> + + * help-fns.el (describe-variable): + Add extra line for permanent-local variables. + +2013-06-15 Simen Heggestøyl <simenheg@ifi.uio.no> (tiny change) + + * progmodes/scheme.el (scheme-font-lock-keywords-2): + Add export, import, library. (Bug#9164) + (library): Set indent function. + +2013-06-14 Glenn Morris <rgm@gnu.org> + + * term/xterm.el (xterm--query): + Stop after first matching handler. (Bug#14615) + +2013-06-14 Ivan Kanis <ivan@kanis.fr> + + Add support for dired in saveplace. + * dired.el (dired-initial-position-hook): New variable. + (dired-initial-position): Call hook to place cursor position. + * saveplace.el (save-place-to-alist): Add dired position. + (save-place-dired-hook): New function. + +2013-06-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (eval-after-load, set-temporary-overlay-map): Use indirection + through a symbol rather than letrec. + + * emacs-lisp/package.el: Don't recompute dir. Use pkg-descs more. + (package-desc): Add `dir' field. + (package-desc-full-name): New function. + (package-load-descriptor): Combine the two arguments. Don't use `load'. + (package-maybe-load-descriptor): Remove. + (package-load-all-descriptors): Just call package-load-descriptor. + (package--disabled-p): New function. + (package-desc-vers, package-desc-doc): Remove aliases. + (package--dir): Remove function. + (package-activate): Check if a package is disabled. + (package-process-define-package): New function, extracted from + define-package. + (define-package): Turn into a place holder. + (package-unpack-single, package-tar-file-info): + Use package--description-file. + (package-compute-transaction): Use package--disabled-p. + (package-download-transaction): Don't call + package-maybe-load-descriptor since they're all loaded anyway. + (package-install): Change argument to be a pkg-desc. + (package-delete): Use a single pkg-desc argument. + (describe-package-1): Use package-desc-dir instead of package--dir. + Use package-desc property instead of package-symbol. + (package-install-button-action): Adjust accordingly. + (package--push): Rewrite. + (package-menu--print-info): Adjust accordingly. Change the ID format + to be a pkg-desc. + (package-menu-describe-package, package-menu-get-status) + (package-menu--find-upgrades, package-menu-mark-upgrades) + (package-menu-execute, package-menu--name-predicate): + Adjust accordingly. + * startup.el (package--description-file): New function. + (command-line): Use it. + * emacs-lisp/package-x.el (package-upload-buffer-internal): + Use package-desc-version. + + * emacs-lisp/bytecomp.el (byte-compile-force-lexical-warnings): New var. + (byte-compile-preprocess): Use it. + (byte-compile-file-form-defalias): Try a bit harder to use macros we + can't quite recognize. + (byte-compile-add-to-list): Remove. + * emacs-lisp/cconv.el (cconv-warnings-only): New function. + (cconv-closure-convert): Add assertion. + + * emacs-lisp/map-ynp.el: Use lexical-binding. + (map-y-or-n-p): Remove unused vars `tail' and `object'. + Factor out some repeated code. + +2013-06-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (with-eval-after-load): New macro. + (eval-after-load): Allow form to be a function. + take advantage of lexical-binding. + (do-after-load-evaluation): Use dolist and adjust to new format. + * simple.el (bad-packages-alist): Use dolist and with-eval-after-load. + +2013-06-13 Juri Linkov <juri@jurta.org> + + * replace.el (perform-replace): Display "symbol " and other search + modes from `isearch-message-prefix' in the *Help* buffer. + + * isearch.el (isearch-query-replace): Add " symbol" and other + possible search modes from `isearch-message-prefix' to the prompt. + (isearch-occur): Use `with-isearch-suspended' to not exit Isearch + when reading a regexp to collect. + +2013-06-13 Juri Linkov <juri@jurta.org> + + * isearch.el (word-search-regexp): Match whitespace if the search + string begins or ends in whitespace. The LAX arg is applied to + both ends of the search string. Use `regexp-quote' and explicit + \< and \> instead of \b. Use \` and \' instead of ^ and $. + (isearch-symbol-regexp): Sync with `word-search-regexp' where word + boundaries are replaced with symbol boundaries, and characters + between symbols match non-word non-symbol syntax. (Bug#14602) + +2013-06-13 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-del-char): Don't exceed the length of + `isearch-string' by the prefix arg. (Bug#14563) + +2013-06-13 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-yank-word, isearch-yank-line) + (isearch-char-by-name, isearch-quote-char) + (isearch-printing-char, isearch-process-search-char): + Add optional count prefix arg. (Bug#14563) + + * international/isearch-x.el + (isearch-process-search-multibyte-characters): + Add optional count prefix arg. + +2013-06-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (internal-push-keymap, internal-pop-keymap): New functions. + (set-temporary-overlay-map): Use them (bug#14095); and take advantage of + lexical-binding. + +2013-06-13 Vitalie Spinu <spinuvit@gmail.com> + + * subr.el (set-temporary-overlay-map): Add on-exit argument. + +2013-06-13 Glenn Morris <rgm@gnu.org> + + * startup.el (tty-handle-args): + Don't just discard "--" and anything after. (Bug#14608) + + * emacs-lisp/lisp.el (forward-sexp, backward-sexp): Doc fixes. + 2013-06-13 Michael Albinus <michael.albinus@gmx.de> Implement changes in Secret Service API. Make it backward compatible. @@ -90,6 +1484,11 @@ (cl-define-compiler-macro): Use eval-and-compile. Give a name to the compiler-macro function instead of setting `compiler-macro-file'. +2013-06-12 Xue Fuqiao <xfq.free@gmail.com> + + * vc/vc-cvs.el (vc-cvs-stay-local): Doc fix. + * vc/vc-hooks.el (vc-stay-local): Doc fix. + 2013-06-12 Stefan Monnier <monnier@iro.umontreal.ca> Daniel Hackney <dan@haxney.org> @@ -180,11 +1579,6 @@ * epa.el (epa-read-file-name): New function. (Bug#14510) (epa-decrypt-file): Make plain-file optional. Use epa-read-file-name. -2013-06-09 Xue Fuqiao <xfq.free@gmail.com> - - * vc/vc-cvs.el (vc-cvs-stay-local): Doc fix. - * vc/vc-hooks.el (vc-stay-local): Doc fix. - 2013-06-09 Aidan Gauland <aidalgol@amuri.net> * eshell/em-term.el (eshell-visual-command-p): Fix bug that caused @@ -501,7 +1895,7 @@ (eieiomt-optimizing-obarray, eieiomt-install) (eieiomt-add, eieiomt-next, eieiomt-sym-optimize) (eieio-generic-form, eieio-defmethod, make-obsolete) - (eieio-defgeneric, make-obsolete): Move to eieio-core.el + (eieio-defgeneric, make-obsolete): Move to eieio-core.el. (defclass): Remove `eval-and-compile' from macro. (call-next-method, shared-initialize): Instead of using `scoped-class' variable, use new eieio--scoped-class, and @@ -511,8 +1905,8 @@ * emacs-lisp/eieio-core.el: New file. Derived from key parts of eieio.el. - (eieio--scoped-class-stack): New variable - (eieio--scoped-class): New fcn + (eieio--scoped-class-stack): New variable. + (eieio--scoped-class): New fcn. (eieio--with-scoped-class): New scoping macro. (eieio-defclass): Use pushnew instead of add-to-list. (eieio-defgeneric-form-primary-only-one, eieio-oset-default) @@ -1225,9 +2619,9 @@ * progmodes/octave.el (octave-auto-fill): Remove. (octave-indent-new-comment-line): Improve. (octave-mode): Use auto fill mode through - comment-line-break-function and fill-nobreak-predicate + comment-line-break-function and fill-nobreak-predicate. (octave-goto-function-definition): Support DEFUN_DLD. - (octave-beginning-of-defun): Small Tweak + (octave-beginning-of-defun): Small tweak. (octave-help): Show parent directory. 2013-05-21 Glenn Morris <rgm@gnu.org> @@ -1699,9 +3093,9 @@ * faces.el (internal-face-x-get-resource): * frame.el (ns-display-monitor-attributes-list): - * calc/calc-aent.el (math-to-radians-2): Fix declarations. - + * calc/calc-aent.el (math-to-radians-2): * emacs-lisp/package.el (tar-header-name, tar-header-link-type): + Fix declarations. * calc/calc-menu.el: Make it loadable in isolation. @@ -2412,7 +3806,7 @@ Fix pack/unpack coding. Reported by David Smith <davidsmith@acm.org>. * net/tramp-compat.el (tramp-compat-call-process): Move function ... - * net/tramp.el (tramp-call-process): ... here + * net/tramp.el (tramp-call-process): ... here. (tramp-set-completion-function, tramp-parse-putty): * net/tramp-adb.el (tramp-adb-execute-adb-command): * net/tramp-gvfs.el (tramp-gvfs-send-command): @@ -3315,9 +4709,9 @@ 2013-03-13 Michael Albinus <michael.albinus@gmx.de> - * net/tramp-sh.el (tramp-sh-handle-insert-directory): Check, - whether `default-file-name-coding-system' is bound. It isn't in - XEmacs. + * net/tramp-sh.el (tramp-sh-handle-insert-directory): + Check whether `default-file-name-coding-system' is bound. + It isn't in XEmacs. 2013-03-13 Stefan Monnier <monnier@iro.umontreal.ca> @@ -3356,25222 +4750,7 @@ Switch encodings of tutorials, thai-word to UTF-8 (Bug#13880). * language/thai-word.el: Switch to UTF-8. -2013-03-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * recentf.el (recentf-save-file): Use locate-user-emacs-file (bug#13870). - -2013-03-11 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * net/net-utils.el (net-utils-remove-ctrl-m-filter): - Use with-current-buffer and don't move point. - (net-utils-run-simple): Remove useless code. - (net-utils-remove-ctl-m): Remove unused custom. - -2013-03-11 Per Starbäck <starback@stp.lingfil.uu.se> - - * international/characters.el (glyphless-set-char-table-range): New fun. - (update-glyphless-char-display): Use it (bug#13744). - -2013-03-11 Teodor Zlatanov <tzz@lifelogs.com> - - * progmodes/cfengine.el: Update for CFEngine 3.4.2 and higher: - namespaces in the syntax, indent closer for hanging brace - correctly, allow single-quote delimited 'strings', and make - `cfengine3-mode' the default. - -2013-03-11 Jean-Philippe Gravel <jpgravel@gmail.com> - - * progmodes/gdb-mi.el: Speed up initialization (bug#10580). - Use lexical-binding. Fix up docstring according to conventions. - (gdbmi-debug-mode): New var. - (gdbmi-start-with, gdbmi-same-start, gdbmi-is-number, gdbmi-bnf-init) - (gdbmi-bnf-output, gdbmi-bnf-skip-unrecognized, gdbmi-bnf-gdb-prompt) - (gdbmi-bnf-result-record, gdbmi-bnf-out-of-band-record) - (gdbmi-bnf-async-record, gdbmi-bnf-stream-record) - (gdbmi-bnf-console-stream-output, gdbmi-bnf-target-stream-output) - (gdbmi-bnf-log-stream-output, gdbmi-bnf-result-and-async-record-impl) - (gdbmi-bnf-incomplete-record-result): New functions. - (gdb-car<): Remove function. - (gdbmi-record-list): Remove variable. - (gdbmi-bnf-state, gdbmi-bnf-offset): New vars. - (gdbmi-bnf-result-state-configs): New const. - (gud-gdbmi-marker-filter): Rewrite. - (gdb-ignored-notification, gdb-thread-created, gdb-thread-exited) - (gdb-thread-selected, gdb-running, gdb-starting, gdb-stopped): - Add `token' argument. - (gdb-done, gdb-error): New functions. - (gdb-done-or-error): Add `is-complete' argument. Change arg order. - -2013-03-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * term/xterm.el (xterm--report-background-handler): Don't burp - upon timeout. - (xterm--version-handler): Extract from terminal-init-xterm. - (xterm--query): Don't mishandle timeout. Remove debugging messages. - Allow multiple handlers. - (terminal-init-xterm): Handle OSX's Terminal.app's incorrect answer. - - * term/xterm.el: Don't discard input (bug#6758). Use lexical-binding. - (xterm--report-background-handler, xterm--query): New functions. - (terminal-init-xterm): Use them. - -2013-03-11 Michael R. Mauger <michael@mauger.com> - - * progmodes/sql.el Version 3.2 - Please note that my address changed to <michael@mauger.com>; - the <mmaug@yahoo.com> address remains active. - (sql-connection-alist): Updates documentation to fix bug#13715. - (sql-connect): Handle missing `sql-connection-alist' correctly. - (sql-mode-oracle-font-lock-keywords): Add missing keywords. - (sql-magic-go, sql-magic-semicolon): Mark with `delete-selection' - property. - (sql-default-value): New function. - (sql-get-login-ext, sql-get-login): Fixes bug where buffer-local - values were not used. - (sql-rename-buffer): Make sure alternate buffer name has no text - properties. - (sql-input-sender, sql-execute-feature): Fetch variable with - `buffer-local-value' rather than `with-current-buffer'. - (sql-*): Use #' function syntax consistently. - (sql-*): Use message/error/user-error consistently. - -2013-03-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * xt-mouse.el (xterm-mouse-event-read): Remove. - (xterm-mouse--read-event-sequence-1000) - (xterm-mouse--read-event-sequence-1006): Use read-event instead. - -2013-03-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * term/xterm.el (xterm-function-map): Support format used with - formatOtherKeys=1 (bug#13839). - - * emacs-lisp/byte-run.el (dont-compile): Declare obsolete. - (with-no-warnings): Use `declare'. - - * whitespace.el (whitespace-enable-predicate): New variable. - (whitespace-enable-predicate): Use it. - - * comint.el (comint-send-input, comint-snapshot-last-prompt) - (comint-output-filter, comint-update-fence): - Use with-silent-modifications. - -2013-03-10 Jambunathan K <kjambunathan@gmail.com> - - * replace.el (occur-read-regexp-defaults-function): New var. - (occur-read-regexp-defaults): New defun. - (occur-read-primary-args): Propagate above change (bug#13892). - -2013-03-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * mouse.el (mouse-drag-track): Remove left-over debugging code. - -2013-03-09 Michael Albinus <michael.albinus@gmx.de> - - Major rewrite due to changed D-Bus interface of GVFS 1.14. - - * net/tramp-gvfs.el (top): Extend check for gvfs availability. - (tramp-gvfs-methods-mounttracker, tramp-gvfs-listmounts) - (tramp-gvfs-mountlocation, tramp-gvfs-mountlocation-signature): - New defconst. - (tramp-gvfs-file-name-handler-alist) [directory-files] - [directory-files-and-attributes, file-exists-p, file-modes]: - Use Tramp default handler. - [file-acl, file-selinux-context, process-file, set-file-acl]: - [set-file-modes, set-file-selinux-context, shell-command]: - [start-file-process]: Remove handler. - [verify-visited-file-modtime]: New handler. - (tramp-gvfs-dbus-string-to-byte-array) - (tramp-gvfs-dbus-byte-array-to-string): New defuns. Replace all - calls of `dbus-string-to-byte-array' and - `tramp-gvfs-dbus-byte-array-to-string'. - (tramp-gvfs-handle-copy-file) - (tramp-gvfs-handle-delete-directory) - (tramp-gvfs-handle-delete-file, tramp-gvfs-handle-file-attributes) - (tramp-gvfs-handle-file-directory-p) - (tramp-gvfs-handle-file-executable-p) - (tramp-gvfs-handle-file-name-all-completions) - (tramp-gvfs-handle-file-readable-p) - (tramp-gvfs-handle-file-writable-p) - (tramp-gvfs-handle-insert-directory) - (tramp-gvfs-handle-insert-file-contents) - (tramp-gvfs-handle-make-directory, tramp-gvfs-handle-rename-file) - (tramp-gvfs-handle-set-visited-file-modtime) - (tramp-gvfs-handle-write-region): Rewrite. - (tramp-gvfs-handle-file-acl) - (tramp-gvfs-handle-file-selinux-context) - (tramp-gvfs-handle-process-file, tramp-gvfs-handle-set-file-acl) - (tramp-gvfs-handle-set-file-modes) - (tramp-gvfs-handle-set-file-selinux-context) - (tramp-gvfs-handle-shell-command) - (tramp-gvfs-handle-start-file-process) - (tramp-gvfs-handle-verify-visited-file-modtime): Remove defuns. - (tramp-gvfs-url-file-name): Do not use `file-truename', we work - over the symlinks. Fix user handling. - (top, tramp-gvfs-handler-mounted-unmounted): Handle different names - of the D-Bus signals. - (tramp-gvfs-connection-mounted-p): Handle different names of the - D-Bus methods. - (tramp-gvfs-mount-spec-entry): New defun. - (tramp-gvfs-mount-spec): Use it. - (tramp-gvfs-maybe-open-connection): Check, that in case of "smb" - there is a share name. Handle different names of the D-Bus - signals and methods. Set connection properties needed for - `tramp-check-cached-permissions'. - (tramp-gvfs-send-command): Apply `tramp-gvfs-maybe-open-connection'. - Return t or nil. - - * net/tramp.el (tramp-backtrace): Move up. - (tramp-error): Dump a backtrace into the debug buffer when - `tramp-verbose > 9. - (tramp-file-mode-type-map, tramp-file-mode-from-int) - (tramp-file-mode-permissions, tramp-get-local-uid) - (tramp-get-local-gid, tramp-check-cached-permissions): Move from - tramp-sh.el. - - * net/tramp-sh.el (tramp-file-mode-type-map) - (tramp-check-cached-permissions, tramp-file-mode-from-int) - (tramp-file-mode-permissions, tramp-get-local-uid) - (tramp-get-local-gid): Move to tramp.el. - -2013-03-09 Stefan Monnier <monnier@iro.umontreal.ca> - - Separate mouse-1-click-follows-link from mouse-drag-region. - * mouse.el (mouse--down-1-maybe-follows-link): New function. - (key-translation-map): Use it to implement mouse-1-click-follows-link. - (mouse-drag-line, mouse-drag-track): - Remove mouse-1-click-follows-link code. - (mouse--remap-link-click-p): Remove. - -2013-03-08 Jambunathan K <kjambunathan@gmail.com> - - * hi-lock.el (hi-lock-read-regexp-defaults-function): New var. - (hi-lock-read-regexp-defaults): New defun. - (hi-lock-line-face-buffer, hi-lock-face-buffer) - (hi-lock-face-phrase-buffer): Propagate above change. - Update docstring (bug#13892). - - * subr.el (find-tag-default-as-regexp): New defun. - * replace.el (read-regexp): Propagate above change. - -2013-03-08 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-units.el (calc-convert-units): Fix the way that default - new units are stored. - -2013-03-07 Matthias Meulien <orontee@gmail.com> - - * bookmark.el: Define a face to highlight bookmark names in - bookmark menu buffers, where the default is a bold face similarly - to buffer names in buffer menu buffers. - (bookmark-menu-bookmark): New face to highlight bookmark names. - (bookmark-insert-location): Remove duplicated text property to - conform to buffer list (see `list-buffers'). - (bookmark-bmenu-list, bookmark-bmenu-hide-filenames): Apply face - `bookmark-menu-bookmark' to bookmark names. - -2013-03-07 Matthias Meulien <orontee@gmail.com> - Karl Fogel <kfogel@red-bean.com> - - * bookmark.el: Display the bookmark list header similarly to the - buffer list header (see `list-buffers'), where the default is now - an immovable/immutable header line. - (bookmark-bmenu-use-header-line): New variable. - (bookmark-bmenu-inline-header-height): New name for - `bookmark-bmenu-header-height', to avoid confusion with the code - for the new immovable header. All references changed. - (bookmark-bmenu-set-header): New function. - (bookmark-bmenu-list, bookmark-bmenu-toggle-filenames): - Conditionalize header construction accordingly. - (bookmark-bmenu-ensure-position): Conditionalize the skipping of - the inline header height. - (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames): - Conditionalize the skipping of the inline header height. - -2013-03-07 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/js.el (js--multi-line-declaration-indentation): - Merge from js2-mode (https://github.com/mooz/js2-mode/issues/89). - -2013-03-06 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-syntax-propertize-function): - Only propertize regexp when not inside a string (Bug#13885). - -2013-03-06 Alan Mackenzie <acm@muc.de> - - Correct the position of point in some line-up functions. - * progmodes/cc-align.el (c-lineup-whitesmith-in-block) - (c-lineup-assignments, c-lineup-gcc-asm-reg ): Take position of - point at column 0 rather than at a random place in the line. - -2013-03-05 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-compat.el (tramp-compat-delete-directory): - Implement TRASH argument. - -2013-03-05 Dmitry Gutov <dgutov@yandex.ru> - - Keep pre-existing highlighting in completion candidates (Bug#13250). - * minibuffer.el (completions-first-difference): State that the - face is "added" in the docstring. - (completions-common-part): Same. And don't inherit from default. - (completion-hilit-commonality): Prepend 'completions-common-part - and 'completion-first-difference faces to the 'face property, - instead of replacing the value(s). - (completion--insert-strings): Same with 'completions-annotations face. - (completion-hilit-commonality): Use 'face instead of - 'font-lock-face, because it gets priority if the completion - strings already have 'face set. - -2013-03-04 Alan Mackenzie <acm@muc.de> - - Replace `last-command-event' by `last-command-char' in XEmacs. - * progmodes/cc-defs.el (c-last-command-char): New macro. - * progmodes/cc-align.el (c-semi&comma-inside-parenlist) - (c-semi&comma-no-newlines-before-nonblanks) - (c-semi&comma-no-newlines-for-oneline-inliners): Use the new macro - in place of `last-command-event'. - * progmodes/cc-cmds.el (c-electric-pound, c-electric-brace) - (c-electric-slash, c-electric-semi&comma, c-electric-lt-gt) - (c-electric-paren, c-electric-continued-statement): Use the new - macro in place of `last-command-event'. - -2013-03-04 Glenn Morris <rgm@gnu.org> - - * files.el (inhibit-local-variables-regexps): - Add .diff and .patch. (Bug#13862) - -2013-03-03 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-adb.el (tramp-adb-maybe-open-connection): Cache, - whether the "su" command is available on the device. - -2013-03-01 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-adb.el (tramp-adb-prompt): Extend regexp. - (tramp-adb-handle-process-file): Remove superfluous setting. - (tramp-adb-command-exit-status): Handle case that COMMAND is nil. - (tramp-adb-barf-unless-okay): Use `tramp-adb-command-exit-status'. - (tramp-adb-maybe-open-connection): Apply "su" if user is defined. - -2013-03-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * textmodes/ispell.el: Fix nitpicks and byte-compiler warnings. - (ispell-print-if-debug): Build `format' in. Avoid end-of-buffer. - (ispell-parse-hunspell-affix-file): Avoid beginning-of-buffer. - Use dict-key rather than dict-name for the error message. - -2013-03-01 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * net/net-utils.el (net-utils-run-simple): Don't display-buffer - when reverting (bug#13831). - -2013-03-01 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-find-hunspell-dictionaries): - Always expand affix-file before storing to protect against changed - `default-directory'. - (ispell-print-if-debug): Make sure message is printed at the end - of the debug buffer. - -2013-03-01 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-obsolete-methods): New defconst. - (tramp-warned-obsolete-methods): New defvar. - (tramp-find-method): Check for obsolete methods. Map them to a - replacement method if appropriate. - - * net/tramp-sh.el (tramp-methods) [scp1, scp2, ssh1, ssh2, plink1]: - Remove methods. - (top): Remove completion functions for "scp1", "scp2", "ssh1", - "ssh2" and "plink1". - -2013-02-28 Dale Sedivec <dale@codefu.org> - - * textmodes/sgml-mode.el (sgml-syntax-propertize-function): - Return valid syntax-table property value when converting - quotes within text from string syntax to punctuation syntax (bug#13844). - -2013-02-28 Juri Linkov <juri@jurta.org> - - * dired-aux.el (dired-diff): If file at point is a backup file, - use its original as the default value, and reverse the order - of arguments to the `diff' call. Doc fix. (Bug#13772) - -2013-02-28 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-adb.el (tramp-adb-sdk-dir): Remove. Replaced by ... - (tramp-adb-program): New defcustom. Remove function. Adapt calls. - -2013-02-28 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - Initial support for hunspell dictionaries auto-detection (Bug#13639) - - * textmodes/ispell.el (ispell-find-hunspell-dictionaries): - Ask hunspell about available and default dictionaries. - (ispell-parse-hunspell-affix-file): Extract relevant info from - hunspell affix file. - (ispell-hunspell-fill-dictionary-entry): Fill non-initialized - `ispell-dictionary-alist' entry for given dictionary after info - provided by `ispell-parse-hunspell-affix-file'. - (ispell-hunspell-dict-paths-alist): New defvar to contain an alist - of parsed hunspell dicts and associated affix files. - (ispell-hunspell-dictionary-alist): New defvar to contain an alist - of parsed hunspell dicts and associated parameters. - (ispell-set-spellchecker-params): - Call `ispell-find-hunspell-dictionaries' if hunspell and not - previously done. - (ispell-start-process): - Call `ispell-hunspell-fill-dictionary-entry' for current - dictionary if it is not initialized. - -2013-02-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * imenu.el: Comment nitpicks. - -2013-02-28 Sam Steingold <sds@gnu.org> - - * vc/diff-mode.el (diff-hunk-file-names): Handle filenames with spaces. - See <http://stackoverflow.com/questions/14720205>. - -2013-02-28 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * net/net-utils.el (net-utils--revert-function): New fun (bug#13831). - (net-utils-mode): Use it. - (net-utils--revert-cmd): New var. - (net-utils-run-simple): Set it, and remove bogus interactive spec. - (traceroute): Use net-utils-run-simple. - -2013-02-28 Glenn Morris <rgm@gnu.org> - - * textmodes/paragraphs.el (mark-paragraph): Doc fix. - -2013-02-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * doc-view.el: Preserve h&v scroll across C-c C-c C-c C-c. - (doc-view-fallback-mode): Remove overlays here. - (doc-view-toggle-display): Instead of here. Don't throw away - image-mode-winprops-alist. - (doc-view-goto-page): Don't mess with hscroll. - -2013-02-27 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * font-lock.el (lisp-font-lock-keywords-2): Fix highlighting of - &optional (bug#13819). - -2013-02-27 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-adb.el (tramp-adb-parse-device-names) - (tramp-adb-maybe-open-connection): Add timeouts. (Bug#13299) - -2013-02-26 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-insert-directory): - Add "2>/dev/null" to the ls command, in case "en_US.utf8" is not - defined. POSIX environments fall back to the "C" locale then and - emit a warning, which shall be suppressed. - -2013-02-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Tweak logic. - (easy-mmode-set-keymap-parents): Use make-composed-keymap. - -2013-02-25 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (byte-compile-file): Use let. - -2013-02-25 Juri Linkov <juri@jurta.org> - - * replace.el (read-regexp): Let-bind `default' to the first - element of `defaults' if it's a list, otherwise it should be - a string or nil. Let-bind `suggestions' to `defaults' if it's - a list, otherwise make a list with the string value. Doc fix. - (Bug#13805) - -2013-02-25 Eli Zaretskii <eliz@gnu.org> - - * emacs-lisp/bytecomp.el (byte-recompile-directory): Reject files - that match "\`\.#", to avoid compiling lock files, even if they - are readable (as they are on MS-Windows). - -2013-02-25 Stefan Monnier <monnier@iro.umontreal.ca> - - * files.el (basic-save-buffer): Remove redundant directory-creation. - -2013-02-24 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-ext.el (math-to-radians-2, math-from-radians-2): - Add option to force `pi' to remain symbolic. - * calc/calcalg2.el (calcFunc-sin, calcFunc-cos, calcFunc-tan) - (calcFunc-cot, calcFunc-csc, calcFunc-sec, calcFunc-arcsin) - (calcFunc-arccos, calcFunc-arctan): Use symbolic `pi' in the - derivatives, when necessary. - -2013-02-23 Peter Kleiweg <p.c.j.kleiweg@rug.nl> - - * progmodes/ps-mode.el (ps-mode-version): Bump to 1.1i. - (ps-mode-octal-region): Use string-make-unibyte. - -2013-02-23 Glenn Morris <rgm@gnu.org> - - * emulation/viper-cmd.el (viper-submit-report): - * progmodes/ps-mode.el (ps-mode-maintainer-address): - * progmodes/vera-mode.el (vera-mode-help-address): - * textmodes/artist.el (artist-maintainer-address): - * textmodes/reftex.el (reftex-report-bug): - * vc/ediff-util.el (ediff-submit-report): - Add bug-gnu-emacs to bug report address. - - * progmodes/simula.el (simula-mode-menu, simula-mode-map): - Remove bug report entries. - (simula-mode-help-address, simula-submit-bug-report): Make obsolete. - - * emacs-lisp/bytecomp.el (byte-compile-level): New. - (byte-compile-file, byte-compile-from-buffer): - Use separate input/output buffers for each level of recursive - byte-compile-file calls. (Bug#13787) - -2013-02-23 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-methods): Fix docstring. - (tramp-ssh-controlmaster-options): Rename it from - `tramp-ssh-controlmaster-template'. Return a string. - (tramp-default-method): Adapt check for - `tramp-ssh-controlmaster-options'. - - * net/tramp-sh.el (tramp-methods): - Replace `tramp-ssh-controlmaster-template' by "%c". - (tramp-do-copy-or-rename-file-out-of-band) - (tramp-maybe-open-connection): Use it in format spec. Ensure, - that it is applied for the first hop only. - -2013-02-22 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-lazy-highlight-new-loop): - Set `isearch-lazy-highlight-start' and `isearch-lazy-highlight-end' - to `isearch-other-end' if it is not nil. (Bug#13402) - - * replace.el (replace-highlight): Let-bind `isearch-other-end' - to `match-beg'. - - * textmodes/ispell.el (ispell-highlight-spelling-error-overlay): - Let-bind `isearch-other-end' to `start', `isearch-forward' to t - and `isearch-error' to nil. - -2013-03-16 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-info-current-defun): - Enhance match-data cluttering prevention. - -2013-02-22 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-tramp-file-p): Fix docstring. - - * net/tramp-sh.el (tramp-sh-handle-insert-directory): - Handle multibyte file names. - -2013-02-22 Glenn Morris <rgm@gnu.org> - - * textmodes/sgml-mode.el (sgml-xml-mode): Move before use. - (sgml-transformation-function): Give it a :set function. - (sgml-tag): Doc fix. - - * cmuscheme.el (scheme-buffer): - * progmodes/inf-lisp.el (inferior-lisp-buffer): - * progmodes/tcl.el (inferior-tcl-buffer): - * textmodes/tex-mode.el (tex-command): Doc fixes. - - * image-mode.el (image-mode): Add mouse bindings for mode-line-process. - - * htmlfontify.el (hfy-default-header): Encode title string. (Bug#7457) - -2013-02-21 Bastien Guerry <bzg@gnu.org> - - * cmuscheme.el (scheme-buffer): Fix docstring. (Bug#13778) - -2013-02-21 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-info-current-defun): - Enhance match-data cluttering prevention. - -2013-02-21 Glenn Morris <rgm@gnu.org> - - * net/tramp.el (tramp-get-debug-buffer): Ensure outline.el is not - loaded while outline-regexp is let bound. (Bug#9584) - -2013-02-21 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-info-current-defun): Fix failed - defun name retrieval because of unwanted match-data cluttering. - -2013-02-21 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-ssh-controlmaster-template): Make it a - defconst. Apply independent check for ControlPersist. - - * net/tramp-sh.el (tramp-sh-handle-set-file-times): Set $UTC only - temporarily, via "env". - -2013-02-21 Glenn Morris <rgm@gnu.org> - - * info.el (Info-enable-edit): Remove. - (Info-edit): Disable it rather than using Info-enable. - (Info-edit-mode-hook, Info-edit-map, Info-edit-mode, Info-edit) - (Info-cease-edit): Make editing of Info files obsolete. - - * informat.el (Info-tagify): - Handle buffers not visiting files. (Bug#13763) - -2013-02-21 Juanma Barranquero <lekktu@gmail.com> - - * calc/calc-graph.el (calc-graph-show-dumb): Fix typo. - -2013-02-21 Glenn Morris <rgm@gnu.org> - - * files.el (basic-save-buffer): Move check for existing parent - directory after hooks. (Bug#13773) - -2013-02-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * simple.el (command-execute): Move from C. Add obsolete check. - (extended-command-history): Move from C. - -2013-02-20 Ulrich Müller <ulm@gentoo.org> - - * jka-cmpr-hook.el (jka-compr-compression-info-list) - (jka-compr-mode-alist-additions): Handle .txz suffix for - XZ-compressed tar archives (bug#13770). - -2013-02-20 Bastien Guerry <bzg@gnu.org> - - * outline.el (outline-regexp, outline-heading-end-regexp): - Make variables, not options (bug#13731). - -2013-02-20 Glenn Morris <rgm@gnu.org> - - * image.el (image-current-frame): Change from variable to function. - (image-show-frame): Rename from image-nth-frame. Update callers. - * image-mode.el (image-multi-frame): New variable. - (image-mode-map, image-mode, image-goto-frame): - Use image-multi-frame rather than image-current-frame. - (image-mode, image-goto-frame): Use image-current-frame as - function rather than as variable. - - * emacs-lisp/cl-lib.el (cl-floatp-safe): Make it an alias for floatp. - * emacs-lisp/cl-macs.el (cl--make-type-test) - (cl--compiler-macro-assoc): Use floatp rather than cl-floatp-safe. - -2013-02-19 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-cache.el (tramp-get-hash-table): New defun. - (tramp-get-file-property, tramp-set-file-property) - (tramp-get-connection-property, tramp-set-connection-property): Use it. - (tramp-flush-file-property, tramp-flush-directory-property): - Rename argument to KEY. - (tramp-flush-connection-property): Simplify a little bit. - (tramp-connection-property-p): New defun. - (top): Reapply saved values only if there isn't a corresponding - entry in `tramp-connection-properties'. - -2013-02-19 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-indent-context): - Fix python-info-line-ends-backslash-p call. - (python-info-line-ends-backslash-p) - (python-info-beginning-of-backslash): Respect line-number argument. - (python-info-current-line-comment-p): - Fix behavior when not at beginning-of-line. - (python-util-position): Remove function. - (python-util-goto-line): New function. - -2013-02-19 Michael Albinus <michael.albinus@gmx.de> - - * eshell/em-unix.el (eshell/su): Require tramp. - (eshell/sudo): Require tramp. Remove now unnecessary check. - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): Let-bind - `tramp-current-connection' in order to avoid an error when several - commands are invoked in a short time in eshell and friends. - -2013-02-19 Stefan Monnier <monnier@iro.umontreal.ca> - - Cleanup some of EIEIO's namespace. - * emacs-lisp/eieio.el (eieio--define-field-accessors): New macro. - Use it to define all the class-* and object-* field accessors (renamed - to eieio--class-* and eieio--object-*). Update all uses. - (eieio--class-num-slots, eieio--object-num-slots): Rename from - class-num-slots and object-num-slots. - (eieio--check-type): New macro. - (eieio-defclass, eieio-oref, eieio-oref-default, same-class-p) - (object-of-class-p, child-of-class-p, object-slots, class-slot-initarg) - (eieio-oset, eieio-oset-default, object-assoc, object-assoc-list) - (object-assoc-list-safe): Use it. - (eieio-defclass): Tighten regexp. - (eieio--defmethod): Use `memq'. Signal an error for unknown method kind. - Remove unreachable code. - (object-class-fast): Declare obsolete. - (eieio-class-name, eieio-object-name, eieio-object-set-name-string) - (eieio-object-class, eieio-object-class-name, eieio-class-parents) - (eieio-class-children, eieio-class-precedence-list, eieio-class-parent): - Rename from class-name, object-name, object-set-name-string, - object-class, object-class-name, class-parents, class-children, - class-precedence-list, class-parent; with obsolete alias. - (class-of, class-direct-superclasses, class-direct-subclasses): - Declare obsolete. - (eieio-defmethod): Use `memq'; remove unreachable code. - * emacs-lisp/eieio-base.el (eieio-persistent-read): - * emacs-lisp/eieio-opt.el (eieio-class-button, eieio-describe-generic) - (eieio-browse-tree, eieio-browse): Use eieio--check-type. - -2013-02-18 Aidan Gauland <aidalgol@no8wireless.co.nz> - - * eshell/em-cmpl.el: Correct "context-related help" keybinding in - commentary. - -2013-02-18 Michael Heerdegen <michael_heerdegen@web.de> - - * emacs-lisp/eldoc.el (eldoc-highlight-function-argument): - Use font-lock-keyword-face for macros and special forms (bug#8345). - -2013-02-17 Didier Verna <didier@didierverna.net> - - * net/network-stream.el (network-stream-open-starttls): - Check that response to the starttls-command is non-nil. (Bug#13706) - -2013-02-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * font-lock.el (lisp-font-lock-keywords-1, lisp-font-lock-keywords-2): - Don't assume all identifier chars have syntax word. - * emacs-lisp/lisp-mode.el (lisp-mode-variables): - Remove bar-not-symbol. Adjust callers. - (lisp-mode-variables): Don't set a font-lock-syntax-table. - -2013-02-17 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc-keepalive): Fix invalid timer error. - -2013-02-17 Glenn Morris <rgm@gnu.org> - - * menu-bar.el (menu-bar-tools-menu): Fix case of EDE entry. - - * image-mode.el (image-mode-map): Add image-dired menu entry. - - * image-dired.el (tumme): Make this alias obsolete. - -2013-02-16 Glenn Morris <rgm@gnu.org> - - * image.el (image-animated-types): Remove. - (image-multi-frame-p): Rename from image-animated-p, and generalize. - (image-animated-p): Make obsolete alias. - (image-animate, image-nth-frame, image-animate-timeout): - Use image-multi-frame-p. - (image-animate-timeout): If no delay, use image-default-frame-delay. - * image-mode.el (image-mode, image-toggle-animation): - Use image-multi-frame-p. (Bug#763, bug#10739) - (image-mode): Adjust startup message for a multi-frame image. - - * image-mode.el (image-mode-map): Give it a menu. - -2013-02-16 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-cache.el (tramp-connection-properties): New customer - option. - (tramp-get-connection-property): Use it. - - * net/tramp-compat.el (top): Require 'trampver. - - * net/tramp-sh.el (tramp-remote-process-environment): - Set tramp-autoload cookie. - -2013-02-16 Kevin Ryde <user42@zip.com.au> - - * info-look.el (info-lookup-select-mode): If major-mode has no - info-lookup-alist entry then search up derived-mode-parent (bug#8660). - -2013-02-16 Jambunathan K <kjambunathan@gmail.com> - - * replace.el (read-regexp): Tighten the regexp that matches tag. - When tag is retrieved with `find-tag-default', use regexp that - matches tag at point. Also update docstring (Bug#13687). - -2013-02-16 Eli Zaretskii <eliz@gnu.org> - - * autorevert.el (auto-revert-notify-add-watch): With 'w32notify', - add watch for the file, not its parent directory, since w32notify - sets up the watch for the directory internally. (Bug#13725) - -2013-02-16 Glenn Morris <rgm@gnu.org> - - * image.el (image-default-frame-delay): New variable. - (image-animated-p): Use image-default-frame-delay. - (image-minimum-frame-delay): New constant. - (image-animate-timeout): Use image-minimum-frame-delay. - - * image.el (image-nth-frame): New, split from image-animate-timeout. - (image-animate-timeout): Use image-nth-frame. - * image-mode.el (image-goto-frame, image-next-frame) - (image-previous-frame): New commands. - (image-mode-map): Add new frame commands. - -2013-02-16 Jonas Bernoulli <jonas@bernoul.li> - - * emacs-lisp/tabulated-list.el (tabulated-list-print-col): - If col-desc already has help-echo, use it. (Bug#13563) - -2013-02-16 Glenn Morris <rgm@gnu.org> - - * image.el (image-current-frame): New variable. - (image-animate-timeout): Set image-current-frame. - * image-mode.el (image-mode): For animated images, - display a frame counter via mode-line-process. - - * font-lock.el (lisp-font-lock-keywords-1): Add defvar-local. - -2013-02-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * simple.el (eval-expression): Let `exp' set the mark (bug#13724). - -2013-02-15 Alan Mackenzie <acm@muc.de> - - * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): When a - global minor mode has been enabled, call the minor mode function - for a new buffer once only, after the major mode hook, whilst - allowing that hook explicitly to disable the minor mode. - (MODE-disable-in-buffer): New (generated) function. - (disable-MODE): New (generated) buffer local variable. - -2013-02-15 Jambunathan K <kjambunathan@gmail.com> - - * iswitchb.el (iswitchb-read-buffer): Bind `C-.' and `C-,' to - `iswitchb-next-match' and `iswitchb-prev-match' resply. - * ido.el (ido-init-completion-maps): Bind `C-.' and `C-,' to - `ido-next-match' and `ido-prev-match' resply. - * icomplete.el (icomplete-minibuffer-map): Unbind `C-s' and `C-r'. - Bind `C-.' and `C-,' to `icomplete-forward-completions' and - `icomplete-backward-completions' (Bug#13708). - -2013-02-15 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. - -2013-02-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * net/goto-addr.el (goto-address-fontify): Add start and end args. - (goto-address-fontify-region): Use them instead of narrowing, so - syntax-ppss has access to the whole buffer. - -2013-02-15 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: Explain how to restore "cc-mode"-like - forward-sexp movement in header documentation (Bug#13642). - (python-nav--forward-sexp): Behave like emacs-lisp-mode in - comments and strings (GH bug 114). - -2013-02-15 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-info-current-defun): Fix current - defun detection (Bug#13618). - -2013-02-15 Chong Yidong <cyd@gnu.org> - - * xml.el (xml-parse-string): Fix typo in handling of bad character - references. - -2013-02-15 Glenn Morris <rgm@gnu.org> - - * play/fortune.el (fortune-compile): Simplify and fix previous change. - -2013-02-14 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-debug-message): - Add `tramp-condition-case-unless-debug'. - (tramp-debug-on-error): New defvar. - (tramp-condition-case-unless-debug): New defun. - (tramp-file-name-handler): Use it. - -2013-02-14 Juri Linkov <juri@jurta.org> - - * info.el (Info-isearch-filter): Treat non-nil values of - `search-invisible' including its default value `open' - like the value `t' to match hidden text. (Bug#13402) - -2013-02-14 Glenn Morris <rgm@gnu.org> - - * help-fns.el (find-lisp-object-file-name): Give special treatment - to all ~/.foo.elc files, not just ~/.emacs. (Bug#9007) - -2013-02-14 David Biesack <sasdjb@d72933.na.sas.com> (tiny change) - - * net/quickurl.el (quickurl-save-urls): - Ensure quickurl-urls is not truncated on printing. (Bug#9276) - -2013-02-14 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-parse-partial): Don't increase - depth for unfinished percent literal. Not using it in the caller. - (ruby-move-to-block): Jump over multiline literals of all types, - ignoring code-looking contents inside them. - (ruby-add-log-current-method): Improve performance at the expense - of accuracy. `ruby-block-contains-point' is relatively slow, so - only use it for method and singleton class blocks. - -2013-02-13 Michael Albinus <michael.albinus@gmx.de> - - Use ControlMaster where applicable. (Bug#13677) - - * net/tramp.el (tramp-ssh-controlmaster-template): New defvar, - replacing `tramp-detect-ssh-controlmaster'. - (tramp-default-method): Use it. - - * net/tramp-sh.el (tramp-methods) [scp, scp1, scp2, scpx, sftp]: - [rsync, ssh, ssh1, ssh2, sshx]: Add ControlPath and ControlMaster - arguments. - [scpc, rsyncc]: Remove methods. - (top): Remove completion functions for "scpc", "rsyncc", "ssh1_old" - and "ssh2_old". - (tramp-do-copy-or-rename-file-out-of-band): Change trace level. - (tramp-maybe-open-connection): Reuse tmpfile for ControlPath. - -2013-02-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/package.el (package--initialized): Move before first use. - -2013-02-13 Jambunathan K <kjambunathan@gmail.com> - - * icomplete.el (icomplete-hide-common-prefix): New user option. - (icomplete-first-match): New face. - (icomplete-completions): Correct handling of "complete but not - unique" (Bug#12638). - -2013-02-13 YE Qianchuan <stool.ye@gmail.com> (tiny change) - - * descr-text.el (describe-char): Display the script (bug#13698). - -2013-02-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * tmm.el: Use lexical-binding and current-active-maps. - (tmm-menubar): Use map-keymap and pcase. - (tmm--completion-table): New function. - (tmm-prompt): Use it to fix the menu order. - (tmm-get-keybind): Use current-active-maps. - -2013-02-12 Christopher Schmidt <christopher@ch.ristopher.com> - - Add dired-hide-details-mode. (Bug#6799) - - * locate.el (locate-mode): Set parent mode property to dired-mode. - - * find-dired.el (find-dired): Call dired-insert-set-properties on - initial information line. Set process mark on end of buffer. - (find-dired-sentinel): - Call dired-insert-set-properties on summary. - - * dired.el (dired-hide-details-hide-symlink-targets) - (dired-hide-details-hide-information-lines): New options. - (dired-insert-directory): - Set properties after final treatment of output. - (dired-insert-set-properties): - Set dired-hide-details-* properties. - (dired-mode-map): Bind dired-hide-details-mode. - (dired-mode): Set buffer-invisibility-spec to a list. - (dired-next-line): Skip hidden lines. - (dired-previous-line): Use dired-next-line. - (dired-hide-details-mode): New minor mode. - (dired-hide-details-update-invisibility-spec): New function. - -2013-02-13 Glenn Morris <rgm@gnu.org> - - * play/yow.el: Move to obsolete/. (Bug#9384) - -2013-02-13 Juri Linkov <juri@jurta.org> - - * vc/ediff-util.el (ediff-recenter): Use `select-frame-set-input-focus' - to select `ediff-control-frame' and set input focus correctly on Xfce. - (Bug#12218) - -2013-02-13 Juri Linkov <juri@jurta.org> - - * image-mode.el (image-mode-map): - * doc-view.el (doc-view-mode-map): - * vc/ediff-util.el (ediff-setup-keymap): - Make S-SPC scroll in the opposite sense to SPC. (Bug#2145) - -2013-02-13 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-move-to-block): Improve - performance. Instead of recalculating indentation fully for each - line, sum up indentation depth based only on visited lines. - (ruby-parse-partial): Increase the depth after "do" even when END - is right after it. - (ruby-parse-partial): When END is in the middle of a percent - literal, increase the depth if the delimiter chars belong to the - paren syntax class. - -2013-02-13 Kirill A. Korinskiy <catap@catap.ru> - - * play/fortune.el (fortune-compile): Also make the compiled file - if it does not exist at all, not just if it is old. (Bug#5338) - -2013-02-13 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/package.el (package-menu-execute): Doc fix. - -2013-02-13 Yves Baumes <ybaumes@gmail.com> (tiny change) - - * lisp/emacs-lisp/package.el (package-menu-execute): - Add optional noquery argument. (Bug#13625) - -2013-02-13 Michael Albinus <michael.albinus@gmx.de> - - * net/ange-ftp.el (ange-ftp-make-directory): Don't raise an error, - if DIR exists and PARENTS is non-nil. - -2013-02-13 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/js.el (js--multi-line-declaration-indentation): - Silence byte-compiler warning. - -2013-02-12 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-adb.el (tramp-adb-handle-start-file-process): Rewrite. - - * net/tramp-compat.el (top): Declare `remote-file-name-inhibit-cache' - only if it doesn't exist. - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): - Set process marker. - -2013-02-12 Tassilo Horn <tsdh@gnu.org> - - * doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate - UserInstallation when calling soffice to work around LibreOffice - bug 37531. - -2013-02-12 Glenn Morris <rgm@gnu.org> - - * files.el (basic-save-buffer): - Offer to create a non-existing directory. (Bug#3016) - - * calc/calc-graph.el (calc-graph-show-dumb): - * calendar/calendar.el (calendar-mode-map): - * cus-edit.el (custom-mode-map): - * ehelp.el (electric-help-map): - * emulation/vip.el (vip-mode-map): - * epa.el (epa-key-list-mode-map): - * info.el (Info-mode-map): - * mail/rmail.el (rmail-mode-map): - * mail/rmailsum.el (rmail-summary-mode-map): - * man.el (Man-mode-map): - * net/newst-plainview.el (newsticker-mode-map): - * progmodes/cpp.el (cpp-edit-mode-map): - * progmodes/grep.el (grep-mode-map): - * progmodes/idlw-help.el (idlwave-help-mode-map): - * simple.el (special-mode-map): - * startup.el (splash-screen-keymap): - * view.el (view-mode-map): - Make S-SPC scroll in the opposite sense to SPC. (Bug#2145) - -2013-02-11 Elias Pipping <pipping@lavabit.com> - - * doc-view.el (doc-view-current-cache-dir): Beware % escapes - (bug#13679). - -2013-02-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * cus-start.el (all): Remove inhibit-local-menu-bar-menus. - -2013-02-11 Glenn Morris <rgm@gnu.org> - - * vc/diff.el (diff-use-labels): New variable. - (diff-no-select): Use --label rather than -L, and first - check that it is supported. (Bug#11067) - - * files.el (enable-dir-local-variables): New variable. - (hack-dir-local-variables): Respect enable-dir-local-variables. - * tutorial.el (help-with-tutorial): - Ignore directory-local variables. (Bug#11127) - - * vc/vc-svn.el (vc-svn-command): Move --non-interactive from here... - (vc-svn-global-switches): ... to here. (Bug#13513) - -2013-02-10 Christopher Schmidt <christopher@ch.ristopher.com> - - * minibuf-eldef.el (minibuffer-default--in-prompt-regexps): - Handle "foo (bar, default: xxx): " prompts. - -2013-02-10 Chong Yidong <cyd@gnu.org> - - * files.el (basic-save-buffer-1): Do not set - buffer-file-coding-system-explicit (Bug#4533). - - * mail/emacsbug.el (report-emacs-bug): Change binding of - report-emacs-bug-insert-to-mailer to C-c M-i (Bug#13510). - -2013-02-09 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc.el (calc-allow-units-as-numbers): New variable. - * calc/calc-units.el (calc-convert-units): Use new variable. - -2013-02-09 Eli Zaretskii <eliz@gnu.org> - - * subr.el (buffer-file-type, default-buffer-file-type): Remove. - - * net/ange-ftp.el (ange-ftp-insert-file-contents): Don't reference - buffer-file-type. - - * mail/feedmail.el (feedmail-force-binary-write): Doc fix. - (feedmail-run-the-queue, feedmail-dump-message-to-queue) - (feedmail-send-it-immediately): Don't bind buffer-file-type, bind - coding-system-for-write instead. - - * jka-compr.el (jka-compr-write-region): Don't bind - buffer-file-type. - - * emacs-lisp/bytecomp.el (byte-compile-file): Don't bind - buffer-file-type. - - * files.el (file-name-buffer-file-type-alist): Remove defvar. - (insert-file-contents-literally): Remove reference to - file-name-buffer-file-type-alist. - - * dos-w32.el (file-name-buffer-file-type-alist): Deprecate and - make-obsolete. - (find-buffer-file-type-match, find-buffer-file-type): Remove. - (find-buffer-file-type-coding-system): Remove references to - find-buffer-file-type-match, find-buffer-file-type, and - buffer-file-type. - Don't put find-buffer-file-type-coding-system into - file-coding-system-alist. - (find-file-binary, find-file-text): Bind coding-system-for-read - instead of file-name-buffer-file-type-alist. - -2013-02-09 Jambunathan K <kjambunathan@gmail.com> - - * doc-view.el: Use (and prefer) soffice as default ODF->PDF - converter (Bug#13622). - (doc-view-unoconv-program): Make obsolete alias. - (doc-view-odf->pdf-converter-program): New variable. - (doc-view-odf->pdf-converter-function): New variable. - (doc-view-mode-p): Use it. - (doc-view-odf->pdf-converter-unoconv): - Rename from `doc-view-odf->pdf-converter-unoconv'. - (doc-view-odf->pdf-converter-soffice): New function. - (doc-view-convert-current-doc): - Use `doc-view-odf->pdf-converter-function'. - -2013-02-09 Chong Yidong <cyd@gnu.org> - - * minibuffer.el (minibuffer-inactive-mode-map): Bind mouse-1 to - view-echo-area-messages (Bug#13340). - - * help.el (view-echo-area-messages): Use display-buffer. - - * dired-x.el (dired-do-run-mail): Prompt for confirmation - (Bug#13561). - -2013-02-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/byte-run.el (eval-when-compile, eval-and-compile): - Eval body right away, now that we do eager macroexpansion (bug#13605). - - * simple.el (end-of-buffer): Don't touch unrelated windows (bug#13466). - (fundamental-mode): Use run-mode-hooks. - - * eshell/esh-proc.el (eshell/kill): Fix last change. - * eshell/em-ls.el (eshell-ls-dir): Fix use of CL in last change. - -2013-02-08 Aidan Gauland <aidalgol@no8wireless.co.nz> - - * eshell/esh-proc.el (eshell/kill): Rewrite. - - * eshell/em-ls.el (show-almost-all): Declare. - (eshell-do-ls): Add support for -A argument. - -2013-02-08 Jambunathan K <kjambunathan@gmail.com> - - * icomplete.el (icomplete-forward-completions) - (icomplete-backward-completions): Handle corner case (bug#13602). - -2013-02-07 Michael Albinus <michael.albinus@gmx.de> - - * vc/vc-hooks.el (vc-find-file-hook): `buffer-file-truename' can - be nil. Handle this. (Bug#13636) - -2013-02-07 Richard Stallman <rms@gnu.org> - - * mail/rmail.el (rmail-variables): Specify `no-conversion' for - `save-buffer-coding-system'. - -2013-02-07 Alan Mackenzie <acm@muc.de> - - Fix bug in state cache mechanism. Remove 'BOD "strategy". Refactor. - * progmodes/cc-engine.el (c-get-fallback-scan-pos): Remove. - (c-parse-state-get-strategy): Don't return 'BOD any more. - (c-append-lower-brace-pair-to-state-cache): - Extra parameter HERE instead of narrowing. - Widen to top of buffer before searching backwards for a brace pair. - (c-state-push-any-brace-pair): Add HERE parameter to function call. - (c-append-to-state-cache): Extra parameter HERE in place of narrowing. - Narrow to parameter HERE, in place of being called narrowed. - (c-remove-stale-state-cache): Extra parameter HERE in place of - narrowing. Check there's an open brace in the cache before - searching for its match. - (c-invalidate-state-cache-1): Add HERE parameter to function call. - (c-parse-state-1): Don't narrow here for 'forward strategy, - instead passing extra parameter HERE to several functions. - Remove 'BOD strategy. - -2013-02-06 Nicolas Richard <theonewiththeevillook@yahoo.fr> (tiny change) - - * emacs-lisp/package.el (describe-package-1): Tell what archive is - used to install the package. - -2013-02-06 Glenn Morris <rgm@gnu.org> - - * vc/vc-hooks.el (vc-find-file-hook): Don't ask about following links - if we can't get user input. (Bug#6567) - - * startup.el (command-line): If simple.el is missing, - test and warn about for some possible causes. - -2013-02-05 Jan Djärv <jan.h.d@swipnet.se> - - * cus-start.el (all): Add ns-use-native-fullscreen. - -2013-02-05 Glenn Morris <rgm@gnu.org> - - * profiler.el (profiler-report-mode-map): Add a restart menu entry. - - * play/gamegrid.el (gamegrid-add-score-with-update-game-score): - Fix directory creation in fallback case. - -2013-02-04 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * vc/vc.el (vc-next-action): Fix inf-loop (bug#13610). - (vc-update-change-log): Use dolist. - -2013-02-04 Chong Yidong <cyd@gnu.org> - - * thingatpt.el: Rewrite the URL detection routines, absorbing some - code from ffap.el. - (thing-at-point-beginning-of-url-regexp): New var. - (thing-at-point-uri-schemes): Update list of URI schemes. - (thing-at-point-url-regexp): Variable deleted. - (thing-at-point-markedup-url-regexp): Disallow newlines. - (thing-at-point-newsgroup-regexp) - (thing-at-point-newsgroup-heads) - (thing-at-point-default-mail-uri-scheme): New variables. - (thing-at-point-bounds-of-url-at-point): Rewrite. Use ffap's - method to find the possible bounds of the URI at point. - New optional argument to find ill-formed URIs. - (thing-at-point-url-at-point): Rewrite. New arguments for finding - ill-formed URIs. Use thing-at-point-bounds-of-url-at-point, and - the scheme-adding heuristics from ffap-url-at-point. - (thing-at-point--bounds-of-well-formed-url): New function. - Do parens matching to decide whether to include parens in the URI - (Bug#9153). - - * ffap.el: Require thingatpt. - (ffap-url-at-point): Delegate URI detection to thing-at-point. - All URI-valid characters are now recognized (Bug#5673). - (ffap-string-at-point): Use use-region-p. - (ffap-url-regexp): Extra character is handled by thing-at-point. - (ffap-string-at-point-mode-alist): Allow parentheses. - (ffap-newsgroup-regexp, ffap-newsgroup-heads, ffap-newsgroup-p): - Convert to aliases; code moved to thingatpt.el. - (ffap-gnus-hook): Use setq-local. - -2013-02-04 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/ert.el (ert--explain-format-atom): - Don't try to print non-characters as characters. (Bug#13543) - -2013-02-03 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-debug-message): Extend function exclude list. - (tramp-backtrace): New defun. - (tramp-handle-insert-file-contents): Use `visit' when inserting - the local copy. - - * net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime): - Use `remote-file-name-inhibit-cache'. - -2013-02-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/cperl-mode.el (cperl-mode): Avoid byte-compile warning - (bug#13614). - - * subr.el (internal--called-interactively-p--get-frame): Avoid filling - current-load-list (bug#13366). - -2013-02-02 Christopher Schmidt <christopher@ch.ristopher.com> - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Identify g++ template instantiation trace. (Bug#12287) - (compilation-mode-hook, compilation-start-hook) - (compilation-window-height): Simplify docstrings. (Bug#13379) - -2013-02-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * mouse.el (mouse-drag-track): Always deactivate the mark before - running the final event's command since that command is in charge of - activating the mark if needed (bug#13523). - -2013-02-02 Juri Linkov <juri@jurta.org> - - * replace.el (perform-replace): Move let-bindings of isearch-* - variables deeper to the loop that searches for the next match. - Add bindings for `isearch-nonincremental' and `isearch-adjusted'. - Use `isearch-search-fun-default' instead of `isearch-search-fun'. - (Bug#13579) - - * isearch.el (isearch-search-fun-default): Check for null - first element of isearch-cmds as a precaution when it's used - with inactive isearch. - -2013-02-02 Andrew W. Nosenko <andrew.w.nosenko@gmail.com> (tiny change) - - * net/tramp.el (tramp-check-for-regexp): Avoid "Args out of range" - error when buffer in question is narrowed so position 1 is out of - visible part. - -2013-02-02 Glenn Morris <rgm@gnu.org> - - * textmodes/remember.el (remember-clipboard): Doc fix. - -2013-02-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/make-mode.el (makefile-fill-paragraph): Reset syntax-table - properties (bug#13179). - -2013-02-02 Juri Linkov <juri@jurta.org> - - * progmodes/grep.el (grep-regexp-alist): Use variable grep-match-face - instead of hard-coded default face `match'. (Bug#9438) - -2012-02-01 Christopher Schmidt <christopher@ch.ristopher.com> - - * vc/vc-arch.el (vc-arch-registered): - * vc/vc-bzr.el (vc-bzr-registered): - * vc/vc-cvs.el (vc-cvs-registered): - * vc/vc-git.el (vc-git-registered): - * vc/vc-hg.el (vc-hg-registered): - * vc/vc-mtn.el (vc-mtn-registered): - * vc/vc-svn.el (vc-svn-registered): Suppress load messages. - (Bug#13139) - - * info.el (Info-next-reference, Info-prev-reference): Add numeric - prefix argument. (Bug#11656) - -2013-02-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * help-fns.el (help-split-fundoc): Don't insert byte-compiled body. - -2013-02-01 Glenn Morris <rgm@gnu.org> - - * vc/vc-hooks.el (vc-menu-map): Disable vc-rollback menu item - if the backend is known not to support it. - - * imenu.el (imenu-default-create-index-function): - Tweak infinite loop test to check for forward motion as well as none. - -2013-02-01 Alex Harsanyi <AlexHarsanyi@gmail.com> - - * net/soap-client.el (soap-invoke): Encode the string for - `url-request-data' as UTF-8. - Fixes <http://code.google.com/p/emacs-soap-client/issues/detail?id=16>. - -2013-02-01 Glenn Morris <rgm@gnu.org> - - * calc/calc-help.el (calc-view-news): Use view-emacs-news. - - * calc/README, calc/README.prev: Rename/merge to etc/CALC-NEWS. - -2013-01-31 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-tramp-file-p): Comment check for - `string-as-unibyte'. The function does not exist on XEmacs, and - likely we need another approach. - - * net/tramp-sh.el (tramp-compute-multi-hops): Check, whether - `tramp-gw-*' variables are bound. - -2013-01-31 Glenn Morris <rgm@gnu.org> - - * files.el (basic-save-buffer-2): Choose coding system for - writing the file before backing it up, to reduce delay between - backing up and writing the new version. (Bug#13522) - -2013-01-31 Michal Nazarewicz <mina86@mina86.com> - - * simple.el (cycle-spacing): New command. - (just-one-space): Use it. - -2013-01-31 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/opascal.el: Rename from delphi.el. Use lexical-binding. - (opascal-newline-always-indents): Remove custom. - (opascal-tab, opascal-newline): Remove commands. - (opascal-new-comment-line): Insert "\n" instead of calling newline. - (opascal-mode-map): Keep default bindings for RET and TAB and DEL. - (opascal-save-match-data): Remove, use save-match-data instead. - (opascal-save-state): Use with-silent-modifications. - - * progmodes/pascal.el (pascal-mode-syntax-table): Accept //..\n comments - (bug#13585). - -2013-01-30 Juri Linkov <juri@jurta.org> - - * frame.el (toggle-frame-maximized, toggle-frame-fullscreen): - Use fullboth as an alias for fullscreen. Suggested by Jan Djärv in - <http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00203.html>. - -2013-01-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/make-mode.el (makefile-backslash-region): Don't compute - column if we're just deleting the backslashes. - (makefile-fill-paragraph): Use eolp. - -2013-01-30 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (auto-revert-use-notify): Fix docstring. - -2013-01-30 Leo Liu <sdl.web@gmail.com> - - * imenu.el (imenu--truncate-items): Fix subalist checking (bug#13576). - -2013-01-30 Glenn Morris <rgm@gnu.org> - - * mouse.el (mouse-drag-line): Avoid pushing same event onto - unread-command-events twice in some cases. This tries to implement - the 2012-07-26 changes in a different way. (Bug#13560) - -2013-01-30 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el - (python-pdbtrack-comint-output-filter-function): Enhancements on - stacktrace detection. (thanks @gnovak) - -2013-01-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * jit-lock.el (jit-lock-stealth-chunk-start): Don't widen (bug#13542). - (jit-lock-mode, jit-lock-functions, jit-lock-context-unfontify-pos): - Use defvar-local. - (jit-lock-register): Use setq-local. - -2013-01-30 Jay Belanger <jay.p.belanger@gmail.com> - - * calc-units.el (math-default-units-table): Remove initial value. - (calc-convert-units): Treat expressions where all the units cancel as - if they didn't have units. - -2013-01-30 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-process-connection-type): Fix docstring. - (tramp-completion-reread-directory-timeout): Fix type. - (tramp-connection-min-time-diff): New defcustom. - - * net/tramp-sh.el (tramp-maybe-open-connection): Use it. - -2013-01-30 Glenn Morris <rgm@gnu.org> - - * imenu.el (imenu-default-create-index-function): - Put back a version of the infinite loop test removed 2013-01-23. - -2013-01-30 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-shell-parse-command): - Find python-shell-interpreter with modified environment. - -2013-01-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl.el (cl-set-getf): Add compatibility alias. - -2013-01-29 Alan Mackenzie <acm@muc.de> - - Amend to fontify /regexp/s in actions correctly. - * cc-awk.el (c-awk-harmless-char-re, c-awk-harmless-string*-re): - (c-awk-harmless-string*-here-re): Braces, parens and semicolons - are no longer included. - (c-awk-harmless-line-char-re, c-awk-harmless-line-string*-re): - What used to be these variables without "-line" in the name. - (c-awk-neutral-re): { is no longer neutral. Escaped newlines now are. - (c-awk-non-arith-op-bra-re): Now also matches {. - (c-awk-pre-exp-alphanum-kwd-re): New regexp to match "print", - "return", and "case". - (c-awk-kwd-regexp-sign-re): New, to match "print", etc., followed - by /. - (c-awk-syntax-tablify-/): Check special cases "print /re/", etc. - (c-awk-set-syntax-table-properties): Extend FSM to handle {,},(,),;. - -2013-01-29 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (auto-revert-use-notify): - Use `custom-initialize-default' for initialization. (Bug#13583) - - * net/ange-ftp.el (ange-ftp-skip-msgs): Add another message. - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): - Catch `suppress'. Otherwise, `tramp-run-real-handler' might be called - in `tramp-file-name-handler'. - (tramp-gw-tunnel-method, tramp-gw-socks-method): Declare for - compatibility. - (tramp-compute-multi-hops): Check, whether - `tramp-gw-tunnel-method' and `tramp-gw-socks-method' are non-nil. - -2013-01-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * hi-lock.el (hi-lock-unface-buffer): Don't assume `face' is a symbol - (bug#13297). - -2013-01-27 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-font-lock-keywords): Remove some - checks made superfluous by the \_< operator. - * progmodes/ruby-mode.el (ruby-move-to-block): Work with (maybe - temporarily) broken indentation. - * progmodes/ruby-mode.el (ruby-font-lock-keywords): - Highlight nested constants, too. \_< broke that. - -2013-01-27 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * progmodes/ruby-mode.el (ruby-font-lock-keywords): Use "\\_<" - instead of "\\b". - -2013-01-27 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (auto-revert-handler): Notifications which result - from a saved file shall not be taken into account. (Bug#13557) - -2013-01-26 Andreas Schwab <schwab@linux-m68k.org> - - * emacs-lisp/lisp-mode.el (lisp-mode-variables): Add optional - parameter BAR-NOT-SYMBOL to control syntax of | for font-lock. - (lisp-mode): Pass t for it. (Bug#13556) - -2013-01-25 Alan Mackenzie <acm@muc.de> - - AWK Mode: Fix indentation bug at top level. Bug #12274. - - * progmodes/cc-engine.el (c-guess-basic-syntax): Move CASE 5P to - just before CASE 5D. - -2013-01-25 Dmitry Antipov <dmantipov@yandex.ru> - - * net/socks.el (socks-nslookup-host): Use string-to-number. - -2013-01-25 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (auto-revert-remote-files) - (auto-revert-notify-exclude-dir-regexp): New defcustoms. - (auto-revert-notify-enabled, auto-revert-use-notify) - (auto-revert-notify-watch-descriptor-hash-list) - (auto-revert-notify-modified-p, auto-revert-notify-event-p) - (auto-revert-notify-event-descriptor) - (auto-revert-notify-event-action) - (auto-revert-notify-event-file-name): Doc fix. - (global-auto-revert-mode): Reorder checks. - (auto-revert-notify-rm-watch): Respect changed values of - `auto-revert-notify-watch-descriptor-hash-list'. - (auto-revert-notify-add-watch): Check for - `auto-revert-notify-exclude-dir-regexp'. Adapt filters for - `inotify-add-watch'. Watch `default-directory' instead of - `buffer-file-name'. `auto-revert-notify-watch-descriptor-hash-list' - has a changed meaning now. (Bug#13540) - (auto-revert-notify-handler): Change implementation wrt events - returning from a directory. - (auto-revert-handler): Reorder implementation for checks of remote - files. - (auto-revert-buffers): Fix parentheses error. - -2013-01-25 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: Enhancements to header documentation about - skeletons. (Bug#5716) - - * imenu.el (imenu-default-create-index-function): Remove useless - infinite loop check. (Bug#13438) - -2013-01-25 Alan Mackenzie <acm@muc.de> - - Fix a bug in the state cache mechanism. Refactor this a bit. - - * progmodes/cc-engine.el (c-parse-state-get-strategy): Remove the - `cache-pos' element from the return value. - (c-append-lower-brace-pair-to-state-cache): "Narrow" to end of - buffer to enable proper searching from beyond HERE. Amend the - test for detecting the sought brace pair. Amend the value written - to the "brace desert cache" when the brace isn't found. - (c-remove-stale-state-cache): Rename `good-pos' to `start-point', - and several other variables analogously. - (c-remove-stale-state-cache-backwards): Change `cache-pos' from a - parameter to a locally calculated variable. - (c-parse-state-1): Change the calling conventions to the two - defuns involving `cache-pos'. - -2013-01-25 Chong Yidong <cyd@gnu.org> - - * xml.el (xml-entity-or-char-ref-re): Fix regexp. - -2013-01-24 Aaron Ecay <aaronecay@gmail.com> (tiny change) - - * paren.el (show-paren-function): Make sure to set 'priority and - 'face only if the overlay does exist. - -2013-01-24 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-tramp-file-p): Check, whether NAME is unibyte. - - * net/tramp-sh.el (tramp-sh-handle-set-file-acl): Do not suppress - basic attributes. - (tramp-sh-handle-set-file-acl): Improve error checking. - -2013-01-24 Dmitry Antipov <dmantipov@yandex.ru> - - * doc-view.el (doc-view-display): Force mode line update until all - document is converted. Suggested by Stefan Monnier (Bug#13164). - -2013-01-23 Bastien Guerry <bzg@gnu.org> - - * paren.el (show-paren-function): Make sure an overlay exists - before trying to delete it. Also use `pos' as a position only - when it is an integer. - -2013-01-23 Dmitry Antipov <dmantipov@yandex.ru> - - * play/gametree.el (gametree-break-line-here): Use point-marker. - -2013-01-22 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers): - Mark descriptive parts with `display' property. - -2013-01-21 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-hunspell-dictionary-equivs-alist): - New variable to map standard dict names to hunspell ones. - (ispell-set-spellchecker-params): Make sure specific dict names - are used for standard dicts with hunspell. - -2013-01-21 Tassilo Horn <tsdh@gnu.org> - - * textmodes/reftex-cite.el (reftex-format-citation): Add format - chars for note (%N) and url (%U). - * textmodes/reftex-vars.el (reftex-cite-format): Document them. - -2013-01-21 Juri Linkov <juri@jurta.org> - - * frame.el: Bind `f10' in `esc-map' to `toggle-frame-maximized' - in addition to existing separate binding `meta f10' in `global-map'. - (Bug#13484) - -2013-01-21 Michael Albinus <michael.albinus@gmx.de> - - Improve XEmacs compatibility. - - * net/tramp.el (tramp-replace-environment-variables): Make it a defun. - - * net/tramp-adb.el (top): Require `time-date'. - (tramp-adb-ls-output-time-less-p): Use `tramp-time-less-p'. - (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file): - Use `tramp-file-name-handler'. - (tramp-adb-maybe-open-connection): - Use `tramp-compat-set-process-query-on-exit-flag'. - - * net/tramp-sh.el (tramp-sh-handle-file-acl): - Use `tramp-compat-funcall'. - - * net/tramp-smb.el (tramp-smb-handle-file-acl): Use `looking-at' and - `tramp-compat-funcall'. - -2013-01-21 Jürgen Hötzel <juergen@archlinux.org> - - * net/tramp-adb.el (tramp-adb-handle-start-file-process): Complete - reimplementation using "adb shell command ..." instead of running - remote shell interactively. - -2013-01-20 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): - Add native profiler menu entries. - - * profiler.el (profiler-running-p): New function. - (profiler-cpu-profile): Use profiler-running-p. - (profiler-report-mode-map): Add some more menu entries. - -2013-01-19 Glenn Morris <rgm@gnu.org> - - * mail/unrmail.el (unrmail): Do not mangle the mbox From line; - fixes 2012-12-07 change. (Bug#13499) - -2013-01-19 Leo Liu <sdl.web@gmail.com> - - * dired.el (dired-get-marked-files): Prune erroneous values due to - last change. (Bug#13152) - -2013-01-19 Glenn Morris <rgm@gnu.org> - - * progmodes/etags.el (tags-table-check-computed-list): - Preserve point in tags buffer. (Bug#13412) - - * emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix. - -2013-01-19 Christian Wittern <cwittern@gmail.com> (tiny change) - Chong Yidong <cyd@gnu.org> - - * image-mode.el (image-next-file, image-previous-file): - New commands (Bug#8453). - (image-mode-map): Bind them to n and p. - (image-mode--images-in-directory): New helper function. - -2013-01-19 Chong Yidong <cyd@gnu.org> - - * image-mode.el (image-mode-fit-frame): Add a frame argument. - Suggested by Drew Adams (Bug#7730). Handle window decorations; - save and restore the old window configuration. - -2013-01-18 Leo Liu <sdl.web@gmail.com> - - * progmodes/js.el: Tweak autoload cookie for alias. - -2013-01-17 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (auto-revert-notify-watch-descriptor): Make it - buffer local, again. This was lost with the fix on 2013-01-12. - -2013-01-17 Jürgen Hötzel <juergen@archlinux.org> - - * eshell/esh-util.el (eshell-path-env): Make it buffer local, in - order to support several eshell buffers in parallel. - -2013-01-17 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (auto-revert-use-notify): In the :set function, do - not modify `kill-buffer-hook'. - (auto-revert-notify-rm-watch): - Remove `auto-revert-notify-rm-watch' from `kill-buffer-hook'. - (auto-revert-notify-add-watch): Do not call - `auto-revert-notify-rm-watch', but add it to a buffer local - `kill-buffer-hook'. - -2013-01-16 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/trace.el (trace--read-args): Use a closure and an honest - call to `eval' rather than a backquoted lambda. - -2013-01-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/nadvice.el (advice--tweak): Make it possible for `tweak' - to return an explicit nil. - (advice--remove-function): Change accordingly. - - * emacs-lisp/advice.el (ad-preactivate-advice): Adjust the cleanup to - the use of nadvice.el. - - * progmodes/which-func.el (which-function): Silence imenu errors - (bug#13433). - -2013-01-15 Michael R. Mauger <mmaug@yahoo.com> - - * progmodes/sql.el (sql-imenu-generic-expression): - (sql-mode-font-lock-object-name): Match schema qualified names. - (sql-connect): Use string keys. - (sql-product-interactive): Wait for interpreter prompt. - (sql-comint-oracle): Set process coding based on NLS_LANG. - -2013-01-15 Michael R. Mauger <mmaug@yahoo.com> - - * progmodes/sql.el (sql-output-to-send): Remove, unused. - (sql-interactive-remove-continuation-prompt): - (sql-send-magic-terminator, sql-interactive-mode): Remove references. - -2013-01-14 Leo Liu <sdl.web@gmail.com> - - * calendar/calendar.el (calendar-redraw): Sync window-point and point. - (Bug#13420) - -2013-01-14 Glenn Morris <rgm@gnu.org> - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Fix interpretation of gnu line.col1-col2 format. (Bug#13335) - -2013-01-13 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-nav-end-of-statement): - Fix cornercase when handling multiline strings. - -2013-01-13 Richard Stallman <rms@gnu.org> - - * mail/sendmail.el (mail-position-on-field): Add doc string. - - * mail/rmailmm.el (rmail-insert-mime-forwarded-message): - Get current message boundaries and pass them to - message-forward-make-body-mime. Minor style changes. - -2013-01-13 Eli Zaretskii <eliz@gnu.org> - - * cus-start.el (all): Avoid warnings about - scroll-bar-adjust-thumb-portion on platforms where it is not defined. - -2013-01-11 Jan Djärv <jan.h.d@swipnet.se> - - * cus-start.el (all): Add scroll-bar-adjust-thumb-portion. - -2013-01-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * jit-lock.el (jit-lock-debug-mode): New minor mode. - (jit-lock--debug-fontifying): New var. - (jit-lock--debug-fontify): New function. - * subr.el (condition-case-unless-debug): Don't prevent catching the - error, just let the debbugger run. - * emacs-lisp/timer.el (timer-event-handler): Don't prevent debugging - timer code and don't drop errors silently. - -2013-01-12 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (auto-revert-notify-watch-descriptor): Give it - `permanent-local' property. - (auto-revert-notify-handler): Use `file-equal-p'. - -2013-01-12 Eli Zaretskii <eliz@gnu.org> - - * autorevert.el (auto-revert-notify-handler): Fix filtering of - file notification by ACTION. For filtering by file name, compare - only the non-directory part of the file name. - -2013-01-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * autorevert.el: Use cl-lib instead of cl. - - * vc/vc-bzr.el (vc-bzr--sanitize-header): New function (bug#13307). - (vc-bzr-checkin): Use it. - * vc/log-edit.el (log-edit-extract-headers): Don't presume FUNCTION - will preserve match-data. - -2013-01-11 Felix H. Dahlke <fhd@ubercode.de> - - * progmodes/js.el: Fix multiline declarations's indentation (bug#8576). - (js--declaration-keyword-re): New var. - (js--multi-line-declaration-indentation): New function. - (js--proper-indentation): Use it. - -2013-01-11 Aaron S. Hawley <Aaron.Hawley@vtinfo.com> - - * calc/calc.el (calc-highlight-selections-with-faces) - (calc-dispatch): - * comint.el (comint-history-isearch-message): - * emacs-lisp/edebug.el (edebug-read, edebug-eval-defun): - * ffap.el (ffap-string-at-point-region, ffap-next) - (ffap-string-at-point, ffap-string-around) - (ffap-copy-string-as-kill, ffap-highlight-overlay) - (ffap-literally): - * font-lock.el (font-lock-keywords-alist) - (font-lock-removed-keywords-alist): - * help-mode.el (help-xref-symbol-regexp): - * info.el (Info-find-emacs-command-nodes): - * international/mule.el (add-to-coding-system-list): - * isearch.el (isearch-message-function, isearch-fail-pos): - * misearch.el (multi-isearch-next-buffer-function): - * newcomment.el (comment-box): - * printing.el (pr-txt-printer-alist, pr-ps-printer-alist) - (pr-setting-database): - * progmodes/cc-fonts.el (c-font-lock-keywords-3) - (c++-font-lock-keywords-3, objc-font-lock-keywords-3) - (java-font-lock-keywords-3, idl-font-lock-keywords-3) - (pike-font-lock-keywords-3): - * progmodes/compile.el (compile): - * progmodes/etags.el (tags-table-files) - (tags-table-files-function, tags-included-tables-function): - * progmodes/gdb-mi.el (gdb, gdb-setup-windows) - (gdb-restore-windows): - * ps-print.el (ps-even-or-odd-pages, ps-spool-buffer-with-faces) - (ps-n-up-filling-database): - * server.el (server-buffer, server-log): - * simple.el (newline, delete-backward-char, delete-forward-char) - (minibuffer-history-isearch-message, kill-line, track-eol) - (temporary-goal-column): - * textmodes/flyspell.el (flyspell-mark-duplications-flag) - (flyspell-default-deplacement-commands): - * textmodes/ispell.el (ispell-accept-output): - * textmodes/sgml-mode.el (html-tag-help): - * vc/compare-w.el (compare-ignore-whitespace) - (compare-ignore-case, compare-windows-dehighlight): - * vc/diff.el (diff): - * whitespace.el (whitespace-point) - (whitespace-font-lock-refontify, whitespace-bob-marker) - (whitespace-eob-marker): Fix ambiguous doc string cross-reference(s). - -2013-01-11 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (top): Require 'cl in order to pacify byte compiler. - (auto-revert-notify-rm-watch): Ignore errors. - (auto-revert-notify-add-watch): Ignore errors. Use '(modify) for - inotify, and '(size last-write-time) for w32notify. - Set buffer-local `auto-revert-use-notify' to nil when adding a file - watch fails - this is a fallback to the file modification check. - (auto-revert-notify-event-p, auto-revert-notify-event-descriptor) - (auto-revert-notify-event-action) - (auto-revert-notify-event-file-name): New defuns. - (auto-revert-notify-handler): Use them. Implement first - plausibility checks. - (auto-revert-handler): Handle also `auto-revert-tail-mode'. - -2013-01-11 Julien Danjou <julien@danjou.info> - - * color.el (color-rgb-to-hsv): Fix conversion computing in case min and - max are almost equal. Also return the correct value for V which is - already between 0 and 1. - -2013-01-11 Dmitry Antipov <dmantipov@yandex.ru> - - * emacs-lisp/ert.el (ert-run-test): Use point-max-marker. - -2013-01-11 Eli Zaretskii <eliz@gnu.org> - - * autorevert.el (auto-revert-notify-rm-watch) - (auto-revert-notify-add-watch): Fix typos in w32notify function - names. - -2013-01-10 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (auto-revert-notify-enabled): Move up. - (auto-revert-use-notify): New defcustom. - (auto-revert-mode, global-auto-revert-mode) - (auto-revert-notify-add-watch, auto-revert-handler) - (auto-revert-buffers): Use `auto-revert-use-notify' instead of - `auto-revert-notify-enabled'. - -2013-01-10 Elias Pipping <pipping@exherbo.org> - - * files.el (auto-mode-alist): Use doc-view for djvu files (bug#13164). - * doc-view.el (doc-view-document->bitmap): - Use doc-view-single-page-converter-function instead of - single-page-converter arg; adjust callers. - -2013-01-10 Feng Li <fengli@gmail.com> (tiny change) - - * progmodes/which-func.el (which-function): Understand Semantic's use - of overlays in imenu--index-alist. - -2013-01-10 Wolfgang Jenkner <wjenkner@inode.at> - - * man.el: Handle different "man -k" behaviors (bug#13160). Use utf-8. - (Man-man-k-use-anchor): New var. - (Man-parse-man-k): New function. - (Man-completion-table): Use it. - (man): Flush the completion cache between uses. - -2013-01-10 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el: Add file watch support. - (auto-revert-notify-enabled): New defconst. - (auto-revert-notify-watch-descriptor-hash-list) - (auto-revert-notify-watch-descriptor) - (auto-revert-notify-modified-p): New defvars. - (auto-revert-notify-rm-watch, auto-revert-notify-add-watch) - (auto-revert-notify-handler): New defuns. - (auto-revert-mode, global-auto-revert-mode): Remove file watches - when mode is disabled. - (auto-revert-handler): Check for `auto-revert-notify-modified-p'. - (auto-revert-buffers): Add file watches for active buffers. - -2013-01-10 Dmitry Antipov <dmantipov@yandex.ru> - - * cus-start.el (toplevel): Only allow float values for - scroll-up-aggressively and scroll-down-aggressively. - Allow any number for line-spacing. - -2013-01-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * doc-view.el (doc-view-pdfdraw-program): Allow "pdfdraw" name. - (doc-view-pdf->png-converter-function): Use mupdf if available. - (doc-view-djvu->png-converter-function) - (doc-view-ps->png-converter-function): Remove. - (doc-view--image-file-pattern): Replace doc-view--image-file-extension. - (doc-view-goto-page, doc-view-convert-current-doc, doc-view-display) - (doc-view-already-converted-p): Adjust accordingly. - (doc-view-mode-p): Simplify. - (doc-view-enlarge): Use setq-local. - (doc-view-pdf->png-converter-ghostscript) - (doc-view-djvu->png-converter-ddjvu) - (doc-view-pdf->png-converter-mupdf): Rework to call - doc-view-start-process directly. - (doc-view-pdf/ps->png): Simplify accordingly. - (doc-view-pdf->png-1, doc-view-djvu->png-1): Remove. - (doc-view-document->bitmap): Rename from doc-view-document->png. - (doc-view-convert-current-doc): Merge pdf and djvu cases. - (doc-view-set-slice-from-bounding-box): Fix completion table. - (doc-view-mode): Use add-hook for after-revert-hook. - -2013-01-10 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/authors.el (authors-ignored-files) - (authors-valid-file-names, authors-renamed-files-alist): - Add some more entries. - -2013-01-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * image-mode.el (image-mode-winprops): Don't throw away the fallback - `t' pseudo-window entry. - -2013-01-10 Alan Mackenzie <acm@muc.de> - - Fix bugs in the c-parse-state mechanism. Reuse some markers - instead of continually generating new ones. - - * progmodes/cc-engine.el (c-state-old-cpp-beg-marker) - (c-state-old-cpp-end-marker): New variables. - (c-append-lower-brace-pair-to-state-cache): Start a backward - search for "}" definitively outside CPP constructs. - (c-remove-stale-state-cache): Inform the caller of a need to - search back for a brace pair in certain circumstances. - (c-state-maybe-marker): New macro. - (c-parse-state): Reuse markers when appropriate. - -2013-01-10 Glenn Morris <rgm@gnu.org> - - * simple.el (execute-extended-command): Doc fix. - Bind prefix-arg around read-extended-command, for prompt. (Bug#13395) - -2013-01-10 Chong Yidong <cyd@gnu.org> - - * faces.el (read-face-name): Doc fix. - -2013-01-10 Roland Winkler <winkler@gnu.org> - - * emacs-lisp/crm.el: Allow any regexp for separators. - (crm-default-separator): All spaces around the default comma separator. - (crm--completion-command): New macro. - (crm-completion-help, crm-complete, crm-complete-word): Use it. - (crm-complete-and-exit): Handle non-single-char separators. - -2013-01-09 Elias Pipping <pipping@lavabit.com> - - * doc-view.el: Add support for DjVu (bug#13164). - (doc-view-djvu->png-converter-function): New config var. - (doc-view-single-page-converter-function, doc-view--image-type) - (doc-view--image-file-extension): New vars. - (doc-view-mode): Initialize them. - (doc-view-goto-page): Use them. - (doc-view-mode-p): Add support for ddjvu. - (doc-view-djvu->png-converter-ddjvu, doc-view-djvu->png-1) - (doc-view-set-up-single-converter): New funs. - (doc-view-pdf/ps->png): Extend for djvu. - (doc-view-document->png): Rename from doc-view-pdf->png. - (doc-view-convert-current-doc): Handle djvu. - (doc-view-insert-image, doc-view-display) - (doc-view-already-converted-p): Don't hardcode png. - (doc-view-set-doc-type): Recognize djvu docs. - -2013-01-09 Elias Pipping <pipping@lavabit.com> - - * doc-view.el: Add support for mupdf converter (bug#13164). - (doc-view-pdfdraw-program, doc-view-pdf->png-converter-function) - (doc-view-ps->png-converter-function): New config vars. - (doc-view-pdf->png-converter-ghostscript) - (doc-view-ps->png-converter-ghostscript) - (doc-view-pdf->png-converter-mupdf): New functions. - (doc-view-pdf/ps->png, doc-view-pdf->png-1): Use them. - -2013-01-09 Jürgen Hötzel <juergen@archlinux.org> - - * net/tramp.el (tramp-eshell-directory-change): Check remote-path - first in session cache: When `tramp-own-remote-path' is in - `tramp-remote-path', the remote path is only set in the session - cache. - -2013-01-09 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/trace.el (trace-function-foreground) - (trace-function-background): Doc fix. - -2013-01-09 Juri Linkov <juri@jurta.org> - - * international/mule-cmds.el (read-char-by-name): Move let-binding - of completion-ignore-case around completing-read to fix regression - exhibited by the test case `C-x 8 RET *acc TAB' and caused by - `string-match-p' using the nil value of `case-fold-search' and - `completion-ignore-case' in `completion-pcm--all-completions'. - (Bug#12615). - -2013-01-09 Glenn Morris <rgm@gnu.org> - - * progmodes/compile.el (compilation-parse-errors): - Fix typo. (Bug#13369) - -2013-01-09 Vitalie Spinu <spinuvit@gmail.com> (tiny change) - - * comint.el (comint-send-input): Check size of buffer before - waiting for process output, in case already accepted. (Bug#13290) - -2013-01-09 Paul Eggert <eggert@cs.ucla.edu> - - Spelling fixes. - * net/tramp-adb.el (tramp-adb-get-toolbox): - Fix misspelling of 'unknown'. - -2013-01-08 Juri Linkov <juri@jurta.org> - - * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate): - * progmodes/flymake.el (flymake-errline, flymake-warnline): - Use underline style wave on terminals that support it. (Bug#13000) - -2013-01-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/pcase.el (pcase--split-equal): Also take advantage if - the predicate returns nil. - - * simple.el: Use lexical-binding. - (primitive-undo): Use pcase. - (minibuffer-history-isearch-push-state): Use a closure. - -2013-01-08 Aaron S. Hawley <aaron.s.hawley@gmail.com> - - * simple.el (primitive-undo): Move from undo.c. - -2013-01-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/pcvs.el (cvs-cleanup-collection): Extend meaning of `rm-handled'. - (cvs-mode-remove-handled): Use it (bug#13380). - - * emacs-lisp/nadvice.el (advice--tweak): New function. - (advice--remove-function, advice--subst-main): Use it. - - * emacs-lisp/advice.el: Update commentary. - -2013-01-08 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-adb.el (tramp-adb-file-name-handler-alist): - Remove spurious entry. - -2013-01-08 Glenn Morris <rgm@gnu.org> - - * net/tramp.el (tramp-default-host-alist): Add :version. - -2013-01-08 Juri Linkov <juri@jurta.org> - - * info.el (Info-read-node-name-2): Don't duplicate suffixes for - single completion. (Bug#12456) - (info--manual-names): Expand node completions into an explicit list - before appending it to another list. Filter out internal buffers - with the leading space in the buffer name. (Bug#10771) - -2013-01-08 Juri Linkov <juri@jurta.org> - - * info.el (Info-read-node-name-1): Allow empty node name in (FILENAME) - that defaults to the Top node. - (Info-goto-node, Info-read-node-name): Doc fix to mention that - the short format (FILENAME) goes to the Top node. - (Info-build-node-completions): Rename arg `file' to `filename'. - (Bug#13365) - -2013-01-07 Bastien Guerry <bzg@gnu.org> - - * menu-bar.el (menu-bar-search-documentation-menu): - Use `apropos-user-option' and fix the help message. - -2013-01-07 Bastien Guerry <bzg@gnu.org> - - * apropos.el (apropos-do-all): Update docstring. - (apropos-user-option-button): New face. - (apropos-user-option): Rename from `apropos-variable' and update - docstring. - (apropos-variable): Rewrite, now show all variables by default. - (apropos-print): Mention "User option" instead of "Variable" when - printing doc for user options. (Bug#13276) - -2013-01-07 Jürgen Hötzel <juergen@archlinux.org> - - * net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls): - Handle filename correctly, when parsing "source -> target" symlink - output. - (tramp-adb-handle-set-file-times): New defun. - -2013-01-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el (ad-activate-advised-definition): Refresh the - advice list when the interactive-spec of ad-Advice-* changes. - -2013-01-07 Katsumi Yamaoka <yamaoka@jpl.org> - - * wid-edit.el (widget-default-get): Work for inlined elements. - (Bug#12670) - -2013-01-07 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-default-host-alist): New defcustom. - (tramp-find-host): Use it. - (tramp-eshell-directory-change): Move from tramp-sh.el. Add to - `eshell-directory-change-hook'. - - * net/tramp-adb.el (top): Add adb specific entry in - `tramp-default-host-alist'. - (tramp-adb-file-name-host): Remove function. - (tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection): - Use `tramp-file-name-host' instead of `tramp-adb-file-name-host'. - - * net/tramp-sh.el: Move eshell integration code to tramp.el. - -2013-01-06 Jürgen Hötzel <juergen@archlinux.org> - - * net/tramp-adb.el (tramp-methods): Add `tramp-tmpdir' entry. - -2013-01-06 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): The file size can - consist of more than one digit. - (tramp-adb-file-name-handler-alist): - Use `tramp-handle-file-exists-p' consistently. - (tramp-adb-file-name-handler): Don't tweak `tramp-default-host'. - (tramp-adb-handle-file-exists-p): Remove function. - (tramp-adb-file-name-host): New defun. - (tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection): - Use it. - (tramp-adb-maybe-open-connection): Set "remote-path" property. - -2013-01-06 Chong Yidong <cyd@gnu.org> - - * vc/vc.el (vc-next-action): Detect buffer modifications - conflicting with locking VCS operation (Bug#11490). - - * vc/vc-hooks.el (vc-after-save): DTRT for locking VCSes. - -2013-01-05 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls): - (tramp-adb-handle-directory-files-and-attributes): Fix typos. - -2013-01-05 Jürgen Hötzel <juergen@archlinux.org> - - * net/tramp-adb.el (tramp-adb-handle-file-attributes): More robust - parsing of ls output using regular expression (handle filenames - with spaces). Use virtual device number. - (tramp-do-parse-file-attributes-with-ls): New defun (Code - cleanup). - -2013-01-04 Daiki Ueno <ueno@gnu.org> - - * epg.el: Silence byte-compiler warnings. - (epg--start): Use delete-char instead of delete-backward-char. - (epg-wait-for-completion): Pass FRAME arg to redraw-frame. - -2013-01-04 Daiki Ueno <ueno@gnu.org> - - * epg.el (epg--start): Don't call "tty" program on W32 platforms. - Suggested by Eli Zaretskii <eliz@gnu.org>. - -2013-01-04 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-set-file-uid-gid): UID and GID must be - non-negative integers. Otherwise, the default values are used. - (tramp-convert-file-attributes): Convert uid and gid to integers. - -2013-01-04 Glenn Morris <rgm@gnu.org> - - * term.el (term-handle-colors-array): Ensure face attributes - are fully specified, not nil. (Bug#13337) - - * term.el (term-default-fg-color, term-default-bg-color): - Fix custom type. - - * progmodes/etags.el (tags-compression-info-list): Doc fix. - (tag-find-file-of-tag-noselect): Check auto-compression-mode - rather than 'jka-compr being loaded. (Bug#13338) - -2013-01-04 Wesley Dawson <whd@lavabit.com> (tiny change) - - * icomplete.el (icomplete-completions): - Honor icomplete-prospects-height once more following - 2012-11-29 changes. (Bug#13224) - -2013-01-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (internal--called-interactively-p--get-frame): Find aliases - of called-interactively-p as well (bug#13237). - - * view.el (view--enable, view--disable): Rename from view-mode-enable - and view-mode-disable and assume it's called from view-mode. - (view-mode-enable, view-mode-disable): Redefine as obsolete - compatibility layer above view-mode. - (view-mode-enter): Call `view-mode'. - - * files.el (after-find-file): Call `view-mode'. - - * doc-view.el (doc-view-scale-internally): New var. - (doc-view-enlarge, doc-view-insert-image): Obey it. - -2013-01-03 Daiki Ueno <ueno@gnu.org> - - * epg.el (epg--start): Ignore errors when /dev/fd/0 does not - exist. (Bug#13344) - -2013-01-03 Glenn Morris <rgm@gnu.org> - - * mail/rmail.el (rmail-set-header-1): Ignore case. - Handle multi-line headers. (Bug#13330) - - * progmodes/make-mode.el (makefile-fill-paragraph): Add doc. - Handle paragraph starting at beginning of buffer. - - * subr.el (eval-after-load): Don't purecopy the form, so that it - can be nconc'd later on; reverts 2009-11-11 change. (Bug#13331) - - * emacs-lisp/byte-run.el (defun): Place cl declarations - after any interactive spec. (Bug#13265) - -2013-01-02 Andreas Schwab <schwab@linux-m68k.org> - - * emacs-lisp/byte-run.el (defmacro): Use same argument parsing as - defun. Don't check for DECL if DOCSTRING isn't a string. - (defun): Likewise. - -2013-01-02 Glenn Morris <rgm@gnu.org> - - * eshell/em-cmpl.el (eshell-pcomplete): - More thoroughly imitate pcomplete. (Bug#13293) - - * files.el (parse-colon-path): Doc fix. (Bug#12351) - Return nil for empty path elements. (Bug#13296) - -2013-01-02 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-nav-end-of-statement): Rewrite in - order to improve efficiency (Based on Daniel Colascione's - <dancol@dancol.org> patch). (Bug#13182) - -2013-01-02 Glenn Morris <rgm@gnu.org> - - * vc/log-edit.el (log-edit-header-contents-regexp): Add doc string. - -2013-01-02 Andreas Schwab <schwab@linux-m68k.org> - - * emacs-lisp/byte-run.el (defmacro): Don't lose final nil if - neither DOCSTRING nor DECL was given. (Bug#13316) - -2013-01-02 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-set-file-acl): Add argument to - `error' call. - (tramp-do-copy-or-rename-file): Ignore errors when calling - `set-file-extended-attributes'. - - * net/tramp-smb.el (tramp-smb-file-name-handler-alist): - Add handler for `file-acl'. - (tramp-smb-handle-file-acl): New defun. - -2013-01-02 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/README: Mention ISO 8601 week-numbering dates. - -2013-01-01 Martin Rudalics <rudalics@gmx.at> - - * view.el (view-mode-enable): New argument run-view-mode-hook. - Run view-mode-hook only when it's non-nil (Bug#13315). - (view-mode-enter): Call view-mode-enable with run-view-mode-hook - argument t. - -2012-12-31 Jürgen Hötzel <juergen@archlinux.org> - - * net/tramp-adb.el (tramp-adb-maybe-open-connection): Handle errors - (No device connected, invalid device name). (Bug #13299) - -2012-12-31 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-resizable--p): Rename to window-resizable-p. - (window-resize-no-error): New function. - - * mail/rmail.el (rmail-maybe-display-summary): Restore behavior - broken in fix from 2012-12-28. - -2012-12-31 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (special-form-p): Don't signal errors on undef aliases. - -2012-12-31 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-forms.el (math-parse-date): Try using - `math-parse-iso-date' when it looks like it might be needed. - Allow times of 24:00. - (math-parse-date-validate, math-parse-iso-date-validate): Allow times - of 24:00. - -2012-12-30 Glenn Morris <rgm@gnu.org> - - * net/mairix.el (rmail, rmail-summary-displayed, rmail-summary): - Remove unnecessary/buggy autoloads (missing interactive). (Bug#13294) - (rmail-summary-displayed, rmail-summary): Declare. - (mairix-rmail-display): Just require rmail. - -2012-12-30 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/package.el (package-untar-buffer): Improve integrity - check for the tarball contents. - -2012-12-30 Matt Fidler <matt.fidler@alcon.com> (tiny change) - - * emacs-lisp/package.el (package-untar-buffer): Handle problematic - tarfile content listings (Bug#13136). - -2012-12-30 Mark Lillibridge <mark.lillibridge@hp.com> - - * mail/rmailmm.el (rmail-insert-mime-forwarded-message): - Insert the undecoded text of the message being forwarded. (Bug#9521) - -2012-12-30 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-set-file-uid-gid): Convert UID and GID to - integers, if they are real numbers. (Bug#13282) - - * net/tramp-sh.el (tramp-sh-handle-set-file-selinux-context): - Return `t' on success. - - * net/tramp-smb.el (tramp-smb-file-name-handler-alist): - Add handler for `set-file-selinux-context'. - -2012-12-29 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-file-acl): Suppress basic attributes. - (tramp-sh-handle-set-file-acl): Return `t' on success. - -2012-12-29 Eli Zaretskii <eliz@gnu.org> - - * files.el (backup-buffer-copy, basic-save-buffer-2): - If set-file-extended-attributes fails, fall back on set-file-modes - instead of signaling an error. (Bug#13298) - (basic-save-buffer): Likewise. - -2012-12-29 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: Support other commands triggering - python-indent-line so indentation cycling continues to work. - (python-indent-trigger-commands): New defcustom. - (python-indent-line): Use it. - -2012-12-29 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-shell-send-region): Add blank lines - for non sent code so backtraces remain correct. - -2012-12-29 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: Remove cl dependency. - (python-syntax-count-quotes): Replace incf call. - (python-fill-string): Replace setf call. - -2012-12-29 Damien Cassou <damien.cassou@gmail.com> - - * info.el (info-other-window): New arg, for consistency with info. - -2012-12-28 Martin Rudalics <rudalics@gmx.at> - - * mail/rmail.el (rmail-maybe-display-summary): - Rewrite (Bug#13066). - -2012-12-28 Andreas Schwab <schwab@linux-m68k.org> - - * epg.el (epg--start): Modify process-environment locally. - -2012-12-28 Daiki Ueno <ueno@gnu.org> - - * epg.el: Support pinentry-curses. - Suggested by Werner Koch in - <http://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00755.html>. - (epg-agent-file, epg-agent-mtime): New variable. - (epg--start): Record the modified time of gpg-agent socket file, - to restore Emacs frame after pinentry-curses termination. - (epg-wait-for-completion): Restore Emacs frame here. - -2012-12-27 Juri Linkov <juri@jurta.org> - - * info.el (Info-file-completions): New variable. - (Info-read-node-name-1): Complete node names in the Info file - when a file name is given. Call `Info-build-node-completions' - with a file name. - (Info-build-node-completions): Add new arg `file'. When it is - non-nil, visit it in a temporary buffer and cache its completions in - `Info-current-file-completions'. Move most of the function body to - `Info-build-node-completions-1'. - (Info-build-node-completions-1): New function with the body from - `Info-build-node-completions'. (Bug#12456) - -2012-12-27 Juri Linkov <juri@jurta.org> - - * frame.el (frame-maximization-style): Remove user option. - (cycle-frame-maximized): Remove function. - (toggle-frame-maximized): Rewrite and bind to M-<f10>. - (toggle-frame-fullscreen): New command bound to <f11> instead of - `toggle-frame-maximized'. - http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00703.html - -2012-12-27 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-handle-file-accessible-directory-p): New defun. - - * net/tramp-adb.el (tramp-adb-file-name-handler-alist): - * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): - * net/tramp-sh.el (tramp-sh-file-name-handler-alist): Add handler - for `file-accessible-directory-p'. (Bug#13275) - -2012-12-27 Sam Steingold <sds@gnu.org> - - * progmodes/cperl-mode.el (cperl-calculate-indent): Do not stagger - continuations, see <http://stackoverflow.com/questions/3582436>. - -2012-12-27 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-indent-beg-re): Only allow "class", - "module" and "def" to have indentation before them. - Regression from 2012-09-07T04:15:56Z!dgutov@yandex.ru (see the new test). - - * progmodes/ruby-mode.el: Bump the version to 1.2 (Bug#13200). - -2012-12-27 Alan Mackenzie <acm@muc.de> - - Speed up fontification where there's large brace blocks. - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Add a limit - to a call of c-beginning-of-decl-1. - -2012-12-27 Vitalie Spinu <spinuvit@gmail.com> (tiny change) - - * comint.el (comint-adjust-window-point): New function. - (comint-postoutput-scroll-to-bottom): - Call comint-adjust-window-point (Bug#13248). - -2012-12-26 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (auto-mode-alist): `purecopy' the - Rakefile regexp. - (auto-mode-alist): Associate .gemspec files with ruby-mode - (https://bugs.ruby-lang.org/issues/5453). - -2012-12-26 Jürgen Hötzel <juergen@archlinux.org> - - * net/tramp-adb.el (tramp-adb-get-ls-command): New defun. - Suppress coloring, if possible (required for BusyBox based systems like - CyanogenMod). - (tramp-adb-handle-file-attributes) - (tramp-adb-handle-insert-directory) - (tramp-adb-handle-file-name-all-completions): Use it. - (tramp-adb-get-toolbox): New defun. Check for remote shell - implementation (BusyBox or Toolbox). - -2012-12-24 Constantin Kulikov <zxnotdead@gmail.com> (tiny change) - - * startup.el (initial-buffer-choice): Allow function as value - (Bug#13251). - (command-line-1): Handle case where initial-buffer-choice - specifies a function. - * server.el (server-execute): Handle case where - initial-buffer-choice specifies a function. - -2012-12-24 Lars Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-try-auth-method): Refactored out into - its own function. - (smtpmail-try-auth-methods): Forget the user name/password if the - login is unsuccessful (bug#12424). - -2012-12-22 Michael Albinus <michael.albinus@gmx.de> - - * notifications.el (notifications-notify): Protect body with - `with-demoted-errors'. - - * net/tramp-adb.el (tramp-adb-maybe-open-connection): - Check properties of remote device. Restart connection, if there is a - change. - -2012-12-21 Chong Yidong <cyd@gnu.org> - - * sort.el (sort-subr): Doc fix (Bug#13056). - -2012-12-21 Bastien Guerry <bzg@gnu.org> - - * progmodes/etags.el (tags-search): Fix typo. Bug #13232. - -2012-12-21 Michael Albinus <michael.albinus@gmx.de> - - * simple.el (process-file): Overwrite stderr file, if exists. - -2012-12-21 Daiki Ueno <ueno@gnu.org> - - * epg.el (epg--start): Print GPG_AGENT_INFO in the debug buffer. - (epg-error): Set `error-message' property. - -2012-12-21 Chong Yidong <cyd@gnu.org> - - * international/mule-cmds.el (read-char-by-name): Signal an error - if the user does not supply a valid character (Bug#13177). - - * simple.el (transpose-subr-1): Preserve marker positions by - changing the insertion sequence (Bug#13122). - -2012-12-21 Kelly Dean <kellydeanch@yahoo.com> (tiny change) - - * simple.el (kill-region): Deactivate mark even for empty regions - (Bug#13169). - -2012-12-21 Chong Yidong <cyd@gnu.org> - - * help-fns.el (describe-variable): Make sure we get the right - buffer name (Bug#13105). Suggested by Kelly Dean. - -2012-12-20 Michael R. Mauger <mmaug@yahoo.com> - - * comint.el (comint-redirect-previous-input-string): New variable. - (comint-redirect-setup, comint-redirect-cleanup) - (comint-redirect-preoutput-filter): Use it. Fixes redirection bug. - (comint-redirect-preoutput-filter): Fix verbose message. - -2012-12-20 Michael Albinus <michael.albinus@gmx.de> - - * progmodes/grep.el (rgrep): Escape command line. Sometimes, it - is too long for Tramp. See discussion in - <http://thread.gmane.org/gmane.emacs.tramp/8233/focus=8244>. - - * progmodes/compile.el (compilation-start): Remove line escape - template. - -2012-12-20 Dmitry Antipov <dmantipov@yandex.ru> - - * vc/ediff-ptch.el (ediff-map-patch-buffer): Use `point-min-marker'. - Adjust comment. - -2012-12-19 Jonas Bernoulli <jonas@bernoul.li> - - * emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the - following non-comment text (bug#13207). - (lm-header-multiline): Continuation lines need to be indented more than - the first line. - (lm-homepage): New function. - (lm-with-file): Don't be confused if narrowing is in effect. - -2012-12-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/diff-mode.el (diff-post-command-hook): Don't ignore changes at the - very beginning of a hunk (e.g. killing the first line). - -2012-12-19 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-file-acl): Delete empty lines - and text properties from returned ACL string. - (tramp-sh-handle-set-file-acl): Do not use additional parentheses - for "setfacl" command. - -2012-12-18 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-error-with-buffer): Give a hint to use - `tramp-cleanup-this-connection', when the process has died. - (Bug#13151) - -2012-12-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * icomplete.el (icomplete-completions): Also use … to truncate prefix. - -2012-12-17 Kevin Ryde <user42@zip.com.au> - - * files.el (auto-save-file-name-p): Use \` and \' (bug#13186). - -2012-12-17 Michael Albinus <michael.albinus@gmx.de> - - Add support for preserving ACL entries of files. - - * net/tramp.el (tramp-file-name-for-operation): Add `file-acl' and - `set-file-acl' handlers. - - * net/tramp-adb.el (tramp-adb-handle-copy-file): - Handle PRESERVE-EXTENDED-ATTRIBUTES. - - * net/tramp-compat.el (tramp-compat-copy-file): - Handle PRESERVE-EXTENDED-ATTRIBUTES. - - * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): - Add `file-acl' and `set-file-acl' handlers. - (tramp-gvfs-handle-copy-file): - Handle PRESERVE-EXTENDED-ATTRIBUTES. - (tramp-gvfs-handle-file-acl, tramp-gvfs-handle-set-file-acl): - New defuns. - - * net/tramp-sh.el (tramp-sh-file-name-handler-alist): - Add `file-acl' and `set-file-acl' handlers. - (tramp-remote-acl-p, tramp-sh-handle-file-acl) - (tramp-sh-handle-set-file-acl): New defuns. - (tramp-sh-handle-copy-file, tramp-do-copy-or-rename-file): - Handle PRESERVE-EXTENDED-ATTRIBUTES. - - * net/tramp-smb.el (tramp-smb-file-name-handler-alist): - Add `file-acl' and `set-file-acl' handlers. - (tramp-smb-handle-copy-file): Handle PRESERVE-EXTENDED-ATTRIBUTES. - -2012-12-17 Kelly Dean <kellydeanch@yahoo.com> (tiny change) - - * help-macro.el (make-help-screen): Instead of switch-to-buffer - use pop-to-buffer with NORECORD argument t. As buffer name, use - *Metahelp* with a leading space (Bug#13190). - -2012-12-16 Romain Francoise <romain@orebokech.com> - - * files.el (file-extended-attributes) - (set-file-extended-attributes): New functions. - (backup-buffer): Use them to handle both SELinux context and ACL - entries. - (backup-buffer-copy): Work with an alist of extended attributes, - rather than an SELinux context. - (basic-save-buffer-2): Ditto. - -2012-12-16 Timo Myyrä <timo.myyra@gmail.com> - - * battery.el (battery-bsd-apm): New function. - -2012-12-16 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc.el (calc-standard-date-formats): Adjust one of the - standard date formats. - -2012-12-15 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-mode-map): Bind `C-x 8 RET' to - `isearch-insert-char-by-name'. - (with-isearch-suspended): New defmacro with body mostly from - `isearch-edit-string' except the part that sets - `isearch-new-string' and `isearch-new-message'. - (isearch-edit-string): Use new macro `with-isearch-suspended' with - body that sets `isearch-new-string' and `isearch-new-message'. - (isearch-insert-char-by-name): New command. - * international/mule-cmds.el (read-char-by-name): Let-bind - `enable-recursive-minibuffers' to t. - http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00234.html - -2012-12-15 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-delete-char, isearch-del-char): Doc fix. - (Bug#13175) - -2012-12-15 Christopher Schmidt <christopher@ch.ristopher.com> - - * dired-x.el (dired-guess-shell-command): Put colon at the end of - the prompt. (Bug#13045) - -2012-12-14 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/macroexp.el (macroexp--warn-and-return): - Try to include filename in non-bytecomp warning. (Bug#13132) - -2012-12-14 Paul Eggert <eggert@cs.ucla.edu> - - Fix permissions bugs with setgid directories etc. (Bug#13125) - * files.el (backup-buffer): Don't rely on 9th output of - file-attributes, as it's now a placeholder. Instead, use the new - optional arg of file-ownership-preserved-p. - (file-ownership-preserved-p): New optional arg GROUP. - Fix mishandling of setuid directories that would cause this - function to return t when it should have returned nil. - Document what happens if the file does not exist, and when - it's not known whether the ownership will be preserved. - * net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p): - Likewise. - (tramp-get-local-gid): Use group-gid for integer, as that's - faster and more reliable. - -2012-12-14 Julien Danjou <julien@danjou.info> - - * progmodes/sql.el (sql-mode-postgres-font-lock-keywords): - Update keywords list, data type and PL/pgSQL. - -2012-12-14 Dave Abrahams <dave@boostpro.com> - - * vc/ediff-util.el (ediff-buffer-type): New function. - (ediff-clone-buffer-for-current-diff-comparison): Compute the buf-type - rather than taking it as as argument. - (ediff-inferior-compare-regions): Adjust calls accordingly (bug#11319). - -2012-12-14 Ryan Crum <ryan.crum@eleostech.com> - - * json.el: Add pretty-print option (bug#12634). - (json-encoding-separator, json-encoding-default-indentation) - (json--encoding-current-indentation, json-encoding-pretty-print) - (json-encoding-lisp-style-closings): New vars. - (json--with-indentation): New macro. - (json-encode-hash-table, json-encode-alist, json-encode-plist) - (json-encode-array): Use it to obey json-encoding-pretty-print. - (json-pretty-print-buffer, json-pretty-print): New commands. - -2012-12-14 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-syntax-propertize-function): - Extract `ruby-syntax-propertize-expansions'. - (ruby-syntax-propertize-expansions): Only change syntax on - certain string delimiters, to punctuation. This way the common - functions like forward-word and thing-at-point still work. - (ruby-match-expression-expansion): Improve readability. - (ruby-block-contains-point): New function. - (ruby-add-log-current-method): Handle several edge cases. - -2012-12-13 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lisp/edebug.el (edebug-unload-function): Make sure that - unload-feature finishes even when aborting an ongoing edebug session. - Also, do not worry about edebug-mode, unload-feature takes care of it. - -2012-12-13 Andreas Schwab <schwab@suse.de> - - * net/tls.el (tls-program): Update customize type. - -2012-12-13 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lisp/edebug.el (edebug--require-cl-read): New function. - (edebug-setup-hook, cl-read-load-hooks): Use it. - (edebug-unload-function): New function. (Bug#13163) - -2012-12-13 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-adb.el (tramp-adb-file-name-p): Make it a defsubst. - Otherwise, there could be errors in autoloading. (Bug#13151) - -2012-12-13 Jürgen Hötzel <juergen@archlinux.org> - - * net/tramp-adb.el (tramp-adb-wait-for-output): Remove spurious " ^H" - sequences. - -2012-12-13 Alan Mackenzie <acm@muc.de> - - Make CC Mode not hang when _some_ lines end in CRLF. Bug #11841. - * progmodes/cc-engine.el (c-backward-comments): Add code to work - around `forward-comment' not recognizing ^M as whitespace. - -2012-12-13 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-skeleton-class) - (python-skeleton-def): Do not add space after defun name. - -2012-12-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl.el (letf): Make it an alias of cl-letf. - (cl--symbol-function): Remove (now that funbound is like nil). - -2012-12-12 Glenn Morris <rgm@gnu.org> - - * button.el (button--area-button-p): Fix typo. - -2012-12-12 Sam Steingold <sds@gnu.org> - - * frame.el (frame-maximization-style): New user option. - (toggle-frame-maximized): Toggle frame maximization according to - `frame-maximization-style', bound to <f11>. - (cycle-frame-maximized): Cycle between all maximization styles and - non-maximized frame, bound to shift-<f11>. - -2012-12-12 David Cadé <codename68@gmail.com> - - * mpc.el (mpc-format): Use truncate-string-to-width (bug#13143). - -2012-12-12 Jonas Bernoulli <jonas@bernoul.li> - - * lisp/emacs-lisp/eieio.el: Prettier object pretty-printing (bug#13115). - (eieio-override-prin1): Don't quote kewords and booleans. - (object-write) <eieio-default-superclass>: Don't put closing parens - on new line, avoid needless empty lines, align values that are objects - with the slot keyword (instead of beginning on the same line). - (eieio-list-prin1): Align value with slot keyword; increase - eieio-print-depth before printing members of the list. - -2012-12-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * mail/emacsbug.el (report-emacs-bug): Move the intangible text to - a display text-property. - (report-emacs-bug-hook): Don't bother deleting it any more. - - * hilit-chg.el (highlight-save-buffer-state): Delete. - Use with-silent-modifications instead. - (hilit-chg-set-face-on-change): Only fixup the text that's modified. - - * button.el: Handle buttons in display text-properties. - (button--area-button-p, button--area-button-string): - Use (STRING . STRING-POS) representation instead of just STRING. - -2012-12-11 Eli Zaretskii <eliz@gnu.org> - - * makefile.w32-in (compile4-SH): Fix a typo that caused term - subdirectory be skipped. - -2012-12-11 Glenn Morris <rgm@gnu.org> - - * net/rcirc.el (rcirc-urls, rcirc-condition-filter): Doc fixes. - - * progmodes/f90.el (f90-line-continued, f90-indent-region): - Treat preprocessor lines embedded in continuations like comments. - (f90-indent-line): Special-case preprocessor lines. (Bug#13138) - -2012-12-11 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc.el (calc-standard-date-formats): Add more date - formats. - * calc/calc-forms.el (math-parse-iso-date): New function. - (math-parse-date): Use `math-parse-iso-date' when appropriate. - (math-parse-iso-date-validate): Add extra error checking. - (calc-date-notation): Add ability to access new date formats. - -2012-12-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * hi-lock.el (hi-lock--regexps-at-point): Fix boundary case for - font-lock as well as when there's no text-property. - -2012-12-10 Jambunathan K <kjambunathan@gmail.com> - - * hi-lock.el: Refine the choice of default face. - (hi-lock-keyword->face): New function. Use it wherever we used - cadadadr instead. - (hi-lock--regexps-at-point): Ignore faces that can't come from hi-lock. - (hi-lock--last-face): Remove var. - (hi-lock--unused-faces): New var to replace it. - (hi-lock-read-face-name): Use/maintain it. - (hi-lock-unface-buffer): Maintain it. Fix error for the C-u case. - (hi-lock-set-pattern): Ignore new rule if it has the same regexp even - if it has another face. - -2012-12-10 Eli Zaretskii <eliz@gnu.org> - - * subr.el (w32notify-handle-event): New function. - (inotify-handle-event): Doc fix. - -2012-12-10 Rüdiger Sonderfeld <ruediger@c-plusplus.de> - - * subr.el (inotify-event-p, inotify-handle-event): New functions. - -2012-12-10 Dani Moncayo <dmoncayo@gmail.com> - - * simple.el (just-one-space): Doc fix. - -2012-12-10 Eli Zaretskii <eliz@gnu.org> - - * textmodes/texinfo.el (texinfo-enable-quote-envs): Add "smallexample". - -2012-12-10 Le Wang <l26wang@gmail.com> - - * hilit-chg.el (hilit-chg-set-face-on-change): Don't burp in - narrowed buffer (bug#12361). - -2012-12-10 Juanma Barranquero <lekktu@gmail.com> - - * vc/vc-hooks.el (vc-state): Doc fix. - -2012-12-10 Glenn Morris <rgm@gnu.org> - - * mail/rmail.el (rmail-maybe-display-summary): - Preserve buffer, in case select-window changes it. (Bug#13066) - -2012-12-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl.el, emacs-lisp/cl-lib.el: Move cl-unload-function and - cl-load-hook where they belong. - -2012-12-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-lib.el (cl-declaim): Paren typo. - -2012-12-09 Eli Zaretskii <eliz@gnu.org> - - Parallelize byte compilation on MS-Windows. - * makefile.w32-in (WINS_BASIC1, WINS_BASIC2, WINS_BASIC3) - (WINS_BASIC4): New variables, subdivide subdirectories into 4 parts. - (WINS_BASIC): Define as concatenation of the above. - (compile): Subdivide into 4 separate and independent jobs that can - be run in parallel. - (compile0-CMD, compile0-SH): New targets for compiling - COMPILE_FIRST files, which are prerequisites for the rest of the - byte-compilation. - (compile1-CMD, compile2-CMD, compile3-CMD, compile4-CMD): - New targets for parallel compilation with cmd.exe. - (compile1-SH, compile2-SH, compile3-SH, compile4-SH): Ditto for - compiling under a Unixy shell. - -2012-12-09 Chong Yidong <cyd@gnu.org> - - * simple.el (set-mark-default-inactive): Delete this - accidentally-introduced option. - (set-mark-command, exchange-point-and-mark): Remove calls. - -2012-12-09 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/lisp-mode.el (eval-defun-1): Doc fix. - Respect a defcustom's :set function, if appropriate. (Bug#109) - (eval-defun): Doc fix. - -2012-12-08 Juri Linkov <juri@jurta.org> - - * info.el (Info-copy-current-node-name, Info-breadcrumbs) - (Info-fontify-node, Info-bookmark-make-record): Remove the - file extension from Info-current-file (Bug#13016). - -2012-12-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * hi-lock.el (hi-lock-unface-buffer): If there's no matching regexp at - point, still provide some default. - (hi-lock--regexps-at-point): Don't enforce a "hi-lock-" prefix on face - names, since we don't use it right now. Actually return the list. - (hi-lock-file-patterns, hi-lock-interactive-patterns): Use defvar-local. - -2012-12-07 Chong Yidong <cyd@gnu.org> - - * novice.el (disabled-command-function): Remove a spurious help - xref (Bug#13043). Suggested by Kelly Dean. - - * subr.el (text-clone-maintain): Fix clone overlay deletion when a - syntax is specified (Bug#13025). - - * info.el (Info-set-mode-line): Remove the file extension from - Info-current-file if there is one (Bug#13016). - -2012-12-07 Glenn Morris <rgm@gnu.org> - - * mail/rmail.el (rmail-mime-decoded): New permanent local. - (rmail-show-message-1): Set rmail-mime-decoded when appropriate. - * mail/rmailedit.el (rmail-cease-edit): Respect rmail-mbox-format - and rmail-mime-decoded. (Bug#9841) - - * mail/unrmail.el (unrmail-mbox-format): New option. (Bug#6574) - (batch-unrmail, unrmail): Doc fixes. - (unrmail): Respect unrmail-mbox-format. - * mail/rmail.el (rmail-mbox-format): New option. - (rmail-show-message-1): Respect rmail-mbox-format. - -2012-12-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl-tagbody): New macro. - -2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> - - Further cleanup of the "cl-" namespace. Fit CL in 80 columns. - * emacs-lisp/cl-macs.el (cl--pop2, cl--optimize-safety) - (cl--optimize-speed, cl--not-toplevel, cl--parse-loop-clause) - (cl--expand-do-loop, cl--proclaim-history, cl--declare-stack) - (cl--do-proclaim, cl--proclaims-deferred): Rename from the "cl-" prefix. - (cl-progv): Don't rely on dynamic scoping to find the body. - * emacs-lisp/cl-lib.el (cl--optimize-speed, cl--optimize-safety) - (cl--proclaims-deferred): Rename from the "cl-" prefix. - (cl-declaim): Use backquotes. - * emacs-lisp/cl-extra.el (cl-make-random-state, cl-random-state-p): - Use "cl--" prefix for the object's tag. - - * ses.el: Use advice-add/remove. - (ses--advice-copy-region-as-kill, ses--advice-yank): New functions. - (copy-region-as-kill, yank): Use advice-add. - (ses-unload-function): Use advice-remove. - -2012-12-06 Jonas Bernoulli <jonas@bernoul.li> - - * button.el: Make them work in header-lines (bug#12817). - (button-map): Add bindings for header-line and mode-line use. - (button-get, button-put, button-label): `button' may now be a string. - (button-activate): Don't make it a defsubst. - (button--area-button-p, button--area-button-string): New functions. - (make-text-button): Fix the return value when `beg' was a string. - (push-button): Handle the mode-line case. - -2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/sql.el: Use cl-lib and lexical-binding; various cleanup. - (sql-signum): Remove. Use `cl-signum' instead. - (sql-read-passwd): Remove; use read-passwd instread. - (sql-get-login-ext): Use read-string. - (sql-get-login): Use dolist and pcase. - (sql--completion-table): Rename from sql-try-completion. - Use complete-with-action. - (sql-mode): Don't change abbrev-all-caps globally. - (sql-connect): Don't rely on dynamic scoping for `new-name'. - (sql-postgres-completion-object): Initialize vars in their `let'. - (sql-comint-sybase, sql-comint-sqlite, sql-comint-mysql) - (sql-comint-solid, sql-comint-ms, sql-comint-postgres) - (sql-comint-interbase): Use a single append, without setq. - (sql-comint-linter): Same, and unwind-protect the LINTER_MBX var. - - * hi-lock.el: Rework the default face and the serialize regexp code. - (hi-lock--auto-select-face-defaults): Remove. - (hi-lock-string-serialize-serial): Remove. - (hi-lock--hashcons-hash): Rename from hi-lock-string-serialize-hash; - make weak. - (hi-lock--hashcons): Rename from hi-lock-string-serialize, return an - equal string. - (hi-lock-set-pattern): Adjust accordingly. - (hi-lock--regexps-at-point): Simplify accordingly. - (hi-lock--auto-select-face-defaults): Remove. - (hi-lock--last-face): New var to replace it. - (hi-lock-read-face-name): Rewrite (bug#11095). - (hi-lock-unface-buffer): Arrange for the face to be the next default. - -2012-12-06 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-replace-environment-variables): - Hide compiler warning. - (tramp-file-name-for-operation): Remove `executable-find', - `start-process', `call-process' and `call-process-region'. - - * net/tramp-compat.el (top): Don't require 'tramp-util and 'tramp-vc. - - * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Ensure backward - compatibility. - - * net/tramp-sh.el (top): Remove `tramp-sh-handle-call-process-region'. - -2012-12-06 Chong Yidong <cyd@gnu.org> - - * ffap.el (ffap-replace-file-component): Fix typo. - -2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/octave-mod.el (octave-mark-block): Move out of tokens and - fix open-paren-like token test (bug#12785). - -2012-12-06 Glenn Morris <rgm@gnu.org> - - * mail/rmailsum.el (rmail-new-summary): Tweak for - rmail-maybe-display-summary changing buffer. (Bug#13066) - -2012-12-06 Juri Linkov <juri@jurta.org> - - * info.el (Info-fontify-node): Don't hide the last newline. - (Bug#12272) - -2012-12-06 Katsumi Yamaoka <yamaoka@jpl.org> - - * mail/mailabbrev.el (mail-abbrev-expand-wrapper): Work in minibuffer - so as to enable message-read-from-minibuffer to expand mail aliases. - -2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuf-eldef.el (minibuf-eldef-update-minibuffer): Don't mess with - the `intangible' property. - Suggested by Christopher Schmidt <christopher@ch.ristopher.com> - -2012-12-05 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-urls): Update documentation. - (rcirc-condition-filter): New function. - (rcirc-browse-url, rcirc-markup-urls): Use only URLs before point - and exclude consecutive duplicate URLs (Bug#6082). - -2012-12-05 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): - Check return code of copy command. - - * net/tramp-adb.el (tramp-adb-sdk-dir, tramp-adb-prompt): - Use group `tramp'. Add version. - -2012-12-05 Chong Yidong <cyd@gnu.org> - - * ffap.el (ffap-url-regexp): Don't require matching at front of - string (Bug#4952). - (ffap-url-p): If only a substring matches, return that. - (ffap-url-at-point): Use the return value of ffap-url-p. - (ffap-read-file-or-url, ffap-read-file-or-url-internal) - (find-file-at-point, dired-at-point, dired-at-point-prompter) - (ffap-guess-file-name-at-point): Likewise. - (ffap-replace-file-component): Fix typo. - - * info.el (info-display-manual): Add existing Info buffers, whose - files may not be in Info-directory-list, to the completion. - (info--manual-names): New helper function. - -2012-12-05 Glenn Morris <rgm@gnu.org> - - * vc/vc-hg.el (vc-hg-resolve-when-done, vc-hg-find-file-hook): - New functions, for detecting and resolving conflicts. (Bug#10709) - -2012-12-04 Jambunathan K <kjambunathan@gmail.com> - - * hi-lock.el (hi-lock-auto-select-face): New user variable. - (hi-lock-auto-select-face-defaults): New buffer local variable. - (hi-lock-read-face-name): Honor `hi-lock-auto-select-face'. - (hi-lock-unface-buffer): Prompt user with useful defaults. - With prefix arg, unhighlight all hi-lock patterns in buffer. - -2012-12-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * obsolete/terminal.el, obsolete/longlines.el: Add obsolecence info. - -2012-12-04 Michael Albinus <michael.albinus@gmx.de> - - * Makefile.in (TRAMP_SRC): - * makefile.w32-in (TRAMP_SRC): Add tramp-adb.el. - -2012-12-04 Juergen Hoetzel <juergen@archlinux.org> - - * net/tramp-adb.el: New package. - -2012-12-04 Chong Yidong <cyd@gnu.org> - - * terminal.el: Move to obsolete/. - - * longlines.el: Move to obsolete/. - - * vc/ediff-diff.el (ediff-extract-diffs, ediff-extract-diffs3): - Remove code referring to longlines mode. - -2012-12-03 Juri Linkov <juri@jurta.org> - - * sort.el (delete-duplicate-lines): New command. (Bug#13032) - -2012-12-03 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-init-process) - (ispell-start-process, ispell-internal-change-dictionary): - Make sure personal dictionary name is expanded after initial - `default-directory' value. Use expanded strings for - keep/restart checks and for value (Bug#13019). - -2012-12-03 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-forms.el (math-date-to-iso-dt): Fix weekday number. - -2012-12-03 Leo Liu <sdl.web@gmail.com> - - * files.el (dir-locals-read-from-file): Check file non-empty - before reading. (Bug#13038) - -2012-12-03 Glenn Morris <rgm@gnu.org> - - * jka-cmpr-hook.el (jka-compr-get-compression-info): - Remove any version extension before checking filename. (Bug#13006) - (jka-compr-compression-info-list): Belated :version bump. - -2012-12-03 Chong Yidong <cyd@gnu.org> - - * simple.el (transient-mark-mode): Doc fix (Bug#11523). - - * buff-menu.el (Buffer-menu-delete-backwards, Buffer-menu-mode) - (buffer-menu): Doc fix (Bug#12294). - -2012-12-03 Roland Winkler <winkler@gnu.org> - - * calendar/diary-lib.el (diary-header-line-format): Use keybinding - of diary-show-all-entries in the diary buffer (Bug#12994). - -2012-12-03 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-perl-encode): Use "read STDIN" instead of - "<STDIN>". This is binary safe. - -2012-12-03 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-forms.el (math-absolute-from-iso-dt) - (math-date-to-iso-dt, math-parse-iso-date-validate) - (math-iso-dt-to-date): New functions. - (math-fd-iso-dt, math-fd-isoyear, math-fd-isoweek) - (math-fd-isoweekday): New variables. - (calc-date-notation, math-parse-standard-date, math-format-date) - (math-format-date-part): Add support for more formatting codes. - -2012-12-02 Dmitry Gutov <dgutov@yandex.ru> - - * vc/vc.el (vc-delete-file, vc-rename-file): Default to the - current buffer's file name when called interactively (Bug#12488). - -2012-12-02 Juri Linkov <juri@jurta.org> - - * info.el (info-display-manual): Don't clobber an existing Info - buffer (Bug#10770). Add completion (Bug#10771). - -2012-12-01 Yuya Nishihara <yuya@tcha.org> (tiny change) - - * vc/vc-hooks.el (vc-find-file-hook): Expand buffer-file-truename - before using it for comparison (Bug#5297). - -2012-12-01 Jari Aalto <jari.aalto@cante.net> - - * textmodes/css-mode.el (css-current-defun-name): New function. - (css-mode): Use it. - - * textmodes/sgml-mode.el (html-current-defun-name): New function. - (html-mode): Use it. - -2012-12-01 Chong Yidong <cyd@gnu.org> - - Modularize add-log-current-defun (Bug#2224). - Suggested by Jari Aalto. - - * vc/add-log.el (add-log-current-defun-function): Doc fix. - (add-log-current-defun): Move mode-specific code to other files. - (add-log-lisp-like-modes, add-log-c-like-modes) - (add-log-tex-like-modes): Variables deleted. - - * emacs-lisp/lisp-mode.el (lisp-current-defun-name): New. - (lisp-mode-variables): Use it. - - * progmodes/cc-mode.el (c-common-init): - * progmodes/cperl-mode.el (cperl-mode): Set a value for - add-log-current-defun-function. - - * progmodes/m4-mode.el (m4-current-defun-name): New function. - (m4-mode): Use it. - - * progmodes/perl-mode.el (perl-current-defun-name): New. - (perl-mode): Use it. - - * progmodes/scheme.el (scheme-mode-variables, dsssl-mode): - Use lisp-current-defun-name. - - * textmodes/tex-mode.el (tex-current-defun-name): New. - (tex-common-initialization): Use it. - - * textmodes/texinfo.el (texinfo-current-defun-name): New. - (texinfo-mode): Use it. - -2012-12-01 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/lisp-mode.el (lisp-mode-variables, lisp-mode): - * progmodes/autoconf.el (autoconf-mode): - * progmodes/js.el (js-mode): - * progmodes/make-mode.el (makefile-mode, makefile-makepp-mode) - (makefile-bsdmake-mode, makefile-imake-mode, makefile-browse): - * progmodes/perl-mode.el (perl-mode): - * progmodes/sh-script.el (sh-mode, sh-set-shell): - * textmodes/css-mode.el (css-mode): - * textmodes/sgml-mode.el (html-mode, sgml-mode) - (sgml-tags-invisible, sgml-guess-indent): - * textmodes/tex-mode.el (tex-common-initialization) - (latex-complete-bibtex-keys, tex-shell, tex-main-file) - (doctex-mode, plain-tex-mode, latex-mode): - * textmodes/texinfo.el (texinfo-mode): Use setq-local. - -2012-12-01 Kirk Kelsey <kirk.kelsey@0x4b.net> - - * vc/vc-hg.el (vc-hg-next-revision): - Ensure use of default "tip" output format. (Bug#6968) - -2012-12-01 Kim F. Storm <storm@cua.dk> - - * startup.el (fancy-startup-tail): Add a clickable link - (Bug#2176). - -2012-12-01 Chong Yidong <cyd@gnu.org> - - * startup.el (fancy-startup-tail): Improve the message about - auto-save files (Bug#2176). - - * files.el (recover-session): Improve the descriptive message, and - use substitute-command-keys. - -2012-12-01 Glenn Morris <rgm@gnu.org> - - * ido.el (ido-file-internal): - Handle other-window, other-frame for dired. (Bug#13036) - -2012-11-30 Glenn Morris <rgm@gnu.org> - - * icomplete.el (icomplete-separator): Fix :version. - -2012-11-30 Chong Yidong <cyd@gnu.org> - - * shell.el (shell): For C-u M-x shell, use an inactive shell - buffer as the default (Bug#1975). - (shell-apply-ansi-color, shell-reapply-ansi-color): New functions. - (shell-mode): Use them to reapply ansi colorization if Shell mode - is re-enabled. - -2012-11-30 Yuriy Vostrikov <delamonpansie@gmail.com> (tiny change) - - * vc/vc-git.el (vc-git-command): Disable the pager (Bug#6137). - -2012-11-30 Samuel Bronson <naesten@gmail.com> - - * progmodes/grep.el (grep-compute-defaults): Do not pass the -e - flag to xargs, for compatibility with BSD xargs (Bug#11703). - -2012-11-30 Toru TSUNEYOSHI <t_tuneyosi@hotmail.com> - - * textmodes/fill.el (fill-region-as-paragraph): Handle overshoot - by move-to-column (Bug#3234). - -2012-11-30 Chong Yidong <cyd@gnu.org> - - * longlines.el (longlines-wrap-line, longlines-encode-region): - Preserve text properties (Bug#1425). - -2012-11-30 OKAZAKI Tetsurou <okazaki.tetsurou@gmail.com> (tiny change) - - * vc/vc.el (vc-register): Allow registering a file which is - already registered with a different backend (Bug#10589). - -2012-11-29 Jambunathan K <kjambunathan@gmail.com> - Stefan Monnier <monnier@iro.umontreal.ca> - - * icomplete.el: Change separator; add ido-style commands. - (icomplete-show-key-bindings): Remove custom var. - (icomplete-get-keys): Remove function. - (icomplete-forward-completions, icomplete-backward-completions): - New commands. - (icomplete-minibuffer-map): New var. - (icomplete-minibuffer-setup): Use it. - (icomplete-exhibit): Don't delay if the list of completions is known. - (icomplete-separator): New custom. - (icomplete-completions): Use it. - * minibuffer.el (completion-all-sorted-completions): Delete duplicates. - (minibuffer-force-complete-and-exit): New command. - (minibuffer--complete-and-exit): New function extracted from - minibuffer-complete-and-exit. - (minibuffer-complete-and-exit): Use it. - - * progmodes/etags.el (visit-tags-table-buffer): Give a more precise - error message when the file doesn't exist (bug#12974). - -2012-11-29 Kelly Dean <kellydeanch@yahoo.com> (tiny change) - - * simple.el (activate-mark): Run activate-mark-hook (bug#13027). - -2012-11-29 Glenn Morris <rgm@gnu.org> - - * files.el (hack-dir-local-variables): Warn if try to set - coding via dir-locals, since it doesn't work. (Bug#7169) - - Add desktop support for restoring vc-dir buffers. (Bug#10606) - * vc/vc-dir.el (vc-dir-mode): Autoload it (for desktop restore). - Set buffer-local value of desktop-save-buffer. - (vc-dir-desktop-buffer-misc-data, vc-dir-restore-desktop-buffer): - New functions. - (desktop-buffer-mode-handlers): Add vc-dir-mode entry. - * desktop.el (desktop-save-buffer-p): Treat vc-dir like dired. - - * files.el (inhibit-local-variables-ignore-case): New. (Bug#10610) - (inhibit-local-variables-p): Use inhibit-local-variables-ignore-case. - Doc fix. - (inhibit-local-variables-regexps, inhibit-local-variables-suffixes): - Doc fixes. - -2012-11-28 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-forms.el (calc-date-notation): Fix regexp - used to find time codes. Fix symbol for seconds. - -2012-11-27 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/derived.el (derived-mode-make-docstring): - Don't mention "abbrev" or "syntax" if nil. (Bug#11277) - -2012-11-27 Stefan Monnier <monnier@iro.umontreal.ca> - - * textmodes/table.el (table-insert): Don't use `symbol-name' on - lexically scoped variables (bug#13005). - -2012-11-27 Glenn Morris <rgm@gnu.org> - - * vc/vc-hooks.el (vc-mistrust-permissions): - Default to t, to avoid data-loss. (Bug#11490) - -2012-11-27 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-indent-guess-indent-offset): - If indentation is guessed make python-indent-offset buffer-local. - - Fix Imenu regression. - * progmodes/python.el (python-nav-beginning-of-defun): - Fix forward movement when statement(s) separates point from defun. - (python-imenu-prev-index-position): New function. - -2012-11-27 Eli Zaretskii <eliz@gnu.org> - - * subr.el (buffer-file-type): Declare with defvar-local. Doc fix. - - * dos-w32.el (find-file-not-found-set-buffer-file-coding-system): - Don't set buffer-file-type. Return nil. (Bug#12989) - -2012-11-27 Glenn Morris <rgm@gnu.org> - - * hippie-exp.el (hippie-expand-try-functions-list): - Re-autoload it. (Bug#12982) - -2012-11-27 Eli Zaretskii <eliz@gnu.org> - - * descr-text.el (describe-char-padded-string): - Call internal-char-font only on GUI frames. (Bug#11964) - -2012-11-27 Andreas Schwab <schwab@linux-m68k.org> - - * buff-menu.el (Buffer-menu-buffer+size-width): Fix customize type - and obsoletion message. - -2012-11-27 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl--transform-lambda): Add back `declare' in - the constructs to keep outside of the `cl-block' (bug#12977). - -2012-11-27 Chong Yidong <cyd@gnu.org> - - * mouse.el (mouse-drag-line): Even if the line is not draggable, - keep reading until we get the up-event anyway, in order to process - the up-event for mouse-1-click-follows-link (Bug#12971). - -2012-11-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el (ad-should-compile): Don't compile advice if the - base function is not yet defined (bug#12965). - (ad-activate-advised-definition): Use ad-compile-function. - (ad-activate): Use cond. - -2012-11-25 Leo Liu <sdl.web@gmail.com> - - * textmodes/sgml-mode.el (sgml-tag): Fix indentation for closing tag. - (Bug#12979) - -2012-11-24 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * textmodes/reftex-parse.el (reftex-parse-from-file): Use variable - reftex-section-info-function in order to be compatible with - Texinfo integration. - - * textmodes/reftex.el (reftex-section-pre-regexp) - (reftex-section-post-regexp, reftex-section-info-function): - New variable. - (reftex-compile-variables): Use variables reftex-section-pre-regexp, - reftex-section-post-regexp, and reftex-section-info-function in order - to be compatible with Texinfo integration. - - * textmodes/reftex-toc.el (reftex-toc-promote-action): - use reftex-section-pre-regexp variable in order to be compatible with - Texinfo integration. - -2012-11-25 Chong Yidong <cyd@gnu.org> - - * faces.el: Make face-spec-set more analogous to setq. - (face-spec-set): Change the third arg to specify whether this - function is being called via defface, customize, or a third party. - Set the appropriate symbol properties. Clear the override spec if - setting via Custom. Initialize face if necessary. (Bug#4988) - (face-spec-recalc): Allow theme faces to completely replace the - defface spec, in the same way as custom faces (Bug#8454). - - * cus-face.el (custom-declare-face): Move face initialization to - face-spec-set. - (custom-theme-set-faces): Don't initialize the face name here, as - that is now done in face-spec-set. - - * cus-edit.el (custom-face-set, custom-face-mark-to-save) - (custom-face-reset-saved, custom-face-mark-to-reset-standard): - Simplify by using the new arg to face-spec-set. - - * emacs-lisp/lisp-mode.el (eval-defun-1): When evaluating defface, - reset face-override-spec too, and use custom-declare-face. - -2012-11-24 Jan Djärv <jan.h.d@swipnet.se> - - * term/ns-win.el (ns-initialize-window-system): Move creation of - fontsets here (Bug#11964). - -2012-11-24 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * ses.el (ses-rename-cell): Correct bug on mode-line update after - cell renaming. - -2012-11-24 Chong Yidong <cyd@gnu.org> - - * woman.el (woman-default-faces, woman-monochrome-faces): Mark as - obsolete. - - * custom.el (custom-theme-set-variables): Use a topological sort - for ordering by custom dependencies (Bug#12952). - (custom--sort-vars, custom--sort-vars-1): New functions. - -2012-11-24 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (byte-compile-file): Setup default value for - lexical-binding (bug#12938). - -2012-11-24 Wolfgang Jenkner <wjenkner@inode.at> - - * image-mode.el (image-transform-check-size): Use assertions only - for images of type imagemagick. - - Otherwise no error, image-transform-fit-to-{width,height} is - silently ignored, as before. Doc fix. - -2012-11-24 Chong Yidong <cyd@gnu.org> - - * faces.el (color-defined-p): Doc fix (Bug#12853). - -2012-11-24 Juri Linkov <juri@jurta.org> - - * dired.el (dired-mark): Add optional arg `interactive'. - Check for `use-region-p' if `interactive' is non-nil. - (dired-unmark, dired-flag-file-deletion): Add optional arg - `interactive'. Call `dired-mark' with the arg `interactive'. - (Bug#10624) - - * wdired.el: Revert 2012-10-17 change partly and replace it with - Patch by Christopher Schmidt <christopher@ch.ristopher.com>. - (wdired-finish-edit): Add marks for new file names to - `wdired-old-marks'. Restore marks using `dired-mark-remembered' - after `revert-buffer'. - (wdired-do-renames): Remove calls to `dired-remove-file', - `dired-add-file', `dired-add-entry'. (Bug#11795) - -2012-11-24 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-defs.el (c-version): Bump to 5.32.4. - - Fix bugs in the state cache. Enhance a debugging mechanism. - * progmodes/cc-engine.el (c-parse-state-get-strategy): Don't use - "brace at column zero" strategy for C++. - (c-append-lower-brace-pair-to-state-cache): Repair algorithm. - (c-parse-state-point): New variable. - (c-record-parse-state-state): Record old parse state with - `copy-tree'. Record previous value of point. - (c-debug-parse-state-double-cons): New debugging function. - (c-debug-parse-state): Call the above new function. - (c-toggle-parse-state-debug): Output a confirmatory message. - - * progmodes/cc-mode.el (c-before-change, c-after-change): - Call c-invalidate-state-cache from `c-before-change' instead of - `c-after-change'. - -2012-11-23 Chong Yidong <cyd@gnu.org> - - * find-cmd.el (find-constituents): Add executable, ipath, - readable, samefile, writable, daystart, regextype (Bug#12856). - -2012-11-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/ert.el, emacs-lisp/ert-x.el: Use cl-lib and lexical-binding. - -2012-11-22 Paul Eggert <eggert@cs.ucla.edu> - - * calc/calc.el (calc-gregorian-switch): Move to after calc-refresh - definition. This fixes a bootstrap failure. - (calc-gregorian-switch): In menu, put dates before regions. - This is easier to follow, lines up better in the menu, and lets us - coalesce regions that switch at the same time. Give country - names, not "Vatican", as that's better for non-expert users. - Use names that are stable between the date of switch and now, e.g., - Bohemia and Moravia (which existed then and now) and not - Czechoslovakia (which didn't exist then and doesn't exist now). - What is now the U.S. mostly did not switch at the same time as - Britain, so omit the U.S. Correct spelling of "Britain". - Catholic Switzerland was too much of a mess, so omit it. - -2012-11-22 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc.el (calc-gregorian-switch): Refresh the Calc buffer - after the variable is changed. - -2012-11-21 Daniel Colascione <dancol@dancol.org> - - * progmodes/sql.el (sql-mode-font-lock-object-name): Support IF NOT EXISTS - in SQL declarations for font-lock. - (sql-imenu-generic-expression): Teach imenu about IF NOT EXISTS. - -2012-11-21 Glenn Morris <rgm@gnu.org> - - * faces.el (face-underline-p, face-inverse-video-p, face-bold-p) - (face-italic-p): Add optional argument "inherit". - - * faces.el (set-face-inverse-video, set-face-bold, set-face-italic): - Remove -p suffix from names, for consistency with other set-face-*. - (set-face-inverse-video): Fix interactive spec. - * play/gamegrid.el (gamegrid-make-mono-tty-face): - * textmodes/table.el (table--update-cell-face): - Use set-face-inverse-video rather than now obsolete alias. - -2012-11-21 Eli Zaretskii <eliz@gnu.org> - - * simple.el (line-move): Don't call line-move-partial if - scroll-conservatively is in effect. (Bug#12927) - -2012-11-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838: - Fallback on completion-at-point rather than - pcomplete-expand-and-complete, and only if pcomplete actually failed. - (eshell-cmpl-initialize): Setup completion-at-point. - - * pcomplete.el (pcomplete--entries): Obey pcomplete-ignore-case. - - * emacs-lisp/ert.el (ert--expand-should-1): Adapt to cl-lib. - -2012-11-21 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-do-copy-or-rename-file): If both files - are remote, check out-of-band property for both. - -2012-11-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * window.el (switch-to-buffer): Re-add the warning that was lost in the - code rewrite. - -2012-11-21 Paul Eggert <eggert@cs.ucla.edu> - - More minor time fixes. - * calendar/time-date.el: Commentary fix. - * net/tramp-sh.el (tramp-do-file-attributes-with-ls): Undo last change; - too much other code depends on (0 0) time stamps. - * net/tramp.el (tramp-time-less-p, tramp-time-subtract): - Add a couple of FIXME comments. - - Minor cleanup for times as lists of four integers. - * files.el (dir-locals-directory-cache): - * ps-bdf.el (bdf-file-mod-time, bdf-read-font-info): - Doc fixes. - * net/tramp-sh.el (tramp-do-file-attributes-with-ls): - * ps-bdf.el (bdf-file-newer-than-time): - Process four-integers time stamps, not two. Doc fixes. - -2012-11-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * uniquify.el (uniquify-managed): Use defvar-local. - (rename-buffer, create-file-buffer): Advise with advice-add. - (uniquify-unload-function): Unadvise accordingly. - - * emacs-lisp/trace.el: Rewrite, use nadvice and lexical-binding. - (trace-buffer): Don't purecopy. - (trace-entry-message, trace-exit-message): Add `context' arg. - (trace--timer): New var. - (trace-make-advice): Adjust for use in nadvice. - Add `context' argument. Delay `display-buffer' via a timer. - (trace-function-internal): Use advice-add. - (trace--read-args): New function. - (trace-function-foreground, trace-function-background): Use it. - (trace-function): Rename to trace-function-foreground and redefine as - an alias to that new name. - (untrace-function, untrace-all): Adjust to the use of nadvice. - - * emacs-lisp/bytecomp.el (byte-compile): Fix handling of closures. - - * emacs-lisp/byte-run.el (defun-declarations-alist): Fix last change. - - * subr.el (called-interactively-p-functions): New var. - (internal--called-interactively-p--get-frame): New macro. - (called-interactively-p, interactive-p): Rewrite in Lisp. - * emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun. - (called-interactively-p-functions): Use it. - * emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun. - (called-interactively-p-functions): Use it. - * allout.el (allout-called-interactively-p): Don't assume - called-interactively-p is a subr. - -2012-11-20 Glenn Morris <rgm@gnu.org> - - * profiler.el (profiler-report-mode-map): Add a menu. - No need to bind `q' because we derive from special-mode. - (profiler-report-find-entry): Handle calls from the menu-bar. - -2012-11-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/byte-run.el (defun-declarations-alist): - Allow a compiler-macro to be a lambda expression. - - * progmodes/python.el: Use cl-lib. Move var declarations outside of - eval-when-compile. - (python-syntax-context): Add compiler-macro. - (python-font-lock-keywords): Simplify with De Morgan. - - * vc/diff-mode.el (diff-hunk): Don't make useless timers. - - * files.el (load-file): Require match in minibuffer selection, as was - the case in Emacs-20 before we changed the spec to allow .elc files - (bug#12935). - - * json.el: Don't require cl since we don't use it. - * color.el: Don't require cl. - (color-complement): `caddr' -> `nth 2'. - - * calendar/time-date.el (time-to-seconds): De-obsolete. - -2012-11-19 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-forms.el (math-leap-year-p): Fix formula for negative - year numbers. - (math-date-to-julian-dt): Adjust the initial approximation for the - year to deal with the new definition of the DATE. - -2012-11-19 Daniel Colascione <dancol@dancol.org> - - * term/w32-win.el (cygwin-convert-path-from-windows): - Accomodate rename of cygwin_convert_path* to cygwin_convert_file_name*. - -2012-11-18 Chong Yidong <cyd@gnu.org> - - * filecache.el (file-cache--read-list): New function. - (file-cache-add-directory-list, file-cache-add-file-list) - (file-cache-delete-file-list, file-cache-delete-directory-list): - Use it to read a list of files or directories (Bug#12846). - (file-cache-add-file, file-cache-add-directory) - (file-cache-delete-file-list, file-cache-delete-file-regexp) - (file-cache-delete-directory): Print an message. - -2012-11-18 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-forms.el (math-date-to-dt): Use integer date when - calling `math-date-to-julian-dt' and 'math-date-to-gregorian-dt'. - -2012-11-18 Glenn Morris <rgm@gnu.org> - - * image.el (insert-image, insert-sliced-image): Doc fix. - -2012-11-18 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/syntax.el (syntax-propertize-function): Doc fix - (Bug#12810). - -2012-11-18 OKAZAKI Tetsurou <okazaki.tetsurou@gmail.com> (tiny change) - - * vc/vc-svn.el (vc-svn-merge-news): Properly parse the merge - response when the target file is in a subdirectory (Bug#12757). - -2012-11-18 Chong Yidong <cyd@gnu.org> - - * filecache.el (file-cache-add-file-list): Doc fix (Bug#12694). - -2012-11-18 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/cl-lib.el (face-underline-p): - Use set-face-underline rather than the alias set-face-underline-p. - - * window.el (with-temp-buffer-window): Doc fix. - * subr.el (with-output-to-temp-buffer): - Add doc xref to with-temp-buffer-window. - -2012-11-18 Juanma Barranquero <lekktu@gmail.com> - - * woman.el (woman-non-underline-faces): Use `set-face-underline'. - * calc/calc.el (math-format-date-cache): Declare. - -2012-11-17 Paul Eggert <eggert@cs.ucla.edu> - - Calc by default uses the Gregorian calendar for all dates (Bug#12633). - It also uses January 1, 1 AD as its day number 1. - * calc/calc-forms.el (math-julian-date-beginning) - (math-julian-date-beginning-int): Implement this. - -2012-11-17 Juanma Barranquero <lekktu@gmail.com> - - * descr-text.el (quail-find-key): - * dired.el (desktop-file-name): - * dirtrack.el (shell-prefixed-directory-name, shell-process-cd): - * generic-x.el (comint-mode, comint-exec): - * image-dired.el (widget-forward): - * info.el (speedbar-add-expansion-list, speedbar-center-buffer-smartly) - (speedbar-change-expand-button-char) - (speedbar-change-initial-expansion-list, speedbar-delete-subblock) - (speedbar-make-specialized-keymap, speedbar-make-tag-line): - * printing.el (easy-menu-add-item, easy-menu-remove-item) - (widget-field-action, widget-value-set): - * speedbar.el (imenu--make-index-alist): - * term.el (ring-empty-p, ring-ref, ring-insert-at-beginning) - (ring-length, ring-insert): - * vcursor.el (compare-windows-skip-whitespace): - * woman.el (dired-get-filename): - Declare functions. - - * term/w32-win.el (cygwin-convert-path-from-windows): Fix declaration. - -2012-11-17 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc.el (calc-gregorian-switch): New variable. - - * calc/calc-forms.el (math-day-in-year, math-dt-before-p) - (math-absolute-from-gregorian-dt, math-absolute-from-julian-dt) - (math-date-to-julian-dt, math-date-to-gregorian-dt): New functions. - (math-leap-year-p): Add option to distinguish between Julian - and Gregorian calendars. - (math-day-number): Use `math-day-in-year' to do the computations. - (math-absolute-from-dt): Rename from `math-absolute-from-date'. - Use `math-absolute-from-gregorian' and `math-absolute-from-julian' - to do the computations. - (math-date-to-dt): Use `math-date-to-julian-dt' and - `math-date-to-gregorian-dt' to do the computations. - (calcFunc-weekday, math-format-date-part): Use the new version of - the DATE to determine the weekday. - (calcFunc-newmonth, calcFunc-newyear): Use `calc-gregorian-switch' - when necessary. - -2012-11-17 Eli Zaretskii <eliz@gnu.org> - - * term/w32-win.el (w32-handle-dropped-file): Use 'file://' only on - Cygwin; otherwise use 'file:'. (Bug#12914) - (cygwin-convert-path-from-windows): Declare, to avoid - byte-compiler warnings. - -2012-11-17 Andreas Politz <politza@fh-trier.de> - - * ibuffer.el (ibuffer-mark-forward, ibuffer-unmark-forward) - (ibuffer-unmark-backward, ibuffer-mark-interactive): Support plain - prefix and negative numeric prefix args (Bug#12795). - -2012-11-17 Stephen Berman <stephen.berman@gmx.net> - - * play/gamegrid.el (gamegrid-add-score-with-update-game-score-1): - Don't signal an error with a score that is too low to add to the - list of top scores. (Bug#12779) - -2012-11-17 Chong Yidong <cyd@gnu.org> - - * help-mode.el (help-xref-interned): End on point-min (Bug#12737). - - * filecache.el (file-cache-add-file): Handle relative file name in - the argument (Bug#12694). - -2012-11-16 Jürgen Hötzel <juergen@archlinux.org> (tiny change) - - * eshell/em-unix.el (eshell/mkdir): Handle "--parents" (bug#12897). - -2012-11-16 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el (ad-make-advised-definition): Improve last fix. - - * emacs-lisp/cl-lib.el: Set more meaningful version number. - -2012-11-16 Martin Rudalics <rudalics@gmx.at> - - * window.el (enlarge-window, shrink-window): Don't mention return - value in doc-string (Bug#12896). - (window--display-buffer): Don't resize frames - it won't work - with all window managers and defeat pop-up-frame-alist. - (display-buffer-alist): In doc-string explain that CONDITION can - be a function and which arguments are passed to it (Bug#12854). - (display-buffer-assq-regexp): New argument ACTION. Handle lambda - expressions (Bug#12854). - (display-buffer): Pass ACTION argument to - display-buffer-assq-regexp. - -2012-11-16 Glenn Morris <rgm@gnu.org> - - * window.el (fit-frame-to-buffer-bottom-margin) - (fit-frame-to-buffer, fit-window-to-buffer): Doc fixes. - - * faces.el (face-underline-p): Use face-attribute-specified-or. - -2012-11-16 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lisp/cl-macs.el (cl-loop, cl-do, cl-do*): Doc fixes. - -2012-11-16 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl-flet, cl-flet*): Fix docstring (bug#12895). - -2012-11-16 Glenn Morris <rgm@gnu.org> - - * eshell/em-cmpl.el (eshell-pcomplete): New command. (Bug#12838) - (eshell-cmpl-initialize): Bind eshell-pcomplete to TAB, C-i. - - * faces.el (face-underline-p): Doc fix. Handle :underline being - things other than `t' (a string, a list). - (face-inverse-video-p): Doc fix. - (set-face-underline): Rename it back from set-face-underline-p. - Doc fix. Allow interactive input of values other than t. - (read-face-attribute): Apply formatting to :underline, - since like :box and :stipple it can take list values. - - * term.el (ansi-term): Don't let C-x escape-char binding - clobber the more standard C-c binding. (Bug#12842) - - * subr.el (set-temporary-overlay-map): Doc fix. - -2012-11-16 Martin Rudalics <rudalics@gmx.at> - - * window.el (record-window-buffer) - (display-buffer-record-window): When copying the markers to - window-point preserve window-point-insertion-type. (Bug#12588) - -2012-11-16 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): - * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): - Use new names for hooks rather than obsolete aliases. - -2012-11-15 Daniel Colascione <dancol@dancol.org> - - * term/w32-win.el (w32-handle-dropped-file): Use a "file://" - prefix instead of "file:" so that when FILE-NAME begins with "//", - as it does when the target file is on a network share, url-handler - isn't confused. - -2012-11-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el (ad-definition-type): Make sure we don't use - a preactivated advice from an old advice.el; they're not compatible! - -2012-11-15 Katsumi Yamaoka <yamaoka@jpl.org> - - * emacs-lisp/nadvice.el (advice--make-interactive-form): - Fix string-spec case. - - * emacs-lisp/advice.el (ad-make-advised-definition): Fix undefined case. - -2012-11-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/nadvice.el: Add buffer-local support to add-function. - (advice--buffer-local-function-sample): New var. - (advice--set-buffer-local, advice--buffer-local): New functions. - (add-function, remove-function): Use them. - -2012-11-15 Drew Adams <drew.adams@oracle.com> - - * imenu.el (imenu--split-submenus): Use imenu--subalist-p (bug#12717). - -2012-11-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl--transform-lambda): Defend against - potential binding of print-gensym to t, and prettify (back)quotes in - case they appear in args's default values (bug#12884). - -2012-11-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/nadvice.el: Add around advice for interactive specs. - (advice-eval-interactive-spec): New function. - (advice--make-interactive-form): Support around advice (bug#12844). - -2012-11-14 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-expr-beg): Make heredoc detection - more strict. Add docstring. - (ruby-expression-expansion-re): Extract from - `ruby-match-expression-expansion'. - (ruby-syntax-propertize-function): After everything else, search - for expansions in string literals, mark their insides as - whitespace syntax and save match data for font-lock. - (ruby-font-lock-keywords): Use the 2nd group from expression - expansion matches. - (ruby-match-expression-expansion): Use the match data saved to the - text property in ruby-syntax-propertize-function. - -2012-11-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/gv.el (setf): Fix debug spec for multiple assignments - (bug#12879). - -2012-11-13 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-move-to-block): Looks for a block - start/end keyword a bit harder. Works with different values of N. - Add more comments. - (ruby-end-of-block): Update accordingly. - -2012-11-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * woman.el (woman-file-name): Don't mess with unread-command-events - (bug#12861). - - * emacs-lisp/advice.el: Layer on top of nadvice.el. - Remove out of date self-require hack. - (ad-do-advised-functions): Use simple `dolist'. - (ad-advice-name, ad-advice-protected, ad-advice-enabled) - (ad-advice-definition): Redefine as functions. - (ad-advice-classes): Move before first use. - (ad-make-origname, ad-set-orig-definition, ad-clear-orig-definition) - (ad-make-mapped-call, ad-make-advised-docstring) - (ad-make-plain-docstring, ad--defalias-fset): Remove functions. - (ad-make-advicefunname, ad-clear-advicefunname-definition): New funs. - (ad-get-orig-definition): Rewrite. - (ad-make-advised-definition-docstring): Change base docstring. - (ad-real-orig-definition): Rewrite. - (ad-map-arglists): Change name of called function. - (ad--make-advised-docstring): Redirect `function' from ad-Advice-... - (ad-make-advised-definition): Simplify. - (ad-assemble-advised-definition): Tweak for new calling context. - (ad-activate-advised-definition): Setup ad-Advice-* i.s.o ad-Orig-*. - (ad--defalias-fset): Rename from ad-handle-definition. Make it set the - function and call ad-activate if needed. - (ad-activate, ad-deactivate): Don't call ad-handle-definition any more. - (ad-recover): Clear ad-Advice-* instead of ad-Orig-*. - (ad-compile-function): Compile ad-Advice-*. - (ad-activate-on-top-level, ad-with-auto-activation-disabled): Remove. - (ad-start-advice, ad-stop-advice): Remove. - -2012-11-13 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-add-log-current-method): Print the - period before class method names, not after. Remove handling of - one impossible case. Add comments. - -2012-11-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el: Remove support for freezing. - (ad-make-freeze-docstring, ad-make-freeze-definition): Remove functions. - (ad-make-single-advice-docstring, ad-defadvice-flags, defadvice): - Remove support for `freeze'. - - * emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to - override the default. - * emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Rewrite without using - cl--dotimes/dolist. - * subr.el (dolist, dotimes, declare): Redefine them normally, even when - `cl' is loaded. - - * emacs-lisp/nadvice.el (advice--normalize): New function, extracted - from add-advice. - (advice--strip-macro): New function. - (advice--defalias-fset): Use them to handle macros. - (advice-add): Use them. - (advice-member-p): Correctly handle macros. - -2012-11-13 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-font-lock-keywords): - Never font-lock the beginning of singleton class as heredoc. - -2012-11-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/gv.el (gv-define-simple-setter): One more fix (bug#12871). - -2012-11-13 Wolfgang Jenkner <wjenkner@inode.at> - - * ansi-color.el (ansi-color-apply-sequence): Implement SGR codes - 39 and 49 (bug#12792). Also, treat unimplemented parameters as 0, - thereby restoring the behavior of revisions prior to 2012-08-15T03:33:55Z!monnier@iro.umontreal.ca. - -2012-11-13 Fabián Ezequiel Gallina <fgallina@cuca> - - Fix end-of-defun misbehavior. - * progmodes/python.el (python-nav-beginning-of-defun): Rename from - python-beginning-of-defun-function. Handle nested defuns - correctly. - (python-nav-end-of-defun): Rename from - python-end-of-defun-function. Ensure forward movement. - (python-info-current-defun): Reimplement to work as intended - with new fixed python-nav-{end,beginning}-of-defun. Stop scanning - parent defuns as soon as possible. - -2012-11-13 Glenn Morris <rgm@gnu.org> - - * progmodes/flymake.el (flymake-error-bitmap) - (flymake-warning-bitmap, flymake-fringe-indicator-position): Doc fixes. - (flymake-error-bitmap, flymake-warning-bitmap): Fix :types. - -2012-11-13 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-move-to-block): When moving - backward, always stop at indentation. Reverts the change from - 2012-08-12T22:06:56Z!monnier@iro.umontreal.ca (Bug#12851). - -2012-11-13 Glenn Morris <rgm@gnu.org> - - * ibuffer.el (ibuffer-mode-map, ibuffer-mode): - Add ibuffer-filter-by-derived-mode. - - * ibuffer.el (ibuffer-mode-map): Don't have two menu items with - the same name shadowing each other. - - * window.el (with-temp-buffer-window): Doc tweak. - - * emacs-lisp/debug.el (debugger-bury-or-kill): Doc tweak. - - * help.el (temp-buffer-max-height): - * window.el (fit-frame-to-buffer, fit-frame-to-buffer-bottom-margin): - * emacs-lisp/debug.el (debugger-bury-or-kill): Fix :version. - -2012-11-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/nadvice.el: New package. - * subr.el (special-form-p): New function. - * emacs-lisp/elp.el: Use lexical-binding and advice-add. - (elp-all-instrumented-list): Remove var. - (elp-not-profilable): Remove elp-wrapper. - (elp-profilable-p): Use autoloadp and special-form-p. - (elp--advice-name): New const. - (elp-instrument-function): Use advice-add. - (elp--instrumented-p): New predicate. - (elp-restore-function): Use advice-remove. - (elp-restore-all, elp-reset-all): Use mapatoms. - (elp-set-master): Use elp--instrumented-p. - (elp--make-wrapper): Rename from elp-wrapper, return a function - suitable for advice-add. Use cl-inf. - (elp-results): Use mapatoms+elp--instrumented-p. - * emacs-lisp/debug.el: Use lexical-binding and advice-add. - (debug-function-list): Remove var. - (debug): Rename arg, and then let-bind it explicitly inside. - (debugger-setup-buffer): Rename arg. - (debugger-setup-buffer): Adjust counts to new debug-on-entry setup. - (debugger-frame-number): Adjust to new debug-on-entry setup. - (debug--implement-debug-on-entry): Rename from - implement-debug-on-entry, add argument. - (debugger-special-form-p): Remove, use special-form-p instead. - (debug-on-entry): Use advice-add. - (debug--function-list): New function. - (cancel-debug-on-entry): Use it, along with advice-remove. - (debug-arglist, debug-convert-byte-code, debug-on-entry-1): Remove. - (debugger-list-functions): Use debug--function-list instead of - debug-function-list. - * emacs-lisp/advice.el (ad-save-real-definition): Remove, unused. - (ad-special-form-p): Remove, use special-form-p instead. - (ad-set-advice-info): Use add-function and remove-function. - (ad--defalias-fset): Adjust accordingly. - -2012-11-10 Glenn Morris <rgm@gnu.org> - - * mail/emacsbug.el (report-emacs-bug-tracker-url) - (report-emacs-bug-bug-alist, report-emacs-bug-choice-widget) - (report-emacs-bug-create-existing-bugs-buffer) - (report-emacs-bug-parse-query-results) - (report-emacs-bug-query-existing-bugs): Remove. (Bug#7449) - - * term.el (term-default-fg-color, term-default-bg-color): - Make obsolete, rather than just saying "deprecated" in the doc. - - * term.el (term): Rename from `term-face'. - (term-current-face, ansi-term-color-vector) - (term-default-fg-color, term-default-bg-color, term-ansi-reset): - Update all users. - -2012-11-10 Jan Djärv <jan.h.d@swipnet.se> - - * server.el (server-create-window-system-frame): Handle Nextstep - specially (Bug#12780). - -2012-11-10 Glenn Morris <rgm@gnu.org> - - * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): - Unautoload, and make obsolete. (Bug#7449) - -2012-11-10 Chong Yidong <cyd@gnu.org> - - * vc/diff-mode.el (diff-delete-trailing-whitespace): Rewrite, and - rename from diff-remove-trailing-whitespace (Bug#12831). - -2012-11-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el: Require `cl-lib' at run-time to fix - miscompilation of trace.el. - -2012-11-10 Glenn Morris <rgm@gnu.org> - - * vc/diff-mode.el (diff-remove-trailing-whitespace): Doc fix. - -2012-11-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/gv.el (gv-define-simple-setter): Fix last change - (bug#12812). - -2012-11-10 Chong Yidong <cyd@gnu.org> - - * minibuf-eldef.el (minibuffer-eldef-shorten-default): Convert to - a defcustom with an appropriate :set function. - (minibuffer-default--in-prompt-regexps): New function. - -2012-11-10 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/cl.el (define-setf-expander, defsetf) - (define-modify-macro): Doc fixes. - - * emacs-lisp/gv.el (gv-letplace): Fix doc typo. - (gv-define-simple-setter): Update doc of `fix-return'. - -2012-11-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/gv.el (gv-define-simple-setter): Don't evaluate `val' - twice when `fix-return' is set (bug#12813). - - * emacs-lisp/cl.el (defsetf): Pass the third arg to - gv-define-simple-setter (bug#12812). - - * woman.el (woman-decode-region): Disable adaptive-fill when rendering - (bug#12756). - -2012-11-10 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/gv.el (gv-define-setter): Fix doc typo. - - * emacs-lisp/cl-extra.el (cl-prettyexpand): - * emacs-lisp/cl-lib.el (cl-proclaim, cl-declaim): - * emacs-lisp/cl-macs.el (cl-destructuring-bind, cl-locally) - (cl-the, cl-compiler-macroexpand): Add basic doc strings. - - * emacs-lisp/cl-extra.el (cl-maplist, cl-mapcan): Doc fix. - -2012-11-10 Leo Liu <sdl.web@gmail.com> - - * ido.el (ido-set-matches-1): Improve flex matching performance by - removing backtracking in the regexp (suggested by Stefan). (Bug#12796) - -2012-11-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el (ad-set-advice-info): Set defalias-fset-function. - (ad--defalias-fset): New function. - (ad-safe-fset): Remove. - (ad-make-freeze-definition): Use cl-letf*. - -2012-11-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (dolist): Don't bind VAR in RESULT. - - * emacs-lisp/advice.el: Miscellaneous cleanup. Use lexical-binding. - (fset, documentation): Don't save real def since we don't advise. - (ad-do-advised-functions): Remove problematic `result-form'. - (ad-safe-fset): `ad-real-fset' => `fset'. - (ad-read-advised-function): Don't assume that ad-do-advised-functions - uses CL's dolist internally. - (ad-arglist): Remove unused arg `name'. - (ad-docstring, ad-make-advised-docstring): - `ad-real-documentation' => `documentation'. - (warning-suppress-types): Declare. - (ad-set-arguments): Simple CSE. - (ad-recover-normality): Sanity check. - - * emacs-lisp/bytecomp.el (byte-compile-out-toplevel): Don't turn - (funcall '(lambda ..) ..) into ((lambda ..) ..). - -2012-11-09 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * ses.el: Symbol to coordinate mapping is made by symbol property - `ses-cell'. This means that the same mapping is done for all SES - sheets. That is good enough for cells with standard A1 names, but - not for named cell. So a hash map is added for the latter. - (defconst ses-localvars): Add local variable ses--named-cell-hashmap - (ses-sym-rowcol): Use hashmap for named cell. - (ses-is-cell-sym-p): New defun. - (ses-decode-cell-symbol): New defun. - (ses-create-cell-variable): Add cell to hashmap when name is not - A1-like. - (ses-rename-cell): Check that cell new name is not already in - spreadsheet with the use of ses-is-cell-sym-p - (ses-rename-cell): Use hash map for named cells, but accept also - renaming back to A1-like. - -2012-11-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el: Use new dynamic docstrings. - (ad-make-advised-definition-docstring, ad-advised-definition-p): - Use dynamic-docstring-function instead of ad-advice-info. - (ad--make-advised-docstring): New function extracted from - ad-make-advised-docstring. - (ad-make-advised-docstring): Use it. - * progmodes/sql.el (sql--make-help-docstring): New function, extracted - from sql-help. - (sql-help): Use it with dynamic-docstring-function. - - * env.el (env--substitute-vars-regexp): Don't use rx (for bootstrap). - -2012-11-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * files.el (hack-one-local-variable--obsolete): New function. - (hack-one-local-variable): Use it for obsolete settings. - - * subr.el (locate-user-emacs-file): If both old and new name exist, use - the new name. - - * progmodes/js.el (js--filling-paragraph): New var. - (c-forward-sws, c-backward-sws, c-beginning-of-macro): Advise. - (js-c-fill-paragraph): Prefer advice to cl-letf so the rebinding is - less sneaky. - -2012-11-08 Julien Danjou <julien@danjou.info> - - * progmodes/ruby-mode.el (auto-mode-alist): Add Rakefile in - `auto-mode-alist' (Bug#12835). - -2012-11-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/perl-mode.el (perl-prettify-symbols): New defcustom. - (perl--prettify-symbols-alist): New const. - (perl--font-lock-compose-symbol, perl--font-lock-symbols-keywords): - New functions. - (perl-font-lock-keywords-2): Use them. - (perl-electric-noindent-p): New function. - (perl-mode): Use it to set up electric-indent-mode. - (perl-electric-terminator, perl-indent-command): Mark obsolete. - (perl-mode-map): Remove bindings for them. - (perl-imenu-generic-expression, perl-outline-level): - Match functions&packages in column>0. - - * env.el (env--substitute-vars-regexp): New const. - (substitute-env-vars): Use it. Add `only-defined' arg. - * net/tramp.el (tramp-replace-environment-variables): Use it. - - * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): - Byte-compile *before* eval in eval-and-compile. - (byte-compile-log-warning): Remove redundant inhibit-read-only. - (byte-compile-file-form-autoload): Don't hide actual definition. - (byte-compile-maybe-guarded): Accept `functionp' as well. - - * emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro. - -2012-11-07 Michael Albinus <michael.albinus@gmx.de> - - * notifications.el (notifications-get-server-information-method): - New defconst. - (notifications-get-capabilities): Fix docstring. - (notifications-get-server-information): New defun. - -2012-11-06 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-region): Standard re-indent for better - readability. - - * textmodes/ispell.el: Experimental support for support debugging. - (ispell-create-debug-buffer): Create a `ispell-debug-buffer' debug - buffer for ispell. - (ispell-print-if-debug): New function to print stuff to - `ispell-debug-buffer' if debugging is enabled. - (ispell-region, ispell-process-line): Use `ispell-print-if-debug' to - show some debugging info. - (ispell-buffer-with-debug): New function that creates a debugging - buffer and calls `ispell-buffer' with debugging enabled. - - * textmodes/ispell.el (ispell-region): Do not prefix sent string by - comment in autoconf mode. (Bug#12768) - -2012-11-06 Dmitry Antipov <dmantipov@yandex.ru> - - * emacs-lisp/byte-opt.el (toplevel): Add compare-window-configurations, - frame-first-window, frame-root-window, frame-selected-window, - minibuffer-selected-window, minibuffer-window, - window-absolute-pixel-edges, window-at, window-body-height, - window-body-width, window-display-table, window-combination-limit, - window-frame, window-fringes, window-inside-absolute-pixel-edges, - window-inside-edges, window-inside-pixel-edges, window-left-child, - window-left-column, window-margins, window-next-buffers, - window-next-sibling, window-new-normal, window-new-total, - window-normal-size, window-parameter, window-parameters, window-parent, - window-pixel-edges, window-point, window-prev-buffers, - window-prev-sibling, window-redisplay-end-trigger, window-scroll-bars, - window-start, window-text-height, window-top-child, window-top-line, - window-total-height, window-total-width and window-use-time to the list - of functions without side-effects. - (toplevel): Add window-valid-p to the list of error-free functions - without side-effects. - -2012-11-05 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-program-name): - Update spellchecker parameters when customized. - -2012-11-04 Glenn Morris <rgm@gnu.org> - - * vc/vc-svn.el (vc-svn-state-heuristic): Avoid calling svn. (Bug#7850) - -2012-11-04 Chong Yidong <cyd@gnu.org> - - * bookmark.el (bookmark-bmenu-switch-other-window): Avoid binding - same-window-* variables. - -2012-11-04 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-help-for-help, isearch-describe-bindings) - (isearch-describe-key, isearch-describe-mode): Use a display - action instead of binding same-window-* variables (Bug#10040). - -2012-11-03 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/cl-macs.el (cl-parse-loop-clause): - Rename handler properties back from cl-- to cl-. (Bug#12788) - - * emacs-lisp/cl-macs.el (cl-do-all-symbols): Add doc string. - -2012-11-03 Eli Zaretskii <eliz@gnu.org> - - * term/pc-win.el: Don't load term/internal from here. - - * loadup.el: Load term/internal from here. - -2012-11-03 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (inferior-python-mode): Fix hang in - jit-lock (Bug#12645). - -2012-11-03 Martin Rudalics <rudalics@gmx.at> - - * window.el (switch-to-visible-buffer) - (switch-to-buffer-preserve-window-point): Fix doc-strings. - -2012-11-03 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/cl-lib.el (cl--random-time): - Rename from cl-random-time. (Bug#12773) - (cl--gensym-counter, cl--random-state): Update callers. - * emacs-lisp/cl-extra.el (cl-make-random-state): Update callers. - -2012-11-03 Chong Yidong <cyd@gnu.org> - - * cus-start.el: Make cursor-type customizable (Bug#11633). - -2012-11-02 Glenn Morris <rgm@gnu.org> - - * filecache.el: No need to load find-lisp when compiling. - (find-lisp-find-files): Autoload it. - (file-cache-add-directory-recursively): Don't require find-lisp. - - * image.el (image-type-from-file-name): Trivial simplification. - - * emacs-lisp/bytecomp.el (byte-compile-eval): - Decouple "noruntime" and "cl-functions" warnings. - -2012-11-01 Stephen Berman <stephen.berman@gmx.net> - - * play/gomoku.el (gomoku-display-statistics): Update mode line - only if in Gomoku buffer; don't capitalize "won" (Bug#12771). - -2012-10-31 Martin Rudalics <rudalics@gmx.at> - - * window.el (quit-restore-window): If the window has been - created on an existing frame and ended up as the sole window on - that frame, do not delete it (Bug#12764). - -2012-10-31 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/sh-script.el (sh--inside-noncommand-expression): - Rename from sh--inside-arithmetic-expression, handle more cases - (bug#11263). - - * progmodes/sh-script.el (sh--inside-arithmetic-expression): New func. - (sh-font-lock-open-heredoc): Use it (bug#12770). - -2012-10-30 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/cl-extra.el (cl-mapc): Add autoload cookie. Doc fix. - - * emacs-lisp/cl.el (letf): Doc fix. (Bug#12760) - -2012-10-29 Chong Yidong <cyd@gnu.org> - - * isearch.el (isearch-other-meta-char): Ensure that a reprocessed - function key is stored in a keyboard macro (Bug#4894). - - * thingatpt.el (number-at-point): Apply a thing-at-point property. - -2012-10-29 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/diff-mode.el (diff-context->unified): Don't get confused by "hunk - header comments". - (diff-unified->context, diff-context->unified) - (diff-reverse-direction, diff-fixup-modifs): Use `use-region-p'. - - * emacs-lisp/cl.el (letf): Add missing indent rules (bug#12759). - - * files.el (find-alternate-file): Only ask one question (bug#12487). - -2012-10-29 Chong Yidong <cyd@gnu.org> - - * vc/vc-hooks.el (vc-file-clearprops): Kill vc-parent-buffer. - Suggested by Dan Nicolaescu (Bug#6326). - - * info.el (Info-complete-menu-item): Avoid duplicates (Bug#12705). - - * startup.el (fancy-about-screen): Don't message (Bug#12680). - - * thingatpt.el (thing-at-point): Doc fix (Bug#12691). - - * imenu.el (imenu): Inhibit push-mark message (Bug#12726). - - * face-remap.el (face-remap-add-relative): Handle the case where a - face-remapping-alist entry is a cons cell (Bug#12762). - -2012-10-29 Kevin Ryde <user42@zip.com.au> - - * woman.el (woman-parse-numeric-value): Handle picas correctly - (Bug#12639). - -2012-10-29 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/cl.el (defsetf): Doc fix. - -2012-10-29 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/sh-script.el (sh-font-lock-paren): Also put punctuation - syntax to the matching opener, if any (bug#12547). - (sh-smie-sh-forward-token, sh-smie-sh-backward-token): Recognize this - matching open as a "case-(". - (sh-smie-rc-grammar): Add a corresponding rule for it. - -2012-10-28 Daniel Hackney <dan@haxney.org> - - * emacs-lisp/package.el (package-generate-autoloads): Kill buffer - "PKGNAME-autoloads.el" in case we created it. - -2012-10-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion--sifn-requote): Rewrite to handle things - like Tramp's "/foo:~bar//baz" -> "/scpc:foo:/baz" mapping (bug#11714). - (completion--twq-all): Disable too-strict assertions. - - * tmm.el (tmm-prompt): Use map-keymap (bug#12744). - -2012-10-27 Eli Zaretskii <eliz@gnu.org> - - * profiler.el (profiler-report-make-entry-part): Fix help-echo - text to match the real keybindings. - -2012-10-27 Juri Linkov <juri@jurta.org> - - * wdired.el (wdired-keep-marker-rename): New defcustom. - (wdired-do-renames): Use it instead of `dired-keep-marker-rename'. - (Bug#11795) - - * dired.el (dired-keep-marker-rename): Add reference to - `wdired-keep-marker-rename' in the docstring. - Add default character value ?R to display initially in - Customization UI instead of ?@. - -2012-10-27 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer): In doc-string describe - window-height and window-width alist entries. - - * time.el (display-time-world): Restore fit-window-to-buffer - behavior. - -2012-10-27 Chong Yidong <cyd@gnu.org> - - * subr.el (insert-buffer-substring-as-yank): Doc fix. - -2012-10-26 Jambunathan K <kjambunathan@gmail.com> - - * minibuffer.el (completion-category-overrides): New completion - category `bookmark' (bug#11131). - -2012-10-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el (ad-assemble-advised-definition): - Silence bogus compiler warnings for ad-do-it. - - * bookmark.el (bookmark-completing-read): Set the completion category - to `bookmark' (bug#11131). - -2012-10-26 Bastien <bzg@altern.org> - Stefan Monnier <monnier@iro.umontreal.ca> - - * face-remap.el: Use lexical-binding. - (text-scale-adjust): Improve docstring. Use itself for the temporary - overlay-map bindings, so as to repeat the "Use..." message each time. - -2012-10-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/macroexp.el (macroexp--expand-all): - Obey byte-compile-warning-enabled-p (bug#12486). - - * vc/diff-mode.el (diff-end-of-hunk): Also skip potential "no LF at eol". - (diff-refine-hunk): Similarly, handle the "no LF at eol" (bug#12584). - -2012-10-26 Martin Rudalics <rudalics@gmx.at> - - * mouse.el (mouse-drag-line): Move last form into preceding when - clause (Bug#12731). - - * help.el (resize-temp-buffer-window): Fix doc-string. - -2012-10-25 David Engster <deng@randomsample.de> - - * emacs-lisp/eieio.el (eieio-update-lisp-imenu-expression): - Remove. This feature is already integrated in imenu. - - * emacs-lisp/eieio-opt.el: Remove require for `button' since it is - always loaded. Require `speedbar' unconditionally. - -2012-10-25 Stefan Monnier <monnier@iro.umontreal.ca> - - * dired.el (dired-get-marked-files): Allow ! on . and .. (bug#12725). - - * minibuffer.el (minibuffer-force-complete): Fix thinko. - - * net/ldap.el (ldap-search-internal): The official ldif format starts - with a "version: 1" header (bug#12724). - - * emacs-lisp/package.el (package-installed-p): Warn if not ready - (bug#12721). - -2012-10-25 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/cl-macs.el (cl-progv): Doc fix. - -2012-10-24 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (minibuffer-force-complete): Use one more marker - for the temporary-overlay-map command (bug#12619). - -2012-10-24 Chong Yidong <cyd@gnu.org> - - * time.el (display-time-world-mode): Derive from special-mode. - (display-time-world): Use display-buffer (Bug#12708). - (display-time-world-mode-map): Variable deleted. - (display-time-world-display): Wrap the final delete-char inside - inhibit-read-only. - -2012-10-24 Chong Yidong <cyd@gnu.org> - - * dired.el (dired-mark, dired-unmark, dired-flag-file-deletion): - Doc fix. - - * emacs-lisp/easymenu.el (easy-menu-define): Doc fix (Bug#12628). - -2012-10-24 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion--all-sorted-completions-location): New var. - (completion--cache-all-sorted-completions) - (completion--flush-all-sorted-completions): Use it. - (completion-in-region, completion-in-region--postch) - (completion-at-point, completion-help-at-point): Use markers in - completion-in-region--data (bug#12619). - -2012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/compile.el (compilation-start): Try to handle common - quoting of `cd' argument (bug#12640). - - * vc/diff-mode.el (diff-hunk): `save-excursion' while refining - (bug#12671). - -2012-10-23 Glenn Morris <rgm@gnu.org> - - * progmodes/gud.el (gud-menu-map): - Check gdb-active-process is bound. (Bug#12358) - -2012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * repeat.el (repeat): Set real-this-command (bug#12232). - - * htmlfontify.el (hfy-post-html-hook): - * filesets.el (filesets-cache-fill-content-hook): - * arc-mode.el (archive-extract-hook): - * progmodes/cc-mode.el (c-prepare-bug-report-hook): - * net/rcirc.el (rcirc-sentinel-functions) - (rcirc-receive-message-functions, rcirc-activity-functions) - (rcirc-print-functions): - * net/dbus.el (dbus-event-error-functions): - * emacs-lisp/eieio.el (eieio-pre-method-execution-functions): - * emacs-lisp/checkdoc.el (checkdoc-style-functions) - (checkdoc-comment-style-functions): Don't use "-hooks" suffix. - * term/sun.el (sun-raw-prefix-hooks): - * mail/sendmail.el (mail-yank-hooks): Use make-obsolete-variable. - -2012-10-23 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-smb.el (tramp-smb-maybe-open-connection): - Set `tramp-chunksize' to 1. This improves the performance. - (tramp-smb-wait-for-output): Add timeout to - `tramp-accept-process-output' calls. - -2012-10-23 Chong Yidong <cyd@gnu.org> - - * faces.el (font-list-limit): Define as an obsolete variable. - - * startup.el (command-line): - * cus-start.el: Don't refer to font-list-limit. - - * newcomment.el (comment-normalize-vars): Doc fix (Bug#12583). - -2012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (internal-temp-output-buffer-show): Rename from - temp-output-buffer-show, since previously compiled files expect this name. - -2012-10-23 Glenn Morris <rgm@gnu.org> - - * image.el (image-type-from-file-name): If multiple types match, - return the first one that is supported. (Bug#9045) - -2012-10-22 Glenn Morris <rgm@gnu.org> - - * image.el (imagemagick-enabled-types): Doc fix. - -2012-10-22 Takafumi Arakaki <aka.tkf@gmail.com> (tiny change) - - * progmodes/which-func.el (which-func-current): The hash-table may have - an explicit nil (bug#12338). - -2012-10-22 Stefan Monnier <monnier@iro.umontreal.ca> - - * electric.el (electric-pair-delete-selection-self-insert-function): - Rename to electric-pair-will-use-region, return a boolean. - (electric-pair-mode): Adjust accordingly. Don't require delsel. - - * delsel.el (delete-selection-helper): Use a function instead of a hook. - (delete-selection-pre-hook): Use use-region-p. - (delete-selection-self-insert-function): Remove. - (self-insert-command): Obey self-insert-uses-region-functions. - (self-insert-iso): Revert to previous setting, since we don't actually - know what that command does. - (delete-selection-self-insert-hooks): Remove. - -2012-10-22 Simon Law <sfllaw@sfllaw.ca> (tiny change) - - * delsel.el (delete-selection-helper): New function, extracted from - delete-selection-pre-hook. - (delete-selection-pre-hook): Use it. - (delete-selection-self-insert-function): New function. - (delete-selection-self-insert-hooks): New hook. - (self-insert-command, self-insert-iso): Use it. - * electric.el (electric-pair-syntax): New function, extracted from - electric-pair-post-self-insert-function. - (electric-pair-post-self-insert-function): Use it. - (electric-pair-delete-selection-self-insert-function): New function. - (electric-pair-mode): Require delsel and setup - delete-selection-self-insert-hooks (bug#11520). - -2012-10-20 Chong Yidong <cyd@gnu.org> - - * vc/vc.el (vc-diff-internal): Set up Diff mode even if there are - no changes to show (Bug#12586). - - * eshell/esh-cmd.el (eshell-rewrite-for-command): Copy the body - list explicitly (Bug#12571). - -2012-10-20 Arne Jørgensen <arne@arnested.dk> - - * progmodes/flymake.el (flymake-create-temp-inplace): - Use file-truename. - -2012-10-20 Eli Zaretskii <eliz@gnu.org> - - * loadup.el: Update comment about uncompiled Lisp files. (Bug#12395) - -2012-10-20 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-units.el (math-extract-units): Properly extract powers - of units. - -2012-10-20 Daniel Colascione <dancol@dancol.org> - - * frame.el (make-frame): Set x-display-name as we used to in order - to unbreak creating an X11 frame from an Emacs daemon started - without a display. - -2012-10-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (minibuffer-force-complete): Make the next completion use - the same completion-field (bug#12221). - -2012-10-19 Martin Rudalics <rudalics@gmx.at> - - * emacs-lisp/debug.el (debug): Record height of debugger window - also when debugger will be back (Bug#8789). - -2012-10-18 Chong Yidong <cyd@gnu.org> - - * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): - Convert to defcustom. - (gdb-get-source-file): Don't bind pop-up-windows. - - * progmodes/gud.el (gud-display-line): Don't specially re-use - other frames for the gdb-mi case (Bug#12648). - -2012-10-18 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el: Clean up commentary a bit. - (ad-do-advised-functions, ad-with-originals): Use `declare'. - (byte-code-function-p): Never redefine. - - * emacs-lisp/gv.el (cond): Same fix as before for `if'. - -2012-10-18 Glenn Morris <rgm@gnu.org> - - * dired.el (dired-sort-toggle): Some ls implementations only allow - a single option string. (Bug#12666) - - * minibuffer.el (completion-cycle-threshold): Doc fix. - -2012-10-17 Kenichi Handa <handa@gnu.org> - - * international/mule.el (set-keyboard-coding-system): - Recover input meta mode when the new coding system doesn not use 8-bit. - Supply TERMINAL arg to set-input-meta-mode. - -2012-10-17 Michael Heerdegen <michael_heerdegen@web.de> - - * wdired.el (wdired-old-marks): New variable. - (wdired-change-to-wdired-mode): Locally set wdired-old-marks. - (wdired-do-renames): Move point with renamed file and don't lose - mark status (Bug#11795). - -2012-10-16 Juri Linkov <juri@jurta.org> - - * replace.el (query-replace-help): Mention multi-buffer replacement - keys in the Help message. (Bug#12655) - -2012-10-15 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/byte-run.el (defsubst): Doc fix. - -2012-10-14 Eli Zaretskii <eliz@gnu.org> - - * window.el (display-buffer): Doc fix. - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Adjust the msft regexp to the output of Studio 2010, and move msft - before edg-1. See the discussion on emacs-devel, - http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00579.html, - for the details. - -2012-10-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/eieio.el (eieio-oset-default, eieio-oset, oset-default) - (oset): Move uses of object-class-fast macro after its definition. - - * emacs-lisp/gv.el (if): Don't use closures in non-lexical-binding code. - -2012-10-13 Chong Yidong <cyd@gnu.org> - - * textmodes/ispell.el (ispell-pdict-save): If flyspell-mode is - enabled, re-enable it (Bug#11963). - -2012-10-13 Martin Rudalics <rudalics@gmx.at> - - * emacs-lisp/debug.el (debug): When debugger-will-be-back is - non-nil, restore window configuration (Bug#12623). - -2012-10-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * help-fns.el (describe-variable, describe-function-1): - * help-mode.el (help-make-xrefs): Remove error handler, made unneeded. - - * emacs-lisp/eieio.el (lisp-imenu-generic-expression): Fix typo. - -2012-10-12 Glenn Morris <rgm@gnu.org> - - * mail/rmailsum.el (rmail-header-summary): - Fix 2010-11-26 test for multiline Subject: field. (Bug#12625) - -2012-10-12 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-mode-map): - Replace subtitute-key-definition with proper command remapping. - (python-nav--up-list): Fix behavior for blocks on the same level. - -2012-10-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * help-fns.el (describe-function-1): Handle autoloads w/o docstrings. - - * emacs-lisp/bytecomp.el (byte-compile-eval): Adjust to long-ago - changes to the format of load-history. - - * international/mule-cmds.el (read-char-by-name): Move let-binding of - completion-ignore-case in case that var is buffer-local (bug#12615). - -2012-10-11 Kenichi Handa <handa@gnu.org> - - * international/eucjp-ms.el: Re-generated. - -2012-10-10 Kenichi Handa <handa@gnu.org> - - * select.el (xselect--encode-string): If a coding is specified for - selection, and that is compatible with COMPOUND_TEXT, use it. - -2012-10-10 Martin Rudalics <rudalics@gmx.at> - - * window.el (switch-to-buffer-preserve-window-point): New option. - (switch-to-buffer): - Obey `switch-to-buffer-preserve-window-point' (Bug#4041). - -2012-10-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * newcomment.el (comment-start-skip, comment-end-skip, comment-end): - Don't document nil as a useful value (bug#12583). - -2012-10-09 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-debug-message): - Remove "tramp-with-progress-reporter" from regexp of ignored functions. - (with-tramp-progress-reporter): Rename from - `tramp-with-progress-reporter'. - (with-tramp-file-property, with-tramp-connection-property): - Move from tramp-cache.el, rename from `with-file-property' and - `with-connection-property', respectively. - - * net/tramp-cache.el: Remove `with-file-property' and - `with-connection-property'. - - * net/tramp.el: - * net/tramp-gvfs.el: - * net/tramp-sh.el: - * net/tramp-smb.el: Adapt callees. - - * net/trampver.el: Update release number. - -2012-10-09 Glenn Morris <rgm@gnu.org> - - * w32-fns.el (set-message-beep): - * term/w32-win.el (set-message-beep): Update declarations. - -2012-10-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * bindings.el (mode-line-toggle-read-only, mode-line-toggle-modified) - (mode-line-widen, mode-line-input-method-map) - (mode-line-coding-system-map, mode-line-remote) - (mode-line-unbury-buffer, mode-line-bury-buffer) - (mode-line-next-buffer, mode-line-previous-buffer): - Replace save-selected-window+select-window => with-selected-window. - - * progmodes/cc-bytecomp.el (cc-bytecomp-defmacro): Remove, unused. - * progmodes/cc-vars.el (bq-process): Remove, unused. - - * emacs-lisp/cl-macs.el (cl-defstruct): Obey the :read-only property. - -2012-10-09 Fabián Ezequiel Gallina <fgallina@cuca> - - Implemented `backward-up-list'-like navigation. - * progmodes/python.el (python-nav-up-list) - (python-nav-backward-up-list): New functions. - (python-mode-map): Define substitute key for backward-up-list to - python-nav-backward-up-list. - -2012-10-08 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-fill-paragraph): Rename from - python-fill-paragraph-function. Fixed fill-paragraph for - decorators (Bug#12605). - -2012-10-08 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-shell-output-filter): Handle extra - carriage return in OSX (Bug#12409). - -2012-10-08 Fabián Ezequiel Gallina <fgallina@cuca> - - Fix shell handling of unbalanced quotes and parens in output. - * progmodes/python.el (python-rx-constituents): Add string-delimiter. - (python-syntax-propertize-function): Use it. - (python-shell-output-syntax-table): New var. - (inferior-python-mode): Prevent unbalanced parens/quotes from - previous output mess with current input context. - -2012-10-08 Juanma Barranquero <lekktu@gmail.com> - - * generic-x.el (javascript-generic-mode, javascript-generic-mode-hook): - Make obsolete aliases of js-mode and js-mode-hook (from js.el). - -2012-10-08 Michael Albinus <michael.albinus@gmx.de> - - * ffap.el (ffap-replace-file-component): Support Tramp file name - syntax, not only ange-ftp's one. - -2012-10-08 Glenn Morris <rgm@gnu.org> - - * cus-start.el (message-log-max): Set :version. - - * calendar/calendar.el (calendar-intermonth-header): Doc fix. - -2012-10-08 Martin Rudalics <rudalics@gmx.at> - - * emacs-lisp/edebug.el (edebug-pop-to-buffer): Don't try to split - the minibuffer window (Bug#10851). - -2012-10-08 Fabián Ezequiel Gallina <fgallina@cuca> - - Enhancements on forward-sexp movement. - * progmodes/python.el (python-nav-beginning-of-statement) - (python-nav-end-of-statement): Return point-marker. - (python-nav-forward-sexp): lisp-like forward-sexp behavior. - (python-info-current-symbol) - (python-info-statement-starts-block-p): Rename from - python-info-beginning-of-block-p. - (python-info-statement-ends-block-p): Rename from - python-info-end-of-block-p. - (python-info-beginning-of-statement-p) - (python-info-end-of-statement-p) - (python-info-beginning-of-block-p, python-info-end-of-block-p): - New functions. - -2012-10-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * comint.el (comint-preinput-scroll-to-bottom): Preserve the - frame-selected-windows. - -2012-10-08 Daniel Colascione <dancol@dancol.org> - - * battery.el (battery-status-function): Check for - w32-battery-status itself, not system-time windows-nt. - - * frame.el: Require cl-lib. - (display-format-alist): New variable mapping frame types to - functions that initialize them. - (window-system-for-display): New function: interprets - display-format-alist. - (make-frame-on-display): Remove existing display-selection logic - and just forward to make-frame, which will now DTRT. - (make-frame): Restructure to use window-system-for-display to - figure out how to create a frame on a given display. - (display-mouse-p): Look for frame-type w32, not a particular - system-type. - - * loadup.el: Load w32 lisp code when we have the w32 feature. - - * mouse.el (mouse-yank-primarY): Look for frame-type w32, not - system-type windows-nt. - - * server.el (server-create-window-system-frame): Look for window - type. - (server-proces-filter): Only force a window system when windows-nt - _and_ w32. Explain why. - - * simple.el (normal-erase-is-backspace-mode): Add w32 to the list - of window systems we configure for the mode. - - * startup.el (command-line): Mark window system is initialized - after we've done it. - - * common-win.el (x-select-text): Look for w32, not windows-nt. - - * ns-win.el: Require cl-lib. Add ourselves to - display-format-alist. - (ns-initialize-window-system): Assert we're not initialized twice. - - * w32-win.el: Enable lexical binding; require cl-lib; add - ourselves to display-format-alist. - (w32-handle-dropped-file): Convert incoming dropped files from - Windows paths to Cygwin ones before passing them on to the rest of - Emacs. - (w32-drag-n-drop): New paramter new-frame. Simplify logic. - (w32-initialize-window-system): Assert we're not initialized twice. - - * x-win.el: Require cl-lib; add ourselves to display-format-alist. - (x-initialize-window-system): Assert we're not initialized twice. - - * w32-common-fns.el: New File. - (w32-version, w32-using-nt, w32-get-clipboard-data) - (w32-set-clipboard-data, x-set-selection, x-get-selection) - (w32-charset-info-alist, x-last-selected, text) - (x-get-selection-value, x-selection-value): Move here. - - * w32-fns.el: Require w32-common-fns. - (w32-version, w32-using-nt, w32-get-clipboard-data) - (w32-set-clipboard-data, x-set-selection, x-get-selection) - (w32-charset-info-alist, x-last-selected, text) - (x-get-selection-value, x-selection-value): Move to - w32-common-fns. - - * w32-vars.el: - (w32-allow-system-shell, w32-system-shells): Define only in - non-cygwin case. - -2012-10-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (read-passwd-map): Don't use `defconst' (bug#12597). - (read-passwd): Remove a few more potential sources of leaks. - -2012-10-07 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (inferior-python-mode) - (python-shell-make-comint): Fix initialization of local - variables copied from parent buffer. - -2012-10-07 Jan Djärv <jan.h.d@swipnet.se> - - * term/ns-win.el (ns-read-file-name): Update declaration to match - nsfns.m. - (ns-respond-to-change-font): Change fontsize separately so we are sure - it is set when font is acted upon. - -2012-10-07 Fabián Ezequiel Gallina <fgallina@cuca> - - Enhancements to indentation. - * progmodes/python.el (python-indent-context): Give priority to - inside-string context. Make comments indentation markers. - (python-indent-region): Do not mess with strings, unless it's the - enclosing set of quotes. - -2012-10-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * window.el (internal--before-save-selected-window) - (internal--after-save-selected-window): New functions extracted from - save-selected-window. Make sure we return the `alist' we construct. - (save-selected-window): Use them. - - * textmodes/tex-mode.el (tex-recenter-output-buffer): - Use with-selected-window. - - * emacs-lisp/autoload.el (make-autoload): Add `cl-defmacro' to the - forms that define macros (bug#12593). - -2012-10-07 Kenichi Handa <handa@gnu.org> - - * international/mule-conf.el (compound-text-with-extensions): - Add :mime-charset property as x-ctext. - -2012-10-07 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el (rst-new-adornment-down, rst-indent-field) - (rst-indent-literal-normal, rst-indent-literal-minimized) - (rst-indent-comment): Correct :version tag. - (rst-official-cvs-rev): Correct version string. - -2012-10-07 Glenn Morris <rgm@gnu.org> - - * mail/rmailmm.el (rmail-mime-process-multipart): - Do not confuse a multipart message with an epilogue - with a "truncated" one; fixes 2011-06-27 change. (Bug#10101) - -2012-10-07 Fabián Ezequiel Gallina <fgallina@cuca> - - Fix shell output retrieval and comint-prompt-regexp init. - * progmodes/python.el (inferior-python-mode): - (python-shell-make-comint): Fix initialization of - comint-prompt-regexp from copied file local variables. - (python-shell-fetched-lines): Remove var. - (python-shell-output-filter-in-progress): Rename from - python-shell-fetch-lines-in-progress. - (python-shell-output-filter-buffer): Rename from - python-shell-fetch-lines-string. - (python-shell-fetch-lines-filter): Delete function. - (python-shell-output-filter): New function. - (python-shell-send-string-no-output): Use them. - -2012-10-07 Glenn Morris <rgm@gnu.org> - - * hi-lock.el (hi-lock-process-phrase): - Try to make it less fragile. (Bug#7161) - - * hi-lock.el (hi-lock-face-phrase-buffer): Doc fix. - -2012-10-06 Glenn Morris <rgm@gnu.org> - - * ehelp.el (electric-help-mode): Use help-mode rather than - non-existent mode `help'. - (electric-help-map): Use button-buffer-map. (Bug#10917) - - * textmodes/reftex-vars.el (reftex-create-bibtex-header) - (reftex-create-bibtex-footer): Fix custom types. - - * progmodes/sh-script.el (sh-indent-after-continuation): - Add explicit :group. - - * textmodes/rst.el (rst-preferred-decorations) - (rst-shift-basic-offset): Clarify obsolescence versions. - - * profiler.el (profiler): Add missing group :version tag. - * avoid.el (mouse-avoidance-banish-position): - * proced.el (proced-renice-command): - * calc/calc.el (calc-ensure-consistent-units): - * calendar/icalendar.el (icalendar-import-format-uid): - * net/tramp.el (tramp-save-ad-hoc-proxies): - * progmodes/bug-reference.el (bug-reference-bug-regexp): - * progmodes/flymake.el (flymake-error-bitmap) - (flymake-warning-bitmap, flymake-fringe-indicator-position): - * progmodes/sh-script.el (sh-indent-after-continuation): - * progmodes/verilog-mode.el (verilog-auto-template-warn-unused) - (verilog-before-save-font-hook, verilog-after-save-font-hook): - * progmodes/vhdl-mode.el (vhdl-makefile-default-targets) - (vhdl-array-index-record-field-in-sensitivity-list) - (vhdl-indent-comment-like-next-code-line): - * textmodes/reftex-vars.el (reftex-ref-style-alist) - (reftex-ref-macro-prompt, reftex-ref-style-default-list) - (reftex-cite-key-separator, reftex-create-bibtex-header) - (reftex-create-bibtex-footer): - * textmodes/rst.el (rst-new-adornment-down, rst-indent-field) - (rst-indent-literal-normal, rst-indent-literal-minimized) - (rst-indent-comment): Add missing custom :version tags. - - * calendar/timeclock.el (timeclock-modeline-display): - Add missing obsolete alias for renamed user option. - - * strokes.el (strokes-modeline-string): - * emulation/crisp.el (crisp-mode-modeline-string): - * eshell/esh-mode.el (eshell-status-in-modeline): - Aliases to defcustoms must come before the defcustom. - - * calendar/cal-tex.el (cal-tex-diary, cal-tex-cursor-week) - (cal-tex-cursor-week2, cal-tex-cursor-week-iso) - (cal-tex-cursor-week-monday): Doc fixes. - (cal-tex-cursor-week2-summary): Doc fix. - Rename from cal-tex-cursor-week-at-a-glance. - - * calendar/cal-menu.el (cal-menu-context-mouse-menu): - Tweak week descriptions. Add cal-tex-cursor-week2-summary. - - * calendar/calendar.el (calendar-mode-map): - Add cal-tex-cursor-week2-summary. - -2012-10-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl-defstruct): Improve docstring. - - * subr.el (read-passwd-map): New var. - (read-passwd): Use `read-string' again. - * minibuffer.el (delete-minibuffer-contents): Make it interactive. - -2012-10-06 Jambunathan K <kjambunathan@gmail.com> - - * register.el (append-to-register, prepend-to-register): - Deactivate mark, as does `copy-to-register' (bug#12389). - -2012-10-06 Chong Yidong <cyd@gnu.org> - - * files.el (auto-mode-alist): Add .by and .wy (Semantic grammars). - -2012-10-06 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change) - - * international/characters.el: Fix simple mistake ((car chars) -> - elt), delete duplicated code. - -2012-10-06 Glenn Morris <rgm@gnu.org> - - * subr.el (read-passwd): Allow C-u to erase entry. (Bug#12570) - -2012-10-06 Julian Scheid <julians37@gmail.com> (tiny change) - - * color.el (color-hsl-to-rgb): Fix incorrect results for - small and large hue values. (Bug#12559) - -2012-10-05 Fabián Ezequiel Gallina <fgallina@cuca> - - Enhancements to docstring formatting when filling paragraphs. - * progmodes/python.el (python-fill-docstring-style): Rename from - python-fill-string-style. Added new style. - (python-fill-string): Use new style. Better checks for - docstrings. - -2012-10-05 Glenn Morris <rgm@gnu.org> - - * net/newst-treeview.el (newsticker-group-move-feed): Doc fix. - - * color.el (color-name-to-rgb, color-rgb-to-hex) - (color-hue-to-rgb, color-hsl-to-rgb, color-rgb-to-hsv) - (color-rgb-to-hsl, color-srgb-to-xyz, color-saturate-hsl) - (color-desaturate-hsl, color-desaturate-name, color-lighten-hsl) - (color-lighten-name, color-darken-hsl, color-darken-name): Doc fixes. - - * emacs-lisp/timer.el (with-timeout): Add missing progn. (Bug#12577) - -2012-10-05 Juanma Barranquero <lekktu@gmail.com> - - * ido.el (ido-directory-too-big-p): Pass dir through file-truename - to get the correct size across symlinks. - - * ido.el (ido-buffer-disable-smart-matches): Fix typo in docstring. - -2012-10-04 Juri Linkov <juri@jurta.org> - - * replace.el (query-replace-interactive): Declare obsolete. - (query-replace-read-from): Add the last incremental search string - to the list of default values accessible via M-n. - (map-query-replace-regexp): Use `read-regexp'. - (query-replace, query-replace-regexp, query-replace-regexp-eval) - (map-query-replace-regexp, replace-string, replace-regexp): - Fix docstrings to replace mentions of `query-replace-interactive' - with alternatives. (Bug#12526) - -2012-10-04 Juri Linkov <juri@jurta.org> - - * dired.el (dired-shrink-to-fit): Declare obsolete. (Bug#1806) - (dired-pop-to-buffer): Declare obsolete. - (dired-mark-pop-up): Doc fix. - -2012-10-04 Fabián Ezequiel Gallina <fgallina@cuca> - - Allow user to set docstring style for fill-paragraph. - * progmodes/python.el - (python-fill-comment-function, python-fill-string-function) - (python-fill-decorator-function, python-fill-paren-function): - Remove :safe for defcustoms. - (python-fill-string-style): New defcustom - (python-fill-paragraph-function): Enhance context detection. - (python-fill-string): Honor python-fill-string-style settings. - -2012-10-04 Martin Rudalics <rudalics@gmx.at> - - * emacs-lisp/edebug.el (edebug-pop-to-buffer): Select window - after setting its buffer (Bug#10805). - -2012-10-03 Fabián Ezequiel Gallina <fgallina@cuca> - - Fix cornercase for string syntax. - * progmodes/python.el (python-syntax-propertize-function): - Simplify and enhance the regexp for unescaped quotes. Now it also - matches quotes in weird situations like the single quote in - "something\"'". - (python-syntax-stringify): Simplify num-quotes detecting code. - -2012-10-03 Glenn Morris <rgm@gnu.org> - - * help-macro.el (three-step-help): - Revert 2012-09-29 change. (Bug#12567) - -2012-10-03 Martin Rudalics <rudalics@gmx.at> - - * menu-bar.el (kill-this-buffer): Don't do anything when - `menu-frame' is not alive or visible (Bug#8184). - - * emacs-lisp/debug.el (debug): When quitting the debugger window - restore current buffer (Bug#12502). - -2012-10-02 Chong Yidong <cyd@gnu.org> - - * progmodes/hideif.el (hif-lookup, hif-defined): - Handle semantic-c-takeover-hideif. - -2012-10-02 Paul Eggert <eggert@cs.ucla.edu> - - Change sampling interval units from ms to ns. - * profiler.el (profiler-sampling-interval): Change units - from ms to ns, multiplying the default by 1000000 so that - it remains 1 ms. - (profiler-report-cpu-line-format): Give enough room for - the maximum counters on 64-bit hosts. - (profiler-report-render-calltree-1): Call them "CPU samples", - not "Time (ms)", since they are not milliseconds now (and - never really were). - -2012-10-02 Sergio Durigan Junior <sergiodj@riseup.net> (tiny change) - - * net/eudcb-bbdb.el (eudc-bbdb-format-record-as-result): - Fix querying BBDB for entries without a last name (Bug#11580). - -2012-10-02 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/eieio.el: Restore Version header. - -2012-10-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/diff-mode.el (diff--auto-refine-data): New var. - (diff-hunk): Use it to delay refinement. - (diff-mode): Remove overlays when we turn off font-lock. - - * textmodes/table.el: Use lexical-binding, dolist, define-minor-mode. - (table-initialize-table-fixed-width-mode) - (table-set-table-fixed-width-mode): Remove functions. - (table-command-list): Move initialization into declaration. - (table--tweak-menu-for-xemacs): Move defun outside mapcar. - (table-with-cache-buffer): Use `declare'. - (table-span-cell): Simplify via CSE. - (table-fixed-width-mode): Use define-minor-mode. - (table-call-interactively, table-funcall, table-apply): Remove. - (table-function): New function, to replace them. - - * bookmark.el (bookmark-search-pattern): Remove var. - (bookmark-read-search-input): Remove function. - (bookmark-bmenu-search): Reimplement using a minibuffer. - - * faces.el (modeline): Remove obsolete face name. - - * vc/add-log.el (add-log-buffer-file-name-function): Demote to defvar - and give a non-nil default value. - (add-change-log-entry): Simplify accordingly. - -2012-10-01 Dmitry Gutov <dgutov@yandex.ru> - - * vc/vc-git.el (vc-git-log-edit-toggle-signoff): New function. - (vc-git-log-edit-toggle-amend): New function. - (vc-git-log-edit-toggle-signoff): New function. - (vc-git-log-edit-mode): New major mode. - (vc-git-log-edit-mode-map): Keymap for it. - (vc-git-checkin): Handle "Amend" and "Sign-Off" headers. - - * vc/log-edit.el (log-edit-font-lock-keywords): Allow hyphens in - header names. - (log-edit-toggle-header): New function. - (log-edit-extract-headers): Accept function values in HEADERS alist. - -2012-10-01 David Engster <deng@randomsample.de> - - * emacs-lisp/eieio-opt.el (eieio-describe-class): Add filename - from symbol property and change message to be more consistent with - Emacs proper. - (eieio-describe-generic): Add filename for each implementation. - Fix indices for generic and normal methods. - (eieio-method-def, eieio-class-def): New buttons. - (eieio-help-find-method-definition) - (eieio-help-find-class-definition): New functions. - (eieio-help-mode-augmentation-maybee): Add buttons to filenames of - class, constructor and method definitions. - - * emacs-lisp/eieio.el (eieiomt-add, eieio-defclass): Save file - information in symbol property. - (scoped-class): Remove. - (eieio-slot-name-index, call-next-method): Check if it is bound. - -2012-10-01 Leo P. White <lpw25@cam.ac.uk> - - * emacs-lisp/eieio-custom.el (eieio-custom-mode-map): New option. - (eieio-custom-mode): New major mode. - (eieio-customize-object): Use it. - -2012-10-01 Eric Ludlam <zappo@gnu.org> - - * emacs-lisp/eieio-base.el (eieio-persistent-read): New input args - specifying the expected class, and whether subclassing is allowed. - (eieio-persistent-convert-list-to-object): - (eieio-persistent-validate/fix-slot-value) - (eieio-persistent-slot-type-is-class-p): New functions. - (eieio-named::slot-missing): Doc fix. - - * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): - Stop using unused publd variable. - - * emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click): - (eieio-speedbar-description, eieio-speedbar-derive-line-path) - (eieio-speedbar-object-buttonname, eieio-speedbar-make-tag-line) - (eieio-speedbar-handle-click): Do not specify a class for the - method. Fixes method invocation order problems with EDE. - -2012-10-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (byte-compiler-abbreviate-file): New function. - (byte-compile-warning-prefix, byte-compile-file): Use it (bug#12508). - -2012-10-01 Karl Fogel <kfogel@red-bean.com> - - * bookmark.el (bookmark-version-control): Give tags in the - :type choices (Bug#12309), and improve doc string. - (bookmark-write-file): Bind `print-circle' to `t' to allow - circular custom bookmark types. (Bug#12503) - -2012-10-01 Paul Eggert <eggert@cs.ucla.edu> - - Revert the FOLLOW-SYMLINKS change for file-attributes. - * files.el (remote-file-name-inhibit-cache, after-find-file): - * time.el (display-time-file-nonempty-p): Undo last change. - - * profiler.el (profiler-sampling-interval): Change default back to 1. - See Stefan Monnier in - <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00863.html>. - -2012-10-01 Fabián Ezequiel Gallina <fgallina@cuca> - - Shell output catching a la gud-gdb. - * progmodes/python.el (python-shell-fetch-lines-in-progress) - (python-shell-fetch-lines-string, python-shell-fetched-lines): - New Vars. - (python-shell-fetch-lines-filter): New function. - (python-shell-send-string-no-output): Use them. - -2012-09-30 Tomohiro Matsuyama <tomo@cx4a.org> - - * profiler.el (profiler-sampling-interval): Rename from - profiler-sample-interval. - (profiler-sampling-interval): Default to 10. - (profiler-find-profile): New command (was profiler-find-log). - (profiler-find-profile-other-window): New command. - (profiler-find-profile-other-frame): New command. - (profiler-profile): Introduce API-level data structure. - -2012-09-30 Paul Eggert <eggert@cs.ucla.edu> - - file-attributes has a new optional arg FOLLOW-SYMLINKS. - * files.el (remote-file-name-inhibit-cache): - * time.el (display-time-file-nonempty-p): Use it. - * files.el (after-find-file): Don't chase links before calling - file-exists-p, as file-exists-p already does the right thing. - -2012-09-30 Ralf Angeli <angeli@caeruleus.net> - - Merge from standalone RefTeX repository. - - The following ChangeLog entries are shortened versions of the - original ones with file paths adapted. A not so strongly edited - version of the original ChangeLog can be found in the commit log. - - * textmodes/reftex-auc.el: Move `provide' call to bottom of file. - (reftex-arg-cite): Use `reftex-cite-key-separator'. - Correctly handle new value type returned by `reftex-citation'. - - * textmodes/reftex-cite.el (reftex-create-bibtex-file): Make sure - that entries with whitespace at various places are found. - Doc fix. Include entries that are cross-referenced from cited entries. - Include @String definitions in the resulting bib file. Add header - and footer defined in `reftex-create-bibtex-header' and - `reftex-create-bibtex-footer'. - (reftex-do-citation): Make it possible again to insert - non-existent entries. Save match data when asking for optional - arguments. Return all keys, not just the first one. - (reftex-all-used-citation-keys): Fix regexp to correctly extract - all citations in the same line. - (reftex-parse-bibtex-entry): Accept additional optional argument - `raw' and keep quotes or braces if it is non-nil. Match fields - containing hyphens besides word constituents. - (reftex-get-string-refs): New function. - (reftex-extract-bib-entries): Check if BibTeX file changed on disk - and ask if it should be reread in case it did. - (reftex-pop-to-bibtex-entry) - (reftex-extract-bib-entries-from-thebibliography): Match \bibitem - entries with spaces or tabs in front of arguments. - (reftex-pop-to-bibtex-entry, reftex-extract-bib-entries) - (reftex-parse-bibtex-entry, reftex-create-bibtex-file): - Match entries containing numbers and symbol constituents. - (reftex-do-citation, reftex-figure-out-cite-format): - Use `reftex-cite-key-separator'. - - * textmodes/reftex-dcr.el: Move provide statement to end of file. - (reftex-mouse-view-crossref): Explain why point is set. - - * textmodes/reftex-global.el: Whitespace changes. - - * textmodes/reftex-index.el: Move provide statement to end of - file. - (reftex-index-selection-or-word): Use `reftex-region-active-p'. - (reftex-index-visit-phrases-buffer): Set marker when visiting - buffer. This allows for returning from the phrases file to the - file one was just editing instead of the file where the last - phrases was added from. - (reftex-index-phrases-syntax-table): New variable. Give ?\" - punctuation syntax as it usually is not used as string quote in - TeX-related modes and may occur unmatched. The change also - prevents fontification of quoted content. - (reftex-index-phrases-mode): Use it. - - * textmodes/reftex-parse.el (reftex-parse-from-file): - Move backward one char if a `\' was matched after a section macro. - (reftex-parse-from-file): Use beginning of match instead of end as - bound. - - * textmodes/reftex-ref.el: Adapt creation of - `reftex-<package>-<macro>' functions to new structure of - `reftex-ref-style-alist'. - (reftex-reference): Use `reftex-ref-style-list' function. - Adapt to new structure of `reftex-ref-style-alist'. Prompt for a - reference macro if `reftex-ref-macro-prompt' is non-nil. - (reftex-reference): Pass refstyle to `reftex-format-special'. - Determine reference macro by looking at - `reftex-ref-style-default-list' and `reftex-ref-style-alist'. - Use only one special format function. - (reftex-varioref-vref, reftex-fancyref-fref) - (reftex-fancyref-Fref): Remove definitions. The functions are now - generated from `reftex-ref-style-alist'. - (reftex-format-vref, reftex-format-Fref, reftex-format-fref): - Remove. - (reftex-format-special): New function. - - * textmodes/reftex-sel.el - (reftex-select-cycle-ref-style-internal): Adapt to new structure - of `reftex-ref-style-alist'. Remove code for testing macro type. - (reftex-select-toggle-varioref) - (reftex-select-toggle-fancyref): Remove. - (reftex-select-cycle-ref-style-internal) - (reftex-select-cycle-ref-style-forward) - (reftex-select-cycle-ref-style-backward): New functions. - (reftex-select-label-map): Use `v' and `V' for general cycling - through reference styles. Add `p' for switching between number - and page reference types. - - * textmodes/reftex-toc.el (reftex-re-enlarge): - Call `enlarge-window' only if there is something to do because in Emacs - the horizontal version throws an error even if the parameter is 0. - - * textmodes/reftex-vars.el (reftex-label-alist): Doc fix. - (reftex-plug-into-AUCTeX): Doc fix. - (reftex-vref-is-default, reftex-fref-is-default): Adapt doc - string. Adapt to new name. - (reftex-ref-style-alist): Change structure so that it is not - possible to use multiple different package names within a style. - Remove the symbols for symbols for macro type distinction. - Add characters for macro selection. - (reftex-ref-macro-prompt, reftex-create-bibtex-header) - (reftex-create-bibtex-footer): New variables. - (reftex-format-ref-function): Mention third argument of special - format function. - (reftex-ref-style-alist, reftex-ref-style-default-list): - New variables. - (reftex-vref-is-default, reftex-fref-is-default): Adapt doc string - to new implementation. Mark as obsolete. Add compatibility code - for honoring the variable values in case they are set. - (reftex-cite-format-builtin, reftex-bibliography-commands): - Add support for ConTeXt. - (reftex-format-ref-function, reftex-format-cite-function): - Fix custom type. - (reftex-cite-key-separator): New variable. - - * textmodes/reftex.el (reftex-syntax-table-for-bib) - (reftex-mode): Do not derive `reftex-syntax-table-for-bib' from - `reftex-syntax-table' because parens have to retain their paren - syntax in order for parsing of BibTeX entries like @book(...) to - work. - (reftex-in-comment): Do not error out if `comment-start-skip' is - not set. Deal correctly with escaped comment characters. - (reftex-tie-multifile-symbols): Add doc string. - Initialize `reftex-ref-style-list'. - (reftex-untie-multifile-symbols): Add doc string. - (reftex-add-index-macros): Doc fix. - (reftex-ref-style-activate, reftex-ref-style-toggle) - (reftex-ref-style-list): New functions. - (reftex-mode-menu): Use them. Adapt to new structure of - `reftex-ref-style-alist'. - (reftex-select-with-char): Kill the RefTeX Select buffer when - done. - (reftex-remove-if): New function. - (reftex-erase-all-selection-and-index-buffers) - (reftex-mode-menu): Reference styles are now computed from - `reftex-ref-style-alist'. Fix typo. - (reftex-report-bug): New function. - (reftex-uniquify, reftex-uniquify-by-car): Replace O(n^2) - algorithms with O(n log n). Introduce optional argument SORT (not - yet used). - -2012-09-30 Fabián Ezequiel Gallina <fgallina@cuca> - - Enhancements for triple-quote string syntax. - * progmodes/python.el (python-syntax-propertize-function): - Match both quote cases in one regexp. - (python-syntax-stringify): Handle matches properly. - -2012-09-30 Juri Linkov <juri@jurta.org> - - * arc-mode.el (archive-summarize): Let-bind `buffer-file-truename' - to nil around the call to `insert' to prevent - directory time modification by lock_file. (Bug#2295) - * tar-mode.el (tar-summarize-buffer): Idem. - -2012-09-30 Juri Linkov <juri@jurta.org> - - * facemenu.el (list-colors-sort): Add option "Luminance". - (list-colors-sort-key): Implement it. - - * vc/diff-mode.el (diff-refine-removed): - * vc/ediff-init.el (ediff-fine-diff-A): - * vc/smerge-mode.el (smerge-refined-removed): - Change background color "#ffaaaa" to "#ffbbbb". (Bug#10181) - -2012-09-30 Jan Djärv <jan.h.d@swipnet.se> - - * term/ns-win.el (x-file-dialog): New function. - -2012-09-30 Juanma Barranquero <lekktu@gmail.com> - - * ido.el (ido-max-directory-size): Default to nil; the current - default is small for POSIX systems, and impractical on Windows 7 - now that lstat returns directory sizes for NTFS. - -2012-09-30 Martin Rudalics <rudalics@gmx.at> - - In buffer display functions handle window-height/window-width - alist entries. Suggested by Juri Linkov as fix for Bug#1806. - * window.el (window--display-buffer): New argument ALIST. - Obey window-height and window-width alist entries. - (window--try-to-split-window): New argument ALIST. - Bind window-combination-limit to t when the window's size shall be - changed and window-combination-limit equals `window-size'. - (display-buffer-in-atom-window) - (display-buffer-in-major-side-window) - (display-buffer-in-side-window, display-buffer-same-window) - (display-buffer-reuse-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-window, display-buffer-below-selected) - (display-buffer-at-bottom, display-buffer-in-previous-window) - (display-buffer-use-some-window): Adjust all callers of - window--display-buffer and window--try-to-split-window. - (fit-frame-to-buffer): New option. - (fit-window-to-buffer): Can resize frames if fit-frame-to-buffer - is non-nil. - (display-buffer-in-major-side-window): Evaluate window-height / - window-width alist entries. - - * help.el (temp-buffer-resize-frames) - (temp-buffer-resize-regexps): Remove options. - (temp-buffer-resize-mode): Adjust doc-string. - (resize-temp-buffer-window): Don't consult - temp-buffer-resize-regexps. Use fit-frame-to-buffer instead of - temp-buffer-resize-frames. - - * dired.el (dired-mark-pop-up): - Call display-buffer-below-selected with a fit-window-to-buffer alist - entry. - -2012-09-30 Chong Yidong <cyd@gnu.org> - - * server.el (server-host): Document the security implications. - (server-auth-key): Doc fix. - - * startup.el (initial-buffer-choice): Doc fix. - - * minibuffer.el (minibuffer-local-filename-syntax): Doc fix. - - * simple.el (delete-trailing-whitespace): Avoid an unnecessary - restriction change. - - * bindings.el (goto-map): Bind M-g TAB to move-to-column. - - * help-fns.el (help-fns--obsolete): Fix last change. - -2012-09-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * winner.el (winner-mode-map): Obey winner-dont-bind-my-keys here. - (minor-mode-map-alist): Remove redundant code. - - * vc/pcvs.el (cvs-cleanup-collection): Keep entries that are currently - visited in a buffer. - (cvs-insert-visited-file): New function. - (find-file-hook): Use it. - - * vc/pcvs-info.el (cvs-fileinfo-pp): Don't use non-existent faces. - - * vc/log-edit.el (log-edit-font-lock-keywords): Ignore case to - chose face. - (log-edit-empty-buffer-p): Don't require a space after a header. - - * vc/ediff-util.el (ediff-diff-at-point): Don't assume point-min==1. - - * tutorial.el (help-with-tutorial): Use minibuffer-with-setup-hook. - - * textmodes/text-mode.el (paragraph-indent-minor-mode): Make it - a proper minor-mode. - - * textmodes/tex-mode.el (tex-mode-map): Don't bind paren keys. - -2012-09-29 Glenn Morris <rgm@gnu.org> - - * winner.el (winner-mode): Remove variable (let define-minor-mode - handle it). - (winner-dont-bind-my-keys, winner-boring-buffers, winner-mode-hook): - Doc fixes. - (winner-mode-leave-hook): Rename to winner-mode-off-hook. - (winner-mode): Use define-minor-mode. - - * vc/vc-sccs.el (vc-sccs-registered): Use the progn trick to get - the full definition in loaddefs, rather than duplicating it. - - * help-macro.el (three-step-help): No need to autoload defcustom. - - * progmodes/inf-lisp.el (inferior-lisp-filter-regexp) - (inferior-lisp-program, inferior-lisp-load-command) - (inferior-lisp-prompt, inferior-lisp-mode-hook): - No need to autoload defcustoms. - - * hippie-exp.el (hippie-expand-try-functions-list) - (hippie-expand-verbose, hippie-expand-dabbrev-skip-space) - (hippie-expand-dabbrev-as-symbol, hippie-expand-no-restriction) - (hippie-expand-max-buffers, hippie-expand-ignore-buffers) - (hippie-expand-only-buffers): No need to autoload defcustoms. - * progmodes/vhdl-mode.el (vhdl-line-expand): - Explicitly load hippie-exp, so it does not get autoloaded - while hippie-expand-try-functions-list is let-bound. - -2012-09-28 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/cl.el (flet): Fix case of obsolescence message. - - * emacs-lisp/bytecomp.el (byte-compile-cl-file-p): - Only "cl.el" counts as cl these days. - -2012-09-28 Juri Linkov <juri@jurta.org> - - Display archive errors in the echo area instead of inserting - to the file buffer. - - * arc-mode.el (archive-extract-by-stdout): Change arg STDERR-FILE - to STDERR-TEST that can be a regexp matching a successful output. - Create a temporary file and redirect stderr to it. Search for - STDERR-TEST in the stderr output and display it in the echo area - if no match is found. - (archive-extract-by-file): New function like - `archive-extract-by-stdout' but extracting archives to files - and looking for successful matches in stdout. Function body is - mostly copied from `archive-rar-extract'. - (archive-rar-extract): Use `archive-extract-by-file'. - (archive-7z-extract): Use `archive-extract-by-stdout'. (Bug#10347) - -2012-09-28 Leo Liu <sdl.web@gmail.com> - - * pcomplete.el (pcomplete-show-completions): - Use minibuffer-message to make pcomplete usable in minibuffer. - - * ido.el (ido-set-matches-1): Fix 2012-09-11 change. - -2012-09-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * type-break.el: Use lexical-binding. - (type-break-mode): Use define-minor-mode. - - * emacs-lisp/pcase.el (pcase--mark-used): New. - (pcase--u1): Use it (bug#12512). - - * custom.el (load-theme): Set buffer-file-name so the load is recorded - in load-history with the right file name. - -2012-09-28 Tassilo Horn <tsdh@gnu.org> - - * doc-view.el (doc-view-current-cache-doc-pdf): New function. - (doc-view-doc->txt, doc-view-convert-current-doc): Use it. - (doc-view-get-bounding-box): Make bounding box slicing work for - ODF and DVI documents. - -2012-09-28 Glenn Morris <rgm@gnu.org> - - * type-break.el (type-break-mode, type-break-interval) - (type-break-good-rest-interval, type-break-keystroke-threshold): - No need to autoload. - (type-break-good-rest-interval, type-break-keystroke-threshold): - Add :set-after. - -2012-09-28 Chong Yidong <cyd@gnu.org> - - * progmodes/verilog-mode.el (verilog-auto-inst-interfaced-ports): - Add :version tag. - -2012-09-27 Stefan Monnier <monnier@iro.umontreal.ca> - - * json.el (json-encode-char): Codes 127-160 aren't "ASCII printable". - -2012-09-27 Glenn Morris <rgm@gnu.org> - - * faces.el (x-display-name): Declare (for without-x builds). - - * linum.el (linum-format): Don't autoload it. Improve :type. - - * progmodes/tcl.el: Don't require outline when compiling. - (outline-regexp, outline-level): Declare. - * textmodes/sgml-mode.el: Don't require outline when compiling. - (outline-regexp, outline-heading-end-regexp, outline-level): Declare. - - * term.el (term-ansi-reset): - Try setting term-ansi-face-already-done to nil. (Bug#11785) - - * vc/vc.el (vc-next-action): Only gripe about committing read-only - files for RCS and SCCS. (Bug#9781) - -2012-09-27 Chong Yidong <cyd@gnu.org> - - * progmodes/verilog-mode.el (verilog-mode-release-emacs): Fix last - change; value should be t. - -2012-09-27 Stefan Monnier <monnier@iro.umontreal.ca> - - * image-mode.el: Use lexical-binding. - (image-mode-winprops): Use t to stand for the window of - a buffer that's not displayed. - * doc-view.el (doc-view-new-window-function): Handle the new - t in winprops. - (doc-view-enlarge): Make it a real nop if the size is not changed. - (doc-view-display): Handle the case where the buffer is not (yet?) - displayed in any window. - (doc-view-saved-settings): New var. - (doc-view-mode): Use it. - (doc-view-fallback-mode): Set it. - - * minibuf-eldef.el: Make it possible to replace (default ...) with [...]. - Set lexical-binding. - (minibuffer-eldef-shorten-default): New var. - (minibuffer-default-in-prompt-regexps): Use it for new default. - (minibuf-eldef-setup-minibuffer): Add replacement functionality. - -2012-09-26 Juanma Barranquero <lekktu@gmail.com> - - * international/uni-bidi.el: - * international/uni-category.el: - * international/uni-name.el: - * international/uni-numeric.el: Regenerate. - -2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org> - Stefan Monnier <monnier@iro.umontreal.ca> - - * profiler.el: New file. - -2012-09-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/testcover.el (testcover-after): Add gv-expander. - (testcover-reinstrument): Simplify with CSE. - -2012-09-26 Juanma Barranquero <lekktu@gmail.com> - - * window.el (temp-buffer-window-setup): Fix typo in docstring. - -2012-09-25 Wilson Snyder <wsnyder@wsnyder.org> - - * verilog-mode.el (verilog-auto-ascii-enum, verilog-auto-inout) - (verilog-auto-input, verilog-auto-insert-lisp) - (verilog-auto-output, verilog-auto-output-every, verilog-auto-reg) - (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-undef) - (verilog-auto-unused, verilog-auto-wire) - (verilog-forward-or-insert-line): Fix AUTOs with no trailing - newline. Reported by Andrew Jones. - (verilog-auto-inst) Support expanding $clog2 in AUTOINST. - Reported by Brad Dobbie. - (verilog-batch-delete-trailing-whitespace): - Create verilog-batch-delete-trailing-whitespace. - Reported by Brad Dobbie. - (verilog-auto-inout-param): Support AUTOINOUTPARAM for copying - parameters from another module. Reported by Dan Katz. - (verilog-auto, verilog-auto-assign-modport) - (verilog-auto-inout-modport): Add AUTOASSIGNMODPORT and - AUTOINOUTMODPORT for UVM interface module shell generation. - Reported by Brad Dobbie. - (verilog-auto-inst-interfaced-ports): Make default nil, as more - standard behavior. - (verilog-auto): Fix AUTO parameters with parenthesis arguments. - Reported by Matt Martin. - -2012-09-25 Martin Rudalics <rudalics@gmx.at> - - * window.el (window--resize-child-windows): When resizing child - windows proportionally, process them in reverse order to - preserve the "when splitting a window the new one gets the odd - line" behavior. - (window--resize-root-window-vertically): When resizing the - minibuffer window try to affect only windows at the bottom of the - frame. (Bug#12419) - -2012-09-25 Chong Yidong <cyd@gnu.org> - - * subr.el (declare): Doc fix. - - * help-fns.el (help-fns--obsolete): Handle macros properly. - -2012-09-25 Chong Yidong <cyd@gnu.org> - - * bookmark.el (bookmark-jump-noselect): Use a declare form to mark - this function obsolete. - - * calendar/cal-x.el (calendar-two-frame-setup) - (calendar-only-one-frame-setup, calendar-one-frame-setup): - * calendar/calendar.el (american-calendar, european-calendar) - (calendar-for-loop): - * comint.el (comint-dynamic-simple-complete) - (comint-dynamic-complete-as-filename, comint-unquote-filename): - * desktop.el (desktop-load-default): - * dired-x.el (dired-omit-here-always) - (dired-hack-local-variables, dired-default-directory): - * emacs-lisp/derived.el (derived-mode-class): - * emacs-lisp/timer.el (timer-set-time-with-usecs): - * emacs-lock.el (toggle-emacs-lock): - * epa.el (epa-display-verify-result): - * epg.el (epg-sign-keys, epg-start-sign-keys) - (epg-passphrase-callback-function): - * eshell/esh-util.el (eshell-for): - * eshell/eshell.el (eshell-remove-from-window-buffer-names) - (eshell-add-to-window-buffer-names): - * files.el (locate-file-completion): - * imenu.el (imenu-example--create-c-index) - (imenu-example--create-lisp-index) - (imenu-example--lisp-extract-index-name) - (imenu-example--name-and-position): - * international/mule-cmds.el (princ-list): - * international/mule-diag.el (decode-codepage-char): - * international/mule-util.el (detect-coding-with-priority): - * iswitchb.el (iswitchb-read-buffer): - * mail/mailalias.el (mail-complete): - * mail/sendmail.el (mail-sent-via): - * mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar) - (mouse-major-mode-menu): - * password-cache.el (password-read-and-add): - * pcomplete.el (pcomplete-parse-comint-arguments): - * progmodes/sh-script.el (sh-maybe-here-document): - * replace.el (query-replace-regexp-eval): - * savehist.el (savehist-load): - * simple.el (choose-completion-delete-max-match): - * term.el (term-dynamic-simple-complete): - * vc/ediff-init.el (ediff-check-version): - * vc/ediff-wind.el (ediff-choose-window-setup-function-automatically): - * vc/vc.el (vc-diff-switches-list): - * view.el (view-return-to-alist-update): Likewise. - - * subr.el (eval-next-after-load, makehash, insert-string) - (assoc-ignore-representation, assoc-ignore-case): Use declare to - mark obsolete. - (mode-line-inverse-video): Variable deleted. - - * international/mule-util.el (string-to-sequence): Remove. - - * calendar/calendar.el (calendar-version): - * calendar/icalendar.el (icalendar-extract-ical-from-buffer) - (icalendar-convert-diary-to-ical): - * cus-edit.el (custom-mode): - * ansi-color.el (ansi-color-unfontify-region): - * international/latin1-disp.el (latin1-char-displayable-p): - * progmodes/cwarn.el (turn-on-cwarn-mode): - * progmodes/which-func.el (which-func-update-1): - Use define-obsolete-function-alias. - - * net/newst-backend.el (newsticker-cache-filename): - * net/newst-treeview.el (newsticker-groups-filename): - Fix incorrect obsolescence declaration. - - * allout.el (allout-passphrase-hint-string): Likewise. - (allout-init): Use a declare form to mark obsolete. - - * emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that - this applies to functions. - - * iswitchb.el (iswitchb-read-buffer): Move code of - iswitchb-define-mode-map here, and delete that obsolete function. - - * net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete - font-lock-reference-face. - -2012-09-25 Glenn Morris <rgm@gnu.org> - - * buff-menu.el (Buffer-menu-name-width, Buffer-menu-size-width): - Doc fixes. - - * eshell/em-term.el (eshell-term-name): - Default to term-term-name. (Bug#12485) - -2012-09-24 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-shell-send-buffer): Better handling - of "if __name__ == '__main__':" conditionals when sending the buffer. - -2012-09-24 Glenn Morris <rgm@gnu.org> - - * eshell/esh-cmd.el (eshell-find-alias-function): - Tighten up file-name regexp. (Bug#12499) - -2012-09-24 Fabián Ezequiel Gallina <fgallina@cuca> - - Enhancements for triple-quote string syntax. - * progmodes/python.el (python-quote-syntax): Remove. - (python-syntax-propertize-function): New value. - (python-syntax-count-quotes, python-syntax-stringify): - New functions. - -2012-09-24 Chong Yidong <cyd@gnu.org> - - * mail/supercite.el (sc-version): Remove obsolete function. - (sc-describe): Don't mark as obsolete, since it is bound. - (sc-submit-bug-report): Remove. - - * vc/log-edit.el (cvs-changelog-full-paragraphs) - (cvs-commit-buffer-require-final-newline): Remove. - (log-edit-require-final-newline) - (log-edit-changelog-full-paragraphs): Default to t. - - * vc/pcvs-defs.el (cvs-diff-buffer-name, cvs-diff-ignore-marks) - * vc/vc-hooks.el (vc-ignore-vc-files, vc-master-templates) - * vc/vc.el (vc-checkout-carefully): Likewise. - - * vc/emerge.el (emerge-mode): Make it an obsolete alias. - (emerge-version): Remove. - - * progmodes/compile.el (compile-internal): Remove. - (compilation-parse-errors-function): Fix typo. - - * international/mule.el (set-char-table-default): Remove. - (set-coding-priority, make-coding-system, generic-char-p) - (charset-list, charset-bytes, charset-id): Use declare to mark - functions as obsolete. - - * vc/pcvs-defs.el (cvs-buffer-name-alist) - (cvs-invert-ignore-marks): Remove references to obsolete vars. - * vc/vc-hooks.el (vc-default-registered): Don't use - vc-master-templates. - - * font-lock.el (font-lock-reference-face): - Use define-obsolete-variable-alias. - - * generic-x.el (rul-generic-mode): Use font-lock-constant-face. - * calendar/calendar.el (calendar-font-lock-keywords): - * calendar/diary-lib.el (diary-font-lock-keywords) - (diary-fancy-font-lock-keywords): - * textmodes/reftex-sel.el (reftex-insert-docstruct): - * textmodes/reftex-index.el (reftex-insert-index): - * textmodes/reftex-cite.el (reftex-format-bib-entry): - * progmodes/ruby-mode.el (ruby-font-lock-keywords): - * progmodes/ps-mode.el (ps-mode-font-lock-keywords-1): - * progmodes/prolog.el (prolog-font-lock-keywords): - * progmodes/idlwave.el (idlwave-idl-keywords): - * progmodes/ada-mode.el (ada-font-lock-keywords): - * net/snmp-mode.el (snmp-font-lock-keywords-3): Likewise. - -2012-09-24 Glenn Morris <rgm@gnu.org> - - * mail/emacsbug.el (report-emacs-bug): Include `lsb_release -d'. - -2012-09-23 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-indent-line): More consistent cursor - movement behavior. - -2012-09-23 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Fix compiler warning. - -2012-09-23 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el (bibtex-autokey-transcriptions): - Transcribe also LaTeX hyphenation. - (bibtex-reformat): Bug fix. Do not quote twice the elements of - bibtex-reformat-previous-options. - -2012-09-23 Roland Winkler <winkler@gnu.org> - - * proced.el (proced-renice-command): New variable. - (proced-marked-processes): New function. - (proced-with-processes-buffer): New macro. - (proced-send-signal): Use them. - (proced-renice): New command bound to r. - -2012-09-23 Roland Winkler <winkler@gnu.org> - - * ibuf-ext.el (ibuffer-switch-to-saved-filter-groups): If list - ibuffer-saved-filter-groups has one element, shortcut the call of - completing-read. (Bug#12331) - -2012-09-23 Chong Yidong <cyd@gnu.org> - - * bindings.el (mode-line-toggle-read-only): - * bs.el (bs-toggle-readonly): - * buff-menu.el (Buffer-menu-toggle-read-only): - * dired.el (dired-toggle-read-only): - * ibuffer.el (ibuffer-do-toggle-read-only): Use read-only-mode. - -2012-09-23 Chong Yidong <cyd@gnu.org> - - * image.el (image-type-available-p): Adapt to init-image-library - argument changes. - -2012-09-22 Juri Linkov <juri@jurta.org> - - * dired.el (dired-mode-map): Add [remap read-only-mode] for - `dired-toggle-read-only'. (Bug#12462) - -2012-09-22 Martin Rudalics <rudalics@gmx.at> - - * subr.el (temp-output-buffer-show): New function. - (with-output-to-temp-buffer): Call temp-output-buffer-show - instead of internal-temp-output-buffer-show. - -2012-09-22 Chong Yidong <cyd@gnu.org> - - * files.el (ctl-x-map): Bind C-x C-q to read-only-mode - (Bug#12462). - - * repeat.el (repeat): Doc fix (Bug#12348). - - * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix - (Bug#10909). - - * simple.el (shell-command-on-region): Doc fix. - (read-only-mode): Doc fix. - -2012-09-22 Eli Zaretskii <eliz@gnu.org> - - * emacs-lisp/timer.el (run-with-idle-timer) - (timer-activate-when-idle): Warn against reinvoking an idle timer - from within its own timer action. (Bug#12447) - -2012-09-22 Martin Rudalics <rudalics@gmx.at> - - * cus-start.el (window-combination-limit): Add new optional - values. - * window.el (temp-buffer-window-show) - (window--try-to-split-window): Handle new values of - window-combination-limit (Bug#1806). - (split-window): Test window-combination-limit for t instead of - non-nil. - (display-buffer-at-bottom): New buffer display action function. - * help.el (temp-buffer-resize-regexps): New option. - (temp-buffer-resize-mode): Rewrite doc-string. - (resize-temp-buffer-window): Obey temp-buffer-resize-regexps. - Don't resize reused window. Suggested by Glenn Morris. - -2012-09-22 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Revamp section title faces. - (rst-official-version) - (rst-package-emacs-version-alist): Sync with official version - V1.4.0. - (rst-faces-defaults, rst-set-level-default) - (rst-level-face-max, rst-level-face-base-color) - (rst-level-face-base-light, rst-level-face-format-light) - (rst-level-face-step-light, rst-define-level-faces): Obsolete. - (rst-adornment-faces-alist): Match new setup. - (rst-level-1, rst-level-2, rst-level-3, rst-level-4) - (rst-level-5, rst-level-6): New faces. - -2012-09-22 Chong Yidong <cyd@gnu.org> - - * simple.el (undo): Handle indirect buffers (Bug#8207). - -2012-09-21 Leo Liu <sdl.web@gmail.com> - - IDO: Disable match re-ordering for buffer switching. - * ido.el (ido-buffer-disable-smart-matches): New variable. - (ido-set-matches-1): Use it. (Bug#2042) - -2012-09-21 Jose Marino <marinoj@nso.edu> (tiny change) - - * progmodes/idlw-shell.el (idlwave-shell-complete-filename): - Fix 2011-05-17 change. (Bug#12418) - -2012-09-21 Leo Liu <sdl.web@gmail.com> - - * subr.el (ignore-errors): Mention with-demoted-errors in doc-string. - -2012-09-21 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/shadow.el (load-path-shadows-font-lock-keywords): - Be more robust about locating simple.el. - -2012-09-21 Glenn Morris <rgm@gnu.org> - - * mail/emacsbug.el (report-emacs-bug): Trap load-path-shadows errors. - -2012-09-21 Joel Bion <jpbion@westvi.com> (tiny change) - - * pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz. (Bug#12382) - -2012-09-20 Juri Linkov <juri@jurta.org> - - * replace.el (query-replace-read-from): Use `read-regexp' instead - of `read-from-minibuffer' when `regexp-flag' is non-nil. - (occur-read-primary-args): Use `read-regexp' instead of - `read-string'. - (multi-occur-in-matching-buffers): Use `read-regexp' instead of - `read-from-minibuffer'. - * isearch.el (isearch-occur): Use `read-regexp' instead of - `read-string'. - * dired.el (dired-read-regexp): Use `read-regexp' instead of - `read-from-minibuffer'. - * progmodes/grep.el (grep-read-regexp): Use `read-regexp' instead - of `read-string'. (Bug#7567) - - * replace.el (read-regexp): Rename DEFAULT-VALUE arg to DEFAULTS - and allow accepting a list of strings prepended to a list of - standard default values. Doc fix. (Bug#12321) - - * replace.el (read-regexp): Add HISTORY arg. (Bug#7567) - - * replace.el (read-regexp): Don't add ": " when PROMPT already - ends with a colon and space. (Bug#12321) - -2012-09-20 Tassilo Horn <tsdh@gnu.org> - - * doc-view.el (doc-view-display): Better fix for the cl-assertion - error. - -2012-09-20 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Integrate support for `imenu' and `which-function'. - Fixes feature request bug#11711. - (rst-mode): Create `imenu-create-index-function'. - (rst-get-stripped-line): Delete after refactoring. - (rst-section-tree, rst-section-tree-rec) - (rst-section-tree-point): Refactor and document properly. - (rst-imenu-find-adornments-for-position) - (rst-imenu-convert-cell, rst-imenu-create-index): - New function. - -2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/macroexp.el (macroexp--obsolete-warning): New function. - (macroexp--expand-all): Use it. - (macroexp--funcall-and-return): Remove by folding it into its sole - caller (macroexp--warn-and-return). - * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): - Use macroexp--obsolete-warning. - - * calc/calc.el: Fix last change by removing the whole chunk, since it - was only needed back when Calc was not bundled. - -2012-09-20 Martin Rudalics <rudalics@gmx.at> - - * emacs-lisp/debug.el (debug): Restore assignment to - debugger-old-buffer removed on 2012-09-08. - -2012-09-20 Juri Linkov <juri@jurta.org> - - * dired-aux.el (dired-diff): Remove (require 'diff) since - `diff-latest-backup-file' is now autoloaded. - -2012-09-20 Chong Yidong <cyd@gnu.org> - - * vc/diff.el (diff-latest-backup-file): Autoload. - -2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * calc/calc.el: Remove redundant autoload shape check. - (sel-mode): Don't defvar. - (calc-get-stack-element): Add `sel-mode' arg instead. - (calc-top, calc-top-list): Pass it this additional argument. - * calc/calc-store.el (calc-store-map): - * calc/calc-map.el (calc-apply, calc-reduce, calc-map) - (calc-map-equation, calc-outer-product, calc-inner-product): - * calc/calc-aent.el (calc-alg-entry): Don't bind sel-mode. - - * emacs-lisp/macroexp.el (macroexp--expand-all): Fix last change. - -2012-09-19 Juri Linkov <juri@jurta.org> - - * dired-aux.el (dired-diff): Add (require 'diff) because - `diff-latest-backup-file' is not autoloaded. - (dired-do-chxxx, dired-do-chmod): Set `no-error-if-not-filep' arg - of `dired-get-filename' to t to not report error when there is - no default file on the current line. - -2012-09-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/macroexp.el (macroexp--funcall-if-compiled): Rename from - macroexp--eval-if-compile. - (macroexp--funcall-and-return, macroexp--warn-and-return): New funs. - (macroexp--expand-all): Use them (bug#12371). - - * doc-view.el (doc-view-guess-paper-size) - (doc-view-scale-bounding-box): Fix unbound `caddr'. - -2012-09-19 Tassilo Horn <tsdh@gnu.org> - - New feature: set optimal slice from BoundingBox information. - * doc-view.el (doc-view-mode-map): Add keybinding. - (doc-view-menu): Add menu entry. - (doc-view-set-slice): Adapt docstring. - (doc-view-get-bounding-box, doc-view-guess-paper-size) - (doc-view-scale-bounding-box) - (doc-view-set-slice-from-bounding-box): New functions. - (doc-view-paper-sizes): New defvar. - -2012-09-19 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/macroexp.el (byte-compile-warn-obsolete) - (byte-compile-log-warning): Autoload. (Bug#12371) - - * calendar/calendar.el (calendar-american-month-header) - (calendar-european-month-header, calendar-iso-month-header) - (calendar-month-header): New options. - (calendar-set-date-style): Set calendar-month-header. Redraw calendar. - (calendar-generate-month): Use calendar-month-header. (Bug#9510) - -2012-09-19 Jan Djärv <jan.h.d@swipnet.se> - - * startup.el (command-line-ns-option-alist): Add -g and --geometry. - -2012-09-18 Juri Linkov <juri@jurta.org> - - * dired-aux.el (dired-diff): Restore original functionality of - getting the default value, but keep new feature of using the - latest existing backup file (`diff-latest-backup-file'). - -2012-09-18 Juri Linkov <juri@jurta.org> - - * dired.el (dired-mark): If the region is active in Transient Mark - mode, mark all files in the active region. Doc fix. - (dired-unmark, dired-flag-file-deletion, dired-unmark-backward): - Doc fix. (Bug#10624) - -2012-09-18 Juri Linkov <juri@jurta.org> - - * dired-aux.el (dired-do-chxxx, dired-do-chmod): Default file - attributes for M-n are pulled from the file at point. - (dired-do-chgrp, dired-do-chown, dired-do-touch): Doc fix. - Suggested by Drew Adams. (Bug#10624) - -2012-09-18 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-brace-to-do-end): Don't add extra - whitespace after "end". - (ruby-do-end-to-brace): Collapse block to one line if it fits - within fill-column. - -2012-09-18 Martin Rudalics <rudalics@gmx.at> - - * emacs-lisp/debug.el (debugger-bury-or-kill): Fix customization - value. - (debug): Don't remove debugger window when debugger is expected - to be back. - -2012-09-18 Chong Yidong <cyd@gnu.org> - - * custom.el (defface): Doc fix. - - * cus-edit.el (custom-unlispify-remove-prefixes): Add warning. - -2012-09-18 Martin Blais <blais@furius.ca> (tiny change) - - * progmodes/compile.el (compilation-start): Use compilation-always-kill - to initialize query-on-exit; then test that instead (bug#12288). - -2012-09-17 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Add support for `testcover'. - (rst-defcustom-testcover, rst-testcover-add-compose) - (rst-testcover-add-1value): New functions. - (rst-portable-mark-active-p): Replace by `use-region-p'. - (rst-update-section, rst-classify-adornment) - (rst-find-title-line): Mark `1value' forms. - (rst-classify-adornment): Remove superfluous form. - (rst-update-section, rst-get-adornments-around) - (rst-adornment-complete-p, rst-get-next-adornment) - (rst-adjust, rst-promote-region) - (rst-display-adornments-hierarchy, rst-straighten-adornments) - (rst-find-pfx-in-region, rst-section-tree-rec) - (rst-section-tree-point, rst-toc-insert, rst-toc-insert-node) - (rst-toc-node, rst-toc, rst-forward-section) - (rst-iterate-leftmost-paragraphs) - (rst-iterate-leftmost-paragraphs-2, rst-enumerate-region) - (rst-bullet-list-region) - (rst-convert-bullets-to-enumeration, rst-font-lock-keywords) - (rst-compile-find-conf, rst-compile) - (rst-repeat-last-character): Fix style. - -2012-09-17 Chong Yidong <cyd@gnu.org> - - * comint.el (comint--complete-file-name-data): Don't add a space - if the status is `sole'; that adds a gratuitous space in the - completion-cycling case (Bug#12092). - - * pcomplete.el (pcomplete-completions-at-point): Likewise. - -2012-09-17 Richard Stallman <rms@gnu.org> - - * mail/rmailmm.el (rmail-mime-toggle-raw): Do rmail-mime-insert - only in the mime-shown mode, not in raw mode. - (rmail-mime): Toggle off mime by displaying the message without - mime processing. (Bug#12305) - - * mail/rmail.el (rmail-retry-failure): - Turn off mime processing first. (Bug#12037) - - * epa-mail.el (epa-mail-encrypt): Fix bug when a name has no key. - -2012-09-17 Chong Yidong <cyd@gnu.org> - - * shell.el (shell-file-name-chars, shell-file-name-quote-list) - (shell-dynamic-complete-functions): Convert to defcustom. - (shell-prompt-pattern, shell-completion-fignore): Doc fix. - - * bookmark.el (bookmark-bmenu-toggle-filenames): Doc fixes. - * comint.el (comint-prompt-read-only): - * custom.el (defcustom): - * hi-lock.el (hi-lock-mode): - * ibuffer.el (ibuffer-formats): - * ielm.el (ielm-prompt-read-only): - * novice.el (disable-command): - * saveplace.el (toggle-save-place): - * speedbar.el (speedbar-supported-extension-expressions): - * startup.el (auto-save-list-file-prefix, init-file-user) - (after-init-hook, inhibit-startup-echo-area-message): - * strokes.el (strokes-help): - * time-stamp.el (time-stamp): - * calendar/calendar.el (calendar, diary-file): - * calendar/diary-lib.el (diary-mail-entries, diary) - (diary-list-entries-hook): - * calendar/holidays.el (holidays, calendar-holidays): - * calendar/lunar.el (lunar-phases): - * calendar/solar.el (sunrise-sunset): - * emulation/edt.el (edt-load-keys): - * emulation/viper.el (viper-mode): - * eshell/em-alias.el (eshell-command-aliases-list): - * eshell/esh-util.el (eshell-convert-numeric-arguments): - * international/ogonek.el (ogonek-information): - * net/tramp-cmds.el (tramp-bug): - * net/quickurl.el (quickurl-reread-hook-postfix): - * play/decipher.el (decipher-font-lock-keywords): - * progmodes/cc-styles.el (c-set-style): - * progmodes/idlw-shell.el (idlwave-shell-prompt-pattern): - * progmodes/inf-lisp.el (inferior-lisp-prompt): - * progmodes/octave-mod.el (octave-mode): - * progmodes/sql.el (sql-mode, sql-interactive-mode, sql-password): - * progmodes/verilog-mode.el (verilog-read-defines): - * textmodes/two-column.el (2C-mode): Likewise. - -2012-09-16 Katsumi Yamaoka <yamaoka@jpl.org> - - * mail/mailabbrev.el (mail-abbrev-expand-hook): Work for a mail aliasee - that holds many addresses. - -2012-09-16 Chong Yidong <cyd@gnu.org> - - * align.el (align-areas): Call the indication function with - positions instead of markers for arguments (Bug#12343). - - * files.el (parse-colon-path): Use split-string (Bug#12351). - - * window.el (special-display-popup-frame): Doc fix (Bug#8853). - (display-buffer-function): Mark as obsolete. - - * progmodes/compile.el (compilation-parse-errors): Accept list - values similar to font-lock-keywords (Bug#12136). - Suggested by Oleksandr Manzyuk. - (compilation-error-regexp-alist): Doc fix. - -2012-09-15 Glenn Morris <rgm@gnu.org> - - * version.el (emacs-bzr-version-bzr): New function. - (emacs-bzr-get-version): Add optional EXTERNAL argument. - - * vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local - checkouts, check the parent dirstate matches the branch. - Add "--tree" to "bzr revno" arguments. Don't try to shorten the - empty string. - - * version.el (emacs-bzr-version): Doc fix. - (emacs-bzr-version-dirstate): New function. - (emacs-bzr-get-version): For lightweight checkouts, if the parent - is local try and check that it matches the branch. If not, just - use dirstate information. (Bug#12441) - -2012-09-14 Juri Linkov <juri@jurta.org> - - * dired-aux.el (dired-do-chmod): Use `eq' to detect empty input. - (Bug#12399) - -2012-09-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/advice.el (ad-prognify): Remove, use macroexp-progn. - - * emacs-lisp/edebug.el: Miscellaneous cleanup. - Remove obsolete byte-compiler hack that tried to silence some warnings. - (edebug-submit-bug-report): Remove. - (edebug-get-buffer-window, edebug-sit-for, edebug-input-pending-p): - Remove aliases, use the un-prefixed name instead. - (edebug-pop-to-buffer): Consider other frames. - (edebug-original-read):: Make it more obvious that it's always defined. - (edebug--make-form-data-entry, edebug--form-data-name) - (edebug--form-data-begin, edebug--form-data-end): Rename from the - single-dashed name, and implement with cl-defstruct. - (edebug-set-form-data-entry): Use the standard accessors. - (edebug-make-top-form-data-entry): Use push. - (edebug-no-match): Drop useless `funcall'. - (mapcar, mapconcat, mapatoms, apply, funcall): Don't add debug specs - to functions. - (defsubst, dont-compile, eval-when-compile, eval-and-compile) - (delay-mode-hooks, with-temp-file, with-temp-message, ad-dolist) - (with-syntax-table, push, pop, 1value, noreturn, defadvice) - (easy-menu-define, with-custom-print): Remove redundant specs. - (edebug-outside-overriding-local-map) - (edebug-outside-overriding-terminal-local-map): Remove, unused. - (edebug--display): Bind unread-command-events directly to nil rather - than binding it to unread-command-events and later setting it to nil. - (edebug--display): Kill edebug-eval-buffer here... - (edebug--recursive-edit): ...rather than here. - Bind standard-output and standard-input. - (edebug-eval): Check cl-macroexpand-all is fboundp. - (edebug-temp-display-freq-count): Fix last change. - - * emacs-lisp/easymenu.el (easy-menu-define): Add `debug' spec. - * subr.el (noreturn, 1value): Add `debug' spec. - * emacs-lisp/advice.el: Require cl-lib. - (ad-copy-tree): Remove, use copy-tree instead. - (ad-dolist): Remove use dolist or cl-dolist instead. - (ad-do-return): Remove, use cl-return instead. - (defadvice): Add `debug' spec. - -2012-09-13 Juri Linkov <juri@jurta.org> - - * dired-aux.el (dired-do-chxxx): Use `eq' to detect empty input. - (Bug#12399) - -2012-09-13 Glenn Morris <rgm@gnu.org> - - * calc/calc.el (math-compose-expr): - * calc/calc-ext.el (math-compose-expr): - * progmodes/cc-defs.el (cl-macroexpand-all): - * progmodes/cc-langs.el (delete-duplicates, mapcan) - (cl-macroexpand-all): Update declarations. - - * vc/vc.el: No need to require ediff. - (ediff-load-version-control): Declare. - (ediff-vc-internal): Fix declaration. - (vc-version-ediff): Require ediff. - -2012-09-13 Paul Eggert <eggert@cs.ucla.edu> - - Use a more backwards-compatible timer format (Bug#12430). - * emacs-lisp/timer.el (timer): PSECS is now at the end, rather than - being right after USECS, as that better supports old code that - inadvisedly looked directly at the timer vector. - -2012-09-13 Kenichi Handa <handa@gnu.org> - - * language/chinese.el ("Chinese-GB", "Chinese-BIG5") - ("Chinese-CNS", "Chinese-EUC-TW"): Add chinese-gbk to - `coding-priority' property of these language environment. - -2012-09-13 Paul Eggert <eggert@cs.ucla.edu> - - Fix glitches caused by addition of psec to timers (Bug#12430). - * image.el (image-animate-timer): - * time.el (display-time-world-timer): - Use timer--function and timer--args rather than raw access to - timer vector. - -2012-09-13 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/bytecomp.el (byte-compile-warning-prefix): - If not compiling a file, try using load-file-name. - -2012-09-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/edebug.el (edebug-outside-unread-command-events): - Fix last change. - (edebug-update-eval-list): Use `push'. - - * emacs-lisp/edebug.el: Use lexical-binding. - Remove the "edebug-" prefix from non-dynamically-scoped variables. - Mark unused args with underscore. - (edebug-save-restriction, edebug-outside-excursion): Use `declare'. - (edebug-form-data): Use defvar-local. - (edebug-make-before-and-after-form, edebug-make-after-form): - Use backquote. - (edebug-args, edebug-value, edebug-after-index, edebug-arg-mode): - Not dynamically scoped any more. - (edebug--enter-trace): Add arguments `function' and `args'. - Rename from edebug-enter-trace. - (edebug-enter): Call it accordingly. Bind edebug-function explicitly. - (edebug--update-coverage): Add `after-index' and `value' args. - Rename from edebug-update-coverage. - (edebug-slow-after): Call it accordingly. - (edebug--recursive-edit): Add arg `arg-mode'. Rename from - edebug-recursive-edit. - (edebug--display): Call it accordingly. Add args `value', - `offset-index', and `arg-mode'. Rename from edebug-display. - (edebug-debugger, edebug): Call it accordingly. - (edebug-eval-display-list): Use dolist. - -2012-09-12 Juri Linkov <juri@jurta.org> - - * info.el (Info-search): Don't check for isearch-mode and - isearch-regexp before let-binding search-spaces-regexp to - Info-search-whitespace-regexp. - (Info-isearch-search): Let-bind Info-search-whitespace-regexp to - search-whitespace-regexp if isearch-lax-whitespace or - isearch-regexp-lax-whitespace is non-nil. - (Info-mode): Don't set local variable search-whitespace-regexp. - http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00811.html - -2012-09-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/debug.el (debugger-outer-unread-command-char, debug) - (debugger-env-macro): Remove support for unread-command-char. - - * subr.el (set-temporary-overlay-map): Minimize slightly the impact of - the temporary map re-appearing on emulation-mode-map-alists. - - * emacs-lisp/edebug.el (def-edebug-form-spec): Remove, it's been broken - since 22.1. - - * ehelp.el (with-electric-help): Accept functions in - electric-help-form-to-execute. - (electric-help-execute-extended, electric-help-ctrl-x-prefix): Use it. - And replace unread-command-char -> unread-command-events. - -2012-09-12 Michael Albinus <michael.albinus@gmx.de> - - Sync with Tramp 2.2.6. - - * net/tramp.el (tramp-accept-process-output): Don't use - JUST-THIS-ONE in the XEmacs case. - - * net/trampver.el: Update release number. - -2012-09-12 Martin Rudalics <rudalics@gmx.at> - - * emacs-lisp/debug.el (debugger-previous-window-height): - New variable. - (debug): When debugger-jumping-flag is non-nil try to restore - height of debugger window. (Bug#8789) - -2012-09-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/edebug.el (edebug-enter): Don't mess with - overriding-local-map and pre/post-command-hook here. - (edebug-recursive-edit): Do it here instead (bug#12345). - (edebug-outside-unread-command-char): Remove all uses of - unread-command-char. - - * emacs-lisp/debug.el (debug): Don't bind debug-on-error since - inhibit-debugger is bound instead. - -2012-09-11 Bastien Guerry <bzg@gnu.org> - - * subr.el (set-temporary-overlay-map): Add a docstring. - (Bug#12346) - -2012-09-11 Bastien Guerry <bzg@gnu.org> - - * minibuffer.el (completion-table-subvert): Fix docstring. - (Bug#12347) - -2012-09-11 Bastien Guerry <bzg@gnu.org> - - * help-fns.el (describe-variable): Fix typo. (Bug#12346) - -2012-09-10 Michael R. Mauger <mmaug@yahoo.com> - - * progmodes/sql.el: Version 3.1 - (sql-db2-escape-newlines): New variable. - (sql-escape-newlines-filter): Use it. - -2012-09-10 Juanma Barranquero <lekktu@gmail.com> - - * custom.el (custom-theme-load-confirm): Remove unneeded assignment. - -2012-09-10 Dan Nicolaescu <dann@gnu.org> - - * vc/diff-mode.el (diff-mode-menu): - Bind diff-remove-trailing-whitespace. - -2012-09-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/lisp-mode.el (emacs-list-byte-code-comment-re): New var. - (emacs-lisp-byte-code-comment, emacs-lisp-byte-code-syntax-propertize) - (emacs-lisp-byte-code-mode): New functions. - (eval-sexp-add-defvars): Don't skip defvars in column >0. - (eval-defun-2): Remove bogus interactive spec. - (lisp-indent-line): Remove redundant whole-exp code, now done in - indent-according-to-mode. - (save-match-data): Remove redundant indent data. - - * emacs-lisp/benchmark.el (benchmark-run, benchmark-run-compiled): - Use `declare'. - -2012-09-09 Juri Linkov <juri@jurta.org> - - * replace.el (replace-regexp-lax-whitespace): New defcustom. - (replace-lax-whitespace, query-replace-regexp) - (query-replace-regexp-eval, replace-regexp): Doc fix. - (perform-replace, replace-highlight): Let-bind - isearch-lax-whitespace to replace-lax-whitespace and - isearch-regexp-lax-whitespace to replace-regexp-lax-whitespace. - - * isearch.el (isearch-query-replace): Let-bind - replace-lax-whitespace to isearch-lax-whitespace and - replace-regexp-lax-whitespace to - isearch-regexp-lax-whitespace. (Bug#10885) - -2012-09-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * eshell/em-unix.el (eshell/sudo): Explicitly drop return value. - -2012-09-09 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-engine.el (c-state-cache-init): - Initialise c-state-semi-nonlit-pos-cache\(-limit\)? properly. - (c-record-parse-state-state): - Record c-state-semi-nonlit-pos-cache\(-limit\)?. - -2012-09-09 Andreas Schwab <schwab@linux-m68k.org> - - * register.el (register-separator): Rename from - separator-register. All uses changed. Doc fix. - (register): Fix version. - -2012-09-09 Chong Yidong <cyd@gnu.org> - - * replace.el (query-replace-map): Bind four new symbols for - requesting window scrolling. - - * subr.el (y-or-n-p): Handle the window-scrolling bindings in - query-replace-map (Bug#8948). - - * custom.el (custom-theme-load-confirm): Use y-or-n-p. - - * emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys - since they are now in query-replace-map. - - * window.el (scroll-other-window-down): Make the arg optional. - -2012-09-09 Chong Yidong <cyd@gnu.org> - - * files.el (hack-local-variables-confirm): Use quit-window to kill - the *Local Variables* buffer. - -2012-09-08 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-toggle-block): Guess the current block, - not just expect to be at its beginning. Adjust callees. - Succeed when do-end block has no space before the pipe character. - (ruby-brace-to-do-end): When the original block is one-liner, - convert to multiline. Reindent the result. - -2012-09-08 Jambunathan K <kjambunathan@gmail.com> - - * register.el (register): New group. - (separator-register): New user option. - (increment-register): Route it to `append-to-register', if - register contains text. Implication is that `C-x r +' can now be - used for appending to a text register (bug#12217). - (append-to-register, prepend-to-register): Add separator based on - `separator-register'. - -2012-09-08 Alan Mackenzie <acm@muc.de> - - AWK Mode: make auto-newline work when there's "==" in the pattern. - * progmodes/cc-cmds.el (c-point-syntax): Handle virtual semicolons - correctly. - * progmodes/cc-engine.el (c-guess-basic-syntax CASE 5A.3): - Test more rigorously for "=" token. - -2012-09-08 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-match-expression-expansion): - Only fail when reached LIMIT. - -2012-09-08 Chong Yidong <cyd@gnu.org> - - * dired.el (dired-mode-map): Don't bind M-=. - - * dired-aux.el (dired-diff): Use backup file as default. - -2012-09-08 Drew Adams <drew.adams@oracle.com> - - * subr.el (add-to-history): Fix delete usage (Bug#12314). - -2012-09-08 Chong Yidong <cyd@gnu.org> - - * subr.el (syntax-after, syntax-class): Doc fix. - -2012-09-08 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-in-previous-window): New buffer - display action function. - - * emacs-lisp/debug.el (debugger-bury-or-kill): New option. - (debugger-previous-window): New variable. - (debug): Rewrite using display-buffer-in-previous-window, - quit-restore-window and debugger-bury-or-kill. (Bug#8789) - -2012-09-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/byte-run.el (defun): Tweak message. Simplify code. - -2012-09-07 Matt McClure <mlm@aya.yale.edu> (tiny change) - - * progmodes/python.el (python-shell-send-string): - When default-directory is remote, create temp file on remote - filesystem. - (python-shell-send-file): When file is remote, pass local view of - file paths to remote Python interpreter. (Bug#12340) - -2012-09-07 Chong Yidong <cyd@gnu.org> - - * window.el (switch-to-buffer): Doc fix (Bug#12181). - - * files.el (after-find-file): Don't fail on a read-only buffer if - require-final-newline is `visit' or `visit-save' (Bug#11156). - - * subr.el (read-char-choice): Allow quitting via ESC ESC. - - * userlock.el (ask-user-about-supersession-threat): - Use read-char-choice (Bug#12093). - -2012-09-07 Chong Yidong <cyd@gnu.org> - - * subr.el (buffer-narrowed-p): New function. - - * ses.el (ses-widen): - * simple.el (count-words--buffer-message): - * net/browse-url.el (browse-url-of-buffer): Use it. - - * simple.el (count-words-region): Don't signal an error if there - is a non-nil prefix arg and the mark is not set. - - * help.el (describe-key-briefly): Allow the message to be seen - when invoked from the minibuffer (Bug#7014). - -2012-09-07 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-end-of-defun) - (ruby-beginning-of-defun): Simplify, allow indentation before - block beginning and end keywords. - (ruby-beginning-of-defun): Only consider 3 keywords defun beginners. - (ruby-end-of-defun): Expect that the point is at the beginning of - the defun. - -2012-09-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl--do-arglist): Understand _ on &key args - (bug#12367). - (cl--make-usage-args): Strip _ from argument names. - -2012-09-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de> - - * progmodes/vhdl-mode.el (vhdl-speedbar-initialize): Don't use - obsolete alias speedbar-key-map. - (vhdl-doc-variable, vhdl-doc-mode): Use called-interactively-p. - (vhdl-index-menu-init): Don't use obsolete variable - font-lock-maximum-size. - -2012-09-06 Chong Yidong <cyd@gnu.org> - - * frame.el (window-system-version): Mark as obsolete. - - * speedbar.el (speedbar-update-flag, speedbar-mode): Remove uses - of obsolete variable speedbar-key-map. - -2012-09-06 Juri Linkov <juri@jurta.org> - - * replace.el (replace-lax-whitespace): New defcustom. - (query-replace, query-replace-regexp, query-replace-regexp-eval) - (replace-string, replace-regexp): Mention it in docstrings. - (perform-replace, replace-highlight): Let-bind - isearch-lax-whitespace and isearch-regexp-lax-whitespace according - to the values of replace-lax-whitespace and regexp-flag. - Don't let-bind search-whitespace-regexp. (Bug#10885) - - * isearch.el (isearch-query-replace): Let-bind - replace-lax-whitespace instead of let-binding - replace-search-function and replace-re-search-function. - (isearch-lazy-highlight-search): Let-bind isearch-lax-whitespace - and isearch-regexp-lax-whitespace to lazy-highlight variables. - (isearch-toggle-symbol): Set isearch-regexp to nil - in isearch-word mode (like in isearch-toggle-word). - -2012-09-06 Juri Linkov <juri@jurta.org> - - * replace.el (replace-search-function) - (replace-re-search-function): Set default values to nil. - (perform-replace): Let-bind isearch-related variables based on - replace-related values, call `isearch-search-fun' and let-bind - the result to `search-function'. Remove code that sets - `search-function' and `search-string' separately for - `delimited-flag'. - (replace-highlight): Add new argument `delimited-flag' and - rename other arguments to the names used in `perform-replace'. - Let-bind `isearch-word' to the argument `delimited-flag'. - (Bug#10885, bug#10887) - -2012-09-07 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-indent-beg-re): Add pieces from - ruby-beginning-of-indent, simplify, allow all keywords to have - indentation before them. - (ruby-beginning-of-indent): Adjust for above. Search until the - found point is not inside a string or comment. - (ruby-font-lock-keywords): Allow symbols to start with "@" - character, give them higher priority than variables. - (ruby-syntax-propertize-function) - (ruby-font-lock-syntactic-keywords): Remove the "not comments" - matchers. Expression expansions are not comments when inside a - string, and there comment syntax status is irrelevant. - (ruby-match-expression-expansion): New function. Check that - expression expansion is inside a string, and it's not escaped. - (ruby-font-lock-keywords): Use it. - -2012-09-05 Martin Rudalics <rudalics@gmx.at> - - * help.el (temp-buffer-max-height): New default value. - (temp-buffer-resize-frames): New option. - (resize-temp-buffer-window): Optionally resize frame. - - * window.el (fit-frame-to-buffer-bottom-margin): New option. - (fit-frame-to-buffer): New function. - -2012-09-05 Glenn Morris <rgm@gnu.org> - - * emulation/cua-rect.el (cua--init-rectangles): - * textmodes/picture.el (picture-mode-map): - * play/blackbox.el (blackbox-mode-map): Remap right-char and left-char - like forward-char and backward-char. (Bug#12317) - -2012-09-05 Leo Liu <sdl.web@gmail.com> - - * progmodes/flymake.el (flymake-warning-re): New variable. - (flymake-parse-line): Use it. - -2012-09-05 Glenn Morris <rgm@gnu.org> - - * calendar/holidays.el (holiday-christian-holidays): - Rename an entry. (Bug#12289) - -2012-09-05 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/sh-script.el (sh-font-lock-paren): Don't burp at BOB - (bug#12222). - -2012-09-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * loadup.el: Load macroexp. Remove hack. - * emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function. - (macroexp--expand-all): Use it to get better warnings. - (macroexp--backtrace, macroexp--trim-backtrace-frame) - (internal-macroexpand-for-load): New functions. - (macroexp--pending-eager-loads): New var. - (emacs-startup-hook): New hack to replace one in loadup.el. - * emacs-lisp/cl-macs.el (cl--compiler-macro-list*) - (cl--compiler-macro-cXXr): Move to top, before they can be used. - (cl-psetf): Simplify. - (cl-defstruct): Add indent rule. - -2012-09-04 Lars Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-send-it): Prefer the From: header - over `user-mail-address' for the SMTP MAIL FROM envelope. - (smtpmail-via-smtp): Ditto. - -2012-09-04 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el: Clean up keybindings. - (ruby-mode-map): Don't bind ruby-electric-brace, - ruby-beginning-of-defun, ruby-end-of-defun, ruby-mark-defun, - backward-kill-word, reindent-then-newline-and-indent. - (ruby-mark-defun): Remove. - (ruby-electric-brace): Remove. Obsoleted by electric-indent-chars. - (ruby-mode): Set local beginning-of-defun-function and - end-of-defun-function values. - -2012-09-03 Martin Rudalics <rudalics@gmx.at> - - * window.el (temp-buffer-window-setup-hook) - (temp-buffer-window-show-hook): New hooks. - (temp-buffer-window-setup, temp-buffer-window-show) - (with-temp-buffer-window): New functions. - (fit-window-to-buffer): Remove unused optional argument OVERRIDE. - (special-display-popup-frame): Make sure the window used shows BUFFER. - - * help.el (temp-buffer-resize-mode): Fix doc-string. - (resize-temp-buffer-window): New optional argument WINDOW. - - * files.el (recover-file, save-buffers-kill-emacs): - * dired.el (dired-mark-pop-up): Use with-temp-buffer-window. - -2012-09-02 Michael Albinus <michael.albinus@gmx.de> - - * eshell/em-unix.el (eshell/sudo): When we have an ad-hoc - remote definition of `default-directory', ensure we can connect. - -2012-09-02 Juri Linkov <juri@jurta.org> - - Toggle whitespace matching mode with M-s SPC. - http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html - - * isearch.el (search-whitespace-regexp): Doc fix. - Remove cons cell customization. - (isearch-mode-map): Bind "\M-s " to isearch-toggle-lax-whitespace. - (isearch-lax-whitespace, isearch-regexp-lax-whitespace): - New variables. - (isearch-forward, isearch-forward-regexp): Doc fix. - (isearch-toggle-lax-whitespace): New command. - (search-forward-lax-whitespace, search-backward-lax-whitespace) - (re-search-forward-lax-whitespace) - (re-search-backward-lax-whitespace): New functions. - (isearch-whitespace-regexp): Remove function. - (isearch-query-replace): Let-bind replace-search-function and - replace-re-search-function. - (isearch-occur): Let-bind search-spaces-regexp according to the - value of isearch-lax-whitespace and isearch-regexp-lax-whitespace. - (isearch-quote-char): Check isearch-regexp-lax-whitespace in the - condition for C-q SPC. - (isearch-search-fun-default): Use new functions mentioned above. - (isearch-search-forward, isearch-search-backward): Remove functions. - (isearch-search): Don't let-bind search-spaces-regexp. - (isearch-lazy-highlight-space-regexp): Remove variable. - (isearch-lazy-highlight-lax-whitespace) - (isearch-lazy-highlight-regexp-lax-whitespace): New variables. - (isearch-lazy-highlight-new-loop): Use them. - (isearch-lazy-highlight-search): Don't let-bind search-spaces-regexp. - -2012-09-02 Chong Yidong <cyd@gnu.org> - - * dired.el (dired-mode-map): Menu string fixes (Bug#11616). - -2012-09-02 Glenn Morris <rgm@gnu.org> - - * simple.el (undo): Tweak message in undo-only case. (Bug#12283) - -2012-09-01 Glenn Morris <rgm@gnu.org> - - * term.el: Tidy up menu definitions. - (term-mode-map): Use easymenu for In/Out, Complete menus. - (term-pager-break-map): Initialize in the defvar. - (term-terminal-menu, term-signals-menu): Define with easymenu. - (term-terminal-menu): Also show it in line-mode. (Bug#11957) - (term-pager-menu): New, extracted from term-process-pager. - (term-mode, term-char-mode, term-process-pager): Use easymenu-add. - (term-update-mode-line): Propertize line/char and page items. - (term-process-pager): Move keymap initialization elsewhere. - -2012-09-01 Martin Rudalics <rudalics@gmx.at> - - * window.el (switch-to-prev-buffer): Handle additional values of - BURY-OR-KILL argument. Don't switch in minibuffer window. - (switch-to-next-buffer): Don't switch in minibuffer window. - (quit-restore-window): New function based on quit-window. - Handle additional values of former KILL argument. - (quit-window): Call quit-restore-window with appropriate - interpretation of KILL argument. - (display-buffer-below-selected): New buffer display action - function. - -2012-09-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-at-point-functions): Complete docstring - (bug#12254). - -2012-09-01 Paul Eggert <eggert@cs.ucla.edu> - - Better seed support for (random). - * play/5x5.el, play/animate.el, play/cookie1.el, play/dissociate.el: - * play/doctor.el, play/dunnet.el, play/gomoku.el, play/landmark.el: - * play/mpuz.el, play/tetris.el, play/zone.el: - * calc/calc-comb.el (math-init-random-base): - * play/blackbox.el (bb-init-board): - * play/life.el (life): - * server.el (server-use-tcp): - * type-break.el (type-break): - Remove unnecessary call to (random t). - * net/sasl.el (sasl-unique-id-function): - Change (random t) to (random), now that the latter is more random. - * play/life.el (life-initialized): Remove no-longer-needed var. - -2012-08-31 Alp Aker <alp.tekin.aker@gmail.com> - - * window.el (switch-to-prev-buffer, switch-to-next-buffer): - Consider frame's buffer predicate when choosing the buffer. - (Bug#12081) - -2012-08-30 Richard Stallman <rms@gnu.org> - - * simple.el (special-mode-map): Delete binding for `z'. - -2012-08-30 Andreas Schwab <schwab@linux-m68k.org> - - * progmodes/compile.el (compilation-always-kill): Doc fix. - -2012-08-30 Chong Yidong <cyd@gnu.org> - - * window.el (display-buffer-reuse-frames): Make the obsolescence - message more informative. - -2012-08-30 Glenn Morris <rgm@gnu.org> - - * paren.el (show-paren-delay): - Add a :set function. Doc fix. (Bug#12297) - -2012-08-29 Martin Blais <blais@furius.ca> (tiny change) - - * progmodes/compile.el (compilation-always-kill): New var. - (compilation-start): Use it. - -2012-08-29 Stefan Monnier <monnier@iro.umontreal.ca> - - * simple.el (read-only-mode): Move from files.el for bootstrapping. - * files.el (read-only-mode): Move to simple.el. - - * files.el (read-only-mode): New minor mode. - (toggle-read-only): Use it and mark obsolete. - (find-file--read-only): - * vc/vc.el (vc-next-action, vc-checkout): - * vc/vc-cvs.el (vc-cvs-checkout): - * obsolete/vc-mcvs.el (vc-mcvs-update): - * ffap.el (ffap--toggle-read-only): Update callers. - -2012-08-29 Michael Albinus <michael.albinus@gmx.de> - - * eshell/esh-ext.el (eshell-external-command): Do not examine - remote shell scripts. - See <https://bugs.launchpad.net/ubuntu/+source/emacs23/+bug/1035790>. - - * net/tramp-sh.el (tramp-remote-path): Add "/sbin" and - "/usr/local/sbin". - -2012-08-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-lib.el (buffer-string): Fix setter macro (bug#12293). - -2012-08-28 Leo Liu <sdl.web@gmail.com> - - * progmodes/sh-script.el (sh-dynamic-complete-functions): Adapt to - completion-at-point. (Bug#12220) - - * skeleton.el (skeleton-untabify): Change to nil (bug#12223). - - * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267). - -2012-08-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * files.el (safe-local-eval-forms): Fix before-save-hook entry to - be buffer-local; add delete-trailing-whitespace (bug#12259). - -2012-08-28 Jeremy Moore <jmoore@ieee.org> (tiny change) - - * progmodes/hideif.el (hif-compress-define-list): - Fix typo. (Bug#11951) - -2012-08-28 Dan Nicolaescu <dann@gnu.org> - - * progmodes/hideshow.el (hs-block-end-regexp): Restore lost - buffer local setting. - - * net/rcirc.el (rcirc-split-message): Fix for buffer-local - rcirc-encode-coding-system. - -2012-08-28 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc-split-message): New function. - (rcirc-send-message): Use it. (Bug#12051) - -2012-08-28 Juri Linkov <juri@jurta.org> - - * info.el (Info-fontify-node): Hide empty lines at the end of - the node. (Bug#12272) - -2012-08-27 Drew Adams <drew.adams@oracle.com> - - * dired.el (dired-pop-to-buffer): Make window start at beginning - of buffer (Bug#12281). - -2012-08-26 Chong Yidong <cyd@gnu.org> - - * window.el (special-display-regexps, special-display-frame-alist) - (special-display-buffer-names, special-display-function) - (display-buffer-reuse-frames): Mark as obsolete. - - * progmodes/compile.el: Don't use display-buffer-reuse-frames. - - * help.el (help-print-return-message): Don't treat - display-buffer-reuse-frames specially. - -2012-08-26 Chong Yidong <cyd@gnu.org> - - * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): - New variable, replacing gdb-frame-parameters. - (gdb-frame-io-buffer, gdb-frame-breakpoints-buffer) - (gdb-frame-threads-buffer, gdb-frame-memory-buffer) - (gdb-frame-disassembly-buffer, gdb-frame-stack-buffer) - (gdb-frame-locals-buffer, gdb-frame-registers-buffer): Use it. - (def-gdb-frame-for-buffer): Macro deleted. It is easier to define - the functions directly with gdb-display-buffer-other-frame-action. - (gdb-display-breakpoints-buffer, gdb-display-threads-buffer) - (gdb-display-memory-buffer, gdb-display-disassembly-buffer) - (gdb-display-stack-buffer, gdb-display-locals-buffer) - (gdb-display-registers-buffer): Define directly. - (def-gdb-display-buffer): Macro deleted. - (gdb-display-buffer): Remove second and third args, callers don't - use them. Defer to the default display-buffer behavior, apart - from making windows dedicated. - (gdb-setup-windows): Don't call display-buffer unnecessarily. - - * progmodes/gud.el (gud-display-line): Just use display-buffer. - - * window.el (display-buffer-pop-up-frame): Handle a - pop-up-frame-parameters alist entry. - (display-buffer): Document it. - -2012-08-26 Chong Yidong <cyd@gnu.org> - - * isearch.el (search-whitespace-regexp): Make string and nil - values apply to both ordinary and regexp search. Allow a cons - cell value to distinguish between the two. - (isearch-whitespace-regexp, isearch-search-forward) - (isearch-search-backward): New functions. - (isearch-occur, isearch-search-fun-default, isearch-search) - (isearch-lazy-highlight-new-loop): Use them. - (isearch-forward, isearch-forward-regexp): Doc fix. - -2012-08-26 Chong Yidong <cyd@gnu.org> - - * faces.el (help-argument-name): Always inherit from italic - (Bug#12213). - -2012-08-25 Martin Rudalics <rudalics@gmx.at> - - * window.el (window--even-window-heights): Even heights when - WINDOW and the selected window form a vertical combination. - (display-buffer-use-some-window): Provide that window used gets - sized back by quit-window. (Bug#11880) and (Bug#12091) - -2012-08-24 Paul Eggert <eggert@cs.ucla.edu> - - Fix file time stamp problem with bzr and CVS (Bug#12001). - * vc/vc-cvs.el (vc-cvs-parse-entry): Ignore subsecond information - in the file's time stamp, since the version control system loses - that information. - -2012-08-22 Juri Linkov <juri@jurta.org> - - * info.el (Info-fontify-node): Hide the suffix of the - Info file name in the header line. (Bug#12187) - -2012-08-22 Glenn Morris <rgm@gnu.org> - - * calendar/cal-tex.el (cal-tex-weekly-common): - Restore leading blank page. - -2012-08-22 Le Wang <l26wang@gmail.com> - - * misc.el (forward-to-word, backward-to-word): Activate or extend - the region under `shift-select-mode'. (Bug#12231) - -2012-08-22 Bastien Guerry <bzg@gnu.org> - - * progmodes/executable.el (executable-prefix): Set to "#!" instead - of "#! ". http://www.in-ulm.de/~mascheck/various/shebang/#details - gives details on why the space is never needed. - -2012-08-22 Martin Rudalics <rudalics@gmx.at> - - * window.el (walk-window-tree, window-with-parameter): - New optional argument MINIBUF to control whether these functions - should run on the minibuffer window. - (window-at-side-list): Don't operate on minibuffer window. - (window-in-direction): Simplify and rewrite doc-string. - (window--size-ignore): Rename to window--size-ignore-p. - Update callers. - (display-buffer-in-atom-window, window--major-non-side-window) - (window--major-side-window, display-buffer-in-major-side-window) - (delete-side-window, display-buffer-in-side-window): - New functions. - (window--side-check, window-deletable-p, delete-window) - (delete-other-windows, split-window): Handle side windows and - atomic windows appropriately. - (window--display-buffer): Call display-buffer-record-window also - when the window buffer did not change. - -2012-08-22 Christopher Schmidt <christopher@ch.ristopher.com> - - * help-fns.el (help-fns--key-bindings): - Abbreviate non-symbol remap targets. (Bug#12174) - -2012-08-22 Martin Rudalics <rudalics@gmx.at> - - * dired.el (dired-mark-remembered): Don't clobber point. - (Bug#11795) - -2012-08-22 Glenn Morris <rgm@gnu.org> - - * progmodes/bug-reference.el (bug-reference): New custom group. - (bug-reference-bug-regexp): Make it a defcustom. - -2012-08-22 Daiki Ueno <ueno@unixuser.org> - - * progmodes/js.el (js-indent-level, js-expr-indent-offset) - (js-paren-indent-offset, js-square-indent-offset) - (js-curly-indent-offset): Add :safe (Bug#12257). - -2012-08-22 Edward O'Connor <hober0@gmail.com> - - * json.el (json-key-format): Add error properties. - (json-encode-key): New function. - (json-encode-hash-table, json-encode-alist, json-encode-plist): - Use json-encode-key. - -2012-08-22 Glenn Morris <rgm@gnu.org> - - * calendar/cal-tex.el (cal-tex-longday): New function, replacing... - (cal-tex-leftday, cal-tex-rightday): Remove functions. - (cal-tex-weekly-common, cal-tex-cursor-filofax-2week): - Update for above change. - -2012-08-21 Andreas Schwab <schwab@linux-m68k.org> - - * cus-face.el (custom-face-attributes): Fix customize type for the - :underline attribute. (Bug#11805) - -2012-08-21 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-point-1, set-window-point-1): Remove. - (window-in-direction, record-window-buffer) - (set-window-buffer-start-and-point, split-window-below) - (window--state-get-1, display-buffer-record-window): - Replace calls to window-point-1 and set-window-point-1 by calls to - window-point and set-window-point respectively. - -2012-08-21 Glenn Morris <rgm@gnu.org> - - * calendar/cal-tex.el (cal-tex-weekly-common): New function. - (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week): - Use it. - - * calendar/cal-tex.el (cal-tex-rightday): Add optional funcname arg. - (cal-tex-shortday): New function. - (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week) - (cal-tex-cursor-filofax-daily): Use the above. - - * calendar/cal-tex.el (cal-tex-leftday, cal-tex-rightday): - New functions. - (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week) - (cal-tex-cursor-filofax-week): Use them. - - * calendar/cal-tex.el (cal-tex-lefthead, cal-tex-righthead): - New constants. - (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week) - (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use them. - - * calendar/cal-tex.el (cal-tex-preamble): Generate new buffers. - (cal-tex-end-document): Don't rely on buffer name. - - * calendar/cal-tex.el (cal-tex-cursor-filofax-year): - Use cal-tex-vspace. - (cal-tex-vspace, cal-tex-hspace, cal-tex-em, cal-tex-bf) - (cal-tex-Huge-bf, cal-tex-large-bf): Use cal-tex-cmd. - (cal-tex-scriptsize, cal-tex-huge, cal-tex-Huge, cal-tex-large): - Use cal-tex-arg. - - * calendar/cal-tex.el (cal-tex-cursor-filofax-year) - (cal-tex-cursor-week, cal-tex-cursor-week2) - (cal-tex-cursor-week-iso, cal-tex-cursor-week-at-a-glance) - (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) - (cal-tex-cursor-filofax-daily, cal-tex-cursor-day) - (cal-tex-insert-preamble, cal-tex-b-document) - (cal-tex-e-document, cal-tex-b-center, cal-tex-e-center): - Improve cal-tex-cmd usage. - - * calendar/cal-tex.el (cal-tex-filofax-paper): New function. - (cal-tex-cursor-filofax-year, cal-tex-cursor-filofax-2week) - (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use it. - (cal-tex-weekly-paper): New function. - (cal-tex-cursor-week, cal-tex-cursor-week2) - (cal-tex-cursor-week-iso, cal-tex-cursor-week-monday) - (cal-tex-cursor-day): Use it. - - * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance) - (cal-tex-cursor-filofax-week): Remove leading blank page. - - * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance): - Add autoload cookie. For now at least, don't use color, since - no other cal-tex function does. - - * calendar/cal-tex.el (cal-tex-cursor-week-iso) - (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) - (cal-tex-cursor-filofax-daily): Correct start date for diary entries. - -2012-08-21 Juri Linkov <juri@jurta.org> - - * info.el (Info-file-attributes): New variable. - (info-insert-file-contents): Add file attributes to - `Info-file-attributes'. Clear the caches `Info-index-nodes' and - `Info-toc-nodes' when previous modtime of the Info file is less - than new modtime. - (Info-toc-nodes, Info-index-nodes): Move definitions up to the top - of info.el. (Bug#12230) - -2012-08-20 Glenn Morris <rgm@gnu.org> - - * calendar/diary-lib.el (diary-include-files, diary-sexp-entry): - * calendar/holidays.el (calendar-holiday-list): - Report errors with display-warning rather than beep'n'sleep. - -2012-08-20 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-accept-process-output): Accept only output - from PROC. Otherwise, process filters and sentinels might be - confused. (Bug#12145) - -2012-08-20 Chong Yidong <cyd@gnu.org> - - * descr-text.el (describe-text-properties-1): Use overlays-in to - report on empty overlays (Bug#3322). - -2012-08-20 Glenn Morris <rgm@gnu.org> - - * mail/rmailout.el (rmail-output-read-file-name): - Trap and report errors in rmail-output-file-alist elements. - - * font-lock.el (font-lock-add-keywords): Doc fix (quote face names - since most non-font-lock faces are not also variables). - -2012-08-20 Edward Reingold <reingold@iit.edu> - - * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance): - New function. (Bug12160) - -2012-08-19 Glenn Morris <rgm@gnu.org> - - * mail/rmailout.el (rmail-output-read-file-name): - Fix previous change (when the alist is nil or does not match). - -2012-08-19 Chong Yidong <cyd@gnu.org> - - * xml.el (xml-escape-string): Don't refer to xml-entity-alist - (Bug#12228). - -2012-08-18 Chong Yidong <cyd@gnu.org> - - * simple.el (yank-handled-properties): New defcustom. - (yank-excluded-properties): Add font-lock-face and category. - (yank): Doc fix. - - * subr.el (remove-yank-excluded-properties): - Obey yank-handled-properties. The special handling of font-lock-face - and category is now done this way, instead of being hard-coded. - (insert-for-yank-1): Remove font-lock-face handling. - (yank-handle-font-lock-face-property) - (yank-handle-category-property): New function. - -2012-08-17 Glenn Morris <rgm@gnu.org> - - * mail/rmailout.el (rmail-output-read-file-name): - Check rmail-output-file-alist against the full message body - in the correct rmail buffer. (Bug#12214) - -2012-08-17 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): - Eliminate superfluous prompt. (Bug#12203) - -2012-08-17 Chong Yidong <cyd@gnu.org> - - * mouse.el (mouse-appearance-menu): If x-select-font returns a - font spec, set the font directly (Bug#3228). - -2012-08-17 Martin Rudalics <rudalics@gmx.at> - - * window.el (delete-window): Fix last fix. - -2012-08-16 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-valid-p): Move to window.c. - (window-child, window-child-count, window-last-child) - (window-normalize-window, window-combined-p) - (window-combinations, window-atom-root, window-min-size) - (window-sizable, window-sizable-p, window-size-fixed-p) - (window-min-delta, window-max-delta, window--resizable) - (window--resizable-p, window-resizable, window-total-size) - (window-full-height-p, window-full-width-p, window-body-size) - (window-at-side-p, adjust-window-trailing-edge, maximize-window) - (minimize-window, window-deletable-p, delete-window) - (delete-other-windows, set-window-buffer-start-and-point) - (next-buffer, previous-buffer, split-window, balance-windows-2) - (set-window-text-height, window-buffer-height) - (fit-window-to-buffer, shrink-window-if-larger-than-buffer) - (truncated-partial-width-window-p): Minor code adjustments. - In doc-strings state whether the argument window has to denote a - live, valid or any window. - -2012-08-16 Phil Sainty <psainty@orcon.net.nz> (tiny change) - - * progmodes/subword.el (subword-forward-function) - (subword-backward-function, subword-forward-regexp) - (subword-backward-regexp): New variables. - (subword-forward, subword-forward-internal, subword-backward-internal): - Use new variables, eg so that different "word" definitions - can be easily used. (Bug#11411) - -2012-08-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/vc-mtn.el (vc-mtn-revision-completion-table): Handle completion - for composite selectors. - * vc/vc.el (vc-diff-build-argument-list-internal): Don't prevent - operation just because we can't find a previous revision. - -2012-08-15 Chong Yidong <cyd@gnu.org> - - * frame.el (set-frame-font): Accept font objects. - -2012-08-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * textmodes/tex-mode.el (tex-insert-quote): ~ is a space (bug#12137). - -2012-08-15 Wolfgang Jenkner <wjenkner@inode.at> - - * man.el (Man-overstrike-face, Man-underline-face) - (Man-reverse-face): Remove variables. - (Man-overstrike, Man-underline, Man-reverse): New faces. - (Man-fontify-manpage): Use them instead of the variables. - (Man-cleanup-manpage): Comment change. - (Man-ansi-color-map): New variable. - (Man-fontify-manpage): Use it. - Call ansi-color-apply-on-region to replace ad hoc code (bug#12147). - - Implement ANSI SGR parameters 22-27 (bug#12146). - * ansi-color.el (ansi-colors): Doc fix. - (ansi-color-context, ansi-color-context-region): Doc fix. - (ansi-color--find-face): New function. - (ansi-color-apply, ansi-color-apply-on-region): Use it. - Rename the local variable `face' to `codes' since it is now a list of - ansi codes. Doc fix. - (ansi-color-get-face): Remove. - (ansi-color-parse-sequence): New function, derived from - ansi-color-get-face. - (ansi-color-apply-sequence): Use it. Rewrite, and support ansi - codes 22-27. - -2012-08-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (read-passwd): Allow use from a minibuffer. - -2012-08-14 Eli Zaretskii <eliz@gnu.org> - - * tooltip.el (tooltip-identifier-from-point): Don't treat tokens - inside comments and strings as identifiers. - - * progmodes/gud.el (gud-tooltip-print-command): Quote the - expression to evaluate. This allows to evaluate expressions with - embedded whitespace. - (gud-tooltip-tips): Add a blank before the newline in the - message-box text, for the benefit of message-box emulation on - MS-Windows. - - * progmodes/gdb-mi.el (gdb-tooltip-print): Don't ignore error - messages from GDB, pop them up in a tooltip to give feedback to - user. - (gdb-tooltip-print-1): Quote the expression to evaluate. - This allows to evaluate expressions with embedded whitespace. - (gdb-inferior-io--init-proc): Don't send "-inferior-tty" command - if the TTY name is nil or empty (which happens when communicating - with the inferior via pipes, e.g. on MS-Windows). - (gdb-internals): If GDB sends a "&\n" empty debugging message, - don't send that to the GUD buffer. - -2012-08-14 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/bytecomp.el (byte-compile-setq-default): - Optimize away setq-default with no args, as for setq. (Bug#12195) - -2012-08-14 Chong Yidong <cyd@gnu.org> - - * minibuffer.el (read-file-name): Doc fix (Bug#10881). - - * emacs-lisp/regexp-opt.el (regexp-opt-charset): Doc fix - (Bug#12085). - -2012-08-14 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/bytecomp.el (byte-recompile-file): Doc fix. - -2012-08-14 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-open-shell): Cache the shell name. - (tramp-find-shell, tramp-open-connection-setup-interactive-shell): - Use cached shell name. - -2012-08-14 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-shell-send-string): - (python-shell-send-setup-code): Do not use `format' with `message'. - -2012-08-14 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el: Improve percent literals (bug#6286). - (ruby-percent-literal-beg-re): New constant. - (ruby-syntax-general-delimiters-goto-beg): Rename to - `ruby-syntax-enclosing-percent-literal', improve literal type check. - (ruby-syntax-propertize-general-delimiters): Rename to - `ruby-syntax-propertize-percent-literal', it's a shorter and more - popular term. Adjust comments everywhere. - (ruby-syntax-propertize-percent-literal): Only propertize when not - inside a simple string or comment. When the literal is unclosed, - leave the text after it unpropertized. - (ruby-syntax-methods-before-regexp): New constant. - (ruby-syntax-propertize-function): Use it to recognize regexps. - Don't look at the text after regexp, just use the whitelist. - -2012-08-14 Andreas Schwab <schwab@linux-m68k.org> - - * emacs-lisp/bytecomp.el (byte-recompile-file): When LOAD is - non-nil always load the compiled file if it exists. (Bug#12197) - -2012-08-14 Chong Yidong <cyd@gnu.org> - - * hi-lock.el (hi-lock-mode): Do not unilaterally enable font lock. - (hi-lock-set-pattern): When deciding whether to use font lock or - overlays, look at font-lock-mode instead of font-lock-fontified - (Bug#12168). - (hi-lock-mode, hi-lock-line-face-buffer, hi-lock-unface-buffer) - (hi-lock-face-buffer, hi-lock-face-phrase-buffer): Doc fix. - -2012-08-14 Daiki Ueno <ueno@unixuser.org> - - * subr.el (internal--after-with-selected-window): Fix typo - (Bug#12193). - -2012-08-14 Fabián Ezequiel Gallina <fgallina@cuca> - - Use `completion-table-dynamic' for completion functions. - * progmodes/python.el - (python-shell-completion--do-completion-at-point) - (python-shell-completion--get-completions): - Remove functions. - (python-shell-completion-complete-at-point): New function. - (python-completion-complete-at-point): Use it. - -2012-08-13 Jambunathan K <kjambunathan@gmail.com> - - * vc/vc-dir.el (vc-dir-hide-state): New command (bug#12159). - (vc-dir-hide-up-to-date): Route it to `vc-dir-hide-state'. - -2012-08-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (function-get): Refine `autoload' arg so it can also - autoload functions for gv.el (bug#12191). - * emacs-lisp/edebug.el (get-edebug-spec): Adjust so it only - autoloads macros. - - * color.el (color-xyz-to-lab, color-lab-to-xyz, color-cie-de2000): - Prefer pcase-let over destructuring-bind. - * vc/diff-mode.el (diff-remove-trailing-whitespace): Same. - Also, remove whitespace as we go, rather than after accumulating the - various places. - - * subr.el (internal--before-with-selected-window) - (internal--after-with-selected-window): Fix typo seleted->selected. - (with-selected-window): Adjust callers. - Reported by Dmitry Gutov <dgutov@yandex.ru>. - -2012-08-13 Bastien Guerry <bzg@gnu.org> - - * window.el (special-display-popup-frame): Minor docstring - enhancement. (Bug#12172) - -2012-08-13 Andreas Schwab <schwab@linux-m68k.org> - - * tar-mode.el (tar-header-data-end): Only ignore size for files of - type 1-6. - (tar-header-block-summarize, tar-get-descriptor): Handle pax - extended headers. - - * files.el (hack-local-variables-filter): Remove useless eval. - -2012-08-13 Martin Rudalics <rudalics@gmx.at> - - * subr.el (with-selected-window): Fix last change. - -2012-08-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (internal--before-with-seleted-window) - (internal--after-with-seleted-window): New functions. - (with-selected-window): Use them, to replace dependency on - tty-top-frame. - -2012-08-12 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * progmodes/ruby-mode.el (ruby-mode-map): Remove unnecessary - binding for `newline'. - (ruby-move-to-block): When moving backward, stop at block opening, - not indentation. - * progmodes/ruby-mode.el (ruby-brace-to-do-end) - (ruby-do-end-to-brace, ruby-toggle-block): New functions. - * progmodes/ruby-mode.el (ruby-mode-map): Add binding for - `ruby-toggle-block'. - -2012-08-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * ibuffer.el (ibuffer-do-toggle-read-only): - * dired.el (dired-toggle-read-only): - * buff-menu.el (Buffer-menu-toggle-read-only): - * bindings.el (mode-line-toggle-read-only): - * bs.el (bs-toggle-readonly): Call toggle-read-only interactively. - -2012-08-12 Andreas Schwab <schwab@linux-m68k.org> - - * descr-text.el (describe-char): Put the overlays over the - "displayed as" character. - -2012-08-12 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-units.el (math-default-units-table): Give an - initial value. - (math-put-default-units): Add options to put composite units and - unit systems in the default units table. - (calc-convert-units): Send composite units to - `math-put-default-units' when appropriate. - -2012-08-11 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/copyright.el (copyright-update-directory): Logic fix. - - * tutorial.el (help-with-tutorial): - * emacs-lisp/copyright.el (copyright-update-directory): - * emacs-lisp/autoload.el (autoload-find-generated-file) - (autoload-find-file): Disable local eval: (for insurance). - - * files.el (hack-local-variables-filter): If an eval: form is not - known to be safe, and enable-local-variables is :safe, then ignore - the form totally, as is done for non-eval forms. (Bug#12155) - This is CVE-2012-3479. - -2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/rx.el (rx-constituents): Don't define as constant. - (rx-form): Simplify. - -2012-08-09 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-expr-beg, ruby-parse-partial): - ?, _, and : are symbol constituents, ! is not (but kinda should be). - (ruby-syntax-propertize-heredoc): Use ruby-singleton-class-p. - (ruby-syntax-propertize-function): Adjust for changes in - `ruby-syntax-propertize-heredoc'. - -2012-08-09 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * progmodes/ruby-mode.el (ruby-mode-map): Remove deprecated - binding (use `M-;' instead). - (ruby-singleton-class-p): New function. - (ruby-expr-beg, ruby-in-here-doc-p) Use it. - -2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl-loop): Improve debug spec. - -2012-08-10 Chong Yidong <cyd@gnu.org> - - * progmodes/python.el (python-shell-get-process-name): Don't mess - with same-window-buffer-names. - - * eshell/eshell.el (eshell-add-to-window-buffer-names) - (eshell-remove-from-window-buffer-names): Make obsolete. - (eshell-buffer-name, eshell-unload-hook): Don't use them. - (eshell): Just use pop-to-buffer-same-window instead. - -2012-08-10 Chong Yidong <cyd@gnu.org> - - * bindings.el: Bind M-= back to count-words-region. - - * simple.el (count-words-region): Accept a prefix arg for acting - on the entire buffer. - (count-words--buffer-message): New helper function. - -2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * term/x-win.el (x-menu-bar-open): Always pass last-nonmenu-event. - * subr.el (eventp): `nil' is not an event, and eventp is not hot. - (event-start, event-end): Use posn-at-point to return a more - informative posn. - (posnp): New function. - * mouse.el (popup-menu-normalize-position): Use it. - -2012-08-10 Masatake YAMATO <yamato@redhat.com> - - * mouse.el (popup-menu-normalize-position): New function. - (popup-menu): Use `popup-menu-normalize-position' to normalize - the form for POSITION argument. - - * term/x-win.el (x-menu-bar-open): - Use the value returend from (posn-at-point) as position - passed to `popup-menu'. - -2012-08-09 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calccomp.el (math-compose-expr): Add extra argument - indicating that parentheses should be put around products in - denominators. Give multiplication precedence over division during - composition. - -2012-08-09 Chong Yidong <cyd@gnu.org> - - * man.el (Man-switches, Man-sed-command, Man-awk-command) - (Man-mode-hook, Man-cooked-hook, Man-untabify-command-args) - (Man-untabify-command, manual-program): Convert to defcustom - (Bug#10429). - - * vc/add-log.el (change-log-mode): Bind comment-start to nil. - - * descr-text.el (describe-char): Don't insert extra newlines - (Bug#10127). - - * vc/log-view.el (log-view-diff): Use use-region-p (Bug#10133). - (log-view-diff-changeset, log-view-minor-wrap): Likewise. - - * align.el (align-region): Delete temporary markers (Bug#10047). - Plus some code cleanups. - -2012-08-09 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-pdbtrack-tracked-buffer) - (python-pdbtrack-buffers-to-kill, python-shell-internal-buffer) - (python-shell-internal-last-output): Use make-local-variable - instead of make-variable-buffer-local. - -2012-08-09 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: Enhancements to forward-sexp. - (python-nav-forward-sexp): Rename from - python-nav-forward-sexp-function. - (python-nav--forward-sexp, python-nav--backward-sexp): - New functions. - -2012-08-09 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-menu.el (calc-modes-menu): Add entries for matrix - modes and simplification modes. - -2012-08-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * delsel.el (delete-selection-pre-hook): Don't propagate the - file-supersession signals (bug#12161). - -2012-08-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals) - (cl-map-extents): Add compatibility aliases (bug#12135). - -2012-08-08 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-find-file-exists-command): Protect the - tests by `ignore-error'. - (tramp-find-shell): Open also a new shell, when cache is already - set. Reported by Carsten Bormann <cabo@tzi.org>. (Bug#12148) - -2012-08-08 Juri Linkov <juri@jurta.org> - - * bookmark.el: Add `defaults' property to the bookmark record. - (bookmark-current-buffer): Doc fix. - (bookmark-make-record): Add `defaults' property with default values - to the bookmark record. - (bookmark-minibuffer-read-name-map): Remove key binding "\C-u" - with `bookmark-insert-current-bookmark'. - (bookmark-set): Get `defaults' property from the bookmark record - and use it in `read-from-minibuffer'. - (bookmark-insert-current-bookmark): Remove function. - - * info.el (Info-bookmark-make-record): Add `defaults' property - with values of canonical Info node name, the current Info file - name and the current Info node name. (Bug#12107) - -2012-08-08 Juri Linkov <juri@jurta.org> - - * files.el (basic-save-buffer): Use `buffer-name' as the default - of `read-file-name' when buffer is not visiting a file (bug#12128). - -2012-08-08 Juri Linkov <juri@jurta.org> - - * info.el (Info-isearch-search): Doc fix. - (Info-search): Change search-failed message from "initial node" to - "end of node" (bug#12078). - (Info-isearch-search): Change `isearch-string-state' to - `isearch--state-string'. - -2012-08-08 Glenn Morris <rgm@gnu.org> - - * language/persian.el: Remove file. - * language/misc-lang.el: Move unique part of persian.el here. - * loadup.el: Remove language/persian. - -2012-08-08 Óscar Fuentes <ofv@wanadoo.es> - - * vc/diff-mode.el (diff-remove-trailing-whitespace): New function. - -2012-08-08 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: Fix defsubst warning. - (python-syntax-context) Rename from python-info-ppss-context. - (python-syntax-context-type): Rename from - python-info-ppss-context-type. - (python-syntax-comment-or-string-p): Rename from - python-info-ppss-comment-or-string-p. - -2012-08-08 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-misc.el (calc-record-why): Don't record a message twice. - -2012-08-07 Andreas Schwab <schwab@linux-m68k.org> - - * emacs-lisp/lisp-mode.el (eval-defun-1): Handle standard value of - a defcustom that is quoted with backquote. - - * calc/calc-prog.el (math-do-defmath): Use backquote forms. - Fix handling of interactive spec when the body uses return. - (math-do-arg-check, math-define-function-body): Use backquote forms. - * calc/calc-ext.el (math-defcache): Likewise. - * calc/calc-rewr.el (math-rwfail, math-rweval): Likewise. - * allout.el (allout-new-exposure): Likewise. - * calc/calcalg2.el (math-tracing-integral): Likewise. - * info.el (Info-last-menu-item): Likewise. - * emulation/vip.el (vip-loop): Likewise. - * textmodes/artist.el (artist-funcall): Likewise. - * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle): - Construct menu-item directly. - - * progmodes/autoconf.el (font-lock-syntactic-keywords): - Don't declare. - -2012-08-07 Chong Yidong <cyd@gnu.org> - - * simple.el (deactivate-mark): Preserve text properties when - saving the primary selection (Bug#8384). - -2012-08-07 Kevin Ryde <user42@zip.com.au> - - * woman.el (woman0-if): Quietly treat ".if v" as false (Bug#12109). - (woman-parse-numeric-value): On a bad .IP line, issue a warning - and continue processing (Bug#12110). - -2012-08-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/cperl-mode.el (cperl-mode): Yet another fix for - syntax-propertize-function (bug#10095). - -2012-08-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * help-fns.el (help-fns--key-bindings, help-fns--signature) - (help-fns--parent-mode, help-fns--obsolete): New funs, extracted from - describe-function-1. - (describe-function-1): Use them. Move compiler macro after sig. - (help-fns--compiler-macro): Use function-get. Assume we're already in - standard-output. Adjust layout to new call order. - - * emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix handling of - re-binding a symbol that has a symbol-macro (bug#12119). - -2012-08-06 Mohsen BANAN <libre@mohsen.1.banan.byname.net> - - * language/persian.el: New file. (Bug#11812) - * loadup.el: Add language/persian.el. - -2012-08-06 Chong Yidong <cyd@gnu.org> - - * window.el (window--maybe-raise-frame): New function. - (window--display-buffer): Split off from here. - (display-buffer-reuse-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-window, display-buffer-use-some-window): - Obey an inhibit-switch-frame action alist entry. - (display-buffer): Update doc. - - * replace.el (occur-after-change-function): Avoid losing focus by - using the inhibit-switch-frame display parameter (Bug#12139). - -2012-08-06 Fabián Ezequiel Gallina <fgallina@cuca> - - Make internal shell process buffer names start with space. - * progmodes/python.el (python-shell-make-comint): Add optional - argument INTERNAL. - (run-python-internal): Use it. - (python-shell-internal-get-or-create-process): Check for new - internal buffer names. - -2012-08-06 Glenn Morris <rgm@gnu.org> - - * eshell/esh-ext.el (eshell/addpath): Use dolist and mapconcat. - Do less getting and setting of environment variables. - -2012-08-05 Chong Yidong <cyd@gnu.org> - - * proced.el (proced): Add substitution string to docstring to - trigger autoloading of the proced library on C-h f (Bug#1768). - - * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): - Don't show defvars which have no second argument (Bug#8638). - - * imenu.el (imenu-generic-expression): Move documentation here - from imenu--generic-function. - (imenu--generic-function): Refer to imenu-generic-expression. - -2012-08-05 Vegard Øye <vegard_oye@hotmail.com> (tiny change) - - * emulation/viper-init.el (viper-deflocalvar): Add docstring and - indentation declaration. - (viper-loop): Add indentation declaration (Bug#7025). - -2012-08-05 Chong Yidong <cyd@gnu.org> - - * help-fns.el (describe-variable): Add hyperlink for - directory-local variables files. Improve buffer-local and - permanent-local reporting; suggested by MON KEY (Bug#6644). - - * help-mode.el (help-dir-local-var-def): New button type. - - * files.el (kill-buffer-hook): Provide a defvar. - -2012-08-05 Glenn Morris <rgm@gnu.org> - - * eshell/esh-ext.el (eshell/addpath): - Also update eshell-path-env. (Bug#12013) - -2012-08-05 Chong Yidong <cyd@gnu.org> - - * wdired.el (wdired-mode, wdired-change-to-wdired-mode): Doc fixes. - - * fringe.el (fringe-styles): Add docstring. - (fringe--check-mode): New function. - (set-fringe-mode, set-fringe-style): Use it. - (fringe-mode, set-fringe-style): Doc fixes (Bug#6480). - - * files.el (set-auto-mode): Fix invalid setq call. - -2012-08-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * isearch.el: Misc simplification; use defstruct. - (isearch-mode-map): Dense maps now work like sparse ones. - (isearch--state): New defstruct. - (isearch-string-state, isearch-message-state, isearch-point-state) - (isearch-success-state, isearch-forward-state) - (isearch-other-end-state, isearch-word-state, isearch-error-state) - (isearch-wrapped-state, isearch-barrier-state) - (isearch-case-fold-search-state, isearch-pop-fun-state): Remove, - replaced by defstruct's accessors. - (isearch--set-state): Rename from isearch-top-state and change - calling convention. - (isearch-push-state): Use new isearch--get-state. - (isearch-toggle-word): Disable regexp when enabling word. - (isearch-message-prefix): Remove unused arg _c-q-hack. - (isearch-message-suffix): Remove unused arg _ellipsis. - -2012-08-04 Andreas Schwab <schwab@linux-m68k.org> - - * simple.el (list-processes--refresh): For a server use :host or - :local as the address. - (list-processes): Doc fix. - -2012-08-04 Michal Nazarewicz <mina86@mina86.com> - - * lisp/mpc.el: Support password in host argument. - (mpc--proc-connect): Parse and use new password element. - Set mpc-proc variable instead of returning process. - (mpc-proc): Adjust accordingly. - -2012-08-03 Eli Zaretskii <eliz@gnu.org> - - * whitespace.el (whitespace-display-mappings): Use Unicode - codepoints, instead of emacs-mule codepoints. See - http://lists.gnu.org/archive/html/help-gnu-emacs/2012-07/msg00366.html - for the details. - - * files.el (file-truename): Don't skip symlink-chasing part on - windows-nt. Incorporate the resolution of 8+3 short aliases on - Windows into the loop that recursively chases symlinks. - Compare directory and its parent case-insensitively on MS-Windows and - MS-DOS. - -2012-08-03 Chong Yidong <cyd@gnu.org> - - * menu-bar.el (menu-bar-tools-menu): Remove PCL-CVS. - - * sort.el (sort-regexp-fields): Doc fix. - -2012-08-03 Tassilo Horn <tsdh@gnu.org> - - * textmodes/reftex.el (reftex-compile-variables): Make keyvals - labels regex position point at the expected place. - -2012-08-03 MON KEY <monkey@sandpframing.com> - - * net/imap.el (imap-interactive-login, imap-authenticate) - (imap-mailbox-lsub, imap-mailbox-list) - (imap-mailbox-status-asynch, imap-mailbox-acl-delete) - (imap-fetch, imap-message-flag-permanent-p, imap-envelope-from) - (imap-parse-response): Doc fix. - -2012-08-03 João Távora <joaotavora@gmail.com> - - * textmodes/tex-mode.el (latex-forward-sexp): Terminate the loop - if sexp scanning does not move point (Bug#5734). - -2012-08-02 Tassilo Horn <tsdh@gnu.org> - - * textmodes/reftex-vars.el (reftex-default-label-alist-entries): - Add listings, minted, and ctable packages. - (reftex-label-alist-builtin): Move listings, minted, and ctable - entries before LaTeX. - (reftex-label-alist): Docfix. - -2012-08-02 Bastien Guerry <bzg@gnu.org> - - * replace.el (occur): Fix docstring (bug#12122). - -2012-08-02 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h. - -2012-08-02 Paul Eggert <eggert@cs.ucla.edu> - - Obsolete alias inactivate-current-input-method-function (Bug#10150). - * international/mule-cmds.el: Create - inactivate-current-input-method-function as an obsolete alias for - deactivate-current-input-method-function. See Katsumi Yamaoka in - <http://bugs.gnu.org/10150#46>. - -2012-08-01 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-mode.el (calc-set-simplify-mode): Use `cond' instead - of nested `if's. - -2012-08-01 Glenn Morris <rgm@gnu.org> - - * progmodes/autoconf.el (autoconf-definition-regexp): - Add AH_TEMPLATE, adjust submatch numbering. - (autoconf-font-lock-keywords, autoconf-imenu-generic-expression) - (autoconf-current-defun-function): Update for above change. - (autoconf-current-defun-function): First skip to end of current word. - -2012-08-01 Rupert Swarbrick <rswarbrick@gmail.com> (tiny change) - - * calendar/cal-html.el (cal-html-insert-agenda-days): - Fix typo. (Bug#12018) - -2012-07-31 Fabián Ezequiel Gallina <fgallina@cuca> - - Shell processes: enhancements to startup and CEDET compatibility. - * progmodes/python.el (python-shell-send-setup-max-wait): Delete var. - (python-shell-make-comint): accept-process-output at startup. - (run-python-internal): Set inferior-python-mode-hook to nil. - (python-shell-internal-get-or-create-process): Call sit-for. - (python-preoutput-result): Add obsolete alias. - (python-shell-internal-send-string): Use it. - (python-shell-send-setup-code): Remove call to - accept-process-output. - -2012-07-31 Andreas Schwab <schwab@linux-m68k.org> - - * buff-menu.el (list-buffers-noselect): Use prefix-numeric-value. - (Bug#12108) - -2012-07-31 Jay Belanger <jay.p.belanger@gmail.com> - - * calc-mode.el (calc-basic-simplification-mode): Rename from - `calc-limited-simplification-mode'. - (calc-alg-simplification-mode): New function. - (calc-set-simplify-mode): Adjust message. - - * calc.el (calc-set-mode-line): Adjust mode line display for - basic simplification mode. - - * calc-help.el (calc-m-prefix-help): Update help message. - - * calc-ext.el (calc-init-extensions): Add bindings and autoloads - for `calc-basic-simplify-mode' and `calc-alg-simplify-mode'. - -2012-07-31 Bastien Guerry <bzg@gnu.org> - - * man.el (man): Fix comment. (bug#12101) - -2012-07-31 Martin Rudalics <rudalics@gmx.at> - - * window.el (switch-to-prev-buffer, switch-to-next-buffer): - Don't return a non-nil value when no suitable buffer was found. - -2012-07-31 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (run-python-internal): Disable font lock for - internal shells. - -2012-07-30 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Silence `checkdoc-ispell'. - (rst-cvs-header, rst-svn-rev, rst-svn-timestamp) - (rst-official-version, rst-official-cvs-rev) - (rst-package-emacs-version-alist): Update to upstream V1.3.1. - (rst-mode-map): New key binding. - -2012-07-30 Paul Eggert <eggert@cs.ucla.edu> - - Update .PHONY listings in makefiles. - * Makefile.in (.PHONY): Add all, doit, custom-deps, finder-data, - autoloads, update-subdirs, updates, bzr-update, update-authors, - compile-onefile, compile-calc, backup-compiled-files, - compile-after-backup, compile-one-process, mh-autoloads, - bootstrap-clean, distclean, maintainer-clean. - -2012-07-29 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc.el (calc-simplify-mode): Make 'alg the default value. - (calc-set-mode-line): Don't display "AlgSimp ". - - * calc/calc-mode.el (calc-alg-simplify-mode): Remove function. - (calc-lim-simplify-mode): New function. - (calc-set-simplify-mode): Default to 'alg. - (calc-default-simplify-mode): Make algebraic simplifications - the default. - - * calc/calc-ext.el (calc-init-extensions): Remove binding for - `calc-alg-simplify-mode'. Add binding for `calc-lim-simplify-mode'. - - * calc/calc-help.el (calc-m-prefix-help): Change messages to - indicate new simplification modes. - - * calc/README: Mention new default simplification mode. - - * calc/calc.el (math-normalize-error): New variable. - (math-normalize): Set `math-normalize-error' to t - when there's an error. - - * calc/calc-alg.el (math-simplify): Don't simplify when - `math-normalize' returns an error. - -2012-07-29 Eli Zaretskii <eliz@gnu.org> - - * international/mule-cmds.el (set-locale-environment): Revert last - change, since display-graphic-p returns nil when this function is - called during startup. Instead... - - * term/w32console.el (terminal-init-w32console): ...setup the - keyboard and terminal encoding for TTY sessions here. (Bug#12082) - -2012-07-29 Juri Linkov <juri@jurta.org> - - * simple.el (goto-line): Don't display default line number in the - prompt because it should be displayed by `read-number' (bug#9952). - Add the current line number to the defaults of `goto-line' to - allow its easier modification by users with `M-n' (bug#9201). - - * subr.el (read-number): Support multiple default values like in - other minibuffer reading functions. Replace `read' with - `string-to-number' for consistency with `number-to-string'. - -2012-07-29 Paul Eggert <eggert@cs.ucla.edu> - - deactive->inactive, inactivate->deactivate spelling fixes (Bug#10150) - * emulation/viper-init.el (viper-deactivate-input-method-action): - Rename from viper-inactivate-input-method-action. - (viper-deactivate-input-method): - Rename from viper-inactivate-input-method. - * follow.el (follow-inactive-menu): Rename from follow-deactive-menu. - * international/mule-cmds.el (deactivate-input-method): - Rename from inactivate-input-method. - Also run input-method-deactivate-hook. - (deactivate-current-input-method-function): - Rename from inactivate-current-input-method-function. - (input-method-deactivate-hook): New hook. - (input-method-inactivate-hook): Mark obsolete. - (inactivate-input-method): Mark obsolete. - - * international/quail.el (quail-activate): - Also run quail-deactivate-hook. - (quail-deactivate): Rename from quail-inactivate. - * international/robin.el (robin-activate): - Also run robin-deactivate-hook. - (robin-deactivate): Rename from robin-inactivate. - -2012-07-29 Chong Yidong <cyd@gnu.org> - - * simple.el (indicate-copied-region): New function. - (kill-ring-save): Split off from here. - - * rect.el (copy-rectangle-as-kill): Call indicate-copied-region. - (kill-rectangle): Set deactivate-mark to t on read-only error. - - * register.el (copy-to-register, copy-rectangle-to-register): - Deactivate the mark, and use indicate-copied-region (Bug#10056). - (append-to-register, prepend-to-register): Call indicate-copied-region. - -2012-07-29 Juri Linkov <juri@jurta.org> - - * simple.el (async-shell-command-buffer): New defcustom. - (shell-command): Use it. (Bug#4719) - -2012-07-28 Eli Zaretskii <eliz@gnu.org> - - * international/mule-cmds.el (set-locale-environment): In a - console session on MS-Windows, set up keyboard and terminal - encoding from the OEM codepage, not the ANSI codepage. - (Bug#12055) - -2012-07-28 Chong Yidong <cyd@gnu.org> - - * progmodes/gdb-mi.el (gdb-place-breakpoints): Fix the call to - gdb-get-location. - -2012-07-28 Leo Liu <sdl.web@gmail.com> - - * progmodes/cc-menus.el (cc-imenu-objc-function): Avoid leaving nil in - the alist (bug#12029). - -2012-07-28 Eli Zaretskii <eliz@gnu.org> - - * makefile.w32-in (custom-deps, finder-data, updates, compile) - (compile-always, compile-first) - ($(lisp)/calendar/cal-loaddefs.el) - ($(lisp)/calendar/diary-loaddefs.el) - ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el) - ($(lisp)/net/tramp-loaddefs.el, bootstrap) - ($(lisp)/progmodes/cc-mode.elc): Depend on $(lisp)subdirs.el, - instead of on update-subdirs. - (bootstrap-clean): Delete $(lisp)/subdirs.el. - -2012-07-28 Chong Yidong <cyd@gnu.org> - - * vc/vc.el (vc-root-diff, vc-print-root-log): Prompt for a - directory if vc-deduce-backend returns nil (Bug#7350). - - * simple.el (delete-trailing-lines): New option. - (delete-trailing-whitespace): Obey it (Bug#11879). - -2012-07-28 David Engster <deng@randomsample.de> - - * xml.el (xml-node-name, xml-parse-file, xml-parse-region): - Explanation of new 'symbol-qnames feature in doc-strings. - (xml-maybe-do-ns): Return expanded names as plain symbols if - 'symbol-qnames was provided in XML-NS argument (Bug#11916). - (xml-parse-tag-1): Deal with new definition of PARSE-NS argument. - -2012-07-27 Fabián Ezequiel Gallina <fgallina@cuca> - - Consistent completion in inferior python with emacs -nw. - * progmodes/python.el (inferior-python-mode): Replace "<tab>" - binding in inferior-python-mode-map with "\t". - (python-shell-completion-complete-at-point) - (python-completion-complete-at-point): Remove interactive spec. - -2012-07-27 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calccomp.el (math-compose-expr): Undo previous change. - -2012-07-27 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-mode-map): Add keybinding for - run-python. - (python-shell-make-comint): Fix pop-to-buffer call. - (run-python): Autoload. New arg SHOW. - (python-shell-get-or-create-process): Do not pop python process - buffer. - -2012-07-27 Michael Albinus <michael.albinus@gmx.de> - - * notifications.el (notifications-on-action-signal) - (notifications-on-closed-signal): Use also the bus address for the map. - (notifications-notify, notifications-close-notification) - (notifications-get-capabilities): Add optional argument BUS. - -2012-07-27 Tassilo Horn <tsdh@gnu.org> - - * textmodes/reftex-vars.el (reftex-label-alist-builtin): - Add support for the lstlisting and minted environments, and for the - ctable macro. - * textmodes/reftex.el (reftex-compile-variables): Also recognize - labels written in keyvals syntax. - -2012-07-27 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calccomp.el (math-compose-expr): Use parentheses when - there is a product in the denominator of a fraction. - -2012-07-26 Eli Zaretskii <eliz@gnu.org> - - * makefile.w32-in ($(lisp)/calendar/cal-loaddefs.el) - ($(lisp)/calendar/diary-loaddefs.el) - ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el) - ($(lisp)/net/tramp-loaddefs.el): Depend on update-subdirs. - Fixes failures in parallel bootstrap because subdirs.el is being - rewritten while the autoload files are built at the same time, - which needs to load subdirs.el. - -2012-07-26 Martin Rudalics <rudalics@gmx.at> - - * mouse.el (popup-menu): Fix doc-string and re-indent code. - (mouse-drag-line): Don't exit tracking when a switch-frame or - switch-window event occurs (Bug#12006). - -2012-07-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * mouse.el (popup-menu): Fix last change. - -2012-07-26 Stefan Monnier <monnier@iro.umontreal.ca> - - Autoload from Lisp with more care. Follow aliases when looking for - function properties. - * subr.el (autoloadp): New function. - (symbol-file): Use it. - (function-get): New function. - * emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and - autoload-do-load. - * emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function) - (lisp-indent-function): - * emacs-lisp/gv.el (gv-get): - * emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec): - * emacs-lisp/byte-opt.el (byte-optimize-form): - * emacs-lisp/bytecomp.el (byte-compile-arglist-warn): - * emacs-lisp/autoload.el (make-autoload, autoload-print-form): - Use function-get. - * emacs-lisp/cl.el: Don't propagate function properties any more. - - * speedbar.el (speedbar-add-localized-speedbar-support): - * emacs-lisp/disass.el (disassemble-internal): - * desktop.el (desktop-load-file): - * help-fns.el (help-function-arglist, find-lisp-object-file-name) - (describe-function-1): - * emacs-lisp/find-func.el (find-function-noselect): - * emacs-lisp/elp.el (elp-instrument-function): - * emacs-lisp/advice.el (ad-has-proper-definition): - * apropos.el (apropos-safe-documentation, apropos-macrop): - * emacs-lisp/debug.el (debug-on-entry): - * emacs-lisp/cl-macs.el (cl-compiler-macroexpand): - * emacs-lisp/byte-opt.el (byte-compile-inline-expand): - * calc/calc.el (name): Use autoloadp & autoload-do-load. - -2012-07-25 Alp Aker <alp.tekin.aker@gmail.com> - - * international/mule-cmds.el (ucs-insert): Mark it as an obsolete - function, not an obsolete variable (Bug#12046). - -2012-07-25 Andreas Schwab <schwab@linux-m68k.org> - - * faces.el (face-spec-reset-face): Fix last change. (Bug#12042) - -2012-07-25 Christopher Schmidt <christopher@ch.ristopher.com> - - * emacs-lisp/pp.el (pp-display-expression): Select old selected - window only if it is still live (Bug#12034). - -2012-07-25 Martin Rudalics <rudalics@gmx.at> - - * subr.el (redirect-frame-focus): Add advertised calling - convention (Bug#12030). - -2012-07-25 Paul Eggert <eggert@cs.ucla.edu> - - Prefer typical American spelling for "acknowledgment". - * vc/add-log.el (change-log-acknowledgment): Rename from - change-log-acknowledgement, with an alias for the old name. - -2012-07-25 Jay Belanger <jay.p.belanger@gmail.com> - - * calc-alg.el (math-simplify-divide): Don't cross multiply - in an equation when the lhs is a variable. - -2012-07-24 Julien Danjou <julien@danjou.info> - - * net/netrc.el (netrc-find-service-number, netrc-store-data): - Remove, unused. - -2012-07-23 Eli Zaretskii <eliz@gnu.org> - - * startup.el (command-line): Don't display an empty user name in - the error message about non-existent home directory, when - init-file-user was set to an empty string. See - http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00835.html - for the details and context. - -2012-07-22 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * ses.el (ses-cell-formula-aset): New macro. - (ses-cell-references-aset): New macro. - (ses-cell-p): New function. - (ses-rename-cell): Do no longer rely on complex operations like - ses-cell-set-formula or ses-set-cell to change the cell and handle - the undo at the same time, but rather use lower level new macros - `ses-cell-formula-aset' and `ses-cell-references-aset' and handle - the undo directly. Refresh the mode line. - -2012-07-21 Leo Liu <sdl.web@gmail.com> - - * progmodes/cc-cmds.el (c-defun-name): - Use match-string-no-properties instead for consistency. - -2012-07-20 Leo Liu <sdl.web@gmail.com> - - * progmodes/cc-cmds.el (c-defun-name): Handle objc selectors properly. - (Bug#7879) - - * progmodes/cc-langs.el (c-symbol-start): Include char _ (bug#11986). - -2012-07-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * userlock.el, emacs-lisp/map-ynp.el: Declare part of `emacs' package. - * progmodes/bug-reference.el, misearch.el: Provide themselves - (bug#11915). - - * progmodes/cperl-mode.el (cperl-unwind-to-safe): Don't inf-loop at end - of narrowed buffer (bug#11966). - -2012-07-20 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * ses.el (ses-rename-cell): Set new name also in reference list of - cells of which the renamed cell depends. - -2012-07-20 Masatake YAMATO <yamato@redhat.com> - - * term/x-win.el (x-menu-bar-open): Use `frame-parameter' - to check whether menu-bar is shown or not. If not shown, - show the menu-bar as a popup menu instead of using tmm. - * mouse.el (popup-menu): Accept `point' as `position' argument. - -2012-07-20 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el (ruby-parse-partial): No error when end - up inside string symbol literal (bug#11923). - -2012-07-20 Eli Zaretskii <eliz@gnu.org> - - * startup.el (fancy-startup-text): Read the whole tutorial, not - just its first 256 bytes. Prevents gibberish in display of the - tutorial title. - -2012-07-20 Dmitry Antipov <dmantipov@yandex.ru> - - Drop idle buffer compaction due to an absence of the - proved efficiency. - * compact.el: Remove. - -2012-07-19 Sam Steingold <sds@gnu.org> - - * vc/vc-dispatcher.el (vc-compilation-mode): Add, based on - vc-bzr-pull & vc-bzr-merge-branch. - * vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch): Use it. - (vc-bzr-error-regexp-alist): Rename from vc-bzr-error-regex-alist - for consistency with compilation-error-regexp-alist. - * vc/vc-git.el (vc-git-error-regexp-alist): Add. - (vc-git-pull, vc-git-merge-branch): Call vc-compilation-mode. - * vc/vc-hg.el (vc-hg-error-regexp-alist): Add. - (vc-hg-pull, vc-hg-merge-branch): Call vc-compilation-mode. - -2012-07-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/chart.el: Use lexical-binding. - (chart-emacs-storage): Don't hardcode the list of entries. - -2012-07-19 Dmitry Antipov <dmantipov@yandex.ru> - - Next round of tweaks caused by Fgarbage_collect changes. - * emacs-lisp/chart.el (chart-emacs-storage): Adjust again. - -2012-07-19 Dmitry Antipov <dmantipov@yandex.ru> - - Compact buffers when idle. - * compact.el: New file. - -2012-07-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (eventp): Presume that if it looks vaguely like an event, - it's an event (bug#10190). - -2012-07-19 Fabián Ezequiel Gallina <fgallina@cuca> - - Enhancements to ppss related code (thanks Stefan). - * progmodes/python.el (python-indent-context) - (python-indent-calculate-indentation, python-indent-dedent-line) - (python-indent-electric-colon, python-nav-forward-block) - (python-mode-abbrev-table) - (python-info-assignment-continuation-line-p): Simplify checks - for ppss context. - (python-info-continuation-line-p): Cleanup. - (python-info-ppss-context): Do not catch 'quote. - (python-info-ppss-context-type) - (python-info-ppss-comment-or-string-p): Simplify. - -2012-07-18 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: Enhancements to eldoc support. - (python-info-current-symbol): New function. - (python-eldoc-at-point): Use python-info-current-symbol. - (python-info-current-defun): Fix cornercase on first defun scan. - (python-eldoc--get-doc-at-point): Use python-info-current-symbol - and signal error when no inferior python process is available. - -2012-07-18 Dmitry Gutov <dgutov@yandex.ru> - - * vc/vc-git.el (vc-git-state): Don't call `vc-git-registered', - assume it's always t. - (vc-git-registered): Remove caching, the function is only called - once. - (vc-git-branches): Use `vc-git--call' instead of `call-process'. - -2012-07-18 Chong Yidong <cyd@gnu.org> - - * subr.el (last-input-char, last-command-char): Remove (Bug#9195). - - * simple.el (count-words): Report on narrowing (Bug#9959). - - * bindings.el: Bind M-= to count-words. - - * faces.el (face-spec-reset-face): Handle reverse video (Bug#4238). - -2012-07-18 Masatake YAMATO <yamato@redhat.com> - - * progmodes/sh-script.el (sh-imenu-generic-expression): - Capture a function with `function' keyword and without parentheses - like "function FOO" (bug#11856). - -2012-07-18 Tassilo Horn <tassilo@member.fsf.org> - - * window.el (split-window-sensibly): Make WINDOW argument - optional. - -2012-07-18 Chong Yidong <cyd@gnu.org> - - * subr.el (keyboard-translate): Doc fix (Bug#7261). - - * isearch.el (isearch-mode-map): Handle C-x 8 key translations, - and make C-x 8 RET exit isearch (Bug#11439). - - * international/iso-transl.el: Move isearch-mode-map key - definitions to isearch.el. - -2012-07-18 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/eieio.el: Adapt further to gv.el (bug#11970). - (eieio-defclass): Use gv-define-setter when possible. - -2012-07-18 Dmitry Antipov <dmantipov@yandex.ru> - - Reflect recent changes in Fgarbage_collect. - * emacs-lisp/chart.el (chart-emacs-storage): Change to - reflect new format of data returned by Fgarbage_collect. - -2012-07-17 Fabián Ezequiel Gallina <fgallina@cuca> - - New utility functions + python-info-ppss-context fix (Bug#11910). - * progmodes/python.el (python-info-beginning-of-block-statement-p) - (python-info-ppss-comment-or-string-p): New functions. - (python-info-ppss-context): Small fix for string check. - -2012-07-17 Juri Linkov <juri@jurta.org> - - * dired-aux.el (dired-do-async-shell-command): Doc fix. - (dired-do-async-shell-command): Don't add `*' at the end of the - command (Bug#11815). - (dired-do-shell-command): Doc fix. - (dired-shell-stuff-it): Strip the trailing "&" and ";" if any. - Join the individual commands using either "&" or ";" as the - separator depending on the values of these trailing characters. - At the end re-add the trailing "&". (Bug#10598) - - * simple.el (async-shell-command): Sync the interactive spec with - `shell-command'. Doc fix. - (shell-command): Doc fix. - -2012-07-17 Juri Linkov <juri@jurta.org> - - * descr-text.el (describe-char): Fix format args. (Bug#10129) - -2012-07-17 Fabián Ezequiel Gallina <fgallina@cuca> - - Final renames and doc fixes for movement commands (bug#11899). - * progmodes/python.el (python-nav-beginning-of-statement): - Rename from python-nav-statement-start. - (python-nav-end-of-statement): Rename from - python-nav-statement-end. - (python-nav-beginning-of-block): Rename from - python-nav-block-start. - (python-nav-end-of-block): Rename from python-nav-block-end. - -2012-07-17 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el (python-shell-send-string-no-output): - Allow accept-process-output to quit, keeping shell process ready for - future interactions (Bug#11868). - -2012-07-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl-progv): Use a properly prefixed var name. - - * emacs-lisp/elint.el (elint-find-args-in-code): - Use help-function-arglist, so as to handle lexical byte-code. - - * progmodes/sh-script.el (sh-syntax-propertize-function): Fix last - change (bug#11826). - -2012-07-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): - Avoid spuriously marking the buffer as modified because of c-is-sws. - - * progmodes/sh-script.el (sh-syntax-propertize-function): Mark "${#VAR" - as not-a-comment (bug#11946). - - * emacs-lisp/macroexp.el (macroexp-let2): Use more informative names - for uninterned vars. - - * xt-mouse.el (xterm-mouse-translate-1, xterm-mouse-event-read): - Use read-event since we don't really want to read chars but bytes. - - * textmodes/tex-mode.el (tex-font-lock-keywords-1): Highlight not only - $$..$$ but also $..$ using regexps (bug#11953). - Use tex-verbatim for \url and \path. - (tex-font-lock-keywords): Define as defconst like the others. - (tex-common-initialization): Don't use font-lock-syntax-table any more. - -2012-07-16 René Kyllingstad <Rene@Kyllingstad.com> (tiny change) - - * international/mule-cmds.el (ucs-insert): Make it an obsolete - alias for insert-char. - -2012-07-16 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: Simplified imenu implementation. - (python-nav-jump-to-defun): Remove command. - (python-mode-map): Use `imenu' instead. - (python-nav-list-defun-positions-cache) - (python-imenu-include-defun-type, python-imenu-make-tree) - (python-imenu-subtree-root-label, python-imenu-index-alist): - Remove vars. - (python-nav-list-defun-positions, python-nav-read-defun) - (python-imenu-tree-assoc, python-imenu-make-element-tree) - (python-imenu-make-tree, python-imenu-create-index): - Remove functions. - (python-mode): Update to interact with imenu by setting - `imenu-extract-index-name-function' only. - -2012-07-16 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: Enhancements to navigation commands. - (python-nav-backward-sentence) - (python-nav-forward-sentence): Remove. - (python-nav-backward-statement, python-nav-forward-statement) - (python-nav-statement-start, python-nav-statement-end) - (python-nav-backward-block, python-nav-forward-block) - (python-nav-block-start, python-nav-block-end) - (python-nav-forward-sexp-function) - (python-info-current-line-comment-p) - (python-info-current-line-empty-p): New functions. - (python-indent-context): Use `python-nav-statement-start'. - -2012-07-16 Michael Albinus <michael.albinus@gmx.de> - - * eshell/em-ls.el (eshell/ls): Use `apply'. - - * eshell/em-unix.el (eshell/su, eshell/sudo): Apply Tramp's ad-hoc - multi-hops, instead of Tramp internals. - - * vc/ediff.el (ediff-directories): Add trailing space to prompts. - - * vc/ediff-diff.el (ediff-same-file-contents): Handle the case, - when F1 and F2 are located on different hosts. - -2012-07-14 Chong Yidong <cyd@gnu.org> - - * xt-mouse.el: Implement extended mouse coordinates (Bug#10642). - (xterm-mouse-translate): Move code into xterm-mouse-translate-1. - (xterm-mouse-translate-extended, xterm-mouse-translate-1) - (xterm-mouse--read-event-sequence-1000) - (xterm-mouse--read-event-sequence-1006): New functions. For old - mouse protocol, handle M-mouse-X events correctly. - (xterm-mouse-event): New arg specifying mouse protocol. - (turn-on-xterm-mouse-tracking-on-terminal) - (turn-off-xterm-mouse-tracking-on-terminal): Send DEC 1006 - sequence to toggle extended coordinates on newer XTerms. - This appears to be harmless on terminals which do not support this. - -2012-07-14 Leo Liu <sdl.web@gmail.com> - - Add fringe bitmap indicators for flymake. (Bug#11253) - * progmodes/flymake.el (flymake-highlight-line): Use fringe bitmaps. - (flymake-make-overlay): New arg BITMAP. - (flymake-error-bitmap, flymake-warning-bitmap) - (flymake-fringe-indicator-position): New user variables. - - * fringe.el: New bitmap exclamation-mark. - -2012-07-14 Jan Djärv <jan.h.d@swipnet.se> - - * progmodes/cc-cmds.el (c-defun-name): Recognize Objective-C methods - also (Bug#7879). - -2012-07-14 Chong Yidong <cyd@gnu.org> - - * electric.el (electric-pair-post-self-insert-function): Fix pair - insertion in empty-region case (Bug#11520). - -2012-07-14 Chong Yidong <cyd@gnu.org> - - * bindings.el: Consolidate ctl-x-r-map bindings. - Bind copy-rectangle-as-kill to C-x r w. - - * rect.el, register.el: Move bindings to bindings.el. - -2012-07-14 Reuben Thomas <rrt@sc3d.org> - - * rect.el (copy-rectangle-as-kill): New command (Bug#739). - -2012-07-13 Andreas Schwab <schwab@linux-m68k.org> - - * emacs-lisp/cl.el (labels): Remove spurious quote. (Bug#11938) - -2012-07-13 Juanma Barranquero <lekktu@gmail.com> - - * bindings.el (top): Use `mapc' instead of `mapcar'. - - * loadup.el (top): Remove bogus `if' choice (brought by 2008-06-21T01:38:39Z!monnier@iro.umontreal.ca). - -2012-07-13 Michael Albinus <michael.albinus@gmx.de> - - * progmodes/sql.el (sql-comint): Suppress the check for program on - remote hosts. Reported by Francis Devereux <francis@devrx.org>. - (Bug#11908) - -2012-07-13 Chong Yidong <cyd@gnu.org> - - * bindings.el: Assign a non-nil permanent-local property to - per-buffer variables which lack a default value (Bug#11930). - - * help-fns.el (describe-variable): In the "automatically becomes - local" notice, take note of permanent-local variables. - -2012-07-13 Chong Yidong <cyd@gnu.org> - - * files.el (toggle-read-only): Doc fix and code cleanup. New arg - to allow printing the message when called from Lisp. - - * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): - Remove toggle-read-only. - - * bs.el (bs-toggle-readonly): - * buff-menu.el (Buffer-menu-toggle-read-only): - Remove with-no-warnings around toggle-read-only. - - * ffap.el (ffap--toggle-read-only): Accept a list of buffers. - Remove with-no-warnings around toggle-read-only. - (ffap-read-only, ffap-read-only-other-window) - (ffap-read-only-other-frame): Callers changed. - - * help-mode.el: Don't require view package. - (help-mode-finish): Set buffer-read-only instead of calling - toggle-read-only. - - * bindings.el (mode-line-toggle-read-only): - * dired.el (dired-toggle-read-only): - * ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only - with non-nil second arg. - - * emacs-lisp/eieio-custom.el (eieio-customize-object): - * vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only - directly. - -2012-07-12 Eli Zaretskii <eliz@gnu.org> - - * emacs-lisp/bytecomp.el (byte-recompile-directory): Use cl-incf, - not incf. - -2012-07-11 Stefan Monnier <monnier@iro.umontreal.ca> - - More CL cleanups and reduction of use of cl.el. - * woman.el, winner.el, vc/vc-rcs.el, vc/vc-hooks.el, vc/vc-hg.el: - * vc/vc-git.el, vc/vc-dir.el, vc/vc-bzr.el, vc/vc-annotate.el: - * textmodes/tex-mode.el, textmodes/sgml-mode.el, tar-mode.el: - * strokes.el, ses.el, server.el, progmodes/js.el, progmodes/gdb-mi.el: - * progmodes/flymake.el, progmodes/ebrowse.el, progmodes/compile.el: - * play/tetris.el, play/snake.el, play/pong.el, play/landmark.el: - * play/hanoi.el, play/decipher.el, play/5x5.el, nxml/nxml-mode.el: - * net/secrets.el, net/quickurl.el, midnight.el, mail/footnote.el: - * image-dired.el, ibuffer.el, ibuf-macs.el, ibuf-ext.el, hexl.el: - * eshell/eshell.el, eshell/esh-io.el, eshell/esh-ext.el: - * eshell/esh-cmd.el, eshell/em-ls.el, eshell/em-hist.el: - * eshell/em-cmpl.el, eshell/em-banner.el: - * calendar/parse-time.el: Use cl-lib. - * wid-browse.el, wdired.el, vc/vc.el, vc/vc-mtn.el, vc/vc-cvs.el: - * vc/vc-arch.el, tree-widget.el, textmodes/texinfo.el: - * textmodes/refill.el, textmodes/css-mode.el, term/tvi970.el: - * term/ns-win.el, term.el, shell.el, ps-samp.el: - * progmodes/perl-mode.el, progmodes/pascal.el, progmodes/gud.el: - * progmodes/glasses.el, progmodes/etags.el, progmodes/cwarn.el: - * play/gamegrid.el, play/bubbles.el, novice.el, notifications.el: - * net/zeroconf.el, net/xesam.el, net/snmp-mode.el, net/mairix.el: - * net/ldap.el, net/eudc.el, net/browse-url.el, man.el: - * mail/mailheader.el, mail/feedmail.el: Don't use CL. - * ibuf-ext.el (ibuffer-mark-old-buffers): Use float-time. - * eshell/esh-opt.el (eshell-eval-using-options): Quote code with - `lambda' rather than with `quote'. - (eshell-do-opt): Adjust accordingly. - (eshell-process-option): Simplify. - * eshell/esh-var.el: - * eshell/em-script.el: Require `esh-opt' for eshell-eval-using-options. - * emacs-lisp/pcase.el (pcase--dontcare-upats, pcase--let*) - (pcase--expand, pcase--u1): Rename pcase's internal `dontcare' pattern - to `pcase--dontcare'. - * emacs-lisp/cl.el (labels): Mark obsolete. - (cl--letf, letf): Move to cl-lib. - (cl--letf*, letf*): Remove. - * emacs-lisp/cl-lib.el (cl-nth-value): Use defalias. - * emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Add indent rule. - (cl-progv): Rewrite. - (cl--letf, cl-letf): Move from cl.el. - (cl-letf*): New macro. - * emacs-lisp/cl-extra.el (cl--progv-before, cl--progv-after): Remove. - -2012-07-11 Michael Albinus <michael.albinus@gmx.de> - - * net/ange-ftp.el (ange-ftp-cf1): Update the files cache. - -2012-07-11 Chong Yidong <cyd@gnu.org> - - * vc/log-edit.el (log-edit-vc-backend): New variable. - (log-edit): Doc fix. - - * vc/vc-dispatcher.el (vc-log-edit): New args. Use PARAMS - argument of log-edit to set up all local variables. - (vc-start-logentry): New optional arg specifying VC backend. - - * vc/vc.el (vc-checkin): Use it. - (vc-deduce-fileset): Handle Log Edit buffers. - (vc-diff): Make first argument optional too. - - * vc/log-view.el (log-view-vc-fileset, log-view-vc-backend): Doc fix. - -2012-07-10 Michael Albinus <michael.albinus@gmx.de> - - * eshell/esh-ext.el (eshell-remote-command): Remove remote part of - command, just in case. The function is not needed anymore. - (eshell-external-command): Do not call `eshell-remote-command'. - -2012-07-10 Stefan Monnier <monnier@iro.umontreal.ca> - - Reduce use of (require 'cl). - * vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el: - * vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el: - * register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el: - * msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el: - * international/quail.el, info-xref.el, imenu.el, image-mode.el: - * font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el: - * battery.el, avoid.el, abbrev.el: Use cl-lib. - * vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el: - * vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el: - * jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el: - * emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el: - * calculator.el, autorevert.el, apropos.el: Don't require CL. - * emacs-lisp/bytecomp.el (byte-recompile-directory, display-call-tree) - (byte-compile-unfold-bcf, byte-compile-check-variable): - * emacs-lisp/byte-opt.el (byte-compile-trueconstp) - (byte-compile-nilconstp): - * emacs-lisp/autoload.el (make-autoload): Use pcase. - * face-remap.el (text-scale-adjust): Simplify pcase patterns. - - * emacs-lisp/gv.el (cond): Make it a valid place. - (if): Simplify slightly. - - * emacs-lisp/pcase.el (pcase): Accept self-quoting exps as "upatterns". - (pcase--self-quoting-p): New function. - (pcase--u1): Use it. - -2012-07-10 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/authors.el (authors-fixed-entries): - (authors-renamed-files-alist): Update for configure.in -> configure.ac. - -2012-07-09 Paul Eggert <eggert@cs.ucla.edu> - - Rename configure.in to configure.ac (Bug#11603). - * emacs-lisp/authors.el (authors-canonical-file-name): - * progmodes/autoconf.el (autoconf-mode): - Prefer configure.ac to configure.in. - -2012-07-08 Chong Yidong <cyd@gnu.org> - - * mouse.el (mouse-drag-line): Rewrite the track-mouse loop. - Implement the mouse-1-click-follows-link handling properly. - - * info.el (Info-link-keymap): Use follow-link mechanism for - header-line links (Bug#374). - - * simple.el (deactivate-mark): Do not set the primary selection - if another program has acquired it (Bug#11772). - -2012-07-07 Kevin Ryde <user42@zip.com.au> - - * woman.el (woman-strings): Fix double-quote handling (Bug#1151). - (woman-decode-region): Replace escaped-escapes without destroying - bold or underline (Bug#11552). - (woman2-process-escapes): Handle nofill regions (Bug#11591). - -2012-07-07 Chong Yidong <cyd@gnu.org> - - * simple.el (yank-pop-change-selection): Doc fix (Bug#11361). - (interprogram-cut-function, interprogram-paste-function): - Mention that we typically mean the clipboard. - -2012-07-06 Glenn Morris <rgm@gnu.org> - - * kmacro.el (kmacro-call-macro): Restore repeat message. (Bug#11817) - - * files.el (toggle-read-only): Restrict message to interactive use. - -2012-07-06 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-restricted-shell-hosts-alist): New defcustom. - - * net/tramp-sh.el (tramp-maybe-open-connection): Handle it. - -2012-07-06 Glenn Morris <rgm@gnu.org> - - * Makefile.in (compile-one-process): Rename from "recompile". - - * Makefile.in (bzr-update): "compile" is the same as "recompile - autoloads", but parallelizable, so use that instead. - -2012-07-06 Dmitry Gutov <dgutov@yandex.ru> - - * window.el (quit-window): Always restore window height when - it's saved in quit-restore parameter (Bug#11810). - -2012-07-06 Glenn Morris <rgm@gnu.org> - - * simple.el (kill-whole-line): Doc tweak. - -2012-07-06 Eli Zaretskii <eliz@gnu.org> - - * files.el (file-relative-name): Compare file names - case-insensitively if on MS-Windows or MS-DOS, or if - read-file-name-completion-ignore-case is non-nil. Don't use - case-fold-search for this purpose. (Bug#11827) - -2012-07-17 Andreas Schwab <schwab@linux-m68k.org> - - * calendar/cal-dst.el (calendar-current-time-zone): - Return calendar-current-time-zone-cache if non-nil. - -2012-07-17 Masatake YAMATO <yamato@redhat.com> -2012-07-06 Andreas Schwab <schwab@linux-m68k.org> - - * calendar/cal-dst.el (calendar-current-time-zone): - Return calendar-current-time-zone-cache if non-nil. - -2012-07-06 Glenn Morris <rgm@gnu.org> - - * Makefile.in (cvs-update): Remove old alias. - -2012-07-05 Michael Albinus <michael.albinus@gmx.de> - - Sync with Tramp 2.2.6-pre. - - * net/tramp.el (tramp-drop-volume-letter): Provide an XEmacs - compatible declaration. - - * net/tramp-cmds.el (tramp-append-tramp-buffers): - Protect `list-load-path-shadows' call. - - * net/tramp-compat.el (top): Require packages, which aren't - autoloaded anymore for XEmacs. Protect call of - `tramp-file-name-handler' by `tramp-compat-funcall', pacifying the - compiler. Do not require tramp-util.el and tramp-vc.el anymore, - it hurts at least for SXEmacs. - (tramp-compat-temporary-file-directory): In XEmacs, there is no - standard-value for `temporary-file-directory'. - - * net/tramp-sh.el (tramp-do-directory-files-and-attributes-with-stat): - Redirect stderr to /dev/null. - (tramp-sh-handle-write-region): uid and gid can be floats. - Reported by Russell Sim <russell.sim@gmail.com>. - (tramp-sh-handle-vc-registered): Hide errors. - (tramp-vc-file-name-handler): Use dummy results for `process-file' - and `start-file-process'. - (tramp-maybe-open-connection): Check also whether `non-essential' - is bound. - -2012-07-04 Chong Yidong <cyd@gnu.org> - - * xml.el (xml--parse-buffer): Use xml-syntax-table. - (xml-parse-tag): Likewise, and avoid changing entity tables. - (xml-syntax-table): Define from scratch, making sure not to give - x2000 and other Unicode spaces whitespace syntax, since those are - not spaces in XML. - (xml-parse-fragment): Delete unused function. - (xml-name-start-char-re, xml-name-char-re, xml-name-re) - (xml-names-re, xml-nmtoken-re, xml-nmtokens-re, xml-char-ref-re) - (xml-entity-ref, xml-pe-reference-re) - (xml-reference-re, xml-att-value-re, xml-tokenized-type-re) - (xml-notation-type-re, xml-enumeration-re, xml-enumerated-type-re) - (xml-att-type-re, xml-default-decl-re, xml-att-def-re) - (xml-entity-value-re): Use syntax references in regexps where - possible; no need to define inside a let-binding. - (xml-parse-dtd): Use xml-pe-reference-re. - (xml-entity-or-char-ref-re): New defconst. - (xml-parse-string, xml-substitute-special): Use it. - -2012-07-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * files.el (locate-dominating-file): Allow `name' to be a predicate. - (find-file--read-only): New function. - (find-file-read-only, find-file-read-only-other-window) - (find-file-read-only-other-frame): Use it. - (insert-file-contents-literally): Don't `fset'. - (get-free-disk-space): Use locate-dominating-file. - - * emacs-lisp/bytecomp.el (byte-compile): Don't signal an error if the - function is already compiled. - - * xml.el (xml-name-regexp): Remove, redundant. Use xml-name-re. - -2012-07-03 Michael Albinus <michael.albinus@gmx.de> - - * vc/ediff-diff.el (ediff-same-file-contents): Fix it for remote - files on the same host. - -2012-07-03 Andreas Schwab <schwab@linux-m68k.org> - - * help-fns.el (describe-function-1): Only call - help-fns--autoloaded-p when we have a file name. (Bug#11848) - -2012-07-03 Chong Yidong <cyd@gnu.org> - - * xml.el: Protect parser against XML bombs. - (xml-entity-expansion-limit): New variable. - (xml-parse-string, xml-substitute-special): Use it. - (xml-parse-dtd): Avoid infloop if the DTD is not terminated. - -2012-07-03 Glenn Morris <rgm@gnu.org> - - * progmodes/bug-reference.el (bug-reference-bug-regexp): - Allow linking to specific messages in debbugs reports (eg 123#5). - -2012-07-02 Chong Yidong <cyd@gnu.org> - - * xml.el: Fix entity and character reference expansion, allowing - them to expand into markup as per XML spec. - (xml-default-ns): New variable. - (xml-entity-alist): Use XML spec definitions for lt and amp. - (xml-parse-region): Make first two arguments optional. - Discard text properties. - (xml-parse-tag-1): New function, spun off from xml-parse-tag. - All callers changed. - (xml-parse-tag): Call xml-parse-tag-1. For backward - compatibility, this function should not modify buffer contents. - (xml-parse-tag-1): Fix opening-tag regexp. - (xml-parse-string): Rewrite, handling entity and character - references properly. - (xml--entity-replacement-text): Signal an error if a parameter - entity is undefined. - -2012-07-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * comint.el (comint-output-filter): Filter out repeated prompts. - - * net/ange-ftp.el (ange-ftp-expand-file-name): Use ange-ftp-ftp-name - and file-name-absolute-p. - (ange-ftp-file-exists-p): Use ange-ftp-file-exists-p for - internal calls. - -2012-07-02 Paul Eggert <eggert@cs.ucla.edu> - - Spelling fixes. - * emacs-lisp/bytecomp.el (byte-compile--reify-function): - Rename from byte-compile--refiy-function. All uses changed. - -2012-07-01 Chong Yidong <cyd@gnu.org> - - * xml.el (xml--parse-buffer): New function. Move most of - xml-parse-region here. - (xml-parse-region): Copy region into a temporary buffer, since - parameter entity substitution requires changing buffer contents. - Use xml--parse-buffer. - (xml-parse-file): Use xml--parse-buffer. - (xml-parse-dtd): Make parameter entity substitution work right. - Use proper regexps for ELEMENT declarations (Bug#7172). - -2012-06-30 Glenn Morris <rgm@gnu.org> - - * comint.el (follow-comint-scroll-to-bottom): Fix declaration. - - * net/secrets.el, net/tramp-gvfs.el, net/xesam.el, net/zeroconf.el: - Remove outdated and unnecessary dbus declarations. - -2012-06-30 Eli Zaretskii <eliz@gnu.org> - - * emacs-lisp/timer.el (timer-until): Subtract results of - float-time, instead of taking float-time of the result of - time-subtract, since float-time signals an error for negative time - arguments. - -2012-06-30 Chong Yidong <cyd@gnu.org> - - * xml.el (xml-*-re): Convert defvars into defconsts, and - eval-and-compile them so eval-and-compile works on derivatives. - (xml--entity-replacement-text): Use eval-and-comple. - -2012-06-30 Michael Albinus <michael.albinus@gmx.de> - - * vc/vc-git.el (vc-git-registered): Use cache property - `git-registered'. - (vc-git-mode-line-string): Call `vc-working-revision' instead of - `vc-git-working-revision' in order to benefit from the cache. - (vc-git-root): Use cache property `git-root'. (Bug#11757) - -2012-06-30 Dmitry Gutov <dgutov@yandex.ru> - - * vc/vc-hooks.el (vc-before-save): Clear cache if file has been - removed (likely outside Emacs). (Bug#11757) - -2012-06-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-lib.el: Require macroexp. - -2012-06-30 Chong Yidong <cyd@gnu.org> - - * xml.el: Implement XML parameter entities. - (xml-parameter-entity-alist): New variable. - (xml-parse-region, xml-parse-fragment): Preserve previous values - of xml-entity-alist and xml-parameter-entity-alist, so that - repeated calls on different documents do not change them. - (xml-parse-tag): Fix doctype regexp. - (xml--entity-replacement-text): New function. - (xml-parse-dtd): Use it. Don't handle system entities; doing that - properly requires url retrieval which is unimplemented. - (xml-escape-string): Doc fix. - -2012-06-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2. - -2012-06-29 Dmitry Antipov <dmantipov@yandex.ru> - - * fringe.el (fringe-mode): Doc fix. - -2012-06-29 Michael Albinus <michael.albinus@gmx.de> - - * net/ange-ftp.el (ange-ftp-get-passwd): Throw if `non-essential' - is non-nil. - (ange-ftp-ignore-errors-if-non-essential): New defmacro. - (ange-ftp-file-name-all-completions): Use it. (Bug#11808) - -2012-06-29 Andreas Schwab <schwab@linux-m68k.org> - - * calendar/cal-dst.el (calendar-current-time-zone): - Return calendar-current-time-zone-cache if non-nil. - -2012-06-29 Masatake YAMATO <yamato@redhat.com> - - * progmodes/which-func.el (which-func-format): - Add mouse-face. (Bug#11698) - -2012-06-29 Leo Liu <sdl.web@gmail.com> - - * textmodes/enriched.el (enriched-next-annotation): Use eq (Bug#11528). - -2012-06-29 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (minibuffer-confirm-exit-commands): - Add completion-at-point (bug#11725). - -2012-06-29 Glenn Morris <rgm@gnu.org> - - * progmodes/f90.el (f90-font-lock-keywords-2): - Add some preprocessor elements. (Bug#10499) - -2012-06-29 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/cperl-mode.el (cperl-update-syntaxification): - Use syntax-propertize (bug#11739). - -2012-06-28 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811). - -2012-06-28 Julien Danjou <julien@danjou.info> - - * term.el (term-handle-colors-array): Use a set of new faces to - color the terminal. Also uses :inverse-video property. - (term-default-fg-color): Set to nil by default, deprecate in favor - of `term-face'. - (term-default-bg-color): Set to nil by default, deprecate in favor - of `term-face'. - (term-current-face): Use `term-face' by default. - (term-bold-attribute): Variable deleted. - -2012-06-28 Glenn Morris <rgm@gnu.org> - - * simple.el (completion-list-mode-finish): - Don't use toggle-read-only. (Since completion-list-mode has - a special mode-class, it wasn't doing anything extra anyway.) - -2012-06-28 Stefan Monnier <monnier@iro.umontreal.ca> - - Make inlining of other-mode interpreted functions work (bug#11799). - * emacs-lisp/bytecomp.el (byte-compile--refiy-function): New fun. - (byte-compile): Use it to fix compilation of lexical-binding closures. - * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Compile the - function, if needed. - -2012-06-27 Stefan Monnier <monnier@iro.umontreal.ca> - - * help-mode.el (help-make-xrefs): Don't just withstand - cyclic-variable-indirection but any error in documentation-property. - - * loadup.el (purify-flag): Pre-grow the hash-table to reduce the - memory use. - * bindings.el (bindings--define-key): New function. - * vc/vc-hooks.el, replace.el, menu-bar.el, international/mule-cmds.el: - * emacs-lisp/lisp-mode.el, buff-menu.el, bookmark.el: - * bindings.el: Use it to purecopy define-key bindings. - - * textmodes/rst.el (rst-adornment-faces-alist): Avoid copy-list. - - * emacs-lisp/cl.el (flet): Mark obsolete. - * emacs-lisp/cl-macs.el (cl-flet*): New macro. - * vc/vc-rcs.el (vc-rcs-annotate-command, vc-rcs-parse): - * progmodes/js.el (js-c-fill-paragraph): - * progmodes/ebrowse.el (ebrowse-switch-member-buffer-to-sibling-class) - (ebrowse-switch-member-buffer-to-derived-class): - * play/5x5.el (5x5-solver): Use cl-flet. - - * emacs-lisp/cl.el: Use lexical-binding. Fix flet (bug#11780). - (cl--symbol-function): New macro. - (cl--letf, cl--letf*): Use it. - - * emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name): - Strip "toggle-" if any. - -2012-06-27 Glenn Morris <rgm@gnu.org> - - * info.el (Info-default-directory-list): Move here from paths.el. - * paths.el: Remove file, which is now empty. - * loadup.el: No longer load "paths". - - * custom.el (custom-initialize-delay): Doc fix. - - * eshell/em-alias.el, eshell/em-banner.el, eshell/em-basic.el: - * eshell/em-cmpl.el, eshell/em-dirs.el, eshell/em-glob.el: - * eshell/em-hist.el, eshell/em-ls.el, eshell/em-pred.el: - * eshell/em-prompt.el, eshell/em-rebind.el, eshell/em-script.el: - * eshell/em-smart.el, eshell/em-term.el, eshell/em-unix.el: - * eshell/em-xtra.el: Replace eshell-defgroup with "(progn (defgroup". - * eshell/eshell.el (eshell-defgroup): Remove alias. - -2012-06-27 Chong Yidong <cyd@gnu.org> - - * help.el (help-enable-auto-load): New variable. - - * help-fns.el (help-fns--autoloaded-p): New function. - (describe-function-1): Refer to a function as "autoloaded" if it - was autoloaded at any time in the past. Perform autoloading if - help-enable-auto-load is non-nil. - -2012-06-26 Eli Zaretskii <eliz@gnu.org> - - * makefile.w32-in (compile, compile-always): Depend on - update-subdirs, not on subdirs.el. Otherwise, several different - sub-targets of 'bootstrap' running in parallel could - simultaneously write to subdirs.el, producing a garbled file. - -2012-06-26 Sam Steingold <sds@gnu.org> - - * files.el (file-name-base): New convenience function. - * autoinsert.el, cus-dep.el, doc-view.el, image-dired.el: - * woman.el, eshell/esh-cmd.el, progmodes/ada-xref.el: - * progmodes/cc-defs.el, progmodes/cperl-mode.el: - * progmodes/flymake.el, progmodes/gud.el, progmodes/idlwave.el: - * textmodes/ispell.el, textmodes/reftex-ref.el: - * textmodes/tex-mode.el: Use it. - Did not touch cedet and org because they are maintained elsewhere. - -2012-06-26 Martin Rudalics <rudalics@gmx.at> - - * calendar/calendar.el (calendar-exit): Don't try to delete or - iconify last frame. See: - http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00372.html - -2012-06-25 Jim Diamond <Jim.Diamond@AcadiaU.ca> (tiny change) - - * server.el (server-process-filter): Remember dir in the - process's `server-client-directory' properties. - -2012-06-24 Chong Yidong <cyd@gnu.org> - - * xml.el (xml-parse-tag): Correctly handle comment embedded in - non-tag text. - -2012-06-23 Juanma Barranquero <lekktu@gmail.com> - - * makefile.w32-in (COMPILE_FIRST): Synch with changes in 2012-06-22T21:24:54Z!monnier@iro.umontreal.ca. - -2012-06-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * help-fns.el (describe-variable): Don't croak when doc is not found. - * vc/pcvs.el (cvs-retrieve-revision): Avoid toggle-read-only. - * menu-bar.el (menu-bar-line-wrapping-menu): Purecopy a tiny bit more. - * emacs-lisp/syntax.el (syntax-ppss): Simplify with new `if' place. - * emacs-lisp/smie.el (smie-next-sexp): CSE. - * emacs-lisp/macroexp.el (macroexp-let2): Fix edebug spec and avoid - ((lambda ..) ..). - * emacs-lisp/eieio.el (eieio-oref, slot-value): Use simpler defsetf. - -2012-06-23 Chong Yidong <cyd@gnu.org> - - * info.el (Info-mouse-follow-link): Accept symbol values of - link-args. Select window; suggested by Gerhard Kahl (Bug#11672). - (Info-fontify-node): Use Info-link-keymap for all navigation - buttons, with link-args property to perform the desired action. - (Info-link-keymap): Doc fix. - (Info-next-link-keymap, Info-prev-link-keymap) - (Info-up-link-keymap): Delete now-unused keymaps. - -2012-06-23 Chong Yidong <cyd@gnu.org> - - * mouse.el (mouse-drag-track): Deactivate the mark before popping. - - * progmodes/python.el (python-skeleton-define): Mark abbrevs as - system abbrevs. - - * ansi-color.el (ansi-color-apply-on-region): Doc fix. - -2012-06-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl--make-usage-args): Handle improper lists - (bug#11719). - - * minibuffer.el (completion--twq-try): Try to fail more gracefully when - the requote function doesn't work properly (bug#11714). - -2012-06-23 Glenn Morris <rgm@gnu.org> - - * pcmpl-rpm.el (pcmpl-rpm-packages): Give status messages. - -2012-06-22 Stefan Monnier <monnier@iro.umontreal.ca> - - Further GV/CL cleanups. - * emacs-lisp/gv.el (gv-get): Autoload functions to find their - gv-expander. - (gv--defun-declaration): New function. - (defun-declarations-alist): Use it. - (gv-define-modify-macro, gv-pushnew!, gv-inc!, gv-dec!): Remove. - (gv-place): Autoload. - * emacs-lisp/cl.el (cl--dotimes, cl--dolist): Remember subr.el's - original definition of dotimes and dolist. - * emacs-lisp/cl-macs.el (cl-expr-access-order): Remove unused. - (cl-dolist, cl-dotimes): Use `dolist' and `dotimes'. - * emacs-lisp/cl-lib.el: Move gv handlers from cl-macs to here. - (cl-fifth, cl-sixth, cl-seventh, cl-eighth) - (cl-ninth, cl-tenth): Move gv handler to the function's definition. - * emacs-lisp/cl-extra.el (cl-subseq, cl-get, cl-getf): Move gv handler - to the function's definition. - * Makefile.in (COMPILE_FIRST): Re-order to speed it up by about 50%. - * window.el: - * files.el: - * faces.el: - * env.el: Don't use CL. - -2012-06-22 Paul Eggert <eggert@cs.ucla.edu> - - Support higher-resolution time stamps (Bug#9000). - - * calendar/time-date.el (with-decoded-time-value): New arg - PICO-SYMBOL in VARLIST. It's optional, for backward compatibility. - (encode-time-value): New optional arg PICO. New type 3. - (time-to-seconds) [!float-time]: Support the new picoseconds - component if it's used. - (seconds-to-time, time-subtract, time-add): - Support ps-resolution time stamps as well. - - * emacs-lisp/timer.el (timer): New component psecs. All uses changed. - (timerp): Timer vectors now have length 9, not 8. - (timer--time): Support new-style (4-part) time stamps. - (timer-next-integral-multiple-of-time): Time stamps now have - picosecond resolution, so take a bit more care about rounding. - (timer-relative-time, timer-inc-time): New optional arg psecs. - (timer-set-time-with-usecs): Set psecs to 0. - (timer--activate): Check psecs component, too. - - * proced.el (proced-time-lessp): Support ps-resolution stamps. - -2012-06-22 Stefan Monnier <monnier@iro.umontreal.ca> - - * icomplete.el (icomplete-minibuffer-setup, icomplete-completions): - Move the non-essential binding to the post/pre-command-hook where it is - more obviously correct. - - * subr.el (read-passwd): Don't use a history at all. - * savehist.el (savehist-save): Remove password saved accidentally - because of the above bug. - -2012-06-22 Bastien Guerry <bzg@gnu.org> - - * files.el (toggle-read-only): Display a message telling whether - the buffer is read-only or not (bug#11726). - -2012-06-22 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/gv.el: New file. - * subr.el (push, pop): Extend to generalized variables. - * loadup.el (macroexp): Unload if preloaded and uncompiled (bug#11657). - * emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove. - * emacs-lisp/cl-macs.el: Require gv. Use gv-define-setter, - gv-define-simple-setter, and gv-define-expander. - Remove setf-methods defined in gv. Rename cl-setf -> setf. - (cl-setf, cl-do-pop, cl-get-setf-method): Remove. - (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf) - (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el. - (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with - gv-letplace. - (cl-defstruct): Don't define setf-method any more. - * emacs-lisp/cl.el (flet): Don't autoload. - (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt) - (define-setf-expander, defsetf, define-modify-macro) - (cl-struct-setf-expander): Move from cl-lib.el. - * emacs-lisp/syntax.el: - * emacs-lisp/ewoc.el: - * emacs-lisp/smie.el: - * emacs-lisp/cconv.el: - * emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push. - (timer--time): Use gv-define-simple-setter. - * emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let² - to avoid coding-system problems in subr.el. Adjust all users. - (macroexp--maxsize, macroexp-small-p): New functions. - * emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf. - * scroll-bar.el (scroll-bar-mode): - * simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode) - (normal-erase-is-backspace-mode): Don't use the `eq' place. - * winner.el (winner-configuration, winner-make-point-alist) - (winner-set-conf, winner-get-point, winner-set): Don't abuse letf. - * files.el (locate-file-completion-table): Avoid list*. - -2012-06-22 Chong Yidong <cyd@gnu.org> - - * dired-aux.el (dired-do-create-files): Doc fix (Bug#11327). - (dired-create-files): Doc fix (Bug#11329). - (dired-do-copy): Doc fix (Bug#11334). - (dired-mark-read-string): Doc fix (Bug#11553). - - * dired.el (dired-recursive-copies, dired-recursive-deletes): - Doc fix (Bug#11326). - (dired-make-relative): Doc fix (Bug#11332). Remove unused arg. - (dired-dwim-target): Doc fix. - - * wdired.el (wdired-mode): Doc fix. - -2012-06-22 Glenn Morris <rgm@gnu.org> - - * pcmpl-rpm.el (pcmpl-rpm-cache): New option. - (pcmpl-rpm-cache-stamp-file): New constant. - (pcmpl-rpm-cache-time, pcmpl-rpm-packages): New variables. - (pcmpl-rpm-packages): Optionally cache list of packages. - - * pcmpl-rpm.el (pcmpl-rpm): New group. - (pcmpl-rpm-query-options): New option. - (pcmpl-rpm-packages): No need to inline it. - Use pcmpl-rpm-query-options. - - * calendar/calendar.el (calendar-in-read-only-buffer): - Avoid some needless mode changes. - -2012-06-21 Chong Yidong <cyd@gnu.org> - - * desktop.el (desktop-read): Don't prompt if daemon (Bug#11674). - (desktop-path): Remove . from the default value (Bug#10977). - (desktop-read): Use user-emacs-directory if desktop-path is nil. - -2012-06-20 Chong Yidong <cyd@gnu.org> - - * term.el (term-send-raw-meta): Make C-M-<char> keys work (Bug#8172). - -2012-06-20 David Röthlisberger <david@rothlis.net> (tiny change) - - * ido.el (ido-switch-buffer, ido-find-file): Fix up doc of C-j - (bug#11201). - -2012-06-20 Chong Yidong <cyd@gnu.org> - - * term.el (term-window-width): Handle the case of a missing right - fringe (Bug#8837). - (term-check-size): Use window-text-height (Bug#5445). - (term-mode): Use define-derived-mode. Minor cleanups. - Set font-lock-defaults (Bug#7692). - (term-move-columns, term-insert-char, term-emulate-terminal) - (term-erase-in-line, term-insert-spaces): Use font-lock-face. - -2012-06-20 Michael Albinus <michael.albinus@gmx.de> - - * net/ange-ftp.el (ange-ftp-get-passwd): - Bind `enable-recursive-minibuffers'. - (ange-ftp-get-process): Throw if `non-essential' is non-nil. - -2012-06-19 David Röthlisberger <david@rothlis.net> (tiny change) - - * ido.el (ido-find-file): Mention C-d binding in docstring (bug#11244). - -2012-06-19 Glenn Morris <rgm@gnu.org> - - * progmodes/python.el (python-mode): Derive from prog-mode. - -2012-06-19 Kevin Gallagher <Kevin.Gallagher@boeing.com> - - * emulation/edt.el (edt-default-menu-bar-update-buffers) - (edt-user-menu-bar-update-buffers): New functions. - (edt-default-emulation-setup, edt-user-emulation-setup): Use them. - -2012-06-19 Chong Yidong <cyd@gnu.org> - - * subr.el (with-selected-window): Preserve the selected window's - terminal's top-frame (Bug#4702). - - * window.el (save-selected-window): Likewise. - -2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/python.el (python-rx-constituents): Move backquote. - (python-skeleton-define, python-define-auxiliary-skeleton): - Use `declare'. - -2012-06-18 Michael Albinus <michael.albinus@gmx.de> - - * minibuffer.el (read-file-name-default): Revert the patch from - 2012-06-17. - -2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/pcase.el (pcase--expand): Warn for unused pattern. - (pcase--u1, pcase--q1): Don't use apply-partially. - -2012-06-18 Glenn Morris <rgm@gnu.org> - - * progmodes/python.el (python-proc, python-buffer) - (python-send-receive, python-send-string): Fix obsolete versions. - -2012-06-18 Martin Rudalics <rudalics@gmx.at> - - * window.el (special-display-p): Completely remove stringp - check. Suggested by Andreas Schwab <schwab@linux-m68k.org>. - -2012-06-17 Michael Albinus <michael.albinus@gmx.de> - - * minibuffer.el (read-file-name-default): Bind `non-essential' to `t'. - - * net/tramp.el (tramp-file-name-handler): Catch 'non-essential. - - * net/ange-ftp.el (ange-ftp-gwp-start, ange-ftp-start-process): - * net/tramp-sh.el (tramp-maybe-open-connection): - Throw if `non-essential' is non-nil. - -2012-06-17 Martin Rudalics <rudalics@gmx.at> - - * window.el (special-display-p): Signal an error if BUFFER-NAME - is not a string (Bug#11713). - -2012-06-17 Paul Eggert <eggert@cs.ucla.edu> - - * progmodes/python.el (python-info-beginning-of-backslash): - Rename from python-info-beginning-of-backlash, as a spelling fix. - -2012-06-17 Chong Yidong <cyd@gnu.org> - - * term.el (term-emulate-terminal): If term-check-size is called, - move point to the process mark without resetting point (Bug#4635). - -2012-06-17 Glenn Morris <rgm@gnu.org> - - * international/mule-cmds.el (mule-menu-keymap) - (set-language-environment, set-locale-environment): Doc tweaks. - -2012-06-16 Aurelien Aptel <aurelien.aptel@gmail.com> - - * cus-face.el (custom-face-attributes): Add wave-style underline - attribute. - * faces.el (set-face-attribute): Update docstring to describe - wave-style underline attribute. - -2012-06-16 Chong Yidong <cyd@gnu.org> - - * term/xterm.el (terminal-init-xterm): Discard input before - querying background mode (Bug#10959). - -2012-06-16 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Added and corrected some comments. - (rst-re-alist-def): Improve symbol syntax. - (rst-mode-syntax-table): Correct syntax entries. - (rst-cvs-header, rst-svn-rev, rst-svn-timestamp) - (rst-official-version, rst-official-cvs-rev): Update version - information. - -2012-06-15 Juanma Barranquero <lekktu@gmail.com> - - * makefile.w32-in (COMPILE_FIRST): Synch with makefile.in changes - in 2008-06-22T13:57:28Z!monnier@iro.umontreal.ca. - -2012-06-15 Fabián Ezequiel Gallina <fgallina@cuca> - - * progmodes/python.el: New python.el merge. - (python-guess-indent): Obsolete var. - (python-indent-guess-indent-offset): New defcustom. - (python-indent): Obsolete var. - (python-indent-offset): New defcustom. - (python-python-command, python-jython-command): Delete var. - (python-shell-interpreter): New defcustom. - (python-pdbtrack-do-tracking-p): Delete var. - (python-pdbtrack-activate): New defcustom. - (python-use-skeletons): Obsolete var. - (python-skeleton-autoinsert): New defcustom. - (inferior-python-filter-regexp, python-continuation-offset) - (python-honour-comment-indentation, python-indent-string-contents) - (python-jython-packages, python-mode-hook) - (python-pdbtrack-minor-mode-string, python-remove-cwd-from-path) - (python-shell-prompt-alist) - (python-source-modes): Delete defcustoms. - (python-check-buffer-name, python-eldoc-setup-code) - (python-eldoc-string-code, python-ffap-setup-code) - (python-ffap-string-code, python-fill-comment-function) - (python-fill-decorator-function, python-fill-paren-function) - (python-fill-string-function, python-imenu-include-defun-type) - (python-imenu-make-tree, python-imenu-subtree-root-label) - (python-pdbtrack-stacktrace-info-regexp, python-shell-buffer-name) - (python-shell-compilation-regexp-alist) - (python-shell-completion-module-string-code) - (python-shell-completion-pdb-string-code) - (python-shell-completion-setup-code) - (python-shell-completion-string-code) - (python-shell-enable-font-lock, python-shell-exec-path) - (python-shell-extra-pythonpaths) - (python-shell-internal-buffer-name, python-shell-interpreter-args) - (python-shell-process-environment) - (python-shell-prompt-block-regexp) - (python-shell-prompt-output-regexp) - (python-shell-prompt-pdb-regexp, python-shell-prompt-regexp) - (python-shell-send-setup-max-wait, python-shell-setup-codes) - (python-shell-virtualenv-path): New defcustoms. - (brm-menu, eldoc-documentation-function, inferior-python-mode-map) - (inferior-python-mode-syntax-table, python--prompt-regexp) - (python-buffer, python-command python-python-command) - (python-default-template, python-imports, python-indent-index) - (python-indent-list, python-indent-list-length) - (python-mode-running, python-pdbtrack-is-tracking-p) - (python-preoutput-continuation, python-preoutput-leftover) - (python-preoutput-result, python-preoutput-skip-next-prompt) - (python-prev-dir/file, python-recursing) - (python-saved-check-command, python-version-checked) - (python-which-func-length-limit) - (view-return-to-alist): Delete vars. - (python-check-custom-command, python-dotty-syntax-table) - (python-imenu-index-alist, python-indent-current-level) - (python-indent-dedenters, python-indent-levels) - (python-nav-beginning-of-defun-regexp) - (python-nav-list-defun-positions-cache) - (python-pdbtrack-buffers-to-kill, python-pdbtrack-tracked-buffer) - (python-shell-internal-buffer) - (python-skeleton-available): New vars. - (def-python-skeleton): Delete macro. - (python-skeleton-define): New macro. - (python-define-auxiliary-skeleton, python-rx): New macros. - (python-insert-class): Delete command. - (python-skeleton-class): New command. - (python-insert-def): Delete command. - (python-skeleton-def): New command. - (python-insert-for): Delete command. - (python-skeleton-for): New command. - (python-insert-if): Delete command. - (python-skeleton-if): New command. - (python-insert-try/except, python-insert-try/finally): Delete commands. - (python-skeleton-try): New command. - (python-insert-while): Delete command. - (python-skeleton-while): New command. - (python-backspace): Delete command. - (python-indent-dedent-line-backspace): New command. - (python-electric-colon): Delete command. - (python-indent-electric-colon): New command. - (python-guess-indent): Delete command. - (python-indent-guess-indent-offset): New command. - (python-shift-left): Delete command. - (python-indent-shift-left): New command. - (python-shift-right): Delete command. - (python-indent-shift-right): New command. - (python-find-function): Delete command. - (python-nav-jump-to-defun): New command. - (python-next-statement): Delete command. - (python-nav-forward-sentence): New command. - (python-previous-statement): Delete command. - (python-nav-backward-sentence): New command. - (python-fill-paragraph): Delete command. - (python-fill-paragraph-function): New command. - (python-send-buffer): Delete command. - (python-shell-send-buffer): New command. - (python-send-defun): Delete command. - (python-shell-send-defun): New command. - (python-send-region, python-send-region-and-go): Delete commands. - (python-shell-send-region) - (python-shell-switch-to-shell): New commands. - (python-send-string): Delete command. - (python-shell-send-string): New command. - (python-switch-to-python): Delete command. - (python-shell-switch-to-shell): New command. - (python-describe-symbol): Delete command. - (python-eldoc-at-point): New command. - (python--set-prompt-regexp, python-args-to-list) - (python-after-info-look, python-check-version) - (python-check-comint-prompt, python-find-imports) - (python-execute-file, turn-off-pdbtrack, turn-on-pdbtrack) - (python-unload-function, python-expand-template) - (python-maybe-jython, python-preoutput-filter) - (python-pdbtrack-get-source-buffer) - (python-pdbtrack-grub-for-buffer, python-pdbtrack-overlay-arrow) - (python-pdbtrack-toggle-stack-tracking) - (python-pdbtrack-track-stack-file, python-initial-text) - (python-first-word, python-comment-line-p, python-send-command) - (python-setup-brm, python-sentinel, python-set-proc) - (python-skip-out, python-input-filter, python-outdent-p) - (python-outline-level, python-backslash-continuation-line-p) - (python-end-of-block, python-end-of-statement, python-mark-block) - (python-beginning-of-block, python-beginning-of-statement) - (python-blank-line-p, python-beginning-of-string) - (python-open-block-statement-p): Delete functions. - (python-indent-line, python-indent-line-1): Delete functions. - (python-indent-line): New function. - (python-indentation-levels): Delete function. - (python-indent-calculate-levels): New function. - (python-proc): Delete function. - (python-shell-get-process): New function. - (python-send-receive): Delete function. - (python-shell-send-string-no-output): New function. - (python-module-path): Delete function. - (python-ffap-module-path): New function. - (python-completion-at-point) - (python-symbol-completions): Delete functions. - (python-completion-complete-at-point): New function. - (python-load-file): Delete function. - (python-shell-send-file): New function. - (python-calculate-indentation): Delete function. - (python-indent-calculate-indentation): New function. - (python-skip-comments/blanks): Delete function. - (python-util-forward-comment): New function. - (python-continuation-line-p): Delete function. - (python-info-continuation-line-p): New function. - (python-which-func, python-current-defun): Delete function. - (python-info-current-defun): New function. - (python-beginning-of-defun): Delete function. - (python-nav-beginning-of-defun): New function. - (python-close-block-statement-p) - (python-block-end-p): Delete function. - (python-info-closing-block): New function. - (python-comint-output-filter-function) - (python-eldoc--get-doc-at-point, python-end-of-defun-function) - (python-fill-comment, python-fill-decorator, python-fill-paren) - (python-fill-string, python-imenu-make-element-tree) - (python-imenu-make-tree, python-imenu-tree-assoc) - (python-indent-context, python-indent-dedent-line) - (python-indent-line-function) - (python-indent-post-self-insert-function) - (python-indent-toggle-levels) - (python-info-assignment-continuation-line-p) - (python-info-beginning-of-backlash) - (python-info-block-continuation-line-p) - (python-info-closing-block-message) - (python-info-line-ends-backslash-p) - (python-info-looking-at-beginning-of-defun) - (python-info-ppss-context, python-info-ppss-context-type) - (python-nav-list-defun-positions, python-nav-read-defun) - (python-nav-sentence-end, python-nav-sentence-start) - (python-pdbtrack-comint-output-filter-function) - (python-pdbtrack-set-tracked-buffer) - (python-shell-calculate-exec-path) - (python-shell-calculate-process-environment) - (python-shell-completion--do-completion-at-point) - (python-shell-completion--get-completions) - (python-shell-completion-complete-at-point) - (python-shell-completion-complete-or-indent) - (python-shell-get-or-create-process) - (python-shell-get-process-name) - (python-shell-internal-get-or-create-process) - (python-shell-internal-get-process-name) - (python-shell-internal-send-string, python-shell-make-comint) - (python-shell-parse-command, python-shell-send-setup-code) - (python-skeleton-add-menu-items) - (python-util-clone-local-variables, python-util-position) - (run-python-internal, python-indentation-levels) - (python-nav-beginning-of-defun) - (python-completion-complete-at-point): New functions. - (run-python): Change arguments. New API requirements. - -2012-06-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-lib.el (cl--defsubst-expand): Autoload inliner - (bug#11649). - - * emacs-lisp/macroexp.el (macroexp--compiler-macro): New function. - (macroexp--expand-all): Use it. - - * emacs-lisp/cl-macs.el (cl--transform-function-property): Remove. - (cl-define-setf-expander, cl-deftype, cl-define-compiler-macro): - Use `cl-function' instead. - -2012-06-14 Juanma Barranquero <lekktu@gmail.com> - - * makefile.w32-in (COMPILE_FIRST): Remove subr.el. - Suggested by Stefan Monnier while discussing bug#11657. - -2012-06-14 Sam Steingold <sds@gnu.org> - - * files.el (abort-if-file-too-large): Use `file-size-human-readable'. - -2012-06-14 Andreas Schwab <schwab@linux-m68k.org> - - * play/doctor.el (doctor-doc): Remove parameter and use - doctor-sent instead of sent. - (doctor-read-print): Use doctor-sent instead of sent. (Bug#11708) - -2012-06-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * files.el: Require cl-lib. - (file-name-non-special): Replace case -> cl-case. - - * emacs-lisp/cl-macs.el (cl-defstruct): Don't add print-func. - - * emacs-lisp/edebug.el (edebug-read-function): Remove old incorrect - mapping from #' to function*. - -2012-06-13 Chong Yidong <cyd@gnu.org> - - * mouse.el (mouse-drag-track): Do not set the mark if the user - releases the mouse without selecting anything (Bug#11588). - -2012-06-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * textmodes/tex-mode.el (latex-indent): Recognize tex-verbatim at EOB - as well (bug#11646). - - * loadup.el: Count byte-code functions as well. - - * emacs-lisp/byte-opt.el (featurep): Move compiler-macro... - * emacs-lisp/bytecomp.el (featurep): ...here (bug#11692). - - * emacs-lisp/autoload.el (make-autoload): Accept nil doc-string-elt - (bug#11649). Add cl-defun and cl-defmacro. - -2012-06-13 Drew Adams <drew.adams@oracle.com> - - * help-mode.el (help-bookmark-make-record, help-bookmark-jump): - Fix last change. - -2012-06-13 Michael Albinus <michael.albinus@gmx.de> - - * net/dbus.el (dbus-call-method): Use timeout for `read-event'. - Otherwise, it blocks in batch mode. - -2012-06-13 Juanma Barranquero <lekktu@gmail.com> - - * help-mode.el (bookmark-make-record-default): Declare. - -2012-06-13 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/package.el (list-packages): Compute a list of - packages that are newly-available since the last list-packages - invocation. - (package-menu--new-package-list): New var. - (package-menu--generate, package-menu--print-info) - (package-menu--status-predicate, package-menu-mark-install): - Handle new status label "new". - -2012-06-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl-remf): Fix error in recent - conversion to backquotes. - -2012-06-12 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings): - Rename from gud-inhibit-global-bindings. - - * emacs-lisp/eieio.el (eieio-pre-method-execution-hooks): Doc fix. - - * nxml/nxml-glyph.el (nxml-glyph-set-functions): Rename abnormal - hook from nxml-glyph-set-hook. - - * progmodes/cwarn.el (cwarn-mode): Remove redundant variable - declaration. - - * progmodes/pascal.el (pascal-toggle-completions): Doc fix. - - * textmodes/bibtex.el (bibtex-string-file-path, bibtex-file-path): - Convert to defcustom. - -2012-06-12 Drew Adams <drew.adams@oracle.com> - - * help-mode.el (help-bookmark-make-record, help-bookmark-jump): - New functions. - (help-mode): Use them. - -2012-06-11 Glenn Morris <rgm@gnu.org> - - * progmodes/fortran.el (fortran-font-lock-keywords-3): - Use preprocessor face for directives. - (fortran-directive-re): Doc fix. - -2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl-parse-loop-clause): Fix error in recent - conversion to backquotes (bug#11652). - - Fix compiler-expansion of CL's cXXr functions (bug#11673). - * emacs-lisp/cl-lib.el (cl--defalias): New function. - (cl-values, cl-values-list, cl-copy-seq, cl-svref, cl-first) - (cl-second, cl-rest, cl-endp, cl-third, cl-fourth): Use it. - (cl-plusp, cl-minusp, cl-fifth, cl-sixth, cl-seventh, cl-eighth) - (cl-ninth, cl-tenth): Mark them as inlinable. - (cl-caaar, cl-caadr, cl-cadar, cl-caddr, cl-cdaar, cl-cdadr) - (cl-cddar, cl-cdddr, cl-caaaar, cl-caaadr, cl-caadar, cl-caaddr) - (cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr, cl-cdaaar, cl-cdaadr) - (cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr, cl-cdddar, cl-cddddr): - Add a compiler-macro declaration to use cl--compiler-macro-cXXr. - (cl-list*, cl-adjoin): Don't put an autoload manually. - * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin) - (cl--compiler-macro-list*): Add autoload cookie. - (cl--compiler-macro-cXXr): New function. - - * help-fns.el (help-fns--compiler-macro): New function extracted from - describe-function-1; follow aliases and use `compiler-macro' property. - (describe-function-1): Use it. - -2012-06-11 Chong Yidong <cyd@gnu.org> - - * startup.el (fancy-splash-head): Use splash.svg even if librsvg - is uninstalled, if imagemagick is installed. - -2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-lib.el: Use lexical-binding. - (cl-map-extents, cl-maclisp-member): Remove. - (cl--set-elt, cl--set-nthcdr, cl--set-buffer-substring) - (cl--set-substring, cl--block-wrapper, cl--block-throw) - (cl--compiling-file, cl--mapcar-many, cl--do-subst): Use "cl--" prefix. - * emacs-lisp/cl-extra.el: Use lexical-binding. - (cl--mapcar-many, cl--map-keymap-recursively, cl--map-intervals) - (cl--map-overlays, cl--set-frame-visible-p, cl--progv-save) - (cl--progv-before, cl--progv-after, cl--finite-do, cl--set-getf) - (cl--do-remf, cl--do-prettyprint): Use "cl--" prefix. - * emacs-lisp/cl-seq.el: Use lexical-binding. - (cl--parsing-keywords, cl--check-key, cl--check-test-nokey) - (cl--check-test, cl--check-match): Use "cl--" prefix and backquotes. - (cl--alist, cl--sublis-rec, cl--nsublis-rec, cl--tree-equal-rec): - * emacs-lisp/cl-macs.el (cl--lambda-list-keywords): Use "cl--" prefix. - * edmacro.el (edmacro-mismatch): Simplify to remove dependence on - CL's internals. - -2012-06-11 Michael Albinus <michael.albinus@gmx.de> - - Sync with Tramp 2.2.6-pre. - - * net/tramp-cache.el (tramp-dump-connection-properties): Let-bind - `print-length' and `print-level' to nil, in order to avoid - truncation. Reported by Christopher Schmidt - <christopher@ristopher.com>. - - * net/tramp-cmds.el (tramp-cleanup-connection): Delete also process. - - * net/tramp-compat.el (tramp-compat-condition-case-unless-debug): - New defmacro. - (tramp-compat-copy-directory): Add optional argument - COPY-CONTENTS. It is not handled yet. - - * net/tramp-ftp.el (tramp-disable-ange-ftp): Fix docstring. - (tramp-ftp-file-name-p): Simplify. - - * net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): - * net/tramp-gw.el (tramp-gw-open-connection): Add hop to - connection vector. - - * net/tramp-sh.el (tramp-copy-size-limit): Fix docstring. - (tramp-methods): Do not use `tramp-password-end-of-line'. - (tramp-completion-function-alist-putty): Handle UNIX case. - (tramp-remote-path): Add "/opt/bin", "/opt/sbin" and "/opt/local/bin". - (tramp-do-file-attributes-with-stat) - (tramp-do-directory-files-and-attributes-with-stat) Return uid and - gid as real numbers. They could run out of integer range on cygwin. - (tramp-do-copy-or-rename-file-out-of-band): Better trace format. - (tramp-sh-handle-expand-file-name): Handle hops. - (tramp-open-connection-setup-interactive-shell): - Use `tramp-cleanup'. Move check for busyboxes ... - (tramp-find-shell): ... here. Simplify implementation. - Set "remote-shell" property also for alternative shells. - (tramp-remote-coding-commands): Check "test -c /dev/stdout". - If failing, a regular file would be written otherwise. - Reported by Dmitry Kurochkin <dmitry.kurochkin@gmail.com>. - (tramp-find-inline-encoding): Cache the coding commands in the - process cache. Apply test command on the remote side, if defined. - (tramp-find-inline-compress): Cache the compress commands in the - process cache. - (tramp-compute-multi-hops): Save `tramp-default-proxies-alist' - when requested. Handle hops. - (tramp-current-connection): New defvar. - (tramp-maybe-open-connection): Use `tramp-cleanup'. - Throw `suppress', if there was a failed connection shortly before. - Handle user interrupt. (Bug#10187) - (tramp-get-inline-compress, tramp-get-inline-coding): - Read connection properties from the process cache. - - * net/tramp-smb.el (tramp-smb-server-version) - (tramp-smb-wrong-passwd-regexp, tramp-smb-actions-with-tar): - New defconsts. - (tramp-smb-prompt): Extend for powershell prompt. - (tramp-smb-file-name-handler-alist): Add handlers for - `process-file', `shell-command' and `start-file-process'. - (tramp-smb-winexe-program, tramp-smb-winexe-shell-command) - (tramp-smb-winexe-shell-command-switch): New defcustoms. - (tramp-smb-file-name-p): Simplify. - (tramp-smb-action-with-tar, tramp-smb-handle-process-file) - (tramp-smb-kill-winexe-function, tramp-smb-call-winexe) - (tramp-smb-shell-quote-argument): New defuns. - (tramp-smb-handle-copy-directory): Add COPY-CONTENTS argument. - Implement using "tar". By this, time-stamps are preserved. - (tramp-smb-handle-copy-file): Handle also the case of directories. - (tramp-smb-do-file-attributes-with-stat) - (tramp-smb-get-file-entries, tramp-smb-get-cifs-capabilities): - Use `tramp-get-connection-buffer'). - (tramp-smb-handle-rename-file): Use "rename", when source and - target are on the same share. - (tramp-smb-maybe-open-connection): Handle wrong passwords. - Use `tramp-smb-server-version'. - (tramp-smb-wait-for-output): Remove prompt. - - * net/tramp.el (top): Require 'cl. - (tramp-methods, tramp-rsh-end-of-line): - Remove `tramp-password-end-of-line' from docstring. - (tramp-save-ad-hoc-proxies): New defcustom. - (tramp-completion-function-alist): Adapt docstring. - (tramp-default-password-end-of-line): Remove defcustom. - (tramp-shell-prompt-pattern): Allow "[]" style prompts. (Bug#11065) - (tramp-user-regexp, tramp-file-name-regexp-unified) - (tramp-file-name-regexp-url): Extend regexp by hop separator. - (tramp-postfix-hop-format, tramp-postfix-hop-regexp) - (tramp-remote-file-name-spec-regexp): New defconst. - (tramp-file-name-structure): Extend structure for hops. - (tramp-get-method-parameter): Move up. - (tramp-file-name-p, tramp-dissect-file-name) - (with-parsed-tramp-file-name): Handle hops. - (tramp-file-name-hop): New defun. - (tramp-make-tramp-file-name): New optional arg HOP. - (tramp-message-show-progress-reporter-message): New defvar. - (tramp-with-progress-reporter): Use it. We cannot use - `tramp-message-show-message' here, because this suppresses also - error buffers. - (tramp-error-with-buffer): Suppress buffer view, if - `tramp-message-show-message' is nil. - Use `tramp-get-connection-buffer'. - (tramp-cleanup): New defun. - (tramp-rfn-eshadow-update-overlay): Let-bind `non-essential' to `t'. - (tramp-file-name-handler): If `debug-on-error' is set, propagate - an error unchanged. - (tramp-completion-handle-file-name-all-completions): Handle hops. - Fix an error when called from ido. - (tramp-completion-dissect-file-name): Use better local variable - name. Add hop to the vector. - (tramp-handle-insert-file-contents): Use progress-reporter for the - whole scenario. - (tramp-action-password): Let-bind `enable-recursive-minibuffers' - to `t'. - (tramp-check-for-regexp): Simplify search. - (tramp-enter-password): Remove it. Move implementation ... - (tramp-action-password): ... here. - (tramp-mode-string-to-int, tramp-local-host-p) - (tramp-make-tramp-temp-file, tramp-read-passwd) - (tramp-clear-passwd, tramp-time-less-p, tramp-time-diff): - Set tramp-autoload cookie. - - * net/trampver.el: Update release number. - -2012-06-11 Thierry Volpiatto <thierry.volpiatto@gmail.com> - Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-set-completion-function): Fix docstring. - (tramp-parse-group, tramp-parse-file) - (tramp-parse-shostkeys-sknownhosts): New defuns. - (tramp-parse-rhosts, tramp-parse-rhosts-group, tramp-parse-shosts) - (tramp-parse-shosts-group, tramp-parse-sconfig) - (tramp-parse-sconfig-group, tramp-parse-shostkeys) - (tramp-parse-sknownhosts, tramp-parse-hosts) - (tramp-parse-hosts-group, tramp-parse-passwd, tramp-parse-netrc): - Use them. - (tramp-parse-passwd-group, tramp-parse-netrc-group) - (tramp-parse-putty-group): Don't narrow. - (tramp-parse-putty): Make a loop. - (tramp-file-name-handler): Catch the `suppress' signal. - -2012-06-11 Chong Yidong <cyd@gnu.org> - - * image.el (imagemagick-register-types): Put the ImageMagick entry - at the end of image-type-file-name-regexps. - -2012-06-11 Johan BockgÃ¥rd <bojohan@gnu.org> - - * emacs-lisp/pcase.el (pcase-UPAT, pcase-QPAT): New edebug specs. - (pcase, pcase-let*, pcase-dolist): Use them. - -2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/pcase.el (pcase--let*): New function. - (pcase-let*): Use it. Use pcase--memoize to avoid repeated expansions. - (pcase--expand): Use macroexp-let². - -2012-06-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/timer.el, emacs-lisp/syntax.el, emacs-lisp/smie.el: - * emacs-lisp/ewoc.el, emacs-lisp/cconv.el, emacs-lisp/bytecomp.el: - * emacs-lisp/byte-opt.el, emacs-lisp/autoload.el: Convert to cl-lib. - * emacs-lisp/easymenu.el, emacs-lisp/easy-mmode.el: - * emacs-lisp/derived.el: Use pcase instead of `cl'. - * emacs-lisp/cl-lib.el: Get rid of special cl-macs auto load. - -2012-06-10 Glenn Morris <rgm@gnu.org> - - * mail/rmail.el (rmail-yank-current-message): Leave point at - correct position. (Bug#11660) - -2012-06-10 Chong Yidong <cyd@gnu.org> - - * allout-widgets.el: Fix code header. - -2012-06-10 Chong Yidong <cyd@gnu.org> - - * cus-edit.el (customize-changed-options-previous-release): - Bump to 24.1. - -2012-06-09 Andreas Schwab <schwab@linux-m68k.org> - - * Makefile.in (BIG_STACK_DEPTH): Enlarge to 2200. - -2012-06-09 Chong Yidong <cyd@gnu.org> - - * ebuff-menu.el (electric-buffer-list): Preserve header line. - -2012-06-09 Martin Rudalics <rudalics@gmx.at> - - * window.el (special-display-popup-frame): Don't use - window--display-buffer (Bug#11651). - -2012-06-09 Eli Zaretskii <eliz@gnu.org> - - Fix parallel builds: make sure loaddefs.el is not being written - while Lisp files are compiled. - (compile): Don't depend on 'mh-autoloads'. - (compile-CMD, compile-SH): Depend on 'autoloads'. - (bootstrap): Don't depend on 'autoloads' and 'mh-autoloads'. - - * makefile.w32-in (BIG_STACK_DEPTH): Enlarge to 2200. (Bug#11649) - -2012-06-09 Chong Yidong <cyd@gnu.org> - - * face-remap.el (face-remap-add-relative, face-remap-set-base) - (buffer-face-set, buffer-face-toggle, buffer-face-mode-invoke): - Doc fixes (Bug#11225). - -2012-06-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/macroexp.el (macroexp--expand-all): Only autoload - a function if there's a clear indication that it has a compiler-macro. - * emacs-lisp/byte-run.el (defun-declarations-alist, defmacro, defun) - (macro-declarations-alist): Add arglist to declaration functions. - (defun-declarations-alist): Add `obsolete' and `compiler-macro'. - * emacs-lisp/cl-seq.el (cl-member, cl-assoc): - * emacs-lisp/cl-lib.el (cl-list*, cl-adjoin): - * emacs-lisp/cl-extra.el (cl-get): Use the new `declare' statement. - Also add autoload to find the compiler macro. - * emacs-lisp/cl-macs.el (eql) [compiler-macro]: Remove. - (cl--compiler-macro-member, cl--compiler-macro-assoc) - (cl--compiler-macro-adjoin, cl--compiler-macro-list*) - (cl--compiler-macro-get): New functions, replacing calls to - cl-define-compiler-macro. - (cl-typep) [compiler-macro]: Use macroexp-let². - -2012-06-08 Nick Dokos <nicholas.dokos@hp.com> (tiny change) - - * calendar/icalendar.el (icalendar--parse-vtimezone): Import TZID - string properly, fixes Bug#11473. - -2012-06-08 Chong Yidong <cyd@gnu.org> - - * faces.el (set-face-attribute): Doc fix. - (modify-face): Don't use :bold and :italic. - (error, warning, success): Tweak definitions. - - * cus-edit.el (custom-modified, custom-invalid, custom-rogue) - (custom-modified, custom-set, custom-changed, custom-themed) - (custom-saved, custom-button, custom-button-mouse) - (custom-button-pressed, custom-state, custom-comment-tag) - (custom-variable-tag, custom-group-tag-1, custom-group-tag) - (custom-group-subtitle): Use new-style face specs. - (custom-invalid-face, custom-rogue-face, custom-modified-face) - (custom-set-face, custom-changed-face, custom-saved-face) - (custom-button-face, custom-button-pressed-face) - (custom-documentation-face, custom-state-face) - (custom-comment-face, custom-comment-tag-face) - (custom-variable-tag-face, custom-variable-button-face) - (custom-face-tag-face, custom-group-tag-face-1) - (custom-group-tag-face): Remove obsolete face alias. - - * epa.el (epa-validity-high, epa-validity-medium) - (epa-validity-low, epa-mark, epa-field-name, epa-string) - (epa-field-name, epa-field-body): - * font-lock.el (font-lock-comment-face, font-lock-string-face) - (font-lock-keyword-face, font-lock-builtin-face) - (font-lock-function-name-face, font-lock-variable-name-face) - (font-lock-type-face, font-lock-constant-face): - * ido.el (ido-first-match, ido-only-match, ido-subdir) - (ido-virtual, ido-indicator, ido-incomplete-regexp): - * speedbar.el (speedbar-button-face, speedbar-file-face) - (speedbar-directory-face, speedbar-tag-face) - (speedbar-selected-face, speedbar-highlight-face) - (speedbar-separator-face): - * whitespace.el (whitespace-newline, whitespace-space) - (whitespace-hspace, whitespace-tab, whitespace-trailing) - (whitespace-line, whitespace-space-before-tab) - (whitespace-space-after-tab, whitespace-indentation) - (whitespace-empty): - * emulation/cua-base.el (cua-global-mark): - * eshell/em-prompt.el (eshell-prompt): - * net/newst-plainview.el (newsticker-new-item-face) - (newsticker-old-item-face, newsticker-immortal-item-face) - (newsticker-obsolete-item-face, newsticker-date-face) - (newsticker-statistics-face, newsticker-default-face): - * net/newst-reader.el (newsticker-feed-face) - (newsticker-extra-face, newsticker-enclosure-face): - * net/newst-treeview.el (newsticker-treeview-face) - (newsticker-treeview-new-face, newsticker-treeview-old-face) - (newsticker-treeview-immortal-face) - (newsticker-treeview-obsolete-face) - (newsticker-treeview-selection-face): - * net/rcirc.el (rcirc-my-nick, rcirc-other-nick) - (rcirc-bright-nick, rcirc-server, rcirc-timestamp) - (rcirc-nick-in-message, rcirc-nick-in-message-full-line) - (rcirc-prompt, rcirc-track-keyword, rcirc-url, rcirc-keyword): - * nxml/nxml-outln.el (nxml-heading, nxml-outline-indicator) - (nxml-outline-active-indicator, nxml-outline-ellipsis): - * play/mpuz.el (mpuz-unsolved, mpuz-solved, mpuz-trivial) - (mpuz-text): - * progmodes/vera-mode.el (vera-font-lock-number) - (vera-font-lock-function, vera-font-lock-interface): - * textmodes/table.el (table-cell): Use new-style face specs, and - don't use the old :bold and :italic attributes. - - * progmodes/ebrowse.el (ebrowse-tree-mark, ebrowse-root-class) - (ebrowse-member-attribute, ebrowse-default, ebrowse-file-name) - (ebrowse-member-class, ebrowse-progress): Likewise. - (ebrowse-tree-mark-face, ebrowse-root-class-face) - (ebrowse-file-name-face, ebrowse-default-face) - (ebrowse-member-attribute-face, ebrowse-member-class-face) - (ebrowse-progress-face): Remove obsolete faces. - - * progmodes/flymake.el (flymake-errline, flymake-warnline): - Inherit from error and warning faces respectively. - - * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate): - Likewise. - (flyspell-incorrect-face, flyspell-duplicate-face): - Remove obsolete aliases. - -2012-06-08 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-compat.el (tramp-compat-temporary-file-directory): - Avoid infloop. - -2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * startup.el (argv, argi): Make lexically scoped. - * emacs-lisp/float-sup.el (pi): Use internal-make-var-non-special. - * emacs-lisp/cl-macs.el: Use lexical-binding. - Rename cl-bind-* to cl--bind-*. - * files.el: Don't require `cl' since it doesn't use it. - * emacs-lisp/pcase.el, emacs-lisp/macroexp.el: Add coding cookie. - -2012-06-08 Juanma Barranquero <lekktu@gmail.com> - - * textmodes/texinfmt.el: Fix bug#11640 (reverts part of 2008-07-31T05:33:56Z!dann@ics.uci.edu). - (texinfo-format-printindex): Use `texinfo-sort-region' in all platforms, - instead of calling external sort utility. - (texinfo-sort-region, texinfo-sort-startkeyfun): Restore functions. - -2012-06-08 Eli Zaretskii <eliz@gnu.org> - - * descr-text.el (describe-char): Mention how to insert the - character, if the current input method doesn't support it. - See the discussion in this thread for the details: - http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00533.html. - -2012-06-08 Sam Steingold <sds@gnu.org> - - * bindings.el (global-map): Bind XF86Forward to next-buffer and - XF86Back to previous-buffer. - (minibuffer-local-map): Bind them to next-history-element and - previous-history-element respectively. - * help-mode.el (help-mode-map): Bind them to help-go-forward and - help-go-back respectively. - * info.el (Info-mode-map): Bind them to Info-history-forward and - Info-history-back respectively. - These are the keys next to Up on the ThinkPad keyboard. - -2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca> - - Get rid of cl-lexical-let, keeping only lexical-let for compatibility. - * emacs-lisp/cl-macs.el: Provide itself. - (cl--labels-convert-cache): New var. - (cl--labels-convert): New function. - (cl-flet, cl-labels): New implementation with new semantics, relying on - lexical-binding. - * emacs-lisp/cl.el: Mark compatibility aliases as obsolete. - (cl-closure-vars, cl--function-convert-cache) - (cl--function-convert): Move from cl-macs.el. - (lexical-let, lexical-let*, flet, labels): Move from cl-macs.el and - rename by removing the "cl-" prefix. - * emacs-lisp/macroexp.el (macroexp-unprogn): New function. - -2012-06-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl.el (cl-macroexpand, cl-macro-environment) - (cl-macroexpand-all, cl-not-hash-table, cl-builtin-gethash) - (cl-builtin-remhash, cl-builtin-clrhash, cl-builtin-maphash) - (cl-map-keymap, cl-copy-tree, cl-gethash, cl-puthash, cl-remhash) - (cl-clrhash, cl-maphash, cl-make-hash-table, cl-hash-table-p) - (cl-hash-table-count): Add old compatibility aliases. - - * emacs-lisp/cl-macs.el (cl-macro-environment): Remove var. - Use macroexpand-all-environment instead. - (cl--old-macroexpand): New var. - (cl--sm-macroexpand): New function. - (cl-symbol-macrolet): Use it during macro expansion. - (cl--function-convert-cache): New var. - (cl--function-convert): New function, extracted from - cl-macroexpand-all. - (cl-lexical-let): Use it. - - * emacs-lisp/cl-lib.el (cl-macro-environment): Remove decl. - (cl-macroexpand): Move to cl-macs.el and rename to cl--sm-macroexpand. - (cl-member): Remove old alias. - - * emacs-lisp/cl-extra.el (cl-map-keymap, cl-copy-tree) - (cl-not-hash-table, cl-builtin-gethash, cl-builtin-remhash) - (cl-builtin-clrhash, cl-builtin-maphash, cl-gethash, cl-puthash) - (cl-remhash, cl-clrhash, cl-maphash, cl-make-hash-table) - (cl-hash-table-p, cl-hash-table-count): Move to cl.el. - (cl-macroexpand-cmacs): Remove var. - (cl-macroexpand-all, cl-macroexpand-body): Remove funs. - Use macroexpand-all instead. - -2012-06-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*, macroexp-if) - (macroexp-let², macroexp--const-symbol-p, macroexp-const-p) - (macroexp-copyable-p): New functions and macros. - * emacs-lisp/edebug.el (edebug-unwrap): - * emacs-lisp/disass.el (disassemble-internal): Use macroexp-progn. - * emacs-lisp/pcase.el: Use macroexp-let*, macroexp-if, ... - (pcase--let*): Remove. - * emacs-lisp/bytecomp.el (byte-compile-const-symbol-p) - (byte-compile-constp): Remove. Use macroexp--const-symbol-p and - macroexp-const-p instead. - * emacs-lisp/byte-opt.el: Use macroexp-const-p and macroexp-progn. - - * emacs-lisp/cl-macs.el: Clean up the name space by using "cl--" - instead of "cl-" for internal definitions. Use macroexp-const-p. - (cl-old-bc-file-form): Remove var. - (cl-const-exprs-p): Remove fun. - (cl-labels, cl-macrolet): Use backquote. - (cl-lexical-let): Use cl-symbol-macrolet. Don't use cl-defun-expander. - (cl-defun-expander, cl-byte-compile-compiler-macro): Remove fun. - (cl-define-setf-expander): Rename from cl-define-setf-method. - * emacs-lisp/cl.el: Adjust alias for define-setf-method. - - * international/mule-cmds.el: Don't require CL. - (view-hello-file): Don't use `letf'. - -2012-06-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * tmm.el (tmm-prompt): Use string-prefix-p. - (tmm-completion-delete-prompt): Don't affect current-buffer outside. - (tmm-add-prompt): Use minibuffer-completion-help. - (tmm-delete-map): Remove. - - * subr.el (kbd): Make it its own function. - -2012-06-07 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Use `eval-when-compile' for requiring `cl.el'. - Silence compiler warnings. Fix versions. - (rst-position-if, rst-position, rst-some, rst-signum): New functions. - (rst-shift-region, rst-adornment-level, rst-compute-tabs) - (rst-indent-line, rst-shift-region, rst-forward-line): Use them. - (rst-package-emacs-version-alist): Correct Emacs version to - represent major merge with upstream. - (rst-transition, rst-adornment, rst-compile-toolsets): Fix versions. - -2012-06-06 Glenn Morris <rgm@gnu.org> - - * mail/emacsbug.el (report-emacs-bug): Add relevant EMACS env-vars. - Only print environment variables if set. - -2012-06-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/macroexp.el: Don't require CL since we don't use it. - (macroexp--cons): Rename from maybe-cons. - (macroexp--accumulate): Rename from macroexp-accumulate. - (macroexp--all-forms): Rename from macroexpand-all-forms. - (macroexp--all-clauses): Rename from macroexpand-all-clauses. - (macroexp--expand-all): Rename from macroexpand-all-1. - -2012-06-06 Sam Steingold <sds@gnu.org> - - * calendar/calendar.el (calendar-in-read-only-buffer): - Call `special-mode' to enable the standard read-only keybindings. - -2012-06-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/macroexp.el (macroexpand-all-1): Don't spam the output - with "loading" messages (bug#11635). - -2012-06-06 Michael Albinus <michael.albinus@gmx.de> - - * files.el (enable-remote-dir-locals): New option. - (hack-dir-local-variables): Use it. (Bug#1933, Bug#6731) - - * net/tramp-compat.el (tramp-compat-temporary-file-directory): - Ensure, that the temp directory is local. - - * net/tramp-sh.el (tramp-sh-handle-write-region): Let-bind - `temporary-file-directory'. - - * progmodes/python.el (python-send-region): Ensure, that the - temporary file is created also in the remote case. - -2012-06-06 Glenn Morris <rgm@gnu.org> - - * vc/vc-rcs.el (vc-rcs-rcs2log-program): New. - (vc-rcs-update-changelog): Use it. - - * emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff. - - * vc/vc-sccs.el (vc-sccs-write-revision): New function. - (vc-sccs-workfile-unchanged-p): Use vc-sccs-write-revision. - (vc-sccs-diff): Replace use of the external vcdiff script. - -2012-06-05 Glenn Morris <rgm@gnu.org> - - * ledit.el: Move to obsolete/. - -2012-06-05 Sam Steingold <sds@gnu.org> - - * calendar/calendar.el (calendar-exit): Reinstate the 2012-03-28 - patch (Bug#11140). - -2012-06-05 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cust-print.el: Move to obsolete. - - * emacs-lisp/macroexp.el (macroexpand-all-1): Tolerate errors during - compiler-macro expansion. - - Add native compiler-macro support. - * emacs-lisp/macroexp.el (macroexpand-all-1): - Support compiler-macros directly. Properly follow aliases and apply - the compiler macros more thoroughly. - * emacs-lisp/cl.el: Don't copy compiler-macro properties any more since - macroexpand now properly follows aliases. - * emacs-lisp/cl-macs.el (toplevel, cl-define-compiler-macro) - (cl-compiler-macroexpand): Use new prop. - * emacs-lisp/byte-opt.el (featurep): Optimize earlier. - - * emacs-lisp/cl-lib.el (custom-print-functions): Add alias. - -2012-06-05 Martin Rudalics <rudalics@gmx.at> - - * window.el (get-lru-window, get-mru-window, get-largest-window): - New argument NOT-SELECTED to avoid picking the selected window. - (window--display-buffer-1, window--display-buffer-2): Replace by - new function window--display-buffer - (display-buffer-same-window, display-buffer-reuse-window) - (display-buffer-pop-up-frame, display-buffer-pop-up-window): - Use window--display-buffer. - (display-buffer-use-some-window): Remove temporary dedication - hack by calling get-lru-window and get-largest-window with - NOT-SELECTED argument non-nil. Call window--display-buffer. - -2012-06-05 Glenn Morris <rgm@gnu.org> - - * vc/vc-sccs.el (vc-sccs-workfile-unchanged-p): - Replace external vcdiff script. - -2012-06-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-lib.el (cl-values, cl-values-list): Fix up last change. - -2012-06-04 Chong Yidong <cyd@gnu.org> - - * image.el (imagemagick-types-inhibit): Revert last change. - Add INFO and M. - (imagemagick-enabled-types): Remove CIN and EPS*. - -2012-06-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-lib.el: Rename from cl.el. - * emacs-lisp/cl.el: New compatibility file. - * emacs-lisp/cl-lib.el, emacs-lisp/cl-seq.el, emacs-lisp/cl-macs.el: - * emacs-lisp/cl-extra.el: Rename all top-level functions and variables - to obey the "cl-" prefix. - * emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name. - -2012-06-03 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/authors.el (authors-aliases): Addition. - - * cus-start.el (tool-bar-style, tool-bar-max-label-size): - Fix :version. - -2012-06-03 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Add comments. - (rst-transition, rst-adornment): New faces. - (rst-adornment-faces-alist): Make default safe to reevaluate. - Fixes - http://sourceforge.net/tracker/?func=detail&atid=422030&aid=3479603&group_id=38414. - Improve customization tags. - (rst-define-level-faces): Clarify meaning. - -2012-06-03 Chong Yidong <cyd@gnu.org> - - * progmodes/compile.el (compilation-mode-line-fail) - (compilation-mode-line-run, compilation-mode-line-exit): - New faces. - (compilation-start, compilation-handle-exit): Use them (Bug#11032). - -2012-06-03 Jack Duthen <duthen.mac.01@gmail.com> (tiny change) - - * progmodes/which-func.el (which-func-update-ediff-windows): - New function. Use it in ediff-select-hook (Bug#11478). - -2012-06-03 Chong Yidong <cyd@gnu.org> - - * bindings.el: Remove explicit help text from format-mode-line. - It is now supplied by mode-line-default-help-echo. - (mode-line-front-space, mode-line-end-spaces) - (mode-line-misc-info): New variables. - (mode-line-modes, mode-line-position): Move the default value to - the variable definition. - (mode-line-default-help-echo): New defcustom. - (mode-line-mule-info-help-echo, mode-line-read-only-help-echo) - (mode-line-modified-help-echo): New functions. - (mode-line-mule-info, mode-line-modified): Use them. - (mode-line-eol-desc, propertized-buffer-identification): - Consistency fixes for help text. - (mode-line-coding-system-map): Allow using mouse-3 to invoke - set-buffer-file-coding-system (Bug#289). - (mode-line-mule-info-help-echo): Update help text. - -2012-06-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * simple.el (execute-extended-command): Set real-this-command - (bug#11506). - -2012-06-02 Chong Yidong <cyd@gnu.org> - - Remove incorrect uses of "modeline" in comments, docstrings, and - function/variable names (Bug#10329). - - * cus-edit.el (mode-line): - * dframe.el (dframe-mouse-hscroll): - * emacs-lisp/re-builder.el: - * emacs-lisp/easy-mmode.el (define-minor-mode): - * frame.el (set-frame-name): - * help.el (lookup-minor-mode-from-indicator): - * net/rcirc.el (rcirc-activity-string, rcirc-short-buffer-name): - * progmodes/cc-cmds.el (c-toggle-auto-newline) - (c-toggle-hungry-state): - * progmodes/antlr-mode.el (antlr-language-alist): - * progmodes/idlw-shell.el (idlwave-shell-electric-stop-line-face): - * progmodes/vhdl-mode.el (vhdl-mode): - * progmodes/which-func.el (which-func, which-func-cleanup-function): - * term/ns-win.el (ns-face-at-pos): - * term/sup-mouse.el (sup-mouse-report): - * textmodes/flyspell.el (flyspell-mode-line-string): - * textmodes/ispell.el (ispell-highlight-face): - * textmodes/reftex-global.el: - * vc/vc-arch.el (vc-arch-mode-line-string): - * vc/vc-cvs.el (vc-cvs-mode-line-string): - * vc/vc-git.el (vc-git-mode-line-string): - * vc/vc-hooks.el (vc-display-status) - (vc-default-mode-line-string): - * vc/vc-mtn.el (vc-mtn-mode-line-string): Doc fixes. - - * ansi-color.el (ansi-color-faces-vector): Change default faces. - - * dired.el (dired-sort-set-mode-line): Rename from - dired-sort-set-modeline. All callers changed. - - * eshell/esh-mode.el (eshell-status-in-mode-line): Rename from - eshell-status-in-modeline. - - * foldout.el (foldout-mode-line-string): Rename from - foldout-modeline-string. All callers changed. - (foldout-update-mode-line): Rename from foldout-update-modeline. - - * subr.el (redraw-modeline): Make into obsolete alias. - - * calendar/timeclock.el (timeclock-mode-line-display): Rename from - timeclock-modeline-display. Make old name an alias. - (timeclock-update-mode-line): Likewise. All callers changed. - (timeclock-mode-line-display): No need to check before using - add-hook. - (timeclock-relative, timeclock-day-over-hook) - (timeclock-use-elapsed, timeclock-mode-string) - (timeclock-mode-line-display): Doc fix, "modeline" -> "mode line". - - * emulation/crisp.el (crisp-mode-mode-line-string): Rename from - crisp-mode-modeline-string. - - * play/solitaire.el (solitaire-build-mode-line): Rename from - solitaire-build-modeline. All callers changed. - - * play/zone.el (zone-hiding-mode-line): Rename from - zone-hiding-modeline. All callers changed. - (zone): Remove unusued `modeline-hidden-level' property. - - * progmodes/xscheme.el (xscheme-mode-line-initialize): Rename from - xscheme-modeline-initialize. All callers changed. - - * strokes.el (strokes-lighter): Rename from - strokes-modeline-string. - - * textmodes/sgml-mode.el (html-face-tag-alist) - (html-tag-face-alist): Use mode-line face instead of obsolete - alias modeline. - -2012-06-02 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Always require `cl'. - (rst-mode-map): Fix meaning of C-M-a / C-M-e. - -2012-06-02 Chong Yidong <cyd@gnu.org> - - * image.el (imagemagick-enabled-types): Rename from - imagemagick-types-enable. Add many more types. - (imagemagick-types-inhibit): Change default to nil. - (imagemagick-filter-types): Caller changed. - -2012-06-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el: Use backquotes. - (cl-transform-function-property): Use eval-and-compile rather than - abusing `require'. - (defstruct): Use declare-function instead of with-no-warnings. - - * emacs-lisp/bytecomp.el: Fix last change (bug#11594). - (byte-compile-output-docform): Re-add the print-circle bindings. - (byte-compile-fix-header): Use #$ just because it's shorter. - (byte-compile-output-file-form): Remove defun/defmacro. - -2012-06-01 Martin Rudalics <rudalics@gmx.at> - - * simple.el (choose-completion): Remove now obsolete binding for - owindow. - -2012-06-01 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-check-for-regexp): Search from buffer end, - in order to avoid "Stack overflow in regexp matcher". - -2012-05-31 Glenn Morris <rgm@gnu.org> - - * image.el: For clarity, call imagemagick-register-types at - top-level, rather than relying on a custom :initialize. - (imagemagick-types-enable): New option. (Bug#11557) - (imagemagick-filter-types): New function. (Bug#7406) - (imagemagick-register-types): Use imagemagick-filter-types. - If disabling support, remove elements altogether rather - than using an impossible regexp. - (imagemagick-types-inhibit): Give it the default init function. - -2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (byte-compile-fix-header): - Handle arbitrary file name lengths (Bug#11585). - -2012-05-31 Martin Rudalics <rudalics@gmx.at> - - * desktop.el (desktop-read): Clear previous and next buffers for - all windows and bury *Messages* buffer (bug#11556). - -2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca> - - Add `declare' for `defun'. Align `defmacro's with it. - * emacs-lisp/easy-mmode.el (define-minor-mode) - (define-globalized-minor-mode): Don't autoload the var definitions. - * emacs-lisp/byte-run.el: Use lexical-binding. - (defun-declarations-alist, macro-declarations-alist): New vars. - (defmacro, defun): Use them. - (make-obsolete, define-obsolete-function-alias) - (make-obsolete-variable, define-obsolete-variable-alias): - Use `declare'. - (macro-declaration-function): Mark obsolete. - * emacs-lisp/autoload.el: Use lexical-binding. - (make-autoload): Add `expansion' arg. Rely more on macro expansion. - -2012-05-30 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-with-no-warnings): - Define as a macro. - (ispell-kill-ispell, ispell-change-dictionary): - Use `called-interactively-p' for Emacs instead of obsolete - `interactive-p'. - -2012-05-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/byte-run.el (defmacro, defun): Move from C. - (macro-declaration-function): Move var from C code. - (macro-declaration-function): Define function with defalias. - * emacs-lisp/macroexp.el (macroexpand-all-1): - * emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): - * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle - defun/defmacro any more. - * emacs-lisp/bytecomp.el (byte-compile-arglist-signature): - Provide fallback for unknown arglist. - (byte-compile-arglist-warn): Change calling convention. - (byte-compile-output-file-form): Move print-vars binding. - (byte-compile-output-docform): Simplify accordingly. - (byte-compile-file-form-defun, byte-compile-file-form-defmacro) - (byte-compile-defmacro-declaration): Remove. - (byte-compile-file-form-defmumble): Generalize to defalias. - (byte-compile-output-as-comment): Return byte-positions. - Simplify callers accordingly. - (byte-compile-lambda): Use `assert'. - (byte-compile-defun, byte-compile-defmacro): Remove. - (byte-compile-file-form-defalias): - Use byte-compile-file-form-defmumble. - (byte-compile-defalias-warn): Remove. - -2012-05-29 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Silence `checkdoc-ispell' errors where - possible. Fix authors. Improve comments. Improve loading of `cl'. - - (rst-mode-abbrev-table): Merge definition. - (rst-mode): Make sure `font-lock-defaults' is buffer local. - (rst-define-key, rst-deprecated-keys, rst-call-deprecated): Refactor. - -2012-05-29 Ulf Jasper <ulf.jasper@web.de> - - * calendar/icalendar.el - (icalendar-export-region): Export UID properly. - -2012-05-29 Leo Liu <sdl.web@gmail.com> - * calendar/icalendar.el (icalendar-import-format): - Add `icalendar-import-format-uid' (Bug#11525). - (icalendar-import-format-uid): New. - (icalendar--parse-summary-and-rest, icalendar--format-ical-event): - Export UID. - -2012-05-29 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/pcase.el (pcase--expand): Accept different sets of vars in - different alternative patterns. - (pcase-codegen): Be more careful to preserve identity. - (pcase--u1): Don't forget to mark vars as used. - - * emacs-lisp/bytecomp.el (byte-compile-constp): Treat #'v as a constant. - (byte-compile-close-variables): Bind byte-compile--outbuffer here... - (byte-compile-from-buffer): ...rather than here. - - * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Don't re-preprocess - functions from byte-compile-function-environment. - -2012-05-29 Troels Nielsen <bn.troels@gmail.com> - - * window.el (window-deletable-p): Avoid deleting the root window - of a frame with an active minibuffer. - -2012-05-29 Martin Rudalics <rudalics@gmx.at> - - * simple.el (choose-completion): Use quit-window (Bug#11567). - -2012-05-29 Chong Yidong <cyd@gnu.org> - - * whitespace.el (whitespace-cleanup): Fix usage of - whitespace-empty-at-bob-regexp (Bug#11492). - -2012-05-29 Aaron S. Hawley <aaron.s.hawley@gmail.com> - - * vc/vc.el (vc-revert, vc-rollback): Dont kill vc-diff buffer on - revert (Bug#11488). - -2012-05-29 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-mode-map): Bind `M-s _' to - `isearch-toggle-symbol'. Bind `M-s c' to - `isearch-toggle-case-fold'. - (search-map): Bind `M-s _' to `isearch-forward-symbol'. - (isearch-forward): Add `M-s _' to the docstring. - (isearch-forward-symbol, isearch-toggle-case-fold) - (isearch-symbol-regexp): New functions. (Bug#11381) - -2012-05-29 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-word): Add docstring. (Bug#11381) - (isearch-occur, isearch-search-and-update): If `isearch-word' is - a function, call it to get the regexp. - (isearch-message-prefix): If `isearch-word' holds a symbol, use its - property `isearch-message-prefix' instead of the string "word ". - (isearch-search-fun-default): For the case of `isearch-word', - return a lambda that calls re-search-forward/re-search-backward - with a regexp returned by `word-search-regexp' or by the function - in `isearch-word'. - -2012-05-29 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-search-fun-default): New function. - (isearch-search-fun): Move default part to the new function - `isearch-search-fun-default'. - (isearch-search-fun-function): Set the default value to - `isearch-search-fun-default'. (Bug#11381) - - * comint.el (comint-history-isearch-end): - Use `isearch-search-fun-default'. - (comint-history-isearch-search): Use `isearch-search-fun-default' - and remove spacial case for `isearch-word'. - (comint-history-isearch-wrap): Remove spacial case for - `isearch-word'. - - * hexl.el (hexl-isearch-search-function): - Use `isearch-search-fun-default'. - - * info.el (Info-isearch-search): Use `isearch-search-fun-default'. - Use `word-search-regexp' for `isearch-word'. - - * misearch.el (multi-isearch-search-fun): - Use `isearch-search-fun-default'. - - * simple.el (minibuffer-history-isearch-search): - Use `isearch-search-fun-default' and remove spacial case for - `isearch-word'. - (minibuffer-history-isearch-wrap): Remove spacial case for - `isearch-word'. - - * textmodes/reftex-global.el (reftex-isearch-wrap-function): - Remove spacial case for `isearch-word'. - (reftex-isearch-isearch-search): Use `isearch-search-fun-default'. - -2012-05-28 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - Decrease XEmacs incompatibilities. - * textmodes/flyspell.el (flyspell-check-pre-word-p): - Use `string-match'. - (flyspell-delete-region-overlays): Use alternative definition for - XEmacs. - (flyspell-delete-all-overlays): Use `flyspell-delete-region-overlays'. - (flyspell-word): Use `process-kill-without-query' if XEmacs. - (flyspell-mode-on): Use `interactive-p' if XEmacs. - (flyspell-incorrect-face, flyspell-duplicate-face): Do not use - `define-obsolete-face-alias' under XEmacs, but old method. - - * textmodes/ispell.el (ispell-with-no-warnings): XEmacs alternative - `with-no-warnings' definition or Emacs alias. - (ispell-command-loop, ispell-message): Use `ispell-with-no-warnings'. - (ispell-word): Do not use `region-p' if XEmacs. - -2012-05-28 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-find-aspell-dictionaries): - Check for `ispell-dictionary-base-alist' instead of full - `ispell-dictionary-alist'. - (ispell-init-process): Show spellchecker when starting new Ispell - process. - -2012-05-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/vhdl-mode.el: Sync with upstream 3.33.28. - http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html#release-notes-3.33 - -2012-05-27 Juanma Barranquero <lekktu@gmail.com> - - * version.el (motif-version-string, gtk-version-string) - (ns-version-string): Declare. - -2012-05-27 Juri Linkov <juri@jurta.org> - - * emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars' - after the `eval-defun-1' specialcaseing - like in `edebug-eval-defun' (bug#10181). - - * emacs-lisp/edebug.el (edebug-eval-defun): Set `face-documentation' - like in `eval-defun-1'. - -2012-05-27 Eli Zaretskii <eliz@gnu.org> - - * mail/sendmail.el (mail-yank-region): - Recognize rmail-yank-current-message in addition to insert-buffer. - Fixes mail-mode's "C-c C-r" that otherwise does nothing when invoked in - a *mail* buffer created through rmail-start-mail with sendmail as - mail-user-agent. - -2012-05-27 Chong Yidong <cyd@gnu.org> - - * net/gnutls.el (gnutls-min-prime-bits): Improve docstring. - Default to 256 (Bug#11267). - - * help.el (describe-mode): Doc fix. - -2012-05-26 Glenn Morris <rgm@gnu.org> - - * w32-fns.el (w32-init-info): Remove. - * paths.el (Info-default-directory-list): Add w32-init-info equivalent. - - * info.el (info-initialize): For self-contained NS builds, put the - included info/ directory at the front. (Bug#2791) - - * paths.el (Info-default-directory-list): Make it a defcustom, - mainly so that we can use custom-initialize-delay. - -2012-05-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (buffer-has-markers-at): Mark obsolete. - - * subr.el (lambda): Use declare. - - * emacs-lisp/lisp-mode.el (lambda): - * emacs-lisp/edebug.el (lambda): Move properties to its definition. - -2012-05-26 Aaron S. Hawley <aaron.s.hawley@gmail.com> - - * thingatpt.el (forward-same-syntax): Handle no ARG case. (Bug#11560) - -2012-05-26 Glenn Morris <rgm@gnu.org> - - * progmodes/cc-mode.el (auto-mode-alist): Fix typo. - -2012-05-25 Glenn Morris <rgm@gnu.org> - - * paths.el: Remove no-byte-compile. - * loadup.el: No need to load paths.el uncompiled. - - * image.el (imagemagick-types-inhibit): Doc fix. - - * version.el: Remove no-byte-compile and associated formatting. - * loadup.el: No need to load version.el uncompiled. AFAICS, this - is ancient code from when there was an "inc-vers.el". - -2012-05-25 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/gdb-mi.el: Minor style changes. - (gdb-enable-debug, gdb-speedbar-auto-raise, gdb-many-windows): - Turn into minor modes. - (gdb--if-arrow): Rename from gdb-if-arrow, make it hygienic. - (gdb-mouse-until, gdb-mouse-jump): Adjust uses accordingly. - (gdb-shell): Remove unneeded let-binding. - (gdb-get-many-fields): Eliminate O(n²) behavior. - -2012-05-25 Eli Zaretskii <eliz@gnu.org> - - * cus-start.el <vertical-centering-font-regexp>: Avoid warning on - platforms that don't link in fontset.c. - -2012-05-25 Juri Linkov <juri@jurta.org> - - Use the same diff color scheme as in modern VCSes (bug#10181). - - * vc/diff-mode.el (diff-header, diff-file-header): Remove "green" - to avoid confusion with `diff-added' that now uses green colors. - (diff-removed): Use shades of red. - (diff-added): Use shades of green. - (diff-changed): Leave just the yellow color. - (diff-use-changed-face): New variable. - (diff-font-lock-keywords): Use `diff-use-changed-face' to decide - how to highlight context diff changes. - (diff-refine-change): Use shades of yellow. - (diff-refine-removed): New face that uses shades of red. - (diff-refine-added): New face that uses shades of green. - (diff-refine-hunk): Use `diff-refine-change', `diff-refine-added', - `diff-refine-removed' in the call to `smerge-refine-subst' - depending on the value of `diff-use-changed-face'. - - * vc/smerge-mode.el (smerge-mine): Use shades of red. - (smerge-other): Use shades of green. - (smerge-base): Use shades of yellow. - (smerge-refined-change): Empty face. - (smerge-refined-removed): New face that uses shades of red. - (smerge-refined-added): New face that uses shades of green. - (smerge-refine-subst): Rename arg `props' to `props-c'. Add new - args `props-r' and `props-a', and use them. Doc fix. - (smerge-refine): Evaluate `smerge-use-changed-face' and depending - on its value use different faces `smerge-refined-change', - `smerge-refined-removed', `smerge-refined-added' in the call to - `smerge-refine-subst'. - - * vc/ediff-init.el (ediff-current-diff-A, ediff-fine-diff-A): - Add face condition `min-colors 88' with shades of red. - (ediff-current-diff-B, ediff-fine-diff-B): Add face condition - `min-colors 88' with shades of green. - (ediff-current-diff-C, ediff-fine-diff-C): Add face condition - `min-colors 88' with shades of yellow. - -2012-05-24 Glenn Morris <rgm@gnu.org> - - * paths.el (prune-directory-list, remote-shell-program): Move to... - * files.el (prune-directory-list, remote-shell-program): ...here. - For the latter, delay initialization, prefer ssh, just search PATH. - - * paths.el (term-file-prefix): Move to faces.el (the only user). - * faces.el (term-file-prefix): Move here, make it a defcustom. - - * paths.el (news-directory, news-path, news-inews-program): - Move to gnus/nnspool.el. - - * paths.el (gnus-default-nntp-server): Remove (gnus.el defines it). - - * paths.el (rmail-file-name, rmail-spool-directory): Move from here... - * mail/rmail.el (rmail-file-name, rmail-spool-directory): ... to here. - Make the latter a defcustom, with a delayed initialization. - - * paths.el (gnus-nntp-service, gnus-local-organization): Remove. - These were deleted from Gnus itself late 2010. - -2012-05-22 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/which-func.el (which-func-ff-hook): - Check against user-error, not error. - - * emacs-lisp/edebug.el (top): Do not load or set up loading of - cl-specs.el, which no longer exists. - -2012-05-22 Glenn Morris <rgm@gnu.org> - - * info.el (info-emacs-bug): New command. - * menu-bar.el (menu-bar-help-menu): Add "How to Report a Bug" to Help. - * mail/emacsbug.el (report-emacs-bug): Replace with info-emacs-bug. - -2012-05-21 Glenn Morris <rgm@gnu.org> - - * makefile.w32-in (update-subdirs-SH): - * Makefile.in (update-subdirs): Update for moved update-subdirs. - -2012-05-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * hi-lock.el (hi-lock-face-defaults): Move obsolete before definition. - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Simplify Maven regexp, and make sure the file can't start with a space - (bug#11517). - -2012-05-21 Glenn Morris <rgm@gnu.org> - - * Makefile.in (setwins, setwins_almost, setwins_for_subdirs): - Scrap superfluous subshells. - -2012-05-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (byte-compile-root-dir): New var. - (byte-compile-warning-prefix, batch-byte-compile-file): Use it. - -2012-05-19 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc.el (calc-ensure-consistent-units): New variable. - - * calc/calc-units.el (math-consistent-units-p) - (math-check-unit-consistency): New functions. - (calc-quick-units, calc-convert-units): - Use `math-check-unit-consistency' when `calc-ensure-consistent-units' - is non-nil. - (calc-extract-units): Fix typo. - -2012-05-18 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/vc-bzr.el (vc-bzr-state-heuristic): Save match-data around sha1. - - * textmodes/flyspell.el: Commenting style, plus code simplifications. - (flyspell-default-deplacement-commands): Don't spell check after - repeated window/frame switches (e.g. triggered by mouse-movement). - (flyspell-delay-commands, flyspell-deplacement-commands): Use mapc. - (flyspell-debug-signal-word-checked): Simplify and fit in 80 cols. - (flyspell-casechars-cache, flyspell-ispell-casechars-cache) - (flyspell-not-casechars-cache, flyspell-ispell-not-casechars-cache): - Remove unused vars. - (flyspell-get-casechars, flyspell-get-not-casechars): - Simplify; Don't bother removing a ] just to add it back. - * textmodes/ispell.el (ispell-program-name): Use executable-find. - -2012-05-18 Rüdiger Sonderfeld <ruediger@c-plusplus.de> - - * calc/calc-lang.el (math-C-parse-bess, math-C-parse-fma): - New functions. - (math-function-table): Add support for more C functions. - -2012-05-18 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/flyspell.el (flyspell-check-pre-word-p) - (flyspell-check-word-p, flyspell-debug-signal-word-checked): - Protect delay handling for otherchars against empty otherchars. - -2012-05-18 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties to - their respective macro declarations. - * skeleton.el (define-skeleton): - * progmodes/compile.el (define-compilation-mode): - * ibuf-macs.el (define-ibuffer-sorter, define-ibuffer-op) - (define-ibuffer-filter): - * emacs-lisp/generic.el (define-generic-mode): - * emacs-lisp/easy-mmode.el (define-minor-mode) - (define-globalized-minor-mode): - * emacs-lisp/cl-macs.el (defun*, defmacro*, defstruct, deftype): - * emacs-lisp/byte-run.el (defsubst): - * custom.el (deftheme): Add doc-string metadata. - -2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el, emacs-lisp/cl.el: Move indent info. - -2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/pcase.el (pcase--u1): Avoid ((lambda ...) ...). - - * emacs-lisp/cl.el: Add edebug specs from cl-specs.el. - * emacs-lisp/cl-macs.el: Idem. - * emacs-lisp/cl-specs.el: Remove. - -2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca> - - Minor renaming of internal CL functions and variables. - * emacs-lisp/cl-seq.el (cl--adjoin): Rename from cl-adjoin. - (cl--position): Rename from cl-position. - (cl--delete-duplicates): Rename from cl-delete-duplicates. - * emacs-lisp/cl.el (cl--gensym-counter): Rename from *gensym-counter*. - (cl--random-state): Rename from *random-state*. - -2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/cl-macs.el (cl-transform-lambda): Don't add spurious - parens around the arg list (bug#11499). - -2012-05-17 Juri Linkov <juri@jurta.org> - - * isearch.el (word-search-regexp, word-search-backward) - (word-search-forward, word-search-backward-lax) - (word-search-forward-lax): Move functions from search.c - (bug#10145, bug#11381). - -2012-05-16 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/flyspell.el (flyspell-check-pre-word-p) - (flyspell-check-word-p, flyspell-debug-signal-word-checked): - Delay for otherchars as for normal word components. - -2012-05-16 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion--sifn-requote): Fix last change. - (minibuffer-local-must-match-filename-map): - Move define-obsolete-variable-alias before its var. - -2012-05-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/pcase.el (pcase-let*, pcase-let): Fix edebug spec. - - * minibuffer.el (completion--sifn-requote): Handle sifn's truncation - behavior. - (completion--string-equal-p): New function. - (completion--twq-all): Use it to get better assertion failure data. - - Only handle ".." and '..' quoting in shell-mode (bug#11466). - * shell.el (shell--unquote&requote-argument, shell--unquote-argument) - (shell--requote-argument): New functions. - (shell-completion-vars): Use them. - (shell--parse-pcomplete-arguments): Rename from - shell-parse-pcomplete-arguments. - * comint.el (comint-word): Obey comint-file-name-quote-list. Simplify. - (comint--unquote&requote-argument): Don't handle ".." and '..' quoting. - Obey comint-file-name-quote-list. - - * emacs-lisp/smie.el (smie-indent--bolp-1): New function. - (smie-indent-keyword): Use it. - -2012-05-14 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el (rst-re-alist): Fix loading (bug#11462). - -2012-05-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * net/rlogin.el (rlogin-mode-map): Fix last change. - -2012-05-14 Jason L. Wright <jason.wright@inl.gov> (tiny change) - - * mail/smtpmail.el (smtpmail-send-command): Send the command and - the following \r\n using a single `process-send-string', since the - Lotus SMTP server refuses to accept any commands if they are sent - with two `process-send-string's (Bug#11444). - -2012-05-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * shell.el (shell-parse-pcomplete-arguments): - Obey pcomplete-arg-quote-list inside double-quoted args (Bug#11348). - -2012-05-14 Wolfgang Jenkner <wjenkner@inode.at> - - * image-mode.el: Fit to width/height for rotated images (Bug#11431). - (image-transform-scale, image-transform-right-angle-fudge): New vars. - (image-transform-width, image-transform-fit-width): New functions. - (image-transform-properties): Use them. - (image-transform-check-size): New function. - (image-toggle-display-image): Use it (for testing). - (image-transform-set-rotation): Reduce angle mod 360. - Delete obsolete comment. - -2012-05-14 Wolfgang Jenkner <wjenkner@inode.at> - - * image-mode.el: Fix scaling (bug#11399). - (image-transform-resize): Doc fix. - (image-transform-properties): Default scale is 1 and height should - be an integer. - -2012-05-13 Johan BockgÃ¥rd <bojohan@gnu.org> - - * emacs-lisp/smie.el (smie-next-sexp): Use accessor `op-forw' rather - than hard-coding `car', to fix misbehavior when moving forward. - -2012-05-13 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/tabulated-list.el (tabulated-list-format) - (tabulated-list-entries, tabulated-list-padding) - (tabulated-list-sort-key): Make permanent-local. - - * ebuff-menu.el: Adapt to Buffer Menu changes (Bug#11455). - (electric-buffer-list): Put electric buffer menu - command descriptions in this docstring, instead of the docstring - of electric-buffer-menu-mode. Code cleanups. - (electric-buffer-menu-mode): Use define-derived-mode. Rename from - Electric-buffer-menu-mode. - (electric-buffer-update-highlight): Minor code cleanup. - -2012-05-13 Michael Albinus <michael.albinus@gmx.de> - - * net/dbus.el (dbus-call-method): Restore events not from D-Bus. - (Bug#11447) - -2012-05-13 Stefan Monnier <monnier@iro.umontreal.ca> - - Move define-obsolete-variable-alias before the var's definition. - * vc/log-edit.el (vc-comment-ring, vc-comment-ring-index): - * tooltip.el (tooltip-hook): - * textmodes/reftex-toc.el (reftex-toc-map): - * textmodes/reftex-sel.el (reftex-select-label-map) - (reftex-select-bib-map): - * textmodes/reftex-index.el (reftex-index-map) - (reftex-index-phrases-map): - * speedbar.el (speedbar-syntax-table, speedbar-key-map): - * progmodes/meta-mode.el (meta-mode-map): - * novice.el (disabled-command-hook): - * loadhist.el (unload-hook-features-list): - * frame.el (blink-cursor): - * files.el (find-file-not-found-hooks, write-file-hooks) - (write-contents-hooks): - * emulation/tpu-edt.el (GOLD-map): - * emacs-lock.el (emacs-lock-from-exiting): - * emacs-lisp/generic.el (generic-font-lock-defaults): - * emacs-lisp/chart.el (chart-map): - * dos-fns.el (register-name-alist): - * dired-x.el (dired-omit-files-p): - * desktop.el (desktop-enable): - * cus-edit.el (custom-mode-hook): - * buff-menu.el (buffer-menu-mode-hook): - * bookmark.el (bookmark-read-annotation-text-func) - (bookmark-exit-hooks): - * allout.el (allout-mode-deactivate-hook) - (allout-exposure-change-hook, allout-structure-added-hook) - (allout-structure-deleted-hook, allout-structure-shifted-hook): - * dirtrack.el (dirtrack-toggle, dirtrackp, dirtrack-debug-toggle) - (dirtrack-debug): Move call to define-obsolete-variable-alias so it - comes before the corresponding variable's definition. - -2012-05-12 Chong Yidong <cyd@gnu.org> - - * buff-menu.el (Buffer-menu-buffer+size-width): Doc fix (Bug#11454). - (Buffer-menu-mouse-select): Restore function (Bug#11459). - (Buffer-menu-mode-map): Bind it. - (Buffer-menu--pretty-name): Add a mouse-face property. - -2012-05-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/prolog.el: Use SMIE. Cleanup regexp setup. - (prolog-upper-case-string, prolog-lower-case-string) - (prolog-atom-char-regexp, prolog-atom-regexp): Initialize in defconst. - (prolog-use-smie, prolog-smie-grammar): New vars. - (prolog-smie-forward-token, prolog-smie-backward-token) - (prolog-smie-rules): New funs. - (prolog-comment-indent): Remove. - (prolog-mode-variables): Use default comment indentation instead. - Setup SMIE. - (prolog-build-case-strings, prolog-set-atom-regexps): Remove. - (prolog-mode): Don't call them any more. - (prolog-electric-colon, prolog-electric-dash) - (prolog-edit-menu-insert-move): Use indent-according-to-mode. - - * dabbrev.el (dabbrev-expand): Make "no expansion found" a user-error. - - * minibuffer.el (completion--twq-all): Again, allow case differences. - - * term.el: Move keymap initialization code to be more idiomatic. - (term-signals-menu, term-mode-map, term-raw-map, term-raw-escape-map) - (term-terminal-menu): Move initialization into declaration. - (term-escape-char): Let the user set it in her .emacs. - - * progmodes/sh-script.el: Use post-self-insert-hook&electric-pair-mode. - Provide SMIE-based indentation (not enabled by default yet). - (sh-mode-map): Don't bind electric keys. - Use electric-pair-mode instead of skeleton-pair. - (sh-assignment-regexp): Fit within 80 columns. - (sh-indent-supported): Specify actual shell name instead of boolean. - (sh--maybe-here-document): New fun, from sh-maybe-here-document. - (sh-maybe-here-document): Use it. Make obsolete. - (sh-electric-here-document-mode) New minor mode. - (sh-mode): Use it. Don't set sh-indent-supported-here here. - (sh-smie-sh-grammar, sh-smie--sh-operators, sh-smie--sh-operators-re) - (sh-smie--sh-operators-back-re, sh-indent-after-continuation) - (sh-smie-rc-grammar, sh-use-smie): New vars. - (sh-smie--keyword-p, sh-smie--newline-semi-p, sh-smie--sh-keyword-p) - (sh-smie-sh-forward-token, sh-smie--looking-back-at-continuation-p) - (sh-smie-sh-backward-token, sh-smie--continuation-start-indent) - (sh-smie-sh-rules, sh-smie-rc-rules, sh-smie--sh-keyword-in-p) - (sh-smie--rc-after-special-arg-p, sh-smie-rc-backward-token) - (sh-smie-sh-rules, sh-smie--rc-newline-semi-p): New functions. - (sh-set-shell): Use smie-setup if requested. - - * term.el (term-set-escape-char): Properly set term-escape-char. - See http://stackoverflow.com/questions/10524656. - -2012-05-10 Chong Yidong <cyd@gnu.org> - - * ffap.el (ffap-url-unwrap-local): Make it work right (Bug#9131). - Use url-generic-parse-url, and handle host names and Windows - filenames properly. - (ffap-url-unwrap-remote): Use url-generic-parse-url. - (ffap-url-unwrap-remote): Accept list values, specifying a list of - URL schemes to work on. - (ffap--toggle-read-only): New function. - (ffap-read-only, ffap-read-only-other-window) - (ffap-read-only-other-frame): Use it. - (ffap-fixup-url): Don't check ffap-ftp-regexp, since it is not - necessary for ffap-url-unwrap-remote. - -2012-05-10 Dave Abrahams <dave@boostpro.com> - - * cus-start.el (create-lockfiles): Add it. - -2012-05-09 Chong Yidong <cyd@gnu.org> - - * net/browse-url.el (browse-url-url-encode-chars): Use upper-case. - (browse-url-encode-url): Encode spaces and quotes (Bug#6300). - -2012-05-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * shell.el (shell-completion-vars): Fix last change (bug#11348). - -2012-05-09 Chong Yidong <cyd@gnu.org> - - * ansi-color.el (ansi-color-process-output): Check for validity of - comint-last-output-start before using it. This avoids a bad - interaction with gdb-mi's input/output buffer. - -2012-05-09 Glenn Morris <rgm@gnu.org> - - * files.el (dir-locals-read-from-file): - Mention dir-locals in any error message. - -2012-05-09 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/package.el (package-built-in-p): Handle the `emacs' - package (Bug#11410). - - * emacs-lisp/package.el (package-buffer-info): Avoid putting local - variables into description. - -2012-05-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like - shell-delimiter-argument-list (bug#11348). - (shell-parse-pcomplete-arguments): Obey pcomplete-arg-quote-list. - -2012-05-09 Juanma Barranquero <lekktu@gmail.com> - - * textmodes/rst.el: Silence byte-compiler warnings. - (rst-re-alist, rst-reset-section-caches): Move around. - (rst-re): Use `characterp', not `char-valid-p'. - (font-lock-beg, font-lock-end): Declare. - - * progmodes/idlw-shell.el (specs): Remove reference to deleted - variable `idlwave-shell-activate-alt-keybindings' and simplify. - - * eshell/esh-cmd.el (eshell-debug-command): Fix typo in previous change. - -2012-05-08 Glenn Morris <rgm@gnu.org> - - * files.el (auto-mode-alist): Treat ".make" like ".mk". - -2012-05-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/log-edit.el: Add GNU coding standards highlighting. - (log-edit-font-lock-gnu-style) - (log-edit-font-lock-gnu-keywords): New vars. - (log-edit-font-lock-keywords): New fun. - (log-edit-mode): Don't fold case in font-lock. - (log-edit-font-lock-keywords): Do not assume case-folding. - - * imenu.el: Misc cleanup. Make docstrings out of comments. - Use lexical-binding. - (imenu--index-alist, imenu--last-menubar-index-alist) - (imenu-menubar-modified-tick): Use defvar-local. - (imenu--split-menu): Remove unused var. - (imenu--cleanup-seen): Declare as global. - (imenu--cleanup): Use dolist. - - * subr.el (defvar-local): Add debug spec and doc-string position. - -2012-05-08 Glenn Morris <rgm@gnu.org> - - * language/burmese.el, language/cham.el, language/czech.el: - * language/english.el, language/georgian.el, language/greek.el: - * language/japanese.el, language/khmer.el, language/korean.el: - * language/lao.el, language/misc-lang.el, language/romanian.el: - * language/sinhala.el, language/slovak.el, language/tai-viet.el: - * language/thai.el, language/utf-8-lang.el: - Remove no-byte-compile setting. - - * play/zone.el (zone-pgm-stress): Don't pollute kill-ring. (Bug#11388) - -2012-05-08 Aaron S. Hawley <aaron.s.hawley@gmail.com> - - * progmodes/make-mode.el (makefile-browse): - Remove unnecessary interactive. (Bug#11324) - -2012-05-07 Glenn Morris <rgm@gnu.org> - - * forms-d2.el, forms-pass.el: Move to ../etc/forms directory. - - * international/mule.el (find-auto-coding): Make "unibyte: t" obsolete. - -2012-05-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * loadup.el: Preload newcomment.el. - * newcomment.el: Move autoload-only code to toplevel. - - * buff-menu.el (list-buffers--refresh): Mark `size' as right-align. - * emacs-lisp/tabulated-list.el (tabulated-list-init-header): - Handle new :right-align column property. - (tabulated-list-print-col): Idem, plus use `display' text-property to - try and preserve alignment for variable pitch fonts. - -2012-05-07 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/tabulated-list.el: Add no-header-line alternative. - (tabulated-list-use-header-line): New var. - (tabulated-list-init-header): Use it. - (tabulated-list-print-fake-header): New function. - (tabulated-list-print): Use it. - (tabulated-list-sort-button-map): Add non-header-line commands. - (tabulated-list-init-header): Add column name property to basic - labels as well. - (tabulated-list-col-sort): Handle non-header-line button case. - (tabulated-list--sort-by-column-name): Fix a corner case. - - * buff-menu.el (list-buffers--refresh): - Handle Buffer-menu-use-header-line. - -2012-05-06 Chong Yidong <cyd@gnu.org> - - * buff-menu.el: Convert to Tabulated List mode. - (Buffer-menu-buffer+size-width): Make obsolete. - (Buffer-menu-name-width, Buffer-menu-size-width): New variables. - (Buffer-menu-mode-map): Inherit from tabulated-list-mode-map. - (Buffer-menu-mode): Derive from tabulated-list-mode. Move command - documentation into docstring of buffer-menu. - (Buffer-menu-toggle-files-only): Add an informative message. - (Buffer-menu-sort): Convert to alias for tabulated-list-sort. - (Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark) - (Buffer-menu-unmark, Buffer-menu-backup-unmark) - (Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified) - (Buffer-menu-execute, Buffer-menu-select) - (Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only) - (Buffer-menu-bury): Use Tabulated List machinery. - (Buffer-menu-mouse-select, Buffer-menu-sort-by-column) - (Buffer-menu-sort-button-map, Buffer-menu-make-sort-button): - Delete. - (list-buffers--refresh): New function. - (list-buffers-noselect): Use it. - (tabulated-list-entry-size->, Buffer-menu--pretty-name) - (Buffer-menu--pretty-file-name): New helper functions. - - * loadup.el: Preload tabulated-list. - - * emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from - tabulated-list-sort-column. - (tabulated-list-init-header): Add the initial aligning space even - if tabulated-list-padding is zero. - -2012-05-06 Christopher Schmidt <christopher@ch.ristopher.com> - - * emacs-lisp/cl-macs.el (cl-expr-contains): Handle cons cells - whose cdr is not a cons cell correctly (bug#11038). - -2012-05-06 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/tabulated-list.el (tabulated-list-format): - Accept additional plist in column descriptors. - (tabulated-list-init-header): Obey it. - (tabulated-list-get-entry): New function. - (tabulated-list-put-tag): Use it. Use string-width instead of - length. - (tabulated-list--column-number): New function. - (tabulated-list-print): Use it. - (tabulated-list-print-col): New function. - Set `tabulated-list-column-name' property on each column's text. - (tabulated-list-print-entry): Use it. - (tabulated-list-delete-entry, tabulated-list-set-col): - New functions. - (tabulated-list-sort-column): New command (Bug#11337). - - * buff-menu.el (list-buffers): Move C-x C-b binding from - buff-menu.el to bindings.el. - - * ebuff-menu.el (Electric-buffer-menu-undefined): Use the - :advertised-binding feature. - -2012-05-06 Troels Nielsen <bn.troels@gmail.com> (tiny change) - - * progmodes/compile.el (compilation-internal-error-properties): - Calculate start position correctly when end-col is set but - end-line is not (Bug#11382). - -2012-05-06 Wolfgang Jenkner <wjenkner@inode.at> - - * man.el (Man-unindent): Use text-property-default-nonsticky to - prevent untabify from inheriting face properties (Bug#11408). - -2012-05-05 Stefan Merten <smerten@oekonux.de> - - * textmodes/rst.el: Major merge with upstream development up to - Docutils SVN r7399 / rst.el V1.2.1. - - Clarify maintainership and authors. - - (rst-extract-version, rst-cvs-header, rst-cvs-rev) - (rst-cvs-timestamp, rst-svn-rev, rst-svn-timestamp) - (rst-official-version, rst-official-cvs-rev, rst-version) - (rst-package-emacs-version-alist): New functions and variables - for version information. - - (rst-bullets, rst-uri-schemes, rst-adornment-chars) - (rst-max-inline-length, rst-re-alist-def, rst-re-alist) - (rst-mode-syntax-table, rst-mode): New and corrected functions - and variables representing reStructuredText features. - - (rst-re): New function for reStructuredText regexes. Use in - many places. - - (rst-deprecated-keys, rst-call-deprecated, rst-define-key) - (rst-mode-map): Rebind keys. - - (rst-mode-lazy, rst-font-lock-keywords) - (rst-font-lock-extend-region) - (rst-font-lock-extend-region-internal) - (rst-font-lock-extend-region-extend) - (rst-font-lock-find-unindented-line-limit) - (rst-font-lock-find-unindented-line-match) - (rst-adornment-level, rst-font-lock-adornment-level) - (rst-font-lock-adornment-match) - (rst-font-lock-handle-adornment-pre-match-form) - (rst-font-lock-handle-adornment-matcher): Major revision of - font-locking. Integrate with other code. Use `jit-lock-mode'. - - (rst-preferred-adornments, rst-adjust-hook) - (rst-new-adornment-down, rst-preferred-bullets) - (rst-preferred-bullets, rst-indent, rst-indent-width) - (rst-indent-field, rst-indent-literal-normal) - (rst-indent-literal-minimized, rst-indent-comment): Change, - extend and improve customization. - - (rst-line-homogeneous-p, rst-line-homogeneous-nodent-p) - (rst-normalize-cursor-position, rst-get-decoration) - (rst-straighten-deco-spacing, rst-re-bullets, rst-re-items) - (rst-rstrip, rst-toc-insert-find-delete-contents) - (rst-shift-fill-region, rst-compute-bullet-tabs) - (rst-debug-print-tabs, rst-debug-mark-found) - (rst-shift-region-guts, rst-shift-region-right) - (rst-shift-region-left, rst-use-char-classes) - (rst-font-lock-keywords-function) - (rst-font-lock-indentation-point) - (rst-font-lock-find-unindented-line-begin) - (rst-font-lock-find-unindented-line-end) - (rst-font-lock-find-unindented-line) - (rst-font-lock-adornment-point, rst-font-lock-level) - (rst-adornment-level-alist): Remove functions and variables. - - (rst-compare-adornments, rst-get-adornment-match) - (rst-suggest-new-adornment, rst-get-adornments-around) - (rst-adornment-complete-p, rst-get-next-adornment) - (rst-adjust-adornment, rst-display-adornments-hierarchy) - (rst-straighten-adornments): Standardize function names to - use "adornment" instead of "decoration". Correct callers. - Similar standardizing in many places. - - (rst-update-section, rst-adjust, rst-promote-region) - (rst-enumerate-region, rst-bullet-list-region) - (rst-repeat-last-character): Correct use of `interactive'. - - (rst-classify-adornment, rst-find-all-adornments) - (rst-get-hierarchy, rst-adjust-adornment, rst-toc-update) - (rst-find-leftmost-column, rst-repeat-last-character): - Refactor functions. - - (rst-find-title-line, rst-reset-section-caches) - (rst-get-adornments-around, rst-adjust-adornment-work) - (rst-arabic-to-roman, rst-roman-to-arabic) - (rst-insert-list-pos, rst-insert-list-new-item) - (rst-insert-list-continue, rst-insert-list, rst-forward-line): - New functions. - - (rst-all-sections, rst-section-hierarchy) - (rst-arabic-to-roman, rst-initial-enums, rst-initial-items): - New variables. - - (rst-toc-return-wincfg, rst-toc-quit-window): Use window - configuration instead of only buffer. Change where necessary. - - (rst-line-tabs, rst-compute-tabs, rst-indent-line) - (rst-shift-region, rst-adaptive-fill): New functions for - indentation and filling. - - (rst-comment-line-break, rst-comment-indent) - (rst-comment-insert-comment, rst-comment-region) - (rst-uncomment-region): New functions for handling comments. - - (rst-compile): Quote shell arguments. - - (rst-compile-pdf-preview, rst-compile-slides-preview): - Delete temporary files after use. - -2012-05-05 Glenn Morris <rgm@gnu.org> - - * calendar/cal-html.el: Optionally include holidays in the output. - Suggested by Ed Reingold <reingold@emr.cs.iit.edu>. - (cal-html-holidays): New option. - (cal-html-css-default): Add holiday entry. - (holiday-in-range): Autoload it. - (cal-html-htmlify-entry): Add optional class argument. - (cal-html-htmlify-list): Add optional holidays argument. - (cal-html-insert-agenda-days): Include holidays in the output. - (cal-html-one-month): Maybe include holidays. - - * calendar/holidays.el (holiday-in-range): - Move here from cal-tex-list-holidays. - * calendar/cal-tex.el (cal-tex-list-holidays): - Make it an obsolete alias for holiday-in-range. Update all callers. - -2012-05-05 Chong Yidong <cyd@gnu.org> - - * select.el (xselect--encode-string): Always use utf-8 for TEXT on - Nextstep. - -2012-05-05 Ransom Williams <auvergnerw@gmail.com> (tiny change) - - * files.el (file-auto-mode-skip): New var. - (set-auto-mode-1): Use it. - -2012-05-05 Stefan Monnier <monnier@iro.umontreal.ca> - - * repeat.el: Use lexical-binding. - (repeat-last-self-insert, repeat-num-input-keys-at-self-insert) - (repeat-undo-count): Remove. - (repeat): - * progmodes/octave-mod.el (octave-abbrev-start): - * progmodes/f90.el (f90-abbrev-start): - * face-remap.el (text-scale-adjust): - * kmacro.el (kmacro-call-macro): Use set-temporary-overlay-map. - - * emacs-lisp/pcase.el (pcase--let*): New function. - (pcase--expand, pcase-codegen, pcase--q1): Use it to reduce nesting - a bit more. - (pcase--split-pred): Be more clever about ruling out overlap between - a predicate and some constant pattern. - (pcase--q1): Use `null' instead of (eq foo nil). - - * subr.el (setq-local, defvar-local): New macros. - (kbd): Redefine as an alias. - (with-selected-window): Leave unrelated frames alone. - (set-temporary-overlay-map): New function. - -2012-05-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (user-error): New function. - * window.el (switch-to-buffer): - * vc/smerge-mode.el (smerge-resolve-function, smerge-resolve) - (smerge-match-conflict): - * simple.el (previous-matching-history-element) - (next-matching-history-element, goto-history-element, undo-more) - (undo-start): - * progmodes/etags.el (visit-tags-table-buffer, find-tag-tag) - (find-tag-noselect, find-tag-in-order, etags-goto-tag-location) - (next-file, tags-loop-scan, list-tags, complete-tag): - * progmodes/compile.el (compilation-loop): - * mouse.el (mouse-minibuffer-check): - * man.el (Man-bgproc-sentinel, Man-goto-page): - * info.el (Info-find-node-2, Info-extract-pointer, Info-history-back) - (Info-history-forward, Info-follow-reference, Info-menu) - (Info-extract-menu-item, Info-extract-menu-counting) - (Info-forward-node, Info-backward-node, Info-next-menu-item) - (Info-last-menu-item, Info-next-preorder, Info-last-preorder) - (Info-next-reference, Info-prev-reference, Info-index) - (Info-index-next, Info-follow-nearest-node) - (Info-copy-current-node-name): - * imenu.el (imenu--make-index-alist) - (imenu-default-create-index-function, imenu-add-to-menubar): - * files.el (basic-save-buffer, recover-file): - * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): - * emacs-lisp/checkdoc.el (checkdoc-continue, checkdoc-comments) - (checkdoc-message-text, checkdoc-defun): - * dabbrev.el (dabbrev-completion, dabbrev--abbrev-at-point): - * cus-edit.el (customize-changed-options, customize-rogue) - (customize-saved, custom-variable-set, custom-variable-mark-to-save) - (custom-variable-mark-to-reset-standard) - (custom-variable-reset-backup, custom-face-mark-to-reset-standard) - (custom-file): - * completion.el (check-completion-length): - * comint.el (comint-search-arg) - (comint-previous-matching-input-string-position) - (comint-previous-matching-input) - (comint-replace-by-expanded-history-before-point, comint-send-input) - (comint-copy-old-input, comint-backward-matching-input) - (comint-goto-process-mark, comint-set-process-mark): - * calendar/calendar.el (calendar-cursor-to-date): Use it. - * bindings.el (debug-ignored-errors): Remove regexps, add `user-error'. - -2012-05-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * dabbrev.el (dabbrev--ignore-case-p): New function. - (dabbrev-completion, dabbrev-expand, dabbrev--substitute-expansion): - Use it. - - * files.el (automount-dir-prefix): Mark as obsolete. - -2012-05-04 Glenn Morris <rgm@gnu.org> - - * patcomp.el, play/bruce.el: Move to obsolete/. - -2012-05-04 Paul Eggert <eggert@cs.ucla.edu> - - Fix minor Y10k bugs. - * arc-mode.el (archive-unixdate): - * autoinsert.el (auto-insert-alist): - * calc/calc-forms.el (math-this-year): - * emacs-lisp/copyright.el (copyright-current-year) - (copyright-update-year, copyright): - * tar-mode.el (tar-clip-time-string): - * time.el (display-time-update): - Don't assume years have 4 digits. - -2012-05-04 Chong Yidong <cyd@gnu.org> - - * dos-w32.el (file-name-buffer-file-type-alist) - (direct-print-region-use-command-dot-com): - * ffap.el (ffap-menu-regexp): - * find-file.el (ff-special-constructs): - * follow.el (follow-debug): - * forms.el (forms--debug): - * iswitchb.el (iswitchb-all-frames): - * ido.el (ido-all-frames): - * emacs-lisp/timer.el (timer-max-repeats): - * mail/feedmail.el (feedmail-mail-send-hook) - (feedmail-mail-send-hook-queued): - * mail/footnote.el (footnote-signature-separator): - * mail/mailabbrev.el (mail-alias-separator-string) - (mail-abbrev-mode-regexp): - * mail/rmail.el (rmail-speedbar-match-folder-regexp): - * progmodes/idlwave.el (idlwave-libinfo-file) - (idlwave-default-completion-case-is-down) - (idlwave-library-routines): Convert defvars to defcustoms. - - * mail/rmail.el (rmail-decode-mime-charset): - * progmodes/idlw-shell.el (idlwave-shell-print-expression-function) - (idlwave-shell-fix-inserted-breaks) - (idlwave-shell-activate-alt-keybindings) - (idlwave-shell-use-breakpoint-glyph): - * facemenu.el (facemenu-unlisted-faces): Delete obsolete vars. - -2012-05-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion--twq-all): Beware completion-ignore-case. - -2012-05-03 Wilson Snyder <wsnyder@wsnyder.org> - - * progmodes/verilog-mode.el (font-lock-keywords): - Fix mis-highligting auto. Reported by Craig Barner. - (verilog-auto, verilog-auto-undef): Add AUTOUNDEF to remove - defines from global name space. Reported by Dan Dever. - (verilog-auto-reset, verilog-auto-reset-widths) - (verilog-auto-tieoff): Support using unbased numbers for - AUTORESET and AUTOTIEOFF. - (verilog-submit-bug-report): Update variable list. - (verilog-read-auto-params): Fix AUTOINPUT regexps containing - parenthesis from not matching. Reported by Michael Rytting. - (verilog-auto-template-lint): Fix hash error when linting modules - with no used templates. - (verilog-warn, verilog-warn-error) - (verilog-warn-fatal): When non-interactive report multiple - warnings before exiting. Suggested by Brad Dobbie. - (verilog-auto-template-lint, verilog-auto-template-warn-unused) - (verilog-read-auto-template): Add `verilog-auto-template-warn-unused' - to report unused template errors. Reported by Brad Dobbie. - (verilog-read-decls): Fix AUTOWIRE etc on supply0, supply1 type - nets, bug438. Reported by Vns Blore. - (verilog-auto-inout-module, verilog-auto-reg) - (verilog-read-decls, verilog-read-sub-decls-sig) - (verilog-signals-edit-wire-reg, verilog-signals-with): - Fix passing of Verilog data types in ANSI input/output ports - such as "output logic" into the AUTOs. Special case "wire" and - "reg" for backwards compatibility presuming Verilog 2001. - (verilog-auto-ascii-enum): Add "auto enum" as alias. - (verilog-preprocess): Fix replication of preprocess output. - Reported by Brad Dobbie. - (verilog-auto-inst-interfaced-ports): - Create verilog-auto-inst-interfaced-ports, bug429. - Reported by Julian Gorfajn. - (verilog-after-save-font-hook) - (verilog-before-save-font-hook): New variable. - (verilog-modi-cache-results, verilog-save-font-mod-hooked) - (verilog-save-font-mods): Wrap disabling fontification, reported - by David Rogoff. - (verilog-do-indent, verilog-pretty-declarations-auto) - (verilog-sk-def-reg): Fix obeying `verilog-auto-lineup', bug305. - Reported by Pierre-David Pfister. - (verilog-set-auto-endcomments): Fix endtask auto comments outside - of class declarations, bug292. Reported by Kevin Heilman. - (verilog-read-decls): Fix 'parameter type' not appearing in - AUTOINSTPARAM, bug340. Reported by Jonathan Greenlaw. - (verilog-auto-logic): Fix when AUTOLOGIC present to properly do - AUTOINPUTs, bug411. Reported by Jonathan Greenlaw. - (verilog-read-auto-lisp): Avoid syntax-ppss warning on AUTOLISP. - Reported by David Kravitz. - -2012-05-03 Michael McNamara <mac@mail.brushroad.com> - - * progmodes/verilog-mode.el (verilog-pretty-expr): Don't line up - assignment with tests in ifs and for loops. - (verilog-extended-complete-re, verilog-complete-reg): Change so - that DPI inport functions don't look like fuction declarations. - (verilog-pretty-expr): Don't line up assignment - operations to the test and increment in if and for loops - (verilog-extended-complete-re, verilog-complete-reg): Change so - that DPI inport functions don't look like fuction declarations. - -2012-05-03 Kenichi Handa <handa@m17n.org> - - * mail/rmailmm.el (rmail-show-mime): Catch an error caused by text - decoding, and show a warning message without signaling an error - (Bug#11282). - -2012-05-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el - (byte-compile-file-form-custom-declare-variable): Compile all elements, - since cconv.el might have introduced :fun-body, internal-make-closure, - and friends for bytecomp to handle (bug#11391). - * custom.el (defcustom): Avoid ((λ ..) ..). - -2012-05-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (read-passwd): Better clean after ourselves (bug#11392). - -2012-05-02 Juanma Barranquero <lekktu@gmail.com> - - * notifications.el (dbus-debug): - * term/linux.el (gpm-mouse-enable): - * term/screen.el (xterm-register-default-colors): Declare. - -2012-05-02 Chong Yidong <cyd@gnu.org> - - * cus-start.el (gc-cons-percentage, exec-suffixes) - (dos-display-scancodes, dos-hyper-key, dos-super-key) - (dos-keypad-mode, debug-on-signal, vertical-centering-font-regexp) - (make-cursor-line-fully-visible, void-text-area-pointer) - (font-list-limit): Add customization data. - - * allout.el (allout-exposure-change-functions) - (allout-structure-added-functions) - (allout-structure-deleted-functions) - (allout-structure-shifted-functions): Rename abnormal hooks from - *-hook, and convert to defcustoms. - (allout-after-copy-or-kill-hook, allout-post-undo-hook): - Convert to defcustoms. - (allout-mode-hook, allout-mode-deactivate-hook): Doc fix. - - * allout-widgets.el: Hook callers changed. - -2012-05-02 Eli Zaretskii <eliz@gnu.org> - - * mail/rmail.el (rmail-yank-current-message): Use the encoding of - the yanked message in preference to the default value of - buffer-file-coding-system. - -2012-05-02 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer--action-function-custom-type): - Fix entry. - -2012-05-02 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-defs.el (c-version): Update to 5.32.3. - -2012-05-01 Glenn Morris <rgm@gnu.org> - - * cus-start.el (suggest-key-bindings): Remove, now it is in Lisp. - - * eshell/esh-cmd.el (eshell-debug-command): Doc fix. Add :set. - - * cus-edit.el (custom-variable-documentation): Simplify with format. - -2012-05-01 Aaron S. Hawley <aaron.s.hawley@gmail.com> - Stefan Monnier <monnier@iro.umontreal.ca> - - * simple.el (suggest-key-bindings, execute-extended-command): - Move from keyboard.c. - -2012-05-01 Chong Yidong <cyd@gnu.org> - - * follow.el: Eliminate advice. - (set-process-filter, process-filter, sit-for): Advice deleted. - (follow-mode-off-hook): Obsolete hook removed. - (follow-avoid-tail-recenter-p, follow-process-filter-alist): - Vars deleted. - (follow-auto): Use a :set function. - (follow-mode): Rewritten. Don't advise process filters. - (follow-switch-to-current-buffer-all, follow-scroll-up) - (follow-scroll-down): Assume follow-mode is bound. - (follow-comint-scroll-to-bottom) - (follow-align-compilation-windows): New functions. - (follow--window-sorter): New function. - (follow-all-followers): Use it to explicitly sort windows by their - positions; don't make assumptions about next-window order. - (follow-windows-start-end, follow-delete-other-windows-and-split) - (follow-calc-win-start): Doc fix. - (follow-windows-aligned-p, follow-select-if-visible): Don't call - vertical-motion unnecessarily. - (follow-adjust-window): New function. - (follow-post-command-hook): Use it. - (follow-call-set-process-filter, follow-call-process-filter) - (follow-intercept-process-output, follow-tidy-process-filter-alist) - (follow-stop-intercept-process-output, follow-generic-filter): - Functions deleted. - (follow-scroll-bar-toolkit-scroll, follow-scroll-bar-drag) - (follow-scroll-bar-scroll-up, follow-scroll-bar-scroll-down): - New functions, replacing advice on scroll-bar-* commands. - (follow-mwheel-scroll): New function (Bug#4112). - - * comint.el (comint-adjust-point): New function. - (comint-postoutput-scroll-to-bottom): Use it. - Call follow-comint-scroll-to-bottom for Follow mode buffers. - -2012-05-01 Glenn Morris <rgm@gnu.org> - - * term/AT386.el, term/apollo.el, term/bobcat.el, term/cygwin.el: - * term/iris-ansi.el, term/linux.el, term/lk201.el, term/news.el: - * term/screen.el, term/vt102.el, term/vt125.el, term/vt200.el: - * term/vt201.el, term/vt220.el, term/vt240.el, term/vt300.el: - * term/vt320.el, term/vt400.el, term/vt420.el, term/wyse50.el: - Remove no-byte-compile setting. - -2012-05-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-table-with-quoting): Fix compatibility - all-completions code to not return a number in the last cdr. - -2012-04-30 Leo Liu <sdl.web@gmail.com> - - * ibuf-ext.el (ibuffer-diff-buffer-with-file-1): Avoid buffer - read-only error. - -2012-04-29 Chong Yidong <cyd@gnu.org> - - * follow.el (follow-calc-win-end): Rewrite to handle partial - screen lines correctly (Bug#8390). - (follow-avoid-tail-recenter): Minor cleanup. - -2012-04-28 Stefan Monnier <monnier@iro.umontreal.ca> - - Avoid the obsolete `assoc' package. - * speedbar.el (speedbar-refresh): Avoid adelete. - (speedbar-file-lists): Simplify and avoid aput. - * man.el (Man--sections, Man--refpages): New vars, replacing - Man-sections-alist and Man-refpages-alist. - (Man-build-section-alist, Man-build-references-alist): - Use them; avoid aput. - (Man--last-section, Man--last-refpage): New vars. - (Man-follow-manual-reference): Use them. - Use the `default' arg of completing-read. - (Man-goto-section): Idem. Move prompt to the `interactive' spec. - -2012-04-27 Chong Yidong <cyd@gnu.org> - - * vc/diff.el (diff-sentinel): Go to bob (Bug#10259). - - * startup.el (x-apply-session-resources): New function. - - * term/ns-win.el (ns-initialize-window-system): - * term/w32-win.el (w32-initialize-window-system): - * term/x-win.el (x-initialize-window-system): Use it to properly - set menu-bar-mode and other vars from X resources, even if the - initial frame is not a window-system frame (Bug#2299). - - * subr.el (read-key): Avoid running filter function when setting - up temporary tool bar entries (Bug#9922). - -2012-04-27 Andreas Schwab <schwab@linux-m68k.org> - - * vc/vc-git.el (vc-git-state): Fix regexp matching diff output. - (Bug#11344) - -2012-04-27 Chong Yidong <cyd@gnu.org> - - * select.el (xselect--encode-string): New function, split from - xselect-convert-to-string. - (xselect-convert-to-string): Use it. - (xselect-convert-to-filename, xselect-convert-to-os) - (xselect-convert-to-host, xselect-convert-to-user): Ensure that - returned strings are properly encoded (Bug#11315). - -2012-04-27 Chong Yidong <cyd@gnu.org> - - * simple.el (delete-active-region): Move to killing custom group. - -2012-04-27 Andreas Schwab <schwab@linux-m68k.org> - - * progmodes/which-func.el (which-func-current): Quote % - characters for mode-line processing. - -2012-04-27 Chong Yidong <cyd@gnu.org> - - * xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to - reaching eob (Bug#11286). - -2012-04-27 Eli Zaretskii <eliz@gnu.org> - - * progmodes/gdb-mi.el (gdb-control-level): New variable. - (gdb): Make it buffer-local and init to zero. - (gdb-control-commands-regexp): New variable. - (gdb-send): Don't wrap in "-interpreter-exec console" if - gdb-control-level is positive. Increment gdb-control-level - whenever the command matches gdb-control-commands-regexp, and - decrement it each time the command is "end". (Bug#11279) - -2012-04-27 Martin Rudalics <rudalics@gmx.at> - - * window.el (adjust-window-trailing-edge, enlarge-window) - (shrink-window, window-resize): - * mouse.el (mouse-drag-line): Fix resizing of minibuffer - windows (Bug#11276). - -2012-04-27 Chong Yidong <cyd@gnu.org> - - * progmodes/pascal.el (pascal--extra-indent): Rename from ind, to - fix "missing prefix" warning. All callers changed. - -2012-04-27 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/assoc.el: Move to obsolete/. - -2012-04-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/assoc.el (aget): Fix dynamic-scoping issue (bug#11352). - - * term/ns-win.el (ns-define-service): - * progmodes/pascal.el (pascal-goto-defun): - * progmodes/js.el (js--read-tab): - * progmodes/etags.el (tags-lazy-completion-table): - * emacs-lisp/syntax.el (syntax-propertize-via-font-lock): - * emacs-lisp/ewoc.el (ewoc--wrap): - * emacs-lisp/assoc.el (aput, adelete, amake): - * doc-view.el (doc-view-convert-current-doc): - * vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding. - -2012-04-26 Chong Yidong <cyd@gnu.org> - - * image.el (image-type-from-buffer): Only return supported image - type (Bug#9045). - - * vc/diff-mode.el (diff-beginning-of-hunk): Return a meaningful - value, for symmetry with diff-end-of-hunk. - (diff-split-hunk, diff-find-source-location) - (diff-ignore-whitespace-hunk, diff-refine-hunk): Use it. - (diff-bounds-of-hunk, diff-bounds-of-file): New functions. - (diff-restrict-view, diff-hunk-kill, diff-file-kill): Use them to - compute the relevant hunk or file properly (Bug#6005). - (diff-file-junk-re): Add bzr's "modified file" tag (Bug#6041). - -2012-04-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/vc-mtn.el: - * vc/vc-hg.el: - * vc/vc-git.el: - * vc/vc-dir.el: - * vc/vc-cvs.el: - * vc/vc-bzr.el: - * vc/vc-arch.el: - * vc/vc.el: Replace lexical-let by lexical-binding. - * minibuffer.el (lazy-completion-table): Avoid ((λ ...) ...). - * emacs-lisp/cl-macs.el (lexical-let): Fix use in lexical-binding. - * emacs-lisp/cconv.el (cconv-analyse-form): Warn use of ((λ ...) ...). - -2012-04-26 Chong Yidong <cyd@gnu.org> - - * vc/diff-mode.el (diff-undo): New command (Bug#5302). - (diff-mode-shared-map): Bind it to / and [remap undo]. - - * vc/ediff-wind.el (ediff-setup-windows-default): New function. - (ediff-window-setup-function): Use it as the default, to set up - windows based on whether the current frame is graphical (Bug#2138). - (ediff-choose-window-setup-function-automatically): Make obsolete. - - * vc/ediff-init.el: Always define ediff-pixel-width/height. - -2012-04-25 Stefan Monnier <monnier@iro.umontreal.ca> - - * ffap.el: Remove old code for obsolete package. - (ffap-complete-as-file-p): Remove. - - Use completion-table-with-quoting for comint and pcomplete. - * comint.el (comint--unquote&requote-argument) - (comint--unquote-argument, comint--requote-argument): New functions. - (comint--unquote&expand-filename, comint-unquote-filename): Obsolete. - (comint-quote-filename): Use regexp-opt-charset. - (comint--common-suffix, comint--common-quoted-suffix) - (comint--table-subvert): Remove. - (comint-unquote-function, comint-requote-function): New vars. - (comint--complete-file-name-data): Use them with - completion-table-with-quoting. - * pcmpl-unix.el (pcomplete/scp): Use completion-table-subvert. - * pcomplete.el (pcomplete-arg-quote-list) - (pcomplete-quote-arg-hook, pcomplete-quote-argument): Obsolete. - (pcomplete-unquote-argument-function): Default to non-nil. - (pcomplete-unquote-argument): Simplify. - (pcomplete--common-quoted-suffix): Remove. - (pcomplete-requote-argument-function): New var. - (pcomplete--common-suffix): New function. - (pcomplete-completions-at-point): Use completion-table-with-quoting - and completion-table-subvert. - - * minibuffer.el: Use completion-table-with-quoting for read-file-name. - (minibuffer--double-dollars): Preserve properties. - (completion--sifn-requote): New function. - (completion--file-name-table): Rewrite using it and c-t-with-quoting. - - * minibuffer.el: Add support for completion of quoted/escaped data. - (completion-table-with-quoting, completion-table-subvert): New funs. - (completion--twq-try, completion--twq-all): New functions. - (completion--nth-completion): New function. - (completion-try-completion, completion-all-completions): Use it. - -2012-04-25 Leo Liu <sdl.web@gmail.com> - - * progmodes/python.el (python-pdbtrack-get-source-buffer): - Use compilation-message if available to find real filename. - -2012-04-25 Chong Yidong <cyd@gnu.org> - - * vc/diff-mode.el (diff-setup-whitespace): New function. - (diff-mode): Use it. - - * vc/diff.el (diff-sentinel): - * vc/vc.el (vc-diff-finish): Call diff-setup-whitespace to assign - Whitespace mode variables based on diff style (Bug#8612). - -2012-04-25 Leo Liu <sdl.web@gmail.com> - - * progmodes/python.el (python-send-region): Add suffix .py to the - temp file. - - * files.el (auto-mode-alist): Use javascript-mode instead. - -2012-04-25 Alex Harsanyi <AlexHarsanyi@gmail.com> - - Sync with soap-client repository. Support SOAP simpleType (Bug#10331). - - * net/soap-client.el (soap-resolve-references-for-sequence-type) - (soap-resolve-references-for-array-type): Hack to prevent self - references, see Bug#9. - (soap-parse-envelope): Report the contents of the 'detail' node - when receiving a fault reply. - (soap-parse-envelope): Report the contents of the entire 'detail' node. - - * net/soap-inspect.el (soap-sample-value-for-simple-type) - (soap-inspect-simple-type): New function. - - * net/soap-client.el (soap-simple-type): New struct. - (soap-default-xsd-types, soap-default-soapenc-types) - (soap-decode-basic-type, soap-encode-basic-type): - support unsignedInt and double basic types. - (soap-resolve-references-for-simple-type) - (soap-parse-simple-type, soap-encode-simple-type): New function. - (soap-parse-schema): Parse xsd:simpleType declarations. - - * net/soap-client.el (soap-default-xsd-types) - (soap-default-soapenc-types): Add integer, byte and anyURI types. - (soap-parse-complex-type-complex-content): Use `soap-wk2l' to find - the local name of "soapenc:Array". - (soap-decode-basic-type, soap-encode-basic-type): Support encoding - decoding integer, byte and anyURI xsd types. - -2012-04-25 Chong Yidong <cyd@gnu.org> - - * cus-edit.el (custom-buffer-create-internal): Update header text. - -2012-04-25 Eli Zaretskii <eliz@gnu.org> - - * progmodes/gdb-mi.el (gdb-init-1): Condition Windows-specific - settings on 'system-type', not on 'window-system'. On MS-Windows, - set interactive-mode on in GDB. - -2012-04-24 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/ruby-mode.el: Simplify last change, and cleanup code. - (ruby-syntax-propertize-regexp): Remove. - (ruby-syntax-propertize-function): Split regexp into chunks. - Match following code directly. - -2012-04-24 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el: Handle Cucumber defs (bug#6286). - (ruby-syntax-propertize-regexp): New function. - (ruby-syntax-propertize-function): Use it to handle regexp not preceded - by a special keyword. - - * progmodes/ruby-mode.el: Handle general delimited literals (bug#6286). - (ruby-syntax-general-delimiters-goto-beg) - (ruby-syntax-propertize-general-delimiters): New functions. - (ruby-syntax-propertize-function): Use them to handle GDL. - (ruby-font-lock-keywords): Move old handling of GDL... - (ruby-font-lock-syntactic-keywords): .. to here. - (ruby-calculate-indent): Adjust indentation for GDL. - -2012-04-24 Michael Albinus <michael.albinus@gmx.de> - - * notifications.el (top): Remove unneeded declarations. - (notifications-specification-version): Change to "1.2". - (notifications-interface, notifications-notify-method) - (notifications-close-notification-method): Fix docstring. - (notifications-get-capabilities-method): New defconst. - (notifications-notify): Add :action-items, :resident and - :transient hints. Change "image_data" to "image-data" and - "image_path" to "image-path". - (notifications-get-capabilities): New defun. - -2012-04-24 Leo Liu <sdl.web@gmail.com> - - * progmodes/python.el: Move hideshow setup to the end. - -2012-04-24 Martin Rudalics <rudalics@gmx.at> - - * window.el (handle-select-window): Clear echo area since this is - no more done by read_char (Bug#11304). - -2012-04-24 Stefan Monnier <monnier@iro.umontreal.ca> - - * ibuffer.el (ibuffer-mode-map): Bind `/ m' to filter-used-mode - and `/ M' to filter-derived-mode. - * ibuf-ext.el (ibuffer-list-buffer-modes): Simplify; avoid add-to-list. - (ibuffer-filter-by-mode, ibuffer-filter-by-used-mode) - (ibuffer-mark-by-mode): Use default rather than initial-input. - (ibuffer-filter-by-derived-mode): Autoload and require-match. - -2012-04-24 Ivan Andrus <darthandrus@gmail.com> (tiny change) - - * ibuf-ext.el (ibuffer-list-buffer-modes): Add `include-parents' arg. - (ibuffer-filter-by-derived-mode): New filter. - * ibuffer.el (ibuffer-mode-map): Bind to `/ w'. - -2012-04-23 Andreas Politz <politza@fh-trier.de> - - * subr.el (accept-change-group): Fix arg usage (Bug#6095). - -2012-04-23 Chong Yidong <cyd@gnu.org> - - * cus-edit.el (customize-apropos, customize-apropos-options): - Disable matching of non-option variables (Bug#11176). - (customize-option, customize-option-other-window) - (customize-changed-options): Doc fix. - (customize-apropos-options, customize-apropos-faces) - (customize-apropos-groups): Use apropos-read-pattern (Bug#11124). - - * apropos.el (apropos-read-pattern): Make prompt less cryptic. - Fix word list splitting (Bug#11132). - (apropos-symbol, apropos-keybinding, apropos-label) - (apropos-property, apropos-function-button) - (apropos-variable-button, apropos-misc-button): New faces. - (apropos-symbol-face, apropos-keybinding-face) - (apropos-label-face, apropos-property-face, apropos-match-face): - Variables removed (Bug#8396). - (apropos-library-button, apropos-format-plist, apropos-print) - (apropos-print-doc, apropos-describe-plist): Callers changed. - -2012-04-23 Michael Albinus <michael.albinus@gmx.de> - - * net/xesam.el (xesam-mode-map): Use let-bound map in - initialization. (Bug#11292) - -2012-04-23 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - Preserve ispell session localwords when switching back to - original buffer. - - * textmodes/ispell.el (ispell-buffer-session-localwords): - New buffer-local variable to hold buffer session localwords. - (ispell-kill-ispell): Add option 'clear to delete session - localwords. - (ispell-command-loop, ispell-change-dictionary) - (ispell-buffer-local-words): Preserve session localwords when - needed. - - * textmodes/flyspell.el (flyspell-process-localwords) - (flyspell-do-correct): Preserve session localwords when needed. - -2012-04-23 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-insert-word) Remove unneeded function - using obsolete `translation-table-for-input'. - (ispell-word, ispell-process-line, ispell-complete-word): - Use plain `insert' instead of removed `ispell-insert-word'. - -2012-04-22 Chong Yidong <cyd@gnu.org> - - * cus-edit.el (custom-variable-menu) - (custom-variable-reset-saved, custom-face-menu) - (custom-face-reset-saved): If there is no saved value, make the - "reset-saved" operation bring back the default (Bug#9509). - (custom-face-state): Properly detect themed faces. - - * faces.el (face-spec-set): Stop supporting deprecated form of - third arg. - -2012-04-22 Michael Albinus <michael.albinus@gmx.de> - - Move functions from C to Lisp. Make non-blocking method calls - the default. Implement further D-Bus standard interfaces. - - * net/dbus.el (dbus-message-internal): Declare function. - Remove unneeded function declarations. - (defvar dbus-message-type-invalid, dbus-message-type-method-call) - (dbus-message-type-method-return, dbus-message-type-error) - (dbus-message-type-signal): Declare variables. Remove local - definitions. - (dbus-interface-dbus, dbus-interface-peer) - (dbus-interface-introspectable, dbus-interface-properties) - (dbus-path-emacs, dbus-interface-emacs, dbus-return-values-table): - Adapt docstring. - (dbus-interface-objectmanager): New defconst. - (dbus-call-method, dbus-call-method-asynchronously) - (dbus-send-signal, dbus-method-return-internal) - (dbus-method-error-internal, dbus-register-service) - (dbus-register-signal, dbus-register-method): New defuns, moved - from dbusbind.c - (dbus-call-method-handler, dbus-setenv) - (dbus-get-all-managed-objects, dbus-managed-objects-handler): - New defuns. - (dbus-call-method-non-blocking): Make it an obsolete function. - (dbus-unregister-object, dbus-unregister-service) - (dbus-handle-event, dbus-register-property) - (dbus-property-handler): Obey the new structure of - `bus-registered-objects'. - (dbus-introspect): Use `dbus-call-method'. Use a timeout. - (dbus-get-property, dbus-set-property, dbus-get-all-properties): - Use `dbus-call-method'. - -2012-04-22 Chong Yidong <cyd@gnu.org> - - * cus-edit.el (custom-commands, custom-reset-menu) - (Custom-reset-standard): Tweak labels. - (custom-reset-button-menu): Change default to t. - (custom-buffer-create-internal): For the custom-reset-button-menu - case, put the revert button first. - (custom-group-subtitle): New face. - (custom-group-value-create): Align docstring to a specific column. - - * wid-edit.el (widget-documentation-link-add): Don't handle - indentation in this function. - (widget-documentation-string-indent-to): New function. - (widget-documentation-string-value-create): Use it. - - * autorevert.el (auto-revert): - * epg-config.el (epg): - * ibuffer.el (ibuffer): - * mpc.el (mpc): - * ses.el (ses): - * eshell/eshell.el (eshell): - * net/ange-ftp.el (ange-ftp): - * progmodes/ebnf2ps.el (postscript): - * progmodes/flymake.el (flymake): - * progmodes/prolog.el (prolog): - * progmodes/verilog-mode.el (verilog-mode): - * progmodes/which-func.el (which-func): - * term/xterm.el (xterm): - * textmodes/picture.el (picture): - * textmodes/tildify.el (tildify): - * vc/ediff.el (ediff): Tweak defgroups to improve presentation in - customization buffers. - -2012-04-22 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): - Adding a ) can hide the resulting (..) from searches. Fix it. - Bound the backward search to the position of the existing (. - -2012-04-21 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/verilog-mode.el (verilog-mode): Check whether - which-func-modes is t before adding verilog-mode. - Reported by Andy Moreton <andrewjmoreton@gmail.com>. - -2012-04-21 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc): Avoid error when process-contact returns t. - -2012-04-21 Michael Vehrs <Michael.Burschik@gmx.de> - - * woman.el: Add support for "T{ T}" tbl syntax, and fix the - filling of the last column of a table (Bug#5635). - (woman-find-next-control-line): New arg, specifying an additional - regexp component for the control line. - (woman2-roff-buffer): Use it. - (woman-break-table): New function. - (woman2-TS): Use it. - -2012-04-21 Chong Yidong <cyd@gnu.org> - - * woman.el (woman-set-buffer-display-table, woman-decode-region) - (woman-horizontal-escapes, woman-negative-vertical-space) - (woman-tab-to-tab-stop, woman2-fc, woman2-TS) - (WoMan-warn-ignored): Use ?\s instead of ?\ . - -2012-04-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-file-name-table): Complete user names. - -2012-04-20 Leo Liu <sdl.web@gmail.com> - - * font-lock.el (lisp-font-lock-keywords-2): Add pcase, pcase-let - and pcase-let*. - -2012-04-20 Chong Yidong <cyd@gnu.org> - - * server.el (server-execute): Respect initial-buffer-choice if it - is a string and there are no files to open (Bug#2825). - (server-create-window-system-frame, server-create-tty-frame): - Don't switch buffers here. - (server-process-filter): Only try to open a window system frame if - compiled with graphical support (Bug#8314). - -2012-04-20 Dan Nicolaescu <dann@gnu.org> - - * battery.el (battery-echo-area-format): Display remaining time - for sysfs backend too (Bug#11269). - (battery-linux-sysfs): Fix conditional for the charge. - -2012-04-20 Chong Yidong <cyd@gnu.org> - - * progmodes/gdb-mi.el (gdb): Revert previous change. - (gdb-inferior-io--init-proc): New function. - (gdb-init-1): Use it. - (gdb-inferior-io-sentinel): New sentinel for the gdb-inferior pty, - responsible for allocating a new pty and hooking it to gdb when - the old pty gets an EIO due to process exit. - (gdb-delchar-or-quit): New command. Bind it in gdb-mi buffers. - (gdb-tooltip-print): Don't use obsolete tooltip-use-echo-area. - (gdb-inferior-io--maybe-delete-pty): Move into gdb-reset. - -2012-04-20 Eli Zaretskii <eliz@gnu.org> - - * window.el (window-min-size, window-sizable, window-min-delta) - (window-max-delta, window--resizable, window-resizable) - (window-total-size, window-full-height-p, window-full-width-p) - (window-in-direction, window--resize-mini-window, window-resize) - (window--resize-child-windows-normal) - (window--resize-child-windows, window--resize-siblings) - (window--resize-this-window, adjust-window-trailing-edge) - (enlarge-window, shrink-window): Doc fixes. - -2012-04-20 Chong Yidong <cyd@gnu.org> - - * progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty): - New function to call delete-process on the gdb-inferior buffer's pty. - (gdb-reset): Use it, instead of relying on kill-buffer to kill the - pty process (Bug#11273). - (gdb-update): New arg to suppress talking to the gdb process. - (gdb-done-or-error): Use it. - (gdb-stopped-functions): Rename from gdb-stopped-hooks. - (gdb): Call gdb-inferior-io--maybe-delete-pty as a workaround for - sentinel not being called. - - * comint.el (make-comint-in-buffer, comint-exec): Doc fix. - - * progmodes/grep.el (grep, rgrep): Doc fix (Bug#11268). - -2012-04-20 Glenn Morris <rgm@gnu.org> - - * net/network-stream.el (open-network-stream): Doc fix. - -2012-04-20 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/tabulated-list.el (tabulated-list-print): Fix typos. - -2012-04-20 Alan Mackenzie <acm@muc.de> - - Ensure searching for keywords is case sensitive. - - * progmodes/cc-cmds.el (c-electric-brace, c-electric-lt-gt) - (c-electric-paren, c-beginning-of-defun, c-end-of-defun) - (c-defun-name, c-mark-function, c-cpp-define-name) - (c-comment-indent, c-scan-conditionals, c-indent-defun) - (c-context-line-break): Bind case-fold-search to nil. - - * progmodes/cc-mode.el (c-font-lock-fontify-region): - Bind case-fold-search to nil. - -2012-04-20 Chong Yidong <cyd@gnu.org> - - * mail/sendmail.el (mail-bury): Call return action with the right - Rmail buffer (Bug#11242). - - * server.el (server-process-filter): Handle corner case where both - tty and nowait options are present (Bug#11102). - -2012-04-20 Eli Zaretskii <eliz@gnu.org> - - * version.el (emacs-bzr-version, emacs-bzr-get-version): Doc fixes. - (top level): Put into the executable the ident-style '$Id:' tag on - windows-nt as well. - -2012-04-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * electric.el (electric-indent-post-self-insert-function): Check that - electric-indent-mode is enabled in current buffer. - -2012-04-19 Juanma Barranquero <lekktu@gmail.com> - - * imenu.el (imenu-progress-message): Restore; it is "used" in - erc/erc-imenu.el and net/snmp-mode.el. - -2012-04-19 Juanma Barranquero <lekktu@gmail.com> - - * avoid.el (mouse-avoidance-mode): Mark unused arg. - (mouse-avoidance-nudge-mouse): Remove unused binding. - - * bs.el (bs-toggle-readonly): Call `toggle-read-only' interactively. - - * descr-text.el (describe-char): - * progmodes/python.el (python-describe-symbol): - Don't call `toggle-read-only', set `buffer-read-only'. - - * imenu.el (imenu-default-goto-function): Mark unused args. - (imenu-progress-message): Remove obsolete macro; all callers changed. - - * subr.el (keymap-canonicalize): Remove unused binding. - (read-passwd): Mark unused arg. - - * tutorial.el (tutorial--display-changes): Remove unused binding. - (tutorial--save-tutorial-to): Remove unused variable. - - * emacs-lisp/package.el (define-package, package-menu-mark-delete) - (package-menu-mark-install, package-menu-mark-unmark): Mark unused args. - (package-generate-autoloads, package-menu--generate) - (package-menu--find-upgrades): Remove unused bindings. - - * emulation/cua-rect.el (cua-restrict-regexp-rectangle) - (cua-restrict-prefix-rectangle): Doc fixes. Remove unused bindings. - (cua--mouse-ignore, cua--delete-rectangle, cua--extract-rectangle) - (cua--indent-rectangle, cua-open-rectangle, cua-close-rectangle) - (cua-blank-rectangle, cua-string-rectangle, cua-replace-in-rectangle) - (cua-incr-rectangle, cua-sequence-rectangle, cua--convert-rectangle-as) - (cua--rectangle-aux-replace, cua--left-fill-rectangle) - (cua-scroll-rectangle-up, cua-scroll-rectangle-down) - (cua-delete-char-rectangle): Mark unused args. - (cua-align-rectangle): Remove unused binding. - - * mail/rmail.el (compilation--message->loc) - (epa--find-coding-system-for-mime-charset): Declare. - - * net/dbus.el (dbus-register-service): Declare. - (dbus-name-owner-changed-handler): Remove unused binding. - - * nxml/nxml-mode.el (nxml-electric-slash, nxml-in-mixed-content-p) - (nxml-compute-indent-from-matching-start-tag): Remove unused variables. - (nxml-scan-backward-within): Mark unused arg. - (nxml-dynamic-markup-word): Remove unused binding. - - * mouse.el (mouse-menu-major-mode-map): - * emacs-lisp/authors.el (authors-scan-change-log) - (authors-add-to-author-list): - * emacs-lisp/avl-tree.el (avl-tree--enter-balance): - * emacs-lisp/smie.el (smie-auto-fill): - * mail/sendmail.el (mail-bury): - * mail/unrmail.el (unrmail): - * net/tls.el (open-tls-stream): - * textmodes/picture.el (picture-mouse-set-point): - Remove unused bindings. - -2012-04-19 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-action-password): Let-bind - `enable-recursive-minibuffers' to t. - -2012-04-18 Sam Steingold <sds@gnu.org> - - * progmodes/gud.el (gud-key-prefix): Use :type 'key-sequence - instead of 'string to accommodate values like [f11]. - Always use `vconcat' instead of `concat' on it, like in `gud-def'. - * progmodes/gdb-mi.el: Likewise. - -2012-04-18 Leo Liu <sdl.web@gmail.com> - - * abbrev.el (edit-abbrevs): Move point to the abbrev table of - current buffer. - (prepare-abbrev-list-buffer): Enter edit-abbrevs-mode only if - LOCAL is nil. - -2012-04-18 Chong Yidong <cyd@gnu.org> - - * simple.el (line-move): Use forward-line if in batch mode - (Bug#11053). - -2012-04-18 Christopher Schmidt <christopher@ch.ristopher.com> - - * files.el (after-find-file): Do not try to add a final newline if - the buffer is read-only (Bug#11156). - -2012-04-17 Richard Stallman <rms@gnu.org> - - * mail/rmail.el (rmail-start-mail): - Pass (rmail-mail-return...) for the return-action. - Pass (rmail-yank-current-message...) for the yank-action. - (rmail-yank-current-message): New function. - (rmail-mail): Pass the Rmail buffer, not view buffer, for replybuffer. - (rmail-reply): Likewise. - (rmail-forward): Pass the Rmail buffer, not nil, for replybuffer. - - * mail/sendmail.el (mail-bury): Choose the first rmail-mode - buffer, not the last. Reject temp buffers. Use the rmail-mode - buffer, not newbuf. - -2012-04-17 Juanma Barranquero <lekktu@gmail.com> - - * server.el (server-ensure-safe-dir): Simplify. - -2012-04-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/smie.el: Provide smarter auto-filling. - (smie-auto-fill): New function. - (smie-setup): Use it. - - * newcomment.el (comment-choose-indent): Obey comment-inline-offset. - -2012-04-17 Philipp Haselwarter <philipp.haselwarter@gmx.de> (tiny change) - - * newcomment.el (comment-inline-offset): New custom var (bug#11090). - (comment-indent): Use it. - -2012-04-17 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * ses.el: The overall change is to add cell renaming, that is - setting fancy names for cell symbols other than name matching - "\\`[A-Z]+[0-9]+\\'" regexp . - (ses-localvars): Add ses--renamed-cell-symb-list. - (ses-create-cell-variable): New defun. - (ses-destroy-cell-variable-range): Respect ses--numrows, ses--numcols. - (ses-relocate-formula): Relocate formulas only for cells the - symbols of which are not renamed, i.e. symbols whose names do not - match regexp "\\`[A-Z]+[0-9]+\\'". - (ses-relocate-all): Relocate values only for cells the symbols of - which are not renamed. - (ses-load): Create cells variables as the (ses-cell ...) are read, - in order to check row col consistency with cell symbol name only - for cells that are not renamed. - (ses-replace-name-in-formula): New defun. - (ses-rename-cell): New defun. - -2012-04-17 Peter Oliver <bzr@mavit.org.uk> (tiny change) - - * progmodes/perl-mode.el (perl-indent-parens-as-block): - New option (bug#11118). - (perl-calculate-indent): Respect it. - -2012-04-17 Glenn Morris <rgm@gnu.org> - - * dired-aux.el (dired-mark-read-string): Doc fix. - -2012-04-17 Dmitry Antipov <dmantipov@yandex.ru> - - * dired-aux.el (dired-mark-read-string): Offer optional completion. - (dired-do-chxxx): Complete chown, chgrp over users, groups. (Bug#7900) - -2012-04-17 Glenn Morris <rgm@gnu.org> - - * mouse.el (mouse-drag-track): - * speedbar.el (speedbar-frame-mode): - Use auto-hscroll-mode rather than the alias automatic-hscrolling. - -2012-04-16 Leo Liu <sdl.web@gmail.com> - - * progmodes/python.el: Trivial cleanup. - -2012-04-16 Glenn Morris <rgm@gnu.org> - - * vc/vc.el (vc-string-prefix-p): - * vc/pcvs-util.el (cvs-string-prefix-p): - * textmodes/tex-mode.el (latex-string-prefix-p, tex-string-prefix-p): - * mpc.el (mpc-string-prefix-p): - Make all of these into obsolete aliases for string-prefix-p. - Update callers. - * vc/pcvs.el, vc/vc-dispatcher.el, vc/vc-dir.el: Update callers. - - * textmodes/two-column.el: Move custom options to the start. - (frame-width): Remove compat definition. - (2C-associate-buffer, 2C-dissociate): - Use with-current-buffer rather than save-excursion. - (2C-dissociate): Force a mode-line update. - (2C-autoscroll): Use ignore-errors. - - * emacs-lisp/eieio-opt.el (describe-class, describe-generic): - Autoload trivia. - - * emacs-lisp/cl-extra.el (*random-state*): - Remove unnecessary declaration. - - * calendar/cal-tex.el (cal-tex-end-document): Trivial clarification. - - * play/cookie1.el (cookie-snarf): - Give an explicit error if input file cannot be read. - - * play/yow.el (yow-file): Use expand-file-name rather than concat. - - * progmodes/perl-mode.el (c-macro-expand): - Remove unnecessary autoload (it is in loaddefs.el). - - * textmodes/picture.el (picture-desired-column) - (picture-update-desired-column): Convert comments to doc-strings. - (picture-substitute): Remove function. - (picture-mode-map): Initialize in the defvar. - - * woman.el: Remove eval-after-load for tar-mode. - * tar-mode.el (tar-mode-map): Add woman binding and menu entry. - (woman-tar-extract-file): Autoload it. - - * frame.el (automatic-hscrolling): Make this alias obsolete. - -2012-04-12 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-set-spellchecker-params): Post-process - `ispell-dictionary-alist' to use [:alpha:] and utf-8 if possible. - (ispell-dictionary-base-alist): Revert to original XEmacs - friendly version for default. [:alpha:] will be added in - `ispell-set-spellchecker-params' if needed. - -2012-04-16 Chong Yidong <cyd@gnu.org> - - * image.el (imagemagick--file-regexp): New variable. - (imagemagick-register-types): Use it. - (imagemagick-types-inhibit): Add :set function. Allow new value - of t to inhibit all types. - - * emacs-lisp/regexp-opt.el (regexp-opt-charset): Avoid cl macros, - so we can preload it. - - * loadup.el (fboundp): Preload regexp-opt, needed by - imagemagick-register-types. - -2012-04-15 Chong Yidong <cyd@gnu.org> - - * frame.el (scrolling): Remove nearly unused customization group. - - * scroll-all.el (scroll-all-mode): Move to windows group. - -2012-04-15 Chong Yidong <cyd@gnu.org> - - * bindings.el (goto-map): Bind goto-char to M-g c (Bug#11240). - -2012-04-15 Stefan Monnier <monnier@iro.umontreal.ca> - - Avoid the use of ((lambda ...) ...) in lexical-binding code. - * emacs-lisp/easy-mmode.el (define-minor-mode): Use funcall (bug#11241). - -2012-04-15 Glenn Morris <rgm@gnu.org> - - * simple.el (process-file-side-effects): Doc fix. - -2012-04-15 Glenn Morris <rgm@gnu.org> - - * international/mule-cmds.el (set-language-environment): Doc fix. - -2012-04-14 Juanma Barranquero <lekktu@gmail.com> - - * server.el (server-auth-key, server-generate-key): Doc fixes. - (server-get-auth-key): Doc fix. Use `string-match-p'. - (server-start): Reflow docstring. - -2012-04-14 Lars Ingebrigtsen <larsi@gnus.org> - - * server.el (server-generate-key): `called-interactively-p' - requires a parameter. - -2012-04-14 Michal Nazarewicz <mina86@mina86.com> - - * server.el (server-auth-key): New variable. - (server-generate-key, server-get-auth-key): New function. - (server-start): Use the new variable and functions to allow - setting a permanent server key (bug#9423). - -2012-04-14 Leo Liu <sdl.web@gmail.com> - - * vc/diff-mode.el (diff-file-prev/next): Fix typo. - -2012-04-14 Paul Eggert <eggert@cs.ucla.edu> - - Spelling fixes. - * hexl.el (hexl-rulerize): Rename from hexl-rulerise, since - Emacs uses American spelling. - -2012-04-14 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lock.el (emacs-lock-locked-buffer-functions): New hook. - (emacs-lock--exit-locked-buffer): Return the locked buffer. Doc fix. - (emacs-lock--kill-emacs-hook, emacs-lock--kill-emacs-query-functions) - (emacs-lock--kill-buffer-query-functions): Run new hook. (Bug#11017) - -2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/which-func.el (which-func-modes): Change default. - -2012-04-14 Kim F. Storm <storm@cua.dk> - - * emulation/cua-base.el (cua-exchange-point-and-mark): Just call - exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191). - -2012-04-14 Chong Yidong <cyd@gnu.org> - - * custom.el (custom-theme-set-variables): Doc fix. - -2012-04-14 Glenn Morris <rgm@gnu.org> - - * international/mule.el (set-auto-coding-for-load): Doc fix. - -2012-04-14 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): Make - imenu work again for Objective C Mode. Correct the *-index values, - these having been disturbed by a previous change in 2011-08. - - * progmodes/cc-engine.el (c-before-change-check-<>-operators): - Correct two search limits. - -2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * startup.el (command-line-1): Inhibit splash from daemon (bug#10996). - -2012-04-14 Andreas Schwab <schwab@linux-m68k.org> - - * international/characters.el: Fix sorting. - -2012-04-14 Eli Zaretskii <eliz@gnu.org> - - * international/characters.el: Add more missing Latin case pairs. - -2012-04-14 Glenn Morris <rgm@gnu.org> - - * files.el (dir-locals-set-class-variables): Doc fix. - -2012-04-14 Eli Zaretskii <eliz@gnu.org> - - * international/characters.el: Add set-case-syntax-pair call for - LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case - counterpart. (Bug#11209) - - * simple.el (shell-command-on-region): Doc fix. (Bug#11208) - -2012-04-14 Glenn Morris <rgm@gnu.org> - - * calendar/holidays.el (calendar-check-holidays): Doc fix. - -2012-04-14 Eli Zaretskii <eliz@gnu.org> - - * textmodes/ispell.el (ispell-dictionary-base-alist): - Add data for Hebrew. - -2012-04-14 Chong Yidong <cyd@gnu.org> - - * net/rcirc.el (rcirc-cmd-quit): - Revert 2012-03-18 change (Bug#11192). - -2012-04-14 Glenn Morris <rgm@gnu.org> - - * pcmpl-rpm.el (pcomplete/rpm): Handle -qf. - -2012-04-14 Eli Zaretskii <eliz@gnu.org> - - * minibuffer.el (completion-in-region-mode-map): - Bind completion-help-at-point to M-? rather than ?. (Bug#11182) - -2012-04-13 Vivek Dasmohapatra <vivek@etla.org> - - * hexl.el (hexl-insert-char): Make display sizes other than 16 work. - -2012-04-13 Masatake YAMATO <yamato@redhat.com> - - * minibuffer.el (minibuffer-local-filename-syntax): New variable - to allow `C-M-f' and `C-M-b' to move to the nearest path - separator (bug#9511). - -2012-04-13 Lars Ingebrigtsen <larsi@gnus.org> - - * avoid.el: Require cl when compiling. And also move the - `provide' to the end. - -2012-04-13 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * avoid.el (mouse-avoidance-banish-position): New variable. - (mouse-avoidance-banish-destination): Use it (bug#10165). - -2012-04-13 Leo Liu <sdl.web@gmail.com> - - * progmodes/which-func.el (which-func-modes): Add objc-mode. - -2012-04-13 Ken Brown <kbrown@cornell.edu> - - * net/browse-url.el (browse-url-file-url): Remove Cygwin hack; - this is no longer needed now that cygstart understands file:// URLs. - (browse-url-filename-alist): For the same reason, don't modify - file:// URLs on Cygwin. - -2012-04-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * emulation/cua-base.el (cua--pre-command-handler-1): Don't activate - the region on shift if the binding is already shifted (bug#11221). - -2012-04-12 Glenn Morris <rgm@gnu.org> - - * mail/mailpost.el: Move to obsolete/. - -2012-04-12 Drew Adams <drew.adams@oracle.com> - - * imenu.el (imenu--generic-function): Ignore invisible definitions - (bug#10123). - -2012-04-12 Vivek Dasmohapatra <vivek@etla.org> - - * hexl.el (hexl-bits): New variable. - (hexl-options): Mention the variable in the doc string. - (hexl-rulerise, hexl-line-displen): New functions. - (hexl-mode): Mention the new variable. - (hexl-mode, hexl-current-address, hexl-current-address): - Use the displen. - (hexl-ascii-start-column): New function. - (hexl-address-to-marker, hexl-beginning-of-line, hexl-options) - (hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941). - -2012-04-12 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/flyspell.el (flyspell-large-region): For hunspell, use - '("-i" ENCODING), in 2 separate command-line arguments, to specify - the encoding, as expected by hunspell. - -2012-04-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * battery.el (battery--linux-sysfs-regexp): New const. - (battery-status-function): Use it. Remove yeeloong special case. - (battery-yeeloong-sysfs): Remove. - (battery-echo-area-format): Remove yeeloong special case. - -2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil. - Reported by Noah Friedman. - - * subr.el (read-passwd): Use read-string. - -2012-04-11 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * vcursor.el (vcursor-move): Increase the priority of the overlay - (bug#9663). - -2012-04-11 Deniz Dogan <deniz.a.m.dogan@gmail.com> - - * net/rcirc.el (rcirc-kill-channel-buffers): New variable. - (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128). - -2012-04-11 William Stevenson <yhvh2000@gmail.com> - - * textmodes/artist.el (artist-mode): Convert artist-mode to use - define-minor-mode (bug#10760). - -2012-04-11 Wolfgang Jenkner <wjenkner@inode.at> (tiny change) - - * progmodes/grep.el (rgrep): Tweak the find command line so - that directories matching `grep-find-ignored-files' won't be - pruned (bug#10351). - -2012-04-11 Chong Yidong <cyd@gnu.org> - - * startup.el (command-line): Remove support for long-obsolete - variable font-lock-face-attributes. - -2012-04-11 Glenn Morris <rgm@gnu.org> - - * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug. - -2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * window.el (window--state-get-1): Obey window-point-insertion-type. - -2012-04-11 Lennart Borgman <lennart.borgman@gmail.com> - - * emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes - to previous function when point is on the first character of a - function. Take care of that in `narrow-to-defun' (bug#6157). - -2012-04-11 Glenn Morris <rgm@gnu.org> - - * vc/vc-bzr.el (vc-bzr-status): Handle all errors, - not just file-errors. - - * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove. - (vc-bzr-sha1): Use internal sha1. - -2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954). - -2012-04-10 Sébastien Gross <seb@chezwam.org> (tiny change) - - * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments - that start in the middle of the line (bug#10496). - -2012-04-10 Dan Nicolaescu <dann@gnu.org> - - * battery.el (battery-linux-proc-acpi): Only one battery is - discharged at a time, but that seems to confuse battery.el when - computing `rate-type' for the battery not being discharged - (bug#10332). - -2012-04-10 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/autoload.el (autoload-make-program): Remove, unused. - - * international/quail.el: Use dolist and simplify. - (quail-define-package, quail-update-keyboard-layout) - (quail-define-rules): Use dolist. - (quail-insert-kbd-layout, quail-get-translation): CSE. - - * tmm.el: Use dolist, remove left over hook. - (tmm-prompt, tmm-define-keys, tmm-shortcut, tmm-get-keybind): - Use dolist. - (calendar-load-hook): Don't mess with it. - - * vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): - Use derived-mode-p. Run the diff asynchronously. - -2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * obsolete/mouse-sel.el: Add an Obsolete-since header. - -2012-04-10 Juanma Barranquero <lekktu@gmail.com> - - * misc.el: Display absolute path of loaded DLLs (bug#10424). - (list-dynamic-libraries--loaded): New function. - (list-dynamic-libraries--refresh): Use it. - -2012-04-10 Nathan Weizenbaum <nweiz@google.com> - - * progmodes/python.el (python-fill-paragraph): - Make python-fill-region in a multiline string work when font-lock is - disabled (bug#7018). - -2012-04-10 Laimonas VÄ—bra <laimonas.vebra@gmail.com> (tiny change) - - * language/european.el (cp775): Add oem/legacy (en)coding on - DOS/MS Windows for the Baltic languages. There are still plenty - of texts written in this encoding/codepage (bug#6519). - -2012-04-10 Glenn Morris <rgm@gnu.org> - - * cus-start.el (eol-mnemonic-unix, eol-mnemonic-dos, eol-mnemonic-mac): - Add :standard values, reducing "rogue" customs in emacs -Q a bit more. - -2012-04-10 Florian Adamsky <florian@adamsky.it> (tiny change) - - * recentf.el (recentf-dialog-mode-map): Add two keybindings for - next-line "n" and previous-line "p" in order to make recentf more - consistent with ibuffer, dired or org-mode (bug#9387). - -2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * image.el (put-image): Return the overlay created instead of the - optional input string (bug#7834). Note that this may break code - that is (for some reason or other) depending on `put-image' - returning the string. - - * mouse-sel.el (mouse-sel-mode): Mark as obsolete (bug#6174). - - * simple.el (zap-to-char): Allow zapping using input methods - (bug#1580). - - * textmodes/fill.el (fill-region): Leave point and mark where they - were before filling (bug#5399). - -2012-04-09 Glenn Morris <rgm@gnu.org> - - * version.el (emacs-bzr-get-version): - Handle lightweight checkouts of local branches. - -2012-04-09 Andreas Schwab <schwab@linux-m68k.org> - - * international/characters.el: Recover lost case pairs. (Bug#11209) - -2012-04-09 Chong Yidong <cyd@gnu.org> - - * custom.el (custom-variable-p): Return nil for non-symbol - arguments instead of signaling an error. - (user-variable-p): Obsolete alias for custom-variable-p. - - * apropos.el (apropos-variable): - * files-x.el (read-file-local-variable): - * simple.el (set-variable): - * woman.el (woman-mini-help): - * emacs-lisp/byte-opt.el (side-effect-free-fns): Callers changed. - -2012-04-09 Glenn Morris <rgm@gnu.org> - - * startup.el (normal-top-level): Don't look for leim-list.el - in places where it will not be found. (Bug#910) - - * international/mule-cmds.el (set-default-coding-systems): - * files.el (normal-mode): - Remove guarded calls to ucs-set-table-for-input. (Bug#9821) - This function was removed with ucs-tables.el in 2008. - -2012-04-08 Eli Zaretskii <eliz@gnu.org> - - * textmodes/ispell.el (ispell-check-version): For hunspell, set - ispell-encoding8-command to "-i", without a trailing space. - (ispell-start-process): For hunspell, use '("-i" ENCODING), in 2 - separate command-line arguments, to specify the encoding, since - that's how hunspell expects it. - -2012-04-08 Glenn Morris <rgm@gnu.org> - - * loadup.el: Load bindings before cus-start. - This reduces somewhat the number of "rogue" settings in emacs -Q. - -2012-04-07 Glenn Morris <rgm@gnu.org> - - * version.el (emacs-bzr-get-version): New function. - (emacs-bzr-version): New variable. - * loadup.el (emacs-bzr-version): Set it. (Bug#8054) - * mail/emacsbug.el (report-emacs-bug): Include bzr version. - -2012-04-07 Eli Zaretskii <eliz@gnu.org> - - * international/uni-bidi.el, international/uni-category.el: - * international/uni-combining.el, international/uni-decimal.el: - * international/uni-decomposition.el, international/uni-digit.el: - * international/uni-lowercase.el, international/uni-mirrored.el: - * international/uni-name.el, international/uni-numeric.el: - * international/uni-titlecase.el, international/uni-uppercase.el: - Update for Unicode 6.1. - -2012-04-07 Eli Zaretskii <eliz@gnu.org> - - * term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs. - -2012-04-05 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * window.el (shrink-window): Mention the `window-min-height' - variable in the doc string. - -2012-04-05 Bastien Guerry <bzg@altern.org> - - * color.el (color-lighten-name): Fix typo. - -2012-04-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * server.el (server--on-display-p): New function. - (server--on-display-p): Use it. - -2012-04-04 Gábor Vida <vidagabor@gmail.com> (tiny change) - - * ido.el (ido-wide-find-dirs-or-files): Use file-name-absolute-p - (bug#11145). - -2012-04-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * comint.el (comint--common-quoted-suffix): Check string boundary - before comparing (bug#11158). - * pcomplete.el (pcomplete--common-quoted-suffix): Idem. - -2012-04-04 Chong Yidong <cyd@gnu.org> - - * minibuffer.el (completion-extra-properties): Doc fix. - - * subr.el (delayed-warnings-hook): Doc fix. - -2012-04-04 Daiki Ueno <ueno@unixuser.org> - - * epa.el (epa--select-keys): Bind C-c C-c to finish the key - selection (Bug#11159). - (epa-insert-keys): Inform that the default public key will be - exported if no key is selected. - -2012-04-04 Richard Stallman <rms@gnu.org> - - * mail/emacsbug.el (report-emacs-bug): Bind inhibit-read-only. - -2012-04-03 Chong Yidong <cyd@gnu.org> - - * mail/sendmail.el (mail-mode-map): Bind C-c C-i to - mail-insert-file, not its obsolete alias mail-attach-file. - -2012-04-03 Michael Albinus <michael.albinus@gmx.de> - - * notifications.el (notifications-notify): Fix docstring. - -2012-04-02 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/authors.el (authors-aliases): Another addition. - -2012-04-02 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-gvfs.el (tramp-gvfs-send-command): Apply - `tramp-compat-call-process' instead of `tramp-local-call-process'. - Reported by Magnus Henoch <magnus.henoch@gmail.com>. - -2012-04-01 Chong Yidong <cyd@gnu.org> - - * files.el (file-in-directory-p): Rename from file-subdir-of-p. - Handle root directory properly. - (copy-directory): Caller changed. - - * dired-aux.el (dired-copy-file-recursive, dired-create-files): - * net/tramp.el (tramp-file-name-for-operation): Callers changed. - -2012-03-31 Glenn Morris <rgm@gnu.org> - - * term/xterm.el (xterm-extra-capabilities): Doc fix. - - * language/indian.el ("Devanagari"): Fix typo. (Bug#11103) - - * calendar/calendar.el (calendar-window-list) - (calendar-hide-window): Restore. (Bug#11140) - (calendar-exit): Use calendar-window-list, calendar-hide-window again. - - * emacs-lisp/edebug.el (edebug-unwrap-results): Doc fix. - -2012-03-30 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * dired-aux.el (dired-copy-file-recursive, dired-create-files): - Check if file is a symlink (Bug#10489). - - * files.el (copy-directory): Likewise. - -2012-03-30 Chong Yidong <cyd@gnu.org> - - * image.el (imagemagick-types-inhibit) - (imagemagick-register-types): Doc fix. - -2012-03-30 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-get-extended-character-mode): - Disable extended-char-mode for hunspell. hunspell does not support it - and treats ~word as ordinary words in pipe mode. - -2012-03-30 Glenn Morris <rgm@gnu.org> - - * tutorial.el (help-with-tutorial): Ensure local variables don't - happen to make the buffer read-only. (Bug#11127) - -2012-03-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/perl-mode.el (perl-indent-line): Use `noindent' in strings. - (perl-calculate-indent): Return `noindent' in strings. - -2012-03-28 Sam Steingold <sds@gnu.org> - - * calendar/calendar.el (calendar-exit): Use `quit-windows-on' - instead of the broken adhockery which does not prevent calendar - buffers from being displayed at random after exit. - (calendar-window-list, calendar-hide-window): Remove the broken - adhockery. - -2012-03-28 Glenn Morris <rgm@gnu.org> - - * replace.el (query-replace-map): Doc fix. - -2012-03-28 Andreas Schwab <schwab@linux-m68k.org> - - * vc/vc-git.el (vc-git-state): Don't try to match all of the diff - contents. (Bug#11109) - -2012-03-27 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/avl-tree.el (avl-tree--enter-balance): Fix paren typo - (bug#11077). - (avl-tree--check, avl-tree--check-node): New funs. - -2012-03-27 Martin Rudalics <rudalics@gmx.at> - - * window.el (switch-to-visible-buffer): New option. - (switch-to-prev-buffer, switch-to-next-buffer): - Observe switch-to-visible-buffer. Make sure that checking for a window - showing a buffer already is done on the same frame. - -2012-03-27 Glenn Morris <rgm@gnu.org> - - * startup.el (mail-host-address): Doc fix. - -2012-03-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (byte-compile-constants-vector): Allow more - than 197 variables. - -2012-03-26 Ami Fischman <ami@fischman.org> - - * vc/vc-git.el (vc-git-state): Avoid unnecessarily locking. - -2012-03-26 Glenn Morris <rgm@gnu.org> - - * files.el (save-buffers-kill-emacs): Doc fix. - - * startup.el (normal-top-level, command-line, command-line-1): - Give them doc strings. - -2012-03-25 Eli Zaretskii <eliz@gnu.org> - - * makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead - of same-dir.tst, to avoid stepping on other (parallel) Make job's toes. - -2012-03-25 Chong Yidong <cyd@gnu.org> - - * custom.el (load-theme): Even if NO-ENABLE arg is t, reenable the - theme if it was previously enabled before (Bug#11031). - - * cus-theme.el (custom-theme-write-faces): Retrieve current face - spec with custom-face-get-current-spec if its :shown-value is not - determined yet (Bug#9337). - (customize-create-theme, custom-theme-revert): Doc fixes. - - * button.el (button-at): Minor addition to docstring. - -2012-03-24 Simon Leinen <simon.leinen@gmail.com> - - * vc/vc.el (vc-merge): Fix a prompt. - -2012-03-24 Chong Yidong <cyd@gnu.org> - - * mwheel.el (mwheel-scroll): Call deactivate-mark at the right - point (Bug#9623). - - * button.el (button-at): Minor addition to docstring. - -2012-03-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * newcomment.el (comment-choose-indent): No space after BOL. - -2012-03-22 Sam Steingold <sds@gnu.org> - - * window.el (switch-to-prev-buffer): Revert last patch because the - bug turned out to be an advertised feature (Elisp manual 28.14). - -2012-03-22 Glenn Morris <rgm@gnu.org> - - * vc/vc-bzr.el (vc-bzr-status-switches): New option. (Bug#6724) - (vc-bzr-command): If running "status", pass vc-bzr-status-switches. - -2012-03-22 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/network-stream.el (network-stream-open-starttls): Make error - message under Windows be less misleading. - -2012-03-22 Liang Wang <netcasper@gmail.com> (tiny change) - - * progmodes/etags.el (etags-list-tags): Only use tags which goto-func - understands (bug#9942). - -2012-03-22 Chong Yidong <cyd@gnu.org> - - * simple.el (end-of-visible-line): Handle return value of - next-single-property-change properly (Bug#9371). - -2012-03-22 Kenichi Handa <handa@m17n.org> - - * international/quail.el (quail-insert-kbd-layout): Fix previous - change. To avoid unwanted bidi reordering, use - bidi-string-mark-left-to-right instead of inserting LRO and PDF. - -2012-03-21 Dmitry Gutov <dgutov@yandex.ru> - - * progmodes/ruby-mode.el: Don't confuse "end:" for "end" (bug#10786). - (ruby-block-end-re, ruby-delimiter, ruby-parse-partial) - (ruby-beginning-of-indent): Be more careful with the difference - between word-boundary and symbol boundary. - (ruby-mode-syntax-table): Make : a symbol constituent. - -2012-03-21 Andreas Politz <politza@fh-trier.de> - - * outline.el (outline-flag-region): Evaporate overlays (bug#10789). - -2012-03-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/etags.el (tags-completion-at-point-function): - Improve last fix. - - * files.el (move-file-to-trash): Files aren't regexps (bug#11055). - -2012-03-21 Sam Steingold <sds@gnu.org> - - * progmodes/etags.el (tags-completion-at-point-function): - Avoid the error when point is inside the pattern. - -2012-03-21 John Yates <john@yates-sheets.org> (tiny change) - - * progmodes/hideshow.el (hs-inside-comment-p): Fix hiding of first - line (Bug#10855). - -2012-03-21 Drew Adams <drew.adams@oracle.com> - - * info.el (Info-menu): Handle string value of FORK arg (Bug#10858). - -2012-03-21 Anmol Khirbat <anmol@khirbat.net> (tiny change) - - * ido.el (ido-set-current-directory, ido-read-internal) - (ido-choose-completion-string, ido-completion-help): Handle nil - value of ido-completion-buffer (Bug#11008). - -2012-03-21 Sam Steingold <sds@gnu.org> - - * window.el (switch-to-prev-buffer): Do not switch to a visible - window previous buffer, just like with the frame previous buffers. - -2012-03-21 Chong Yidong <cyd@gnu.org> - - * faces.el (make-face, make-empty-face, copy-face): - * face-remap.el (face-remap-add-relative, face-remap-set-base): - Doc fixes. - -2012-03-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * wid-edit.el (widget-complete-field): Remove (bug#11051). - (widget-complete): Remove broken use of it. - -2012-03-20 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): - Use string-width and truncate-string-width to handle arbitrary - characters. - -2012-03-20 Tassilo Horn <tassilo@member.fsf.org> - - * textmodes/artist.el (artist-menu-map): Bind Rectangle menu item - to draw rectangles, not squares. (Regression introduced by revno - 2011-03-02T03:48:01Z!cyd@stupidchicken.com) - -2012-03-18 Chong Yidong <cyd@gnu.org> - - * faces.el (face-spec-reset-face): Don't call display-graphic-p if - it is not yet defined (for temacs). - -2012-03-18 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc-cmd-quit): Allow quitting all servers with - prefix. - -2012-03-17 Eli Zaretskii <eliz@gnu.org> - - * textmodes/ispell.el (ispell-skip-tib, ispell-keep-choices-win) - (ispell-choices-win-default-height, ispell-silently-savep) - (ispell-dictionary-alist, ispell-encoding8-command) - (ispell-check-version, ispell-aspell-find-dictionary) - (ispell-valid-dictionary-list, ispell-words-keyword) - (ispell-get-word, ispell-internal-change-dictionary) - (ispell-region, ispell-skip-region-list) - (ispell-begin-skip-region-regexp, ispell-ignore-fcc) - (ispell-process-line, ispell-minor-mode, ispell-minor-check) - (ispell-message-text-end, ispell-message) - (ispell-buffer-local-parsing): Doc fix. - -2012-03-13 Jambunathan K <kjambunathan@gmail.com> - - * htmlfontify.el: Add support for code block fontification for ODT - export (Bug #9914). - (hfy-optimisations): Define new option - `body-text-only' - (hfy-fontify-buffer): Honor above setting. - (hfy-begin-span, hfy-end-span): New routines factored out form - `hfy-fontify-buffer'. - (hfy-begin-span-handler, hfy-end-span-handler): New variables - that permit insertion of custom tags. - (hfy-fontify-buffer): Use above handlers. - (hfy-face-to-css-default): Same as the earlier `hfy-face-to-css'. - (hfy-face-to-css): Re-defined to be a variable. - (hfy-compile-stylesheet): Modify. Allow stylesheet to be built - over multiple runs. This is made possible by having the caller let - bind a special variable `hfy-user-sheet-assoc'. - (htmlfontify-string): New defun. - (hfy-compile-face-map): Make sure that the last char in the - buffer is correctly fontified. - (hfy-face-resolve-face): Whitespace only change. - -2012-03-17 Eli Zaretskii <eliz@gnu.org> - - * textmodes/ispell.el (ispell-get-decoded-string): Make the error - message more clear. - -2012-03-16 Leo Liu <sdl.web@gmail.com> - - * emacs-lisp/copyright.el (copyright-year-ranges): Fix typo. - -2012-03-16 Alan Mackenzie <acm@muc.de> - - Further optimize the handling of large macros. - - * progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use a - limit to a call of `c-literal-limits'. - (c-determine-+ve-limit): New function. - (c-at-macro-vsemi-p): Move `c-in-literal' to the bottom of an `and'. - (c-guess-basic-syntax): In macros, restrict a search limit to 2000. - In CASE 5B, restrict a search limit to 500. - (c-just-after-func-arglist-p): Obviouly wrong `or' -> `and'. - - * progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): - Restrict macro bounds to +-500 from after-change's BEG END. - -2012-03-16 Leo Liu <sdl.web@gmail.com> - - * font-lock.el (lisp-font-lock-keywords-2): Add letrec. - -2012-03-16 Aaron S. Hawley <Aaron.S.Hawley@gmail.com> - - * tar-mode.el (tar-mode): Fix saving by conditionally undoing - `special-mode' setting of `buffer-read-only'. (Bug#11010) - -2012-03-16 Glenn Morris <rgm@gnu.org> - - * view.el (view-buffer, view-buffer-other-window) - (view-buffer-other-frame): Doc fixes re special mode-class. - - * subr.el (eval-after-load): If named feature is provided not from - a file, run after-load forms. (Bug#10946) - - * calendar/calendar.el (calendar-insert-at-column): - Handle non-unit-width characters a bit better. (Bug#10978) - -2012-03-15 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/ring.el (ring-extend): New function. - (ring-insert+extend): Extend the ring correctly (Bug#11019). - - * comint.el (comint-read-input-ring) - (comint-add-to-input-history): Grow comint-input-ring lazily. - -2012-03-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/perl-mode.el (perl-syntax-propertize-special-constructs): - Fix up parsing of multiline twoarg non-paired elements (bug#11014). - - * imenu.el: Fix multiple inheritance breakage (bug#9199). - (imenu-add-to-menubar): Don't add a redundant index. - (imenu-update-menubar): Handle a dynamically composed keymap. - -2012-03-13 Katsumi Yamaoka <yamaoka@jpl.org> - - * mail/sendmail.el (mail-encode-header): - Bind rfc2047-encode-encoded-words to nil. - -2012-03-13 Glenn Morris <rgm@gnu.org> - - * calendar/calendar.el (calendar-string-spread): - Handle non-unit-width characters a bit better. (Bug#10978) - -2012-03-13 Leo Liu <sdl.web@gmail.com> - - * vc/vc-hg.el (vc-hg-working-revision): Rework to work with both - directory and file as argument (Bug#10822). - -2012-03-13 Kaushik Srenevasan <ksrenevasan@gmail.com> (tiny change) - - * progmodes/gdb-mi.el (gdb-invalidate-disassembly): - For dynamically generated code, follow $PC. - (gdb-disassembly-handler-custom): Handle no function name case. - -2012-03-13 Tim Landscheidt <tim@tim-landscheidt.de> (tiny change) - - * calendar/icalendar.el (icalendar-export-file, icalendar-import-file): - * emulation/ws-mode.el (ws-query-replace): - * sort.el (sort-regexp-fields): - Fix missing trailing whitespace in interactive prompts. (Bug#11002) - -2012-03-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * dabbrev.el: Fix cycle completion order (bug#10963). - (dabbrev--last-obarray, dabbrev--last-completion-buffer): Remove. - (dabbrev-completion): Don't use an obarray; provide - a cycle-sort-function. - -2012-03-12 Leo Liu <sdl.web@gmail.com> - - * simple.el (kill-new): Use equal-including-properties for comparison. - (kill-do-not-save-duplicates): Doc fix. - -2012-03-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * dabbrev.el: Fix cycle completion (bug#10963). - Use lexical binding and wrap to 80 columns. - (dabbrev-completion): Delay computing the list of completions. - -2012-03-12 Kenichi Handa <handa@m17n.org> - - * international/quail.el (quail-insert-kbd-layout): Surround each - row by LRO and PDF instead of inserting many LRMs. Pad the left - and right of each non-spacing marks. Insert invisible space - between lower and upper characters to prevent composition. - -2012-03-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (minibuffer-complete): Don't get confused when the - function is run twice via different commands (bug#10958). - (complete-with-action): Fix docstring. - -2012-03-12 Chong Yidong <cyd@gnu.org> - - * nxml/nxml-mode.el (nxml-mode-map): Do not bind C-RET (Bug#6776). - (nxml-completion-at-point-function): New function. - (nxml-mode): Use it. - (nxml-bind-meta-tab-to-complete-flag): Default to t. - - * emacs-lisp/package.el (package-unpack, package-unpack-single): - Load generated autoloads file before byte compiling (Bug#10970). - (package--make-autoloads-and-compile): New helper fun. - -2012-03-12 Christopher Schmidt <christopher@ch.ristopher.com> - - * ibuffer.el (ibuffer-redisplay): Remove another gratuitous error. - -2012-03-11 Michael Albinus <michael.albinus@gmx.de> - - * autorevert.el (auto-revert-handler): Ensure, that - file-readable-p is applied only for local files or in - auto-revert-tail-mode. - -2012-03-11 Andreas Schwab <schwab@linux-m68k.org> - - * server.el (server-eval-at): Handle non-tcp connections. - Decode result string. - - * server.el (server-msg-size): New constant. - (server-reply-print): New function. - (server-eval-and-print): Use it. - (server-eval-at): Use server-quote-arg and server-unquote-arg. - Handle -print-nonl. - -2012-03-11 Christopher Schmidt <christopher@ch.ristopher.com> - - * ibuffer.el (ibuffer-redisplay): Remove gratuitous error - (Bug#10987). - -2012-03-11 Chong Yidong <cyd@gnu.org> - - * simple.el (goto-line): Doc fix (Bug#9938). - - * subr.el (save-window-excursion): Doc fix (Bug#9979). - - * dabbrev.el (dabbrev--find-expansion): Update progress reporter - when finished (Bug#10963). - -2012-03-11 Martin Rudalics <rudalics@gmx.at> - - * window.el (split-window-below): Fix bug in case where - split-window-keep-point is nil (Bug#10971). - -2012-03-11 Juri Linkov <juri@jurta.org> - - * replace.el (replace-highlight): Set isearch-word to nil - unconditionally. (Bug#10887) - -2012-03-10 Eli Zaretskii <eliz@gnu.org> - - * net/mairix.el (mairix-replace-invalid-chars): Rename from - mairix-replace-illegal-chars; all callers changed. Don't remove - ^, ~, and = characters: they are meaningful in mairix search specs. - (mairix-widget-create-query): Add usage information about mairix - search forms: negating words, searching for substrings, etc. - -2012-03-10 Jae-hyeon Park <jae-hyeon.park@desy.de> (tiny change) - - * international/fontset.el (font-encoding-alist): Add an entry for - ksx1001 (Bug#5667). - -2012-03-10 Richard Stallman <rms@gnu.org> - - * mail/sendmail.el (mail-encode-header): - Set rfc2047-encode-encoded-words. - - * mail/mail-utils.el (mail-quote-printable): Quote multibyte chars. - - * mail/rmail.el (rmail-buffers-swapped-p): Don't assume dead - view buffer means not swapped. - (rmail-view-buffer-kill-buffer-hook): Give buf name in error msg. - (rmail-write-region-annotate): Error if real text has disappeared. - - * epa-mail.el (epa-mail-encrypt): Bind inhibit-read-only. - -2012-03-10 Chong Yidong <cyd@gnu.org> - - * emulation/cua-rect.el (cua--init-rectangles): - * emulation/cua-base.el (cua--init-keymaps): - Add delete-forward-char to remappings (Bug#9666). - -2012-03-10 Martin Rudalics <rudalics@gmx.at> - - * speedbar.el (speedbar-unhighlight-one-tag-line): - Avoid unhighlighting due to frame switching (Bug#10275). - -2012-03-10 Chong Yidong <cyd@gnu.org> - - * minibuffer.el (completion-in-region, completion-help-at-point): - Give the completion field overlay a high priority (Bug#6830). - - * dired.el (dired-goto-file): Recognize absolute file name - listings (Bug#7126). - (dired-goto-file-1): New helper function. - (dired-toggle-read-only): Inhibit warnings. - -2012-03-09 Michael Albinus <michael.albinus@gmx.de> - - * net/dbus.el (dbus-property-handler): Return empty array if - there are no properties. - -2012-03-09 Leo Liu <sdl.web@gmail.com> - - * savehist.el (savehist-printable): Stricter check for string - value (Bug#10937). - -2012-03-09 Eli Zaretskii <eliz@gnu.org> - - * mail/smtpmail.el (smtpmail-send-it): - Bind coding-system-for-write to *-unix, so that FCC files are kept in - valid mbox format. - -2012-03-09 Glenn Morris <rgm@gnu.org> - - * files.el (dir-locals-find-file): - Don't check result is regular, readable. - (dir-locals-read-from-file): Demote errors. - -2012-03-08 Eli Zaretskii <eliz@gnu.org> - - * international/quail.el (quail-insert-kbd-layout): - Insert invisible LRM characters before each character in a keyboard - layout cell, to prevent their reordering by bidi display engine. - For details, see the discussion in - http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00085.html. - -2012-03-08 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-cmds.el (c-mark-function): Make it leave a mark at - the starting position; make it extend the marked region when - invoked repeatedly - all under appropriate circumstances. - Fixes bugs #5525, #10906. - -2012-03-08 Glenn Morris <rgm@gnu.org> - - * files.el (locate-dominating-file, dir-locals-find-file): - Undo 2012-03-06 change. - -2012-03-07 Eli Zaretskii <eliz@gnu.org> - - * international/quail.el (quail-help): - Force bidi-paragraph-direction be left-to-right. See discussion in - http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00062.html - for the reason. - -2012-03-07 Michael Albinus <michael.albinus@gmx.de> - - Avoid superfluous registering of signals. (Bug#10807) - - * notifications.el (notifications-on-action-object) - (notifications-on-close-object): New defvars. - (notifications-on-action-signal, notifications-on-closed-signal): - Unregister the signal if not needed any longer. - (notifications-notify): Register `notifications-action-signal' or - `notifications-closed-signal', if :on-action or :on-close has been - passed as argument. - -2012-03-07 Chong Yidong <cyd@gnu.org> - - * cus-start.el: Avoid x-select-enable-clipboard-manager warning on - non-X platforms. - -2012-03-06 Glenn Morris <rgm@gnu.org> - - * term/pc-win.el (x-selection-owner-p, x-own-selection-internal) - (x-disown-selection-internal, x-get-selection-internal): - Doc fix (add arglist signatures). (Bug#10783) - -2012-03-06 Kaushik Srenevasan <ksrenevasan@gmail.com> (tiny change) - - * progmodes/gdb-mi.el (gdb-breakpoints-list-handler-custom): - Handle breakpoints with no "type". - -2012-03-06 Glenn Morris <rgm@gnu.org> - - * files.el (locate-dominating-file): Add optional predicate argument. - (dir-locals-find-file): Make use of above change. - -2012-03-06 Thien-Thi Nguyen <ttn@gnuvola.org> - - * info.el (Info-insert-dir): Also try "dir.gz". - -2012-03-06 Glenn Morris <rgm@gnu.org> - - * files.el (dir-locals-find-file): - Ignore non-readable or non-regular files. (Bug#10928) - - * files.el (locate-dominating-file): Doc fix. - -2012-03-06 Adam Spiers <emacs@adamspiers.org> (tiny change) - - * calendar/calendar.el (calendar-set-mode-line): - `getenv' returns a string. (Bug#10951) - -2012-03-05 Leo Liu <sdl.web@gmail.com> - - * simple.el (backward-delete-char-untabify): Constrain point to - field (Bug#10939). - - * eshell/em-cmpl.el (eshell-cmpl-initialize): Fix shift-tab key. - -2012-03-05 Chong Yidong <cyd@gnu.org> - - * simple.el (count-words): If called from Lisp, return the word - count, for symmetry with `count-lines'. Arglist changed. - (count-words--message): Args changed. Consolidate counting code - from count-words and count-words-region. - (count-words-region): Caller changed. - (count-lines-region): Make it an obsolete alias. - -2012-03-04 Tassilo Horn <tassilo@member.fsf.org> - - * saveplace.el (save-place-to-alist) - (save-place-ignore-files-regexp): Allow value nil to disable this - feature. - -2012-03-04 Chong Yidong <cyd@gnu.org> - - * faces.el (face-spec-reset-face): For the default face, reset the - attributes to default values (Bug#10748). - -2012-03-04 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/emacsbug.el (report-emacs-bug-hook): Fix up thinko in - previous patch: Check `message-send-mail-function', and not the - default function (bug#10897). - -2012-03-04 Michael Albinus <michael.albinus@gmx.de> - - * notifications.el (notifications-on-action-signal) - (notifications-on-closed-signal): Check for unique service name of - incoming event. Fix error in removing entry. - (top): Register for signals with wildcard service name. - (notifications-notify): Use daemon unique service name for map entries. - -2012-03-04 Chong Yidong <cyd@gnu.org> - - * cus-start.el: Make x-select-enable-clipboard-manager customizable. - -2012-03-04 Glenn Morris <rgm@gnu.org> - - * abbrev.el (copy-abbrev-table, abbrev-table-p) - (abbrev-minor-mode-table-alist, define-abbrev, abbrev-insert) - (expand-abbrev, define-abbrev-table): Doc fixes. - -2012-03-03 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/emacsbug.el (report-emacs-bug-hook): Look at the value of - `message-default-send-mail-function' and not `send-mail-function' - when doing the prompting for `sendmail-query-once' before sending - in Message buffers (bug#10897). - - * net/tls.el (open-tls-stream): Don't set the dont-query-on-exit flag. - This is inconsistent with all the other stream functions, which leave - the setting up to the higher levels (if so wanted) (bug#10931). - -2012-03-02 Alan Mackenzie <acm@muc.de> - - Depessimize the handling of very large macros. - - * progmodes/cc-engine.el (c-macro-cache, c-macro-cache-start-pos): - (c-macro-cache-syntactic): New variables to implement a one - element macro cache. - (c-invalidate-macro-cache): New function. - (c-beginning-of-macro, c-end-of-macro, c-syntactic-end-of-macro): - Adapt to use the new cache. - (c-state-safe-place): Use better the cache of safe positions. - (c-state-semi-nonlit-pos-cache) - (c-state-semi-nonlit-pos-cache-limit): - New variables for... - (c-state-semi-safe-place): New function. Here, in a macro is "safe". - (c-invalidate-state-cache-1): New stuff for c-state-semi-safe-place. - (c-in-literal, c-literal-limits, c-determine-limit-get-base): - Use c-state-semi-safe-place. - - * progmodes/cc-langs.el (c-get-state-before-change-functions): - Add c-invalidate-macro-cache to the C, C++, Obj entries. - -2012-03-02 Michael Albinus <michael.albinus@gmx.de> - - * jka-compr.el (jka-compr-call-process): - Apply `file-accessible-directory-p' only when the default directory is - not remote. - -2012-03-01 Michael Albinus <michael.albinus@gmx.de> - - * files.el (file-equal-p): Fix docstring. Avoid unnecessary - access of FILE2, if FILE1 does not exist. - - * net/tramp-sh.el (tramp-remote-process-environment): Add "PAGER=\"\"". - Reported by Robert Lupton the Good <rhl@astro.princeton.edu>. - - * vc/vc-git.el (vc-git--call): Enable `inhibit-null-byte-detection'. - Add "PAGER=" to `process-environment'. - -2012-03-01 Michael R. Mauger <mmaug@yahoo.com> - - * progmodes/sql.el: Bug fix - (sql-get-login-ext): Save login values in globals. - (sql-get-login): Use new version of `sql-get-login-ext'. - (sql-interactive-mode): Set global `sql-connection' to nil. - (sql-connect): Set global values for connection. - (sql-product-interactive): Save global values as buffer local. - -2012-02-29 Leo Liu <sdl.web@gmail.com> - - * abbrev.el (define-abbrevs): Reset sys to nil. - -2012-02-28 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * files.el (file-equal-p): Rename from `files-equal-p'. - Return nil when one or both files don't exist. - (file-subdir-of-p): Now only top directory must exists, - return nil if it doesn't. - (copy-directory): No need to test with `file-subdir-of-p' after - creating dir. - * net/tramp.el (tramp-file-name-for-operation): Rename `files-equal-p' - to `file-equal-p'. - -2012-02-28 Glenn Morris <rgm@gnu.org> - - * shell.el (shell-mode): - * progmodes/vhdl-mode.el (wildcard-to-regexp, file-expand-wildcards): - * play/landmark.el (landmark-font-lock-face-O): - * play/handwrite.el (handwrite): - * play/gomoku.el (gomoku-O): - * net/browse-url.el (browse-url-browser-display): - * international/mule.el (define-charset): - * htmlfontify.el (hfy-etags-cmd, hfy-face-attr-for-class): - * filesets.el (filesets-find-file-delay): - * eshell/em-xtra.el (eshell-xtra): - * eshell/em-unix.el (eshell-grep): - * emulation/viper.el (viper-mode): - * emacs-lisp/regexp-opt.el (regexp-opt-group): - * emacs-lisp/easymenu.el (easy-menu-define): - * calendar/timeclock.el (timeclock-use-display-time): - * bs.el (bs-mode): - * bookmark.el (bookmark-save-flag): - Doc fix (standardize possessive apostrophe usage). - -2012-02-27 Chong Yidong <cyd@gnu.org> - - * emulation/viper-cmd.el (viper-intercept-ESC-key): - Fix key-binding lookup for ESC key (Bug#9146). - - * font-lock.el (font-lock-specified-p): Rename from - font-lock-spec-present. Callers changed. - -2012-02-27 Daniel Hackney <dan@haxney.org> - - * emacs-lisp/package.el (package-compute-transaction): - Handle holding a package version to t in package-load-list. - -2012-02-26 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-inodes, tramp-devices): Initialize with 0. - (tramp-get-inode, tramp-get-device): Use cached values. - -2012-02-26 Alan Mackenzie <acm@muc.de> - - Check there is a font-lock specification before doing initial - fontification. - - * font-core.el (font-lock-mode): Move the conditional from - :after-hook to font-lock-initial-fontify. - (font-lock-default-function): Move the check for a specification - to font-lock-spec-present. - - * font-lock.el (font-lock-initial-fontify): Call ... - (font-lock-spec-present): New function. - -2012-02-26 Jim Blandy <jimb@red-bean.com> - - * progmodes/gdb-mi.el (gdb-mi-quote): New function. - (gdb-send): Apply it to the operand of the '-interpreter-exec - console' command, so that we can pass arguments with (say) quotes - in them. Store exact string sent in gdb-debug-log (Bug#10765). - -2012-02-26 Chong Yidong <cyd@gnu.org> - - * help-fns.el (describe-function-1): Clarify description of - remapping (Bug#10844). - - * files.el (files-equal-p): Doc fix. - (file-subdir-of-p): Doc fix. Convert loop macro to plain Lisp, - and quit the loop once a mismatch is found. - -2012-02-25 Juanma Barranquero <lekktu@gmail.com> - - * bs.el (bs--show-with-configuration): Don't throw an error - if the window cannot be split; otherwise, subsequent calls to - bs-show fail, restoring a stale window config. (Bug#10882) - -2012-02-25 Jan Djärv <jan.h.d@swipnet.se> - - * term/ns-win.el (global-map): Bind ns-drag-file to - ns-find-file (Bug#5855, Bug#10050). - -2012-02-25 Andreas Schwab <schwab@linux-m68k.org> - - * calendar/parse-time.el (parse-time-string): Allow extractor to - return nil. - -2012-02-25 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-file-name-for-operation): - Add `files-equal-p' and `file-subdir-of-p'. - - * net/tramp-sh.el (tramp-sh-handle-copy-directory): - * net/tramp-smb.el (tramp-smb-handle-copy-directory): - Add COPY-CONTENTS argument. - -2012-02-25 Chong Yidong <cyd@gnu.org> - - Add custom groups for VC backends, for consistency with vc-bzr. - - * vc/vc-arch.el (vc-arch): - * vc/vc-cvs.el (vc-cvs): - * vc/vc-git.el (vc-git): - * vc/vc-hg.el (vc-hg): - * vc/vc-mtn.el (vc-mtn): - * vc/vc-rcs.el (vc-rcs): - * vc/vc-sccs.el (vc-sccs): - * vc/vc-svn.el (vc-svn): New customization group (Bug#10871). - All relevant defcustoms reassigned. - -2012-02-25 Chong Yidong <cyd@gnu.org> - - * newcomment.el (comment-styles): Add autoload (Bug#10868). - - * term/x-win.el (x-initialize-window-system): Reduce default for - x-selection-timeout to 5 seconds (Bug#8869). - -2012-02-24 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * files.el (files-equal-p, file-subdir-of-p): New functions. - (copy-directory): Error when trying to copy a directory on itself. - Add missing copy-contents arg to tramp handler. - * dired-aux.el (dired-copy-file-recursive): Same. - (dired-create-files): Modify destination when source is equal to - dest when copying files. - Return also when dest is a subdir of source. (Bug#10489) - -2012-02-24 Michael Albinus <michael.albinus@gmx.de> - - * net/ange-ftp.el (ange-ftp-parse-netrc): Suppress comment lines. - (Bug#10874) - -2012-02-23 Alan Mackenzie <acm@muc.de> - - * emacs-lisp/easy-mmode.el (define-minor-mode): Add extra - parameter "after-hook:" to allow the expansion to run code after - the execution of the mode hooks. - - * font-lock.el (font-lock-initial-fontify): New function extracted - from font-lock-mode-internal. - - * font-core.el (font-lock-mode): Call font-lock-initial-fontify in - :after-hook. - -2012-02-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el: Make sure cycling is reset upon edit with icomplete.el. - (completion--cache-all-sorted-completions): New function. - (completion-all-sorted-completions): Use it. - (completion--do-completion, minibuffer-force-complete): - Use it to re-instate the flush hook. - - * icomplete.el (icomplete-completions): Replace last fix with a better - one (bug#10850). - -2012-02-23 Dmitry Gutov <dgutov@yandex.ru> - - * emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun - when it might call us back infinitely (bug#10797). - -2012-02-23 Glenn Morris <rgm@gnu.org> - - * minibuffer.el (completion-category-overrides): Doc fix. - -2012-02-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-table-with-context): Fix inf-loop. - Reported by Aaron S. Hawley <aaron.s.hawley@gmail.com>. - -2012-02-23 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/authors.el (authors-aliases, authors-fixed-case) - (authors-obsolete-files-regexps, authors-ignored-files) - (authors-ambiguous-files, authors-renamed-files-alist): - Add more entries. - -2012-02-23 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-occur): Sync interactive spec with occur's - new feature in `occur-read-primary-args'. Doc fix. (Bug#10705) - - * replace.el (occur-menu-map): Add menu item for `occur-edit-mode'. - -2012-02-22 Juri Linkov <juri@jurta.org> - - * international/mule-cmds.el (read-char-by-name): Use \` and \'. - (ucs-insert): Doc fix. Check for hex digits in the string. - Don't display `nil' in the error message. (Bug#10857) - -2012-02-22 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-mode.el: Revert change #2012-02-06T22:08:41Z!larsi@gnus.org from 2012-02-06. - -2012-02-22 Glenn Morris <rgm@gnu.org> - - * ffap.el (ffap-c-path): - * man.el (Man-header-file-path): Handle multiarch. (Bug#10702) - -2012-02-22 Chong Yidong <cyd@gnu.org> - - * custom.el (load-theme): Doc fix. - -2012-02-22 Glenn Morris <rgm@gnu.org> - - * dired-x.el (dired-guess-shell-alist-default): - Remove escape sequences from nroff output. (Bug#172) - -2012-02-21 Glenn Morris <rgm@gnu.org> - - * vc/emerge.el (emerge-defvar-local): - Set `permanent-local' property rather than unused `preserved'. - - * textmodes/picture.el (picture-delete-char): New alias. - (picture-mode-map): Use it. (Bug#10860) - (picture-mode): Doc fix. - -2012-02-21 Juanma Barranquero <lekktu@gmail.com> - - * newcomment.el (uncomment-region-default): Remove unused binding. - -2012-02-21 Glenn Morris <rgm@gnu.org> - - * textmodes/picture.el (picture-motion, picture-motion-reverse) - (picture-self-insert, picture-tab-chars): Doc fix. - (picture-mode-map): Fix C-a, C-e. - -2012-02-20 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/authors.el (authors-aliases): Add another entry. - -2012-02-20 Leo Liu <sdl.web@gmail.com> - - * icomplete.el (icomplete-completions): Check FROM arg before - passing to substring (Bug#10850). - -2012-02-19 Chong Yidong <cyd@gnu.org> - - * comint.el: Require ansi-color. - (comint-output-filter-functions): Add ansi-color-process-output. - - * ansi-color.el: Don't set comint-output-filter-functions; it is - now in the initial value defined in comint.el. - (ansi-color-apply-face-function): New variable. - (ansi-color-apply-on-region): Use it. - (ansi-color-apply-overlay-face): New function. - - * shell.el (shell): No need to require ansi-color. - (shell-mode): Use ansi-color-apply-face-function to highlight - color escapes using font-lock-face property (Bug#10835). - -2012-02-19 Chong Yidong <cyd@gnu.org> - - * vc/ediff-init.el (ediff-strip-mode-line-format): Handle non-list - mode-line formats (Bug#10839). - -2012-02-18 Glenn Morris <rgm@gnu.org> - - * mail/rmail.el (rmail-dont-reply-to-names): Mark as obsolete. - - * mail/undigest.el (unforward-rmail-message): Doc fix. - - * saveplace.el (save-place-ignore-files-regexp): Add :version. - -2012-02-18 Eli Zaretskii <eliz@gnu.org> - - * international/characters.el (script-list): Sync with the latest - Unicode Character Database. - -2012-02-18 Andreas Schwab <schwab@linux-m68k.org> - - * international/titdic-cnv.el: Remove duplicate coding tag. - * language/cham.el: Likewise. - * language/tai-viet.el: Likewise. - -2012-02-18 Glenn Morris <rgm@gnu.org> - - * calendar/cal-menu.el (cal-menu-diary-menu, cal-menu-goto-menu): - * calendar/calendar.el (diary-file, diary-bahai-entry-symbol) - (calendar-bahai-all-holidays-flag, calendar-other-dates): - * calendar/diary-lib.el (diary-abbreviated-year-flag): - * calendar/holidays.el (holiday-bahai-holidays) - (calendar-holidays, list-holidays): - Use utf-8 Bahá'à in doc-strings, menus, etc. - -2012-02-17 Tassilo Horn <tassilo@member.fsf.org> - - * saveplace.el (save-place-ignore-files-regexp): New variable - allowing for excluding files from saving their location of point. - The default value matches the temporary commit message editing - files from Git, SVN, Bazaar, and Mercurial. - (save-place-to-alist): Use it. - -2012-02-17 Lawrence Mitchell <wence@gmx.li> - Stefan Monnier <monnier@iro.umontreal.ca> - - * newcomment.el (uncomment-region-default): Don't leave extra space - when an arg is provided (bug#8150). - -2012-02-17 Teodor Zlatanov <tzz@lifelogs.com> - - * net/gnutls.el (gnutls-trustfiles): Fix Cygwin bundle location. - -2012-02-17 Glenn Morris <rgm@gnu.org> - - * net/socks.el: Require network-stream. (Bug#10599) - -2012-02-17 Kenichi Handa <handa@m17n.org> - - * international/charprop.el: - * international/uni-name.el: - * international/uni-old-name.el: - * international/uni-comment.el: Regenerate. - -2012-02-16 Glenn Morris <rgm@gnu.org> - - * calendar/cal-hebrew.el (calendar-hebrew-list-yahrzeits): - Interactively in calendar buffer, give an error if not on a date. - -2012-02-15 Glenn Morris <rgm@gnu.org> - - * shell.el (shell-delimiter-argument-list): - Revert 2011-02-17 change. (Bug#8027) - -2012-02-15 Chong Yidong <cyd@gnu.org> - - * minibuffer.el (completion-at-point-functions): Doc fix. - - * custom.el (defcustom): Doc fix; note use of defvar. - -2012-02-15 Glenn Morris <rgm@gnu.org> - - * mail/smtpmail.el (smtpmail-smtp-user, smtpmail-stream-type): - Doc fixes. - -2012-02-14 Glenn Morris <rgm@gnu.org> - - * mail/smtpmail.el (smtpmail-query-smtp-server): Give it a doc. - -2012-02-14 Lars Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-query-smtp-server): Fix typo in the - way the ports list is computed. - (smtpmail-query-smtp-server): Prompt the user for a port number if - we can't connect to any of the standard ports (bug#10810). - -2012-02-14 Teodor Zlatanov <tzz@lifelogs.com> - - * net/gnutls.el (gnutls-trustfiles): Add Cygwin location. - -2012-02-13 Glenn Morris <rgm@gnu.org> - - * minibuffer.el (read-file-name): Doc fix. (Bug#10798) - -2012-02-13 Teodor Zlatanov <tzz@lifelogs.com> - - * net/gnutls.el (gnutls-trustfiles): New variable. - (gnutls-negotiate): Use it. - -2012-02-13 Lars Ingebrigtsen <larsi@gnus.org> - - * simple.el (mail-user-agent): Mention that `gnus-user-agent' only - does its stuff if Gnus is running. - -2012-02-13 Alan Mackenzie <acm@muc.de> - - Fix a loop in c-set-fl-decl-start. - - * progmodes/cc-engine.el (c-set-fl-decl-start): Add a check that - c-backward-syntactic-ws actually moves backwards. - -2012-02-13 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc-markup-attributes): Move point to the - beginning so that all \C-o chars are removed. - -2012-02-12 Teodor Zlatanov <tzz@lifelogs.com> - - * net/gnutls.el (gnutls-algorithm-priority): Add missing :group tag. - -2012-02-12 Alan Mackenzie <acm@muc.de> - - Fix infinite loop with long macros. - * progmodes/cc-engine.el (c-state-safe-place): Handle macros properly. - -2012-02-12 Chong Yidong <cyd@gnu.org> - - * window.el (display-buffer): Doc fix (Bug#10785). - -2012-02-12 Glenn Morris <rgm@gnu.org> - - * term/pc-win.el (x-selection-owner-p, x-own-selection-internal) - (x-disown-selection-internal, x-get-selection-internal): - Sync docs with the xselect.c versions. - - * allout-widgets.el: Add missing license notice. - -2012-02-11 Glenn Morris <rgm@gnu.org> - - * select.el (x-get-selection-internal, x-own-selection-internal) - (x-disown-selection-internal): - * x-dnd.el (x-get-selection-internal): Update declarations. - - * vc/log-view.el (vc-diff-internal): Remove unneeded declaration. - - * window.el (window-sides-slots): - * tool-bar.el (tool-bar-position): - * term/xterm.el (xterm-extra-capabilities): - * ses.el (ses-self-reference-early-detection): - * progmodes/verilog-mode.el (verilog-auto-declare-nettype) - (verilog-auto-wire-type) - (verilog-auto-delete-trailing-whitespace) - (verilog-auto-reset-blocking-in-non, verilog-auto-inst-sort) - (verilog-auto-tieoff-declaration): - * progmodes/sql.el (sql-login-hook, sql-ansi-statement-starters) - (sql-oracle-statement-starters, sql-oracle-scan-on): - * progmodes/prolog.el (prolog-align-comments-flag) - (prolog-indent-mline-comments-flag, prolog-object-end-to-0-flag) - (prolog-left-indent-regexp, prolog-paren-indent-p) - (prolog-paren-indent, prolog-parse-mode, prolog-keywords) - (prolog-types, prolog-mode-specificators) - (prolog-determinism-specificators, prolog-directives) - (prolog-electric-newline-flag, prolog-hungry-delete-key-flag) - (prolog-electric-dot-flag) - (prolog-electric-dot-full-predicate-template) - (prolog-electric-underscore-flag, prolog-electric-tab-flag) - (prolog-electric-if-then-else-flag, prolog-electric-colon-flag) - (prolog-electric-dash-flag, prolog-old-sicstus-keys-flag) - (prolog-program-switches, prolog-prompt-regexp) - (prolog-debug-on-string, prolog-debug-off-string) - (prolog-trace-on-string, prolog-trace-off-string) - (prolog-zip-on-string, prolog-zip-off-string) - (prolog-use-standard-consult-compile-method-flag) - (prolog-use-prolog-tokenizer-flag, prolog-imenu-flag) - (prolog-imenu-max-lines, prolog-info-predicate-index) - (prolog-underscore-wordchar-flag, prolog-use-sicstus-sd) - (prolog-char-quote-workaround): - * progmodes/cc-vars.el (c-defun-tactic): - * net/tramp.el (tramp-encoding-command-interactive) - (tramp-local-end-of-line): - * net/soap-client.el (soap-client): - * net/netrc.el (netrc-file): - * net/gnutls.el (gnutls): - * minibuffer.el (completion-category-overrides) - (completion-cycle-threshold) - (completion-pcm-complete-word-inserts-delimiters): - * man.el (Man-name-local-regexp): - * mail/feedmail.el (feedmail-display-full-frame): - * international/characters.el (glyphless-char-display-control): - * eshell/em-ls.el (eshell-ls-date-format): - * emacs-lisp/cl-indent.el (lisp-lambda-list-keyword-alignment) - (lisp-lambda-list-keyword-parameter-indentation) - (lisp-lambda-list-keyword-parameter-alignment): - * doc-view.el (doc-view-image-width, doc-view-unoconv-program): - * dired-x.el (dired-omit-verbose): - * cus-theme.el (custom-theme-allow-multiple-selections): - * calc/calc.el (calc-highlight-selections-with-faces) - (calc-lu-field-reference, calc-lu-power-reference) - (calc-note-threshold): - * battery.el (battery-mode-line-limit): - * arc-mode.el (archive-7z-extract, archive-7z-expunge) - (archive-7z-update): - * allout.el (allout-prefixed-keybindings) - (allout-unprefixed-keybindings) - (allout-inhibit-auto-fill-on-headline) - (allout-flattened-numbering-abbreviation): - * allout-widgets.el (allout-widgets-auto-activation) - (allout-widgets-icons-dark-subdir) - (allout-widgets-icons-light-subdir, allout-widgets-icon-types) - (allout-widgets-theme-dark-background) - (allout-widgets-theme-light-background) - (allout-widgets-item-image-properties-emacs) - (allout-widgets-item-image-properties-xemacs) - (allout-widgets-run-unit-tests-on-load) - (allout-widgets-time-decoration-activity) - (allout-widgets-hook-error-post-time) - (allout-widgets-track-decoration): - Add missing :version tags to new defcustoms and defgroups. - - * progmodes/sql.el (sql-ansi-statement-starters) - (sql-oracle-statement-starters): Add custom type. - - * progmodes/prolog.el: Remove leading '*' from defcustom docs. - (prolog-system-version): Give it a type. - -2012-02-11 Eli Zaretskii <eliz@gnu.org> - - * term/pc-win.el (x-select-text, x-selection-owner-p) - (x-own-selection-internal, x-disown-selection-internal) - (x-get-selection-internal): Sync doc strings and argument lists - with xselect.c, common-win.el and x-win.el. (Bug#10783) - -2012-02-11 Leo Liu <sdl.web@gmail.com> - - * progmodes/python.el (python-end-of-statement): Fix infinite - loop. (Bug#10788) - -2012-02-10 Glenn Morris <rgm@gnu.org> - - * international/mule-cmds.el (unify-8859-on-encoding-mode) - (unify-8859-on-decoding-mode): Properly mark as obsolete. - -2012-02-10 Lars Ingebrigtsen <larsi@gnus.org> - - * mail/emacsbug.el (report-emacs-bug-hook): Query the user first - about SMTP before checking the From header. - - * mail/sendmail.el (sendmail-query-user-about-smtp): Refactor out - into own function for reuse by emacsbug.el. - -2012-02-10 Leo Liu <sdl.web@gmail.com> - - * subr.el (condition-case-unless-debug): Rename from - condition-case-no-debug. All callers changed. - (with-demoted-errors): Fix caller. - - * vc/diff-mode.el (diff-auto-refine-mode, diff-hunk): - * nxml/rng-valid.el (rng-do-some-validation): - * emacs-lisp/package.el (package-refresh-contents) - (package-menu-execute): - * desktop.el (desktop-create-buffer): - * font-lock.el (lisp-font-lock-keywords-2): Caller changed. - -2012-02-10 Glenn Morris <rgm@gnu.org> - - * textmodes/bibtex.el: - Add missing :version tags for new/changed defcustoms. - - * files.el (remote-file-name-inhibit-cache): Doc fixes. - -2012-02-09 Lars Ingebrigtsen <larsi@rusty> - - * mail/smtpmail.el (smtpmail-user-mail-address): New function. - (smtpmail-via-smtp): Use it, or fall back on the From address. - (smtpmail-send-it): Ditto. - -2012-02-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar): - Don't fallback on byte-compile-defvar. Optimize (defvar foo) away. - (byte-compile-tmp-var): New const. - (byte-compile-defvar): Use it to minimize .elc size. - Just use `defvar' rather than simulate it (bug#10761). - -2012-02-09 Glenn Morris <rgm@gnu.org> - - * files.el (rename-uniquely): Doc fix. (Bug#3806) - - * progmodes/cc-guess.el (c-guess-offset-threshold, c-guess-region-max): - Add :version tags. - - * progmodes/compile.el (compilation-error-screen-columns) - (compilation-first-column, compilation-filter-start): Doc fixes. - - * vc/log-view.el (log-view-toggle-entry-display): - * vc/vc.el (vc-merge, vc-pull): Doc fixes. - - * mail/emacsbug.el (report-emacs-bug-can-use-osx-open) - (report-emacs-bug-can-use-xdg-email): - (report-emacs-bug-insert-to-mailer): Doc fixes. - (report-emacs-bug): Message fix. - - * net/browse-url.el (browse-url-can-use-xdg-open) - (browse-url-xdg-open): Doc fixes. - - * electric.el (electric-indent-mode, electric-pair-mode) - (electric-layout-rules, electric-layout-mode): Doc fixes. - (electric-pair-pairs, electric-pair-skip-self): Add :version tags. - -2012-02-08 Martin Rudalics <rudalics@gmx.at> - - * server.el (server-unselect-display): Don't inadvertently kill - the current buffer. (Bug#10729) - -2012-02-08 Glenn Morris <rgm@gnu.org> - - * progmodes/sql.el (sql-port, sql-connection-alist, sql-list-all) - (sql-list-table): Doc fixes. - - * image-mode.el (image-transform-minor-mode-map, image-transform-mode): - Comment out (does nothing). - - * completion.el (dynamic-completion-mode): - * dirtrack.el (dirtrack-debug-mode): - * electric.el (electric-layout-mode): - * epa-mail.el (epa-mail-mode, epa-global-mail-mode): - * face-remap.el (text-scale-mode, buffer-face-mode): - * iimage.el (iimage-mode): - * image-mode.el (image-transform-mode): - * minibuffer.el (completion-in-region-mode): - * scroll-lock.el (scroll-lock-mode): - * simple.el (next-error-follow-minor-mode): - * tar-mode.el (tar-subfile-mode): - * tooltip.el (tooltip-mode): - * vcursor.el (vcursor-use-vcursor-map): - * wid-browse.el (widget-minor-mode): - * emulation/tpu-edt.el (tpu-edt-mode): - * emulation/tpu-extras.el (tpu-cursor-free-mode): - * international/iso-ascii.el (iso-ascii-mode): - * language/thai-util.el (thai-word-mode): - * mail/supercite.el (sc-minor-mode): - * net/goto-addr.el (goto-address-mode): - * net/rcirc.el (rcirc-multiline-minor-mode, rcirc-track-minor-mode): - * progmodes/cwarn.el (cwarn-mode): - * progmodes/flymake.el (flymake-mode): - * progmodes/glasses.el (glasses-mode): - * progmodes/hideshow.el (hs-minor-mode): - * progmodes/pascal.el (pascal-outline-mode): - * textmodes/enriched.el (enriched-mode): - * vc/smerge-mode.el (smerge-mode): - Doc fixes (minor mode argument). - -2012-02-07 Eli Zaretskii <eliz@gnu.org> - - * ls-lisp.el (ls-lisp-sanitize): New function. - (ls-lisp-insert-directory): Use it to fix or remove any elements - in file-alist with missing attributes. (Bug#4673) - -2012-02-07 Alan Mackenzie <acm@muc.de> - - Fix spurious recognition of c-in-knr-argdecl. - - * progmodes/cc-engine.el (c-in-knr-argdecl): Check for '=' in a - putative K&R region. - -2012-02-07 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-engine.el (c-forward-objc-directive): - Prevent looping in "#pragma mark @implementation". - -2012-02-07 Michael Albinus <michael.albinus@gmx.de> - - * notifications.el (notifications-on-closed-signal): Make `reason' - optional. (Bug#10744) - -2012-02-07 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/easy-mmode.el (define-minor-mode): - Doc fixes for the macro and the mode it defines. - - * image.el (imagemagick-types-inhibit): Doc fix. - - * cus-start.el (imagemagick-render-type): Add it. - -2012-02-06 Lars Ingebrigtsen <larsi@gnus.org> - - * progmodes/cc-mode.el (c-standard-font-lock-fontify-region-function): - Set the default at load time, too, so that `font-lock-fontify-buffer' - can be called without setting up the entire mode first. This fixes - a bug in `mm-inline-text' with C MIME parts. - -2012-02-06 Chong Yidong <cyd@gnu.org> - - * simple.el (list-processes--refresh): Delete exited processes - (Bug#8094). - - * comint.el (comint-next-prompt): next-single-char-property-change - and prev-single-char-property-change never return nil (Bug#8657). - - * custom.el (defcustom): Doc fix (Bug#9711). - -2012-02-05 Chong Yidong <cyd@gnu.org> - - * cus-edit.el (custom-variable-reset-backup): Quote the value - before storing it in the customized-value property (Bug#6712). - (custom-display): Add a customization type tag. - (custom-buffer-create-internal): Improve tooltip message. - - * wid-edit.el (widget-field-value-get): New optional arg to - suppress trailing whitespace truncation. - (character): Use it (Bug#2689). - -2012-02-05 Andreas Schwab <schwab@linux-m68k.org> - - * progmodes/gud.el (gud-pv): Use pv instead of pv1. - * progmodes/gdb-mi.el (gud-pp): Use pp instead of pp1. - -2012-02-05 Chong Yidong <cyd@gnu.org> - - * cus-edit.el (custom-variable-value-create): For mismatched - types, show the current value (Bug#7600). - - * custom.el (defcustom): Doc fix. - -2012-02-05 Glenn Morris <rgm@gnu.org> - - * font-lock.el (lisp-font-lock-keywords-2): Add with-wrapper-hook. - -2012-02-05 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lisp/pp.el (pp-to-string): Use `with-temp-buffer'. - (pp-buffer): Use `ignore-errors', `looking-at-p'. - (pp-last-sexp): Use `looking-at-p'. - -2012-02-04 Glenn Morris <rgm@gnu.org> - - * files.el (revert-buffer): - Doc fix (mention revert-buffer-in-progress-p). - - * emacs-lisp/ert-x.el (ert-simulate-command): - Check deferred-action-list (which is obsolete) is bound. - - * subr.el (with-wrapper-hook): Doc fixes. - - * simple.el (filter-buffer-substring-functions) - (buffer-substring-filters, filter-buffer-substring): Doc fixes. - -2012-02-04 Lars Ljung <lars@matholka.se> (tiny change) - - * eshell/esh-ext.el (eshell-windows-shell-file): Match "cmdproxy" - anywhere in shell-file-name, not just at the beginning. (Bug#10523) - -2012-02-04 Leo Liu <sdl.web@gmail.com> - - * emacs-lisp/smie.el: Fix dead link (Bug#10711). - -2012-02-04 Glenn Morris <rgm@gnu.org> - - * image.el (image-extension-data): Add obsolete alias. - - * isearch.el (isearch-update): Doc fix. - - * facemenu.el (list-colors-display): Doc fix (minor rephrasing). - - * ido.el (ido-find-file): Doc fix (ido-toggle-vc not on any key). - -2012-02-03 Glenn Morris <rgm@gnu.org> - - * image.el (image-animated-p): Doc fix. Use image-animated-types. - (image-animate-timeout): Doc fix. - - * image-mode.el (image-animate-loop, image-toggle-animation): Doc fixes. - -2012-02-02 Glenn Morris <rgm@gnu.org> - - * server.el (server-auth-dir): Doc fix. - (server-eval-at): Doc fix. Give an explicit error if !server-use-tcp. - - * subr.el (run-mode-hooks): Doc fix. - -2012-02-02 Juri Linkov <juri@jurta.org> - - * image-mode.el (image-toggle-display-image): Remove tautological - `major-mode' from the `derived-mode-p' test. - -2012-02-02 Kenichi Handa <handa@m17n.org> - - * composite.el (compose-region): Cancel previous change. - -2012-02-02 Kenichi Handa <handa@m17n.org> - - * composite.el (compose-region, compose-string): Signal error for - a null string component (Bug#6988). - -2012-02-01 Chong Yidong <cyd@gnu.org> - - * view.el (view-buffer-other-window, view-buffer-other-frame): - Handle special modes like view-buffer (Bug#10650). - (view-buffer): Simplify. - - * frame.el (set-frame-font): Tweak meaning of third argument. - - * dynamic-setting.el (font-setting-change-default-font): - Use set-frame-font (Bug#9982). - -2012-02-01 Glenn Morris <rgm@gnu.org> - - * progmodes/compile.el (compilation-internal-error-properties): - Respect compilation-first-column in the "*compilation*" buffer. - - * emacs-lisp/easy-mmode.el (define-minor-mode): - Relax :variable's test for a named function. - -2012-01-31 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-engine.el (c-guess-basic-syntax): CASE 5B.1: Fix an - off by one error. - -2012-01-31 Chong Yidong <cyd@gnu.org> - - * frame.el (set-frame-font): New arg ALL-FRAMES. - - * menu-bar.el (menu-set-font): Use set-frame-font. - - * faces.el (face-spec-reset-face): Don't apply unspecified - attribute values to the default face. - -2012-01-31 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/cwarn.el (cwarn): Remove dead link. - (cwarn-configuration, cwarn-verbose, cwarn-mode-text, cwarn-load-hook): - Remove * from defcustom docstrings. - (turn-on-cwarn-mode): Make obsolete. - (c-at-toplevel-p): Remove compatibility code for Emacs 20.3 and older. - (turn-on-cwarn-mode-if-enabled): Call `cwarn-mode'. - -2012-01-31 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. - Fix :variable handling of mode a symbol not equal to modefun. - Allow named functions to be used as the cdr of :variable. - -2012-01-30 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/authors.el (authors-fixed-entries): - Remove reference to deleted file rnewspost.el. - -2012-01-29 Juanma Barranquero <lekktu@gmail.com> - - * window.el (window-with-parameter): Remove unused variable `windows'. - (window--side-check): Remove unused variable `code'. - (window--resize-siblings): Remove unused variable `first'. - (adjust-window-trailing-edge): Remove unused variable `failed'. - (window-deletable-p, window--delete): Remove unused variable `buffer'. - Use `let', not `let*'. - (balance-windows-2): Remove unused variable `found'. - (window--state-put-2): Remove unused variable `splits'. - (window-state-put): Remove unused variable `selected'. - (same-window-p): Use `string-match-p'. - (display-buffer-assq-regexp): Remove unused variable `value'. - (display-buffer-pop-up-frame, display-buffer-pop-up-window): - Mark argument ALIST as ignored. - (pop-to-buffer): Remove unused variable `old-window'. - -2012-01-29 Eli Zaretskii <eliz@gnu.org> - - * jka-cmpr-hook.el (jka-compr-compression-info-list): Support .lz - and .lzma compressed files. - -2012-01-29 Chong Yidong <cyd@gnu.org> - - * frame.el (window-system-default-frame-alist): Doc fix. - - * dynamic-setting.el (font-setting-change-default-font): Don't - change the default face if SET-FONT argument is non-nil (Bug#9982). - -2012-01-29 Samuel Bronson <naesten@gmail.com> - - * custom.el (defcustom): Add doc link to Lisp manual (Bug#10635). - -2012-01-29 Syver Enstad <syver.enstad@cisco.com> (tiny change) - - * progmodes/gud.el (pdb): Give pdb full paths, to allow setting - breakpoints in files outside current directory (Bug#6098). - -2012-01-29 Chong Yidong <cyd@gnu.org> - - * progmodes/python.el: Require ansi-color at top-level. - - * emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): - Define and use in Emacs Lisp mode (Bug#9360). - (lisp-mode-abbrev-table): Add doc. - (lisp-mode-variables): Don't set local-abbrev-table. - (lisp-interaction-mode): Use emacs-lisp-mode-abbrev-table. - -2012-01-28 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el (bibtex-vec-incr): Fix docstring. - -2012-01-28 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el (bibtex-entry-alist): New function. - (bibtex-set-dialect): Use it. Either set global values of - dialect-dependent variables or bind these variables buffer-locally - (Bug#10254). - (bibtex-mode): Call bibtex-set-dialect via - hack-local-variables-hook. - (bibtex-dialect): Update docstring. - Add safe-local-variable predicate. - (bibtex-entry-alist, bibtex-field-alist): Initialize via - bibtex-set-dialect. - (bibtex-mode-map): Define menu for each dialect. - (bibtex-entry): Fix docstring. - -2012-01-28 Chong Yidong <cyd@gnu.org> - - * eshell/esh-arg.el (eshell-quote-argument): New function. - - * eshell/esh-ext.el (eshell-invoke-batch-file): - * eshell/em-unix.el (eshell/cat, eshell/du): Use it to quote the - first arg to eshell-parse-command (Bug#10523). - -2012-01-28 Drew Adams <drew.adams@oracle.com> - - * net/ange-ftp.el (ange-ftp-canonize-filename): Check, that - `default-directory' is non-nil. - -2012-01-28 Eli Zaretskii <eliz@gnu.org> - - * mail/emacsbug.el (report-emacs-bug): Fill the potentially long - line that displays system-configuration-options. (Bug#9924) - -2012-01-28 Drew Adams <drew.adams@oracle.com> - - * descr-text.el (describe-char): Show information about POS, in - addition to information about the character at POS. Improve and - update the doc string. Change "code point" to "code point in - charset", to avoid confusion with the character's Unicode code - point shown above that. (Bug#10129) - -2012-01-28 Eli Zaretskii <eliz@gnu.org> - - * descr-text.el (describe-char): Show the raw character, not only - its display form at POS. Suggested by Kenichi Handa <handa@m17n.org>. - See http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00760.html - for the reasons. - -2012-01-28 Phil Hagelberg <phil@hagelb.org> - - * emacs-lisp/package.el (package-install): - Run package-refresh-contents if there is no archive yet (Bug#9798). - -2012-01-28 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/package.el (package-maybe-load-descriptor): - New function, split from package-maybe-load-descriptor. - (package-maybe-load-descriptor): Use it. - (package-download-transaction): Fully load required packages - inside the loop, so that `require' calls work (Bug#10593). - (package-install): No need to call package-initialize now. - -2012-01-28 Chong Yidong <cyd@gnu.org> - - * simple.el (deactivate-mark): Doc fix (Bug#8614). - - * tooltip.el (tooltip-mode): Doc fix. - (tooltip-use-echo-area): Mark as obsolete (Bug#6595). - - * frame.el (set-cursor-color): Doc fix (Bug#352). - - * mail/rmail.el (rmail-start-mail): Add send-action again (Bug#10625). - (rmail-mail-return): Switch to NEWBUF only if it is non-nil. - - * cus-edit.el (custom-buffer-create-internal): Fix search button - action (Bug#10542). - (customize-unsaved, customize-saved): Doc fix (Bug#10541). - -2012-01-27 Eduard Wiebe <usenet@pusto.de> - - * dired.el (dired-mark-files-regexp): - Include any subdirectory components. (Bug#10445) - -2012-01-27 Mike Lamb <mrlamb@gmail.com> (tiny change) - - * pcmpl-unix.el (pcmpl-ssh-known-hosts): - Handle [host]:port syntax. (Bug#10533) - -2012-01-27 Alex Harsanyi <harsanyi@mac.com> - - * xml.el (xml-parse-tag): Fix parsing of comments (Bug#10405). - -2012-01-26 Glenn Morris <rgm@gnu.org> - - * dired-x.el (dired-bind-jump): Use ctl-x-map and ctl-x-4-map. - * term.el (term-raw-escape-map): Use Control-X-prefix. - * vc/vc-hooks.el (vc-prefix-map): Use ctl-x-map. (Bug#10566) - -2012-01-25 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-state-get, window--state-get-1): Don't deal - with fixed-sizeness of windows. Simplify code. - -2012-01-25 Jérémy Compostella <jeremy.compostella@gmail.com> - - * window.el (window--state-get-1, window--state-put-2): - Don't save and restore the mark. - -2012-01-25 Chong Yidong <cyd@gnu.org> - - * custom.el (custom-variable-p): Doc fix. - -2012-01-25 Glenn Morris <rgm@gnu.org> - - * dired.el (dired-goto-file): Handle some of the more common - characters that `ls -b' escapes. (Bug#10596) - - * progmodes/compile.el (compilation-next-error-function): - Respect compilation-first-column in the "*compilation*" buffer. - * progmodes/grep.el (grep-first-column): New variable. (Bug#10594) - - * vc/vc.el (vc-modify-change-comment): Scoping fix. (Bug#10513) - -2012-01-24 Glenn Morris <rgm@gnu.org> - - * pcmpl-gnu.el (pcomplete/tar): Handle " - ". (Bug#10457) - -2012-01-24 Julien Danjou <julien@danjou.info> - - * color.el (color-rgb-to-hsl): Fix value computing. - (color-hue-to-rgb): New function. - (color-hsl-to-rgb): New function. - (color-clamp, color-saturate-hsl, color-saturate-name) - (color-desaturate-hsl, color-desaturate-name, color-lighten-hsl) - (color-lighten-name, color-darken-hsl, color-darken-name): New function. - -2012-01-24 Glenn Morris <rgm@gnu.org> - - * vc/vc-rcs.el (vc-rcs-create-tag): - * vc/vc-sccs.el (vc-sccs-create-tag): - Fix argument spec to be what vc-create-tag expects. (Bug#10515) - -2012-01-23 Mike Lamb <mrlamb@gmail.com> (tiny change) - - * eshell/esh-util.el (eshell-read-hosts-file): - Skip comment lines. (Bug#10549) - - * eshell/em-unix.el (pcomplete/ssh): Remove. (Bug#10548) - -2012-01-23 Juanma Barranquero <lekktu@gmail.com> - - * subr.el (display-delayed-warnings): Doc fix. - (collapse-delayed-warnings): New function to collapse identical - adjacent warnings. - (delayed-warnings-hook): Add it. - -2012-01-22 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-action-login): Set connection property "login-as". - - * net/tramp-sh.el (tramp-methods): Add user spec to "pscp" and "psftp". - (tramp-default-user-alist): Don't add "pscp". - (tramp-do-copy-or-rename-file-out-of-band): Use connection - property "login-as", if set. (Bug#10530) - -2012-01-21 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-default-user-alist): Don't add "plink", - "plink1" and "psftp". (Bug#10530) - -2012-01-21 Kenichi Handa <handa@m17n.org> - - * international/mule-cmds.el (prefer-coding-system): Show a - warning message if the default value of file-name-coding-system - was not changed. - -2012-01-21 Jérémy Compostella <jeremy.compostella@gmail.com> - - * windmove.el (windmove-reference-loc): - Fix windmove-reference-loc miscalculation. - -2012-01-21 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-units.el (math-put-default-units): Don't use "1" as a - default unit. - -2012-01-21 Glenn Morris <rgm@gnu.org> - - * international/mule.el (auto-coding-alist): Add .tbz. - - * files.el (local-enable-local-variables): Doc fix. - (inhibit-local-variables-regexps): Rename from - inhibit-first-line-modes-regexps. Keep old name as obsolete alias. - Doc fix. Add some extensions from auto-coding-alist. - (inhibit-local-variables-suffixes): - Rename from inhibit-first-line-modes-suffixes. Doc fix. - (inhibit-local-variables-p): - New function, extracted from set-auto-mode-1. - (set-auto-mode): Doc fix. Respect inhibit-local-variables-regexps. - (set-auto-mode-1): Doc fix. Use inhibit-local-variables-p. - (hack-local-variables): Doc fix. Make the mode-only case - respect enable-local-variables and friends. - Respect inhibit-local-variables-regexps for file-locals, but - not for directory-locals. - (set-visited-file-name): - Take account of inhibit-local-variables-regexps. - Whether it applies may change as the file name is changed. - * jka-cmpr-hook.el (jka-compr-install): - * jka-compr.el (jka-compr-uninstall): - Update for inhibit-first-line-modes-suffixes name change. - -2012-01-20 Martin Rudalics <rudalics@gmx.at> - - * help-macro.el (make-help-screen): Temporarily restore original - binding for minor-mode-map-alist (Bug#10454). - -2012-01-19 Julien Danjou <julien@danjou.info> - - * color.el (color-name-to-rgb): Use the white color to find the max - color component value and return correctly computed values. - (color-name-to-rgb): Add missing float conversion for max value. - -2012-01-19 Martin Rudalics <rudalics@gmx.at> - - * window.el (window--state-get-1, window-state-get): Do not use - special state value for window-persistent-parameters. - Rename argument IGNORE to WRITABLE. Rewrite doc-string. - (window--state-put-2): Reset all window parameters to nil before - assigning values of persistent parameters. - -2012-01-18 Alan Mackenzie <acm@muc.de> - - Eliminate sluggishness and hangs in fontification of "semicolon - deserts". - - * progmodes/cc-engine.el (c-state-nonlit-pos-interval): - Change value 10000 -> 3000. - (c-state-safe-place): Reformulate so it doesn't stack up an - infinite number of wrong entries in c-state-nonlit-pos-cache. - (c-determine-limit-get-base, c-determine-limit): New functions to - determine backward search limits disregarding literals. - (c-find-decl-spots): Amend commenting. - (c-cheap-inside-bracelist-p): New function which detects "={". - - * progmodes/cc-fonts.el - (c-make-font-lock-BO-decl-search-function): Give a limit to a - backward search. - (c-font-lock-declarations): Fix an occurrence of point being - undefined. Check additionally for point being in a bracelist or - near a macro invocation without a semicolon so as to avoid a - fruitless time consuming search for a declarator. Give a more - precise search limit for declarators using the new - c-determine-limit. - -2012-01-18 Glenn Morris <rgm@gnu.org> - - * files.el (auto-mode-alist, inhibit-first-line-modes-regexps) - (set-auto-mode): Doc fixes. - -2012-01-17 Glenn Morris <rgm@gnu.org> - - * isearch.el (search-nonincremental-instead): Fix doc typo. - - * dired.el (dired-insert-directory): Handle newlines in directory name. - (dired-build-subdir-alist): Unescape newlines in directory name. - -2012-01-17 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-local-end-of-line): New defcustom. - (tramp-action-login, tramp-action-yesno, tramp-action-yn) - (tramp-action-terminal): Use it. (Bug#10530) - -2012-01-16 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion--replace): Strip properties (bug#10062). - -2012-01-16 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-state-ignored-parameters): Remove variable. - (window--state-get-1): Rename argument MARKERS to IGNORE. - Handle persistent window parameters. Make copy of clone-of - parameter only if requested. (Bug#10348) - (window--state-put-2): Install a window parameter only if it has - a non-nil value or an existing parameter shall be overwritten. - -2012-01-15 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-remote-path): Set tramp-autoload cookie. - -2012-01-14 Eli Zaretskii <eliz@gnu.org> - - * info.el (Info-toc-build): If the Info file has no "Up" pointer, - don't pass the (nil) value of `upnode' to string-match. - -2012-01-14 Chong Yidong <cyd@gnu.org> - - * startup.el (command-line): Fix X resource class for cursorColor. - Fix values recognized by the cursorBlink resource. - -2012-01-14 Paul Eggert <eggert@cs.ucla.edu> - - * epg.el (epg--make-temp-file): Avoid permission race condition - when running on old Emacs versions (bug#10403). - -2012-01-14 Glenn Morris <rgm@gnu.org> - - * dired.el (dired-get-filename): Fix 'verbatim case of previous change. - -2012-01-13 Alan Mackenzie <acm@muc.de> - - Fix filling for when filladapt mode is enabled. - - * progmodes/cc-cmds.el (c-fill-paragraph): In the invocation of - c-mask-paragraph, pass in `fill-paragraph' rather than - `fill-region-as-paragraph'. (This is a reversion of a previous - change.) - * progmodes/cc-mode.el (c-basic-common-init): - Make fill-paragraph-handle-comment buffer local and set it to nil. - -2012-01-13 Glenn Morris <rgm@gnu.org> - - * dired.el (dired-switches-escape-p): New function. - (dired-insert-directory): Use dired-switches-escape-p. - (dired-get-filename): Undo "\ " quoting if needed. (Bug#10469) - - * find-dired.el (find-ls-option): Doc fix. (Bug#10262) - -2012-01-12 Glenn Morris <rgm@gnu.org> - - * mail/sendmail.el (mail-mode): Update paragraph-separate for - changes in adaptive-fill-regexp. (Bug#10276) - -2012-01-11 Alan Mackenzie <acm@muc.de> - - Fix Emacs bug #10463 - put `widen's around the critical spots. - - * progmodes/cc-engine.el (c-in-literal, c-literal-limits): Put a - widen around each invocation of c-state-pp-to-literal. Remove an - unused let variable. - -2012-01-11 Glenn Morris <rgm@gnu.org> - - * dired-aux.el (dired-do-shell-command): Fix */? logic. (Bug#6561) - Doc fix. - -2012-01-10 Chong Yidong <cyd@gnu.org> - - * net/network-stream.el (network-stream-open-starttls): - Avoid emitting a confusing error message when the server gives a bad - response to the capability command. - -2012-01-10 Glenn Morris <rgm@gnu.org> - - * mail/unrmail.el (unrmail): Tweak previous change. - -2012-01-09 Chong Yidong <cyd@gnu.org> - - * custom.el (custom-safe-themes): Use SHA-256 for hashing. - -2012-01-08 Alan Mackenzie <acm@muc.de> - - Optimize font locking in long enum definitions. - - * progmodes/cc-fonts.el (c-font-lock-declarations): Add an extra - arm to a cond form to handle enums. - * progmodes/cc-langs.el (c-enums-contain-decls): New lang variable. - * progmodes/cc-mode.el (c-font-lock-fontify-region): Correct a typo. - -2012-01-07 Paul Eggert <eggert@cs.ucla.edu> - - * files.el (move-file-to-trash): Preserve default file modes on error. - (Bug#10401) - -2012-01-07 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * faces.el (set-face-attribute): Clarify the meaning of the nil - frame (bug#10294). - - * subr.el (with-selected-frame): Mention that the selected frame - is restored (bug#9980). - - * ibuffer.el (ibuffer-mode): List the bindings in the corrent map - (bug#9759). - - * mail/smtpmail.el (password-cache-add): Remove unused declaration. - (password-read): Don't autoload unused function. - -2012-01-07 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/which-func.el (which-func-mode): Turn into a - non-interactive function and mark as obsolete (bug#10428). - -2012-01-06 Chong Yidong <cyd@gnu.org> - - * files.el (hack-dir-local-variables-non-file-buffer): Add doc. - (hack-one-local-variable-eval-safep): Allow 0 arg for minor mode - functions, along with 1 and -1. - -2012-01-06 Eli Zaretskii <eliz@gnu.org> - - * time.el (display-time-load-average) - (display-time-default-load-average): Doc fixes. See the thread - starting at - http://lists.gnu.org/archive/html/help-gnu-emacs/2012-01/msg00059.html - for the details. - -2012-01-06 Glenn Morris <rgm@gnu.org> - - * mail/unrmail.el (unrmail): Give an explicit error if the input file - has no messages. (Bug#10377) - - * info.el (Info-mode-map): Bind e to end-of-buffer, rather - than Info-edit. (Bug#10385) - - * time.el (display-time-load-average, display-time-next-load-average): - Doc fixes. - - * emacs-lisp/bytecomp.el (byte-compile-file): Do not propagate a file - local setting of buffer-read-only to the input buffer. (Bug#10419) - - * calendar/calendar.el (calendar-mode): - Locally set scroll-margin to 0. (Bug#10379) - -2012-01-06 Ulrich Mueller <ulm@gentoo.org> - - * play/doctor.el (doctor-death): Escape "," characters. (Bug#10370) - -2012-01-05 Glenn Morris <rgm@gnu.org> - - * eshell/em-unix.el (diff-no-select): Autoload it. - (eshell/diff): Use diff-no-select. (Bug#10420) - -2012-01-05 Chong Yidong <cyd@gnu.org> - - * shell.el (shell-dynamic-complete-functions): Revert last change. - (shell-command-completion-function): New function. - (shell-completion-vars): Use it to implement - shell-completion-execonly (Bug#10417). - - * custom.el (enable-theme): Don't set custom-safe-themes. - - * cus-theme.el (custom-theme-merge-theme): - Ignore custom-enabled-themes and custom-safe-themes. - -2012-01-05 Michael R. Mauger <mmaug@yahoo.com> - - * progmodes/sql.el (sql-login-hook): Add hook to respond to the - first prompt in `sql-interacive-mode'. - (sql-mode-oracle-font-lock-keywords): Add CONNECT_BY_* builtin - keywords. - (sql-mode-mysql-font-lock-keywords): Add ELSEIF keyword. - (sql-product-interactive): Bug fix: Set `sql-buffer' in - context of original buffer. Invoke `sql-login-hook'. - -2012-01-04 Eli Zaretskii <eliz@gnu.org> - - * mail/rmail.el (rmail-font-lock-keywords): Accept non-ASCII - letters in cite-prefix. - -2012-01-03 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-stream-type): Mention the `ssl' value. - -2012-01-03 Chong Yidong <cyd@gnu.org> - - * shell.el (shell-dynamic-complete-functions): - Put pcomplete-completions-at-point, so as to try - comint-filename-completion first (Bug#10417). - -2012-01-02 Richard Stallman <rms@gnu.org> - - * battery.el (battery-status-function): - Detect when to use battery-yeeloong-sysfs. - (battery-echo-area-format): Add string for Yeeloong. - (battery-linux-proc-apm, battery-linux-proc-acpi): Doc fixes. - (battery-yeeloong-sysfs): New function. - -2012-01-02 Chong Yidong <cyd@gnu.org> - - * dirtrack.el (dirtrack-list): Eliminate unused third element. - (dirtrack): Merge code for handling relative filenames in prompt - from shell-dir-cookie-watcher. - (dirtrack-debug-message): New arg to avoid excess format calls. - - * shell.el (shell-dir-cookie-re): Variable deleted. - (shell-dir-cookie-watcher): Function deleted. - (shell-mode): Don't use shell-dir-cookie-re, since it is redundant - with dirtrack-mode. - -2012-01-01 Eli Zaretskii <eliz@gnu.org> - - * term/w32-win.el (dynamic-library-alist) <gnutls>: - Load libgnutls-28.dll, from GnuTLS version 3.x, in preference to - libgnutls-26.dll. - -2011-12-31 Andreas Schwab <schwab@linux-m68k.org> - - * emacs-lisp/bytecomp.el (byte-compile-file): Fix indentation. - -2011-12-31 Eli Zaretskii <eliz@gnu.org> - - * mail/rmail.el (rmail-show-message-1): Decode any RFC2047 encoded - headers of non-MIME messages, when rmail-enable-mime is non-nil. - -2011-12-29 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-find-shell): Set "remote-shell" property - also for alternative shells. - (tramp-open-connection-setup-interactive-shell): Check, whether - the shell is a busybox. - (tramp-send-command): Don't suppress multiple prompts for - busyboxes, it hurts. - -2011-12-28 Chong Yidong <cyd@gnu.org> - - * progmodes/gdb-mi.el (gdb-get-source-file-list) - (gdb-get-source-file): Move mode line update to - gdb-get-source-file (Bug#10087). - -2011-12-25 Chong Yidong <cyd@gnu.org> - - * progmodes/gud.el (gud-gdb-fetch-lines-filter): Just use - gud-gdb-marker-filter without taking it as an argument. - (gud-gdb-run-command-fetch-lines): Caller changed. - (gud-gdb-completion-function): New variable. - (gud-gdb-completion-at-point): Use it. - (gud-gdb-completions-1): Split from gud-gdb-completions. - - * progmodes/gdb-mi.el (gdb-input): Accept command and handler - function as separate arguments. - (gdb-init-1, gdb-non-stop-handler, gdb-check-target-async) - (gdb-tooltip-print-1, gud-watch, gdb-speedbar-update) - (gdb-var-list-children, gdb-var-set-format, gdb-var-delete-1) - (gdb-var-delete-children, gdb-edit-value, gdb-var-update) - (gdb-stopped, def-gdb-auto-update-trigger) - (gdb-place-breakpoints, gdb-select-thread, gdb-select-frame) - (gdb-get-changed-registers, gdb-get-main-selected-frame): - Callers changed. - (gud-gdbmi-completions): New function. - (gdb): Use it for generating the completion table. - -2011-12-24 Alan Mackenzie <acm@muc.de> - - Introduce a mechanism to widen the region used in context font - locking. Use this to protect declarations from losing their contexts. - - * progmodes/cc-langs.el (c-before-font-lock-functions): - Replace c-set-fl-decl-start with c-change-set-fl-decl-start (Renaming). - (c-before-context-fontification-functions): New defvar, a list of - functions to be run just before context (etc.) font locking. - - * progmodes/cc-mode.el (c-extend-font-lock-region-for-macros): - New, functionality extracted from - c-neutralize-syntax-in-and-mark-CPP. - (c-in-after-change-fontification): New variable. - (c-after-change): Set c-in-after-change-fontification. - (c-set-fl-decl-start): Rejig its interface, so it can be called - from both after-change and context fontifying. - (c-change-set-fl-decl-start, c-context-set-fl-decl-start): - New functions. - (c-standard-font-lock-fontify-region-function): New variable. - (c-font-lock-fontify-region): New function. - -2011-12-24 Juri Linkov <juri@jurta.org> - - * window.el (window--state-get-1): Set `FORCE' arg of `mark' to t. - (Bug#10348) - -2011-12-23 Michael Albinus <michael.albinus@gmx.de> - - * net/ange-ftp.el (ange-ftp-copy-file-internal): Check for - existence of source file. (Bug#10325) - -2011-12-23 Alan Mackenzie <acm@muc.de> - - Fix unstable fontification inside templates. - - * progmodes/cc-langs.el (c-before-font-lock-functions): - Newly created from the singular version. The (c c++ objc) entry now - additionally has c-set-fl-decl-start. The other languages (apart - from AWK) have that as a single entry. - - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): - The functionality for "local" declarations has been extracted to - c-set-fl-decl-start. - - * progmodes/cc-mode.el (c-common-init, c-after-change): - Changes due to pluralisation of c-before-font-lock-functions. - (c-set-fl-decl-start): New function, extracted from - c-font-lock-enclosing-decls and enhanced. - -2011-12-23 Juanma Barranquero <lekktu@gmail.com> - - * desktop.el (desktop-internal-v2s): Fix typos in docstring (bug#10353). - -2011-12-22 Juri Linkov <juri@jurta.org> - - * progmodes/grep.el (rgrep): Fix docstring. (Bug#10185) - -2011-12-22 Chong Yidong <cyd@gnu.org> - - * vc/vc-hooks.el (vc-keep-workfiles): Doc fix. - -2011-12-21 Drew Adams <drew.adams@oracle.com> - - * files.el (file-remote-p): Fix docstring. (Bug#10319) - -2011-12-21 Jérémy Compostella <jeremy.compostella@gmail.com> - - * battery.el (battery-linux-sysfs): Add missing parameters from acpi. - -2011-12-21 Teodor Zlatanov <tzz@lifelogs.com> - - * progmodes/cfengine.el: Add Version. Improve CFEngine 3.x syntax - highlighting and support. Fix up comments for capitalization. - (cfengine-mode-debug): New var. - (cfengine3-mode): Change the modeline indicator to "CFE3". - (cfengine3-font-lock-keywords): Improve defun highlighting. - (cfengine2-actions): Rename from `cfengine-actions'. - (cfengine2-font-lock-keywords): Rename from - `cfengine-font-lock-keywords'. - (cfengine2-imenu-expression): Rename from - `cfengine-imenu-expression'. - (cfengine2-outline-level): Rename from `cfengine-outline-level'. - (cfengine2-beginning-of-defun): Rename from - `cfengine-beginning-of-defun'. - (cfengine2-end-of-defun): Rename from `cfengine-end-of-defun'. - (cfengine2-indent-line): Rename from `cfengine-indent-line'. - (cfengine2-mode): Rename from `cfengine-mode'. Change the - modeline indicator to "CFE2". - (cfengine-mode): Defalias to `cfengine-auto-mode'. - (cfengine-mode-abbrevs): Mark obsolete. - -2011-12-21 Chong Yidong <cyd@gnu.org> - - * vc/vc-bzr.el (vc-bzr-rename-file): Don't pass ~ to Bzr in - filename argument. - -2011-12-20 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-normalize-buffer-to-display): Remove. - (display-buffer): Handle buffer-or-name argument as in Emacs 23. - -2011-12-19 Chong Yidong <cyd@gnu.org> - - * vc/vc-dir.el (vc-dir-parent-marked-p, vc-dir-children-marked-p): - Don't signal an error in a predicate function; return non-nil. - (vc-dir-mark-file): Move the error here. - (vc-dir-mark-unmark): If acting on the region, keep going if one - of the entries cannot be marked/unmarked. - (vc-dir-mark-all-files): If current entry is a directory, mark - only child files, as documented. - -2011-12-19 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * ses.el: Ooops... undo changes of 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net, as trunk - branch is feature frozen, and 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net was a feature - addition. - -2011-12-18 Jan Djärv <jan.h.d@swipnet.se> - - * term/ns-win.el (ns-get-selection-internal) - (ns-store-selection-internal): Declare. - (ns-store-cut-buffer-internal, ns-get-cut-buffer-internal): - Declare as obsolete. - (ns-get-pasteboard, ns-paste-secondary): - Use ns-get-selection-internal. - (ns-set-pasteboard, ns-copy-including-secondary): - Use ns-store-selection-internal. - -2011-12-17 Chong Yidong <cyd@gnu.org> - - * vc/vc.el (vc-next-action): Doc fix; remove CVS-isms. - (vc-deduce-fileset): Doc fix. - -2011-12-16 Andreas Schwab <schwab@linux-m68k.org> - - * calc/calc-misc.el (calc-help): Avoid wrapping help message. - -2011-12-13 Sam Steingold <sds@gnu.org> - - * man.el (Man-getpage-in-background): When running under a - window-system, ignore $MANWIDTH and $COLUMNS. - -2011-12-15 Kenichi Handa <handa@m17n.org> - - * language/ethio-util.el: Change coding tag to utf-8-emacs. - (setup-ethiopic-environment-internal): Comment out key-binding for - ethio-toggle-punctuation. - -2011-12-13 Alan Mackenzie <acm@muc.de> - - Add the switch statement to AWK Mode. - - * progmodes/cc-awk.el (awk-font-lock-keywords): Add "switch", "case", - "default" to the keywords regexp. - - * progmodes/cc-langs.el (c-label-kwds): Let AWK take the same - expression as the rest. - (c-nonlabel-token-key): Allow string literals for AWK. - Refactor for the other modes. - - Large brace-block initialisation makes CC Mode slow: Fix. - Tidy up and accelerate c-in-literal, etc. by using the c-parse-state - routines. Limit backward searching in c-font-lock-enclosing.decl. - - * progmodes/cc-engine.el (c-state-pp-to-literal): Return the - pp-state and literal type in addition to the limits. - (c-state-safe-place): New defun, extracted from c-state-literal-at. - (c-state-literal-at): Use the above new defun. - (c-slow-in-literal, c-fast-in-literal): Remove. - (c-in-literal, c-literal-limits): Amend to use c-state-pp-to-literal. - - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Check for - being in a literal. Add a limit for backward searching. - - * progmodes/cc-mode.el (awk-mode): Don't alias c-in-literal to - c-slow-in-literal. - -2011-12-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/pascal.el: Declare `ind' as dyn-bound (bug#10264). - -2011-12-13 Martin Rudalics <rudalics@gmx.at> - - * window.el (delete-other-windows): Use correct frame in call to - window-with-parameter. - -2011-12-12 Daniel Pfeiffer <occitan@t-online.de> - - * progmodes/make-mode.el: Bring it up to date with makepp V2.0. - (makefile-make-font-lock-keywords): Extend meaning of `keywords'. - (makefile-gmake-statements, makefile-makepp-statements): - Use it and add new makepp keywords. - (makefile-makepp-font-lock-keywords): Add new patterns. - (makefile-match-function-end): Match new [...] and [[...]]. - -2011-12-11 Juanma Barranquero <lekktu@gmail.com> - - * ses.el (ses-call-printer-return, ses-cell-property-get) - (ses-sym-rowcol, ses-printer-validate, ses-formula-record) - (ses-create-cell-variable, ses-reset-header-string) - (ses-cell-set-formula, ses-repair-cell-reference-all) - (ses-self-reference-early-detection, ses-in-print-area, ses-set-curcell) - (ses-check-curcell, ses-call-printer, ses-adjust-print-width) - (ses-print-cell-new-width, ses-formula-references, ses-relocate-formula) - (ses-aset-with-undo, ses-load, ses-truncate-cell) - (ses-read-column-printer, ses-read-default-printer, ses-insert-row) - (ses-delete-row, ses-delete-column, ses-append-row-jump-first-column) - (ses-kill-override, ses-yank-pop, ses-yank-cells, ses-yank-tsf) - (ses-yank-resize, ses-export-tab, ses-mark-row, ses-mark-column) - (ses-renarrow-buffer, ses-insert-range, ses-insert-ses-range) - (ses-safe-printer, ses-safe-formula, ses-warn-unsafe, ses--clean-!) - (ses--clean-_, ses-range, ses-select, ses-center, ses-center-span) - (ses-dashfill, ses-unsafe): Fix typos and reflow docstrings. - -2011-12-11 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * ses.el: The overall change is to add cell renaming, that is - setting fancy names for cell symbols other than name matching - "\\`[A-Z]+[0-9]+\\'" regexp . - (ses-create-cell-variable): New defun. - (ses-relocate-formula): Relocate formulas only for cells the - symbols of which are not renamed, i.e. symbols whose names do not - match regexp "\\`[A-Z]+[0-9]+\\'". - (ses-relocate-all): Relocate values only for cells the symbols of - which are not renamed. - (ses-load): Create cells variables as the (ses-cell ...) are read, - in order to check row col consistency with cell symbol name only - for cells that are not renamed. - (ses-replace-name-in-formula): New defun. - (ses-rename-cell): New defun. - -2011-12-11 Chong Yidong <cyd@gnu.org> - - * progmodes/gdb-mi.el (gdb): Set comint-prompt-regexp, required - for completion via gud-gdb-fetch-lines-filter (Bug#10274). - -2011-12-11 Eric Hanchrow <eric.hanchrow@gmail.com> - - * window.el (other-window): Fix docstring. - -2011-12-10 Eli Zaretskii <eliz@gnu.org> - - * mail/rmailsum.el (rmail-header-summary): RFC2047 decode the - `from' or `to' address before taking its substring. - Fixes incorrect display in Rmail summary buffer whereby an RFC2047 - encoded name is chopped in the middle of the encoded string, and - thus displayed encoded. - -2011-12-10 Juanma Barranquero <lekktu@gmail.com> - - * makefile.w32-in (update-subdirs-CMD): Use a Local Variables section. - -2011-12-10 Eli Zaretskii <eliz@gnu.org> - - * textmodes/texnfo-upd.el: Update commentary. Add a warning not - to use texinfo-update-node and commands that call it if the - Texinfo file uses @node lines without next/prev/up pointers. - Correct outdated description about texinfo-master-menu. - (texinfo-all-menus-update, texinfo-master-menu) - (texinfo-update-node, texinfo-every-node-update) - (texinfo-multiple-files-update): Doc fix. Warn against updating - all the @node lines. - (texinfo-master-menu): Only call texinfo-update-node if the prefix - argument is numeric. Explain better in the doc string what the - function really does. - (texinfo-insert-master-menu-list): Improve the error message - displayed if there's no menu in the Top node. - (Bug#2975) See also this thread: - http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00156.html. - -2011-12-09 Manuel Gómez <mgrojo@gmail.com> (tiny change) - - * speedbar.el (speedbar-supported-extension-expressions): - Add .adb and .ads, commonly used for Ada source code (bug#10256). - -2011-12-09 Juanma Barranquero <lekktu@gmail.com> - - * printing.el (pr-mode-alist): - * simple.el (filter-buffer-substring-functions) - (completion-list-insert-choice-function): - * window.el (window-with-parameter, window-atom-root) - (window-sides-slots, window-size-fixed, window-min-delta) - (window-max-delta, window--resize-mini-window) - (window--resize-child-windows-normal, window-tree) - (delete-other-windows, quit-window, split-window) - (display-buffer-record-window, special-display-buffer-names) - (special-display-regexps, special-display-popup-frame) - (same-window-p, split-window-sensibly) - (display-buffer-overriding-action, display-buffer-alist) - (display-buffer-base-action, display-buffer, switch-to-buffer) - (switch-to-buffer-other-window, switch-to-buffer-other-frame) - (fit-window-to-buffer, recenter-positions) - (mouse-autoselect-window-state, mouse-autoselect-window-select): - * emacs-lisp/syntax.el (syntax-propertize-function): Fix typos - and remove unneeded backslashes in docstrings. - -2011-12-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/lisp-mode.el (defmethod): Add doc-string-elt (bug#10244). - - * pcmpl-gnu.el: Don't fail when there is no Makefile nor -f arg. - (pcmpl-gnu-makefile-regexps): Accept "makefile" as well as files that - end in ".mk". - (pcmpl-gnu-make-rule-names): Check "makefile" and ignore errors - when reading the makefile (bug#10116). - -2011-12-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * pcmpl-gnu.el (pcomplete/make): Also allow filename arguments - (bug#10116). - -2011-12-06 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/package.el (package-archives): Doc fix re riskiness. - -2011-12-06 Chong Yidong <cyd@gnu.org> - - * progmodes/cc-fonts.el (c-annotation-face): Use defface. - -2011-12-06 Juanma Barranquero <lekktu@gmail.com> - - * textmodes/table.el (table-shorten-cell): Fix typo. - -2011-12-05 Christopher Genovese <genovese.cr@gmail.com> (tiny change) - - * emacs-lisp/assoc.el (aput): Fix return value (bug#10146) - -2011-12-05 Eli Zaretskii <eliz@gnu.org> - - * descr-text.el (describe-char): Fix display of strong - right-to-left characters and directional embeddings and overrides. - - * simple.el (what-cursor-position): Fix display of codepoints of - strong right-to-left characters. - -2011-12-05 Chong Yidong <cyd@gnu.org> - - * faces.el (read-color): Doc fix. - -2011-12-05 Glenn Morris <rgm@gnu.org> - - * align.el (align--set-marker): Add doc-string. - Don't try to move something that is not a marker. (Bug#10216) - -2011-12-04 Glenn Morris <rgm@gnu.org> - - * calendar/appt.el (appt-add): Rewrite the interactive-spec to avoid - overly zealous deletion of trailing whitespace. - -2011-12-04 Juanma Barranquero <lekktu@gmail.com> - - * server.el (server-delete-client): On Windows, do not try to delete - the only terminal. - (server-process-filter): On Windows, treat requests for a tty frame as - if they were for a GUI frame if the running server is in GUI mode. - -2011-12-03 Glenn Morris <rgm@gnu.org> - - * textmodes/texinfmt.el (batch-texinfo-format): Doc fix. (Bug#10207) - -2011-12-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * electric.el: Streamline electric-indent's hook. - (electric-indent-chars): Revert to simple list. - (electric-indent-functions): New var. - (electric-indent-post-self-insert-function): Use it. - - * progmodes/prolog.el (prolog-find-value-by-system): Avoid error when - there's no inferior buffer (bug#10196). - (prolog-consult-compile): Don't use toggle-read-only. - -2011-12-02 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-maybe-open-connection): Handle user - interrupt. (Bug#10187) - -2011-12-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * pcmpl-gnu.el (pcomplete/tar): large-file-warn-threshold can be nil - (bug#9160). - - * dired-aux.el (dired-query): Don't assume help-char is modifier-free - (bug#10191). - -2011-12-02 Juri Linkov <juri@jurta.org> - - * info.el (Info-search): Display "end of manual" when Isearch - reaches the end of single-file Info manual. (Bug#9918) - -2011-12-02 Eli Zaretskii <eliz@gnu.org> - - * isearch.el (isearch-message-prefix): Run the input method part - of the prompt through bidi-string-mark-left-to-right. (Bug#10183) - -2011-12-02 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-occur): Use `word-search-regexp' for - `isearch-word'. - (isearch-search-and-update): Add condition for `isearch-word' and - call `word-search-regexp'. (Bug#10145) - -2011-12-01 Glenn Morris <rgm@gnu.org> - - * eshell/em-hist.el (eshell-hist-initialize): - Handle eshell-history-size nil and HISTSIZE set or unset. - (eshell-history-file-name, eshell-history-size): Fix custom type. - -2011-12-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * man.el (Man-completion-table): Fix the lambda case (bug#10168). - -2011-12-01 Michael McNamara <mac@mail.brushroad.com> - - * progmodes/verilog-mode.el (verilog-pretty-expr): - Rework verilog-pretty-expr to handle new assignment operators in system - verilog, such as += *= and the like. - (verilog-assignment-operator-re): Regular expression to find the - assigment operator in a verilog assignment. - (verilog-assignment-operation-re): Regular expression to find an - assignment statement for pretty-expr. - (verilog-in-attribute-p): Query returns true if point is in an - attribute context; used to skip these for expression line up from - pretty-expr. - (verilog-in-parameter-p): Query returns true if point is in an - parameter definition context; used to skip these for expression - line up from pretty-expr. - (verilog-in-parenthesis-p): Query returns true if point is in a - parenthetical expression, specifically ( ) but not [ ] or { }; - used by pretty-expr. - (verilog-just-one-space): If there is no space, don't add one. - (verilog-get-lineup-indent-2): Specifically skip just attribute - contexts for expression lineup, rather than skipping all - parenthetical expressions. - (verilog-calculate-indent): Fix comment, and fix indent. - (verilog-do-indent): Indent declarations in lists (suggested by - Joachim Lechner). - (verilog-mode-abbrev-table): Populate abbrev mode with the various - skeleton items. - (verilog-sk-ovm-class): Add skeleton for OVM classes (reported - by Alain Mellan). - -2011-12-01 Wilson Snyder <wsnyder@wsnyder.org> - - * progmodes/verilog-mode.el (verilog-read-defines): Fix reading - parameters with embedded comments. Reported by Ray Stevens. - (verilog-calc-1, verilog-fork-wait-re, verilog-forward-sexp) - (verilog-wait-fork-re): Fix indentation of "wait fork", bug407. - Reported by Tim Holt. - (verilog-auto): Fix AUTOing a upper module then AUTOing module - instantiated by upper module causing wrong expansion until AUTOed a - second time. Reported by K C Buckenmaier. - (verilog-diff-auto): Fix showing .* as a difference when - `verilog-auto-star-save' off. Reported by Dan Dever. - (verilog-auto-reset, verilog-read-always-signals) - (verilog-auto-reset-blocking-in-non): Fix AUTORESET including - temporary signals in reset list if - verilog-auto-reset-blocking-in-non is nil, and match assignment - style to each signal's assignment type, bug381. - Reported by Thomas Esposito. - (verilog-sk-uvm-class, verilog-uvm-begin-re, verilog-uvm-end-re) - (verilog-uvm-statement-re): Support UVM indentation and - highlighting, with old OVM keywords only. - (verilog-auto-tieoff, verilog-auto-tieoff-declaration): - Support AUTOTIEOFF creating non-wire data types. - Suggested by Jonathan Greenlaw. - (verilog-auto-insert-lisp, verilog-delete-to-paren) - (verilog-forward-sexp-cmt, verilog-forward-sexp-ign-cmt) - (verilog-inject-sense, verilog-read-inst-pins) - (verilog-read-sub-decls, verilog-read-sub-decls-line): - Fix mismatching parenthesis inside commented out code when deleting - AUTOINST, bug383. Reported by Jonathan Greenlaw. - (verilog-auto-ascii-enum): Fix AUTOASCIIENUM one-hot with - non-numeric vector width. Reported by Alex Reed. - (verilog-auto-ascii-enum): Add "onehot" option to work around not - detecting signals with parameter widths. Reported by Alex Reed. - (verilog-auto-delete-trailing-whitespace): - With `verilog-auto-delete-trailing-whitespace' remove trailing - whitespace in auto expansion, bug371. Reported by Brad Dobbie. - (verilog-run-hooks, verilog-scan-cache-flush, verilog-syntax-ppss): - Fix verilog-scan-cache corruption when running user AUTO expansion - hooks that call indentation routines. - (verilog-simplify-range-expression): Fix typo ignoring lower case - identifiers. - (verilog-delete-auto): Fix delete-autos to also remove user created - automatics, as long as they start with AUTO. - (verilog-batch-diff-auto, verilog-diff-auto) - (verilog-diff-function): Add `verilog-diff-auto' and bind to - "C-c?" to report differences in AUTO expansion, ignoring spaces. - (verilog-backward-syntactic-ws-quick, verilog-beg-of-defun-quick) - (verilog-in-paren-quick, verilog-re-search-backward-quick) - (verilog-re-search-forward-quick, verilog-syntax-ppss): - Fix calling `syntax-ppss' when inside auto expansions as the ppss hook - is disabled and its cache will get corrupt, causing AUTOS not to - expand. Instead use only -quick functions. - (verilog-scan-region): Fix scanning over escaped quotes. - (verilog-inside-comment-or-string-p, verilog-inside-comment-p) - (verilog-re-search-backward-quick) - (verilog-re-search-forward-quick, verilog-scan): verilog-scan and - related functions now ignore strings, to fix misparsing of strings - with magic comments embedded in them. - (verilog-read-auto-template): - Fix 'verilog-auto-inst-template-numbers' with extra newline before (. - Reported by Brad Dobbie. - (verilog-read-auto-template): - Fix 'verilog-auto-inst-template-numbers' with comments. - Reported by Brad Dobbie. - (verilog-auto-inst, verilog-auto-inst-param) - (verilog-auto-inst-sort): Add 'verilog-auto-inst-sort' to reduce - merge conflicts with AUTOINST, bug358. Reported by Brad Dobbie. - (verilog-auto-inst-template-numbers): Add 'lhs' policy for - debugging templates without merge conflicts, bug357. - Reported by Brad Dobbie. - (verilog-read-auto-template): - Fix verilog-auto-inst-template-numbers with multiple templates. - Reported by Brad Dobbie. - (verilog-define-abbrev): Fix verilog-mode abbrevs to be system - abbrevs so user won't be asked to save. - (verilog-read-auto-lisp-present): Fix to start at beginning of - buffer in case called outside of verilog-auto. - (verilog-simplify-range-expression): Fix AUTOWIRE expanding "X-1+1" - to "X-2". Reported by Matthew Myers. - (verilog-auto, verilog-auto-inout-in): Add AUTOINOUTIN for creating - all inputs from module templates. Reported by Leith Johnson. - (verilog-module-inside-filename-p): Fix locating programs as with - modules. - (verilog-auto-inst-port): Fix vl-width expressions when using - verilog-auto-inst-param-value, bug331. Reported by Julian Gorfajn. - (verilog-decls-get-regs, verilog-decls-get-signals, - verilog-decls-get-vars, verilog-decls-get-wires, verilog-decls-new, - verilog-modi-cache-add-vars, verilog-modi-cache-add-wires, - verilog-read-decls): Combine reg and wire structures into one var - structure to represent SystemVerilog concepts. - (verilog-auto-ascii-enum, verilog-auto-logic, verilog-auto-reg) - (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-wire) - (verilog-auto-wire-type, verilog-insert-definition): - Add verilog-auto-wire-type and AUTOLOGIC to support using - SystemVerilog "logic" keyword instead of "wire"/"reg". - (verilog-auto-reg-input, verilog-decls-get-signals): Fix AUTOWIRE - to declares outputs that also have assignments (presumably in an - ifdef or generate if so there's not a driver conflict). - Reported by Matthew Myers. - (verilog-auto-declare-nettype, verilog-insert-definition): - Add verilog-auto-declare-nettype to fix declarations using - `default_nettype none. Reported by Julian Gorfajn. - (verilog-read-always-signals-recurse, verilog-read-decls) - (verilog-read-sub-decls-gate): Fix infinite loop with (*) and - malformed end statement, bug325. Reported by Joshua Wise and - Andrew Drake. - (verilog-auto-star-safe, verilog-delete-auto-star-implicit) - (verilog-inst-comment-re): Fix not deleting Interfaced comment - when expanding .* in interfaces, bug320. - Reported by Pierre-David Pfister. - (verilog-read-module-name): Fix import statements between module - name and open parenthesis, bug317. - Reported by Pierre-David Pfister. - (verilog-simplify-range-expression): Fix simplification of - multiplications inside AUTOWIRE connections, bug303. - (verilog-auto-inst-port): Support parameter expansion in - multidimensional arrays. - (verilog-read-decls): Fix AUTOREG etc looking for "endproperty" - after "assert property". Reported by Julian Gorfajn. - (verilog-simplify-range-expression): Fix "couldn't merge" errors - with multiplication, bug303. - (verilog-read-decls): Fix parsing of unsigned data types, bug302. - Reported by Jan Frode Lonnum. - -2011-11-30 Juanma Barranquero <lekktu@gmail.com> - - * htmlfontify.el (hfy-page-header, hfy-post-html-hooks) - (hfy-shell-file-name, hfy-shell): - * international/fontset.el (x-decompose-font-name): Fix typos. - -2011-11-29 Ken Brown <kbrown@cornell.edu> - - * progmodes/gdb-mi.el: Fix bug#9853, bug#9858, and bug#9878. - (gdb-version): Remove defvar. - (gdb-supports-non-stop): New defvar, replacing `gdb-version'. - (gdb-gud-context-command, gdb-non-stop-handler) - (gdb-current-context-command, gdb-stopped): Use it. - (gdb-init-1): Enable pretty printing here. - (gdb-non-stop-handler): Don't enable pretty-printing here. - Check to see if the target supports non-stop mode; if not, turn off - non-stop mode. Use the following. - (gdb-check-target-async): New defun. - (gud-watch, gdb-stopped): Fix whitespace. - (gdb-get-source-file): Don't try to display the source file if - `gdb-main-file' is nil. - -2011-11-29 Stefan Monnier <monnier@iro.umontreal.ca> - - * align.el: Try to generate fewer markers (bug#10047). - (align--set-marker): New macro. - (align-region): Use it. - -2011-11-29 Stefan Monnier <monnier@iro.umontreal.ca> - - * isearch.el (isearch-yank-x-selection): Deactivate mark (bug#10022). - -2011-11-29 Chong Yidong <cyd@gnu.org> - - * indent.el (indent-for-tab-command, indent-according-to-mode): - Doc fix. - (indent-region): Doc fix. Switch nested ifs to equivalent cond. - -2011-11-29 Michael Albinus <michael.albinus@gmx.de> - - * vc/diff-mode.el (diff-find-file-name): Make `read-file-name' - aware of remote file names. (Bug#10124) - -2011-11-29 Chong Yidong <cyd@gnu.org> - - * frame.el (auto-raise-mode, auto-lower-mode): Doc fix. - -2011-11-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * files.el (find-file): Don't use force-same-window (bug#10144). - * window.el (switch-to-buffer): Better match Emacs-23 behavior and only - use pop-to-buffer if the selected window can't be used. - (pop-to-buffer-same-window): Use display-buffer--same-window-action. - -2011-11-28 Eli Zaretskii <eliz@gnu.org> - - * vc/diff-mode.el (diff-mode-map): Don't inherit 'z' => 'M-z' from - special-mode-map. - -2011-11-28 Chong Yidong <cyd@gnu.org> - - * emacs-lisp/easy-mmode.el (define-minor-mode): Fix default doc. - -2011-11-27 Nick Roberts <nickrob@snap.net.nz> - - * progmodes/gdb-mi.el (gdb-init-1): Condition execution of - gdb-get-source-file-list on gdb-create-source-file-list. - -2011-11-26 Eli Zaretskii <eliz@gnu.org> - - * whitespace.el (whitespace-newline): Use a different foreground - color for 16-color light-background displays. - -2011-11-24 Chong Yidong <cyd@gnu.org> - - * window.el (display-buffer--special-action): Doc fix. - -2011-11-25 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lisp/avl-tree.el (avl-tree--do-copy, avl-tree-create) - (avl-tree-compare-function, avl-tree-empty, avl-tree-enter) - (avl-tree-delete, avl-tree-member, avl-tree-member-p, avl-tree-map) - (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar, avl-tree-copy) - (avl-tree-clear, avl-tree-stack, avl-tree-stack-pop) - (avl-tree-stack-first): - * emacs-lisp/cconv.el (cconv--analyse-use): - * net/gnutls.el (gnutls-negotiate): Fix typos. - -2011-11-24 Glenn Morris <rgm@gnu.org> - - * lpr.el (lpr-windows-system, lpr-lp-system): - * mail/binhex.el (binhex-begin-line): - * progmodes/grep.el (grep-history, grep-find-history): - * textmodes/flyspell.el: - * vc/pcvs-defs.el (cvs-global-menu): - * vc/vc-bzr.el (vc-bzr-admin-checkout-format-file): - * vc/vc-mtn.el (vc-mtn-admin-dir, vc-mtn-admin-format): - * vc/vc-cvs.el (vc-cvs-registered): Give them basic doc-strings. - - * net/tls.el: Fix case of "GnuTLS". - - * paths.el (rmail-file-name): Format doc-string for make-docfile. - - * version.el (emacs-build-system): Give it a doc-string. - -2011-11-24 Juri Linkov <juri@jurta.org> - - * view.el (view-buffer): Revert 2011-07-19T15:01:49Z!larsi@gnus.org from 2011-07-19 (bug#8615). - -2011-11-24 Glenn Morris <rgm@gnu.org> - - * mail/rmailmm.el (rmail-mime): When rmail-enable-mime is non-nil, - if called on a non-mime message just toggle the headers. (Bug#8006) - -2011-11-24 Juanma Barranquero <lekktu@gmail.com> - - * allout.el (allout-setup, allout-auto-save-temporarily-disabled) - (allout-lead-with-comment-string, allout-structure-deleted-hook) - (allout-mode, allout-chart-subtree, allout-hotspot-key-handler) - (allout-rebullet-heading, allout-open-sibtopic) - (allout-toggle-current-subtree-encryption) - (allout-toggle-subtree-encryption, allout-encrypt-string) - (allout-next-topic-pending-encryption, allout-adjust-file-variable) - (allout-distinctive-bullets-string, allout-auto-activation): - * window.el (window-normalize-buffer-to-display): - * progmodes/verilog-mode.el (verilog-batch-indent): - * textmodes/bibtex.el (bibtex-field-braces-opt) - (bibtex-field-strings-opt): - * vc/cvs-status.el (cvs-tree-merge): - Fix typos. - -2011-11-23 Michael Albinus <michael.albinus@gmx.de> - - * rfn-eshadow.el (rfn-eshadow-update-overlay): Let-bind - `non-essential' to t, in order to avoid remote connections. - -2011-11-23 Eli Zaretskii <eliz@gnu.org> - - * emacs-lisp/autoload.el (autoload-generate-file-autoloads): - On MS-DOS and MS-Windows, compare with loaddefs.el - case-insensitively. - -2011-11-23 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change) - - * mail/unrmail.el (unrmail): Always add blank line. (Bug#7743) - -2011-11-23 Glenn Morris <rgm@gnu.org> - - * paths.el (rmail-file-name): Reformat the doc-string so that it - is picked up. - - * mail/rmail.el (rmail-message-filter, rmail-auto-file): Doc fixes. - (rmail-auto-file): Ignore case in the "special" field names, - as mail-fetch-field does for all others. - - * mail/rmail.el (rmail-forward): - * mail/rmailkwd.el (rmail-set-label): - * mail/rmailout.el (rmail-output, rmail-output-as-seen) - (rmail-output-body-to-file): Give error if no message. (Bug#10082) - - * mail/rmail.el (rmail-current-message): Doc fix. - - * mail/rmail.el (rmail-message-filter): Mark as obsolete. (Bug#2624) - -2011-11-22 Stefan Monnier <monnier@iro.umontreal.ca> - - * server.el (server-eval-and-print): Allow C-g (bug#6585). - -2011-11-22 Glenn Morris <rgm@gnu.org> - - * mail/rmailmm.el (test-rmail-mime-handler) - (test-rmail-mime-bulk-handler) - (test-rmail-mime-multipart-handler): Move tests to test/ directory. - -2011-11-21 Juri Linkov <juri@jurta.org> - - * calc/calc.el (calc-read-key-sequence): - Let-bind `input-method-function' to nil. (Bug#10018) - -2011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * emacs-lisp/cl-indent.el (common-lisp-loop-part-indentation): - Tell the caller that the next line needs recomputation, even - though it doesn't start a sexp (bug#10094). - -2011-11-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/autoload.el (autoload-generate-file-autoloads): Simplify. - -2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame): - Use force-same-window. - -2011-11-20 Juanma Barranquero <lekktu@gmail.com> - - * descr-text.el (describe-char-unicode-data): - * json.el (json-string-escape): - * mail/footnote.el (footnote-unicode-string, footnote-unicode-regexp) - (Footnote-unicode, Footnote-style-p): - * net/ntlm.el (ntlm-get-password-hashes): Fix typos. - -2011-11-20 Chong Yidong <cyd@gnu.org> - - * window.el (replace-buffer-in-windows): Restore interactive spec. - -2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * electric.el (electric-indent-mode): Fix last change (too optimistic). - - * emacs-lisp/bytecomp.el: Silence obsolete warnings more reliably. - (byte-compile-global-not-obsolete-vars): New var. - (byte-compile-check-variable, byte-compile-make-obsolete-variable): - Use it. - (byte-compile-warn-obsolete): Align text with the one in *Help*. - -2011-11-20 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/cwarn.el (cwarn-is-enabled, cwarn-font-lock-keywords): - * progmodes/pascal.el (electric-pascal-equal): - * textmodes/reftex-dcr.el (reftex-view-crossref-from-bibtex): - * xml.el (xml-substitute-special): Fix typos. - -2011-11-20 Glenn Morris <rgm@gnu.org> - - * mail/rmail.el (rmail-enable-mime-composing): Make it a defcustom. - (rmail-insert-mime-forwarded-message-function, rmail-mime-feature): - Doc fixes. - (rmail-decode-mime-charset): Mark as obsolete. - - * mail/rmailsum.el (rmail-message-regexp-p-1): - * mail/rmail.el (rmail-search-message, rmail-forward, rmail-resend): - Before using mime functions, check they are set. (Bug#10077) - -2011-11-19 Juri Linkov <juri@jurta.org> - - * info.el (Info-finder-find-node): Use `package--builtins' instead - of `package-alist'. Use node names formed by the pattern "Keyword " - and the keyword name. - -2011-11-19 Andreas Schwab <schwab@linux-m68k.org> - - * progmodes/sh-script.el (sh-assignment-regexp): Add entry for bash. - -2011-11-19 Juri Linkov <juri@jurta.org> - - * info.el (Info-hide-note-references): Add `:set' tag to `defcustom' - that calls `revert-buffer' on all Info buffers. (Bug#9915) - (Info-revert-find-node): Remove let-bindings `old-buffer-name', - `old-history', `old-history-forward'. Add let-binding - `window-selected'. Remove calls to `kill-buffer', - `switch-to-buffer' and `Info-mode'. Set `Info-current-file' to nil - before calling `Info-find-node', so `Info-find-node-2' will reread - the Info file. Restore window positions only when `window-selected' - is non-nil. - -2011-11-19 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-lazy-highlight-new-loop): - Remove condition `(not isearch-error)'. (Bug#9918) - - * misearch.el (multi-isearch-search-fun): Add condition - `(not bound)' to ignore lazy-highlighting search. - Add the search-failed message "end of multi" when the end of - multi-sequence is reached. Uncapitalize the search-failed - message "Repeat for next buffer". - - * info.el (Info-search): Add the search-failed message - "end of the manual" when the end of the manual is reached - in Isearch mode. - -2011-11-19 Juri Linkov <juri@jurta.org> - - * info.el (Info-find-node-2, Info-select-node, Info-history-find-node): - Use non-destructive `remove' instead of `delete' because - `Info-history-list' stored to `Info-isearch-initial-history-list' in - `Info-isearch-start' might need to be restored in `Info-isearch-end'. - -2011-11-19 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-edit-string): Let-bind `history-add-new-input' - to nil instead of binding `search-ring' and `regexp-search-ring'. - (Bug#9185) - -2011-11-19 Eli Zaretskii <eliz@gnu.org> - - * simple.el (line-move): Force movement by logical lines for any - hscrolled window, not only when auto-hscroll-mode is on. - (line-move-visual): Update doc string to that effect. (Bug#10076) - -2011-11-19 Andreas Schwab <schwab@linux-m68k.org> - - * language/european.el (macintosh): Define as alias for mac-roman. - -2011-11-19 Eli Zaretskii <eliz@gnu.org> - - * mail/rmailmm.el (rmail-mime-display-header) - (rmail-mime-display-tagline, rmail-mime-display-body): New defsubsts. - (rmail-mime-entity-segment, rmail-mime-toggle-raw) - (rmail-mime-toggle-hidden, rmail-mime-insert-text) - (rmail-mime-insert-bulk, rmail-mime-insert-multipart) - (rmail-mime-insert, rmail-mime-insert-tagline): Use them instead - of a raw aref. - (rmail-mime-entity-segment): To get past the tagline, move forward - 2 more lines, to account for the 2 empty lines that precede and - follow the line with the buttons. - (rmail-mime-update-tagline): Move one more line, to get past the - empty line that follows the buttons in the tagline. (Bug#9520) - -2011-11-19 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-max-delta-1, window-min-delta-1) - (window-min-size-1, window-state-get-1, window-state-put-1) - (window-state-put-2): Use "window--" prefix. - -2011-11-18 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/smie.el: Improve warnings and conflict detection. - (smie-warning-count): New var. - (smie-set-prec2tab): Use it. - (smie-bnf->prec2): Improve warnings. Add docstring. - (smie-bnf--closer-alist): Rename from smie-bnf-closer-alist. - (smie-bnf--set-class): New function. - (smie-bnf--classify): Rename from smie-bnf-classify. Rewrite to fix - corner case. - - * progmodes/compile.el: Obey compilation-first-column in dest buffer. - (compilation-error-properties, compilation-move-to-column): - Handle compilation-first-column while in the target buffer. - - * progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): - Don't hardcode point-min==1. - - * eshell/esh-cmd.el (eshell-do-eval): Handle `setq' (bug#9907). - (eshell-rewrite-for-command): Remove workaround. - (eshell-do-pipelines, eshell-do-pipelines-synchronously) - (eshell-do-eval, eshell-exec-lisp): Avoid gratuitous setq. - * eshell/esh-util.el (eshell-condition-case, eshell-for): Use declare. - - * files-x.el (modify-file-local-variable): Obey commenting conventions. - -2011-11-17 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/autoload.el (autoload-generate-file-autoloads): - Ignore buffer-local generated-autoload-file if it is the same - as the global value. (Bug#10049) - -2011-11-17 Juanma Barranquero <lekktu@gmail.com> - - * textmodes/reftex-toc.el (reftex-toc-return-marker, reftex-toc-help) - (reftex-toc, reftex-toc, reftex-toc-dframe-p, reftex-toc-next-heading) - (reftex-toc-previous-heading, reftex-toc-max-level) - (reftex-toc-goto-line-and-hide, reftex-toc-show-calling-point) - (reftex-toc-quit, reftex-toc-revert, reftex-toc-jump) - (reftex-toc-do-promote, reftex-toc-promote-prepare) - (reftex-toc-promote-action, reftex-toc-extract-section-number) - (reftex-toc-load-all-files-for-promotion, reftex-toc-rename-label) - (reftex-toc-rename-label, reftex-toc-visit-location) - (reftex-toc-visit-location, reftex-toggle-auto-toc-recenter) - (reftex-toggle-auto-toc-recenter, reftex-toggle-auto-toc-recenter) - (reftex-make-separate-toc-frame): Fix typos, and use TOC consistently, - leaving "*toc*" only for references to the buffer. - -2011-11-17 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-resize, delete-window, split-window): - Replace window-splits by window-combination-resize. - * cus-start.el (window-splits): Replace by window-combination-resize. - -2011-11-17 Glenn Morris <rgm@gnu.org> - - * progmodes/sh-script.el (sh-font-lock-keywords-var): - Make bash entry derive from sh entry, not shell entry. - -2011-11-16 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-file-truename): Cache only the - local file name. - -2011-11-16 Juanma Barranquero <lekktu@gmail.com> - - * menu-bar.el (menu-bar-file-menu): - * printing.el (pr-ps-utility): - * calendar/icalendar.el (icalendar, icalendar--convert-tz-offset) - (icalendar--convert-to-ical, icalendar--convert-ordinary-to-ical) - (icalendar--convert-weekly-to-ical, icalendar--convert-yearly-to-ical) - (icalendar--convert-sexp-to-ical, icalendar--convert-block-to-ical) - (icalendar--convert-float-to-ical, icalendar--convert-date-to-ical) - (icalendar--convert-cyclic-to-ical) - (icalendar--convert-anniversary-to-ical, icalendar-import-buffer) - (icalendar--convert-ical-to-diary) - (icalendar--convert-recurring-to-diary) - (icalendar--convert-non-recurring-all-day-to-diary) - (icalendar-import-format-sample): - * progmodes/idlw-shell.el (idlwave-shell-mode): - * progmodes/vhdl-mode.el (vhdl-mode, vhdl-print-two-column) - (vhdl-print-customize-faces, vhdl-mode, vhdl-ps-print-settings) - (vhdl-ps-print-init): Fix typos. - -2011-11-16 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el, allout-widgets.el (file metadata): Attribute copyright to - FSF and collapse date sequence, obscure author/maintainer email address - better, remove extra version line, track relocation of author's webpage. - - * progmodes/python.el (python-pdbtrack-input-prompt) - (python-pdbtrack-track-stack-file): Adjust to recognize ipdb as well as - regular python pdb prompts. Adjustments shamelessly taken exactly as - suggested in EmacsWiki page (tiny change): - http://www.emacswiki.org/PythonProgrammingInEmacs#toc14 - -2011-11-16 Juanma Barranquero <lekktu@gmail.com> - - * expand.el (expand-pos, expand-index, expand-point): - Remove redundant info from docstring. - (expand-add-abbrevs): Doc fix. - (expand-c-sample-expand-list, expand-sample-lisp-mode-expand-list) - (expand-sample-perl-mode-expand-list): Fix typos. - - * net/dbus.el (dbus-event-member-name): - * play/5x5.el (5x5-solve-rotate-left, 5x5-solver-output): - * term/pc-win.el (msdos-create-frame-with-faces): - * textmodes/texinfmt.el (texinfo-format-image): Fix typos. - -2011-11-16 Martin Rudalics <rudalics@gmx.at> - - * window.el (split-window, window-state-get-1) - (window-state-put-1, window-state-put-2): Rename occurrences of - window-nest to window-combination-limit. - * cus-start.el (window-nest): Rename to window-combination-limit. - -2011-11-16 Chong Yidong <cyd@gnu.org> - - * progmodes/autoconf.el (autoconf-mode): Fix comment-start-skip - regexp (Bug#10033). - -2011-11-16 Stefan Monnier <monnier@iro.umontreal.ca> - - * tmm.el (tmm-prompt): Use minibuffer-with-setup-hook (bug#10053). - `completing-read' will remove *Completions* and will preserve - current-buffer for us. - (tmm-add-prompt): Users of *Completions* will always (re)set its - major mode. - (tmm-old-comp-map): Remove. - -2011-11-16 Glenn Morris <rgm@gnu.org> - - * mail/rmailedit.el: Require rmailmm when compiling. - (rmail-old-mime-state): New declaration. - (rmail-edit-current-message): If editing a mime message, - edit the "raw" message from the mbox buffer. - (rmail-cease-edit): Handle mime messages. (Bug#9840) - -2011-11-15 Glenn Morris <rgm@gnu.org> - - * mail/rmailmm.el (rmail-mime-toggle-raw): Remove entity arg, - which wasn't being used. Add optional arg to force given state. - (rmail-mime): Add optional arg to force given state. - -2011-11-15 Juanma Barranquero <lekktu@gmail.com> - - * allout.el (allout-encryption-plaintext-sanitization-regexps): - * frame.el (display-mm-dimensions-alist): - * outline.el (outline-mode-menu-bar-map, outline-move-subtree-up) - (outline-move-subtree-down): - * net/newst-treeview.el (newsticker--treeview-do-get-node-of-feed) - (newsticker--treeview-do-get-node): - * net/quickurl.el (quickurl-list-buffer-name): - * progmodes/dcl-mode.el (dcl-mode): - * progmodes/gdb-mi.el (gdb-mapcar*): - * progmodes/sql.el (sql-mode-oracle-font-lock-keywords): Fix typos. - -2011-11-15 Glenn Morris <rgm@gnu.org> - - * mail/rmail.el (rmail-file-coding-system): It's only ever used - in a boolean sense, so just make it a boolean, and fix the doc. - (rmail-show-mime-function, rmail-mime-feature) - (rmail-require-mime-maybe): Doc fixes. - (rmail-show-message-1): Check rmail-show-mime-function is non-nil. - - * mail/rmailmm.el (rmail-show-mime): Doc fix. - -2011-11-15 Juanma Barranquero <lekktu@gmail.com> - - * epg.el (epg-start-decrypt, epg-start-verify, epg-start-sign) - (epg-start-encrypt, epg-start-export-keys, epg-start-import-keys) - (epg-start-receive-keys, epg-start-delete-keys, epg-start-sign-keys) - (epg-start-generate-key, epg-context-set-progress-callback): Fix typos. - -2011-11-15 Glenn Morris <rgm@gnu.org> - - * mail/rmailmm.el (rmail-mime-entity, rmail-mime-entity-segment) - (rmail-mime-shown-mode, rmail-mime-hidden-mode, rmail-mime-raw-mode) - (rmail-mime-toggle-hidden, rmail-mime-insert-tagline) - (rmail-mime-insert-header, rmail-mime-handle, rmail-mime-parse) - (rmail-mime, rmail-show-mime): Doc fixes. - - * term/ns-win.el (mode-line-frame-identification): - Leave it alone. (Bug#10051) - - * simple.el (mark-whole-buffer): Doc fix. (Bug#10023) - - * mail/rmailout.el (rmail-output-to-rmail-buffer): - Handle empty buffers. (Bug#9978) - -2011-11-14 Juanma Barranquero <lekktu@gmail.com> - - * international/mule.el (define-charset): - * mail/rmailmm.el (rmail-mime-find-header-encoding): - * progmodes/prolog.el (prolog-mode-hook, prolog-inferior-mode-hook): - * progmodes/verilog-mode.el (verilog-backward-token): - * textmodes/ispell.el (lookup-words): - * textmodes/sgml-mode.el (sgml-guess-indent): Fix typos. - -2011-11-14 Glenn Morris <rgm@gnu.org> - - * progmodes/executable.el - (executable-make-buffer-file-executable-if-script-p): - Handle file-modes returning nil. - - * mail/rmailsum.el (rmail-summary): Remove movement to beginning of - message - not necessary, and causes problems. (Bug#9831) - - * mail/rmailsum.el (rmail-new-summary): Preserve message number. - - * mail/rmail.el (rmail-no-mail-p): Remove mode-line N/M indicator. - - * mail/rmailsum.el (rmail-summary, rmail-new-summary) - (rmail-new-summary-1): Allow empty summaries. (Bug#9964) - (rmail-new-summary): Remember that rmail-summary-buffer is buffer-local. - -2011-11-12 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-resize, delete-window): Use window-splits - variable instead of function. - (window-state-get-1, window-state-put-2, window-state-put): - Don't deal with windows' splits status. - -2011-11-12 Glenn Morris <rgm@gnu.org> - - * apropos.el (apropos-do-all, apropos-library, apropos-value) - (apropos-documentation): Doc fixes. - -2011-11-11 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/idlw-shell.el (idlwave-shell-make-new-bp-overlay): - * textmodes/sgml-mode.el (html-tag-help): Fix typos. - -2011-11-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * electric.el (electric-indent-post-self-insert-function): Make it - possible for a char to only indent in some circumstances. - (electric-indent-mode): Simplify. - -2011-11-11 Martin Rudalics <rudalics@gmx.at> - - * window.el (windows-with-parameter): Remove unused function. - (windows-at-side): Rename to window-at-side-list. - (window-check, window-atom-check, window-atom-check-1) - (window-side-check, window-size-ignore, window-size-fixed-1) - (window-in-direction-2): Prefix with "window--". - (window-tree-1): Rename to window--subtree, fix doc-string. - -2011-11-11 Glenn Morris <rgm@gnu.org> - - * subr.el (eval-after-load): If FILE is already loaded, - evaluate FORM before it gets wrapped in more stuff. (Bug#10009) - -2011-11-10 Glenn Morris <rgm@gnu.org> - - * vc/vc-svn.el (vc-svn-create-repo, vc-svn-modify-change-comment): - Call svn via vc-svn-command rather than vc-do-command. - (vc-svn-command): Add --non-interactive. (Bug#9993) - (vc-svn-update, vc-svn-merge-news): No need for --non-interactive. - - * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): - Add toggle-read-only. (Bug#7292) - * files.el (toggle-read-only): Mention that it should only - be used interactively. (Bug#10006) - -2011-11-09 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Adjust regexp for OCaml warnings. - - * electric.el (electric-pair-post-self-insert-function): Let user - turn it off buffer-locally (bug#9932). - - * progmodes/python.el (python-beginning-of-statement): - Rewrite (bug#2703). - - * progmodes/compile.el: Better handle TABs (bug#9749). - (compilation-internal-error-properties) - (compilation-next-error-function): Obey the target buffer's - compilation-error-screen-columns. - -2011-11-09 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/meta-mode.el: Remove obsolete comments. - (meta-right-comment-regexp, meta-ignore-comment-regexp): - Fix typos in docstrings. - -2011-11-09 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-size-fixed-p): Rewrite doc-string. - (window-resizable-p): Rename to window--resizable-p. Update callers. - (window--resizable): New function. Make all callers of - window-resizable call window--resizable instead. - (window-resizable): Rewrite in terms of window--resizable. - -2011-11-08 Glenn Morris <rgm@gnu.org> - - * progmodes/delphi.el (delphi-mode-syntax-table): - Let define-derived-mode define a proper syntax table. (Bug#9994) - -2011-11-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * window.el: Stay away from defsubst. - (window-list-no-nils): Remove. - (window-state-get-1, window-state-get): Use backquote instead. - -2011-11-08 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * emacs-lisp/find-func.el (find-function-read): - Fix incorrect use of default argument in `completing-read'. - -2011-11-08 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-function, special-display-function): - Mention display-buffer-record-window but do not mention - help-setup parameter in doc-strings. - (window-min-delta): Fix doc-string typo. - -2011-11-08 Chong Yidong <cyd@gnu.org> - - * window.el (window-total-height, window-total-width): Doc fix. - (window-body-size): Move from C. - (window-body-height, window-body-width): Move to C. - -2011-11-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * window.el: Make special-display like display-buffer-alist (bug#9532). - (display-buffer--special-action): New function, morphed - from display-buffer--special. - (display-buffer): Use it to handle special-display-buffers at higher - priority (just after display-buffer-alist). - (display-buffer-fallback-action, display-buffer--other-frame-action) - (pop-to-buffer-same-window): Remove display-buffer--special. - -2011-11-07 Glenn Morris <rgm@gnu.org> - - * calendar/cal-menu.el (cal-menu-set-date-title): - Do nothing if not in a calendar. (Bug#9976) - -2011-11-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * files.el (find-file): Always use selected-window. - -2011-11-07 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-combinations): Make WINDOW argument - mandatory. Rewrite doc-string. - (walk-window-subtree, window-atom-check, window-min-delta) - (window-max-delta, window--resize-this-window) - (window--resize-root-window-vertically, window-tree) - (balance-windows, window-state-put): Rewrite doc-strings as to - not mention the term "subwindow". - (window--resize-subwindows-skip-p): Rename to - window--resize-child-windows-skip-p. - (window--resize-subwindows-normal): Rename to - window--resize-child-windows-normal. - (window--resize-subwindows): Rename to - window--resize-child-windows. - (window-or-subwindow-p): Rename to window--in-subtree-p. - -2011-11-07 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change) - - * mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text): - Ensure that mbox format messages end in two newlines (Bug#9974). - -2011-11-06 Chong Yidong <cyd@gnu.org> - - * window.el (window-combination-p): Function deleted; its - side-effect is not used in any existing code. - (window-combinations, window-combined-p): Call window-*-child - directly. - -2011-11-05 Chong Yidong <cyd@gnu.org> - - * window.el (window-valid-p): Rename from window-any-p. - (window-size-ignore, window-state-get): Callers changed. - (window-normalize-window): Rename from window-normalize-any-window. - New arg LIVE-ONLY, replacing window-normalize-live-window. - (window-normalize-live-window): Delete. - (window-combination-p, window-combined-p, window-combinations) - (walk-window-subtree, window-atom-root, window-min-size) - (window-sizable, window-sizable-p, window-size-fixed-p) - (window-min-delta, window-max-delta, window-resizable) - (window-resizable-p, window-full-height-p, window-full-width-p) - (window-current-scroll-bars, window-point-1, set-window-point-1) - (window-at-side-p, window-in-direction, window-resize) - (adjust-window-trailing-edge, maximize-window, minimize-window) - (window-deletable-p, delete-window, delete-other-windows) - (record-window-buffer, unrecord-window-buffer) - (switch-to-prev-buffer, switch-to-next-buffer, window--delete) - (quit-window, split-window, window-state-put) - (set-window-text-height, fit-window-to-buffer) - (shrink-window-if-larger-than-buffer): Callers changed. - -2011-11-04 Eli Zaretskii <eliz@gnu.org> - - * mail/rmail.el (rmail-simplified-subject): Decode subject with - rfc2047-decode-string. - (rmail-mime-toggle-hidden): Declare to avoid byte-compilation - warnings. - - * window.el (window-body-height, window-body-width): Mention in - the doc string that the return values are in frame's canonical - units. (Bug#9949) - -2011-11-03 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-langs.el (c-nonlabel-token-2-key): New variable for - change in cc-engine.el. - -2011-11-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * window.el (switch-to-buffer): Use `force-same-window' interactively. - -2011-11-02 Martin Rudalics <rudalics@gmx.at> - - * window.el (quit-window): Call unrecord-window-buffer after - showing another buffer in the window. (Bug#9937) - (bury-buffer): Call switch-to-prev-buffer with second argument `bury'. - -2011-11-02 Juanma Barranquero <lekktu@gmail.com> - - * vc/vc-bzr.el (vc-bzr-state, vc-bzr-after-dir-status): - Accept status with more than 9 shelves. (Bug#9935) - Reported by Colin D Bennett <colin@gibibit.com>. - -2011-11-01 Martin Rudalics <rudalics@gmx.at> - - * help.el (with-help-window): Don't reference - temp-buffer-show-specifiers in doc-string. - -2011-10-31 Andreas Schwab <schwab@linux-m68k.org> - - * subr.el (keymap--menu-item-with-binding): Ignore item if not a - menu-item. - -2011-10-30 Vinicius Jose Latorre <viniciusjl@ig.com.br> - - * whitespace.el: New version 13.2.2. - (whitespace-newline-mode): Disable properly. Reported by Sarah - <EmacsWiki>. - -2011-10-30 Ulf Jasper <ulf.jasper@web.de> - - * net/newst-treeview.el: Remove "Time-stamp". - (newsticker--group-manage-orphan-feeds): Do not call - newsticker--treeview-tree-update. - (newsticker-treeview-update, newsticker-treeview): - Call newsticker--treeview-tree-update if necessary. - -2011-10-30 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-iso-combination-p, window-iso-combined-p) - (window-iso-combinations): Remove "iso-" infix. - Suggested by Chong Yidong. - (window-min-size-1, window-size-fixed-1, window-min-delta-1) - (window-max-delta-1, window-resize, window--resize-siblings) - (window--resize-this-window, adjust-window-trailing-edge) - (split-window, balance-windows-1) - (shrink-window-if-larger-than-buffer): - * calendar/calendar.el (calendar-generate-window): - * help.el (resize-temp-buffer-window): Adjust callers accordingly. - -2011-10-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * eshell/esh-cmd.el (eshell-rewrite-for-command): Don't modify the list - in place (bug#9907). - (eshell-subcommand-arg-values, eshell-rewrite-named-command) - (eshell-rewrite-if-command, eshell-rewrite-for-command) - (eshell-structure-basic-command, eshell-rewrite-while-command) - (eshell-invokify-arg, eshell-parse-pipeline, eshell-parse-command) - (eshell-parse-subcommand-argument, eshell-parse-lisp-argument) - (eshell-trap-errors, eshell-do-pipelines, eshell-do-eval) - (eshell-do-pipelines-synchronously, eshell-eval-command): - Use backquotes and prefer setq to set. - (eshell-lookup-function, function-p-func, eshell-functionp): Remove. - (eshell-macrop): Use functionp. - (eshell-do-eval): Handle multiple expressions in `while' body. - -2011-10-30 Chong Yidong <cyd@gnu.org> - - * emulation/viper-cmd.el (viper-exec-change): Use push-mark - instead of set-mark (Bug#9810). - -2011-10-30 Chong Yidong <cyd@gnu.org> - - * window.el (split-window-below, split-window-right): Rename from - split-window-above-each-other and split-window-side-by-side - respectively. All callers changed. - (split-window-sensibly, split-window-sensibly): Use them. - (split-window-keep-point): Doc fix. - - * isearch.el: Add isearch-scroll property to split-window-below - and split-window-right. - - * follow.el (follow-mode): - * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame): - * progmodes/ada-xref.el (ada-gdb-application): - * emulation/vip.el (vip-buffer-in-two-windows): - * image-dired.el (image-dired-dired-with-window-configuration): - * dired-x.el (dired-do-find-marked-files): - * dired.el (dired-pop-to-buffer): - * bs.el (bs--show-with-configuration): - * vc/emerge.el (emerge-setup-windows): - * textmodes/two-column.el (2C-two-columns): - * textmodes/reftex-toc.el (reftex-toc): - * progmodes/gdb-mi.el (gdb-setup-windows): - * progmodes/fortran.el (fortran-window-create): - * net/newst-treeview.el (newsticker--treeview-window-init): - * emulation/ws-mode.el (wordstar-C-o-map, wordstar-mode): - * emulation/tpu-edt.el (tpu-gold-map): - * emulation/crisp.el (crisp-mode-map): - * calendar/calendar.el (calendar-basic-setup): Callers changed. - -2011-10-29 Chong Yidong <cyd@gnu.org> - - * subr.el (y-or-n-p): Add code for batch mode (Bug#9818). - - * mouse.el (mouse-yank-primary): Push the mark (Bug#9894). - - * textmodes/flyspell.el (flyspell-word): Fix char offset for - forged Ispell output (Bug#7904). - - * emacs-lisp/package.el (package-refresh-contents): Add autoload. - -2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * doc-view.el: Avoid ugly errors about not finding nil. - (doc-view-ghostscript-program, doc-view-dvipdfm-program) - (doc-view-dvipdf-program, doc-view-unoconv-program) - (doc-view-ps2pdf-program, doc-view-pdftotext-program): - Avoid nil or absolute file name as default value. - (doc-view-pdf->txt, doc-view-ps->pdf): Use executable-find here. - -2011-10-28 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-defs.el (c-version): -> 5.32.2. - -2011-10-28 Alan Mackenzie <acm@muc.de> - - Amend the handling of c-beginning/end-of-defun in nested declaration - scopes. - - * progmodes/cc-vars.el (c-defun-tactic): Move here from - cc-langs.el. Change it to a defcustom. - - * progmodes/cc-langs.el (c-defun-tactic): Move this variable to - cc-vars.el. - - * progmodes/cc-engine.el (c-beginning-of-statement-1): - Prevent "class foo : bar" being spuriously recognized as a label. - - * progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): - Add parameter `inclusive' (to include enclosing braces in the region). - (c-widen-to-enclosing-decl-scope): New function. - (c-while-widening-to-decl-block): New macro. - (c-beginning-of-defun, c-end-of-defun): Change algorithm to keep going - outward for defun boundaries, and correspondingly change symbol - `respect-enclosure' to `go-outward'. - (c-declaration-limits): Change algorithm to report only the "innermost" - defun's boundaries. - -2011-10-28 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-mode): Use hard newlines. - -2011-10-28 Alan Mackenzie <acm@muc.de> - - Amend to indent and fontify macros "which include their own semicolon" - correctly, using the "virtual semicolon" mechanism. - - * progmodes/cc-defs.el: Update "virtual semicolon" comments. - - * progmodes/cc-engine.el (c-crosses-statement-barrier-p): - Recode to scan one line at a time rather than having \n and \r - explicitly in c-stmt-delim-chars (for some modes, e.g. AWK). - (c-forward-label): Amend for virtual semicolons. - (c-at-macro-vsemi-p, c-macro-vsemi-status-unknown-p): New functions. - - * progmodes/cc-fonts.el (c-font-lock-declarations): Take account - of the new C macros. - - * progmodes/cc-langs.el (c-at-vsemi-p-fn): - (c-vsemi-status-unknown-p-fn): Move to earlier in the file. - (c-opt-cpp-symbol, c-line-comment-start-regexp): New language vars. - (c-opt-cpp-macro-define): Make into a full language variable. - (c-stmt-delim-chars, c-stmt-delim-chars-with-comma): Special value for - AWK Mode (including \n, \r) removed, no longer needed. - - * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): - Invoke c-make-macro-with-semi-re. - - * progmodes/cc-vars.el (c-macro-with-semi-re): - (c-macro-names-with-semicolon): New variables. - (c-make-macro-with-semi-re): New function. - -2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/log-edit.el: Fill empty field rather than adding new one. - (log-edit-add-field): New function. - (log-edit-insert-changelog): Use it. - -2011-10-28 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change) - - * mail/rmail.el (rmail-mode-map): Add M-C-f as in rmailsum (bug#9802). - -2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/gdb-mi.el: Warn the user when -i=mi is missing. - (gdb--check-interpreter): New function. - (gdb): Use it. - -2011-10-27 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/cl-extra.el (most-positive-float, most-negative-float) - (least-positive-float, least-negative-float) - (least-positive-normalized-float, least-negative-normalized-float) - (float-epsilon, float-negative-epsilon): - Remove unnecessary declarations. - - * emacs-lisp/cl-extra.el (cl-float-limits): Add doc string. - * emacs-lisp/cl.el (most-positive-float, most-negative-float) - (least-positive-float, least-negative-float) - (least-positive-normalized-float, least-negative-normalized-float) - (float-epsilon, float-negative-epsilon): Add doc-strings, - based on those in cl.texi. - - * files.el (set-visited-file-name): If the major-mode changed, - reload the local variables. (Bug#9796) - -2011-10-27 Chong Yidong <cyd@gnu.org> - - * subr.el (change-major-mode-after-body-hook): New hook. - (run-mode-hooks): Run it. - - * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): - Use change-major-mode-before-body-hook. - - * simple.el (fundamental-mode): - * emacs-lisp/derived.el (define-derived-mode): Revert 2010-04-28 - change introducing fundamental-mode-hook. - -2011-10-26 Juanma Barranquero <lekktu@gmail.com> - - * term/w32-win.el (w32-default-color-map): Declare obsolete (Bug#9785). - -2011-10-26 Michael Albinus <michael.albinus@gmx.de> - - * ido.el (ido-file-name-all-completions-1): Do not require - tramp.el explicitly. (Bug#7583) - -2011-10-26 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/octave-mod.el: - * progmodes/octave-inf.el: Update maintainer. - -2011-10-26 Chong Yidong <cyd@gnu.org> - - * subr.el (with-wrapper-hook): Rewrite doc. - -2011-10-25 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-file-directory-p): Return t for - filenames "/method:foo:". (Bug#9793) - -2011-10-25 Stefan Monnier <monnier@iro.umontreal.ca> - - * comint.el (comint-get-old-input-default): Fix use-prompt-regexp case - (bug#9865). - -2011-10-24 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. (Bug#9819) - -2011-10-24 Michael Albinus <michael.albinus@gmx.de> - - * notifications.el: Add the requirement of a running D-Bus session - bus to the Commentary. - -2011-10-24 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to - `search-whitespace-regexp' only when `isearch-regexp' is non-nil. - (Bug#9364) - -2011-10-24 Juri Linkov <juri@jurta.org> - - * info.el (Info-following-node-name-re): Add newline to the list - of allowed characters for leading space. (Bug#9824) - -2011-10-24 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/octave-inf.el (inferior-octave-mode-map): - Fix C-c C-h binding. - * progmodes/octave-mod.el (octave-help): Remove. - -2011-10-23 Michael Albinus <michael.albinus@gmx.de> - - Sync with Tramp 2.2.3. - - * net/tramp-cache.el (top): Pacify byte-compiler using - `init-file-user' and `site-run-file'. - - * net/trampver.el: Update release number. - -2011-10-23 Chong Yidong <cyd@gnu.org> - - * files.el (toggle-read-only): Remove obsolete comment about - version control. - - * vc/vc-hooks.el (vc-toggle-read-only): Make it an obsolete alias - for toggle-read-only. Note that this hasn't called vc-next-action - since 2008-05-02, though it wasn't documented at the time. - - * vc/ediff-init.el (ediff-toggle-read-only-function): - Use toggle-read-only. - -2011-10-22 Alan Mackenzie <bug-cc-mode@gnu.org> - - Fix bug #9560, sporadic wrong indentation; improve instrumentation - of c-parse-state. - - * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): - correct faulty logical expression. - (c-parse-state-state, c-record-parse-state-state): - (c-replay-parse-state-state): New defvar/defuns. - (c-debug-parse-state): Use new functions. - -2011-10-22 Martin Rudalics <rudalics@gmx.at> - - * mouse.el (mouse-drag-line): Fix minibuffer resizing broken by - last fix. Use window-in-direction correctly. - -2011-10-21 Chong Yidong <cyd@gnu.org> - - * progmodes/idlwave.el (idlwave-mode): - * progmodes/vera-mode.el (vera-mode): No need to set - require-final-newline; that's done in prog-mode. - Suggested by Stefan Monnier. - -2011-10-21 Martin Rudalics <rudalics@gmx.at> - - * mouse.el (mouse-drag-window-above) - (mouse-drag-move-window-bottom, mouse-drag-move-window-top) - (mouse-drag-mode-line-1, mouse-drag-header-line) - (mouse-drag-vertical-line-rightward-window): Remove. - (mouse-drag-line): New function. - (mouse-drag-mode-line, mouse-drag-header-line) - (mouse-drag-vertical-line): Call mouse-drag-line. - * window.el (window-at-side-p, windows-at-side): New functions. - -2011-10-21 Ulrich Mueller <ulm@gentoo.org> - - * tar-mode.el (tar-grind-file-mode): - Fix handling of setuid/setgid, handle sticky bit. (Bug#9817) - -2011-10-21 Chong Yidong <cyd@gnu.org> - - * progmodes/idlwave.el (idlwave-mode): - * progmodes/vera-mode.el (vera-mode): - Use mode-require-final-newline. - -2011-10-20 Glenn Morris <rgm@gnu.org> - - * vc/vc.el (vc-next-action): Handle removed directories. (Bug#9781) - -2011-10-20 Christoph Scholtes <cschol2112@googlemail.com> - - * emulation/cua-base.el (cua-set-mark): Fix case of string. - -2011-10-20 Chong Yidong <cyd@gnu.org> - - * emulation/cua-base.el (cua-mode): - * mail/footnote.el (footnote-mode): - * mail/mailabbrev.el (mail-abbrevs-mode): - * net/xesam.el (xesam-minor-mode): - * progmodes/bug-reference.el (bug-reference-mode): - * progmodes/cap-words.el (capitalized-words-mode): - * progmodes/compile.el (compilation-minor-mode) - (compilation-shell-minor-mode): - * progmodes/gud.el (gud-tooltip-mode): - * progmodes/hideif.el (hide-ifdef-mode): - * progmodes/idlw-shell.el (idlwave-shell-electric-debug-mode): - * progmodes/subword.el (subword-mode): - * progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode): - * progmodes/which-func.el (which-function-mode): - * term/tvi970.el (tvi970-set-keypad-mode): - * term/vt100.el (vt100-wide-mode): - * textmodes/flyspell.el (flyspell-mode): - * textmodes/ispell.el (ispell-minor-mode): - * textmodes/nroff-mode.el (nroff-electric-mode): - * textmodes/paragraphs.el (use-hard-newlines): - * textmodes/refill.el (refill-mode): - * textmodes/reftex.el (reftex-mode): - * textmodes/rst.el (rst-minor-mode): - * textmodes/sgml-mode.el (html-autoview-mode) - (sgml-electric-tag-pair-mode): - * textmodes/tex-mode.el (latex-electric-env-pair-mode): - * vc/diff-mode.el (diff-auto-refine-mode, diff-minor-mode): - * emulation/crisp.el (crisp-mode): - * emacs-lisp/eldoc.el (eldoc-mode): - * emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fixes for new - minor mode behavior. - -2011-10-19 Juri Linkov <juri@jurta.org> - - * descr-text.el (describe-char): Add #x2010 and #x2011 to - the list of hard-coded chars with escape-glyph face. - -2011-10-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/log-edit.el (log-edit-empty-buffer-p): Ignore empty headers. - -2011-10-19 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-connectable-p): Make a stronger check on a - running process. - -2011-10-19 Glenn Morris <rgm@gnu.org> - - * vc/vc-bzr.el (vc-bzr-after-dir-status): - Ignore ignored files. (Bug#9726) - -2011-10-19 Chong Yidong <cyd@gnu.org> - - Doc fix for minor modes, stating that an omitted argument enables - the mode unconditionally when called from Lisp. - - * abbrev.el (abbrev-mode): - * allout.el (allout-mode): - * autoinsert.el (auto-insert-mode): - * autoarg.el (autoarg-mode, autoarg-kp-mode): - * autorevert.el (auto-revert-mode, auto-revert-tail-mode) - (global-auto-revert-mode): - * battery.el (display-battery-mode): - * composite.el (global-auto-composition-mode) - (auto-composition-mode): - * delsel.el (delete-selection-mode): - * desktop.el (desktop-save-mode): - * dired-x.el (dired-omit-mode): - * dirtrack.el (dirtrack-mode): - * doc-view.el (doc-view-minor-mode): - * double.el (double-mode): - * electric.el (electric-indent-mode, electric-pair-mode): - * emacs-lock.el (emacs-lock-mode): - * epa-hook.el (auto-encryption-mode): - * follow.el (follow-mode): - * font-core.el (font-lock-mode): - * frame.el (auto-raise-mode, auto-lower-mode, blink-cursor-mode): - * help.el (temp-buffer-resize-mode): - * hilit-chg.el (highlight-changes-mode) - (highlight-changes-visible-mode): - * hi-lock.el (hi-lock-mode): - * hl-line.el (hl-line-mode, global-hl-line-mode): - * icomplete.el (icomplete-mode): - * ido.el (ido-everywhere): - * image-file.el (auto-image-file-mode): - * image-mode.el (image-minor-mode): - * iswitchb.el (iswitchb-mode): - * jka-cmpr-hook.el (auto-compression-mode): - * linum.el (linum-mode): - * longlines.el (longlines-mode): - * master.el (master-mode): - * mb-depth.el (minibuffer-depth-indicate-mode): - * menu-bar.el (menu-bar-mode): - * minibuf-eldef.el (minibuffer-electric-default-mode): - * mouse-sel.el (mouse-sel-mode): - * msb.el (msb-mode): - * mwheel.el (mouse-wheel-mode): - * outline.el (outline-minor-mode): - * paren.el (show-paren-mode): - * recentf.el (recentf-mode): - * reveal.el (reveal-mode, global-reveal-mode): - * rfn-eshadow.el (file-name-shadow-mode): - * ruler-mode.el (ruler-mode): - * savehist.el (savehist-mode): - * scroll-all.el (scroll-all-mode): - * scroll-bar.el (scroll-bar-mode): - * server.el (server-mode): - * shell.el (shell-dirtrack-mode): - * simple.el (auto-fill-mode, transient-mark-mode) - (visual-line-mode, overwrite-mode, binary-overwrite-mode) - (line-number-mode, column-number-mode, size-indication-mode) - (auto-save-mode, normal-erase-is-backspace-mode, visible-mode): - * strokes.el (strokes-mode): - * time.el (display-time-mode): - * t-mouse.el (gpm-mouse-mode): - * tool-bar.el (tool-bar-mode): - * tooltip.el (tooltip-mode): - * type-break.el (type-break-mode-line-message-mode) - (type-break-query-mode): - * view.el (view-mode): - * whitespace.el (whitespace-mode, whitespace-newline-mode) - (global-whitespace-mode, global-whitespace-newline-mode): - * xt-mouse.el (xterm-mouse-mode): Doc fix. - - * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): - Fix autogenerated docstring. - -2011-10-19 Juri Linkov <juri@jurta.org> - - * net/browse-url.el (browse-url-can-use-xdg-open): Support LXDE - by checking environment variables "DESKTOP_SESSION" and - "XDG_CURRENT_DESKTOP". (Bug#9779) - -2011-10-19 Juri Linkov <juri@jurta.org> - - * net/browse-url.el (browse-url-browser-function): Add "Chromium". - (browse-url-chromium-program, browse-url-chromium-arguments): - New defcustoms. - (browse-url-default-browser): Check for `browse-url-chromium' and - call `browse-url-chromium-program'. - (browse-url-chromium): New command. (Bug#9779) - -2011-10-18 Juanma Barranquero <lekktu@gmail.com> - - * facemenu.el (list-colors-duplicates): On Windows, detect more - duplicates by assuming that only colors matching "^System" are - special "system colors". (Bug#9722) - -2011-10-18 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/log-edit.el (log-edit): Add "Author:" header to encourage people - to distinguish the author from the committer. - -2011-10-18 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-file-name-handler): Load Tramp packages silently. - -2011-10-18 Jirka Kosek <jirka@kosek.cz> (tiny change) - - * international/mule.el (sgml-html-meta-auto-coding-function): - Add support for detecting encoding in HTML5 specified only as - <meta charset="UTF-8">. Implementation just makes http-equiv and - content-type parts from HTML4 encoding string optional. (Bug#9716) - -2011-10-18 Glenn Morris <rgm@gnu.org> - - * vc/vc.el (vc-initial-comment): Mark as obsolete. (Bug#9745) - -2011-10-18 Chong Yidong <cyd@gnu.org> - - * faces.el (cursor): Doc fix. - -2011-10-17 Chong Yidong <cyd@gnu.org> - - * font-lock.el (font-lock-maximum-size): Mark as obsolete. - -2011-10-17 Ryan Barrett <emacs@ryanb.org> (tiny change) - - * dirtrack.el (dirtrack): Support shell buffers with path - prefixes, e.g. tramp-based remote shells. (Bug#9647) - -2011-10-17 Teodor Zlatanov <tzz@lifelogs.com> - - * json.el: Bump version to 1.3 and note change in History. - (json-alist-p, json-plist-p): Rewrite to avoid recursion. - -2011-10-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * comint.el (comint-insert-input, comint-send-input) - (comint-get-old-input-default, comint-backward-matching-input) - (comint-next-prompt): Use nil instead of `input' for field property of - past user input (bug#114). - - * minibuffer.el (completion--replace): Inherit surrounding properties - (bug#114). - (minibuffer-complete-and-exit): Use it. - - * comint.el (comint--table-subvert): Quote the all-completions output - (bug#9160). - -2011-10-17 Martin Rudalics <rudalics@gmx.at> - - * ido.el (ido-default-buffer-method): Remove redundant :type entry. - - * menu-bar.el (menu-bar-file-menu): Add entry for making new - window on right of selected. (Bug#9350) Reword other window - entries and separate them from frame entries. - -2011-10-15 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/ert.el (ert--explain-equal-rec, ert-select-tests): - Doc fixes. - -2011-10-15 Chong Yidong <cyd@stupidchicken.com> - - * net/network-stream.el (network-stream-open-starttls): - Improve detection of failure due to lack of TLS support. - - * mail/sendmail.el (sendmail-query-once): Tweak prompt message, - putting the input text in front and in bold. - -2011-10-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * pcmpl-unix.el (pcomplete/ssh): SSH does allow ganging. - - * mpc.el (mpc-songs-jump-to): Don't burp if the user clicks in an - empty buffer. - - * mouse.el (mouse-drag-mode-line-1): Modify the end-event we pushed on - unread-command-events rather than pushing yet-another event. - -2011-10-14 Eli Zaretskii <eliz@gnu.org> - - * mail/sendmail.el (sendmail-query-once): Improve the wording of - the explanation of the possible choices. Make the options passed - to completing-read shorter. - -2011-10-13 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/flyspell.el (flyspell-large-region): Make sure - extended character mode is used if defined (Bug#1339). - -2011-10-13 Eli Zaretskii <eliz@gnu.org> - - * simple.el (what-cursor-position): Fix the display of the - character info for LRE, LRO, RLE, and RLO characters by appending - an invisible PDF. - -2011-10-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/timer.el (with-timeout): Make sure we cancel the timer - even in case of error; add debug spec; simplify data flow. - (with-timeout-handler): Remove. - -2011-10-12 Michael Albinus <michael.albinus@gmx.de> - - Fix Bug#6019, Bug#9315. - - * files.el (set-auto-mode): Call `file-name-sans-versions' for the - complete `buffer-file-name', the local file name part could look - remotely (for example on VMS). - - * net/ange-ftp.el (ange-ftp-run-real-handler): Make it an alias of - `tramp-run-real-handler'. - (ange-ftp-fix-name-for-vms): Handle the case, where `name' is - already quoted by '"'. - - * net/tramp.el (tramp-rfn-eshadow-update-overlay): Ignore errors. - Let `file-name-handler-alist' be nil, the local file name part - could look remotely (for example on VMS). - -2011-10-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * textmodes/flyspell.el (flyspell-word): Move with-local-quit - from here... - (flyspell-post-command-hook): ...to here. - -2011-10-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * mail/sendmail.el (send-mail-function): Don't use sendmail-query-once - if not needed. - (sendmail-query-once): Remove OS dependencies. Make it a 3-way choice - using completion. Protect against "slow" callers. - Remove the "message hack". - -2011-10-11 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-lazy-highlight-word): New variable. - (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): - Use it. (Bug#9727) - -2011-10-11 Glenn Morris <rgm@gnu.org> - - * progmodes/f90.el (f90-next-statement): Ignore preprocessor lines, - like f90-previous-statement does. - -2011-10-11 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * eshell/eshell.el (eshell-command): History should be saved - only in interactive use, to avoid error. - -2011-10-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-file-name-table): Fix last change, - i.e. ignore normal errors but not the other ones. - -2011-10-10 Martin Rudalics <rudalics@gmx.at> - - * window.el (special-display-buffer-names) - (special-display-regexps): Remove some remnants of earlier - changes from doc-strings. - (quit-windows-on): New function. - - * vc/vc.el (vc-revert, vc-rollback): - * vc/vc-dispatcher.el (vc-finish-logentry): Call quit-windows-on - instead of deleting windows. (Bug#4557) (Bug#5310) (Bug#5556) - (Bug#6183) (Bug#7074) (Bug#7447) - -2011-10-09 Martin Rudalics <rudalics@gmx.at> - - * window.el (frame-auto-hide-function): Add version tag. - (Bug#9699) - -2011-10-09 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-file-name-handler): Add 'debug to the error - condition. - -2011-10-09 Leo Liu <sdl.web@gmail.com> - - * mail/smtpmail.el (smtpmail-send-data): Add a missing space. - (Bug#9701) - -2011-10-08 Glenn Morris <rgm@gnu.org> - - * progmodes/f90.el (f90-calculate-indent): Give preprocessor lines - before the first code statement zero indent. (Bug#9690) - -2011-10-08 Chong Yidong <cyd@stupidchicken.com> - - * simple.el (count-words-region): Always count in the region. - Report the number of lines and characters too. - (count-words): New command, which counts in the buffer if the - region is inactive, as count-words-region used to. - (count-words--message): New function. Handle plurals. - (count-lines-region): Make it an alias for count-words-region. - - * bindings.el (esc-map): Replace count-lines-region with - count-words-region. - -2011-10-08 Martin Rudalics <rudalics@gmx.at> - - * window.el (window--delete): Delete dedicated frame - unconditionally when argument KILL is non-nil. (Bug#9699) - (switch-to-buffer): Fix doc-string typo. - -2011-10-08 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * eshell/eshell.el (eshell-command): Avoid using hooks. - -2011-10-07 Chong Yidong <cyd@stupidchicken.com> - - * bindings.el ([M-left], [M-right]): Bind to left-word and - right-word respectively. - -2011-10-07 Glenn Morris <rgm@gnu.org> - - * cus-start.el (debug-on-quit): Fix custom type. - -2011-10-06 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * subr.el (define-key-after): Clarify that the function is not - useful for non-menu keymaps. - - * progmodes/gdb-mi.el (gdb): Fix typo in doc string. - -2011-10-06 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * eshell/eshell.el (eshell-command): Enable `eshell-mode' only - in current minibuffer (Fix bug with recursive minibuffers). - -2011-10-06 Chong Yidong <cyd@stupidchicken.com> - - * progmodes/gdb-mi.el (gdb): Doc fix. - -2011-10-05 Martin Rudalics <rudalics@gmx.at> - - * window.el (frame-auto-hide-function): New option replacing - frame-auto-delete. Suggested by Stefan Monnier. - (window--delete): Call frame-auto-hide-function instead of - investigating frame-auto-delete. - (window-point-1, set-window-point-1): New functions. - (window-in-direction, record-window-buffer, window-state-get-1) - (display-buffer-record-window): Use window-point-1 instead of - window-point. - (set-window-buffer-start-and-point): Use set-window-point-1. - -2011-10-05 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/edebug.el: Heed checkdoc recommendations. - -2011-10-05 Glenn Morris <rgm@gnu.org> - - * progmodes/perl-mode.el (perl-electric-terminator): Doc fix. - (perl-calculate-indent): Suppress scan errors. (Bug#2205) - -2011-10-05 Leo Liu <sdl.web@gmail.com> - - * subr.el (read-char-choice): Fix argument to buffer-live-p which - works with buffer object. - -2011-10-05 Stefan Monnier <monnier@iro.umontreal.ca> - - * mpc.el (mpc-tool-bar-map): Add labels. - -2011-10-04 Glenn Morris <rgm@gnu.org> - - * calendar/holidays.el (calendar-check-holidays): Doc fix. - -2011-10-04 Martin Rudalics <rudalics@gmx.at> - - * window.el (window--delete): New function. - (frame-auto-delete): Resuscitate option. - (bury-buffer, replace-buffer-in-windows) - (quit-window): Rewrite using window--delete. - (display-buffer-pop-up-frame, display-buffer-pop-up-window): - Pass display-buffer-mark-dedicated to window--display-buffer-2 - (Bug#9639). - -2011-10-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * pcmpl-unix.el (pcomplete/scp): Don't assume pcomplete-all-entries - returns a list (bug#9554). Add remote file name completion. - * comint.el (comint--table-subvert): Curry and get quote&unquote - functions as arguments. - (comint--complete-file-name-data): Adjust call accordingly. - * pcomplete.el (pcomplete--table-subvert): Remove. - (pcomplete-completions-at-point): Use comint--table-subvert instead. - - * minibuffer.el (completion-table-case-fold): Use currying. - (completion--styles-type, completion--cycling-threshold-type): - New constants. - (completion-styles, completion-category-overrides) - (completion-cycle-threshold): Use them. - * pcomplete.el (pcomplete-completions-at-point): Adjust call to - completion-table-case-fold. - -2011-10-03 Stephen Berman <stephen.berman@gmx.net> - - * minibuffer.el (completion-category-overrides): Fix type of styles - and add more user friendly tags (bug#9660). - -2011-10-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * international/mule-cmds.el: Fix abuses of apply-partially (bug#9661). - (mule-input-method-string): New widget. - (default-input-method, language-info-custom-alist): Use it. - -2011-10-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * pcomplete.el: Require comint. - (pcomplete--common-suffix): Remove. - (pcomplete--common-quoted-suffix): Use comint--common-suffix instead. - (pcomplete--table-subvert): Sync with comint--table-subvert. - (pcomplete--entries): Use comint-completion-file-name-table. - * comint.el (comint-unquote-filename): Simplify. - (comint-completion-file-name-table): New function (bug#9616). - (comint--complete-file-name-data): Use it. - - * pcmpl-gnu.el (pcmpl-gnu-with-file-buffer): New macro (bug#9643). - (pcmpl-gnu-tar-buffer): Remove. - (pcmpl-gnu-with-file-buffer): Use it to avoid leaving the tar's buffer - around. Make sure pcomplete-suffix-list is only changed temporarily. - Don't look inside the tar's file if it's too large. - -2011-10-01 Chong Yidong <cyd@stupidchicken.com> - - * cus-edit.el (custom-mode-map): - * epa.el (epa-key-list-mode-map): - * man.el (Man-mode-map): - * startup.el (splash-screen-keymap): - * simple.el (special-mode-map): Use scroll-up-command and - scroll-down-command. - - * progmodes/idlw-help.el (idlwave-help-mode-map): - * progmodes/ebrowse.el (ebrowse-electric-position-mode-map): - * net/newst-plainview.el (newsticker-mode-map): - * emulation/ws-mode.el (wordstar-mode-map): - * emulation/vi.el (vi-com-map): - * calc/calc-graph.el (calc-graph-show-dumb): - * term/sun.el (terminal-init-sun): - * term/ns-win.el (global-map): - * progmodes/grep.el (grep-mode-map): - * progmodes/ebrowse.el (ebrowse-electric-list-mode-map): - * mail/rmail.el (rmail-mode-map): - * progmodes/cpp.el (cpp-edit-mode-map): Likewise. - - * custom.el (custom-safe-themes, load-theme): Treat value of t for - custom-safe-themes as special. - -2011-10-01 Julien Danjou <julien@danjou.info> - - * notifications.el (notifications-notify): Fix docstring. - -2011-10-01 Per Starbäck <per@starback.se> - - * pcmpl-gnu.el (pcomplete/tar): Fix tar-header-name call. (Bug#9643) - -2011-09-30 Martin Rudalics <rudalics@gmx.at> - - * startup.el (command-line-1): Fix last fix by inserting - initial-scratch-message into *scratch* before displaying it. - (Bug#9605) and (Bug#9636) - -2011-09-29 Eli Zaretskii <eliz@gnu.org> - - * simple.el (line-move): If auto-hscroll-mode is disabled and the - window is hscrolled, move by logical lines. (Bug#9607) - (line-move-visual): Update the doc string to the above effect. - -2011-09-29 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-record-window): When WINDOW is the - selected window use `point' instead of `window-point'. (Bug#9626) - - * startup.el (command-line-1): Use insert-before-markers when - inserting initial-scratch-message. (Bug#9605) - - * help.el (help-window): Remove variable. - -2011-09-29 Glenn Morris <rgm@gnu.org> - - * pcmpl-cvs.el (pcomplete/cvs): Add "status" handler. - -2011-09-29 Juanma Barranquero <lekktu@gmail.com> - - * descr-text.el (describe-char-categories): Accept category - descriptions more than one line long. - -2011-09-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * simple.el (delete-trailing-whitespace): Fix last change. - - * progmodes/perl-mode.el (perl-syntax-propertize-function): - Don't confuse "y => 3" as the beginning of a `y' operation. - - * emacs-lisp/debug.el (debug-convert-byte-code): Don't assume the - object has more than 4 slots (bug#9613). - -2011-09-28 Juanma Barranquero <lekktu@gmail.com> - - * subr.el (with-output-to-temp-buffer): - * net/quickurl.el (quickurl, quickurl-browse-url): - Fix typos in docstrings. - -2011-09-27 Eli Zaretskii <eliz@gnu.org> - - * minibuffer.el (completion-styles) - (completion-category-overrides): Cross reference each other in doc - strings. - -2011-09-27 Glenn Morris <rgm@gnu.org> - - * pcmpl-cvs.el (pcmpl-cvs-entries): Update for Emacs 22.1 changes - to split-string. (Bug#9606) - -2011-09-27 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-via-smtp): Fix STARTTLS detection - (bug#9615). - -2011-09-27 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/package.el (list-packages): Fix echo area message. - -2011-09-27 Leo Liu <sdl.web@gmail.com> - - * ido.el (ido-read-internal): Accept cons cell HIST arg. - -2011-09-25 Michael Albinus <michael.albinus@gmx.de> - - * net/dbus.el (dbus-unregister-object): Don't release services for - registered signals. (Bug#9581) - -2011-09-25 Teodor Zlatanov <tzz@lifelogs.com> - - * progmodes/cfengine.el (cfengine-auto-mode): Add convenience - function that picks between cfengine 2 and 3 support - automatically. Update docs accordingly. - -2011-09-22 Kenichi Handa <handa@m17n.org> - - * language/ind-util.el (indian-tml-base-table): Add TAMIL DIGIT - ZERO. - (indian-itrans-v5-table-for-tamil): New variable. - (indian-tml-itrans-v5-hash): Use the above variable (Bug#9336). - -2011-09-22 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el (allout-this-command-hid-stuff): Buffer-local variable - that's true if the current command involved collapsing of text. - It's reset to false at the beginning of the next command. - (allout-post-command-business): Move the cursor to the beginning - of entry if the cursor is hidden and collapsing activity just - happened. - -2011-09-24 Chong Yidong <cyd@stupidchicken.com> - - * mouse.el (mouse-drag-track): Set scroll-margin to 0 while - tracking (Bug#9541). - -2011-09-24 Ulf Jasper <ulf.jasper@web.de> - - * net/newst-reader.el (newsticker-html-renderer) - (newsticker-show-news): Automatically load html rendering package - if newsticker-html-renderer is set. Fixes "Warning: defvar ignored - because w3m-fill-column is let-bound" and the error "Symbol's value - as variable is void: w3m-fill-column". - -2011-09-24 Michael Albinus <michael.albinus@gmx.de> - - * net/dbus.el (dbus-unregister-object): Remove match rule of signals. - Release services only if they are defined. (Bug#9581) - -2011-09-23 Richard Stallman <rms@gnu.org> - - * textmodes/paragraphs.el (forward-sentence): For backwards case, - distinguish start of paragraph from start of its text. - - * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): Autoload. - - * mail/rmail.el (rmail-view-buffer-kill-buffer-hook): New function. - (rmail-generate-viewer-buffer): Put that hook on view buffer. - (rmail-mode-kill-buffer-hook): Override that hook, to kill view buffer. - -2011-09-23 Andreas Schwab <schwab@linux-m68k.org> - - * international/mule-diag.el (mule-diag): Insert a newline after - each fontset description. - -2011-09-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * simple.el (delete-trailing-whitespace): - Document last change; simplify. - -2011-09-23 Peter J. Weisberg <pj@irregularexpressions.net> - - * simple.el (delete-trailing-whitespace): Also delete - extra newlines at the end of the buffer. - - * textmodes/picture.el: Make motion commands obey shift-select-mode. - (picture-newline): Use forward-line so as to ignore fields. - -2011-09-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (with-wrapper-hook): Fix edebug spec. - -2011-09-23 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * simple.el (kill-line): Note effect of `show-trailing-whitespace' - (bug#4538). - -2011-09-23 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): - Fix nasty bug using wrong cached values. - -2011-09-23 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-defs.el (c-version): Increase to 5.31.9. - -2011-09-23 Chong Yidong <cyd@stupidchicken.com> - - * window.el (pop-to-buffer): Ensure right window is selected if we - chose another frame. - -2011-09-22 Eli Zaretskii <eliz@gnu.org> - - * simple.el (what-cursor-position): Use get-char-property-change - and next-single-char-property-change, to be able to show display - properties that come from overlays as well as text properties. - -2011-09-22 Chong Yidong <cyd@stupidchicken.com> - - * window.el (pop-to-buffer-same-window): New (reinstated) fun. - - * cmuscheme.el (run-scheme, switch-to-scheme): - * cus-edit.el (customize-group, custom-buffer-create) - (customize-browse): - * info.el (info): - * shell.el (shell): - * mail/sendmail.el (mail): - * progmodes/inf-lisp.el (inferior-lisp): Use it (Bug#9532). - -2011-09-22 Richard Stallman <rms@gnu.org> - - * textmodes/paragraphs.el (forward-sentence): When setting PAR-BEG, - move back only to line beg, don't move back over blank lines. - -2011-09-22 Michael Albinus <michael.albinus@gmx.de> - - * files.el (copy-directory): Set directory attributes only in case - they could be retrieved from the source directory. (Bug#9565) - -2011-09-22 Dima Kogan <dkogan@secretsauce.net> (tiny change) - - * progmodes/hideshow.el (hs-looking-at-block-start-p) - (hs-find-block-beginning, hs-hide-level-recursive): - Ignore strings as well as comments. (Bug#9502) - -2011-09-22 Andrew Schein <andrew@andrewschein.com> (tiny change) - - * progmodes/sql.el (sql-comint-postgres): - Convert port number to a string. (Bug#9566) - -2011-09-22 Martin Rudalics <rudalics@gmx.at> - - * window.el (quit-window): Undedicate window when switching to - previous buffer. Reported by Thierry Volpiatto - <thierry.volpiatto@gmail.com>. - (special-display-popup-frame): When popping up a new frame reset - its previous buffers to nil. Simplify code. - -2011-09-21 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-handle-shell-command): Set process sentinel - and process filter, as done also in `shell-command'. - -2011-09-21 Martin Rudalics <rudalics@gmx.at> - - * window.el (set-window-buffer-start-and-point): - Call set-window-start with NOFORCE argument t. - Suggested by Thierry Volpiatto <thierry.volpiatto@gmail.com>. - (quit-window): Reword doc-string. Handle new format of - quit-restore parameter. Don't delete window if it has a - previous buffer we can show instead of the present one. - (display-buffer-record-window): Rewrite using a new format for - the quit-restore window parameter - (special-display-popup-frame, display-buffer-same-window) - (display-buffer-reuse-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-window, display-buffer-use-some-window): - Adapt symbol passed to display-buffer-record-window. - * help.el (help-window-setup): Handle new format of quit-restore - parameter. - -2011-09-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * faces.el (face-list): Fix docstring (bug#9564). - - * window.el (display-buffer--action-function-custom-type): - Don't include internal functions in the Custom interface. - -2011-09-20 Juri Linkov <juri@jurta.org> - - * info.el (Info-history-skip-intermediate-nodes): New defcustom. - (Info-forward-node, Info-backward-node, Info-next-preorder) - (Info-last-preorder): Use it. (Bug#9528) - -2011-09-20 Juri Linkov <juri@jurta.org> - - * info.el (Info-last-preorder): Visit last menu item only when - `Info-scroll-prefer-subnodes' is non-nil (third test-case of bug#9528). - -2011-09-20 Julien Danjou <julien@danjou.info> - - * password-cache.el (password-cache-remove): Remove entries even if the - value is nil, so that password with a nil value (negative caching) is - possible to invalidate. - -2011-09-20 Lawrence Mitchell <wence@gmx.li> - - * progmodes/f90.el (f90-break-line): If breaking inside comment delete - all whitespace around breakpoint. (Bug#9553) - (f90-find-breakpoint): Only break at whitespace inside a comment. - -2011-09-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-file-name-table): Keep track of errors. - (completion-table-with-predicate): Handle the case where pred1 is nil. - * pcomplete.el (pcomplete-completions-at-point): Simplify. - -2011-09-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/debug.el (debugger-args): Give it a docstring. - (debugger-return-value): Signal an error if the debugging context does - not await any return value. - - * ps-mule.el (ps-mule-plot-string): Don't inf-loop (bug#5108). - * image-mode.el (image-toggle-display-text) - (image-toggle-display-image): Stay away from evil `intangible'. - -2011-09-19 Leo Liu <sdl.web@gmail.com> - - * replace.el (occur-revert-arguments): Make it permanent-local. - (occur-mode): Don't call font-lock-defontify. - -2011-09-19 Chong Yidong <cyd@stupidchicken.com> - - * net/ldap.el (ldap-search-internal): Don't push empty search - result (Bug#9508). - -2011-09-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * whitespace.el (whitespace-newline-mode): Disable it right (bug#9550). - -2011-09-19 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-inline-compress-commands): Add "xz". - Suggested by Liam Stitt <stittl@cuug.ab.ca>. - -2011-09-18 Juri Linkov <juri@jurta.org> - - * buff-menu.el (Buffer-menu-mode-map): - * dired.el (dired-mode-map): - * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map) - (lisp-interaction-mode-map): - * emacs-lisp/package.el (package-menu-mode-map): - * epa.el (epa-key-list-mode-map): - * menu-bar.el (menu-bar-showhide-tool-bar-menu) - (menu-bar-options-menu): - * outline.el (outline-mode-menu-bar-map): - * vc/vc-bzr.el (vc-bzr-shelve-menu-map, vc-bzr-extra-menu-map): - * vc/vc-dir.el (vc-dir-menu-map): - * vc/vc-git.el (vc-git-stash-menu-map, vc-git-extra-menu-map): - Capitalize non-function content words in menu item strings. - - * dired.el (dired-mode-map): Add menu item for - `image-dired-dired-toggle-marked-thumbs'. - -2011-09-18 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-edit-string): Bind `isearch-new-case-fold' - to `isearch-case-fold-search' and restore its original value - after the `isearch-mode' call. - -2011-09-18 Juri Linkov <juri@jurta.org> - - * progmodes/grep.el (grep-process-setup): Don't check code for 1 - because `zgrep' returns 1 for successful matches (bug#9226). - -2011-09-18 Juri Linkov <juri@jurta.org> - - * info.el (Info-extract-menu-node-name): Check the second match - for empty string (second test-case of bug#9528). - (Info-last-preorder): Let-bind `Info-history' to nil to not add - intermediate nodes to the history (first test-case of bug#9528). - -2011-09-18 Juri Linkov <juri@jurta.org> - - * info.el (Info-mode-syntax-table): New variable. - (Info-mode): Set `:syntax-table' to `Info-mode-syntax-table' (bug#3312). - -2011-09-18 Juri Linkov <juri@jurta.org> - - * info.el (Info-file-supports-index-cookies): - Increment line-beginning-position's arg from 3 to 4 because makeinfo - outputs one more line for long file names (bug#4142). - -2011-09-18 Chong Yidong <cyd@stupidchicken.com> - - * newcomment.el (comment-normalize-vars): If prompting for - comment-start, set comment-start-skip too (Bug#8424). - -2011-09-18 Johan BockgÃ¥rd <bojohan@gnu.org> - - * icomplete.el: Fix previous fix of Bug#5849. - (icomplete-mode): Don't set completion-show-inline-help. - (icomplete-minibuffer-setup): Set completion-show-inline-help - locally during icompletion. - -2011-09-18 Chong Yidong <cyd@stupidchicken.com> - - * woman.el (woman2-process-escapes): Don't delete unrecognized - escapes (Bug#7843). - - * files.el (inhibit-first-line-modes-regexps): Add image files. - (hack-local-variables-prop-line): Return nil for malformed - prop-lines (Bug#9044). - -2011-09-18 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (top): Don't require 'shell. - (tramp-methods): Fix docstring. - (tramp-get-remote-tmpdir): New defun, moved from tramp-sh.el. - Return complete remote file name. Handle "smb" case. - Use `tramp-tmpdir', if defined for the respective method. - (tramp-make-tramp-temp-file): Adapt call of `tramp-get-remote-tmpdir'. - - * net/tramp-compat.el (top): Require 'shell. - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) - (tramp-maybe-open-connection): Use `tramp-file-name-real-host' for - `tramp-current-host'. - (tramp-get-remote-tmpdir): Remove. - - * net/tramp-smb.el (tramp-methods): Add `tramp-remote-shell' and - `tramp-tmpdir' entries. - (tramp-smb-errors): Add "NT_STATUS_IMAGE_ALREADY_LOADED". - (tramp-smb-handle-file-attributes): Ignore errors. - (tramp-smb-wait-for-output): Check also for process end. - -2011-09-18 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-via-smtp): Ignore errors that arise - when sending QUIT (bug#9312). - -2011-09-17 Chong Yidong <cyd@stupidchicken.com> - - * replace.el (occur-mode-map): Rebind occur-edit-mode to "e" (Bug#8463). - (occur-edit-mode-map): Bind C-c C-c to occur-cease-edit and C-o to - occur-mode-display-occurrence. - (occur-edit-mode): Add usage message. - (occur-cease-edit): New command. - (occur-after-change-function): Use text properties to find the - position of the prefix text. - (occur-engine): Set stickiness of prefix text properties. - -2011-09-17 Glenn Morris <rgm@gnu.org> - - * progmodes/etags.el (complete-tag): - Fix call to completion-in-region. (Bug#9526) - -2011-09-17 Juri Linkov <juri@jurta.org> - - * textmodes/ispell.el (ispell-word): Add to the error message - the word, ispell program name and current dictionary (bug#9121). - (ispell-tex-arg-end): Capitalize "error" in the error message. - -2011-09-17 Andreas Schwab <schwab@linux-m68k.org> - - * emacs-lisp/bytecomp.el (byte-compile-lapcode): Fix overflow - check. (Bug#4251) - -2011-09-17 Juri Linkov <juri@jurta.org> - - * window.el (window-safe-min-height, window-safe-min-width): - Fix typos (followup to bug#9522). - -2011-09-17 Sven Joachim <svenjoac@gmx.de> - - * window.el (window-min-width, window-state-put): Fix typos (bug#9522). - -2011-09-16 Eli Zaretskii <eliz@gnu.org> - - * simple.el (line-move): If goal-column is set, move by logical - lines, not by display lines. (Bug#971) - (next-line, previous-line, goal-column, line-move-visual): Doc fix - to reflect the above change. - -2011-09-16 Stefan Monnier <monnier@iro.umontreal.ca> - - * image.el (imagemagick-register-types): Use regexp-opt. - -2011-09-15 Chong Yidong <cyd@stupidchicken.com> - - * window.el (display-buffer-base-action): Rename from - display-buffer-default-action. Make default value empty. - (display-buffer-overriding-action): Convert to defvar. - (display-buffer-fallback-action): New var. - -2011-09-15 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/package.el (package-alist): Fix risky-local-variable - declaration. - (package--add-to-archive-contents): If there is a duplicate entry - with an older version, remove it. - (package-menu-mark-delete, package-menu-mark-install) - (package-menu-mark-unmark): Make unused args optional. - (package-menu-mark-obsolete-for-deletion): - Use package-menu-get-status instead of a regexp search. - (package-menu-get-status): Use tabulated-list-entry. - (package-menu-mark-upgrades): New command. - (package-menu-mode-map): Bind it to U. Add it to menu bar. - (package-menu-execute): Do installation before deletion. - (package-menu-refresh, package-menu-execute): Use derived-mode-p - instead of checking major-mode. - (package-menu--find-upgrades): New function. - -2011-09-14 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-send-command): Don't include AUTH - passwords in the log buffer. - (smtpmail-process-filter): Update the process marker so that the - "broken by peer" status message is inserted in the right place. - -2011-09-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * textmodes/bibtex.el (bibtex-complete-string-cleanup) - (bibtex-complete-crossref-cleanup): Adjust to accommodate needs of - bibtex-completion-at-point-function. - (bibtex-completion-at-point-function): Use them. - - * newcomment.el (comment-add, comment-valid-prefix-p): Docfix. - - * mpc.el (mpc-constraints-tag-lookup): New function. - (mpc-constraints-restore): Use it to make jumping to "album=Foo" apply - also to browser "album|playlist". - -2011-09-14 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-fail-pos): Add new arg `msg'. Doc fix. - (isearch-edit-string): Use length of `isearch-string' when - `isearch-fail-pos' returns nil. - (isearch-message): Remove duplicate code and call - `isearch-fail-pos' with arg `t'. - -2011-09-14 Chong Yidong <cyd@stupidchicken.com> - - * replace.el (occur-mode-goto-occurrence): Don't force using other - window (Bug#9499). - - * dired-aux.el (dired-do-chmod): Don't provide initial input. - -2011-09-14 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-window): Remove. - (display-buffer-record-window): Use help-setup window parameter - instead of variable display-buffer-window. - (display-buffer-function, special-display-buffer-names) - (special-display-function): Mention help-setup parameter instead - of display-buffer-window in doc-string. - * help.el (help-window-setup): New argument help-window. - Use help-window-setup parameter instead of display-buffer-window. - Reword some messages. - (with-help-window): Pass window used for displaying the buffer - to help-window-setup. Don't set display-buffer-window. - -2011-09-13 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/debug.el (debugger-make-xrefs): - Preserve point. (Bug#9462) - -2011-09-13 Chong Yidong <cyd@stupidchicken.com> - - * window.el (window-deletable-p): Use next-frame. - -2011-09-13 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-auto-delete): Remove. - (window-deletable-p): Remove argument FORCE. Don't deal with - dedication and previous buffers. - (switch-to-prev-buffer): Don't delete window. - (delete-windows-on): Delete a window's frame if and only if the - window is dedicated. - (replace-buffer-in-windows): Delete buffer's window or frame if - and only if window is dedicated. - (quit-window): Handle quit-restore as before last change. - (bury-buffer): Delete window only if window-deletable-p returns t. - -2011-09-13 Chong Yidong <cyd@stupidchicken.com> - - * window.el (window-deletable-p): Never delete the last frame on a - given terminal. - -2011-09-13 Glenn Morris <rgm@gnu.org> - - * help.el (describe-key-briefly): Copy previous standard-output change. - -2011-09-13 PJ Weisberg <pj@irregularexpressions.net> - - * help.el (where-is): Respect non-standard standard-output. (Bug#9030) - -2011-09-13 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/lisp-mode.el (lisp-indent-function): - * progmodes/scheme.el (scheme-indent-function): Doc fixes. - -2011-09-12 Chong Yidong <cyd@stupidchicken.com> - - * dired-aux.el (dired-mark-read-string): Don't return default - value on empty input (Bug#9361). - (dired-do-chxxx): Treat empty input for "touch" as no -t option. - Omit initial minibuffer contents. - (dired-do-chmod): Signal an error on empty input. - (dired-mark-read-string): Don't return default on empty input. - - * files.el (file-modes-symbolic-to-number): Doc fix. - -2011-09-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * international/mule-cmds.el (ucs-completions): Remove. - (read-char-by-name): Use complete-with-action instead; add metadata. - -2011-09-11 Chong Yidong <cyd@stupidchicken.com> - - * window.el (display-buffer--action-function-custom-type) - (display-buffer--action-custom-type): New vars. - (display-buffer-alist, display-buffer-default-action) - (display-buffer-overriding-action): Add defcustom types. - - * frame.el (delete-other-frames): Doc fix (Bug#276). - -2011-09-11 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * play/doctor.el (make-doctor-variables): Define `doctor-sent'. - -2011-09-11 Chong Yidong <cyd@stupidchicken.com> - - Change modes that used same-window-* vars to use switch-to-buffer. - - * progmodes/gdb-mi.el (gdb-restore-windows, gdb-setup-windows): - Use switch-to-buffer. - - * cus-edit.el (customize-group, custom-buffer-create) - (customize-browse, custom-buffer-create-other-window): - Use switch-to-buffer or switch-to-buffer-other-window. - - * info.el (info, Info-find-node, Info-revert-find-node, Info-next) - (Info-prev, Info-up, Info-speedbar-goto-node) - (info-display-manual): Use switch-to-buffer. - (Info-speedbar-goto-node): Use switch-to-buffer-other-frame. - - * mail/sendmail.el (mail): Use switch-to-buffer. - (mail-recover): Use switch-to-buffer-other-window. - - * cmuscheme.el (run-scheme, switch-to-scheme): - * ielm.el (ielm): - * shell.el (shell): - * net/rlogin.el (rlogin): - * net/telnet.el (telnet, rsh): - * progmodes/inf-lisp.el (inferior-lisp): Use switch-to-buffer. - -2011-09-11 Andreas Schwab <schwab@linux-m68k.org> - - * dired.el (dired-sort-toggle-or-edit): Revert last changes. - -2011-09-11 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * dired.el (dired-sort-toggle-or-edit): -o doesn't exist on *BSD, - so don't mention it (bug#9301). - (dired-sort-toggle-or-edit): Clarify string further. - - * faces.el (face-spec-set-match-display): Make `(type graphic)' - match `x', `w32' and `ns', like the manual says (bug#9029). - - * subr.el (eval-after-load): Doc string clarification (bug#9125). - (process-kill-buffer-query-function): Mention the buffer name in - the query. - - * image-mode.el (image-next-line): The line parameter is mandatory - (bug#9258). - - * dired.el (dired-sort-toggle-or-edit): Mention -o and -g, too, - which can be useful (bug#9301). - - * textmodes/flyspell.el: Remove obsolete comment (bug#9368). - - * subr.el (match-string): Mention that the current buffer should - be the same as the search was done in (bug#9282). - - * facemenu.el: Disable the remove-* commands if the mark isn't - active (bug#9162). - -2011-09-10 Chong Yidong <cyd@stupidchicken.com> - - * buff-menu.el (Buffer-menu-switch-other-window): Use second arg - of display-buffer. - (Buffer-menu-2-window): Use switch-to-buffer-other-window. - - * replace.el (occur-mode-goto-occurrence) - (occur-mode-display-occurrence) Use second arg of pop-to-buffer - and display-buffer. - - * mail/reporter.el (reporter-submit-bug-report): Use second arg of - display-buffer. - - * mail/sendmail.el (sendmail-user-agent-compose): Don't bind the - special-display and same-window variables. - (mail-other-window): Use switch-to-buffer-other-window. - (mail-other-frame): USe switch-to-buffer-other-frame. - - * progmodes/gdb-mi.el (gdb-frame-gdb-buffer): - Use display-buffer-other-frame. - (gdb-display-gdb-buffer): Use pop-to-buffer. - - * progmodes/gud.el (gud-goto-info): Use info-other-window. - - * progmodes/python.el: Don't set same-window-buffer-names. - - * textmodes/bibtex.el (bibtex-search-entry): Use switch-to-buffer. - - * window.el (display-buffer-alist): Add *Python*. - -2011-09-10 Chong Yidong <cyd@stupidchicken.com> - - * window.el (display-buffer-alist): Add entry for buffers - previously handled same-window-*. - (display-buffer-alist, display-buffer-default-action) - (display-buffer-overriding-action): Mark as risky. - (display-buffer-alist): Document action function changes. - (display-buffer--same-window-action) - (display-buffer--other-frame-action): New variables. - (switch-to-buffer, display-buffer-other-frame): Use them. - (display-buffer): Rename reuse-frame entry to reusable-frames. - (display-buffer-reuse-selected-window): Function deleted. - (display-buffer-reuse-window): Handle reusable-frames alist entry. - If it's omitted, check pop-up-frames/display-buffer-reuse-frames. - (display-buffer-special): New function. - (display-buffer--maybe-pop-up-frame-or-window): Rename from - display-buffer-reuse-or-pop-window. Split off special-display - part into display-buffer-special. - (display-buffer-use-some-window): Don't perform any special - pop-up-frames handling. - (pop-to-buffer): Use window-normalize-buffer-to-switch-to. - (display-buffer--maybe-same-window): Rename from - display-buffer-maybe-same-window. - - * info.el: Don't set same-window-regexps. - (info-setup): New function. - (info-other-window, info): Call it. - - * cus-edit.el: Don't set same-window-regexps. - (customize-group): New argument. - (customize-group-other-window): Use it. - (customize-face, customize-face-other-window): Likewise. - (custom-buffer-create-other-window): Use pop-to-buffer directly. - - * net/rlogin.el: - * net/telnet.el: - * progmodes/gud.el: Don't set same-window-regexps. - - * cmuscheme.el: - * ielm.el: - * shell.el: - * mail/sendmail.el: - * progmodes/inf-lisp.el: Don't set same-window-buffer-names. - -2011-09-10 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-edit-string): Remove obsolete mention of - `C-w' (`isearch-yank-word-or-char') from docstring. - (isearch-query-replace): Fix typo in docstring (bug#9466). - -2011-09-10 Juri Linkov <juri@jurta.org> - - * paren.el (show-paren-function): Don't show escaped parens. - Let-bind `unescaped' to `t' when paren is not escaped. (Bug#9461) - -2011-09-10 Eli Zaretskii <eliz@gnu.org> - - * mail/sendmail.el (mml-to-mime, mml-attach-file) - (mm-default-file-encoding): Remove autoload forms, they are - replaced with autoload cookies in mml.el and mm-encode.el. - (mail-add-attachment): New command. - (mail-mode-map): Add a menu-bar item for mail-add-attachment. - (mail-mode): Mention mail-insert-file and mail-add-attachment in - the doc string. - (mml-to-mime, mml-attach-file, mm-default-file-encoding): Declare. - -2011-09-10 Reuben Thomas <rrt@sc3d.org> - - * simple.el (count-words-region): Use buffer if there's no region - (bug#9429). - -2011-09-09 Juri Linkov <juri@jurta.org> - - * wdired.el (wdired-change-to-wdired-mode): Set buffer-local - `isearch-filter-predicate' to `wdired-isearch-filter-read-only'. - (wdired-isearch-filter-read-only): New function. (Bug#6362) - -2011-09-09 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-mode.el (awk-mode): Prevent `define-derived-mode' - spuriously generating `awk-mode-syntax-table'. (Bug #9448). - -2011-09-09 Eli Zaretskii <eliz@gnu.org> - - Fix for Savannah bug#9392. - * simple.el (mail-encode-mml): New defvar. - - * mail/rmail.el (mail-encode-mml): Add a defvar. - (rmail-enable-mime-composing): Default to t. - (rmail-forward): Use MIME method of forwarding only if both - rmail-enable-mime-composing and rmail-enable-mime are non-nil. - Set mail-encode-mml non-nil if the MIME method was used. - - * mail/sendmail.el (mml-to-mime): Add autoload form. - (mail-encode-mml): Add a defvar. - (mail-mode): Make mail-encode-mml buffer-local and initialize it - to nil. - (mail-send): If mail-encode-mml is non-nil, run the outgoing - message through mml-to-mime, and reset mail-encode-mml to nil. - -2011-09-09 Glenn Morris <rgm@gnu.org> - - * woman.el (woman-if-body): When processing an .el block, - do not delete the next .el block as well. (Bug#9447) - (woman-special-characters): Add oq, cq, and hy characters. - -2011-09-08 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-deletable-p): Make sure window is live before - invoking window-prev-buffers. - -2011-09-08 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc-cmd-invite): New rcirc command. (Bug#9453) - -2011-09-08 Juri Linkov <juri@jurta.org> - - * progmodes/compile.el (compilation-environment): Make it - a defcustom (bug#8340). - -2011-09-08 Martin Rudalics <rudalics@gmx.at> - - * window.el (frame-auto-delete): Rename to window-auto-delete. - Make it control auto-deletion of windows and/or frames. - (window-deletable-p): New argument FORCE. Rewrite conditions - for deleting window/frame. (Bug#9419) - (switch-to-prev-buffer, replace-buffer-in-windows, quit-window): - Rewrite handling of case when window/frame can be deleted. - (delete-windows-on): Call window-deletable-p with new FORCE - argument t. (Bug#9456) - -2011-09-07 Chong Yidong <cyd@stupidchicken.com> - - * help-mode.el (help-mode): Restore autoload. - -2011-09-07 Juri Linkov <juri@jurta.org> - - * progmodes/compile.el (compilation-start): Let-bind `thisenv' to - `compilation-environment'. Set buffer-local - `compilation-environment' to `thisenv' later after (funcall mode). - (Bug#8340) - - * vc/vc-git.el (vc-git-grep): Remove --no-color. (Bug#9408) - (vc-git-grep): Prepend "PAGER=" to `compilation-environment' - instead of replacing its value. (Bug#8340) - -2011-09-07 Juri Linkov <juri@jurta.org> - - * progmodes/grep.el (grep-regexp-alist): Calculate column positions - based on text properties put by `grep-filter' instead of matching - escape sequences. - (grep-mode): Set buffer-local `compilation-error-screen-columns' - to the value of `grep-error-screen-columns' (bug#9438). - -2011-09-07 Juri Linkov <juri@jurta.org> - - * simple.el (next-error-highlight, next-error-highlight-no-select): - Doc fix (bug#9432). - -2011-09-07 OKAZAKI Tetsurou <okazaki.tetsurou@gmail.com> (tiny change) - - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): - Check for null c-opt-block-decls-with-vars-key. (Bug#9443) - -2011-09-07 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc-mode): Conditionally initialize - rcirc-input-ring. - -2011-09-07 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/find-func.el (find-function-C-source): Only set - find-function-C-source-directory after checking that we found a source - file there (bug#9440). - -2011-09-06 Alan Mackenzie <acm@muc.de> - - * isearch.el (isearch-other-meta-char): Wherever a key list is - unread, "unread" the prefix arg, too. This fixes bug #8901. - -2011-09-05 Oleksandr Gavenko <gavenkoa@gmail.com> (tiny change) - - * progmodes/grep.el (rgrep): Add "-type d" (bug#9414). - -2011-09-05 Juri Linkov <juri@jurta.org> - - * progmodes/grep.el (grep-process-setup): Fix comments (bug#8084). - -2011-09-05 Juri Linkov <juri@jurta.org> - - * progmodes/grep.el (grep-filter): Avoid incomplete processing by - keeping point where processing of grep matches begins, and - continue to delete remaining escape sequences from the same point. - (grep-filter): Make leading zero optional in "0?1;31m" because - git-grep emits "\033[1;31m" escape sequences unlike expected - "\033[01;31m" as GNU Grep does (bug#9408). - (grep-process-setup): Replace obsolete "ml=" with newer "sl=". - -2011-09-05 Juri Linkov <juri@jurta.org> - - * subr.el (y-or-n-p): Capitalize "yes". - -2011-09-04 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (top): Require 'shell. Use `tramp-unload-hook' but - `tramp-cache-unload-hook' where appropriate. - (tramp-methods): Rename `tramp-remote-sh' to - `tramp-remote-shell'. Add `tramp-remote-shell-args'. - (tramp-handle-shell-command): New defun, moved from tramp-sh.el. - - * net/tramp-sh.el (top): Don't require 'shell. - (tramp-methods): Add `tramp-remote-shell' and - `tramp-remote-shell-args' entries. - (tramp-sh-file-name-handler-alist): Use `tramp-handle-shell-command'. - (tramp-sh-handle-shell-command): Remove. - (tramp-find-shell, tramp-open-connection-setup-interactive-shell): - Use `tramp-remote-shell'. - -2011-09-03 Chong Yidong <cyd@stupidchicken.com> - - * mail/sendmail.el (sendmail-query-once-function): Delete. - (sendmail-query-once): Save directly to send-mail-function. - Update message-send-mail-function too. - - * mail/smtpmail.el (smtpmail-try-auth-methods): Clarify prompt. - -2011-09-03 Christoph Scholtes <cschol2112@googlemail.com> - - * progmodes/python.el (python-mode-map): Use correct function to - start python interpreter from menu-bar (as reported by Geert - Kloosterman). - (inferior-python-mode-map): Fix typo. - (python-shell-map): Remove. - -2011-09-03 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-print): Simplify code for - rcirc-scroll-show-maximum-output. There is no need to walk - through all windows to find the right one. - -2011-09-03 Christoph Scholtes <cschol2112@googlemail.com> - - * help.el (help-return-method): Doc fix. - -2011-09-03 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-deletable-p): Don't return a non-nil value - when there's a buffer that was shown in the window before. - (Bug#9419) - (display-buffer-pop-up-frame, display-buffer-pop-up-window): - Set window's previous buffers to nil. - -2011-09-03 Eli Zaretskii <eliz@gnu.org> - - * mail/rmailmm.el (rmail-mime-insert-tagline): Insert an extra - newline before and after the tag line, so it doesn't interfere - with determining the paragraph direction of bidirectional text. - -2011-09-03 Leo Liu <sdl.web@gmail.com> - - * files.el (find-file-not-true-dirname-list): Remove. (Bug#9422) - -2011-09-02 Chong Yidong <cyd@stupidchicken.com> - - * window.el (pop-to-buffer-1, pop-to-buffer-same-window): Delete. - (pop-to-buffer): Change interactive spec. Pass second argument - directly to display-buffer. - (display-buffer): Fix interactive spec. Use functionp to - distinguish between a function and a list of functions. - - * abbrev.el (edit-abbrevs): - * arc-mode.el (archive-extract): - * autoinsert.el (auto-insert): - * bookmark.el (bookmark-bmenu-list): - * files.el (find-file): - * view.el (view-buffer): - * progmodes/compile.el (compilation-goto-locus): - * textmodes/bibtex.el (bibtex-initialize): Use switch-to-buffer. - -2011-09-02 Chong Yidong <cyd@stupidchicken.com> - - * window.el (display-buffer-alist): Doc fix. - (display-buffer): Add docstring. Don't treat - display-buffer-default specially. - (display-buffer-reuse-selected-window) - (display-buffer-same-window, display-buffer-maybe-same-window) - (display-buffer-reuse-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-window) - (display-buffer-reuse-or-pop-window) - (display-buffer-use-some-window): New functions. - (display-buffer-default-action): Use them. - (display-buffer-default): Delete. - (pop-to-buffer-1): Fix choice of actions. - -2011-09-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion--insert-strings): Don't get confused by - completion entries that end with an LF char. - -2011-09-01 Eli Zaretskii <eliz@gnu.org> - - * window.el (frame-auto-delete, window-deletable-p): Doc fix. - -2011-09-01 Chong Yidong <cyd@stupidchicken.com> - - * window.el (display-buffer): Restore interactive spec. - (display-buffer-same-window, display-buffer-other-window): - New functions. - (pop-to-buffer-1): New function. Use the above. - (pop-to-buffer, pop-to-buffer-same-window): Use it. - (pop-to-buffer-other-window, pop-to-buffer-other-frame): Delete. - - * view.el (view-buffer-other-window, view-buffer-other-frame): - Just use pop-to-buffer. - -2011-09-01 Thierry Volpiatto <thierry.volpiatto@gmail.com> - - * vc/vc-rcs.el (vc-rcs-responsible-p): Handle directories. (Bug#9391) - -2011-09-01 Wilfred Hughes <wilfred@potatolondon.com> (tiny change) - - * vc/vc-git.el (vc-git-grep): Use --no-color. (Bug#9408) - -2011-08-31 Richard Stallman <rms@gnu.org> - - * mail/rmail.el (rmail-epa-decrypt): Rewrite to take account - of the separation of rmail-view-buffer from rmail-buffer. - If you say no to "replace original", the decrypt is in the - view buffer. If you say yes, the decrypt goes into the - rmail buffer also. - -2011-08-31 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-window): Rewrite doc-string. - (display-buffer-record-window): New function. - (display-buffer-macro-specifiers) - (display-buffer-even-window-sizes, display-buffer-set-height) - (display-buffer-set-width, display-buffer-in-window) - (display-buffer-reuse-window, display-buffer-split-specifiers) - (display-buffer-side-specifiers, display-buffer-split-window-1) - (display-buffer-split-window, display-buffer-split-atom-window) - (display-buffer-pop-up-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-side-window, display-buffer-in-side-window) - (display-buffer-other-window-means-other-frame) - (display-buffer-normalize-special) - (display-buffer-normalize-default) - (display-buffer-normalize-argument) - (display-buffer-normalize-alist-1, display-buffer-normalize-alist) - (display-buffer-normalize-specifiers, display-buffer-frame) - (display-buffer-same-window, display-buffer-same-frame) - (display-buffer-other-window) - (display-buffer-same-frame-other-window) - (display-buffer-other-frame, pop-to-buffer-same-window) - (pop-to-buffer-same-frame, pop-to-buffer-other-window) - (pop-to-buffer-same-frame-other-window, pop-to-buffer-other-frame) - (switch-to-buffer-same-frame) - (switch-to-buffer-other-window-same-frame) - (display-buffer-alist-of-strings-p, display-buffer-alist-add) - (display-buffer-alist-set-1, display-buffer-alist-set-2) - (display-buffer-alist-set): Remove. - (display-buffer-function, special-display-buffer-names) - (special-display-regexps, special-display-function): - In doc-string refer to display-buffer-window and quit-restore - parameter. - (pop-up-frame-alist, pop-up-frame-function, special-display-p) - (special-display-frame-alist, special-display-popup-frame) - (same-window-buffer-names, same-window-regexps, same-window-p) - (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) - (split-window-preferred-function, split-height-threshold) - (split-width-threshold, window-splittable-p) - (split-window-sensibly, window--try-to-split-window) - (window--frame-usable-p, even-window-heights) - (window--even-window-heights, window--display-buffer-1) - (window--display-buffer-2, display-buffer-other-frame): - Restore old Emacs 23 code, order and doc-strings where applicable. - (display-buffer-default, display-buffer-assq-regexp): New functions. - (display-buffer-alist): Rewrite doc-string. - (display-buffer-default-action) - (display-buffer-overriding-action): New variables. - (display-buffer, switch-to-buffer): Rewrite. - (pop-to-buffer): Restore Emacs 23 behavior but use - window-normalize-buffer-to-display. - (switch-to-buffer-other-window, switch-to-buffer-other-frame): - Restore Emacs 23 behavior but use - window-normalize-buffer-to-switch-to. - (pop-to-buffer-same-window): Rewrite. - (pop-to-buffer-other-window, pop-to-buffer-other-frame): - Rewrite using Emacs 23 options. - -2011-08-31 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-root-regexp): Remove. - (tramp-completion-file-name-regexp-unified) - (tramp-completion-file-name-regexp-separate) - (tramp-completion-file-name-regexp-url): Don't use leading volume - letter on w32 systems. (Bug#5303, Bug#9311) - (tramp-drop-volume-letter): Simplify definition. - Suggested by Stefan Monnier <monnier@iro.umontreal.ca>. - -2011-08-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (event-modifiers): Fix "missing modifier" part of docstring - (bug#9356). - -2011-08-30 Reuben Thomas <rrt@sc3d.org> (tiny change) - - * vc/pcvs-defs.el (cvs-find-file-and-jump): Docstring typo (bug#9369). - -2011-08-29 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-done): Don't display message "Mark saved" - when arg `edit' is non-nil to prevent its flicker in the echo area. - -2011-08-28 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/package.el (package-menu-mark-delete): Allow marking - obsolete packages for deletion. - -2011-08-28 Christoph Scholtes <cschol2112@googlemail.com> - - * help-mode.el (help-mode-map): Add special-mode-map to parent. - (help-mode): Derive help-mode from special-mode. Don't invoke - view-mode from help-mode. - (help-xref-override-view-map): Remove. - (help-make-xrefs): Remove minor-mode-overriding-map-alist since - view-mode is not used anymore. - -2011-08-28 Chong Yidong <cyd@stupidchicken.com> - - * server.el (server-port): Doc fix. - - * cus-theme.el (custom-theme-choose-mode): Inherit from - special-mode (Bug#9124). - (custom-theme-choose-mode-map): Add special-mode to parent. - -2011-08-28 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-fonts.el - (c-make-font-lock-BO-decl-search-function): New function. - (c-basic-matchers-after - "Fontify the clauses after various - keywords"): Extract the three keyword lists for the 3 erroneous - constructs from the list of four, and use the new function above - in place of an old one. - -2011-08-28 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-insert-prev-input) - (rcirc-insert-next-input): Remove unused argument. - -2011-08-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * shell.el (shell-parse-pcomplete-arguments): Unquote args (bug#9160). - -2011-08-27 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it - handle function pointer parameters properly. - -2011-08-27 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-reuse-window): Fix case where - selected window was reused with non-nil OTHER-WINDOW argument. - (Bug#9381) - -2011-08-27 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-check-auth-status): Adding support for - oftc's NickServ messages. - -2011-08-27 Glenn Morris <rgm@gnu.org> - - * saveplace.el (save-place-limit): Make it finite. (Bug#9352) - -2011-08-26 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/package.el (package-install): Call package-initialize - if called interactively. - -2011-08-26 Leo Liu <sdl.web@gmail.com> - - * emacs-lisp/cl-macs.el (defstruct): Fix format. (Bug#9357) - -2011-08-25 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to - `search-whitespace-regexp' (bug#9364). - -2011-08-25 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-edit-string): Let-bind `search-ring' and - `regexp-search-ring' to their global values to protect from - updating by `read-from-minibuffer' (bug#9185). - -2011-08-25 Juri Linkov <juri@jurta.org> - - * textmodes/ispell.el (ispell-command-loop): Add newline - at the end of the "Use option `i'..." line. - -2011-08-25 Juri Linkov <juri@jurta.org> - - * battery.el (display-battery-mode): If `battery-status-function' - or `battery-mode-line-format' is nil, display the message and set - `display-battery-mode' to nil (bug#9363). - -2011-08-25 Eli Zaretskii <eliz@gnu.org> - - * buff-menu.el (Buffer-menu-buffer+size): Remove calls to - bidi-string-mark-left-to-right; they are unnecessary now. - -2011-08-25 Deniz Dogan <deniz@dogan.se> - - * net/quickurl.el: Documentation typo fixes. - -2011-08-25 Chong Yidong <cyd@stupidchicken.com> - - * window.el (bury-buffer, quit-window): Use bury-buffer-internal. - -2011-08-25 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/derived.el (define-derived-mode): Doc fix. - - * mail/smtpmail.el (smtpmail-smtp-user): Add version: tag. - (smtpmail-via-smtp): Handle nil response from smtp. - -2011-08-24 Juri Linkov <juri@jurta.org> - - * proced.el (proced-marked): Inherit from `error' instead of - `font-lock-warning-face'. - - * ibuffer.el (ibuffer-marked-face): Change default face from - `font-lock-warning-face' to `warning'. - (ibuffer-deletion-face): Change default face from - `font-lock-type-face' to `error'. - - * battery.el (battery-update): Use the face `error' instead of - `font-lock-warning-face' (bug#6117). - -2011-08-24 Juri Linkov <juri@jurta.org> - - * faces.el (success): Change face color from "Green3" to - "ForestGreen" on light background (bug#9353). - -2011-08-24 Chong Yidong <cyd@stupidchicken.com> - - * window.el (quit-window): Rename from quit-restore-window. - Use same arglist as old quit-window. - (frame-auto-delete): Doc fix. - - * view.el (view-mode-exit): Use quit-window. - -2011-08-24 Juri Linkov <juri@jurta.org> - - * isearch.el (isearch-ring-adjust1): Start visiting previous - search strings from the index 0 (-1 + 1) instead of 1 (0 + 1). - (isearch-repeat, isearch-edit-string): Call `isearch-ring-adjust1' - for empty search string (when the last search string is reused - automatically) to adjust the isearch ring to the last element and - prepare the correct index for further M-p commands (bug#9185). - -2011-08-24 Kenichi Handa <handa@m17n.org> - - * international/ucs-normalize.el: If decomposition property of - CHAR is the default one (i.e. a list of CHAR itself), treat it as - nil. - (nfd, nfkd): Likewise. - -2011-08-24 Stefan Monnier <monnier@iro.umontreal.ca> - - * mpc.el (mpc--proc-filter): Don't signal mpc-proc-error since signals - from process filters aren't reliably transmitted to the surrounding - accept-process-output. - (mpc-proc-check): New function. - (mpc-proc-sync): Use it (bug#8293) - -2011-08-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/eieio.el (eieio-defmethod, eieio-defgeneric): - Add compatibility functions (bug#9313). - -2011-08-23 Eli Zaretskii <eliz@gnu.org> - - * cus-start.el (all): Add entry for bidi-paragraph-direction. - - * international/uni-bidi.el: Regenerate. - -2011-08-23 Kenichi Handa <handa@m17n.org> - - * international/charprop.el: - * international/uni-bidi.el: - * international/uni-category.el: - * international/uni-combining.el: - * international/uni-comment.el: - * international/uni-decimal.el: - * international/uni-decomposition.el: - * international/uni-digit.el: - * international/uni-lowercase.el: - * international/uni-mirrored.el: - * international/uni-name.el: - * international/uni-numeric.el: - * international/uni-old-name.el: - * international/uni-titlecase.el: - * international/uni-uppercase.el: Regenerate. - -2011-08-23 Martin Rudalics <rudalics@gmx.at> - - * help.el (help-window-setup): Fix message displayed when other - window is reused. (Bug#9341) - -2011-08-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list. - * pcomplete.el (pcomplete-quote-argument): Fix thinko (bug#9161). - - * pcomplete.el (pcomplete-parse-comint-arguments): Fix inf-loop. - Mark obsolete. - * shell.el (shell-parse-pcomplete-arguments): New function. - (shell-completion-vars): Use it instead (bug#9160). - -2011-08-22 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/sh-script.el (sh-maybe-here-document): Disable magic in - strings and comments (bug#9333). - - * emacs-lisp/debug.el (debug-arglist): New function. - (debug-convert-byte-code): Use it. Handle lexical byte-codes. - (debug-on-entry-1): Handle interpreted closures (bug#9120). - -2011-08-22 Juri Linkov <juri@jurta.org> - - * progmodes/compile.el (compilation-mode-font-lock-keywords): - Revert regexp that highlights output switches to its old - pre-2010-10-28 value and remove one `?' from it (bug#9319). - - * progmodes/grep.el (grep-process-setup): Use `buffer-modified-p' - to check for empty output (bug#9226). - -2011-08-22 Chong Yidong <cyd@stupidchicken.com> - - * progmodes/scheme.el (scheme-mode-syntax-table): Don't use - symbol-constituent as the default, as that stops font-lock from - working properly (Bug#8843). - -2011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-via-smtp): Only bind - `coding-system-for-*' around the process open call to avoid - auth-source side effects. - (smtpmail-try-auth-methods): Expand the secret password. - (smtpmail-query-smtp-server): Allow `quit'-ing out in case the - probe hangs. - -2011-08-21 Chong Yidong <cyd@stupidchicken.com> - - * term.el (term-mouse-paste): Yank primary selection (Bug#6845). - - * emacs-lisp/find-func.el (find-function-noselect): New arg - lisp-only. - - * emacs-lisp/edebug.el (edebug-instrument-function): Use it to - signal an error for built-in functions (Bug#6664). - -2011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-smtp-user): New variable. - (smtpmail-try-auth-methods): Use it. - -2011-08-21 Chong Yidong <cyd@stupidchicken.com> - - * font-lock.el (font-lock-fontify-region) - (font-lock-unfontify-region, font-lock-default-fontify-buffer) - (font-lock-default-unfontify-buffer) - (font-lock-default-fontify-region) - (font-lock-default-unfontify-region): Add docstrings (Bug#8624). - - * progmodes/compile.el (compilation-error-properties): - Fix confusion between file struct and message struct (Bug#9319). - (compilation-error-regexp-alist-alist): Fix 2011-05-09 change to - `ant' regexp. - - * net/browse-url.el (browse-url-firefox): Don't call - browse-url-firefox-sentinel unless using -remote (Bug#9328). - -2011-08-20 Glenn Morris <rgm@gnu.org> - - * tutorial.el (help-with-tutorial): Avoid an error on short screens. - - * tutorial.el (tutorial--default-keys): Update some default bindings. - - * files.el (hack-local-variables): Fully ignore case for "mode:". - -2011-08-20 Alan Mackenzie <acm@muc.de> - - Resolve invalid use of a regexp in regexp-opt. - - * progmodes/cc-fonts.el (c-complex-decl-matchers): Add in special - detection for a java annotation. - - * progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add in special - detection for a java annotation. - - * progmodes/cc-langs.el (c-prefix-spec-kwds-re): Remove the special - handling for java. - (c-modifier-kwds): Remove the regexp "@[A-za-z0-9]+". - -2011-08-20 Chong Yidong <cyd@stupidchicken.com> - - * startup.el (normal-top-level-add-subdirs-to-load-path): Doc fix - (Bug#9274). - -2011-08-20 Alan Mackenzie <acm@muc.de> - - Fontify CPP expressions correctly when starting in the middle of - such a construct. Mainly for when jit-lock etc. starts a chunk - here. - - * progmodes/cc-fonts.el (c-font-lock-context): New buffer local - variable. - (c-make-font-lock-search-form): New function, extracted from - c-make-font-lock-search-function. - (c-make-font-lock-search-function): Use the above function. - (c-make-font-lock-context-search-function): New function. - (c-cpp-matchers): Enhance the preprocessor expression case with - the above function - (c-font-lock-complex-decl-prepare): Test for being in a CPP form - which takes an expression. - - * progmodes/cc-langs.el (c-cpp-expr-intro-re): New lang-variable. - -2011-08-20 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-reuse-window) - (display-buffer-pop-up-window): Don't reuse or split a side - window. - -2011-08-19 Glenn Morris <rgm@gnu.org> - - * files.el (hack-local-variables-prop-line, hack-local-variables): - Downcase "Mode:". (Bug#9331) - -2011-08-18 Chong Yidong <cyd@stupidchicken.com> - - * international/characters.el: Add L and R categories. - - * subr.el (bidi-string-mark-left-to-right): Rename from - string-mark-left-to-right. Use category search. - - * buff-menu.el (Buffer-menu-buffer+size): Callers changed. - -2011-08-18 Juri Linkov <juri@jurta.org> - - * faces.el (error, warning, success): New faces with definitions - copied from old default values of `font-lock-warning-face', - `compilation-warning', `compilation-info' (bug#6117). - - * font-lock.el (font-lock-warning-face): Inherit from `error'. - - * progmodes/compile.el (compilation-error): Inherit from `error'. - (compilation-warning): Inherit from `warning'. - (compilation-info): Inherit from `success'. - - * dired.el (dired-marked): Inherit from `warning'. - (dired-flagged): Inherit from `error'. - -2011-08-17 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (auth-source): Require to avoid problems with - binding variables (bug#9298). Also clean up some unused - autoloads. - - * net/network-stream.el (network-stream-open-starttls): - Support using starttls.el without using gnutls-cli. - -2011-08-17 Juri Linkov <juri@jurta.org> - - * progmodes/grep.el (rgrep): Handle the case when - `grep-find-command' is a cons cell (bug#9278). - -2011-08-17 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-pop-up-frame): Run frame creation - function with BUFFER current (as special-display-popup-frame - does). Reported by Drew Adams. - -2011-08-17 Daiki Ueno <ueno@unixuser.org> - - * epa-mail.el: Simplify GnuPG group expansion using - epg-expand-group. - (epa-mail-group-alist, epa-mail-group-modtime) - (epa-mail-gnupg-conf-file, epa-mail-parse-groups) - (epa-mail-sync-groups, epa-mail-expand-recipient-1) - (epa-mail-expand-recipients-2, epa-mail-expand-recipients): - Remove. - -2011-08-16 Feng Li <fengli@gmail.com> (tiny change) - - * calc/calc-ext.el (math-defintegral-2): Remove nested backquote. - -2011-08-16 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-engine.el (c-state-cache-non-literal-place): - Correct, to avoid the inside of macros. - -2011-08-16 Richard Stallman <rms@gnu.org> - - * epa-mail.el: Handle GnuPG group definitions. - (epa-mail-group-alist, epa-mail-group-modtime) - (epa-mail-gnupg-conf-file): New variables. - (epa-mail-parse-groups, epa-mail-sync-groups) - (epa-mail-expand-recipient-1, epa-mail-expand-recipients-2) - (epa-mail-expand-recipients): New functions. - (epa-mail-encrypt): Call epa-mail-expand-recipients. - - * mail/rmail.el (rmail-epa-decrypt): New command. - - * epa.el (epa-decrypt-region): New arg MAKE-BUFFER-FUNCTION. - Don't bind buffer-read-only, just inhibit-read-only. - (epa--find-coding-system-for-mime-charset): Fix the non-xemacs case. - (epa-decrypt-armor-in-region): Make error message clearer. - -2011-08-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-pcm--merge-completions): Don't merge "a1b" - and "a2b" to "ab" for `prefix'. - -2011-08-14 Chong Yidong <cyd@stupidchicken.com> - - * ibuf-ext.el (ibuffer-filter-disable): New arg for deleting - filter groups. - (ibuffer-included-in-filter-p-1): Use it. Suggested by Rafaël - Fourquet (Bug#8804). - -2011-08-12 Juanma Barranquero <lekktu@gmail.com> - - * startup.el (argi): Declare as global variable (bug#9275). - -2011-08-12 Chong Yidong <cyd@stupidchicken.com> - - * subr.el (string-mark-left-to-right): Search the entire string - for RTL script, not just the terminating character. Doc fix. - -2011-08-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/js.el (js-syntax-propertize, js-syntax-propertize-regexp): - New function. - (js--regexp-literal, js-syntax-propertize-function): Remove. - (js-mode): Use js-syntax-propertize to handle multilines (bug#9183). - (js-mode-map): Don't rebind electric keys. - (js-insert-and-indent): Remove. - (js-mode): Setup electric-layout and electric-indent instead. - - * epa-file.el (epa-file-select-keys): Revert to nil default (bug#9280). - -2011-08-12 Daiki Ueno <ueno@unixuser.org> - - * epa.el (epa-progress-callback-function): Fix the logic of - displaying progress. - * epa-file.el (epa-file-insert-file-contents): Make progress - display more user-friendly. - (epa-file-write-region): Ditto. - -2011-08-10 Chong Yidong <cyd@stupidchicken.com> - - * subr.el (string-mark-left-to-right): New function. - - * buff-menu.el (Buffer-menu-buffer+size): Remove LRM argument. - Use string-mark-left-to-right. - (list-buffers-noselect): Caller changed. - - * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): - Use string-mark-left-to-right. - (tabulated-list-print): Recenter after moving point. - -2011-08-10 Juri Linkov <juri@jurta.org> - - * progmodes/grep.el (rgrep): Don't bind `process-connection-type'. - This finishes incomplete reversion of 2011-06-30T01:09:13Z!larsi@gnus.org - intended by 2011-07-06T15:49:19Z!larsi@gnus.org. - -2011-08-09 Chong Yidong <cyd@stupidchicken.com> - - * hi-lock.el (hi-lock-unface-buffer): Fix interactive spec - (Bug#7554). - -2011-08-09 Andreas Schwab <schwab@linux-m68k.org> - - * xt-mouse.el (xterm-mouse-event-read): Try to recover the raw - character. (Bug#6594) - -2011-08-08 Chong Yidong <cyd@stupidchicken.com> - - * image-dired.el: Don't use find-file for temporary work (Bug#7895). - (image-dired--with-db-file): New macro. - (image-dired-write-tags, image-dired-remove-tag) - (image-dired-create-gallery-lists, image-dired-write-comments) - (image-dired-get-comment, image-dired-mark-tagged-files) - (image-dired-list-tags, image-dired-gallery-generate): Use it. - (image-dired-gallery-generate): Use insert-file-contents. - - * time.el (display-time-world-list, display-time-world-display): - * time-stamp.el (time-stamp-string): - * vc/add-log.el (add-change-log-entry): Use setenv instead of - set-time-zone-rule (Bug#7337). - -2011-08-08 Daiki Ueno <ueno@unixuser.org> - - * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED): Fix typo. - (epg-error-to-string, epg-errors-to-string): New function. - (epg-wait-for-completion): Reverse errors list. - (epg--check-error-for-decrypt, epg-sign-file, epg-sign-string) - (epg-encrypt-file, epg-encrypt-string, epg-export-keys-to-file) - (epg--import-keys-1, epg-receive-keys, epg-delete-keys) - (epg-sign-keys, epg-generate-key-from-file) - (epg-generate-key-from-string): Format errors by using - epg-errors-to-string (bug#9255). - (epg--status-INV_SGNR, epg--status-NO_SGNR): New status handler. - -2011-08-07 Juri Linkov <juri@jurta.org> - - * faces.el (list-faces-display): Remove extra angle bracket - from `help-mode-map'. - - * info.el (Info-history-toc-nodes): Doc fix. - - * longlines.el (longlines-mode): Doc fix. - -2011-08-05 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/js.el (js--regexp-literal): Accept regexps at the beginning - of statements and in a few more cases (bug#9183). - - * emacs-lisp/cl-macs.el (cl--make-usage-var, cl--make-usage-args): - New functions. - (cl-transform-lambda): Use them (bug#9239). - -2011-08-05 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-same-window) - (display-buffer-same-frame, display-buffer-other-window) - (pop-to-buffer-same-window, pop-to-buffer-same-frame) - (pop-to-buffer-other-window) - (pop-to-buffer-same-frame-other-window) - (pop-to-buffer-other-frame): Make them defuns. - (switch-to-buffer): Don't set LABEL argument of pop-to-buffer. - -2011-08-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (make-composed-keymap): Move from C. Change calling - convention, and improve docstring to bring attention to a subtle point. - * minibuffer.el (completing-read-default): Adjust accordingly. - -2011-08-03 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell) - (tramp-open-shell): Use `tramp-shell-quote-argument'. - - * net/trampver.el: Update release number. - -2011-08-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/sh-script.el (sh-font-lock-paren): Don't mistake "main" for - "in" (bug#9190). - -2011-08-02 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/sendmail.el (sendmail-query-once): Restore the current - buffer after querying (bug#9074). - - * dired.el (dired-flagged): Use different faces for marked and - flagged files (bug#6117). - - * emacs-lisp/cl-macs.el (dolist): Mention that there's a nil block - (bug#4433). - - * ido.el (ido-mode): Switch off the message if called - non-interactively. - - * mail/smtpmail.el (smtpmail-query-smtp-server): Try port 25 - before 587, since it appears that that's more likely to work for - more people. - - * cus-edit.el (custom-file): When running under emacs -q, always - refuse to save the customizations, even if the .emacs file doesn't - exist. - - * info.el: Remove the `Info-beginning-of-buffer' function - (bug#8325). - - * net/network-stream.el (network-stream-open-starttls): - Use `starttls-available-p' to see whether starttls.el can be used. - -2011-08-01 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-in-window): Don't set dedicated status - of window here (Bug#9215). - (display-buffer-pop-up-window, display-buffer-pop-up-frame) - (display-buffer-pop-up-side-window) - (display-buffer-in-side-window): Set dedicated status of window here. - -2011-08-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/package.el (package-generate-autoloads): Load autoloads - before binding generated-autoload-file. - -2011-08-01 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-handler-333): Clarify docstring. - -2011-07-30 Michael Albinus <michael.albinus@gmx.de> - - Sync with Tramp 2.2.2. - - * net/trampver.el: Update release number. - -2011-07-30 Juri Linkov <juri@jurta.org> - - * dired-aux.el (dired-touch-initial): Remove function. - (dired-do-chxxx): For op-symbol `touch', set `initial' to the - current time, and `default' to the last modification time of the - current marked file (bug#6887). - -2011-07-28 Jose E. Marchesi <jemarch@gnu.org> - - * simple.el (goto-line): Use string-to-number to provide a - numeric argument to read-number (bug#9163). - -2011-07-27 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-maybe-send-script): Don't let-bind the - connection process, it could be nil. - -2011-07-27 Leo Liu <sdl.web@gmail.com> - - Simplify url handling in rcirc-mode. - - * net/rcirc.el (rcirc-browse-url-map, rcirc-browse-url-at-point) - (rcirc-browse-url-at-mouse): Remove. - * net/rcirc.el (rcirc-markup-urls): Use `make-button'. - -2011-07-26 Alan Mackenzie <acm@muc.de> - - Fontify bitfield declarations properly. - - * progmodes/cc-langs.el (c-has-bitfields): New lang variable. - (c-symbol-chars): Now exported as a lang variable. - (c-not-primitive-type-keywords): New lang variable. - - * progmodes/cc-fonts.el (c-font-lock-declarations): Jump over the - QT keyword "more" to prevent "more slots: ...." being spuriously - parsed as a bitfield declaration. - - * progmodes/cc-engine.el (c-beginning-of-statement-1): - Refactor and enhance to handle bitfield declarations. - (c-punctuation-in): New function. - (c-forward-decl-or-cast-1): Enhance CASE 3 to handle bitfield - declarations properly. - -2011-07-26 Ulf Jasper <ulf.jasper@web.de> - - * calendar/icalendar.el (icalendar--all-events): Take care of - multiple vcalendars in a single file. - (icalendar--convert-float-to-ical): Checkdoc fixes. - -2011-07-25 Deniz Dogan <deniz@dogan.se> - - * image.el (insert-image): Clarifying docstring. - -2011-07-24 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-barf-unless-okay): Return the value of - `tramp-send-command-and-check' if there is no error. - (tramp-send-command-and-read): Suppress *all* errors if NOERROR. - -2011-07-22 Alan Mackenzie <acm@muc.de> - - Prevent cc-langs.elc being loaded at run time. - - * progmodes/cc-mode.el: Remove two autoload forms which loaded - cc-langs. - - * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Don't emit - "(require 'cc-langs)". Quote a form so it will evaluate at - (cc-mode's) compilation time. - -2011-07-22 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-file-name-handler): Avoid recursive - loading. (Bug#9114) - -2011-07-21 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-pop-up-window) - (display-buffer-pop-up-side-window) - (display-buffer-in-side-window): Call display-buffer-set-height - and display-buffer-set-width after setting the new window's - buffer so `fit-window-to-buffer' and friends work on the right buffer. - -2011-07-20 Sam Steingold <sds@gnu.org> - - * progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) - (etags-tags-included-tables): Call `convert-standard-filename' on - the file names contained in TAGS so that windows Emacs can handle - TAGS files created by cygwin ctags. - -2011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * proced.el (proced-update): Revert yesterday's bug#1779 patch, - which apparently didn't work. - -2011-07-19 Roland Winkler <winkler@gnu.org> - - * proced.el (proced-send-signal): For *Marked Processes* buffer - put point at beginning of buffer. - -2011-07-19 Stephen Berman <stephen.berman@gmx.net> - - * proced.el (proced-format): Make header lines align with the text - (bug#1779). - -2011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * view.el (view-buffer): Allow running in `special' modes if we're - visiting a file (bug#8615). - -2011-07-19 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-alist-of-strings-p) - (display-buffer-alist-set-1, display-buffer-alist-set-2): - New functions. - (display-buffer-alist-set): Rewrite to handle Emacs 23 options - more accurately. - -2011-07-18 Alan Mackenzie <acm@muc.de> - - Fontify declarators properly when, e.g., a jit-lock chunk begins - inside a declaration. - - * progmodes/cc-langs.el (c-symbol-chars): Correct a typo. - - * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): - New function. - (c-complex-decl-matchers): Insert reference to - c-font-lock-enclosing-decls. - - * progmodes/cc-engine.el (c-backward-single-comment): - (c-backward-comments): Bind open-paren-in-column-0-is-defun-start - to nil around calls to (forward-comment -1). - -2011-07-17 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * image.el (put-image): Doc typo fix. - - * progmodes/etags.el (tags-search): Doc typo fix. - - * mail/smtpmail.el (smtpmail-via-smtp): Query the user for - password if we get errors 550 to 554. - -2011-07-16 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/gnutls.el (gnutls-log-level): Remove. - - * textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an - indentation character (bug#6380). - - * files.el (buffer-offer-save): Made permanently local (bug#6241). - - * doc-view.el (doc-view-make-safe-dir): Rewrite the error message - to clarify what the problem is (bug#4291). - - * simple.el (current-kill): Clarify what - `interprogram-paste-function' does (bug#7500). - (auto-fill-mode): Document `auto-fill-function' in relation to - `auto-fill-mode' (bug#2470). - -2011-07-16 Lawrence Mitchell <wence@gmx.li> - - * emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf - method if slot is read-only (bug#9035). - -2011-07-16 Martin Rudalics <rudalics@gmx.at> - - * frame.el (select-frame-set-input-focus): New argument NORECORD. - * window.el (pop-to-buffer): Select window used even if it was - selected before, see discussion of (Bug#8615), (Bug#6954). - Pass argument NORECORD on to select-frame-set-input-focus. - -2011-07-15 Glenn Morris <rgm@gnu.org> - - * subr.el (read-char-choice): Allow quitting. (Bug#9001) - Respect help-form. - -2011-07-09 Lawrence Mitchell <wence@gmx.li> - - * net/gnutls.el (gnutls-min-prime-bits): New variable. - (gnutls-negotiate): Use it. - -2011-07-15 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/gnutls.el (gnutls-negotiate): - Upcase `gnutls-algorithm-priority'. - -2011-07-15 Glenn Morris <rgm@gnu.org> - - * jka-compr.el (jka-compr-verbose): Move from here... - * jka-cmpr-hook.el (jka-compr-verbose): ... to here. (Bug#9090) - Add missing :version tag. - * info.el: No need to require jka-compr when compiling. - -2011-07-15 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/gnutls.el (gnutls-algorithm-priority): New variable. - (gnutls-negotiate): Use it. - - * emacs-lisp/cl-macs.el (declare): Link to the "Declarations" node. - - * info.el (Info-beginning-of-buffer): New command. - (Info-mode-map): Use it instead of `beginning-of-buffer' to allow - announcing `b' as the key (bug#8325). - (Info-mode-menu): Use `Info-beginning-of-buffer' for consistency. - - * emacs-lisp/cl-macs.el (declare): Doc string fix-up. - - * international/mule-cmds.el - (describe-specified-language-support): Make the error message - clearer (bug#8905). - - * emacs-lisp/cl-macs.el (declare): Add a doc string (bug#8690). - - * isearch.el (isearch-barrier): Add a doc string, since it's - mentioned in a function doc string (bug#8678). - -2011-07-15 Martin Rudalics <rudalics@gmx.at> - - * window.el (switch-to-buffer): Call pop-to-buffer with normalized - buffer argument (Bug#9083) and self-identifying label argument. - -2011-07-15 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/debug.el (debug): Doc fix. (Bug#8273) - -2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * man.el (Man-fontify-manpage): Fix message when formatting the - man page (bug#7929). - -2011-07-14 Eli Zaretskii <eliz@gnu.org> - - * buff-menu.el (Buffer-menu-buffer+size): Accept an additional - argument LRM; if non-nil, append an invisible LRM character to the - buffer name. - (list-buffers-noselect): Call Buffer-menu-buffer+size with the - last argument non-nil, when formatting buffer names. - (Buffer-menu-mode, list-buffers-noselect): Force left-to-right - paragraph direction. - -2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * man.el (Man-bgproc-sentinel): Skip any arguments and only output - the man page name (bug#7929). - - * image.el (put-image): Mention the `put-image' overlay property - (bug#7834). - - * scroll-bar.el (set-scroll-bar-mode): Mention that - `scroll-bar-mode' lists the values (bug#7772). - - * image-mode.el (image-mode-fit-frame): Mention that it's a toggle - command (bug#7729). - - * rect.el (apply-on-rectangle): Return the point after the last - operation. - (string-rectangle): Go to the point after the last operation - (bug#7522). - - * printing.el (pr-toggle-region): Clarify the documentation - slightly (bug#7493). - - * time.el (display-time-update): - Allow `display-time-mail-function' to return nil (bug#7158). - Fix suggested by Detlev Zundel. - - * vc/diff.el (diff): Clarify the order the file names are read - (bug#7111). - - * mouse.el (mouse-set-region): Link to `mouse-drag-copy-region' in - the doc string (bug#7015). - - * font-lock.el (font-lock-maximum-decoration): Mention what - numeric levels mean (bug#6935). - - * startup.el (initial-buffer-choice): Don't mention the `none' - selection, which is against policy. - -2011-07-14 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-normalize-special): - Replace `dedicated' by `dedicate' to dedicate window (Bug#9072). - -2011-07-14 Eli Zaretskii <eliz@gnu.org> - - * subr.el (version<, version<=, version=): Mention "-CVS" and - "-12345" alpha version numbers. - -2011-07-14 Chong Yidong <cyd@stupidchicken.com> - - * bindings.el: Add advertised binding for set-mark-command - (Bug#5772). - -2011-07-14 Chong Yidong <cyd@stupidchicken.com> - - * bindings.el (mode-line-other-buffer): - * bookmark.el (bookmark-bmenu-2-window): - * bs.el (bs-cycle-next, bs-cycle-previous): - * net/tramp-cmds.el (tramp-append-tramp-buffers): Revert to using - switch-to-buffer. - - * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window): - Delete. - -2011-07-14 Juanma Barranquero <lekktu@gmail.com> - - * follow.el (follow-debug-message, follow-redisplay): - * jka-cmpr-hook.el (with-auto-compression-mode): - Fix typos in docstrings. - -2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * subr.el (with-silent-modifications): Clarify somewhat what the - macro inhibits (bug#6525). - - * simple.el (eval-expression): Note what it does if called - interactively (bug#6495). - -2011-07-13 Chong Yidong <cyd@stupidchicken.com> - - * window.el (switch-to-buffer): New arg FORCE-SAME-WINDOW. - Use pop-to-buffer buffer-or-name if it is nil. - - * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): - Remove switch-to-buffer. - -2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * files.el (make-directory): Clarify that an error will be raised - if there's an error (bug#6397). - - * startup.el (initial-buffer-choice): Add `none' as a choice - (bug#6234). - - * subr.el (add-hook): Clarify section about buffer-local hooks - (bug#6218). - - * dired.el (dired-flagged): Clarify doc string (bug#6117). - -2011-07-13 Juanma Barranquero <lekktu@gmail.com> - - * tabify.el (untabify): Preserve the current column so that point - doesn't move (bug#6032). - -2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * progmodes/cperl-mode.el (cperl-syntaxify-by-font-lock): - Rewrite to avoid awkward possessive "s" (bug#5986). - -2011-07-13 Glenn Morris <rgm@gnu.org> - - * dired.el (dired-use-ls-dired): Doc fix. (Bug#9039). - (dired-insert-directory): Give a message the first time - if ls is found not to support --dired. - -2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * simple.el (toggle-truncate-lines): Clarify what is toggled - (bug#5580). Text by Drew Adams. - -2011-07-13 Chong Yidong <cyd@stupidchicken.com> - - * simple.el (blink-matching-open): Make the error message from the - last change less verbose. - -2011-07-13 Dan Nicolaescu <dann@ics.uci.edu> - - * font-lock.el (font-lock-comment-face): Use the high contrast - "yellow" color for font-lock-comment-face on low color terminals - using a dark background color (bug#4221). - -2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * dired.el (dired-insert-set-properties): Make the doc string - reflect what it does now (bug#5325). - - * simple.el (blink-matching-open): Say that we were unable to find - the match within the limit, if we're limited (bug#5122). - - * international/mule-cmds.el (prefer-coding-system): Add an - example (bug#4869). - - * progmodes/etags.el (tags-search): Document `file-list-form' - (bug#4731). - -2011-07-13 Lawrence Mitchell <wence@gmx.li> - - * net/browse-url.el (browse-url-default-browser) - (browse-url-browser-function): Make the default browser choice a - bit more logical (bug#4300). Also clean up the doc string. - -2011-07-13 Juanma Barranquero <lekktu@gmail.com> - - * bindings.el (completion-ignored-extensions): Add OpenMCL/Clozure - binary endings (bug#4440). - -2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * info.el (info-insert-file-contents): Inhibit jka-compr messages, - which can be pretty annoying (bug#8971). - - * jka-compr.el (jka-compr-verbose): New variable, and use - throughout (bug#8971). - - * info.el (Info-find-file): Fall back on the installation - directory if we can't find the info node anywhere else. - -2011-07-13 Sergei Organov <osv@javad.com> (tiny change) - - * vc/vc.el (vc-revert-file): - Don't set file time-stamp in the past. (Bug#5181) - -2011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * files.el (after-find-file): Give a better error message when - trying to find a symlink that points to a file that doesn't exist - (bug#4398). - - * progmodes/cc-vars.el: Remove (probably) misleading comment - (bug#4396). - -2011-07-12 Johan BockgÃ¥rd <bojohan@gnu.org> - - * mouse-sel.el (mouse-sel-primary-overlay): Use the `region' face. - -2011-07-12 Chong Yidong <cyd@stupidchicken.com> - - * mouse-sel.el: Hack restoring functionality, while keeping - compatibility with 2010-07-03 changes to mouse selection. - (mouse-sel-primary-overlay): New var. - (mouse-sel-selection-alist): Use it. - (mouse-sel-mode): Doc fix; remove points that are default features - of mouse.el. - -2011-07-12 Johan BockgÃ¥rd <bojohan@gnu.org> - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Fix previous fix (bug#2490). - -2011-07-12 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el (bibtex-initialize): - Use pop-to-buffer-same-window. - (bibtex-search-entries): Fix interactive call. - -2011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Fontise bytecomp Error lines more correctly (bug#2490). - Fix suggested by Johan BockgÃ¥rd. - - * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient. - - * dired-x.el (dired-guess-default): Use `delete-dups'. - -2011-07-12 Chong Yidong <cyd@stupidchicken.com> - - * dired.el (dired-mark-prompt): - * dired-aux.el (dired-read-shell-command): Doc fix. - -2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/sendmail.el (sendmail-query-once): - Use `customize-save-variable' unconditionally, now that it works under - emacs -Q. - - * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. - - * cus-edit.el (custom-file): Take an optional no-error variable. - (customize-save-variable): Set the variable, and give a warning if - running under "emacs -q". - -2011-07-11 Juanma Barranquero <lekktu@gmail.com> - - * loadhist.el (unload-feature-special-hooks): - Add `auto-coding-functions', `fill-nobreak-predicate' and - `find-directory-functions' (bug#5327). - -2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * vc/ediff.el (ediff-patch-file): Clarify doc string (bug#3138). - - * cus-edit.el (custom-guess-name-alist): -alist variables should - use the `alist' type (bug#3120). Suggested by Drew Adams. - - * printing.el: Add documentation to all the `pr-toggle-' commands. - -2011-07-11 Leo Liu <sdl.web@gmail.com> - - * files.el (toggle-read-only): Only do the `C-x C-q' warning on VC - backends where it makes sense (bug#2623). - -2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * dired-x.el (dired-guess-default): Remove duplicate shell command - entries (bug#2028). - (dired-guess-default): Fix grammar in doc string (bug#2028). - (dired-guess-shell-alist-user): Clarify the example a bit (bug#2030). - - * subr.el (remove-duplicates): New conveniency function. - -2011-07-10 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * tool-bar.el (tool-bar-mode): Clarify positive/negative arguments - (bug#1526). - -2011-07-10 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-normalize-default): Don't invert - meaning of even-window-heights. Reported by Eli Zaretskii - <eliz@gnu.org>. - -2011-07-10 Bob Rogers <rogers@rgrjr.dyndns.org> - - * vc/vc.el (vc-diff-internal): Fix race condition (Bug#1256). - -2011-07-10 Chong Yidong <cyd@stupidchicken.com> - - * window.el (display-buffer): Fix arguments to - display-buffer-reuse-window in last change. - - * faces.el (link): Use a less saturated blue on light backgrounds. - - * startup.el (fancy-startup-text, fancy-about-text) - (fancy-startup-tail): Use font-lock faces, for background safety. - -2011-07-09 Bob Nnamtrop <bobnnamtrop@gmail.com> (tiny change) - - * emulation/viper-cmd.el (viper-change-state-to-vi): - Limit triggering of abbrev expansion (Bug#9038). - -2011-07-09 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-default-specifiers): Remove. - (display-buffer-macro-specifiers): Remove default specifiers. - (display-buffer-alist): Default to nil. - (display-buffer-reuse-window): New optional argument other-window. - (display-buffer-pop-up-window): Allow splitting internal - windows. Check whether a live window was created. - (display-buffer-other-window-means-other-frame) - (display-buffer-normalize-arguments): Rename to - display-buffer-normalize-argument and rewrite. Set the - other-window specifier. - (display-buffer-normalize-special): New function. - (display-buffer-normalize-options): Rename to - display-buffer-normalize-default and rewrite. - (display-buffer-normalize-options-inhibit): Remove. - (display-buffer-normalize-specifiers): Rewrite. - (display-buffer): Process other-window specifier and call - display-buffer-reuse-window with it. Emulate Emacs 23 behavior - more faithfully. - (pop-up-windows, even-window-heights): Restore Emacs 23 default values. - (display-buffer-alist-set): Don't handle 'unset default values. - (display-buffer-in-window, display-buffer-alist-set): - Replace symbol "dedicated" by "dedicate". Reported by Tassilo Horn - <tassilo@member.fsf.org>. - -2011-07-09 Leo Liu <sdl.web@gmail.com> - - * register.el (insert-register): Restore accidental change on - 2011-06-26. (Bug#9028) - -2011-07-09 Glenn Morris <rgm@gnu.org> - - * subr.el (remq): Handle the empty list. (Bug#9024) - -2011-07-08 Andreas Schwab <schwab@linux-m68k.org> - - * mail/sendmail.el (send-mail-function): No longer delay custom - initialization. - * custom.el (custom-initialize-delay): Doc fix. - -2011-07-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * abbrev.el (expand-abbrev): Try to preserve point (bug#5805). - -2011-07-08 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-start-file-process): Use a - human-friendly prompt. - -2011-07-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/vc-bzr.el (vc-bzr-revision-keywords): Remove svn, it's only - provided by a particular plugin. - -2011-07-08 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/sendmail.el (sendmail-query-once): If we aren't allowed to - save customizations (with "emacs -Q"), just set the variable - instead of erroring out. - - * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. - -2011-07-08 Juri Linkov <juri@jurta.org> - - * arc-mode.el (archive-zip-expunge, archive-zip-update) - (archive-zip-update-case): Use 7z if found by `executable-find'. - The order of searching the available programs is the same as in - `archive-zip-extract' (bug#8968). - -2011-07-07 Chong Yidong <cyd@stupidchicken.com> - - * menu-bar.el (menu-bar-line-wrapping-menu): Revert last change. - (menu-bar-options-menu): Tweak descriptions. - -2011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * menu-bar.el (menu-bar-line-wrapping-menu): Make all the Options - menu items into verb phrases (bug#1421). Also refill to fit under - 80 columns. - -2011-07-07 Chong Yidong <cyd@stupidchicken.com> - - * info.el (info, Info-read-node-name-2, Info-read-node-name-1) - (Info-read-node-name): Doc fix (Bug#1084). - - * thingatpt.el (forward-thing, bounds-of-thing-at-point) - (thing-at-point, beginning-of-thing, end-of-thing, in-string-p) - (end-of-sexp, beginning-of-sexp) - (thing-at-point-bounds-of-list-at-point, forward-whitespace) - (forward-symbol, forward-same-syntax, word-at-point) - (sentence-at-point): Doc fix (Bug#1144). - -2011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * info.el (Info-mode-map): Remove S-TAB binding, since [backtab] - should cover it (bug#1281). - - * cus-edit.el (custom-show): Mark as obsolete. - - * net/network-stream.el (network-stream-open-starttls): If GnuTLS - negotiation fails, then possibly try again with a non-encrypted - connection (bug#9017). - - * mail/smtpmail.el (smtpmail-stream-type): Note that `plain' can - be used. - -2011-07-07 Richard Stallman <rms@gnu.org> - - * mail/rmail.el (rmail-next-error-move): Use `compilation-message' - property, and handle its changed format. - Look for the correct line number. - Use file's line contents (but not past first =) to find - correct line in message. - -2011-07-07 Kenichi Handa <handa@m17n.org> - - * international/characters.el (build-unicode-category-table): - Delete it. - (unicode-category-table): Set it by unicode-property-table-internal. - - * international/mule-cmds.el (char-code-property-alist): Move to - to src/chartab.c. - (get-char-code-property): Call unicode-property-table-internal to - load a file. Call get-unicode-property-internal where necessary. - (put-char-code-property): Call unicode-property-table-internal to - load a file. Call put-unicode-property-internal where necessary. - put-unicode-property-internal where necessary. - (char-code-property-description): - Call unicode-property-table-internal to load a file. - - * international/charprop.el: - * international/uni-bidi.el: - * international/uni-category.el: - * international/uni-combining.el: - * international/uni-comment.el: - * international/uni-decimal.el: - * international/uni-decomposition.el: - * international/uni-digit.el: - * international/uni-lowercase.el: - * international/uni-mirrored.el: - * international/uni-name.el: - * international/uni-numeric.el: - * international/uni-old-name.el: - * international/uni-titlecase.el: - * international/uni-uppercase.el: Regenerate. - - * loadup.el: Load international/charprop.el before - international/characters. - -2011-07-07 Chong Yidong <cyd@stupidchicken.com> - - * window.el (next-buffer, previous-buffer): Signal an error if - called from a minibuffer window. - - * bindings.el: Revert 2011-07-04 change. - -2011-07-06 Richard Stallman <rms@gnu.org> - - * mail/rmailmm.el (rmail-mime-process): Use markers for buf positions. - (rmail-mime-insert-bulk, rmail-mime-insert-text): - Treat markers like ints. - (rmail-mime-entity): Doc fix. - -2011-07-06 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-default-smtp-server): Made into a - defcustom again for backwards compatibility. - - * simple.el (shell-command-on-region): Fill. - - * dired-aux.el (dired-kill-line): Add a doc string. - - * dabbrev.el (dabbrev-abbrev-char-regexp): Note that nil defaults - to "\\sw\\|\\s_" (bug#358). - - * dired.el (dired-mode): Clarify "unmark or unflag" (bug#8770). - (dired-unmark-backward): Ditto. - (dired-flag-backup-files): Ditto. - - * dired-x.el (dired-mark-sexp): Ditto. - -2011-07-06 Richard Stallman <rms@gnu.org> - - * mail/rmailmm.el: Give entity a new slot, TRUNCATED. - (rmail-mime-entity): New arg TRUNCATED. - (rmail-mime-entity-truncated, rmail-mime-entity-set-truncated): - New functions. - (rmail-mime-save): Warn if entity is truncated. - (rmail-mime-toggle-hidden): Likewise, for showing. - (rmail-mime-process-multipart): Record when an entity is truncated. - - * mail/rmailmm.el (rmail-search-mime-message): Don't get confused - if ENTITY is a string. - -2011-07-06 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * emacs-lisp/lisp-mode.el (eval-defun-1): Update the documentation - of faces when `M-C-x'-ing their definitions (bug#8378). - Also clean up the code slightly. - - * progmodes/grep.el (rgrep): Don't bind `process-connection-type', - because that makes the colors go away. - - * mail/sendmail.el (send-mail-function): Change the default to - `sendmail-query-once'. - (sendmail-query-once): Add an autoload cookie. - - * net/network-stream.el (network-stream-open-starttls): Try using - a plain connection even if the server offered STARTTLS, and we - kinda wanted to use it, if Emacs doesn't have any STARTTLS - capability. This should make smtpmail.el work in slightly more - configurations. - -2011-07-06 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window): - New defun. - * net/tramp-cmds.el (tramp-append-tramp-buffers): Use it. - -2011-07-06 Michael R. Mauger <mmaug@yahoo.com> - - * progmodes/sql.el: Version 3.0 - (sql-product-alist): Add product :completion-object, - :completion-column, and :statement attributes. - (sql-mode-menu, sql-interactive-mode-map): Fix List entries. - (sql-mode-syntax-table): Mark all punctuation. - (sql-font-lock-keywords-builder): Temporarily remove fallback on - ansi keywords. - (sql-regexp-abbrev, sql-regexp-abbrev-list): New functions. - (sql-mode-oracle-font-lock-keywords): Improve. - (sql-oracle-show-reserved-words): New function for development. - (sql-product-font-lock): Simplify for source code buffers. - (sql-product-syntax-table, sql-product-font-lock-syntax-alist): - New functions. - (sql-highlight-product): Set product specific syntax table. - (sql-mode-map): Add statement movement functions. - (sql-ansi-statement-starters, sql-oracle-statement-starters): - New variable. - (sql-statement-regexp, sql-beginning-of-statement) - (sql-end-of-statement, sql-signum): New functions. - (sql-buffer-live-p, sql=find-sqli-buffer): Add CONNECTION parameter. - (sql-show-sqli-buffer): Bug fix. - (sql-interactive-mode): Store connection data as buffer local. - (sql-connect): Add NEW-NAME parameter. Redesign interaction - with sql-interactive-mode. - (sql-save-connection): Save buffer local settings. - (sql-connection-menu-filter): Change menu entry name. - (sql-product-interactive): Bug fix. - (sql-preoutput-hold): New variable. - (sql-interactive-remove-continuation-prompt): Bug fixes. - (sql-debug-redirect): New variable. - (sql-str-literal): New function. - (sql-redirect, sql-redirect-one, sql-redirect-value, sql-execute): - Redesign. - (sql-oracle-save-settings, sql-oracle-restore-settings) - (sql-oracle-list-all, sql-oracle-list-table): New functions. - (sql-completion-object, sql-completion-column) - (sql-completion-sqlbuf): New variables. - (sql-build-completions-1, sql-build-completions) - (sql-try-completion): New functions. - (sql-read-table-name): Use them. - (sql-contains-names): New buffer local variable. - (sql-list-all, sql-list-table): Use it. - (sql-oracle-completion-types): New variable. - (sql-oracle-completion-object, sql-sqlite-completion-object) - (sql-postgres-completion-object): New functions. - -2011-07-06 Glenn Morris <rgm@gnu.org> - - * window.el (pop-to-buffer): Doc fix. - -2011-07-06 Markus Heiser <markus.heiser@darmarit.de> (tiny change) - - * progmodes/gud.el (gud-pdb-marker-regexp): Accept \r char (Bug#5653). - -2011-07-06 Chong Yidong <cyd@stupidchicken.com> - - * window.el (special-display-popup-frame): Doc fix (Bug#8853). - - * info.el (Info-directory-toc-nodes): Minor doc fix (Bug#8833). - -2011-07-05 Chong Yidong <cyd@stupidchicken.com> - - * button.el (button): Inherit from link face. Suggested by Dan - Nicolaescu. - -2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/gdb-mi.el: Fit in 80 columns. - (gdb-setup-windows, gdb-restore-windows): Avoid other-window and - switch-to-buffer. - - * progmodes/which-func.el (which-func-ff-hook): Don't output a message - if imenu is simply not configured (bug#8941). - -2011-07-05 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el (allout-post-undo-hook): New allout outline-change - event hook to signal undo activity. - (allout-post-command-business): Run allout-post-undo-hook if an - undo just occurred. - (allout-after-copy-or-kill-hook, allout-mode): Minor docstring changes. - * allout-widgets.el (allout-widgets-after-undo-function): - Ensure the integrity of the current item's decoration after it has been - in the vicinity of an undo. - (allout-widgets-mode): Include allout-widgets-after-undo-function - on the new allout-post-undo-hook. - -2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table): - Let define-derived-mode define it. - * emacs-lisp/derived.el (define-derived-mode): Try to avoid creating - cycles of abbrev-table inheritance (bug#8998). - -2011-07-05 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el: Add support for biblatex. - (bibtex-BibTeX-entry-alist, bibtex-biblatex-entry-alist) - (bibtex-BibTeX-field-alist, bibtex-biblatex-field-alist) - (bibtex-dialect-list, bibtex-dialect, bibtex-no-opt-remove-re) - (bibtex-entry-alist, bibtex-field-alist): New variables. - (bibtex-entry-field-alist): Obsolete alias for - bibtex-BibTeX-entry-alist. - (bibtex-entry-alist, bibtex-field-alist): New widgets. - (bibtex-set-dialect): New command. - (bibtex-entry-type, bibtex-entry-head) - (bibtex-entry-maybe-empty-head, bibtex-any-valid-entry-type): - Bind via bibtex-set-dialect. - (bibtex-Article, bibtex-Book, bibtex-Booklet, bibtex-InBook) - (bibtex-InCollection, bibtex-InProceedings, bibtex-Manual) - (bibtex-MastersThesis, bibtex-Misc, bibtex-PhdThesis) - (bibtex-Proceedings, bibtex-TechReport, bibtex-Unpublished): - Define via bibtex-set-dialect. - (bibtex-name-in-field, bibtex-remove-OPT-or-ALT): - Obey bibtex-no-opt-remove-re. - (bibtex-vec-push, bibtex-vec-incr): New functions. - (bibtex-format-entry, bibtex-field-list) - (bibtex-print-help-message, bibtex-validate) - (bibtex-search-entries): Use new format of bibtex-entry-alist. - -2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/compile.el (compilation-goto-locus): - * net/tramp-cmds.el (tramp-append-tramp-buffers): - * bs.el (bs-cycle-next, bs-cycle-previous): - * bookmark.el (bookmark-bmenu-list, bookmark-bmenu-2-window): - * bindings.el (mode-line-other-buffer): - * autoinsert.el (auto-insert): - * arc-mode.el (archive-extract): - * abbrev.el (edit-abbrevs): Fix some uses of switch-to-buffer. - -2011-07-05 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lock.el (emacs-lock-mode): Fix typo in variable name. - Fix check of `emacs-lock-unlockable-modes'. - Coerce true values of `emacs-lock--try-unlocking' to t. - -2011-07-05 Juanma Barranquero <lekktu@gmail.com> - - * obsolete/old-emacs-lock.el: Rename from emacs-lock.el. - * emacs-lock.el: New file. - -2011-07-05 Julien Danjou <julien@danjou.info> - - * textmodes/rst.el (rst-define-level-faces): Use `facep' rather - than `boundp' to check if face is set. - -2011-07-05 Juanma Barranquero <lekktu@gmail.com> - - * register.el (registerv-make): - * window.el (window-min-height): Fix typos in docstrings. - -2011-07-05 Jan Djärv <jan.h.d@swipnet.se> - - * dynamic-setting.el (dynamic-setting-handle-config-changed-event): - Update doc string. - -2011-07-04 Juanma Barranquero <lekktu@gmail.com> - - * server.el (server-execute): Catch quit and call - `server-return-error' to pass the error back to emacsclient and - close the connection (bug#8942). - -2011-07-04 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el (allout-encrypt-unencrypted-on-saves): Do not provide - insecure exception for current topic. Also note that auto-saves - are handled differently. - - (allout-auto-save-temporarily-disabled, allout-just-did-undo): - State variables for tracking auto-save inhibition situation. - - (allout-write-contents-hook-handler): Rename from - 'allout-write-file-hook-handler', and describe how it depends on - write-contents-functions sensitivity to non-nil value to prevent - file write. - - (allout-auto-save-hook-handler): Remove. auto-save does not check - this in individual buffers, only in the starting buffer, so this - is not the right way for us to inhibit auto-save in a buffer - according to its condition. - - (allout-mode): Use new allout-write-contents-hook-handler, and - only with write-contents-functions. Remove auto-save provisions - - they're implemented elsewhere. - - (allout-before-change-handler): If undo is in progress, note that - for attention of allout-post-command-business. - - (allout-post-command-business): If the command we're following was - an undo, check for change in the status of encrypted items and - adjust auto-save inhibitions accordingly. - - (allout-toggle-subtree-encryption): Adjust auto-save inhibition - according to whether there are or aren't any plain-text topics - pending encryption. - - (allout-inhibit-auto-save-info-for-decryption): - Adjust buffer-saved-size and some allout state to inhibit auto-saves - if there are plain-text topics pending encryption. - - (allout-maybe-resume-auto-save-info-after-encryption): Adjust - buffer-saved-size and some allout state to not inhibit auto-saves - if there are no longer any plain-text topics pending encryption. - - (allout-next-topic-pending-encryption, allout-encrypt-decrypted): - No longer provide for exemption of the current topic. - -2011-07-04 Juri Linkov <juri@jurta.org> - - Add 7z operations to delete and save changed members (bug#8968). - * arc-mode.el (archive-7z-expunge, archive-7z-update): - New defcustoms. - (archive-7z-write-file-member): New function. - (archive-7z-summarize): Fix the number of dashes in the - listing output. - -2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * pcmpl-linux.el (pcomplete-pare-list): Re-add, from pcomplete.el - (bug#8958). - -2011-07-04 Chong Yidong <cyd@stupidchicken.com> - - * bindings.el: Ignore next-buffer and previous-buffer in - minibuffer-local-map. - - * font-lock.el (font-lock-builtin-face): Change light background - color to dark slate blue (Bug#6693). - -2011-07-04 Wang Diancheng <dcwang@kingbase.com.cn> (tiny change) - - * progmodes/gdb-mi.el (gdb): Use completion-at-point. - -2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * files.el (find-file): Use pop-to-buffer-same-window (bug#8911). - * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): - Add switch-to-buffer. - -2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * isearch.el (isearch-search-fun-function): Clarify further the - meaning of the function returned. - -2011-07-04 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-cmds.el (tramp-cleanup-this-connection): New command. - - * net/tramp-sh.el (tramp-color-escape-sequence-regexp): New defconst. - (tramp-sh-handle-insert-directory, tramp-convert-file-attributes): - Use it. - (tramp-remote-path): Add "/bin" and "/usr/bin". On busyboxes, - `tramp-default-remote-path' does not exist. - (tramp-send-command-and-read): New optional argument NOERROR. - (tramp-open-connection-setup-interactive-shell) - (tramp-get-remote-path, tramp-get-remote-stat): Use it. - (tramp-get-remote-readlink): Do not mask with `ignore-errors'. - (tramp-process-sentinel): Flush also process' connection property. - (tramp-sh-handle-start-file-process): Do not set process - sentinel. It is done now ... - (tramp-maybe-open-connection): ... here. (Bug#8929) - -2011-07-04 MON KEY <monkey@sandpframing.com> - - * play/animate.el (animate-string): Doc fixes and allow changing - the buffer name (bug#5417). - -2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * play/animate.el (animation-buffer-name): Rename from *animate*. - -2011-07-04 Paul Eggert <eggert@cs.ucla.edu> - - * emacs-lisp/timer.el: Use time-date fns rather than rolling our own. - This is simpler and helps future-proof the code. - (timer-until): Use time-subtract and float-time. - (timer--time-less-p): Use time-less-p. - -2011-07-04 Juanma Barranquero <lekktu@gmail.com> - - * type-break.el (timep): Use the value of `float-time' to avoid a - byte-compiler warning. - - * server.el (server-eval-and-print): Return any result, even nil. - -2011-07-03 Paul Eggert <eggert@cs.ucla.edu> - - * type-break.el: Accept time formats that the builtins accept. - (timep, type-break-time-difference): Accept any format that - float-time accepts, rather than insisting on (HIGH LOW USECS) format. - This is simpler and helps future-proof the code. - (type-break-time-difference): Round rather than ignoring - subseconds components. - -2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * info.el (Info-apropos-matches): Make non-interactive, since it - doesn't seem to do anything useful as a command (bug#8829). - -2011-07-03 Chong Yidong <cyd@stupidchicken.com> - - * frame.el (frame-background-mode, frame-set-background-mode): - Move from faces.el. - (frame-default-terminal-background): New function. - - * custom.el (custom-push-theme): Don't record faces in `changed' - theme; this doesn't work correctly for per-frame face settings. - (disable-theme): Use face-set-after-frame-default to reset faces. - (custom--frame-color-default): New function. - -2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * dired.el (dired-flagging-regexp): Remove unused variable - (bug#8769). - -2011-03-29 Kevin Ryde <user42@zip.com.au> - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - `perl-Test2' extend to match possible "fail #N" rep count - (bug#8377). - -2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/feedmail.el (feedmail-buffer-to-smtpmail): - `smtpmail-via-smtp' now returns the error instead of nil. - - * isearch.el (isearch-search-fun-function): Clarify the doc string - (bug#8101). - -2011-07-03 Richard Kim <emacs18@gmail.com> (tiny change) - - * textmodes/texnfo-upd.el (texinfo-insert-menu): Don't insert - unnecessary spaces (bug#8987). - -2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/network-stream.el (open-network-stream): Use the - :end-of-capability command thoughout. - -2011-07-03 Wolfgang Jenkner <wjenkner@inode.at> (tiny change) - - * net/network-stream.el (open-network-stream): Add the - :end-of-capability command parameter, used by pop3.el. - -2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * dired.el (dired-map-over-marks): Refill the doc string (bug#6814). - - * fringe.el (fringe-query-style): Remove redundant text " (type ? - for list)" (bug#6475). - - * files.el (file-expand-wildcards): Ignore non-readable - sub-directories while trying to find matches instead of signaling - an error (bug#6297). - - * man.el (Man-reference-regexp): Allow matching possible - word-wrapped references (bug#6289). - - * vc/vc.el (vc-modify-change-comment): Change *VC-log* to *vc-log* - for consistency with the other vc buffers (bug#6197). - (vc-checkin): Ditto. - - * vc/vc-arch.el: Fix comments to match the *VC-log* name change. - - * longlines.el (longlines-mode): Document what ARG does (bug#6150). - -2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * custom.el (defcustom): Clarify that :set is only used in the - Customize user interface (bug#6089). - - * progmodes/flymake.el (flymake-mode): If the buffer isn't - associated with a file, refuse to run instead of erroring out - (bug#6084). - - * textmodes/fill.el (fill-region): Remove the "Ordinarily" from - the doc string, since it appears that using `fill-column' always - controls the width (bug#7845). - - * simple.el (shell-command-on-region): Say where the error output - went if `shell-command-default-error-buffer' is set (bug#6857). - -2011-07-02 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el (allout-yank-processing): Adjust cursor position for - backwards-deleted space. - - (allout-rebullet-heading): Register changes with - allout-exposure-changed-hook, so the modified topic is properly - decorated. - -2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * minibuffer.el (completion-in-region): Document PREDICATE - (bug#7136). - - * info-look.el (info-lookup-add-help): Clarify that ARGS is a list - of keyword/argument pairs (bug#6904). - - * replace.el (multi-occur): - Mention `multi-occur-in-matching-buffers' in the doc string (bug#7566). - -2011-07-02 Drew Adams <drew.adams@oracle.com> - - * dired.el (dired-mark-if): Make the message about whether it's - marking or unmarking clearer (bug#8523). - -2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * disp-table.el (display-table-print-array): New function. - (describe-display-table): Use it to print the vectors more pretty - (Bug#8859). - -2011-07-02 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-state-get-1): Don't assign clone numbers. - Add clone-of item to list of window parameters. - (window-state-put-2): Don't process clone numbers. - (display-buffer-alist): Fix doc-string. - -2011-07-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (remq): Don't allocate if it's not needed. - (keymap--menu-item-binding, keymap--menu-item-with-binding) - (keymap--merge-bindings): New functions. - (keymap-canonicalize): Use them to refine the canonicalization. - * minibuffer.el (minibuffer-local-completion-map) - (minibuffer-local-must-match-map): Move initialization from C. - (minibuffer-local-filename-completion-map): Move initialization from C; - don't inherit from anything here. - (minibuffer-local-filename-must-match-map): Make obsolete. - (completing-read-default): Use make-composed-keymap to combine - minibuffer-local-filename-completion-map with either - minibuffer-local-must-match-map or - minibuffer-local-filename-completion-map. - -2011-07-01 Glenn Morris <rgm@gnu.org> - - * type-break.el (type-break-time-sum): Use dolist. - - * textmodes/flyspell.el (flyspell-word-search-backward): - Replace CL function. - -2011-07-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * mouse.el (mouse--strip-first-event): New function. - (function-key-map): Use it to map fringe clicks to normal clicks - by default. - - * vc/vc-bzr.el (vc-bzr-revision-keywords): Update. - (vc-bzr-revision-completion-table): Add support for annotate and date. - - * emacs-lisp/derived.el (define-derived-mode): Make abbrev-table - inherit from parent. - -2011-07-01 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * dired-aux.el (dired-diff): Doc fixup (bug#8816). - (dired-show-file-type): Doc fixup (bug#8818). - - * dired.el (dired-mode): Fix up the doc string as suggested by - Drew Adams (bug#8817). - - * progmodes/flymake.el (flymake-find-file-hook): Add an `autoload' - cookie, since the manual says that it should be possible to add - this function to `find-file-hook' (bug#8709). - -2011-07-01 Teodor Zlatanov <tzz@lifelogs.com> - - * progmodes/cfengine.el: Moved all cfengine3.el functionality - here. Noted Ted Zlatanov as the maintainer. - (cfengine-common-settings, cfengine-common-syntax): New functions - to set up common things between `cfengine-mode' and - `cfengine3-mode'. - (cfengine3-mode): New mode. - (cfengine3-defuns cfengine3-defuns-regex - (cfengine3-class-selector-regex cfengine3-category-regex) - (cfengine3-vartypes cfengine3-font-lock-keywords) - (cfengine3-beginning-of-defun, cfengine3-end-of-defun) - (cfengine3-indent-line): Add from cfengine3.el. - -2011-07-01 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-encoding-command-interactive): New defcustom. - - * net/tramp-sh.el (tramp-maybe-open-connection): Use it. - -2011-07-01 Martin Rudalics <rudalics@gmx.at> - - * window.el (same-window-buffer-names, same-window-regexps) - (same-window-p, special-display-frame-alist) - (special-display-popup-frame, special-display-function) - (special-display-buffer-names, special-display-regexps) - (special-display-p, pop-up-frame-alist, pop-up-frame-function) - (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) - (split-window-preferred-function, split-height-threshold) - (split-width-threshold, even-window-heights) - (display-buffer-mark-dedicated, window-splittable-p) - (split-window-sensibly, window-safely-shrinkable-p): - Un-obsolete. - (display-buffer): Don't spread args with function specifier - because special-display-popup-frame won't like it. - -2011-07-01 Paul Eggert <eggert@cs.ucla.edu> - - Time-stamp simplifications and fixes. - These improve accuracy slightly, and future-proof the code - against some potential changes to current-time format. - - * woman.el (woman-decode-buffer, WoMan-log-end): Log fractional secs - by using time-since and float-time. - - * vc/ediff-util.el (ediff-calc-command-time): Use time-since - and float-time. Say "NNN.NNN seconds" rather than "NNN seconds - + NNN microseconds". - - * type-break.el (type-break-time-sum): Rewrite using time-add. - - * play/hanoi.el (hanoi-current-time-float): Remove. - All uses replaced by float-time. - - * nxml/rng-maint.el (rng-time-function): Rewrite using time-subtract. - This yields a more-accurate answer. - (rng-time-to-float): Remove; no longer needed. - - * emacs-lisp/timer.el (timer-relative-time): Use time-add. - - * calendar/timeclock.el (timeclock-seconds-to-time): - Defalias to seconds-to-time, since they're the same thing. - - * emacs-lisp/elp.el (elp-elapsed-time): - * emacs-lisp/benchmark.el (benchmark-elapse): - * allout-widgets.el (allout-elapsed-time-seconds): Use float-time. - -2011-07-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * window.el (bury-buffer): Don't iconify the only frame. - (switch-to-buffer): Revert to Emacs<23 behavior, i.e. do not fallback - to pop-to-buffer. Use pop-to-buffer-same-frame if you don't like that. - -2011-07-01 Chong Yidong <cyd@stupidchicken.com> - - * eshell/em-smart.el (eshell-smart-display-navigate-list): - Add mouse-yank-primary. - -2011-07-01 Teodor Zlatanov <tzz@lifelogs.com> - - * progmodes/cfengine3.el: New file to support CFEngine 3.x. - -2011-07-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/find-func.el (find-library--load-name): New fun. - (find-library-name): Use it to find relative load names when provided - absolute file name (bug#8803). - -2011-06-30 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * textmodes/flyspell.el (flyspell-word): Consider words that - differ only in case as potential doublons (bug#5687). - - * net/soap-client.el (soap-invoke, soap-wsdl-resolve-references): - Remove two rather uninteresting debugging-like messages to make - debbugs.el more silent. - - * comint.el (comint-password-prompt-regexp): Accept "Response" as - a password-like phrase. - -2011-06-30 Masatake YAMATO <yamato@redhat.com> - - * progmodes/cc-guess.el: New file. - - * progmodes/cc-langs.el (c-mode-menu): Add "Style..." submenu. - - * progmodes/cc-styles.el (cc-choose-style-for-mode): New function - derived from `c-basic-common-init'. - - * progmodes/cc-mode.el (top-level): Require cc-guess. - (c-basic-common-init): Use `cc-choose-style-for-mode'. - -2011-06-30 Lawrence Mitchell <wence@gmx.li> - - * progmodes/js.el (js-mode): Don't stomp on global settings (bug#8933). - -2011-06-30 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-engine.el (c-guess-continued-construct): - Correct the handling of template-args-cont, particularly for when font - lock is disabled. Name this case as "CASE G". - -2011-06-30 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el (allout-yank-processing): Fix injection of extra space - between bullet and non-whitespace character in first topic when - pasting, ensuring that the actual spacing in the pasted topic - following the bullet char is preserved. This extra space was - causing pasted encrypted topics to get a decrypted status even - when the content was actually still encrypted. Now the decryption - status from before the paste is preserved. - - (allout-flag-region): Set all allout overlays so they evaporate - when reduced to zero length (evanescent), to prevent overlay - leakage. - -2011-06-30 Glenn Morris <rgm@gnu.org> - - * w32-fns.el (w32-charset-info-alist): Declare. - - * find-dired.el (find-grep-options): Simplify. - - * term/ns-win.el (ns-set-resource): Declare. - - * ses.el (row, col): Declare dynamic variables honestly. - - * textmodes/reftex-parse.el (index-tags): Declare. - -2011-06-30 Chong Yidong <cyd@stupidchicken.com> - - * cus-edit.el (customize-push-and-save): New function. - - * files.el (hack-local-variables-confirm): Use it. - - * custom.el (load-theme): New arg NO-CONFIRM. - Use customize-push-and-save (Bug#8720). - (custom-enabled-themes): Doc fix. - - * cus-theme.el (customize-create-theme) - (custom-theme-merge-theme): Callers to load-theme changed. - -2011-06-30 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * thingatpt.el (thing-at-point-short-url-regexp): Require that - short URLs have at least one dot in them (bug #7614). - - * progmodes/grep.el (rgrep): Bind `process-connection-type' to - nil, because using a pty is apparently too slow (bug #895). - -2011-06-29 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/sendmail.el (sendmail-query-once): New function. - (sendmail-query-once-function): New variable. - -2011-06-29 Glenn Morris <rgm@gnu.org> - - * files.el (auto-mode-alist): Add .f03, .f08 for f90-mode. - - * ses.el (top-level): Require cl when compiling. - (ses-set-localvars): Fix error statement. - Call it at compile time to silence a storm of warnings. - -2011-06-29 Martin Rudalics <rudalics@gmx.at> - - * window.el (normalize-live-buffer): Rename to - window-normalize-buffer. - (normalize-live-frame): Rename to window-normalize-frame. - (normalize-any-window): Rename to window-normalize-any-window. - (normalize-live-window): Rename to window-normalize-live-window. - (make-window-atom): Rename to window-make-atom. - (window-resize-reset): Rename to window--resize-reset. - (window-resize-reset-1): Rename to window--resize-reset-1. - (resize-mini-window): Rename to window--resize-mini-window. - (resize-subwindows-skip-p): Rename to - window--resize-subwindows-skip-p. - (resize-subwindows-normal): Rename to - window--resize-subwindows-normal. - (resize-subwindows): Rename to window--resize-subwindows. - (resize-other-windows): Rename to window--resize-siblings. - (resize-this-window): Rename to window--resize-this-window. - (resize-root-window): Rename to window--resize-root-window. - (resize-root-window-vertically): Rename to - window--resize-root-window-vertically. - (normalize-buffer-to-display): Rename to - window-normalize-buffer-to-display. - (normalize-buffer-to-switch-to): Rename to - window-normalize-buffer-to-switch-to. - Correspondingly update all callers of the functions listed - above. - (display-buffer-alist, display-buffer-normalize-arguments) - (display-buffer-normalize-options, display-buffer) - (display-buffer-alist-set): Use "function" instead of - "fun-with-args". - -2011-06-28 Chong Yidong <cyd@stupidchicken.com> - - * mail/emacsbug.el (report-emacs-bug): Handle non-gnu bug - addresses more clearly. Add hyperlinks for bug-gnu-emacs and - debbugs.gnu.org. Mention acknowledgment email. - -2011-06-28 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-send-it): Leave off changing the - buffer multibyteness, since it shouldn't matter. - -2011-06-28 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-in-side-window): Handle dedicated - windows as in display-buffer-reuse-window. - (display-buffer-normalize-alist): Use value of override - specifier. - (display-buffer-normalize-specifiers): Use value of - other-window-means-other-frame specifier. - (display-buffer-alist): Rewrite some texts in widgets. - (display-buffer): Spread arguments when calling function - specified by fun-with-args. - -2011-06-28 Deniz Dogan <deniz@dogan.se> - - * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table): - Unnest `let'. - - * textmodes/css-mode.el (css-font-lock-keywords): Fix grouped - selectors (Bug#5732). - (css-proprietary-nmstart-re): Use `regexp-opt'. - -2011-06-27 Jari Aalto <jari.aalto@cante.net> - - * eshell/em-ls.el: Display `ls -l' dates in ISO format (Bug#8440). - (eshell-ls-date-format): New defcustom. - (eshell-ls-file): Use it. - -2011-06-27 Stefan Monnier <monnier@iro.umontreal.ca> - - * help-fns.el (describe-variable): Fix message for terminal-local vars. - -2011-06-27 Katsumi Yamaoka <yamaoka@jpl.org> - - * net/ange-ftp.el: Allow loading .gz files (Bug#6923). - (ange-ftp-make-tmp-name): New arg. - (ange-ftp-file-local-copy): Use it. - -2011-06-27 Jambunathan K <kjambunathan@gmail.com> - - * tar-mode.el (tar-untar-buffer): Set coding-system-for-write to - no-conversion (Bug#8870). - -2011-06-27 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-right, window-left, window-child) - (window-child-count, window-last-child) - (window-iso-combination-p, walk-window-tree-1) - (window-atom-check-1, window-tree-1, delete-window) - (window-state-get-1, display-buffer-even-window-sizes): Adapt to - new naming conventions - window-vchild, window-hchild, - window-next and window-prev are now called window-top-child, - window-left-child, window-next-sibling and window-prev-sibling - respectively. - (resize-window-reset): Rename to window-resize-reset. - (resize-window-reset-1): Rename to window-resize-reset-1. - (resize-window): Rename to window-resize. - (window-min-height, window-min-width) - (resize-mini-window, resize-this-window, resize-root-window) - (resize-root-window-vertically, adjust-window-trailing-edge) - (enlarge-window, shrink-window, maximize-window) - (minimize-window, delete-window, quit-restore-window) - (split-window, balance-windows, balance-windows-area-adjust) - (balance-windows-area, window-state-put-2) - (display-buffer-even-window-sizes, display-buffer-set-height) - (display-buffer-set-width, set-window-text-height) - (fit-window-to-buffer): Rename all "resize-window" prefixed - calls to use the "window-resize" prefix convention. - (display-buffer-alist): Fix symbol for label specifier. - (display-buffer-reuse-window): Set reuse-dedicated to cdr of - corresponding specifier. - Reported by Juanma Barranquero <lekktu@gmail.com>. - -2011-06-27 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * ses.el (ses-destroy-cell-variable-range): Fix heading comment - convention. - (ses-call-printer): Does not pass an empty string to formatter when the - cell is empty to keep from barking printer Calc math-format-value. - -2011-06-27 Richard Stallman <rms@gnu.org> - - * battery.el (battery-mode-line-limit): New variable. - (battery-update): Handle it. - - * mail/rmailmm.el (rmail-mime-process-multipart): - Handle truncated messages. - -2011-06-27 Glenn Morris <rgm@gnu.org> - - * progmodes/flymake.el (flymake-err-line-patterns): - Allow for column numbers in the ant/javac pattern. (Bug#8866) - -2011-06-27 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * ses.el (ses-relocate-range): Keep rest of arguments for ses-range. - (ses--clean-!, ses--clean-_): New functions. - (ses-range): Add configurability of readout order, and conversion - to Calc vector. - - * ses.el (ses-repair-cell-reference-all): New function. - (ses-cell-symbol): Set macro as safe, so that it can be used in - formulas. - - * ses.el: Update cycle detection algorithm. - (ses-localvars): Add ses--Dijkstra-attempt-nb and - ses--Dijkstra-weight-bound, and initial values thereof when applicable. - (ses-set-localvars): New function. - (ses-make-cell): Add property-list as a cell element. - (ses-cell-property-get-fun, ses-cell-property-get) - (ses-cell-property-delq-fun, ses-cell-property-set-fun) - (ses-cell-property-pop-fun, ses-cell-property-get-handle-fun): - New functions. - (ses-cell-property-set, ses-cell-property-pop) - (ses-cell-property-get-handle): New macro. - (ses-cell-property-handle-car, ses-cell-property-handle-setcar): - New aliases, used for code readability. - (ses-calculate-cell, ses-update-cells): Use Dijkstra algorithm for - cycle detection. - (ses-self-reference-early-detection): New defcustom. - (ses-formula-references): Robustify against self-referring cells. - (ses-mode): Use ses-set-localvars. - (ses-command-hook): Add call to ses-initialize-Dijkstra-attempt - before lauching the update processing. - (ses-initialize-Dijkstra-attempt): New function. - (ses-recalculate-cell): Update for cycle detection based on - Dijkstra algorithm. - - * ses.el: Fix commenting and indenting convention. - -2011-06-27 Stefan Monnier <monnier@iro.umontreal.ca> - - * bs.el (bs-cycle-next): Complete last change. - -2011-06-27 Drew Adams <drew.adams@oracle.com> - - * faces.el (list-faces-display): Add help-mode-map to output (bug#8939). - -2011-06-27 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/network-stream.el (network-stream-open-starttls): - Don't re-get capabilities unless we've reestablished connection. - (network-stream-open-starttls): Fix stupid typo with gnutls-clii. - - * mail/smtpmail.el (smtpmail-via-smtp): Bind coding-system-for-* - to binary to possibly avoid line encoding issues on Windows (among - other things). - -2011-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/network-stream.el (open-network-stream): Return an :error - saying what the problem was, if possible. - - * mail/smtpmail.el (smtpmail-via-smtp): Report the error from the - server. - - * net/network-stream.el (network-stream-open-starttls): If we - wanted to use STARTTLS, and the server offered it, but we weren't - able to because we had no STARTTLS support, then close the connection. - (open-network-stream): Return an :error element, if present. - -2011-06-26 Chong Yidong <cyd@stupidchicken.com> - - * hl-line.el (hl-line-sticky-flag): Doc fix. - (global-hl-line-sticky-flag): New option (Bug#8323). - (global-hl-line-highlight): Obey it. - - * vc/vc.el (vc-revert-show-diff): Default to t. - -2011-06-26 Ken Manheimer <ken.manheimer@gmail.com> - - * allout-widgets.el (allout-widgets-post-command-business): - Stop decorating intermediate isearch matches. They're not being - undecorated when an isearch is continued past, and isearch - automatically collapses them. This leads to "widget leaks", where - decorated items accumulate in collapsed areas. Lines with lots of - hidden widgets can slow down cursor travel, substantially. - Too much complicated machinery would be needed to ensure undecoration, - so we're doing without this nicety. - - (allout-widgets-tally-string): Don't try to do a hash-table-count - of allout-widgets-tally when it's nil. This eliminates spurious "Error - during redisplay: (wrong-type-argument hash-table-p nil)" warnings in - *Messages* when allout-widgets-maintain-tally is t. - -2011-06-26 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-normalize-argument): Rename to - display-buffer-normalize-arguments. Handle special meaning of - LABEL argument. Respect special-display-function when popping up - a new frame. Fix code searching for a window showing the buffer - on another frame. - (display-buffer-normalize-specifiers): - Call display-buffer-normalize-arguments. - (display-buffer-in-window): Don't undedicate the window if its - buffer remains the same. - Reported by Drew Adams <drew.adams@oracle.com>. - (display-buffer-alist): Add choice for same-window macro - specfier. - (display-buffer): Mention special meaning of LABEL argument in - doc-string. Fix quoting. Don't pop up a new frame even as - fallback. - -2011-06-26 Juanma Barranquero <lekktu@gmail.com> - - * bs.el (bs-cycle-next): Pass current buffer to `bury-buffer' to - avoid deleting the current window in some cases (bug#8911). - -2011-06-26 Andreas Schwab <schwab@linux-m68k.org> - - * emacs-lisp/smie.el (smie-bnf->prec2): Fix last change. - (Bug#8934) - -2011-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/network-stream.el (network-stream-open-starttls): - Use built-in TLS support if `gnutls-available-p' is true. - (network-stream-open-tls): Ditto. - -2011-06-26 Leo Liu <sdl.web@gmail.com> - - * register.el (registerv): New struct. - (registerv-make): New function. - (jump-to-register, describe-register-1, insert-register): - Support the jump-func, print-func and insert-func slot of a registerv - struct. (Bug#8415) - -2011-06-26 Chong Yidong <cyd@stupidchicken.com> - - * vc/vc.el (vc-revert-show-diff): New defcustom. - (vc-diff-internal): New arg specifying diff buffer. - (vc-revert): Obey vc-revert-show-diff. If we show a diff, don't - reuse an existing *vc-diff* buffer (Bug#8927). - - * progmodes/cperl-mode.el (cperl-mode): Derive from prog-mode. - -2011-06-26 Glenn Morris <rgm@gnu.org> - - * progmodes/f90.el (f90-critical-indent): New option. - (f90-font-lock-keywords-2, f90-blocks-re, f90-end-block-re) - (f90-start-block-re, f90-mode-abbrev-table): Add block, critical. - (f90-mode): Doc fix. - (f90-looking-at-critical, f90-looking-at-end-critical): New funcs. - (f90-no-block-limit, f90-calculate-indent, f90-end-of-block) - (f90-beginning-of-block, f90-next-block, f90-indent-region) - (f90-match-end): Handle block, critical. - -2011-06-25 Glenn Morris <rgm@gnu.org> - - * calendar/diary-lib.el (diary-included-files): Doc fix. - (diary-include-files): New function, extracted from - diary-include-other-diary-files and diary-mark-included-diary-files. - (diary-include-other-diary-files, diary-mark-included-diary-files): - Just call diary-include-files. - (diary-mark-entries): Reset diary-included-files on first call. - - * calendar/diary-lib.el (diary-mark-entries) - (diary-mark-included-diary-files): - Visit included diary-files in temp buffers. - - * progmodes/f90.el (f90-keywords-re, f90-font-lock-keywords-1) - (f90-blocks-re, f90-program-block-re, f90-end-block-re) - (f90-start-block-re, f90-imenu-generic-expression) - (f90-looking-at-program-block-start, f90-no-block-limit): - Add support for submodules. - - * progmodes/f90.el (f90-keywords-re, f90-keywords-level-3-re) - (f90-procedures-re, f90-constants-re): Add some F2008 stuff. - -2011-06-25 Eli Zaretskii <eliz@gnu.org> - - * net/ange-ftp.el (ange-ftp-insert-file-contents): Let-bind - buffer-file-type before setting its value, to avoid disastrous - global effects on decoding files for DOS/Windows systems. (Bug#8780) - -2011-06-25 Juanma Barranquero <lekktu@gmail.com> - - * allout.el (allout-unload-function): Pass -1 to `allout-mode'. - - * ses.el (ses-unload-function): - * emacs-lisp/re-builder.el (re-builder-unload-function): Simplify. - - * proced.el (proced-unload-function): - * progmodes/cperl-mode.el (cperl-mode-unload-function): Remove. - -2011-06-25 Andreas Rottmann <a.rottmann@gmx.at> - - * server.el (server-create-window-system-frame): Add parameters arg. - (server-process-filter): Doc fix. Handle frame-parameters. - -2011-06-25 Juanma Barranquero <lekktu@gmail.com> - - Fix bug#8730, bug#8781. - - * loadhist.el (unload--set-major-mode): New function. - (unload-feature): Use it. - - * progmodes/python.el (python-after-info-look): Add autoload cookie. - (python-unload-function): New function. - -2011-06-25 Stefan Monnier <monnier@iro.umontreal.ca> - - * mail/rmail.el (rmail-show-message-1): Use restore-buffer-modified-p. - -2011-06-25 Giuseppe Scrivano <gscrivano@gnu.org> - - * net/browse-url.el (browse-url-firefox-program): Add icecat to - the candidates list. - -2011-06-24 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/verilog-mode.el (verilog-mode): Fix test for bound variable. - -2011-06-23 Richard Stallman <rms@gnu.org> - - * mail/rmail.el: Going to grep hit in Rmail buffer finds the message. - (rmail-variables): Set next-error-move-function. - (rmail-what-message): Take argument POS. - (rmail-next-error-move): New function. - -2011-06-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/smie.el (smie-bnf->prec2): Give more understandable error - messages for adjacent non-terminals. - -2011-06-23 Richard Stallman <rms@gnu.org> - - * mail/rmail.el (rmail-retry-ignored-headers): Add message-id. - (rmail-show-message-1): Preserve buffer modified flag. - (rmail-start-mail): Don't specify use of rmail-mail-return; - that's done by mail-bury now. - (rmail-mail-return): Handle arg NEWBUF. - -2011-06-23 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-method-out-of-band-p): Check, whether - SIZE is a number. - -2011-06-23 Martin Rudalics <rudalics@gmx.at> - - * window.el (get-lru-window, get-mru-window) - (get-largest-window): Never return a minibuffer window. - (display-buffer-pop-up-window): Fix a bug that could lead to - reusing the minibuffer window. - (display-buffer): Pass original specifier argument to - display-buffer-function instead of the normalized one. - Reported by Thierry Volpiatto <thierry.volpiatto@gmail.com>. - -2011-06-22 Leo Liu <sdl.web@gmail.com> - - * minibuffer.el (completing-read-function) - (completing-read-default): Move from minibuf.c. - -2011-06-22 Richard Stallman <rms@gnu.org> - - * mail/sendmail.el (mail-bury): If Rmail is in use, return nicely - to Rmail even if not started by a special Rmail command. - - * mail/rmailmm.el (rmail-insert-mime-forwarded-message): - Copy the buffer currently showing just one message. - -2011-06-22 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el (bibtex-entry-update): Use mapc. - (bibtex-clean-entry): First delete the old key so that a - customized algorithm for generating the new key does not get - confused by the old key. - (bibtex-url): Obey regexp of first step. - (bibtex-search-entries): Do not use add-to-list with local - list-var. - -2011-06-22 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-try-auth-methods): If the user has - stored a user name, then query for the password first, instead of - waiting for SMTP to give an error message and the trying again. - -2011-06-22 Lawrence Mitchell <wence@gmx.li> - - * net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil - BUFFER in call-process. - -2011-06-22 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-via-smtp): Make sure we don't send - QUIT twice. - (smtpmail-try-auth-methods): Require user name and password from - auth-source. - -2011-06-22 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-default-specifiers) - (display-buffer-alist): Remove entries for pop-up-frame-alist. - Suggested by Katsumi Yamaoka <yamaoka@jpl.org>. - (split-window): Normalize SIDE argument (Bug#8916). - - * frame.el (pop-up-frame-alist, pop-up-frame-function) - (special-display-frame-alist, special-display-popup-frame): - Remove duplicate declarations. These are now in window.el. - -2011-06-21 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * mail/smtpmail.el (smtpmail-via-smtp): - Set :use-starttls-if-possible so that we always use STARTTLS if the - server supports it. SMTP servers that support STARTTLS commonly - require it. - - * net/network-stream.el (network-stream-open-starttls): Support - upgrading to STARTTLS always, even if we don't have built-in support. - (open-network-stream): Add the :always-query-capabilities keyword. - - * mail/smtpmail.el: Rewritten to do opportunistic STARTTLS - upgrades with `open-network-stream', and rely solely on - auth-source for all credentials. Big changes throughout the file, - but in particular: - (smtpmail-auth-credentials): Remove. - (smtpmail-starttls-credentials): Remove. - (smtpmail-via-smtp): Check for servers saying they want AUTH after - MAIL FROM, too. - - * net/network-stream.el (network-stream-open-starttls): - Provide support for client certificates both for external and built-in - STARTTLS. - (auth-source): Require. - (open-network-stream): Document the :client-certificate keyword. - (network-stream-certificate): Change cert-cert to cert and - cert-key to key. - -2011-06-21 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-cache.el (top): Don't load the persistency file when - "emacs -Q" has been called. - -2011-06-21 Tim Harper <timcharper@gmail.com> - - * term/ns-win.el (ns-initialize-window-system): - Set application-specific `ApplePressAndHoldEnabled' system - resource to NO as it is not yet supported by the NS port. - -2011-06-21 Juanma Barranquero <lekktu@gmail.com> - - * misc.el (list-dynamic-libraries--refresh): Compute header here... - (list-dynamic-libraries): ...not here. - -2011-06-21 Leo Liu <sdl.web@gmail.com> - - * subr.el (sha1): Implement sha1 using secure-hash. - -2011-06-21 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-alist): In default value do not - enforce searching a window on any but the selected frame. - Reported by Katsumi Yamaoka <yamaoka@jpl.org>. - (display-buffer-select-window): Remove function. - (display-buffer-in-window): When a window on another frame gets - reused, do not select it any more but just raise its frame if - necessary (Bug#8851) and (Bug#8856). - (display-buffer-normalize-options): Handle pop-up-frames related - options more faithfully. - (pop-to-buffer): Don't rely on `display-buffer' selecting the - window if it is on another frame. - (display-buffer-alist, display-buffer-default-specifiers): - Don't make new frame unsplittable by default. - (display-buffer-normalize-argument): Fix doc-string typo and use - 'same-frame-other-window instead of 'other-window when associating - with display-buffer-macro-specifiers. - -2011-06-21 Vincent Belaïche <vincent.b.1@hotmail.fr> - - * play/5x5.el (5x5-solve-rotate-left, 5x5-solve-rotate-right): - New functions. - (5x5-mode-map, 5x5-mode-menu): Bind them. - (5x5-draw-grid): Tweak the solver's rendering. - -2011-06-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/compile.el (compilation-error-regexp-alist-alist): Rename - `caml' to `python-tracebacks-and-caml'; allow leading tabs (bug#8585). - -2011-06-21 Drew Adams <drew.adams@oracle.com> - - * menu-bar.el: Use function variable instead of switch-to-buffer. - (menu-bar-select-buffer-function): New variable. - (menu-bar-update-buffers): Use it (bug#8876). - -2011-06-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (add-to-list): Add handler to check the - variable's status. - -2011-06-20 Jan Djärv <jan.h.d@swipnet.se> - - * x-dnd.el (x-dnd-version-from-flags) - (x-dnd-more-than-3-from-flags): New functions that handle long-as-cons - and long as number (Bug#8899). - (x-dnd-handle-xdnd): Call functions above (Bug#8899). - -2011-06-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-metadata): Add `metadata' to the alist. - (completion-try-completion, completion-all-completions): Compute the - metadata argument if it's missing; make it optional (bug#8795). - - * wid-edit.el: Use lex-bind and move towards completion-at-point. - (widget-complete): Use new :completion-function property. - (widget-completions-at-point): New function. - (default): Use :completion-function instead of :complete. - (widget-default-completions): Rename from widget-default-complete; - Rewrite. - (widget-string-complete, widget-file-complete, widget-color-complete): - Remove functions. - (file, symbol, function, variable, coding-system, color): - * international/mule-cmds.el (default-input-method, charset) - (language-info-custom-alist): - * cus-edit.el (face): Use new property :completions. - - * progmodes/pascal.el (pascal-completions-at-point): New function. - (pascal-mode): Use it. - (pascal-mode-map): Use completion-at-point. - (pascal-toggle-completions): Make obsolete. - (pascal-complete-word, pascal-show-completions): - * progmodes/octave-mod.el (octave-complete-symbol): - Redefine as obsolete alias. - * progmodes/octave-inf.el (inferior-octave-completion-at-point): - Signal absence of completion info for old Octave, - (inferior-octave-complete): Redefine as obsolete alias. - * progmodes/meta-mode.el: Use lexical-binding and completion-at-point. - (meta-completions-at-point): Rename from meta-complete-symbol and - adapt it for use on completion-at-point-functions. - (meta-common-mode): Use it. - (meta-looking-at-backward, meta-match-buffer): Remove. - (meta-complete-symbol): Redefine as obsolete alias. - (meta-common-mode-map): Use completion-at-point. - * progmodes/make-mode.el: Use lexical-binding and completion-at-point. - (makefile-mode-map): Use completion-at-point. - (makefile-completions-at-point): Rename from makefile-complete and - adapt it for use on completion-at-point-functions. - (makefile-mode): Use it. - (makefile-complete): Redefine as obsolete alias. - -2011-06-20 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el: Delete trailing whitespaces once and for all. - -2011-06-20 Daniel Colascione <dan.colascione@gmail.com> - - * emacs-lisp/syntax.el (syntax-ppss): Further improve docstring. - -2011-06-19 Chong Yidong <cyd@stupidchicken.com> - - * files.el (auto-mode-alist): Entry for m2-mode (Bug#8852). - - * info.el (Info-apropos-toc-nodes): Minor doc fix (Bug#8833). - -2011-06-19 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-other-window-means-other-frame): - Call display-buffer-normalize-alist. - (display-buffer-normalize-specifiers-1): Rename to - display-buffer-normalize-argument. New argument other-frame. - Rewrite. - (display-buffer-normalize-specifiers-2): Rename to - display-buffer-normalize-options. - (display-buffer-normalize-alist-1): New function. - (display-buffer-normalize-specifiers-3): Rename to - display-buffer-normalize-alist. - Call display-buffer-normalize-alist-1. - (display-buffer-normalize-options-inhibit): New variable. - (display-buffer-normalize-specifiers): Rewrite calling - display-buffer-normalize-alist, - display-buffer-normalize-argument, and - display-buffer-normalize-options. Don't call the latter if - display-buffer-normalize-options-inhibit is non-nil. - (frame-auto-delete): New option. - (window-deletable-p): Use frame-auto-delete. - (window-list-no-nils, window-state-ignored-parameters) - (window-state-get-1, window-state-get, window-state-put-list) - (window-state-put-1, window-state-put-2, window-state-put): - New functions. - (display-buffer-normalize-options): Move special-display-p group - after pop-up-frame group (Bug#8851) and (Bug#8856). - -2011-06-18 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/rx.el (rx-constituents): Add support for numbered - groups (Bug#8776). - (rx-submatch-n): New function. - (rx): Document it. - - * dired-x.el (dired-mark-unmarked-files): Fix interactive spec - (Bug#8768). - - * replace.el (occur-mode-map): Set occur-edit-mode binding to "e". - - * textmodes/fill.el (default-justification): Add :safe (Bug#8879). - - * cus-face.el (custom-declare-face): Call custom-theme-recalc face - anytime existing face settings are present (Bug#8889). - - * progmodes/delphi.el (delphi-mode-syntax-table): Use defvar. - (delphi-mode): Use define-derived-mode to inherit from prog-mode. - Remove unused argument. - -2011-06-18 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-default-specifiers): - Remove pop-up-frame. Add pop-up-window-min-height, - pop-up-window-min-width, and another reuse-window specifier - (Bug#8882). Reported by Dan Nicolaescu <dann@gnu.org>. - (display-buffer-normalize-specifiers-2): - Handle split-height-threshold and split-width-threshold also when - pop-up-windows is unset. Add a reuse-window specifier for the - case popping up a new window fails. - (special-display-popup-frame): Remove double quoting. - (display-buffer-normalize-specifiers-1): Fix thinko. - -2011-06-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * shell.el (shell-completion-vars): Set pcomplete-termination-string - according to comint-completion-addsuffix. - - * pcomplete.el: Convert to lexical binding and fix bug#8819. - (pcomplete-suffix-list): Mark as obsolete. - (pcomplete-completions-at-point): Capture pcomplete-norm-func and - pcomplete-seen in the closure. - (pcomplete-comint-setup): Setup completion-at-point as well. - (pcomplete--entries): New function. - (pcomplete--env-regexp): New var. - (pcomplete-entries): Rewrite to work with partial-completion and - without relying on pcomplete-suffix-list. - (pcomplete-pare-list): Remove, unused. - -2011-06-17 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-alist): Set pop-up-window-min-height - and pop-up-window-min-width in default value. Reported by - Thierry Volpiatto <thierry.volpiatto@gmail.com>. New specifier - other-window-means-other-frame. - (display-buffer-macro-specifiers): Comment out entry for - other-window specifier. - (display-buffer-other-window-means-other-frame): New function. - (display-buffer-normalize-specifiers-1): New arguments - buffer-name and label. Treat other-window case specially. - (display-buffer-normalize-specifiers-2): Treat other-window case - specially. - (display-buffer-normalize-specifiers-3): New function. - (display-buffer-normalize-specifiers): - Call display-buffer-normalize-specifiers-3. - -2011-06-17 Martin Rudalics <rudalics@gmx.at> - - * window.el (same-window-p): Fix two typos introduced when - adding with-no-warnings. - (display-buffer-normalize-specifiers-1): Don't check - pop-up-frames for 'unset initialization. - (display-buffer-normalize-specifiers-2): Major rewrite using - special-display-p and same-window-p (Bug#8851) and (Bug#8856). - (pop-up-frames, display-buffer-reuse-frames) - (display-buffer-mark-dedicated): Don't initialize to 'unset. - Suggested by David Engster <deng@randomsample.de>. - (even-window-heights): Initialize to 'unset. - (display-buffer-alist-set): Handle new 'unset initializations. - (display-buffer-macro-specifiers): Don't pop up a new frame in the - other window case. - -2011-06-16 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-normalize-specifiers-1): - Respect current value of pop-up-frames for most reasonable values of - second argument of display-buffer (Bug#8865). - (switch-to-buffer-same-frame, switch-to-buffer-other-window) - (switch-to-buffer-other-window-same-frame) - (switch-to-buffer-other-frame): Fix doc-strings. Reported by Drew - Adams (Bug#8875). - (display-buffer): Don't check noninteractive when calling - display-buffer-pop-up-frame. - (display-buffer-pop-up-frame): Never pop up a frame in - noninteractive mode (Bug#8857). - (enlarge-window, shrink-window): Don't report an error when the - window can't be resized as requested (Bug#8862). - -2011-06-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * pcmpl-rpm.el (pcomplete/rpm): Minor simplification. - - * emacs-lisp/debug.el (debug): Don't leave the buffer in Debugger. - - * abbrev.el (define-abbrev-table): Don't add a table multiple times. - -2011-06-15 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-fonts.el (c-font-lock-declarations): 1: Whilst checking - for declarators, disable knr checking to speed up for normal files. - 2: Refactor, replacing a sequence of nested if forms by a cond form. - -2011-06-15 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/network-stream.el (open-network-stream): Add the keyword - :always-query-capabilities for the case where you want to force a - `plain' network connection, but the protocol still requires the - capabilitiy command (i.e., SMTP and EHLO). - - * subr.el (process-live-p): Rename from `process-alive-p' for - consistency with other `-live-p' functions. - -2011-06-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * window.el (same-window-buffer-names, same-window-regexps) - (special-display-frame-alist, special-display-popup-frame) - (special-display-function, special-display-buffer-names) - (special-display-regexps, pop-up-frame-alist) - (pop-up-frame-function, pop-up-frames, display-buffer-reuse-frames) - (pop-up-windows, split-window-preferred-function) - (split-height-threshold, split-width-threshold, even-window-heights) - (display-buffer-mark-dedicated): Don't encourage the use of - display-buffer-alist from Elisp code. - -2011-06-15 Dan Nicolaescu <dann@ics.uci.edu> - - * progmodes/python.el (python-mode): Derive from prog-mode. - * progmodes/ps-mode.el (ps-mode): - * progmodes/mixal-mode.el (mixal-mode): - * progmodes/cfengine.el (cfengine-mode): - * progmodes/ld-script.el (ld-script-mode): Likewise. - -2011-06-15 Martin Rudalics <rudalics@gmx.at> - - * window.el (display-buffer-alist): Trim default value to avoid - popping up a new frame (Bug#8857) or reusing an arbitrary window - on another frame. - (display-buffer): Do not fall back on popping up a new frame in - batch mode (Bug#8857). - -2011-06-14 Chong Yidong <cyd@stupidchicken.com> - - * cus-theme.el (describe-theme-1): Use custom-theme-p. - (custom-theme-summary): New function. - (customize-themes): Use it. - -2011-06-13 Glenn Morris <rgm@gnu.org> - - * cus-dep.el (custom-make-dependencies): Use up command-line-args-left. - -2011-06-13 Martin Rudalics <rudalics@gmx.at> - - * help.el (help-window): Remove variable. - (help-window-point-marker, temp-buffer-max-height) - (temp-buffer-resize-mode, help-window-select): Rewrite doc-strings. - (help-print-return-message): Don't set help-window. - (resize-temp-buffer-window): Rewrite cod eand doc-string. - (help-window-setup-finish): Remove. - (help-window-display-message, help-window-setup) - (with-help-window): Major rewrite based on new - display-buffer-window variable. - - * help-mode.el (help-mode-finish): Remove help-window related - code. - - * view.el (view-exits-all-viewing-windows): Remove reference to - view-return-to-alist in doc-string. - (view-return-to-alist): Make obsolete. - (view-buffer): Call pop-to-buffer-same-window and remove - undo-window code. - (view-buffer-other-window): Call pop-to-buffer-other-window and - simplify code. Ignore second argument. - (view-buffer-other-frame): Call pop-to-buffer-other-frame and - simplify code. Ignore second argument. - (view-return-to-alist-update): Make obsolete. - (view-mode-enter): Rename second argument to QUIT-RESTORE. - Rewrite using quit-restore window parameters. - (view-mode-exit): Rename second argument to EXIT-ONLY. - Rewrite using quit-restore-window. - (View-exit, View-exit-and-edit, View-leave, View-quit) - (View-quit-all, View-kill-and-leave): Call view-mode-exit with - appropriate arguments. - (view-end-message): Use quit-restore window parameter. - - * window.el (display-buffer-function): Rewrite doc-string. - (display-buffer-window, display-buffer-alist): New variables. - (display-buffer-split-specifiers) - (display-buffer-side-specifiers) - (display-buffer-macro-specifiers): New constants. - (display-buffer-even-window-sizes, display-buffer-set-height) - (display-buffer-set-width, display-buffer-select-window) - (display-buffer-in-window, display-buffer-reuse-window) - (display-buffer-split-window-1, display-buffer-split-window) - (display-buffer-split-atom-window, display-buffer-pop-up-window) - (display-buffer-pop-up-frame, display-buffer-pop-up-side-window) - (display-buffer-in-side-window, normalize-buffer-to-display) - (display-buffer-normalize-specifiers-1) - (display-buffer-normalize-specifiers-2) - (display-buffer-normalize-specifiers, display-buffer-frame): - New functions. - (display-buffer): Major rewrite. - (display-buffer-other-window, display-buffer-other-frame) - (pop-to-buffer, switch-to-buffer-other-window) - (switch-to-buffer-other-frame): Rewrite. - (display-buffer-same-window, display-buffer-same-frame) - (display-buffer-same-frame-other-window) - (pop-to-buffer-same-window, pop-to-buffer-same-frame) - (pop-to-buffer-other-window) - (pop-to-buffer-same-frame-other-window) - (pop-to-buffer-other-frame, switch-to-buffer-same-frame) - (switch-to-buffer-other-window-same-frame): New functions. - (same-window-p, special-display-p): Rewrite disabling warnings. - Make obsolete. - (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) - (display-buffer-mark-dedicated): Initialize to symbol 'unset. - Make obsolete - (same-window-buffer-names, same-window-regexps) - (special-display-frame-alist, special-display-popup-frame) - (special-display-function, special-display-buffer-names) - (special-display-regexps, pop-up-frame-alist) - (pop-up-frame-function, split-window-preferred-function) - (split-height-threshold, split-width-threshold) - (even-window-heights): Make obsolete. - -2011-06-12 Glenn Morris <rgm@gnu.org> - - * term/xterm.el (terminal-init-xterm): `version' may be nil. (Bug#8838) - Misc simplifications. - -2011-06-12 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-safely-shrinkable-p): Restore function which - was inadvertently removed in change from 2011-06-11. Declare as - obsolete. - - * calendar/calendar.el (calendar-generate-window): - Use window-iso-combined-p instead of combination of one-window-p and - window-safely-shrinkable-p. - -2011-06-12 Glenn Morris <rgm@gnu.org> - - * progmodes/fortran.el (fortran-mode-syntax-table): - * progmodes/f90.el (f90-mode-syntax-table): - Set % to punctuation. (Bug#8820) - (f90-find-tag-default): Remove, no longer needed. - -2011-06-12 Daniel Colascione <dan.colascione@gmail.com> - - * emacs-lisp/syntax.el (syntax-ppss): Clarify which items are invalid. - -2011-06-11 Chong Yidong <cyd@stupidchicken.com> - - * image.el (image-animated-p): Return animation delay in seconds. - Avoid bit manipulation in Lisp; use `delay' entry in the metadata. - (image-animate-timeout): Remove DELAY argument. Don't assume - every subimage has the same delay; get it from image-animated-p. - (image-animate): Caller changed. - -2011-06-11 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-debug-message): Add `tramp-with-progress-reporter' - to ignored backtrace functions. - -2011-06-11 Glenn Morris <rgm@gnu.org> - - * calendar/appt.el (appt-disp-window-function): Doc fix. - (appt-check): Handle overlapping appointments. (Bug#8337) - -2011-06-11 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-tree-1, window-tree): New functions, moving - the latter to window.el. - (bw-get-tree, bw-get-tree-1, bw-find-tree-sub) - (bw-find-tree-sub-1, bw-l, bw-t, bw-r, bw-b, bw-dir, bw-eqdir) - (bw-refresh-edges): Remove. - (balance-windows-1, balance-windows-2): New functions. - (balance-windows): Rewrite in terms of window tree functions, - balance-windows-1 and balance-windows-2. - (bw-adjust-window): Remove. - (balance-windows-area-adjust): New function with functionality of - bw-adjust-window but using resize-window. - (set-window-text-height): Rewrite doc-string. - Use normalize-live-window and resize-window. - (enlarge-window-horizontally, shrink-window-horizontally): - Rename argument to DELTA. - (window-buffer-height): New function. - (fit-window-to-buffer, shrink-window-if-larger-than-buffer): - Rewrite using new window resize routines. - (kill-buffer-and-window, mouse-autoselect-window-select): - Use ignore-errors instead of condition-case. - (quit-window): Call delete-frame instead of delete-windows-on - for the only buffer on frame. - -2011-06-10 Martin Rudalics <rudalics@gmx.at> - - * loadup.el (top-level): Load window before files for the sake - of replace-buffer-in-windows. - - * files.el (read-buffer-to-switch) - (switch-to-buffer-other-window) - (switch-to-buffer-other-frame, display-buffer-other-frame): - Move to window.el. - - * simple.el (get-next-valid-buffer, last-buffer, next-buffer) - (previous-buffer): Move to window.el. - - * bindings.el (unbury-buffer): Move to window.el. - - * window.el (delete-other-windows-vertically): Move after - definition of delete-other-windows. - (other-window, delete-windows-on, replace-buffer-in-windows): - Move here from window.c. - (record-window-buffer, unrecord-window-buffer) - (set-window-buffer-start-and-point, switch-to-prev-buffer) - (switch-to-next-buffer): New functions. - (get-next-valid-buffer, last-buffer, next-buffer): Move here - from simple.el. Call switch-to-next-buffer. - (previous-buffer): Move here from simple.el. - Call switch-to-prev-buffer. - (bury-buffer): Move here from buffer.c. Switch to previous - buffer when window cannot be deleted. - (unbury-buffer): Move here from bindings.el. - (ctl-x-map): Move binding for other-window from window.c to - here. - (read-buffer-to-switch, switch-to-buffer-other-window) - (switch-to-buffer-other-frame): Move here from files.el. - (normalize-buffer-to-switch-to): New functions. - (switch-to-buffer): Move here from buffer.c. - Use read-buffer-to-switch and normalize-buffer-to-switch-to. - -2011-06-10 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-min-height, window-min-width): Move here - from window.c. Add defcustoms and rewrite doc-strings. - (resize-mini-window, resize-window): New functions. - (adjust-window-trailing-edge, enlarge-window, shrink-window): - Move here from window.c. - (maximize-window, minimize-window): New functions. - (delete-window, delete-other-windows, split-window): Move here - from window.c. - (window-split-min-size): New function. - (split-window-keep-point): Mention split-window-above-each-other - instead of split-window-vertically. - (split-window-above-each-other, split-window-vertically): - Rename split-window-vertically to split-window-above-each-other - and provide defalias for old definition. - (split-window-side-by-side, split-window-horizontally): - Rename split-window-horizontally to split-window-side-by-side - and provide defalias for the old definition. - (ctl-x-map): Move bindings for delete-window, - delete-other-windows and enlarge-window here from window.c. - Replace bindings for split-window-vertically and - split-window-horizontally by bindings for - split-window-above-each-other and split-window-side-by-side. - - * cus-start.el (all): Remove entries for window-min-height and - window-min-width. Add entries for window-splits and - window-nest. - -2011-06-09 Glenn Morris <rgm@gnu.org> - - * calendar/appt.el (appt-mode-line): New function. - (appt-check, appt-disp-window): Use it. - - * files.el (hack-one-local-variable-eval-safep): - Allow minor-modes with explicit +/-1 arguments. - -2011-06-09 Teodor Zlatanov <tzz@lifelogs.com> - - * term/xterm.el (xterm): Add defgroup. - (xterm-extra-capabilities): Add defcustom to supply known xterm - capabilities, skip querying them, or query them (default). - (terminal-init-xterm): Use it. - (terminal-init-xterm-modify-other-keys): New function to set up - modifyOtherKeys support to simplify `terminal-init-xterm'. - -2011-06-09 Martin Rudalics <rudalics@gmx.at> - - * window.el (resize-window-reset, resize-window-reset-1) - (resize-subwindows-skip-p, resize-subwindows-normal) - (resize-subwindows, resize-other-windows, resize-this-window) - (resize-root-window, resize-root-window-vertically) - (window-deletable-p, window-or-subwindow-p) - (frame-root-window-p): New functions. - -2011-06-09 Glenn Morris <rgm@gnu.org> - - * net/ange-ftp.el (ange-ftp-switches-ok): New function. - (ange-ftp-get-files): Use it. - -2011-06-09 Alexander Klimov <alserkli@inbox.ru> (tiny change) - - * mail/sendmail.el (mail-recover-1, mail-recover): - * files.el (recover-file, recover-session): - Handle dired-listing-switches not being just a single short option. - -2011-06-09 Glenn Morris <rgm@gnu.org> - - * calendar/appt.el (appt-display-message, appt-disp-window): - Handle lists of appointments. - -2011-06-08 Martin Rudalics <rudalics@gmx.at> - - * window.el (one-window-p): Move down in code. - Rewrite doc-string. - (window-current-scroll-bars): Rewrite doc-string. - Normalize live window argument. - (walk-windows, get-window-with-predicate, count-windows): - Rewrite doc-string. Use window-list-1. - (window-in-direction-2, window-in-direction, get-mru-window): - New functions. - -2011-06-08 Reuben Thomas <rrt@sc3d.org> - - * progmodes/flymake.el (flymake-compilation-prevents-syntax-check): - Doc fix (Bug#8713). - -2011-06-08 Chong Yidong <cyd@stupidchicken.com> - - * repeat.el (repeat-on-final-keystroke): Fix type (Bug#8696). - -2011-06-08 Juanma Barranquero <lekktu@gmail.com> - - * loadhist.el (unload-feature-special-hooks): - Add `comint-output-filter-functions'. - -2011-06-08 Ivan Kanis <gnu@kanis.fr> - - * calendar/appt.el (appt-check): Move some initializations into the let. - -2011-06-08 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-height): Defalias to window-total-height. - (window-width): Defalias to window-body-width. - -2011-06-07 Chong Yidong <cyd@stupidchicken.com> - - * image-mode.el (image-toggle-animation): New command. - (image-mode-map): Bind it to RET. - (image-mode): Update message. - (image-toggle-display-image): Avoid a spurious cache flush. - (image-transform-rotation): Doc fix. - (image-transform-properties): Return quickly in the normal case. - (image-animate-loop): Rename from image-animate-max-time. - - * image.el (image-animate-max-time): Move to image-mode.el. - (create-animated-image): Remove unnecessary function. - (image-animate): Rename from image-animate-start. New arg. - (image-animate-stop): Remove; just use image-animate-timer. - (image-animate-timer): Use car-safe. - (image-animate-timeout): Rename argument. - -2011-06-07 Martin Rudalics <rudalics@gmx.at> - - * window.el (get-lru-window, get-largest-window): Move here from - window.c. Rename first argument to ALL-FRAMES. - Rephrase doc-strings. - (get-buffer-window-list): Rewrite using window-list-1. - Rephrase doc-string. - (window-safe-min-height, window-safe-min-width): New constants. - (window-size-ignore, window-min-size, window-min-size-1) - (window-sizable, window-sizable-p, window-size-fixed-1) - (window-size-fixed-p, window-min-delta-1, window-min-delta) - (window-max-delta-1, window-max-delta, window-resizable) - (window-resizable-p, window-total-height, window-total-width) - (window-body-width): New functions. - (window-full-height-p, window-full-width-p): Rewrite using - window-total-size. - (window-body-height): Rewrite using window-body-size. - -2011-06-06 Martin Rudalics <rudalics@gmx.at> - - * window.el (window-right, window-left, window-child) - (window-child-count, window-last-child, window-any-p) - (normalize-live-buffer, normalize-live-frame) - (normalize-any-window, normalize-live-window) - (window-iso-combination-p, window-iso-combined-p) - (window-iso-combinations) - (walk-window-tree-1, walk-window-tree, walk-window-subtree) - (windows-with-parameter, window-with-parameter) - (window-atom-root, make-window-atom, window-atom-check-1) - (window-atom-check, window-side-check, window-check): - New functions. - (ignore-window-parameters, window-sides, window-sides-vertical) - (window-sides-slots): New variables. - (window-size-fixed): Move down in code. Minor doc-string fix. - -2011-06-05 Andreas Schwab <schwab@linux-m68k.org> - - * comint.el (comint-dynamic-complete-as-filename) - (comint-dynamic-complete-filename): Correctly call - completion-in-region. - -2011-06-05 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-prompt-for-encryption): Fix bug introduced - in last change. - -2011-06-05 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-prompt-for-encryption): New function. - (rcirc): Use it to prompt for encryption. - -2011-06-05 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el (bibtex-search-buffer): New variable. - (bibtex-search-entries): New command bound to C-c C-a. - (bibtex-display-entries): New function. - -2011-06-05 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el (bibtex-generate-url-list): Fix docstring. - (bibtex-insert-kill): After yanking insert newline if necessary. - (bibtex-initialize): Call bibtex-string-files-init only once. - (bibtex-mode): Do not call easy-menu-add. - (bibtex-validate-globally): Use save-excursion in bibtex buffers. - (bibtex-yank): Set arg properly if nil. - -2011-06-05 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el (bibtex-search-entry-globally): - New variable. - (bibtex-search-entry): Use it. - -2011-06-05 Roland Winkler <winkler@gnu.org> - - * textmodes/bibtex.el (bibtex-entry-format): New option - sort-fields. - (bibtex-format-entry, bibtex-reformat): Honor this option. - (bibtex-parse-entry): Return fields in proper order. - -2011-06-05 Juanma Barranquero <lekktu@gmail.com> - - * doc-view.el (doc-view-remove-if): Move computation of result out - of `dolist' to silence misleading lexical-binding warning. - -2011-06-04 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/timer.el (timer-activate): Remove unused arg. - (timer-activate, timer-activate-when-idle): Doc fix (Bug#8793). - -2011-06-04 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-find-shell): Apply workaround also for - "SunOS 5.10". - -2011-06-04 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-set-completion-function, tramp-parse-rhosts) - (tramp-parse-shosts, tramp-parse-sconfig, tramp-parse-shostkeys) - (tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc) - (tramp-parse-putty): - * net/tramp-sh.el (tramp-completion-function-alist-rsh) - (tramp-completion-function-alist-ssh) - (tramp-completion-function-alist-telnet) - (tramp-completion-function-alist-su) - (tramp-completion-function-alist-putty): Set `tramp-autoload' - cookie. - - * net/tramp-ftp.el: - * net/tramp-sh.el: - * net/tramp-smb.el: Set `tramp-autoload' cookie, and eval after - load "tramp.el" `tramp-set-completion-function'. - -2011-06-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * shell.el: Require and use pcomplete. - (shell-dynamic-complete-functions): Add pcomplete-completions-at-point. - (shell-completion-vars): Set pcomplete-default-completion-function. - -2011-06-04 Deniz Dogan <deniz@dogan.se> - - * iswitchb.el (iswitchb-window-buffer-p): Use `member' instead of - `memq' (Bug#8799). - -2011-06-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (make-progress-reporter): Add "..." by default (bug#8785). - -2011-06-02 Juanma Barranquero <lekktu@gmail.com> - - * bs.el (bs--mark-unmark, bs--nth-wrapper): - * mpc.el (mpc-select-extend, mpc-songpointer-context): - * vc/log-view.el (log-view-beginning-of-defun): - * vc/smerge-mode.el (smerge-apply-resolution-patch) - (smerge-refine-forward, smerge-refine-chopup-region): - Silence warning for unused `dotimes' counter variables. - -2011-06-02 Stefan Monnier <monnier@iro.umontreal.ca> - - * net/tramp.el (tramp-with-progress-reporter): Rename from - with-progress-reporter. Use `declare'. - * net/tramp-smb.el: - * net/tramp-sh.el: - * net/tramp-gvfs.el: Update all uses. - -2011-06-02 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc.el (calc-kill-stack-buffer): Make sure that the trail - buffer isn't killed before making it current. - -2011-06-01 Stefan Monnier <monnier@iro.umontreal.ca> - - Silence various byte-compiler warnings. - * emacs-lisp/byte-run.el (make-obsolete-variable): New argument - `access-type' and new obsolescence format. - * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): Adjust to - new format. - (byte-compile-check-variable): New `access-type' argument. - Only warn if the access-type is obsolete. - (byte-compile-dynamic-variable-bind, byte-compile-variable-ref) - (byte-compile-variable-set): Adjust callers. - * help-fns.el (describe-variable): Adjust to new obsolescence format. - * mail/sendmail.el (mail-mailer-swallows-blank-line): Only mark - setting it as obsolete. - * simple.el (minibuffer-completing-symbol): - * font-lock.el (font-lock-beginning-of-syntax-function): Only mark read - access as obsolete. - * minibuffer.el (minibuffer-completing-file-name): Don't make it - obsolete yet. - * international/quail.el (quail-mouse-choose-completion): Remove unused - code referring to obsolete var. - (quail-choose-completion-string): Remove. - * server.el (server-clients-with, server-kill-buffer-query-function) - (server-kill-emacs-query-function): Silence "unused `proc'" warnings. - * proced.el (proced-send-signal): - * emacs-lisp/lisp.el (lisp-complete-symbol): - Replace completion-annotate-function with completion-extra-properties. - -2011-06-01 Stefan Monnier <monnier@iro.umontreal.ca> - - * simple.el (goto-line): Use read-number. - (overriding-map-is-bound): Remove. - (saved-overriding-map): Change default. - (save&set-overriding-map): Rename from ensure-overriding-map-is-bound; - Take the map as argument. - (universal-argument, negative-argument, digit-argument): Use it. - (restore-overriding-map): Adjust. - (do-auto-fill): Use fill-forward-paragraph. - (keyboard-quit): Don't signal an error when debug-on-quit is non-nil. - - * minibuffer.el (minibuffer-inactive-mode-map): New var. - (minibuffer-inactive-mode): New major mode. - * mouse.el (mouse-drag-region): Remove the "mouse-1 pops up - the *Messages* buffer" hack. - (mouse-popup-menubar): Don't burp if the event is a normal key. - - Miscellaneous tweaks. - * emacs-lisp/cl-macs.el (dolist, dotimes): Use the same strategy for - lexical scoping as in subr.el's dolist and dotimes. - * emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): - Silence compiler warning. - * thingatpt.el (forward-whitespace): Trivial coding style fix. - * subr.el (with-output-to-temp-buffer): Provide an edebug spec. - * international/ccl.el (ccl-compile): Trivial simplification. - * help-fns.el (help-do-arg-highlight): Silence compiler warning. - * emacs-lisp/testcover.el (testcover-end): Remove spurious - `printflag' argument. - * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable): - Purecopy the whole obsolescence data. - -2011-06-01 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc-decode-coding-system): Revert last change; - improve doc-string as suggested by Marco Pessotto - <melmothx@gmail.com>. - (rcirc-print): Fix last change. - -2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (complete-with-action): Return nil for the metadata and - boundaries of non-functional tables. - (completion-table-dynamic): Return nil for the metadata. - (completion-table-with-terminator): Add default case, using - complete-with-action. - (completion--metadata): New function. - (completion-all-sorted-completions, minibuffer-completion-help): Use it - to try and avoid pathological performance problems. - (completion--embedded-envvar-table): Return `category' metadata. - -2011-05-31 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * subr.el (process-alive-p): New tiny convenience function. - -2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/debug.el (debug): Save&restore not just the buffer's - content but also its previous major mode. - -2011-05-31 Helmut Eller <eller.helmut@gmail.com> - - * emacs-lisp/debug.el (debug): Restore the previous content of the - *Backtrace* buffer when we exit with C-M-c. - -2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el: Add metadata method to completion tables. - (completion-category-overrides): New defcustom. - (completion-metadata, completion--field-metadata) - (completion-metadata-get, completion--styles) - (completion--cycle-threshold): New functions. - (completion-try-completion, completion-all-completions): - Add `metadata' argument to choose completion-styles. - (completion--do-completion): Use metadata to choose cycling. - (completion-all-sorted-completions): Use metadata for sorting. - Remove :completion-cycle-penalty which is not needed any more. - (completion--try-word-completion): Add `metadata' argument. - (minibuffer-completion-help): Check metadata for annotation function - and sorting. - (completion-file-name-table): Return `category' metadata. - (minibuffer-completing-file-name): Make obsolete. - * simple.el (minibuffer-completing-symbol): Make obsolete. - * icomplete.el (icomplete-completions): Pass new `metadata' param to - completion-try-completion. - -2011-05-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * mail/smtpmail.el (smtpmail-send-data): Add progress reporter. - -2011-05-30 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc-debug-buffer): Use visible buffer name. - (rcirc-print): Decode all incoming messages (bug#8744). - (rcirc-decode-coding-system): Allow value nil for automatic coding - system detection. - -2011-06-01 Glenn Morris <rgm@gnu.org> - - * mail/emacsbug.el (report-emacs-bug-hook): Mailclient ignores From. - -2011-05-29 Chong Yidong <cyd@stupidchicken.com> - - * image.el (image-animate-max-time): Allow nil and t values. - Default to nil. - (create-animated-image): Doc fix. - (image-animate-start): Remove second arg; just use - image-animate-max-time. - (image-animate-timeout): Doc fix. Args changed. - - * image-mode.el (image-toggle-display-image): Ensure that the - image spec passed to the animate timer is the same object as in - the buffer's display property (Bug#6981). - (image-transform-properties): Doc fix. - - * image.el (image-animate-max-time): Default to nil. - -2011-05-29 Martin Rudalics <rudalics@gmx.at> - - * menu-bar.el (kill-this-buffer-enabled-p): Avoid looping over - entire buffer list (Bug#8184). - -2011-05-29 Chong Yidong <cyd@stupidchicken.com> - - * image.el (imagemagick-types-inhibit) - (imagemagick-register-types): Doc fix. - -2011-05-29 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc): Use the user's stored encryption method by - default. - -2011-05-29 Chong Yidong <cyd@stupidchicken.com> - - * select.el: Don't perform clipboard-manager saving in hooks; - leave the hooks empty. - -2011-05-28 Leo Liu <sdl.web@gmail.com> - - * replace.el (occur-menu-map, occur-edit-mode-map): New vars. - (occur-mode-map): Bind occur-edit-mode. Use occur-menu-map. - (occur-edit-mode): New major mode (Bug#8463). - (occur-after-change-function): New function. - (occur-engine): Give Occur tags a read-only property. - -2011-05-28 Kevin Ryde <user42@zip.com.au> - - * subr.el (def-edebug-spec): Doc fix (Bug#8430). - -2011-05-28 Chong Yidong <cyd@stupidchicken.com> - - * bindings.el (help-echo): Make the initial non-indicator dash - empty on graphical terminals (Bug#7295). - - * files.el (auto-mode-alist): Move config rule after the - in-stripping one (Bug#8547). - - * newcomment.el (comment-end-skip): Doc fix (Bug#8659). - - * startup.el (normal-splash-screen): Remove gratuitous mode-line - setting (Bug#8740). - -2011-05-28 Alp Aker <aker@pitt.edu> (tiny change) - - * buff-menu.el (Buffer-menu-revert-function, Buffer-menu-sort) - (Buffer-menu-buffer+size): Use Buffer-menu-buffer-column - (Bug#8539). - -2011-05-28 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/re-builder.el (re-builder): Improve doc (Bug#8286). - -2011-05-28 Dima Kogan <dkogan@cds.caltech.edu> (tiny change) - - * progmodes/hideshow.el (hs-looking-at-block-start-p): New fun. - (hs-hide-block-at-point, hs-find-block-beginning) - (hs-already-hidden-p, hs-hide-block, hs-show-block): Use it - (Bug#8279). - -2011-05-28 Glenn Morris <rgm@gnu.org> - - * startup.el (fancy-about-screen): Use standard mode line. (Bug#8740) - -2011-05-28 Chong Yidong <cyd@stupidchicken.com> - - * help-fns.el (describe-function-1): If the function is a derived - major mode, print the parent mode. - - * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode, java-mode) - (idl-mode, pike-mode, awk-mode): Inherit from prog-mode. - -2011-05-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion--capf-wrapper): Check applicability before - returning non-nil for non-exclusive completion data. - * progmodes/etags.el (tags-completion-at-point-function): - * info-look.el (info-lookup-completions-at-point): Mark as - non-exclusive. - (info-complete): Adjust accordingly. - - * info-look.el: Convert to lexical-binding and completion-at-point. - (info-lookup-completions-at-point): New function. - (info-complete): Use it and completion-in-region. - -2011-05-28 Drew Adams <drew.adams@oracle.com> - - * isearch.el: Let M-e start with point at the first mismatched char. - (isearch-fail-pos): New function. - (isearch-edit-string): Use it. - -2011-05-28 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> (tiny change) - - * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721). - -2011-05-27 Toby Cubitt <toby-predictive@dr-qubit.org> - - * emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new - traversal functions for avl-trees. - (avl-tree--stack): New struct. - (avl-tree-stack-p, avl-tree--stack-repopulate): New funs. - (avl-tree-enter): Add optional `updatefun' arg. - (avl-tree--do-enter): Add optional `updatefun' arg. - Change return value. - (avl-tree-delete): Add optional `test' and `nilflag' args. - (avl-tree--do-delete): Add `test' and `nilflag' args. - Change return value. - (avl-tree-member): Add optional `nilflag' - (avl-tree-member-p): New function. - (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar): New functions. - (avl-tree-stack, avl-tree-stack-pop, avl-tree-stack-first) - (avl-tree-stack-empty-p): New functions. - - * emacs-lisp/avl-tree.el (avl-tree--del-balance): Rename from - avl-tree--del-balance1 and make it work both ways. - (avl-tree--del-balance2): Remove. - (avl-tree--enter-balance): Rename from avl-tree--enter-balance1 and - make it work both ways. - (avl-tree--enter-balance2): Remove. - (avl-tree--switch-dir, avl-tree--dir-to-sign, avl-tree--sign-to-dir): - New macros. - (avl-tree--mapc, avl-tree-map): Add direction argument. - -2011-05-27 David Michael <fedora.dm0@gmail.com> (tiny change) - - * files.el (interpreter-mode-alist): Add rbash (bug#8745). - -2011-05-27 Chong Yidong <cyd@stupidchicken.com> - - * select.el: Support clipboard managers with built-in function - x-clipboard-manager-save, via delete-frame-functions and - kill-emacs-hook. - (xselect-convert-to-targets): Add MULTIPLE target to list. - (xselect-convert-to-save-targets): New function. - -2011-05-27 Kenichi Handa <handa@m17n.org> - - * mail/sendmail.el (mail-encode-header): Avoid double encoding by - let-binding rfc2047-encode-encoded-words to nil. - -2011-05-27 Glenn Morris <rgm@gnu.org> - - * mail/emacsbug.el: Don't require url-util. - - * shell.el (shell-directory-tracker): Case matters. (Bug#8735) - - * files.el (set-auto-mode): - Also respect mode: entries at the end of the file. (Bug#8586) - -2011-05-26 Glenn Morris <rgm@gnu.org> - - * files.el (hack-local-variables-prop-line, hack-local-variables): - Downcase mode names, as seems to be traditional. - (hack-local-variables, hack-local-variables-apply): Doc fixes. - - * mail/emacsbug.el (report-emacs-bug): Mention checking From address. - (report-emacs-bug-hook): Try to validate the From address. (Bug#8038) - -2011-05-25 Julien Danjou <julien@danjou.info> - - * textmodes/rst.el (rst-define-level-faces): Do not define face - symbol if it is already defined. - -2011-05-24 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * play/5x5.el (5x5-new-game, 5x5-randomize): - Reset 5x5-solver-output to nil when a new grid is cast. - (5x5-log-init, 5x5-log): Use defsubst instead of defmacro to shunt - these debugging traces, as defmacro breaks the compiled code. - -2011-05-24 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> (tiny change) - - * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721). - -2011-05-24 Leo Liu <sdl.web@gmail.com> - - * vc/vc-bzr.el (vc-bzr-sha1-program): Rename from sha1-program. - (vc-bzr-sha1): Adapt. - - * sha1.el: Remove. Function `sha1' is now builtin. - - * bindings.el: Provide sha1 feature. - -2011-05-24 Kenichi Handa <handa@m17n.org> - - * mail/sendmail.el: Require `rfc2047'. - (mail-insert-from-field): Do not perform RFC2047 encoding. - (mail-encode-header): New function. - (sendmail-send-it): Set buffer-file-coding-system of the work - buffer to the return value of select-message-coding-system. - Call mail-encode-header. - - * mail/smtpmail.el (smtpmail-send-it): Call mail-encode-header. - -2011-05-24 Sean Neakums <sneakums@zork.net> (tiny change) - - * mail/supercite.el (sc-default-cite-frame): - Handle sc-nested-citation-p when sc-cite-blank-lines-p is non-nil. - -2011-05-24 Glenn Morris <rgm@gnu.org> - - * progmodes/python.el (brm-menu): Declare. - - * emulation/viper.el (viper-set-hooks): Declare. - - * play/5x5.el (5x5-log-init, 5x5-log): Evaluate when compiling. - (5x5-log-init, 5x5-log, 5x5-solver): Doc fixes. - (math-map-vec, math-sub, math-mul, math-make-intv, math-reduce-vec) - (math-format-number, math-pow, calcFunc-arrange, calcFunc-cvec) - (calcFunc-diag, calcFunc-trn, calcFunc-inv, calcFunc-mrow) - (calcFunc-mcol, calcFunc-vconcat, calcFunc-index): Declare. - -2011-05-24 Stefan Monnier <monnier@iro.umontreal.ca> - - Add an :exit-function for completion-at-point. - - * minibuffer.el (completion--done): New fun. - (completion--do-completion): Use it. New arg `expect-exact'. - (minibuffer-complete, minibuffer-complete-word): Don't output message, - since completion--do-completion does it for us now. - (minibuffer-force-complete): Use completion--done and - completion--replace. Handle sole-completion case with more care. - (minibuffer-complete-and-exit): Use new `expect-exact' arg. - (completion-extra-properties): New var. - (completion-annotate-function): Make obsolete. - (minibuffer-completion-help): Adjust accordingly. - Use completion-list-insert-choice-function. - (completion-at-point, completion-help-at-point): - Bind completion-extra-properties. - (completion-pcm-word-delimiters): Add | (for uniquify, for example). - * simple.el (completion-list-insert-choice-function): New var. - (completion-setup-function): Preserve it. - (choose-completion): Pay attention to it, shuffle the code a bit. - (choose-completion-string): New arg `insert-function'. - - * textmodes/bibtex.el: Convert to lexical binding. - (bibtex-mode-map): Use completion-at-point. - (bibtex-mode): Use define-derived-mode&completion-at-point-functions. - (bibtex-completion-at-point-function): New fun, from bibtex-complete. - (bibtex-complete): Define as obsolete alias. - (bibtex-complete-internal): Remove. - (bibtex-format-entry): Remove unused sub-group in regexp. - * shell.el (shell--command-completion-data) - (shell-environment-variable-completion): - * pcomplete.el (pcomplete-completions-at-point): - * comint.el (comint--complete-file-name-data): Use :exit-function - instead of completion-table-with-terminator so it also works for - choose-completion. - -2011-05-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * <lots-of-files>.el: Don't quote lambda expressions with `quote'. - - * vc/smerge-mode.el (smerge-refine-subst): Don't deactivate the mark - (bug#8710). - - * emacs-lisp/lisp.el (up-list): Fix forward movement (bug#8708). - -2011-05-23 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el (allout-inhibit-auto-fill-on-headline): Create new - customization variable and implement: If non-nil, auto-fill will - be inhibited while on topic's header line. - -2011-05-23 Vincent Belaïche <vincentb1@users.sourceforge.net> - - * play/5x5.el: I/ Add an arithmetic solver to suggest positions to - click on. II/ Make 5x5 multisession. III/ Ensure that random grids - always have a solution in grid size = 5 cases. - (5x5-mode-map): Add keybinding to function `5x5-solve-suggest'. - (5x5-solver-output, 5x5-log-buffer): New vars. - (5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking): - Make these variables buffer local to achieve 5x5 multi-session-ness. - (5x5): Set 5x5-grid-size only if SIZE is non-negative. - (5x5-grid-to-vec, 5x5-vec-to-grid, 5x5-log-init, 5x5-log, 5x5-solver) - (5x5-solve-suggest): New funs. - (5x5-randomize): Use 5x5-make-move instead of 5x5-flip-cell to - randomize a grid so that we ensure that there is always a solution. - (5x5-make-random-grid): Allow other movement than flipping. - -2011-05-23 Kevin Ryde <user42@zip.com.au> - - * emacs-lisp/advice.el (ad-read-advised-function): - Use `function-called-at-point' as the default, if it has - advice and passes PREDICATE. - -2011-05-23 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (byte-compile-function-form): Only call - byte-compile-lambda if it's actually a lambda. - - * emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one): - Fix function quoting. Use backquote better. - -2011-05-22 Yuanle Song <sylecn@gmail.com> - - * nxml/rng-xsd.el (rng-xsd-check-pattern): Use case-sensitive - matching (Bug#8516). - -2011-05-22 Jari Aalto <jari.aalto@cante.net> - - * vc/vc-dir.el (vc-default-dir-printer): Give edited tag a - different face (Bug#8178). - -2011-05-22 Chong Yidong <cyd@stupidchicken.com> - - * vc/diff-mode.el (diff-changed): Don't use terminal specs for - defface (Bug#8144). - -2011-05-22 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for - funcall as well (bug#8712). Warn when performing those conversions. - * emacs-lisp/bytecomp.el (byte-compile-form): Fix error report. - - * progmodes/grep.el (grep-mode): Fix it for good (bug#8684)! - -2011-05-22 Glenn Morris <rgm@gnu.org> - - * files.el (hack-local-variables-prop-line): Small simplifications. - (hack-local-variables, hack-local-variables-prop-line): - If MODE-ONLY, return the mode, rather than just `t'. - -2011-05-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/grep.el (grep-mode): Fix last change (bug#8684). - -2011-05-21 Glenn Morris <rgm@gnu.org> - - * files.el (hack-local-variables-prop-line, hack-local-variables): - If only interested in the mode, don't bother doing the other stuff. - - * image-mode.el (image-after-revert-hook): - Redraw all frames on which the image is visible. (Bug#8567) - - * dired-aux.el (dired-touch-initial): Just use current-time. (Bug#6887) - - * wid-edit.el (widget-checklist-match-inline): - Fix 2011-04-19 change. (Bug#8649) - -2011-05-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine): - Also allow singlespace after single-letter capitals followed by a dot. - - * nxml/nxml-mode.el (nxml-electric-slash): Reindent when completion is - enabled. Suggested by James Ahlborn <jahlborn@gmail.com> (bug#8704). - -2011-05-20 Nix <nix@esperi.org.uk> - - * files.el (basic-save-buffer-2): - Fix handling of break-hardlink-on-save with non-existent files. - -2011-05-19 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-mode): Initialize rcirc-urls to nil. - (rcirc-markup-urls): Check if rcirc-url-regexp is nil. - -2011-05-19 Glenn Morris <rgm@gnu.org> - - * progmodes/f90.el (f90-type-def-re): - Handle "type, bind(c)". (Bug#8691) - - * emacs-lisp/autoload.el (batch-update-autoloads): - Set autoload-excludes by parsing loadup.el rather than Makefiles. - -2011-05-18 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-process-actions): Set "first-password-request" - property for the correct connection in case of multihops. - -2011-05-18 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/authors.el (authors-fixed-entries): Remove fakemail.c. - * mail/sendmail.el (sendmail-program): Fall back to just "sendmail". - - Rationalize calendar handling of day and month abbrev-arrays. - * calendar/calendar.el (calendar-customized-p): New function. - (calendar-abbrev-construct, calendar-make-alist): Change what it does. - (calendar-day-name-array, calendar-month-name-array): Doc fix. - Add :set function. - (calendar-abbrev-length, calendar-day-abbrev-array) - (calendar-month-abbrev-array): Make defcustoms, with appropriate :set. - (calendar-day-abbrev-array, calendar-month-abbrev-array): - Elements may no longer be nil. - (calendar-day-name, calendar-month-name): - Update for changed nature of abbrev arrays. - * calendar/diary-lib.el (diary-name-pattern): - Update for changed nature of abbrev arrays. - (diary-mark-entries-1): Update calendar-make-alist calls. - (diary-font-lock-date-forms): Doc fix for changed abbrev arrays. - * calendar/cal-html.el (cal-html-day-abbrev-array): - Simply inherit from calendar-day-abbrev-array. - -2011-05-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/grep.el (grep-mode): Disable default - compilation-directory-matcher setting (bug#8684). - -2011-05-17 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-handle-insert-file-contents): Use "dd" - instead of "head" and "tail". There were problems with SunOS 5.9, - and it performs better. - -2011-05-17 Glenn Morris <rgm@gnu.org> - - * mail/mail-utils.el (mail-dont-reply-to): Silence compiler. - - * progmodes/idlw-shell.el (idlwave-shell-complete-filename): - Replace obsolete function. - - * shell.el (pcomplete-parse-arguments-function): Declare. - - * calendar/appt.el (appt-message-warning-time, appt-display-mode-line) - (appt-display-diary, appt-display-interval, appt-prev-comp-time) - (appt-check): Doc fixes. - (appt-disp-window-function, appt-delete-window-function): - Remove needless special case in custom :type. - (appt-display-count): Default to 0, not nil. - (appt-check): Reset appt-display-count to 0, not nil. - -2011-05-17 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/python.el (python-font-lock-keywords): - Add the Python 3.X keyword "nonlocal" (bug#8639). - -2011-05-16 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/eieio.el (defmethod): Fix quoting of code (bug#8677). - -2011-05-16 Kevin Ryde <user42@zip.com.au> - - * info-look.el (makefile-automake-mode): New setups, looking in - automake manual, then makefile-mode. - (makefile-mode): Remove automake manual, have it just in - makefile-automake-mode since there's various things different or - not relevant to plain make. - (makefile-mode): Remove "other-modes" non-existent automake-mode, - believe a hypothetical automake-mode would go to makefile-mode, - not the other way around. - -2011-05-15 Chong Yidong <cyd@stupidchicken.com> - - * vc/diff-mode.el (diff-fixup-modifs): Locate correct position for - hunk-end tags (Bug#8672). - - * vc/vc-annotate.el (vc-annotate-mode-map): Bind = to - vc-annotate-show-diff-revision-at-line (Bug#8671). - -2011-05-14 Glenn Morris <rgm@gnu.org> - - * vc/add-log.el (add-change-log-entry): Don't start adding a new entry - in the middle of an existing one with multiple authors. (Bug#8645) - (change-log-font-lock-keywords): Also handle multiple author lines - with leading tabs. (Bug#8644) - - * calendar/appt.el (appt-check): Rename some local variables. - Some simplification/reordering. - - * mail/feedmail.el (feedmail-confirm-outgoing-timeout) - (feedmail-sendmail-f-doesnt-sell-me-out) - (feedmail-queue-slug-suspect-regexp, feedmail-debug) - (feedmail-debug-sit-for, feedmail-queue-express-hook) - (feedmail-queue-runner-message-sender): Set :version. - (bbdb-search, bbdb-records, smtp-via-smtp, smtp-server) - (bbdb-dwim-net-address, vm-mail): Declare. - (feedmail-binmail-gnulinuxish-template): - Rename from feedmail-binmail-linuxish-template. - (feedmail-buffer-to-smtp, feedmail-vm-mail-mode): - Use insert-buffer-substring. - -2011-05-14 Bill Carpenter <bill@carpenter.org> - - * mail/feedmail.el (feedmail-patch-level): Increase. - (feedmail-debug): New custom group. - (feedmail-confirm-outgoing-timeout) - (feedmail-sendmail-f-doesnt-sell-me-out) - (feedmail-queue-slug-suspect-regexp, feedmail-debug) - (feedmail-debug-sit-for, feedmail-queue-express-hook): New options. - (feedmail-sender-line, feedmail-from-line) - (feedmail-fiddle-headers-upwardly, feedmail-enable-spray) - (feedmail-spray-this-address) - (feedmail-spray-address-fiddle-plex-list) - (feedmail-queue-use-send-time-for-date) - (feedmail-queue-use-send-time-for-message-id) - (feedmail-last-chance-hook, feedmail-queue-runner-mode-setter) - (feedmail-buffer-eating-function): - Doc fixes. - (feedmail-spray-via-bbdb, feedmail-buffer-to-smtp) - (feedmail-vm-mail-mode, feedmail-message-action-scroll-up) - (feedmail-message-action-scroll-down): New functions. - (feedmail-queue-directory, feedmail-queue-draft-directory): - Use expand-file-name. - (feedmail-prompt-before-queue-standard-alist): Add scroll entries. - Remove C-v help entry. - (feedmail-queue-buffer-file-name): New variable. - (feedmail-mail-send-hook-splitter, feedmail-buffer-to-binmail) - (feedmail-buffer-to-smtpmail, feedmail-queue-express-to-draft) - (feedmail-message-action-send-strong, feedmail-message-action-edit) - (feedmail-message-action-draft, feedmail-message-action-draft-strong) - (feedmail-message-action-queue, feedmail-message-action-queue-strong) - (feedmail-message-action-toggle-spray) - (feedmail-run-the-queue-no-prompts) - (feedmail-run-the-queue-global-prompt, feedmail-queue-reminder) - (feedmail-look-at-queue-directory, feedmail-queue-subject-slug-maker) - (feedmail-create-queue-filename, feedmail-rfc822-time-zone): - (feedmail-fiddle-header, feedmail-give-it-to-buffer-eater) - (feedmail-envelope-deducer, feedmail-fiddle-from) - (feedmail-fiddle-sender, feedmail-default-date-generator) - (feedmail-fiddle-date, feedmail-fiddle-message-id) - (feedmail-fiddle-spray-address) - (feedmail-fiddle-list-of-spray-fiddle-plexes) - (feedmail-fiddle-list-of-fiddle-plexes) - (feedmail-fill-to-cc-function, feedmail-fill-this-one) - (feedmail-one-last-look, feedmail-fqm-p): Add debug calls. - (feedmail-queue-runner-message-sender, feedmail-binmail-template): - Change default. Doc fix. - (feedmail-queue-runner-cleaner-upper): Use feedmail-say-chatter. - (feedmail-binmail-linuxish-template): New constant. - (feedmail-buffer-to-sendmail): Doc fix. Add debug call. - Respect feedmail-sendmail-f-doesnt-sell-me-out. - (feedmail-send-it): Add debug call. - Use feedmail-queue-buffer-file-name, and - feedmail-send-it-immediately-wrapper. - (feedmail-message-action-send): Add debug call. - Use feedmail-send-it-immediately-wrapper. - (feedmail-queue-express-to-queue): Add debug call. - Run feedmail-queue-express-hook. - (feedmail-message-action-help): Add debug call. Use feedmail-p-h-b-n. - (feedmail-message-action-help-blat): - Rename from feedmail-queue-send-edit-prompt-help-first. - (feedmail-run-the-queue): Add debug call. Set buffer-file-type. - Check line-endings. Handle errors better. - (feedmail-queue-reminder-brief, feedmail-queue-reminder-medium): - Doc fix. Add debug call. - (feedmail-queue-send-edit-prompt): Doc fix. Add debug call. - Use feedmail-queue-send-edit-prompt-inner. - (feedmail-queue-runner-prompt, feedmail-scroll-buffer): New functions. - (feedmail-queue-send-edit-prompt-inner): New function, extracted - from feedmail-queue-send-edit-prompt. - (feedmail-queue-send-edit-prompt-help) - (feedmail-queue-send-edit-prompt-help-later): Remove functions. - (feedmail-tidy-up-slug): Add debug call. - Respect feedmail-queue-slug-suspect-regexp. - (feedmail-queue-subject-slug-maker): Use buffer-substring-no-properties. - (feedmail-dump-message-to-queue): Add debug call. - Expand queue-directory. - (feedmail-dump-message-to-queue): Change message slightly. - Use feedmail-say-chatter. - (feedmail-rfc822-date): Add debug call. Bind system-time-locale. - (feedmail-send-it-immediately-wrapper): New function. - (feedmail-send-it-immediately): Add debug calls. Use let not let*. - Insert empty string rather than newline. Handle full-frame case. - Use catch/throw. Use feedmail-say-chatter. - (feedmail-fiddle-from): Try mail-host-address. - (feedmail-default-message-id-generator): Doc fix. - Bind system-time-locale. Handle missing end. - (feedmail-fiddle-x-mailer): Add debug call. - Handle feedmail-x-mailer-line being nil. - (feedmail-accume-n-nuke-header, feedmail-deduce-address-list): - Add debug call. Use buffer-substring-no-properties. - (feedmail-say-debug, feedmail-say-chatter): New functions. - (feedmail-find-eoh): Give an explicit error. - -2011-05-13 Ulf Jasper <ulf.jasper@web.de> - - * net/newst-treeview.el (newsticker-treeview-face): Change default - family from helvetica to sans. - (newsticker-treeview-tool-bar-map): Move tool-bar icons to - etc/images/newsticker. - - * net/newst-reader.el (newsticker-feed-face): Change default - family from helvetica to sans. - - * net/newst-plainview.el (newsticker-new-item-face) - (newsticker-old-item-face, newsticker-immortal-item-face) - (newsticker-obsolete-item-face, newsticker-date-face) - (newsticker-statistics-face): Change default family from - helvetica to sans. - (newsticker--plainview-tool-bar-map): Move tool-bar icons to - etc/images/newsticker. - - * net/newst-backend.el (newsticker--do-run-auto-mark-filter) - (newsticker--process-auto-mark-filter-match): Tell user about - auto-marking. - -2011-05-13 Didier Verna <didier@xemacs.org> - - Common Lisp indentation improvements on defmethod and lambda-lists. - * emacs-lisp/cl-indent.el: Advertise the changes and remove obsolete - TODO entries. - (lisp-lambda-list-keyword-parameter-indentation) - (lisp-lambda-list-keyword-parameter-alignment) - (lisp-lambda-list-keyword-alignment): New customizable user options. - (lisp-indent-defun-method): Improve docstring. - (extended-loop-p): Fix comment. - (lisp-indent-lambda-list-keywords-regexp): New variable. - (lisp-indent-lambda-list): New function. - (lisp-indent-259): Use it. - (lisp-indent-defmethod): Support for more than one - method qualifier and properly indent methods lambda-lists. - (defgeneric): Provide a missing common-lisp-indent-function property. - -2011-05-13 Stefan Monnier <monnier@iro.umontreal.ca> - - * thingatpt.el (bounds-of-thing-at-point): Return nil rather than - bounds for the empty string (bug#8667). - -2011-05-13 Glenn Morris <rgm@gnu.org> - - * mail/feedmail.el (feedmail-buffer-to-sendmail): Require sendmail. - - * mail/sendmail.el (sendmail-program): Try executable-find first. - (sendmail-send-it): `sendmail-program' cannot be unbound. - - * calendar/appt.el (appt-make-list): Simplify. - (appt-time-msg-list): Doc fix. - (appt-check): Change mode-line message at the time of the appointment. - -2011-05-12 Andreas Schwab <schwab@linux-m68k.org> - - * progmodes/ld-script.el (ld-script-keywords) - (ld-script-builtins): Update keywords list. - -2011-05-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/grep.el (grep-filter): Don't trip on partial lines. - - * shell.el (shell-completion-vars): New function. - (shell-mode): - * simple.el (read-shell-command): Use it. - (blink-matching-open): No need for " [...]" in minibuffer-message. - -2011-05-12 Glenn Morris <rgm@gnu.org> - - * calendar/appt.el (appt-now-displayed): Remove pointless variable. - (appt-check): Simplify. - -2011-05-12 Eli Zaretskii <eliz@gnu.org> - - * vc/smerge-mode.el (smerge-resolve): Use null-device rather than a - literal "/dev/null". - -2011-05-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/lisp.el (lisp-complete-symbol, lisp-completion-at-point): - Fix typo. - -2011-05-12 Ralph Schleicher <rs@ralph-schleicher.de> - - * progmodes/which-func.el (which-function): - Use add-log-current-defun instead of add-log-current-defun-function, - which might not be defined (Bug#8260). - -2011-05-12 Glenn Morris <rgm@gnu.org> - - * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble): - Let byte-compile-initial-macro-environment always take precedence. - -2011-05-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * net/rcirc.el: Add support for SSL/TLS connections. - (rcirc-server-alist): New field `encryption'. - (rcirc): Check `encryption' settings. - (rcirc-connect): New arg `encryption'. Use open-network-stream. - Merge make-local-variable into `set'. - (rcirc--connection-open-p): New function. - (rcirc-send-string, rcirc-clean-up-buffer): Use it to handle case where - the process is not a network process (e.g. running gnutls-cli). - (set-rcirc-decode-coding-system, set-rcirc-encode-coding-system): - Make rcirc-(en|de)code-coding-system local here. - (rcirc-mode): Merge make-local-variable into `set'. - (rcirc-parent-buffer): Make permanent buffer-local. - (rcirc-multiline-minor-mode): Don't do it here. - (rcirc-switch-to-server-buffer): Don't switch to a random buffer if - there's no server buffer. - -2011-05-11 Glenn Morris <rgm@gnu.org> - - * newcomment.el (comment-kill): Prefix "unused" local. - - * term/w32console.el (get-screen-color): Declare. - - * emacs-lisp/bytecomp.el (byte-compile-arglist-warn): - Handle symbol elements of byte-compile-initial-macro-environment. - -2011-05-10 Leo Liu <sdl.web@gmail.com> - - * bookmark.el (bookmark-bmenu-mode-map): - Bind bookmark-bmenu-search to `/'. - - * mail/footnote.el: Convert to utf-8 encoding. - (footnote-unicode-string, footnote-unicode-regexp): New variable. - (Footnote-unicode): New function. - (footnote-style-alist): Add unicode style to the list. - (footnote-style): Doc fix. - -2011-05-10 Jim Meyering <meyering@redhat.com> - - Fix doubled-word typos. - * international/quail.el (quail-insert-kbd-layout): and and -> and. - * kermit.el: and and -> and. - * net/ldap.el (ldap-search-internal): to to -> to. - * progmodes/vhdl-mode.el (vhdl-offsets-alist): Likewise. - * progmodes/js.el (js-mode): and and -> and. - * textmodes/artist.el (artist-move-to-xy): at at -> at. - (artist-draw-region-trim-line-endings): if if -> if. - And Safetyc -> Safety. - * textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a. - -2011-05-10 Glenn Morris <rgm@gnu.org> - Stefan Monnier <monnier@iro.umontreal.ca> - - * files.el (hack-one-local-variable-eval-safep): - Consider "eval: (foo-mode)" to be safe. (Bug#8613) - -2011-05-10 Glenn Morris <rgm@gnu.org> - - * calendar/diary-lib.el (diary-list-entries-hook) - (diary-mark-entries-hook, diary-nongregorian-listing-hook) - (diary-nongregorian-marking-hook, diary-list-entries) - (diary-include-other-diary-files, diary-mark-entries) - (diary-mark-included-diary-files): Doc fixes. - -2011-05-09 Juanma Barranquero <lekktu@gmail.com> - - * misc.el: Require tabulated-list.el during compilation. - -2011-05-09 Chong Yidong <cyd@stupidchicken.com> - - * progmodes/compile.el (compilation-start): - Run compilation-filter-hook for the async case too. - (compilation-filter-hook): Doc fix. - -2011-05-09 Deniz Dogan <deniz@dogan.se> - - * wdired.el: Remove outdated installation comment. Fix usage - comment. - -2011-05-09 Juanma Barranquero <lekktu@gmail.com> - - * misc.el: Implement new command `list-dynamic-libraries'. - (list-dynamic-libraries--loaded-only-p): New variable. - (list-dynamic-libraries--refresh): New function. - (list-dynamic-libraries): New command. - -2011-05-09 Chong Yidong <cyd@stupidchicken.com> - - * progmodes/compile.el (compilation-error-regexp-alist-alist): - Fix the ant regexp to handle end-line and end-column info from jikes. - Re-introduce maven regexp. Give the ruby-Test::Unit regexp a - higher priority to avoid clobbering by gnu. - -2011-05-08 Chong Yidong <cyd@stupidchicken.com> - - * cus-face.el (custom-declare-face): Call custom-theme-recalc-face - if the face has existing theme settings (Bug#8454). - -2011-05-08 Ralph Schleicher <rs@ralph-schleicher.de> - - * progmodes/perl-mode.el (perl-imenu-generic-expression): - Only match variables declared via `my' or `our' (Bug#8261). - - * net/browse-url.el (browse-url-of-dired-file): Allow browsing of - special file names `.' and `..' (Bug#8259). - -2011-05-08 Chong Yidong <cyd@stupidchicken.com> - - * progmodes/grep.el (grep-mode-font-lock-keywords): - Remove buffer-changing entries. - (grep-filter): New function. - (grep-mode): Add it to compilation-filter-hook. - - * progmodes/compile.el (compilation-filter-hook) - (compilation-filter-start): New defvars. - (compilation-filter): Call compilation-filter-hook prior to - updating the process mark. - -2011-05-08 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/eieio.el (defmethod): Fix typo in last change. - -2011-05-07 Eli Zaretskii <eliz@gnu.org> - - * mail/sendmail.el (send-mail-function): On MS-Windows, default to - mailclient-send-it even if window-system is nil. (Bug#8595) - - * term/w32console.el (terminal-init-w32console): - Call get-screen-color and use its output to set the frame - background-mode. (Bug#8597) - -2011-05-07 Stefan Monnier <monnier@iro.umontreal.ca> - - Make bytecomp.el understand that defmethod defines funs (bug#8631). - * emacs-lisp/eieio.el (eieio--defalias, eieio--defgeneric-init-form): - New functions. - (defgeneric, eieio--defmethod): Use them. - (eieio-defgeneric): Remove. - (defmethod): Call defgeneric in a way visible to the byte-compiler. - -2011-05-07 Glenn Morris <rgm@gnu.org> - - * calendar/timeclock.el (timeclock-log-data): Remove unused local. - Use let rather than let*. - (timeclock-find-discrep): Remove unused local. - - * calendar/diary-lib.el (diary-comment-start): Doc fix. - - * calendar/appt.el (appt-time-msg-list): Doc fix. - -2011-05-06 Noah Friedman <friedman@splode.com> - - * apropos.el (apropos-print-doc): Only use - emacs-lisp-docstring-fill-column when it is bound to an integer, - per that variable's documentation. - -2011-05-06 Stefan Monnier <monnier@iro.umontreal.ca> - - * lpr.el (print-region-1): Echo lpr-program's output, so error messages - and warnings are not silently discarded (e.g. use -d instead of -P). - -2011-05-06 Glenn Morris <rgm@gnu.org> - - * calendar/appt.el (appt-message-warning-time): Doc fix. - (appt-warning-time-regexp): New option. - (appt-make-list): Respect appt-message-warning-time. - - * calendar/diary-lib.el (diary-comment-start, diary-comment-end): - New options. - (diary-add-to-list): Strip comments from the displayed string. - (diary-mode): Set comment-start and comment-end. - - * vc/diff-mode.el (smerge-refine-subst): Declare. - (diff-refine-hunk): Don't require smerge-mode when compiling. - -2011-05-06 Juanma Barranquero <lekktu@gmail.com> - - * simple.el (list-processes): Return nil as the docstring says. - -2011-05-05 Michael Albinus <michael.albinus@gmx.de> - - * net/ange-ftp.el (ange-ftp-binary-file-name-regexp): Set default - to "". - (ange-ftp-write-region, ange-ftp-insert-file-contents) - (ange-ftp-copy-file-internal): Use only `ange-ftp-binary-file' for - determining of binary transfer. (Bug#7383) - -2011-05-05 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): - Fix port computation bug. (Bug#8618) - -2011-05-05 Glenn Morris <rgm@gnu.org> - - * allout-widgets.el (allout-widgets-mode-inhibit): Declare before use. - - * simple.el (shell-dynamic-complete-functions) - (comint-dynamic-complete-functions): Declare. - - * net/network-stream.el (gnutls-negotiate): - * simple.el (tabulated-list-print): Fix declarations. - - * progmodes/gud.el (syntax-symbol, syntax-point): - Remove unnecessary and incorrect declarations. - - * emacs-lisp/check-declare.el (check-declare-scan): - Handle byte-compile-initial-macro-environment in bytecomp.el. - -2011-05-05 Stefan Monnier <monnier@iro.umontreal.ca> - - Fix earlier half-done eieio-defmethod change (bug#8338). - * emacs-lisp/eieio.el (eieio--defmethod): Rename from eieio-defmethod. - Streamline and change calling convention. - (defmethod): Adjust accordingly and simplify. - (eieio-defclass): Fix broken calls to eieio-defmethod and redirect to - new eieio--defmethod. - (slot-boundp): Minor CSE simplification. - -2011-05-05 Milan Zamazal <pdm@zamazal.org> - - * progmodes/glasses.el (glasses-separate-capital-groups): New option. - (glasses-make-readable): Use glasses-separate-capital-groups. - -2011-05-05 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lisp/warnings.el (warning-level-aliases): Reflow docstring. - (warning-series): Doc fix. - (display-warning): Don't try to create the buffer if we just found it. - -2011-05-04 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/autoload.el (generated-autoload-file): Set to nil. - (autoload-find-generated-file): New function. - (generate-file-autoloads): Bind generated-autoload-file to - buffer-file-name. - (update-file-autoloads, update-directory-autoloads): - Use autoload-find-generated-file. If called interactively, prompt for - output file (Bug#7989). - (batch-update-autoloads): Doc fix. - -2011-05-04 Juanma Barranquero <lekktu@gmail.com> - - * term/w32-win.el (dynamic-library-alist): Add `gnutls'. - -2011-05-04 Glenn Morris <rgm@gnu.org> - - * calendar/diary-lib.el (diary-fancy-date-pattern): Turn it into a - function, so it follows changes in calendar-date-style. - (diary-fancy-date-matcher): New function. - (diary-fancy-font-lock-keywords): Use diary-fancy-date-matcher. - (diary-fancy-font-lock-fontify-region-function): - Use diary-fancy-date-pattern as a function. - - * calendar/diary-lib.el (diary-fancy-date-pattern): Do not use - non-numbers for `year' etc pseudo-variables. (Bug#8583) - -2011-05-04 Teodor Zlatanov <tzz@lifelogs.com> - - * net/gnutls.el (gnutls-negotiate): Use CL-style keyword arguments - instead of positional arguments. Allow :keylist and :crlfiles - arguments. - (open-gnutls-stream): Call it. - - * net/network-stream.el (network-stream-open-starttls): Adjust to - call `gnutls-negotiate' with :process and :hostname arguments. - -2011-05-04 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion--message): New function. - (completion--do-completion, minibuffer-complete) - (minibuffer-force-complete, minibuffer-complete-word): Use it. - (completion--do-completion): Don't ignore completion-auto-help when in - icomplete-mode. - - * whitespace.el (whitespace-trailing-regexp): Don't rely on the - internal encoding (e.g. tibetan zero is not whitespace). - (global-whitespace-mode): Prefer save-current-buffer. - (whitespace-trailing-regexp): Remove useless save-match-data. - (whitespace-empty-at-bob-regexp): Minor simplification. - -2011-05-03 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/autoload.el (generated-autoload-file): Doc fix (Bug#7989). - -2011-05-03 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> - - * textmodes/ispell.el (ispell-add-per-file-word-list): - Use `concat' to create string for insertion. - -2011-05-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * textmodes/bibtex.el (bibtex-fill-field-bounds, bibtex-fill-entry): - Avoid open-line which runs post-self-insert-hook. - (bibtex-fill-entry): Remove unused `end' var. - -2011-05-03 Dirk Ullrich <dirk.ullrich@googlemail.com> (tiny change) - - * textmodes/ispell.el (ispell-add-per-file-word-list): - Protect against `nil' value of `comment-start' (Bug#8579). - -2011-05-03 Leo Liu <sdl.web@gmail.com> - - * isearch.el (isearch-yank-pop): New command. - (isearch-mode-map): Bind it to `M-y'. - (isearch-forward): Mention it. - -2011-05-03 Stefan Monnier <monnier@iro.umontreal.ca> - - * simple.el (minibuffer-complete-shell-command): Remove. - (minibuffer-local-shell-command-map): Use completion-at-point. - (read-shell-command): Setup completion vars here instead. - (read-expression-map): Bind TAB to symbol completion. - - * textmodes/ispell.el (lookup-words): Use with-temp-buffer; signal - error directly rather via storing it into `results'. - -2011-05-02 Leo Liu <sdl.web@gmail.com> - - * vc/diff.el: Fix description. - -2011-05-02 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * server.el (server-eval-at): New function. - -2011-05-01 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/network-stream.el (open-network-stream): Take a :nowait - parameter and pass it on to `make-network-process'. - (network-stream-open-plain): Ditto. - -2011-04-30 Andreas Schwab <schwab@linux-m68k.org> - - * faces.el (face-spec-set-match-display): Don't match toolkit - options on terminal frames. - -2011-04-29 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/pascal.el: Use lexical binding. - (pascal-mode-map): Remove author preferences. - - * pcomplete.el (pcomplete-std-complete): Don't abuse - completion-at-point. - -2011-04-28 Juanma Barranquero <lekktu@gmail.com> - - * calc/calccomp.el (math-comp-to-string-flat-term): Simplify by - removing code that has been dead since 1991 or so. - - * startup.el (command-line): When warning about "_emacs", use a - delayed warning to allow the user to filter it out. - -2011-04-28 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el (rcirc-handler-353): Fix bug for channels which the - user has not joined. - -2011-04-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * pcomplete.el (pcomplete-completions-at-point): Return nil if there - aren't any completions at point. - -2011-04-28 Juanma Barranquero <lekktu@gmail.com> - - * subr.el (display-delayed-warnings): New function. - (delayed-warnings-hook): New variable. - -2011-04-28 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-at-point, completion-help-at-point): - Don't presume that a given completion-at-point-function will always - use the same calling convention. - - * pcomplete.el (pcomplete-completions-at-point): - Obey pcomplete-ignore-case. Don't call pcomplete-norm-func unless - pcomplete-seen is non-nil. - (pcomplete-comint-setup): Also recognize the new comint/shell - completion functions. - (pcomplete-do-complete): Don't call pcomplete-norm-func unless - pcomplete-seen is non-nil. - -2011-04-27 Niels Giesen <niels.giesen@gmail.com> - - * calendar/icalendar.el (diary-lib): Add require statement. - (icalendar--create-uid): Read out a uid from a text-property on - the first character in the entry. This allows for code to add its - own uid to the entry. - (icalendar--convert-float-to-ical): Add export of - `diary-float'-entries save for those with the optional DAY - argument. - -2011-04-27 Daniel Colascione <dan.colascione@gmail.com> - - * subr.el (shell-quote-argument): Use alternate escaping strategy - when we spot a variable reference in a string. - -2011-04-26 Daniel Colascione <dan.colascione@gmail.com> - - * cus-start.el (all): Define customization for debug-on-event. - -2011-04-26 Daniel Colascione <dan.colascione@gmail.com> - - * subr.el (shell-quote-argument): Escape correctly under Windows. - -2011-04-25 Stefan Monnier <monnier@iro.umontreal.ca> - - * emulation/cua-base.el (cua-selection-mode): Make it toggle again. - -2011-04-25 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp.el (tramp-process-actions): Add POS argument. - Delete region between POS and (pos). - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): - Use `nil' position in `tramp-process-actions' call. - (tramp-maybe-open-connection): Call `tramp-process-actions' with pos. - - * net/tramp-smb.el (tramp-smb-maybe-open-connection): Use `nil' - position in `tramp-process-actions' call. - - * net/trampver.el: Update release number. - -2011-04-25 Stefan Monnier <monnier@iro.umontreal.ca> - - * custom.el (defcustom): Obey lexical-binding. - - Fix octave-inf completion problems reported by Alexander Klimov. - * progmodes/octave-inf.el (inferior-octave-mode-syntax-table): - Inherit from octave-mode-syntax-table. - (inferior-octave-mode): Set info-lookup-mode. - (inferior-octave-completion-at-point): New function. - (inferior-octave-complete): Use it and completion-in-region. - (inferior-octave-dynamic-complete-functions): Use it as well, and use - comint-filename-completion. - * progmodes/octave-mod.el (octave-mode-syntax-table): Use _ syntax for - symbol elements which shouldn't be word elements. - (octave-font-lock-keywords, octave-beginning-of-defun) - (octave-function-header-regexp): Adjust regexps accordingly. - (octave-mode-map): Also use info-lookup-symbol for C-c C-h. - -2011-04-25 Juanma Barranquero <lekktu@gmail.com> - - * net/gnutls.el (gnutls-errorp): Declare before first use. - -2011-04-24 Teodor Zlatanov <tzz@lifelogs.com> - - * net/gnutls.el (gnutls-negotiate): Add hostname, verify-flags, - verify-error, and verify-hostname-error parameters. Check whether - default trustfile exists before going to use it. Add missing - argument to gnutls-message-maybe call. Return value. - Reported by Claudio Bley <claudio.bley@gmail.com>. - (open-gnutls-stream): Add usage example. - - * net/network-stream.el (network-stream-open-starttls): Give host - parameter to `gnutls-negotiate'. - (gnutls-negotiate): Adjust `gnutls-negotiate' declaration. - * subr.el (shell-quote-argument): Escape correctly under Windows. - -2011-04-24 Daniel Colascione <dan.colascione@gmail.com> - - * progmodes/cc-engine.el (c-forward-decl-or-cast-1): - Use correct match group (bug#8438). - -2011-04-24 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/package.el (package-built-in-p): Fix typo. - (package-menu--generate): New arg specifying packages to show. - (package-menu-refresh, package-menu-execute, list-packages): - Callers changed. - (package-show-package-list): New function, replacing deleted - package--list-packages (renamed because it is non-internal). - - * finder.el (finder-list-matches): Use package-show-package-list - instead of deleted package--list-packages. - - * vc/vc-annotate.el (vc-annotate-goto-line): New command. - Based on a previous implementation by Juanma Barranquero (Bug#8366). - (vc-annotate-mode-map): Bind it to RET. - -2011-04-24 Uday S Reddy <u.s.reddy@cs.bham.ac.uk> (tiny change) - - * progmodes/etags.el (next-file): Don't use set-buffer to change - buffers (Bug#8478). - -2011-04-24 Chong Yidong <cyd@stupidchicken.com> - - * files.el (auto-mode-alist): Use js-mode for .json (Bug#8529). - - * apropos.el (apropos-label-face): Avoid variable-pitch face. - (apropos-accumulator): Doc fix. - (apropos-function, apropos-macro, apropos-command) - (apropos-variable, apropos-face, apropos-group, apropos-widget) - (apropos-plist): Add face property. - (apropos-symbols-internal): Fix indentation. - (apropos-print): Simplify help, and recognize apropos-multi-type. - (apropos-print-doc): Use button-type-get to extract the button's - face property. Fill docstring (Bug#8352). - -2011-04-23 Juanma Barranquero <lekktu@gmail.com> - - * buff-menu.el (Buffer-menu--buffers): Fix typo in docstring (bug#8535). - - * play/mpuz.el (mpuz-silent): Doc fix. - (mpuz-mode-map): Use mapc. - (mpuz-put-number-on-board): Rename parameter L to COLUMNS. - (mpuz-letter-to-digit, mpuz-check-all-solved, mpuz-create-buffer): - Fix typos in docstrings. - - * play/doctor.el (doc$, doctor-$, doctor-read-print, doctor-read-token) - (doctor-nounp, doctor-pronounp): Fix typos in docstrings. - - * mouse-drag.el (mouse-drag-throw): Fix typo in docstring. - -2011-04-23 Chong Yidong <cyd@stupidchicken.com> - - * minibuffer.el (completion--do-completion): Avoid the "Next char - not unique" prompt if icomplete-mode is enabled (Bug#5849). - - * mouse.el (mouse-drag-mode-line-1): Make sure that if we push - mouse-2 into unread-command-events, it is interpreted correctly. - - * image-mode.el (image-type, image-mode-map, image-minor-mode-map) - (image-toggle-display): Doc fix. - -2011-04-23 Stephen Berman <stephen.berman@gmx.net> - - * textmodes/page.el (what-page): Use line-number-at-pos to - calculate line number (Bug#6825). - -2011-04-22 Juanma Barranquero <lekktu@gmail.com> - - * eshell/esh-mode.el (find-tag-interactive): Declare function. - (eshell-find-tag): Remove `with-no-warnings', unneeded now. - Pass argument NO-DEFAULT to `find-tag-interactive'. - -2011-04-22 Juanma Barranquero <lekktu@gmail.com> - - Lexical-binding cleanup. - - * progmodes/ada-mode.el (ada-after-change-function, ada-loose-case-word) - (ada-no-auto-case, ada-capitalize-word, ada-untab, ada-narrow-to-defun): - * progmodes/ada-prj.el (ada-prj-initialize-values) - (ada-prj-display-page, ada-prj-field-modified, ada-prj-display-help) - (ada-prj-show-value): - * progmodes/ada-xref.el (ada-find-any-references, ada-gdb-application): - * progmodes/antlr-mode.el (antlr-with-displaying-help-buffer) - (antlr-invalidate-context-cache, antlr-options-menu-filter) - (antlr-language-option-extra, antlr-c++-mode-extra, antlr-run-tool): - * progmodes/bug-reference.el (bug-reference-push-button): - * progmodes/fortran.el (fortran-line-length): - * progmodes/glasses.el (glasses-change): - * progmodes/octave-mod.el (octave-fill-paragraph): - * progmodes/python.el (python-mode, python-pdbtrack-track-stack-file) - (python-pdbtrack-grub-for-buffer, python-sentinel): - * progmodes/sql.el (sql-save-connection): - * progmodes/tcl.el (tcl-indent-command, tcl-popup-menu): - * progmodes/xscheme.el (xscheme-enter-debugger-mode): - Mark unused parameters. - - * progmodes/compile.el (compilation--flush-directory-cache) - (compilation--flush-parse, compile-internal): Mark unused parameters. - (compilation-buffer-name): Rename parameter MODE-NAME to NAME-OF-MODE. - (compilation-next-error-function): Remove unused variable `timestamp'. - - * progmodes/cpp.el (cpp-parse-close): Remove unused variable `begin'. - (cpp-signal-read-only, cpp-grow-overlay): Mark unused parameters. - - * progmodes/dcl-mode.el (dcl-end-of-command): - Remove unused variable `start'. - (dcl-calc-command-indent-multiple, dcl-calc-cont-indent-relative) - (dcl-option-value-basic, dcl-option-value-offset) - (dcl-option-value-margin-offset, dcl-option-value-comment-line): - Mark unused parameters. - (dcl-save-local-variable): Remove unused variable `val'. - (mode): Declare. - - * progmodes/delphi.el (delphi-save-state, delphi-after-change): - Mark unused parameters. - (delphi-ignore-changes): Move before first use. - (delphi-charset-token-at): Remove unused variable `start'. - (delphi-else-start): Remove unused variable `if-count'. - (delphi-comment-block-start, delphi-comment-block-end): - Remove unused variable `kind'. - (delphi-indent-line): Remove unused variable `new-point'. - - * progmodes/ebrowse.el (ebrowse-files-list) - (ebrowse-list-of-matching-members, ebrowse-tags-list-members-in-file): - Mark unused parameters. Don't quote `lambda'. - (ebrowse-sort-tree-list, ebrowse-same-tree-member-buffer-list): - Don't quote `lambda'. - (ebrowse-revert-tree-buffer-from-file, ebrowse-tags-choose-class) - (ebrowse-goto-visible-member/all-member-lists): Mark unused parameters. - (ebrowse-create-tree-buffer): Rename parameter OBARRAY to CLASSES. - (ebrowse-toggle-mark-at-point): Remove unused variable `pnt'. - Use `ignore-errors'. - (ebrowse-frozen-tree-buffer-name, ebrowse-find-source-file) - (ebrowse-view/find-file-and-search-pattern) - (ebrowse-view/find-member-declaration/definition): - Rename parameter TAGS-FILE-NAME to TAGS-FILE. - (ebrowse-find-class-declaration, ebrowse-view-class-declaration): - Rename parameter PREFIX-ARG to PREFIX. - (ebrowse-tags-read-name): Remove unused variables `start' and - `member-info'. - (ebrowse-display-member-buffer): Rename variable `tags-file-name' - to `tags-file'. - - * progmodes/etags.el (local-find-tag-hook): Declare. - (tag-partial-file-name-match-p, tag-any-match-p, list-tags): - Mark unused parameters. - - * progmodes/executable.el (compilation-error-regexp-alist): Declare. - (executable-interpret): Mark unused parameter. - - * progmodes/flymake.el (flymake-process-sentinel) - (flymake-after-change-function) - (flymake-create-temp-with-folder-structure) - (flymake-get-include-dirs-dot): Mark unused parameters. - (flymake-safe-delete-directory): Remove unused variable `err'. - - * progmodes/gdb-mi.el (speedbar-change-initial-expansion-list) - (speedbar-timer-fn, speedbar-line-text) - (speedbar-change-expand-button-char, speedbar-delete-subblock) - (speedbar-center-buffer-smartly): Declare functions. - (gdb-find-watch-expression): Remove unused variable `array'. - (gdb-edit-value, gdb-gdb, gdb-ignored-notification, gdb-thread-created) - (gdb-starting): Mark unused parameters. - (gud-gdbmi-marker-filter): Remove unused variable `output-record'. - (gdb-table-string): Remove unused variable `res'. - (gdb-place-breakpoints): Remove unused variables `flag' and `bptno'. - (gdb-disassembly-handler-custom): Remove unused variable `pos'. - (gdb-display-buffer): Remove unused variable `cur-size'. - - * progmodes/gud.el (gud-def): Use `defalias' instead of `defun' to - allow lexical-binding compilation. - (gud-expansion-speedbar-buttons, gud-gdb-goto-stackframe) - (gud-dbx-massage-args, gud-xdb-massage-args, gud-perldb-massage-args) - (gud-jdb-massage-args, gud-jdb-find-source, gud-find-class): - Mark unused parameters. - (gud-gdb-marker-filter): Remove unused variable `match'. - (gud-find-class): Bind `syntax-symbol' and `syntax-point' to suitable - lambda expressions and funcall them, instead of using `fset'. - - * progmodes/hideif.el (hif-parse-if-exp): Rename parameter - HIF-TOKEN-LIST to TOKEN-LIST and let-bind `hif-token-list'. - - * progmodes/hideshow.el (hs-hide-block-at-point): Remove unused - variable `header-beg'; use `let'. - - * progmodes/icon.el (indent-icon-exp): Remove unused variables - `restart', `last-sexp' and `at-do'. - - * progmodes/js.el (js--debug): Mark unused parameter. - (js--parse-state-at-point): Remove unused variable `bound'; use `let'. - (js--splice-into-items): Remove unused variable `item'. - (js--read-symbol, js--read-tab): Pass 1/-1 to `ido-mode', not t/nil. - - * progmodes/make-mode.el (makefile-make-font-lock-keywords): - Rename parameter FONT-LOCK-KEYWORDS to FL-KEYWORDS. - (makefile-complete): Remove unused variable `try'. - (makefile-fill-paragraph, makefile-match-function-end): - Mark unused parameters. - - * progmodes/octave-inf.el (inferior-octave-complete): - Remove unused variable `proc'. - (inferior-octave-output-digest): Mark unused parameter. - - * progmodes/perl-mode.el (perl-calculate-indent): - Remove unused variable `err'. - - * progmodes/prolog.el (prolog-mode-keybindings-inferior) - (prolog-indent-line): Mark unused parameters. - (prolog-indent-line): Remove unused variable `beg'. - - * progmodes/ps-mode.el (reporter-prompt-for-summary-p) - (reporter-dont-compact-list): Declare. - - * progmodes/sh-script.el (sh-font-lock-quoted-subshell): - Remove unused variable `char'. - (sh-debug): Mark unused parameter. - (sh-get-indent-info): Remove unused variable `start'. - (sh-calculate-indent): Remove unused variable `var'. - - * progmodes/simula.el (simula-popup-menu): Mark unused parameter. - (simula-electric-keyword): Remove unused variable `null'. - (simula-search-backward, simula-search-forward): Remove unused - variables `begin' and `end'. - - * progmodes/vera-mode.el (vera-guess-basic-syntax): - Remove unused variable `pos'. - (vera-electric-tab, vera-comment-uncomment-region): - Mark unused parameters. - (vera-electric-tab): Rename parameter PREFIX-ARG to PREFIX. - -2011-04-22 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/package.el (package--builtins, package-alist) - (package-load-descriptor, package-built-in-p, package-activate) - (define-package, package-installed-p) - (package-compute-transaction, package-buffer-info) - (package--push): Doc fix. Distinguish more clearly between - version strings and version lists. - -2011-04-21 Juanma Barranquero <lekktu@gmail.com> - - Lexical-binding cleanup. - - * play/5x5.el (5x5-make-random-solution, 5x5-make-mutate-current) - (5x5-make-mutate-best): - * play/fortune.el (fortune-in-buffer): - * play/gomoku.el (gomoku-init-display): - * play/solitaire.el (solitaire, solitaire-do-check): - * play/tetris.el (tetris-default-update-speed-function): - Mark unused parameters. - - * play/bubbles.el (bubbles-mode): Set `show-trailing-whitespace'. - (bubbles--shift): Remove unused variable `char-org'. - (bubbles--set-faces): Remove unused variable `fg-col'. Simplify. - (bubbles--show-images): Remove unused variable `char'. - - * play/decipher.el (decipher-keypress, decipher-alphabet-keypress) - (decipher-get-undo, decipher-set-map, decipher-complete-alphabet) - (decipher-resync, decipher-loop-with-breaks, decipher--analyze) - (decipher-analyze-buffer): Use ?\s. - (decipher-make-checkpoint): Remove unused variable `mapping'. - - * play/doctor.el (doctor-doc): Rename parameter DOCTOR-SENT to SENT. - - * play/gamegrid.el (gamegrid-add-score-with-update-game-score): - Remove unused variable `result'; use `let'. - - * play/gametree.el (gametree-current-layout, gametree-apply-layout): - Rename parameter TOP-LEVEL to FROM-TOP-LEVEL; use `ignore-errors'. - (gametree-children-shown-p, gametree-compute-reduced-score): - Use `ignore-errors'. - - * play/handwrite.el (ps-lpr-switches): Declare. - (handwrite): Remove unused variables `pmin' and `lastp'. - - * play/hanoi.el (hanoi-move-ring): Remove unused variable `total-steps'. - - * play/landmark.el (landmark-init-display) - (landmark-update-naught-weights): Mark unused parameters. - (landmark-y): Remove unused variable `noise'. Simplify. - (landmark-human-plays): Remove unused variable `score'. - - * play/mpuz.el (mpuz-try-letter): Remove unused variable `message'. - (mpuz-try-proposal): Remove unused variable `game'. - - * play/zone.el (life-patterns): Declare. - -2011-04-20 Juanma Barranquero <lekktu@gmail.com> - - * vc/vc.el (ediff-vc-internal): Declare function. - -2011-04-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * shell.el: Use lexical-binding and std completion UI. - (shell-filter-ctrl-a-ctrl-b): Work as a preoutput filter. - (shell-mode): Put shell-filter-ctrl-a-ctrl-b on - comint-preoutput-filter-functions rather than on - comint-output-filter-functions. - (shell-command-completion, shell--command-completion-data) - (shell-filename-completion, shell-environment-variable-completion) - (shell-c-a-p-replace-by-expanded-directory): New functions. - (shell-dynamic-complete-functions, shell-dynamic-complete-command) - (shell-dynamic-complete-filename, shell-replace-by-expanded-directory) - (shell-dynamic-complete-environment-variable): Use them. - (shell-dynamic-complete-as-environment-variable) - (shell-dynamic-complete-as-command): Remove. - (shell-match-partial-variable): Match past point. - * comint.el: Clean up use of completion-at-point-functions. - (comint-completion-at-point): New function. - (comint-mode): Use it completion-at-point-functions. - (comint-dynamic-complete): Make it obsolete. - (comint-replace-by-expanded-history-before-point): Add dry-run arg. - (comint-c-a-p-replace-by-expanded-history): New function. - (comint-dynamic-complete-functions) - (comint-replace-by-expanded-history): Use it. - * minibuffer.el (completion-table-with-terminator): Allow dynamic - termination strings. Try harder to avoid second try-completion. - (completion-in-region-mode-map): Disable bindings that don't work yet. - - * comint.el: Use lexical-binding. Require CL. - (comint-dynamic-complete-functions): Use comint-filename-completion. - (comint-completion-addsuffix): Tweak custom type. - (comint-filename-completion, comint--common-suffix) - (comint--common-quoted-suffix, comint--table-subvert) - (comint--complete-file-name-data): New functions. - (comint-dynamic-complete-as-filename, comint-dynamic-complete-filename) - (comint-dynamic-list-filename-completions): Use them. - (comint-dynamic-simple-complete): Make obsolete. - - * minibuffer.el (completion-in-region-mode): - Keep completion-in-region-mode--predicate global. - (completion-in-region--postch): - Assume completion-in-region-mode--predicate is not null. - - * progmodes/flymake.el (flymake-start-syntax-check-process): - Obey `dir'. Simplify. - - * vc/vc.el (vc-version-ediff): Call ediff-vc-internal directly, since - we're in VC after all. - -2011-04-20 Christoph Scholtes <cschol2112@googlemail.com> - - * vc/vc.el (vc-diff-build-argument-list-internal) - (vc-version-ediff, vc-ediff): New commands. - (vc-version-diff): Use vc-diff-build-argument-list-internal. - -2011-04-20 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Remove dead code, - add sanity check. - - * obsolete/erc-hecomplete.el: Make obsolete. - * obsolete/: Standardize obsolescence info in the header. - -2011-04-20 Glenn Morris <rgm@gnu.org> - - * calendar/solar.el (solar-horizontal-coordinates): - Use the longitude argument rather than `calendar-longitude'. - (solar-date-next-longitude): Remove unused locals. - -2011-04-20 Vinicius Jose Latorre <viniciusjl@ig.com.br> - - * whitespace.el: New version 13.2.1. - -2011-04-20 felix <EmacsWiki> (tiny change) - - * whitespace.el (global-whitespace-mode): Keep highlight when - switching between major modes on a file. - -2011-04-19 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/octave-mod.el (octave-in-comment-p, octave-in-string-p) - (octave-not-in-string-or-comment-p): Use syntax-ppss so it works with - multi-line comments as well. - -2011-04-19 Juanma Barranquero <lekktu@gmail.com> - - Lexical-binding cleanup. - - * arc-mode.el (archive-mode-revert): - * cmuscheme.el (scheme-interactively-start-process): - * custom.el (custom-initialize-delay): - * dnd.el (dnd-open-local-file, dnd-open-remote-url): - * dos-w32.el (direct-print-region-helper, direct-print-region-function): - * emacs-lock.el (emacs-lock-clear-sentinel): - * ezimage.el (defezimage): - * follow.el (follow-avoid-tail-recenter): - * fringe.el (set-fringe-mode-1): - * generic-x.el (bat-generic-mode-compile): - * help-mode.el (help-info-variable, help-do-xref) - (help-mode-revert-buffer): - * help.el (view-emacs-todo): - * iswitchb.el (iswitchb-completion-help): - * jka-compr.el (jka-compr-make-temp-name, jka-compr-load): - * kmacro.el (kmacro-cycle-ring-next, kmacro-cycle-ring-previous) - (kmacro-delete-ring-head, kmacro-bind-to-key, kmacro-view-macro): - * locate.el (locate-update): - * longlines.el (longlines-encode-region) - (longlines-after-change-function): - * outline.el (outline-isearch-open-invisible): - * ps-def.el (declare-function, charset-dimension, char-width) - (encode-char): - * ps-mule.el (ps-mule-plot-string): - * recentf.el (recentf-make-menu-items, recentf-cancel-dialog) - (recentf-edit-list-select, recentf-edit-list-validate) - (recentf-open-files-action): - * rect.el (delete-whitespace-rectangle-line) - (rectangle-number-line-callback): - * register.el (window-configuration-to-register) - (frame-configuration-to-register): - * scroll-bar.el (scroll-bar-mode, toggle-horizontal-scroll-bar): - * select.el (xselect-convert-to-string, xselect-convert-to-length) - (xselect-convert-to-targets, xselect-convert-to-delete) - (xselect-convert-to-filename, xselect-convert-to-charpos) - (xselect-convert-to-lineno, xselect-convert-to-colno) - (xselect-convert-to-os, xselect-convert-to-host) - (xselect-convert-to-user, xselect-convert-to-class) - (xselect-convert-to-name, xselect-convert-to-integer) - (xselect-convert-to-atom, xselect-convert-to-identity): - * subr.el (declare, ignore, process-kill-without-query) - (text-clone-maintain): - * terminal.el (te-get-char, te-tic-sentinel): - * tool-bar.el (tool-bar-make-keymap): - * tooltip.el (tooltip-timeout, tooltip-hide, tooltip-help-tips): - * type-break.el (type-break-mode, type-break-noninteractive-query): - * view.el (View-back-to-mark): - * wid-browse.el (widget-browse-action, widget-browse-widget) - (widget-browse-widgets, widget-browse-sexp): - * widget.el (define-widget-keywords): - * xt-mouse.el (xterm-mouse-translate, turn-off-xterm-mouse-tracking): - Mark unused parameters. - - * align.el (align-adjust-col-for-rule): Mark unused parameter. - (align-areas): Remove unused variable `look'. - (align-region): Remove unused variables `real-end' and `pos-list'. - - * apropos.el (apropos-score-doc): Remove unused variable `i'. - - * bindings.el (mode-line-modified, mode-line-remote): - Mark unused parameters. - (mode-line-mule-info): Mark unused parameter; don't quote `lambda'. - - * buff-menu.el (Buffer-menu-revert-function): Mark unused parameters. - (Buffer-menu-mode): Mark unused parameter; don't quote `lambda'. - - * comint.el (comint-history-isearch-pop-state) - (comint-postoutput-scroll-to-bottom, comint-truncate-buffer) - (comint-strip-ctrl-m, comint-read-noecho): Mark unused parameters. - (comint-substitute-in-file-name): Doc fix. - - * completion.el (cmpl-statistics-block): Mark unused parameter. - (add-completions-from-tags-table, add-completions-from-lisp-buffer) - (save-completions-to-file, load-completions-from-file): - Remove unused local variable `e'. - - * composite.el (compose-chars): Remove unused variable `len'. - (lgstring-insert-glyph): Remove unused variable `g'. - (compose-glyph-string): Remove unused variables `ascent', - `descent', `lbearing' and `rbearing'. - (compose-glyph-string-relative): Remove unused variables - `lbearing', `rbearing' and `wadjust'. - (compose-gstring-for-graphic): Remove unused variables `header', - `wadjust', `xoff' and `yoff'. Use `let', not `let*'. - (compose-gstring-for-terminal): Remove unused variables `header' - and `nchars'. Use `let', not `let*'. - - * cus-edit.el (Custom-set, Custom-save, custom-reset) - (Custom-reset-current, Custom-reset-saved, Custom-reset-standard) - (Custom-buffer-done, custom-buffer-create-internal) - (custom-browse-visibility-action, custom-browse-group-tag-action) - (custom-browse-variable-tag-action, custom-browse-face-tag-action) - (widget-magic-mouse-down-action, custom-toggle-parent) - (custom-add-parent-links, custom-toggle-hide-variable) - (custom-face-edit-value-visibility-action, custom-face-edit-fix-value) - (custom-toggle-hide-face, face, hook, custom-group-link-action) - (custom-face-menu-create, custom-variable-menu-create, get) - (custom-group-menu-create, Custom-no-edit): Mark unused parameters. - (custom-reset-standard-save-and-update): Remove unused variable `value'. - (customize-apropos): Remove unused variable `tests'. - (custom-group-value-create): Remove unused variable `hidden-p'. - (sort-fold-case): Declare. - - * cus-theme.el (custom-reset-standard-faces-list) - (custom-reset-standard-variables-list): Declare. - (customize-create-theme, custom-theme-revert, custom-theme-write) - (custom-theme-choose-mode, customize-themes, custom-theme-save): - Mark unused parameters. - - * dabbrev.el (dabbrev-completion): Remove unused variable `init'. - - * delim-col.el (delimit-columns-max): Move defvar before first use. - - * descr-text.el (describe-char-categories): Don't quote `lambda'. - (describe-char): Don't quote `lambda'. Mark unused parameter. - - * desktop.el (desktop-save-buffer-p): Mark unused parameter. - (auto-insert): Declare. - (desktop-restore-file-buffer): Rename desktop-* parameters; - mark unused ones. - (desktop-create-buffer): Rename desktop-* parameters and bind them. - (desktop-buffer): Rename desktop-* parameters. - - * dframe.el (x-sensitive-text-pointer-shape, x-pointer-shape): Declare. - (dframe-reposition-frame-xemacs, dframe-help-echo) - (dframe-hack-buffer-menu, dframe-set-timer, dframe-set-timer-internal): - Mark unused parameters. - - * dired-aux.el (backup-extract-version-start, overwrite-query) - (overwrite-backup-query, rename-regexp-query) - (rename-non-directory-query): Declare. - (dired-shell-stuff-it, dired-do-create-files): Mark unused parameters. - (dired-add-entry): Remove unused variable `orig-file-name'. - (dired-copy-file-recursive): Remove unused variable `dirfailed'. - Use parameter PRESERVE-TIME instead of accessing dynamic variable - `dired-copy-preserve-time' directly. - (dired-do-create-files-regexp): Remove unused variable `fn-count'. - (dired-insert-subdir-newpos): Rename unused variable `pos'. - - * dired-x.el (dired-omit-size-limit): Move defcustom before first use. - (dired-virtual-revert, dired-make-relative-symlink): - Mark unused parameters. - (manual-program): Declare. - (dired-x-hands-off-my-keys): Rename parameters of lambda expression. - (inode, s, mode, nlink, uid, gid, size, time, name, sym): Declare them, - wrapped in `with-no-warnings' to avoid replacing one warning by another. - - * dirtrack.el (dirtrack): Remove unused variable `multi-line'. - - * dos-fns.el (dos-8+3-filename): Remove unused variable `i'. - - * echistory.el (electric-history-in-progress, Helper-return-blurb): - Declare. - - * edmacro.el (edmacro-finish-edit): Remove unused variable `kmacro'. - - * electric.el (Electric-command-loop): Rename parameter - INHIBIT-QUIT to INHIBIT-QUITTING and bind `inhibit-quit'. - - * expand.el (expand-in-literal): Remove unused variable `here'. - - * facemenu.el (facemenu-add-new-color): - Remove unused variable `docstring'. - - * faces.el (face-id, make-face-bold, make-face-unbold, make-face-italic) - (make-face-unitalic, make-face-bold-italic): Mark unused parameters. - (face-attr-construct): Mark unused parameter. Doc fix. - (read-color): Remove unused variable `hex-string'. - - * files.el (parse-colon-path): Rename argument CD-PATH to SEARCH-PATH. - (locate-dominating-file): Remove unused vars `prev-file' and `user'. - (remote-file-name-inhibit-cache, revert-buffer): Clean up docstrings. - (display-buffer-other-frame): Remove unused variable `old-window'. - (kill-buffer-hook): Declare. - (insert-file-contents-literally, set-auto-mode, risky-local-variable-p): - Mark unused parameters. - (after-find-file): Pass 1 to `auto-save-mode', not t. - - * files-x.el (auto-insert): Declare. - (modify-file-local-variable-prop-line): Remove unused variable `val'. - - * find-lisp.el (find-lisp-find-dired-internal): Remove unused - variable `buf'. Mark unused parameter. - (find-lisp-insert-directory): Mark unused parameter. - - * format.el (format-decode-run-method): Mark unused parameter; doc fix. - (format-encode-region): Remove unused variables `cur-buf' and `result'. - (format-common-tail): Remove, unused. - (format-deannotate-region): Remove unused variable `loc'. - (format-annotate-region): Remove unused variable `p'. - (format-annotate-single-property-change): Remove unused variables - `default' and `tail'. - - * forms.el (read-file-filter): Declare. - (forms--iif-hook, forms--revert-buffer): Mark unused parameters. - - * frame.el (frame-creation-function-alist): Mark unused parameter. - (frame-geom-spec-cons): Pass FRAME to `frame-geom-value-cons'. - - * hilit-chg.el (hilit-chg-cust-fix-changes-face-list, hilit-chg-clear): - Remove unused parameters. - (hilit-chg-set-face-on-change): Remove unused variable `beg-decr'. - (highlight-compare-with-file): Remove unused variable `buf-b-read-only'. - - * htmlfontify.el (hfy-default-footer, hfy-decor, hfy-invisible) - (hfy-parse-tags-buffer, hfy-prepare-index-i, hfy-prepare-index) - (hfy-prepare-tag-map): Mark unused parameters. - (htmlfontify-buffer): Use `called-interactively-p'. - - * ibuf-ext.el (ibuffer-do-kill-lines, ibuffer-jump-to-buffer) - (ibuffer-copy-filename-as-kill, ibuffer-mark-on-buffer) - (ibuffer-do-occur): Mark unused parameters. - (ibuffer-forward-next-marked): Remove unused variable `curmark'. - (ibuffer-diff-buffer-with-file-1): Remove unused variable `proc'. - - * ibuffer.el: Don't quote `lambda'. - (ibuffer-count-marked-lines, ibuffer-count-deletion-lines) - (ibuffer-unmark-all, ibuffer-toggle-marks, ibuffer-redisplay-engine): - Mark unused parameters. - - * ido.el (ido-mode, ido-wide-find-dir-or-delete-dir) - (ido-completing-read): Mark unused parameters. - (ido-copy-current-word): Mark unused parameters; - remove unused variable `name'. - (ido-sort-merged-list): Remove unused parameter `dirs'. - - * ielm.el (ielm-input-sender): Mark unused parameter. - (ielm-string, ielm-form, ielm-pos, ielm-result, ielm-error-type) - (ielm-output, ielm-wbuf, ielm-pmark): Declare. - (ielm-eval-input): Rename argument IELM-STRING to INPUT-STRING to keep - `ielm-string' as a dynamic variable accessible from the IELM prompt. - Bind `ielm-string' to INPUT-STRING. Remove unused variable `err'. - - * image-dired.el (image-dired-display-thumbs): Remove unused - variables `curr-file' and `count'. - (image-dired-remove-tag): Remove unused variable `start'. - (image-dired-tag-files, image-dired-create-thumbs): Remove unused - variable `curr-file' - (image-dired-rotate-original): Remove unused variable `temp-file'. - (image-dired-mouse-select-thumbnail, image-dired-mouse-toggle-mark): - Remove unused variable `file'. - (image-dired-gallery-generate): Remove unused variable `curr'. - (image-dired-dired-edit-comment-and-tags): Mark unused parameters. - - * indent.el (tab-to-tab-stop): Remove unused variable `opoint'. - - * info-xref.el (info-xref-goto-node-p): Remove unused variable `err'. - - * informat.el (texinfo-command-start, texinfo-command-end): Declare. - - * isearch.el (minibuffer-history-symbol): Declare. - (isearch-edit-string): Remove unused variable `err'. - (isearch-message-prefix, isearch-message-suffix): - Mark unused parameters. - - * ls-lisp.el (ls-lisp-insert-directory): Remove unused variable `fil'. - - * macros.el (insert-kbd-macro): Remove unused variable `mods'. - - * makesum.el (double-column): Remove unused variable `cnt'. - - * misearch.el (multi-isearch-pop-state): Mark unused parameter. - (ido-ignore-item-temp-list): Declare. - - * mouse-drag.el (mouse-drag-throw): Remove unused variables - `mouse-delta', `window-last-row', `mouse-col-delta', `window-last-col', - `adjusted-mouse-col-delta' and `adjusted-mouse-delta'. - (mouse-drag-drag): Remove unused variables `mouse-delta' and - `mouse-col-delta'. - - * mouse-sel.el (mouse-extend-internal): - Remove unused variable `orig-window-frame'. - - * pcomplete.el (pcomplete-args, pcomplete-begins, pcomplete-last) - (pcomplete-index, pcomplete-stub, pcomplete-seen, pcomplete-norm-func): - Move declarations before first use. - (pcomplete-opt): Mark unused parameters; doc fix. - - * proced.el (proced-revert): Mark unused parameter. - (proced-send-signal): Remove unused variable `err'. - - * ps-print.el (ps-print-preprint-region, ps-print-preprint): - Rename parameter PREFIX-ARG to ARG. - (ps-basic-plot-string, ps-basic-plot-whitespace): - Mark unused parameters. - - * replace.el (replace-count): Define. - (occur-revert-function): Mark unused parameters. - (ido-ignore-item-temp-list, isearch-error, isearch-forward) - (isearch-case-fold-search, isearch-string): Declare. - (occur-engine): Rename parameter CASE-FOLD-SEARCH to CASE-FOLD and - bind `case-fold-search'. Remove unused variables `beg' and `end', - and simplify. - (replace-eval-replacement): Rename parameter REPLACE-COUNT to - COUNT and bind `replace-count'. - (replace-loop-through-replacements): Rename parameter REPLACE-COUNT - to COUNT. - - * savehist.el (print-readably, print-string-length): Declare. - - * shadowfile.el (shadow-expand-cluster-in-file-name): - Remove unused variable `cluster'. - (shadow-copy-file): Remove unused variable `i'. - (shadow-noquery, shadow-clusters, shadow-site-cluster) - (shadow-parse-fullname, shadow-parse-name, shadow-define-cluster) - (shadow-define-literal-group, shadow-define-regexp-group) - (shadow-make-group, shadow-shadows-of): Clean up docstrings. - - * shell.el (shell-filter-ctrl-a-ctrl-b): Mark unused parameter. - (shell): Use `called-interactively-p'. - (shell-directory-tracker): Remove unused variable `chdir-failure'. - - * simple.el (compilation-context-lines, comint-file-name-quote-list) - (comint-file-name-chars, comint-delimiter-argument-list): Declare. - (delete-backward-char): Remove unused variable `ocol'. - (minibuffer-avoid-prompt, minibuffer-history-isearch-pop-state) - (line-move-1, event-apply-alt-modifier, event-apply-super-modifier) - (event-apply-hyper-modifier, event-apply-shift-modifier) - (event-apply-control-modifier, event-apply-meta-modifier): - Mark unused parameters. - (undo-make-selective-list): Remove duplicate variable `undo-elt'. - (normal-erase-is-backspace-mode): Remove unused variable `old-state'. - - * speedbar.el (speedbar-ignored-directory-expressions) - (speedbar-supported-extension-expressions, speedbar-directory-buttons) - (speedbar-find-file, speedbar-dir-follow) - (speedbar-directory-buttons-follow, speedbar-tag-find) - (speedbar-buffer-buttons, speedbar-buffer-buttons-temp) - (speedbar-buffers-line-directory, speedbar-buffer-click): - Mark unused parameters. - (speedbar-tag-file): Remove unused variable `mode'. - (speedbar-buffers-tail-notes): Remove unused variable `mod'; simplify. - - * strokes.el (strokes-decode-buffer): Remove unused variable `ext'. - - * talk.el (talk): Remove unused variable `display'. - - * tar-mode.el (tar-subfile-save-buffer): Remove unused variable `name'. - (tar-write-region-annotate): Mark unused parameter. - - * time.el (now, time, load, mail, 24-hours, hour, 12-hours, am-pm) - (minutes, seconds, time-zone, day, year, monthname, month, dayname): - Declare them, wrapped in `with-no-warnings' to avoid replacing one - warning by another. - - * time-stamp.el (time-stamp-string-preprocess): - Remove unused variable `require-padding'. - - * tree-widget.el (widget-glyph-enable): Declare. - (tree-widget-action): Mark unused parameter. - - * w32-fns.el (x-get-selection): Mark unused parameter. - (autoload-make-program, generated-autoload-file): Declare. - - * wdired.el (wdired-revert): Mark unused parameters. - (wdired-xcase-word): Remove unused variable `err'. - - * whitespace.el (whitespace-buffer-changed): Mark unused parameters. - (whitespace-help-scroll): Remove unused variable `data-help'. - - * wid-edit.el (widget-mouse-help, widget-overlay-inactive) - (widget-image-insert, widget-after-change, default) - (widget-default-format-handler, widget-default-notify) - (widget-default-prompt-value, widget-info-link-action) - (widget-url-link-action, widget-function-link-action) - (widget-variable-link-action, widget-file-link-action) - (widget-emacs-library-link-action, widget-emacs-commentary-link-action) - (widget-field-prompt-internal, widget-field-action, widget-field-match) - (widget-choice-mouse-down-action, toggle, widget-radio-button-notify) - (widget-insert-button-action, widget-delete-button-action, visibility) - (widget-documentation-link-action, widget-documentation-string-action) - (widget-const-prompt-value, widget-regexp-match, symbol) - (widget-coding-system-prompt-value) - (widget-key-sequence-value-to-external, sexp) - (widget-sexp-value-to-internal, character, vector, cons) - (widget-choice-prompt-value, widget-boolean-prompt-value) - (widget-color--choose-action): Mark unused parameters. - (widget-item-match-inline, widget-choice-match-inline) - (widget-checklist-match, widget-checklist-match-inline) - (widget-group-match): Rename parameter VALUES to VALS. - (widget-field-value-set): Remove unused variable `size'. - (widget-color-action): Remove unused variables `value' and `start'. - - * windmove.el (windmove-wrap-loc-for-movement): Remove unused - variable `dir'. Doc fix. - (windmove-find-other-window): Don't pass it. - - * window.el (count-windows): Mark unused parameter. - (bw-adjust-window): Remove unused variable `err'. - - * woman.el (woman-file-name): Remove unused variable `default'. - (woman-expand-directory-path): Rename parameters WOMAN-MANPATH and - WOMAN-PATH to PATH-DIRS and PATH-REGEXPS, respectively. - (global-font-lock-mode): Declare. - (woman-decode-region): Mark unused parameter. - (woman-get-tab-stop): Rename parameter TAB-STOP-LIST to TAB-STOPS. - - * x-dnd.el (x-dnd-default-test-function, x-dnd-handle-old-kde) - (x-dnd-handle-xdnd, x-dnd-handle-motif): Mark unused parameters. - (x-dnd-handle-moz-url): Remove unused variable `title'. - (x-dnd-handle-xdnd): Remove unused variables `x', `y' and `ret-action'. - - * xml.el (xml-parse-tag, xml-parse-attlist): - Remove unused variable `pos'. - -2011-04-19 Glenn Morris <rgm@gnu.org> - - * calendar/cal-tex.el (cal-tex-list-holidays, cal-tex-cursor-month) - (cal-tex-cursor-week, cal-tex-cursor-week2, cal-tex-cursor-week-iso) - (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) - (cal-tex-cursor-filofax-daily, cal-tex-mini-calendar) - * calendar/cal-html.el (cal-html-insert-minical): - * calendar/diary-lib.el (diary-list-entries-1, diary-list-entries) - (calendar-mark-date-pattern): - Prefix "unused" locals. - - * calendar/cal-dst.el (dst-adjust-time): Remove never-implemented - optional argument `style'. - - * calendar/appt.el (appt-make-list): - * calendar/cal-china.el (calendar-chinese-date-string): - * calendar/cal-hebrew.el (calendar-hebrew-list-yahrzeits) - (diary-hebrew-yahrzeit): - * calendar/cal-tex.el (cal-tex-last-blank-p, cal-tex-cursor-week2): - * calendar/calendar.el (calendar-generate-window): - * calendar/time-date.el (time-to-days): - Remove unused local variables. - -2011-04-18 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/tabulated-list.el (tabulated-list-mode): Use a custom - glyphless-char-display table. - (tabulated-list-glyphless-char-display): New var. - -2011-04-18 Sam Steingold <sds@gnu.org> - - * vc/add-log.el (change-log-font-lock-keywords): Add "Thanks to" - to acknowledgments. - -2011-04-17 Glenn Morris <rgm@gnu.org> - - * calendar/diary-lib.el (diary-sexp-entry): - * calendar/holidays.el (holiday-sexp): - Set debug-on-error rather than the removed stack-trace-on-error. - -2011-04-16 Glenn Morris <rgm@gnu.org> - - * progmodes/f90.el: Use lexical-binding. - (f90-get-correct-indent): Remove unnecessary local variable `cont'. - -2011-04-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * mail/sendmail.el (mail-mode-map): Use completion-at-point. - (mail-mode): Setup mailalias completion here instead. - * mail/mailalias.el: Use lexical-binding. - (pattern, mailalias-done): Declare dynamic. - (mail-completion-at-point-function): New function, from mail-complete. - (mail-complete): Use it. - (mail-completion-expand): New function. - (mail-get-names): Use it. - (mail-directory, mail-directory-process, mail-directory-stream): - Don't use `pattern' for lexically bound arg. - - * emacs-lisp/lisp-mode.el (eval-defun-2): Use eval-sexp-add-defvars. - - * htmlfontify.el (hfy-etags-cmd): Remove inoperant eval-and-compile. - (hfy-e2x-etags-cmd, hfy-etags-cmd-alist-default) - (hfy-etags-cmd-alist): Don't eval-and-compile any more. - - * emacs-lisp/bytecomp.el (byte-temp-output-buffer-show) - (byte-save-window-excursion, byte-temp-output-buffer-setup) - (byte-interactive-p): Define them again, for use when inlining - old code. - -2011-04-15 Juanma Barranquero <lekktu@gmail.com> - - * loadup.el: Use `string-to-number', not `string-to-int'. - -2011-04-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/gud.el (gud-gdb): Use completion-at-point instead of - gud-gdb-complete-command. - (gud-gdb-completions): New function, from gud-gdb-complete-command. - (gud-gdb-completion-at-point): New function. - (gud-gdb-completions): Remove. - -2011-04-14 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-sh-handle-file-attributes): Handle the case - when the scripts fail. Use `tramp-do-file-attributes-with-ls' then. - (tramp-do-copy-or-rename-file-out-of-band): Do not check any longer - whether `executable-find' is bound. - - * net/tramp-smb.el (tramp-smb-handle-copy-file): Fix docstring. - -2011-04-14 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-in-region-mode-predicate) - (completion-in-region-mode--predicate): New vars. - (completion-in-region, completion-in-region--postch) - (completion-in-region-mode): Use them. - (completion--capf-wrapper): Also return the hook function. - (completion-at-point, completion-help-at-point): - Adjust and provide a predicate. - - Preserve arg names for advice of subr and lexical functions (bug#8457). - * help-fns.el (help-function-arglist): Consolidate the subr and - new-byte-code cases. Add argument `preserve-names' to extract names - from the docstring when needed. - * emacs-lisp/advice.el (ad-define-subr-args, ad-undefine-subr-args) - (ad-subr-args-defined-p, ad-get-subr-args, ad-subr-arglist): Remove. - (ad-arglist): Use help-function-arglist's new arg. - (ad-definition-type): Use cond. - -2011-04-13 Juanma Barranquero <lekktu@gmail.com> - - * autorevert.el (auto-revert-handler): - Bind `remote-file-name-inhibit-cache', not `tramp-cache-inhibit-cache', - which was removed in 2010-10-02T13:21:43Z!michael.albinus@gmx.de. - Don't quote lambda. - - * image-mode.el (image-transform-set-scale): - Fix change in 2011-04-09T20:28:01Z!cyd@stupidchicken.com. - -2011-04-12 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * net/network-stream.el (network-stream-open-starttls): Only do - opportunistic STARTTLS upgrades if we have built-in GnuTLS support. - Upgrades via gnutls-cli are too slow to be done opportunistically. - -2011-04-12 Juanma Barranquero <lekktu@gmail.com> - - * dframe.el (dframe-current-frame): Remove spurious quote. - -2011-04-12 Glenn Morris <rgm@gnu.org> - - * calendar/cal-tex.el (cal-tex-end-document): - Try to automatically use latin1 input if needed. - - * calendar/cal-hebrew.el (diary-hebrew-rosh-hodesh): - Don't try to cons a mark onto an empty element. - -2011-04-11 Leo Liu <sdl.web@gmail.com> - - * ido.el (ido-buffer-internal): Allow method 'kill for virtual - buffers. - (ido-kill-buffer-at-head): Support killing virtual buffers. - -2011-04-10 Chong Yidong <cyd@stupidchicken.com> - - * minibuffer.el (completion-show-inline-help): New var. - (completion--do-completion, minibuffer-complete) - (minibuffer-force-complete, minibuffer-complete-word): - Inhibit minibuffer messages if completion-show-inline-help is nil. - - * icomplete.el (icomplete-mode): Bind completion-show-inline-help - to avoid interference from inline help (Bug#5849). - -2011-04-10 Leo Liu <sdl.web@gmail.com> - - * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): - Fix typo. - -2011-04-09 Chong Yidong <cyd@stupidchicken.com> - - * image-mode.el (image-toggle-display-image): Signal an error if - not in Image mode. - (image-transform-mode, image-transform-resize) - (image-transform-set-rotation): Doc fix. - (image-transform-set-resize): Delete. - (image-transform-set-scale, image-transform-fit-to-height) - (image-transform-fit-to-width): Handle image-toggle-display-image - and image-transform-resize directly. - -2011-04-08 Sho Nakatani <lay.sakura@gmail.com> - - * doc-view.el (doc-view-fit-width-to-window) - (doc-view-fit-height-to-window, doc-view-fit-page-to-window): - New functions for fitting the shown image to the Emacs window size. - (doc-view-mode-map): Add bindings for the new functions. - -2011-04-08 Juanma Barranquero <lekktu@gmail.com> - - * vc/vc-annotate.el (vc-annotate-show-log-revision-at-line): - Fix typo in docstring. - -2011-04-08 Eli Zaretskii <eliz@gnu.org> - - * files.el (file-size-human-readable): Produce one digit after - decimal, like "ls -lh" does. - - * ls-lisp.el (ls-lisp-format-file-size): Allow for 7 characters in - the file size representation. - - * simple.el (list-processes): If async subprocesses are not - available, error out with a clear error message. - -2011-04-08 Chong Yidong <cyd@stupidchicken.com> - - * help.el (help-form-show): New function, to be called from C. - Put help-form output in a buffer named differently than *Help*. - -2011-04-08 Eli Zaretskii <eliz@gnu.org> - - * files.el (file-size-human-readable): New function. - - * ls-lisp.el (ls-lisp-format-file-size): Use it, instead of - computing the representation inline. Don't require `cl'. - -2011-04-08 Glenn Morris <rgm@gnu.org> - - * man.el (Man-page-header-regexp): Solaris < 2.6 no longer supported. - - * net/browse-url.el (browse-url-firefox): - Test system-type, not system-configuration. - - * vc/log-edit.el (log-edit-empty-buffer-p): New function. - (log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate): - Use log-edit-empty-buffer-p. (Bug#7598) - - * net/rlogin.el (rlogin-process-connection-type): Simplify. - (rlogin-mode-map): Initialize in the defvar. - (rlogin): Use ignore-errors. - - * replace.el (occur-mode-map): Some fixes for menu items. - -2011-04-07 Aaron S. Hawley <aaron.s.hawley@gmail.com> - - * play/morse.el (denato-region): Handle varying case. (Bug#8386) - -2011-04-06 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/cconv.el (cconv--analyse-use): Ignore "ignored" when - issuing unused warnings. - - * emacs-lisp/tabulated-list.el (tabulated-list-print): Use lambda - macro directly. - - * simple.el: Lisp reimplement of list-processes. Based on an - earlier reimplementation by Leo Liu, but using tabulated-list.el. - (process-menu-mode): New major mode. - (list-processes--refresh, list-processes): - (process-menu-visit-buffer): New functions. - - * files.el (save-buffers-kill-emacs): Don't assume any return - value of list-processes, which is undocumented anyway. - -2011-04-06 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/tabulated-list.el: New file. - - * emacs-lisp/package.el: Use Tabulated List mode. - (package-menu-mode-map): Inherit from tabulated-list-mode-map. - (package-menu-mode): Derive from tabulated-list-mode. Set up the - table format using Tabulated List mode variables. - (package--push): New macro, replacing package-list-maybe-add. - (package-menu--generate): Use package--push. Renamed from - package--generate-package-list. - (package-menu-refresh, list-packages): Use it. - (package-menu--print-info): Rename from package-print-package. - Return insertion data instead of inserting it directly. - (package-menu-describe-package, package-menu-execute): - Use tabulated-list-get-id. - (package-menu-mark-delete, package-menu-mark-install) - (package-menu-mark-unmark, package-menu-backup-unmark) - (package-menu-mark-obsolete-for-deletion): - Use tabulated-list-put-tag. - (package--list-packages, package-menu-revert) - (package-menu-get-package, package-menu-get-version) - (package-menu-sort-by-column): Functions deleted. - (package-menu-package-list, package-menu-sort-key): Vars deleted. - (package-menu--status-predicate, package-menu--version-predicate) - (package-menu--name-predicate) - (package-menu--description-predicate): Handle arguments in the - Tabulated List format. - (package-list-packages-no-fetch): Call list-packages. - -2011-04-06 Juanma Barranquero <lekktu@gmail.com> - - * files.el (after-find-file-from-revert-buffer): Remove variable. - (after-find-file): Don't bind it. - (revert-buffer-in-progress-p): New variable. - (revert-buffer): Bind it. - Pass nil for `after-find-file-from-revert-buffer'. - - * saveplace.el (save-place-find-file-hook): Use new variable - `rever-buffer-in-progress-p', not `after-find-file-from-revert-buffer'. - -2011-04-06 Glenn Morris <rgm@gnu.org> - - * Makefile.in (AUTOGEN_VCS): New variable. - (autoloads): Use $AUTOGEN_VCS. - - * calendar/cal-move.el (calendar-scroll-toolkit-scroll): New function. - * calendar/calendar.el (calendar-mode-map): - Check for toolkit scroll bars. (Bug#8305) - -2011-04-05 Chong Yidong <cyd@stupidchicken.com> - - * minibuffer.el (completion-in-region--postch) - (completion-in-region-mode): Remove unnecessary messages. - -2011-04-05 Juanma Barranquero <lekktu@gmail.com> - - * font-lock.el (font-lock-refresh-defaults): - Don't bind `hi-lock--inhibit-font-lock-hook', removed in - 2010-10-09T04:09:19Z!cyd@stupidchicken.com and 2010-10-11T23:57:49Z!lekktu@gmail.com (2010-10-12). - - * info.el (Info-directory-list, Info-read-node-name-2) - (Info-split-parameter-string): Doc fixes. - (Info-virtual-nodes): Reflow docstring. - (Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes) - (Info-apropos-toc-nodes, info-finder, Info-get-token) - (Info-find-emacs-command-nodes, Info-speedbar-key-map): - Fix typos in docstrings. - (Info-revert-buffer-function, Info-search, Info-isearch-pop-state) - (Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node) - (Info-speedbar-buttons, Info-desktop-buffer-misc-data) - (Info-restore-desktop-buffer): Mark unused parameters. - (Info-directory-find-file, Info-directory-find-node) - (Info-history-find-file, Info-history-find-node, Info-toc-find-node) - (Info-virtual-index-find-node, Info-apropos-find-file) - (Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node): - Mark unused parameters; fix typos in docstrings. - (Info-virtual-index): Remove unused local variable `nodename'. - -2011-04-05 Deniz Dogan <deniz@dogan.se> - - * net/rcirc.el: Update my e-mail address. - (rcirc-mode-map): Remove M-o binding. - -2011-04-05 Chong Yidong <cyd@stupidchicken.com> - - * startup.el (command-line): Save the cursor's theme-face - directly, instead of using face-override-spec. - - * custom.el (load-theme): Minor optimization in assigning faces. - -2011-04-04 Juanma Barranquero <lekktu@gmail.com> - - * help-fns.el (describe-variable): Complete all variables having - documentation, including keywords. - http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html - -2011-04-04 Juanma Barranquero <lekktu@gmail.com> - - Convert to lexical-binding. - - * bs.el (bs-refresh, bs-sort-buffer-interns-are-last) - (bs--get-marked-string, bs--get-modified-string) - (bs--get-readonly-string, bs--get-size-string, bs--get-name) - (bs--get-mode-name, bs--get-file-name): Mark unused arguments. - (bs--configuration-name-for-prefix-arg): Rename argument PREFIX-ARG. - - * ehelp.el (electric-help-execute-extended) - (electric-help-ctrl-x-prefix): - * hexl.el (hexl-revert-buffer-function): - * linum.el (linum-after-change, linum-after-scroll): - * emacs-lisp/re-builder.el (reb-auto-update): Mark unused arguments. - - * help-fns.el (help-describe-category-set): Remove unused ERR variable. - -2011-04-04 Daiki Ueno <ueno@unixuser.org> - - * epa-dired.el: - * epa-mail.el: - * epa-hook.el: - * epa-file.el: - * epa.el: - * epg.el: Use lexical binding. - -2011-04-03 Chong Yidong <cyd@stupidchicken.com> - - * dired-aux.el (dired-create-files): Add docstring (Bug#7970). - - * textmodes/flyspell.el (flyspell-word): Recognize default - dictionary case for flyspell-mark-duplications-exceptions. - Use regexp matching for languages. - (flyspell-mark-duplications-exceptions): Add "that" and "had" for - default dictionary (Bug#7926). - -2011-04-02 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/package.el (package--with-work-buffer): - Recognize https URLs. - - * net/network-stream.el: Move from gnus/proto-stream.el. - Change prefix to network-stream throughout. - (open-protocol-stream): Merge into open-network-stream, leaving - open-protocol-stream as an alias. Handle nil BUFFER args. - - * subr.el (open-network-stream): Move to net/network-stream.el. - -2011-04-02 Glenn Morris <rgm@gnu.org> - - * find-dired.el (find-exec-terminator): New option. - (find-ls-option): Test for -ls support. - (find-ls-subdir-switches): Test for -b in find-ls-option. - (find-dired, find-grep-dired): Doc fixes. - (find-dired): Use find-exec-terminator. - - * find-dired.el (find-ls-option, find-ls-subdir-switches) - (find-grep-options): Do not autoload these defcustoms, remove purecopy. - (find-name-arg): Remove purecopy. - - * progmodes/grep.el (grep-find-use-xargs): Doc fix. - (grep-compute-defaults): Check for `-exec COMMAND +' support. - Set grep-find-use-xargs, grep-find-command, and grep-find-template - accordingly. Don't add the null-device if not needed. - - * files.el (save-some-buffers): Doc fix. - -2011-04-02 Eli Zaretskii <eliz@gnu.org> - - * makefile.w32-in (EMACS): Default to ../src/$(BLD)/emacs.exe. - -2011-04-01 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/idlwave.el (idlwave-one-key-select, idlwave-list-abbrevs): - Use `dolist' rather than `mapcar'. - -2011-04-01 Stefan Monnier <monnier@iro.umontreal.ca> - - Add lexical binding. - - * subr.el (apply-partially): Use new closures rather than CL. - (--dolist-tail--, --dotimes-limit--): Don't declare dynamic. - (dolist, dotimes): Use slightly different expansion for lexical code. - (functionp): Move to C. - (letrec): New macro. - (with-wrapper-hook): Use it and apply-partially instead of CL. - (eval-after-load): Preserve lexical-binding. - (save-window-excursion, with-output-to-temp-buffer): Turn them - into macros. - - * simple.el (with-wrapper-hook, apply-partially): Move to subr.el. - - * help-fns.el (help-split-fundoc): Return nil if there's nothing else - than the arglist. - (help-add-fundoc-usage): Don't add `Not documented'. - (help-function-arglist): Handle closures, subroutines, and new - byte-code-functions. - (help-make-usage): Remove leading underscores. - (describe-function-1): Handle closures. - (describe-variable): Use special-variable-p for completion. - - * files.el (lexical-binding): Declare safe. - - * emacs-lisp/pcase.el: Don't use destructuring-bind. - (pcase--memoize): Rename from pcase-memoize. Change weakness. - (pcase): Add `let' pattern. - Change memoization so it actually works. - (pcase-mutually-exclusive-predicates): Add byte-code-function-p. - (pcase--u1) <guard, pred>: Fix possible shadowing problem. - <let>: New case. - - * emacs-lisp/macroexp.el: Use lexical binding. - (macroexpand-all-1): Check obsolete macros. Expand compiler-macros. - Don't convert ' to #' without checking that it's indeed quoting - a lambda. - - * emacs-lisp/lisp-mode.el (eval-last-sexp-1): - Use eval-sexp-add-defvars. - (eval-sexp-add-defvars): New fun. - - * emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound. - - * emacs-lisp/eieio.el (byte-compile-file-form-defmethod): - Don't autoload. - (eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather - than the internal `byte-compile-lambda'. - (defmethod): Don't hide code under quotes. - (eieio-defmethod): New `code' argument. - - * emacs-lisp/eieio-comp.el: Remove. - - * emacs-lisp/edebug.el (edebug-eval-defun) - (edebug-eval-top-level-form): Use eval-sexp-add-defvars. - (edebug-toggle): Avoid `eval'. - - * emacs-lisp/disass.el (disassemble-internal): Handle new - `closure' objects. - (disassemble-1): Handle new byte codes. - - * emacs-lisp/cl.el (pushnew): Silence warning. - - * emacs-lisp/cl-macs.el (cl-byte-compile-block) - (cl-byte-compile-throw): Remove. - (cl-block-wrapper, cl-block-throw): Use compiler-macros instead. - - * emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL - closures. - - * emacs-lisp/cconv.el: New file. - - * emacs-lisp/bytecomp.el: Use lexical binding instead of - a "bytecomp-" prefix. Macroexpand everything as a separate phase. - (byte-compile-initial-macro-environment): - Handle declare-function here. - (byte-compile--lexical-environment): New var. - (byte-stack-ref, byte-stack-set, byte-discardN) - (byte-discardN-preserve-tos): New lap codes. - (byte-interactive-p): Don't use any more. - (byte-compile-push-bytecodes, byte-compile-push-bytecode-const2): - New macros. - (byte-compile-lapcode): Use them and handle new lap codes. - (byte-compile-obsolete): Remove. - (byte-compile-arglist-signature): Handle new byte-code arg"lists". - (byte-compile-arglist-warn): Check late def of inlinable funs. - (byte-compile-cl-warn): Don't silence warnings for compiler-macros - since they should have been expanded by now. - (byte-compile--outbuffer): Rename from bytecomp-outbuffer. - (byte-compile-from-buffer): Remove unused second arg. - (byte-compile-preprocess): New function. - (byte-compile-toplevel-file-form): New function to distinguish - file-form calls from outside from file-form calls from hunk-handlers. - (byte-compile-file-form): Simplify. - (byte-compile-file-form-defsubst): Remove. - (byte-compile-file-form-defmumble): Simplify now that - byte-compile-lambda always returns a byte-code-function. - (byte-compile): Preprocess. - (byte-compile-byte-code-maker, byte-compile-byte-code-unmake): - Remove, not used any more. - (byte-compile-arglist-vars, byte-compile-make-lambda-lexenv) - (byte-compile-make-args-desc): New funs. - (byte-compile-lambda): Handle lexical functions. Always return - a byte-code-function. - (byte-compile-reserved-constants): New var, to make up room for - closed-over variables. - (byte-compile-constants-vector): Obey it. - (byte-compile-top-level): New args `lexenv' and `reserved-csts'. - (byte-compile-macroexpand-declare-function): New function. - (byte-compile-form): Call byte-compile-unfold-bcf to inline immediate - byte-code-functions. - (byte-compile-form): Check obsolescence here. - (byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions. - (byte-compile-variable-ref): Remove. - (byte-compile-dynamic-variable-op): New fun. - (byte-compile-dynamic-variable-bind, byte-compile-variable-ref) - (byte-compile-variable-set): New funs. - (byte-compile-discard): Add 2 args. - (byte-compile-stack-ref, byte-compile-stack-set) - (byte-compile-make-closure, byte-compile-get-closed-var): New funs. - (byte-compile-funarg, byte-compile-funarg-2): Remove, handled in - macroexpand-all instead. - (byte-compile-quote-form): Remove. - (byte-compile-push-binding-init, byte-compile-not-lexical-var-p) - (byte-compile-bind, byte-compile-unbind): New funs. - (byte-compile-let): Handle let* and lexical binding. - (byte-compile-let*): Remove. - (byte-compile-catch, byte-compile-unwind-protect) - (byte-compile-track-mouse, byte-compile-condition-case): - Handle a new :fun-body form, used for lexical scoping. - (byte-compile-save-window-excursion) - (byte-compile-with-output-to-temp-buffer): Remove. - (byte-compile-defun): Simplify. - (byte-compile-stack-adjustment): New fun. - (byte-compile-out): Use it. - (byte-compile-refresh-preloaded): Don't reload byte-compiler files. - - * emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile' - handler any more. - - * emacs-lisp/byte-opt.el: Use lexical binding. - (byte-inline-lapcode): Remove (to bytecomp). - (byte-compile-inline-expand): Pay attention to inlining to/from - lexically bound code. - (byte-compile-unfold-lambda): Don't handle byte-code-functions - any more. - (byte-optimize-form-code-walker): Don't handle save-window-excursion - any more and don't call compiler-macros. - (byte-compile-splice-in-already-compiled-code): Remove. - (byte-code): Don't inline any more. - (disassemble-offset): Receive `bytes' as argument rather than via - dynamic scoping. - (byte-compile-tag-number): Declare before first use. - (byte-decompile-bytecode-1): Handle new byte-codes, don't change - `return' even if make-spliceable. - (byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove - obsolete interactive-p. - (byte-optimize-lapcode): Optimize new lap-codes. - Don't trip up on new form of `byte-constant' lap code. - - * emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros. - - * emacs-lisp/advice.el (ad-arglist): Use help-function-arglist. - - * custom.el (custom-initialize-default, custom-declare-variable): - Use `defvar'. - - * Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS): - New variables. - (compile-onefile, .el.elc, compile-calc, recompile): Use them. - (COMPILE_FIRST): Add macroexp and cconv. - * makefile.w32-in: Mirror changes in Makefile.in. - - * vc/cvs-status.el: - * vc/diff-mode.el: - * vc/log-edit.el: - * vc/log-view.el: - * vc/smerge-mode.el: - * textmodes/bibtex-style.el: - * textmodes/css-mode.el: - * startup.el: - * uniquify.el: - * minibuffer.el: - * newcomment.el: - * reveal.el: - * server.el: - * mpc.el: - * emacs-lisp/smie.el: - * doc-view.el: - * dired.el: - * abbrev.el: Use lexical binding. - -2011-04-01 Eli Zaretskii <eliz@gnu.org> - - * info.el (info-display-manual): New function. - -2011-03-31 Stefan Monnier <monnier@iro.umontreal.ca> - - * loadup.el: Load minibuffer after loaddefs, to use define-minor-mode. - -2011-03-31 Tassilo Horn <tassilo@member.fsf.org> - - * net/rcirc.el (rcirc-handler-001): Only authenticate, if there's - an entry for that server in rcirc-authinfo. (Bug#8385) - -2011-03-31 Glenn Morris <rgm@gnu.org> - - * progmodes/f90.el (f90-find-tag-default): Handle multiple `%'. - - * generic-x.el (etc-fstab-generic-mode): Add ext4, sysfs keywords. - -2011-03-30 Christoph Scholtes <cschol2112@googlemail.com> - - * progmodes/python.el (python-default-interpreter) - (python-python-command-args, python-jython-command-args) - (python-which-shell, python-which-args, python-which-bufname) - (python-file-queue, python-comint-output-filter-function) - (python-toggle-shells, python-shell): Remove obsolete defcustoms, - variables and functions. - -2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-table-dynamic): Optimize `boundaries'. - (completion-in-region-mode): New minor mode. - (completion-in-region): Use it. - (completion-in-region--data, completion-in-region-mode-map): New vars. - (completion-in-region--postch): New function. - (completion--capf-misbehave-funs, completion--capf-safe-funs): - New vars. - (completion--capf-wrapper): New function. - (completion-at-point): Use it to track well-behavedness of - hook functions. - (completion-help-at-point): New command. - -2011-03-30 Jason Merrill <jason@redhat.com> (tiny change) - - * vc/add-log.el (add-change-log-entry): Don't use whitespace - syntax class to search for whitespace on a single line - (Message-ID: <4D938140.4030905@redhat.com>). - -2011-03-30 Leo Liu <sdl.web@gmail.com> - - * abbrev.el (abbrev-edit-save-to-file, abbrev-edit-save-buffer): - New commands. - (edit-abbrevs-map): Bind them here. - (write-abbrev-file): New optinal arg VERBOSE. (Bug#5937) - -2011-03-29 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el (allout-hide-by-annotation, allout-flag-region): - Reduce possibility of overlay leakage by making them volatile. - - * allout-widgets.el (allout-widgets-tally): Define as nil so the - hash is not shared between buffers. Mode initialization is - responsible for giving it a useful starting value. - (allout-item-span): Reduce possibility of overlay leakage by - making them volatile. - (allout-widgets-count-buttons-in-region): Add diagnostic function - for tracking down button overlay leaks. - -2011-03-29 Leo Liu <sdl.web@gmail.com> - - * ido.el (ido-read-internal): Use the default history var - minibuffer-history if no HISTORY is specified. - -2011-03-28 Brian T. Sniffen <bsniffen@akamai.com> (tiny change) - - * net/imap.el (imap-shell-open, imap-process-connection-type): - Use imap-process-connection-type for 'shell' streams as well as - Kerberos, SSL, other subprocesses. - -2011-03-28 Leo Liu <sdl.web@gmail.com> - - * abbrev.el (abbrev-table-empty-p): New function. - (prepare-abbrev-list-buffer): Place empty abbrev tables after - nonempty ones. (Bug#5937) - -2011-03-27 Jan Djärv <jan.h.d@swipnet.se> - - * cus-start.el (all): Add boolean ns-auto-hide-menu-bar. - -2011-03-27 Leo Liu <sdl.web@gmail.com> - - * ansi-color.el (ansi-color-names-vector): Allow cons cell value - for foreground and background colors. - (ansi-color-make-color-map): Adapt. - -2011-03-25 Leo Liu <sdl.web@gmail.com> - - * midnight.el (midnight-time-float): Remove. Note it calculates - the microsecond component incorrectly and seconds-to-time does the - same job. - Remove redundant (require 'timer). - - * ido.el (ido-read-internal): Simplify with read-from-minibuffer. - (ido-completions): Remove unused arguments. (Bug#8329) - -2011-03-24 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion--flush-all-sorted-completions): - Remove itself from hook. - (completion-at-point): Let the functions perform the completion - immediately and return nil or t. - * comint.el (comint-dynamic-complete-functions): Now identical to - completion-at-point-functions. - (comint-dynamic-list-input-ring): Remove unused var `index'. - (comint--match-partial-filename, comint--unquote&expand-filename): - New funs, split from comint-match-partial-filename. - (comint-dynamic-complete): Use completion-at-point. - (comint-dynamic-complete-filename): Use comint--match-partial-filename. - -2011-03-24 Drew Adams <drew.adams@oracle.com> - - * thingatpt.el: Support `defun'. - -2011-03-23 Leo Liu <sdl.web@gmail.com> - - * abbrevlist.el: Move to obsolete/abbrevlist.el. - - * help-mode.el (help-mode-finish): Tweak regexp. - -2011-03-23 Glenn Morris <rgm@gnu.org> - - * eshell/esh-opt.el (eshell-eval-using-options): - Do not bind unused local variable `eshell-option-stub'. - - * progmodes/gdb-mi.el (gdb): Fix typo in previous change. - -2011-03-22 Juanma Barranquero <lekktu@gmail.com> - - * emacs-lisp/derived.el (define-derived-mode): Wrap declaration of - keymap variable in `with-no-warnings' to avoid a warning when the - keymap has been already `defconst'ed. - -2011-03-22 Leo Liu <sdl.web@gmail.com> - - * abbrev.el (write-abbrev-file): Use utf-8 for writing if it can - encode all chars in abbrevs; otherwise use emacs-mule or - utf-8-emacs. (Bug#8308) - -2011-03-22 Juanma Barranquero <lekktu@gmail.com> - - * simple.el (backward-delete-char-untabify): - Avoid warning about using `delete-backward-char'. - - * image.el (image-type-file-name-regexps): Make it variable. - `imagemagick-register-types' modifies it, and the user may want - to add new extensions for known image types. - (imagemagick-register-types): Throw error if not using ImageMagick. - -2011-03-22 Leo Liu <sdl.web@gmail.com> - - * net/rcirc.el (rcirc-completion-at-point): Return nil if point is - located before rcirc-prompt-end-marker. - (rcirc-complete): Error if point is not after rcirc prompt. - Handle the case when table is nil. - (rcirc-user-authenticated): Define to fix compiler warning. - -2011-03-22 Chong Yidong <cyd@stupidchicken.com> - - * custom.el (custom--inhibit-theme-enable): Make it affect only - custom-theme-set-variables and custom-theme-set-faces. - (provide-theme): Ignore custom--inhibit-theme-enable. - (load-theme): Enable the theme explicitly if NO-ENABLE is non-nil. - (custom-enabling-themes): Delete variable. - (enable-theme): Accept only loaded themes as arguments. - Ignore the special custom-enabled-themes variable. - (custom-enabled-themes): Forbid themes from setting this. - Eliminate use of custom-enabling-themes. - (custom-push-theme): Quote "changed" custom var entry. - -2011-03-21 Leo Liu <sdl.web@gmail.com> - - * ido.el (ido-read-internal): Add ido-selected to history instead - of user input. - -2011-03-21 Stefan Monnier <monnier@iro.umontreal.ca> - - * subr.el (deferred-action-list, deferred-action-function): - Mark obsolete. - -2011-03-21 Leo Liu <sdl.web@gmail.com> - - * vc/log-view.el: Remove (require 'wid-edit), not needed after the - change on 2011-02-13 (bug#8309). - - * minibuffer.el (read-file-name-function): Change default value. - (read-file-name--defaults): Rename from read-file-name-defaults. - (read-file-name-default): Rename from read-file-name. - (read-file-name): Call read-file-name-function. - -2011-03-21 Glenn Morris <rgm@gnu.org> - - * eshell/esh-opt.el (eshell-eval-using-options, eshell-process-args): - Doc fixes. - -2011-03-21 Chong Yidong <cyd@stupidchicken.com> - - * cus-theme.el: Add missing provide statement. - (customize-create-theme): Extract theme value correctly. - (custom-theme-visit-theme): Autoload. - (customize-create-theme): Prompt before inserting default faces. - -2011-03-20 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc-menu.el (calc-units-menu): Add entries for logarithmic - units and musical notes. - -2011-03-20 Leo Liu <sdl.web@gmail.com> - - * ido.el (ido-read-internal): Use completing-read-default. - (ido-completing-read): Fix compatibility with completing-read. - -2011-03-20 Christian Ohler <ohler@gnu.org> - - * emacs-lisp/ert.el (ert-run-tests-batch): Remove unused variable. - (ert-delete-all-tests): Use `called-interactively-p' rather than - `interactive-p'. - (ert--make-xrefs-region): Respect END. - -2011-03-19 Chong Yidong <cyd@stupidchicken.com> - - * dired-aux.el (dired-create-directory): Signal an error if the - directory already exists (Bug#8246). - - * facemenu.el (list-colors-display): Call list-faces-display - inside with-help-window. - (list-colors-print): Use display property to align the final - column, instead of checking window-width. - -2011-03-19 Eli Zaretskii <eliz@gnu.org> - - * vc/emerge.el (emerge-metachars): Separate value for ms-dos and - windows-nt systems. - (emerge-protect-metachars): Quote correctly for ms-dos and - windows-nt systems. - -2011-03-19 Ralph Schleicher <rs@ralph-schleicher.de> - - * info.el (info-initialize): Replace all uses of `:' with - path-separator for compatibility with non-Unix systems. - Cache quoting of path-separator. (Bug#8258) - -2011-03-19 Juanma Barranquero <lekktu@gmail.com> - - * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist) - (mouse-avoidance-threshold, mouse-avoidance-banish-destination) - (mouse-avoidance-mode): Fix typos in docstrings. - -2011-03-19 Chong Yidong <cyd@stupidchicken.com> - - * startup.el (package-subdirectory-regexp): Move from package.el. - Omit \\` and \\', and let callers add them. - - * emacs-lisp/package.el (package-strip-version) - (package-load-all-descriptors): Add \\` and \\' to - package-subdirectory-regexp before using it. - (package-untar-buffer): New arg DIR; ensure that file untars only - into this expected directory. Remove superfluous delete-region. - (package-unpack): Caller changed. - (package-tar-file-info): Use package-subdirectory-regexp. - -2011-03-18 Stefan Monnier <monnier@iro.umontreal.ca> - - * vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from - diff-mode-shared-map (bug#8284). - (diff-mode-shared-map): Re-introduce some bindings that were problematic. - -2011-03-17 Lars Magne Ingebrigtsen <larsi@gnus.org> - - * calendar/time-date.el (format-seconds): Use assoc instead of - assoc-string, since assoc-string doesn't exist in XEmacs. - -2011-03-17 Juanma Barranquero <lekktu@gmail.com> - - * custom.el (custom-known-themes): Reflow docstring. - (custom-theme-load-path): Fix typo in docstring. - (load-theme): Fix typo in error message. - (custom-available-themes, custom-variable-theme-value): - Use `let', not `let*'. - -2011-03-17 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/README: Mention inclusion of musical notes. - - * calc/calc-units.el (calc-lu-quant): Rename from - `calc-logunits-quantity'. - (calcFunc-lupquant): Rename from `calcFunc-powerquant'. - (calcFunc-lufquant): Rename from `calcFunc-fieldquant'. - (calc-db): Rename from `calc-dblevel'. - (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'. - (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'. - (calc-np): Rename from `calc-nplevel'. - (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'. - (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'. - (calc-lu-plus): Rename from `calc-logunits-add'. - (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'. - (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'. - (calc-lu-minus): Rename from `calc-logunits-sub'. - (calcFunc-lupsub): Rename from `calcFunc-lupowersub'. - (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'. - (calc-lu-times): Rename from `calc-logunits-mul'. - (calcFunc-lupmul): Rename from `calcFunc-lupowermul'. - (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'. - (calc-lu-divide): Rename from `calc-logunits-div'. - (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'. - (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'. - - * calc/calc-ext.el (calc-init-extensions): Update the names of the - functions being autoloaded. - - * calc/calc.el (calc-lu-power-reference): Rename from - `calc-logunits-power-reference'. - (calc-lu-field-reference): Rename from - `calc-logunits-field-reference'. - - * calc/calc-help.el (calc-l-prefix-help): - Mention musical note functions. - -2011-03-17 Stefan Monnier <monnier@iro.umontreal.ca> - - * minibuffer.el (completion-all-sorted-completions): - Use :completion-cycle-penalty text property if present. - -2011-03-16 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el (allout-yank-processing): Adjust for new rebulleting - regime so bullet being yanked is used without prompting the user - for a choice. - -2011-03-16 Juanma Barranquero <lekktu@gmail.com> - - * startup.el (command-line): Warn the user that _emacs is deprecated. - -2011-03-16 Juanma Barranquero <lekktu@gmail.com> - - * progmodes/delphi.el (delphi-search-path, delphi-indent-level) - (delphi-verbose, delphi-comment-face, delphi-string-face) - (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line) - (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab) - (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment) - (delphi-new-comment-line, delphi-font-lock-defaults) - (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode): - Fix typos in docstrings. - -2011-03-15 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el (allout-make-topic-prefix, allout-rebullet-heading): - Invert the roles of character and string values for INSTEAD, so a - string is used for the more common case of a defaulting prompt. - -2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/ruby-mode.el (ruby-backward-sexp): - * progmodes/ebrowse.el (ebrowse-draw-file-member-info): - * play/gamegrid.el (gamegrid-make-face): - * play/bubbles.el (bubbles--grid-width, bubbles--grid-height) - (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images): - * notifications.el (notifications-notify): - * net/xesam.el (xesam-search-engines): - * net/quickurl.el (quickurl-list-insert): - * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case. - -2011-03-15 Chong Yidong <cyd@stupidchicken.com> - - * startup.el (command-line): Update package subdirectory regexp. - -2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * allout.el (allout-abbreviate-flattened-numbering) - (allout-mode-deactivate-hook): Fix up obsolescence "date". - - * subr.el (read-char-choice): Only show the cursor after the prompt, - not after the answer. - -2011-03-15 Kevin Ryde <user42@zip.com.au> - - * help-fns.el (variable-at-point): Skip leading quotes, if any - (bug#8253). - -2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> - - * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the - warning message. - -2011-03-14 Michael Albinus <michael.albinus@gmx.de> - - * shell.el (shell): When called interactively, offer to change the - shell file name on remote hosts. - -2011-03-13 Teodor Zlatanov <tzz@lifelogs.com> - - * net/ldap.el (ldap-search-internal): Add `auth-source-search' - integration for LDAP parameters. The host, base, user or binddn, - and secret tokens can be specified in a netrc file, for instance. - This is optional because an `auth-source' parameter must be - specified in the search attributes. - -2011-03-13 Juanma Barranquero <lekktu@gmail.com> - - * help.el (describe-mode): Link to the mode's definition (bug#8185). - -2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization - into declaration. Remove redundant and harmful binding. - -2011-03-12 Eli Zaretskii <eliz@gnu.org> - - * files.el (file-ownership-preserved-p): Pass `integer' as an - explicit 2nd argument to `file-attributes'. If the file's owner - is the Administrators group on Windows, and the current user is - Administrator, consider that a match. - - * server.el (server-ensure-safe-dir): Consider server directory - safe on MS-Windows if its owner is the Administrators group while - the current Emacs user is Administrator. Use `=' to compare - numerical UIDs, since they could be integers or floats. - -2011-03-12 Juanma Barranquero <lekktu@gmail.com> - - * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170). - -2011-03-12 Michael Albinus <michael.albinus@gmx.de> - - Sync with Tramp 2.2.1. - - * net/tramp-sh.el (tramp-methods): Exchange "%k" marker with options. - - * net/trampver.el: Update release number. - -2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca> - - * progmodes/compile.el (compilation--previous-directory): Fix up - various nil/dead-marker mismatches (bug#8014). - (compilation-directory-properties, compilation-error-properties): - Don't call it at a position past the one we're about to change. - - * emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable): - Disable obsolescence warnings in the file that declares it. - -2011-03-11 Ken Manheimer <ken.manheimer@gmail.com> - - * allout-widgets.el (allout-widgets-tally): - Initialize allout-widgets-tally as a hash table rather than nil to - prevent mode-line redisplay warnings. Also, clarify the module - description and fix a comment typo. - -2011-03-11 Juanma Barranquero <lekktu@gmail.com> - - * help-fns.el (describe-variable): Don't complete keywords. - Suggested by Teodor Zlatanov <tzz@lifelogs.com>. - -2011-03-10 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/package.el (package-version-join): Impose a standard - string representation for pre/alpha/beta version lists. - (package-unpack-single): Standardize the directory name by passing - it through package-version-join. - (package-strip-rcs-id): Accept any version string that does not - signal an error in version-to-list. - -2011-03-10 Michael Albinus <michael.albinus@gmx.de> - - * simple.el (delete-trailing-whitespace): Return nil for the - benefit of `write-file-functions'. - -2011-03-10 Glenn Morris <rgm@gnu.org> - - * vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program. - - * vc/vc-git.el (vc-git-program): New option. - (vc-git-branches, vc-git-pull, vc-git-merge-branch, vc-git-command) - (vc-git--call): Use it. - - * eshell/esh-util.el (eshell-condition-case): Doc fix. - - * cus-edit.el (Custom-newline): If no button at point, look - for a subgroup button at start-of-line. (Bug#2298) - - * mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes. - -2011-03-10 Julien Danjou <julien@danjou.info> - - * avoid.el (mouse-avoidance-ignore-p): Do not move the cursor if - `cursor-type' is nil. - -2011-03-09 Jay Belanger <jay.p.belanger@gmail.com> - - * calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'. - -2011-03-09 Ken Manheimer <ken.manheimer@gmail.com> - - * allout.el: Change so yank of distinctive-bullet items - preserves the existing header prefix, rebulleting it if necessary, - rather than replacing it. This is necessary for proper operation - of cooperative addons like allout-widgets. - (allout-make-topic-prefix, allout-rebullet-heading): - Change SOLICIT arg to INSTEAD, and interpret additionally a string - value as alternate bullet to be used, instead of prompting the user - for a bullet character. - -2011-03-09 Michael Albinus <michael.albinus@gmx.de> - - * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): - Do not use `tramp-file-name-port', because this returns also - `tramp-default-port'. - -2011-03-09 Deniz Dogan <deniz.a.m.dogan@gmail.com> - - * net/rcirc.el (rcirc-handler-001): Remove useless - with-rcirc-process-buffer. - (rcirc-check-auth-status): Swap arguments to string-match. - -2011-03-09 Glenn Morris <rgm@gnu.org> - - * shell.el (shell-mode): - Set comint-input-ring-size from HISTSIZE. (Bug#7889) - - * progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change. - Check for GDBHISTFILE, HISTSIZE, etc. (Bug#7889) - -2011-03-08 Chong Yidong <cyd@stupidchicken.com> - - * emacs-lisp/package.el (package-refresh-contents) - (package-menu-execute): Use condition-case-no-debug. - -2011-03-08 Michael Albinus <michael.albinus@gmx.de> - - * simple.el (shell-command-to-string): Use `process-file'. - - * emacs-lisp/package.el (package-tar-file-info): Handle also - remote files. - - * emacs-lisp/package-x.el (package-upload-buffer-internal): - Use `equal' for upload base check. - -2011-03-08 Arni Magnusson <arnima@hafro.is> (tiny change) - - * textmodes/texinfo.el (texinfo-environments): - Add deftypecv, deftypeivar, deftypemethod, deftypeop, html. (Bug#2783) - -2011-03-08 Glenn Morris <rgm@gnu.org> - - * cus-start.el (cursor-in-non-selected-windows): - Fix :set quoting oddness. (Bug#8192) - - * font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)' - in some setf expressions. (Bug#2159) - -2011-03-08 Chong Yidong <cyd@stupidchicken.com> - - * custom.el (custom-available-themes): Return themes in - alphabetical order. - -See ChangeLog.15 for earlier changes. +See ChangeLog.16 for earlier changes. ;; Local Variables: ;; coding: utf-8 diff --git a/lisp/ChangeLog.13 b/lisp/ChangeLog.13 index ea463fc5ae0..bca8ce361bc 100644 --- a/lisp/ChangeLog.13 +++ b/lisp/ChangeLog.13 @@ -12554,7 +12554,7 @@ 2007-08-23 John Wiegley <johnw@newartisans.com> - * calendar/cal-bahai.el: Added in the diacriticals that were + * calendar/cal-bahai.el: Added in the diacritics that were missing for many of the month names. 2007-08-22 Jason Rumney <jasonr@gnu.org> diff --git a/lisp/ChangeLog.16 b/lisp/ChangeLog.16 new file mode 100644 index 00000000000..d6d1bac43c2 --- /dev/null +++ b/lisp/ChangeLog.16 @@ -0,0 +1,25241 @@ +2013-03-11 Glenn Morris <rgm@gnu.org> + + * Version 24.3 released. + +2013-03-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * recentf.el (recentf-save-file): Use locate-user-emacs-file (bug#13870). + +2013-03-11 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * net/net-utils.el (net-utils-remove-ctrl-m-filter): + Use with-current-buffer and don't move point. + (net-utils-run-simple): Remove useless code. + (net-utils-remove-ctl-m): Remove unused custom. + +2013-03-11 Per Starbäck <starback@stp.lingfil.uu.se> + + * international/characters.el (glyphless-set-char-table-range): New fun. + (update-glyphless-char-display): Use it (bug#13744). + +2013-03-11 Teodor Zlatanov <tzz@lifelogs.com> + + * progmodes/cfengine.el: Update for CFEngine 3.4.2 and higher: + namespaces in the syntax, indent closer for hanging brace + correctly, allow single-quote delimited 'strings', and make + `cfengine3-mode' the default. + +2013-03-11 Jean-Philippe Gravel <jpgravel@gmail.com> + + * progmodes/gdb-mi.el: Speed up initialization (bug#10580). + Use lexical-binding. Fix up docstring according to conventions. + (gdbmi-debug-mode): New var. + (gdbmi-start-with, gdbmi-same-start, gdbmi-is-number, gdbmi-bnf-init) + (gdbmi-bnf-output, gdbmi-bnf-skip-unrecognized, gdbmi-bnf-gdb-prompt) + (gdbmi-bnf-result-record, gdbmi-bnf-out-of-band-record) + (gdbmi-bnf-async-record, gdbmi-bnf-stream-record) + (gdbmi-bnf-console-stream-output, gdbmi-bnf-target-stream-output) + (gdbmi-bnf-log-stream-output, gdbmi-bnf-result-and-async-record-impl) + (gdbmi-bnf-incomplete-record-result): New functions. + (gdb-car<): Remove function. + (gdbmi-record-list): Remove variable. + (gdbmi-bnf-state, gdbmi-bnf-offset): New vars. + (gdbmi-bnf-result-state-configs): New const. + (gud-gdbmi-marker-filter): Rewrite. + (gdb-ignored-notification, gdb-thread-created, gdb-thread-exited) + (gdb-thread-selected, gdb-running, gdb-starting, gdb-stopped): + Add `token' argument. + (gdb-done, gdb-error): New functions. + (gdb-done-or-error): Add `is-complete' argument. Change arg order. + +2013-03-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * term/xterm.el (xterm--report-background-handler): Don't burp + upon timeout. + (xterm--version-handler): Extract from terminal-init-xterm. + (xterm--query): Don't mishandle timeout. Remove debugging messages. + Allow multiple handlers. + (terminal-init-xterm): Handle OSX's Terminal.app's incorrect answer. + + * term/xterm.el: Don't discard input (bug#6758). Use lexical-binding. + (xterm--report-background-handler, xterm--query): New functions. + (terminal-init-xterm): Use them. + +2013-03-11 Michael R. Mauger <michael@mauger.com> + + * progmodes/sql.el Version 3.2 + Please note that my address changed to <michael@mauger.com>; + the <mmaug@yahoo.com> address remains active. + (sql-connection-alist): Updates documentation to fix bug#13715. + (sql-connect): Handle missing `sql-connection-alist' correctly. + (sql-mode-oracle-font-lock-keywords): Add missing keywords. + (sql-magic-go, sql-magic-semicolon): Mark with `delete-selection' + property. + (sql-default-value): New function. + (sql-get-login-ext, sql-get-login): Fixes bug where buffer-local + values were not used. + (sql-rename-buffer): Make sure alternate buffer name has no text + properties. + (sql-input-sender, sql-execute-feature): Fetch variable with + `buffer-local-value' rather than `with-current-buffer'. + (sql-*): Use #' function syntax consistently. + (sql-*): Use message/error/user-error consistently. + +2013-03-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * xt-mouse.el (xterm-mouse-event-read): Remove. + (xterm-mouse--read-event-sequence-1000) + (xterm-mouse--read-event-sequence-1006): Use read-event instead. + +2013-03-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * term/xterm.el (xterm-function-map): Support format used with + formatOtherKeys=1 (bug#13839). + + * emacs-lisp/byte-run.el (dont-compile): Declare obsolete. + (with-no-warnings): Use `declare'. + + * whitespace.el (whitespace-enable-predicate): New variable. + (whitespace-enable-predicate): Use it. + + * comint.el (comint-send-input, comint-snapshot-last-prompt) + (comint-output-filter, comint-update-fence): + Use with-silent-modifications. + +2013-03-10 Jambunathan K <kjambunathan@gmail.com> + + * replace.el (occur-read-regexp-defaults-function): New var. + (occur-read-regexp-defaults): New defun. + (occur-read-primary-args): Propagate above change (bug#13892). + +2013-03-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * mouse.el (mouse-drag-track): Remove left-over debugging code. + +2013-03-09 Michael Albinus <michael.albinus@gmx.de> + + Major rewrite due to changed D-Bus interface of GVFS 1.14. + + * net/tramp-gvfs.el (top): Extend check for gvfs availability. + (tramp-gvfs-methods-mounttracker, tramp-gvfs-listmounts) + (tramp-gvfs-mountlocation, tramp-gvfs-mountlocation-signature): + New defconst. + (tramp-gvfs-file-name-handler-alist) [directory-files] + [directory-files-and-attributes, file-exists-p, file-modes]: + Use Tramp default handler. + [file-acl, file-selinux-context, process-file, set-file-acl]: + [set-file-modes, set-file-selinux-context, shell-command]: + [start-file-process]: Remove handler. + [verify-visited-file-modtime]: New handler. + (tramp-gvfs-dbus-string-to-byte-array) + (tramp-gvfs-dbus-byte-array-to-string): New defuns. Replace all + calls of `dbus-string-to-byte-array' and + `tramp-gvfs-dbus-byte-array-to-string'. + (tramp-gvfs-handle-copy-file) + (tramp-gvfs-handle-delete-directory) + (tramp-gvfs-handle-delete-file, tramp-gvfs-handle-file-attributes) + (tramp-gvfs-handle-file-directory-p) + (tramp-gvfs-handle-file-executable-p) + (tramp-gvfs-handle-file-name-all-completions) + (tramp-gvfs-handle-file-readable-p) + (tramp-gvfs-handle-file-writable-p) + (tramp-gvfs-handle-insert-directory) + (tramp-gvfs-handle-insert-file-contents) + (tramp-gvfs-handle-make-directory, tramp-gvfs-handle-rename-file) + (tramp-gvfs-handle-set-visited-file-modtime) + (tramp-gvfs-handle-write-region): Rewrite. + (tramp-gvfs-handle-file-acl) + (tramp-gvfs-handle-file-selinux-context) + (tramp-gvfs-handle-process-file, tramp-gvfs-handle-set-file-acl) + (tramp-gvfs-handle-set-file-modes) + (tramp-gvfs-handle-set-file-selinux-context) + (tramp-gvfs-handle-shell-command) + (tramp-gvfs-handle-start-file-process) + (tramp-gvfs-handle-verify-visited-file-modtime): Remove defuns. + (tramp-gvfs-url-file-name): Do not use `file-truename', we work + over the symlinks. Fix user handling. + (top, tramp-gvfs-handler-mounted-unmounted): Handle different names + of the D-Bus signals. + (tramp-gvfs-connection-mounted-p): Handle different names of the + D-Bus methods. + (tramp-gvfs-mount-spec-entry): New defun. + (tramp-gvfs-mount-spec): Use it. + (tramp-gvfs-maybe-open-connection): Check, that in case of "smb" + there is a share name. Handle different names of the D-Bus + signals and methods. Set connection properties needed for + `tramp-check-cached-permissions'. + (tramp-gvfs-send-command): Apply `tramp-gvfs-maybe-open-connection'. + Return t or nil. + + * net/tramp.el (tramp-backtrace): Move up. + (tramp-error): Dump a backtrace into the debug buffer when + `tramp-verbose > 9. + (tramp-file-mode-type-map, tramp-file-mode-from-int) + (tramp-file-mode-permissions, tramp-get-local-uid) + (tramp-get-local-gid, tramp-check-cached-permissions): Move from + tramp-sh.el. + + * net/tramp-sh.el (tramp-file-mode-type-map) + (tramp-check-cached-permissions, tramp-file-mode-from-int) + (tramp-file-mode-permissions, tramp-get-local-uid) + (tramp-get-local-gid): Move to tramp.el. + +2013-03-09 Stefan Monnier <monnier@iro.umontreal.ca> + + Separate mouse-1-click-follows-link from mouse-drag-region. + * mouse.el (mouse--down-1-maybe-follows-link): New function. + (key-translation-map): Use it to implement mouse-1-click-follows-link. + (mouse-drag-line, mouse-drag-track): + Remove mouse-1-click-follows-link code. + (mouse--remap-link-click-p): Remove. + +2013-03-08 Jambunathan K <kjambunathan@gmail.com> + + * hi-lock.el (hi-lock-read-regexp-defaults-function): New var. + (hi-lock-read-regexp-defaults): New defun. + (hi-lock-line-face-buffer, hi-lock-face-buffer) + (hi-lock-face-phrase-buffer): Propagate above change. + Update docstring (bug#13892). + + * subr.el (find-tag-default-as-regexp): New defun. + * replace.el (read-regexp): Propagate above change. + +2013-03-08 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-units.el (calc-convert-units): Fix the way that default + new units are stored. + +2013-03-07 Matthias Meulien <orontee@gmail.com> + + * bookmark.el: Define a face to highlight bookmark names in + bookmark menu buffers, where the default is a bold face similarly + to buffer names in buffer menu buffers. + (bookmark-menu-bookmark): New face to highlight bookmark names. + (bookmark-insert-location): Remove duplicated text property to + conform to buffer list (see `list-buffers'). + (bookmark-bmenu-list, bookmark-bmenu-hide-filenames): Apply face + `bookmark-menu-bookmark' to bookmark names. + +2013-03-07 Matthias Meulien <orontee@gmail.com> + Karl Fogel <kfogel@red-bean.com> + + * bookmark.el: Display the bookmark list header similarly to the + buffer list header (see `list-buffers'), where the default is now + an immovable/immutable header line. + (bookmark-bmenu-use-header-line): New variable. + (bookmark-bmenu-inline-header-height): New name for + `bookmark-bmenu-header-height', to avoid confusion with the code + for the new immovable header. All references changed. + (bookmark-bmenu-set-header): New function. + (bookmark-bmenu-list, bookmark-bmenu-toggle-filenames): + Conditionalize header construction accordingly. + (bookmark-bmenu-ensure-position): Conditionalize the skipping of + the inline header height. + (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames): + Conditionalize the skipping of the inline header height. + +2013-03-07 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/js.el (js--multi-line-declaration-indentation): + Merge from js2-mode (https://github.com/mooz/js2-mode/issues/89). + +2013-03-06 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-syntax-propertize-function): + Only propertize regexp when not inside a string (Bug#13885). + +2013-03-06 Alan Mackenzie <acm@muc.de> + + Correct the position of point in some line-up functions. + * progmodes/cc-align.el (c-lineup-whitesmith-in-block) + (c-lineup-assignments, c-lineup-gcc-asm-reg ): Take position of + point at column 0 rather than at a random place in the line. + +2013-03-05 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-compat.el (tramp-compat-delete-directory): + Implement TRASH argument. + +2013-03-05 Dmitry Gutov <dgutov@yandex.ru> + + Keep pre-existing highlighting in completion candidates (Bug#13250). + * minibuffer.el (completions-first-difference): State that the + face is "added" in the docstring. + (completions-common-part): Same. And don't inherit from default. + (completion-hilit-commonality): Prepend 'completions-common-part + and 'completion-first-difference faces to the 'face property, + instead of replacing the value(s). + (completion--insert-strings): Same with 'completions-annotations face. + (completion-hilit-commonality): Use 'face instead of + 'font-lock-face, because it gets priority if the completion + strings already have 'face set. + +2013-03-04 Alan Mackenzie <acm@muc.de> + + Replace `last-command-event' by `last-command-char' in XEmacs. + * progmodes/cc-defs.el (c-last-command-char): New macro. + * progmodes/cc-align.el (c-semi&comma-inside-parenlist) + (c-semi&comma-no-newlines-before-nonblanks) + (c-semi&comma-no-newlines-for-oneline-inliners): Use the new macro + in place of `last-command-event'. + * progmodes/cc-cmds.el (c-electric-pound, c-electric-brace) + (c-electric-slash, c-electric-semi&comma, c-electric-lt-gt) + (c-electric-paren, c-electric-continued-statement): Use the new + macro in place of `last-command-event'. + +2013-03-04 Glenn Morris <rgm@gnu.org> + + * files.el (inhibit-local-variables-regexps): + Add .diff and .patch. (Bug#13862) + +2013-03-03 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-adb-maybe-open-connection): + Cache, whether the "su" command is available on the device. + +2013-03-01 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-adb-prompt): Extend regexp. + (tramp-adb-handle-process-file): Remove superfluous setting. + (tramp-adb-command-exit-status): Handle case that COMMAND is nil. + (tramp-adb-barf-unless-okay): Use `tramp-adb-command-exit-status'. + (tramp-adb-maybe-open-connection): Apply "su" if user is defined. + +2013-03-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * textmodes/ispell.el: Fix nitpicks and byte-compiler warnings. + (ispell-print-if-debug): Build `format' in. Avoid end-of-buffer. + (ispell-parse-hunspell-affix-file): Avoid beginning-of-buffer. + Use dict-key rather than dict-name for the error message. + +2013-03-01 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * net/net-utils.el (net-utils-run-simple): Don't display-buffer + when reverting (bug#13831). + +2013-03-01 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-find-hunspell-dictionaries): + Always expand affix-file before storing to protect against changed + `default-directory'. + (ispell-print-if-debug): Make sure message is printed at the end + of the debug buffer. + +2013-03-01 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-obsolete-methods): New defconst. + (tramp-warned-obsolete-methods): New defvar. + (tramp-find-method): Check for obsolete methods. Map them to a + replacement method if appropriate. + + * net/tramp-sh.el (tramp-methods) [scp1, scp2, ssh1, ssh2, plink1]: + Remove methods. + (top): Remove completion functions for "scp1", "scp2", "ssh1", + "ssh2" and "plink1". + +2013-02-28 Dale Sedivec <dale@codefu.org> + + * textmodes/sgml-mode.el (sgml-syntax-propertize-function): + Return valid syntax-table property value when converting + quotes within text from string syntax to punctuation syntax (bug#13844). + +2013-02-28 Juri Linkov <juri@jurta.org> + + * dired-aux.el (dired-diff): If file at point is a backup file, + use its original as the default value, and reverse the order + of arguments to the `diff' call. Doc fix. (Bug#13772) + +2013-02-28 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-adb-sdk-dir): Remove. Replaced by ... + (tramp-adb-program): New defcustom. Remove function. Adapt calls. + +2013-02-28 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + Initial support for hunspell dictionaries auto-detection (Bug#13639) + + * textmodes/ispell.el (ispell-find-hunspell-dictionaries): + Ask hunspell about available and default dictionaries. + (ispell-parse-hunspell-affix-file): Extract relevant info from + hunspell affix file. + (ispell-hunspell-fill-dictionary-entry): Fill non-initialized + `ispell-dictionary-alist' entry for given dictionary after info + provided by `ispell-parse-hunspell-affix-file'. + (ispell-hunspell-dict-paths-alist): New defvar to contain an alist + of parsed hunspell dicts and associated affix files. + (ispell-hunspell-dictionary-alist): New defvar to contain an alist + of parsed hunspell dicts and associated parameters. + (ispell-set-spellchecker-params): + Call `ispell-find-hunspell-dictionaries' if hunspell and not + previously done. + (ispell-start-process): + Call `ispell-hunspell-fill-dictionary-entry' for current + dictionary if it is not initialized. + +2013-02-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * imenu.el: Comment nitpicks. + +2013-02-28 Sam Steingold <sds@gnu.org> + + * vc/diff-mode.el (diff-hunk-file-names): Handle filenames with spaces. + See <http://stackoverflow.com/questions/14720205>. + +2013-02-28 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * net/net-utils.el (net-utils--revert-function): New fun (bug#13831). + (net-utils-mode): Use it. + (net-utils--revert-cmd): New var. + (net-utils-run-simple): Set it, and remove bogus interactive spec. + (traceroute): Use net-utils-run-simple. + +2013-02-28 Glenn Morris <rgm@gnu.org> + + * textmodes/paragraphs.el (mark-paragraph): Doc fix. + +2013-02-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * doc-view.el: Preserve h&v scroll across C-c C-c C-c C-c. + (doc-view-fallback-mode): Remove overlays here. + (doc-view-toggle-display): Instead of here. Don't throw away + image-mode-winprops-alist. + (doc-view-goto-page): Don't mess with hscroll. + +2013-02-27 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * font-lock.el (lisp-font-lock-keywords-2): Fix highlighting of + &optional (bug#13819). + +2013-02-27 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-adb-parse-device-names) + (tramp-adb-maybe-open-connection): Add timeouts. (Bug#13299) + +2013-02-26 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-insert-directory): + Add "2>/dev/null" to the ls command, in case "en_US.utf8" is not + defined. POSIX environments fall back to the "C" locale then and + emit a warning, which shall be suppressed. + +2013-02-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Tweak logic. + (easy-mmode-set-keymap-parents): Use make-composed-keymap. + +2013-02-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (byte-compile-file): Use let. + +2013-02-25 Juri Linkov <juri@jurta.org> + + * replace.el (read-regexp): Let-bind `default' to the first + element of `defaults' if it's a list, otherwise it should be + a string or nil. Let-bind `suggestions' to `defaults' if it's + a list, otherwise make a list with the string value. Doc fix. + (Bug#13805) + +2013-02-25 Eli Zaretskii <eliz@gnu.org> + + * emacs-lisp/bytecomp.el (byte-recompile-directory): Reject files + that match "\`\.#", to avoid compiling lock files, even if they + are readable (as they are on MS-Windows). + +2013-02-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el (basic-save-buffer): Remove redundant directory-creation. + +2013-02-24 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-ext.el (math-to-radians-2, math-from-radians-2): + Add option to force `pi' to remain symbolic. + * calc/calcalg2.el (calcFunc-sin, calcFunc-cos, calcFunc-tan) + (calcFunc-cot, calcFunc-csc, calcFunc-sec, calcFunc-arcsin) + (calcFunc-arccos, calcFunc-arctan): Use symbolic `pi' in the + derivatives, when necessary. + +2013-02-23 Peter Kleiweg <p.c.j.kleiweg@rug.nl> + + * progmodes/ps-mode.el (ps-mode-version): Bump to 1.1i. + (ps-mode-octal-region): Use string-make-unibyte. + +2013-02-23 Glenn Morris <rgm@gnu.org> + + * emulation/viper-cmd.el (viper-submit-report): + * progmodes/ps-mode.el (ps-mode-maintainer-address): + * progmodes/vera-mode.el (vera-mode-help-address): + * textmodes/artist.el (artist-maintainer-address): + * textmodes/reftex.el (reftex-report-bug): + * vc/ediff-util.el (ediff-submit-report): + Add bug-gnu-emacs to bug report address. + + * progmodes/simula.el (simula-mode-menu, simula-mode-map): + Remove bug report entries. + (simula-mode-help-address, simula-submit-bug-report): Make obsolete. + + * emacs-lisp/bytecomp.el (byte-compile-level): New. + (byte-compile-file, byte-compile-from-buffer): + Use separate input/output buffers for each level of recursive + byte-compile-file calls. (Bug#13787) + +2013-02-23 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-methods): Fix docstring. + (tramp-ssh-controlmaster-options): Rename it from + `tramp-ssh-controlmaster-template'. Return a string. + (tramp-default-method): Adapt check for + `tramp-ssh-controlmaster-options'. + + * net/tramp-sh.el (tramp-methods): + Replace `tramp-ssh-controlmaster-template' by "%c". + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-maybe-open-connection): Use it in format spec. Ensure, + that it is applied for the first hop only. + +2013-02-22 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-lazy-highlight-new-loop): + Set `isearch-lazy-highlight-start' and `isearch-lazy-highlight-end' + to `isearch-other-end' if it is not nil. (Bug#13402) + + * replace.el (replace-highlight): Let-bind `isearch-other-end' + to `match-beg'. + + * textmodes/ispell.el (ispell-highlight-spelling-error-overlay): + Let-bind `isearch-other-end' to `start', `isearch-forward' to t + and `isearch-error' to nil. + +2013-03-16 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-info-current-defun): + Enhance match-data cluttering prevention. + +2013-02-22 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-tramp-file-p): Fix docstring. + + * net/tramp-sh.el (tramp-sh-handle-insert-directory): + Handle multibyte file names. + +2013-02-22 Glenn Morris <rgm@gnu.org> + + * textmodes/sgml-mode.el (sgml-xml-mode): Move before use. + (sgml-transformation-function): Give it a :set function. + (sgml-tag): Doc fix. + + * cmuscheme.el (scheme-buffer): + * progmodes/inf-lisp.el (inferior-lisp-buffer): + * progmodes/tcl.el (inferior-tcl-buffer): + * textmodes/tex-mode.el (tex-command): Doc fixes. + + * image-mode.el (image-mode): Add mouse bindings for mode-line-process. + + * htmlfontify.el (hfy-default-header): Encode title string. (Bug#7457) + +2013-02-21 Bastien Guerry <bzg@gnu.org> + + * cmuscheme.el (scheme-buffer): Fix docstring. (Bug#13778) + +2013-02-21 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-info-current-defun): + Enhance match-data cluttering prevention. + +2013-02-21 Glenn Morris <rgm@gnu.org> + + * net/tramp.el (tramp-get-debug-buffer): Ensure outline.el is not + loaded while outline-regexp is let bound. (Bug#9584) + +2013-02-21 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-info-current-defun): Fix failed + defun name retrieval because of unwanted match-data cluttering. + +2013-02-21 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-ssh-controlmaster-template): Make it a + defconst. Apply independent check for ControlPersist. + + * net/tramp-sh.el (tramp-sh-handle-set-file-times): Set $UTC only + temporarily, via "env". + +2013-02-21 Glenn Morris <rgm@gnu.org> + + * info.el (Info-enable-edit): Remove. + (Info-edit): Disable it rather than using Info-enable. + (Info-edit-mode-hook, Info-edit-map, Info-edit-mode, Info-edit) + (Info-cease-edit): Make editing of Info files obsolete. + + * informat.el (Info-tagify): + Handle buffers not visiting files. (Bug#13763) + +2013-02-21 Juanma Barranquero <lekktu@gmail.com> + + * calc/calc-graph.el (calc-graph-show-dumb): Fix typo. + +2013-02-21 Glenn Morris <rgm@gnu.org> + + * files.el (basic-save-buffer): Move check for existing parent + directory after hooks. (Bug#13773) + +2013-02-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (command-execute): Move from C. Add obsolete check. + (extended-command-history): Move from C. + +2013-02-20 Ulrich Müller <ulm@gentoo.org> + + * jka-cmpr-hook.el (jka-compr-compression-info-list) + (jka-compr-mode-alist-additions): Handle .txz suffix for + XZ-compressed tar archives (bug#13770). + +2013-02-20 Bastien Guerry <bzg@gnu.org> + + * outline.el (outline-regexp, outline-heading-end-regexp): + Make variables, not options (bug#13731). + +2013-02-20 Glenn Morris <rgm@gnu.org> + + * image.el (image-current-frame): Change from variable to function. + (image-show-frame): Rename from image-nth-frame. Update callers. + * image-mode.el (image-multi-frame): New variable. + (image-mode-map, image-mode, image-goto-frame): + Use image-multi-frame rather than image-current-frame. + (image-mode, image-goto-frame): Use image-current-frame as + function rather than as variable. + + * emacs-lisp/cl-lib.el (cl-floatp-safe): Make it an alias for floatp. + * emacs-lisp/cl-macs.el (cl--make-type-test) + (cl--compiler-macro-assoc): Use floatp rather than cl-floatp-safe. + +2013-02-19 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-cache.el (tramp-get-hash-table): New defun. + (tramp-get-file-property, tramp-set-file-property) + (tramp-get-connection-property, tramp-set-connection-property): Use it. + (tramp-flush-file-property, tramp-flush-directory-property): + Rename argument to KEY. + (tramp-flush-connection-property): Simplify a little bit. + (tramp-connection-property-p): New defun. + (top): Reapply saved values only if there isn't a corresponding + entry in `tramp-connection-properties'. + +2013-02-19 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-indent-context): + Fix python-info-line-ends-backslash-p call. + (python-info-line-ends-backslash-p) + (python-info-beginning-of-backslash): Respect line-number argument. + (python-info-current-line-comment-p): + Fix behavior when not at beginning-of-line. + (python-util-position): Remove function. + (python-util-goto-line): New function. + +2013-02-19 Michael Albinus <michael.albinus@gmx.de> + + * eshell/em-unix.el (eshell/su): Require tramp. + (eshell/sudo): Require tramp. Remove now unnecessary check. + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): Let-bind + `tramp-current-connection' in order to avoid an error when several + commands are invoked in a short time in eshell and friends. + +2013-02-19 Stefan Monnier <monnier@iro.umontreal.ca> + + Cleanup some of EIEIO's namespace. + * emacs-lisp/eieio.el (eieio--define-field-accessors): New macro. + Use it to define all the class-* and object-* field accessors (renamed + to eieio--class-* and eieio--object-*). Update all uses. + (eieio--class-num-slots, eieio--object-num-slots): Rename from + class-num-slots and object-num-slots. + (eieio--check-type): New macro. + (eieio-defclass, eieio-oref, eieio-oref-default, same-class-p) + (object-of-class-p, child-of-class-p, object-slots, class-slot-initarg) + (eieio-oset, eieio-oset-default, object-assoc, object-assoc-list) + (object-assoc-list-safe): Use it. + (eieio-defclass): Tighten regexp. + (eieio--defmethod): Use `memq'. Signal an error for unknown method kind. + Remove unreachable code. + (object-class-fast): Declare obsolete. + (eieio-class-name, eieio-object-name, eieio-object-set-name-string) + (eieio-object-class, eieio-object-class-name, eieio-class-parents) + (eieio-class-children, eieio-class-precedence-list, eieio-class-parent): + Rename from class-name, object-name, object-set-name-string, + object-class, object-class-name, class-parents, class-children, + class-precedence-list, class-parent; with obsolete alias. + (class-of, class-direct-superclasses, class-direct-subclasses): + Declare obsolete. + (eieio-defmethod): Use `memq'; remove unreachable code. + * emacs-lisp/eieio-base.el (eieio-persistent-read): + * emacs-lisp/eieio-opt.el (eieio-class-button, eieio-describe-generic) + (eieio-browse-tree, eieio-browse): Use eieio--check-type. + +2013-02-18 Aidan Gauland <aidalgol@no8wireless.co.nz> + + * eshell/em-cmpl.el: Correct "context-related help" keybinding in + commentary. + +2013-02-18 Michael Heerdegen <michael_heerdegen@web.de> + + * emacs-lisp/eldoc.el (eldoc-highlight-function-argument): + Use font-lock-keyword-face for macros and special forms (bug#8345). + +2013-02-17 Didier Verna <didier@didierverna.net> + + * net/network-stream.el (network-stream-open-starttls): + Check that response to the starttls-command is non-nil. (Bug#13706) + +2013-02-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * font-lock.el (lisp-font-lock-keywords-1, lisp-font-lock-keywords-2): + Don't assume all identifier chars have syntax word. + * emacs-lisp/lisp-mode.el (lisp-mode-variables): + Remove bar-not-symbol. Adjust callers. + (lisp-mode-variables): Don't set a font-lock-syntax-table. + +2013-02-17 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc-keepalive): Fix invalid timer error. + +2013-02-17 Glenn Morris <rgm@gnu.org> + + * menu-bar.el (menu-bar-tools-menu): Fix case of EDE entry. + + * image-mode.el (image-mode-map): Add image-dired menu entry. + + * image-dired.el (tumme): Make this alias obsolete. + +2013-02-16 Glenn Morris <rgm@gnu.org> + + * image.el (image-animated-types): Remove. + (image-multi-frame-p): Rename from image-animated-p, and generalize. + (image-animated-p): Make obsolete alias. + (image-animate, image-nth-frame, image-animate-timeout): + Use image-multi-frame-p. + (image-animate-timeout): If no delay, use image-default-frame-delay. + * image-mode.el (image-mode, image-toggle-animation): + Use image-multi-frame-p. (Bug#763, bug#10739) + (image-mode): Adjust startup message for a multi-frame image. + + * image-mode.el (image-mode-map): Give it a menu. + +2013-02-16 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-cache.el (tramp-connection-properties): New customer + option. + (tramp-get-connection-property): Use it. + + * net/tramp-compat.el (top): Require 'trampver. + + * net/tramp-sh.el (tramp-remote-process-environment): + Set tramp-autoload cookie. + +2013-02-16 Kevin Ryde <user42@zip.com.au> + + * info-look.el (info-lookup-select-mode): If major-mode has no + info-lookup-alist entry then search up derived-mode-parent (bug#8660). + +2013-02-16 Jambunathan K <kjambunathan@gmail.com> + + * replace.el (read-regexp): Tighten the regexp that matches tag. + When tag is retrieved with `find-tag-default', use regexp that + matches tag at point. Also update docstring (Bug#13687). + +2013-02-16 Eli Zaretskii <eliz@gnu.org> + + * autorevert.el (auto-revert-notify-add-watch): With 'w32notify', + add watch for the file, not its parent directory, since w32notify + sets up the watch for the directory internally. (Bug#13725) + +2013-02-16 Glenn Morris <rgm@gnu.org> + + * image.el (image-default-frame-delay): New variable. + (image-animated-p): Use image-default-frame-delay. + (image-minimum-frame-delay): New constant. + (image-animate-timeout): Use image-minimum-frame-delay. + + * image.el (image-nth-frame): New, split from image-animate-timeout. + (image-animate-timeout): Use image-nth-frame. + * image-mode.el (image-goto-frame, image-next-frame) + (image-previous-frame): New commands. + (image-mode-map): Add new frame commands. + +2013-02-16 Jonas Bernoulli <jonas@bernoul.li> + + * emacs-lisp/tabulated-list.el (tabulated-list-print-col): + If col-desc already has help-echo, use it. (Bug#13563) + +2013-02-16 Glenn Morris <rgm@gnu.org> + + * image.el (image-current-frame): New variable. + (image-animate-timeout): Set image-current-frame. + * image-mode.el (image-mode): For animated images, + display a frame counter via mode-line-process. + + * font-lock.el (lisp-font-lock-keywords-1): Add defvar-local. + +2013-02-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (eval-expression): Let `exp' set the mark (bug#13724). + +2013-02-15 Alan Mackenzie <acm@muc.de> + + * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): When a + global minor mode has been enabled, call the minor mode function + for a new buffer once only, after the major mode hook, whilst + allowing that hook explicitly to disable the minor mode. + (MODE-disable-in-buffer): New (generated) function. + (disable-MODE): New (generated) buffer local variable. + +2013-02-15 Jambunathan K <kjambunathan@gmail.com> + + * iswitchb.el (iswitchb-read-buffer): Bind `C-.' and `C-,' to + `iswitchb-next-match' and `iswitchb-prev-match' resply. + * ido.el (ido-init-completion-maps): Bind `C-.' and `C-,' to + `ido-next-match' and `ido-prev-match' resply. + * icomplete.el (icomplete-minibuffer-map): Unbind `C-s' and `C-r'. + Bind `C-.' and `C-,' to `icomplete-forward-completions' and + `icomplete-backward-completions' (Bug#13708). + +2013-02-15 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. + +2013-02-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * net/goto-addr.el (goto-address-fontify): Add start and end args. + (goto-address-fontify-region): Use them instead of narrowing, so + syntax-ppss has access to the whole buffer. + +2013-02-15 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: Explain how to restore "cc-mode"-like + forward-sexp movement in header documentation (Bug#13642). + (python-nav--forward-sexp): Behave like emacs-lisp-mode in + comments and strings (GH bug 114). + +2013-02-15 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-info-current-defun): Fix current + defun detection (Bug#13618). + +2013-02-15 Chong Yidong <cyd@gnu.org> + + * xml.el (xml-parse-string): Fix typo in handling of bad character + references. + +2013-02-15 Glenn Morris <rgm@gnu.org> + + * play/fortune.el (fortune-compile): Simplify and fix previous change. + +2013-02-14 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-debug-message): + Add `tramp-condition-case-unless-debug'. + (tramp-debug-on-error): New defvar. + (tramp-condition-case-unless-debug): New defun. + (tramp-file-name-handler): Use it. + +2013-02-14 Juri Linkov <juri@jurta.org> + + * info.el (Info-isearch-filter): Treat non-nil values of + `search-invisible' including its default value `open' + like the value `t' to match hidden text. (Bug#13402) + +2013-02-14 Glenn Morris <rgm@gnu.org> + + * help-fns.el (find-lisp-object-file-name): Give special treatment + to all ~/.foo.elc files, not just ~/.emacs. (Bug#9007) + +2013-02-14 David Biesack <sasdjb@d72933.na.sas.com> (tiny change) + + * net/quickurl.el (quickurl-save-urls): + Ensure quickurl-urls is not truncated on printing. (Bug#9276) + +2013-02-14 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-parse-partial): Don't increase + depth for unfinished percent literal. Not using it in the caller. + (ruby-move-to-block): Jump over multiline literals of all types, + ignoring code-looking contents inside them. + (ruby-add-log-current-method): Improve performance at the expense + of accuracy. `ruby-block-contains-point' is relatively slow, so + only use it for method and singleton class blocks. + +2013-02-13 Michael Albinus <michael.albinus@gmx.de> + + Use ControlMaster where applicable. (Bug#13677) + + * net/tramp.el (tramp-ssh-controlmaster-template): New defvar, + replacing `tramp-detect-ssh-controlmaster'. + (tramp-default-method): Use it. + + * net/tramp-sh.el (tramp-methods) [scp, scp1, scp2, scpx, sftp]: + [rsync, ssh, ssh1, ssh2, sshx]: Add ControlPath and ControlMaster + arguments. + [scpc, rsyncc]: Remove methods. + (top): Remove completion functions for "scpc", "rsyncc", "ssh1_old" + and "ssh2_old". + (tramp-do-copy-or-rename-file-out-of-band): Change trace level. + (tramp-maybe-open-connection): Reuse tmpfile for ControlPath. + +2013-02-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/package.el (package--initialized): Move before first use. + +2013-02-13 Jambunathan K <kjambunathan@gmail.com> + + * icomplete.el (icomplete-hide-common-prefix): New user option. + (icomplete-first-match): New face. + (icomplete-completions): Correct handling of "complete but not + unique" (Bug#12638). + +2013-02-13 YE Qianchuan <stool.ye@gmail.com> (tiny change) + + * descr-text.el (describe-char): Display the script (bug#13698). + +2013-02-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * tmm.el: Use lexical-binding and current-active-maps. + (tmm-menubar): Use map-keymap and pcase. + (tmm--completion-table): New function. + (tmm-prompt): Use it to fix the menu order. + (tmm-get-keybind): Use current-active-maps. + +2013-02-12 Christopher Schmidt <christopher@ch.ristopher.com> + + Add dired-hide-details-mode. (Bug#6799) + + * locate.el (locate-mode): Set parent mode property to dired-mode. + + * find-dired.el (find-dired): Call dired-insert-set-properties on + initial information line. Set process mark on end of buffer. + (find-dired-sentinel): + Call dired-insert-set-properties on summary. + + * dired.el (dired-hide-details-hide-symlink-targets) + (dired-hide-details-hide-information-lines): New options. + (dired-insert-directory): + Set properties after final treatment of output. + (dired-insert-set-properties): + Set dired-hide-details-* properties. + (dired-mode-map): Bind dired-hide-details-mode. + (dired-mode): Set buffer-invisibility-spec to a list. + (dired-next-line): Skip hidden lines. + (dired-previous-line): Use dired-next-line. + (dired-hide-details-mode): New minor mode. + (dired-hide-details-update-invisibility-spec): New function. + +2013-02-13 Glenn Morris <rgm@gnu.org> + + * play/yow.el: Move to obsolete/. (Bug#9384) + +2013-02-13 Juri Linkov <juri@jurta.org> + + * vc/ediff-util.el (ediff-recenter): Use `select-frame-set-input-focus' + to select `ediff-control-frame' and set input focus correctly on Xfce. + (Bug#12218) + +2013-02-13 Juri Linkov <juri@jurta.org> + + * image-mode.el (image-mode-map): + * doc-view.el (doc-view-mode-map): + * vc/ediff-util.el (ediff-setup-keymap): + Make S-SPC scroll in the opposite sense to SPC. (Bug#2145) + +2013-02-13 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-move-to-block): Improve performance. + Instead of recalculating indentation fully for each line, sum up + indentation depth based only on visited lines. + (ruby-parse-partial): Increase the depth after "do" even when END + is right after it. + (ruby-parse-partial): When END is in the middle of a percent + literal, increase the depth if the delimiter chars belong to the + paren syntax class. + +2013-02-13 Kirill A. Korinskiy <catap@catap.ru> + + * play/fortune.el (fortune-compile): Also make the compiled file + if it does not exist at all, not just if it is old. (Bug#5338) + +2013-02-13 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/package.el (package-menu-execute): Doc fix. + +2013-02-13 Yves Baumes <ybaumes@gmail.com> (tiny change) + + * lisp/emacs-lisp/package.el (package-menu-execute): + Add optional noquery argument. (Bug#13625) + +2013-02-13 Michael Albinus <michael.albinus@gmx.de> + + * net/ange-ftp.el (ange-ftp-make-directory): Don't raise an error, + if DIR exists and PARENTS is non-nil. + +2013-02-13 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/js.el (js--multi-line-declaration-indentation): + Silence byte-compiler warning. + +2013-02-12 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-adb-handle-start-file-process): Rewrite. + + * net/tramp-compat.el (top): Declare `remote-file-name-inhibit-cache' + only if it doesn't exist. + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): + Set process marker. + +2013-02-12 Tassilo Horn <tsdh@gnu.org> + + * doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate + UserInstallation when calling soffice to work around LibreOffice + bug 37531. + +2013-02-12 Glenn Morris <rgm@gnu.org> + + * files.el (basic-save-buffer): + Offer to create a non-existing directory. (Bug#3016) + + * calc/calc-graph.el (calc-graph-show-dumb): + * calendar/calendar.el (calendar-mode-map): + * cus-edit.el (custom-mode-map): + * ehelp.el (electric-help-map): + * emulation/vip.el (vip-mode-map): + * epa.el (epa-key-list-mode-map): + * info.el (Info-mode-map): + * mail/rmail.el (rmail-mode-map): + * mail/rmailsum.el (rmail-summary-mode-map): + * man.el (Man-mode-map): + * net/newst-plainview.el (newsticker-mode-map): + * progmodes/cpp.el (cpp-edit-mode-map): + * progmodes/grep.el (grep-mode-map): + * progmodes/idlw-help.el (idlwave-help-mode-map): + * simple.el (special-mode-map): + * startup.el (splash-screen-keymap): + * view.el (view-mode-map): + Make S-SPC scroll in the opposite sense to SPC. (Bug#2145) + +2013-02-11 Elias Pipping <pipping@lavabit.com> + + * doc-view.el (doc-view-current-cache-dir): Beware % escapes + (bug#13679). + +2013-02-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * cus-start.el (all): Remove inhibit-local-menu-bar-menus. + +2013-02-11 Glenn Morris <rgm@gnu.org> + + * vc/diff.el (diff-use-labels): New variable. + (diff-no-select): Use --label rather than -L, and first + check that it is supported. (Bug#11067) + + * files.el (enable-dir-local-variables): New variable. + (hack-dir-local-variables): Respect enable-dir-local-variables. + * tutorial.el (help-with-tutorial): + Ignore directory-local variables. (Bug#11127) + + * vc/vc-svn.el (vc-svn-command): Move --non-interactive from here... + (vc-svn-global-switches): ... to here. (Bug#13513) + +2013-02-10 Christopher Schmidt <christopher@ch.ristopher.com> + + * minibuf-eldef.el (minibuffer-default--in-prompt-regexps): + Handle "foo (bar, default: xxx): " prompts. + +2013-02-10 Chong Yidong <cyd@gnu.org> + + * files.el (basic-save-buffer-1): Do not set + buffer-file-coding-system-explicit (Bug#4533). + + * mail/emacsbug.el (report-emacs-bug): Change binding of + report-emacs-bug-insert-to-mailer to C-c M-i (Bug#13510). + +2013-02-09 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc.el (calc-allow-units-as-numbers): New variable. + * calc/calc-units.el (calc-convert-units): Use new variable. + +2013-02-09 Eli Zaretskii <eliz@gnu.org> + + * subr.el (buffer-file-type, default-buffer-file-type): Remove. + + * net/ange-ftp.el (ange-ftp-insert-file-contents): Don't reference + buffer-file-type. + + * mail/feedmail.el (feedmail-force-binary-write): Doc fix. + (feedmail-run-the-queue, feedmail-dump-message-to-queue) + (feedmail-send-it-immediately): Don't bind buffer-file-type, bind + coding-system-for-write instead. + + * jka-compr.el (jka-compr-write-region): Don't bind + buffer-file-type. + + * emacs-lisp/bytecomp.el (byte-compile-file): Don't bind + buffer-file-type. + + * files.el (file-name-buffer-file-type-alist): Remove defvar. + (insert-file-contents-literally): Remove reference to + file-name-buffer-file-type-alist. + + * dos-w32.el (file-name-buffer-file-type-alist): Deprecate and + make-obsolete. + (find-buffer-file-type-match, find-buffer-file-type): Remove. + (find-buffer-file-type-coding-system): Remove references to + find-buffer-file-type-match, find-buffer-file-type, and + buffer-file-type. + Don't put find-buffer-file-type-coding-system into + file-coding-system-alist. + (find-file-binary, find-file-text): Bind coding-system-for-read + instead of file-name-buffer-file-type-alist. + +2013-02-09 Jambunathan K <kjambunathan@gmail.com> + + * doc-view.el: Use (and prefer) soffice as default ODF->PDF + converter (Bug#13622). + (doc-view-unoconv-program): Make obsolete alias. + (doc-view-odf->pdf-converter-program): New variable. + (doc-view-odf->pdf-converter-function): New variable. + (doc-view-mode-p): Use it. + (doc-view-odf->pdf-converter-unoconv): + Rename from `doc-view-odf->pdf-converter-unoconv'. + (doc-view-odf->pdf-converter-soffice): New function. + (doc-view-convert-current-doc): + Use `doc-view-odf->pdf-converter-function'. + +2013-02-09 Chong Yidong <cyd@gnu.org> + + * minibuffer.el (minibuffer-inactive-mode-map): Bind mouse-1 to + view-echo-area-messages (Bug#13340). + + * help.el (view-echo-area-messages): Use display-buffer. + + * dired-x.el (dired-do-run-mail): Prompt for confirmation + (Bug#13561). + +2013-02-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/byte-run.el (eval-when-compile, eval-and-compile): + Eval body right away, now that we do eager macroexpansion (bug#13605). + + * simple.el (end-of-buffer): Don't touch unrelated windows (bug#13466). + (fundamental-mode): Use run-mode-hooks. + + * eshell/esh-proc.el (eshell/kill): Fix last change. + * eshell/em-ls.el (eshell-ls-dir): Fix use of CL in last change. + +2013-02-08 Aidan Gauland <aidalgol@no8wireless.co.nz> + + * eshell/esh-proc.el (eshell/kill): Rewrite. + + * eshell/em-ls.el (show-almost-all): Declare. + (eshell-do-ls): Add support for -A argument. + +2013-02-08 Jambunathan K <kjambunathan@gmail.com> + + * icomplete.el (icomplete-forward-completions) + (icomplete-backward-completions): Handle corner case (bug#13602). + +2013-02-07 Michael Albinus <michael.albinus@gmx.de> + + * vc/vc-hooks.el (vc-find-file-hook): `buffer-file-truename' can + be nil. Handle this. (Bug#13636) + +2013-02-07 Richard Stallman <rms@gnu.org> + + * mail/rmail.el (rmail-variables): Specify `no-conversion' for + `save-buffer-coding-system'. + +2013-02-07 Alan Mackenzie <acm@muc.de> + + Fix bug in state cache mechanism. Remove 'BOD "strategy". Refactor. + * progmodes/cc-engine.el (c-get-fallback-scan-pos): Remove. + (c-parse-state-get-strategy): Don't return 'BOD any more. + (c-append-lower-brace-pair-to-state-cache): + Extra parameter HERE instead of narrowing. + Widen to top of buffer before searching backwards for a brace pair. + (c-state-push-any-brace-pair): Add HERE parameter to function call. + (c-append-to-state-cache): Extra parameter HERE in place of narrowing. + Narrow to parameter HERE, in place of being called narrowed. + (c-remove-stale-state-cache): Extra parameter HERE in place of + narrowing. Check there's an open brace in the cache before + searching for its match. + (c-invalidate-state-cache-1): Add HERE parameter to function call. + (c-parse-state-1): Don't narrow here for 'forward strategy, + instead passing extra parameter HERE to several functions. + Remove 'BOD strategy. + +2013-02-06 Nicolas Richard <theonewiththeevillook@yahoo.fr> (tiny change) + + * emacs-lisp/package.el (describe-package-1): Tell what archive is + used to install the package. + +2013-02-06 Glenn Morris <rgm@gnu.org> + + * vc/vc-hooks.el (vc-find-file-hook): Don't ask about following links + if we can't get user input. (Bug#6567) + + * startup.el (command-line): If simple.el is missing, + test and warn about for some possible causes. + +2013-02-05 Jan Djärv <jan.h.d@swipnet.se> + + * cus-start.el (all): Add ns-use-native-fullscreen. + +2013-02-05 Glenn Morris <rgm@gnu.org> + + * profiler.el (profiler-report-mode-map): Add a restart menu entry. + + * play/gamegrid.el (gamegrid-add-score-with-update-game-score): + Fix directory creation in fallback case. + +2013-02-04 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * vc/vc.el (vc-next-action): Fix inf-loop (bug#13610). + (vc-update-change-log): Use dolist. + +2013-02-04 Chong Yidong <cyd@gnu.org> + + * thingatpt.el: Rewrite the URL detection routines, absorbing some + code from ffap.el. + (thing-at-point-beginning-of-url-regexp): New var. + (thing-at-point-uri-schemes): Update list of URI schemes. + (thing-at-point-url-regexp): Variable deleted. + (thing-at-point-markedup-url-regexp): Disallow newlines. + (thing-at-point-newsgroup-regexp) + (thing-at-point-newsgroup-heads) + (thing-at-point-default-mail-uri-scheme): New variables. + (thing-at-point-bounds-of-url-at-point): Rewrite. Use ffap's + method to find the possible bounds of the URI at point. + New optional argument to find ill-formed URIs. + (thing-at-point-url-at-point): Rewrite. New arguments for finding + ill-formed URIs. Use thing-at-point-bounds-of-url-at-point, and + the scheme-adding heuristics from ffap-url-at-point. + (thing-at-point--bounds-of-well-formed-url): New function. + Do parens matching to decide whether to include parens in the URI + (Bug#9153). + + * ffap.el: Require thingatpt. + (ffap-url-at-point): Delegate URI detection to thing-at-point. + All URI-valid characters are now recognized (Bug#5673). + (ffap-string-at-point): Use use-region-p. + (ffap-url-regexp): Extra character is handled by thing-at-point. + (ffap-string-at-point-mode-alist): Allow parentheses. + (ffap-newsgroup-regexp, ffap-newsgroup-heads, ffap-newsgroup-p): + Convert to aliases; code moved to thingatpt.el. + (ffap-gnus-hook): Use setq-local. + +2013-02-04 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/ert.el (ert--explain-format-atom): + Don't try to print non-characters as characters. (Bug#13543) + +2013-02-03 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-debug-message): Extend function exclude list. + (tramp-backtrace): New defun. + (tramp-handle-insert-file-contents): Use `visit' when inserting + the local copy. + + * net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime): + Use `remote-file-name-inhibit-cache'. + +2013-02-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/cperl-mode.el (cperl-mode): Avoid byte-compile warning + (bug#13614). + + * subr.el (internal--called-interactively-p--get-frame): Avoid filling + current-load-list (bug#13366). + +2013-02-02 Christopher Schmidt <christopher@ch.ristopher.com> + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Identify g++ template instantiation trace. (Bug#12287) + (compilation-mode-hook, compilation-start-hook) + (compilation-window-height): Simplify docstrings. (Bug#13379) + +2013-02-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * mouse.el (mouse-drag-track): Always deactivate the mark before + running the final event's command since that command is in charge of + activating the mark if needed (bug#13523). + +2013-02-02 Juri Linkov <juri@jurta.org> + + * replace.el (perform-replace): Move let-bindings of isearch-* + variables deeper to the loop that searches for the next match. + Add bindings for `isearch-nonincremental' and `isearch-adjusted'. + Use `isearch-search-fun-default' instead of `isearch-search-fun'. + (Bug#13579) + + * isearch.el (isearch-search-fun-default): Check for null + first element of isearch-cmds as a precaution when it's used + with inactive isearch. + +2013-02-02 Andrew W. Nosenko <andrew.w.nosenko@gmail.com> (tiny change) + + * net/tramp.el (tramp-check-for-regexp): Avoid "Args out of range" + error when buffer in question is narrowed so position 1 is out of + visible part. + +2013-02-02 Glenn Morris <rgm@gnu.org> + + * textmodes/remember.el (remember-clipboard): Doc fix. + +2013-02-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/make-mode.el (makefile-fill-paragraph): Reset syntax-table + properties (bug#13179). + +2013-02-02 Juri Linkov <juri@jurta.org> + + * progmodes/grep.el (grep-regexp-alist): Use variable grep-match-face + instead of hard-coded default face `match'. (Bug#9438) + +2013-02-01 Christopher Schmidt <christopher@ch.ristopher.com> + + * vc/vc-arch.el (vc-arch-registered): + * vc/vc-bzr.el (vc-bzr-registered): + * vc/vc-cvs.el (vc-cvs-registered): + * vc/vc-git.el (vc-git-registered): + * vc/vc-hg.el (vc-hg-registered): + * vc/vc-mtn.el (vc-mtn-registered): + * vc/vc-svn.el (vc-svn-registered): Suppress load messages. + (Bug#13139) + + * info.el (Info-next-reference, Info-prev-reference): Add numeric + prefix argument. (Bug#11656) + +2013-02-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * help-fns.el (help-split-fundoc): Don't insert byte-compiled body. + +2013-02-01 Glenn Morris <rgm@gnu.org> + + * vc/vc-hooks.el (vc-menu-map): Disable vc-rollback menu item + if the backend is known not to support it. + + * imenu.el (imenu-default-create-index-function): + Tweak infinite loop test to check for forward motion as well as none. + +2013-02-01 Alex Harsanyi <AlexHarsanyi@gmail.com> + + * net/soap-client.el (soap-invoke): Encode the string for + `url-request-data' as UTF-8. + Fixes <http://code.google.com/p/emacs-soap-client/issues/detail?id=16>. + +2013-02-01 Glenn Morris <rgm@gnu.org> + + * calc/calc-help.el (calc-view-news): Use view-emacs-news. + + * calc/README, calc/README.prev: Rename/merge to etc/CALC-NEWS. + +2013-01-31 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-tramp-file-p): Comment check for + `string-as-unibyte'. The function does not exist on XEmacs, and + likely we need another approach. + + * net/tramp-sh.el (tramp-compute-multi-hops): Check, whether + `tramp-gw-*' variables are bound. + +2013-01-31 Glenn Morris <rgm@gnu.org> + + * files.el (basic-save-buffer-2): Choose coding system for + writing the file before backing it up, to reduce delay between + backing up and writing the new version. (Bug#13522) + +2013-01-31 Michal Nazarewicz <mina86@mina86.com> + + * simple.el (cycle-spacing): New command. + (just-one-space): Use it. + +2013-01-31 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/opascal.el: Rename from delphi.el. Use lexical-binding. + (opascal-newline-always-indents): Remove custom. + (opascal-tab, opascal-newline): Remove commands. + (opascal-new-comment-line): Insert "\n" instead of calling newline. + (opascal-mode-map): Keep default bindings for RET and TAB and DEL. + (opascal-save-match-data): Remove, use save-match-data instead. + (opascal-save-state): Use with-silent-modifications. + + * progmodes/pascal.el (pascal-mode-syntax-table): Accept //..\n comments + (bug#13585). + +2013-01-30 Juri Linkov <juri@jurta.org> + + * frame.el (toggle-frame-maximized, toggle-frame-fullscreen): + Use fullboth as an alias for fullscreen. Suggested by Jan Djärv in + <http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00203.html>. + +2013-01-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/make-mode.el (makefile-backslash-region): Don't compute + column if we're just deleting the backslashes. + (makefile-fill-paragraph): Use eolp. + +2013-01-30 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (auto-revert-use-notify): Fix docstring. + +2013-01-30 Leo Liu <sdl.web@gmail.com> + + * imenu.el (imenu--truncate-items): Fix subalist checking (bug#13576). + +2013-01-30 Glenn Morris <rgm@gnu.org> + + * mouse.el (mouse-drag-line): Avoid pushing same event onto + unread-command-events twice in some cases. This tries to implement + the 2012-07-26 changes in a different way. (Bug#13560) + +2013-01-30 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el + (python-pdbtrack-comint-output-filter-function): Enhancements on + stacktrace detection. (thanks @gnovak) + +2013-01-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * jit-lock.el (jit-lock-stealth-chunk-start): Don't widen (bug#13542). + (jit-lock-mode, jit-lock-functions, jit-lock-context-unfontify-pos): + Use defvar-local. + (jit-lock-register): Use setq-local. + +2013-01-30 Jay Belanger <jay.p.belanger@gmail.com> + + * calc-units.el (math-default-units-table): Remove initial value. + (calc-convert-units): Treat expressions where all the units cancel as + if they didn't have units. + +2013-01-30 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-process-connection-type): Fix docstring. + (tramp-completion-reread-directory-timeout): Fix type. + (tramp-connection-min-time-diff): New defcustom. + + * net/tramp-sh.el (tramp-maybe-open-connection): Use it. + +2013-01-30 Glenn Morris <rgm@gnu.org> + + * imenu.el (imenu-default-create-index-function): + Put back a version of the infinite loop test removed 2013-01-23. + +2013-01-30 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-shell-parse-command): + Find python-shell-interpreter with modified environment. + +2013-01-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl.el (cl-set-getf): Add compatibility alias. + +2013-01-29 Alan Mackenzie <acm@muc.de> + + Amend to fontify /regexp/s in actions correctly. + * cc-awk.el (c-awk-harmless-char-re, c-awk-harmless-string*-re): + (c-awk-harmless-string*-here-re): Braces, parens and semicolons + are no longer included. + (c-awk-harmless-line-char-re, c-awk-harmless-line-string*-re): + What used to be these variables without "-line" in the name. + (c-awk-neutral-re): { is no longer neutral. Escaped newlines now are. + (c-awk-non-arith-op-bra-re): Now also matches {. + (c-awk-pre-exp-alphanum-kwd-re): New regexp to match "print", + "return", and "case". + (c-awk-kwd-regexp-sign-re): New, to match "print", etc., followed + by /. + (c-awk-syntax-tablify-/): Check special cases "print /re/", etc. + (c-awk-set-syntax-table-properties): Extend FSM to handle {,},(,),;. + +2013-01-29 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (auto-revert-use-notify): + Use `custom-initialize-default' for initialization. (Bug#13583) + + * net/ange-ftp.el (ange-ftp-skip-msgs): Add another message. + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): + Catch `suppress'. Otherwise, `tramp-run-real-handler' might be called + in `tramp-file-name-handler'. + (tramp-gw-tunnel-method, tramp-gw-socks-method): Declare for + compatibility. + (tramp-compute-multi-hops): Check, whether + `tramp-gw-tunnel-method' and `tramp-gw-socks-method' are non-nil. + +2013-01-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * hi-lock.el (hi-lock-unface-buffer): Don't assume `face' is a symbol + (bug#13297). + +2013-01-27 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): Remove some + checks made superfluous by the \_< operator. + * progmodes/ruby-mode.el (ruby-move-to-block): Work with (maybe + temporarily) broken indentation. + * progmodes/ruby-mode.el (ruby-font-lock-keywords): + Highlight nested constants, too. \_< broke that. + +2013-01-27 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): Use "\\_<" + instead of "\\b". + +2013-01-27 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (auto-revert-handler): Notifications which result + from a saved file shall not be taken into account. (Bug#13557) + +2013-01-26 Andreas Schwab <schwab@linux-m68k.org> + + * emacs-lisp/lisp-mode.el (lisp-mode-variables): Add optional + parameter BAR-NOT-SYMBOL to control syntax of | for font-lock. + (lisp-mode): Pass t for it. (Bug#13556) + +2013-01-25 Alan Mackenzie <acm@muc.de> + + AWK Mode: Fix indentation bug at top level. Bug #12274. + + * progmodes/cc-engine.el (c-guess-basic-syntax): Move CASE 5P to + just before CASE 5D. + +2013-01-25 Dmitry Antipov <dmantipov@yandex.ru> + + * net/socks.el (socks-nslookup-host): Use string-to-number. + +2013-01-25 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (auto-revert-remote-files) + (auto-revert-notify-exclude-dir-regexp): New defcustoms. + (auto-revert-notify-enabled, auto-revert-use-notify) + (auto-revert-notify-watch-descriptor-hash-list) + (auto-revert-notify-modified-p, auto-revert-notify-event-p) + (auto-revert-notify-event-descriptor) + (auto-revert-notify-event-action) + (auto-revert-notify-event-file-name): Doc fix. + (global-auto-revert-mode): Reorder checks. + (auto-revert-notify-rm-watch): Respect changed values of + `auto-revert-notify-watch-descriptor-hash-list'. + (auto-revert-notify-add-watch): Check for + `auto-revert-notify-exclude-dir-regexp'. Adapt filters for + `inotify-add-watch'. Watch `default-directory' instead of + `buffer-file-name'. `auto-revert-notify-watch-descriptor-hash-list' + has a changed meaning now. (Bug#13540) + (auto-revert-notify-handler): Change implementation wrt events + returning from a directory. + (auto-revert-handler): Reorder implementation for checks of remote + files. + (auto-revert-buffers): Fix parentheses error. + +2013-01-25 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: Enhancements to header documentation about + skeletons. (Bug#5716) + + * imenu.el (imenu-default-create-index-function): Remove useless + infinite loop check. (Bug#13438) + +2013-01-25 Alan Mackenzie <acm@muc.de> + + Fix a bug in the state cache mechanism. Refactor this a bit. + + * progmodes/cc-engine.el (c-parse-state-get-strategy): Remove the + `cache-pos' element from the return value. + (c-append-lower-brace-pair-to-state-cache): "Narrow" to end of + buffer to enable proper searching from beyond HERE. Amend the + test for detecting the sought brace pair. Amend the value written + to the "brace desert cache" when the brace isn't found. + (c-remove-stale-state-cache): Rename `good-pos' to `start-point', + and several other variables analogously. + (c-remove-stale-state-cache-backwards): Change `cache-pos' from a + parameter to a locally calculated variable. + (c-parse-state-1): Change the calling conventions to the two + defuns involving `cache-pos'. + +2013-01-25 Chong Yidong <cyd@gnu.org> + + * xml.el (xml-entity-or-char-ref-re): Fix regexp. + +2013-01-24 Aaron Ecay <aaronecay@gmail.com> (tiny change) + + * paren.el (show-paren-function): Make sure to set 'priority and + 'face only if the overlay does exist. + +2013-01-24 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-tramp-file-p): Check, whether NAME is unibyte. + + * net/tramp-sh.el (tramp-sh-handle-set-file-acl): Do not suppress + basic attributes. + (tramp-sh-handle-set-file-acl): Improve error checking. + +2013-01-24 Dmitry Antipov <dmantipov@yandex.ru> + + * doc-view.el (doc-view-display): Force mode line update until all + document is converted. Suggested by Stefan Monnier (Bug#13164). + +2013-01-23 Bastien Guerry <bzg@gnu.org> + + * paren.el (show-paren-function): Make sure an overlay exists + before trying to delete it. Also use `pos' as a position only + when it is an integer. + +2013-01-23 Dmitry Antipov <dmantipov@yandex.ru> + + * play/gametree.el (gametree-break-line-here): Use point-marker. + +2013-01-22 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers): + Mark descriptive parts with `display' property. + +2013-01-21 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-hunspell-dictionary-equivs-alist): + New variable to map standard dict names to hunspell ones. + (ispell-set-spellchecker-params): Make sure specific dict names + are used for standard dicts with hunspell. + +2013-01-21 Tassilo Horn <tsdh@gnu.org> + + * textmodes/reftex-cite.el (reftex-format-citation): Add format + chars for note (%N) and url (%U). + * textmodes/reftex-vars.el (reftex-cite-format): Document them. + +2013-01-21 Juri Linkov <juri@jurta.org> + + * frame.el: Bind `f10' in `esc-map' to `toggle-frame-maximized' + in addition to existing separate binding `meta f10' in `global-map'. + (Bug#13484) + +2013-01-21 Michael Albinus <michael.albinus@gmx.de> + + Improve XEmacs compatibility. + + * net/tramp.el (tramp-replace-environment-variables): Make it a defun. + + * net/tramp-adb.el (top): Require `time-date'. + (tramp-adb-ls-output-time-less-p): Use `tramp-time-less-p'. + (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file): + Use `tramp-file-name-handler'. + (tramp-adb-maybe-open-connection): + Use `tramp-compat-set-process-query-on-exit-flag'. + + * net/tramp-sh.el (tramp-sh-handle-file-acl): + Use `tramp-compat-funcall'. + + * net/tramp-smb.el (tramp-smb-handle-file-acl): Use `looking-at' and + `tramp-compat-funcall'. + +2013-01-21 Jürgen Hötzel <juergen@archlinux.org> + + * net/tramp-adb.el (tramp-adb-handle-start-file-process): Complete + reimplementation using "adb shell command ..." instead of running + remote shell interactively. + +2013-01-20 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): + Add native profiler menu entries. + + * profiler.el (profiler-running-p): New function. + (profiler-cpu-profile): Use profiler-running-p. + (profiler-report-mode-map): Add some more menu entries. + +2013-01-19 Glenn Morris <rgm@gnu.org> + + * mail/unrmail.el (unrmail): Do not mangle the mbox From line; + fixes 2012-12-07 change. (Bug#13499) + +2013-01-19 Leo Liu <sdl.web@gmail.com> + + * dired.el (dired-get-marked-files): Prune erroneous values due to + last change. (Bug#13152) + +2013-01-19 Glenn Morris <rgm@gnu.org> + + * progmodes/etags.el (tags-table-check-computed-list): + Preserve point in tags buffer. (Bug#13412) + + * emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix. + +2013-01-19 Christian Wittern <cwittern@gmail.com> (tiny change) + Chong Yidong <cyd@gnu.org> + + * image-mode.el (image-next-file, image-previous-file): + New commands (Bug#8453). + (image-mode-map): Bind them to n and p. + (image-mode--images-in-directory): New helper function. + +2013-01-19 Chong Yidong <cyd@gnu.org> + + * image-mode.el (image-mode-fit-frame): Add a frame argument. + Suggested by Drew Adams (Bug#7730). Handle window decorations; + save and restore the old window configuration. + +2013-01-18 Leo Liu <sdl.web@gmail.com> + + * progmodes/js.el: Tweak autoload cookie for alias. + +2013-01-17 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (auto-revert-notify-watch-descriptor): Make it + buffer local, again. This was lost with the fix on 2013-01-12. + +2013-01-17 Jürgen Hötzel <juergen@archlinux.org> + + * eshell/esh-util.el (eshell-path-env): Make it buffer local, in + order to support several eshell buffers in parallel. + +2013-01-17 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (auto-revert-use-notify): In the :set function, do + not modify `kill-buffer-hook'. + (auto-revert-notify-rm-watch): + Remove `auto-revert-notify-rm-watch' from `kill-buffer-hook'. + (auto-revert-notify-add-watch): Do not call + `auto-revert-notify-rm-watch', but add it to a buffer local + `kill-buffer-hook'. + +2013-01-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/trace.el (trace--read-args): Use a closure and an honest + call to `eval' rather than a backquoted lambda. + +2013-01-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/nadvice.el (advice--tweak): Make it possible for `tweak' + to return an explicit nil. + (advice--remove-function): Change accordingly. + + * emacs-lisp/advice.el (ad-preactivate-advice): Adjust the cleanup to + the use of nadvice.el. + + * progmodes/which-func.el (which-function): Silence imenu errors + (bug#13433). + +2013-01-15 Michael R. Mauger <mmaug@yahoo.com> + + * progmodes/sql.el (sql-imenu-generic-expression): + (sql-mode-font-lock-object-name): Match schema qualified names. + (sql-connect): Use string keys. + (sql-product-interactive): Wait for interpreter prompt. + (sql-comint-oracle): Set process coding based on NLS_LANG. + +2013-01-15 Michael R. Mauger <mmaug@yahoo.com> + + * progmodes/sql.el (sql-output-to-send): Remove, unused. + (sql-interactive-remove-continuation-prompt): + (sql-send-magic-terminator, sql-interactive-mode): Remove references. + +2013-01-14 Leo Liu <sdl.web@gmail.com> + + * calendar/calendar.el (calendar-redraw): Sync window-point and point. + (Bug#13420) + +2013-01-14 Glenn Morris <rgm@gnu.org> + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fix interpretation of gnu line.col1-col2 format. (Bug#13335) + +2013-01-13 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-nav-end-of-statement): + Fix cornercase when handling multiline strings. + +2013-01-13 Richard Stallman <rms@gnu.org> + + * mail/sendmail.el (mail-position-on-field): Add doc string. + + * mail/rmailmm.el (rmail-insert-mime-forwarded-message): + Get current message boundaries and pass them to + message-forward-make-body-mime. Minor style changes. + +2013-01-13 Eli Zaretskii <eliz@gnu.org> + + * cus-start.el (all): Avoid warnings about + scroll-bar-adjust-thumb-portion on platforms where it is not defined. + +2013-01-11 Jan Djärv <jan.h.d@swipnet.se> + + * cus-start.el (all): Add scroll-bar-adjust-thumb-portion. + +2013-01-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * jit-lock.el (jit-lock-debug-mode): New minor mode. + (jit-lock--debug-fontifying): New var. + (jit-lock--debug-fontify): New function. + * subr.el (condition-case-unless-debug): Don't prevent catching the + error, just let the debbugger run. + * emacs-lisp/timer.el (timer-event-handler): Don't prevent debugging + timer code and don't drop errors silently. + +2013-01-12 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (auto-revert-notify-watch-descriptor): Give it + `permanent-local' property. + (auto-revert-notify-handler): Use `file-equal-p'. + +2013-01-12 Eli Zaretskii <eliz@gnu.org> + + * autorevert.el (auto-revert-notify-handler): Fix filtering of + file notification by ACTION. For filtering by file name, compare + only the non-directory part of the file name. + +2013-01-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * autorevert.el: Use cl-lib instead of cl. + + * vc/vc-bzr.el (vc-bzr--sanitize-header): New function (bug#13307). + (vc-bzr-checkin): Use it. + * vc/log-edit.el (log-edit-extract-headers): Don't presume FUNCTION + will preserve match-data. + +2013-01-11 Felix H. Dahlke <fhd@ubercode.de> + + * progmodes/js.el: Fix multiline declarations's indentation (bug#8576). + (js--declaration-keyword-re): New var. + (js--multi-line-declaration-indentation): New function. + (js--proper-indentation): Use it. + +2013-01-11 Aaron S. Hawley <Aaron.Hawley@vtinfo.com> + + * calc/calc.el (calc-highlight-selections-with-faces) + (calc-dispatch): + * comint.el (comint-history-isearch-message): + * emacs-lisp/edebug.el (edebug-read, edebug-eval-defun): + * ffap.el (ffap-string-at-point-region, ffap-next) + (ffap-string-at-point, ffap-string-around) + (ffap-copy-string-as-kill, ffap-highlight-overlay) + (ffap-literally): + * font-lock.el (font-lock-keywords-alist) + (font-lock-removed-keywords-alist): + * help-mode.el (help-xref-symbol-regexp): + * info.el (Info-find-emacs-command-nodes): + * international/mule.el (add-to-coding-system-list): + * isearch.el (isearch-message-function, isearch-fail-pos): + * misearch.el (multi-isearch-next-buffer-function): + * newcomment.el (comment-box): + * printing.el (pr-txt-printer-alist, pr-ps-printer-alist) + (pr-setting-database): + * progmodes/cc-fonts.el (c-font-lock-keywords-3) + (c++-font-lock-keywords-3, objc-font-lock-keywords-3) + (java-font-lock-keywords-3, idl-font-lock-keywords-3) + (pike-font-lock-keywords-3): + * progmodes/compile.el (compile): + * progmodes/etags.el (tags-table-files) + (tags-table-files-function, tags-included-tables-function): + * progmodes/gdb-mi.el (gdb, gdb-setup-windows) + (gdb-restore-windows): + * ps-print.el (ps-even-or-odd-pages, ps-spool-buffer-with-faces) + (ps-n-up-filling-database): + * server.el (server-buffer, server-log): + * simple.el (newline, delete-backward-char, delete-forward-char) + (minibuffer-history-isearch-message, kill-line, track-eol) + (temporary-goal-column): + * textmodes/flyspell.el (flyspell-mark-duplications-flag) + (flyspell-default-deplacement-commands): + * textmodes/ispell.el (ispell-accept-output): + * textmodes/sgml-mode.el (html-tag-help): + * vc/compare-w.el (compare-ignore-whitespace) + (compare-ignore-case, compare-windows-dehighlight): + * vc/diff.el (diff): + * whitespace.el (whitespace-point) + (whitespace-font-lock-refontify, whitespace-bob-marker) + (whitespace-eob-marker): Fix ambiguous doc string cross-reference(s). + +2013-01-11 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (top): Require 'cl in order to pacify byte compiler. + (auto-revert-notify-rm-watch): Ignore errors. + (auto-revert-notify-add-watch): Ignore errors. Use '(modify) for + inotify, and '(size last-write-time) for w32notify. + Set buffer-local `auto-revert-use-notify' to nil when adding a file + watch fails - this is a fallback to the file modification check. + (auto-revert-notify-event-p, auto-revert-notify-event-descriptor) + (auto-revert-notify-event-action) + (auto-revert-notify-event-file-name): New defuns. + (auto-revert-notify-handler): Use them. Implement first + plausibility checks. + (auto-revert-handler): Handle also `auto-revert-tail-mode'. + +2013-01-11 Julien Danjou <julien@danjou.info> + + * color.el (color-rgb-to-hsv): Fix conversion computing in case min and + max are almost equal. Also return the correct value for V which is + already between 0 and 1. + +2013-01-11 Dmitry Antipov <dmantipov@yandex.ru> + + * emacs-lisp/ert.el (ert-run-test): Use point-max-marker. + +2013-01-11 Eli Zaretskii <eliz@gnu.org> + + * autorevert.el (auto-revert-notify-rm-watch) + (auto-revert-notify-add-watch): Fix typos in w32notify function + names. + +2013-01-10 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (auto-revert-notify-enabled): Move up. + (auto-revert-use-notify): New defcustom. + (auto-revert-mode, global-auto-revert-mode) + (auto-revert-notify-add-watch, auto-revert-handler) + (auto-revert-buffers): Use `auto-revert-use-notify' instead of + `auto-revert-notify-enabled'. + +2013-01-10 Elias Pipping <pipping@exherbo.org> + + * files.el (auto-mode-alist): Use doc-view for djvu files (bug#13164). + * doc-view.el (doc-view-document->bitmap): + Use doc-view-single-page-converter-function instead of + single-page-converter arg; adjust callers. + +2013-01-10 Feng Li <fengli@gmail.com> (tiny change) + + * progmodes/which-func.el (which-function): Understand Semantic's use + of overlays in imenu--index-alist. + +2013-01-10 Wolfgang Jenkner <wjenkner@inode.at> + + * man.el: Handle different "man -k" behaviors (bug#13160). Use utf-8. + (Man-man-k-use-anchor): New var. + (Man-parse-man-k): New function. + (Man-completion-table): Use it. + (man): Flush the completion cache between uses. + +2013-01-10 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el: Add file watch support. + (auto-revert-notify-enabled): New defconst. + (auto-revert-notify-watch-descriptor-hash-list) + (auto-revert-notify-watch-descriptor) + (auto-revert-notify-modified-p): New defvars. + (auto-revert-notify-rm-watch, auto-revert-notify-add-watch) + (auto-revert-notify-handler): New defuns. + (auto-revert-mode, global-auto-revert-mode): Remove file watches + when mode is disabled. + (auto-revert-handler): Check for `auto-revert-notify-modified-p'. + (auto-revert-buffers): Add file watches for active buffers. + +2013-01-10 Dmitry Antipov <dmantipov@yandex.ru> + + * cus-start.el (toplevel): Only allow float values for + scroll-up-aggressively and scroll-down-aggressively. + Allow any number for line-spacing. + +2013-01-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * doc-view.el (doc-view-pdfdraw-program): Allow "pdfdraw" name. + (doc-view-pdf->png-converter-function): Use mupdf if available. + (doc-view-djvu->png-converter-function) + (doc-view-ps->png-converter-function): Remove. + (doc-view--image-file-pattern): Replace doc-view--image-file-extension. + (doc-view-goto-page, doc-view-convert-current-doc, doc-view-display) + (doc-view-already-converted-p): Adjust accordingly. + (doc-view-mode-p): Simplify. + (doc-view-enlarge): Use setq-local. + (doc-view-pdf->png-converter-ghostscript) + (doc-view-djvu->png-converter-ddjvu) + (doc-view-pdf->png-converter-mupdf): Rework to call + doc-view-start-process directly. + (doc-view-pdf/ps->png): Simplify accordingly. + (doc-view-pdf->png-1, doc-view-djvu->png-1): Remove. + (doc-view-document->bitmap): Rename from doc-view-document->png. + (doc-view-convert-current-doc): Merge pdf and djvu cases. + (doc-view-set-slice-from-bounding-box): Fix completion table. + (doc-view-mode): Use add-hook for after-revert-hook. + +2013-01-10 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-ignored-files) + (authors-valid-file-names, authors-renamed-files-alist): + Add some more entries. + +2013-01-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * image-mode.el (image-mode-winprops): Don't throw away the fallback + `t' pseudo-window entry. + +2013-01-10 Alan Mackenzie <acm@muc.de> + + Fix bugs in the c-parse-state mechanism. Reuse some markers + instead of continually generating new ones. + + * progmodes/cc-engine.el (c-state-old-cpp-beg-marker) + (c-state-old-cpp-end-marker): New variables. + (c-append-lower-brace-pair-to-state-cache): Start a backward + search for "}" definitively outside CPP constructs. + (c-remove-stale-state-cache): Inform the caller of a need to + search back for a brace pair in certain circumstances. + (c-state-maybe-marker): New macro. + (c-parse-state): Reuse markers when appropriate. + +2013-01-10 Glenn Morris <rgm@gnu.org> + + * simple.el (execute-extended-command): Doc fix. + Bind prefix-arg around read-extended-command, for prompt. (Bug#13395) + +2013-01-10 Chong Yidong <cyd@gnu.org> + + * faces.el (read-face-name): Doc fix. + +2013-01-10 Roland Winkler <winkler@gnu.org> + + * emacs-lisp/crm.el: Allow any regexp for separators. + (crm-default-separator): All spaces around the default comma separator. + (crm--completion-command): New macro. + (crm-completion-help, crm-complete, crm-complete-word): Use it. + (crm-complete-and-exit): Handle non-single-char separators. + +2013-01-09 Elias Pipping <pipping@lavabit.com> + + * doc-view.el: Add support for DjVu (bug#13164). + (doc-view-djvu->png-converter-function): New config var. + (doc-view-single-page-converter-function, doc-view--image-type) + (doc-view--image-file-extension): New vars. + (doc-view-mode): Initialize them. + (doc-view-goto-page): Use them. + (doc-view-mode-p): Add support for ddjvu. + (doc-view-djvu->png-converter-ddjvu, doc-view-djvu->png-1) + (doc-view-set-up-single-converter): New funs. + (doc-view-pdf/ps->png): Extend for djvu. + (doc-view-document->png): Rename from doc-view-pdf->png. + (doc-view-convert-current-doc): Handle djvu. + (doc-view-insert-image, doc-view-display) + (doc-view-already-converted-p): Don't hardcode png. + (doc-view-set-doc-type): Recognize djvu docs. + +2013-01-09 Elias Pipping <pipping@lavabit.com> + + * doc-view.el: Add support for mupdf converter (bug#13164). + (doc-view-pdfdraw-program, doc-view-pdf->png-converter-function) + (doc-view-ps->png-converter-function): New config vars. + (doc-view-pdf->png-converter-ghostscript) + (doc-view-ps->png-converter-ghostscript) + (doc-view-pdf->png-converter-mupdf): New functions. + (doc-view-pdf/ps->png, doc-view-pdf->png-1): Use them. + +2013-01-09 Jürgen Hötzel <juergen@archlinux.org> + + * net/tramp.el (tramp-eshell-directory-change): Check remote-path + first in session cache: When `tramp-own-remote-path' is in + `tramp-remote-path', the remote path is only set in the session + cache. + +2013-01-09 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/trace.el (trace-function-foreground) + (trace-function-background): Doc fix. + +2013-01-09 Juri Linkov <juri@jurta.org> + + * international/mule-cmds.el (read-char-by-name): Move let-binding + of completion-ignore-case around completing-read to fix regression + exhibited by the test case `C-x 8 RET *acc TAB' and caused by + `string-match-p' using the nil value of `case-fold-search' and + `completion-ignore-case' in `completion-pcm--all-completions'. + (Bug#12615). + +2013-01-09 Glenn Morris <rgm@gnu.org> + + * progmodes/compile.el (compilation-parse-errors): + Fix typo. (Bug#13369) + +2013-01-09 Vitalie Spinu <spinuvit@gmail.com> (tiny change) + + * comint.el (comint-send-input): Check size of buffer before + waiting for process output, in case already accepted. (Bug#13290) + +2013-01-09 Paul Eggert <eggert@cs.ucla.edu> + + Spelling fixes. + * net/tramp-adb.el (tramp-adb-get-toolbox): + Fix misspelling of 'unknown'. + +2013-01-08 Juri Linkov <juri@jurta.org> + + * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate): + * progmodes/flymake.el (flymake-errline, flymake-warnline): + Use underline style wave on terminals that support it. (Bug#13000) + +2013-01-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/pcase.el (pcase--split-equal): Also take advantage if + the predicate returns nil. + + * simple.el: Use lexical-binding. + (primitive-undo): Use pcase. + (minibuffer-history-isearch-push-state): Use a closure. + +2013-01-08 Aaron S. Hawley <aaron.s.hawley@gmail.com> + + * simple.el (primitive-undo): Move from undo.c. + +2013-01-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/pcvs.el (cvs-cleanup-collection): Extend meaning of `rm-handled'. + (cvs-mode-remove-handled): Use it (bug#13380). + + * emacs-lisp/nadvice.el (advice--tweak): New function. + (advice--remove-function, advice--subst-main): Use it. + + * emacs-lisp/advice.el: Update commentary. + +2013-01-08 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-adb-file-name-handler-alist): + Remove spurious entry. + +2013-01-08 Glenn Morris <rgm@gnu.org> + + * net/tramp.el (tramp-default-host-alist): Add :version. + +2013-01-08 Juri Linkov <juri@jurta.org> + + * info.el (Info-read-node-name-2): Don't duplicate suffixes for + single completion. (Bug#12456) + (info--manual-names): Expand node completions into an explicit list + before appending it to another list. Filter out internal buffers + with the leading space in the buffer name. (Bug#10771) + +2013-01-08 Juri Linkov <juri@jurta.org> + + * info.el (Info-read-node-name-1): Allow empty node name in (FILENAME) + that defaults to the Top node. + (Info-goto-node, Info-read-node-name): Doc fix to mention that + the short format (FILENAME) goes to the Top node. + (Info-build-node-completions): Rename arg `file' to `filename'. + (Bug#13365) + +2013-01-07 Bastien Guerry <bzg@gnu.org> + + * menu-bar.el (menu-bar-search-documentation-menu): + Use `apropos-user-option' and fix the help message. + +2013-01-07 Bastien Guerry <bzg@gnu.org> + + * apropos.el (apropos-do-all): Update docstring. + (apropos-user-option-button): New face. + (apropos-user-option): Rename from `apropos-variable' and update + docstring. + (apropos-variable): Rewrite, now show all variables by default. + (apropos-print): Mention "User option" instead of "Variable" when + printing doc for user options. (Bug#13276) + +2013-01-07 Jürgen Hötzel <juergen@archlinux.org> + + * net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls): + Handle filename correctly, when parsing "source -> target" symlink + output. + (tramp-adb-handle-set-file-times): New defun. + +2013-01-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el (ad-activate-advised-definition): Refresh the + advice list when the interactive-spec of ad-Advice-* changes. + +2013-01-07 Katsumi Yamaoka <yamaoka@jpl.org> + + * wid-edit.el (widget-default-get): Work for inlined elements. + (Bug#12670) + +2013-01-07 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-default-host-alist): New defcustom. + (tramp-find-host): Use it. + (tramp-eshell-directory-change): Move from tramp-sh.el. Add to + `eshell-directory-change-hook'. + + * net/tramp-adb.el (top): Add adb specific entry in + `tramp-default-host-alist'. + (tramp-adb-file-name-host): Remove function. + (tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection): + Use `tramp-file-name-host' instead of `tramp-adb-file-name-host'. + + * net/tramp-sh.el: Move eshell integration code to tramp.el. + +2013-01-06 Jürgen Hötzel <juergen@archlinux.org> + + * net/tramp-adb.el (tramp-methods): Add `tramp-tmpdir' entry. + +2013-01-06 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): The file size can + consist of more than one digit. + (tramp-adb-file-name-handler-alist): + Use `tramp-handle-file-exists-p' consistently. + (tramp-adb-file-name-handler): Don't tweak `tramp-default-host'. + (tramp-adb-handle-file-exists-p): Remove function. + (tramp-adb-file-name-host): New defun. + (tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection): + Use it. + (tramp-adb-maybe-open-connection): Set "remote-path" property. + +2013-01-06 Chong Yidong <cyd@gnu.org> + + * vc/vc.el (vc-next-action): Detect buffer modifications + conflicting with locking VCS operation (Bug#11490). + + * vc/vc-hooks.el (vc-after-save): DTRT for locking VCSes. + +2013-01-05 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls): + (tramp-adb-handle-directory-files-and-attributes): Fix typos. + +2013-01-05 Jürgen Hötzel <juergen@archlinux.org> + + * net/tramp-adb.el (tramp-adb-handle-file-attributes): More robust + parsing of ls output using regular expression (handle filenames + with spaces). Use virtual device number. + (tramp-do-parse-file-attributes-with-ls): New defun (Code + cleanup). + +2013-01-04 Daiki Ueno <ueno@gnu.org> + + * epg.el: Silence byte-compiler warnings. + (epg--start): Use delete-char instead of delete-backward-char. + (epg-wait-for-completion): Pass FRAME arg to redraw-frame. + +2013-01-04 Daiki Ueno <ueno@gnu.org> + + * epg.el (epg--start): Don't call "tty" program on W32 platforms. + Suggested by Eli Zaretskii <eliz@gnu.org>. + +2013-01-04 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-set-file-uid-gid): UID and GID must be + non-negative integers. Otherwise, the default values are used. + (tramp-convert-file-attributes): Convert uid and gid to integers. + +2013-01-04 Glenn Morris <rgm@gnu.org> + + * term.el (term-handle-colors-array): Ensure face attributes + are fully specified, not nil. (Bug#13337) + + * term.el (term-default-fg-color, term-default-bg-color): + Fix custom type. + + * progmodes/etags.el (tags-compression-info-list): Doc fix. + (tag-find-file-of-tag-noselect): Check auto-compression-mode + rather than 'jka-compr being loaded. (Bug#13338) + +2013-01-04 Wesley Dawson <whd@lavabit.com> (tiny change) + + * icomplete.el (icomplete-completions): + Honor icomplete-prospects-height once more following + 2012-11-29 changes. (Bug#13224) + +2013-01-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (internal--called-interactively-p--get-frame): Find aliases + of called-interactively-p as well (bug#13237). + + * view.el (view--enable, view--disable): Rename from view-mode-enable + and view-mode-disable and assume it's called from view-mode. + (view-mode-enable, view-mode-disable): Redefine as obsolete + compatibility layer above view-mode. + (view-mode-enter): Call `view-mode'. + + * files.el (after-find-file): Call `view-mode'. + + * doc-view.el (doc-view-scale-internally): New var. + (doc-view-enlarge, doc-view-insert-image): Obey it. + +2013-01-03 Daiki Ueno <ueno@gnu.org> + + * epg.el (epg--start): Ignore errors when /dev/fd/0 does not + exist. (Bug#13344) + +2013-01-03 Glenn Morris <rgm@gnu.org> + + * mail/rmail.el (rmail-set-header-1): Ignore case. + Handle multi-line headers. (Bug#13330) + + * progmodes/make-mode.el (makefile-fill-paragraph): Add doc. + Handle paragraph starting at beginning of buffer. + + * subr.el (eval-after-load): Don't purecopy the form, so that it + can be nconc'd later on; reverts 2009-11-11 change. (Bug#13331) + + * emacs-lisp/byte-run.el (defun): Place cl declarations + after any interactive spec. (Bug#13265) + +2013-01-02 Andreas Schwab <schwab@linux-m68k.org> + + * emacs-lisp/byte-run.el (defmacro): Use same argument parsing as + defun. Don't check for DECL if DOCSTRING isn't a string. + (defun): Likewise. + +2013-01-02 Glenn Morris <rgm@gnu.org> + + * eshell/em-cmpl.el (eshell-pcomplete): + More thoroughly imitate pcomplete. (Bug#13293) + + * files.el (parse-colon-path): Doc fix. (Bug#12351) + Return nil for empty path elements. (Bug#13296) + +2013-01-02 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-nav-end-of-statement): Rewrite in + order to improve efficiency (Based on Daniel Colascione's + <dancol@dancol.org> patch). (Bug#13182) + +2013-01-02 Glenn Morris <rgm@gnu.org> + + * vc/log-edit.el (log-edit-header-contents-regexp): Add doc string. + +2013-01-02 Andreas Schwab <schwab@linux-m68k.org> + + * emacs-lisp/byte-run.el (defmacro): Don't lose final nil if + neither DOCSTRING nor DECL was given. (Bug#13316) + +2013-01-02 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-set-file-acl): Add argument to + `error' call. + (tramp-do-copy-or-rename-file): Ignore errors when calling + `set-file-extended-attributes'. + + * net/tramp-smb.el (tramp-smb-file-name-handler-alist): + Add handler for `file-acl'. + (tramp-smb-handle-file-acl): New defun. + +2013-01-02 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/README: Mention ISO 8601 week-numbering dates. + +2013-01-01 Martin Rudalics <rudalics@gmx.at> + + * view.el (view-mode-enable): New argument run-view-mode-hook. + Run view-mode-hook only when it's non-nil (Bug#13315). + (view-mode-enter): Call view-mode-enable with run-view-mode-hook + argument t. + +2012-12-31 Jürgen Hötzel <juergen@archlinux.org> + + * net/tramp-adb.el (tramp-adb-maybe-open-connection): Handle errors + (No device connected, invalid device name). (Bug #13299) + +2012-12-31 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-resizable--p): Rename to window-resizable-p. + (window-resize-no-error): New function. + + * mail/rmail.el (rmail-maybe-display-summary): Restore behavior + broken in fix from 2012-12-28. + +2012-12-31 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (special-form-p): Don't signal errors on undef aliases. + +2012-12-31 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-forms.el (math-parse-date): Try using + `math-parse-iso-date' when it looks like it might be needed. + Allow times of 24:00. + (math-parse-date-validate, math-parse-iso-date-validate): Allow times + of 24:00. + +2012-12-30 Glenn Morris <rgm@gnu.org> + + * net/mairix.el (rmail, rmail-summary-displayed, rmail-summary): + Remove unnecessary/buggy autoloads (missing interactive). (Bug#13294) + (rmail-summary-displayed, rmail-summary): Declare. + (mairix-rmail-display): Just require rmail. + +2012-12-30 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/package.el (package-untar-buffer): Improve integrity + check for the tarball contents. + +2012-12-30 Matt Fidler <matt.fidler@alcon.com> (tiny change) + + * emacs-lisp/package.el (package-untar-buffer): Handle problematic + tarfile content listings (Bug#13136). + +2012-12-30 Mark Lillibridge <mark.lillibridge@hp.com> + + * mail/rmailmm.el (rmail-insert-mime-forwarded-message): + Insert the undecoded text of the message being forwarded. (Bug#9521) + +2012-12-30 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-set-file-uid-gid): Convert UID and GID to + integers, if they are real numbers. (Bug#13282) + + * net/tramp-sh.el (tramp-sh-handle-set-file-selinux-context): + Return `t' on success. + + * net/tramp-smb.el (tramp-smb-file-name-handler-alist): + Add handler for `set-file-selinux-context'. + +2012-12-29 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-file-acl): Suppress basic attributes. + (tramp-sh-handle-set-file-acl): Return `t' on success. + +2012-12-29 Eli Zaretskii <eliz@gnu.org> + + * files.el (backup-buffer-copy, basic-save-buffer-2): + If set-file-extended-attributes fails, fall back on set-file-modes + instead of signaling an error. (Bug#13298) + (basic-save-buffer): Likewise. + +2012-12-29 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: Support other commands triggering + python-indent-line so indentation cycling continues to work. + (python-indent-trigger-commands): New defcustom. + (python-indent-line): Use it. + +2012-12-29 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-shell-send-region): Add blank lines + for non sent code so backtraces remain correct. + +2012-12-29 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: Remove cl dependency. + (python-syntax-count-quotes): Replace incf call. + (python-fill-string): Replace setf call. + +2012-12-29 Damien Cassou <damien.cassou@gmail.com> + + * info.el (info-other-window): New arg, for consistency with info. + +2012-12-28 Martin Rudalics <rudalics@gmx.at> + + * mail/rmail.el (rmail-maybe-display-summary): + Rewrite (Bug#13066). + +2012-12-28 Andreas Schwab <schwab@linux-m68k.org> + + * epg.el (epg--start): Modify process-environment locally. + +2012-12-28 Daiki Ueno <ueno@gnu.org> + + * epg.el: Support pinentry-curses. + Suggested by Werner Koch in + <http://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00755.html>. + (epg-agent-file, epg-agent-mtime): New variable. + (epg--start): Record the modified time of gpg-agent socket file, + to restore Emacs frame after pinentry-curses termination. + (epg-wait-for-completion): Restore Emacs frame here. + +2012-12-27 Juri Linkov <juri@jurta.org> + + * info.el (Info-file-completions): New variable. + (Info-read-node-name-1): Complete node names in the Info file + when a file name is given. Call `Info-build-node-completions' + with a file name. + (Info-build-node-completions): Add new arg `file'. When it is + non-nil, visit it in a temporary buffer and cache its completions in + `Info-current-file-completions'. Move most of the function body to + `Info-build-node-completions-1'. + (Info-build-node-completions-1): New function with the body from + `Info-build-node-completions'. (Bug#12456) + +2012-12-27 Juri Linkov <juri@jurta.org> + + * frame.el (frame-maximization-style): Remove user option. + (cycle-frame-maximized): Remove function. + (toggle-frame-maximized): Rewrite and bind to M-<f10>. + (toggle-frame-fullscreen): New command bound to <f11> instead of + `toggle-frame-maximized'. + http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00703.html + +2012-12-27 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-handle-file-accessible-directory-p): New defun. + + * net/tramp-adb.el (tramp-adb-file-name-handler-alist): + * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + * net/tramp-sh.el (tramp-sh-file-name-handler-alist): Add handler + for `file-accessible-directory-p'. (Bug#13275) + +2012-12-27 Sam Steingold <sds@gnu.org> + + * progmodes/cperl-mode.el (cperl-calculate-indent): Do not stagger + continuations, see <http://stackoverflow.com/questions/3582436>. + +2012-12-27 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-indent-beg-re): Only allow "class", + "module" and "def" to have indentation before them. + Regression from 2012-09-07T04:15:56Z!dgutov@yandex.ru (see the new test). + + * progmodes/ruby-mode.el: Bump the version to 1.2 (Bug#13200). + +2012-12-27 Alan Mackenzie <acm@muc.de> + + Speed up fontification where there's large brace blocks. + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Add a limit + to a call of c-beginning-of-decl-1. + +2012-12-27 Vitalie Spinu <spinuvit@gmail.com> (tiny change) + + * comint.el (comint-adjust-window-point): New function. + (comint-postoutput-scroll-to-bottom): + Call comint-adjust-window-point (Bug#13248). + +2012-12-26 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (auto-mode-alist): `purecopy' the + Rakefile regexp. + (auto-mode-alist): Associate .gemspec files with ruby-mode + (https://bugs.ruby-lang.org/issues/5453). + +2012-12-26 Jürgen Hötzel <juergen@archlinux.org> + + * net/tramp-adb.el (tramp-adb-get-ls-command): New defun. + Suppress coloring, if possible (required for BusyBox based systems like + CyanogenMod). + (tramp-adb-handle-file-attributes) + (tramp-adb-handle-insert-directory) + (tramp-adb-handle-file-name-all-completions): Use it. + (tramp-adb-get-toolbox): New defun. Check for remote shell + implementation (BusyBox or Toolbox). + +2012-12-24 Constantin Kulikov <zxnotdead@gmail.com> (tiny change) + + * startup.el (initial-buffer-choice): Allow function as value + (Bug#13251). + (command-line-1): Handle case where initial-buffer-choice + specifies a function. + * server.el (server-execute): Handle case where + initial-buffer-choice specifies a function. + +2012-12-24 Lars Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-try-auth-method): Refactored out into + its own function. + (smtpmail-try-auth-methods): Forget the user name/password if the + login is unsuccessful (bug#12424). + +2012-12-22 Michael Albinus <michael.albinus@gmx.de> + + * notifications.el (notifications-notify): Protect body with + `with-demoted-errors'. + + * net/tramp-adb.el (tramp-adb-maybe-open-connection): + Check properties of remote device. Restart connection, if there is a + change. + +2012-12-21 Chong Yidong <cyd@gnu.org> + + * sort.el (sort-subr): Doc fix (Bug#13056). + +2012-12-21 Bastien Guerry <bzg@gnu.org> + + * progmodes/etags.el (tags-search): Fix typo. Bug #13232. + +2012-12-21 Michael Albinus <michael.albinus@gmx.de> + + * simple.el (process-file): Overwrite stderr file, if exists. + +2012-12-21 Daiki Ueno <ueno@gnu.org> + + * epg.el (epg--start): Print GPG_AGENT_INFO in the debug buffer. + (epg-error): Set `error-message' property. + +2012-12-21 Chong Yidong <cyd@gnu.org> + + * international/mule-cmds.el (read-char-by-name): Signal an error + if the user does not supply a valid character (Bug#13177). + + * simple.el (transpose-subr-1): Preserve marker positions by + changing the insertion sequence (Bug#13122). + +2012-12-21 Kelly Dean <kellydeanch@yahoo.com> (tiny change) + + * simple.el (kill-region): Deactivate mark even for empty regions + (Bug#13169). + +2012-12-21 Chong Yidong <cyd@gnu.org> + + * help-fns.el (describe-variable): Make sure we get the right + buffer name (Bug#13105). Suggested by Kelly Dean. + +2012-12-20 Michael R. Mauger <mmaug@yahoo.com> + + * comint.el (comint-redirect-previous-input-string): New variable. + (comint-redirect-setup, comint-redirect-cleanup) + (comint-redirect-preoutput-filter): Use it. Fixes redirection bug. + (comint-redirect-preoutput-filter): Fix verbose message. + +2012-12-20 Michael Albinus <michael.albinus@gmx.de> + + * progmodes/grep.el (rgrep): Escape command line. Sometimes, it + is too long for Tramp. See discussion in + <http://thread.gmane.org/gmane.emacs.tramp/8233/focus=8244>. + + * progmodes/compile.el (compilation-start): Remove line escape + template. + +2012-12-20 Dmitry Antipov <dmantipov@yandex.ru> + + * vc/ediff-ptch.el (ediff-map-patch-buffer): Use `point-min-marker'. + Adjust comment. + +2012-12-19 Jonas Bernoulli <jonas@bernoul.li> + + * emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the + following non-comment text (bug#13207). + (lm-header-multiline): Continuation lines need to be indented more than + the first line. + (lm-homepage): New function. + (lm-with-file): Don't be confused if narrowing is in effect. + +2012-12-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/diff-mode.el (diff-post-command-hook): Don't ignore changes at the + very beginning of a hunk (e.g. killing the first line). + +2012-12-19 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-file-acl): Delete empty lines + and text properties from returned ACL string. + (tramp-sh-handle-set-file-acl): Do not use additional parentheses + for "setfacl" command. + +2012-12-18 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-error-with-buffer): Give a hint to use + `tramp-cleanup-this-connection', when the process has died. + (Bug#13151) + +2012-12-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * icomplete.el (icomplete-completions): Also use … to truncate prefix. + +2012-12-17 Kevin Ryde <user42@zip.com.au> + + * files.el (auto-save-file-name-p): Use \` and \' (bug#13186). + +2012-12-17 Michael Albinus <michael.albinus@gmx.de> + + Add support for preserving ACL entries of files. + + * net/tramp.el (tramp-file-name-for-operation): Add `file-acl' and + `set-file-acl' handlers. + + * net/tramp-adb.el (tramp-adb-handle-copy-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + + * net/tramp-compat.el (tramp-compat-copy-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + + * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + Add `file-acl' and `set-file-acl' handlers. + (tramp-gvfs-handle-copy-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + (tramp-gvfs-handle-file-acl, tramp-gvfs-handle-set-file-acl): + New defuns. + + * net/tramp-sh.el (tramp-sh-file-name-handler-alist): + Add `file-acl' and `set-file-acl' handlers. + (tramp-remote-acl-p, tramp-sh-handle-file-acl) + (tramp-sh-handle-set-file-acl): New defuns. + (tramp-sh-handle-copy-file, tramp-do-copy-or-rename-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + + * net/tramp-smb.el (tramp-smb-file-name-handler-alist): + Add `file-acl' and `set-file-acl' handlers. + (tramp-smb-handle-copy-file): Handle PRESERVE-EXTENDED-ATTRIBUTES. + +2012-12-17 Kelly Dean <kellydeanch@yahoo.com> (tiny change) + + * help-macro.el (make-help-screen): Instead of switch-to-buffer + use pop-to-buffer with NORECORD argument t. As buffer name, use + *Metahelp* with a leading space (Bug#13146). + +2012-12-16 Romain Francoise <romain@orebokech.com> + + * files.el (file-extended-attributes) + (set-file-extended-attributes): New functions. + (backup-buffer): Use them to handle both SELinux context and ACL + entries. + (backup-buffer-copy): Work with an alist of extended attributes, + rather than an SELinux context. + (basic-save-buffer-2): Ditto. + +2012-12-16 Timo Myyrä <timo.myyra@gmail.com> + + * battery.el (battery-bsd-apm): New function. + +2012-12-16 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc.el (calc-standard-date-formats): Adjust one of the + standard date formats. + +2012-12-15 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-mode-map): Bind `C-x 8 RET' to + `isearch-insert-char-by-name'. + (with-isearch-suspended): New defmacro with body mostly from + `isearch-edit-string' except the part that sets + `isearch-new-string' and `isearch-new-message'. + (isearch-edit-string): Use new macro `with-isearch-suspended' with + body that sets `isearch-new-string' and `isearch-new-message'. + (isearch-insert-char-by-name): New command. + * international/mule-cmds.el (read-char-by-name): Let-bind + `enable-recursive-minibuffers' to t. + http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00234.html + +2012-12-15 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-delete-char, isearch-del-char): Doc fix. + (Bug#13175) + +2012-12-15 Christopher Schmidt <christopher@ch.ristopher.com> + + * dired-x.el (dired-guess-shell-command): Put colon at the end of + the prompt. (Bug#13045) + +2012-12-14 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/macroexp.el (macroexp--warn-and-return): + Try to include filename in non-bytecomp warning. (Bug#13132) + +2012-12-14 Paul Eggert <eggert@cs.ucla.edu> + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * files.el (backup-buffer): Don't rely on 9th output of + file-attributes, as it's now a placeholder. Instead, use the new + optional arg of file-ownership-preserved-p. + (file-ownership-preserved-p): New optional arg GROUP. + Fix mishandling of setuid directories that would cause this + function to return t when it should have returned nil. + Document what happens if the file does not exist, and when + it's not known whether the ownership will be preserved. + * net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p): + Likewise. + (tramp-get-local-gid): Use group-gid for integer, as that's + faster and more reliable. + +2012-12-14 Julien Danjou <julien@danjou.info> + + * progmodes/sql.el (sql-mode-postgres-font-lock-keywords): + Update keywords list, data type and PL/pgSQL. + +2012-12-14 Dave Abrahams <dave@boostpro.com> + + * vc/ediff-util.el (ediff-buffer-type): New function. + (ediff-clone-buffer-for-current-diff-comparison): Compute the buf-type + rather than taking it as as argument. + (ediff-inferior-compare-regions): Adjust calls accordingly (bug#11319). + +2012-12-14 Ryan Crum <ryan.crum@eleostech.com> + + * json.el: Add pretty-print option (bug#12634). + (json-encoding-separator, json-encoding-default-indentation) + (json--encoding-current-indentation, json-encoding-pretty-print) + (json-encoding-lisp-style-closings): New vars. + (json--with-indentation): New macro. + (json-encode-hash-table, json-encode-alist, json-encode-plist) + (json-encode-array): Use it to obey json-encoding-pretty-print. + (json-pretty-print-buffer, json-pretty-print): New commands. + +2012-12-14 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-syntax-propertize-function): + Extract `ruby-syntax-propertize-expansions'. + (ruby-syntax-propertize-expansions): Only change syntax on + certain string delimiters, to punctuation. This way the common + functions like forward-word and thing-at-point still work. + (ruby-match-expression-expansion): Improve readability. + (ruby-block-contains-point): New function. + (ruby-add-log-current-method): Handle several edge cases. + +2012-12-13 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/edebug.el (edebug-unload-function): Make sure that + unload-feature finishes even when aborting an ongoing edebug session. + Also, do not worry about edebug-mode, unload-feature takes care of it. + +2012-12-13 Andreas Schwab <schwab@suse.de> + + * net/tls.el (tls-program): Update customize type. + +2012-12-13 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/edebug.el (edebug--require-cl-read): New function. + (edebug-setup-hook, cl-read-load-hooks): Use it. + (edebug-unload-function): New function. (Bug#13163) + +2012-12-13 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-adb.el (tramp-adb-file-name-p): Make it a defsubst. + Otherwise, there could be errors in autoloading. (Bug#13151) + +2012-12-13 Jürgen Hötzel <juergen@archlinux.org> + + * net/tramp-adb.el (tramp-adb-wait-for-output): Remove spurious " ^H" + sequences. + +2012-12-13 Alan Mackenzie <acm@muc.de> + + Make CC Mode not hang when _some_ lines end in CRLF. Bug #11841. + * progmodes/cc-engine.el (c-backward-comments): Add code to work + around `forward-comment' not recognizing ^M as whitespace. + +2012-12-13 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-skeleton-class) + (python-skeleton-def): Do not add space after defun name. + +2012-12-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl.el (letf): Make it an alias of cl-letf. + (cl--symbol-function): Remove (now that funbound is like nil). + +2012-12-12 Glenn Morris <rgm@gnu.org> + + * button.el (button--area-button-p): Fix typo. + +2012-12-12 Sam Steingold <sds@gnu.org> + + * frame.el (frame-maximization-style): New user option. + (toggle-frame-maximized): Toggle frame maximization according to + `frame-maximization-style', bound to <f11>. + (cycle-frame-maximized): Cycle between all maximization styles and + non-maximized frame, bound to shift-<f11>. + +2012-12-12 David Cadé <codename68@gmail.com> + + * mpc.el (mpc-format): Use truncate-string-to-width (bug#13143). + +2012-12-12 Jonas Bernoulli <jonas@bernoul.li> + + * lisp/emacs-lisp/eieio.el: Prettier object pretty-printing (bug#13115). + (eieio-override-prin1): Don't quote kewords and booleans. + (object-write) <eieio-default-superclass>: Don't put closing parens + on new line, avoid needless empty lines, align values that are objects + with the slot keyword (instead of beginning on the same line). + (eieio-list-prin1): Align value with slot keyword; increase + eieio-print-depth before printing members of the list. + +2012-12-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * mail/emacsbug.el (report-emacs-bug): Move the intangible text to + a display text-property. + (report-emacs-bug-hook): Don't bother deleting it any more. + + * hilit-chg.el (highlight-save-buffer-state): Delete. + Use with-silent-modifications instead. + (hilit-chg-set-face-on-change): Only fixup the text that's modified. + + * button.el: Handle buttons in display text-properties. + (button--area-button-p, button--area-button-string): + Use (STRING . STRING-POS) representation instead of just STRING. + +2012-12-11 Eli Zaretskii <eliz@gnu.org> + + * makefile.w32-in (compile4-SH): Fix a typo that caused term + subdirectory be skipped. + +2012-12-11 Glenn Morris <rgm@gnu.org> + + * net/rcirc.el (rcirc-urls, rcirc-condition-filter): Doc fixes. + + * progmodes/f90.el (f90-line-continued, f90-indent-region): + Treat preprocessor lines embedded in continuations like comments. + (f90-indent-line): Special-case preprocessor lines. (Bug#13138) + +2012-12-11 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc.el (calc-standard-date-formats): Add more date + formats. + * calc/calc-forms.el (math-parse-iso-date): New function. + (math-parse-date): Use `math-parse-iso-date' when appropriate. + (math-parse-iso-date-validate): Add extra error checking. + (calc-date-notation): Add ability to access new date formats. + +2012-12-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * hi-lock.el (hi-lock--regexps-at-point): Fix boundary case for + font-lock as well as when there's no text-property. + +2012-12-10 Jambunathan K <kjambunathan@gmail.com> + + * hi-lock.el: Refine the choice of default face. + (hi-lock-keyword->face): New function. Use it wherever we used + cadadadr instead. + (hi-lock--regexps-at-point): Ignore faces that can't come from hi-lock. + (hi-lock--last-face): Remove var. + (hi-lock--unused-faces): New var to replace it. + (hi-lock-read-face-name): Use/maintain it. + (hi-lock-unface-buffer): Maintain it. Fix error for the C-u case. + (hi-lock-set-pattern): Ignore new rule if it has the same regexp even + if it has another face. + +2012-12-10 Eli Zaretskii <eliz@gnu.org> + + * subr.el (w32notify-handle-event): New function. + (inotify-handle-event): Doc fix. + +2012-12-10 Rüdiger Sonderfeld <ruediger@c-plusplus.de> + + * subr.el (inotify-event-p, inotify-handle-event): New functions. + +2012-12-10 Dani Moncayo <dmoncayo@gmail.com> + + * simple.el (just-one-space): Doc fix. + +2012-12-10 Eli Zaretskii <eliz@gnu.org> + + * textmodes/texinfo.el (texinfo-enable-quote-envs): Add "smallexample". + +2012-12-10 Le Wang <l26wang@gmail.com> + + * hilit-chg.el (hilit-chg-set-face-on-change): Don't burp in + narrowed buffer (bug#12361). + +2012-12-10 Juanma Barranquero <lekktu@gmail.com> + + * vc/vc-hooks.el (vc-state): Doc fix. + +2012-12-10 Glenn Morris <rgm@gnu.org> + + * mail/rmail.el (rmail-maybe-display-summary): + Preserve buffer, in case select-window changes it. (Bug#13066) + +2012-12-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl.el, emacs-lisp/cl-lib.el: Move cl-unload-function and + cl-load-hook where they belong. + +2012-12-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-lib.el (cl-declaim): Paren typo. + +2012-12-09 Eli Zaretskii <eliz@gnu.org> + + Parallelize byte compilation on MS-Windows. + * makefile.w32-in (WINS_BASIC1, WINS_BASIC2, WINS_BASIC3) + (WINS_BASIC4): New variables, subdivide subdirectories into 4 parts. + (WINS_BASIC): Define as concatenation of the above. + (compile): Subdivide into 4 separate and independent jobs that can + be run in parallel. + (compile0-CMD, compile0-SH): New targets for compiling + COMPILE_FIRST files, which are prerequisites for the rest of the + byte-compilation. + (compile1-CMD, compile2-CMD, compile3-CMD, compile4-CMD): + New targets for parallel compilation with cmd.exe. + (compile1-SH, compile2-SH, compile3-SH, compile4-SH): Ditto for + compiling under a Unixy shell. + +2012-12-09 Chong Yidong <cyd@gnu.org> + + * simple.el (set-mark-default-inactive): Delete this + accidentally-introduced option. + (set-mark-command, exchange-point-and-mark): Remove calls. + +2012-12-09 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/lisp-mode.el (eval-defun-1): Doc fix. + Respect a defcustom's :set function, if appropriate. (Bug#109) + (eval-defun): Doc fix. + +2012-12-08 Juri Linkov <juri@jurta.org> + + * info.el (Info-copy-current-node-name, Info-breadcrumbs) + (Info-fontify-node, Info-bookmark-make-record): Remove the + file extension from Info-current-file (Bug#13016). + +2012-12-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * hi-lock.el (hi-lock-unface-buffer): If there's no matching regexp at + point, still provide some default. + (hi-lock--regexps-at-point): Don't enforce a "hi-lock-" prefix on face + names, since we don't use it right now. Actually return the list. + (hi-lock-file-patterns, hi-lock-interactive-patterns): Use defvar-local. + +2012-12-07 Chong Yidong <cyd@gnu.org> + + * novice.el (disabled-command-function): Remove a spurious help + xref (Bug#13043). Suggested by Kelly Dean. + + * subr.el (text-clone-maintain): Fix clone overlay deletion when a + syntax is specified (Bug#13025). + + * info.el (Info-set-mode-line): Remove the file extension from + Info-current-file if there is one (Bug#13016). + +2012-12-07 Glenn Morris <rgm@gnu.org> + + * mail/rmail.el (rmail-mime-decoded): New permanent local. + (rmail-show-message-1): Set rmail-mime-decoded when appropriate. + * mail/rmailedit.el (rmail-cease-edit): Respect rmail-mbox-format + and rmail-mime-decoded. (Bug#9841) + + * mail/unrmail.el (unrmail-mbox-format): New option. (Bug#6574) + (batch-unrmail, unrmail): Doc fixes. + (unrmail): Respect unrmail-mbox-format. + * mail/rmail.el (rmail-mbox-format): New option. + (rmail-show-message-1): Respect rmail-mbox-format. + +2012-12-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl-tagbody): New macro. + +2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> + + Further cleanup of the "cl-" namespace. Fit CL in 80 columns. + * emacs-lisp/cl-macs.el (cl--pop2, cl--optimize-safety) + (cl--optimize-speed, cl--not-toplevel, cl--parse-loop-clause) + (cl--expand-do-loop, cl--proclaim-history, cl--declare-stack) + (cl--do-proclaim, cl--proclaims-deferred): Rename from the "cl-" prefix. + (cl-progv): Don't rely on dynamic scoping to find the body. + * emacs-lisp/cl-lib.el (cl--optimize-speed, cl--optimize-safety) + (cl--proclaims-deferred): Rename from the "cl-" prefix. + (cl-declaim): Use backquotes. + * emacs-lisp/cl-extra.el (cl-make-random-state, cl-random-state-p): + Use "cl--" prefix for the object's tag. + + * ses.el: Use advice-add/remove. + (ses--advice-copy-region-as-kill, ses--advice-yank): New functions. + (copy-region-as-kill, yank): Use advice-add. + (ses-unload-function): Use advice-remove. + +2012-12-06 Jonas Bernoulli <jonas@bernoul.li> + + * button.el: Make them work in header-lines (bug#12817). + (button-map): Add bindings for header-line and mode-line use. + (button-get, button-put, button-label): `button' may now be a string. + (button-activate): Don't make it a defsubst. + (button--area-button-p, button--area-button-string): New functions. + (make-text-button): Fix the return value when `beg' was a string. + (push-button): Handle the mode-line case. + +2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/sql.el: Use cl-lib and lexical-binding; various cleanup. + (sql-signum): Remove. Use `cl-signum' instead. + (sql-read-passwd): Remove; use read-passwd instread. + (sql-get-login-ext): Use read-string. + (sql-get-login): Use dolist and pcase. + (sql--completion-table): Rename from sql-try-completion. + Use complete-with-action. + (sql-mode): Don't change abbrev-all-caps globally. + (sql-connect): Don't rely on dynamic scoping for `new-name'. + (sql-postgres-completion-object): Initialize vars in their `let'. + (sql-comint-sybase, sql-comint-sqlite, sql-comint-mysql) + (sql-comint-solid, sql-comint-ms, sql-comint-postgres) + (sql-comint-interbase): Use a single append, without setq. + (sql-comint-linter): Same, and unwind-protect the LINTER_MBX var. + + * hi-lock.el: Rework the default face and the serialize regexp code. + (hi-lock--auto-select-face-defaults): Remove. + (hi-lock-string-serialize-serial): Remove. + (hi-lock--hashcons-hash): Rename from hi-lock-string-serialize-hash; + make weak. + (hi-lock--hashcons): Rename from hi-lock-string-serialize, return an + equal string. + (hi-lock-set-pattern): Adjust accordingly. + (hi-lock--regexps-at-point): Simplify accordingly. + (hi-lock--auto-select-face-defaults): Remove. + (hi-lock--last-face): New var to replace it. + (hi-lock-read-face-name): Rewrite (bug#11095). + (hi-lock-unface-buffer): Arrange for the face to be the next default. + +2012-12-06 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-replace-environment-variables): + Hide compiler warning. + (tramp-file-name-for-operation): Remove `executable-find', + `start-process', `call-process' and `call-process-region'. + + * net/tramp-compat.el (top): Don't require 'tramp-util and 'tramp-vc. + + * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Ensure backward + compatibility. + + * net/tramp-sh.el (top): Remove `tramp-sh-handle-call-process-region'. + +2012-12-06 Chong Yidong <cyd@gnu.org> + + * ffap.el (ffap-replace-file-component): Fix typo. + +2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/octave-mod.el (octave-mark-block): Move out of tokens and + fix open-paren-like token test (bug#12785). + +2012-12-06 Glenn Morris <rgm@gnu.org> + + * mail/rmailsum.el (rmail-new-summary): Tweak for + rmail-maybe-display-summary changing buffer. (Bug#13066) + +2012-12-06 Juri Linkov <juri@jurta.org> + + * info.el (Info-fontify-node): Don't hide the last newline. + (Bug#12272) + +2012-12-06 Katsumi Yamaoka <yamaoka@jpl.org> + + * mail/mailabbrev.el (mail-abbrev-expand-wrapper): Work in minibuffer + so as to enable message-read-from-minibuffer to expand mail aliases. + +2012-12-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuf-eldef.el (minibuf-eldef-update-minibuffer): Don't mess with + the `intangible' property. + Suggested by Christopher Schmidt <christopher@ch.ristopher.com> + +2012-12-05 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-urls): Update documentation. + (rcirc-condition-filter): New function. + (rcirc-browse-url, rcirc-markup-urls): Use only URLs before point + and exclude consecutive duplicate URLs (Bug#6082). + +2012-12-05 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Check return code of copy command. + + * net/tramp-adb.el (tramp-adb-sdk-dir, tramp-adb-prompt): + Use group `tramp'. Add version. + +2012-12-05 Chong Yidong <cyd@gnu.org> + + * ffap.el (ffap-url-regexp): Don't require matching at front of + string (Bug#4952). + (ffap-url-p): If only a substring matches, return that. + (ffap-url-at-point): Use the return value of ffap-url-p. + (ffap-read-file-or-url, ffap-read-file-or-url-internal) + (find-file-at-point, dired-at-point, dired-at-point-prompter) + (ffap-guess-file-name-at-point): Likewise. + (ffap-replace-file-component): Fix typo. + + * info.el (info-display-manual): Add existing Info buffers, whose + files may not be in Info-directory-list, to the completion. + (info--manual-names): New helper function. + +2012-12-05 Glenn Morris <rgm@gnu.org> + + * vc/vc-hg.el (vc-hg-resolve-when-done, vc-hg-find-file-hook): + New functions, for detecting and resolving conflicts. (Bug#10709) + +2012-12-04 Jambunathan K <kjambunathan@gmail.com> + + * hi-lock.el (hi-lock-auto-select-face): New user variable. + (hi-lock-auto-select-face-defaults): New buffer local variable. + (hi-lock-read-face-name): Honor `hi-lock-auto-select-face'. + (hi-lock-unface-buffer): Prompt user with useful defaults. + With prefix arg, unhighlight all hi-lock patterns in buffer. + +2012-12-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * obsolete/terminal.el, obsolete/longlines.el: Add obsolecence info. + +2012-12-04 Michael Albinus <michael.albinus@gmx.de> + + * Makefile.in (TRAMP_SRC): + * makefile.w32-in (TRAMP_SRC): Add tramp-adb.el. + +2012-12-04 Juergen Hoetzel <juergen@archlinux.org> + + * net/tramp-adb.el: New package. + +2012-12-04 Chong Yidong <cyd@gnu.org> + + * terminal.el: Move to obsolete/. + + * longlines.el: Move to obsolete/. + + * vc/ediff-diff.el (ediff-extract-diffs, ediff-extract-diffs3): + Remove code referring to longlines mode. + +2012-12-03 Juri Linkov <juri@jurta.org> + + * sort.el (delete-duplicate-lines): New command. (Bug#13032) + +2012-12-03 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-init-process) + (ispell-start-process, ispell-internal-change-dictionary): + Make sure personal dictionary name is expanded after initial + `default-directory' value. Use expanded strings for + keep/restart checks and for value (Bug#13019). + +2012-12-03 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-forms.el (math-date-to-iso-dt): Fix weekday number. + +2012-12-03 Leo Liu <sdl.web@gmail.com> + + * files.el (dir-locals-read-from-file): Check file non-empty + before reading. (Bug#13038) + +2012-12-03 Glenn Morris <rgm@gnu.org> + + * jka-cmpr-hook.el (jka-compr-get-compression-info): + Remove any version extension before checking filename. (Bug#13006) + (jka-compr-compression-info-list): Belated :version bump. + +2012-12-03 Chong Yidong <cyd@gnu.org> + + * simple.el (transient-mark-mode): Doc fix (Bug#11523). + + * buff-menu.el (Buffer-menu-delete-backwards, Buffer-menu-mode) + (buffer-menu): Doc fix (Bug#12294). + +2012-12-03 Roland Winkler <winkler@gnu.org> + + * calendar/diary-lib.el (diary-header-line-format): Use keybinding + of diary-show-all-entries in the diary buffer (Bug#12994). + +2012-12-03 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-perl-encode): Use "read STDIN" instead of + "<STDIN>". This is binary safe. + +2012-12-03 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-forms.el (math-absolute-from-iso-dt) + (math-date-to-iso-dt, math-parse-iso-date-validate) + (math-iso-dt-to-date): New functions. + (math-fd-iso-dt, math-fd-isoyear, math-fd-isoweek) + (math-fd-isoweekday): New variables. + (calc-date-notation, math-parse-standard-date, math-format-date) + (math-format-date-part): Add support for more formatting codes. + +2012-12-02 Dmitry Gutov <dgutov@yandex.ru> + + * vc/vc.el (vc-delete-file, vc-rename-file): Default to the + current buffer's file name when called interactively (Bug#12488). + +2012-12-02 Juri Linkov <juri@jurta.org> + + * info.el (info-display-manual): Don't clobber an existing Info + buffer (Bug#10770). Add completion (Bug#10771). + +2012-12-01 Yuya Nishihara <yuya@tcha.org> (tiny change) + + * vc/vc-hooks.el (vc-find-file-hook): Expand buffer-file-truename + before using it for comparison (Bug#5297). + +2012-12-01 Jari Aalto <jari.aalto@cante.net> + + * textmodes/css-mode.el (css-current-defun-name): New function. + (css-mode): Use it. + + * textmodes/sgml-mode.el (html-current-defun-name): New function. + (html-mode): Use it. + +2012-12-01 Chong Yidong <cyd@gnu.org> + + Modularize add-log-current-defun (Bug#2224). + Suggested by Jari Aalto. + + * vc/add-log.el (add-log-current-defun-function): Doc fix. + (add-log-current-defun): Move mode-specific code to other files. + (add-log-lisp-like-modes, add-log-c-like-modes) + (add-log-tex-like-modes): Variables deleted. + + * emacs-lisp/lisp-mode.el (lisp-current-defun-name): New. + (lisp-mode-variables): Use it. + + * progmodes/cc-mode.el (c-common-init): + * progmodes/cperl-mode.el (cperl-mode): Set a value for + add-log-current-defun-function. + + * progmodes/m4-mode.el (m4-current-defun-name): New function. + (m4-mode): Use it. + + * progmodes/perl-mode.el (perl-current-defun-name): New. + (perl-mode): Use it. + + * progmodes/scheme.el (scheme-mode-variables, dsssl-mode): + Use lisp-current-defun-name. + + * textmodes/tex-mode.el (tex-current-defun-name): New. + (tex-common-initialization): Use it. + + * textmodes/texinfo.el (texinfo-current-defun-name): New. + (texinfo-mode): Use it. + +2012-12-01 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/lisp-mode.el (lisp-mode-variables, lisp-mode): + * progmodes/autoconf.el (autoconf-mode): + * progmodes/js.el (js-mode): + * progmodes/make-mode.el (makefile-mode, makefile-makepp-mode) + (makefile-bsdmake-mode, makefile-imake-mode, makefile-browse): + * progmodes/perl-mode.el (perl-mode): + * progmodes/sh-script.el (sh-mode, sh-set-shell): + * textmodes/css-mode.el (css-mode): + * textmodes/sgml-mode.el (html-mode, sgml-mode) + (sgml-tags-invisible, sgml-guess-indent): + * textmodes/tex-mode.el (tex-common-initialization) + (latex-complete-bibtex-keys, tex-shell, tex-main-file) + (doctex-mode, plain-tex-mode, latex-mode): + * textmodes/texinfo.el (texinfo-mode): Use setq-local. + +2012-12-01 Kirk Kelsey <kirk.kelsey@0x4b.net> + + * vc/vc-hg.el (vc-hg-next-revision): + Ensure use of default "tip" output format. (Bug#6968) + +2012-12-01 Kim F. Storm <storm@cua.dk> + + * startup.el (fancy-startup-tail): Add a clickable link + (Bug#2176). + +2012-12-01 Chong Yidong <cyd@gnu.org> + + * startup.el (fancy-startup-tail): Improve the message about + auto-save files (Bug#2176). + + * files.el (recover-session): Improve the descriptive message, and + use substitute-command-keys. + +2012-12-01 Glenn Morris <rgm@gnu.org> + + * ido.el (ido-file-internal): + Handle other-window, other-frame for dired. (Bug#13036) + +2012-11-30 Glenn Morris <rgm@gnu.org> + + * icomplete.el (icomplete-separator): Fix :version. + +2012-11-30 Chong Yidong <cyd@gnu.org> + + * shell.el (shell): For C-u M-x shell, use an inactive shell + buffer as the default (Bug#1975). + (shell-apply-ansi-color, shell-reapply-ansi-color): New functions. + (shell-mode): Use them to reapply ansi colorization if Shell mode + is re-enabled. + +2012-11-30 Yuriy Vostrikov <delamonpansie@gmail.com> (tiny change) + + * vc/vc-git.el (vc-git-command): Disable the pager (Bug#6137). + +2012-11-30 Samuel Bronson <naesten@gmail.com> + + * progmodes/grep.el (grep-compute-defaults): Do not pass the -e + flag to xargs, for compatibility with BSD xargs (Bug#11703). + +2012-11-30 Toru TSUNEYOSHI <t_tuneyosi@hotmail.com> + + * textmodes/fill.el (fill-region-as-paragraph): Handle overshoot + by move-to-column (Bug#3234). + +2012-11-30 Chong Yidong <cyd@gnu.org> + + * longlines.el (longlines-wrap-line, longlines-encode-region): + Preserve text properties (Bug#1425). + +2012-11-30 OKAZAKI Tetsurou <okazaki.tetsurou@gmail.com> (tiny change) + + * vc/vc.el (vc-register): Allow registering a file which is + already registered with a different backend (Bug#10589). + +2012-11-29 Jambunathan K <kjambunathan@gmail.com> + Stefan Monnier <monnier@iro.umontreal.ca> + + * icomplete.el: Change separator; add ido-style commands. + (icomplete-show-key-bindings): Remove custom var. + (icomplete-get-keys): Remove function. + (icomplete-forward-completions, icomplete-backward-completions): + New commands. + (icomplete-minibuffer-map): New var. + (icomplete-minibuffer-setup): Use it. + (icomplete-exhibit): Don't delay if the list of completions is known. + (icomplete-separator): New custom. + (icomplete-completions): Use it. + * minibuffer.el (completion-all-sorted-completions): Delete duplicates. + (minibuffer-force-complete-and-exit): New command. + (minibuffer--complete-and-exit): New function extracted from + minibuffer-complete-and-exit. + (minibuffer-complete-and-exit): Use it. + + * progmodes/etags.el (visit-tags-table-buffer): Give a more precise + error message when the file doesn't exist (bug#12974). + +2012-11-29 Kelly Dean <kellydeanch@yahoo.com> (tiny change) + + * simple.el (activate-mark): Run activate-mark-hook (bug#13027). + +2012-11-29 Glenn Morris <rgm@gnu.org> + + * files.el (hack-dir-local-variables): Warn if try to set + coding via dir-locals, since it doesn't work. (Bug#7169) + + Add desktop support for restoring vc-dir buffers. (Bug#10606) + * vc/vc-dir.el (vc-dir-mode): Autoload it (for desktop restore). + Set buffer-local value of desktop-save-buffer. + (vc-dir-desktop-buffer-misc-data, vc-dir-restore-desktop-buffer): + New functions. + (desktop-buffer-mode-handlers): Add vc-dir-mode entry. + * desktop.el (desktop-save-buffer-p): Treat vc-dir like dired. + + * files.el (inhibit-local-variables-ignore-case): New. (Bug#10610) + (inhibit-local-variables-p): Use inhibit-local-variables-ignore-case. + Doc fix. + (inhibit-local-variables-regexps, inhibit-local-variables-suffixes): + Doc fixes. + +2012-11-28 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-forms.el (calc-date-notation): Fix regexp + used to find time codes. Fix symbol for seconds. + +2012-11-27 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/derived.el (derived-mode-make-docstring): + Don't mention "abbrev" or "syntax" if nil. (Bug#11277) + +2012-11-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * textmodes/table.el (table-insert): Don't use `symbol-name' on + lexically scoped variables (bug#13005). + +2012-11-27 Glenn Morris <rgm@gnu.org> + + * vc/vc-hooks.el (vc-mistrust-permissions): + Default to t, to avoid data-loss. (Bug#11490) + +2012-11-27 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-indent-guess-indent-offset): + If indentation is guessed make python-indent-offset buffer-local. + + Fix Imenu regression. + * progmodes/python.el (python-nav-beginning-of-defun): + Fix forward movement when statement(s) separates point from defun. + (python-imenu-prev-index-position): New function. + +2012-11-27 Eli Zaretskii <eliz@gnu.org> + + * subr.el (buffer-file-type): Declare with defvar-local. Doc fix. + + * dos-w32.el (find-file-not-found-set-buffer-file-coding-system): + Don't set buffer-file-type. Return nil. (Bug#12989) + +2012-11-27 Glenn Morris <rgm@gnu.org> + + * hippie-exp.el (hippie-expand-try-functions-list): + Re-autoload it. (Bug#12982) + +2012-11-27 Eli Zaretskii <eliz@gnu.org> + + * descr-text.el (describe-char-padded-string): + Call internal-char-font only on GUI frames. (Bug#11964) + +2012-11-27 Andreas Schwab <schwab@linux-m68k.org> + + * buff-menu.el (Buffer-menu-buffer+size-width): Fix customize type + and obsoletion message. + +2012-11-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl--transform-lambda): Add back `declare' in + the constructs to keep outside of the `cl-block' (bug#12977). + +2012-11-27 Chong Yidong <cyd@gnu.org> + + * mouse.el (mouse-drag-line): Even if the line is not draggable, + keep reading until we get the up-event anyway, in order to process + the up-event for mouse-1-click-follows-link (Bug#12971). + +2012-11-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el (ad-should-compile): Don't compile advice if the + base function is not yet defined (bug#12965). + (ad-activate-advised-definition): Use ad-compile-function. + (ad-activate): Use cond. + +2012-11-25 Leo Liu <sdl.web@gmail.com> + + * textmodes/sgml-mode.el (sgml-tag): Fix indentation for closing tag. + (Bug#12979) + +2012-11-24 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * textmodes/reftex-parse.el (reftex-parse-from-file): Use variable + reftex-section-info-function in order to be compatible with + Texinfo integration. + + * textmodes/reftex.el (reftex-section-pre-regexp) + (reftex-section-post-regexp, reftex-section-info-function): + New variable. + (reftex-compile-variables): Use variables reftex-section-pre-regexp, + reftex-section-post-regexp, and reftex-section-info-function in order + to be compatible with Texinfo integration. + + * textmodes/reftex-toc.el (reftex-toc-promote-action): + use reftex-section-pre-regexp variable in order to be compatible with + Texinfo integration. + +2012-11-25 Chong Yidong <cyd@gnu.org> + + * faces.el: Make face-spec-set more analogous to setq. + (face-spec-set): Change the third arg to specify whether this + function is being called via defface, customize, or a third party. + Set the appropriate symbol properties. Clear the override spec if + setting via Custom. Initialize face if necessary. (Bug#4988) + (face-spec-recalc): Allow theme faces to completely replace the + defface spec, in the same way as custom faces (Bug#8454). + + * cus-face.el (custom-declare-face): Move face initialization to + face-spec-set. + (custom-theme-set-faces): Don't initialize the face name here, as + that is now done in face-spec-set. + + * cus-edit.el (custom-face-set, custom-face-mark-to-save) + (custom-face-reset-saved, custom-face-mark-to-reset-standard): + Simplify by using the new arg to face-spec-set. + + * emacs-lisp/lisp-mode.el (eval-defun-1): When evaluating defface, + reset face-override-spec too, and use custom-declare-face. + +2012-11-24 Jan Djärv <jan.h.d@swipnet.se> + + * term/ns-win.el (ns-initialize-window-system): Move creation of + fontsets here (Bug#11964). + +2012-11-24 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el (ses-rename-cell): Correct bug on mode-line update after + cell renaming. + +2012-11-24 Chong Yidong <cyd@gnu.org> + + * woman.el (woman-default-faces, woman-monochrome-faces): Mark as + obsolete. + + * custom.el (custom-theme-set-variables): Use a topological sort + for ordering by custom dependencies (Bug#12952). + (custom--sort-vars, custom--sort-vars-1): New functions. + +2012-11-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (byte-compile-file): Setup default value for + lexical-binding (bug#12938). + +2012-11-24 Wolfgang Jenkner <wjenkner@inode.at> + + * image-mode.el (image-transform-check-size): Use assertions only + for images of type imagemagick. + + Otherwise no error, image-transform-fit-to-{width,height} is + silently ignored, as before. Doc fix. + +2012-11-24 Chong Yidong <cyd@gnu.org> + + * faces.el (color-defined-p): Doc fix (Bug#12853). + +2012-11-24 Juri Linkov <juri@jurta.org> + + * dired.el (dired-mark): Add optional arg `interactive'. + Check for `use-region-p' if `interactive' is non-nil. + (dired-unmark, dired-flag-file-deletion): Add optional arg + `interactive'. Call `dired-mark' with the arg `interactive'. + (Bug#10624) + + * wdired.el: Revert 2012-10-17 change partly and replace it with + Patch by Christopher Schmidt <christopher@ch.ristopher.com>. + (wdired-finish-edit): Add marks for new file names to + `wdired-old-marks'. Restore marks using `dired-mark-remembered' + after `revert-buffer'. + (wdired-do-renames): Remove calls to `dired-remove-file', + `dired-add-file', `dired-add-entry'. (Bug#11795) + +2012-11-24 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-defs.el (c-version): Bump to 5.32.4. + + Fix bugs in the state cache. Enhance a debugging mechanism. + * progmodes/cc-engine.el (c-parse-state-get-strategy): Don't use + "brace at column zero" strategy for C++. + (c-append-lower-brace-pair-to-state-cache): Repair algorithm. + (c-parse-state-point): New variable. + (c-record-parse-state-state): Record old parse state with + `copy-tree'. Record previous value of point. + (c-debug-parse-state-double-cons): New debugging function. + (c-debug-parse-state): Call the above new function. + (c-toggle-parse-state-debug): Output a confirmatory message. + + * progmodes/cc-mode.el (c-before-change, c-after-change): + Call c-invalidate-state-cache from `c-before-change' instead of + `c-after-change'. + +2012-11-23 Chong Yidong <cyd@gnu.org> + + * find-cmd.el (find-constituents): Add executable, ipath, + readable, samefile, writable, daystart, regextype (Bug#12856). + +2012-11-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/ert.el, emacs-lisp/ert-x.el: Use cl-lib and lexical-binding. + +2012-11-22 Paul Eggert <eggert@cs.ucla.edu> + + * calc/calc.el (calc-gregorian-switch): Move to after calc-refresh + definition. This fixes a bootstrap failure. + (calc-gregorian-switch): In menu, put dates before regions. + This is easier to follow, lines up better in the menu, and lets us + coalesce regions that switch at the same time. Give country + names, not "Vatican", as that's better for non-expert users. + Use names that are stable between the date of switch and now, e.g., + Bohemia and Moravia (which existed then and now) and not + Czechoslovakia (which didn't exist then and doesn't exist now). + What is now the U.S. mostly did not switch at the same time as + Britain, so omit the U.S. Correct spelling of "Britain". + Catholic Switzerland was too much of a mess, so omit it. + +2012-11-22 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc.el (calc-gregorian-switch): Refresh the Calc buffer + after the variable is changed. + +2012-11-21 Daniel Colascione <dancol@dancol.org> + + * progmodes/sql.el (sql-mode-font-lock-object-name): Support IF NOT EXISTS + in SQL declarations for font-lock. + (sql-imenu-generic-expression): Teach imenu about IF NOT EXISTS. + +2012-11-21 Glenn Morris <rgm@gnu.org> + + * faces.el (face-underline-p, face-inverse-video-p, face-bold-p) + (face-italic-p): Add optional argument "inherit". + + * faces.el (set-face-inverse-video, set-face-bold, set-face-italic): + Remove -p suffix from names, for consistency with other set-face-*. + (set-face-inverse-video): Fix interactive spec. + * play/gamegrid.el (gamegrid-make-mono-tty-face): + * textmodes/table.el (table--update-cell-face): + Use set-face-inverse-video rather than now obsolete alias. + +2012-11-21 Eli Zaretskii <eliz@gnu.org> + + * simple.el (line-move): Don't call line-move-partial if + scroll-conservatively is in effect. (Bug#12927) + +2012-11-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838: + Fallback on completion-at-point rather than + pcomplete-expand-and-complete, and only if pcomplete actually failed. + (eshell-cmpl-initialize): Setup completion-at-point. + + * pcomplete.el (pcomplete--entries): Obey pcomplete-ignore-case. + + * emacs-lisp/ert.el (ert--expand-should-1): Adapt to cl-lib. + +2012-11-21 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-do-copy-or-rename-file): If both files + are remote, check out-of-band property for both. + +2012-11-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el (switch-to-buffer): Re-add the warning that was lost in the + code rewrite. + +2012-11-21 Paul Eggert <eggert@cs.ucla.edu> + + More minor time fixes. + * calendar/time-date.el: Commentary fix. + * net/tramp-sh.el (tramp-do-file-attributes-with-ls): Undo last change; + too much other code depends on (0 0) time stamps. + * net/tramp.el (tramp-time-less-p, tramp-time-subtract): + Add a couple of FIXME comments. + + Minor cleanup for times as lists of four integers. + * files.el (dir-locals-directory-cache): + * ps-bdf.el (bdf-file-mod-time, bdf-read-font-info): + Doc fixes. + * net/tramp-sh.el (tramp-do-file-attributes-with-ls): + * ps-bdf.el (bdf-file-newer-than-time): + Process four-integers time stamps, not two. Doc fixes. + +2012-11-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * uniquify.el (uniquify-managed): Use defvar-local. + (rename-buffer, create-file-buffer): Advise with advice-add. + (uniquify-unload-function): Unadvise accordingly. + + * emacs-lisp/trace.el: Rewrite, use nadvice and lexical-binding. + (trace-buffer): Don't purecopy. + (trace-entry-message, trace-exit-message): Add `context' arg. + (trace--timer): New var. + (trace-make-advice): Adjust for use in nadvice. + Add `context' argument. Delay `display-buffer' via a timer. + (trace-function-internal): Use advice-add. + (trace--read-args): New function. + (trace-function-foreground, trace-function-background): Use it. + (trace-function): Rename to trace-function-foreground and redefine as + an alias to that new name. + (untrace-function, untrace-all): Adjust to the use of nadvice. + + * emacs-lisp/bytecomp.el (byte-compile): Fix handling of closures. + + * emacs-lisp/byte-run.el (defun-declarations-alist): Fix last change. + + * subr.el (called-interactively-p-functions): New var. + (internal--called-interactively-p--get-frame): New macro. + (called-interactively-p, interactive-p): Rewrite in Lisp. + * emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun. + (called-interactively-p-functions): Use it. + * emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun. + (called-interactively-p-functions): Use it. + * allout.el (allout-called-interactively-p): Don't assume + called-interactively-p is a subr. + +2012-11-20 Glenn Morris <rgm@gnu.org> + + * profiler.el (profiler-report-mode-map): Add a menu. + No need to bind `q' because we derive from special-mode. + (profiler-report-find-entry): Handle calls from the menu-bar. + +2012-11-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/byte-run.el (defun-declarations-alist): + Allow a compiler-macro to be a lambda expression. + + * progmodes/python.el: Use cl-lib. Move var declarations outside of + eval-when-compile. + (python-syntax-context): Add compiler-macro. + (python-font-lock-keywords): Simplify with De Morgan. + + * vc/diff-mode.el (diff-hunk): Don't make useless timers. + + * files.el (load-file): Require match in minibuffer selection, as was + the case in Emacs-20 before we changed the spec to allow .elc files + (bug#12935). + + * json.el: Don't require cl since we don't use it. + * color.el: Don't require cl. + (color-complement): `caddr' -> `nth 2'. + + * calendar/time-date.el (time-to-seconds): De-obsolete. + +2012-11-19 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-forms.el (math-leap-year-p): Fix formula for negative + year numbers. + (math-date-to-julian-dt): Adjust the initial approximation for the + year to deal with the new definition of the DATE. + +2012-11-19 Daniel Colascione <dancol@dancol.org> + + * term/w32-win.el (cygwin-convert-path-from-windows): + Accomodate rename of cygwin_convert_path* to cygwin_convert_file_name*. + +2012-11-18 Chong Yidong <cyd@gnu.org> + + * filecache.el (file-cache--read-list): New function. + (file-cache-add-directory-list, file-cache-add-file-list) + (file-cache-delete-file-list, file-cache-delete-directory-list): + Use it to read a list of files or directories (Bug#12846). + (file-cache-add-file, file-cache-add-directory) + (file-cache-delete-file-list, file-cache-delete-file-regexp) + (file-cache-delete-directory): Print an message. + +2012-11-18 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-forms.el (math-date-to-dt): Use integer date when + calling `math-date-to-julian-dt' and 'math-date-to-gregorian-dt'. + +2012-11-18 Glenn Morris <rgm@gnu.org> + + * image.el (insert-image, insert-sliced-image): Doc fix. + +2012-11-18 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/syntax.el (syntax-propertize-function): Doc fix + (Bug#12810). + +2012-11-18 OKAZAKI Tetsurou <okazaki.tetsurou@gmail.com> (tiny change) + + * vc/vc-svn.el (vc-svn-merge-news): Properly parse the merge + response when the target file is in a subdirectory (Bug#12757). + +2012-11-18 Chong Yidong <cyd@gnu.org> + + * filecache.el (file-cache-add-file-list): Doc fix (Bug#12694). + +2012-11-18 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/cl-lib.el (face-underline-p): + Use set-face-underline rather than the alias set-face-underline-p. + + * window.el (with-temp-buffer-window): Doc fix. + * subr.el (with-output-to-temp-buffer): + Add doc xref to with-temp-buffer-window. + +2012-11-18 Juanma Barranquero <lekktu@gmail.com> + + * woman.el (woman-non-underline-faces): Use `set-face-underline'. + * calc/calc.el (math-format-date-cache): Declare. + +2012-11-17 Paul Eggert <eggert@cs.ucla.edu> + + Calc by default uses the Gregorian calendar for all dates (Bug#12633). + It also uses January 1, 1 AD as its day number 1. + * calc/calc-forms.el (math-julian-date-beginning) + (math-julian-date-beginning-int): Implement this. + +2012-11-17 Juanma Barranquero <lekktu@gmail.com> + + * descr-text.el (quail-find-key): + * dired.el (desktop-file-name): + * dirtrack.el (shell-prefixed-directory-name, shell-process-cd): + * generic-x.el (comint-mode, comint-exec): + * image-dired.el (widget-forward): + * info.el (speedbar-add-expansion-list, speedbar-center-buffer-smartly) + (speedbar-change-expand-button-char) + (speedbar-change-initial-expansion-list, speedbar-delete-subblock) + (speedbar-make-specialized-keymap, speedbar-make-tag-line): + * printing.el (easy-menu-add-item, easy-menu-remove-item) + (widget-field-action, widget-value-set): + * speedbar.el (imenu--make-index-alist): + * term.el (ring-empty-p, ring-ref, ring-insert-at-beginning) + (ring-length, ring-insert): + * vcursor.el (compare-windows-skip-whitespace): + * woman.el (dired-get-filename): + Declare functions. + + * term/w32-win.el (cygwin-convert-path-from-windows): Fix declaration. + +2012-11-17 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc.el (calc-gregorian-switch): New variable. + + * calc/calc-forms.el (math-day-in-year, math-dt-before-p) + (math-absolute-from-gregorian-dt, math-absolute-from-julian-dt) + (math-date-to-julian-dt, math-date-to-gregorian-dt): New functions. + (math-leap-year-p): Add option to distinguish between Julian + and Gregorian calendars. + (math-day-number): Use `math-day-in-year' to do the computations. + (math-absolute-from-dt): Rename from `math-absolute-from-date'. + Use `math-absolute-from-gregorian' and `math-absolute-from-julian' + to do the computations. + (math-date-to-dt): Use `math-date-to-julian-dt' and + `math-date-to-gregorian-dt' to do the computations. + (calcFunc-weekday, math-format-date-part): Use the new version of + the DATE to determine the weekday. + (calcFunc-newmonth, calcFunc-newyear): Use `calc-gregorian-switch' + when necessary. + +2012-11-17 Eli Zaretskii <eliz@gnu.org> + + * term/w32-win.el (w32-handle-dropped-file): Use 'file://' only on + Cygwin; otherwise use 'file:'. (Bug#12914) + (cygwin-convert-path-from-windows): Declare, to avoid + byte-compiler warnings. + +2012-11-17 Andreas Politz <politza@fh-trier.de> + + * ibuffer.el (ibuffer-mark-forward, ibuffer-unmark-forward) + (ibuffer-unmark-backward, ibuffer-mark-interactive): Support plain + prefix and negative numeric prefix args (Bug#12795). + +2012-11-17 Stephen Berman <stephen.berman@gmx.net> + + * play/gamegrid.el (gamegrid-add-score-with-update-game-score-1): + Don't signal an error with a score that is too low to add to the + list of top scores. (Bug#12779) + +2012-11-17 Chong Yidong <cyd@gnu.org> + + * help-mode.el (help-xref-interned): End on point-min (Bug#12737). + + * filecache.el (file-cache-add-file): Handle relative file name in + the argument (Bug#12694). + +2012-11-16 Jürgen Hötzel <juergen@archlinux.org> (tiny change) + + * eshell/em-unix.el (eshell/mkdir): Handle "--parents" (bug#12897). + +2012-11-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el (ad-make-advised-definition): Improve last fix. + + * emacs-lisp/cl-lib.el: Set more meaningful version number. + +2012-11-16 Martin Rudalics <rudalics@gmx.at> + + * window.el (enlarge-window, shrink-window): Don't mention return + value in doc-string (Bug#12896). + (window--display-buffer): Don't resize frames - it won't work + with all window managers and defeat pop-up-frame-alist. + (display-buffer-alist): In doc-string explain that CONDITION can + be a function and which arguments are passed to it (Bug#12854). + (display-buffer-assq-regexp): New argument ACTION. Handle lambda + expressions (Bug#12854). + (display-buffer): Pass ACTION argument to + display-buffer-assq-regexp. + +2012-11-16 Glenn Morris <rgm@gnu.org> + + * window.el (fit-frame-to-buffer-bottom-margin) + (fit-frame-to-buffer, fit-window-to-buffer): Doc fixes. + + * faces.el (face-underline-p): Use face-attribute-specified-or. + +2012-11-16 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/cl-macs.el (cl-loop, cl-do, cl-do*): Doc fixes. + +2012-11-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl-flet, cl-flet*): Fix docstring (bug#12895). + +2012-11-16 Glenn Morris <rgm@gnu.org> + + * eshell/em-cmpl.el (eshell-pcomplete): New command. (Bug#12838) + (eshell-cmpl-initialize): Bind eshell-pcomplete to TAB, C-i. + + * faces.el (face-underline-p): Doc fix. Handle :underline being + things other than `t' (a string, a list). + (face-inverse-video-p): Doc fix. + (set-face-underline): Rename it back from set-face-underline-p. + Doc fix. Allow interactive input of values other than t. + (read-face-attribute): Apply formatting to :underline, + since like :box and :stipple it can take list values. + + * term.el (ansi-term): Don't let C-x escape-char binding + clobber the more standard C-c binding. (Bug#12842) + + * subr.el (set-temporary-overlay-map): Doc fix. + +2012-11-16 Martin Rudalics <rudalics@gmx.at> + + * window.el (record-window-buffer) + (display-buffer-record-window): When copying the markers to + window-point preserve window-point-insertion-type. (Bug#12588) + +2012-11-16 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): + * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): + Use new names for hooks rather than obsolete aliases. + +2012-11-15 Daniel Colascione <dancol@dancol.org> + + * term/w32-win.el (w32-handle-dropped-file): Use a "file://" + prefix instead of "file:" so that when FILE-NAME begins with "//", + as it does when the target file is on a network share, url-handler + isn't confused. + +2012-11-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el (ad-definition-type): Make sure we don't use + a preactivated advice from an old advice.el; they're not compatible! + +2012-11-15 Katsumi Yamaoka <yamaoka@jpl.org> + + * emacs-lisp/nadvice.el (advice--make-interactive-form): + Fix string-spec case. + + * emacs-lisp/advice.el (ad-make-advised-definition): Fix undefined case. + +2012-11-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/nadvice.el: Add buffer-local support to add-function. + (advice--buffer-local-function-sample): New var. + (advice--set-buffer-local, advice--buffer-local): New functions. + (add-function, remove-function): Use them. + +2012-11-15 Drew Adams <drew.adams@oracle.com> + + * imenu.el (imenu--split-submenus): Use imenu--subalist-p (bug#12717). + +2012-11-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl--transform-lambda): Defend against + potential binding of print-gensym to t, and prettify (back)quotes in + case they appear in args's default values (bug#12884). + +2012-11-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/nadvice.el: Add around advice for interactive specs. + (advice-eval-interactive-spec): New function. + (advice--make-interactive-form): Support around advice (bug#12844). + +2012-11-14 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-expr-beg): Make heredoc detection + more strict. Add docstring. + (ruby-expression-expansion-re): Extract from + `ruby-match-expression-expansion'. + (ruby-syntax-propertize-function): After everything else, search + for expansions in string literals, mark their insides as + whitespace syntax and save match data for font-lock. + (ruby-font-lock-keywords): Use the 2nd group from expression + expansion matches. + (ruby-match-expression-expansion): Use the match data saved to the + text property in ruby-syntax-propertize-function. + +2012-11-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/gv.el (setf): Fix debug spec for multiple assignments + (bug#12879). + +2012-11-13 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-move-to-block): Looks for a block + start/end keyword a bit harder. Works with different values of N. + Add more comments. + (ruby-end-of-block): Update accordingly. + +2012-11-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * woman.el (woman-file-name): Don't mess with unread-command-events + (bug#12861). + + * emacs-lisp/advice.el: Layer on top of nadvice.el. + Remove out of date self-require hack. + (ad-do-advised-functions): Use simple `dolist'. + (ad-advice-name, ad-advice-protected, ad-advice-enabled) + (ad-advice-definition): Redefine as functions. + (ad-advice-classes): Move before first use. + (ad-make-origname, ad-set-orig-definition, ad-clear-orig-definition) + (ad-make-mapped-call, ad-make-advised-docstring) + (ad-make-plain-docstring, ad--defalias-fset): Remove functions. + (ad-make-advicefunname, ad-clear-advicefunname-definition): New funs. + (ad-get-orig-definition): Rewrite. + (ad-make-advised-definition-docstring): Change base docstring. + (ad-real-orig-definition): Rewrite. + (ad-map-arglists): Change name of called function. + (ad--make-advised-docstring): Redirect `function' from ad-Advice-... + (ad-make-advised-definition): Simplify. + (ad-assemble-advised-definition): Tweak for new calling context. + (ad-activate-advised-definition): Setup ad-Advice-* i.s.o ad-Orig-*. + (ad--defalias-fset): Rename from ad-handle-definition. Make it set the + function and call ad-activate if needed. + (ad-activate, ad-deactivate): Don't call ad-handle-definition any more. + (ad-recover): Clear ad-Advice-* instead of ad-Orig-*. + (ad-compile-function): Compile ad-Advice-*. + (ad-activate-on-top-level, ad-with-auto-activation-disabled): Remove. + (ad-start-advice, ad-stop-advice): Remove. + +2012-11-13 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-add-log-current-method): Print the + period before class method names, not after. Remove handling of + one impossible case. Add comments. + +2012-11-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el: Remove support for freezing. + (ad-make-freeze-docstring, ad-make-freeze-definition): Remove functions. + (ad-make-single-advice-docstring, ad-defadvice-flags, defadvice): + Remove support for `freeze'. + + * emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to + override the default. + * emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Rewrite without using + cl--dotimes/dolist. + * subr.el (dolist, dotimes, declare): Redefine them normally, even when + `cl' is loaded. + + * emacs-lisp/nadvice.el (advice--normalize): New function, extracted + from add-advice. + (advice--strip-macro): New function. + (advice--defalias-fset): Use them to handle macros. + (advice-add): Use them. + (advice-member-p): Correctly handle macros. + +2012-11-13 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): + Never font-lock the beginning of singleton class as heredoc. + +2012-11-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/gv.el (gv-define-simple-setter): One more fix (bug#12871). + +2012-11-13 Wolfgang Jenkner <wjenkner@inode.at> + + * ansi-color.el (ansi-color-apply-sequence): Implement SGR codes + 39 and 49 (bug#12792). Also, treat unimplemented parameters as 0, + thereby restoring the behavior of revisions prior to 2012-08-15T03:33:55Z!monnier@iro.umontreal.ca. + +2012-11-13 Fabián Ezequiel Gallina <fgallina@cuca> + + Fix end-of-defun misbehavior. + * progmodes/python.el (python-nav-beginning-of-defun): Rename from + python-beginning-of-defun-function. Handle nested defuns + correctly. + (python-nav-end-of-defun): Rename from + python-end-of-defun-function. Ensure forward movement. + (python-info-current-defun): Reimplement to work as intended + with new fixed python-nav-{end,beginning}-of-defun. Stop scanning + parent defuns as soon as possible. + +2012-11-13 Glenn Morris <rgm@gnu.org> + + * progmodes/flymake.el (flymake-error-bitmap) + (flymake-warning-bitmap, flymake-fringe-indicator-position): Doc fixes. + (flymake-error-bitmap, flymake-warning-bitmap): Fix :types. + +2012-11-13 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-move-to-block): When moving + backward, always stop at indentation. Reverts the change from + 2012-08-12T22:06:56Z!monnier@iro.umontreal.ca (Bug#12851). + +2012-11-13 Glenn Morris <rgm@gnu.org> + + * ibuffer.el (ibuffer-mode-map, ibuffer-mode): + Add ibuffer-filter-by-derived-mode. + + * ibuffer.el (ibuffer-mode-map): Don't have two menu items with + the same name shadowing each other. + + * window.el (with-temp-buffer-window): Doc tweak. + + * emacs-lisp/debug.el (debugger-bury-or-kill): Doc tweak. + + * help.el (temp-buffer-max-height): + * window.el (fit-frame-to-buffer, fit-frame-to-buffer-bottom-margin): + * emacs-lisp/debug.el (debugger-bury-or-kill): Fix :version. + +2012-11-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/nadvice.el: New package. + * subr.el (special-form-p): New function. + * emacs-lisp/elp.el: Use lexical-binding and advice-add. + (elp-all-instrumented-list): Remove var. + (elp-not-profilable): Remove elp-wrapper. + (elp-profilable-p): Use autoloadp and special-form-p. + (elp--advice-name): New const. + (elp-instrument-function): Use advice-add. + (elp--instrumented-p): New predicate. + (elp-restore-function): Use advice-remove. + (elp-restore-all, elp-reset-all): Use mapatoms. + (elp-set-master): Use elp--instrumented-p. + (elp--make-wrapper): Rename from elp-wrapper, return a function + suitable for advice-add. Use cl-inf. + (elp-results): Use mapatoms+elp--instrumented-p. + * emacs-lisp/debug.el: Use lexical-binding and advice-add. + (debug-function-list): Remove var. + (debug): Rename arg, and then let-bind it explicitly inside. + (debugger-setup-buffer): Rename arg. + (debugger-setup-buffer): Adjust counts to new debug-on-entry setup. + (debugger-frame-number): Adjust to new debug-on-entry setup. + (debug--implement-debug-on-entry): Rename from + implement-debug-on-entry, add argument. + (debugger-special-form-p): Remove, use special-form-p instead. + (debug-on-entry): Use advice-add. + (debug--function-list): New function. + (cancel-debug-on-entry): Use it, along with advice-remove. + (debug-arglist, debug-convert-byte-code, debug-on-entry-1): Remove. + (debugger-list-functions): Use debug--function-list instead of + debug-function-list. + * emacs-lisp/advice.el (ad-save-real-definition): Remove, unused. + (ad-special-form-p): Remove, use special-form-p instead. + (ad-set-advice-info): Use add-function and remove-function. + (ad--defalias-fset): Adjust accordingly. + +2012-11-10 Glenn Morris <rgm@gnu.org> + + * mail/emacsbug.el (report-emacs-bug-tracker-url) + (report-emacs-bug-bug-alist, report-emacs-bug-choice-widget) + (report-emacs-bug-create-existing-bugs-buffer) + (report-emacs-bug-parse-query-results) + (report-emacs-bug-query-existing-bugs): Remove. (Bug#7449) + + * term.el (term-default-fg-color, term-default-bg-color): + Make obsolete, rather than just saying "deprecated" in the doc. + + * term.el (term): Rename from `term-face'. + (term-current-face, ansi-term-color-vector) + (term-default-fg-color, term-default-bg-color, term-ansi-reset): + Update all users. + +2012-11-10 Jan Djärv <jan.h.d@swipnet.se> + + * server.el (server-create-window-system-frame): Handle Nextstep + specially (Bug#12780). + +2012-11-10 Glenn Morris <rgm@gnu.org> + + * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): + Unautoload, and make obsolete. (Bug#7449) + +2012-11-10 Chong Yidong <cyd@gnu.org> + + * vc/diff-mode.el (diff-delete-trailing-whitespace): Rewrite, and + rename from diff-remove-trailing-whitespace (Bug#12831). + +2012-11-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el: Require `cl-lib' at run-time to fix + miscompilation of trace.el. + +2012-11-10 Glenn Morris <rgm@gnu.org> + + * vc/diff-mode.el (diff-remove-trailing-whitespace): Doc fix. + +2012-11-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/gv.el (gv-define-simple-setter): Fix last change + (bug#12812). + +2012-11-10 Chong Yidong <cyd@gnu.org> + + * minibuf-eldef.el (minibuffer-eldef-shorten-default): Convert to + a defcustom with an appropriate :set function. + (minibuffer-default--in-prompt-regexps): New function. + +2012-11-10 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/cl.el (define-setf-expander, defsetf) + (define-modify-macro): Doc fixes. + + * emacs-lisp/gv.el (gv-letplace): Fix doc typo. + (gv-define-simple-setter): Update doc of `fix-return'. + +2012-11-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/gv.el (gv-define-simple-setter): Don't evaluate `val' + twice when `fix-return' is set (bug#12813). + + * emacs-lisp/cl.el (defsetf): Pass the third arg to + gv-define-simple-setter (bug#12812). + + * woman.el (woman-decode-region): Disable adaptive-fill when rendering + (bug#12756). + +2012-11-10 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/gv.el (gv-define-setter): Fix doc typo. + + * emacs-lisp/cl-extra.el (cl-prettyexpand): + * emacs-lisp/cl-lib.el (cl-proclaim, cl-declaim): + * emacs-lisp/cl-macs.el (cl-destructuring-bind, cl-locally) + (cl-the, cl-compiler-macroexpand): Add basic doc strings. + + * emacs-lisp/cl-extra.el (cl-maplist, cl-mapcan): Doc fix. + +2012-11-10 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-set-matches-1): Improve flex matching performance by + removing backtracking in the regexp (suggested by Stefan). (Bug#12796) + +2012-11-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el (ad-set-advice-info): Set defalias-fset-function. + (ad--defalias-fset): New function. + (ad-safe-fset): Remove. + (ad-make-freeze-definition): Use cl-letf*. + +2012-11-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (dolist): Don't bind VAR in RESULT. + + * emacs-lisp/advice.el: Miscellaneous cleanup. Use lexical-binding. + (fset, documentation): Don't save real def since we don't advise. + (ad-do-advised-functions): Remove problematic `result-form'. + (ad-safe-fset): `ad-real-fset' => `fset'. + (ad-read-advised-function): Don't assume that ad-do-advised-functions + uses CL's dolist internally. + (ad-arglist): Remove unused arg `name'. + (ad-docstring, ad-make-advised-docstring): + `ad-real-documentation' => `documentation'. + (warning-suppress-types): Declare. + (ad-set-arguments): Simple CSE. + (ad-recover-normality): Sanity check. + + * emacs-lisp/bytecomp.el (byte-compile-out-toplevel): Don't turn + (funcall '(lambda ..) ..) into ((lambda ..) ..). + +2012-11-09 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el: Symbol to coordinate mapping is made by symbol property + `ses-cell'. This means that the same mapping is done for all SES + sheets. That is good enough for cells with standard A1 names, but + not for named cell. So a hash map is added for the latter. + (defconst ses-localvars): Add local variable ses--named-cell-hashmap + (ses-sym-rowcol): Use hashmap for named cell. + (ses-is-cell-sym-p): New defun. + (ses-decode-cell-symbol): New defun. + (ses-create-cell-variable): Add cell to hashmap when name is not + A1-like. + (ses-rename-cell): Check that cell new name is not already in + spreadsheet with the use of ses-is-cell-sym-p + (ses-rename-cell): Use hash map for named cells, but accept also + renaming back to A1-like. + +2012-11-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el: Use new dynamic docstrings. + (ad-make-advised-definition-docstring, ad-advised-definition-p): + Use dynamic-docstring-function instead of ad-advice-info. + (ad--make-advised-docstring): New function extracted from + ad-make-advised-docstring. + (ad-make-advised-docstring): Use it. + * progmodes/sql.el (sql--make-help-docstring): New function, extracted + from sql-help. + (sql-help): Use it with dynamic-docstring-function. + + * env.el (env--substitute-vars-regexp): Don't use rx (for bootstrap). + +2012-11-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el (hack-one-local-variable--obsolete): New function. + (hack-one-local-variable): Use it for obsolete settings. + + * subr.el (locate-user-emacs-file): If both old and new name exist, use + the new name. + + * progmodes/js.el (js--filling-paragraph): New var. + (c-forward-sws, c-backward-sws, c-beginning-of-macro): Advise. + (js-c-fill-paragraph): Prefer advice to cl-letf so the rebinding is + less sneaky. + +2012-11-08 Julien Danjou <julien@danjou.info> + + * progmodes/ruby-mode.el (auto-mode-alist): Add Rakefile in + `auto-mode-alist' (Bug#12835). + +2012-11-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/perl-mode.el (perl-prettify-symbols): New defcustom. + (perl--prettify-symbols-alist): New const. + (perl--font-lock-compose-symbol, perl--font-lock-symbols-keywords): + New functions. + (perl-font-lock-keywords-2): Use them. + (perl-electric-noindent-p): New function. + (perl-mode): Use it to set up electric-indent-mode. + (perl-electric-terminator, perl-indent-command): Mark obsolete. + (perl-mode-map): Remove bindings for them. + (perl-imenu-generic-expression, perl-outline-level): + Match functions&packages in column>0. + + * env.el (env--substitute-vars-regexp): New const. + (substitute-env-vars): Use it. Add `only-defined' arg. + * net/tramp.el (tramp-replace-environment-variables): Use it. + + * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): + Byte-compile *before* eval in eval-and-compile. + (byte-compile-log-warning): Remove redundant inhibit-read-only. + (byte-compile-file-form-autoload): Don't hide actual definition. + (byte-compile-maybe-guarded): Accept `functionp' as well. + + * emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro. + +2012-11-07 Michael Albinus <michael.albinus@gmx.de> + + * notifications.el (notifications-get-server-information-method): + New defconst. + (notifications-get-capabilities): Fix docstring. + (notifications-get-server-information): New defun. + +2012-11-06 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-region): Standard re-indent for better + readability. + + * textmodes/ispell.el: Experimental support for support debugging. + (ispell-create-debug-buffer): Create a `ispell-debug-buffer' debug + buffer for ispell. + (ispell-print-if-debug): New function to print stuff to + `ispell-debug-buffer' if debugging is enabled. + (ispell-region, ispell-process-line): Use `ispell-print-if-debug' to + show some debugging info. + (ispell-buffer-with-debug): New function that creates a debugging + buffer and calls `ispell-buffer' with debugging enabled. + + * textmodes/ispell.el (ispell-region): Do not prefix sent string by + comment in autoconf mode. (Bug#12768) + +2012-11-06 Dmitry Antipov <dmantipov@yandex.ru> + + * emacs-lisp/byte-opt.el (toplevel): Add compare-window-configurations, + frame-first-window, frame-root-window, frame-selected-window, + minibuffer-selected-window, minibuffer-window, + window-absolute-pixel-edges, window-at, window-body-height, + window-body-width, window-display-table, window-combination-limit, + window-frame, window-fringes, window-inside-absolute-pixel-edges, + window-inside-edges, window-inside-pixel-edges, window-left-child, + window-left-column, window-margins, window-next-buffers, + window-next-sibling, window-new-normal, window-new-total, + window-normal-size, window-parameter, window-parameters, window-parent, + window-pixel-edges, window-point, window-prev-buffers, + window-prev-sibling, window-redisplay-end-trigger, window-scroll-bars, + window-start, window-text-height, window-top-child, window-top-line, + window-total-height, window-total-width and window-use-time to the list + of functions without side-effects. + (toplevel): Add window-valid-p to the list of error-free functions + without side-effects. + +2012-11-05 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-program-name): + Update spellchecker parameters when customized. + +2012-11-04 Glenn Morris <rgm@gnu.org> + + * vc/vc-svn.el (vc-svn-state-heuristic): Avoid calling svn. (Bug#7850) + +2012-11-04 Chong Yidong <cyd@gnu.org> + + * bookmark.el (bookmark-bmenu-switch-other-window): Avoid binding + same-window-* variables. + +2012-11-04 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-help-for-help, isearch-describe-bindings) + (isearch-describe-key, isearch-describe-mode): Use a display + action instead of binding same-window-* variables (Bug#10040). + +2012-11-03 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/cl-macs.el (cl-parse-loop-clause): + Rename handler properties back from cl-- to cl-. (Bug#12788) + + * emacs-lisp/cl-macs.el (cl-do-all-symbols): Add doc string. + +2012-11-03 Eli Zaretskii <eliz@gnu.org> + + * term/pc-win.el: Don't load term/internal from here. + + * loadup.el: Load term/internal from here. + +2012-11-03 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (inferior-python-mode): Fix hang in + jit-lock (Bug#12645). + +2012-11-03 Martin Rudalics <rudalics@gmx.at> + + * window.el (switch-to-visible-buffer) + (switch-to-buffer-preserve-window-point): Fix doc-strings. + +2012-11-03 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/cl-lib.el (cl--random-time): + Rename from cl-random-time. (Bug#12773) + (cl--gensym-counter, cl--random-state): Update callers. + * emacs-lisp/cl-extra.el (cl-make-random-state): Update callers. + +2012-11-03 Chong Yidong <cyd@gnu.org> + + * cus-start.el: Make cursor-type customizable (Bug#11633). + +2012-11-02 Glenn Morris <rgm@gnu.org> + + * filecache.el: No need to load find-lisp when compiling. + (find-lisp-find-files): Autoload it. + (file-cache-add-directory-recursively): Don't require find-lisp. + + * image.el (image-type-from-file-name): Trivial simplification. + + * emacs-lisp/bytecomp.el (byte-compile-eval): + Decouple "noruntime" and "cl-functions" warnings. + +2012-11-01 Stephen Berman <stephen.berman@gmx.net> + + * play/gomoku.el (gomoku-display-statistics): Update mode line + only if in Gomoku buffer; don't capitalize "won" (Bug#12771). + +2012-10-31 Martin Rudalics <rudalics@gmx.at> + + * window.el (quit-restore-window): If the window has been + created on an existing frame and ended up as the sole window on + that frame, do not delete it (Bug#12764). + +2012-10-31 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/sh-script.el (sh--inside-noncommand-expression): + Rename from sh--inside-arithmetic-expression, handle more cases + (bug#11263). + + * progmodes/sh-script.el (sh--inside-arithmetic-expression): New func. + (sh-font-lock-open-heredoc): Use it (bug#12770). + +2012-10-30 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/cl-extra.el (cl-mapc): Add autoload cookie. Doc fix. + + * emacs-lisp/cl.el (letf): Doc fix. (Bug#12760) + +2012-10-29 Chong Yidong <cyd@gnu.org> + + * isearch.el (isearch-other-meta-char): Ensure that a reprocessed + function key is stored in a keyboard macro (Bug#4894). + + * thingatpt.el (number-at-point): Apply a thing-at-point property. + +2012-10-29 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/diff-mode.el (diff-context->unified): Don't get confused by "hunk + header comments". + (diff-unified->context, diff-context->unified) + (diff-reverse-direction, diff-fixup-modifs): Use `use-region-p'. + + * emacs-lisp/cl.el (letf): Add missing indent rules (bug#12759). + + * files.el (find-alternate-file): Only ask one question (bug#12487). + +2012-10-29 Chong Yidong <cyd@gnu.org> + + * vc/vc-hooks.el (vc-file-clearprops): Kill vc-parent-buffer. + Suggested by Dan Nicolaescu (Bug#6326). + + * info.el (Info-complete-menu-item): Avoid duplicates (Bug#12705). + + * startup.el (fancy-about-screen): Don't message (Bug#12680). + + * thingatpt.el (thing-at-point): Doc fix (Bug#12691). + + * imenu.el (imenu): Inhibit push-mark message (Bug#12726). + + * face-remap.el (face-remap-add-relative): Handle the case where a + face-remapping-alist entry is a cons cell (Bug#12762). + +2012-10-29 Kevin Ryde <user42@zip.com.au> + + * woman.el (woman-parse-numeric-value): Handle picas correctly + (Bug#12639). + +2012-10-29 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/cl.el (defsetf): Doc fix. + +2012-10-29 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/sh-script.el (sh-font-lock-paren): Also put punctuation + syntax to the matching opener, if any (bug#12547). + (sh-smie-sh-forward-token, sh-smie-sh-backward-token): Recognize this + matching open as a "case-(". + (sh-smie-rc-grammar): Add a corresponding rule for it. + +2012-10-28 Daniel Hackney <dan@haxney.org> + + * emacs-lisp/package.el (package-generate-autoloads): Kill buffer + "PKGNAME-autoloads.el" in case we created it. + +2012-10-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--sifn-requote): Rewrite to handle things + like Tramp's "/foo:~bar//baz" -> "/scpc:foo:/baz" mapping (bug#11714). + (completion--twq-all): Disable too-strict assertions. + + * tmm.el (tmm-prompt): Use map-keymap (bug#12744). + +2012-10-27 Eli Zaretskii <eliz@gnu.org> + + * profiler.el (profiler-report-make-entry-part): Fix help-echo + text to match the real keybindings. + +2012-10-27 Juri Linkov <juri@jurta.org> + + * wdired.el (wdired-keep-marker-rename): New defcustom. + (wdired-do-renames): Use it instead of `dired-keep-marker-rename'. + (Bug#11795) + + * dired.el (dired-keep-marker-rename): Add reference to + `wdired-keep-marker-rename' in the docstring. + Add default character value ?R to display initially in + Customization UI instead of ?@. + +2012-10-27 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer): In doc-string describe + window-height and window-width alist entries. + + * time.el (display-time-world): Restore fit-window-to-buffer + behavior. + +2012-10-27 Chong Yidong <cyd@gnu.org> + + * subr.el (insert-buffer-substring-as-yank): Doc fix. + +2012-10-26 Jambunathan K <kjambunathan@gmail.com> + + * minibuffer.el (completion-category-overrides): New completion + category `bookmark' (bug#11131). + +2012-10-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el (ad-assemble-advised-definition): + Silence bogus compiler warnings for ad-do-it. + + * bookmark.el (bookmark-completing-read): Set the completion category + to `bookmark' (bug#11131). + +2012-10-26 Bastien <bzg@altern.org> + Stefan Monnier <monnier@iro.umontreal.ca> + + * face-remap.el: Use lexical-binding. + (text-scale-adjust): Improve docstring. Use itself for the temporary + overlay-map bindings, so as to repeat the "Use..." message each time. + +2012-10-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/macroexp.el (macroexp--expand-all): + Obey byte-compile-warning-enabled-p (bug#12486). + + * vc/diff-mode.el (diff-end-of-hunk): Also skip potential "no LF at eol". + (diff-refine-hunk): Similarly, handle the "no LF at eol" (bug#12584). + +2012-10-26 Martin Rudalics <rudalics@gmx.at> + + * mouse.el (mouse-drag-line): Move last form into preceding when + clause (Bug#12731). + + * help.el (resize-temp-buffer-window): Fix doc-string. + +2012-10-25 David Engster <deng@randomsample.de> + + * emacs-lisp/eieio.el (eieio-update-lisp-imenu-expression): + Remove. This feature is already integrated in imenu. + + * emacs-lisp/eieio-opt.el: Remove require for `button' since it is + always loaded. Require `speedbar' unconditionally. + +2012-10-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * dired.el (dired-get-marked-files): Allow ! on . and .. (bug#12725). + + * minibuffer.el (minibuffer-force-complete): Fix thinko. + + * net/ldap.el (ldap-search-internal): The official ldif format starts + with a "version: 1" header (bug#12724). + + * emacs-lisp/package.el (package-installed-p): Warn if not ready + (bug#12721). + +2012-10-25 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/cl-macs.el (cl-progv): Doc fix. + +2012-10-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (minibuffer-force-complete): Use one more marker + for the temporary-overlay-map command (bug#12619). + +2012-10-24 Chong Yidong <cyd@gnu.org> + + * time.el (display-time-world-mode): Derive from special-mode. + (display-time-world): Use display-buffer (Bug#12708). + (display-time-world-mode-map): Variable deleted. + (display-time-world-display): Wrap the final delete-char inside + inhibit-read-only. + +2012-10-24 Chong Yidong <cyd@gnu.org> + + * dired.el (dired-mark, dired-unmark, dired-flag-file-deletion): + Doc fix. + + * emacs-lisp/easymenu.el (easy-menu-define): Doc fix (Bug#12628). + +2012-10-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--all-sorted-completions-location): New var. + (completion--cache-all-sorted-completions) + (completion--flush-all-sorted-completions): Use it. + (completion-in-region, completion-in-region--postch) + (completion-at-point, completion-help-at-point): Use markers in + completion-in-region--data (bug#12619). + +2012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/compile.el (compilation-start): Try to handle common + quoting of `cd' argument (bug#12640). + + * vc/diff-mode.el (diff-hunk): `save-excursion' while refining + (bug#12671). + +2012-10-23 Glenn Morris <rgm@gnu.org> + + * progmodes/gud.el (gud-menu-map): + Check gdb-active-process is bound. (Bug#12358) + +2012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * repeat.el (repeat): Set real-this-command (bug#12232). + + * htmlfontify.el (hfy-post-html-hook): + * filesets.el (filesets-cache-fill-content-hook): + * arc-mode.el (archive-extract-hook): + * progmodes/cc-mode.el (c-prepare-bug-report-hook): + * net/rcirc.el (rcirc-sentinel-functions) + (rcirc-receive-message-functions, rcirc-activity-functions) + (rcirc-print-functions): + * net/dbus.el (dbus-event-error-functions): + * emacs-lisp/eieio.el (eieio-pre-method-execution-functions): + * emacs-lisp/checkdoc.el (checkdoc-style-functions) + (checkdoc-comment-style-functions): Don't use "-hooks" suffix. + * term/sun.el (sun-raw-prefix-hooks): + * mail/sendmail.el (mail-yank-hooks): Use make-obsolete-variable. + +2012-10-23 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-smb.el (tramp-smb-maybe-open-connection): + Set `tramp-chunksize' to 1. This improves the performance. + (tramp-smb-wait-for-output): Add timeout to + `tramp-accept-process-output' calls. + +2012-10-23 Chong Yidong <cyd@gnu.org> + + * faces.el (font-list-limit): Define as an obsolete variable. + + * startup.el (command-line): + * cus-start.el: Don't refer to font-list-limit. + + * newcomment.el (comment-normalize-vars): Doc fix (Bug#12583). + +2012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (internal-temp-output-buffer-show): Rename from + temp-output-buffer-show, since previously compiled files expect this name. + +2012-10-23 Glenn Morris <rgm@gnu.org> + + * image.el (image-type-from-file-name): If multiple types match, + return the first one that is supported. (Bug#9045) + +2012-10-22 Glenn Morris <rgm@gnu.org> + + * image.el (imagemagick-enabled-types): Doc fix. + +2012-10-22 Takafumi Arakaki <aka.tkf@gmail.com> (tiny change) + + * progmodes/which-func.el (which-func-current): The hash-table may have + an explicit nil (bug#12338). + +2012-10-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * electric.el (electric-pair-delete-selection-self-insert-function): + Rename to electric-pair-will-use-region, return a boolean. + (electric-pair-mode): Adjust accordingly. Don't require delsel. + + * delsel.el (delete-selection-helper): Use a function instead of a hook. + (delete-selection-pre-hook): Use use-region-p. + (delete-selection-self-insert-function): Remove. + (self-insert-command): Obey self-insert-uses-region-functions. + (self-insert-iso): Revert to previous setting, since we don't actually + know what that command does. + (delete-selection-self-insert-hooks): Remove. + +2012-10-22 Simon Law <sfllaw@sfllaw.ca> (tiny change) + + * delsel.el (delete-selection-helper): New function, extracted from + delete-selection-pre-hook. + (delete-selection-pre-hook): Use it. + (delete-selection-self-insert-function): New function. + (delete-selection-self-insert-hooks): New hook. + (self-insert-command, self-insert-iso): Use it. + * electric.el (electric-pair-syntax): New function, extracted from + electric-pair-post-self-insert-function. + (electric-pair-post-self-insert-function): Use it. + (electric-pair-delete-selection-self-insert-function): New function. + (electric-pair-mode): Require delsel and setup + delete-selection-self-insert-hooks (bug#11520). + +2012-10-20 Chong Yidong <cyd@gnu.org> + + * vc/vc.el (vc-diff-internal): Set up Diff mode even if there are + no changes to show (Bug#12586). + + * eshell/esh-cmd.el (eshell-rewrite-for-command): Copy the body + list explicitly (Bug#12571). + +2012-10-20 Arne Jørgensen <arne@arnested.dk> + + * progmodes/flymake.el (flymake-create-temp-inplace): + Use file-truename. + +2012-10-20 Eli Zaretskii <eliz@gnu.org> + + * loadup.el: Update comment about uncompiled Lisp files. (Bug#12395) + +2012-10-20 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-units.el (math-extract-units): Properly extract powers + of units. + +2012-10-20 Daniel Colascione <dancol@dancol.org> + + * frame.el (make-frame): Set x-display-name as we used to in order + to unbreak creating an X11 frame from an Emacs daemon started + without a display. + +2012-10-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (minibuffer-force-complete): Make the next completion use + the same completion-field (bug#12221). + +2012-10-19 Martin Rudalics <rudalics@gmx.at> + + * emacs-lisp/debug.el (debug): Record height of debugger window + also when debugger will be back (Bug#8789). + +2012-10-18 Chong Yidong <cyd@gnu.org> + + * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): + Convert to defcustom. + (gdb-get-source-file): Don't bind pop-up-windows. + + * progmodes/gud.el (gud-display-line): Don't specially re-use + other frames for the gdb-mi case (Bug#12648). + +2012-10-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el: Clean up commentary a bit. + (ad-do-advised-functions, ad-with-originals): Use `declare'. + (byte-code-function-p): Never redefine. + + * emacs-lisp/gv.el (cond): Same fix as before for `if'. + +2012-10-18 Glenn Morris <rgm@gnu.org> + + * dired.el (dired-sort-toggle): Some ls implementations only allow + a single option string. (Bug#12666) + + * minibuffer.el (completion-cycle-threshold): Doc fix. + +2012-10-17 Kenichi Handa <handa@gnu.org> + + * international/mule.el (set-keyboard-coding-system): + Recover input meta mode when the new coding system doesn not use 8-bit. + Supply TERMINAL arg to set-input-meta-mode. + +2012-10-17 Michael Heerdegen <michael_heerdegen@web.de> + + * wdired.el (wdired-old-marks): New variable. + (wdired-change-to-wdired-mode): Locally set wdired-old-marks. + (wdired-do-renames): Move point with renamed file and don't lose + mark status (Bug#11795). + +2012-10-16 Juri Linkov <juri@jurta.org> + + * replace.el (query-replace-help): Mention multi-buffer replacement + keys in the Help message. (Bug#12655) + +2012-10-15 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/byte-run.el (defsubst): Doc fix. + +2012-10-14 Eli Zaretskii <eliz@gnu.org> + + * window.el (display-buffer): Doc fix. + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Adjust the msft regexp to the output of Studio 2010, and move msft + before edg-1. See the discussion on emacs-devel, + http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00579.html, + for the details. + +2012-10-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/eieio.el (eieio-oset-default, eieio-oset, oset-default) + (oset): Move uses of object-class-fast macro after its definition. + + * emacs-lisp/gv.el (if): Don't use closures in non-lexical-binding code. + +2012-10-13 Chong Yidong <cyd@gnu.org> + + * textmodes/ispell.el (ispell-pdict-save): If flyspell-mode is + enabled, re-enable it (Bug#11963). + +2012-10-13 Martin Rudalics <rudalics@gmx.at> + + * emacs-lisp/debug.el (debug): When debugger-will-be-back is + non-nil, restore window configuration (Bug#12623). + +2012-10-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * help-fns.el (describe-variable, describe-function-1): + * help-mode.el (help-make-xrefs): Remove error handler, made unneeded. + + * emacs-lisp/eieio.el (lisp-imenu-generic-expression): Fix typo. + +2012-10-12 Glenn Morris <rgm@gnu.org> + + * mail/rmailsum.el (rmail-header-summary): + Fix 2010-11-26 test for multiline Subject: field. (Bug#12625) + +2012-10-12 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-mode-map): + Replace subtitute-key-definition with proper command remapping. + (python-nav--up-list): Fix behavior for blocks on the same level. + +2012-10-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * help-fns.el (describe-function-1): Handle autoloads w/o docstrings. + + * emacs-lisp/bytecomp.el (byte-compile-eval): Adjust to long-ago + changes to the format of load-history. + + * international/mule-cmds.el (read-char-by-name): Move let-binding of + completion-ignore-case in case that var is buffer-local (bug#12615). + +2012-10-11 Kenichi Handa <handa@gnu.org> + + * international/eucjp-ms.el: Re-generated. + +2012-10-10 Kenichi Handa <handa@gnu.org> + + * select.el (xselect--encode-string): If a coding is specified for + selection, and that is compatible with COMPOUND_TEXT, use it. + +2012-10-10 Martin Rudalics <rudalics@gmx.at> + + * window.el (switch-to-buffer-preserve-window-point): New option. + (switch-to-buffer): + Obey `switch-to-buffer-preserve-window-point' (Bug#4041). + +2012-10-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * newcomment.el (comment-start-skip, comment-end-skip, comment-end): + Don't document nil as a useful value (bug#12583). + +2012-10-09 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-debug-message): + Remove "tramp-with-progress-reporter" from regexp of ignored functions. + (with-tramp-progress-reporter): Rename from + `tramp-with-progress-reporter'. + (with-tramp-file-property, with-tramp-connection-property): + Move from tramp-cache.el, rename from `with-file-property' and + `with-connection-property', respectively. + + * net/tramp-cache.el: Remove `with-file-property' and + `with-connection-property'. + + * net/tramp.el: + * net/tramp-gvfs.el: + * net/tramp-sh.el: + * net/tramp-smb.el: Adapt callees. + + * net/trampver.el: Update release number. + +2012-10-09 Glenn Morris <rgm@gnu.org> + + * w32-fns.el (set-message-beep): + * term/w32-win.el (set-message-beep): Update declarations. + +2012-10-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * bindings.el (mode-line-toggle-read-only, mode-line-toggle-modified) + (mode-line-widen, mode-line-input-method-map) + (mode-line-coding-system-map, mode-line-remote) + (mode-line-unbury-buffer, mode-line-bury-buffer) + (mode-line-next-buffer, mode-line-previous-buffer): + Replace save-selected-window+select-window => with-selected-window. + + * progmodes/cc-bytecomp.el (cc-bytecomp-defmacro): Remove, unused. + * progmodes/cc-vars.el (bq-process): Remove, unused. + + * emacs-lisp/cl-macs.el (cl-defstruct): Obey the :read-only property. + +2012-10-09 Fabián Ezequiel Gallina <fgallina@cuca> + + Implemented `backward-up-list'-like navigation. + * progmodes/python.el (python-nav-up-list) + (python-nav-backward-up-list): New functions. + (python-mode-map): Define substitute key for backward-up-list to + python-nav-backward-up-list. + +2012-10-08 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-fill-paragraph): Rename from + python-fill-paragraph-function. Fixed fill-paragraph for + decorators (Bug#12605). + +2012-10-08 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-shell-output-filter): Handle extra + carriage return in OSX (Bug#12409). + +2012-10-08 Fabián Ezequiel Gallina <fgallina@cuca> + + Fix shell handling of unbalanced quotes and parens in output. + * progmodes/python.el (python-rx-constituents): Add string-delimiter. + (python-syntax-propertize-function): Use it. + (python-shell-output-syntax-table): New var. + (inferior-python-mode): Prevent unbalanced parens/quotes from + previous output mess with current input context. + +2012-10-08 Juanma Barranquero <lekktu@gmail.com> + + * generic-x.el (javascript-generic-mode, javascript-generic-mode-hook): + Make obsolete aliases of js-mode and js-mode-hook (from js.el). + +2012-10-08 Michael Albinus <michael.albinus@gmx.de> + + * ffap.el (ffap-replace-file-component): Support Tramp file name + syntax, not only ange-ftp's one. + +2012-10-08 Glenn Morris <rgm@gnu.org> + + * cus-start.el (message-log-max): Set :version. + + * calendar/calendar.el (calendar-intermonth-header): Doc fix. + +2012-10-08 Martin Rudalics <rudalics@gmx.at> + + * emacs-lisp/edebug.el (edebug-pop-to-buffer): Don't try to split + the minibuffer window (Bug#10851). + +2012-10-08 Fabián Ezequiel Gallina <fgallina@cuca> + + Enhancements on forward-sexp movement. + * progmodes/python.el (python-nav-beginning-of-statement) + (python-nav-end-of-statement): Return point-marker. + (python-nav-forward-sexp): lisp-like forward-sexp behavior. + (python-info-current-symbol) + (python-info-statement-starts-block-p): Rename from + python-info-beginning-of-block-p. + (python-info-statement-ends-block-p): Rename from + python-info-end-of-block-p. + (python-info-beginning-of-statement-p) + (python-info-end-of-statement-p) + (python-info-beginning-of-block-p, python-info-end-of-block-p): + New functions. + +2012-10-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * comint.el (comint-preinput-scroll-to-bottom): Preserve the + frame-selected-windows. + +2012-10-08 Daniel Colascione <dancol@dancol.org> + + * battery.el (battery-status-function): Check for + w32-battery-status itself, not system-time windows-nt. + + * frame.el: Require cl-lib. + (display-format-alist): New variable mapping frame types to + functions that initialize them. + (window-system-for-display): New function: interprets + display-format-alist. + (make-frame-on-display): Remove existing display-selection logic + and just forward to make-frame, which will now DTRT. + (make-frame): Restructure to use window-system-for-display to + figure out how to create a frame on a given display. + (display-mouse-p): Look for frame-type w32, not a particular + system-type. + + * loadup.el: Load w32 lisp code when we have the w32 feature. + + * mouse.el (mouse-yank-primarY): Look for frame-type w32, not + system-type windows-nt. + + * server.el (server-create-window-system-frame): Look for window + type. + (server-proces-filter): Only force a window system when windows-nt + _and_ w32. Explain why. + + * simple.el (normal-erase-is-backspace-mode): Add w32 to the list + of window systems we configure for the mode. + + * startup.el (command-line): Mark window system is initialized + after we've done it. + + * common-win.el (x-select-text): Look for w32, not windows-nt. + + * ns-win.el: Require cl-lib. Add ourselves to + display-format-alist. + (ns-initialize-window-system): Assert we're not initialized twice. + + * w32-win.el: Enable lexical binding; require cl-lib; add + ourselves to display-format-alist. + (w32-handle-dropped-file): Convert incoming dropped files from + Windows paths to Cygwin ones before passing them on to the rest of + Emacs. + (w32-drag-n-drop): New paramter new-frame. Simplify logic. + (w32-initialize-window-system): Assert we're not initialized twice. + + * x-win.el: Require cl-lib; add ourselves to display-format-alist. + (x-initialize-window-system): Assert we're not initialized twice. + + * w32-common-fns.el: New File. + (w32-version, w32-using-nt, w32-get-clipboard-data) + (w32-set-clipboard-data, x-set-selection, x-get-selection) + (w32-charset-info-alist, x-last-selected, text) + (x-get-selection-value, x-selection-value): Move here. + + * w32-fns.el: Require w32-common-fns. + (w32-version, w32-using-nt, w32-get-clipboard-data) + (w32-set-clipboard-data, x-set-selection, x-get-selection) + (w32-charset-info-alist, x-last-selected, text) + (x-get-selection-value, x-selection-value): Move to + w32-common-fns. + + * w32-vars.el: + (w32-allow-system-shell, w32-system-shells): Define only in + non-cygwin case. + +2012-10-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (read-passwd-map): Don't use `defconst' (bug#12597). + (read-passwd): Remove a few more potential sources of leaks. + +2012-10-07 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (inferior-python-mode) + (python-shell-make-comint): Fix initialization of local + variables copied from parent buffer. + +2012-10-07 Jan Djärv <jan.h.d@swipnet.se> + + * term/ns-win.el (ns-read-file-name): Update declaration to match + nsfns.m. + (ns-respond-to-change-font): Change fontsize separately so we are sure + it is set when font is acted upon. + +2012-10-07 Fabián Ezequiel Gallina <fgallina@cuca> + + Enhancements to indentation. + * progmodes/python.el (python-indent-context): Give priority to + inside-string context. Make comments indentation markers. + (python-indent-region): Do not mess with strings, unless it's the + enclosing set of quotes. + +2012-10-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el (internal--before-save-selected-window) + (internal--after-save-selected-window): New functions extracted from + save-selected-window. Make sure we return the `alist' we construct. + (save-selected-window): Use them. + + * textmodes/tex-mode.el (tex-recenter-output-buffer): + Use with-selected-window. + + * emacs-lisp/autoload.el (make-autoload): Add `cl-defmacro' to the + forms that define macros (bug#12593). + +2012-10-07 Kenichi Handa <handa@gnu.org> + + * international/mule-conf.el (compound-text-with-extensions): + Add :mime-charset property as x-ctext. + +2012-10-07 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el (rst-new-adornment-down, rst-indent-field) + (rst-indent-literal-normal, rst-indent-literal-minimized) + (rst-indent-comment): Correct :version tag. + (rst-official-cvs-rev): Correct version string. + +2012-10-07 Glenn Morris <rgm@gnu.org> + + * mail/rmailmm.el (rmail-mime-process-multipart): + Do not confuse a multipart message with an epilogue + with a "truncated" one; fixes 2011-06-27 change. (Bug#10101) + +2012-10-07 Fabián Ezequiel Gallina <fgallina@cuca> + + Fix shell output retrieval and comint-prompt-regexp init. + * progmodes/python.el (inferior-python-mode): + (python-shell-make-comint): Fix initialization of + comint-prompt-regexp from copied file local variables. + (python-shell-fetched-lines): Remove var. + (python-shell-output-filter-in-progress): Rename from + python-shell-fetch-lines-in-progress. + (python-shell-output-filter-buffer): Rename from + python-shell-fetch-lines-string. + (python-shell-fetch-lines-filter): Delete function. + (python-shell-output-filter): New function. + (python-shell-send-string-no-output): Use them. + +2012-10-07 Glenn Morris <rgm@gnu.org> + + * hi-lock.el (hi-lock-process-phrase): + Try to make it less fragile. (Bug#7161) + + * hi-lock.el (hi-lock-face-phrase-buffer): Doc fix. + +2012-10-06 Glenn Morris <rgm@gnu.org> + + * ehelp.el (electric-help-mode): Use help-mode rather than + non-existent mode `help'. + (electric-help-map): Use button-buffer-map. (Bug#10917) + + * textmodes/reftex-vars.el (reftex-create-bibtex-header) + (reftex-create-bibtex-footer): Fix custom types. + + * progmodes/sh-script.el (sh-indent-after-continuation): + Add explicit :group. + + * textmodes/rst.el (rst-preferred-decorations) + (rst-shift-basic-offset): Clarify obsolescence versions. + + * profiler.el (profiler): Add missing group :version tag. + * avoid.el (mouse-avoidance-banish-position): + * proced.el (proced-renice-command): + * calc/calc.el (calc-ensure-consistent-units): + * calendar/icalendar.el (icalendar-import-format-uid): + * net/tramp.el (tramp-save-ad-hoc-proxies): + * progmodes/bug-reference.el (bug-reference-bug-regexp): + * progmodes/flymake.el (flymake-error-bitmap) + (flymake-warning-bitmap, flymake-fringe-indicator-position): + * progmodes/sh-script.el (sh-indent-after-continuation): + * progmodes/verilog-mode.el (verilog-auto-template-warn-unused) + (verilog-before-save-font-hook, verilog-after-save-font-hook): + * progmodes/vhdl-mode.el (vhdl-makefile-default-targets) + (vhdl-array-index-record-field-in-sensitivity-list) + (vhdl-indent-comment-like-next-code-line): + * textmodes/reftex-vars.el (reftex-ref-style-alist) + (reftex-ref-macro-prompt, reftex-ref-style-default-list) + (reftex-cite-key-separator, reftex-create-bibtex-header) + (reftex-create-bibtex-footer): + * textmodes/rst.el (rst-new-adornment-down, rst-indent-field) + (rst-indent-literal-normal, rst-indent-literal-minimized) + (rst-indent-comment): Add missing custom :version tags. + + * calendar/timeclock.el (timeclock-modeline-display): + Add missing obsolete alias for renamed user option. + + * strokes.el (strokes-modeline-string): + * emulation/crisp.el (crisp-mode-modeline-string): + * eshell/esh-mode.el (eshell-status-in-modeline): + Aliases to defcustoms must come before the defcustom. + + * calendar/cal-tex.el (cal-tex-diary, cal-tex-cursor-week) + (cal-tex-cursor-week2, cal-tex-cursor-week-iso) + (cal-tex-cursor-week-monday): Doc fixes. + (cal-tex-cursor-week2-summary): Doc fix. + Rename from cal-tex-cursor-week-at-a-glance. + + * calendar/cal-menu.el (cal-menu-context-mouse-menu): + Tweak week descriptions. Add cal-tex-cursor-week2-summary. + + * calendar/calendar.el (calendar-mode-map): + Add cal-tex-cursor-week2-summary. + +2012-10-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl-defstruct): Improve docstring. + + * subr.el (read-passwd-map): New var. + (read-passwd): Use `read-string' again. + * minibuffer.el (delete-minibuffer-contents): Make it interactive. + +2012-10-06 Jambunathan K <kjambunathan@gmail.com> + + * register.el (append-to-register, prepend-to-register): + Deactivate mark, as does `copy-to-register' (bug#12389). + +2012-10-06 Chong Yidong <cyd@gnu.org> + + * files.el (auto-mode-alist): Add .by and .wy (Semantic grammars). + +2012-10-06 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change) + + * international/characters.el: Fix simple mistake ((car chars) -> + elt), delete duplicated code. + +2012-10-06 Glenn Morris <rgm@gnu.org> + + * subr.el (read-passwd): Allow C-u to erase entry. (Bug#12570) + +2012-10-06 Julian Scheid <julians37@gmail.com> (tiny change) + + * color.el (color-hsl-to-rgb): Fix incorrect results for + small and large hue values. (Bug#12559) + +2012-10-05 Fabián Ezequiel Gallina <fgallina@cuca> + + Enhancements to docstring formatting when filling paragraphs. + * progmodes/python.el (python-fill-docstring-style): Rename from + python-fill-string-style. Added new style. + (python-fill-string): Use new style. Better checks for + docstrings. + +2012-10-05 Glenn Morris <rgm@gnu.org> + + * net/newst-treeview.el (newsticker-group-move-feed): Doc fix. + + * color.el (color-name-to-rgb, color-rgb-to-hex) + (color-hue-to-rgb, color-hsl-to-rgb, color-rgb-to-hsv) + (color-rgb-to-hsl, color-srgb-to-xyz, color-saturate-hsl) + (color-desaturate-hsl, color-desaturate-name, color-lighten-hsl) + (color-lighten-name, color-darken-hsl, color-darken-name): Doc fixes. + + * emacs-lisp/timer.el (with-timeout): Add missing progn. (Bug#12577) + +2012-10-05 Juanma Barranquero <lekktu@gmail.com> + + * ido.el (ido-directory-too-big-p): Pass dir through file-truename + to get the correct size across symlinks. + + * ido.el (ido-buffer-disable-smart-matches): Fix typo in docstring. + +2012-10-04 Juri Linkov <juri@jurta.org> + + * replace.el (query-replace-interactive): Declare obsolete. + (query-replace-read-from): Add the last incremental search string + to the list of default values accessible via M-n. + (map-query-replace-regexp): Use `read-regexp'. + (query-replace, query-replace-regexp, query-replace-regexp-eval) + (map-query-replace-regexp, replace-string, replace-regexp): + Fix docstrings to replace mentions of `query-replace-interactive' + with alternatives. (Bug#12526) + +2012-10-04 Juri Linkov <juri@jurta.org> + + * dired.el (dired-shrink-to-fit): Declare obsolete. (Bug#1806) + (dired-pop-to-buffer): Declare obsolete. + (dired-mark-pop-up): Doc fix. + +2012-10-04 Fabián Ezequiel Gallina <fgallina@cuca> + + Allow user to set docstring style for fill-paragraph. + * progmodes/python.el + (python-fill-comment-function, python-fill-string-function) + (python-fill-decorator-function, python-fill-paren-function): + Remove :safe for defcustoms. + (python-fill-string-style): New defcustom + (python-fill-paragraph-function): Enhance context detection. + (python-fill-string): Honor python-fill-string-style settings. + +2012-10-04 Martin Rudalics <rudalics@gmx.at> + + * emacs-lisp/edebug.el (edebug-pop-to-buffer): Select window + after setting its buffer (Bug#10805). + +2012-10-03 Fabián Ezequiel Gallina <fgallina@cuca> + + Fix cornercase for string syntax. + * progmodes/python.el (python-syntax-propertize-function): + Simplify and enhance the regexp for unescaped quotes. Now it also + matches quotes in weird situations like the single quote in + "something\"'". + (python-syntax-stringify): Simplify num-quotes detecting code. + +2012-10-03 Glenn Morris <rgm@gnu.org> + + * help-macro.el (three-step-help): + Revert 2012-09-29 change. (Bug#12567) + +2012-10-03 Martin Rudalics <rudalics@gmx.at> + + * menu-bar.el (kill-this-buffer): Don't do anything when + `menu-frame' is not alive or visible (Bug#8184). + + * emacs-lisp/debug.el (debug): When quitting the debugger window + restore current buffer (Bug#12502). + +2012-10-02 Chong Yidong <cyd@gnu.org> + + * progmodes/hideif.el (hif-lookup, hif-defined): + Handle semantic-c-takeover-hideif. + +2012-10-02 Paul Eggert <eggert@cs.ucla.edu> + + Change sampling interval units from ms to ns. + * profiler.el (profiler-sampling-interval): Change units + from ms to ns, multiplying the default by 1000000 so that + it remains 1 ms. + (profiler-report-cpu-line-format): Give enough room for + the maximum counters on 64-bit hosts. + (profiler-report-render-calltree-1): Call them "CPU samples", + not "Time (ms)", since they are not milliseconds now (and + never really were). + +2012-10-02 Sergio Durigan Junior <sergiodj@riseup.net> (tiny change) + + * net/eudcb-bbdb.el (eudc-bbdb-format-record-as-result): + Fix querying BBDB for entries without a last name (Bug#11580). + +2012-10-02 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/eieio.el: Restore Version header. + +2012-10-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/diff-mode.el (diff--auto-refine-data): New var. + (diff-hunk): Use it to delay refinement. + (diff-mode): Remove overlays when we turn off font-lock. + + * textmodes/table.el: Use lexical-binding, dolist, define-minor-mode. + (table-initialize-table-fixed-width-mode) + (table-set-table-fixed-width-mode): Remove functions. + (table-command-list): Move initialization into declaration. + (table--tweak-menu-for-xemacs): Move defun outside mapcar. + (table-with-cache-buffer): Use `declare'. + (table-span-cell): Simplify via CSE. + (table-fixed-width-mode): Use define-minor-mode. + (table-call-interactively, table-funcall, table-apply): Remove. + (table-function): New function, to replace them. + + * bookmark.el (bookmark-search-pattern): Remove var. + (bookmark-read-search-input): Remove function. + (bookmark-bmenu-search): Reimplement using a minibuffer. + + * faces.el (modeline): Remove obsolete face name. + + * vc/add-log.el (add-log-buffer-file-name-function): Demote to defvar + and give a non-nil default value. + (add-change-log-entry): Simplify accordingly. + +2012-10-01 Dmitry Gutov <dgutov@yandex.ru> + + * vc/vc-git.el (vc-git-log-edit-toggle-signoff): New function. + (vc-git-log-edit-toggle-amend): New function. + (vc-git-log-edit-toggle-signoff): New function. + (vc-git-log-edit-mode): New major mode. + (vc-git-log-edit-mode-map): Keymap for it. + (vc-git-checkin): Handle "Amend" and "Sign-Off" headers. + + * vc/log-edit.el (log-edit-font-lock-keywords): Allow hyphens in + header names. + (log-edit-toggle-header): New function. + (log-edit-extract-headers): Accept function values in HEADERS alist. + +2012-10-01 David Engster <deng@randomsample.de> + + * emacs-lisp/eieio-opt.el (eieio-describe-class): Add filename + from symbol property and change message to be more consistent with + Emacs proper. + (eieio-describe-generic): Add filename for each implementation. + Fix indices for generic and normal methods. + (eieio-method-def, eieio-class-def): New buttons. + (eieio-help-find-method-definition) + (eieio-help-find-class-definition): New functions. + (eieio-help-mode-augmentation-maybee): Add buttons to filenames of + class, constructor and method definitions. + + * emacs-lisp/eieio.el (eieiomt-add, eieio-defclass): Save file + information in symbol property. + (scoped-class): Remove. + (eieio-slot-name-index, call-next-method): Check if it is bound. + +2012-10-01 Leo P. White <lpw25@cam.ac.uk> + + * emacs-lisp/eieio-custom.el (eieio-custom-mode-map): New option. + (eieio-custom-mode): New major mode. + (eieio-customize-object): Use it. + +2012-10-01 Eric Ludlam <zappo@gnu.org> + + * emacs-lisp/eieio-base.el (eieio-persistent-read): New input args + specifying the expected class, and whether subclassing is allowed. + (eieio-persistent-convert-list-to-object): + (eieio-persistent-validate/fix-slot-value) + (eieio-persistent-slot-type-is-class-p): New functions. + (eieio-named::slot-missing): Doc fix. + + * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): + Stop using unused publd variable. + + * emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click): + (eieio-speedbar-description, eieio-speedbar-derive-line-path) + (eieio-speedbar-object-buttonname, eieio-speedbar-make-tag-line) + (eieio-speedbar-handle-click): Do not specify a class for the + method. Fixes method invocation order problems with EDE. + +2012-10-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (byte-compiler-abbreviate-file): New function. + (byte-compile-warning-prefix, byte-compile-file): Use it (bug#12508). + +2012-10-01 Karl Fogel <kfogel@red-bean.com> + + * bookmark.el (bookmark-version-control): Give tags in the + :type choices (Bug#12309), and improve doc string. + (bookmark-write-file): Bind `print-circle' to `t' to allow + circular custom bookmark types. (Bug#12503) + +2012-10-01 Paul Eggert <eggert@cs.ucla.edu> + + Revert the FOLLOW-SYMLINKS change for file-attributes. + * files.el (remote-file-name-inhibit-cache, after-find-file): + * time.el (display-time-file-nonempty-p): Undo last change. + + * profiler.el (profiler-sampling-interval): Change default back to 1. + See Stefan Monnier in + <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00863.html>. + +2012-10-01 Fabián Ezequiel Gallina <fgallina@cuca> + + Shell output catching a la gud-gdb. + * progmodes/python.el (python-shell-fetch-lines-in-progress) + (python-shell-fetch-lines-string, python-shell-fetched-lines): + New Vars. + (python-shell-fetch-lines-filter): New function. + (python-shell-send-string-no-output): Use them. + +2012-09-30 Tomohiro Matsuyama <tomo@cx4a.org> + + * profiler.el (profiler-sampling-interval): Rename from + profiler-sample-interval. + (profiler-sampling-interval): Default to 10. + (profiler-find-profile): New command (was profiler-find-log). + (profiler-find-profile-other-window): New command. + (profiler-find-profile-other-frame): New command. + (profiler-profile): Introduce API-level data structure. + +2012-09-30 Paul Eggert <eggert@cs.ucla.edu> + + file-attributes has a new optional arg FOLLOW-SYMLINKS. + * files.el (remote-file-name-inhibit-cache): + * time.el (display-time-file-nonempty-p): Use it. + * files.el (after-find-file): Don't chase links before calling + file-exists-p, as file-exists-p already does the right thing. + +2012-09-30 Ralf Angeli <angeli@caeruleus.net> + + Merge from standalone RefTeX repository. + + The following ChangeLog entries are shortened versions of the + original ones with file paths adapted. A not so strongly edited + version of the original ChangeLog can be found in the commit log. + + * textmodes/reftex-auc.el: Move `provide' call to bottom of file. + (reftex-arg-cite): Use `reftex-cite-key-separator'. + Correctly handle new value type returned by `reftex-citation'. + + * textmodes/reftex-cite.el (reftex-create-bibtex-file): Make sure + that entries with whitespace at various places are found. + Doc fix. Include entries that are cross-referenced from cited entries. + Include @String definitions in the resulting bib file. Add header + and footer defined in `reftex-create-bibtex-header' and + `reftex-create-bibtex-footer'. + (reftex-do-citation): Make it possible again to insert + non-existent entries. Save match data when asking for optional + arguments. Return all keys, not just the first one. + (reftex-all-used-citation-keys): Fix regexp to correctly extract + all citations in the same line. + (reftex-parse-bibtex-entry): Accept additional optional argument + `raw' and keep quotes or braces if it is non-nil. Match fields + containing hyphens besides word constituents. + (reftex-get-string-refs): New function. + (reftex-extract-bib-entries): Check if BibTeX file changed on disk + and ask if it should be reread in case it did. + (reftex-pop-to-bibtex-entry) + (reftex-extract-bib-entries-from-thebibliography): Match \bibitem + entries with spaces or tabs in front of arguments. + (reftex-pop-to-bibtex-entry, reftex-extract-bib-entries) + (reftex-parse-bibtex-entry, reftex-create-bibtex-file): + Match entries containing numbers and symbol constituents. + (reftex-do-citation, reftex-figure-out-cite-format): + Use `reftex-cite-key-separator'. + + * textmodes/reftex-dcr.el: Move provide statement to end of file. + (reftex-mouse-view-crossref): Explain why point is set. + + * textmodes/reftex-global.el: Whitespace changes. + + * textmodes/reftex-index.el: Move provide statement to end of + file. + (reftex-index-selection-or-word): Use `reftex-region-active-p'. + (reftex-index-visit-phrases-buffer): Set marker when visiting + buffer. This allows for returning from the phrases file to the + file one was just editing instead of the file where the last + phrases was added from. + (reftex-index-phrases-syntax-table): New variable. Give ?\" + punctuation syntax as it usually is not used as string quote in + TeX-related modes and may occur unmatched. The change also + prevents fontification of quoted content. + (reftex-index-phrases-mode): Use it. + + * textmodes/reftex-parse.el (reftex-parse-from-file): + Move backward one char if a `\' was matched after a section macro. + (reftex-parse-from-file): Use beginning of match instead of end as + bound. + + * textmodes/reftex-ref.el: Adapt creation of + `reftex-<package>-<macro>' functions to new structure of + `reftex-ref-style-alist'. + (reftex-reference): Use `reftex-ref-style-list' function. + Adapt to new structure of `reftex-ref-style-alist'. Prompt for a + reference macro if `reftex-ref-macro-prompt' is non-nil. + (reftex-reference): Pass refstyle to `reftex-format-special'. + Determine reference macro by looking at + `reftex-ref-style-default-list' and `reftex-ref-style-alist'. + Use only one special format function. + (reftex-varioref-vref, reftex-fancyref-fref) + (reftex-fancyref-Fref): Remove definitions. The functions are now + generated from `reftex-ref-style-alist'. + (reftex-format-vref, reftex-format-Fref, reftex-format-fref): + Remove. + (reftex-format-special): New function. + + * textmodes/reftex-sel.el + (reftex-select-cycle-ref-style-internal): Adapt to new structure + of `reftex-ref-style-alist'. Remove code for testing macro type. + (reftex-select-toggle-varioref) + (reftex-select-toggle-fancyref): Remove. + (reftex-select-cycle-ref-style-internal) + (reftex-select-cycle-ref-style-forward) + (reftex-select-cycle-ref-style-backward): New functions. + (reftex-select-label-map): Use `v' and `V' for general cycling + through reference styles. Add `p' for switching between number + and page reference types. + + * textmodes/reftex-toc.el (reftex-re-enlarge): + Call `enlarge-window' only if there is something to do because in Emacs + the horizontal version throws an error even if the parameter is 0. + + * textmodes/reftex-vars.el (reftex-label-alist): Doc fix. + (reftex-plug-into-AUCTeX): Doc fix. + (reftex-vref-is-default, reftex-fref-is-default): Adapt doc + string. Adapt to new name. + (reftex-ref-style-alist): Change structure so that it is not + possible to use multiple different package names within a style. + Remove the symbols for symbols for macro type distinction. + Add characters for macro selection. + (reftex-ref-macro-prompt, reftex-create-bibtex-header) + (reftex-create-bibtex-footer): New variables. + (reftex-format-ref-function): Mention third argument of special + format function. + (reftex-ref-style-alist, reftex-ref-style-default-list): + New variables. + (reftex-vref-is-default, reftex-fref-is-default): Adapt doc string + to new implementation. Mark as obsolete. Add compatibility code + for honoring the variable values in case they are set. + (reftex-cite-format-builtin, reftex-bibliography-commands): + Add support for ConTeXt. + (reftex-format-ref-function, reftex-format-cite-function): + Fix custom type. + (reftex-cite-key-separator): New variable. + + * textmodes/reftex.el (reftex-syntax-table-for-bib) + (reftex-mode): Do not derive `reftex-syntax-table-for-bib' from + `reftex-syntax-table' because parens have to retain their paren + syntax in order for parsing of BibTeX entries like @book(...) to + work. + (reftex-in-comment): Do not error out if `comment-start-skip' is + not set. Deal correctly with escaped comment characters. + (reftex-tie-multifile-symbols): Add doc string. + Initialize `reftex-ref-style-list'. + (reftex-untie-multifile-symbols): Add doc string. + (reftex-add-index-macros): Doc fix. + (reftex-ref-style-activate, reftex-ref-style-toggle) + (reftex-ref-style-list): New functions. + (reftex-mode-menu): Use them. Adapt to new structure of + `reftex-ref-style-alist'. + (reftex-select-with-char): Kill the RefTeX Select buffer when + done. + (reftex-remove-if): New function. + (reftex-erase-all-selection-and-index-buffers) + (reftex-mode-menu): Reference styles are now computed from + `reftex-ref-style-alist'. Fix typo. + (reftex-report-bug): New function. + (reftex-uniquify, reftex-uniquify-by-car): Replace O(n^2) + algorithms with O(n log n). Introduce optional argument SORT (not + yet used). + +2012-09-30 Fabián Ezequiel Gallina <fgallina@cuca> + + Enhancements for triple-quote string syntax. + * progmodes/python.el (python-syntax-propertize-function): + Match both quote cases in one regexp. + (python-syntax-stringify): Handle matches properly. + +2012-09-30 Juri Linkov <juri@jurta.org> + + * arc-mode.el (archive-summarize): Let-bind `buffer-file-truename' + to nil around the call to `insert' to prevent + directory time modification by lock_file. (Bug#2295) + * tar-mode.el (tar-summarize-buffer): Idem. + +2012-09-30 Juri Linkov <juri@jurta.org> + + * facemenu.el (list-colors-sort): Add option "Luminance". + (list-colors-sort-key): Implement it. + + * vc/diff-mode.el (diff-refine-removed): + * vc/ediff-init.el (ediff-fine-diff-A): + * vc/smerge-mode.el (smerge-refined-removed): + Change background color "#ffaaaa" to "#ffbbbb". (Bug#10181) + +2012-09-30 Jan Djärv <jan.h.d@swipnet.se> + + * term/ns-win.el (x-file-dialog): New function. + +2012-09-30 Juanma Barranquero <lekktu@gmail.com> + + * ido.el (ido-max-directory-size): Default to nil; the current + default is small for POSIX systems, and impractical on Windows 7 + now that lstat returns directory sizes for NTFS. + +2012-09-30 Martin Rudalics <rudalics@gmx.at> + + In buffer display functions handle window-height/window-width + alist entries. Suggested by Juri Linkov as fix for Bug#1806. + * window.el (window--display-buffer): New argument ALIST. + Obey window-height and window-width alist entries. + (window--try-to-split-window): New argument ALIST. + Bind window-combination-limit to t when the window's size shall be + changed and window-combination-limit equals `window-size'. + (display-buffer-in-atom-window) + (display-buffer-in-major-side-window) + (display-buffer-in-side-window, display-buffer-same-window) + (display-buffer-reuse-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-window, display-buffer-below-selected) + (display-buffer-at-bottom, display-buffer-in-previous-window) + (display-buffer-use-some-window): Adjust all callers of + window--display-buffer and window--try-to-split-window. + (fit-frame-to-buffer): New option. + (fit-window-to-buffer): Can resize frames if fit-frame-to-buffer + is non-nil. + (display-buffer-in-major-side-window): Evaluate window-height / + window-width alist entries. + + * help.el (temp-buffer-resize-frames) + (temp-buffer-resize-regexps): Remove options. + (temp-buffer-resize-mode): Adjust doc-string. + (resize-temp-buffer-window): Don't consult + temp-buffer-resize-regexps. Use fit-frame-to-buffer instead of + temp-buffer-resize-frames. + + * dired.el (dired-mark-pop-up): + Call display-buffer-below-selected with a fit-window-to-buffer alist + entry. + +2012-09-30 Chong Yidong <cyd@gnu.org> + + * server.el (server-host): Document the security implications. + (server-auth-key): Doc fix. + + * startup.el (initial-buffer-choice): Doc fix. + + * minibuffer.el (minibuffer-local-filename-syntax): Doc fix. + + * simple.el (delete-trailing-whitespace): Avoid an unnecessary + restriction change. + + * bindings.el (goto-map): Bind M-g TAB to move-to-column. + + * help-fns.el (help-fns--obsolete): Fix last change. + +2012-09-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * winner.el (winner-mode-map): Obey winner-dont-bind-my-keys here. + (minor-mode-map-alist): Remove redundant code. + + * vc/pcvs.el (cvs-cleanup-collection): Keep entries that are currently + visited in a buffer. + (cvs-insert-visited-file): New function. + (find-file-hook): Use it. + + * vc/pcvs-info.el (cvs-fileinfo-pp): Don't use non-existent faces. + + * vc/log-edit.el (log-edit-font-lock-keywords): Ignore case to + chose face. + (log-edit-empty-buffer-p): Don't require a space after a header. + + * vc/ediff-util.el (ediff-diff-at-point): Don't assume point-min==1. + + * tutorial.el (help-with-tutorial): Use minibuffer-with-setup-hook. + + * textmodes/text-mode.el (paragraph-indent-minor-mode): Make it + a proper minor-mode. + + * textmodes/tex-mode.el (tex-mode-map): Don't bind paren keys. + +2012-09-29 Glenn Morris <rgm@gnu.org> + + * winner.el (winner-mode): Remove variable (let define-minor-mode + handle it). + (winner-dont-bind-my-keys, winner-boring-buffers, winner-mode-hook): + Doc fixes. + (winner-mode-leave-hook): Rename to winner-mode-off-hook. + (winner-mode): Use define-minor-mode. + + * vc/vc-sccs.el (vc-sccs-registered): Use the progn trick to get + the full definition in loaddefs, rather than duplicating it. + + * help-macro.el (three-step-help): No need to autoload defcustom. + + * progmodes/inf-lisp.el (inferior-lisp-filter-regexp) + (inferior-lisp-program, inferior-lisp-load-command) + (inferior-lisp-prompt, inferior-lisp-mode-hook): + No need to autoload defcustoms. + + * hippie-exp.el (hippie-expand-try-functions-list) + (hippie-expand-verbose, hippie-expand-dabbrev-skip-space) + (hippie-expand-dabbrev-as-symbol, hippie-expand-no-restriction) + (hippie-expand-max-buffers, hippie-expand-ignore-buffers) + (hippie-expand-only-buffers): No need to autoload defcustoms. + * progmodes/vhdl-mode.el (vhdl-line-expand): + Explicitly load hippie-exp, so it does not get autoloaded + while hippie-expand-try-functions-list is let-bound. + +2012-09-28 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/cl.el (flet): Fix case of obsolescence message. + + * emacs-lisp/bytecomp.el (byte-compile-cl-file-p): + Only "cl.el" counts as cl these days. + +2012-09-28 Juri Linkov <juri@jurta.org> + + Display archive errors in the echo area instead of inserting + to the file buffer. + + * arc-mode.el (archive-extract-by-stdout): Change arg STDERR-FILE + to STDERR-TEST that can be a regexp matching a successful output. + Create a temporary file and redirect stderr to it. Search for + STDERR-TEST in the stderr output and display it in the echo area + if no match is found. + (archive-extract-by-file): New function like + `archive-extract-by-stdout' but extracting archives to files + and looking for successful matches in stdout. Function body is + mostly copied from `archive-rar-extract'. + (archive-rar-extract): Use `archive-extract-by-file'. + (archive-7z-extract): Use `archive-extract-by-stdout'. (Bug#10347) + +2012-09-28 Leo Liu <sdl.web@gmail.com> + + * pcomplete.el (pcomplete-show-completions): + Use minibuffer-message to make pcomplete usable in minibuffer. + + * ido.el (ido-set-matches-1): Fix 2012-09-11 change. + +2012-09-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * type-break.el: Use lexical-binding. + (type-break-mode): Use define-minor-mode. + + * emacs-lisp/pcase.el (pcase--mark-used): New. + (pcase--u1): Use it (bug#12512). + + * custom.el (load-theme): Set buffer-file-name so the load is recorded + in load-history with the right file name. + +2012-09-28 Tassilo Horn <tsdh@gnu.org> + + * doc-view.el (doc-view-current-cache-doc-pdf): New function. + (doc-view-doc->txt, doc-view-convert-current-doc): Use it. + (doc-view-get-bounding-box): Make bounding box slicing work for + ODF and DVI documents. + +2012-09-28 Glenn Morris <rgm@gnu.org> + + * type-break.el (type-break-mode, type-break-interval) + (type-break-good-rest-interval, type-break-keystroke-threshold): + No need to autoload. + (type-break-good-rest-interval, type-break-keystroke-threshold): + Add :set-after. + +2012-09-28 Chong Yidong <cyd@gnu.org> + + * progmodes/verilog-mode.el (verilog-auto-inst-interfaced-ports): + Add :version tag. + +2012-09-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * json.el (json-encode-char): Codes 127-160 aren't "ASCII printable". + +2012-09-27 Glenn Morris <rgm@gnu.org> + + * faces.el (x-display-name): Declare (for without-x builds). + + * linum.el (linum-format): Don't autoload it. Improve :type. + + * progmodes/tcl.el: Don't require outline when compiling. + (outline-regexp, outline-level): Declare. + * textmodes/sgml-mode.el: Don't require outline when compiling. + (outline-regexp, outline-heading-end-regexp, outline-level): Declare. + + * term.el (term-ansi-reset): + Try setting term-ansi-face-already-done to nil. (Bug#11785) + + * vc/vc.el (vc-next-action): Only gripe about committing read-only + files for RCS and SCCS. (Bug#9781) + +2012-09-27 Chong Yidong <cyd@gnu.org> + + * progmodes/verilog-mode.el (verilog-mode-release-emacs): Fix last + change; value should be t. + +2012-09-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * image-mode.el: Use lexical-binding. + (image-mode-winprops): Use t to stand for the window of + a buffer that's not displayed. + * doc-view.el (doc-view-new-window-function): Handle the new + t in winprops. + (doc-view-enlarge): Make it a real nop if the size is not changed. + (doc-view-display): Handle the case where the buffer is not (yet?) + displayed in any window. + (doc-view-saved-settings): New var. + (doc-view-mode): Use it. + (doc-view-fallback-mode): Set it. + + * minibuf-eldef.el: Make it possible to replace (default ...) with [...]. + Set lexical-binding. + (minibuffer-eldef-shorten-default): New var. + (minibuffer-default-in-prompt-regexps): Use it for new default. + (minibuf-eldef-setup-minibuffer): Add replacement functionality. + +2012-09-26 Juanma Barranquero <lekktu@gmail.com> + + * international/uni-bidi.el: + * international/uni-category.el: + * international/uni-name.el: + * international/uni-numeric.el: Regenerate. + +2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org> + Stefan Monnier <monnier@iro.umontreal.ca> + + * profiler.el: New file. + +2012-09-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/testcover.el (testcover-after): Add gv-expander. + (testcover-reinstrument): Simplify with CSE. + +2012-09-26 Juanma Barranquero <lekktu@gmail.com> + + * window.el (temp-buffer-window-setup): Fix typo in docstring. + +2012-09-25 Wilson Snyder <wsnyder@wsnyder.org> + + * verilog-mode.el (verilog-auto-ascii-enum, verilog-auto-inout) + (verilog-auto-input, verilog-auto-insert-lisp) + (verilog-auto-output, verilog-auto-output-every, verilog-auto-reg) + (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-undef) + (verilog-auto-unused, verilog-auto-wire) + (verilog-forward-or-insert-line): Fix AUTOs with no trailing + newline. Reported by Andrew Jones. + (verilog-auto-inst) Support expanding $clog2 in AUTOINST. + Reported by Brad Dobbie. + (verilog-batch-delete-trailing-whitespace): + Create verilog-batch-delete-trailing-whitespace. + Reported by Brad Dobbie. + (verilog-auto-inout-param): Support AUTOINOUTPARAM for copying + parameters from another module. Reported by Dan Katz. + (verilog-auto, verilog-auto-assign-modport) + (verilog-auto-inout-modport): Add AUTOASSIGNMODPORT and + AUTOINOUTMODPORT for UVM interface module shell generation. + Reported by Brad Dobbie. + (verilog-auto-inst-interfaced-ports): Make default nil, as more + standard behavior. + (verilog-auto): Fix AUTO parameters with parenthesis arguments. + Reported by Matt Martin. + +2012-09-25 Martin Rudalics <rudalics@gmx.at> + + * window.el (window--resize-child-windows): When resizing child + windows proportionally, process them in reverse order to + preserve the "when splitting a window the new one gets the odd + line" behavior. + (window--resize-root-window-vertically): When resizing the + minibuffer window try to affect only windows at the bottom of the + frame. (Bug#12419) + +2012-09-25 Chong Yidong <cyd@gnu.org> + + * subr.el (declare): Doc fix. + + * help-fns.el (help-fns--obsolete): Handle macros properly. + +2012-09-25 Chong Yidong <cyd@gnu.org> + + * bookmark.el (bookmark-jump-noselect): Use a declare form to mark + this function obsolete. + + * calendar/cal-x.el (calendar-two-frame-setup) + (calendar-only-one-frame-setup, calendar-one-frame-setup): + * calendar/calendar.el (american-calendar, european-calendar) + (calendar-for-loop): + * comint.el (comint-dynamic-simple-complete) + (comint-dynamic-complete-as-filename, comint-unquote-filename): + * desktop.el (desktop-load-default): + * dired-x.el (dired-omit-here-always) + (dired-hack-local-variables, dired-default-directory): + * emacs-lisp/derived.el (derived-mode-class): + * emacs-lisp/timer.el (timer-set-time-with-usecs): + * emacs-lock.el (toggle-emacs-lock): + * epa.el (epa-display-verify-result): + * epg.el (epg-sign-keys, epg-start-sign-keys) + (epg-passphrase-callback-function): + * eshell/esh-util.el (eshell-for): + * eshell/eshell.el (eshell-remove-from-window-buffer-names) + (eshell-add-to-window-buffer-names): + * files.el (locate-file-completion): + * imenu.el (imenu-example--create-c-index) + (imenu-example--create-lisp-index) + (imenu-example--lisp-extract-index-name) + (imenu-example--name-and-position): + * international/mule-cmds.el (princ-list): + * international/mule-diag.el (decode-codepage-char): + * international/mule-util.el (detect-coding-with-priority): + * iswitchb.el (iswitchb-read-buffer): + * mail/mailalias.el (mail-complete): + * mail/sendmail.el (mail-sent-via): + * mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar) + (mouse-major-mode-menu): + * password-cache.el (password-read-and-add): + * pcomplete.el (pcomplete-parse-comint-arguments): + * progmodes/sh-script.el (sh-maybe-here-document): + * replace.el (query-replace-regexp-eval): + * savehist.el (savehist-load): + * simple.el (choose-completion-delete-max-match): + * term.el (term-dynamic-simple-complete): + * vc/ediff-init.el (ediff-check-version): + * vc/ediff-wind.el (ediff-choose-window-setup-function-automatically): + * vc/vc.el (vc-diff-switches-list): + * view.el (view-return-to-alist-update): Likewise. + + * subr.el (eval-next-after-load, makehash, insert-string) + (assoc-ignore-representation, assoc-ignore-case): Use declare to + mark obsolete. + (mode-line-inverse-video): Variable deleted. + + * international/mule-util.el (string-to-sequence): Remove. + + * calendar/calendar.el (calendar-version): + * calendar/icalendar.el (icalendar-extract-ical-from-buffer) + (icalendar-convert-diary-to-ical): + * cus-edit.el (custom-mode): + * ansi-color.el (ansi-color-unfontify-region): + * international/latin1-disp.el (latin1-char-displayable-p): + * progmodes/cwarn.el (turn-on-cwarn-mode): + * progmodes/which-func.el (which-func-update-1): + Use define-obsolete-function-alias. + + * net/newst-backend.el (newsticker-cache-filename): + * net/newst-treeview.el (newsticker-groups-filename): + Fix incorrect obsolescence declaration. + + * allout.el (allout-passphrase-hint-string): Likewise. + (allout-init): Use a declare form to mark obsolete. + + * emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that + this applies to functions. + + * iswitchb.el (iswitchb-read-buffer): Move code of + iswitchb-define-mode-map here, and delete that obsolete function. + + * net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete + font-lock-reference-face. + +2012-09-25 Glenn Morris <rgm@gnu.org> + + * buff-menu.el (Buffer-menu-name-width, Buffer-menu-size-width): + Doc fixes. + + * eshell/em-term.el (eshell-term-name): + Default to term-term-name. (Bug#12485) + +2012-09-24 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-shell-send-buffer): Better handling + of "if __name__ == '__main__':" conditionals when sending the buffer. + +2012-09-24 Glenn Morris <rgm@gnu.org> + + * eshell/esh-cmd.el (eshell-find-alias-function): + Tighten up file-name regexp. (Bug#12499) + +2012-09-24 Fabián Ezequiel Gallina <fgallina@cuca> + + Enhancements for triple-quote string syntax. + * progmodes/python.el (python-quote-syntax): Remove. + (python-syntax-propertize-function): New value. + (python-syntax-count-quotes, python-syntax-stringify): + New functions. + +2012-09-24 Chong Yidong <cyd@gnu.org> + + * mail/supercite.el (sc-version): Remove obsolete function. + (sc-describe): Don't mark as obsolete, since it is bound. + (sc-submit-bug-report): Remove. + + * vc/log-edit.el (cvs-changelog-full-paragraphs) + (cvs-commit-buffer-require-final-newline): Remove. + (log-edit-require-final-newline) + (log-edit-changelog-full-paragraphs): Default to t. + + * vc/pcvs-defs.el (cvs-diff-buffer-name, cvs-diff-ignore-marks) + * vc/vc-hooks.el (vc-ignore-vc-files, vc-master-templates) + * vc/vc.el (vc-checkout-carefully): Likewise. + + * vc/emerge.el (emerge-mode): Make it an obsolete alias. + (emerge-version): Remove. + + * progmodes/compile.el (compile-internal): Remove. + (compilation-parse-errors-function): Fix typo. + + * international/mule.el (set-char-table-default): Remove. + (set-coding-priority, make-coding-system, generic-char-p) + (charset-list, charset-bytes, charset-id): Use declare to mark + functions as obsolete. + + * vc/pcvs-defs.el (cvs-buffer-name-alist) + (cvs-invert-ignore-marks): Remove references to obsolete vars. + * vc/vc-hooks.el (vc-default-registered): Don't use + vc-master-templates. + + * font-lock.el (font-lock-reference-face): + Use define-obsolete-variable-alias. + + * generic-x.el (rul-generic-mode): Use font-lock-constant-face. + * calendar/calendar.el (calendar-font-lock-keywords): + * calendar/diary-lib.el (diary-font-lock-keywords) + (diary-fancy-font-lock-keywords): + * textmodes/reftex-sel.el (reftex-insert-docstruct): + * textmodes/reftex-index.el (reftex-insert-index): + * textmodes/reftex-cite.el (reftex-format-bib-entry): + * progmodes/ruby-mode.el (ruby-font-lock-keywords): + * progmodes/ps-mode.el (ps-mode-font-lock-keywords-1): + * progmodes/prolog.el (prolog-font-lock-keywords): + * progmodes/idlwave.el (idlwave-idl-keywords): + * progmodes/ada-mode.el (ada-font-lock-keywords): + * net/snmp-mode.el (snmp-font-lock-keywords-3): Likewise. + +2012-09-24 Glenn Morris <rgm@gnu.org> + + * mail/emacsbug.el (report-emacs-bug): Include `lsb_release -d'. + +2012-09-23 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-indent-line): More consistent cursor + movement behavior. + +2012-09-23 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Fix compiler warning. + +2012-09-23 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el (bibtex-autokey-transcriptions): + Transcribe also LaTeX hyphenation. + (bibtex-reformat): Bug fix. Do not quote twice the elements of + bibtex-reformat-previous-options. + +2012-09-23 Roland Winkler <winkler@gnu.org> + + * proced.el (proced-renice-command): New variable. + (proced-marked-processes): New function. + (proced-with-processes-buffer): New macro. + (proced-send-signal): Use them. + (proced-renice): New command bound to r. + +2012-09-23 Roland Winkler <winkler@gnu.org> + + * ibuf-ext.el (ibuffer-switch-to-saved-filter-groups): If list + ibuffer-saved-filter-groups has one element, shortcut the call of + completing-read. (Bug#12331) + +2012-09-23 Chong Yidong <cyd@gnu.org> + + * bindings.el (mode-line-toggle-read-only): + * bs.el (bs-toggle-readonly): + * buff-menu.el (Buffer-menu-toggle-read-only): + * dired.el (dired-toggle-read-only): + * ibuffer.el (ibuffer-do-toggle-read-only): Use read-only-mode. + +2012-09-23 Chong Yidong <cyd@gnu.org> + + * image.el (image-type-available-p): Adapt to init-image-library + argument changes. + +2012-09-22 Juri Linkov <juri@jurta.org> + + * dired.el (dired-mode-map): Add [remap read-only-mode] for + `dired-toggle-read-only'. (Bug#12462) + +2012-09-22 Martin Rudalics <rudalics@gmx.at> + + * subr.el (temp-output-buffer-show): New function. + (with-output-to-temp-buffer): Call temp-output-buffer-show + instead of internal-temp-output-buffer-show. + +2012-09-22 Chong Yidong <cyd@gnu.org> + + * files.el (ctl-x-map): Bind C-x C-q to read-only-mode + (Bug#12462). + + * repeat.el (repeat): Doc fix (Bug#12348). + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix + (Bug#10909). + + * simple.el (shell-command-on-region): Doc fix. + (read-only-mode): Doc fix. + +2012-09-22 Eli Zaretskii <eliz@gnu.org> + + * emacs-lisp/timer.el (run-with-idle-timer) + (timer-activate-when-idle): Warn against reinvoking an idle timer + from within its own timer action. (Bug#12447) + +2012-09-22 Martin Rudalics <rudalics@gmx.at> + + * cus-start.el (window-combination-limit): Add new optional + values. + * window.el (temp-buffer-window-show) + (window--try-to-split-window): Handle new values of + window-combination-limit (Bug#1806). + (split-window): Test window-combination-limit for t instead of + non-nil. + (display-buffer-at-bottom): New buffer display action function. + * help.el (temp-buffer-resize-regexps): New option. + (temp-buffer-resize-mode): Rewrite doc-string. + (resize-temp-buffer-window): Obey temp-buffer-resize-regexps. + Don't resize reused window. Suggested by Glenn Morris. + +2012-09-22 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Revamp section title faces. + (rst-official-version) + (rst-package-emacs-version-alist): Sync with official version + V1.4.0. + (rst-faces-defaults, rst-set-level-default) + (rst-level-face-max, rst-level-face-base-color) + (rst-level-face-base-light, rst-level-face-format-light) + (rst-level-face-step-light, rst-define-level-faces): Obsolete. + (rst-adornment-faces-alist): Match new setup. + (rst-level-1, rst-level-2, rst-level-3, rst-level-4) + (rst-level-5, rst-level-6): New faces. + +2012-09-22 Chong Yidong <cyd@gnu.org> + + * simple.el (undo): Handle indirect buffers (Bug#8207). + +2012-09-21 Leo Liu <sdl.web@gmail.com> + + IDO: Disable match re-ordering for buffer switching. + * ido.el (ido-buffer-disable-smart-matches): New variable. + (ido-set-matches-1): Use it. (Bug#2042) + +2012-09-21 Jose Marino <marinoj@nso.edu> (tiny change) + + * progmodes/idlw-shell.el (idlwave-shell-complete-filename): + Fix 2011-05-17 change. (Bug#12418) + +2012-09-21 Leo Liu <sdl.web@gmail.com> + + * subr.el (ignore-errors): Mention with-demoted-errors in doc-string. + +2012-09-21 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/shadow.el (load-path-shadows-font-lock-keywords): + Be more robust about locating simple.el. + +2012-09-21 Glenn Morris <rgm@gnu.org> + + * mail/emacsbug.el (report-emacs-bug): Trap load-path-shadows errors. + +2012-09-21 Joel Bion <jpbion@westvi.com> (tiny change) + + * pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz. (Bug#12382) + +2012-09-20 Juri Linkov <juri@jurta.org> + + * replace.el (query-replace-read-from): Use `read-regexp' instead + of `read-from-minibuffer' when `regexp-flag' is non-nil. + (occur-read-primary-args): Use `read-regexp' instead of + `read-string'. + (multi-occur-in-matching-buffers): Use `read-regexp' instead of + `read-from-minibuffer'. + * isearch.el (isearch-occur): Use `read-regexp' instead of + `read-string'. + * dired.el (dired-read-regexp): Use `read-regexp' instead of + `read-from-minibuffer'. + * progmodes/grep.el (grep-read-regexp): Use `read-regexp' instead + of `read-string'. (Bug#7567) + + * replace.el (read-regexp): Rename DEFAULT-VALUE arg to DEFAULTS + and allow accepting a list of strings prepended to a list of + standard default values. Doc fix. (Bug#12321) + + * replace.el (read-regexp): Add HISTORY arg. (Bug#7567) + + * replace.el (read-regexp): Don't add ": " when PROMPT already + ends with a colon and space. (Bug#12321) + +2012-09-20 Tassilo Horn <tsdh@gnu.org> + + * doc-view.el (doc-view-display): Better fix for the cl-assertion + error. + +2012-09-20 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Integrate support for `imenu' and `which-function'. + Fixes feature request bug#11711. + (rst-mode): Create `imenu-create-index-function'. + (rst-get-stripped-line): Delete after refactoring. + (rst-section-tree, rst-section-tree-rec) + (rst-section-tree-point): Refactor and document properly. + (rst-imenu-find-adornments-for-position) + (rst-imenu-convert-cell, rst-imenu-create-index): + New function. + +2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/macroexp.el (macroexp--obsolete-warning): New function. + (macroexp--expand-all): Use it. + (macroexp--funcall-and-return): Remove by folding it into its sole + caller (macroexp--warn-and-return). + * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): + Use macroexp--obsolete-warning. + + * calc/calc.el: Fix last change by removing the whole chunk, since it + was only needed back when Calc was not bundled. + +2012-09-20 Martin Rudalics <rudalics@gmx.at> + + * emacs-lisp/debug.el (debug): Restore assignment to + debugger-old-buffer removed on 2012-09-08. + +2012-09-20 Juri Linkov <juri@jurta.org> + + * dired-aux.el (dired-diff): Remove (require 'diff) since + `diff-latest-backup-file' is now autoloaded. + +2012-09-20 Chong Yidong <cyd@gnu.org> + + * vc/diff.el (diff-latest-backup-file): Autoload. + +2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * calc/calc.el: Remove redundant autoload shape check. + (sel-mode): Don't defvar. + (calc-get-stack-element): Add `sel-mode' arg instead. + (calc-top, calc-top-list): Pass it this additional argument. + * calc/calc-store.el (calc-store-map): + * calc/calc-map.el (calc-apply, calc-reduce, calc-map) + (calc-map-equation, calc-outer-product, calc-inner-product): + * calc/calc-aent.el (calc-alg-entry): Don't bind sel-mode. + + * emacs-lisp/macroexp.el (macroexp--expand-all): Fix last change. + +2012-09-19 Juri Linkov <juri@jurta.org> + + * dired-aux.el (dired-diff): Add (require 'diff) because + `diff-latest-backup-file' is not autoloaded. + (dired-do-chxxx, dired-do-chmod): Set `no-error-if-not-filep' arg + of `dired-get-filename' to t to not report error when there is + no default file on the current line. + +2012-09-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/macroexp.el (macroexp--funcall-if-compiled): Rename from + macroexp--eval-if-compile. + (macroexp--funcall-and-return, macroexp--warn-and-return): New funs. + (macroexp--expand-all): Use them (bug#12371). + + * doc-view.el (doc-view-guess-paper-size) + (doc-view-scale-bounding-box): Fix unbound `caddr'. + +2012-09-19 Tassilo Horn <tsdh@gnu.org> + + New feature: set optimal slice from BoundingBox information. + * doc-view.el (doc-view-mode-map): Add keybinding. + (doc-view-menu): Add menu entry. + (doc-view-set-slice): Adapt docstring. + (doc-view-get-bounding-box, doc-view-guess-paper-size) + (doc-view-scale-bounding-box) + (doc-view-set-slice-from-bounding-box): New functions. + (doc-view-paper-sizes): New defvar. + +2012-09-19 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/macroexp.el (byte-compile-warn-obsolete) + (byte-compile-log-warning): Autoload. (Bug#12371) + + * calendar/calendar.el (calendar-american-month-header) + (calendar-european-month-header, calendar-iso-month-header) + (calendar-month-header): New options. + (calendar-set-date-style): Set calendar-month-header. Redraw calendar. + (calendar-generate-month): Use calendar-month-header. (Bug#9510) + +2012-09-19 Jan Djärv <jan.h.d@swipnet.se> + + * startup.el (command-line-ns-option-alist): Add -g and --geometry. + +2012-09-18 Juri Linkov <juri@jurta.org> + + * dired-aux.el (dired-diff): Restore original functionality of + getting the default value, but keep new feature of using the + latest existing backup file (`diff-latest-backup-file'). + +2012-09-18 Juri Linkov <juri@jurta.org> + + * dired.el (dired-mark): If the region is active in Transient Mark + mode, mark all files in the active region. Doc fix. + (dired-unmark, dired-flag-file-deletion, dired-unmark-backward): + Doc fix. (Bug#10624) + +2012-09-18 Juri Linkov <juri@jurta.org> + + * dired-aux.el (dired-do-chxxx, dired-do-chmod): Default file + attributes for M-n are pulled from the file at point. + (dired-do-chgrp, dired-do-chown, dired-do-touch): Doc fix. + Suggested by Drew Adams. (Bug#10624) + +2012-09-18 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-brace-to-do-end): Don't add extra + whitespace after "end". + (ruby-do-end-to-brace): Collapse block to one line if it fits + within fill-column. + +2012-09-18 Martin Rudalics <rudalics@gmx.at> + + * emacs-lisp/debug.el (debugger-bury-or-kill): Fix customization + value. + (debug): Don't remove debugger window when debugger is expected + to be back. + +2012-09-18 Chong Yidong <cyd@gnu.org> + + * custom.el (defface): Doc fix. + + * cus-edit.el (custom-unlispify-remove-prefixes): Add warning. + +2012-09-18 Martin Blais <blais@furius.ca> (tiny change) + + * progmodes/compile.el (compilation-start): Use compilation-always-kill + to initialize query-on-exit; then test that instead (bug#12288). + +2012-09-17 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Add support for `testcover'. + (rst-defcustom-testcover, rst-testcover-add-compose) + (rst-testcover-add-1value): New functions. + (rst-portable-mark-active-p): Replace by `use-region-p'. + (rst-update-section, rst-classify-adornment) + (rst-find-title-line): Mark `1value' forms. + (rst-classify-adornment): Remove superfluous form. + (rst-update-section, rst-get-adornments-around) + (rst-adornment-complete-p, rst-get-next-adornment) + (rst-adjust, rst-promote-region) + (rst-display-adornments-hierarchy, rst-straighten-adornments) + (rst-find-pfx-in-region, rst-section-tree-rec) + (rst-section-tree-point, rst-toc-insert, rst-toc-insert-node) + (rst-toc-node, rst-toc, rst-forward-section) + (rst-iterate-leftmost-paragraphs) + (rst-iterate-leftmost-paragraphs-2, rst-enumerate-region) + (rst-bullet-list-region) + (rst-convert-bullets-to-enumeration, rst-font-lock-keywords) + (rst-compile-find-conf, rst-compile) + (rst-repeat-last-character): Fix style. + +2012-09-17 Chong Yidong <cyd@gnu.org> + + * comint.el (comint--complete-file-name-data): Don't add a space + if the status is `sole'; that adds a gratuitous space in the + completion-cycling case (Bug#12092). + + * pcomplete.el (pcomplete-completions-at-point): Likewise. + +2012-09-17 Richard Stallman <rms@gnu.org> + + * mail/rmailmm.el (rmail-mime-toggle-raw): Do rmail-mime-insert + only in the mime-shown mode, not in raw mode. + (rmail-mime): Toggle off mime by displaying the message without + mime processing. (Bug#12305) + + * mail/rmail.el (rmail-retry-failure): + Turn off mime processing first. (Bug#12037) + + * epa-mail.el (epa-mail-encrypt): Fix bug when a name has no key. + +2012-09-17 Chong Yidong <cyd@gnu.org> + + * shell.el (shell-file-name-chars, shell-file-name-quote-list) + (shell-dynamic-complete-functions): Convert to defcustom. + (shell-prompt-pattern, shell-completion-fignore): Doc fix. + + * bookmark.el (bookmark-bmenu-toggle-filenames): Doc fixes. + * comint.el (comint-prompt-read-only): + * custom.el (defcustom): + * hi-lock.el (hi-lock-mode): + * ibuffer.el (ibuffer-formats): + * ielm.el (ielm-prompt-read-only): + * novice.el (disable-command): + * saveplace.el (toggle-save-place): + * speedbar.el (speedbar-supported-extension-expressions): + * startup.el (auto-save-list-file-prefix, init-file-user) + (after-init-hook, inhibit-startup-echo-area-message): + * strokes.el (strokes-help): + * time-stamp.el (time-stamp): + * calendar/calendar.el (calendar, diary-file): + * calendar/diary-lib.el (diary-mail-entries, diary) + (diary-list-entries-hook): + * calendar/holidays.el (holidays, calendar-holidays): + * calendar/lunar.el (lunar-phases): + * calendar/solar.el (sunrise-sunset): + * emulation/edt.el (edt-load-keys): + * emulation/viper.el (viper-mode): + * eshell/em-alias.el (eshell-command-aliases-list): + * eshell/esh-util.el (eshell-convert-numeric-arguments): + * international/ogonek.el (ogonek-information): + * net/tramp-cmds.el (tramp-bug): + * net/quickurl.el (quickurl-reread-hook-postfix): + * play/decipher.el (decipher-font-lock-keywords): + * progmodes/cc-styles.el (c-set-style): + * progmodes/idlw-shell.el (idlwave-shell-prompt-pattern): + * progmodes/inf-lisp.el (inferior-lisp-prompt): + * progmodes/octave-mod.el (octave-mode): + * progmodes/sql.el (sql-mode, sql-interactive-mode, sql-password): + * progmodes/verilog-mode.el (verilog-read-defines): + * textmodes/two-column.el (2C-mode): Likewise. + +2012-09-16 Katsumi Yamaoka <yamaoka@jpl.org> + + * mail/mailabbrev.el (mail-abbrev-expand-hook): Work for a mail aliasee + that holds many addresses. + +2012-09-16 Chong Yidong <cyd@gnu.org> + + * align.el (align-areas): Call the indication function with + positions instead of markers for arguments (Bug#12343). + + * files.el (parse-colon-path): Use split-string (Bug#12351). + + * window.el (special-display-popup-frame): Doc fix (Bug#8853). + (display-buffer-function): Mark as obsolete. + + * progmodes/compile.el (compilation-parse-errors): Accept list + values similar to font-lock-keywords (Bug#12136). + Suggested by Oleksandr Manzyuk. + (compilation-error-regexp-alist): Doc fix. + +2012-09-15 Glenn Morris <rgm@gnu.org> + + * version.el (emacs-bzr-version-bzr): New function. + (emacs-bzr-get-version): Add optional EXTERNAL argument. + + * vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local + checkouts, check the parent dirstate matches the branch. + Add "--tree" to "bzr revno" arguments. Don't try to shorten the + empty string. + + * version.el (emacs-bzr-version): Doc fix. + (emacs-bzr-version-dirstate): New function. + (emacs-bzr-get-version): For lightweight checkouts, if the parent + is local try and check that it matches the branch. If not, just + use dirstate information. (Bug#12441) + +2012-09-14 Juri Linkov <juri@jurta.org> + + * dired-aux.el (dired-do-chmod): Use `eq' to detect empty input. + (Bug#12399) + +2012-09-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/advice.el (ad-prognify): Remove, use macroexp-progn. + + * emacs-lisp/edebug.el: Miscellaneous cleanup. + Remove obsolete byte-compiler hack that tried to silence some warnings. + (edebug-submit-bug-report): Remove. + (edebug-get-buffer-window, edebug-sit-for, edebug-input-pending-p): + Remove aliases, use the un-prefixed name instead. + (edebug-pop-to-buffer): Consider other frames. + (edebug-original-read):: Make it more obvious that it's always defined. + (edebug--make-form-data-entry, edebug--form-data-name) + (edebug--form-data-begin, edebug--form-data-end): Rename from the + single-dashed name, and implement with cl-defstruct. + (edebug-set-form-data-entry): Use the standard accessors. + (edebug-make-top-form-data-entry): Use push. + (edebug-no-match): Drop useless `funcall'. + (mapcar, mapconcat, mapatoms, apply, funcall): Don't add debug specs + to functions. + (defsubst, dont-compile, eval-when-compile, eval-and-compile) + (delay-mode-hooks, with-temp-file, with-temp-message, ad-dolist) + (with-syntax-table, push, pop, 1value, noreturn, defadvice) + (easy-menu-define, with-custom-print): Remove redundant specs. + (edebug-outside-overriding-local-map) + (edebug-outside-overriding-terminal-local-map): Remove, unused. + (edebug--display): Bind unread-command-events directly to nil rather + than binding it to unread-command-events and later setting it to nil. + (edebug--display): Kill edebug-eval-buffer here... + (edebug--recursive-edit): ...rather than here. + Bind standard-output and standard-input. + (edebug-eval): Check cl-macroexpand-all is fboundp. + (edebug-temp-display-freq-count): Fix last change. + + * emacs-lisp/easymenu.el (easy-menu-define): Add `debug' spec. + * subr.el (noreturn, 1value): Add `debug' spec. + * emacs-lisp/advice.el: Require cl-lib. + (ad-copy-tree): Remove, use copy-tree instead. + (ad-dolist): Remove use dolist or cl-dolist instead. + (ad-do-return): Remove, use cl-return instead. + (defadvice): Add `debug' spec. + +2012-09-13 Juri Linkov <juri@jurta.org> + + * dired-aux.el (dired-do-chxxx): Use `eq' to detect empty input. + (Bug#12399) + +2012-09-13 Glenn Morris <rgm@gnu.org> + + * calc/calc.el (math-compose-expr): + * calc/calc-ext.el (math-compose-expr): + * progmodes/cc-defs.el (cl-macroexpand-all): + * progmodes/cc-langs.el (delete-duplicates, mapcan) + (cl-macroexpand-all): Update declarations. + + * vc/vc.el: No need to require ediff. + (ediff-load-version-control): Declare. + (ediff-vc-internal): Fix declaration. + (vc-version-ediff): Require ediff. + +2012-09-13 Paul Eggert <eggert@cs.ucla.edu> + + Use a more backwards-compatible timer format (Bug#12430). + * emacs-lisp/timer.el (timer): PSECS is now at the end, rather than + being right after USECS, as that better supports old code that + inadvisedly looked directly at the timer vector. + +2012-09-13 Kenichi Handa <handa@gnu.org> + + * language/chinese.el ("Chinese-GB", "Chinese-BIG5") + ("Chinese-CNS", "Chinese-EUC-TW"): Add chinese-gbk to + `coding-priority' property of these language environment. + +2012-09-13 Paul Eggert <eggert@cs.ucla.edu> + + Fix glitches caused by addition of psec to timers (Bug#12430). + * image.el (image-animate-timer): + * time.el (display-time-world-timer): + Use timer--function and timer--args rather than raw access to + timer vector. + +2012-09-13 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/bytecomp.el (byte-compile-warning-prefix): + If not compiling a file, try using load-file-name. + +2012-09-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/edebug.el (edebug-outside-unread-command-events): + Fix last change. + (edebug-update-eval-list): Use `push'. + + * emacs-lisp/edebug.el: Use lexical-binding. + Remove the "edebug-" prefix from non-dynamically-scoped variables. + Mark unused args with underscore. + (edebug-save-restriction, edebug-outside-excursion): Use `declare'. + (edebug-form-data): Use defvar-local. + (edebug-make-before-and-after-form, edebug-make-after-form): + Use backquote. + (edebug-args, edebug-value, edebug-after-index, edebug-arg-mode): + Not dynamically scoped any more. + (edebug--enter-trace): Add arguments `function' and `args'. + Rename from edebug-enter-trace. + (edebug-enter): Call it accordingly. Bind edebug-function explicitly. + (edebug--update-coverage): Add `after-index' and `value' args. + Rename from edebug-update-coverage. + (edebug-slow-after): Call it accordingly. + (edebug--recursive-edit): Add arg `arg-mode'. Rename from + edebug-recursive-edit. + (edebug--display): Call it accordingly. Add args `value', + `offset-index', and `arg-mode'. Rename from edebug-display. + (edebug-debugger, edebug): Call it accordingly. + (edebug-eval-display-list): Use dolist. + +2012-09-12 Juri Linkov <juri@jurta.org> + + * info.el (Info-search): Don't check for isearch-mode and + isearch-regexp before let-binding search-spaces-regexp to + Info-search-whitespace-regexp. + (Info-isearch-search): Let-bind Info-search-whitespace-regexp to + search-whitespace-regexp if isearch-lax-whitespace or + isearch-regexp-lax-whitespace is non-nil. + (Info-mode): Don't set local variable search-whitespace-regexp. + http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00811.html + +2012-09-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/debug.el (debugger-outer-unread-command-char, debug) + (debugger-env-macro): Remove support for unread-command-char. + + * subr.el (set-temporary-overlay-map): Minimize slightly the impact of + the temporary map re-appearing on emulation-mode-map-alists. + + * emacs-lisp/edebug.el (def-edebug-form-spec): Remove, it's been broken + since 22.1. + + * ehelp.el (with-electric-help): Accept functions in + electric-help-form-to-execute. + (electric-help-execute-extended, electric-help-ctrl-x-prefix): Use it. + And replace unread-command-char -> unread-command-events. + +2012-09-12 Michael Albinus <michael.albinus@gmx.de> + + Sync with Tramp 2.2.6. + + * net/tramp.el (tramp-accept-process-output): Don't use + JUST-THIS-ONE in the XEmacs case. + + * net/trampver.el: Update release number. + +2012-09-12 Martin Rudalics <rudalics@gmx.at> + + * emacs-lisp/debug.el (debugger-previous-window-height): + New variable. + (debug): When debugger-jumping-flag is non-nil try to restore + height of debugger window. (Bug#8789) + +2012-09-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/edebug.el (edebug-enter): Don't mess with + overriding-local-map and pre/post-command-hook here. + (edebug-recursive-edit): Do it here instead (bug#12345). + (edebug-outside-unread-command-char): Remove all uses of + unread-command-char. + + * emacs-lisp/debug.el (debug): Don't bind debug-on-error since + inhibit-debugger is bound instead. + +2012-09-11 Bastien Guerry <bzg@gnu.org> + + * subr.el (set-temporary-overlay-map): Add a docstring. + (Bug#12346) + +2012-09-11 Bastien Guerry <bzg@gnu.org> + + * minibuffer.el (completion-table-subvert): Fix docstring. + (Bug#12347) + +2012-09-11 Bastien Guerry <bzg@gnu.org> + + * help-fns.el (describe-variable): Fix typo. (Bug#12346) + +2012-09-10 Michael R. Mauger <mmaug@yahoo.com> + + * progmodes/sql.el: Version 3.1 + (sql-db2-escape-newlines): New variable. + (sql-escape-newlines-filter): Use it. + +2012-09-10 Juanma Barranquero <lekktu@gmail.com> + + * custom.el (custom-theme-load-confirm): Remove unneeded assignment. + +2012-09-10 Dan Nicolaescu <dann@gnu.org> + + * vc/diff-mode.el (diff-mode-menu): + Bind diff-remove-trailing-whitespace. + +2012-09-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/lisp-mode.el (emacs-list-byte-code-comment-re): New var. + (emacs-lisp-byte-code-comment, emacs-lisp-byte-code-syntax-propertize) + (emacs-lisp-byte-code-mode): New functions. + (eval-sexp-add-defvars): Don't skip defvars in column >0. + (eval-defun-2): Remove bogus interactive spec. + (lisp-indent-line): Remove redundant whole-exp code, now done in + indent-according-to-mode. + (save-match-data): Remove redundant indent data. + + * emacs-lisp/benchmark.el (benchmark-run, benchmark-run-compiled): + Use `declare'. + +2012-09-09 Juri Linkov <juri@jurta.org> + + * replace.el (replace-regexp-lax-whitespace): New defcustom. + (replace-lax-whitespace, query-replace-regexp) + (query-replace-regexp-eval, replace-regexp): Doc fix. + (perform-replace, replace-highlight): Let-bind + isearch-lax-whitespace to replace-lax-whitespace and + isearch-regexp-lax-whitespace to replace-regexp-lax-whitespace. + + * isearch.el (isearch-query-replace): Let-bind + replace-lax-whitespace to isearch-lax-whitespace and + replace-regexp-lax-whitespace to + isearch-regexp-lax-whitespace. (Bug#10885) + +2012-09-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * eshell/em-unix.el (eshell/sudo): Explicitly drop return value. + +2012-09-09 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-engine.el (c-state-cache-init): + Initialise c-state-semi-nonlit-pos-cache\(-limit\)? properly. + (c-record-parse-state-state): + Record c-state-semi-nonlit-pos-cache\(-limit\)?. + +2012-09-09 Andreas Schwab <schwab@linux-m68k.org> + + * register.el (register-separator): Rename from + separator-register. All uses changed. Doc fix. + (register): Fix version. + +2012-09-09 Chong Yidong <cyd@gnu.org> + + * replace.el (query-replace-map): Bind four new symbols for + requesting window scrolling. + + * subr.el (y-or-n-p): Handle the window-scrolling bindings in + query-replace-map (Bug#8948). + + * custom.el (custom-theme-load-confirm): Use y-or-n-p. + + * emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys + since they are now in query-replace-map. + + * window.el (scroll-other-window-down): Make the arg optional. + +2012-09-09 Chong Yidong <cyd@gnu.org> + + * files.el (hack-local-variables-confirm): Use quit-window to kill + the *Local Variables* buffer. + +2012-09-08 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-toggle-block): Guess the current block, + not just expect to be at its beginning. Adjust callees. + Succeed when do-end block has no space before the pipe character. + (ruby-brace-to-do-end): When the original block is one-liner, + convert to multiline. Reindent the result. + +2012-09-08 Jambunathan K <kjambunathan@gmail.com> + + * register.el (register): New group. + (separator-register): New user option. + (increment-register): Route it to `append-to-register', if + register contains text. Implication is that `C-x r +' can now be + used for appending to a text register (bug#12217). + (append-to-register, prepend-to-register): Add separator based on + `separator-register'. + +2012-09-08 Alan Mackenzie <acm@muc.de> + + AWK Mode: make auto-newline work when there's "==" in the pattern. + * progmodes/cc-cmds.el (c-point-syntax): Handle virtual semicolons + correctly. + * progmodes/cc-engine.el (c-guess-basic-syntax CASE 5A.3): + Test more rigorously for "=" token. + +2012-09-08 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-match-expression-expansion): + Only fail when reached LIMIT. + +2012-09-08 Chong Yidong <cyd@gnu.org> + + * dired.el (dired-mode-map): Don't bind M-=. + + * dired-aux.el (dired-diff): Use backup file as default. + +2012-09-08 Drew Adams <drew.adams@oracle.com> + + * subr.el (add-to-history): Fix delete usage (Bug#12314). + +2012-09-08 Chong Yidong <cyd@gnu.org> + + * subr.el (syntax-after, syntax-class): Doc fix. + +2012-09-08 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-in-previous-window): New buffer + display action function. + + * emacs-lisp/debug.el (debugger-bury-or-kill): New option. + (debugger-previous-window): New variable. + (debug): Rewrite using display-buffer-in-previous-window, + quit-restore-window and debugger-bury-or-kill. (Bug#8789) + +2012-09-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/byte-run.el (defun): Tweak message. Simplify code. + +2012-09-07 Matt McClure <mlm@aya.yale.edu> (tiny change) + + * progmodes/python.el (python-shell-send-string): + When default-directory is remote, create temp file on remote + filesystem. + (python-shell-send-file): When file is remote, pass local view of + file paths to remote Python interpreter. (Bug#12340) + +2012-09-07 Chong Yidong <cyd@gnu.org> + + * window.el (switch-to-buffer): Doc fix (Bug#12181). + + * files.el (after-find-file): Don't fail on a read-only buffer if + require-final-newline is `visit' or `visit-save' (Bug#11156). + + * subr.el (read-char-choice): Allow quitting via ESC ESC. + + * userlock.el (ask-user-about-supersession-threat): + Use read-char-choice (Bug#12093). + +2012-09-07 Chong Yidong <cyd@gnu.org> + + * subr.el (buffer-narrowed-p): New function. + + * ses.el (ses-widen): + * simple.el (count-words--buffer-message): + * net/browse-url.el (browse-url-of-buffer): Use it. + + * simple.el (count-words-region): Don't signal an error if there + is a non-nil prefix arg and the mark is not set. + + * help.el (describe-key-briefly): Allow the message to be seen + when invoked from the minibuffer (Bug#7014). + +2012-09-07 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-end-of-defun) + (ruby-beginning-of-defun): Simplify, allow indentation before + block beginning and end keywords. + (ruby-beginning-of-defun): Only consider 3 keywords defun beginners. + (ruby-end-of-defun): Expect that the point is at the beginning of + the defun. + +2012-09-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl--do-arglist): Understand _ on &key args + (bug#12367). + (cl--make-usage-args): Strip _ from argument names. + +2012-09-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de> + + * progmodes/vhdl-mode.el (vhdl-speedbar-initialize): Don't use + obsolete alias speedbar-key-map. + (vhdl-doc-variable, vhdl-doc-mode): Use called-interactively-p. + (vhdl-index-menu-init): Don't use obsolete variable + font-lock-maximum-size. + +2012-09-06 Chong Yidong <cyd@gnu.org> + + * frame.el (window-system-version): Mark as obsolete. + + * speedbar.el (speedbar-update-flag, speedbar-mode): Remove uses + of obsolete variable speedbar-key-map. + +2012-09-06 Juri Linkov <juri@jurta.org> + + * replace.el (replace-lax-whitespace): New defcustom. + (query-replace, query-replace-regexp, query-replace-regexp-eval) + (replace-string, replace-regexp): Mention it in docstrings. + (perform-replace, replace-highlight): Let-bind + isearch-lax-whitespace and isearch-regexp-lax-whitespace according + to the values of replace-lax-whitespace and regexp-flag. + Don't let-bind search-whitespace-regexp. (Bug#10885) + + * isearch.el (isearch-query-replace): Let-bind + replace-lax-whitespace instead of let-binding + replace-search-function and replace-re-search-function. + (isearch-lazy-highlight-search): Let-bind isearch-lax-whitespace + and isearch-regexp-lax-whitespace to lazy-highlight variables. + (isearch-toggle-symbol): Set isearch-regexp to nil + in isearch-word mode (like in isearch-toggle-word). + +2012-09-06 Juri Linkov <juri@jurta.org> + + * replace.el (replace-search-function) + (replace-re-search-function): Set default values to nil. + (perform-replace): Let-bind isearch-related variables based on + replace-related values, call `isearch-search-fun' and let-bind + the result to `search-function'. Remove code that sets + `search-function' and `search-string' separately for + `delimited-flag'. + (replace-highlight): Add new argument `delimited-flag' and + rename other arguments to the names used in `perform-replace'. + Let-bind `isearch-word' to the argument `delimited-flag'. + (Bug#10885, bug#10887) + +2012-09-07 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-indent-beg-re): Add pieces from + ruby-beginning-of-indent, simplify, allow all keywords to have + indentation before them. + (ruby-beginning-of-indent): Adjust for above. Search until the + found point is not inside a string or comment. + (ruby-font-lock-keywords): Allow symbols to start with "@" + character, give them higher priority than variables. + (ruby-syntax-propertize-function) + (ruby-font-lock-syntactic-keywords): Remove the "not comments" + matchers. Expression expansions are not comments when inside a + string, and there comment syntax status is irrelevant. + (ruby-match-expression-expansion): New function. Check that + expression expansion is inside a string, and it's not escaped. + (ruby-font-lock-keywords): Use it. + +2012-09-05 Martin Rudalics <rudalics@gmx.at> + + * help.el (temp-buffer-max-height): New default value. + (temp-buffer-resize-frames): New option. + (resize-temp-buffer-window): Optionally resize frame. + + * window.el (fit-frame-to-buffer-bottom-margin): New option. + (fit-frame-to-buffer): New function. + +2012-09-05 Glenn Morris <rgm@gnu.org> + + * emulation/cua-rect.el (cua--init-rectangles): + * textmodes/picture.el (picture-mode-map): + * play/blackbox.el (blackbox-mode-map): Remap right-char and left-char + like forward-char and backward-char. (Bug#12317) + +2012-09-05 Leo Liu <sdl.web@gmail.com> + + * progmodes/flymake.el (flymake-warning-re): New variable. + (flymake-parse-line): Use it. + +2012-09-05 Glenn Morris <rgm@gnu.org> + + * calendar/holidays.el (holiday-christian-holidays): + Rename an entry. (Bug#12289) + +2012-09-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/sh-script.el (sh-font-lock-paren): Don't burp at BOB + (bug#12222). + +2012-09-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * loadup.el: Load macroexp. Remove hack. + * emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function. + (macroexp--expand-all): Use it to get better warnings. + (macroexp--backtrace, macroexp--trim-backtrace-frame) + (internal-macroexpand-for-load): New functions. + (macroexp--pending-eager-loads): New var. + (emacs-startup-hook): New hack to replace one in loadup.el. + * emacs-lisp/cl-macs.el (cl--compiler-macro-list*) + (cl--compiler-macro-cXXr): Move to top, before they can be used. + (cl-psetf): Simplify. + (cl-defstruct): Add indent rule. + +2012-09-04 Lars Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-send-it): Prefer the From: header + over `user-mail-address' for the SMTP MAIL FROM envelope. + (smtpmail-via-smtp): Ditto. + +2012-09-04 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el: Clean up keybindings. + (ruby-mode-map): Don't bind ruby-electric-brace, + ruby-beginning-of-defun, ruby-end-of-defun, ruby-mark-defun, + backward-kill-word, reindent-then-newline-and-indent. + (ruby-mark-defun): Remove. + (ruby-electric-brace): Remove. Obsoleted by electric-indent-chars. + (ruby-mode): Set local beginning-of-defun-function and + end-of-defun-function values. + +2012-09-03 Martin Rudalics <rudalics@gmx.at> + + * window.el (temp-buffer-window-setup-hook) + (temp-buffer-window-show-hook): New hooks. + (temp-buffer-window-setup, temp-buffer-window-show) + (with-temp-buffer-window): New functions. + (fit-window-to-buffer): Remove unused optional argument OVERRIDE. + (special-display-popup-frame): Make sure the window used shows BUFFER. + + * help.el (temp-buffer-resize-mode): Fix doc-string. + (resize-temp-buffer-window): New optional argument WINDOW. + + * files.el (recover-file, save-buffers-kill-emacs): + * dired.el (dired-mark-pop-up): Use with-temp-buffer-window. + +2012-09-02 Michael Albinus <michael.albinus@gmx.de> + + * eshell/em-unix.el (eshell/sudo): When we have an ad-hoc + remote definition of `default-directory', ensure we can connect. + +2012-09-02 Juri Linkov <juri@jurta.org> + + Toggle whitespace matching mode with M-s SPC. + http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html + + * isearch.el (search-whitespace-regexp): Doc fix. + Remove cons cell customization. + (isearch-mode-map): Bind "\M-s " to isearch-toggle-lax-whitespace. + (isearch-lax-whitespace, isearch-regexp-lax-whitespace): + New variables. + (isearch-forward, isearch-forward-regexp): Doc fix. + (isearch-toggle-lax-whitespace): New command. + (search-forward-lax-whitespace, search-backward-lax-whitespace) + (re-search-forward-lax-whitespace) + (re-search-backward-lax-whitespace): New functions. + (isearch-whitespace-regexp): Remove function. + (isearch-query-replace): Let-bind replace-search-function and + replace-re-search-function. + (isearch-occur): Let-bind search-spaces-regexp according to the + value of isearch-lax-whitespace and isearch-regexp-lax-whitespace. + (isearch-quote-char): Check isearch-regexp-lax-whitespace in the + condition for C-q SPC. + (isearch-search-fun-default): Use new functions mentioned above. + (isearch-search-forward, isearch-search-backward): Remove functions. + (isearch-search): Don't let-bind search-spaces-regexp. + (isearch-lazy-highlight-space-regexp): Remove variable. + (isearch-lazy-highlight-lax-whitespace) + (isearch-lazy-highlight-regexp-lax-whitespace): New variables. + (isearch-lazy-highlight-new-loop): Use them. + (isearch-lazy-highlight-search): Don't let-bind search-spaces-regexp. + +2012-09-02 Chong Yidong <cyd@gnu.org> + + * dired.el (dired-mode-map): Menu string fixes (Bug#11616). + +2012-09-02 Glenn Morris <rgm@gnu.org> + + * simple.el (undo): Tweak message in undo-only case. (Bug#12283) + +2012-09-01 Glenn Morris <rgm@gnu.org> + + * term.el: Tidy up menu definitions. + (term-mode-map): Use easymenu for In/Out, Complete menus. + (term-pager-break-map): Initialize in the defvar. + (term-terminal-menu, term-signals-menu): Define with easymenu. + (term-terminal-menu): Also show it in line-mode. (Bug#11957) + (term-pager-menu): New, extracted from term-process-pager. + (term-mode, term-char-mode, term-process-pager): Use easymenu-add. + (term-update-mode-line): Propertize line/char and page items. + (term-process-pager): Move keymap initialization elsewhere. + +2012-09-01 Martin Rudalics <rudalics@gmx.at> + + * window.el (switch-to-prev-buffer): Handle additional values of + BURY-OR-KILL argument. Don't switch in minibuffer window. + (switch-to-next-buffer): Don't switch in minibuffer window. + (quit-restore-window): New function based on quit-window. + Handle additional values of former KILL argument. + (quit-window): Call quit-restore-window with appropriate + interpretation of KILL argument. + (display-buffer-below-selected): New buffer display action + function. + +2012-09-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-at-point-functions): Complete docstring + (bug#12254). + +2012-09-01 Paul Eggert <eggert@cs.ucla.edu> + + Better seed support for (random). + * play/5x5.el, play/animate.el, play/cookie1.el, play/dissociate.el: + * play/doctor.el, play/dunnet.el, play/gomoku.el, play/landmark.el: + * play/mpuz.el, play/tetris.el, play/zone.el: + * calc/calc-comb.el (math-init-random-base): + * play/blackbox.el (bb-init-board): + * play/life.el (life): + * server.el (server-use-tcp): + * type-break.el (type-break): + Remove unnecessary call to (random t). + * net/sasl.el (sasl-unique-id-function): + Change (random t) to (random), now that the latter is more random. + * play/life.el (life-initialized): Remove no-longer-needed var. + +2012-08-31 Alp Aker <alp.tekin.aker@gmail.com> + + * window.el (switch-to-prev-buffer, switch-to-next-buffer): + Consider frame's buffer predicate when choosing the buffer. + (Bug#12081) + +2012-08-30 Richard Stallman <rms@gnu.org> + + * simple.el (special-mode-map): Delete binding for `z'. + +2012-08-30 Andreas Schwab <schwab@linux-m68k.org> + + * progmodes/compile.el (compilation-always-kill): Doc fix. + +2012-08-30 Chong Yidong <cyd@gnu.org> + + * window.el (display-buffer-reuse-frames): Make the obsolescence + message more informative. + +2012-08-30 Glenn Morris <rgm@gnu.org> + + * paren.el (show-paren-delay): + Add a :set function. Doc fix. (Bug#12297) + +2012-08-29 Martin Blais <blais@furius.ca> (tiny change) + + * progmodes/compile.el (compilation-always-kill): New var. + (compilation-start): Use it. + +2012-08-29 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (read-only-mode): Move from files.el for bootstrapping. + * files.el (read-only-mode): Move to simple.el. + + * files.el (read-only-mode): New minor mode. + (toggle-read-only): Use it and mark obsolete. + (find-file--read-only): + * vc/vc.el (vc-next-action, vc-checkout): + * vc/vc-cvs.el (vc-cvs-checkout): + * obsolete/vc-mcvs.el (vc-mcvs-update): + * ffap.el (ffap--toggle-read-only): Update callers. + +2012-08-29 Michael Albinus <michael.albinus@gmx.de> + + * eshell/esh-ext.el (eshell-external-command): Do not examine + remote shell scripts. + See <https://bugs.launchpad.net/ubuntu/+source/emacs23/+bug/1035790>. + + * net/tramp-sh.el (tramp-remote-path): Add "/sbin" and + "/usr/local/sbin". + +2012-08-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-lib.el (buffer-string): Fix setter macro (bug#12293). + +2012-08-28 Leo Liu <sdl.web@gmail.com> + + * progmodes/sh-script.el (sh-dynamic-complete-functions): Adapt to + completion-at-point. (Bug#12220) + + * skeleton.el (skeleton-untabify): Change to nil (bug#12223). + + * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267). + +2012-08-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el (safe-local-eval-forms): Fix before-save-hook entry to + be buffer-local; add delete-trailing-whitespace (bug#12259). + +2012-08-28 Jeremy Moore <jmoore@ieee.org> (tiny change) + + * progmodes/hideif.el (hif-compress-define-list): + Fix typo. (Bug#11951) + +2012-08-28 Dan Nicolaescu <dann@gnu.org> + + * progmodes/hideshow.el (hs-block-end-regexp): Restore lost + buffer local setting. + + * net/rcirc.el (rcirc-split-message): Fix for buffer-local + rcirc-encode-coding-system. + +2012-08-28 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc-split-message): New function. + (rcirc-send-message): Use it. (Bug#12051) + +2012-08-28 Juri Linkov <juri@jurta.org> + + * info.el (Info-fontify-node): Hide empty lines at the end of + the node. (Bug#12272) + +2012-08-27 Drew Adams <drew.adams@oracle.com> + + * dired.el (dired-pop-to-buffer): Make window start at beginning + of buffer (Bug#12281). + +2012-08-26 Chong Yidong <cyd@gnu.org> + + * window.el (special-display-regexps, special-display-frame-alist) + (special-display-buffer-names, special-display-function) + (display-buffer-reuse-frames): Mark as obsolete. + + * progmodes/compile.el: Don't use display-buffer-reuse-frames. + + * help.el (help-print-return-message): Don't treat + display-buffer-reuse-frames specially. + +2012-08-26 Chong Yidong <cyd@gnu.org> + + * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): + New variable, replacing gdb-frame-parameters. + (gdb-frame-io-buffer, gdb-frame-breakpoints-buffer) + (gdb-frame-threads-buffer, gdb-frame-memory-buffer) + (gdb-frame-disassembly-buffer, gdb-frame-stack-buffer) + (gdb-frame-locals-buffer, gdb-frame-registers-buffer): Use it. + (def-gdb-frame-for-buffer): Macro deleted. It is easier to define + the functions directly with gdb-display-buffer-other-frame-action. + (gdb-display-breakpoints-buffer, gdb-display-threads-buffer) + (gdb-display-memory-buffer, gdb-display-disassembly-buffer) + (gdb-display-stack-buffer, gdb-display-locals-buffer) + (gdb-display-registers-buffer): Define directly. + (def-gdb-display-buffer): Macro deleted. + (gdb-display-buffer): Remove second and third args, callers don't + use them. Defer to the default display-buffer behavior, apart + from making windows dedicated. + (gdb-setup-windows): Don't call display-buffer unnecessarily. + + * progmodes/gud.el (gud-display-line): Just use display-buffer. + + * window.el (display-buffer-pop-up-frame): Handle a + pop-up-frame-parameters alist entry. + (display-buffer): Document it. + +2012-08-26 Chong Yidong <cyd@gnu.org> + + * isearch.el (search-whitespace-regexp): Make string and nil + values apply to both ordinary and regexp search. Allow a cons + cell value to distinguish between the two. + (isearch-whitespace-regexp, isearch-search-forward) + (isearch-search-backward): New functions. + (isearch-occur, isearch-search-fun-default, isearch-search) + (isearch-lazy-highlight-new-loop): Use them. + (isearch-forward, isearch-forward-regexp): Doc fix. + +2012-08-26 Chong Yidong <cyd@gnu.org> + + * faces.el (help-argument-name): Always inherit from italic + (Bug#12213). + +2012-08-25 Martin Rudalics <rudalics@gmx.at> + + * window.el (window--even-window-heights): Even heights when + WINDOW and the selected window form a vertical combination. + (display-buffer-use-some-window): Provide that window used gets + sized back by quit-window. (Bug#11880) and (Bug#12091) + +2012-08-24 Paul Eggert <eggert@cs.ucla.edu> + + Fix file time stamp problem with bzr and CVS (Bug#12001). + * vc/vc-cvs.el (vc-cvs-parse-entry): Ignore subsecond information + in the file's time stamp, since the version control system loses + that information. + +2012-08-22 Juri Linkov <juri@jurta.org> + + * info.el (Info-fontify-node): Hide the suffix of the + Info file name in the header line. (Bug#12187) + +2012-08-22 Glenn Morris <rgm@gnu.org> + + * calendar/cal-tex.el (cal-tex-weekly-common): + Restore leading blank page. + +2012-08-22 Le Wang <l26wang@gmail.com> + + * misc.el (forward-to-word, backward-to-word): Activate or extend + the region under `shift-select-mode'. (Bug#12231) + +2012-08-22 Bastien Guerry <bzg@gnu.org> + + * progmodes/executable.el (executable-prefix): Set to "#!" instead + of "#! ". http://www.in-ulm.de/~mascheck/various/shebang/#details + gives details on why the space is never needed. + +2012-08-22 Martin Rudalics <rudalics@gmx.at> + + * window.el (walk-window-tree, window-with-parameter): + New optional argument MINIBUF to control whether these functions + should run on the minibuffer window. + (window-at-side-list): Don't operate on minibuffer window. + (window-in-direction): Simplify and rewrite doc-string. + (window--size-ignore): Rename to window--size-ignore-p. + Update callers. + (display-buffer-in-atom-window, window--major-non-side-window) + (window--major-side-window, display-buffer-in-major-side-window) + (delete-side-window, display-buffer-in-side-window): + New functions. + (window--side-check, window-deletable-p, delete-window) + (delete-other-windows, split-window): Handle side windows and + atomic windows appropriately. + (window--display-buffer): Call display-buffer-record-window also + when the window buffer did not change. + +2012-08-22 Christopher Schmidt <christopher@ch.ristopher.com> + + * help-fns.el (help-fns--key-bindings): + Abbreviate non-symbol remap targets. (Bug#12174) + +2012-08-22 Martin Rudalics <rudalics@gmx.at> + + * dired.el (dired-mark-remembered): Don't clobber point. + (Bug#11795) + +2012-08-22 Glenn Morris <rgm@gnu.org> + + * progmodes/bug-reference.el (bug-reference): New custom group. + (bug-reference-bug-regexp): Make it a defcustom. + +2012-08-22 Daiki Ueno <ueno@unixuser.org> + + * progmodes/js.el (js-indent-level, js-expr-indent-offset) + (js-paren-indent-offset, js-square-indent-offset) + (js-curly-indent-offset): Add :safe (Bug#12257). + +2012-08-22 Edward O'Connor <hober0@gmail.com> + + * json.el (json-key-format): Add error properties. + (json-encode-key): New function. + (json-encode-hash-table, json-encode-alist, json-encode-plist): + Use json-encode-key. + +2012-08-22 Glenn Morris <rgm@gnu.org> + + * calendar/cal-tex.el (cal-tex-longday): New function, replacing... + (cal-tex-leftday, cal-tex-rightday): Remove functions. + (cal-tex-weekly-common, cal-tex-cursor-filofax-2week): + Update for above change. + +2012-08-21 Andreas Schwab <schwab@linux-m68k.org> + + * cus-face.el (custom-face-attributes): Fix customize type for the + :underline attribute. (Bug#11805) + +2012-08-21 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-point-1, set-window-point-1): Remove. + (window-in-direction, record-window-buffer) + (set-window-buffer-start-and-point, split-window-below) + (window--state-get-1, display-buffer-record-window): + Replace calls to window-point-1 and set-window-point-1 by calls to + window-point and set-window-point respectively. + +2012-08-21 Glenn Morris <rgm@gnu.org> + + * calendar/cal-tex.el (cal-tex-weekly-common): New function. + (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week): + Use it. + + * calendar/cal-tex.el (cal-tex-rightday): Add optional funcname arg. + (cal-tex-shortday): New function. + (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week) + (cal-tex-cursor-filofax-daily): Use the above. + + * calendar/cal-tex.el (cal-tex-leftday, cal-tex-rightday): + New functions. + (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week) + (cal-tex-cursor-filofax-week): Use them. + + * calendar/cal-tex.el (cal-tex-lefthead, cal-tex-righthead): + New constants. + (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week) + (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use them. + + * calendar/cal-tex.el (cal-tex-preamble): Generate new buffers. + (cal-tex-end-document): Don't rely on buffer name. + + * calendar/cal-tex.el (cal-tex-cursor-filofax-year): + Use cal-tex-vspace. + (cal-tex-vspace, cal-tex-hspace, cal-tex-em, cal-tex-bf) + (cal-tex-Huge-bf, cal-tex-large-bf): Use cal-tex-cmd. + (cal-tex-scriptsize, cal-tex-huge, cal-tex-Huge, cal-tex-large): + Use cal-tex-arg. + + * calendar/cal-tex.el (cal-tex-cursor-filofax-year) + (cal-tex-cursor-week, cal-tex-cursor-week2) + (cal-tex-cursor-week-iso, cal-tex-cursor-week-at-a-glance) + (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) + (cal-tex-cursor-filofax-daily, cal-tex-cursor-day) + (cal-tex-insert-preamble, cal-tex-b-document) + (cal-tex-e-document, cal-tex-b-center, cal-tex-e-center): + Improve cal-tex-cmd usage. + + * calendar/cal-tex.el (cal-tex-filofax-paper): New function. + (cal-tex-cursor-filofax-year, cal-tex-cursor-filofax-2week) + (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use it. + (cal-tex-weekly-paper): New function. + (cal-tex-cursor-week, cal-tex-cursor-week2) + (cal-tex-cursor-week-iso, cal-tex-cursor-week-monday) + (cal-tex-cursor-day): Use it. + + * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance) + (cal-tex-cursor-filofax-week): Remove leading blank page. + + * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance): + Add autoload cookie. For now at least, don't use color, since + no other cal-tex function does. + + * calendar/cal-tex.el (cal-tex-cursor-week-iso) + (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) + (cal-tex-cursor-filofax-daily): Correct start date for diary entries. + +2012-08-21 Juri Linkov <juri@jurta.org> + + * info.el (Info-file-attributes): New variable. + (info-insert-file-contents): Add file attributes to + `Info-file-attributes'. Clear the caches `Info-index-nodes' and + `Info-toc-nodes' when previous modtime of the Info file is less + than new modtime. + (Info-toc-nodes, Info-index-nodes): Move definitions up to the top + of info.el. (Bug#12230) + +2012-08-20 Glenn Morris <rgm@gnu.org> + + * calendar/diary-lib.el (diary-include-files, diary-sexp-entry): + * calendar/holidays.el (calendar-holiday-list): + Report errors with display-warning rather than beep'n'sleep. + +2012-08-20 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-accept-process-output): Accept only output + from PROC. Otherwise, process filters and sentinels might be + confused. (Bug#12145) + +2012-08-20 Chong Yidong <cyd@gnu.org> + + * descr-text.el (describe-text-properties-1): Use overlays-in to + report on empty overlays (Bug#3322). + +2012-08-20 Glenn Morris <rgm@gnu.org> + + * mail/rmailout.el (rmail-output-read-file-name): + Trap and report errors in rmail-output-file-alist elements. + + * font-lock.el (font-lock-add-keywords): Doc fix (quote face names + since most non-font-lock faces are not also variables). + +2012-08-20 Edward Reingold <reingold@iit.edu> + + * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance): + New function. (Bug12160) + +2012-08-19 Glenn Morris <rgm@gnu.org> + + * mail/rmailout.el (rmail-output-read-file-name): + Fix previous change (when the alist is nil or does not match). + +2012-08-19 Chong Yidong <cyd@gnu.org> + + * xml.el (xml-escape-string): Don't refer to xml-entity-alist + (Bug#12228). + +2012-08-18 Chong Yidong <cyd@gnu.org> + + * simple.el (yank-handled-properties): New defcustom. + (yank-excluded-properties): Add font-lock-face and category. + (yank): Doc fix. + + * subr.el (remove-yank-excluded-properties): + Obey yank-handled-properties. The special handling of font-lock-face + and category is now done this way, instead of being hard-coded. + (insert-for-yank-1): Remove font-lock-face handling. + (yank-handle-font-lock-face-property) + (yank-handle-category-property): New function. + +2012-08-17 Glenn Morris <rgm@gnu.org> + + * mail/rmailout.el (rmail-output-read-file-name): + Check rmail-output-file-alist against the full message body + in the correct rmail buffer. (Bug#12214) + +2012-08-17 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): + Eliminate superfluous prompt. (Bug#12203) + +2012-08-17 Chong Yidong <cyd@gnu.org> + + * mouse.el (mouse-appearance-menu): If x-select-font returns a + font spec, set the font directly (Bug#3228). + +2012-08-17 Martin Rudalics <rudalics@gmx.at> + + * window.el (delete-window): Fix last fix. + +2012-08-16 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-valid-p): Move to window.c. + (window-child, window-child-count, window-last-child) + (window-normalize-window, window-combined-p) + (window-combinations, window-atom-root, window-min-size) + (window-sizable, window-sizable-p, window-size-fixed-p) + (window-min-delta, window-max-delta, window--resizable) + (window--resizable-p, window-resizable, window-total-size) + (window-full-height-p, window-full-width-p, window-body-size) + (window-at-side-p, adjust-window-trailing-edge, maximize-window) + (minimize-window, window-deletable-p, delete-window) + (delete-other-windows, set-window-buffer-start-and-point) + (next-buffer, previous-buffer, split-window, balance-windows-2) + (set-window-text-height, window-buffer-height) + (fit-window-to-buffer, shrink-window-if-larger-than-buffer) + (truncated-partial-width-window-p): Minor code adjustments. + In doc-strings state whether the argument window has to denote a + live, valid or any window. + +2012-08-16 Phil Sainty <psainty@orcon.net.nz> (tiny change) + + * progmodes/subword.el (subword-forward-function) + (subword-backward-function, subword-forward-regexp) + (subword-backward-regexp): New variables. + (subword-forward, subword-forward-internal, subword-backward-internal): + Use new variables, eg so that different "word" definitions + can be easily used. (Bug#11411) + +2012-08-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/vc-mtn.el (vc-mtn-revision-completion-table): Handle completion + for composite selectors. + * vc/vc.el (vc-diff-build-argument-list-internal): Don't prevent + operation just because we can't find a previous revision. + +2012-08-15 Chong Yidong <cyd@gnu.org> + + * frame.el (set-frame-font): Accept font objects. + +2012-08-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * textmodes/tex-mode.el (tex-insert-quote): ~ is a space (bug#12137). + +2012-08-15 Wolfgang Jenkner <wjenkner@inode.at> + + * man.el (Man-overstrike-face, Man-underline-face) + (Man-reverse-face): Remove variables. + (Man-overstrike, Man-underline, Man-reverse): New faces. + (Man-fontify-manpage): Use them instead of the variables. + (Man-cleanup-manpage): Comment change. + (Man-ansi-color-map): New variable. + (Man-fontify-manpage): Use it. + Call ansi-color-apply-on-region to replace ad hoc code (bug#12147). + + Implement ANSI SGR parameters 22-27 (bug#12146). + * ansi-color.el (ansi-colors): Doc fix. + (ansi-color-context, ansi-color-context-region): Doc fix. + (ansi-color--find-face): New function. + (ansi-color-apply, ansi-color-apply-on-region): Use it. + Rename the local variable `face' to `codes' since it is now a list of + ansi codes. Doc fix. + (ansi-color-get-face): Remove. + (ansi-color-parse-sequence): New function, derived from + ansi-color-get-face. + (ansi-color-apply-sequence): Use it. Rewrite, and support ansi + codes 22-27. + +2012-08-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (read-passwd): Allow use from a minibuffer. + +2012-08-14 Eli Zaretskii <eliz@gnu.org> + + * tooltip.el (tooltip-identifier-from-point): Don't treat tokens + inside comments and strings as identifiers. + + * progmodes/gud.el (gud-tooltip-print-command): Quote the + expression to evaluate. This allows to evaluate expressions with + embedded whitespace. + (gud-tooltip-tips): Add a blank before the newline in the + message-box text, for the benefit of message-box emulation on + MS-Windows. + + * progmodes/gdb-mi.el (gdb-tooltip-print): Don't ignore error + messages from GDB, pop them up in a tooltip to give feedback to + user. + (gdb-tooltip-print-1): Quote the expression to evaluate. + This allows to evaluate expressions with embedded whitespace. + (gdb-inferior-io--init-proc): Don't send "-inferior-tty" command + if the TTY name is nil or empty (which happens when communicating + with the inferior via pipes, e.g. on MS-Windows). + (gdb-internals): If GDB sends a "&\n" empty debugging message, + don't send that to the GUD buffer. + +2012-08-14 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/bytecomp.el (byte-compile-setq-default): + Optimize away setq-default with no args, as for setq. (Bug#12195) + +2012-08-14 Chong Yidong <cyd@gnu.org> + + * minibuffer.el (read-file-name): Doc fix (Bug#10881). + + * emacs-lisp/regexp-opt.el (regexp-opt-charset): Doc fix + (Bug#12085). + +2012-08-14 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/bytecomp.el (byte-recompile-file): Doc fix. + +2012-08-14 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-open-shell): Cache the shell name. + (tramp-find-shell, tramp-open-connection-setup-interactive-shell): + Use cached shell name. + +2012-08-14 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-shell-send-string): + (python-shell-send-setup-code): Do not use `format' with `message'. + +2012-08-14 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el: Improve percent literals (bug#6286). + (ruby-percent-literal-beg-re): New constant. + (ruby-syntax-general-delimiters-goto-beg): Rename to + `ruby-syntax-enclosing-percent-literal', improve literal type check. + (ruby-syntax-propertize-general-delimiters): Rename to + `ruby-syntax-propertize-percent-literal', it's a shorter and more + popular term. Adjust comments everywhere. + (ruby-syntax-propertize-percent-literal): Only propertize when not + inside a simple string or comment. When the literal is unclosed, + leave the text after it unpropertized. + (ruby-syntax-methods-before-regexp): New constant. + (ruby-syntax-propertize-function): Use it to recognize regexps. + Don't look at the text after regexp, just use the whitelist. + +2012-08-14 Andreas Schwab <schwab@linux-m68k.org> + + * emacs-lisp/bytecomp.el (byte-recompile-file): When LOAD is + non-nil always load the compiled file if it exists. (Bug#12197) + +2012-08-14 Chong Yidong <cyd@gnu.org> + + * hi-lock.el (hi-lock-mode): Do not unilaterally enable font lock. + (hi-lock-set-pattern): When deciding whether to use font lock or + overlays, look at font-lock-mode instead of font-lock-fontified + (Bug#12168). + (hi-lock-mode, hi-lock-line-face-buffer, hi-lock-unface-buffer) + (hi-lock-face-buffer, hi-lock-face-phrase-buffer): Doc fix. + +2012-08-14 Daiki Ueno <ueno@unixuser.org> + + * subr.el (internal--after-with-selected-window): Fix typo + (Bug#12193). + +2012-08-14 Fabián Ezequiel Gallina <fgallina@cuca> + + Use `completion-table-dynamic' for completion functions. + * progmodes/python.el + (python-shell-completion--do-completion-at-point) + (python-shell-completion--get-completions): + Remove functions. + (python-shell-completion-complete-at-point): New function. + (python-completion-complete-at-point): Use it. + +2012-08-13 Jambunathan K <kjambunathan@gmail.com> + + * vc/vc-dir.el (vc-dir-hide-state): New command (bug#12159). + (vc-dir-hide-up-to-date): Route it to `vc-dir-hide-state'. + +2012-08-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (function-get): Refine `autoload' arg so it can also + autoload functions for gv.el (bug#12191). + * emacs-lisp/edebug.el (get-edebug-spec): Adjust so it only + autoloads macros. + + * color.el (color-xyz-to-lab, color-lab-to-xyz, color-cie-de2000): + Prefer pcase-let over destructuring-bind. + * vc/diff-mode.el (diff-remove-trailing-whitespace): Same. + Also, remove whitespace as we go, rather than after accumulating the + various places. + + * subr.el (internal--before-with-selected-window) + (internal--after-with-selected-window): Fix typo seleted->selected. + (with-selected-window): Adjust callers. + Reported by Dmitry Gutov <dgutov@yandex.ru>. + +2012-08-13 Bastien Guerry <bzg@gnu.org> + + * window.el (special-display-popup-frame): Minor docstring + enhancement. (Bug#12172) + +2012-08-13 Andreas Schwab <schwab@linux-m68k.org> + + * tar-mode.el (tar-header-data-end): Only ignore size for files of + type 1-6. + (tar-header-block-summarize, tar-get-descriptor): Handle pax + extended headers. + + * files.el (hack-local-variables-filter): Remove useless eval. + +2012-08-13 Martin Rudalics <rudalics@gmx.at> + + * subr.el (with-selected-window): Fix last change. + +2012-08-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (internal--before-with-seleted-window) + (internal--after-with-seleted-window): New functions. + (with-selected-window): Use them, to replace dependency on + tty-top-frame. + +2012-08-12 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * progmodes/ruby-mode.el (ruby-mode-map): Remove unnecessary + binding for `newline'. + (ruby-move-to-block): When moving backward, stop at block opening, + not indentation. + * progmodes/ruby-mode.el (ruby-brace-to-do-end) + (ruby-do-end-to-brace, ruby-toggle-block): New functions. + * progmodes/ruby-mode.el (ruby-mode-map): Add binding for + `ruby-toggle-block'. + +2012-08-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * ibuffer.el (ibuffer-do-toggle-read-only): + * dired.el (dired-toggle-read-only): + * buff-menu.el (Buffer-menu-toggle-read-only): + * bindings.el (mode-line-toggle-read-only): + * bs.el (bs-toggle-readonly): Call toggle-read-only interactively. + +2012-08-12 Andreas Schwab <schwab@linux-m68k.org> + + * descr-text.el (describe-char): Put the overlays over the + "displayed as" character. + +2012-08-12 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-units.el (math-default-units-table): Give an + initial value. + (math-put-default-units): Add options to put composite units and + unit systems in the default units table. + (calc-convert-units): Send composite units to + `math-put-default-units' when appropriate. + +2012-08-11 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/copyright.el (copyright-update-directory): Logic fix. + + * tutorial.el (help-with-tutorial): + * emacs-lisp/copyright.el (copyright-update-directory): + * emacs-lisp/autoload.el (autoload-find-generated-file) + (autoload-find-file): Disable local eval: (for insurance). + + * files.el (hack-local-variables-filter): If an eval: form is not + known to be safe, and enable-local-variables is :safe, then ignore + the form totally, as is done for non-eval forms. (Bug#12155) + This is CVE-2012-3479. + +2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/rx.el (rx-constituents): Don't define as constant. + (rx-form): Simplify. + +2012-08-09 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-expr-beg, ruby-parse-partial): + ?, _, and : are symbol constituents, ! is not (but kinda should be). + (ruby-syntax-propertize-heredoc): Use ruby-singleton-class-p. + (ruby-syntax-propertize-function): Adjust for changes in + `ruby-syntax-propertize-heredoc'. + +2012-08-09 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * progmodes/ruby-mode.el (ruby-mode-map): Remove deprecated + binding (use `M-;' instead). + (ruby-singleton-class-p): New function. + (ruby-expr-beg, ruby-in-here-doc-p) Use it. + +2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl-loop): Improve debug spec. + +2012-08-10 Chong Yidong <cyd@gnu.org> + + * progmodes/python.el (python-shell-get-process-name): Don't mess + with same-window-buffer-names. + + * eshell/eshell.el (eshell-add-to-window-buffer-names) + (eshell-remove-from-window-buffer-names): Make obsolete. + (eshell-buffer-name, eshell-unload-hook): Don't use them. + (eshell): Just use pop-to-buffer-same-window instead. + +2012-08-10 Chong Yidong <cyd@gnu.org> + + * bindings.el: Bind M-= back to count-words-region. + + * simple.el (count-words-region): Accept a prefix arg for acting + on the entire buffer. + (count-words--buffer-message): New helper function. + +2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * term/x-win.el (x-menu-bar-open): Always pass last-nonmenu-event. + * subr.el (eventp): `nil' is not an event, and eventp is not hot. + (event-start, event-end): Use posn-at-point to return a more + informative posn. + (posnp): New function. + * mouse.el (popup-menu-normalize-position): Use it. + +2012-08-10 Masatake YAMATO <yamato@redhat.com> + + * mouse.el (popup-menu-normalize-position): New function. + (popup-menu): Use `popup-menu-normalize-position' to normalize + the form for POSITION argument. + + * term/x-win.el (x-menu-bar-open): + Use the value returend from (posn-at-point) as position + passed to `popup-menu'. + +2012-08-09 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calccomp.el (math-compose-expr): Add extra argument + indicating that parentheses should be put around products in + denominators. Give multiplication precedence over division during + composition. + +2012-08-09 Chong Yidong <cyd@gnu.org> + + * man.el (Man-switches, Man-sed-command, Man-awk-command) + (Man-mode-hook, Man-cooked-hook, Man-untabify-command-args) + (Man-untabify-command, manual-program): Convert to defcustom + (Bug#10429). + + * vc/add-log.el (change-log-mode): Bind comment-start to nil. + + * descr-text.el (describe-char): Don't insert extra newlines + (Bug#10127). + + * vc/log-view.el (log-view-diff): Use use-region-p (Bug#10133). + (log-view-diff-changeset, log-view-minor-wrap): Likewise. + + * align.el (align-region): Delete temporary markers (Bug#10047). + Plus some code cleanups. + +2012-08-09 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-pdbtrack-tracked-buffer) + (python-pdbtrack-buffers-to-kill, python-shell-internal-buffer) + (python-shell-internal-last-output): Use make-local-variable + instead of make-variable-buffer-local. + +2012-08-09 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: Enhancements to forward-sexp. + (python-nav-forward-sexp): Rename from + python-nav-forward-sexp-function. + (python-nav--forward-sexp, python-nav--backward-sexp): + New functions. + +2012-08-09 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-menu.el (calc-modes-menu): Add entries for matrix + modes and simplification modes. + +2012-08-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * delsel.el (delete-selection-pre-hook): Don't propagate the + file-supersession signals (bug#12161). + +2012-08-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals) + (cl-map-extents): Add compatibility aliases (bug#12135). + +2012-08-08 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-find-file-exists-command): Protect the + tests by `ignore-error'. + (tramp-find-shell): Open also a new shell, when cache is already + set. Reported by Carsten Bormann <cabo@tzi.org>. (Bug#12148) + +2012-08-08 Juri Linkov <juri@jurta.org> + + * bookmark.el: Add `defaults' property to the bookmark record. + (bookmark-current-buffer): Doc fix. + (bookmark-make-record): Add `defaults' property with default values + to the bookmark record. + (bookmark-minibuffer-read-name-map): Remove key binding "\C-u" + with `bookmark-insert-current-bookmark'. + (bookmark-set): Get `defaults' property from the bookmark record + and use it in `read-from-minibuffer'. + (bookmark-insert-current-bookmark): Remove function. + + * info.el (Info-bookmark-make-record): Add `defaults' property + with values of canonical Info node name, the current Info file + name and the current Info node name. (Bug#12107) + +2012-08-08 Juri Linkov <juri@jurta.org> + + * files.el (basic-save-buffer): Use `buffer-name' as the default + of `read-file-name' when buffer is not visiting a file (bug#12128). + +2012-08-08 Juri Linkov <juri@jurta.org> + + * info.el (Info-isearch-search): Doc fix. + (Info-search): Change search-failed message from "initial node" to + "end of node" (bug#12078). + (Info-isearch-search): Change `isearch-string-state' to + `isearch--state-string'. + +2012-08-08 Glenn Morris <rgm@gnu.org> + + * language/persian.el: Remove file. + * language/misc-lang.el: Move unique part of persian.el here. + * loadup.el: Remove language/persian. + +2012-08-08 Óscar Fuentes <ofv@wanadoo.es> + + * vc/diff-mode.el (diff-remove-trailing-whitespace): New function. + +2012-08-08 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: Fix defsubst warning. + (python-syntax-context) Rename from python-info-ppss-context. + (python-syntax-context-type): Rename from + python-info-ppss-context-type. + (python-syntax-comment-or-string-p): Rename from + python-info-ppss-comment-or-string-p. + +2012-08-08 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-misc.el (calc-record-why): Don't record a message twice. + +2012-08-07 Andreas Schwab <schwab@linux-m68k.org> + + * emacs-lisp/lisp-mode.el (eval-defun-1): Handle standard value of + a defcustom that is quoted with backquote. + + * calc/calc-prog.el (math-do-defmath): Use backquote forms. + Fix handling of interactive spec when the body uses return. + (math-do-arg-check, math-define-function-body): Use backquote forms. + * calc/calc-ext.el (math-defcache): Likewise. + * calc/calc-rewr.el (math-rwfail, math-rweval): Likewise. + * allout.el (allout-new-exposure): Likewise. + * calc/calcalg2.el (math-tracing-integral): Likewise. + * info.el (Info-last-menu-item): Likewise. + * emulation/vip.el (vip-loop): Likewise. + * textmodes/artist.el (artist-funcall): Likewise. + * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle): + Construct menu-item directly. + + * progmodes/autoconf.el (font-lock-syntactic-keywords): + Don't declare. + +2012-08-07 Chong Yidong <cyd@gnu.org> + + * simple.el (deactivate-mark): Preserve text properties when + saving the primary selection (Bug#8384). + +2012-08-07 Kevin Ryde <user42@zip.com.au> + + * woman.el (woman0-if): Quietly treat ".if v" as false (Bug#12109). + (woman-parse-numeric-value): On a bad .IP line, issue a warning + and continue processing (Bug#12110). + +2012-08-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/cperl-mode.el (cperl-mode): Yet another fix for + syntax-propertize-function (bug#10095). + +2012-08-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * help-fns.el (help-fns--key-bindings, help-fns--signature) + (help-fns--parent-mode, help-fns--obsolete): New funs, extracted from + describe-function-1. + (describe-function-1): Use them. Move compiler macro after sig. + (help-fns--compiler-macro): Use function-get. Assume we're already in + standard-output. Adjust layout to new call order. + + * emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix handling of + re-binding a symbol that has a symbol-macro (bug#12119). + +2012-08-06 Mohsen BANAN <libre@mohsen.1.banan.byname.net> + + * language/persian.el: New file. (Bug#11812) + * loadup.el: Add language/persian.el. + +2012-08-06 Chong Yidong <cyd@gnu.org> + + * window.el (window--maybe-raise-frame): New function. + (window--display-buffer): Split off from here. + (display-buffer-reuse-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-window, display-buffer-use-some-window): + Obey an inhibit-switch-frame action alist entry. + (display-buffer): Update doc. + + * replace.el (occur-after-change-function): Avoid losing focus by + using the inhibit-switch-frame display parameter (Bug#12139). + +2012-08-06 Fabián Ezequiel Gallina <fgallina@cuca> + + Make internal shell process buffer names start with space. + * progmodes/python.el (python-shell-make-comint): Add optional + argument INTERNAL. + (run-python-internal): Use it. + (python-shell-internal-get-or-create-process): Check for new + internal buffer names. + +2012-08-06 Glenn Morris <rgm@gnu.org> + + * eshell/esh-ext.el (eshell/addpath): Use dolist and mapconcat. + Do less getting and setting of environment variables. + +2012-08-05 Chong Yidong <cyd@gnu.org> + + * proced.el (proced): Add substitution string to docstring to + trigger autoloading of the proced library on C-h f (Bug#1768). + + * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): + Don't show defvars which have no second argument (Bug#8638). + + * imenu.el (imenu-generic-expression): Move documentation here + from imenu--generic-function. + (imenu--generic-function): Refer to imenu-generic-expression. + +2012-08-05 Vegard Øye <vegard_oye@hotmail.com> (tiny change) + + * emulation/viper-init.el (viper-deflocalvar): Add docstring and + indentation declaration. + (viper-loop): Add indentation declaration (Bug#7025). + +2012-08-05 Chong Yidong <cyd@gnu.org> + + * help-fns.el (describe-variable): Add hyperlink for + directory-local variables files. Improve buffer-local and + permanent-local reporting; suggested by MON KEY (Bug#6644). + + * help-mode.el (help-dir-local-var-def): New button type. + + * files.el (kill-buffer-hook): Provide a defvar. + +2012-08-05 Glenn Morris <rgm@gnu.org> + + * eshell/esh-ext.el (eshell/addpath): + Also update eshell-path-env. (Bug#12013) + +2012-08-05 Chong Yidong <cyd@gnu.org> + + * wdired.el (wdired-mode, wdired-change-to-wdired-mode): Doc fixes. + + * fringe.el (fringe-styles): Add docstring. + (fringe--check-mode): New function. + (set-fringe-mode, set-fringe-style): Use it. + (fringe-mode, set-fringe-style): Doc fixes (Bug#6480). + + * files.el (set-auto-mode): Fix invalid setq call. + +2012-08-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * isearch.el: Misc simplification; use defstruct. + (isearch-mode-map): Dense maps now work like sparse ones. + (isearch--state): New defstruct. + (isearch-string-state, isearch-message-state, isearch-point-state) + (isearch-success-state, isearch-forward-state) + (isearch-other-end-state, isearch-word-state, isearch-error-state) + (isearch-wrapped-state, isearch-barrier-state) + (isearch-case-fold-search-state, isearch-pop-fun-state): + Remove, replaced by defstruct's accessors. + (isearch--set-state): Rename from isearch-top-state and change + calling convention. + (isearch-push-state): Use new isearch--get-state. + (isearch-toggle-word): Disable regexp when enabling word. + (isearch-message-prefix): Remove unused arg _c-q-hack. + (isearch-message-suffix): Remove unused arg _ellipsis. + +2012-08-04 Andreas Schwab <schwab@linux-m68k.org> + + * simple.el (list-processes--refresh): For a server use :host or + :local as the address. + (list-processes): Doc fix. + +2012-08-04 Michal Nazarewicz <mina86@mina86.com> + + * lisp/mpc.el: Support password in host argument. + (mpc--proc-connect): Parse and use new password element. + Set mpc-proc variable instead of returning process. + (mpc-proc): Adjust accordingly. + +2012-08-03 Eli Zaretskii <eliz@gnu.org> + + * whitespace.el (whitespace-display-mappings): Use Unicode + codepoints, instead of emacs-mule codepoints. See + http://lists.gnu.org/archive/html/help-gnu-emacs/2012-07/msg00366.html + for the details. + + * files.el (file-truename): Don't skip symlink-chasing part on + windows-nt. Incorporate the resolution of 8+3 short aliases on + Windows into the loop that recursively chases symlinks. + Compare directory and its parent case-insensitively on MS-Windows and + MS-DOS. + +2012-08-03 Chong Yidong <cyd@gnu.org> + + * menu-bar.el (menu-bar-tools-menu): Remove PCL-CVS. + + * sort.el (sort-regexp-fields): Doc fix. + +2012-08-03 Tassilo Horn <tsdh@gnu.org> + + * textmodes/reftex.el (reftex-compile-variables): Make keyvals + labels regex position point at the expected place. + +2012-08-03 MON KEY <monkey@sandpframing.com> + + * net/imap.el (imap-interactive-login, imap-authenticate) + (imap-mailbox-lsub, imap-mailbox-list) + (imap-mailbox-status-asynch, imap-mailbox-acl-delete) + (imap-fetch, imap-message-flag-permanent-p, imap-envelope-from) + (imap-parse-response): Doc fix. + +2012-08-03 João Távora <joaotavora@gmail.com> + + * textmodes/tex-mode.el (latex-forward-sexp): Terminate the loop + if sexp scanning does not move point (Bug#5734). + +2012-08-02 Tassilo Horn <tsdh@gnu.org> + + * textmodes/reftex-vars.el (reftex-default-label-alist-entries): + Add listings, minted, and ctable packages. + (reftex-label-alist-builtin): Move listings, minted, and ctable + entries before LaTeX. + (reftex-label-alist): Docfix. + +2012-08-02 Bastien Guerry <bzg@gnu.org> + + * replace.el (occur): Fix docstring (bug#12122). + +2012-08-02 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h. + +2012-08-02 Paul Eggert <eggert@cs.ucla.edu> + + Obsolete alias inactivate-current-input-method-function (Bug#10150). + * international/mule-cmds.el: Create + inactivate-current-input-method-function as an obsolete alias for + deactivate-current-input-method-function. See Katsumi Yamaoka in + <http://bugs.gnu.org/10150#46>. + +2012-08-01 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-mode.el (calc-set-simplify-mode): Use `cond' instead + of nested `if's. + +2012-08-01 Glenn Morris <rgm@gnu.org> + + * progmodes/autoconf.el (autoconf-definition-regexp): + Add AH_TEMPLATE, adjust submatch numbering. + (autoconf-font-lock-keywords, autoconf-imenu-generic-expression) + (autoconf-current-defun-function): Update for above change. + (autoconf-current-defun-function): First skip to end of current word. + +2012-08-01 Rupert Swarbrick <rswarbrick@gmail.com> (tiny change) + + * calendar/cal-html.el (cal-html-insert-agenda-days): + Fix typo. (Bug#12018) + +2012-07-31 Fabián Ezequiel Gallina <fgallina@cuca> + + Shell processes: enhancements to startup and CEDET compatibility. + * progmodes/python.el (python-shell-send-setup-max-wait): Delete var. + (python-shell-make-comint): accept-process-output at startup. + (run-python-internal): Set inferior-python-mode-hook to nil. + (python-shell-internal-get-or-create-process): Call sit-for. + (python-preoutput-result): Add obsolete alias. + (python-shell-internal-send-string): Use it. + (python-shell-send-setup-code): Remove call to + accept-process-output. + +2012-07-31 Andreas Schwab <schwab@linux-m68k.org> + + * buff-menu.el (list-buffers-noselect): Use prefix-numeric-value. + (Bug#12108) + +2012-07-31 Jay Belanger <jay.p.belanger@gmail.com> + + * calc-mode.el (calc-basic-simplification-mode): Rename from + `calc-limited-simplification-mode'. + (calc-alg-simplification-mode): New function. + (calc-set-simplify-mode): Adjust message. + + * calc.el (calc-set-mode-line): Adjust mode line display for + basic simplification mode. + + * calc-help.el (calc-m-prefix-help): Update help message. + + * calc-ext.el (calc-init-extensions): Add bindings and autoloads + for `calc-basic-simplify-mode' and `calc-alg-simplify-mode'. + +2012-07-31 Bastien Guerry <bzg@gnu.org> + + * man.el (man): Fix comment. (bug#12101) + +2012-07-31 Martin Rudalics <rudalics@gmx.at> + + * window.el (switch-to-prev-buffer, switch-to-next-buffer): + Don't return a non-nil value when no suitable buffer was found. + +2012-07-31 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (run-python-internal): Disable font lock for + internal shells. + +2012-07-30 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Silence `checkdoc-ispell'. + (rst-cvs-header, rst-svn-rev, rst-svn-timestamp) + (rst-official-version, rst-official-cvs-rev) + (rst-package-emacs-version-alist): Update to upstream V1.3.1. + (rst-mode-map): New key binding. + +2012-07-30 Paul Eggert <eggert@cs.ucla.edu> + + Update .PHONY listings in makefiles. + * Makefile.in (.PHONY): Add all, doit, custom-deps, finder-data, + autoloads, update-subdirs, updates, bzr-update, update-authors, + compile-onefile, compile-calc, backup-compiled-files, + compile-after-backup, compile-one-process, mh-autoloads, + bootstrap-clean, distclean, maintainer-clean. + +2012-07-29 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc.el (calc-simplify-mode): Make 'alg the default value. + (calc-set-mode-line): Don't display "AlgSimp ". + + * calc/calc-mode.el (calc-alg-simplify-mode): Remove function. + (calc-lim-simplify-mode): New function. + (calc-set-simplify-mode): Default to 'alg. + (calc-default-simplify-mode): Make algebraic simplifications + the default. + + * calc/calc-ext.el (calc-init-extensions): Remove binding for + `calc-alg-simplify-mode'. Add binding for `calc-lim-simplify-mode'. + + * calc/calc-help.el (calc-m-prefix-help): Change messages to + indicate new simplification modes. + + * calc/README: Mention new default simplification mode. + + * calc/calc.el (math-normalize-error): New variable. + (math-normalize): Set `math-normalize-error' to t + when there's an error. + + * calc/calc-alg.el (math-simplify): Don't simplify when + `math-normalize' returns an error. + +2012-07-29 Eli Zaretskii <eliz@gnu.org> + + * international/mule-cmds.el (set-locale-environment): Revert last + change, since display-graphic-p returns nil when this function is + called during startup. Instead... + + * term/w32console.el (terminal-init-w32console): ...setup the + keyboard and terminal encoding for TTY sessions here. (Bug#12082) + +2012-07-29 Juri Linkov <juri@jurta.org> + + * simple.el (goto-line): Don't display default line number in the + prompt because it should be displayed by `read-number' (bug#9952). + Add the current line number to the defaults of `goto-line' to + allow its easier modification by users with `M-n' (bug#9201). + + * subr.el (read-number): Support multiple default values like in + other minibuffer reading functions. Replace `read' with + `string-to-number' for consistency with `number-to-string'. + +2012-07-29 Paul Eggert <eggert@cs.ucla.edu> + + deactive->inactive, inactivate->deactivate spelling fixes (Bug#10150) + * emulation/viper-init.el (viper-deactivate-input-method-action): + Rename from viper-inactivate-input-method-action. + (viper-deactivate-input-method): + Rename from viper-inactivate-input-method. + * follow.el (follow-inactive-menu): Rename from follow-deactive-menu. + * international/mule-cmds.el (deactivate-input-method): + Rename from inactivate-input-method. + Also run input-method-deactivate-hook. + (deactivate-current-input-method-function): + Rename from inactivate-current-input-method-function. + (input-method-deactivate-hook): New hook. + (input-method-inactivate-hook): Mark obsolete. + (inactivate-input-method): Mark obsolete. + + * international/quail.el (quail-activate): + Also run quail-deactivate-hook. + (quail-deactivate): Rename from quail-inactivate. + * international/robin.el (robin-activate): + Also run robin-deactivate-hook. + (robin-deactivate): Rename from robin-inactivate. + +2012-07-29 Chong Yidong <cyd@gnu.org> + + * simple.el (indicate-copied-region): New function. + (kill-ring-save): Split off from here. + + * rect.el (copy-rectangle-as-kill): Call indicate-copied-region. + (kill-rectangle): Set deactivate-mark to t on read-only error. + + * register.el (copy-to-register, copy-rectangle-to-register): + Deactivate the mark, and use indicate-copied-region (Bug#10056). + (append-to-register, prepend-to-register): Call indicate-copied-region. + +2012-07-29 Juri Linkov <juri@jurta.org> + + * simple.el (async-shell-command-buffer): New defcustom. + (shell-command): Use it. (Bug#4719) + +2012-07-28 Eli Zaretskii <eliz@gnu.org> + + * international/mule-cmds.el (set-locale-environment): In a + console session on MS-Windows, set up keyboard and terminal + encoding from the OEM codepage, not the ANSI codepage. + (Bug#12055) + +2012-07-28 Chong Yidong <cyd@gnu.org> + + * progmodes/gdb-mi.el (gdb-place-breakpoints): Fix the call to + gdb-get-location. + +2012-07-28 Leo Liu <sdl.web@gmail.com> + + * progmodes/cc-menus.el (cc-imenu-objc-function): Avoid leaving nil in + the alist (bug#12029). + +2012-07-28 Eli Zaretskii <eliz@gnu.org> + + * makefile.w32-in (custom-deps, finder-data, updates, compile) + (compile-always, compile-first) + ($(lisp)/calendar/cal-loaddefs.el) + ($(lisp)/calendar/diary-loaddefs.el) + ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el) + ($(lisp)/net/tramp-loaddefs.el, bootstrap) + ($(lisp)/progmodes/cc-mode.elc): Depend on $(lisp)subdirs.el, + instead of on update-subdirs. + (bootstrap-clean): Delete $(lisp)/subdirs.el. + +2012-07-28 Chong Yidong <cyd@gnu.org> + + * vc/vc.el (vc-root-diff, vc-print-root-log): Prompt for a + directory if vc-deduce-backend returns nil (Bug#7350). + + * simple.el (delete-trailing-lines): New option. + (delete-trailing-whitespace): Obey it (Bug#11879). + +2012-07-28 David Engster <deng@randomsample.de> + + * xml.el (xml-node-name, xml-parse-file, xml-parse-region): + Explanation of new 'symbol-qnames feature in doc-strings. + (xml-maybe-do-ns): Return expanded names as plain symbols if + 'symbol-qnames was provided in XML-NS argument (Bug#11916). + (xml-parse-tag-1): Deal with new definition of PARSE-NS argument. + +2012-07-27 Fabián Ezequiel Gallina <fgallina@cuca> + + Consistent completion in inferior python with emacs -nw. + * progmodes/python.el (inferior-python-mode): Replace "<tab>" + binding in inferior-python-mode-map with "\t". + (python-shell-completion-complete-at-point) + (python-completion-complete-at-point): Remove interactive spec. + +2012-07-27 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calccomp.el (math-compose-expr): Undo previous change. + +2012-07-27 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-mode-map): Add keybinding for + run-python. + (python-shell-make-comint): Fix pop-to-buffer call. + (run-python): Autoload. New arg SHOW. + (python-shell-get-or-create-process): Do not pop python process + buffer. + +2012-07-27 Michael Albinus <michael.albinus@gmx.de> + + * notifications.el (notifications-on-action-signal) + (notifications-on-closed-signal): Use also the bus address for the map. + (notifications-notify, notifications-close-notification) + (notifications-get-capabilities): Add optional argument BUS. + +2012-07-27 Tassilo Horn <tsdh@gnu.org> + + * textmodes/reftex-vars.el (reftex-label-alist-builtin): + Add support for the lstlisting and minted environments, and for the + ctable macro. + * textmodes/reftex.el (reftex-compile-variables): Also recognize + labels written in keyvals syntax. + +2012-07-27 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calccomp.el (math-compose-expr): Use parentheses when + there is a product in the denominator of a fraction. + +2012-07-26 Eli Zaretskii <eliz@gnu.org> + + * makefile.w32-in ($(lisp)/calendar/cal-loaddefs.el) + ($(lisp)/calendar/diary-loaddefs.el) + ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el) + ($(lisp)/net/tramp-loaddefs.el): Depend on update-subdirs. + Fixes failures in parallel bootstrap because subdirs.el is being + rewritten while the autoload files are built at the same time, + which needs to load subdirs.el. + +2012-07-26 Martin Rudalics <rudalics@gmx.at> + + * mouse.el (popup-menu): Fix doc-string and re-indent code. + (mouse-drag-line): Don't exit tracking when a switch-frame or + switch-window event occurs (Bug#12006). + +2012-07-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * mouse.el (popup-menu): Fix last change. + +2012-07-26 Stefan Monnier <monnier@iro.umontreal.ca> + + Autoload from Lisp with more care. Follow aliases when looking for + function properties. + * subr.el (autoloadp): New function. + (symbol-file): Use it. + (function-get): New function. + * emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and + autoload-do-load. + * emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function) + (lisp-indent-function): + * emacs-lisp/gv.el (gv-get): + * emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec): + * emacs-lisp/byte-opt.el (byte-optimize-form): + * emacs-lisp/bytecomp.el (byte-compile-arglist-warn): + * emacs-lisp/autoload.el (make-autoload, autoload-print-form): + Use function-get. + * emacs-lisp/cl.el: Don't propagate function properties any more. + + * speedbar.el (speedbar-add-localized-speedbar-support): + * emacs-lisp/disass.el (disassemble-internal): + * desktop.el (desktop-load-file): + * help-fns.el (help-function-arglist, find-lisp-object-file-name) + (describe-function-1): + * emacs-lisp/find-func.el (find-function-noselect): + * emacs-lisp/elp.el (elp-instrument-function): + * emacs-lisp/advice.el (ad-has-proper-definition): + * apropos.el (apropos-safe-documentation, apropos-macrop): + * emacs-lisp/debug.el (debug-on-entry): + * emacs-lisp/cl-macs.el (cl-compiler-macroexpand): + * emacs-lisp/byte-opt.el (byte-compile-inline-expand): + * calc/calc.el (name): Use autoloadp & autoload-do-load. + +2012-07-25 Alp Aker <alp.tekin.aker@gmail.com> + + * international/mule-cmds.el (ucs-insert): Mark it as an obsolete + function, not an obsolete variable (Bug#12046). + +2012-07-25 Andreas Schwab <schwab@linux-m68k.org> + + * faces.el (face-spec-reset-face): Fix last change. (Bug#12042) + +2012-07-25 Christopher Schmidt <christopher@ch.ristopher.com> + + * emacs-lisp/pp.el (pp-display-expression): Select old selected + window only if it is still live (Bug#12034). + +2012-07-25 Martin Rudalics <rudalics@gmx.at> + + * subr.el (redirect-frame-focus): Add advertised calling + convention (Bug#12030). + +2012-07-25 Paul Eggert <eggert@cs.ucla.edu> + + Prefer typical American spelling for "acknowledgment". + * vc/add-log.el (change-log-acknowledgment): Rename from + change-log-acknowledgement, with an alias for the old name. + +2012-07-25 Jay Belanger <jay.p.belanger@gmail.com> + + * calc-alg.el (math-simplify-divide): Don't cross multiply + in an equation when the lhs is a variable. + +2012-07-24 Julien Danjou <julien@danjou.info> + + * net/netrc.el (netrc-find-service-number, netrc-store-data): + Remove, unused. + +2012-07-23 Eli Zaretskii <eliz@gnu.org> + + * startup.el (command-line): Don't display an empty user name in + the error message about non-existent home directory, when + init-file-user was set to an empty string. See + http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00835.html + for the details and context. + +2012-07-22 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el (ses-cell-formula-aset): New macro. + (ses-cell-references-aset): New macro. + (ses-cell-p): New function. + (ses-rename-cell): Do no longer rely on complex operations like + ses-cell-set-formula or ses-set-cell to change the cell and handle + the undo at the same time, but rather use lower level new macros + `ses-cell-formula-aset' and `ses-cell-references-aset' and handle + the undo directly. Refresh the mode line. + +2012-07-21 Leo Liu <sdl.web@gmail.com> + + * progmodes/cc-cmds.el (c-defun-name): + Use match-string-no-properties instead for consistency. + +2012-07-20 Leo Liu <sdl.web@gmail.com> + + * progmodes/cc-cmds.el (c-defun-name): Handle objc selectors properly. + (Bug#7879) + + * progmodes/cc-langs.el (c-symbol-start): Include char _ (bug#11986). + +2012-07-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * userlock.el, emacs-lisp/map-ynp.el: Declare part of `emacs' package. + * progmodes/bug-reference.el, misearch.el: Provide themselves + (bug#11915). + + * progmodes/cperl-mode.el (cperl-unwind-to-safe): Don't inf-loop at end + of narrowed buffer (bug#11966). + +2012-07-20 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el (ses-rename-cell): Set new name also in reference list of + cells of which the renamed cell depends. + +2012-07-20 Masatake YAMATO <yamato@redhat.com> + + * term/x-win.el (x-menu-bar-open): Use `frame-parameter' + to check whether menu-bar is shown or not. If not shown, + show the menu-bar as a popup menu instead of using tmm. + * mouse.el (popup-menu): Accept `point' as `position' argument. + +2012-07-20 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-parse-partial): No error when end + up inside string symbol literal (bug#11923). + +2012-07-20 Eli Zaretskii <eliz@gnu.org> + + * startup.el (fancy-startup-text): Read the whole tutorial, not + just its first 256 bytes. Prevents gibberish in display of the + tutorial title. + +2012-07-20 Dmitry Antipov <dmantipov@yandex.ru> + + Drop idle buffer compaction due to an absence of the + proved efficiency. + * compact.el: Remove. + +2012-07-19 Sam Steingold <sds@gnu.org> + + * vc/vc-dispatcher.el (vc-compilation-mode): Add, based on + vc-bzr-pull & vc-bzr-merge-branch. + * vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch): Use it. + (vc-bzr-error-regexp-alist): Rename from vc-bzr-error-regex-alist + for consistency with compilation-error-regexp-alist. + * vc/vc-git.el (vc-git-error-regexp-alist): Add. + (vc-git-pull, vc-git-merge-branch): Call vc-compilation-mode. + * vc/vc-hg.el (vc-hg-error-regexp-alist): Add. + (vc-hg-pull, vc-hg-merge-branch): Call vc-compilation-mode. + +2012-07-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/chart.el: Use lexical-binding. + (chart-emacs-storage): Don't hardcode the list of entries. + +2012-07-19 Dmitry Antipov <dmantipov@yandex.ru> + + Next round of tweaks caused by Fgarbage_collect changes. + * emacs-lisp/chart.el (chart-emacs-storage): Adjust again. + +2012-07-19 Dmitry Antipov <dmantipov@yandex.ru> + + Compact buffers when idle. + * compact.el: New file. + +2012-07-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (eventp): Presume that if it looks vaguely like an event, + it's an event (bug#10190). + +2012-07-19 Fabián Ezequiel Gallina <fgallina@cuca> + + Enhancements to ppss related code (thanks Stefan). + * progmodes/python.el (python-indent-context) + (python-indent-calculate-indentation, python-indent-dedent-line) + (python-indent-electric-colon, python-nav-forward-block) + (python-mode-abbrev-table) + (python-info-assignment-continuation-line-p): Simplify checks + for ppss context. + (python-info-continuation-line-p): Cleanup. + (python-info-ppss-context): Do not catch 'quote. + (python-info-ppss-context-type) + (python-info-ppss-comment-or-string-p): Simplify. + +2012-07-18 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: Enhancements to eldoc support. + (python-info-current-symbol): New function. + (python-eldoc-at-point): Use python-info-current-symbol. + (python-info-current-defun): Fix cornercase on first defun scan. + (python-eldoc--get-doc-at-point): Use python-info-current-symbol + and signal error when no inferior python process is available. + +2012-07-18 Dmitry Gutov <dgutov@yandex.ru> + + * vc/vc-git.el (vc-git-state): Don't call `vc-git-registered', + assume it's always t. + (vc-git-registered): Remove caching, the function is only called + once. + (vc-git-branches): Use `vc-git--call' instead of `call-process'. + +2012-07-18 Chong Yidong <cyd@gnu.org> + + * subr.el (last-input-char, last-command-char): Remove (Bug#9195). + + * simple.el (count-words): Report on narrowing (Bug#9959). + + * bindings.el: Bind M-= to count-words. + + * faces.el (face-spec-reset-face): Handle reverse video (Bug#4238). + +2012-07-18 Masatake YAMATO <yamato@redhat.com> + + * progmodes/sh-script.el (sh-imenu-generic-expression): + Capture a function with `function' keyword and without parentheses + like "function FOO" (bug#11856). + +2012-07-18 Tassilo Horn <tassilo@member.fsf.org> + + * window.el (split-window-sensibly): Make WINDOW argument + optional. + +2012-07-18 Chong Yidong <cyd@gnu.org> + + * subr.el (keyboard-translate): Doc fix (Bug#7261). + + * isearch.el (isearch-mode-map): Handle C-x 8 key translations, + and make C-x 8 RET exit isearch (Bug#11439). + + * international/iso-transl.el: Move isearch-mode-map key + definitions to isearch.el. + +2012-07-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/eieio.el: Adapt further to gv.el (bug#11970). + (eieio-defclass): Use gv-define-setter when possible. + +2012-07-18 Dmitry Antipov <dmantipov@yandex.ru> + + Reflect recent changes in Fgarbage_collect. + * emacs-lisp/chart.el (chart-emacs-storage): Change to + reflect new format of data returned by Fgarbage_collect. + +2012-07-17 Fabián Ezequiel Gallina <fgallina@cuca> + + New utility functions + python-info-ppss-context fix (Bug#11910). + * progmodes/python.el (python-info-beginning-of-block-statement-p) + (python-info-ppss-comment-or-string-p): New functions. + (python-info-ppss-context): Small fix for string check. + +2012-07-17 Juri Linkov <juri@jurta.org> + + * dired-aux.el (dired-do-async-shell-command): Doc fix. + (dired-do-async-shell-command): Don't add `*' at the end of the + command (Bug#11815). + (dired-do-shell-command): Doc fix. + (dired-shell-stuff-it): Strip the trailing "&" and ";" if any. + Join the individual commands using either "&" or ";" as the + separator depending on the values of these trailing characters. + At the end re-add the trailing "&". (Bug#10598) + + * simple.el (async-shell-command): Sync the interactive spec with + `shell-command'. Doc fix. + (shell-command): Doc fix. + +2012-07-17 Juri Linkov <juri@jurta.org> + + * descr-text.el (describe-char): Fix format args. (Bug#10129) + +2012-07-17 Fabián Ezequiel Gallina <fgallina@cuca> + + Final renames and doc fixes for movement commands (bug#11899). + * progmodes/python.el (python-nav-beginning-of-statement): + Rename from python-nav-statement-start. + (python-nav-end-of-statement): Rename from + python-nav-statement-end. + (python-nav-beginning-of-block): Rename from + python-nav-block-start. + (python-nav-end-of-block): Rename from python-nav-block-end. + +2012-07-17 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el (python-shell-send-string-no-output): + Allow accept-process-output to quit, keeping shell process ready for + future interactions (Bug#11868). + +2012-07-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl-progv): Use a properly prefixed var name. + + * emacs-lisp/elint.el (elint-find-args-in-code): + Use help-function-arglist, so as to handle lexical byte-code. + + * progmodes/sh-script.el (sh-syntax-propertize-function): Fix last + change (bug#11826). + +2012-07-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): + Avoid spuriously marking the buffer as modified because of c-is-sws. + + * progmodes/sh-script.el (sh-syntax-propertize-function): Mark "${#VAR" + as not-a-comment (bug#11946). + + * emacs-lisp/macroexp.el (macroexp-let2): Use more informative names + for uninterned vars. + + * xt-mouse.el (xterm-mouse-translate-1, xterm-mouse-event-read): + Use read-event since we don't really want to read chars but bytes. + + * textmodes/tex-mode.el (tex-font-lock-keywords-1): Highlight not only + $$..$$ but also $..$ using regexps (bug#11953). + Use tex-verbatim for \url and \path. + (tex-font-lock-keywords): Define as defconst like the others. + (tex-common-initialization): Don't use font-lock-syntax-table any more. + +2012-07-16 René Kyllingstad <Rene@Kyllingstad.com> (tiny change) + + * international/mule-cmds.el (ucs-insert): Make it an obsolete + alias for insert-char. + +2012-07-16 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: Simplified imenu implementation. + (python-nav-jump-to-defun): Remove command. + (python-mode-map): Use `imenu' instead. + (python-nav-list-defun-positions-cache) + (python-imenu-include-defun-type, python-imenu-make-tree) + (python-imenu-subtree-root-label, python-imenu-index-alist): + Remove vars. + (python-nav-list-defun-positions, python-nav-read-defun) + (python-imenu-tree-assoc, python-imenu-make-element-tree) + (python-imenu-make-tree, python-imenu-create-index): + Remove functions. + (python-mode): Update to interact with imenu by setting + `imenu-extract-index-name-function' only. + +2012-07-16 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: Enhancements to navigation commands. + (python-nav-backward-sentence) + (python-nav-forward-sentence): Remove. + (python-nav-backward-statement, python-nav-forward-statement) + (python-nav-statement-start, python-nav-statement-end) + (python-nav-backward-block, python-nav-forward-block) + (python-nav-block-start, python-nav-block-end) + (python-nav-forward-sexp-function) + (python-info-current-line-comment-p) + (python-info-current-line-empty-p): New functions. + (python-indent-context): Use `python-nav-statement-start'. + +2012-07-16 Michael Albinus <michael.albinus@gmx.de> + + * eshell/em-ls.el (eshell/ls): Use `apply'. + + * eshell/em-unix.el (eshell/su, eshell/sudo): Apply Tramp's ad-hoc + multi-hops, instead of Tramp internals. + + * vc/ediff.el (ediff-directories): Add trailing space to prompts. + + * vc/ediff-diff.el (ediff-same-file-contents): Handle the case, + when F1 and F2 are located on different hosts. + +2012-07-14 Chong Yidong <cyd@gnu.org> + + * xt-mouse.el: Implement extended mouse coordinates (Bug#10642). + (xterm-mouse-translate): Move code into xterm-mouse-translate-1. + (xterm-mouse-translate-extended, xterm-mouse-translate-1) + (xterm-mouse--read-event-sequence-1000) + (xterm-mouse--read-event-sequence-1006): New functions. For old + mouse protocol, handle M-mouse-X events correctly. + (xterm-mouse-event): New arg specifying mouse protocol. + (turn-on-xterm-mouse-tracking-on-terminal) + (turn-off-xterm-mouse-tracking-on-terminal): Send DEC 1006 + sequence to toggle extended coordinates on newer XTerms. + This appears to be harmless on terminals which do not support this. + +2012-07-14 Leo Liu <sdl.web@gmail.com> + + Add fringe bitmap indicators for flymake. (Bug#11253) + * progmodes/flymake.el (flymake-highlight-line): Use fringe bitmaps. + (flymake-make-overlay): New arg BITMAP. + (flymake-error-bitmap, flymake-warning-bitmap) + (flymake-fringe-indicator-position): New user variables. + + * fringe.el: New bitmap exclamation-mark. + +2012-07-14 Jan Djärv <jan.h.d@swipnet.se> + + * progmodes/cc-cmds.el (c-defun-name): Recognize Objective-C methods + also (Bug#7879). + +2012-07-14 Chong Yidong <cyd@gnu.org> + + * electric.el (electric-pair-post-self-insert-function): Fix pair + insertion in empty-region case (Bug#11520). + +2012-07-14 Chong Yidong <cyd@gnu.org> + + * bindings.el: Consolidate ctl-x-r-map bindings. + Bind copy-rectangle-as-kill to C-x r w. + + * rect.el, register.el: Move bindings to bindings.el. + +2012-07-14 Reuben Thomas <rrt@sc3d.org> + + * rect.el (copy-rectangle-as-kill): New command (Bug#739). + +2012-07-13 Andreas Schwab <schwab@linux-m68k.org> + + * emacs-lisp/cl.el (labels): Remove spurious quote. (Bug#11938) + +2012-07-13 Juanma Barranquero <lekktu@gmail.com> + + * bindings.el (top): Use `mapc' instead of `mapcar'. + + * loadup.el (top): Remove bogus `if' choice (brought by 2008-06-21T01:38:39Z!monnier@iro.umontreal.ca). + +2012-07-13 Michael Albinus <michael.albinus@gmx.de> + + * progmodes/sql.el (sql-comint): Suppress the check for program on + remote hosts. Reported by Francis Devereux <francis@devrx.org>. + (Bug#11908) + +2012-07-13 Chong Yidong <cyd@gnu.org> + + * bindings.el: Assign a non-nil permanent-local property to + per-buffer variables which lack a default value (Bug#11930). + + * help-fns.el (describe-variable): In the "automatically becomes + local" notice, take note of permanent-local variables. + +2012-07-13 Chong Yidong <cyd@gnu.org> + + * files.el (toggle-read-only): Doc fix and code cleanup. New arg + to allow printing the message when called from Lisp. + + * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): + Remove toggle-read-only. + + * bs.el (bs-toggle-readonly): + * buff-menu.el (Buffer-menu-toggle-read-only): + Remove with-no-warnings around toggle-read-only. + + * ffap.el (ffap--toggle-read-only): Accept a list of buffers. + Remove with-no-warnings around toggle-read-only. + (ffap-read-only, ffap-read-only-other-window) + (ffap-read-only-other-frame): Callers changed. + + * help-mode.el: Don't require view package. + (help-mode-finish): Set buffer-read-only instead of calling + toggle-read-only. + + * bindings.el (mode-line-toggle-read-only): + * dired.el (dired-toggle-read-only): + * ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only + with non-nil second arg. + + * emacs-lisp/eieio-custom.el (eieio-customize-object): + * vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only + directly. + +2012-07-12 Eli Zaretskii <eliz@gnu.org> + + * emacs-lisp/bytecomp.el (byte-recompile-directory): Use cl-incf, + not incf. + +2012-07-11 Stefan Monnier <monnier@iro.umontreal.ca> + + More CL cleanups and reduction of use of cl.el. + * woman.el, winner.el, vc/vc-rcs.el, vc/vc-hooks.el, vc/vc-hg.el: + * vc/vc-git.el, vc/vc-dir.el, vc/vc-bzr.el, vc/vc-annotate.el: + * textmodes/tex-mode.el, textmodes/sgml-mode.el, tar-mode.el: + * strokes.el, ses.el, server.el, progmodes/js.el, progmodes/gdb-mi.el: + * progmodes/flymake.el, progmodes/ebrowse.el, progmodes/compile.el: + * play/tetris.el, play/snake.el, play/pong.el, play/landmark.el: + * play/hanoi.el, play/decipher.el, play/5x5.el, nxml/nxml-mode.el: + * net/secrets.el, net/quickurl.el, midnight.el, mail/footnote.el: + * image-dired.el, ibuffer.el, ibuf-macs.el, ibuf-ext.el, hexl.el: + * eshell/eshell.el, eshell/esh-io.el, eshell/esh-ext.el: + * eshell/esh-cmd.el, eshell/em-ls.el, eshell/em-hist.el: + * eshell/em-cmpl.el, eshell/em-banner.el: + * calendar/parse-time.el: Use cl-lib. + * wid-browse.el, wdired.el, vc/vc.el, vc/vc-mtn.el, vc/vc-cvs.el: + * vc/vc-arch.el, tree-widget.el, textmodes/texinfo.el: + * textmodes/refill.el, textmodes/css-mode.el, term/tvi970.el: + * term/ns-win.el, term.el, shell.el, ps-samp.el: + * progmodes/perl-mode.el, progmodes/pascal.el, progmodes/gud.el: + * progmodes/glasses.el, progmodes/etags.el, progmodes/cwarn.el: + * play/gamegrid.el, play/bubbles.el, novice.el, notifications.el: + * net/zeroconf.el, net/xesam.el, net/snmp-mode.el, net/mairix.el: + * net/ldap.el, net/eudc.el, net/browse-url.el, man.el: + * mail/mailheader.el, mail/feedmail.el: Don't use CL. + * ibuf-ext.el (ibuffer-mark-old-buffers): Use float-time. + * eshell/esh-opt.el (eshell-eval-using-options): Quote code with + `lambda' rather than with `quote'. + (eshell-do-opt): Adjust accordingly. + (eshell-process-option): Simplify. + * eshell/esh-var.el: + * eshell/em-script.el: Require `esh-opt' for eshell-eval-using-options. + * emacs-lisp/pcase.el (pcase--dontcare-upats, pcase--let*) + (pcase--expand, pcase--u1): Rename pcase's internal `dontcare' pattern + to `pcase--dontcare'. + * emacs-lisp/cl.el (labels): Mark obsolete. + (cl--letf, letf): Move to cl-lib. + (cl--letf*, letf*): Remove. + * emacs-lisp/cl-lib.el (cl-nth-value): Use defalias. + * emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Add indent rule. + (cl-progv): Rewrite. + (cl--letf, cl-letf): Move from cl.el. + (cl-letf*): New macro. + * emacs-lisp/cl-extra.el (cl--progv-before, cl--progv-after): Remove. + +2012-07-11 Michael Albinus <michael.albinus@gmx.de> + + * net/ange-ftp.el (ange-ftp-cf1): Update the files cache. + +2012-07-11 Chong Yidong <cyd@gnu.org> + + * vc/log-edit.el (log-edit-vc-backend): New variable. + (log-edit): Doc fix. + + * vc/vc-dispatcher.el (vc-log-edit): New args. Use PARAMS + argument of log-edit to set up all local variables. + (vc-start-logentry): New optional arg specifying VC backend. + + * vc/vc.el (vc-checkin): Use it. + (vc-deduce-fileset): Handle Log Edit buffers. + (vc-diff): Make first argument optional too. + + * vc/log-view.el (log-view-vc-fileset, log-view-vc-backend): Doc fix. + +2012-07-10 Michael Albinus <michael.albinus@gmx.de> + + * eshell/esh-ext.el (eshell-remote-command): Remove remote part of + command, just in case. The function is not needed anymore. + (eshell-external-command): Do not call `eshell-remote-command'. + +2012-07-10 Stefan Monnier <monnier@iro.umontreal.ca> + + Reduce use of (require 'cl). + * vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el: + * vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el: + * register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el: + * msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el: + * international/quail.el, info-xref.el, imenu.el, image-mode.el: + * font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el: + * battery.el, avoid.el, abbrev.el: Use cl-lib. + * vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el: + * vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el: + * jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el: + * emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el: + * calculator.el, autorevert.el, apropos.el: Don't require CL. + * emacs-lisp/bytecomp.el (byte-recompile-directory, display-call-tree) + (byte-compile-unfold-bcf, byte-compile-check-variable): + * emacs-lisp/byte-opt.el (byte-compile-trueconstp) + (byte-compile-nilconstp): + * emacs-lisp/autoload.el (make-autoload): Use pcase. + * face-remap.el (text-scale-adjust): Simplify pcase patterns. + + * emacs-lisp/gv.el (cond): Make it a valid place. + (if): Simplify slightly. + + * emacs-lisp/pcase.el (pcase): Accept self-quoting exps as "upatterns". + (pcase--self-quoting-p): New function. + (pcase--u1): Use it. + +2012-07-10 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-fixed-entries): + (authors-renamed-files-alist): Update for configure.in -> configure.ac. + +2012-07-09 Paul Eggert <eggert@cs.ucla.edu> + + Rename configure.in to configure.ac (Bug#11603). + * emacs-lisp/authors.el (authors-canonical-file-name): + * progmodes/autoconf.el (autoconf-mode): + Prefer configure.ac to configure.in. + +2012-07-08 Chong Yidong <cyd@gnu.org> + + * mouse.el (mouse-drag-line): Rewrite the track-mouse loop. + Implement the mouse-1-click-follows-link handling properly. + + * info.el (Info-link-keymap): Use follow-link mechanism for + header-line links (Bug#374). + + * simple.el (deactivate-mark): Do not set the primary selection + if another program has acquired it (Bug#11772). + +2012-07-07 Kevin Ryde <user42@zip.com.au> + + * woman.el (woman-strings): Fix double-quote handling (Bug#1151). + (woman-decode-region): Replace escaped-escapes without destroying + bold or underline (Bug#11552). + (woman2-process-escapes): Handle nofill regions (Bug#11591). + +2012-07-07 Chong Yidong <cyd@gnu.org> + + * simple.el (yank-pop-change-selection): Doc fix (Bug#11361). + (interprogram-cut-function, interprogram-paste-function): + Mention that we typically mean the clipboard. + +2012-07-06 Glenn Morris <rgm@gnu.org> + + * kmacro.el (kmacro-call-macro): Restore repeat message. (Bug#11817) + + * files.el (toggle-read-only): Restrict message to interactive use. + +2012-07-06 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-restricted-shell-hosts-alist): New defcustom. + + * net/tramp-sh.el (tramp-maybe-open-connection): Handle it. + +2012-07-06 Glenn Morris <rgm@gnu.org> + + * Makefile.in (compile-one-process): Rename from "recompile". + + * Makefile.in (bzr-update): "compile" is the same as "recompile + autoloads", but parallelizable, so use that instead. + +2012-07-06 Dmitry Gutov <dgutov@yandex.ru> + + * window.el (quit-window): Always restore window height when + it's saved in quit-restore parameter (Bug#11810). + +2012-07-06 Glenn Morris <rgm@gnu.org> + + * simple.el (kill-whole-line): Doc tweak. + +2012-07-06 Eli Zaretskii <eliz@gnu.org> + + * files.el (file-relative-name): Compare file names + case-insensitively if on MS-Windows or MS-DOS, or if + read-file-name-completion-ignore-case is non-nil. Don't use + case-fold-search for this purpose. (Bug#11827) + +2012-07-17 Andreas Schwab <schwab@linux-m68k.org> + + * calendar/cal-dst.el (calendar-current-time-zone): + Return calendar-current-time-zone-cache if non-nil. + +2012-07-17 Masatake YAMATO <yamato@redhat.com> +2012-07-06 Andreas Schwab <schwab@linux-m68k.org> + + * calendar/cal-dst.el (calendar-current-time-zone): + Return calendar-current-time-zone-cache if non-nil. + +2012-07-06 Glenn Morris <rgm@gnu.org> + + * Makefile.in (cvs-update): Remove old alias. + +2012-07-05 Michael Albinus <michael.albinus@gmx.de> + + Sync with Tramp 2.2.6-pre. + + * net/tramp.el (tramp-drop-volume-letter): Provide an XEmacs + compatible declaration. + + * net/tramp-cmds.el (tramp-append-tramp-buffers): + Protect `list-load-path-shadows' call. + + * net/tramp-compat.el (top): Require packages, which aren't + autoloaded anymore for XEmacs. Protect call of + `tramp-file-name-handler' by `tramp-compat-funcall', pacifying the + compiler. Do not require tramp-util.el and tramp-vc.el anymore, + it hurts at least for SXEmacs. + (tramp-compat-temporary-file-directory): In XEmacs, there is no + standard-value for `temporary-file-directory'. + + * net/tramp-sh.el (tramp-do-directory-files-and-attributes-with-stat): + Redirect stderr to /dev/null. + (tramp-sh-handle-write-region): uid and gid can be floats. + Reported by Russell Sim <russell.sim@gmail.com>. + (tramp-sh-handle-vc-registered): Hide errors. + (tramp-vc-file-name-handler): Use dummy results for `process-file' + and `start-file-process'. + (tramp-maybe-open-connection): Check also whether `non-essential' + is bound. + +2012-07-04 Chong Yidong <cyd@gnu.org> + + * xml.el (xml--parse-buffer): Use xml-syntax-table. + (xml-parse-tag): Likewise, and avoid changing entity tables. + (xml-syntax-table): Define from scratch, making sure not to give + x2000 and other Unicode spaces whitespace syntax, since those are + not spaces in XML. + (xml-parse-fragment): Delete unused function. + (xml-name-start-char-re, xml-name-char-re, xml-name-re) + (xml-names-re, xml-nmtoken-re, xml-nmtokens-re, xml-char-ref-re) + (xml-entity-ref, xml-pe-reference-re) + (xml-reference-re, xml-att-value-re, xml-tokenized-type-re) + (xml-notation-type-re, xml-enumeration-re, xml-enumerated-type-re) + (xml-att-type-re, xml-default-decl-re, xml-att-def-re) + (xml-entity-value-re): Use syntax references in regexps where + possible; no need to define inside a let-binding. + (xml-parse-dtd): Use xml-pe-reference-re. + (xml-entity-or-char-ref-re): New defconst. + (xml-parse-string, xml-substitute-special): Use it. + +2012-07-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el (locate-dominating-file): Allow `name' to be a predicate. + (find-file--read-only): New function. + (find-file-read-only, find-file-read-only-other-window) + (find-file-read-only-other-frame): Use it. + (insert-file-contents-literally): Don't `fset'. + (get-free-disk-space): Use locate-dominating-file. + + * emacs-lisp/bytecomp.el (byte-compile): Don't signal an error if the + function is already compiled. + + * xml.el (xml-name-regexp): Remove, redundant. Use xml-name-re. + +2012-07-03 Michael Albinus <michael.albinus@gmx.de> + + * vc/ediff-diff.el (ediff-same-file-contents): Fix it for remote + files on the same host. + +2012-07-03 Andreas Schwab <schwab@linux-m68k.org> + + * help-fns.el (describe-function-1): Only call + help-fns--autoloaded-p when we have a file name. (Bug#11848) + +2012-07-03 Chong Yidong <cyd@gnu.org> + + * xml.el: Protect parser against XML bombs. + (xml-entity-expansion-limit): New variable. + (xml-parse-string, xml-substitute-special): Use it. + (xml-parse-dtd): Avoid infloop if the DTD is not terminated. + +2012-07-03 Glenn Morris <rgm@gnu.org> + + * progmodes/bug-reference.el (bug-reference-bug-regexp): + Allow linking to specific messages in debbugs reports (eg 123#5). + +2012-07-02 Chong Yidong <cyd@gnu.org> + + * xml.el: Fix entity and character reference expansion, allowing + them to expand into markup as per XML spec. + (xml-default-ns): New variable. + (xml-entity-alist): Use XML spec definitions for lt and amp. + (xml-parse-region): Make first two arguments optional. + Discard text properties. + (xml-parse-tag-1): New function, spun off from xml-parse-tag. + All callers changed. + (xml-parse-tag): Call xml-parse-tag-1. For backward + compatibility, this function should not modify buffer contents. + (xml-parse-tag-1): Fix opening-tag regexp. + (xml-parse-string): Rewrite, handling entity and character + references properly. + (xml--entity-replacement-text): Signal an error if a parameter + entity is undefined. + +2012-07-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * comint.el (comint-output-filter): Filter out repeated prompts. + + * net/ange-ftp.el (ange-ftp-expand-file-name): Use ange-ftp-ftp-name + and file-name-absolute-p. + (ange-ftp-file-exists-p): Use ange-ftp-file-exists-p for + internal calls. + +2012-07-02 Paul Eggert <eggert@cs.ucla.edu> + + Spelling fixes. + * emacs-lisp/bytecomp.el (byte-compile--reify-function): + Rename from byte-compile--refiy-function. All uses changed. + +2012-07-01 Chong Yidong <cyd@gnu.org> + + * xml.el (xml--parse-buffer): New function. Move most of + xml-parse-region here. + (xml-parse-region): Copy region into a temporary buffer, since + parameter entity substitution requires changing buffer contents. + Use xml--parse-buffer. + (xml-parse-file): Use xml--parse-buffer. + (xml-parse-dtd): Make parameter entity substitution work right. + Use proper regexps for ELEMENT declarations (Bug#7172). + +2012-06-30 Glenn Morris <rgm@gnu.org> + + * comint.el (follow-comint-scroll-to-bottom): Fix declaration. + + * net/secrets.el, net/tramp-gvfs.el, net/xesam.el, net/zeroconf.el: + Remove outdated and unnecessary dbus declarations. + +2012-06-30 Eli Zaretskii <eliz@gnu.org> + + * emacs-lisp/timer.el (timer-until): Subtract results of + float-time, instead of taking float-time of the result of + time-subtract, since float-time signals an error for negative time + arguments. + +2012-06-30 Chong Yidong <cyd@gnu.org> + + * xml.el (xml-*-re): Convert defvars into defconsts, and + eval-and-compile them so eval-and-compile works on derivatives. + (xml--entity-replacement-text): Use eval-and-comple. + +2012-06-30 Michael Albinus <michael.albinus@gmx.de> + + * vc/vc-git.el (vc-git-registered): Use cache property + `git-registered'. + (vc-git-mode-line-string): Call `vc-working-revision' instead of + `vc-git-working-revision' in order to benefit from the cache. + (vc-git-root): Use cache property `git-root'. (Bug#11757) + +2012-06-30 Dmitry Gutov <dgutov@yandex.ru> + + * vc/vc-hooks.el (vc-before-save): Clear cache if file has been + removed (likely outside Emacs). (Bug#11757) + +2012-06-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-lib.el: Require macroexp. + +2012-06-30 Chong Yidong <cyd@gnu.org> + + * xml.el: Implement XML parameter entities. + (xml-parameter-entity-alist): New variable. + (xml-parse-region, xml-parse-fragment): Preserve previous values + of xml-entity-alist and xml-parameter-entity-alist, so that + repeated calls on different documents do not change them. + (xml-parse-tag): Fix doctype regexp. + (xml--entity-replacement-text): New function. + (xml-parse-dtd): Use it. Don't handle system entities; doing that + properly requires url retrieval which is unimplemented. + (xml-escape-string): Doc fix. + +2012-06-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2. + +2012-06-29 Dmitry Antipov <dmantipov@yandex.ru> + + * fringe.el (fringe-mode): Doc fix. + +2012-06-29 Michael Albinus <michael.albinus@gmx.de> + + * net/ange-ftp.el (ange-ftp-get-passwd): Throw if `non-essential' + is non-nil. + (ange-ftp-ignore-errors-if-non-essential): New defmacro. + (ange-ftp-file-name-all-completions): Use it. (Bug#11808) + +2012-06-29 Andreas Schwab <schwab@linux-m68k.org> + + * calendar/cal-dst.el (calendar-current-time-zone): + Return calendar-current-time-zone-cache if non-nil. + +2012-06-29 Masatake YAMATO <yamato@redhat.com> + + * progmodes/which-func.el (which-func-format): + Add mouse-face. (Bug#11698) + +2012-06-29 Leo Liu <sdl.web@gmail.com> + + * textmodes/enriched.el (enriched-next-annotation): Use eq (Bug#11528). + +2012-06-29 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (minibuffer-confirm-exit-commands): + Add completion-at-point (bug#11725). + +2012-06-29 Glenn Morris <rgm@gnu.org> + + * progmodes/f90.el (f90-font-lock-keywords-2): + Add some preprocessor elements. (Bug#10499) + +2012-06-29 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/cperl-mode.el (cperl-update-syntaxification): + Use syntax-propertize (bug#11739). + +2012-06-28 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811). + +2012-06-28 Julien Danjou <julien@danjou.info> + + * term.el (term-handle-colors-array): Use a set of new faces to + color the terminal. Also uses :inverse-video property. + (term-default-fg-color): Set to nil by default, deprecate in favor + of `term-face'. + (term-default-bg-color): Set to nil by default, deprecate in favor + of `term-face'. + (term-current-face): Use `term-face' by default. + (term-bold-attribute): Variable deleted. + +2012-06-28 Glenn Morris <rgm@gnu.org> + + * simple.el (completion-list-mode-finish): + Don't use toggle-read-only. (Since completion-list-mode has + a special mode-class, it wasn't doing anything extra anyway.) + +2012-06-28 Stefan Monnier <monnier@iro.umontreal.ca> + + Make inlining of other-mode interpreted functions work (bug#11799). + * emacs-lisp/bytecomp.el (byte-compile--refiy-function): New fun. + (byte-compile): Use it to fix compilation of lexical-binding closures. + * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Compile the + function, if needed. + +2012-06-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * help-mode.el (help-make-xrefs): Don't just withstand + cyclic-variable-indirection but any error in documentation-property. + + * loadup.el (purify-flag): Pre-grow the hash-table to reduce the + memory use. + * bindings.el (bindings--define-key): New function. + * vc/vc-hooks.el, replace.el, menu-bar.el, international/mule-cmds.el: + * emacs-lisp/lisp-mode.el, buff-menu.el, bookmark.el: + * bindings.el: Use it to purecopy define-key bindings. + + * textmodes/rst.el (rst-adornment-faces-alist): Avoid copy-list. + + * emacs-lisp/cl.el (flet): Mark obsolete. + * emacs-lisp/cl-macs.el (cl-flet*): New macro. + * vc/vc-rcs.el (vc-rcs-annotate-command, vc-rcs-parse): + * progmodes/js.el (js-c-fill-paragraph): + * progmodes/ebrowse.el (ebrowse-switch-member-buffer-to-sibling-class) + (ebrowse-switch-member-buffer-to-derived-class): + * play/5x5.el (5x5-solver): Use cl-flet. + + * emacs-lisp/cl.el: Use lexical-binding. Fix flet (bug#11780). + (cl--symbol-function): New macro. + (cl--letf, cl--letf*): Use it. + + * emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name): + Strip "toggle-" if any. + +2012-06-27 Glenn Morris <rgm@gnu.org> + + * info.el (Info-default-directory-list): Move here from paths.el. + * paths.el: Remove file, which is now empty. + * loadup.el: No longer load "paths". + + * custom.el (custom-initialize-delay): Doc fix. + + * eshell/em-alias.el, eshell/em-banner.el, eshell/em-basic.el: + * eshell/em-cmpl.el, eshell/em-dirs.el, eshell/em-glob.el: + * eshell/em-hist.el, eshell/em-ls.el, eshell/em-pred.el: + * eshell/em-prompt.el, eshell/em-rebind.el, eshell/em-script.el: + * eshell/em-smart.el, eshell/em-term.el, eshell/em-unix.el: + * eshell/em-xtra.el: Replace eshell-defgroup with "(progn (defgroup". + * eshell/eshell.el (eshell-defgroup): Remove alias. + +2012-06-27 Chong Yidong <cyd@gnu.org> + + * help.el (help-enable-auto-load): New variable. + + * help-fns.el (help-fns--autoloaded-p): New function. + (describe-function-1): Refer to a function as "autoloaded" if it + was autoloaded at any time in the past. Perform autoloading if + help-enable-auto-load is non-nil. + +2012-06-26 Eli Zaretskii <eliz@gnu.org> + + * makefile.w32-in (compile, compile-always): Depend on + update-subdirs, not on subdirs.el. Otherwise, several different + sub-targets of 'bootstrap' running in parallel could + simultaneously write to subdirs.el, producing a garbled file. + +2012-06-26 Sam Steingold <sds@gnu.org> + + * files.el (file-name-base): New convenience function. + * autoinsert.el, cus-dep.el, doc-view.el, image-dired.el: + * woman.el, eshell/esh-cmd.el, progmodes/ada-xref.el: + * progmodes/cc-defs.el, progmodes/cperl-mode.el: + * progmodes/flymake.el, progmodes/gud.el, progmodes/idlwave.el: + * textmodes/ispell.el, textmodes/reftex-ref.el: + * textmodes/tex-mode.el: Use it. + Did not touch cedet and org because they are maintained elsewhere. + +2012-06-26 Martin Rudalics <rudalics@gmx.at> + + * calendar/calendar.el (calendar-exit): Don't try to delete or + iconify last frame. See: + http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00372.html + +2012-06-25 Jim Diamond <Jim.Diamond@AcadiaU.ca> (tiny change) + + * server.el (server-process-filter): Remember dir in the + process's `server-client-directory' properties. + +2012-06-24 Chong Yidong <cyd@gnu.org> + + * xml.el (xml-parse-tag): Correctly handle comment embedded in + non-tag text. + +2012-06-23 Juanma Barranquero <lekktu@gmail.com> + + * makefile.w32-in (COMPILE_FIRST): Synch with changes in 2012-06-22T21:24:54Z!monnier@iro.umontreal.ca. + +2012-06-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * help-fns.el (describe-variable): Don't croak when doc is not found. + * vc/pcvs.el (cvs-retrieve-revision): Avoid toggle-read-only. + * menu-bar.el (menu-bar-line-wrapping-menu): Purecopy a tiny bit more. + * emacs-lisp/syntax.el (syntax-ppss): Simplify with new `if' place. + * emacs-lisp/smie.el (smie-next-sexp): CSE. + * emacs-lisp/macroexp.el (macroexp-let2): Fix edebug spec and avoid + ((lambda ..) ..). + * emacs-lisp/eieio.el (eieio-oref, slot-value): Use simpler defsetf. + +2012-06-23 Chong Yidong <cyd@gnu.org> + + * info.el (Info-mouse-follow-link): Accept symbol values of + link-args. Select window; suggested by Gerhard Kahl (Bug#11672). + (Info-fontify-node): Use Info-link-keymap for all navigation + buttons, with link-args property to perform the desired action. + (Info-link-keymap): Doc fix. + (Info-next-link-keymap, Info-prev-link-keymap) + (Info-up-link-keymap): Delete now-unused keymaps. + +2012-06-23 Chong Yidong <cyd@gnu.org> + + * mouse.el (mouse-drag-track): Deactivate the mark before popping. + + * progmodes/python.el (python-skeleton-define): Mark abbrevs as + system abbrevs. + + * ansi-color.el (ansi-color-apply-on-region): Doc fix. + +2012-06-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl--make-usage-args): Handle improper lists + (bug#11719). + + * minibuffer.el (completion--twq-try): Try to fail more gracefully when + the requote function doesn't work properly (bug#11714). + +2012-06-23 Glenn Morris <rgm@gnu.org> + + * pcmpl-rpm.el (pcmpl-rpm-packages): Give status messages. + +2012-06-22 Stefan Monnier <monnier@iro.umontreal.ca> + + Further GV/CL cleanups. + * emacs-lisp/gv.el (gv-get): Autoload functions to find their + gv-expander. + (gv--defun-declaration): New function. + (defun-declarations-alist): Use it. + (gv-define-modify-macro, gv-pushnew!, gv-inc!, gv-dec!): Remove. + (gv-place): Autoload. + * emacs-lisp/cl.el (cl--dotimes, cl--dolist): Remember subr.el's + original definition of dotimes and dolist. + * emacs-lisp/cl-macs.el (cl-expr-access-order): Remove unused. + (cl-dolist, cl-dotimes): Use `dolist' and `dotimes'. + * emacs-lisp/cl-lib.el: Move gv handlers from cl-macs to here. + (cl-fifth, cl-sixth, cl-seventh, cl-eighth) + (cl-ninth, cl-tenth): Move gv handler to the function's definition. + * emacs-lisp/cl-extra.el (cl-subseq, cl-get, cl-getf): Move gv handler + to the function's definition. + * Makefile.in (COMPILE_FIRST): Re-order to speed it up by about 50%. + * window.el: + * files.el: + * faces.el: + * env.el: Don't use CL. + +2012-06-22 Paul Eggert <eggert@cs.ucla.edu> + + Support higher-resolution time stamps (Bug#9000). + + * calendar/time-date.el (with-decoded-time-value): New arg + PICO-SYMBOL in VARLIST. It's optional, for backward compatibility. + (encode-time-value): New optional arg PICO. New type 3. + (time-to-seconds) [!float-time]: Support the new picoseconds + component if it's used. + (seconds-to-time, time-subtract, time-add): + Support ps-resolution time stamps as well. + + * emacs-lisp/timer.el (timer): New component psecs. All uses changed. + (timerp): Timer vectors now have length 9, not 8. + (timer--time): Support new-style (4-part) time stamps. + (timer-next-integral-multiple-of-time): Time stamps now have + picosecond resolution, so take a bit more care about rounding. + (timer-relative-time, timer-inc-time): New optional arg psecs. + (timer-set-time-with-usecs): Set psecs to 0. + (timer--activate): Check psecs component, too. + + * proced.el (proced-time-lessp): Support ps-resolution stamps. + +2012-06-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * icomplete.el (icomplete-minibuffer-setup, icomplete-completions): + Move the non-essential binding to the post/pre-command-hook where it is + more obviously correct. + + * subr.el (read-passwd): Don't use a history at all. + * savehist.el (savehist-save): Remove password saved accidentally + because of the above bug. + +2012-06-22 Bastien Guerry <bzg@gnu.org> + + * files.el (toggle-read-only): Display a message telling whether + the buffer is read-only or not (bug#11726). + +2012-06-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/gv.el: New file. + * subr.el (push, pop): Extend to generalized variables. + * loadup.el (macroexp): Unload if preloaded and uncompiled (bug#11657). + * emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove. + * emacs-lisp/cl-macs.el: Require gv. Use gv-define-setter, + gv-define-simple-setter, and gv-define-expander. + Remove setf-methods defined in gv. Rename cl-setf -> setf. + (cl-setf, cl-do-pop, cl-get-setf-method): Remove. + (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf) + (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el. + (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with + gv-letplace. + (cl-defstruct): Don't define setf-method any more. + * emacs-lisp/cl.el (flet): Don't autoload. + (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt) + (define-setf-expander, defsetf, define-modify-macro) + (cl-struct-setf-expander): Move from cl-lib.el. + * emacs-lisp/syntax.el: + * emacs-lisp/ewoc.el: + * emacs-lisp/smie.el: + * emacs-lisp/cconv.el: + * emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push. + (timer--time): Use gv-define-simple-setter. + * emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let² + to avoid coding-system problems in subr.el. Adjust all users. + (macroexp--maxsize, macroexp-small-p): New functions. + * emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf. + * scroll-bar.el (scroll-bar-mode): + * simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode) + (normal-erase-is-backspace-mode): Don't use the `eq' place. + * winner.el (winner-configuration, winner-make-point-alist) + (winner-set-conf, winner-get-point, winner-set): Don't abuse letf. + * files.el (locate-file-completion-table): Avoid list*. + +2012-06-22 Chong Yidong <cyd@gnu.org> + + * dired-aux.el (dired-do-create-files): Doc fix (Bug#11327). + (dired-create-files): Doc fix (Bug#11329). + (dired-do-copy): Doc fix (Bug#11334). + (dired-mark-read-string): Doc fix (Bug#11553). + + * dired.el (dired-recursive-copies, dired-recursive-deletes): + Doc fix (Bug#11326). + (dired-make-relative): Doc fix (Bug#11332). Remove unused arg. + (dired-dwim-target): Doc fix. + + * wdired.el (wdired-mode): Doc fix. + +2012-06-22 Glenn Morris <rgm@gnu.org> + + * pcmpl-rpm.el (pcmpl-rpm-cache): New option. + (pcmpl-rpm-cache-stamp-file): New constant. + (pcmpl-rpm-cache-time, pcmpl-rpm-packages): New variables. + (pcmpl-rpm-packages): Optionally cache list of packages. + + * pcmpl-rpm.el (pcmpl-rpm): New group. + (pcmpl-rpm-query-options): New option. + (pcmpl-rpm-packages): No need to inline it. + Use pcmpl-rpm-query-options. + + * calendar/calendar.el (calendar-in-read-only-buffer): + Avoid some needless mode changes. + +2012-06-21 Chong Yidong <cyd@gnu.org> + + * desktop.el (desktop-read): Don't prompt if daemon (Bug#11674). + (desktop-path): Remove . from the default value (Bug#10977). + (desktop-read): Use user-emacs-directory if desktop-path is nil. + +2012-06-20 Chong Yidong <cyd@gnu.org> + + * term.el (term-send-raw-meta): Make C-M-<char> keys work (Bug#8172). + +2012-06-20 David Röthlisberger <david@rothlis.net> (tiny change) + + * ido.el (ido-switch-buffer, ido-find-file): Fix up doc of C-j + (bug#11201). + +2012-06-20 Chong Yidong <cyd@gnu.org> + + * term.el (term-window-width): Handle the case of a missing right + fringe (Bug#8837). + (term-check-size): Use window-text-height (Bug#5445). + (term-mode): Use define-derived-mode. Minor cleanups. + Set font-lock-defaults (Bug#7692). + (term-move-columns, term-insert-char, term-emulate-terminal) + (term-erase-in-line, term-insert-spaces): Use font-lock-face. + +2012-06-20 Michael Albinus <michael.albinus@gmx.de> + + * net/ange-ftp.el (ange-ftp-get-passwd): + Bind `enable-recursive-minibuffers'. + (ange-ftp-get-process): Throw if `non-essential' is non-nil. + +2012-06-19 David Röthlisberger <david@rothlis.net> (tiny change) + + * ido.el (ido-find-file): Mention C-d binding in docstring (bug#11244). + +2012-06-19 Glenn Morris <rgm@gnu.org> + + * progmodes/python.el (python-mode): Derive from prog-mode. + +2012-06-19 Kevin Gallagher <Kevin.Gallagher@boeing.com> + + * emulation/edt.el (edt-default-menu-bar-update-buffers) + (edt-user-menu-bar-update-buffers): New functions. + (edt-default-emulation-setup, edt-user-emulation-setup): Use them. + +2012-06-19 Chong Yidong <cyd@gnu.org> + + * subr.el (with-selected-window): Preserve the selected window's + terminal's top-frame (Bug#4702). + + * window.el (save-selected-window): Likewise. + +2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/python.el (python-rx-constituents): Move backquote. + (python-skeleton-define, python-define-auxiliary-skeleton): + Use `declare'. + +2012-06-18 Michael Albinus <michael.albinus@gmx.de> + + * minibuffer.el (read-file-name-default): Revert the patch from + 2012-06-17. + +2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/pcase.el (pcase--expand): Warn for unused pattern. + (pcase--u1, pcase--q1): Don't use apply-partially. + +2012-06-18 Glenn Morris <rgm@gnu.org> + + * progmodes/python.el (python-proc, python-buffer) + (python-send-receive, python-send-string): Fix obsolete versions. + +2012-06-18 Martin Rudalics <rudalics@gmx.at> + + * window.el (special-display-p): Completely remove stringp + check. Suggested by Andreas Schwab <schwab@linux-m68k.org>. + +2012-06-17 Michael Albinus <michael.albinus@gmx.de> + + * minibuffer.el (read-file-name-default): Bind `non-essential' to `t'. + + * net/tramp.el (tramp-file-name-handler): Catch 'non-essential. + + * net/ange-ftp.el (ange-ftp-gwp-start, ange-ftp-start-process): + * net/tramp-sh.el (tramp-maybe-open-connection): + Throw if `non-essential' is non-nil. + +2012-06-17 Martin Rudalics <rudalics@gmx.at> + + * window.el (special-display-p): Signal an error if BUFFER-NAME + is not a string (Bug#11713). + +2012-06-17 Paul Eggert <eggert@cs.ucla.edu> + + * progmodes/python.el (python-info-beginning-of-backslash): + Rename from python-info-beginning-of-backlash, as a spelling fix. + +2012-06-17 Chong Yidong <cyd@gnu.org> + + * term.el (term-emulate-terminal): If term-check-size is called, + move point to the process mark without resetting point (Bug#4635). + +2012-06-17 Glenn Morris <rgm@gnu.org> + + * international/mule-cmds.el (mule-menu-keymap) + (set-language-environment, set-locale-environment): Doc tweaks. + +2012-06-16 Aurelien Aptel <aurelien.aptel@gmail.com> + + * cus-face.el (custom-face-attributes): Add wave-style underline + attribute. + * faces.el (set-face-attribute): Update docstring to describe + wave-style underline attribute. + +2012-06-16 Chong Yidong <cyd@gnu.org> + + * term/xterm.el (terminal-init-xterm): Discard input before + querying background mode (Bug#10959). + +2012-06-16 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Added and corrected some comments. + (rst-re-alist-def): Improve symbol syntax. + (rst-mode-syntax-table): Correct syntax entries. + (rst-cvs-header, rst-svn-rev, rst-svn-timestamp) + (rst-official-version, rst-official-cvs-rev): Update version + information. + +2012-06-15 Juanma Barranquero <lekktu@gmail.com> + + * makefile.w32-in (COMPILE_FIRST): Synch with makefile.in changes + in 2008-06-22T13:57:28Z!monnier@iro.umontreal.ca. + +2012-06-15 Fabián Ezequiel Gallina <fgallina@cuca> + + * progmodes/python.el: New python.el merge. + (python-guess-indent): Obsolete var. + (python-indent-guess-indent-offset): New defcustom. + (python-indent): Obsolete var. + (python-indent-offset): New defcustom. + (python-python-command, python-jython-command): Delete var. + (python-shell-interpreter): New defcustom. + (python-pdbtrack-do-tracking-p): Delete var. + (python-pdbtrack-activate): New defcustom. + (python-use-skeletons): Obsolete var. + (python-skeleton-autoinsert): New defcustom. + (inferior-python-filter-regexp, python-continuation-offset) + (python-honour-comment-indentation, python-indent-string-contents) + (python-jython-packages, python-mode-hook) + (python-pdbtrack-minor-mode-string, python-remove-cwd-from-path) + (python-shell-prompt-alist) + (python-source-modes): Delete defcustoms. + (python-check-buffer-name, python-eldoc-setup-code) + (python-eldoc-string-code, python-ffap-setup-code) + (python-ffap-string-code, python-fill-comment-function) + (python-fill-decorator-function, python-fill-paren-function) + (python-fill-string-function, python-imenu-include-defun-type) + (python-imenu-make-tree, python-imenu-subtree-root-label) + (python-pdbtrack-stacktrace-info-regexp, python-shell-buffer-name) + (python-shell-compilation-regexp-alist) + (python-shell-completion-module-string-code) + (python-shell-completion-pdb-string-code) + (python-shell-completion-setup-code) + (python-shell-completion-string-code) + (python-shell-enable-font-lock, python-shell-exec-path) + (python-shell-extra-pythonpaths) + (python-shell-internal-buffer-name, python-shell-interpreter-args) + (python-shell-process-environment) + (python-shell-prompt-block-regexp) + (python-shell-prompt-output-regexp) + (python-shell-prompt-pdb-regexp, python-shell-prompt-regexp) + (python-shell-send-setup-max-wait, python-shell-setup-codes) + (python-shell-virtualenv-path): New defcustoms. + (brm-menu, eldoc-documentation-function, inferior-python-mode-map) + (inferior-python-mode-syntax-table, python--prompt-regexp) + (python-buffer, python-command python-python-command) + (python-default-template, python-imports, python-indent-index) + (python-indent-list, python-indent-list-length) + (python-mode-running, python-pdbtrack-is-tracking-p) + (python-preoutput-continuation, python-preoutput-leftover) + (python-preoutput-result, python-preoutput-skip-next-prompt) + (python-prev-dir/file, python-recursing) + (python-saved-check-command, python-version-checked) + (python-which-func-length-limit) + (view-return-to-alist): Delete vars. + (python-check-custom-command, python-dotty-syntax-table) + (python-imenu-index-alist, python-indent-current-level) + (python-indent-dedenters, python-indent-levels) + (python-nav-beginning-of-defun-regexp) + (python-nav-list-defun-positions-cache) + (python-pdbtrack-buffers-to-kill, python-pdbtrack-tracked-buffer) + (python-shell-internal-buffer) + (python-skeleton-available): New vars. + (def-python-skeleton): Delete macro. + (python-skeleton-define): New macro. + (python-define-auxiliary-skeleton, python-rx): New macros. + (python-insert-class): Delete command. + (python-skeleton-class): New command. + (python-insert-def): Delete command. + (python-skeleton-def): New command. + (python-insert-for): Delete command. + (python-skeleton-for): New command. + (python-insert-if): Delete command. + (python-skeleton-if): New command. + (python-insert-try/except, python-insert-try/finally): Delete commands. + (python-skeleton-try): New command. + (python-insert-while): Delete command. + (python-skeleton-while): New command. + (python-backspace): Delete command. + (python-indent-dedent-line-backspace): New command. + (python-electric-colon): Delete command. + (python-indent-electric-colon): New command. + (python-guess-indent): Delete command. + (python-indent-guess-indent-offset): New command. + (python-shift-left): Delete command. + (python-indent-shift-left): New command. + (python-shift-right): Delete command. + (python-indent-shift-right): New command. + (python-find-function): Delete command. + (python-nav-jump-to-defun): New command. + (python-next-statement): Delete command. + (python-nav-forward-sentence): New command. + (python-previous-statement): Delete command. + (python-nav-backward-sentence): New command. + (python-fill-paragraph): Delete command. + (python-fill-paragraph-function): New command. + (python-send-buffer): Delete command. + (python-shell-send-buffer): New command. + (python-send-defun): Delete command. + (python-shell-send-defun): New command. + (python-send-region, python-send-region-and-go): Delete commands. + (python-shell-send-region) + (python-shell-switch-to-shell): New commands. + (python-send-string): Delete command. + (python-shell-send-string): New command. + (python-switch-to-python): Delete command. + (python-shell-switch-to-shell): New command. + (python-describe-symbol): Delete command. + (python-eldoc-at-point): New command. + (python--set-prompt-regexp, python-args-to-list) + (python-after-info-look, python-check-version) + (python-check-comint-prompt, python-find-imports) + (python-execute-file, turn-off-pdbtrack, turn-on-pdbtrack) + (python-unload-function, python-expand-template) + (python-maybe-jython, python-preoutput-filter) + (python-pdbtrack-get-source-buffer) + (python-pdbtrack-grub-for-buffer, python-pdbtrack-overlay-arrow) + (python-pdbtrack-toggle-stack-tracking) + (python-pdbtrack-track-stack-file, python-initial-text) + (python-first-word, python-comment-line-p, python-send-command) + (python-setup-brm, python-sentinel, python-set-proc) + (python-skip-out, python-input-filter, python-outdent-p) + (python-outline-level, python-backslash-continuation-line-p) + (python-end-of-block, python-end-of-statement, python-mark-block) + (python-beginning-of-block, python-beginning-of-statement) + (python-blank-line-p, python-beginning-of-string) + (python-open-block-statement-p): Delete functions. + (python-indent-line, python-indent-line-1): Delete functions. + (python-indent-line): New function. + (python-indentation-levels): Delete function. + (python-indent-calculate-levels): New function. + (python-proc): Delete function. + (python-shell-get-process): New function. + (python-send-receive): Delete function. + (python-shell-send-string-no-output): New function. + (python-module-path): Delete function. + (python-ffap-module-path): New function. + (python-completion-at-point) + (python-symbol-completions): Delete functions. + (python-completion-complete-at-point): New function. + (python-load-file): Delete function. + (python-shell-send-file): New function. + (python-calculate-indentation): Delete function. + (python-indent-calculate-indentation): New function. + (python-skip-comments/blanks): Delete function. + (python-util-forward-comment): New function. + (python-continuation-line-p): Delete function. + (python-info-continuation-line-p): New function. + (python-which-func, python-current-defun): Delete function. + (python-info-current-defun): New function. + (python-beginning-of-defun): Delete function. + (python-nav-beginning-of-defun): New function. + (python-close-block-statement-p) + (python-block-end-p): Delete function. + (python-info-closing-block): New function. + (python-comint-output-filter-function) + (python-eldoc--get-doc-at-point, python-end-of-defun-function) + (python-fill-comment, python-fill-decorator, python-fill-paren) + (python-fill-string, python-imenu-make-element-tree) + (python-imenu-make-tree, python-imenu-tree-assoc) + (python-indent-context, python-indent-dedent-line) + (python-indent-line-function) + (python-indent-post-self-insert-function) + (python-indent-toggle-levels) + (python-info-assignment-continuation-line-p) + (python-info-beginning-of-backlash) + (python-info-block-continuation-line-p) + (python-info-closing-block-message) + (python-info-line-ends-backslash-p) + (python-info-looking-at-beginning-of-defun) + (python-info-ppss-context, python-info-ppss-context-type) + (python-nav-list-defun-positions, python-nav-read-defun) + (python-nav-sentence-end, python-nav-sentence-start) + (python-pdbtrack-comint-output-filter-function) + (python-pdbtrack-set-tracked-buffer) + (python-shell-calculate-exec-path) + (python-shell-calculate-process-environment) + (python-shell-completion--do-completion-at-point) + (python-shell-completion--get-completions) + (python-shell-completion-complete-at-point) + (python-shell-completion-complete-or-indent) + (python-shell-get-or-create-process) + (python-shell-get-process-name) + (python-shell-internal-get-or-create-process) + (python-shell-internal-get-process-name) + (python-shell-internal-send-string, python-shell-make-comint) + (python-shell-parse-command, python-shell-send-setup-code) + (python-skeleton-add-menu-items) + (python-util-clone-local-variables, python-util-position) + (run-python-internal, python-indentation-levels) + (python-nav-beginning-of-defun) + (python-completion-complete-at-point): New functions. + (run-python): Change arguments. New API requirements. + +2012-06-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-lib.el (cl--defsubst-expand): Autoload inliner + (bug#11649). + + * emacs-lisp/macroexp.el (macroexp--compiler-macro): New function. + (macroexp--expand-all): Use it. + + * emacs-lisp/cl-macs.el (cl--transform-function-property): Remove. + (cl-define-setf-expander, cl-deftype, cl-define-compiler-macro): + Use `cl-function' instead. + +2012-06-14 Juanma Barranquero <lekktu@gmail.com> + + * makefile.w32-in (COMPILE_FIRST): Remove subr.el. + Suggested by Stefan Monnier while discussing bug#11657. + +2012-06-14 Sam Steingold <sds@gnu.org> + + * files.el (abort-if-file-too-large): Use `file-size-human-readable'. + +2012-06-14 Andreas Schwab <schwab@linux-m68k.org> + + * play/doctor.el (doctor-doc): Remove parameter and use + doctor-sent instead of sent. + (doctor-read-print): Use doctor-sent instead of sent. (Bug#11708) + +2012-06-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el: Require cl-lib. + (file-name-non-special): Replace case -> cl-case. + + * emacs-lisp/cl-macs.el (cl-defstruct): Don't add print-func. + + * emacs-lisp/edebug.el (edebug-read-function): Remove old incorrect + mapping from #' to function*. + +2012-06-13 Chong Yidong <cyd@gnu.org> + + * mouse.el (mouse-drag-track): Do not set the mark if the user + releases the mouse without selecting anything (Bug#11588). + +2012-06-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * textmodes/tex-mode.el (latex-indent): Recognize tex-verbatim at EOB + as well (bug#11646). + + * loadup.el: Count byte-code functions as well. + + * emacs-lisp/byte-opt.el (featurep): Move compiler-macro... + * emacs-lisp/bytecomp.el (featurep): ...here (bug#11692). + + * emacs-lisp/autoload.el (make-autoload): Accept nil doc-string-elt + (bug#11649). Add cl-defun and cl-defmacro. + +2012-06-13 Drew Adams <drew.adams@oracle.com> + + * help-mode.el (help-bookmark-make-record, help-bookmark-jump): + Fix last change. + +2012-06-13 Michael Albinus <michael.albinus@gmx.de> + + * net/dbus.el (dbus-call-method): Use timeout for `read-event'. + Otherwise, it blocks in batch mode. + +2012-06-13 Juanma Barranquero <lekktu@gmail.com> + + * help-mode.el (bookmark-make-record-default): Declare. + +2012-06-13 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/package.el (list-packages): Compute a list of + packages that are newly-available since the last list-packages + invocation. + (package-menu--new-package-list): New var. + (package-menu--generate, package-menu--print-info) + (package-menu--status-predicate, package-menu-mark-install): + Handle new status label "new". + +2012-06-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl-remf): Fix error in recent + conversion to backquotes. + +2012-06-12 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings): + Rename from gud-inhibit-global-bindings. + + * emacs-lisp/eieio.el (eieio-pre-method-execution-hooks): Doc fix. + + * nxml/nxml-glyph.el (nxml-glyph-set-functions): Rename abnormal + hook from nxml-glyph-set-hook. + + * progmodes/cwarn.el (cwarn-mode): Remove redundant variable + declaration. + + * progmodes/pascal.el (pascal-toggle-completions): Doc fix. + + * textmodes/bibtex.el (bibtex-string-file-path, bibtex-file-path): + Convert to defcustom. + +2012-06-12 Drew Adams <drew.adams@oracle.com> + + * help-mode.el (help-bookmark-make-record, help-bookmark-jump): + New functions. + (help-mode): Use them. + +2012-06-11 Glenn Morris <rgm@gnu.org> + + * progmodes/fortran.el (fortran-font-lock-keywords-3): + Use preprocessor face for directives. + (fortran-directive-re): Doc fix. + +2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl-parse-loop-clause): Fix error in recent + conversion to backquotes (bug#11652). + + Fix compiler-expansion of CL's cXXr functions (bug#11673). + * emacs-lisp/cl-lib.el (cl--defalias): New function. + (cl-values, cl-values-list, cl-copy-seq, cl-svref, cl-first) + (cl-second, cl-rest, cl-endp, cl-third, cl-fourth): Use it. + (cl-plusp, cl-minusp, cl-fifth, cl-sixth, cl-seventh, cl-eighth) + (cl-ninth, cl-tenth): Mark them as inlinable. + (cl-caaar, cl-caadr, cl-cadar, cl-caddr, cl-cdaar, cl-cdadr) + (cl-cddar, cl-cdddr, cl-caaaar, cl-caaadr, cl-caadar, cl-caaddr) + (cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr, cl-cdaaar, cl-cdaadr) + (cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr, cl-cdddar, cl-cddddr): + Add a compiler-macro declaration to use cl--compiler-macro-cXXr. + (cl-list*, cl-adjoin): Don't put an autoload manually. + * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin) + (cl--compiler-macro-list*): Add autoload cookie. + (cl--compiler-macro-cXXr): New function. + + * help-fns.el (help-fns--compiler-macro): New function extracted from + describe-function-1; follow aliases and use `compiler-macro' property. + (describe-function-1): Use it. + +2012-06-11 Chong Yidong <cyd@gnu.org> + + * startup.el (fancy-splash-head): Use splash.svg even if librsvg + is uninstalled, if imagemagick is installed. + +2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-lib.el: Use lexical-binding. + (cl-map-extents, cl-maclisp-member): Remove. + (cl--set-elt, cl--set-nthcdr, cl--set-buffer-substring) + (cl--set-substring, cl--block-wrapper, cl--block-throw) + (cl--compiling-file, cl--mapcar-many, cl--do-subst): Use "cl--" prefix. + * emacs-lisp/cl-extra.el: Use lexical-binding. + (cl--mapcar-many, cl--map-keymap-recursively, cl--map-intervals) + (cl--map-overlays, cl--set-frame-visible-p, cl--progv-save) + (cl--progv-before, cl--progv-after, cl--finite-do, cl--set-getf) + (cl--do-remf, cl--do-prettyprint): Use "cl--" prefix. + * emacs-lisp/cl-seq.el: Use lexical-binding. + (cl--parsing-keywords, cl--check-key, cl--check-test-nokey) + (cl--check-test, cl--check-match): Use "cl--" prefix and backquotes. + (cl--alist, cl--sublis-rec, cl--nsublis-rec, cl--tree-equal-rec): + * emacs-lisp/cl-macs.el (cl--lambda-list-keywords): Use "cl--" prefix. + * edmacro.el (edmacro-mismatch): Simplify to remove dependence on + CL's internals. + +2012-06-11 Michael Albinus <michael.albinus@gmx.de> + + Sync with Tramp 2.2.6-pre. + + * net/tramp-cache.el (tramp-dump-connection-properties): Let-bind + `print-length' and `print-level' to nil, in order to avoid + truncation. Reported by Christopher Schmidt + <christopher@ristopher.com>. + + * net/tramp-cmds.el (tramp-cleanup-connection): Delete also process. + + * net/tramp-compat.el (tramp-compat-condition-case-unless-debug): + New defmacro. + (tramp-compat-copy-directory): Add optional argument + COPY-CONTENTS. It is not handled yet. + + * net/tramp-ftp.el (tramp-disable-ange-ftp): Fix docstring. + (tramp-ftp-file-name-p): Simplify. + + * net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): + * net/tramp-gw.el (tramp-gw-open-connection): Add hop to + connection vector. + + * net/tramp-sh.el (tramp-copy-size-limit): Fix docstring. + (tramp-methods): Do not use `tramp-password-end-of-line'. + (tramp-completion-function-alist-putty): Handle UNIX case. + (tramp-remote-path): Add "/opt/bin", "/opt/sbin" and "/opt/local/bin". + (tramp-do-file-attributes-with-stat) + (tramp-do-directory-files-and-attributes-with-stat) Return uid and + gid as real numbers. They could run out of integer range on cygwin. + (tramp-do-copy-or-rename-file-out-of-band): Better trace format. + (tramp-sh-handle-expand-file-name): Handle hops. + (tramp-open-connection-setup-interactive-shell): + Use `tramp-cleanup'. Move check for busyboxes ... + (tramp-find-shell): ... here. Simplify implementation. + Set "remote-shell" property also for alternative shells. + (tramp-remote-coding-commands): Check "test -c /dev/stdout". + If failing, a regular file would be written otherwise. + Reported by Dmitry Kurochkin <dmitry.kurochkin@gmail.com>. + (tramp-find-inline-encoding): Cache the coding commands in the + process cache. Apply test command on the remote side, if defined. + (tramp-find-inline-compress): Cache the compress commands in the + process cache. + (tramp-compute-multi-hops): Save `tramp-default-proxies-alist' + when requested. Handle hops. + (tramp-current-connection): New defvar. + (tramp-maybe-open-connection): Use `tramp-cleanup'. + Throw `suppress', if there was a failed connection shortly before. + Handle user interrupt. (Bug#10187) + (tramp-get-inline-compress, tramp-get-inline-coding): + Read connection properties from the process cache. + + * net/tramp-smb.el (tramp-smb-server-version) + (tramp-smb-wrong-passwd-regexp, tramp-smb-actions-with-tar): + New defconsts. + (tramp-smb-prompt): Extend for powershell prompt. + (tramp-smb-file-name-handler-alist): Add handlers for + `process-file', `shell-command' and `start-file-process'. + (tramp-smb-winexe-program, tramp-smb-winexe-shell-command) + (tramp-smb-winexe-shell-command-switch): New defcustoms. + (tramp-smb-file-name-p): Simplify. + (tramp-smb-action-with-tar, tramp-smb-handle-process-file) + (tramp-smb-kill-winexe-function, tramp-smb-call-winexe) + (tramp-smb-shell-quote-argument): New defuns. + (tramp-smb-handle-copy-directory): Add COPY-CONTENTS argument. + Implement using "tar". By this, time-stamps are preserved. + (tramp-smb-handle-copy-file): Handle also the case of directories. + (tramp-smb-do-file-attributes-with-stat) + (tramp-smb-get-file-entries, tramp-smb-get-cifs-capabilities): + Use `tramp-get-connection-buffer'). + (tramp-smb-handle-rename-file): Use "rename", when source and + target are on the same share. + (tramp-smb-maybe-open-connection): Handle wrong passwords. + Use `tramp-smb-server-version'. + (tramp-smb-wait-for-output): Remove prompt. + + * net/tramp.el (top): Require 'cl. + (tramp-methods, tramp-rsh-end-of-line): + Remove `tramp-password-end-of-line' from docstring. + (tramp-save-ad-hoc-proxies): New defcustom. + (tramp-completion-function-alist): Adapt docstring. + (tramp-default-password-end-of-line): Remove defcustom. + (tramp-shell-prompt-pattern): Allow "[]" style prompts. (Bug#11065) + (tramp-user-regexp, tramp-file-name-regexp-unified) + (tramp-file-name-regexp-url): Extend regexp by hop separator. + (tramp-postfix-hop-format, tramp-postfix-hop-regexp) + (tramp-remote-file-name-spec-regexp): New defconst. + (tramp-file-name-structure): Extend structure for hops. + (tramp-get-method-parameter): Move up. + (tramp-file-name-p, tramp-dissect-file-name) + (with-parsed-tramp-file-name): Handle hops. + (tramp-file-name-hop): New defun. + (tramp-make-tramp-file-name): New optional arg HOP. + (tramp-message-show-progress-reporter-message): New defvar. + (tramp-with-progress-reporter): Use it. We cannot use + `tramp-message-show-message' here, because this suppresses also + error buffers. + (tramp-error-with-buffer): Suppress buffer view, if + `tramp-message-show-message' is nil. + Use `tramp-get-connection-buffer'. + (tramp-cleanup): New defun. + (tramp-rfn-eshadow-update-overlay): Let-bind `non-essential' to `t'. + (tramp-file-name-handler): If `debug-on-error' is set, propagate + an error unchanged. + (tramp-completion-handle-file-name-all-completions): Handle hops. + Fix an error when called from ido. + (tramp-completion-dissect-file-name): Use better local variable + name. Add hop to the vector. + (tramp-handle-insert-file-contents): Use progress-reporter for the + whole scenario. + (tramp-action-password): Let-bind `enable-recursive-minibuffers' + to `t'. + (tramp-check-for-regexp): Simplify search. + (tramp-enter-password): Remove it. Move implementation ... + (tramp-action-password): ... here. + (tramp-mode-string-to-int, tramp-local-host-p) + (tramp-make-tramp-temp-file, tramp-read-passwd) + (tramp-clear-passwd, tramp-time-less-p, tramp-time-diff): + Set tramp-autoload cookie. + + * net/trampver.el: Update release number. + +2012-06-11 Thierry Volpiatto <thierry.volpiatto@gmail.com> + Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-set-completion-function): Fix docstring. + (tramp-parse-group, tramp-parse-file) + (tramp-parse-shostkeys-sknownhosts): New defuns. + (tramp-parse-rhosts, tramp-parse-rhosts-group, tramp-parse-shosts) + (tramp-parse-shosts-group, tramp-parse-sconfig) + (tramp-parse-sconfig-group, tramp-parse-shostkeys) + (tramp-parse-sknownhosts, tramp-parse-hosts) + (tramp-parse-hosts-group, tramp-parse-passwd, tramp-parse-netrc): + Use them. + (tramp-parse-passwd-group, tramp-parse-netrc-group) + (tramp-parse-putty-group): Don't narrow. + (tramp-parse-putty): Make a loop. + (tramp-file-name-handler): Catch the `suppress' signal. + +2012-06-11 Chong Yidong <cyd@gnu.org> + + * image.el (imagemagick-register-types): Put the ImageMagick entry + at the end of image-type-file-name-regexps. + +2012-06-11 Johan BockgÃ¥rd <bojohan@gnu.org> + + * emacs-lisp/pcase.el (pcase-UPAT, pcase-QPAT): New edebug specs. + (pcase, pcase-let*, pcase-dolist): Use them. + +2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/pcase.el (pcase--let*): New function. + (pcase-let*): Use it. Use pcase--memoize to avoid repeated expansions. + (pcase--expand): Use macroexp-let². + +2012-06-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/timer.el, emacs-lisp/syntax.el, emacs-lisp/smie.el: + * emacs-lisp/ewoc.el, emacs-lisp/cconv.el, emacs-lisp/bytecomp.el: + * emacs-lisp/byte-opt.el, emacs-lisp/autoload.el: Convert to cl-lib. + * emacs-lisp/easymenu.el, emacs-lisp/easy-mmode.el: + * emacs-lisp/derived.el: Use pcase instead of `cl'. + * emacs-lisp/cl-lib.el: Get rid of special cl-macs auto load. + +2012-06-10 Glenn Morris <rgm@gnu.org> + + * mail/rmail.el (rmail-yank-current-message): Leave point at + correct position. (Bug#11660) + +2012-06-10 Chong Yidong <cyd@gnu.org> + + * allout-widgets.el: Fix code header. + +2012-06-10 Chong Yidong <cyd@gnu.org> + + * cus-edit.el (customize-changed-options-previous-release): + Bump to 24.1. + +2012-06-09 Andreas Schwab <schwab@linux-m68k.org> + + * Makefile.in (BIG_STACK_DEPTH): Enlarge to 2200. + +2012-06-09 Chong Yidong <cyd@gnu.org> + + * ebuff-menu.el (electric-buffer-list): Preserve header line. + +2012-06-09 Martin Rudalics <rudalics@gmx.at> + + * window.el (special-display-popup-frame): Don't use + window--display-buffer (Bug#11651). + +2012-06-09 Eli Zaretskii <eliz@gnu.org> + + Fix parallel builds: make sure loaddefs.el is not being written + while Lisp files are compiled. + (compile): Don't depend on 'mh-autoloads'. + (compile-CMD, compile-SH): Depend on 'autoloads'. + (bootstrap): Don't depend on 'autoloads' and 'mh-autoloads'. + + * makefile.w32-in (BIG_STACK_DEPTH): Enlarge to 2200. (Bug#11649) + +2012-06-09 Chong Yidong <cyd@gnu.org> + + * face-remap.el (face-remap-add-relative, face-remap-set-base) + (buffer-face-set, buffer-face-toggle, buffer-face-mode-invoke): + Doc fixes (Bug#11225). + +2012-06-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/macroexp.el (macroexp--expand-all): Only autoload + a function if there's a clear indication that it has a compiler-macro. + * emacs-lisp/byte-run.el (defun-declarations-alist, defmacro, defun) + (macro-declarations-alist): Add arglist to declaration functions. + (defun-declarations-alist): Add `obsolete' and `compiler-macro'. + * emacs-lisp/cl-seq.el (cl-member, cl-assoc): + * emacs-lisp/cl-lib.el (cl-list*, cl-adjoin): + * emacs-lisp/cl-extra.el (cl-get): Use the new `declare' statement. + Also add autoload to find the compiler macro. + * emacs-lisp/cl-macs.el (eql) [compiler-macro]: Remove. + (cl--compiler-macro-member, cl--compiler-macro-assoc) + (cl--compiler-macro-adjoin, cl--compiler-macro-list*) + (cl--compiler-macro-get): New functions, replacing calls to + cl-define-compiler-macro. + (cl-typep) [compiler-macro]: Use macroexp-let². + +2012-06-08 Nick Dokos <nicholas.dokos@hp.com> (tiny change) + + * calendar/icalendar.el (icalendar--parse-vtimezone): Import TZID + string properly, fixes Bug#11473. + +2012-06-08 Chong Yidong <cyd@gnu.org> + + * faces.el (set-face-attribute): Doc fix. + (modify-face): Don't use :bold and :italic. + (error, warning, success): Tweak definitions. + + * cus-edit.el (custom-modified, custom-invalid, custom-rogue) + (custom-modified, custom-set, custom-changed, custom-themed) + (custom-saved, custom-button, custom-button-mouse) + (custom-button-pressed, custom-state, custom-comment-tag) + (custom-variable-tag, custom-group-tag-1, custom-group-tag) + (custom-group-subtitle): Use new-style face specs. + (custom-invalid-face, custom-rogue-face, custom-modified-face) + (custom-set-face, custom-changed-face, custom-saved-face) + (custom-button-face, custom-button-pressed-face) + (custom-documentation-face, custom-state-face) + (custom-comment-face, custom-comment-tag-face) + (custom-variable-tag-face, custom-variable-button-face) + (custom-face-tag-face, custom-group-tag-face-1) + (custom-group-tag-face): Remove obsolete face alias. + + * epa.el (epa-validity-high, epa-validity-medium) + (epa-validity-low, epa-mark, epa-field-name, epa-string) + (epa-field-name, epa-field-body): + * font-lock.el (font-lock-comment-face, font-lock-string-face) + (font-lock-keyword-face, font-lock-builtin-face) + (font-lock-function-name-face, font-lock-variable-name-face) + (font-lock-type-face, font-lock-constant-face): + * ido.el (ido-first-match, ido-only-match, ido-subdir) + (ido-virtual, ido-indicator, ido-incomplete-regexp): + * speedbar.el (speedbar-button-face, speedbar-file-face) + (speedbar-directory-face, speedbar-tag-face) + (speedbar-selected-face, speedbar-highlight-face) + (speedbar-separator-face): + * whitespace.el (whitespace-newline, whitespace-space) + (whitespace-hspace, whitespace-tab, whitespace-trailing) + (whitespace-line, whitespace-space-before-tab) + (whitespace-space-after-tab, whitespace-indentation) + (whitespace-empty): + * emulation/cua-base.el (cua-global-mark): + * eshell/em-prompt.el (eshell-prompt): + * net/newst-plainview.el (newsticker-new-item-face) + (newsticker-old-item-face, newsticker-immortal-item-face) + (newsticker-obsolete-item-face, newsticker-date-face) + (newsticker-statistics-face, newsticker-default-face): + * net/newst-reader.el (newsticker-feed-face) + (newsticker-extra-face, newsticker-enclosure-face): + * net/newst-treeview.el (newsticker-treeview-face) + (newsticker-treeview-new-face, newsticker-treeview-old-face) + (newsticker-treeview-immortal-face) + (newsticker-treeview-obsolete-face) + (newsticker-treeview-selection-face): + * net/rcirc.el (rcirc-my-nick, rcirc-other-nick) + (rcirc-bright-nick, rcirc-server, rcirc-timestamp) + (rcirc-nick-in-message, rcirc-nick-in-message-full-line) + (rcirc-prompt, rcirc-track-keyword, rcirc-url, rcirc-keyword): + * nxml/nxml-outln.el (nxml-heading, nxml-outline-indicator) + (nxml-outline-active-indicator, nxml-outline-ellipsis): + * play/mpuz.el (mpuz-unsolved, mpuz-solved, mpuz-trivial) + (mpuz-text): + * progmodes/vera-mode.el (vera-font-lock-number) + (vera-font-lock-function, vera-font-lock-interface): + * textmodes/table.el (table-cell): Use new-style face specs, and + don't use the old :bold and :italic attributes. + + * progmodes/ebrowse.el (ebrowse-tree-mark, ebrowse-root-class) + (ebrowse-member-attribute, ebrowse-default, ebrowse-file-name) + (ebrowse-member-class, ebrowse-progress): Likewise. + (ebrowse-tree-mark-face, ebrowse-root-class-face) + (ebrowse-file-name-face, ebrowse-default-face) + (ebrowse-member-attribute-face, ebrowse-member-class-face) + (ebrowse-progress-face): Remove obsolete faces. + + * progmodes/flymake.el (flymake-errline, flymake-warnline): + Inherit from error and warning faces respectively. + + * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate): + Likewise. + (flyspell-incorrect-face, flyspell-duplicate-face): + Remove obsolete aliases. + +2012-06-08 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-compat.el (tramp-compat-temporary-file-directory): + Avoid infloop. + +2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * startup.el (argv, argi): Make lexically scoped. + * emacs-lisp/float-sup.el (pi): Use internal-make-var-non-special. + * emacs-lisp/cl-macs.el: Use lexical-binding. + Rename cl-bind-* to cl--bind-*. + * files.el: Don't require `cl' since it doesn't use it. + * emacs-lisp/pcase.el, emacs-lisp/macroexp.el: Add coding cookie. + +2012-06-08 Juanma Barranquero <lekktu@gmail.com> + + * textmodes/texinfmt.el: Fix bug#11640 (reverts part of 2008-07-31T05:33:56Z!dann@ics.uci.edu). + (texinfo-format-printindex): Use `texinfo-sort-region' in all platforms, + instead of calling external sort utility. + (texinfo-sort-region, texinfo-sort-startkeyfun): Restore functions. + +2012-06-08 Eli Zaretskii <eliz@gnu.org> + + * descr-text.el (describe-char): Mention how to insert the + character, if the current input method doesn't support it. + See the discussion in this thread for the details: + http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00533.html. + +2012-06-08 Sam Steingold <sds@gnu.org> + + * bindings.el (global-map): Bind XF86Forward to next-buffer and + XF86Back to previous-buffer. + (minibuffer-local-map): Bind them to next-history-element and + previous-history-element respectively. + * help-mode.el (help-mode-map): Bind them to help-go-forward and + help-go-back respectively. + * info.el (Info-mode-map): Bind them to Info-history-forward and + Info-history-back respectively. + These are the keys next to Up on the ThinkPad keyboard. + +2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca> + + Get rid of cl-lexical-let, keeping only lexical-let for compatibility. + * emacs-lisp/cl-macs.el: Provide itself. + (cl--labels-convert-cache): New var. + (cl--labels-convert): New function. + (cl-flet, cl-labels): New implementation with new semantics, relying on + lexical-binding. + * emacs-lisp/cl.el: Mark compatibility aliases as obsolete. + (cl-closure-vars, cl--function-convert-cache) + (cl--function-convert): Move from cl-macs.el. + (lexical-let, lexical-let*, flet, labels): Move from cl-macs.el and + rename by removing the "cl-" prefix. + * emacs-lisp/macroexp.el (macroexp-unprogn): New function. + +2012-06-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl.el (cl-macroexpand, cl-macro-environment) + (cl-macroexpand-all, cl-not-hash-table, cl-builtin-gethash) + (cl-builtin-remhash, cl-builtin-clrhash, cl-builtin-maphash) + (cl-map-keymap, cl-copy-tree, cl-gethash, cl-puthash, cl-remhash) + (cl-clrhash, cl-maphash, cl-make-hash-table, cl-hash-table-p) + (cl-hash-table-count): Add old compatibility aliases. + + * emacs-lisp/cl-macs.el (cl-macro-environment): Remove var. + Use macroexpand-all-environment instead. + (cl--old-macroexpand): New var. + (cl--sm-macroexpand): New function. + (cl-symbol-macrolet): Use it during macro expansion. + (cl--function-convert-cache): New var. + (cl--function-convert): New function, extracted from + cl-macroexpand-all. + (cl-lexical-let): Use it. + + * emacs-lisp/cl-lib.el (cl-macro-environment): Remove decl. + (cl-macroexpand): Move to cl-macs.el and rename to cl--sm-macroexpand. + (cl-member): Remove old alias. + + * emacs-lisp/cl-extra.el (cl-map-keymap, cl-copy-tree) + (cl-not-hash-table, cl-builtin-gethash, cl-builtin-remhash) + (cl-builtin-clrhash, cl-builtin-maphash, cl-gethash, cl-puthash) + (cl-remhash, cl-clrhash, cl-maphash, cl-make-hash-table) + (cl-hash-table-p, cl-hash-table-count): Move to cl.el. + (cl-macroexpand-cmacs): Remove var. + (cl-macroexpand-all, cl-macroexpand-body): Remove funs. + Use macroexpand-all instead. + +2012-06-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*, macroexp-if) + (macroexp-let², macroexp--const-symbol-p, macroexp-const-p) + (macroexp-copyable-p): New functions and macros. + * emacs-lisp/edebug.el (edebug-unwrap): + * emacs-lisp/disass.el (disassemble-internal): Use macroexp-progn. + * emacs-lisp/pcase.el: Use macroexp-let*, macroexp-if, ... + (pcase--let*): Remove. + * emacs-lisp/bytecomp.el (byte-compile-const-symbol-p) + (byte-compile-constp): Remove. Use macroexp--const-symbol-p and + macroexp-const-p instead. + * emacs-lisp/byte-opt.el: Use macroexp-const-p and macroexp-progn. + + * emacs-lisp/cl-macs.el: Clean up the name space by using "cl--" + instead of "cl-" for internal definitions. Use macroexp-const-p. + (cl-old-bc-file-form): Remove var. + (cl-const-exprs-p): Remove fun. + (cl-labels, cl-macrolet): Use backquote. + (cl-lexical-let): Use cl-symbol-macrolet. Don't use cl-defun-expander. + (cl-defun-expander, cl-byte-compile-compiler-macro): Remove fun. + (cl-define-setf-expander): Rename from cl-define-setf-method. + * emacs-lisp/cl.el: Adjust alias for define-setf-method. + + * international/mule-cmds.el: Don't require CL. + (view-hello-file): Don't use `letf'. + +2012-06-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * tmm.el (tmm-prompt): Use string-prefix-p. + (tmm-completion-delete-prompt): Don't affect current-buffer outside. + (tmm-add-prompt): Use minibuffer-completion-help. + (tmm-delete-map): Remove. + + * subr.el (kbd): Make it its own function. + +2012-06-07 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Use `eval-when-compile' for requiring `cl.el'. + Silence compiler warnings. Fix versions. + (rst-position-if, rst-position, rst-some, rst-signum): New functions. + (rst-shift-region, rst-adornment-level, rst-compute-tabs) + (rst-indent-line, rst-shift-region, rst-forward-line): Use them. + (rst-package-emacs-version-alist): Correct Emacs version to + represent major merge with upstream. + (rst-transition, rst-adornment, rst-compile-toolsets): Fix versions. + +2012-06-06 Glenn Morris <rgm@gnu.org> + + * mail/emacsbug.el (report-emacs-bug): Add relevant EMACS env-vars. + Only print environment variables if set. + +2012-06-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/macroexp.el: Don't require CL since we don't use it. + (macroexp--cons): Rename from maybe-cons. + (macroexp--accumulate): Rename from macroexp-accumulate. + (macroexp--all-forms): Rename from macroexpand-all-forms. + (macroexp--all-clauses): Rename from macroexpand-all-clauses. + (macroexp--expand-all): Rename from macroexpand-all-1. + +2012-06-06 Sam Steingold <sds@gnu.org> + + * calendar/calendar.el (calendar-in-read-only-buffer): + Call `special-mode' to enable the standard read-only keybindings. + +2012-06-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/macroexp.el (macroexpand-all-1): Don't spam the output + with "loading" messages (bug#11635). + +2012-06-06 Michael Albinus <michael.albinus@gmx.de> + + * files.el (enable-remote-dir-locals): New option. + (hack-dir-local-variables): Use it. (Bug#1933, Bug#6731) + + * net/tramp-compat.el (tramp-compat-temporary-file-directory): + Ensure, that the temp directory is local. + + * net/tramp-sh.el (tramp-sh-handle-write-region): Let-bind + `temporary-file-directory'. + + * progmodes/python.el (python-send-region): Ensure, that the + temporary file is created also in the remote case. + +2012-06-06 Glenn Morris <rgm@gnu.org> + + * vc/vc-rcs.el (vc-rcs-rcs2log-program): New. + (vc-rcs-update-changelog): Use it. + + * emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff. + + * vc/vc-sccs.el (vc-sccs-write-revision): New function. + (vc-sccs-workfile-unchanged-p): Use vc-sccs-write-revision. + (vc-sccs-diff): Replace use of the external vcdiff script. + +2012-06-05 Glenn Morris <rgm@gnu.org> + + * ledit.el: Move to obsolete/. + +2012-06-05 Sam Steingold <sds@gnu.org> + + * calendar/calendar.el (calendar-exit): Reinstate the 2012-03-28 + patch (Bug#11140). + +2012-06-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cust-print.el: Move to obsolete. + + * emacs-lisp/macroexp.el (macroexpand-all-1): Tolerate errors during + compiler-macro expansion. + + Add native compiler-macro support. + * emacs-lisp/macroexp.el (macroexpand-all-1): + Support compiler-macros directly. Properly follow aliases and apply + the compiler macros more thoroughly. + * emacs-lisp/cl.el: Don't copy compiler-macro properties any more since + macroexpand now properly follows aliases. + * emacs-lisp/cl-macs.el (toplevel, cl-define-compiler-macro) + (cl-compiler-macroexpand): Use new prop. + * emacs-lisp/byte-opt.el (featurep): Optimize earlier. + + * emacs-lisp/cl-lib.el (custom-print-functions): Add alias. + +2012-06-05 Martin Rudalics <rudalics@gmx.at> + + * window.el (get-lru-window, get-mru-window, get-largest-window): + New argument NOT-SELECTED to avoid picking the selected window. + (window--display-buffer-1, window--display-buffer-2): Replace by + new function window--display-buffer + (display-buffer-same-window, display-buffer-reuse-window) + (display-buffer-pop-up-frame, display-buffer-pop-up-window): + Use window--display-buffer. + (display-buffer-use-some-window): Remove temporary dedication + hack by calling get-lru-window and get-largest-window with + NOT-SELECTED argument non-nil. Call window--display-buffer. + +2012-06-05 Glenn Morris <rgm@gnu.org> + + * vc/vc-sccs.el (vc-sccs-workfile-unchanged-p): + Replace external vcdiff script. + +2012-06-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-lib.el (cl-values, cl-values-list): Fix up last change. + +2012-06-04 Chong Yidong <cyd@gnu.org> + + * image.el (imagemagick-types-inhibit): Revert last change. + Add INFO and M. + (imagemagick-enabled-types): Remove CIN and EPS*. + +2012-06-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-lib.el: Rename from cl.el. + * emacs-lisp/cl.el: New compatibility file. + * emacs-lisp/cl-lib.el, emacs-lisp/cl-seq.el, emacs-lisp/cl-macs.el: + * emacs-lisp/cl-extra.el: Rename all top-level functions and variables + to obey the "cl-" prefix. + * emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name. + +2012-06-03 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-aliases): Addition. + + * cus-start.el (tool-bar-style, tool-bar-max-label-size): + Fix :version. + +2012-06-03 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Add comments. + (rst-transition, rst-adornment): New faces. + (rst-adornment-faces-alist): Make default safe to reevaluate. + Fixes + http://sourceforge.net/tracker/?func=detail&atid=422030&aid=3479603&group_id=38414. + Improve customization tags. + (rst-define-level-faces): Clarify meaning. + +2012-06-03 Chong Yidong <cyd@gnu.org> + + * progmodes/compile.el (compilation-mode-line-fail) + (compilation-mode-line-run, compilation-mode-line-exit): + New faces. + (compilation-start, compilation-handle-exit): Use them (Bug#11032). + +2012-06-03 Jack Duthen <duthen.mac.01@gmail.com> (tiny change) + + * progmodes/which-func.el (which-func-update-ediff-windows): + New function. Use it in ediff-select-hook (Bug#11478). + +2012-06-03 Chong Yidong <cyd@gnu.org> + + * bindings.el: Remove explicit help text from format-mode-line. + It is now supplied by mode-line-default-help-echo. + (mode-line-front-space, mode-line-end-spaces) + (mode-line-misc-info): New variables. + (mode-line-modes, mode-line-position): Move the default value to + the variable definition. + (mode-line-default-help-echo): New defcustom. + (mode-line-mule-info-help-echo, mode-line-read-only-help-echo) + (mode-line-modified-help-echo): New functions. + (mode-line-mule-info, mode-line-modified): Use them. + (mode-line-eol-desc, propertized-buffer-identification): + Consistency fixes for help text. + (mode-line-coding-system-map): Allow using mouse-3 to invoke + set-buffer-file-coding-system (Bug#289). + (mode-line-mule-info-help-echo): Update help text. + +2012-06-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (execute-extended-command): Set real-this-command + (bug#11506). + +2012-06-02 Chong Yidong <cyd@gnu.org> + + Remove incorrect uses of "modeline" in comments, docstrings, and + function/variable names (Bug#10329). + + * cus-edit.el (mode-line): + * dframe.el (dframe-mouse-hscroll): + * emacs-lisp/re-builder.el: + * emacs-lisp/easy-mmode.el (define-minor-mode): + * frame.el (set-frame-name): + * help.el (lookup-minor-mode-from-indicator): + * net/rcirc.el (rcirc-activity-string, rcirc-short-buffer-name): + * progmodes/cc-cmds.el (c-toggle-auto-newline) + (c-toggle-hungry-state): + * progmodes/antlr-mode.el (antlr-language-alist): + * progmodes/idlw-shell.el (idlwave-shell-electric-stop-line-face): + * progmodes/vhdl-mode.el (vhdl-mode): + * progmodes/which-func.el (which-func, which-func-cleanup-function): + * term/ns-win.el (ns-face-at-pos): + * term/sup-mouse.el (sup-mouse-report): + * textmodes/flyspell.el (flyspell-mode-line-string): + * textmodes/ispell.el (ispell-highlight-face): + * textmodes/reftex-global.el: + * vc/vc-arch.el (vc-arch-mode-line-string): + * vc/vc-cvs.el (vc-cvs-mode-line-string): + * vc/vc-git.el (vc-git-mode-line-string): + * vc/vc-hooks.el (vc-display-status) + (vc-default-mode-line-string): + * vc/vc-mtn.el (vc-mtn-mode-line-string): Doc fixes. + + * ansi-color.el (ansi-color-faces-vector): Change default faces. + + * dired.el (dired-sort-set-mode-line): Rename from + dired-sort-set-modeline. All callers changed. + + * eshell/esh-mode.el (eshell-status-in-mode-line): Rename from + eshell-status-in-modeline. + + * foldout.el (foldout-mode-line-string): Rename from + foldout-modeline-string. All callers changed. + (foldout-update-mode-line): Rename from foldout-update-modeline. + + * subr.el (redraw-modeline): Make into obsolete alias. + + * calendar/timeclock.el (timeclock-mode-line-display): Rename from + timeclock-modeline-display. Make old name an alias. + (timeclock-update-mode-line): Likewise. All callers changed. + (timeclock-mode-line-display): No need to check before using + add-hook. + (timeclock-relative, timeclock-day-over-hook) + (timeclock-use-elapsed, timeclock-mode-string) + (timeclock-mode-line-display): Doc fix, "modeline" -> "mode line". + + * emulation/crisp.el (crisp-mode-mode-line-string): Rename from + crisp-mode-modeline-string. + + * play/solitaire.el (solitaire-build-mode-line): Rename from + solitaire-build-modeline. All callers changed. + + * play/zone.el (zone-hiding-mode-line): Rename from + zone-hiding-modeline. All callers changed. + (zone): Remove unusued `modeline-hidden-level' property. + + * progmodes/xscheme.el (xscheme-mode-line-initialize): Rename from + xscheme-modeline-initialize. All callers changed. + + * strokes.el (strokes-lighter): Rename from + strokes-modeline-string. + + * textmodes/sgml-mode.el (html-face-tag-alist) + (html-tag-face-alist): Use mode-line face instead of obsolete + alias modeline. + +2012-06-02 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Always require `cl'. + (rst-mode-map): Fix meaning of C-M-a / C-M-e. + +2012-06-02 Chong Yidong <cyd@gnu.org> + + * image.el (imagemagick-enabled-types): Rename from + imagemagick-types-enable. Add many more types. + (imagemagick-types-inhibit): Change default to nil. + (imagemagick-filter-types): Caller changed. + +2012-06-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el: Use backquotes. + (cl-transform-function-property): Use eval-and-compile rather than + abusing `require'. + (defstruct): Use declare-function instead of with-no-warnings. + + * emacs-lisp/bytecomp.el: Fix last change (bug#11594). + (byte-compile-output-docform): Re-add the print-circle bindings. + (byte-compile-fix-header): Use #$ just because it's shorter. + (byte-compile-output-file-form): Remove defun/defmacro. + +2012-06-01 Martin Rudalics <rudalics@gmx.at> + + * simple.el (choose-completion): Remove now obsolete binding for + owindow. + +2012-06-01 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-check-for-regexp): Search from buffer end, + in order to avoid "Stack overflow in regexp matcher". + +2012-05-31 Glenn Morris <rgm@gnu.org> + + * image.el: For clarity, call imagemagick-register-types at + top-level, rather than relying on a custom :initialize. + (imagemagick-types-enable): New option. (Bug#11557) + (imagemagick-filter-types): New function. (Bug#7406) + (imagemagick-register-types): Use imagemagick-filter-types. + If disabling support, remove elements altogether rather + than using an impossible regexp. + (imagemagick-types-inhibit): Give it the default init function. + +2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (byte-compile-fix-header): + Handle arbitrary file name lengths (Bug#11585). + +2012-05-31 Martin Rudalics <rudalics@gmx.at> + + * desktop.el (desktop-read): Clear previous and next buffers for + all windows and bury *Messages* buffer (bug#11556). + +2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca> + + Add `declare' for `defun'. Align `defmacro's with it. + * emacs-lisp/easy-mmode.el (define-minor-mode) + (define-globalized-minor-mode): Don't autoload the var definitions. + * emacs-lisp/byte-run.el: Use lexical-binding. + (defun-declarations-alist, macro-declarations-alist): New vars. + (defmacro, defun): Use them. + (make-obsolete, define-obsolete-function-alias) + (make-obsolete-variable, define-obsolete-variable-alias): + Use `declare'. + (macro-declaration-function): Mark obsolete. + * emacs-lisp/autoload.el: Use lexical-binding. + (make-autoload): Add `expansion' arg. Rely more on macro expansion. + +2012-05-30 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-with-no-warnings): + Define as a macro. + (ispell-kill-ispell, ispell-change-dictionary): + Use `called-interactively-p' for Emacs instead of obsolete + `interactive-p'. + +2012-05-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/byte-run.el (defmacro, defun): Move from C. + (macro-declaration-function): Move var from C code. + (macro-declaration-function): Define function with defalias. + * emacs-lisp/macroexp.el (macroexpand-all-1): + * emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): + * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle + defun/defmacro any more. + * emacs-lisp/bytecomp.el (byte-compile-arglist-signature): + Provide fallback for unknown arglist. + (byte-compile-arglist-warn): Change calling convention. + (byte-compile-output-file-form): Move print-vars binding. + (byte-compile-output-docform): Simplify accordingly. + (byte-compile-file-form-defun, byte-compile-file-form-defmacro) + (byte-compile-defmacro-declaration): Remove. + (byte-compile-file-form-defmumble): Generalize to defalias. + (byte-compile-output-as-comment): Return byte-positions. + Simplify callers accordingly. + (byte-compile-lambda): Use `assert'. + (byte-compile-defun, byte-compile-defmacro): Remove. + (byte-compile-file-form-defalias): + Use byte-compile-file-form-defmumble. + (byte-compile-defalias-warn): Remove. + +2012-05-29 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Silence `checkdoc-ispell' errors where + possible. Fix authors. Improve comments. Improve loading of `cl'. + + (rst-mode-abbrev-table): Merge definition. + (rst-mode): Make sure `font-lock-defaults' is buffer local. + (rst-define-key, rst-deprecated-keys, rst-call-deprecated): Refactor. + +2012-05-29 Ulf Jasper <ulf.jasper@web.de> + + * calendar/icalendar.el + (icalendar-export-region): Export UID properly. + +2012-05-29 Leo Liu <sdl.web@gmail.com> + * calendar/icalendar.el (icalendar-import-format): + Add `icalendar-import-format-uid' (Bug#11525). + (icalendar-import-format-uid): New. + (icalendar--parse-summary-and-rest, icalendar--format-ical-event): + Export UID. + +2012-05-29 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/pcase.el (pcase--expand): Accept different sets of vars in + different alternative patterns. + (pcase-codegen): Be more careful to preserve identity. + (pcase--u1): Don't forget to mark vars as used. + + * emacs-lisp/bytecomp.el (byte-compile-constp): Treat #'v as a constant. + (byte-compile-close-variables): Bind byte-compile--outbuffer here... + (byte-compile-from-buffer): ...rather than here. + + * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Don't re-preprocess + functions from byte-compile-function-environment. + +2012-05-29 Troels Nielsen <bn.troels@gmail.com> + + * window.el (window-deletable-p): Avoid deleting the root window + of a frame with an active minibuffer. + +2012-05-29 Martin Rudalics <rudalics@gmx.at> + + * simple.el (choose-completion): Use quit-window (Bug#11567). + +2012-05-29 Chong Yidong <cyd@gnu.org> + + * whitespace.el (whitespace-cleanup): Fix usage of + whitespace-empty-at-bob-regexp (Bug#11492). + +2012-05-29 Aaron S. Hawley <aaron.s.hawley@gmail.com> + + * vc/vc.el (vc-revert, vc-rollback): Dont kill vc-diff buffer on + revert (Bug#11488). + +2012-05-29 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-mode-map): Bind `M-s _' to + `isearch-toggle-symbol'. Bind `M-s c' to + `isearch-toggle-case-fold'. + (search-map): Bind `M-s _' to `isearch-forward-symbol'. + (isearch-forward): Add `M-s _' to the docstring. + (isearch-forward-symbol, isearch-toggle-case-fold) + (isearch-symbol-regexp): New functions. (Bug#11381) + +2012-05-29 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-word): Add docstring. (Bug#11381) + (isearch-occur, isearch-search-and-update): If `isearch-word' is + a function, call it to get the regexp. + (isearch-message-prefix): If `isearch-word' holds a symbol, use its + property `isearch-message-prefix' instead of the string "word ". + (isearch-search-fun-default): For the case of `isearch-word', + return a lambda that calls re-search-forward/re-search-backward + with a regexp returned by `word-search-regexp' or by the function + in `isearch-word'. + +2012-05-29 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-search-fun-default): New function. + (isearch-search-fun): Move default part to the new function + `isearch-search-fun-default'. + (isearch-search-fun-function): Set the default value to + `isearch-search-fun-default'. (Bug#11381) + + * comint.el (comint-history-isearch-end): + Use `isearch-search-fun-default'. + (comint-history-isearch-search): Use `isearch-search-fun-default' + and remove spacial case for `isearch-word'. + (comint-history-isearch-wrap): Remove spacial case for + `isearch-word'. + + * hexl.el (hexl-isearch-search-function): + Use `isearch-search-fun-default'. + + * info.el (Info-isearch-search): Use `isearch-search-fun-default'. + Use `word-search-regexp' for `isearch-word'. + + * misearch.el (multi-isearch-search-fun): + Use `isearch-search-fun-default'. + + * simple.el (minibuffer-history-isearch-search): + Use `isearch-search-fun-default' and remove spacial case for + `isearch-word'. + (minibuffer-history-isearch-wrap): Remove spacial case for + `isearch-word'. + + * textmodes/reftex-global.el (reftex-isearch-wrap-function): + Remove spacial case for `isearch-word'. + (reftex-isearch-isearch-search): Use `isearch-search-fun-default'. + +2012-05-28 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + Decrease XEmacs incompatibilities. + * textmodes/flyspell.el (flyspell-check-pre-word-p): + Use `string-match'. + (flyspell-delete-region-overlays): Use alternative definition for + XEmacs. + (flyspell-delete-all-overlays): Use `flyspell-delete-region-overlays'. + (flyspell-word): Use `process-kill-without-query' if XEmacs. + (flyspell-mode-on): Use `interactive-p' if XEmacs. + (flyspell-incorrect-face, flyspell-duplicate-face): Do not use + `define-obsolete-face-alias' under XEmacs, but old method. + + * textmodes/ispell.el (ispell-with-no-warnings): XEmacs alternative + `with-no-warnings' definition or Emacs alias. + (ispell-command-loop, ispell-message): Use `ispell-with-no-warnings'. + (ispell-word): Do not use `region-p' if XEmacs. + +2012-05-28 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-find-aspell-dictionaries): + Check for `ispell-dictionary-base-alist' instead of full + `ispell-dictionary-alist'. + (ispell-init-process): Show spellchecker when starting new Ispell + process. + +2012-05-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/vhdl-mode.el: Sync with upstream 3.33.28. + http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html#release-notes-3.33 + +2012-05-27 Juanma Barranquero <lekktu@gmail.com> + + * version.el (motif-version-string, gtk-version-string) + (ns-version-string): Declare. + +2012-05-27 Juri Linkov <juri@jurta.org> + + * emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars' + after the `eval-defun-1' specialcaseing + like in `edebug-eval-defun' (bug#10181). + + * emacs-lisp/edebug.el (edebug-eval-defun): Set `face-documentation' + like in `eval-defun-1'. + +2012-05-27 Eli Zaretskii <eliz@gnu.org> + + * mail/sendmail.el (mail-yank-region): + Recognize rmail-yank-current-message in addition to insert-buffer. + Fixes mail-mode's "C-c C-r" that otherwise does nothing when invoked in + a *mail* buffer created through rmail-start-mail with sendmail as + mail-user-agent. + +2012-05-27 Chong Yidong <cyd@gnu.org> + + * net/gnutls.el (gnutls-min-prime-bits): Improve docstring. + Default to 256 (Bug#11267). + + * help.el (describe-mode): Doc fix. + +2012-05-26 Glenn Morris <rgm@gnu.org> + + * w32-fns.el (w32-init-info): Remove. + * paths.el (Info-default-directory-list): Add w32-init-info equivalent. + + * info.el (info-initialize): For self-contained NS builds, put the + included info/ directory at the front. (Bug#2791) + + * paths.el (Info-default-directory-list): Make it a defcustom, + mainly so that we can use custom-initialize-delay. + +2012-05-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (buffer-has-markers-at): Mark obsolete. + + * subr.el (lambda): Use declare. + + * emacs-lisp/lisp-mode.el (lambda): + * emacs-lisp/edebug.el (lambda): Move properties to its definition. + +2012-05-26 Aaron S. Hawley <aaron.s.hawley@gmail.com> + + * thingatpt.el (forward-same-syntax): Handle no ARG case. (Bug#11560) + +2012-05-26 Glenn Morris <rgm@gnu.org> + + * progmodes/cc-mode.el (auto-mode-alist): Fix typo. + +2012-05-25 Glenn Morris <rgm@gnu.org> + + * paths.el: Remove no-byte-compile. + * loadup.el: No need to load paths.el uncompiled. + + * image.el (imagemagick-types-inhibit): Doc fix. + + * version.el: Remove no-byte-compile and associated formatting. + * loadup.el: No need to load version.el uncompiled. AFAICS, this + is ancient code from when there was an "inc-vers.el". + +2012-05-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/gdb-mi.el: Minor style changes. + (gdb-enable-debug, gdb-speedbar-auto-raise, gdb-many-windows): + Turn into minor modes. + (gdb--if-arrow): Rename from gdb-if-arrow, make it hygienic. + (gdb-mouse-until, gdb-mouse-jump): Adjust uses accordingly. + (gdb-shell): Remove unneeded let-binding. + (gdb-get-many-fields): Eliminate O(n²) behavior. + +2012-05-25 Eli Zaretskii <eliz@gnu.org> + + * cus-start.el <vertical-centering-font-regexp>: Avoid warning on + platforms that don't link in fontset.c. + +2012-05-25 Juri Linkov <juri@jurta.org> + + Use the same diff color scheme as in modern VCSes (bug#10181). + + * vc/diff-mode.el (diff-header, diff-file-header): Remove "green" + to avoid confusion with `diff-added' that now uses green colors. + (diff-removed): Use shades of red. + (diff-added): Use shades of green. + (diff-changed): Leave just the yellow color. + (diff-use-changed-face): New variable. + (diff-font-lock-keywords): Use `diff-use-changed-face' to decide + how to highlight context diff changes. + (diff-refine-change): Use shades of yellow. + (diff-refine-removed): New face that uses shades of red. + (diff-refine-added): New face that uses shades of green. + (diff-refine-hunk): Use `diff-refine-change', `diff-refine-added', + `diff-refine-removed' in the call to `smerge-refine-subst' + depending on the value of `diff-use-changed-face'. + + * vc/smerge-mode.el (smerge-mine): Use shades of red. + (smerge-other): Use shades of green. + (smerge-base): Use shades of yellow. + (smerge-refined-change): Empty face. + (smerge-refined-removed): New face that uses shades of red. + (smerge-refined-added): New face that uses shades of green. + (smerge-refine-subst): Rename arg `props' to `props-c'. Add new + args `props-r' and `props-a', and use them. Doc fix. + (smerge-refine): Evaluate `smerge-use-changed-face' and depending + on its value use different faces `smerge-refined-change', + `smerge-refined-removed', `smerge-refined-added' in the call to + `smerge-refine-subst'. + + * vc/ediff-init.el (ediff-current-diff-A, ediff-fine-diff-A): + Add face condition `min-colors 88' with shades of red. + (ediff-current-diff-B, ediff-fine-diff-B): Add face condition + `min-colors 88' with shades of green. + (ediff-current-diff-C, ediff-fine-diff-C): Add face condition + `min-colors 88' with shades of yellow. + +2012-05-24 Glenn Morris <rgm@gnu.org> + + * paths.el (prune-directory-list, remote-shell-program): Move to... + * files.el (prune-directory-list, remote-shell-program): ...here. + For the latter, delay initialization, prefer ssh, just search PATH. + + * paths.el (term-file-prefix): Move to faces.el (the only user). + * faces.el (term-file-prefix): Move here, make it a defcustom. + + * paths.el (news-directory, news-path, news-inews-program): + Move to gnus/nnspool.el. + + * paths.el (gnus-default-nntp-server): Remove (gnus.el defines it). + + * paths.el (rmail-file-name, rmail-spool-directory): Move from here... + * mail/rmail.el (rmail-file-name, rmail-spool-directory): ... to here. + Make the latter a defcustom, with a delayed initialization. + + * paths.el (gnus-nntp-service, gnus-local-organization): Remove. + These were deleted from Gnus itself late 2010. + +2012-05-22 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/which-func.el (which-func-ff-hook): + Check against user-error, not error. + + * emacs-lisp/edebug.el (top): Do not load or set up loading of + cl-specs.el, which no longer exists. + +2012-05-22 Glenn Morris <rgm@gnu.org> + + * info.el (info-emacs-bug): New command. + * menu-bar.el (menu-bar-help-menu): Add "How to Report a Bug" to Help. + * mail/emacsbug.el (report-emacs-bug): Replace with info-emacs-bug. + +2012-05-21 Glenn Morris <rgm@gnu.org> + + * makefile.w32-in (update-subdirs-SH): + * Makefile.in (update-subdirs): Update for moved update-subdirs. + +2012-05-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * hi-lock.el (hi-lock-face-defaults): Move obsolete before definition. + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Simplify Maven regexp, and make sure the file can't start with a space + (bug#11517). + +2012-05-21 Glenn Morris <rgm@gnu.org> + + * Makefile.in (setwins, setwins_almost, setwins_for_subdirs): + Scrap superfluous subshells. + +2012-05-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (byte-compile-root-dir): New var. + (byte-compile-warning-prefix, batch-byte-compile-file): Use it. + +2012-05-19 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc.el (calc-ensure-consistent-units): New variable. + + * calc/calc-units.el (math-consistent-units-p) + (math-check-unit-consistency): New functions. + (calc-quick-units, calc-convert-units): + Use `math-check-unit-consistency' when `calc-ensure-consistent-units' + is non-nil. + (calc-extract-units): Fix typo. + +2012-05-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/vc-bzr.el (vc-bzr-state-heuristic): Save match-data around sha1. + + * textmodes/flyspell.el: Commenting style, plus code simplifications. + (flyspell-default-deplacement-commands): Don't spell check after + repeated window/frame switches (e.g. triggered by mouse-movement). + (flyspell-delay-commands, flyspell-deplacement-commands): Use mapc. + (flyspell-debug-signal-word-checked): Simplify and fit in 80 cols. + (flyspell-casechars-cache, flyspell-ispell-casechars-cache) + (flyspell-not-casechars-cache, flyspell-ispell-not-casechars-cache): + Remove unused vars. + (flyspell-get-casechars, flyspell-get-not-casechars): + Simplify; Don't bother removing a ] just to add it back. + * textmodes/ispell.el (ispell-program-name): Use executable-find. + +2012-05-18 Rüdiger Sonderfeld <ruediger@c-plusplus.de> + + * calc/calc-lang.el (math-C-parse-bess, math-C-parse-fma): + New functions. + (math-function-table): Add support for more C functions. + +2012-05-18 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/flyspell.el (flyspell-check-pre-word-p) + (flyspell-check-word-p, flyspell-debug-signal-word-checked): + Protect delay handling for otherchars against empty otherchars. + +2012-05-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties to + their respective macro declarations. + * skeleton.el (define-skeleton): + * progmodes/compile.el (define-compilation-mode): + * ibuf-macs.el (define-ibuffer-sorter, define-ibuffer-op) + (define-ibuffer-filter): + * emacs-lisp/generic.el (define-generic-mode): + * emacs-lisp/easy-mmode.el (define-minor-mode) + (define-globalized-minor-mode): + * emacs-lisp/cl-macs.el (defun*, defmacro*, defstruct, deftype): + * emacs-lisp/byte-run.el (defsubst): + * custom.el (deftheme): Add doc-string metadata. + +2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el, emacs-lisp/cl.el: Move indent info. + +2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/pcase.el (pcase--u1): Avoid ((lambda ...) ...). + + * emacs-lisp/cl.el: Add edebug specs from cl-specs.el. + * emacs-lisp/cl-macs.el: Idem. + * emacs-lisp/cl-specs.el: Remove. + +2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca> + + Minor renaming of internal CL functions and variables. + * emacs-lisp/cl-seq.el (cl--adjoin): Rename from cl-adjoin. + (cl--position): Rename from cl-position. + (cl--delete-duplicates): Rename from cl-delete-duplicates. + * emacs-lisp/cl.el (cl--gensym-counter): Rename from *gensym-counter*. + (cl--random-state): Rename from *random-state*. + +2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/cl-macs.el (cl-transform-lambda): Don't add spurious + parens around the arg list (bug#11499). + +2012-05-17 Juri Linkov <juri@jurta.org> + + * isearch.el (word-search-regexp, word-search-backward) + (word-search-forward, word-search-backward-lax) + (word-search-forward-lax): Move functions from search.c + (bug#10145, bug#11381). + +2012-05-16 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/flyspell.el (flyspell-check-pre-word-p) + (flyspell-check-word-p, flyspell-debug-signal-word-checked): + Delay for otherchars as for normal word components. + +2012-05-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--sifn-requote): Fix last change. + (minibuffer-local-must-match-filename-map): + Move define-obsolete-variable-alias before its var. + +2012-05-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/pcase.el (pcase-let*, pcase-let): Fix edebug spec. + + * minibuffer.el (completion--sifn-requote): Handle sifn's truncation + behavior. + (completion--string-equal-p): New function. + (completion--twq-all): Use it to get better assertion failure data. + + Only handle ".." and '..' quoting in shell-mode (bug#11466). + * shell.el (shell--unquote&requote-argument, shell--unquote-argument) + (shell--requote-argument): New functions. + (shell-completion-vars): Use them. + (shell--parse-pcomplete-arguments): Rename from + shell-parse-pcomplete-arguments. + * comint.el (comint-word): Obey comint-file-name-quote-list. Simplify. + (comint--unquote&requote-argument): Don't handle ".." and '..' quoting. + Obey comint-file-name-quote-list. + + * emacs-lisp/smie.el (smie-indent--bolp-1): New function. + (smie-indent-keyword): Use it. + +2012-05-14 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el (rst-re-alist): Fix loading (bug#11462). + +2012-05-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * net/rlogin.el (rlogin-mode-map): Fix last change. + +2012-05-14 Jason L. Wright <jason.wright@inl.gov> (tiny change) + + * mail/smtpmail.el (smtpmail-send-command): Send the command and + the following \r\n using a single `process-send-string', since the + Lotus SMTP server refuses to accept any commands if they are sent + with two `process-send-string's (Bug#11444). + +2012-05-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * shell.el (shell-parse-pcomplete-arguments): + Obey pcomplete-arg-quote-list inside double-quoted args (Bug#11348). + +2012-05-14 Wolfgang Jenkner <wjenkner@inode.at> + + * image-mode.el: Fit to width/height for rotated images (Bug#11431). + (image-transform-scale, image-transform-right-angle-fudge): New vars. + (image-transform-width, image-transform-fit-width): New functions. + (image-transform-properties): Use them. + (image-transform-check-size): New function. + (image-toggle-display-image): Use it (for testing). + (image-transform-set-rotation): Reduce angle mod 360. + Delete obsolete comment. + +2012-05-14 Wolfgang Jenkner <wjenkner@inode.at> + + * image-mode.el: Fix scaling (bug#11399). + (image-transform-resize): Doc fix. + (image-transform-properties): Default scale is 1 and height should + be an integer. + +2012-05-13 Johan BockgÃ¥rd <bojohan@gnu.org> + + * emacs-lisp/smie.el (smie-next-sexp): Use accessor `op-forw' rather + than hard-coding `car', to fix misbehavior when moving forward. + +2012-05-13 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/tabulated-list.el (tabulated-list-format) + (tabulated-list-entries, tabulated-list-padding) + (tabulated-list-sort-key): Make permanent-local. + + * ebuff-menu.el: Adapt to Buffer Menu changes (Bug#11455). + (electric-buffer-list): Put electric buffer menu + command descriptions in this docstring, instead of the docstring + of electric-buffer-menu-mode. Code cleanups. + (electric-buffer-menu-mode): Use define-derived-mode. Rename from + Electric-buffer-menu-mode. + (electric-buffer-update-highlight): Minor code cleanup. + +2012-05-13 Michael Albinus <michael.albinus@gmx.de> + + * net/dbus.el (dbus-call-method): Restore events not from D-Bus. + (Bug#11447) + +2012-05-13 Stefan Monnier <monnier@iro.umontreal.ca> + + Move define-obsolete-variable-alias before the var's definition. + * vc/log-edit.el (vc-comment-ring, vc-comment-ring-index): + * tooltip.el (tooltip-hook): + * textmodes/reftex-toc.el (reftex-toc-map): + * textmodes/reftex-sel.el (reftex-select-label-map) + (reftex-select-bib-map): + * textmodes/reftex-index.el (reftex-index-map) + (reftex-index-phrases-map): + * speedbar.el (speedbar-syntax-table, speedbar-key-map): + * progmodes/meta-mode.el (meta-mode-map): + * novice.el (disabled-command-hook): + * loadhist.el (unload-hook-features-list): + * frame.el (blink-cursor): + * files.el (find-file-not-found-hooks, write-file-hooks) + (write-contents-hooks): + * emulation/tpu-edt.el (GOLD-map): + * emacs-lock.el (emacs-lock-from-exiting): + * emacs-lisp/generic.el (generic-font-lock-defaults): + * emacs-lisp/chart.el (chart-map): + * dos-fns.el (register-name-alist): + * dired-x.el (dired-omit-files-p): + * desktop.el (desktop-enable): + * cus-edit.el (custom-mode-hook): + * buff-menu.el (buffer-menu-mode-hook): + * bookmark.el (bookmark-read-annotation-text-func) + (bookmark-exit-hooks): + * allout.el (allout-mode-deactivate-hook) + (allout-exposure-change-hook, allout-structure-added-hook) + (allout-structure-deleted-hook, allout-structure-shifted-hook): + * dirtrack.el (dirtrack-toggle, dirtrackp, dirtrack-debug-toggle) + (dirtrack-debug): Move call to define-obsolete-variable-alias so it + comes before the corresponding variable's definition. + +2012-05-12 Chong Yidong <cyd@gnu.org> + + * buff-menu.el (Buffer-menu-buffer+size-width): Doc fix (Bug#11454). + (Buffer-menu-mouse-select): Restore function (Bug#11459). + (Buffer-menu-mode-map): Bind it. + (Buffer-menu--pretty-name): Add a mouse-face property. + +2012-05-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/prolog.el: Use SMIE. Cleanup regexp setup. + (prolog-upper-case-string, prolog-lower-case-string) + (prolog-atom-char-regexp, prolog-atom-regexp): Initialize in defconst. + (prolog-use-smie, prolog-smie-grammar): New vars. + (prolog-smie-forward-token, prolog-smie-backward-token) + (prolog-smie-rules): New funs. + (prolog-comment-indent): Remove. + (prolog-mode-variables): Use default comment indentation instead. + Setup SMIE. + (prolog-build-case-strings, prolog-set-atom-regexps): Remove. + (prolog-mode): Don't call them any more. + (prolog-electric-colon, prolog-electric-dash) + (prolog-edit-menu-insert-move): Use indent-according-to-mode. + + * dabbrev.el (dabbrev-expand): Make "no expansion found" a user-error. + + * minibuffer.el (completion--twq-all): Again, allow case differences. + + * term.el: Move keymap initialization code to be more idiomatic. + (term-signals-menu, term-mode-map, term-raw-map, term-raw-escape-map) + (term-terminal-menu): Move initialization into declaration. + (term-escape-char): Let the user set it in her .emacs. + + * progmodes/sh-script.el: Use post-self-insert-hook&electric-pair-mode. + Provide SMIE-based indentation (not enabled by default yet). + (sh-mode-map): Don't bind electric keys. + Use electric-pair-mode instead of skeleton-pair. + (sh-assignment-regexp): Fit within 80 columns. + (sh-indent-supported): Specify actual shell name instead of boolean. + (sh--maybe-here-document): New fun, from sh-maybe-here-document. + (sh-maybe-here-document): Use it. Make obsolete. + (sh-electric-here-document-mode) New minor mode. + (sh-mode): Use it. Don't set sh-indent-supported-here here. + (sh-smie-sh-grammar, sh-smie--sh-operators, sh-smie--sh-operators-re) + (sh-smie--sh-operators-back-re, sh-indent-after-continuation) + (sh-smie-rc-grammar, sh-use-smie): New vars. + (sh-smie--keyword-p, sh-smie--newline-semi-p, sh-smie--sh-keyword-p) + (sh-smie-sh-forward-token, sh-smie--looking-back-at-continuation-p) + (sh-smie-sh-backward-token, sh-smie--continuation-start-indent) + (sh-smie-sh-rules, sh-smie-rc-rules, sh-smie--sh-keyword-in-p) + (sh-smie--rc-after-special-arg-p, sh-smie-rc-backward-token) + (sh-smie-sh-rules, sh-smie--rc-newline-semi-p): New functions. + (sh-set-shell): Use smie-setup if requested. + + * term.el (term-set-escape-char): Properly set term-escape-char. + See http://stackoverflow.com/questions/10524656. + +2012-05-10 Chong Yidong <cyd@gnu.org> + + * ffap.el (ffap-url-unwrap-local): Make it work right (Bug#9131). + Use url-generic-parse-url, and handle host names and Windows + filenames properly. + (ffap-url-unwrap-remote): Use url-generic-parse-url. + (ffap-url-unwrap-remote): Accept list values, specifying a list of + URL schemes to work on. + (ffap--toggle-read-only): New function. + (ffap-read-only, ffap-read-only-other-window) + (ffap-read-only-other-frame): Use it. + (ffap-fixup-url): Don't check ffap-ftp-regexp, since it is not + necessary for ffap-url-unwrap-remote. + +2012-05-10 Dave Abrahams <dave@boostpro.com> + + * cus-start.el (create-lockfiles): Add it. + +2012-05-09 Chong Yidong <cyd@gnu.org> + + * net/browse-url.el (browse-url-url-encode-chars): Use upper-case. + (browse-url-encode-url): Encode spaces and quotes (Bug#6300). + +2012-05-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * shell.el (shell-completion-vars): Fix last change (bug#11348). + +2012-05-09 Chong Yidong <cyd@gnu.org> + + * ansi-color.el (ansi-color-process-output): Check for validity of + comint-last-output-start before using it. This avoids a bad + interaction with gdb-mi's input/output buffer. + +2012-05-09 Glenn Morris <rgm@gnu.org> + + * files.el (dir-locals-read-from-file): + Mention dir-locals in any error message. + +2012-05-09 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/package.el (package-built-in-p): Handle the `emacs' + package (Bug#11410). + + * emacs-lisp/package.el (package-buffer-info): Avoid putting local + variables into description. + +2012-05-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like + shell-delimiter-argument-list (bug#11348). + (shell-parse-pcomplete-arguments): Obey pcomplete-arg-quote-list. + +2012-05-09 Juanma Barranquero <lekktu@gmail.com> + + * textmodes/rst.el: Silence byte-compiler warnings. + (rst-re-alist, rst-reset-section-caches): Move around. + (rst-re): Use `characterp', not `char-valid-p'. + (font-lock-beg, font-lock-end): Declare. + + * progmodes/idlw-shell.el (specs): Remove reference to deleted + variable `idlwave-shell-activate-alt-keybindings' and simplify. + + * eshell/esh-cmd.el (eshell-debug-command): Fix typo in previous change. + +2012-05-08 Glenn Morris <rgm@gnu.org> + + * files.el (auto-mode-alist): Treat ".make" like ".mk". + +2012-05-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/log-edit.el: Add GNU coding standards highlighting. + (log-edit-font-lock-gnu-style) + (log-edit-font-lock-gnu-keywords): New vars. + (log-edit-font-lock-keywords): New fun. + (log-edit-mode): Don't fold case in font-lock. + (log-edit-font-lock-keywords): Do not assume case-folding. + + * imenu.el: Misc cleanup. Make docstrings out of comments. + Use lexical-binding. + (imenu--index-alist, imenu--last-menubar-index-alist) + (imenu-menubar-modified-tick): Use defvar-local. + (imenu--split-menu): Remove unused var. + (imenu--cleanup-seen): Declare as global. + (imenu--cleanup): Use dolist. + + * subr.el (defvar-local): Add debug spec and doc-string position. + +2012-05-08 Glenn Morris <rgm@gnu.org> + + * language/burmese.el, language/cham.el, language/czech.el: + * language/english.el, language/georgian.el, language/greek.el: + * language/japanese.el, language/khmer.el, language/korean.el: + * language/lao.el, language/misc-lang.el, language/romanian.el: + * language/sinhala.el, language/slovak.el, language/tai-viet.el: + * language/thai.el, language/utf-8-lang.el: + Remove no-byte-compile setting. + + * play/zone.el (zone-pgm-stress): Don't pollute kill-ring. (Bug#11388) + +2012-05-08 Aaron S. Hawley <aaron.s.hawley@gmail.com> + + * progmodes/make-mode.el (makefile-browse): + Remove unnecessary interactive. (Bug#11324) + +2012-05-07 Glenn Morris <rgm@gnu.org> + + * forms-d2.el, forms-pass.el: Move to ../etc/forms directory. + + * international/mule.el (find-auto-coding): Make "unibyte: t" obsolete. + +2012-05-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * loadup.el: Preload newcomment.el. + * newcomment.el: Move autoload-only code to toplevel. + + * buff-menu.el (list-buffers--refresh): Mark `size' as right-align. + * emacs-lisp/tabulated-list.el (tabulated-list-init-header): + Handle new :right-align column property. + (tabulated-list-print-col): Idem, plus use `display' text-property to + try and preserve alignment for variable pitch fonts. + +2012-05-07 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/tabulated-list.el: Add no-header-line alternative. + (tabulated-list-use-header-line): New var. + (tabulated-list-init-header): Use it. + (tabulated-list-print-fake-header): New function. + (tabulated-list-print): Use it. + (tabulated-list-sort-button-map): Add non-header-line commands. + (tabulated-list-init-header): Add column name property to basic + labels as well. + (tabulated-list-col-sort): Handle non-header-line button case. + (tabulated-list--sort-by-column-name): Fix a corner case. + + * buff-menu.el (list-buffers--refresh): + Handle Buffer-menu-use-header-line. + +2012-05-06 Chong Yidong <cyd@gnu.org> + + * buff-menu.el: Convert to Tabulated List mode. + (Buffer-menu-buffer+size-width): Make obsolete. + (Buffer-menu-name-width, Buffer-menu-size-width): New variables. + (Buffer-menu-mode-map): Inherit from tabulated-list-mode-map. + (Buffer-menu-mode): Derive from tabulated-list-mode. Move command + documentation into docstring of buffer-menu. + (Buffer-menu-toggle-files-only): Add an informative message. + (Buffer-menu-sort): Convert to alias for tabulated-list-sort. + (Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark) + (Buffer-menu-unmark, Buffer-menu-backup-unmark) + (Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified) + (Buffer-menu-execute, Buffer-menu-select) + (Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only) + (Buffer-menu-bury): Use Tabulated List machinery. + (Buffer-menu-mouse-select, Buffer-menu-sort-by-column) + (Buffer-menu-sort-button-map, Buffer-menu-make-sort-button): + Delete. + (list-buffers--refresh): New function. + (list-buffers-noselect): Use it. + (tabulated-list-entry-size->, Buffer-menu--pretty-name) + (Buffer-menu--pretty-file-name): New helper functions. + + * loadup.el: Preload tabulated-list. + + * emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from + tabulated-list-sort-column. + (tabulated-list-init-header): Add the initial aligning space even + if tabulated-list-padding is zero. + +2012-05-06 Christopher Schmidt <christopher@ch.ristopher.com> + + * emacs-lisp/cl-macs.el (cl-expr-contains): Handle cons cells + whose cdr is not a cons cell correctly (bug#11038). + +2012-05-06 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/tabulated-list.el (tabulated-list-format): + Accept additional plist in column descriptors. + (tabulated-list-init-header): Obey it. + (tabulated-list-get-entry): New function. + (tabulated-list-put-tag): Use it. Use string-width instead of + length. + (tabulated-list--column-number): New function. + (tabulated-list-print): Use it. + (tabulated-list-print-col): New function. + Set `tabulated-list-column-name' property on each column's text. + (tabulated-list-print-entry): Use it. + (tabulated-list-delete-entry, tabulated-list-set-col): + New functions. + (tabulated-list-sort-column): New command (Bug#11337). + + * buff-menu.el (list-buffers): Move C-x C-b binding from + buff-menu.el to bindings.el. + + * ebuff-menu.el (Electric-buffer-menu-undefined): Use the + :advertised-binding feature. + +2012-05-06 Troels Nielsen <bn.troels@gmail.com> (tiny change) + + * progmodes/compile.el (compilation-internal-error-properties): + Calculate start position correctly when end-col is set but + end-line is not (Bug#11382). + +2012-05-06 Wolfgang Jenkner <wjenkner@inode.at> + + * man.el (Man-unindent): Use text-property-default-nonsticky to + prevent untabify from inheriting face properties (Bug#11408). + +2012-05-05 Stefan Merten <smerten@oekonux.de> + + * textmodes/rst.el: Major merge with upstream development up to + Docutils SVN r7399 / rst.el V1.2.1. + + Clarify maintainership and authors. + + (rst-extract-version, rst-cvs-header, rst-cvs-rev) + (rst-cvs-timestamp, rst-svn-rev, rst-svn-timestamp) + (rst-official-version, rst-official-cvs-rev, rst-version) + (rst-package-emacs-version-alist): New functions and variables + for version information. + + (rst-bullets, rst-uri-schemes, rst-adornment-chars) + (rst-max-inline-length, rst-re-alist-def, rst-re-alist) + (rst-mode-syntax-table, rst-mode): New and corrected functions + and variables representing reStructuredText features. + + (rst-re): New function for reStructuredText regexes. Use in + many places. + + (rst-deprecated-keys, rst-call-deprecated, rst-define-key) + (rst-mode-map): Rebind keys. + + (rst-mode-lazy, rst-font-lock-keywords) + (rst-font-lock-extend-region) + (rst-font-lock-extend-region-internal) + (rst-font-lock-extend-region-extend) + (rst-font-lock-find-unindented-line-limit) + (rst-font-lock-find-unindented-line-match) + (rst-adornment-level, rst-font-lock-adornment-level) + (rst-font-lock-adornment-match) + (rst-font-lock-handle-adornment-pre-match-form) + (rst-font-lock-handle-adornment-matcher): Major revision of + font-locking. Integrate with other code. Use `jit-lock-mode'. + + (rst-preferred-adornments, rst-adjust-hook) + (rst-new-adornment-down, rst-preferred-bullets) + (rst-preferred-bullets, rst-indent, rst-indent-width) + (rst-indent-field, rst-indent-literal-normal) + (rst-indent-literal-minimized, rst-indent-comment): + Change, extend and improve customization. + + (rst-line-homogeneous-p, rst-line-homogeneous-nodent-p) + (rst-normalize-cursor-position, rst-get-decoration) + (rst-straighten-deco-spacing, rst-re-bullets, rst-re-items) + (rst-rstrip, rst-toc-insert-find-delete-contents) + (rst-shift-fill-region, rst-compute-bullet-tabs) + (rst-debug-print-tabs, rst-debug-mark-found) + (rst-shift-region-guts, rst-shift-region-right) + (rst-shift-region-left, rst-use-char-classes) + (rst-font-lock-keywords-function) + (rst-font-lock-indentation-point) + (rst-font-lock-find-unindented-line-begin) + (rst-font-lock-find-unindented-line-end) + (rst-font-lock-find-unindented-line) + (rst-font-lock-adornment-point, rst-font-lock-level) + (rst-adornment-level-alist): Remove functions and variables. + + (rst-compare-adornments, rst-get-adornment-match) + (rst-suggest-new-adornment, rst-get-adornments-around) + (rst-adornment-complete-p, rst-get-next-adornment) + (rst-adjust-adornment, rst-display-adornments-hierarchy) + (rst-straighten-adornments): Standardize function names to + use "adornment" instead of "decoration". Correct callers. + Similar standardizing in many places. + + (rst-update-section, rst-adjust, rst-promote-region) + (rst-enumerate-region, rst-bullet-list-region) + (rst-repeat-last-character): Correct use of `interactive'. + + (rst-classify-adornment, rst-find-all-adornments) + (rst-get-hierarchy, rst-adjust-adornment, rst-toc-update) + (rst-find-leftmost-column, rst-repeat-last-character): + Refactor functions. + + (rst-find-title-line, rst-reset-section-caches) + (rst-get-adornments-around, rst-adjust-adornment-work) + (rst-arabic-to-roman, rst-roman-to-arabic) + (rst-insert-list-pos, rst-insert-list-new-item) + (rst-insert-list-continue, rst-insert-list, rst-forward-line): + New functions. + + (rst-all-sections, rst-section-hierarchy) + (rst-arabic-to-roman, rst-initial-enums, rst-initial-items): + New variables. + + (rst-toc-return-wincfg, rst-toc-quit-window): Use window + configuration instead of only buffer. Change where necessary. + + (rst-line-tabs, rst-compute-tabs, rst-indent-line) + (rst-shift-region, rst-adaptive-fill): New functions for + indentation and filling. + + (rst-comment-line-break, rst-comment-indent) + (rst-comment-insert-comment, rst-comment-region) + (rst-uncomment-region): New functions for handling comments. + + (rst-compile): Quote shell arguments. + + (rst-compile-pdf-preview, rst-compile-slides-preview): + Delete temporary files after use. + +2012-05-05 Glenn Morris <rgm@gnu.org> + + * calendar/cal-html.el: Optionally include holidays in the output. + Suggested by Ed Reingold <reingold@emr.cs.iit.edu>. + (cal-html-holidays): New option. + (cal-html-css-default): Add holiday entry. + (holiday-in-range): Autoload it. + (cal-html-htmlify-entry): Add optional class argument. + (cal-html-htmlify-list): Add optional holidays argument. + (cal-html-insert-agenda-days): Include holidays in the output. + (cal-html-one-month): Maybe include holidays. + + * calendar/holidays.el (holiday-in-range): + Move here from cal-tex-list-holidays. + * calendar/cal-tex.el (cal-tex-list-holidays): + Make it an obsolete alias for holiday-in-range. Update all callers. + +2012-05-05 Chong Yidong <cyd@gnu.org> + + * select.el (xselect--encode-string): Always use utf-8 for TEXT on + Nextstep. + +2012-05-05 Ransom Williams <auvergnerw@gmail.com> (tiny change) + + * files.el (file-auto-mode-skip): New var. + (set-auto-mode-1): Use it. + +2012-05-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * repeat.el: Use lexical-binding. + (repeat-last-self-insert, repeat-num-input-keys-at-self-insert) + (repeat-undo-count): Remove. + (repeat): + * progmodes/octave-mod.el (octave-abbrev-start): + * progmodes/f90.el (f90-abbrev-start): + * face-remap.el (text-scale-adjust): + * kmacro.el (kmacro-call-macro): Use set-temporary-overlay-map. + + * emacs-lisp/pcase.el (pcase--let*): New function. + (pcase--expand, pcase-codegen, pcase--q1): Use it to reduce nesting + a bit more. + (pcase--split-pred): Be more clever about ruling out overlap between + a predicate and some constant pattern. + (pcase--q1): Use `null' instead of (eq foo nil). + + * subr.el (setq-local, defvar-local): New macros. + (kbd): Redefine as an alias. + (with-selected-window): Leave unrelated frames alone. + (set-temporary-overlay-map): New function. + +2012-05-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (user-error): New function. + * window.el (switch-to-buffer): + * vc/smerge-mode.el (smerge-resolve-function, smerge-resolve) + (smerge-match-conflict): + * simple.el (previous-matching-history-element) + (next-matching-history-element, goto-history-element, undo-more) + (undo-start): + * progmodes/etags.el (visit-tags-table-buffer, find-tag-tag) + (find-tag-noselect, find-tag-in-order, etags-goto-tag-location) + (next-file, tags-loop-scan, list-tags, complete-tag): + * progmodes/compile.el (compilation-loop): + * mouse.el (mouse-minibuffer-check): + * man.el (Man-bgproc-sentinel, Man-goto-page): + * info.el (Info-find-node-2, Info-extract-pointer, Info-history-back) + (Info-history-forward, Info-follow-reference, Info-menu) + (Info-extract-menu-item, Info-extract-menu-counting) + (Info-forward-node, Info-backward-node, Info-next-menu-item) + (Info-last-menu-item, Info-next-preorder, Info-last-preorder) + (Info-next-reference, Info-prev-reference, Info-index) + (Info-index-next, Info-follow-nearest-node) + (Info-copy-current-node-name): + * imenu.el (imenu--make-index-alist) + (imenu-default-create-index-function, imenu-add-to-menubar): + * files.el (basic-save-buffer, recover-file): + * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): + * emacs-lisp/checkdoc.el (checkdoc-continue, checkdoc-comments) + (checkdoc-message-text, checkdoc-defun): + * dabbrev.el (dabbrev-completion, dabbrev--abbrev-at-point): + * cus-edit.el (customize-changed-options, customize-rogue) + (customize-saved, custom-variable-set, custom-variable-mark-to-save) + (custom-variable-mark-to-reset-standard) + (custom-variable-reset-backup, custom-face-mark-to-reset-standard) + (custom-file): + * completion.el (check-completion-length): + * comint.el (comint-search-arg) + (comint-previous-matching-input-string-position) + (comint-previous-matching-input) + (comint-replace-by-expanded-history-before-point, comint-send-input) + (comint-copy-old-input, comint-backward-matching-input) + (comint-goto-process-mark, comint-set-process-mark): + * calendar/calendar.el (calendar-cursor-to-date): Use it. + * bindings.el (debug-ignored-errors): Remove regexps, add `user-error'. + +2012-05-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * dabbrev.el (dabbrev--ignore-case-p): New function. + (dabbrev-completion, dabbrev-expand, dabbrev--substitute-expansion): + Use it. + + * files.el (automount-dir-prefix): Mark as obsolete. + +2012-05-04 Glenn Morris <rgm@gnu.org> + + * patcomp.el, play/bruce.el: Move to obsolete/. + +2012-05-04 Paul Eggert <eggert@cs.ucla.edu> + + Fix minor Y10k bugs. + * arc-mode.el (archive-unixdate): + * autoinsert.el (auto-insert-alist): + * calc/calc-forms.el (math-this-year): + * emacs-lisp/copyright.el (copyright-current-year) + (copyright-update-year, copyright): + * tar-mode.el (tar-clip-time-string): + * time.el (display-time-update): + Don't assume years have 4 digits. + +2012-05-04 Chong Yidong <cyd@gnu.org> + + * dos-w32.el (file-name-buffer-file-type-alist) + (direct-print-region-use-command-dot-com): + * ffap.el (ffap-menu-regexp): + * find-file.el (ff-special-constructs): + * follow.el (follow-debug): + * forms.el (forms--debug): + * iswitchb.el (iswitchb-all-frames): + * ido.el (ido-all-frames): + * emacs-lisp/timer.el (timer-max-repeats): + * mail/feedmail.el (feedmail-mail-send-hook) + (feedmail-mail-send-hook-queued): + * mail/footnote.el (footnote-signature-separator): + * mail/mailabbrev.el (mail-alias-separator-string) + (mail-abbrev-mode-regexp): + * mail/rmail.el (rmail-speedbar-match-folder-regexp): + * progmodes/idlwave.el (idlwave-libinfo-file) + (idlwave-default-completion-case-is-down) + (idlwave-library-routines): Convert defvars to defcustoms. + + * mail/rmail.el (rmail-decode-mime-charset): + * progmodes/idlw-shell.el (idlwave-shell-print-expression-function) + (idlwave-shell-fix-inserted-breaks) + (idlwave-shell-activate-alt-keybindings) + (idlwave-shell-use-breakpoint-glyph): + * facemenu.el (facemenu-unlisted-faces): Delete obsolete vars. + +2012-05-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--twq-all): Beware completion-ignore-case. + +2012-05-03 Wilson Snyder <wsnyder@wsnyder.org> + + * progmodes/verilog-mode.el (font-lock-keywords): + Fix mis-highligting auto. Reported by Craig Barner. + (verilog-auto, verilog-auto-undef): Add AUTOUNDEF to remove + defines from global name space. Reported by Dan Dever. + (verilog-auto-reset, verilog-auto-reset-widths) + (verilog-auto-tieoff): Support using unbased numbers for + AUTORESET and AUTOTIEOFF. + (verilog-submit-bug-report): Update variable list. + (verilog-read-auto-params): Fix AUTOINPUT regexps containing + parenthesis from not matching. Reported by Michael Rytting. + (verilog-auto-template-lint): Fix hash error when linting modules + with no used templates. + (verilog-warn, verilog-warn-error) + (verilog-warn-fatal): When non-interactive report multiple + warnings before exiting. Suggested by Brad Dobbie. + (verilog-auto-template-lint, verilog-auto-template-warn-unused) + (verilog-read-auto-template): Add `verilog-auto-template-warn-unused' + to report unused template errors. Reported by Brad Dobbie. + (verilog-read-decls): Fix AUTOWIRE etc on supply0, supply1 type + nets, bug438. Reported by Vns Blore. + (verilog-auto-inout-module, verilog-auto-reg) + (verilog-read-decls, verilog-read-sub-decls-sig) + (verilog-signals-edit-wire-reg, verilog-signals-with): + Fix passing of Verilog data types in ANSI input/output ports + such as "output logic" into the AUTOs. Special case "wire" and + "reg" for backwards compatibility presuming Verilog 2001. + (verilog-auto-ascii-enum): Add "auto enum" as alias. + (verilog-preprocess): Fix replication of preprocess output. + Reported by Brad Dobbie. + (verilog-auto-inst-interfaced-ports): + Create verilog-auto-inst-interfaced-ports, bug429. + Reported by Julian Gorfajn. + (verilog-after-save-font-hook) + (verilog-before-save-font-hook): New variable. + (verilog-modi-cache-results, verilog-save-font-mod-hooked) + (verilog-save-font-mods): Wrap disabling fontification, reported + by David Rogoff. + (verilog-do-indent, verilog-pretty-declarations-auto) + (verilog-sk-def-reg): Fix obeying `verilog-auto-lineup', bug305. + Reported by Pierre-David Pfister. + (verilog-set-auto-endcomments): Fix endtask auto comments outside + of class declarations, bug292. Reported by Kevin Heilman. + (verilog-read-decls): Fix 'parameter type' not appearing in + AUTOINSTPARAM, bug340. Reported by Jonathan Greenlaw. + (verilog-auto-logic): Fix when AUTOLOGIC present to properly do + AUTOINPUTs, bug411. Reported by Jonathan Greenlaw. + (verilog-read-auto-lisp): Avoid syntax-ppss warning on AUTOLISP. + Reported by David Kravitz. + +2012-05-03 Michael McNamara <mac@mail.brushroad.com> + + * progmodes/verilog-mode.el (verilog-pretty-expr): Don't line up + assignment with tests in ifs and for loops. + (verilog-extended-complete-re, verilog-complete-reg): Change so + that DPI inport functions don't look like fuction declarations. + (verilog-pretty-expr): Don't line up assignment + operations to the test and increment in if and for loops + (verilog-extended-complete-re, verilog-complete-reg): Change so + that DPI inport functions don't look like fuction declarations. + +2012-05-03 Kenichi Handa <handa@m17n.org> + + * mail/rmailmm.el (rmail-show-mime): Catch an error caused by text + decoding, and show a warning message without signaling an error + (Bug#11282). + +2012-05-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el + (byte-compile-file-form-custom-declare-variable): Compile all elements, + since cconv.el might have introduced :fun-body, internal-make-closure, + and friends for bytecomp to handle (bug#11391). + * custom.el (defcustom): Avoid ((λ ..) ..). + +2012-05-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (read-passwd): Better clean after ourselves (bug#11392). + +2012-05-02 Juanma Barranquero <lekktu@gmail.com> + + * notifications.el (dbus-debug): + * term/linux.el (gpm-mouse-enable): + * term/screen.el (xterm-register-default-colors): Declare. + +2012-05-02 Chong Yidong <cyd@gnu.org> + + * cus-start.el (gc-cons-percentage, exec-suffixes) + (dos-display-scancodes, dos-hyper-key, dos-super-key) + (dos-keypad-mode, debug-on-signal, vertical-centering-font-regexp) + (make-cursor-line-fully-visible, void-text-area-pointer) + (font-list-limit): Add customization data. + + * allout.el (allout-exposure-change-functions) + (allout-structure-added-functions) + (allout-structure-deleted-functions) + (allout-structure-shifted-functions): Rename abnormal hooks from + *-hook, and convert to defcustoms. + (allout-after-copy-or-kill-hook, allout-post-undo-hook): + Convert to defcustoms. + (allout-mode-hook, allout-mode-deactivate-hook): Doc fix. + + * allout-widgets.el: Hook callers changed. + +2012-05-02 Eli Zaretskii <eliz@gnu.org> + + * mail/rmail.el (rmail-yank-current-message): Use the encoding of + the yanked message in preference to the default value of + buffer-file-coding-system. + +2012-05-02 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer--action-function-custom-type): + Fix entry. + +2012-05-02 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-defs.el (c-version): Update to 5.32.3. + +2012-05-01 Glenn Morris <rgm@gnu.org> + + * cus-start.el (suggest-key-bindings): Remove, now it is in Lisp. + + * eshell/esh-cmd.el (eshell-debug-command): Doc fix. Add :set. + + * cus-edit.el (custom-variable-documentation): Simplify with format. + +2012-05-01 Aaron S. Hawley <aaron.s.hawley@gmail.com> + Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (suggest-key-bindings, execute-extended-command): + Move from keyboard.c. + +2012-05-01 Chong Yidong <cyd@gnu.org> + + * follow.el: Eliminate advice. + (set-process-filter, process-filter, sit-for): Advice deleted. + (follow-mode-off-hook): Obsolete hook removed. + (follow-avoid-tail-recenter-p, follow-process-filter-alist): + Vars deleted. + (follow-auto): Use a :set function. + (follow-mode): Rewritten. Don't advise process filters. + (follow-switch-to-current-buffer-all, follow-scroll-up) + (follow-scroll-down): Assume follow-mode is bound. + (follow-comint-scroll-to-bottom) + (follow-align-compilation-windows): New functions. + (follow--window-sorter): New function. + (follow-all-followers): Use it to explicitly sort windows by their + positions; don't make assumptions about next-window order. + (follow-windows-start-end, follow-delete-other-windows-and-split) + (follow-calc-win-start): Doc fix. + (follow-windows-aligned-p, follow-select-if-visible): Don't call + vertical-motion unnecessarily. + (follow-adjust-window): New function. + (follow-post-command-hook): Use it. + (follow-call-set-process-filter, follow-call-process-filter) + (follow-intercept-process-output, follow-tidy-process-filter-alist) + (follow-stop-intercept-process-output, follow-generic-filter): + Functions deleted. + (follow-scroll-bar-toolkit-scroll, follow-scroll-bar-drag) + (follow-scroll-bar-scroll-up, follow-scroll-bar-scroll-down): + New functions, replacing advice on scroll-bar-* commands. + (follow-mwheel-scroll): New function (Bug#4112). + + * comint.el (comint-adjust-point): New function. + (comint-postoutput-scroll-to-bottom): Use it. + Call follow-comint-scroll-to-bottom for Follow mode buffers. + +2012-05-01 Glenn Morris <rgm@gnu.org> + + * term/AT386.el, term/apollo.el, term/bobcat.el, term/cygwin.el: + * term/iris-ansi.el, term/linux.el, term/lk201.el, term/news.el: + * term/screen.el, term/vt102.el, term/vt125.el, term/vt200.el: + * term/vt201.el, term/vt220.el, term/vt240.el, term/vt300.el: + * term/vt320.el, term/vt400.el, term/vt420.el, term/wyse50.el: + Remove no-byte-compile setting. + +2012-05-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-table-with-quoting): Fix compatibility + all-completions code to not return a number in the last cdr. + +2012-04-30 Leo Liu <sdl.web@gmail.com> + + * ibuf-ext.el (ibuffer-diff-buffer-with-file-1): Avoid buffer + read-only error. + +2012-04-29 Chong Yidong <cyd@gnu.org> + + * follow.el (follow-calc-win-end): Rewrite to handle partial + screen lines correctly (Bug#8390). + (follow-avoid-tail-recenter): Minor cleanup. + +2012-04-28 Stefan Monnier <monnier@iro.umontreal.ca> + + Avoid the obsolete `assoc' package. + * speedbar.el (speedbar-refresh): Avoid adelete. + (speedbar-file-lists): Simplify and avoid aput. + * man.el (Man--sections, Man--refpages): New vars, replacing + Man-sections-alist and Man-refpages-alist. + (Man-build-section-alist, Man-build-references-alist): + Use them; avoid aput. + (Man--last-section, Man--last-refpage): New vars. + (Man-follow-manual-reference): Use them. + Use the `default' arg of completing-read. + (Man-goto-section): Idem. Move prompt to the `interactive' spec. + +2012-04-27 Chong Yidong <cyd@gnu.org> + + * vc/diff.el (diff-sentinel): Go to bob (Bug#10259). + + * startup.el (x-apply-session-resources): New function. + + * term/ns-win.el (ns-initialize-window-system): + * term/w32-win.el (w32-initialize-window-system): + * term/x-win.el (x-initialize-window-system): Use it to properly + set menu-bar-mode and other vars from X resources, even if the + initial frame is not a window-system frame (Bug#2299). + + * subr.el (read-key): Avoid running filter function when setting + up temporary tool bar entries (Bug#9922). + +2012-04-27 Andreas Schwab <schwab@linux-m68k.org> + + * vc/vc-git.el (vc-git-state): Fix regexp matching diff output. + (Bug#11344) + +2012-04-27 Chong Yidong <cyd@gnu.org> + + * select.el (xselect--encode-string): New function, split from + xselect-convert-to-string. + (xselect-convert-to-string): Use it. + (xselect-convert-to-filename, xselect-convert-to-os) + (xselect-convert-to-host, xselect-convert-to-user): Ensure that + returned strings are properly encoded (Bug#11315). + +2012-04-27 Chong Yidong <cyd@gnu.org> + + * simple.el (delete-active-region): Move to killing custom group. + +2012-04-27 Andreas Schwab <schwab@linux-m68k.org> + + * progmodes/which-func.el (which-func-current): Quote % + characters for mode-line processing. + +2012-04-27 Chong Yidong <cyd@gnu.org> + + * xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to + reaching eob (Bug#11286). + +2012-04-27 Eli Zaretskii <eliz@gnu.org> + + * progmodes/gdb-mi.el (gdb-control-level): New variable. + (gdb): Make it buffer-local and init to zero. + (gdb-control-commands-regexp): New variable. + (gdb-send): Don't wrap in "-interpreter-exec console" if + gdb-control-level is positive. Increment gdb-control-level + whenever the command matches gdb-control-commands-regexp, and + decrement it each time the command is "end". (Bug#11279) + +2012-04-27 Martin Rudalics <rudalics@gmx.at> + + * window.el (adjust-window-trailing-edge, enlarge-window) + (shrink-window, window-resize): + * mouse.el (mouse-drag-line): Fix resizing of minibuffer + windows (Bug#11276). + +2012-04-27 Chong Yidong <cyd@gnu.org> + + * progmodes/pascal.el (pascal--extra-indent): Rename from ind, to + fix "missing prefix" warning. All callers changed. + +2012-04-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/assoc.el: Move to obsolete/. + +2012-04-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/assoc.el (aget): Fix dynamic-scoping issue (bug#11352). + + * term/ns-win.el (ns-define-service): + * progmodes/pascal.el (pascal-goto-defun): + * progmodes/js.el (js--read-tab): + * progmodes/etags.el (tags-lazy-completion-table): + * emacs-lisp/syntax.el (syntax-propertize-via-font-lock): + * emacs-lisp/ewoc.el (ewoc--wrap): + * emacs-lisp/assoc.el (aput, adelete, amake): + * doc-view.el (doc-view-convert-current-doc): + * vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding. + +2012-04-26 Chong Yidong <cyd@gnu.org> + + * image.el (image-type-from-buffer): Only return supported image + type (Bug#9045). + + * vc/diff-mode.el (diff-beginning-of-hunk): Return a meaningful + value, for symmetry with diff-end-of-hunk. + (diff-split-hunk, diff-find-source-location) + (diff-ignore-whitespace-hunk, diff-refine-hunk): Use it. + (diff-bounds-of-hunk, diff-bounds-of-file): New functions. + (diff-restrict-view, diff-hunk-kill, diff-file-kill): Use them to + compute the relevant hunk or file properly (Bug#6005). + (diff-file-junk-re): Add bzr's "modified file" tag (Bug#6041). + +2012-04-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/vc-mtn.el: + * vc/vc-hg.el: + * vc/vc-git.el: + * vc/vc-dir.el: + * vc/vc-cvs.el: + * vc/vc-bzr.el: + * vc/vc-arch.el: + * vc/vc.el: Replace lexical-let by lexical-binding. + * minibuffer.el (lazy-completion-table): Avoid ((λ ...) ...). + * emacs-lisp/cl-macs.el (lexical-let): Fix use in lexical-binding. + * emacs-lisp/cconv.el (cconv-analyse-form): Warn use of ((λ ...) ...). + +2012-04-26 Chong Yidong <cyd@gnu.org> + + * vc/diff-mode.el (diff-undo): New command (Bug#5302). + (diff-mode-shared-map): Bind it to / and [remap undo]. + + * vc/ediff-wind.el (ediff-setup-windows-default): New function. + (ediff-window-setup-function): Use it as the default, to set up + windows based on whether the current frame is graphical (Bug#2138). + (ediff-choose-window-setup-function-automatically): Make obsolete. + + * vc/ediff-init.el: Always define ediff-pixel-width/height. + +2012-04-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * ffap.el: Remove old code for obsolete package. + (ffap-complete-as-file-p): Remove. + + Use completion-table-with-quoting for comint and pcomplete. + * comint.el (comint--unquote&requote-argument) + (comint--unquote-argument, comint--requote-argument): New functions. + (comint--unquote&expand-filename, comint-unquote-filename): Obsolete. + (comint-quote-filename): Use regexp-opt-charset. + (comint--common-suffix, comint--common-quoted-suffix) + (comint--table-subvert): Remove. + (comint-unquote-function, comint-requote-function): New vars. + (comint--complete-file-name-data): Use them with + completion-table-with-quoting. + * pcmpl-unix.el (pcomplete/scp): Use completion-table-subvert. + * pcomplete.el (pcomplete-arg-quote-list) + (pcomplete-quote-arg-hook, pcomplete-quote-argument): Obsolete. + (pcomplete-unquote-argument-function): Default to non-nil. + (pcomplete-unquote-argument): Simplify. + (pcomplete--common-quoted-suffix): Remove. + (pcomplete-requote-argument-function): New var. + (pcomplete--common-suffix): New function. + (pcomplete-completions-at-point): Use completion-table-with-quoting + and completion-table-subvert. + + * minibuffer.el: Use completion-table-with-quoting for read-file-name. + (minibuffer--double-dollars): Preserve properties. + (completion--sifn-requote): New function. + (completion--file-name-table): Rewrite using it and c-t-with-quoting. + + * minibuffer.el: Add support for completion of quoted/escaped data. + (completion-table-with-quoting, completion-table-subvert): New funs. + (completion--twq-try, completion--twq-all): New functions. + (completion--nth-completion): New function. + (completion-try-completion, completion-all-completions): Use it. + +2012-04-25 Leo Liu <sdl.web@gmail.com> + + * progmodes/python.el (python-pdbtrack-get-source-buffer): + Use compilation-message if available to find real filename. + +2012-04-25 Chong Yidong <cyd@gnu.org> + + * vc/diff-mode.el (diff-setup-whitespace): New function. + (diff-mode): Use it. + + * vc/diff.el (diff-sentinel): + * vc/vc.el (vc-diff-finish): Call diff-setup-whitespace to assign + Whitespace mode variables based on diff style (Bug#8612). + +2012-04-25 Leo Liu <sdl.web@gmail.com> + + * progmodes/python.el (python-send-region): Add suffix .py to the + temp file. + + * files.el (auto-mode-alist): Use javascript-mode instead. + +2012-04-25 Alex Harsanyi <AlexHarsanyi@gmail.com> + + Sync with soap-client repository. Support SOAP simpleType (Bug#10331). + + * net/soap-client.el (soap-resolve-references-for-sequence-type) + (soap-resolve-references-for-array-type): Hack to prevent self + references, see Bug#9. + (soap-parse-envelope): Report the contents of the 'detail' node + when receiving a fault reply. + (soap-parse-envelope): Report the contents of the entire 'detail' node. + + * net/soap-inspect.el (soap-sample-value-for-simple-type) + (soap-inspect-simple-type): New function. + + * net/soap-client.el (soap-simple-type): New struct. + (soap-default-xsd-types, soap-default-soapenc-types) + (soap-decode-basic-type, soap-encode-basic-type): + support unsignedInt and double basic types. + (soap-resolve-references-for-simple-type) + (soap-parse-simple-type, soap-encode-simple-type): New function. + (soap-parse-schema): Parse xsd:simpleType declarations. + + * net/soap-client.el (soap-default-xsd-types) + (soap-default-soapenc-types): Add integer, byte and anyURI types. + (soap-parse-complex-type-complex-content): Use `soap-wk2l' to find + the local name of "soapenc:Array". + (soap-decode-basic-type, soap-encode-basic-type): Support encoding + decoding integer, byte and anyURI xsd types. + +2012-04-25 Chong Yidong <cyd@gnu.org> + + * cus-edit.el (custom-buffer-create-internal): Update header text. + +2012-04-25 Eli Zaretskii <eliz@gnu.org> + + * progmodes/gdb-mi.el (gdb-init-1): Condition Windows-specific + settings on 'system-type', not on 'window-system'. On MS-Windows, + set interactive-mode on in GDB. + +2012-04-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/ruby-mode.el: Simplify last change, and cleanup code. + (ruby-syntax-propertize-regexp): Remove. + (ruby-syntax-propertize-function): Split regexp into chunks. + Match following code directly. + +2012-04-24 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el: Handle Cucumber defs (bug#6286). + (ruby-syntax-propertize-regexp): New function. + (ruby-syntax-propertize-function): Use it to handle regexp not preceded + by a special keyword. + + * progmodes/ruby-mode.el: Handle general delimited literals (bug#6286). + (ruby-syntax-general-delimiters-goto-beg) + (ruby-syntax-propertize-general-delimiters): New functions. + (ruby-syntax-propertize-function): Use them to handle GDL. + (ruby-font-lock-keywords): Move old handling of GDL... + (ruby-font-lock-syntactic-keywords): .. to here. + (ruby-calculate-indent): Adjust indentation for GDL. + +2012-04-24 Michael Albinus <michael.albinus@gmx.de> + + * notifications.el (top): Remove unneeded declarations. + (notifications-specification-version): Change to "1.2". + (notifications-interface, notifications-notify-method) + (notifications-close-notification-method): Fix docstring. + (notifications-get-capabilities-method): New defconst. + (notifications-notify): Add :action-items, :resident and + :transient hints. Change "image_data" to "image-data" and + "image_path" to "image-path". + (notifications-get-capabilities): New defun. + +2012-04-24 Leo Liu <sdl.web@gmail.com> + + * progmodes/python.el: Move hideshow setup to the end. + +2012-04-24 Martin Rudalics <rudalics@gmx.at> + + * window.el (handle-select-window): Clear echo area since this is + no more done by read_char (Bug#11304). + +2012-04-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * ibuffer.el (ibuffer-mode-map): Bind `/ m' to filter-used-mode + and `/ M' to filter-derived-mode. + * ibuf-ext.el (ibuffer-list-buffer-modes): Simplify; avoid add-to-list. + (ibuffer-filter-by-mode, ibuffer-filter-by-used-mode) + (ibuffer-mark-by-mode): Use default rather than initial-input. + (ibuffer-filter-by-derived-mode): Autoload and require-match. + +2012-04-24 Ivan Andrus <darthandrus@gmail.com> (tiny change) + + * ibuf-ext.el (ibuffer-list-buffer-modes): Add `include-parents' arg. + (ibuffer-filter-by-derived-mode): New filter. + * ibuffer.el (ibuffer-mode-map): Bind to `/ w'. + +2012-04-23 Andreas Politz <politza@fh-trier.de> + + * subr.el (accept-change-group): Fix arg usage (Bug#6095). + +2012-04-23 Chong Yidong <cyd@gnu.org> + + * cus-edit.el (customize-apropos, customize-apropos-options): + Disable matching of non-option variables (Bug#11176). + (customize-option, customize-option-other-window) + (customize-changed-options): Doc fix. + (customize-apropos-options, customize-apropos-faces) + (customize-apropos-groups): Use apropos-read-pattern (Bug#11124). + + * apropos.el (apropos-read-pattern): Make prompt less cryptic. + Fix word list splitting (Bug#11132). + (apropos-symbol, apropos-keybinding, apropos-label) + (apropos-property, apropos-function-button) + (apropos-variable-button, apropos-misc-button): New faces. + (apropos-symbol-face, apropos-keybinding-face) + (apropos-label-face, apropos-property-face, apropos-match-face): + Variables removed (Bug#8396). + (apropos-library-button, apropos-format-plist, apropos-print) + (apropos-print-doc, apropos-describe-plist): Callers changed. + +2012-04-23 Michael Albinus <michael.albinus@gmx.de> + + * net/xesam.el (xesam-mode-map): Use let-bound map in + initialization. (Bug#11292) + +2012-04-23 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + Preserve ispell session localwords when switching back to + original buffer. + + * textmodes/ispell.el (ispell-buffer-session-localwords): + New buffer-local variable to hold buffer session localwords. + (ispell-kill-ispell): Add option 'clear to delete session + localwords. + (ispell-command-loop, ispell-change-dictionary) + (ispell-buffer-local-words): Preserve session localwords when + needed. + + * textmodes/flyspell.el (flyspell-process-localwords) + (flyspell-do-correct): Preserve session localwords when needed. + +2012-04-23 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-insert-word) Remove unneeded function + using obsolete `translation-table-for-input'. + (ispell-word, ispell-process-line, ispell-complete-word): + Use plain `insert' instead of removed `ispell-insert-word'. + +2012-04-22 Chong Yidong <cyd@gnu.org> + + * cus-edit.el (custom-variable-menu) + (custom-variable-reset-saved, custom-face-menu) + (custom-face-reset-saved): If there is no saved value, make the + "reset-saved" operation bring back the default (Bug#9509). + (custom-face-state): Properly detect themed faces. + + * faces.el (face-spec-set): Stop supporting deprecated form of + third arg. + +2012-04-22 Michael Albinus <michael.albinus@gmx.de> + + Move functions from C to Lisp. Make non-blocking method calls + the default. Implement further D-Bus standard interfaces. + + * net/dbus.el (dbus-message-internal): Declare function. + Remove unneeded function declarations. + (defvar dbus-message-type-invalid, dbus-message-type-method-call) + (dbus-message-type-method-return, dbus-message-type-error) + (dbus-message-type-signal): Declare variables. Remove local + definitions. + (dbus-interface-dbus, dbus-interface-peer) + (dbus-interface-introspectable, dbus-interface-properties) + (dbus-path-emacs, dbus-interface-emacs, dbus-return-values-table): + Adapt docstring. + (dbus-interface-objectmanager): New defconst. + (dbus-call-method, dbus-call-method-asynchronously) + (dbus-send-signal, dbus-method-return-internal) + (dbus-method-error-internal, dbus-register-service) + (dbus-register-signal, dbus-register-method): New defuns, moved + from dbusbind.c + (dbus-call-method-handler, dbus-setenv) + (dbus-get-all-managed-objects, dbus-managed-objects-handler): + New defuns. + (dbus-call-method-non-blocking): Make it an obsolete function. + (dbus-unregister-object, dbus-unregister-service) + (dbus-handle-event, dbus-register-property) + (dbus-property-handler): Obey the new structure of + `bus-registered-objects'. + (dbus-introspect): Use `dbus-call-method'. Use a timeout. + (dbus-get-property, dbus-set-property, dbus-get-all-properties): + Use `dbus-call-method'. + +2012-04-22 Chong Yidong <cyd@gnu.org> + + * cus-edit.el (custom-commands, custom-reset-menu) + (Custom-reset-standard): Tweak labels. + (custom-reset-button-menu): Change default to t. + (custom-buffer-create-internal): For the custom-reset-button-menu + case, put the revert button first. + (custom-group-subtitle): New face. + (custom-group-value-create): Align docstring to a specific column. + + * wid-edit.el (widget-documentation-link-add): Don't handle + indentation in this function. + (widget-documentation-string-indent-to): New function. + (widget-documentation-string-value-create): Use it. + + * autorevert.el (auto-revert): + * epg-config.el (epg): + * ibuffer.el (ibuffer): + * mpc.el (mpc): + * ses.el (ses): + * eshell/eshell.el (eshell): + * net/ange-ftp.el (ange-ftp): + * progmodes/ebnf2ps.el (postscript): + * progmodes/flymake.el (flymake): + * progmodes/prolog.el (prolog): + * progmodes/verilog-mode.el (verilog-mode): + * progmodes/which-func.el (which-func): + * term/xterm.el (xterm): + * textmodes/picture.el (picture): + * textmodes/tildify.el (tildify): + * vc/ediff.el (ediff): Tweak defgroups to improve presentation in + customization buffers. + +2012-04-22 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): + Adding a ) can hide the resulting (..) from searches. Fix it. + Bound the backward search to the position of the existing (. + +2012-04-21 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/verilog-mode.el (verilog-mode): Check whether + which-func-modes is t before adding verilog-mode. + Reported by Andy Moreton <andrewjmoreton@gmail.com>. + +2012-04-21 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc): Avoid error when process-contact returns t. + +2012-04-21 Michael Vehrs <Michael.Burschik@gmx.de> + + * woman.el: Add support for "T{ T}" tbl syntax, and fix the + filling of the last column of a table (Bug#5635). + (woman-find-next-control-line): New arg, specifying an additional + regexp component for the control line. + (woman2-roff-buffer): Use it. + (woman-break-table): New function. + (woman2-TS): Use it. + +2012-04-21 Chong Yidong <cyd@gnu.org> + + * woman.el (woman-set-buffer-display-table, woman-decode-region) + (woman-horizontal-escapes, woman-negative-vertical-space) + (woman-tab-to-tab-stop, woman2-fc, woman2-TS) + (WoMan-warn-ignored): Use ?\s instead of ?\ . + +2012-04-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-file-name-table): Complete user names. + +2012-04-20 Leo Liu <sdl.web@gmail.com> + + * font-lock.el (lisp-font-lock-keywords-2): Add pcase, pcase-let + and pcase-let*. + +2012-04-20 Chong Yidong <cyd@gnu.org> + + * server.el (server-execute): Respect initial-buffer-choice if it + is a string and there are no files to open (Bug#2825). + (server-create-window-system-frame, server-create-tty-frame): + Don't switch buffers here. + (server-process-filter): Only try to open a window system frame if + compiled with graphical support (Bug#8314). + +2012-04-20 Dan Nicolaescu <dann@gnu.org> + + * battery.el (battery-echo-area-format): Display remaining time + for sysfs backend too (Bug#11269). + (battery-linux-sysfs): Fix conditional for the charge. + +2012-04-20 Chong Yidong <cyd@gnu.org> + + * progmodes/gdb-mi.el (gdb): Revert previous change. + (gdb-inferior-io--init-proc): New function. + (gdb-init-1): Use it. + (gdb-inferior-io-sentinel): New sentinel for the gdb-inferior pty, + responsible for allocating a new pty and hooking it to gdb when + the old pty gets an EIO due to process exit. + (gdb-delchar-or-quit): New command. Bind it in gdb-mi buffers. + (gdb-tooltip-print): Don't use obsolete tooltip-use-echo-area. + (gdb-inferior-io--maybe-delete-pty): Move into gdb-reset. + +2012-04-20 Eli Zaretskii <eliz@gnu.org> + + * window.el (window-min-size, window-sizable, window-min-delta) + (window-max-delta, window--resizable, window-resizable) + (window-total-size, window-full-height-p, window-full-width-p) + (window-in-direction, window--resize-mini-window, window-resize) + (window--resize-child-windows-normal) + (window--resize-child-windows, window--resize-siblings) + (window--resize-this-window, adjust-window-trailing-edge) + (enlarge-window, shrink-window): Doc fixes. + +2012-04-20 Chong Yidong <cyd@gnu.org> + + * progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty): + New function to call delete-process on the gdb-inferior buffer's pty. + (gdb-reset): Use it, instead of relying on kill-buffer to kill the + pty process (Bug#11273). + (gdb-update): New arg to suppress talking to the gdb process. + (gdb-done-or-error): Use it. + (gdb-stopped-functions): Rename from gdb-stopped-hooks. + (gdb): Call gdb-inferior-io--maybe-delete-pty as a workaround for + sentinel not being called. + + * comint.el (make-comint-in-buffer, comint-exec): Doc fix. + + * progmodes/grep.el (grep, rgrep): Doc fix (Bug#11268). + +2012-04-20 Glenn Morris <rgm@gnu.org> + + * net/network-stream.el (open-network-stream): Doc fix. + +2012-04-20 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/tabulated-list.el (tabulated-list-print): Fix typos. + +2012-04-20 Alan Mackenzie <acm@muc.de> + + Ensure searching for keywords is case sensitive. + + * progmodes/cc-cmds.el (c-electric-brace, c-electric-lt-gt) + (c-electric-paren, c-beginning-of-defun, c-end-of-defun) + (c-defun-name, c-mark-function, c-cpp-define-name) + (c-comment-indent, c-scan-conditionals, c-indent-defun) + (c-context-line-break): Bind case-fold-search to nil. + + * progmodes/cc-mode.el (c-font-lock-fontify-region): + Bind case-fold-search to nil. + +2012-04-20 Chong Yidong <cyd@gnu.org> + + * mail/sendmail.el (mail-bury): Call return action with the right + Rmail buffer (Bug#11242). + + * server.el (server-process-filter): Handle corner case where both + tty and nowait options are present (Bug#11102). + +2012-04-20 Eli Zaretskii <eliz@gnu.org> + + * version.el (emacs-bzr-version, emacs-bzr-get-version): Doc fixes. + (top level): Put into the executable the ident-style '$Id:' tag on + windows-nt as well. + +2012-04-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * electric.el (electric-indent-post-self-insert-function): Check that + electric-indent-mode is enabled in current buffer. + +2012-04-19 Juanma Barranquero <lekktu@gmail.com> + + * imenu.el (imenu-progress-message): Restore; it is "used" in + erc/erc-imenu.el and net/snmp-mode.el. + +2012-04-19 Juanma Barranquero <lekktu@gmail.com> + + * avoid.el (mouse-avoidance-mode): Mark unused arg. + (mouse-avoidance-nudge-mouse): Remove unused binding. + + * bs.el (bs-toggle-readonly): Call `toggle-read-only' interactively. + + * descr-text.el (describe-char): + * progmodes/python.el (python-describe-symbol): + Don't call `toggle-read-only', set `buffer-read-only'. + + * imenu.el (imenu-default-goto-function): Mark unused args. + (imenu-progress-message): Remove obsolete macro; all callers changed. + + * subr.el (keymap-canonicalize): Remove unused binding. + (read-passwd): Mark unused arg. + + * tutorial.el (tutorial--display-changes): Remove unused binding. + (tutorial--save-tutorial-to): Remove unused variable. + + * emacs-lisp/package.el (define-package, package-menu-mark-delete) + (package-menu-mark-install, package-menu-mark-unmark): Mark unused args. + (package-generate-autoloads, package-menu--generate) + (package-menu--find-upgrades): Remove unused bindings. + + * emulation/cua-rect.el (cua-restrict-regexp-rectangle) + (cua-restrict-prefix-rectangle): Doc fixes. Remove unused bindings. + (cua--mouse-ignore, cua--delete-rectangle, cua--extract-rectangle) + (cua--indent-rectangle, cua-open-rectangle, cua-close-rectangle) + (cua-blank-rectangle, cua-string-rectangle, cua-replace-in-rectangle) + (cua-incr-rectangle, cua-sequence-rectangle, cua--convert-rectangle-as) + (cua--rectangle-aux-replace, cua--left-fill-rectangle) + (cua-scroll-rectangle-up, cua-scroll-rectangle-down) + (cua-delete-char-rectangle): Mark unused args. + (cua-align-rectangle): Remove unused binding. + + * mail/rmail.el (compilation--message->loc) + (epa--find-coding-system-for-mime-charset): Declare. + + * net/dbus.el (dbus-register-service): Declare. + (dbus-name-owner-changed-handler): Remove unused binding. + + * nxml/nxml-mode.el (nxml-electric-slash, nxml-in-mixed-content-p) + (nxml-compute-indent-from-matching-start-tag): Remove unused variables. + (nxml-scan-backward-within): Mark unused arg. + (nxml-dynamic-markup-word): Remove unused binding. + + * mouse.el (mouse-menu-major-mode-map): + * emacs-lisp/authors.el (authors-scan-change-log) + (authors-add-to-author-list): + * emacs-lisp/avl-tree.el (avl-tree--enter-balance): + * emacs-lisp/smie.el (smie-auto-fill): + * mail/sendmail.el (mail-bury): + * mail/unrmail.el (unrmail): + * net/tls.el (open-tls-stream): + * textmodes/picture.el (picture-mouse-set-point): + Remove unused bindings. + +2012-04-19 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-action-password): Let-bind + `enable-recursive-minibuffers' to t. + +2012-04-18 Sam Steingold <sds@gnu.org> + + * progmodes/gud.el (gud-key-prefix): Use :type 'key-sequence + instead of 'string to accommodate values like [f11]. + Always use `vconcat' instead of `concat' on it, like in `gud-def'. + * progmodes/gdb-mi.el: Likewise. + +2012-04-18 Leo Liu <sdl.web@gmail.com> + + * abbrev.el (edit-abbrevs): Move point to the abbrev table of + current buffer. + (prepare-abbrev-list-buffer): Enter edit-abbrevs-mode only if + LOCAL is nil. + +2012-04-18 Chong Yidong <cyd@gnu.org> + + * simple.el (line-move): Use forward-line if in batch mode + (Bug#11053). + +2012-04-18 Christopher Schmidt <christopher@ch.ristopher.com> + + * files.el (after-find-file): Do not try to add a final newline if + the buffer is read-only (Bug#11156). + +2012-04-17 Richard Stallman <rms@gnu.org> + + * mail/rmail.el (rmail-start-mail): + Pass (rmail-mail-return...) for the return-action. + Pass (rmail-yank-current-message...) for the yank-action. + (rmail-yank-current-message): New function. + (rmail-mail): Pass the Rmail buffer, not view buffer, for replybuffer. + (rmail-reply): Likewise. + (rmail-forward): Pass the Rmail buffer, not nil, for replybuffer. + + * mail/sendmail.el (mail-bury): Choose the first rmail-mode + buffer, not the last. Reject temp buffers. Use the rmail-mode + buffer, not newbuf. + +2012-04-17 Juanma Barranquero <lekktu@gmail.com> + + * server.el (server-ensure-safe-dir): Simplify. + +2012-04-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/smie.el: Provide smarter auto-filling. + (smie-auto-fill): New function. + (smie-setup): Use it. + + * newcomment.el (comment-choose-indent): Obey comment-inline-offset. + +2012-04-17 Philipp Haselwarter <philipp.haselwarter@gmx.de> (tiny change) + + * newcomment.el (comment-inline-offset): New custom var (bug#11090). + (comment-indent): Use it. + +2012-04-17 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el: The overall change is to add cell renaming, that is + setting fancy names for cell symbols other than name matching + "\\`[A-Z]+[0-9]+\\'" regexp . + (ses-localvars): Add ses--renamed-cell-symb-list. + (ses-create-cell-variable): New defun. + (ses-destroy-cell-variable-range): Respect ses--numrows, ses--numcols. + (ses-relocate-formula): Relocate formulas only for cells the + symbols of which are not renamed, i.e. symbols whose names do not + match regexp "\\`[A-Z]+[0-9]+\\'". + (ses-relocate-all): Relocate values only for cells the symbols of + which are not renamed. + (ses-load): Create cells variables as the (ses-cell ...) are read, + in order to check row col consistency with cell symbol name only + for cells that are not renamed. + (ses-replace-name-in-formula): New defun. + (ses-rename-cell): New defun. + +2012-04-17 Peter Oliver <bzr@mavit.org.uk> (tiny change) + + * progmodes/perl-mode.el (perl-indent-parens-as-block): + New option (bug#11118). + (perl-calculate-indent): Respect it. + +2012-04-17 Glenn Morris <rgm@gnu.org> + + * dired-aux.el (dired-mark-read-string): Doc fix. + +2012-04-17 Dmitry Antipov <dmantipov@yandex.ru> + + * dired-aux.el (dired-mark-read-string): Offer optional completion. + (dired-do-chxxx): Complete chown, chgrp over users, groups. (Bug#7900) + +2012-04-17 Glenn Morris <rgm@gnu.org> + + * mouse.el (mouse-drag-track): + * speedbar.el (speedbar-frame-mode): + Use auto-hscroll-mode rather than the alias automatic-hscrolling. + +2012-04-16 Leo Liu <sdl.web@gmail.com> + + * progmodes/python.el: Trivial cleanup. + +2012-04-16 Glenn Morris <rgm@gnu.org> + + * vc/vc.el (vc-string-prefix-p): + * vc/pcvs-util.el (cvs-string-prefix-p): + * textmodes/tex-mode.el (latex-string-prefix-p, tex-string-prefix-p): + * mpc.el (mpc-string-prefix-p): + Make all of these into obsolete aliases for string-prefix-p. + Update callers. + * vc/pcvs.el, vc/vc-dispatcher.el, vc/vc-dir.el: Update callers. + + * textmodes/two-column.el: Move custom options to the start. + (frame-width): Remove compat definition. + (2C-associate-buffer, 2C-dissociate): + Use with-current-buffer rather than save-excursion. + (2C-dissociate): Force a mode-line update. + (2C-autoscroll): Use ignore-errors. + + * emacs-lisp/eieio-opt.el (describe-class, describe-generic): + Autoload trivia. + + * emacs-lisp/cl-extra.el (*random-state*): + Remove unnecessary declaration. + + * calendar/cal-tex.el (cal-tex-end-document): Trivial clarification. + + * play/cookie1.el (cookie-snarf): + Give an explicit error if input file cannot be read. + + * play/yow.el (yow-file): Use expand-file-name rather than concat. + + * progmodes/perl-mode.el (c-macro-expand): + Remove unnecessary autoload (it is in loaddefs.el). + + * textmodes/picture.el (picture-desired-column) + (picture-update-desired-column): Convert comments to doc-strings. + (picture-substitute): Remove function. + (picture-mode-map): Initialize in the defvar. + + * woman.el: Remove eval-after-load for tar-mode. + * tar-mode.el (tar-mode-map): Add woman binding and menu entry. + (woman-tar-extract-file): Autoload it. + + * frame.el (automatic-hscrolling): Make this alias obsolete. + +2012-04-12 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-set-spellchecker-params): Post-process + `ispell-dictionary-alist' to use [:alpha:] and utf-8 if possible. + (ispell-dictionary-base-alist): Revert to original XEmacs + friendly version for default. [:alpha:] will be added in + `ispell-set-spellchecker-params' if needed. + +2012-04-16 Chong Yidong <cyd@gnu.org> + + * image.el (imagemagick--file-regexp): New variable. + (imagemagick-register-types): Use it. + (imagemagick-types-inhibit): Add :set function. Allow new value + of t to inhibit all types. + + * emacs-lisp/regexp-opt.el (regexp-opt-charset): Avoid cl macros, + so we can preload it. + + * loadup.el (fboundp): Preload regexp-opt, needed by + imagemagick-register-types. + +2012-04-15 Chong Yidong <cyd@gnu.org> + + * frame.el (scrolling): Remove nearly unused customization group. + + * scroll-all.el (scroll-all-mode): Move to windows group. + +2012-04-15 Chong Yidong <cyd@gnu.org> + + * bindings.el (goto-map): Bind goto-char to M-g c (Bug#11240). + +2012-04-15 Stefan Monnier <monnier@iro.umontreal.ca> + + Avoid the use of ((lambda ...) ...) in lexical-binding code. + * emacs-lisp/easy-mmode.el (define-minor-mode): Use funcall (bug#11241). + +2012-04-15 Glenn Morris <rgm@gnu.org> + + * simple.el (process-file-side-effects): Doc fix. + +2012-04-15 Glenn Morris <rgm@gnu.org> + + * international/mule-cmds.el (set-language-environment): Doc fix. + +2012-04-14 Juanma Barranquero <lekktu@gmail.com> + + * server.el (server-auth-key, server-generate-key): Doc fixes. + (server-get-auth-key): Doc fix. Use `string-match-p'. + (server-start): Reflow docstring. + +2012-04-14 Lars Ingebrigtsen <larsi@gnus.org> + + * server.el (server-generate-key): `called-interactively-p' + requires a parameter. + +2012-04-14 Michal Nazarewicz <mina86@mina86.com> + + * server.el (server-auth-key): New variable. + (server-generate-key, server-get-auth-key): New function. + (server-start): Use the new variable and functions to allow + setting a permanent server key (bug#9423). + +2012-04-14 Leo Liu <sdl.web@gmail.com> + + * vc/diff-mode.el (diff-file-prev/next): Fix typo. + +2012-04-14 Paul Eggert <eggert@cs.ucla.edu> + + Spelling fixes. + * hexl.el (hexl-rulerize): Rename from hexl-rulerise, since + Emacs uses American spelling. + +2012-04-14 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lock.el (emacs-lock-locked-buffer-functions): New hook. + (emacs-lock--exit-locked-buffer): Return the locked buffer. Doc fix. + (emacs-lock--kill-emacs-hook, emacs-lock--kill-emacs-query-functions) + (emacs-lock--kill-buffer-query-functions): Run new hook. (Bug#11017) + +2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/which-func.el (which-func-modes): Change default. + +2012-04-14 Kim F. Storm <storm@cua.dk> + + * emulation/cua-base.el (cua-exchange-point-and-mark): Just call + exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191). + +2012-04-14 Chong Yidong <cyd@gnu.org> + + * custom.el (custom-theme-set-variables): Doc fix. + +2012-04-14 Glenn Morris <rgm@gnu.org> + + * international/mule.el (set-auto-coding-for-load): Doc fix. + +2012-04-14 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): Make + imenu work again for Objective C Mode. Correct the *-index values, + these having been disturbed by a previous change in 2011-08. + + * progmodes/cc-engine.el (c-before-change-check-<>-operators): + Correct two search limits. + +2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * startup.el (command-line-1): Inhibit splash from daemon (bug#10996). + +2012-04-14 Andreas Schwab <schwab@linux-m68k.org> + + * international/characters.el: Fix sorting. + +2012-04-14 Eli Zaretskii <eliz@gnu.org> + + * international/characters.el: Add more missing Latin case pairs. + +2012-04-14 Glenn Morris <rgm@gnu.org> + + * files.el (dir-locals-set-class-variables): Doc fix. + +2012-04-14 Eli Zaretskii <eliz@gnu.org> + + * international/characters.el: Add set-case-syntax-pair call for + LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case + counterpart. (Bug#11209) + + * simple.el (shell-command-on-region): Doc fix. (Bug#11208) + +2012-04-14 Glenn Morris <rgm@gnu.org> + + * calendar/holidays.el (calendar-check-holidays): Doc fix. + +2012-04-14 Eli Zaretskii <eliz@gnu.org> + + * textmodes/ispell.el (ispell-dictionary-base-alist): + Add data for Hebrew. + +2012-04-14 Chong Yidong <cyd@gnu.org> + + * net/rcirc.el (rcirc-cmd-quit): + Revert 2012-03-18 change (Bug#11192). + +2012-04-14 Glenn Morris <rgm@gnu.org> + + * pcmpl-rpm.el (pcomplete/rpm): Handle -qf. + +2012-04-14 Eli Zaretskii <eliz@gnu.org> + + * minibuffer.el (completion-in-region-mode-map): + Bind completion-help-at-point to M-? rather than ?. (Bug#11182) + +2012-04-13 Vivek Dasmohapatra <vivek@etla.org> + + * hexl.el (hexl-insert-char): Make display sizes other than 16 work. + +2012-04-13 Masatake YAMATO <yamato@redhat.com> + + * minibuffer.el (minibuffer-local-filename-syntax): New variable + to allow `C-M-f' and `C-M-b' to move to the nearest path + separator (bug#9511). + +2012-04-13 Lars Ingebrigtsen <larsi@gnus.org> + + * avoid.el: Require cl when compiling. And also move the + `provide' to the end. + +2012-04-13 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * avoid.el (mouse-avoidance-banish-position): New variable. + (mouse-avoidance-banish-destination): Use it (bug#10165). + +2012-04-13 Leo Liu <sdl.web@gmail.com> + + * progmodes/which-func.el (which-func-modes): Add objc-mode. + +2012-04-13 Ken Brown <kbrown@cornell.edu> + + * net/browse-url.el (browse-url-file-url): Remove Cygwin hack; + this is no longer needed now that cygstart understands file:// URLs. + (browse-url-filename-alist): For the same reason, don't modify + file:// URLs on Cygwin. + +2012-04-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * emulation/cua-base.el (cua--pre-command-handler-1): Don't activate + the region on shift if the binding is already shifted (bug#11221). + +2012-04-12 Glenn Morris <rgm@gnu.org> + + * mail/mailpost.el: Move to obsolete/. + +2012-04-12 Drew Adams <drew.adams@oracle.com> + + * imenu.el (imenu--generic-function): Ignore invisible definitions + (bug#10123). + +2012-04-12 Vivek Dasmohapatra <vivek@etla.org> + + * hexl.el (hexl-bits): New variable. + (hexl-options): Mention the variable in the doc string. + (hexl-rulerise, hexl-line-displen): New functions. + (hexl-mode): Mention the new variable. + (hexl-mode, hexl-current-address, hexl-current-address): + Use the displen. + (hexl-ascii-start-column): New function. + (hexl-address-to-marker, hexl-beginning-of-line, hexl-options) + (hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941). + +2012-04-12 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/flyspell.el (flyspell-large-region): For hunspell, use + '("-i" ENCODING), in 2 separate command-line arguments, to specify + the encoding, as expected by hunspell. + +2012-04-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * battery.el (battery--linux-sysfs-regexp): New const. + (battery-status-function): Use it. Remove yeeloong special case. + (battery-yeeloong-sysfs): Remove. + (battery-echo-area-format): Remove yeeloong special case. + +2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil. + Reported by Noah Friedman. + + * subr.el (read-passwd): Use read-string. + +2012-04-11 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * vcursor.el (vcursor-move): Increase the priority of the overlay + (bug#9663). + +2012-04-11 Deniz Dogan <deniz.a.m.dogan@gmail.com> + + * net/rcirc.el (rcirc-kill-channel-buffers): New variable. + (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128). + +2012-04-11 William Stevenson <yhvh2000@gmail.com> + + * textmodes/artist.el (artist-mode): Convert artist-mode to use + define-minor-mode (bug#10760). + +2012-04-11 Wolfgang Jenkner <wjenkner@inode.at> (tiny change) + + * progmodes/grep.el (rgrep): Tweak the find command line so + that directories matching `grep-find-ignored-files' won't be + pruned (bug#10351). + +2012-04-11 Chong Yidong <cyd@gnu.org> + + * startup.el (command-line): Remove support for long-obsolete + variable font-lock-face-attributes. + +2012-04-11 Glenn Morris <rgm@gnu.org> + + * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug. + +2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el (window--state-get-1): Obey window-point-insertion-type. + +2012-04-11 Lennart Borgman <lennart.borgman@gmail.com> + + * emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes + to previous function when point is on the first character of a + function. Take care of that in `narrow-to-defun' (bug#6157). + +2012-04-11 Glenn Morris <rgm@gnu.org> + + * vc/vc-bzr.el (vc-bzr-status): Handle all errors, + not just file-errors. + + * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove. + (vc-bzr-sha1): Use internal sha1. + +2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954). + +2012-04-10 Sébastien Gross <seb@chezwam.org> (tiny change) + + * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments + that start in the middle of the line (bug#10496). + +2012-04-10 Dan Nicolaescu <dann@gnu.org> + + * battery.el (battery-linux-proc-acpi): Only one battery is + discharged at a time, but that seems to confuse battery.el when + computing `rate-type' for the battery not being discharged + (bug#10332). + +2012-04-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/autoload.el (autoload-make-program): Remove, unused. + + * international/quail.el: Use dolist and simplify. + (quail-define-package, quail-update-keyboard-layout) + (quail-define-rules): Use dolist. + (quail-insert-kbd-layout, quail-get-translation): CSE. + + * tmm.el: Use dolist, remove left over hook. + (tmm-prompt, tmm-define-keys, tmm-shortcut, tmm-get-keybind): + Use dolist. + (calendar-load-hook): Don't mess with it. + + * vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): + Use derived-mode-p. Run the diff asynchronously. + +2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * obsolete/mouse-sel.el: Add an Obsolete-since header. + +2012-04-10 Juanma Barranquero <lekktu@gmail.com> + + * misc.el: Display absolute path of loaded DLLs (bug#10424). + (list-dynamic-libraries--loaded): New function. + (list-dynamic-libraries--refresh): Use it. + +2012-04-10 Nathan Weizenbaum <nweiz@google.com> + + * progmodes/python.el (python-fill-paragraph): + Make python-fill-region in a multiline string work when font-lock is + disabled (bug#7018). + +2012-04-10 Laimonas VÄ—bra <laimonas.vebra@gmail.com> (tiny change) + + * language/european.el (cp775): Add oem/legacy (en)coding on + DOS/MS Windows for the Baltic languages. There are still plenty + of texts written in this encoding/codepage (bug#6519). + +2012-04-10 Glenn Morris <rgm@gnu.org> + + * cus-start.el (eol-mnemonic-unix, eol-mnemonic-dos, eol-mnemonic-mac): + Add :standard values, reducing "rogue" customs in emacs -Q a bit more. + +2012-04-10 Florian Adamsky <florian@adamsky.it> (tiny change) + + * recentf.el (recentf-dialog-mode-map): Add two keybindings for + next-line "n" and previous-line "p" in order to make recentf more + consistent with ibuffer, dired or org-mode (bug#9387). + +2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * image.el (put-image): Return the overlay created instead of the + optional input string (bug#7834). Note that this may break code + that is (for some reason or other) depending on `put-image' + returning the string. + + * mouse-sel.el (mouse-sel-mode): Mark as obsolete (bug#6174). + + * simple.el (zap-to-char): Allow zapping using input methods + (bug#1580). + + * textmodes/fill.el (fill-region): Leave point and mark where they + were before filling (bug#5399). + +2012-04-09 Glenn Morris <rgm@gnu.org> + + * version.el (emacs-bzr-get-version): + Handle lightweight checkouts of local branches. + +2012-04-09 Andreas Schwab <schwab@linux-m68k.org> + + * international/characters.el: Recover lost case pairs. (Bug#11209) + +2012-04-09 Chong Yidong <cyd@gnu.org> + + * custom.el (custom-variable-p): Return nil for non-symbol + arguments instead of signaling an error. + (user-variable-p): Obsolete alias for custom-variable-p. + + * apropos.el (apropos-variable): + * files-x.el (read-file-local-variable): + * simple.el (set-variable): + * woman.el (woman-mini-help): + * emacs-lisp/byte-opt.el (side-effect-free-fns): Callers changed. + +2012-04-09 Glenn Morris <rgm@gnu.org> + + * startup.el (normal-top-level): Don't look for leim-list.el + in places where it will not be found. (Bug#910) + + * international/mule-cmds.el (set-default-coding-systems): + * files.el (normal-mode): + Remove guarded calls to ucs-set-table-for-input. (Bug#9821) + This function was removed with ucs-tables.el in 2008. + +2012-04-08 Eli Zaretskii <eliz@gnu.org> + + * textmodes/ispell.el (ispell-check-version): For hunspell, set + ispell-encoding8-command to "-i", without a trailing space. + (ispell-start-process): For hunspell, use '("-i" ENCODING), in 2 + separate command-line arguments, to specify the encoding, since + that's how hunspell expects it. + +2012-04-08 Glenn Morris <rgm@gnu.org> + + * loadup.el: Load bindings before cus-start. + This reduces somewhat the number of "rogue" settings in emacs -Q. + +2012-04-07 Glenn Morris <rgm@gnu.org> + + * version.el (emacs-bzr-get-version): New function. + (emacs-bzr-version): New variable. + * loadup.el (emacs-bzr-version): Set it. (Bug#8054) + * mail/emacsbug.el (report-emacs-bug): Include bzr version. + +2012-04-07 Eli Zaretskii <eliz@gnu.org> + + * international/uni-bidi.el, international/uni-category.el: + * international/uni-combining.el, international/uni-decimal.el: + * international/uni-decomposition.el, international/uni-digit.el: + * international/uni-lowercase.el, international/uni-mirrored.el: + * international/uni-name.el, international/uni-numeric.el: + * international/uni-titlecase.el, international/uni-uppercase.el: + Update for Unicode 6.1. + +2012-04-07 Eli Zaretskii <eliz@gnu.org> + + * term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs. + +2012-04-05 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * window.el (shrink-window): Mention the `window-min-height' + variable in the doc string. + +2012-04-05 Bastien Guerry <bzg@altern.org> + + * color.el (color-lighten-name): Fix typo. + +2012-04-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * server.el (server--on-display-p): New function. + (server--on-display-p): Use it. + +2012-04-04 Gábor Vida <vidagabor@gmail.com> (tiny change) + + * ido.el (ido-wide-find-dirs-or-files): Use file-name-absolute-p + (bug#11145). + +2012-04-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * comint.el (comint--common-quoted-suffix): Check string boundary + before comparing (bug#11158). + * pcomplete.el (pcomplete--common-quoted-suffix): Idem. + +2012-04-04 Chong Yidong <cyd@gnu.org> + + * minibuffer.el (completion-extra-properties): Doc fix. + + * subr.el (delayed-warnings-hook): Doc fix. + +2012-04-04 Daiki Ueno <ueno@unixuser.org> + + * epa.el (epa--select-keys): Bind C-c C-c to finish the key + selection (Bug#11159). + (epa-insert-keys): Inform that the default public key will be + exported if no key is selected. + +2012-04-04 Richard Stallman <rms@gnu.org> + + * mail/emacsbug.el (report-emacs-bug): Bind inhibit-read-only. + +2012-04-03 Chong Yidong <cyd@gnu.org> + + * mail/sendmail.el (mail-mode-map): Bind C-c C-i to + mail-insert-file, not its obsolete alias mail-attach-file. + +2012-04-03 Michael Albinus <michael.albinus@gmx.de> + + * notifications.el (notifications-notify): Fix docstring. + +2012-04-02 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-aliases): Another addition. + +2012-04-02 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-gvfs.el (tramp-gvfs-send-command): Apply + `tramp-compat-call-process' instead of `tramp-local-call-process'. + Reported by Magnus Henoch <magnus.henoch@gmail.com>. + +2012-04-01 Chong Yidong <cyd@gnu.org> + + * files.el (file-in-directory-p): Rename from file-subdir-of-p. + Handle root directory properly. + (copy-directory): Caller changed. + + * dired-aux.el (dired-copy-file-recursive, dired-create-files): + * net/tramp.el (tramp-file-name-for-operation): Callers changed. + +2012-03-31 Glenn Morris <rgm@gnu.org> + + * term/xterm.el (xterm-extra-capabilities): Doc fix. + + * language/indian.el ("Devanagari"): Fix typo. (Bug#11103) + + * calendar/calendar.el (calendar-window-list) + (calendar-hide-window): Restore. (Bug#11140) + (calendar-exit): Use calendar-window-list, calendar-hide-window again. + + * emacs-lisp/edebug.el (edebug-unwrap-results): Doc fix. + +2012-03-30 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * dired-aux.el (dired-copy-file-recursive, dired-create-files): + Check if file is a symlink (Bug#10489). + + * files.el (copy-directory): Likewise. + +2012-03-30 Chong Yidong <cyd@gnu.org> + + * image.el (imagemagick-types-inhibit) + (imagemagick-register-types): Doc fix. + +2012-03-30 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-get-extended-character-mode): + Disable extended-char-mode for hunspell. hunspell does not support it + and treats ~word as ordinary words in pipe mode. + +2012-03-30 Glenn Morris <rgm@gnu.org> + + * tutorial.el (help-with-tutorial): Ensure local variables don't + happen to make the buffer read-only. (Bug#11127) + +2012-03-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/perl-mode.el (perl-indent-line): Use `noindent' in strings. + (perl-calculate-indent): Return `noindent' in strings. + +2012-03-28 Sam Steingold <sds@gnu.org> + + * calendar/calendar.el (calendar-exit): Use `quit-windows-on' + instead of the broken adhockery which does not prevent calendar + buffers from being displayed at random after exit. + (calendar-window-list, calendar-hide-window): Remove the broken + adhockery. + +2012-03-28 Glenn Morris <rgm@gnu.org> + + * replace.el (query-replace-map): Doc fix. + +2012-03-28 Andreas Schwab <schwab@linux-m68k.org> + + * vc/vc-git.el (vc-git-state): Don't try to match all of the diff + contents. (Bug#11109) + +2012-03-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/avl-tree.el (avl-tree--enter-balance): Fix paren typo + (bug#11077). + (avl-tree--check, avl-tree--check-node): New funs. + +2012-03-27 Martin Rudalics <rudalics@gmx.at> + + * window.el (switch-to-visible-buffer): New option. + (switch-to-prev-buffer, switch-to-next-buffer): + Observe switch-to-visible-buffer. Make sure that checking for a window + showing a buffer already is done on the same frame. + +2012-03-27 Glenn Morris <rgm@gnu.org> + + * startup.el (mail-host-address): Doc fix. + +2012-03-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (byte-compile-constants-vector): Allow more + than 197 variables. + +2012-03-26 Ami Fischman <ami@fischman.org> + + * vc/vc-git.el (vc-git-state): Avoid unnecessarily locking. + +2012-03-26 Glenn Morris <rgm@gnu.org> + + * files.el (save-buffers-kill-emacs): Doc fix. + + * startup.el (normal-top-level, command-line, command-line-1): + Give them doc strings. + +2012-03-25 Eli Zaretskii <eliz@gnu.org> + + * makefile.w32-in (install): Use $(DIRNAME)_same-dir.tst instead + of same-dir.tst, to avoid stepping on other (parallel) Make job's toes. + +2012-03-25 Chong Yidong <cyd@gnu.org> + + * custom.el (load-theme): Even if NO-ENABLE arg is t, reenable the + theme if it was previously enabled before (Bug#11031). + + * cus-theme.el (custom-theme-write-faces): Retrieve current face + spec with custom-face-get-current-spec if its :shown-value is not + determined yet (Bug#9337). + (customize-create-theme, custom-theme-revert): Doc fixes. + + * button.el (button-at): Minor addition to docstring. + +2012-03-24 Simon Leinen <simon.leinen@gmail.com> + + * vc/vc.el (vc-merge): Fix a prompt. + +2012-03-24 Chong Yidong <cyd@gnu.org> + + * mwheel.el (mwheel-scroll): Call deactivate-mark at the right + point (Bug#9623). + + * button.el (button-at): Minor addition to docstring. + +2012-03-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * newcomment.el (comment-choose-indent): No space after BOL. + +2012-03-22 Sam Steingold <sds@gnu.org> + + * window.el (switch-to-prev-buffer): Revert last patch because the + bug turned out to be an advertised feature (Elisp manual 28.14). + +2012-03-22 Glenn Morris <rgm@gnu.org> + + * vc/vc-bzr.el (vc-bzr-status-switches): New option. (Bug#6724) + (vc-bzr-command): If running "status", pass vc-bzr-status-switches. + +2012-03-22 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/network-stream.el (network-stream-open-starttls): Make error + message under Windows be less misleading. + +2012-03-22 Liang Wang <netcasper@gmail.com> (tiny change) + + * progmodes/etags.el (etags-list-tags): Only use tags which goto-func + understands (bug#9942). + +2012-03-22 Chong Yidong <cyd@gnu.org> + + * simple.el (end-of-visible-line): Handle return value of + next-single-property-change properly (Bug#9371). + +2012-03-22 Kenichi Handa <handa@m17n.org> + + * international/quail.el (quail-insert-kbd-layout): Fix previous + change. To avoid unwanted bidi reordering, use + bidi-string-mark-left-to-right instead of inserting LRO and PDF. + +2012-03-21 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el: Don't confuse "end:" for "end" (bug#10786). + (ruby-block-end-re, ruby-delimiter, ruby-parse-partial) + (ruby-beginning-of-indent): Be more careful with the difference + between word-boundary and symbol boundary. + (ruby-mode-syntax-table): Make : a symbol constituent. + +2012-03-21 Andreas Politz <politza@fh-trier.de> + + * outline.el (outline-flag-region): Evaporate overlays (bug#10789). + +2012-03-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/etags.el (tags-completion-at-point-function): + Improve last fix. + + * files.el (move-file-to-trash): Files aren't regexps (bug#11055). + +2012-03-21 Sam Steingold <sds@gnu.org> + + * progmodes/etags.el (tags-completion-at-point-function): + Avoid the error when point is inside the pattern. + +2012-03-21 John Yates <john@yates-sheets.org> (tiny change) + + * progmodes/hideshow.el (hs-inside-comment-p): Fix hiding of first + line (Bug#10855). + +2012-03-21 Drew Adams <drew.adams@oracle.com> + + * info.el (Info-menu): Handle string value of FORK arg (Bug#10858). + +2012-03-21 Anmol Khirbat <anmol@khirbat.net> (tiny change) + + * ido.el (ido-set-current-directory, ido-read-internal) + (ido-choose-completion-string, ido-completion-help): Handle nil + value of ido-completion-buffer (Bug#11008). + +2012-03-21 Sam Steingold <sds@gnu.org> + + * window.el (switch-to-prev-buffer): Do not switch to a visible + window previous buffer, just like with the frame previous buffers. + +2012-03-21 Chong Yidong <cyd@gnu.org> + + * faces.el (make-face, make-empty-face, copy-face): + * face-remap.el (face-remap-add-relative, face-remap-set-base): + Doc fixes. + +2012-03-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * wid-edit.el (widget-complete-field): Remove (bug#11051). + (widget-complete): Remove broken use of it. + +2012-03-20 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): + Use string-width and truncate-string-width to handle arbitrary + characters. + +2012-03-20 Tassilo Horn <tassilo@member.fsf.org> + + * textmodes/artist.el (artist-menu-map): Bind Rectangle menu item + to draw rectangles, not squares. (Regression introduced by revno + 2011-03-02T03:48:01Z!cyd@stupidchicken.com) + +2012-03-18 Chong Yidong <cyd@gnu.org> + + * faces.el (face-spec-reset-face): Don't call display-graphic-p if + it is not yet defined (for temacs). + +2012-03-18 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc-cmd-quit): Allow quitting all servers with + prefix. + +2012-03-17 Eli Zaretskii <eliz@gnu.org> + + * textmodes/ispell.el (ispell-skip-tib, ispell-keep-choices-win) + (ispell-choices-win-default-height, ispell-silently-savep) + (ispell-dictionary-alist, ispell-encoding8-command) + (ispell-check-version, ispell-aspell-find-dictionary) + (ispell-valid-dictionary-list, ispell-words-keyword) + (ispell-get-word, ispell-internal-change-dictionary) + (ispell-region, ispell-skip-region-list) + (ispell-begin-skip-region-regexp, ispell-ignore-fcc) + (ispell-process-line, ispell-minor-mode, ispell-minor-check) + (ispell-message-text-end, ispell-message) + (ispell-buffer-local-parsing): Doc fix. + +2012-03-13 Jambunathan K <kjambunathan@gmail.com> + + * htmlfontify.el: Add support for code block fontification for ODT + export (Bug #9914). + (hfy-optimisations): Define new option + `body-text-only' + (hfy-fontify-buffer): Honor above setting. + (hfy-begin-span, hfy-end-span): New routines factored out form + `hfy-fontify-buffer'. + (hfy-begin-span-handler, hfy-end-span-handler): New variables + that permit insertion of custom tags. + (hfy-fontify-buffer): Use above handlers. + (hfy-face-to-css-default): Same as the earlier `hfy-face-to-css'. + (hfy-face-to-css): Re-defined to be a variable. + (hfy-compile-stylesheet): Modify. Allow stylesheet to be built + over multiple runs. This is made possible by having the caller let + bind a special variable `hfy-user-sheet-assoc'. + (htmlfontify-string): New defun. + (hfy-compile-face-map): Make sure that the last char in the + buffer is correctly fontified. + (hfy-face-resolve-face): Whitespace only change. + +2012-03-17 Eli Zaretskii <eliz@gnu.org> + + * textmodes/ispell.el (ispell-get-decoded-string): Make the error + message more clear. + +2012-03-16 Leo Liu <sdl.web@gmail.com> + + * emacs-lisp/copyright.el (copyright-year-ranges): Fix typo. + +2012-03-16 Alan Mackenzie <acm@muc.de> + + Further optimize the handling of large macros. + + * progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use a + limit to a call of `c-literal-limits'. + (c-determine-+ve-limit): New function. + (c-at-macro-vsemi-p): Move `c-in-literal' to the bottom of an `and'. + (c-guess-basic-syntax): In macros, restrict a search limit to 2000. + In CASE 5B, restrict a search limit to 500. + (c-just-after-func-arglist-p): Obviouly wrong `or' -> `and'. + + * progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): + Restrict macro bounds to +-500 from after-change's BEG END. + +2012-03-16 Leo Liu <sdl.web@gmail.com> + + * font-lock.el (lisp-font-lock-keywords-2): Add letrec. + +2012-03-16 Aaron S. Hawley <Aaron.S.Hawley@gmail.com> + + * tar-mode.el (tar-mode): Fix saving by conditionally undoing + `special-mode' setting of `buffer-read-only'. (Bug#11010) + +2012-03-16 Glenn Morris <rgm@gnu.org> + + * view.el (view-buffer, view-buffer-other-window) + (view-buffer-other-frame): Doc fixes re special mode-class. + + * subr.el (eval-after-load): If named feature is provided not from + a file, run after-load forms. (Bug#10946) + + * calendar/calendar.el (calendar-insert-at-column): + Handle non-unit-width characters a bit better. (Bug#10978) + +2012-03-15 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/ring.el (ring-extend): New function. + (ring-insert+extend): Extend the ring correctly (Bug#11019). + + * comint.el (comint-read-input-ring) + (comint-add-to-input-history): Grow comint-input-ring lazily. + +2012-03-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/perl-mode.el (perl-syntax-propertize-special-constructs): + Fix up parsing of multiline twoarg non-paired elements (bug#11014). + + * imenu.el: Fix multiple inheritance breakage (bug#9199). + (imenu-add-to-menubar): Don't add a redundant index. + (imenu-update-menubar): Handle a dynamically composed keymap. + +2012-03-13 Katsumi Yamaoka <yamaoka@jpl.org> + + * mail/sendmail.el (mail-encode-header): + Bind rfc2047-encode-encoded-words to nil. + +2012-03-13 Glenn Morris <rgm@gnu.org> + + * calendar/calendar.el (calendar-string-spread): + Handle non-unit-width characters a bit better. (Bug#10978) + +2012-03-13 Leo Liu <sdl.web@gmail.com> + + * vc/vc-hg.el (vc-hg-working-revision): Rework to work with both + directory and file as argument (Bug#10822). + +2012-03-13 Kaushik Srenevasan <ksrenevasan@gmail.com> (tiny change) + + * progmodes/gdb-mi.el (gdb-invalidate-disassembly): + For dynamically generated code, follow $PC. + (gdb-disassembly-handler-custom): Handle no function name case. + +2012-03-13 Tim Landscheidt <tim@tim-landscheidt.de> (tiny change) + + * calendar/icalendar.el (icalendar-export-file, icalendar-import-file): + * emulation/ws-mode.el (ws-query-replace): + * sort.el (sort-regexp-fields): + Fix missing trailing whitespace in interactive prompts. (Bug#11002) + +2012-03-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * dabbrev.el: Fix cycle completion order (bug#10963). + (dabbrev--last-obarray, dabbrev--last-completion-buffer): Remove. + (dabbrev-completion): Don't use an obarray; provide + a cycle-sort-function. + +2012-03-12 Leo Liu <sdl.web@gmail.com> + + * simple.el (kill-new): Use equal-including-properties for comparison. + (kill-do-not-save-duplicates): Doc fix. + +2012-03-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * dabbrev.el: Fix cycle completion (bug#10963). + Use lexical binding and wrap to 80 columns. + (dabbrev-completion): Delay computing the list of completions. + +2012-03-12 Kenichi Handa <handa@m17n.org> + + * international/quail.el (quail-insert-kbd-layout): Surround each + row by LRO and PDF instead of inserting many LRMs. Pad the left + and right of each non-spacing marks. Insert invisible space + between lower and upper characters to prevent composition. + +2012-03-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (minibuffer-complete): Don't get confused when the + function is run twice via different commands (bug#10958). + (complete-with-action): Fix docstring. + +2012-03-12 Chong Yidong <cyd@gnu.org> + + * nxml/nxml-mode.el (nxml-mode-map): Do not bind C-RET (Bug#6776). + (nxml-completion-at-point-function): New function. + (nxml-mode): Use it. + (nxml-bind-meta-tab-to-complete-flag): Default to t. + + * emacs-lisp/package.el (package-unpack, package-unpack-single): + Load generated autoloads file before byte compiling (Bug#10970). + (package--make-autoloads-and-compile): New helper fun. + +2012-03-12 Christopher Schmidt <christopher@ch.ristopher.com> + + * ibuffer.el (ibuffer-redisplay): Remove another gratuitous error. + +2012-03-11 Michael Albinus <michael.albinus@gmx.de> + + * autorevert.el (auto-revert-handler): Ensure, that + file-readable-p is applied only for local files or in + auto-revert-tail-mode. + +2012-03-11 Andreas Schwab <schwab@linux-m68k.org> + + * server.el (server-eval-at): Handle non-tcp connections. + Decode result string. + + * server.el (server-msg-size): New constant. + (server-reply-print): New function. + (server-eval-and-print): Use it. + (server-eval-at): Use server-quote-arg and server-unquote-arg. + Handle -print-nonl. + +2012-03-11 Christopher Schmidt <christopher@ch.ristopher.com> + + * ibuffer.el (ibuffer-redisplay): Remove gratuitous error + (Bug#10987). + +2012-03-11 Chong Yidong <cyd@gnu.org> + + * simple.el (goto-line): Doc fix (Bug#9938). + + * subr.el (save-window-excursion): Doc fix (Bug#9979). + + * dabbrev.el (dabbrev--find-expansion): Update progress reporter + when finished (Bug#10963). + +2012-03-11 Martin Rudalics <rudalics@gmx.at> + + * window.el (split-window-below): Fix bug in case where + split-window-keep-point is nil (Bug#10971). + +2012-03-11 Juri Linkov <juri@jurta.org> + + * replace.el (replace-highlight): Set isearch-word to nil + unconditionally. (Bug#10887) + +2012-03-10 Eli Zaretskii <eliz@gnu.org> + + * net/mairix.el (mairix-replace-invalid-chars): Rename from + mairix-replace-illegal-chars; all callers changed. Don't remove + ^, ~, and = characters: they are meaningful in mairix search specs. + (mairix-widget-create-query): Add usage information about mairix + search forms: negating words, searching for substrings, etc. + +2012-03-10 Jae-hyeon Park <jae-hyeon.park@desy.de> (tiny change) + + * international/fontset.el (font-encoding-alist): Add an entry for + ksx1001 (Bug#5667). + +2012-03-10 Richard Stallman <rms@gnu.org> + + * mail/sendmail.el (mail-encode-header): + Set rfc2047-encode-encoded-words. + + * mail/mail-utils.el (mail-quote-printable): Quote multibyte chars. + + * mail/rmail.el (rmail-buffers-swapped-p): Don't assume dead + view buffer means not swapped. + (rmail-view-buffer-kill-buffer-hook): Give buf name in error msg. + (rmail-write-region-annotate): Error if real text has disappeared. + + * epa-mail.el (epa-mail-encrypt): Bind inhibit-read-only. + +2012-03-10 Chong Yidong <cyd@gnu.org> + + * emulation/cua-rect.el (cua--init-rectangles): + * emulation/cua-base.el (cua--init-keymaps): + Add delete-forward-char to remappings (Bug#9666). + +2012-03-10 Martin Rudalics <rudalics@gmx.at> + + * speedbar.el (speedbar-unhighlight-one-tag-line): + Avoid unhighlighting due to frame switching (Bug#10275). + +2012-03-10 Chong Yidong <cyd@gnu.org> + + * minibuffer.el (completion-in-region, completion-help-at-point): + Give the completion field overlay a high priority (Bug#6830). + + * dired.el (dired-goto-file): Recognize absolute file name + listings (Bug#7126). + (dired-goto-file-1): New helper function. + (dired-toggle-read-only): Inhibit warnings. + +2012-03-09 Michael Albinus <michael.albinus@gmx.de> + + * net/dbus.el (dbus-property-handler): Return empty array if + there are no properties. + +2012-03-09 Leo Liu <sdl.web@gmail.com> + + * savehist.el (savehist-printable): Stricter check for string + value (Bug#10937). + +2012-03-09 Eli Zaretskii <eliz@gnu.org> + + * mail/smtpmail.el (smtpmail-send-it): + Bind coding-system-for-write to *-unix, so that FCC files are kept in + valid mbox format. + +2012-03-09 Glenn Morris <rgm@gnu.org> + + * files.el (dir-locals-find-file): + Don't check result is regular, readable. + (dir-locals-read-from-file): Demote errors. + +2012-03-08 Eli Zaretskii <eliz@gnu.org> + + * international/quail.el (quail-insert-kbd-layout): + Insert invisible LRM characters before each character in a keyboard + layout cell, to prevent their reordering by bidi display engine. + For details, see the discussion in + http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00085.html. + +2012-03-08 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-cmds.el (c-mark-function): Make it leave a mark at + the starting position; make it extend the marked region when + invoked repeatedly - all under appropriate circumstances. + Fixes bugs #5525, #10906. + +2012-03-08 Glenn Morris <rgm@gnu.org> + + * files.el (locate-dominating-file, dir-locals-find-file): + Undo 2012-03-06 change. + +2012-03-07 Eli Zaretskii <eliz@gnu.org> + + * international/quail.el (quail-help): + Force bidi-paragraph-direction be left-to-right. See discussion in + http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00062.html + for the reason. + +2012-03-07 Michael Albinus <michael.albinus@gmx.de> + + Avoid superfluous registering of signals. (Bug#10807) + + * notifications.el (notifications-on-action-object) + (notifications-on-close-object): New defvars. + (notifications-on-action-signal, notifications-on-closed-signal): + Unregister the signal if not needed any longer. + (notifications-notify): Register `notifications-action-signal' or + `notifications-closed-signal', if :on-action or :on-close has been + passed as argument. + +2012-03-07 Chong Yidong <cyd@gnu.org> + + * cus-start.el: Avoid x-select-enable-clipboard-manager warning on + non-X platforms. + +2012-03-06 Glenn Morris <rgm@gnu.org> + + * term/pc-win.el (x-selection-owner-p, x-own-selection-internal) + (x-disown-selection-internal, x-get-selection-internal): + Doc fix (add arglist signatures). (Bug#10783) + +2012-03-06 Kaushik Srenevasan <ksrenevasan@gmail.com> (tiny change) + + * progmodes/gdb-mi.el (gdb-breakpoints-list-handler-custom): + Handle breakpoints with no "type". + +2012-03-06 Glenn Morris <rgm@gnu.org> + + * files.el (locate-dominating-file): Add optional predicate argument. + (dir-locals-find-file): Make use of above change. + +2012-03-06 Thien-Thi Nguyen <ttn@gnuvola.org> + + * info.el (Info-insert-dir): Also try "dir.gz". + +2012-03-06 Glenn Morris <rgm@gnu.org> + + * files.el (dir-locals-find-file): + Ignore non-readable or non-regular files. (Bug#10928) + + * files.el (locate-dominating-file): Doc fix. + +2012-03-06 Adam Spiers <emacs@adamspiers.org> (tiny change) + + * calendar/calendar.el (calendar-set-mode-line): + `getenv' returns a string. (Bug#10951) + +2012-03-05 Leo Liu <sdl.web@gmail.com> + + * simple.el (backward-delete-char-untabify): Constrain point to + field (Bug#10939). + + * eshell/em-cmpl.el (eshell-cmpl-initialize): Fix shift-tab key. + +2012-03-05 Chong Yidong <cyd@gnu.org> + + * simple.el (count-words): If called from Lisp, return the word + count, for symmetry with `count-lines'. Arglist changed. + (count-words--message): Args changed. Consolidate counting code + from count-words and count-words-region. + (count-words-region): Caller changed. + (count-lines-region): Make it an obsolete alias. + +2012-03-04 Tassilo Horn <tassilo@member.fsf.org> + + * saveplace.el (save-place-to-alist) + (save-place-ignore-files-regexp): Allow value nil to disable this + feature. + +2012-03-04 Chong Yidong <cyd@gnu.org> + + * faces.el (face-spec-reset-face): For the default face, reset the + attributes to default values (Bug#10748). + +2012-03-04 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/emacsbug.el (report-emacs-bug-hook): Fix up thinko in + previous patch: Check `message-send-mail-function', and not the + default function (bug#10897). + +2012-03-04 Michael Albinus <michael.albinus@gmx.de> + + * notifications.el (notifications-on-action-signal) + (notifications-on-closed-signal): Check for unique service name of + incoming event. Fix error in removing entry. + (top): Register for signals with wildcard service name. + (notifications-notify): Use daemon unique service name for map entries. + +2012-03-04 Chong Yidong <cyd@gnu.org> + + * cus-start.el: Make x-select-enable-clipboard-manager customizable. + +2012-03-04 Glenn Morris <rgm@gnu.org> + + * abbrev.el (copy-abbrev-table, abbrev-table-p) + (abbrev-minor-mode-table-alist, define-abbrev, abbrev-insert) + (expand-abbrev, define-abbrev-table): Doc fixes. + +2012-03-03 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/emacsbug.el (report-emacs-bug-hook): Look at the value of + `message-default-send-mail-function' and not `send-mail-function' + when doing the prompting for `sendmail-query-once' before sending + in Message buffers (bug#10897). + + * net/tls.el (open-tls-stream): Don't set the dont-query-on-exit flag. + This is inconsistent with all the other stream functions, which leave + the setting up to the higher levels (if so wanted) (bug#10931). + +2012-03-02 Alan Mackenzie <acm@muc.de> + + Depessimize the handling of very large macros. + + * progmodes/cc-engine.el (c-macro-cache, c-macro-cache-start-pos): + (c-macro-cache-syntactic): New variables to implement a one + element macro cache. + (c-invalidate-macro-cache): New function. + (c-beginning-of-macro, c-end-of-macro, c-syntactic-end-of-macro): + Adapt to use the new cache. + (c-state-safe-place): Use better the cache of safe positions. + (c-state-semi-nonlit-pos-cache) + (c-state-semi-nonlit-pos-cache-limit): + New variables for... + (c-state-semi-safe-place): New function. Here, in a macro is "safe". + (c-invalidate-state-cache-1): New stuff for c-state-semi-safe-place. + (c-in-literal, c-literal-limits, c-determine-limit-get-base): + Use c-state-semi-safe-place. + + * progmodes/cc-langs.el (c-get-state-before-change-functions): + Add c-invalidate-macro-cache to the C, C++, Obj entries. + +2012-03-02 Michael Albinus <michael.albinus@gmx.de> + + * jka-compr.el (jka-compr-call-process): + Apply `file-accessible-directory-p' only when the default directory is + not remote. + +2012-03-01 Michael Albinus <michael.albinus@gmx.de> + + * files.el (file-equal-p): Fix docstring. Avoid unnecessary + access of FILE2, if FILE1 does not exist. + + * net/tramp-sh.el (tramp-remote-process-environment): Add "PAGER=\"\"". + Reported by Robert Lupton the Good <rhl@astro.princeton.edu>. + + * vc/vc-git.el (vc-git--call): Enable `inhibit-null-byte-detection'. + Add "PAGER=" to `process-environment'. + +2012-03-01 Michael R. Mauger <mmaug@yahoo.com> + + * progmodes/sql.el: Bug fix + (sql-get-login-ext): Save login values in globals. + (sql-get-login): Use new version of `sql-get-login-ext'. + (sql-interactive-mode): Set global `sql-connection' to nil. + (sql-connect): Set global values for connection. + (sql-product-interactive): Save global values as buffer local. + +2012-02-29 Leo Liu <sdl.web@gmail.com> + + * abbrev.el (define-abbrevs): Reset sys to nil. + +2012-02-28 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * files.el (file-equal-p): Rename from `files-equal-p'. + Return nil when one or both files don't exist. + (file-subdir-of-p): Now only top directory must exists, + return nil if it doesn't. + (copy-directory): No need to test with `file-subdir-of-p' after + creating dir. + * net/tramp.el (tramp-file-name-for-operation): Rename `files-equal-p' + to `file-equal-p'. + +2012-02-28 Glenn Morris <rgm@gnu.org> + + * shell.el (shell-mode): + * progmodes/vhdl-mode.el (wildcard-to-regexp, file-expand-wildcards): + * play/landmark.el (landmark-font-lock-face-O): + * play/handwrite.el (handwrite): + * play/gomoku.el (gomoku-O): + * net/browse-url.el (browse-url-browser-display): + * international/mule.el (define-charset): + * htmlfontify.el (hfy-etags-cmd, hfy-face-attr-for-class): + * filesets.el (filesets-find-file-delay): + * eshell/em-xtra.el (eshell-xtra): + * eshell/em-unix.el (eshell-grep): + * emulation/viper.el (viper-mode): + * emacs-lisp/regexp-opt.el (regexp-opt-group): + * emacs-lisp/easymenu.el (easy-menu-define): + * calendar/timeclock.el (timeclock-use-display-time): + * bs.el (bs-mode): + * bookmark.el (bookmark-save-flag): + Doc fix (standardize possessive apostrophe usage). + +2012-02-27 Chong Yidong <cyd@gnu.org> + + * emulation/viper-cmd.el (viper-intercept-ESC-key): + Fix key-binding lookup for ESC key (Bug#9146). + + * font-lock.el (font-lock-specified-p): Rename from + font-lock-spec-present. Callers changed. + +2012-02-27 Daniel Hackney <dan@haxney.org> + + * emacs-lisp/package.el (package-compute-transaction): + Handle holding a package version to t in package-load-list. + +2012-02-26 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-inodes, tramp-devices): Initialize with 0. + (tramp-get-inode, tramp-get-device): Use cached values. + +2012-02-26 Alan Mackenzie <acm@muc.de> + + Check there is a font-lock specification before doing initial + fontification. + + * font-core.el (font-lock-mode): Move the conditional from + :after-hook to font-lock-initial-fontify. + (font-lock-default-function): Move the check for a specification + to font-lock-spec-present. + + * font-lock.el (font-lock-initial-fontify): Call ... + (font-lock-spec-present): New function. + +2012-02-26 Jim Blandy <jimb@red-bean.com> + + * progmodes/gdb-mi.el (gdb-mi-quote): New function. + (gdb-send): Apply it to the operand of the '-interpreter-exec + console' command, so that we can pass arguments with (say) quotes + in them. Store exact string sent in gdb-debug-log (Bug#10765). + +2012-02-26 Chong Yidong <cyd@gnu.org> + + * help-fns.el (describe-function-1): Clarify description of + remapping (Bug#10844). + + * files.el (files-equal-p): Doc fix. + (file-subdir-of-p): Doc fix. Convert loop macro to plain Lisp, + and quit the loop once a mismatch is found. + +2012-02-25 Juanma Barranquero <lekktu@gmail.com> + + * bs.el (bs--show-with-configuration): Don't throw an error + if the window cannot be split; otherwise, subsequent calls to + bs-show fail, restoring a stale window config. (Bug#10882) + +2012-02-25 Jan Djärv <jan.h.d@swipnet.se> + + * term/ns-win.el (global-map): Bind ns-drag-file to + ns-find-file (Bug#5855, Bug#10050). + +2012-02-25 Andreas Schwab <schwab@linux-m68k.org> + + * calendar/parse-time.el (parse-time-string): Allow extractor to + return nil. + +2012-02-25 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-file-name-for-operation): + Add `files-equal-p' and `file-subdir-of-p'. + + * net/tramp-sh.el (tramp-sh-handle-copy-directory): + * net/tramp-smb.el (tramp-smb-handle-copy-directory): + Add COPY-CONTENTS argument. + +2012-02-25 Chong Yidong <cyd@gnu.org> + + Add custom groups for VC backends, for consistency with vc-bzr. + + * vc/vc-arch.el (vc-arch): + * vc/vc-cvs.el (vc-cvs): + * vc/vc-git.el (vc-git): + * vc/vc-hg.el (vc-hg): + * vc/vc-mtn.el (vc-mtn): + * vc/vc-rcs.el (vc-rcs): + * vc/vc-sccs.el (vc-sccs): + * vc/vc-svn.el (vc-svn): New customization group (Bug#10871). + All relevant defcustoms reassigned. + +2012-02-25 Chong Yidong <cyd@gnu.org> + + * newcomment.el (comment-styles): Add autoload (Bug#10868). + + * term/x-win.el (x-initialize-window-system): Reduce default for + x-selection-timeout to 5 seconds (Bug#8869). + +2012-02-24 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * files.el (files-equal-p, file-subdir-of-p): New functions. + (copy-directory): Error when trying to copy a directory on itself. + Add missing copy-contents arg to tramp handler. + * dired-aux.el (dired-copy-file-recursive): Same. + (dired-create-files): Modify destination when source is equal to + dest when copying files. + Return also when dest is a subdir of source. (Bug#10489) + +2012-02-24 Michael Albinus <michael.albinus@gmx.de> + + * net/ange-ftp.el (ange-ftp-parse-netrc): Suppress comment lines. + (Bug#10874) + +2012-02-23 Alan Mackenzie <acm@muc.de> + + * emacs-lisp/easy-mmode.el (define-minor-mode): Add extra + parameter "after-hook:" to allow the expansion to run code after + the execution of the mode hooks. + + * font-lock.el (font-lock-initial-fontify): New function extracted + from font-lock-mode-internal. + + * font-core.el (font-lock-mode): Call font-lock-initial-fontify in + :after-hook. + +2012-02-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el: Make sure cycling is reset upon edit with icomplete.el. + (completion--cache-all-sorted-completions): New function. + (completion-all-sorted-completions): Use it. + (completion--do-completion, minibuffer-force-complete): + Use it to re-instate the flush hook. + + * icomplete.el (icomplete-completions): Replace last fix with a better + one (bug#10850). + +2012-02-23 Dmitry Gutov <dgutov@yandex.ru> + + * emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun + when it might call us back infinitely (bug#10797). + +2012-02-23 Glenn Morris <rgm@gnu.org> + + * minibuffer.el (completion-category-overrides): Doc fix. + +2012-02-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-table-with-context): Fix inf-loop. + Reported by Aaron S. Hawley <aaron.s.hawley@gmail.com>. + +2012-02-23 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-aliases, authors-fixed-case) + (authors-obsolete-files-regexps, authors-ignored-files) + (authors-ambiguous-files, authors-renamed-files-alist): + Add more entries. + +2012-02-23 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-occur): Sync interactive spec with occur's + new feature in `occur-read-primary-args'. Doc fix. (Bug#10705) + + * replace.el (occur-menu-map): Add menu item for `occur-edit-mode'. + +2012-02-22 Juri Linkov <juri@jurta.org> + + * international/mule-cmds.el (read-char-by-name): Use \` and \'. + (ucs-insert): Doc fix. Check for hex digits in the string. + Don't display `nil' in the error message. (Bug#10857) + +2012-02-22 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-mode.el: Revert change #2012-02-06T22:08:41Z!larsi@gnus.org from 2012-02-06. + +2012-02-22 Glenn Morris <rgm@gnu.org> + + * ffap.el (ffap-c-path): + * man.el (Man-header-file-path): Handle multiarch. (Bug#10702) + +2012-02-22 Chong Yidong <cyd@gnu.org> + + * custom.el (load-theme): Doc fix. + +2012-02-22 Glenn Morris <rgm@gnu.org> + + * dired-x.el (dired-guess-shell-alist-default): + Remove escape sequences from nroff output. (Bug#172) + +2012-02-21 Glenn Morris <rgm@gnu.org> + + * vc/emerge.el (emerge-defvar-local): + Set `permanent-local' property rather than unused `preserved'. + + * textmodes/picture.el (picture-delete-char): New alias. + (picture-mode-map): Use it. (Bug#10860) + (picture-mode): Doc fix. + +2012-02-21 Juanma Barranquero <lekktu@gmail.com> + + * newcomment.el (uncomment-region-default): Remove unused binding. + +2012-02-21 Glenn Morris <rgm@gnu.org> + + * textmodes/picture.el (picture-motion, picture-motion-reverse) + (picture-self-insert, picture-tab-chars): Doc fix. + (picture-mode-map): Fix C-a, C-e. + +2012-02-20 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-aliases): Add another entry. + +2012-02-20 Leo Liu <sdl.web@gmail.com> + + * icomplete.el (icomplete-completions): Check FROM arg before + passing to substring (Bug#10850). + +2012-02-19 Chong Yidong <cyd@gnu.org> + + * comint.el: Require ansi-color. + (comint-output-filter-functions): Add ansi-color-process-output. + + * ansi-color.el: Don't set comint-output-filter-functions; it is + now in the initial value defined in comint.el. + (ansi-color-apply-face-function): New variable. + (ansi-color-apply-on-region): Use it. + (ansi-color-apply-overlay-face): New function. + + * shell.el (shell): No need to require ansi-color. + (shell-mode): Use ansi-color-apply-face-function to highlight + color escapes using font-lock-face property (Bug#10835). + +2012-02-19 Chong Yidong <cyd@gnu.org> + + * vc/ediff-init.el (ediff-strip-mode-line-format): Handle non-list + mode-line formats (Bug#10839). + +2012-02-18 Glenn Morris <rgm@gnu.org> + + * mail/rmail.el (rmail-dont-reply-to-names): Mark as obsolete. + + * mail/undigest.el (unforward-rmail-message): Doc fix. + + * saveplace.el (save-place-ignore-files-regexp): Add :version. + +2012-02-18 Eli Zaretskii <eliz@gnu.org> + + * international/characters.el (script-list): Sync with the latest + Unicode Character Database. + +2012-02-18 Andreas Schwab <schwab@linux-m68k.org> + + * international/titdic-cnv.el: Remove duplicate coding tag. + * language/cham.el: Likewise. + * language/tai-viet.el: Likewise. + +2012-02-18 Glenn Morris <rgm@gnu.org> + + * calendar/cal-menu.el (cal-menu-diary-menu, cal-menu-goto-menu): + * calendar/calendar.el (diary-file, diary-bahai-entry-symbol) + (calendar-bahai-all-holidays-flag, calendar-other-dates): + * calendar/diary-lib.el (diary-abbreviated-year-flag): + * calendar/holidays.el (holiday-bahai-holidays) + (calendar-holidays, list-holidays): + Use utf-8 Bahá'à in doc-strings, menus, etc. + +2012-02-17 Tassilo Horn <tassilo@member.fsf.org> + + * saveplace.el (save-place-ignore-files-regexp): New variable + allowing for excluding files from saving their location of point. + The default value matches the temporary commit message editing + files from Git, SVN, Bazaar, and Mercurial. + (save-place-to-alist): Use it. + +2012-02-17 Lawrence Mitchell <wence@gmx.li> + Stefan Monnier <monnier@iro.umontreal.ca> + + * newcomment.el (uncomment-region-default): Don't leave extra space + when an arg is provided (bug#8150). + +2012-02-17 Teodor Zlatanov <tzz@lifelogs.com> + + * net/gnutls.el (gnutls-trustfiles): Fix Cygwin bundle location. + +2012-02-17 Glenn Morris <rgm@gnu.org> + + * net/socks.el: Require network-stream. (Bug#10599) + +2012-02-17 Kenichi Handa <handa@m17n.org> + + * international/charprop.el: + * international/uni-name.el: + * international/uni-old-name.el: + * international/uni-comment.el: Regenerate. + +2012-02-16 Glenn Morris <rgm@gnu.org> + + * calendar/cal-hebrew.el (calendar-hebrew-list-yahrzeits): + Interactively in calendar buffer, give an error if not on a date. + +2012-02-15 Glenn Morris <rgm@gnu.org> + + * shell.el (shell-delimiter-argument-list): + Revert 2011-02-17 change. (Bug#8027) + +2012-02-15 Chong Yidong <cyd@gnu.org> + + * minibuffer.el (completion-at-point-functions): Doc fix. + + * custom.el (defcustom): Doc fix; note use of defvar. + +2012-02-15 Glenn Morris <rgm@gnu.org> + + * mail/smtpmail.el (smtpmail-smtp-user, smtpmail-stream-type): + Doc fixes. + +2012-02-14 Glenn Morris <rgm@gnu.org> + + * mail/smtpmail.el (smtpmail-query-smtp-server): Give it a doc. + +2012-02-14 Lars Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-query-smtp-server): Fix typo in the + way the ports list is computed. + (smtpmail-query-smtp-server): Prompt the user for a port number if + we can't connect to any of the standard ports (bug#10810). + +2012-02-14 Teodor Zlatanov <tzz@lifelogs.com> + + * net/gnutls.el (gnutls-trustfiles): Add Cygwin location. + +2012-02-13 Glenn Morris <rgm@gnu.org> + + * minibuffer.el (read-file-name): Doc fix. (Bug#10798) + +2012-02-13 Teodor Zlatanov <tzz@lifelogs.com> + + * net/gnutls.el (gnutls-trustfiles): New variable. + (gnutls-negotiate): Use it. + +2012-02-13 Lars Ingebrigtsen <larsi@gnus.org> + + * simple.el (mail-user-agent): Mention that `gnus-user-agent' only + does its stuff if Gnus is running. + +2012-02-13 Alan Mackenzie <acm@muc.de> + + Fix a loop in c-set-fl-decl-start. + + * progmodes/cc-engine.el (c-set-fl-decl-start): Add a check that + c-backward-syntactic-ws actually moves backwards. + +2012-02-13 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc-markup-attributes): Move point to the + beginning so that all \C-o chars are removed. + +2012-02-12 Teodor Zlatanov <tzz@lifelogs.com> + + * net/gnutls.el (gnutls-algorithm-priority): Add missing :group tag. + +2012-02-12 Alan Mackenzie <acm@muc.de> + + Fix infinite loop with long macros. + * progmodes/cc-engine.el (c-state-safe-place): Handle macros properly. + +2012-02-12 Chong Yidong <cyd@gnu.org> + + * window.el (display-buffer): Doc fix (Bug#10785). + +2012-02-12 Glenn Morris <rgm@gnu.org> + + * term/pc-win.el (x-selection-owner-p, x-own-selection-internal) + (x-disown-selection-internal, x-get-selection-internal): + Sync docs with the xselect.c versions. + + * allout-widgets.el: Add missing license notice. + +2012-02-11 Glenn Morris <rgm@gnu.org> + + * select.el (x-get-selection-internal, x-own-selection-internal) + (x-disown-selection-internal): + * x-dnd.el (x-get-selection-internal): Update declarations. + + * vc/log-view.el (vc-diff-internal): Remove unneeded declaration. + + * window.el (window-sides-slots): + * tool-bar.el (tool-bar-position): + * term/xterm.el (xterm-extra-capabilities): + * ses.el (ses-self-reference-early-detection): + * progmodes/verilog-mode.el (verilog-auto-declare-nettype) + (verilog-auto-wire-type) + (verilog-auto-delete-trailing-whitespace) + (verilog-auto-reset-blocking-in-non, verilog-auto-inst-sort) + (verilog-auto-tieoff-declaration): + * progmodes/sql.el (sql-login-hook, sql-ansi-statement-starters) + (sql-oracle-statement-starters, sql-oracle-scan-on): + * progmodes/prolog.el (prolog-align-comments-flag) + (prolog-indent-mline-comments-flag, prolog-object-end-to-0-flag) + (prolog-left-indent-regexp, prolog-paren-indent-p) + (prolog-paren-indent, prolog-parse-mode, prolog-keywords) + (prolog-types, prolog-mode-specificators) + (prolog-determinism-specificators, prolog-directives) + (prolog-electric-newline-flag, prolog-hungry-delete-key-flag) + (prolog-electric-dot-flag) + (prolog-electric-dot-full-predicate-template) + (prolog-electric-underscore-flag, prolog-electric-tab-flag) + (prolog-electric-if-then-else-flag, prolog-electric-colon-flag) + (prolog-electric-dash-flag, prolog-old-sicstus-keys-flag) + (prolog-program-switches, prolog-prompt-regexp) + (prolog-debug-on-string, prolog-debug-off-string) + (prolog-trace-on-string, prolog-trace-off-string) + (prolog-zip-on-string, prolog-zip-off-string) + (prolog-use-standard-consult-compile-method-flag) + (prolog-use-prolog-tokenizer-flag, prolog-imenu-flag) + (prolog-imenu-max-lines, prolog-info-predicate-index) + (prolog-underscore-wordchar-flag, prolog-use-sicstus-sd) + (prolog-char-quote-workaround): + * progmodes/cc-vars.el (c-defun-tactic): + * net/tramp.el (tramp-encoding-command-interactive) + (tramp-local-end-of-line): + * net/soap-client.el (soap-client): + * net/netrc.el (netrc-file): + * net/gnutls.el (gnutls): + * minibuffer.el (completion-category-overrides) + (completion-cycle-threshold) + (completion-pcm-complete-word-inserts-delimiters): + * man.el (Man-name-local-regexp): + * mail/feedmail.el (feedmail-display-full-frame): + * international/characters.el (glyphless-char-display-control): + * eshell/em-ls.el (eshell-ls-date-format): + * emacs-lisp/cl-indent.el (lisp-lambda-list-keyword-alignment) + (lisp-lambda-list-keyword-parameter-indentation) + (lisp-lambda-list-keyword-parameter-alignment): + * doc-view.el (doc-view-image-width, doc-view-unoconv-program): + * dired-x.el (dired-omit-verbose): + * cus-theme.el (custom-theme-allow-multiple-selections): + * calc/calc.el (calc-highlight-selections-with-faces) + (calc-lu-field-reference, calc-lu-power-reference) + (calc-note-threshold): + * battery.el (battery-mode-line-limit): + * arc-mode.el (archive-7z-extract, archive-7z-expunge) + (archive-7z-update): + * allout.el (allout-prefixed-keybindings) + (allout-unprefixed-keybindings) + (allout-inhibit-auto-fill-on-headline) + (allout-flattened-numbering-abbreviation): + * allout-widgets.el (allout-widgets-auto-activation) + (allout-widgets-icons-dark-subdir) + (allout-widgets-icons-light-subdir, allout-widgets-icon-types) + (allout-widgets-theme-dark-background) + (allout-widgets-theme-light-background) + (allout-widgets-item-image-properties-emacs) + (allout-widgets-item-image-properties-xemacs) + (allout-widgets-run-unit-tests-on-load) + (allout-widgets-time-decoration-activity) + (allout-widgets-hook-error-post-time) + (allout-widgets-track-decoration): + Add missing :version tags to new defcustoms and defgroups. + + * progmodes/sql.el (sql-ansi-statement-starters) + (sql-oracle-statement-starters): Add custom type. + + * progmodes/prolog.el: Remove leading '*' from defcustom docs. + (prolog-system-version): Give it a type. + +2012-02-11 Eli Zaretskii <eliz@gnu.org> + + * term/pc-win.el (x-select-text, x-selection-owner-p) + (x-own-selection-internal, x-disown-selection-internal) + (x-get-selection-internal): Sync doc strings and argument lists + with xselect.c, common-win.el and x-win.el. (Bug#10783) + +2012-02-11 Leo Liu <sdl.web@gmail.com> + + * progmodes/python.el (python-end-of-statement): Fix infinite + loop. (Bug#10788) + +2012-02-10 Glenn Morris <rgm@gnu.org> + + * international/mule-cmds.el (unify-8859-on-encoding-mode) + (unify-8859-on-decoding-mode): Properly mark as obsolete. + +2012-02-10 Lars Ingebrigtsen <larsi@gnus.org> + + * mail/emacsbug.el (report-emacs-bug-hook): Query the user first + about SMTP before checking the From header. + + * mail/sendmail.el (sendmail-query-user-about-smtp): Refactor out + into own function for reuse by emacsbug.el. + +2012-02-10 Leo Liu <sdl.web@gmail.com> + + * subr.el (condition-case-unless-debug): Rename from + condition-case-no-debug. All callers changed. + (with-demoted-errors): Fix caller. + + * vc/diff-mode.el (diff-auto-refine-mode, diff-hunk): + * nxml/rng-valid.el (rng-do-some-validation): + * emacs-lisp/package.el (package-refresh-contents) + (package-menu-execute): + * desktop.el (desktop-create-buffer): + * font-lock.el (lisp-font-lock-keywords-2): Caller changed. + +2012-02-10 Glenn Morris <rgm@gnu.org> + + * textmodes/bibtex.el: + Add missing :version tags for new/changed defcustoms. + + * files.el (remote-file-name-inhibit-cache): Doc fixes. + +2012-02-09 Lars Ingebrigtsen <larsi@rusty> + + * mail/smtpmail.el (smtpmail-user-mail-address): New function. + (smtpmail-via-smtp): Use it, or fall back on the From address. + (smtpmail-send-it): Ditto. + +2012-02-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar): + Don't fallback on byte-compile-defvar. Optimize (defvar foo) away. + (byte-compile-tmp-var): New const. + (byte-compile-defvar): Use it to minimize .elc size. + Just use `defvar' rather than simulate it (bug#10761). + +2012-02-09 Glenn Morris <rgm@gnu.org> + + * files.el (rename-uniquely): Doc fix. (Bug#3806) + + * progmodes/cc-guess.el (c-guess-offset-threshold, c-guess-region-max): + Add :version tags. + + * progmodes/compile.el (compilation-error-screen-columns) + (compilation-first-column, compilation-filter-start): Doc fixes. + + * vc/log-view.el (log-view-toggle-entry-display): + * vc/vc.el (vc-merge, vc-pull): Doc fixes. + + * mail/emacsbug.el (report-emacs-bug-can-use-osx-open) + (report-emacs-bug-can-use-xdg-email): + (report-emacs-bug-insert-to-mailer): Doc fixes. + (report-emacs-bug): Message fix. + + * net/browse-url.el (browse-url-can-use-xdg-open) + (browse-url-xdg-open): Doc fixes. + + * electric.el (electric-indent-mode, electric-pair-mode) + (electric-layout-rules, electric-layout-mode): Doc fixes. + (electric-pair-pairs, electric-pair-skip-self): Add :version tags. + +2012-02-08 Martin Rudalics <rudalics@gmx.at> + + * server.el (server-unselect-display): Don't inadvertently kill + the current buffer. (Bug#10729) + +2012-02-08 Glenn Morris <rgm@gnu.org> + + * progmodes/sql.el (sql-port, sql-connection-alist, sql-list-all) + (sql-list-table): Doc fixes. + + * image-mode.el (image-transform-minor-mode-map, image-transform-mode): + Comment out (does nothing). + + * completion.el (dynamic-completion-mode): + * dirtrack.el (dirtrack-debug-mode): + * electric.el (electric-layout-mode): + * epa-mail.el (epa-mail-mode, epa-global-mail-mode): + * face-remap.el (text-scale-mode, buffer-face-mode): + * iimage.el (iimage-mode): + * image-mode.el (image-transform-mode): + * minibuffer.el (completion-in-region-mode): + * scroll-lock.el (scroll-lock-mode): + * simple.el (next-error-follow-minor-mode): + * tar-mode.el (tar-subfile-mode): + * tooltip.el (tooltip-mode): + * vcursor.el (vcursor-use-vcursor-map): + * wid-browse.el (widget-minor-mode): + * emulation/tpu-edt.el (tpu-edt-mode): + * emulation/tpu-extras.el (tpu-cursor-free-mode): + * international/iso-ascii.el (iso-ascii-mode): + * language/thai-util.el (thai-word-mode): + * mail/supercite.el (sc-minor-mode): + * net/goto-addr.el (goto-address-mode): + * net/rcirc.el (rcirc-multiline-minor-mode, rcirc-track-minor-mode): + * progmodes/cwarn.el (cwarn-mode): + * progmodes/flymake.el (flymake-mode): + * progmodes/glasses.el (glasses-mode): + * progmodes/hideshow.el (hs-minor-mode): + * progmodes/pascal.el (pascal-outline-mode): + * textmodes/enriched.el (enriched-mode): + * vc/smerge-mode.el (smerge-mode): + Doc fixes (minor mode argument). + +2012-02-07 Eli Zaretskii <eliz@gnu.org> + + * ls-lisp.el (ls-lisp-sanitize): New function. + (ls-lisp-insert-directory): Use it to fix or remove any elements + in file-alist with missing attributes. (Bug#4673) + +2012-02-07 Alan Mackenzie <acm@muc.de> + + Fix spurious recognition of c-in-knr-argdecl. + + * progmodes/cc-engine.el (c-in-knr-argdecl): Check for '=' in a + putative K&R region. + +2012-02-07 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-engine.el (c-forward-objc-directive): + Prevent looping in "#pragma mark @implementation". + +2012-02-07 Michael Albinus <michael.albinus@gmx.de> + + * notifications.el (notifications-on-closed-signal): Make `reason' + optional. (Bug#10744) + +2012-02-07 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/easy-mmode.el (define-minor-mode): + Doc fixes for the macro and the mode it defines. + + * image.el (imagemagick-types-inhibit): Doc fix. + + * cus-start.el (imagemagick-render-type): Add it. + +2012-02-06 Lars Ingebrigtsen <larsi@gnus.org> + + * progmodes/cc-mode.el (c-standard-font-lock-fontify-region-function): + Set the default at load time, too, so that `font-lock-fontify-buffer' + can be called without setting up the entire mode first. This fixes + a bug in `mm-inline-text' with C MIME parts. + +2012-02-06 Chong Yidong <cyd@gnu.org> + + * simple.el (list-processes--refresh): Delete exited processes + (Bug#8094). + + * comint.el (comint-next-prompt): next-single-char-property-change + and prev-single-char-property-change never return nil (Bug#8657). + + * custom.el (defcustom): Doc fix (Bug#9711). + +2012-02-05 Chong Yidong <cyd@gnu.org> + + * cus-edit.el (custom-variable-reset-backup): Quote the value + before storing it in the customized-value property (Bug#6712). + (custom-display): Add a customization type tag. + (custom-buffer-create-internal): Improve tooltip message. + + * wid-edit.el (widget-field-value-get): New optional arg to + suppress trailing whitespace truncation. + (character): Use it (Bug#2689). + +2012-02-05 Andreas Schwab <schwab@linux-m68k.org> + + * progmodes/gud.el (gud-pv): Use pv instead of pv1. + * progmodes/gdb-mi.el (gud-pp): Use pp instead of pp1. + +2012-02-05 Chong Yidong <cyd@gnu.org> + + * cus-edit.el (custom-variable-value-create): For mismatched + types, show the current value (Bug#7600). + + * custom.el (defcustom): Doc fix. + +2012-02-05 Glenn Morris <rgm@gnu.org> + + * font-lock.el (lisp-font-lock-keywords-2): Add with-wrapper-hook. + +2012-02-05 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/pp.el (pp-to-string): Use `with-temp-buffer'. + (pp-buffer): Use `ignore-errors', `looking-at-p'. + (pp-last-sexp): Use `looking-at-p'. + +2012-02-04 Glenn Morris <rgm@gnu.org> + + * files.el (revert-buffer): + Doc fix (mention revert-buffer-in-progress-p). + + * emacs-lisp/ert-x.el (ert-simulate-command): + Check deferred-action-list (which is obsolete) is bound. + + * subr.el (with-wrapper-hook): Doc fixes. + + * simple.el (filter-buffer-substring-functions) + (buffer-substring-filters, filter-buffer-substring): Doc fixes. + +2012-02-04 Lars Ljung <lars@matholka.se> (tiny change) + + * eshell/esh-ext.el (eshell-windows-shell-file): Match "cmdproxy" + anywhere in shell-file-name, not just at the beginning. (Bug#10523) + +2012-02-04 Leo Liu <sdl.web@gmail.com> + + * emacs-lisp/smie.el: Fix dead link (Bug#10711). + +2012-02-04 Glenn Morris <rgm@gnu.org> + + * image.el (image-extension-data): Add obsolete alias. + + * isearch.el (isearch-update): Doc fix. + + * facemenu.el (list-colors-display): Doc fix (minor rephrasing). + + * ido.el (ido-find-file): Doc fix (ido-toggle-vc not on any key). + +2012-02-03 Glenn Morris <rgm@gnu.org> + + * image.el (image-animated-p): Doc fix. Use image-animated-types. + (image-animate-timeout): Doc fix. + + * image-mode.el (image-animate-loop, image-toggle-animation): Doc fixes. + +2012-02-02 Glenn Morris <rgm@gnu.org> + + * server.el (server-auth-dir): Doc fix. + (server-eval-at): Doc fix. Give an explicit error if !server-use-tcp. + + * subr.el (run-mode-hooks): Doc fix. + +2012-02-02 Juri Linkov <juri@jurta.org> + + * image-mode.el (image-toggle-display-image): Remove tautological + `major-mode' from the `derived-mode-p' test. + +2012-02-02 Kenichi Handa <handa@m17n.org> + + * composite.el (compose-region): Cancel previous change. + +2012-02-02 Kenichi Handa <handa@m17n.org> + + * composite.el (compose-region, compose-string): Signal error for + a null string component (Bug#6988). + +2012-02-01 Chong Yidong <cyd@gnu.org> + + * view.el (view-buffer-other-window, view-buffer-other-frame): + Handle special modes like view-buffer (Bug#10650). + (view-buffer): Simplify. + + * frame.el (set-frame-font): Tweak meaning of third argument. + + * dynamic-setting.el (font-setting-change-default-font): + Use set-frame-font (Bug#9982). + +2012-02-01 Glenn Morris <rgm@gnu.org> + + * progmodes/compile.el (compilation-internal-error-properties): + Respect compilation-first-column in the "*compilation*" buffer. + + * emacs-lisp/easy-mmode.el (define-minor-mode): + Relax :variable's test for a named function. + +2012-01-31 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-engine.el (c-guess-basic-syntax): CASE 5B.1: Fix an + off by one error. + +2012-01-31 Chong Yidong <cyd@gnu.org> + + * frame.el (set-frame-font): New arg ALL-FRAMES. + + * menu-bar.el (menu-set-font): Use set-frame-font. + + * faces.el (face-spec-reset-face): Don't apply unspecified + attribute values to the default face. + +2012-01-31 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/cwarn.el (cwarn): Remove dead link. + (cwarn-configuration, cwarn-verbose, cwarn-mode-text, cwarn-load-hook): + Remove * from defcustom docstrings. + (turn-on-cwarn-mode): Make obsolete. + (c-at-toplevel-p): Remove compatibility code for Emacs 20.3 and older. + (turn-on-cwarn-mode-if-enabled): Call `cwarn-mode'. + +2012-01-31 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. + Fix :variable handling of mode a symbol not equal to modefun. + Allow named functions to be used as the cdr of :variable. + +2012-01-30 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-fixed-entries): + Remove reference to deleted file rnewspost.el. + +2012-01-29 Juanma Barranquero <lekktu@gmail.com> + + * window.el (window-with-parameter): Remove unused variable `windows'. + (window--side-check): Remove unused variable `code'. + (window--resize-siblings): Remove unused variable `first'. + (adjust-window-trailing-edge): Remove unused variable `failed'. + (window-deletable-p, window--delete): Remove unused variable `buffer'. + Use `let', not `let*'. + (balance-windows-2): Remove unused variable `found'. + (window--state-put-2): Remove unused variable `splits'. + (window-state-put): Remove unused variable `selected'. + (same-window-p): Use `string-match-p'. + (display-buffer-assq-regexp): Remove unused variable `value'. + (display-buffer-pop-up-frame, display-buffer-pop-up-window): + Mark argument ALIST as ignored. + (pop-to-buffer): Remove unused variable `old-window'. + +2012-01-29 Eli Zaretskii <eliz@gnu.org> + + * jka-cmpr-hook.el (jka-compr-compression-info-list): Support .lz + and .lzma compressed files. + +2012-01-29 Chong Yidong <cyd@gnu.org> + + * frame.el (window-system-default-frame-alist): Doc fix. + + * dynamic-setting.el (font-setting-change-default-font): Don't + change the default face if SET-FONT argument is non-nil (Bug#9982). + +2012-01-29 Samuel Bronson <naesten@gmail.com> + + * custom.el (defcustom): Add doc link to Lisp manual (Bug#10635). + +2012-01-29 Syver Enstad <syver.enstad@cisco.com> (tiny change) + + * progmodes/gud.el (pdb): Give pdb full paths, to allow setting + breakpoints in files outside current directory (Bug#6098). + +2012-01-29 Chong Yidong <cyd@gnu.org> + + * progmodes/python.el: Require ansi-color at top-level. + + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): + Define and use in Emacs Lisp mode (Bug#9360). + (lisp-mode-abbrev-table): Add doc. + (lisp-mode-variables): Don't set local-abbrev-table. + (lisp-interaction-mode): Use emacs-lisp-mode-abbrev-table. + +2012-01-28 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el (bibtex-vec-incr): Fix docstring. + +2012-01-28 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el (bibtex-entry-alist): New function. + (bibtex-set-dialect): Use it. Either set global values of + dialect-dependent variables or bind these variables buffer-locally + (Bug#10254). + (bibtex-mode): Call bibtex-set-dialect via + hack-local-variables-hook. + (bibtex-dialect): Update docstring. + Add safe-local-variable predicate. + (bibtex-entry-alist, bibtex-field-alist): Initialize via + bibtex-set-dialect. + (bibtex-mode-map): Define menu for each dialect. + (bibtex-entry): Fix docstring. + +2012-01-28 Chong Yidong <cyd@gnu.org> + + * eshell/esh-arg.el (eshell-quote-argument): New function. + + * eshell/esh-ext.el (eshell-invoke-batch-file): + * eshell/em-unix.el (eshell/cat, eshell/du): Use it to quote the + first arg to eshell-parse-command (Bug#10523). + +2012-01-28 Drew Adams <drew.adams@oracle.com> + + * net/ange-ftp.el (ange-ftp-canonize-filename): Check, that + `default-directory' is non-nil. + +2012-01-28 Eli Zaretskii <eliz@gnu.org> + + * mail/emacsbug.el (report-emacs-bug): Fill the potentially long + line that displays system-configuration-options. (Bug#9924) + +2012-01-28 Drew Adams <drew.adams@oracle.com> + + * descr-text.el (describe-char): Show information about POS, in + addition to information about the character at POS. Improve and + update the doc string. Change "code point" to "code point in + charset", to avoid confusion with the character's Unicode code + point shown above that. (Bug#10129) + +2012-01-28 Eli Zaretskii <eliz@gnu.org> + + * descr-text.el (describe-char): Show the raw character, not only + its display form at POS. Suggested by Kenichi Handa <handa@m17n.org>. + See http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00760.html + for the reasons. + +2012-01-28 Phil Hagelberg <phil@hagelb.org> + + * emacs-lisp/package.el (package-install): + Run package-refresh-contents if there is no archive yet (Bug#9798). + +2012-01-28 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/package.el (package-maybe-load-descriptor): + New function, split from package-maybe-load-descriptor. + (package-maybe-load-descriptor): Use it. + (package-download-transaction): Fully load required packages + inside the loop, so that `require' calls work (Bug#10593). + (package-install): No need to call package-initialize now. + +2012-01-28 Chong Yidong <cyd@gnu.org> + + * simple.el (deactivate-mark): Doc fix (Bug#8614). + + * tooltip.el (tooltip-mode): Doc fix. + (tooltip-use-echo-area): Mark as obsolete (Bug#6595). + + * frame.el (set-cursor-color): Doc fix (Bug#352). + + * mail/rmail.el (rmail-start-mail): Add send-action again (Bug#10625). + (rmail-mail-return): Switch to NEWBUF only if it is non-nil. + + * cus-edit.el (custom-buffer-create-internal): Fix search button + action (Bug#10542). + (customize-unsaved, customize-saved): Doc fix (Bug#10541). + +2012-01-27 Eduard Wiebe <usenet@pusto.de> + + * dired.el (dired-mark-files-regexp): + Include any subdirectory components. (Bug#10445) + +2012-01-27 Mike Lamb <mrlamb@gmail.com> (tiny change) + + * pcmpl-unix.el (pcmpl-ssh-known-hosts): + Handle [host]:port syntax. (Bug#10533) + +2012-01-27 Alex Harsanyi <harsanyi@mac.com> + + * xml.el (xml-parse-tag): Fix parsing of comments (Bug#10405). + +2012-01-26 Glenn Morris <rgm@gnu.org> + + * dired-x.el (dired-bind-jump): Use ctl-x-map and ctl-x-4-map. + * term.el (term-raw-escape-map): Use Control-X-prefix. + * vc/vc-hooks.el (vc-prefix-map): Use ctl-x-map. (Bug#10566) + +2012-01-25 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-state-get, window--state-get-1): Don't deal + with fixed-sizeness of windows. Simplify code. + +2012-01-25 Jérémy Compostella <jeremy.compostella@gmail.com> + + * window.el (window--state-get-1, window--state-put-2): + Don't save and restore the mark. + +2012-01-25 Chong Yidong <cyd@gnu.org> + + * custom.el (custom-variable-p): Doc fix. + +2012-01-25 Glenn Morris <rgm@gnu.org> + + * dired.el (dired-goto-file): Handle some of the more common + characters that `ls -b' escapes. (Bug#10596) + + * progmodes/compile.el (compilation-next-error-function): + Respect compilation-first-column in the "*compilation*" buffer. + * progmodes/grep.el (grep-first-column): New variable. (Bug#10594) + + * vc/vc.el (vc-modify-change-comment): Scoping fix. (Bug#10513) + +2012-01-24 Glenn Morris <rgm@gnu.org> + + * pcmpl-gnu.el (pcomplete/tar): Handle " - ". (Bug#10457) + +2012-01-24 Julien Danjou <julien@danjou.info> + + * color.el (color-rgb-to-hsl): Fix value computing. + (color-hue-to-rgb): New function. + (color-hsl-to-rgb): New function. + (color-clamp, color-saturate-hsl, color-saturate-name) + (color-desaturate-hsl, color-desaturate-name, color-lighten-hsl) + (color-lighten-name, color-darken-hsl, color-darken-name): New function. + +2012-01-24 Glenn Morris <rgm@gnu.org> + + * vc/vc-rcs.el (vc-rcs-create-tag): + * vc/vc-sccs.el (vc-sccs-create-tag): + Fix argument spec to be what vc-create-tag expects. (Bug#10515) + +2012-01-23 Mike Lamb <mrlamb@gmail.com> (tiny change) + + * eshell/esh-util.el (eshell-read-hosts-file): + Skip comment lines. (Bug#10549) + + * eshell/em-unix.el (pcomplete/ssh): Remove. (Bug#10548) + +2012-01-23 Juanma Barranquero <lekktu@gmail.com> + + * subr.el (display-delayed-warnings): Doc fix. + (collapse-delayed-warnings): New function to collapse identical + adjacent warnings. + (delayed-warnings-hook): Add it. + +2012-01-22 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-action-login): Set connection property "login-as". + + * net/tramp-sh.el (tramp-methods): Add user spec to "pscp" and "psftp". + (tramp-default-user-alist): Don't add "pscp". + (tramp-do-copy-or-rename-file-out-of-band): Use connection + property "login-as", if set. (Bug#10530) + +2012-01-21 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-default-user-alist): Don't add "plink", + "plink1" and "psftp". (Bug#10530) + +2012-01-21 Kenichi Handa <handa@m17n.org> + + * international/mule-cmds.el (prefer-coding-system): Show a + warning message if the default value of file-name-coding-system + was not changed. + +2012-01-21 Jérémy Compostella <jeremy.compostella@gmail.com> + + * windmove.el (windmove-reference-loc): + Fix windmove-reference-loc miscalculation. + +2012-01-21 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-units.el (math-put-default-units): Don't use "1" as a + default unit. + +2012-01-21 Glenn Morris <rgm@gnu.org> + + * international/mule.el (auto-coding-alist): Add .tbz. + + * files.el (local-enable-local-variables): Doc fix. + (inhibit-local-variables-regexps): Rename from + inhibit-first-line-modes-regexps. Keep old name as obsolete alias. + Doc fix. Add some extensions from auto-coding-alist. + (inhibit-local-variables-suffixes): + Rename from inhibit-first-line-modes-suffixes. Doc fix. + (inhibit-local-variables-p): + New function, extracted from set-auto-mode-1. + (set-auto-mode): Doc fix. Respect inhibit-local-variables-regexps. + (set-auto-mode-1): Doc fix. Use inhibit-local-variables-p. + (hack-local-variables): Doc fix. Make the mode-only case + respect enable-local-variables and friends. + Respect inhibit-local-variables-regexps for file-locals, but + not for directory-locals. + (set-visited-file-name): + Take account of inhibit-local-variables-regexps. + Whether it applies may change as the file name is changed. + * jka-cmpr-hook.el (jka-compr-install): + * jka-compr.el (jka-compr-uninstall): + Update for inhibit-first-line-modes-suffixes name change. + +2012-01-20 Martin Rudalics <rudalics@gmx.at> + + * help-macro.el (make-help-screen): Temporarily restore original + binding for minor-mode-map-alist (Bug#10454). + +2012-01-19 Julien Danjou <julien@danjou.info> + + * color.el (color-name-to-rgb): Use the white color to find the max + color component value and return correctly computed values. + (color-name-to-rgb): Add missing float conversion for max value. + +2012-01-19 Martin Rudalics <rudalics@gmx.at> + + * window.el (window--state-get-1, window-state-get): Do not use + special state value for window-persistent-parameters. + Rename argument IGNORE to WRITABLE. Rewrite doc-string. + (window--state-put-2): Reset all window parameters to nil before + assigning values of persistent parameters. + +2012-01-18 Alan Mackenzie <acm@muc.de> + + Eliminate sluggishness and hangs in fontification of "semicolon + deserts". + + * progmodes/cc-engine.el (c-state-nonlit-pos-interval): + Change value 10000 -> 3000. + (c-state-safe-place): Reformulate so it doesn't stack up an + infinite number of wrong entries in c-state-nonlit-pos-cache. + (c-determine-limit-get-base, c-determine-limit): New functions to + determine backward search limits disregarding literals. + (c-find-decl-spots): Amend commenting. + (c-cheap-inside-bracelist-p): New function which detects "={". + + * progmodes/cc-fonts.el + (c-make-font-lock-BO-decl-search-function): Give a limit to a + backward search. + (c-font-lock-declarations): Fix an occurrence of point being + undefined. Check additionally for point being in a bracelist or + near a macro invocation without a semicolon so as to avoid a + fruitless time consuming search for a declarator. Give a more + precise search limit for declarators using the new + c-determine-limit. + +2012-01-18 Glenn Morris <rgm@gnu.org> + + * files.el (auto-mode-alist, inhibit-first-line-modes-regexps) + (set-auto-mode): Doc fixes. + +2012-01-17 Glenn Morris <rgm@gnu.org> + + * isearch.el (search-nonincremental-instead): Fix doc typo. + + * dired.el (dired-insert-directory): Handle newlines in directory name. + (dired-build-subdir-alist): Unescape newlines in directory name. + +2012-01-17 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-local-end-of-line): New defcustom. + (tramp-action-login, tramp-action-yesno, tramp-action-yn) + (tramp-action-terminal): Use it. (Bug#10530) + +2012-01-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--replace): Strip properties (bug#10062). + +2012-01-16 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-state-ignored-parameters): Remove variable. + (window--state-get-1): Rename argument MARKERS to IGNORE. + Handle persistent window parameters. Make copy of clone-of + parameter only if requested. (Bug#10348) + (window--state-put-2): Install a window parameter only if it has + a non-nil value or an existing parameter shall be overwritten. + +2012-01-15 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-remote-path): Set tramp-autoload cookie. + +2012-01-14 Eli Zaretskii <eliz@gnu.org> + + * info.el (Info-toc-build): If the Info file has no "Up" pointer, + don't pass the (nil) value of `upnode' to string-match. + +2012-01-14 Chong Yidong <cyd@gnu.org> + + * startup.el (command-line): Fix X resource class for cursorColor. + Fix values recognized by the cursorBlink resource. + +2012-01-14 Paul Eggert <eggert@cs.ucla.edu> + + * epg.el (epg--make-temp-file): Avoid permission race condition + when running on old Emacs versions (bug#10403). + +2012-01-14 Glenn Morris <rgm@gnu.org> + + * dired.el (dired-get-filename): Fix 'verbatim case of previous change. + +2012-01-13 Alan Mackenzie <acm@muc.de> + + Fix filling for when filladapt mode is enabled. + + * progmodes/cc-cmds.el (c-fill-paragraph): In the invocation of + c-mask-paragraph, pass in `fill-paragraph' rather than + `fill-region-as-paragraph'. (This is a reversion of a previous + change.) + * progmodes/cc-mode.el (c-basic-common-init): + Make fill-paragraph-handle-comment buffer local and set it to nil. + +2012-01-13 Glenn Morris <rgm@gnu.org> + + * dired.el (dired-switches-escape-p): New function. + (dired-insert-directory): Use dired-switches-escape-p. + (dired-get-filename): Undo "\ " quoting if needed. (Bug#10469) + + * find-dired.el (find-ls-option): Doc fix. (Bug#10262) + +2012-01-12 Glenn Morris <rgm@gnu.org> + + * mail/sendmail.el (mail-mode): Update paragraph-separate for + changes in adaptive-fill-regexp. (Bug#10276) + +2012-01-11 Alan Mackenzie <acm@muc.de> + + Fix Emacs bug #10463 - put `widen's around the critical spots. + + * progmodes/cc-engine.el (c-in-literal, c-literal-limits): Put a + widen around each invocation of c-state-pp-to-literal. Remove an + unused let variable. + +2012-01-11 Glenn Morris <rgm@gnu.org> + + * dired-aux.el (dired-do-shell-command): Fix */? logic. (Bug#6561) + Doc fix. + +2012-01-10 Chong Yidong <cyd@gnu.org> + + * net/network-stream.el (network-stream-open-starttls): + Avoid emitting a confusing error message when the server gives a bad + response to the capability command. + +2012-01-10 Glenn Morris <rgm@gnu.org> + + * mail/unrmail.el (unrmail): Tweak previous change. + +2012-01-09 Chong Yidong <cyd@gnu.org> + + * custom.el (custom-safe-themes): Use SHA-256 for hashing. + +2012-01-08 Alan Mackenzie <acm@muc.de> + + Optimize font locking in long enum definitions. + + * progmodes/cc-fonts.el (c-font-lock-declarations): Add an extra + arm to a cond form to handle enums. + * progmodes/cc-langs.el (c-enums-contain-decls): New lang variable. + * progmodes/cc-mode.el (c-font-lock-fontify-region): Correct a typo. + +2012-01-07 Paul Eggert <eggert@cs.ucla.edu> + + * files.el (move-file-to-trash): Preserve default file modes on error. + (Bug#10401) + +2012-01-07 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * faces.el (set-face-attribute): Clarify the meaning of the nil + frame (bug#10294). + + * subr.el (with-selected-frame): Mention that the selected frame + is restored (bug#9980). + + * ibuffer.el (ibuffer-mode): List the bindings in the corrent map + (bug#9759). + + * mail/smtpmail.el (password-cache-add): Remove unused declaration. + (password-read): Don't autoload unused function. + +2012-01-07 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/which-func.el (which-func-mode): Turn into a + non-interactive function and mark as obsolete (bug#10428). + +2012-01-06 Chong Yidong <cyd@gnu.org> + + * files.el (hack-dir-local-variables-non-file-buffer): Add doc. + (hack-one-local-variable-eval-safep): Allow 0 arg for minor mode + functions, along with 1 and -1. + +2012-01-06 Eli Zaretskii <eliz@gnu.org> + + * time.el (display-time-load-average) + (display-time-default-load-average): Doc fixes. See the thread + starting at + http://lists.gnu.org/archive/html/help-gnu-emacs/2012-01/msg00059.html + for the details. + +2012-01-06 Glenn Morris <rgm@gnu.org> + + * mail/unrmail.el (unrmail): Give an explicit error if the input file + has no messages. (Bug#10377) + + * info.el (Info-mode-map): Bind e to end-of-buffer, rather + than Info-edit. (Bug#10385) + + * time.el (display-time-load-average, display-time-next-load-average): + Doc fixes. + + * emacs-lisp/bytecomp.el (byte-compile-file): Do not propagate a file + local setting of buffer-read-only to the input buffer. (Bug#10419) + + * calendar/calendar.el (calendar-mode): + Locally set scroll-margin to 0. (Bug#10379) + +2012-01-06 Ulrich Mueller <ulm@gentoo.org> + + * play/doctor.el (doctor-death): Escape "," characters. (Bug#10370) + +2012-01-05 Glenn Morris <rgm@gnu.org> + + * eshell/em-unix.el (diff-no-select): Autoload it. + (eshell/diff): Use diff-no-select. (Bug#10420) + +2012-01-05 Chong Yidong <cyd@gnu.org> + + * shell.el (shell-dynamic-complete-functions): Revert last change. + (shell-command-completion-function): New function. + (shell-completion-vars): Use it to implement + shell-completion-execonly (Bug#10417). + + * custom.el (enable-theme): Don't set custom-safe-themes. + + * cus-theme.el (custom-theme-merge-theme): + Ignore custom-enabled-themes and custom-safe-themes. + +2012-01-05 Michael R. Mauger <mmaug@yahoo.com> + + * progmodes/sql.el (sql-login-hook): Add hook to respond to the + first prompt in `sql-interacive-mode'. + (sql-mode-oracle-font-lock-keywords): Add CONNECT_BY_* builtin + keywords. + (sql-mode-mysql-font-lock-keywords): Add ELSEIF keyword. + (sql-product-interactive): Bug fix: Set `sql-buffer' in + context of original buffer. Invoke `sql-login-hook'. + +2012-01-04 Eli Zaretskii <eliz@gnu.org> + + * mail/rmail.el (rmail-font-lock-keywords): Accept non-ASCII + letters in cite-prefix. + +2012-01-03 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-stream-type): Mention the `ssl' value. + +2012-01-03 Chong Yidong <cyd@gnu.org> + + * shell.el (shell-dynamic-complete-functions): + Put pcomplete-completions-at-point, so as to try + comint-filename-completion first (Bug#10417). + +2012-01-02 Richard Stallman <rms@gnu.org> + + * battery.el (battery-status-function): + Detect when to use battery-yeeloong-sysfs. + (battery-echo-area-format): Add string for Yeeloong. + (battery-linux-proc-apm, battery-linux-proc-acpi): Doc fixes. + (battery-yeeloong-sysfs): New function. + +2012-01-02 Chong Yidong <cyd@gnu.org> + + * dirtrack.el (dirtrack-list): Eliminate unused third element. + (dirtrack): Merge code for handling relative filenames in prompt + from shell-dir-cookie-watcher. + (dirtrack-debug-message): New arg to avoid excess format calls. + + * shell.el (shell-dir-cookie-re): Variable deleted. + (shell-dir-cookie-watcher): Function deleted. + (shell-mode): Don't use shell-dir-cookie-re, since it is redundant + with dirtrack-mode. + +2012-01-01 Eli Zaretskii <eliz@gnu.org> + + * term/w32-win.el (dynamic-library-alist) <gnutls>: + Load libgnutls-28.dll, from GnuTLS version 3.x, in preference to + libgnutls-26.dll. + +2011-12-31 Andreas Schwab <schwab@linux-m68k.org> + + * emacs-lisp/bytecomp.el (byte-compile-file): Fix indentation. + +2011-12-31 Eli Zaretskii <eliz@gnu.org> + + * mail/rmail.el (rmail-show-message-1): Decode any RFC2047 encoded + headers of non-MIME messages, when rmail-enable-mime is non-nil. + +2011-12-29 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-find-shell): Set "remote-shell" property + also for alternative shells. + (tramp-open-connection-setup-interactive-shell): Check, whether + the shell is a busybox. + (tramp-send-command): Don't suppress multiple prompts for + busyboxes, it hurts. + +2011-12-28 Chong Yidong <cyd@gnu.org> + + * progmodes/gdb-mi.el (gdb-get-source-file-list) + (gdb-get-source-file): Move mode line update to + gdb-get-source-file (Bug#10087). + +2011-12-25 Chong Yidong <cyd@gnu.org> + + * progmodes/gud.el (gud-gdb-fetch-lines-filter): Just use + gud-gdb-marker-filter without taking it as an argument. + (gud-gdb-run-command-fetch-lines): Caller changed. + (gud-gdb-completion-function): New variable. + (gud-gdb-completion-at-point): Use it. + (gud-gdb-completions-1): Split from gud-gdb-completions. + + * progmodes/gdb-mi.el (gdb-input): Accept command and handler + function as separate arguments. + (gdb-init-1, gdb-non-stop-handler, gdb-check-target-async) + (gdb-tooltip-print-1, gud-watch, gdb-speedbar-update) + (gdb-var-list-children, gdb-var-set-format, gdb-var-delete-1) + (gdb-var-delete-children, gdb-edit-value, gdb-var-update) + (gdb-stopped, def-gdb-auto-update-trigger) + (gdb-place-breakpoints, gdb-select-thread, gdb-select-frame) + (gdb-get-changed-registers, gdb-get-main-selected-frame): + Callers changed. + (gud-gdbmi-completions): New function. + (gdb): Use it for generating the completion table. + +2011-12-24 Alan Mackenzie <acm@muc.de> + + Introduce a mechanism to widen the region used in context font + locking. Use this to protect declarations from losing their contexts. + + * progmodes/cc-langs.el (c-before-font-lock-functions): + Replace c-set-fl-decl-start with c-change-set-fl-decl-start (Renaming). + (c-before-context-fontification-functions): New defvar, a list of + functions to be run just before context (etc.) font locking. + + * progmodes/cc-mode.el (c-extend-font-lock-region-for-macros): + New, functionality extracted from + c-neutralize-syntax-in-and-mark-CPP. + (c-in-after-change-fontification): New variable. + (c-after-change): Set c-in-after-change-fontification. + (c-set-fl-decl-start): Rejig its interface, so it can be called + from both after-change and context fontifying. + (c-change-set-fl-decl-start, c-context-set-fl-decl-start): + New functions. + (c-standard-font-lock-fontify-region-function): New variable. + (c-font-lock-fontify-region): New function. + +2011-12-24 Juri Linkov <juri@jurta.org> + + * window.el (window--state-get-1): Set `FORCE' arg of `mark' to t. + (Bug#10348) + +2011-12-23 Michael Albinus <michael.albinus@gmx.de> + + * net/ange-ftp.el (ange-ftp-copy-file-internal): Check for + existence of source file. (Bug#10325) + +2011-12-23 Alan Mackenzie <acm@muc.de> + + Fix unstable fontification inside templates. + + * progmodes/cc-langs.el (c-before-font-lock-functions): + Newly created from the singular version. The (c c++ objc) entry now + additionally has c-set-fl-decl-start. The other languages (apart + from AWK) have that as a single entry. + + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): + The functionality for "local" declarations has been extracted to + c-set-fl-decl-start. + + * progmodes/cc-mode.el (c-common-init, c-after-change): + Changes due to pluralisation of c-before-font-lock-functions. + (c-set-fl-decl-start): New function, extracted from + c-font-lock-enclosing-decls and enhanced. + +2011-12-23 Juanma Barranquero <lekktu@gmail.com> + + * desktop.el (desktop-internal-v2s): Fix typos in docstring (bug#10353). + +2011-12-22 Juri Linkov <juri@jurta.org> + + * progmodes/grep.el (rgrep): Fix docstring. (Bug#10185) + +2011-12-22 Chong Yidong <cyd@gnu.org> + + * vc/vc-hooks.el (vc-keep-workfiles): Doc fix. + +2011-12-21 Drew Adams <drew.adams@oracle.com> + + * files.el (file-remote-p): Fix docstring. (Bug#10319) + +2011-12-21 Jérémy Compostella <jeremy.compostella@gmail.com> + + * battery.el (battery-linux-sysfs): Add missing parameters from acpi. + +2011-12-21 Teodor Zlatanov <tzz@lifelogs.com> + + * progmodes/cfengine.el: Add Version. Improve CFEngine 3.x syntax + highlighting and support. Fix up comments for capitalization. + (cfengine-mode-debug): New var. + (cfengine3-mode): Change the modeline indicator to "CFE3". + (cfengine3-font-lock-keywords): Improve defun highlighting. + (cfengine2-actions): Rename from `cfengine-actions'. + (cfengine2-font-lock-keywords): Rename from + `cfengine-font-lock-keywords'. + (cfengine2-imenu-expression): Rename from + `cfengine-imenu-expression'. + (cfengine2-outline-level): Rename from `cfengine-outline-level'. + (cfengine2-beginning-of-defun): Rename from + `cfengine-beginning-of-defun'. + (cfengine2-end-of-defun): Rename from `cfengine-end-of-defun'. + (cfengine2-indent-line): Rename from `cfengine-indent-line'. + (cfengine2-mode): Rename from `cfengine-mode'. Change the + modeline indicator to "CFE2". + (cfengine-mode): Defalias to `cfengine-auto-mode'. + (cfengine-mode-abbrevs): Mark obsolete. + +2011-12-21 Chong Yidong <cyd@gnu.org> + + * vc/vc-bzr.el (vc-bzr-rename-file): Don't pass ~ to Bzr in + filename argument. + +2011-12-20 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-normalize-buffer-to-display): Remove. + (display-buffer): Handle buffer-or-name argument as in Emacs 23. + +2011-12-19 Chong Yidong <cyd@gnu.org> + + * vc/vc-dir.el (vc-dir-parent-marked-p, vc-dir-children-marked-p): + Don't signal an error in a predicate function; return non-nil. + (vc-dir-mark-file): Move the error here. + (vc-dir-mark-unmark): If acting on the region, keep going if one + of the entries cannot be marked/unmarked. + (vc-dir-mark-all-files): If current entry is a directory, mark + only child files, as documented. + +2011-12-19 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el: Ooops... undo changes of 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net, as trunk + branch is feature frozen, and 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net was a feature + addition. + +2011-12-18 Jan Djärv <jan.h.d@swipnet.se> + + * term/ns-win.el (ns-get-selection-internal) + (ns-store-selection-internal): Declare. + (ns-store-cut-buffer-internal, ns-get-cut-buffer-internal): + Declare as obsolete. + (ns-get-pasteboard, ns-paste-secondary): + Use ns-get-selection-internal. + (ns-set-pasteboard, ns-copy-including-secondary): + Use ns-store-selection-internal. + +2011-12-17 Chong Yidong <cyd@gnu.org> + + * vc/vc.el (vc-next-action): Doc fix; remove CVS-isms. + (vc-deduce-fileset): Doc fix. + +2011-12-16 Andreas Schwab <schwab@linux-m68k.org> + + * calc/calc-misc.el (calc-help): Avoid wrapping help message. + +2011-12-13 Sam Steingold <sds@gnu.org> + + * man.el (Man-getpage-in-background): When running under a + window-system, ignore $MANWIDTH and $COLUMNS. + +2011-12-15 Kenichi Handa <handa@m17n.org> + + * language/ethio-util.el: Change coding tag to utf-8-emacs. + (setup-ethiopic-environment-internal): Comment out key-binding for + ethio-toggle-punctuation. + +2011-12-13 Alan Mackenzie <acm@muc.de> + + Add the switch statement to AWK Mode. + + * progmodes/cc-awk.el (awk-font-lock-keywords): Add "switch", "case", + "default" to the keywords regexp. + + * progmodes/cc-langs.el (c-label-kwds): Let AWK take the same + expression as the rest. + (c-nonlabel-token-key): Allow string literals for AWK. + Refactor for the other modes. + + Large brace-block initialisation makes CC Mode slow: Fix. + Tidy up and accelerate c-in-literal, etc. by using the c-parse-state + routines. Limit backward searching in c-font-lock-enclosing.decl. + + * progmodes/cc-engine.el (c-state-pp-to-literal): Return the + pp-state and literal type in addition to the limits. + (c-state-safe-place): New defun, extracted from c-state-literal-at. + (c-state-literal-at): Use the above new defun. + (c-slow-in-literal, c-fast-in-literal): Remove. + (c-in-literal, c-literal-limits): Amend to use c-state-pp-to-literal. + + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Check for + being in a literal. Add a limit for backward searching. + + * progmodes/cc-mode.el (awk-mode): Don't alias c-in-literal to + c-slow-in-literal. + +2011-12-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/pascal.el: Declare `ind' as dyn-bound (bug#10264). + +2011-12-13 Martin Rudalics <rudalics@gmx.at> + + * window.el (delete-other-windows): Use correct frame in call to + window-with-parameter. + +2011-12-12 Daniel Pfeiffer <occitan@t-online.de> + + * progmodes/make-mode.el: Bring it up to date with makepp V2.0. + (makefile-make-font-lock-keywords): Extend meaning of `keywords'. + (makefile-gmake-statements, makefile-makepp-statements): + Use it and add new makepp keywords. + (makefile-makepp-font-lock-keywords): Add new patterns. + (makefile-match-function-end): Match new [...] and [[...]]. + +2011-12-11 Juanma Barranquero <lekktu@gmail.com> + + * ses.el (ses-call-printer-return, ses-cell-property-get) + (ses-sym-rowcol, ses-printer-validate, ses-formula-record) + (ses-create-cell-variable, ses-reset-header-string) + (ses-cell-set-formula, ses-repair-cell-reference-all) + (ses-self-reference-early-detection, ses-in-print-area, ses-set-curcell) + (ses-check-curcell, ses-call-printer, ses-adjust-print-width) + (ses-print-cell-new-width, ses-formula-references, ses-relocate-formula) + (ses-aset-with-undo, ses-load, ses-truncate-cell) + (ses-read-column-printer, ses-read-default-printer, ses-insert-row) + (ses-delete-row, ses-delete-column, ses-append-row-jump-first-column) + (ses-kill-override, ses-yank-pop, ses-yank-cells, ses-yank-tsf) + (ses-yank-resize, ses-export-tab, ses-mark-row, ses-mark-column) + (ses-renarrow-buffer, ses-insert-range, ses-insert-ses-range) + (ses-safe-printer, ses-safe-formula, ses-warn-unsafe, ses--clean-!) + (ses--clean-_, ses-range, ses-select, ses-center, ses-center-span) + (ses-dashfill, ses-unsafe): Fix typos and reflow docstrings. + +2011-12-11 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el: The overall change is to add cell renaming, that is + setting fancy names for cell symbols other than name matching + "\\`[A-Z]+[0-9]+\\'" regexp . + (ses-create-cell-variable): New defun. + (ses-relocate-formula): Relocate formulas only for cells the + symbols of which are not renamed, i.e. symbols whose names do not + match regexp "\\`[A-Z]+[0-9]+\\'". + (ses-relocate-all): Relocate values only for cells the symbols of + which are not renamed. + (ses-load): Create cells variables as the (ses-cell ...) are read, + in order to check row col consistency with cell symbol name only + for cells that are not renamed. + (ses-replace-name-in-formula): New defun. + (ses-rename-cell): New defun. + +2011-12-11 Chong Yidong <cyd@gnu.org> + + * progmodes/gdb-mi.el (gdb): Set comint-prompt-regexp, required + for completion via gud-gdb-fetch-lines-filter (Bug#10274). + +2011-12-11 Eric Hanchrow <eric.hanchrow@gmail.com> + + * window.el (other-window): Fix docstring. + +2011-12-10 Eli Zaretskii <eliz@gnu.org> + + * mail/rmailsum.el (rmail-header-summary): RFC2047 decode the + `from' or `to' address before taking its substring. + Fixes incorrect display in Rmail summary buffer whereby an RFC2047 + encoded name is chopped in the middle of the encoded string, and + thus displayed encoded. + +2011-12-10 Juanma Barranquero <lekktu@gmail.com> + + * makefile.w32-in (update-subdirs-CMD): Use a Local Variables section. + +2011-12-10 Eli Zaretskii <eliz@gnu.org> + + * textmodes/texnfo-upd.el: Update commentary. Add a warning not + to use texinfo-update-node and commands that call it if the + Texinfo file uses @node lines without next/prev/up pointers. + Correct outdated description about texinfo-master-menu. + (texinfo-all-menus-update, texinfo-master-menu) + (texinfo-update-node, texinfo-every-node-update) + (texinfo-multiple-files-update): Doc fix. Warn against updating + all the @node lines. + (texinfo-master-menu): Only call texinfo-update-node if the prefix + argument is numeric. Explain better in the doc string what the + function really does. + (texinfo-insert-master-menu-list): Improve the error message + displayed if there's no menu in the Top node. + (Bug#2975) See also this thread: + http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00156.html. + +2011-12-09 Manuel Gómez <mgrojo@gmail.com> (tiny change) + + * speedbar.el (speedbar-supported-extension-expressions): + Add .adb and .ads, commonly used for Ada source code (bug#10256). + +2011-12-09 Juanma Barranquero <lekktu@gmail.com> + + * printing.el (pr-mode-alist): + * simple.el (filter-buffer-substring-functions) + (completion-list-insert-choice-function): + * window.el (window-with-parameter, window-atom-root) + (window-sides-slots, window-size-fixed, window-min-delta) + (window-max-delta, window--resize-mini-window) + (window--resize-child-windows-normal, window-tree) + (delete-other-windows, quit-window, split-window) + (display-buffer-record-window, special-display-buffer-names) + (special-display-regexps, special-display-popup-frame) + (same-window-p, split-window-sensibly) + (display-buffer-overriding-action, display-buffer-alist) + (display-buffer-base-action, display-buffer, switch-to-buffer) + (switch-to-buffer-other-window, switch-to-buffer-other-frame) + (fit-window-to-buffer, recenter-positions) + (mouse-autoselect-window-state, mouse-autoselect-window-select): + * emacs-lisp/syntax.el (syntax-propertize-function): Fix typos + and remove unneeded backslashes in docstrings. + +2011-12-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/lisp-mode.el (defmethod): Add doc-string-elt (bug#10244). + + * pcmpl-gnu.el: Don't fail when there is no Makefile nor -f arg. + (pcmpl-gnu-makefile-regexps): Accept "makefile" as well as files that + end in ".mk". + (pcmpl-gnu-make-rule-names): Check "makefile" and ignore errors + when reading the makefile (bug#10116). + +2011-12-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcmpl-gnu.el (pcomplete/make): Also allow filename arguments + (bug#10116). + +2011-12-06 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/package.el (package-archives): Doc fix re riskiness. + +2011-12-06 Chong Yidong <cyd@gnu.org> + + * progmodes/cc-fonts.el (c-annotation-face): Use defface. + +2011-12-06 Juanma Barranquero <lekktu@gmail.com> + + * textmodes/table.el (table-shorten-cell): Fix typo. + +2011-12-05 Christopher Genovese <genovese.cr@gmail.com> (tiny change) + + * emacs-lisp/assoc.el (aput): Fix return value (bug#10146) + +2011-12-05 Eli Zaretskii <eliz@gnu.org> + + * descr-text.el (describe-char): Fix display of strong + right-to-left characters and directional embeddings and overrides. + + * simple.el (what-cursor-position): Fix display of codepoints of + strong right-to-left characters. + +2011-12-05 Chong Yidong <cyd@gnu.org> + + * faces.el (read-color): Doc fix. + +2011-12-05 Glenn Morris <rgm@gnu.org> + + * align.el (align--set-marker): Add doc-string. + Don't try to move something that is not a marker. (Bug#10216) + +2011-12-04 Glenn Morris <rgm@gnu.org> + + * calendar/appt.el (appt-add): Rewrite the interactive-spec to avoid + overly zealous deletion of trailing whitespace. + +2011-12-04 Juanma Barranquero <lekktu@gmail.com> + + * server.el (server-delete-client): On Windows, do not try to delete + the only terminal. + (server-process-filter): On Windows, treat requests for a tty frame as + if they were for a GUI frame if the running server is in GUI mode. + +2011-12-03 Glenn Morris <rgm@gnu.org> + + * textmodes/texinfmt.el (batch-texinfo-format): Doc fix. (Bug#10207) + +2011-12-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * electric.el: Streamline electric-indent's hook. + (electric-indent-chars): Revert to simple list. + (electric-indent-functions): New var. + (electric-indent-post-self-insert-function): Use it. + + * progmodes/prolog.el (prolog-find-value-by-system): Avoid error when + there's no inferior buffer (bug#10196). + (prolog-consult-compile): Don't use toggle-read-only. + +2011-12-02 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-maybe-open-connection): Handle user + interrupt. (Bug#10187) + +2011-12-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcmpl-gnu.el (pcomplete/tar): large-file-warn-threshold can be nil + (bug#9160). + + * dired-aux.el (dired-query): Don't assume help-char is modifier-free + (bug#10191). + +2011-12-02 Juri Linkov <juri@jurta.org> + + * info.el (Info-search): Display "end of manual" when Isearch + reaches the end of single-file Info manual. (Bug#9918) + +2011-12-02 Eli Zaretskii <eliz@gnu.org> + + * isearch.el (isearch-message-prefix): Run the input method part + of the prompt through bidi-string-mark-left-to-right. (Bug#10183) + +2011-12-02 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-occur): Use `word-search-regexp' for + `isearch-word'. + (isearch-search-and-update): Add condition for `isearch-word' and + call `word-search-regexp'. (Bug#10145) + +2011-12-01 Glenn Morris <rgm@gnu.org> + + * eshell/em-hist.el (eshell-hist-initialize): + Handle eshell-history-size nil and HISTSIZE set or unset. + (eshell-history-file-name, eshell-history-size): Fix custom type. + +2011-12-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * man.el (Man-completion-table): Fix the lambda case (bug#10168). + +2011-12-01 Michael McNamara <mac@mail.brushroad.com> + + * progmodes/verilog-mode.el (verilog-pretty-expr): + Rework verilog-pretty-expr to handle new assignment operators in system + verilog, such as += *= and the like. + (verilog-assignment-operator-re): Regular expression to find the + assigment operator in a verilog assignment. + (verilog-assignment-operation-re): Regular expression to find an + assignment statement for pretty-expr. + (verilog-in-attribute-p): Query returns true if point is in an + attribute context; used to skip these for expression line up from + pretty-expr. + (verilog-in-parameter-p): Query returns true if point is in an + parameter definition context; used to skip these for expression + line up from pretty-expr. + (verilog-in-parenthesis-p): Query returns true if point is in a + parenthetical expression, specifically ( ) but not [ ] or { }; + used by pretty-expr. + (verilog-just-one-space): If there is no space, don't add one. + (verilog-get-lineup-indent-2): Specifically skip just attribute + contexts for expression lineup, rather than skipping all + parenthetical expressions. + (verilog-calculate-indent): Fix comment, and fix indent. + (verilog-do-indent): Indent declarations in lists (suggested by + Joachim Lechner). + (verilog-mode-abbrev-table): Populate abbrev mode with the various + skeleton items. + (verilog-sk-ovm-class): Add skeleton for OVM classes (reported + by Alain Mellan). + +2011-12-01 Wilson Snyder <wsnyder@wsnyder.org> + + * progmodes/verilog-mode.el (verilog-read-defines): Fix reading + parameters with embedded comments. Reported by Ray Stevens. + (verilog-calc-1, verilog-fork-wait-re, verilog-forward-sexp) + (verilog-wait-fork-re): Fix indentation of "wait fork", bug407. + Reported by Tim Holt. + (verilog-auto): Fix AUTOing a upper module then AUTOing module + instantiated by upper module causing wrong expansion until AUTOed a + second time. Reported by K C Buckenmaier. + (verilog-diff-auto): Fix showing .* as a difference when + `verilog-auto-star-save' off. Reported by Dan Dever. + (verilog-auto-reset, verilog-read-always-signals) + (verilog-auto-reset-blocking-in-non): Fix AUTORESET including + temporary signals in reset list if + verilog-auto-reset-blocking-in-non is nil, and match assignment + style to each signal's assignment type, bug381. + Reported by Thomas Esposito. + (verilog-sk-uvm-class, verilog-uvm-begin-re, verilog-uvm-end-re) + (verilog-uvm-statement-re): Support UVM indentation and + highlighting, with old OVM keywords only. + (verilog-auto-tieoff, verilog-auto-tieoff-declaration): + Support AUTOTIEOFF creating non-wire data types. + Suggested by Jonathan Greenlaw. + (verilog-auto-insert-lisp, verilog-delete-to-paren) + (verilog-forward-sexp-cmt, verilog-forward-sexp-ign-cmt) + (verilog-inject-sense, verilog-read-inst-pins) + (verilog-read-sub-decls, verilog-read-sub-decls-line): + Fix mismatching parenthesis inside commented out code when deleting + AUTOINST, bug383. Reported by Jonathan Greenlaw. + (verilog-auto-ascii-enum): Fix AUTOASCIIENUM one-hot with + non-numeric vector width. Reported by Alex Reed. + (verilog-auto-ascii-enum): Add "onehot" option to work around not + detecting signals with parameter widths. Reported by Alex Reed. + (verilog-auto-delete-trailing-whitespace): + With `verilog-auto-delete-trailing-whitespace' remove trailing + whitespace in auto expansion, bug371. Reported by Brad Dobbie. + (verilog-run-hooks, verilog-scan-cache-flush, verilog-syntax-ppss): + Fix verilog-scan-cache corruption when running user AUTO expansion + hooks that call indentation routines. + (verilog-simplify-range-expression): Fix typo ignoring lower case + identifiers. + (verilog-delete-auto): Fix delete-autos to also remove user created + automatics, as long as they start with AUTO. + (verilog-batch-diff-auto, verilog-diff-auto) + (verilog-diff-function): Add `verilog-diff-auto' and bind to + "C-c?" to report differences in AUTO expansion, ignoring spaces. + (verilog-backward-syntactic-ws-quick, verilog-beg-of-defun-quick) + (verilog-in-paren-quick, verilog-re-search-backward-quick) + (verilog-re-search-forward-quick, verilog-syntax-ppss): + Fix calling `syntax-ppss' when inside auto expansions as the ppss hook + is disabled and its cache will get corrupt, causing AUTOS not to + expand. Instead use only -quick functions. + (verilog-scan-region): Fix scanning over escaped quotes. + (verilog-inside-comment-or-string-p, verilog-inside-comment-p) + (verilog-re-search-backward-quick) + (verilog-re-search-forward-quick, verilog-scan): verilog-scan and + related functions now ignore strings, to fix misparsing of strings + with magic comments embedded in them. + (verilog-read-auto-template): + Fix 'verilog-auto-inst-template-numbers' with extra newline before (. + Reported by Brad Dobbie. + (verilog-read-auto-template): + Fix 'verilog-auto-inst-template-numbers' with comments. + Reported by Brad Dobbie. + (verilog-auto-inst, verilog-auto-inst-param) + (verilog-auto-inst-sort): Add 'verilog-auto-inst-sort' to reduce + merge conflicts with AUTOINST, bug358. Reported by Brad Dobbie. + (verilog-auto-inst-template-numbers): Add 'lhs' policy for + debugging templates without merge conflicts, bug357. + Reported by Brad Dobbie. + (verilog-read-auto-template): + Fix verilog-auto-inst-template-numbers with multiple templates. + Reported by Brad Dobbie. + (verilog-define-abbrev): Fix verilog-mode abbrevs to be system + abbrevs so user won't be asked to save. + (verilog-read-auto-lisp-present): Fix to start at beginning of + buffer in case called outside of verilog-auto. + (verilog-simplify-range-expression): Fix AUTOWIRE expanding "X-1+1" + to "X-2". Reported by Matthew Myers. + (verilog-auto, verilog-auto-inout-in): Add AUTOINOUTIN for creating + all inputs from module templates. Reported by Leith Johnson. + (verilog-module-inside-filename-p): Fix locating programs as with + modules. + (verilog-auto-inst-port): Fix vl-width expressions when using + verilog-auto-inst-param-value, bug331. Reported by Julian Gorfajn. + (verilog-decls-get-regs, verilog-decls-get-signals, + verilog-decls-get-vars, verilog-decls-get-wires, verilog-decls-new, + verilog-modi-cache-add-vars, verilog-modi-cache-add-wires, + verilog-read-decls): Combine reg and wire structures into one var + structure to represent SystemVerilog concepts. + (verilog-auto-ascii-enum, verilog-auto-logic, verilog-auto-reg) + (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-wire) + (verilog-auto-wire-type, verilog-insert-definition): + Add verilog-auto-wire-type and AUTOLOGIC to support using + SystemVerilog "logic" keyword instead of "wire"/"reg". + (verilog-auto-reg-input, verilog-decls-get-signals): Fix AUTOWIRE + to declares outputs that also have assignments (presumably in an + ifdef or generate if so there's not a driver conflict). + Reported by Matthew Myers. + (verilog-auto-declare-nettype, verilog-insert-definition): + Add verilog-auto-declare-nettype to fix declarations using + `default_nettype none. Reported by Julian Gorfajn. + (verilog-read-always-signals-recurse, verilog-read-decls) + (verilog-read-sub-decls-gate): Fix infinite loop with (*) and + malformed end statement, bug325. Reported by Joshua Wise and + Andrew Drake. + (verilog-auto-star-safe, verilog-delete-auto-star-implicit) + (verilog-inst-comment-re): Fix not deleting Interfaced comment + when expanding .* in interfaces, bug320. + Reported by Pierre-David Pfister. + (verilog-read-module-name): Fix import statements between module + name and open parenthesis, bug317. + Reported by Pierre-David Pfister. + (verilog-simplify-range-expression): Fix simplification of + multiplications inside AUTOWIRE connections, bug303. + (verilog-auto-inst-port): Support parameter expansion in + multidimensional arrays. + (verilog-read-decls): Fix AUTOREG etc looking for "endproperty" + after "assert property". Reported by Julian Gorfajn. + (verilog-simplify-range-expression): Fix "couldn't merge" errors + with multiplication, bug303. + (verilog-read-decls): Fix parsing of unsigned data types, bug302. + Reported by Jan Frode Lonnum. + +2011-11-30 Juanma Barranquero <lekktu@gmail.com> + + * htmlfontify.el (hfy-page-header, hfy-post-html-hooks) + (hfy-shell-file-name, hfy-shell): + * international/fontset.el (x-decompose-font-name): Fix typos. + +2011-11-29 Ken Brown <kbrown@cornell.edu> + + * progmodes/gdb-mi.el: Fix bug#9853, bug#9858, and bug#9878. + (gdb-version): Remove defvar. + (gdb-supports-non-stop): New defvar, replacing `gdb-version'. + (gdb-gud-context-command, gdb-non-stop-handler) + (gdb-current-context-command, gdb-stopped): Use it. + (gdb-init-1): Enable pretty printing here. + (gdb-non-stop-handler): Don't enable pretty-printing here. + Check to see if the target supports non-stop mode; if not, turn off + non-stop mode. Use the following. + (gdb-check-target-async): New defun. + (gud-watch, gdb-stopped): Fix whitespace. + (gdb-get-source-file): Don't try to display the source file if + `gdb-main-file' is nil. + +2011-11-29 Stefan Monnier <monnier@iro.umontreal.ca> + + * align.el: Try to generate fewer markers (bug#10047). + (align--set-marker): New macro. + (align-region): Use it. + +2011-11-29 Stefan Monnier <monnier@iro.umontreal.ca> + + * isearch.el (isearch-yank-x-selection): Deactivate mark (bug#10022). + +2011-11-29 Chong Yidong <cyd@gnu.org> + + * indent.el (indent-for-tab-command, indent-according-to-mode): + Doc fix. + (indent-region): Doc fix. Switch nested ifs to equivalent cond. + +2011-11-29 Michael Albinus <michael.albinus@gmx.de> + + * vc/diff-mode.el (diff-find-file-name): Make `read-file-name' + aware of remote file names. (Bug#10124) + +2011-11-29 Chong Yidong <cyd@gnu.org> + + * frame.el (auto-raise-mode, auto-lower-mode): Doc fix. + +2011-11-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el (find-file): Don't use force-same-window (bug#10144). + * window.el (switch-to-buffer): Better match Emacs-23 behavior and only + use pop-to-buffer if the selected window can't be used. + (pop-to-buffer-same-window): Use display-buffer--same-window-action. + +2011-11-28 Eli Zaretskii <eliz@gnu.org> + + * vc/diff-mode.el (diff-mode-map): Don't inherit 'z' => 'M-z' from + special-mode-map. + +2011-11-28 Chong Yidong <cyd@gnu.org> + + * emacs-lisp/easy-mmode.el (define-minor-mode): Fix default doc. + +2011-11-27 Nick Roberts <nickrob@snap.net.nz> + + * progmodes/gdb-mi.el (gdb-init-1): Condition execution of + gdb-get-source-file-list on gdb-create-source-file-list. + +2011-11-26 Eli Zaretskii <eliz@gnu.org> + + * whitespace.el (whitespace-newline): Use a different foreground + color for 16-color light-background displays. + +2011-11-24 Chong Yidong <cyd@gnu.org> + + * window.el (display-buffer--special-action): Doc fix. + +2011-11-25 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/avl-tree.el (avl-tree--do-copy, avl-tree-create) + (avl-tree-compare-function, avl-tree-empty, avl-tree-enter) + (avl-tree-delete, avl-tree-member, avl-tree-member-p, avl-tree-map) + (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar, avl-tree-copy) + (avl-tree-clear, avl-tree-stack, avl-tree-stack-pop) + (avl-tree-stack-first): + * emacs-lisp/cconv.el (cconv--analyse-use): + * net/gnutls.el (gnutls-negotiate): Fix typos. + +2011-11-24 Glenn Morris <rgm@gnu.org> + + * lpr.el (lpr-windows-system, lpr-lp-system): + * mail/binhex.el (binhex-begin-line): + * progmodes/grep.el (grep-history, grep-find-history): + * textmodes/flyspell.el: + * vc/pcvs-defs.el (cvs-global-menu): + * vc/vc-bzr.el (vc-bzr-admin-checkout-format-file): + * vc/vc-mtn.el (vc-mtn-admin-dir, vc-mtn-admin-format): + * vc/vc-cvs.el (vc-cvs-registered): Give them basic doc-strings. + + * net/tls.el: Fix case of "GnuTLS". + + * paths.el (rmail-file-name): Format doc-string for make-docfile. + + * version.el (emacs-build-system): Give it a doc-string. + +2011-11-24 Juri Linkov <juri@jurta.org> + + * view.el (view-buffer): Revert 2011-07-19T15:01:49Z!larsi@gnus.org from 2011-07-19 (bug#8615). + +2011-11-24 Glenn Morris <rgm@gnu.org> + + * mail/rmailmm.el (rmail-mime): When rmail-enable-mime is non-nil, + if called on a non-mime message just toggle the headers. (Bug#8006) + +2011-11-24 Juanma Barranquero <lekktu@gmail.com> + + * allout.el (allout-setup, allout-auto-save-temporarily-disabled) + (allout-lead-with-comment-string, allout-structure-deleted-hook) + (allout-mode, allout-chart-subtree, allout-hotspot-key-handler) + (allout-rebullet-heading, allout-open-sibtopic) + (allout-toggle-current-subtree-encryption) + (allout-toggle-subtree-encryption, allout-encrypt-string) + (allout-next-topic-pending-encryption, allout-adjust-file-variable) + (allout-distinctive-bullets-string, allout-auto-activation): + * window.el (window-normalize-buffer-to-display): + * progmodes/verilog-mode.el (verilog-batch-indent): + * textmodes/bibtex.el (bibtex-field-braces-opt) + (bibtex-field-strings-opt): + * vc/cvs-status.el (cvs-tree-merge): + Fix typos. + +2011-11-23 Michael Albinus <michael.albinus@gmx.de> + + * rfn-eshadow.el (rfn-eshadow-update-overlay): Let-bind + `non-essential' to t, in order to avoid remote connections. + +2011-11-23 Eli Zaretskii <eliz@gnu.org> + + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): + On MS-DOS and MS-Windows, compare with loaddefs.el + case-insensitively. + +2011-11-23 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change) + + * mail/unrmail.el (unrmail): Always add blank line. (Bug#7743) + +2011-11-23 Glenn Morris <rgm@gnu.org> + + * paths.el (rmail-file-name): Reformat the doc-string so that it + is picked up. + + * mail/rmail.el (rmail-message-filter, rmail-auto-file): Doc fixes. + (rmail-auto-file): Ignore case in the "special" field names, + as mail-fetch-field does for all others. + + * mail/rmail.el (rmail-forward): + * mail/rmailkwd.el (rmail-set-label): + * mail/rmailout.el (rmail-output, rmail-output-as-seen) + (rmail-output-body-to-file): Give error if no message. (Bug#10082) + + * mail/rmail.el (rmail-current-message): Doc fix. + + * mail/rmail.el (rmail-message-filter): Mark as obsolete. (Bug#2624) + +2011-11-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * server.el (server-eval-and-print): Allow C-g (bug#6585). + +2011-11-22 Glenn Morris <rgm@gnu.org> + + * mail/rmailmm.el (test-rmail-mime-handler) + (test-rmail-mime-bulk-handler) + (test-rmail-mime-multipart-handler): Move tests to test/ directory. + +2011-11-21 Juri Linkov <juri@jurta.org> + + * calc/calc.el (calc-read-key-sequence): + Let-bind `input-method-function' to nil. (Bug#10018) + +2011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * emacs-lisp/cl-indent.el (common-lisp-loop-part-indentation): + Tell the caller that the next line needs recomputation, even + though it doesn't start a sexp (bug#10094). + +2011-11-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): Simplify. + +2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame): + Use force-same-window. + +2011-11-20 Juanma Barranquero <lekktu@gmail.com> + + * descr-text.el (describe-char-unicode-data): + * json.el (json-string-escape): + * mail/footnote.el (footnote-unicode-string, footnote-unicode-regexp) + (Footnote-unicode, Footnote-style-p): + * net/ntlm.el (ntlm-get-password-hashes): Fix typos. + +2011-11-20 Chong Yidong <cyd@gnu.org> + + * window.el (replace-buffer-in-windows): Restore interactive spec. + +2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * electric.el (electric-indent-mode): Fix last change (too optimistic). + + * emacs-lisp/bytecomp.el: Silence obsolete warnings more reliably. + (byte-compile-global-not-obsolete-vars): New var. + (byte-compile-check-variable, byte-compile-make-obsolete-variable): + Use it. + (byte-compile-warn-obsolete): Align text with the one in *Help*. + +2011-11-20 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/cwarn.el (cwarn-is-enabled, cwarn-font-lock-keywords): + * progmodes/pascal.el (electric-pascal-equal): + * textmodes/reftex-dcr.el (reftex-view-crossref-from-bibtex): + * xml.el (xml-substitute-special): Fix typos. + +2011-11-20 Glenn Morris <rgm@gnu.org> + + * mail/rmail.el (rmail-enable-mime-composing): Make it a defcustom. + (rmail-insert-mime-forwarded-message-function, rmail-mime-feature): + Doc fixes. + (rmail-decode-mime-charset): Mark as obsolete. + + * mail/rmailsum.el (rmail-message-regexp-p-1): + * mail/rmail.el (rmail-search-message, rmail-forward, rmail-resend): + Before using mime functions, check they are set. (Bug#10077) + +2011-11-19 Juri Linkov <juri@jurta.org> + + * info.el (Info-finder-find-node): Use `package--builtins' instead + of `package-alist'. Use node names formed by the pattern "Keyword " + and the keyword name. + +2011-11-19 Andreas Schwab <schwab@linux-m68k.org> + + * progmodes/sh-script.el (sh-assignment-regexp): Add entry for bash. + +2011-11-19 Juri Linkov <juri@jurta.org> + + * info.el (Info-hide-note-references): Add `:set' tag to `defcustom' + that calls `revert-buffer' on all Info buffers. (Bug#9915) + (Info-revert-find-node): Remove let-bindings `old-buffer-name', + `old-history', `old-history-forward'. Add let-binding + `window-selected'. Remove calls to `kill-buffer', + `switch-to-buffer' and `Info-mode'. Set `Info-current-file' to nil + before calling `Info-find-node', so `Info-find-node-2' will reread + the Info file. Restore window positions only when `window-selected' + is non-nil. + +2011-11-19 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-lazy-highlight-new-loop): + Remove condition `(not isearch-error)'. (Bug#9918) + + * misearch.el (multi-isearch-search-fun): Add condition + `(not bound)' to ignore lazy-highlighting search. + Add the search-failed message "end of multi" when the end of + multi-sequence is reached. Uncapitalize the search-failed + message "Repeat for next buffer". + + * info.el (Info-search): Add the search-failed message + "end of the manual" when the end of the manual is reached + in Isearch mode. + +2011-11-19 Juri Linkov <juri@jurta.org> + + * info.el (Info-find-node-2, Info-select-node, Info-history-find-node): + Use non-destructive `remove' instead of `delete' because + `Info-history-list' stored to `Info-isearch-initial-history-list' in + `Info-isearch-start' might need to be restored in `Info-isearch-end'. + +2011-11-19 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-edit-string): Let-bind `history-add-new-input' + to nil instead of binding `search-ring' and `regexp-search-ring'. + (Bug#9185) + +2011-11-19 Eli Zaretskii <eliz@gnu.org> + + * simple.el (line-move): Force movement by logical lines for any + hscrolled window, not only when auto-hscroll-mode is on. + (line-move-visual): Update doc string to that effect. (Bug#10076) + +2011-11-19 Andreas Schwab <schwab@linux-m68k.org> + + * language/european.el (macintosh): Define as alias for mac-roman. + +2011-11-19 Eli Zaretskii <eliz@gnu.org> + + * mail/rmailmm.el (rmail-mime-display-header) + (rmail-mime-display-tagline, rmail-mime-display-body): New defsubsts. + (rmail-mime-entity-segment, rmail-mime-toggle-raw) + (rmail-mime-toggle-hidden, rmail-mime-insert-text) + (rmail-mime-insert-bulk, rmail-mime-insert-multipart) + (rmail-mime-insert, rmail-mime-insert-tagline): Use them instead + of a raw aref. + (rmail-mime-entity-segment): To get past the tagline, move forward + 2 more lines, to account for the 2 empty lines that precede and + follow the line with the buttons. + (rmail-mime-update-tagline): Move one more line, to get past the + empty line that follows the buttons in the tagline. (Bug#9520) + +2011-11-19 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-max-delta-1, window-min-delta-1) + (window-min-size-1, window-state-get-1, window-state-put-1) + (window-state-put-2): Use "window--" prefix. + +2011-11-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/smie.el: Improve warnings and conflict detection. + (smie-warning-count): New var. + (smie-set-prec2tab): Use it. + (smie-bnf->prec2): Improve warnings. Add docstring. + (smie-bnf--closer-alist): Rename from smie-bnf-closer-alist. + (smie-bnf--set-class): New function. + (smie-bnf--classify): Rename from smie-bnf-classify. Rewrite to fix + corner case. + + * progmodes/compile.el: Obey compilation-first-column in dest buffer. + (compilation-error-properties, compilation-move-to-column): + Handle compilation-first-column while in the target buffer. + + * progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): + Don't hardcode point-min==1. + + * eshell/esh-cmd.el (eshell-do-eval): Handle `setq' (bug#9907). + (eshell-rewrite-for-command): Remove workaround. + (eshell-do-pipelines, eshell-do-pipelines-synchronously) + (eshell-do-eval, eshell-exec-lisp): Avoid gratuitous setq. + * eshell/esh-util.el (eshell-condition-case, eshell-for): Use declare. + + * files-x.el (modify-file-local-variable): Obey commenting conventions. + +2011-11-17 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): + Ignore buffer-local generated-autoload-file if it is the same + as the global value. (Bug#10049) + +2011-11-17 Juanma Barranquero <lekktu@gmail.com> + + * textmodes/reftex-toc.el (reftex-toc-return-marker, reftex-toc-help) + (reftex-toc, reftex-toc, reftex-toc-dframe-p, reftex-toc-next-heading) + (reftex-toc-previous-heading, reftex-toc-max-level) + (reftex-toc-goto-line-and-hide, reftex-toc-show-calling-point) + (reftex-toc-quit, reftex-toc-revert, reftex-toc-jump) + (reftex-toc-do-promote, reftex-toc-promote-prepare) + (reftex-toc-promote-action, reftex-toc-extract-section-number) + (reftex-toc-load-all-files-for-promotion, reftex-toc-rename-label) + (reftex-toc-rename-label, reftex-toc-visit-location) + (reftex-toc-visit-location, reftex-toggle-auto-toc-recenter) + (reftex-toggle-auto-toc-recenter, reftex-toggle-auto-toc-recenter) + (reftex-make-separate-toc-frame): Fix typos, and use TOC consistently, + leaving "*toc*" only for references to the buffer. + +2011-11-17 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-resize, delete-window, split-window): + Replace window-splits by window-combination-resize. + * cus-start.el (window-splits): Replace by window-combination-resize. + +2011-11-17 Glenn Morris <rgm@gnu.org> + + * progmodes/sh-script.el (sh-font-lock-keywords-var): + Make bash entry derive from sh entry, not shell entry. + +2011-11-16 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-file-truename): Cache only the + local file name. + +2011-11-16 Juanma Barranquero <lekktu@gmail.com> + + * menu-bar.el (menu-bar-file-menu): + * printing.el (pr-ps-utility): + * calendar/icalendar.el (icalendar, icalendar--convert-tz-offset) + (icalendar--convert-to-ical, icalendar--convert-ordinary-to-ical) + (icalendar--convert-weekly-to-ical, icalendar--convert-yearly-to-ical) + (icalendar--convert-sexp-to-ical, icalendar--convert-block-to-ical) + (icalendar--convert-float-to-ical, icalendar--convert-date-to-ical) + (icalendar--convert-cyclic-to-ical) + (icalendar--convert-anniversary-to-ical, icalendar-import-buffer) + (icalendar--convert-ical-to-diary) + (icalendar--convert-recurring-to-diary) + (icalendar--convert-non-recurring-all-day-to-diary) + (icalendar-import-format-sample): + * progmodes/idlw-shell.el (idlwave-shell-mode): + * progmodes/vhdl-mode.el (vhdl-mode, vhdl-print-two-column) + (vhdl-print-customize-faces, vhdl-mode, vhdl-ps-print-settings) + (vhdl-ps-print-init): Fix typos. + +2011-11-16 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el, allout-widgets.el (file metadata): Attribute copyright to + FSF and collapse date sequence, obscure author/maintainer email address + better, remove extra version line, track relocation of author's webpage. + + * progmodes/python.el (python-pdbtrack-input-prompt) + (python-pdbtrack-track-stack-file): Adjust to recognize ipdb as well as + regular python pdb prompts. Adjustments shamelessly taken exactly as + suggested in EmacsWiki page (tiny change): + http://www.emacswiki.org/PythonProgrammingInEmacs#toc14 + +2011-11-16 Juanma Barranquero <lekktu@gmail.com> + + * expand.el (expand-pos, expand-index, expand-point): + Remove redundant info from docstring. + (expand-add-abbrevs): Doc fix. + (expand-c-sample-expand-list, expand-sample-lisp-mode-expand-list) + (expand-sample-perl-mode-expand-list): Fix typos. + + * net/dbus.el (dbus-event-member-name): + * play/5x5.el (5x5-solve-rotate-left, 5x5-solver-output): + * term/pc-win.el (msdos-create-frame-with-faces): + * textmodes/texinfmt.el (texinfo-format-image): Fix typos. + +2011-11-16 Martin Rudalics <rudalics@gmx.at> + + * window.el (split-window, window-state-get-1) + (window-state-put-1, window-state-put-2): Rename occurrences of + window-nest to window-combination-limit. + * cus-start.el (window-nest): Rename to window-combination-limit. + +2011-11-16 Chong Yidong <cyd@gnu.org> + + * progmodes/autoconf.el (autoconf-mode): Fix comment-start-skip + regexp (Bug#10033). + +2011-11-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * tmm.el (tmm-prompt): Use minibuffer-with-setup-hook (bug#10053). + `completing-read' will remove *Completions* and will preserve + current-buffer for us. + (tmm-add-prompt): Users of *Completions* will always (re)set its + major mode. + (tmm-old-comp-map): Remove. + +2011-11-16 Glenn Morris <rgm@gnu.org> + + * mail/rmailedit.el: Require rmailmm when compiling. + (rmail-old-mime-state): New declaration. + (rmail-edit-current-message): If editing a mime message, + edit the "raw" message from the mbox buffer. + (rmail-cease-edit): Handle mime messages. (Bug#9840) + +2011-11-15 Glenn Morris <rgm@gnu.org> + + * mail/rmailmm.el (rmail-mime-toggle-raw): Remove entity arg, + which wasn't being used. Add optional arg to force given state. + (rmail-mime): Add optional arg to force given state. + +2011-11-15 Juanma Barranquero <lekktu@gmail.com> + + * allout.el (allout-encryption-plaintext-sanitization-regexps): + * frame.el (display-mm-dimensions-alist): + * outline.el (outline-mode-menu-bar-map, outline-move-subtree-up) + (outline-move-subtree-down): + * net/newst-treeview.el (newsticker--treeview-do-get-node-of-feed) + (newsticker--treeview-do-get-node): + * net/quickurl.el (quickurl-list-buffer-name): + * progmodes/dcl-mode.el (dcl-mode): + * progmodes/gdb-mi.el (gdb-mapcar*): + * progmodes/sql.el (sql-mode-oracle-font-lock-keywords): Fix typos. + +2011-11-15 Glenn Morris <rgm@gnu.org> + + * mail/rmail.el (rmail-file-coding-system): It's only ever used + in a boolean sense, so just make it a boolean, and fix the doc. + (rmail-show-mime-function, rmail-mime-feature) + (rmail-require-mime-maybe): Doc fixes. + (rmail-show-message-1): Check rmail-show-mime-function is non-nil. + + * mail/rmailmm.el (rmail-show-mime): Doc fix. + +2011-11-15 Juanma Barranquero <lekktu@gmail.com> + + * epg.el (epg-start-decrypt, epg-start-verify, epg-start-sign) + (epg-start-encrypt, epg-start-export-keys, epg-start-import-keys) + (epg-start-receive-keys, epg-start-delete-keys, epg-start-sign-keys) + (epg-start-generate-key, epg-context-set-progress-callback): Fix typos. + +2011-11-15 Glenn Morris <rgm@gnu.org> + + * mail/rmailmm.el (rmail-mime-entity, rmail-mime-entity-segment) + (rmail-mime-shown-mode, rmail-mime-hidden-mode, rmail-mime-raw-mode) + (rmail-mime-toggle-hidden, rmail-mime-insert-tagline) + (rmail-mime-insert-header, rmail-mime-handle, rmail-mime-parse) + (rmail-mime, rmail-show-mime): Doc fixes. + + * term/ns-win.el (mode-line-frame-identification): + Leave it alone. (Bug#10051) + + * simple.el (mark-whole-buffer): Doc fix. (Bug#10023) + + * mail/rmailout.el (rmail-output-to-rmail-buffer): + Handle empty buffers. (Bug#9978) + +2011-11-14 Juanma Barranquero <lekktu@gmail.com> + + * international/mule.el (define-charset): + * mail/rmailmm.el (rmail-mime-find-header-encoding): + * progmodes/prolog.el (prolog-mode-hook, prolog-inferior-mode-hook): + * progmodes/verilog-mode.el (verilog-backward-token): + * textmodes/ispell.el (lookup-words): + * textmodes/sgml-mode.el (sgml-guess-indent): Fix typos. + +2011-11-14 Glenn Morris <rgm@gnu.org> + + * progmodes/executable.el + (executable-make-buffer-file-executable-if-script-p): + Handle file-modes returning nil. + + * mail/rmailsum.el (rmail-summary): Remove movement to beginning of + message - not necessary, and causes problems. (Bug#9831) + + * mail/rmailsum.el (rmail-new-summary): Preserve message number. + + * mail/rmail.el (rmail-no-mail-p): Remove mode-line N/M indicator. + + * mail/rmailsum.el (rmail-summary, rmail-new-summary) + (rmail-new-summary-1): Allow empty summaries. (Bug#9964) + (rmail-new-summary): Remember that rmail-summary-buffer is buffer-local. + +2011-11-12 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-resize, delete-window): Use window-splits + variable instead of function. + (window-state-get-1, window-state-put-2, window-state-put): + Don't deal with windows' splits status. + +2011-11-12 Glenn Morris <rgm@gnu.org> + + * apropos.el (apropos-do-all, apropos-library, apropos-value) + (apropos-documentation): Doc fixes. + +2011-11-11 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/idlw-shell.el (idlwave-shell-make-new-bp-overlay): + * textmodes/sgml-mode.el (html-tag-help): Fix typos. + +2011-11-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * electric.el (electric-indent-post-self-insert-function): Make it + possible for a char to only indent in some circumstances. + (electric-indent-mode): Simplify. + +2011-11-11 Martin Rudalics <rudalics@gmx.at> + + * window.el (windows-with-parameter): Remove unused function. + (windows-at-side): Rename to window-at-side-list. + (window-check, window-atom-check, window-atom-check-1) + (window-side-check, window-size-ignore, window-size-fixed-1) + (window-in-direction-2): Prefix with "window--". + (window-tree-1): Rename to window--subtree, fix doc-string. + +2011-11-11 Glenn Morris <rgm@gnu.org> + + * subr.el (eval-after-load): If FILE is already loaded, + evaluate FORM before it gets wrapped in more stuff. (Bug#10009) + +2011-11-10 Glenn Morris <rgm@gnu.org> + + * vc/vc-svn.el (vc-svn-create-repo, vc-svn-modify-change-comment): + Call svn via vc-svn-command rather than vc-do-command. + (vc-svn-command): Add --non-interactive. (Bug#9993) + (vc-svn-update, vc-svn-merge-news): No need for --non-interactive. + + * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): + Add toggle-read-only. (Bug#7292) + * files.el (toggle-read-only): Mention that it should only + be used interactively. (Bug#10006) + +2011-11-09 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Adjust regexp for OCaml warnings. + + * electric.el (electric-pair-post-self-insert-function): Let user + turn it off buffer-locally (bug#9932). + + * progmodes/python.el (python-beginning-of-statement): + Rewrite (bug#2703). + + * progmodes/compile.el: Better handle TABs (bug#9749). + (compilation-internal-error-properties) + (compilation-next-error-function): Obey the target buffer's + compilation-error-screen-columns. + +2011-11-09 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/meta-mode.el: Remove obsolete comments. + (meta-right-comment-regexp, meta-ignore-comment-regexp): + Fix typos in docstrings. + +2011-11-09 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-size-fixed-p): Rewrite doc-string. + (window-resizable-p): Rename to window--resizable-p. Update callers. + (window--resizable): New function. Make all callers of + window-resizable call window--resizable instead. + (window-resizable): Rewrite in terms of window--resizable. + +2011-11-08 Glenn Morris <rgm@gnu.org> + + * progmodes/delphi.el (delphi-mode-syntax-table): + Let define-derived-mode define a proper syntax table. (Bug#9994) + +2011-11-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el: Stay away from defsubst. + (window-list-no-nils): Remove. + (window-state-get-1, window-state-get): Use backquote instead. + +2011-11-08 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * emacs-lisp/find-func.el (find-function-read): + Fix incorrect use of default argument in `completing-read'. + +2011-11-08 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-function, special-display-function): + Mention display-buffer-record-window but do not mention + help-setup parameter in doc-strings. + (window-min-delta): Fix doc-string typo. + +2011-11-08 Chong Yidong <cyd@gnu.org> + + * window.el (window-total-height, window-total-width): Doc fix. + (window-body-size): Move from C. + (window-body-height, window-body-width): Move to C. + +2011-11-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el: Make special-display like display-buffer-alist (bug#9532). + (display-buffer--special-action): New function, morphed + from display-buffer--special. + (display-buffer): Use it to handle special-display-buffers at higher + priority (just after display-buffer-alist). + (display-buffer-fallback-action, display-buffer--other-frame-action) + (pop-to-buffer-same-window): Remove display-buffer--special. + +2011-11-07 Glenn Morris <rgm@gnu.org> + + * calendar/cal-menu.el (cal-menu-set-date-title): + Do nothing if not in a calendar. (Bug#9976) + +2011-11-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el (find-file): Always use selected-window. + +2011-11-07 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-combinations): Make WINDOW argument + mandatory. Rewrite doc-string. + (walk-window-subtree, window-atom-check, window-min-delta) + (window-max-delta, window--resize-this-window) + (window--resize-root-window-vertically, window-tree) + (balance-windows, window-state-put): Rewrite doc-strings as to + not mention the term "subwindow". + (window--resize-subwindows-skip-p): Rename to + window--resize-child-windows-skip-p. + (window--resize-subwindows-normal): Rename to + window--resize-child-windows-normal. + (window--resize-subwindows): Rename to + window--resize-child-windows. + (window-or-subwindow-p): Rename to window--in-subtree-p. + +2011-11-07 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change) + + * mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text): + Ensure that mbox format messages end in two newlines (Bug#9974). + +2011-11-06 Chong Yidong <cyd@gnu.org> + + * window.el (window-combination-p): Function deleted; its + side-effect is not used in any existing code. + (window-combinations, window-combined-p): Call window-*-child + directly. + +2011-11-05 Chong Yidong <cyd@gnu.org> + + * window.el (window-valid-p): Rename from window-any-p. + (window-size-ignore, window-state-get): Callers changed. + (window-normalize-window): Rename from window-normalize-any-window. + New arg LIVE-ONLY, replacing window-normalize-live-window. + (window-normalize-live-window): Delete. + (window-combination-p, window-combined-p, window-combinations) + (walk-window-subtree, window-atom-root, window-min-size) + (window-sizable, window-sizable-p, window-size-fixed-p) + (window-min-delta, window-max-delta, window-resizable) + (window-resizable-p, window-full-height-p, window-full-width-p) + (window-current-scroll-bars, window-point-1, set-window-point-1) + (window-at-side-p, window-in-direction, window-resize) + (adjust-window-trailing-edge, maximize-window, minimize-window) + (window-deletable-p, delete-window, delete-other-windows) + (record-window-buffer, unrecord-window-buffer) + (switch-to-prev-buffer, switch-to-next-buffer, window--delete) + (quit-window, split-window, window-state-put) + (set-window-text-height, fit-window-to-buffer) + (shrink-window-if-larger-than-buffer): Callers changed. + +2011-11-04 Eli Zaretskii <eliz@gnu.org> + + * mail/rmail.el (rmail-simplified-subject): Decode subject with + rfc2047-decode-string. + (rmail-mime-toggle-hidden): Declare to avoid byte-compilation + warnings. + + * window.el (window-body-height, window-body-width): Mention in + the doc string that the return values are in frame's canonical + units. (Bug#9949) + +2011-11-03 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-langs.el (c-nonlabel-token-2-key): New variable for + change in cc-engine.el. + +2011-11-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el (switch-to-buffer): Use `force-same-window' interactively. + +2011-11-02 Martin Rudalics <rudalics@gmx.at> + + * window.el (quit-window): Call unrecord-window-buffer after + showing another buffer in the window. (Bug#9937) + (bury-buffer): Call switch-to-prev-buffer with second argument `bury'. + +2011-11-02 Juanma Barranquero <lekktu@gmail.com> + + * vc/vc-bzr.el (vc-bzr-state, vc-bzr-after-dir-status): + Accept status with more than 9 shelves. (Bug#9935) + Reported by Colin D Bennett <colin@gibibit.com>. + +2011-11-01 Martin Rudalics <rudalics@gmx.at> + + * help.el (with-help-window): Don't reference + temp-buffer-show-specifiers in doc-string. + +2011-10-31 Andreas Schwab <schwab@linux-m68k.org> + + * subr.el (keymap--menu-item-with-binding): Ignore item if not a + menu-item. + +2011-10-30 Vinicius Jose Latorre <viniciusjl@ig.com.br> + + * whitespace.el: New version 13.2.2. + (whitespace-newline-mode): Disable properly. Reported by Sarah + <EmacsWiki>. + +2011-10-30 Ulf Jasper <ulf.jasper@web.de> + + * net/newst-treeview.el: Remove "Time-stamp". + (newsticker--group-manage-orphan-feeds): Do not call + newsticker--treeview-tree-update. + (newsticker-treeview-update, newsticker-treeview): + Call newsticker--treeview-tree-update if necessary. + +2011-10-30 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-iso-combination-p, window-iso-combined-p) + (window-iso-combinations): Remove "iso-" infix. + Suggested by Chong Yidong. + (window-min-size-1, window-size-fixed-1, window-min-delta-1) + (window-max-delta-1, window-resize, window--resize-siblings) + (window--resize-this-window, adjust-window-trailing-edge) + (split-window, balance-windows-1) + (shrink-window-if-larger-than-buffer): + * calendar/calendar.el (calendar-generate-window): + * help.el (resize-temp-buffer-window): Adjust callers accordingly. + +2011-10-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * eshell/esh-cmd.el (eshell-rewrite-for-command): Don't modify the list + in place (bug#9907). + (eshell-subcommand-arg-values, eshell-rewrite-named-command) + (eshell-rewrite-if-command, eshell-rewrite-for-command) + (eshell-structure-basic-command, eshell-rewrite-while-command) + (eshell-invokify-arg, eshell-parse-pipeline, eshell-parse-command) + (eshell-parse-subcommand-argument, eshell-parse-lisp-argument) + (eshell-trap-errors, eshell-do-pipelines, eshell-do-eval) + (eshell-do-pipelines-synchronously, eshell-eval-command): + Use backquotes and prefer setq to set. + (eshell-lookup-function, function-p-func, eshell-functionp): Remove. + (eshell-macrop): Use functionp. + (eshell-do-eval): Handle multiple expressions in `while' body. + +2011-10-30 Chong Yidong <cyd@gnu.org> + + * emulation/viper-cmd.el (viper-exec-change): Use push-mark + instead of set-mark (Bug#9810). + +2011-10-30 Chong Yidong <cyd@gnu.org> + + * window.el (split-window-below, split-window-right): Rename from + split-window-above-each-other and split-window-side-by-side + respectively. All callers changed. + (split-window-sensibly, split-window-sensibly): Use them. + (split-window-keep-point): Doc fix. + + * isearch.el: Add isearch-scroll property to split-window-below + and split-window-right. + + * follow.el (follow-mode): + * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame): + * progmodes/ada-xref.el (ada-gdb-application): + * emulation/vip.el (vip-buffer-in-two-windows): + * image-dired.el (image-dired-dired-with-window-configuration): + * dired-x.el (dired-do-find-marked-files): + * dired.el (dired-pop-to-buffer): + * bs.el (bs--show-with-configuration): + * vc/emerge.el (emerge-setup-windows): + * textmodes/two-column.el (2C-two-columns): + * textmodes/reftex-toc.el (reftex-toc): + * progmodes/gdb-mi.el (gdb-setup-windows): + * progmodes/fortran.el (fortran-window-create): + * net/newst-treeview.el (newsticker--treeview-window-init): + * emulation/ws-mode.el (wordstar-C-o-map, wordstar-mode): + * emulation/tpu-edt.el (tpu-gold-map): + * emulation/crisp.el (crisp-mode-map): + * calendar/calendar.el (calendar-basic-setup): Callers changed. + +2011-10-29 Chong Yidong <cyd@gnu.org> + + * subr.el (y-or-n-p): Add code for batch mode (Bug#9818). + + * mouse.el (mouse-yank-primary): Push the mark (Bug#9894). + + * textmodes/flyspell.el (flyspell-word): Fix char offset for + forged Ispell output (Bug#7904). + + * emacs-lisp/package.el (package-refresh-contents): Add autoload. + +2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * doc-view.el: Avoid ugly errors about not finding nil. + (doc-view-ghostscript-program, doc-view-dvipdfm-program) + (doc-view-dvipdf-program, doc-view-unoconv-program) + (doc-view-ps2pdf-program, doc-view-pdftotext-program): + Avoid nil or absolute file name as default value. + (doc-view-pdf->txt, doc-view-ps->pdf): Use executable-find here. + +2011-10-28 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-defs.el (c-version): -> 5.32.2. + +2011-10-28 Alan Mackenzie <acm@muc.de> + + Amend the handling of c-beginning/end-of-defun in nested declaration + scopes. + + * progmodes/cc-vars.el (c-defun-tactic): Move here from + cc-langs.el. Change it to a defcustom. + + * progmodes/cc-langs.el (c-defun-tactic): Move this variable to + cc-vars.el. + + * progmodes/cc-engine.el (c-beginning-of-statement-1): + Prevent "class foo : bar" being spuriously recognized as a label. + + * progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): + Add parameter `inclusive' (to include enclosing braces in the region). + (c-widen-to-enclosing-decl-scope): New function. + (c-while-widening-to-decl-block): New macro. + (c-beginning-of-defun, c-end-of-defun): Change algorithm to keep going + outward for defun boundaries, and correspondingly change symbol + `respect-enclosure' to `go-outward'. + (c-declaration-limits): Change algorithm to report only the "innermost" + defun's boundaries. + +2011-10-28 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-mode): Use hard newlines. + +2011-10-28 Alan Mackenzie <acm@muc.de> + + Amend to indent and fontify macros "which include their own semicolon" + correctly, using the "virtual semicolon" mechanism. + + * progmodes/cc-defs.el: Update "virtual semicolon" comments. + + * progmodes/cc-engine.el (c-crosses-statement-barrier-p): + Recode to scan one line at a time rather than having \n and \r + explicitly in c-stmt-delim-chars (for some modes, e.g. AWK). + (c-forward-label): Amend for virtual semicolons. + (c-at-macro-vsemi-p, c-macro-vsemi-status-unknown-p): New functions. + + * progmodes/cc-fonts.el (c-font-lock-declarations): Take account + of the new C macros. + + * progmodes/cc-langs.el (c-at-vsemi-p-fn): + (c-vsemi-status-unknown-p-fn): Move to earlier in the file. + (c-opt-cpp-symbol, c-line-comment-start-regexp): New language vars. + (c-opt-cpp-macro-define): Make into a full language variable. + (c-stmt-delim-chars, c-stmt-delim-chars-with-comma): Special value for + AWK Mode (including \n, \r) removed, no longer needed. + + * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): + Invoke c-make-macro-with-semi-re. + + * progmodes/cc-vars.el (c-macro-with-semi-re): + (c-macro-names-with-semicolon): New variables. + (c-make-macro-with-semi-re): New function. + +2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/log-edit.el: Fill empty field rather than adding new one. + (log-edit-add-field): New function. + (log-edit-insert-changelog): Use it. + +2011-10-28 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change) + + * mail/rmail.el (rmail-mode-map): Add M-C-f as in rmailsum (bug#9802). + +2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/gdb-mi.el: Warn the user when -i=mi is missing. + (gdb--check-interpreter): New function. + (gdb): Use it. + +2011-10-27 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/cl-extra.el (most-positive-float, most-negative-float) + (least-positive-float, least-negative-float) + (least-positive-normalized-float, least-negative-normalized-float) + (float-epsilon, float-negative-epsilon): + Remove unnecessary declarations. + + * emacs-lisp/cl-extra.el (cl-float-limits): Add doc string. + * emacs-lisp/cl.el (most-positive-float, most-negative-float) + (least-positive-float, least-negative-float) + (least-positive-normalized-float, least-negative-normalized-float) + (float-epsilon, float-negative-epsilon): Add doc-strings, + based on those in cl.texi. + + * files.el (set-visited-file-name): If the major-mode changed, + reload the local variables. (Bug#9796) + +2011-10-27 Chong Yidong <cyd@gnu.org> + + * subr.el (change-major-mode-after-body-hook): New hook. + (run-mode-hooks): Run it. + + * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Use change-major-mode-before-body-hook. + + * simple.el (fundamental-mode): + * emacs-lisp/derived.el (define-derived-mode): Revert 2010-04-28 + change introducing fundamental-mode-hook. + +2011-10-26 Juanma Barranquero <lekktu@gmail.com> + + * term/w32-win.el (w32-default-color-map): Declare obsolete (Bug#9785). + +2011-10-26 Michael Albinus <michael.albinus@gmx.de> + + * ido.el (ido-file-name-all-completions-1): Do not require + tramp.el explicitly. (Bug#7583) + +2011-10-26 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/octave-mod.el: + * progmodes/octave-inf.el: Update maintainer. + +2011-10-26 Chong Yidong <cyd@gnu.org> + + * subr.el (with-wrapper-hook): Rewrite doc. + +2011-10-25 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-file-directory-p): Return t for + filenames "/method:foo:". (Bug#9793) + +2011-10-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * comint.el (comint-get-old-input-default): Fix use-prompt-regexp case + (bug#9865). + +2011-10-24 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. (Bug#9819) + +2011-10-24 Michael Albinus <michael.albinus@gmx.de> + + * notifications.el: Add the requirement of a running D-Bus session + bus to the Commentary. + +2011-10-24 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to + `search-whitespace-regexp' only when `isearch-regexp' is non-nil. + (Bug#9364) + +2011-10-24 Juri Linkov <juri@jurta.org> + + * info.el (Info-following-node-name-re): Add newline to the list + of allowed characters for leading space. (Bug#9824) + +2011-10-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/octave-inf.el (inferior-octave-mode-map): + Fix C-c C-h binding. + * progmodes/octave-mod.el (octave-help): Remove. + +2011-10-23 Michael Albinus <michael.albinus@gmx.de> + + Sync with Tramp 2.2.3. + + * net/tramp-cache.el (top): Pacify byte-compiler using + `init-file-user' and `site-run-file'. + + * net/trampver.el: Update release number. + +2011-10-23 Chong Yidong <cyd@gnu.org> + + * files.el (toggle-read-only): Remove obsolete comment about + version control. + + * vc/vc-hooks.el (vc-toggle-read-only): Make it an obsolete alias + for toggle-read-only. Note that this hasn't called vc-next-action + since 2008-05-02, though it wasn't documented at the time. + + * vc/ediff-init.el (ediff-toggle-read-only-function): + Use toggle-read-only. + +2011-10-22 Alan Mackenzie <bug-cc-mode@gnu.org> + + Fix bug #9560, sporadic wrong indentation; improve instrumentation + of c-parse-state. + + * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): + correct faulty logical expression. + (c-parse-state-state, c-record-parse-state-state): + (c-replay-parse-state-state): New defvar/defuns. + (c-debug-parse-state): Use new functions. + +2011-10-22 Martin Rudalics <rudalics@gmx.at> + + * mouse.el (mouse-drag-line): Fix minibuffer resizing broken by + last fix. Use window-in-direction correctly. + +2011-10-21 Chong Yidong <cyd@gnu.org> + + * progmodes/idlwave.el (idlwave-mode): + * progmodes/vera-mode.el (vera-mode): No need to set + require-final-newline; that's done in prog-mode. + Suggested by Stefan Monnier. + +2011-10-21 Martin Rudalics <rudalics@gmx.at> + + * mouse.el (mouse-drag-window-above) + (mouse-drag-move-window-bottom, mouse-drag-move-window-top) + (mouse-drag-mode-line-1, mouse-drag-header-line) + (mouse-drag-vertical-line-rightward-window): Remove. + (mouse-drag-line): New function. + (mouse-drag-mode-line, mouse-drag-header-line) + (mouse-drag-vertical-line): Call mouse-drag-line. + * window.el (window-at-side-p, windows-at-side): New functions. + +2011-10-21 Ulrich Mueller <ulm@gentoo.org> + + * tar-mode.el (tar-grind-file-mode): + Fix handling of setuid/setgid, handle sticky bit. (Bug#9817) + +2011-10-21 Chong Yidong <cyd@gnu.org> + + * progmodes/idlwave.el (idlwave-mode): + * progmodes/vera-mode.el (vera-mode): + Use mode-require-final-newline. + +2011-10-20 Glenn Morris <rgm@gnu.org> + + * vc/vc.el (vc-next-action): Handle removed directories. (Bug#9781) + +2011-10-20 Christoph Scholtes <cschol2112@googlemail.com> + + * emulation/cua-base.el (cua-set-mark): Fix case of string. + +2011-10-20 Chong Yidong <cyd@gnu.org> + + * emulation/cua-base.el (cua-mode): + * mail/footnote.el (footnote-mode): + * mail/mailabbrev.el (mail-abbrevs-mode): + * net/xesam.el (xesam-minor-mode): + * progmodes/bug-reference.el (bug-reference-mode): + * progmodes/cap-words.el (capitalized-words-mode): + * progmodes/compile.el (compilation-minor-mode) + (compilation-shell-minor-mode): + * progmodes/gud.el (gud-tooltip-mode): + * progmodes/hideif.el (hide-ifdef-mode): + * progmodes/idlw-shell.el (idlwave-shell-electric-debug-mode): + * progmodes/subword.el (subword-mode): + * progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode): + * progmodes/which-func.el (which-function-mode): + * term/tvi970.el (tvi970-set-keypad-mode): + * term/vt100.el (vt100-wide-mode): + * textmodes/flyspell.el (flyspell-mode): + * textmodes/ispell.el (ispell-minor-mode): + * textmodes/nroff-mode.el (nroff-electric-mode): + * textmodes/paragraphs.el (use-hard-newlines): + * textmodes/refill.el (refill-mode): + * textmodes/reftex.el (reftex-mode): + * textmodes/rst.el (rst-minor-mode): + * textmodes/sgml-mode.el (html-autoview-mode) + (sgml-electric-tag-pair-mode): + * textmodes/tex-mode.el (latex-electric-env-pair-mode): + * vc/diff-mode.el (diff-auto-refine-mode, diff-minor-mode): + * emulation/crisp.el (crisp-mode): + * emacs-lisp/eldoc.el (eldoc-mode): + * emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fixes for new + minor mode behavior. + +2011-10-19 Juri Linkov <juri@jurta.org> + + * descr-text.el (describe-char): Add #x2010 and #x2011 to + the list of hard-coded chars with escape-glyph face. + +2011-10-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/log-edit.el (log-edit-empty-buffer-p): Ignore empty headers. + +2011-10-19 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-connectable-p): Make a stronger check on a + running process. + +2011-10-19 Glenn Morris <rgm@gnu.org> + + * vc/vc-bzr.el (vc-bzr-after-dir-status): + Ignore ignored files. (Bug#9726) + +2011-10-19 Chong Yidong <cyd@gnu.org> + + Doc fix for minor modes, stating that an omitted argument enables + the mode unconditionally when called from Lisp. + + * abbrev.el (abbrev-mode): + * allout.el (allout-mode): + * autoinsert.el (auto-insert-mode): + * autoarg.el (autoarg-mode, autoarg-kp-mode): + * autorevert.el (auto-revert-mode, auto-revert-tail-mode) + (global-auto-revert-mode): + * battery.el (display-battery-mode): + * composite.el (global-auto-composition-mode) + (auto-composition-mode): + * delsel.el (delete-selection-mode): + * desktop.el (desktop-save-mode): + * dired-x.el (dired-omit-mode): + * dirtrack.el (dirtrack-mode): + * doc-view.el (doc-view-minor-mode): + * double.el (double-mode): + * electric.el (electric-indent-mode, electric-pair-mode): + * emacs-lock.el (emacs-lock-mode): + * epa-hook.el (auto-encryption-mode): + * follow.el (follow-mode): + * font-core.el (font-lock-mode): + * frame.el (auto-raise-mode, auto-lower-mode, blink-cursor-mode): + * help.el (temp-buffer-resize-mode): + * hilit-chg.el (highlight-changes-mode) + (highlight-changes-visible-mode): + * hi-lock.el (hi-lock-mode): + * hl-line.el (hl-line-mode, global-hl-line-mode): + * icomplete.el (icomplete-mode): + * ido.el (ido-everywhere): + * image-file.el (auto-image-file-mode): + * image-mode.el (image-minor-mode): + * iswitchb.el (iswitchb-mode): + * jka-cmpr-hook.el (auto-compression-mode): + * linum.el (linum-mode): + * longlines.el (longlines-mode): + * master.el (master-mode): + * mb-depth.el (minibuffer-depth-indicate-mode): + * menu-bar.el (menu-bar-mode): + * minibuf-eldef.el (minibuffer-electric-default-mode): + * mouse-sel.el (mouse-sel-mode): + * msb.el (msb-mode): + * mwheel.el (mouse-wheel-mode): + * outline.el (outline-minor-mode): + * paren.el (show-paren-mode): + * recentf.el (recentf-mode): + * reveal.el (reveal-mode, global-reveal-mode): + * rfn-eshadow.el (file-name-shadow-mode): + * ruler-mode.el (ruler-mode): + * savehist.el (savehist-mode): + * scroll-all.el (scroll-all-mode): + * scroll-bar.el (scroll-bar-mode): + * server.el (server-mode): + * shell.el (shell-dirtrack-mode): + * simple.el (auto-fill-mode, transient-mark-mode) + (visual-line-mode, overwrite-mode, binary-overwrite-mode) + (line-number-mode, column-number-mode, size-indication-mode) + (auto-save-mode, normal-erase-is-backspace-mode, visible-mode): + * strokes.el (strokes-mode): + * time.el (display-time-mode): + * t-mouse.el (gpm-mouse-mode): + * tool-bar.el (tool-bar-mode): + * tooltip.el (tooltip-mode): + * type-break.el (type-break-mode-line-message-mode) + (type-break-query-mode): + * view.el (view-mode): + * whitespace.el (whitespace-mode, whitespace-newline-mode) + (global-whitespace-mode, global-whitespace-newline-mode): + * xt-mouse.el (xterm-mouse-mode): Doc fix. + + * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Fix autogenerated docstring. + +2011-10-19 Juri Linkov <juri@jurta.org> + + * net/browse-url.el (browse-url-can-use-xdg-open): Support LXDE + by checking environment variables "DESKTOP_SESSION" and + "XDG_CURRENT_DESKTOP". (Bug#9779) + +2011-10-19 Juri Linkov <juri@jurta.org> + + * net/browse-url.el (browse-url-browser-function): Add "Chromium". + (browse-url-chromium-program, browse-url-chromium-arguments): + New defcustoms. + (browse-url-default-browser): Check for `browse-url-chromium' and + call `browse-url-chromium-program'. + (browse-url-chromium): New command. (Bug#9779) + +2011-10-18 Juanma Barranquero <lekktu@gmail.com> + + * facemenu.el (list-colors-duplicates): On Windows, detect more + duplicates by assuming that only colors matching "^System" are + special "system colors". (Bug#9722) + +2011-10-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/log-edit.el (log-edit): Add "Author:" header to encourage people + to distinguish the author from the committer. + +2011-10-18 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-file-name-handler): Load Tramp packages silently. + +2011-10-18 Jirka Kosek <jirka@kosek.cz> (tiny change) + + * international/mule.el (sgml-html-meta-auto-coding-function): + Add support for detecting encoding in HTML5 specified only as + <meta charset="UTF-8">. Implementation just makes http-equiv and + content-type parts from HTML4 encoding string optional. (Bug#9716) + +2011-10-18 Glenn Morris <rgm@gnu.org> + + * vc/vc.el (vc-initial-comment): Mark as obsolete. (Bug#9745) + +2011-10-18 Chong Yidong <cyd@gnu.org> + + * faces.el (cursor): Doc fix. + +2011-10-17 Chong Yidong <cyd@gnu.org> + + * font-lock.el (font-lock-maximum-size): Mark as obsolete. + +2011-10-17 Ryan Barrett <emacs@ryanb.org> (tiny change) + + * dirtrack.el (dirtrack): Support shell buffers with path + prefixes, e.g. tramp-based remote shells. (Bug#9647) + +2011-10-17 Teodor Zlatanov <tzz@lifelogs.com> + + * json.el: Bump version to 1.3 and note change in History. + (json-alist-p, json-plist-p): Rewrite to avoid recursion. + +2011-10-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * comint.el (comint-insert-input, comint-send-input) + (comint-get-old-input-default, comint-backward-matching-input) + (comint-next-prompt): Use nil instead of `input' for field property of + past user input (bug#114). + + * minibuffer.el (completion--replace): Inherit surrounding properties + (bug#114). + (minibuffer-complete-and-exit): Use it. + + * comint.el (comint--table-subvert): Quote the all-completions output + (bug#9160). + +2011-10-17 Martin Rudalics <rudalics@gmx.at> + + * ido.el (ido-default-buffer-method): Remove redundant :type entry. + + * menu-bar.el (menu-bar-file-menu): Add entry for making new + window on right of selected. (Bug#9350) Reword other window + entries and separate them from frame entries. + +2011-10-15 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/ert.el (ert--explain-equal-rec, ert-select-tests): + Doc fixes. + +2011-10-15 Chong Yidong <cyd@stupidchicken.com> + + * net/network-stream.el (network-stream-open-starttls): + Improve detection of failure due to lack of TLS support. + + * mail/sendmail.el (sendmail-query-once): Tweak prompt message, + putting the input text in front and in bold. + +2011-10-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcmpl-unix.el (pcomplete/ssh): SSH does allow ganging. + + * mpc.el (mpc-songs-jump-to): Don't burp if the user clicks in an + empty buffer. + + * mouse.el (mouse-drag-mode-line-1): Modify the end-event we pushed on + unread-command-events rather than pushing yet-another event. + +2011-10-14 Eli Zaretskii <eliz@gnu.org> + + * mail/sendmail.el (sendmail-query-once): Improve the wording of + the explanation of the possible choices. Make the options passed + to completing-read shorter. + +2011-10-13 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/flyspell.el (flyspell-large-region): Make sure + extended character mode is used if defined (Bug#1339). + +2011-10-13 Eli Zaretskii <eliz@gnu.org> + + * simple.el (what-cursor-position): Fix the display of the + character info for LRE, LRO, RLE, and RLO characters by appending + an invisible PDF. + +2011-10-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/timer.el (with-timeout): Make sure we cancel the timer + even in case of error; add debug spec; simplify data flow. + (with-timeout-handler): Remove. + +2011-10-12 Michael Albinus <michael.albinus@gmx.de> + + Fix Bug#6019, Bug#9315. + + * files.el (set-auto-mode): Call `file-name-sans-versions' for the + complete `buffer-file-name', the local file name part could look + remotely (for example on VMS). + + * net/ange-ftp.el (ange-ftp-run-real-handler): Make it an alias of + `tramp-run-real-handler'. + (ange-ftp-fix-name-for-vms): Handle the case, where `name' is + already quoted by '"'. + + * net/tramp.el (tramp-rfn-eshadow-update-overlay): Ignore errors. + Let `file-name-handler-alist' be nil, the local file name part + could look remotely (for example on VMS). + +2011-10-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * textmodes/flyspell.el (flyspell-word): Move with-local-quit + from here... + (flyspell-post-command-hook): ...to here. + +2011-10-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * mail/sendmail.el (send-mail-function): Don't use sendmail-query-once + if not needed. + (sendmail-query-once): Remove OS dependencies. Make it a 3-way choice + using completion. Protect against "slow" callers. + Remove the "message hack". + +2011-10-11 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-lazy-highlight-word): New variable. + (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): + Use it. (Bug#9727) + +2011-10-11 Glenn Morris <rgm@gnu.org> + + * progmodes/f90.el (f90-next-statement): Ignore preprocessor lines, + like f90-previous-statement does. + +2011-10-11 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * eshell/eshell.el (eshell-command): History should be saved + only in interactive use, to avoid error. + +2011-10-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-file-name-table): Fix last change, + i.e. ignore normal errors but not the other ones. + +2011-10-10 Martin Rudalics <rudalics@gmx.at> + + * window.el (special-display-buffer-names) + (special-display-regexps): Remove some remnants of earlier + changes from doc-strings. + (quit-windows-on): New function. + + * vc/vc.el (vc-revert, vc-rollback): + * vc/vc-dispatcher.el (vc-finish-logentry): Call quit-windows-on + instead of deleting windows. (Bug#4557) (Bug#5310) (Bug#5556) + (Bug#6183) (Bug#7074) (Bug#7447) + +2011-10-09 Martin Rudalics <rudalics@gmx.at> + + * window.el (frame-auto-hide-function): Add version tag. + (Bug#9699) + +2011-10-09 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-file-name-handler): Add 'debug to the error + condition. + +2011-10-09 Leo Liu <sdl.web@gmail.com> + + * mail/smtpmail.el (smtpmail-send-data): Add a missing space. + (Bug#9701) + +2011-10-08 Glenn Morris <rgm@gnu.org> + + * progmodes/f90.el (f90-calculate-indent): Give preprocessor lines + before the first code statement zero indent. (Bug#9690) + +2011-10-08 Chong Yidong <cyd@stupidchicken.com> + + * simple.el (count-words-region): Always count in the region. + Report the number of lines and characters too. + (count-words): New command, which counts in the buffer if the + region is inactive, as count-words-region used to. + (count-words--message): New function. Handle plurals. + (count-lines-region): Make it an alias for count-words-region. + + * bindings.el (esc-map): Replace count-lines-region with + count-words-region. + +2011-10-08 Martin Rudalics <rudalics@gmx.at> + + * window.el (window--delete): Delete dedicated frame + unconditionally when argument KILL is non-nil. (Bug#9699) + (switch-to-buffer): Fix doc-string typo. + +2011-10-08 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * eshell/eshell.el (eshell-command): Avoid using hooks. + +2011-10-07 Chong Yidong <cyd@stupidchicken.com> + + * bindings.el ([M-left], [M-right]): Bind to left-word and + right-word respectively. + +2011-10-07 Glenn Morris <rgm@gnu.org> + + * cus-start.el (debug-on-quit): Fix custom type. + +2011-10-06 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * subr.el (define-key-after): Clarify that the function is not + useful for non-menu keymaps. + + * progmodes/gdb-mi.el (gdb): Fix typo in doc string. + +2011-10-06 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * eshell/eshell.el (eshell-command): Enable `eshell-mode' only + in current minibuffer (Fix bug with recursive minibuffers). + +2011-10-06 Chong Yidong <cyd@stupidchicken.com> + + * progmodes/gdb-mi.el (gdb): Doc fix. + +2011-10-05 Martin Rudalics <rudalics@gmx.at> + + * window.el (frame-auto-hide-function): New option replacing + frame-auto-delete. Suggested by Stefan Monnier. + (window--delete): Call frame-auto-hide-function instead of + investigating frame-auto-delete. + (window-point-1, set-window-point-1): New functions. + (window-in-direction, record-window-buffer, window-state-get-1) + (display-buffer-record-window): Use window-point-1 instead of + window-point. + (set-window-buffer-start-and-point): Use set-window-point-1. + +2011-10-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/edebug.el: Heed checkdoc recommendations. + +2011-10-05 Glenn Morris <rgm@gnu.org> + + * progmodes/perl-mode.el (perl-electric-terminator): Doc fix. + (perl-calculate-indent): Suppress scan errors. (Bug#2205) + +2011-10-05 Leo Liu <sdl.web@gmail.com> + + * subr.el (read-char-choice): Fix argument to buffer-live-p which + works with buffer object. + +2011-10-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * mpc.el (mpc-tool-bar-map): Add labels. + +2011-10-04 Glenn Morris <rgm@gnu.org> + + * calendar/holidays.el (calendar-check-holidays): Doc fix. + +2011-10-04 Martin Rudalics <rudalics@gmx.at> + + * window.el (window--delete): New function. + (frame-auto-delete): Resuscitate option. + (bury-buffer, replace-buffer-in-windows) + (quit-window): Rewrite using window--delete. + (display-buffer-pop-up-frame, display-buffer-pop-up-window): + Pass display-buffer-mark-dedicated to window--display-buffer-2 + (Bug#9639). + +2011-10-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcmpl-unix.el (pcomplete/scp): Don't assume pcomplete-all-entries + returns a list (bug#9554). Add remote file name completion. + * comint.el (comint--table-subvert): Curry and get quote&unquote + functions as arguments. + (comint--complete-file-name-data): Adjust call accordingly. + * pcomplete.el (pcomplete--table-subvert): Remove. + (pcomplete-completions-at-point): Use comint--table-subvert instead. + + * minibuffer.el (completion-table-case-fold): Use currying. + (completion--styles-type, completion--cycling-threshold-type): + New constants. + (completion-styles, completion-category-overrides) + (completion-cycle-threshold): Use them. + * pcomplete.el (pcomplete-completions-at-point): Adjust call to + completion-table-case-fold. + +2011-10-03 Stephen Berman <stephen.berman@gmx.net> + + * minibuffer.el (completion-category-overrides): Fix type of styles + and add more user friendly tags (bug#9660). + +2011-10-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * international/mule-cmds.el: Fix abuses of apply-partially (bug#9661). + (mule-input-method-string): New widget. + (default-input-method, language-info-custom-alist): Use it. + +2011-10-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcomplete.el: Require comint. + (pcomplete--common-suffix): Remove. + (pcomplete--common-quoted-suffix): Use comint--common-suffix instead. + (pcomplete--table-subvert): Sync with comint--table-subvert. + (pcomplete--entries): Use comint-completion-file-name-table. + * comint.el (comint-unquote-filename): Simplify. + (comint-completion-file-name-table): New function (bug#9616). + (comint--complete-file-name-data): Use it. + + * pcmpl-gnu.el (pcmpl-gnu-with-file-buffer): New macro (bug#9643). + (pcmpl-gnu-tar-buffer): Remove. + (pcmpl-gnu-with-file-buffer): Use it to avoid leaving the tar's buffer + around. Make sure pcomplete-suffix-list is only changed temporarily. + Don't look inside the tar's file if it's too large. + +2011-10-01 Chong Yidong <cyd@stupidchicken.com> + + * cus-edit.el (custom-mode-map): + * epa.el (epa-key-list-mode-map): + * man.el (Man-mode-map): + * startup.el (splash-screen-keymap): + * simple.el (special-mode-map): Use scroll-up-command and + scroll-down-command. + + * progmodes/idlw-help.el (idlwave-help-mode-map): + * progmodes/ebrowse.el (ebrowse-electric-position-mode-map): + * net/newst-plainview.el (newsticker-mode-map): + * emulation/ws-mode.el (wordstar-mode-map): + * emulation/vi.el (vi-com-map): + * calc/calc-graph.el (calc-graph-show-dumb): + * term/sun.el (terminal-init-sun): + * term/ns-win.el (global-map): + * progmodes/grep.el (grep-mode-map): + * progmodes/ebrowse.el (ebrowse-electric-list-mode-map): + * mail/rmail.el (rmail-mode-map): + * progmodes/cpp.el (cpp-edit-mode-map): Likewise. + + * custom.el (custom-safe-themes, load-theme): Treat value of t for + custom-safe-themes as special. + +2011-10-01 Julien Danjou <julien@danjou.info> + + * notifications.el (notifications-notify): Fix docstring. + +2011-10-01 Per Starbäck <per@starback.se> + + * pcmpl-gnu.el (pcomplete/tar): Fix tar-header-name call. (Bug#9643) + +2011-09-30 Martin Rudalics <rudalics@gmx.at> + + * startup.el (command-line-1): Fix last fix by inserting + initial-scratch-message into *scratch* before displaying it. + (Bug#9605) and (Bug#9636) + +2011-09-29 Eli Zaretskii <eliz@gnu.org> + + * simple.el (line-move): If auto-hscroll-mode is disabled and the + window is hscrolled, move by logical lines. (Bug#9607) + (line-move-visual): Update the doc string to the above effect. + +2011-09-29 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-record-window): When WINDOW is the + selected window use `point' instead of `window-point'. (Bug#9626) + + * startup.el (command-line-1): Use insert-before-markers when + inserting initial-scratch-message. (Bug#9605) + + * help.el (help-window): Remove variable. + +2011-09-29 Glenn Morris <rgm@gnu.org> + + * pcmpl-cvs.el (pcomplete/cvs): Add "status" handler. + +2011-09-29 Juanma Barranquero <lekktu@gmail.com> + + * descr-text.el (describe-char-categories): Accept category + descriptions more than one line long. + +2011-09-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (delete-trailing-whitespace): Fix last change. + + * progmodes/perl-mode.el (perl-syntax-propertize-function): + Don't confuse "y => 3" as the beginning of a `y' operation. + + * emacs-lisp/debug.el (debug-convert-byte-code): Don't assume the + object has more than 4 slots (bug#9613). + +2011-09-28 Juanma Barranquero <lekktu@gmail.com> + + * subr.el (with-output-to-temp-buffer): + * net/quickurl.el (quickurl, quickurl-browse-url): + Fix typos in docstrings. + +2011-09-27 Eli Zaretskii <eliz@gnu.org> + + * minibuffer.el (completion-styles) + (completion-category-overrides): Cross reference each other in doc + strings. + +2011-09-27 Glenn Morris <rgm@gnu.org> + + * pcmpl-cvs.el (pcmpl-cvs-entries): Update for Emacs 22.1 changes + to split-string. (Bug#9606) + +2011-09-27 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-via-smtp): Fix STARTTLS detection + (bug#9615). + +2011-09-27 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/package.el (list-packages): Fix echo area message. + +2011-09-27 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-read-internal): Accept cons cell HIST arg. + +2011-09-25 Michael Albinus <michael.albinus@gmx.de> + + * net/dbus.el (dbus-unregister-object): Don't release services for + registered signals. (Bug#9581) + +2011-09-25 Teodor Zlatanov <tzz@lifelogs.com> + + * progmodes/cfengine.el (cfengine-auto-mode): Add convenience + function that picks between cfengine 2 and 3 support + automatically. Update docs accordingly. + +2011-09-22 Kenichi Handa <handa@m17n.org> + + * language/ind-util.el (indian-tml-base-table): Add TAMIL DIGIT + ZERO. + (indian-itrans-v5-table-for-tamil): New variable. + (indian-tml-itrans-v5-hash): Use the above variable (Bug#9336). + +2011-09-22 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-this-command-hid-stuff): Buffer-local variable + that's true if the current command involved collapsing of text. + It's reset to false at the beginning of the next command. + (allout-post-command-business): Move the cursor to the beginning + of entry if the cursor is hidden and collapsing activity just + happened. + +2011-09-24 Chong Yidong <cyd@stupidchicken.com> + + * mouse.el (mouse-drag-track): Set scroll-margin to 0 while + tracking (Bug#9541). + +2011-09-24 Ulf Jasper <ulf.jasper@web.de> + + * net/newst-reader.el (newsticker-html-renderer) + (newsticker-show-news): Automatically load html rendering package + if newsticker-html-renderer is set. Fixes "Warning: defvar ignored + because w3m-fill-column is let-bound" and the error "Symbol's value + as variable is void: w3m-fill-column". + +2011-09-24 Michael Albinus <michael.albinus@gmx.de> + + * net/dbus.el (dbus-unregister-object): Remove match rule of signals. + Release services only if they are defined. (Bug#9581) + +2011-09-23 Richard Stallman <rms@gnu.org> + + * textmodes/paragraphs.el (forward-sentence): For backwards case, + distinguish start of paragraph from start of its text. + + * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): Autoload. + + * mail/rmail.el (rmail-view-buffer-kill-buffer-hook): New function. + (rmail-generate-viewer-buffer): Put that hook on view buffer. + (rmail-mode-kill-buffer-hook): Override that hook, to kill view buffer. + +2011-09-23 Andreas Schwab <schwab@linux-m68k.org> + + * international/mule-diag.el (mule-diag): Insert a newline after + each fontset description. + +2011-09-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (delete-trailing-whitespace): + Document last change; simplify. + +2011-09-23 Peter J. Weisberg <pj@irregularexpressions.net> + + * simple.el (delete-trailing-whitespace): Also delete + extra newlines at the end of the buffer. + + * textmodes/picture.el: Make motion commands obey shift-select-mode. + (picture-newline): Use forward-line so as to ignore fields. + +2011-09-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (with-wrapper-hook): Fix edebug spec. + +2011-09-23 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * simple.el (kill-line): Note effect of `show-trailing-whitespace' + (bug#4538). + +2011-09-23 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): + Fix nasty bug using wrong cached values. + +2011-09-23 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-defs.el (c-version): Increase to 5.31.9. + +2011-09-23 Chong Yidong <cyd@stupidchicken.com> + + * window.el (pop-to-buffer): Ensure right window is selected if we + chose another frame. + +2011-09-22 Eli Zaretskii <eliz@gnu.org> + + * simple.el (what-cursor-position): Use get-char-property-change + and next-single-char-property-change, to be able to show display + properties that come from overlays as well as text properties. + +2011-09-22 Chong Yidong <cyd@stupidchicken.com> + + * window.el (pop-to-buffer-same-window): New (reinstated) fun. + + * cmuscheme.el (run-scheme, switch-to-scheme): + * cus-edit.el (customize-group, custom-buffer-create) + (customize-browse): + * info.el (info): + * shell.el (shell): + * mail/sendmail.el (mail): + * progmodes/inf-lisp.el (inferior-lisp): Use it (Bug#9532). + +2011-09-22 Richard Stallman <rms@gnu.org> + + * textmodes/paragraphs.el (forward-sentence): When setting PAR-BEG, + move back only to line beg, don't move back over blank lines. + +2011-09-22 Michael Albinus <michael.albinus@gmx.de> + + * files.el (copy-directory): Set directory attributes only in case + they could be retrieved from the source directory. (Bug#9565) + +2011-09-22 Dima Kogan <dkogan@secretsauce.net> (tiny change) + + * progmodes/hideshow.el (hs-looking-at-block-start-p) + (hs-find-block-beginning, hs-hide-level-recursive): + Ignore strings as well as comments. (Bug#9502) + +2011-09-22 Andrew Schein <andrew@andrewschein.com> (tiny change) + + * progmodes/sql.el (sql-comint-postgres): + Convert port number to a string. (Bug#9566) + +2011-09-22 Martin Rudalics <rudalics@gmx.at> + + * window.el (quit-window): Undedicate window when switching to + previous buffer. Reported by Thierry Volpiatto + <thierry.volpiatto@gmail.com>. + (special-display-popup-frame): When popping up a new frame reset + its previous buffers to nil. Simplify code. + +2011-09-21 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-handle-shell-command): Set process sentinel + and process filter, as done also in `shell-command'. + +2011-09-21 Martin Rudalics <rudalics@gmx.at> + + * window.el (set-window-buffer-start-and-point): + Call set-window-start with NOFORCE argument t. + Suggested by Thierry Volpiatto <thierry.volpiatto@gmail.com>. + (quit-window): Reword doc-string. Handle new format of + quit-restore parameter. Don't delete window if it has a + previous buffer we can show instead of the present one. + (display-buffer-record-window): Rewrite using a new format for + the quit-restore window parameter + (special-display-popup-frame, display-buffer-same-window) + (display-buffer-reuse-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-window, display-buffer-use-some-window): + Adapt symbol passed to display-buffer-record-window. + * help.el (help-window-setup): Handle new format of quit-restore + parameter. + +2011-09-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * faces.el (face-list): Fix docstring (bug#9564). + + * window.el (display-buffer--action-function-custom-type): + Don't include internal functions in the Custom interface. + +2011-09-20 Juri Linkov <juri@jurta.org> + + * info.el (Info-history-skip-intermediate-nodes): New defcustom. + (Info-forward-node, Info-backward-node, Info-next-preorder) + (Info-last-preorder): Use it. (Bug#9528) + +2011-09-20 Juri Linkov <juri@jurta.org> + + * info.el (Info-last-preorder): Visit last menu item only when + `Info-scroll-prefer-subnodes' is non-nil (third test-case of bug#9528). + +2011-09-20 Julien Danjou <julien@danjou.info> + + * password-cache.el (password-cache-remove): Remove entries even if the + value is nil, so that password with a nil value (negative caching) is + possible to invalidate. + +2011-09-20 Lawrence Mitchell <wence@gmx.li> + + * progmodes/f90.el (f90-break-line): If breaking inside comment delete + all whitespace around breakpoint. (Bug#9553) + (f90-find-breakpoint): Only break at whitespace inside a comment. + +2011-09-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-file-name-table): Keep track of errors. + (completion-table-with-predicate): Handle the case where pred1 is nil. + * pcomplete.el (pcomplete-completions-at-point): Simplify. + +2011-09-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/debug.el (debugger-args): Give it a docstring. + (debugger-return-value): Signal an error if the debugging context does + not await any return value. + + * ps-mule.el (ps-mule-plot-string): Don't inf-loop (bug#5108). + * image-mode.el (image-toggle-display-text) + (image-toggle-display-image): Stay away from evil `intangible'. + +2011-09-19 Leo Liu <sdl.web@gmail.com> + + * replace.el (occur-revert-arguments): Make it permanent-local. + (occur-mode): Don't call font-lock-defontify. + +2011-09-19 Chong Yidong <cyd@stupidchicken.com> + + * net/ldap.el (ldap-search-internal): Don't push empty search + result (Bug#9508). + +2011-09-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * whitespace.el (whitespace-newline-mode): Disable it right (bug#9550). + +2011-09-19 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-inline-compress-commands): Add "xz". + Suggested by Liam Stitt <stittl@cuug.ab.ca>. + +2011-09-18 Juri Linkov <juri@jurta.org> + + * buff-menu.el (Buffer-menu-mode-map): + * dired.el (dired-mode-map): + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map) + (lisp-interaction-mode-map): + * emacs-lisp/package.el (package-menu-mode-map): + * epa.el (epa-key-list-mode-map): + * menu-bar.el (menu-bar-showhide-tool-bar-menu) + (menu-bar-options-menu): + * outline.el (outline-mode-menu-bar-map): + * vc/vc-bzr.el (vc-bzr-shelve-menu-map, vc-bzr-extra-menu-map): + * vc/vc-dir.el (vc-dir-menu-map): + * vc/vc-git.el (vc-git-stash-menu-map, vc-git-extra-menu-map): + Capitalize non-function content words in menu item strings. + + * dired.el (dired-mode-map): Add menu item for + `image-dired-dired-toggle-marked-thumbs'. + +2011-09-18 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-edit-string): Bind `isearch-new-case-fold' + to `isearch-case-fold-search' and restore its original value + after the `isearch-mode' call. + +2011-09-18 Juri Linkov <juri@jurta.org> + + * progmodes/grep.el (grep-process-setup): Don't check code for 1 + because `zgrep' returns 1 for successful matches (bug#9226). + +2011-09-18 Juri Linkov <juri@jurta.org> + + * info.el (Info-extract-menu-node-name): Check the second match + for empty string (second test-case of bug#9528). + (Info-last-preorder): Let-bind `Info-history' to nil to not add + intermediate nodes to the history (first test-case of bug#9528). + +2011-09-18 Juri Linkov <juri@jurta.org> + + * info.el (Info-mode-syntax-table): New variable. + (Info-mode): Set `:syntax-table' to `Info-mode-syntax-table' (bug#3312). + +2011-09-18 Juri Linkov <juri@jurta.org> + + * info.el (Info-file-supports-index-cookies): + Increment line-beginning-position's arg from 3 to 4 because makeinfo + outputs one more line for long file names (bug#4142). + +2011-09-18 Chong Yidong <cyd@stupidchicken.com> + + * newcomment.el (comment-normalize-vars): If prompting for + comment-start, set comment-start-skip too (Bug#8424). + +2011-09-18 Johan BockgÃ¥rd <bojohan@gnu.org> + + * icomplete.el: Fix previous fix of Bug#5849. + (icomplete-mode): Don't set completion-show-inline-help. + (icomplete-minibuffer-setup): Set completion-show-inline-help + locally during icompletion. + +2011-09-18 Chong Yidong <cyd@stupidchicken.com> + + * woman.el (woman2-process-escapes): Don't delete unrecognized + escapes (Bug#7843). + + * files.el (inhibit-first-line-modes-regexps): Add image files. + (hack-local-variables-prop-line): Return nil for malformed + prop-lines (Bug#9044). + +2011-09-18 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (top): Don't require 'shell. + (tramp-methods): Fix docstring. + (tramp-get-remote-tmpdir): New defun, moved from tramp-sh.el. + Return complete remote file name. Handle "smb" case. + Use `tramp-tmpdir', if defined for the respective method. + (tramp-make-tramp-temp-file): Adapt call of `tramp-get-remote-tmpdir'. + + * net/tramp-compat.el (top): Require 'shell. + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) + (tramp-maybe-open-connection): Use `tramp-file-name-real-host' for + `tramp-current-host'. + (tramp-get-remote-tmpdir): Remove. + + * net/tramp-smb.el (tramp-methods): Add `tramp-remote-shell' and + `tramp-tmpdir' entries. + (tramp-smb-errors): Add "NT_STATUS_IMAGE_ALREADY_LOADED". + (tramp-smb-handle-file-attributes): Ignore errors. + (tramp-smb-wait-for-output): Check also for process end. + +2011-09-18 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-via-smtp): Ignore errors that arise + when sending QUIT (bug#9312). + +2011-09-17 Chong Yidong <cyd@stupidchicken.com> + + * replace.el (occur-mode-map): Rebind occur-edit-mode to "e" (Bug#8463). + (occur-edit-mode-map): Bind C-c C-c to occur-cease-edit and C-o to + occur-mode-display-occurrence. + (occur-edit-mode): Add usage message. + (occur-cease-edit): New command. + (occur-after-change-function): Use text properties to find the + position of the prefix text. + (occur-engine): Set stickiness of prefix text properties. + +2011-09-17 Glenn Morris <rgm@gnu.org> + + * progmodes/etags.el (complete-tag): + Fix call to completion-in-region. (Bug#9526) + +2011-09-17 Juri Linkov <juri@jurta.org> + + * textmodes/ispell.el (ispell-word): Add to the error message + the word, ispell program name and current dictionary (bug#9121). + (ispell-tex-arg-end): Capitalize "error" in the error message. + +2011-09-17 Andreas Schwab <schwab@linux-m68k.org> + + * emacs-lisp/bytecomp.el (byte-compile-lapcode): Fix overflow + check. (Bug#4251) + +2011-09-17 Juri Linkov <juri@jurta.org> + + * window.el (window-safe-min-height, window-safe-min-width): + Fix typos (followup to bug#9522). + +2011-09-17 Sven Joachim <svenjoac@gmx.de> + + * window.el (window-min-width, window-state-put): Fix typos (bug#9522). + +2011-09-16 Eli Zaretskii <eliz@gnu.org> + + * simple.el (line-move): If goal-column is set, move by logical + lines, not by display lines. (Bug#971) + (next-line, previous-line, goal-column, line-move-visual): Doc fix + to reflect the above change. + +2011-09-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * image.el (imagemagick-register-types): Use regexp-opt. + +2011-09-15 Chong Yidong <cyd@stupidchicken.com> + + * window.el (display-buffer-base-action): Rename from + display-buffer-default-action. Make default value empty. + (display-buffer-overriding-action): Convert to defvar. + (display-buffer-fallback-action): New var. + +2011-09-15 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/package.el (package-alist): Fix risky-local-variable + declaration. + (package--add-to-archive-contents): If there is a duplicate entry + with an older version, remove it. + (package-menu-mark-delete, package-menu-mark-install) + (package-menu-mark-unmark): Make unused args optional. + (package-menu-mark-obsolete-for-deletion): + Use package-menu-get-status instead of a regexp search. + (package-menu-get-status): Use tabulated-list-entry. + (package-menu-mark-upgrades): New command. + (package-menu-mode-map): Bind it to U. Add it to menu bar. + (package-menu-execute): Do installation before deletion. + (package-menu-refresh, package-menu-execute): Use derived-mode-p + instead of checking major-mode. + (package-menu--find-upgrades): New function. + +2011-09-14 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-send-command): Don't include AUTH + passwords in the log buffer. + (smtpmail-process-filter): Update the process marker so that the + "broken by peer" status message is inserted in the right place. + +2011-09-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * textmodes/bibtex.el (bibtex-complete-string-cleanup) + (bibtex-complete-crossref-cleanup): Adjust to accommodate needs of + bibtex-completion-at-point-function. + (bibtex-completion-at-point-function): Use them. + + * newcomment.el (comment-add, comment-valid-prefix-p): Docfix. + + * mpc.el (mpc-constraints-tag-lookup): New function. + (mpc-constraints-restore): Use it to make jumping to "album=Foo" apply + also to browser "album|playlist". + +2011-09-14 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-fail-pos): Add new arg `msg'. Doc fix. + (isearch-edit-string): Use length of `isearch-string' when + `isearch-fail-pos' returns nil. + (isearch-message): Remove duplicate code and call + `isearch-fail-pos' with arg `t'. + +2011-09-14 Chong Yidong <cyd@stupidchicken.com> + + * replace.el (occur-mode-goto-occurrence): Don't force using other + window (Bug#9499). + + * dired-aux.el (dired-do-chmod): Don't provide initial input. + +2011-09-14 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-window): Remove. + (display-buffer-record-window): Use help-setup window parameter + instead of variable display-buffer-window. + (display-buffer-function, special-display-buffer-names) + (special-display-function): Mention help-setup parameter instead + of display-buffer-window in doc-string. + * help.el (help-window-setup): New argument help-window. + Use help-window-setup parameter instead of display-buffer-window. + Reword some messages. + (with-help-window): Pass window used for displaying the buffer + to help-window-setup. Don't set display-buffer-window. + +2011-09-13 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/debug.el (debugger-make-xrefs): + Preserve point. (Bug#9462) + +2011-09-13 Chong Yidong <cyd@stupidchicken.com> + + * window.el (window-deletable-p): Use next-frame. + +2011-09-13 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-auto-delete): Remove. + (window-deletable-p): Remove argument FORCE. Don't deal with + dedication and previous buffers. + (switch-to-prev-buffer): Don't delete window. + (delete-windows-on): Delete a window's frame if and only if the + window is dedicated. + (replace-buffer-in-windows): Delete buffer's window or frame if + and only if window is dedicated. + (quit-window): Handle quit-restore as before last change. + (bury-buffer): Delete window only if window-deletable-p returns t. + +2011-09-13 Chong Yidong <cyd@stupidchicken.com> + + * window.el (window-deletable-p): Never delete the last frame on a + given terminal. + +2011-09-13 Glenn Morris <rgm@gnu.org> + + * help.el (describe-key-briefly): Copy previous standard-output change. + +2011-09-13 PJ Weisberg <pj@irregularexpressions.net> + + * help.el (where-is): Respect non-standard standard-output. (Bug#9030) + +2011-09-13 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/lisp-mode.el (lisp-indent-function): + * progmodes/scheme.el (scheme-indent-function): Doc fixes. + +2011-09-12 Chong Yidong <cyd@stupidchicken.com> + + * dired-aux.el (dired-mark-read-string): Don't return default + value on empty input (Bug#9361). + (dired-do-chxxx): Treat empty input for "touch" as no -t option. + Omit initial minibuffer contents. + (dired-do-chmod): Signal an error on empty input. + (dired-mark-read-string): Don't return default on empty input. + + * files.el (file-modes-symbolic-to-number): Doc fix. + +2011-09-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * international/mule-cmds.el (ucs-completions): Remove. + (read-char-by-name): Use complete-with-action instead; add metadata. + +2011-09-11 Chong Yidong <cyd@stupidchicken.com> + + * window.el (display-buffer--action-function-custom-type) + (display-buffer--action-custom-type): New vars. + (display-buffer-alist, display-buffer-default-action) + (display-buffer-overriding-action): Add defcustom types. + + * frame.el (delete-other-frames): Doc fix (Bug#276). + +2011-09-11 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * play/doctor.el (make-doctor-variables): Define `doctor-sent'. + +2011-09-11 Chong Yidong <cyd@stupidchicken.com> + + Change modes that used same-window-* vars to use switch-to-buffer. + + * progmodes/gdb-mi.el (gdb-restore-windows, gdb-setup-windows): + Use switch-to-buffer. + + * cus-edit.el (customize-group, custom-buffer-create) + (customize-browse, custom-buffer-create-other-window): + Use switch-to-buffer or switch-to-buffer-other-window. + + * info.el (info, Info-find-node, Info-revert-find-node, Info-next) + (Info-prev, Info-up, Info-speedbar-goto-node) + (info-display-manual): Use switch-to-buffer. + (Info-speedbar-goto-node): Use switch-to-buffer-other-frame. + + * mail/sendmail.el (mail): Use switch-to-buffer. + (mail-recover): Use switch-to-buffer-other-window. + + * cmuscheme.el (run-scheme, switch-to-scheme): + * ielm.el (ielm): + * shell.el (shell): + * net/rlogin.el (rlogin): + * net/telnet.el (telnet, rsh): + * progmodes/inf-lisp.el (inferior-lisp): Use switch-to-buffer. + +2011-09-11 Andreas Schwab <schwab@linux-m68k.org> + + * dired.el (dired-sort-toggle-or-edit): Revert last changes. + +2011-09-11 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * dired.el (dired-sort-toggle-or-edit): -o doesn't exist on *BSD, + so don't mention it (bug#9301). + (dired-sort-toggle-or-edit): Clarify string further. + + * faces.el (face-spec-set-match-display): Make `(type graphic)' + match `x', `w32' and `ns', like the manual says (bug#9029). + + * subr.el (eval-after-load): Doc string clarification (bug#9125). + (process-kill-buffer-query-function): Mention the buffer name in + the query. + + * image-mode.el (image-next-line): The line parameter is mandatory + (bug#9258). + + * dired.el (dired-sort-toggle-or-edit): Mention -o and -g, too, + which can be useful (bug#9301). + + * textmodes/flyspell.el: Remove obsolete comment (bug#9368). + + * subr.el (match-string): Mention that the current buffer should + be the same as the search was done in (bug#9282). + + * facemenu.el: Disable the remove-* commands if the mark isn't + active (bug#9162). + +2011-09-10 Chong Yidong <cyd@stupidchicken.com> + + * buff-menu.el (Buffer-menu-switch-other-window): Use second arg + of display-buffer. + (Buffer-menu-2-window): Use switch-to-buffer-other-window. + + * replace.el (occur-mode-goto-occurrence) + (occur-mode-display-occurrence) Use second arg of pop-to-buffer + and display-buffer. + + * mail/reporter.el (reporter-submit-bug-report): Use second arg of + display-buffer. + + * mail/sendmail.el (sendmail-user-agent-compose): Don't bind the + special-display and same-window variables. + (mail-other-window): Use switch-to-buffer-other-window. + (mail-other-frame): USe switch-to-buffer-other-frame. + + * progmodes/gdb-mi.el (gdb-frame-gdb-buffer): + Use display-buffer-other-frame. + (gdb-display-gdb-buffer): Use pop-to-buffer. + + * progmodes/gud.el (gud-goto-info): Use info-other-window. + + * progmodes/python.el: Don't set same-window-buffer-names. + + * textmodes/bibtex.el (bibtex-search-entry): Use switch-to-buffer. + + * window.el (display-buffer-alist): Add *Python*. + +2011-09-10 Chong Yidong <cyd@stupidchicken.com> + + * window.el (display-buffer-alist): Add entry for buffers + previously handled same-window-*. + (display-buffer-alist, display-buffer-default-action) + (display-buffer-overriding-action): Mark as risky. + (display-buffer-alist): Document action function changes. + (display-buffer--same-window-action) + (display-buffer--other-frame-action): New variables. + (switch-to-buffer, display-buffer-other-frame): Use them. + (display-buffer): Rename reuse-frame entry to reusable-frames. + (display-buffer-reuse-selected-window): Function deleted. + (display-buffer-reuse-window): Handle reusable-frames alist entry. + If it's omitted, check pop-up-frames/display-buffer-reuse-frames. + (display-buffer-special): New function. + (display-buffer--maybe-pop-up-frame-or-window): Rename from + display-buffer-reuse-or-pop-window. Split off special-display + part into display-buffer-special. + (display-buffer-use-some-window): Don't perform any special + pop-up-frames handling. + (pop-to-buffer): Use window-normalize-buffer-to-switch-to. + (display-buffer--maybe-same-window): Rename from + display-buffer-maybe-same-window. + + * info.el: Don't set same-window-regexps. + (info-setup): New function. + (info-other-window, info): Call it. + + * cus-edit.el: Don't set same-window-regexps. + (customize-group): New argument. + (customize-group-other-window): Use it. + (customize-face, customize-face-other-window): Likewise. + (custom-buffer-create-other-window): Use pop-to-buffer directly. + + * net/rlogin.el: + * net/telnet.el: + * progmodes/gud.el: Don't set same-window-regexps. + + * cmuscheme.el: + * ielm.el: + * shell.el: + * mail/sendmail.el: + * progmodes/inf-lisp.el: Don't set same-window-buffer-names. + +2011-09-10 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-edit-string): Remove obsolete mention of + `C-w' (`isearch-yank-word-or-char') from docstring. + (isearch-query-replace): Fix typo in docstring (bug#9466). + +2011-09-10 Juri Linkov <juri@jurta.org> + + * paren.el (show-paren-function): Don't show escaped parens. + Let-bind `unescaped' to `t' when paren is not escaped. (Bug#9461) + +2011-09-10 Eli Zaretskii <eliz@gnu.org> + + * mail/sendmail.el (mml-to-mime, mml-attach-file) + (mm-default-file-encoding): Remove autoload forms, they are + replaced with autoload cookies in mml.el and mm-encode.el. + (mail-add-attachment): New command. + (mail-mode-map): Add a menu-bar item for mail-add-attachment. + (mail-mode): Mention mail-insert-file and mail-add-attachment in + the doc string. + (mml-to-mime, mml-attach-file, mm-default-file-encoding): Declare. + +2011-09-10 Reuben Thomas <rrt@sc3d.org> + + * simple.el (count-words-region): Use buffer if there's no region + (bug#9429). + +2011-09-09 Juri Linkov <juri@jurta.org> + + * wdired.el (wdired-change-to-wdired-mode): Set buffer-local + `isearch-filter-predicate' to `wdired-isearch-filter-read-only'. + (wdired-isearch-filter-read-only): New function. (Bug#6362) + +2011-09-09 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-mode.el (awk-mode): Prevent `define-derived-mode' + spuriously generating `awk-mode-syntax-table'. (Bug #9448). + +2011-09-09 Eli Zaretskii <eliz@gnu.org> + + Fix for Savannah bug#9392. + * simple.el (mail-encode-mml): New defvar. + + * mail/rmail.el (mail-encode-mml): Add a defvar. + (rmail-enable-mime-composing): Default to t. + (rmail-forward): Use MIME method of forwarding only if both + rmail-enable-mime-composing and rmail-enable-mime are non-nil. + Set mail-encode-mml non-nil if the MIME method was used. + + * mail/sendmail.el (mml-to-mime): Add autoload form. + (mail-encode-mml): Add a defvar. + (mail-mode): Make mail-encode-mml buffer-local and initialize it + to nil. + (mail-send): If mail-encode-mml is non-nil, run the outgoing + message through mml-to-mime, and reset mail-encode-mml to nil. + +2011-09-09 Glenn Morris <rgm@gnu.org> + + * woman.el (woman-if-body): When processing an .el block, + do not delete the next .el block as well. (Bug#9447) + (woman-special-characters): Add oq, cq, and hy characters. + +2011-09-08 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-deletable-p): Make sure window is live before + invoking window-prev-buffers. + +2011-09-08 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc-cmd-invite): New rcirc command. (Bug#9453) + +2011-09-08 Juri Linkov <juri@jurta.org> + + * progmodes/compile.el (compilation-environment): Make it + a defcustom (bug#8340). + +2011-09-08 Martin Rudalics <rudalics@gmx.at> + + * window.el (frame-auto-delete): Rename to window-auto-delete. + Make it control auto-deletion of windows and/or frames. + (window-deletable-p): New argument FORCE. Rewrite conditions + for deleting window/frame. (Bug#9419) + (switch-to-prev-buffer, replace-buffer-in-windows, quit-window): + Rewrite handling of case when window/frame can be deleted. + (delete-windows-on): Call window-deletable-p with new FORCE + argument t. (Bug#9456) + +2011-09-07 Chong Yidong <cyd@stupidchicken.com> + + * help-mode.el (help-mode): Restore autoload. + +2011-09-07 Juri Linkov <juri@jurta.org> + + * progmodes/compile.el (compilation-start): Let-bind `thisenv' to + `compilation-environment'. Set buffer-local + `compilation-environment' to `thisenv' later after (funcall mode). + (Bug#8340) + + * vc/vc-git.el (vc-git-grep): Remove --no-color. (Bug#9408) + (vc-git-grep): Prepend "PAGER=" to `compilation-environment' + instead of replacing its value. (Bug#8340) + +2011-09-07 Juri Linkov <juri@jurta.org> + + * progmodes/grep.el (grep-regexp-alist): Calculate column positions + based on text properties put by `grep-filter' instead of matching + escape sequences. + (grep-mode): Set buffer-local `compilation-error-screen-columns' + to the value of `grep-error-screen-columns' (bug#9438). + +2011-09-07 Juri Linkov <juri@jurta.org> + + * simple.el (next-error-highlight, next-error-highlight-no-select): + Doc fix (bug#9432). + +2011-09-07 OKAZAKI Tetsurou <okazaki.tetsurou@gmail.com> (tiny change) + + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): + Check for null c-opt-block-decls-with-vars-key. (Bug#9443) + +2011-09-07 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc-mode): Conditionally initialize + rcirc-input-ring. + +2011-09-07 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/find-func.el (find-function-C-source): Only set + find-function-C-source-directory after checking that we found a source + file there (bug#9440). + +2011-09-06 Alan Mackenzie <acm@muc.de> + + * isearch.el (isearch-other-meta-char): Wherever a key list is + unread, "unread" the prefix arg, too. This fixes bug #8901. + +2011-09-05 Oleksandr Gavenko <gavenkoa@gmail.com> (tiny change) + + * progmodes/grep.el (rgrep): Add "-type d" (bug#9414). + +2011-09-05 Juri Linkov <juri@jurta.org> + + * progmodes/grep.el (grep-process-setup): Fix comments (bug#8084). + +2011-09-05 Juri Linkov <juri@jurta.org> + + * progmodes/grep.el (grep-filter): Avoid incomplete processing by + keeping point where processing of grep matches begins, and + continue to delete remaining escape sequences from the same point. + (grep-filter): Make leading zero optional in "0?1;31m" because + git-grep emits "\033[1;31m" escape sequences unlike expected + "\033[01;31m" as GNU Grep does (bug#9408). + (grep-process-setup): Replace obsolete "ml=" with newer "sl=". + +2011-09-05 Juri Linkov <juri@jurta.org> + + * subr.el (y-or-n-p): Capitalize "yes". + +2011-09-04 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (top): Require 'shell. Use `tramp-unload-hook' but + `tramp-cache-unload-hook' where appropriate. + (tramp-methods): Rename `tramp-remote-sh' to + `tramp-remote-shell'. Add `tramp-remote-shell-args'. + (tramp-handle-shell-command): New defun, moved from tramp-sh.el. + + * net/tramp-sh.el (top): Don't require 'shell. + (tramp-methods): Add `tramp-remote-shell' and + `tramp-remote-shell-args' entries. + (tramp-sh-file-name-handler-alist): Use `tramp-handle-shell-command'. + (tramp-sh-handle-shell-command): Remove. + (tramp-find-shell, tramp-open-connection-setup-interactive-shell): + Use `tramp-remote-shell'. + +2011-09-03 Chong Yidong <cyd@stupidchicken.com> + + * mail/sendmail.el (sendmail-query-once-function): Delete. + (sendmail-query-once): Save directly to send-mail-function. + Update message-send-mail-function too. + + * mail/smtpmail.el (smtpmail-try-auth-methods): Clarify prompt. + +2011-09-03 Christoph Scholtes <cschol2112@googlemail.com> + + * progmodes/python.el (python-mode-map): Use correct function to + start python interpreter from menu-bar (as reported by Geert + Kloosterman). + (inferior-python-mode-map): Fix typo. + (python-shell-map): Remove. + +2011-09-03 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-print): Simplify code for + rcirc-scroll-show-maximum-output. There is no need to walk + through all windows to find the right one. + +2011-09-03 Christoph Scholtes <cschol2112@googlemail.com> + + * help.el (help-return-method): Doc fix. + +2011-09-03 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-deletable-p): Don't return a non-nil value + when there's a buffer that was shown in the window before. + (Bug#9419) + (display-buffer-pop-up-frame, display-buffer-pop-up-window): + Set window's previous buffers to nil. + +2011-09-03 Eli Zaretskii <eliz@gnu.org> + + * mail/rmailmm.el (rmail-mime-insert-tagline): Insert an extra + newline before and after the tag line, so it doesn't interfere + with determining the paragraph direction of bidirectional text. + +2011-09-03 Leo Liu <sdl.web@gmail.com> + + * files.el (find-file-not-true-dirname-list): Remove. (Bug#9422) + +2011-09-02 Chong Yidong <cyd@stupidchicken.com> + + * window.el (pop-to-buffer-1, pop-to-buffer-same-window): Delete. + (pop-to-buffer): Change interactive spec. Pass second argument + directly to display-buffer. + (display-buffer): Fix interactive spec. Use functionp to + distinguish between a function and a list of functions. + + * abbrev.el (edit-abbrevs): + * arc-mode.el (archive-extract): + * autoinsert.el (auto-insert): + * bookmark.el (bookmark-bmenu-list): + * files.el (find-file): + * view.el (view-buffer): + * progmodes/compile.el (compilation-goto-locus): + * textmodes/bibtex.el (bibtex-initialize): Use switch-to-buffer. + +2011-09-02 Chong Yidong <cyd@stupidchicken.com> + + * window.el (display-buffer-alist): Doc fix. + (display-buffer): Add docstring. Don't treat + display-buffer-default specially. + (display-buffer-reuse-selected-window) + (display-buffer-same-window, display-buffer-maybe-same-window) + (display-buffer-reuse-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-window) + (display-buffer-reuse-or-pop-window) + (display-buffer-use-some-window): New functions. + (display-buffer-default-action): Use them. + (display-buffer-default): Delete. + (pop-to-buffer-1): Fix choice of actions. + +2011-09-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--insert-strings): Don't get confused by + completion entries that end with an LF char. + +2011-09-01 Eli Zaretskii <eliz@gnu.org> + + * window.el (frame-auto-delete, window-deletable-p): Doc fix. + +2011-09-01 Chong Yidong <cyd@stupidchicken.com> + + * window.el (display-buffer): Restore interactive spec. + (display-buffer-same-window, display-buffer-other-window): + New functions. + (pop-to-buffer-1): New function. Use the above. + (pop-to-buffer, pop-to-buffer-same-window): Use it. + (pop-to-buffer-other-window, pop-to-buffer-other-frame): Delete. + + * view.el (view-buffer-other-window, view-buffer-other-frame): + Just use pop-to-buffer. + +2011-09-01 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * vc/vc-rcs.el (vc-rcs-responsible-p): Handle directories. (Bug#9391) + +2011-09-01 Wilfred Hughes <wilfred@potatolondon.com> (tiny change) + + * vc/vc-git.el (vc-git-grep): Use --no-color. (Bug#9408) + +2011-08-31 Richard Stallman <rms@gnu.org> + + * mail/rmail.el (rmail-epa-decrypt): Rewrite to take account + of the separation of rmail-view-buffer from rmail-buffer. + If you say no to "replace original", the decrypt is in the + view buffer. If you say yes, the decrypt goes into the + rmail buffer also. + +2011-08-31 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-window): Rewrite doc-string. + (display-buffer-record-window): New function. + (display-buffer-macro-specifiers) + (display-buffer-even-window-sizes, display-buffer-set-height) + (display-buffer-set-width, display-buffer-in-window) + (display-buffer-reuse-window, display-buffer-split-specifiers) + (display-buffer-side-specifiers, display-buffer-split-window-1) + (display-buffer-split-window, display-buffer-split-atom-window) + (display-buffer-pop-up-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-side-window, display-buffer-in-side-window) + (display-buffer-other-window-means-other-frame) + (display-buffer-normalize-special) + (display-buffer-normalize-default) + (display-buffer-normalize-argument) + (display-buffer-normalize-alist-1, display-buffer-normalize-alist) + (display-buffer-normalize-specifiers, display-buffer-frame) + (display-buffer-same-window, display-buffer-same-frame) + (display-buffer-other-window) + (display-buffer-same-frame-other-window) + (display-buffer-other-frame, pop-to-buffer-same-window) + (pop-to-buffer-same-frame, pop-to-buffer-other-window) + (pop-to-buffer-same-frame-other-window, pop-to-buffer-other-frame) + (switch-to-buffer-same-frame) + (switch-to-buffer-other-window-same-frame) + (display-buffer-alist-of-strings-p, display-buffer-alist-add) + (display-buffer-alist-set-1, display-buffer-alist-set-2) + (display-buffer-alist-set): Remove. + (display-buffer-function, special-display-buffer-names) + (special-display-regexps, special-display-function): + In doc-string refer to display-buffer-window and quit-restore + parameter. + (pop-up-frame-alist, pop-up-frame-function, special-display-p) + (special-display-frame-alist, special-display-popup-frame) + (same-window-buffer-names, same-window-regexps, same-window-p) + (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) + (split-window-preferred-function, split-height-threshold) + (split-width-threshold, window-splittable-p) + (split-window-sensibly, window--try-to-split-window) + (window--frame-usable-p, even-window-heights) + (window--even-window-heights, window--display-buffer-1) + (window--display-buffer-2, display-buffer-other-frame): + Restore old Emacs 23 code, order and doc-strings where applicable. + (display-buffer-default, display-buffer-assq-regexp): New functions. + (display-buffer-alist): Rewrite doc-string. + (display-buffer-default-action) + (display-buffer-overriding-action): New variables. + (display-buffer, switch-to-buffer): Rewrite. + (pop-to-buffer): Restore Emacs 23 behavior but use + window-normalize-buffer-to-display. + (switch-to-buffer-other-window, switch-to-buffer-other-frame): + Restore Emacs 23 behavior but use + window-normalize-buffer-to-switch-to. + (pop-to-buffer-same-window): Rewrite. + (pop-to-buffer-other-window, pop-to-buffer-other-frame): + Rewrite using Emacs 23 options. + +2011-08-31 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-root-regexp): Remove. + (tramp-completion-file-name-regexp-unified) + (tramp-completion-file-name-regexp-separate) + (tramp-completion-file-name-regexp-url): Don't use leading volume + letter on w32 systems. (Bug#5303, Bug#9311) + (tramp-drop-volume-letter): Simplify definition. + Suggested by Stefan Monnier <monnier@iro.umontreal.ca>. + +2011-08-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (event-modifiers): Fix "missing modifier" part of docstring + (bug#9356). + +2011-08-30 Reuben Thomas <rrt@sc3d.org> (tiny change) + + * vc/pcvs-defs.el (cvs-find-file-and-jump): Docstring typo (bug#9369). + +2011-08-29 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-done): Don't display message "Mark saved" + when arg `edit' is non-nil to prevent its flicker in the echo area. + +2011-08-28 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/package.el (package-menu-mark-delete): Allow marking + obsolete packages for deletion. + +2011-08-28 Christoph Scholtes <cschol2112@googlemail.com> + + * help-mode.el (help-mode-map): Add special-mode-map to parent. + (help-mode): Derive help-mode from special-mode. Don't invoke + view-mode from help-mode. + (help-xref-override-view-map): Remove. + (help-make-xrefs): Remove minor-mode-overriding-map-alist since + view-mode is not used anymore. + +2011-08-28 Chong Yidong <cyd@stupidchicken.com> + + * server.el (server-port): Doc fix. + + * cus-theme.el (custom-theme-choose-mode): Inherit from + special-mode (Bug#9124). + (custom-theme-choose-mode-map): Add special-mode to parent. + +2011-08-28 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-fonts.el + (c-make-font-lock-BO-decl-search-function): New function. + (c-basic-matchers-after - "Fontify the clauses after various + keywords"): Extract the three keyword lists for the 3 erroneous + constructs from the list of four, and use the new function above + in place of an old one. + +2011-08-28 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-insert-prev-input) + (rcirc-insert-next-input): Remove unused argument. + +2011-08-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * shell.el (shell-parse-pcomplete-arguments): Unquote args (bug#9160). + +2011-08-27 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it + handle function pointer parameters properly. + +2011-08-27 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-reuse-window): Fix case where + selected window was reused with non-nil OTHER-WINDOW argument. + (Bug#9381) + +2011-08-27 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-check-auth-status): Adding support for + oftc's NickServ messages. + +2011-08-27 Glenn Morris <rgm@gnu.org> + + * saveplace.el (save-place-limit): Make it finite. (Bug#9352) + +2011-08-26 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/package.el (package-install): Call package-initialize + if called interactively. + +2011-08-26 Leo Liu <sdl.web@gmail.com> + + * emacs-lisp/cl-macs.el (defstruct): Fix format. (Bug#9357) + +2011-08-25 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to + `search-whitespace-regexp' (bug#9364). + +2011-08-25 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-edit-string): Let-bind `search-ring' and + `regexp-search-ring' to their global values to protect from + updating by `read-from-minibuffer' (bug#9185). + +2011-08-25 Juri Linkov <juri@jurta.org> + + * textmodes/ispell.el (ispell-command-loop): Add newline + at the end of the "Use option `i'..." line. + +2011-08-25 Juri Linkov <juri@jurta.org> + + * battery.el (display-battery-mode): If `battery-status-function' + or `battery-mode-line-format' is nil, display the message and set + `display-battery-mode' to nil (bug#9363). + +2011-08-25 Eli Zaretskii <eliz@gnu.org> + + * buff-menu.el (Buffer-menu-buffer+size): Remove calls to + bidi-string-mark-left-to-right; they are unnecessary now. + +2011-08-25 Deniz Dogan <deniz@dogan.se> + + * net/quickurl.el: Documentation typo fixes. + +2011-08-25 Chong Yidong <cyd@stupidchicken.com> + + * window.el (bury-buffer, quit-window): Use bury-buffer-internal. + +2011-08-25 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/derived.el (define-derived-mode): Doc fix. + + * mail/smtpmail.el (smtpmail-smtp-user): Add version: tag. + (smtpmail-via-smtp): Handle nil response from smtp. + +2011-08-24 Juri Linkov <juri@jurta.org> + + * proced.el (proced-marked): Inherit from `error' instead of + `font-lock-warning-face'. + + * ibuffer.el (ibuffer-marked-face): Change default face from + `font-lock-warning-face' to `warning'. + (ibuffer-deletion-face): Change default face from + `font-lock-type-face' to `error'. + + * battery.el (battery-update): Use the face `error' instead of + `font-lock-warning-face' (bug#6117). + +2011-08-24 Juri Linkov <juri@jurta.org> + + * faces.el (success): Change face color from "Green3" to + "ForestGreen" on light background (bug#9353). + +2011-08-24 Chong Yidong <cyd@stupidchicken.com> + + * window.el (quit-window): Rename from quit-restore-window. + Use same arglist as old quit-window. + (frame-auto-delete): Doc fix. + + * view.el (view-mode-exit): Use quit-window. + +2011-08-24 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-ring-adjust1): Start visiting previous + search strings from the index 0 (-1 + 1) instead of 1 (0 + 1). + (isearch-repeat, isearch-edit-string): Call `isearch-ring-adjust1' + for empty search string (when the last search string is reused + automatically) to adjust the isearch ring to the last element and + prepare the correct index for further M-p commands (bug#9185). + +2011-08-24 Kenichi Handa <handa@m17n.org> + + * international/ucs-normalize.el: If decomposition property of + CHAR is the default one (i.e. a list of CHAR itself), treat it as + nil. + (nfd, nfkd): Likewise. + +2011-08-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * mpc.el (mpc--proc-filter): Don't signal mpc-proc-error since signals + from process filters aren't reliably transmitted to the surrounding + accept-process-output. + (mpc-proc-check): New function. + (mpc-proc-sync): Use it (bug#8293) + +2011-08-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/eieio.el (eieio-defmethod, eieio-defgeneric): + Add compatibility functions (bug#9313). + +2011-08-23 Eli Zaretskii <eliz@gnu.org> + + * cus-start.el (all): Add entry for bidi-paragraph-direction. + + * international/uni-bidi.el: Regenerate. + +2011-08-23 Kenichi Handa <handa@m17n.org> + + * international/charprop.el: + * international/uni-bidi.el: + * international/uni-category.el: + * international/uni-combining.el: + * international/uni-comment.el: + * international/uni-decimal.el: + * international/uni-decomposition.el: + * international/uni-digit.el: + * international/uni-lowercase.el: + * international/uni-mirrored.el: + * international/uni-name.el: + * international/uni-numeric.el: + * international/uni-old-name.el: + * international/uni-titlecase.el: + * international/uni-uppercase.el: Regenerate. + +2011-08-23 Martin Rudalics <rudalics@gmx.at> + + * help.el (help-window-setup): Fix message displayed when other + window is reused. (Bug#9341) + +2011-08-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list. + * pcomplete.el (pcomplete-quote-argument): Fix thinko (bug#9161). + + * pcomplete.el (pcomplete-parse-comint-arguments): Fix inf-loop. + Mark obsolete. + * shell.el (shell-parse-pcomplete-arguments): New function. + (shell-completion-vars): Use it instead (bug#9160). + +2011-08-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/sh-script.el (sh-maybe-here-document): Disable magic in + strings and comments (bug#9333). + + * emacs-lisp/debug.el (debug-arglist): New function. + (debug-convert-byte-code): Use it. Handle lexical byte-codes. + (debug-on-entry-1): Handle interpreted closures (bug#9120). + +2011-08-22 Juri Linkov <juri@jurta.org> + + * progmodes/compile.el (compilation-mode-font-lock-keywords): + Revert regexp that highlights output switches to its old + pre-2010-10-28 value and remove one `?' from it (bug#9319). + + * progmodes/grep.el (grep-process-setup): Use `buffer-modified-p' + to check for empty output (bug#9226). + +2011-08-22 Chong Yidong <cyd@stupidchicken.com> + + * progmodes/scheme.el (scheme-mode-syntax-table): Don't use + symbol-constituent as the default, as that stops font-lock from + working properly (Bug#8843). + +2011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-via-smtp): Only bind + `coding-system-for-*' around the process open call to avoid + auth-source side effects. + (smtpmail-try-auth-methods): Expand the secret password. + (smtpmail-query-smtp-server): Allow `quit'-ing out in case the + probe hangs. + +2011-08-21 Chong Yidong <cyd@stupidchicken.com> + + * term.el (term-mouse-paste): Yank primary selection (Bug#6845). + + * emacs-lisp/find-func.el (find-function-noselect): New arg + lisp-only. + + * emacs-lisp/edebug.el (edebug-instrument-function): Use it to + signal an error for built-in functions (Bug#6664). + +2011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-smtp-user): New variable. + (smtpmail-try-auth-methods): Use it. + +2011-08-21 Chong Yidong <cyd@stupidchicken.com> + + * font-lock.el (font-lock-fontify-region) + (font-lock-unfontify-region, font-lock-default-fontify-buffer) + (font-lock-default-unfontify-buffer) + (font-lock-default-fontify-region) + (font-lock-default-unfontify-region): Add docstrings (Bug#8624). + + * progmodes/compile.el (compilation-error-properties): + Fix confusion between file struct and message struct (Bug#9319). + (compilation-error-regexp-alist-alist): Fix 2011-05-09 change to + `ant' regexp. + + * net/browse-url.el (browse-url-firefox): Don't call + browse-url-firefox-sentinel unless using -remote (Bug#9328). + +2011-08-20 Glenn Morris <rgm@gnu.org> + + * tutorial.el (help-with-tutorial): Avoid an error on short screens. + + * tutorial.el (tutorial--default-keys): Update some default bindings. + + * files.el (hack-local-variables): Fully ignore case for "mode:". + +2011-08-20 Alan Mackenzie <acm@muc.de> + + Resolve invalid use of a regexp in regexp-opt. + + * progmodes/cc-fonts.el (c-complex-decl-matchers): Add in special + detection for a java annotation. + + * progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add in special + detection for a java annotation. + + * progmodes/cc-langs.el (c-prefix-spec-kwds-re): Remove the special + handling for java. + (c-modifier-kwds): Remove the regexp "@[A-za-z0-9]+". + +2011-08-20 Chong Yidong <cyd@stupidchicken.com> + + * startup.el (normal-top-level-add-subdirs-to-load-path): Doc fix + (Bug#9274). + +2011-08-20 Alan Mackenzie <acm@muc.de> + + Fontify CPP expressions correctly when starting in the middle of + such a construct. Mainly for when jit-lock etc. starts a chunk + here. + + * progmodes/cc-fonts.el (c-font-lock-context): New buffer local + variable. + (c-make-font-lock-search-form): New function, extracted from + c-make-font-lock-search-function. + (c-make-font-lock-search-function): Use the above function. + (c-make-font-lock-context-search-function): New function. + (c-cpp-matchers): Enhance the preprocessor expression case with + the above function + (c-font-lock-complex-decl-prepare): Test for being in a CPP form + which takes an expression. + + * progmodes/cc-langs.el (c-cpp-expr-intro-re): New lang-variable. + +2011-08-20 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-reuse-window) + (display-buffer-pop-up-window): Don't reuse or split a side + window. + +2011-08-19 Glenn Morris <rgm@gnu.org> + + * files.el (hack-local-variables-prop-line, hack-local-variables): + Downcase "Mode:". (Bug#9331) + +2011-08-18 Chong Yidong <cyd@stupidchicken.com> + + * international/characters.el: Add L and R categories. + + * subr.el (bidi-string-mark-left-to-right): Rename from + string-mark-left-to-right. Use category search. + + * buff-menu.el (Buffer-menu-buffer+size): Callers changed. + +2011-08-18 Juri Linkov <juri@jurta.org> + + * faces.el (error, warning, success): New faces with definitions + copied from old default values of `font-lock-warning-face', + `compilation-warning', `compilation-info' (bug#6117). + + * font-lock.el (font-lock-warning-face): Inherit from `error'. + + * progmodes/compile.el (compilation-error): Inherit from `error'. + (compilation-warning): Inherit from `warning'. + (compilation-info): Inherit from `success'. + + * dired.el (dired-marked): Inherit from `warning'. + (dired-flagged): Inherit from `error'. + +2011-08-17 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (auth-source): Require to avoid problems with + binding variables (bug#9298). Also clean up some unused + autoloads. + + * net/network-stream.el (network-stream-open-starttls): + Support using starttls.el without using gnutls-cli. + +2011-08-17 Juri Linkov <juri@jurta.org> + + * progmodes/grep.el (rgrep): Handle the case when + `grep-find-command' is a cons cell (bug#9278). + +2011-08-17 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-pop-up-frame): Run frame creation + function with BUFFER current (as special-display-popup-frame + does). Reported by Drew Adams. + +2011-08-17 Daiki Ueno <ueno@unixuser.org> + + * epa-mail.el: Simplify GnuPG group expansion using + epg-expand-group. + (epa-mail-group-alist, epa-mail-group-modtime) + (epa-mail-gnupg-conf-file, epa-mail-parse-groups) + (epa-mail-sync-groups, epa-mail-expand-recipient-1) + (epa-mail-expand-recipients-2, epa-mail-expand-recipients): + Remove. + +2011-08-16 Feng Li <fengli@gmail.com> (tiny change) + + * calc/calc-ext.el (math-defintegral-2): Remove nested backquote. + +2011-08-16 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-engine.el (c-state-cache-non-literal-place): + Correct, to avoid the inside of macros. + +2011-08-16 Richard Stallman <rms@gnu.org> + + * epa-mail.el: Handle GnuPG group definitions. + (epa-mail-group-alist, epa-mail-group-modtime) + (epa-mail-gnupg-conf-file): New variables. + (epa-mail-parse-groups, epa-mail-sync-groups) + (epa-mail-expand-recipient-1, epa-mail-expand-recipients-2) + (epa-mail-expand-recipients): New functions. + (epa-mail-encrypt): Call epa-mail-expand-recipients. + + * mail/rmail.el (rmail-epa-decrypt): New command. + + * epa.el (epa-decrypt-region): New arg MAKE-BUFFER-FUNCTION. + Don't bind buffer-read-only, just inhibit-read-only. + (epa--find-coding-system-for-mime-charset): Fix the non-xemacs case. + (epa-decrypt-armor-in-region): Make error message clearer. + +2011-08-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-pcm--merge-completions): Don't merge "a1b" + and "a2b" to "ab" for `prefix'. + +2011-08-14 Chong Yidong <cyd@stupidchicken.com> + + * ibuf-ext.el (ibuffer-filter-disable): New arg for deleting + filter groups. + (ibuffer-included-in-filter-p-1): Use it. Suggested by Rafaël + Fourquet (Bug#8804). + +2011-08-12 Juanma Barranquero <lekktu@gmail.com> + + * startup.el (argi): Declare as global variable (bug#9275). + +2011-08-12 Chong Yidong <cyd@stupidchicken.com> + + * subr.el (string-mark-left-to-right): Search the entire string + for RTL script, not just the terminating character. Doc fix. + +2011-08-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/js.el (js-syntax-propertize, js-syntax-propertize-regexp): + New function. + (js--regexp-literal, js-syntax-propertize-function): Remove. + (js-mode): Use js-syntax-propertize to handle multilines (bug#9183). + (js-mode-map): Don't rebind electric keys. + (js-insert-and-indent): Remove. + (js-mode): Setup electric-layout and electric-indent instead. + + * epa-file.el (epa-file-select-keys): Revert to nil default (bug#9280). + +2011-08-12 Daiki Ueno <ueno@unixuser.org> + + * epa.el (epa-progress-callback-function): Fix the logic of + displaying progress. + * epa-file.el (epa-file-insert-file-contents): Make progress + display more user-friendly. + (epa-file-write-region): Ditto. + +2011-08-10 Chong Yidong <cyd@stupidchicken.com> + + * subr.el (string-mark-left-to-right): New function. + + * buff-menu.el (Buffer-menu-buffer+size): Remove LRM argument. + Use string-mark-left-to-right. + (list-buffers-noselect): Caller changed. + + * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): + Use string-mark-left-to-right. + (tabulated-list-print): Recenter after moving point. + +2011-08-10 Juri Linkov <juri@jurta.org> + + * progmodes/grep.el (rgrep): Don't bind `process-connection-type'. + This finishes incomplete reversion of 2011-06-30T01:09:13Z!larsi@gnus.org + intended by 2011-07-06T15:49:19Z!larsi@gnus.org. + +2011-08-09 Chong Yidong <cyd@stupidchicken.com> + + * hi-lock.el (hi-lock-unface-buffer): Fix interactive spec + (Bug#7554). + +2011-08-09 Andreas Schwab <schwab@linux-m68k.org> + + * xt-mouse.el (xterm-mouse-event-read): Try to recover the raw + character. (Bug#6594) + +2011-08-08 Chong Yidong <cyd@stupidchicken.com> + + * image-dired.el: Don't use find-file for temporary work (Bug#7895). + (image-dired--with-db-file): New macro. + (image-dired-write-tags, image-dired-remove-tag) + (image-dired-create-gallery-lists, image-dired-write-comments) + (image-dired-get-comment, image-dired-mark-tagged-files) + (image-dired-list-tags, image-dired-gallery-generate): Use it. + (image-dired-gallery-generate): Use insert-file-contents. + + * time.el (display-time-world-list, display-time-world-display): + * time-stamp.el (time-stamp-string): + * vc/add-log.el (add-change-log-entry): Use setenv instead of + set-time-zone-rule (Bug#7337). + +2011-08-08 Daiki Ueno <ueno@unixuser.org> + + * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED): Fix typo. + (epg-error-to-string, epg-errors-to-string): New function. + (epg-wait-for-completion): Reverse errors list. + (epg--check-error-for-decrypt, epg-sign-file, epg-sign-string) + (epg-encrypt-file, epg-encrypt-string, epg-export-keys-to-file) + (epg--import-keys-1, epg-receive-keys, epg-delete-keys) + (epg-sign-keys, epg-generate-key-from-file) + (epg-generate-key-from-string): Format errors by using + epg-errors-to-string (bug#9255). + (epg--status-INV_SGNR, epg--status-NO_SGNR): New status handler. + +2011-08-07 Juri Linkov <juri@jurta.org> + + * faces.el (list-faces-display): Remove extra angle bracket + from `help-mode-map'. + + * info.el (Info-history-toc-nodes): Doc fix. + + * longlines.el (longlines-mode): Doc fix. + +2011-08-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/js.el (js--regexp-literal): Accept regexps at the beginning + of statements and in a few more cases (bug#9183). + + * emacs-lisp/cl-macs.el (cl--make-usage-var, cl--make-usage-args): + New functions. + (cl-transform-lambda): Use them (bug#9239). + +2011-08-05 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-same-window) + (display-buffer-same-frame, display-buffer-other-window) + (pop-to-buffer-same-window, pop-to-buffer-same-frame) + (pop-to-buffer-other-window) + (pop-to-buffer-same-frame-other-window) + (pop-to-buffer-other-frame): Make them defuns. + (switch-to-buffer): Don't set LABEL argument of pop-to-buffer. + +2011-08-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (make-composed-keymap): Move from C. Change calling + convention, and improve docstring to bring attention to a subtle point. + * minibuffer.el (completing-read-default): Adjust accordingly. + +2011-08-03 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell) + (tramp-open-shell): Use `tramp-shell-quote-argument'. + + * net/trampver.el: Update release number. + +2011-08-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/sh-script.el (sh-font-lock-paren): Don't mistake "main" for + "in" (bug#9190). + +2011-08-02 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/sendmail.el (sendmail-query-once): Restore the current + buffer after querying (bug#9074). + + * dired.el (dired-flagged): Use different faces for marked and + flagged files (bug#6117). + + * emacs-lisp/cl-macs.el (dolist): Mention that there's a nil block + (bug#4433). + + * ido.el (ido-mode): Switch off the message if called + non-interactively. + + * mail/smtpmail.el (smtpmail-query-smtp-server): Try port 25 + before 587, since it appears that that's more likely to work for + more people. + + * cus-edit.el (custom-file): When running under emacs -q, always + refuse to save the customizations, even if the .emacs file doesn't + exist. + + * info.el: Remove the `Info-beginning-of-buffer' function + (bug#8325). + + * net/network-stream.el (network-stream-open-starttls): + Use `starttls-available-p' to see whether starttls.el can be used. + +2011-08-01 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-in-window): Don't set dedicated status + of window here (Bug#9215). + (display-buffer-pop-up-window, display-buffer-pop-up-frame) + (display-buffer-pop-up-side-window) + (display-buffer-in-side-window): Set dedicated status of window here. + +2011-08-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/package.el (package-generate-autoloads): Load autoloads + before binding generated-autoload-file. + +2011-08-01 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-handler-333): Clarify docstring. + +2011-07-30 Michael Albinus <michael.albinus@gmx.de> + + Sync with Tramp 2.2.2. + + * net/trampver.el: Update release number. + +2011-07-30 Juri Linkov <juri@jurta.org> + + * dired-aux.el (dired-touch-initial): Remove function. + (dired-do-chxxx): For op-symbol `touch', set `initial' to the + current time, and `default' to the last modification time of the + current marked file (bug#6887). + +2011-07-28 Jose E. Marchesi <jemarch@gnu.org> + + * simple.el (goto-line): Use string-to-number to provide a + numeric argument to read-number (bug#9163). + +2011-07-27 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-maybe-send-script): Don't let-bind the + connection process, it could be nil. + +2011-07-27 Leo Liu <sdl.web@gmail.com> + + Simplify url handling in rcirc-mode. + + * net/rcirc.el (rcirc-browse-url-map, rcirc-browse-url-at-point) + (rcirc-browse-url-at-mouse): Remove. + * net/rcirc.el (rcirc-markup-urls): Use `make-button'. + +2011-07-26 Alan Mackenzie <acm@muc.de> + + Fontify bitfield declarations properly. + + * progmodes/cc-langs.el (c-has-bitfields): New lang variable. + (c-symbol-chars): Now exported as a lang variable. + (c-not-primitive-type-keywords): New lang variable. + + * progmodes/cc-fonts.el (c-font-lock-declarations): Jump over the + QT keyword "more" to prevent "more slots: ...." being spuriously + parsed as a bitfield declaration. + + * progmodes/cc-engine.el (c-beginning-of-statement-1): + Refactor and enhance to handle bitfield declarations. + (c-punctuation-in): New function. + (c-forward-decl-or-cast-1): Enhance CASE 3 to handle bitfield + declarations properly. + +2011-07-26 Ulf Jasper <ulf.jasper@web.de> + + * calendar/icalendar.el (icalendar--all-events): Take care of + multiple vcalendars in a single file. + (icalendar--convert-float-to-ical): Checkdoc fixes. + +2011-07-25 Deniz Dogan <deniz@dogan.se> + + * image.el (insert-image): Clarifying docstring. + +2011-07-24 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-barf-unless-okay): Return the value of + `tramp-send-command-and-check' if there is no error. + (tramp-send-command-and-read): Suppress *all* errors if NOERROR. + +2011-07-22 Alan Mackenzie <acm@muc.de> + + Prevent cc-langs.elc being loaded at run time. + + * progmodes/cc-mode.el: Remove two autoload forms which loaded + cc-langs. + + * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Don't emit + "(require 'cc-langs)". Quote a form so it will evaluate at + (cc-mode's) compilation time. + +2011-07-22 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-file-name-handler): Avoid recursive + loading. (Bug#9114) + +2011-07-21 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-pop-up-window) + (display-buffer-pop-up-side-window) + (display-buffer-in-side-window): Call display-buffer-set-height + and display-buffer-set-width after setting the new window's + buffer so `fit-window-to-buffer' and friends work on the right buffer. + +2011-07-20 Sam Steingold <sds@gnu.org> + + * progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) + (etags-tags-included-tables): Call `convert-standard-filename' on + the file names contained in TAGS so that windows Emacs can handle + TAGS files created by cygwin ctags. + +2011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * proced.el (proced-update): Revert yesterday's bug#1779 patch, + which apparently didn't work. + +2011-07-19 Roland Winkler <winkler@gnu.org> + + * proced.el (proced-send-signal): For *Marked Processes* buffer + put point at beginning of buffer. + +2011-07-19 Stephen Berman <stephen.berman@gmx.net> + + * proced.el (proced-format): Make header lines align with the text + (bug#1779). + +2011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * view.el (view-buffer): Allow running in `special' modes if we're + visiting a file (bug#8615). + +2011-07-19 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-alist-of-strings-p) + (display-buffer-alist-set-1, display-buffer-alist-set-2): + New functions. + (display-buffer-alist-set): Rewrite to handle Emacs 23 options + more accurately. + +2011-07-18 Alan Mackenzie <acm@muc.de> + + Fontify declarators properly when, e.g., a jit-lock chunk begins + inside a declaration. + + * progmodes/cc-langs.el (c-symbol-chars): Correct a typo. + + * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): + New function. + (c-complex-decl-matchers): Insert reference to + c-font-lock-enclosing-decls. + + * progmodes/cc-engine.el (c-backward-single-comment): + (c-backward-comments): Bind open-paren-in-column-0-is-defun-start + to nil around calls to (forward-comment -1). + +2011-07-17 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * image.el (put-image): Doc typo fix. + + * progmodes/etags.el (tags-search): Doc typo fix. + + * mail/smtpmail.el (smtpmail-via-smtp): Query the user for + password if we get errors 550 to 554. + +2011-07-16 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/gnutls.el (gnutls-log-level): Remove. + + * textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an + indentation character (bug#6380). + + * files.el (buffer-offer-save): Made permanently local (bug#6241). + + * doc-view.el (doc-view-make-safe-dir): Rewrite the error message + to clarify what the problem is (bug#4291). + + * simple.el (current-kill): Clarify what + `interprogram-paste-function' does (bug#7500). + (auto-fill-mode): Document `auto-fill-function' in relation to + `auto-fill-mode' (bug#2470). + +2011-07-16 Lawrence Mitchell <wence@gmx.li> + + * emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf + method if slot is read-only (bug#9035). + +2011-07-16 Martin Rudalics <rudalics@gmx.at> + + * frame.el (select-frame-set-input-focus): New argument NORECORD. + * window.el (pop-to-buffer): Select window used even if it was + selected before, see discussion of (Bug#8615), (Bug#6954). + Pass argument NORECORD on to select-frame-set-input-focus. + +2011-07-15 Glenn Morris <rgm@gnu.org> + + * subr.el (read-char-choice): Allow quitting. (Bug#9001) + Respect help-form. + +2011-07-09 Lawrence Mitchell <wence@gmx.li> + + * net/gnutls.el (gnutls-min-prime-bits): New variable. + (gnutls-negotiate): Use it. + +2011-07-15 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/gnutls.el (gnutls-negotiate): + Upcase `gnutls-algorithm-priority'. + +2011-07-15 Glenn Morris <rgm@gnu.org> + + * jka-compr.el (jka-compr-verbose): Move from here... + * jka-cmpr-hook.el (jka-compr-verbose): ... to here. (Bug#9090) + Add missing :version tag. + * info.el: No need to require jka-compr when compiling. + +2011-07-15 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/gnutls.el (gnutls-algorithm-priority): New variable. + (gnutls-negotiate): Use it. + + * emacs-lisp/cl-macs.el (declare): Link to the "Declarations" node. + + * info.el (Info-beginning-of-buffer): New command. + (Info-mode-map): Use it instead of `beginning-of-buffer' to allow + announcing `b' as the key (bug#8325). + (Info-mode-menu): Use `Info-beginning-of-buffer' for consistency. + + * emacs-lisp/cl-macs.el (declare): Doc string fix-up. + + * international/mule-cmds.el + (describe-specified-language-support): Make the error message + clearer (bug#8905). + + * emacs-lisp/cl-macs.el (declare): Add a doc string (bug#8690). + + * isearch.el (isearch-barrier): Add a doc string, since it's + mentioned in a function doc string (bug#8678). + +2011-07-15 Martin Rudalics <rudalics@gmx.at> + + * window.el (switch-to-buffer): Call pop-to-buffer with normalized + buffer argument (Bug#9083) and self-identifying label argument. + +2011-07-15 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/debug.el (debug): Doc fix. (Bug#8273) + +2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * man.el (Man-fontify-manpage): Fix message when formatting the + man page (bug#7929). + +2011-07-14 Eli Zaretskii <eliz@gnu.org> + + * buff-menu.el (Buffer-menu-buffer+size): Accept an additional + argument LRM; if non-nil, append an invisible LRM character to the + buffer name. + (list-buffers-noselect): Call Buffer-menu-buffer+size with the + last argument non-nil, when formatting buffer names. + (Buffer-menu-mode, list-buffers-noselect): Force left-to-right + paragraph direction. + +2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * man.el (Man-bgproc-sentinel): Skip any arguments and only output + the man page name (bug#7929). + + * image.el (put-image): Mention the `put-image' overlay property + (bug#7834). + + * scroll-bar.el (set-scroll-bar-mode): Mention that + `scroll-bar-mode' lists the values (bug#7772). + + * image-mode.el (image-mode-fit-frame): Mention that it's a toggle + command (bug#7729). + + * rect.el (apply-on-rectangle): Return the point after the last + operation. + (string-rectangle): Go to the point after the last operation + (bug#7522). + + * printing.el (pr-toggle-region): Clarify the documentation + slightly (bug#7493). + + * time.el (display-time-update): + Allow `display-time-mail-function' to return nil (bug#7158). + Fix suggested by Detlev Zundel. + + * vc/diff.el (diff): Clarify the order the file names are read + (bug#7111). + + * mouse.el (mouse-set-region): Link to `mouse-drag-copy-region' in + the doc string (bug#7015). + + * font-lock.el (font-lock-maximum-decoration): Mention what + numeric levels mean (bug#6935). + + * startup.el (initial-buffer-choice): Don't mention the `none' + selection, which is against policy. + +2011-07-14 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-normalize-special): + Replace `dedicated' by `dedicate' to dedicate window (Bug#9072). + +2011-07-14 Eli Zaretskii <eliz@gnu.org> + + * subr.el (version<, version<=, version=): Mention "-CVS" and + "-12345" alpha version numbers. + +2011-07-14 Chong Yidong <cyd@stupidchicken.com> + + * bindings.el: Add advertised binding for set-mark-command + (Bug#5772). + +2011-07-14 Chong Yidong <cyd@stupidchicken.com> + + * bindings.el (mode-line-other-buffer): + * bookmark.el (bookmark-bmenu-2-window): + * bs.el (bs-cycle-next, bs-cycle-previous): + * net/tramp-cmds.el (tramp-append-tramp-buffers): Revert to using + switch-to-buffer. + + * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window): + Delete. + +2011-07-14 Juanma Barranquero <lekktu@gmail.com> + + * follow.el (follow-debug-message, follow-redisplay): + * jka-cmpr-hook.el (with-auto-compression-mode): + Fix typos in docstrings. + +2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * subr.el (with-silent-modifications): Clarify somewhat what the + macro inhibits (bug#6525). + + * simple.el (eval-expression): Note what it does if called + interactively (bug#6495). + +2011-07-13 Chong Yidong <cyd@stupidchicken.com> + + * window.el (switch-to-buffer): New arg FORCE-SAME-WINDOW. + Use pop-to-buffer buffer-or-name if it is nil. + + * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): + Remove switch-to-buffer. + +2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * files.el (make-directory): Clarify that an error will be raised + if there's an error (bug#6397). + + * startup.el (initial-buffer-choice): Add `none' as a choice + (bug#6234). + + * subr.el (add-hook): Clarify section about buffer-local hooks + (bug#6218). + + * dired.el (dired-flagged): Clarify doc string (bug#6117). + +2011-07-13 Juanma Barranquero <lekktu@gmail.com> + + * tabify.el (untabify): Preserve the current column so that point + doesn't move (bug#6032). + +2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * progmodes/cperl-mode.el (cperl-syntaxify-by-font-lock): + Rewrite to avoid awkward possessive "s" (bug#5986). + +2011-07-13 Glenn Morris <rgm@gnu.org> + + * dired.el (dired-use-ls-dired): Doc fix. (Bug#9039). + (dired-insert-directory): Give a message the first time + if ls is found not to support --dired. + +2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * simple.el (toggle-truncate-lines): Clarify what is toggled + (bug#5580). Text by Drew Adams. + +2011-07-13 Chong Yidong <cyd@stupidchicken.com> + + * simple.el (blink-matching-open): Make the error message from the + last change less verbose. + +2011-07-13 Dan Nicolaescu <dann@ics.uci.edu> + + * font-lock.el (font-lock-comment-face): Use the high contrast + "yellow" color for font-lock-comment-face on low color terminals + using a dark background color (bug#4221). + +2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * dired.el (dired-insert-set-properties): Make the doc string + reflect what it does now (bug#5325). + + * simple.el (blink-matching-open): Say that we were unable to find + the match within the limit, if we're limited (bug#5122). + + * international/mule-cmds.el (prefer-coding-system): Add an + example (bug#4869). + + * progmodes/etags.el (tags-search): Document `file-list-form' + (bug#4731). + +2011-07-13 Lawrence Mitchell <wence@gmx.li> + + * net/browse-url.el (browse-url-default-browser) + (browse-url-browser-function): Make the default browser choice a + bit more logical (bug#4300). Also clean up the doc string. + +2011-07-13 Juanma Barranquero <lekktu@gmail.com> + + * bindings.el (completion-ignored-extensions): Add OpenMCL/Clozure + binary endings (bug#4440). + +2011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * info.el (info-insert-file-contents): Inhibit jka-compr messages, + which can be pretty annoying (bug#8971). + + * jka-compr.el (jka-compr-verbose): New variable, and use + throughout (bug#8971). + + * info.el (Info-find-file): Fall back on the installation + directory if we can't find the info node anywhere else. + +2011-07-13 Sergei Organov <osv@javad.com> (tiny change) + + * vc/vc.el (vc-revert-file): + Don't set file time-stamp in the past. (Bug#5181) + +2011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * files.el (after-find-file): Give a better error message when + trying to find a symlink that points to a file that doesn't exist + (bug#4398). + + * progmodes/cc-vars.el: Remove (probably) misleading comment + (bug#4396). + +2011-07-12 Johan BockgÃ¥rd <bojohan@gnu.org> + + * mouse-sel.el (mouse-sel-primary-overlay): Use the `region' face. + +2011-07-12 Chong Yidong <cyd@stupidchicken.com> + + * mouse-sel.el: Hack restoring functionality, while keeping + compatibility with 2010-07-03 changes to mouse selection. + (mouse-sel-primary-overlay): New var. + (mouse-sel-selection-alist): Use it. + (mouse-sel-mode): Doc fix; remove points that are default features + of mouse.el. + +2011-07-12 Johan BockgÃ¥rd <bojohan@gnu.org> + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fix previous fix (bug#2490). + +2011-07-12 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el (bibtex-initialize): + Use pop-to-buffer-same-window. + (bibtex-search-entries): Fix interactive call. + +2011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fontise bytecomp Error lines more correctly (bug#2490). + Fix suggested by Johan BockgÃ¥rd. + + * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient. + + * dired-x.el (dired-guess-default): Use `delete-dups'. + +2011-07-12 Chong Yidong <cyd@stupidchicken.com> + + * dired.el (dired-mark-prompt): + * dired-aux.el (dired-read-shell-command): Doc fix. + +2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/sendmail.el (sendmail-query-once): + Use `customize-save-variable' unconditionally, now that it works under + emacs -Q. + + * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. + + * cus-edit.el (custom-file): Take an optional no-error variable. + (customize-save-variable): Set the variable, and give a warning if + running under "emacs -q". + +2011-07-11 Juanma Barranquero <lekktu@gmail.com> + + * loadhist.el (unload-feature-special-hooks): + Add `auto-coding-functions', `fill-nobreak-predicate' and + `find-directory-functions' (bug#5327). + +2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * vc/ediff.el (ediff-patch-file): Clarify doc string (bug#3138). + + * cus-edit.el (custom-guess-name-alist): -alist variables should + use the `alist' type (bug#3120). Suggested by Drew Adams. + + * printing.el: Add documentation to all the `pr-toggle-' commands. + +2011-07-11 Leo Liu <sdl.web@gmail.com> + + * files.el (toggle-read-only): Only do the `C-x C-q' warning on VC + backends where it makes sense (bug#2623). + +2011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * dired-x.el (dired-guess-default): Remove duplicate shell command + entries (bug#2028). + (dired-guess-default): Fix grammar in doc string (bug#2028). + (dired-guess-shell-alist-user): Clarify the example a bit (bug#2030). + + * subr.el (remove-duplicates): New conveniency function. + +2011-07-10 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * tool-bar.el (tool-bar-mode): Clarify positive/negative arguments + (bug#1526). + +2011-07-10 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-normalize-default): Don't invert + meaning of even-window-heights. Reported by Eli Zaretskii + <eliz@gnu.org>. + +2011-07-10 Bob Rogers <rogers@rgrjr.dyndns.org> + + * vc/vc.el (vc-diff-internal): Fix race condition (Bug#1256). + +2011-07-10 Chong Yidong <cyd@stupidchicken.com> + + * window.el (display-buffer): Fix arguments to + display-buffer-reuse-window in last change. + + * faces.el (link): Use a less saturated blue on light backgrounds. + + * startup.el (fancy-startup-text, fancy-about-text) + (fancy-startup-tail): Use font-lock faces, for background safety. + +2011-07-09 Bob Nnamtrop <bobnnamtrop@gmail.com> (tiny change) + + * emulation/viper-cmd.el (viper-change-state-to-vi): + Limit triggering of abbrev expansion (Bug#9038). + +2011-07-09 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-default-specifiers): Remove. + (display-buffer-macro-specifiers): Remove default specifiers. + (display-buffer-alist): Default to nil. + (display-buffer-reuse-window): New optional argument other-window. + (display-buffer-pop-up-window): Allow splitting internal + windows. Check whether a live window was created. + (display-buffer-other-window-means-other-frame) + (display-buffer-normalize-arguments): Rename to + display-buffer-normalize-argument and rewrite. Set the + other-window specifier. + (display-buffer-normalize-special): New function. + (display-buffer-normalize-options): Rename to + display-buffer-normalize-default and rewrite. + (display-buffer-normalize-options-inhibit): Remove. + (display-buffer-normalize-specifiers): Rewrite. + (display-buffer): Process other-window specifier and call + display-buffer-reuse-window with it. Emulate Emacs 23 behavior + more faithfully. + (pop-up-windows, even-window-heights): Restore Emacs 23 default values. + (display-buffer-alist-set): Don't handle 'unset default values. + (display-buffer-in-window, display-buffer-alist-set): + Replace symbol "dedicated" by "dedicate". Reported by Tassilo Horn + <tassilo@member.fsf.org>. + +2011-07-09 Leo Liu <sdl.web@gmail.com> + + * register.el (insert-register): Restore accidental change on + 2011-06-26. (Bug#9028) + +2011-07-09 Glenn Morris <rgm@gnu.org> + + * subr.el (remq): Handle the empty list. (Bug#9024) + +2011-07-08 Andreas Schwab <schwab@linux-m68k.org> + + * mail/sendmail.el (send-mail-function): No longer delay custom + initialization. + * custom.el (custom-initialize-delay): Doc fix. + +2011-07-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * abbrev.el (expand-abbrev): Try to preserve point (bug#5805). + +2011-07-08 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): Use a + human-friendly prompt. + +2011-07-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/vc-bzr.el (vc-bzr-revision-keywords): Remove svn, it's only + provided by a particular plugin. + +2011-07-08 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/sendmail.el (sendmail-query-once): If we aren't allowed to + save customizations (with "emacs -Q"), just set the variable + instead of erroring out. + + * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. + +2011-07-08 Juri Linkov <juri@jurta.org> + + * arc-mode.el (archive-zip-expunge, archive-zip-update) + (archive-zip-update-case): Use 7z if found by `executable-find'. + The order of searching the available programs is the same as in + `archive-zip-extract' (bug#8968). + +2011-07-07 Chong Yidong <cyd@stupidchicken.com> + + * menu-bar.el (menu-bar-line-wrapping-menu): Revert last change. + (menu-bar-options-menu): Tweak descriptions. + +2011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * menu-bar.el (menu-bar-line-wrapping-menu): Make all the Options + menu items into verb phrases (bug#1421). Also refill to fit under + 80 columns. + +2011-07-07 Chong Yidong <cyd@stupidchicken.com> + + * info.el (info, Info-read-node-name-2, Info-read-node-name-1) + (Info-read-node-name): Doc fix (Bug#1084). + + * thingatpt.el (forward-thing, bounds-of-thing-at-point) + (thing-at-point, beginning-of-thing, end-of-thing, in-string-p) + (end-of-sexp, beginning-of-sexp) + (thing-at-point-bounds-of-list-at-point, forward-whitespace) + (forward-symbol, forward-same-syntax, word-at-point) + (sentence-at-point): Doc fix (Bug#1144). + +2011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * info.el (Info-mode-map): Remove S-TAB binding, since [backtab] + should cover it (bug#1281). + + * cus-edit.el (custom-show): Mark as obsolete. + + * net/network-stream.el (network-stream-open-starttls): If GnuTLS + negotiation fails, then possibly try again with a non-encrypted + connection (bug#9017). + + * mail/smtpmail.el (smtpmail-stream-type): Note that `plain' can + be used. + +2011-07-07 Richard Stallman <rms@gnu.org> + + * mail/rmail.el (rmail-next-error-move): Use `compilation-message' + property, and handle its changed format. + Look for the correct line number. + Use file's line contents (but not past first =) to find + correct line in message. + +2011-07-07 Kenichi Handa <handa@m17n.org> + + * international/characters.el (build-unicode-category-table): + Delete it. + (unicode-category-table): Set it by unicode-property-table-internal. + + * international/mule-cmds.el (char-code-property-alist): Move to + to src/chartab.c. + (get-char-code-property): Call unicode-property-table-internal to + load a file. Call get-unicode-property-internal where necessary. + (put-char-code-property): Call unicode-property-table-internal to + load a file. Call put-unicode-property-internal where necessary. + put-unicode-property-internal where necessary. + (char-code-property-description): + Call unicode-property-table-internal to load a file. + + * international/charprop.el: + * international/uni-bidi.el: + * international/uni-category.el: + * international/uni-combining.el: + * international/uni-comment.el: + * international/uni-decimal.el: + * international/uni-decomposition.el: + * international/uni-digit.el: + * international/uni-lowercase.el: + * international/uni-mirrored.el: + * international/uni-name.el: + * international/uni-numeric.el: + * international/uni-old-name.el: + * international/uni-titlecase.el: + * international/uni-uppercase.el: Regenerate. + + * loadup.el: Load international/charprop.el before + international/characters. + +2011-07-07 Chong Yidong <cyd@stupidchicken.com> + + * window.el (next-buffer, previous-buffer): Signal an error if + called from a minibuffer window. + + * bindings.el: Revert 2011-07-04 change. + +2011-07-06 Richard Stallman <rms@gnu.org> + + * mail/rmailmm.el (rmail-mime-process): Use markers for buf positions. + (rmail-mime-insert-bulk, rmail-mime-insert-text): + Treat markers like ints. + (rmail-mime-entity): Doc fix. + +2011-07-06 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-default-smtp-server): Made into a + defcustom again for backwards compatibility. + + * simple.el (shell-command-on-region): Fill. + + * dired-aux.el (dired-kill-line): Add a doc string. + + * dabbrev.el (dabbrev-abbrev-char-regexp): Note that nil defaults + to "\\sw\\|\\s_" (bug#358). + + * dired.el (dired-mode): Clarify "unmark or unflag" (bug#8770). + (dired-unmark-backward): Ditto. + (dired-flag-backup-files): Ditto. + + * dired-x.el (dired-mark-sexp): Ditto. + +2011-07-06 Richard Stallman <rms@gnu.org> + + * mail/rmailmm.el: Give entity a new slot, TRUNCATED. + (rmail-mime-entity): New arg TRUNCATED. + (rmail-mime-entity-truncated, rmail-mime-entity-set-truncated): + New functions. + (rmail-mime-save): Warn if entity is truncated. + (rmail-mime-toggle-hidden): Likewise, for showing. + (rmail-mime-process-multipart): Record when an entity is truncated. + + * mail/rmailmm.el (rmail-search-mime-message): Don't get confused + if ENTITY is a string. + +2011-07-06 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * emacs-lisp/lisp-mode.el (eval-defun-1): Update the documentation + of faces when `M-C-x'-ing their definitions (bug#8378). + Also clean up the code slightly. + + * progmodes/grep.el (rgrep): Don't bind `process-connection-type', + because that makes the colors go away. + + * mail/sendmail.el (send-mail-function): Change the default to + `sendmail-query-once'. + (sendmail-query-once): Add an autoload cookie. + + * net/network-stream.el (network-stream-open-starttls): Try using + a plain connection even if the server offered STARTTLS, and we + kinda wanted to use it, if Emacs doesn't have any STARTTLS + capability. This should make smtpmail.el work in slightly more + configurations. + +2011-07-06 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window): + New defun. + * net/tramp-cmds.el (tramp-append-tramp-buffers): Use it. + +2011-07-06 Michael R. Mauger <mmaug@yahoo.com> + + * progmodes/sql.el: Version 3.0 + (sql-product-alist): Add product :completion-object, + :completion-column, and :statement attributes. + (sql-mode-menu, sql-interactive-mode-map): Fix List entries. + (sql-mode-syntax-table): Mark all punctuation. + (sql-font-lock-keywords-builder): Temporarily remove fallback on + ansi keywords. + (sql-regexp-abbrev, sql-regexp-abbrev-list): New functions. + (sql-mode-oracle-font-lock-keywords): Improve. + (sql-oracle-show-reserved-words): New function for development. + (sql-product-font-lock): Simplify for source code buffers. + (sql-product-syntax-table, sql-product-font-lock-syntax-alist): + New functions. + (sql-highlight-product): Set product specific syntax table. + (sql-mode-map): Add statement movement functions. + (sql-ansi-statement-starters, sql-oracle-statement-starters): + New variable. + (sql-statement-regexp, sql-beginning-of-statement) + (sql-end-of-statement, sql-signum): New functions. + (sql-buffer-live-p, sql=find-sqli-buffer): Add CONNECTION parameter. + (sql-show-sqli-buffer): Bug fix. + (sql-interactive-mode): Store connection data as buffer local. + (sql-connect): Add NEW-NAME parameter. Redesign interaction + with sql-interactive-mode. + (sql-save-connection): Save buffer local settings. + (sql-connection-menu-filter): Change menu entry name. + (sql-product-interactive): Bug fix. + (sql-preoutput-hold): New variable. + (sql-interactive-remove-continuation-prompt): Bug fixes. + (sql-debug-redirect): New variable. + (sql-str-literal): New function. + (sql-redirect, sql-redirect-one, sql-redirect-value, sql-execute): + Redesign. + (sql-oracle-save-settings, sql-oracle-restore-settings) + (sql-oracle-list-all, sql-oracle-list-table): New functions. + (sql-completion-object, sql-completion-column) + (sql-completion-sqlbuf): New variables. + (sql-build-completions-1, sql-build-completions) + (sql-try-completion): New functions. + (sql-read-table-name): Use them. + (sql-contains-names): New buffer local variable. + (sql-list-all, sql-list-table): Use it. + (sql-oracle-completion-types): New variable. + (sql-oracle-completion-object, sql-sqlite-completion-object) + (sql-postgres-completion-object): New functions. + +2011-07-06 Glenn Morris <rgm@gnu.org> + + * window.el (pop-to-buffer): Doc fix. + +2011-07-06 Markus Heiser <markus.heiser@darmarit.de> (tiny change) + + * progmodes/gud.el (gud-pdb-marker-regexp): Accept \r char (Bug#5653). + +2011-07-06 Chong Yidong <cyd@stupidchicken.com> + + * window.el (special-display-popup-frame): Doc fix (Bug#8853). + + * info.el (Info-directory-toc-nodes): Minor doc fix (Bug#8833). + +2011-07-05 Chong Yidong <cyd@stupidchicken.com> + + * button.el (button): Inherit from link face. Suggested by Dan + Nicolaescu. + +2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/gdb-mi.el: Fit in 80 columns. + (gdb-setup-windows, gdb-restore-windows): Avoid other-window and + switch-to-buffer. + + * progmodes/which-func.el (which-func-ff-hook): Don't output a message + if imenu is simply not configured (bug#8941). + +2011-07-05 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-post-undo-hook): New allout outline-change + event hook to signal undo activity. + (allout-post-command-business): Run allout-post-undo-hook if an + undo just occurred. + (allout-after-copy-or-kill-hook, allout-mode): Minor docstring changes. + * allout-widgets.el (allout-widgets-after-undo-function): + Ensure the integrity of the current item's decoration after it has been + in the vicinity of an undo. + (allout-widgets-mode): Include allout-widgets-after-undo-function + on the new allout-post-undo-hook. + +2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table): + Let define-derived-mode define it. + * emacs-lisp/derived.el (define-derived-mode): Try to avoid creating + cycles of abbrev-table inheritance (bug#8998). + +2011-07-05 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el: Add support for biblatex. + (bibtex-BibTeX-entry-alist, bibtex-biblatex-entry-alist) + (bibtex-BibTeX-field-alist, bibtex-biblatex-field-alist) + (bibtex-dialect-list, bibtex-dialect, bibtex-no-opt-remove-re) + (bibtex-entry-alist, bibtex-field-alist): New variables. + (bibtex-entry-field-alist): Obsolete alias for + bibtex-BibTeX-entry-alist. + (bibtex-entry-alist, bibtex-field-alist): New widgets. + (bibtex-set-dialect): New command. + (bibtex-entry-type, bibtex-entry-head) + (bibtex-entry-maybe-empty-head, bibtex-any-valid-entry-type): + Bind via bibtex-set-dialect. + (bibtex-Article, bibtex-Book, bibtex-Booklet, bibtex-InBook) + (bibtex-InCollection, bibtex-InProceedings, bibtex-Manual) + (bibtex-MastersThesis, bibtex-Misc, bibtex-PhdThesis) + (bibtex-Proceedings, bibtex-TechReport, bibtex-Unpublished): + Define via bibtex-set-dialect. + (bibtex-name-in-field, bibtex-remove-OPT-or-ALT): + Obey bibtex-no-opt-remove-re. + (bibtex-vec-push, bibtex-vec-incr): New functions. + (bibtex-format-entry, bibtex-field-list) + (bibtex-print-help-message, bibtex-validate) + (bibtex-search-entries): Use new format of bibtex-entry-alist. + +2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/compile.el (compilation-goto-locus): + * net/tramp-cmds.el (tramp-append-tramp-buffers): + * bs.el (bs-cycle-next, bs-cycle-previous): + * bookmark.el (bookmark-bmenu-list, bookmark-bmenu-2-window): + * bindings.el (mode-line-other-buffer): + * autoinsert.el (auto-insert): + * arc-mode.el (archive-extract): + * abbrev.el (edit-abbrevs): Fix some uses of switch-to-buffer. + +2011-07-05 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lock.el (emacs-lock-mode): Fix typo in variable name. + Fix check of `emacs-lock-unlockable-modes'. + Coerce true values of `emacs-lock--try-unlocking' to t. + +2011-07-05 Juanma Barranquero <lekktu@gmail.com> + + * obsolete/old-emacs-lock.el: Rename from emacs-lock.el. + * emacs-lock.el: New file. + +2011-07-05 Julien Danjou <julien@danjou.info> + + * textmodes/rst.el (rst-define-level-faces): Use `facep' rather + than `boundp' to check if face is set. + +2011-07-05 Juanma Barranquero <lekktu@gmail.com> + + * register.el (registerv-make): + * window.el (window-min-height): Fix typos in docstrings. + +2011-07-05 Jan Djärv <jan.h.d@swipnet.se> + + * dynamic-setting.el (dynamic-setting-handle-config-changed-event): + Update doc string. + +2011-07-04 Juanma Barranquero <lekktu@gmail.com> + + * server.el (server-execute): Catch quit and call + `server-return-error' to pass the error back to emacsclient and + close the connection (bug#8942). + +2011-07-04 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-encrypt-unencrypted-on-saves): Do not provide + insecure exception for current topic. Also note that auto-saves + are handled differently. + + (allout-auto-save-temporarily-disabled, allout-just-did-undo): + State variables for tracking auto-save inhibition situation. + + (allout-write-contents-hook-handler): Rename from + 'allout-write-file-hook-handler', and describe how it depends on + write-contents-functions sensitivity to non-nil value to prevent + file write. + + (allout-auto-save-hook-handler): Remove. auto-save does not check + this in individual buffers, only in the starting buffer, so this + is not the right way for us to inhibit auto-save in a buffer + according to its condition. + + (allout-mode): Use new allout-write-contents-hook-handler, and + only with write-contents-functions. Remove auto-save provisions - + they're implemented elsewhere. + + (allout-before-change-handler): If undo is in progress, note that + for attention of allout-post-command-business. + + (allout-post-command-business): If the command we're following was + an undo, check for change in the status of encrypted items and + adjust auto-save inhibitions accordingly. + + (allout-toggle-subtree-encryption): Adjust auto-save inhibition + according to whether there are or aren't any plain-text topics + pending encryption. + + (allout-inhibit-auto-save-info-for-decryption): + Adjust buffer-saved-size and some allout state to inhibit auto-saves + if there are plain-text topics pending encryption. + + (allout-maybe-resume-auto-save-info-after-encryption): Adjust + buffer-saved-size and some allout state to not inhibit auto-saves + if there are no longer any plain-text topics pending encryption. + + (allout-next-topic-pending-encryption, allout-encrypt-decrypted): + No longer provide for exemption of the current topic. + +2011-07-04 Juri Linkov <juri@jurta.org> + + Add 7z operations to delete and save changed members (bug#8968). + * arc-mode.el (archive-7z-expunge, archive-7z-update): + New defcustoms. + (archive-7z-write-file-member): New function. + (archive-7z-summarize): Fix the number of dashes in the + listing output. + +2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcmpl-linux.el (pcomplete-pare-list): Re-add, from pcomplete.el + (bug#8958). + +2011-07-04 Chong Yidong <cyd@stupidchicken.com> + + * bindings.el: Ignore next-buffer and previous-buffer in + minibuffer-local-map. + + * font-lock.el (font-lock-builtin-face): Change light background + color to dark slate blue (Bug#6693). + +2011-07-04 Wang Diancheng <dcwang@kingbase.com.cn> (tiny change) + + * progmodes/gdb-mi.el (gdb): Use completion-at-point. + +2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el (find-file): Use pop-to-buffer-same-window (bug#8911). + * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): + Add switch-to-buffer. + +2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * isearch.el (isearch-search-fun-function): Clarify further the + meaning of the function returned. + +2011-07-04 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-cmds.el (tramp-cleanup-this-connection): New command. + + * net/tramp-sh.el (tramp-color-escape-sequence-regexp): New defconst. + (tramp-sh-handle-insert-directory, tramp-convert-file-attributes): + Use it. + (tramp-remote-path): Add "/bin" and "/usr/bin". On busyboxes, + `tramp-default-remote-path' does not exist. + (tramp-send-command-and-read): New optional argument NOERROR. + (tramp-open-connection-setup-interactive-shell) + (tramp-get-remote-path, tramp-get-remote-stat): Use it. + (tramp-get-remote-readlink): Do not mask with `ignore-errors'. + (tramp-process-sentinel): Flush also process' connection property. + (tramp-sh-handle-start-file-process): Do not set process + sentinel. It is done now ... + (tramp-maybe-open-connection): ... here. (Bug#8929) + +2011-07-04 MON KEY <monkey@sandpframing.com> + + * play/animate.el (animate-string): Doc fixes and allow changing + the buffer name (bug#5417). + +2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * play/animate.el (animation-buffer-name): Rename from *animate*. + +2011-07-04 Paul Eggert <eggert@cs.ucla.edu> + + * emacs-lisp/timer.el: Use time-date fns rather than rolling our own. + This is simpler and helps future-proof the code. + (timer-until): Use time-subtract and float-time. + (timer--time-less-p): Use time-less-p. + +2011-07-04 Juanma Barranquero <lekktu@gmail.com> + + * type-break.el (timep): Use the value of `float-time' to avoid a + byte-compiler warning. + + * server.el (server-eval-and-print): Return any result, even nil. + +2011-07-03 Paul Eggert <eggert@cs.ucla.edu> + + * type-break.el: Accept time formats that the builtins accept. + (timep, type-break-time-difference): Accept any format that + float-time accepts, rather than insisting on (HIGH LOW USECS) format. + This is simpler and helps future-proof the code. + (type-break-time-difference): Round rather than ignoring + subseconds components. + +2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * info.el (Info-apropos-matches): Make non-interactive, since it + doesn't seem to do anything useful as a command (bug#8829). + +2011-07-03 Chong Yidong <cyd@stupidchicken.com> + + * frame.el (frame-background-mode, frame-set-background-mode): + Move from faces.el. + (frame-default-terminal-background): New function. + + * custom.el (custom-push-theme): Don't record faces in `changed' + theme; this doesn't work correctly for per-frame face settings. + (disable-theme): Use face-set-after-frame-default to reset faces. + (custom--frame-color-default): New function. + +2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * dired.el (dired-flagging-regexp): Remove unused variable + (bug#8769). + +2011-03-29 Kevin Ryde <user42@zip.com.au> + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + `perl-Test2' extend to match possible "fail #N" rep count + (bug#8377). + +2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/feedmail.el (feedmail-buffer-to-smtpmail): + `smtpmail-via-smtp' now returns the error instead of nil. + + * isearch.el (isearch-search-fun-function): Clarify the doc string + (bug#8101). + +2011-07-03 Richard Kim <emacs18@gmail.com> (tiny change) + + * textmodes/texnfo-upd.el (texinfo-insert-menu): Don't insert + unnecessary spaces (bug#8987). + +2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/network-stream.el (open-network-stream): Use the + :end-of-capability command thoughout. + +2011-07-03 Wolfgang Jenkner <wjenkner@inode.at> (tiny change) + + * net/network-stream.el (open-network-stream): Add the + :end-of-capability command parameter, used by pop3.el. + +2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * dired.el (dired-map-over-marks): Refill the doc string (bug#6814). + + * fringe.el (fringe-query-style): Remove redundant text " (type ? + for list)" (bug#6475). + + * files.el (file-expand-wildcards): Ignore non-readable + sub-directories while trying to find matches instead of signaling + an error (bug#6297). + + * man.el (Man-reference-regexp): Allow matching possible + word-wrapped references (bug#6289). + + * vc/vc.el (vc-modify-change-comment): Change *VC-log* to *vc-log* + for consistency with the other vc buffers (bug#6197). + (vc-checkin): Ditto. + + * vc/vc-arch.el: Fix comments to match the *VC-log* name change. + + * longlines.el (longlines-mode): Document what ARG does (bug#6150). + +2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * custom.el (defcustom): Clarify that :set is only used in the + Customize user interface (bug#6089). + + * progmodes/flymake.el (flymake-mode): If the buffer isn't + associated with a file, refuse to run instead of erroring out + (bug#6084). + + * textmodes/fill.el (fill-region): Remove the "Ordinarily" from + the doc string, since it appears that using `fill-column' always + controls the width (bug#7845). + + * simple.el (shell-command-on-region): Say where the error output + went if `shell-command-default-error-buffer' is set (bug#6857). + +2011-07-02 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-yank-processing): Adjust cursor position for + backwards-deleted space. + + (allout-rebullet-heading): Register changes with + allout-exposure-changed-hook, so the modified topic is properly + decorated. + +2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * minibuffer.el (completion-in-region): Document PREDICATE + (bug#7136). + + * info-look.el (info-lookup-add-help): Clarify that ARGS is a list + of keyword/argument pairs (bug#6904). + + * replace.el (multi-occur): + Mention `multi-occur-in-matching-buffers' in the doc string (bug#7566). + +2011-07-02 Drew Adams <drew.adams@oracle.com> + + * dired.el (dired-mark-if): Make the message about whether it's + marking or unmarking clearer (bug#8523). + +2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * disp-table.el (display-table-print-array): New function. + (describe-display-table): Use it to print the vectors more pretty + (Bug#8859). + +2011-07-02 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-state-get-1): Don't assign clone numbers. + Add clone-of item to list of window parameters. + (window-state-put-2): Don't process clone numbers. + (display-buffer-alist): Fix doc-string. + +2011-07-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (remq): Don't allocate if it's not needed. + (keymap--menu-item-binding, keymap--menu-item-with-binding) + (keymap--merge-bindings): New functions. + (keymap-canonicalize): Use them to refine the canonicalization. + * minibuffer.el (minibuffer-local-completion-map) + (minibuffer-local-must-match-map): Move initialization from C. + (minibuffer-local-filename-completion-map): Move initialization from C; + don't inherit from anything here. + (minibuffer-local-filename-must-match-map): Make obsolete. + (completing-read-default): Use make-composed-keymap to combine + minibuffer-local-filename-completion-map with either + minibuffer-local-must-match-map or + minibuffer-local-filename-completion-map. + +2011-07-01 Glenn Morris <rgm@gnu.org> + + * type-break.el (type-break-time-sum): Use dolist. + + * textmodes/flyspell.el (flyspell-word-search-backward): + Replace CL function. + +2011-07-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * mouse.el (mouse--strip-first-event): New function. + (function-key-map): Use it to map fringe clicks to normal clicks + by default. + + * vc/vc-bzr.el (vc-bzr-revision-keywords): Update. + (vc-bzr-revision-completion-table): Add support for annotate and date. + + * emacs-lisp/derived.el (define-derived-mode): Make abbrev-table + inherit from parent. + +2011-07-01 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * dired-aux.el (dired-diff): Doc fixup (bug#8816). + (dired-show-file-type): Doc fixup (bug#8818). + + * dired.el (dired-mode): Fix up the doc string as suggested by + Drew Adams (bug#8817). + + * progmodes/flymake.el (flymake-find-file-hook): Add an `autoload' + cookie, since the manual says that it should be possible to add + this function to `find-file-hook' (bug#8709). + +2011-07-01 Teodor Zlatanov <tzz@lifelogs.com> + + * progmodes/cfengine.el: Moved all cfengine3.el functionality + here. Noted Ted Zlatanov as the maintainer. + (cfengine-common-settings, cfengine-common-syntax): New functions + to set up common things between `cfengine-mode' and + `cfengine3-mode'. + (cfengine3-mode): New mode. + (cfengine3-defuns cfengine3-defuns-regex + (cfengine3-class-selector-regex cfengine3-category-regex) + (cfengine3-vartypes cfengine3-font-lock-keywords) + (cfengine3-beginning-of-defun, cfengine3-end-of-defun) + (cfengine3-indent-line): Add from cfengine3.el. + +2011-07-01 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-encoding-command-interactive): New defcustom. + + * net/tramp-sh.el (tramp-maybe-open-connection): Use it. + +2011-07-01 Martin Rudalics <rudalics@gmx.at> + + * window.el (same-window-buffer-names, same-window-regexps) + (same-window-p, special-display-frame-alist) + (special-display-popup-frame, special-display-function) + (special-display-buffer-names, special-display-regexps) + (special-display-p, pop-up-frame-alist, pop-up-frame-function) + (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) + (split-window-preferred-function, split-height-threshold) + (split-width-threshold, even-window-heights) + (display-buffer-mark-dedicated, window-splittable-p) + (split-window-sensibly, window-safely-shrinkable-p): + Un-obsolete. + (display-buffer): Don't spread args with function specifier + because special-display-popup-frame won't like it. + +2011-07-01 Paul Eggert <eggert@cs.ucla.edu> + + Time-stamp simplifications and fixes. + These improve accuracy slightly, and future-proof the code + against some potential changes to current-time format. + + * woman.el (woman-decode-buffer, WoMan-log-end): Log fractional secs + by using time-since and float-time. + + * vc/ediff-util.el (ediff-calc-command-time): Use time-since + and float-time. Say "NNN.NNN seconds" rather than "NNN seconds + + NNN microseconds". + + * type-break.el (type-break-time-sum): Rewrite using time-add. + + * play/hanoi.el (hanoi-current-time-float): Remove. + All uses replaced by float-time. + + * nxml/rng-maint.el (rng-time-function): Rewrite using time-subtract. + This yields a more-accurate answer. + (rng-time-to-float): Remove; no longer needed. + + * emacs-lisp/timer.el (timer-relative-time): Use time-add. + + * calendar/timeclock.el (timeclock-seconds-to-time): + Defalias to seconds-to-time, since they're the same thing. + + * emacs-lisp/elp.el (elp-elapsed-time): + * emacs-lisp/benchmark.el (benchmark-elapse): + * allout-widgets.el (allout-elapsed-time-seconds): Use float-time. + +2011-07-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el (bury-buffer): Don't iconify the only frame. + (switch-to-buffer): Revert to Emacs<23 behavior, i.e. do not fallback + to pop-to-buffer. Use pop-to-buffer-same-frame if you don't like that. + +2011-07-01 Chong Yidong <cyd@stupidchicken.com> + + * eshell/em-smart.el (eshell-smart-display-navigate-list): + Add mouse-yank-primary. + +2011-07-01 Teodor Zlatanov <tzz@lifelogs.com> + + * progmodes/cfengine3.el: New file to support CFEngine 3.x. + +2011-07-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/find-func.el (find-library--load-name): New fun. + (find-library-name): Use it to find relative load names when provided + absolute file name (bug#8803). + +2011-06-30 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * textmodes/flyspell.el (flyspell-word): Consider words that + differ only in case as potential doublons (bug#5687). + + * net/soap-client.el (soap-invoke, soap-wsdl-resolve-references): + Remove two rather uninteresting debugging-like messages to make + debbugs.el more silent. + + * comint.el (comint-password-prompt-regexp): Accept "Response" as + a password-like phrase. + +2011-06-30 Masatake YAMATO <yamato@redhat.com> + + * progmodes/cc-guess.el: New file. + + * progmodes/cc-langs.el (c-mode-menu): Add "Style..." submenu. + + * progmodes/cc-styles.el (cc-choose-style-for-mode): New function + derived from `c-basic-common-init'. + + * progmodes/cc-mode.el (top-level): Require cc-guess. + (c-basic-common-init): Use `cc-choose-style-for-mode'. + +2011-06-30 Lawrence Mitchell <wence@gmx.li> + + * progmodes/js.el (js-mode): Don't stomp on global settings (bug#8933). + +2011-06-30 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-engine.el (c-guess-continued-construct): + Correct the handling of template-args-cont, particularly for when font + lock is disabled. Name this case as "CASE G". + +2011-06-30 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-yank-processing): Fix injection of extra space + between bullet and non-whitespace character in first topic when + pasting, ensuring that the actual spacing in the pasted topic + following the bullet char is preserved. This extra space was + causing pasted encrypted topics to get a decrypted status even + when the content was actually still encrypted. Now the decryption + status from before the paste is preserved. + + (allout-flag-region): Set all allout overlays so they evaporate + when reduced to zero length (evanescent), to prevent overlay + leakage. + +2011-06-30 Glenn Morris <rgm@gnu.org> + + * w32-fns.el (w32-charset-info-alist): Declare. + + * find-dired.el (find-grep-options): Simplify. + + * term/ns-win.el (ns-set-resource): Declare. + + * ses.el (row, col): Declare dynamic variables honestly. + + * textmodes/reftex-parse.el (index-tags): Declare. + +2011-06-30 Chong Yidong <cyd@stupidchicken.com> + + * cus-edit.el (customize-push-and-save): New function. + + * files.el (hack-local-variables-confirm): Use it. + + * custom.el (load-theme): New arg NO-CONFIRM. + Use customize-push-and-save (Bug#8720). + (custom-enabled-themes): Doc fix. + + * cus-theme.el (customize-create-theme) + (custom-theme-merge-theme): Callers to load-theme changed. + +2011-06-30 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * thingatpt.el (thing-at-point-short-url-regexp): Require that + short URLs have at least one dot in them (bug #7614). + + * progmodes/grep.el (rgrep): Bind `process-connection-type' to + nil, because using a pty is apparently too slow (bug #895). + +2011-06-29 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/sendmail.el (sendmail-query-once): New function. + (sendmail-query-once-function): New variable. + +2011-06-29 Glenn Morris <rgm@gnu.org> + + * files.el (auto-mode-alist): Add .f03, .f08 for f90-mode. + + * ses.el (top-level): Require cl when compiling. + (ses-set-localvars): Fix error statement. + Call it at compile time to silence a storm of warnings. + +2011-06-29 Martin Rudalics <rudalics@gmx.at> + + * window.el (normalize-live-buffer): Rename to + window-normalize-buffer. + (normalize-live-frame): Rename to window-normalize-frame. + (normalize-any-window): Rename to window-normalize-any-window. + (normalize-live-window): Rename to window-normalize-live-window. + (make-window-atom): Rename to window-make-atom. + (window-resize-reset): Rename to window--resize-reset. + (window-resize-reset-1): Rename to window--resize-reset-1. + (resize-mini-window): Rename to window--resize-mini-window. + (resize-subwindows-skip-p): Rename to + window--resize-subwindows-skip-p. + (resize-subwindows-normal): Rename to + window--resize-subwindows-normal. + (resize-subwindows): Rename to window--resize-subwindows. + (resize-other-windows): Rename to window--resize-siblings. + (resize-this-window): Rename to window--resize-this-window. + (resize-root-window): Rename to window--resize-root-window. + (resize-root-window-vertically): Rename to + window--resize-root-window-vertically. + (normalize-buffer-to-display): Rename to + window-normalize-buffer-to-display. + (normalize-buffer-to-switch-to): Rename to + window-normalize-buffer-to-switch-to. + Correspondingly update all callers of the functions listed + above. + (display-buffer-alist, display-buffer-normalize-arguments) + (display-buffer-normalize-options, display-buffer) + (display-buffer-alist-set): Use "function" instead of + "fun-with-args". + +2011-06-28 Chong Yidong <cyd@stupidchicken.com> + + * mail/emacsbug.el (report-emacs-bug): Handle non-gnu bug + addresses more clearly. Add hyperlinks for bug-gnu-emacs and + debbugs.gnu.org. Mention acknowledgment email. + +2011-06-28 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-send-it): Leave off changing the + buffer multibyteness, since it shouldn't matter. + +2011-06-28 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-in-side-window): Handle dedicated + windows as in display-buffer-reuse-window. + (display-buffer-normalize-alist): Use value of override + specifier. + (display-buffer-normalize-specifiers): Use value of + other-window-means-other-frame specifier. + (display-buffer-alist): Rewrite some texts in widgets. + (display-buffer): Spread arguments when calling function + specified by fun-with-args. + +2011-06-28 Deniz Dogan <deniz@dogan.se> + + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table): + Unnest `let'. + + * textmodes/css-mode.el (css-font-lock-keywords): Fix grouped + selectors (Bug#5732). + (css-proprietary-nmstart-re): Use `regexp-opt'. + +2011-06-27 Jari Aalto <jari.aalto@cante.net> + + * eshell/em-ls.el: Display `ls -l' dates in ISO format (Bug#8440). + (eshell-ls-date-format): New defcustom. + (eshell-ls-file): Use it. + +2011-06-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * help-fns.el (describe-variable): Fix message for terminal-local vars. + +2011-06-27 Katsumi Yamaoka <yamaoka@jpl.org> + + * net/ange-ftp.el: Allow loading .gz files (Bug#6923). + (ange-ftp-make-tmp-name): New arg. + (ange-ftp-file-local-copy): Use it. + +2011-06-27 Jambunathan K <kjambunathan@gmail.com> + + * tar-mode.el (tar-untar-buffer): Set coding-system-for-write to + no-conversion (Bug#8870). + +2011-06-27 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-right, window-left, window-child) + (window-child-count, window-last-child) + (window-iso-combination-p, walk-window-tree-1) + (window-atom-check-1, window-tree-1, delete-window) + (window-state-get-1, display-buffer-even-window-sizes): Adapt to + new naming conventions - window-vchild, window-hchild, + window-next and window-prev are now called window-top-child, + window-left-child, window-next-sibling and window-prev-sibling + respectively. + (resize-window-reset): Rename to window-resize-reset. + (resize-window-reset-1): Rename to window-resize-reset-1. + (resize-window): Rename to window-resize. + (window-min-height, window-min-width) + (resize-mini-window, resize-this-window, resize-root-window) + (resize-root-window-vertically, adjust-window-trailing-edge) + (enlarge-window, shrink-window, maximize-window) + (minimize-window, delete-window, quit-restore-window) + (split-window, balance-windows, balance-windows-area-adjust) + (balance-windows-area, window-state-put-2) + (display-buffer-even-window-sizes, display-buffer-set-height) + (display-buffer-set-width, set-window-text-height) + (fit-window-to-buffer): Rename all "resize-window" prefixed + calls to use the "window-resize" prefix convention. + (display-buffer-alist): Fix symbol for label specifier. + (display-buffer-reuse-window): Set reuse-dedicated to cdr of + corresponding specifier. + Reported by Juanma Barranquero <lekktu@gmail.com>. + +2011-06-27 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el (ses-destroy-cell-variable-range): Fix heading comment + convention. + (ses-call-printer): Does not pass an empty string to formatter when the + cell is empty to keep from barking printer Calc math-format-value. + +2011-06-27 Richard Stallman <rms@gnu.org> + + * battery.el (battery-mode-line-limit): New variable. + (battery-update): Handle it. + + * mail/rmailmm.el (rmail-mime-process-multipart): + Handle truncated messages. + +2011-06-27 Glenn Morris <rgm@gnu.org> + + * progmodes/flymake.el (flymake-err-line-patterns): + Allow for column numbers in the ant/javac pattern. (Bug#8866) + +2011-06-27 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el (ses-relocate-range): Keep rest of arguments for ses-range. + (ses--clean-!, ses--clean-_): New functions. + (ses-range): Add configurability of readout order, and conversion + to Calc vector. + + * ses.el (ses-repair-cell-reference-all): New function. + (ses-cell-symbol): Set macro as safe, so that it can be used in + formulas. + + * ses.el: Update cycle detection algorithm. + (ses-localvars): Add ses--Dijkstra-attempt-nb and + ses--Dijkstra-weight-bound, and initial values thereof when applicable. + (ses-set-localvars): New function. + (ses-make-cell): Add property-list as a cell element. + (ses-cell-property-get-fun, ses-cell-property-get) + (ses-cell-property-delq-fun, ses-cell-property-set-fun) + (ses-cell-property-pop-fun, ses-cell-property-get-handle-fun): + New functions. + (ses-cell-property-set, ses-cell-property-pop) + (ses-cell-property-get-handle): New macro. + (ses-cell-property-handle-car, ses-cell-property-handle-setcar): + New aliases, used for code readability. + (ses-calculate-cell, ses-update-cells): Use Dijkstra algorithm for + cycle detection. + (ses-self-reference-early-detection): New defcustom. + (ses-formula-references): Robustify against self-referring cells. + (ses-mode): Use ses-set-localvars. + (ses-command-hook): Add call to ses-initialize-Dijkstra-attempt + before lauching the update processing. + (ses-initialize-Dijkstra-attempt): New function. + (ses-recalculate-cell): Update for cycle detection based on + Dijkstra algorithm. + + * ses.el: Fix commenting and indenting convention. + +2011-06-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * bs.el (bs-cycle-next): Complete last change. + +2011-06-27 Drew Adams <drew.adams@oracle.com> + + * faces.el (list-faces-display): Add help-mode-map to output (bug#8939). + +2011-06-27 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/network-stream.el (network-stream-open-starttls): + Don't re-get capabilities unless we've reestablished connection. + (network-stream-open-starttls): Fix stupid typo with gnutls-clii. + + * mail/smtpmail.el (smtpmail-via-smtp): Bind coding-system-for-* + to binary to possibly avoid line encoding issues on Windows (among + other things). + +2011-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/network-stream.el (open-network-stream): Return an :error + saying what the problem was, if possible. + + * mail/smtpmail.el (smtpmail-via-smtp): Report the error from the + server. + + * net/network-stream.el (network-stream-open-starttls): If we + wanted to use STARTTLS, and the server offered it, but we weren't + able to because we had no STARTTLS support, then close the connection. + (open-network-stream): Return an :error element, if present. + +2011-06-26 Chong Yidong <cyd@stupidchicken.com> + + * hl-line.el (hl-line-sticky-flag): Doc fix. + (global-hl-line-sticky-flag): New option (Bug#8323). + (global-hl-line-highlight): Obey it. + + * vc/vc.el (vc-revert-show-diff): Default to t. + +2011-06-26 Ken Manheimer <ken.manheimer@gmail.com> + + * allout-widgets.el (allout-widgets-post-command-business): + Stop decorating intermediate isearch matches. They're not being + undecorated when an isearch is continued past, and isearch + automatically collapses them. This leads to "widget leaks", where + decorated items accumulate in collapsed areas. Lines with lots of + hidden widgets can slow down cursor travel, substantially. + Too much complicated machinery would be needed to ensure undecoration, + so we're doing without this nicety. + + (allout-widgets-tally-string): Don't try to do a hash-table-count + of allout-widgets-tally when it's nil. This eliminates spurious "Error + during redisplay: (wrong-type-argument hash-table-p nil)" warnings in + *Messages* when allout-widgets-maintain-tally is t. + +2011-06-26 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-normalize-argument): Rename to + display-buffer-normalize-arguments. Handle special meaning of + LABEL argument. Respect special-display-function when popping up + a new frame. Fix code searching for a window showing the buffer + on another frame. + (display-buffer-normalize-specifiers): + Call display-buffer-normalize-arguments. + (display-buffer-in-window): Don't undedicate the window if its + buffer remains the same. + Reported by Drew Adams <drew.adams@oracle.com>. + (display-buffer-alist): Add choice for same-window macro + specfier. + (display-buffer): Mention special meaning of LABEL argument in + doc-string. Fix quoting. Don't pop up a new frame even as + fallback. + +2011-06-26 Juanma Barranquero <lekktu@gmail.com> + + * bs.el (bs-cycle-next): Pass current buffer to `bury-buffer' to + avoid deleting the current window in some cases (bug#8911). + +2011-06-26 Andreas Schwab <schwab@linux-m68k.org> + + * emacs-lisp/smie.el (smie-bnf->prec2): Fix last change. + (Bug#8934) + +2011-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/network-stream.el (network-stream-open-starttls): + Use built-in TLS support if `gnutls-available-p' is true. + (network-stream-open-tls): Ditto. + +2011-06-26 Leo Liu <sdl.web@gmail.com> + + * register.el (registerv): New struct. + (registerv-make): New function. + (jump-to-register, describe-register-1, insert-register): + Support the jump-func, print-func and insert-func slot of a registerv + struct. (Bug#8415) + +2011-06-26 Chong Yidong <cyd@stupidchicken.com> + + * vc/vc.el (vc-revert-show-diff): New defcustom. + (vc-diff-internal): New arg specifying diff buffer. + (vc-revert): Obey vc-revert-show-diff. If we show a diff, don't + reuse an existing *vc-diff* buffer (Bug#8927). + + * progmodes/cperl-mode.el (cperl-mode): Derive from prog-mode. + +2011-06-26 Glenn Morris <rgm@gnu.org> + + * progmodes/f90.el (f90-critical-indent): New option. + (f90-font-lock-keywords-2, f90-blocks-re, f90-end-block-re) + (f90-start-block-re, f90-mode-abbrev-table): Add block, critical. + (f90-mode): Doc fix. + (f90-looking-at-critical, f90-looking-at-end-critical): New funcs. + (f90-no-block-limit, f90-calculate-indent, f90-end-of-block) + (f90-beginning-of-block, f90-next-block, f90-indent-region) + (f90-match-end): Handle block, critical. + +2011-06-25 Glenn Morris <rgm@gnu.org> + + * calendar/diary-lib.el (diary-included-files): Doc fix. + (diary-include-files): New function, extracted from + diary-include-other-diary-files and diary-mark-included-diary-files. + (diary-include-other-diary-files, diary-mark-included-diary-files): + Just call diary-include-files. + (diary-mark-entries): Reset diary-included-files on first call. + + * calendar/diary-lib.el (diary-mark-entries) + (diary-mark-included-diary-files): + Visit included diary-files in temp buffers. + + * progmodes/f90.el (f90-keywords-re, f90-font-lock-keywords-1) + (f90-blocks-re, f90-program-block-re, f90-end-block-re) + (f90-start-block-re, f90-imenu-generic-expression) + (f90-looking-at-program-block-start, f90-no-block-limit): + Add support for submodules. + + * progmodes/f90.el (f90-keywords-re, f90-keywords-level-3-re) + (f90-procedures-re, f90-constants-re): Add some F2008 stuff. + +2011-06-25 Eli Zaretskii <eliz@gnu.org> + + * net/ange-ftp.el (ange-ftp-insert-file-contents): Let-bind + buffer-file-type before setting its value, to avoid disastrous + global effects on decoding files for DOS/Windows systems. (Bug#8780) + +2011-06-25 Juanma Barranquero <lekktu@gmail.com> + + * allout.el (allout-unload-function): Pass -1 to `allout-mode'. + + * ses.el (ses-unload-function): + * emacs-lisp/re-builder.el (re-builder-unload-function): Simplify. + + * proced.el (proced-unload-function): + * progmodes/cperl-mode.el (cperl-mode-unload-function): Remove. + +2011-06-25 Andreas Rottmann <a.rottmann@gmx.at> + + * server.el (server-create-window-system-frame): Add parameters arg. + (server-process-filter): Doc fix. Handle frame-parameters. + +2011-06-25 Juanma Barranquero <lekktu@gmail.com> + + Fix bug#8730, bug#8781. + + * loadhist.el (unload--set-major-mode): New function. + (unload-feature): Use it. + + * progmodes/python.el (python-after-info-look): Add autoload cookie. + (python-unload-function): New function. + +2011-06-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * mail/rmail.el (rmail-show-message-1): Use restore-buffer-modified-p. + +2011-06-25 Giuseppe Scrivano <gscrivano@gnu.org> + + * net/browse-url.el (browse-url-firefox-program): Add icecat to + the candidates list. + +2011-06-24 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/verilog-mode.el (verilog-mode): Fix test for bound variable. + +2011-06-23 Richard Stallman <rms@gnu.org> + + * mail/rmail.el: Going to grep hit in Rmail buffer finds the message. + (rmail-variables): Set next-error-move-function. + (rmail-what-message): Take argument POS. + (rmail-next-error-move): New function. + +2011-06-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/smie.el (smie-bnf->prec2): Give more understandable error + messages for adjacent non-terminals. + +2011-06-23 Richard Stallman <rms@gnu.org> + + * mail/rmail.el (rmail-retry-ignored-headers): Add message-id. + (rmail-show-message-1): Preserve buffer modified flag. + (rmail-start-mail): Don't specify use of rmail-mail-return; + that's done by mail-bury now. + (rmail-mail-return): Handle arg NEWBUF. + +2011-06-23 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-method-out-of-band-p): Check, whether + SIZE is a number. + +2011-06-23 Martin Rudalics <rudalics@gmx.at> + + * window.el (get-lru-window, get-mru-window) + (get-largest-window): Never return a minibuffer window. + (display-buffer-pop-up-window): Fix a bug that could lead to + reusing the minibuffer window. + (display-buffer): Pass original specifier argument to + display-buffer-function instead of the normalized one. + Reported by Thierry Volpiatto <thierry.volpiatto@gmail.com>. + +2011-06-22 Leo Liu <sdl.web@gmail.com> + + * minibuffer.el (completing-read-function) + (completing-read-default): Move from minibuf.c. + +2011-06-22 Richard Stallman <rms@gnu.org> + + * mail/sendmail.el (mail-bury): If Rmail is in use, return nicely + to Rmail even if not started by a special Rmail command. + + * mail/rmailmm.el (rmail-insert-mime-forwarded-message): + Copy the buffer currently showing just one message. + +2011-06-22 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el (bibtex-entry-update): Use mapc. + (bibtex-clean-entry): First delete the old key so that a + customized algorithm for generating the new key does not get + confused by the old key. + (bibtex-url): Obey regexp of first step. + (bibtex-search-entries): Do not use add-to-list with local + list-var. + +2011-06-22 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-try-auth-methods): If the user has + stored a user name, then query for the password first, instead of + waiting for SMTP to give an error message and the trying again. + +2011-06-22 Lawrence Mitchell <wence@gmx.li> + + * net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil + BUFFER in call-process. + +2011-06-22 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-via-smtp): Make sure we don't send + QUIT twice. + (smtpmail-try-auth-methods): Require user name and password from + auth-source. + +2011-06-22 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-default-specifiers) + (display-buffer-alist): Remove entries for pop-up-frame-alist. + Suggested by Katsumi Yamaoka <yamaoka@jpl.org>. + (split-window): Normalize SIDE argument (Bug#8916). + + * frame.el (pop-up-frame-alist, pop-up-frame-function) + (special-display-frame-alist, special-display-popup-frame): + Remove duplicate declarations. These are now in window.el. + +2011-06-21 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * mail/smtpmail.el (smtpmail-via-smtp): + Set :use-starttls-if-possible so that we always use STARTTLS if the + server supports it. SMTP servers that support STARTTLS commonly + require it. + + * net/network-stream.el (network-stream-open-starttls): Support + upgrading to STARTTLS always, even if we don't have built-in support. + (open-network-stream): Add the :always-query-capabilities keyword. + + * mail/smtpmail.el: Rewritten to do opportunistic STARTTLS + upgrades with `open-network-stream', and rely solely on + auth-source for all credentials. Big changes throughout the file, + but in particular: + (smtpmail-auth-credentials): Remove. + (smtpmail-starttls-credentials): Remove. + (smtpmail-via-smtp): Check for servers saying they want AUTH after + MAIL FROM, too. + + * net/network-stream.el (network-stream-open-starttls): + Provide support for client certificates both for external and built-in + STARTTLS. + (auth-source): Require. + (open-network-stream): Document the :client-certificate keyword. + (network-stream-certificate): Change cert-cert to cert and + cert-key to key. + +2011-06-21 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-cache.el (top): Don't load the persistency file when + "emacs -Q" has been called. + +2011-06-21 Tim Harper <timcharper@gmail.com> + + * term/ns-win.el (ns-initialize-window-system): + Set application-specific `ApplePressAndHoldEnabled' system + resource to NO as it is not yet supported by the NS port. + +2011-06-21 Juanma Barranquero <lekktu@gmail.com> + + * misc.el (list-dynamic-libraries--refresh): Compute header here... + (list-dynamic-libraries): ...not here. + +2011-06-21 Leo Liu <sdl.web@gmail.com> + + * subr.el (sha1): Implement sha1 using secure-hash. + +2011-06-21 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-alist): In default value do not + enforce searching a window on any but the selected frame. + Reported by Katsumi Yamaoka <yamaoka@jpl.org>. + (display-buffer-select-window): Remove function. + (display-buffer-in-window): When a window on another frame gets + reused, do not select it any more but just raise its frame if + necessary (Bug#8851) and (Bug#8856). + (display-buffer-normalize-options): Handle pop-up-frames related + options more faithfully. + (pop-to-buffer): Don't rely on `display-buffer' selecting the + window if it is on another frame. + (display-buffer-alist, display-buffer-default-specifiers): + Don't make new frame unsplittable by default. + (display-buffer-normalize-argument): Fix doc-string typo and use + 'same-frame-other-window instead of 'other-window when associating + with display-buffer-macro-specifiers. + +2011-06-21 Vincent Belaïche <vincent.b.1@hotmail.fr> + + * play/5x5.el (5x5-solve-rotate-left, 5x5-solve-rotate-right): + New functions. + (5x5-mode-map, 5x5-mode-menu): Bind them. + (5x5-draw-grid): Tweak the solver's rendering. + +2011-06-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/compile.el (compilation-error-regexp-alist-alist): Rename + `caml' to `python-tracebacks-and-caml'; allow leading tabs (bug#8585). + +2011-06-21 Drew Adams <drew.adams@oracle.com> + + * menu-bar.el: Use function variable instead of switch-to-buffer. + (menu-bar-select-buffer-function): New variable. + (menu-bar-update-buffers): Use it (bug#8876). + +2011-06-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (add-to-list): Add handler to check the + variable's status. + +2011-06-20 Jan Djärv <jan.h.d@swipnet.se> + + * x-dnd.el (x-dnd-version-from-flags) + (x-dnd-more-than-3-from-flags): New functions that handle long-as-cons + and long as number (Bug#8899). + (x-dnd-handle-xdnd): Call functions above (Bug#8899). + +2011-06-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-metadata): Add `metadata' to the alist. + (completion-try-completion, completion-all-completions): Compute the + metadata argument if it's missing; make it optional (bug#8795). + + * wid-edit.el: Use lex-bind and move towards completion-at-point. + (widget-complete): Use new :completion-function property. + (widget-completions-at-point): New function. + (default): Use :completion-function instead of :complete. + (widget-default-completions): Rename from widget-default-complete; + Rewrite. + (widget-string-complete, widget-file-complete, widget-color-complete): + Remove functions. + (file, symbol, function, variable, coding-system, color): + * international/mule-cmds.el (default-input-method, charset) + (language-info-custom-alist): + * cus-edit.el (face): Use new property :completions. + + * progmodes/pascal.el (pascal-completions-at-point): New function. + (pascal-mode): Use it. + (pascal-mode-map): Use completion-at-point. + (pascal-toggle-completions): Make obsolete. + (pascal-complete-word, pascal-show-completions): + * progmodes/octave-mod.el (octave-complete-symbol): + Redefine as obsolete alias. + * progmodes/octave-inf.el (inferior-octave-completion-at-point): + Signal absence of completion info for old Octave, + (inferior-octave-complete): Redefine as obsolete alias. + * progmodes/meta-mode.el: Use lexical-binding and completion-at-point. + (meta-completions-at-point): Rename from meta-complete-symbol and + adapt it for use on completion-at-point-functions. + (meta-common-mode): Use it. + (meta-looking-at-backward, meta-match-buffer): Remove. + (meta-complete-symbol): Redefine as obsolete alias. + (meta-common-mode-map): Use completion-at-point. + * progmodes/make-mode.el: Use lexical-binding and completion-at-point. + (makefile-mode-map): Use completion-at-point. + (makefile-completions-at-point): Rename from makefile-complete and + adapt it for use on completion-at-point-functions. + (makefile-mode): Use it. + (makefile-complete): Redefine as obsolete alias. + +2011-06-20 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el: Delete trailing whitespaces once and for all. + +2011-06-20 Daniel Colascione <dan.colascione@gmail.com> + + * emacs-lisp/syntax.el (syntax-ppss): Further improve docstring. + +2011-06-19 Chong Yidong <cyd@stupidchicken.com> + + * files.el (auto-mode-alist): Entry for m2-mode (Bug#8852). + + * info.el (Info-apropos-toc-nodes): Minor doc fix (Bug#8833). + +2011-06-19 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-other-window-means-other-frame): + Call display-buffer-normalize-alist. + (display-buffer-normalize-specifiers-1): Rename to + display-buffer-normalize-argument. New argument other-frame. + Rewrite. + (display-buffer-normalize-specifiers-2): Rename to + display-buffer-normalize-options. + (display-buffer-normalize-alist-1): New function. + (display-buffer-normalize-specifiers-3): Rename to + display-buffer-normalize-alist. + Call display-buffer-normalize-alist-1. + (display-buffer-normalize-options-inhibit): New variable. + (display-buffer-normalize-specifiers): Rewrite calling + display-buffer-normalize-alist, + display-buffer-normalize-argument, and + display-buffer-normalize-options. Don't call the latter if + display-buffer-normalize-options-inhibit is non-nil. + (frame-auto-delete): New option. + (window-deletable-p): Use frame-auto-delete. + (window-list-no-nils, window-state-ignored-parameters) + (window-state-get-1, window-state-get, window-state-put-list) + (window-state-put-1, window-state-put-2, window-state-put): + New functions. + (display-buffer-normalize-options): Move special-display-p group + after pop-up-frame group (Bug#8851) and (Bug#8856). + +2011-06-18 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/rx.el (rx-constituents): Add support for numbered + groups (Bug#8776). + (rx-submatch-n): New function. + (rx): Document it. + + * dired-x.el (dired-mark-unmarked-files): Fix interactive spec + (Bug#8768). + + * replace.el (occur-mode-map): Set occur-edit-mode binding to "e". + + * textmodes/fill.el (default-justification): Add :safe (Bug#8879). + + * cus-face.el (custom-declare-face): Call custom-theme-recalc face + anytime existing face settings are present (Bug#8889). + + * progmodes/delphi.el (delphi-mode-syntax-table): Use defvar. + (delphi-mode): Use define-derived-mode to inherit from prog-mode. + Remove unused argument. + +2011-06-18 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-default-specifiers): + Remove pop-up-frame. Add pop-up-window-min-height, + pop-up-window-min-width, and another reuse-window specifier + (Bug#8882). Reported by Dan Nicolaescu <dann@gnu.org>. + (display-buffer-normalize-specifiers-2): + Handle split-height-threshold and split-width-threshold also when + pop-up-windows is unset. Add a reuse-window specifier for the + case popping up a new window fails. + (special-display-popup-frame): Remove double quoting. + (display-buffer-normalize-specifiers-1): Fix thinko. + +2011-06-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * shell.el (shell-completion-vars): Set pcomplete-termination-string + according to comint-completion-addsuffix. + + * pcomplete.el: Convert to lexical binding and fix bug#8819. + (pcomplete-suffix-list): Mark as obsolete. + (pcomplete-completions-at-point): Capture pcomplete-norm-func and + pcomplete-seen in the closure. + (pcomplete-comint-setup): Setup completion-at-point as well. + (pcomplete--entries): New function. + (pcomplete--env-regexp): New var. + (pcomplete-entries): Rewrite to work with partial-completion and + without relying on pcomplete-suffix-list. + (pcomplete-pare-list): Remove, unused. + +2011-06-17 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-alist): Set pop-up-window-min-height + and pop-up-window-min-width in default value. Reported by + Thierry Volpiatto <thierry.volpiatto@gmail.com>. New specifier + other-window-means-other-frame. + (display-buffer-macro-specifiers): Comment out entry for + other-window specifier. + (display-buffer-other-window-means-other-frame): New function. + (display-buffer-normalize-specifiers-1): New arguments + buffer-name and label. Treat other-window case specially. + (display-buffer-normalize-specifiers-2): Treat other-window case + specially. + (display-buffer-normalize-specifiers-3): New function. + (display-buffer-normalize-specifiers): + Call display-buffer-normalize-specifiers-3. + +2011-06-17 Martin Rudalics <rudalics@gmx.at> + + * window.el (same-window-p): Fix two typos introduced when + adding with-no-warnings. + (display-buffer-normalize-specifiers-1): Don't check + pop-up-frames for 'unset initialization. + (display-buffer-normalize-specifiers-2): Major rewrite using + special-display-p and same-window-p (Bug#8851) and (Bug#8856). + (pop-up-frames, display-buffer-reuse-frames) + (display-buffer-mark-dedicated): Don't initialize to 'unset. + Suggested by David Engster <deng@randomsample.de>. + (even-window-heights): Initialize to 'unset. + (display-buffer-alist-set): Handle new 'unset initializations. + (display-buffer-macro-specifiers): Don't pop up a new frame in the + other window case. + +2011-06-16 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-normalize-specifiers-1): + Respect current value of pop-up-frames for most reasonable values of + second argument of display-buffer (Bug#8865). + (switch-to-buffer-same-frame, switch-to-buffer-other-window) + (switch-to-buffer-other-window-same-frame) + (switch-to-buffer-other-frame): Fix doc-strings. Reported by Drew + Adams (Bug#8875). + (display-buffer): Don't check noninteractive when calling + display-buffer-pop-up-frame. + (display-buffer-pop-up-frame): Never pop up a frame in + noninteractive mode (Bug#8857). + (enlarge-window, shrink-window): Don't report an error when the + window can't be resized as requested (Bug#8862). + +2011-06-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcmpl-rpm.el (pcomplete/rpm): Minor simplification. + + * emacs-lisp/debug.el (debug): Don't leave the buffer in Debugger. + + * abbrev.el (define-abbrev-table): Don't add a table multiple times. + +2011-06-15 Alan Mackenzie <acm@muc.de> + + * progmodes/cc-fonts.el (c-font-lock-declarations): 1: Whilst checking + for declarators, disable knr checking to speed up for normal files. + 2: Refactor, replacing a sequence of nested if forms by a cond form. + +2011-06-15 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/network-stream.el (open-network-stream): Add the keyword + :always-query-capabilities for the case where you want to force a + `plain' network connection, but the protocol still requires the + capabilitiy command (i.e., SMTP and EHLO). + + * subr.el (process-live-p): Rename from `process-alive-p' for + consistency with other `-live-p' functions. + +2011-06-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el (same-window-buffer-names, same-window-regexps) + (special-display-frame-alist, special-display-popup-frame) + (special-display-function, special-display-buffer-names) + (special-display-regexps, pop-up-frame-alist) + (pop-up-frame-function, pop-up-frames, display-buffer-reuse-frames) + (pop-up-windows, split-window-preferred-function) + (split-height-threshold, split-width-threshold, even-window-heights) + (display-buffer-mark-dedicated): Don't encourage the use of + display-buffer-alist from Elisp code. + +2011-06-15 Dan Nicolaescu <dann@ics.uci.edu> + + * progmodes/python.el (python-mode): Derive from prog-mode. + * progmodes/ps-mode.el (ps-mode): + * progmodes/mixal-mode.el (mixal-mode): + * progmodes/cfengine.el (cfengine-mode): + * progmodes/ld-script.el (ld-script-mode): Likewise. + +2011-06-15 Martin Rudalics <rudalics@gmx.at> + + * window.el (display-buffer-alist): Trim default value to avoid + popping up a new frame (Bug#8857) or reusing an arbitrary window + on another frame. + (display-buffer): Do not fall back on popping up a new frame in + batch mode (Bug#8857). + +2011-06-14 Chong Yidong <cyd@stupidchicken.com> + + * cus-theme.el (describe-theme-1): Use custom-theme-p. + (custom-theme-summary): New function. + (customize-themes): Use it. + +2011-06-13 Glenn Morris <rgm@gnu.org> + + * cus-dep.el (custom-make-dependencies): Use up command-line-args-left. + +2011-06-13 Martin Rudalics <rudalics@gmx.at> + + * help.el (help-window): Remove variable. + (help-window-point-marker, temp-buffer-max-height) + (temp-buffer-resize-mode, help-window-select): Rewrite doc-strings. + (help-print-return-message): Don't set help-window. + (resize-temp-buffer-window): Rewrite cod eand doc-string. + (help-window-setup-finish): Remove. + (help-window-display-message, help-window-setup) + (with-help-window): Major rewrite based on new + display-buffer-window variable. + + * help-mode.el (help-mode-finish): Remove help-window related + code. + + * view.el (view-exits-all-viewing-windows): Remove reference to + view-return-to-alist in doc-string. + (view-return-to-alist): Make obsolete. + (view-buffer): Call pop-to-buffer-same-window and remove + undo-window code. + (view-buffer-other-window): Call pop-to-buffer-other-window and + simplify code. Ignore second argument. + (view-buffer-other-frame): Call pop-to-buffer-other-frame and + simplify code. Ignore second argument. + (view-return-to-alist-update): Make obsolete. + (view-mode-enter): Rename second argument to QUIT-RESTORE. + Rewrite using quit-restore window parameters. + (view-mode-exit): Rename second argument to EXIT-ONLY. + Rewrite using quit-restore-window. + (View-exit, View-exit-and-edit, View-leave, View-quit) + (View-quit-all, View-kill-and-leave): Call view-mode-exit with + appropriate arguments. + (view-end-message): Use quit-restore window parameter. + + * window.el (display-buffer-function): Rewrite doc-string. + (display-buffer-window, display-buffer-alist): New variables. + (display-buffer-split-specifiers) + (display-buffer-side-specifiers) + (display-buffer-macro-specifiers): New constants. + (display-buffer-even-window-sizes, display-buffer-set-height) + (display-buffer-set-width, display-buffer-select-window) + (display-buffer-in-window, display-buffer-reuse-window) + (display-buffer-split-window-1, display-buffer-split-window) + (display-buffer-split-atom-window, display-buffer-pop-up-window) + (display-buffer-pop-up-frame, display-buffer-pop-up-side-window) + (display-buffer-in-side-window, normalize-buffer-to-display) + (display-buffer-normalize-specifiers-1) + (display-buffer-normalize-specifiers-2) + (display-buffer-normalize-specifiers, display-buffer-frame): + New functions. + (display-buffer): Major rewrite. + (display-buffer-other-window, display-buffer-other-frame) + (pop-to-buffer, switch-to-buffer-other-window) + (switch-to-buffer-other-frame): Rewrite. + (display-buffer-same-window, display-buffer-same-frame) + (display-buffer-same-frame-other-window) + (pop-to-buffer-same-window, pop-to-buffer-same-frame) + (pop-to-buffer-other-window) + (pop-to-buffer-same-frame-other-window) + (pop-to-buffer-other-frame, switch-to-buffer-same-frame) + (switch-to-buffer-other-window-same-frame): New functions. + (same-window-p, special-display-p): Rewrite disabling warnings. + Make obsolete. + (pop-up-frames, display-buffer-reuse-frames, pop-up-windows) + (display-buffer-mark-dedicated): Initialize to symbol 'unset. + Make obsolete + (same-window-buffer-names, same-window-regexps) + (special-display-frame-alist, special-display-popup-frame) + (special-display-function, special-display-buffer-names) + (special-display-regexps, pop-up-frame-alist) + (pop-up-frame-function, split-window-preferred-function) + (split-height-threshold, split-width-threshold) + (even-window-heights): Make obsolete. + +2011-06-12 Glenn Morris <rgm@gnu.org> + + * term/xterm.el (terminal-init-xterm): `version' may be nil. (Bug#8838) + Misc simplifications. + +2011-06-12 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-safely-shrinkable-p): Restore function which + was inadvertently removed in change from 2011-06-11. Declare as + obsolete. + + * calendar/calendar.el (calendar-generate-window): + Use window-iso-combined-p instead of combination of one-window-p and + window-safely-shrinkable-p. + +2011-06-12 Glenn Morris <rgm@gnu.org> + + * progmodes/fortran.el (fortran-mode-syntax-table): + * progmodes/f90.el (f90-mode-syntax-table): + Set % to punctuation. (Bug#8820) + (f90-find-tag-default): Remove, no longer needed. + +2011-06-12 Daniel Colascione <dan.colascione@gmail.com> + + * emacs-lisp/syntax.el (syntax-ppss): Clarify which items are invalid. + +2011-06-11 Chong Yidong <cyd@stupidchicken.com> + + * image.el (image-animated-p): Return animation delay in seconds. + Avoid bit manipulation in Lisp; use `delay' entry in the metadata. + (image-animate-timeout): Remove DELAY argument. Don't assume + every subimage has the same delay; get it from image-animated-p. + (image-animate): Caller changed. + +2011-06-11 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-debug-message): Add `tramp-with-progress-reporter' + to ignored backtrace functions. + +2011-06-11 Glenn Morris <rgm@gnu.org> + + * calendar/appt.el (appt-disp-window-function): Doc fix. + (appt-check): Handle overlapping appointments. (Bug#8337) + +2011-06-11 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-tree-1, window-tree): New functions, moving + the latter to window.el. + (bw-get-tree, bw-get-tree-1, bw-find-tree-sub) + (bw-find-tree-sub-1, bw-l, bw-t, bw-r, bw-b, bw-dir, bw-eqdir) + (bw-refresh-edges): Remove. + (balance-windows-1, balance-windows-2): New functions. + (balance-windows): Rewrite in terms of window tree functions, + balance-windows-1 and balance-windows-2. + (bw-adjust-window): Remove. + (balance-windows-area-adjust): New function with functionality of + bw-adjust-window but using resize-window. + (set-window-text-height): Rewrite doc-string. + Use normalize-live-window and resize-window. + (enlarge-window-horizontally, shrink-window-horizontally): + Rename argument to DELTA. + (window-buffer-height): New function. + (fit-window-to-buffer, shrink-window-if-larger-than-buffer): + Rewrite using new window resize routines. + (kill-buffer-and-window, mouse-autoselect-window-select): + Use ignore-errors instead of condition-case. + (quit-window): Call delete-frame instead of delete-windows-on + for the only buffer on frame. + +2011-06-10 Martin Rudalics <rudalics@gmx.at> + + * loadup.el (top-level): Load window before files for the sake + of replace-buffer-in-windows. + + * files.el (read-buffer-to-switch) + (switch-to-buffer-other-window) + (switch-to-buffer-other-frame, display-buffer-other-frame): + Move to window.el. + + * simple.el (get-next-valid-buffer, last-buffer, next-buffer) + (previous-buffer): Move to window.el. + + * bindings.el (unbury-buffer): Move to window.el. + + * window.el (delete-other-windows-vertically): Move after + definition of delete-other-windows. + (other-window, delete-windows-on, replace-buffer-in-windows): + Move here from window.c. + (record-window-buffer, unrecord-window-buffer) + (set-window-buffer-start-and-point, switch-to-prev-buffer) + (switch-to-next-buffer): New functions. + (get-next-valid-buffer, last-buffer, next-buffer): Move here + from simple.el. Call switch-to-next-buffer. + (previous-buffer): Move here from simple.el. + Call switch-to-prev-buffer. + (bury-buffer): Move here from buffer.c. Switch to previous + buffer when window cannot be deleted. + (unbury-buffer): Move here from bindings.el. + (ctl-x-map): Move binding for other-window from window.c to + here. + (read-buffer-to-switch, switch-to-buffer-other-window) + (switch-to-buffer-other-frame): Move here from files.el. + (normalize-buffer-to-switch-to): New functions. + (switch-to-buffer): Move here from buffer.c. + Use read-buffer-to-switch and normalize-buffer-to-switch-to. + +2011-06-10 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-min-height, window-min-width): Move here + from window.c. Add defcustoms and rewrite doc-strings. + (resize-mini-window, resize-window): New functions. + (adjust-window-trailing-edge, enlarge-window, shrink-window): + Move here from window.c. + (maximize-window, minimize-window): New functions. + (delete-window, delete-other-windows, split-window): Move here + from window.c. + (window-split-min-size): New function. + (split-window-keep-point): Mention split-window-above-each-other + instead of split-window-vertically. + (split-window-above-each-other, split-window-vertically): + Rename split-window-vertically to split-window-above-each-other + and provide defalias for old definition. + (split-window-side-by-side, split-window-horizontally): + Rename split-window-horizontally to split-window-side-by-side + and provide defalias for the old definition. + (ctl-x-map): Move bindings for delete-window, + delete-other-windows and enlarge-window here from window.c. + Replace bindings for split-window-vertically and + split-window-horizontally by bindings for + split-window-above-each-other and split-window-side-by-side. + + * cus-start.el (all): Remove entries for window-min-height and + window-min-width. Add entries for window-splits and + window-nest. + +2011-06-09 Glenn Morris <rgm@gnu.org> + + * calendar/appt.el (appt-mode-line): New function. + (appt-check, appt-disp-window): Use it. + + * files.el (hack-one-local-variable-eval-safep): + Allow minor-modes with explicit +/-1 arguments. + +2011-06-09 Teodor Zlatanov <tzz@lifelogs.com> + + * term/xterm.el (xterm): Add defgroup. + (xterm-extra-capabilities): Add defcustom to supply known xterm + capabilities, skip querying them, or query them (default). + (terminal-init-xterm): Use it. + (terminal-init-xterm-modify-other-keys): New function to set up + modifyOtherKeys support to simplify `terminal-init-xterm'. + +2011-06-09 Martin Rudalics <rudalics@gmx.at> + + * window.el (resize-window-reset, resize-window-reset-1) + (resize-subwindows-skip-p, resize-subwindows-normal) + (resize-subwindows, resize-other-windows, resize-this-window) + (resize-root-window, resize-root-window-vertically) + (window-deletable-p, window-or-subwindow-p) + (frame-root-window-p): New functions. + +2011-06-09 Glenn Morris <rgm@gnu.org> + + * net/ange-ftp.el (ange-ftp-switches-ok): New function. + (ange-ftp-get-files): Use it. + +2011-06-09 Alexander Klimov <alserkli@inbox.ru> (tiny change) + + * mail/sendmail.el (mail-recover-1, mail-recover): + * files.el (recover-file, recover-session): + Handle dired-listing-switches not being just a single short option. + +2011-06-09 Glenn Morris <rgm@gnu.org> + + * calendar/appt.el (appt-display-message, appt-disp-window): + Handle lists of appointments. + +2011-06-08 Martin Rudalics <rudalics@gmx.at> + + * window.el (one-window-p): Move down in code. + Rewrite doc-string. + (window-current-scroll-bars): Rewrite doc-string. + Normalize live window argument. + (walk-windows, get-window-with-predicate, count-windows): + Rewrite doc-string. Use window-list-1. + (window-in-direction-2, window-in-direction, get-mru-window): + New functions. + +2011-06-08 Reuben Thomas <rrt@sc3d.org> + + * progmodes/flymake.el (flymake-compilation-prevents-syntax-check): + Doc fix (Bug#8713). + +2011-06-08 Chong Yidong <cyd@stupidchicken.com> + + * repeat.el (repeat-on-final-keystroke): Fix type (Bug#8696). + +2011-06-08 Juanma Barranquero <lekktu@gmail.com> + + * loadhist.el (unload-feature-special-hooks): + Add `comint-output-filter-functions'. + +2011-06-08 Ivan Kanis <gnu@kanis.fr> + + * calendar/appt.el (appt-check): Move some initializations into the let. + +2011-06-08 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-height): Defalias to window-total-height. + (window-width): Defalias to window-body-width. + +2011-06-07 Chong Yidong <cyd@stupidchicken.com> + + * image-mode.el (image-toggle-animation): New command. + (image-mode-map): Bind it to RET. + (image-mode): Update message. + (image-toggle-display-image): Avoid a spurious cache flush. + (image-transform-rotation): Doc fix. + (image-transform-properties): Return quickly in the normal case. + (image-animate-loop): Rename from image-animate-max-time. + + * image.el (image-animate-max-time): Move to image-mode.el. + (create-animated-image): Remove unnecessary function. + (image-animate): Rename from image-animate-start. New arg. + (image-animate-stop): Remove; just use image-animate-timer. + (image-animate-timer): Use car-safe. + (image-animate-timeout): Rename argument. + +2011-06-07 Martin Rudalics <rudalics@gmx.at> + + * window.el (get-lru-window, get-largest-window): Move here from + window.c. Rename first argument to ALL-FRAMES. + Rephrase doc-strings. + (get-buffer-window-list): Rewrite using window-list-1. + Rephrase doc-string. + (window-safe-min-height, window-safe-min-width): New constants. + (window-size-ignore, window-min-size, window-min-size-1) + (window-sizable, window-sizable-p, window-size-fixed-1) + (window-size-fixed-p, window-min-delta-1, window-min-delta) + (window-max-delta-1, window-max-delta, window-resizable) + (window-resizable-p, window-total-height, window-total-width) + (window-body-width): New functions. + (window-full-height-p, window-full-width-p): Rewrite using + window-total-size. + (window-body-height): Rewrite using window-body-size. + +2011-06-06 Martin Rudalics <rudalics@gmx.at> + + * window.el (window-right, window-left, window-child) + (window-child-count, window-last-child, window-any-p) + (normalize-live-buffer, normalize-live-frame) + (normalize-any-window, normalize-live-window) + (window-iso-combination-p, window-iso-combined-p) + (window-iso-combinations) + (walk-window-tree-1, walk-window-tree, walk-window-subtree) + (windows-with-parameter, window-with-parameter) + (window-atom-root, make-window-atom, window-atom-check-1) + (window-atom-check, window-side-check, window-check): + New functions. + (ignore-window-parameters, window-sides, window-sides-vertical) + (window-sides-slots): New variables. + (window-size-fixed): Move down in code. Minor doc-string fix. + +2011-06-05 Andreas Schwab <schwab@linux-m68k.org> + + * comint.el (comint-dynamic-complete-as-filename) + (comint-dynamic-complete-filename): Correctly call + completion-in-region. + +2011-06-05 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-prompt-for-encryption): Fix bug introduced + in last change. + +2011-06-05 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-prompt-for-encryption): New function. + (rcirc): Use it to prompt for encryption. + +2011-06-05 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el (bibtex-search-buffer): New variable. + (bibtex-search-entries): New command bound to C-c C-a. + (bibtex-display-entries): New function. + +2011-06-05 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el (bibtex-generate-url-list): Fix docstring. + (bibtex-insert-kill): After yanking insert newline if necessary. + (bibtex-initialize): Call bibtex-string-files-init only once. + (bibtex-mode): Do not call easy-menu-add. + (bibtex-validate-globally): Use save-excursion in bibtex buffers. + (bibtex-yank): Set arg properly if nil. + +2011-06-05 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el (bibtex-search-entry-globally): + New variable. + (bibtex-search-entry): Use it. + +2011-06-05 Roland Winkler <winkler@gnu.org> + + * textmodes/bibtex.el (bibtex-entry-format): New option + sort-fields. + (bibtex-format-entry, bibtex-reformat): Honor this option. + (bibtex-parse-entry): Return fields in proper order. + +2011-06-05 Juanma Barranquero <lekktu@gmail.com> + + * doc-view.el (doc-view-remove-if): Move computation of result out + of `dolist' to silence misleading lexical-binding warning. + +2011-06-04 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/timer.el (timer-activate): Remove unused arg. + (timer-activate, timer-activate-when-idle): Doc fix (Bug#8793). + +2011-06-04 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-find-shell): Apply workaround also for + "SunOS 5.10". + +2011-06-04 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-set-completion-function, tramp-parse-rhosts) + (tramp-parse-shosts, tramp-parse-sconfig, tramp-parse-shostkeys) + (tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc) + (tramp-parse-putty): + * net/tramp-sh.el (tramp-completion-function-alist-rsh) + (tramp-completion-function-alist-ssh) + (tramp-completion-function-alist-telnet) + (tramp-completion-function-alist-su) + (tramp-completion-function-alist-putty): Set `tramp-autoload' + cookie. + + * net/tramp-ftp.el: + * net/tramp-sh.el: + * net/tramp-smb.el: Set `tramp-autoload' cookie, and eval after + load "tramp.el" `tramp-set-completion-function'. + +2011-06-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * shell.el: Require and use pcomplete. + (shell-dynamic-complete-functions): Add pcomplete-completions-at-point. + (shell-completion-vars): Set pcomplete-default-completion-function. + +2011-06-04 Deniz Dogan <deniz@dogan.se> + + * iswitchb.el (iswitchb-window-buffer-p): Use `member' instead of + `memq' (Bug#8799). + +2011-06-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (make-progress-reporter): Add "..." by default (bug#8785). + +2011-06-02 Juanma Barranquero <lekktu@gmail.com> + + * bs.el (bs--mark-unmark, bs--nth-wrapper): + * mpc.el (mpc-select-extend, mpc-songpointer-context): + * vc/log-view.el (log-view-beginning-of-defun): + * vc/smerge-mode.el (smerge-apply-resolution-patch) + (smerge-refine-forward, smerge-refine-chopup-region): + Silence warning for unused `dotimes' counter variables. + +2011-06-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * net/tramp.el (tramp-with-progress-reporter): Rename from + with-progress-reporter. Use `declare'. + * net/tramp-smb.el: + * net/tramp-sh.el: + * net/tramp-gvfs.el: Update all uses. + +2011-06-02 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc.el (calc-kill-stack-buffer): Make sure that the trail + buffer isn't killed before making it current. + +2011-06-01 Stefan Monnier <monnier@iro.umontreal.ca> + + Silence various byte-compiler warnings. + * emacs-lisp/byte-run.el (make-obsolete-variable): New argument + `access-type' and new obsolescence format. + * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): Adjust to + new format. + (byte-compile-check-variable): New `access-type' argument. + Only warn if the access-type is obsolete. + (byte-compile-dynamic-variable-bind, byte-compile-variable-ref) + (byte-compile-variable-set): Adjust callers. + * help-fns.el (describe-variable): Adjust to new obsolescence format. + * mail/sendmail.el (mail-mailer-swallows-blank-line): Only mark + setting it as obsolete. + * simple.el (minibuffer-completing-symbol): + * font-lock.el (font-lock-beginning-of-syntax-function): Only mark read + access as obsolete. + * minibuffer.el (minibuffer-completing-file-name): Don't make it + obsolete yet. + * international/quail.el (quail-mouse-choose-completion): Remove unused + code referring to obsolete var. + (quail-choose-completion-string): Remove. + * server.el (server-clients-with, server-kill-buffer-query-function) + (server-kill-emacs-query-function): Silence "unused `proc'" warnings. + * proced.el (proced-send-signal): + * emacs-lisp/lisp.el (lisp-complete-symbol): + Replace completion-annotate-function with completion-extra-properties. + +2011-06-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (goto-line): Use read-number. + (overriding-map-is-bound): Remove. + (saved-overriding-map): Change default. + (save&set-overriding-map): Rename from ensure-overriding-map-is-bound; + Take the map as argument. + (universal-argument, negative-argument, digit-argument): Use it. + (restore-overriding-map): Adjust. + (do-auto-fill): Use fill-forward-paragraph. + (keyboard-quit): Don't signal an error when debug-on-quit is non-nil. + + * minibuffer.el (minibuffer-inactive-mode-map): New var. + (minibuffer-inactive-mode): New major mode. + * mouse.el (mouse-drag-region): Remove the "mouse-1 pops up + the *Messages* buffer" hack. + (mouse-popup-menubar): Don't burp if the event is a normal key. + + Miscellaneous tweaks. + * emacs-lisp/cl-macs.el (dolist, dotimes): Use the same strategy for + lexical scoping as in subr.el's dolist and dotimes. + * emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): + Silence compiler warning. + * thingatpt.el (forward-whitespace): Trivial coding style fix. + * subr.el (with-output-to-temp-buffer): Provide an edebug spec. + * international/ccl.el (ccl-compile): Trivial simplification. + * help-fns.el (help-do-arg-highlight): Silence compiler warning. + * emacs-lisp/testcover.el (testcover-end): Remove spurious + `printflag' argument. + * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable): + Purecopy the whole obsolescence data. + +2011-06-01 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc-decode-coding-system): Revert last change; + improve doc-string as suggested by Marco Pessotto + <melmothx@gmail.com>. + (rcirc-print): Fix last change. + +2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (complete-with-action): Return nil for the metadata and + boundaries of non-functional tables. + (completion-table-dynamic): Return nil for the metadata. + (completion-table-with-terminator): Add default case, using + complete-with-action. + (completion--metadata): New function. + (completion-all-sorted-completions, minibuffer-completion-help): Use it + to try and avoid pathological performance problems. + (completion--embedded-envvar-table): Return `category' metadata. + +2011-05-31 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * subr.el (process-alive-p): New tiny convenience function. + +2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/debug.el (debug): Save&restore not just the buffer's + content but also its previous major mode. + +2011-05-31 Helmut Eller <eller.helmut@gmail.com> + + * emacs-lisp/debug.el (debug): Restore the previous content of the + *Backtrace* buffer when we exit with C-M-c. + +2011-05-31 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el: Add metadata method to completion tables. + (completion-category-overrides): New defcustom. + (completion-metadata, completion--field-metadata) + (completion-metadata-get, completion--styles) + (completion--cycle-threshold): New functions. + (completion-try-completion, completion-all-completions): + Add `metadata' argument to choose completion-styles. + (completion--do-completion): Use metadata to choose cycling. + (completion-all-sorted-completions): Use metadata for sorting. + Remove :completion-cycle-penalty which is not needed any more. + (completion--try-word-completion): Add `metadata' argument. + (minibuffer-completion-help): Check metadata for annotation function + and sorting. + (completion-file-name-table): Return `category' metadata. + (minibuffer-completing-file-name): Make obsolete. + * simple.el (minibuffer-completing-symbol): Make obsolete. + * icomplete.el (icomplete-completions): Pass new `metadata' param to + completion-try-completion. + +2011-05-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * mail/smtpmail.el (smtpmail-send-data): Add progress reporter. + +2011-05-30 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc-debug-buffer): Use visible buffer name. + (rcirc-print): Decode all incoming messages (bug#8744). + (rcirc-decode-coding-system): Allow value nil for automatic coding + system detection. + +2011-06-01 Glenn Morris <rgm@gnu.org> + + * mail/emacsbug.el (report-emacs-bug-hook): Mailclient ignores From. + +2011-05-29 Chong Yidong <cyd@stupidchicken.com> + + * image.el (image-animate-max-time): Allow nil and t values. + Default to nil. + (create-animated-image): Doc fix. + (image-animate-start): Remove second arg; just use + image-animate-max-time. + (image-animate-timeout): Doc fix. Args changed. + + * image-mode.el (image-toggle-display-image): Ensure that the + image spec passed to the animate timer is the same object as in + the buffer's display property (Bug#6981). + (image-transform-properties): Doc fix. + + * image.el (image-animate-max-time): Default to nil. + +2011-05-29 Martin Rudalics <rudalics@gmx.at> + + * menu-bar.el (kill-this-buffer-enabled-p): Avoid looping over + entire buffer list (Bug#8184). + +2011-05-29 Chong Yidong <cyd@stupidchicken.com> + + * image.el (imagemagick-types-inhibit) + (imagemagick-register-types): Doc fix. + +2011-05-29 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc): Use the user's stored encryption method by + default. + +2011-05-29 Chong Yidong <cyd@stupidchicken.com> + + * select.el: Don't perform clipboard-manager saving in hooks; + leave the hooks empty. + +2011-05-28 Leo Liu <sdl.web@gmail.com> + + * replace.el (occur-menu-map, occur-edit-mode-map): New vars. + (occur-mode-map): Bind occur-edit-mode. Use occur-menu-map. + (occur-edit-mode): New major mode (Bug#8463). + (occur-after-change-function): New function. + (occur-engine): Give Occur tags a read-only property. + +2011-05-28 Kevin Ryde <user42@zip.com.au> + + * subr.el (def-edebug-spec): Doc fix (Bug#8430). + +2011-05-28 Chong Yidong <cyd@stupidchicken.com> + + * bindings.el (help-echo): Make the initial non-indicator dash + empty on graphical terminals (Bug#7295). + + * files.el (auto-mode-alist): Move config rule after the + in-stripping one (Bug#8547). + + * newcomment.el (comment-end-skip): Doc fix (Bug#8659). + + * startup.el (normal-splash-screen): Remove gratuitous mode-line + setting (Bug#8740). + +2011-05-28 Alp Aker <aker@pitt.edu> (tiny change) + + * buff-menu.el (Buffer-menu-revert-function, Buffer-menu-sort) + (Buffer-menu-buffer+size): Use Buffer-menu-buffer-column + (Bug#8539). + +2011-05-28 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/re-builder.el (re-builder): Improve doc (Bug#8286). + +2011-05-28 Dima Kogan <dkogan@cds.caltech.edu> (tiny change) + + * progmodes/hideshow.el (hs-looking-at-block-start-p): New fun. + (hs-hide-block-at-point, hs-find-block-beginning) + (hs-already-hidden-p, hs-hide-block, hs-show-block): Use it + (Bug#8279). + +2011-05-28 Glenn Morris <rgm@gnu.org> + + * startup.el (fancy-about-screen): Use standard mode line. (Bug#8740) + +2011-05-28 Chong Yidong <cyd@stupidchicken.com> + + * help-fns.el (describe-function-1): If the function is a derived + major mode, print the parent mode. + + * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode, java-mode) + (idl-mode, pike-mode, awk-mode): Inherit from prog-mode. + +2011-05-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--capf-wrapper): Check applicability before + returning non-nil for non-exclusive completion data. + * progmodes/etags.el (tags-completion-at-point-function): + * info-look.el (info-lookup-completions-at-point): Mark as + non-exclusive. + (info-complete): Adjust accordingly. + + * info-look.el: Convert to lexical-binding and completion-at-point. + (info-lookup-completions-at-point): New function. + (info-complete): Use it and completion-in-region. + +2011-05-28 Drew Adams <drew.adams@oracle.com> + + * isearch.el: Let M-e start with point at the first mismatched char. + (isearch-fail-pos): New function. + (isearch-edit-string): Use it. + +2011-05-28 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> (tiny change) + + * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721). + +2011-05-27 Toby Cubitt <toby-predictive@dr-qubit.org> + + * emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new + traversal functions for avl-trees. + (avl-tree--stack): New struct. + (avl-tree-stack-p, avl-tree--stack-repopulate): New funs. + (avl-tree-enter): Add optional `updatefun' arg. + (avl-tree--do-enter): Add optional `updatefun' arg. + Change return value. + (avl-tree-delete): Add optional `test' and `nilflag' args. + (avl-tree--do-delete): Add `test' and `nilflag' args. + Change return value. + (avl-tree-member): Add optional `nilflag' + (avl-tree-member-p): New function. + (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar): New functions. + (avl-tree-stack, avl-tree-stack-pop, avl-tree-stack-first) + (avl-tree-stack-empty-p): New functions. + + * emacs-lisp/avl-tree.el (avl-tree--del-balance): Rename from + avl-tree--del-balance1 and make it work both ways. + (avl-tree--del-balance2): Remove. + (avl-tree--enter-balance): Rename from avl-tree--enter-balance1 and + make it work both ways. + (avl-tree--enter-balance2): Remove. + (avl-tree--switch-dir, avl-tree--dir-to-sign, avl-tree--sign-to-dir): + New macros. + (avl-tree--mapc, avl-tree-map): Add direction argument. + +2011-05-27 David Michael <fedora.dm0@gmail.com> (tiny change) + + * files.el (interpreter-mode-alist): Add rbash (bug#8745). + +2011-05-27 Chong Yidong <cyd@stupidchicken.com> + + * select.el: Support clipboard managers with built-in function + x-clipboard-manager-save, via delete-frame-functions and + kill-emacs-hook. + (xselect-convert-to-targets): Add MULTIPLE target to list. + (xselect-convert-to-save-targets): New function. + +2011-05-27 Kenichi Handa <handa@m17n.org> + + * mail/sendmail.el (mail-encode-header): Avoid double encoding by + let-binding rfc2047-encode-encoded-words to nil. + +2011-05-27 Glenn Morris <rgm@gnu.org> + + * mail/emacsbug.el: Don't require url-util. + + * shell.el (shell-directory-tracker): Case matters. (Bug#8735) + + * files.el (set-auto-mode): + Also respect mode: entries at the end of the file. (Bug#8586) + +2011-05-26 Glenn Morris <rgm@gnu.org> + + * files.el (hack-local-variables-prop-line, hack-local-variables): + Downcase mode names, as seems to be traditional. + (hack-local-variables, hack-local-variables-apply): Doc fixes. + + * mail/emacsbug.el (report-emacs-bug): Mention checking From address. + (report-emacs-bug-hook): Try to validate the From address. (Bug#8038) + +2011-05-25 Julien Danjou <julien@danjou.info> + + * textmodes/rst.el (rst-define-level-faces): Do not define face + symbol if it is already defined. + +2011-05-24 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * play/5x5.el (5x5-new-game, 5x5-randomize): + Reset 5x5-solver-output to nil when a new grid is cast. + (5x5-log-init, 5x5-log): Use defsubst instead of defmacro to shunt + these debugging traces, as defmacro breaks the compiled code. + +2011-05-24 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> (tiny change) + + * isearch.el (isearch-range-invisible): Use invisible-p (bug#8721). + +2011-05-24 Leo Liu <sdl.web@gmail.com> + + * vc/vc-bzr.el (vc-bzr-sha1-program): Rename from sha1-program. + (vc-bzr-sha1): Adapt. + + * sha1.el: Remove. Function `sha1' is now builtin. + + * bindings.el: Provide sha1 feature. + +2011-05-24 Kenichi Handa <handa@m17n.org> + + * mail/sendmail.el: Require `rfc2047'. + (mail-insert-from-field): Do not perform RFC2047 encoding. + (mail-encode-header): New function. + (sendmail-send-it): Set buffer-file-coding-system of the work + buffer to the return value of select-message-coding-system. + Call mail-encode-header. + + * mail/smtpmail.el (smtpmail-send-it): Call mail-encode-header. + +2011-05-24 Sean Neakums <sneakums@zork.net> (tiny change) + + * mail/supercite.el (sc-default-cite-frame): + Handle sc-nested-citation-p when sc-cite-blank-lines-p is non-nil. + +2011-05-24 Glenn Morris <rgm@gnu.org> + + * progmodes/python.el (brm-menu): Declare. + + * emulation/viper.el (viper-set-hooks): Declare. + + * play/5x5.el (5x5-log-init, 5x5-log): Evaluate when compiling. + (5x5-log-init, 5x5-log, 5x5-solver): Doc fixes. + (math-map-vec, math-sub, math-mul, math-make-intv, math-reduce-vec) + (math-format-number, math-pow, calcFunc-arrange, calcFunc-cvec) + (calcFunc-diag, calcFunc-trn, calcFunc-inv, calcFunc-mrow) + (calcFunc-mcol, calcFunc-vconcat, calcFunc-index): Declare. + +2011-05-24 Stefan Monnier <monnier@iro.umontreal.ca> + + Add an :exit-function for completion-at-point. + + * minibuffer.el (completion--done): New fun. + (completion--do-completion): Use it. New arg `expect-exact'. + (minibuffer-complete, minibuffer-complete-word): Don't output message, + since completion--do-completion does it for us now. + (minibuffer-force-complete): Use completion--done and + completion--replace. Handle sole-completion case with more care. + (minibuffer-complete-and-exit): Use new `expect-exact' arg. + (completion-extra-properties): New var. + (completion-annotate-function): Make obsolete. + (minibuffer-completion-help): Adjust accordingly. + Use completion-list-insert-choice-function. + (completion-at-point, completion-help-at-point): + Bind completion-extra-properties. + (completion-pcm-word-delimiters): Add | (for uniquify, for example). + * simple.el (completion-list-insert-choice-function): New var. + (completion-setup-function): Preserve it. + (choose-completion): Pay attention to it, shuffle the code a bit. + (choose-completion-string): New arg `insert-function'. + + * textmodes/bibtex.el: Convert to lexical binding. + (bibtex-mode-map): Use completion-at-point. + (bibtex-mode): Use define-derived-mode&completion-at-point-functions. + (bibtex-completion-at-point-function): New fun, from bibtex-complete. + (bibtex-complete): Define as obsolete alias. + (bibtex-complete-internal): Remove. + (bibtex-format-entry): Remove unused sub-group in regexp. + * shell.el (shell--command-completion-data) + (shell-environment-variable-completion): + * pcomplete.el (pcomplete-completions-at-point): + * comint.el (comint--complete-file-name-data): Use :exit-function + instead of completion-table-with-terminator so it also works for + choose-completion. + +2011-05-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * <lots-of-files>.el: Don't quote lambda expressions with `quote'. + + * vc/smerge-mode.el (smerge-refine-subst): Don't deactivate the mark + (bug#8710). + + * emacs-lisp/lisp.el (up-list): Fix forward movement (bug#8708). + +2011-05-23 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-inhibit-auto-fill-on-headline): Create new + customization variable and implement: If non-nil, auto-fill will + be inhibited while on topic's header line. + +2011-05-23 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * play/5x5.el: I/ Add an arithmetic solver to suggest positions to + click on. II/ Make 5x5 multisession. III/ Ensure that random grids + always have a solution in grid size = 5 cases. + (5x5-mode-map): Add keybinding to function `5x5-solve-suggest'. + (5x5-solver-output, 5x5-log-buffer): New vars. + (5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking): + Make these variables buffer local to achieve 5x5 multi-session-ness. + (5x5): Set 5x5-grid-size only if SIZE is non-negative. + (5x5-grid-to-vec, 5x5-vec-to-grid, 5x5-log-init, 5x5-log, 5x5-solver) + (5x5-solve-suggest): New funs. + (5x5-randomize): Use 5x5-make-move instead of 5x5-flip-cell to + randomize a grid so that we ensure that there is always a solution. + (5x5-make-random-grid): Allow other movement than flipping. + +2011-05-23 Kevin Ryde <user42@zip.com.au> + + * emacs-lisp/advice.el (ad-read-advised-function): + Use `function-called-at-point' as the default, if it has + advice and passes PREDICATE. + +2011-05-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (byte-compile-function-form): Only call + byte-compile-lambda if it's actually a lambda. + + * emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one): + Fix function quoting. Use backquote better. + +2011-05-22 Yuanle Song <sylecn@gmail.com> + + * nxml/rng-xsd.el (rng-xsd-check-pattern): Use case-sensitive + matching (Bug#8516). + +2011-05-22 Jari Aalto <jari.aalto@cante.net> + + * vc/vc-dir.el (vc-default-dir-printer): Give edited tag a + different face (Bug#8178). + +2011-05-22 Chong Yidong <cyd@stupidchicken.com> + + * vc/diff-mode.el (diff-changed): Don't use terminal specs for + defface (Bug#8144). + +2011-05-22 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for + funcall as well (bug#8712). Warn when performing those conversions. + * emacs-lisp/bytecomp.el (byte-compile-form): Fix error report. + + * progmodes/grep.el (grep-mode): Fix it for good (bug#8684)! + +2011-05-22 Glenn Morris <rgm@gnu.org> + + * files.el (hack-local-variables-prop-line): Small simplifications. + (hack-local-variables, hack-local-variables-prop-line): + If MODE-ONLY, return the mode, rather than just `t'. + +2011-05-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/grep.el (grep-mode): Fix last change (bug#8684). + +2011-05-21 Glenn Morris <rgm@gnu.org> + + * files.el (hack-local-variables-prop-line, hack-local-variables): + If only interested in the mode, don't bother doing the other stuff. + + * image-mode.el (image-after-revert-hook): + Redraw all frames on which the image is visible. (Bug#8567) + + * dired-aux.el (dired-touch-initial): Just use current-time. (Bug#6887) + + * wid-edit.el (widget-checklist-match-inline): + Fix 2011-04-19 change. (Bug#8649) + +2011-05-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine): + Also allow singlespace after single-letter capitals followed by a dot. + + * nxml/nxml-mode.el (nxml-electric-slash): Reindent when completion is + enabled. Suggested by James Ahlborn <jahlborn@gmail.com> (bug#8704). + +2011-05-20 Nix <nix@esperi.org.uk> + + * files.el (basic-save-buffer-2): + Fix handling of break-hardlink-on-save with non-existent files. + +2011-05-19 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-mode): Initialize rcirc-urls to nil. + (rcirc-markup-urls): Check if rcirc-url-regexp is nil. + +2011-05-19 Glenn Morris <rgm@gnu.org> + + * progmodes/f90.el (f90-type-def-re): + Handle "type, bind(c)". (Bug#8691) + + * emacs-lisp/autoload.el (batch-update-autoloads): + Set autoload-excludes by parsing loadup.el rather than Makefiles. + +2011-05-18 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-process-actions): Set "first-password-request" + property for the correct connection in case of multihops. + +2011-05-18 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-fixed-entries): Remove fakemail.c. + * mail/sendmail.el (sendmail-program): Fall back to just "sendmail". + + Rationalize calendar handling of day and month abbrev-arrays. + * calendar/calendar.el (calendar-customized-p): New function. + (calendar-abbrev-construct, calendar-make-alist): Change what it does. + (calendar-day-name-array, calendar-month-name-array): Doc fix. + Add :set function. + (calendar-abbrev-length, calendar-day-abbrev-array) + (calendar-month-abbrev-array): Make defcustoms, with appropriate :set. + (calendar-day-abbrev-array, calendar-month-abbrev-array): + Elements may no longer be nil. + (calendar-day-name, calendar-month-name): + Update for changed nature of abbrev arrays. + * calendar/diary-lib.el (diary-name-pattern): + Update for changed nature of abbrev arrays. + (diary-mark-entries-1): Update calendar-make-alist calls. + (diary-font-lock-date-forms): Doc fix for changed abbrev arrays. + * calendar/cal-html.el (cal-html-day-abbrev-array): + Simply inherit from calendar-day-abbrev-array. + +2011-05-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/grep.el (grep-mode): Disable default + compilation-directory-matcher setting (bug#8684). + +2011-05-17 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-handle-insert-file-contents): Use "dd" + instead of "head" and "tail". There were problems with SunOS 5.9, + and it performs better. + +2011-05-17 Glenn Morris <rgm@gnu.org> + + * mail/mail-utils.el (mail-dont-reply-to): Silence compiler. + + * progmodes/idlw-shell.el (idlwave-shell-complete-filename): + Replace obsolete function. + + * shell.el (pcomplete-parse-arguments-function): Declare. + + * calendar/appt.el (appt-message-warning-time, appt-display-mode-line) + (appt-display-diary, appt-display-interval, appt-prev-comp-time) + (appt-check): Doc fixes. + (appt-disp-window-function, appt-delete-window-function): + Remove needless special case in custom :type. + (appt-display-count): Default to 0, not nil. + (appt-check): Reset appt-display-count to 0, not nil. + +2011-05-17 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/python.el (python-font-lock-keywords): + Add the Python 3.X keyword "nonlocal" (bug#8639). + +2011-05-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/eieio.el (defmethod): Fix quoting of code (bug#8677). + +2011-05-16 Kevin Ryde <user42@zip.com.au> + + * info-look.el (makefile-automake-mode): New setups, looking in + automake manual, then makefile-mode. + (makefile-mode): Remove automake manual, have it just in + makefile-automake-mode since there's various things different or + not relevant to plain make. + (makefile-mode): Remove "other-modes" non-existent automake-mode, + believe a hypothetical automake-mode would go to makefile-mode, + not the other way around. + +2011-05-15 Chong Yidong <cyd@stupidchicken.com> + + * vc/diff-mode.el (diff-fixup-modifs): Locate correct position for + hunk-end tags (Bug#8672). + + * vc/vc-annotate.el (vc-annotate-mode-map): Bind = to + vc-annotate-show-diff-revision-at-line (Bug#8671). + +2011-05-14 Glenn Morris <rgm@gnu.org> + + * vc/add-log.el (add-change-log-entry): Don't start adding a new entry + in the middle of an existing one with multiple authors. (Bug#8645) + (change-log-font-lock-keywords): Also handle multiple author lines + with leading tabs. (Bug#8644) + + * calendar/appt.el (appt-check): Rename some local variables. + Some simplification/reordering. + + * mail/feedmail.el (feedmail-confirm-outgoing-timeout) + (feedmail-sendmail-f-doesnt-sell-me-out) + (feedmail-queue-slug-suspect-regexp, feedmail-debug) + (feedmail-debug-sit-for, feedmail-queue-express-hook) + (feedmail-queue-runner-message-sender): Set :version. + (bbdb-search, bbdb-records, smtp-via-smtp, smtp-server) + (bbdb-dwim-net-address, vm-mail): Declare. + (feedmail-binmail-gnulinuxish-template): + Rename from feedmail-binmail-linuxish-template. + (feedmail-buffer-to-smtp, feedmail-vm-mail-mode): + Use insert-buffer-substring. + +2011-05-14 Bill Carpenter <bill@carpenter.org> + + * mail/feedmail.el (feedmail-patch-level): Increase. + (feedmail-debug): New custom group. + (feedmail-confirm-outgoing-timeout) + (feedmail-sendmail-f-doesnt-sell-me-out) + (feedmail-queue-slug-suspect-regexp, feedmail-debug) + (feedmail-debug-sit-for, feedmail-queue-express-hook): New options. + (feedmail-sender-line, feedmail-from-line) + (feedmail-fiddle-headers-upwardly, feedmail-enable-spray) + (feedmail-spray-this-address) + (feedmail-spray-address-fiddle-plex-list) + (feedmail-queue-use-send-time-for-date) + (feedmail-queue-use-send-time-for-message-id) + (feedmail-last-chance-hook, feedmail-queue-runner-mode-setter) + (feedmail-buffer-eating-function): + Doc fixes. + (feedmail-spray-via-bbdb, feedmail-buffer-to-smtp) + (feedmail-vm-mail-mode, feedmail-message-action-scroll-up) + (feedmail-message-action-scroll-down): New functions. + (feedmail-queue-directory, feedmail-queue-draft-directory): + Use expand-file-name. + (feedmail-prompt-before-queue-standard-alist): Add scroll entries. + Remove C-v help entry. + (feedmail-queue-buffer-file-name): New variable. + (feedmail-mail-send-hook-splitter, feedmail-buffer-to-binmail) + (feedmail-buffer-to-smtpmail, feedmail-queue-express-to-draft) + (feedmail-message-action-send-strong, feedmail-message-action-edit) + (feedmail-message-action-draft, feedmail-message-action-draft-strong) + (feedmail-message-action-queue, feedmail-message-action-queue-strong) + (feedmail-message-action-toggle-spray) + (feedmail-run-the-queue-no-prompts) + (feedmail-run-the-queue-global-prompt, feedmail-queue-reminder) + (feedmail-look-at-queue-directory, feedmail-queue-subject-slug-maker) + (feedmail-create-queue-filename, feedmail-rfc822-time-zone): + (feedmail-fiddle-header, feedmail-give-it-to-buffer-eater) + (feedmail-envelope-deducer, feedmail-fiddle-from) + (feedmail-fiddle-sender, feedmail-default-date-generator) + (feedmail-fiddle-date, feedmail-fiddle-message-id) + (feedmail-fiddle-spray-address) + (feedmail-fiddle-list-of-spray-fiddle-plexes) + (feedmail-fiddle-list-of-fiddle-plexes) + (feedmail-fill-to-cc-function, feedmail-fill-this-one) + (feedmail-one-last-look, feedmail-fqm-p): Add debug calls. + (feedmail-queue-runner-message-sender, feedmail-binmail-template): + Change default. Doc fix. + (feedmail-queue-runner-cleaner-upper): Use feedmail-say-chatter. + (feedmail-binmail-linuxish-template): New constant. + (feedmail-buffer-to-sendmail): Doc fix. Add debug call. + Respect feedmail-sendmail-f-doesnt-sell-me-out. + (feedmail-send-it): Add debug call. + Use feedmail-queue-buffer-file-name, and + feedmail-send-it-immediately-wrapper. + (feedmail-message-action-send): Add debug call. + Use feedmail-send-it-immediately-wrapper. + (feedmail-queue-express-to-queue): Add debug call. + Run feedmail-queue-express-hook. + (feedmail-message-action-help): Add debug call. Use feedmail-p-h-b-n. + (feedmail-message-action-help-blat): + Rename from feedmail-queue-send-edit-prompt-help-first. + (feedmail-run-the-queue): Add debug call. Set buffer-file-type. + Check line-endings. Handle errors better. + (feedmail-queue-reminder-brief, feedmail-queue-reminder-medium): + Doc fix. Add debug call. + (feedmail-queue-send-edit-prompt): Doc fix. Add debug call. + Use feedmail-queue-send-edit-prompt-inner. + (feedmail-queue-runner-prompt, feedmail-scroll-buffer): New functions. + (feedmail-queue-send-edit-prompt-inner): New function, extracted + from feedmail-queue-send-edit-prompt. + (feedmail-queue-send-edit-prompt-help) + (feedmail-queue-send-edit-prompt-help-later): Remove functions. + (feedmail-tidy-up-slug): Add debug call. + Respect feedmail-queue-slug-suspect-regexp. + (feedmail-queue-subject-slug-maker): Use buffer-substring-no-properties. + (feedmail-dump-message-to-queue): Add debug call. + Expand queue-directory. + (feedmail-dump-message-to-queue): Change message slightly. + Use feedmail-say-chatter. + (feedmail-rfc822-date): Add debug call. Bind system-time-locale. + (feedmail-send-it-immediately-wrapper): New function. + (feedmail-send-it-immediately): Add debug calls. Use let not let*. + Insert empty string rather than newline. Handle full-frame case. + Use catch/throw. Use feedmail-say-chatter. + (feedmail-fiddle-from): Try mail-host-address. + (feedmail-default-message-id-generator): Doc fix. + Bind system-time-locale. Handle missing end. + (feedmail-fiddle-x-mailer): Add debug call. + Handle feedmail-x-mailer-line being nil. + (feedmail-accume-n-nuke-header, feedmail-deduce-address-list): + Add debug call. Use buffer-substring-no-properties. + (feedmail-say-debug, feedmail-say-chatter): New functions. + (feedmail-find-eoh): Give an explicit error. + +2011-05-13 Ulf Jasper <ulf.jasper@web.de> + + * net/newst-treeview.el (newsticker-treeview-face): Change default + family from helvetica to sans. + (newsticker-treeview-tool-bar-map): Move tool-bar icons to + etc/images/newsticker. + + * net/newst-reader.el (newsticker-feed-face): Change default + family from helvetica to sans. + + * net/newst-plainview.el (newsticker-new-item-face) + (newsticker-old-item-face, newsticker-immortal-item-face) + (newsticker-obsolete-item-face, newsticker-date-face) + (newsticker-statistics-face): Change default family from + helvetica to sans. + (newsticker--plainview-tool-bar-map): Move tool-bar icons to + etc/images/newsticker. + + * net/newst-backend.el (newsticker--do-run-auto-mark-filter) + (newsticker--process-auto-mark-filter-match): Tell user about + auto-marking. + +2011-05-13 Didier Verna <didier@xemacs.org> + + Common Lisp indentation improvements on defmethod and lambda-lists. + * emacs-lisp/cl-indent.el: Advertise the changes and remove obsolete + TODO entries. + (lisp-lambda-list-keyword-parameter-indentation) + (lisp-lambda-list-keyword-parameter-alignment) + (lisp-lambda-list-keyword-alignment): New customizable user options. + (lisp-indent-defun-method): Improve docstring. + (extended-loop-p): Fix comment. + (lisp-indent-lambda-list-keywords-regexp): New variable. + (lisp-indent-lambda-list): New function. + (lisp-indent-259): Use it. + (lisp-indent-defmethod): Support for more than one + method qualifier and properly indent methods lambda-lists. + (defgeneric): Provide a missing common-lisp-indent-function property. + +2011-05-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * thingatpt.el (bounds-of-thing-at-point): Return nil rather than + bounds for the empty string (bug#8667). + +2011-05-13 Glenn Morris <rgm@gnu.org> + + * mail/feedmail.el (feedmail-buffer-to-sendmail): Require sendmail. + + * mail/sendmail.el (sendmail-program): Try executable-find first. + (sendmail-send-it): `sendmail-program' cannot be unbound. + + * calendar/appt.el (appt-make-list): Simplify. + (appt-time-msg-list): Doc fix. + (appt-check): Change mode-line message at the time of the appointment. + +2011-05-12 Andreas Schwab <schwab@linux-m68k.org> + + * progmodes/ld-script.el (ld-script-keywords) + (ld-script-builtins): Update keywords list. + +2011-05-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/grep.el (grep-filter): Don't trip on partial lines. + + * shell.el (shell-completion-vars): New function. + (shell-mode): + * simple.el (read-shell-command): Use it. + (blink-matching-open): No need for " [...]" in minibuffer-message. + +2011-05-12 Glenn Morris <rgm@gnu.org> + + * calendar/appt.el (appt-now-displayed): Remove pointless variable. + (appt-check): Simplify. + +2011-05-12 Eli Zaretskii <eliz@gnu.org> + + * vc/smerge-mode.el (smerge-resolve): Use null-device rather than a + literal "/dev/null". + +2011-05-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/lisp.el (lisp-complete-symbol, lisp-completion-at-point): + Fix typo. + +2011-05-12 Ralph Schleicher <rs@ralph-schleicher.de> + + * progmodes/which-func.el (which-function): + Use add-log-current-defun instead of add-log-current-defun-function, + which might not be defined (Bug#8260). + +2011-05-12 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble): + Let byte-compile-initial-macro-environment always take precedence. + +2011-05-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * net/rcirc.el: Add support for SSL/TLS connections. + (rcirc-server-alist): New field `encryption'. + (rcirc): Check `encryption' settings. + (rcirc-connect): New arg `encryption'. Use open-network-stream. + Merge make-local-variable into `set'. + (rcirc--connection-open-p): New function. + (rcirc-send-string, rcirc-clean-up-buffer): Use it to handle case where + the process is not a network process (e.g. running gnutls-cli). + (set-rcirc-decode-coding-system, set-rcirc-encode-coding-system): + Make rcirc-(en|de)code-coding-system local here. + (rcirc-mode): Merge make-local-variable into `set'. + (rcirc-parent-buffer): Make permanent buffer-local. + (rcirc-multiline-minor-mode): Don't do it here. + (rcirc-switch-to-server-buffer): Don't switch to a random buffer if + there's no server buffer. + +2011-05-11 Glenn Morris <rgm@gnu.org> + + * newcomment.el (comment-kill): Prefix "unused" local. + + * term/w32console.el (get-screen-color): Declare. + + * emacs-lisp/bytecomp.el (byte-compile-arglist-warn): + Handle symbol elements of byte-compile-initial-macro-environment. + +2011-05-10 Leo Liu <sdl.web@gmail.com> + + * bookmark.el (bookmark-bmenu-mode-map): + Bind bookmark-bmenu-search to `/'. + + * mail/footnote.el: Convert to utf-8 encoding. + (footnote-unicode-string, footnote-unicode-regexp): New variable. + (Footnote-unicode): New function. + (footnote-style-alist): Add unicode style to the list. + (footnote-style): Doc fix. + +2011-05-10 Jim Meyering <meyering@redhat.com> + + Fix doubled-word typos. + * international/quail.el (quail-insert-kbd-layout): and and -> and. + * kermit.el: and and -> and. + * net/ldap.el (ldap-search-internal): to to -> to. + * progmodes/vhdl-mode.el (vhdl-offsets-alist): Likewise. + * progmodes/js.el (js-mode): and and -> and. + * textmodes/artist.el (artist-move-to-xy): at at -> at. + (artist-draw-region-trim-line-endings): if if -> if. + And Safetyc -> Safety. + * textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a. + +2011-05-10 Glenn Morris <rgm@gnu.org> + Stefan Monnier <monnier@iro.umontreal.ca> + + * files.el (hack-one-local-variable-eval-safep): + Consider "eval: (foo-mode)" to be safe. (Bug#8613) + +2011-05-10 Glenn Morris <rgm@gnu.org> + + * calendar/diary-lib.el (diary-list-entries-hook) + (diary-mark-entries-hook, diary-nongregorian-listing-hook) + (diary-nongregorian-marking-hook, diary-list-entries) + (diary-include-other-diary-files, diary-mark-entries) + (diary-mark-included-diary-files): Doc fixes. + +2011-05-09 Juanma Barranquero <lekktu@gmail.com> + + * misc.el: Require tabulated-list.el during compilation. + +2011-05-09 Chong Yidong <cyd@stupidchicken.com> + + * progmodes/compile.el (compilation-start): + Run compilation-filter-hook for the async case too. + (compilation-filter-hook): Doc fix. + +2011-05-09 Deniz Dogan <deniz@dogan.se> + + * wdired.el: Remove outdated installation comment. Fix usage + comment. + +2011-05-09 Juanma Barranquero <lekktu@gmail.com> + + * misc.el: Implement new command `list-dynamic-libraries'. + (list-dynamic-libraries--loaded-only-p): New variable. + (list-dynamic-libraries--refresh): New function. + (list-dynamic-libraries): New command. + +2011-05-09 Chong Yidong <cyd@stupidchicken.com> + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fix the ant regexp to handle end-line and end-column info from jikes. + Re-introduce maven regexp. Give the ruby-Test::Unit regexp a + higher priority to avoid clobbering by gnu. + +2011-05-08 Chong Yidong <cyd@stupidchicken.com> + + * cus-face.el (custom-declare-face): Call custom-theme-recalc-face + if the face has existing theme settings (Bug#8454). + +2011-05-08 Ralph Schleicher <rs@ralph-schleicher.de> + + * progmodes/perl-mode.el (perl-imenu-generic-expression): + Only match variables declared via `my' or `our' (Bug#8261). + + * net/browse-url.el (browse-url-of-dired-file): Allow browsing of + special file names `.' and `..' (Bug#8259). + +2011-05-08 Chong Yidong <cyd@stupidchicken.com> + + * progmodes/grep.el (grep-mode-font-lock-keywords): + Remove buffer-changing entries. + (grep-filter): New function. + (grep-mode): Add it to compilation-filter-hook. + + * progmodes/compile.el (compilation-filter-hook) + (compilation-filter-start): New defvars. + (compilation-filter): Call compilation-filter-hook prior to + updating the process mark. + +2011-05-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/eieio.el (defmethod): Fix typo in last change. + +2011-05-07 Eli Zaretskii <eliz@gnu.org> + + * mail/sendmail.el (send-mail-function): On MS-Windows, default to + mailclient-send-it even if window-system is nil. (Bug#8595) + + * term/w32console.el (terminal-init-w32console): + Call get-screen-color and use its output to set the frame + background-mode. (Bug#8597) + +2011-05-07 Stefan Monnier <monnier@iro.umontreal.ca> + + Make bytecomp.el understand that defmethod defines funs (bug#8631). + * emacs-lisp/eieio.el (eieio--defalias, eieio--defgeneric-init-form): + New functions. + (defgeneric, eieio--defmethod): Use them. + (eieio-defgeneric): Remove. + (defmethod): Call defgeneric in a way visible to the byte-compiler. + +2011-05-07 Glenn Morris <rgm@gnu.org> + + * calendar/timeclock.el (timeclock-log-data): Remove unused local. + Use let rather than let*. + (timeclock-find-discrep): Remove unused local. + + * calendar/diary-lib.el (diary-comment-start): Doc fix. + + * calendar/appt.el (appt-time-msg-list): Doc fix. + +2011-05-06 Noah Friedman <friedman@splode.com> + + * apropos.el (apropos-print-doc): Only use + emacs-lisp-docstring-fill-column when it is bound to an integer, + per that variable's documentation. + +2011-05-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * lpr.el (print-region-1): Echo lpr-program's output, so error messages + and warnings are not silently discarded (e.g. use -d instead of -P). + +2011-05-06 Glenn Morris <rgm@gnu.org> + + * calendar/appt.el (appt-message-warning-time): Doc fix. + (appt-warning-time-regexp): New option. + (appt-make-list): Respect appt-message-warning-time. + + * calendar/diary-lib.el (diary-comment-start, diary-comment-end): + New options. + (diary-add-to-list): Strip comments from the displayed string. + (diary-mode): Set comment-start and comment-end. + + * vc/diff-mode.el (smerge-refine-subst): Declare. + (diff-refine-hunk): Don't require smerge-mode when compiling. + +2011-05-06 Juanma Barranquero <lekktu@gmail.com> + + * simple.el (list-processes): Return nil as the docstring says. + +2011-05-05 Michael Albinus <michael.albinus@gmx.de> + + * net/ange-ftp.el (ange-ftp-binary-file-name-regexp): Set default + to "". + (ange-ftp-write-region, ange-ftp-insert-file-contents) + (ange-ftp-copy-file-internal): Use only `ange-ftp-binary-file' for + determining of binary transfer. (Bug#7383) + +2011-05-05 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Fix port computation bug. (Bug#8618) + +2011-05-05 Glenn Morris <rgm@gnu.org> + + * allout-widgets.el (allout-widgets-mode-inhibit): Declare before use. + + * simple.el (shell-dynamic-complete-functions) + (comint-dynamic-complete-functions): Declare. + + * net/network-stream.el (gnutls-negotiate): + * simple.el (tabulated-list-print): Fix declarations. + + * progmodes/gud.el (syntax-symbol, syntax-point): + Remove unnecessary and incorrect declarations. + + * emacs-lisp/check-declare.el (check-declare-scan): + Handle byte-compile-initial-macro-environment in bytecomp.el. + +2011-05-05 Stefan Monnier <monnier@iro.umontreal.ca> + + Fix earlier half-done eieio-defmethod change (bug#8338). + * emacs-lisp/eieio.el (eieio--defmethod): Rename from eieio-defmethod. + Streamline and change calling convention. + (defmethod): Adjust accordingly and simplify. + (eieio-defclass): Fix broken calls to eieio-defmethod and redirect to + new eieio--defmethod. + (slot-boundp): Minor CSE simplification. + +2011-05-05 Milan Zamazal <pdm@zamazal.org> + + * progmodes/glasses.el (glasses-separate-capital-groups): New option. + (glasses-make-readable): Use glasses-separate-capital-groups. + +2011-05-05 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/warnings.el (warning-level-aliases): Reflow docstring. + (warning-series): Doc fix. + (display-warning): Don't try to create the buffer if we just found it. + +2011-05-04 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/autoload.el (generated-autoload-file): Set to nil. + (autoload-find-generated-file): New function. + (generate-file-autoloads): Bind generated-autoload-file to + buffer-file-name. + (update-file-autoloads, update-directory-autoloads): + Use autoload-find-generated-file. If called interactively, prompt for + output file (Bug#7989). + (batch-update-autoloads): Doc fix. + +2011-05-04 Juanma Barranquero <lekktu@gmail.com> + + * term/w32-win.el (dynamic-library-alist): Add `gnutls'. + +2011-05-04 Glenn Morris <rgm@gnu.org> + + * calendar/diary-lib.el (diary-fancy-date-pattern): Turn it into a + function, so it follows changes in calendar-date-style. + (diary-fancy-date-matcher): New function. + (diary-fancy-font-lock-keywords): Use diary-fancy-date-matcher. + (diary-fancy-font-lock-fontify-region-function): + Use diary-fancy-date-pattern as a function. + + * calendar/diary-lib.el (diary-fancy-date-pattern): Do not use + non-numbers for `year' etc pseudo-variables. (Bug#8583) + +2011-05-04 Teodor Zlatanov <tzz@lifelogs.com> + + * net/gnutls.el (gnutls-negotiate): Use CL-style keyword arguments + instead of positional arguments. Allow :keylist and :crlfiles + arguments. + (open-gnutls-stream): Call it. + + * net/network-stream.el (network-stream-open-starttls): Adjust to + call `gnutls-negotiate' with :process and :hostname arguments. + +2011-05-04 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--message): New function. + (completion--do-completion, minibuffer-complete) + (minibuffer-force-complete, minibuffer-complete-word): Use it. + (completion--do-completion): Don't ignore completion-auto-help when in + icomplete-mode. + + * whitespace.el (whitespace-trailing-regexp): Don't rely on the + internal encoding (e.g. tibetan zero is not whitespace). + (global-whitespace-mode): Prefer save-current-buffer. + (whitespace-trailing-regexp): Remove useless save-match-data. + (whitespace-empty-at-bob-regexp): Minor simplification. + +2011-05-03 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/autoload.el (generated-autoload-file): Doc fix (Bug#7989). + +2011-05-03 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es> + + * textmodes/ispell.el (ispell-add-per-file-word-list): + Use `concat' to create string for insertion. + +2011-05-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * textmodes/bibtex.el (bibtex-fill-field-bounds, bibtex-fill-entry): + Avoid open-line which runs post-self-insert-hook. + (bibtex-fill-entry): Remove unused `end' var. + +2011-05-03 Dirk Ullrich <dirk.ullrich@googlemail.com> (tiny change) + + * textmodes/ispell.el (ispell-add-per-file-word-list): + Protect against `nil' value of `comment-start' (Bug#8579). + +2011-05-03 Leo Liu <sdl.web@gmail.com> + + * isearch.el (isearch-yank-pop): New command. + (isearch-mode-map): Bind it to `M-y'. + (isearch-forward): Mention it. + +2011-05-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * simple.el (minibuffer-complete-shell-command): Remove. + (minibuffer-local-shell-command-map): Use completion-at-point. + (read-shell-command): Setup completion vars here instead. + (read-expression-map): Bind TAB to symbol completion. + + * textmodes/ispell.el (lookup-words): Use with-temp-buffer; signal + error directly rather via storing it into `results'. + +2011-05-02 Leo Liu <sdl.web@gmail.com> + + * vc/diff.el: Fix description. + +2011-05-02 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * server.el (server-eval-at): New function. + +2011-05-01 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/network-stream.el (open-network-stream): Take a :nowait + parameter and pass it on to `make-network-process'. + (network-stream-open-plain): Ditto. + +2011-04-30 Andreas Schwab <schwab@linux-m68k.org> + + * faces.el (face-spec-set-match-display): Don't match toolkit + options on terminal frames. + +2011-04-29 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/pascal.el: Use lexical binding. + (pascal-mode-map): Remove author preferences. + + * pcomplete.el (pcomplete-std-complete): Don't abuse + completion-at-point. + +2011-04-28 Juanma Barranquero <lekktu@gmail.com> + + * calc/calccomp.el (math-comp-to-string-flat-term): Simplify by + removing code that has been dead since 1991 or so. + + * startup.el (command-line): When warning about "_emacs", use a + delayed warning to allow the user to filter it out. + +2011-04-28 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el (rcirc-handler-353): Fix bug for channels which the + user has not joined. + +2011-04-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcomplete.el (pcomplete-completions-at-point): Return nil if there + aren't any completions at point. + +2011-04-28 Juanma Barranquero <lekktu@gmail.com> + + * subr.el (display-delayed-warnings): New function. + (delayed-warnings-hook): New variable. + +2011-04-28 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-at-point, completion-help-at-point): + Don't presume that a given completion-at-point-function will always + use the same calling convention. + + * pcomplete.el (pcomplete-completions-at-point): + Obey pcomplete-ignore-case. Don't call pcomplete-norm-func unless + pcomplete-seen is non-nil. + (pcomplete-comint-setup): Also recognize the new comint/shell + completion functions. + (pcomplete-do-complete): Don't call pcomplete-norm-func unless + pcomplete-seen is non-nil. + +2011-04-27 Niels Giesen <niels.giesen@gmail.com> + + * calendar/icalendar.el (diary-lib): Add require statement. + (icalendar--create-uid): Read out a uid from a text-property on + the first character in the entry. This allows for code to add its + own uid to the entry. + (icalendar--convert-float-to-ical): Add export of + `diary-float'-entries save for those with the optional DAY + argument. + +2011-04-27 Daniel Colascione <dan.colascione@gmail.com> + + * subr.el (shell-quote-argument): Use alternate escaping strategy + when we spot a variable reference in a string. + +2011-04-26 Daniel Colascione <dan.colascione@gmail.com> + + * cus-start.el (all): Define customization for debug-on-event. + +2011-04-26 Daniel Colascione <dan.colascione@gmail.com> + + * subr.el (shell-quote-argument): Escape correctly under Windows. + +2011-04-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * emulation/cua-base.el (cua-selection-mode): Make it toggle again. + +2011-04-25 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-process-actions): Add POS argument. + Delete region between POS and (pos). + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Use `nil' position in `tramp-process-actions' call. + (tramp-maybe-open-connection): Call `tramp-process-actions' with pos. + + * net/tramp-smb.el (tramp-smb-maybe-open-connection): Use `nil' + position in `tramp-process-actions' call. + + * net/trampver.el: Update release number. + +2011-04-25 Stefan Monnier <monnier@iro.umontreal.ca> + + * custom.el (defcustom): Obey lexical-binding. + + Fix octave-inf completion problems reported by Alexander Klimov. + * progmodes/octave-inf.el (inferior-octave-mode-syntax-table): + Inherit from octave-mode-syntax-table. + (inferior-octave-mode): Set info-lookup-mode. + (inferior-octave-completion-at-point): New function. + (inferior-octave-complete): Use it and completion-in-region. + (inferior-octave-dynamic-complete-functions): Use it as well, and use + comint-filename-completion. + * progmodes/octave-mod.el (octave-mode-syntax-table): Use _ syntax for + symbol elements which shouldn't be word elements. + (octave-font-lock-keywords, octave-beginning-of-defun) + (octave-function-header-regexp): Adjust regexps accordingly. + (octave-mode-map): Also use info-lookup-symbol for C-c C-h. + +2011-04-25 Juanma Barranquero <lekktu@gmail.com> + + * net/gnutls.el (gnutls-errorp): Declare before first use. + +2011-04-24 Teodor Zlatanov <tzz@lifelogs.com> + + * net/gnutls.el (gnutls-negotiate): Add hostname, verify-flags, + verify-error, and verify-hostname-error parameters. Check whether + default trustfile exists before going to use it. Add missing + argument to gnutls-message-maybe call. Return value. + Reported by Claudio Bley <claudio.bley@gmail.com>. + (open-gnutls-stream): Add usage example. + + * net/network-stream.el (network-stream-open-starttls): Give host + parameter to `gnutls-negotiate'. + (gnutls-negotiate): Adjust `gnutls-negotiate' declaration. + * subr.el (shell-quote-argument): Escape correctly under Windows. + +2011-04-24 Daniel Colascione <dan.colascione@gmail.com> + + * progmodes/cc-engine.el (c-forward-decl-or-cast-1): + Use correct match group (bug#8438). + +2011-04-24 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/package.el (package-built-in-p): Fix typo. + (package-menu--generate): New arg specifying packages to show. + (package-menu-refresh, package-menu-execute, list-packages): + Callers changed. + (package-show-package-list): New function, replacing deleted + package--list-packages (renamed because it is non-internal). + + * finder.el (finder-list-matches): Use package-show-package-list + instead of deleted package--list-packages. + + * vc/vc-annotate.el (vc-annotate-goto-line): New command. + Based on a previous implementation by Juanma Barranquero (Bug#8366). + (vc-annotate-mode-map): Bind it to RET. + +2011-04-24 Uday S Reddy <u.s.reddy@cs.bham.ac.uk> (tiny change) + + * progmodes/etags.el (next-file): Don't use set-buffer to change + buffers (Bug#8478). + +2011-04-24 Chong Yidong <cyd@stupidchicken.com> + + * files.el (auto-mode-alist): Use js-mode for .json (Bug#8529). + + * apropos.el (apropos-label-face): Avoid variable-pitch face. + (apropos-accumulator): Doc fix. + (apropos-function, apropos-macro, apropos-command) + (apropos-variable, apropos-face, apropos-group, apropos-widget) + (apropos-plist): Add face property. + (apropos-symbols-internal): Fix indentation. + (apropos-print): Simplify help, and recognize apropos-multi-type. + (apropos-print-doc): Use button-type-get to extract the button's + face property. Fill docstring (Bug#8352). + +2011-04-23 Juanma Barranquero <lekktu@gmail.com> + + * buff-menu.el (Buffer-menu--buffers): Fix typo in docstring (bug#8535). + + * play/mpuz.el (mpuz-silent): Doc fix. + (mpuz-mode-map): Use mapc. + (mpuz-put-number-on-board): Rename parameter L to COLUMNS. + (mpuz-letter-to-digit, mpuz-check-all-solved, mpuz-create-buffer): + Fix typos in docstrings. + + * play/doctor.el (doc$, doctor-$, doctor-read-print, doctor-read-token) + (doctor-nounp, doctor-pronounp): Fix typos in docstrings. + + * mouse-drag.el (mouse-drag-throw): Fix typo in docstring. + +2011-04-23 Chong Yidong <cyd@stupidchicken.com> + + * minibuffer.el (completion--do-completion): Avoid the "Next char + not unique" prompt if icomplete-mode is enabled (Bug#5849). + + * mouse.el (mouse-drag-mode-line-1): Make sure that if we push + mouse-2 into unread-command-events, it is interpreted correctly. + + * image-mode.el (image-type, image-mode-map, image-minor-mode-map) + (image-toggle-display): Doc fix. + +2011-04-23 Stephen Berman <stephen.berman@gmx.net> + + * textmodes/page.el (what-page): Use line-number-at-pos to + calculate line number (Bug#6825). + +2011-04-22 Juanma Barranquero <lekktu@gmail.com> + + * eshell/esh-mode.el (find-tag-interactive): Declare function. + (eshell-find-tag): Remove `with-no-warnings', unneeded now. + Pass argument NO-DEFAULT to `find-tag-interactive'. + +2011-04-22 Juanma Barranquero <lekktu@gmail.com> + + Lexical-binding cleanup. + + * progmodes/ada-mode.el (ada-after-change-function, ada-loose-case-word) + (ada-no-auto-case, ada-capitalize-word, ada-untab, ada-narrow-to-defun): + * progmodes/ada-prj.el (ada-prj-initialize-values) + (ada-prj-display-page, ada-prj-field-modified, ada-prj-display-help) + (ada-prj-show-value): + * progmodes/ada-xref.el (ada-find-any-references, ada-gdb-application): + * progmodes/antlr-mode.el (antlr-with-displaying-help-buffer) + (antlr-invalidate-context-cache, antlr-options-menu-filter) + (antlr-language-option-extra, antlr-c++-mode-extra, antlr-run-tool): + * progmodes/bug-reference.el (bug-reference-push-button): + * progmodes/fortran.el (fortran-line-length): + * progmodes/glasses.el (glasses-change): + * progmodes/octave-mod.el (octave-fill-paragraph): + * progmodes/python.el (python-mode, python-pdbtrack-track-stack-file) + (python-pdbtrack-grub-for-buffer, python-sentinel): + * progmodes/sql.el (sql-save-connection): + * progmodes/tcl.el (tcl-indent-command, tcl-popup-menu): + * progmodes/xscheme.el (xscheme-enter-debugger-mode): + Mark unused parameters. + + * progmodes/compile.el (compilation--flush-directory-cache) + (compilation--flush-parse, compile-internal): Mark unused parameters. + (compilation-buffer-name): Rename parameter MODE-NAME to NAME-OF-MODE. + (compilation-next-error-function): Remove unused variable `timestamp'. + + * progmodes/cpp.el (cpp-parse-close): Remove unused variable `begin'. + (cpp-signal-read-only, cpp-grow-overlay): Mark unused parameters. + + * progmodes/dcl-mode.el (dcl-end-of-command): + Remove unused variable `start'. + (dcl-calc-command-indent-multiple, dcl-calc-cont-indent-relative) + (dcl-option-value-basic, dcl-option-value-offset) + (dcl-option-value-margin-offset, dcl-option-value-comment-line): + Mark unused parameters. + (dcl-save-local-variable): Remove unused variable `val'. + (mode): Declare. + + * progmodes/delphi.el (delphi-save-state, delphi-after-change): + Mark unused parameters. + (delphi-ignore-changes): Move before first use. + (delphi-charset-token-at): Remove unused variable `start'. + (delphi-else-start): Remove unused variable `if-count'. + (delphi-comment-block-start, delphi-comment-block-end): + Remove unused variable `kind'. + (delphi-indent-line): Remove unused variable `new-point'. + + * progmodes/ebrowse.el (ebrowse-files-list) + (ebrowse-list-of-matching-members, ebrowse-tags-list-members-in-file): + Mark unused parameters. Don't quote `lambda'. + (ebrowse-sort-tree-list, ebrowse-same-tree-member-buffer-list): + Don't quote `lambda'. + (ebrowse-revert-tree-buffer-from-file, ebrowse-tags-choose-class) + (ebrowse-goto-visible-member/all-member-lists): Mark unused parameters. + (ebrowse-create-tree-buffer): Rename parameter OBARRAY to CLASSES. + (ebrowse-toggle-mark-at-point): Remove unused variable `pnt'. + Use `ignore-errors'. + (ebrowse-frozen-tree-buffer-name, ebrowse-find-source-file) + (ebrowse-view/find-file-and-search-pattern) + (ebrowse-view/find-member-declaration/definition): + Rename parameter TAGS-FILE-NAME to TAGS-FILE. + (ebrowse-find-class-declaration, ebrowse-view-class-declaration): + Rename parameter PREFIX-ARG to PREFIX. + (ebrowse-tags-read-name): Remove unused variables `start' and + `member-info'. + (ebrowse-display-member-buffer): Rename variable `tags-file-name' + to `tags-file'. + + * progmodes/etags.el (local-find-tag-hook): Declare. + (tag-partial-file-name-match-p, tag-any-match-p, list-tags): + Mark unused parameters. + + * progmodes/executable.el (compilation-error-regexp-alist): Declare. + (executable-interpret): Mark unused parameter. + + * progmodes/flymake.el (flymake-process-sentinel) + (flymake-after-change-function) + (flymake-create-temp-with-folder-structure) + (flymake-get-include-dirs-dot): Mark unused parameters. + (flymake-safe-delete-directory): Remove unused variable `err'. + + * progmodes/gdb-mi.el (speedbar-change-initial-expansion-list) + (speedbar-timer-fn, speedbar-line-text) + (speedbar-change-expand-button-char, speedbar-delete-subblock) + (speedbar-center-buffer-smartly): Declare functions. + (gdb-find-watch-expression): Remove unused variable `array'. + (gdb-edit-value, gdb-gdb, gdb-ignored-notification, gdb-thread-created) + (gdb-starting): Mark unused parameters. + (gud-gdbmi-marker-filter): Remove unused variable `output-record'. + (gdb-table-string): Remove unused variable `res'. + (gdb-place-breakpoints): Remove unused variables `flag' and `bptno'. + (gdb-disassembly-handler-custom): Remove unused variable `pos'. + (gdb-display-buffer): Remove unused variable `cur-size'. + + * progmodes/gud.el (gud-def): Use `defalias' instead of `defun' to + allow lexical-binding compilation. + (gud-expansion-speedbar-buttons, gud-gdb-goto-stackframe) + (gud-dbx-massage-args, gud-xdb-massage-args, gud-perldb-massage-args) + (gud-jdb-massage-args, gud-jdb-find-source, gud-find-class): + Mark unused parameters. + (gud-gdb-marker-filter): Remove unused variable `match'. + (gud-find-class): Bind `syntax-symbol' and `syntax-point' to suitable + lambda expressions and funcall them, instead of using `fset'. + + * progmodes/hideif.el (hif-parse-if-exp): Rename parameter + HIF-TOKEN-LIST to TOKEN-LIST and let-bind `hif-token-list'. + + * progmodes/hideshow.el (hs-hide-block-at-point): Remove unused + variable `header-beg'; use `let'. + + * progmodes/icon.el (indent-icon-exp): Remove unused variables + `restart', `last-sexp' and `at-do'. + + * progmodes/js.el (js--debug): Mark unused parameter. + (js--parse-state-at-point): Remove unused variable `bound'; use `let'. + (js--splice-into-items): Remove unused variable `item'. + (js--read-symbol, js--read-tab): Pass 1/-1 to `ido-mode', not t/nil. + + * progmodes/make-mode.el (makefile-make-font-lock-keywords): + Rename parameter FONT-LOCK-KEYWORDS to FL-KEYWORDS. + (makefile-complete): Remove unused variable `try'. + (makefile-fill-paragraph, makefile-match-function-end): + Mark unused parameters. + + * progmodes/octave-inf.el (inferior-octave-complete): + Remove unused variable `proc'. + (inferior-octave-output-digest): Mark unused parameter. + + * progmodes/perl-mode.el (perl-calculate-indent): + Remove unused variable `err'. + + * progmodes/prolog.el (prolog-mode-keybindings-inferior) + (prolog-indent-line): Mark unused parameters. + (prolog-indent-line): Remove unused variable `beg'. + + * progmodes/ps-mode.el (reporter-prompt-for-summary-p) + (reporter-dont-compact-list): Declare. + + * progmodes/sh-script.el (sh-font-lock-quoted-subshell): + Remove unused variable `char'. + (sh-debug): Mark unused parameter. + (sh-get-indent-info): Remove unused variable `start'. + (sh-calculate-indent): Remove unused variable `var'. + + * progmodes/simula.el (simula-popup-menu): Mark unused parameter. + (simula-electric-keyword): Remove unused variable `null'. + (simula-search-backward, simula-search-forward): Remove unused + variables `begin' and `end'. + + * progmodes/vera-mode.el (vera-guess-basic-syntax): + Remove unused variable `pos'. + (vera-electric-tab, vera-comment-uncomment-region): + Mark unused parameters. + (vera-electric-tab): Rename parameter PREFIX-ARG to PREFIX. + +2011-04-22 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/package.el (package--builtins, package-alist) + (package-load-descriptor, package-built-in-p, package-activate) + (define-package, package-installed-p) + (package-compute-transaction, package-buffer-info) + (package--push): Doc fix. Distinguish more clearly between + version strings and version lists. + +2011-04-21 Juanma Barranquero <lekktu@gmail.com> + + Lexical-binding cleanup. + + * play/5x5.el (5x5-make-random-solution, 5x5-make-mutate-current) + (5x5-make-mutate-best): + * play/fortune.el (fortune-in-buffer): + * play/gomoku.el (gomoku-init-display): + * play/solitaire.el (solitaire, solitaire-do-check): + * play/tetris.el (tetris-default-update-speed-function): + Mark unused parameters. + + * play/bubbles.el (bubbles-mode): Set `show-trailing-whitespace'. + (bubbles--shift): Remove unused variable `char-org'. + (bubbles--set-faces): Remove unused variable `fg-col'. Simplify. + (bubbles--show-images): Remove unused variable `char'. + + * play/decipher.el (decipher-keypress, decipher-alphabet-keypress) + (decipher-get-undo, decipher-set-map, decipher-complete-alphabet) + (decipher-resync, decipher-loop-with-breaks, decipher--analyze) + (decipher-analyze-buffer): Use ?\s. + (decipher-make-checkpoint): Remove unused variable `mapping'. + + * play/doctor.el (doctor-doc): Rename parameter DOCTOR-SENT to SENT. + + * play/gamegrid.el (gamegrid-add-score-with-update-game-score): + Remove unused variable `result'; use `let'. + + * play/gametree.el (gametree-current-layout, gametree-apply-layout): + Rename parameter TOP-LEVEL to FROM-TOP-LEVEL; use `ignore-errors'. + (gametree-children-shown-p, gametree-compute-reduced-score): + Use `ignore-errors'. + + * play/handwrite.el (ps-lpr-switches): Declare. + (handwrite): Remove unused variables `pmin' and `lastp'. + + * play/hanoi.el (hanoi-move-ring): Remove unused variable `total-steps'. + + * play/landmark.el (landmark-init-display) + (landmark-update-naught-weights): Mark unused parameters. + (landmark-y): Remove unused variable `noise'. Simplify. + (landmark-human-plays): Remove unused variable `score'. + + * play/mpuz.el (mpuz-try-letter): Remove unused variable `message'. + (mpuz-try-proposal): Remove unused variable `game'. + + * play/zone.el (life-patterns): Declare. + +2011-04-20 Juanma Barranquero <lekktu@gmail.com> + + * vc/vc.el (ediff-vc-internal): Declare function. + +2011-04-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * shell.el: Use lexical-binding and std completion UI. + (shell-filter-ctrl-a-ctrl-b): Work as a preoutput filter. + (shell-mode): Put shell-filter-ctrl-a-ctrl-b on + comint-preoutput-filter-functions rather than on + comint-output-filter-functions. + (shell-command-completion, shell--command-completion-data) + (shell-filename-completion, shell-environment-variable-completion) + (shell-c-a-p-replace-by-expanded-directory): New functions. + (shell-dynamic-complete-functions, shell-dynamic-complete-command) + (shell-dynamic-complete-filename, shell-replace-by-expanded-directory) + (shell-dynamic-complete-environment-variable): Use them. + (shell-dynamic-complete-as-environment-variable) + (shell-dynamic-complete-as-command): Remove. + (shell-match-partial-variable): Match past point. + * comint.el: Clean up use of completion-at-point-functions. + (comint-completion-at-point): New function. + (comint-mode): Use it completion-at-point-functions. + (comint-dynamic-complete): Make it obsolete. + (comint-replace-by-expanded-history-before-point): Add dry-run arg. + (comint-c-a-p-replace-by-expanded-history): New function. + (comint-dynamic-complete-functions) + (comint-replace-by-expanded-history): Use it. + * minibuffer.el (completion-table-with-terminator): Allow dynamic + termination strings. Try harder to avoid second try-completion. + (completion-in-region-mode-map): Disable bindings that don't work yet. + + * comint.el: Use lexical-binding. Require CL. + (comint-dynamic-complete-functions): Use comint-filename-completion. + (comint-completion-addsuffix): Tweak custom type. + (comint-filename-completion, comint--common-suffix) + (comint--common-quoted-suffix, comint--table-subvert) + (comint--complete-file-name-data): New functions. + (comint-dynamic-complete-as-filename, comint-dynamic-complete-filename) + (comint-dynamic-list-filename-completions): Use them. + (comint-dynamic-simple-complete): Make obsolete. + + * minibuffer.el (completion-in-region-mode): + Keep completion-in-region-mode--predicate global. + (completion-in-region--postch): + Assume completion-in-region-mode--predicate is not null. + + * progmodes/flymake.el (flymake-start-syntax-check-process): + Obey `dir'. Simplify. + + * vc/vc.el (vc-version-ediff): Call ediff-vc-internal directly, since + we're in VC after all. + +2011-04-20 Christoph Scholtes <cschol2112@googlemail.com> + + * vc/vc.el (vc-diff-build-argument-list-internal) + (vc-version-ediff, vc-ediff): New commands. + (vc-version-diff): Use vc-diff-build-argument-list-internal. + +2011-04-20 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Remove dead code, + add sanity check. + + * obsolete/erc-hecomplete.el: Make obsolete. + * obsolete/: Standardize obsolescence info in the header. + +2011-04-20 Glenn Morris <rgm@gnu.org> + + * calendar/solar.el (solar-horizontal-coordinates): + Use the longitude argument rather than `calendar-longitude'. + (solar-date-next-longitude): Remove unused locals. + +2011-04-20 Vinicius Jose Latorre <viniciusjl@ig.com.br> + + * whitespace.el: New version 13.2.1. + +2011-04-20 felix <EmacsWiki> (tiny change) + + * whitespace.el (global-whitespace-mode): Keep highlight when + switching between major modes on a file. + +2011-04-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/octave-mod.el (octave-in-comment-p, octave-in-string-p) + (octave-not-in-string-or-comment-p): Use syntax-ppss so it works with + multi-line comments as well. + +2011-04-19 Juanma Barranquero <lekktu@gmail.com> + + Lexical-binding cleanup. + + * arc-mode.el (archive-mode-revert): + * cmuscheme.el (scheme-interactively-start-process): + * custom.el (custom-initialize-delay): + * dnd.el (dnd-open-local-file, dnd-open-remote-url): + * dos-w32.el (direct-print-region-helper, direct-print-region-function): + * emacs-lock.el (emacs-lock-clear-sentinel): + * ezimage.el (defezimage): + * follow.el (follow-avoid-tail-recenter): + * fringe.el (set-fringe-mode-1): + * generic-x.el (bat-generic-mode-compile): + * help-mode.el (help-info-variable, help-do-xref) + (help-mode-revert-buffer): + * help.el (view-emacs-todo): + * iswitchb.el (iswitchb-completion-help): + * jka-compr.el (jka-compr-make-temp-name, jka-compr-load): + * kmacro.el (kmacro-cycle-ring-next, kmacro-cycle-ring-previous) + (kmacro-delete-ring-head, kmacro-bind-to-key, kmacro-view-macro): + * locate.el (locate-update): + * longlines.el (longlines-encode-region) + (longlines-after-change-function): + * outline.el (outline-isearch-open-invisible): + * ps-def.el (declare-function, charset-dimension, char-width) + (encode-char): + * ps-mule.el (ps-mule-plot-string): + * recentf.el (recentf-make-menu-items, recentf-cancel-dialog) + (recentf-edit-list-select, recentf-edit-list-validate) + (recentf-open-files-action): + * rect.el (delete-whitespace-rectangle-line) + (rectangle-number-line-callback): + * register.el (window-configuration-to-register) + (frame-configuration-to-register): + * scroll-bar.el (scroll-bar-mode, toggle-horizontal-scroll-bar): + * select.el (xselect-convert-to-string, xselect-convert-to-length) + (xselect-convert-to-targets, xselect-convert-to-delete) + (xselect-convert-to-filename, xselect-convert-to-charpos) + (xselect-convert-to-lineno, xselect-convert-to-colno) + (xselect-convert-to-os, xselect-convert-to-host) + (xselect-convert-to-user, xselect-convert-to-class) + (xselect-convert-to-name, xselect-convert-to-integer) + (xselect-convert-to-atom, xselect-convert-to-identity): + * subr.el (declare, ignore, process-kill-without-query) + (text-clone-maintain): + * terminal.el (te-get-char, te-tic-sentinel): + * tool-bar.el (tool-bar-make-keymap): + * tooltip.el (tooltip-timeout, tooltip-hide, tooltip-help-tips): + * type-break.el (type-break-mode, type-break-noninteractive-query): + * view.el (View-back-to-mark): + * wid-browse.el (widget-browse-action, widget-browse-widget) + (widget-browse-widgets, widget-browse-sexp): + * widget.el (define-widget-keywords): + * xt-mouse.el (xterm-mouse-translate, turn-off-xterm-mouse-tracking): + Mark unused parameters. + + * align.el (align-adjust-col-for-rule): Mark unused parameter. + (align-areas): Remove unused variable `look'. + (align-region): Remove unused variables `real-end' and `pos-list'. + + * apropos.el (apropos-score-doc): Remove unused variable `i'. + + * bindings.el (mode-line-modified, mode-line-remote): + Mark unused parameters. + (mode-line-mule-info): Mark unused parameter; don't quote `lambda'. + + * buff-menu.el (Buffer-menu-revert-function): Mark unused parameters. + (Buffer-menu-mode): Mark unused parameter; don't quote `lambda'. + + * comint.el (comint-history-isearch-pop-state) + (comint-postoutput-scroll-to-bottom, comint-truncate-buffer) + (comint-strip-ctrl-m, comint-read-noecho): Mark unused parameters. + (comint-substitute-in-file-name): Doc fix. + + * completion.el (cmpl-statistics-block): Mark unused parameter. + (add-completions-from-tags-table, add-completions-from-lisp-buffer) + (save-completions-to-file, load-completions-from-file): + Remove unused local variable `e'. + + * composite.el (compose-chars): Remove unused variable `len'. + (lgstring-insert-glyph): Remove unused variable `g'. + (compose-glyph-string): Remove unused variables `ascent', + `descent', `lbearing' and `rbearing'. + (compose-glyph-string-relative): Remove unused variables + `lbearing', `rbearing' and `wadjust'. + (compose-gstring-for-graphic): Remove unused variables `header', + `wadjust', `xoff' and `yoff'. Use `let', not `let*'. + (compose-gstring-for-terminal): Remove unused variables `header' + and `nchars'. Use `let', not `let*'. + + * cus-edit.el (Custom-set, Custom-save, custom-reset) + (Custom-reset-current, Custom-reset-saved, Custom-reset-standard) + (Custom-buffer-done, custom-buffer-create-internal) + (custom-browse-visibility-action, custom-browse-group-tag-action) + (custom-browse-variable-tag-action, custom-browse-face-tag-action) + (widget-magic-mouse-down-action, custom-toggle-parent) + (custom-add-parent-links, custom-toggle-hide-variable) + (custom-face-edit-value-visibility-action, custom-face-edit-fix-value) + (custom-toggle-hide-face, face, hook, custom-group-link-action) + (custom-face-menu-create, custom-variable-menu-create, get) + (custom-group-menu-create, Custom-no-edit): Mark unused parameters. + (custom-reset-standard-save-and-update): Remove unused variable `value'. + (customize-apropos): Remove unused variable `tests'. + (custom-group-value-create): Remove unused variable `hidden-p'. + (sort-fold-case): Declare. + + * cus-theme.el (custom-reset-standard-faces-list) + (custom-reset-standard-variables-list): Declare. + (customize-create-theme, custom-theme-revert, custom-theme-write) + (custom-theme-choose-mode, customize-themes, custom-theme-save): + Mark unused parameters. + + * dabbrev.el (dabbrev-completion): Remove unused variable `init'. + + * delim-col.el (delimit-columns-max): Move defvar before first use. + + * descr-text.el (describe-char-categories): Don't quote `lambda'. + (describe-char): Don't quote `lambda'. Mark unused parameter. + + * desktop.el (desktop-save-buffer-p): Mark unused parameter. + (auto-insert): Declare. + (desktop-restore-file-buffer): Rename desktop-* parameters; + mark unused ones. + (desktop-create-buffer): Rename desktop-* parameters and bind them. + (desktop-buffer): Rename desktop-* parameters. + + * dframe.el (x-sensitive-text-pointer-shape, x-pointer-shape): Declare. + (dframe-reposition-frame-xemacs, dframe-help-echo) + (dframe-hack-buffer-menu, dframe-set-timer, dframe-set-timer-internal): + Mark unused parameters. + + * dired-aux.el (backup-extract-version-start, overwrite-query) + (overwrite-backup-query, rename-regexp-query) + (rename-non-directory-query): Declare. + (dired-shell-stuff-it, dired-do-create-files): Mark unused parameters. + (dired-add-entry): Remove unused variable `orig-file-name'. + (dired-copy-file-recursive): Remove unused variable `dirfailed'. + Use parameter PRESERVE-TIME instead of accessing dynamic variable + `dired-copy-preserve-time' directly. + (dired-do-create-files-regexp): Remove unused variable `fn-count'. + (dired-insert-subdir-newpos): Rename unused variable `pos'. + + * dired-x.el (dired-omit-size-limit): Move defcustom before first use. + (dired-virtual-revert, dired-make-relative-symlink): + Mark unused parameters. + (manual-program): Declare. + (dired-x-hands-off-my-keys): Rename parameters of lambda expression. + (inode, s, mode, nlink, uid, gid, size, time, name, sym): Declare them, + wrapped in `with-no-warnings' to avoid replacing one warning by another. + + * dirtrack.el (dirtrack): Remove unused variable `multi-line'. + + * dos-fns.el (dos-8+3-filename): Remove unused variable `i'. + + * echistory.el (electric-history-in-progress, Helper-return-blurb): + Declare. + + * edmacro.el (edmacro-finish-edit): Remove unused variable `kmacro'. + + * electric.el (Electric-command-loop): Rename parameter + INHIBIT-QUIT to INHIBIT-QUITTING and bind `inhibit-quit'. + + * expand.el (expand-in-literal): Remove unused variable `here'. + + * facemenu.el (facemenu-add-new-color): + Remove unused variable `docstring'. + + * faces.el (face-id, make-face-bold, make-face-unbold, make-face-italic) + (make-face-unitalic, make-face-bold-italic): Mark unused parameters. + (face-attr-construct): Mark unused parameter. Doc fix. + (read-color): Remove unused variable `hex-string'. + + * files.el (parse-colon-path): Rename argument CD-PATH to SEARCH-PATH. + (locate-dominating-file): Remove unused vars `prev-file' and `user'. + (remote-file-name-inhibit-cache, revert-buffer): Clean up docstrings. + (display-buffer-other-frame): Remove unused variable `old-window'. + (kill-buffer-hook): Declare. + (insert-file-contents-literally, set-auto-mode, risky-local-variable-p): + Mark unused parameters. + (after-find-file): Pass 1 to `auto-save-mode', not t. + + * files-x.el (auto-insert): Declare. + (modify-file-local-variable-prop-line): Remove unused variable `val'. + + * find-lisp.el (find-lisp-find-dired-internal): Remove unused + variable `buf'. Mark unused parameter. + (find-lisp-insert-directory): Mark unused parameter. + + * format.el (format-decode-run-method): Mark unused parameter; doc fix. + (format-encode-region): Remove unused variables `cur-buf' and `result'. + (format-common-tail): Remove, unused. + (format-deannotate-region): Remove unused variable `loc'. + (format-annotate-region): Remove unused variable `p'. + (format-annotate-single-property-change): Remove unused variables + `default' and `tail'. + + * forms.el (read-file-filter): Declare. + (forms--iif-hook, forms--revert-buffer): Mark unused parameters. + + * frame.el (frame-creation-function-alist): Mark unused parameter. + (frame-geom-spec-cons): Pass FRAME to `frame-geom-value-cons'. + + * hilit-chg.el (hilit-chg-cust-fix-changes-face-list, hilit-chg-clear): + Remove unused parameters. + (hilit-chg-set-face-on-change): Remove unused variable `beg-decr'. + (highlight-compare-with-file): Remove unused variable `buf-b-read-only'. + + * htmlfontify.el (hfy-default-footer, hfy-decor, hfy-invisible) + (hfy-parse-tags-buffer, hfy-prepare-index-i, hfy-prepare-index) + (hfy-prepare-tag-map): Mark unused parameters. + (htmlfontify-buffer): Use `called-interactively-p'. + + * ibuf-ext.el (ibuffer-do-kill-lines, ibuffer-jump-to-buffer) + (ibuffer-copy-filename-as-kill, ibuffer-mark-on-buffer) + (ibuffer-do-occur): Mark unused parameters. + (ibuffer-forward-next-marked): Remove unused variable `curmark'. + (ibuffer-diff-buffer-with-file-1): Remove unused variable `proc'. + + * ibuffer.el: Don't quote `lambda'. + (ibuffer-count-marked-lines, ibuffer-count-deletion-lines) + (ibuffer-unmark-all, ibuffer-toggle-marks, ibuffer-redisplay-engine): + Mark unused parameters. + + * ido.el (ido-mode, ido-wide-find-dir-or-delete-dir) + (ido-completing-read): Mark unused parameters. + (ido-copy-current-word): Mark unused parameters; + remove unused variable `name'. + (ido-sort-merged-list): Remove unused parameter `dirs'. + + * ielm.el (ielm-input-sender): Mark unused parameter. + (ielm-string, ielm-form, ielm-pos, ielm-result, ielm-error-type) + (ielm-output, ielm-wbuf, ielm-pmark): Declare. + (ielm-eval-input): Rename argument IELM-STRING to INPUT-STRING to keep + `ielm-string' as a dynamic variable accessible from the IELM prompt. + Bind `ielm-string' to INPUT-STRING. Remove unused variable `err'. + + * image-dired.el (image-dired-display-thumbs): Remove unused + variables `curr-file' and `count'. + (image-dired-remove-tag): Remove unused variable `start'. + (image-dired-tag-files, image-dired-create-thumbs): Remove unused + variable `curr-file' + (image-dired-rotate-original): Remove unused variable `temp-file'. + (image-dired-mouse-select-thumbnail, image-dired-mouse-toggle-mark): + Remove unused variable `file'. + (image-dired-gallery-generate): Remove unused variable `curr'. + (image-dired-dired-edit-comment-and-tags): Mark unused parameters. + + * indent.el (tab-to-tab-stop): Remove unused variable `opoint'. + + * info-xref.el (info-xref-goto-node-p): Remove unused variable `err'. + + * informat.el (texinfo-command-start, texinfo-command-end): Declare. + + * isearch.el (minibuffer-history-symbol): Declare. + (isearch-edit-string): Remove unused variable `err'. + (isearch-message-prefix, isearch-message-suffix): + Mark unused parameters. + + * ls-lisp.el (ls-lisp-insert-directory): Remove unused variable `fil'. + + * macros.el (insert-kbd-macro): Remove unused variable `mods'. + + * makesum.el (double-column): Remove unused variable `cnt'. + + * misearch.el (multi-isearch-pop-state): Mark unused parameter. + (ido-ignore-item-temp-list): Declare. + + * mouse-drag.el (mouse-drag-throw): Remove unused variables + `mouse-delta', `window-last-row', `mouse-col-delta', `window-last-col', + `adjusted-mouse-col-delta' and `adjusted-mouse-delta'. + (mouse-drag-drag): Remove unused variables `mouse-delta' and + `mouse-col-delta'. + + * mouse-sel.el (mouse-extend-internal): + Remove unused variable `orig-window-frame'. + + * pcomplete.el (pcomplete-args, pcomplete-begins, pcomplete-last) + (pcomplete-index, pcomplete-stub, pcomplete-seen, pcomplete-norm-func): + Move declarations before first use. + (pcomplete-opt): Mark unused parameters; doc fix. + + * proced.el (proced-revert): Mark unused parameter. + (proced-send-signal): Remove unused variable `err'. + + * ps-print.el (ps-print-preprint-region, ps-print-preprint): + Rename parameter PREFIX-ARG to ARG. + (ps-basic-plot-string, ps-basic-plot-whitespace): + Mark unused parameters. + + * replace.el (replace-count): Define. + (occur-revert-function): Mark unused parameters. + (ido-ignore-item-temp-list, isearch-error, isearch-forward) + (isearch-case-fold-search, isearch-string): Declare. + (occur-engine): Rename parameter CASE-FOLD-SEARCH to CASE-FOLD and + bind `case-fold-search'. Remove unused variables `beg' and `end', + and simplify. + (replace-eval-replacement): Rename parameter REPLACE-COUNT to + COUNT and bind `replace-count'. + (replace-loop-through-replacements): Rename parameter REPLACE-COUNT + to COUNT. + + * savehist.el (print-readably, print-string-length): Declare. + + * shadowfile.el (shadow-expand-cluster-in-file-name): + Remove unused variable `cluster'. + (shadow-copy-file): Remove unused variable `i'. + (shadow-noquery, shadow-clusters, shadow-site-cluster) + (shadow-parse-fullname, shadow-parse-name, shadow-define-cluster) + (shadow-define-literal-group, shadow-define-regexp-group) + (shadow-make-group, shadow-shadows-of): Clean up docstrings. + + * shell.el (shell-filter-ctrl-a-ctrl-b): Mark unused parameter. + (shell): Use `called-interactively-p'. + (shell-directory-tracker): Remove unused variable `chdir-failure'. + + * simple.el (compilation-context-lines, comint-file-name-quote-list) + (comint-file-name-chars, comint-delimiter-argument-list): Declare. + (delete-backward-char): Remove unused variable `ocol'. + (minibuffer-avoid-prompt, minibuffer-history-isearch-pop-state) + (line-move-1, event-apply-alt-modifier, event-apply-super-modifier) + (event-apply-hyper-modifier, event-apply-shift-modifier) + (event-apply-control-modifier, event-apply-meta-modifier): + Mark unused parameters. + (undo-make-selective-list): Remove duplicate variable `undo-elt'. + (normal-erase-is-backspace-mode): Remove unused variable `old-state'. + + * speedbar.el (speedbar-ignored-directory-expressions) + (speedbar-supported-extension-expressions, speedbar-directory-buttons) + (speedbar-find-file, speedbar-dir-follow) + (speedbar-directory-buttons-follow, speedbar-tag-find) + (speedbar-buffer-buttons, speedbar-buffer-buttons-temp) + (speedbar-buffers-line-directory, speedbar-buffer-click): + Mark unused parameters. + (speedbar-tag-file): Remove unused variable `mode'. + (speedbar-buffers-tail-notes): Remove unused variable `mod'; simplify. + + * strokes.el (strokes-decode-buffer): Remove unused variable `ext'. + + * talk.el (talk): Remove unused variable `display'. + + * tar-mode.el (tar-subfile-save-buffer): Remove unused variable `name'. + (tar-write-region-annotate): Mark unused parameter. + + * time.el (now, time, load, mail, 24-hours, hour, 12-hours, am-pm) + (minutes, seconds, time-zone, day, year, monthname, month, dayname): + Declare them, wrapped in `with-no-warnings' to avoid replacing one + warning by another. + + * time-stamp.el (time-stamp-string-preprocess): + Remove unused variable `require-padding'. + + * tree-widget.el (widget-glyph-enable): Declare. + (tree-widget-action): Mark unused parameter. + + * w32-fns.el (x-get-selection): Mark unused parameter. + (autoload-make-program, generated-autoload-file): Declare. + + * wdired.el (wdired-revert): Mark unused parameters. + (wdired-xcase-word): Remove unused variable `err'. + + * whitespace.el (whitespace-buffer-changed): Mark unused parameters. + (whitespace-help-scroll): Remove unused variable `data-help'. + + * wid-edit.el (widget-mouse-help, widget-overlay-inactive) + (widget-image-insert, widget-after-change, default) + (widget-default-format-handler, widget-default-notify) + (widget-default-prompt-value, widget-info-link-action) + (widget-url-link-action, widget-function-link-action) + (widget-variable-link-action, widget-file-link-action) + (widget-emacs-library-link-action, widget-emacs-commentary-link-action) + (widget-field-prompt-internal, widget-field-action, widget-field-match) + (widget-choice-mouse-down-action, toggle, widget-radio-button-notify) + (widget-insert-button-action, widget-delete-button-action, visibility) + (widget-documentation-link-action, widget-documentation-string-action) + (widget-const-prompt-value, widget-regexp-match, symbol) + (widget-coding-system-prompt-value) + (widget-key-sequence-value-to-external, sexp) + (widget-sexp-value-to-internal, character, vector, cons) + (widget-choice-prompt-value, widget-boolean-prompt-value) + (widget-color--choose-action): Mark unused parameters. + (widget-item-match-inline, widget-choice-match-inline) + (widget-checklist-match, widget-checklist-match-inline) + (widget-group-match): Rename parameter VALUES to VALS. + (widget-field-value-set): Remove unused variable `size'. + (widget-color-action): Remove unused variables `value' and `start'. + + * windmove.el (windmove-wrap-loc-for-movement): Remove unused + variable `dir'. Doc fix. + (windmove-find-other-window): Don't pass it. + + * window.el (count-windows): Mark unused parameter. + (bw-adjust-window): Remove unused variable `err'. + + * woman.el (woman-file-name): Remove unused variable `default'. + (woman-expand-directory-path): Rename parameters WOMAN-MANPATH and + WOMAN-PATH to PATH-DIRS and PATH-REGEXPS, respectively. + (global-font-lock-mode): Declare. + (woman-decode-region): Mark unused parameter. + (woman-get-tab-stop): Rename parameter TAB-STOP-LIST to TAB-STOPS. + + * x-dnd.el (x-dnd-default-test-function, x-dnd-handle-old-kde) + (x-dnd-handle-xdnd, x-dnd-handle-motif): Mark unused parameters. + (x-dnd-handle-moz-url): Remove unused variable `title'. + (x-dnd-handle-xdnd): Remove unused variables `x', `y' and `ret-action'. + + * xml.el (xml-parse-tag, xml-parse-attlist): + Remove unused variable `pos'. + +2011-04-19 Glenn Morris <rgm@gnu.org> + + * calendar/cal-tex.el (cal-tex-list-holidays, cal-tex-cursor-month) + (cal-tex-cursor-week, cal-tex-cursor-week2, cal-tex-cursor-week-iso) + (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) + (cal-tex-cursor-filofax-daily, cal-tex-mini-calendar) + * calendar/cal-html.el (cal-html-insert-minical): + * calendar/diary-lib.el (diary-list-entries-1, diary-list-entries) + (calendar-mark-date-pattern): + Prefix "unused" locals. + + * calendar/cal-dst.el (dst-adjust-time): Remove never-implemented + optional argument `style'. + + * calendar/appt.el (appt-make-list): + * calendar/cal-china.el (calendar-chinese-date-string): + * calendar/cal-hebrew.el (calendar-hebrew-list-yahrzeits) + (diary-hebrew-yahrzeit): + * calendar/cal-tex.el (cal-tex-last-blank-p, cal-tex-cursor-week2): + * calendar/calendar.el (calendar-generate-window): + * calendar/time-date.el (time-to-days): + Remove unused local variables. + +2011-04-18 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/tabulated-list.el (tabulated-list-mode): Use a custom + glyphless-char-display table. + (tabulated-list-glyphless-char-display): New var. + +2011-04-18 Sam Steingold <sds@gnu.org> + + * vc/add-log.el (change-log-font-lock-keywords): Add "Thanks to" + to acknowledgments. + +2011-04-17 Glenn Morris <rgm@gnu.org> + + * calendar/diary-lib.el (diary-sexp-entry): + * calendar/holidays.el (holiday-sexp): + Set debug-on-error rather than the removed stack-trace-on-error. + +2011-04-16 Glenn Morris <rgm@gnu.org> + + * progmodes/f90.el: Use lexical-binding. + (f90-get-correct-indent): Remove unnecessary local variable `cont'. + +2011-04-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * mail/sendmail.el (mail-mode-map): Use completion-at-point. + (mail-mode): Setup mailalias completion here instead. + * mail/mailalias.el: Use lexical-binding. + (pattern, mailalias-done): Declare dynamic. + (mail-completion-at-point-function): New function, from mail-complete. + (mail-complete): Use it. + (mail-completion-expand): New function. + (mail-get-names): Use it. + (mail-directory, mail-directory-process, mail-directory-stream): + Don't use `pattern' for lexically bound arg. + + * emacs-lisp/lisp-mode.el (eval-defun-2): Use eval-sexp-add-defvars. + + * htmlfontify.el (hfy-etags-cmd): Remove inoperant eval-and-compile. + (hfy-e2x-etags-cmd, hfy-etags-cmd-alist-default) + (hfy-etags-cmd-alist): Don't eval-and-compile any more. + + * emacs-lisp/bytecomp.el (byte-temp-output-buffer-show) + (byte-save-window-excursion, byte-temp-output-buffer-setup) + (byte-interactive-p): Define them again, for use when inlining + old code. + +2011-04-15 Juanma Barranquero <lekktu@gmail.com> + + * loadup.el: Use `string-to-number', not `string-to-int'. + +2011-04-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/gud.el (gud-gdb): Use completion-at-point instead of + gud-gdb-complete-command. + (gud-gdb-completions): New function, from gud-gdb-complete-command. + (gud-gdb-completion-at-point): New function. + (gud-gdb-completions): Remove. + +2011-04-14 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-sh-handle-file-attributes): Handle the case + when the scripts fail. Use `tramp-do-file-attributes-with-ls' then. + (tramp-do-copy-or-rename-file-out-of-band): Do not check any longer + whether `executable-find' is bound. + + * net/tramp-smb.el (tramp-smb-handle-copy-file): Fix docstring. + +2011-04-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-in-region-mode-predicate) + (completion-in-region-mode--predicate): New vars. + (completion-in-region, completion-in-region--postch) + (completion-in-region-mode): Use them. + (completion--capf-wrapper): Also return the hook function. + (completion-at-point, completion-help-at-point): + Adjust and provide a predicate. + + Preserve arg names for advice of subr and lexical functions (bug#8457). + * help-fns.el (help-function-arglist): Consolidate the subr and + new-byte-code cases. Add argument `preserve-names' to extract names + from the docstring when needed. + * emacs-lisp/advice.el (ad-define-subr-args, ad-undefine-subr-args) + (ad-subr-args-defined-p, ad-get-subr-args, ad-subr-arglist): Remove. + (ad-arglist): Use help-function-arglist's new arg. + (ad-definition-type): Use cond. + +2011-04-13 Juanma Barranquero <lekktu@gmail.com> + + * autorevert.el (auto-revert-handler): + Bind `remote-file-name-inhibit-cache', not `tramp-cache-inhibit-cache', + which was removed in 2010-10-02T13:21:43Z!michael.albinus@gmx.de. + Don't quote lambda. + + * image-mode.el (image-transform-set-scale): + Fix change in 2011-04-09T20:28:01Z!cyd@stupidchicken.com. + +2011-04-12 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * net/network-stream.el (network-stream-open-starttls): Only do + opportunistic STARTTLS upgrades if we have built-in GnuTLS support. + Upgrades via gnutls-cli are too slow to be done opportunistically. + +2011-04-12 Juanma Barranquero <lekktu@gmail.com> + + * dframe.el (dframe-current-frame): Remove spurious quote. + +2011-04-12 Glenn Morris <rgm@gnu.org> + + * calendar/cal-tex.el (cal-tex-end-document): + Try to automatically use latin1 input if needed. + + * calendar/cal-hebrew.el (diary-hebrew-rosh-hodesh): + Don't try to cons a mark onto an empty element. + +2011-04-11 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-buffer-internal): Allow method 'kill for virtual + buffers. + (ido-kill-buffer-at-head): Support killing virtual buffers. + +2011-04-10 Chong Yidong <cyd@stupidchicken.com> + + * minibuffer.el (completion-show-inline-help): New var. + (completion--do-completion, minibuffer-complete) + (minibuffer-force-complete, minibuffer-complete-word): + Inhibit minibuffer messages if completion-show-inline-help is nil. + + * icomplete.el (icomplete-mode): Bind completion-show-inline-help + to avoid interference from inline help (Bug#5849). + +2011-04-10 Leo Liu <sdl.web@gmail.com> + + * emacs-lisp/tabulated-list.el (tabulated-list-print-entry): + Fix typo. + +2011-04-09 Chong Yidong <cyd@stupidchicken.com> + + * image-mode.el (image-toggle-display-image): Signal an error if + not in Image mode. + (image-transform-mode, image-transform-resize) + (image-transform-set-rotation): Doc fix. + (image-transform-set-resize): Delete. + (image-transform-set-scale, image-transform-fit-to-height) + (image-transform-fit-to-width): Handle image-toggle-display-image + and image-transform-resize directly. + +2011-04-08 Sho Nakatani <lay.sakura@gmail.com> + + * doc-view.el (doc-view-fit-width-to-window) + (doc-view-fit-height-to-window, doc-view-fit-page-to-window): + New functions for fitting the shown image to the Emacs window size. + (doc-view-mode-map): Add bindings for the new functions. + +2011-04-08 Juanma Barranquero <lekktu@gmail.com> + + * vc/vc-annotate.el (vc-annotate-show-log-revision-at-line): + Fix typo in docstring. + +2011-04-08 Eli Zaretskii <eliz@gnu.org> + + * files.el (file-size-human-readable): Produce one digit after + decimal, like "ls -lh" does. + + * ls-lisp.el (ls-lisp-format-file-size): Allow for 7 characters in + the file size representation. + + * simple.el (list-processes): If async subprocesses are not + available, error out with a clear error message. + +2011-04-08 Chong Yidong <cyd@stupidchicken.com> + + * help.el (help-form-show): New function, to be called from C. + Put help-form output in a buffer named differently than *Help*. + +2011-04-08 Eli Zaretskii <eliz@gnu.org> + + * files.el (file-size-human-readable): New function. + + * ls-lisp.el (ls-lisp-format-file-size): Use it, instead of + computing the representation inline. Don't require `cl'. + +2011-04-08 Glenn Morris <rgm@gnu.org> + + * man.el (Man-page-header-regexp): Solaris < 2.6 no longer supported. + + * net/browse-url.el (browse-url-firefox): + Test system-type, not system-configuration. + + * vc/log-edit.el (log-edit-empty-buffer-p): New function. + (log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate): + Use log-edit-empty-buffer-p. (Bug#7598) + + * net/rlogin.el (rlogin-process-connection-type): Simplify. + (rlogin-mode-map): Initialize in the defvar. + (rlogin): Use ignore-errors. + + * replace.el (occur-mode-map): Some fixes for menu items. + +2011-04-07 Aaron S. Hawley <aaron.s.hawley@gmail.com> + + * play/morse.el (denato-region): Handle varying case. (Bug#8386) + +2011-04-06 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/cconv.el (cconv--analyse-use): Ignore "ignored" when + issuing unused warnings. + + * emacs-lisp/tabulated-list.el (tabulated-list-print): Use lambda + macro directly. + + * simple.el: Lisp reimplement of list-processes. Based on an + earlier reimplementation by Leo Liu, but using tabulated-list.el. + (process-menu-mode): New major mode. + (list-processes--refresh, list-processes): + (process-menu-visit-buffer): New functions. + + * files.el (save-buffers-kill-emacs): Don't assume any return + value of list-processes, which is undocumented anyway. + +2011-04-06 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/tabulated-list.el: New file. + + * emacs-lisp/package.el: Use Tabulated List mode. + (package-menu-mode-map): Inherit from tabulated-list-mode-map. + (package-menu-mode): Derive from tabulated-list-mode. Set up the + table format using Tabulated List mode variables. + (package--push): New macro, replacing package-list-maybe-add. + (package-menu--generate): Use package--push. Renamed from + package--generate-package-list. + (package-menu-refresh, list-packages): Use it. + (package-menu--print-info): Rename from package-print-package. + Return insertion data instead of inserting it directly. + (package-menu-describe-package, package-menu-execute): + Use tabulated-list-get-id. + (package-menu-mark-delete, package-menu-mark-install) + (package-menu-mark-unmark, package-menu-backup-unmark) + (package-menu-mark-obsolete-for-deletion): + Use tabulated-list-put-tag. + (package--list-packages, package-menu-revert) + (package-menu-get-package, package-menu-get-version) + (package-menu-sort-by-column): Functions deleted. + (package-menu-package-list, package-menu-sort-key): Vars deleted. + (package-menu--status-predicate, package-menu--version-predicate) + (package-menu--name-predicate) + (package-menu--description-predicate): Handle arguments in the + Tabulated List format. + (package-list-packages-no-fetch): Call list-packages. + +2011-04-06 Juanma Barranquero <lekktu@gmail.com> + + * files.el (after-find-file-from-revert-buffer): Remove variable. + (after-find-file): Don't bind it. + (revert-buffer-in-progress-p): New variable. + (revert-buffer): Bind it. + Pass nil for `after-find-file-from-revert-buffer'. + + * saveplace.el (save-place-find-file-hook): Use new variable + `rever-buffer-in-progress-p', not `after-find-file-from-revert-buffer'. + +2011-04-06 Glenn Morris <rgm@gnu.org> + + * Makefile.in (AUTOGEN_VCS): New variable. + (autoloads): Use $AUTOGEN_VCS. + + * calendar/cal-move.el (calendar-scroll-toolkit-scroll): New function. + * calendar/calendar.el (calendar-mode-map): + Check for toolkit scroll bars. (Bug#8305) + +2011-04-05 Chong Yidong <cyd@stupidchicken.com> + + * minibuffer.el (completion-in-region--postch) + (completion-in-region-mode): Remove unnecessary messages. + +2011-04-05 Juanma Barranquero <lekktu@gmail.com> + + * font-lock.el (font-lock-refresh-defaults): + Don't bind `hi-lock--inhibit-font-lock-hook', removed in + 2010-10-09T04:09:19Z!cyd@stupidchicken.com and 2010-10-11T23:57:49Z!lekktu@gmail.com (2010-10-12). + + * info.el (Info-directory-list, Info-read-node-name-2) + (Info-split-parameter-string): Doc fixes. + (Info-virtual-nodes): Reflow docstring. + (Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes) + (Info-apropos-toc-nodes, info-finder, Info-get-token) + (Info-find-emacs-command-nodes, Info-speedbar-key-map): + Fix typos in docstrings. + (Info-revert-buffer-function, Info-search, Info-isearch-pop-state) + (Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node) + (Info-speedbar-buttons, Info-desktop-buffer-misc-data) + (Info-restore-desktop-buffer): Mark unused parameters. + (Info-directory-find-file, Info-directory-find-node) + (Info-history-find-file, Info-history-find-node, Info-toc-find-node) + (Info-virtual-index-find-node, Info-apropos-find-file) + (Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node): + Mark unused parameters; fix typos in docstrings. + (Info-virtual-index): Remove unused local variable `nodename'. + +2011-04-05 Deniz Dogan <deniz@dogan.se> + + * net/rcirc.el: Update my e-mail address. + (rcirc-mode-map): Remove M-o binding. + +2011-04-05 Chong Yidong <cyd@stupidchicken.com> + + * startup.el (command-line): Save the cursor's theme-face + directly, instead of using face-override-spec. + + * custom.el (load-theme): Minor optimization in assigning faces. + +2011-04-04 Juanma Barranquero <lekktu@gmail.com> + + * help-fns.el (describe-variable): Complete all variables having + documentation, including keywords. + http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html + +2011-04-04 Juanma Barranquero <lekktu@gmail.com> + + Convert to lexical-binding. + + * bs.el (bs-refresh, bs-sort-buffer-interns-are-last) + (bs--get-marked-string, bs--get-modified-string) + (bs--get-readonly-string, bs--get-size-string, bs--get-name) + (bs--get-mode-name, bs--get-file-name): Mark unused arguments. + (bs--configuration-name-for-prefix-arg): Rename argument PREFIX-ARG. + + * ehelp.el (electric-help-execute-extended) + (electric-help-ctrl-x-prefix): + * hexl.el (hexl-revert-buffer-function): + * linum.el (linum-after-change, linum-after-scroll): + * emacs-lisp/re-builder.el (reb-auto-update): Mark unused arguments. + + * help-fns.el (help-describe-category-set): Remove unused ERR variable. + +2011-04-04 Daiki Ueno <ueno@unixuser.org> + + * epa-dired.el: + * epa-mail.el: + * epa-hook.el: + * epa-file.el: + * epa.el: + * epg.el: Use lexical binding. + +2011-04-03 Chong Yidong <cyd@stupidchicken.com> + + * dired-aux.el (dired-create-files): Add docstring (Bug#7970). + + * textmodes/flyspell.el (flyspell-word): Recognize default + dictionary case for flyspell-mark-duplications-exceptions. + Use regexp matching for languages. + (flyspell-mark-duplications-exceptions): Add "that" and "had" for + default dictionary (Bug#7926). + +2011-04-02 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/package.el (package--with-work-buffer): + Recognize https URLs. + + * net/network-stream.el: Move from gnus/proto-stream.el. + Change prefix to network-stream throughout. + (open-protocol-stream): Merge into open-network-stream, leaving + open-protocol-stream as an alias. Handle nil BUFFER args. + + * subr.el (open-network-stream): Move to net/network-stream.el. + +2011-04-02 Glenn Morris <rgm@gnu.org> + + * find-dired.el (find-exec-terminator): New option. + (find-ls-option): Test for -ls support. + (find-ls-subdir-switches): Test for -b in find-ls-option. + (find-dired, find-grep-dired): Doc fixes. + (find-dired): Use find-exec-terminator. + + * find-dired.el (find-ls-option, find-ls-subdir-switches) + (find-grep-options): Do not autoload these defcustoms, remove purecopy. + (find-name-arg): Remove purecopy. + + * progmodes/grep.el (grep-find-use-xargs): Doc fix. + (grep-compute-defaults): Check for `-exec COMMAND +' support. + Set grep-find-use-xargs, grep-find-command, and grep-find-template + accordingly. Don't add the null-device if not needed. + + * files.el (save-some-buffers): Doc fix. + +2011-04-02 Eli Zaretskii <eliz@gnu.org> + + * makefile.w32-in (EMACS): Default to ../src/$(BLD)/emacs.exe. + +2011-04-01 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/idlwave.el (idlwave-one-key-select, idlwave-list-abbrevs): + Use `dolist' rather than `mapcar'. + +2011-04-01 Stefan Monnier <monnier@iro.umontreal.ca> + + Add lexical binding. + + * subr.el (apply-partially): Use new closures rather than CL. + (--dolist-tail--, --dotimes-limit--): Don't declare dynamic. + (dolist, dotimes): Use slightly different expansion for lexical code. + (functionp): Move to C. + (letrec): New macro. + (with-wrapper-hook): Use it and apply-partially instead of CL. + (eval-after-load): Preserve lexical-binding. + (save-window-excursion, with-output-to-temp-buffer): Turn them + into macros. + + * simple.el (with-wrapper-hook, apply-partially): Move to subr.el. + + * help-fns.el (help-split-fundoc): Return nil if there's nothing else + than the arglist. + (help-add-fundoc-usage): Don't add `Not documented'. + (help-function-arglist): Handle closures, subroutines, and new + byte-code-functions. + (help-make-usage): Remove leading underscores. + (describe-function-1): Handle closures. + (describe-variable): Use special-variable-p for completion. + + * files.el (lexical-binding): Declare safe. + + * emacs-lisp/pcase.el: Don't use destructuring-bind. + (pcase--memoize): Rename from pcase-memoize. Change weakness. + (pcase): Add `let' pattern. + Change memoization so it actually works. + (pcase-mutually-exclusive-predicates): Add byte-code-function-p. + (pcase--u1) <guard, pred>: Fix possible shadowing problem. + <let>: New case. + + * emacs-lisp/macroexp.el: Use lexical binding. + (macroexpand-all-1): Check obsolete macros. Expand compiler-macros. + Don't convert ' to #' without checking that it's indeed quoting + a lambda. + + * emacs-lisp/lisp-mode.el (eval-last-sexp-1): + Use eval-sexp-add-defvars. + (eval-sexp-add-defvars): New fun. + + * emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound. + + * emacs-lisp/eieio.el (byte-compile-file-form-defmethod): + Don't autoload. + (eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather + than the internal `byte-compile-lambda'. + (defmethod): Don't hide code under quotes. + (eieio-defmethod): New `code' argument. + + * emacs-lisp/eieio-comp.el: Remove. + + * emacs-lisp/edebug.el (edebug-eval-defun) + (edebug-eval-top-level-form): Use eval-sexp-add-defvars. + (edebug-toggle): Avoid `eval'. + + * emacs-lisp/disass.el (disassemble-internal): Handle new + `closure' objects. + (disassemble-1): Handle new byte codes. + + * emacs-lisp/cl.el (pushnew): Silence warning. + + * emacs-lisp/cl-macs.el (cl-byte-compile-block) + (cl-byte-compile-throw): Remove. + (cl-block-wrapper, cl-block-throw): Use compiler-macros instead. + + * emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL + closures. + + * emacs-lisp/cconv.el: New file. + + * emacs-lisp/bytecomp.el: Use lexical binding instead of + a "bytecomp-" prefix. Macroexpand everything as a separate phase. + (byte-compile-initial-macro-environment): + Handle declare-function here. + (byte-compile--lexical-environment): New var. + (byte-stack-ref, byte-stack-set, byte-discardN) + (byte-discardN-preserve-tos): New lap codes. + (byte-interactive-p): Don't use any more. + (byte-compile-push-bytecodes, byte-compile-push-bytecode-const2): + New macros. + (byte-compile-lapcode): Use them and handle new lap codes. + (byte-compile-obsolete): Remove. + (byte-compile-arglist-signature): Handle new byte-code arg"lists". + (byte-compile-arglist-warn): Check late def of inlinable funs. + (byte-compile-cl-warn): Don't silence warnings for compiler-macros + since they should have been expanded by now. + (byte-compile--outbuffer): Rename from bytecomp-outbuffer. + (byte-compile-from-buffer): Remove unused second arg. + (byte-compile-preprocess): New function. + (byte-compile-toplevel-file-form): New function to distinguish + file-form calls from outside from file-form calls from hunk-handlers. + (byte-compile-file-form): Simplify. + (byte-compile-file-form-defsubst): Remove. + (byte-compile-file-form-defmumble): Simplify now that + byte-compile-lambda always returns a byte-code-function. + (byte-compile): Preprocess. + (byte-compile-byte-code-maker, byte-compile-byte-code-unmake): + Remove, not used any more. + (byte-compile-arglist-vars, byte-compile-make-lambda-lexenv) + (byte-compile-make-args-desc): New funs. + (byte-compile-lambda): Handle lexical functions. Always return + a byte-code-function. + (byte-compile-reserved-constants): New var, to make up room for + closed-over variables. + (byte-compile-constants-vector): Obey it. + (byte-compile-top-level): New args `lexenv' and `reserved-csts'. + (byte-compile-macroexpand-declare-function): New function. + (byte-compile-form): Call byte-compile-unfold-bcf to inline immediate + byte-code-functions. + (byte-compile-form): Check obsolescence here. + (byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions. + (byte-compile-variable-ref): Remove. + (byte-compile-dynamic-variable-op): New fun. + (byte-compile-dynamic-variable-bind, byte-compile-variable-ref) + (byte-compile-variable-set): New funs. + (byte-compile-discard): Add 2 args. + (byte-compile-stack-ref, byte-compile-stack-set) + (byte-compile-make-closure, byte-compile-get-closed-var): New funs. + (byte-compile-funarg, byte-compile-funarg-2): Remove, handled in + macroexpand-all instead. + (byte-compile-quote-form): Remove. + (byte-compile-push-binding-init, byte-compile-not-lexical-var-p) + (byte-compile-bind, byte-compile-unbind): New funs. + (byte-compile-let): Handle let* and lexical binding. + (byte-compile-let*): Remove. + (byte-compile-catch, byte-compile-unwind-protect) + (byte-compile-track-mouse, byte-compile-condition-case): + Handle a new :fun-body form, used for lexical scoping. + (byte-compile-save-window-excursion) + (byte-compile-with-output-to-temp-buffer): Remove. + (byte-compile-defun): Simplify. + (byte-compile-stack-adjustment): New fun. + (byte-compile-out): Use it. + (byte-compile-refresh-preloaded): Don't reload byte-compiler files. + + * emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile' + handler any more. + + * emacs-lisp/byte-opt.el: Use lexical binding. + (byte-inline-lapcode): Remove (to bytecomp). + (byte-compile-inline-expand): Pay attention to inlining to/from + lexically bound code. + (byte-compile-unfold-lambda): Don't handle byte-code-functions + any more. + (byte-optimize-form-code-walker): Don't handle save-window-excursion + any more and don't call compiler-macros. + (byte-compile-splice-in-already-compiled-code): Remove. + (byte-code): Don't inline any more. + (disassemble-offset): Receive `bytes' as argument rather than via + dynamic scoping. + (byte-compile-tag-number): Declare before first use. + (byte-decompile-bytecode-1): Handle new byte-codes, don't change + `return' even if make-spliceable. + (byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove + obsolete interactive-p. + (byte-optimize-lapcode): Optimize new lap-codes. + Don't trip up on new form of `byte-constant' lap code. + + * emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros. + + * emacs-lisp/advice.el (ad-arglist): Use help-function-arglist. + + * custom.el (custom-initialize-default, custom-declare-variable): + Use `defvar'. + + * Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS): + New variables. + (compile-onefile, .el.elc, compile-calc, recompile): Use them. + (COMPILE_FIRST): Add macroexp and cconv. + * makefile.w32-in: Mirror changes in Makefile.in. + + * vc/cvs-status.el: + * vc/diff-mode.el: + * vc/log-edit.el: + * vc/log-view.el: + * vc/smerge-mode.el: + * textmodes/bibtex-style.el: + * textmodes/css-mode.el: + * startup.el: + * uniquify.el: + * minibuffer.el: + * newcomment.el: + * reveal.el: + * server.el: + * mpc.el: + * emacs-lisp/smie.el: + * doc-view.el: + * dired.el: + * abbrev.el: Use lexical binding. + +2011-04-01 Eli Zaretskii <eliz@gnu.org> + + * info.el (info-display-manual): New function. + +2011-03-31 Stefan Monnier <monnier@iro.umontreal.ca> + + * loadup.el: Load minibuffer after loaddefs, to use define-minor-mode. + +2011-03-31 Tassilo Horn <tassilo@member.fsf.org> + + * net/rcirc.el (rcirc-handler-001): Only authenticate, if there's + an entry for that server in rcirc-authinfo. (Bug#8385) + +2011-03-31 Glenn Morris <rgm@gnu.org> + + * progmodes/f90.el (f90-find-tag-default): Handle multiple `%'. + + * generic-x.el (etc-fstab-generic-mode): Add ext4, sysfs keywords. + +2011-03-30 Christoph Scholtes <cschol2112@googlemail.com> + + * progmodes/python.el (python-default-interpreter) + (python-python-command-args, python-jython-command-args) + (python-which-shell, python-which-args, python-which-bufname) + (python-file-queue, python-comint-output-filter-function) + (python-toggle-shells, python-shell): Remove obsolete defcustoms, + variables and functions. + +2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-table-dynamic): Optimize `boundaries'. + (completion-in-region-mode): New minor mode. + (completion-in-region): Use it. + (completion-in-region--data, completion-in-region-mode-map): New vars. + (completion-in-region--postch): New function. + (completion--capf-misbehave-funs, completion--capf-safe-funs): + New vars. + (completion--capf-wrapper): New function. + (completion-at-point): Use it to track well-behavedness of + hook functions. + (completion-help-at-point): New command. + +2011-03-30 Jason Merrill <jason@redhat.com> (tiny change) + + * vc/add-log.el (add-change-log-entry): Don't use whitespace + syntax class to search for whitespace on a single line + (Message-ID: <4D938140.4030905@redhat.com>). + +2011-03-30 Leo Liu <sdl.web@gmail.com> + + * abbrev.el (abbrev-edit-save-to-file, abbrev-edit-save-buffer): + New commands. + (edit-abbrevs-map): Bind them here. + (write-abbrev-file): New optinal arg VERBOSE. (Bug#5937) + +2011-03-29 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-hide-by-annotation, allout-flag-region): + Reduce possibility of overlay leakage by making them volatile. + + * allout-widgets.el (allout-widgets-tally): Define as nil so the + hash is not shared between buffers. Mode initialization is + responsible for giving it a useful starting value. + (allout-item-span): Reduce possibility of overlay leakage by + making them volatile. + (allout-widgets-count-buttons-in-region): Add diagnostic function + for tracking down button overlay leaks. + +2011-03-29 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-read-internal): Use the default history var + minibuffer-history if no HISTORY is specified. + +2011-03-28 Brian T. Sniffen <bsniffen@akamai.com> (tiny change) + + * net/imap.el (imap-shell-open, imap-process-connection-type): + Use imap-process-connection-type for 'shell' streams as well as + Kerberos, SSL, other subprocesses. + +2011-03-28 Leo Liu <sdl.web@gmail.com> + + * abbrev.el (abbrev-table-empty-p): New function. + (prepare-abbrev-list-buffer): Place empty abbrev tables after + nonempty ones. (Bug#5937) + +2011-03-27 Jan Djärv <jan.h.d@swipnet.se> + + * cus-start.el (all): Add boolean ns-auto-hide-menu-bar. + +2011-03-27 Leo Liu <sdl.web@gmail.com> + + * ansi-color.el (ansi-color-names-vector): Allow cons cell value + for foreground and background colors. + (ansi-color-make-color-map): Adapt. + +2011-03-25 Leo Liu <sdl.web@gmail.com> + + * midnight.el (midnight-time-float): Remove. Note it calculates + the microsecond component incorrectly and seconds-to-time does the + same job. + Remove redundant (require 'timer). + + * ido.el (ido-read-internal): Simplify with read-from-minibuffer. + (ido-completions): Remove unused arguments. (Bug#8329) + +2011-03-24 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--flush-all-sorted-completions): + Remove itself from hook. + (completion-at-point): Let the functions perform the completion + immediately and return nil or t. + * comint.el (comint-dynamic-complete-functions): Now identical to + completion-at-point-functions. + (comint-dynamic-list-input-ring): Remove unused var `index'. + (comint--match-partial-filename, comint--unquote&expand-filename): + New funs, split from comint-match-partial-filename. + (comint-dynamic-complete): Use completion-at-point. + (comint-dynamic-complete-filename): Use comint--match-partial-filename. + +2011-03-24 Drew Adams <drew.adams@oracle.com> + + * thingatpt.el: Support `defun'. + +2011-03-23 Leo Liu <sdl.web@gmail.com> + + * abbrevlist.el: Move to obsolete/abbrevlist.el. + + * help-mode.el (help-mode-finish): Tweak regexp. + +2011-03-23 Glenn Morris <rgm@gnu.org> + + * eshell/esh-opt.el (eshell-eval-using-options): + Do not bind unused local variable `eshell-option-stub'. + + * progmodes/gdb-mi.el (gdb): Fix typo in previous change. + +2011-03-22 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lisp/derived.el (define-derived-mode): Wrap declaration of + keymap variable in `with-no-warnings' to avoid a warning when the + keymap has been already `defconst'ed. + +2011-03-22 Leo Liu <sdl.web@gmail.com> + + * abbrev.el (write-abbrev-file): Use utf-8 for writing if it can + encode all chars in abbrevs; otherwise use emacs-mule or + utf-8-emacs. (Bug#8308) + +2011-03-22 Juanma Barranquero <lekktu@gmail.com> + + * simple.el (backward-delete-char-untabify): + Avoid warning about using `delete-backward-char'. + + * image.el (image-type-file-name-regexps): Make it variable. + `imagemagick-register-types' modifies it, and the user may want + to add new extensions for known image types. + (imagemagick-register-types): Throw error if not using ImageMagick. + +2011-03-22 Leo Liu <sdl.web@gmail.com> + + * net/rcirc.el (rcirc-completion-at-point): Return nil if point is + located before rcirc-prompt-end-marker. + (rcirc-complete): Error if point is not after rcirc prompt. + Handle the case when table is nil. + (rcirc-user-authenticated): Define to fix compiler warning. + +2011-03-22 Chong Yidong <cyd@stupidchicken.com> + + * custom.el (custom--inhibit-theme-enable): Make it affect only + custom-theme-set-variables and custom-theme-set-faces. + (provide-theme): Ignore custom--inhibit-theme-enable. + (load-theme): Enable the theme explicitly if NO-ENABLE is non-nil. + (custom-enabling-themes): Delete variable. + (enable-theme): Accept only loaded themes as arguments. + Ignore the special custom-enabled-themes variable. + (custom-enabled-themes): Forbid themes from setting this. + Eliminate use of custom-enabling-themes. + (custom-push-theme): Quote "changed" custom var entry. + +2011-03-21 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-read-internal): Add ido-selected to history instead + of user input. + +2011-03-21 Stefan Monnier <monnier@iro.umontreal.ca> + + * subr.el (deferred-action-list, deferred-action-function): + Mark obsolete. + +2011-03-21 Leo Liu <sdl.web@gmail.com> + + * vc/log-view.el: Remove (require 'wid-edit), not needed after the + change on 2011-02-13 (bug#8309). + + * minibuffer.el (read-file-name-function): Change default value. + (read-file-name--defaults): Rename from read-file-name-defaults. + (read-file-name-default): Rename from read-file-name. + (read-file-name): Call read-file-name-function. + +2011-03-21 Glenn Morris <rgm@gnu.org> + + * eshell/esh-opt.el (eshell-eval-using-options, eshell-process-args): + Doc fixes. + +2011-03-21 Chong Yidong <cyd@stupidchicken.com> + + * cus-theme.el: Add missing provide statement. + (customize-create-theme): Extract theme value correctly. + (custom-theme-visit-theme): Autoload. + (customize-create-theme): Prompt before inserting default faces. + +2011-03-20 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-menu.el (calc-units-menu): Add entries for logarithmic + units and musical notes. + +2011-03-20 Leo Liu <sdl.web@gmail.com> + + * ido.el (ido-read-internal): Use completing-read-default. + (ido-completing-read): Fix compatibility with completing-read. + +2011-03-20 Christian Ohler <ohler@gnu.org> + + * emacs-lisp/ert.el (ert-run-tests-batch): Remove unused variable. + (ert-delete-all-tests): Use `called-interactively-p' rather than + `interactive-p'. + (ert--make-xrefs-region): Respect END. + +2011-03-19 Chong Yidong <cyd@stupidchicken.com> + + * dired-aux.el (dired-create-directory): Signal an error if the + directory already exists (Bug#8246). + + * facemenu.el (list-colors-display): Call list-faces-display + inside with-help-window. + (list-colors-print): Use display property to align the final + column, instead of checking window-width. + +2011-03-19 Eli Zaretskii <eliz@gnu.org> + + * vc/emerge.el (emerge-metachars): Separate value for ms-dos and + windows-nt systems. + (emerge-protect-metachars): Quote correctly for ms-dos and + windows-nt systems. + +2011-03-19 Ralph Schleicher <rs@ralph-schleicher.de> + + * info.el (info-initialize): Replace all uses of `:' with + path-separator for compatibility with non-Unix systems. + Cache quoting of path-separator. (Bug#8258) + +2011-03-19 Juanma Barranquero <lekktu@gmail.com> + + * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist) + (mouse-avoidance-threshold, mouse-avoidance-banish-destination) + (mouse-avoidance-mode): Fix typos in docstrings. + +2011-03-19 Chong Yidong <cyd@stupidchicken.com> + + * startup.el (package-subdirectory-regexp): Move from package.el. + Omit \\` and \\', and let callers add them. + + * emacs-lisp/package.el (package-strip-version) + (package-load-all-descriptors): Add \\` and \\' to + package-subdirectory-regexp before using it. + (package-untar-buffer): New arg DIR; ensure that file untars only + into this expected directory. Remove superfluous delete-region. + (package-unpack): Caller changed. + (package-tar-file-info): Use package-subdirectory-regexp. + +2011-03-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from + diff-mode-shared-map (bug#8284). + (diff-mode-shared-map): Re-introduce some bindings that were problematic. + +2011-03-17 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * calendar/time-date.el (format-seconds): Use assoc instead of + assoc-string, since assoc-string doesn't exist in XEmacs. + +2011-03-17 Juanma Barranquero <lekktu@gmail.com> + + * custom.el (custom-known-themes): Reflow docstring. + (custom-theme-load-path): Fix typo in docstring. + (load-theme): Fix typo in error message. + (custom-available-themes, custom-variable-theme-value): + Use `let', not `let*'. + +2011-03-17 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/README: Mention inclusion of musical notes. + + * calc/calc-units.el (calc-lu-quant): Rename from + `calc-logunits-quantity'. + (calcFunc-lupquant): Rename from `calcFunc-powerquant'. + (calcFunc-lufquant): Rename from `calcFunc-fieldquant'. + (calc-db): Rename from `calc-dblevel'. + (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'. + (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'. + (calc-np): Rename from `calc-nplevel'. + (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'. + (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'. + (calc-lu-plus): Rename from `calc-logunits-add'. + (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'. + (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'. + (calc-lu-minus): Rename from `calc-logunits-sub'. + (calcFunc-lupsub): Rename from `calcFunc-lupowersub'. + (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'. + (calc-lu-times): Rename from `calc-logunits-mul'. + (calcFunc-lupmul): Rename from `calcFunc-lupowermul'. + (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'. + (calc-lu-divide): Rename from `calc-logunits-div'. + (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'. + (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'. + + * calc/calc-ext.el (calc-init-extensions): Update the names of the + functions being autoloaded. + + * calc/calc.el (calc-lu-power-reference): Rename from + `calc-logunits-power-reference'. + (calc-lu-field-reference): Rename from + `calc-logunits-field-reference'. + + * calc/calc-help.el (calc-l-prefix-help): + Mention musical note functions. + +2011-03-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion-all-sorted-completions): + Use :completion-cycle-penalty text property if present. + +2011-03-16 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-yank-processing): Adjust for new rebulleting + regime so bullet being yanked is used without prompting the user + for a choice. + +2011-03-16 Juanma Barranquero <lekktu@gmail.com> + + * startup.el (command-line): Warn the user that _emacs is deprecated. + +2011-03-16 Juanma Barranquero <lekktu@gmail.com> + + * progmodes/delphi.el (delphi-search-path, delphi-indent-level) + (delphi-verbose, delphi-comment-face, delphi-string-face) + (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line) + (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab) + (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment) + (delphi-new-comment-line, delphi-font-lock-defaults) + (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode): + Fix typos in docstrings. + +2011-03-15 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-make-topic-prefix, allout-rebullet-heading): + Invert the roles of character and string values for INSTEAD, so a + string is used for the more common case of a defaulting prompt. + +2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/ruby-mode.el (ruby-backward-sexp): + * progmodes/ebrowse.el (ebrowse-draw-file-member-info): + * play/gamegrid.el (gamegrid-make-face): + * play/bubbles.el (bubbles--grid-width, bubbles--grid-height) + (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images): + * notifications.el (notifications-notify): + * net/xesam.el (xesam-search-engines): + * net/quickurl.el (quickurl-list-insert): + * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case. + +2011-03-15 Chong Yidong <cyd@stupidchicken.com> + + * startup.el (command-line): Update package subdirectory regexp. + +2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * allout.el (allout-abbreviate-flattened-numbering) + (allout-mode-deactivate-hook): Fix up obsolescence "date". + + * subr.el (read-char-choice): Only show the cursor after the prompt, + not after the answer. + +2011-03-15 Kevin Ryde <user42@zip.com.au> + + * help-fns.el (variable-at-point): Skip leading quotes, if any + (bug#8253). + +2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the + warning message. + +2011-03-14 Michael Albinus <michael.albinus@gmx.de> + + * shell.el (shell): When called interactively, offer to change the + shell file name on remote hosts. + +2011-03-13 Teodor Zlatanov <tzz@lifelogs.com> + + * net/ldap.el (ldap-search-internal): Add `auth-source-search' + integration for LDAP parameters. The host, base, user or binddn, + and secret tokens can be specified in a netrc file, for instance. + This is optional because an `auth-source' parameter must be + specified in the search attributes. + +2011-03-13 Juanma Barranquero <lekktu@gmail.com> + + * help.el (describe-mode): Link to the mode's definition (bug#8185). + +2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization + into declaration. Remove redundant and harmful binding. + +2011-03-12 Eli Zaretskii <eliz@gnu.org> + + * files.el (file-ownership-preserved-p): Pass `integer' as an + explicit 2nd argument to `file-attributes'. If the file's owner + is the Administrators group on Windows, and the current user is + Administrator, consider that a match. + + * server.el (server-ensure-safe-dir): Consider server directory + safe on MS-Windows if its owner is the Administrators group while + the current Emacs user is Administrator. Use `=' to compare + numerical UIDs, since they could be integers or floats. + +2011-03-12 Juanma Barranquero <lekktu@gmail.com> + + * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170). + +2011-03-12 Michael Albinus <michael.albinus@gmx.de> + + Sync with Tramp 2.2.1. + + * net/tramp-sh.el (tramp-methods): Exchange "%k" marker with options. + + * net/trampver.el: Update release number. + +2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/compile.el (compilation--previous-directory): Fix up + various nil/dead-marker mismatches (bug#8014). + (compilation-directory-properties, compilation-error-properties): + Don't call it at a position past the one we're about to change. + + * emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable): + Disable obsolescence warnings in the file that declares it. + +2011-03-11 Ken Manheimer <ken.manheimer@gmail.com> + + * allout-widgets.el (allout-widgets-tally): + Initialize allout-widgets-tally as a hash table rather than nil to + prevent mode-line redisplay warnings. Also, clarify the module + description and fix a comment typo. + +2011-03-11 Juanma Barranquero <lekktu@gmail.com> + + * help-fns.el (describe-variable): Don't complete keywords. + Suggested by Teodor Zlatanov <tzz@lifelogs.com>. + +2011-03-10 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/package.el (package-version-join): Impose a standard + string representation for pre/alpha/beta version lists. + (package-unpack-single): Standardize the directory name by passing + it through package-version-join. + (package-strip-rcs-id): Accept any version string that does not + signal an error in version-to-list. + +2011-03-10 Michael Albinus <michael.albinus@gmx.de> + + * simple.el (delete-trailing-whitespace): Return nil for the + benefit of `write-file-functions'. + +2011-03-10 Glenn Morris <rgm@gnu.org> + + * vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program. + + * vc/vc-git.el (vc-git-program): New option. + (vc-git-branches, vc-git-pull, vc-git-merge-branch, vc-git-command) + (vc-git--call): Use it. + + * eshell/esh-util.el (eshell-condition-case): Doc fix. + + * cus-edit.el (Custom-newline): If no button at point, look + for a subgroup button at start-of-line. (Bug#2298) + + * mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes. + +2011-03-10 Julien Danjou <julien@danjou.info> + + * avoid.el (mouse-avoidance-ignore-p): Do not move the cursor if + `cursor-type' is nil. + +2011-03-09 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'. + +2011-03-09 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el: Change so yank of distinctive-bullet items + preserves the existing header prefix, rebulleting it if necessary, + rather than replacing it. This is necessary for proper operation + of cooperative addons like allout-widgets. + (allout-make-topic-prefix, allout-rebullet-heading): + Change SOLICIT arg to INSTEAD, and interpret additionally a string + value as alternate bullet to be used, instead of prompting the user + for a bullet character. + +2011-03-09 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Do not use `tramp-file-name-port', because this returns also + `tramp-default-port'. + +2011-03-09 Deniz Dogan <deniz.a.m.dogan@gmail.com> + + * net/rcirc.el (rcirc-handler-001): Remove useless + with-rcirc-process-buffer. + (rcirc-check-auth-status): Swap arguments to string-match. + +2011-03-09 Glenn Morris <rgm@gnu.org> + + * shell.el (shell-mode): + Set comint-input-ring-size from HISTSIZE. (Bug#7889) + + * progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change. + Check for GDBHISTFILE, HISTSIZE, etc. (Bug#7889) + +2011-03-08 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/package.el (package-refresh-contents) + (package-menu-execute): Use condition-case-no-debug. + +2011-03-08 Michael Albinus <michael.albinus@gmx.de> + + * simple.el (shell-command-to-string): Use `process-file'. + + * emacs-lisp/package.el (package-tar-file-info): Handle also + remote files. + + * emacs-lisp/package-x.el (package-upload-buffer-internal): + Use `equal' for upload base check. + +2011-03-08 Arni Magnusson <arnima@hafro.is> (tiny change) + + * textmodes/texinfo.el (texinfo-environments): + Add deftypecv, deftypeivar, deftypemethod, deftypeop, html. (Bug#2783) + +2011-03-08 Glenn Morris <rgm@gnu.org> + + * cus-start.el (cursor-in-non-selected-windows): + Fix :set quoting oddness. (Bug#8192) + + * font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)' + in some setf expressions. (Bug#2159) + +2011-03-08 Chong Yidong <cyd@stupidchicken.com> + + * custom.el (custom-available-themes): Return themes in + alphabetical order. + +See ChangeLog.15 for earlier changes. + +;; Local Variables: +;; coding: utf-8 +;; End: + + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This file is part of GNU Emacs. + + GNU Emacs is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + GNU Emacs is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 61449b66c9b..f93f2d32ef4 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -68,6 +68,7 @@ AUTOGENEL = loaddefs.el \ cus-load.el \ finder-inf.el \ subdirs.el \ + emacs-lisp/cl-loaddefs.el \ calc/calc-loaddefs.el \ eshell/esh-groups.el \ cedet/semantic/loaddefs.el \ @@ -79,7 +80,6 @@ AUTOGENEL = loaddefs.el \ AUTOGEN_VCS = \ ps-print.el \ emulation/tpu-edt.el \ - emacs-lisp/cl-loaddefs.el \ mail/rmail.el \ dired.el \ ibuffer.el \ @@ -178,7 +178,10 @@ autoloads: $(LOADDEFS) doit cd $(lisp) && chmod +w $(AUTOGEN_VCS) cd $(lisp); $(setwins_almost); \ echo Directories: $$wins; \ - $(emacs) -l autoload --eval '(setq generated-autoload-file (unmsys--file-name "$(lisp)/loaddefs.el"))' -f batch-update-autoloads $$wins + $(emacs) -l autoload \ + --eval '(setq autoload-builtin-package-versions t)' \ + --eval '(setq generated-autoload-file (unmsys--file-name "$(lisp)/loaddefs.el"))' \ + -f batch-update-autoloads $$wins # This is required by the bootstrap-emacs target in ../src/Makefile, so # we know that if we have an emacs executable, we also have a subdirs.el. diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el index eed125907b6..fd8e5f8ff94 100644 --- a/lisp/allout-widgets.el +++ b/lisp/allout-widgets.el @@ -293,8 +293,8 @@ The number varies according to the evanescence of objects on a "If non-nil, show cursor position of each item decoration. This is for debugging purposes, and generally set at need in a -buffer rather than as a prevailing configuration \(but it's handy -to publicize it by making it a customization variable\)." +buffer rather than as a prevailing configuration (but it's handy +to publicize it by making it a customization variable)." :version "24.1" :type 'boolean :group 'allout-widgets-developer) @@ -346,7 +346,7 @@ to `allout-body-modification-handler', and is always reset by "Cache allout icon images, as an association list. `allout-fetch-icon-image' uses this cache transparently, keying -images with lists containing the name of the icon directory \(as +images with lists containing the name of the icon directory (as found on the `load-path') and the icon name. Set this variable to `nil' to empty the cache, and have it replenish from the @@ -485,7 +485,7 @@ including things like: - encryption '~' - numbering '#' - indirect reference '@' - - distinctive bullets - see `allout-distinctive-bullets-string'.\)") + - distinctive bullets - see `allout-distinctive-bullets-string'.)") ;;;_ = allout-span-to-category (defvar allout-span-to-category '((:guides-span . allout-guides-span-category) @@ -534,7 +534,7 @@ The graphics include: The bullet-icon and guide line graphics provide keybindings and mouse bindings for easy outline navigation and exposure control, extending -outline hot-spot navigation \(see `allout-mode')." +outline hot-spot navigation (see `allout-mode')." :lighter nil :keymap nil @@ -646,11 +646,11 @@ outline hot-spot navigation \(see `allout-mode')." (set-buffer-modified-p was-modified)))) ;;;_ > allout-widgets-mode-off (defun allout-widgets-mode-off () - "Explicitly disable allout-widgets-mode." + "Explicitly disable `allout-widgets-mode'." (allout-widgets-mode -1)) ;;;_ > allout-widgets-mode-off (defun allout-widgets-mode-on () - "Explicitly disable allout-widgets-mode." + "Explicitly enable `allout-widgets-mode'." (allout-widgets-mode 1)) ;;;_ > allout-setup-text-properties () (defun allout-setup-text-properties () @@ -714,18 +714,18 @@ outline hot-spot navigation \(see `allout-mode')." (defvar allout-container-item-widget nil "A widget for the current outline's overarching container as an item. -The item has settings \(of the file/connection\) and maybe a body, but no +The item has settings (of the file/connection) and maybe a body, but no icon/bullet.") (make-variable-buffer-local 'allout-container-item-widget) ;;;_ . Hooks and hook helpers ;;;_ , major command-loop business: ;;;_ > allout-widgets-pre-command-business (&optional recursing) (defun allout-widgets-pre-command-business (&optional recursing) - "Handle actions pending before allout-mode activity." + "Handle actions pending before `allout-mode' activity." ) ;;;_ > allout-widgets-post-command-business (&optional recursing) (defun allout-widgets-post-command-business (&optional recursing) - "Handle actions pending after any allout-mode commands. + "Handle actions pending after any `allout-mode' commands. Optional RECURSING is for internal use, to limit recursion." ;; - check changed text for nesting discontinuities and escape anything @@ -1155,14 +1155,14 @@ Dispatched by `allout-widgets-post-command-business' in response to (defun allout-widgets-after-copy-or-kill-function () "Do allout-widgets processing of text just placed in the kill ring. -Intended for use on allout-after-copy-or-kill-hook." +Intended for use on `allout-after-copy-or-kill-hook'." (if (car kill-ring) (setcar kill-ring (allout-widgets-undecorate-text (car kill-ring))))) ;;;_ > allout-widgets-after-undo-function () (defun allout-widgets-after-undo-function () "Do allout-widgets processing of text after an undo. -Intended for use on allout-post-undo-hook." +Intended for use on `allout-post-undo-hook'." (save-excursion (if (allout-goto-prefix) (allout-redecorate-item (allout-get-or-create-item-widget))))) @@ -1359,7 +1359,7 @@ FROM and TO must be in increasing order, as must be the pairs in RANGES." (list (if included-from t) new-ranges))) ;;;_ > allout-test-range-overlaps () (defun allout-test-range-overlaps () - "allout-range-overlaps unit tests." + "`allout-range-overlaps' unit tests." (let* (ranges got (try (lambda (from to) @@ -1557,7 +1557,7 @@ recursive operation." The neighbors include its siblings and parent. -ITEM-WIDGET can be a created or converted allout-item-widget. +ITEM-WIDGET can be a created or converted `allout-item-widget'. If you're only trying to get or create a widget for an item, use `allout-get-or-create-item-widget'. If you have the item-widget, applying @@ -1565,7 +1565,7 @@ If you're only trying to get or create a widget for an item, use Optional BLANK-CONTAINER is for internal use. It is used to fabricate a container widget for an empty-bodied container, in the course of decorating -a proper \(non-container\) item which starts at the beginning of the file. +a proper (non-container) item which starts at the beginning of the file. Optional REDECORATE causes redecoration of the item-widget and its siblings, even if already decorated in this cycle of the command loop. @@ -1737,8 +1737,8 @@ If optional AT-BEGINNING is t, then point is assumed to be at the start of the item prefix. If optional BLANK-CONTAINER is true, then the parameters of a container -which has an empty body are set. \(Though the body is blank, the object -may have subitems.\)" +which has an empty body are set. (Though the body is blank, the object +may have subitems.)" ;; Uncomment this sit-for to notice where decoration is happening: ;; (sit-for .1) @@ -1857,8 +1857,8 @@ the various element spans." &optional parent-widget has-successor) "Add ITEM-WIDGET guide icon-prefix descender and connector text properties. -Optional arguments provide context for deriving the guides. In -their absence, the current guide column flags are used. +Optional arguments provide context for deriving the guides. +In their absence, the current guide column flags are used. Optional PARENT-WIDGET is the widget for the item's parent item. @@ -2222,7 +2222,7 @@ and decorate its siblings and parent, as well. Optional BLANK-CONTAINER is for internal use, to fabricate a meta-container item with an empty body when the first proper -\(non-container\) item starts at the beginning of the file. +\(non-container) item starts at the beginning of the file. Optional REDECORATE, if non-nil, means to redecorate the widget if it already exists." @@ -2254,7 +2254,7 @@ Point will wind up positioned on the beginning of the parent or beginning of the buffer." ;; use existing widget, if there, else establish it (if (or (bobp) (and (not (allout-ascend)) - (looking-at allout-regexp))) + (looking-at-p allout-regexp))) (allout-get-or-create-item-widget redecorate 'blank-container) (allout-get-or-create-item-widget redecorate))) ;;;_ : X- Item ancillaries @@ -2270,7 +2270,7 @@ Operation is inhibited by `allout-inhibit-body-modification-handler'." ;; - removal and replacement of the settings ;; - maintenance of beginning-of-line guide lines ;; -;; ?? Escapes removal \(before changes\) is not done when edits span multiple +;; ?? Escapes removal (before changes) is not done when edits span multiple ;; items, recognizing that item structure is being preserved, including ;; escaping of item-prefix-like text within bodies. See ;; `allout-before-modification-handler' and @@ -2284,7 +2284,7 @@ Operation is inhibited by `allout-inhibit-body-modification-handler'." (defun allout-graphics-modification-handler (beg end) "Protect against incoherent deletion of decoration graphics. -Deletes allowed only when inhibit-read-only is t." +Deletes allowed only when `inhibit-read-only' is t." (cond (undo-in-progress (when (eq (get-text-property beg 'category) 'allout-icon-span-category) diff --git a/lisp/allout.el b/lisp/allout.el index 1e4134b3ccf..a0d61eb6f35 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -5342,7 +5342,7 @@ Optional arg CONTEXT indicates interior levels to include." (cons (make-string (1+ (truncate (if (zerop (car flat-index)) 1 - (log10 (car flat-index))))) + (log (car flat-index) 10)))) ? ) result))) (setq flat-index (cdr flat-index))) @@ -5382,7 +5382,7 @@ Optional arg CONTEXT indicates interior levels to include." (cons (make-string (1+ (truncate (if (zerop (car flat-index)) 1 - (log10 (car flat-index))))) + (log (car flat-index) 10)))) ? ) result))) (setq flat-index (cdr flat-index))) diff --git a/lisp/ansi-color.el b/lisp/ansi-color.el index 042bcfb3223..bbe44f9b20b 100644 --- a/lisp/ansi-color.el +++ b/lisp/ansi-color.el @@ -1,4 +1,4 @@ -;;; ansi-color.el --- translate ANSI escape sequences into faces +;;; ansi-color.el --- translate ANSI escape sequences into faces -*- lexical-binding: t -*- ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. @@ -84,8 +84,9 @@ This translation effectively colorizes strings and regions based upon SGR control sequences embedded in the text. SGR (Select Graphic Rendition) control sequences are defined in section 8.3.117 of the -ECMA-48 standard \(identical to ISO/IEC 6429), which is freely available -as a PDF file <URL:http://www.ecma.ch/ecma1/STAND/ECMA-048.HTM>." +ECMA-48 standard (identical to ISO/IEC 6429), which is freely available +at <URL:http://www.ecma-international.org/publications/standards/Ecma-048.htm> +as a PDF file." :version "21.1" :group 'processes) @@ -119,7 +120,7 @@ map. This color map is stored in the variable `ansi-color-map'." ["black" "red" "green" "yellow" "blue" "magenta" "cyan" "white"] "Colors used for SGR control sequences determining a color. This vector holds the colors used for SGR control sequences parameters -30 to 37 \(foreground colors) and 40 to 47 (background colors). +30 to 37 (foreground colors) and 40 to 47 (background colors). Parameter Color 30 40 black @@ -234,14 +235,13 @@ This is a good function to put in `comint-output-filter-functions'." 'font-lock-default-unfontify-region "24.1") ;; Working with strings -(defvar ansi-color-context nil +(defvar-local ansi-color-context nil "Context saved between two calls to `ansi-color-apply'. This is a list of the form (CODES FRAGMENT) or nil. CODES represents the state the last call to `ansi-color-apply' ended with, currently a list of ansi codes, and FRAGMENT is a string starting with an escape sequence, possibly the start of a new escape sequence.") -(make-variable-buffer-local 'ansi-color-context) (defun ansi-color-filter-apply (string) "Filter out all ANSI control sequences from STRING. @@ -324,7 +324,8 @@ This function can be added to `comint-preoutput-filter-functions'." (setq codes (ansi-color-apply-sequence escape-sequence codes))) ;; if the rest of the string should have a face, put it there (when codes - (put-text-property start (length string) 'font-lock-face (ansi-color--find-face codes) string)) + (put-text-property start (length string) + 'font-lock-face (ansi-color--find-face codes) string)) ;; save context, add the remainder of the string to the result (let (fragment) (if (string-match "\033" string start) @@ -337,14 +338,13 @@ This function can be added to `comint-preoutput-filter-functions'." ;; Working with regions -(defvar ansi-color-context-region nil +(defvar-local ansi-color-context-region nil "Context saved between two calls to `ansi-color-apply-on-region'. This is a list of the form (CODES MARKER) or nil. CODES represents the state the last call to `ansi-color-apply-on-region' ended with, currently a list of ansi codes, and MARKER is a buffer position within an escape sequence or the last position processed.") -(make-variable-buffer-local 'ansi-color-context-region) (defun ansi-color-filter-region (begin end) "Filter out all ANSI control sequences from region BEGIN to END. @@ -461,7 +461,7 @@ If FACE is nil, do nothing." "Return a face with PROPERTY set to COLOR. PROPERTY can be either symbol `foreground' or symbol `background'. -For Emacs, we just return the cons cell \(PROPERTY . COLOR). +For Emacs, we just return the cons cell (PROPERTY . COLOR). For XEmacs, we create a temporary face and return it." (if (featurep 'xemacs) (let ((face (make-face (intern (concat color "-" (symbol-name property))) @@ -530,9 +530,10 @@ Returns nil only if there's no match for `ansi-color-parameter-regexp'." (nreverse codes))) (defun ansi-color-apply-sequence (escape-sequence codes) - "Apply ESCAPE-SEQ to CODES and return the new list of codes. + "Apply ESCAPE-SEQUENCE to CODES and return the new list of codes. -ESCAPE-SEQ is an escape sequence parsed by `ansi-color-parse-sequence'. +ESCAPE-SEQUENCE is an escape sequence parsed by +`ansi-color-parse-sequence'. For each new code, the following happens: if it is 1-7, add it to the list of codes; if it is 21-25 or 27, delete appropriate @@ -577,19 +578,19 @@ The index into the vector is an ANSI code. See the documentation of The face definitions are based upon the variables `ansi-color-faces-vector' and `ansi-color-names-vector'." - (let ((ansi-color-map (make-vector 50 nil)) + (let ((map (make-vector 50 nil)) (index 0)) ;; miscellaneous attributes (mapc (function (lambda (e) - (aset ansi-color-map index e) + (aset map index e) (setq index (1+ index)) )) ansi-color-faces-vector) ;; foreground attributes (setq index 30) (mapc (function (lambda (e) - (aset ansi-color-map index + (aset map index (ansi-color-make-face 'foreground (if (consp e) (car e) e))) (setq index (1+ index)) )) @@ -598,12 +599,12 @@ The face definitions are based upon the variables (setq index 40) (mapc (function (lambda (e) - (aset ansi-color-map index + (aset map index (ansi-color-make-face 'background (if (consp e) (cdr e) e))) (setq index (1+ index)) )) ansi-color-names-vector) - ansi-color-map)) + map)) (defvar ansi-color-map (ansi-color-make-color-map) "A brand new color map suitable for `ansi-color-get-face'. @@ -613,9 +614,9 @@ The value of this variable is usually constructed by numbers included in an SGR control sequences point to the correct foreground or background colors. -Example: The sequence \033[34m specifies a blue foreground. Therefore: +Example: The sequence \\033[34m specifies a blue foreground. Therefore: (aref ansi-color-map 34) - => \(foreground-color . \"blue\")") + => (foreground-color . \"blue\")") (defun ansi-color-map-update (symbol value) "Update `ansi-color-map'. diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index 4fc04b706b5..5f001ad977b 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -689,9 +689,7 @@ archive. (setq revert-buffer-function 'archive-mode-revert) (auto-save-mode 0) - ;; Remote archives are not written by a hook. - (if archive-remote nil - (add-hook 'write-contents-functions 'archive-write-file nil t)) + (add-hook 'write-contents-functions 'archive-write-file nil t) (make-local-variable 'require-final-newline) (setq require-final-newline nil) diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el index c45d64e1cd9..daa654889b6 100644 --- a/lisp/autoinsert.el +++ b/lisp/autoinsert.el @@ -164,7 +164,10 @@ If this contains a %s, that will be replaced by the matching rule." (("\\.el\\'" . "Emacs Lisp header") "Short description: " - ";;; " (file-name-nondirectory (buffer-file-name)) " --- " str " + ";;; " (file-name-nondirectory (buffer-file-name)) " --- " str + (make-string (max 2 (- 80 (current-column) 27)) ?\s) + "-*- lexical-binding: t; -*-" + " ;; Copyright (C) " (format-time-string "%Y") " " (getenv "ORGANIZATION") | (progn user-full-name) " diff --git a/lisp/autorevert.el b/lisp/autorevert.el index 4a6d4cb4cc0..00e88fc4a3d 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el @@ -103,6 +103,7 @@ (eval-when-compile (require 'cl-lib)) (require 'timer) +(require 'filenotify) ;; Custom Group: ;; @@ -270,21 +271,17 @@ This variable becomes buffer local when set in any fashion.") :type 'boolean :version "24.4") -(defconst auto-revert-notify-enabled - (or (featurep 'gfilenotify) (featurep 'inotify) (featurep 'w32notify)) - "Non-nil when Emacs has been compiled with file notification support.") - -(defcustom auto-revert-use-notify auto-revert-notify-enabled +(defcustom auto-revert-use-notify (and file-notify-support t) "If non-nil Auto Revert Mode uses file notification functions. This requires Emacs being compiled with file notification -support (see `auto-revert-notify-enabled'). You should set this -variable through Custom." +support (see `file-notify-support'). You should set this variable +through Custom." :group 'auto-revert :type 'boolean :set (lambda (variable value) - (set-default variable (and auto-revert-notify-enabled value)) + (set-default variable (and file-notify-support value)) (unless (symbol-value variable) - (when auto-revert-notify-enabled + (when file-notify-support (dolist (buf (buffer-list)) (with-current-buffer buf (when (symbol-value 'auto-revert-notify-watch-descriptor) @@ -502,12 +499,7 @@ will use an up-to-date value of `auto-revert-interval'" (puthash key value auto-revert-notify-watch-descriptor-hash-list) (remhash key auto-revert-notify-watch-descriptor-hash-list) (ignore-errors - (funcall - (cond - ((fboundp 'gfile-rm-watch) 'gfile-rm-watch) - ((fboundp 'inotify-rm-watch) 'inotify-rm-watch) - ((fboundp 'w32notify-rm-watch) 'w32notify-rm-watch)) - auto-revert-notify-watch-descriptor))))) + (file-notify-rm-watch auto-revert-notify-watch-descriptor))))) auto-revert-notify-watch-descriptor-hash-list) (remove-hook 'kill-buffer-hook 'auto-revert-notify-rm-watch)) (setq auto-revert-notify-watch-descriptor nil @@ -522,100 +514,58 @@ will use an up-to-date value of `auto-revert-interval'" (when (and buffer-file-name auto-revert-use-notify (not auto-revert-notify-watch-descriptor)) - (let ((func - (cond - ((fboundp 'gfile-add-watch) 'gfile-add-watch) - ((fboundp 'inotify-add-watch) 'inotify-add-watch) - ((fboundp 'w32notify-add-watch) 'w32notify-add-watch))) - (aspect - (cond - ((fboundp 'gfile-add-watch) '(watch-mounts)) - ;; `attrib' is needed for file modification time. - ((fboundp 'inotify-add-watch) '(attrib create modify moved-to)) - ((fboundp 'w32notify-add-watch) '(size last-write-time)))) - (file (if (or (fboundp 'gfile-add-watch) (fboundp 'inotify-add-watch)) - (directory-file-name (expand-file-name default-directory)) - (buffer-file-name)))) - (setq auto-revert-notify-watch-descriptor - (ignore-errors - (funcall func file aspect 'auto-revert-notify-handler))) - (if auto-revert-notify-watch-descriptor - (progn - (puthash - auto-revert-notify-watch-descriptor - (cons (current-buffer) - (gethash auto-revert-notify-watch-descriptor - auto-revert-notify-watch-descriptor-hash-list)) - auto-revert-notify-watch-descriptor-hash-list) - (add-hook (make-local-variable 'kill-buffer-hook) - 'auto-revert-notify-rm-watch)) - ;; Fallback to file checks. - (set (make-local-variable 'auto-revert-use-notify) nil))))) - -(defun auto-revert-notify-event-p (event) - "Check that event is a file notification event." - (and (listp event) - (cond ((featurep 'gfilenotify) - (and (>= (length event) 3) (stringp (nth 2 event)))) - ((featurep 'inotify) - (= (length event) 4)) - ((featurep 'w32notify) - (and (= (length event) 3) (stringp (nth 2 event))))))) - -(defun auto-revert-notify-event-descriptor (event) - "Return watch descriptor of file notification event, or nil." - (and (auto-revert-notify-event-p event) (car event))) - -(defun auto-revert-notify-event-action (event) - "Return action of file notification event, or nil." - (and (auto-revert-notify-event-p event) (nth 1 event))) - -(defun auto-revert-notify-event-file-name (event) - "Return file name of file notification event, or nil." - (and (auto-revert-notify-event-p event) - (cond ((featurep 'gfilenotify) (nth 2 event)) - ((featurep 'inotify) (nth 3 event)) - ((featurep 'w32notify) (nth 2 event))))) + (setq auto-revert-notify-watch-descriptor + (ignore-errors + (file-notify-add-watch + (expand-file-name buffer-file-name default-directory) + '(change attribute-change) 'auto-revert-notify-handler))) + (if auto-revert-notify-watch-descriptor + (progn + (puthash + auto-revert-notify-watch-descriptor + (cons (current-buffer) + (gethash auto-revert-notify-watch-descriptor + auto-revert-notify-watch-descriptor-hash-list)) + auto-revert-notify-watch-descriptor-hash-list) + (add-hook (make-local-variable 'kill-buffer-hook) + 'auto-revert-notify-rm-watch)) + ;; Fallback to file checks. + (set (make-local-variable 'auto-revert-use-notify) nil)))) (defun auto-revert-notify-handler (event) "Handle an EVENT returned from file notification." - (when (auto-revert-notify-event-p event) - (let* ((descriptor (auto-revert-notify-event-descriptor event)) - (action (auto-revert-notify-event-action event)) - (file (auto-revert-notify-event-file-name event)) + (ignore-errors + (let* ((descriptor (car event)) + (action (nth 1 event)) + (file (nth 2 event)) + (file1 (nth 3 event)) ;; Target of `renamed'. (buffers (gethash descriptor auto-revert-notify-watch-descriptor-hash-list))) - (ignore-errors - ;; Check, that event is meant for us. - ;; TODO: Filter events which stop watching, like `move' or `removed'. - (cl-assert descriptor) - (cond - ((featurep 'gfilenotify) - (cl-assert (memq action '(attribute-changed changed created deleted - ;; FIXME: I keep getting this action, so I - ;; added it here, but I have no idea what - ;; I'm doing. --Stef - changes-done-hint)) - t)) - ((featurep 'inotify) - (cl-assert (or (memq 'attrib action) - (memq 'create action) - (memq 'modify action) - (memq 'moved-to action)))) - ((featurep 'w32notify) (cl-assert (eq 'modified action)))) - ;; Since we watch a directory, a file name must be returned. - (cl-assert (stringp file)) - (dolist (buffer buffers) - (when (buffer-live-p buffer) - (with-current-buffer buffer - (when (and (stringp buffer-file-name) - (string-equal - (file-name-nondirectory file) - (file-name-nondirectory buffer-file-name))) - ;; Mark buffer modified. - (setq auto-revert-notify-modified-p t) - ;; No need to check other buffers. - (cl-return))))))))) + ;; Check, that event is meant for us. + (cl-assert descriptor) + ;; We do not handle `deleted', because nothing has to be refreshed. + (cl-assert (memq action '(attribute-changed changed created renamed)) t) + ;; Since we watch a directory, a file name must be returned. + (cl-assert (stringp file)) + (when (eq action 'renamed) (cl-assert (stringp file1))) + ;; Loop over all buffers, in order to find the intended one. + (dolist (buffer buffers) + (when (buffer-live-p buffer) + (with-current-buffer buffer + (when (and (stringp buffer-file-name) + (or + (and (memq action '(attribute-changed changed created)) + (string-equal + (file-name-nondirectory file) + (file-name-nondirectory buffer-file-name))) + (and (eq action 'renamed) + (string-equal + (file-name-nondirectory file1) + (file-name-nondirectory buffer-file-name))))) + ;; Mark buffer modified. + (setq auto-revert-notify-modified-p t) + ;; No need to check other buffers. + (cl-return)))))))) (defun auto-revert-active-p () "Check if auto-revert is active (in current buffer or globally)." diff --git a/lisp/bindings.el b/lisp/bindings.el index 2013c079820..005e43b3059 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -696,29 +696,57 @@ language you are using." (put 'narrow-to-region 'disabled t) ;; Moving with arrows in bidi-sensitive direction. +(defcustom visual-order-cursor-movement nil + "If non-nil, moving cursor with arrow keys follows the visual order. + +When this is non-nil, \\[right-char] will move to the character that is +to the right of point on display, and \\[left-char] will move to the left, +disregarding the surrounding bidirectional context. Depending on the +bidirectional context of the surrounding characters, this can move point +many buffer positions away. + +When the text is entirely left-to-right, logical-order and visual-order +cursor movements produce identical results." + :type '(choice (const :tag "Logical-order cursor movement" nil) + (const :tag "Visual-order cursor movement" t)) + :group 'display + :version "24.5") + (defun right-char (&optional n) "Move point N characters to the right (to the left if N is negative). On reaching beginning or end of buffer, stop and signal error. -Depending on the bidirectional context, this may move either forward -or backward in the buffer. This is in contrast with \\[forward-char] -and \\[backward-char], which see." +If `visual-order-cursor-movement' is non-nil, this always moves +to the right on display, wherever that is in the buffer. +Otherwise, depending on the bidirectional context, this may move +one position either forward or backward in the buffer. This is +in contrast with \\[forward-char] and \\[backward-char], which +see." (interactive "^p") - (if (eq (current-bidi-paragraph-direction) 'left-to-right) - (forward-char n) - (backward-char n))) + (if visual-order-cursor-movement + (dotimes (i (if (numberp n) (abs n) 1)) + (move-point-visually (if (and (numberp n) (< n 0)) -1 1))) + (if (eq (current-bidi-paragraph-direction) 'left-to-right) + (forward-char n) + (backward-char n)))) (defun left-char ( &optional n) "Move point N characters to the left (to the right if N is negative). On reaching beginning or end of buffer, stop and signal error. -Depending on the bidirectional context, this may move either backward -or forward in the buffer. This is in contrast with \\[backward-char] -and \\[forward-char], which see." +If `visual-order-cursor-movement' is non-nil, this always moves +to the left on display, wherever that is in the buffer. +Otherwise, depending on the bidirectional context, this may move +one position either backward or forward in the buffer. This is +in contrast with \\[forward-char] and \\[backward-char], which +see." (interactive "^p") - (if (eq (current-bidi-paragraph-direction) 'left-to-right) - (backward-char n) - (forward-char n))) + (if visual-order-cursor-movement + (dotimes (i (if (numberp n) (abs n) 1)) + (move-point-visually (if (and (numberp n) (< n 0)) 1 -1))) + (if (eq (current-bidi-paragraph-direction) 'left-to-right) + (backward-char n) + (forward-char n)))) (defun right-word (&optional n) "Move point N words to the right (to the left if N is negative). diff --git a/lisp/bs.el b/lisp/bs.el index 9c6c4efd2bc..af213333a79 100644 --- a/lisp/bs.el +++ b/lisp/bs.el @@ -336,15 +336,13 @@ Used internally, only.") ;; Internal globals ;; ---------------------------------------------------------------------- -(defvar bs-buffer-show-mark nil +(defvar-local bs-buffer-show-mark nil "Flag for the current mode for showing this buffer. A value of nil means buffer will be shown depending on the current configuration. A value of `never' means to never show the buffer. A value of `always' means to show buffer regardless of the configuration.") -(make-variable-buffer-local 'bs-buffer-show-mark) - ;; Make face named region (for XEmacs) (unless (facep 'region) (make-face 'region) @@ -648,17 +646,14 @@ available Buffer Selection Menu configuration. to show always. \\[bs-visit-tags-table] -- call `visit-tags-table' on current line's buffer. \\[bs-help] -- display this help text." - (make-local-variable 'font-lock-defaults) - (make-local-variable 'font-lock-verbose) - (make-local-variable 'font-lock-global-modes) (buffer-disable-undo) (setq buffer-read-only t truncate-lines t - show-trailing-whitespace nil - font-lock-global-modes '(not bs-mode) - font-lock-defaults '(bs-mode-font-lock-keywords t) - font-lock-verbose nil) - (set (make-local-variable 'revert-buffer-function) 'bs-refresh) + show-trailing-whitespace nil) + (setq-local font-lock-defaults '(bs-mode-font-lock-keywords t)) + (setq-local font-lock-verbose nil) + (setq-local font-lock-global-modes '(not bs-mode)) + (setq-local revert-buffer-function 'bs-refresh) (add-hook 'window-size-change-functions 'bs--track-window-changes) (add-hook 'kill-buffer-hook 'bs--remove-hooks nil t) (add-hook 'change-major-mode-hook 'bs--remove-hooks nil t)) diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index 6c02233e1e2..1db9b7229f3 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el @@ -129,6 +129,7 @@ commands.") (define-key map "T" 'Buffer-menu-toggle-files-only) (define-key map (kbd "M-s a C-s") 'Buffer-menu-isearch-buffers) (define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp) + (define-key map (kbd "M-s a C-o") 'Buffer-menu-multi-occur) (define-key map [mouse-2] 'Buffer-menu-mouse-select) (define-key map [follow-link] 'mouse-face) @@ -169,6 +170,9 @@ commands.") (bindings--define-key menu-map [ir] '(menu-item "Isearch Marked Buffers..." Buffer-menu-isearch-buffers :help "Search for a string through all marked buffers using Isearch")) + (bindings--define-key menu-map [mo] + '(menu-item "Multi Occur Marked Buffers..." Buffer-menu-multi-occur + :help "Show lines matching a regexp in marked buffers using Occur")) (bindings--define-key menu-map [s3] menu-bar-separator) (bindings--define-key menu-map [by] '(menu-item "Bury" Buffer-menu-bury @@ -226,6 +230,7 @@ In Buffer Menu mode, the following commands are defined: buffer selected before this one in another window. \\[Buffer-menu-isearch-buffers] Incremental search in the marked buffers. \\[Buffer-menu-isearch-buffers-regexp] Isearch for regexp in the marked buffers. +\\[Buffer-menu-multi-occur] Show lines matching regexp in the marked buffers. \\[Buffer-menu-visit-tags-table] visit-tags-table this buffer. \\[Buffer-menu-not-modified] Clear modified-flag on that buffer. \\[Buffer-menu-save] Mark that buffer to be saved, and move down. @@ -477,6 +482,11 @@ If UNMARK is non-nil, unmark them." (interactive) (multi-isearch-buffers-regexp (Buffer-menu-marked-buffers))) +(defun Buffer-menu-multi-occur (regexp &optional nlines) + "Show all lines in marked buffers containing a match for a regexp." + (interactive (occur-read-primary-args)) + (multi-occur (Buffer-menu-marked-buffers) regexp nlines)) + (defun Buffer-menu-visit-tags-table () "Visit the tags table in the buffer on this line. See `visit-tags-table'." diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index bd5c9089bcc..8a17ad7ce30 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el @@ -2485,7 +2485,7 @@ the United States." (defconst math-bignum-digit-length - (truncate (/ (log10 (/ most-positive-fixnum 2)) 2)) + (truncate (/ (log (/ most-positive-fixnum 2) 10) 2)) "The length of a \"digit\" in Calc bignums. If a big integer is of the form (bigpos N0 N1 ...), this is the length of the allowable Emacs integers N0, N1,... diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index 7be44b4083e..7bdb3cd49f6 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el @@ -1032,7 +1032,14 @@ in the mode line. This is an option for `diary-display-function'." (define-obsolete-function-alias 'simple-diary-display 'diary-simple-display "23.1") -(define-button-type 'diary-entry 'action #'diary-goto-entry +(defvar diary-goto-entry-function 'diary-goto-entry + "Function called to jump to a diary entry. +Modes that require special handling of the included file +containing the diary entry can assign a suitable function to this +variable.") + +(define-button-type 'diary-entry + 'action (lambda (button) (funcall diary-goto-entry-function button)) 'face 'diary-button 'help-echo "Find this diary entry" 'follow-link t) diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el index c109ecefb7d..934dfb92a57 100644 --- a/lisp/calendar/todo-mode.el +++ b/lisp/calendar/todo-mode.el @@ -1,10 +1,10 @@ -;;; todo-mode.el --- major mode for editing TODO list files +;;; todo-mode.el --- facilities for making and maintaining todo lists -;; Copyright (C) 1997, 1999, 2001-2013 Free Software Foundation, Inc. +;; Copyright (C) 1997, 1999, 2001-2013 Free Software Foundation, Inc. ;; Author: Oliver Seidel <privat@os10000.net> +;; Stephen Berman <stephen.berman@gmx.net> ;; Maintainer: Stephen Berman <stephen.berman@gmx.net> -;; Created: 2 Aug 1997 ;; Keywords: calendar, todo ;; This file is part of GNU Emacs. @@ -22,954 +22,6512 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. -;; --------------------------------------------------------------------------- - ;;; Commentary: -;; Mode Description -;; -;; TODO is a major mode for EMACS which offers functionality to -;; treat most lines in one buffer as a list of items one has to -;; do. There are facilities to add new items, which are -;; categorized, to edit or even delete items from the buffer. -;; The buffer contents are currently compatible with the diary, -;; so that the list of todo-items will show up in the FANCY diary -;; mode. -;; -;; Notice: Besides the major mode, this file also exports the -;; function `todo-show' which will change to the one specific -;; TODO file that has been specified in the todo-file-do -;; variable. If this file does not conform to the TODO mode -;; conventions, the todo-show function will add the appropriate -;; header and footer. I don't anticipate this to cause much -;; grief, but be warned, in case you attempt to read a plain text -;; file. -;; -;; Preface, Quickstart Installation -;; -;; To get this to work, make Emacs execute the line -;; -;; (autoload 'todo-mode "todo-mode" -;; "Major mode for editing TODO lists." t) -;; (autoload 'todo-show "todo-mode" -;; "Show TODO items." t) -;; (autoload 'todo-insert-item "todo-mode" -;; "Add TODO item." t) -;; -;; You may now enter new items by typing "M-x todo-insert-item", -;; or enter your TODO list file by typing "M-x todo-show". -;; -;; The TODO list file has a special format and some auxiliary -;; information, which will be added by the todo-show function if -;; it attempts to visit an un-initialized file. Hence it is -;; recommended to use the todo-show function for the first time, -;; in order to initialize the file, but it is not necessary -;; afterwards. -;; -;; As these commands are quite long to type, I would recommend -;; the addition of two bindings to your to your global keymap. I -;; personally have the following in my initialization file: -;; -;; (global-set-key "\C-ct" 'todo-show) ; switch to TODO buffer -;; (global-set-key "\C-ci" 'todo-insert-item) ; insert new item -;; -;; Note, however, that this recommendation has prompted some -;; criticism, since the keys C-c LETTER are reserved for user -;; functions. I believe my recommendation is acceptable, since -;; the Emacs Lisp Manual *Tips* section also details that the -;; mode itself should not bind any functions to those keys. The -;; express aim of the above two bindings is to work outside the -;; mode, which doesn't need the show function and offers a -;; different binding for the insert function. They serve as -;; shortcuts and are not even needed (since the TODO mode will be -;; entered by visiting the TODO file, and later by switching to -;; its buffer). -;; -;; If you are an advanced user of this package, please consult -;; the whole source code for autoloads, because there are several -;; extensions that are not explicitly listed in the above quick -;; installation. -;; -;; Pre-Requisites -;; -;; This package will require the following packages to be -;; available on the load-path: -;; -;; time-stamp -;; easymenu -;; -;; Operation -;; -;; You will have the following facilities available: -;; -;; M-x todo-show will enter the todo list screen, here type -;; -;; + to go to next category -;; - to go to previous category -;; d to file the current entry, including a -;; comment and timestamp -;; e to edit the current entry -;; E to edit a multi-line entry -;; f to file the current entry, including a -;; comment and timestamp -;; i to insert a new entry, with prefix, omit category -;; I to insert a new entry at current cursor position -;; j jump to category -;; k to kill the current entry -;; l to lower the current entry's priority -;; n for the next entry -;; p for the previous entry -;; P print -;; q to save the list and exit the buffer -;; r to raise the current entry's priority -;; s to save the list -;; S to save the list of top priorities -;; t show top priority items for each category -;; -;; When you add a new entry, you are asked for the text and then -;; for the category. I for example have categories for things -;; that I want to do in the office (like mail my mum), that I -;; want to do in town (like buy cornflakes) and things I want to -;; do at home (move my suitcases). The categories can be -;; selected with the cursor keys and if you type in the name of a -;; category which didn't exist before, an empty category of the -;; desired name will be added and filled with the new entry. -;; -;; Configuration -;; -;; Variable todo-prefix -;; -;; I would like to recommend that you use the prefix "*/*" (by -;; leaving the variable 'todo-prefix' untouched) so that the -;; diary displays each entry every day. -;; -;; To understand what I mean, please read the documentation that -;; goes with the calendar since that will tell you how you can -;; set up the fancy diary display and use the #include command to -;; include your todo list file as part of your diary. -;; -;; If you have the diary package set up to usually display more -;; than one day's entries at once, consider using -;; -;; "&%%(equal (calendar-current-date) date)" -;; -;; as the value of `todo-prefix'. Please note that this may slow -;; down the processing of your diary file some. -;; -;; Carsten Dominik <dominik@strw.LeidenUniv.nl> suggested that -;; -;; "&%%(todo-cp)" -;; -;; might be nicer and to that effect a function has been declared -;; further down in the code. You may wish to auto-load this. -;; -;; Carsten also writes that that *changing* the prefix after the -;; todo list is already established is not as simple as changing -;; the variable - the todo files have to be changed by hand. -;; -;; Variable todo-file-do -;; -;; This variable is fairly self-explanatory. You have to store -;; your TODO list somewhere. This variable tells the package -;; where to go and find this file. -;; -;; Variable todo-file-done -;; -;; Even when you're done, you may wish to retain the entries. -;; Given that they're timestamped and you are offered to add a -;; comment, this can make a useful diary of past events. It will -;; even blend in with the EMACS diary package. So anyway, this -;; variable holds the name of the file for the filed todo-items. -;; -;; Variable todo-file-top -;; -;; File storing the top priorities of your TODO list when -;; todo-save-top-priorities is non-nil. Nice to include in your -;; diary instead of the complete TODO list. -;; -;; Variable todo-mode-hook -;; -;; Just like other modes, too, this mode offers to call your -;; functions before it goes about its business. This variable -;; will be inspected for any functions you may wish to have -;; called once the other TODO mode preparations have been -;; completed. -;; -;; Variable todo-insert-threshold -;; -;; Another nifty feature is the insertion accuracy. If you have -;; 8 items in your TODO list, then you may get asked 4 questions -;; by the binary insertion algorithm. However, you may not -;; really have a need for such accurate priorities amongst your -;; TODO items. If you now think about the binary insertion -;; halving the size of the window each time, then the threshold -;; is the window size at which it will stop. If you set the -;; threshold to zero, the upper and lower bound will coincide at -;; the end of the loop and you will insert your item just before -;; that point. If you set the threshold to, e.g. 8, it will stop -;; as soon as the window size drops below that amount and will -;; insert the item in the approximate center of that window. I -;; got the idea for this feature after reading a very helpful -;; e-mail reply from Trey Jackson <trey@cs.berkeley.edu> who -;; corrected some of my awful coding and pointed me towards some -;; good reading. Thanks Trey! -;; -;; Things to do -;; -;; These originally were my ideas, but now also include all the -;; suggestions that I included before forgetting them: -;; -;; o Fancy fonts for todo/top-priority buffer -;; o Remove todo-prefix option in todo-top-priorities -;; o Rename category -;; o Move entry from one category to another one -;; o Entries which both have the generic */* prefix and a -;; "deadline" entry which are understood by diary, indicating -;; an event (unless marked by &) -;; o The optional COUNT variable of todo-forward-item should be -;; applied to the other functions performing similar tasks -;; o Modularization could be done for repeated elements of -;; the code, like the completing-read lines of code. -;; o license / version function -;; o export to diary file -;; o todo-report-bug -;; o GNATS support -;; o elide multiline (as in bbdb, or, to a lesser degree, in -;; outline mode) -;; o rewrite complete package to store data as Lisp objects -;; and have display modes for display, for diary export, -;; etc. (Richard Stallman pointed out this is a bad idea) -;; o so base todo-mode.el on generic-mode.el instead -;; -;; History and Gossip -;; -;; Many thanks to all the ones who have contributed to the -;; evolution of this package! I hope I have listed all of you -;; somewhere in the documentation or at least in the RCS history! -;; -;; Enjoy this package and express your gratitude by sending nice -;; things to my parents' address! -;; -;; Oliver Seidel -;; (Lessingstr. 8, 65760 Eschborn, Federal Republic of Germany) +;; This package provides facilities for making, displaying, navigating +;; and editing todo lists, which are prioritized lists of todo items. +;; Todo lists are identified with named categories, so you can group +;; together and separately prioritize thematically related todo items. +;; Each category is stored in a file, which thus provides a further +;; level of organization. You can create as many todo files, and in +;; each as many categories, as you want. -;;; Code: +;; With Todo mode you can navigate among the items of a category, and +;; between categories in the same and in different todo files. You +;; can edit todo items, reprioritize them within their category, move +;; them to another category, delete them, or mark items as done and +;; store them separately from the not yet done items in a category. +;; You can add new todo files, edit and delete them. You can add new +;; categories, rename and delete them, move categories to another file +;; and merge the items of two categories. You can also reorder the +;; sequence of categories in a todo file for the purpose of +;; navigation. You can display summary tables of the categories in a +;; file and the types of items they contain. And you can compile +;; lists of existing items from multiple categories in one or more +;; todo files, which are filtered by various criteria. -(require 'time-stamp) +;; To get started, load this package and type `M-x todo-show'. This +;; will prompt you for the name of the first todo file, its first +;; category and the category's first item, create these and display +;; them in Todo mode. Now you can insert further items into the list +;; (i.e., the category) and assign them priorities by typing `i i'. +;; You will probably find it convenient to give `todo-show' a global +;; key binding in your init file, since it is one of the entry points +;; to Todo mode; a good choice is `C-c t', since `todo-show' is +;; bound to `t' in Todo mode. -;; User-configurable variables: +;; To see a list of all Todo mode commands and their key bindings, +;; including other entry points, type `C-h m' in Todo mode. Consult +;; the documentation strings of the commands for details of their use. +;; The `todo' customization group and its subgroups list the options +;; you can set to alter the behavior of many commands and various +;; aspects of the display. -(defgroup todo nil - "Maintain a list of todo items." - :link '(emacs-commentary-link "todo-mode") - :version "21.1" - :group 'calendar) +;; This package is a new version of Oliver Seidel's todo-mode.el. +;; While it retains the same basic organization and handling of todo +;; lists and the basic UI, it significantly extends these and adds +;; many features. This required also making changes to the internals, +;; including the file format. If you have a todo file in old format, +;; then the first time you invoke `todo-show' (i.e., before you have +;; created any todo file in the current format), it will ask you +;; whether to convert that file and show it. If you choose not to +;; convert the old-style file at this time, you can do so later by +;; calling the command `todo-convert-legacy-files'. -(defcustom todo-prefix "*/*" - "TODO mode prefix for entries. +;;; Code: -This is useful in conjunction with `calendar' and `diary' if you use +(require 'diary-lib) +;; For cl-remove-duplicates (in todo-insertion-commands-args) and +;; cl-oddp. +(require 'cl-lib) -#include \"~/.todo-do\" +;; ----------------------------------------------------------------------------- +;;; Setting up todo files, categories, and items +;; ----------------------------------------------------------------------------- -in your diary file to include your todo list file as part of your -diary. With the default value \"*/*\" the diary displays each entry -every day and it may also be marked on every day of the calendar. -Using \"&%%(equal (calendar-current-date) date)\" instead will only -show and mark todo entries for today, but may slow down processing of -the diary file somewhat." - :type 'string - :group 'todo) -(defcustom todo-file-do (locate-user-emacs-file "todo-do" ".todo-do") - "TODO mode list file." - :type 'file - :group 'todo) -(defcustom todo-file-done (locate-user-emacs-file "todo-done" ".todo-done") - "TODO mode archive file." - :type 'file - :group 'todo) -(defcustom todo-mode-hook nil - "TODO mode hooks." - :type 'hook - :group 'todo) -(defcustom todo-edit-mode-hook nil - "TODO Edit mode hooks." - :type 'hook +(defcustom todo-directory (locate-user-emacs-file "todo/") + "Directory where user's todo files are saved." + :type 'directory :group 'todo) -(defcustom todo-insert-threshold 0 - "TODO mode insertion accuracy. - -If you have 8 items in your TODO list, then you may get asked 4 -questions by the binary insertion algorithm. However, you may not -really have a need for such accurate priorities amongst your TODO -items. If you now think about the binary insertion halving the size -of the window each time, then the threshold is the window size at -which it will stop. If you set the threshold to zero, the upper and -lower bound will coincide at the end of the loop and you will insert -your item just before that point. If you set the threshold to, -e.g. 8, it will stop as soon as the window size drops below that -amount and will insert the item in the approximate center of that -window." - :type 'integer + +(defun todo-files (&optional archives) + "Default value of `todo-files-function'. +This returns the case-insensitive alphabetically sorted list of +file truenames in `todo-directory' with the extension +\".todo\". With non-nil ARCHIVES return the list of archive file +truenames (those with the extension \".toda\")." + (let ((files (if (file-exists-p todo-directory) + (mapcar 'file-truename + (directory-files todo-directory t + (if archives "\.toda$" "\.todo$") t))))) + (sort files (lambda (s1 s2) (let ((cis1 (upcase s1)) + (cis2 (upcase s2))) + (string< cis1 cis2)))))) + +(defcustom todo-files-function 'todo-files + "Function returning the value of the variable `todo-files'. +This function should take an optional argument that, if non-nil, +makes it return the value of the variable `todo-archives'." + :type 'function :group 'todo) -(defvar todo-edit-buffer " *TODO Edit*" - "TODO Edit buffer name.") -(defcustom todo-file-top (locate-user-emacs-file "todo-top" ".todo-top") - "TODO mode top priorities file. -Not in TODO format, but diary compatible. -Automatically generated when `todo-save-top-priorities' is non-nil." +(defvar todo-files (funcall todo-files-function) + "List of truenames of user's todo files.") + +(defvar todo-archives (funcall todo-files-function t) + "List of truenames of user's todo archives.") + +(defvar todo-visited nil + "List of todo files visited in this session by `todo-show'. +Used to determine initial display according to the value of +`todo-show-first'.") + +(defvar todo-file-buffers nil + "List of file names of live Todo mode buffers.") + +(defvar todo-global-current-todo-file nil + "Variable holding name of current todo file. +Used by functions called from outside of Todo mode to visit the +current todo file rather than the default todo file (i.e. when +users option `todo-show-current-file' is non-nil).") + +(defvar todo-current-todo-file nil + "Variable holding the name of the currently active todo file.") + +(defvar todo-categories nil + "Alist of categories in the current todo file. +The elements are cons cells whose car is a category name and +whose cdr is a vector of the category's item counts. These are, +in order, the numbers of todo items, of todo items included in +the Diary, of done items and of archived items.") + +(defvar todo-category-number 1 + "Variable holding the number of the current todo category. +Todo categories are numbered starting from 1.") + +(defvar todo-categories-with-marks nil + "Alist of categories and number of marked items they contain.") + +(defconst todo-category-beg "--==-- " + "String marking beginning of category (inserted with its name).") + +(defconst todo-category-done "==--== DONE " + "String marking beginning of category's done items.") + +(defcustom todo-done-separator-string "=" + "String determining the value of variable `todo-done-separator'. +If the string consists of a single character, +`todo-done-separator' will be the string made by repeating this +character for the width of the window, and the length is +automatically recalculated when the window width changes. If the +string consists of more (or less) than one character, it will be +the value of `todo-done-separator'." :type 'string - :group 'todo) + :initialize 'custom-initialize-default + :set 'todo-reset-done-separator-string + :group 'todo-display) -(defcustom todo-print-function 'ps-print-buffer-with-faces - "Function to print the current buffer." - :type 'symbol - :group 'todo) -(defcustom todo-show-priorities 1 - "Default number of priorities to show by \\[todo-top-priorities]. -0 means show all entries." - :type 'integer +(defun todo-done-separator () + "Return string used as value of variable `todo-done-separator'." + (let ((sep todo-done-separator-string)) + (propertize (if (= 1 (length sep)) + (make-string (window-width) (string-to-char sep)) + todo-done-separator-string) + 'face 'todo-done-sep))) + +(defvar todo-done-separator (todo-done-separator) + "String used to visually separate done from not done items. +Displayed as an overlay instead of `todo-category-done' when +done items are shown. Its value is determined by user option +`todo-done-separator-string'.") + +(defvar todo-show-done-only nil + "If non-nil display only done items in current category. +Set by the command `todo-toggle-view-done-only' and used by +`todo-category-select'.") + +(defcustom todo-nondiary-marker '("[" "]") + "List of strings surrounding item date to block diary inclusion. +The first string is inserted before the item date and must be a +non-empty string that does not match a diary date in order to +have its intended effect. The second string is inserted after +the diary date." + :type '(list string string) + :group 'todo-edit + :initialize 'custom-initialize-default + :set 'todo-reset-nondiary-marker) + +(defconst todo-nondiary-start (nth 0 todo-nondiary-marker) + "String inserted before item date to block diary inclusion.") + +(defconst todo-nondiary-end (nth 1 todo-nondiary-marker) + "String inserted after item date matching `todo-nondiary-start'.") + +(defconst todo-month-name-array + (vconcat calendar-month-name-array (vector "*")) + "Array of month names, in order. +The final element is \"*\", indicating an unspecified month.") + +(defconst todo-month-abbrev-array + (vconcat calendar-month-abbrev-array (vector "*")) + "Array of abbreviated month names, in order. +The final element is \"*\", indicating an unspecified month.") + +(defconst todo-date-pattern + (let ((dayname (diary-name-pattern calendar-day-name-array nil t))) + (concat "\\(?4:\\(?5:" dayname "\\)\\|" + (let ((dayname) + (monthname (format "\\(?6:%s\\)" (diary-name-pattern + todo-month-name-array + todo-month-abbrev-array))) + (month "\\(?7:[0-9]+\\|\\*\\)") + (day "\\(?8:[0-9]+\\|\\*\\)") + (year "-?\\(?9:[0-9]+\\|\\*\\)")) + (mapconcat 'eval calendar-date-display-form "")) + "\\)")) + "Regular expression matching a todo item date header.") + +;; By itself this matches anything, because of the `?'; however, it's only +;; used in the context of `todo-date-pattern' (but Emacs Lisp lacks +;; lookahead). +(defconst todo-date-string-start + (concat "^\\(" (regexp-quote todo-nondiary-start) "\\|" + (regexp-quote diary-nonmarking-symbol) "\\)?") + "Regular expression matching part of item header before the date.") + +(defcustom todo-done-string "DONE " + "Identifying string appended to the front of done todo items." + :type 'string + :initialize 'custom-initialize-default + :set 'todo-reset-done-string + :group 'todo-edit) + +(defconst todo-done-string-start + (concat "^\\[" (regexp-quote todo-done-string)) + "Regular expression matching start of done item.") + +(defconst todo-item-start (concat "\\(" todo-date-string-start "\\|" + todo-done-string-start "\\)" + todo-date-pattern) + "String identifying start of a todo item.") + +;; ----------------------------------------------------------------------------- +;;; Todo mode display options +;; ----------------------------------------------------------------------------- + +(defcustom todo-prefix "" + "String prefixed to todo items for visual distinction." + :type '(string :validate + (lambda (widget) + (when (string= (widget-value widget) todo-item-mark) + (widget-put + widget :error + "Invalid value: must be distinct from `todo-item-mark'") + widget))) + :initialize 'custom-initialize-default + :set 'todo-reset-prefix + :group 'todo-display) + +(defcustom todo-number-prefix t + "Non-nil to prefix items with consecutively increasing integers. +These reflect the priorities of the items in each category." + :type 'boolean + :initialize 'custom-initialize-default + :set 'todo-reset-prefix + :group 'todo-display) + +(defun todo-mode-line-control (cat) + "Return a mode line control for todo or archive file buffers. +Argument CAT is the name of the current todo category. +This function is the value of the user variable +`todo-mode-line-function'." + (let ((file (todo-short-file-name todo-current-todo-file))) + (format "%s category %d: %s" file todo-category-number cat))) + +(defcustom todo-mode-line-function 'todo-mode-line-control + "Function that returns a mode line control for Todo mode buffers. +The function expects one argument holding the name of the current +todo category. The resulting control becomes the local value of +`mode-line-buffer-identification' in each Todo mode buffer." + :type 'function + :group 'todo-display) + +(defcustom todo-highlight-item nil + "Non-nil means highlight items at point." + :type 'boolean + :initialize 'custom-initialize-default + :set 'todo-reset-highlight-item + :group 'todo-display) + +(defcustom todo-wrap-lines t + "Non-nil to activate Visual Line mode and use wrap prefix." + :type 'boolean + :group 'todo-display) + +(defcustom todo-indent-to-here 3 + "Number of spaces to indent continuation lines of items. +This must be a positive number to ensure such items are fully +shown in the Fancy Diary display." + :type '(integer :validate + (lambda (widget) + (unless (> (widget-value widget) 0) + (widget-put widget :error + "Invalid value: must be a positive integer") + widget))) + :group 'todo-display) + +(defun todo-indent () + "Indent from point to `todo-indent-to-here'." + (indent-to todo-indent-to-here todo-indent-to-here)) + +(defcustom todo-show-with-done nil + "Non-nil to display done items in all categories." + :type 'boolean + :group 'todo-display) + +;; ----------------------------------------------------------------------------- +;;; Faces +;; ----------------------------------------------------------------------------- + +(defface todo-mark + ;; '((t :inherit font-lock-warning-face)) + '((((class color) + (min-colors 88) + (background light)) + (:weight bold :foreground "Red1")) + (((class color) + (min-colors 88) + (background dark)) + (:weight bold :foreground "Pink")) + (((class color) + (min-colors 16) + (background light)) + (:weight bold :foreground "Red1")) + (((class color) + (min-colors 16) + (background dark)) + (:weight bold :foreground "Pink")) + (((class color) + (min-colors 8)) + (:foreground "red")) + (t + (:weight bold :inverse-video t))) + "Face for marks on marked items." + :group 'todo-faces) + +(defface todo-prefix-string + ;; '((t :inherit font-lock-constant-face)) + '((((class grayscale) (background light)) + (:foreground "LightGray" :weight bold :underline t)) + (((class grayscale) (background dark)) + (:foreground "Gray50" :weight bold :underline t)) + (((class color) (min-colors 88) (background light)) (:foreground "dark cyan")) + (((class color) (min-colors 88) (background dark)) (:foreground "Aquamarine")) + (((class color) (min-colors 16) (background light)) (:foreground "CadetBlue")) + (((class color) (min-colors 16) (background dark)) (:foreground "Aquamarine")) + (((class color) (min-colors 8)) (:foreground "magenta")) + (t (:weight bold :underline t))) + "Face for todo item prefix or numerical priority string." + :group 'todo-faces) + +(defface todo-top-priority + ;; bold font-lock-comment-face + '((default :weight bold) + (((class grayscale) (background light)) :foreground "DimGray" :slant italic) + (((class grayscale) (background dark)) :foreground "LightGray" :slant italic) + (((class color) (min-colors 88) (background light)) :foreground "Firebrick") + (((class color) (min-colors 88) (background dark)) :foreground "chocolate1") + (((class color) (min-colors 16) (background light)) :foreground "red") + (((class color) (min-colors 16) (background dark)) :foreground "red1") + (((class color) (min-colors 8) (background light)) :foreground "red") + (((class color) (min-colors 8) (background dark)) :foreground "yellow") + (t :slant italic)) + "Face for top priority todo item numerical priority string. +The item's priority number string has this face if the number is +less than or equal the category's top priority setting." + :group 'todo-faces) + +(defface todo-nondiary + ;; '((t :inherit font-lock-type-face)) + '((((class grayscale) (background light)) :foreground "Gray90" :weight bold) + (((class grayscale) (background dark)) :foreground "DimGray" :weight bold) + (((class color) (min-colors 88) (background light)) :foreground "ForestGreen") + (((class color) (min-colors 88) (background dark)) :foreground "PaleGreen") + (((class color) (min-colors 16) (background light)) :foreground "ForestGreen") + (((class color) (min-colors 16) (background dark)) :foreground "PaleGreen") + (((class color) (min-colors 8)) :foreground "green") + (t :weight bold :underline t)) + "Face for non-diary markers around todo item date/time header." + :group 'todo-faces) + +(defface todo-date + '((t :inherit diary)) + "Face for the date string of a todo item." + :group 'todo-faces) + +(defface todo-time + '((t :inherit diary-time)) + "Face for the time string of a todo item." + :group 'todo-faces) + +(defface todo-diary-expired + ;; Doesn't contrast enough with todo-date (= diary) face. + ;; ;; '((t :inherit warning)) + ;; '((default :weight bold) + ;; (((class color) (min-colors 16)) :foreground "DarkOrange") + ;; (((class color)) :foreground "yellow")) + ;; bold font-lock-function-name-face + '((default :weight bold) + (((class color) (min-colors 88) (background light)) :foreground "Blue1") + (((class color) (min-colors 88) (background dark)) :foreground "LightSkyBlue") + (((class color) (min-colors 16) (background light)) :foreground "Blue") + (((class color) (min-colors 16) (background dark)) :foreground "LightSkyBlue") + (((class color) (min-colors 8)) :foreground "blue") + (t :inverse-video t)) + "Face for expired dates of diary items." + :group 'todo-faces) + +(defface todo-done-sep + ;; '((t :inherit font-lock-builtin-face)) + '((((class grayscale) (background light)) :foreground "LightGray" :weight bold) + (((class grayscale) (background dark)) :foreground "DimGray" :weight bold) + (((class color) (min-colors 88) (background light)) :foreground "dark slate blue") + (((class color) (min-colors 88) (background dark)) :foreground "LightSteelBlue") + (((class color) (min-colors 16) (background light)) :foreground "Orchid") + (((class color) (min-colors 16) (background dark)) :foreground "LightSteelBlue") + (((class color) (min-colors 8)) :foreground "blue" :weight bold) + (t :weight bold)) + "Face for separator string between done and not done todo items." + :group 'todo-faces) + +(defface todo-done + ;; '((t :inherit font-lock-keyword-face)) + '((((class grayscale) (background light)) :foreground "LightGray" :weight bold) + (((class grayscale) (background dark)) :foreground "DimGray" :weight bold) + (((class color) (min-colors 88) (background light)) :foreground "Purple") + (((class color) (min-colors 88) (background dark)) :foreground "Cyan1") + (((class color) (min-colors 16) (background light)) :foreground "Purple") + (((class color) (min-colors 16) (background dark)) :foreground "Cyan") + (((class color) (min-colors 8)) :foreground "cyan" :weight bold) + (t :weight bold)) + "Face for done todo item header string." + :group 'todo-faces) + +(defface todo-comment + ;; '((t :inherit font-lock-comment-face)) + '((((class grayscale) (background light)) + :foreground "DimGray" :weight bold :slant italic) + (((class grayscale) (background dark)) + :foreground "LightGray" :weight bold :slant italic) + (((class color) (min-colors 88) (background light)) + :foreground "Firebrick") + (((class color) (min-colors 88) (background dark)) + :foreground "chocolate1") + (((class color) (min-colors 16) (background light)) + :foreground "red") + (((class color) (min-colors 16) (background dark)) + :foreground "red1") + (((class color) (min-colors 8) (background light)) + :foreground "red") + (((class color) (min-colors 8) (background dark)) + :foreground "yellow") + (t :weight bold :slant italic)) + "Face for comments appended to done todo items." + :group 'todo-faces) + +(defface todo-search + ;; '((t :inherit match)) + '((((class color) + (min-colors 88) + (background light)) + (:background "yellow1")) + (((class color) + (min-colors 88) + (background dark)) + (:background "RoyalBlue3")) + (((class color) + (min-colors 8) + (background light)) + (:foreground "black" :background "yellow")) + (((class color) + (min-colors 8) + (background dark)) + (:foreground "white" :background "blue")) + (((type tty) + (class mono)) + (:inverse-video t)) + (t + (:background "gray"))) + "Face for matches found by `todo-search'." + :group 'todo-faces) + +(defface todo-button + ;; '((t :inherit widget-field)) + '((((type tty)) + (:foreground "black" :background "yellow3")) + (((class grayscale color) + (background light)) + (:background "gray85")) + (((class grayscale color) + (background dark)) + (:background "dim gray")) + (t + (:slant italic))) + "Face for buttons in table of categories." + :group 'todo-faces) + +(defface todo-sorted-column + '((((type tty)) + (:inverse-video t)) + (((class color) + (background light)) + (:background "grey85")) + (((class color) + (background dark)) + (:background "grey85" :foreground "grey10")) + (t + (:background "gray"))) + "Face for sorted column in table of categories." + :group 'todo-faces) + +(defface todo-archived-only + ;; '((t (:inherit (shadow)))) + '((((class color) + (background light)) + (:foreground "grey50")) + (((class color) + (background dark)) + (:foreground "grey70")) + (t + (:foreground "gray"))) + "Face for archived-only category names in table of categories." + :group 'todo-faces) + +(defface todo-category-string + ;; '((t :inherit font-lock-type-face)) + '((((class grayscale) (background light)) :foreground "Gray90" :weight bold) + (((class grayscale) (background dark)) :foreground "DimGray" :weight bold) + (((class color) (min-colors 88) (background light)) :foreground "ForestGreen") + (((class color) (min-colors 88) (background dark)) :foreground "PaleGreen") + (((class color) (min-colors 16) (background light)) :foreground "ForestGreen") + (((class color) (min-colors 16) (background dark)) :foreground "PaleGreen") + (((class color) (min-colors 8)) :foreground "green") + (t :weight bold :underline t)) + "Face for category-file header in Todo Filtered Items mode." + :group 'todo-faces) + +;; ----------------------------------------------------------------------------- +;;; Entering and exiting +;; ----------------------------------------------------------------------------- + +(defcustom todo-visit-files-commands (list 'find-file 'dired-find-file) + "List of file finding commands for `todo-display-as-todo-file'. +Invoking these commands to visit a todo file or todo archive file +calls `todo-show' or `todo-find-archive', so that the file is +displayed correctly." + :type '(repeat function) :group 'todo) -(defcustom todo-print-priorities 0 - "Default number of priorities to print by \\[todo-print]. -0 means print all entries." - :type 'integer + +(defun todo-short-file-name (file) + "Return the short form of todo file FILE's name. +This lacks the extension and directory components." + (when (stringp file) + (file-name-sans-extension (file-name-nondirectory file)))) + +(defcustom todo-default-todo-file (todo-short-file-name + (car (funcall todo-files-function))) + "Todo file visited by first session invocation of `todo-show'." + :type (when todo-files + `(radio ,@(mapcar (lambda (f) (list 'const f)) + (mapcar 'todo-short-file-name + (funcall todo-files-function))))) :group 'todo) -(defcustom todo-remove-separator t - "Non-nil to remove category separators in\ -\\[todo-top-priorities] and \\[todo-print]." + +(defcustom todo-show-current-file t + "Non-nil to make `todo-show' visit the current todo file. +Otherwise, `todo-show' always visits `todo-default-todo-file'." :type 'boolean + :initialize 'custom-initialize-default + :set 'todo-set-show-current-file :group 'todo) -(defcustom todo-save-top-priorities-too t - "Non-nil makes `todo-save' automatically save top-priorities in `todo-file-top'." + +(defcustom todo-show-first 'first + "What action to take on first use of `todo-show' on a file." + :type '(choice (const :tag "Show first category" first) + (const :tag "Show table of categories" table) + (const :tag "Show top priorities" top) + (const :tag "Show diary items" diary) + (const :tag "Show regexp items" regexp)) + :group 'todo) + +(defcustom todo-add-item-if-new-category t + "Non-nil to prompt for an item after adding a new category." :type 'boolean + :group 'todo-edit) + +(defcustom todo-initial-file "Todo" + "Default file name offered on adding first todo file." + :type 'string :group 'todo) -;; Thanks for the ISO time stamp format go to Karl Eichwalder <ke@suse.de> -;; My format string for the appt.el package is "%3b %2d, %y, %02I:%02M%p". -;; -(defcustom todo-time-string-format - "%:y-%02m-%02d %02H:%02M" - "TODO mode time string format for done entries. -For details see the variable `time-stamp-format'." +(defcustom todo-initial-category "Todo" + "Default category name offered on initializing a new todo file." :type 'string :group 'todo) -(defcustom todo-entry-prefix-function 'todo-entry-timestamp-initials - "Function producing text to insert at start of todo entry." - :type 'symbol +(defcustom todo-category-completions-files nil + "List of files for building `todo-read-category' completions." + :type `(set ,@(mapcar (lambda (f) (list 'const f)) + (mapcar 'todo-short-file-name + (funcall todo-files-function)))) :group 'todo) -(defcustom todo-initials (or (getenv "INITIALS") (user-login-name)) - "Initials of todo item author." - :type 'string + +(defcustom todo-completion-ignore-case nil + "Non-nil means case is ignored by `todo-read-*' functions." + :type 'boolean :group 'todo) -(defun todo-entry-timestamp-initials () - "Prepend timestamp and your initials to the head of a TODO entry." - (let ((time-stamp-format todo-time-string-format)) - (concat (time-stamp-string) " " todo-initials ": "))) +;;;###autoload +(defun todo-show (&optional solicit-file interactive) + "Visit a todo file and display one of its categories. -;; --------------------------------------------------------------------------- +When invoked in Todo mode, prompt for which todo file to visit. +When invoked outside of Todo mode with non-nil prefix argument +SOLICIT-FILE prompt for which todo file to visit; otherwise visit +`todo-default-todo-file'. Subsequent invocations from outside +of Todo mode revisit this file or, with option +`todo-show-current-file' non-nil (the default), whichever todo +file was last visited. -;; Set up some helpful context ... +If you call this command before you have created any todo file in +the current format, and you have an todo file in old format, it +will ask you whether to convert that file and show it. +Otherwise, calling this command before any todo file exists +prompts for a file name and an initial category (defaulting to +`todo-initial-file' and `todo-initial-category'), creates both of +these, visits the file and displays the category, and if option +`todo-add-item-if-new-category' is non-nil (the default), prompts +for the first item. -(defvar todo-categories nil - "TODO categories.") +The first invocation of this command on an existing todo file +interacts with the option `todo-show-first': if its value is +`first' (the default), show the first category in the file; if +its value is `table', show the table of categories in the file; +if its value is one of `top', `diary' or `regexp', show the +corresponding saved top priorities, diary items, or regexp items +file, if any. Subsequent invocations always show the file's +current (i.e., last displayed) category. -(defvar todo-cats nil - "Old variable for holding the TODO categories. -Use `todo-categories' instead.") +In Todo mode just the category's unfinished todo items are shown +by default. The done items are hidden, but typing +`\\[todo-toggle-view-done-items]' displays them below the todo +items. With non-nil user option `todo-show-with-done' both todo +and done items are always shown on visiting a category. -(defvar todo-previous-line 0 - "Previous line asked about.") +Invoking this command in Todo Archive mode visits the +corresponding todo file, displaying the corresponding category." + (interactive "P\np") + (when todo-default-todo-file + (todo-check-file (todo-absolute-file-name todo-default-todo-file))) + (catch 'shown + ;; Before initializing the first todo first, check if there is a + ;; legacy todo file and if so, offer to convert to the current + ;; format and make it the first new todo file. + (unless todo-default-todo-file + (let ((legacy-todo-file (if (boundp 'todo-file-do) + todo-file-do + (locate-user-emacs-file "todo-do" ".todo-do")))) + (when (and (file-exists-p legacy-todo-file) + (y-or-n-p (concat "Do you want to convert a copy of your " + "old todo file to the new format? "))) + (when (todo-convert-legacy-files) + (throw 'shown nil))))) + (catch 'end + (let* ((cat) + (show-first todo-show-first) + (file (cond ((or solicit-file + (and interactive + (memq major-mode '(todo-mode + todo-archive-mode + todo-filtered-items-mode)))) + (if (funcall todo-files-function) + (todo-read-file-name "Choose a todo file to visit: " + nil t) + (user-error "There are no todo files"))) + ((and (eq major-mode 'todo-archive-mode) + ;; Called noninteractively via todo-quit + ;; to jump to corresponding category in + ;; todo file. + (not interactive)) + (setq cat (todo-current-category)) + (concat (file-name-sans-extension + todo-current-todo-file) ".todo")) + (t + (or todo-current-todo-file + (and todo-show-current-file + todo-global-current-todo-file) + (todo-absolute-file-name todo-default-todo-file) + (todo-add-file))))) + add-item first-file) + (unless todo-default-todo-file + ;; We just initialized the first todo file, so make it the default. + (setq todo-default-todo-file (todo-short-file-name file) + first-file t) + (todo-reevaluate-default-file-defcustom)) + (unless (member file todo-visited) + ;; Can't setq t-c-t-f here, otherwise wrong file shown when + ;; todo-show is called from todo-show-categories-table. + (let ((todo-current-todo-file file)) + (cond ((eq todo-show-first 'table) + (todo-show-categories-table)) + ((memq todo-show-first '(top diary regexp)) + (let* ((shortf (todo-short-file-name file)) + (fi-file (todo-absolute-file-name + shortf todo-show-first))) + (when (eq todo-show-first 'regexp) + (let ((rxfiles (directory-files todo-directory t + ".*\\.todr$" t))) + (when (and rxfiles (> (length rxfiles) 1)) + (let ((rxf (mapcar 'todo-short-file-name rxfiles))) + (setq fi-file (todo-absolute-file-name + (completing-read + "Choose a regexp items file: " + rxf) 'regexp)))))) + (if (file-exists-p fi-file) + (set-window-buffer + (selected-window) + (set-buffer (find-file-noselect fi-file 'nowarn))) + (message "There is no %s file for %s" + (cond ((eq todo-show-first 'top) + "top priorities") + ((eq todo-show-first 'diary) + "diary items") + ((eq todo-show-first 'regexp) + "regexp items")) + shortf) + (setq todo-show-first 'first))))))) + (when (or (member file todo-visited) + (eq todo-show-first 'first)) + (unless (todo-check-file file) (throw 'end nil)) + (set-window-buffer (selected-window) + (set-buffer (find-file-noselect file 'nowarn))) + ;; When quitting an archive file, show the corresponding + ;; category in the corresponding todo file, if it exists. + (when (assoc cat todo-categories) + (setq todo-category-number (todo-category-number cat))) + ;; If this is a new todo file, add its first category. + (when (zerop (buffer-size)) + (let (cat-added) + (unwind-protect + (setq todo-category-number + (todo-add-category todo-current-todo-file "") + add-item todo-add-item-if-new-category + cat-added t) + (if cat-added + ;; If the category was added, save the file now, so we + ;; don't risk having an empty todo file, which would + ;; signal an error if we tried to visit it later, + ;; since doing that looks for category boundaries. + (save-buffer 0) + ;; If user cancels before adding the category, clean up + ;; and exit, so we have a fresh slate the next time. + (delete-file file) + ;; (setq todo-files (funcall todo-files-function)) + (setq todo-files (delete file todo-files)) + (when first-file + (setq todo-default-todo-file nil + todo-current-todo-file nil) + (todo-reevaluate-default-file-defcustom)) + (kill-buffer) + (keyboard-quit))))) + (save-excursion (todo-category-select)) + (when add-item (todo-basic-insert-item))) + (setq todo-show-first show-first) + (add-to-list 'todo-visited file))))) -(defvar todo-previous-answer 0 - "Previous answer got.") +(defun todo-save () + "Save the current todo file." + (interactive) + (cond ((eq major-mode 'todo-filtered-items-mode) + (todo-check-filtered-items-file) + (todo-save-filtered-items-buffer)) + (t + (save-buffer)))) -(defvar todo-mode-map - (let ((map (make-keymap))) - (suppress-keymap map t) - (define-key map "+" 'todo-forward-category) - (define-key map "-" 'todo-backward-category) - (define-key map "d" 'todo-file-item) ;done/delete - (define-key map "e" 'todo-edit-item) - (define-key map "E" 'todo-edit-multiline) - (define-key map "f" 'todo-file-item) - (define-key map "i" 'todo-insert-item) - (define-key map "I" 'todo-insert-item-here) - (define-key map "j" 'todo-jump-to-category) - (define-key map "k" 'todo-delete-item) - (define-key map "l" 'todo-lower-item) - (define-key map "n" 'todo-forward-item) - (define-key map "p" 'todo-backward-item) - (define-key map "P" 'todo-print) - (define-key map "q" 'todo-quit) - (define-key map "r" 'todo-raise-item) - (define-key map "s" 'todo-save) - (define-key map "S" 'todo-save-top-priorities) - (define-key map "t" 'todo-top-priorities) - map) - "TODO mode keymap.") +(defvar todo-descending-counts) -(defvar todo-category-number 0 "TODO category number.") +(defun todo-quit () + "Exit the current Todo-related buffer. +Depending on the specific mode, this either kills the buffer or +buries it and restores state as needed." + (interactive) + (let ((buf (current-buffer))) + (cond ((eq major-mode 'todo-categories-mode) + ;; Postpone killing buffer till after calling todo-show, to + ;; prevent killing todo-mode buffer. + (setq todo-descending-counts nil) + ;; Ensure todo-show calls todo-show-categories-table only on + ;; first invocation per file. + (when (eq todo-show-first 'table) + (add-to-list 'todo-visited todo-current-todo-file)) + (todo-show) + (kill-buffer buf)) + ((eq major-mode 'todo-filtered-items-mode) + (kill-buffer) + (unless (eq major-mode 'todo-mode) (todo-show))) + ((eq major-mode 'todo-archive-mode) + ;; Have to write a newly created archive to file to avoid + ;; subsequent errors. + (todo-save) + (let ((todo-file (concat todo-directory + (todo-short-file-name todo-current-todo-file) + ".todo"))) + (if (todo-check-file todo-file) + (todo-show) + (message "There is no todo file for this archive"))) + ;; When todo-check-file runs in todo-show, it kills the + ;; buffer if the archive file was deleted externally. + (when (buffer-live-p buf) (bury-buffer buf))) + ((eq major-mode 'todo-mode) + (todo-save) + ;; If we just quit archive mode, just burying the buffer + ;; in todo-mode would return to archive. + (set-window-buffer (selected-window) + (set-buffer (other-buffer))) + (bury-buffer buf))))) -(defvar todo-tmp-buffer-name " *todo tmp*") +;; ----------------------------------------------------------------------------- +;;; Navigation between and within categories +;; ----------------------------------------------------------------------------- -(defvar todo-category-sep (make-string 75 ?-) - "Category separator.") +(defcustom todo-skip-archived-categories nil + "Non-nil to handle categories with only archived items specially. -(defvar todo-category-beg " --- " - "Category start separator to be prepended onto category name.") +Sequential category navigation using \\[todo-forward-category] +or \\[todo-backward-category] skips categories that contain only +archived items. Other commands still recognize these categories. +In Todo Categories mode (\\[todo-show-categories-table]) these +categories shown in `todo-archived-only' face and pressing the +category button visits the category in the archive instead of the +todo file." + :type 'boolean + :group 'todo-display) -(defvar todo-category-end "--- End" - "Separator after a category.") +(defun todo-forward-category (&optional back) + "Visit the numerically next category in this todo file. +If the current category is the highest numbered, visit the first +category. With non-nil argument BACK, visit the numerically +previous category (the highest numbered one, if the current +category is the first)." + (interactive) + (setq todo-category-number + (1+ (mod (- todo-category-number (if back 2 0)) + (length todo-categories)))) + (when todo-skip-archived-categories + (while (and (zerop (todo-get-count 'todo)) + (zerop (todo-get-count 'done)) + (not (zerop (todo-get-count 'archived)))) + (setq todo-category-number + (apply (if back '1- '1+) (list todo-category-number))))) + (todo-category-select) + (goto-char (point-min))) -(defvar todo-header "-*- mode: todo; " - "Header of todo files.") +(defun todo-backward-category () + "Visit the numerically previous category in this todo file. +If the current category is the highest numbered, visit the first +category." + (interactive) + (todo-forward-category t)) -;; --------------------------------------------------------------------------- +(defvar todo-categories-buffer) -(defun todo-category-select () - "Make TODO mode display the current category correctly." - (let ((name (nth todo-category-number todo-categories))) - (setq mode-line-buffer-identification -;; (concat "Category: " name)) - (concat "Category: " (format "%18s" name))) - (widen) - (goto-char (point-min)) - (search-forward-regexp - (concat "^" - (regexp-quote (concat todo-prefix todo-category-beg name)) - "$")) - (let ((begin (1+ (line-end-position)))) - (search-forward-regexp (concat "^" todo-category-end)) - (narrow-to-region begin (line-beginning-position)) - (goto-char (point-min))))) -(defalias 'todo-cat-slct 'todo-category-select) +(defun todo-jump-to-category (&optional file where) + "Prompt for a category in a todo file and jump to it. + +With non-nil FILE (interactively a prefix argument), prompt for a +specific todo file and choose (with TAB completion) a category +in it to jump to; otherwise, choose and jump to any category in +either the current todo file or a file in +`todo-category-completions-files'. + +Also accept a non-existing category name and ask whether to add a +new category by that name; on confirmation, add it and jump to +that category, and if option `todo-add-item-if-new-category' is +non-nil (the default), then prompt for the first item. + +In noninteractive calls non-nil WHERE specifies either the goal +category or its file. If its value is `archive', the choice of +categories is restricted to the current archive file or the +archive you were prompted to choose; this is used by +`todo-jump-to-archive-category'. If its value is the name of a +category, jump directly to that category; this is used in Todo +Categories mode." + (interactive "P") + ;; If invoked outside of Todo mode and there is not yet any Todo + ;; file, initialize one. + (if (null (funcall todo-files-function)) + (todo-show) + (let* ((archive (eq where 'archive)) + (cat (unless archive where)) + (file0 (when cat ; We're in Todo Categories mode. + ;; With non-nil `todo-skip-archived-categories' + ;; jump to archive file of a category with only + ;; archived items. + (if (and todo-skip-archived-categories + (zerop (todo-get-count 'todo cat)) + (zerop (todo-get-count 'done cat)) + (not (zerop (todo-get-count 'archived cat)))) + (concat (file-name-sans-extension + todo-current-todo-file) ".toda") + ;; Otherwise, jump to current todo file. + todo-current-todo-file))) + (len (length todo-categories)) + (cat+file (unless cat + (todo-read-category "Jump to category: " + (if archive 'archive) file))) + (add-item (and todo-add-item-if-new-category + (> (length todo-categories) len))) + (category (or cat (car cat+file)))) + (unless cat (setq file0 (cdr cat+file))) + (with-current-buffer (find-file-noselect file0 'nowarn) + (setq todo-current-todo-file file0) + ;; If called from Todo Categories mode, clean up before jumping. + (if (string= (buffer-name) todo-categories-buffer) + (kill-buffer)) + (set-window-buffer (selected-window) + (set-buffer (find-buffer-visiting file0))) + (unless todo-global-current-todo-file + (setq todo-global-current-todo-file todo-current-todo-file)) + (todo-category-number category) + (todo-category-select) + (goto-char (point-min)) + (when add-item (todo-basic-insert-item)))))) -(defun todo-forward-category () - "Go forward to TODO list of next category." +(defun todo-next-item (&optional count) + "Move point down to the beginning of the next item. +With positive numerical prefix COUNT, move point COUNT items +downward. + +If the category's done items are hidden, this command also moves +point to the empty line below the last todo item from any higher +item in the category, i.e., when invoked with or without a prefix +argument. If the category's done items are visible, this command +called with a prefix argument only moves point to a lower item, +e.g., with point on the last todo item and called with prefix 1, +it moves point to the first done item; but if called with point +on the last todo item without a prefix argument, it moves point +the the empty line above the done items separator." + (interactive "p") + ;; It's not worth the trouble to allow prefix arg value < 1, since + ;; we have the corresponding command. + (cond ((and current-prefix-arg (< count 1)) + (user-error "The prefix argument must be a positive number")) + (current-prefix-arg + (todo-forward-item count)) + (t + (todo-forward-item)))) + +(defun todo-previous-item (&optional count) + "Move point up to start of item with next higher priority. +With positive numerical prefix COUNT, move point COUNT items +upward. + +If the category's done items are visible, this command called +with a prefix argument only moves point to a higher item, e.g., +with point on the first done item and called with prefix 1, it +moves to the last todo item; but if called with point on the +first done item without a prefix argument, it moves point the the +empty line above the done items separator." + (interactive "p") + ;; Avoid moving to bob if on the first item but not at bob. + (when (> (line-number-at-pos) 1) + ;; It's not worth the trouble to allow prefix arg value < 1, since + ;; we have the corresponding command. + (cond ((and current-prefix-arg (< count 1)) + (user-error "The prefix argument must be a positive number")) + (current-prefix-arg + (todo-backward-item count)) + (t + (todo-backward-item))))) + +;; ----------------------------------------------------------------------------- +;;; Display toggle commands +;; ----------------------------------------------------------------------------- + +(defun todo-toggle-prefix-numbers () + "Hide item numbering if shown, show if hidden." (interactive) - (setq todo-category-number - (mod (1+ todo-category-number) (length todo-categories))) - (todo-category-select)) -(defalias 'todo-cmd-forw 'todo-forward-category) + (save-excursion + (save-restriction + (goto-char (point-min)) + (let* ((ov (todo-get-overlay 'prefix)) + (show-done (re-search-forward todo-done-string-start nil t)) + (todo-show-with-done show-done) + (todo-number-prefix (not (equal (overlay-get ov 'before-string) + "1 ")))) + (if (eq major-mode 'todo-filtered-items-mode) + (todo-prefix-overlays) + (todo-category-select)))))) -(defun todo-backward-category () - "Go back to TODO list of previous category." +(defun todo-toggle-view-done-items () + "Show hidden or hide visible done items in current category." (interactive) - (setq todo-category-number - (mod (1- todo-category-number) (length todo-categories))) - (todo-category-select)) -(defalias 'todo-cmd-back 'todo-backward-category) + (if (zerop (todo-get-count 'done (todo-current-category))) + (message "There are no done items in this category.") + (let ((opoint (point))) + (goto-char (point-min)) + (let* ((shown (re-search-forward todo-done-string-start nil t)) + (todo-show-with-done (not shown))) + (todo-category-select) + (goto-char opoint) + ;; If start of done items sections is below the bottom of the + ;; window, make it visible. + (unless shown + (setq shown (progn + (goto-char (point-min)) + (re-search-forward todo-done-string-start nil t))) + (if (not (pos-visible-in-window-p shown)) + (recenter) + (goto-char opoint))))))) -(defun todo-backward-item () - "Select previous entry of TODO list." +(defun todo-toggle-view-done-only () + "Switch between displaying only done or only todo items." (interactive) - (search-backward-regexp (concat "^" (regexp-quote todo-prefix)) nil t) - (message "")) -(defalias 'todo-cmd-prev 'todo-backward-item) + (setq todo-show-done-only (not todo-show-done-only)) + (todo-category-select)) -(defun todo-forward-item (&optional count) - "Select COUNT-th next entry of TODO list." - (interactive "P") - (if (listp count) (setq count (car count))) - (end-of-line) - (search-forward-regexp (concat "^" (regexp-quote todo-prefix)) - nil 'goto-end count) - (beginning-of-line) - (message "")) -(defalias 'todo-cmd-next 'todo-forward-item) +(defun todo-toggle-item-highlighting () + "Highlight or unhighlight the todo item the cursor is on." + (interactive) + (eval-when-compile (require 'hl-line)) + (when (memq major-mode + '(todo-mode todo-archive-mode todo-filtered-items-mode)) + (if hl-line-mode + (hl-line-mode -1) + (hl-line-mode 1)))) -(defun todo-save () - "Save the TODO list." +(defun todo-toggle-item-header () + "Hide or show item date-time headers in the current file. +With done items, this hides only the done date-time string, not +the the original date-time string." (interactive) (save-excursion (save-restriction - (save-buffer))) - (if todo-save-top-priorities-too (todo-save-top-priorities))) -(defalias 'todo-cmd-save 'todo-save) + (goto-char (point-min)) + (let ((ov (todo-get-overlay 'header))) + (if ov + (remove-overlays 1 (1+ (buffer-size)) 'todo 'header) + (widen) + (goto-char (point-min)) + (while (not (eobp)) + (when (re-search-forward + (concat todo-item-start + "\\( " diary-time-regexp "\\)?" + (regexp-quote todo-nondiary-end) "? ") + nil t) + (setq ov (make-overlay (match-beginning 0) (match-end 0) nil t)) + (overlay-put ov 'todo 'header) + (overlay-put ov 'display "")) + (todo-forward-item))))))) -(defun todo-quit () - "Done with TODO list for now." +;; ----------------------------------------------------------------------------- +;;; File and category editing +;; ----------------------------------------------------------------------------- + +(defun todo-add-file () + "Name and initialize a new todo file. +Interactively, prompt for a category and display it, and if +option `todo-add-item-if-new-category' is non-nil (the default), +prompt for the first item. +Noninteractively, return the name of the new file." + (interactive) + (let* ((prompt (concat "Enter name of new todo file " + "(TAB or SPC to see current names): ")) + (file (todo-read-file-name prompt))) + (with-current-buffer (get-buffer-create file) + (erase-buffer) + (write-region (point-min) (point-max) file nil 'nomessage nil t) + (kill-buffer file)) + (setq todo-files (funcall todo-files-function)) + (todo-reevaluate-filelist-defcustoms) + (if (called-interactively-p 'any) + (progn + (set-window-buffer (selected-window) + (set-buffer (find-file-noselect file))) + (setq todo-current-todo-file file) + (todo-show)) + file))) + +(defun todo-delete-file () + "Delete the current todo, archive or filtered items file. +If the todo file has a corresponding archive file, or vice versa, +prompt whether to delete that as well. Also kill the buffers +visiting the deleted files." + (interactive) + (let* ((file1 (buffer-file-name)) + (todo (eq major-mode 'todo-mode)) + (archive (eq major-mode 'todo-archive-mode)) + (filtered (eq major-mode 'todo-filtered-items-mode)) + (file1-sn (todo-short-file-name file1)) + (file2 (concat todo-directory file1-sn (cond (todo ".toda") + (archive ".todo")))) + (buf1 (current-buffer)) + (buf2 (when file2 (find-buffer-visiting file2))) + (prompt1 (concat "Delete " (cond (todo "todo") + (archive "archive") + (filtered "filtered items")) + " file \"%s\"? ")) + (prompt2 (concat "Also delete the corresponding " + (cond (todo "archive") (archive "todo")) " file " + (when buf2 "and kill the buffer visiting it? "))) + (delete1 (yes-or-no-p (format prompt1 file1-sn))) + (delete2 (when (and delete1 (or (file-exists-p file2) buf2)) + (yes-or-no-p prompt2)))) + (when delete1 + (when (file-exists-p file1) (delete-file file1)) + (setq todo-visited (delete file1 todo-visited)) + (kill-buffer buf1) + (when delete2 + (when (file-exists-p file2) (delete-file file2)) + (setq todo-visited (delete file2 todo-visited)) + (and buf2 (kill-buffer buf2))) + (setq todo-files (funcall todo-files-function) + todo-archives (funcall todo-files-function t)) + (when (or (string= file1-sn todo-default-todo-file) + (and delete2 (string= file1-sn todo-default-todo-file))) + (setq todo-default-todo-file (todo-short-file-name (car todo-files)))) + (when (or (string= file1 todo-global-current-todo-file) + (and delete2 (string= file2 todo-global-current-todo-file))) + (setq todo-global-current-todo-file nil)) + (todo-reevaluate-filelist-defcustoms) + (message (concat (cond (todo "Todo") (archive "Archive")) " file \"%s\" " + (when delete2 + (concat "and its " + (cond (todo "archive") (archive "todo")) + " file ")) + "deleted") file1-sn)))) + +(defvar todo-edit-buffer "*Todo Edit*" + "Name of current buffer in Todo Edit mode.") + +(defun todo-edit-file () + "Put current buffer in `todo-edit-mode'. +This makes the entire file visible and the buffer writeable and +you can use the self-insertion keys and standard Emacs editing +commands to make changes. To return to Todo mode, type +\\[todo-edit-quit]. This runs a file format check, signaling +an error if the format has become invalid. However, this check +cannot tell if the number of items changed, which could result in +the file containing inconsistent information. For this reason +this command should be used with caution." (interactive) (widen) - (todo-save) - (message "") - (bury-buffer)) -(defalias 'todo-cmd-done 'todo-quit) - -(defun todo-edit-item () - "Edit current TODO list entry." - (interactive) - (if (< (point-min) (point-max)) - (let ((item (todo-item-string))) - (if (todo-string-multiline-p item) - (todo-edit-multiline) - (let ((new (read-from-minibuffer "Edit: " item))) - (todo-remove-item) - (insert new "\n") - (todo-backward-item) - (message "")))) - (error "No TODO list entry to edit"))) -(defalias 'todo-cmd-edit 'todo-edit-item) - -(defun todo-edit-multiline () - "Set up a buffer for editing a multiline TODO list entry." - (interactive) - (let ((buffer-name (generate-new-buffer-name todo-edit-buffer))) - (switch-to-buffer - (make-indirect-buffer - (file-name-nondirectory todo-file-do) buffer-name)) - (message "To exit, simply kill this buffer and return to list.") - (todo-edit-mode) - (narrow-to-region (todo-item-start) (todo-item-end)))) + (todo-edit-mode) + (remove-overlays) + (message "%s" (substitute-command-keys + (concat "Type \\[todo-edit-quit] to check file format " + "validity and return to Todo mode.\n")))) -;;;###autoload -(defun todo-add-category (&optional cat) - "Add new category CAT to the TODO list." - (interactive) - (let ((buf (find-file-noselect todo-file-do t)) - (prompt "Category: ")) - (unless (zerop (buffer-size buf)) - (and (null todo-categories) - (null todo-cats) - (error "Error in %s: File is non-empty but contains no category" - todo-file-do))) - (unless cat (setq cat (read-from-minibuffer prompt))) - (with-current-buffer buf - ;; reject names that could induce bugs and confusion - (while (and (cond ((string= "" cat) - (setq prompt "Enter a non-empty category name: ")) - ((string-match "\\`\\s-+\\'" cat) - (setq prompt "Enter a category name that is not only white space: ")) - ((member cat todo-categories) - (setq prompt "Enter a non-existing category name: "))) - (setq cat (read-from-minibuffer prompt)))) - ;; initialize a newly created Todo buffer for Todo mode - (unless (file-exists-p todo-file-do) (todo-mode)) - (setq todo-categories (cons cat todo-categories)) +(defun todo-add-category (&optional file cat) + "Add a new category to a todo file. + +Called interactively with prefix argument FILE, prompt for a file +and then for a new category to add to that file, otherwise prompt +just for a category to add to the current todo file. After +adding the category, visit it in Todo mode and if option +`todo-add-item-if-new-category' is non-nil (the default), prompt +for the first item. + +Non-interactively, add category CAT to file FILE; if FILE is nil, +add CAT to the current todo file. After adding the category, +return the new category number." + (interactive "P") + (let (catfil file0) + ;; If cat is passed from caller, don't prompt, unless it is "", + ;; which means the file was just added and has no category yet. + (if (and cat (> (length cat) 0)) + (setq file0 (or (and (stringp file) file) + todo-current-todo-file)) + (setq catfil (todo-read-category "Enter a new category name: " + 'add (when (called-interactively-p 'any) + file)) + cat (car catfil) + file0 (if (called-interactively-p 'any) + (cdr catfil) + file))) + (find-file file0) + (let ((counts (make-vector 4 0)) ; [todo diary done archived] + (num (1+ (length todo-categories))) + (buffer-read-only nil)) + (setq todo-current-todo-file file0) + (setq todo-categories (append todo-categories + (list (cons cat counts)))) (widen) + (goto-char (point-max)) + (save-excursion ; Save point for todo-category-select. + (insert todo-category-beg cat "\n\n" todo-category-done "\n")) + (todo-update-categories-sexp) + ;; If invoked by user, display the newly added category, if + ;; called programmatically return the category number to the + ;; caller. + (if (called-interactively-p 'any) + (progn + (setq todo-category-number num) + (todo-category-select) + (when todo-add-item-if-new-category + (todo-basic-insert-item))) + num)))) + +(defun todo-rename-category () + "Rename current todo category. +If this file has an archive containing this category, rename the +category there as well." + (interactive) + (let* ((cat (todo-current-category)) + (new (read-from-minibuffer + (format "Rename category \"%s\" to: " cat)))) + (setq new (todo-validate-name new 'category)) + (let* ((ofile todo-current-todo-file) + (archive (concat (file-name-sans-extension ofile) ".toda")) + (buffers (append (list ofile) + (unless (zerop (todo-get-count 'archived cat)) + (list archive))))) + (dolist (buf buffers) + (with-current-buffer (find-file-noselect buf) + (let (buffer-read-only) + (setq todo-categories (todo-set-categories)) + (save-excursion + (save-restriction + (setcar (assoc cat todo-categories) new) + (widen) + (goto-char (point-min)) + (todo-update-categories-sexp) + (re-search-forward (concat (regexp-quote todo-category-beg) + "\\(" (regexp-quote cat) "\\)\n") + nil t) + (replace-match new t t nil 1))))))) + (force-mode-line-update)) + (save-excursion (todo-category-select))) + +(defun todo-delete-category (&optional arg) + "Delete current todo category provided it contains no items. +With prefix ARG delete the category even if it does contain +todo or done items." + (interactive "P") + (let* ((file todo-current-todo-file) + (cat (todo-current-category)) + (todo (todo-get-count 'todo cat)) + (done (todo-get-count 'done cat)) + (archived (todo-get-count 'archived cat))) + (if (and (not arg) + (or (> todo 0) (> done 0))) + (message "%s" (substitute-command-keys + (concat "To delete a non-empty category, " + "type C-u \\[todo-delete-category]."))) + (when (cond ((= (length todo-categories) 1) + (todo-y-or-n-p + (concat "This is the only category in this file; " + "deleting it will also delete the file.\n" + "Do you want to proceed? "))) + ((> archived 0) + (todo-y-or-n-p (concat "This category has archived items; " + "the archived category will remain\n" + "after deleting the todo category. " + "Do you still want to delete it\n" + "(see `todo-skip-archived-categories' " + "for another option)? "))) + (t + (todo-y-or-n-p (concat "Permanently remove category \"" cat + "\"" (and arg " and all its entries") + "? ")))) + (widen) + (let ((buffer-read-only) + (beg (re-search-backward + (concat "^" (regexp-quote (concat todo-category-beg cat)) + "\n") nil t)) + (end (if (re-search-forward + (concat "\n\\(" (regexp-quote todo-category-beg) + ".*\n\\)") nil t) + (match-beginning 1) + (point-max)))) + (remove-overlays beg end) + (delete-region beg end) + (if (= (length todo-categories) 1) + ;; If deleted category was the only one, delete the file. + (progn + (todo-reevaluate-filelist-defcustoms) + ;; Skip confirming killing the archive buffer if it has been + ;; modified and not saved. + (set-buffer-modified-p nil) + (delete-file file) + (kill-buffer) + (message "Deleted todo file %s." file)) + (setq todo-categories (delete (assoc cat todo-categories) + todo-categories)) + (todo-update-categories-sexp) + (setq todo-category-number + (1+ (mod todo-category-number (length todo-categories)))) + (todo-category-select) + (goto-char (point-min)) + (message "Deleted category %s." cat))))))) + +(defun todo-move-category () + "Move current category to a different todo file. +If current category has archived items, also move those to the +archive of the file moved to, creating it if it does not exist." + (interactive) + (when (or (> (length todo-categories) 1) + (todo-y-or-n-p (concat "This is the only category in this file; " + "moving it will also delete the file.\n" + "Do you want to proceed? "))) + (let* ((ofile todo-current-todo-file) + (cat (todo-current-category)) + (nfile (todo-read-file-name + "Choose a todo file to move this category to: " nil t)) + (archive (concat (file-name-sans-extension ofile) ".toda")) + (buffers (append (list ofile) + (unless (zerop (todo-get-count 'archived cat)) + (list archive)))) + new) + (while (equal (file-truename nfile) (file-truename ofile)) + (setq nfile (todo-read-file-name + "Choose a file distinct from this file: " nil t))) + (dolist (buf buffers) + (with-current-buffer (find-file-noselect buf) + (widen) + (goto-char (point-max)) + (let* ((beg (re-search-backward + (concat "^" + (regexp-quote (concat todo-category-beg cat)) + "$") + nil t)) + (end (if (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) + nil t 2) + (match-beginning 0) + (point-max))) + (content (buffer-substring-no-properties beg end)) + (counts (cdr (assoc cat todo-categories))) + buffer-read-only) + ;; Move the category to the new file. Also update or create + ;; archive file if necessary. + (with-current-buffer + (find-file-noselect + ;; Regenerate todo-archives in case there + ;; is a newly created archive. + (if (member buf (funcall todo-files-function t)) + (concat (file-name-sans-extension nfile) ".toda") + nfile)) + (let* ((nfile-short (todo-short-file-name nfile)) + (prompt (concat + (format "Todo file \"%s\" already has " + nfile-short) + (format "the category \"%s\";\n" cat) + "enter a new category name: ")) + buffer-read-only) + (widen) + (goto-char (point-max)) + (insert content) + ;; If the file moved to has a category with the same + ;; name, rename the moved category. + (when (assoc cat todo-categories) + (unless (member (file-truename (buffer-file-name)) + (funcall todo-files-function t)) + (setq new (read-from-minibuffer prompt)) + (setq new (todo-validate-name new 'category)))) + ;; Replace old with new name in todo and archive files. + (when new + (goto-char (point-max)) + (re-search-backward + (concat "^" (regexp-quote todo-category-beg) + "\\(" (regexp-quote cat) "\\)$") nil t) + (replace-match new nil nil nil 1))) + (setq todo-categories + (append todo-categories (list (cons new counts)))) + (todo-update-categories-sexp) + ;; If archive was just created, save it to avoid "File + ;; <xyz> no longer exists!" message on invoking + ;; `todo-view-archived-items'. + (unless (file-exists-p (buffer-file-name)) + (save-buffer)) + (todo-category-number (or new cat)) + (todo-category-select)) + ;; Delete the category from the old file, and if that was the + ;; last category, delete the file. Also handle archive file + ;; if necessary. + (remove-overlays beg end) + (delete-region beg end) + (goto-char (point-min)) + ;; Put point after todo-categories sexp. + (forward-line) + (if (eobp) ; Aside from sexp, file is empty. + (progn + ;; Skip confirming killing the archive buffer. + (set-buffer-modified-p nil) + (delete-file todo-current-todo-file) + (kill-buffer) + (when (member todo-current-todo-file todo-files) + (todo-reevaluate-filelist-defcustoms))) + (setq todo-categories (delete (assoc cat todo-categories) + todo-categories)) + (todo-update-categories-sexp) + (todo-category-select))))) + (set-window-buffer (selected-window) + (set-buffer (find-file-noselect nfile))) + (todo-category-number (or new cat)) + (todo-category-select)))) + +(defun todo-merge-category (&optional file) + "Merge current category into another existing category. + +With prefix argument FILE, prompt for a specific todo file and +choose (with TAB completion) a category in it to merge into; +otherwise, choose and merge into a category in either the +current todo file or a file in `todo-category-completions-files'. + +After merging, the current category's todo and done items are +appended to the chosen goal category's todo and done items, +respectively. The goal category becomes the current category, +and the previous current category is deleted. + +If both the first and goal categories also have archived items, +the former are merged to the latter. If only the first category +has archived items, the archived category is renamed to the goal +category." + (interactive "P") + (let* ((tfile todo-current-todo-file) + (cat (todo-current-category)) + (cat+file (todo-read-category "Merge into category: " 'todo file)) + (goal (car cat+file)) + (gfile (cdr cat+file)) + (archive (concat (file-name-sans-extension (if file gfile tfile)) + ".toda")) + archived-count here) + ;; Merge in todo file. + (with-current-buffer (get-buffer (find-file-noselect tfile)) + (widen) + (let* ((buffer-read-only nil) + (cbeg (progn + (re-search-backward + (concat "^" (regexp-quote todo-category-beg)) nil t) + (point-marker))) + (tbeg (progn (forward-line) (point-marker))) + (dbeg (progn + (re-search-forward + (concat "^" (regexp-quote todo-category-done)) nil t) + (forward-line) (point-marker))) + ;; Omit empty line between todo and done items. + (tend (progn (forward-line -2) (point-marker))) + (cend (progn + (if (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) nil t) + (progn + (goto-char (match-beginning 0)) + (point-marker)) + (point-max-marker)))) + (todo (buffer-substring-no-properties tbeg tend)) + (done (buffer-substring-no-properties dbeg cend))) + (goto-char (point-min)) + ;; Merge any todo items. + (unless (zerop (length todo)) + (re-search-forward + (concat "^" (regexp-quote (concat todo-category-beg goal)) "$") + nil t) + (re-search-forward + (concat "^" (regexp-quote todo-category-done)) nil t) + (forward-line -1) + (setq here (point-marker)) + (insert todo) + (todo-update-count 'todo (todo-get-count 'todo cat) goal)) + ;; Merge any done items. + (unless (zerop (length done)) + (goto-char (if (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) nil t) + (match-beginning 0) + (point-max))) + (when (zerop (length todo)) (setq here (point-marker))) + (insert done) + (todo-update-count 'done (todo-get-count 'done cat) goal)) + (remove-overlays cbeg cend) + (delete-region cbeg cend) + (setq todo-categories (delete (assoc cat todo-categories) + todo-categories)) + (todo-update-categories-sexp) + (mapc (lambda (m) (set-marker m nil)) (list cbeg tbeg dbeg tend cend)))) + (when (file-exists-p archive) + ;; Merge in archive file. + (with-current-buffer (get-buffer (find-file-noselect archive)) + (widen) + (goto-char (point-min)) + (let ((buffer-read-only nil) + (cbeg (save-excursion + (when (re-search-forward + (concat "^" (regexp-quote + (concat todo-category-beg cat)) "$") + nil t) + (goto-char (match-beginning 0)) + (point-marker)))) + (gbeg (save-excursion + (when (re-search-forward + (concat "^" (regexp-quote + (concat todo-category-beg goal)) "$") + nil t) + (goto-char (match-beginning 0)) + (point-marker)))) + cend carch) + (when cbeg + (setq archived-count (todo-get-count 'done cat)) + (setq cend (save-excursion + (if (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) + nil t) + (match-beginning 0) + (point-max)))) + (setq carch (save-excursion (goto-char cbeg) (forward-line) + (buffer-substring-no-properties (point) cend))) + ;; If both categories of the merge have archived items, merge the + ;; source items to the goal items, else "merge" by renaming the + ;; source category to goal. + (if gbeg + (progn + (goto-char (if (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) + nil t) + (match-beginning 0) + (point-max))) + (insert carch) + (remove-overlays cbeg cend) + (delete-region cbeg cend)) + (goto-char cbeg) + (search-forward cat) + (replace-match goal)) + (setq todo-categories (todo-make-categories-list t)) + (todo-update-categories-sexp))))) + (with-current-buffer (get-file-buffer tfile) + (when archived-count + (unless (zerop archived-count) + (todo-update-count 'archived archived-count goal) + (todo-update-categories-sexp))) + (todo-category-number goal) + ;; If there are only merged done items, show them. + (let ((todo-show-with-done (zerop (todo-get-count 'todo goal)))) + (todo-category-select) + ;; Put point on the first merged item. + (goto-char here))) + (set-marker here nil))) + +;; ----------------------------------------------------------------------------- +;;; Item editing +;; ----------------------------------------------------------------------------- + +(defcustom todo-include-in-diary nil + "Non-nil to allow new todo items to be included in the diary." + :type 'boolean + :group 'todo-edit) + +(defcustom todo-diary-nonmarking nil + "Non-nil to insert new todo diary items as nonmarking by default. +This appends `diary-nonmarking-symbol' to the front of an item on +insertion provided it doesn't begin with `todo-nondiary-marker'." + :type 'boolean + :group 'todo-edit) + +(defcustom todo-always-add-time-string nil + "Non-nil adds current time to a new item's date header by default. +When the todo insertion commands have a non-nil \"maybe-notime\" +argument, this reverses the effect of +`todo-always-add-time-string': if t, these commands omit the +current time, if nil, they include it." + :type 'boolean + :group 'todo-edit) + +(defcustom todo-use-only-highlighted-region t + "Non-nil to enable inserting only highlighted region as new item." + :type 'boolean + :group 'todo-edit) + +(defcustom todo-item-mark "*" + "String used to mark items. +To ensure item marking works, change the value of this option +only when no items are marked." + :type '(string :validate + (lambda (widget) + (when (string= (widget-value widget) todo-prefix) + (widget-put + widget :error + "Invalid value: must be distinct from `todo-prefix'") + widget))) + :set (lambda (symbol value) + (custom-set-default symbol (propertize value 'face 'todo-mark))) + :group 'todo-edit) + +(defcustom todo-comment-string "COMMENT" + "String inserted before optional comment appended to done item." + :type 'string + :initialize 'custom-initialize-default + :set 'todo-reset-comment-string + :group 'todo-edit) + +(defcustom todo-undo-item-omit-comment 'ask + "Whether to omit done item comment on undoing the item. +Nil means never omit the comment, t means always omit it, `ask' +means prompt user and omit comment only on confirmation." + :type '(choice (const :tag "Never" nil) + (const :tag "Always" t) + (const :tag "Ask" ask)) + :group 'todo-edit) + +(defun todo-toggle-mark-item (&optional n) + "Mark item with `todo-item-mark' if unmarked, otherwise unmark it. +With a positive numerical prefix argument N, change the +marking of the next N items." + (interactive "p") + (when (todo-item-string) + (unless (> n 1) (setq n 1)) + (dotimes (i n) + (let* ((cat (todo-current-category)) + (marks (assoc cat todo-categories-with-marks)) + (ov (progn + (unless (looking-at todo-item-start) + (todo-item-start)) + (todo-get-overlay 'prefix))) + (pref (overlay-get ov 'before-string))) + (if (todo-marked-item-p) + (progn + (overlay-put ov 'before-string (substring pref 1)) + (if (= (cdr marks) 1) ; Deleted last mark in this category. + (setq todo-categories-with-marks + (assq-delete-all cat todo-categories-with-marks)) + (setcdr marks (1- (cdr marks))))) + (overlay-put ov 'before-string (concat todo-item-mark pref)) + (if marks + (setcdr marks (1+ (cdr marks))) + (push (cons cat 1) todo-categories-with-marks)))) + (todo-forward-item)))) + +(defun todo-mark-category () + "Mark all visible items in this category with `todo-item-mark'." + (interactive) + (let* ((cat (todo-current-category)) + (marks (assoc cat todo-categories-with-marks))) + (save-excursion (goto-char (point-min)) - (if (search-forward "-*- mode: todo; " (+ (point-min) 16) t) - (kill-line) - (insert "-*- mode: todo; \n") - (forward-char -1)) - (insert (format "todo-categories: %S; -*-" todo-categories)) - (forward-char 1) - (insert (format "%s%s%s\n%s\n%s %s\n" - todo-prefix todo-category-beg cat - todo-category-end - todo-prefix todo-category-sep)) - (if (called-interactively-p 'interactive) - ;; properly display the newly added category - (progn (setq todo-category-number 0) (todo-show)) - 0)))) + (while (not (eobp)) + (let* ((ov (todo-get-overlay 'prefix)) + (pref (overlay-get ov 'before-string))) + (unless (todo-marked-item-p) + (overlay-put ov 'before-string (concat todo-item-mark pref)) + (if marks + (setcdr marks (1+ (cdr marks))) + (push (cons cat 1) todo-categories-with-marks)))) + (todo-forward-item))))) -;;;###autoload -(defun todo-add-item-non-interactively (new-item category) - "Insert NEW-ITEM in TODO list as a new entry in CATEGORY." - (save-excursion - (todo-show)) - (save-excursion - (if (string= "" category) - (setq category (nth todo-category-number todo-categories))) - (let ((cat-exists (member category todo-categories))) - (setq todo-category-number - (if cat-exists - (- (length todo-categories) (length cat-exists)) - (todo-add-category category)))) - (todo-show) - (setq todo-previous-line 0) - (let ((top 1) - (bottom (1+ (count-lines (point-min) (point-max))))) - (while (> (- bottom top) todo-insert-threshold) - (let* ((current (/ (+ top bottom) 2)) - (answer (if (< current bottom) - (todo-more-important-p current) nil))) - (if answer - (setq bottom current) - (setq top (1+ current))))) - (setq top (/ (+ top bottom) 2)) - ;; goto-line doesn't have the desired behavior in a narrowed buffer. +(defun todo-unmark-category () + "Remove `todo-item-mark' from all visible items in this category." + (interactive) + (let* ((cat (todo-current-category)) + (marks (assoc cat todo-categories-with-marks))) + (save-excursion (goto-char (point-min)) - (forward-line (1- top))) - (insert new-item "\n") - (todo-backward-item) - (todo-save) - (message ""))) + (while (not (eobp)) + (let* ((ov (todo-get-overlay 'prefix)) + ;; No overlay on empty line between todo and done items. + (pref (when ov (overlay-get ov 'before-string)))) + (when (todo-marked-item-p) + (overlay-put ov 'before-string (substring pref 1))) + (todo-forward-item)))) + (setq todo-categories-with-marks + (delq marks todo-categories-with-marks)))) -;;;###autoload -(defun todo-insert-item (arg) - "Insert new TODO list entry. -With a prefix argument ARG solicit the category, otherwise use the current -category." +(defvar todo-date-from-calendar nil + "Helper variable for setting item date from the Emacs Calendar.") + +(defun todo-basic-insert-item (&optional arg diary nonmarking date-type time + region-or-here) + "Insert a new todo item into a category. +This is the function from which the generated Todo mode item +insertion commands derive. + +The generated commands have mnemonic key bindings based on the +arguments' values and their order in the command's argument list, +as follows: (1) for DIARY `d', (2) for NONMARKING `k', (3) for +DATE-TYPE either `c' for calendar or `d' for date or `n' for +weekday name, (4) for TIME `t', (5) for REGION-OR-HERE either `r' +for region or `h' for here. Sequences of these keys are appended +to the insertion prefix key `i'. Keys that allow a following +key (i.e., any but `r' or `h') must be doubled when used finally. +For example, the command bound to the key sequence `i y h' will +insert a new item with today's date, marked according to the +DIARY argument described below, and with priority according to +the HERE argument; `i y y' does the same except that the priority +is not given by HERE but by prompting. + +In command invocations, ARG is passed as a prefix argument as +follows. With no prefix argument, add the item to the current +category; with one prefix argument (`C-u'), prompt for a category +from the current todo file; with two prefix arguments (`C-u C-u'), +first prompt for a todo file, then a category in that file. If +a non-existing category is entered, ask whether to add it to the +todo file; if answered affirmatively, add the category and +insert the item there. + +The remaining arguments are set or left nil by the generated item +insertion commands; their meanings are described in the follows +paragraphs. + +When argument DIARY is non-nil, this overrides the intent of the +user option `todo-include-in-diary' for this item: if +`todo-include-in-diary' is nil, include the item in the Fancy +Diary display, and if it is non-nil, exclude the item from the +Fancy Diary display. When DIARY is nil, `todo-include-in-diary' +has its intended effect. + +When the item is included in the Fancy Diary display and the +argument NONMARKING is non-nil, this overrides the intent of the +user option `todo-diary-nonmarking' for this item: if +`todo-diary-nonmarking' is nil, append `diary-nonmarking-symbol' +to the item, and if it is non-nil, omit `diary-nonmarking-symbol'. + +The argument DATE-TYPE determines the content of the item's +mandatory date header string and how it is added: +- If DATE-TYPE is the symbol `calendar', the Calendar pops up and + when the user puts the cursor on a date and hits RET, that + date, in the format set by `calendar-date-display-form', + becomes the date in the header. +- If DATE-TYPE is a string matching the regexp + `todo-date-pattern', that string becomes the date in the + header. This case is for the command + `todo-insert-item-from-calendar' which is called from the + Calendar. +- If DATE-TYPE is the symbol `date', the header contains the date + in the format set by `calendar-date-display-form', with year, + month and day individually prompted for (month with tab + completion). +- If DATE-TYPE is the symbol `dayname' the header contains a + weekday name instead of a date, prompted for with tab + completion. +- If DATE-TYPE has any other value (including nil or none) the + header contains the current date (in the format set by + `calendar-date-display-form'). + +With non-nil argument TIME prompt for a time string, which must +match `diary-time-regexp'. Typing `<return>' at the prompt +returns the current time, if the user option +`todo-always-add-time-string' is non-nil, otherwise the empty +string (i.e., no time string). If TIME is absent or nil, add or +omit the current time string according as +`todo-always-add-time-string' is non-nil or nil, respectively. + +The argument REGION-OR-HERE determines the source and location of +the new item: +- If the REGION-OR-HERE is the symbol `here', prompt for the text of + the new item and, if the command was invoked with point in the todo + items section of the current category, give the new item the + priority of the item at point, lowering the latter's priority and + the priority of the remaining items. If point is in the done items + section of the category, insert the new item as the first todo item + in the category. Likewise, if the command with `here' is invoked + outside of the current category, jump to the chosen category and + insert the new item as the first item in the category. +- If REGION-OR-HERE is the symbol `region', use the region of the + current buffer as the text of the new item, depending on the + value of user option `todo-use-only-highlighted-region': if + this is non-nil, then use the region only when it is + highlighted; otherwise, use the region regardless of + highlighting. An error is signalled if there is no region in + the current buffer. Prompt for the item's priority in the + category (an integer between 1 and one more than the number of + items in the category), and insert the item accordingly. +- If REGION-OR-HERE has any other value (in particular, nil or + none), prompt for the text and the item's priority, and insert + the item accordingly." + ;; If invoked outside of Todo mode and there is not yet any Todo + ;; file, initialize one. + (if (null (funcall todo-files-function)) + (todo-show) + (let ((region (eq region-or-here 'region)) + (here (eq region-or-here 'here))) + (when region + (let (use-empty-active-region) + (unless (and todo-use-only-highlighted-region (use-region-p)) + (user-error "There is no active region")))) + (let* ((obuf (current-buffer)) + (ocat (todo-current-category)) + (opoint (point)) + (todo-mm (eq major-mode 'todo-mode)) + (cat+file (cond ((equal arg '(4)) + (todo-read-category "Insert in category: ")) + ((equal arg '(16)) + (todo-read-category "Insert in category: " + nil 'file)) + (t + (cons (todo-current-category) + (or todo-current-todo-file + (and todo-show-current-file + todo-global-current-todo-file) + (todo-absolute-file-name + todo-default-todo-file)))))) + (cat (car cat+file)) + (file (cdr cat+file)) + (new-item (if region + (buffer-substring-no-properties + (region-beginning) (region-end)) + (read-from-minibuffer "Todo item: "))) + (date-string (cond + ((eq date-type 'date) + (todo-read-date)) + ((eq date-type 'dayname) + (todo-read-dayname)) + ((eq date-type 'calendar) + (setq todo-date-from-calendar t) + (or (todo-set-date-from-calendar) + ;; If user exits Calendar before choosing + ;; a date, cancel item insertion. + (keyboard-quit))) + ((and (stringp date-type) + (string-match todo-date-pattern date-type)) + (setq todo-date-from-calendar date-type) + (todo-set-date-from-calendar)) + (t + (calendar-date-string + (calendar-current-date) t t)))) + (time-string (or (and time (todo-read-time)) + (and todo-always-add-time-string + (substring (current-time-string) 11 16))))) + (setq todo-date-from-calendar nil) + (find-file-noselect file 'nowarn) + (set-window-buffer (selected-window) + (set-buffer (find-buffer-visiting file))) + ;; If this command was invoked outside of a Todo mode buffer, + ;; the call to todo-current-category above returned nil. If + ;; we just entered Todo mode now, then cat was set to the + ;; file's first category, but if todo-mode was already + ;; enabled, cat did not get set, so we have to do that. + (unless cat + (setq cat (todo-current-category))) + (setq todo-current-todo-file file) + (unless todo-global-current-todo-file + (setq todo-global-current-todo-file todo-current-todo-file)) + (let ((buffer-read-only nil) + (called-from-outside (not (and todo-mm (equal cat ocat)))) + done-only item-added) + (setq new-item + ;; Add date, time and diary marking as required. + (concat (if (not (and diary (not todo-include-in-diary))) + todo-nondiary-start + (when (and nonmarking (not todo-diary-nonmarking)) + diary-nonmarking-symbol)) + date-string (when (and time-string ; Can be empty. + (not (zerop (length + time-string)))) + (concat " " time-string)) + (when (not (and diary (not todo-include-in-diary))) + todo-nondiary-end) + " " new-item)) + ;; Indent newlines inserted by C-q C-j if nonspace char follows. + (setq new-item (replace-regexp-in-string "\\(\n\\)[^[:blank:]]" + "\n\t" new-item nil nil 1)) + (unwind-protect + (progn + ;; Make sure the correct category is selected. There + ;; are two cases: (i) we just visited the file, so no + ;; category is selected yet, or (ii) we invoked + ;; insertion "here" from outside the category we want + ;; to insert in (with priority insertion, category + ;; selection is done by todo-set-item-priority). + (when (or (= (- (point-max) (point-min)) (buffer-size)) + (and here called-from-outside)) + (todo-category-number cat) + (todo-category-select)) + ;; If only done items are displayed in category, + ;; toggle to todo items before inserting new item. + (when (save-excursion + (goto-char (point-min)) + (looking-at todo-done-string-start)) + (setq done-only t) + (todo-toggle-view-done-only)) + (if here + (progn + ;; If command was invoked with point in done + ;; items section or outside of the current + ;; category, can't insert "here", so to be + ;; useful give new item top priority. + (when (or (todo-done-item-section-p) + called-from-outside + done-only) + (goto-char (point-min))) + (todo-insert-with-overlays new-item)) + (todo-set-item-priority new-item cat t)) + (setq item-added t)) + ;; If user cancels before setting priority, restore + ;; display. + (unless item-added + (if ocat + (progn + (unless (equal cat ocat) + (todo-category-number ocat) + (todo-category-select)) + (and done-only (todo-toggle-view-done-only))) + (set-window-buffer (selected-window) (set-buffer obuf))) + (goto-char opoint)) + ;; If the todo items section is not visible when the + ;; insertion command is called (either because only done + ;; items were shown or because the category was not in the + ;; current buffer), then if the item is inserted at the + ;; end of the category, point is at eob and eob at + ;; window-start, so that higher priority todo items are + ;; out of view. So we recenter to make sure the todo + ;; items are displayed in the window. + (when item-added (recenter))) + (todo-update-count 'todo 1) + (if (or diary todo-include-in-diary) (todo-update-count 'diary 1)) + (todo-update-categories-sexp)))))) + +(defun todo-set-date-from-calendar () + "Return string of date chosen from Calendar." + (cond ((and (stringp todo-date-from-calendar) + (string-match todo-date-pattern todo-date-from-calendar)) + todo-date-from-calendar) + (todo-date-from-calendar + (let (calendar-view-diary-initially-flag) + (calendar)) ; *Calendar* is now current buffer. + (define-key calendar-mode-map [remap newline] 'exit-recursive-edit) + ;; If user exits Calendar before choosing a date, clean up properly. + (define-key calendar-mode-map + [remap calendar-exit] (lambda () + (interactive) + (progn + (calendar-exit) + (exit-recursive-edit)))) + (message "Put cursor on a date and type <return> to set it.") + (recursive-edit) + (unwind-protect + (when (equal (buffer-name) calendar-buffer) + (setq todo-date-from-calendar + (calendar-date-string (calendar-cursor-to-date t) t t)) + (calendar-exit) + todo-date-from-calendar) + (define-key calendar-mode-map [remap newline] nil) + (define-key calendar-mode-map [remap calendar-exit] nil) + (unless (zerop (recursion-depth)) (exit-recursive-edit)) + (when (stringp todo-date-from-calendar) + todo-date-from-calendar))))) + +(defun todo-insert-item-from-calendar (&optional arg) + "Prompt for and insert a new item with date selected from calendar. +Invoked without prefix argument ARG, insert the item into the +current category, without one prefix argument, prompt for the +category from the current todo file or from one listed in +`todo-category-completions-files'; with two prefix arguments, +prompt for a todo file and then for a category in it." (interactive "P") - (save-excursion - (if (not (derived-mode-p 'todo-mode)) (todo-show)) - (let* ((new-item (concat todo-prefix " " - (read-from-minibuffer - "New TODO entry: " - (if todo-entry-prefix-function - (funcall todo-entry-prefix-function))))) - (current-category (nth todo-category-number todo-categories)) - (category (if arg (todo-completing-read) current-category))) - (todo-add-item-non-interactively new-item category)))) - -(defalias 'todo-cmd-inst 'todo-insert-item) - -(defun todo-insert-item-here () - "Insert a new TODO list entry directly above the entry at point. -If point is on an empty line, insert the entry there." - (interactive) - (if (not (derived-mode-p 'todo-mode)) (todo-show)) - (let ((new-item (concat todo-prefix " " - (read-from-minibuffer - "New TODO entry: " - (if todo-entry-prefix-function - (funcall todo-entry-prefix-function)))))) - (unless (and (bolp) (eolp)) (todo-item-start)) - (insert (concat new-item "\n")) - (backward-char) - ;; put point at start of new entry - (todo-item-start))) - -(defun todo-more-important-p (line) - "Ask whether entry is more important than the one at LINE." - (unless (equal todo-previous-line line) - (setq todo-previous-line line) - (goto-char (point-min)) - (forward-line (1- todo-previous-line)) - (let ((item (todo-item-string-start))) - (setq todo-previous-answer - (y-or-n-p (concat "More important than '" item "'? "))))) - todo-previous-answer) -(defalias 'todo-ask-p 'todo-more-important-p) + (setq todo-date-from-calendar + (calendar-date-string (calendar-cursor-to-date t) t t)) + (calendar-exit) + (todo-basic-insert-item arg nil nil todo-date-from-calendar)) + +(define-key calendar-mode-map "it" 'todo-insert-item-from-calendar) + +(defun todo-copy-item () + "Copy item at point and insert the copy as a new item." + (interactive) + (unless (or (todo-done-item-p) (looking-at "^$")) + (let ((copy (todo-item-string)) + (diary-item (todo-diary-item-p))) + (todo-set-item-priority copy (todo-current-category) t) + (todo-update-count 'todo 1) + (when diary-item (todo-update-count 'diary 1)) + (todo-update-categories-sexp)))) (defun todo-delete-item () - "Delete current TODO list entry." - (interactive) - (if (> (count-lines (point-min) (point-max)) 0) - (let* ((todo-entry (todo-item-string-start)) - (todo-answer (y-or-n-p (concat "Permanently remove '" - todo-entry "'? ")))) - (when todo-answer - (todo-remove-item) - (todo-backward-item)) - (message "")) - (error "No TODO list entry to delete"))) -(defalias 'todo-cmd-kill 'todo-delete-item) - -(defun todo-raise-item () - "Raise priority of current entry." - (interactive) - (if (> (count-lines (point-min) (point)) 0) - (let ((item (todo-item-string))) - (todo-remove-item) - (todo-backward-item) - (save-excursion - (insert item "\n")) - (message "")) - (error "No TODO list entry to raise"))) -(defalias 'todo-cmd-rais 'todo-raise-item) - -(defun todo-lower-item () - "Lower priority of current entry." - (interactive) - (if (> (count-lines (point) (point-max)) 1) - ;; Assume there is a final newline - (let ((item (todo-item-string))) - (todo-remove-item) - (todo-forward-item) - (save-excursion - (insert item "\n")) - (message "")) - (error "No TODO list entry to lower"))) -(defalias 'todo-cmd-lowr 'todo-lower-item) - -(defun todo-file-item (&optional comment) - "File the current TODO list entry away, annotated with an optional COMMENT." - (interactive "sComment: ") - (or (> (count-lines (point-min) (point-max)) 0) - (error "No TODO list entry to file away")) - (let ((time-stamp-format todo-time-string-format)) - (when (and comment (> (length comment) 0)) - (goto-char (todo-item-end)) - (insert - (if (save-excursion (beginning-of-line) - (looking-at (regexp-quote todo-prefix))) - " " - "\n\t") - "(" comment ")")) - (goto-char (todo-item-end)) - (insert " [" (nth todo-category-number todo-categories) "]") - (todo-item-start) - (let ((temp-point (point))) - (if (looking-at (regexp-quote todo-prefix)) - (replace-match (time-stamp-string)) - ;; Standard prefix -> timestamp - ;; Else prefix non-standard item start with timestamp - (insert (time-stamp-string))) - (append-to-file temp-point (todo-item-end 'include-sep) todo-file-done) - (delete-region temp-point (todo-item-end 'include-sep))) - (todo-backward-item) - (message ""))) + "Delete at least one item in this category. +If there are marked items, delete all of these; otherwise, delete +the item at point." + (interactive) + (let (ov) + (unwind-protect + (let* ((cat (todo-current-category)) + (marked (assoc cat todo-categories-with-marks)) + (item (unless marked (todo-item-string))) + (answer (if marked + (todo-y-or-n-p + "Permanently delete all marked items? ") + (when item + (setq ov (make-overlay + (save-excursion (todo-item-start)) + (save-excursion (todo-item-end)))) + (overlay-put ov 'face 'todo-search) + (todo-y-or-n-p "Permanently delete this item? ")))) + buffer-read-only) + (when answer + (and marked (goto-char (point-min))) + (catch 'done + (while (not (eobp)) + (if (or (and marked (todo-marked-item-p)) item) + (progn + (if (todo-done-item-p) + (todo-update-count 'done -1) + (todo-update-count 'todo -1 cat) + (and (todo-diary-item-p) + (todo-update-count 'diary -1))) + (if ov (delete-overlay ov)) + (todo-remove-item) + ;; Don't leave point below last item. + (and item (bolp) (eolp) (< (point-min) (point-max)) + (todo-backward-item)) + (when item + (throw 'done (setq item nil)))) + (todo-forward-item)))) + (when marked + (setq todo-categories-with-marks + (assq-delete-all cat todo-categories-with-marks))) + (todo-update-categories-sexp) + (todo-prefix-overlays))) + (if ov (delete-overlay ov))))) -;; --------------------------------------------------------------------------- +(defun todo-edit-item (&optional arg) + "Edit the todo item at point. +With non-nil prefix argument ARG, include the item's date/time +header, making it also editable; otherwise, include only the item +content. -;; Utility functions: +If the item consists of only one logical line, edit it in the +minibuffer; otherwise, edit it in Todo Edit mode." + (interactive "P") + (when (todo-item-string) + (let* ((opoint (point)) + (start (todo-item-start)) + (item-beg (progn + (re-search-forward + (concat todo-date-string-start todo-date-pattern + "\\( " diary-time-regexp "\\)?" + (regexp-quote todo-nondiary-end) "?") + (line-end-position) t) + (1+ (- (point) start)))) + (header (substring (todo-item-string) 0 item-beg)) + (item (if arg (todo-item-string) + (substring (todo-item-string) item-beg))) + (multiline (> (length (split-string item "\n")) 1)) + (buffer-read-only nil)) + (if multiline + (todo-edit-multiline-item) + (let ((new (concat (if arg "" header) + (read-string "Edit: " (if arg + (cons item item-beg) + (cons item 0)))))) + (when arg + (while (not (string-match (concat todo-date-string-start + todo-date-pattern) new)) + (setq new (read-from-minibuffer + "Item must start with a date: " new)))) + ;; Ensure lines following hard newlines are indented. + (setq new (replace-regexp-in-string "\\(\n\\)[^[:blank:]]" + "\n\t" new nil nil 1)) + ;; If user moved point during editing, make sure it moves back. + (goto-char opoint) + (todo-remove-item) + (todo-insert-with-overlays new) + (move-to-column item-beg)))))) +(defun todo-edit-multiline-item () + "Edit current todo item in Todo Edit mode. +Use of newlines invokes `todo-indent' to insure compliance with +the format of Diary entries." + (interactive) + (when (todo-item-string) + (let ((buf todo-edit-buffer)) + (set-window-buffer (selected-window) + (set-buffer (make-indirect-buffer (buffer-name) buf))) + (narrow-to-region (todo-item-start) (todo-item-end)) + (todo-edit-mode) + (message "%s" (substitute-command-keys + (concat "Type \\[todo-edit-quit] " + "to return to Todo mode.\n")))))) -;;;###autoload -(defun todo-top-priorities (&optional nof-priorities category-pr-page - interactive) - "List top priorities for each category. - -Number of entries for each category is given by NOF-PRIORITIES which -defaults to `todo-show-priorities'. - -If CATEGORY-PR-PAGE is non-nil, a page separator \'^L\' is inserted -between each category. -INTERACTIVE should be non-nil if this function is called interactively." - - (interactive "P\ni\nP") - (or nof-priorities (setq nof-priorities todo-show-priorities)) - (if (listp nof-priorities) ;universal argument - (setq nof-priorities (car nof-priorities))) - (let ((todo-print-buffer-name todo-tmp-buffer-name) - ;;(todo-print-category-number 0) - (todo-category-break (if category-pr-page "" "")) - (cat-end - (concat - (if todo-remove-separator - (concat todo-category-end "\n" - (regexp-quote todo-prefix) " " todo-category-sep "\n") - (concat todo-category-end "\n")))) - beg end) +(defun todo-edit-quit () + "Return from Todo Edit mode to Todo mode. +If the item contains hard line breaks, make sure the following +lines are indented by `todo-indent-to-here' to conform to diary +format. + +If the whole file was in Todo Edit mode, check before returning +whether the file is still a valid todo file and if so, also +recalculate the todo file's categories sexp, in case changes were +made in the number or names of categories." + (interactive) + (if (> (buffer-size) (- (point-max) (point-min))) + ;; We got here via `e m'. + (let ((item (buffer-string)) + (regex "\\(\n\\)[^[:blank:]]") + (buf (buffer-base-buffer))) + (while (not (string-match (concat todo-date-string-start + todo-date-pattern) item)) + (setq item (read-from-minibuffer + "Item must start with a date: " item))) + ;; Ensure lines following hard newlines are indented. + (when (string-match regex (buffer-string)) + (setq item (replace-regexp-in-string regex "\n\t" item nil nil 1)) + (delete-region (point-min) (point-max)) + (insert item)) + (kill-buffer) + (unless (eq (current-buffer) buf) + (set-window-buffer (selected-window) (set-buffer buf)))) + ;; We got here via `F e'. + (when (todo-check-format) + ;; FIXME: separate out sexp check? + ;; If manual editing makes e.g. item counts change, have to + ;; call this to update todo-categories, but it restores + ;; category order to list order. + ;; (todo-repair-categories-sexp) + ;; Compare (todo-make-categories-list t) with sexp and if + ;; different ask (todo-update-categories-sexp) ? + (todo-mode) + (let* ((cat-beg (concat "^" (regexp-quote todo-category-beg) + "\\(.*\\)$")) + (curline (buffer-substring-no-properties + (line-beginning-position) (line-end-position))) + (cat (cond ((string-match cat-beg curline) + (match-string-no-properties 1 curline)) + ((or (re-search-backward cat-beg nil t) + (re-search-forward cat-beg nil t)) + (match-string-no-properties 1))))) + (todo-category-number cat) + (todo-category-select) + (goto-char (point-min)))))) + +(defun todo-basic-edit-item-header (what &optional inc) + "Function underlying commands to edit item date/time header. + +The argument WHAT (passed by invoking commands) specifies what +part of the header to edit; possible values are these symbols: +`date', to edit the year, month, and day of the date string; +`time', to edit just the time string; `calendar', to select the +date from the Calendar; `today', to set the date to today's date; +`dayname', to set the date string to the name of a day or to +change the day name; and `year', `month' or `day', to edit only +these respective parts of the date string (`day' is the number of +the given day of the month, and `month' is either the name of the +given month or its number, depending on the value of +`calendar-date-display-form'). + +The optional argument INC is a positive or negative integer +\(passed by invoking commands as a numerical prefix argument) +that in conjunction with the WHAT values `year', `month' or +`day', increments or decrements the specified date string +component by the specified number of suitable units, i.e., years, +months, or days, with automatic adjustment of the other date +string components as necessary. + +If there are marked items, apply the same edit to all of these; +otherwise, edit just the item at point." + (let* ((cat (todo-current-category)) + (marked (assoc cat todo-categories-with-marks)) + (first t) + (todo-date-from-calendar t) + (buffer-read-only nil) + ndate ntime year monthname month day + dayname) ; Needed by calendar-date-display-form. (save-excursion - (todo-show) - (save-restriction - (save-current-buffer + (or (and marked (goto-char (point-min))) (todo-item-start)) + (catch 'end + (while (not (eobp)) + (and marked + (while (not (todo-marked-item-p)) + (todo-forward-item) + (and (eobp) (throw 'end nil)))) + (re-search-forward (concat todo-date-string-start "\\(?1:" + todo-date-pattern + "\\)\\(?2: " diary-time-regexp "\\)?" + (regexp-quote todo-nondiary-end) "?") + (line-end-position) t) + (let* ((odate (match-string-no-properties 1)) + (otime (match-string-no-properties 2)) + (odayname (match-string-no-properties 5)) + (omonthname (match-string-no-properties 6)) + (omonth (match-string-no-properties 7)) + (oday (match-string-no-properties 8)) + (oyear (match-string-no-properties 9)) + (tmn-array todo-month-name-array) + (mlist (append tmn-array nil)) + (tma-array todo-month-abbrev-array) + (mablist (append tma-array nil)) + (yy (and oyear (unless (string= oyear "*") + (string-to-number oyear)))) + (mm (or (and omonth (unless (string= omonth "*") + (string-to-number omonth))) + (1+ (- (length mlist) + (length (or (member omonthname mlist) + (member omonthname mablist))))))) + (dd (and oday (unless (string= oday "*") + (string-to-number oday))))) + ;; If there are marked items, use only the first to set + ;; header changes, and apply these to all marked items. + (when first + (cond + ((eq what 'date) + (setq ndate (todo-read-date))) + ((eq what 'calendar) + (setq ndate (save-match-data (todo-set-date-from-calendar)))) + ((eq what 'today) + (setq ndate (calendar-date-string (calendar-current-date) t t))) + ((eq what 'dayname) + (setq ndate (todo-read-dayname))) + ((eq what 'time) + (setq ntime (save-match-data (todo-read-time))) + (when (> (length ntime) 0) + (setq ntime (concat " " ntime)))) + ;; When date string consists only of a day name, + ;; passing other date components is a noop. + ((and odayname (memq what '(year month day)))) + ((eq what 'year) + (setq day oday + monthname omonthname + month omonth + year (cond ((not current-prefix-arg) + (todo-read-date 'year)) + ((string= oyear "*") + (user-error "Cannot increment *")) + (t + (number-to-string (+ yy inc)))))) + ((eq what 'month) + (setf day oday + year oyear + (if (memq 'month calendar-date-display-form) + month + monthname) + (cond ((not current-prefix-arg) + (todo-read-date 'month)) + ((or (string= omonth "*") (= mm 13)) + (user-error "Cannot increment *")) + (t + (let ((mminc (+ mm inc))) + ;; Increment or decrement month by INC + ;; modulo 12. + (setq mm (% mminc 12)) + ;; If result is 0, make month December. + (setq mm (if (= mm 0) 12 (abs mm))) + ;; Adjust year if necessary. + (setq year (or (and (cond ((> mminc 12) + (+ yy (/ mminc 12))) + ((< mminc 1) + (- yy (/ mminc 12) 1)) + (t yy)) + (number-to-string yy)) + oyear))) + ;; Return the changed numerical month as + ;; a string or the corresponding month name. + (if omonth + (number-to-string mm) + (aref tma-array (1- mm)))))) + (let ((yy (string-to-number year)) ; 0 if year is "*". + ;; When mm is 13 (corresponding to "*" as value + ;; of month), this raises an args-out-of-range + ;; error in calendar-last-day-of-month, so use 1 + ;; (corresponding to January) to get 31 days. + (mm (if (= mm 13) 1 mm))) + (if (> (string-to-number day) + (calendar-last-day-of-month mm yy)) + (user-error "%s %s does not have %s days" + (aref tmn-array (1- mm)) + (if (= mm 2) yy "") day)))) + ((eq what 'day) + (setq year oyear + month omonth + monthname omonthname + day (cond + ((not current-prefix-arg) + (todo-read-date 'day mm oyear)) + ((string= oday "*") + (user-error "Cannot increment *")) + ((or (string= omonth "*") (string= omonthname "*")) + (setq dd (+ dd inc)) + (if (> dd 31) + (user-error "A month cannot have more than 31 days") + (number-to-string dd))) + ;; Increment or decrement day by INC, + ;; adjusting month and year if necessary + ;; (if year is "*" assume current year to + ;; calculate adjustment). + (t + (let* ((yy (or yy (calendar-extract-year + (calendar-current-date)))) + (date (calendar-gregorian-from-absolute + (+ (calendar-absolute-from-gregorian + (list mm dd yy)) inc))) + (adjmm (nth 0 date))) + ;; Set year and month(name) to adjusted values. + (unless (string= year "*") + (setq year (number-to-string (nth 2 date)))) + (if month + (setq month (number-to-string adjmm)) + (setq monthname (aref tma-array (1- adjmm)))) + ;; Return changed numerical day as a string. + (number-to-string (nth 1 date))))))))) + (unless odayname + ;; If year, month or day date string components were + ;; changed, rebuild the date string. + (when (memq what '(year month day)) + (setq ndate (mapconcat 'eval calendar-date-display-form "")))) + (when ndate (replace-match ndate nil nil nil 1)) + ;; Add new time string to the header, if it was supplied. + (when ntime + (if otime + (replace-match ntime nil nil nil 2) + (goto-char (match-end 1)) + (insert ntime))) + (setq todo-date-from-calendar nil) + (setq first nil)) + ;; Apply the changes to the first marked item header to the + ;; remaining marked items. If there are no marked items, + ;; we're finished. + (if marked + (todo-forward-item) + (goto-char (point-max)))))))) + +(defun todo-edit-item-header () + "Interactively edit at least the date of item's date/time header. +If user option `todo-always-add-time-string' is non-nil, also +edit item's time string." + (interactive) + (todo-basic-edit-item-header 'date) + (when todo-always-add-time-string + (todo-edit-item-time))) + +(defun todo-edit-item-time () + "Interactively edit the time string of item's date/time header." + (interactive) + (todo-basic-edit-item-header 'time)) + +(defun todo-edit-item-date-from-calendar () + "Interactively edit item's date using the Calendar." + (interactive) + (todo-basic-edit-item-header 'calendar)) + +(defun todo-edit-item-date-to-today () + "Set item's date to today's date." + (interactive) + (todo-basic-edit-item-header 'today)) + +(defun todo-edit-item-date-day-name () + "Replace item's date with the name of a day of the week." + (interactive) + (todo-basic-edit-item-header 'dayname)) + +(defun todo-edit-item-date-year (&optional inc) + "Interactively edit the year of item's date string. +With prefix argument INC a positive or negative integer, +increment or decrement the year by INC." + (interactive "p") + (todo-basic-edit-item-header 'year inc)) + +(defun todo-edit-item-date-month (&optional inc) + "Interactively edit the month of item's date string. +With prefix argument INC a positive or negative integer, +increment or decrement the month by INC." + (interactive "p") + (todo-basic-edit-item-header 'month inc)) + +(defun todo-edit-item-date-day (&optional inc) + "Interactively edit the day of the month of item's date string. +With prefix argument INC a positive or negative integer, +increment or decrement the day by INC." + (interactive "p") + (todo-basic-edit-item-header 'day inc)) + +(defun todo-edit-item-diary-inclusion () + "Change diary status of one or more todo items in this category. +That is, insert `todo-nondiary-marker' if the candidate items +lack this marking; otherwise, remove it. + +If there are marked todo items, change the diary status of all +and only these, otherwise change the diary status of the item at +point." + (interactive) + (let ((buffer-read-only) + (marked (assoc (todo-current-category) + todo-categories-with-marks))) + (catch 'stop + (save-excursion + (when marked (goto-char (point-min))) + (while (not (eobp)) + (if (todo-done-item-p) + (throw 'stop (message "Done items cannot be edited")) + (unless (and marked (not (todo-marked-item-p))) + (let* ((beg (todo-item-start)) + (lim (save-excursion (todo-item-end))) + (end (save-excursion + (or (todo-time-string-matcher lim) + (todo-date-string-matcher lim))))) + (if (looking-at (regexp-quote todo-nondiary-start)) + (progn + (replace-match "") + (search-forward todo-nondiary-end (1+ end) t) + (replace-match "") + (todo-update-count 'diary 1)) + (when end + (insert todo-nondiary-start) + (goto-char (1+ end)) + (insert todo-nondiary-end) + (todo-update-count 'diary -1))))) + (unless marked (throw 'stop nil)) + (todo-forward-item))))) + (todo-update-categories-sexp))) + +(defun todo-edit-category-diary-inclusion (arg) + "Make all items in this category diary items. +With prefix ARG, make all items in this category non-diary +items." + (interactive "P") + (save-excursion + (goto-char (point-min)) + (let ((todo-count (todo-get-count 'todo)) + (diary-count (todo-get-count 'diary)) + (buffer-read-only)) + (catch 'stop + (while (not (eobp)) + (if (todo-done-item-p) ; We've gone too far. + (throw 'stop nil) + (let* ((beg (todo-item-start)) + (lim (save-excursion (todo-item-end))) + (end (save-excursion + (or (todo-time-string-matcher lim) + (todo-date-string-matcher lim))))) + (if arg + (unless (looking-at (regexp-quote todo-nondiary-start)) + (insert todo-nondiary-start) + (goto-char (1+ end)) + (insert todo-nondiary-end)) + (when (looking-at (regexp-quote todo-nondiary-start)) + (replace-match "") + (search-forward todo-nondiary-end (1+ end) t) + (replace-match ""))))) + (todo-forward-item)) + (unless (if arg (zerop diary-count) (= diary-count todo-count)) + (todo-update-count 'diary (if arg + (- diary-count) + (- todo-count diary-count)))) + (todo-update-categories-sexp))))) + +(defun todo-edit-item-diary-nonmarking () + "Change non-marking of one or more diary items in this category. +That is, insert `diary-nonmarking-symbol' if the candidate items +lack this marking; otherwise, remove it. + +If there are marked todo items, change the non-marking status of +all and only these, otherwise change the non-marking status of +the item at point." + (interactive) + (let ((buffer-read-only) + (marked (assoc (todo-current-category) + todo-categories-with-marks))) + (catch 'stop + (save-excursion + (when marked (goto-char (point-min))) + (while (not (eobp)) + (if (todo-done-item-p) + (throw 'stop (message "Done items cannot be edited")) + (unless (and marked (not (todo-marked-item-p))) + (todo-item-start) + (unless (looking-at (regexp-quote todo-nondiary-start)) + (if (looking-at (regexp-quote diary-nonmarking-symbol)) + (replace-match "") + (insert diary-nonmarking-symbol)))) + (unless marked (throw 'stop nil)) + (todo-forward-item))))))) + +(defun todo-edit-category-diary-nonmarking (arg) + "Add `diary-nonmarking-symbol' to all diary items in this category. +With prefix ARG, remove `diary-nonmarking-symbol' from all diary +items in this category." + (interactive "P") + (save-excursion + (goto-char (point-min)) + (let (buffer-read-only) + (catch 'stop + (while (not (eobp)) + (if (todo-done-item-p) ; We've gone too far. + (throw 'stop nil) + (unless (looking-at (regexp-quote todo-nondiary-start)) + (if arg + (when (looking-at (regexp-quote diary-nonmarking-symbol)) + (replace-match "")) + (unless (looking-at (regexp-quote diary-nonmarking-symbol)) + (insert diary-nonmarking-symbol)))) + (todo-forward-item))))))) + +(defun todo-set-item-priority (&optional item cat new arg) + "Prompt for and set ITEM's priority in CATegory. + +Interactively, ITEM is the todo item at point, CAT is the current +category, and the priority is a number between 1 and the number +of items in the category. Non-interactively, non-nil NEW means +ITEM is a new item and the lowest priority is one more than the +number of items in CAT. + +The new priority is set either interactively by prompt or by a +numerical prefix argument, or noninteractively by argument ARG, +whose value can be either of the symbols `raise' or `lower', +meaning to raise or lower the item's priority by one." + (interactive) + (unless (and (called-interactively-p 'any) + (or (todo-done-item-p) (looking-at "^$"))) + (let* ((item (or item (todo-item-string))) + (marked (todo-marked-item-p)) + (cat (or cat (cond ((eq major-mode 'todo-mode) + (todo-current-category)) + ((eq major-mode 'todo-filtered-items-mode) + (let* ((regexp1 + (concat todo-date-string-start + todo-date-pattern + "\\( " diary-time-regexp "\\)?" + (regexp-quote todo-nondiary-end) + "?\\(?1: \\[\\(.+:\\)?.+\\]\\)"))) + (save-excursion + (re-search-forward regexp1 nil t) + (match-string-no-properties 1))))))) + curnum + (todo (cond ((or (eq arg 'raise) (eq arg 'lower) + (eq major-mode 'todo-filtered-items-mode)) + (save-excursion + (let ((curstart (todo-item-start)) + (count 0)) + (goto-char (point-min)) + (while (looking-at todo-item-start) + (setq count (1+ count)) + (when (= (point) curstart) (setq curnum count)) + (todo-forward-item)) + count))) + ((eq major-mode 'todo-mode) + (todo-get-count 'todo cat)))) + (maxnum (if new (1+ todo) todo)) + (prompt (format "Set item priority (1-%d): " maxnum)) + (priority (cond ((and (not arg) (numberp current-prefix-arg)) + current-prefix-arg) + ((and (eq arg 'raise) (>= curnum 1)) + (1- curnum)) + ((and (eq arg 'lower) (<= curnum maxnum)) + (1+ curnum)))) + candidate + buffer-read-only) + (unless (and priority + (or (and (eq arg 'raise) (zerop priority)) + (and (eq arg 'lower) (> priority maxnum)))) + ;; When moving item to another category, show the category before + ;; prompting for its priority. + (unless (or arg (called-interactively-p 'any)) + (todo-category-number cat) + ;; If done items in category are visible, keep them visible. + (let ((done todo-show-with-done)) + (when (> (buffer-size) (- (point-max) (point-min))) + (save-excursion + (goto-char (point-min)) + (setq done (re-search-forward todo-done-string-start nil t)))) + (let ((todo-show-with-done done)) + (todo-category-select) + ;; Keep top of category in view while setting priority. + (goto-char (point-min))))) + ;; Prompt for priority only when the category has at least one + ;; todo item. + (when (> maxnum 1) + (while (not priority) + (setq candidate (read-number prompt)) + (setq prompt (when (or (< candidate 1) (> candidate maxnum)) + (format "Priority must be an integer between 1 and %d.\n" + maxnum))) + (unless prompt (setq priority candidate)))) + ;; In Top Priorities buffer, an item's priority can be changed + ;; wrt items in another category, but not wrt items in the same + ;; category. + (when (eq major-mode 'todo-filtered-items-mode) + (let* ((regexp2 (concat todo-date-string-start todo-date-pattern + "\\( " diary-time-regexp "\\)?" + (regexp-quote todo-nondiary-end) + "?\\(?1:" (regexp-quote cat) "\\)")) + (end (cond ((< curnum priority) + (save-excursion (todo-item-end))) + ((> curnum priority) + (save-excursion (todo-item-start))))) + (match (save-excursion + (cond ((< curnum priority) + (todo-forward-item (1+ (- priority curnum))) + (when (re-search-backward regexp2 end t) + (match-string-no-properties 1))) + ((> curnum priority) + (todo-backward-item (- curnum priority)) + (when (re-search-forward regexp2 end t) + (match-string-no-properties 1))))))) + (when match + (user-error (concat "Cannot reprioritize items from the same " + "category in this mode, only in Todo mode"))))) + ;; Interactively or with non-nil ARG, relocate the item within its + ;; category. + (when (or arg (called-interactively-p 'any)) + (todo-remove-item)) + (goto-char (point-min)) + (when priority + (unless (= priority 1) + (todo-forward-item (1- priority)) + ;; When called from todo-item-undone and the highest priority + ;; is chosen, this advances point to the first done item, so + ;; move it up to the empty line above the done items + ;; separator. + (when (looking-back (concat "^" + (regexp-quote todo-category-done) + "\n")) + (todo-backward-item)))) + (todo-insert-with-overlays item) + ;; If item was marked, restore the mark. + (and marked + (let* ((ov (todo-get-overlay 'prefix)) + (pref (overlay-get ov 'before-string))) + (overlay-put ov 'before-string + (concat todo-item-mark pref)))))))) + +(defun todo-raise-item-priority () + "Raise priority of current item by moving it up by one item." + (interactive) + (todo-set-item-priority nil nil nil 'raise)) + +(defun todo-lower-item-priority () + "Lower priority of current item by moving it down by one item." + (interactive) + (todo-set-item-priority nil nil nil 'lower)) + +(defun todo-move-item (&optional file) + "Move at least one todo or done item to another category. +If there are marked items, move all of these; otherwise, move +the item at point. + +With prefix argument FILE, prompt for a specific todo file and +choose (with TAB completion) a category in it to move the item or +items to; otherwise, choose and move to any category in either +the current todo file or one of the files in +`todo-category-completions-files'. If the chosen category is +not an existing categories, then it is created and the item(s) +become(s) the first entry/entries in that category. + +With moved todo items, prompt to set the priority in the category +moved to (with multiple todo items, the one that had the highest +priority in the category moved from gets the new priority and the +rest of the moved todo items are inserted in sequence below it). +Moved done items are appended to the top of the done items +section in the category moved to." + (interactive "P") + (let* ((cat1 (todo-current-category)) + (marked (assoc cat1 todo-categories-with-marks))) + ;; Noop if point is not on an item and there are no marked items. + (unless (and (looking-at "^$") + (not marked)) + (let* ((buffer-read-only) + (file1 todo-current-todo-file) + (num todo-category-number) + (item (todo-item-string)) + (diary-item (todo-diary-item-p)) + (done-item (and (todo-done-item-p) (concat item "\n"))) + (omark (save-excursion (todo-item-start) (point-marker))) + (todo 0) + (diary 0) + (done 0) + ov cat2 file2 moved nmark todo-items done-items) + (unwind-protect + (progn + (unless marked + (setq ov (make-overlay (save-excursion (todo-item-start)) + (save-excursion (todo-item-end)))) + (overlay-put ov 'face 'todo-search)) + (let* ((pl (if (and marked (> (cdr marked) 1)) "s" "")) + (cat+file (todo-read-category (concat "Move item" pl + " to category: ") + nil file))) + (while (and (equal (car cat+file) cat1) + (equal (cdr cat+file) file1)) + (setq cat+file (todo-read-category + "Choose a different category: "))) + (setq cat2 (car cat+file) + file2 (cdr cat+file)))) + (if ov (delete-overlay ov))) + (set-buffer (find-buffer-visiting file1)) + (if marked + (progn + (goto-char (point-min)) + (while (not (eobp)) + (when (todo-marked-item-p) + (if (todo-done-item-p) + (setq done-items (concat done-items + (todo-item-string) "\n") + done (1+ done)) + (setq todo-items (concat todo-items + (todo-item-string) "\n") + todo (1+ todo)) + (when (todo-diary-item-p) + (setq diary (1+ diary))))) + (todo-forward-item)) + ;; Chop off last newline of multiple todo item string, + ;; since it will be reinserted when setting priority + ;; (but with done items priority is not set, so keep + ;; last newline). + (and todo-items + (setq todo-items (substring todo-items 0 -1)))) + (if (todo-done-item-p) + (setq done 1) + (setq todo 1) + (when (todo-diary-item-p) (setq diary 1)))) + (set-window-buffer (selected-window) + (set-buffer (find-file-noselect file2 'nowarn))) + (unwind-protect + (progn + (when (or todo-items (and item (not done-item))) + (todo-set-item-priority (or todo-items item) cat2 t)) + ;; Move done items en bloc to top of done items section. + (when (or done-items done-item) + (todo-category-number cat2) + (widen) + (goto-char (point-min)) + (re-search-forward + (concat "^" (regexp-quote (concat todo-category-beg cat2)) + "$") nil t) + (re-search-forward + (concat "^" (regexp-quote todo-category-done)) nil t) + (forward-line) + (insert (or done-items done-item))) + (setq moved t)) + (cond + ;; Move succeeded, so remove item from starting category, + ;; update item counts and display the category containing + ;; the moved item. + (moved + (setq nmark (point-marker)) + (when todo (todo-update-count 'todo todo)) + (when diary (todo-update-count 'diary diary)) + (when done (todo-update-count 'done done)) + (todo-update-categories-sexp) + (with-current-buffer (find-buffer-visiting file1) + (save-excursion + (save-restriction + (widen) + (goto-char omark) + (if marked + (let (beg end) + (setq item nil) + (re-search-backward + (concat "^" (regexp-quote todo-category-beg)) nil t) + (forward-line) + (setq beg (point)) + (setq end (if (re-search-forward + (concat "^" (regexp-quote + todo-category-beg)) nil t) + (match-beginning 0) + (point-max))) + (goto-char beg) + (while (< (point) end) + (if (todo-marked-item-p) + (todo-remove-item) + (todo-forward-item))) + (setq todo-categories-with-marks + (assq-delete-all cat1 todo-categories-with-marks))) + (if ov (delete-overlay ov)) + (todo-remove-item)))) + (when todo (todo-update-count 'todo (- todo) cat1)) + (when diary (todo-update-count 'diary (- diary) cat1)) + (when done (todo-update-count 'done (- done) cat1)) + (todo-update-categories-sexp)) + (set-window-buffer (selected-window) + (set-buffer (find-file-noselect file2 'nowarn))) + (setq todo-category-number (todo-category-number cat2)) + (let ((todo-show-with-done (or done-items done-item))) + (todo-category-select)) + (goto-char nmark) + ;; If item is moved to end of (just first?) category, make + ;; sure the items above it are displayed in the window. + (recenter)) + ;; User quit before setting priority of todo item(s), so + ;; return to starting category. + (t + (set-window-buffer (selected-window) + (set-buffer (find-file-noselect file1 'nowarn))) + (todo-category-number cat1) + (todo-category-select) + (goto-char omark)))))))) + +(defun todo-item-done (&optional arg) + "Tag a todo item in this category as done and relocate it. + +With prefix argument ARG prompt for a comment and append it to +the done item; this is only possible if there are no marked +items. If there are marked items, tag all of these with +`todo-done-string' plus the current date and, if +`todo-always-add-time-string' is non-nil, the current time; +otherwise, just tag the item at point. Items tagged as done are +relocated to the category's (by default hidden) done section. If +done items are visible on invoking this command, they remain +visible." + (interactive "P") + (let* ((cat (todo-current-category)) + (marked (assoc cat todo-categories-with-marks))) + (when marked + (save-excursion + (save-restriction + (goto-char (point-max)) + (todo-backward-item) + (unless (todo-done-item-p) + (widen) + (unless (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) nil t) + (goto-char (point-max))) + (forward-line -1)) + (while (todo-done-item-p) + (when (todo-marked-item-p) + (user-error "This command does not apply to done items")) + (todo-backward-item))))) + (unless (and (not marked) + (or (todo-done-item-p) + ;; Point is between todo and done items. + (looking-at "^$"))) + (let* ((date-string (calendar-date-string (calendar-current-date) t t)) + (time-string (if todo-always-add-time-string + (concat " " (substring (current-time-string) + 11 16)) + "")) + (done-prefix (concat "[" todo-done-string date-string time-string + "] ")) + (comment (and arg (read-string "Enter a comment: "))) + (item-count 0) + (diary-count 0) + (show-done (save-excursion + (goto-char (point-min)) + (re-search-forward todo-done-string-start nil t))) + (buffer-read-only nil) + item done-item opoint) + ;; Don't add empty comment to done item. + (setq comment (unless (zerop (length comment)) + (concat " [" todo-comment-string ": " comment "]"))) + (and marked (goto-char (point-min))) + (catch 'done + ;; Stop looping when we hit the empty line below the last + ;; todo item (this is eobp if only done items are hidden). + (while (not (looking-at "^$")) + (if (or (not marked) (and marked (todo-marked-item-p))) + (progn + (setq item (todo-item-string)) + (setq done-item (concat done-item done-prefix item + comment (and marked "\n"))) + (setq item-count (1+ item-count)) + (when (todo-diary-item-p) + (setq diary-count (1+ diary-count))) + (todo-remove-item) + (unless marked (throw 'done nil))) + (todo-forward-item)))) + (when marked + ;; Chop off last newline of done item string. + (setq done-item (substring done-item 0 -1)) + (setq todo-categories-with-marks + (assq-delete-all cat todo-categories-with-marks))) + (save-excursion (widen) - (copy-to-buffer todo-print-buffer-name (point-min) (point-max)) - (set-buffer todo-print-buffer-name) + (re-search-forward + (concat "^" (regexp-quote todo-category-done)) nil t) + (forward-char) + (when show-done (setq opoint (point))) + (insert done-item "\n")) + (todo-update-count 'todo (- item-count)) + (todo-update-count 'done item-count) + (todo-update-count 'diary (- diary-count)) + (todo-update-categories-sexp) + (let ((todo-show-with-done show-done)) + (todo-category-select) + ;; When done items are shown, put cursor on first just done item. + (when opoint (goto-char opoint))))))) + +(defun todo-edit-done-item-comment (&optional arg) + "Add a comment to this done item or edit an existing comment. +With prefix ARG delete an existing comment." + (interactive "P") + (when (todo-done-item-p) + (let ((item (todo-item-string)) + (opoint (point)) + (end (save-excursion (todo-item-end))) + comment buffer-read-only) + (save-excursion + (todo-item-start) + (if (re-search-forward (concat " \\[" + (regexp-quote todo-comment-string) + ": \\([^]]+\\)\\]") end t) + (if arg + (when (todo-y-or-n-p "Delete comment? ") + (delete-region (match-beginning 0) (match-end 0))) + (setq comment (read-string "Edit comment: " + (cons (match-string 1) 1))) + (replace-match comment nil nil nil 1)) + (setq comment (read-string "Enter a comment: ")) + ;; If user moved point during editing, make sure it moves back. + (goto-char opoint) + (todo-item-end) + (insert " [" todo-comment-string ": " comment "]")))))) + +(defun todo-item-undone () + "Restore at least one done item to this category's todo section. +Prompt for the new priority. If there are marked items, undo all +of these, giving the first undone item the new priority and the +rest following directly in sequence; otherwise, undo just the +item at point. + +If the done item has a comment, ask whether to omit the comment +from the restored item. With multiple marked done items with +comments, only ask once, and if affirmed, omit subsequent +comments without asking." + (interactive) + (let* ((cat (todo-current-category)) + (marked (assoc cat todo-categories-with-marks)) + (pl (if (and marked (> (cdr marked) 1)) "s" ""))) + (when (or marked (todo-done-item-p)) + (let ((buffer-read-only) + (opoint (point)) + (omark (point-marker)) + (first 'first) + (item-count 0) + (diary-count 0) + start end item ov npoint undone) + (and marked (goto-char (point-min))) + (catch 'done + (while (not (eobp)) + (when (or (not marked) (and marked (todo-marked-item-p))) + (if (not (todo-done-item-p)) + (user-error "Only done items can be undone") + (todo-item-start) + (unless marked + (setq ov (make-overlay (save-excursion (todo-item-start)) + (save-excursion (todo-item-end)))) + (overlay-put ov 'face 'todo-search)) + ;; Find the end of the date string added upon tagging item as + ;; done. + (setq start (search-forward "] ")) + (setq item-count (1+ item-count)) + (unless (looking-at (regexp-quote todo-nondiary-start)) + (setq diary-count (1+ diary-count))) + (setq end (save-excursion (todo-item-end))) + ;; Ask (once) whether to omit done item's comment. If + ;; affirmed, omit subsequent comments without asking. + (when (re-search-forward + (concat " \\[" (regexp-quote todo-comment-string) + ": [^]]+\\]") end t) + (unwind-protect + (if (eq first 'first) + (setq first + (if (eq todo-undo-item-omit-comment 'ask) + (when (todo-y-or-n-p + (concat "Omit comment" pl + " from restored item" + pl "? ")) + 'omit) + (when todo-undo-item-omit-comment 'omit))) + t) + (when (and (eq first 'first) ov) (delete-overlay ov))) + (when (eq first 'omit) + (setq end (match-beginning 0)))) + (setq item (concat item + (buffer-substring-no-properties start end) + (when marked "\n"))) + (unless marked (throw 'done nil)))) + (todo-forward-item))) + (unwind-protect + (progn + ;; Chop off last newline of multiple items string, since + ;; it will be reinserted on setting priority. + (and marked (setq item (substring item 0 -1))) + (todo-set-item-priority item cat t) + (setq npoint (point)) + (setq undone t)) + (when ov (delete-overlay ov)) + (if (not undone) + (goto-char opoint) + (if marked + (progn + (setq item nil) + (re-search-forward + (concat "^" (regexp-quote todo-category-done)) nil t) + (while (not (eobp)) + (if (todo-marked-item-p) + (todo-remove-item) + (todo-forward-item))) + (setq todo-categories-with-marks + (assq-delete-all cat todo-categories-with-marks))) + (goto-char omark) + (todo-remove-item)) + (todo-update-count 'todo item-count) + (todo-update-count 'done (- item-count)) + (when diary-count (todo-update-count 'diary diary-count)) + (todo-update-categories-sexp) + (let ((todo-show-with-done (> (todo-get-count 'done) 0))) + (todo-category-select)) + ;; Put cursor on undone item. + (goto-char npoint))) + (set-marker omark nil))))) + +;; ----------------------------------------------------------------------------- +;;; Done item archives +;; ----------------------------------------------------------------------------- + +(defun todo-find-archive (&optional ask) + "Visit the archive of the current todo category, if it exists. +If the category has no archived items, prompt to visit the +archive anyway. If there is no archive for this file or with +non-nil argument ASK, prompt to visit another archive. + +The buffer showing the archive is in Todo Archive mode. The +first visit in a session displays the first category in the +archive, subsequent visits return to the last category +displayed." + (interactive) + (if (null (funcall todo-files-function t)) + (message "There are no archive files") + (let* ((cat (todo-current-category)) + (count (todo-get-count 'archived cat)) + (archive (concat (file-name-sans-extension todo-current-todo-file) + ".toda")) + (place (cond (ask 'other-archive) + ((file-exists-p archive) 'this-archive) + (t (when (todo-y-or-n-p + (concat "This file has no archive; " + "visit another archive? ")) + 'other-archive))))) + (when (eq place 'other-archive) + (setq archive (todo-read-file-name "Choose a todo archive: " t t))) + (when (and (eq place 'this-archive) (zerop count)) + (setq place (when (todo-y-or-n-p + (concat "This category has no archived items;" + " visit archive anyway? ")) + 'other-cat))) + (when place + (set-window-buffer (selected-window) + (set-buffer (find-file-noselect archive))) + (if (member place '(other-archive other-cat)) + (setq todo-category-number 1) + (todo-category-number cat)) + (todo-category-select))))) + +(defun todo-choose-archive () + "Choose an archive and visit it." + (interactive) + (todo-find-archive t)) + +(defun todo-archive-done-item (&optional all) + "Archive at least one done item in this category. + +With prefix argument ALL, prompt whether to archive all done +items in this category and on confirmation archive them. +Otherwise, if there are marked done items (and no marked todo +items), archive all of these; otherwise, archive the done item at +point. + +If the archive of this file does not exist, it is created. If +this category does not exist in the archive, it is created." + (interactive "P") + (when (eq major-mode 'todo-mode) + (if (and all (zerop (todo-get-count 'done))) + (message "No done items in this category") + (catch 'end + (let* ((cat (todo-current-category)) + (tbuf (current-buffer)) + (marked (assoc cat todo-categories-with-marks)) + (afile (concat (file-name-sans-extension + todo-current-todo-file) ".toda")) + (archive (find-file-noselect afile t)) + (item (and (todo-done-item-p) + (concat (todo-item-string) "\n"))) + (count 0) + (opoint (unless (todo-done-item-p) (point))) + marked-items beg end all-done + buffer-read-only) + (cond + (all + (if (todo-y-or-n-p "Archive all done items in this category? ") + (save-excursion + (save-restriction + (goto-char (point-min)) + (widen) + (setq beg (progn + (re-search-forward todo-done-string-start + nil t) + (match-beginning 0)) + end (if (re-search-forward + (concat "^" + (regexp-quote todo-category-beg)) + nil t) + (match-beginning 0) + (point-max)) + all-done (buffer-substring-no-properties beg end) + count (todo-get-count 'done)) + ;; Restore starting point, unless it was on a done + ;; item, since they will all be deleted. + (when opoint (goto-char opoint)))) + (throw 'end nil))) + (marked + (save-excursion + (goto-char (point-min)) + (while (not (eobp)) + (when (todo-marked-item-p) + (if (not (todo-done-item-p)) + (throw 'end (message "Only done items can be archived")) + (setq marked-items + (concat marked-items (todo-item-string) "\n")) + (setq count (1+ count)))) + (todo-forward-item))))) + (if (not (or marked all item)) + (throw 'end (message "Only done items can be archived")) + (with-current-buffer archive + (let (buffer-read-only) + (widen) + (goto-char (point-min)) + (if (and (re-search-forward + (concat "^" (regexp-quote + (concat todo-category-beg cat)) "$") + nil t) + (re-search-forward (regexp-quote todo-category-done) + nil t)) + ;; Start of done items section in existing category. + (forward-char) + (todo-add-category nil cat) + ;; Start of done items section in new category. + (goto-char (point-max))) + (insert (cond (marked marked-items) + (all all-done) + (item))) + (todo-update-count 'done (if (or marked all) count 1) cat) + (todo-update-categories-sexp) + ;; If archive is new, save to file now (with + ;; write-region to avoid prompt for file to save to) + ;; to update todo-archives, and to let auto-mode-alist + ;; take effect below on visiting the archive. + (unless (nth 7 (file-attributes afile)) + (write-region nil nil afile t t) + (setq todo-archives (funcall todo-files-function t)) + (kill-buffer)))) + (with-current-buffer tbuf + (cond + (all + (save-excursion + (save-restriction + ;; Make sure done items are accessible. + (widen) + (remove-overlays beg end) + (delete-region beg end) + (todo-update-count 'done (- count)) + (todo-update-count 'archived count)))) + ((or marked + ;; If we're archiving all done items, can't + ;; first archive item point was on, since + ;; that will short-circuit the rest. + (and item (not all))) + (and marked (goto-char (point-min))) + (catch 'done + (while (not (eobp)) + (if (or (and marked (todo-marked-item-p)) item) + (progn + (todo-remove-item) + (todo-update-count 'done -1) + (todo-update-count 'archived 1) + ;; Don't leave point below last item. + (and item (bolp) (eolp) (< (point-min) (point-max)) + (todo-backward-item)) + (when item + (throw 'done (setq item nil)))) + (todo-forward-item)))))) + (when marked + (setq todo-categories-with-marks + (assq-delete-all cat todo-categories-with-marks))) + (todo-update-categories-sexp) + (todo-prefix-overlays))) + (find-file afile) + (todo-category-number cat) + (todo-category-select) + (split-window-below) + (set-window-buffer (selected-window) tbuf) + ;; Make todo file current to select category. + (find-file (buffer-file-name tbuf)) + ;; Make sure done item separator is hidden (if done items + ;; were initially visible). + (let (todo-show-with-done) (todo-category-select))))))) + +(defun todo-unarchive-items () + "Unarchive at least one item in this archive category. +If there are marked items, unarchive all of these; otherwise, +unarchive the item at point. + +Unarchived items are restored as done items to the corresponding +category in the todo file, inserted at the top of done items +section. If all items in the archive category have been +restored, the category is deleted from the archive. If this was +the only category in the archive, the archive file is deleted." + (interactive) + (when (eq major-mode 'todo-archive-mode) + (let* ((cat (todo-current-category)) + (tbuf (find-file-noselect + (concat (file-name-sans-extension todo-current-todo-file) + ".todo") t)) + (marked (assoc cat todo-categories-with-marks)) + (item (concat (todo-item-string) "\n")) + (marked-count 0) + marked-items + buffer-read-only) + (when marked + (save-excursion (goto-char (point-min)) - (when (re-search-forward (regexp-quote todo-header) nil t) - (beginning-of-line 1) - (delete-region (point) (line-end-position))) - (while (re-search-forward ;Find category start - (regexp-quote (concat todo-prefix todo-category-beg)) - nil t) - (setq beg (+ (line-end-position) 1)) ;Start of first entry. - (re-search-forward cat-end nil t) - (setq end (match-beginning 0)) - (replace-match todo-category-break) - (narrow-to-region beg end) ;In case we have too few entries. - (goto-char (point-min)) - (if (zerop nof-priorities) ;Traverse entries. - (goto-char end) ;All entries - (todo-forward-item nof-priorities)) - (setq beg (point)) + (while (not (eobp)) + (when (todo-marked-item-p) + (setq marked-items (concat marked-items (todo-item-string) "\n")) + (setq marked-count (1+ marked-count))) + (todo-forward-item)))) + ;; Restore items to top of category's done section and update counts. + (with-current-buffer tbuf + (let (buffer-read-only newcat) + (widen) + (goto-char (point-min)) + ;; Find the corresponding todo category, or if there isn't + ;; one, add it. + (unless (re-search-forward + (concat "^" (regexp-quote (concat todo-category-beg cat)) + "$") nil t) + (todo-add-category nil cat) + (setq newcat t)) + ;; Go to top of category's done section. + (re-search-forward + (concat "^" (regexp-quote todo-category-done)) nil t) + (forward-line) + (cond (marked + (insert marked-items) + (todo-update-count 'done marked-count cat) + (unless newcat ; Newly added category has no archive. + (todo-update-count 'archived (- marked-count) cat))) + (t + (insert item) + (todo-update-count 'done 1 cat) + (unless newcat ; Newly added category has no archive. + (todo-update-count 'archived -1 cat)))) + (todo-update-categories-sexp))) + ;; Delete restored items from archive. + (when marked + (setq item nil) + (goto-char (point-min))) + (catch 'done + (while (not (eobp)) + (if (or (todo-marked-item-p) item) + (progn + (todo-remove-item) + (when item + (throw 'done (setq item nil)))) + (todo-forward-item)))) + (todo-update-count 'done (if marked (- marked-count) -1) cat) + ;; If that was the last category in the archive, delete the whole file. + (if (= (length todo-categories) 1) + (progn + (delete-file todo-current-todo-file) + ;; Kill the archive buffer silently. + (set-buffer-modified-p nil) + (kill-buffer)) + ;; Otherwise, if the archive category is now empty, delete it. + (when (eq (point-min) (point-max)) + (widen) + (let ((beg (re-search-backward + (concat "^" (regexp-quote todo-category-beg) cat "$") + nil t)) + (end (if (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) + nil t 2) + (match-beginning 0) + (point-max)))) + (remove-overlays beg end) (delete-region beg end) - (widen)) - (and (looking-at "") (replace-match "")) ;Remove trailing form-feed. - (goto-char (point-min)) ;Due to display buffer - ))) - (when interactive (display-buffer todo-print-buffer-name)) - (message "Type C-x 1 to remove %s window. M-C-v to scroll the help." - todo-print-buffer-name))) - -(defun todo-save-top-priorities (&optional nof-priorities) - "Save top priorities for each category in `todo-file-top'. - -Number of entries for each category is given by NOF-PRIORITIES which -defaults to `todo-show-priorities'." + (setq todo-categories (delete (assoc cat todo-categories) + todo-categories)) + (todo-update-categories-sexp)))) + ;; Visit category in todo file and show restored done items. + (let ((tfile (buffer-file-name tbuf)) + (todo-show-with-done t)) + (set-window-buffer (selected-window) + (set-buffer (find-file-noselect tfile))) + (todo-category-number cat) + (todo-category-select) + (message "Items unarchived."))))) + +(defun todo-jump-to-archive-category (&optional file) + "Prompt for a category in a todo archive and jump to it. +With prefix argument FILE, prompt for an archive and choose (with +TAB completion) a category in it to jump to; otherwise, choose +and jump to any category in the current archive." (interactive "P") - (save-window-excursion - (save-excursion - (save-restriction - (todo-top-priorities nof-priorities) - (set-buffer todo-tmp-buffer-name) - (write-file todo-file-top) - (kill-this-buffer))))) + (todo-jump-to-category file 'archive)) -;;;###autoload -(defun todo-print (&optional category-pr-page) - "Print todo summary using `todo-print-function'. -If CATEGORY-PR-PAGE is non-nil, a page separator `^L' is inserted -between each category. +;; ----------------------------------------------------------------------------- +;;; Displaying and sorting tables of categories +;; ----------------------------------------------------------------------------- + +(defcustom todo-categories-category-label "Category" + "Category button label in Todo Categories mode." + :type 'string + :group 'todo-categories) + +(defcustom todo-categories-todo-label "Todo" + "Todo button label in Todo Categories mode." + :type 'string + :group 'todo-categories) + +(defcustom todo-categories-diary-label "Diary" + "Diary button label in Todo Categories mode." + :type 'string + :group 'todo-categories) + +(defcustom todo-categories-done-label "Done" + "Done button label in Todo Categories mode." + :type 'string + :group 'todo-categories) + +(defcustom todo-categories-archived-label "Archived" + "Archived button label in Todo Categories mode." + :type 'string + :group 'todo-categories) + +(defcustom todo-categories-totals-label "Totals" + "String to label total item counts in Todo Categories mode." + :type 'string + :group 'todo-categories) + +(defcustom todo-categories-number-separator " | " + "String between number and category in Todo Categories mode. +This separates the number from the category name in the default +categories display according to priority." + :type 'string + :group 'todo-categories) -Number of entries for each category is given by `todo-print-priorities'." +(defcustom todo-categories-align 'center + "Alignment of category names in Todo Categories mode." + :type '(radio (const left) (const center) (const right)) + :group 'todo-categories) + +(defun todo-show-categories-table () + "Display a table of the current file's categories and item counts. + +In the initial display the lines of the table are numbered, +indicating the current order of the categories when sequentially +navigating through the todo file with `\\[todo-forward-category]' +and `\\[todo-backward-category]'. You can reorder the lines, and +hence the category sequence, by typing `\\[todo-raise-category]' +or `\\[todo-lower-category]' to raise or lower the category at +point, or by typing `\\[todo-set-category-number]' and entering a +number at the prompt or by typing `\\[todo-set-category-number]' +with a numeric prefix. If you save the todo file after +reordering the categories, the new order persists in subsequent +Emacs sessions. + +The labels above the category names and item counts are buttons, +and clicking these changes the display: sorted by category name +or by the respective item counts (alternately descending or +ascending). In these displays the categories are not numbered +and `\\[todo-set-category-number]', `\\[todo-raise-category]' and +`\\[todo-lower-category]' are disabled. (Programmatically, the +sorting is triggered by passing a non-nil SORTKEY argument.) + +In addition, the lines with the category names and item counts +are buttonized, and pressing one of these button jumps to the +category in Todo mode (or Todo Archive mode, for categories +containing only archived items, provided user option +`todo-skip-archived-categories' is non-nil. These categories +are shown in `todo-archived-only' face." + (interactive) + (todo-display-categories) + (let (sortkey) + (todo-update-categories-display sortkey))) + +(defun todo-next-button (n) + "Move point to the Nth next button in the table of categories." + (interactive "p") + (forward-button n 'wrap 'display-message) + (and (bolp) (button-at (point)) + ;; Align with beginning of category label. + (forward-char (+ 4 (length todo-categories-number-separator))))) + +(defun todo-previous-button (n) + "Move point to the Nth previous button in the table of categories." + (interactive "p") + (backward-button n 'wrap 'display-message) + (and (bolp) (button-at (point)) + ;; Align with beginning of category label. + (forward-char (+ 4 (length todo-categories-number-separator))))) + +(defun todo-set-category-number (&optional arg) + "Change number of category at point in the table of categories. + +With ARG nil, prompt for the new number. Alternatively, the +enter the new number with numerical prefix ARG. Otherwise, if +ARG is either of the symbols `raise' or `lower', raise or lower +the category line in the table by one, respectively, thereby +decreasing or increasing its number." (interactive "P") - (save-window-excursion - (save-excursion + (let ((curnum (save-excursion + ;; Get the number representing the priority of the category + ;; on the current line. + (forward-line 0) (skip-chars-forward " ") (number-at-point)))) + (when curnum ; Do nothing if we're not on a category line. + (let* ((maxnum (length todo-categories)) + (prompt (format "Set category priority (1-%d): " maxnum)) + (col (current-column)) + (buffer-read-only nil) + (priority (cond ((and (eq arg 'raise) (> curnum 1)) + (1- curnum)) + ((and (eq arg 'lower) (< curnum maxnum)) + (1+ curnum)))) + candidate) + (while (not priority) + (setq candidate (or arg (read-number prompt))) + (setq arg nil) + (setq prompt + (cond ((or (< candidate 1) (> candidate maxnum)) + (format "Priority must be an integer between 1 and %d: " + maxnum)) + ((= candidate curnum) + "Choose a different priority than the current one: "))) + (unless prompt (setq priority candidate))) + (let* ((lower (< curnum priority)) ; Priority is being lowered. + (head (butlast todo-categories + (apply (if lower 'identity '1+) + (list (- maxnum priority))))) + (tail (nthcdr (apply (if lower 'identity '1-) (list priority)) + todo-categories)) + ;; Category's name and items counts list. + (catcons (nth (1- curnum) todo-categories)) + (todo-categories (nconc head (list catcons) tail)) + newcats) + (when lower (setq todo-categories (nreverse todo-categories))) + (setq todo-categories (delete-dups todo-categories)) + (when lower (setq todo-categories (nreverse todo-categories))) + (setq newcats todo-categories) + (kill-buffer) + (with-current-buffer (find-buffer-visiting todo-current-todo-file) + (setq todo-categories newcats) + (todo-update-categories-sexp)) + (todo-show-categories-table) + (forward-line (1+ priority)) + (forward-char col)))))) + +(defun todo-raise-category () + "Raise priority of category at point in the table of categories." + (interactive) + (todo-set-category-number 'raise)) + +(defun todo-lower-category () + "Lower priority of category at point in the table of categories." + (interactive) + (todo-set-category-number 'lower)) + +(defun todo-sort-categories-alphabetically-or-numerically () + "Sort table of categories alphabetically or numerically." + (interactive) + (save-excursion + (goto-char (point-min)) + (forward-line 2) + (if (member 'alpha todo-descending-counts) + (progn + (todo-update-categories-display nil) + (setq todo-descending-counts + (delete 'alpha todo-descending-counts))) + (todo-update-categories-display 'alpha)))) + +(defun todo-sort-categories-by-todo () + "Sort table of categories by number of todo items." + (interactive) + (save-excursion + (goto-char (point-min)) + (forward-line 2) + (todo-update-categories-display 'todo))) + +(defun todo-sort-categories-by-diary () + "Sort table of categories by number of diary items." + (interactive) + (save-excursion + (goto-char (point-min)) + (forward-line 2) + (todo-update-categories-display 'diary))) + +(defun todo-sort-categories-by-done () + "Sort table of categories by number of non-archived done items." + (interactive) + (save-excursion + (goto-char (point-min)) + (forward-line 2) + (todo-update-categories-display 'done))) + +(defun todo-sort-categories-by-archived () + "Sort table of categories by number of archived items." + (interactive) + (save-excursion + (goto-char (point-min)) + (forward-line 2) + (todo-update-categories-display 'archived))) + +(defvar todo-categories-buffer "*Todo Categories*" + "Name of buffer in Todo Categories mode.") + +(defun todo-longest-category-name-length (categories) + "Return the length of the longest name in list CATEGORIES." + (let ((longest 0)) + (dolist (c categories longest) + (setq longest (max longest (length c)))))) + +(defun todo-adjusted-category-label-length () + "Return adjusted length of category label button. +The adjustment ensures proper tabular alignment in Todo +Categories mode." + (let* ((categories (mapcar 'car todo-categories)) + (longest (todo-longest-category-name-length categories)) + (catlablen (length todo-categories-category-label)) + (lc-diff (- longest catlablen))) + (if (and (natnump lc-diff) (cl-oddp lc-diff)) + (1+ longest) + (max longest catlablen)))) + +(defun todo-padded-string (str) + "Return category name or label string STR padded with spaces. +The placement of the padding is determined by the value of user +option `todo-categories-align'." + (let* ((len (todo-adjusted-category-label-length)) + (strlen (length str)) + (strlen-odd (eq (logand strlen 1) 1)) + (padding (max 0 (/ (- len strlen) 2))) + (padding-left (cond ((eq todo-categories-align 'left) 0) + ((eq todo-categories-align 'center) padding) + ((eq todo-categories-align 'right) + (if strlen-odd (1+ (* padding 2)) (* padding 2))))) + (padding-right (cond ((eq todo-categories-align 'left) + (if strlen-odd (1+ (* padding 2)) (* padding 2))) + ((eq todo-categories-align 'center) + (if strlen-odd (1+ padding) padding)) + ((eq todo-categories-align 'right) 0)))) + (concat (make-string padding-left 32) str (make-string padding-right 32)))) + +(defvar todo-descending-counts nil + "List of keys for category counts sorted in descending order.") + +(defun todo-sort (list &optional key) + "Return a copy of LIST, possibly sorted according to KEY." + (let* ((l (copy-sequence list)) + (fn (if (eq key 'alpha) + (lambda (x) (upcase x)) ; Alphabetize case insensitively. + (lambda (x) (todo-get-count key x)))) + ;; Keep track of whether the last sort by key was descending or + ;; ascending. + (descending (member key todo-descending-counts)) + (cmp (if (eq key 'alpha) + 'string< + (if descending '< '>))) + (pred (lambda (s1 s2) (let ((t1 (funcall fn (car s1))) + (t2 (funcall fn (car s2)))) + (funcall cmp t1 t2))))) + (when key + (setq l (sort l pred)) + ;; Switch between descending and ascending sort order. + (if descending + (setq todo-descending-counts + (delete key todo-descending-counts)) + (push key todo-descending-counts))) + l)) + +(defun todo-display-sorted (type) + "Keep point on the TYPE count sorting button just clicked." + (let ((opoint (point))) + (todo-update-categories-display type) + (goto-char opoint))) + +(defun todo-label-to-key (label) + "Return symbol for sort key associated with LABEL." + (let (key) + (cond ((string= label todo-categories-category-label) + (setq key 'alpha)) + ((string= label todo-categories-todo-label) + (setq key 'todo)) + ((string= label todo-categories-diary-label) + (setq key 'diary)) + ((string= label todo-categories-done-label) + (setq key 'done)) + ((string= label todo-categories-archived-label) + (setq key 'archived))) + key)) + +(defun todo-insert-sort-button (label) + "Insert button for displaying categories sorted by item counts. +LABEL determines which type of count is sorted." + (let* ((str (if (string= label todo-categories-category-label) + (todo-padded-string label) + label)) + (beg (point)) + (end (+ beg (length str))) + ov) + (insert-button str 'face nil + 'action + `(lambda (button) + (let ((key (todo-label-to-key ,label))) + (if (and (member key todo-descending-counts) + (eq key 'alpha)) + (progn + ;; If display is alphabetical, switch back to + ;; category priority order. + (todo-display-sorted nil) + (setq todo-descending-counts + (delete key todo-descending-counts))) + (todo-display-sorted key))))) + (setq ov (make-overlay beg end)) + (overlay-put ov 'face 'todo-button))) + +(defun todo-total-item-counts () + "Return a list of total item counts for the current file." + (mapcar (lambda (i) (apply '+ (mapcar (lambda (l) (aref l i)) + (mapcar 'cdr todo-categories)))) + (list 0 1 2 3))) + +(defvar todo-categories-category-number 0 + "Variable for numbering categories in Todo Categories mode.") + +(defun todo-insert-category-line (cat &optional nonum) + "Insert button with category CAT's name and item counts. +With non-nil argument NONUM show only these; otherwise, insert a +number in front of the button indicating the category's priority. +The number and the category name are separated by the string +which is the value of the user option +`todo-categories-number-separator'." + (let ((archive (member todo-current-todo-file todo-archives)) + (num todo-categories-category-number) + (str (todo-padded-string cat)) + (opoint (point))) + (setq num (1+ num) todo-categories-category-number num) + (insert-button + (concat (if nonum + (make-string (+ 4 (length todo-categories-number-separator)) + 32) + (format " %3d%s" num todo-categories-number-separator)) + str + (mapconcat (lambda (elt) + (concat + (make-string (1+ (/ (length (car elt)) 2)) 32) ; label + (format "%3d" (todo-get-count (cdr elt) cat)) ; count + ;; Add an extra space if label length is odd. + (when (cl-oddp (length (car elt))) " "))) + (if archive + (list (cons todo-categories-done-label 'done)) + (list (cons todo-categories-todo-label 'todo) + (cons todo-categories-diary-label 'diary) + (cons todo-categories-done-label 'done) + (cons todo-categories-archived-label + 'archived))) + "") + " ") ; Make highlighting on last column look better. + 'face (if (and todo-skip-archived-categories + (zerop (todo-get-count 'todo cat)) + (zerop (todo-get-count 'done cat)) + (not (zerop (todo-get-count 'archived cat)))) + 'todo-archived-only + nil) + 'action `(lambda (button) (let ((buf (current-buffer))) + (todo-jump-to-category nil ,cat) + (kill-buffer buf)))) + ;; Highlight the sorted count column. + (let* ((beg (+ opoint 7 (length str))) + end ovl) + (cond ((eq nonum 'todo) + (setq beg (+ beg 1 (/ (length todo-categories-todo-label) 2)))) + ((eq nonum 'diary) + (setq beg (+ beg 1 (length todo-categories-todo-label) + 2 (/ (length todo-categories-diary-label) 2)))) + ((eq nonum 'done) + (setq beg (+ beg 1 (length todo-categories-todo-label) + 2 (length todo-categories-diary-label) + 2 (/ (length todo-categories-done-label) 2)))) + ((eq nonum 'archived) + (setq beg (+ beg 1 (length todo-categories-todo-label) + 2 (length todo-categories-diary-label) + 2 (length todo-categories-done-label) + 2 (/ (length todo-categories-archived-label) 2))))) + (unless (= beg (+ opoint 7 (length str))) ; Don't highlight categories. + (setq end (+ beg 4)) + (setq ovl (make-overlay beg end)) + (overlay-put ovl 'face 'todo-sorted-column))) + (newline))) + +(defun todo-display-categories () + "Prepare buffer for displaying table of categories and item counts." + (unless (eq major-mode 'todo-categories-mode) + (setq todo-global-current-todo-file + (or todo-current-todo-file + (todo-absolute-file-name todo-default-todo-file))) + (set-window-buffer (selected-window) + (set-buffer (get-buffer-create todo-categories-buffer))) + (kill-all-local-variables) + (todo-categories-mode) + (let ((archive (member todo-current-todo-file todo-archives)) + buffer-read-only) + (erase-buffer) + (insert (format (concat "Category counts for todo " + (if archive "archive" "file") + " \"%s\".") + (todo-short-file-name todo-current-todo-file))) + (newline 2) + ;; Make space for the column of category numbers. + (insert (make-string (+ 4 (length todo-categories-number-separator)) 32)) + ;; Add the category and item count buttons (if this is the list of + ;; categories in an archive, show only done item counts). + (todo-insert-sort-button todo-categories-category-label) + (if archive + (progn + (insert (make-string 3 32)) + (todo-insert-sort-button todo-categories-done-label)) + (insert (make-string 3 32)) + (todo-insert-sort-button todo-categories-todo-label) + (insert (make-string 2 32)) + (todo-insert-sort-button todo-categories-diary-label) + (insert (make-string 2 32)) + (todo-insert-sort-button todo-categories-done-label) + (insert (make-string 2 32)) + (todo-insert-sort-button todo-categories-archived-label)) + (newline 2)))) + +(defun todo-update-categories-display (sortkey) + "Populate table of categories and sort by SORTKEY." + (let* ((cats0 todo-categories) + (cats (todo-sort cats0 sortkey)) + (archive (member todo-current-todo-file todo-archives)) + (todo-categories-category-number 0) + ;; Find start of Category button if we just entered Todo Categories + ;; mode. + (pt (if (eq (point) (point-max)) + (save-excursion + (forward-line -2) + (goto-char (next-single-char-property-change + (point) 'face nil (line-end-position)))))) + (buffer-read-only)) + (forward-line 2) + (delete-region (point) (point-max)) + ;; Fill in the table with buttonized lines, each showing a category and + ;; its item counts. + (mapc (lambda (cat) (todo-insert-category-line cat sortkey)) + (mapcar 'car cats)) + (newline) + ;; Add a line showing item count totals. + (insert (make-string (+ 4 (length todo-categories-number-separator)) 32) + (todo-padded-string todo-categories-totals-label) + (mapconcat + (lambda (elt) + (concat + (make-string (1+ (/ (length (car elt)) 2)) 32) + (format "%3d" (nth (cdr elt) (todo-total-item-counts))) + ;; Add an extra space if label length is odd. + (when (cl-oddp (length (car elt))) " "))) + (if archive + (list (cons todo-categories-done-label 2)) + (list (cons todo-categories-todo-label 0) + (cons todo-categories-diary-label 1) + (cons todo-categories-done-label 2) + (cons todo-categories-archived-label 3))) + "")) + ;; Put cursor on Category button initially. + (if pt (goto-char pt)) + (setq buffer-read-only t))) + +;; ----------------------------------------------------------------------------- +;;; Searching and item filtering +;; ----------------------------------------------------------------------------- + +(defun todo-search () + "Search for a regular expression in this todo file. +The search runs through the whole file and encompasses all and +only todo and done items; it excludes category names. Multiple +matches are shown sequentially, highlighted in `todo-search' +face." + (interactive) + (let ((regex (read-from-minibuffer "Enter a search string (regexp): ")) + (opoint (point)) + matches match cat in-done ov mlen msg) + (widen) + (goto-char (point-min)) + (while (not (eobp)) + (setq match (re-search-forward regex nil t)) + (goto-char (line-beginning-position)) + (unless (or (equal (point) 1) + (looking-at (concat "^" (regexp-quote todo-category-beg)))) + (if match (push match matches))) + (forward-line)) + (setq matches (reverse matches)) + (if matches + (catch 'stop + (while matches + (setq match (pop matches)) + (goto-char match) + (todo-item-start) + (when (looking-at todo-done-string-start) + (setq in-done t)) + (re-search-backward (concat "^" (regexp-quote todo-category-beg) + "\\(.*\\)\n") nil t) + (setq cat (match-string-no-properties 1)) + (todo-category-number cat) + (todo-category-select) + (if in-done + (unless todo-show-with-done (todo-toggle-view-done-items))) + (goto-char match) + (setq ov (make-overlay (- (point) (length regex)) (point))) + (overlay-put ov 'face 'todo-search) + (when matches + (setq mlen (length matches)) + (if (todo-y-or-n-p + (if (> mlen 1) + (format "There are %d more matches; go to next match? " + mlen) + "There is one more match; go to it? ")) + (widen) + (throw 'stop (setq msg (if (> mlen 1) + (format "There are %d more matches." + mlen) + "There is one more match.")))))) + (setq msg "There are no more matches.")) + (todo-category-select) + (goto-char opoint) + (message "No match for \"%s\"" regex)) + (when msg + (if (todo-y-or-n-p (concat msg "\nUnhighlight matches? ")) + (todo-clear-matches) + (message "You can unhighlight the matches later by typing %s" + (key-description (car (where-is-internal + 'todo-clear-matches)))))))) + +(defun todo-clear-matches () + "Remove highlighting on matches found by todo-search." + (interactive) + (remove-overlays 1 (1+ (buffer-size)) 'face 'todo-search)) + +(defcustom todo-top-priorities-overrides nil + "List of rules specifying number of top priority items to show. +These rules override `todo-top-priorities' on invocations of +`\\[todo-filter-top-priorities]' and +`\\[todo-filter-top-priorities-multifile]'. Each rule is a list +of the form (FILE NUM ALIST), where FILE is a member of +`todo-files', NUM is a number specifying the default number of +top priority items for each category in that file, and ALIST, +when non-nil, consists of conses of a category name in FILE and a +number specifying the default number of top priority items in +that category, which overrides NUM. + +This variable should be set interactively by +`\\[todo-set-top-priorities-in-file]' or +`\\[todo-set-top-priorities-in-category]'." + :type 'sexp + :group 'todo-filtered) + +(defcustom todo-top-priorities 1 + "Default number of top priorities shown by `todo-filter-top-priorities'." + :type 'integer + :group 'todo-filtered) + +(defcustom todo-filter-files nil + "List of default files for multifile item filtering." + :type `(set ,@(mapcar (lambda (f) (list 'const f)) + (mapcar 'todo-short-file-name + (funcall todo-files-function)))) + :group 'todo-filtered) + +(defcustom todo-filter-done-items nil + "Non-nil to include done items when processing regexp filters. +Done items from corresponding archive files are also included." + :type 'boolean + :group 'todo-filtered) + +(defun todo-set-top-priorities-in-file () + "Set number of top priorities for this file. +See `todo-set-top-priorities' for more details." + (interactive) + (todo-set-top-priorities)) + +(defun todo-set-top-priorities-in-category () + "Set number of top priorities for this category. +See `todo-set-top-priorities' for more details." + (interactive) + (todo-set-top-priorities t)) + +(defun todo-filter-top-priorities (&optional arg) + "Display a list of top priority items from different categories. +The categories can be any of those in the current todo file. + +With numerical prefix ARG show at most ARG top priority items +from each category. With `C-u' as prefix argument show the +numbers of top priority items specified by category in +`todo-top-priorities-overrides', if this has an entry for the file(s); +otherwise show `todo-top-priorities' items per category in the +file(s). With no prefix argument, if a top priorities file for +the current todo file has previously been saved (see +`todo-save-filtered-items-buffer'), visit this file; if there is +no such file, build the list as with prefix argument `C-u'. + + The prefix ARG regulates how many top priorities from +each category to show, as described above." + (interactive "P") + (todo-filter-items 'top arg)) + +(defun todo-filter-top-priorities-multifile (&optional arg) + "Display a list of top priority items from different categories. +The categories are a subset of the categories in the files listed +in `todo-filter-files', or if this nil, in the files chosen from +a file selection dialog that pops up in this case. + +With numerical prefix ARG show at most ARG top priority items +from each category in each file. With `C-u' as prefix argument +show the numbers of top priority items specified in +`todo-top-priorities-overrides', if this is non-nil; otherwise show +`todo-top-priorities' items per category. With no prefix +argument, if a top priorities file for the chosen todo files +exists (see `todo-save-filtered-items-buffer'), visit this file; +if there is no such file, do the same as with prefix argument +`C-u'." + (interactive "P") + (todo-filter-items 'top arg t)) + +(defun todo-filter-diary-items (&optional arg) + "Display a list of todo diary items from different categories. +The categories can be any of those in the current todo file. + +Called with no prefix ARG, if a diary items file for the current +todo file has previously been saved (see +`todo-save-filtered-items-buffer'), visit this file; if there is +no such file, build the list of diary items. Called with a +prefix argument, build the list even if there is a saved file of +diary items." + (interactive "P") + (todo-filter-items 'diary arg)) + +(defun todo-filter-diary-items-multifile (&optional arg) + "Display a list of todo diary items from different categories. +The categories are a subset of the categories in the files listed +in `todo-filter-files', or if this nil, in the files chosen from +a file selection dialog that pops up in this case. + +Called with no prefix ARG, if a diary items file for the chosen +todo files has previously been saved (see +`todo-save-filtered-items-buffer'), visit this file; if there is +no such file, build the list of diary items. Called with a +prefix argument, build the list even if there is a saved file of +diary items." + (interactive "P") + (todo-filter-items 'diary arg t)) + +(defun todo-filter-regexp-items (&optional arg) + "Prompt for a regular expression and display items that match it. +The matches can be from any categories in the current todo file +and with non-nil option `todo-filter-done-items', can include +not only todo items but also done items, including those in +Archive files. + +Called with no prefix ARG, if a regexp items file for the current +todo file has previously been saved (see +`todo-save-filtered-items-buffer'), visit this file; if there is +no such file, build the list of regexp items. Called with a +prefix argument, build the list even if there is a saved file of +regexp items." + (interactive "P") + (todo-filter-items 'regexp arg)) + +(defun todo-filter-regexp-items-multifile (&optional arg) + "Prompt for a regular expression and display items that match it. +The matches can be from any categories in the files listed in +`todo-filter-files', or if this nil, in the files chosen from a +file selection dialog that pops up in this case. With non-nil +option `todo-filter-done-items', the matches can include not +only todo items but also done items, including those in Archive +files. + +Called with no prefix ARG, if a regexp items file for the current +todo file has previously been saved (see +`todo-save-filtered-items-buffer'), visit this file; if there is +no such file, build the list of regexp items. Called with a +prefix argument, build the list even if there is a saved file of +regexp items." + (interactive "P") + (todo-filter-items 'regexp arg t)) + +(defun todo-find-filtered-items-file () + "Choose a filtered items file and visit it." + (interactive) + (let ((files (directory-files todo-directory t "\.tod[rty]$" t)) + falist file) + (dolist (f files) + (let ((type (cond ((equal (file-name-extension f) "todr") "regexp") + ((equal (file-name-extension f) "todt") "top") + ((equal (file-name-extension f) "tody") "diary")))) + (push (cons (concat (todo-short-file-name f) " (" type ")") f) + falist))) + (setq file (completing-read "Choose a filtered items file: " + falist nil t nil nil (car falist))) + (setq file (cdr (assoc-string file falist))) + (find-file file))) + +(defun todo-go-to-source-item () + "Display the file and category of the filtered item at point." + (interactive) + (let* ((str (todo-item-string)) + (buf (current-buffer)) + (res (todo-find-item str)) + (found (nth 0 res)) + (file (nth 1 res)) + (cat (nth 2 res))) + (if (not found) + (message "Category %s does not contain this item." cat) + (kill-buffer buf) + (set-window-buffer (selected-window) + (set-buffer (find-buffer-visiting file))) + (setq todo-current-todo-file file) + (setq todo-category-number (todo-category-number cat)) + (let ((todo-show-with-done (if (or todo-filter-done-items + (eq (cdr found) 'done)) + t + todo-show-with-done))) + (todo-category-select)) + (goto-char (car found))))) + +(defvar todo-multiple-filter-files nil + "List of files selected from `todo-multiple-filter-files' widget.") + +(defvar todo-multiple-filter-files-widget nil + "Variable holding widget created by `todo-multiple-filter-files'.") + +(defun todo-multiple-filter-files () + "Pop to a buffer with a widget for choosing multiple filter files." + (require 'widget) + (eval-when-compile + (require 'wid-edit)) + (with-current-buffer (get-buffer-create "*Todo Filter Files*") + (pop-to-buffer (current-buffer)) + (erase-buffer) + (kill-all-local-variables) + (widget-insert "Select files for generating the top priorities list.\n\n") + (setq todo-multiple-filter-files-widget + (widget-create + `(set ,@(mapcar (lambda (x) (list 'const x)) + (mapcar 'todo-short-file-name + (funcall todo-files-function)))))) + (widget-insert "\n") + (widget-create 'push-button + :notify (lambda (widget &rest ignore) + (setq todo-multiple-filter-files 'quit) + (quit-window t) + (exit-recursive-edit)) + "Cancel") + (widget-insert " ") + (widget-create 'push-button + :notify (lambda (&rest ignore) + (setq todo-multiple-filter-files + (mapcar (lambda (f) + (file-truename + (concat todo-directory + f ".todo"))) + (widget-value + todo-multiple-filter-files-widget))) + (quit-window t) + (exit-recursive-edit)) + "Apply") + (use-local-map widget-keymap) + (widget-setup)) + (message "Click \"Apply\" after selecting files.") + (recursive-edit)) + +(defconst todo-filtered-items-buffer "Todo filtered items" + "Initial name of buffer in Todo Filter Items mode.") + +(defconst todo-top-priorities-buffer "Todo top priorities" + "Buffer type string for `todo-filter-items'.") + +(defconst todo-diary-items-buffer "Todo diary items" + "Buffer type string for `todo-filter-items'.") + +(defconst todo-regexp-items-buffer "Todo regexp items" + "Buffer type string for `todo-filter-items'.") + +(defun todo-filter-items (filter &optional new multifile) + "Display a list of items filtered by FILTER. +The values of FILTER can be `top' for top priority items, a cons +of `top' and a number passed by the caller, `diary' for diary +items, or `regexp' for items matching a regular expression +entered by the user. The items can come from any categories in +the current todo file or, with non-nil MULTIFILE, from several +files. If NEW is nil, visit an appropriate file containing the +list of filtered items; if there is no such file, or with non-nil +NEW, build the list and display it. + +See the documentation strings of the commands +`todo-filter-top-priorities', `todo-filter-diary-items', +`todo-filter-regexp-items', and those of the corresponding +multifile commands for further details." + (let* ((top (eq filter 'top)) + (diary (eq filter 'diary)) + (regexp (eq filter 'regexp)) + (buf (cond (top todo-top-priorities-buffer) + (diary todo-diary-items-buffer) + (regexp todo-regexp-items-buffer))) + (flist (if multifile + (or todo-filter-files + (progn (todo-multiple-filter-files) + todo-multiple-filter-files)) + (list todo-current-todo-file))) + (multi (> (length flist) 1)) + (fname (if (equal flist 'quit) + ;; Pressed `cancel' in t-m-f-f file selection dialog. + (keyboard-quit) + (concat todo-directory + (mapconcat 'todo-short-file-name flist "-") + (cond (top ".todt") + (diary ".tody") + (regexp ".todr"))))) + (rxfiles (when regexp + (directory-files todo-directory t ".*\\.todr$" t))) + (file-exists (or (file-exists-p fname) rxfiles))) + (cond ((and top new (natnump new)) + (todo-filter-items-1 (cons 'top new) flist)) + ((and (not new) file-exists) + (when (and rxfiles (> (length rxfiles) 1)) + (let ((rxf (mapcar 'todo-short-file-name rxfiles))) + (setq fname (todo-absolute-file-name + (completing-read "Choose a regexp items file: " + rxf) 'regexp)))) + (find-file fname) + (todo-prefix-overlays) + (todo-check-filtered-items-file)) + (t + (todo-filter-items-1 filter flist))) + (setq fname (replace-regexp-in-string "-" ", " + (todo-short-file-name fname))) + (rename-buffer (format (concat "%s for file" (if multi "s" "") + " \"%s\"") buf fname)))) + +(defun todo-filter-items-1 (filter file-list) + "Build a list of items by applying FILTER to FILE-LIST. +Internal subroutine called by `todo-filter-items', which passes +the values of FILTER and FILE-LIST." + (let ((num (if (consp filter) (cdr filter) todo-top-priorities)) + (buf (get-buffer-create todo-filtered-items-buffer)) + (multifile (> (length file-list) 1)) + regexp fname bufstr cat beg end done) + (if (null file-list) + (user-error "No files have been chosen for filtering") + (with-current-buffer buf + (erase-buffer) + (kill-all-local-variables) + (todo-filtered-items-mode)) + (when (eq filter 'regexp) + (setq regexp (read-string "Enter a regular expression: "))) + (save-current-buffer + (dolist (f file-list) + ;; Before inserting file contents into temp buffer, save a modified + ;; buffer visiting it. + (let ((bf (find-buffer-visiting f))) + (when (buffer-modified-p bf) + (with-current-buffer bf (save-buffer)))) + (setq fname (todo-short-file-name f)) + (with-temp-buffer + (when (and todo-filter-done-items (eq filter 'regexp)) + ;; If there is a corresponding archive file for the + ;; todo file, insert it first and add identifiers for + ;; todo-go-to-source-item. + (let ((arch (concat (file-name-sans-extension f) ".toda"))) + (when (file-exists-p arch) + (insert-file-contents arch) + ;; Delete todo archive file's categories sexp. + (delete-region (line-beginning-position) + (1+ (line-end-position))) + (save-excursion + (while (not (eobp)) + (when (re-search-forward + (concat (if todo-filter-done-items + (concat "\\(?:" todo-done-string-start + "\\|" todo-date-string-start + "\\)") + todo-date-string-start) + todo-date-pattern "\\(?: " + diary-time-regexp "\\)?" + (if todo-filter-done-items + "\\]" + (regexp-quote todo-nondiary-end)) "?") + nil t) + (insert "(archive) ")) + (forward-line)))))) + (insert-file-contents f) + ;; Delete todo file's categories sexp. + (delete-region (line-beginning-position) (1+ (line-end-position))) + (let (fnum) + ;; Unless the number of top priorities to show was + ;; passed by the caller, the file-wide value from + ;; `todo-top-priorities-overrides', if non-nil, overrides + ;; `todo-top-priorities'. + (unless (consp filter) + (setq fnum (or (nth 1 (assoc f todo-top-priorities-overrides)) + todo-top-priorities))) + (while (re-search-forward + (concat "^" (regexp-quote todo-category-beg) + "\\(.+\\)\n") nil t) + (setq cat (match-string 1)) + (let (cnum) + ;; Unless the number of top priorities to show was + ;; passed by the caller, the category-wide value + ;; from `todo-top-priorities-overrides', if non-nil, + ;; overrides a non-nil file-wide value from + ;; `todo-top-priorities-overrides' as well as + ;; `todo-top-priorities'. + (unless (consp filter) + (let ((cats (nth 2 (assoc f todo-top-priorities-overrides)))) + (setq cnum (or (cdr (assoc cat cats)) fnum)))) + (delete-region (match-beginning 0) (match-end 0)) + (setq beg (point)) ; First item in the current category. + (setq end (if (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) + nil t) + (match-beginning 0) + (point-max))) + (goto-char beg) + (setq done + (if (re-search-forward + (concat "\n" (regexp-quote todo-category-done)) + end t) + (match-beginning 0) + end)) + (unless (and todo-filter-done-items (eq filter 'regexp)) + ;; Leave done items. + (delete-region done end) + (setq end done)) + (narrow-to-region beg end) ; Process only current category. + (goto-char (point-min)) + ;; Apply the filter. + (cond ((eq filter 'diary) + (while (not (eobp)) + (if (looking-at (regexp-quote todo-nondiary-start)) + (todo-remove-item) + (todo-forward-item)))) + ((eq filter 'regexp) + (while (not (eobp)) + (if (looking-at todo-item-start) + (if (string-match regexp (todo-item-string)) + (todo-forward-item) + (todo-remove-item)) + ;; Kill lines that aren't part of a todo or done + ;; item (empty or todo-category-done). + (delete-region (line-beginning-position) + (1+ (line-end-position)))) + ;; If last todo item in file matches regexp and + ;; there are no following done items, + ;; todo-category-done string is left dangling, + ;; because todo-forward-item jumps over it. + (if (and (eobp) + (looking-back + (concat (regexp-quote todo-done-string) + "\n"))) + (delete-region (point) (progn + (forward-line -2) + (point)))))) + (t ; Filter top priority items. + (setq num (or cnum fnum num)) + (unless (zerop num) + (todo-forward-item num)))) + (setq beg (point)) + ;; Delete non-top-priority items. + (unless (member filter '(diary regexp)) + (delete-region beg end)) + (goto-char (point-min)) + ;; Add file (if using multiple files) and category tags to + ;; item. + (while (not (eobp)) + (when (re-search-forward + (concat (if todo-filter-done-items + (concat "\\(?:" todo-done-string-start + "\\|" todo-date-string-start + "\\)") + todo-date-string-start) + todo-date-pattern "\\(?: " diary-time-regexp + "\\)?" (if todo-filter-done-items + "\\]" + (regexp-quote todo-nondiary-end)) + "?") + nil t) + (insert " [") + (when (looking-at "(archive) ") (goto-char (match-end 0))) + (insert (if multifile (concat fname ":") "") cat "]")) + (forward-line)) + (widen))) + (setq bufstr (buffer-string)) + (with-current-buffer buf + (let (buffer-read-only) + (insert bufstr))))))) + (set-window-buffer (selected-window) (set-buffer buf)) + (todo-prefix-overlays) + (goto-char (point-min))))) + +(defun todo-set-top-priorities (&optional arg) + "Set number of top priorities shown by `todo-filter-top-priorities'. +With non-nil ARG, set the number only for the current Todo +category; otherwise, set the number for all categories in the +current todo file. + +Calling this function via either of the commands +`todo-set-top-priorities-in-file' or +`todo-set-top-priorities-in-category' is the recommended way to +set the user customizable option `todo-top-priorities-overrides'." + (let* ((cat (todo-current-category)) + (file todo-current-todo-file) + (rules todo-top-priorities-overrides) + (frule (assoc-string file rules)) + (crule (assoc-string cat (nth 2 frule))) + (crules (nth 2 frule)) + (cur (or (if arg (cdr crule) (nth 1 frule)) + todo-top-priorities)) + (prompt (if arg (concat "Number of top priorities in this category" + " (currently %d): ") + (concat "Default number of top priorities per category" + " in this file (currently %d): "))) + (new -1) + nrule) + (while (< new 0) + (let ((cur0 cur)) + (setq new (read-number (format prompt cur0)) + prompt "Enter a non-negative number: " + cur0 nil))) + (setq nrule (if arg + (append (delete crule crules) (list (cons cat new))) + (append (list file new) (list crules)))) + (setq rules (cons (if arg + (list file cur nrule) + nrule) + (delete frule rules))) + (customize-save-variable 'todo-top-priorities-overrides rules) + (todo-prefix-overlays))) + +(defun todo-find-item (str) + "Search for filtered item STR in its saved todo file. +Return the list (FOUND FILE CAT), where CAT and FILE are the +item's category and file, and FOUND is a cons cell if the search +succeeds, whose car is the start of the item in FILE and whose +cdr is `done', if the item is now a done item, `changed', if its +text was truncated or augmented or, for a top priority item, if +its priority has changed, and `same' otherwise." + (string-match (concat (if todo-filter-done-items + (concat "\\(?:" todo-done-string-start "\\|" + todo-date-string-start "\\)") + todo-date-string-start) + todo-date-pattern "\\(?: " diary-time-regexp "\\)?" + (if todo-filter-done-items + "\\]" + (regexp-quote todo-nondiary-end)) "?" + "\\(?4: \\[\\(?3:(archive) \\)?\\(?2:.*:\\)?" + "\\(?1:.*\\)\\]\\).*$") str) + (let ((cat (match-string 1 str)) + (file (match-string 2 str)) + (archive (string= (match-string 3 str) "(archive) ")) + (filcat (match-string 4 str)) + (tpriority 1) + (tpbuf (save-match-data (string-match "top" (buffer-name)))) + found) + (setq str (replace-match "" nil nil str 4)) + (when tpbuf + ;; Calculate priority of STR wrt its category. + (save-excursion + (while (search-backward filcat nil t) + (setq tpriority (1+ tpriority))))) + (setq file (if file + (concat todo-directory (substring file 0 -1) + (if archive ".toda" ".todo")) + (if archive + (concat (file-name-sans-extension + todo-global-current-todo-file) ".toda") + todo-global-current-todo-file))) + (find-file-noselect file) + (with-current-buffer (find-buffer-visiting file) (save-restriction - (todo-top-priorities todo-print-priorities - category-pr-page) - (set-buffer todo-tmp-buffer-name) - (and (funcall todo-print-function) - (kill-this-buffer)) - (message "Todo printing done."))))) - -(defun todo-jump-to-category () - "Jump to a category. Default is previous category." - (interactive) - (let ((category (todo-completing-read))) - (if (string= "" category) - (setq category (nth todo-category-number todo-categories))) + (widen) + (goto-char (point-min)) + (let ((beg (re-search-forward + (concat "^" (regexp-quote (concat todo-category-beg cat)) + "$") + nil t)) + (done (save-excursion + (re-search-forward + (concat "^" (regexp-quote todo-category-done)) nil t))) + (end (save-excursion + (or (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) + nil t) + (point-max))))) + (setq found (when (search-forward str end t) + (goto-char (match-beginning 0)))) + (when found + (setq found + (cons found (if (> (point) done) + 'done + (let ((cpriority 1)) + (when tpbuf + (save-excursion + ;; Not top item in category. + (while (> (point) (1+ beg)) + (let ((opoint (point))) + (todo-backward-item) + ;; Can't move backward beyond + ;; first item in file. + (unless (= (point) opoint) + (setq cpriority (1+ cpriority))))))) + (if (and (= tpriority cpriority) + ;; Proper substring is not the same. + (string= (todo-item-string) + str)) + 'same + 'changed))))))))) + (list found file cat))) + +(defun todo-check-filtered-items-file () + "Check if filtered items file is up to date and a show suitable message." + ;; (catch 'old + (let ((count 0)) + (while (not (eobp)) + (let* ((item (todo-item-string)) + (found (car (todo-find-item item)))) + (unless (eq (cdr found) 'same) + (save-excursion + (overlay-put (make-overlay (todo-item-start) (todo-item-end)) + 'face 'todo-search)) + (setq count (1+ count)))) + ;; (throw 'old (message "The marked item is not up to date."))) + (todo-forward-item)) + (if (zerop count) + (message "Filtered items file is up to date.") + (message (concat "The highlighted item" (if (= count 1) " is " "s are ") + "not up to date." + ;; "\nType <return> on item for details." + ))))) + +(defun todo-filter-items-filename () + "Return absolute file name for saving this Filtered Items buffer." + (let ((bufname (buffer-name))) + (string-match "\"\\([^\"]+\\)\"" bufname) + (let* ((filename-str (substring bufname (match-beginning 1) (match-end 1))) + (filename-base (replace-regexp-in-string ", " "-" filename-str)) + (top-priorities (string-match "top priorities" bufname)) + (diary-items (string-match "diary items" bufname)) + (regexp-items (string-match "regexp items" bufname))) + (when regexp-items + (let ((prompt (concat "Enter a short identifying string" + " to make this file name unique: "))) + (setq filename-base (concat filename-base "-" (read-string prompt))))) + (concat todo-directory filename-base + (cond (top-priorities ".todt") + (diary-items ".tody") + (regexp-items ".todr")))))) + +(defun todo-save-filtered-items-buffer () + "Save current Filtered Items buffer to a file. +If the file already exists, overwrite it only on confirmation." + (let ((filename (or (buffer-file-name) (todo-filter-items-filename)))) + (write-file filename t))) + +;; ----------------------------------------------------------------------------- +;;; Printing Todo mode buffers +;; ----------------------------------------------------------------------------- + +(defcustom todo-print-buffer-function 'ps-print-buffer-with-faces + "Function called by the command `todo-print-buffer'." + :type 'symbol + :group 'todo) + +(defvar todo-print-buffer "*Todo Print*" + "Name of buffer with printable version of Todo mode buffer.") + +(defun todo-print-buffer (&optional to-file) + "Produce a printable version of the current Todo mode buffer. +This converts overlays and soft line wrapping and, depending on +the value of `todo-print-buffer-function', includes faces. With +non-nil argument TO-FILE write the printable version to a file; +otherwise, send it to the default printer." + (interactive) + (let ((buf todo-print-buffer) + (header (cond + ((eq major-mode 'todo-mode) + (concat "Todo File: " + (todo-short-file-name todo-current-todo-file) + "\nCategory: " (todo-current-category))) + ((eq major-mode 'todo-filtered-items-mode) + (buffer-name)))) + (prefix (propertize (concat todo-prefix " ") + 'face 'todo-prefix-string)) + (num 0) + (fill-prefix (make-string todo-indent-to-here 32)) + (content (buffer-string)) + file) + (with-current-buffer (get-buffer-create buf) + (insert content) + (goto-char (point-min)) + (while (not (eobp)) + (let ((beg (point)) + (end (save-excursion (todo-item-end)))) + (when todo-number-prefix + (setq num (1+ num)) + (setq prefix (propertize (concat (number-to-string num) " ") + 'face 'todo-prefix-string))) + (insert prefix) + (fill-region beg end)) + ;; Calling todo-forward-item infloops at todo-item-start due to + ;; non-overlay prefix, so search for item start instead. + (if (re-search-forward todo-item-start nil t) + (beginning-of-line) + (goto-char (point-max)))) + (if (re-search-backward (concat "^" (regexp-quote todo-category-done)) + nil t) + (replace-match todo-done-separator)) + (goto-char (point-min)) + (insert header) + (newline 2) + (if to-file + (let ((file (read-file-name "Print to file: "))) + (funcall todo-print-buffer-function file)) + (funcall todo-print-buffer-function))) + (kill-buffer buf))) + +(defun todo-print-buffer-to-file () + "Save printable version of this Todo mode buffer to a file." + (interactive) + (todo-print-buffer t)) + +;; ----------------------------------------------------------------------------- +;;; Legacy Todo mode files +;; ----------------------------------------------------------------------------- + +(defcustom todo-legacy-date-time-regexp + (concat "\\(?1:[0-9]\\{4\\}\\)-\\(?2:[0-9]\\{2\\}\\)-" + "\\(?3:[0-9]\\{2\\}\\) \\(?4:[0-9]\\{2\\}:[0-9]\\{2\\}\\)") + "Regexp matching legacy todo-mode.el item date-time strings. +In order for `todo-convert-legacy-files' to correctly convert +this string to the current Todo mode format, the regexp must +contain four explicitly numbered groups (see `(elisp) Regexp +Backslash'), where group 1 matches a string for the year, group 2 +a string for the month, group 3 a string for the day and group 4 +a string for the time. The default value converts date-time +strings built using the default value of +`todo-time-string-format' from todo-mode.el." + :type 'regexp + :group 'todo) + +(defun todo-convert-legacy-date-time () + "Return converted date-time string. +Helper function for `todo-convert-legacy-files'." + (let* ((year (match-string 1)) + (month (match-string 2)) + (monthname (calendar-month-name (string-to-number month) t)) + (day (match-string 3)) + (time (match-string 4)) + dayname) + (replace-match "") + (insert (mapconcat 'eval calendar-date-display-form "") + (when time (concat " " time))))) + +(defun todo-convert-legacy-files () + "Convert legacy todo files to the current Todo mode format. +The old-style files named by the variables `todo-file-do' and +`todo-file-done' from the old package are converted to the new +format and saved (the latter as a todo archive file) with a new +name in `todo-directory'. See also the documentation string of +`todo-legacy-date-time-regexp' for further details." + (interactive) + ;; If there are user customizations of legacy options, use them, + ;; otherwise use the legacy default values. + (let ((todo-file-do-tem (if (boundp 'todo-file-do) + todo-file-do + (locate-user-emacs-file "todo-do" ".todo-do"))) + (todo-file-done-tem (if (boundp 'todo-file-done) + todo-file-done + (locate-user-emacs-file "todo-done" ".todo-done"))) + (todo-initials-tem (and (boundp 'todo-initials) todo-initials)) + (todo-entry-prefix-function-tem (and (boundp 'todo-entry-prefix-function) + todo-entry-prefix-function)) + todo-prefix-tem) + ;; Convert `todo-file-do'. + (if (not (file-exists-p todo-file-do-tem)) + (message "No legacy todo file exists") + (let ((default "todo-do-conv") + file archive-sexp) + (with-temp-buffer + (insert-file-contents todo-file-do-tem) + ;; Eliminate old-style local variables list in first line. + (delete-region (line-beginning-position) (1+ (line-end-position))) + (search-forward " --- " nil t) ; Legacy todo-category-beg. + (setq todo-prefix-tem (buffer-substring-no-properties + (line-beginning-position) (match-beginning 0))) + (goto-char (point-min)) + (while (not (eobp)) + (cond + ;; Old-style category start delimiter. + ((looking-at (regexp-quote (concat todo-prefix-tem " --- "))) + (replace-match todo-category-beg)) + ;; Old-style category end delimiter. + ((looking-at (regexp-quote "--- End")) + (replace-match "")) + ;; Old-style category separator. + ((looking-at (regexp-quote + (concat todo-prefix-tem " " + (make-string 75 ?-)))) + (replace-match todo-category-done)) + ;; Old-style item header (date/time/initials). + ((looking-at (concat (regexp-quote todo-prefix-tem) " " + (if todo-entry-prefix-function-tem + (funcall todo-entry-prefix-function-tem) + (concat todo-legacy-date-time-regexp " " + (if todo-initials-tem + (regexp-quote todo-initials-tem) + "[^:]*") + ":")))) + (todo-convert-legacy-date-time))) + (forward-line)) + (setq file (concat todo-directory + (read-string + (format "Save file as (default \"%s\"): " default) + nil nil default) + ".todo")) + (unless (file-exists-p todo-directory) + (make-directory todo-directory)) + (write-region (point-min) (point-max) file nil 'nomessage nil t)) + (with-temp-buffer + (insert-file-contents file) + (let ((todo-categories (todo-make-categories-list t))) + (todo-update-categories-sexp) + (todo-check-format)) + (write-region (point-min) (point-max) file nil 'nomessage)) + (setq todo-files (funcall todo-files-function)) + ;; Convert `todo-file-done'. + (when (file-exists-p todo-file-done-tem) + (with-temp-buffer + (insert-file-contents todo-file-done-tem) + (let ((beg (make-marker)) + (end (make-marker)) + cat cats comment item) + (while (not (eobp)) + (when (looking-at todo-legacy-date-time-regexp) + (set-marker beg (point)) + (todo-convert-legacy-date-time) + (set-marker end (point)) + (goto-char beg) + (insert "[" todo-done-string) + (goto-char end) + (insert "]") + (forward-char) + (when (looking-at todo-legacy-date-time-regexp) + (todo-convert-legacy-date-time)) + (when (looking-at (concat " " (if todo-initials-tem + (regexp-quote + todo-initials-tem) + "[^:]*") + ":")) + (replace-match ""))) + (if (re-search-forward + (concat "^" todo-legacy-date-time-regexp) nil t) + (goto-char (match-beginning 0)) + (goto-char (point-max))) + (backward-char) + (when (looking-back "\\[\\([^][]+\\)\\]") + (setq cat (match-string 1)) + (goto-char (match-beginning 0)) + (replace-match "")) + ;; If the item ends with a non-comment parenthesis not + ;; followed by a period, we lose (but we inherit that + ;; problem from the legacy code). + (when (looking-back "(\\(.*\\)) ") + (setq comment (match-string 1)) + (replace-match "") + (insert "[" todo-comment-string ": " comment "]")) + (set-marker end (point)) + (if (member cat cats) + ;; If item is already in its category, leave it there. + (unless (save-excursion + (re-search-backward + (concat "^" (regexp-quote todo-category-beg) + "\\(.*\\)$") nil t) + (string= (match-string 1) cat)) + ;; Else move it to its category. + (setq item (buffer-substring-no-properties beg end)) + (delete-region beg (1+ end)) + (set-marker beg (point)) + (re-search-backward + (concat "^" + (regexp-quote (concat todo-category-beg cat)) + "$") + nil t) + (forward-line) + (if (re-search-forward + (concat "^" (regexp-quote todo-category-beg) + "\\(.*\\)$") nil t) + (progn (goto-char (match-beginning 0)) + (newline) + (forward-line -1)) + (goto-char (point-max))) + (insert item "\n") + (goto-char beg)) + (push cat cats) + (goto-char beg) + (insert todo-category-beg cat "\n\n" + todo-category-done "\n")) + (forward-line)) + (set-marker beg nil) + (set-marker end nil)) + (setq file (concat (file-name-sans-extension file) ".toda")) + (write-region (point-min) (point-max) file nil 'nomessage nil t)) + (with-temp-buffer + (insert-file-contents file) + (let* ((todo-categories (todo-make-categories-list t))) + (todo-update-categories-sexp) + (todo-check-format)) + (write-region (point-min) (point-max) file nil 'nomessage) + (setq archive-sexp (read (buffer-substring-no-properties + (line-beginning-position) + (line-end-position))))) + (setq file (concat (file-name-sans-extension file) ".todo")) + ;; Update categories sexp of converted todo file again, adding + ;; counts of archived items. + (with-temp-buffer + (insert-file-contents file) + (let ((sexp (read (buffer-substring-no-properties + (line-beginning-position) + (line-end-position))))) + (dolist (cat sexp) + (let ((archive-cat (assoc (car cat) archive-sexp))) + (if archive-cat + (aset (cdr cat) 3 (aref (cdr archive-cat) 2))))) + (delete-region (line-beginning-position) (line-end-position)) + (prin1 sexp (current-buffer))) + (write-region (point-min) (point-max) file nil 'nomessage)) + (setq todo-archives (funcall todo-files-function t))) + (todo-reevaluate-filelist-defcustoms) + (when (y-or-n-p (concat "Format conversion done; do you want to " + "visit the converted file now? ")) + (setq todo-current-todo-file file) + (unless todo-default-todo-file + ;; We just initialized the first todo file, so make it the + ;; default now to avoid an infinite recursion with todo-show. + (setq todo-default-todo-file (todo-short-file-name file))) + (todo-show)))))) + +;; ----------------------------------------------------------------------------- +;;; Utility functions for todo files, categories and items +;; ----------------------------------------------------------------------------- + +(defun todo-absolute-file-name (name &optional type) + "Return the absolute file name of short todo file NAME. +With TYPE `archive' or `top' return the absolute file name of the +short todo archive or top priorities file name, respectively." + ;; No-op if there is no todo file yet (i.e. don't concatenate nil). + (when name + (file-truename + (concat todo-directory name + (cond ((eq type 'archive) ".toda") + ((eq type 'top) ".todt") + ((eq type 'diary) ".tody") + ((eq type 'regexp) ".todr") + (t ".todo")))))) + +(defun todo-check-file (file) + "Check the state associated with FILE and update it if necessary. +If FILE exists, return t. If it does not exist and there is no +live buffer with its content, return nil; if there is such a +buffer and the user tries to show it, ask whether to restore +FILE, and if confirmed, do so and return t; else delete the +buffer, clean up the state and return nil." + (setq todo-files (funcall todo-files-function)) + (setq todo-archives (funcall todo-files-function t)) + (if (file-exists-p file) + t + (setq todo-visited (delete file todo-visited)) + (let ((buf (find-buffer-visiting file))) + (if (and buf + (y-or-n-p + (concat + (format (concat "Todo file \"%s\" has been deleted but " + "its content is still in a buffer!\n") + (todo-short-file-name file)) + "Save that buffer and restore the todo file? "))) + (progn + (with-current-buffer buf (save-buffer)) + (setq todo-files (funcall todo-files-function)) + (setq todo-archives (funcall todo-files-function t)) + t) + (let* ((files (append todo-files todo-archives)) + (tctf todo-current-todo-file) + (tgctf todo-global-current-todo-file) + (tdtf (todo-absolute-file-name todo-default-todo-file))) + (unless (or (not todo-current-todo-file) + (member todo-current-todo-file files)) + (setq todo-current-todo-file nil)) + (unless (or (not todo-global-current-todo-file) + (member todo-global-current-todo-file files)) + (setq todo-global-current-todo-file nil)) + (unless (or (not todo-default-todo-file) + (member todo-default-todo-file files)) + (setq todo-default-todo-file (todo-short-file-name + (car todo-files)))) + (todo-reevaluate-filelist-defcustoms) + (when buf (kill-buffer buf)) + nil))))) + +(defun todo-category-number (cat) + "Return the number of category CAT in this todo file. +The buffer-local variable `todo-category-number' holds this +number as its value." + (let ((categories (mapcar 'car todo-categories))) (setq todo-category-number - (if (member category todo-categories) - (- (length todo-categories) - (length (member category todo-categories))) - (todo-add-category category))) - (todo-show))) - -(defun todo-line-string () - "Return current line in buffer as a string." - (buffer-substring (line-beginning-position) (line-end-position))) - -(defun todo-item-string-start () - "Return the start of this TODO list entry as a string." - ;; Suitable for putting in the minibuffer when asking the user - (let ((item (todo-item-string))) - (if (> (length item) 60) - (setq item (concat (substring item 0 56) "..."))) - item)) + ;; Increment by one, so that the number of the first + ;; category is one rather than zero. + (1+ (- (length categories) + (length (member cat categories))))))) -(defun todo-item-start () - "Go to start of current TODO list item and return point." - (beginning-of-line) - (if (not (looking-at (regexp-quote todo-prefix))) - (search-backward-regexp - (concat "^" (regexp-quote todo-prefix)) nil t)) - (point)) - -(defun todo-item-end (&optional include-sep) - "Return point at end of current TODO list item. -If INCLUDE-SEP is non-nil, return point after the separator." +(defun todo-current-category () + "Return the name of the current category." + (car (nth (1- todo-category-number) todo-categories))) + +(defun todo-category-select () + "Display the current category correctly." + (let ((name (todo-current-category)) + cat-begin cat-end done-start done-sep-start done-end) + (widen) + (goto-char (point-min)) + (re-search-forward + (concat "^" (regexp-quote (concat todo-category-beg name)) "$") nil t) + (setq cat-begin (1+ (line-end-position))) + (setq cat-end (if (re-search-forward + (concat "^" (regexp-quote todo-category-beg)) nil t) + (match-beginning 0) + (point-max))) + (setq mode-line-buffer-identification + (funcall todo-mode-line-function name)) + (narrow-to-region cat-begin cat-end) + (todo-prefix-overlays) + (goto-char (point-min)) + (if (re-search-forward (concat "\n\\(" (regexp-quote todo-category-done) + "\\)") nil t) + (progn + (setq done-start (match-beginning 0)) + (setq done-sep-start (match-beginning 1)) + (setq done-end (match-end 0))) + (error "Category %s is missing todo-category-done string" name)) + (if todo-show-done-only + (narrow-to-region (1+ done-end) (point-max)) + (when (and todo-show-with-done + (re-search-forward todo-done-string-start nil t)) + ;; Now we want to see the done items, so reset displayed end to end of + ;; done items. + (setq done-start cat-end) + ;; Make display overlay for done items separator string, unless there + ;; already is one. + (let* ((done-sep todo-done-separator) + (ov (progn (goto-char done-sep-start) + (todo-get-overlay 'separator)))) + (unless ov + (setq ov (make-overlay done-sep-start done-end)) + (overlay-put ov 'todo 'separator) + (overlay-put ov 'display done-sep)))) + (narrow-to-region (point-min) done-start) + ;; Loading this from todo-mode, or adding it to the mode hook, causes + ;; Emacs to hang in todo-item-start, at (looking-at todo-item-start). + (when todo-highlight-item + (require 'hl-line) + (hl-line-mode 1))))) + +(defun todo-get-count (type &optional category) + "Return count of TYPE items in CATEGORY. +If CATEGORY is nil, default to the current category." + (let* ((cat (or category (todo-current-category))) + (counts (cdr (assoc cat todo-categories))) + (idx (cond ((eq type 'todo) 0) + ((eq type 'diary) 1) + ((eq type 'done) 2) + ((eq type 'archived) 3)))) + (aref counts idx))) + +(defun todo-update-count (type increment &optional category) + "Change count of TYPE items in CATEGORY by integer INCREMENT. +With nil or omitted CATEGORY, default to the current category." + (let* ((cat (or category (todo-current-category))) + (counts (cdr (assoc cat todo-categories))) + (idx (cond ((eq type 'todo) 0) + ((eq type 'diary) 1) + ((eq type 'done) 2) + ((eq type 'archived) 3)))) + (aset counts idx (+ increment (aref counts idx))))) + +(defun todo-set-categories () + "Set `todo-categories' from the sexp at the top of the file." + ;; New archive files created by `todo-move-category' are empty, which would + ;; make the sexp test fail and raise an error, so in this case we skip it. + (unless (zerop (buffer-size)) + (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (setq todo-categories + (if (looking-at "\(\(\"") + (read (buffer-substring-no-properties + (line-beginning-position) + (line-end-position))) + (error "Invalid or missing todo-categories sexp"))))))) + +(defun todo-update-categories-sexp () + "Update the `todo-categories' sexp at the top of the file." + (let (buffer-read-only) + (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (if (looking-at (concat "^" (regexp-quote todo-category-beg))) + (progn (newline) (goto-char (point-min)) ; Make space for sexp. + (setq todo-categories (todo-make-categories-list t))) + (delete-region (line-beginning-position) (line-end-position))) + (prin1 todo-categories (current-buffer)))))) + +(defun todo-make-categories-list (&optional force) + "Return an alist of todo categories and their item counts. +With non-nil argument FORCE parse the entire file to build the +list; otherwise, get the value by reading the sexp at the top of +the file." + (setq todo-categories nil) (save-excursion - (end-of-line) - (if (search-forward-regexp - (concat "^" (regexp-quote todo-prefix)) nil 'goto-end) - (goto-char (match-beginning 0))) - (unless include-sep (skip-chars-backward "\n")) + (save-restriction + (widen) + (goto-char (point-min)) + (let (counts cat archive) + ;; If the file is a todo file and has archived items, identify the + ;; archive, in order to count its items. But skip this with + ;; `todo-convert-legacy-files', since that converts filed items to + ;; archived items. + (when buffer-file-name ; During conversion there is no file yet. + ;; If the file is an archive, it doesn't have an archive. + (unless (member (file-truename buffer-file-name) + (funcall todo-files-function t)) + (setq archive (concat (file-name-sans-extension + todo-current-todo-file) ".toda")))) + (while (not (eobp)) + (cond ((looking-at (concat (regexp-quote todo-category-beg) + "\\(.*\\)\n")) + (setq cat (match-string-no-properties 1)) + ;; Counts for each category: [todo diary done archive] + (setq counts (make-vector 4 0)) + (setq todo-categories + (append todo-categories (list (cons cat counts)))) + ;; Add archived item count to the todo file item counts. + ;; Make sure to include newly created archives, e.g. due to + ;; todo-move-category. + (when (member archive (funcall todo-files-function t)) + (let ((archive-count 0)) + (with-current-buffer (find-file-noselect archive) + (widen) + (goto-char (point-min)) + (when (re-search-forward + (concat "^" (regexp-quote todo-category-beg) + cat "$") + (point-max) t) + (forward-line) + (while (not (or (looking-at + (concat + (regexp-quote todo-category-beg) + "\\(.*\\)\n")) + (eobp))) + (when (looking-at todo-done-string-start) + (setq archive-count (1+ archive-count))) + (forward-line)))) + (todo-update-count 'archived archive-count cat)))) + ((looking-at todo-done-string-start) + (todo-update-count 'done 1 cat)) + ((looking-at (concat "^\\(" + (regexp-quote diary-nonmarking-symbol) + "\\)?" todo-date-pattern)) + (todo-update-count 'diary 1 cat) + (todo-update-count 'todo 1 cat)) + ((looking-at (concat todo-date-string-start todo-date-pattern)) + (todo-update-count 'todo 1 cat)) + ;; If first line is todo-categories list, use it and end loop + ;; -- unless FORCEd to scan whole file. + ((bobp) + (unless force + (setq todo-categories (read (buffer-substring-no-properties + (line-beginning-position) + (line-end-position)))) + (goto-char (1- (point-max)))))) + (forward-line))))) + todo-categories) + +(defun todo-repair-categories-sexp () + "Repair corrupt todo file categories sexp. +This should only be needed as a consequence of careless manual +editing or a bug in todo.el. + +*Warning*: Calling this command restores the category order to +the list element order in the todo file categories sexp, so any +order changes made in Todo Categories mode will have to be made +again." + (interactive) + (let ((todo-categories (todo-make-categories-list t))) + (todo-update-categories-sexp))) + +(defun todo-check-format () + "Signal an error if the current todo file is ill-formatted. +Otherwise return t. Display a message if the file is well-formed +but the categories sexp differs from the current value of +`todo-categories'." + (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (let* ((cats (prin1-to-string todo-categories)) + (ssexp (buffer-substring-no-properties (line-beginning-position) + (line-end-position))) + (sexp (read ssexp))) + ;; Check the first line for `todo-categories' sexp. + (dolist (c sexp) + (let ((v (cdr c))) + (unless (and (stringp (car c)) + (vectorp v) + (= 4 (length v))) + (user-error "Invalid or missing todo-categories sexp")))) + (forward-line) + ;; Check well-formedness of categories. + (let ((legit (concat + "\\(^" (regexp-quote todo-category-beg) "\\)" + "\\|\\(" todo-date-string-start todo-date-pattern "\\)" + "\\|\\(^[ \t]+[^ \t]*\\)" + "\\|^$" + "\\|\\(^" (regexp-quote todo-category-done) "\\)" + "\\|\\(" todo-done-string-start "\\)"))) + (while (not (eobp)) + (unless (looking-at legit) + (user-error "Illegitimate todo file format at line %d" + (line-number-at-pos (point)))) + (forward-line))) + ;; Warn user if categories sexp has changed. + (unless (string= ssexp cats) + (message (concat "The sexp at the beginning of the file differs " + "from the value of `todo-categories.\n" + "If the sexp is wrong, you can fix it with " + "M-x todo-repair-categories-sexp,\n" + "but note this reverts any changes you have " + "made in the order of the categories.")))))) + t) + +(defun todo-item-start () + "Move to start of current todo item and return its position." + (unless (or + ;; Buffer is empty (invocation possible e.g. via todo-forward-item + ;; from todo-filter-items when processing category with no todo + ;; items). + (eq (point-min) (point-max)) + ;; Point is on the empty line below category's last todo item... + (and (looking-at "^$") + (or (eobp) ; ...and done items are hidden... + (save-excursion ; ...or done items are visible. + (forward-line) + (looking-at (concat "^" + (regexp-quote todo-category-done)))))) + ;; Buffer is widened. + (looking-at (regexp-quote todo-category-beg))) + (goto-char (line-beginning-position)) + (while (not (looking-at todo-item-start)) + (forward-line -1)) (point))) -(defun todo-remove-item () - "Delete the current entry from the TODO list." - (delete-region (todo-item-start) (todo-item-end 'include-sep))) +(defun todo-item-end () + "Move to end of current todo item and return its position." + ;; Items cannot end with a blank line. + (unless (looking-at "^$") + (let* ((done (todo-done-item-p)) + (to-lim nil) + ;; For todo items, end is before the done items section, for done + ;; items, end is before the next category. If these limits are + ;; missing or inaccessible, end it before the end of the buffer. + (lim (if (save-excursion + (re-search-forward + (concat "^" (regexp-quote (if done + todo-category-beg + todo-category-done))) + nil t)) + (progn (setq to-lim t) (match-beginning 0)) + (point-max)))) + (when (bolp) (forward-char)) ; Find start of next item. + (goto-char (if (re-search-forward todo-item-start lim t) + (match-beginning 0) + (if to-lim lim (point-max)))) + ;; For last todo item, skip back over the empty line before the done + ;; items section, else just back to the end of the previous line. + (backward-char (when (and to-lim (not done) (eq (point) lim)) 2)) + (point)))) (defun todo-item-string () - "Return current TODO list entry as a string." - (buffer-substring (todo-item-start) (todo-item-end))) - -(defun todo-string-count-lines (string) - "Return the number of lines STRING spans." - (length (split-string string "\n"))) - -(defun todo-string-multiline-p (string) - "Return non-nil if STRING spans several lines." - (> (todo-string-count-lines string) 1)) - -(defun todo-completing-read () - "Return a category name, with completion, for use in Todo mode." - ;; make a copy of todo-categories in case history-delete-duplicates is - ;; non-nil, which makes completing-read alter todo-categories - (let* ((categories (copy-sequence todo-categories)) - (history (cons 'todo-categories (1+ todo-category-number))) - (default (nth todo-category-number todo-categories)) - (category (completing-read - (concat "Category [" default "]: ") - todo-categories nil nil nil history default))) - ;; restore the original value of todo-categories - (setq todo-categories categories) - category)) - -;; --------------------------------------------------------------------------- - -(easy-menu-define todo-menu todo-mode-map "Todo Menu" - '("Todo" - ["Next category" todo-forward-category t] - ["Previous category" todo-backward-category t] - ["Jump to category" todo-jump-to-category t] - ["Show top priority items" todo-top-priorities t] - ["Print categories" todo-print t] - "---" - ["Edit item" todo-edit-item t] - ["File item" todo-file-item t] - ["Insert new item" todo-insert-item t] - ["Insert item here" todo-insert-item-here t] - ["Kill item" todo-delete-item t] - "---" - ["Lower item priority" todo-lower-item t] - ["Raise item priority" todo-raise-item t] - "---" - ["Next item" todo-forward-item t] - ["Previous item" todo-backward-item t] - "---" - ["Save" todo-save t] - ["Save Top Priorities" todo-save-top-priorities t] - "---" - ["Quit" todo-quit t] - )) - -;; As calendar reads .todo-do before todo-mode is loaded. -;;;###autoload -(define-derived-mode todo-mode nil "TODO" - "Major mode for editing TODO lists." - (easy-menu-add todo-menu)) + "Return bare text of current item as a string." + (let ((opoint (point)) + (start (todo-item-start)) + (end (todo-item-end))) + (goto-char opoint) + (and start end (buffer-substring-no-properties start end)))) -(defvar date) -(defvar entry) +(defun todo-forward-item (&optional count) + "Move point COUNT items down (by default, move down by one item)." + (let* ((not-done (not (or (todo-done-item-p) (looking-at "^$")))) + (start (line-end-position))) + (goto-char start) + (if (re-search-forward todo-item-start nil t (or count 1)) + (goto-char (match-beginning 0)) + (goto-char (point-max))) + ;; If points advances by one from a todo to a done item, go back + ;; to the space above todo-done-separator, since that is a + ;; legitimate place to insert an item. But skip this space if + ;; count > 1, since that should only stop on an item. + (when (and not-done (todo-done-item-p) (not count)) + ;; (if (or (not count) (= count 1)) + (re-search-backward "^$" start t))));) + ;; The preceding sexp is insufficient when buffer is not narrowed, + ;; since there could be no done items in this category, so the + ;; search puts us on first todo item of next category. Does this + ;; ever happen? If so: + ;; (let ((opoint) (point)) + ;; (forward-line -1) + ;; (when (or (not count) (= count 1)) + ;; (cond ((looking-at (concat "^" (regexp-quote todo-category-beg))) + ;; (forward-line -2)) + ;; ((looking-at (concat "^" (regexp-quote todo-category-done))) + ;; (forward-line -1)) + ;; (t + ;; (goto-char opoint))))))) -;; t-c should be used from diary code, which requires calendar. -(declare-function calendar-current-date "calendar" (&optional offset)) +(defun todo-backward-item (&optional count) + "Move point up to start of item with next higher priority. +With positive numerical prefix COUNT, move point COUNT items +upward. -;; Read about this function in the setup instructions above! -;;;###autoload -(defun todo-cp () - "Make a diary entry appear only in the current date's diary." - (if (equal (calendar-current-date) date) - entry)) +If the category's done items are visible, this command called +with a prefix argument only moves point to a higher item, e.g., +with point on the first done item and called with prefix 1, it +moves to the last todo item; but if called with point on the +first done item without a prefix argument, it moves point the the +empty line above the done items separator." + (let* ((done (todo-done-item-p))) + (todo-item-start) + (unless (bobp) + (re-search-backward todo-item-start nil t (or count 1))) + ;; Unless this is a regexp filtered items buffer (which can contain + ;; intermixed todo and done items), if points advances by one from a + ;; done to a todo item, go back to the space above + ;; todo-done-separator, since that is a legitimate place to insert an + ;; item. But skip this space if count > 1, since that should only + ;; stop on an item. + (when (and done (not (todo-done-item-p)) (not count) + ;(or (not count) (= count 1)) + (not (equal (buffer-name) todo-regexp-items-buffer))) + (re-search-forward (concat "^" (regexp-quote todo-category-done)) + nil t) + (forward-line -1)))) -(define-derived-mode todo-edit-mode text-mode "TODO Edit" - "Major mode for editing items in the TODO list. +(defun todo-remove-item () + "Internal function called in editing, deleting or moving items." + (let* ((end (progn (todo-item-end) (1+ (point)))) + (beg (todo-item-start)) + (ov (todo-get-overlay 'prefix))) + (when ov (delete-overlay ov)) + (delete-region beg end))) -\\{todo-edit-mode-map}") +(defun todo-diary-item-p () + "Return non-nil if item at point has diary entry format." + (save-excursion + (when (todo-item-string) ; Exclude empty lines. + (todo-item-start) + (not (looking-at (regexp-quote todo-nondiary-start)))))) -;;;###autoload -(defun todo-show () - "Show TODO list." - (interactive) - ;; Call todo-initial-setup only if there is neither a Todo file nor - ;; a corresponding unsaved buffer. - (if (or (file-exists-p todo-file-do) - (let* ((buf (get-buffer (file-name-nondirectory todo-file-do))) - (bufname (buffer-file-name buf))) - (equal (expand-file-name todo-file-do) bufname))) - (find-file todo-file-do) - (todo-initial-setup)) - (if (null todo-categories) - (if (null todo-cats) - (error "Error in %s: No categories in list `todo-categories'" - todo-file-do) - (goto-char (point-min)) - (and (search-forward "todo-cats:" nil t) - (replace-match "todo-categories:")) - (make-local-variable 'todo-categories) - (setq todo-categories todo-cats))) - (beginning-of-line) - (todo-category-select)) +;; This duplicates the item locating code from diary-goto-entry, but +;; without the marker code, to test whether the latter is dispensable. +;; If it is, diary-goto-entry can be simplified. The code duplication +;; here can also be eliminated, leaving only the widening and category +;; selection, and instead of :override advice :around can be used. + +(defun todo-diary-goto-entry (button) + "Jump to the diary entry for the BUTTON at point. +If the entry is a todo item, display its category properly. +Overrides `diary-goto-entry'." + ;; Locate the diary item in its source file. + (let* ((locator (button-get button 'locator)) + (file (cadr locator)) + (date (regexp-quote (nth 2 locator))) + (content (regexp-quote (nth 3 locator)))) + (if (not (and (file-exists-p file) + (find-file-other-window file))) + (message "Unable to locate this diary entry") + (when (eq major-mode 'todo-mode) (widen)) + (goto-char (point-min)) + (when (re-search-forward (format "%s.*\\(%s\\)" date content) nil t) + (goto-char (match-beginning 1))) + ;; If it's a todo item, determine its category and display the + ;; category properly. + (when (eq major-mode 'todo-mode) + (let ((opoint (point))) + (re-search-backward (concat "^" (regexp-quote todo-category-beg) + "\\(.*\\)\n") nil t) + (todo-category-number (match-string 1)) + (todo-category-select) + (goto-char opoint)))))) + +(add-function :override diary-goto-entry-function #'todo-diary-goto-entry) + +(defun todo-done-item-p () + "Return non-nil if item at point is a done item." + (save-excursion + (todo-item-start) + (looking-at todo-done-string-start))) + +(defun todo-done-item-section-p () + "Return non-nil if point is in category's done items section." + (save-excursion + (or (re-search-backward (concat "^" (regexp-quote todo-category-done)) + nil t) + (progn (goto-char (point-min)) + (looking-at todo-done-string-start))))) + +(defun todo-reset-done-separator (sep) + "Replace existing overlays of done items separator string SEP." + (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (while (re-search-forward + (concat "\n\\(" (regexp-quote todo-category-done) "\\)") nil t) + (let* ((beg (match-beginning 1)) + (end (match-end 0)) + (ov (progn (goto-char beg) + (todo-get-overlay 'separator))) + (old-sep (when ov (overlay-get ov 'display))) + new-ov) + (when old-sep + (unless (string= old-sep sep) + (setq new-ov (make-overlay beg end)) + (overlay-put new-ov 'todo 'separator) + (overlay-put new-ov 'display todo-done-separator) + (delete-overlay ov)))))))) + +(defun todo-get-overlay (val) + "Return the overlay at point whose `todo' property has value VAL." + ;; Use overlays-in to find prefix overlays and check over two + ;; positions to find done separator overlay. + (let ((ovs (overlays-in (point) (1+ (point)))) + ov) + (catch 'done + (while ovs + (setq ov (pop ovs)) + (when (eq (overlay-get ov 'todo) val) + (throw 'done ov)))))) + +(defun todo-marked-item-p () + "Non-nil if this item begins with `todo-item-mark'. +In that case, return the item's prefix overlay." + (let* ((ov (todo-get-overlay 'prefix)) + ;; If an item insertion command is called on a todo file + ;; before it is visited, it has no prefix overlays yet, so + ;; check for this. + (pref (when ov (overlay-get ov 'before-string))) + (marked (when pref + (string-match (concat "^" (regexp-quote todo-item-mark)) + pref)))) + (when marked ov))) + +(defun todo-insert-with-overlays (item) + "Insert ITEM at point and update prefix/priority number overlays." + (todo-item-start) + ;; Insertion pushes item down but not its prefix overlay. When the + ;; overlay includes a mark, this would now mark the inserted ITEM, + ;; so move it to the pushed down item. + (let ((ov (todo-get-overlay 'prefix)) + (marked (todo-marked-item-p))) + (insert item "\n") + (when marked (move-overlay ov (point) (point)))) + (todo-backward-item) + (todo-prefix-overlays)) + +(defun todo-prefix-overlays () + "Update the prefix overlays of the current category's items. +The overlay's value is the string `todo-prefix' or with non-nil +`todo-number-prefix' an integer in the sequence from 1 to +the number of todo or done items in the category indicating the +item's priority. Todo and done items are numbered independently +of each other." + (let ((num 0) + (cat-tp (or (cdr (assoc-string + (todo-current-category) + (nth 2 (assoc-string todo-current-todo-file + todo-top-priorities-overrides)))) + todo-top-priorities)) + done prefix) + (save-excursion + (goto-char (point-min)) + (while (not (eobp)) + (when (or (todo-date-string-matcher (line-end-position)) + (todo-done-string-matcher (line-end-position))) + (goto-char (match-beginning 0)) + (setq num (1+ num)) + ;; Reset number to 1 for first done item. + (when (and (eq major-mode 'todo-mode) + (looking-at todo-done-string-start) + (looking-back (concat "^" + (regexp-quote todo-category-done) + "\n"))) + (setq num 1 + done t)) + (setq prefix (concat (propertize + (if todo-number-prefix + (number-to-string num) + todo-prefix) + 'face + ;; Prefix of top priority items has a + ;; distinct face in Todo mode. + (if (and (eq major-mode 'todo-mode) + (not done) + (<= num cat-tp)) + 'todo-top-priority + 'todo-prefix-string)) + " ")) + (let ((ov (todo-get-overlay 'prefix)) + (marked (todo-marked-item-p))) + ;; Prefix overlay must be at a single position so its + ;; bounds aren't changed when (re)moving an item. + (unless ov (setq ov (make-overlay (point) (point)))) + (overlay-put ov 'todo 'prefix) + (overlay-put ov 'before-string (if marked + (concat todo-item-mark prefix) + prefix)))) + (forward-line))))) + +;; ----------------------------------------------------------------------------- +;;; Utilities for generating item insertion commands and key bindings +;; ----------------------------------------------------------------------------- + +;; Wolfgang Jenkner posted this powerset definition to emacs-devel +;; (http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00423.html) +;; and kindly gave me permission to use it. + +(defun todo-powerset (list) + "Return the powerset of LIST." + (let ((powerset (list nil))) + (dolist (elt list (mapcar 'reverse powerset)) + (nconc powerset (mapcar (apply-partially 'cons elt) powerset))))) + +(defun todo-gen-arglists (arglist) + "Return list of lists of non-nil atoms produced from ARGLIST. +The elements of ARGLIST may be atoms or lists." + (let (arglists) + (while arglist + (let ((arg (pop arglist))) + (cond ((symbolp arg) + (setq arglists (if arglists + (mapcar (lambda (l) (push arg l)) arglists) + (list (push arg arglists))))) + ((listp arg) + (setq arglists + (mapcar (lambda (a) + (if (= 1 (length arglists)) + (apply (lambda (l) (push a l)) arglists) + (mapcar (lambda (l) (push a l)) arglists))) + arg)))))) + (setq arglists (mapcar 'reverse (apply 'append (mapc 'car arglists)))))) + +(defvar todo-insertion-commands-args-genlist + '(diary nonmarking (calendar date dayname) time (here region)) + "Generator list for argument lists of item insertion commands.") + +(defvar todo-insertion-commands-args + (let ((arglist (todo-gen-arglists todo-insertion-commands-args-genlist)) + res new) + (setq res (cl-remove-duplicates + (apply 'append (mapcar 'todo-powerset arglist)) :test 'equal)) + (dolist (l res) + (unless (= 5 (length l)) + (let ((v (make-vector 5 nil)) elt) + (while l + (setq elt (pop l)) + (cond ((eq elt 'diary) + (aset v 0 elt)) + ((eq elt 'nonmarking) + (aset v 1 elt)) + ((or (eq elt 'calendar) + (eq elt 'date) + (eq elt 'dayname)) + (aset v 2 elt)) + ((eq elt 'time) + (aset v 3 elt)) + ((or (eq elt 'here) + (eq elt 'region)) + (aset v 4 elt)))) + (setq l (append v nil)))) + (setq new (append new (list l)))) + new) + "List of all argument lists for Todo mode item insertion commands.") + +(defun todo-insertion-command-name (arglist) + "Generate Todo mode item insertion command name from ARGLIST." + (replace-regexp-in-string + "-\\_>" "" + (replace-regexp-in-string + "-+" "-" + (concat "todo-insert-item-" + (mapconcat (lambda (e) (if e (symbol-name e))) arglist "-"))))) + +(defvar todo-insertion-commands-names + (mapcar (lambda (l) + (todo-insertion-command-name l)) + todo-insertion-commands-args) + "List of names of Todo mode item insertion commands.") + +(defmacro todo-define-insertion-command (&rest args) + "Generate Todo mode item insertion command definitions from ARGS." + (let ((name (intern (todo-insertion-command-name args))) + (arg0 (nth 0 args)) + (arg1 (nth 1 args)) + (arg2 (nth 2 args)) + (arg3 (nth 3 args)) + (arg4 (nth 4 args))) + `(defun ,name (&optional arg &rest args) + "Todo mode item insertion command generated from ARGS. +For descriptions of the individual arguments, their values, and +their relation to key bindings, see `todo-basic-insert-item'." + (interactive (list current-prefix-arg)) + (todo-basic-insert-item arg ',arg0 ',arg1 ',arg2 ',arg3 ',arg4)))) + +(defvar todo-insertion-commands + (mapcar (lambda (c) + (eval `(todo-define-insertion-command ,@c))) + todo-insertion-commands-args) + "List of Todo mode item insertion commands.") + +(defvar todo-insertion-commands-arg-key-list + '(("diary" "y" "yy") + ("nonmarking" "k" "kk") + ("calendar" "c" "cc") + ("date" "d" "dd") + ("dayname" "n" "nn") + ("time" "t" "tt") + ("here" "h" "h") + ("region" "r" "r")) + "List of mappings of item insertion command arguments to key sequences.") + +(defun todo-insertion-key-bindings (map) + "Generate key binding definitions for item insertion keymap MAP." + (dolist (c todo-insertion-commands) + (let* ((key "") + (cname (symbol-name c))) + (mapc (lambda (l) + (let ((arg (nth 0 l)) + (key1 (nth 1 l)) + (key2 (nth 2 l))) + (if (string-match (concat (regexp-quote arg) "\\_>") cname) + (setq key (concat key key2))) + (if (string-match (concat (regexp-quote arg) ".+") cname) + (setq key (concat key key1))))) + todo-insertion-commands-arg-key-list) + (if (string-match (concat (regexp-quote "todo-insert-item") "\\_>") cname) + (setq key (concat key "i"))) + (define-key map key c)))) + +;; ----------------------------------------------------------------------------- +;;; Todo minibuffer utilities +;; ----------------------------------------------------------------------------- + +(defcustom todo-y-with-space nil + "Non-nil means allow SPC to affirm a \"y or n\" question." + :type 'boolean + :group 'todo) + +(defun todo-y-or-n-p (prompt) + "Ask \"y or n\" question PROMPT and return t if answer is \"y\". +Also return t if answer is \"Y\", but unlike `y-or-n-p', allow +SPC to affirm the question only if option `todo-y-with-space' is +non-nil." + (unless todo-y-with-space + (define-key query-replace-map " " 'ignore)) + (prog1 + (y-or-n-p prompt) + (define-key query-replace-map " " 'act))) + +(defun todo-category-completions (&optional archive) + "Return a list of completions for `todo-read-category'. +Each element of the list is a cons of a category name and the +file or list of files (as short file names) it is in. The files +are either the current (or if there is none, the default) todo +file plus the files listed in `todo-category-completions-files', +or, with non-nil ARCHIVE, the current archive file. + +Before calculating the completions, update the value of +`todo-category-completions-files' in case any files named in it +have been removed." + (let (deleted) + (dolist (f todo-category-completions-files) + (unless (file-exists-p (todo-absolute-file-name f)) + (setq todo-category-completions-files + (delete f todo-category-completions-files)) + (push f deleted))) + (when deleted + (let ((pl (> (length deleted) 1)) + (names (mapconcat (lambda (f) (concat "\"" f "\"")) deleted ", "))) + (message (concat "File" (if pl "s" "") " " names " ha" (if pl "ve" "s") + " been deleted and removed from\n" + "the list of category completion files"))) + (todo-reevaluate-category-completions-files-defcustom) + (custom-set-default 'todo-category-completions-files + (symbol-value 'todo-category-completions-files)) + (sleep-for 1.5))) + (let* ((curfile (or todo-current-todo-file + (and todo-show-current-file + todo-global-current-todo-file) + (todo-absolute-file-name todo-default-todo-file))) + (files (or (unless archive + (mapcar 'todo-absolute-file-name + todo-category-completions-files)) + (list curfile))) + listall listf) + ;; If file was just added, it has no category completions. + (unless (zerop (buffer-size (find-buffer-visiting curfile))) + (unless (member curfile todo-archives) + (add-to-list 'files curfile)) + (dolist (f files listall) + (with-current-buffer (find-file-noselect f 'nowarn) + ;; Ensure category is properly displayed in case user + ;; switches to file via a non-Todo mode command. And if + ;; done items in category are visible, keep them visible. + (let ((done todo-show-with-done)) + (when (> (buffer-size) (- (point-max) (point-min))) + (save-excursion + (goto-char (point-min)) + (setq done (re-search-forward todo-done-string-start nil t)))) + (let ((todo-show-with-done done)) + (save-excursion (todo-category-select)))) + (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (setq listf (read (buffer-substring-no-properties + (line-beginning-position) + (line-end-position))))))) + (mapc (lambda (elt) (let* ((cat (car elt)) + (la-elt (assoc cat listall))) + (if la-elt + (setcdr la-elt (append (list (cdr la-elt)) + (list f))) + (push (cons cat f) listall)))) + listf))))) + +(defun todo-read-file-name (prompt &optional archive mustmatch) + "Choose and return the name of a todo file, prompting with PROMPT. + +Show completions with TAB or SPC; the names are shown in short +form but the absolute truename is returned. With non-nil ARCHIVE +return the absolute truename of a todo archive file. With non-nil +MUSTMATCH the name of an existing file must be chosen; +otherwise, a new file name is allowed." + (let* ((completion-ignore-case todo-completion-ignore-case) + (files (mapcar 'todo-short-file-name + ;; (funcall todo-files-function archive))) + (if archive todo-archives todo-files))) + (file (completing-read prompt files nil mustmatch nil nil + (if files + ;; If user hit RET without + ;; choosing a file, default to + ;; current or default file. + (todo-short-file-name + (or todo-current-todo-file + (and todo-show-current-file + todo-global-current-todo-file) + (todo-absolute-file-name + todo-default-todo-file))) + ;; Trigger prompt for initial file. + "")))) + (unless (file-exists-p todo-directory) + (make-directory todo-directory)) + (unless mustmatch + (setq file (todo-validate-name file 'file))) + (setq file (file-truename (concat todo-directory file + (if archive ".toda" ".todo")))))) + +(defun todo-read-category (prompt &optional match-type file) + "Choose and return a category name, prompting with PROMPT. +Show completions for existing categories with TAB or SPC. + +The argument MATCH-TYPE specifies the matching requirements on +the category name: with the value `todo' or `archive' the name +must complete to that of an existing todo or archive category, +respectively; with the value `add' the name must not be that of +an existing category; with all other values both existing and new +valid category names are accepted. + +With non-nil argument FILE prompt for a file and complete only +against categories in that file; otherwise complete against all +categories from `todo-category-completions-files'." + ;; Allow SPC to insert spaces, for adding new category names. + (let ((map minibuffer-local-completion-map)) + (define-key map " " nil) + (let* ((add (eq match-type 'add)) + (archive (eq match-type 'archive)) + (file0 (when (and file (> (length todo-files) 1)) + (todo-read-file-name (concat "Choose a" (if archive + "n archive" + " todo") + " file: ") archive t))) + (completions (unless file0 (todo-category-completions archive))) + (categories (cond (file0 + (with-current-buffer + (find-file-noselect file0 'nowarn) + (let ((todo-current-todo-file file0)) + todo-categories))) + ((and add (not file)) + (with-current-buffer + (find-file-noselect todo-current-todo-file) + todo-categories)) + (t + completions))) + (completion-ignore-case todo-completion-ignore-case) + (cat (completing-read prompt categories nil + (eq match-type 'todo) nil nil + ;; Unless we're adding a category via + ;; todo-add-category, set default + ;; for existing categories to the + ;; current category of the chosen + ;; file or else of the current file. + (if (and categories (not add)) + (with-current-buffer + (find-file-noselect + (or file0 + todo-current-todo-file + (todo-absolute-file-name + todo-default-todo-file))) + (todo-current-category)) + ;; Trigger prompt for initial category. + ""))) + (catfil (cdr (assoc cat completions))) + (str "Category \"%s\" from which file (TAB for choices)? ")) + ;; If we do category completion and the chosen category name + ;; occurs in more than one file, prompt to choose one file. + (unless (or file0 add (not catfil)) + (setq file0 (file-truename + (if (atom catfil) + catfil + (todo-absolute-file-name + (let ((files (mapcar 'todo-short-file-name catfil))) + (completing-read (format str cat) files))))))) + ;; Default to the current file. + (unless file0 (setq file0 todo-current-todo-file)) + ;; First validate only a name passed interactively from + ;; todo-add-category, which must be of a nonexistent category. + (unless (and (assoc cat categories) (not add)) + ;; Validate only against completion categories. + (let ((todo-categories categories)) + (setq cat (todo-validate-name cat 'category))) + ;; When user enters a nonexistent category name by jumping or + ;; moving, confirm that it should be added, then validate. + (unless add + (if (todo-y-or-n-p (format "Add new category \"%s\" to file \"%s\"? " + cat (todo-short-file-name file0))) + (progn + (when (assoc cat categories) + (let ((todo-categories categories)) + (setq cat (todo-validate-name cat 'category)))) + ;; Restore point and narrowing after adding new + ;; category, to avoid moving to beginning of file when + ;; moving marked items to a new category + ;; (todo-move-item). + (save-excursion + (save-restriction + (todo-add-category file0 cat)))) + ;; If we decide not to add a category, exit without returning. + (keyboard-quit)))) + (cons cat file0)))) + +(defun todo-validate-name (name type) + "Prompt for new NAME for TYPE until it is valid, then return it. +TYPE can be either of the symbols `file' or `category'." + (let ((categories todo-categories) + (files (mapcar 'todo-short-file-name todo-files)) + prompt) + (while + (and + (cond ((string= "" name) + (setq prompt + (cond ((eq type 'file) + (if files + "Enter a non-empty file name: " + ;; Empty string passed by todo-show to + ;; prompt for initial todo file. + (concat "Initial file name [" + todo-initial-file "]: "))) + ((eq type 'category) + (if categories + "Enter a non-empty category name: " + ;; Empty string passed by todo-show to + ;; prompt for initial category of a new + ;; todo file. + (concat "Initial category name [" + todo-initial-category "]: ")))))) + ((string-match "\\`\\s-+\\'" name) + (setq prompt + "Enter a name that does not contain only white space: ")) + ((and (eq type 'file) (member name files)) + (setq prompt "Enter a non-existing file name: ")) + ((and (eq type 'category) (assoc name categories)) + (setq prompt "Enter a non-existing category name: "))) + (setq name (if (or (and (eq type 'file) files) + (and (eq type 'category) categories)) + (completing-read prompt (cond ((eq type 'file) + files) + ((eq type 'category) + categories))) + ;; Offer default initial name. + (completing-read prompt (if (eq type 'file) + files + categories) + nil nil (if (eq type 'file) + todo-initial-file + todo-initial-category)))))) + name)) + +;; Adapted from calendar-read-date and calendar-date-string. +(defun todo-read-date (&optional arg mo yr) + "Prompt for Gregorian date and return it in the current format. + +With non-nil ARG, prompt for and return only the date component +specified by ARG, which can be one of these symbols: +`month' (prompt for name, return name or number according to +value of `calendar-date-display-form'), `day' of month, or +`year'. The value of each of these components can be `*', +indicating an unspecified month, day, or year. + +When ARG is `day', non-nil arguments MO and YR determine the +number of the last the day of the month." + (let (year monthname month day + dayname) ; Needed by calendar-date-display-form. + (when (or (not arg) (eq arg 'year)) + (while (if (natnump year) (< year 1) (not (eq year '*))) + (setq year (read-from-minibuffer + "Year (>0 or RET for this year or * for any year): " + nil nil t nil (number-to-string + (calendar-extract-year + (calendar-current-date))))))) + (when (or (not arg) (eq arg 'month)) + (let* ((marray todo-month-name-array) + (mlist (append marray nil)) + (mabarray todo-month-abbrev-array) + (mablist (append mabarray nil)) + (completion-ignore-case todo-completion-ignore-case)) + (setq monthname (completing-read + "Month name (RET for current month, * for any month): " + mlist nil t nil nil + (calendar-month-name (calendar-extract-month + (calendar-current-date)) t)) + month (1+ (- (length mlist) + (length (or (member monthname mlist) + (member monthname mablist)))))) + (setq monthname (aref mabarray (1- month))))) + (when (or (not arg) (eq arg 'day)) + (let ((last (let ((mm (or month mo)) + (yy (or year yr))) + ;; If month is unspecified, use a month with 31 + ;; days for checking day of month input. Does + ;; Calendar do anything special when * is + ;; currently a shorter month? + (if (= mm 13) (setq mm 1)) + ;; If year is unspecified, use a leap year to + ;; allow Feb. 29. + (if (eq year '*) (setq yy 2012)) + (calendar-last-day-of-month mm yy)))) + (while (if (natnump day) (or (< day 1) (> day last)) (not (eq day '*))) + (setq day (read-from-minibuffer + (format "Day (1-%d or RET for today or * for any day): " + last) + nil nil t nil (number-to-string + (calendar-extract-day + (calendar-current-date)))))))) + ;; Stringify read values (monthname is already a string). + (and year (setq year (if (eq year '*) + (symbol-name '*) + (number-to-string year)))) + (and day (setq day (if (eq day '*) + (symbol-name '*) + (number-to-string day)))) + (and month (setq month (if (eq month '*) + (symbol-name '*) + (number-to-string month)))) + (if arg + (cond ((eq arg 'year) year) + ((eq arg 'day) day) + ((eq arg 'month) + (if (memq 'month calendar-date-display-form) + month + monthname))) + (mapconcat 'eval calendar-date-display-form "")))) + +(defun todo-read-dayname () + "Choose name of a day of the week with completion and return it." + (let ((completion-ignore-case todo-completion-ignore-case)) + (completing-read "Enter a day name: " + (append calendar-day-name-array nil) + nil t))) + +(defun todo-read-time () + "Prompt for and return a valid clock time as a string. + +Valid time strings are those matching `diary-time-regexp'. +Typing `<return>' at the prompt returns the current time, if the +user option `todo-always-add-time-string' is non-nil, otherwise +the empty string (i.e., no time string)." + (let (valid answer) + (while (not valid) + (setq answer (read-string "Enter a clock time: " nil nil + (when todo-always-add-time-string + (substring (current-time-string) 11 16)))) + (when (or (string= "" answer) + (string-match diary-time-regexp answer)) + (setq valid t))) + answer)) + +;; ----------------------------------------------------------------------------- +;;; Customization groups and utilities +;; ----------------------------------------------------------------------------- + +(defgroup todo nil + "Create and maintain categorized lists of todo items." + :link '(emacs-commentary-link "todo") + :version "24.4" + :group 'calendar) + +(defgroup todo-edit nil + "User options for adding and editing todo items." + :version "24.4" + :group 'todo) + +(defgroup todo-categories nil + "User options for Todo Categories mode." + :version "24.4" + :group 'todo) + +(defgroup todo-filtered nil + "User options for Todo Filter Items mode." + :version "24.4" + :group 'todo) + +(defgroup todo-display nil + "User display options for Todo mode." + :version "24.4" + :group 'todo) + +(defgroup todo-faces nil + "Faces for the Todo modes." + :version "24.4" + :group 'todo) + +(defun todo-set-show-current-file (symbol value) + "The :set function for user option `todo-show-current-file'." + (custom-set-default symbol value) + (if value + (add-hook 'pre-command-hook 'todo-show-current-file nil t) + (remove-hook 'pre-command-hook 'todo-show-current-file t))) + +(defun todo-reset-prefix (symbol value) + "The :set function for `todo-prefix' and `todo-number-prefix'." + (let ((oldvalue (symbol-value symbol)) + (files todo-file-buffers)) + (custom-set-default symbol value) + (when (not (equal value oldvalue)) + (dolist (f files) + (with-current-buffer (find-file-noselect f) + ;; Activate the new setting in the current category. + (save-excursion (todo-category-select))))))) + +(defun todo-reset-nondiary-marker (symbol value) + "The :set function for user option `todo-nondiary-marker'." + (let ((oldvalue (symbol-value symbol)) + (files (append todo-files todo-archives))) + (custom-set-default symbol value) + ;; Need to reset these to get font-locking right. + (setq todo-nondiary-start (nth 0 todo-nondiary-marker) + todo-nondiary-end (nth 1 todo-nondiary-marker) + todo-date-string-start + ;; See comment in defvar of `todo-date-string-start'. + (concat "^\\(" (regexp-quote todo-nondiary-start) "\\|" + (regexp-quote diary-nonmarking-symbol) "\\)?")) + (when (not (equal value oldvalue)) + (dolist (f files) + (with-current-buffer (find-file-noselect f) + (let (buffer-read-only) + (widen) + (goto-char (point-min)) + (while (not (eobp)) + (if (re-search-forward + (concat "^\\(" todo-done-string-start "[^][]+] \\)?" + "\\(?1:" (regexp-quote (car oldvalue)) + "\\)" todo-date-pattern "\\( " + diary-time-regexp "\\)?\\(?2:" + (regexp-quote (cadr oldvalue)) "\\)") + nil t) + (progn + (replace-match (nth 0 value) t t nil 1) + (replace-match (nth 1 value) t t nil 2)) + (forward-line))) + (todo-category-select))))))) + +(defun todo-reset-done-separator-string (symbol value) + "The :set function for `todo-done-separator-string'." + (let ((oldvalue (symbol-value symbol)) + (files todo-file-buffers) + (sep todo-done-separator)) + (custom-set-default symbol value) + (when (not (equal value oldvalue)) + (dolist (f files) + (with-current-buffer (find-file-noselect f) + (let (buffer-read-only) + (setq todo-done-separator (todo-done-separator)) + (when (= 1 (length value)) + (todo-reset-done-separator sep))) + (todo-category-select)))))) + +(defun todo-reset-done-string (symbol value) + "The :set function for user option `todo-done-string'." + (let ((oldvalue (symbol-value symbol)) + (files (append todo-files todo-archives))) + (custom-set-default symbol value) + ;; Need to reset this to get font-locking right. + (setq todo-done-string-start + (concat "^\\[" (regexp-quote todo-done-string))) + (when (not (equal value oldvalue)) + (dolist (f files) + (with-current-buffer (find-file-noselect f) + (let (buffer-read-only) + (widen) + (goto-char (point-min)) + (while (not (eobp)) + (if (re-search-forward + (concat "^" (regexp-quote todo-nondiary-start) + "\\(" (regexp-quote oldvalue) "\\)") + nil t) + (replace-match value t t nil 1) + (forward-line))) + (todo-category-select))))))) + +(defun todo-reset-comment-string (symbol value) + "The :set function for user option `todo-comment-string'." + (let ((oldvalue (symbol-value symbol)) + (files (append todo-files todo-archives))) + (custom-set-default symbol value) + (when (not (equal value oldvalue)) + (dolist (f files) + (with-current-buffer (find-file-noselect f) + (let (buffer-read-only) + (save-excursion + (widen) + (goto-char (point-min)) + (while (not (eobp)) + (if (re-search-forward + (concat + "\\[\\(" (regexp-quote oldvalue) "\\): [^]]*\\]") + nil t) + (replace-match value t t nil 1) + (forward-line))) + (todo-category-select)))))))) + +(defun todo-reset-highlight-item (symbol value) + "The :set function for `todo-toggle-item-highlighting'." + (let ((oldvalue (symbol-value symbol)) + (files (append todo-files todo-archives))) + (custom-set-default symbol value) + (when (not (equal value oldvalue)) + (dolist (f files) + (let ((buf (find-buffer-visiting f))) + (when buf + (with-current-buffer buf + (require 'hl-line) + (if value + (hl-line-mode 1) + (hl-line-mode -1))))))))) + +(defun todo-reevaluate-filelist-defcustoms () + "Reevaluate defcustoms that provide choice list of todo files." + (custom-set-default 'todo-default-todo-file + (symbol-value 'todo-default-todo-file)) + (todo-reevaluate-default-file-defcustom) + (custom-set-default 'todo-filter-files (symbol-value 'todo-filter-files)) + (todo-reevaluate-filter-files-defcustom) + (custom-set-default 'todo-category-completions-files + (symbol-value 'todo-category-completions-files)) + (todo-reevaluate-category-completions-files-defcustom)) + +(defun todo-reevaluate-default-file-defcustom () + "Reevaluate defcustom of `todo-default-todo-file'. +Called after adding or deleting a todo file. If the value of +`todo-default-todo-file' before calling this function was +associated with an existing file, keep that value." + ;; (let ((curval todo-default-todo-file)) + (eval + (defcustom todo-default-todo-file (todo-short-file-name + (car (funcall todo-files-function))) + "Todo file visited by first session invocation of `todo-show'." + :type (when todo-files + `(radio ,@(mapcar (lambda (f) (list 'const f)) + (mapcar 'todo-short-file-name + (funcall todo-files-function))))) + :group 'todo)) + ;; (when (and curval (file-exists-p (todo-absolute-file-name curval))) + ;; (custom-set-default 'todo-default-todo-file curval) + ;; ;; (custom-reevaluate-setting 'todo-default-todo-file) + ;; ))) + ) + +(defun todo-reevaluate-category-completions-files-defcustom () + "Reevaluate defcustom of `todo-category-completions-files'. +Called after adding or deleting a todo file." + (eval (defcustom todo-category-completions-files nil + "List of files for building `todo-read-category' completions." + :type `(set ,@(mapcar (lambda (f) (list 'const f)) + (mapcar 'todo-short-file-name + (funcall todo-files-function)))) + :group 'todo))) + +(defun todo-reevaluate-filter-files-defcustom () + "Reevaluate defcustom of `todo-filter-files'. +Called after adding or deleting a todo file." + (eval (defcustom todo-filter-files nil + "List of files for multifile item filtering." + :type `(set ,@(mapcar (lambda (f) (list 'const f)) + (mapcar 'todo-short-file-name + (funcall todo-files-function)))) + :group 'todo))) + +;; ----------------------------------------------------------------------------- +;;; Font locking +;; ----------------------------------------------------------------------------- + +(defun todo-nondiary-marker-matcher (lim) + "Search for todo item nondiary markers within LIM for font-locking." + (re-search-forward (concat "^\\(?1:" (regexp-quote todo-nondiary-start) "\\)" + todo-date-pattern "\\(?: " diary-time-regexp + "\\)?\\(?2:" (regexp-quote todo-nondiary-end) "\\)") + lim t)) + +(defun todo-diary-nonmarking-matcher (lim) + "Search for diary nonmarking symbol within LIM for font-locking." + (re-search-forward (concat "^\\(?1:" (regexp-quote diary-nonmarking-symbol) + "\\)" todo-date-pattern) lim t)) + +(defun todo-date-string-matcher (lim) + "Search for todo item date string within LIM for font-locking." + (re-search-forward + (concat todo-date-string-start "\\(?1:" todo-date-pattern "\\)") lim t)) + +(defun todo-time-string-matcher (lim) + "Search for todo item time string within LIM for font-locking." + (re-search-forward (concat todo-date-string-start todo-date-pattern + " \\(?1:" diary-time-regexp "\\)") lim t)) + +(defun todo-diary-expired-matcher (lim) + "Search for expired diary item date within LIM for font-locking." + (when (re-search-forward (concat "^\\(?:" + (regexp-quote diary-nonmarking-symbol) + "\\)?\\(?1:" todo-date-pattern "\\) \\(?2:" + diary-time-regexp "\\)?") lim t) + (let* ((date (match-string-no-properties 1)) + (time (match-string-no-properties 2)) + ;; Function days-between requires a non-empty time string. + (date-time (concat date " " (or time "00:00")))) + (or (and (not (string-match ".+day\\|\\*" date)) + (< (days-between date-time (current-time-string)) 0)) + (todo-diary-expired-matcher lim))))) + +(defun todo-done-string-matcher (lim) + "Search for done todo item header within LIM for font-locking." + (re-search-forward (concat todo-done-string-start + "[^][]+]") + lim t)) + +(defun todo-comment-string-matcher (lim) + "Search for done todo item comment within LIM for font-locking." + (re-search-forward (concat "\\[\\(?1:" todo-comment-string "\\):") + lim t)) + +(defun todo-category-string-matcher-1 (lim) + "Search for todo category name within LIM for font-locking. +This is for fontifying category and file names appearing in Todo +Filtered Items mode following done items." + (if (eq major-mode 'todo-filtered-items-mode) + (re-search-forward (concat todo-done-string-start todo-date-pattern + "\\(?: " diary-time-regexp + ;; Use non-greedy operator to prevent + ;; capturing possible following non-diary + ;; date string. + "\\)?] \\(?1:\\[.+?\\]\\)") + lim t))) + +(defun todo-category-string-matcher-2 (lim) + "Search for todo category name within LIM for font-locking. +This is for fontifying category and file names appearing in Todo +Filtered Items mode following todo (not done) items." + (if (eq major-mode 'todo-filtered-items-mode) + (re-search-forward (concat todo-date-string-start todo-date-pattern + "\\(?: " diary-time-regexp "\\)?\\(?:" + (regexp-quote todo-nondiary-end) + "\\)? \\(?1:\\[.+\\]\\)") + lim t))) + +(defvar todo-nondiary-face 'todo-nondiary) +(defvar todo-date-face 'todo-date) +(defvar todo-time-face 'todo-time) +(defvar todo-diary-expired-face 'todo-diary-expired) +(defvar todo-done-sep-face 'todo-done-sep) +(defvar todo-done-face 'todo-done) +(defvar todo-comment-face 'todo-comment) +(defvar todo-category-string-face 'todo-category-string) +(defvar todo-font-lock-keywords + (list + '(todo-nondiary-marker-matcher 1 todo-nondiary-face t) + '(todo-nondiary-marker-matcher 2 todo-nondiary-face t) + ;; diary-lib.el uses font-lock-constant-face for diary-nonmarking-symbol. + '(todo-diary-nonmarking-matcher 1 font-lock-constant-face t) + '(todo-date-string-matcher 1 todo-date-face t) + '(todo-time-string-matcher 1 todo-time-face t) + '(todo-done-string-matcher 0 todo-done-face t) + '(todo-comment-string-matcher 1 todo-comment-face t) + '(todo-category-string-matcher-1 1 todo-category-string-face t t) + '(todo-category-string-matcher-2 1 todo-category-string-face t t) + '(todo-diary-expired-matcher 1 todo-diary-expired-face t) + '(todo-diary-expired-matcher 2 todo-diary-expired-face t t) + ) + "Font-locking for Todo modes.") + +;; ----------------------------------------------------------------------------- +;;; Key binding +;; ----------------------------------------------------------------------------- + +(defvar todo-insertion-map + (let ((map (make-keymap))) + (todo-insertion-key-bindings map) + (define-key map "p" 'todo-copy-item) + map) + "Keymap for Todo mode item insertion commands.") + +(defvar todo-key-bindings-t + `( + ("Af" todo-find-archive) + ("Ac" todo-choose-archive) + ("Ad" todo-archive-done-item) + ("Cv" todo-toggle-view-done-items) + ("v" todo-toggle-view-done-items) + ("Ca" todo-add-category) + ("Cr" todo-rename-category) + ("Cg" todo-merge-category) + ("Cm" todo-move-category) + ("Ck" todo-delete-category) + ("Cts" todo-set-top-priorities-in-category) + ("Cey" todo-edit-category-diary-inclusion) + ("Cek" todo-edit-category-diary-nonmarking) + ("Fa" todo-add-file) + ("Ff" todo-find-filtered-items-file) + ("FV" todo-toggle-view-done-only) + ("V" todo-toggle-view-done-only) + ("Ftt" todo-filter-top-priorities) + ("Ftm" todo-filter-top-priorities-multifile) + ("Fts" todo-set-top-priorities-in-file) + ("Fyy" todo-filter-diary-items) + ("Fym" todo-filter-diary-items-multifile) + ("Frr" todo-filter-regexp-items) + ("Frm" todo-filter-regexp-items-multifile) + ("ee" todo-edit-item) + ("em" todo-edit-multiline-item) + ("edt" todo-edit-item-header) + ("edc" todo-edit-item-date-from-calendar) + ("eda" todo-edit-item-date-to-today) + ("edn" todo-edit-item-date-day-name) + ("edy" todo-edit-item-date-year) + ("edm" todo-edit-item-date-month) + ("edd" todo-edit-item-date-day) + ("et" todo-edit-item-time) + ("eyy" todo-edit-item-diary-inclusion) + ("eyk" todo-edit-item-diary-nonmarking) + ("ec" todo-edit-done-item-comment) + ("d" todo-item-done) + ("i" ,todo-insertion-map) + ("k" todo-delete-item) + ("m" todo-move-item) + ("u" todo-item-undone) + ([remap newline] newline-and-indent) + ) + "List of key bindings for Todo mode only.") + +(defvar todo-key-bindings-t+a+f + `( + ("C*" todo-mark-category) + ("Cu" todo-unmark-category) + ("Fh" todo-toggle-item-header) + ("h" todo-toggle-item-header) + ("Fk" todo-delete-file) + ("Fe" todo-edit-file) + ("FH" todo-toggle-item-highlighting) + ("H" todo-toggle-item-highlighting) + ("FN" todo-toggle-prefix-numbers) + ("N" todo-toggle-prefix-numbers) + ("PB" todo-print-buffer) + ("PF" todo-print-buffer-to-file) + ("b" todo-backward-category) + ("d" todo-item-done) + ("f" todo-forward-category) + ("j" todo-jump-to-category) + ("n" todo-next-item) + ("p" todo-previous-item) + ("q" todo-quit) + ("s" todo-save) + ("t" todo-show) + ) + "List of key bindings for Todo, Archive, and Filtered Items modes.") + +(defvar todo-key-bindings-t+a + `( + ("Fc" todo-show-categories-table) + ("S" todo-search) + ("X" todo-clear-matches) + ("*" todo-toggle-mark-item) + ) + "List of key bindings for Todo and Todo Archive modes.") + +(defvar todo-key-bindings-t+f + `( + ("l" todo-lower-item-priority) + ("r" todo-raise-item-priority) + ("#" todo-set-item-priority) + ) + "List of key bindings for Todo and Todo Filtered Items modes.") + +(defvar todo-mode-map + (let ((map (make-keymap))) + ;; Don't suppress digit keys, so they can supply prefix arguments. + (suppress-keymap map) + (dolist (kb todo-key-bindings-t) + (define-key map (nth 0 kb) (nth 1 kb))) + (dolist (kb todo-key-bindings-t+a+f) + (define-key map (nth 0 kb) (nth 1 kb))) + (dolist (kb todo-key-bindings-t+a) + (define-key map (nth 0 kb) (nth 1 kb))) + (dolist (kb todo-key-bindings-t+f) + (define-key map (nth 0 kb) (nth 1 kb))) + map) + "Todo mode keymap.") + +(defvar todo-archive-mode-map + (let ((map (make-sparse-keymap))) + (suppress-keymap map) + (dolist (kb todo-key-bindings-t+a+f) + (define-key map (nth 0 kb) (nth 1 kb))) + (dolist (kb todo-key-bindings-t+a) + (define-key map (nth 0 kb) (nth 1 kb))) + (define-key map "a" 'todo-jump-to-archive-category) + (define-key map "u" 'todo-unarchive-items) + map) + "Todo Archive mode keymap.") + +(defvar todo-edit-mode-map + (let ((map (make-sparse-keymap))) + (define-key map "\C-x\C-q" 'todo-edit-quit) + (define-key map [remap newline] 'newline-and-indent) + map) + "Todo Edit mode keymap.") + +(defvar todo-categories-mode-map + (let ((map (make-sparse-keymap))) + (suppress-keymap map) + (define-key map "c" 'todo-sort-categories-alphabetically-or-numerically) + (define-key map "t" 'todo-sort-categories-by-todo) + (define-key map "y" 'todo-sort-categories-by-diary) + (define-key map "d" 'todo-sort-categories-by-done) + (define-key map "a" 'todo-sort-categories-by-archived) + (define-key map "#" 'todo-set-category-number) + (define-key map "l" 'todo-lower-category) + (define-key map "r" 'todo-raise-category) + (define-key map "n" 'todo-next-button) + (define-key map "p" 'todo-previous-button) + (define-key map [tab] 'todo-next-button) + (define-key map [backtab] 'todo-previous-button) + (define-key map "q" 'todo-quit) + map) + "Todo Categories mode keymap.") + +(defvar todo-filtered-items-mode-map + (let ((map (make-sparse-keymap))) + (suppress-keymap map) + (dolist (kb todo-key-bindings-t+a+f) + (define-key map (nth 0 kb) (nth 1 kb))) + (dolist (kb todo-key-bindings-t+f) + (define-key map (nth 0 kb) (nth 1 kb))) + (define-key map "g" 'todo-go-to-source-item) + (define-key map [remap newline] 'todo-go-to-source-item) + map) + "Todo Filtered Items mode keymap.") + +;; FIXME: Is it worth having a menu and if so, which commands? +;; (easy-menu-define +;; todo-menu todo-mode-map "Todo Menu" +;; '("Todo" +;; ("Navigation" +;; ["Next Item" todo-forward-item t] +;; ["Previous Item" todo-backward-item t] +;; "---" +;; ["Next Category" todo-forward-category t] +;; ["Previous Category" todo-backward-category t] +;; ["Jump to Category" todo-jump-to-category t] +;; "---" +;; ["Search Todo File" todo-search t] +;; ["Clear Highlighting on Search Matches" todo-category-done t]) +;; ("Display" +;; ["List Current Categories" todo-show-categories-table t] +;; ;; ["List Categories Alphabetically" todo-display-categories-alphabetically t] +;; ["Turn Item Highlighting on/off" todo-toggle-item-highlighting t] +;; ["Turn Item Numbering on/off" todo-toggle-prefix-numbers t] +;; ["Turn Item Time Stamp on/off" todo-toggle-item-header t] +;; ["View/Hide Done Items" todo-toggle-view-done-items t] +;; "---" +;; ["View Diary Items" todo-filter-diary-items t] +;; ["View Top Priority Items" todo-filter-top-priorities t] +;; ["View Multifile Top Priority Items" todo-filter-top-priorities-multifile t] +;; "---" +;; ["Print Category" todo-print-buffer t]) +;; ("Editing" +;; ["Insert New Item" todo-insert-item t] +;; ["Insert Item Here" todo-insert-item-here t] +;; ("More Insertion Commands") +;; ["Edit Item" todo-edit-item t] +;; ["Edit Multiline Item" todo-edit-multiline-item t] +;; ["Edit Item Header" todo-edit-item-header t] +;; ["Edit Item Date" todo-edit-item-date t] +;; ["Edit Item Time" todo-edit-item-time t] +;; "---" +;; ["Lower Item Priority" todo-lower-item-priority t] +;; ["Raise Item Priority" todo-raise-item-priority t] +;; ["Set Item Priority" todo-set-item-priority t] +;; ["Move (Recategorize) Item" todo-move-item t] +;; ["Delete Item" todo-delete-item t] +;; ["Undo Done Item" todo-item-undone t] +;; ["Mark/Unmark Item for Diary" todo-toggle-item-diary-inclusion t] +;; ["Mark/Unmark Items for Diary" todo-edit-item-diary-inclusion t] +;; ["Mark & Hide Done Item" todo-item-done t] +;; ["Archive Done Items" todo-archive-category-done-items t] +;; "---" +;; ["Add New Todo File" todo-add-file t] +;; ["Add New Category" todo-add-category t] +;; ["Delete Current Category" todo-delete-category t] +;; ["Rename Current Category" todo-rename-category t] +;; "---" +;; ["Save Todo File" todo-save t] +;; ) +;; "---" +;; ["Quit" todo-quit t] +;; )) + +;; ----------------------------------------------------------------------------- +;;; Hook functions and mode definitions +;; ----------------------------------------------------------------------------- + +(defun todo-show-current-file () + "Visit current instead of default todo file with `todo-show'. +Added to `pre-command-hook' in Todo mode when user option +`todo-show-current-file' is set to non-nil." + (setq todo-global-current-todo-file todo-current-todo-file)) + +(defun todo-display-as-todo-file () + "Show todo files correctly when visited from outside of Todo mode. +Added to `find-file-hook' in Todo mode and Todo Archive mode." + (and (member this-command todo-visit-files-commands) + (= (- (point-max) (point-min)) (buffer-size)) + (member major-mode '(todo-mode todo-archive-mode)) + (todo-category-select))) + +(defun todo-add-to-buffer-list () + "Add name of just visited todo file to `todo-file-buffers'. +This function is added to `find-file-hook' in Todo mode." + (let ((filename (file-truename (buffer-file-name)))) + (when (member filename todo-files) + (add-to-list 'todo-file-buffers filename)))) + +(defun todo-update-buffer-list () + "Make current Todo mode buffer file car of `todo-file-buffers'. +This function is added to `post-command-hook' in Todo mode." + (let ((filename (file-truename (buffer-file-name)))) + (unless (eq (car todo-file-buffers) filename) + (setq todo-file-buffers + (cons filename (delete filename todo-file-buffers)))))) + +(defun todo-reset-global-current-todo-file () + "Update the value of `todo-global-current-todo-file'. +This becomes the latest existing todo file or, if there is none, +the value of `todo-default-todo-file'. +This function is added to `kill-buffer-hook' in Todo mode." + (let ((filename (file-truename (buffer-file-name)))) + (setq todo-file-buffers (delete filename todo-file-buffers)) + (setq todo-global-current-todo-file + (or (car todo-file-buffers) + (todo-absolute-file-name todo-default-todo-file))))) + +(defun todo-reset-and-enable-done-separator () + "Show resized done items separator overlay after window change. +Added to `window-configuration-change-hook' in Todo mode." + (when (= 1 (length todo-done-separator-string)) + (let ((sep todo-done-separator)) + (setq todo-done-separator (todo-done-separator)) + (save-match-data (todo-reset-done-separator sep))))) + +(defun todo-modes-set-1 () + "Make some settings that apply to multiple Todo modes." + (setq-local font-lock-defaults '(todo-font-lock-keywords t)) + (setq-local tab-width todo-indent-to-here) + (setq-local indent-line-function 'todo-indent) + (when todo-wrap-lines + (visual-line-mode) + (setq wrap-prefix (make-string todo-indent-to-here 32)))) + +(defun todo-modes-set-2 () + "Make some settings that apply to multiple Todo modes." + (add-to-invisibility-spec 'todo) + (setq buffer-read-only t) + (when (boundp 'hl-line-range-function) + (setq-local hl-line-range-function + (lambda() (save-excursion + (when (todo-item-end) + (cons (todo-item-start) + (todo-item-end)))))))) + +(defun todo-modes-set-3 () + "Make some settings that apply to multiple Todo modes." + (setq-local todo-categories (todo-set-categories)) + (setq-local todo-category-number 1) + (add-hook 'find-file-hook 'todo-display-as-todo-file nil t)) + +(put 'todo-mode 'mode-class 'special) + +(define-derived-mode todo-mode special-mode "Todo" + "Major mode for displaying, navigating and editing todo lists. + +\\{todo-mode-map}" + ;; (easy-menu-add todo-menu) + (todo-modes-set-1) + (todo-modes-set-2) + (todo-modes-set-3) + ;; Initialize todo-current-todo-file. + (when (member (file-truename (buffer-file-name)) + (funcall todo-files-function)) + (setq-local todo-current-todo-file (file-truename (buffer-file-name)))) + (setq-local todo-show-done-only nil) + (setq-local todo-categories-with-marks nil) + (add-hook 'find-file-hook 'todo-add-to-buffer-list nil t) + (add-hook 'post-command-hook 'todo-update-buffer-list nil t) + (when todo-show-current-file + (add-hook 'pre-command-hook 'todo-show-current-file nil t)) + (add-hook 'window-configuration-change-hook + 'todo-reset-and-enable-done-separator nil t) + (add-hook 'kill-buffer-hook 'todo-reset-global-current-todo-file nil t)) + +(put 'todo-archive-mode 'mode-class 'special) + +;; If todo-mode is parent, all todo-mode key bindings appear to be +;; available in todo-archive-mode (e.g. shown by C-h m). +(define-derived-mode todo-archive-mode special-mode "Todo-Arch" + "Major mode for archived todo categories. + +\\{todo-archive-mode-map}" + (todo-modes-set-1) + (todo-modes-set-2) + (todo-modes-set-3) + (setq-local todo-current-todo-file (file-truename (buffer-file-name))) + (setq-local todo-show-done-only t)) + +(defun todo-mode-external-set () + "Set `todo-categories' externally to `todo-current-todo-file'." + (setq-local todo-current-todo-file todo-global-current-todo-file) + (let ((cats (with-current-buffer + ;; Can't use find-buffer-visiting when + ;; `todo-show-categories-table' is called on first + ;; invocation of `todo-show', since there is then + ;; no buffer visiting the current file. + (find-file-noselect todo-current-todo-file 'nowarn) + (or todo-categories + ;; In Todo Edit mode todo-categories is now nil + ;; since it uses same buffer as Todo mode but + ;; doesn't have the latter's local variables. + (save-excursion + (goto-char (point-min)) + (read (buffer-substring-no-properties + (line-beginning-position) + (line-end-position)))))))) + (setq-local todo-categories cats))) + +(define-derived-mode todo-edit-mode text-mode "Todo-Ed" + "Major mode for editing multiline todo items. + +\\{todo-edit-mode-map}" + (todo-modes-set-1) + (todo-mode-external-set) + (setq buffer-read-only nil)) + +(put 'todo-categories-mode 'mode-class 'special) + +(define-derived-mode todo-categories-mode special-mode "Todo-Cats" + "Major mode for displaying and editing todo categories. + +\\{todo-categories-mode-map}" + (todo-mode-external-set)) + +(put 'todo-filtered-items-mode 'mode-class 'special) + +(define-derived-mode todo-filtered-items-mode special-mode "Todo-Fltr" + "Mode for displaying and reprioritizing top priority Todo. + +\\{todo-filtered-items-mode-map}" + (todo-modes-set-1) + (todo-modes-set-2)) -(defun todo-initial-setup () - "Set up things to work properly in TODO mode." - (find-file todo-file-do) - (erase-buffer) - (todo-mode) - (todo-add-category "Todo")) +(add-to-list 'auto-mode-alist '("\\.todo\\'" . todo-mode)) +(add-to-list 'auto-mode-alist '("\\.toda\\'" . todo-archive-mode)) +(add-to-list 'auto-mode-alist '("\\.tod[tyr]\\'" . todo-filtered-items-mode)) +;; ----------------------------------------------------------------------------- (provide 'todo-mode) ;;; todo-mode.el ends here diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog index 98548a919d5..7a2c5755cc0 100644 --- a/lisp/cedet/ChangeLog +++ b/lisp/cedet/ChangeLog @@ -1,7 +1,26 @@ -2013-06-02 Eric Ludlam <zappo@gnu.org> +2013-06-25 Stefan Monnier <monnier@iro.umontreal.ca> - * semantic/edit.el (semantic-change-function): Use - `save-match-data' around running hooks. + * data-debug.el, cedet-idutils.el: Neuter the "Version:" header. + +2013-06-19 Glenn Morris <rgm@fencepost.gnu.org> + + * semantic/idle.el (define-semantic-idle-service): + No need to use eval-and-compile, progn will do. + + * semantic/decorate/mode.el (define-semantic-decoration-style): + Doc fix. + (define-semantic-decoration-style): 'function is not an accepted + value for autoload's "type" argument. Might as well use the default. + +2013-06-18 Glenn Morris <rgm@gnu.org> + + * semantic/ctxt.el (semantic-ctxt-end-of-symbol-default): + Remove unused free variable `symlist'. + +2013-06-02 Eric Ludlam <zappo@gnu.org> + + * semantic/edit.el (semantic-change-function): + Use `save-match-data' around running hooks. * semantic/decorate/mode.el (semantic-decorate-style-predicate-default) @@ -47,7 +66,7 @@ of code tags. * srecode/compile.el (srecode-compile-templates): Fix warning - punctuation. Remove status messages to clean up testing output + punctuation. Remove status messages to clean up testing output. * ede/base.el (ede-project-placeholder-cache-file): Update doc to mention 'nil' value. @@ -65,7 +84,7 @@ custom symbols representing a compiler or linker instead of restricting things to only the predefined compilers and linkers. -2013-06-02 David Engster <dengste@eml.cc> +2013-06-02 David Engster <dengste@eml.cc> * semantic.el (semantic-mode-map): To avoid showing showing Development menu twice, only disable menu item if menu-bar is @@ -171,7 +190,7 @@ (semantic-analyze-dereference-metatype-stack): Use `semantic-tag-similar-p' instead of 'eq' when comparing two tags during metatype evaluation in case they are the same, but not the - same node. (Tweaked patch from Tomasz Gajewski) (Tiny change) + same node. (Tweaked patch from Tomasz Gajewski) (Tiny change) * semantic/db-find.el (semanticdb-partial-synchronize): Fix require to semantic/db-typecache to be correct. @@ -204,7 +223,7 @@ no spp symbols from it, say so. * srecode/args.el (srecode-semantic-handle-:project): New argument - handler. Provide variable values if not in an EDE project. + handler. Provide variable values if not in an EDE project. * srecode/srt-mode.el (srecode-template-mode): Fix typo on srecode name. @@ -218,11 +237,11 @@ * srecode/srt.el: Add local variables for setting the autoload file name. - (srecode-semantic-handle-:srt): New autoload cookie + (srecode-semantic-handle-:srt): New autoload cookie. * ede.el (ede-apply-preprocessor-map): Apply map to `semantic-lex-spp-project-macro-symbol-obarray' instead of the - system one. Add require for semantic. + system one. Add require for semantic. * ede/proj-elisp.el (ede-update-version-in-source): In case a file has both a version variable and a Version: comment, always use @@ -286,19 +305,19 @@ `class-parents' to `eieio-class-parents', `class-children' to `eieio-class-children', `object-name-string' to `eieio-object-name-string', `object-class-fast' to - `eieio--object-class'. Also replace direct access with new + `eieio--object-class'. Also replace direct access with new accessor functions. -2013-03-21 Tomasz Gajewski <tomga@wp.pl> (tiny change) +2013-03-21 Tomasz Gajewski <tomga@wp.pl> (tiny change) * ede/cpp-root.el (ede-project-autoload, initialize-instance): Fix EDE file symbol to match rename. Fix ede-cpp-root symbol to include -project in name. -2013-03-21 Alex Ott <alexott@gmail.com> +2013-03-21 Alex Ott <alexott@gmail.com> * cedet-files.el (cedet-files-list-recursively): New. Recursively - find files whose names are matching to given regex + find files whose names are matching to given regex. * ede.el (ede-current-project): Rewrite to avoid imperative style. @@ -314,7 +333,7 @@ Value of slot or local variable could be string or function that receives project and should return string that will be invoked as command. - (project-compile-target): Invokes compilation of whole project + (project-compile-target): Invokes compilation of whole project. * ede/files.el (ede-find-project-root): New function to find root of project that contains specific file. @@ -396,7 +415,7 @@ * semantic/db-el.el: * semantic/chart.el: Fix requires. - * ede/locate.el: Remove useless requires. Declare functions + * ede/locate.el: Remove useless requires. Declare functions instead and require in functions when needed. 2012-10-23 Stefan Monnier <monnier@iro.umontreal.ca> @@ -713,7 +732,7 @@ (srecode-mode-table): Add new modetables slot. (srecode-get-mode-table): Find the mode, but also find all parent modes, and merge the tables together in :tables from :modetables. - (srecode-make-mode-table): Init :modetables + (srecode-make-mode-table): Init :modetables. (srecode-mode-table-find): Search in modetables. (srecode-mode-table-new): Merge the differet files into the modetables slot. @@ -771,7 +790,7 @@ regular expression parsing. (semantic-cpp-lexer): Add semantic-lex-c-ifdef. (semantic-expand-c-tag): Check if tag is non-nil before adding it - to return list + to return list. (semantic-expand-c-extern-C, semantic-expand-c-complex-type): New functions, copied from semantic-expand-c-tag. (semantic-find-tags-included): New override which also searches @@ -1282,9 +1301,9 @@ 2010-09-29 Eric Ludlam <zappo@gnu.org> * semantic/lex-spp.el (semantic-lex-spp-debug-symbol): New var. - (semantic-lex-spp-enable-debug-symbol): New command + (semantic-lex-spp-enable-debug-symbol): New command. (semantic-lex-spp-value-valid-p) - (semantic-lex-spp-validate-value): New functions + (semantic-lex-spp-validate-value): New functions. (semantic-lex-spp-symbol-set) (semantic-lex-spp-symbol-push): Add call to validate value. (semantic-lex-spp-table-write-slot-value): Instead of erroring on @@ -1452,7 +1471,7 @@ (project-am-expand-subdirlist): New function. (project-am-makefile::project-rescan): Use it. Combine SUBDIRS and DIST_SUBDIRS. - (project-am-meta-type-alist): A list to scan better Makefile.am + (project-am-meta-type-alist): A list to scan better Makefile.am. (project-am-scan-for-targets): Scan also over project-am-meta-type-alist. (ede-system-include-path): Simple implementation. diff --git a/lisp/cedet/cedet-idutils.el b/lisp/cedet/cedet-idutils.el index 2f1dda4a71c..49d22b6a0ab 100644 --- a/lisp/cedet/cedet-idutils.el +++ b/lisp/cedet/cedet-idutils.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2009-2013 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam <eric@siege-engine.com> -;; Version: 0.2 +;; Old-Version: 0.2 ;; Keywords: OO, lisp ;; Package: cedet diff --git a/lisp/cedet/data-debug.el b/lisp/cedet/data-debug.el index dec3c7b2af2..c468ec1046a 100644 --- a/lisp/cedet/data-debug.el +++ b/lisp/cedet/data-debug.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2007-2013 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam <zappo@gnu.org> -;; Version: 0.2 +;; Old-Version: 0.2 ;; Keywords: OO, lisp ;; Package: cedet diff --git a/lisp/cedet/semantic/ctxt.el b/lisp/cedet/semantic/ctxt.el index 629bbdee561..b010a30da7f 100644 --- a/lisp/cedet/semantic/ctxt.el +++ b/lisp/cedet/semantic/ctxt.el @@ -397,7 +397,6 @@ work on C like languages." t) (error nil)) (looking-at fieldsep1))) - (setq symlist (list "")) (forward-sexp -1) ;; Skip array expressions. (while (looking-at "\\s(") (forward-sexp -1)) diff --git a/lisp/cedet/semantic/decorate/mode.el b/lisp/cedet/semantic/decorate/mode.el index a4aa535eb1a..ba06c73936b 100644 --- a/lisp/cedet/semantic/decorate/mode.el +++ b/lisp/cedet/semantic/decorate/mode.el @@ -374,7 +374,7 @@ IGNORE any input arguments." "Define a new decoration style with NAME. DOC is a documentation string describing the decoration style NAME. It is appended to auto-generated doc strings. -An Optional list of FLAGS can also be specified. Flags are: +An optional list of FLAGS can also be specified. Flags are: :enabled <value> - specify the default enabled value for NAME. :load <value> - specify a feature (as a string) with the rest of the definition for decoration mode NAME. @@ -428,11 +428,10 @@ decoration API found in this library." (when (stringp ,loadfile) (unless (fboundp ',predicatedef) (autoload ',predicatedef ',loadfile "Return non-nil to decorate TAG." - nil 'function)) + )) (unless (fboundp ',highlighterdef) - (autoload ',highlighterdef ',loadfile "Decorate TAG." - nil 'function)) + (autoload ',highlighterdef ',loadfile "Decorate TAG.")) )) )) diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el index 6c223c2b9f2..d024e5d8237 100644 --- a/lisp/cedet/semantic/idle.el +++ b/lisp/cedet/semantic/idle.el @@ -578,7 +578,7 @@ This routine creates the following functions and variables:" (setup (intern (concat (symbol-name name) "-mode-setup"))) (func (intern (concat (symbol-name name) "-idle-function")))) - `(eval-and-compile + `(progn (define-minor-mode ,global ,(concat "Toggle " (symbol-name global) ". With ARG, turn the minor mode on if ARG is positive, off otherwise. diff --git a/lisp/cmuscheme.el b/lisp/cmuscheme.el index 0f89eae8828..b78b8decfa6 100644 --- a/lisp/cmuscheme.el +++ b/lisp/cmuscheme.el @@ -170,22 +170,22 @@ The following commands are available: A Scheme process can be fired up with M-x run-scheme. -Customization: Entry to this mode runs the hooks on comint-mode-hook and -inferior-scheme-mode-hook (in that order). +Customization: Entry to this mode runs the hooks on `comint-mode-hook' and +`inferior-scheme-mode-hook' (in that order). You can send text to the inferior Scheme process from other buffers containing Scheme source. - switch-to-scheme switches the current buffer to the Scheme process buffer. - scheme-send-definition sends the current definition to the Scheme process. - scheme-compile-definition compiles the current definition. - scheme-send-region sends the current region to the Scheme process. - scheme-compile-region compiles the current region. - - scheme-send-definition-and-go, scheme-compile-definition-and-go, - scheme-send-region-and-go, and scheme-compile-region-and-go + `switch-to-scheme' switches the current buffer to the Scheme process buffer. + `scheme-send-definition' sends the current definition to the Scheme process. + `scheme-compile-definition' compiles the current definition. + `scheme-send-region' sends the current region to the Scheme process. + `scheme-compile-region' compiles the current region. + + `scheme-send-definition-and-go', `scheme-compile-definition-and-go', + `scheme-send-region-and-go', and `scheme-compile-region-and-go' switch to the Scheme process buffer after sending their text. For information on running multiple processes in multiple buffers, see -documentation for variable scheme-buffer. +documentation for variable `scheme-buffer'. Commands: Return after the end of the process' output sends the text from the @@ -214,7 +214,7 @@ Defaults to a regexp ignoring all inputs of 0, 1, or 2 letters." (defun scheme-input-filter (str) "Don't save anything matching `inferior-scheme-filter-regexp'." - (not (string-match inferior-scheme-filter-regexp str))) + (not (string-match-p inferior-scheme-filter-regexp str))) (defun scheme-get-old-input () "Snarf the sexp ending at point." @@ -233,7 +233,7 @@ If the file `~/.emacs_SCHEMENAME' or `~/.emacs.d/init_SCHEMENAME.scm' exists, it is given as initial input. Note that this may lose due to a timing error if the Scheme processor discards input when it starts up. -Runs the hook `inferior-scheme-mode-hook' \(after the `comint-mode-hook' +Runs the hook `inferior-scheme-mode-hook' (after the `comint-mode-hook' is run). \(Type \\[describe-mode] in the process buffer for a list of commands.)" @@ -251,8 +251,8 @@ is run). (defun scheme-start-file (prog) "Return the name of the start file corresponding to PROG. -Search in the directories \"~\" and \"~/.emacs.d\", in this -order. Return nil if no start file found." +Search in the directories \"~\" and `user-emacs-directory', +in this order. Return nil if no start file found." (let* ((progname (file-name-nondirectory prog)) (start-file (concat "~/.emacs_" progname)) (alt-start-file (concat user-emacs-directory "init_" progname ".scm"))) @@ -367,7 +367,7 @@ For Scheme 48 and Scsh use \",expand %s\"." (scheme-form-at-point))))) (defun switch-to-scheme (eob-p) - "Switch to the scheme process buffer. + "Switch to the Scheme process buffer. With argument, position cursor at end of buffer." (interactive "P") (if (or (and scheme-buffer (get-buffer scheme-buffer)) diff --git a/lisp/comint.el b/lisp/comint.el index 592f63fa683..217bd4e8b6d 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -3725,20 +3725,21 @@ REGEXP-GROUP is the regular expression group in REGEXP to use." output-buffer process nil t) ;; Wait for the process to complete (set-buffer (process-buffer process)) - (while (null comint-redirect-completed) - (accept-process-output nil 1)) + (while (and (null comint-redirect-completed) + (accept-process-output process))) ;; Collect the output (set-buffer output-buffer) (goto-char (point-min)) ;; Skip past the command, if it was echoed (and (looking-at command) (forward-line)) - (while (re-search-forward regexp nil t) + (while (and (not (eobp)) + (re-search-forward regexp nil t)) (push (buffer-substring-no-properties (match-beginning regexp-group) (match-end regexp-group)) results)) - results))) + (nreverse results)))) ;; Converting process modes to use comint mode ;; =========================================================================== diff --git a/lisp/composite.el b/lisp/composite.el index 4832848cb90..3c25b8b60af 100644 --- a/lisp/composite.el +++ b/lisp/composite.el @@ -57,8 +57,8 @@ The meaning of glyph reference point codes is as follows: | | 7:bc or bottom-center 6----7----8 <---- descent 8:br or bottom-right -Glyph reference point symbols are to be used to specify composition -rule of the form \(GLOBAL-REF-POINT . NEW-REF-POINT), where +Glyph reference point symbols are to be used to specify a composition +rule of the form (GLOBAL-REF-POINT . NEW-REF-POINT), where GLOBAL-REF-POINT is a reference point in the overall glyphs already composed, and NEW-REF-POINT is a reference point in the new glyph to be added. @@ -71,13 +71,13 @@ follows (the point `*' corresponds to both reference points): | | | | global| | | glyph | | - -- | | |-- <--- baseline \(doesn't change) + -- | | |-- <--- baseline (doesn't change) +----+--*--+ | | new | | |glyph| +----+-----+ <--- new descent -A composition rule may have the form \(GLOBAL-REF-POINT +A composition rule may have the form (GLOBAL-REF-POINT NEW-REF-POINT XOFF YOFF), where XOFF and YOFF specify how much to shift NEW-REF-POINT from GLOBAL-REF-POINT. In this case, XOFF and YOFF are integers in the range -100..100 representing the @@ -279,8 +279,8 @@ text in the composition." (defun compose-chars (&rest args) "Return a string from arguments in which all characters are composed. For relative composition, arguments are characters. -For rule-based composition, Mth \(where M is odd) arguments are -characters, and Nth \(where N is even) arguments are composition rules. +For rule-based composition, Mth (where M is odd) arguments are +characters, and Nth (where N is even) arguments are composition rules. A composition rule is a cons of glyph reference points of the form \(GLOBAL-REF-POINT . NEW-REF-POINT). See the documentation of `reference-point-alist' for more detail." @@ -387,7 +387,7 @@ This function is the default value of `compose-chars-after-function'." (defun compose-last-chars (args) "Compose last characters. The argument is a parameterized event of the form - \(compose-last-chars N COMPONENTS), + (compose-last-chars N COMPONENTS), where N is the number of characters before point to compose, COMPONENTS, if non-nil, is the same as the argument to `compose-region' \(which see). If it is nil, `compose-chars-after' is called, @@ -640,7 +640,7 @@ All non-spacing characters have this function in unicode-category-table)) (defun compose-gstring-for-terminal (gstring) - "Compose glyph string GSTRING for terminal display. + "Compose glyph-string GSTRING for terminal display. Non-spacing characters are composed with the preceding base character. If the preceding character is not a base character, each non-spacing character is composed as a spacing character by diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index d4966078e1d..b50c1a5155b 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -558,7 +558,7 @@ value unless you are sure you know what it does." (setq prefixes nil) (delete-region (point-min) (point))) (setq prefixes (cdr prefixes)))))) - (subst-char-in-region (point-min) (point-max) ?- ?\ t) + (subst-char-in-region (point-min) (point-max) ?- ?\s t) (capitalize-region (point-min) (point-max)) (unless no-suffix (goto-char (point-max)) @@ -629,7 +629,7 @@ if that fails, the doc string with `custom-guess-doc-alist'." (while names (setq current (car names) names (cdr names)) - (when (string-match (nth 0 current) name) + (when (string-match-p (nth 0 current) name) (setq found (nth 1 current) names nil))) (unless found @@ -639,7 +639,7 @@ if that fails, the doc string with `custom-guess-doc-alist'." (while docs (setq current (car docs) docs (cdr docs)) - (when (string-match (nth 0 current) doc) + (when (string-match-p (nth 0 current) doc) (setq found (nth 1 current) docs nil)))))) found)) @@ -731,7 +731,7 @@ groups after non-groups, if nil do not order groups at all." (defvar custom-commands '((" Apply " Custom-set t - "Apply settings (for the current session only)" + "Apply settings (for the current session only)." "index" "Apply") (" Apply and Save " Custom-save @@ -1421,8 +1421,8 @@ suggest to customize that face, if it's customizable." "Customize loaded options, faces and groups matching PATTERN. PATTERN can be a word, a list of words (separated by spaces), or a regexp (using some regexp special characters). If it is a word, -search for matches for that word as a substring. If it is a list of words, -search for matches for any two (or more) of those words. +search for matches for that word as a substring. If it is a list of +words, search for matches for any two (or more) of those words. If TYPE is `options', include only options. If TYPE is `faces', include only faces. @@ -1435,7 +1435,7 @@ If TYPE is `groups', include only groups." (let (found) (mapatoms `(lambda (symbol) - (when (string-match apropos-regexp (symbol-name symbol)) + (when (string-match-p apropos-regexp (symbol-name symbol)) ,(if (memq type '(nil groups)) '(if (get symbol 'custom-group) (push (list symbol 'custom-group) found))) @@ -1832,7 +1832,7 @@ item in another window.\n\n")) (widget-put (get 'editable-field 'widget-type) :custom-show (lambda (_widget value) (let ((pp (pp-to-string value))) - (cond ((string-match "\n" pp) + (cond ((string-match-p "\n" pp) nil) ((> (length pp) 40) nil) @@ -1973,7 +1973,7 @@ GROUP-DESC is a string describing the state for groups. If this is left out, ITEM-DESC will be used. The string %c in either description will be replaced with the -category of the item. These are `group'. `option', and `face'. +category of the item. These are `group', `option', and `face'. The list should be sorted most significant first.") @@ -2039,7 +2039,7 @@ and `face'." (when (and (eq category 'group) (not (and (eq custom-buffer-style 'links) (> (widget-get parent :custom-level) 1)))) - (insert-char ?\ (* custom-buffer-indent + (insert-char ?\s (* custom-buffer-indent (widget-get parent :custom-level)))) (push (widget-create-child-and-convert widget 'choice-item @@ -2064,7 +2064,7 @@ and `face'." (when (and (eq category 'group) (not (and (eq custom-buffer-style 'links) (> (widget-get parent :custom-level) 1)))) - (insert-char ?\ (* custom-buffer-indent + (insert-char ?\s (* custom-buffer-indent (widget-get parent :custom-level)))) (when custom-magic-show-button (when custom-magic-show @@ -2293,7 +2293,7 @@ Insert PREFIX first if non-nil." (indent (widget-get widget :indent))) (when links (when indent - (insert-char ?\ indent)) + (insert-char ?\s indent)) (when prefix (insert prefix)) (insert "See also ") @@ -3227,7 +3227,7 @@ OS/2 Presentation Manager.") pm) (const :format "W32 " :sibling-args (:help-echo "\ -Windows NT/9X.") +MS Windows.") w32) (const :format "NS " :sibling-args (:help-echo "\ @@ -3348,7 +3348,7 @@ The following properties have special meanings for this widget: "Converted version of the `custom-face-all' widget.") (defun custom-filter-face-spec (spec filter-index &optional default-filter) - "Return a canonicalized version of SPEC using. + "Return a canonicalized version of SPEC. FILTER-INDEX is the index in the entry for each attribute in `custom-face-attributes' at which the appropriate filter function can be found, and DEFAULT-FILTER is the filter to apply for attributes that @@ -3473,7 +3473,7 @@ the present value is saved to its :shown-value property instead." (widget-specify-sample widget opoint (point))) (insert (cond ((eq custom-buffer-style 'face) " ") - ((string-match "face\\'" tag) ":") + ((string-match-p "face\\'" tag) ":") (t " face: "))) ;; Face sample. @@ -3947,7 +3947,7 @@ and so forth. The remaining group tags are shown with `custom-group-tag'." (defun custom-group-members (symbol groups-only) "Return SYMBOL's custom group members. -If GROUPS-ONLY non-nil, return only those members that are groups." +If GROUPS-ONLY is non-nil, return only those members that are groups." (if (not groups-only) (get symbol 'custom-group) (let (members) @@ -4058,7 +4058,7 @@ If GROUPS-ONLY non-nil, return only those members that are groups." :tag tag symbol) buttons) - (insert-char ?\ (* custom-buffer-indent (1- level))) + (insert-char ?\s (* custom-buffer-indent (1- level))) (insert "-- ") (push (widget-create-child-and-convert widget 'custom-group-visibility @@ -4098,7 +4098,7 @@ If GROUPS-ONLY non-nil, return only those members that are groups." (when (eq level 1) (if (custom-add-parent-links widget "Parent groups:") (insert "\n"))) - (insert-char ?\ (* custom-buffer-indent (1- level))) + (insert-char ?\s (* custom-buffer-indent (1- level))) ;; Create tag. (let ((start (point))) (insert tag " group: ") @@ -4137,11 +4137,11 @@ If GROUPS-ONLY non-nil, return only those members that are groups." (if nil ;;; This should test that the buffer ;;; was not made to display a group. (when (eq level 1) - (insert-char ?\ custom-buffer-indent) + (insert-char ?\s custom-buffer-indent) (custom-add-parent-links widget))) (custom-add-see-also widget (make-string (* custom-buffer-indent level) - ?\ )) + ?\s)) ;; Members. (message "Creating group...") (let* ((members (custom-sort-items @@ -4326,7 +4326,7 @@ Note that both lines are necessary: the first line tells Custom to save all customizations in this file, but does not load it. When you change this variable outside Custom, look in the -previous custom file \(usually your init file) for the +previous custom file (usually your init file) for the forms `(custom-set-variables ...)' and `(custom-set-faces ...)', and copy them (whichever ones you find) to the new custom file. This will preserve your existing customizations. @@ -4337,7 +4337,7 @@ option itself, into the file you specify, overwriting any `custom-set-variables' and `custom-set-faces' forms already present in that file. It will not delete any customizations from the old custom file. You should do that manually if that is what you -want. You also have to put something like `\(load \"CUSTOM-FILE\") +want. You also have to put something like `(load \"CUSTOM-FILE\") in your init file, where CUSTOM-FILE is the actual name of the file. Otherwise, Emacs will not load the file when it starts up, and hence will not set `custom-file' to that file either." @@ -4346,7 +4346,7 @@ and hence will not set `custom-file' to that file either." :doc "Please read entire docstring below before setting \ this through Custom. -Click on \"More\" \(or position point there and press RETURN) +Click on \"More\" (or position point there and press RETURN) if only the first line of the docstring is shown.")) :group 'customize) @@ -4553,7 +4553,7 @@ This function does not save the buffer." (if (bolp) (princ " ")) (princ ")") - (unless (looking-at "\n") + (unless (looking-at-p "\n") (princ "\n"))))) (defun custom-save-faces () @@ -4608,7 +4608,7 @@ This function does not save the buffer." (if (bolp) (princ " ")) (princ ")") - (unless (looking-at "\n") + (unless (looking-at-p "\n") (princ "\n"))))) ;;; The Customize Menu. @@ -4759,22 +4759,22 @@ If several parents are listed, go to the first of them." (message "To install your edits, invoke [State] and choose the Set operation"))) (defun custom--initialize-widget-variables () - (set (make-local-variable 'widget-documentation-face) 'custom-documentation) - (set (make-local-variable 'widget-button-face) custom-button) - (set (make-local-variable 'widget-button-pressed-face) custom-button-pressed) - (set (make-local-variable 'widget-mouse-face) custom-button-mouse) + (setq-local widget-documentation-face 'custom-documentation) + (setq-local widget-button-face custom-button) + (setq-local widget-button-pressed-face custom-button-pressed) + (setq-local widget-mouse-face custom-button-mouse) ;; We need this because of the "More" button on docstrings. ;; Otherwise clicking on "More" can push point offscreen, which ;; causes the window to recenter on point, which pushes the ;; newly-revealed docstring offscreen; which is annoying. -- cyd. - (set (make-local-variable 'widget-button-click-moves-point) t) + (setq-local widget-button-click-moves-point t) ;; When possible, use relief for buttons, not bracketing. This test ;; may not be optimal. (when custom-raised-buttons - (set (make-local-variable 'widget-push-button-prefix) "") - (set (make-local-variable 'widget-push-button-suffix) "") - (set (make-local-variable 'widget-link-prefix) "") - (set (make-local-variable 'widget-link-suffix) "")) + (setq-local widget-push-button-prefix "") + (setq-local widget-push-button-suffix "") + (setq-local widget-link-prefix "") + (setq-local widget-link-suffix "")) (setq show-trailing-whitespace nil)) (define-obsolete-variable-alias 'custom-mode-hook 'Custom-mode-hook "23.1") @@ -4802,17 +4802,17 @@ Entry to this mode calls the value of `Custom-mode-hook' if that value is non-nil." (use-local-map custom-mode-map) (easy-menu-add Custom-mode-menu) - (set (make-local-variable 'tool-bar-map) - (or custom-tool-bar-map - ;; Set up `custom-tool-bar-map'. - (let ((map (make-sparse-keymap))) - (mapc - (lambda (arg) - (tool-bar-local-item-from-menu - (nth 1 arg) (nth 4 arg) map custom-mode-map - :label (nth 5 arg))) - custom-commands) - (setq custom-tool-bar-map map)))) + (setq-local tool-bar-map + (or custom-tool-bar-map + ;; Set up `custom-tool-bar-map'. + (let ((map (make-sparse-keymap))) + (mapc + (lambda (arg) + (tool-bar-local-item-from-menu + (nth 1 arg) (nth 4 arg) map custom-mode-map + :label (nth 5 arg))) + custom-commands) + (setq custom-tool-bar-map map)))) (make-local-variable 'custom-options) (make-local-variable 'custom-local-buffer) (custom--initialize-widget-variables) diff --git a/lisp/custom.el b/lisp/custom.el index 4cf9609123a..f2d58084e9e 100644 --- a/lisp/custom.el +++ b/lisp/custom.el @@ -77,7 +77,7 @@ if any, or VALUE." "Initialize SYMBOL based on VALUE. Set the symbol, using its `:set' function (or `set-default' if it has none). The value is either the symbol's current value - \(as obtained using the `:get' function), if any, + (as obtained using the `:get' function), if any, or the value in the symbol's `saved-value' property if any, or (last of all) VALUE." (funcall (or (get symbol 'custom-set) 'set-default) @@ -319,7 +319,7 @@ If SYMBOL has a local binding, then this form affects the local binding. This is normally not what you want. Thus, if you need to load a file defining variables with this form, or with `defvar' or `defconst', you should always load that file -_outside_ any bindings for these variables. \(`defvar' and +_outside_ any bindings for these variables. (`defvar' and `defconst' behave similarly in this respect.) See Info node `(elisp) Customization' in the Emacs Lisp manual @@ -541,8 +541,8 @@ Fourth argument TYPE is the custom option type." (defun custom-add-dependencies (symbol value) "To the custom option SYMBOL, add dependencies specified by VALUE. VALUE should be a list of symbols. For each symbol in that list, -this specifies that SYMBOL should be set after the specified symbol, if -both appear in constructs like `custom-set-variables'." +this specifies that SYMBOL should be set after the specified symbol, +if both appear in constructs like `custom-set-variables'." (unless (listp value) (error "Invalid custom dependency `%s'" value)) (let* ((deps (get symbol 'custom-dependencies)) @@ -647,7 +647,7 @@ The result is that the change is treated as having been made through Custom." (found nil)) (dolist (loaded load-history) (and (stringp (car loaded)) - (string-match regexp (car loaded)) + (string-match-p regexp (car loaded)) (setq found t))) found)) ;; Without this, we would load cus-edit recursively. @@ -937,7 +937,7 @@ SYMBOL is the variable name, and EXP is an expression which evaluates to the customized value. EXP will also be stored, without evaluating it, in SYMBOL's `saved-value' property, so that it can be restored via the Customize interface. It is also -added to the alist in SYMBOL's `theme-value' property \(by +added to the alist in SYMBOL's `theme-value' property (by calling `custom-push-theme'). NOW, if present and non-nil, means to install the variable's diff --git a/lisp/desktop.el b/lisp/desktop.el index 8e66a9b81a3..2f4c2a8589c 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -371,6 +371,19 @@ modes are restored automatically; they should not be listed here." :type '(repeat symbol) :group 'desktop) +(defcustom desktop-restore-frames nil + "When non-nil, save window/frame configuration to desktop file." + :type 'boolean + :group 'desktop + :version "24.4") + +(defcustom desktop-restore-in-current-display nil + "When non-nil, frames are restored in the current display. +Otherwise they are restored, if possible, in their original displays." + :type 'boolean + :group 'desktop + :version "24.4") + (defcustom desktop-file-name-format 'absolute "Format in which desktop file names should be saved. Possible values are: @@ -556,6 +569,9 @@ DIRNAME omitted or nil means use `desktop-dirname'." "Checksum of the last auto-saved contents of the desktop file. Used to avoid writing contents unchanged between auto-saves.") +(defvar desktop--saved-states nil + "Internal use only.") + ;; ---------------------------------------------------------------------------- ;; Desktop file conflict detection (defvar desktop-file-modtime nil @@ -858,6 +874,44 @@ DIRNAME must be the directory in which the desktop file will be saved." ;; ---------------------------------------------------------------------------- +(defconst desktop--excluded-frame-parameters + '(buffer-list + buffer-predicate + buried-buffer-list + explicit-name + font + font-backend + minibuffer + name + outer-window-id + parent-id + window-id + window-system) + "Frame parameters not saved or restored.") + +(defun desktop--filter-frame-parms (frame) + "Return frame parameters of FRAME. +Parameters in `desktop--excluded-frame-parameters' are excluded. +Internal use only." + (let (params) + (dolist (param (frame-parameters frame)) + (unless (memq (car param) desktop--excluded-frame-parameters) + (push param params))) + params)) + +(defun desktop--save-frames () + "Save window/frame state, as a global variable. +Intended to be called from `desktop-save'. +Internal use only." + (setq desktop--saved-states + (and desktop-restore-frames + (mapcar (lambda (frame) + (cons (desktop--filter-frame-parms frame) + (window-state-get (frame-root-window frame) t))) + (cons (selected-frame) + (delq (selected-frame) (frame-list)))))) + (desktop-outvar 'desktop--saved-states)) + ;;;###autoload (defun desktop-save (dirname &optional release auto-save) "Save the desktop in a desktop file. @@ -896,6 +950,9 @@ and don't save the buffer if they are the same." (save-excursion (run-hooks 'desktop-save-hook)) (goto-char (point-max)) (insert "\n;; Global section:\n") + ;; Called here because we save the window/frame state as a global + ;; variable for compatibility with previous Emacsen. + (desktop--save-frames) (mapc (function desktop-outvar) desktop-globals-to-save) (when (memq 'kill-ring desktop-globals-to-save) (insert @@ -954,6 +1011,72 @@ This function also sets `desktop-dirname' to nil." (defvar desktop-lazy-timer nil) ;; ---------------------------------------------------------------------------- +(defun desktop--restore-in-this-display-p () + (or desktop-restore-in-current-display + (and (eq system-type 'windows-nt) (not (display-graphic-p))))) + +(defun desktop--find-frame-in-display (frames display) + (let (result) + (while (and frames (not result)) + (if (equal display (frame-parameter (car frames) 'display)) + (setq result (car frames)) + (setq frames (cdr frames)))) + result)) + +(defun desktop--make-full-frame (full display config) + (let ((width (and (eq full 'fullheight) (cdr (assq 'width config)))) + (height (and (eq full 'fullwidth) (cdr (assq 'height config)))) + (params '((visibility))) + frame) + (when width + (setq params (append `((user-size . t) (width . ,width)) params) + config (assq-delete-all 'height config))) + (when height + (setq params (append `((user-size . t) (height . ,height)) params) + config (assq-delete-all 'width config))) + (setq frame (make-frame-on-display display params)) + (modify-frame-parameters frame config) + frame)) + +(defun desktop--restore-frames () + "Restore window/frame configuration. +Internal use only." + (when (and desktop-restore-frames desktop--saved-states) + (let ((frames (frame-list)) + (current (frame-parameter nil 'display)) + (selected nil)) + (dolist (state desktop--saved-states) + (condition-case err + (let* ((config (car state)) + (display (if (desktop--restore-in-this-display-p) + (setcdr (assq 'display config) current) + (cdr (assq 'display config)))) + (full (cdr (assq 'fullscreen config))) + (frame (and (not full) + (desktop--find-frame-in-display frames display)))) + (cond (full + ;; treat fullscreen/maximized frames specially + (setq frame (desktop--make-full-frame full display config))) + (frame + ;; found a frame in the right display -- reuse + (setq frames (delq frame frames)) + (modify-frame-parameters frame config)) + (t + ;; no frames in the display -- make a new one + (setq frame (make-frame-on-display display config)))) + ;; restore windows + (window-state-put (cdr state) (frame-root-window frame) 'safe) + (unless selected (setq selected frame))) + (error + (message "Error restoring frame: %S" (error-message-string err))))) + (when selected + ;; make sure the original selected frame is visible and selected + (unless (or (frame-parameter selected 'visibility) (daemonp)) + (modify-frame-parameters selected '((visibility . t)))) + (select-frame-set-input-focus selected) + ;; delete any remaining frames + (mapc #'delete-frame frames))))) + ;;;###autoload (defun desktop-read (&optional dirname) "Read and process the desktop file in directory DIRNAME. @@ -1022,6 +1145,7 @@ Using it may cause conflicts. Use it anyway? " owner))))) (switch-to-buffer (car (buffer-list))) (run-hooks 'desktop-delay-hook) (setq desktop-delay-hook nil) + (desktop--restore-frames) (run-hooks 'desktop-after-read-hook) (message "Desktop: %d buffer%s restored%s%s." desktop-buffer-ok-count diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 3cf6654da2b..2a9bc167a9c 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el @@ -95,7 +95,7 @@ use \\[customize]." :group 'dired-keys) (defcustom dired-bind-man t - "Non-nil means bind `dired-man' to \"N\" in dired-mode, otherwise do not. + "Non-nil means bind `dired-man' to \"N\" in Dired, otherwise do not. Setting this variable directly after dired-x is loaded has no effect - use \\[customize]." :type 'boolean @@ -107,7 +107,7 @@ use \\[customize]." :group 'dired-keys) (defcustom dired-bind-info t - "Non-nil means bind `dired-info' to \"I\" in dired-mode, otherwise do not. + "Non-nil means bind `dired-info' to \"I\" in Dired, otherwise do not. Setting this variable directly after dired-x is loaded has no effect - use \\[customize]." :type 'boolean @@ -163,7 +163,7 @@ See Info node `(dired-x) Omitting Variables' for more information." (defcustom dired-omit-files "^\\.?#\\|^\\.$\\|^\\.\\.$" "Filenames matching this regexp will not be displayed. This only has effect when `dired-omit-mode' is t. See interactive function -`dired-omit-mode' \(\\[dired-omit-mode]\) and variable +`dired-omit-mode' (\\[dired-omit-mode]) and variable `dired-omit-extensions'. The default is to omit `.', `..', auto-save files and lock files." :type 'regexp @@ -181,7 +181,7 @@ When nil, don't show messages." If nil, Dired finds the directory as a subdirectory in some other buffer if it is present as one. -If there are several dired buffers for a directory, the most recently +If there are several Dired buffers for a directory, the most recently used is chosen. Dired avoids switching to the current buffer, so that if you have @@ -345,7 +345,7 @@ A `.' is *not* automatically prepended to the string entered." marker-char)) (defun dired-flag-extension (extension) - "In dired, flag all files with a certain EXTENSION for deletion. + "In Dired, flag all files with a certain EXTENSION for deletion. A `.' is *not* automatically prepended to the string entered." (interactive "sFlagging extension: ") (dired-mark-extension extension dired-del-marker)) @@ -406,17 +406,17 @@ See variables `dired-texinfo-unclean-extensions', ;;;###autoload (defun dired-jump (&optional other-window file-name) - "Jump to dired buffer corresponding to current buffer. -If in a file, dired the current directory and move to file's line. + "Jump to Dired buffer corresponding to current buffer. +If in a file, Dired the current directory and move to file's line. If in Dired already, pop up a level and goto old directory's line. -In case the proper dired file line cannot be found, refresh the dired +In case the proper Dired file line cannot be found, refresh the dired buffer and try again. -When OTHER-WINDOW is non-nil, jump to dired buffer in other window. +When OTHER-WINDOW is non-nil, jump to Dired buffer in other window. Interactively with prefix argument, read FILE-NAME and move to its line in dired." (interactive (list nil (and current-prefix-arg - (read-file-name "Jump to dired file: ")))) + (read-file-name "Jump to Dired file: ")))) (let* ((file (or file-name buffer-file-name)) (dir (if file (file-name-directory file) default-directory))) (if (and (eq major-mode 'dired-mode) (null file-name)) @@ -446,7 +446,7 @@ move to its line in dired." "Like \\[dired-jump] (`dired-jump') but in other window." (interactive (list (and current-prefix-arg - (read-file-name "Jump to dired file: ")))) + (read-file-name "Jump to Dired file: ")))) (dired-jump t file-name)) ;;; OMITTING. @@ -486,12 +486,12 @@ Should never be used as marker by the user or other packages.") dired-latex-unclean-extensions dired-bibtex-unclean-extensions dired-texinfo-unclean-extensions) - "If non-nil, a list of extensions \(strings\) to omit from Dired listings. + "If non-nil, a list of extensions (strings) to omit from Dired listings. Defaults to elements of `completion-ignored-extensions', `dired-latex-unclean-extensions', `dired-bibtex-unclean-extensions', and `dired-texinfo-unclean-extensions'. -See interactive function `dired-omit-mode' \(\\[dired-omit-mode]\) and +See interactive function `dired-omit-mode' (\\[dired-omit-mode]) and variables `dired-omit-mode' and `dired-omit-files'." :type '(repeat string) :group 'dired-x) @@ -583,8 +583,8 @@ filesystem will work. This is useful if you want to peruse and move around in an ls -lR output file, for example one you got from an ftp server. With -ange-ftp, you can even dired a directory containing an ls-lR file, -visit that file and turn on virtual dired mode. But don't try to save +ange-ftp, you can even Dired a directory containing an ls-lR file, +visit that file and turn on Virtual Dired mode. But don't try to save this file, as dired-virtual indents the listing and thus changes the buffer. @@ -593,7 +593,7 @@ resume it in a later session. Type \\<dired-mode-map>\\[revert-buffer] \ in the Virtual Dired buffer and answer `y' to convert -the virtual to a real dired buffer again. You don't have to do this, though: +the virtual to a real Dired buffer again. You don't have to do this, though: you can relist single subdirs using \\[dired-do-redisplay]." ;; DIRNAME is the top level directory of the buffer. It will become @@ -682,7 +682,7 @@ Useful on `magic-mode-alist' with the regexp \"^ \\\\(/[^ /]+\\\\)+/?:$\" -to put saved dired buffers automatically into Virtual Dired mode. +to put saved Dired buffers automatically into Virtual Dired mode. Also useful for `auto-mode-alist' like this: @@ -769,7 +769,7 @@ If none, return `default-directory'." ;; Dired Buffer. (defcustom dired-local-variables-file (convert-standard-filename ".dired") - "Filename, as string, containing local dired buffer variables to be hacked. + "Filename, as string, containing local Dired buffer variables to be hacked. If this file found in current directory, then it will be inserted into dired buffer and `hack-local-variables' will be run. See Info node `(emacs)File Variables' for more information on local variables. @@ -780,7 +780,7 @@ See also `dired-enable-local-variables'." (make-obsolete-variable 'dired-local-variables-file 'dir-locals-file "24.1") (defun dired-hack-local-variables () - "Evaluate local variables in `dired-local-variables-file' for dired buffer." + "Evaluate local variables in `dired-local-variables-file' for Dired buffer." (declare (obsolete hack-dir-local-variables-non-file-buffer "24.1")) (and (stringp dired-local-variables-file) (file-exists-p dired-local-variables-file) @@ -984,7 +984,7 @@ replace it with a dir-locals-file `./%s'" " " dired-guess-shell-znew-switches)) '("\\.pod\\'" "perldoc" "pod2man * | nroff -man") - '("\\.dvi\\'" "xdvi" "dvips") ; preview and printing + '("\\.dvi\\'" "xdvi" "dvips") ; preview and printing '("\\.au\\'" "play") ; play Sun audiofiles '("\\.mpe?g\\'\\|\\.avi\\'" "xine -p") '("\\.ogg\\'" "ogg123") @@ -1000,7 +1000,7 @@ replace it with a dir-locals-file `./%s'" '("\\.tif\\'" "xloadimage") '("\\.png\\'" "display") ; xloadimage 4.1 doesn't grok PNG '("\\.jpe?g\\'" "xloadimage") - '("\\.fig\\'" "xfig") ; edit fig pictures + '("\\.fig\\'" "xfig") ; edit fig pictures '("\\.out\\'" "xgraph") ; for plotting purposes. '("\\.tex\\'" "latex" "tex") '("\\.texi\\(nfo\\)?\\'" "makeinfo" "texi2dvi") @@ -1044,7 +1044,7 @@ These rules take precedence over the predefined rules in the variable Each element of this list looks like - \(REGEXP COMMAND...\) + (REGEXP COMMAND...) where each COMMAND can either be a string or a Lisp expression that evaluates to a string. If several COMMANDs are given, the first one will be the default @@ -1057,7 +1057,7 @@ REGEXP is matched case-sensitively. You can set this variable in your ~/.emacs. For example, to add rules for `.foo' and `.bar' files, write - \(setq dired-guess-shell-alist-user + (setq dired-guess-shell-alist-user '((\"\\\\.foo\\\\'\" \"FOO-COMMAND\") (\"\\\\.bar\\\\'\" (if condition @@ -1258,7 +1258,7 @@ Remaining lines go to bottom-most window. The number of files that can be displayed this way is restricted by the height of the current window and `window-min-height'. -To keep dired buffer displayed, type \\[split-window-below] first. +To keep Dired buffer displayed, type \\[split-window-below] first. To display just marked files, type \\[delete-other-windows] first." (interactive "P") (dired-simultaneous-find-file (dired-get-marked-files) noselect)) diff --git a/lisp/dired.el b/lisp/dired.el index 5b6a78759db..70fee538670 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -87,8 +87,8 @@ will fail to parse some \"unusual\" file names, e.g. those with leading spaces. You might want to install ls from GNU Coreutils, which does support this option. Alternatively, you might want to use Emacs's own emulation of \"ls\", by using: - \(setq ls-lisp-use-insert-directory-program nil) - \(require 'ls-lisp) + (setq ls-lisp-use-insert-directory-program nil) + (require 'ls-lisp) This is used by default on MS Windows, which does not have an \"ls\" program. Note that `ls-lisp' does not support as many options as GNU ls, though. For more details, see Info node `(emacs)ls in Lisp'." @@ -204,7 +204,7 @@ You can customize key bindings or load extensions with this." :type 'hook) (defcustom dired-before-readin-hook nil - "This hook is run before a dired buffer is read in (created or reverted)." + "This hook is run before a Dired buffer is read in (created or reverted)." :group 'dired :type 'hook) @@ -217,6 +217,13 @@ with the buffer narrowed to the listing." ;; Note this can't simply be run inside function `dired-ls' as the hook ;; functions probably depend on the dired-subdir-alist to be OK. +(defcustom dired-initial-point-hook nil + "This hook is used to position the point. +It is run the function `dired-initial-position'." + :group 'dired + :type 'hook + :version "24.4") + (defcustom dired-dnd-protocol-alist '(("^file:///" . dired-dnd-handle-local-file) ("^file://" . dired-dnd-handle-file) @@ -224,7 +231,7 @@ with the buffer narrowed to the listing." "The functions to call when a drop in `dired-mode' is made. See `dnd-protocol-alist' for more information. When nil, behave as in other buffers. Changing this option is effective only for -new dired buffers." +new Dired buffers." :type '(choice (repeat (cons (regexp) (function))) (const :tag "Behave as in other buffers" nil)) :version "22.1" @@ -272,18 +279,18 @@ action argument symbol is `window-height' and its value is nil." "24.3") ;;;###autoload (defvar dired-directory nil - "The directory name or wildcard spec that this dired directory lists. -Local to each dired buffer. May be a list, in which case the car is the + "The directory name or wildcard spec that this Dired directory lists. +Local to each Dired buffer. May be a list, in which case the car is the directory name and the cdr is the list of files to mention. The directory name must be absolute, but need not be fully expanded.") ;; Beware of "-l;reboot" etc. See bug#3230. (defun dired-safe-switches-p (switches) - "Return non-nil if string SWITCHES does not look risky for dired." + "Return non-nil if string SWITCHES does not look risky for Dired." (or (not switches) (and (stringp switches) (< (length switches) 100) ; arbitrary - (string-match "\\` *-[- [:alnum:]]+\\'" switches)))) + (string-match-p "\\` *-[- [:alnum:]]+\\'" switches)))) (defvar dired-actual-switches nil "The value of `dired-listing-switches' used to make this buffer's text.") @@ -323,10 +330,9 @@ Each subdirectory has an element: (DIRNAME . STARTMARKER). The order of elements is the reverse of the order in the buffer. In simple cases, this list contains one element.") -(defvar dired-switches-alist nil +(defvar-local dired-switches-alist nil "Keeps track of which switches to use for inserted subdirectories. This is an alist of the form (SUBDIR . SWITCHES).") -(make-variable-buffer-local 'dired-switches-alist) (defvaralias 'dired-move-to-filename-regexp 'directory-listing-before-filename-regexp) @@ -353,11 +359,11 @@ Subexpression 2 must end right before the \\n or \\r.") (defface dired-mark '((t (:inherit font-lock-constant-face))) - "Face used for dired marks." + "Face used for Dired marks." :group 'dired-faces :version "22.1") (defvar dired-mark-face 'dired-mark - "Face name used for dired marks.") + "Face name used for Dired marks.") (defface dired-marked '((t (:inherit warning))) @@ -556,8 +562,8 @@ For any other non-nil value of ARG, use the current file. If optional third arg SHOW-PROGRESS evaluates to non-nil, redisplay the dired buffer after each file is processed. -No guarantee is made about the position on the marked line. BODY -must ensure this itself if it depends on this. +No guarantee is made about the position on the marked line. +BODY must ensure this itself if it depends on this. Search starts at the beginning of the buffer, thus the car of the list corresponds to the line nearest to the buffer's bottom. @@ -746,7 +752,7 @@ You can flag files for deletion with \\[dired-flag-file-deletion] and then delete them by typing \\[dired-do-flagged-delete]. Type \\[describe-mode] after entering Dired for more info. -If DIRNAME is already in a dired buffer, that buffer is used without refresh." +If DIRNAME is already in a Dired buffer, that buffer is used without refresh." ;; Cannot use (interactive "D") because of wildcards. (interactive (dired-read-dir-and-switches "")) (switch-to-buffer (dired-noselect dirname switches))) @@ -767,7 +773,7 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh." ;;;###autoload (defun dired-noselect (dir-or-list &optional switches) - "Like `dired' but returns the dired buffer as value, does not select it." + "Like `dired' but returns the Dired buffer as value, does not select it." (or dir-or-list (setq dir-or-list default-directory)) ;; This loses the distinction between "/foo/*/" and "/foo/*" that ;; some shells make: @@ -805,9 +811,9 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh." (equal (nth 5 attributes) modtime))))) (defun dired-buffer-stale-p (&optional noconfirm) - "Return non-nil if current dired buffer needs updating. + "Return non-nil if current Dired buffer needs updating. If NOCONFIRM is non-nil, then this function always returns nil -for a remote directory. This feature is used by Auto Revert Mode." +for a remote directory. This feature is used by Auto Revert mode." (let ((dirname (if (consp dired-directory) (car dired-directory) dired-directory))) (and (stringp dirname) @@ -819,8 +825,8 @@ for a remote directory. This feature is used by Auto Revert Mode." (dired-directory-changed-p dirname)))) (defcustom dired-auto-revert-buffer nil - "Automatically revert dired buffer on revisiting. -If t, revisiting an existing dired buffer automatically reverts it. + "Automatically revert Dired buffer on revisiting. +If t, revisiting an existing Dired buffer automatically reverts it. If its value is a function, call this function with the directory name as single argument and revert the buffer if it returns non-nil. Otherwise, a message offering to revert the changed dired buffer @@ -829,8 +835,8 @@ Note that this is not the same as `auto-revert-mode' that periodically reverts at specified time intervals." :type '(choice (const :tag "Don't revert" nil) - (const :tag "Always revert visited dired buffer" t) - (const :tag "Revert changed dired buffer" dired-directory-changed-p) + (const :tag "Always revert visited Dired buffer" t) + (const :tag "Revert changed Dired buffer" dired-directory-changed-p) (function :tag "Predicate function")) :group 'dired :version "23.2") @@ -903,7 +909,7 @@ periodically reverts at specified time intervals." ;; Enlarged by dired-advertise ;; Queried by function dired-buffers-for-dir. When this detects a ;; killed buffer, it is removed from this list. - "Alist of expanded directories and their associated dired buffers.") + "Alist of expanded directories and their associated Dired buffers.") (defvar dired-find-subdir) @@ -951,7 +957,7 @@ periodically reverts at specified time intervals." ;; Read in a new dired buffer (defun dired-readin () - "Read in a new dired buffer. + "Read in a new Dired buffer. Differs from `dired-insert-subdir' in that it accepts wildcards, erases the buffer, and builds the subdir-alist anew \(including making it buffer-local and clearing it first)." @@ -974,9 +980,8 @@ wildcards, erases the buffer, and builds the subdir-alist anew (run-hooks 'dired-before-readin-hook) (if (consp buffer-undo-list) (setq buffer-undo-list nil)) - (make-local-variable 'file-name-coding-system) - (setq file-name-coding-system - (or coding-system-for-read file-name-coding-system)) + (setq-local file-name-coding-system + (or coding-system-for-read file-name-coding-system)) (let ((inhibit-read-only t) ;; Don't make undo entries for readin. (buffer-undo-list t)) @@ -986,7 +991,7 @@ wildcards, erases the buffer, and builds the subdir-alist anew (goto-char (point-min)) ;; Must first make alist buffer local and set it to nil because ;; dired-build-subdir-alist will call dired-clear-alist first - (set (make-local-variable 'dired-subdir-alist) nil) + (setq-local dired-subdir-alist nil) (dired-build-subdir-alist) (let ((attributes (file-attributes dirname))) (if (eq (car attributes) t) @@ -1085,7 +1090,7 @@ BEG..END is the line where the file info is located." ;; We're now just in front of a field, with a space behind us. (let* ((curcol (current-column)) ;; Nums are right-aligned. - (num-align (looking-at "[0-9]")) + (num-align (looking-at-p "[0-9]")) ;; Let's look at the other line, in the same column: we ;; should be either near the end of the previous field, or ;; in the space between that field and the next. @@ -1134,7 +1139,7 @@ BEG..END is the line where the file info is located." (defun dired-switches-escape-p (switches) "Return non-nil if the string SWITCHES contains -b or --escape." ;; Do not match things like "--block-size" that happen to contain "b". - (string-match "\\(\\`\\| \\)-[[:alnum:]]*b\\|--escape\\>" switches)) + (string-match-p "\\(\\`\\| \\)-[[:alnum:]]*b\\|--escape\\>" switches)) (defun dired-insert-directory (dir switches &optional file-list wildcard hdr) "Insert a directory listing of DIR, Dired style. @@ -1212,7 +1217,7 @@ see `dired-use-ls-dired' for more details.") ;; Otherwise, indent them. (unless (save-excursion (goto-char opoint) - (looking-at " ")) + (looking-at-p " ")) (let ((indent-tabs-mode nil)) (indent-rigidly opoint (point) 2))) ;; Insert text at the beginning to standardize things. @@ -1220,7 +1225,7 @@ see `dired-use-ls-dired' for more details.") (save-excursion (goto-char opoint) (when (and (or hdr wildcard) - (not (and (looking-at "^ \\(.*\\):$") + (not (and (looking-at-p "^ \\(.*\\):$") (file-name-absolute-p (match-string 1))))) ;; Note that dired-build-subdir-alist will replace the name ;; by its expansion, so it does not matter whether what we insert @@ -1262,7 +1267,7 @@ see `dired-use-ls-dired' for more details.") ;; Reverting a dired buffer (defun dired-revert (&optional _arg _noconfirm) - "Reread the dired buffer. + "Reread the Dired buffer. Must also be called after `dired-actual-switches' have changed. Should not fail even on completely garbaged buffers. Preserves old cursor, marks/flags, hidden-p. @@ -1313,7 +1318,7 @@ ARG and NOCONFIRM, passed from `revert-buffer', are ignored." "Return current positions in the buffer and all windows with this directory. The positions have the form (BUFFER-POSITION WINDOW-POSITIONS). -BUFFER-POSITION is the point position in the current dired buffer. +BUFFER-POSITION is the point position in the current Dired buffer. It has the form (BUFFER DIRED-FILENAME BUFFER-POINT). WINDOW-POSITIONS are current positions in all windows displaying @@ -1390,7 +1395,7 @@ Each element of ALIST looks like (FILE . MARKERCHAR)." (defun dired-insert-old-subdirs (old-subdir-alist) "Try to insert all subdirs that were displayed before. Do so according to the former subdir alist OLD-SUBDIR-ALIST." - (or (string-match "R" dired-actual-switches) + (or (string-match-p "R" dired-actual-switches) (let (elt dir) (while old-subdir-alist (setq elt (car old-subdir-alist) @@ -1629,7 +1634,7 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST." :help "Incrementally search for string in file names only.")) (define-key map [menu-bar immediate compare-directories] '(menu-item "Compare Directories..." dired-compare-directories - :help "Mark files with different attributes in two dired buffers")) + :help "Mark files with different attributes in two Dired buffers")) (define-key map [menu-bar immediate backup-diff] '(menu-item "Compare with Backup" dired-backup-diff :help "Diff file at cursor with its latest backup")) @@ -1653,7 +1658,7 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST." :help "Create a directory")) (define-key map [menu-bar immediate wdired-mode] '(menu-item "Edit File Names" wdired-change-to-wdired-mode - :help "Put a dired buffer in a mode in which filenames are editable" + :help "Put a Dired buffer in a mode in which filenames are editable" :keys "C-x C-q" :filter (lambda (x) (if (eq major-mode 'dired-mode) x)))) @@ -1860,7 +1865,7 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST." :help "Copy current file or all marked files")) map) - "Local keymap for `dired-mode' buffers.") + "Local keymap for Dired mode buffers.") ;; Dired mode is suitable only for specially formatted data. (put 'dired-mode 'mode-class 'special) @@ -1871,7 +1876,7 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST." "\ Mode for \"editing\" directory listings. In Dired, you are \"editing\" a list of the files in a directory and - \(optionally) its subdirectories, in the format of `ls -lR'. + (optionally) its subdirectories, in the format of `ls -lR'. Each directory is a page: use \\[backward-page] and \\[forward-page] to move pagewise. \"Editing\" means that you can run shell commands on files, visit, compress, load or byte-compile them, change their file attributes @@ -1893,7 +1898,7 @@ Type \\[dired-unmark-backward] to back up one line and unmark or unflag. Type \\[dired-do-flagged-delete] to delete (eXecute) the files flagged `D'. Type \\[dired-find-file] to Find the current line's file (or dired it in another buffer, if it is a directory). -Type \\[dired-find-file-other-window] to find file or dired directory in Other window. +Type \\[dired-find-file-other-window] to find file or Dired directory in Other window. Type \\[dired-maybe-insert-subdir] to Insert a subdirectory in this buffer. Type \\[dired-do-rename] to Rename a file or move the marked files to another directory. Type \\[dired-do-copy] to Copy files. @@ -1945,31 +1950,25 @@ Keybindings: ;; Ignore dired-hide-details-* value of invisible text property by default. (when (eq buffer-invisibility-spec t) (setq buffer-invisibility-spec (list t))) - (set (make-local-variable 'revert-buffer-function) - (function dired-revert)) - (set (make-local-variable 'buffer-stale-function) - (function dired-buffer-stale-p)) - (set (make-local-variable 'page-delimiter) - "\n\n") - (set (make-local-variable 'dired-directory) - (or dirname default-directory)) + (setq-local revert-buffer-function (function dired-revert)) + (setq-local buffer-stale-function (function dired-buffer-stale-p)) + (setq-local page-delimiter "\n\n") + (setq-local dired-directory (or dirname default-directory)) ;; list-buffers uses this to display the dir being edited in this buffer. (setq list-buffers-directory (expand-file-name (if (listp dired-directory) (car dired-directory) dired-directory))) - (set (make-local-variable 'dired-actual-switches) - (or switches dired-listing-switches)) - (set (make-local-variable 'font-lock-defaults) - '(dired-font-lock-keywords t nil nil beginning-of-line)) - (set (make-local-variable 'desktop-save-buffer) - 'dired-desktop-buffer-misc-data) + (setq-local dired-actual-switches (or switches dired-listing-switches)) + (setq-local font-lock-defaults + '(dired-font-lock-keywords t nil nil beginning-of-line)) + (setq-local desktop-save-buffer 'dired-desktop-buffer-misc-data) (setq dired-switches-alist nil) (hack-dir-local-variables-non-file-buffer) ; before sorting (dired-sort-other dired-actual-switches t) (when (featurep 'dnd) - (set (make-local-variable 'dnd-protocol-alist) - (append dired-dnd-protocol-alist dnd-protocol-alist))) + (setq-local dnd-protocol-alist + (append dired-dnd-protocol-alist dnd-protocol-alist))) (add-hook 'file-name-at-point-functions 'dired-file-name-at-point nil t) (add-hook 'isearch-mode-hook 'dired-isearch-filenames-setup nil t) (run-mode-hooks 'dired-mode-hook)) @@ -1977,7 +1976,7 @@ Keybindings: ;; Idiosyncratic dired commands that don't deal with marks. (defun dired-summary () - "Summarize basic Dired commands and show recent dired errors." + "Summarize basic Dired commands and show recent Dired errors." (interactive) (dired-why) ;>> this should check the key-bindings and use substitute-command-keys if non-standard @@ -1985,14 +1984,14 @@ Keybindings: "d-elete, u-ndelete, x-punge, f-ind, o-ther window, R-ename, C-opy, h-elp")) (defun dired-undo () - "Undo in a dired buffer. + "Undo in a Dired buffer. This doesn't recover lost files, it just undoes changes in the buffer itself. You can use it to recover marks, killed lines or subdirs." (interactive) (let ((inhibit-read-only t)) (undo)) (dired-build-subdir-alist) - (message "Change in dired buffer undone. + (message "Change in Dired buffer undone. Actual changes in files cannot be undone by Emacs.")) (defun dired-toggle-read-only () @@ -2025,7 +2024,7 @@ Optional prefix ARG says how many lines to move; default is one line." (dired-next-line (- (or arg 1)))) (defun dired-next-dirline (arg &optional opoint) - "Goto ARG'th next directory file line." + "Goto ARGth next directory file line." (interactive "p") (or opoint (setq opoint (point))) (if (if (> arg 0) @@ -2037,7 +2036,7 @@ Optional prefix ARG says how many lines to move; default is one line." (error "No more subdirectories"))) (defun dired-prev-dirline (arg) - "Goto ARG'th previous directory file line." + "Goto ARGth previous directory file line." (interactive "p") (dired-next-dirline (- arg))) @@ -2071,7 +2070,7 @@ Creates a buffer if necessary." file-name (if (file-symlink-p file-name) (error "File is a symlink to a nonexistent target") - (error "File no longer exists; type `g' to update dired buffer"))))) + (error "File no longer exists; type `g' to update Dired buffer"))))) ;; Force C-m keybinding rather than `f' or `e' in the mode doc: (define-obsolete-function-alias 'dired-advertised-find-file 'dired-find-file "23.2") @@ -2084,7 +2083,7 @@ Creates a buffer if necessary." (find-file (dired-get-file-for-visit)))) (defun dired-find-alternate-file () - "In Dired, visit this file or directory instead of the dired buffer." + "In Dired, visit this file or directory instead of the Dired buffer." (interactive) (set-buffer-modified-p nil) (find-alternate-file (dired-get-file-for-visit))) @@ -2269,7 +2268,7 @@ unchanged." ;;; Minor mode for hiding details ;;;###autoload (define-minor-mode dired-hide-details-mode - "Hide details in `dired-mode'." + "Hide details in Dired mode." :group 'dired (unless (derived-mode-p 'dired-mode) (error "Not a Dired buffer")) @@ -2341,7 +2340,7 @@ Return the position of the beginning of the filename, or nil if none found." (goto-char (next-single-property-change (point) 'dired-filename)) (let (opoint file-type executable symlink hidden case-fold-search used-F eol) ;; case-fold-search is nil now, so we can test for capital F: - (setq used-F (string-match "F" dired-actual-switches) + (setq used-F (string-match-p "F" dired-actual-switches) opoint (point) eol (line-end-position) hidden (and selective-display @@ -2401,7 +2400,7 @@ Return the position of the beginning of the filename, or nil if none found." "Copy names of marked (or next ARG) files into the kill ring. The names are separated by a space. With a zero prefix arg, use the absolute file name of each marked file. -With \\[universal-argument], use the file name relative to the dired buffer's +With \\[universal-argument], use the file name relative to the Dired buffer's `default-directory'. (This still may contain slashes if in a subdirectory.) If on a subdir headerline, use absolute subdirname instead; @@ -2452,9 +2451,9 @@ You can then feed the file name(s) to other commands with \\[yank]." (if (stringp dired-directory) (let ((wildcards (file-name-nondirectory dired-directory))) - (or (= 0 (length wildcards)) - (string-match (dired-glob-regexp wildcards) - file))) + (or (zerop (length wildcards)) + (string-match-p (dired-glob-regexp wildcards) + file))) (member (expand-file-name file dir) (cdr dired-directory)))) (setq result (cons buf result))))))) @@ -2481,7 +2480,7 @@ You can then feed the file name(s) to other commands with \\[yank]." (if (= (aref pattern (1+ set-start)) ?^) (+ 3 set-start) (+ 2 set-start))) - (set-end (string-match "]" pattern set-cont)) + (set-end (string-match-p "]" pattern set-cont)) (set (substring pattern set-start (1+ set-end)))) (setq regexp (concat regexp set)) (setq matched-in-pattern (1+ set-end)))) @@ -2521,7 +2520,7 @@ You can then feed the file name(s) to other commands with \\[yank]." (defun dired-in-this-tree (file dir) ;;"Is FILE part of the directory tree starting at DIR?" (let (case-fold-search) - (string-match (concat "^" (regexp-quote dir)) file))) + (string-match-p (concat "^" (regexp-quote dir)) file))) (defun dired-normalize-subdir (dir) ;; Prepend default-directory to DIR if relative file name. @@ -2603,7 +2602,7 @@ instead of `dired-actual-switches'." (R-ftp-base-dir-regex ;; Used to expand subdirectory names correctly in recursive ;; ange-ftp listings. - (and (string-match "R" switches) + (and (string-match-p "R" switches) (string-match "\\`/.*:\\(/.*\\)" default-directory) (concat "\\`" (match-string 1 default-directory))))) (goto-char (point-min)) @@ -2615,7 +2614,7 @@ instead of `dired-actual-switches'." (goto-char (match-beginning 0)) (beginning-of-line) (forward-char 2) - (save-match-data (looking-at dired-re-perms))) + (looking-at-p dired-re-perms)) (save-excursion (goto-char (match-beginning 1)) (setq new-dir-name @@ -2673,9 +2672,9 @@ instead of `dired-actual-switches'." (dired-goto-next-file);; so there is a file to compare with (if (stringp dired-trivial-filenames) (while (and (not (eobp)) - (string-match dired-trivial-filenames - (file-name-nondirectory - (or (dired-get-filename nil t) "")))) + (string-match-p dired-trivial-filenames + (file-name-nondirectory + (or (dired-get-filename nil t) "")))) (forward-line 1) (dired-move-to-filename)))) @@ -2685,7 +2684,7 @@ instead of `dired-actual-switches'." (forward-line 1)))) (defun dired-goto-file (file) - "Go to line describing file FILE in this dired buffer." + "Go to line describing file FILE in this Dired buffer." ;; Return value of point on success, else nil. ;; FILE must be an absolute file name. ;; Loses if FILE contains control chars like "\007" for which ls @@ -2734,7 +2733,7 @@ as returned by `dired-get-filename'. LIMIT is the search limit." (setq str (replace-regexp-in-string "\^m" "\\^m" file nil t)) (setq str (replace-regexp-in-string "\\\\" "\\\\" str nil t)) (and (dired-switches-escape-p dired-actual-switches) - (string-match "[ \t\n]" str) + (string-match-p "[ \t\n]" str) ;; FIXME: to fix this for embedded control characters etc, we ;; should escape everything that `ls -b' does. (setq str (replace-regexp-in-string " " "\\ " str nil t) @@ -2758,11 +2757,13 @@ as returned by `dired-get-filename'. LIMIT is the search limit." ;; FIXME document whatever dired-x is doing. (defun dired-initial-position (dirname) "Where point should go in a new listing of DIRNAME. -Point assumed at beginning of new subdir line." +Point assumed at beginning of new subdir line. +It runs the hook `dired-initial-position-hook'." (end-of-line) (and (featurep 'dired-x) dired-find-subdir (dired-goto-subdir dirname)) - (if dired-trivial-filenames (dired-goto-next-nontrivial-file))) + (if dired-trivial-filenames (dired-goto-next-nontrivial-file)) + (run-hooks 'dired-initial-point-hook)) ;; These are hooks which make tree dired work. ;; They are in this file because other parts of dired need to call them. @@ -2980,7 +2981,7 @@ also offers to kill buffers visiting deleted files and directories." (kill-buffer buf))) (let ((buf-list (dired-buffers-for-dir (expand-file-name fn)))) (and buf-list - (y-or-n-p (format "Kill dired buffer%s of %s, too? " + (y-or-n-p (format "Kill Dired buffer%s of %s, too? " (dired-plural-s (length buf-list)) (file-name-nondirectory fn))) (dolist (buf buf-list) @@ -3069,7 +3070,7 @@ FILES is the list of marked files. It can also be (t FILENAME) in the case of one marked file, to distinguish that from using just the current file. -FUNCTION should not manipulate files, just read input \(an +FUNCTION should not manipulate files, just read input (an argument or confirmation)." (if (or (eq dired-no-confirm t) (memq op-symbol dired-no-confirm) @@ -3174,7 +3175,7 @@ argument or confirmation)." ;; Skip subdir line and following garbage like the `total' line: (while (and (< (point) end) (dired-between-files)) (forward-line 1)) - (if (and (not (looking-at dired-re-dot)) + (if (and (not (looking-at-p dired-re-dot)) (dired-get-filename nil t)) (progn (delete-char 1) @@ -3255,7 +3256,7 @@ As always, hidden subdirs are not affected." (let ((inhibit-read-only t)) (while (not (eobp)) (or (dired-between-files) - (looking-at dired-re-dot) + (looking-at-p dired-re-dot) ;; use subst instead of insdel because it does not move ;; the gap and thus should be faster and because ;; other characters are left alone automatically @@ -3287,10 +3288,10 @@ object files--just `.o' will mark more than you might think." (if current-prefix-arg ?\040))) (let ((dired-marker-char (or marker-char dired-marker-char))) (dired-mark-if - (and (not (looking-at dired-re-dot)) + (and (not (looking-at-p dired-re-dot)) (not (eolp)) ; empty line (let ((fn (dired-get-filename t t))) - (and fn (string-match regexp fn)))) + (and fn (string-match-p regexp fn)))) "matching file"))) (defun dired-mark-files-containing-regexp (regexp &optional marker-char) @@ -3303,7 +3304,7 @@ A prefix argument means to unmark them instead. (if current-prefix-arg ?\040))) (let ((dired-marker-char (or marker-char dired-marker-char))) (dired-mark-if - (and (not (looking-at dired-re-dot)) + (and (not (looking-at-p dired-re-dot)) (not (eolp)) ; empty line (let ((fn (dired-get-filename nil t))) (when (and fn (file-readable-p fn) @@ -3337,15 +3338,15 @@ The match is against the non-directory part of the filename. Use `^' With prefix argument, unmark or unflag all those files." (interactive "P") (let ((dired-marker-char (if unflag-p ?\040 dired-marker-char))) - (dired-mark-if (looking-at dired-re-sym) "symbolic link"))) + (dired-mark-if (looking-at-p dired-re-sym) "symbolic link"))) (defun dired-mark-directories (unflag-p) "Mark all directory file lines except `.' and `..'. With prefix argument, unmark or unflag all those files." (interactive "P") (let ((dired-marker-char (if unflag-p ?\040 dired-marker-char))) - (dired-mark-if (and (looking-at dired-re-dir) - (not (looking-at dired-re-dot))) + (dired-mark-if (and (looking-at-p dired-re-dir) + (not (looking-at-p dired-re-dot))) "directory file"))) (defun dired-mark-executables (unflag-p) @@ -3353,7 +3354,7 @@ With prefix argument, unmark or unflag all those files." With prefix argument, unmark or unflag all those files." (interactive "P") (let ((dired-marker-char (if unflag-p ?\040 dired-marker-char))) - (dired-mark-if (looking-at dired-re-exe) "executable file"))) + (dired-mark-if (looking-at-p dired-re-exe) "executable file"))) ;; dired-x.el has a dired-mark-sexp interactive command: mark ;; files for which PREDICATE returns non-nil. @@ -3377,7 +3378,7 @@ A prefix argument says to unmark or unflag those files instead." (progn (forward-char -1) (eq (preceding-char) ?#))))) - (not (looking-at dired-re-dir)) + (not (looking-at-p dired-re-dir)) (let ((fn (dired-get-filename t t))) (if fn (auto-save-file-name-p (file-name-nondirectory fn))))) @@ -3415,7 +3416,7 @@ With prefix argument, unmark or unflag these files." (if (eq (preceding-char) ?*) (forward-char -1)) (eq (preceding-char) ?~)) - (not (looking-at dired-re-dir)) + (not (looking-at-p dired-re-dir)) (let ((fn (dired-get-filename t t))) (if fn (backup-file-name-p fn)))) "backup file"))) @@ -3444,7 +3445,7 @@ OLD and NEW are both characters used to mark files." (match-end 0) old new))))))) (defun dired-unmark-all-marks () - "Remove all marks from all files in the dired buffer." + "Remove all marks from all files in the Dired buffer." (interactive) (dired-unmark-all-files ?\r)) @@ -3551,12 +3552,12 @@ or nil if file names are not applicable." ;; So anything that does not contain these is sort "by name". (defvar dired-ls-sorting-switches "SXU" - "String of `ls' switches \(single letters\) except \"t\" that influence sorting. + "String of `ls' switches (single letters) except \"t\" that influence sorting. This indicates to Dired which option switches to watch out for because they will change the sorting order behavior of `ls'. -To change the default sorting order \(e.g. add a `-v' option\), see the +To change the default sorting order (e.g. add a `-v' option), see the variable `dired-listing-switches'. To temporarily override the listing format, use `\\[universal-argument] \\[dired]'.") @@ -3575,7 +3576,7 @@ format, use `\\[universal-argument] \\[dired]'.") (defvar dired-sort-inhibit nil "Non-nil means the Dired sort command is disabled. -The idea is to set this buffer-locally in special dired buffers.") +The idea is to set this buffer-locally in special Dired buffers.") (defun dired-sort-set-mode-line () ;; Set mode line display according to dired-actual-switches. @@ -3585,10 +3586,10 @@ The idea is to set this buffer-locally in special dired buffers.") (when (eq major-mode 'dired-mode) (setq mode-name (let (case-fold-search) - (cond ((string-match + (cond ((string-match-p dired-sort-by-name-regexp dired-actual-switches) "Dired by name") - ((string-match + ((string-match-p dired-sort-by-date-regexp dired-actual-switches) "Dired by date") (t @@ -3603,7 +3604,7 @@ The idea is to set this buffer-locally in special dired buffers.") With a prefix argument, edit the current listing switches instead." (interactive "P") (when dired-sort-inhibit - (error "Cannot sort this dired buffer")) + (error "Cannot sort this Dired buffer")) (if arg (dired-sort-other (read-string "ls switches (must contain -l): " dired-actual-switches)) @@ -3611,8 +3612,8 @@ With a prefix argument, edit the current listing switches instead." (defun dired-sort-toggle () ;; Toggle between sort by date/name. Reverts the buffer. - (let ((sorting-by-date (string-match dired-sort-by-date-regexp - dired-actual-switches)) + (let ((sorting-by-date (string-match-p dired-sort-by-date-regexp + dired-actual-switches)) ;; Regexp for finding (possibly embedded) -t switches. (switch-regexp "\\(\\`\\| \\)-\\([a-su-zA-Z]*\\)\\(t\\)\\([^ ]*\\)") case-fold-search) @@ -3653,7 +3654,7 @@ With a prefix argument, edit the current listing switches instead." (concat result (substring string start)))) (defun dired-sort-other (switches &optional no-revert) - "Specify new `ls' SWITCHES for current dired buffer. + "Specify new `ls' SWITCHES for current Dired buffer. Values matching `dired-sort-by-date-regexp' or `dired-sort-by-name-regexp' set the minor mode accordingly, others appear literally in the mode line. With optional second arg NO-REVERT, don't refresh the listing afterwards." @@ -3662,9 +3663,8 @@ With optional second arg NO-REVERT, don't refresh the listing afterwards." (dired-sort-set-mode-line) (or no-revert (revert-buffer))) -(defvar dired-subdir-alist-pre-R nil +(defvar-local dired-subdir-alist-pre-R nil "Value of `dired-subdir-alist' before -R switch added.") -(make-variable-buffer-local 'dired-subdir-alist-pre-R) (defun dired-sort-R-check (switches) "Additional processing of -R in ls option string SWITCHES. @@ -3672,12 +3672,12 @@ Saves `dired-subdir-alist' when R is set and restores saved value minus any directories explicitly deleted when R is cleared. To be called first in body of `dired-sort-other', etc." (cond - ((and (string-match "R" switches) - (not (string-match "R" dired-actual-switches))) + ((and (string-match-p "R" switches) + (not (string-match-p "R" dired-actual-switches))) ;; Adding -R to ls switches -- save `dired-subdir-alist': (setq dired-subdir-alist-pre-R dired-subdir-alist)) - ((and (string-match "R" dired-actual-switches) - (not (string-match "R" switches))) + ((and (string-match-p "R" dired-actual-switches) + (not (string-match-p "R" switches))) ;; Deleting -R from ls switches -- revert to pre-R subdirs ;; that are still present: (setq dired-subdir-alist @@ -3745,7 +3745,7 @@ Any other value means to ask for each directory." (defvar dired-overwrite-confirmed) ;Defined in dired-aux. (defun dired-dnd-handle-local-file (uri action) - "Copy, move or link a file to the dired directory. + "Copy, move or link a file to the Dired directory. URI is the file to handle, ACTION is one of copy, move, link or ask. Ask means pop up a menu for the user to select one of copy, move or link." (require 'dired-aux) @@ -3792,7 +3792,7 @@ Ask means pop up a menu for the user to select one of copy, move or link." action)))))) (defun dired-dnd-handle-file (uri action) - "Copy, move or link a file to the dired directory if it is a local file. + "Copy, move or link a file to the Dired directory if it is a local file. URI is the file to handle. If the hostname in the URI isn't local, do nothing. ACTION is one of copy, move, link or ask. Ask means pop up a menu for the user to select one of copy, move or link." @@ -3826,7 +3826,7 @@ Ask means pop up a menu for the user to select one of copy, move or link." (defun dired-restore-desktop-buffer (_file-name _buffer-name misc-data) - "Restore a dired buffer specified in a desktop file." + "Restore a Dired buffer specified in a desktop file." ;; First element of `misc-data' is the value of `dired-directory'. ;; This value is a directory name, optionally with shell wildcard or ;; a directory name followed by list of files. @@ -4367,17 +4367,16 @@ instead. ;;;*** -;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump) -;;;;;; "dired-x" "dired-x.el" "90ba5245f6f5df3bdbda6303c725ef45") +;;;### (autoloads nil "dired-x" "dired-x.el" "4b863621846609105c0371f8ffb8c1cf") ;;; Generated autoloads from dired-x.el (autoload 'dired-jump "dired-x" "\ -Jump to dired buffer corresponding to current buffer. -If in a file, dired the current directory and move to file's line. +Jump to Dired buffer corresponding to current buffer. +If in a file, Dired the current directory and move to file's line. If in Dired already, pop up a level and goto old directory's line. -In case the proper dired file line cannot be found, refresh the dired +In case the proper Dired file line cannot be found, refresh the dired buffer and try again. -When OTHER-WINDOW is non-nil, jump to dired buffer in other window. +When OTHER-WINDOW is non-nil, jump to Dired buffer in other window. Interactively with prefix argument, read FILE-NAME and move to its line in dired. diff --git a/lisp/dos-w32.el b/lisp/dos-w32.el index d6788ffe028..ff4a3ad66f0 100644 --- a/lisp/dos-w32.el +++ b/lisp/dos-w32.el @@ -86,7 +86,7 @@ and whether the file exists: If the file does not exist default value of `buffer-file-coding-system' Note that the CAR of arguments to `insert-file-contents' operation could -be a cons cell of the form \(FILENAME . BUFFER\), where BUFFER is a buffer +be a cons cell of the form (FILENAME . BUFFER), where BUFFER is a buffer into which the file's contents were already read, but not yet decoded. If operation is `write-region', the coding system is chosen based @@ -203,8 +203,8 @@ dealing with untranslated filesystems." ;; with bare drive letters (which would have the cwd appended). ;; Avoid expanding names that could trigger ange-ftp to prompt ;; for passwords, though. - (if (or (string-match "^.:$" name) - (string-match "^/[^/:]+:" name)) + (if (or (string-match-p "^.:$" name) + (string-match-p "^/[^/:]+:" name)) name (expand-file-name name))) filename)) @@ -216,7 +216,7 @@ CR/LF translation, and nil otherwise." (ufs-list untranslated-filesystem-list) (found nil)) (while (and (not found) ufs-list) - (if (string-match (concat "^" (car ufs-list)) fs) + (if (string-match-p (concat "^" (car ufs-list)) fs) (setq found t) (setq ufs-list (cdr ufs-list)))) found)) @@ -288,19 +288,19 @@ filesystem mounted on drive Z:, FILESYSTEM could be \"Z:\"." ;; asking command.com to copy the file. ;; No action is needed for UNC printer names, which is just as well ;; because `expand-file-name' doesn't support UNC names on MS-DOS. - (if (and (stringp printer) (not (string-match "^\\\\" printer))) + (if (and (stringp printer) (not (string-match-p "^\\\\" printer))) (setq printer (subst-char-in-string ?/ ?\\ (expand-file-name printer safe-dir)))) ;; Handle known programs specially where necessary. (unwind-protect (cond ;; nprint.exe is the standard print command on Netware - ((string-match "^nprint\\(\\.exe\\)?$" (file-name-nondirectory lpr-prog)) + ((string-match-p "^nprint\\(\\.exe\\)?$" (file-name-nondirectory lpr-prog)) (write-region start end tempfile nil 0) (call-process lpr-prog nil errbuf nil tempfile (concat "P=" printer))) ;; print.exe is a standard command on NT - ((string-match "^print\\(\\.exe\\)?$" (file-name-nondirectory lpr-prog)) + ((string-match-p "^print\\(\\.exe\\)?$" (file-name-nondirectory lpr-prog)) ;; Be careful not to invoke print.exe on MS-DOS or Windows 9x ;; though, because it is a TSR program there (hangs Emacs). (or (and (eq system-type 'windows-nt) @@ -355,7 +355,7 @@ filesystem mounted on drive Z:, FILESYSTEM could be \"Z:\"." &rest rest) "DOS/Windows-specific function to print the region on a printer. Writes the region to the device or file which is a value of -`printer-name' \(which see\), unless the value of `lpr-command' +`printer-name' (which see), unless the value of `lpr-command' indicates a specific program should be invoked." ;; DOS printers need the lines to end with CR-LF pairs, so make @@ -405,7 +405,7 @@ indicates a specific program should be invoked." &rest rest) "DOS/Windows-specific function to print the region on a PostScript printer. Writes the region to the device or file which is a value of -`ps-printer-name' \(which see\), unless the value of `ps-lpr-command' +`ps-printer-name' (which see), unless the value of `ps-lpr-command' indicates a specific program should be invoked." (let ((printer (or (and (boundp 'dos-ps-printer) diff --git a/lisp/electric.el b/lisp/electric.el index 86997d4aac7..351468fd75d 100644 --- a/lisp/electric.el +++ b/lisp/electric.el @@ -319,51 +319,63 @@ closer." ;; I find it more often preferable not to pair when the ;; same char is next. (eq char (char-after)) - (eq char (char-before (1- (point)))) + ;; Don't pair up when we insert the second of "" or of ((. + (and (eq char (char-before)) + (eq char (char-before (1- (point))))) ;; I also find it often preferable not to pair next to a word. (eq (char-syntax (following-char)) ?w))) (defun electric-pair-syntax (command-event) - (and electric-pair-mode - (let ((x (assq command-event electric-pair-pairs))) - (cond - (x (if (eq (car x) (cdr x)) ?\" ?\()) - ((rassq command-event electric-pair-pairs) ?\)) - (t (char-syntax command-event)))))) + (let ((x (assq command-event electric-pair-pairs))) + (cond + (x (if (eq (car x) (cdr x)) ?\" ?\()) + ((rassq command-event electric-pair-pairs) ?\)) + ((nth 8 (syntax-ppss)) + (with-syntax-table text-mode-syntax-table (char-syntax command-event))) + (t (char-syntax command-event))))) + +(defun electric-pair--insert (char) + (let ((last-command-event char) + (blink-matching-paren nil) + (electric-pair-mode nil)) + (self-insert-command 1))) (defun electric-pair-post-self-insert-function () - (let* ((syntax (and (eq (char-before) last-command-event) ; Sanity check. - (electric-pair-syntax last-command-event))) - ;; FIXME: when inserting the closer, we should maybe use - ;; self-insert-command, although it may prove tricky running - ;; post-self-insert-hook recursively, and we wouldn't want to trigger - ;; blink-matching-open. + (let* ((pos (and electric-pair-mode (electric--after-char-pos))) + (syntax (and pos (electric-pair-syntax last-command-event))) (closer (if (eq syntax ?\() (cdr (or (assq last-command-event electric-pair-pairs) (aref (syntax-table) last-command-event))) last-command-event))) (cond + ((null pos) nil) ;; Wrap a pair around the active region. ((and (memq syntax '(?\( ?\" ?\$)) (use-region-p)) - (if (> (mark) (point)) - (goto-char (mark)) + ;; FIXME: To do this right, we'd need a post-self-insert-function + ;; so we could add-function around it and insert the closer after + ;; all the rest of the hook has run. + (if (>= (mark) (point)) + (goto-char (mark)) ;; We already inserted the open-paren but at the end of the ;; region, so we have to remove it and start over. - (delete-char -1) + (delete-region (1- pos) (point)) (save-excursion (goto-char (mark)) - ;; Do not insert after `save-excursion' marker (Bug#11520). - (insert-before-markers last-command-event))) + (electric-pair--insert last-command-event))) + ;; Since we're right after the closer now, we could tell the rest of + ;; post-self-insert-hook that we inserted `closer', but then we'd get + ;; blink-paren to kick in, which is annoying. + ;;(setq last-command-event closer) (insert closer)) ;; Backslash-escaped: no pairing, no skipping. ((save-excursion - (goto-char (1- (point))) + (goto-char (1- pos)) (not (zerop (% (skip-syntax-backward "\\") 2)))) nil) ;; Skip self. ((and (memq syntax '(?\) ?\" ?\$)) electric-pair-skip-self - (eq (char-after) last-command-event)) + (eq (char-after pos) last-command-event)) ;; This is too late: rather than insert&delete we'd want to only skip (or ;; insert in overwrite mode). The difference is in what goes in the ;; undo-log and in the intermediate state which might be visible to other @@ -373,7 +385,7 @@ closer." ((not (or (not (memq syntax `(?\( ?\" ?\$))) overwrite-mode (funcall electric-pair-inhibit-predicate last-command-event))) - (save-excursion (insert closer)))))) + (save-excursion (electric-pair--insert closer)))))) (defun electric-pair-will-use-region () (and (use-region-p) diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index dbb4a239f02..22713c6589c 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -31,6 +31,7 @@ ;;; Code: (require 'lisp-mode) ;for `doc-string-elt' properties. +(require 'lisp-mnt) (require 'help-fns) ;for help-add-fundoc-usage. (eval-when-compile (require 'cl-lib)) @@ -435,6 +436,64 @@ Return non-nil in the case where no autoloads were added at point." (defvar print-readably) +(defun autoload--insert-text (output-start otherbuf outbuf absfile + load-name printfun) + ;; If not done yet, figure out where to insert this text. + (unless (marker-buffer output-start) + (let ((outbuf + (or (if otherbuf + ;; A file-local setting of + ;; autoload-generated-file says we + ;; should ignore OUTBUF. + nil + outbuf) + (autoload-find-destination absfile load-name) + ;; The file has autoload cookies, but they're + ;; already up-to-date. If OUTFILE is nil, the + ;; entries are in the expected OUTBUF, + ;; otherwise they're elsewhere. + (throw 'done otherbuf)))) + (with-current-buffer outbuf + (move-marker output-start (point) outbuf)))) + (let ((standard-output (marker-buffer output-start))) + (funcall printfun))) + +(defun autoload--insert-cookie-text (output-start otherbuf outbuf absfile + load-name file) + (autoload--insert-text + output-start otherbuf outbuf absfile load-name + (lambda () + (search-forward generate-autoload-cookie) + (skip-chars-forward " \t") + (if (eolp) + (condition-case-unless-debug err + ;; Read the next form and make an autoload. + (let* ((form (prog1 (read (current-buffer)) + (or (bolp) (forward-line 1)))) + (autoload (make-autoload form load-name))) + (if autoload + nil + (setq autoload form)) + (let ((autoload-print-form-outbuf + standard-output)) + (autoload-print-form autoload))) + (error + (message "Autoload cookie error in %s:%s %S" + file (count-lines (point-min) (point)) err))) + + ;; Copy the rest of the line to the output. + (princ (buffer-substring + (progn + ;; Back up over whitespace, to preserve it. + (skip-chars-backward " \f\t") + (if (= (char-after (1+ (point))) ? ) + ;; Eat one space. + (forward-char 1)) + (point)) + (progn (forward-line 1) (point)))))))) + +(defvar autoload-builtin-package-versions nil) + ;; When called from `generate-file-autoloads' we should ignore ;; `generated-autoload-file' altogether. When called from ;; `update-file-autoloads' we don't know `outbuf'. And when called from @@ -456,8 +515,7 @@ different from OUTFILE, then OUTBUF is ignored. Return non-nil if and only if FILE adds no autoloads to OUTFILE \(or OUTBUF if OUTFILE is nil)." (catch 'done - (let ((autoloads-done '()) - load-name + (let (load-name (print-length nil) (print-level nil) (print-readably t) ; This does something in Lucid Emacs. @@ -466,7 +524,7 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE (otherbuf nil) (absfile (expand-file-name file)) ;; nil until we found a cookie. - output-start ostart) + output-start) (with-current-buffer (or visited ;; It is faster to avoid visiting the file. (autoload-find-file file)) @@ -487,58 +545,31 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE (save-excursion (save-restriction (widen) + (when autoload-builtin-package-versions + (let ((version (lm-header "version")) + package) + (and version + (setq version (ignore-errors (version-to-list version))) + (setq package (or (lm-header "package") + (file-name-sans-extension + (file-name-nondirectory file)))) + (setq output-start (make-marker)) + (autoload--insert-text + output-start otherbuf outbuf absfile load-name + (lambda () + (princ `(push (purecopy + ',(cons (intern package) version)) + package--builtin-versions)) + (newline)))))) + (goto-char (point-min)) (while (not (eobp)) (skip-chars-forward " \t\n\f") (cond ((looking-at (regexp-quote generate-autoload-cookie)) - ;; If not done yet, figure out where to insert this text. - (unless output-start - (let ((outbuf - (or (if otherbuf - ;; A file-local setting of - ;; autoload-generated-file says we - ;; should ignore OUTBUF. - nil - outbuf) - (autoload-find-destination absfile load-name) - ;; The file has autoload cookies, but they're - ;; already up-to-date. If OUTFILE is nil, the - ;; entries are in the expected OUTBUF, - ;; otherwise they're elsewhere. - (throw 'done otherbuf)))) - (with-current-buffer outbuf - (setq output-start (point-marker) - ostart (point))))) - (search-forward generate-autoload-cookie) - (skip-chars-forward " \t") - (if (eolp) - (condition-case-unless-debug err - ;; Read the next form and make an autoload. - (let* ((form (prog1 (read (current-buffer)) - (or (bolp) (forward-line 1)))) - (autoload (make-autoload form load-name))) - (if autoload - (push (nth 1 form) autoloads-done) - (setq autoload form)) - (let ((autoload-print-form-outbuf - (marker-buffer output-start))) - (autoload-print-form autoload))) - (error - (message "Autoload cookie error in %s:%s %S" - file (count-lines (point-min) (point)) err))) - - ;; Copy the rest of the line to the output. - (princ (buffer-substring - (progn - ;; Back up over whitespace, to preserve it. - (skip-chars-backward " \f\t") - (if (= (char-after (1+ (point))) ? ) - ;; Eat one space. - (forward-char 1)) - (point)) - (progn (forward-line 1) (point))) - (marker-buffer output-start)))) + (unless output-start (setq output-start (make-marker))) + (autoload--insert-cookie-text + output-start otherbuf outbuf absfile load-name file)) ((looking-at ";") ;; Don't read the comment. (forward-line 1)) @@ -553,12 +584,11 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE (save-excursion ;; Insert the section-header line which lists the file name ;; and which functions are in it, etc. - (cl-assert (= ostart output-start)) (goto-char output-start) (let ((relfile (file-relative-name absfile))) (autoload-insert-section-header (marker-buffer output-start) - autoloads-done load-name relfile + () load-name relfile (if secondary-autoloads-file-buf ;; MD5 checksums are much better because they do not ;; change unless the file changes (so they'll be diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 7375c2176ba..7214501362d 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -287,6 +287,7 @@ (byte-compile--reify-function fn))))) (if (eq (car-safe newfn) 'function) (byte-compile-unfold-lambda `(,(cadr newfn) ,@(cdr form))) + ;; This can happen because of macroexp-warn-and-return &co. (byte-compile-log-warning (format "Inlining closure %S failed" name)) form)))) diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index e603f76f41d..f4e79dc4886 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2174,6 +2174,8 @@ list that represents a doc string reference. byte-compile-maxdepth 0 byte-compile-output nil)))) +(defvar byte-compile-force-lexical-warnings nil) + (defun byte-compile-preprocess (form &optional _for-effect) (setq form (macroexpand-all form byte-compile-macro-environment)) ;; FIXME: We should run byte-optimize-form here, but it currently does not @@ -2182,9 +2184,10 @@ list that represents a doc string reference. ;; macroexpand-all. ;; (if (memq byte-optimize '(t source)) ;; (setq form (byte-optimize-form form for-effect))) - (if lexical-binding - (cconv-closure-convert form) - form)) + (cond + (lexical-binding (cconv-closure-convert form)) + (byte-compile-force-lexical-warnings (cconv-warnings-only form)) + (t form))) ;; byte-hunk-handlers cannot call this! (defun byte-compile-toplevel-file-form (form) @@ -2212,7 +2215,7 @@ list that represents a doc string reference. (and (let ((form form)) (while (if (setq form (cdr form)) (macroexp-const-p (car form)))) (null form)) ;Constants only - (eval (nth 5 form)) ;Macro + (memq (eval (nth 5 form)) '(t macro)) ;Macro (eval form)) ;Define the autoload. ;; Avoid undefined function warnings for the autoload. (when (and (consp (nth 1 form)) @@ -4184,7 +4187,7 @@ binding slots have been popped." (byte-compile-set-symbol-position 'autoload) (and (macroexp-const-p (nth 1 form)) (macroexp-const-p (nth 5 form)) - (eval (nth 5 form)) ; macro-p + (memq (eval (nth 5 form)) '(t macro)) ; macro-p (not (fboundp (eval (nth 1 form)))) (byte-compile-warn "The compiler ignores `autoload' except at top level. You should @@ -4240,6 +4243,12 @@ binding slots have been popped." lam)) (unless (byte-compile-file-form-defmumble name macro arglist body rest) + (when macro + (if (null fun) + (message "Macro %s unrecognized, won't work in file" name) + (message "Macro %s partly recognized, trying our luck" name) + (push (cons name (eval fun)) + byte-compile-macro-environment))) (byte-compile-keep-pending form)))) ;; We used to just do: (byte-compile-normal-call form) @@ -4268,26 +4277,6 @@ binding slots have been popped." 'byte-hunk-handler 'byte-compile-form-make-variable-buffer-local) (defun byte-compile-form-make-variable-buffer-local (form) (byte-compile-keep-pending form 'byte-compile-normal-call)) - -(byte-defop-compiler-1 add-to-list byte-compile-add-to-list) -(defun byte-compile-add-to-list (form) - ;; FIXME: This could be used for `set' as well, except that it's got - ;; its own opcode, so the final `byte-compile-normal-call' needs to - ;; be replaced with something else. - (pcase form - (`(,fun ',var . ,_) - (byte-compile-check-variable var 'assign) - (if (assq var byte-compile--lexical-environment) - (byte-compile-log-warning - (format "%s cannot use lexical var `%s'" fun var) - nil :error) - (unless (or (not (byte-compile-warning-enabled-p 'free-vars)) - (boundp var) - (memq var byte-compile-bound-variables) - (memq var byte-compile-free-references)) - (byte-compile-warn "assignment to free variable `%S'" var) - (push var byte-compile-free-references))))) - (byte-compile-normal-call form)) ;;; tags diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el index 761e33c059d..70fa71a0da4 100644 --- a/lisp/emacs-lisp/cconv.el +++ b/lisp/emacs-lisp/cconv.el @@ -143,7 +143,19 @@ Returns a form where all lambdas don't have any free variables." ;; Analyze form - fill these variables with new information. (cconv-analyse-form form '()) (setq cconv-freevars-alist (nreverse cconv-freevars-alist)) - (cconv-convert form nil nil))) ; Env initially empty. + (prog1 (cconv-convert form nil nil) ; Env initially empty. + (cl-assert (null cconv-freevars-alist))))) + +;;;###autoload +(defun cconv-warnings-only (form) + "Add the warnings that closure conversion would encounter." + (let ((cconv-freevars-alist '()) + (cconv-lambda-candidates '()) + (cconv-captured+mutated '())) + ;; Analyze form - fill these variables with new information. + (cconv-analyse-form form '()) + ;; But don't perform the closure conversion. + form)) (defconst cconv--dummy-var (make-symbol "ignored")) diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el index 52f123c83ec..2ab6b7ad089 100644 --- a/lisp/emacs-lisp/cl-lib.el +++ b/lisp/emacs-lisp/cl-lib.el @@ -36,13 +36,6 @@ ;; package which should always be present. -;;; Future notes: - -;; Once Emacs 19 becomes standard, many things in this package which are -;; messy for reasons of compatibility can be greatly simplified. For now, -;; I prefer to maintain one unified version. - - ;;; Change Log: ;; Version 2.02 (30 Jul 93): @@ -732,9 +725,10 @@ If ALIST is non-nil, the new pairs are prepended to it." (put 'cl-defsubst 'doc-string-elt 3) (put 'cl-defstruct 'doc-string-elt 2)) -(load "cl-loaddefs" nil 'quiet) - (provide 'cl-lib) +(or (load "cl-loaddefs" 'noerror 'quiet) + ;; When bootstrapping, cl-loaddefs hasn't been built yet! + (require 'cl-macs)) ;; Local variables: ;; byte-compile-dynamic: t diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el deleted file mode 100644 index a06abb03b95..00000000000 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ /dev/null @@ -1,1285 +0,0 @@ -;;; cl-loaddefs.el --- automatically extracted autoloads -;; -;;; Code: - - -;;;### (autoloads (cl-prettyexpand cl-remprop cl--do-remf cl--set-getf -;;;;;; cl-getf cl-get cl-tailp cl-list-length cl-nreconc cl-revappend -;;;;;; cl-concatenate cl-subseq cl-float-limits cl-random-state-p -;;;;;; cl-make-random-state cl-random cl-signum cl-rem cl-mod cl-round -;;;;;; cl-truncate cl-ceiling cl-floor cl-isqrt cl-lcm cl-gcd cl--set-frame-visible-p -;;;;;; cl--map-overlays cl--map-intervals cl--map-keymap-recursively -;;;;;; cl-notevery cl-notany cl-every cl-some cl-mapcon cl-mapcan -;;;;;; cl-mapl cl-mapc cl-maplist cl-map cl--mapcar-many cl-equalp -;;;;;; cl-coerce) "cl-extra" "cl-extra.el" "011111887a1f353218e59e14d0b09c68") -;;; Generated autoloads from cl-extra.el - -(autoload 'cl-coerce "cl-extra" "\ -Coerce OBJECT to type TYPE. -TYPE is a Common Lisp type specifier. - -\(fn OBJECT TYPE)" nil nil) - -(autoload 'cl-equalp "cl-extra" "\ -Return t if two Lisp objects have similar structures and contents. -This is like `equal', except that it accepts numerically equal -numbers of different types (float vs. integer), and also compares -strings case-insensitively. - -\(fn X Y)" nil nil) - -(autoload 'cl--mapcar-many "cl-extra" "\ - - -\(fn CL-FUNC CL-SEQS)" nil nil) - -(autoload 'cl-map "cl-extra" "\ -Map a FUNCTION across one or more SEQUENCEs, returning a sequence. -TYPE is the sequence type to return. - -\(fn TYPE FUNCTION SEQUENCE...)" nil nil) - -(autoload 'cl-maplist "cl-extra" "\ -Map FUNCTION to each sublist of LIST or LISTs. -Like `cl-mapcar', except applies to lists and their cdr's rather than to -the elements themselves. - -\(fn FUNCTION LIST...)" nil nil) - -(autoload 'cl-mapc "cl-extra" "\ -Like `cl-mapcar', but does not accumulate values returned by the function. - -\(fn FUNCTION SEQUENCE...)" nil nil) - -(autoload 'cl-mapl "cl-extra" "\ -Like `cl-maplist', but does not accumulate values returned by the function. - -\(fn FUNCTION LIST...)" nil nil) - -(autoload 'cl-mapcan "cl-extra" "\ -Like `cl-mapcar', but nconc's together the values returned by the function. - -\(fn FUNCTION SEQUENCE...)" nil nil) - -(autoload 'cl-mapcon "cl-extra" "\ -Like `cl-maplist', but nconc's together the values returned by the function. - -\(fn FUNCTION LIST...)" nil nil) - -(autoload 'cl-some "cl-extra" "\ -Return true if PREDICATE is true of any element of SEQ or SEQs. -If so, return the true (non-nil) value returned by PREDICATE. - -\(fn PREDICATE SEQ...)" nil nil) - -(autoload 'cl-every "cl-extra" "\ -Return true if PREDICATE is true of every element of SEQ or SEQs. - -\(fn PREDICATE SEQ...)" nil nil) - -(autoload 'cl-notany "cl-extra" "\ -Return true if PREDICATE is false of every element of SEQ or SEQs. - -\(fn PREDICATE SEQ...)" nil nil) - -(autoload 'cl-notevery "cl-extra" "\ -Return true if PREDICATE is false of some element of SEQ or SEQs. - -\(fn PREDICATE SEQ...)" nil nil) - -(autoload 'cl--map-keymap-recursively "cl-extra" "\ - - -\(fn CL-FUNC-REC CL-MAP &optional CL-BASE)" nil nil) - -(autoload 'cl--map-intervals "cl-extra" "\ - - -\(fn CL-FUNC &optional CL-WHAT CL-PROP CL-START CL-END)" nil nil) - -(autoload 'cl--map-overlays "cl-extra" "\ - - -\(fn CL-FUNC &optional CL-BUFFER CL-START CL-END CL-ARG)" nil nil) - -(autoload 'cl--set-frame-visible-p "cl-extra" "\ - - -\(fn FRAME VAL)" nil nil) - -(autoload 'cl-gcd "cl-extra" "\ -Return the greatest common divisor of the arguments. - -\(fn &rest ARGS)" nil nil) - -(autoload 'cl-lcm "cl-extra" "\ -Return the least common multiple of the arguments. - -\(fn &rest ARGS)" nil nil) - -(autoload 'cl-isqrt "cl-extra" "\ -Return the integer square root of the argument. - -\(fn X)" nil nil) - -(autoload 'cl-floor "cl-extra" "\ -Return a list of the floor of X and the fractional part of X. -With two arguments, return floor and remainder of their quotient. - -\(fn X &optional Y)" nil nil) - -(autoload 'cl-ceiling "cl-extra" "\ -Return a list of the ceiling of X and the fractional part of X. -With two arguments, return ceiling and remainder of their quotient. - -\(fn X &optional Y)" nil nil) - -(autoload 'cl-truncate "cl-extra" "\ -Return a list of the integer part of X and the fractional part of X. -With two arguments, return truncation and remainder of their quotient. - -\(fn X &optional Y)" nil nil) - -(autoload 'cl-round "cl-extra" "\ -Return a list of X rounded to the nearest integer and the remainder. -With two arguments, return rounding and remainder of their quotient. - -\(fn X &optional Y)" nil nil) - -(autoload 'cl-mod "cl-extra" "\ -The remainder of X divided by Y, with the same sign as Y. - -\(fn X Y)" nil nil) - -(autoload 'cl-rem "cl-extra" "\ -The remainder of X divided by Y, with the same sign as X. - -\(fn X Y)" nil nil) - -(autoload 'cl-signum "cl-extra" "\ -Return 1 if X is positive, -1 if negative, 0 if zero. - -\(fn X)" nil nil) - -(autoload 'cl-random "cl-extra" "\ -Return a random nonnegative number less than LIM, an integer or float. -Optional second arg STATE is a random-state object. - -\(fn LIM &optional STATE)" nil nil) - -(autoload 'cl-make-random-state "cl-extra" "\ -Return a copy of random-state STATE, or of the internal state if omitted. -If STATE is t, return a new state object seeded from the time of day. - -\(fn &optional STATE)" nil nil) - -(autoload 'cl-random-state-p "cl-extra" "\ -Return t if OBJECT is a random-state object. - -\(fn OBJECT)" nil nil) - -(autoload 'cl-float-limits "cl-extra" "\ -Initialize the Common Lisp floating-point parameters. -This sets the values of: `cl-most-positive-float', `cl-most-negative-float', -`cl-least-positive-float', `cl-least-negative-float', `cl-float-epsilon', -`cl-float-negative-epsilon', `cl-least-positive-normalized-float', and -`cl-least-negative-normalized-float'. - -\(fn)" nil nil) - -(autoload 'cl-subseq "cl-extra" "\ -Return the subsequence of SEQ from START to END. -If END is omitted, it defaults to the length of the sequence. -If START or END is negative, it counts from the end. - -\(fn SEQ START &optional END)" nil nil) - -(autoload 'cl-concatenate "cl-extra" "\ -Concatenate, into a sequence of type TYPE, the argument SEQUENCEs. - -\(fn TYPE SEQUENCE...)" nil nil) - -(autoload 'cl-revappend "cl-extra" "\ -Equivalent to (append (reverse X) Y). - -\(fn X Y)" nil nil) - -(autoload 'cl-nreconc "cl-extra" "\ -Equivalent to (nconc (nreverse X) Y). - -\(fn X Y)" nil nil) - -(autoload 'cl-list-length "cl-extra" "\ -Return the length of list X. Return nil if list is circular. - -\(fn X)" nil nil) - -(autoload 'cl-tailp "cl-extra" "\ -Return true if SUBLIST is a tail of LIST. - -\(fn SUBLIST LIST)" nil nil) - -(autoload 'cl-get "cl-extra" "\ -Return the value of SYMBOL's PROPNAME property, or DEFAULT if none. - -\(fn SYMBOL PROPNAME &optional DEFAULT)" nil nil) - -(eval-and-compile (put 'cl-get 'compiler-macro #'cl--compiler-macro-get)) - -(autoload 'cl-getf "cl-extra" "\ -Search PROPLIST for property PROPNAME; return its value or DEFAULT. -PROPLIST is a list of the sort returned by `symbol-plist'. - -\(fn PROPLIST PROPNAME &optional DEFAULT)" nil nil) - -(autoload 'cl--set-getf "cl-extra" "\ - - -\(fn PLIST TAG VAL)" nil nil) - -(autoload 'cl--do-remf "cl-extra" "\ - - -\(fn PLIST TAG)" nil nil) - -(autoload 'cl-remprop "cl-extra" "\ -Remove from SYMBOL's plist the property PROPNAME and its value. - -\(fn SYMBOL PROPNAME)" nil nil) - -(autoload 'cl-prettyexpand "cl-extra" "\ -Expand macros in FORM and insert the pretty-printed result. -Optional argument FULL non-nil means to expand all macros, -including `cl-block' and `cl-eval-when'. - -\(fn FORM &optional FULL)" nil nil) - -;;;*** - -;;;### (autoloads (cl--compiler-macro-adjoin cl-defsubst cl-compiler-macroexpand -;;;;;; cl-define-compiler-macro cl-assert cl-check-type cl-typep -;;;;;; cl-deftype cl-defstruct cl-callf2 cl-callf cl-letf* cl-letf -;;;;;; cl-rotatef cl-shiftf cl-remf cl-psetf cl-declare cl-the cl-locally -;;;;;; cl-multiple-value-setq cl-multiple-value-bind cl-symbol-macrolet -;;;;;; cl-macrolet cl-labels cl-flet* cl-flet cl-progv cl-psetq -;;;;;; cl-do-all-symbols cl-do-symbols cl-tagbody cl-dotimes cl-dolist -;;;;;; cl-do* cl-do cl-loop cl-return-from cl-return cl-block cl-etypecase -;;;;;; cl-typecase cl-ecase cl-case cl-load-time-value cl-eval-when -;;;;;; cl-destructuring-bind cl-function cl-defmacro cl-defun cl-gentemp -;;;;;; cl-gensym cl--compiler-macro-cXXr cl--compiler-macro-list*) -;;;;;; "cl-macs" "cl-macs.el" "fd824d987086eafec0b1cb2efa8312f4") -;;; Generated autoloads from cl-macs.el - -(autoload 'cl--compiler-macro-list* "cl-macs" "\ - - -\(fn FORM ARG &rest OTHERS)" nil nil) - -(autoload 'cl--compiler-macro-cXXr "cl-macs" "\ - - -\(fn FORM X)" nil nil) - -(autoload 'cl-gensym "cl-macs" "\ -Generate a new uninterned symbol. -The name is made by appending a number to PREFIX, default \"G\". - -\(fn &optional PREFIX)" nil nil) - -(autoload 'cl-gentemp "cl-macs" "\ -Generate a new interned symbol with a unique name. -The name is made by appending a number to PREFIX, default \"G\". - -\(fn &optional PREFIX)" nil nil) - -(autoload 'cl-defun "cl-macs" "\ -Define NAME as a function. -Like normal `defun', except ARGLIST allows full Common Lisp conventions, -and BODY is implicitly surrounded by (cl-block NAME ...). - -\(fn NAME ARGLIST [DOCSTRING] BODY...)" nil t) - -(put 'cl-defun 'doc-string-elt '3) - -(put 'cl-defun 'lisp-indent-function '2) - -(autoload 'cl-defmacro "cl-macs" "\ -Define NAME as a macro. -Like normal `defmacro', except ARGLIST allows full Common Lisp conventions, -and BODY is implicitly surrounded by (cl-block NAME ...). - -\(fn NAME ARGLIST [DOCSTRING] BODY...)" nil t) - -(put 'cl-defmacro 'doc-string-elt '3) - -(put 'cl-defmacro 'lisp-indent-function '2) - -(autoload 'cl-function "cl-macs" "\ -Introduce a function. -Like normal `function', except that if argument is a lambda form, -its argument list allows full Common Lisp conventions. - -\(fn FUNC)" nil t) - -(autoload 'cl-destructuring-bind "cl-macs" "\ -Bind the variables in ARGS to the result of EXPR and execute BODY. - -\(fn ARGS EXPR &rest BODY)" nil t) - -(put 'cl-destructuring-bind 'lisp-indent-function '2) - -(autoload 'cl-eval-when "cl-macs" "\ -Control when BODY is evaluated. -If `compile' is in WHEN, BODY is evaluated when compiled at top-level. -If `load' is in WHEN, BODY is evaluated when loaded after top-level compile. -If `eval' is in WHEN, BODY is evaluated when interpreted or at non-top-level. - -\(fn (WHEN...) BODY...)" nil t) - -(put 'cl-eval-when 'lisp-indent-function '1) - -(autoload 'cl-load-time-value "cl-macs" "\ -Like `progn', but evaluates the body at load time. -The result of the body appears to the compiler as a quoted constant. - -\(fn FORM &optional READ-ONLY)" nil t) - -(autoload 'cl-case "cl-macs" "\ -Eval EXPR and choose among clauses on that value. -Each clause looks like (KEYLIST BODY...). EXPR is evaluated and compared -against each key in each KEYLIST; the corresponding BODY is evaluated. -If no clause succeeds, cl-case returns nil. A single atom may be used in -place of a KEYLIST of one atom. A KEYLIST of t or `otherwise' is -allowed only in the final clause, and matches if no other keys match. -Key values are compared by `eql'. - -\(fn EXPR (KEYLIST BODY...)...)" nil t) - -(put 'cl-case 'lisp-indent-function '1) - -(autoload 'cl-ecase "cl-macs" "\ -Like `cl-case', but error if no case fits. -`otherwise'-clauses are not allowed. - -\(fn EXPR (KEYLIST BODY...)...)" nil t) - -(put 'cl-ecase 'lisp-indent-function '1) - -(autoload 'cl-typecase "cl-macs" "\ -Evals EXPR, chooses among clauses on that value. -Each clause looks like (TYPE BODY...). EXPR is evaluated and, if it -satisfies TYPE, the corresponding BODY is evaluated. If no clause succeeds, -cl-typecase returns nil. A TYPE of t or `otherwise' is allowed only in the -final clause, and matches if no other keys match. - -\(fn EXPR (TYPE BODY...)...)" nil t) - -(put 'cl-typecase 'lisp-indent-function '1) - -(autoload 'cl-etypecase "cl-macs" "\ -Like `cl-typecase', but error if no case fits. -`otherwise'-clauses are not allowed. - -\(fn EXPR (TYPE BODY...)...)" nil t) - -(put 'cl-etypecase 'lisp-indent-function '1) - -(autoload 'cl-block "cl-macs" "\ -Define a lexically-scoped block named NAME. -NAME may be any symbol. Code inside the BODY forms can call `cl-return-from' -to jump prematurely out of the block. This differs from `catch' and `throw' -in two respects: First, the NAME is an unevaluated symbol rather than a -quoted symbol or other form; and second, NAME is lexically rather than -dynamically scoped: Only references to it within BODY will work. These -references may appear inside macro expansions, but not inside functions -called from BODY. - -\(fn NAME &rest BODY)" nil t) - -(put 'cl-block 'lisp-indent-function '1) - -(autoload 'cl-return "cl-macs" "\ -Return from the block named nil. -This is equivalent to `(cl-return-from nil RESULT)'. - -\(fn &optional RESULT)" nil t) - -(autoload 'cl-return-from "cl-macs" "\ -Return from the block named NAME. -This jumps out to the innermost enclosing `(cl-block NAME ...)' form, -returning RESULT from that form (or nil if RESULT is omitted). -This is compatible with Common Lisp, but note that `defun' and -`defmacro' do not create implicit blocks as they do in Common Lisp. - -\(fn NAME &optional RESULT)" nil t) - -(put 'cl-return-from 'lisp-indent-function '1) - -(autoload 'cl-loop "cl-macs" "\ -The Common Lisp `loop' macro. -Valid clauses include: - For clauses: - for VAR from/upfrom/downfrom EXPR1 to/upto/downto/above/below EXPR2 by EXPR3 - for VAR = EXPR1 then EXPR2 - for VAR in/on/in-ref LIST by FUNC - for VAR across/across-ref ARRAY - for VAR being: - the elements of/of-ref SEQUENCE [using (index VAR2)] - the symbols [of OBARRAY] - the hash-keys/hash-values of HASH-TABLE [using (hash-values/hash-keys V2)] - the key-codes/key-bindings/key-seqs of KEYMAP [using (key-bindings VAR2)] - the overlays/intervals [of BUFFER] [from POS1] [to POS2] - the frames/buffers - the windows [of FRAME] - Iteration clauses: - repeat INTEGER - while/until/always/never/thereis CONDITION - Accumulation clauses: - collect/append/nconc/concat/vconcat/count/sum/maximize/minimize FORM - [into VAR] - Miscellaneous clauses: - with VAR = INIT - if/when/unless COND CLAUSE [and CLAUSE]... else CLAUSE [and CLAUSE...] - named NAME - initially/finally [do] EXPRS... - do EXPRS... - [finally] return EXPR - -For more details, see Info node `(cl)Loop Facility'. - -\(fn CLAUSE...)" nil t) - -(autoload 'cl-do "cl-macs" "\ -The Common Lisp `do' loop. - -\(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" nil t) - -(put 'cl-do 'lisp-indent-function '2) - -(autoload 'cl-do* "cl-macs" "\ -The Common Lisp `do*' loop. - -\(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" nil t) - -(put 'cl-do* 'lisp-indent-function '2) - -(autoload 'cl-dolist "cl-macs" "\ -Loop over a list. -Evaluate BODY with VAR bound to each `car' from LIST, in turn. -Then evaluate RESULT to get return value, default nil. -An implicit nil block is established around the loop. - -\(fn (VAR LIST [RESULT]) BODY...)" nil t) - -(put 'cl-dolist 'lisp-indent-function '1) - -(autoload 'cl-dotimes "cl-macs" "\ -Loop a certain number of times. -Evaluate BODY with VAR bound to successive integers from 0, inclusive, -to COUNT, exclusive. Then evaluate RESULT to get return value, default -nil. - -\(fn (VAR COUNT [RESULT]) BODY...)" nil t) - -(put 'cl-dotimes 'lisp-indent-function '1) - -(autoload 'cl-tagbody "cl-macs" "\ -Execute statements while providing for control transfers to labels. -Each element of LABELS-OR-STMTS can be either a label (integer or symbol) -or a `cons' cell, in which case it's taken to be a statement. -This distinction is made before performing macroexpansion. -Statements are executed in sequence left to right, discarding any return value, -stopping only when reaching the end of LABELS-OR-STMTS. -Any statement can transfer control at any time to the statements that follow -one of the labels with the special form (go LABEL). -Labels have lexical scope and dynamic extent. - -\(fn &rest LABELS-OR-STMTS)" nil t) - -(autoload 'cl-do-symbols "cl-macs" "\ -Loop over all symbols. -Evaluate BODY with VAR bound to each interned symbol, or to each symbol -from OBARRAY. - -\(fn (VAR [OBARRAY [RESULT]]) BODY...)" nil t) - -(put 'cl-do-symbols 'lisp-indent-function '1) - -(autoload 'cl-do-all-symbols "cl-macs" "\ -Like `cl-do-symbols', but use the default obarray. - -\(fn (VAR [RESULT]) BODY...)" nil t) - -(put 'cl-do-all-symbols 'lisp-indent-function '1) - -(autoload 'cl-psetq "cl-macs" "\ -Set SYMs to the values VALs in parallel. -This is like `setq', except that all VAL forms are evaluated (in order) -before assigning any symbols SYM to the corresponding values. - -\(fn SYM VAL SYM VAL ...)" nil t) - -(autoload 'cl-progv "cl-macs" "\ -Bind SYMBOLS to VALUES dynamically in BODY. -The forms SYMBOLS and VALUES are evaluated, and must evaluate to lists. -Each symbol in the first list is bound to the corresponding value in the -second list (or to nil if VALUES is shorter than SYMBOLS); then the -BODY forms are executed and their result is returned. This is much like -a `let' form, except that the list of symbols can be computed at run-time. - -\(fn SYMBOLS VALUES &rest BODY)" nil t) - -(put 'cl-progv 'lisp-indent-function '2) - -(autoload 'cl-flet "cl-macs" "\ -Make local function definitions. -Like `cl-labels' but the definitions are not recursive. - -\(fn ((FUNC ARGLIST BODY...) ...) FORM...)" nil t) - -(put 'cl-flet 'lisp-indent-function '1) - -(autoload 'cl-flet* "cl-macs" "\ -Make local function definitions. -Like `cl-flet' but the definitions can refer to previous ones. - -\(fn ((FUNC ARGLIST BODY...) ...) FORM...)" nil t) - -(put 'cl-flet* 'lisp-indent-function '1) - -(autoload 'cl-labels "cl-macs" "\ -Make temporary function bindings. -The bindings can be recursive and the scoping is lexical, but capturing them -in closures will only work if `lexical-binding' is in use. - -\(fn ((FUNC ARGLIST BODY...) ...) FORM...)" nil t) - -(put 'cl-labels 'lisp-indent-function '1) - -(autoload 'cl-macrolet "cl-macs" "\ -Make temporary macro definitions. -This is like `cl-flet', but for macros instead of functions. - -\(fn ((NAME ARGLIST BODY...) ...) FORM...)" nil t) - -(put 'cl-macrolet 'lisp-indent-function '1) - -(autoload 'cl-symbol-macrolet "cl-macs" "\ -Make symbol macro definitions. -Within the body FORMs, references to the variable NAME will be replaced -by EXPANSION, and (setq NAME ...) will act like (setf EXPANSION ...). - -\(fn ((NAME EXPANSION) ...) FORM...)" nil t) - -(put 'cl-symbol-macrolet 'lisp-indent-function '1) - -(autoload 'cl-multiple-value-bind "cl-macs" "\ -Collect multiple return values. -FORM must return a list; the BODY is then executed with the first N elements -of this list bound (`let'-style) to each of the symbols SYM in turn. This -is analogous to the Common Lisp `cl-multiple-value-bind' macro, using lists to -simulate true multiple return values. For compatibility, (cl-values A B C) is -a synonym for (list A B C). - -\(fn (SYM...) FORM BODY)" nil t) - -(put 'cl-multiple-value-bind 'lisp-indent-function '2) - -(autoload 'cl-multiple-value-setq "cl-macs" "\ -Collect multiple return values. -FORM must return a list; the first N elements of this list are stored in -each of the symbols SYM in turn. This is analogous to the Common Lisp -`cl-multiple-value-setq' macro, using lists to simulate true multiple return -values. For compatibility, (cl-values A B C) is a synonym for (list A B C). - -\(fn (SYM...) FORM)" nil t) - -(put 'cl-multiple-value-setq 'lisp-indent-function '1) - -(autoload 'cl-locally "cl-macs" "\ -Equivalent to `progn'. - -\(fn &rest BODY)" nil t) - -(autoload 'cl-the "cl-macs" "\ -At present this ignores _TYPE and is simply equivalent to FORM. - -\(fn TYPE FORM)" nil t) - -(put 'cl-the 'lisp-indent-function '1) - -(autoload 'cl-declare "cl-macs" "\ -Declare SPECS about the current function while compiling. -For instance - - (cl-declare (warn 0)) - -will turn off byte-compile warnings in the function. -See Info node `(cl)Declarations' for details. - -\(fn &rest SPECS)" nil t) - -(autoload 'cl-psetf "cl-macs" "\ -Set PLACEs to the values VALs in parallel. -This is like `setf', except that all VAL forms are evaluated (in order) -before assigning any PLACEs to the corresponding values. - -\(fn PLACE VAL PLACE VAL ...)" nil t) - -(autoload 'cl-remf "cl-macs" "\ -Remove TAG from property list PLACE. -PLACE may be a symbol, or any generalized variable allowed by `setf'. -The form returns true if TAG was found and removed, nil otherwise. - -\(fn PLACE TAG)" nil t) - -(autoload 'cl-shiftf "cl-macs" "\ -Shift left among PLACEs. -Example: (cl-shiftf A B C) sets A to B, B to C, and returns the old A. -Each PLACE may be a symbol, or any generalized variable allowed by `setf'. - -\(fn PLACE... VAL)" nil t) - -(autoload 'cl-rotatef "cl-macs" "\ -Rotate left among PLACEs. -Example: (cl-rotatef A B C) sets A to B, B to C, and C to A. It returns nil. -Each PLACE may be a symbol, or any generalized variable allowed by `setf'. - -\(fn PLACE...)" nil t) - -(autoload 'cl-letf "cl-macs" "\ -Temporarily bind to PLACEs. -This is the analogue of `let', but with generalized variables (in the -sense of `setf') for the PLACEs. Each PLACE is set to the corresponding -VALUE, then the BODY forms are executed. On exit, either normally or -because of a `throw' or error, the PLACEs are set back to their original -values. Note that this macro is *not* available in Common Lisp. -As a special case, if `(PLACE)' is used instead of `(PLACE VALUE)', -the PLACE is not modified before executing BODY. - -\(fn ((PLACE VALUE) ...) BODY...)" nil t) - -(put 'cl-letf 'lisp-indent-function '1) - -(autoload 'cl-letf* "cl-macs" "\ -Temporarily bind to PLACEs. -Like `cl-letf' but where the bindings are performed one at a time, -rather than all at the end (i.e. like `let*' rather than like `let'). - -\(fn BINDINGS &rest BODY)" nil t) - -(put 'cl-letf* 'lisp-indent-function '1) - -(autoload 'cl-callf "cl-macs" "\ -Set PLACE to (FUNC PLACE ARGS...). -FUNC should be an unquoted function name. PLACE may be a symbol, -or any generalized variable allowed by `setf'. - -\(fn FUNC PLACE &rest ARGS)" nil t) - -(put 'cl-callf 'lisp-indent-function '2) - -(autoload 'cl-callf2 "cl-macs" "\ -Set PLACE to (FUNC ARG1 PLACE ARGS...). -Like `cl-callf', but PLACE is the second argument of FUNC, not the first. - -\(fn FUNC ARG1 PLACE ARGS...)" nil t) - -(put 'cl-callf2 'lisp-indent-function '3) - -(autoload 'cl-defstruct "cl-macs" "\ -Define a struct type. -This macro defines a new data type called NAME that stores data -in SLOTs. It defines a `make-NAME' constructor, a `copy-NAME' -copier, a `NAME-p' predicate, and slot accessors named `NAME-SLOT'. -You can use the accessors to set the corresponding slots, via `setf'. - -NAME may instead take the form (NAME OPTIONS...), where each -OPTION is either a single keyword or (KEYWORD VALUE) where -KEYWORD can be one of :conc-name, :constructor, :copier, :predicate, -:type, :named, :initial-offset, :print-function, or :include. - -Each SLOT may instead take the form (SNAME SDEFAULT SOPTIONS...), where -SDEFAULT is the default value of that slot and SOPTIONS are keyword-value -pairs for that slot. -Currently, only one keyword is supported, `:read-only'. If this has a non-nil -value, that slot cannot be set via `setf'. - -\(fn NAME SLOTS...)" nil t) - -(put 'cl-defstruct 'doc-string-elt '2) - -(put 'cl-defstruct 'lisp-indent-function '1) - -(autoload 'cl-deftype "cl-macs" "\ -Define NAME as a new data type. -The type name can then be used in `cl-typecase', `cl-check-type', etc. - -\(fn NAME ARGLIST &rest BODY)" nil t) - -(put 'cl-deftype 'doc-string-elt '3) - -(autoload 'cl-typep "cl-macs" "\ -Check that OBJECT is of type TYPE. -TYPE is a Common Lisp-style type specifier. - -\(fn OBJECT TYPE)" nil nil) - -(eval-and-compile (put 'cl-typep 'compiler-macro #'cl--compiler-macro-typep)) - -(autoload 'cl-check-type "cl-macs" "\ -Verify that FORM is of type TYPE; signal an error if not. -STRING is an optional description of the desired type. - -\(fn FORM TYPE &optional STRING)" nil t) - -(autoload 'cl-assert "cl-macs" "\ -Verify that FORM returns non-nil; signal an error if not. -Second arg SHOW-ARGS means to include arguments of FORM in message. -Other args STRING and ARGS... are arguments to be passed to `error'. -They are not evaluated unless the assertion fails. If STRING is -omitted, a default message listing FORM itself is used. - -\(fn FORM &optional SHOW-ARGS STRING &rest ARGS)" nil t) - -(autoload 'cl-define-compiler-macro "cl-macs" "\ -Define a compiler-only macro. -This is like `defmacro', but macro expansion occurs only if the call to -FUNC is compiled (i.e., not interpreted). Compiler macros should be used -for optimizing the way calls to FUNC are compiled; the form returned by -BODY should do the same thing as a call to the normal function called -FUNC, though possibly more efficiently. Note that, like regular macros, -compiler macros are expanded repeatedly until no further expansions are -possible. Unlike regular macros, BODY can decide to \"punt\" and leave the -original function call alone by declaring an initial `&whole foo' parameter -and then returning foo. - -\(fn FUNC ARGS &rest BODY)" nil t) - -(autoload 'cl-compiler-macroexpand "cl-macs" "\ -Like `macroexpand', but for compiler macros. -Expands FORM repeatedly until no further expansion is possible. -Returns FORM unchanged if it has no compiler macro, or if it has a -macro that returns its `&whole' argument. - -\(fn FORM)" nil nil) - -(autoload 'cl-defsubst "cl-macs" "\ -Define NAME as a function. -Like `defun', except the function is automatically declared `inline', -ARGLIST allows full Common Lisp conventions, and BODY is implicitly -surrounded by (cl-block NAME ...). - -\(fn NAME ARGLIST [DOCSTRING] BODY...)" nil t) - -(put 'cl-defsubst 'lisp-indent-function '2) - -(autoload 'cl--compiler-macro-adjoin "cl-macs" "\ - - -\(fn FORM A LIST &rest KEYS)" nil nil) - -;;;*** - -;;;### (autoloads (cl-tree-equal cl-nsublis cl-sublis cl-nsubst-if-not -;;;;;; cl-nsubst-if cl-nsubst cl-subst-if-not cl-subst-if cl-subsetp -;;;;;; cl-nset-exclusive-or cl-set-exclusive-or cl-nset-difference -;;;;;; cl-set-difference cl-nintersection cl-intersection cl-nunion -;;;;;; cl-union cl-rassoc-if-not cl-rassoc-if cl-rassoc cl-assoc-if-not -;;;;;; cl-assoc-if cl-assoc cl--adjoin cl-member-if-not cl-member-if -;;;;;; cl-member cl-merge cl-stable-sort cl-sort cl-search cl-mismatch -;;;;;; cl-count-if-not cl-count-if cl-count cl-position-if-not cl-position-if -;;;;;; cl-position cl-find-if-not cl-find-if cl-find cl-nsubstitute-if-not -;;;;;; cl-nsubstitute-if cl-nsubstitute cl-substitute-if-not cl-substitute-if -;;;;;; cl-substitute cl-delete-duplicates cl-remove-duplicates cl-delete-if-not -;;;;;; cl-delete-if cl-delete cl-remove-if-not cl-remove-if cl-remove -;;;;;; cl-replace cl-fill cl-reduce) "cl-seq" "cl-seq.el" "51a70dea9cbc225165a50135956609aa") -;;; Generated autoloads from cl-seq.el - -(autoload 'cl-reduce "cl-seq" "\ -Reduce two-argument FUNCTION across SEQ. - -Keywords supported: :start :end :from-end :initial-value :key - -\(fn FUNCTION SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-fill "cl-seq" "\ -Fill the elements of SEQ with ITEM. - -Keywords supported: :start :end - -\(fn SEQ ITEM [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-replace "cl-seq" "\ -Replace the elements of SEQ1 with the elements of SEQ2. -SEQ1 is destructively modified, then returned. - -Keywords supported: :start1 :end1 :start2 :end2 - -\(fn SEQ1 SEQ2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-remove "cl-seq" "\ -Remove all occurrences of ITEM in SEQ. -This is a non-destructive function; it makes a copy of SEQ if necessary -to avoid corrupting the original SEQ. - -Keywords supported: :test :test-not :key :count :start :end :from-end - -\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-remove-if "cl-seq" "\ -Remove all items satisfying PREDICATE in SEQ. -This is a non-destructive function; it makes a copy of SEQ if necessary -to avoid corrupting the original SEQ. - -Keywords supported: :key :count :start :end :from-end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-remove-if-not "cl-seq" "\ -Remove all items not satisfying PREDICATE in SEQ. -This is a non-destructive function; it makes a copy of SEQ if necessary -to avoid corrupting the original SEQ. - -Keywords supported: :key :count :start :end :from-end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-delete "cl-seq" "\ -Remove all occurrences of ITEM in SEQ. -This is a destructive function; it reuses the storage of SEQ whenever possible. - -Keywords supported: :test :test-not :key :count :start :end :from-end - -\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-delete-if "cl-seq" "\ -Remove all items satisfying PREDICATE in SEQ. -This is a destructive function; it reuses the storage of SEQ whenever possible. - -Keywords supported: :key :count :start :end :from-end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-delete-if-not "cl-seq" "\ -Remove all items not satisfying PREDICATE in SEQ. -This is a destructive function; it reuses the storage of SEQ whenever possible. - -Keywords supported: :key :count :start :end :from-end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-remove-duplicates "cl-seq" "\ -Return a copy of SEQ with all duplicate elements removed. - -Keywords supported: :test :test-not :key :start :end :from-end - -\(fn SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-delete-duplicates "cl-seq" "\ -Remove all duplicate elements from SEQ (destructively). - -Keywords supported: :test :test-not :key :start :end :from-end - -\(fn SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-substitute "cl-seq" "\ -Substitute NEW for OLD in SEQ. -This is a non-destructive function; it makes a copy of SEQ if necessary -to avoid corrupting the original SEQ. - -Keywords supported: :test :test-not :key :count :start :end :from-end - -\(fn NEW OLD SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-substitute-if "cl-seq" "\ -Substitute NEW for all items satisfying PREDICATE in SEQ. -This is a non-destructive function; it makes a copy of SEQ if necessary -to avoid corrupting the original SEQ. - -Keywords supported: :key :count :start :end :from-end - -\(fn NEW PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-substitute-if-not "cl-seq" "\ -Substitute NEW for all items not satisfying PREDICATE in SEQ. -This is a non-destructive function; it makes a copy of SEQ if necessary -to avoid corrupting the original SEQ. - -Keywords supported: :key :count :start :end :from-end - -\(fn NEW PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nsubstitute "cl-seq" "\ -Substitute NEW for OLD in SEQ. -This is a destructive function; it reuses the storage of SEQ whenever possible. - -Keywords supported: :test :test-not :key :count :start :end :from-end - -\(fn NEW OLD SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nsubstitute-if "cl-seq" "\ -Substitute NEW for all items satisfying PREDICATE in SEQ. -This is a destructive function; it reuses the storage of SEQ whenever possible. - -Keywords supported: :key :count :start :end :from-end - -\(fn NEW PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nsubstitute-if-not "cl-seq" "\ -Substitute NEW for all items not satisfying PREDICATE in SEQ. -This is a destructive function; it reuses the storage of SEQ whenever possible. - -Keywords supported: :key :count :start :end :from-end - -\(fn NEW PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-find "cl-seq" "\ -Find the first occurrence of ITEM in SEQ. -Return the matching ITEM, or nil if not found. - -Keywords supported: :test :test-not :key :start :end :from-end - -\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-find-if "cl-seq" "\ -Find the first item satisfying PREDICATE in SEQ. -Return the matching item, or nil if not found. - -Keywords supported: :key :start :end :from-end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-find-if-not "cl-seq" "\ -Find the first item not satisfying PREDICATE in SEQ. -Return the matching item, or nil if not found. - -Keywords supported: :key :start :end :from-end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-position "cl-seq" "\ -Find the first occurrence of ITEM in SEQ. -Return the index of the matching item, or nil if not found. - -Keywords supported: :test :test-not :key :start :end :from-end - -\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-position-if "cl-seq" "\ -Find the first item satisfying PREDICATE in SEQ. -Return the index of the matching item, or nil if not found. - -Keywords supported: :key :start :end :from-end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-position-if-not "cl-seq" "\ -Find the first item not satisfying PREDICATE in SEQ. -Return the index of the matching item, or nil if not found. - -Keywords supported: :key :start :end :from-end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-count "cl-seq" "\ -Count the number of occurrences of ITEM in SEQ. - -Keywords supported: :test :test-not :key :start :end - -\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-count-if "cl-seq" "\ -Count the number of items satisfying PREDICATE in SEQ. - -Keywords supported: :key :start :end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-count-if-not "cl-seq" "\ -Count the number of items not satisfying PREDICATE in SEQ. - -Keywords supported: :key :start :end - -\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-mismatch "cl-seq" "\ -Compare SEQ1 with SEQ2, return index of first mismatching element. -Return nil if the sequences match. If one sequence is a prefix of the -other, the return value indicates the end of the shorter sequence. - -Keywords supported: :test :test-not :key :start1 :end1 :start2 :end2 :from-end - -\(fn SEQ1 SEQ2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-search "cl-seq" "\ -Search for SEQ1 as a subsequence of SEQ2. -Return the index of the leftmost element of the first match found; -return nil if there are no matches. - -Keywords supported: :test :test-not :key :start1 :end1 :start2 :end2 :from-end - -\(fn SEQ1 SEQ2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-sort "cl-seq" "\ -Sort the argument SEQ according to PREDICATE. -This is a destructive function; it reuses the storage of SEQ if possible. - -Keywords supported: :key - -\(fn SEQ PREDICATE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-stable-sort "cl-seq" "\ -Sort the argument SEQ stably according to PREDICATE. -This is a destructive function; it reuses the storage of SEQ if possible. - -Keywords supported: :key - -\(fn SEQ PREDICATE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-merge "cl-seq" "\ -Destructively merge the two sequences to produce a new sequence. -TYPE is the sequence type to return, SEQ1 and SEQ2 are the two argument -sequences, and PREDICATE is a `less-than' predicate on the elements. - -Keywords supported: :key - -\(fn TYPE SEQ1 SEQ2 PREDICATE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-member "cl-seq" "\ -Find the first occurrence of ITEM in LIST. -Return the sublist of LIST whose car is ITEM. - -Keywords supported: :test :test-not :key - -\(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) - -(eval-and-compile (put 'cl-member 'compiler-macro #'cl--compiler-macro-member)) - -(autoload 'cl-member-if "cl-seq" "\ -Find the first item satisfying PREDICATE in LIST. -Return the sublist of LIST whose car matches. - -Keywords supported: :key - -\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-member-if-not "cl-seq" "\ -Find the first item not satisfying PREDICATE in LIST. -Return the sublist of LIST whose car matches. - -Keywords supported: :key - -\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl--adjoin "cl-seq" "\ - - -\(fn CL-ITEM CL-LIST &rest CL-KEYS)" nil nil) - -(autoload 'cl-assoc "cl-seq" "\ -Find the first item whose car matches ITEM in LIST. - -Keywords supported: :test :test-not :key - -\(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) - -(eval-and-compile (put 'cl-assoc 'compiler-macro #'cl--compiler-macro-assoc)) - -(autoload 'cl-assoc-if "cl-seq" "\ -Find the first item whose car satisfies PREDICATE in LIST. - -Keywords supported: :key - -\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-assoc-if-not "cl-seq" "\ -Find the first item whose car does not satisfy PREDICATE in LIST. - -Keywords supported: :key - -\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-rassoc "cl-seq" "\ -Find the first item whose cdr matches ITEM in LIST. - -Keywords supported: :test :test-not :key - -\(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-rassoc-if "cl-seq" "\ -Find the first item whose cdr satisfies PREDICATE in LIST. - -Keywords supported: :key - -\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-rassoc-if-not "cl-seq" "\ -Find the first item whose cdr does not satisfy PREDICATE in LIST. - -Keywords supported: :key - -\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-union "cl-seq" "\ -Combine LIST1 and LIST2 using a set-union operation. -The resulting list contains all items that appear in either LIST1 or LIST2. -This is a non-destructive function; it makes a copy of the data if necessary -to avoid corrupting the original LIST1 and LIST2. - -Keywords supported: :test :test-not :key - -\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nunion "cl-seq" "\ -Combine LIST1 and LIST2 using a set-union operation. -The resulting list contains all items that appear in either LIST1 or LIST2. -This is a destructive function; it reuses the storage of LIST1 and LIST2 -whenever possible. - -Keywords supported: :test :test-not :key - -\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-intersection "cl-seq" "\ -Combine LIST1 and LIST2 using a set-intersection operation. -The resulting list contains all items that appear in both LIST1 and LIST2. -This is a non-destructive function; it makes a copy of the data if necessary -to avoid corrupting the original LIST1 and LIST2. - -Keywords supported: :test :test-not :key - -\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nintersection "cl-seq" "\ -Combine LIST1 and LIST2 using a set-intersection operation. -The resulting list contains all items that appear in both LIST1 and LIST2. -This is a destructive function; it reuses the storage of LIST1 and LIST2 -whenever possible. - -Keywords supported: :test :test-not :key - -\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-set-difference "cl-seq" "\ -Combine LIST1 and LIST2 using a set-difference operation. -The resulting list contains all items that appear in LIST1 but not LIST2. -This is a non-destructive function; it makes a copy of the data if necessary -to avoid corrupting the original LIST1 and LIST2. - -Keywords supported: :test :test-not :key - -\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nset-difference "cl-seq" "\ -Combine LIST1 and LIST2 using a set-difference operation. -The resulting list contains all items that appear in LIST1 but not LIST2. -This is a destructive function; it reuses the storage of LIST1 and LIST2 -whenever possible. - -Keywords supported: :test :test-not :key - -\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-set-exclusive-or "cl-seq" "\ -Combine LIST1 and LIST2 using a set-exclusive-or operation. -The resulting list contains all items appearing in exactly one of LIST1, LIST2. -This is a non-destructive function; it makes a copy of the data if necessary -to avoid corrupting the original LIST1 and LIST2. - -Keywords supported: :test :test-not :key - -\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nset-exclusive-or "cl-seq" "\ -Combine LIST1 and LIST2 using a set-exclusive-or operation. -The resulting list contains all items appearing in exactly one of LIST1, LIST2. -This is a destructive function; it reuses the storage of LIST1 and LIST2 -whenever possible. - -Keywords supported: :test :test-not :key - -\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-subsetp "cl-seq" "\ -Return true if LIST1 is a subset of LIST2. -I.e., if every element of LIST1 also appears in LIST2. - -Keywords supported: :test :test-not :key - -\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-subst-if "cl-seq" "\ -Substitute NEW for elements matching PREDICATE in TREE (non-destructively). -Return a copy of TREE with all matching elements replaced by NEW. - -Keywords supported: :key - -\(fn NEW PREDICATE TREE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-subst-if-not "cl-seq" "\ -Substitute NEW for elts not matching PREDICATE in TREE (non-destructively). -Return a copy of TREE with all non-matching elements replaced by NEW. - -Keywords supported: :key - -\(fn NEW PREDICATE TREE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nsubst "cl-seq" "\ -Substitute NEW for OLD everywhere in TREE (destructively). -Any element of TREE which is `eql' to OLD is changed to NEW (via a call -to `setcar'). - -Keywords supported: :test :test-not :key - -\(fn NEW OLD TREE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nsubst-if "cl-seq" "\ -Substitute NEW for elements matching PREDICATE in TREE (destructively). -Any element of TREE which matches is changed to NEW (via a call to `setcar'). - -Keywords supported: :key - -\(fn NEW PREDICATE TREE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nsubst-if-not "cl-seq" "\ -Substitute NEW for elements not matching PREDICATE in TREE (destructively). -Any element of TREE which matches is changed to NEW (via a call to `setcar'). - -Keywords supported: :key - -\(fn NEW PREDICATE TREE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-sublis "cl-seq" "\ -Perform substitutions indicated by ALIST in TREE (non-destructively). -Return a copy of TREE with all matching elements replaced. - -Keywords supported: :test :test-not :key - -\(fn ALIST TREE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-nsublis "cl-seq" "\ -Perform substitutions indicated by ALIST in TREE (destructively). -Any matching element of TREE is changed via a call to `setcar'. - -Keywords supported: :test :test-not :key - -\(fn ALIST TREE [KEYWORD VALUE]...)" nil nil) - -(autoload 'cl-tree-equal "cl-seq" "\ -Return t if trees TREE1 and TREE2 have `eql' leaves. -Atoms are compared by `eql'; cons cells are compared recursively. - -Keywords supported: :test :test-not :key - -\(fn TREE1 TREE2 [KEYWORD VALUE]...)" nil nil) - -;;;*** - -;; Local Variables: -;; version-control: never -;; no-byte-compile: t -;; no-update-autoloads: t -;; coding: utf-8 -;; End: -;;; cl-loaddefs.el ends here diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 34957d86796..3cf744f1245 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1993, 2001-2013 Free Software Foundation, Inc. ;; Author: Dave Gillespie <daveg@synaptics.com> -;; Version: 2.02 +;; Old-Version: 2.02 ;; Keywords: extensions ;; Package: emacs @@ -2739,9 +2739,17 @@ surrounded by (cl-block NAME ...). (setq body (cond ((null substs) body) ((null (cdr substs)) (cl-subst (cdar substs) (caar substs) body)) - (t (cl-sublis substs body)))) + (t (cl--sublis substs body)))) (if lets `(let ,lets ,body) body)))) +(defun cl--sublis (alist tree) + "Perform substitutions indicated by ALIST in TREE (non-destructively)." + (let ((x (assq tree alist))) + (cond + (x (cdr x)) + ((consp tree) + (cons (cl--sublis alist (car tree)) (cl--sublis alist (cdr tree)))) + (t tree)))) ;; Compile-time optimizations for some functions defined in this package. diff --git a/lisp/emacs-lisp/cl-seq.el b/lisp/emacs-lisp/cl-seq.el index fbf68f62b4a..6b5b329e33f 100644 --- a/lisp/emacs-lisp/cl-seq.el +++ b/lisp/emacs-lisp/cl-seq.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1993, 2001-2013 Free Software Foundation, Inc. ;; Author: Dave Gillespie <daveg@synaptics.com> -;; Version: 2.02 +;; Old-Version: 2.02 ;; Keywords: extensions ;; Package: emacs diff --git a/lisp/emacs-lisp/eieio-custom.el b/lisp/emacs-lisp/eieio-custom.el index f9917bddd42..aff07b29edf 100644 --- a/lisp/emacs-lisp/eieio-custom.el +++ b/lisp/emacs-lisp/eieio-custom.el @@ -4,7 +4,8 @@ ;; Inc. ;; Author: Eric M. Ludlam <zappo@gnu.org> -;; Version: 0.2 +;; Old-Version: 0.2 (using "Version:" made Emacs think this is package +;; eieio-0.2). ;; Keywords: OO, lisp ;; Package: eieio diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index 3cdf1f078bd..fc5da3198f9 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -115,7 +115,12 @@ Options in CLOS not supported in EIEIO: Due to the way class options are set up, you can add any tags you wish, and reference them using the function `class-option'." - `(eieio-defclass ',name ',superclass ',slots ',options-and-doc)) + ;; This is eval-and-compile only to silence spurious compiler warnings + ;; about functions and variables not known to be defined. + ;; When eieio-defclass code is merged here and this becomes + ;; transparent to the compiler, the eval-and-compile can be removed. + `(eval-and-compile + (eieio-defclass ',name ',superclass ',slots ',options-and-doc))) ;;; CLOS style implementation of object creators. diff --git a/lisp/emacs-lisp/generic.el b/lisp/emacs-lisp/generic.el index cb86a554335..3eb64f9f7f0 100644 --- a/lisp/emacs-lisp/generic.el +++ b/lisp/emacs-lisp/generic.el @@ -44,11 +44,8 @@ ;; end at the end of the line.) Emacs does not support comment ;; strings of more than two characters in length. ;; -;; * List of keywords to font-lock. Each keyword should be a string. -;; If you have additional keywords which should be highlighted in a -;; face different from `font-lock-keyword-face', you can use the -;; convenience function `generic-make-keywords-list' (which see), -;; and add the result to the following list: +;; * List of keywords to font-lock in `font-lock-keyword-face'. +;; Each keyword should be a string. ;; ;; * Additional expressions to font-lock. This should be a list of ;; expressions, each of which should be of the same form as those in diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index cbd8854e7d6..af30deca4cc 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -1,4 +1,4 @@ -;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands +;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands -*- coding: utf-8 -*- ;; Copyright (C) 1985-1986, 1999-2013 Free Software Foundation, Inc. @@ -231,7 +231,7 @@ font-lock keywords will not be case sensitive." (font-lock-mark-block-function . mark-defun) (font-lock-syntactic-face-function . lisp-font-lock-syntactic-face-function))) - (prog-prettify-install lisp--prettify-symbols-alist)) + (setq-local prettify-symbols-alist lisp--prettify-symbols-alist)) (defun lisp-outline-level () "Lisp mode `outline-level' function." diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index a31bef2391d..b37a811b8d5 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -59,7 +59,8 @@ Should take the same arguments and behave similarly to `forward-sexp'.") "Move forward across one balanced expression (sexp). With ARG, do it that many times. Negative arg -N means move backward across N balanced expressions. -This command assumes point is not in a string or comment." +This command assumes point is not in a string or comment. +Calls `forward-sexp-function' to do the work, if that is non-nil." (interactive "^p") (or arg (setq arg 1)) (if forward-sexp-function @@ -71,7 +72,8 @@ This command assumes point is not in a string or comment." "Move backward across one balanced expression (sexp). With ARG, do it that many times. Negative arg -N means move forward across N balanced expressions. -This command assumes point is not in a string or comment." +This command assumes point is not in a string or comment. +Uses `forward-sexp' to do the work." (interactive "^p") (or arg (setq arg 1)) (forward-sexp (- arg))) diff --git a/lisp/emacs-lisp/map-ynp.el b/lisp/emacs-lisp/map-ynp.el index 13202a9ce4d..1919d47687b 100644 --- a/lisp/emacs-lisp/map-ynp.el +++ b/lisp/emacs-lisp/map-ynp.el @@ -1,4 +1,4 @@ -;;; map-ynp.el --- general-purpose boolean question-asker +;;; map-ynp.el --- general-purpose boolean question-asker -*- lexical-binding:t -*- ;; Copyright (C) 1991-1995, 2000-2013 Free Software Foundation, Inc. @@ -79,7 +79,7 @@ are meaningful here. Returns the number of actions taken." (let* ((actions 0) - user-keys mouse-event map prompt char elt tail def + user-keys mouse-event map prompt char elt def ;; Non-nil means we should use mouse menus to ask. use-menus delayed-switch-frame @@ -89,13 +89,15 @@ Returns the number of actions taken." (next (if (functionp list) (lambda () (setq elt (funcall list))) (lambda () (when list - (setq elt (pop list)) - t))))) + (setq elt (pop list)) + t)))) + (try-again (lambda () + (let ((x next)) + (setq next (lambda () (setq next x) elt)))))) (if (and (listp last-nonmenu-event) use-dialog-box) ;; Make a list describing a dialog box. - (let ((object (if help (capitalize (nth 0 help)))) - (objects (if help (capitalize (nth 1 help)))) + (let ((objects (if help (capitalize (nth 1 help)))) (action (if help (capitalize (nth 2 help))))) (setq map `(("Yes" . act) ("No" . skip) ,@(mapcar (lambda (elt) @@ -129,8 +131,8 @@ Returns the number of actions taken." (unwind-protect (progn (if (stringp prompter) - (setq prompter `(lambda (object) - (format ,prompter object)))) + (setq prompter (lambda (object) + (format prompter object)))) (while (funcall next) (setq prompt (funcall prompter elt)) (cond ((stringp prompt) @@ -176,9 +178,7 @@ Returns the number of actions taken." next (lambda () nil))) ((eq def 'quit) (setq quit-flag t) - (setq next `(lambda () - (setq next ',next) - ',elt))) + (funcall try-again)) ((eq def 'automatic) ;; Act on this and all following objects. (if (funcall prompter elt) @@ -219,40 +219,30 @@ the current %s and exit." (with-current-buffer standard-output (help-mode))) - (setq next `(lambda () - (setq next ',next) - ',elt))) - ((and (symbolp def) (commandp def)) - (call-interactively def) - ;; Regurgitated; try again. - (setq next `(lambda () - (setq next ',next) - ',elt))) + (funcall try-again)) + ((and (symbolp def) (commandp def)) + (call-interactively def) + ;; Regurgitated; try again. + (funcall try-again)) ((vectorp def) ;; A user-defined key. (if (funcall (aref def 0) elt) ;Call its function. ;; The function has eaten this object. (setq actions (1+ actions)) ;; Regurgitated; try again. - (setq next `(lambda () - (setq next ',next) - ',elt)))) + (funcall try-again))) ((and (consp char) (eq (car char) 'switch-frame)) ;; switch-frame event. Put it off until we're done. (setq delayed-switch-frame char) - (setq next `(lambda () - (setq next ',next) - ',elt))) + (funcall try-again)) (t ;; Random char. (message "Type %s for help." (key-description (vector help-char))) (beep) (sit-for 1) - (setq next `(lambda () - (setq next ',next) - ',elt))))) + (funcall try-again)))) (prompt (funcall actor elt) (setq actions (1+ actions)))))) diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el index c08d671e7eb..8b149aad7bb 100644 --- a/lisp/emacs-lisp/nadvice.el +++ b/lisp/emacs-lisp/nadvice.el @@ -313,8 +313,7 @@ of the piece of advice." (when (get symbol 'advice--saved-rewrite) (put symbol 'advice--saved-rewrite nil)) (setq newdef (advice--normalize symbol newdef)) - (let* ((olddef (advice--strip-macro - (if (fboundp symbol) (symbol-function symbol)))) + (let* ((olddef (advice--strip-macro (symbol-function symbol))) (oldadv (cond ((null (get symbol 'advice--pending)) @@ -324,15 +323,18 @@ of the piece of advice." symbol) nil))) ((or (not olddef) (autoloadp olddef)) - (prog1 (get symbol 'advice--pending) - (put symbol 'advice--pending nil))) + (get symbol 'advice--pending)) (t (message "Dropping left-over advice--pending for %s" symbol) - (put symbol 'advice--pending nil) olddef)))) - (let* ((snewdef (advice--strip-macro newdef)) - (snewadv (advice--subst-main oldadv snewdef))) - (funcall (or fsetfun #'fset) symbol - (if (eq snewdef newdef) snewadv (cons 'macro snewadv)))))) + (if (and newdef (not (autoloadp newdef))) + (let* ((snewdef (advice--strip-macro newdef)) + (snewadv (advice--subst-main oldadv snewdef))) + (put symbol 'advice--pending nil) + (funcall (or fsetfun #'fset) symbol + (if (eq snewdef newdef) snewadv (cons 'macro snewadv)))) + (unless (eq oldadv (get symbol 'advice--pending)) + (put symbol 'advice--pending (advice--subst-main oldadv nil))) + (funcall (or fsetfun #'fset) symbol newdef)))) ;;;###autoload @@ -345,7 +347,7 @@ is defined as a macro, alias, command, ..." ;; - change all defadvice in lisp/**/*.el. ;; - rewrite advice.el on top of this. ;; - obsolete advice.el. - (let* ((f (and (fboundp symbol) (symbol-function symbol))) + (let* ((f (symbol-function symbol)) (nf (advice--normalize symbol f))) (unless (eq f nf) ;; Most importantly, if nf == nil! (fset symbol nf)) @@ -370,37 +372,34 @@ is defined as a macro, alias, command, ..." ;;;###autoload (defun advice-remove (symbol function) "Like `remove-function' but for the function named SYMBOL. -Contrary to `remove-function', this will work also when SYMBOL is a macro -and it will not signal an error if SYMBOL is not `fboundp'. +Contrary to `remove-function', this also works when SYMBOL is a macro +or an autoload and it preserves `fboundp'. Instead of the actual function to remove, FUNCTION can also be the `name' of the piece of advice." - (when (fboundp symbol) - (let ((f (symbol-function symbol))) - ;; Can't use the `if' place here, because the body is too large, - ;; resulting in use of code that only works with lexical-scoping. - (remove-function (if (eq (car-safe f) 'macro) - (cdr f) - (symbol-function symbol)) - function) - (unless (advice--p - (if (eq (car-safe f) 'macro) (cdr f) (symbol-function symbol))) - ;; Not advised any more. - (remove-function (get symbol 'defalias-fset-function) - #'advice--defalias-fset) - (if (eq (symbol-function symbol) - (cdr (get symbol 'advice--saved-rewrite))) - (fset symbol (car (get symbol 'advice--saved-rewrite)))))) - nil)) - -;; (defun advice-mapc (fun symbol) -;; "Apply FUN to every function added as advice to SYMBOL. -;; FUN is called with a two arguments: the function that was added, and the -;; properties alist that was specified when it was added." -;; (let ((def (or (get symbol 'advice--pending) -;; (if (fboundp symbol) (symbol-function symbol))))) -;; (while (advice--p def) -;; (funcall fun (advice--car def) (advice--props def)) -;; (setq def (advice--cdr def))))) + (let ((f (symbol-function symbol))) + ;; Can't use the `if' place here, because the body is too large, + ;; resulting in use of code that only works with lexical-scoping. + (remove-function (if (eq (car-safe f) 'macro) + (cdr f) + (symbol-function symbol)) + function) + (unless (advice--p + (if (eq (car-safe f) 'macro) (cdr f) (symbol-function symbol))) + ;; Not advised any more. + (remove-function (get symbol 'defalias-fset-function) + #'advice--defalias-fset) + (if (eq (symbol-function symbol) + (cdr (get symbol 'advice--saved-rewrite))) + (fset symbol (car (get symbol 'advice--saved-rewrite)))))) + nil) + +(defun advice-mapc (fun def) + "Apply FUN to every advice function in DEF. +FUN is called with a two arguments: the function that was added, and the +properties alist that was specified when it was added." + (while (advice--p def) + (funcall fun (advice--car def) (advice--props def)) + (setq def (advice--cdr def)))) ;;;###autoload (defun advice-member-p (advice function-name) @@ -410,8 +409,7 @@ of the piece of advice." (advice--member-p advice advice (or (get function-name 'advice--pending) (advice--strip-macro - (if (fboundp function-name) - (symbol-function function-name)))))) + (symbol-function function-name))))) ;; When code is advised, called-interactively-p needs to be taught to skip ;; the advising frames. diff --git a/lisp/emacs-lisp/package-x.el b/lisp/emacs-lisp/package-x.el index 17919d9bbeb..76d7565d64b 100644 --- a/lisp/emacs-lisp/package-x.el +++ b/lisp/emacs-lisp/package-x.el @@ -4,7 +4,6 @@ ;; Author: Tom Tromey <tromey@redhat.com> ;; Created: 10 Mar 2007 -;; Version: 0.9 ;; Keywords: tools ;; Package: package @@ -205,12 +204,12 @@ if it exists." package--default-summary) (read-string "Description of package: ") (package-desc-summary pkg-desc))) - (pkg-version (package-desc-version pkg-desc)) + (split-version (package-desc-version pkg-desc)) (commentary (pcase file-type (`single (lm-commentary)) (`tar nil))) ;; FIXME: Get it from the README file. - (split-version (version-to-list pkg-version)) + (pkg-version (package-version-join split-version)) (pkg-buffer (current-buffer))) ;; Get archive-contents from ARCHIVE-URL if it's non-nil, or @@ -224,7 +223,7 @@ if it exists." (let ((elt (assq pkg-name (cdr contents)))) (if elt (if (version-list-<= split-version - (package-desc-vers (cdr elt))) + (package--ac-desc-version (cdr elt))) (error "New package has smaller version: %s" pkg-version) (setcdr elt new-desc)) (setq contents (cons (car contents) @@ -291,10 +290,11 @@ If `package-archive-upload-base' does not specify a valid upload destination, prompt for one." (interactive "fPackage file name: ") (with-temp-buffer - (insert-file-contents-literally file) + (insert-file-contents file) (let ((pkg-desc (cond - ((string-match "\\.tar\\'" file) (package-tar-file-info file)) + ((string-match "\\.tar\\'" file) + (tar-mode) (package-tar-file-info)) ((string-match "\\.el\\'" file) (package-buffer-info)) (t (error "Unrecognized extension `%s'" (file-name-extension file)))))) diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index d5176abded0..32339249085 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -1,8 +1,9 @@ -;;; package.el --- Simple package system for Emacs +;;; package.el --- Simple package system for Emacs -*- lexical-binding:t -*- ;; Copyright (C) 2007-2013 Free Software Foundation, Inc. ;; Author: Tom Tromey <tromey@redhat.com> +;; Daniel Hackney <dan@haxney.org> ;; Created: 10 Mar 2007 ;; Version: 1.0.1 ;; Keywords: tools @@ -140,7 +141,6 @@ ;; installing it ;; - Interface with desktop.el so that restarting after an install ;; works properly -;; - Implement M-x package-upgrade, to upgrade any/all existing packages ;; - Use hierarchical layout. PKG/etc PKG/lisp PKG/info ;; ... except maybe lisp? ;; - It may be nice to have a macro that expands to the package's @@ -159,14 +159,7 @@ ;; - Allow optional package dependencies ;; then if we require 'bbdb', bbdb-specific lisp in lisp/bbdb ;; and just don't compile to add to load path ...? -;; - Have a list of archive URLs? [ maybe there's no point ] -;; - David Kastrup pointed out on the xemacs list that for GPL it -;; is friendlier to ship the source tree. We could "support" that -;; by just having a "src" subdir in the package. This isn't ideal -;; but it probably is not worth trying to support random source -;; tree layouts, build schemes, etc. ;; - Our treatment of the info path is somewhat bogus -;; - perhaps have an "unstable" tree in ELPA as well as a stable one ;;; Code: @@ -200,8 +193,7 @@ versions of all packages not specified by other elements. For an element (NAME VERSION), NAME is a package name (a symbol). VERSION should be t, a string, or nil. -If VERSION is t, all versions are loaded, though obsolete ones - will be put in `package-obsolete-alist' and not activated. +If VERSION is t, the most recent version is activated. If VERSION is a string, only that version is ever loaded. Any other version, even if newer, is silently ignored. Hence, the package is \"held\" at that version. @@ -242,7 +234,7 @@ a package can run arbitrary code." Each element has the form (SYM . ID). SYM is a package, as a symbol. - ID is an archive name, as a string. This should correspond to an + ID is an archive name. This should correspond to an entry in `package-archives'. If the archive of name ID does not contain the package SYM, no @@ -258,14 +250,11 @@ package unavailable." "Version number of the package archive understood by this file. Lower version numbers than this will probably be understood as well.") -(defconst package-el-version "1.0.1" - "Version of package.el.") - ;; We don't prime the cache since it tends to get out of date. (defvar package-archive-contents nil "Cache of the contents of the Emacs Lisp Package Archive. This is an alist mapping package names (symbols) to -`package--desc' structures.") +non-empty lists of `package-desc' structures.") (put 'package-archive-contents 'risky-local-variable t) (defcustom package-user-dir (locate-user-emacs-file "elpa") @@ -318,31 +307,46 @@ contrast, `package-user-dir' contains packages for personal use." (nth 1 requirements) requirements)))))) "Structure containing information about an individual package. - Slots: -`name' Name of the package, as a symbol. +`name' Name of the package, as a symbol. `version' Version of the package, as a version list. `summary' Short description of the package, typically taken from -the first line of the file. + the first line of the file. -`reqs' Requirements of the package. A list of (PACKAGE -VERSION-LIST) naming the dependent package and the minimum -required version. +`reqs' Requirements of the package. A list of (PACKAGE + VERSION-LIST) naming the dependent package and the minimum + required version. -`kind' The distribution format of the package. Currently, it is -either `single' or `tar'. +`kind' The distribution format of the package. Currently, it is + either `single' or `tar'. `archive' The name of the archive (as a string) whence this -package came." + package came. + +`dir' The directory where the package is installed (if installed), + `builtin' if it is built-in, or nil otherwise." name version (summary package--default-summary) reqs kind - archive) + archive + dir) + +;; Pseudo fields. +(defun package-desc-full-name (pkg-desc) + (format "%s-%s" + (package-desc-name pkg-desc) + (package-version-join (package-desc-version pkg-desc)))) + +(defun package-desc-suffix (pkg-desc) + (pcase (package-desc-kind pkg-desc) + (`single ".el") + (`tar ".tar") + (kind (error "Unknown package kind: %s" kind)))) ;; Package descriptor format used in finder-inf.el and package--builtins. (cl-defstruct (package--bi-desc @@ -352,8 +356,6 @@ package came." reqs summary) -;; The value is precomputed in finder-inf.el, but don't load that -;; until it's needed (i.e. when `package-initialize' is called). (defvar package--builtins nil "Alist of built-in packages. The actual value is initialized by loading the library @@ -366,8 +368,9 @@ name (a symbol) and DESC is a `package--bi-desc' structure.") (defvar package-alist nil "Alist of all packages available for activation. -Each element has the form (PKG . DESC), where PKG is a package -name (a symbol) and DESC is a `package-desc' structure. +Each element has the form (PKG . DESCS), where PKG is a package +name (a symbol) and DESCS is a non-empty list of `package-desc' structure, +sorted by decreasing versions. This variable is set automatically by `package-load-descriptor', called via `package-initialize'. To change which packages are @@ -375,18 +378,10 @@ loaded and/or activated, customize `package-load-list'.") (put 'package-alist 'risky-local-variable t) (defvar package-activated-list nil + ;; FIXME: This should implicitly include all builtin packages. "List of the names of currently activated packages.") (put 'package-activated-list 'risky-local-variable t) -(defvar package-obsolete-alist nil - "Representation of obsolete packages. -Like `package-alist', but maps package name to a second alist. -The inner alist is keyed by version. - -Each element of the list is (NAME . VERSION-ALIST), where each -entry in VERSION-ALIST is (VERSION-LIST . PACKAGE-DESC).") -(put 'package-obsolete-alist 'risky-local-variable t) - (defun package-version-join (vlist) "Return the version string corresponding to the list VLIST. This is, approximately, the inverse of `version-to-list'. @@ -416,23 +411,18 @@ This is, approximately, the inverse of `version-to-list'. (pop str-list)) (apply 'concat (nreverse str-list))))) -(defun package-strip-version (dirname) - "Strip the version from a combined package name and version. -E.g., if given \"quux-23.0\", will return \"quux\"" - (if (string-match (concat "\\`" package-subdirectory-regexp "\\'") dirname) - (match-string 1 dirname))) - -(defun package-load-descriptor (dir package) - "Load the description file in directory DIR for package PACKAGE. -Here, PACKAGE is a string of the form NAME-VERSION, where NAME is -the package name and VERSION is its version." - (let* ((pkg-dir (expand-file-name package dir)) - (pkg-file (expand-file-name - (concat (package-strip-version package) "-pkg") - pkg-dir))) - (when (and (file-directory-p pkg-dir) - (file-exists-p (concat pkg-file ".el"))) - (load pkg-file nil t)))) +(defun package-load-descriptor (pkg-dir) + "Load the description file in directory PKG-DIR." + (let ((pkg-file (expand-file-name (package--description-file pkg-dir) + pkg-dir))) + (when (file-exists-p pkg-file) + (with-temp-buffer + (insert-file-contents pkg-file) + (goto-char (point-min)) + (let ((pkg-desc (package-process-define-package + (read (current-buffer)) pkg-file))) + (setf (package-desc-dir pkg-desc) pkg-dir) + pkg-desc))))) (defun package-load-all-descriptors () "Load descriptors for installed Emacs Lisp packages. @@ -442,66 +432,35 @@ controls which package subdirectories may be loaded. In each valid package subdirectory, this function loads the description file containing a call to `define-package', which -updates `package-alist' and `package-obsolete-alist'." - (let ((regexp (concat "\\`" package-subdirectory-regexp "\\'"))) - (dolist (dir (cons package-user-dir package-directory-list)) - (when (file-directory-p dir) - (dolist (subdir (directory-files dir)) - (when (string-match regexp subdir) - (package-maybe-load-descriptor (match-string 1 subdir) - (match-string 2 subdir) - dir))))))) - -(defun package-maybe-load-descriptor (name version dir) - "Maybe load a specific package from directory DIR. -NAME and VERSION are the package's name and version strings. -This function checks `package-load-list', before actually loading -the package by calling `package-load-descriptor'." - (let ((force (assq (intern name) package-load-list)) - (subdir (concat name "-" version))) - (and (file-directory-p (expand-file-name subdir dir)) - ;; Check `package-load-list': - (cond ((null force) - (memq 'all package-load-list)) - ((null (setq force (cadr force))) - nil) ; disabled - ((eq force t) - t) - ((stringp force) ; held - (version-list-= (version-to-list version) - (version-to-list force))) - (t - (error "Invalid element in `package-load-list'"))) - ;; Actually load the descriptor: - (package-load-descriptor dir subdir)))) - -(define-obsolete-function-alias 'package-desc-vers 'package-desc-version "24.4") - -(define-obsolete-function-alias 'package-desc-doc 'package-desc-summary "24.4") - - -(defun package--dir (name version) - ;; FIXME: Keep this as a field in the package-desc. - "Return the directory where a package is installed, or nil if none. -NAME is a symbol and VERSION is a string." - (let* ((subdir (format "%s-%s" name version)) - (dir-list (cons package-user-dir package-directory-list)) - pkg-dir) - (while dir-list - (let ((subdir-full (expand-file-name subdir (car dir-list)))) - (if (file-directory-p subdir-full) - (setq pkg-dir subdir-full - dir-list nil) - (setq dir-list (cdr dir-list))))) - pkg-dir)) +updates `package-alist'." + (dolist (dir (cons package-user-dir package-directory-list)) + (when (file-directory-p dir) + (dolist (subdir (directory-files dir)) + (let ((pkg-dir (expand-file-name subdir dir))) + (when (file-directory-p pkg-dir) + (package-load-descriptor pkg-dir))))))) + +(defun package-disabled-p (pkg-name version) + "Return whether PKG-NAME at VERSION can be activated. +The decision is made according to `package-load-list'. +Return nil if the package can be activated. +Return t if the package is completely disabled. +Return the max version (as a string) if the package is held at a lower version." + (let ((force (assq pkg-name package-load-list))) + (cond ((null force) (not (memq 'all package-load-list))) + ((null (setq force (cadr force))) t) ; disabled + ((eq force t) nil) + ((stringp force) ; held + (unless (version-list-= version (version-to-list force)) + force)) + (t (error "Invalid element in `package-load-list'"))))) (defun package-activate-1 (pkg-desc) (let* ((name (package-desc-name pkg-desc)) - (version-str (package-version-join (package-desc-version pkg-desc))) - (pkg-dir (package--dir name version-str))) + (pkg-dir (package-desc-dir pkg-desc))) (unless pkg-dir - (error "Internal error: unable to find directory for `%s-%s'" - name version-str)) + (error "Internal error: unable to find directory for `%s'" + (package-desc-full-name pkg-desc))) ;; Add info node. (when (file-exists-p (expand-file-name "dir" pkg-dir)) ;; FIXME: not the friendliest, but simple. @@ -519,47 +478,51 @@ NAME is a symbol and VERSION is a string." "Return true if PACKAGE is built-in to Emacs. Optional arg MIN-VERSION, if non-nil, should be a version list specifying the minimum acceptable version." - (require 'finder-inf nil t) ; For `package--builtins'. - (if (eq package 'emacs) - (version-list-<= min-version (version-to-list emacs-version)) - (let ((elt (assq package package--builtins))) - (and elt (version-list-<= min-version - (package--bi-desc-version (cdr elt))))))) + (let ((bi (assq package package--builtin-versions))) + (cond + (bi (version-list-<= min-version (cdr bi))) + (min-version nil) + (t + (require 'finder-inf nil t) ; For `package--builtins'. + (assq package package--builtins))))) (defun package--from-builtin (bi-desc) (package-desc-create :name (pop bi-desc) :version (package--bi-desc-version bi-desc) - :summary (package--bi-desc-summary bi-desc))) + :summary (package--bi-desc-summary bi-desc) + :dir 'builtin)) ;; This function goes ahead and activates a newer version of a package ;; if an older one was already activated. This is not ideal; we'd at ;; least need to check to see if the package has actually been loaded, ;; and not merely activated. -(defun package-activate (package min-version) - "Activate package PACKAGE, of version MIN-VERSION or newer. -MIN-VERSION should be a version list. -If PACKAGE has any dependencies, recursively activate them. -Return nil if the package could not be activated." - (let ((pkg-vec (cdr (assq package package-alist))) - available-version found) +(defun package-activate (package &optional force) + "Activate package PACKAGE. +If FORCE is true, (re-)activate it if it's already activated." + (let ((pkg-descs (cdr (assq package package-alist)))) ;; Check if PACKAGE is available in `package-alist'. - (when pkg-vec - (setq available-version (package-desc-version pkg-vec) - found (version-list-<= min-version available-version))) + (while + (when pkg-descs + (let ((available-version (package-desc-version (car pkg-descs)))) + (or (package-disabled-p package available-version) + ;; Prefer a builtin package. + (package-built-in-p package available-version)))) + (setq pkg-descs (cdr pkg-descs))) (cond ;; If no such package is found, maybe it's built-in. - ((null found) - (package-built-in-p package min-version)) + ((null pkg-descs) + (package-built-in-p package)) ;; If the package is already activated, just return t. - ((memq package package-activated-list) + ((and (memq package package-activated-list) (not force)) t) ;; Otherwise, proceed with activation. (t - (let ((fail (catch 'dep-failure - ;; Activate its dependencies recursively. - (dolist (req (package-desc-reqs pkg-vec)) - (unless (package-activate (car req) (cadr req)) - (throw 'dep-failure req)))))) + (let* ((pkg-vec (car pkg-descs)) + (fail (catch 'dep-failure + ;; Activate its dependencies recursively. + (dolist (req (package-desc-reqs pkg-vec)) + (unless (package-activate (car req) (cadr req)) + (throw 'dep-failure req)))))) (if fail (warn "Unable to activate package `%s'. Required package `%s-%s' is unavailable" @@ -567,23 +530,9 @@ Required package `%s-%s' is unavailable" ;; If all goes well, activate the package itself. (package-activate-1 pkg-vec))))))) -(defun package-mark-obsolete (package pkg-vec) - "Put package on the obsolete list, if not already there." - (let ((elt (assq package package-obsolete-alist))) - (if elt - ;; If this obsolete version does not exist in the list, update - ;; it the list. - (unless (assoc (package-desc-version pkg-vec) (cdr elt)) - (setcdr elt (cons (cons (package-desc-version pkg-vec) pkg-vec) - (cdr elt)))) - ;; Make a new association. - (push (cons package (list (cons (package-desc-version pkg-vec) - pkg-vec))) - package-obsolete-alist)))) - -(defun define-package (name-string version-string - &optional docstring requirements - &rest _extra-properties) +(defun define-package (_name-string _version-string + &optional _docstring _requirements + &rest _extra-properties) "Define a new package. NAME-STRING is the name of the package, as a string. VERSION-STRING is the version of the package, as a string. @@ -593,31 +542,30 @@ REQUIREMENTS is a list of dependencies on other packages. where OTHER-VERSION is a string. EXTRA-PROPERTIES is currently unused." - (let* ((name (intern name-string)) - (version (version-to-list version-string)) - (new-pkg-desc (cons name - (package-desc-from-define name-string - version-string - docstring - requirements))) - (old-pkg (assq name package-alist))) - (cond - ;; If there's no old package, just add this to `package-alist'. - ((null old-pkg) - (push new-pkg-desc package-alist)) - ((version-list-< (package-desc-version (cdr old-pkg)) version) - ;; Remove the old package and declare it obsolete. - (package-mark-obsolete name (cdr old-pkg)) - (setq package-alist (cons new-pkg-desc - (delq old-pkg package-alist)))) - ;; You can have two packages with the same version, e.g. one in - ;; the system package directory and one in your private - ;; directory. We just let the first one win. - ((not (version-list-= (package-desc-version (cdr old-pkg)) version)) - ;; The package is born obsolete. - (package-mark-obsolete name (cdr new-pkg-desc)))))) - -;; From Emacs 22. + ;; FIXME: Placeholder! Should we keep it? + (error "Don't call me!")) + +(defun package-process-define-package (exp origin) + (unless (eq (car-safe exp) 'define-package) + (error "Can't find define-package in %s" origin)) + (let* ((new-pkg-desc (apply #'package-desc-from-define (cdr exp))) + (name (package-desc-name new-pkg-desc)) + (version (package-desc-version new-pkg-desc)) + (old-pkgs (assq name package-alist))) + (if (null old-pkgs) + ;; If there's no old package, just add this to `package-alist'. + (push (list name new-pkg-desc) package-alist) + ;; If there is, insert the new package at the right place in the list. + (while + (if (and (cdr old-pkgs) + (version-list-< version + (package-desc-version (cadr old-pkgs)))) + (setq old-pkgs (cdr old-pkgs)) + (push new-pkg-desc (cdr old-pkgs)) + nil))) + new-pkg-desc)) + +;; From Emacs 22, but changed so it adds to load-path. (defun package-autoload-ensure-default-file (file) "Make sure that the autoload file FILE exists and if not create it." (unless (file-exists-p file) @@ -637,6 +585,9 @@ EXTRA-PROPERTIES is currently unused." nil file)) file) +(defvar generated-autoload-file) +(defvar version-control) + (defun package-generate-autoloads (name pkg-dir) (require 'autoload) ;Load before we let-bind generated-autoload-file! (let* ((auto-name (format "%s-autoloads.el" name)) @@ -673,71 +624,79 @@ untar into a directory named DIR; otherwise, signal an error." (error "Package does not untar cleanly into directory %s/" dir))))) (tar-untar-buffer)) -(defun package-unpack (package version) - (let* ((name (symbol-name package)) - (dirname (concat name "-" version)) +(defun package-generate-description-file (pkg-desc pkg-dir) + "Create the foo-pkg.el file for single-file packages." + (let* ((name (package-desc-name pkg-desc)) + (pkg-file (expand-file-name (package--description-file pkg-dir) + pkg-dir))) + (let ((print-level nil) + (print-quoted t) + (print-length nil)) + (write-region + (concat + (prin1-to-string + (list 'define-package + (symbol-name name) + (package-version-join (package-desc-version pkg-desc)) + (package-desc-summary pkg-desc) + (let ((requires (package-desc-reqs pkg-desc))) + (list 'quote + ;; Turn version lists into string form. + (mapcar + (lambda (elt) + (list (car elt) + (package-version-join (cadr elt)))) + requires))))) + "\n") + nil + pkg-file)))) + +(defun package-unpack (pkg-desc) + "Install the contents of the current buffer as a package." + (let* ((name (package-desc-name pkg-desc)) + (dirname (package-desc-full-name pkg-desc)) (pkg-dir (expand-file-name dirname package-user-dir))) - (make-directory package-user-dir t) - ;; FIXME: should we delete PKG-DIR if it exists? - (let* ((default-directory (file-name-as-directory package-user-dir))) - (package-untar-buffer dirname) - (package--make-autoloads-and-compile package pkg-dir)))) - -(defun package--make-autoloads-and-compile (name pkg-dir) - "Generate autoloads and do byte-compilation for package named NAME. -PKG-DIR is the name of the package directory." - (let ((auto-name (package-generate-autoloads name pkg-dir)) - (load-path (cons pkg-dir load-path))) - ;; We must load the autoloads file before byte compiling, in - ;; case there are magic cookies to set up non-trivial paths. - (load auto-name nil t) - ;; FIXME: Compilation should be done as a separate, optional, step. - ;; E.g. for multi-package installs, we should first install all packages - ;; and then compile them. - (byte-recompile-directory pkg-dir 0 t))) + (pcase (package-desc-kind pkg-desc) + (`tar + (make-directory package-user-dir t) + ;; FIXME: should we delete PKG-DIR if it exists? + (let* ((default-directory (file-name-as-directory package-user-dir))) + (package-untar-buffer dirname))) + (`single + (let ((el-file (expand-file-name (format "%s.el" name) pkg-dir))) + (make-directory pkg-dir t) + (package--write-file-no-coding el-file))) + (kind (error "Unknown package kind: %S" kind))) + (package--make-autoloads-and-stuff pkg-desc pkg-dir) + ;; Update package-alist. + (let ((new-desc (package-load-descriptor pkg-dir))) + ;; FIXME: Check that `new-desc' matches `desc'! + ;; FIXME: Compilation should be done as a separate, optional, step. + ;; E.g. for multi-package installs, we should first install all packages + ;; and then compile them. + (package--compile new-desc)) + ;; Try to activate it. + (package-activate name 'force) + pkg-dir)) + +(defun package--make-autoloads-and-stuff (pkg-desc pkg-dir) + "Generate autoloads, description file, etc.. for PKG-DESC installed at PKG-DIR." + (package-generate-autoloads (package-desc-name pkg-desc) pkg-dir) + (let ((desc-file (package--description-file pkg-dir))) + (unless (file-exists-p desc-file) + (package-generate-description-file pkg-desc pkg-dir))) + ;; FIXME: Create foo.info and dir file from foo.texi? + ) + +(defun package--compile (pkg-desc) + "Byte-compile installed package PKG-DESC." + (package-activate-1 pkg-desc) + (byte-recompile-directory (package-desc-dir pkg-desc) 0 t)) (defun package--write-file-no-coding (file-name) (let ((buffer-file-coding-system 'no-conversion)) (write-region (point-min) (point-max) file-name))) -(defun package-unpack-single (name version desc requires) - "Install the contents of the current buffer as a package." - ;; Special case "package". FIXME: Should this still be supported? - (if (eq name 'package) - (package--write-file-no-coding - (expand-file-name (format "%s.el" name) package-user-dir)) - (let* ((pkg-dir (expand-file-name (format "%s-%s" name - (package-version-join - (version-to-list version))) - package-user-dir)) - (el-file (expand-file-name (format "%s.el" name) pkg-dir)) - (pkg-file (expand-file-name (format "%s-pkg.el" name) pkg-dir))) - (make-directory pkg-dir t) - (package--write-file-no-coding el-file) - (let ((print-level nil) - (print-quoted t) - (print-length nil)) - (write-region - (concat - (prin1-to-string - (list 'define-package - (symbol-name name) - version - desc - (when requires ;Don't bother quoting nil. - (list 'quote - ;; Turn version lists into string form. - (mapcar - (lambda (elt) - (list (car elt) - (package-version-join (cadr elt)))) - requires))))) - "\n") - nil - pkg-file - nil nil nil 'excl)) - (package--make-autoloads-and-compile name pkg-dir)))) - (defmacro package--with-work-buffer (location file &rest body) "Run BODY in a buffer containing the contents of FILE at LOCATION. LOCATION is the base location of a package archive, and should be @@ -747,6 +706,7 @@ FILE is the name of a file relative to that base location. This macro retrieves FILE from LOCATION into a temporary buffer, and evaluates BODY while that buffer is current. This work buffer is killed afterwards. Return the last value in BODY." + (declare (indent 2) (debug t)) `(let* ((http (string-match "\\`https?:" ,location)) (buffer (if http @@ -777,23 +737,15 @@ It will move point to somewhere in the headers." (let ((response (url-http-parse-response))) (when (or (< response 200) (>= response 300)) (error "Error during download request:%s" - (buffer-substring-no-properties (point) (progn - (end-of-line) - (point))))))) - -(defun package-download-single (name version desc requires) - "Download and install a single-file package." - (let ((location (package-archive-base name)) - (file (concat (symbol-name name) "-" version ".el"))) - (package--with-work-buffer location file - (package-unpack-single name version desc requires)))) + (buffer-substring-no-properties (point) (line-end-position)))))) -(defun package-download-tar (name version) +(defun package-install-from-archive (pkg-desc) "Download and install a tar package." - (let ((location (package-archive-base name)) - (file (concat (symbol-name name) "-" version ".tar"))) + (let ((location (package-archive-base pkg-desc)) + (file (concat (package-desc-full-name pkg-desc) + (package-desc-suffix pkg-desc)))) (package--with-work-buffer location file - (package-unpack name version)))) + (package-unpack pkg-desc)))) (defvar package--initialized nil) @@ -801,16 +753,17 @@ It will move point to somewhere in the headers." "Return true if PACKAGE, of MIN-VERSION or newer, is installed. MIN-VERSION should be a version list." (unless package--initialized (error "package.el is not yet initialized!")) - (let ((pkg-desc (assq package package-alist))) - (if pkg-desc - (version-list-<= min-version - (package-desc-version (cdr pkg-desc))) - ;; Also check built-in packages. - (package-built-in-p package min-version)))) - -(defun package-compute-transaction (package-list requirements) - "Return a list of packages to be installed, including PACKAGE-LIST. -PACKAGE-LIST should be a list of package names (symbols). + (or + (let ((pkg-descs (cdr (assq package package-alist)))) + (and pkg-descs + (version-list-<= min-version + (package-desc-version (car pkg-descs))))) + ;; Also check built-in packages. + (package-built-in-p package min-version))) + +(defun package-compute-transaction (packages requirements) + "Return a list of packages to be installed, including PACKAGES. +PACKAGES should be a list of `package-desc'. REQUIREMENTS should be a list of additional requirements; each element in this list should have the form (PACKAGE VERSION-LIST), @@ -821,44 +774,65 @@ This function recursively computes the requirements of the packages in REQUIREMENTS, and returns a list of all the packages that must be installed. Packages that are already installed are not included in this list." + ;; FIXME: We really should use backtracking to explore the whole + ;; search space (e.g. if foo require bar-1.3, and bar-1.4 requires toto-1.1 + ;; whereas bar-1.3 requires toto-1.0 and the user has put a hold on toto-1.0: + ;; the current code might fail to see that it could install foo by using the + ;; older bar-1.3). (dolist (elt requirements) (let* ((next-pkg (car elt)) - (next-version (cadr elt))) - (unless (package-installed-p next-pkg next-version) + (next-version (cadr elt)) + (already ())) + (dolist (pkg packages) + (if (eq next-pkg (package-desc-name pkg)) + (setq already pkg))) + (cond + (already + (if (version-list-< next-version (package-desc-version already)) + ;; Move to front, so it gets installed early enough (bug#14082). + (setq packages (cons already (delq already packages))) + (error "Need package `%s-%s', but only %s is available" + next-pkg (package-version-join next-version) + (package-version-join (package-desc-version already))))) + + ((package-installed-p next-pkg next-version) nil) + + (t ;; A package is required, but not installed. It might also be ;; blocked via `package-load-list'. - (let ((pkg-desc (cdr (assq next-pkg package-archive-contents))) - hold) - (when (setq hold (assq next-pkg package-load-list)) - (setq hold (cadr hold)) - (cond ((eq hold t)) - ((eq hold nil) - (error "Required package '%s' is disabled" - (symbol-name next-pkg))) - ((null (stringp hold)) - (error "Invalid element in `package-load-list'")) - ((version-list-< (version-to-list hold) next-version) - (error "Package `%s' held at version %s, \ + (let ((pkg-descs (cdr (assq next-pkg package-archive-contents))) + (found nil) + (problem nil)) + (while (and pkg-descs (not found)) + (let* ((pkg-desc (pop pkg-descs)) + (version (package-desc-version pkg-desc)) + (disabled (package-disabled-p next-pkg version))) + (cond + ((version-list-< version next-version) + (error + "Need package `%s-%s', but only %s is available" + next-pkg (package-version-join next-version) + (package-version-join version))) + (disabled + (unless problem + (setq problem + (if (stringp disabled) + (format "Package `%s' held at version %s, \ but version %s required" - (symbol-name next-pkg) hold - (package-version-join next-version))))) - (unless pkg-desc - (error "Package `%s-%s' is unavailable" - (symbol-name next-pkg) - (package-version-join next-version))) - (unless (version-list-<= next-version - (package-desc-version pkg-desc)) - (error - "Need package `%s-%s', but only %s is available" - (symbol-name next-pkg) (package-version-join next-version) - (package-version-join (package-desc-version pkg-desc)))) - ;; Move to front, so it gets installed early enough (bug#14082). - (setq package-list (cons next-pkg (delq next-pkg package-list))) - (setq package-list - (package-compute-transaction package-list - (package-desc-reqs - pkg-desc))))))) - package-list) + next-pkg disabled + (package-version-join next-version)) + (format "Required package '%s' is disabled" + next-pkg))))) + (t (setq found pkg-desc))))) + (unless found + (if problem + (error problem) + (error "Package `%s-%s' is unavailable" + next-pkg (package-version-join next-version)))) + (setq packages + (package-compute-transaction (cons found packages) + (package-desc-reqs found)))))))) + packages) (defun package-read-from-string (str) "Read a Lisp expression from STR. @@ -902,10 +876,9 @@ If successful, set the variable `package-archive-contents'. If the archive version is too new, signal an error." ;; Version 1 of 'archive-contents' is identical to our internal ;; representation. - (let* ((dir (concat "archives/" archive)) - (contents-file (concat dir "/archive-contents")) - contents) - (when (setq contents (package--read-archive-file contents-file)) + (let* ((contents-file (format "archives/%s/archive-contents" archive)) + (contents (package--read-archive-file contents-file))) + (when contents (dolist (package contents) (package--add-to-archive-contents package archive))))) @@ -923,66 +896,51 @@ If the archive version is too new, signal an error." PACKAGE should have the form (NAME . PACKAGE--AC-DESC). Also, add the originating archive to the `package-desc' structure." (let* ((name (car package)) + (version (package--ac-desc-version (cdr package))) (pkg-desc (package-desc-create :name name - :version (package--ac-desc-version (cdr package)) + :version version :reqs (package--ac-desc-reqs (cdr package)) :summary (package--ac-desc-summary (cdr package)) :kind (package--ac-desc-kind (cdr package)) :archive archive)) - (entry (cons name pkg-desc)) - (existing-package (assq name package-archive-contents)) + (existing-packages (assq name package-archive-contents)) (pinned-to-archive (assoc name package-pinned-packages))) - (cond ((and pinned-to-archive - ;; If pinned to another archive, skip entirely. - (not (equal (cdr pinned-to-archive) archive))) - nil) - ((not existing-package) - (push entry package-archive-contents)) - ((version-list-< (package-desc-version (cdr existing-package)) - (package-desc-version pkg-desc)) - ;; Replace the entry with this one. - (setq package-archive-contents - (cons entry - (delq existing-package - package-archive-contents))))))) - -(defun package-download-transaction (package-list) - "Download and install all the packages in PACKAGE-LIST. -PACKAGE-LIST should be a list of package names (symbols). + (cond + ;; Skip entirely if pinned to another archive or already installed. + ((or (and pinned-to-archive + (not (equal (cdr pinned-to-archive) archive))) + (let ((bi (assq name package--builtin-versions))) + (and bi (version-list-= version (cdr bi)))) + (let ((ins (cdr (assq name package-alist)))) + (and ins (version-list-= version + (package-desc-version (car ins)))))) + nil) + ((not existing-packages) + (push (list name pkg-desc) package-archive-contents)) + (t + (while + (if (and (cdr existing-packages) + (version-list-< + version (package-desc-version (cadr existing-packages)))) + (setq existing-packages (cdr existing-packages)) + (push pkg-desc (cdr existing-packages)) + nil)))))) + +(defun package-download-transaction (packages) + "Download and install all the packages in PACKAGES. +PACKAGES should be a list of package-desc. This function assumes that all package requirements in -PACKAGE-LIST are satisfied, i.e. that PACKAGE-LIST is computed +PACKAGES are satisfied, i.e. that PACKAGES is computed using `package-compute-transaction'." - (dolist (elt package-list) - (let* ((desc (cdr (assq elt package-archive-contents))) - ;; As an exception, if package is "held" in - ;; `package-load-list', download the held version. - (hold (cadr (assq elt package-load-list))) - (v-string (or (and (stringp hold) hold) - (package-version-join (package-desc-version desc)))) - (kind (package-desc-kind desc))) - (cond - ((eq kind 'tar) - (package-download-tar elt v-string)) - ((eq kind 'single) - (package-download-single elt v-string - (package-desc-summary desc) - (package-desc-reqs desc))) - (t - (error "Unknown package kind: %s" (symbol-name kind)))) - ;; If package A depends on package B, then A may `require' B - ;; during byte compilation. So we need to activate B before - ;; unpacking A. - (package-maybe-load-descriptor (symbol-name elt) v-string - package-user-dir) - (package-activate elt (version-to-list v-string))))) + (mapc #'package-install-from-archive packages)) ;;;###autoload -(defun package-install (name) - "Install the package named NAME. -NAME should be the name of one of the available packages in an -archive in `package-archives'. Interactively, prompt for NAME." +(defun package-install (pkg) + "Install the package PKG. +PKG can be a package-desc or the package name of one the available packages +in an archive in `package-archives'. Interactively, prompt for its name." (interactive (progn ;; Initialize the package system to get the list of package @@ -992,19 +950,16 @@ archive in `package-archives'. Interactively, prompt for NAME." (unless package-archive-contents (package-refresh-contents)) (list (intern (completing-read - "Install package: " - (mapcar (lambda (elt) - (cons (symbol-name (car elt)) - nil)) - package-archive-contents) - nil t))))) - (let ((pkg-desc (assq name package-archive-contents))) - (unless pkg-desc - (error "Package `%s' is not available for installation" - (symbol-name name))) - (package-download-transaction - (package-compute-transaction (list name) - (package-desc-reqs (cdr pkg-desc)))))) + "Install package: " + (mapcar (lambda (elt) (symbol-name (car elt))) + package-archive-contents) + nil t))))) + (package-download-transaction + (if (package-desc-p pkg) + (package-compute-transaction (list pkg) + (package-desc-reqs pkg)) + (package-compute-transaction () + (list (list pkg)))))) (defun package-strip-rcs-id (str) "Strip RCS version ID from the version string STR. @@ -1051,63 +1006,51 @@ boundaries." (if requires-str (package-read-from-string requires-str)) :kind 'single)))) -(defun package-tar-file-info (file) +(declare-function tar-get-file-descriptor "tar-mode" (file)) +(declare-function tar--extract "tar-mode" (descriptor)) + +(defun package-tar-file-info () "Find package information for a tar file. -FILE is the name of the tar file to examine. -The return result is a vector like `package-buffer-info'." - (let ((default-directory (file-name-directory file)) - (file (file-name-nondirectory file))) - (unless (string-match (concat "\\`" package-subdirectory-regexp "\\.tar\\'") - file) - (error "Invalid package name `%s'" file)) - (let* ((pkg-name (match-string-no-properties 1 file)) - (pkg-version (match-string-no-properties 2 file)) - ;; Extract the package descriptor. - (pkg-def-contents (shell-command-to-string - ;; Requires GNU tar. - (concat "tar -xOf " file " " - pkg-name "-" pkg-version "/" - pkg-name "-pkg.el"))) - (pkg-def-parsed (package-read-from-string pkg-def-contents))) - (unless (eq (car pkg-def-parsed) 'define-package) - (error "No `define-package' sexp is present in `%s-pkg.el'" pkg-name)) - (let ((pkg-desc - (apply #'package-desc-from-define (append (cdr pkg-def-parsed) - '(:kind tar))))) - (unless (equal pkg-version - (package-version-join (package-desc-version pkg-desc))) - (error "Package has inconsistent versions")) - (unless (equal pkg-name (symbol-name (package-desc-name pkg-desc))) - (error "Package has inconsistent names")) - pkg-desc)))) +The return result is a `package-desc'." + (cl-assert (derived-mode-p 'tar-mode)) + (let* ((dir-name (file-name-directory + (tar-header-name (car tar-parse-info)))) + (desc-file (package--description-file dir-name)) + (tar-desc (tar-get-file-descriptor (concat dir-name desc-file)))) + (unless tar-desc + (error "No package descriptor file found")) + (with-current-buffer (tar--extract tar-desc) + (goto-char (point-min)) + (unwind-protect + (let* ((pkg-def-parsed (read (current-buffer))) + (pkg-desc + (if (not (eq (car pkg-def-parsed) 'define-package)) + (error "Can't find define-package in %s" + (tar-header-name tar-desc)) + (apply #'package-desc-from-define + (append (cdr pkg-def-parsed)))))) + (setf (package-desc-kind pkg-desc) 'tar) + pkg-desc) + (kill-buffer (current-buffer)))))) ;;;###autoload -(defun package-install-from-buffer (pkg-desc) +(defun package-install-from-buffer () "Install a package from the current buffer. -When called interactively, the current buffer is assumed to be a -single .el file that follows the packaging guidelines; see info -node `(elisp)Packaging'. - -When called from Lisp, PKG-DESC is a `package-desc' describing the -information)." - (interactive (list (package-buffer-info))) - (save-excursion - (save-restriction - (let* ((name (package-desc-name pkg-desc)) - (requires (package-desc-reqs pkg-desc)) - (desc (package-desc-summary pkg-desc)) - (pkg-version (package-desc-version pkg-desc))) - ;; Download and install the dependencies. - (let ((transaction (package-compute-transaction nil requires))) - (package-download-transaction transaction)) - ;; Install the package itself. - (pcase (package-desc-kind pkg-desc) - (`single (package-unpack-single name pkg-version desc requires)) - (`tar (package-unpack name pkg-version)) - (type (error "Unknown type: %S" type))) - ;; Try to activate it. - (package-initialize))))) +The current buffer is assumed to be a single .el or .tar file that follows the +packaging guidelines; see info node `(elisp)Packaging'. +Downloads and installs required packages as needed." + (interactive) + (let ((pkg-desc (if (derived-mode-p 'tar-mode) + (package-tar-file-info) + (package-buffer-info)))) + ;; Download and install the dependencies. + (let* ((requires (package-desc-reqs pkg-desc)) + (transaction (package-compute-transaction nil requires))) + (package-download-transaction transaction)) + ;; Install the package itself. + (package-unpack pkg-desc) + pkg-desc)) ;;;###autoload (defun package-install-file (file) @@ -1116,37 +1059,34 @@ The file can either be a tar file or an Emacs Lisp file." (interactive "fPackage file name: ") (with-temp-buffer (insert-file-contents-literally file) - (cond - ((string-match "\\.el\\'" file) - (package-install-from-buffer (package-buffer-info))) - ((string-match "\\.tar\\'" file) - (package-install-from-buffer (package-tar-file-info file))) - (t (error "Unrecognized extension `%s'" (file-name-extension file)))))) - -(defun package-delete (name version) - (let ((dir (package--dir name version))) - (if (string-equal (file-name-directory dir) - (file-name-as-directory - (expand-file-name package-user-dir))) - (progn - (delete-directory dir t t) - (message "Package `%s-%s' deleted." name version)) - ;; Don't delete "system" packages - (error "Package `%s-%s' is a system package, not deleting" - name version)))) - -(defun package-archive-base (name) + (when (string-match "\\.tar\\'" file) (tar-mode)) + (package-install-from-buffer))) + +(defun package-delete (pkg-desc) + (let ((dir (package-desc-dir pkg-desc))) + (if (not (string-prefix-p (file-name-as-directory + (expand-file-name package-user-dir)) + (expand-file-name dir))) + ;; Don't delete "system" packages. + (error "Package `%s' is a system package, not deleting" + (package-desc-full-name pkg-desc)) + (delete-directory dir t t) + ;; Update package-alist. + (let* ((name (package-desc-name pkg-desc))) + (delete pkg-desc (assq name package-alist))) + (message "Package `%s' deleted." (package-desc-full-name pkg-desc))))) + +(defun package-archive-base (desc) "Return the archive containing the package NAME." - (let ((desc (cdr (assq (intern-soft name) package-archive-contents)))) - (cdr (assoc (package-desc-archive desc) package-archives)))) + (cdr (assoc (package-desc-archive desc) package-archives))) (defun package--download-one-archive (archive file) "Retrieve an archive file FILE from ARCHIVE, and cache it. ARCHIVE should be a cons cell of the form (NAME . LOCATION), similar to an entry in `package-alist'. Save the cached copy to \"archives/NAME/archive-contents\" in `package-user-dir'." - (let* ((dir (expand-file-name "archives" package-user-dir)) - (dir (expand-file-name (car archive) dir))) + (let* ((dir (expand-file-name (format "archives/%s" (car archive)) + package-user-dir))) (package--with-work-buffer (cdr archive) file ;; Read the retrieved buffer to make sure it is valid (e.g. it ;; may fetch a URL redirect page). @@ -1162,6 +1102,7 @@ similar to an entry in `package-alist'. Save the cached copy to This informs Emacs about the latest versions of all packages, and makes them available for download." (interactive) + ;; FIXME: Do it asynchronously. (unless (file-exists-p package-user-dir) (make-directory package-user-dir t)) (dolist (archive package-archives) @@ -1177,13 +1118,12 @@ makes them available for download." The variable `package-load-list' controls which packages to load. If optional arg NO-ACTIVATE is non-nil, don't activate packages." (interactive) - (setq package-alist nil - package-obsolete-alist nil) + (setq package-alist nil) (package-load-all-descriptors) (package-read-all-archive-contents) (unless no-activate (dolist (elt package-alist) - (package-activate (car elt) (package-desc-version (cdr elt))))) + (package-activate (car elt)))) (setq package--initialized t)) @@ -1193,26 +1133,25 @@ If optional arg NO-ACTIVATE is non-nil, don't activate packages." (defun describe-package (package) "Display the full documentation of PACKAGE (a symbol)." (interactive - (let* ((guess (function-called-at-point)) - packages val) + (let* ((guess (function-called-at-point))) (require 'finder-inf nil t) ;; Load the package list if necessary (but don't activate them). (unless package--initialized (package-initialize t)) - (setq packages (append (mapcar 'car package-alist) - (mapcar 'car package-archive-contents) - (mapcar 'car package--builtins))) - (unless (memq guess packages) - (setq guess nil)) - (setq packages (mapcar 'symbol-name packages)) - (setq val - (completing-read (if guess - (format "Describe package (default %s): " - guess) - "Describe package: ") - packages nil t nil nil guess)) - (list (if (equal val "") guess (intern val))))) - (if (or (null package) (not (symbolp package))) + (let ((packages (append (mapcar 'car package-alist) + (mapcar 'car package-archive-contents) + (mapcar 'car package--builtins)))) + (unless (memq guess packages) + (setq guess nil)) + (setq packages (mapcar 'symbol-name packages)) + (let ((val + (completing-read (if guess + (format "Describe package (default %s): " + guess) + "Describe package: ") + packages nil t nil nil guess))) + (list (intern val)))))) + (if (not (or (package-desc-p package) (and package (symbolp package)))) (message "No package specified") (help-setup-xref (list #'describe-package package) (called-interactively-p 'interactive)) @@ -1220,57 +1159,52 @@ If optional arg NO-ACTIVATE is non-nil, don't activate packages." (with-current-buffer standard-output (describe-package-1 package))))) -(defun describe-package-1 (package) +(defun describe-package-1 (pkg) (require 'lisp-mnt) - (let ((package-name (symbol-name package)) - (built-in (assq package package--builtins)) - desc pkg-dir reqs version installable archive) - (prin1 package) + (let* ((desc (or + (if (package-desc-p pkg) pkg) + (cadr (assq pkg package-alist)) + (let ((built-in (assq pkg package--builtins))) + (if built-in + (package--from-builtin built-in) + (cadr (assq pkg package-archive-contents)))))) + (name (if desc (package-desc-name desc) pkg)) + (pkg-dir (if desc (package-desc-dir desc))) + (reqs (if desc (package-desc-reqs desc))) + (version (if desc (package-desc-version desc))) + (archive (if desc (package-desc-archive desc))) + (built-in (eq pkg-dir 'builtin)) + (installable (and archive (not built-in))) + (status (if desc (package-desc-status desc) "orphan"))) + (prin1 name) (princ " is ") - (cond - ;; Loaded packages are in `package-alist'. - ((setq desc (cdr (assq package package-alist))) - (setq version (package-version-join (package-desc-version desc))) - (if (setq pkg-dir (package--dir package-name version)) - (insert "an installed package.\n\n") - ;; This normally does not happen. - (insert "a deleted package.\n\n"))) - ;; Available packages are in `package-archive-contents'. - ((setq desc (cdr (assq package package-archive-contents))) - (setq version (package-version-join (package-desc-version desc)) - archive (package-desc-archive desc) - installable t) - (if built-in - (insert "a built-in package.\n\n") - (insert "an uninstalled package.\n\n"))) - (built-in - (setq desc (package--from-builtin built-in) - version (package-version-join (package-desc-version desc))) - (insert "a built-in package.\n\n")) - (t - (insert "an orphan package.\n\n"))) + (princ (if (memq (aref status 0) '(?a ?e ?i ?o ?u)) "an " "a ")) + (princ status) + (princ " package.\n\n") (insert " " (propertize "Status" 'font-lock-face 'bold) ": ") - (cond (pkg-dir - (insert (propertize "Installed" + (cond (built-in + (insert (propertize (capitalize status) + 'font-lock-face 'font-lock-builtin-face) + ".")) + (pkg-dir + (insert (propertize (capitalize status) ;FIXME: Why comment-face? 'font-lock-face 'font-lock-comment-face)) (insert " in `") ;; Todo: Add button for uninstalling. - (help-insert-xref-button (file-name-as-directory pkg-dir) + (help-insert-xref-button (abbreviate-file-name + (file-name-as-directory pkg-dir)) 'help-package-def pkg-dir) - (if built-in + (if (and (package-built-in-p name) + (not (package-built-in-p name version))) (insert "',\n shadowing a " (propertize "built-in package" 'font-lock-face 'font-lock-builtin-face) ".") (insert "'."))) (installable - (if built-in - (insert (propertize "Built-in." - 'font-lock-face 'font-lock-builtin-face) - " Alternate version available") - (insert "Available")) - (insert " from " archive) + (insert (capitalize status)) + (insert " from " (format "%s" archive)) (insert " -- ") (let ((button-text (if (display-graphic-p) "Install" "[Install]")) (button-face (if (display-graphic-p) @@ -1279,16 +1213,14 @@ If optional arg NO-ACTIVATE is non-nil, don't activate packages." :foreground "black") 'link))) (insert-text-button button-text 'face button-face 'follow-link t - 'package-symbol package + 'package-desc desc 'action 'package-install-button-action))) - (built-in - (insert (propertize "Built-in." - 'font-lock-face 'font-lock-builtin-face))) - (t (insert "Deleted."))) + (t (insert (capitalize status) "."))) (insert "\n") - (and version (> (length version) 0) + (and version (insert " " - (propertize "Version" 'font-lock-face 'bold) ": " version "\n")) + (propertize "Version" 'font-lock-face 'bold) ": " + (package-version-join version) "\n")) (setq reqs (if desc (package-desc-reqs desc))) (when reqs @@ -1308,11 +1240,38 @@ If optional arg NO-ACTIVATE is non-nil, don't activate packages." (help-insert-xref-button text 'help-package name)) (insert "\n"))) (insert " " (propertize "Summary" 'font-lock-face 'bold) - ": " (if desc (package-desc-summary desc)) "\n\n") + ": " (if desc (package-desc-summary desc)) "\n") + + (let* ((all-pkgs (append (cdr (assq name package-alist)) + (cdr (assq name package-archive-contents)) + (let ((bi (assq name package--builtins))) + (if bi (list (package--from-builtin bi)))))) + (other-pkgs (delete desc all-pkgs))) + (when other-pkgs + (insert " " (propertize "Other versions" 'font-lock-face 'bold) ": " + (mapconcat + (lambda (opkg) + (let* ((ov (package-desc-version opkg)) + (dir (package-desc-dir opkg)) + (from (or (package-desc-archive opkg) + (if (stringp dir) "installed" dir)))) + (if (not ov) (format "%s" from) + (format "%s (%s)" + (make-text-button (package-version-join ov) nil + 'face 'link + 'follow-link t + 'action + (lambda (_button) + (describe-package opkg))) + from)))) + other-pkgs ", ") + ".\n"))) + + (insert "\n") (if built-in ;; For built-in packages, insert the commentary. - (let ((fn (locate-file (concat package-name ".el") load-path + (let ((fn (locate-file (format "%s.el" name) load-path load-file-rep-suffixes)) (opoint (point))) (insert (or (lm-commentary fn) "")) @@ -1322,14 +1281,15 @@ If optional arg NO-ACTIVATE is non-nil, don't activate packages." (replace-match "")) (while (re-search-forward "^\\(;+ ?\\)" nil t) (replace-match "")))) - (let ((readme (expand-file-name (concat package-name "-readme.txt") + (let ((readme (expand-file-name (format "%s-readme.txt" name) package-user-dir)) readme-string) ;; For elpa packages, try downloading the commentary. If that ;; fails, try an existing readme file in `package-user-dir'. (cond ((condition-case nil - (package--with-work-buffer (package-archive-base package) - (concat package-name "-readme.txt") + (package--with-work-buffer + (package-archive-base desc) + (format "%s-readme.txt" name) (setq buffer-file-name (expand-file-name readme package-user-dir)) (let ((version-control 'never)) @@ -1343,9 +1303,10 @@ If optional arg NO-ACTIVATE is non-nil, don't activate packages." (goto-char (point-max)))))))) (defun package-install-button-action (button) - (let ((package (button-get button 'package-symbol))) - (when (y-or-n-p (format "Install package `%s'? " package)) - (package-install package) + (let ((pkg-desc (button-get button 'package-desc))) + (when (y-or-n-p (format "Install package `%s'? " + (package-desc-full-name pkg-desc))) + (package-install pkg-desc) (revert-buffer nil t) (goto-char (point-min))))) @@ -1432,91 +1393,121 @@ Letters do not insert themselves; instead, they are commands. ("Description" 0 nil)]) (setq tabulated-list-padding 2) (setq tabulated-list-sort-key (cons "Status" nil)) + (add-hook 'tabulated-list-revert-hook 'package-menu--refresh) (tabulated-list-init-header)) -(defmacro package--push (package desc status listname) +(defmacro package--push (pkg-desc status listname) "Convenience macro for `package-menu--generate'. If the alist stored in the symbol LISTNAME lacks an entry for a -package PACKAGE with descriptor DESC, add one. The alist is -keyed with cons cells (PACKAGE . VERSION-LIST), where PACKAGE is -a symbol and VERSION-LIST is a version list." - `(let* ((version (package-desc-version ,desc)) - (key (cons ,package version))) - (unless (assoc key ,listname) - (push (list key ,status (package-desc-summary ,desc)) ,listname)))) +package PKG-DESC, add one. The alist is keyed with PKG-DESC." + `(unless (assoc ,pkg-desc ,listname) + ;; FIXME: Should we move status into pkg-desc? + (push (cons ,pkg-desc ,status) ,listname))) -(defun package-menu--generate (remember-pos packages) - "Populate the Package Menu. -If REMEMBER-POS is non-nil, keep point on the same entry. -PACKAGES should be t, which means to display all known packages, -or a list of package names (symbols) to display." - ;; Construct list of ((PACKAGE . VERSION) STATUS DESCRIPTION). +(defvar package-list-unversioned nil + "If non-nil include packages that don't have a version in `list-package'.") + +(defun package-desc-status (pkg-desc) + (let* ((name (package-desc-name pkg-desc)) + (dir (package-desc-dir pkg-desc)) + (lle (assq name package-load-list)) + (held (cadr lle)) + (version (package-desc-version pkg-desc))) + (cond + ((eq dir 'builtin) "built-in") + ((and lle (null held)) "disabled") + ((stringp held) + (let ((hv (if (stringp held) (version-to-list held)))) + (cond + ((version-list-= version hv) "held") + ((version-list-< version hv) "obsolete") + (t "disabled")))) + ((package-built-in-p name version) "obsolete") + (dir ;One of the installed packages. + (cond + ((not (file-exists-p (package-desc-dir pkg-desc))) "deleted") + ((eq pkg-desc (cadr (assq name package-alist))) "installed") + (t "obsolete"))) + (t + (let* ((ins (cadr (assq name package-alist))) + (ins-v (if ins (package-desc-version ins)))) + (cond + ((or (null ins) (version-list-< ins-v version)) + (if (memq name package-menu--new-package-list) + "new" "available")) + ((version-list-< version ins-v) "obsolete") + ((version-list-= version ins-v) "installed"))))))) + +(defun package-menu--refresh (&optional packages) + "Re-populate the `tabulated-list-entries'. +PACKAGES should be nil or t, which means to display all known packages." + ;; Construct list of (PKG-DESC . STATUS). + (unless packages (setq packages t)) (let (info-list name) ;; Installed packages: (dolist (elt package-alist) (setq name (car elt)) (when (or (eq packages t) (memq name packages)) - (package--push name (cdr elt) - (if (stringp (cadr (assq name package-load-list))) - "held" "installed") - info-list))) + (dolist (pkg (cdr elt)) + (package--push pkg (package-desc-status pkg) info-list)))) ;; Built-in packages: (dolist (elt package--builtins) (setq name (car elt)) (when (and (not (eq name 'emacs)) ; Hide the `emacs' package. + (or package-list-unversioned + (package--bi-desc-version (cdr elt))) (or (eq packages t) (memq name packages))) - (package--push name (package--from-builtin elt) "built-in" info-list))) + (package--push (package--from-builtin elt) "built-in" info-list))) ;; Available and disabled packages: (dolist (elt package-archive-contents) (setq name (car elt)) (when (or (eq packages t) (memq name packages)) - (let ((hold (assq name package-load-list))) - (package--push name (cdr elt) - (cond - ((and hold (null (cadr hold))) "disabled") - ((memq name package-menu--new-package-list) "new") - (t "available")) - info-list)))) - - ;; Obsolete packages: - (dolist (elt package-obsolete-alist) - (dolist (inner-elt (cdr elt)) - (when (or (eq packages t) (memq (car elt) packages)) - (package--push (car elt) (cdr inner-elt) "obsolete" info-list)))) + (dolist (pkg (cdr elt)) + ;; Hide obsolete packages. + (unless (package-installed-p (package-desc-name pkg) + (package-desc-version pkg)) + (package--push pkg (package-desc-status pkg) info-list))))) ;; Print the result. - (setq tabulated-list-entries (mapcar 'package-menu--print-info info-list)) - (tabulated-list-print remember-pos))) + (setq tabulated-list-entries + (mapcar #'package-menu--print-info info-list)))) + +(defun package-menu--generate (remember-pos packages) + "Populate the Package Menu. + If REMEMBER-POS is non-nil, keep point on the same entry. +PACKAGES should be t, which means to display all known packages, +or a list of package names (symbols) to display." + (package-menu--refresh packages) + (tabulated-list-print remember-pos)) (defun package-menu--print-info (pkg) "Return a package entry suitable for `tabulated-list-entries'. -PKG has the form ((PACKAGE . VERSION) STATUS DOC). -Return (KEY [NAME VERSION STATUS DOC]), where KEY is the -identifier (NAME . VERSION-LIST)." - (let* ((package (caar pkg)) - (version (cdr (car pkg))) - (status (nth 1 pkg)) - (doc (or (nth 2 pkg) "")) - (face (cond - ((string= status "built-in") 'font-lock-builtin-face) - ((string= status "available") 'default) - ((string= status "new") 'bold) - ((string= status "held") 'font-lock-constant-face) - ((string= status "disabled") 'font-lock-warning-face) - ((string= status "installed") 'font-lock-comment-face) - (t 'font-lock-warning-face)))) ; obsolete. - (list (cons package version) - (vector (list (symbol-name package) +PKG has the form (PKG-DESC . STATUS). +Return (PKG-DESC [NAME VERSION STATUS DOC])." + (let* ((pkg-desc (car pkg)) + (status (cdr pkg)) + (face (pcase status + (`"built-in" 'font-lock-builtin-face) + (`"available" 'default) + (`"new" 'bold) + (`"held" 'font-lock-constant-face) + (`"disabled" 'font-lock-warning-face) + (`"installed" 'font-lock-comment-face) + (_ 'font-lock-warning-face)))) ; obsolete. + (list pkg-desc + (vector (list (symbol-name (package-desc-name pkg-desc)) 'face 'link 'follow-link t - 'package-symbol package + 'package-desc pkg-desc 'action 'package-menu-describe-package) - (propertize (package-version-join version) + (propertize (package-version-join + (package-desc-version pkg-desc)) 'font-lock-face face) (propertize status 'font-lock-face face) - (propertize doc 'font-lock-face face))))) + (propertize (package-desc-summary pkg-desc) + 'font-lock-face face))))) (defun package-menu-refresh () "Download the Emacs Lisp package archive. @@ -1532,10 +1523,11 @@ This fetches the contents of each archive specified in "Describe the current package. If optional arg BUTTON is non-nil, describe its associated package." (interactive) - (let ((package (if button (button-get button 'package-symbol) - (car (tabulated-list-get-id))))) - (if package - (describe-package package)))) + (let ((pkg-desc (if button (button-get button 'package-desc) + (tabulated-list-get-id)))) + (if pkg-desc + (describe-package pkg-desc) + (error "No package here")))) ;; fixme numeric argument (defun package-menu-mark-delete (&optional _num) @@ -1582,8 +1574,8 @@ If optional arg BUTTON is non-nil, describe its associated package." 'package-menu-view-commentary 'package-menu-describe-package "24.1") (defun package-menu-get-status () - (let* ((pkg (tabulated-list-get-id)) - (entry (and pkg (assq pkg tabulated-list-entries)))) + (let* ((id (tabulated-list-get-id)) + (entry (and id (assq id tabulated-list-entries)))) (if entry (aref (cadr entry) 2) ""))) @@ -1592,18 +1584,20 @@ If optional arg BUTTON is non-nil, describe its associated package." (let (installed available upgrades) ;; Build list of installed/available packages in this buffer. (dolist (entry tabulated-list-entries) - ;; ENTRY is ((NAME . VERSION) [NAME VERSION STATUS DOC]) - (let ((pkg (car entry)) + ;; ENTRY is (PKG-DESC [NAME VERSION STATUS DOC]) + (let ((pkg-desc (car entry)) (status (aref (cadr entry) 2))) (cond ((equal status "installed") - (push pkg installed)) + (push pkg-desc installed)) ((member status '("available" "new")) - (push pkg available))))) - ;; Loop through list of installed packages, finding upgrades - (dolist (pkg installed) - (let ((avail-pkg (assq (car pkg) available))) + (push (cons (package-desc-name pkg-desc) pkg-desc) + available))))) + ;; Loop through list of installed packages, finding upgrades. + (dolist (pkg-desc installed) + (let ((avail-pkg (assq (package-desc-name pkg-desc) available))) (and avail-pkg - (version-list-< (cdr pkg) (cdr avail-pkg)) + (version-list-< (package-desc-version pkg-desc) + (package-desc-version (cdr avail-pkg))) (push avail-pkg upgrades)))) upgrades)) @@ -1623,11 +1617,11 @@ call will upgrade the package." (save-excursion (goto-char (point-min)) (while (not (eobp)) - (let* ((pkg (tabulated-list-get-id)) - (upgrade (assq (car pkg) upgrades))) + (let* ((pkg-desc (tabulated-list-get-id)) + (upgrade (cdr (assq (package-desc-name pkg-desc) upgrades)))) (cond ((null upgrade) (forward-line 1)) - ((equal pkg upgrade) + ((equal pkg-desc upgrade) (package-menu-mark-install)) (t (package-menu-mark-delete)))))) @@ -1643,30 +1637,30 @@ Optional argument NOQUERY non-nil means do not ask the user to confirm." (interactive) (unless (derived-mode-p 'package-menu-mode) (error "The current buffer is not in Package Menu mode")) - (let (install-list delete-list cmd id) + (let (install-list delete-list cmd pkg-desc) (save-excursion (goto-char (point-min)) (while (not (eobp)) (setq cmd (char-after)) (unless (eq cmd ?\s) - ;; This is the key (PACKAGE . VERSION-LIST). - (setq id (tabulated-list-get-id)) + ;; This is the key PKG-DESC. + (setq pkg-desc (tabulated-list-get-id)) (cond ((eq cmd ?D) - (push (cons (symbol-name (car id)) - (package-version-join (cdr id))) - delete-list)) + (push pkg-desc delete-list)) ((eq cmd ?I) - (push (car id) install-list)))) + (push pkg-desc install-list)))) (forward-line))) (when install-list (if (or noquery (yes-or-no-p - (if (= (length install-list) 1) - (format "Install package `%s'? " (car install-list)) - (format "Install these %d packages (%s)? " - (length install-list) - (mapconcat 'symbol-name install-list ", "))))) + (if (= (length install-list) 1) + (format "Install package `%s'? " + (package-desc-full-name (car install-list))) + (format "Install these %d packages (%s)? " + (length install-list) + (mapconcat #'package-desc-full-name + install-list ", "))))) (mapc 'package-install install-list))) ;; Delete packages, prompting if necessary. (when delete-list @@ -1674,24 +1668,17 @@ Optional argument NOQUERY non-nil means do not ask the user to confirm." noquery (yes-or-no-p (if (= (length delete-list) 1) - (format "Delete package `%s-%s'? " - (caar delete-list) - (cdr (car delete-list))) + (format "Delete package `%s'? " + (package-desc-full-name (car delete-list))) (format "Delete these %d packages (%s)? " (length delete-list) - (mapconcat (lambda (elt) - (concat (car elt) "-" (cdr elt))) - delete-list - ", "))))) + (mapconcat #'package-desc-full-name + delete-list ", "))))) (dolist (elt delete-list) (condition-case-unless-debug err - (package-delete (car elt) (cdr elt)) + (package-delete elt) (error (message (cadr err))))) (error "Aborted"))) - ;; If we deleted anything, regenerate `package-alist'. This is done - ;; automatically if we installed a package. - (and delete-list (null install-list) - (package-initialize)) (if (or delete-list install-list) (package-menu--generate t t) (message "No operations specified.")))) @@ -1730,8 +1717,8 @@ Optional argument NOQUERY non-nil means do not ask the user to confirm." (string< dA dB)))) (defun package-menu--name-predicate (A B) - (string< (symbol-name (caar A)) - (symbol-name (caar B)))) + (string< (symbol-name (package-desc-name (car A))) + (symbol-name (package-desc-name (car B))))) ;;;###autoload (defun list-packages (&optional no-fetch) diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el index 5660ac8c4cc..9c5115bcd7b 100644 --- a/lisp/emacs-lisp/tabulated-list.el +++ b/lisp/emacs-lisp/tabulated-list.el @@ -41,7 +41,7 @@ ;; major mode, switch back, and have the original Tabulated List data ;; still valid. See, for example, ebuff-menu.el. -(defvar tabulated-list-format nil +(defvar-local tabulated-list-format nil "The format of the current Tabulated List mode buffer. This should be a vector of elements (NAME WIDTH SORT . PROPS), where: @@ -58,17 +58,15 @@ where: of `tabulated-list-entries'. - PROPS is a plist of additional column properties. Currently supported properties are: - - `:right-align': if non-nil, the column should be right-aligned. + - `:right-align': If non-nil, the column should be right-aligned. - `:pad-right': Number of additional padding spaces to the right of the column (defaults to 1 if omitted).") -(make-variable-buffer-local 'tabulated-list-format) (put 'tabulated-list-format 'permanent-local t) -(defvar tabulated-list-use-header-line t +(defvar-local tabulated-list-use-header-line t "Whether the Tabulated List buffer should use a header line.") -(make-variable-buffer-local 'tabulated-list-use-header-line) -(defvar tabulated-list-entries nil +(defvar-local tabulated-list-entries nil "Entries displayed in the current Tabulated List buffer. This should be either a function, or a list. If a list, each element has the form (ID [DESC1 ... DESCN]), @@ -86,28 +84,25 @@ where: If `tabulated-list-entries' is a function, it is called with no arguments and must return a list of the above form.") -(make-variable-buffer-local 'tabulated-list-entries) (put 'tabulated-list-entries 'permanent-local t) -(defvar tabulated-list-padding 0 +(defvar-local tabulated-list-padding 0 "Number of characters preceding each Tabulated List mode entry. By default, lines are padded with spaces, but you can use the function `tabulated-list-put-tag' to change this.") -(make-variable-buffer-local 'tabulated-list-padding) (put 'tabulated-list-padding 'permanent-local t) (defvar tabulated-list-revert-hook nil "Hook run before reverting a Tabulated List buffer. This is commonly used to recompute `tabulated-list-entries'.") -(defvar tabulated-list-printer 'tabulated-list-print-entry +(defvar-local tabulated-list-printer 'tabulated-list-print-entry "Function for inserting a Tabulated List entry at point. It is called with two arguments, ID and COLS. ID is a Lisp object identifying the entry, and COLS is a vector of column descriptors, as documented in `tabulated-list-entries'.") -(make-variable-buffer-local 'tabulated-list-printer) -(defvar tabulated-list-sort-key nil +(defvar-local tabulated-list-sort-key nil "Sort key for the current Tabulated List mode buffer. If nil, no additional sorting is performed. Otherwise, this should be a cons cell (NAME . FLIP). @@ -115,7 +110,6 @@ NAME is a string matching one of the column names in `tabulated-list-format' (the corresponding SORT entry in `tabulated-list-format' then specifies how to sort). FLIP, if non-nil, means to invert the resulting sort.") -(make-variable-buffer-local 'tabulated-list-sort-key) (put 'tabulated-list-sort-key 'permanent-local t) (defsubst tabulated-list-get-id (&optional pos) @@ -236,7 +230,7 @@ If ADVANCE is non-nil, move forward by one line afterwards." `(space :align-to ,(+ x shift))) (cdr cols)))) (setq x (+ x shift))))) - (if (> pad-right 0) + (if (>= pad-right 0) (push (propertize " " 'display `(space :align-to ,next-x) 'face 'fixed-pitch) @@ -246,7 +240,7 @@ If ADVANCE is non-nil, move forward by one line afterwards." (if tabulated-list-use-header-line (setq header-line-format cols) (setq header-line-format nil) - (set (make-local-variable 'tabulated-list--header-string) cols)))) + (setq-local tabulated-list--header-string cols)))) (defun tabulated-list-print-fake-header () "Insert a fake Tabulated List \"header line\" at the start of the buffer." @@ -255,8 +249,8 @@ If ADVANCE is non-nil, move forward by one line afterwards." (insert tabulated-list--header-string "\n") (if tabulated-list--header-overlay (move-overlay tabulated-list--header-overlay (point-min) (point)) - (set (make-local-variable 'tabulated-list--header-overlay) - (make-overlay (point-min) (point)))) + (setq-local tabulated-list--header-overlay + (make-overlay (point-min) (point)))) (overlay-put tabulated-list--header-overlay 'face 'underline))) (defun tabulated-list-revert (&rest ignored) @@ -351,7 +345,7 @@ of column descriptors." (defun tabulated-list-print-col (n col-desc x) "Insert a specified Tabulated List entry at point. -N is the column number, COL-DESC is a column descriptor \(see +N is the column number, COL-DESC is a column descriptor (see `tabulated-list-entries'), and X is the column number at point. Return the column number after insertion." ;; TODO: don't truncate to `width' if the next column is align-right diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el index 0b116ac9284..ac12c149b01 100644 --- a/lisp/emacs-lock.el +++ b/lisp/emacs-lock.el @@ -27,7 +27,7 @@ ;; This package defines a minor mode Emacs Lock to mark a buffer as ;; protected against accidental killing, or exiting Emacs, or both. ;; Buffers associated with inferior modes, like shell or telnet, can -;; be treated specially, by auto-unlocking them if their interior +;; be treated specially, by auto-unlocking them if their inferior ;; processes are dead. ;;; Code: @@ -88,26 +88,23 @@ The functions get one argument, the first locked buffer found." :group 'emacs-lock :version "24.3") -(defvar emacs-lock-mode nil +(defvar-local emacs-lock-mode nil "If non-nil, the current buffer is locked. It can be one of the following values: exit -- Emacs cannot exit while the buffer is locked kill -- the buffer cannot be killed, but Emacs can exit as usual all -- the buffer is locked against both actions nil -- the buffer is not locked") -(make-variable-buffer-local 'emacs-lock-mode) (put 'emacs-lock-mode 'permanent-local t) -(defvar emacs-lock--old-mode nil +(defvar-local emacs-lock--old-mode nil "Most recent locking mode set on the buffer. Internal use only.") -(make-variable-buffer-local 'emacs-lock--old-mode) (put 'emacs-lock--old-mode 'permanent-local t) -(defvar emacs-lock--try-unlocking nil +(defvar-local emacs-lock--try-unlocking nil "Non-nil if current buffer should be checked for auto-unlocking. Internal use only.") -(make-variable-buffer-local 'emacs-lock--try-unlocking) (put 'emacs-lock--try-unlocking 'permanent-local t) (defun emacs-lock-live-process-p (buffer-or-name) @@ -188,6 +185,7 @@ Return a value appropriate for `kill-buffer-query-functions' (which see)." (define-obsolete-variable-alias 'emacs-lock-from-exiting 'emacs-lock-mode "24.1") + ;;;###autoload (define-minor-mode emacs-lock-mode "Toggle Emacs Lock mode in the current buffer. diff --git a/lisp/emulation/vi.el b/lisp/emulation/vi.el index a59dd610c21..9aae40c0d00 100644 --- a/lisp/emulation/vi.el +++ b/lisp/emulation/vi.el @@ -1148,7 +1148,8 @@ If char argument is given, it directs the output to a *temp* buffer." (cond ((null shell-command) (setq shell-command (read-string "!" nil)) (setq vi-last-shell-command shell-command))) - (shell-command-on-region begin end shell-command (not (vi-prefix-char-value arg))) + (shell-command-on-region begin end shell-command (not (vi-prefix-char-value arg)) + (not (vi-prefix-char-value arg))) t))) (defun vi-shift-op (motion-command arg amount) diff --git a/lisp/emulation/vip.el b/lisp/emulation/vip.el index ce131b854f5..b32e6e7e35d 100644 --- a/lisp/emulation/vip.el +++ b/lisp/emulation/vip.el @@ -775,7 +775,7 @@ to vip-d-com for later use by vip-repeat" (if (= com ?!) (setq vip-last-shell-com (vip-read-string "!")) vip-last-shell-com) - t))) + t t))) ((= com ?=) (save-excursion (set-mark vip-com-point) @@ -3042,7 +3042,7 @@ vip-s-string" (goto-char beg) (set-mark end) (vip-enlarge-region (point) (mark)) - (shell-command-on-region (point) (mark) command t)) + (shell-command-on-region (point) (mark) command t t)) (goto-char beg))))) (defun ex-line-no () diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index b2e476befd4..e7b371365e4 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el @@ -1548,7 +1548,7 @@ as a Meta key and any number of multiple escapes are allowed." (car viper-shell-history) )) viper-last-shell-com) - t))) + t t))) (defun viper-exec-equals (m-com com) (save-excursion diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el index a2bdc28d2b5..f4fcdfd1199 100644 --- a/lisp/emulation/viper-ex.el +++ b/lisp/emulation/viper-ex.el @@ -2176,7 +2176,7 @@ Please contact your system administrator. " (goto-char beg) (set-mark end) (viper-enlarge-region (point) (mark t)) - (shell-command-on-region (point) (mark t) command t)) + (shell-command-on-region (point) (mark t) command t t)) (goto-char beg))))) (defun ex-compile () diff --git a/lisp/epg.el b/lisp/epg.el index c36de7e4624..06d972d6ffa 100644 --- a/lisp/epg.el +++ b/lisp/epg.el @@ -190,8 +190,17 @@ cipher-algorithm digest-algorithm compress-algorithm) "Return a context object." + (unless protocol + (setq protocol 'OpenPGP)) + (unless (memq protocol '(OpenPGP CMS)) + (signal 'epg-error (list "unknown protocol" protocol))) (cons 'epg-context - (vector (or protocol 'OpenPGP) armor textmode include-certs + (vector protocol + (if (eq protocol 'OpenPGP) + epg-gpg-program + epg-gpgsm-program) + epg-gpg-home-directory + armor textmode include-certs cipher-algorithm digest-algorithm compress-algorithm (list #'epg-passphrase-callback-function) nil @@ -203,97 +212,109 @@ (signal 'wrong-type-argument (list 'epg-context-p context))) (aref (cdr context) 0)) +(defun epg-context-program (context) + "Return the gpg or gpgsm executable used within CONTEXT." + (unless (eq (car-safe context) 'epg-context) + (signal 'wrong-type-argument (list 'epg-context-p context))) + (aref (cdr context) 1)) + +(defun epg-context-home-directory (context) + "Return the GnuPG home directory used in CONTEXT." + (unless (eq (car-safe context) 'epg-context) + (signal 'wrong-type-argument (list 'epg-context-p context))) + (aref (cdr context) 2)) + (defun epg-context-armor (context) "Return t if the output should be ASCII armored in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 1)) + (aref (cdr context) 3)) (defun epg-context-textmode (context) "Return t if canonical text mode should be used in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 2)) + (aref (cdr context) 4)) (defun epg-context-include-certs (context) "Return how many certificates should be included in an S/MIME signed message." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 3)) + (aref (cdr context) 5)) (defun epg-context-cipher-algorithm (context) "Return the cipher algorithm in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 4)) + (aref (cdr context) 6)) (defun epg-context-digest-algorithm (context) "Return the digest algorithm in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 5)) + (aref (cdr context) 7)) (defun epg-context-compress-algorithm (context) "Return the compress algorithm in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 6)) + (aref (cdr context) 8)) (defun epg-context-passphrase-callback (context) "Return the function used to query passphrase." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 7)) + (aref (cdr context) 9)) (defun epg-context-progress-callback (context) "Return the function which handles progress update." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 8)) + (aref (cdr context) 10)) (defun epg-context-signers (context) "Return the list of key-id for signing." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 9)) + (aref (cdr context) 11)) (defun epg-context-sig-notations (context) "Return the list of notations for signing." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 10)) + (aref (cdr context) 12)) (defun epg-context-process (context) "Return the process object of `epg-gpg-program'. This function is for internal use only." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 11)) + (aref (cdr context) 13)) (defun epg-context-output-file (context) "Return the output file of `epg-gpg-program'. This function is for internal use only." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 12)) + (aref (cdr context) 14)) (defun epg-context-result (context) "Return the result of the previous cryptographic operation." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 13)) + (aref (cdr context) 15)) (defun epg-context-operation (context) "Return the name of the current cryptographic operation." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 14)) + (aref (cdr context) 16)) (defun epg-context-pinentry-mode (context) "Return the mode of pinentry invocation." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aref (cdr context) 15)) + (aref (cdr context) 17)) (defun epg-context-set-protocol (context protocol) "Set the protocol used within CONTEXT." @@ -301,41 +322,53 @@ This function is for internal use only." (signal 'wrong-type-argument (list 'epg-context-p context))) (aset (cdr context) 0 protocol)) +(defun epg-context-set-program (context protocol) + "Set the gpg or gpgsm executable used within CONTEXT." + (unless (eq (car-safe context) 'epg-context) + (signal 'wrong-type-argument (list 'epg-context-p context))) + (aset (cdr context) 1 protocol)) + +(defun epg-context-set-home-directory (context directory) + "Set the GnuPG home directory." + (unless (eq (car-safe context) 'epg-context) + (signal 'wrong-type-argument (list 'epg-context-p context))) + (aset (cdr context) 2 directory)) + (defun epg-context-set-armor (context armor) "Specify if the output should be ASCII armored in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 1 armor)) + (aset (cdr context) 3 armor)) (defun epg-context-set-textmode (context textmode) "Specify if canonical text mode should be used in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 2 textmode)) + (aset (cdr context) 4 textmode)) (defun epg-context-set-include-certs (context include-certs) "Set how many certificates should be included in an S/MIME signed message." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 3 include-certs)) + (aset (cdr context) 5 include-certs)) (defun epg-context-set-cipher-algorithm (context cipher-algorithm) "Set the cipher algorithm in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 4 cipher-algorithm)) + (aset (cdr context) 6 cipher-algorithm)) (defun epg-context-set-digest-algorithm (context digest-algorithm) "Set the digest algorithm in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 5 digest-algorithm)) + (aset (cdr context) 7 digest-algorithm)) (defun epg-context-set-compress-algorithm (context compress-algorithm) "Set the compress algorithm in CONTEXT." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 6 compress-algorithm)) + (aset (cdr context) 8 compress-algorithm)) (defun epg-context-set-passphrase-callback (context passphrase-callback) @@ -354,7 +387,7 @@ installing GnuPG 1.x _along with_ GnuPG 2.x, which does passphrase query by itself and Emacs can intercept them." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 7 (if (consp passphrase-callback) + (aset (cdr context) 9 (if (consp passphrase-callback) passphrase-callback (list passphrase-callback)))) @@ -371,7 +404,7 @@ current amount done, the total amount to be done, and the callback data (if any)." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 8 (if (consp progress-callback) + (aset (cdr context) 10 (if (consp progress-callback) progress-callback (list progress-callback)))) @@ -379,39 +412,39 @@ callback data (if any)." "Set the list of key-id for signing." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 9 signers)) + (aset (cdr context) 11 signers)) (defun epg-context-set-sig-notations (context notations) "Set the list of notations for signing." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 10 notations)) + (aset (cdr context) 12 notations)) (defun epg-context-set-process (context process) "Set the process object of `epg-gpg-program'. This function is for internal use only." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 11 process)) + (aset (cdr context) 13 process)) (defun epg-context-set-output-file (context output-file) "Set the output file of `epg-gpg-program'. This function is for internal use only." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 12 output-file)) + (aset (cdr context) 14 output-file)) (defun epg-context-set-result (context result) "Set the result of the previous cryptographic operation." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 13 result)) + (aset (cdr context) 15 result)) (defun epg-context-set-operation (context operation) "Set the name of the current cryptographic operation." (unless (eq (car-safe context) 'epg-context) (signal 'wrong-type-argument (list 'epg-context-p context))) - (aset (cdr context) 14 operation)) + (aset (cdr context) 16 operation)) (defun epg-context-set-pinentry-mode (context mode) "Set the mode of pinentry invocation." @@ -419,7 +452,7 @@ This function is for internal use only." (signal 'wrong-type-argument (list 'epg-context-p context))) (unless (memq mode '(nil ask cancel error loopback)) (signal 'epg-error (list "Unknown pinentry mode" mode))) - (aset (cdr context) 15 mode)) + (aset (cdr context) 17 mode)) (defun epg-make-signature (status &optional key-id) "Return a signature object." @@ -1145,9 +1178,7 @@ This function is for internal use only." (if (and (epg-context-process context) (eq (process-status (epg-context-process context)) 'run)) (error "%s is already running in this context" - (if (eq (epg-context-protocol context) 'CMS) - epg-gpgsm-program - epg-gpg-program))) + (epg-context-program context))) (let* ((agent-info (getenv "GPG_AGENT_INFO")) (args (append (list "--no-tty" "--status-fd" "1" @@ -1158,8 +1189,9 @@ This function is for internal use only." (if (and (not (eq (epg-context-protocol context) 'CMS)) (epg-context-progress-callback context)) '("--enable-progress-filter")) - (if epg-gpg-home-directory - (list "--homedir" epg-gpg-home-directory)) + (if (epg-context-home-directory context) + (list "--homedir" + (epg-context-home-directory context))) (unless (eq (epg-context-protocol context) 'CMS) '("--command-fd" "0")) (if (epg-context-armor context) '("--armor")) @@ -1213,9 +1245,7 @@ This function is for internal use only." (format "GPG_AGENT_INFO=%s\n" agent-info) "GPG_AGENT_INFO is not set\n") (format "%s %s\n" - (if (eq (epg-context-protocol context) 'CMS) - epg-gpgsm-program - epg-gpg-program) + (epg-context-program context) (mapconcat #'identity args " "))))) (with-current-buffer buffer (if (fboundp 'set-buffer-multibyte) @@ -1241,9 +1271,7 @@ This function is for internal use only." (set-default-file-modes 448) (setq process (apply #'start-process "epg" buffer - (if (eq (epg-context-protocol context) 'CMS) - epg-gpgsm-program - epg-gpg-program) + (epg-context-program context) args))) (set-default-file-modes orig-mode)) (set-process-filter process #'epg--process-filter) @@ -1854,8 +1882,9 @@ This function is for internal use only." (format "Passphrase for %s: " key-id))))))) (defun epg--list-keys-1 (context name mode) - (let ((args (append (if epg-gpg-home-directory - (list "--homedir" epg-gpg-home-directory)) + (let ((args (append (if (epg-context-home-directory context) + (list "--homedir" + (epg-context-home-directory context))) '("--with-colons" "--no-greeting" "--batch" "--with-fingerprint" "--with-fingerprint") (unless (eq (epg-context-protocol context) 'CMS) @@ -1877,9 +1906,7 @@ This function is for internal use only." (setq args (append args (list list-keys-option)))) (with-temp-buffer (apply #'call-process - (if (eq (epg-context-protocol context) 'CMS) - epg-gpgsm-program - epg-gpg-program) + (epg-context-program context) nil (list t nil) nil args) (goto-char (point-min)) (while (re-search-forward "^[a-z][a-z][a-z]:.*" nil t) diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 76766144c18..a23fa508c46 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -141,7 +141,7 @@ * erc-page.el (erc-page-function): * erc-stamp.el (erc-stamp): Doc fix. -2012-08-21 Josh Feinstein <jlf@foxtail.org> +2012-08-21 Josh Feinstein <jlf@foxtail.org> * erc-join.el (erc-autojoin-timing): Fix defcustom type. @@ -151,7 +151,7 @@ Use `erc-match-exclude-server-buffer' not `erc-track-exclude-server-buffer'. -2012-08-20 Josh Feinstein <jlf@foxtail.org> +2012-08-20 Josh Feinstein <jlf@foxtail.org> * erc.el (erc-display-message): Abstract message hiding decision to new function erc-hide-current-message-p. diff --git a/lisp/face-remap.el b/lisp/face-remap.el index b620d01d83e..e4ec602efe7 100644 --- a/lisp/face-remap.el +++ b/lisp/face-remap.el @@ -72,7 +72,7 @@ :font :inherit :fontset :vector]) (defun face-attrs-more-relative-p (attrs1 attrs2) -"Return true if ATTRS1 contains a greater number of relative + "Return true if ATTRS1 contains a greater number of relative face-attributes than ATTRS2. A face attribute is considered relative if `face-attribute-relative-p' returns non-nil. @@ -395,9 +395,9 @@ one face is listed, that specifies an aggregate face, like in a `face' text property. If `buffer-face-mode' is already enabled, and is currently using -the face specs SPECS, then it is disabled; if buffer-face-mode is -disabled, or is enabled and currently displaying some other face, -then is left enabled, but the face changed to reflect SPECS. +the face specs SPECS, then it is disabled; if `buffer-face-mode' +is disabled, or is enabled and currently displaying some other +face, then is left enabled, but the face changed to reflect SPECS. This function will make the variable `buffer-face-mode-face' buffer local, and set it to SPECS." @@ -411,13 +411,13 @@ buffer local, and set it to SPECS." (buffer-face-mode t))) (defun buffer-face-mode-invoke (specs arg &optional interactive) - "Enable or disable `buffer-face-mode' using face specs SPECS, and argument ARG. + "Enable or disable `buffer-face-mode' using face specs SPECS. ARG controls whether the mode is enabled or disabled, and is interpreted in the usual manner for minor-mode commands. SPECS can be any value suitable for a `face' text property, -including a face name, a plist of face attributes and values, or -a list of faces. +including a face name, a plist of face attributes and values, +or a list of faces. If INTERACTIVE is non-nil, display a message describing the result. diff --git a/lisp/faces.el b/lisp/faces.el index d570140e7e6..0a3f0551325 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -536,11 +536,9 @@ Use `face-attribute' for finer control." (defun face-documentation (face) "Get the documentation string for FACE. If FACE is a face-alias, get the documentation for the target face." - (let ((alias (get face 'face-alias)) - doc) + (let ((alias (get face 'face-alias))) (if alias - (progn - (setq doc (get alias 'face-documentation)) + (let ((doc (get alias 'face-documentation))) (format "%s is an alias for the face `%s'.%s" face alias (if doc (format "\n%s" doc) ""))) @@ -1171,7 +1169,7 @@ of a global face. Value is the new attribute value." ;; pixmap file name won't start with an open-paren. (and (memq attribute '(:stipple :box :underline)) (stringp new-value) - (string-match "^[[(]" new-value) + (string-match-p "^[[(]" new-value) (setq new-value (read new-value))) new-value)) @@ -1272,7 +1270,7 @@ arg, prompt for a regular expression." (delq nil (mapcar (lambda (f) (let ((s (symbol-name f))) - (when (or all-faces (string-match regexp s)) + (when (or all-faces (string-match-p regexp s)) (setq max-length (max (length s) max-length)) f))) (sort (face-list) #'string-lessp)))) @@ -1328,10 +1326,8 @@ arg, prompt for a regular expression." (setq disp-frame (if window (window-frame window) (car (frame-list)))) (or (eq frame disp-frame) - (let ((faces (face-list))) - (while faces - (copy-face (car faces) (car faces) frame disp-frame) - (setq faces (cdr faces))))))) + (dolist (face (face-list)) + (copy-face face face frame disp-frame))))) (defun describe-face (face &optional frame) @@ -1850,7 +1846,7 @@ resulting color name in the echo area." (when (and convert-to-RGB (not (string-equal color ""))) (let ((components (x-color-values color))) - (unless (string-match "^#\\([a-fA-F0-9][a-fA-F0-9][a-fA-F0-9]\\)+$" color) + (unless (string-match-p "^#\\(?:[a-fA-F0-9][a-fA-F0-9][a-fA-F0-9]\\)+$" color) (setq color (format "#%04X%04X%04X" (logand 65535 (nth 0 components)) (logand 65535 (nth 1 components)) @@ -2096,7 +2092,7 @@ the above example." (not (funcall pred type))) ;; Strip off last hyphen and what follows, then try again (setq type - (if (setq hyphend (string-match "[-_][^-_]+$" type)) + (if (setq hyphend (string-match-p "[-_][^-_]+$" type)) (substring type 0 hyphend) nil)))) type) @@ -2617,7 +2613,7 @@ also the same size as FACE on FRAME, or fail." (let ((fonts (x-list-fonts pattern face frame 1))) (or fonts (if face - (if (string-match "\\*" pattern) + (if (string-match-p "\\*" pattern) (if (null (face-font face)) (error "No matching fonts are the same height as the frame default font") (error "No matching fonts are the same height as face `%s'" face)) diff --git a/lisp/filenotify.el b/lisp/filenotify.el new file mode 100644 index 00000000000..e170db2dd5f --- /dev/null +++ b/lisp/filenotify.el @@ -0,0 +1,324 @@ +;;; filenotify.el --- watch files for changes on disk + +;; Copyright (C) 2013 Free Software Foundation, Inc. + +;; Author: Michael Albinus <michael.albinus@gmx.de> + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary + +;; This package is an abstraction layer from the different low-level +;; file notification packages `gfilenotify', `inotify' and +;; `w32notify'. + +;;; Code: + +;;;###autoload +(defconst file-notify-support + (cond + ((featurep 'gfilenotify) 'gfilenotify) + ((featurep 'inotify) 'inotify) + ((featurep 'w32notify) 'w32notify)) + "Non-nil when Emacs has been compiled with file notification support. +The value is the name of the low-level file notification package +to be used for local file systems. Remote file notifications +could use another implementation.") + +(defvar file-notify-descriptors (make-hash-table :test 'equal) + "Hash table for registered file notification descriptors. +A key in this hash table is the descriptor as returned from +`gfilenotify', `inotify', `w32notify' or a file name handler. +The value in the hash table is the cons cell (DIR FILE CALLBACK).") + +;; This function is used by `gfilenotify', `inotify' and `w32notify' events. +;;;###autoload +(defun file-notify-handle-event (event) + "Handle file system monitoring event. +If EVENT is a filewatch event, call its callback. +Otherwise, signal a `file-notify-error'." + (interactive "e") + (if (and (eq (car event) 'file-notify) + (>= (length event) 3)) + (funcall (nth 2 event) (nth 1 event)) + (signal 'file-notify-error + (cons "Not a valid file-notify event" event)))) + +(defvar file-notify--pending-events nil + "List of pending file notification events for a future `renamed' action. +The entries are a list (DESCRIPTOR ACTION FILE COOKIE). ACTION +is either `moved-from' or `renamed-from'.") + +(defun file-notify--event-file-name (event) + "Return file name of file notification event, or nil." + (expand-file-name + (or (and (stringp (nth 2 event)) (nth 2 event)) "") + (car (gethash (car event) file-notify-descriptors)))) + +;; Only `gfilenotify' could return two file names. +(defun file-notify--event-file1-name (event) + "Return second file name of file notification event, or nil. +This is available in case a file has been moved." + (and (stringp (nth 3 event)) + (expand-file-name + (nth 3 event) (car (gethash (car event) file-notify-descriptors))))) + +;; Cookies are offered by `inotify' only. +(defun file-notify--event-cookie (event) + "Return cookie of file notification event, or nil. +This is available in case a file has been moved." + (nth 3 event)) + +;; The callback function used to map between specific flags of the +;; respective file notifications, and the ones we return. +(defun file-notify-callback (event) + "Handle an EVENT returned from file notification. +EVENT is the same one as in `file-notify-handle-event' except the +car of that event, which is the symbol `file-notify'." + (let* ((desc (car event)) + (registered (gethash desc file-notify-descriptors)) + (pending-event (assoc desc file-notify--pending-events)) + (actions (nth 1 event)) + (file (file-notify--event-file-name event)) + file1 cookie callback) + + ;; Make actions a list. + (unless (consp actions) (setq actions (cons actions nil))) + + ;; Check, that event is meant for us. + (unless (setq callback (nth 2 registered)) + (setq actions nil)) + + ;; Loop over actions. In fact, more than one action happens only + ;; for `inotify'. + (dolist (action actions) + + ;; Send pending event, if it doesn't match. + (when (and pending-event + ;; The cookie doesn't match. + (not (eq (file-notify--event-cookie pending-event) + (file-notify--event-cookie event))) + (or + ;; inotify. + (and (eq (nth 1 pending-event) 'moved-from) + (not (eq action 'moved-to))) + ;; w32notify. + (and (eq (nth 1 pending-event) 'renamed-from) + (not (eq action 'renamed-to))))) + (funcall callback + (list desc 'deleted + (file-notify--event-file-name pending-event))) + (setq file-notify--pending-events + (delete pending-event file-notify--pending-events))) + + ;; Map action. We ignore all events which cannot be mapped. + (setq action + (cond + ;; gfilenotify. + ((memq action '(attribute-changed changed created deleted)) action) + ((eq action 'moved) + (setq file1 (file-notify--event-file1-name event)) + 'renamed) + + ;; inotify. + ((eq action 'attrib) 'attribute-changed) + ((eq action 'create) 'created) + ((eq action 'modify) 'changed) + ((memq action '(delete 'delete-self move-self)) 'deleted) + ;; Make the event pending. + ((eq action 'moved-from) + (add-to-list 'file-notify--pending-events + (list desc action file + (file-notify--event-cookie event))) + nil) + ;; Look for pending event. + ((eq action 'moved-to) + (if (null pending-event) + 'created + (setq file1 file + file (file-notify--event-file-name pending-event) + file-notify--pending-events + (delete pending-event file-notify--pending-events)) + 'renamed)) + + ;; w32notify. + ((eq action 'added) 'created) + ((eq action 'modified) 'changed) + ((eq action 'removed) 'deleted) + ;; Make the event pending. + ((eq 'renamed-from action) + (add-to-list 'file-notify--pending-events + (list desc action file + (file-notify--event-cookie event))) + nil) + ;; Look for pending event. + ((eq 'renamed-to action) + (if (null pending-event) + 'created + (setq file1 file + file (file-notify--event-file-name pending-event) + file-notify--pending-events + (delete pending-event file-notify--pending-events)) + 'renamed)))) + + ;; Apply callback. + (when (and action + (or + ;; If there is no relative file name for that watch, + ;; we watch the whole directory. + (null (nth 1 registered)) + ;; File matches. + (string-equal + (nth 1 registered) (file-name-nondirectory file)) + ;; File1 matches. + (and (stringp file1) + (string-equal + (nth 1 registered) (file-name-nondirectory file1))))) + (if file1 + (funcall callback (list desc action file file1)) + (funcall callback (list desc action file))))))) + +(defun file-notify-add-watch (file flags callback) + "Add a watch for filesystem events pertaining to FILE. +This arranges for filesystem events pertaining to FILE to be reported +to Emacs. Use `file-notify-rm-watch' to cancel the watch. + +The returned value is a descriptor for the added watch. If the +file cannot be watched for some reason, this function signals a +`file-notify-error' error. + +FLAGS is a list of conditions to set what will be watched for. It can +include the following symbols: + + `change' -- watch for file changes + `attribute-change' -- watch for file attributes changes, like + permissions or modification time + +If FILE is a directory, 'change' watches for file creation or +deletion in that directory. + +When any event happens, Emacs will call the CALLBACK function passing +it a single argument EVENT, which is of the form + + (DESCRIPTOR ACTION FILE [FILE1]) + +DESCRIPTOR is the same object as the one returned by this function. +ACTION is the description of the event. It could be any one of the +following: + + `created' -- FILE was created + `deleted' -- FILE was deleted + `changed' -- FILE has changed + `renamed' -- FILE has been renamed to FILE1 + `attribute-changed' -- a FILE attribute was changed + +FILE is the name of the file whose event is being reported." + ;; Check arguments. + (unless (stringp file) + (signal 'wrong-type-argument (list file))) + (setq file (expand-file-name file)) + (unless (and (consp flags) + (null (delq 'change (delq 'attribute-change (copy-tree flags))))) + (signal 'wrong-type-argument (list flags))) + (unless (functionp callback) + (signal 'wrong-type-argument (list callback))) + + (let* ((handler (find-file-name-handler file 'file-notify-add-watch)) + (dir (directory-file-name + (if (or (and (not handler) (eq file-notify-support 'w32notify)) + (file-directory-p file)) + file + (file-name-directory file)))) + desc func l-flags) + + ;; Check, whether this has been registered already. +; (maphash +; (lambda (key value) +; (when (equal (cons file callback) value) (setq desc key))) +; file-notify-descriptors) + + (unless desc + (if handler + ;; A file name handler could exist even if there is no local + ;; file notification support. + (setq desc (funcall + handler 'file-notify-add-watch dir flags callback)) + + ;; Check, whether Emacs has been compiled with file + ;; notification support. + (unless file-notify-support + (signal 'file-notify-error + '("No file notification package available"))) + + ;; Determine low-level function to be called. + (setq func (cond + ((eq file-notify-support 'gfilenotify) 'gfile-add-watch) + ((eq file-notify-support 'inotify) 'inotify-add-watch) + ((eq file-notify-support 'w32notify) 'w32notify-add-watch))) + + ;; Determine respective flags. + (if (eq file-notify-support 'gfilenotify) + (setq l-flags '(watch-mounts send-moved)) + (when (memq 'change flags) + (setq + l-flags + (cond + ((eq file-notify-support 'inotify) '(create modify move delete)) + ((eq file-notify-support 'w32notify) + '(file-name directory-name size last-write-time))))) + (when (memq 'attribute-change flags) + (add-to-list + 'l-flags + (cond + ((eq file-notify-support 'inotify) 'attrib) + ((eq file-notify-support 'w32notify) 'attributes))))) + + ;; Call low-level function. + (setq desc (funcall func dir l-flags 'file-notify-callback)))) + + ;; Return descriptor. + (puthash desc + (list (directory-file-name + (if (file-directory-p dir) dir (file-name-directory dir))) + (unless (file-directory-p file) + (file-name-nondirectory file)) + callback) + file-notify-descriptors) + desc)) + +(defun file-notify-rm-watch (descriptor) + "Remove an existing watch specified by its DESCRIPTOR. +DESCRIPTOR should be an object returned by `file-notify-add-watch'." + (let ((file (car (gethash descriptor file-notify-descriptors))) + handler) + + (when (stringp file) + (setq handler (find-file-name-handler file 'file-notify-rm-watch)) + (if handler + (funcall handler 'file-notify-rm-watch descriptor) + (funcall + (cond + ((eq file-notify-support 'gfilenotify) 'gfile-rm-watch) + ((eq file-notify-support 'inotify) 'inotify-rm-watch) + ((eq file-notify-support 'w32notify) 'w32notify-rm-watch)) + descriptor))) + + (remhash descriptor file-notify-descriptors))) + +;; The end: +(provide 'filenotify) + +;;; filenotify.el ends here diff --git a/lisp/files-x.el b/lisp/files-x.el index 0ba245d423a..adc2b8b3bf3 100644 --- a/lisp/files-x.el +++ b/lisp/files-x.el @@ -38,11 +38,10 @@ Intended to be used in the `interactive' spec of `add-file-local-variable', `delete-file-local-variable', `add-dir-local-variable', `delete-dir-local-variable'." - (let (default variable) - (setq default (variable-at-point)) - (setq default (and (symbolp default) (boundp default) + (let* ((default (variable-at-point)) + (default (and (symbolp default) (boundp default) (symbol-name default))) - (setq variable + (variable (completing-read (if default (format "%s (default %s): " prompt default) @@ -52,48 +51,47 @@ Intended to be used in the `interactive' spec of (or (custom-variable-p sym) (get sym 'safe-local-variable) (memq sym '(mode eval coding unibyte)))) - nil nil nil default nil)) + nil nil nil default nil))) (and (stringp variable) (intern variable)))) (defun read-file-local-variable-value (variable) "Read value of file-local VARIABLE using completion. Intended to be used in the `interactive' spec of `add-file-local-variable' and `add-dir-local-variable'." - (let (default value) - (cond - ((eq variable 'mode) - (setq default (and (symbolp major-mode) (symbol-name major-mode))) - (setq value - (completing-read - (if default - (format "Add %s with value (default %s): " variable default) - (format "Add %s with value: " variable)) - obarray - (lambda (sym) - (string-match-p "-mode\\'" (symbol-name sym))) - nil nil nil default nil)) + (cond + ((eq variable 'mode) + (let* ((default (and (symbolp major-mode) (symbol-name major-mode))) + (value + (completing-read + (if default + (format "Add %s with value (default %s): " variable default) + (format "Add %s with value: " variable)) + obarray + (lambda (sym) + (string-match-p "-mode\\'" (symbol-name sym))) + nil nil nil default nil))) (and (stringp value) - (intern (replace-regexp-in-string "-mode\\'" "" value)))) - ((eq variable 'eval) - (let ((minibuffer-completing-symbol t)) - (read-from-minibuffer (format "Add %s with expression: " variable) - nil read-expression-map t - 'read-expression-history))) - ((eq variable 'coding) - (setq default (and (symbolp buffer-file-coding-system) - (symbol-name buffer-file-coding-system))) + (intern (replace-regexp-in-string "-mode\\'" "" value))))) + ((eq variable 'eval) + (read--expression (format "Add %s with expression: " variable))) + ((eq variable 'coding) + (let ((default (and (symbolp buffer-file-coding-system) + (symbol-name buffer-file-coding-system)))) (read-coding-system (if default - (format "Add %s with value (default %s): " variable default) - (format "Add %s with value: " variable)) - default)) - (t - (read (read-string (format "Add %s with value: " variable) - nil 'set-variable-value-history - (format "%S" - (cond ((eq variable 'unibyte) t) - ((boundp variable) - (symbol-value variable)))))))))) + (format "Add %s with value (default %s): " variable default) + (format "Add %s with value: " variable)) + default))) + (t + (let ((default (format "%S" + (cond ((eq variable 'unibyte) t) + ((boundp variable) + (symbol-value variable))))) + (minibuffer-completing-symbol t)) + (read-from-minibuffer (format "Add %s with value: " variable) + nil read-expression-map t + 'set-variable-value-history + default))))) (defun read-file-local-variable-mode () "Read per-directory file-local variable's mode using completion. @@ -108,14 +106,47 @@ Intended to be used in the `interactive' spec of obarray (lambda (sym) (and (string-match-p "-mode\\'" (symbol-name sym)) - (not (string-match-p "-minor-mode\\'" (symbol-name sym))))) + (not (or (memq sym minor-mode-list) + (string-match-p "-minor-mode\\'" + (symbol-name sym)))))) nil nil nil default nil))) (cond ((equal mode "nil") nil) ((and (stringp mode) (fboundp (intern mode))) (intern mode)) (t mode)))) -(defun modify-file-local-variable (variable value op) +(defun modify-file-local-variable-message (variable value op) + (let* ((not-value (make-symbol "")) + (old-value (cond ((eq variable 'mode) + major-mode) + ((eq variable 'coding) + buffer-file-coding-system) + (t (if (and (symbolp variable) + (boundp variable)) + (symbol-value variable) + not-value)))) + (new-value (if (eq op 'delete) + (cond ((eq variable 'mode) + (default-value 'major-mode)) + ((eq variable 'coding) + (default-value 'buffer-file-coding-system)) + (t (if (and (symbolp variable) + (default-boundp variable)) + (default-value variable) + not-value))) + (cond ((eq variable 'mode) + (let ((string (format "%S" value))) + (if (string-match-p "-mode\\'" string) + value + (intern (concat string "-mode"))))) + (t value))))) + (when (or (eq old-value not-value) + (eq new-value not-value) + (not (equal old-value new-value))) + (message "%s" (substitute-command-keys + "For this change to take effect revisit file using \\[revert-buffer]"))))) + +(defun modify-file-local-variable (variable value op &optional interactive) "Modify file-local VARIABLE in Local Variables depending on operation OP. If OP is `add-or-replace' then delete all existing settings of @@ -198,10 +229,13 @@ from the Local Variables list ignoring the input argument VALUE." ((eq variable 'mode) (goto-char beg)) ((null replaced-pos) (goto-char end)) (replaced-pos (goto-char replaced-pos))) - (insert (format "%s%S: %S%s\n" prefix variable value suffix))))))) + (insert (format "%s%S: %S%s\n" prefix variable value suffix)))) + + (when interactive + (modify-file-local-variable-message variable value op))))) ;;;###autoload -(defun add-file-local-variable (variable value) +(defun add-file-local-variable (variable value &optional interactive) "Add file-local VARIABLE with its VALUE to the Local Variables list. This command deletes all existing settings of VARIABLE (except `mode' @@ -213,17 +247,17 @@ then this function adds the first line containing the string `Local Variables:' and the last line containing the string `End:'." (interactive (let ((variable (read-file-local-variable "Add file-local variable"))) - (list variable (read-file-local-variable-value variable)))) - (modify-file-local-variable variable value 'add-or-replace)) + (list variable (read-file-local-variable-value variable) t))) + (modify-file-local-variable variable value 'add-or-replace interactive)) ;;;###autoload -(defun delete-file-local-variable (variable) +(defun delete-file-local-variable (variable &optional interactive) "Delete all settings of file-local VARIABLE from the Local Variables list." (interactive - (list (read-file-local-variable "Delete file-local variable"))) - (modify-file-local-variable variable nil 'delete)) + (list (read-file-local-variable "Delete file-local variable") t)) + (modify-file-local-variable variable nil 'delete interactive)) -(defun modify-file-local-variable-prop-line (variable value op) +(defun modify-file-local-variable-prop-line (variable value op &optional interactive) "Modify file-local VARIABLE in the -*- line depending on operation OP. If OP is `add-or-replace' then delete all existing settings of @@ -256,19 +290,40 @@ from the -*- line ignoring the input argument VALUE." (goto-char (point-min)) - ;; Skip interpreter magic line "#!" - (when (looking-at "^\\(#!\\|'\\\\\"\\)") + ;; Skip interpreter magic line "#!" or XML declaration. + (when (or (looking-at file-auto-mode-skip) + (looking-at "<\\?xml[^>\n]*>$")) (forward-line 1)) (let ((comment-style 'plain) - (comment-start (or comment-start ";;; "))) - (comment-region - (prog1 (point) - (insert "-*-") - (setq beg (point-marker)) - (setq end (point-marker)) - (insert "-*-\n")) - (point)))) + (comment-start (or comment-start ";;; ")) + (line-beg (line-beginning-position)) + (ce nil)) + (comment-normalize-vars) + ;; If the first line contains a comment. + (if (save-excursion + (and (looking-at comment-start-skip) + (goto-char (match-end 0)) + (re-search-forward comment-end-skip) + (goto-char (match-beginning 0)) + ;; Still on the same line? + (equal line-beg (line-beginning-position)) + (setq ce (point)))) + ;; Add local variables to the end of the existing comment. + (progn + (goto-char ce) + (insert " -*-") + (setq beg (point-marker)) + (setq end (point-marker)) + (insert "-*-")) + ;; Otherwise, add a new comment before the first line. + (comment-region + (prog1 (point) + (insert "-*-") + (setq beg (point-marker)) + (setq end (point-marker)) + (insert "-*-\n")) + (point))))) (cond ((looking-at "[ \t]*\\([^ \t\n\r:;]+\\)\\([ \t]*-\\*-\\)") @@ -316,14 +371,19 @@ from the -*- line ignoring the input argument VALUE." ((null replaced-pos) (goto-char end)) (replaced-pos (goto-char replaced-pos))) (if (and (not (eq (char-before) ?\;)) - (not (equal (point) (marker-position beg)))) + (not (equal (point) (marker-position beg))) + ;; When existing `-*- -*-' is empty, beg > end. + (not (> (marker-position beg) (marker-position end)))) (insert ";")) (unless (eq (char-before) ?\s) (insert " ")) (insert (format "%S: %S;" variable value)) - (unless (eq (char-after) ?\s) (insert " ")))))))) + (unless (eq (char-after) ?\s) (insert " "))))) + + (when interactive + (modify-file-local-variable-message variable value op))))) ;;;###autoload -(defun add-file-local-variable-prop-line (variable value) +(defun add-file-local-variable-prop-line (variable value &optional interactive) "Add file-local VARIABLE with its VALUE to the -*- line. This command deletes all existing settings of VARIABLE (except `mode' @@ -334,15 +394,15 @@ If there is no -*- line at the beginning of the current file buffer then this function adds it." (interactive (let ((variable (read-file-local-variable "Add -*- file-local variable"))) - (list variable (read-file-local-variable-value variable)))) - (modify-file-local-variable-prop-line variable value 'add-or-replace)) + (list variable (read-file-local-variable-value variable) t))) + (modify-file-local-variable-prop-line variable value 'add-or-replace interactive)) ;;;###autoload -(defun delete-file-local-variable-prop-line (variable) +(defun delete-file-local-variable-prop-line (variable &optional interactive) "Delete all settings of file-local VARIABLE from the -*- line." (interactive - (list (read-file-local-variable "Delete -*- file-local variable"))) - (modify-file-local-variable-prop-line variable nil 'delete)) + (list (read-file-local-variable "Delete -*- file-local variable") t)) + (modify-file-local-variable-prop-line variable nil 'delete interactive)) (defvar auto-insert) ; from autoinsert.el @@ -416,7 +476,7 @@ from the MODE alist ignoring the input argument VALUE." ;; Insert modified alist of directory-local variables. (insert ";;; Directory Local Variables\n") - (insert ";;; See Info node `(emacs) Directory Variables' for more information.\n\n") + (insert ";;; For more information see (info \"(emacs) Directory Variables\")\n\n") (pp (sort variables (lambda (a b) (cond diff --git a/lisp/files.el b/lisp/files.el index 871a4b0548b..9b56dfa9693 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1859,13 +1859,12 @@ the various files." (setq buffer-read-only read-only))) (setq buffer-file-read-only read-only)) - (when (and (not (eq (not (null rawfile)) - (not (null find-file-literally)))) - (not nonexistent) - ;; It is confusing to ask whether to visit - ;; non-literally if they have the file in - ;; hexl-mode or image-mode. - (not (memq major-mode '(hexl-mode image-mode)))) + (unless (or (eq (null rawfile) (null find-file-literally)) + nonexistent + ;; It is confusing to ask whether to visit + ;; non-literally if they have the file in + ;; hexl-mode or image-mode. + (memq major-mode '(hexl-mode image-mode))) (if (buffer-modified-p) (if (y-or-n-p (format @@ -3879,6 +3878,10 @@ Interactively, confirmation is required unless you supply a prefix argument." (or buffer-file-name (buffer-name)))))) (and confirm (file-exists-p filename) + ;; NS does its own confirm dialog. + (not (and (eq (framep-on-display) 'ns) + (listp last-nonmenu-event) + use-dialog-box)) (or (y-or-n-p (format "File `%s' exists; overwrite? " filename)) (error "Canceled"))) (set-visited-file-name filename (not confirm)))) diff --git a/lisp/finder.el b/lisp/finder.el index f6593c554eb..e07c6a241ab 100644 --- a/lisp/finder.el +++ b/lisp/finder.el @@ -232,6 +232,9 @@ from; the default is `load-path'." (insert (autoload-rubric generated-finder-keywords-file "keyword-to-package mapping" t)) (search-backward "") + ;; FIXME: Now that we have package--builtin-versions, package--builtins is + ;; only needed to get the list of unversioned packages and to get the + ;; summary description of each package. (insert "(setq package--builtins '(\n") (dolist (package package--builtins) (insert " ") diff --git a/lisp/font-lock.el b/lisp/font-lock.el index 8f4363b0bdf..70ed73eb5ab 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el @@ -2292,7 +2292,7 @@ in which C preprocessor directives are used. e.g. `asm-mode' and "eval-when-compile" "eval-when" "eval-next-after-load" "with-case-table" "with-category-table" "with-coding-priority" "with-current-buffer" "with-demoted-errors" - "with-electric-help" + "with-electric-help" "with-eval-after-load" "with-local-quit" "with-no-warnings" "with-output-to-string" "with-output-to-temp-buffer" "with-selected-window" "with-selected-frame" diff --git a/lisp/frame.el b/lisp/frame.el index 0f8fc523a1b..3ac24a509a0 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -1365,7 +1365,11 @@ frame's display)." (defun display-pixel-height (&optional display) "Return the height of DISPLAY's screen in pixels. -For character terminals, each character counts as a single pixel." +For character terminals, each character counts as a single pixel. +For graphical terminals, note that on \"multi-monitor\" setups this +refers to the pixel height for all physical monitors associated +with DISPLAY. To get information for each physical monitor, use +`display-monitor-attributes-list'." (let ((frame-type (framep-on-display display))) (cond ((memq frame-type '(x w32 ns)) @@ -1377,7 +1381,11 @@ For character terminals, each character counts as a single pixel." (defun display-pixel-width (&optional display) "Return the width of DISPLAY's screen in pixels. -For character terminals, each character counts as a single pixel." +For character terminals, each character counts as a single pixel. +For graphical terminals, note that on \"multi-monitor\" setups this +refers to the pixel width for all physical monitors associated +with DISPLAY. To get information for each physical monitor, use +`display-monitor-attributes-list'." (let ((frame-type (framep-on-display display))) (cond ((memq frame-type '(x w32 ns)) @@ -1408,7 +1416,11 @@ displays not explicitly specified." (defun display-mm-height (&optional display) "Return the height of DISPLAY's screen in millimeters. System values can be overridden by `display-mm-dimensions-alist'. -If the information is unavailable, value is nil." +If the information is unavailable, value is nil. +For graphical terminals, note that on \"multi-monitor\" setups this +refers to the height in millimeters for all physical monitors +associated with DISPLAY. To get information for each physical +monitor, use `display-monitor-attributes-list'." (and (memq (framep-on-display display) '(x w32 ns)) (or (cddr (assoc (or display (frame-parameter nil 'display)) display-mm-dimensions-alist)) @@ -1420,7 +1432,11 @@ If the information is unavailable, value is nil." (defun display-mm-width (&optional display) "Return the width of DISPLAY's screen in millimeters. System values can be overridden by `display-mm-dimensions-alist'. -If the information is unavailable, value is nil." +If the information is unavailable, value is nil. +For graphical terminals, note that on \"multi-monitor\" setups this +refers to the width in millimeters for all physical monitors +associated with DISPLAY. To get information for each physical +monitor, use `display-monitor-attributes-list'." (and (memq (framep-on-display display) '(x w32 ns)) (or (cadr (assoc (or display (frame-parameter nil 'display)) display-mm-dimensions-alist)) @@ -1495,6 +1511,8 @@ The value is one of the symbols `static-gray', `gray-scale', (declare-function x-display-monitor-attributes-list "xfns.c" (&optional terminal)) +(declare-function w32-display-monitor-attributes-list "w32fns.c" + (&optional display)) (declare-function ns-display-monitor-attributes-list "nsfns.m" (&optional terminal)) @@ -1530,6 +1548,8 @@ monitors." (cond ((eq frame-type 'x) (x-display-monitor-attributes-list display)) + ((eq frame-type 'w32) + (w32-display-monitor-attributes-list display)) ((eq frame-type 'ns) (ns-display-monitor-attributes-list display)) (t diff --git a/lisp/generic-x.el b/lisp/generic-x.el index 946b81992f8..1867759b549 100644 --- a/lisp/generic-x.el +++ b/lisp/generic-x.el @@ -483,38 +483,30 @@ like an INI file. You can add this hook to `find-file-hook'." ;; are frequently used in simple text, we punt.) ;; In `generic-bat-mode-setup-function' we make the keywords ;; case-insensitive - (generic-make-keywords-list - '("for" - "if") - font-lock-keyword-face "^[@ \t]*") + '("^[@ \t]*\\_<\\(for\\|if\\)\\_>" 1 font-lock-keyword-face) ;; These keywords can be anywhere on a line ;; In `generic-bat-mode-setup-function' we make the keywords ;; case-insensitive - (generic-make-keywords-list - '("do" - "exist" - "errorlevel" - "goto" - "not") - font-lock-keyword-face) + (list (regexp-opt '("do" "exist" "errorlevel" "goto" "not") 'symbols) + 1 font-lock-keyword-face) ;; These are built-in commands. Only frequently-used ones are listed. - (generic-make-keywords-list - '("CALL" "call" "Call" - "CD" "cd" "Cd" - "CLS" "cls" "Cls" - "COPY" "copy" "Copy" - "DEL" "del" "Del" - "ECHO" "echo" "Echo" - "MD" "md" "Md" - "PATH" "path" "Path" - "PAUSE" "pause" "Pause" - "PROMPT" "prompt" "Prompt" - "RD" "rd" "Rd" - "REN" "ren" "Ren" - "SET" "set" "Set" - "START" "start" "Start" - "SHIFT" "shift" "Shift") - font-lock-builtin-face "[ \t|\n]") + (list (concat "[ \t|\n]" + (regexp-opt '("CALL" "call" "Call" + "CD" "cd" "Cd" + "CLS" "cls" "Cls" + "COPY" "copy" "Copy" + "DEL" "del" "Del" + "ECHO" "echo" "Echo" + "MD" "md" "Md" + "PATH" "path" "Path" + "PAUSE" "pause" "Pause" + "PROMPT" "prompt" "Prompt" + "RD" "rd" "Rd" + "REN" "ren" "Ren" + "SET" "set" "Set" + "START" "start" "Start" + "SHIFT" "shift" "Shift") 'symbols)) + 1 font-lock-builtin-face) '("^[ \t]*\\(:\\sw+\\)" 1 font-lock-function-name-face t) '("\\(%\\sw+%\\)" 1 font-lock-variable-name-face t) '("\\(%[0-9]\\)" 1 font-lock-variable-name-face t) @@ -841,21 +833,16 @@ like an INI file. You can add this hook to `find-file-hook'." ;; the choice of face for each token group (eval-when-compile (list - (generic-make-keywords-list - '("FILEFLAGSMASK" - "FILEFLAGS" - "FILEOS" - "FILESUBTYPE" - "FILETYPE" - "FILEVERSION" - "PRODUCTVERSION") - font-lock-type-face) - (generic-make-keywords-list - '("BEGIN" - "BLOCK" - "END" - "VALUE") - font-lock-function-name-face) + (list (regexp-opt '("FILEFLAGSMASK" + "FILEFLAGS" + "FILEOS" + "FILESUBTYPE" + "FILETYPE" + "FILEVERSION" + "PRODUCTVERSION") 'symbols) + 1 font-lock-type-face) + (list (regexp-opt '("BEGIN" "BLOCK" "END" "VALUE") 'symbols) + 1 font-lock-function-name-face) '("^#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)" 1 font-lock-string-face) '("^#[ \t]*define[ \t]+\\(\\sw+\\)(" 1 font-lock-function-name-face) '("^#[ \t]*\\(elif\\|if\\)\\>" @@ -1470,21 +1457,25 @@ like an INI file. You can add this hook to `find-file-hook'." (1 font-lock-keyword-face) (2 font-lock-constant-face nil t)) ;; system variables - (generic-make-keywords-list - installshield-system-variables-list - font-lock-variable-name-face "[^_]" "[^_]") + (list (concat "[^_]" + (regexp-opt installshield-system-variables-list 'symbols) + "[^_]") + 1 font-lock-variable-name-face) ;; system functions - (generic-make-keywords-list - installshield-system-functions-list - font-lock-function-name-face "[^_]" "[^_]") + (list (concat "[^_]" + (regexp-opt installshield-system-functions-list 'symbols) + "[^_]") + 1 font-lock-function-name-face) ;; type keywords - (generic-make-keywords-list - installshield-types-list - font-lock-type-face "[^_]" "[^_]") + (list (concat "[^_]" + (regexp-opt installshield-types-list 'symbols) + "[^_]") + 1 font-lock-type-face) ;; function argument constants - (generic-make-keywords-list - installshield-funarg-constants-list - font-lock-variable-name-face "[^_]" "[^_]"))) ; is this face the best choice? + (list (concat "[^_]" + (regexp-opt installshield-funarg-constants-list 'symbols) + "[^_]") + 1 font-lock-variable-name-face))) ; is this face the best choice? '("\\.[rR][uU][lL]\\'") '(generic-rul-mode-setup-function) "Generic mode for InstallShield RUL files.") diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 83831264f58..34eb28f0965 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,378 @@ +2013-07-05 David Kastrup <dak@gnu.org> + + * auth-source.el (auth-source-netrc-parse-one): Allow empty strings in + authinfo file again (important for blank passwords). This had been + broken with 2013-06-15 change. + +2013-07-03 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus-sum.el (gnus-summary-from-or-to-or-newsgroups): + Revert 2013-01-14 change. + +2013-07-02 David Engster <deng@randomsample.de> + + * gnus-sum.el (gnus-update-marks): Do not remove empty 'unexist' + ranges, since `nnimap-retrieve-group-data-early' also uses it as a flag + to see whether the group was synced before. + +2013-07-02 Martin Stjernholm <mast@lysator.liu.se> + + * nnimap.el (nnimap-request-move-article): Decode the group name when + doing internal moves to avoid charset issues. + +2013-07-02 Julien Danjou <julien@danjou.info> + + * nnimap.el (nnimap-request-list): + Revert change that made listing synchronous. + (nnimap-get-responses): Restore. + +2013-07-02 Dave Abrahams <dave@boostpro.com> + + * nnimap.el (nnimap-change-group): Document result value. + + * nnimap.el (nnimap-find-article-by-message-id): + Account for the fact that nnimap-change-group can return t. + +2013-07-02 Julien Danjou <julien@danjou.info> + + * nnimap.el (nnimap-request-head): + Resture to-buffer parameter, used by `nnimap-request-move-article'. + + * nnimap.el (nnimap-request-head): Remove to-buffer argument. + + * gnus-int.el (gnus-request-head): Remove to-buffer argument, only + supported by nnimap actually. Reverts previous change. + + * gnus-int.el (gnus-request-head): Add an optional to-buffer parameter + to mimic `gnus-request-article' and enjoy backends the nn*-request-head + to-buffer argument that is already supported. + +2013-07-02 Julien Danjou <julien@danjou.info> + + * nnimap.el (nnimap-get-responses): Remove, unused. + +2013-07-02 Julien Danjou <julien@danjou.info> + + * nnimap.el (nnimap-request-articles-find-limit): Rename from + `nnimap-request-move-articles-find-limit' since we do not use it + only for move operations. + (nnimap-request-accept-article): + Use `nnimap-request-articles-find-limit' to limit search by message-id. + +2013-07-02 Julien Danjou <julien@danjou.info> + + * nnir.el (nnir-run-imap): Fix, use `nnimap-change-group'. + + * nnimap.el (nnimap-log-buffer): + Check that `window-point-insertion-type' is boundp, since it's not + available in XEmacs. + +2013-07-02 Michael Welsh Duggan <md5i@md5i.com> + + * nnimap.el (nnimap-log-buffer): + Add this, setting `window-point-insertion-type' in the buffer to t. + (nnimap-log-command): Use nnimap-log-buffer. + +2013-07-02 Julien Danjou <julien@danjou.info> + + * nnimap.el (nnimap-find-article-by-message-id): + Add an optional limit argument to be able to limit the search. + (nnimap-request-move-article): + Use `nnimap-request-move-articles-find-limit'. + (nnimap-request-move-articles-find-limit): + Add this to limit the search by Message-Id after a message move. + (nnimap): Add defgroup. + +2013-07-02 Julien Danjou <julien@danjou.info> + + * nnimap.el (nnimap-find-article-by-message-id): + Use `nnimap-possibly-change-group' rather than its own EXAMINE call. + (nnimap-possibly-change-group): Add read-only argument. + (nnimap-request-list): Use nnimap-possibly-change-group rather than + issuing EXAMINE manually. + (nnimap-find-article-by-message-id): + Use `nnimap-possibly-change-group' with read-only argument. + (nnimap-change-group): Rename from `nnimap-possibly-change-group'. + We cannot possibly change because we need to be sure that it's either + read-write or read-only. + +2013-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * gnus-sum.el (gnus-summary-insert-old-articles): + Don't include unexistent messages. + +2013-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * gnus-start.el (gnus-clean-old-newsrc): + Remove totally bogus `unexists' entries. + (gnus-clean-old-newsrc): Fix last checkin. + + * nnimap.el (nnimap-update-info): + None of the articles below the active low-water mark exist. + +2013-07-02 Katsumi Yamaoka <yamaoka@jpl.org> + + * nnimap.el (gnus-refer-thread-use-nnir): Silence the byte compiler. + +2013-07-02 Sergio Martinez <samf0xb58@gmail.com> (tiny change) + + * nnimap.el (nnimap-request-scan): + Allow `nnimap-inbox' to be a list of inboxes. + +2013-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * gnus-group.el (gnus-group-expire-articles-1): + Don't try to expire messages that don't exist. + + * gnus-sum.el (gnus-summary-expire-articles): Ditto. + +2013-07-02 Lars Ingebrigtsen <larsi@gnus.org> + + * gnus-start.el (gnus-clean-old-newsrc): Allow a FORCE parameter. + +2013-07-02 Lars Ingebrigtsen <larsi@gnus.org> + + * gnus-start.el (gnus-clean-old-newsrc): + Delete `unexist' from pre-Ma Gnus 0.3. + +2013-07-02 Lars Ingebrigtsen <larsi@gnus.org> + + * gnus-sum.el (gnus-summary-local-variables): + Make `gnus-newsgroup-unexist' into a local variable. + +2013-07-02 Lars Ingebrigtsen <larsi@gnus.org> + + * gnus-sum.el (gnus-adjust-marked-articles): + Add to `gnus-newsgroup-unexist'. + + * gnus.el (gnus-article-mark-lists): + Add `unexist' to the list of marks. + (gnus-article-special-mark-lists): + Put the `unexist' in the special marks list instead. + + * gnus-sum.el (gnus-articles-to-read): Don't include unexisting + articles in the list of articles to be selected. + + * nnimap.el (nnimap-retrieve-group-data-early): + Query for unexisting articles. + (nnimap-update-info): Keep track of unexisting articles. + (nnimap-update-qresync-info): Ditto. + +2013-07-02 Lars Ingebrigtsen <larsi@gnus.org> + + * gnus-start.el (gnus-clean-old-newsrc): New function. + (gnus-read-newsrc-file): Use it. + +2013-07-02 Daiki Ueno <ueno@gnu.org> + + * mml2015.el (mml2015-epg-key-image): Use 'gnus-create-image' instead + of 'create-image' for XEmacs compatibility; check errors when decoding + image. Reported by Uwe Brauer. + +2013-06-28 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus-art.el (gnus-article-extend-url-button): Make it work again with + gnus-button-push revised at 2011-01-19. + +2013-06-19 Glenn Morris <rgm@gnu.org> + + * gnus-group.el (gnus-mark-article-as-read): Fix declaration. + +2013-06-18 Teodor Zlatanov <tzz@lifelogs.com> + + * auth-source.el (auth-source-netrc-parse-entries): Remove debugging. + +2013-06-18 Glenn Morris <rgm@gnu.org> + + * eww.el, shr.el, shr-color.el: Move to ../net. + +2013-06-18 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * shr.el (shr-tag-table): Insert the images after the table, so that + they're not covered by the table colourisation, which often looked + awkward. + (shr-tag-dl, shr-tag-dt, shr-tag-dd): Add support for <dl>, <dt> and + <dd>. + +2013-06-18 Katsumi Yamaoka <yamaoka@jpl.org> + + * eww.el (eww-detect-charset): Improve regexp; move backward. + +2013-06-18 Glenn Morris <rgm@gnu.org> + + * mm-decode.el (widget-convert-button): Autoload. + + * sieve-manage.el (mm-enable-multibyte): Autoload. + + * shr.el (libxml-parse-html-region): Declare. + (shr-render-buffer): Explicit error if no libxml2 support. + +2013-06-17 Teodor Zlatanov <tzz@lifelogs.com> + + * auth-source.el (auth-source-current-line): New function. + (auth-source-netrc-parse-entries): When a data token is "machine", + assume we're in the wrong place and abort parsing the current line. + +2013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * eww.el (eww-tag-select): Don't render totally empty <select> forms. + (eww-convert-widgets): Don't bug out if the first widget starts at the + beginning of the buffer. + (eww-convert-widgets): Fix last patch. + (eww-tag-input): Support <input type=image>. + + * shr.el (shr-insert-table): Respect border-collapse: collapse. + (shr-tag-base): Protect against base specs that are degenerate. + (shr-ensure-paragraph): Don't delete empty lines that have text + properties, because these may be input fields. + + * eww.el (eww-convert-widgets): Put `help-echo' on input fields so that + we can navigate to them. + + * shr.el (shr-colorize-region): Put the colours over the entire region. + (shr-inhibit-decoration): New variable. + (shr-add-font): Use it to inhibit text property decorations while doing + preliminary table renderings. This speeds up typical Wikipedia page + renderings by 15%. + (shr-tag-span): Don't respect the <title>, because that overwrites the + help-echo from links inside the spans. + (shr-next-link): Use `help-echo' for navigation, so that we can + navigate to form elements, too. + + * eww.el (eww-button): New face. + (eww-convert-widgets): Use it to make submit buttons more button-like. + + * mm-decode.el (mm-convert-shr-links): Override the shr local map, so + that Gnus commands work. + + * shr.el (shr-render-td): Support horizontal alignment. + + * eww.el (eww-put-color): Removed. + (eww-colorize-region): Use `add-face-text-property'. + + * shr.el (shr-add-font): Append face data, so that we get the correct + precedence: The innermost value (which is applied first) wins. + (shr-make-overlay): Obsolete function. + + * mm-decode.el (mm-convert-shr-links): New function to convert + new-style shr URL links into widgets. + (mm-shr): Use it. + + * eww.el (eww-mode-map): Use `shr-next-link' (etc) instead of the + widget commands, since we're no longer using widgets for links. + + * shr.el (shr-next-link): New command. + (shr-previous-link): New command. + (shr-urlify): Don't use `widget-convert', because that's slow. + (shr-put-color-1): Use `add-face-text-property' instead of overlays, + because collecting the overlays and reapplying them when generating + tables is slow. + (shr-insert-table): Ditto. + +2013-06-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * sieve.el (sieve-edit-script): Avoid beginning-of-buffer. + * shr.el (browse-url): Require `url'. + * eww.el (url): Require format-spec. + +2013-06-16 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * eww.el (eww-display-html): Default to using the entire window width. + (eww-browse-url): Don't add a User-Agent header (twice), because that + makes Bing refuse connection. + + * shr.el (shr-make-table): Cache the table rendering at the table + level, and not the <td> level. This is a bit faster. + + * eww.el (eww-render): Go to the correct ID when given URLs ending with + #id. + + * shr.el (shr-tag-li): Don't require a new paragraph, since other + browsers don't. + (shr-expand-url): Respect #anchor links. + (shr-parse-base): Chop off the anchor before using. + (shr-descend): Respect display: none. + (shr-descend): Allow marking elements that have certain IDs. + + * eww.el (eww-tag-textarea): Use `text' instead of `editable-field'. + + * shr.el (shr-expand-url): Don't bug out on zero-length links. + + * eww.el (eww-tag-textarea): Support <textarea>. + +2013-06-16 Rüdiger Sonderfeld <ruediger@c-plusplus.de> + + * shr.el (shr-dom-to-xml): Fixed function call. + + * eww.el (eww): New group. + (eww-header-line-format): New custom variable. + (eww-current-title): New variable. + (eww-display-html): Update header and handle title tag. + (eww-update-header-line-format): New function. + (eww-tag-title): New function. + + * shr.el (shr-dom-to-xml): New function. + (shr-tag-svg): Add support for the SVG tag. + (shr-bullet): New custom variable. + (shr-tag-li): Support custom bullet in unordered lists. + +2013-06-16 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * shr.el (shr-expand-url): Respect // URLs. + + * eww.el (eww-tag-body): Override the shr body rendering so that we can + put a background colour onto the entire buffer. + (eww-render): When being redirected, use the redirect URL as the new + base URL. + + * shr.el (shr-parse-base): Fix parsing error. + + * eww.el (eww-submit): Pass the base in to `shr-expand-url'. + + * shr.el (shr-parse-base): New function. + (shr-expand-url): Use it to expand relative URLs reliably. + +2013-06-15 Teodor Zlatanov <tzz@lifelogs.com> + + * auth-source.el (auth-source-search-collection): Fix docstring. + (auth-source-netrc-parse): Refactor and improve netrc parser to support + single-quoted strings and multiline entries. + (auth-source-netrc-parse-next-interesting) + (auth-source-netrc-parse-one, auth-source-netrc-parse-entries): New + functions to support parser. + +2013-06-14 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * eww.el (eww-submit): Get submit button logic right when hitting RET + on non-submit buttons. + + * shr.el: Remove shr-preliminary-table-render, since that can't really + be used for anything in practice. + +2013-06-13 Albert Krewinkel <tarleb@moltkeplatz.de> + + * sieve.el: Rebind q to (sieve-bury-buffer), bind Q to + (sieve-manage-quit). + +2013-06-14 David Edmondson <dme@dme.org> (tiny change) + + * mml2015.el (mml2015-maximum-key-image-dimension): New user option to + control the maximum size of photo ID image. + (mml2015-epg-key-image-to-string): Respect it. + +2013-06-13 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * shr.el (shr-tag-table-1): Mark the preliminary table renderings + instead of the final one so that we can more easily distinguish them. + + * eww.el (eww-submit): Compute the submission URL correctly. + +2013-06-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * sieve-manage.el (sieve-manage-open-server): Don't quote lambda. + Use plist-get rather than CL's getf. + (sieve-manage-parse-capability): Avoid CL's remove-if. + 2013-06-13 Lars Magne Ingebrigtsen <larsi@gnus.org> * shr.el (shr-expand-url): Expansion should chop off the bits after the @@ -29,9 +404,9 @@ 2013-06-10 Albert Krewinkel <krewinkel@moltkeplatz.de> - * sieve-manage.el (sieve-manage-open): work with STARTTLS: shorten + * sieve-manage.el (sieve-manage-open): Work with STARTTLS: shorten stream managing functions by using open-protocol-stream to do most of - the work. Has the nice benefit of enabling STARTTLS. + the work. Has the nice benefit of enabling STARTTLS. Wait for capabilities after STARTTLS: following RFC5804, the server sends new capabilities after successfully establishing a TLS connection with the client. The client should update the cached list of @@ -82,10 +457,10 @@ 2013-06-10 Albert Krewinkel <krewinkel@moltkeplatz.de> * sieve.el: Put point at beginning of buffer when viewing a script. - (sieve-open-server): respect the PORT parameter. Show the correct port - number in sieve-buffer's header. Fixed code to also work with a string - as port specifier. Properly close the connection on pressing 'q'. Make - sieve-manage-quit close the connection and process buffer. Also, remove + (sieve-open-server): Respect the PORT parameter. Show the correct port + number in sieve-buffer's header. Fixed code to also work with a string + as port specifier. Properly close the connection on pressing 'q'. Make + sieve-manage-quit close the connection and process buffer. Also, remove duplicate keybinding for 'q'. 2013-06-10 Roy Hashimoto <roy.hashimoto@gmail.com> (tiny change) @@ -329,7 +704,7 @@ (nnir-request-update-info): Improve marks updating. (nnir-request-scan): Don't duplicate marks updating. (gnus-group-make-nnir-group, nnir-run-imap, nnir-request-create-group): - Use 'assq rather than 'assoc. Quote anonymous function. + Use 'assq rather than 'assoc. Quote anonymous function. (nnir-request-group, nnir-close-group, gnus-summary-create-nnir-group): Use 'gnus-group-prefixed-p. (gnus-summary-create-nnir-group): Make sure server for method is open. @@ -387,13 +762,13 @@ buffer use the posting-style and gcc of the original article group. (gnus-inews-insert-gcc): Don't set gcc-self for virtual groups. - * nnir.el: Fix byte-compile warning. nnoo-define-skeleton should come + * nnir.el: Fix byte-compile warning. nnoo-define-skeleton should come after other deffoos. 2013-03-26 Andrew Cohen <cohen@bu.edu> - * nnir.el: Major rewrite. Cleaner separation between searches and group - management. Marks are now shown in nnir summary buffers. Rudimentary + * nnir.el: Major rewrite. Cleaner separation between searches and group + management. Marks are now shown in nnir summary buffers. Rudimentary support for real (i.e. not ephemeral) nnir groups. (gnus-summary-make-nnir-group): New function for initiating searches from a summary buffer. @@ -599,9 +974,9 @@ 2012-12-25 Adam Sjøgren <asjo@koldfront.dk> - * mml2015.el (mml2015-epg-key-image): use --attribute-fd rather than - temporary file to get PGP key image. Pass no-show-photos when extracting - image to avoid having it pop up twice. + * mml2015.el (mml2015-epg-key-image): Use --attribute-fd rather than + temporary file to get PGP key image. Pass no-show-photos when + extracting image to avoid having it pop up twice. 2012-12-26 Lars Ingebrigtsen <larsi@gnus.org> @@ -1125,7 +1500,7 @@ 2012-08-10 Daiki Ueno <ueno@unixuser.org> - * auth-source.el: (auth-source-plstore-search) + * auth-source.el (auth-source-plstore-search) (auth-source-secrets-search): Ignore :require and :type in search spec. 2012-08-06 Julien Danjou <julien@danjou.info> @@ -9822,7 +10197,7 @@ 2010-08-31 Lars Magne Ingebrigtsen <larsi@gnus.org> - * gnus-html.el: require mm-url. + * gnus-html.el: Require mm-url. (gnus-html-wash-tags): Clarify the code a bit by renaming the variable with the url to `url'. (gnus-html-wash-tags): Support cid: URLs/images. diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el index e94904bf175..54429b5cfda 100644 --- a/lisp/gnus/auth-source.el +++ b/lisp/gnus/auth-source.el @@ -801,7 +801,7 @@ Returns the deleted entries." (auth-source-search (plist-put spec :delete t))) (defun auth-source-search-collection (collection value) - "Returns t is VALUE is t or COLLECTION is t or contains VALUE." + "Returns t is VALUE is t or COLLECTION is t or COLLECTION contains VALUE." (when (and (atom collection) (not (eq t collection))) (setq collection (list collection))) @@ -942,7 +942,7 @@ while \(:host t) would find all host entries." (defun auth-source--aget (alist key) (cdr (assoc key alist))) -;; (auth-source-netrc-parse "~/.authinfo.gpg") +;; (auth-source-netrc-parse :file "~/.authinfo.gpg") (defun* auth-source-netrc-parse (&rest spec &key file max host user port delete require @@ -955,15 +955,41 @@ Note that the MAX parameter is used so we can exit the parse early." (when (file-exists-p file) (setq port (auth-source-ensure-strings port)) (with-temp-buffer - (let* ((tokens '("machine" "host" "default" "login" "user" - "password" "account" "macdef" "force" - "port" "protocol")) - (max (or max 5000)) ; sanity check: default to stop at 5K + (let* ((max (or max 5000)) ; sanity check: default to stop at 5K (modified 0) (cached (cdr-safe (assoc file auth-source-netrc-cache))) (cached-mtime (plist-get cached :mtime)) (cached-secrets (plist-get cached :secret)) - alist elem result pair) + (check (lambda(alist) + (and alist + (auth-source-search-collection + host + (or + (auth-source--aget alist "machine") + (auth-source--aget alist "host") + t)) + (auth-source-search-collection + user + (or + (auth-source--aget alist "login") + (auth-source--aget alist "account") + (auth-source--aget alist "user") + t)) + (auth-source-search-collection + port + (or + (auth-source--aget alist "port") + (auth-source--aget alist "protocol") + t)) + (or + ;; the required list of keys is nil, or + (null require) + ;; every element of require is in n(ormalized) + (let ((n (nth 0 (auth-source-netrc-normalize + (list alist) file)))) + (loop for req in require + always (plist-get n req))))))) + result) (if (and (functionp cached-secrets) (equal cached-mtime @@ -983,85 +1009,10 @@ Note that the MAX parameter is used so we can exit the parse early." :secret (lexical-let ((v (mapcar '1+ (buffer-string)))) (lambda () (apply 'string (mapcar '1- v))))))) (goto-char (point-min)) - ;; Go through the file, line by line. - (while (and (not (eobp)) - (> max 0)) - - (narrow-to-region (point) (point-at-eol)) - ;; For each line, get the tokens and values. - (while (not (eobp)) - (skip-chars-forward "\t ") - ;; Skip lines that begin with a "#". - (if (eq (char-after) ?#) - (goto-char (point-max)) - (unless (eobp) - (setq elem - (if (= (following-char) ?\") - (read (current-buffer)) - (buffer-substring - (point) (progn (skip-chars-forward "^\t ") - (point))))) - (cond - ((equal elem "macdef") - ;; We skip past the macro definition. - (widen) - (while (and (zerop (forward-line 1)) - (looking-at "$"))) - (narrow-to-region (point) (point))) - ((and (member elem tokens) (null pair)) - ;; Tokens that don't have a following value are ignored, - ;; except "default". - (when (and pair (or (cdr pair) - (equal (car pair) "default"))) - (push pair alist)) - (setq pair (list elem))) - (t - ;; Values that haven't got a preceding token are ignored. - (when pair - (setcdr pair elem) - (push pair alist) - (setq pair nil))))))) - - (when (and alist - (> max 0) - (auth-source-search-collection - host - (or - (auth-source--aget alist "machine") - (auth-source--aget alist "host") - t)) - (auth-source-search-collection - user - (or - (auth-source--aget alist "login") - (auth-source--aget alist "account") - (auth-source--aget alist "user") - t)) - (auth-source-search-collection - port - (or - (auth-source--aget alist "port") - (auth-source--aget alist "protocol") - t)) - (or - ;; the required list of keys is nil, or - (null require) - ;; every element of require is in the normalized list - (let ((normalized (nth 0 (auth-source-netrc-normalize - (list alist) file)))) - (loop for req in require - always (plist-get normalized req))))) - (decf max) - (push (nreverse alist) result) - ;; to delete a line, we just comment it out - (when delete - (goto-char (point-min)) - (insert "#") - (incf modified))) - (setq alist nil - pair nil) - (widen) - (forward-line 1)) + (let ((entries (auth-source-netrc-parse-entries check max)) + alist) + (while (setq alist (pop entries)) + (push (nreverse alist) result))) (when (< 0 modified) (when auth-source-gpg-encrypt-to @@ -1084,6 +1035,77 @@ Note that the MAX parameter is used so we can exit the parse early." (nreverse result)))))) +(defun auth-source-netrc-parse-next-interesting () + "Advance to the next interesting position in the current buffer." + ;; If we're looking at a comment or are at the end of the line, move forward + (while (or (looking-at "#") + (and (eolp) + (not (eobp)))) + (forward-line 1)) + (skip-chars-forward "\t ")) + +(defun auth-source-netrc-parse-one () + "Read one thing from the current buffer." + (auth-source-netrc-parse-next-interesting) + + (when (or (looking-at "'\\([^']*\\)'") + (looking-at "\"\\([^\"]*\\)\"") + (looking-at "\\([^ \t\n]+\\)")) + (forward-char (length (match-string 0))) + (auth-source-netrc-parse-next-interesting) + (match-string-no-properties 1))) + +;; with thanks to org-mode +(defsubst auth-source-current-line (&optional pos) + (save-excursion + (and pos (goto-char pos)) + ;; works also in narrowed buffer, because we start at 1, not point-min + (+ (if (bolp) 1 0) (count-lines 1 (point))))) + +(defun auth-source-netrc-parse-entries(check max) + "Parse up to MAX netrc entries, passed by CHECK, from the current buffer." + (let ((adder (lambda(check alist all) + (when (and + alist + (> max (length all)) + (funcall check alist)) + (push alist all)) + all)) + item item2 all alist default) + (while (setq item (auth-source-netrc-parse-one)) + (setq default (equal item "default")) + ;; We're starting a new machine. Save the old one. + (when (and alist + (or default + (equal item "machine"))) + ;; (auth-source-do-trivia + ;; "auth-source-netrc-parse-entries: got entry %S" alist) + (setq all (funcall adder check alist all) + alist nil)) + ;; In default entries, we don't have a next token. + ;; We store them as ("machine" . t) + (if default + (push (cons "machine" t) alist) + ;; Not a default entry. Grab the next item. + (when (setq item2 (auth-source-netrc-parse-one)) + ;; Did we get a "machine" value? + (if (equal item2 "machine") + (progn + (gnus-error 1 + "%s: Unexpected 'machine' token at line %d" + "auth-source-netrc-parse-entries" + (auth-source-current-line)) + (forward-line 1)) + (push (cons item item2) alist))))) + + ;; Clean up: if there's an entry left over, use it. + (when alist + (setq all (funcall adder check alist all)) + ;; (auth-source-do-trivia + ;; "auth-source-netrc-parse-entries: got2 entry %S" alist) + ) + (nreverse all))) + (defvar auth-source-passphrase-alist nil) (defun auth-source-token-passphrase-callback-function (context key-id file) diff --git a/lisp/gnus/eww.el b/lisp/gnus/eww.el deleted file mode 100644 index d4dd178fb70..00000000000 --- a/lisp/gnus/eww.el +++ /dev/null @@ -1,367 +0,0 @@ -;;; eww.el --- Emacs Web Wowser - -;; Copyright (C) 2013 Free Software Foundation, Inc. - -;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> -;; Keywords: html - -;; This file is part of GNU Emacs. - -;; GNU Emacs is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;;; Code: - -(eval-when-compile (require 'cl)) -(require 'shr) -(require 'url) -(require 'mm-url) - -(defvar eww-current-url nil) -(defvar eww-history nil) - -;;;###autoload -(defun eww (url) - "Fetch URL and render the page." - (interactive "sUrl: ") - (unless (string-match-p "\\`[a-zA-Z][-a-zA-Z0-9+.]*://" url) - (setq url (concat "http://" url))) - (url-retrieve url 'eww-render (list url))) - -(defun eww-detect-charset (html-p) - (let ((case-fold-search t) - (pt (point))) - (or (and html-p - (re-search-forward - "<meta[\t\n\r ]+[^>]*charset=\\([^\t\n\r \"/>]+\\)" nil t) - (goto-char pt) - (match-string 1)) - (and (looking-at - "[\t\n\r ]*<\\?xml[\t\n\r ]+[^>]*encoding=\"\\([^\"]+\\)") - (match-string 1))))) - -(defun eww-render (status url &optional point) - (let* ((headers (eww-parse-headers)) - (content-type - (mail-header-parse-content-type - (or (cdr (assoc "content-type" headers)) - "text/plain"))) - (charset (intern - (downcase - (or (cdr (assq 'charset (cdr content-type))) - (eww-detect-charset (equal (car content-type) - "text/html")) - "utf8")))) - (data-buffer (current-buffer))) - (unwind-protect - (progn - (cond - ((equal (car content-type) "text/html") - (eww-display-html charset url)) - ((string-match "^image/" (car content-type)) - (eww-display-image)) - (t - (eww-display-raw charset))) - (when point - (goto-char point))) - (kill-buffer data-buffer)))) - -(defun eww-parse-headers () - (let ((headers nil)) - (goto-char (point-min)) - (while (and (not (eobp)) - (not (eolp))) - (when (looking-at "\\([^:]+\\): *\\(.*\\)") - (push (cons (downcase (match-string 1)) - (match-string 2)) - headers)) - (forward-line 1)) - (unless (eobp) - (forward-line 1)) - headers)) - -(defun eww-display-html (charset url) - (unless (eq charset 'utf8) - (decode-coding-region (point) (point-max) charset)) - (let ((document - (list - 'base (list (cons 'href url)) - (libxml-parse-html-region (point) (point-max))))) - (eww-setup-buffer) - (setq eww-current-url url) - (let ((inhibit-read-only t) - (shr-external-rendering-functions - '((form . eww-tag-form) - (input . eww-tag-input) - (select . eww-tag-select)))) - (shr-insert-document document) - (eww-convert-widgets)) - (goto-char (point-min)))) - -(defun eww-display-raw (charset) - (let ((data (buffer-substring (point) (point-max)))) - (eww-setup-buffer) - (let ((inhibit-read-only t)) - (insert data)) - (goto-char (point-min)))) - -(defun eww-display-image () - (let ((data (buffer-substring (point) (point-max)))) - (eww-setup-buffer) - (let ((inhibit-read-only t)) - (shr-put-image data nil)) - (goto-char (point-min)))) - -(defun eww-setup-buffer () - (pop-to-buffer (get-buffer-create "*eww*")) - (remove-overlays) - (setq widget-field-list nil) - (let ((inhibit-read-only t)) - (erase-buffer)) - (eww-mode)) - -(defvar eww-mode-map - (let ((map (make-sparse-keymap))) - (suppress-keymap map) - (define-key map "q" 'eww-quit) - (define-key map "g" 'eww-reload) - (define-key map [tab] 'widget-forward) - (define-key map [backtab] 'widget-backward) - (define-key map [delete] 'scroll-down-command) - (define-key map "\177" 'scroll-down-command) - (define-key map " " 'scroll-up-command) - (define-key map "p" 'eww-previous-url) - ;;(define-key map "n" 'eww-next-url) - map)) - -(define-derived-mode eww-mode nil "eww" - "Mode for browsing the web. - -\\{eww-mode-map}" - (set (make-local-variable 'eww-current-url) 'author) - (set (make-local-variable 'browse-url-browser-function) 'eww-browse-url)) - -(defun eww-browse-url (url &optional new-window) - (let ((url-request-extra-headers - (append '(("User-Agent" . "eww/1.0")) - url-request-extra-headers))) - (push (list eww-current-url (point)) - eww-history) - (eww url))) - -(defun eww-quit () - "Exit the Emacs Web Wowser." - (interactive) - (setq eww-history nil) - (kill-buffer (current-buffer))) - -(defun eww-previous-url () - "Go to the previously displayed page." - (interactive) - (when (zerop (length eww-history)) - (error "No previous page")) - (let ((prev (pop eww-history))) - (url-retrieve (car prev) 'eww-render (list (car prev) (cadr prev))))) - -(defun eww-reload () - "Reload the current page." - (interactive) - (url-retrieve eww-current-url 'eww-render - (list eww-current-url (point)))) - -;; Form support. - -(defvar eww-form nil) - -(defun eww-tag-form (cont) - (let ((eww-form - (list (assq :method cont) - (assq :action cont))) - (start (point))) - (shr-ensure-paragraph) - (shr-generic cont) - (shr-ensure-paragraph) - (when (> (point) start) - (put-text-property start (1+ start) - 'eww-form eww-form)))) - -(defun eww-tag-input (cont) - (let* ((start (point)) - (type (downcase (or (cdr (assq :type cont)) - "text"))) - (widget - (cond - ((equal type "submit") - (list - 'push-button - :notify 'eww-submit - :name (cdr (assq :name cont)) - :eww-form eww-form - (or (cdr (assq :value cont)) "Submit"))) - ((or (equal type "radio") - (equal type "checkbox")) - (list 'checkbox - :notify 'eww-click-radio - :name (cdr (assq :name cont)) - :checkbox-value (cdr (assq :value cont)) - :checkbox-type type - :eww-form eww-form - (cdr (assq :checked cont)))) - ((equal type "hidden") - (list 'hidden - :name (cdr (assq :name cont)) - :value (cdr (assq :value cont)))) - (t - (list - 'editable-field - :size (string-to-number - (or (cdr (assq :size cont)) - "40")) - :value (or (cdr (assq :value cont)) "") - :secret (and (equal type "password") ?*) - :action 'eww-submit - :name (cdr (assq :name cont)) - :eww-form eww-form))))) - (if (eq (car widget) 'hidden) - (when shr-final-table-render - (nconc eww-form (list widget))) - (apply 'widget-create widget)) - (put-text-property start (point) 'eww-widget widget) - (insert " "))) - -(defun eww-tag-select (cont) - (shr-ensure-paragraph) - (let ((menu (list 'menu-choice - :name (cdr (assq :name cont)) - :eww-form eww-form)) - (options nil) - (start (point))) - (dolist (elem cont) - (when (eq (car elem) 'option) - (when (cdr (assq :selected (cdr elem))) - (nconc menu (list :value - (cdr (assq :value (cdr elem)))))) - (push (list 'item - :value (cdr (assq :value (cdr elem))) - :tag (cdr (assq 'text (cdr elem)))) - options))) - ;; If we have no selected values, default to the first value. - (unless (plist-get (cdr menu) :value) - (nconc menu (list :value (nth 2 (car options))))) - (nconc menu options) - (apply 'widget-create menu) - (put-text-property start (point) 'eww-widget menu) - (shr-ensure-paragraph))) - -(defun eww-click-radio (widget &rest ignore) - (let ((form (plist-get (cdr widget) :eww-form)) - (name (plist-get (cdr widget) :name))) - (when (equal (plist-get (cdr widget) :type) "radio") - (if (widget-value widget) - ;; Switch all the other radio buttons off. - (dolist (overlay (overlays-in (point-min) (point-max))) - (let ((field (plist-get (overlay-properties overlay) 'button))) - (when (and (eq (plist-get (cdr field) :eww-form) form) - (equal name (plist-get (cdr field) :name))) - (unless (eq field widget) - (widget-value-set field nil))))) - (widget-value-set widget t))) - (eww-fix-widget-keymap))) - -(defun eww-submit (widget &rest ignore) - (let ((form (plist-get (cdr widget) :eww-form)) - (first-button t) - values) - (dolist (overlay (sort (overlays-in (point-min) (point-max)) - (lambda (o1 o2) - (< (overlay-start o1) (overlay-start o2))))) - (let ((field (or (plist-get (overlay-properties overlay) 'field) - (plist-get (overlay-properties overlay) 'button) - (plist-get (overlay-properties overlay) 'eww-hidden)))) - (when (eq (plist-get (cdr field) :eww-form) form) - (let ((name (plist-get (cdr field) :name))) - (when name - (cond - ((eq (car field) 'checkbox) - (when (widget-value field) - (push (cons name (plist-get (cdr field) :checkbox-value)) - values))) - ((eq (car field) 'eww-hidden) - (push (cons name (plist-get (cdr field) :value)) - values)) - ((eq (car field) 'push-button) - ;; We want the values from buttons if we hit a button, - ;; or we're submitting something and this is the first - ;; button displayed. - (when (or (and (eq (car widget) 'push-button) - (eq widget field)) - (and (not (eq (car widget) 'push-button)) - (eq (car field) 'push-button) - first-button)) - (setq first-button nil) - (push (cons name (widget-value field)) - values))) - (t - (push (cons name (widget-value field)) - values)))))))) - (dolist (elem form) - (when (and (consp elem) - (eq (car elem) 'hidden)) - (push (cons (plist-get (cdr elem) :name) - (plist-get (cdr elem) :value)) - values))) - (let ((shr-base eww-current-url)) - (if (and (stringp (cdr (assq :method form))) - (equal (downcase (cdr (assq :method form))) "post")) - (let ((url-request-method "POST") - (url-request-extra-headers - '(("Content-Type" . "application/x-www-form-urlencoded"))) - (url-request-data (mm-url-encode-www-form-urlencoded values))) - (eww-browse-url (shr-expand-url (cdr (assq :action form))))) - (eww-browse-url - (shr-expand-url - (concat - (cdr (assq :action form)) - "?" - (mm-url-encode-www-form-urlencoded values)))))))) - -(defun eww-convert-widgets () - (let ((start (point-min)) - widget) - ;; Some widgets come from different buffers (rendered for tables), - ;; so we need to nix out the list of widgets and recreate them. - (setq widget-field-list nil - widget-field-new nil) - (while (setq start (next-single-property-change start 'eww-widget)) - (setq widget (get-text-property start 'eww-widget)) - (goto-char start) - (let ((end (next-single-property-change start 'eww-widget))) - (dolist (overlay (overlays-in start end)) - (when (or (plist-get (overlay-properties overlay) 'button) - (plist-get (overlay-properties overlay) 'field)) - (delete-overlay overlay))) - (delete-region start end)) - (apply 'widget-create widget)) - (widget-setup) - (eww-fix-widget-keymap))) - -(defun eww-fix-widget-keymap () - (dolist (overlay (overlays-in (point-min) (point-max))) - (when (plist-get (overlay-properties overlay) 'button) - (overlay-put overlay 'local-map widget-keymap)))) - -(provide 'eww) - -;;; eww.el ends here diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 65f4b76ad19..5840aacd7a3 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -7866,7 +7866,9 @@ url is put as the `gnus-button-url' overlay property on the button." (let (gnus-article-mouse-face widget-mouse-face) (while points (gnus-article-add-button (pop points) (pop points) - 'gnus-button-push beg))) + 'gnus-button-push + (list beg (assq 'gnus-button-url-regexp + gnus-button-alist))))) (let ((overlay (gnus-make-overlay start end))) (gnus-overlay-put overlay 'evaporate t) (gnus-overlay-put overlay 'gnus-button-url diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 30ce184ed66..8050f5d59d7 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -3654,6 +3654,10 @@ Uses the process/prefix convention." (expirable (if (gnus-group-total-expirable-p group) (cons nil (gnus-list-of-read-articles group)) (assq 'expire (gnus-info-marks info)))) + (articles-to-expire + (gnus-list-range-difference + (gnus-uncompress-sequence (cdr expirable)) + (cdr (assq 'unexist (gnus-info-marks info))))) (expiry-wait (gnus-group-find-parameter group 'expiry-wait)) (nnmail-expiry-target (or (gnus-group-find-parameter group 'expiry-target) @@ -3668,11 +3672,9 @@ Uses the process/prefix convention." ;; parameter. (let ((nnmail-expiry-wait-function nil) (nnmail-expiry-wait expiry-wait)) - (gnus-request-expire-articles - (gnus-uncompress-sequence (cdr expirable)) group)) + (gnus-request-expire-articles articles-to-expire group)) ;; Just expire using the normal expiry values. - (gnus-request-expire-articles - (gnus-uncompress-sequence (cdr expirable)) group)))) + (gnus-request-expire-articles articles-to-expire group)))) (gnus-close-group group)) (gnus-message 6 "Expiring articles in %s...done" (gnus-group-decoded-name group)) @@ -4661,7 +4663,7 @@ you the groups that have both dormant articles and cached articles." (let ((gnus-group-list-option 'limit)) (gnus-group-list-plus args))) -(declare-function gnus-mark-article-as-read "gnu-sum" (article &optional mark)) +(declare-function gnus-mark-article-as-read "gnus-sum" (article &optional mark)) (declare-function gnus-group-make-articles-read "gnus-sum" (group articles)) (defun gnus-group-mark-article-read (group article) diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 48bb99bfbce..084af884930 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -2301,7 +2301,27 @@ If FORCE is non-nil, the .newsrc file is read." (gnus-message 5 "Reading %s...done" newsrc-file))) ;; Convert old to new. - (gnus-convert-old-newsrc)))) + (gnus-convert-old-newsrc) + (gnus-clean-old-newsrc)))) + +(defun gnus-clean-old-newsrc (&optional force) + (when gnus-newsrc-file-version + ;; Remove totally bogus `unexists' entries. The name is + ;; `unexist'. + (dolist (info (cdr gnus-newsrc-alist)) + (let ((exist (assoc 'unexists (gnus-info-marks info)))) + (when exist + (gnus-info-set-marks + info (delete exist (gnus-info-marks info)))))) + (when (or force + (< (gnus-continuum-version gnus-newsrc-file-version) + (gnus-continuum-version "Ma Gnus v0.03"))) + ;; Remove old `exist' marks from old nnimap groups. + (dolist (info (cdr gnus-newsrc-alist)) + (let ((exist (assoc 'unexist (gnus-info-marks info)))) + (when exist + (gnus-info-set-marks + info (delete exist (gnus-info-marks info))))))))) (defun gnus-convert-old-newsrc () "Convert old newsrc formats into the current format, if needed." diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index c8f593ea403..9bae9f981bd 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -1524,6 +1524,9 @@ This list will always be a subset of gnus-newsgroup-undownloaded.") (defvar gnus-newsgroup-seen nil "Range of seen articles in the current newsgroup.") +(defvar gnus-newsgroup-unexist nil + "Range of unexistent articles in the current newsgroup.") + (defvar gnus-newsgroup-articles nil "List of articles in the current newsgroup.") @@ -1571,6 +1574,7 @@ This list will always be a subset of gnus-newsgroup-undownloaded.") gnus-newsgroup-killed gnus-newsgroup-unseen gnus-newsgroup-seen + gnus-newsgroup-unexist gnus-newsgroup-cached gnus-newsgroup-downloadable gnus-newsgroup-undownloaded @@ -3653,18 +3657,17 @@ buffer that was in action when the last article was fetched." (or (car (funcall gnus-extract-address-components from)) from)) -(defun gnus-summary-from-or-to-or-newsgroups (header from) +(defun gnus-summary-from-or-to-or-newsgroups (header gnus-tmp-from) (let ((mail-parse-charset gnus-newsgroup-charset) - (ignored-from-addresses (gnus-ignored-from-addresses)) - ;; Is it really necessary to do this next part for each summary line? - ;; Luckily, doesn't seem to slow things down much. - (mail-parse-ignored-charsets - (with-current-buffer gnus-summary-buffer - gnus-newsgroup-ignored-charsets)) - (address (cadr (gnus-extract-address-components from)))) + (ignored-from-addresses (gnus-ignored-from-addresses)) + ;; Is it really necessary to do this next part for each summary line? + ;; Luckily, doesn't seem to slow things down much. + (mail-parse-ignored-charsets + (with-current-buffer gnus-summary-buffer + gnus-newsgroup-ignored-charsets))) (or (and ignored-from-addresses - (string-match ignored-from-addresses address) + (string-match ignored-from-addresses gnus-tmp-from) (let ((extra-headers (mail-header-extra header)) to newsgroups) @@ -3679,11 +3682,13 @@ buffer that was in action when the last article was fetched." (cdr (assq 'Newsgroups extra-headers)) (and (memq 'Newsgroups gnus-extra-headers) - (eq (car (gnus-find-method-for-group - gnus-newsgroup-name)) 'nntp) + (eq (car (gnus-find-method-for-group + gnus-newsgroup-name)) 'nntp) (gnus-group-real-name gnus-newsgroup-name)))) (concat gnus-summary-newsgroup-prefix newsgroups))))) - (gnus-string-mark-left-to-right (gnus-summary-extract-address-component from))))) + (gnus-string-mark-left-to-right + (inline + (gnus-summary-extract-address-component gnus-tmp-from)))))) (defun gnus-summary-insert-line (gnus-tmp-header gnus-tmp-level gnus-tmp-current @@ -5789,6 +5794,7 @@ If SELECT-ARTICLES, only select those articles from GROUP." "Find out what articles the user wants to read." (let* ((only-read-p t) (articles + (gnus-list-range-difference ;; Select all articles if `read-all' is non-nil, or if there ;; are no unread articles. (if (or read-all @@ -5815,7 +5821,8 @@ If SELECT-ARTICLES, only select those articles from GROUP." (setq only-read-p nil) (gnus-sorted-nunion (gnus-sorted-union gnus-newsgroup-dormant gnus-newsgroup-marked) - gnus-newsgroup-unreads))) + gnus-newsgroup-unreads)) + (cdr (assq 'unexist (gnus-info-marks (gnus-get-info group)))))) (scored-list (gnus-killed-articles gnus-newsgroup-killed articles)) (scored (length scored-list)) (number (length articles)) @@ -5985,7 +5992,9 @@ If SELECT-ARTICLES, only select those articles from GROUP." (and (numberp (car articles)) (> min (car articles))))) (pop articles)) - (set var articles)))))))) + (set var articles)) + ((eq mark 'unexist) + (set var (cdr marks))))))))) (defun gnus-update-missing-marks (missing) "Go through the list of MISSING articles and remove them from the mark lists." @@ -6061,7 +6070,8 @@ If SELECT-ARTICLES, only select those articles from GROUP." (gnus-active gnus-newsgroup-name) del)) (push (list del 'del (list (cdr type))) delta-marks)))) - (when list + (when (or list + (eq (cdr type) 'unexist)) (push (cons (cdr type) list) newmarked))) (when delta-marks @@ -10305,16 +10315,19 @@ This will be the case if the article has both been mailed and posted." 'request-expire-articles gnus-newsgroup-name)) ;; This backend supports expiry. (let* ((total (gnus-group-total-expirable-p gnus-newsgroup-name)) - (expirable (if total - (progn - ;; We need to update the info for - ;; this group for `gnus-list-of-read-articles' - ;; to give us the right answer. - (gnus-run-hooks 'gnus-exit-group-hook) - (gnus-summary-update-info) - (gnus-list-of-read-articles gnus-newsgroup-name)) - (setq gnus-newsgroup-expirable - (sort gnus-newsgroup-expirable '<)))) + (expirable + (gnus-list-range-difference + (if total + (progn + ;; We need to update the info for + ;; this group for `gnus-list-of-read-articles' + ;; to give us the right answer. + (gnus-run-hooks 'gnus-exit-group-hook) + (gnus-summary-update-info) + (gnus-list-of-read-articles gnus-newsgroup-name)) + (setq gnus-newsgroup-expirable + (sort gnus-newsgroup-expirable '<))) + gnus-newsgroup-unexist)) (expiry-wait (if now 'immediate (gnus-group-find-parameter gnus-newsgroup-name 'expiry-wait))) @@ -12847,7 +12860,9 @@ If ALL is a number, fetch this number of articles." ;; Some nntp servers lie about their active range. When ;; this happens, the active range can be in the millions. ;; Use a compressed range to avoid creating a huge list. - (gnus-range-difference (list gnus-newsgroup-active) old)) + (gnus-range-difference + (gnus-range-difference (list gnus-newsgroup-active) old) + gnus-newsgroup-unexist)) (setq len (gnus-range-length older)) (cond ((null older) nil) diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index 2c2dbd90c56..9a927a1cfab 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el @@ -2636,10 +2636,11 @@ a string, be sure to use a valid format, see RFC 2616." (scored . score) (saved . save) (cached . cache) (downloadable . download) (unsendable . unsend) (forwarded . forward) - (seen . seen))) + (seen . seen) (unexist . unexist))) (defconst gnus-article-special-mark-lists '((seen range) + (unexist range) (killed range) (bookmark tuple) (uid tuple) @@ -2654,7 +2655,7 @@ a string, be sure to use a valid format, see RFC 2616." ;; `score' is not a proper mark ;; `bookmark': don't propagated it, or fix the bug in update-mark. (defconst gnus-article-unpropagated-mark-lists - '(seen cache download unsend score bookmark) + '(seen cache download unsend score bookmark unexist) "Marks that shouldn't be propagated to back ends. Typical marks are those that make no sense in a standalone back end, such as a mark that says whether an article is stored in the cache diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index b025f7cc601..98be1c5def2 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el @@ -1809,6 +1809,7 @@ If RECURSIVE, search recursively." (libxml-parse-html-region (point-min) (point-max)))) (unless (bobp) (insert "\n")) + (mm-convert-shr-links) (mm-handle-set-undisplayer handle `(lambda () @@ -1816,6 +1817,25 @@ If RECURSIVE, search recursively." (delete-region ,(point-min-marker) ,(point-max-marker)))))))) +(defvar shr-map) + +(autoload 'widget-convert-button "wid-edit") + +(defun mm-convert-shr-links () + (let ((start (point-min)) + end) + (while (and start + (< start (point-max))) + (when (setq start (text-property-not-all start (point-max) 'shr-url nil)) + (setq end (next-single-property-change start 'shr-url nil (point-max))) + (widget-convert-button + 'url-link start end + :help-echo (get-text-property start 'help-echo) + :keymap shr-map + (get-text-property start 'shr-url)) + (put-text-property start end 'local-map nil) + (setq start end))))) + (defun mm-handle-filename (handle) "Return filename of HANDLE if any." (or (mail-content-type-get (mm-handle-type handle) diff --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el index 5d122dfbe40..2c2187a5f8d 100644 --- a/lisp/gnus/mml2015.el +++ b/lisp/gnus/mml2015.el @@ -146,6 +146,12 @@ If set, it overrides the setting of `mml2015-sign-with-sender'." :group 'mime-security :type 'boolean) +(defcustom mml2015-maximum-key-image-dimension 64 + "The maximum dimension (width or height) of any key images." + :version "24.4" + :group 'mime-security + :type 'integer) + ;; Extract plaintext from cleartext signature. IMO, this kind of task ;; should be done by GnuPG rather than Elisp, but older PGP backends ;; (such as Mailcrypt, and PGG) discard the output from GnuPG. @@ -871,7 +877,11 @@ If set, it overrides the setting of `mml2015-sign-with-sender'." (shell-quote-argument epg-gpg-program) key-id)))) (when (> (length data) 0) (insert (substring data 16)) - (create-image (buffer-string) nil t))))) + (condition-case nil + (gnus-create-image (buffer-string) nil t) + (error)))))) + +(autoload 'gnus-rescale-image "gnus-util") (defun mml2015-epg-key-image-to-string (key-id) "Return a string with the image of a key, if any" @@ -879,7 +889,12 @@ If set, it overrides the setting of `mml2015-sign-with-sender'." (key-image (mml2015-epg-key-image key-id))) (when key-image (setq result " ") - (put-text-property 1 2 'display key-image result)) + (put-text-property + 1 2 'display + (gnus-rescale-image key-image + (cons mml2015-maximum-key-image-dimension + mml2015-maximum-key-image-dimension)) + result)) result)) (defun mml2015-epg-signature-to-string (signature) diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 8fdd69b47da..4d9320b995f 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -82,7 +82,8 @@ back on `network'.") (defvoo nnimap-inbox nil "The mail box where incoming mail arrives and should be split out of. -For example, \"INBOX\".") +This can be a string or a list of strings +For example, \"INBOX\" or (\"INBOX\" \"SENT\").") (defvoo nnimap-split-methods nil "How mail is split. @@ -123,6 +124,16 @@ will fetch all parts that have types that match that string. A likely value would be \"text/\" to automatically fetch all textual parts.") +(defgroup nnimap nil + "IMAP for Gnus." + :group 'gnus) + +(defcustom nnimap-request-articles-find-limit nil + "Limit the number of articles to look for after moving an article." + :type 'integer + :version "24.3" + :group 'nnimap) + (defvar nnimap-process nil) (defvar nnimap-status-string "") @@ -173,7 +184,7 @@ textual parts.") (setq group (nnimap-decode-gnus-group group))) (with-current-buffer nntp-server-buffer (erase-buffer) - (when (nnimap-possibly-change-group group server) + (when (nnimap-change-group group server) (with-current-buffer (nnimap-buffer) (erase-buffer) (nnimap-wait-for-response @@ -567,10 +578,10 @@ textual parts.") (when group (setq group (nnimap-decode-gnus-group group))) (with-current-buffer nntp-server-buffer - (let ((result (nnimap-possibly-change-group group server)) + (let ((result (nnimap-change-group group server)) parts structure) (when (stringp article) - (setq article (nnimap-find-article-by-message-id group article))) + (setq article (nnimap-find-article-by-message-id group server article))) (when (and result article) (erase-buffer) @@ -599,10 +610,10 @@ textual parts.") (deffoo nnimap-request-head (article &optional group server to-buffer) (when group (setq group (nnimap-decode-gnus-group group))) - (when (nnimap-possibly-change-group group server) + (when (nnimap-change-group group server) (with-current-buffer (nnimap-buffer) (when (stringp article) - (setq article (nnimap-find-article-by-message-id group article))) + (setq article (nnimap-find-article-by-message-id group server article))) (if (null article) nil (nnimap-get-whole-article @@ -751,7 +762,7 @@ textual parts.") (deffoo nnimap-request-group (group &optional server dont-check info) (setq group (nnimap-decode-gnus-group group)) - (let ((result (nnimap-possibly-change-group + (let ((result (nnimap-change-group ;; Don't SELECT the group if we're going to select it ;; later, anyway. (if (and (not dont-check) @@ -801,19 +812,19 @@ textual parts.") (deffoo nnimap-request-create-group (group &optional server args) (setq group (nnimap-decode-gnus-group group)) - (when (nnimap-possibly-change-group nil server) + (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) (car (nnimap-command "CREATE %S" (utf7-encode group t)))))) (deffoo nnimap-request-delete-group (group &optional force server) (setq group (nnimap-decode-gnus-group group)) - (when (nnimap-possibly-change-group nil server) + (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) (car (nnimap-command "DELETE %S" (utf7-encode group t)))))) (deffoo nnimap-request-rename-group (group new-name &optional server) (setq group (nnimap-decode-gnus-group group)) - (when (nnimap-possibly-change-group nil server) + (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) (nnimap-unselect-group) (car (nnimap-command "RENAME %S %S" @@ -828,7 +839,7 @@ textual parts.") (deffoo nnimap-request-expunge-group (group &optional server) (setq group (nnimap-decode-gnus-group group)) - (when (nnimap-possibly-change-group group server) + (when (nnimap-change-group group server) (with-current-buffer (nnimap-buffer) (car (nnimap-command "EXPUNGE"))))) @@ -856,6 +867,8 @@ textual parts.") (deffoo nnimap-request-move-article (article group server accept-form &optional last internal-move-group) (setq group (nnimap-decode-gnus-group group)) + (when internal-move-group + (setq internal-move-group (nnimap-decode-gnus-group internal-move-group))) (with-temp-buffer (mm-disable-multibyte) (when (funcall (if internal-move-group @@ -876,11 +889,12 @@ textual parts.") (cons internal-move-group (or (nnimap-find-uid-response "COPYUID" (cadr result)) (nnimap-find-article-by-message-id - internal-move-group message-id))))) + internal-move-group server message-id + nnimap-request-articles-find-limit))))) ;; Move the article to a different method. (let ((result (eval accept-form))) (when result - (nnimap-possibly-change-group group server) + (nnimap-change-group group server) (nnimap-delete-article article) result))))))) @@ -889,7 +903,7 @@ textual parts.") (cond ((null articles) nil) - ((not (nnimap-possibly-change-group group server)) + ((not (nnimap-change-group group server)) articles) ((and force (eq nnmail-expiry-target 'delete)) @@ -926,7 +940,7 @@ textual parts.") (gnus-server-equal (gnus-group-method nnmail-expiry-target) (gnus-server-to-method (format "nnimap:%s" server)))) - (and (nnimap-possibly-change-group group server) + (and (nnimap-change-group group server) (with-current-buffer (nnimap-buffer) (nnheader-message 7 "Expiring articles from %s: %s" group articles) (nnimap-command @@ -956,7 +970,7 @@ textual parts.") (when target (push article deleted-articles)))))))) ;; Change back to the current group again. - (nnimap-possibly-change-group group server) + (nnimap-change-group group server) (setq deleted-articles (nreverse deleted-articles)) (nnimap-delete-article (gnus-compress-sequence deleted-articles)) deleted-articles)) @@ -978,23 +992,37 @@ textual parts.") (cdr (assoc "SEARCH" (cdr result)))))))))) -(defun nnimap-find-article-by-message-id (group message-id) +(defun nnimap-find-article-by-message-id (group server message-id + &optional limit) + "Search for message with MESSAGE-ID in GROUP from SERVER. +If LIMIT, first try to limit the search to the N last articles." (with-current-buffer (nnimap-buffer) (erase-buffer) - (unless (or (not group) (equal group (nnimap-group nnimap-object))) - (setf (nnimap-group nnimap-object) nil) - (setf (nnimap-examined nnimap-object) group) - (nnimap-send-command "EXAMINE %S" (utf7-encode group t))) - (let ((sequence - (nnimap-send-command "UID SEARCH HEADER Message-Id %S" message-id)) - article result) - (setq result (nnimap-wait-for-response sequence)) - (when (and result - (car (setq result (nnimap-parse-response)))) - ;; Select the last instance of the message in the group. - (and (setq article - (car (last (cdr (assoc "SEARCH" (cdr result)))))) - (string-to-number article)))))) + (let* ((change-group-result (nnimap-change-group group server nil t)) + (number-of-article + (and (listp change-group-result) + (catch 'found + (dolist (result (cdr change-group-result)) + (when (equal "EXISTS" (cadr result)) + (throw 'found (car result))))))) + (sequence + (nnimap-send-command + "UID SEARCH%s HEADER Message-Id %S" + (if (and limit number-of-article) + ;; The -1 is because IMAP message + ;; numbers are one-based rather than + ;; zero-based. + (format " %s:*" (- (string-to-number number-of-article) + limit -1)) + "") + message-id))) + (when (nnimap-wait-for-response sequence) + (let ((article (car (last (cdr (assoc "SEARCH" + (nnimap-parse-response))))))) + (if article + (string-to-number article) + (when (and limit number-of-article) + (nnimap-find-article-by-message-id group server message-id)))))))) (defun nnimap-delete-article (articles) (with-current-buffer (nnimap-buffer) @@ -1015,11 +1043,14 @@ textual parts.") (deffoo nnimap-request-scan (&optional group server) (when group (setq group (nnimap-decode-gnus-group group))) - (when (and (nnimap-possibly-change-group nil server) + (when (and (nnimap-change-group nil server) nnimap-inbox nnimap-split-methods) (nnheader-message 7 "nnimap %s splitting mail..." server) - (nnimap-split-incoming-mail) + (if (listp nnimap-inbox) + (dolist (nnimap-inbox nnimap-inbox) + (nnimap-split-incoming-mail)) + (nnimap-split-incoming-mail)) (nnheader-message 7 "nnimap %s splitting mail...done" server))) (defun nnimap-marks-to-flags (marks) @@ -1031,7 +1062,7 @@ textual parts.") (deffoo nnimap-request-update-group-status (group status &optional server) (setq group (nnimap-decode-gnus-group group)) - (when (nnimap-possibly-change-group nil server) + (when (nnimap-change-group nil server) (let ((command (assoc status '((subscribe "SUBSCRIBE") @@ -1042,7 +1073,7 @@ textual parts.") (deffoo nnimap-request-set-mark (group actions &optional server) (setq group (nnimap-decode-gnus-group group)) - (when (nnimap-possibly-change-group group server) + (when (nnimap-change-group group server) (let (sequence) (with-current-buffer (nnimap-buffer) (erase-buffer) @@ -1067,7 +1098,7 @@ textual parts.") (deffoo nnimap-request-accept-article (group &optional server last) (setq group (nnimap-decode-gnus-group group)) - (when (nnimap-possibly-change-group nil server) + (when (nnimap-change-group nil server) (nnmail-check-syntax) (let ((message-id (message-field-value "message-id")) sequence message) @@ -1099,7 +1130,8 @@ textual parts.") (cons group (or (nnimap-find-uid-response "APPENDUID" (car result)) (nnimap-find-article-by-message-id - group message-id)))))))))) + group server message-id + nnimap-request-articles-find-limit)))))))))) (defun nnimap-process-quirk (greeting-match type data) (when (and (nnimap-greeting nnimap-object) @@ -1145,7 +1177,7 @@ textual parts.") (deffoo nnimap-request-replace-article (article group buffer) (setq group (nnimap-decode-gnus-group group)) (let (group-art) - (when (and (nnimap-possibly-change-group group nil) + (when (and (nnimap-change-group group) ;; Put the article into the group. (with-current-buffer buffer (setq group-art @@ -1180,8 +1212,17 @@ textual parts.") groups)))) (nreverse groups))) +(defun nnimap-get-responses (sequences) + (let (responses) + (dolist (sequence sequences) + (goto-char (point-min)) + (when (re-search-forward (format "^%d " sequence) nil t) + (push (list sequence (nnimap-parse-response)) + responses))) + responses)) + (deffoo nnimap-request-list (&optional server) - (when (nnimap-possibly-change-group nil server) + (when (nnimap-change-group nil server) (with-current-buffer nntp-server-buffer (erase-buffer) (let ((groups @@ -1228,7 +1269,7 @@ textual parts.") t))))) (deffoo nnimap-request-newgroups (date &optional server) - (when (nnimap-possibly-change-group nil server) + (when (nnimap-change-group nil server) (with-current-buffer nntp-server-buffer (erase-buffer) (dolist (group (with-current-buffer (nnimap-buffer) @@ -1239,14 +1280,15 @@ textual parts.") t))) (deffoo nnimap-retrieve-group-data-early (server infos) - (when (and (nnimap-possibly-change-group nil server) + (when (and (nnimap-change-group nil server) infos) (with-current-buffer (nnimap-buffer) (erase-buffer) (setf (nnimap-group nnimap-object) nil) (setf (nnimap-initial-resync nnimap-object) 0) (let ((qresyncp (nnimap-capability "QRESYNC")) - params groups sequences active uidvalidity modseq group) + params groups sequences active uidvalidity modseq group + unexist) ;; Go through the infos and gather the data needed to know ;; what and how to request the data. (dolist (info infos) @@ -1254,13 +1296,15 @@ textual parts.") group (nnimap-decode-gnus-group (gnus-group-real-name (gnus-info-group info))) active (cdr (assq 'active params)) + unexist (assq 'unexist (gnus-info-marks info)) uidvalidity (cdr (assq 'uidvalidity params)) modseq (cdr (assq 'modseq params))) (setf (nnimap-examined nnimap-object) group) (if (and qresyncp uidvalidity active - modseq) + modseq + unexist) (push (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" (utf7-encode group t) @@ -1279,11 +1323,10 @@ textual parts.") ;; is read-only or not. "SELECT")) start) - (if (and active uidvalidity) + (if (and active uidvalidity unexist) ;; Fetch the last 100 flags. (setq start (max 1 (- (cdr active) 100))) - (setf (nnimap-initial-resync nnimap-object) - (1+ (nnimap-initial-resync nnimap-object))) + (incf (nnimap-initial-resync nnimap-object)) (setq start 1)) (push (list (nnimap-send-command "%s %S" command (utf7-encode group t)) @@ -1303,7 +1346,7 @@ textual parts.") (deffoo nnimap-finish-retrieve-group-infos (server infos sequences) (when (and sequences - (nnimap-possibly-change-group nil server t) + (nnimap-change-group nil server t) ;; Check that the process is still alive. (get-buffer-process (nnimap-buffer)) (memq (process-status (get-buffer-process (nnimap-buffer))) @@ -1462,6 +1505,25 @@ textual parts.") (setq new-marks (gnus-range-nconcat old-marks new-marks))) (when new-marks (push (cons (car type) new-marks) marks))))) + ;; Keep track of non-existing articles. + (let* ((old-unexists (assq 'unexist marks)) + (active (gnus-active group)) + (unexists + (if completep + (gnus-range-difference + active + (gnus-compress-sequence existing)) + (gnus-add-to-range + (cdr old-unexists) + (gnus-list-range-difference + existing (gnus-active group)))))) + (when (> (car active) 1) + (setq unexists (gnus-range-add + (cons 1 (1- (car active))) + unexists))) + (if old-unexists + (setcdr old-unexists unexists) + (push (cons 'unexist unexists) marks))) (gnus-info-set-marks info marks t)))) ;; Tell Gnus whether there are any \Recent messages in any of ;; the groups. @@ -1505,6 +1567,14 @@ textual parts.") (gnus-sorted-complement existing new-marks)))) (when ticks (push (cons (car type) ticks) marks))) + (gnus-info-set-marks info marks t)) + ;; Add vanished to the list of unexisting articles. + (when vanished + (let* ((old-unexists (assq 'unexist marks)) + (unexists (gnus-range-add (cdr old-unexists) vanished))) + (if old-unexists + (setcdr old-unexists unexists) + (push (cons 'unexist unexists) marks))) (gnus-info-set-marks info marks t)))) (defun nnimap-imap-ranges-to-gnus-ranges (irange) @@ -1642,7 +1712,7 @@ textual parts.") (setq nnimap-status-string "Read-only server") nil) -(defvar gnus-refer-thread-use-nnir) ; gnus-sum +(defvar gnus-refer-thread-use-nnir) ;; gnus-sum.el (declare-function gnus-fetch-headers "gnus-sum" (articles &optional limit force-new dependencies)) @@ -1653,7 +1723,7 @@ textual parts.") (setq group (nnimap-decode-gnus-group group))) (if gnus-refer-thread-use-nnir (nnir-search-thread header) - (when (nnimap-possibly-change-group group server) + (when (nnimap-change-group group server) (let* ((cmd (nnimap-make-thread-query header)) (result (with-current-buffer (nnimap-buffer) (nnimap-command "UID SEARCH %s" cmd)))) @@ -1664,7 +1734,14 @@ textual parts.") (cdr (assoc "SEARCH" (cdr result)))))) nil t)))))) -(defun nnimap-possibly-change-group (group server &optional no-reconnect) +(defun nnimap-change-group (group &optional server no-reconnect read-only) + "Change group to GROUP if non-nil. +If SERVER is set, check that server is connected, otherwise retry +to reconnect, unless NO-RECONNECT is set to t. Return nil if +unsuccessful in connecting. +If GROUP is nil, return t. +If READ-ONLY is set, send EXAMINE rather than SELECT to the server. +Return the server's response to the SELECT or EXAMINE command." (let ((open-result t)) (when (and server (not (nnimap-server-opened server))) @@ -1676,13 +1753,15 @@ textual parts.") t) (t (with-current-buffer (nnimap-buffer) - (if (equal group (nnimap-group nnimap-object)) - t - (let ((result (nnimap-command "SELECT %S" (utf7-encode group t)))) - (when (car result) - (setf (nnimap-group nnimap-object) group - (nnimap-select-result nnimap-object) result) - result)))))))) + (let ((result (nnimap-command "%s %S" + (if read-only + "EXAMINE" + "SELECT") + (utf7-encode group t)))) + (when (car result) + (setf (nnimap-group nnimap-object) group + (nnimap-select-result nnimap-object) result) + result))))))) (defun nnimap-find-connection (buffer) "Find the connection delivering to BUFFER." @@ -1718,15 +1797,24 @@ textual parts.") (defvar nnimap-record-commands nil "If non-nil, log commands to the \"*imap log*\" buffer.") +(defun nnimap-log-buffer () + (let ((name "*imap log*")) + (or (get-buffer name) + (with-current-buffer (get-buffer-create name) + (when (boundp 'window-point-insertion-type) + (make-local-variable 'window-point-insertion-type) + (setq window-point-insertion-type t)) + (current-buffer))))) + (defun nnimap-log-command (command) (when nnimap-record-commands - (with-current-buffer (get-buffer-create "*imap log*") + (with-current-buffer (nnimap-log-buffer) (goto-char (point-max)) (insert (format-time-string "%H:%M:%S") - " [" nnimap-address "] " - (if nnimap-inhibit-logging - "(inhibited)\n" - command)))) + " [" nnimap-address "] " + (if nnimap-inhibit-logging + "(inhibited)\n" + command)))) command) (defun nnimap-command (&rest args) @@ -1865,15 +1953,6 @@ textual parts.") (forward-line 1))) (buffer-substring (point) end)))) -(defun nnimap-get-responses (sequences) - (let (responses) - (dolist (sequence sequences) - (goto-char (point-min)) - (when (re-search-forward (format "^%d " sequence) nil t) - (push (list sequence (nnimap-parse-response)) - responses))) - responses)) - (defvar nnimap-incoming-split-list nil) (defun nnimap-fetch-inbox (articles) diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index 120149ae0fb..22dee30e8fa 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el @@ -288,7 +288,7 @@ is `(valuefunc member)'." (eval-when-compile (autoload 'nnimap-buffer "nnimap") (autoload 'nnimap-command "nnimap") - (autoload 'nnimap-possibly-change-group "nnimap") + (autoload 'nnimap-change-group "nnimap") (autoload 'nnimap-make-thread-query "nnimap") (autoload 'gnus-registry-action "gnus-registry") (autoload 'gnus-registry-get-id-key "gnus-registry") @@ -973,7 +973,7 @@ details on the language and supported extensions." #'(lambda (group) (let (artlist) (condition-case () - (when (nnimap-possibly-change-group + (when (nnimap-change-group (gnus-group-short-name group) server) (with-current-buffer (nnimap-buffer) (message "Searching %s..." group) diff --git a/lisp/gnus/sieve-manage.el b/lisp/gnus/sieve-manage.el index 23ab24152d9..4221276e2ec 100644 --- a/lisp/gnus/sieve-manage.el +++ b/lisp/gnus/sieve-manage.el @@ -168,6 +168,8 @@ Valid states are `closed', `initial', `nonauth', and `auth'.") (defvar sieve-manage-capability nil) ;; Internal utility functions +(autoload 'mm-enable-multibyte "mm-util") + (defun sieve-manage-make-process-buffer () (with-current-buffer (generate-new-buffer (format " *sieve %s:%s*" @@ -206,15 +208,15 @@ Return the buffer associated with the connection." :success "^OK.*\n" :return-list t :starttls-function - '(lambda (capabilities) - (when (string-match "\\bSTARTTLS\\b" capabilities) - "STARTTLS\r\n"))) + (lambda (capabilities) + (when (string-match "\\bSTARTTLS\\b" capabilities) + "STARTTLS\r\n"))) (setq sieve-manage-process proc) (setq sieve-manage-capability - (sieve-manage-parse-capability (getf props :capabilities))) + (sieve-manage-parse-capability (plist-get props :capabilities))) ;; Ignore new capabilities issues after successful STARTTLS (when (and (memq stream '(nil network starttls)) - (eq (getf props :type) 'tls)) + (eq (plist-get props :type) 'tls)) (sieve-manage-drop-next-answer)) (current-buffer)))) @@ -502,9 +504,9 @@ If NAME is nil, return the full server list of capabilities." (defun sieve-manage-parse-capability (str) "Parse managesieve capability string `STR'. Set variable `sieve-manage-capability' to " - (let ((capas (remove-if #'null - (mapcar #'split-string-and-unquote - (split-string str "\n"))))) + (let ((capas (delq nil + (mapcar #'split-string-and-unquote + (split-string str "\n"))))) (when (string= "OK" (caar (last capas))) (setq sieve-manage-state 'nonauth)) capas)) diff --git a/lisp/gnus/sieve.el b/lisp/gnus/sieve.el index 2c11c039d56..42e6330273a 100644 --- a/lisp/gnus/sieve.el +++ b/lisp/gnus/sieve.el @@ -125,7 +125,8 @@ require \"fileinto\"; (define-key map "f" 'sieve-edit-script) (define-key map "o" 'sieve-edit-script-other-window) (define-key map "r" 'sieve-remove) - (define-key map "q" 'sieve-manage-quit) + (define-key map "q" 'sieve-bury-buffer) + (define-key map "Q" 'sieve-manage-quit) (define-key map [(down-mouse-2)] 'sieve-edit-script) (define-key map [(down-mouse-3)] 'sieve-manage-mode-menu) map) @@ -149,12 +150,17 @@ require \"fileinto\"; ;; Commands used in sieve-manage mode: (defun sieve-manage-quit () - "Quit." + "Quit Manage Sieve and close the connection." (interactive) (sieve-manage-close sieve-manage-buffer) (kill-buffer sieve-manage-buffer) (kill-buffer (current-buffer))) +(defun sieve-bury-buffer () + "Bury the Manage Sieve buffer without closing the connection." + (interactive) + (bury-buffer)) + (defun sieve-activate (&optional pos) (interactive "d") (let ((name (sieve-script-at-point)) err) @@ -207,7 +213,7 @@ require \"fileinto\"; (insert sieve-template)) (sieve-mode) (setq sieve-buffer-script-name name) - (beginning-of-buffer) + (goto-char (point-min)) (message (substitute-command-keys "Press \\[sieve-upload] to upload script to server.")))) diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 86bb67e87c2..52aa0517fa8 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -875,8 +875,10 @@ it is displayed along with the global value." (princ "buffer-local when set.\n")) ((not permanent-local)) ((bufferp locus) + (setq extra-line t) (princ " This variable's buffer-local value is permanent.\n")) (t + (setq extra-line t) (princ " This variable's value is permanent \ if it is given a local binding.\n"))) diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el index 768dda993e2..3de2b1a65e6 100644 --- a/lisp/htmlfontify.el +++ b/lisp/htmlfontify.el @@ -748,6 +748,10 @@ if you've redefined white, (esp. if you've redefined it to have a triplet member lower than that of the color you are processing) strange things may happen." ;;(message "hfy-colour-vals");;DBUG + ;; TODO? Can we do somehow do better than this? + (cond + ((equal colour "unspecified-fg") (setq colour "black")) + ((equal colour "unspecified-bg") (setq colour "white"))) (let ((white (mapcar (lambda (I) (float (1+ I))) (hfy-colour-vals "white"))) (rgb16 (mapcar (lambda (I) (float (1+ I))) (hfy-colour-vals colour)))) (if rgb16 @@ -773,6 +777,8 @@ may happen." "Derive a CSS font-size specifier from an Emacs font :height attribute HEIGHT. Does not cope with the case where height is a function to be applied to the height of the underlying font." + ;; In ttys, the default face has :height == 1. + (and (not (display-graphic-p)) (equal 1 height) (setq height 100)) (list (cond ;;(t (cons "font-size" ": 1em")) diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index 8f7d584d00b..a4f18201a3f 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -462,6 +462,7 @@ directory, like `default-directory'." (define-key map (kbd "M-g") 'ibuffer-jump-to-buffer) (define-key map (kbd "M-s a C-s") 'ibuffer-do-isearch) (define-key map (kbd "M-s a M-C-s") 'ibuffer-do-isearch-regexp) + (define-key map (kbd "M-s a C-o") 'ibuffer-do-occur) (define-key map (kbd "DEL") 'ibuffer-unmark-backward) (define-key map (kbd "M-DEL") 'ibuffer-unmark-all) (define-key map (kbd "* *") 'ibuffer-unmark-all) diff --git a/lisp/ido.el b/lisp/ido.el index 47c05b080f7..f695ec117f1 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -782,21 +782,29 @@ remaining completion. If absent, elements 5 and 6 are used instead." :group 'ido) (defcustom ido-use-virtual-buffers nil - "If non-nil, refer to past buffers as well as existing ones. + "Specify how vritual buffers should be used. +The value can be one of the following: + + nil: No virtual buffers are used. + auto: Use virtual bufferw when the current input matches no + existing buffers. + t: Always use virtual buffers. + Essentially it works as follows: Say you are visiting a file and the buffer gets cleaned up by midnight.el. Later, you want to -switch to that buffer, but find it's no longer open. With -virtual buffers enabled, the buffer name stays in the buffer -list (using the `ido-virtual' face, and always at the end), and if -you select it, it opens the file back up again. This allows you -to think less about whether recently opened files are still open -or not. Most of the time you can quit Emacs, restart, and then -switch to a file buffer that was previously open as if it still -were. - This feature relies upon the `recentf' package, which will be -enabled if this variable is configured to a non-nil value." - :version "24.1" - :type 'boolean +switch to that buffer, but find it's no longer open. With virtual +buffers enabled, the buffer name stays in the buffer list (using +the `ido-virtual' face, and always at the end), and if you select +it, it opens the file back up again. This allows you to think +less about whether recently opened files are still open or not. +Most of the time you can quit Emacs, restart, and then switch to +a file buffer that was previously open as if it still were. This +feature relies upon the `recentf' package, which will be enabled +if this variable is configured to a non-nil value." + :version "24.4" + :type '(choice (const :tag "Always" t) + (const :tag "Automatic" auto) + (const :tag "Never" nil)) :group 'ido) (defcustom ido-use-faces t @@ -1103,6 +1111,9 @@ Only used if `ido-use-virtual-buffers' is non-nil.") ;; Don't process ido-ignore- lists once. (defvar ido-process-ignore-lists-inhibit) +;; Is ido using virtual buffers? +(defvar ido-enable-virtual-buffers) + ;; Buffer from which ido was entered. (defvar ido-entry-buffer) @@ -2141,9 +2152,10 @@ If INITIAL is non-nil, it specifies the initial input string." done t) (setq ido-set-default-item t))) - ((or (string-match "[/\\][^/\\]" ido-selected) - (and (memq system-type '(windows-nt ms-dos)) - (string-match "\\`[a-zA-Z]:" ido-selected))) + ((string-match (if (memq system-type '(windows-nt ms-dos)) + "\\`[a-zA-Z]:\\|[/\\][^/\\]" + "/[^/]") + ido-selected) (ido-set-current-directory (file-name-directory ido-selected)) (setq ido-set-default-item t)) @@ -2201,7 +2213,8 @@ If cursor is not at the end of the user input, move to end of input." (ido-current-directory nil) (ido-directory-nonreadable nil) (ido-directory-too-big nil) - (ido-use-virtual-buffers ido-use-virtual-buffers) + (ido-enable-virtual-buffers (and ido-use-virtual-buffers + (not (eq ido-use-virtual-buffers 'auto)))) (require-match (confirm-nonexistent-file-or-buffer)) (buf (ido-read-internal 'buffer (or prompt "Buffer: ") 'ido-buffer-history default require-match initial)) @@ -2242,7 +2255,8 @@ If cursor is not at the end of the user input, move to end of input." (ido-visit-buffer buf method t))) ;; check for a virtual buffer reference - ((and ido-use-virtual-buffers ido-virtual-buffers + ((and ido-enable-virtual-buffers + ido-virtual-buffers (setq filename (assoc buf ido-virtual-buffers))) (ido-visit-buffer (find-file-noselect (cdr filename)) method t)) @@ -2733,7 +2747,11 @@ C-x C-f ... C-d enter `dired' on current directory." See `ido-use-virtual-buffers' for explanation of virtual buffer." (interactive) (when (and ido-mode (eq ido-cur-item 'buffer)) - (setq ido-use-virtual-buffers (not ido-use-virtual-buffers)) + (setq ido-enable-virtual-buffers + (if ido-enable-virtual-buffers + nil + ;; Use `always' instead of t for `ido-exhibit'. + 'always)) (setq ido-text-init ido-text) (setq ido-exit 'refresh) (exit-minibuffer))) @@ -3426,9 +3444,9 @@ it is put to the start of the list." (nconc ido-temp-list ido-current-buffers) (setq ido-temp-list ido-current-buffers)) (if default - (setq ido-temp-list - (cons default (delete default ido-temp-list)))) - (if ido-use-virtual-buffers + (setq ido-temp-list + (cons default (delete default ido-temp-list)))) + (if (bound-and-true-p ido-enable-virtual-buffers) (ido-add-virtual-buffers-to-list)) (run-hooks 'ido-make-buffer-list-hook) ido-temp-list)) @@ -3985,6 +4003,7 @@ If cursor is not at the end of the user input, delete to end of input." ;;; DELETE CURRENT FILE (defun ido-delete-file-at-head () "Delete the file at the head of `ido-matches'. +Trash the file if `delete-by-moving-to-trash' is non-nil. If cursor is not at the end of the user input, delete to end of input." (interactive) (if (not (eobp)) @@ -3997,8 +4016,9 @@ If cursor is not at the end of the user input, delete to end of input." (file-exists-p file) (not (file-directory-p file)) (file-writable-p ido-current-directory) - (yes-or-no-p (concat "Delete " file "? "))) - (delete-file file) + (or delete-by-moving-to-trash + (yes-or-no-p (concat "Delete " file "? ")))) + (delete-file file 'trash) ;; Check if file still exists. (if (file-exists-p file) ;; file could not be deleted @@ -4474,6 +4494,27 @@ For details of keybindings, see `ido-find-file'." (setq ido-exit 'refresh) (exit-minibuffer)) + (when (and (boundp 'ido-enable-virtual-buffers) + (not (eq ido-enable-virtual-buffers 'always)) + (eq ido-cur-item 'buffer) + (eq ido-use-virtual-buffers 'auto)) + + (when (and (not ido-enable-virtual-buffers) + (not ido-matches)) + (setq ido-text-init ido-text) + (setq ido-enable-virtual-buffers t) + (setq ido-exit 'refresh) + (exit-minibuffer)) + + ;; If input matches real buffers turn off virtual buffers. + (when (and ido-enable-virtual-buffers + ido-matches + (ido-set-matches-1 (ido-make-buffer-list-1))) + (setq ido-enable-virtual-buffers nil) + (setq ido-text-init ido-text) + (setq ido-exit 'refresh) + (exit-minibuffer))) + (when (and (not ido-matches) (not ido-directory-nonreadable) (not ido-directory-too-big) diff --git a/lisp/info-xref.el b/lisp/info-xref.el index 90a8d4968de..21fb592ff19 100644 --- a/lisp/info-xref.el +++ b/lisp/info-xref.el @@ -45,7 +45,25 @@ ;;; Code: (require 'info) -(eval-when-compile (require 'cl-lib)) ;; for `incf' +(eval-when-compile (require 'cl-lib)) ; for `cl-incf' + +(defgroup info-xref nil + "Check external cross-references in Info documents." + :group 'docs) ; FIXME right parent? + +;; Should this even be an option? +(defcustom info-xref-case-fold nil + "Non-nil means node checks should ignore case. +When following cross-references, the Emacs Info reader first tries a +case-sensitive match, then if that fails a case-insensitive one. +The standalone Info reader does not do this, nor does this work +for links in the html versions of Texinfo manuals. Therefore +to ensure your cross-references work on the widest range of platforms, +you should set this variable to nil." + :group 'info-xref + :type 'boolean + :version "24.4") + ;;----------------------------------------------------------------------------- ;; vaguely generic @@ -204,7 +222,8 @@ buffer's line and column of point." (Info-goto-node node (when (get-buffer "*info*") (set-buffer "*info*") - "xref - temporary")) + "xref - temporary") + (not info-xref-case-fold)) t) (error nil)) (unless (equal (current-buffer) oldbuf) @@ -367,13 +386,28 @@ in the path." (forward-line))) (info-xref-check-buffer)))))))) +(defconst info-xref-node-re "\\(?1:\\(([^)]*)\\)[^.,]+\\)" + "Regexp with subexp 1 matching (manual)node.") + +;; "@xref{node,crossref,manual}." produces: +;; texinfo 4 or 5: +;; *Note crossref: (manual)node. +;; "@xref{node,,manual}." produces: +;; texinfo 4: +;; *Note node: (manual)node. +;; texinfo 5: +;; *Note (manual)node::. +(defconst info-xref-note-re + (concat "\\*[Nn]ote[ \n\t]+\\(?:" + "[^:]*:[ \n\t]+" info-xref-node-re "\\|" + info-xref-node-re "::\\)[.,]") + "Regexp matching a \"*note...\" link.") + (defun info-xref-check-buffer () "Check external references in the info file in the current buffer. This should be the raw file contents, not `Info-mode'." (goto-char (point-min)) - (while (re-search-forward - "\\*[Nn]ote[ \n\t]+[^:]*:[ \n\t]+\\(\\(([^)]*)\\)[^.,]+\\)[.,]" - nil t) + (while (re-search-forward info-xref-note-re nil t) (save-excursion (goto-char (match-beginning 1)) ;; start of nodename as error position (info-xref-check-node (match-string 1))))) diff --git a/lisp/info.el b/lisp/info.el index 9dc312fc697..0e0a11753ba 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -920,10 +920,14 @@ just return nil (no error)." (error "Info file %s does not exist" filename))) filename)))) -(defun Info-find-node (filename nodename &optional no-going-back) +(defun Info-find-node (filename nodename &optional no-going-back strict-case) "Go to an Info node specified as separate FILENAME and NODENAME. NO-GOING-BACK is non-nil if recovering from an error in this function; -it says do not attempt further (recursive) error recovery." +it says do not attempt further (recursive) error recovery. + +This function first looks for a case-sensitive match for NODENAME; +if none is found it then tries a case-insensitive match (unless +STRICT-CASE is non-nil)." (info-initialize) (setq filename (Info-find-file filename)) ;; Go into Info buffer. @@ -933,7 +937,7 @@ it says do not attempt further (recursive) error recovery." Info-current-file (push (list Info-current-file Info-current-node (point)) Info-history)) - (Info-find-node-2 filename nodename no-going-back)) + (Info-find-node-2 filename nodename no-going-back strict-case)) ;;;###autoload (defun Info-on-current-buffer (&optional nodename) @@ -1010,7 +1014,7 @@ which the match was found." (+ (point-min) (read (current-buffer))) major-mode))))) -(defun Info-find-in-tag-table (marker regexp) +(defun Info-find-in-tag-table (marker regexp &optional strict-case) "Find a node in a tag table. MARKER specifies the buffer and position to start searching at. REGEXP is a regular expression matching nodes or references. Its first @@ -1020,10 +1024,11 @@ FOUND-ANCHOR is non-nil if a `Ref:' was matched, POS is the position where the match was found, and MODE is `major-mode' of the buffer in which the match was found. This function tries to find a case-sensitive match first, then a -case-insensitive match is tried." +case-insensitive match is tried (unless optional argument STRICT-CASE +is non-nil)." (let ((result (Info-find-in-tag-table-1 marker regexp nil))) - (when (null (car result)) - (setq result (Info-find-in-tag-table-1 marker regexp t))) + (or strict-case (car result) + (setq result (Info-find-in-tag-table-1 marker regexp t))) result)) (defun Info-find-node-in-buffer-1 (regexp case-fold) @@ -1046,17 +1051,19 @@ Value is the position at which a match was found, or nil if not found." (setq found (line-beginning-position))))))) found)) -(defun Info-find-node-in-buffer (regexp) +(defun Info-find-node-in-buffer (regexp &optional strict-case) "Find a node or anchor in the current buffer. REGEXP is a regular expression matching nodes or references. Its first group should match `Node:' or `Ref:'. Value is the position at which a match was found, or nil if not found. This function looks for a case-sensitive match first. If none is found, -a case-insensitive match is tried." +a case-insensitive match is tried (unless optional argument STRICT-CASE +is non-nil)." (or (Info-find-node-in-buffer-1 regexp nil) - (Info-find-node-in-buffer-1 regexp t))) + (and (not strict-case) + (Info-find-node-in-buffer-1 regexp t)))) -(defun Info-find-node-2 (filename nodename &optional no-going-back) +(defun Info-find-node-2 (filename nodename &optional no-going-back strict-case) (buffer-disable-undo (current-buffer)) (or (eq major-mode 'Info-mode) (Info-mode)) @@ -1167,7 +1174,7 @@ a case-insensitive match is tried." ;; First, search a tag table, if any (when (marker-position Info-tag-table-marker) (let* ((m Info-tag-table-marker) - (found (Info-find-in-tag-table m regexp))) + (found (Info-find-in-tag-table m regexp strict-case))) (when found ;; FOUND is (ANCHOR POS MODE). @@ -1194,7 +1201,7 @@ a case-insensitive match is tried." ;; buffer) to find the actual node. First, check ;; whether the node is right where we are, in case the ;; buffer begins with a node. - (let ((pos (Info-find-node-in-buffer regexp))) + (let ((pos (Info-find-node-in-buffer regexp strict-case))) (when pos (goto-char pos) (throw 'foo t))) @@ -1701,7 +1708,7 @@ escaped (\\\",\\\\)." ;; Don't autoload this function: the correct entry point for other packages ;; to use is `info'. --Stef ;; ;;;###autoload -(defun Info-goto-node (nodename &optional fork) +(defun Info-goto-node (nodename &optional fork strict-case) "Go to Info node named NODENAME. Give just NODENAME or (FILENAME)NODENAME. If NODENAME is of the form (FILENAME)NODENAME, the node is in the Info file FILENAME; otherwise, NODENAME should be in the current Info file (or one of @@ -1711,7 +1718,11 @@ in the Info file FILENAME after the closing parenthesis in (FILENAME). Empty NODENAME in (FILENAME) defaults to the Top node. If FORK is non-nil (interactively with a prefix arg), show the node in a new Info buffer. -If FORK is a string, it is the name to use for the new buffer." +If FORK is a string, it is the name to use for the new buffer. + +This function first looks for a case-sensitive match for the node part +of NODENAME; if none is found it then tries a case-insensitive match +\(unless STRICT-CASE is non-nil)." (interactive (list (Info-read-node-name "Go to node: ") current-prefix-arg)) (info-initialize) (if fork @@ -1730,7 +1741,7 @@ If FORK is a string, it is the name to use for the new buffer." (if trim (setq nodename (substring nodename 0 trim)))) (if transient-mark-mode (deactivate-mark)) (Info-find-node (if (equal filename "") nil filename) - (if (equal nodename "") "Top" nodename)))) + (if (equal nodename "") "Top" nodename) nil strict-case))) (defvar Info-read-node-completion-table) @@ -3870,23 +3881,6 @@ If FORK is non-nil, it is passed to `Info-goto-node'." ((setq node (Info-get-token (point) "\\*note[ \n\t]+" "\\*note[ \n\t]+\\([^:]*\\):\\(:\\|[ \n\t]*(\\)?")) (Info-follow-reference node fork)) - ;; menu item: node name - ((setq node (Info-get-token (point) "\\* +" "\\* +\\([^:]*\\)::")) - (Info-goto-node node fork)) - ;; menu item: node name or index entry - ((Info-get-token (point) "\\* +" "\\* +\\(.*\\): ") - (beginning-of-line) - (forward-char 2) - (setq node (Info-extract-menu-node-name nil (Info-index-node))) - (Info-goto-node node fork)) - ((setq node (Info-get-token (point) "Up: " "Up: \\([^,\n\t]*\\)")) - (Info-goto-node node fork)) - ((setq node (Info-get-token (point) "Next: " "Next: \\([^,\n\t]*\\)")) - (Info-goto-node node fork)) - ((setq node (Info-get-token (point) "File: " "File: \\([^,\n\t]*\\)")) - (Info-goto-node "Top" fork)) - ((setq node (Info-get-token (point) "Prev: " "Prev: \\([^,\n\t]*\\)")) - (Info-goto-node node fork)) ;; footnote ((setq node (Info-get-token (point) "(" "\\(([0-9]+)\\)")) (let ((old-point (point)) new-point) @@ -3904,7 +3898,24 @@ If FORK is non-nil, it is passed to `Info-goto-node'." (progn (goto-char new-point) (setq node t)) - (setq node nil))))) + (setq node nil)))) + ;; menu item: node name + ((setq node (Info-get-token (point) "\\* +" "\\* +\\([^:]*\\)::")) + (Info-goto-node node fork)) + ;; menu item: node name or index entry + ((Info-get-token (point) "\\* +" "\\* +\\(.*\\): ") + (beginning-of-line) + (forward-char 2) + (setq node (Info-extract-menu-node-name nil (Info-index-node))) + (Info-goto-node node fork)) + ((setq node (Info-get-token (point) "Up: " "Up: \\([^,\n\t]*\\)")) + (Info-goto-node node fork)) + ((setq node (Info-get-token (point) "Next: " "Next: \\([^,\n\t]*\\)")) + (Info-goto-node node fork)) + ((setq node (Info-get-token (point) "File: " "File: \\([^,\n\t]*\\)")) + (Info-goto-node "Top" fork)) + ((setq node (Info-get-token (point) "Prev: " "Prev: \\([^,\n\t]*\\)")) + (Info-goto-node node fork))) node)) (defun Info-mouse-follow-link (click) diff --git a/lisp/international/characters.el b/lisp/international/characters.el index d973ccf2d7e..9f56b1c8b7d 100644 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el @@ -512,7 +512,13 @@ with L, LRE, or LRO Unicode bidi character type.") (set-case-syntax ?¦ "_" tbl) (set-case-syntax ?§ "." tbl) (set-case-syntax ?© "_" tbl) - (set-case-syntax-delims 171 187 tbl) ; « » + ;; French wants + ;; (set-case-syntax-delims ?« ?» tbl) + ;; And German wants + ;; (set-case-syntax-delims ?» ?« tbl) + ;; So let's stay neutral and let users set these up if/when they want to. + (set-case-syntax ?« "." tbl) + (set-case-syntax ?» "." tbl) (set-case-syntax ?¬ "_" tbl) (set-case-syntax ? "_" tbl) (set-case-syntax ?® "_" tbl) diff --git a/lisp/international/isearch-x.el b/lisp/international/isearch-x.el index 992236ce1ad..37213b95d3e 100644 --- a/lisp/international/isearch-x.el +++ b/lisp/international/isearch-x.el @@ -94,7 +94,7 @@ (exit-minibuffer))) ;;;###autoload -(defun isearch-process-search-multibyte-characters (last-char) +(defun isearch-process-search-multibyte-characters (last-char &optional count) (if (eq this-command 'isearch-printing-char) (let ((overriding-terminal-local-map nil) (prompt (isearch-message-prefix)) @@ -136,8 +136,11 @@ (if (and str (> (length str) 0)) (let ((unread-command-events nil)) - (isearch-process-search-string str str)) + (if (and (integerp count) (> count 1)) + (let ((strs (mapconcat 'identity (make-list count str) ""))) + (isearch-process-search-string strs strs)) + (isearch-process-search-string str str))) (isearch-update))) - (isearch-process-search-char last-char))) + (isearch-process-search-char last-char count))) ;;; isearch-x.el ends here diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 0806006a6c3..62b96720771 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -972,7 +972,7 @@ It is highly recommended to fix it before writing to a file." ;; Classify the defaults into safe, rejected, and unsafe. (dolist (elt default-coding-system) - (if (or (eq (car codings) 'undecided) + (if (or (eq (coding-system-type (car elt)) 'undecided) (memq (cdr elt) codings)) (if (and (functionp accept-default-p) (not (funcall accept-default-p (cdr elt)))) @@ -1029,6 +1029,14 @@ and try again)? " coding-system auto-cs)) (error "Save aborted")))) (when (and tick (/= tick (buffer-chars-modified-tick))) (error "Canceled because the buffer was modified")) + (if (and (eq (coding-system-type coding-system) 'undecided) + (coding-system-get coding-system :prefer-utf-8) + (or (multibyte-string-p from) + (and (number-or-marker-p from) + (< (- to from) + (- (position-bytes to) (position-bytes from)))))) + (setq coding-system + (coding-system-change-text-conversion coding-system 'utf-8))) coding-system))) (setq select-safe-coding-system-function 'select-safe-coding-system) diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el index 48487b850df..a84054b498b 100644 --- a/lisp/international/mule-conf.el +++ b/lisp/international/mule-conf.el @@ -1225,6 +1225,18 @@ (define-coding-system-alias 'dos 'undecided-dos) (define-coding-system-alias 'mac 'undecided-mac) +(define-coding-system 'prefer-utf-8 + "Like `undecided' but prefer UTF-8 when appropriate. +On decoding, if the source contains 8-bit codes and they all +are valid UTF-8 sequences, detect the source as UTF-8 encoding +regardless of the coding priority. +On encoding, if the source contains non-ASCII characters, encode them +by UTF-8." + :coding-type 'undecided + :mnemonic ?- + :charset-list '(emacs) + :prefer-utf-8 t) + (define-coding-system 'raw-text "Raw text, which means text contains random 8-bit codes. Encoding text with this coding system produces the actual byte @@ -1508,7 +1520,7 @@ for decoding and encoding files, process I/O, etc." (setq file-coding-system-alist (mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg))) '(("\\.elc\\'" . utf-8-emacs) - ("\\.el\\'" . utf-8) + ("\\.el\\'" . prefer-utf-8) ("\\.utf\\(-8\\)?\\'" . utf-8) ("\\.xml\\'" . xml-find-file-coding-system) ;; We use raw-text for reading loaddefs.el so that if it diff --git a/lisp/international/mule.el b/lisp/international/mule.el index 4ce1a28c438..3577e0e9152 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el @@ -732,7 +732,26 @@ decoding. This attribute has a meaning only when `:coding-type' is VALUE is a symbol representing the registered CCL program used for encoding. This attribute has a meaning only when `:coding-type' is -`ccl'." +`ccl'. + +:inhibit-null-byte-detection + +VALUE non-nil means Emacs ignore null bytes on code detection. +See the variable `inhibit-null-byte-detection'. This attribute +has a meaning only when `:coding-type' is `undecided'. + +:inhibit-iso-escape-detection + +VALUE non-nil means Emacs ignores ISO-2022 escape sequences on +code detection. See the variable `inhibit-iso-escape-detection'. +This attribute has a meaning only when `:coding-type' is +`undecided'. + +:prefer-utf-8 + +VALUE non-nil means Emacs prefers UTF-8 on code detection for +non-ASCII files. This attribute has a meaning only when +`:coding-type' is `undecided'." (let* ((common-attrs (mapcar 'list '(:mnemonic :coding-type @@ -761,7 +780,11 @@ encoding. This attribute has a meaning only when `:coding-type' is ((eq coding-type 'ccl) '(:ccl-decoder :ccl-encoder - :valids)))))) + :valids)) + ((eq coding-type 'undecided) + '(:inhibit-null-byte-detection + :inhibit-iso-escape-detection + :prefer-utf-8)))))) (dolist (slot common-attrs) (setcdr slot (plist-get props (car slot)))) @@ -1236,7 +1259,9 @@ just set the variable `buffer-file-coding-system' directly." (if (and coding-system buffer-file-coding-system (null force)) (setq coding-system (merge-coding-systems coding-system buffer-file-coding-system))) - (when (called-interactively-p 'interactive) + (when (and (called-interactively-p 'interactive) + (not (memq 'emacs (coding-system-get coding-system + :charset-list)))) ;; Check whether save would succeed, and jump to the offending char(s) ;; if not. (let ((css (find-coding-systems-region (point-min) (point-max)))) diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el index 7d7619df70e..bcad78d8ce0 100644 --- a/lisp/international/titdic-cnv.el +++ b/lisp/international/titdic-cnv.el @@ -273,9 +273,8 @@ SPC, 6, 3, 4, or 7 specifying a tone (SPC:$(0?v(N(B, 6:$(0Dm(N(B, 3:$(0&9Vy (princ ";; Quail package `") (princ package) (princ (format "' -*- coding:%s -*-\n" coding-system-for-write)) - (princ ";; Generated by the command `titdic-convert'\n;;\tDate: ") - (princ (current-time-string)) - (princ "\n;;\tOriginal TIT dictionary file: ") + (princ ";; Generated by the command `titdic-convert'\n") + (princ ";;\tOriginal TIT dictionary file: ") (princ (file-name-nondirectory filename)) (princ "\n\n;;; Comment:\n\n") (princ ";; Byte-compile this file again after any modification.\n\n") @@ -1152,7 +1151,6 @@ the generated Quail package is saved." (insert (format ";; Quail package `%s' -*- coding:%s -*-\n" name coding)) (insert ";; Generated by the command `miscdic-convert'\n") - (insert ";; Date: " (current-time-string) "\n") (insert ";; Source dictionary file: " dicfile "\n") (insert ";; Copyright notice of the source file\n") (insert ";;------------------------------------------------------\n") diff --git a/lisp/isearch.el b/lisp/isearch.el index d9f8b0891e4..ec4f32aecca 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -1540,17 +1540,22 @@ nil and a non-nil value of the option `search-invisible' "Return a regexp which matches words, ignoring punctuation. Given STRING, a string of words separated by word delimiters, compute a regexp that matches those exact words separated by -arbitrary punctuation. If LAX is non-nil, the end of the string -need not match a word boundary unless it ends in whitespace. +arbitrary punctuation. If the string begins or ends in whitespace, +the beginning or the end of the string matches arbitrary whitespace. +Otherwise if LAX is non-nil, the beginning or the end of the string +need not match a word boundary. Used in `word-search-forward', `word-search-backward', `word-search-forward-lax', `word-search-backward-lax'." - (if (string-match-p "^\\W*$" string) - "" - (concat - "\\b" - (mapconcat 'identity (split-string string "\\W+" t) "\\W+") - (if (or (not lax) (string-match-p "\\W$" string)) "\\b")))) + (cond + ((equal string "") "") + ((string-match-p "\\`\\W+\\'" string) "\\W+") + (t (concat + (if (string-match-p "\\`\\W" string) "\\W+" + (unless lax "\\<")) + (mapconcat 'regexp-quote (split-string string "\\W+" t) "\\W+") + (if (string-match-p "\\W\\'" string) "\\W+" + (unless lax "\\>")))))) (defun word-search-backward (string &optional bound noerror count) "Search backward from point for STRING, ignoring differences in punctuation. @@ -1625,8 +1630,24 @@ to punctuation." (defun isearch-symbol-regexp (string &optional lax) "Return a regexp which matches STRING as a symbol. Creates a regexp where STRING is surrounded by symbol delimiters \\_< and \\_>. -If LAX is non-nil, the end of the string need not match a symbol boundary." - (concat "\\_<" (regexp-quote string) (unless lax "\\_>"))) +If there are more than one symbol, then compute a regexp that matches +those exact symbols separated by non-symbol characters. If the string +begins or ends in whitespace, the beginning or the end of the string +matches arbitrary non-symbol whitespace. Otherwise if LAX is non-nil, +the beginning or the end of the string need not match a symbol boundary." + (let ((not-word-symbol-re + ;; This regexp matches all syntaxes except word and symbol syntax. + ;; FIXME: Replace it with something shorter if possible (bug#14602). + "\\(?:\\s-\\|\\s.\\|\\s(\\|\\s)\\|\\s\"\\|\\s\\\\|\\s/\\|\\s$\\|\\s'\\|\\s<\\|\\s>\\|\\s@\\|\\s!\\|\\s|\\)+")) + (cond + ((equal string "") "") + ((string-match-p (format "\\`%s\\'" not-word-symbol-re) string) not-word-symbol-re) + (t (concat + (if (string-match-p (format "\\`%s" not-word-symbol-re) string) not-word-symbol-re + (unless lax "\\_<")) + (mapconcat 'regexp-quote (split-string string not-word-symbol-re t) not-word-symbol-re) + (if (string-match-p (format "%s\\'" not-word-symbol-re) string) not-word-symbol-re + (unless lax "\\_>"))))))) (put 'isearch-symbol-regexp 'isearch-message-prefix "symbol ") @@ -1657,9 +1678,10 @@ If LAX is non-nil, the end of the string need not match a symbol boundary." "Start `query-replace' with string to replace from last search string. The arg DELIMITED (prefix arg if interactive), if non-nil, means replace only matches surrounded by word boundaries. Note that using the prefix arg -is possible only when `isearch-allow-scroll' is non-nil, and it doesn't -always provide the correct matches for `query-replace', so the preferred -way to run word replacements from Isearch is `M-s w ... M-%'." +is possible only when `isearch-allow-scroll' is non-nil or +`isearch-allow-prefix' is non-nil, and it doesn't always provide the +correct matches for `query-replace', so the preferred way to run word +replacements from Isearch is `M-s w ... M-%'." (interactive (list current-prefix-arg)) (barf-if-buffer-read-only) @@ -1693,7 +1715,15 @@ way to run word replacements from Isearch is `M-s w ... M-%'." (query-replace-read-to isearch-string (concat "Query replace" - (if (or delimited isearch-word) " word" "") + (if (or delimited isearch-word) + (let* ((symbol (or delimited isearch-word)) + (string (and symbol (symbolp symbol) + (get symbol 'isearch-message-prefix)))) + (if (stringp string) + ;; Move space from the end to the beginning. + (replace-regexp-in-string "\\(.*\\) \\'" " \\1" string) + " word")) + "") (if isearch-regexp " regexp" "") (if (and transient-mark-mode mark-active) " in region" "")) isearch-regexp) @@ -1735,12 +1765,14 @@ characters in that string." ;; No subexpression so collect the entire match. "\\&" ;; Get the regexp for collection pattern. - (isearch-done nil t) - (isearch-clean-overlays) - (let ((default (car occur-collect-regexp-history))) - (read-regexp - (format "Regexp to collect (default %s): " default) - default 'occur-collect-regexp-history))) + (let ((default (car occur-collect-regexp-history)) + regexp-collect) + (with-isearch-suspended + (setq regexp-collect + (read-regexp + (format "Regexp to collect (default %s): " default) + default 'occur-collect-regexp-history))) + regexp-collect)) ;; Otherwise normal occur takes numerical prefix argument. (when current-prefix-arg (prefix-numeric-value current-prefix-arg)))))) @@ -1815,11 +1847,17 @@ If search string is empty, just beep." (interactive "p") (if (= 0 (length isearch-string)) (ding) - (setq isearch-string (substring isearch-string 0 (- (or arg 1))) + (setq isearch-string (substring isearch-string 0 + (- (min (or arg 1) + (length isearch-string)))) isearch-message (mapconcat 'isearch-text-char-description isearch-string ""))) ;; Use the isearch-other-end as new starting point to be able ;; to find the remaining part of the search string again. + ;; This is like what `isearch-search-and-update' does, + ;; but currently it doesn't support deletion of characters + ;; for the case where unsuccessful search may become successful + ;; by deletion of characters. (if isearch-other-end (goto-char isearch-other-end)) (isearch-search) (isearch-push-state) @@ -1919,29 +1957,33 @@ Subword is used when `subword-mode' is activated. " (forward-word 1)) (forward-char 1)) (point)))) -(defun isearch-yank-word () +(defun isearch-yank-word (&optional arg) "Pull next word from buffer into search string." - (interactive) - (isearch-yank-internal (lambda () (forward-word 1) (point)))) + (interactive "p") + (isearch-yank-internal (lambda () (forward-word arg) (point)))) -(defun isearch-yank-line () +(defun isearch-yank-line (&optional arg) "Pull rest of line from buffer into search string." - (interactive) + (interactive "p") (isearch-yank-internal (lambda () (let ((inhibit-field-text-motion t)) - (line-end-position (if (eolp) 2 1)))))) + (line-end-position (if (eolp) (1+ arg) arg)))))) -(defun isearch-char-by-name () +(defun isearch-char-by-name (&optional count) "Read a character by its Unicode name and add it to the search string. -Completion is available like in `read-char-by-name' used by `insert-char'." - (interactive) +Completion is available like in `read-char-by-name' used by `insert-char'. +With argument, add COUNT copies of the character." + (interactive "p") (with-isearch-suspended (let ((char (read-char-by-name "Add character to search (Unicode name or hex): "))) (when char - (setq isearch-new-string (concat isearch-string (string char)) - isearch-new-message (concat isearch-message - (mapconcat 'isearch-text-char-description - (string char) ""))))))) + (let ((string (if (and (integerp count) (> count 1)) + (make-string count char) + (char-to-string char)))) + (setq isearch-new-string (concat isearch-string string) + isearch-new-message (concat isearch-message + (mapconcat 'isearch-text-char-description + string "")))))))) (defun isearch-search-and-update () ;; Do the search and update the display. @@ -2382,9 +2424,10 @@ Isearch mode." (t;; otherwise nil (isearch-process-search-string key key))))) -(defun isearch-quote-char () - "Quote special characters for incremental search." - (interactive) +(defun isearch-quote-char (&optional count) + "Quote special characters for incremental search. +With argument, add COUNT copies of the character." + (interactive "p") (let ((char (read-quoted-char (isearch-message t)))) ;; Assume character codes 0200 - 0377 stand for characters in some ;; single-byte character set, and convert them to Emacs @@ -2392,24 +2435,26 @@ Isearch mode." (if (and isearch-regexp isearch-regexp-lax-whitespace (= char ?\s)) (if (subregexp-context-p isearch-string (length isearch-string)) (isearch-process-search-string "[ ]" " ") - (isearch-process-search-char char)) + (isearch-process-search-char char count)) (and enable-multibyte-characters (>= char ?\200) (<= char ?\377) (setq char (unibyte-char-to-multibyte char))) - (isearch-process-search-char char)))) - -(defun isearch-printing-char () - "Add this ordinary printing character to the search string and search." - (interactive) - (let ((char last-command-event)) + (isearch-process-search-char char count)))) + +(defun isearch-printing-char (&optional char count) + "Add this ordinary printing CHAR to the search string and search. +With argument, add COUNT copies of the character." + (interactive (list last-command-event + (prefix-numeric-value current-prefix-arg))) + (let ((char (or char last-command-event))) (if (= char ?\S-\ ) (setq char ?\s)) (if current-input-method - (isearch-process-search-multibyte-characters char) - (isearch-process-search-char char)))) + (isearch-process-search-multibyte-characters char count) + (isearch-process-search-char char count)))) -(defun isearch-process-search-char (char) +(defun isearch-process-search-char (char &optional count) ;; * and ? are special in regexps when not preceded by \. ;; } and | are special in regexps when preceded by \. ;; Nothing special for + because it matches at least once. @@ -2418,12 +2463,15 @@ Isearch mode." ((eq char ?\}) (isearch-fallback t t)) ((eq char ?|) (isearch-fallback t nil t))) - ;; Append the char to the search string, update the message and re-search. - (isearch-process-search-string - (char-to-string char) - (if (>= char ?\200) - (char-to-string char) - (isearch-text-char-description char)))) + ;; Append the char(s) to the search string, + ;; update the message and re-search. + (let* ((string (if (and (integerp count) (> count 1)) + (make-string count char) + (char-to-string char))) + (message (if (>= char ?\200) + string + (mapconcat 'isearch-text-char-description string "")))) + (isearch-process-search-string string message))) (defun isearch-process-search-string (string message) (setq isearch-string (concat isearch-string string) diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index 6cd20f9c8ca..2c99f2bde2e 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -3,9 +3,7 @@ ;;; Code: -;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best -;;;;;; 5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5" -;;;;;; "play/5x5.el" (20709 26818 907104 0)) +;;;### (autoloads nil "5x5" "play/5x5.el" (20709 26818 907104 0)) ;;; Generated autoloads from play/5x5.el (autoload '5x5 "5x5" "\ @@ -67,8 +65,8 @@ should return a grid vector array that is the new solution. ;;;*** -;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el" -;;;;;; (20874 62962 290468 0)) +;;;### (autoloads nil "ada-mode" "progmodes/ada-mode.el" (20874 62962 +;;;;;; 290468 0)) ;;; Generated autoloads from progmodes/ada-mode.el (autoload 'ada-add-extensions "ada-mode" "\ @@ -87,8 +85,8 @@ Ada mode is the major mode for editing Ada code. ;;;*** -;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ada-stmt" "progmodes/ada-stmt.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/ada-stmt.el (autoload 'ada-header "ada-stmt" "\ @@ -98,8 +96,8 @@ Insert a descriptive header at the top of the file. ;;;*** -;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ada-xref" "progmodes/ada-xref.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/ada-xref.el (autoload 'ada-find-file "ada-xref" "\ @@ -110,11 +108,8 @@ Completion is available. ;;;*** -;;;### (autoloads (change-log-merge add-log-current-defun change-log-mode -;;;;;; add-change-log-entry-other-window add-change-log-entry find-change-log -;;;;;; prompt-for-change-log-name add-log-mailing-address add-log-full-name -;;;;;; add-log-current-defun-function) "add-log" "vc/add-log.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "add-log" "vc/add-log.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from vc/add-log.el (put 'change-log-default-name 'safe-local-variable 'string-or-null-p) @@ -243,9 +238,8 @@ old-style time formats for entries are supported. ;;;*** -;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice -;;;;;; ad-enable-advice ad-default-compilation-action ad-redefinition-action) -;;;;;; "advice" "emacs-lisp/advice.el" (20725 15032 264919 0)) +;;;### (autoloads nil "advice" "emacs-lisp/advice.el" (20725 15032 +;;;;;; 264919 0)) ;;; Generated autoloads from emacs-lisp/advice.el (defvar ad-redefinition-action 'warn "\ @@ -381,9 +375,7 @@ usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) ;;;*** -;;;### (autoloads (align-newline-and-indent align-unhighlight-rule -;;;;;; align-highlight-rule align-current align-entire align-regexp -;;;;;; align) "align" "align.el" (20709 26818 907104 0)) +;;;### (autoloads nil "align" "align.el" (20709 26818 907104 0)) ;;; Generated autoloads from align.el (autoload 'align "align" "\ @@ -472,11 +464,9 @@ A replacement function for `newline-and-indent', aligning as it goes. ;;;*** -;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation -;;;;;; allout-setup allout-auto-activation-helper) "allout" "allout.el" -;;;;;; (20892 39729 858825 0)) +;;;### (autoloads nil "allout" "allout.el" (20932 10282 564846 0)) ;;; Generated autoloads from allout.el - +(push (purecopy (quote (allout 2 3))) package--builtin-versions) (autoload 'allout-auto-activation-helper "allout" "\ Institute `allout-auto-activation'. @@ -833,11 +823,10 @@ for details on preparing Emacs for automatic allout activation. ;;;*** -;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation -;;;;;; allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "allout-widgets" "allout-widgets.el" (20932 +;;;;;; 61699 522706 0)) ;;; Generated autoloads from allout-widgets.el - +(push (purecopy (quote (allout-widgets 1 0))) package--builtin-versions) (let ((loads (get 'allout-widgets 'custom-loads))) (if (member '"allout-widgets" loads) nil (put 'allout-widgets 'custom-loads (cons '"allout-widgets" loads)))) (autoload 'allout-widgets-setup "allout-widgets" "\ @@ -894,8 +883,8 @@ outline hot-spot navigation (see `allout-mode'). ;;;*** -;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp" -;;;;;; "net/ange-ftp.el" (20843 54187 671468 0)) +;;;### (autoloads nil "ange-ftp" "net/ange-ftp.el" (20843 54187 671468 +;;;;;; 0)) ;;; Generated autoloads from net/ange-ftp.el (defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir) @@ -916,8 +905,8 @@ directory, so that Emacs will know its current contents. ;;;*** -;;;### (autoloads (animate-birthday-present animate-sequence animate-string) -;;;;;; "animate" "play/animate.el" (20709 26818 907104 0)) +;;;### (autoloads nil "animate" "play/animate.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from play/animate.el (autoload 'animate-string "animate" "\ @@ -949,10 +938,10 @@ the buffer *Birthday-Present-for-Name*. ;;;*** -;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on) -;;;;;; "ansi-color" "ansi-color.el" (20709 26818 907104 0)) +;;;### (autoloads nil "ansi-color" "ansi-color.el" (20930 54950 26050 +;;;;;; 0)) ;;; Generated autoloads from ansi-color.el - +(push (purecopy (quote (ansi-color 3 4 2))) package--builtin-versions) (autoload 'ansi-color-for-comint-mode-on "ansi-color" "\ Set `ansi-color-for-comint-mode' to t. @@ -975,11 +964,10 @@ This is a good function to put in `comint-output-filter-functions'. ;;;*** -;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules) -;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "antlr-mode" "progmodes/antlr-mode.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from progmodes/antlr-mode.el - +(push (purecopy (quote (antlr-mode 2 2 3))) package--builtin-versions) (autoload 'antlr-show-makefile-rules "antlr-mode" "\ Show Makefile rules for all grammar files in the current directory. If the `major-mode' of the current buffer has the value `makefile-mode', @@ -1012,8 +1000,8 @@ Used in `antlr-mode'. Also a useful function in `java-mode-hook'. ;;;*** -;;;### (autoloads (appt-activate appt-add) "appt" "calendar/appt.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "appt" "calendar/appt.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from calendar/appt.el (autoload 'appt-add "appt" "\ @@ -1034,10 +1022,7 @@ ARG is positive, otherwise off. ;;;*** -;;;### (autoloads (apropos-documentation apropos-value apropos-library -;;;;;; apropos apropos-documentation-property apropos-command apropos-variable -;;;;;; apropos-user-option apropos-read-pattern) "apropos" "apropos.el" -;;;;;; (20716 56 356960 0)) +;;;### (autoloads nil "apropos" "apropos.el" (20716 56 356960 0)) ;;; Generated autoloads from apropos.el (autoload 'apropos-read-pattern "apropos" "\ @@ -1152,8 +1137,8 @@ Returns list of symbols and documentation found. ;;;*** -;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20759 -;;;;;; 33211 414988 0)) +;;;### (autoloads nil "arc-mode" "arc-mode.el" (20932 10282 564846 +;;;;;; 0)) ;;; Generated autoloads from arc-mode.el (autoload 'archive-mode "arc-mode" "\ @@ -1173,8 +1158,7 @@ archive. ;;;*** -;;;### (autoloads (array-mode) "array" "array.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "array" "array.el" (20709 26818 907104 0)) ;;; Generated autoloads from array.el (autoload 'array-mode "array" "\ @@ -1245,10 +1229,10 @@ Entering array mode calls the function `array-mode-hook'. ;;;*** -;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (20891 -;;;;;; 18859 893295 0)) +;;;### (autoloads nil "artist" "textmodes/artist.el" (20891 18859 +;;;;;; 893295 0)) ;;; Generated autoloads from textmodes/artist.el - +(push (purecopy (quote (artist 1 2 6))) package--builtin-versions) (autoload 'artist-mode "artist" "\ Toggle Artist mode. With argument ARG, turn Artist mode on if ARG is positive. @@ -1451,8 +1435,8 @@ Keymap summary ;;;*** -;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "asm-mode" "progmodes/asm-mode.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/asm-mode.el (autoload 'asm-mode "asm-mode" "\ @@ -1479,8 +1463,8 @@ Special commands: ;;;*** -;;;### (autoloads (auth-source-cache-expiry) "auth-source" "gnus/auth-source.el" -;;;;;; (20755 36154 171386 0)) +;;;### (autoloads nil "auth-source" "gnus/auth-source.el" (20929 +;;;;;; 34089 117790 0)) ;;; Generated autoloads from gnus/auth-source.el (defvar auth-source-cache-expiry 7200 "\ @@ -1492,8 +1476,8 @@ let-binding.") ;;;*** -;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "autoarg" "autoarg.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from autoarg.el (defvar autoarg-mode nil "\ @@ -1553,8 +1537,8 @@ This is similar to `autoarg-mode' but rebinds the keypad keys ;;;*** -;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el" -;;;;;; (20874 62962 290468 0)) +;;;### (autoloads nil "autoconf" "progmodes/autoconf.el" (20874 62962 +;;;;;; 290468 0)) ;;; Generated autoloads from progmodes/autoconf.el (autoload 'autoconf-mode "autoconf" "\ @@ -1564,8 +1548,8 @@ Major mode for editing Autoconf configure.ac files. ;;;*** -;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert) -;;;;;; "autoinsert" "autoinsert.el" (20709 26818 907104 0)) +;;;### (autoloads nil "autoinsert" "autoinsert.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from autoinsert.el (autoload 'auto-insert "autoinsert" "\ @@ -1603,9 +1587,8 @@ insert a template for the file depending on the mode of the buffer. ;;;*** -;;;### (autoloads (batch-update-autoloads update-directory-autoloads -;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el" -;;;;;; (20879 27694 495748 0)) +;;;### (autoloads nil "autoload" "emacs-lisp/autoload.el" (20925 +;;;;;; 37032 237257 0)) ;;; Generated autoloads from emacs-lisp/autoload.el (put 'generated-autoload-file 'safe-local-variable 'stringp) @@ -1654,9 +1637,8 @@ should be non-nil). ;;;*** -;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode -;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode) -;;;;;; "autorevert" "autorevert.el" (20893 60586 188550 0)) +;;;### (autoloads nil "autorevert" "autorevert.el" (20912 25000 802412 +;;;;;; 0)) ;;; Generated autoloads from autorevert.el (autoload 'auto-revert-mode "autorevert" "\ @@ -1744,8 +1726,7 @@ specifies in the mode line. ;;;*** -;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid" -;;;;;; "avoid.el" (20709 26818 907104 0)) +;;;### (autoloads nil "avoid" "avoid.el" (20709 26818 907104 0)) ;;; Generated autoloads from avoid.el (defvar mouse-avoidance-mode nil "\ @@ -1785,8 +1766,7 @@ definition of \"random distance\".) ;;;*** -;;;### (autoloads (display-battery-mode battery) "battery" "battery.el" -;;;;;; (20791 9657 561026 0)) +;;;### (autoloads nil "battery" "battery.el" (20791 9657 561026 0)) ;;; Generated autoloads from battery.el (put 'battery-mode-line-string 'risky-local-variable t) @@ -1821,9 +1801,8 @@ seconds. ;;;*** -;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run) -;;;;;; "benchmark" "emacs-lisp/benchmark.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "benchmark" "emacs-lisp/benchmark.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from emacs-lisp/benchmark.el (autoload 'benchmark-run "benchmark" "\ @@ -1859,8 +1838,8 @@ For non-interactive use see also `benchmark-run' and ;;;*** -;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize) -;;;;;; "bibtex" "textmodes/bibtex.el" (20842 33318 816618 0)) +;;;### (autoloads nil "bibtex" "textmodes/bibtex.el" (20937 28198 +;;;;;; 475168 0)) ;;; Generated autoloads from textmodes/bibtex.el (autoload 'bibtex-initialize "bibtex" "\ @@ -1951,7 +1930,7 @@ A prefix arg negates the value of `bibtex-search-entry-globally'. ;;;*** -;;;### (autoloads (bibtex-style-mode) "bibtex-style" "textmodes/bibtex-style.el" +;;;### (autoloads nil "bibtex-style" "textmodes/bibtex-style.el" ;;;;;; (20709 26818 907104 0)) ;;; Generated autoloads from textmodes/bibtex-style.el @@ -1962,9 +1941,8 @@ Major mode for editing BibTeX style files. ;;;*** -;;;### (autoloads (binhex-decode-region binhex-decode-region-external -;;;;;; binhex-decode-region-internal) "binhex" "mail/binhex.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "binhex" "mail/binhex.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from mail/binhex.el (defconst binhex-begin-line "^:...............................................................$" "\ @@ -1988,8 +1966,8 @@ Binhex decode region between START and END. ;;;*** -;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "blackbox" "play/blackbox.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from play/blackbox.el (autoload 'blackbox "blackbox" "\ @@ -2108,11 +2086,8 @@ a reflection. ;;;*** -;;;### (autoloads (bookmark-bmenu-search bookmark-bmenu-list bookmark-load -;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert -;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate -;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark" -;;;;;; "bookmark.el" (20874 65006 176325 548000)) +;;;### (autoloads nil "bookmark" "bookmark.el" (20874 65006 176325 +;;;;;; 548000)) ;;; Generated autoloads from bookmark.el (define-key ctl-x-r-map "b" 'bookmark-jump) (define-key ctl-x-r-map "m" 'bookmark-set) @@ -2305,15 +2280,8 @@ Incremental search of bookmarks, hiding the non-matches as we go. ;;;*** -;;;### (autoloads (browse-url-elinks browse-url-kde browse-url-generic -;;;;;; browse-url-mail browse-url-text-emacs browse-url-text-xterm -;;;;;; browse-url-w3-gnudoit browse-url-w3 browse-url-cci browse-url-mosaic -;;;;;; browse-url-gnome-moz browse-url-emacs browse-url-galeon browse-url-chromium -;;;;;; browse-url-firefox browse-url-mozilla browse-url-netscape -;;;;;; browse-url-xdg-open browse-url-at-mouse browse-url-at-point -;;;;;; browse-url browse-url-of-region browse-url-of-dired-file -;;;;;; browse-url-of-buffer browse-url-of-file browse-url-browser-function) -;;;;;; "browse-url" "net/browse-url.el" (20874 62962 290468 0)) +;;;### (autoloads nil "browse-url" "net/browse-url.el" (20929 34089 +;;;;;; 117790 0)) ;;; Generated autoloads from net/browse-url.el (defvar browse-url-browser-function 'browse-url-default-browser "\ @@ -2628,10 +2596,9 @@ from `browse-url-elinks-wrapper'. ;;;*** -;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next) -;;;;;; "bs" "bs.el" (20709 26818 907104 0)) +;;;### (autoloads nil "bs" "bs.el" (20933 31141 450159 0)) ;;; Generated autoloads from bs.el - +(push (purecopy (quote (bs 1 17))) package--builtin-versions) (autoload 'bs-cycle-next "bs" "\ Select next buffer defined by buffer cycling. The buffers taking part in buffer cycling are defined @@ -2669,8 +2636,8 @@ name of buffer configuration. ;;;*** -;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (20791 9657 -;;;;;; 561026 0)) +;;;### (autoloads nil "bubbles" "play/bubbles.el" (20791 9657 561026 +;;;;;; 0)) ;;; Generated autoloads from play/bubbles.el (autoload 'bubbles "bubbles" "\ @@ -2691,8 +2658,8 @@ columns on its right towards the left. ;;;*** -;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference" -;;;;;; "progmodes/bug-reference.el" (20709 26818 907104 0)) +;;;### (autoloads nil "bug-reference" "progmodes/bug-reference.el" +;;;;;; (20709 26818 907104 0)) ;;; Generated autoloads from progmodes/bug-reference.el (put 'bug-reference-url-format 'safe-local-variable (lambda (s) (or (stringp s) (and (symbolp s) (get s 'bug-reference-url-format))))) @@ -2712,11 +2679,8 @@ Like `bug-reference-mode', but only buttonize in comments and strings. ;;;*** -;;;### (autoloads (batch-byte-recompile-directory batch-byte-compile -;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile -;;;;;; compile-defun byte-compile-file byte-recompile-directory -;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning) -;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (20900 33838 319219 0)) +;;;### (autoloads nil "bytecomp" "emacs-lisp/bytecomp.el" (20929 +;;;;;; 34089 117790 0)) ;;; Generated autoloads from emacs-lisp/bytecomp.el (put 'byte-compile-dynamic 'safe-local-variable 'booleanp) (put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) @@ -2858,8 +2822,8 @@ and corresponding effects. ;;;*** -;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "cal-hebrew" "calendar/cal-hebrew.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from calendar/cal-hebrew.el (autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\ @@ -2873,10 +2837,7 @@ from the cursor position. ;;;*** -;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle -;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc -;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (20863 -;;;;;; 39461 835648 0)) +;;;### (autoloads nil "calc" "calc/calc.el" (20932 10282 564846 0)) ;;; Generated autoloads from calc/calc.el (define-key ctl-x-map "*" 'calc-dispatch) @@ -2960,8 +2921,8 @@ See Info node `(calc)Defining Functions'. ;;;*** -;;;### (autoloads (calc-undo) "calc-undo" "calc/calc-undo.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "calc-undo" "calc/calc-undo.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from calc/calc-undo.el (autoload 'calc-undo "calc-undo" "\ @@ -2971,8 +2932,8 @@ See Info node `(calc)Defining Functions'. ;;;*** -;;;### (autoloads (calculator) "calculator" "calculator.el" (20891 -;;;;;; 18859 893295 0)) +;;;### (autoloads nil "calculator" "calculator.el" (20891 18859 893295 +;;;;;; 0)) ;;; Generated autoloads from calculator.el (autoload 'calculator "calculator" "\ @@ -2983,8 +2944,8 @@ See the documentation for `calculator-mode' for more information. ;;;*** -;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (20762 -;;;;;; 9398 526093 0)) +;;;### (autoloads nil "calendar" "calendar/calendar.el" (20762 9398 +;;;;;; 526093 0)) ;;; Generated autoloads from calendar/calendar.el (autoload 'calendar "calendar" "\ @@ -3027,8 +2988,8 @@ This function is suitable for execution in an init file. ;;;*** -;;;### (autoloads (canlock-verify canlock-insert-header) "canlock" -;;;;;; "gnus/canlock.el" (20709 26818 907104 0)) +;;;### (autoloads nil "canlock" "gnus/canlock.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from gnus/canlock.el (autoload 'canlock-insert-header "canlock" "\ @@ -3045,8 +3006,8 @@ it fails. ;;;*** -;;;### (autoloads (capitalized-words-mode) "cap-words" "progmodes/cap-words.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "cap-words" "progmodes/cap-words.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from progmodes/cap-words.el (autoload 'capitalized-words-mode "cap-words" "\ @@ -3092,8 +3053,8 @@ Obsoletes `c-forward-into-nomenclature'. ;;;*** -;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" -;;;;;; (20864 28934 62335 0)) +;;;### (autoloads nil "cc-engine" "progmodes/cc-engine.el" (20911 +;;;;;; 4138 279475 0)) ;;; Generated autoloads from progmodes/cc-engine.el (autoload 'c-guess-basic-syntax "cc-engine" "\ @@ -3103,9 +3064,7 @@ Return the syntactic context of the current line. ;;;*** -;;;### (autoloads (c-guess-install c-guess-region-no-install c-guess-region -;;;;;; c-guess-buffer-no-install c-guess-buffer c-guess-no-install -;;;;;; c-guess) "cc-guess" "progmodes/cc-guess.el" (20709 26818 +;;;### (autoloads nil "cc-guess" "progmodes/cc-guess.el" (20709 26818 ;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/cc-guess.el @@ -3204,9 +3163,8 @@ the absolute file name of the file if STYLE-NAME is nil. ;;;*** -;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode -;;;;;; c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" -;;;;;; (20903 56820 471502 429000)) +;;;### (autoloads nil "cc-mode" "progmodes/cc-mode.el" (20907 7082 +;;;;;; 901087 0)) ;;; Generated autoloads from progmodes/cc-mode.el (autoload 'c-initialize-cc-mode "cc-mode" "\ @@ -3382,8 +3340,8 @@ Key bindings: ;;;*** -;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles" -;;;;;; "progmodes/cc-styles.el" (20709 26818 907104 0)) +;;;### (autoloads nil "cc-styles" "progmodes/cc-styles.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from progmodes/cc-styles.el (autoload 'c-set-style "cc-styles" "\ @@ -3434,8 +3392,8 @@ and exists only for compatibility reasons. ;;;*** -;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20904 30886 -;;;;;; 391458 0)) +;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20907 7082 +;;;;;; 901087 0)) ;;; Generated autoloads from progmodes/cc-vars.el (put 'c-basic-offset 'safe-local-variable 'integerp) (put 'c-backslash-column 'safe-local-variable 'integerp) @@ -3443,9 +3401,8 @@ and exists only for compatibility reasons. ;;;*** -;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program -;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el" -;;;;;; (20884 7264 412929 442000)) +;;;### (autoloads nil "ccl" "international/ccl.el" (20884 7264 412929 +;;;;;; 442000)) ;;; Generated autoloads from international/ccl.el (autoload 'ccl-compile "ccl" "\ @@ -3705,8 +3662,8 @@ See the documentation of `define-ccl-program' for the detail of CCL program. ;;;*** -;;;### (autoloads (cconv-closure-convert) "cconv" "emacs-lisp/cconv.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "cconv" "emacs-lisp/cconv.el" (20922 60838 +;;;;;; 997229 0)) ;;; Generated autoloads from emacs-lisp/cconv.el (autoload 'cconv-closure-convert "cconv" "\ @@ -3718,12 +3675,23 @@ Returns a form where all lambdas don't have any free variables. \(fn FORM)" nil nil) +(autoload 'cconv-warnings-only "cconv" "\ +Add the warnings that closure conversion would encounter. + +\(fn FORM)" nil nil) + +;;;*** + +;;;### (autoloads nil "cedet" "cedet/cedet.el" (20748 62911 684442 +;;;;;; 0)) +;;; Generated autoloads from cedet/cedet.el +(push (purecopy (quote (cedet 2 0))) package--builtin-versions) ;;;*** -;;;### (autoloads (cfengine-auto-mode cfengine2-mode cfengine3-mode) -;;;;;; "cfengine" "progmodes/cfengine.el" (20813 33065 721081 0)) +;;;### (autoloads nil "cfengine" "progmodes/cfengine.el" (20929 34089 +;;;;;; 117790 0)) ;;; Generated autoloads from progmodes/cfengine.el - +(push (purecopy (quote (cfengine 1 2))) package--builtin-versions) (autoload 'cfengine3-mode "cfengine" "\ Major mode for editing CFEngine3 input. There are no special keybindings by default. @@ -3750,8 +3718,14 @@ on the buffer contents ;;;*** -;;;### (autoloads (check-declare-directory check-declare-file) "check-declare" -;;;;;; "emacs-lisp/check-declare.el" (20709 26818 907104 0)) +;;;### (autoloads nil "chart" "emacs-lisp/chart.el" (20895 15912 +;;;;;; 444844 0)) +;;; Generated autoloads from emacs-lisp/chart.el +(push (purecopy (quote (chart 0 2))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "check-declare" "emacs-lisp/check-declare.el" +;;;;;; (20709 26818 907104 0)) ;;; Generated autoloads from emacs-lisp/check-declare.el (autoload 'check-declare-file "check-declare" "\ @@ -3768,17 +3742,10 @@ Returns non-nil if any false statements are found. ;;;*** -;;;### (autoloads (checkdoc-minor-mode checkdoc-ispell-defun checkdoc-ispell-comments -;;;;;; checkdoc-ispell-continue checkdoc-ispell-start checkdoc-ispell-message-text -;;;;;; checkdoc-ispell-message-interactive checkdoc-ispell-interactive -;;;;;; checkdoc-ispell-current-buffer checkdoc-ispell checkdoc-defun -;;;;;; checkdoc-eval-defun checkdoc-message-text checkdoc-rogue-spaces -;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer -;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive -;;;;;; checkdoc-interactive checkdoc checkdoc-list-of-strings-p) -;;;;;; "checkdoc" "emacs-lisp/checkdoc.el" (20893 60586 188550 0)) +;;;### (autoloads nil "checkdoc" "emacs-lisp/checkdoc.el" (20893 +;;;;;; 60586 188550 0)) ;;; Generated autoloads from emacs-lisp/checkdoc.el -(put 'checkdoc-force-docstrings-flag 'safe-local-variable 'booleanp) +(push (purecopy (quote (checkdoc 0 6 2))) package--builtin-versions)(put 'checkdoc-force-docstrings-flag 'safe-local-variable 'booleanp) (put 'checkdoc-force-history-flag 'safe-local-variable 'booleanp) (put 'checkdoc-permit-comma-termination-flag 'safe-local-variable 'booleanp) (put 'checkdoc-arguments-in-order-flag 'safe-local-variable 'booleanp) @@ -3970,9 +3937,8 @@ checking of documentation strings. ;;;*** -;;;### (autoloads (pre-write-encode-hz post-read-decode-hz encode-hz-buffer -;;;;;; encode-hz-region decode-hz-buffer decode-hz-region) "china-util" -;;;;;; "language/china-util.el" (20799 169 640767 0)) +;;;### (autoloads nil "china-util" "language/china-util.el" (20799 +;;;;;; 169 640767 0)) ;;; Generated autoloads from language/china-util.el (autoload 'decode-hz-region "china-util" "\ @@ -4009,8 +3975,8 @@ Encode the text in the current buffer to HZ. ;;;*** -;;;### (autoloads (command-history list-command-history repeat-matching-complex-command) -;;;;;; "chistory" "chistory.el" (20709 26818 907104 0)) +;;;### (autoloads nil "chistory" "chistory.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from chistory.el (autoload 'repeat-matching-complex-command "chistory" "\ @@ -4049,8 +4015,8 @@ and runs the normal hook `command-history-hook'. ;;;*** -;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el" -;;;;;; (20879 27694 495748 0)) +;;;### (autoloads nil "cl-indent" "emacs-lisp/cl-indent.el" (20879 +;;;;;; 27694 495748 0)) ;;; Generated autoloads from emacs-lisp/cl-indent.el (autoload 'common-lisp-indent-function "cl-indent" "\ @@ -4128,10 +4094,10 @@ For example, the function `case' has an indent property ;;;*** -;;;### (autoloads nil "cl-lib" "emacs-lisp/cl-lib.el" (20772 12071 -;;;;;; 425443 833000)) +;;;### (autoloads nil "cl-lib" "emacs-lisp/cl-lib.el" (20932 10282 +;;;;;; 564846 0)) ;;; Generated autoloads from emacs-lisp/cl-lib.el - +(push (purecopy (quote (cl-lib 1 0))) package--builtin-versions) (define-obsolete-variable-alias 'custom-print-functions 'cl-custom-print-functions "24.3") (defvar cl-custom-print-functions nil "\ @@ -4156,8 +4122,8 @@ a future Emacs interpreter will be able to use it.") ;;;*** -;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "cmacexp" "progmodes/cmacexp.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/cmacexp.el (autoload 'c-macro-expand "cmacexp" "\ @@ -4177,8 +4143,8 @@ For use inside Lisp programs, see also `c-macro-expansion'. ;;;*** -;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (20774 -;;;;;; 53405 584723 417000)) +;;;### (autoloads nil "cmuscheme" "cmuscheme.el" (20932 61699 522706 +;;;;;; 0)) ;;; Generated autoloads from cmuscheme.el (autoload 'run-scheme "cmuscheme" "\ @@ -4198,8 +4164,7 @@ is run). ;;;*** -;;;### (autoloads (color-name-to-rgb) "color" "color.el" (20721 17977 -;;;;;; 14204 0)) +;;;### (autoloads nil "color" "color.el" (20721 17977 14204 0)) ;;; Generated autoloads from color.el (autoload 'color-name-to-rgb "color" "\ @@ -4218,10 +4183,7 @@ If FRAME cannot display COLOR, return nil. ;;;*** -;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list -;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command -;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el" -;;;;;; (20896 36774 886399 0)) +;;;### (autoloads nil "comint" "comint.el" (20932 10282 564846 0)) ;;; Generated autoloads from comint.el (defvar comint-output-filter-functions '(ansi-color-process-output comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\ @@ -4320,8 +4282,8 @@ REGEXP-GROUP is the regular expression group in REGEXP to use. ;;;*** -;;;### (autoloads (compare-windows) "compare-w" "vc/compare-w.el" -;;;;;; (20871 33574 214287 0)) +;;;### (autoloads nil "compare-w" "vc/compare-w.el" (20871 33574 +;;;;;; 214287 0)) ;;; Generated autoloads from vc/compare-w.el (autoload 'compare-windows "compare-w" "\ @@ -4354,12 +4316,8 @@ on third call it again advances points to the next difference and so on. ;;;*** -;;;### (autoloads (compilation-next-error-function compilation-minor-mode -;;;;;; compilation-shell-minor-mode compilation-mode compilation-start -;;;;;; compile compilation-disable-input compile-command compilation-search-path -;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook -;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20856 -;;;;;; 32301 830403 0)) +;;;### (autoloads nil "compile" "progmodes/compile.el" (20911 4138 +;;;;;; 279475 0)) ;;; Generated autoloads from progmodes/compile.el (defvar compilation-mode-hook nil "\ @@ -4538,8 +4496,8 @@ This is the value of `next-error-function' in Compilation buffers. ;;;*** -;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el" -;;;;;; (20884 7264 412929 442000)) +;;;### (autoloads nil "completion" "completion.el" (20884 7264 412929 +;;;;;; 442000)) ;;; Generated autoloads from completion.el (defvar dynamic-completion-mode nil "\ @@ -4561,10 +4519,8 @@ if ARG is omitted or nil. ;;;*** -;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode -;;;;;; conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode -;;;;;; conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el" -;;;;;; (20791 9657 561026 0)) +;;;### (autoloads nil "conf-mode" "textmodes/conf-mode.el" (20791 +;;;;;; 9657 561026 0)) ;;; Generated autoloads from textmodes/conf-mode.el (autoload 'conf-mode "conf-mode" "\ @@ -4719,16 +4675,18 @@ For details see `conf-mode'. Example: ;;;*** -;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie) -;;;;;; "cookie1" "play/cookie1.el" (20709 26818 907104 0)) +;;;### (autoloads nil "cookie1" "play/cookie1.el" (20932 61824 204300 +;;;;;; 748000)) ;;; Generated autoloads from play/cookie1.el (autoload 'cookie "cookie1" "\ Return a random phrase from PHRASE-FILE. When the phrase file is read in, display STARTMSG at the beginning of load, ENDMSG at the end. +Interactively, PHRASE-FILE defaults to `cookie-file', unless that +is nil or a prefix argument is used. -\(fn PHRASE-FILE STARTMSG ENDMSG)" nil nil) +\(fn PHRASE-FILE &optional STARTMSG ENDMSG)" t nil) (autoload 'cookie-insert "cookie1" "\ Insert random phrases from PHRASE-FILE; COUNT of them. @@ -4742,17 +4700,11 @@ Reads in the PHRASE-FILE, returns it as a vector of strings. Emit STARTMSG and ENDMSG before and after. Caches the result; second and subsequent calls on the same file won't go to disk. -\(fn PHRASE-FILE STARTMSG ENDMSG)" nil nil) - -(autoload 'shuffle-vector "cookie1" "\ -Randomly permute the elements of VECTOR (all permutations equally likely). - -\(fn VECTOR)" nil nil) +\(fn PHRASE-FILE &optional STARTMSG ENDMSG)" nil nil) ;;;*** -;;;### (autoloads (copyright-update-directory copyright copyright-fix-years -;;;;;; copyright-update) "copyright" "emacs-lisp/copyright.el" (20709 +;;;### (autoloads nil "copyright" "emacs-lisp/copyright.el" (20709 ;;;;;; 26818 907104 0)) ;;; Generated autoloads from emacs-lisp/copyright.el (put 'copyright-at-end-flag 'safe-local-variable 'booleanp) @@ -4791,9 +4743,8 @@ If FIX is non-nil, run `copyright-fix-years' instead. ;;;*** -;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode) -;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (20901 54695 989166 -;;;;;; 0)) +;;;### (autoloads nil "cperl-mode" "progmodes/cperl-mode.el" (20929 +;;;;;; 34089 117790 0)) ;;; Generated autoloads from progmodes/cperl-mode.el (put 'cperl-indent-level 'safe-local-variable 'integerp) (put 'cperl-brace-offset 'safe-local-variable 'integerp) @@ -4991,8 +4942,8 @@ Run a `perldoc' on the word around point. ;;;*** -;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el" -;;;;;; (20874 65006 672942 217000)) +;;;### (autoloads nil "cpp" "progmodes/cpp.el" (20874 65006 672942 +;;;;;; 217000)) ;;; Generated autoloads from progmodes/cpp.el (autoload 'cpp-highlight-buffer "cpp" "\ @@ -5010,8 +4961,8 @@ Edit display information for cpp conditionals. ;;;*** -;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "crisp" "emulation/crisp.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from emulation/crisp.el (defvar crisp-mode nil "\ @@ -5036,8 +4987,8 @@ if ARG is omitted or nil. ;;;*** -;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el" -;;;;;; (20825 24233 991089 0)) +;;;### (autoloads nil "crm" "emacs-lisp/crm.el" (20825 24233 991089 +;;;;;; 0)) ;;; Generated autoloads from emacs-lisp/crm.el (autoload 'completing-read-multiple "crm" "\ @@ -5073,8 +5024,8 @@ INHERIT-INPUT-METHOD. ;;;*** -;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "css-mode" "textmodes/css-mode.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from textmodes/css-mode.el (autoload 'css-mode "css-mode" "\ @@ -5084,8 +5035,8 @@ Major mode to edit Cascading Style Sheets. ;;;*** -;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "cua-base" "emulation/cua-base.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from emulation/cua-base.el (defvar cua-mode nil "\ @@ -5135,17 +5086,8 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings. ;;;*** -;;;### (autoloads (customize-menu-create custom-menu-create customize-save-customized -;;;;;; custom-save-all custom-file customize-browse custom-buffer-create-other-window -;;;;;; custom-buffer-create customize-apropos-groups customize-apropos-faces -;;;;;; customize-apropos-options customize-apropos customize-saved -;;;;;; customize-rogue customize-unsaved customize-face-other-window -;;;;;; customize-face customize-changed-options customize-option-other-window -;;;;;; customize-option customize-group-other-window customize-group -;;;;;; customize-mode customize customize-push-and-save customize-save-variable -;;;;;; customize-set-variable customize-set-value custom-menu-sort-alphabetically -;;;;;; custom-buffer-sort-alphabetically custom-browse-sort-alphabetically) -;;;;;; "cus-edit" "cus-edit.el" (20874 9766 437572 0)) +;;;### (autoloads nil "cus-edit" "cus-edit.el" (20932 10282 564846 +;;;;;; 0)) ;;; Generated autoloads from cus-edit.el (defvar custom-browse-sort-alphabetically nil "\ @@ -5347,8 +5289,8 @@ Customize all saved options and faces. Customize loaded options, faces and groups matching PATTERN. PATTERN can be a word, a list of words (separated by spaces), or a regexp (using some regexp special characters). If it is a word, -search for matches for that word as a substring. If it is a list of words, -search for matches for any two (or more) of those words. +search for matches for that word as a substring. If it is a list of +words, search for matches for any two (or more) of those words. If TYPE is `options', include only options. If TYPE is `faces', include only faces. @@ -5456,9 +5398,8 @@ The format is suitable for use with `easy-menu-define'. ;;;*** -;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme -;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20841 -;;;;;; 12463 538770 0)) +;;;### (autoloads nil "cus-theme" "cus-theme.el" (20841 12463 538770 +;;;;;; 0)) ;;; Generated autoloads from cus-theme.el (autoload 'customize-create-theme "cus-theme" "\ @@ -5491,8 +5432,8 @@ omitted, a buffer named *Custom Themes* is used. ;;;*** -;;;### (autoloads (cvs-status-mode) "cvs-status" "vc/cvs-status.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "cvs-status" "vc/cvs-status.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from vc/cvs-status.el (autoload 'cvs-status-mode "cvs-status" "\ @@ -5502,10 +5443,10 @@ Mode used for cvs status output. ;;;*** -;;;### (autoloads (global-cwarn-mode cwarn-mode) "cwarn" "progmodes/cwarn.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "cwarn" "progmodes/cwarn.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from progmodes/cwarn.el - +(push (purecopy (quote (cwarn 1 3 1))) package--builtin-versions) (autoload 'cwarn-mode "cwarn" "\ Minor mode that highlights suspicious C and C++ constructions. @@ -5546,9 +5487,8 @@ See `cwarn-mode' for more information on Cwarn mode. ;;;*** -;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char -;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el" -;;;;;; (20826 45095 436233 0)) +;;;### (autoloads nil "cyril-util" "language/cyril-util.el" (20826 +;;;;;; 45095 436233 0)) ;;; Generated autoloads from language/cyril-util.el (autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\ @@ -5576,8 +5516,8 @@ If the argument is nil, we return the display table to its standard state. ;;;*** -;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "dabbrev" "dabbrev.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from dabbrev.el (put 'dabbrev-case-fold-search 'risky-local-variable t) (put 'dabbrev-case-replace 'risky-local-variable t) @@ -5623,8 +5563,8 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion]. ;;;*** -;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "data-debug" "cedet/data-debug.el" (20938 49065 +;;;;;; 383398 0)) ;;; Generated autoloads from cedet/data-debug.el (autoload 'data-debug-new-buffer "data-debug" "\ @@ -5634,8 +5574,7 @@ Create a new data-debug buffer with NAME. ;;;*** -;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20900 -;;;;;; 33838 319219 0)) +;;;### (autoloads nil "dbus" "net/dbus.el" (20900 33838 319219 0)) ;;; Generated autoloads from net/dbus.el (autoload 'dbus-handle-event "dbus" "\ @@ -5648,8 +5587,8 @@ If the HANDLER returns a `dbus-error', it is propagated as return message. ;;;*** -;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (20763 -;;;;;; 30266 231060 0)) +;;;### (autoloads nil "dcl-mode" "progmodes/dcl-mode.el" (20763 30266 +;;;;;; 231060 0)) ;;; Generated autoloads from progmodes/dcl-mode.el (autoload 'dcl-mode "dcl-mode" "\ @@ -5775,8 +5714,8 @@ There is some minimal font-lock support (see vars ;;;*** -;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" -;;;;;; "emacs-lisp/debug.el" (20709 26818 907104 0)) +;;;### (autoloads nil "debug" "emacs-lisp/debug.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from emacs-lisp/debug.el (setq debugger 'debug) @@ -5819,8 +5758,8 @@ To specify a nil argument interactively, exit with an empty minibuffer. ;;;*** -;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "decipher" "play/decipher.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from play/decipher.el (autoload 'decipher "decipher" "\ @@ -5848,11 +5787,10 @@ The most useful commands are: ;;;*** -;;;### (autoloads (delimit-columns-rectangle delimit-columns-region -;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "delim-col" "delim-col.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from delim-col.el - +(push (purecopy (quote (delim-col 2 1))) package--builtin-versions) (autoload 'delimit-columns-customize "delim-col" "\ Customization of `columns' group. @@ -5874,8 +5812,7 @@ START and END delimits the corners of text rectangle. ;;;*** -;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "delsel" "delsel.el" (20709 26818 907104 0)) ;;; Generated autoloads from delsel.el (defalias 'pending-delete-mode 'delete-selection-mode) @@ -5904,8 +5841,8 @@ any selection. ;;;*** -;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode) -;;;;;; "derived" "emacs-lisp/derived.el" (20900 33838 319219 0)) +;;;### (autoloads nil "derived" "emacs-lisp/derived.el" (20900 33838 +;;;;;; 319219 0)) ;;; Generated autoloads from emacs-lisp/derived.el (autoload 'define-derived-mode "derived" "\ @@ -5971,8 +5908,8 @@ the first time the mode is used. ;;;*** -;;;### (autoloads (describe-char describe-text-properties) "descr-text" -;;;;;; "descr-text.el" (20875 30633 412173 0)) +;;;### (autoloads nil "descr-text" "descr-text.el" (20875 30633 412173 +;;;;;; 0)) ;;; Generated autoloads from descr-text.el (autoload 'describe-text-properties "descr-text" "\ @@ -6006,10 +5943,7 @@ relevant to POS. ;;;*** -;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir -;;;;;; desktop-load-default desktop-read desktop-remove desktop-save -;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop" -;;;;;; "desktop.el" (20866 42607 417304 513000)) +;;;### (autoloads nil "desktop" "desktop.el" (20945 22315 8369 0)) ;;; Generated autoloads from desktop.el (defvar desktop-save-mode nil "\ @@ -6197,9 +6131,8 @@ Revert to the last loaded desktop. ;;;*** -;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article -;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines) -;;;;;; "deuglify" "gnus/deuglify.el" (20791 9657 561026 0)) +;;;### (autoloads nil "deuglify" "gnus/deuglify.el" (20791 9657 561026 +;;;;;; 0)) ;;; Generated autoloads from gnus/deuglify.el (autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\ @@ -6231,8 +6164,8 @@ Deuglify broken Outlook (Express) articles and redisplay. ;;;*** -;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib" -;;;;;; "calendar/diary-lib.el" (20879 27694 495748 0)) +;;;### (autoloads nil "diary-lib" "calendar/diary-lib.el" (20932 +;;;;;; 61699 522706 0)) ;;; Generated autoloads from calendar/diary-lib.el (autoload 'diary "diary-lib" "\ @@ -6274,9 +6207,7 @@ Major mode for editing the diary file. ;;;*** -;;;### (autoloads (diff-buffer-with-file diff-latest-backup-file -;;;;;; diff-backup diff diff-command diff-switches) "diff" "vc/diff.el" -;;;;;; (20760 54070 584283 0)) +;;;### (autoloads nil "diff" "vc/diff.el" (20760 54070 584283 0)) ;;; Generated autoloads from vc/diff.el (defvar diff-switches (purecopy "-c") "\ @@ -6324,8 +6255,8 @@ This requires the external program `diff' to be in your `exec-path'. ;;;*** -;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "vc/diff-mode.el" -;;;;;; (20814 53928 50501 0)) +;;;### (autoloads nil "diff-mode" "vc/diff-mode.el" (20814 53928 +;;;;;; 50501 0)) ;;; Generated autoloads from vc/diff-mode.el (autoload 'diff-mode "diff-mode" "\ @@ -6357,7 +6288,7 @@ the mode if ARG is omitted or nil. ;;;*** -;;;### (autoloads (dig) "dig" "net/dig.el" (20709 26818 907104 0)) +;;;### (autoloads nil "dig" "net/dig.el" (20709 26818 907104 0)) ;;; Generated autoloads from net/dig.el (autoload 'dig "dig" "\ @@ -6368,9 +6299,7 @@ Optional arguments are passed to `dig-invoke'. ;;;*** -;;;### (autoloads (dired-hide-details-mode dired-mode dired-noselect -;;;;;; dired-other-frame dired-other-window dired dired-listing-switches) -;;;;;; "dired" "dired.el" (20900 33838 319219 0)) +;;;### (autoloads nil "dired" "dired.el" (20932 61699 522706 0)) ;;; Generated autoloads from dired.el (defvar dired-listing-switches (purecopy "-al") "\ @@ -6385,8 +6314,8 @@ some of the `ls' switches are not supported; see the doc string of (custom-autoload 'dired-listing-switches "dired" t) (defvar dired-directory nil "\ -The directory name or wildcard spec that this dired directory lists. -Local to each dired buffer. May be a list, in which case the car is the +The directory name or wildcard spec that this Dired directory lists. +Local to each Dired buffer. May be a list, in which case the car is the directory name and the cdr is the list of files to mention. The directory name must be absolute, but need not be fully expanded.") (define-key ctl-x-map "d" 'dired) @@ -6403,7 +6332,7 @@ list of files to make directory entries for. delete them by typing \\[dired-do-flagged-delete]. Type \\[describe-mode] after entering Dired for more info. -If DIRNAME is already in a dired buffer, that buffer is used without refresh. +If DIRNAME is already in a Dired buffer, that buffer is used without refresh. \(fn DIRNAME &optional SWITCHES)" t nil) (define-key ctl-x-4-map "d" 'dired-other-window) @@ -6420,7 +6349,7 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh. \(fn DIRNAME &optional SWITCHES)" t nil) (autoload 'dired-noselect "dired" "\ -Like `dired' but returns the dired buffer as value, does not select it. +Like `dired' but returns the Dired buffer as value, does not select it. \(fn DIR-OR-LIST &optional SWITCHES)" nil nil) @@ -6449,7 +6378,7 @@ Type \\[dired-unmark-backward] to back up one line and unmark or unflag. Type \\[dired-do-flagged-delete] to delete (eXecute) the files flagged `D'. Type \\[dired-find-file] to Find the current line's file (or dired it in another buffer, if it is a directory). -Type \\[dired-find-file-other-window] to find file or dired directory in Other window. +Type \\[dired-find-file-other-window] to find file or Dired directory in Other window. Type \\[dired-maybe-insert-subdir] to Insert a subdirectory in this buffer. Type \\[dired-do-rename] to Rename a file or move the marked files to another directory. Type \\[dired-do-copy] to Copy files. @@ -6489,14 +6418,14 @@ Keybindings: (put 'dired-find-alternate-file 'disabled t) (autoload 'dired-hide-details-mode "dired" "\ -Hide details in `dired-mode'. +Hide details in Dired mode. \(fn &optional ARG)" t nil) ;;;*** -;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "dirtrack" "dirtrack.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from dirtrack.el (autoload 'dirtrack-mode "dirtrack" "\ @@ -6526,8 +6455,8 @@ from `default-directory'. ;;;*** -;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "disass" "emacs-lisp/disass.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from emacs-lisp/disass.el (autoload 'disassemble "disass" "\ @@ -6541,12 +6470,8 @@ redefine OBJECT if it is a symbol. ;;;*** -;;;### (autoloads (standard-display-european glyph-face glyph-char -;;;;;; make-glyph-code create-glyph standard-display-underline standard-display-graphic -;;;;;; standard-display-g1 standard-display-ascii standard-display-default -;;;;;; standard-display-8bit describe-current-display-table describe-display-table -;;;;;; set-display-table-slot display-table-slot make-display-table) -;;;;;; "disp-table" "disp-table.el" (20709 26818 907104 0)) +;;;### (autoloads nil "disp-table" "disp-table.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from disp-table.el (autoload 'make-display-table "disp-table" "\ @@ -6667,8 +6592,8 @@ in `.emacs'. ;;;*** -;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "dissociate" "play/dissociate.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from play/dissociate.el (autoload 'dissociated-press "dissociate" "\ @@ -6684,8 +6609,7 @@ Default is 2. ;;;*** -;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "dnd" "dnd.el" (20709 26818 907104 0)) ;;; Generated autoloads from dnd.el (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)) "\ @@ -6705,8 +6629,8 @@ if some action was made, or nil if the URL is ignored.") ;;;*** -;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode" -;;;;;; "textmodes/dns-mode.el" (20709 26818 907104 0)) +;;;### (autoloads nil "dns-mode" "textmodes/dns-mode.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from textmodes/dns-mode.el (autoload 'dns-mode "dns-mode" "\ @@ -6729,9 +6653,8 @@ Locate SOA record and increment the serial field. ;;;*** -;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe -;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20899 -;;;;;; 12965 791908 0)) +;;;### (autoloads nil "doc-view" "doc-view.el" (20899 12965 791908 +;;;;;; 0)) ;;; Generated autoloads from doc-view.el (autoload 'doc-view-mode-p "doc-view" "\ @@ -6777,8 +6700,8 @@ See the command `doc-view-mode' for more information on this mode. ;;;*** -;;;### (autoloads (doctor) "doctor" "play/doctor.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "doctor" "play/doctor.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from play/doctor.el (autoload 'doctor "doctor" "\ @@ -6788,8 +6711,7 @@ Switch to *doctor* buffer and start giving psychotherapy. ;;;*** -;;;### (autoloads (double-mode) "double" "double.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "double" "double.el" (20709 26818 907104 0)) ;;; Generated autoloads from double.el (autoload 'double-mode "double" "\ @@ -6805,10 +6727,10 @@ strings when pressed twice. See `double-map' for details. ;;;*** -;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (20900 33838 -;;;;;; 319219 0)) +;;;### (autoloads nil "dunnet" "play/dunnet.el" (20900 33838 319219 +;;;;;; 0)) ;;; Generated autoloads from play/dunnet.el - +(push (purecopy (quote (dunnet 2 1))) package--builtin-versions) (autoload 'dunnet "dunnet" "\ Switch to *dungeon* buffer and start game. @@ -6816,9 +6738,8 @@ Switch to *dungeon* buffer and start game. ;;;*** -;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap -;;;;;; define-globalized-minor-mode define-minor-mode) "easy-mmode" -;;;;;; "emacs-lisp/easy-mmode.el" (20900 33838 319219 0)) +;;;### (autoloads nil "easy-mmode" "emacs-lisp/easy-mmode.el" (20900 +;;;;;; 33838 319219 0)) ;;; Generated autoloads from emacs-lisp/easy-mmode.el (defalias 'easy-mmode-define-minor-mode 'define-minor-mode) @@ -6957,8 +6878,7 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX). ;;;*** -;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define -;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (20709 +;;;### (autoloads nil "easymenu" "emacs-lisp/easymenu.el" (20709 ;;;;;; 26818 907104 0)) ;;; Generated autoloads from emacs-lisp/easymenu.el @@ -7097,16 +7017,10 @@ To implement dynamic menus, either call this from ;;;*** -;;;### (autoloads (ebnf-pop-style ebnf-push-style ebnf-reset-style -;;;;;; ebnf-apply-style ebnf-merge-style ebnf-delete-style ebnf-insert-style -;;;;;; ebnf-find-style ebnf-setup ebnf-syntax-region ebnf-syntax-buffer -;;;;;; ebnf-syntax-file ebnf-syntax-directory ebnf-eps-region ebnf-eps-buffer -;;;;;; ebnf-eps-file ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer -;;;;;; ebnf-spool-file ebnf-spool-directory ebnf-print-region ebnf-print-buffer -;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps" -;;;;;; "progmodes/ebnf2ps.el" (20709 26818 907104 0)) +;;;### (autoloads nil "ebnf2ps" "progmodes/ebnf2ps.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/ebnf2ps.el - +(push (purecopy (quote (ebnf2ps 4 4))) package--builtin-versions) (autoload 'ebnf-customize "ebnf2ps" "\ Customization for ebnf group. @@ -7368,18 +7282,8 @@ See `ebnf-style-database' documentation. ;;;*** -;;;### (autoloads (ebrowse-statistics ebrowse-save-tree-as ebrowse-save-tree -;;;;;; ebrowse-electric-position-menu ebrowse-forward-in-position-stack -;;;;;; ebrowse-back-in-position-stack ebrowse-tags-search-member-use -;;;;;; ebrowse-tags-query-replace ebrowse-tags-search ebrowse-tags-loop-continue -;;;;;; ebrowse-tags-complete-symbol ebrowse-tags-find-definition-other-frame -;;;;;; ebrowse-tags-view-definition-other-frame ebrowse-tags-find-declaration-other-frame -;;;;;; ebrowse-tags-find-definition-other-window ebrowse-tags-view-definition-other-window -;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition -;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration -;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree -;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "ebrowse" "progmodes/ebrowse.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/ebrowse.el (autoload 'ebrowse-tree-mode "ebrowse" "\ @@ -7527,8 +7431,8 @@ Display statistics for a class tree. ;;;*** -;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ebuff-menu" "ebuff-menu.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from ebuff-menu.el (autoload 'electric-buffer-list "ebuff-menu" "\ @@ -7560,8 +7464,8 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry. ;;;*** -;;;### (autoloads (Electric-command-history-redo-expression) "echistory" -;;;;;; "echistory.el" (20709 26818 907104 0)) +;;;### (autoloads nil "echistory" "echistory.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from echistory.el (autoload 'Electric-command-history-redo-expression "echistory" "\ @@ -7572,8 +7476,8 @@ With prefix arg NOCONFIRM, execute current line as-is without editing. ;;;*** -;;;### (autoloads (ecomplete-setup) "ecomplete" "gnus/ecomplete.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ecomplete" "gnus/ecomplete.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/ecomplete.el (autoload 'ecomplete-setup "ecomplete" "\ @@ -7583,10 +7487,9 @@ With prefix arg NOCONFIRM, execute current line as-is without editing. ;;;*** -;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (20813 33065 -;;;;;; 721081 0)) +;;;### (autoloads nil "ede" "cedet/ede.el" (20908 27948 216644 0)) ;;; Generated autoloads from cedet/ede.el - +(push (purecopy (quote (ede 1 2))) package--builtin-versions) (defvar global-ede-mode nil "\ Non-nil if Global-Ede mode is enabled. See the command `global-ede-mode' for a description of this minor mode. @@ -7609,9 +7512,20 @@ an EDE controlled project. ;;;*** -;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form -;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" -;;;;;; "emacs-lisp/edebug.el" (20834 39208 838628 0)) +;;;### (autoloads nil "ede/dired" "cedet/ede/dired.el" (20709 26818 +;;;;;; 907104 0)) +;;; Generated autoloads from cedet/ede/dired.el +(push (purecopy (quote (dired 0 4))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "ede/project-am" "cedet/ede/project-am.el" +;;;;;; (20881 10343 547564 552000)) +;;; Generated autoloads from cedet/ede/project-am.el +(push (purecopy (quote (project-am 0 0 3))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "edebug" "emacs-lisp/edebug.el" (20912 25000 +;;;;;; 802412 0)) ;;; Generated autoloads from emacs-lisp/edebug.el (defvar edebug-all-defs nil "\ @@ -7675,19 +7589,9 @@ Toggle edebugging of all forms. ;;;*** -;;;### (autoloads (ediff-documentation ediff-version ediff-revision -;;;;;; ediff-patch-buffer ediff-patch-file ediff-merge-revisions-with-ancestor -;;;;;; ediff-merge-revisions ediff-merge-buffers-with-ancestor ediff-merge-buffers -;;;;;; ediff-merge-files-with-ancestor ediff-merge-files ediff-regions-linewise -;;;;;; ediff-regions-wordwise ediff-windows-linewise ediff-windows-wordwise -;;;;;; ediff-merge-directory-revisions-with-ancestor ediff-merge-directory-revisions -;;;;;; ediff-merge-directories-with-ancestor ediff-merge-directories -;;;;;; ediff-directories3 ediff-directory-revisions ediff-directories -;;;;;; ediff-buffers3 ediff-buffers ediff-backup ediff-current-file -;;;;;; ediff-files3 ediff-files) "ediff" "vc/ediff.el" (20893 60586 -;;;;;; 188550 0)) +;;;### (autoloads nil "ediff" "vc/ediff.el" (20893 60586 188550 0)) ;;; Generated autoloads from vc/ediff.el - +(push (purecopy (quote (ediff 2 81 4))) package--builtin-versions) (autoload 'ediff-files "ediff" "\ Run Ediff on a pair of files, FILE-A and FILE-B. @@ -7916,8 +7820,8 @@ With optional NODE, goes to that node. ;;;*** -;;;### (autoloads (ediff-customize) "ediff-help" "vc/ediff-help.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ediff-help" "vc/ediff-help.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from vc/ediff-help.el (autoload 'ediff-customize "ediff-help" "\ @@ -7927,8 +7831,8 @@ With optional NODE, goes to that node. ;;;*** -;;;### (autoloads (ediff-show-registry) "ediff-mult" "vc/ediff-mult.el" -;;;;;; (20893 60586 188550 0)) +;;;### (autoloads nil "ediff-mult" "vc/ediff-mult.el" (20893 60586 +;;;;;; 188550 0)) ;;; Generated autoloads from vc/ediff-mult.el (autoload 'ediff-show-registry "ediff-mult" "\ @@ -7940,8 +7844,8 @@ Display Ediff's registry. ;;;*** -;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe) -;;;;;; "ediff-util" "vc/ediff-util.el" (20893 60586 188550 0)) +;;;### (autoloads nil "ediff-util" "vc/ediff-util.el" (20893 60586 +;;;;;; 188550 0)) ;;; Generated autoloads from vc/ediff-util.el (autoload 'ediff-toggle-multiframe "ediff-util" "\ @@ -7960,11 +7864,10 @@ To change the default, set the variable `ediff-use-toolbar-p', which see. ;;;*** -;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro -;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "edmacro" "edmacro.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from edmacro.el - +(push (purecopy (quote (edmacro 2 1))) package--builtin-versions) (autoload 'edit-kbd-macro "edmacro" "\ Edit a keyboard macro. At the prompt, type any key sequence which is bound to a keyboard macro. @@ -8010,8 +7913,8 @@ or nil, use a compact 80-column format. ;;;*** -;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt" -;;;;;; "emulation/edt.el" (20709 26818 907104 0)) +;;;### (autoloads nil "edt" "emulation/edt.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from emulation/edt.el (autoload 'edt-set-scroll-margins "edt" "\ @@ -8028,8 +7931,7 @@ Turn on EDT Emulation. ;;;*** -;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el" -;;;;;; (20762 9398 526093 0)) +;;;### (autoloads nil "ehelp" "ehelp.el" (20762 9398 526093 0)) ;;; Generated autoloads from ehelp.el (autoload 'with-electric-help "ehelp" "\ @@ -8065,8 +7967,30 @@ BUFFER is put back into its original major mode. ;;;*** -;;;### (autoloads (customize-object) "eieio-custom" "emacs-lisp/eieio-custom.el" -;;;;;; (20771 24374 643644 0)) +;;;### (autoloads nil "eieio" "emacs-lisp/eieio.el" (20930 5097 423575 +;;;;;; 701000)) +;;; Generated autoloads from emacs-lisp/eieio.el +(push (purecopy (quote (eieio 1 4))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "eieio-core" "emacs-lisp/eieio-core.el" (20908 +;;;;;; 27948 216644 0)) +;;; Generated autoloads from emacs-lisp/eieio-core.el +(push (purecopy (quote (eieio-core 1 4))) package--builtin-versions) +(autoload 'eieio-defclass-autoload "eieio-core" "\ +Create autoload symbols for the EIEIO class CNAME. +SUPERCLASSES are the superclasses that CNAME inherits from. +DOC is the docstring for CNAME. +This function creates a mock-class for CNAME and adds it into +SUPERCLASSES as children. +It creates an autoload function for CNAME's constructor. + +\(fn CNAME SUPERCLASSES FILENAME DOC)" nil nil) + +;;;*** + +;;;### (autoloads nil "eieio-custom" "emacs-lisp/eieio-custom.el" +;;;;;; (20929 34089 117790 0)) ;;; Generated autoloads from emacs-lisp/eieio-custom.el (autoload 'customize-object "eieio-custom" "\ @@ -8077,9 +8001,8 @@ Optional argument GROUP is the sub-group of slots to display. ;;;*** -;;;### (autoloads (eieio-describe-generic eieio-describe-constructor -;;;;;; eieio-describe-class eieio-browse) "eieio-opt" "emacs-lisp/eieio-opt.el" -;;;;;; (20892 39729 858825 0)) +;;;### (autoloads nil "eieio-opt" "emacs-lisp/eieio-opt.el" (20892 +;;;;;; 39729 858825 0)) ;;; Generated autoloads from emacs-lisp/eieio-opt.el (autoload 'eieio-browse "eieio-opt" "\ @@ -8112,9 +8035,8 @@ Also extracts information about all methods specific to this generic. ;;;*** -;;;### (autoloads (turn-on-eldoc-mode eldoc-post-insert-mode eldoc-mode -;;;;;; eldoc-minor-mode-string) "eldoc" "emacs-lisp/eldoc.el" (20806 -;;;;;; 59818 347907 0)) +;;;### (autoloads nil "eldoc" "emacs-lisp/eldoc.el" (20806 59818 +;;;;;; 347907 0)) ;;; Generated autoloads from emacs-lisp/eldoc.el (defvar eldoc-minor-mode-string (purecopy " ElDoc") "\ @@ -8169,8 +8091,8 @@ Emacs Lisp mode) that support ElDoc.") ;;;*** -;;;### (autoloads (electric-layout-mode electric-pair-mode electric-indent-mode) -;;;;;; "electric" "electric.el" (20829 21286 719109 0)) +;;;### (autoloads nil "electric" "electric.el" (20929 34089 117790 +;;;;;; 0)) ;;; Generated autoloads from electric.el (defvar electric-indent-chars '(10) "\ @@ -8240,8 +8162,8 @@ The variable `electric-layout-rules' says when and how to insert newlines. ;;;*** -;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "elide-head" "elide-head.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from elide-head.el (autoload 'elide-head "elide-head" "\ @@ -8256,9 +8178,8 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks. ;;;*** -;;;### (autoloads (elint-initialize elint-defun elint-current-buffer -;;;;;; elint-directory elint-file) "elint" "emacs-lisp/elint.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "elint" "emacs-lisp/elint.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from emacs-lisp/elint.el (autoload 'elint-file "elint" "\ @@ -8293,9 +8214,8 @@ optional prefix argument REINIT is non-nil. ;;;*** -;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list -;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "elp" "emacs-lisp/elp.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from emacs-lisp/elp.el (autoload 'elp-instrument-function "elp" "\ @@ -8329,8 +8249,8 @@ displayed. ;;;*** -;;;### (autoloads (emacs-lock-mode) "emacs-lock" "emacs-lock.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "emacs-lock" "emacs-lock.el" (20933 31141 450159 +;;;;;; 0)) ;;; Generated autoloads from emacs-lock.el (autoload 'emacs-lock-mode "emacs-lock" "\ @@ -8357,8 +8277,8 @@ Other values are interpreted as usual. ;;;*** -;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el" -;;;;;; (20759 33211 414988 0)) +;;;### (autoloads nil "emacsbug" "mail/emacsbug.el" (20759 33211 +;;;;;; 414988 0)) ;;; Generated autoloads from mail/emacsbug.el (autoload 'report-emacs-bug "emacsbug" "\ @@ -8369,11 +8289,8 @@ Prompts for bug subject. Leaves you in a mail buffer. ;;;*** -;;;### (autoloads (emerge-merge-directories emerge-revisions-with-ancestor -;;;;;; emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote -;;;;;; emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor -;;;;;; emerge-buffers emerge-files-with-ancestor emerge-files) "emerge" -;;;;;; "vc/emerge.el" (20576 42138 697312 0)) +;;;### (autoloads nil "emerge" "vc/emerge.el" (20576 42138 697312 +;;;;;; 0)) ;;; Generated autoloads from vc/emerge.el (autoload 'emerge-files "emerge" "\ @@ -8433,8 +8350,8 @@ Emerge two RCS revisions of a file, with another revision as ancestor. ;;;*** -;;;### (autoloads (enriched-decode enriched-encode enriched-mode) -;;;;;; "enriched" "textmodes/enriched.el" (20709 26818 907104 0)) +;;;### (autoloads nil "enriched" "textmodes/enriched.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from textmodes/enriched.el (autoload 'enriched-mode "enriched" "\ @@ -8469,13 +8386,7 @@ Commands: ;;;*** -;;;### (autoloads (epa-insert-keys epa-export-keys epa-import-armor-in-region -;;;;;; epa-import-keys-region epa-import-keys epa-delete-keys epa-encrypt-region -;;;;;; epa-sign-region epa-verify-cleartext-in-region epa-verify-region -;;;;;; epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file -;;;;;; epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys -;;;;;; epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20879 -;;;;;; 27694 495748 0)) +;;;### (autoloads nil "epa" "epa.el" (20917 42917 611340 0)) ;;; Generated autoloads from epa.el (autoload 'epa-list-keys "epa" "\ @@ -8500,8 +8411,9 @@ If SECRET is non-nil, list secret keys instead of public keys. (autoload 'epa-decrypt-file "epa" "\ Decrypt DECRYPT-FILE into PLAIN-FILE. +If you do not specify PLAIN-FILE, this functions prompts for the value to use. -\(fn DECRYPT-FILE PLAIN-FILE)" t nil) +\(fn DECRYPT-FILE &optional PLAIN-FILE)" t nil) (autoload 'epa-verify-file "epa" "\ Verify FILE. @@ -8652,9 +8564,8 @@ Insert selected KEYS after the point. ;;;*** -;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify -;;;;;; epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "epa-dired" "epa-dired.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from epa-dired.el (autoload 'epa-dired-do-decrypt "epa-dired" "\ @@ -8679,8 +8590,8 @@ Encrypt marked files. ;;;*** -;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler) -;;;;;; "epa-file" "epa-file.el" (20709 26818 907104 0)) +;;;### (autoloads nil "epa-file" "epa-file.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from epa-file.el (autoload 'epa-file-handler "epa-file" "\ @@ -8700,9 +8611,8 @@ Encrypt marked files. ;;;*** -;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt -;;;;;; epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode) -;;;;;; "epa-mail" "epa-mail.el" (20709 26818 907104 0)) +;;;### (autoloads nil "epa-mail" "epa-mail.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from epa-mail.el (autoload 'epa-mail-mode "epa-mail" "\ @@ -8772,10 +8682,9 @@ if ARG is omitted or nil. ;;;*** -;;;### (autoloads (epg-make-context) "epg" "epg.el" (20853 3623 384273 -;;;;;; 0)) +;;;### (autoloads nil "epg" "epg.el" (20936 7342 261759 0)) ;;; Generated autoloads from epg.el - +(push (purecopy (quote (epg 1 0 0))) package--builtin-versions) (autoload 'epg-make-context "epg" "\ Return a context object. @@ -8783,8 +8692,8 @@ Return a context object. ;;;*** -;;;### (autoloads (epg-expand-group epg-check-configuration epg-configuration) -;;;;;; "epg-config" "epg-config.el" (20709 26818 907104 0)) +;;;### (autoloads nil "epg-config" "epg-config.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from epg-config.el (autoload 'epg-configuration "epg-config" "\ @@ -8804,10 +8713,9 @@ Look at CONFIG and try to expand GROUP. ;;;*** -;;;### (autoloads (erc-handle-irc-url erc-tls erc erc-select-read-args) -;;;;;; "erc" "erc/erc.el" (20891 18859 893295 0)) +;;;### (autoloads nil "erc" "erc/erc.el" (20891 18859 893295 0)) ;;; Generated autoloads from erc/erc.el - +(push (purecopy (quote (erc 5 3))) package--builtin-versions) (autoload 'erc-select-read-args "erc" "\ Prompt the user for values of nick, server, port, and password. @@ -8881,8 +8789,8 @@ Otherwise, connect to HOST:PORT as USER and /join CHANNEL. ;;;*** -;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC) -;;;;;; "erc-dcc" "erc/erc-dcc.el" (20759 33211 414988 0)) +;;;### (autoloads nil "erc-dcc" "erc/erc-dcc.el" (20759 33211 414988 +;;;;;; 0)) ;;; Generated autoloads from erc/erc-dcc.el (autoload 'erc-dcc-mode "erc-dcc") @@ -8918,11 +8826,8 @@ that subcommand. ;;;*** -;;;### (autoloads (erc-ezb-initialize erc-ezb-select-session erc-ezb-select -;;;;;; erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list -;;;;;; erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action -;;;;;; erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "erc-ezbounce" "erc/erc-ezbounce.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from erc/erc-ezbounce.el (autoload 'erc-cmd-ezb "erc-ezbounce" "\ @@ -8984,8 +8889,8 @@ Add EZBouncer convenience functions to ERC. ;;;*** -;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "erc-fill" "erc/erc-fill.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from erc/erc-fill.el (autoload 'erc-fill-mode "erc-fill" nil t) @@ -8997,8 +8902,8 @@ You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'. ;;;*** -;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd" -;;;;;; "erc/erc-identd.el" (20709 26818 907104 0)) +;;;### (autoloads nil "erc-identd" "erc/erc-identd.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from erc/erc-identd.el (autoload 'erc-identd-mode "erc-identd") @@ -9019,8 +8924,8 @@ system. ;;;*** -;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "erc-imenu" "erc/erc-imenu.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from erc/erc-imenu.el (autoload 'erc-create-imenu-index "erc-imenu" "\ @@ -9037,15 +8942,21 @@ system. ;;;*** +;;;### (autoloads nil "erc-lang" "erc/erc-lang.el" (20709 26818 907104 +;;;;;; 0)) +;;; Generated autoloads from erc/erc-lang.el +(push (purecopy (quote (erc-lang 1 0 0))) package--builtin-versions) +;;;*** + ;;;### (autoloads nil "erc-list" "erc/erc-list.el" (20884 7264 412929 ;;;;;; 442000)) ;;; Generated autoloads from erc/erc-list.el - (autoload 'erc-list-mode "erc-list") +(push (purecopy (quote (erc-list 0 1))) package--builtin-versions) (autoload 'erc-list-mode "erc-list") ;;;*** -;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log" -;;;;;; "erc/erc-log.el" (20891 18859 893295 0)) +;;;### (autoloads nil "erc-log" "erc/erc-log.el" (20891 18859 893295 +;;;;;; 0)) ;;; Generated autoloads from erc/erc-log.el (autoload 'erc-log-mode "erc-log" nil t) @@ -9074,10 +8985,8 @@ You can save every individual message by putting this function on ;;;*** -;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host -;;;;;; erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool -;;;;;; erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el" -;;;;;; (20763 30266 231060 0)) +;;;### (autoloads nil "erc-match" "erc/erc-match.el" (20763 30266 +;;;;;; 231060 0)) ;;; Generated autoloads from erc/erc-match.el (autoload 'erc-match-mode "erc-match") @@ -9130,8 +9039,8 @@ Delete dangerous-host interactively to `erc-dangerous-hosts'. ;;;*** -;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "erc-netsplit" "erc/erc-netsplit.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from erc/erc-netsplit.el (autoload 'erc-netsplit-mode "erc-netsplit") @@ -9142,8 +9051,8 @@ Show who's gone. ;;;*** -;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks" -;;;;;; "erc/erc-networks.el" (20709 26818 907104 0)) +;;;### (autoloads nil "erc-networks" "erc/erc-networks.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from erc/erc-networks.el (autoload 'erc-determine-network "erc-networks" "\ @@ -9160,8 +9069,8 @@ Interactively select a server to connect to using `erc-server-alist'. ;;;*** -;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify" -;;;;;; "erc/erc-notify.el" (20891 18859 893295 0)) +;;;### (autoloads nil "erc-notify" "erc/erc-notify.el" (20891 18859 +;;;;;; 893295 0)) ;;; Generated autoloads from erc/erc-notify.el (autoload 'erc-notify-mode "erc-notify" nil t) @@ -9207,9 +9116,8 @@ with args, toggle notify status of people. ;;;*** -;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode) -;;;;;; "erc-services" "erc/erc-services.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "erc-services" "erc/erc-services.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from erc/erc-services.el (autoload 'erc-services-mode "erc-services" nil t) @@ -9233,8 +9141,8 @@ When called interactively, read the password using `read-passwd'. ;;;*** -;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "erc-speedbar" "erc/erc-speedbar.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from erc/erc-speedbar.el (autoload 'erc-speedbar-browser "erc-speedbar" "\ @@ -9259,8 +9167,8 @@ This will add a speedbar major display mode. ;;;*** -;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "erc-track" "erc/erc-track.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from erc/erc-track.el (defvar erc-track-minor-mode nil "\ @@ -9285,9 +9193,8 @@ keybindings will not do anything useful. ;;;*** -;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size) -;;;;;; "erc-truncate" "erc/erc-truncate.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "erc-truncate" "erc/erc-truncate.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from erc/erc-truncate.el (autoload 'erc-truncate-mode "erc-truncate" nil t) @@ -9306,8 +9213,8 @@ Meant to be used in hooks, like `erc-insert-post-hook'. ;;;*** -;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "erc-xdcc" "erc/erc-xdcc.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from erc/erc-xdcc.el (autoload 'erc-xdcc-mode "erc-xdcc") @@ -9318,9 +9225,8 @@ Add a file to `erc-xdcc-files'. ;;;*** -;;;### (autoloads (ert-describe-test ert-run-tests-interactively -;;;;;; ert-run-tests-batch-and-exit ert-run-tests-batch ert-deftest) -;;;;;; "ert" "emacs-lisp/ert.el" (20834 39208 838628 0)) +;;;### (autoloads nil "ert" "emacs-lisp/ert.el" (20834 39208 838628 +;;;;;; 0)) ;;; Generated autoloads from emacs-lisp/ert.el (autoload 'ert-deftest "ert" "\ @@ -9385,8 +9291,8 @@ Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test). ;;;*** -;;;### (autoloads (ert-kill-all-test-buffers) "ert-x" "emacs-lisp/ert-x.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ert-x" "emacs-lisp/ert-x.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from emacs-lisp/ert-x.el (put 'ert-with-test-buffer 'lisp-indent-function 1) @@ -9398,8 +9304,8 @@ Kill all test buffers that are still live. ;;;*** -;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (20893 -;;;;;; 60586 188550 0)) +;;;### (autoloads nil "esh-mode" "eshell/esh-mode.el" (20911 4138 +;;;;;; 279475 0)) ;;; Generated autoloads from eshell/esh-mode.el (autoload 'eshell-mode "esh-mode" "\ @@ -9411,10 +9317,10 @@ Emacs shell interactive mode. ;;;*** -;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell" -;;;;;; "eshell/eshell.el" (20893 60586 188550 0)) +;;;### (autoloads nil "eshell" "eshell/eshell.el" (20893 60586 188550 +;;;;;; 0)) ;;; Generated autoloads from eshell/eshell.el - +(push (purecopy (quote (eshell 2 4 2))) package--builtin-versions) (autoload 'eshell "eshell" "\ Create an interactive Eshell buffer. The buffer used for Eshell sessions is determined by the value of @@ -9446,14 +9352,8 @@ corresponding to a successful execution. ;;;*** -;;;### (autoloads (complete-tag select-tags-table tags-apropos list-tags -;;;;;; tags-query-replace tags-search tags-loop-continue next-file -;;;;;; pop-tag-mark find-tag-regexp find-tag-other-frame find-tag-other-window -;;;;;; find-tag find-tag-noselect tags-table-files visit-tags-table-buffer -;;;;;; visit-tags-table tags-table-mode find-tag-default-function -;;;;;; find-tag-hook tags-add-tables tags-compression-info-list -;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el" -;;;;;; (20731 53823 676680 0)) +;;;### (autoloads nil "etags" "progmodes/etags.el" (20731 53823 676680 +;;;;;; 0)) ;;; Generated autoloads from progmodes/etags.el (defvar tags-file-name nil "\ @@ -9761,14 +9661,8 @@ for \\[find-tag] (which see). ;;;*** -;;;### (autoloads (ethio-composition-function ethio-insert-ethio-space -;;;;;; ethio-write-file ethio-find-file ethio-java-to-fidel-buffer -;;;;;; ethio-fidel-to-java-buffer ethio-tex-to-fidel-buffer ethio-fidel-to-tex-buffer -;;;;;; ethio-input-special-character ethio-replace-space ethio-modify-vowel -;;;;;; ethio-fidel-to-sera-marker ethio-fidel-to-sera-region ethio-fidel-to-sera-buffer -;;;;;; ethio-sera-to-fidel-marker ethio-sera-to-fidel-region ethio-sera-to-fidel-buffer -;;;;;; setup-ethiopic-environment-internal) "ethio-util" "language/ethio-util.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ethio-util" "language/ethio-util.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from language/ethio-util.el (autoload 'setup-ethiopic-environment-internal "ethio-util" "\ @@ -9936,9 +9830,7 @@ With ARG, insert that many delimiters. ;;;*** -;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline -;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el" -;;;;;; (20791 9657 561026 0)) +;;;### (autoloads nil "eudc" "net/eudc.el" (20791 9657 561026 0)) ;;; Generated autoloads from net/eudc.el (autoload 'eudc-set-server "eudc" "\ @@ -9992,9 +9884,8 @@ This does nothing except loading eudc by autoload side-effect. ;;;*** -;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline -;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary) -;;;;;; "eudc-bob" "net/eudc-bob.el" (20791 9657 561026 0)) +;;;### (autoloads nil "eudc-bob" "net/eudc-bob.el" (20791 9657 561026 +;;;;;; 0)) ;;; Generated autoloads from net/eudc-bob.el (autoload 'eudc-display-generic-binary "eudc-bob" "\ @@ -10029,8 +9920,8 @@ Display a button for the JPEG DATA. ;;;*** -;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb) -;;;;;; "eudc-export" "net/eudc-export.el" (20871 33574 214287 0)) +;;;### (autoloads nil "eudc-export" "net/eudc-export.el" (20871 33574 +;;;;;; 214287 0)) ;;; Generated autoloads from net/eudc-export.el (autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\ @@ -10046,8 +9937,8 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record. ;;;*** -;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el" -;;;;;; (20791 9657 561026 0)) +;;;### (autoloads nil "eudc-hotlist" "net/eudc-hotlist.el" (20791 +;;;;;; 9657 561026 0)) ;;; Generated autoloads from net/eudc-hotlist.el (autoload 'eudc-edit-hotlist "eudc-hotlist" "\ @@ -10057,8 +9948,8 @@ Edit the hotlist of directory servers in a specialized buffer. ;;;*** -;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "ewoc" "emacs-lisp/ewoc.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from emacs-lisp/ewoc.el (autoload 'ewoc-create "ewoc" "\ @@ -10084,10 +9975,30 @@ fourth arg NOSEP non-nil inhibits this. ;;;*** -;;;### (autoloads (executable-make-buffer-file-executable-if-script-p -;;;;;; executable-self-display executable-set-magic executable-interpret -;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "eww" "net/eww.el" (20941 25255 50698 0)) +;;; Generated autoloads from net/eww.el + +(autoload 'eww "eww" "\ +Fetch URL and render the page. +If the input doesn't look like an URL or a domain name, the +word(s) will be searched for via `eww-search-prefix'. + +\(fn URL)" t nil) + +(autoload 'eww-open-file "eww" "\ +Render a file using EWW. + +\(fn FILE)" t nil) + +(autoload 'eww-browse-url "eww" "\ + + +\(fn URL &optional NEW-WINDOW)" nil nil) + +;;;*** + +;;;### (autoloads nil "executable" "progmodes/executable.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from progmodes/executable.el (autoload 'executable-command-find-posix-p "executable" "\ @@ -10128,9 +10039,7 @@ file modes. ;;;*** -;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot -;;;;;; expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "expand" "expand.el" (20709 26818 907104 0)) ;;; Generated autoloads from expand.el (autoload 'expand-add-abbrevs "expand" "\ @@ -10179,8 +10088,8 @@ This is used only in conjunction with `expand-add-abbrevs'. ;;;*** -;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20886 939 -;;;;;; 575794 0)) +;;;### (autoloads nil "f90" "progmodes/f90.el" (20886 939 575794 +;;;;;; 0)) ;;; Generated autoloads from progmodes/f90.el (autoload 'f90-mode "f90" "\ @@ -10247,11 +10156,8 @@ with no args, if that value is non-nil. ;;;*** -;;;### (autoloads (variable-pitch-mode buffer-face-toggle buffer-face-set -;;;;;; buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase -;;;;;; text-scale-set face-remap-set-base face-remap-reset-base -;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (20841 -;;;;;; 12463 538770 0)) +;;;### (autoloads nil "face-remap" "face-remap.el" (20928 40842 890989 +;;;;;; 0)) ;;; Generated autoloads from face-remap.el (autoload 'face-remap-add-relative "face-remap" "\ @@ -10394,9 +10300,9 @@ one face is listed, that specifies an aggregate face, like in a `face' text property. If `buffer-face-mode' is already enabled, and is currently using -the face specs SPECS, then it is disabled; if buffer-face-mode is -disabled, or is enabled and currently displaying some other face, -then is left enabled, but the face changed to reflect SPECS. +the face specs SPECS, then it is disabled; if `buffer-face-mode' +is disabled, or is enabled and currently displaying some other +face, then is left enabled, but the face changed to reflect SPECS. This function will make the variable `buffer-face-mode-face' buffer local, and set it to SPECS. @@ -10412,12 +10318,10 @@ Besides the choice of face, it is the same as `buffer-face-mode'. ;;;*** -;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue -;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts -;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (20891 18859 +;;;### (autoloads nil "feedmail" "mail/feedmail.el" (20891 18859 ;;;;;; 893295 0)) ;;; Generated autoloads from mail/feedmail.el - +(push (purecopy (quote (feedmail 11))) package--builtin-versions) (autoload 'feedmail-send-it "feedmail" "\ Send the current mail buffer using the Feedmail package. This is a suitable value for `send-mail-function'. It can be used @@ -10468,9 +10372,7 @@ you can set `feedmail-queue-reminder-alist' to nil. ;;;*** -;;;### (autoloads (ffap-bindings ffap-guess-file-name-at-point dired-at-point -;;;;;; ffap-at-mouse ffap-menu find-file-at-point ffap-next) "ffap" -;;;;;; "ffap.el" (20752 26669 524456 0)) +;;;### (autoloads nil "ffap" "ffap.el" (20752 26669 524456 0)) ;;; Generated autoloads from ffap.el (autoload 'ffap-next "ffap" "\ @@ -10533,10 +10435,8 @@ Evaluate the forms in variable `ffap-bindings'. ;;;*** -;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively -;;;;;; file-cache-add-directory-using-locate file-cache-add-directory-using-find -;;;;;; file-cache-add-file file-cache-add-directory-list file-cache-add-directory) -;;;;;; "filecache" "filecache.el" (20709 26818 907104 0)) +;;;### (autoloads nil "filecache" "filecache.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from filecache.el (autoload 'file-cache-add-directory "filecache" "\ @@ -10593,12 +10493,8 @@ the name is considered already unique; only the second substitution ;;;*** -;;;### (autoloads (copy-dir-locals-to-file-locals-prop-line copy-dir-locals-to-file-locals -;;;;;; copy-file-locals-to-dir-locals delete-dir-local-variable -;;;;;; add-dir-local-variable delete-file-local-variable-prop-line -;;;;;; add-file-local-variable-prop-line delete-file-local-variable -;;;;;; add-file-local-variable) "files-x" "files-x.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "files-x" "files-x.el" (20938 49065 383398 +;;;;;; 0)) ;;; Generated autoloads from files-x.el (autoload 'add-file-local-variable "files-x" "\ @@ -10612,12 +10508,12 @@ If there is no Local Variables list in the current file buffer then this function adds the first line containing the string `Local Variables:' and the last line containing the string `End:'. -\(fn VARIABLE VALUE)" t nil) +\(fn VARIABLE VALUE &optional INTERACTIVE)" t nil) (autoload 'delete-file-local-variable "files-x" "\ Delete all settings of file-local VARIABLE from the Local Variables list. -\(fn VARIABLE)" t nil) +\(fn VARIABLE &optional INTERACTIVE)" t nil) (autoload 'add-file-local-variable-prop-line "files-x" "\ Add file-local VARIABLE with its VALUE to the -*- line. @@ -10629,12 +10525,12 @@ the -*- line. If there is no -*- line at the beginning of the current file buffer then this function adds it. -\(fn VARIABLE VALUE)" t nil) +\(fn VARIABLE VALUE &optional INTERACTIVE)" t nil) (autoload 'delete-file-local-variable-prop-line "files-x" "\ Delete all settings of file-local VARIABLE from the -*- line. -\(fn VARIABLE)" t nil) +\(fn VARIABLE &optional INTERACTIVE)" t nil) (autoload 'add-dir-local-variable "files-x" "\ Add directory-local VARIABLE with its VALUE and MODE to .dir-locals.el. @@ -10663,8 +10559,8 @@ Copy directory-local variables to the -*- line. ;;;*** -;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20791 -;;;;;; 9657 561026 0)) +;;;### (autoloads nil "filesets" "filesets.el" (20791 9657 561026 +;;;;;; 0)) ;;; Generated autoloads from filesets.el (autoload 'filesets-init "filesets" "\ @@ -10675,10 +10571,10 @@ Set up hooks, load the cache file -- if existing -- and build the menu. ;;;*** -;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "find-cmd" "find-cmd.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from find-cmd.el - +(push (purecopy (quote (find-cmd 0 6))) package--builtin-versions) (autoload 'find-cmd "find-cmd" "\ Initiate the building of a find command. For example: @@ -10695,8 +10591,8 @@ result is a string that should be ready for the command line. ;;;*** -;;;### (autoloads (find-grep-dired find-name-dired find-dired) "find-dired" -;;;;;; "find-dired.el" (20763 30266 231060 0)) +;;;### (autoloads nil "find-dired" "find-dired.el" (20763 30266 231060 +;;;;;; 0)) ;;; Generated autoloads from find-dired.el (autoload 'find-dired "find-dired" "\ @@ -10734,9 +10630,8 @@ use in place of \"-ls\" as the final argument. ;;;*** -;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file -;;;;;; ff-find-other-file ff-get-other-file ff-special-constructs) -;;;;;; "find-file" "find-file.el" (20872 54440 171355 0)) +;;;### (autoloads nil "find-file" "find-file.el" (20872 54440 171355 +;;;;;; 0)) ;;; Generated autoloads from find-file.el (defvar ff-special-constructs `((,(purecopy "^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") lambda nil (buffer-substring (match-beginning 2) (match-end 2)))) "\ @@ -10826,13 +10721,8 @@ Visit the file you click on in another window. ;;;*** -;;;### (autoloads (find-function-setup-keys find-variable-at-point -;;;;;; find-function-at-point find-function-on-key find-face-definition -;;;;;; find-definition-noselect find-variable-other-frame find-variable-other-window -;;;;;; find-variable find-variable-noselect find-function-other-frame -;;;;;; find-function-other-window find-function find-function-noselect -;;;;;; find-function-search-for-symbol find-library) "find-func" -;;;;;; "emacs-lisp/find-func.el" (20709 26818 907104 0)) +;;;### (autoloads nil "find-func" "emacs-lisp/find-func.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from emacs-lisp/find-func.el (autoload 'find-library "find-func" "\ @@ -10990,9 +10880,8 @@ Define some key bindings for the find-function family of functions. ;;;*** -;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories -;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "find-lisp" "find-lisp.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from find-lisp.el (autoload 'find-lisp-find-dired "find-lisp" "\ @@ -11012,10 +10901,9 @@ Change the filter on a find-lisp-find-dired buffer to REGEXP. ;;;*** -;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords) -;;;;;; "finder" "finder.el" (20709 26818 907104 0)) +;;;### (autoloads nil "finder" "finder.el" (20925 37032 237257 0)) ;;; Generated autoloads from finder.el - +(push (purecopy (quote (finder 1 0))) package--builtin-versions) (autoload 'finder-list-keywords "finder" "\ Display descriptions of the keywords in the Finder buffer. @@ -11034,8 +10922,8 @@ Find packages matching a given keyword. ;;;*** -;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl" -;;;;;; "flow-ctrl.el" (20709 26818 907104 0)) +;;;### (autoloads nil "flow-ctrl" "flow-ctrl.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from flow-ctrl.el (autoload 'enable-flow-control "flow-ctrl" "\ @@ -11056,8 +10944,8 @@ to get the effect of a C-q. ;;;*** -;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "flow-fill" "gnus/flow-fill.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/flow-fill.el (autoload 'fill-flowed-encode "flow-fill" "\ @@ -11072,11 +10960,10 @@ to get the effect of a C-q. ;;;*** -;;;### (autoloads (flymake-find-file-hook flymake-mode-off flymake-mode-on -;;;;;; flymake-mode) "flymake" "progmodes/flymake.el" (20896 36774 -;;;;;; 886399 0)) +;;;### (autoloads nil "flymake" "progmodes/flymake.el" (20932 61699 +;;;;;; 522706 0)) ;;; Generated autoloads from progmodes/flymake.el - +(push (purecopy (quote (flymake 0 3))) package--builtin-versions) (autoload 'flymake-mode "flymake" "\ Toggle on-the-fly syntax checking. With a prefix argument ARG, enable the mode if ARG is positive, @@ -11102,9 +10989,8 @@ Turn flymake mode off. ;;;*** -;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off -;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode) -;;;;;; "flyspell" "textmodes/flyspell.el" (20847 51240 240216 0)) +;;;### (autoloads nil "flyspell" "textmodes/flyspell.el" (20847 51240 +;;;;;; 240216 0)) ;;; Generated autoloads from textmodes/flyspell.el (autoload 'flyspell-prog-mode "flyspell" "\ @@ -11174,9 +11060,13 @@ Flyspell whole buffer. ;;;*** -;;;### (autoloads (follow-delete-other-windows-and-split follow-mode -;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "foldout" "foldout.el" (20709 26818 907104 +;;;;;; 0)) +;;; Generated autoloads from foldout.el +(push (purecopy (quote (foldout 1 10))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "follow" "follow.el" (20709 26818 907104 0)) ;;; Generated autoloads from follow.el (autoload 'turn-on-follow-mode "follow" "\ @@ -11244,10 +11134,10 @@ selected if the original window is the first one in the frame. ;;;*** -;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "footnote" "mail/footnote.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/footnote.el - +(push (purecopy (quote (footnote 0 19))) package--builtin-versions) (autoload 'footnote-mode "footnote" "\ Toggle Footnote mode. With a prefix argument ARG, enable Footnote mode if ARG is @@ -11263,8 +11153,7 @@ play around with the following keys: ;;;*** -;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode) -;;;;;; "forms" "forms.el" (20709 26818 907104 0)) +;;;### (autoloads nil "forms" "forms.el" (20709 26818 907104 0)) ;;; Generated autoloads from forms.el (autoload 'forms-mode "forms" "\ @@ -11300,8 +11189,8 @@ Visit a file in Forms mode in other window. ;;;*** -;;;### (autoloads (fortran-mode) "fortran" "progmodes/fortran.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "fortran" "progmodes/fortran.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/fortran.el (autoload 'fortran-mode "fortran" "\ @@ -11378,9 +11267,8 @@ with no args, if that value is non-nil. ;;;*** -;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region -;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (20765 36517 -;;;;;; 595445 191000)) +;;;### (autoloads nil "fortune" "play/fortune.el" (20765 36517 595445 +;;;;;; 191000)) ;;; Generated autoloads from play/fortune.el (autoload 'fortune-add-fortune "fortune" "\ @@ -11428,8 +11316,14 @@ and choose the directory as the fortune-file. ;;;*** -;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el" -;;;;;; (20903 57728 956434 133000)) +;;;### (autoloads nil "gamegrid" "play/gamegrid.el" (20752 26925 +;;;;;; 124734 677000)) +;;; Generated autoloads from play/gamegrid.el +(push (purecopy (quote (gamegrid 1 2))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "gdb-mi" "progmodes/gdb-mi.el" (20932 61687 +;;;;;; 205708 148000)) ;;; Generated autoloads from progmodes/gdb-mi.el (defvar gdb-enable-debug nil "\ @@ -11506,9 +11400,8 @@ detailed description of this mode. ;;;*** -;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal -;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "generic" "emacs-lisp/generic.el" (20928 13222 +;;;;;; 500272 0)) ;;; Generated autoloads from emacs-lisp/generic.el (defvar generic-mode-list nil "\ @@ -11584,10 +11477,12 @@ regular expression that can be used as an element of \(fn KEYWORD-LIST FACE &optional PREFIX SUFFIX)" nil nil) +(make-obsolete 'generic-make-keywords-list 'regexp-opt '"24.4") + ;;;*** -;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "glasses" "progmodes/glasses.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/glasses.el (autoload 'glasses-mode "glasses" "\ @@ -11601,9 +11496,8 @@ add virtual separators (like underscores) at places they belong to. ;;;*** -;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error -;;;;;; gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "gmm-utils" "gnus/gmm-utils.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gmm-utils.el (autoload 'gmm-regexp-concat "gmm-utils" "\ @@ -11657,11 +11551,9 @@ DEFAULT-MAP specifies the default key map for ICON-LIST. ;;;*** -;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server -;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20901 54695 -;;;;;; 989166 0)) +;;;### (autoloads nil "gnus" "gnus/gnus.el" (20901 54695 989166 0)) ;;; Generated autoloads from gnus/gnus.el -(when (fboundp 'custom-autoload) +(push (purecopy (quote (gnus 5 13))) package--builtin-versions)(when (fboundp 'custom-autoload) (custom-autoload 'gnus-select-method "gnus")) (autoload 'gnus-slave-no-server "gnus" "\ @@ -11708,12 +11600,8 @@ prompt the user for the name of an NNTP server to use. ;;;*** -;;;### (autoloads (gnus-agent-regenerate gnus-agent-batch gnus-agent-batch-fetch -;;;;;; gnus-agent-find-parameter gnus-agent-possibly-alter-active -;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group -;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize -;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent" -;;;;;; "gnus/gnus-agent.el" (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-agent" "gnus/gnus-agent.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-agent.el (autoload 'gnus-unplugged "gnus-agent" "\ @@ -11803,8 +11691,8 @@ If CLEAN, obsolete (ignore). ;;;*** -;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el" -;;;;;; (20874 65006 176325 548000)) +;;;### (autoloads nil "gnus-art" "gnus/gnus-art.el" (20941 25255 +;;;;;; 50698 0)) ;;; Generated autoloads from gnus/gnus-art.el (autoload 'gnus-article-prepare-display "gnus-art" "\ @@ -11814,9 +11702,8 @@ Make the current buffer look like a nice article. ;;;*** -;;;### (autoloads (gnus-bookmark-bmenu-list gnus-bookmark-jump gnus-bookmark-set) -;;;;;; "gnus-bookmark" "gnus/gnus-bookmark.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "gnus-bookmark" "gnus/gnus-bookmark.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from gnus/gnus-bookmark.el (autoload 'gnus-bookmark-set "gnus-bookmark" "\ @@ -11839,10 +11726,8 @@ deletion, or > if it is flagged for displaying. ;;;*** -;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group -;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active -;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "gnus-cache" "gnus/gnus-cache.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-cache.el (autoload 'gnus-jog-cache "gnus-cache" "\ @@ -11883,8 +11768,8 @@ supported. ;;;*** -;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article) -;;;;;; "gnus-delay" "gnus/gnus-delay.el" (20791 9657 561026 0)) +;;;### (autoloads nil "gnus-delay" "gnus/gnus-delay.el" (20791 9657 +;;;;;; 561026 0)) ;;; Generated autoloads from gnus/gnus-delay.el (autoload 'gnus-delay-article "gnus-delay" "\ @@ -11919,8 +11804,8 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil. ;;;*** -;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d) -;;;;;; "gnus-diary" "gnus/gnus-diary.el" (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-diary" "gnus/gnus-diary.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-diary.el (autoload 'gnus-user-format-function-d "gnus-diary" "\ @@ -11935,8 +11820,8 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil. ;;;*** -;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-dired" "gnus/gnus-dired.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-dired.el (autoload 'turn-on-gnus-dired-mode "gnus-dired" "\ @@ -11946,8 +11831,8 @@ Convenience method to turn on gnus-dired-mode. ;;;*** -;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-draft" "gnus/gnus-draft.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-draft.el (autoload 'gnus-draft-reminder "gnus-draft" "\ @@ -11957,10 +11842,8 @@ Reminder user if there are unsent drafts. ;;;*** -;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png -;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header -;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "gnus-fun" "gnus/gnus-fun.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-fun.el (autoload 'gnus-random-x-face "gnus-fun" "\ @@ -12004,9 +11887,8 @@ FILE should be a PNG file that's 48x48 and smaller than or equal to ;;;*** -;;;### (autoloads (gnus-treat-mail-gravatar gnus-treat-from-gravatar) -;;;;;; "gnus-gravatar" "gnus/gnus-gravatar.el" (20874 65006 176325 -;;;;;; 548000)) +;;;### (autoloads nil "gnus-gravatar" "gnus/gnus-gravatar.el" (20874 +;;;;;; 65006 176325 548000)) ;;; Generated autoloads from gnus/gnus-gravatar.el (autoload 'gnus-treat-from-gravatar "gnus-gravatar" "\ @@ -12023,8 +11905,8 @@ If gravatars are already displayed, remove them. ;;;*** -;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group) -;;;;;; "gnus-group" "gnus/gnus-group.el" (20901 54695 989166 0)) +;;;### (autoloads nil "gnus-group" "gnus/gnus-group.el" (20929 34089 +;;;;;; 117790 0)) ;;; Generated autoloads from gnus/gnus-group.el (autoload 'gnus-fetch-group "gnus-group" "\ @@ -12041,8 +11923,8 @@ Pop up a frame and enter GROUP. ;;;*** -;;;### (autoloads (gnus-html-prefetch-images gnus-article-html) "gnus-html" -;;;;;; "gnus/gnus-html.el" (20874 65006 672942 217000)) +;;;### (autoloads nil "gnus-html" "gnus/gnus-html.el" (20874 65006 +;;;;;; 672942 217000)) ;;; Generated autoloads from gnus/gnus-html.el (autoload 'gnus-article-html "gnus-html" "\ @@ -12057,8 +11939,8 @@ Pop up a frame and enter GROUP. ;;;*** -;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-kill" "gnus/gnus-kill.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-kill.el (defalias 'gnus-batch-kill 'gnus-batch-score) @@ -12071,9 +11953,8 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score ;;;*** -;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate -;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-ml" "gnus/gnus-ml.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from gnus/gnus-ml.el (autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\ @@ -12096,9 +11977,8 @@ Minor mode for providing mailing-list commands. ;;;*** -;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update -;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-mlspl" "gnus/gnus-mlspl.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-mlspl.el (autoload 'gnus-group-split-setup "gnus-mlspl" "\ @@ -12198,8 +12078,8 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns: ;;;*** -;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail) -;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20858 21542 723007 0)) +;;;### (autoloads nil "gnus-msg" "gnus/gnus-msg.el" (20858 21542 +;;;;;; 723007 0)) ;;; Generated autoloads from gnus/gnus-msg.el (autoload 'gnus-msg-mail "gnus-msg" "\ @@ -12225,7 +12105,7 @@ Like `message-reply'. ;;;*** -;;;### (autoloads (gnus-notifications) "gnus-notifications" "gnus/gnus-notifications.el" +;;;### (autoloads nil "gnus-notifications" "gnus/gnus-notifications.el" ;;;;;; (20886 939 575794 0)) ;;; Generated autoloads from gnus/gnus-notifications.el @@ -12242,9 +12122,8 @@ This is typically a function to add in ;;;*** -;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon -;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el" -;;;;;; (20874 65006 672942 217000)) +;;;### (autoloads nil "gnus-picon" "gnus/gnus-picon.el" (20874 65006 +;;;;;; 672942 217000)) ;;; Generated autoloads from gnus/gnus-picon.el (autoload 'gnus-treat-from-picon "gnus-picon" "\ @@ -12267,11 +12146,8 @@ If picons are already displayed, remove them. ;;;*** -;;;### (autoloads (gnus-add-to-sorted-list gnus-sorted-nunion gnus-sorted-union -;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection -;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement -;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range" -;;;;;; "gnus/gnus-range.el" (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-range" "gnus/gnus-range.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-range.el (autoload 'gnus-sorted-difference "gnus-range" "\ @@ -12338,9 +12214,8 @@ Add NUM into sorted LIST by side effect. ;;;*** -;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize) -;;;;;; "gnus-registry" "gnus/gnus-registry.el" (20779 18487 859617 -;;;;;; 0)) +;;;### (autoloads nil "gnus-registry" "gnus/gnus-registry.el" (20779 +;;;;;; 18487 859617 0)) ;;; Generated autoloads from gnus/gnus-registry.el (autoload 'gnus-registry-initialize "gnus-registry" "\ @@ -12355,9 +12230,8 @@ Install the registry hooks. ;;;*** -;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate -;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "gnus-sieve" "gnus/gnus-sieve.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-sieve.el (autoload 'gnus-sieve-update "gnus-sieve" "\ @@ -12384,8 +12258,8 @@ See the documentation for these variables and functions for details. ;;;*** -;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el" -;;;;;; (20893 60586 188550 0)) +;;;### (autoloads nil "gnus-spec" "gnus/gnus-spec.el" (20893 60586 +;;;;;; 188550 0)) ;;; Generated autoloads from gnus/gnus-spec.el (autoload 'gnus-update-format "gnus-spec" "\ @@ -12395,8 +12269,8 @@ Update the format specification near point. ;;;*** -;;;### (autoloads (gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" -;;;;;; (20763 30266 231060 0)) +;;;### (autoloads nil "gnus-start" "gnus/gnus-start.el" (20763 30266 +;;;;;; 231060 0)) ;;; Generated autoloads from gnus/gnus-start.el (autoload 'gnus-declare-backend "gnus-start" "\ @@ -12406,8 +12280,8 @@ Declare back end NAME with ABILITIES as a Gnus back end. ;;;*** -;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el" -;;;;;; (20901 54695 989166 0)) +;;;### (autoloads nil "gnus-sum" "gnus/gnus-sum.el" (20901 54695 +;;;;;; 989166 0)) ;;; Generated autoloads from gnus/gnus-sum.el (autoload 'gnus-summary-bookmark-jump "gnus-sum" "\ @@ -12418,8 +12292,8 @@ BOOKMARK is a bookmark name or a bookmark record. ;;;*** -;;;### (autoloads (gnus-sync-install-hooks gnus-sync-initialize) -;;;;;; "gnus-sync" "gnus/gnus-sync.el" (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-sync" "gnus/gnus-sync.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-sync.el (autoload 'gnus-sync-initialize "gnus-sync" "\ @@ -12434,8 +12308,8 @@ Install the sync hooks. ;;;*** -;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "gnus-win" "gnus/gnus-win.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/gnus-win.el (autoload 'gnus-add-configuration "gnus-win" "\ @@ -12445,8 +12319,8 @@ Add the window configuration CONF to `gnus-buffer-configuration'. ;;;*** -;;;### (autoloads (gnutls-min-prime-bits) "gnutls" "net/gnutls.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "gnutls" "net/gnutls.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from net/gnutls.el (defvar gnutls-min-prime-bits 256 "\ @@ -12462,8 +12336,8 @@ A value of nil says to use the default GnuTLS value.") ;;;*** -;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "gomoku" "play/gomoku.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from play/gomoku.el (autoload 'gomoku "gomoku" "\ @@ -12489,9 +12363,8 @@ Use \\[describe-mode] for more info. ;;;*** -;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address -;;;;;; goto-address-at-point) "goto-addr" "net/goto-addr.el" (20766 -;;;;;; 6456 368550 0)) +;;;### (autoloads nil "goto-addr" "net/goto-addr.el" (20766 6456 +;;;;;; 368550 0)) ;;; Generated autoloads from net/goto-addr.el (define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1") @@ -12532,8 +12405,8 @@ Like `goto-address-mode', but only for comments and strings. ;;;*** -;;;### (autoloads (gravatar-retrieve-synchronously gravatar-retrieve) -;;;;;; "gravatar" "gnus/gravatar.el" (20901 54695 989166 0)) +;;;### (autoloads nil "gravatar" "gnus/gravatar.el" (20901 54695 +;;;;;; 989166 0)) ;;; Generated autoloads from gnus/gravatar.el (autoload 'gravatar-retrieve "gravatar" "\ @@ -12549,10 +12422,8 @@ Retrieve MAIL-ADDRESS gravatar and returns it. ;;;*** -;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults -;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command -;;;;;; grep-window-height) "grep" "progmodes/grep.el" (20896 36774 -;;;;;; 886399 0)) +;;;### (autoloads nil "grep" "progmodes/grep.el" (20896 36774 886399 +;;;;;; 0)) ;;; Generated autoloads from progmodes/grep.el (defvar grep-window-height nil "\ @@ -12715,8 +12586,7 @@ file name to `*.gz', and sets `grep-highlight-matches' to `always'. ;;;*** -;;;### (autoloads (gs-load-image) "gs" "gs.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "gs" "gs.el" (20709 26818 907104 0)) ;;; Generated autoloads from gs.el (autoload 'gs-load-image "gs" "\ @@ -12729,9 +12599,8 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful. ;;;*** -;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb -;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20895 15912 -;;;;;; 444844 0)) +;;;### (autoloads nil "gud" "progmodes/gud.el" (20895 15912 444844 +;;;;;; 0)) ;;; Generated autoloads from progmodes/gud.el (autoload 'gud-gdb "gud" "\ @@ -12819,9 +12688,8 @@ it if ARG is omitted or nil. ;;;*** -;;;### (autoloads (gv-ref setf gv-define-simple-setter gv-define-setter -;;;;;; gv--defun-declaration gv-define-expander gv-letplace gv-get) -;;;;;; "gv" "emacs-lisp/gv.el" (20709 26818 907104 0)) +;;;### (autoloads nil "gv" "emacs-lisp/gv.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from emacs-lisp/gv.el (autoload 'gv-get "gv" "\ @@ -12920,8 +12788,8 @@ This is like the `&' operator of the C language. ;;;*** -;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (20791 -;;;;;; 9657 561026 0)) +;;;### (autoloads nil "handwrite" "play/handwrite.el" (20791 9657 +;;;;;; 561026 0)) ;;; Generated autoloads from play/handwrite.el (autoload 'handwrite "handwrite" "\ @@ -12938,8 +12806,8 @@ Variables: `handwrite-linespace' (default 12) ;;;*** -;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el" -;;;;;; (20478 3673 653810 0)) +;;;### (autoloads nil "hanoi" "play/hanoi.el" (20478 3673 653810 +;;;;;; 0)) ;;; Generated autoloads from play/hanoi.el (autoload 'hanoi "hanoi" "\ @@ -12966,9 +12834,8 @@ to be updated. ;;;*** -;;;### (autoloads (mail-check-payment mail-add-payment-async mail-add-payment -;;;;;; hashcash-verify-payment hashcash-insert-payment-async hashcash-insert-payment) -;;;;;; "hashcash" "mail/hashcash.el" (20709 26818 907104 0)) +;;;### (autoloads nil "hashcash" "mail/hashcash.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/hashcash.el (autoload 'hashcash-insert-payment "hashcash" "\ @@ -13010,11 +12877,8 @@ Prefix arg sets default accept amount temporarily. ;;;*** -;;;### (autoloads (scan-buf-previous-region scan-buf-next-region -;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer -;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string -;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "help-at-pt" "help-at-pt.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from help-at-pt.el (autoload 'help-at-pt-string "help-at-pt" "\ @@ -13141,10 +13005,8 @@ different regions. With numeric argument ARG, behaves like ;;;*** -;;;### (autoloads (doc-file-to-info doc-file-to-man describe-categories -;;;;;; describe-syntax describe-variable variable-at-point describe-function-1 -;;;;;; find-lisp-object-file-name help-C-file-name describe-function) -;;;;;; "help-fns" "help-fns.el" (20764 51137 83502 0)) +;;;### (autoloads nil "help-fns" "help-fns.el" (20924 16196 967284 +;;;;;; 0)) ;;; Generated autoloads from help-fns.el (autoload 'describe-function "help-fns" "\ @@ -13223,8 +13085,8 @@ Produce a texinfo buffer with sorted doc-strings from the DOC file. ;;;*** -;;;### (autoloads (three-step-help) "help-macro" "help-macro.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "help-macro" "help-macro.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from help-macro.el (defvar three-step-help nil "\ @@ -13238,10 +13100,8 @@ gives the window that lists the options.") ;;;*** -;;;### (autoloads (help-bookmark-jump help-xref-on-pp help-insert-xref-button -;;;;;; help-xref-button help-make-xrefs help-buffer help-setup-xref -;;;;;; help-mode-finish help-mode-setup help-mode) "help-mode" "help-mode.el" -;;;;;; (20721 17977 14204 0)) +;;;### (autoloads nil "help-mode" "help-mode.el" (20920 19111 869400 +;;;;;; 0)) ;;; Generated autoloads from help-mode.el (autoload 'help-mode "help-mode" "\ @@ -13340,8 +13200,8 @@ BOOKMARK is a bookmark name or a bookmark record. ;;;*** -;;;### (autoloads (Helper-help Helper-describe-bindings) "helper" -;;;;;; "emacs-lisp/helper.el" (20709 26818 907104 0)) +;;;### (autoloads nil "helper" "emacs-lisp/helper.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from emacs-lisp/helper.el (autoload 'Helper-describe-bindings "helper" "\ @@ -13356,8 +13216,7 @@ Provide help for current mode. ;;;*** -;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl" -;;;;;; "hexl.el" (20763 30266 231060 0)) +;;;### (autoloads nil "hexl" "hexl.el" (20763 30266 231060 0)) ;;; Generated autoloads from hexl.el (autoload 'hexl-mode "hexl" "\ @@ -13451,10 +13310,8 @@ This discards the buffer's undo information. ;;;*** -;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer -;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer -;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" -;;;;;; (20825 24233 991089 0)) +;;;### (autoloads nil "hi-lock" "hi-lock.el" (20908 27948 216644 +;;;;;; 0)) ;;; Generated autoloads from hi-lock.el (autoload 'hi-lock-mode "hi-lock" "\ @@ -13488,6 +13345,10 @@ which can be called interactively, are: \\[highlight-lines-matching-regexp] REGEXP FACE Highlight lines containing matches of REGEXP in current buffer with FACE. +\\[highlight-symbol-at-point] + Highlight the symbol found near point without prompting, using the next + available face automatically. + \\[unhighlight-regexp] REGEXP Remove highlighting on matches of REGEXP in current buffer. @@ -13584,6 +13445,20 @@ highlighting will not update as you type. \(fn REGEXP &optional FACE)" t nil) +(defalias 'highlight-symbol-at-point 'hi-lock-face-symbol-at-point) + +(autoload 'hi-lock-face-symbol-at-point "hi-lock" "\ +Set face of each match of the symbol at point. +Use `find-tag-default-as-regexp' to retrieve the symbol at point. +Use non-nil `hi-lock-auto-select-face' to retrieve the next face +from `hi-lock-face-defaults' automatically. + +Use Font lock mode, if enabled, to highlight symbol at point. +Otherwise, use overlays for highlighting. If overlays are used, +the highlighting will not update as you type. + +\(fn)" t nil) + (defalias 'unhighlight-regexp 'hi-lock-unface-buffer) (autoload 'hi-lock-unface-buffer "hi-lock" "\ @@ -13606,8 +13481,8 @@ be found in variable `hi-lock-interactive-patterns'. ;;;*** -;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "hideif" "progmodes/hideif.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from progmodes/hideif.el (autoload 'hide-ifdef-mode "hideif" "\ @@ -13650,8 +13525,8 @@ Several variables affect how the hiding is done: ;;;*** -;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el" -;;;;;; (20791 9657 561026 0)) +;;;### (autoloads nil "hideshow" "progmodes/hideshow.el" (20791 9657 +;;;;;; 561026 0)) ;;; Generated autoloads from progmodes/hideshow.el (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))) "\ @@ -13713,12 +13588,8 @@ Unconditionally turn off `hs-minor-mode'. ;;;*** -;;;### (autoloads (global-highlight-changes-mode highlight-compare-with-file -;;;;;; highlight-compare-buffers highlight-changes-rotate-faces -;;;;;; highlight-changes-previous-change highlight-changes-next-change -;;;;;; highlight-changes-remove-highlight highlight-changes-visible-mode -;;;;;; highlight-changes-mode) "hilit-chg" "hilit-chg.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "hilit-chg" "hilit-chg.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from hilit-chg.el (autoload 'highlight-changes-mode "hilit-chg" "\ @@ -13849,10 +13720,10 @@ See `highlight-changes-mode' for more information on Highlight-Changes mode. ;;;*** -;;;### (autoloads (make-hippie-expand-function hippie-expand hippie-expand-try-functions-list) -;;;;;; "hippie-exp" "hippie-exp.el" (20709 26818 907104 0)) +;;;### (autoloads nil "hippie-exp" "hippie-exp.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from hippie-exp.el - +(push (purecopy (quote (hippie-exp 1 6))) package--builtin-versions) (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) "\ The list of expansion functions tried in order by `hippie-expand'. To change the behavior of `hippie-expand', remove, change the order of, @@ -13881,8 +13752,8 @@ argument VERBOSE non-nil makes the function verbose. ;;;*** -;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "hl-line" "hl-line.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from hl-line.el (autoload 'hl-line-mode "hl-line" "\ @@ -13931,11 +13802,8 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and ;;;*** -;;;### (autoloads (list-holidays holidays holiday-solar-holidays -;;;;;; holiday-bahai-holidays holiday-islamic-holidays holiday-christian-holidays -;;;;;; holiday-hebrew-holidays holiday-other-holidays holiday-local-holidays -;;;;;; holiday-oriental-holidays holiday-general-holidays) "holidays" -;;;;;; "calendar/holidays.el" (20709 26818 907104 0)) +;;;### (autoloads nil "holidays" "calendar/holidays.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from calendar/holidays.el (define-obsolete-variable-alias 'general-holidays 'holiday-general-holidays "23.1") @@ -14083,8 +13951,8 @@ The optional LABEL is used to label the buffer created. ;;;*** -;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (20791 -;;;;;; 9657 561026 0)) +;;;### (autoloads nil "html2text" "gnus/html2text.el" (20791 9657 +;;;;;; 561026 0)) ;;; Generated autoloads from gnus/html2text.el (autoload 'html2text "html2text" "\ @@ -14094,10 +13962,10 @@ Convert HTML to plain text in the current buffer. ;;;*** -;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer) -;;;;;; "htmlfontify" "htmlfontify.el" (20774 51822 616889 64000)) +;;;### (autoloads nil "htmlfontify" "htmlfontify.el" (20938 49065 +;;;;;; 383398 0)) ;;; Generated autoloads from htmlfontify.el - +(push (purecopy (quote (htmlfontify 0 21))) package--builtin-versions) (autoload 'htmlfontify-buffer "htmlfontify" "\ Create a new buffer, named for the current buffer + a .html extension, containing an inline CSS-stylesheet and formatted CSS-markup HTML @@ -14127,9 +13995,8 @@ You may also want to set `hfy-page-header' and `hfy-page-footer'. ;;;*** -;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter -;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "ibuf-macs" "ibuf-macs.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from ibuf-macs.el (autoload 'define-ibuffer-column "ibuf-macs" "\ @@ -14217,8 +14084,8 @@ bound to the current value of the filter. ;;;*** -;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers) -;;;;;; "ibuffer" "ibuffer.el" (20792 30519 8548 0)) +;;;### (autoloads nil "ibuffer" "ibuffer.el" (20921 40206 193565 +;;;;;; 167000)) ;;; Generated autoloads from ibuffer.el (autoload 'ibuffer-list-buffers "ibuffer" "\ @@ -14257,11 +14124,10 @@ FORMATS is the value to use for `ibuffer-formats'. ;;;*** -;;;### (autoloads (icalendar-import-buffer icalendar-import-file -;;;;;; icalendar-export-region icalendar-export-file) "icalendar" -;;;;;; "calendar/icalendar.el" (20709 26818 907104 0)) +;;;### (autoloads nil "icalendar" "calendar/icalendar.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from calendar/icalendar.el - +(push (purecopy (quote (icalendar 0 19))) package--builtin-versions) (autoload 'icalendar-export-file "icalendar" "\ Export diary file to iCalendar format. All diary entries in the file DIARY-FILENAME are converted to iCalendar @@ -14311,8 +14177,8 @@ buffer `*icalendar-errors*'. ;;;*** -;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20766 -;;;;;; 59066 666084 0)) +;;;### (autoloads nil "icomplete" "icomplete.el" (20766 59066 666084 +;;;;;; 0)) ;;; Generated autoloads from icomplete.el (defvar icomplete-mode nil "\ @@ -14334,8 +14200,8 @@ the mode if ARG is omitted or nil. ;;;*** -;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "icon" "progmodes/icon.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from progmodes/icon.el (autoload 'icon-mode "icon" "\ @@ -14375,8 +14241,8 @@ with no args, if that value is non-nil. ;;;*** -;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "idlw-shell" "progmodes/idlw-shell.el" (20938 +;;;;;; 49065 383398 0)) ;;; Generated autoloads from progmodes/idlw-shell.el (autoload 'idlwave-shell "idlw-shell" "\ @@ -14401,10 +14267,10 @@ See also the variable `idlwave-shell-prompt-pattern'. ;;;*** -;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el" -;;;;;; (20901 54695 989166 0)) +;;;### (autoloads nil "idlwave" "progmodes/idlwave.el" (20929 34089 +;;;;;; 117790 0)) ;;; Generated autoloads from progmodes/idlwave.el - +(push (purecopy (quote (idlwave 6 1 22))) package--builtin-versions) (autoload 'idlwave-mode "idlwave" "\ Major mode for editing IDL source files (version 6.1_em22). @@ -14529,15 +14395,7 @@ The main features of this mode are ;;;*** -;;;### (autoloads (ido-completing-read ido-read-directory-name ido-read-file-name -;;;;;; ido-read-buffer ido-dired ido-insert-file ido-write-file -;;;;;; ido-find-file-other-frame ido-display-file ido-find-file-read-only-other-frame -;;;;;; ido-find-file-read-only-other-window ido-find-file-read-only -;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file -;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer -;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window -;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20886 -;;;;;; 939 575794 0)) +;;;### (autoloads nil "ido" "ido.el" (20937 28198 475168 0)) ;;; Generated autoloads from ido.el (defvar ido-mode nil "\ @@ -14796,7 +14654,7 @@ DEF, if non-nil, is the default value. ;;;*** -;;;### (autoloads (ielm) "ielm" "ielm.el" (20903 10024 645978 0)) +;;;### (autoloads nil "ielm" "ielm.el" (20903 10024 645978 0)) ;;; Generated autoloads from ielm.el (autoload 'ielm "ielm" "\ @@ -14807,8 +14665,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist. ;;;*** -;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "iimage" "iimage.el" (20709 26818 907104 0)) ;;; Generated autoloads from iimage.el (define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1") @@ -14824,12 +14681,7 @@ the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'. ;;;*** -;;;### (autoloads (imagemagick-register-types defimage find-image -;;;;;; remove-images insert-sliced-image insert-image put-image -;;;;;; create-image image-type-auto-detected-p image-type-available-p -;;;;;; image-type image-type-from-file-name image-type-from-file-header -;;;;;; image-type-from-buffer image-type-from-data) "image" "image.el" -;;;;;; (20903 10024 645978 0)) +;;;### (autoloads nil "image" "image.el" (20903 10024 645978 0)) ;;; Generated autoloads from image.el (autoload 'image-type-from-data "image" "\ @@ -15022,16 +14874,10 @@ If Emacs is compiled without ImageMagick support, this does nothing. ;;;*** -;;;### (autoloads (image-dired-dired-edit-comment-and-tags image-dired-mark-tagged-files -;;;;;; image-dired-dired-comment-files image-dired-dired-display-image -;;;;;; image-dired-dired-display-external image-dired-display-thumb -;;;;;; image-dired-display-thumbs-append image-dired-setup-dired-keybindings -;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag -;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs -;;;;;; image-dired-dired-with-window-configuration image-dired-dired-toggle-marked-thumbs) -;;;;;; "image-dired" "image-dired.el" (20768 48184 78670 0)) +;;;### (autoloads nil "image-dired" "image-dired.el" (20921 39978 +;;;;;; 248467 0)) ;;; Generated autoloads from image-dired.el - +(push (purecopy (quote (image-dired 0 4 11))) package--builtin-versions) (autoload 'image-dired-dired-toggle-marked-thumbs "image-dired" "\ Toggle thumbnails in front of file names in the dired buffer. If no marked file could be found, insert or hide thumbnails on the @@ -15165,9 +15011,8 @@ easy-to-use form. ;;;*** -;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp -;;;;;; image-file-name-regexps image-file-name-extensions) "image-file" -;;;;;; "image-file.el" (20709 26818 907104 0)) +;;;### (autoloads nil "image-file" "image-file.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from image-file.el (defvar image-file-name-extensions (purecopy '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg")) "\ @@ -15229,8 +15074,7 @@ An image file is one whose name has an extension in ;;;*** -;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode -;;;;;; image-mode) "image-mode" "image-mode.el" (20899 12965 791908 +;;;### (autoloads nil "image-mode" "image-mode.el" (20899 12965 791908 ;;;;;; 0)) ;;; Generated autoloads from image-mode.el @@ -15275,9 +15119,7 @@ on these modes. ;;;*** -;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar -;;;;;; imenu-sort-function) "imenu" "imenu.el" (20784 36406 653593 -;;;;;; 0)) +;;;### (autoloads nil "imenu" "imenu.el" (20784 36406 653593 0)) ;;; Generated autoloads from imenu.el (defvar imenu-sort-function nil "\ @@ -15415,9 +15257,8 @@ for more information. ;;;*** -;;;### (autoloads (indian-2-column-to-ucs-region in-is13194-pre-write-conversion -;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region) -;;;;;; "ind-util" "language/ind-util.el" (20826 45095 436233 0)) +;;;### (autoloads nil "ind-util" "language/ind-util.el" (20826 45095 +;;;;;; 436233 0)) ;;; Generated autoloads from language/ind-util.el (autoload 'indian-compose-region "ind-util" "\ @@ -15447,8 +15288,8 @@ Convert old Emacs Devanagari characters to UCS. ;;;*** -;;;### (autoloads (inferior-lisp) "inf-lisp" "progmodes/inf-lisp.el" -;;;;;; (20774 53405 644725 888000)) +;;;### (autoloads nil "inf-lisp" "progmodes/inf-lisp.el" (20774 53405 +;;;;;; 644725 888000)) ;;; Generated autoloads from progmodes/inf-lisp.el (autoload 'inferior-lisp "inf-lisp" "\ @@ -15466,12 +15307,7 @@ of `inferior-lisp-program'). Runs the hooks from ;;;*** -;;;### (autoloads (info-display-manual Info-bookmark-jump Info-speedbar-browser -;;;;;; Info-goto-emacs-key-command-node Info-goto-emacs-command-node -;;;;;; Info-mode info-finder info-apropos Info-index Info-directory -;;;;;; Info-on-current-buffer info-standalone info-emacs-bug info-emacs-manual -;;;;;; info info-other-window) "info" "info.el" (20900 33838 319219 -;;;;;; 0)) +;;;### (autoloads nil "info" "info.el" (20940 4391 641153 0)) ;;; Generated autoloads from info.el (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))))) "\ @@ -15682,9 +15518,8 @@ Otherwise, visit the manual in a new Info buffer. ;;;*** -;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file -;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el" -;;;;;; (20854 24486 190633 0)) +;;;### (autoloads nil "info-look" "info-look.el" (20854 24486 190633 +;;;;;; 0)) ;;; Generated autoloads from info-look.el (autoload 'info-lookup-reset "info-look" "\ @@ -15731,11 +15566,10 @@ Perform completion on file preceding point. ;;;*** -;;;### (autoloads (info-xref-docstrings info-xref-check-all-custom -;;;;;; info-xref-check-all info-xref-check) "info-xref" "info-xref.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "info-xref" "info-xref.el" (20938 49065 383398 +;;;;;; 0)) ;;; Generated autoloads from info-xref.el - +(push (purecopy (quote (info-xref 3))) package--builtin-versions) (autoload 'info-xref-check "info-xref" "\ Check external references in FILENAME, an info document. Interactively from an `Info-mode' or `texinfo-mode' buffer the @@ -15815,8 +15649,8 @@ the sources handy. ;;;*** -;;;### (autoloads (batch-info-validate Info-validate Info-split Info-split-threshold -;;;;;; Info-tagify) "informat" "informat.el" (20774 566 676067 0)) +;;;### (autoloads nil "informat" "informat.el" (20774 566 676067 +;;;;;; 0)) ;;; Generated autoloads from informat.el (autoload 'Info-tagify "informat" "\ @@ -15861,10 +15695,10 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\" ;;;*** -;;;### (autoloads (inversion-require-emacs) "inversion" "cedet/inversion.el" -;;;;;; (20745 310 425822 0)) +;;;### (autoloads nil "inversion" "cedet/inversion.el" (20745 310 +;;;;;; 425822 0)) ;;; Generated autoloads from cedet/inversion.el - +(push (purecopy (quote (inversion 1 3))) package--builtin-versions) (autoload 'inversion-require-emacs "inversion" "\ Declare that you need either EMACS-VER, XEMACS-VER or SXEMACS-ver. Only checks one based on which kind of Emacs is being run. @@ -15873,9 +15707,8 @@ Only checks one based on which kind of Emacs is being run. ;;;*** -;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method -;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "isearch-x" "international/isearch-x.el" (20922 +;;;;;; 60838 997229 0)) ;;; Generated autoloads from international/isearch-x.el (autoload 'isearch-toggle-specified-input-method "isearch-x" "\ @@ -15891,14 +15724,14 @@ Toggle input method in interactive search. (autoload 'isearch-process-search-multibyte-characters "isearch-x" "\ -\(fn LAST-CHAR)" nil nil) +\(fn LAST-CHAR &optional COUNT)" nil nil) ;;;*** -;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "isearchb" "isearchb.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from isearchb.el - +(push (purecopy (quote (isearchb 1 5))) package--builtin-versions) (autoload 'isearchb-activate "isearchb" "\ Active isearchb mode for subsequent alphanumeric keystrokes. Executing this command again will terminate the search; or, if @@ -15909,10 +15742,8 @@ accessed via isearchb. ;;;*** -;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only -;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso -;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt" -;;;;;; "international/iso-cvt.el" (20791 9657 561026 0)) +;;;### (autoloads nil "iso-cvt" "international/iso-cvt.el" (20791 +;;;;;; 9657 561026 0)) ;;; Generated autoloads from international/iso-cvt.el (autoload 'iso-spanish "iso-cvt" "\ @@ -16010,12 +15841,8 @@ Add submenus to the File menu, to convert to and from various formats. ;;;*** -;;;### (autoloads (ispell-message ispell-minor-mode ispell ispell-complete-word-interior-frag -;;;;;; ispell-complete-word ispell-continue ispell-buffer-with-debug -;;;;;; ispell-buffer ispell-comments-and-strings ispell-region ispell-change-dictionary -;;;;;; ispell-kill-ispell ispell-help ispell-pdict-save ispell-word -;;;;;; ispell-personal-dictionary) "ispell" "textmodes/ispell.el" -;;;;;; (20847 51240 240216 0)) +;;;### (autoloads nil "ispell" "textmodes/ispell.el" (20847 51240 +;;;;;; 240216 0)) ;;; Generated autoloads from textmodes/ispell.el (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive)))) @@ -16248,8 +16075,8 @@ You can bind this to the key C-c i in GNUS or mail by adding to ;;;*** -;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (20824 -;;;;;; 3367 300658 0)) +;;;### (autoloads nil "iswitchb" "iswitchb.el" (20824 3367 300658 +;;;;;; 0)) ;;; Generated autoloads from iswitchb.el (defvar iswitchb-mode nil "\ @@ -16274,11 +16101,8 @@ between buffers using substrings. See `iswitchb' for details. ;;;*** -;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region -;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku -;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal) -;;;;;; "japan-util" "language/japan-util.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "japan-util" "language/japan-util.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from language/japan-util.el (autoload 'setup-japanese-environment-internal "japan-util" "\ @@ -16355,8 +16179,8 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading. ;;;*** -;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr" -;;;;;; "jka-compr.el" (20759 33211 414988 0)) +;;;### (autoloads nil "jka-compr" "jka-compr.el" (20759 33211 414988 +;;;;;; 0)) ;;; Generated autoloads from jka-compr.el (defvar jka-compr-inhibit nil "\ @@ -16379,10 +16203,10 @@ by `jka-compr-installed'. ;;;*** -;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20895 15912 444844 +;;;### (autoloads nil "js" "progmodes/js.el" (20895 15912 444844 ;;;;;; 0)) ;;; Generated autoloads from progmodes/js.el - +(push (purecopy (quote (js 9))) package--builtin-versions) (autoload 'js-mode "js" "\ Major mode for editing JavaScript. @@ -16391,9 +16215,13 @@ Major mode for editing JavaScript. ;;;*** -;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup -;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "json" "json.el" (20709 26818 907104 0)) +;;; Generated autoloads from json.el +(push (purecopy (quote (json 1 4))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "keypad" "emulation/keypad.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from emulation/keypad.el (defvar keypad-setup nil "\ @@ -16448,8 +16276,8 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.' ;;;*** -;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "kinsoku" "international/kinsoku.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from international/kinsoku.el (autoload 'kinsoku "kinsoku" "\ @@ -16470,8 +16298,8 @@ the context of text formatting. ;;;*** -;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (20799 -;;;;;; 169 640767 0)) +;;;### (autoloads nil "kkc" "international/kkc.el" (20799 169 640767 +;;;;;; 0)) ;;; Generated autoloads from international/kkc.el (defvar kkc-after-update-conversion-functions nil "\ @@ -16493,10 +16321,7 @@ and the return value is the length of the conversion. ;;;*** -;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro -;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter -;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro kmacro-exec-ring-item) -;;;;;; "kmacro" "kmacro.el" (20830 42150 757296 0)) +;;;### (autoloads nil "kmacro" "kmacro.el" (20830 42150 757296 0)) ;;; Generated autoloads from kmacro.el (global-set-key "\C-x(" 'kmacro-start-macro) (global-set-key "\C-x)" 'kmacro-end-macro) @@ -16607,8 +16432,8 @@ If kbd macro currently being defined end it before activating it. ;;;*** -;;;### (autoloads (setup-korean-environment-internal) "korea-util" -;;;;;; "language/korea-util.el" (20709 26818 907104 0)) +;;;### (autoloads nil "korea-util" "language/korea-util.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from language/korea-util.el (defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\ @@ -16622,8 +16447,8 @@ The kind of Korean keyboard for Korean input method. ;;;*** -;;;### (autoloads (landmark landmark-test-run) "landmark" "play/landmark.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "landmark" "play/landmark.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from play/landmark.el (defalias 'landmark-repeat 'landmark-test-run) @@ -16653,9 +16478,8 @@ Use \\[describe-mode] for more info. ;;;*** -;;;### (autoloads (lao-compose-region lao-composition-function lao-transcribe-roman-to-lao-string -;;;;;; lao-transcribe-single-roman-syllable-to-lao lao-compose-string) -;;;;;; "lao-util" "language/lao-util.el" (20826 45095 436233 0)) +;;;### (autoloads nil "lao-util" "language/lao-util.el" (20826 45095 +;;;;;; 436233 0)) ;;; Generated autoloads from language/lao-util.el (autoload 'lao-compose-string "lao-util" "\ @@ -16692,10 +16516,8 @@ Transcribe Romanized Lao string STR to Lao character string. ;;;*** -;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc -;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist) -;;;;;; "latexenc" "international/latexenc.el" (20799 169 640767 -;;;;;; 0)) +;;;### (autoloads nil "latexenc" "international/latexenc.el" (20799 +;;;;;; 169 640767 0)) ;;; Generated autoloads from international/latexenc.el (defvar latex-inputenc-coding-alist (purecopy '(("ansinew" . windows-1252) ("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250) ("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" . cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp858" . cp858) ("cp865" . cp865) ("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3) ("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15) ("next" . next) ("utf8" . utf-8) ("utf8x" . utf-8))) "\ @@ -16726,9 +16548,8 @@ coding system names is determined from `latex-inputenc-coding-alist'. ;;;*** -;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display) -;;;;;; "latin1-disp" "international/latin1-disp.el" (20826 45095 -;;;;;; 436233 0)) +;;;### (autoloads nil "latin1-disp" "international/latin1-disp.el" +;;;;;; (20826 45095 436233 0)) ;;; Generated autoloads from international/latin1-disp.el (defvar latin1-display nil "\ @@ -16769,8 +16590,8 @@ use either \\[customize] or the function `latin1-display'.") ;;;*** -;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el" -;;;;;; (20874 62962 290468 0)) +;;;### (autoloads nil "ld-script" "progmodes/ld-script.el" (20874 +;;;;;; 62962 290468 0)) ;;; Generated autoloads from progmodes/ld-script.el (autoload 'ld-script-mode "ld-script" "\ @@ -16780,8 +16601,7 @@ A major mode to edit GNU ld script files ;;;*** -;;;### (autoloads (life) "life" "play/life.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "life" "play/life.el" (20709 26818 907104 0)) ;;; Generated autoloads from play/life.el (autoload 'life "life" "\ @@ -16794,10 +16614,9 @@ generations (this defaults to 1). ;;;*** -;;;### (autoloads (global-linum-mode linum-mode) "linum" "linum.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "linum" "linum.el" (20709 26818 907104 0)) ;;; Generated autoloads from linum.el - +(push (purecopy (quote (linum 0 9 24))) package--builtin-versions) (autoload 'linum-mode "linum" "\ Toggle display of line numbers in the left margin (Linum mode). With a prefix argument ARG, enable Linum mode if ARG is positive, @@ -16831,8 +16650,8 @@ See `linum-mode' for more information on Linum mode. ;;;*** -;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "loadhist" "loadhist.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from loadhist.el (autoload 'unload-feature "loadhist" "\ @@ -16863,8 +16682,7 @@ something strange, such as redefining an Emacs function. ;;;*** -;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches) -;;;;;; "locate" "locate.el" (20763 30266 231060 0)) +;;;### (autoloads nil "locate" "locate.el" (20763 30266 231060 0)) ;;; Generated autoloads from locate.el (defvar locate-ls-subdir-switches (purecopy "-al") "\ @@ -16916,8 +16734,8 @@ except that FILTER is not optional. ;;;*** -;;;### (autoloads (log-edit) "log-edit" "vc/log-edit.el" (20721 17977 -;;;;;; 14204 0)) +;;;### (autoloads nil "log-edit" "vc/log-edit.el" (20721 17977 14204 +;;;;;; 0)) ;;; Generated autoloads from vc/log-edit.el (autoload 'log-edit "log-edit" "\ @@ -16948,8 +16766,8 @@ done. Otherwise, it uses the current buffer. ;;;*** -;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (20860 -;;;;;; 63270 684173 0)) +;;;### (autoloads nil "log-view" "vc/log-view.el" (20918 63784 852859 +;;;;;; 0)) ;;; Generated autoloads from vc/log-view.el (autoload 'log-view-mode "log-view" "\ @@ -16959,9 +16777,7 @@ Major mode for browsing CVS log output. ;;;*** -;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer -;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (20878 -;;;;;; 6823 881439 0)) +;;;### (autoloads nil "lpr" "lpr.el" (20878 6823 881439 0)) ;;; Generated autoloads from lpr.el (defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)) "\ @@ -17056,8 +16872,8 @@ for further customization of the printer command. ;;;*** -;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el" -;;;;;; (20870 12718 549931 0)) +;;;### (autoloads nil "ls-lisp" "ls-lisp.el" (20870 12718 549931 +;;;;;; 0)) ;;; Generated autoloads from ls-lisp.el (defvar ls-lisp-support-shell-wildcards t "\ @@ -17068,8 +16884,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).") ;;;*** -;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "lunar" "calendar/lunar.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from calendar/lunar.el (autoload 'lunar-phases "lunar" "\ @@ -17083,8 +16899,8 @@ This function is suitable for execution in an init file. ;;;*** -;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (20874 -;;;;;; 62962 290468 0)) +;;;### (autoloads nil "m4-mode" "progmodes/m4-mode.el" (20874 62962 +;;;;;; 290468 0)) ;;; Generated autoloads from progmodes/m4-mode.el (autoload 'm4-mode "m4-mode" "\ @@ -17094,9 +16910,7 @@ A major mode to edit m4 macro files. ;;;*** -;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro -;;;;;; name-last-kbd-macro) "macros" "macros.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "macros" "macros.el" (20709 26818 907104 0)) ;;; Generated autoloads from macros.el (autoload 'name-last-kbd-macro "macros" "\ @@ -17184,8 +16998,8 @@ and then select the region of un-tablified names and use ;;;*** -;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr" -;;;;;; "mail/mail-extr.el" (20709 26818 907104 0)) +;;;### (autoloads nil "mail-extr" "mail/mail-extr.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/mail-extr.el (autoload 'mail-extract-address-components "mail-extr" "\ @@ -17215,9 +17029,8 @@ Convert mail domain DOMAIN to the country it corresponds to. ;;;*** -;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history -;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "mail-hist" "mail/mail-hist.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/mail-hist.el (autoload 'mail-hist-define-keys "mail-hist" "\ @@ -17246,10 +17059,8 @@ This function normally would be called when the message is sent. ;;;*** -;;;### (autoloads (mail-fetch-field mail-unquote-printable-region -;;;;;; mail-unquote-printable mail-quote-printable-region mail-quote-printable -;;;;;; mail-file-babyl-p mail-dont-reply-to-names mail-use-rfc822) -;;;;;; "mail-utils" "mail/mail-utils.el" (20891 18859 893295 0)) +;;;### (autoloads nil "mail-utils" "mail/mail-utils.el" (20891 18859 +;;;;;; 893295 0)) ;;; Generated autoloads from mail/mail-utils.el (defvar mail-use-rfc822 nil "\ @@ -17323,9 +17134,8 @@ matches may be returned from the message body. ;;;*** -;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup -;;;;;; mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (20847 -;;;;;; 51240 240216 0)) +;;;### (autoloads nil "mailabbrev" "mail/mailabbrev.el" (20847 51240 +;;;;;; 240216 0)) ;;; Generated autoloads from mail/mailabbrev.el (defvar mail-abbrevs-mode nil "\ @@ -17374,9 +17184,8 @@ double-quotes. ;;;*** -;;;### (autoloads (mail-complete mail-completion-at-point-function -;;;;;; define-mail-alias expand-mail-aliases mail-complete-style) -;;;;;; "mailalias" "mail/mailalias.el" (20709 26818 907104 0)) +;;;### (autoloads nil "mailalias" "mail/mailalias.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/mailalias.el (defvar mail-complete-style 'angles "\ @@ -17429,8 +17238,8 @@ current header, calls `mail-complete-function' and passes prefix ARG if any. ;;;*** -;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "mailclient" "mail/mailclient.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/mailclient.el (autoload 'mailclient-send-it "mailclient" "\ @@ -17442,10 +17251,8 @@ The mail client is taken to be the handler of mailto URLs. ;;;*** -;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode -;;;;;; makefile-gmake-mode makefile-automake-mode makefile-mode) -;;;;;; "make-mode" "progmodes/make-mode.el" (20874 65006 672942 -;;;;;; 217000)) +;;;### (autoloads nil "make-mode" "progmodes/make-mode.el" (20924 +;;;;;; 16196 967284 0)) ;;; Generated autoloads from progmodes/make-mode.el (autoload 'makefile-mode "make-mode" "\ @@ -17562,8 +17369,8 @@ An adapted `makefile-mode' that knows about imake. ;;;*** -;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "makesum" "makesum.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from makesum.el (autoload 'make-command-summary "makesum" "\ @@ -17574,8 +17381,7 @@ Previous contents of that buffer are killed first. ;;;*** -;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el" -;;;;;; (20888 42662 256824 0)) +;;;### (autoloads nil "man" "man.el" (20888 42662 256824 0)) ;;; Generated autoloads from man.el (defalias 'manual-entry 'man) @@ -17629,10 +17435,9 @@ Default bookmark handler for Man buffers. ;;;*** -;;;### (autoloads (master-mode) "master" "master.el" (20884 7264 -;;;;;; 912957 506000)) +;;;### (autoloads nil "master" "master.el" (20884 7264 912957 506000)) ;;; Generated autoloads from master.el - +(push (purecopy (quote (master 1 0 2))) package--builtin-versions) (autoload 'master-mode "master" "\ Toggle Master mode. With a prefix argument ARG, enable Master mode if ARG is @@ -17652,8 +17457,8 @@ yourself the value of `master-of' by calling `master-show-slave'. ;;;*** -;;;### (autoloads (minibuffer-depth-indicate-mode) "mb-depth" "mb-depth.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "mb-depth" "mb-depth.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from mb-depth.el (defvar minibuffer-depth-indicate-mode nil "\ @@ -17680,13 +17485,13 @@ recursion depth in the minibuffer prompt. This is only useful if ;;;*** -;;;### (autoloads (message-unbold-region message-bold-region message-news-other-frame -;;;;;; message-news-other-window message-mail-other-frame message-mail-other-window -;;;;;; message-bounce message-resend message-insinuate-rmail message-forward-rmail-make-body -;;;;;; message-forward-make-body message-forward message-recover -;;;;;; message-supersede message-cancel-news message-followup message-wide-reply -;;;;;; message-reply message-news message-mail message-mode) "message" -;;;;;; "gnus/message.el" (20889 63525 775294 0)) +;;;### (autoloads nil "md4" "md4.el" (20709 26818 907104 0)) +;;; Generated autoloads from md4.el +(push (purecopy (quote (md4 1 0))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "message" "gnus/message.el" (20889 63525 775294 +;;;;;; 0)) ;;; Generated autoloads from gnus/message.el (define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook) @@ -17851,10 +17656,10 @@ which specify the range to operate on. ;;;*** -;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el" -;;;;;; (20874 62962 290468 0)) +;;;### (autoloads nil "meta-mode" "progmodes/meta-mode.el" (20874 +;;;;;; 62962 290468 0)) ;;; Generated autoloads from progmodes/meta-mode.el - +(push (purecopy (quote (meta-mode 1 0))) package--builtin-versions) (autoload 'metafont-mode "meta-mode" "\ Major mode for editing Metafont sources. @@ -17867,9 +17672,8 @@ Major mode for editing MetaPost sources. ;;;*** -;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body -;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "metamail" "mail/metamail.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/metamail.el (autoload 'metamail-interpret-header "metamail" "\ @@ -17912,9 +17716,8 @@ redisplayed as output is inserted. ;;;*** -;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose -;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp" -;;;;;; "mh-e/mh-comp.el" (20890 54503 125088 852000)) +;;;### (autoloads nil "mh-comp" "mh-e/mh-comp.el" (20890 54503 125088 +;;;;;; 852000)) ;;; Generated autoloads from mh-e/mh-comp.el (autoload 'mh-smail "mh-comp" "\ @@ -18004,10 +17807,9 @@ delete the draft message. ;;;*** -;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20874 65006 -;;;;;; 672942 217000)) +;;;### (autoloads nil "mh-e" "mh-e/mh-e.el" (20874 65006 672942 217000)) ;;; Generated autoloads from mh-e/mh-e.el - +(push (purecopy (quote (mh-e 8 5))) package--builtin-versions) (put 'mh-progs 'risky-local-variable t) (put 'mh-lib 'risky-local-variable t) @@ -18021,8 +17823,8 @@ Display version information about MH-E and the MH mail handling system. ;;;*** -;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder" -;;;;;; "mh-e/mh-folder.el" (20787 12616 976036 0)) +;;;### (autoloads nil "mh-folder" "mh-e/mh-folder.el" (20787 12616 +;;;;;; 976036 0)) ;;; Generated autoloads from mh-e/mh-folder.el (autoload 'mh-rmail "mh-folder" "\ @@ -18103,8 +17905,8 @@ perform the operation on all messages in that region. ;;;*** -;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight" -;;;;;; "midnight.el" (20709 26818 907104 0)) +;;;### (autoloads nil "midnight" "midnight.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from midnight.el (autoload 'clean-buffer-list "midnight" "\ @@ -18130,8 +17932,8 @@ to its second argument TM. ;;;*** -;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef" -;;;;;; "minibuf-eldef.el" (20760 54070 584283 0)) +;;;### (autoloads nil "minibuf-eldef" "minibuf-eldef.el" (20760 54070 +;;;;;; 584283 0)) ;;; Generated autoloads from minibuf-eldef.el (defvar minibuffer-electric-default-mode nil "\ @@ -18160,8 +17962,7 @@ is modified to remove the default indication. ;;;*** -;;;### (autoloads (list-dynamic-libraries butterfly) "misc" "misc.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "misc" "misc.el" (20709 26818 907104 0)) ;;; Generated autoloads from misc.el (autoload 'butterfly "misc" "\ @@ -18189,9 +17990,8 @@ The return value is always nil. ;;;*** -;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files -;;;;;; multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup) -;;;;;; "misearch" "misearch.el" (20721 17977 14204 0)) +;;;### (autoloads nil "misearch" "misearch.el" (20721 17977 14204 +;;;;;; 0)) ;;; Generated autoloads from misearch.el (add-hook 'isearch-mode-hook 'multi-isearch-setup) @@ -18272,10 +18072,10 @@ whose file names match the specified wildcard. ;;;*** -;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "mixal-mode" "progmodes/mixal-mode.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from progmodes/mixal-mode.el - +(push (purecopy (quote (mixal-mode 0 1))) package--builtin-versions) (autoload 'mixal-mode "mixal-mode" "\ Major mode for the mixal asm language. @@ -18283,8 +18083,8 @@ Major mode for the mixal asm language. ;;;*** -;;;### (autoloads (mm-default-file-encoding) "mm-encode" "gnus/mm-encode.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "mm-encode" "gnus/mm-encode.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/mm-encode.el (autoload 'mm-default-file-encoding "mm-encode" "\ @@ -18294,8 +18094,8 @@ Return a default encoding for FILE. ;;;*** -;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents) -;;;;;; "mm-extern" "gnus/mm-extern.el" (20709 26818 907104 0)) +;;;### (autoloads nil "mm-extern" "gnus/mm-extern.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/mm-extern.el (autoload 'mm-extern-cache-contents "mm-extern" "\ @@ -18313,8 +18113,8 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing. ;;;*** -;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "mm-partial" "gnus/mm-partial.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/mm-partial.el (autoload 'mm-inline-partial "mm-partial" "\ @@ -18327,8 +18127,8 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing. ;;;*** -;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents) -;;;;;; "mm-url" "gnus/mm-url.el" (20709 26818 907104 0)) +;;;### (autoloads nil "mm-url" "gnus/mm-url.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from gnus/mm-url.el (autoload 'mm-url-insert-file-contents "mm-url" "\ @@ -18344,8 +18144,8 @@ Insert file contents of URL using `mm-url-program'. ;;;*** -;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu" -;;;;;; "gnus/mm-uu.el" (20709 26818 907104 0)) +;;;### (autoloads nil "mm-uu" "gnus/mm-uu.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from gnus/mm-uu.el (autoload 'mm-uu-dissect "mm-uu" "\ @@ -18364,8 +18164,7 @@ Assume text has been decoded if DECODED is non-nil. ;;;*** -;;;### (autoloads (mml-attach-file mml-to-mime) "mml" "gnus/mml.el" -;;;;;; (20829 21286 719109 0)) +;;;### (autoloads nil "mml" "gnus/mml.el" (20829 21286 719109 0)) ;;; Generated autoloads from gnus/mml.el (autoload 'mml-to-mime "mml" "\ @@ -18390,8 +18189,8 @@ body) or \"attachment\" (separate from the body). ;;;*** -;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el" -;;;;;; (20875 30633 412173 0)) +;;;### (autoloads nil "mml1991" "gnus/mml1991.el" (20875 30633 412173 +;;;;;; 0)) ;;; Generated autoloads from gnus/mml1991.el (autoload 'mml1991-encrypt "mml1991" "\ @@ -18406,9 +18205,8 @@ body) or \"attachment\" (separate from the body). ;;;*** -;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt -;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt) -;;;;;; "mml2015" "gnus/mml2015.el" (20893 60586 188550 0)) +;;;### (autoloads nil "mml2015" "gnus/mml2015.el" (20922 60838 997229 +;;;;;; 0)) ;;; Generated autoloads from gnus/mml2015.el (autoload 'mml2015-decrypt "mml2015" "\ @@ -18456,8 +18254,8 @@ body) or \"attachment\" (separate from the body). ;;;*** -;;;### (autoloads (m2-mode) "modula2" "progmodes/modula2.el" (20355 -;;;;;; 10021 546955 0)) +;;;### (autoloads nil "modula2" "progmodes/modula2.el" (20355 10021 +;;;;;; 546955 0)) ;;; Generated autoloads from progmodes/modula2.el (defalias 'modula-2-mode 'm2-mode) @@ -18490,8 +18288,8 @@ followed by the first character of the construct. ;;;*** -;;;### (autoloads (denato-region nato-region unmorse-region morse-region) -;;;;;; "morse" "play/morse.el" (20709 26818 907104 0)) +;;;### (autoloads nil "morse" "play/morse.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from play/morse.el (autoload 'morse-region "morse" "\ @@ -18516,8 +18314,8 @@ Convert NATO phonetic alphabet in region to ordinary ASCII text. ;;;*** -;;;### (autoloads (mouse-drag-drag mouse-drag-throw) "mouse-drag" -;;;;;; "mouse-drag.el" (20709 26818 907104 0)) +;;;### (autoloads nil "mouse-drag" "mouse-drag.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from mouse-drag.el (autoload 'mouse-drag-throw "mouse-drag" "\ @@ -18564,7 +18362,7 @@ To test this function, evaluate: ;;;*** -;;;### (autoloads (mpc) "mpc" "mpc.el" (20838 36262 626321 0)) +;;;### (autoloads nil "mpc" "mpc.el" (20838 36262 626321 0)) ;;; Generated autoloads from mpc.el (autoload 'mpc "mpc" "\ @@ -18574,8 +18372,7 @@ Main entry point for MPC. ;;;*** -;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "mpuz" "play/mpuz.el" (20709 26818 907104 0)) ;;; Generated autoloads from play/mpuz.el (autoload 'mpuz "mpuz" "\ @@ -18585,7 +18382,7 @@ Multiplication puzzle with GNU Emacs. ;;;*** -;;;### (autoloads (msb-mode) "msb" "msb.el" (20709 26818 907104 0)) +;;;### (autoloads nil "msb" "msb.el" (20709 26818 907104 0)) ;;; Generated autoloads from msb.el (defvar msb-mode nil "\ @@ -18610,12 +18407,8 @@ different buffer menu using the function `msb'. ;;;*** -;;;### (autoloads (font-show-log mule-diag list-input-methods list-fontsets -;;;;;; describe-fontset describe-font list-coding-categories list-coding-systems -;;;;;; describe-current-coding-system describe-current-coding-system-briefly -;;;;;; describe-coding-system describe-character-set list-charset-chars -;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el" -;;;;;; (20891 18859 893295 0)) +;;;### (autoloads nil "mule-diag" "international/mule-diag.el" (20891 +;;;;;; 18859 893295 0)) ;;; Generated autoloads from international/mule-diag.el (autoload 'list-character-sets "mule-diag" "\ @@ -18747,12 +18540,8 @@ The default is 20. If LIMIT is negative, do not limit the listing. ;;;*** -;;;### (autoloads (char-displayable-p detect-coding-with-language-environment -;;;;;; detect-coding-with-priority with-coding-priority coding-system-translation-table-for-encode -;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion -;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist -;;;;;; truncate-string-to-width store-substring) "mule-util" "international/mule-util.el" -;;;;;; (20826 45095 436233 0)) +;;;### (autoloads nil "mule-util" "international/mule-util.el" (20826 +;;;;;; 45095 436233 0)) ;;; Generated autoloads from international/mule-util.el (defsubst string-to-list (string) "\ @@ -18883,9 +18672,8 @@ per-character basis, this may not be accurate. ;;;*** -;;;### (autoloads (advice-member-p advice-remove advice-add remove-function -;;;;;; advice--add-function add-function advice--buffer-local advice--remove-function) -;;;;;; "nadvice" "emacs-lisp/nadvice.el" (20872 54440 171355 0)) +;;;### (autoloads nil "nadvice" "emacs-lisp/nadvice.el" (20940 4391 +;;;;;; 641153 0)) ;;; Generated autoloads from emacs-lisp/nadvice.el (autoload 'advice--remove-function "nadvice" "\ @@ -18954,8 +18742,8 @@ is defined as a macro, alias, command, ... (autoload 'advice-remove "nadvice" "\ Like `remove-function' but for the function named SYMBOL. -Contrary to `remove-function', this will work also when SYMBOL is a macro -and it will not signal an error if SYMBOL is not `fboundp'. +Contrary to `remove-function', this also works when SYMBOL is a macro +or an autoload and it preserves `fboundp'. Instead of the actual function to remove, FUNCTION can also be the `name' of the piece of advice. @@ -18970,11 +18758,8 @@ of the piece of advice. ;;;*** -;;;### (autoloads (network-connection network-connection-to-service -;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host -;;;;;; nslookup nslookup-host ping traceroute route arp netstat -;;;;;; iwconfig ifconfig) "net-utils" "net/net-utils.el" (20903 -;;;;;; 10024 645978 0)) +;;;### (autoloads nil "net-utils" "net/net-utils.el" (20903 10024 +;;;;;; 645978 0)) ;;; Generated autoloads from net/net-utils.el (autoload 'ifconfig "net-utils" "\ @@ -19068,8 +18853,8 @@ Open a network connection to HOST on PORT. ;;;*** -;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "netrc" "net/netrc.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from net/netrc.el (autoload 'netrc-credentials "netrc" "\ @@ -19081,8 +18866,8 @@ listed in the PORTS list. ;;;*** -;;;### (autoloads (open-network-stream) "network-stream" "net/network-stream.el" -;;;;;; (20770 3512 176098 0)) +;;;### (autoloads nil "network-stream" "net/network-stream.el" (20770 +;;;;;; 3512 176098 0)) ;;; Generated autoloads from net/network-stream.el (autoload 'open-network-stream "network-stream" "\ @@ -19172,8 +18957,8 @@ STARTTLS upgrades even if Emacs doesn't have built-in TLS functionality. ;;;*** -;;;### (autoloads (newsticker-start newsticker-running-p) "newst-backend" -;;;;;; "net/newst-backend.el" (20709 26818 907104 0)) +;;;### (autoloads nil "newst-backend" "net/newst-backend.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from net/newst-backend.el (autoload 'newsticker-running-p "newst-backend" "\ @@ -19194,7 +18979,7 @@ Run `newsticker-start-hook' if newsticker was not running already. ;;;*** -;;;### (autoloads (newsticker-plainview) "newst-plainview" "net/newst-plainview.el" +;;;### (autoloads nil "newst-plainview" "net/newst-plainview.el" ;;;;;; (20762 9398 526093 0)) ;;; Generated autoloads from net/newst-plainview.el @@ -19205,8 +18990,8 @@ Start newsticker plainview. ;;;*** -;;;### (autoloads (newsticker-show-news) "newst-reader" "net/newst-reader.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "newst-reader" "net/newst-reader.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from net/newst-reader.el (autoload 'newsticker-show-news "newst-reader" "\ @@ -19216,9 +19001,8 @@ Start reading news. You may want to bind this to a key. ;;;*** -;;;### (autoloads (newsticker-start-ticker newsticker-ticker-running-p) -;;;;;; "newst-ticker" "net/newst-ticker.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "newst-ticker" "net/newst-ticker.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from net/newst-ticker.el (autoload 'newsticker-ticker-running-p "newst-ticker" "\ @@ -19238,8 +19022,8 @@ running already. ;;;*** -;;;### (autoloads (newsticker-treeview) "newst-treeview" "net/newst-treeview.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "newst-treeview" "net/newst-treeview.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from net/newst-treeview.el (autoload 'newsticker-treeview "newst-treeview" "\ @@ -19249,8 +19033,14 @@ Start newsticker treeview. ;;;*** -;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "newsticker" "net/newsticker.el" (20709 26818 +;;;;;; 907104 0)) +;;; Generated autoloads from net/newsticker.el +(push (purecopy (quote (newsticker 1 99))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "nndiary" "gnus/nndiary.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from gnus/nndiary.el (autoload 'nndiary-generate-nov-databases "nndiary" "\ @@ -19260,8 +19050,8 @@ Generate NOV databases in all nndiary directories. ;;;*** -;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "nndoc" "gnus/nndoc.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from gnus/nndoc.el (autoload 'nndoc-add-type "nndoc" "\ @@ -19275,8 +19065,8 @@ symbol in the alist. ;;;*** -;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "nnfolder" "gnus/nnfolder.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/nnfolder.el (autoload 'nnfolder-generate-active-file "nnfolder" "\ @@ -19287,8 +19077,13 @@ This command does not work if you use short group names. ;;;*** -;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "nnmairix" "gnus/nnmairix.el" (20709 26818 +;;;;;; 907104 0)) +;;; Generated autoloads from gnus/nnmairix.el +(push (purecopy (quote (nnmairix 0 6))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "nnml" "gnus/nnml.el" (20709 26818 907104 0)) ;;; Generated autoloads from gnus/nnml.el (autoload 'nnml-generate-nov-databases "nnml" "\ @@ -19298,8 +19093,7 @@ Generate NOV databases in all nnml directories. ;;;*** -;;;### (autoloads (disable-command enable-command disabled-command-function) -;;;;;; "novice" "novice.el" (20709 26818 907104 0)) +;;;### (autoloads nil "novice" "novice.el" (20709 26818 907104 0)) ;;; Generated autoloads from novice.el (define-obsolete-variable-alias 'disabled-command-hook 'disabled-command-function "22.1") @@ -19331,8 +19125,8 @@ future sessions. ;;;*** -;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "nroff-mode" "textmodes/nroff-mode.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from textmodes/nroff-mode.el (autoload 'nroff-mode "nroff-mode" "\ @@ -19346,8 +19140,13 @@ closing requests for requests that are used in matched pairs. ;;;*** -;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml/nxml-glyph.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ntlm" "net/ntlm.el" (20709 26818 907104 0)) +;;; Generated autoloads from net/ntlm.el +(push (purecopy (quote (ntlm 1 0))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "nxml-glyph" "nxml/nxml-glyph.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from nxml/nxml-glyph.el (autoload 'nxml-glyph-display-string "nxml-glyph" "\ @@ -19359,8 +19158,8 @@ Return nil if the face cannot display a glyph for N. ;;;*** -;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (20884 -;;;;;; 6711 386198 0)) +;;;### (autoloads nil "nxml-mode" "nxml/nxml-mode.el" (20884 6711 +;;;;;; 386198 0)) ;;; Generated autoloads from nxml/nxml-mode.el (autoload 'nxml-mode "nxml-mode" "\ @@ -19421,8 +19220,8 @@ Many aspects this mode can be customized using ;;;*** -;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm" -;;;;;; "nxml/nxml-uchnm.el" (20709 26818 907104 0)) +;;;### (autoloads nil "nxml-uchnm" "nxml/nxml-uchnm.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from nxml/nxml-uchnm.el (autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\ @@ -19434,8 +19233,8 @@ the variable `nxml-enabled-unicode-blocks'. ;;;*** -;;;### (autoloads (inferior-octave octave-mode) "octave" "progmodes/octave.el" -;;;;;; (20905 51752 865679 0)) +;;;### (autoloads nil "octave" "progmodes/octave.el" (20932 10282 +;;;;;; 564846 0)) ;;; Generated autoloads from progmodes/octave.el (autoload 'octave-mode "octave" "\ @@ -19467,8 +19266,8 @@ startup file, `~/.emacs-octave'. ;;;*** -;;;### (autoloads (opascal-mode) "opascal" "progmodes/opascal.el" -;;;;;; (20858 21542 723007 0)) +;;;### (autoloads nil "opascal" "progmodes/opascal.el" (20858 21542 +;;;;;; 723007 0)) ;;; Generated autoloads from progmodes/opascal.el (define-obsolete-function-alias 'delphi-mode 'opascal-mode "24.4") @@ -19509,13 +19308,7 @@ with no args, if that value is non-nil. ;;;*** -;;;### (autoloads (org-customize org-reload org-submit-bug-report -;;;;;; org-cycle-agenda-files org-switchb org-open-link-from-string -;;;;;; org-open-at-point-global org-insert-link-global org-store-link -;;;;;; org-run-like-in-org-mode turn-on-orgstruct++ turn-on-orgstruct -;;;;;; orgstruct-mode org-global-cycle org-cycle org-mode org-clock-persistence-insinuate -;;;;;; turn-on-orgtbl org-version org-babel-do-load-languages) "org" -;;;;;; "org/org.el" (20783 15545 430927 0)) +;;;### (autoloads nil "org" "org/org.el" (20783 15545 430927 0)) ;;; Generated autoloads from org/org.el (autoload 'org-babel-do-load-languages "org" "\ @@ -19736,12 +19529,8 @@ Call the customize function with org as argument. ;;;*** -;;;### (autoloads (org-agenda-to-appt org-calendar-goto-agenda org-diary -;;;;;; org-agenda-list-stuck-projects org-tags-view org-todo-list -;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views -;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda -;;;;;; org-agenda org-toggle-sticky-agenda) "org-agenda" "org/org-agenda.el" -;;;;;; (20847 51240 240216 0)) +;;;### (autoloads nil "org-agenda" "org/org-agenda.el" (20847 51240 +;;;;;; 240216 0)) ;;; Generated autoloads from org/org-agenda.el (autoload 'org-toggle-sticky-agenda "org-agenda" "\ @@ -19997,8 +19786,8 @@ to override `appt-message-warning-time'. ;;;*** -;;;### (autoloads (org-beamer-mode org-beamer-sectioning) "org-beamer" -;;;;;; "org/org-beamer.el" (20709 26818 907104 0)) +;;;### (autoloads nil "org-beamer" "org/org-beamer.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from org/org-beamer.el (autoload 'org-beamer-sectioning "org-beamer" "\ @@ -20019,9 +19808,8 @@ Special support for editing Org-mode files made to export to beamer. ;;;*** -;;;### (autoloads (org-capture-import-remember-templates org-capture -;;;;;; org-capture-string) "org-capture" "org/org-capture.el" (20723 -;;;;;; 59703 12265 0)) +;;;### (autoloads nil "org-capture" "org/org-capture.el" (20723 59703 +;;;;;; 12265 0)) ;;; Generated autoloads from org/org-capture.el (autoload 'org-capture-string "org-capture" "\ @@ -20061,8 +19849,7 @@ Set org-capture-templates to be similar to `org-remember-templates'. ;;;*** -;;;### (autoloads (org-agenda-columns org-insert-columns-dblock org-dblock-write:columnview -;;;;;; org-columns) "org-colview" "org/org-colview.el" (20717 20920 +;;;### (autoloads nil "org-colview" "org/org-colview.el" (20717 20920 ;;;;;; 410005 0)) ;;; Generated autoloads from org/org-colview.el @@ -20106,8 +19893,8 @@ Turn on or update column view in the agenda. ;;;*** -;;;### (autoloads (org-check-version) "org-compat" "org/org-compat.el" -;;;;;; (20723 59703 12265 0)) +;;;### (autoloads nil "org-compat" "org/org-compat.el" (20723 59703 +;;;;;; 12265 0)) ;;; Generated autoloads from org/org-compat.el (autoload 'org-check-version "org-compat" "\ @@ -20117,8 +19904,8 @@ Try very hard to provide sensible version strings. ;;;*** -;;;### (autoloads (org-git-version org-release) "org-version" "org/org-version.el" -;;;;;; (20783 15545 430927 0)) +;;;### (autoloads nil "org-version" "org/org-version.el" (20783 15545 +;;;;;; 430927 0)) ;;; Generated autoloads from org/org-version.el (autoload 'org-release "org-version" "\ @@ -20138,8 +19925,8 @@ The location of ODT styles.") ;;;*** -;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el" -;;;;;; (20773 35190 350513 0)) +;;;### (autoloads nil "outline" "outline.el" (20773 35190 350513 +;;;;;; 0)) ;;; Generated autoloads from outline.el (put 'outline-regexp 'safe-local-variable 'stringp) (put 'outline-heading-end-regexp 'safe-local-variable 'stringp) @@ -20200,12 +19987,10 @@ See the command `outline-mode' for more information on this mode. ;;;*** -;;;### (autoloads (list-packages describe-package package-initialize -;;;;;; package-refresh-contents package-install-file package-install-from-buffer -;;;;;; package-install package-enable-at-startup) "package" "emacs-lisp/package.el" -;;;;;; (20882 3877 904124 0)) +;;;### (autoloads nil "package" "emacs-lisp/package.el" (20938 49065 +;;;;;; 383398 0)) ;;; Generated autoloads from emacs-lisp/package.el - +(push (purecopy (quote (package 1 0 1))) package--builtin-versions) (defvar package-enable-at-startup t "\ Whether to activate installed packages when Emacs starts. If non-nil, packages are activated after reading the init file @@ -20218,23 +20003,19 @@ activate the package system at any time.") (custom-autoload 'package-enable-at-startup "package" t) (autoload 'package-install "package" "\ -Install the package named NAME. -NAME should be the name of one of the available packages in an -archive in `package-archives'. Interactively, prompt for NAME. +Install the package PKG. +PKG can be a package-desc or the package name of one the available packages +in an archive in `package-archives'. Interactively, prompt for its name. -\(fn NAME)" t nil) +\(fn PKG)" t nil) (autoload 'package-install-from-buffer "package" "\ Install a package from the current buffer. -When called interactively, the current buffer is assumed to be a -single .el file that follows the packaging guidelines; see info -node `(elisp)Packaging'. - -When called from Lisp, PKG-INFO is a vector describing the -information, of the type returned by `package-buffer-info'; and -TYPE is the package type (either `single' or `tar'). +The current buffer is assumed to be a single .el or .tar file that follows the +packaging guidelines; see info node `(elisp)Packaging'. +Downloads and installs required packages as needed. -\(fn PKG-INFO TYPE)" t nil) +\(fn)" t nil) (autoload 'package-install-file "package" "\ Install a package from a file. @@ -20273,8 +20054,7 @@ The list is displayed in a buffer named `*Packages*'. ;;;*** -;;;### (autoloads (show-paren-mode) "paren" "paren.el" (20903 56815 -;;;;;; 695483 0)) +;;;### (autoloads nil "paren" "paren.el" (20903 56815 695483 0)) ;;; Generated autoloads from paren.el (defvar show-paren-mode nil "\ @@ -20300,8 +20080,8 @@ matching parenthesis is highlighted in `show-paren-style' after ;;;*** -;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "parse-time" "calendar/parse-time.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from calendar/parse-time.el (put 'parse-time-rules 'risky-local-variable t) @@ -20314,8 +20094,8 @@ unknown are returned as nil. ;;;*** -;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20870 -;;;;;; 12718 549931 0)) +;;;### (autoloads nil "pascal" "progmodes/pascal.el" (20870 12718 +;;;;;; 549931 0)) ;;; Generated autoloads from progmodes/pascal.el (autoload 'pascal-mode "pascal" "\ @@ -20367,9 +20147,8 @@ no args, if that value is non-nil. ;;;*** -;;;### (autoloads (password-in-cache-p password-cache-expiry password-cache) -;;;;;; "password-cache" "password-cache.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "password-cache" "password-cache.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from password-cache.el (defvar password-cache t "\ @@ -20390,8 +20169,8 @@ Check if KEY is in the cache. ;;;*** -;;;### (autoloads (pcase-let pcase-let* pcase) "pcase" "emacs-lisp/pcase.el" -;;;;;; (20717 20920 410005 0)) +;;;### (autoloads nil "pcase" "emacs-lisp/pcase.el" (20717 20920 +;;;;;; 410005 0)) ;;; Generated autoloads from emacs-lisp/pcase.el (autoload 'pcase "pcase" "\ @@ -20452,8 +20231,8 @@ of the form (UPAT EXP). ;;;*** -;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "pcmpl-cvs" "pcmpl-cvs.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from pcmpl-cvs.el (autoload 'pcomplete/cvs "pcmpl-cvs" "\ @@ -20463,8 +20242,8 @@ Completion rules for the `cvs' command. ;;;*** -;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip) -;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (20709 26818 907104 0)) +;;;### (autoloads nil "pcmpl-gnu" "pcmpl-gnu.el" (20907 7082 901087 +;;;;;; 0)) ;;; Generated autoloads from pcmpl-gnu.el (autoload 'pcomplete/gzip "pcmpl-gnu" "\ @@ -20491,8 +20270,8 @@ Completion for the GNU tar utility. ;;;*** -;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill) -;;;;;; "pcmpl-linux" "pcmpl-linux.el" (20884 7264 912957 506000)) +;;;### (autoloads nil "pcmpl-linux" "pcmpl-linux.el" (20884 7264 +;;;;;; 912957 506000)) ;;; Generated autoloads from pcmpl-linux.el (autoload 'pcomplete/kill "pcmpl-linux" "\ @@ -20512,8 +20291,8 @@ Completion for GNU/Linux `mount'. ;;;*** -;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "pcmpl-rpm" "pcmpl-rpm.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from pcmpl-rpm.el (autoload 'pcomplete/rpm "pcmpl-rpm" "\ @@ -20523,9 +20302,7 @@ Completion for the `rpm' command. ;;;*** -;;;### (autoloads (pcomplete/scp pcomplete/ssh pcomplete/chgrp pcomplete/chown -;;;;;; pcomplete/which pcomplete/xargs pcomplete/rm pcomplete/rmdir -;;;;;; pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (20709 26818 907104 +;;;### (autoloads nil "pcmpl-unix" "pcmpl-unix.el" (20709 26818 907104 ;;;;;; 0)) ;;; Generated autoloads from pcmpl-unix.el @@ -20581,8 +20358,8 @@ Includes files as well as host names followed by a colon. ;;;*** -;;;### (autoloads (pcomplete/ack pcomplete/tlmgr) "pcmpl-x" "pcmpl-x.el" -;;;;;; (20837 15398 184639 0)) +;;;### (autoloads nil "pcmpl-x" "pcmpl-x.el" (20837 15398 184639 +;;;;;; 0)) ;;; Generated autoloads from pcmpl-x.el (autoload 'pcomplete/tlmgr "pcmpl-x" "\ @@ -20601,10 +20378,8 @@ long options. ;;;*** -;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list -;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete -;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "pcomplete" "pcomplete.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from pcomplete.el (autoload 'pcomplete "pcomplete" "\ @@ -20661,9 +20436,7 @@ Setup `shell-mode' to use pcomplete. ;;;*** -;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status -;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs" -;;;;;; "vc/pcvs.el" (20717 20920 410005 0)) +;;;### (autoloads nil "pcvs" "vc/pcvs.el" (20717 20920 410005 0)) ;;; Generated autoloads from vc/pcvs.el (autoload 'cvs-checkout "pcvs" "\ @@ -20747,8 +20520,8 @@ Global menu used by PCL-CVS.") ;;;*** -;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el" -;;;;;; (20873 17019 382960 343000)) +;;;### (autoloads nil "perl-mode" "progmodes/perl-mode.el" (20929 +;;;;;; 34089 117790 0)) ;;; Generated autoloads from progmodes/perl-mode.el (put 'perl-indent-level 'safe-local-variable 'integerp) (put 'perl-continued-statement-offset 'safe-local-variable 'integerp) @@ -20809,8 +20582,8 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'. ;;;*** -;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "picture" "textmodes/picture.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from textmodes/picture.el (autoload 'picture-mode "picture" "\ @@ -20890,8 +20663,8 @@ they are not by default assigned to keys. ;;;*** -;;;### (autoloads (plstore-mode plstore-open) "plstore" "gnus/plstore.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "plstore" "gnus/plstore.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from gnus/plstore.el (autoload 'plstore-open "plstore" "\ @@ -20906,8 +20679,7 @@ Major mode for editing PLSTORE files. ;;;*** -;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el" -;;;;;; (20791 9657 561026 0)) +;;;### (autoloads nil "po" "textmodes/po.el" (20791 9657 561026 0)) ;;; Generated autoloads from textmodes/po.el (autoload 'po-find-file-coding-system "po" "\ @@ -20918,8 +20690,7 @@ Called through `file-coding-system-alist', before the file is visited for real. ;;;*** -;;;### (autoloads (pong) "pong" "play/pong.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "pong" "play/pong.el" (20709 26818 907104 0)) ;;; Generated autoloads from play/pong.el (autoload 'pong "pong" "\ @@ -20935,8 +20706,7 @@ pong-mode keybindings:\\<pong-mode-map> ;;;*** -;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "pop3" "gnus/pop3.el" (20709 26818 907104 0)) ;;; Generated autoloads from gnus/pop3.el (autoload 'pop3-movemail "pop3" "\ @@ -20947,9 +20717,8 @@ Use streaming commands. ;;;*** -;;;### (autoloads (pp-macroexpand-last-sexp pp-eval-last-sexp pp-macroexpand-expression -;;;;;; pp-eval-expression pp pp-buffer pp-to-string) "pp" "emacs-lisp/pp.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "pp" "emacs-lisp/pp.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from emacs-lisp/pp.el (autoload 'pp-to-string "pp" "\ @@ -20999,27 +20768,10 @@ Ignores leading comment characters. ;;;*** -;;;### (autoloads (pr-txt-fast-fire pr-ps-fast-fire pr-show-lpr-setup -;;;;;; pr-show-pr-setup pr-show-ps-setup pr-ps-utility pr-txt-name -;;;;;; pr-ps-name pr-help lpr-customize pr-customize pr-toggle-mode -;;;;;; pr-toggle-region pr-toggle-lock pr-toggle-header-frame pr-toggle-header -;;;;;; pr-toggle-zebra pr-toggle-line pr-toggle-upside-down pr-toggle-landscape -;;;;;; pr-toggle-tumble pr-toggle-duplex pr-toggle-spool pr-toggle-faces -;;;;;; pr-toggle-ghostscript pr-toggle-file-landscape pr-toggle-file-tumble -;;;;;; pr-toggle-file-duplex pr-ps-file-up-ps-print pr-ps-file-ps-print -;;;;;; pr-ps-file-print pr-ps-file-using-ghostscript pr-ps-file-up-preview -;;;;;; pr-ps-file-preview pr-despool-ps-print pr-despool-print pr-despool-using-ghostscript -;;;;;; pr-despool-preview pr-txt-mode pr-txt-region pr-txt-buffer -;;;;;; pr-txt-directory pr-printify-region pr-printify-buffer pr-printify-directory -;;;;;; pr-ps-mode-ps-print pr-ps-mode-print pr-ps-mode-using-ghostscript -;;;;;; pr-ps-mode-preview pr-ps-region-ps-print pr-ps-region-print -;;;;;; pr-ps-region-using-ghostscript pr-ps-region-preview pr-ps-buffer-ps-print -;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview -;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript -;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el" -;;;;;; (20891 44219 680764 0)) +;;;### (autoloads nil "printing" "printing.el" (20891 44219 680764 +;;;;;; 0)) ;;; Generated autoloads from printing.el - +(push (purecopy (quote (printing 6 9 3))) package--builtin-versions) (autoload 'pr-interface "printing" "\ Activate the printing interface buffer. @@ -21604,8 +21356,7 @@ are both set to t. ;;;*** -;;;### (autoloads (proced) "proced" "proced.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "proced" "proced.el" (20709 26818 907104 0)) ;;; Generated autoloads from proced.el (autoload 'proced "proced" "\ @@ -21623,9 +21374,8 @@ Proced buffers. ;;;*** -;;;### (autoloads (profiler-find-profile-other-frame profiler-find-profile-other-window -;;;;;; profiler-find-profile profiler-start) "profiler" "profiler.el" -;;;;;; (20824 3367 300658 0)) +;;;### (autoloads nil "profiler" "profiler.el" (20932 10282 564846 +;;;;;; 0)) ;;; Generated autoloads from profiler.el (autoload 'profiler-start "profiler" "\ @@ -21653,8 +21403,8 @@ Open profile FILENAME. ;;;*** -;;;### (autoloads (run-prolog mercury-mode prolog-mode) "prolog" -;;;;;; "progmodes/prolog.el" (20891 18859 893295 0)) +;;;### (autoloads nil "prolog" "progmodes/prolog.el" (20919 46844 +;;;;;; 767888 0)) ;;; Generated autoloads from progmodes/prolog.el (autoload 'prolog-mode "prolog" "\ @@ -21689,8 +21439,7 @@ With prefix argument ARG, restart the Prolog process if running before. ;;;*** -;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (20799 -;;;;;; 169 640767 0)) +;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (20799 169 640767 0)) ;;; Generated autoloads from ps-bdf.el (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")) "\ @@ -21701,10 +21450,10 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").") ;;;*** -;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (20777 -;;;;;; 63161 848428 0)) +;;;### (autoloads nil "ps-mode" "progmodes/ps-mode.el" (20777 63161 +;;;;;; 848428 0)) ;;; Generated autoloads from progmodes/ps-mode.el - +(push (purecopy (quote (ps-mode 1 1 9))) package--builtin-versions) (autoload 'ps-mode "ps-mode" "\ Major mode for editing PostScript with GNU Emacs. @@ -21748,15 +21497,10 @@ Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number ;;;*** -;;;### (autoloads (ps-extend-face ps-extend-face-list ps-setup ps-nb-pages-region -;;;;;; ps-nb-pages-buffer ps-line-lengths ps-despool ps-spool-region-with-faces -;;;;;; ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer -;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces -;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type -;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (20874 -;;;;;; 65006 672942 217000)) +;;;### (autoloads nil "ps-print" "ps-print.el" (20874 65006 672942 +;;;;;; 217000)) ;;; Generated autoloads from ps-print.el - +(push (purecopy (quote (ps-print 7 3 5))) package--builtin-versions) (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"))) "\ List associating a symbolic paper type to its width, height and doc media. See `ps-paper-type'.") @@ -21950,10 +21694,16 @@ If EXTENSION is any other symbol, it is ignored. ;;;*** -;;;### (autoloads (python-mode run-python) "python" "progmodes/python.el" -;;;;;; (20874 65006 672942 217000)) +;;;### (autoloads nil "pulse" "cedet/pulse.el" (20709 26818 907104 +;;;;;; 0)) +;;; Generated autoloads from cedet/pulse.el +(push (purecopy (quote (pulse 1 0))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "python" "progmodes/python.el" (20928 13222 +;;;;;; 500272 0)) ;;; Generated autoloads from progmodes/python.el - +(push (purecopy (quote (python 0 24 2))) package--builtin-versions) (add-to-list 'auto-mode-alist (cons (purecopy "\\.py\\'") 'python-mode)) (add-to-list 'interpreter-mode-alist (cons (purecopy "python") 'python-mode)) @@ -21986,8 +21736,7 @@ if that value is non-nil. ;;;*** -;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "qp" "gnus/qp.el" (20709 26818 907104 0)) ;;; Generated autoloads from gnus/qp.el (autoload 'quoted-printable-decode-region "qp" "\ @@ -22006,11 +21755,8 @@ them into characters should be done separately. ;;;*** -;;;### (autoloads (quail-update-leim-list-file quail-defrule-internal -;;;;;; quail-defrule quail-install-decode-map quail-install-map -;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout -;;;;;; quail-define-package quail-use-package quail-title) "quail" -;;;;;; "international/quail.el" (20709 26818 907104 0)) +;;;### (autoloads nil "quail" "international/quail.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from international/quail.el (autoload 'quail-title "quail" "\ @@ -22239,10 +21985,8 @@ of each directory. ;;;*** -;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls -;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url -;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (20799 -;;;;;; 169 640767 0)) +;;;### (autoloads nil "quickurl" "net/quickurl.el" (20799 169 640767 +;;;;;; 0)) ;;; Generated autoloads from net/quickurl.el (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" "\ @@ -22313,8 +22057,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'. ;;;*** -;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" -;;;;;; "net/rcirc.el" (20770 3512 176098 0)) +;;;### (autoloads nil "rcirc" "net/rcirc.el" (20770 3512 176098 0)) ;;; Generated autoloads from net/rcirc.el (autoload 'rcirc "rcirc" "\ @@ -22352,8 +22095,8 @@ if ARG is omitted or nil. ;;;*** -;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "rcompile" "net/rcompile.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from net/rcompile.el (autoload 'remote-compile "rcompile" "\ @@ -22364,8 +22107,8 @@ See \\[compile]. ;;;*** -;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "re-builder" "emacs-lisp/re-builder.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from emacs-lisp/re-builder.el (defalias 'regexp-builder 're-builder) @@ -22383,8 +22126,8 @@ matching parts of the target buffer will be highlighted. ;;;*** -;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (20871 33574 -;;;;;; 214287 0)) +;;;### (autoloads nil "recentf" "recentf.el" (20871 33574 214287 +;;;;;; 0)) ;;; Generated autoloads from recentf.el (defvar recentf-mode nil "\ @@ -22410,11 +22153,7 @@ were operated on recently. ;;;*** -;;;### (autoloads (rectangle-number-lines clear-rectangle string-insert-rectangle -;;;;;; string-rectangle delete-whitespace-rectangle open-rectangle -;;;;;; insert-rectangle yank-rectangle copy-rectangle-as-kill kill-rectangle -;;;;;; extract-rectangle delete-extract-rectangle delete-rectangle) -;;;;;; "rect" "rect.el" (20709 26818 907104 0)) +;;;### (autoloads nil "rect" "rect.el" (20709 26818 907104 0)) ;;; Generated autoloads from rect.el (autoload 'delete-rectangle "rect" "\ @@ -22548,8 +22287,8 @@ with a prefix argument, prompt for START-AT and FORMAT. ;;;*** -;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (20884 -;;;;;; 7264 912957 506000)) +;;;### (autoloads nil "refill" "textmodes/refill.el" (20884 7264 +;;;;;; 912957 506000)) ;;; Generated autoloads from textmodes/refill.el (autoload 'refill-mode "refill" "\ @@ -22569,9 +22308,8 @@ For true \"word wrap\" behavior, use `visual-line-mode' instead. ;;;*** -;;;### (autoloads (reftex-reset-scanning-information reftex-mode -;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (20895 15912 -;;;;;; 444844 0)) +;;;### (autoloads nil "reftex" "textmodes/reftex.el" (20928 13222 +;;;;;; 500272 0)) ;;; Generated autoloads from textmodes/reftex.el (autoload 'turn-on-reftex "reftex" "\ @@ -22620,8 +22358,8 @@ This enforces rescanning the buffer on next use. ;;;*** -;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el" -;;;;;; (20838 36262 626321 0)) +;;;### (autoloads nil "reftex-cite" "textmodes/reftex-cite.el" (20921 +;;;;;; 39978 248467 0)) ;;; Generated autoloads from textmodes/reftex-cite.el (autoload 'reftex-citation "reftex-cite" "\ @@ -22650,7 +22388,7 @@ While entering the regexp, completion on knows citation keys is possible. ;;;*** -;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el" +;;;### (autoloads nil "reftex-global" "textmodes/reftex-global.el" ;;;;;; (20709 26818 907104 0)) ;;; Generated autoloads from textmodes/reftex-global.el @@ -22667,7 +22405,7 @@ With no argument, this command toggles ;;;*** -;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el" +;;;### (autoloads nil "reftex-index" "textmodes/reftex-index.el" ;;;;;; (20709 26818 907104 0)) ;;; Generated autoloads from textmodes/reftex-index.el @@ -22700,8 +22438,8 @@ Here are all local bindings. ;;;*** -;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el" -;;;;;; (20895 15912 444844 0)) +;;;### (autoloads nil "reftex-parse" "textmodes/reftex-parse.el" +;;;;;; (20921 39978 248467 0)) ;;; Generated autoloads from textmodes/reftex-parse.el (autoload 'reftex-all-document-files "reftex-parse" "\ @@ -22723,8 +22461,8 @@ of master file. ;;;*** -;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "regexp-opt" "emacs-lisp/regexp-opt.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from emacs-lisp/regexp-opt.el (autoload 'regexp-opt "regexp-opt" "\ @@ -22753,11 +22491,16 @@ This means the number of non-shy regexp grouping constructs ;;;*** -;;;### (autoloads (remember-diary-extract-entries remember-clipboard -;;;;;; remember-other-frame remember) "remember" "textmodes/remember.el" -;;;;;; (20874 65006 672942 217000)) +;;;### (autoloads nil "regi" "emacs-lisp/regi.el" (20709 26818 907104 +;;;;;; 0)) +;;; Generated autoloads from emacs-lisp/regi.el +(push (purecopy (quote (regi 1 8))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "remember" "textmodes/remember.el" (20945 22315 +;;;;;; 8369 0)) ;;; Generated autoloads from textmodes/remember.el - +(push (purecopy (quote (remember 2 0))) package--builtin-versions) (autoload 'remember "remember" "\ Remember an arbitrary piece of data. INITIAL is the text to initially place in the *Remember* buffer, @@ -22783,12 +22526,38 @@ Extract diary entries from the region. \(fn)" nil nil) +(autoload 'remember-notes "remember" "\ +Creates notes buffer and switches to it if called interactively. + +If a notes buffer created by a previous invocation of this +function already exist, it will be returned. Otherwise a new +buffer will be created whose content will be read from file +pointed by `remember-data-file'. If a buffer visiting this file +already exist, that buffer will be used instead of creating a new +one (see `find-file-noselect' function for more details). + +Name of the created buffer is taken from `remember-notes-buffer-name' +variable and if a buffer with that name already exist (but was not +created by this function), it will be first killed. +\\<remember-notes-mode-map> +`remember-notes-mode' is active in the notes buffer which by default +contains only one \\[save-and-bury-buffer] binding which saves and +buries the buffer. + +Function returns notes buffer. When called interactively, +switches to it as well. + +Notes buffer is meant for keeping random notes which you'd like to +preserve across Emacs restarts. The notes will be stored in the +`remember-data-file'. + +\(fn &optional SWITCH-TO)" t nil) + ;;;*** -;;;### (autoloads (repeat) "repeat" "repeat.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "repeat" "repeat.el" (20709 26818 907104 0)) ;;; Generated autoloads from repeat.el - +(push (purecopy (quote (repeat 0 51))) package--builtin-versions) (autoload 'repeat "repeat" "\ Repeat most recently executed command. If REPEAT-ARG is non-nil (interactively, with a prefix argument), @@ -22808,8 +22577,8 @@ recently executed command not bound to an input event\". ;;;*** -;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "reporter" "mail/reporter.el" (20921 39978 +;;;;;; 248467 0)) ;;; Generated autoloads from mail/reporter.el (autoload 'reporter-submit-bug-report "reporter" "\ @@ -22840,8 +22609,8 @@ mail-sending package is used for editing and sending the message. ;;;*** -;;;### (autoloads (reposition-window) "reposition" "reposition.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "reposition" "reposition.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from reposition.el (autoload 'reposition-window "reposition" "\ @@ -22867,8 +22636,7 @@ first comment line visible (if point is in a comment). ;;;*** -;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "reveal" "reveal.el" (20709 26818 907104 0)) ;;; Generated autoloads from reveal.el (autoload 'reveal-mode "reveal" "\ @@ -22903,8 +22671,8 @@ the mode if ARG is omitted or nil. ;;;*** -;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ring" "emacs-lisp/ring.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from emacs-lisp/ring.el (autoload 'ring-p "ring" "\ @@ -22919,8 +22687,8 @@ Make a ring that can contain SIZE elements. ;;;*** -;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (20903 10024 -;;;;;; 645978 0)) +;;;### (autoloads nil "rlogin" "net/rlogin.el" (20903 10024 645978 +;;;;;; 0)) ;;; Generated autoloads from net/rlogin.el (autoload 'rlogin "rlogin" "\ @@ -22964,12 +22732,7 @@ variable. ;;;*** -;;;### (autoloads (rmail-set-remote-password rmail-input rmail-mode -;;;;;; rmail rmail-show-message-hook rmail-secondary-file-regexp -;;;;;; rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers -;;;;;; rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers -;;;;;; rmail-user-mail-address-regexp rmail-movemail-variant-p rmail-spool-directory -;;;;;; rmail-file-name) "rmail" "mail/rmail.el" (20892 39729 858825 +;;;### (autoloads nil "rmail" "mail/rmail.el" (20892 39729 858825 ;;;;;; 0)) ;;; Generated autoloads from mail/rmail.el @@ -23167,8 +22930,7 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server. ;;;*** -;;;### (autoloads (rmail-output-body-to-file rmail-output-as-seen -;;;;;; rmail-output) "rmailout" "mail/rmailout.el" (20709 26818 +;;;### (autoloads nil "rmailout" "mail/rmailout.el" (20709 26818 ;;;;;; 907104 0)) ;;; Generated autoloads from mail/rmailout.el (put 'rmail-output-file-alist 'risky-local-variable t) @@ -23233,8 +22995,8 @@ than appending to it. Deletes the message after writing if ;;;*** -;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "nxml/rng-cmpct.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "rng-cmpct" "nxml/rng-cmpct.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from nxml/rng-cmpct.el (autoload 'rng-c-load-schema "rng-cmpct" "\ @@ -23245,8 +23007,8 @@ Return a pattern. ;;;*** -;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "nxml/rng-nxml.el" -;;;;;; (20813 33065 721081 0)) +;;;### (autoloads nil "rng-nxml" "nxml/rng-nxml.el" (20813 33065 +;;;;;; 721081 0)) ;;; Generated autoloads from nxml/rng-nxml.el (autoload 'rng-nxml-mode-init "rng-nxml" "\ @@ -23258,8 +23020,8 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil. ;;;*** -;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el" -;;;;;; (20884 6711 386198 0)) +;;;### (autoloads nil "rng-valid" "nxml/rng-valid.el" (20884 6711 +;;;;;; 386198 0)) ;;; Generated autoloads from nxml/rng-valid.el (autoload 'rng-validate-mode "rng-valid" "\ @@ -23289,8 +23051,8 @@ to use for finding the schema. ;;;*** -;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "rng-xsd" "nxml/rng-xsd.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from nxml/rng-xsd.el (put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile 'rng-xsd-compile) @@ -23317,8 +23079,8 @@ must be equal. ;;;*** -;;;### (autoloads (robin-use-package robin-modify-package robin-define-package) -;;;;;; "robin" "international/robin.el" (20523 62082 997685 0)) +;;;### (autoloads nil "robin" "international/robin.el" (20523 62082 +;;;;;; 997685 0)) ;;; Generated autoloads from international/robin.el (autoload 'robin-define-package "robin" "\ @@ -23350,9 +23112,7 @@ Start using robin package NAME, which is a string. ;;;*** -;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region -;;;;;; rot13-string rot13) "rot13" "rot13.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "rot13" "rot13.el" (20709 26818 907104 0)) ;;; Generated autoloads from rot13.el (autoload 'rot13 "rot13" "\ @@ -23389,8 +23149,8 @@ Toggle the use of ROT13 encoding for the current window. ;;;*** -;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el" -;;;;;; (20884 7264 912957 506000)) +;;;### (autoloads nil "rst" "textmodes/rst.el" (20932 10282 564846 +;;;;;; 0)) ;;; Generated autoloads from textmodes/rst.el (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode))) @@ -23420,10 +23180,10 @@ for modes derived from Text mode, like Mail mode. ;;;*** -;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el" -;;;;;; (20905 51752 865679 0)) +;;;### (autoloads nil "ruby-mode" "progmodes/ruby-mode.el" (20944 +;;;;;; 1446 914400 0)) ;;; Generated autoloads from progmodes/ruby-mode.el - +(push (purecopy (quote (ruby-mode 1 2))) package--builtin-versions) (autoload 'ruby-mode "ruby-mode" "\ Major mode for editing Ruby scripts. \\[ruby-indent-line] properly indents subexpressions of multi-line @@ -23436,20 +23196,16 @@ The variable `ruby-indent-level' controls the amount of indentation. \(fn)" t nil) -(add-to-list 'auto-mode-alist (cons (purecopy "\\.rb\\'") 'ruby-mode)) - -(add-to-list 'auto-mode-alist (cons (purecopy "Rakefile\\'") 'ruby-mode)) - -(add-to-list 'auto-mode-alist (cons (purecopy "\\.gemspec\\'") 'ruby-mode)) +(add-to-list 'auto-mode-alist (cons (purecopy (concat "\\(?:\\." "rb\\|ru\\|rake\\|thor" "\\|jbuilder\\|gemspec" "\\|/" "\\(?:Gem\\|Rake\\|Cap\\|Thor" "Vagrant\\|Guard\\)file" "\\)\\'")) 'ruby-mode)) (dolist (name (list "ruby" "rbx" "jruby" "ruby1.9" "ruby1.8")) (add-to-list 'interpreter-mode-alist (cons (purecopy name) 'ruby-mode))) ;;;*** -;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (20791 -;;;;;; 9657 561026 0)) +;;;### (autoloads nil "ruler-mode" "ruler-mode.el" (20791 9657 561026 +;;;;;; 0)) ;;; Generated autoloads from ruler-mode.el - +(push (purecopy (quote (ruler-mode 1 6))) package--builtin-versions) (defvar ruler-mode nil "\ Non-nil if Ruler mode is enabled. Use the command `ruler-mode' to change this variable.") @@ -23464,8 +23220,8 @@ if ARG is omitted or nil. ;;;*** -;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "rx" "emacs-lisp/rx.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from emacs-lisp/rx.el (autoload 'rx-to-string "rx" "\ @@ -23776,10 +23532,16 @@ enclosed in `(and ...)'. ;;;*** -;;;### (autoloads (savehist-mode) "savehist" "savehist.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "sasl-ntlm" "net/sasl-ntlm.el" (20709 26818 +;;;;;; 907104 0)) +;;; Generated autoloads from net/sasl-ntlm.el +(push (purecopy (quote (sasl 1 0))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "savehist" "savehist.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from savehist.el - +(push (purecopy (quote (savehist 24))) package--builtin-versions) (defvar savehist-mode nil "\ Non-nil if Savehist mode is enabled. See the command `savehist-mode' for a description of this minor mode. @@ -23808,8 +23570,8 @@ histories, which is probably undesirable. ;;;*** -;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el" -;;;;;; (20805 38951 572072 0)) +;;;### (autoloads nil "scheme" "progmodes/scheme.el" (20924 16196 +;;;;;; 967284 0)) ;;; Generated autoloads from progmodes/scheme.el (autoload 'scheme-mode "scheme" "\ @@ -23850,8 +23612,8 @@ that variable's value is a string. ;;;*** -;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "score-mode" "gnus/score-mode.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/score-mode.el (autoload 'gnus-score-mode "score-mode" "\ @@ -23864,8 +23626,8 @@ This mode is an extended emacs-lisp mode. ;;;*** -;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "scroll-all" "scroll-all.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from scroll-all.el (defvar scroll-all-mode nil "\ @@ -23890,8 +23652,8 @@ one window apply to all visible windows in the same frame. ;;;*** -;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "scroll-lock" "scroll-lock.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from scroll-lock.el (autoload 'scroll-lock-mode "scroll-lock" "\ @@ -23907,7 +23669,7 @@ vertically fixed relative to window boundaries during scrolling. ;;;*** -;;;### (autoloads nil "secrets" "net/secrets.el" (20709 26818 907104 +;;;### (autoloads nil "secrets" "net/secrets.el" (20929 34089 117790 ;;;;;; 0)) ;;; Generated autoloads from net/secrets.el (when (featurep 'dbusbind) @@ -23915,10 +23677,10 @@ vertically fixed relative to window boundaries during scrolling. ;;;*** -;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic" -;;;;;; "cedet/semantic.el" (20813 33065 721081 0)) +;;;### (autoloads nil "semantic" "cedet/semantic.el" (20908 27948 +;;;;;; 216644 0)) ;;; Generated autoloads from cedet/semantic.el - +(push (purecopy (quote (semantic 2 2))) package--builtin-versions) (defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\ List of auxiliary Semantic minor modes enabled by `semantic-mode'. The possible elements of this list include the following: @@ -23972,8 +23734,8 @@ Semantic mode. ;;;*** -;;;### (autoloads (bovine-grammar-mode) "semantic/bovine/grammar" -;;;;;; "cedet/semantic/bovine/grammar.el" (20895 15912 444844 0)) +;;;### (autoloads nil "semantic/bovine/grammar" "cedet/semantic/bovine/grammar.el" +;;;;;; (20895 15912 444844 0)) ;;; Generated autoloads from cedet/semantic/bovine/grammar.el (autoload 'bovine-grammar-mode "semantic/bovine/grammar" "\ @@ -23983,8 +23745,8 @@ Major mode for editing Bovine grammars. ;;;*** -;;;### (autoloads (wisent-grammar-mode) "semantic/wisent/grammar" -;;;;;; "cedet/semantic/wisent/grammar.el" (20879 27694 495748 0)) +;;;### (autoloads nil "semantic/wisent/grammar" "cedet/semantic/wisent/grammar.el" +;;;;;; (20879 27694 495748 0)) ;;; Generated autoloads from cedet/semantic/wisent/grammar.el (autoload 'wisent-grammar-mode "semantic/wisent/grammar" "\ @@ -23994,15 +23756,8 @@ Major mode for editing Wisent grammars. ;;;*** -;;;### (autoloads (mail-other-frame mail-other-window mail mail-mailing-lists -;;;;;; mail-mode sendmail-user-agent-compose sendmail-query-once -;;;;;; mail-default-headers mail-default-directory mail-signature-file -;;;;;; mail-signature mail-citation-prefix-regexp mail-citation-hook -;;;;;; mail-indentation-spaces mail-yank-prefix mail-setup-hook -;;;;;; mail-personal-alias-file mail-default-reply-to mail-archive-file-name -;;;;;; mail-header-separator send-mail-function mail-interactive -;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style) -;;;;;; "sendmail" "mail/sendmail.el" (20723 59703 12265 0)) +;;;### (autoloads nil "sendmail" "mail/sendmail.el" (20723 59703 +;;;;;; 12265 0)) ;;; Generated autoloads from mail/sendmail.el (defvar mail-from-style 'default "\ @@ -24283,9 +24038,7 @@ Like `mail' command, but display mail buffer in another frame. ;;;*** -;;;### (autoloads (server-save-buffers-kill-terminal server-mode -;;;;;; server-force-delete server-start) "server" "server.el" (20763 -;;;;;; 30266 231060 0)) +;;;### (autoloads nil "server" "server.el" (20763 30266 231060 0)) ;;; Generated autoloads from server.el (put 'server-host 'risky-local-variable t) @@ -24352,7 +24105,7 @@ only these files will be asked to be saved. ;;;*** -;;;### (autoloads (ses-mode) "ses" "ses.el" (20709 26818 907104 0)) +;;;### (autoloads nil "ses" "ses.el" (20709 26818 907104 0)) ;;; Generated autoloads from ses.el (autoload 'ses-mode "ses" "\ @@ -24370,8 +24123,8 @@ These are active only in the minibuffer, when entering or editing a formula: ;;;*** -;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el" -;;;;;; (20784 36406 653593 0)) +;;;### (autoloads nil "sgml-mode" "textmodes/sgml-mode.el" (20784 +;;;;;; 36406 653593 0)) ;;; Generated autoloads from textmodes/sgml-mode.el (autoload 'sgml-mode "sgml-mode" "\ @@ -24436,10 +24189,10 @@ To work around that, do: ;;;*** -;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el" -;;;;;; (20850 27430 515630 0)) +;;;### (autoloads nil "sh-script" "progmodes/sh-script.el" (20850 +;;;;;; 27430 515630 0)) ;;; Generated autoloads from progmodes/sh-script.el -(put 'sh-shell 'safe-local-variable 'symbolp) +(push (purecopy (quote (sh-script 2 0 6))) package--builtin-versions)(put 'sh-shell 'safe-local-variable 'symbolp) (autoload 'sh-mode "sh-script" "\ Major mode for editing shell scripts. @@ -24500,8 +24253,8 @@ with your script for an edit-interpret-debug cycle. ;;;*** -;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el" -;;;;;; (20858 21542 723007 0)) +;;;### (autoloads nil "shadow" "emacs-lisp/shadow.el" (20858 21542 +;;;;;; 723007 0)) ;;; Generated autoloads from emacs-lisp/shadow.el (autoload 'list-load-path-shadows "shadow" "\ @@ -24550,9 +24303,8 @@ function, `load-path-shadows-find'. ;;;*** -;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group -;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (20799 -;;;;;; 169 640767 0)) +;;;### (autoloads nil "shadowfile" "shadowfile.el" (20799 169 640767 +;;;;;; 0)) ;;; Generated autoloads from shadowfile.el (autoload 'shadow-define-cluster "shadowfile" "\ @@ -24590,8 +24342,7 @@ Set up file shadowing. ;;;*** -;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" -;;;;;; (20884 7264 912957 506000)) +;;;### (autoloads nil "shell" "shell.el" (20884 7264 912957 506000)) ;;; Generated autoloads from shell.el (defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\ @@ -24639,9 +24390,8 @@ Otherwise, one argument `-i' is passed to the shell. ;;;*** -;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20903 -;;;;;; 10024 645978 0)) -;;; Generated autoloads from gnus/shr.el +;;;### (autoloads nil "shr" "net/shr.el" (20944 31824 211965 0)) +;;; Generated autoloads from net/shr.el (autoload 'shr-insert-document "shr" "\ Render the parsed document DOM into the current buffer. @@ -24652,8 +24402,7 @@ DOM should be a parse tree as generated by ;;;*** -;;;### (autoloads (sieve-upload-and-kill sieve-upload-and-bury sieve-upload -;;;;;; sieve-manage) "sieve" "gnus/sieve.el" (20896 36774 886399 +;;;### (autoloads nil "sieve" "gnus/sieve.el" (20926 57896 715754 ;;;;;; 0)) ;;; Generated autoloads from gnus/sieve.el @@ -24679,8 +24428,8 @@ DOM should be a parse tree as generated by ;;;*** -;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "sieve-mode" "gnus/sieve-mode.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/sieve-mode.el (autoload 'sieve-mode "sieve-mode" "\ @@ -24695,8 +24444,8 @@ Turning on Sieve mode runs `sieve-mode-hook'. ;;;*** -;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (20777 -;;;;;; 63161 848428 0)) +;;;### (autoloads nil "simula" "progmodes/simula.el" (20777 63161 +;;;;;; 848428 0)) ;;; Generated autoloads from progmodes/simula.el (autoload 'simula-mode "simula" "\ @@ -24744,8 +24493,7 @@ with no arguments, if that value is non-nil. ;;;*** -;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new -;;;;;; define-skeleton) "skeleton" "skeleton.el" (20709 26818 907104 +;;;### (autoloads nil "skeleton" "skeleton.el" (20912 25000 802412 ;;;;;; 0)) ;;; Generated autoloads from skeleton.el @@ -24857,8 +24605,8 @@ symmetrical ones, and the same character twice for the others. ;;;*** -;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff) -;;;;;; "smerge-mode" "vc/smerge-mode.el" (20709 26818 907104 0)) +;;;### (autoloads nil "smerge-mode" "vc/smerge-mode.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from vc/smerge-mode.el (autoload 'smerge-ediff "smerge-mode" "\ @@ -24885,32 +24633,8 @@ If no conflict maker is found, turn off `smerge-mode'. ;;;*** -;;;### (autoloads (smie-highlight-matching-block-mode) "smie" "emacs-lisp/smie.el" -;;;;;; (20901 54695 989166 0)) -;;; Generated autoloads from emacs-lisp/smie.el - -(defvar smie-highlight-matching-block-mode nil "\ -Non-nil if Smie-Highlight-Matching-Block mode is enabled. -See the command `smie-highlight-matching-block-mode' for a description of this minor mode. -Setting this variable directly does not take effect; -either customize it (see the info node `Easy Customization') -or call the function `smie-highlight-matching-block-mode'.") - -(custom-autoload 'smie-highlight-matching-block-mode "smie" nil) - -(autoload 'smie-highlight-matching-block-mode "smie" "\ -Toggle Smie-Highlight-Matching-Block mode on or off. -With a prefix argument ARG, enable Smie-Highlight-Matching-Block mode if ARG is -positive, and disable it otherwise. If called from Lisp, enable -the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'. -\\{smie-highlight-matching-block-mode-map} - -\(fn &optional ARG)" t nil) - -;;;*** - -;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el" -;;;;;; (20726 5184 974741 509000)) +;;;### (autoloads nil "smiley" "gnus/smiley.el" (20726 5184 974741 +;;;;;; 509000)) ;;; Generated autoloads from gnus/smiley.el (autoload 'smiley-region "smiley" "\ @@ -24927,8 +24651,8 @@ interactively. If there's no argument, do it at the current buffer. ;;;*** -;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail" -;;;;;; "mail/smtpmail.el" (20709 26818 907104 0)) +;;;### (autoloads nil "smtpmail" "mail/smtpmail.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/smtpmail.el (autoload 'smtpmail-send-it "smtpmail" "\ @@ -24943,7 +24667,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'. ;;;*** -;;;### (autoloads (snake) "snake" "play/snake.el" (20709 26818 907104 +;;;### (autoloads nil "snake" "play/snake.el" (20709 26818 907104 ;;;;;; 0)) ;;; Generated autoloads from play/snake.el @@ -24967,8 +24691,8 @@ Snake mode keybindings: ;;;*** -;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el" -;;;;;; (20891 18859 893295 0)) +;;;### (autoloads nil "snmp-mode" "net/snmp-mode.el" (20891 18859 +;;;;;; 893295 0)) ;;; Generated autoloads from net/snmp-mode.el (autoload 'snmp-mode "snmp-mode" "\ @@ -24997,8 +24721,8 @@ then `snmpv2-mode-hook'. ;;;*** -;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "solar" "calendar/solar.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from calendar/solar.el (autoload 'sunrise-sunset "solar" "\ @@ -25013,8 +24737,8 @@ This function is suitable for execution in an init file. ;;;*** -;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "solitaire" "play/solitaire.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from play/solitaire.el (autoload 'solitaire "solitaire" "\ @@ -25089,10 +24813,7 @@ Pick your favorite shortcuts: ;;;*** -;;;### (autoloads (delete-duplicate-lines reverse-region sort-columns -;;;;;; sort-regexp-fields sort-fields sort-numeric-fields sort-pages -;;;;;; sort-paragraphs sort-lines sort-subr) "sort" "sort.el" (20896 -;;;;;; 36774 886399 0)) +;;;### (autoloads nil "sort" "sort.el" (20896 36774 886399 0)) ;;; Generated autoloads from sort.el (put 'sort-fold-case 'safe-local-variable 'booleanp) @@ -25269,8 +24990,7 @@ function behaves in all respects as if it had been called interactively. ;;;*** -;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20901 -;;;;;; 54695 989166 0)) +;;;### (autoloads nil "spam" "gnus/spam.el" (20901 54695 989166 0)) ;;; Generated autoloads from gnus/spam.el (autoload 'spam-initialize "spam" "\ @@ -25284,9 +25004,8 @@ installed through `spam-necessary-extra-headers'. ;;;*** -;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file -;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report" -;;;;;; "gnus/spam-report.el" (20874 65006 672942 217000)) +;;;### (autoloads nil "spam-report" "gnus/spam-report.el" (20874 +;;;;;; 65006 672942 217000)) ;;; Generated autoloads from gnus/spam-report.el (autoload 'spam-report-process-queue "spam-report" "\ @@ -25328,8 +25047,8 @@ Spam reports will be queued with the method used when ;;;*** -;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar" -;;;;;; "speedbar.el" (20892 39729 858825 0)) +;;;### (autoloads nil "speedbar" "speedbar.el" (20892 39729 858825 +;;;;;; 0)) ;;; Generated autoloads from speedbar.el (defalias 'speedbar 'speedbar-frame-mode) @@ -25353,8 +25072,8 @@ selected. If the speedbar frame is active, then select the attached frame. ;;;*** -;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "spook" "play/spook.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from play/spook.el (autoload 'spook "spook" "\ @@ -25369,13 +25088,10 @@ Return a vector containing the lines from `spook-phrases-file'. ;;;*** -;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres -;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix -;;;;;; sql-sybase sql-oracle sql-product-interactive sql-connect -;;;;;; sql-mode sql-add-product-keywords) "sql" "progmodes/sql.el" -;;;;;; (20878 6823 881439 0)) +;;;### (autoloads nil "sql" "progmodes/sql.el" (20878 6823 881439 +;;;;;; 0)) ;;; Generated autoloads from progmodes/sql.el - +(push (purecopy (quote (sql 3 2))) package--builtin-versions) (autoload 'sql-add-product-keywords "sql" "\ Add highlighting KEYWORDS for SQL PRODUCT. @@ -25835,7 +25551,13 @@ buffer. ;;;*** -;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el" +;;;### (autoloads nil "srecode" "cedet/srecode.el" (20748 62911 684442 +;;;;;; 0)) +;;; Generated autoloads from cedet/srecode.el +(push (purecopy (quote (srecode 1 2))) package--builtin-versions) +;;;*** + +;;;### (autoloads nil "srecode/srt-mode" "cedet/srecode/srt-mode.el" ;;;;;; (20813 33065 721081 0)) ;;; Generated autoloads from cedet/srecode/srt-mode.el @@ -25848,8 +25570,8 @@ Major-mode for writing SRecode macros. ;;;*** -;;;### (autoloads (starttls-open-stream) "starttls" "gnus/starttls.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "starttls" "gnus/starttls.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from gnus/starttls.el (autoload 'starttls-open-stream "starttls" "\ @@ -25872,12 +25594,7 @@ GnuTLS requires a port number. ;;;*** -;;;### (autoloads (strokes-compose-complex-stroke strokes-decode-buffer -;;;;;; strokes-mode strokes-list-strokes strokes-load-user-strokes -;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke -;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke -;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (20799 -;;;;;; 169 640767 0)) +;;;### (autoloads nil "strokes" "strokes.el" (20799 169 640767 0)) ;;; Generated autoloads from strokes.el (autoload 'strokes-global-set-stroke "strokes" "\ @@ -25990,8 +25707,8 @@ Read a complex stroke and insert its glyph into the current buffer. ;;;*** -;;;### (autoloads (studlify-buffer studlify-word studlify-region) -;;;;;; "studly" "play/studly.el" (20355 10021 546955 0)) +;;;### (autoloads nil "studly" "play/studly.el" (20355 10021 546955 +;;;;;; 0)) ;;; Generated autoloads from play/studly.el (autoload 'studlify-region "studly" "\ @@ -26011,8 +25728,7 @@ Studlify-case the current buffer. ;;;*** -;;;### (autoloads (global-superword-mode superword-mode global-subword-mode -;;;;;; subword-mode) "subword" "progmodes/subword.el" (20886 47777 +;;;### (autoloads nil "subword" "progmodes/subword.el" (20886 47777 ;;;;;; 83668 440000)) ;;; Generated autoloads from progmodes/subword.el @@ -26107,8 +25823,8 @@ See `superword-mode' for more information on Superword mode. ;;;*** -;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "supercite" "mail/supercite.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/supercite.el (autoload 'sc-cite-original "supercite" "\ @@ -26140,8 +25856,8 @@ and `sc-post-hook' is run after the guts of this function. ;;;*** -;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "t-mouse" "t-mouse.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from t-mouse.el (define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1") @@ -26169,43 +25885,37 @@ It relies on the `gpm' daemon being activated. ;;;*** -;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "tabify" "tabify.el" (20928 13222 500272 0)) ;;; Generated autoloads from tabify.el (autoload 'untabify "tabify" "\ Convert all tabs in region to multiple spaces, preserving columns. +If called interactively with prefix ARG, convert for the entire +buffer. + Called non-interactively, the region is specified by arguments START and END, rather than by the position of point and mark. The variable `tab-width' controls the spacing of tab stops. -\(fn START END)" t nil) +\(fn START END &optional ARG)" t nil) (autoload 'tabify "tabify" "\ Convert multiple spaces in region to tabs when possible. A group of spaces is partially replaced by tabs when this can be done without changing the column they end at. +If called interactively with prefix ARG, convert for the entire +buffer. + Called non-interactively, the region is specified by arguments START and END, rather than by the position of point and mark. The variable `tab-width' controls the spacing of tab stops. -\(fn START END)" t nil) +\(fn START END &optional ARG)" t nil) ;;;*** -;;;### (autoloads (table-release table-capture table-delete-column -;;;;;; table-delete-row table-insert-sequence table-generate-source -;;;;;; table-query-dimension table-fixed-width-mode table-justify-column -;;;;;; table-justify-row table-justify-cell table-justify table-split-cell -;;;;;; table-split-cell-horizontally table-split-cell-vertically -;;;;;; table-span-cell table-backward-cell table-forward-cell table-narrow-cell -;;;;;; table-widen-cell table-shorten-cell table-heighten-cell table-unrecognize-cell -;;;;;; table-recognize-cell table-unrecognize-table table-recognize-table -;;;;;; table-unrecognize-region table-recognize-region table-unrecognize -;;;;;; table-recognize table-insert-row-column table-insert-column -;;;;;; table-insert-row table-insert table-point-left-cell-hook -;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook) -;;;;;; "table" "textmodes/table.el" (20709 26818 907104 0)) +;;;### (autoloads nil "table" "textmodes/table.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from textmodes/table.el (defvar table-cell-map-hook nil "\ @@ -26797,8 +26507,7 @@ converts a table into plain text without frames. It is a companion to ;;;*** -;;;### (autoloads (talk talk-connect) "talk" "talk.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "talk" "talk.el" (20709 26818 907104 0)) ;;; Generated autoloads from talk.el (autoload 'talk-connect "talk" "\ @@ -26813,8 +26522,8 @@ Connect to the Emacs talk group from the current X display or tty frame. ;;;*** -;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (20874 65222 -;;;;;; 672942 464000)) +;;;### (autoloads nil "tar-mode" "tar-mode.el" (20932 10282 564846 +;;;;;; 0)) ;;; Generated autoloads from tar-mode.el (autoload 'tar-mode "tar-mode" "\ @@ -26837,8 +26546,8 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'. ;;;*** -;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl" -;;;;;; "progmodes/tcl.el" (20903 10024 645978 0)) +;;;### (autoloads nil "tcl" "progmodes/tcl.el" (20903 10024 645978 +;;;;;; 0)) ;;; Generated autoloads from progmodes/tcl.el (autoload 'tcl-mode "tcl" "\ @@ -26886,8 +26595,8 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'. ;;;*** -;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "telnet" "net/telnet.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from net/telnet.el (autoload 'telnet "telnet" "\ @@ -26912,8 +26621,7 @@ Normally input is edited in Emacs and sent a line at a time. ;;;*** -;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el" -;;;;;; (20878 6823 881439 0)) +;;;### (autoloads nil "term" "term.el" (20921 39978 248467 0)) ;;; Generated autoloads from term.el (autoload 'make-term "term" "\ @@ -26955,8 +26663,8 @@ use in that buffer. ;;;*** -;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el" -;;;;;; (20878 6823 881439 0)) +;;;### (autoloads nil "testcover" "emacs-lisp/testcover.el" (20878 +;;;;;; 6823 881439 0)) ;;; Generated autoloads from emacs-lisp/testcover.el (autoload 'testcover-this-defun "testcover" "\ @@ -26966,10 +26674,10 @@ Start coverage on function under point. ;;;*** -;;;### (autoloads (tetris) "tetris" "play/tetris.el" (20874 65006 -;;;;;; 672942 217000)) +;;;### (autoloads nil "tetris" "play/tetris.el" (20874 65006 672942 +;;;;;; 217000)) ;;; Generated autoloads from play/tetris.el - +(push (purecopy (quote (tetris 2 1))) package--builtin-versions) (autoload 'tetris "tetris" "\ Play the Tetris game. Shapes drop from the top of the screen, and the user has to move and @@ -26991,14 +26699,8 @@ tetris-mode keybindings: ;;;*** -;;;### (autoloads (doctex-mode tex-start-shell slitex-mode latex-mode -;;;;;; plain-tex-mode tex-mode tex-close-quote tex-open-quote tex-default-mode -;;;;;; tex-show-queue-command tex-dvi-view-command tex-alt-dvi-print-command -;;;;;; tex-dvi-print-command tex-bibtex-command latex-block-names -;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command -;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp -;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el" -;;;;;; (20774 53405 754743 8000)) +;;;### (autoloads nil "tex-mode" "textmodes/tex-mode.el" (20774 53405 +;;;;;; 754743 8000)) ;;; Generated autoloads from textmodes/tex-mode.el (defvar tex-shell-file-name nil "\ @@ -27299,8 +27001,8 @@ Major mode to edit DocTeX files. ;;;*** -;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer) -;;;;;; "texinfmt" "textmodes/texinfmt.el" (20709 26818 907104 0)) +;;;### (autoloads nil "texinfmt" "textmodes/texinfmt.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from textmodes/texinfmt.el (autoload 'texinfo-format-buffer "texinfmt" "\ @@ -27339,8 +27041,8 @@ if large. You can use `Info-split' to do this manually. ;;;*** -;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote) -;;;;;; "texinfo" "textmodes/texinfo.el" (20709 26818 907104 0)) +;;;### (autoloads nil "texinfo" "textmodes/texinfo.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from textmodes/texinfo.el (defvar texinfo-open-quote (purecopy "``") "\ @@ -27424,9 +27126,8 @@ value of `texinfo-mode-hook'. ;;;*** -;;;### (autoloads (thai-composition-function thai-compose-buffer -;;;;;; thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "thai-util" "language/thai-util.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from language/thai-util.el (autoload 'thai-compose-region "thai-util" "\ @@ -27453,9 +27154,8 @@ Compose Thai characters in the current buffer. ;;;*** -;;;### (autoloads (list-at-point number-at-point symbol-at-point -;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing) -;;;;;; "thingatpt" "thingatpt.el" (20874 62962 290468 0)) +;;;### (autoloads nil "thingatpt" "thingatpt.el" (20874 62962 290468 +;;;;;; 0)) ;;; Generated autoloads from thingatpt.el (autoload 'forward-thing "thingatpt" "\ @@ -27519,9 +27219,7 @@ Return the Lisp list at point, or nil if none is found. ;;;*** -;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked -;;;;;; thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "thumbs" "thumbs.el" (20709 26818 907104 0)) ;;; Generated autoloads from thumbs.el (autoload 'thumbs-find-thumb "thumbs" "\ @@ -27555,11 +27253,7 @@ In dired, call the setroot program on the image at point. ;;;*** -;;;### (autoloads (tibetan-pre-write-canonicalize-for-unicode tibetan-pre-write-conversion -;;;;;; tibetan-post-read-conversion tibetan-compose-buffer tibetan-decompose-buffer -;;;;;; tibetan-decompose-string tibetan-decompose-region tibetan-compose-region -;;;;;; tibetan-compose-string tibetan-transcription-to-tibetan tibetan-tibetan-to-transcription -;;;;;; tibetan-char-p) "tibet-util" "language/tibet-util.el" (20826 +;;;### (autoloads nil "tibet-util" "language/tibet-util.el" (20826 ;;;;;; 45095 436233 0)) ;;; Generated autoloads from language/tibet-util.el @@ -27633,10 +27327,10 @@ See also docstring of the function tibetan-compose-region. ;;;*** -;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el" -;;;;;; (20791 9657 561026 0)) +;;;### (autoloads nil "tildify" "textmodes/tildify.el" (20791 9657 +;;;;;; 561026 0)) ;;; Generated autoloads from textmodes/tildify.el - +(push (purecopy (quote (tildify 4 5))) package--builtin-versions) (autoload 'tildify-region "tildify" "\ Add hard spaces in the region between BEG and END. See variables `tildify-pattern-alist', `tildify-string-alist', and @@ -27657,9 +27351,7 @@ This function performs no refilling of the changed text. ;;;*** -;;;### (autoloads (emacs-init-time emacs-uptime display-time-world -;;;;;; display-time-mode display-time display-time-day-and-date) -;;;;;; "time" "time.el" (20709 26818 907104 0)) +;;;### (autoloads nil "time" "time.el" (20709 26818 907104 0)) ;;; Generated autoloads from time.el (defvar display-time-day-and-date nil "\ @@ -27721,11 +27413,8 @@ Return a string giving the duration of the Emacs initialization. ;;;*** -;;;### (autoloads (format-seconds safe-date-to-time time-to-days -;;;;;; time-to-day-in-year date-leap-year-p days-between date-to-day -;;;;;; time-add time-subtract time-since days-to-time time-less-p -;;;;;; seconds-to-time date-to-time) "time-date" "calendar/time-date.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "time-date" "calendar/time-date.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from calendar/time-date.el (autoload 'date-to-time "time-date" "\ @@ -27836,8 +27525,8 @@ This function does not work for SECONDS greater than `most-positive-fixnum'. ;;;*** -;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" -;;;;;; "time-stamp.el" (20709 26818 907104 0)) +;;;### (autoloads nil "time-stamp" "time-stamp.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from time-stamp.el (put 'time-stamp-format 'safe-local-variable 'stringp) (put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p) @@ -27877,13 +27566,10 @@ With ARG, turn time stamping on if and only if arg is positive. ;;;*** -;;;### (autoloads (timeclock-when-to-leave-string timeclock-workday-elapsed-string -;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out -;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in -;;;;;; timeclock-mode-line-display) "timeclock" "calendar/timeclock.el" -;;;;;; (20799 169 640767 0)) +;;;### (autoloads nil "timeclock" "calendar/timeclock.el" (20799 +;;;;;; 169 640767 0)) ;;; Generated autoloads from calendar/timeclock.el - +(push (purecopy (quote (timeclock 2 6 1))) package--builtin-versions) (autoload 'timeclock-mode-line-display "timeclock" "\ Toggle display of the amount of time left today in the mode line. If `timeclock-use-display-time' is non-nil (the default), then @@ -27980,8 +27666,8 @@ relative only to the time worked today, and not to past time. ;;;*** -;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv" -;;;;;; "international/titdic-cnv.el" (20709 26818 907104 0)) +;;;### (autoloads nil "titdic-cnv" "international/titdic-cnv.el" +;;;;;; (20929 34089 117790 0)) ;;; Generated autoloads from international/titdic-cnv.el (autoload 'titdic-convert "titdic-cnv" "\ @@ -28003,8 +27689,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\". ;;;*** -;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm" -;;;;;; "tmm.el" (20764 51137 83502 0)) +;;;### (autoloads nil "tmm" "tmm.el" (20764 51137 83502 0)) ;;; Generated autoloads from tmm.el (define-key global-map "\M-`" 'tmm-menubar) (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse) @@ -28042,69 +27727,55 @@ Its value should be an event that has a binding in MENU. ;;;*** -;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities -;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category) -;;;;;; "todo-mode" "calendar/todo-mode.el" (20799 169 640767 0)) +;;;### (autoloads nil "todo-mode" "calendar/todo-mode.el" (20944 +;;;;;; 31824 211965 0)) ;;; Generated autoloads from calendar/todo-mode.el -(autoload 'todo-add-category "todo-mode" "\ -Add new category CAT to the TODO list. - -\(fn &optional CAT)" t nil) - -(autoload 'todo-add-item-non-interactively "todo-mode" "\ -Insert NEW-ITEM in TODO list as a new entry in CATEGORY. - -\(fn NEW-ITEM CATEGORY)" nil nil) - -(autoload 'todo-insert-item "todo-mode" "\ -Insert new TODO list entry. -With a prefix argument ARG solicit the category, otherwise use the current -category. - -\(fn ARG)" t nil) - -(autoload 'todo-top-priorities "todo-mode" "\ -List top priorities for each category. - -Number of entries for each category is given by NOF-PRIORITIES which -defaults to `todo-show-priorities'. - -If CATEGORY-PR-PAGE is non-nil, a page separator '^L' is inserted -between each category. -INTERACTIVE should be non-nil if this function is called interactively. - -\(fn &optional NOF-PRIORITIES CATEGORY-PR-PAGE INTERACTIVE)" t nil) - -(autoload 'todo-print "todo-mode" "\ -Print todo summary using `todo-print-function'. -If CATEGORY-PR-PAGE is non-nil, a page separator `^L' is inserted -between each category. - -Number of entries for each category is given by `todo-print-priorities'. - -\(fn &optional CATEGORY-PR-PAGE)" t nil) - -(autoload 'todo-mode "todo-mode" "\ -Major mode for editing TODO lists. - -\(fn)" t nil) - -(autoload 'todo-cp "todo-mode" "\ -Make a diary entry appear only in the current date's diary. - -\(fn)" nil nil) - (autoload 'todo-show "todo-mode" "\ -Show TODO list. - -\(fn)" t nil) - -;;;*** - -;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu -;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame) -;;;;;; "tool-bar" "tool-bar.el" (20709 26818 907104 0)) +Visit a todo file and display one of its categories. + +When invoked in Todo mode, prompt for which todo file to visit. +When invoked outside of Todo mode with non-nil prefix argument +SOLICIT-FILE prompt for which todo file to visit; otherwise visit +`todo-default-todo-file'. Subsequent invocations from outside +of Todo mode revisit this file or, with option +`todo-show-current-file' non-nil (the default), whichever todo +file was last visited. + +If you call this command before you have created any todo file in +the current format, and you have an todo file in old format, it +will ask you whether to convert that file and show it. +Otherwise, calling this command before any todo file exists +prompts for a file name and an initial category (defaulting to +`todo-initial-file' and `todo-initial-category'), creates both of +these, visits the file and displays the category, and if option +`todo-add-item-if-new-category' is non-nil (the default), prompts +for the first item. + +The first invocation of this command on an existing todo file +interacts with the option `todo-show-first': if its value is +`first' (the default), show the first category in the file; if +its value is `table', show the table of categories in the file; +if its value is one of `top', `diary' or `regexp', show the +corresponding saved top priorities, diary items, or regexp items +file, if any. Subsequent invocations always show the file's +current (i.e., last displayed) category. + +In Todo mode just the category's unfinished todo items are shown +by default. The done items are hidden, but typing +`\\[todo-toggle-view-done-items]' displays them below the todo +items. With non-nil user option `todo-show-with-done' both todo +and done items are always shown on visiting a category. + +Invoking this command in Todo Archive mode visits the +corresponding todo file, displaying the corresponding category. + +\(fn &optional SOLICIT-FILE)" t nil) + +;;;*** + +;;;### (autoloads nil "tool-bar" "tool-bar.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from tool-bar.el (autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\ @@ -28174,10 +27845,10 @@ holds a keymap. ;;;*** -;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el" -;;;;;; (20884 7264 412929 442000)) +;;;### (autoloads nil "tpu-edt" "emulation/tpu-edt.el" (20884 7264 +;;;;;; 412929 442000)) ;;; Generated autoloads from emulation/tpu-edt.el - +(push (purecopy (quote (tpu-edt 4 5))) package--builtin-versions) (defvar tpu-edt-mode nil "\ Non-nil if Tpu-Edt mode is enabled. See the command `tpu-edt-mode' for a description of this minor mode. @@ -28204,8 +27875,8 @@ Turn on TPU/edt emulation. ;;;*** -;;;### (autoloads (tpu-mapper) "tpu-mapper" "emulation/tpu-mapper.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "tpu-mapper" "emulation/tpu-mapper.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from emulation/tpu-mapper.el (autoload 'tpu-mapper "tpu-mapper" "\ @@ -28239,8 +27910,8 @@ your local X guru can try to figure out why the key is being ignored. ;;;*** -;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "tq" "emacs-lisp/tq.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from emacs-lisp/tq.el (autoload 'tq-create "tq" "\ @@ -28253,9 +27924,8 @@ to a tcp server on another machine. ;;;*** -;;;### (autoloads (trace-function-background trace-function-foreground -;;;;;; trace-values trace-buffer) "trace" "emacs-lisp/trace.el" -;;;;;; (20903 10024 645978 0)) +;;;### (autoloads nil "trace" "emacs-lisp/trace.el" (20903 10024 +;;;;;; 645978 0)) ;;; Generated autoloads from emacs-lisp/trace.el (defvar trace-buffer "*trace-output*" "\ @@ -28293,10 +27963,8 @@ changing the window configuration. ;;;*** -;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion -;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers -;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp" -;;;;;; "net/tramp.el" (20854 24486 190633 0)) +;;;### (autoloads nil "tramp" "net/tramp.el" (20854 24486 190633 +;;;;;; 0)) ;;; Generated autoloads from net/tramp.el (defvar tramp-mode t "\ @@ -28428,8 +28096,8 @@ Discard Tramp from loading remote files. ;;;*** -;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "tramp-ftp" "net/tramp-ftp.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from net/tramp-ftp.el (autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\ @@ -28439,8 +28107,8 @@ Discard Tramp from loading remote files. ;;;*** -;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20760 -;;;;;; 54070 584283 0)) +;;;### (autoloads nil "tutorial" "tutorial.el" (20760 54070 584283 +;;;;;; 0)) ;;; Generated autoloads from tutorial.el (autoload 'help-with-tutorial "tutorial" "\ @@ -28464,8 +28132,8 @@ resumed later. ;;;*** -;;;### (autoloads (tai-viet-composition-function) "tv-util" "language/tv-util.el" -;;;;;; (20355 10021 546955 0)) +;;;### (autoloads nil "tv-util" "language/tv-util.el" (20355 10021 +;;;;;; 546955 0)) ;;; Generated autoloads from language/tv-util.el (autoload 'tai-viet-composition-function "tv-util" "\ @@ -28475,8 +28143,8 @@ resumed later. ;;;*** -;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column" -;;;;;; "textmodes/two-column.el" (20763 30266 231060 0)) +;;;### (autoloads nil "two-column" "textmodes/two-column.el" (20763 +;;;;;; 30266 231060 0)) ;;; Generated autoloads from textmodes/two-column.el (autoload '2C-command "two-column" () t 'keymap) (global-set-key "\C-x6" '2C-command) @@ -28523,9 +28191,8 @@ First column's text sSs Second column's text ;;;*** -;;;### (autoloads (type-break-guesstimate-keystroke-threshold type-break-statistics -;;;;;; type-break type-break-mode) "type-break" "type-break.el" -;;;;;; (20884 7264 912957 506000)) +;;;### (autoloads nil "type-break" "type-break.el" (20884 7264 912957 +;;;;;; 506000)) ;;; Generated autoloads from type-break.el (defvar type-break-mode nil "\ @@ -28657,8 +28324,7 @@ FRAC should be the inverse of the fractional value; for example, a value of ;;;*** -;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "uce" "mail/uce.el" (20709 26818 907104 0)) ;;; Generated autoloads from mail/uce.el (autoload 'uce-reply-to-uce "uce" "\ @@ -28671,12 +28337,8 @@ You might need to set `uce-mail-reader' before using this. ;;;*** -;;;### (autoloads (ucs-normalize-HFS-NFC-string ucs-normalize-HFS-NFC-region -;;;;;; ucs-normalize-HFS-NFD-string ucs-normalize-HFS-NFD-region -;;;;;; ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string -;;;;;; ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region -;;;;;; ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize" -;;;;;; "international/ucs-normalize.el" (20709 26818 907104 0)) +;;;### (autoloads nil "ucs-normalize" "international/ucs-normalize.el" +;;;;;; (20709 26818 907104 0)) ;;; Generated autoloads from international/ucs-normalize.el (autoload 'ucs-normalize-NFD-region "ucs-normalize" "\ @@ -28741,8 +28403,8 @@ Normalize the string STR by the Unicode NFC and Mac OS's HFS Plus. ;;;*** -;;;### (autoloads (ununderline-region underline-region) "underline" -;;;;;; "textmodes/underline.el" (20709 26818 907104 0)) +;;;### (autoloads nil "underline" "textmodes/underline.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from textmodes/underline.el (autoload 'underline-region "underline" "\ @@ -28762,8 +28424,8 @@ which specify the range to operate on. ;;;*** -;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el" -;;;;;; (20895 15912 444844 0)) +;;;### (autoloads nil "unrmail" "mail/unrmail.el" (20895 15912 444844 +;;;;;; 0)) ;;; Generated autoloads from mail/unrmail.el (autoload 'batch-unrmail "unrmail" "\ @@ -28783,8 +28445,8 @@ The variable `unrmail-mbox-format' controls which mbox format to use. ;;;*** -;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "unsafep" "emacs-lisp/unsafep.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from emacs-lisp/unsafep.el (autoload 'unsafep "unsafep" "\ @@ -28796,8 +28458,7 @@ UNSAFEP-VARS is a list of symbols with local bindings. ;;;*** -;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url" -;;;;;; "url/url.el" (20893 60586 188550 0)) +;;;### (autoloads nil "url" "url/url.el" (20893 60586 188550 0)) ;;; Generated autoloads from url/url.el (autoload 'url-retrieve "url" "\ @@ -28844,8 +28505,8 @@ no further processing). URL is either a string or a parsed URL. ;;;*** -;;;### (autoloads (url-register-auth-scheme url-get-authentication) -;;;;;; "url-auth" "url/url-auth.el" (20709 26818 907104 0)) +;;;### (autoloads nil "url-auth" "url/url-auth.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from url/url-auth.el (autoload 'url-get-authentication "url-auth" "\ @@ -28886,8 +28547,8 @@ RATING a rating between 1 and 10 of the strength of the authentication. ;;;*** -;;;### (autoloads (url-cache-extract url-is-cached url-store-in-cache) -;;;;;; "url-cache" "url/url-cache.el" (20751 39094 700824 0)) +;;;### (autoloads nil "url-cache" "url/url-cache.el" (20751 39094 +;;;;;; 700824 0)) ;;; Generated autoloads from url/url-cache.el (autoload 'url-store-in-cache "url-cache" "\ @@ -28908,8 +28569,8 @@ Extract FNAM from the local disk cache. ;;;*** -;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "url-cid" "url/url-cid.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from url/url-cid.el (autoload 'url-cid "url-cid" "\ @@ -28919,8 +28580,8 @@ Extract FNAM from the local disk cache. ;;;*** -;;;### (autoloads (url-dav-vc-registered url-dav-request url-dav-supported-p) -;;;;;; "url-dav" "url/url-dav.el" (20891 18859 893295 0)) +;;;### (autoloads nil "url-dav" "url/url-dav.el" (20891 18859 893295 +;;;;;; 0)) ;;; Generated autoloads from url/url-dav.el (autoload 'url-dav-supported-p "url-dav" "\ @@ -28954,8 +28615,8 @@ added to this list, so most requests can just pass in nil. ;;;*** -;;;### (autoloads (url-file) "url-file" "url/url-file.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "url-file" "url/url-file.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from url/url-file.el (autoload 'url-file "url-file" "\ @@ -28965,8 +28626,8 @@ Handle file: and ftp: URLs. ;;;*** -;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw" -;;;;;; "url/url-gw.el" (20709 26818 907104 0)) +;;;### (autoloads nil "url-gw" "url/url-gw.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from url/url-gw.el (autoload 'url-gateway-nslookup-host "url-gw" "\ @@ -28984,9 +28645,8 @@ Might do a non-blocking connection; use `process-status' to check. ;;;*** -;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file -;;;;;; url-file-handler url-handler-mode) "url-handlers" "url/url-handlers.el" -;;;;;; (20892 39729 858825 0)) +;;;### (autoloads nil "url-handlers" "url/url-handlers.el" (20892 +;;;;;; 39729 858825 0)) ;;; Generated autoloads from url/url-handlers.el (defvar url-handler-mode nil "\ @@ -29053,8 +28713,8 @@ accessible. ;;;*** -;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "url-irc" "url/url-irc.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from url/url-irc.el (autoload 'url-irc "url-irc" "\ @@ -29064,8 +28724,8 @@ accessible. ;;;*** -;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "url-ldap" "url/url-ldap.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from url/url-ldap.el (autoload 'url-ldap "url-ldap" "\ @@ -29078,8 +28738,8 @@ URL can be a URL string, or a URL vector of the type returned by ;;;*** -;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "url-mailto" "url/url-mailto.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from url/url-mailto.el (autoload 'url-mail "url-mailto" "\ @@ -29094,8 +28754,7 @@ Handle the mailto: URL syntax. ;;;*** -;;;### (autoloads (url-data url-generic-emulator-loader url-info -;;;;;; url-man) "url-misc" "url/url-misc.el" (20709 26818 907104 +;;;### (autoloads nil "url-misc" "url/url-misc.el" (20709 26818 907104 ;;;;;; 0)) ;;; Generated autoloads from url/url-misc.el @@ -29127,8 +28786,8 @@ Fetch a data URL (RFC 2397). ;;;*** -;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el" -;;;;;; (20884 7264 912957 506000)) +;;;### (autoloads nil "url-news" "url/url-news.el" (20884 7264 912957 +;;;;;; 506000)) ;;; Generated autoloads from url/url-news.el (autoload 'url-news "url-news" "\ @@ -29143,9 +28802,8 @@ Fetch a data URL (RFC 2397). ;;;*** -;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable -;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "url-ns" "url/url-ns.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from url/url-ns.el (autoload 'isPlainHostName "url-ns" "\ @@ -29185,8 +28843,8 @@ Fetch a data URL (RFC 2397). ;;;*** -;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse" -;;;;;; "url/url-parse.el" (20709 26818 907104 0)) +;;;### (autoloads nil "url-parse" "url/url-parse.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from url/url-parse.el (autoload 'url-recreate-url "url-parse" "\ @@ -29237,8 +28895,8 @@ parses to ;;;*** -;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "url-privacy" "url/url-privacy.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from url/url-privacy.el (autoload 'url-setup-privacy-info "url-privacy" "\ @@ -29248,8 +28906,8 @@ Setup variables that expose info about you and your system. ;;;*** -;;;### (autoloads (url-queue-retrieve) "url-queue" "url/url-queue.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "url-queue" "url/url-queue.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from url/url-queue.el (autoload 'url-queue-retrieve "url-queue" "\ @@ -29263,14 +28921,8 @@ The variable `url-queue-timeout' sets a timeout. ;;;*** -;;;### (autoloads (url-view-url url-truncate-url-for-viewing url-file-extension -;;;;;; url-encode-url url-hexify-string url-unhex-string url-build-query-string -;;;;;; url-parse-query-string url-file-nondirectory url-file-directory -;;;;;; url-percentage url-display-percentage url-pretty-length url-strip-leading-spaces -;;;;;; url-eat-trailing-space url-get-normalized-date url-lazy-message -;;;;;; url-normalize-url url-insert-entities-in-string url-parse-args -;;;;;; url-debug url-debug) "url-util" "url/url-util.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "url-util" "url/url-util.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from url/url-util.el (defvar url-debug nil "\ @@ -29443,8 +29095,8 @@ This uses `url-current-object', set locally to the buffer. ;;;*** -;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) -;;;;;; "userlock" "userlock.el" (20709 26818 907104 0)) +;;;### (autoloads nil "userlock" "userlock.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from userlock.el (autoload 'ask-user-about-lock "userlock" "\ @@ -29472,9 +29124,8 @@ The buffer in question is current when this function is called. ;;;*** -;;;### (autoloads (utf-7-imap-pre-write-conversion utf-7-pre-write-conversion -;;;;;; utf-7-imap-post-read-conversion utf-7-post-read-conversion) -;;;;;; "utf-7" "international/utf-7.el" (20709 26818 907104 0)) +;;;### (autoloads nil "utf-7" "international/utf-7.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from international/utf-7.el (autoload 'utf-7-post-read-conversion "utf-7" "\ @@ -29499,8 +29150,7 @@ The buffer in question is current when this function is called. ;;;*** -;;;### (autoloads (utf7-encode) "utf7" "gnus/utf7.el" (20791 9657 -;;;;;; 561026 0)) +;;;### (autoloads nil "utf7" "gnus/utf7.el" (20791 9657 561026 0)) ;;; Generated autoloads from gnus/utf7.el (autoload 'utf7-encode "utf7" "\ @@ -29510,9 +29160,8 @@ Encode UTF-7 STRING. Use IMAP modification if FOR-IMAP is non-nil. ;;;*** -;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal -;;;;;; uudecode-decode-region-external) "uudecode" "mail/uudecode.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "uudecode" "mail/uudecode.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from mail/uudecode.el (autoload 'uudecode-decode-region-external "uudecode" "\ @@ -29536,14 +29185,7 @@ If FILE-NAME is non-nil, save the result to FILE-NAME. ;;;*** -;;;### (autoloads (vc-branch-part vc-update-change-log vc-rename-file -;;;;;; vc-delete-file vc-transfer-file vc-switch-backend vc-pull -;;;;;; vc-rollback vc-revert vc-log-outgoing vc-log-incoming vc-print-root-log -;;;;;; vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers -;;;;;; vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff -;;;;;; vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook -;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20855 -;;;;;; 45357 683214 0)) +;;;### (autoloads nil "vc" "vc/vc.el" (20919 46844 767888 0)) ;;; Generated autoloads from vc/vc.el (defvar vc-checkout-hook nil "\ @@ -29824,8 +29466,8 @@ Return the branch part of a revision number REV. ;;;*** -;;;### (autoloads (vc-annotate) "vc-annotate" "vc/vc-annotate.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "vc-annotate" "vc/vc-annotate.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from vc/vc-annotate.el (autoload 'vc-annotate "vc-annotate" "\ @@ -29890,7 +29532,7 @@ Name of the format file in a .bzr directory.") ;;;*** -;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20900 33838 319219 +;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20921 39978 248467 ;;;;;; 0)) ;;; Generated autoloads from vc/vc-cvs.el (defun vc-cvs-registered (f) @@ -29902,7 +29544,7 @@ Name of the format file in a .bzr directory.") ;;;*** -;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (20900 33838 319219 +;;;### (autoloads nil "vc-dir" "vc/vc-dir.el" (20900 33838 319219 ;;;;;; 0)) ;;; Generated autoloads from vc/vc-dir.el @@ -29927,8 +29569,8 @@ These are the commands available for use in the file status buffer: ;;;*** -;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc/vc-dispatcher.el" -;;;;;; (20851 48294 960738 0)) +;;;### (autoloads nil "vc-dispatcher" "vc/vc-dispatcher.el" (20924 +;;;;;; 16196 967284 0)) ;;; Generated autoloads from vc/vc-dispatcher.el (autoload 'vc-do-command "vc-dispatcher" "\ @@ -29991,8 +29633,8 @@ Name of the monotone directory's format file.") ;;;*** -;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc/vc-rcs.el" -;;;;;; (20900 33838 319219 0)) +;;;### (autoloads nil "vc-rcs" "vc/vc-rcs.el" (20900 33838 319219 +;;;;;; 0)) ;;; Generated autoloads from vc/vc-rcs.el (defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\ @@ -30005,8 +29647,8 @@ For a description of possible values, see `vc-check-master-templates'.") ;;;*** -;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc/vc-sccs.el" -;;;;;; (20900 33838 319219 0)) +;;;### (autoloads nil "vc-sccs" "vc/vc-sccs.el" (20900 33838 319219 +;;;;;; 0)) ;;; Generated autoloads from vc/vc-sccs.el (defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\ @@ -30038,10 +29680,10 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir) ;;;*** -;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el" -;;;;;; (20893 60586 188550 0)) +;;;### (autoloads nil "vera-mode" "progmodes/vera-mode.el" (20893 +;;;;;; 60586 188550 0)) ;;; Generated autoloads from progmodes/vera-mode.el - (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode)) +(push (purecopy (quote (vera-mode 2 28))) package--builtin-versions) (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode)) (autoload 'vera-mode "vera-mode" "\ Major mode for editing Vera code. @@ -30096,7 +29738,7 @@ Key bindings: ;;;*** -;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el" +;;;### (autoloads nil "verilog-mode" "progmodes/verilog-mode.el" ;;;;;; (20885 2819 449152 0)) ;;; Generated autoloads from progmodes/verilog-mode.el @@ -30235,8 +29877,8 @@ Key bindings specific to `verilog-mode-map' are: ;;;*** -;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el" -;;;;;; (20892 39729 858825 0)) +;;;### (autoloads nil "vhdl-mode" "progmodes/vhdl-mode.el" (20892 +;;;;;; 39729 858825 0)) ;;; Generated autoloads from progmodes/vhdl-mode.el (autoload 'vhdl-mode "vhdl-mode" "\ @@ -30790,7 +30432,7 @@ Key bindings: ;;;*** -;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (20566 63671 243798 +;;;### (autoloads nil "vi" "emulation/vi.el" (20929 34089 117790 ;;;;;; 0)) ;;; Generated autoloads from emulation/vi.el @@ -30843,10 +30485,8 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs. ;;;*** -;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion -;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer -;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util" -;;;;;; "language/viet-util.el" (20826 45095 436233 0)) +;;;### (autoloads nil "viet-util" "language/viet-util.el" (20826 +;;;;;; 45095 436233 0)) ;;; Generated autoloads from language/viet-util.el (autoload 'viet-encode-viscii-char "viet-util" "\ @@ -30890,11 +30530,7 @@ Convert Vietnamese characters of the current buffer to `VIQR' mnemonics. ;;;*** -;;;### (autoloads (View-exit-and-edit view-mode-enter view-return-to-alist-update -;;;;;; view-mode view-buffer-other-frame view-buffer-other-window -;;;;;; view-buffer view-file-other-frame view-file-other-window -;;;;;; view-file kill-buffer-if-not-modified view-remove-frame-by-deleting) -;;;;;; "view" "view.el" (20762 9398 526093 0)) +;;;### (autoloads nil "view" "view.el" (20762 9398 526093 0)) ;;; Generated autoloads from view.el (defvar view-remove-frame-by-deleting t "\ @@ -31150,8 +30786,8 @@ Exit View mode and make the current buffer editable. ;;;*** -;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (20799 -;;;;;; 169 640767 0)) +;;;### (autoloads nil "vip" "emulation/vip.el" (20929 34089 117790 +;;;;;; 0)) ;;; Generated autoloads from emulation/vip.el (autoload 'vip-setup "vip" "\ @@ -31166,10 +30802,10 @@ Turn on VIP emulation of VI. ;;;*** -;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el" -;;;;;; (20799 169 640767 0)) +;;;### (autoloads nil "viper" "emulation/viper.el" (20799 169 640767 +;;;;;; 0)) ;;; Generated autoloads from emulation/viper.el - +(push (purecopy (quote (viper 3 14 1))) package--builtin-versions) (autoload 'toggle-viper-mode "viper" "\ Toggle Viper on/off. If Viper is enabled, turn it off. Otherwise, turn it on. @@ -31183,8 +30819,8 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'. ;;;*** -;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "warnings" "emacs-lisp/warnings.el" (20709 +;;;;;; 26818 907104 0)) ;;; Generated autoloads from emacs-lisp/warnings.el (defvar warning-prefix-function nil "\ @@ -31273,10 +30909,9 @@ this is equivalent to `display-warning', using ;;;*** -;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el" -;;;;;; (20900 33838 319219 0)) +;;;### (autoloads nil "wdired" "wdired.el" (20900 33838 319219 0)) ;;; Generated autoloads from wdired.el - +(push (purecopy (quote (wdired 2 0))) package--builtin-versions) (autoload 'wdired-change-to-wdired-mode "wdired" "\ Put a Dired buffer in Writable Dired (WDired) mode. \\<wdired-mode-map> @@ -31291,8 +30926,8 @@ See `wdired-mode'. ;;;*** -;;;### (autoloads (webjump) "webjump" "net/webjump.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "webjump" "net/webjump.el" (20927 49244 970422 +;;;;;; 0)) ;;; Generated autoloads from net/webjump.el (autoload 'webjump "webjump" "\ @@ -31308,8 +30943,8 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke ;;;*** -;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el" -;;;;;; (20895 15912 444844 0)) +;;;### (autoloads nil "which-func" "progmodes/which-func.el" (20895 +;;;;;; 15912 444844 0)) ;;; Generated autoloads from progmodes/which-func.el (put 'which-func-format 'risky-local-variable t) (put 'which-func-current 'risky-local-variable t) @@ -31339,13 +30974,10 @@ in certain major modes. ;;;*** -;;;### (autoloads (whitespace-report-region whitespace-report whitespace-cleanup-region -;;;;;; whitespace-cleanup global-whitespace-toggle-options whitespace-toggle-options -;;;;;; global-whitespace-newline-mode global-whitespace-mode whitespace-newline-mode -;;;;;; whitespace-mode) "whitespace" "whitespace.el" (20874 65007 -;;;;;; 172950 7000)) +;;;### (autoloads nil "whitespace" "whitespace.el" (20874 65007 172950 +;;;;;; 7000)) ;;; Generated autoloads from whitespace.el - +(push (purecopy (quote (whitespace 13 2 2))) package--builtin-versions) (autoload 'whitespace-mode "whitespace" "\ Toggle whitespace visualization (Whitespace mode). With a prefix argument ARG, enable Whitespace mode if ARG is @@ -31741,9 +31373,8 @@ cleaning up these problems. ;;;*** -;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse -;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (20709 26818 -;;;;;; 907104 0)) +;;;### (autoloads nil "wid-browse" "wid-browse.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from wid-browse.el (autoload 'widget-browse-at "wid-browse" "\ @@ -31771,9 +31402,8 @@ if ARG is omitted or nil. ;;;*** -;;;### (autoloads (widget-setup widget-insert widget-delete widget-create -;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20716 -;;;;;; 56 356960 0)) +;;;### (autoloads nil "wid-edit" "wid-edit.el" (20945 22315 8369 +;;;;;; 0)) ;;; Generated autoloads from wid-edit.el (autoload 'widgetp "wid-edit" "\ @@ -31815,9 +31445,8 @@ Setup current buffer so editing string widgets works. ;;;*** -;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right -;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (20709 -;;;;;; 26818 907104 0)) +;;;### (autoloads nil "windmove" "windmove.el" (20709 26818 907104 +;;;;;; 0)) ;;; Generated autoloads from windmove.el (autoload 'windmove-left "windmove" "\ @@ -31869,8 +31498,7 @@ Default MODIFIER is 'shift. ;;;*** -;;;### (autoloads (winner-mode) "winner" "winner.el" (20849 6570 -;;;;;; 598687 0)) +;;;### (autoloads nil "winner" "winner.el" (20849 6570 598687 0)) ;;; Generated autoloads from winner.el (defvar winner-mode nil "\ @@ -31893,11 +31521,9 @@ the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'. ;;;*** -;;;### (autoloads (woman-bookmark-jump woman-find-file woman-dired-find-file -;;;;;; woman woman-locale) "woman" "woman.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "woman" "woman.el" (20709 26818 907104 0)) ;;; Generated autoloads from woman.el - +(push (purecopy (quote (woman 0 551))) package--builtin-versions) (defvar woman-locale nil "\ String specifying a manual page locale, or nil. If a manual page is available in the specified locale @@ -31943,10 +31569,10 @@ Default bookmark handler for Woman buffers. ;;;*** -;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el" -;;;;;; (20709 26818 907104 0)) +;;;### (autoloads nil "ws-mode" "emulation/ws-mode.el" (20709 26818 +;;;;;; 907104 0)) ;;; Generated autoloads from emulation/ws-mode.el - +(push (purecopy (quote (ws-mode 0 7))) package--builtin-versions) (autoload 'wordstar-mode "ws-mode" "\ Major mode with WordStar-like key bindings. @@ -32056,8 +31682,7 @@ The key bindings are: ;;;*** -;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el" -;;;;;; (20766 6456 368550 0)) +;;;### (autoloads nil "xml" "xml.el" (20766 6456 368550 0)) ;;; Generated autoloads from xml.el (autoload 'xml-parse-file "xml" "\ @@ -32113,8 +31738,8 @@ Both features can be combined by providing a cons cell ;;;*** -;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok" -;;;;;; "nxml/xmltok.el" (20884 6711 386198 0)) +;;;### (autoloads nil "xmltok" "nxml/xmltok.el" (20884 6711 386198 +;;;;;; 0)) ;;; Generated autoloads from nxml/xmltok.el (autoload 'xmltok-get-declared-encoding-position "xmltok" "\ @@ -32132,8 +31757,8 @@ If LIMIT is non-nil, then do not consider characters beyond LIMIT. ;;;*** -;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20797 -;;;;;; 44848 327754 0)) +;;;### (autoloads nil "xt-mouse" "xt-mouse.el" (20797 44848 327754 +;;;;;; 0)) ;;; Generated autoloads from xt-mouse.el (defvar xterm-mouse-mode nil "\ @@ -32162,8 +31787,7 @@ down the SHIFT key while pressing the mouse button. ;;;*** -;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc" -;;;;;; "gnus/yenc.el" (20709 26818 907104 0)) +;;;### (autoloads nil "yenc" "gnus/yenc.el" (20709 26818 907104 0)) ;;; Generated autoloads from gnus/yenc.el (autoload 'yenc-decode-region "yenc" "\ @@ -32178,8 +31802,7 @@ Extract file name from an yenc header. ;;;*** -;;;### (autoloads (zone) "zone" "play/zone.el" (20709 26818 907104 -;;;;;; 0)) +;;;### (autoloads nil "zone" "play/zone.el" (20709 26818 907104 0)) ;;; Generated autoloads from play/zone.el (autoload 'zone "zone" "\ @@ -32210,31 +31833,30 @@ Zone out, completely. ;;;;;; "calendar/cal-persia.el" "calendar/cal-tex.el" "calendar/cal-x.el" ;;;;;; "calendar/diary-loaddefs.el" "calendar/hol-loaddefs.el" "cdl.el" ;;;;;; "cedet/cedet-cscope.el" "cedet/cedet-files.el" "cedet/cedet-global.el" -;;;;;; "cedet/cedet-idutils.el" "cedet/cedet.el" "cedet/ede/auto.el" -;;;;;; "cedet/ede/autoconf-edit.el" "cedet/ede/base.el" "cedet/ede/cpp-root.el" -;;;;;; "cedet/ede/custom.el" "cedet/ede/dired.el" "cedet/ede/emacs.el" -;;;;;; "cedet/ede/files.el" "cedet/ede/generic.el" "cedet/ede/linux.el" -;;;;;; "cedet/ede/loaddefs.el" "cedet/ede/locate.el" "cedet/ede/make.el" -;;;;;; "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el" "cedet/ede/pmake.el" -;;;;;; "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el" "cedet/ede/proj-comp.el" -;;;;;; "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el" "cedet/ede/proj-misc.el" -;;;;;; "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el" "cedet/ede/proj-scheme.el" -;;;;;; "cedet/ede/proj-shared.el" "cedet/ede/proj.el" "cedet/ede/project-am.el" +;;;;;; "cedet/cedet-idutils.el" "cedet/ede/auto.el" "cedet/ede/autoconf-edit.el" +;;;;;; "cedet/ede/base.el" "cedet/ede/cpp-root.el" "cedet/ede/custom.el" +;;;;;; "cedet/ede/emacs.el" "cedet/ede/files.el" "cedet/ede/generic.el" +;;;;;; "cedet/ede/linux.el" "cedet/ede/loaddefs.el" "cedet/ede/locate.el" +;;;;;; "cedet/ede/make.el" "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el" +;;;;;; "cedet/ede/pmake.el" "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el" +;;;;;; "cedet/ede/proj-comp.el" "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el" +;;;;;; "cedet/ede/proj-misc.el" "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el" +;;;;;; "cedet/ede/proj-scheme.el" "cedet/ede/proj-shared.el" "cedet/ede/proj.el" ;;;;;; "cedet/ede/shell.el" "cedet/ede/simple.el" "cedet/ede/source.el" ;;;;;; "cedet/ede/speedbar.el" "cedet/ede/srecode.el" "cedet/ede/system.el" -;;;;;; "cedet/ede/util.el" "cedet/pulse.el" "cedet/semantic/analyze.el" -;;;;;; "cedet/semantic/analyze/complete.el" "cedet/semantic/analyze/debug.el" -;;;;;; "cedet/semantic/analyze/fcn.el" "cedet/semantic/analyze/refs.el" -;;;;;; "cedet/semantic/bovine.el" "cedet/semantic/bovine/c-by.el" -;;;;;; "cedet/semantic/bovine/c.el" "cedet/semantic/bovine/debug.el" -;;;;;; "cedet/semantic/bovine/el.el" "cedet/semantic/bovine/gcc.el" -;;;;;; "cedet/semantic/bovine/make-by.el" "cedet/semantic/bovine/make.el" -;;;;;; "cedet/semantic/bovine/scm-by.el" "cedet/semantic/bovine/scm.el" -;;;;;; "cedet/semantic/chart.el" "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" -;;;;;; "cedet/semantic/db-debug.el" "cedet/semantic/db-ebrowse.el" -;;;;;; "cedet/semantic/db-el.el" "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" -;;;;;; "cedet/semantic/db-global.el" "cedet/semantic/db-javascript.el" -;;;;;; "cedet/semantic/db-mode.el" "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el" +;;;;;; "cedet/ede/util.el" "cedet/semantic/analyze.el" "cedet/semantic/analyze/complete.el" +;;;;;; "cedet/semantic/analyze/debug.el" "cedet/semantic/analyze/fcn.el" +;;;;;; "cedet/semantic/analyze/refs.el" "cedet/semantic/bovine.el" +;;;;;; "cedet/semantic/bovine/c-by.el" "cedet/semantic/bovine/c.el" +;;;;;; "cedet/semantic/bovine/debug.el" "cedet/semantic/bovine/el.el" +;;;;;; "cedet/semantic/bovine/gcc.el" "cedet/semantic/bovine/make-by.el" +;;;;;; "cedet/semantic/bovine/make.el" "cedet/semantic/bovine/scm-by.el" +;;;;;; "cedet/semantic/bovine/scm.el" "cedet/semantic/chart.el" +;;;;;; "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" "cedet/semantic/db-debug.el" +;;;;;; "cedet/semantic/db-ebrowse.el" "cedet/semantic/db-el.el" +;;;;;; "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" "cedet/semantic/db-global.el" +;;;;;; "cedet/semantic/db-javascript.el" "cedet/semantic/db-mode.el" +;;;;;; "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el" ;;;;;; "cedet/semantic/db.el" "cedet/semantic/debug.el" "cedet/semantic/decorate.el" ;;;;;; "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el" ;;;;;; "cedet/semantic/dep.el" "cedet/semantic/doc.el" "cedet/semantic/ede-grammar.el" @@ -32254,7 +31876,7 @@ Zone out, completely. ;;;;;; "cedet/semantic/wisent/java-tags.el" "cedet/semantic/wisent/javascript.el" ;;;;;; "cedet/semantic/wisent/javat-wy.el" "cedet/semantic/wisent/js-wy.el" ;;;;;; "cedet/semantic/wisent/python-wy.el" "cedet/semantic/wisent/python.el" -;;;;;; "cedet/semantic/wisent/wisent.el" "cedet/srecode.el" "cedet/srecode/args.el" +;;;;;; "cedet/semantic/wisent/wisent.el" "cedet/srecode/args.el" ;;;;;; "cedet/srecode/compile.el" "cedet/srecode/cpp.el" "cedet/srecode/ctxt.el" ;;;;;; "cedet/srecode/dictionary.el" "cedet/srecode/document.el" ;;;;;; "cedet/srecode/el.el" "cedet/srecode/expandproto.el" "cedet/srecode/extract.el" @@ -32266,18 +31888,17 @@ Zone out, completely. ;;;;;; "cus-dep.el" "dframe.el" "dired-aux.el" "dired-x.el" "dos-fns.el" ;;;;;; "dos-vars.el" "dos-w32.el" "dynamic-setting.el" "emacs-lisp/authors.el" ;;;;;; "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el" -;;;;;; "emacs-lisp/chart.el" "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el" -;;;;;; "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el" "emacs-lisp/cl.el" -;;;;;; "emacs-lisp/eieio-base.el" "emacs-lisp/eieio-datadebug.el" -;;;;;; "emacs-lisp/eieio-speedbar.el" "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el" -;;;;;; "emacs-lisp/gulp.el" "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el" -;;;;;; "emacs-lisp/regi.el" "emacs-lisp/tcover-ses.el" "emacs-lisp/tcover-unsafep.el" -;;;;;; "emulation/cua-gmrk.el" "emulation/cua-rect.el" "emulation/edt-lk201.el" -;;;;;; "emulation/edt-mapper.el" "emulation/edt-pc.el" "emulation/edt-vt100.el" -;;;;;; "emulation/tpu-extras.el" "emulation/viper-cmd.el" "emulation/viper-ex.el" -;;;;;; "emulation/viper-init.el" "emulation/viper-keym.el" "emulation/viper-macs.el" -;;;;;; "emulation/viper-mous.el" "emulation/viper-util.el" "erc/erc-backend.el" -;;;;;; "erc/erc-goodies.el" "erc/erc-ibuffer.el" "erc/erc-lang.el" +;;;;;; "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el" "emacs-lisp/cl-macs.el" +;;;;;; "emacs-lisp/cl-seq.el" "emacs-lisp/cl.el" "emacs-lisp/eieio-base.el" +;;;;;; "emacs-lisp/eieio-datadebug.el" "emacs-lisp/eieio-speedbar.el" +;;;;;; "emacs-lisp/find-gc.el" "emacs-lisp/gulp.el" "emacs-lisp/lisp-mnt.el" +;;;;;; "emacs-lisp/package-x.el" "emacs-lisp/smie.el" "emacs-lisp/tcover-ses.el" +;;;;;; "emacs-lisp/tcover-unsafep.el" "emulation/cua-gmrk.el" "emulation/cua-rect.el" +;;;;;; "emulation/edt-lk201.el" "emulation/edt-mapper.el" "emulation/edt-pc.el" +;;;;;; "emulation/edt-vt100.el" "emulation/tpu-extras.el" "emulation/viper-cmd.el" +;;;;;; "emulation/viper-ex.el" "emulation/viper-init.el" "emulation/viper-keym.el" +;;;;;; "emulation/viper-macs.el" "emulation/viper-mous.el" "emulation/viper-util.el" +;;;;;; "erc/erc-backend.el" "erc/erc-goodies.el" "erc/erc-ibuffer.el" ;;;;;; "eshell/em-alias.el" "eshell/em-banner.el" "eshell/em-basic.el" ;;;;;; "eshell/em-cmpl.el" "eshell/em-dirs.el" "eshell/em-glob.el" ;;;;;; "eshell/em-hist.el" "eshell/em-ls.el" "eshell/em-pred.el" @@ -32287,7 +31908,7 @@ Zone out, completely. ;;;;;; "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-groups.el" ;;;;;; "eshell/esh-io.el" "eshell/esh-module.el" "eshell/esh-opt.el" ;;;;;; "eshell/esh-proc.el" "eshell/esh-util.el" "eshell/esh-var.el" -;;;;;; "ezimage.el" "foldout.el" "format-spec.el" "fringe.el" "generic-x.el" +;;;;;; "ezimage.el" "format-spec.el" "fringe.el" "generic-x.el" ;;;;;; "gnus/compface.el" "gnus/gnus-async.el" "gnus/gnus-bcklg.el" ;;;;;; "gnus/gnus-cite.el" "gnus/gnus-cus.el" "gnus/gnus-demon.el" ;;;;;; "gnus/gnus-dup.el" "gnus/gnus-eform.el" "gnus/gnus-ems.el" @@ -32302,15 +31923,14 @@ Zone out, completely. ;;;;;; "gnus/mml-smime.el" "gnus/nnagent.el" "gnus/nnbabyl.el" "gnus/nndir.el" ;;;;;; "gnus/nndraft.el" "gnus/nneething.el" "gnus/nngateway.el" ;;;;;; "gnus/nnheader.el" "gnus/nnimap.el" "gnus/nnir.el" "gnus/nnmail.el" -;;;;;; "gnus/nnmaildir.el" "gnus/nnmairix.el" "gnus/nnmbox.el" "gnus/nnmh.el" -;;;;;; "gnus/nnnil.el" "gnus/nnoo.el" "gnus/nnregistry.el" "gnus/nnrss.el" -;;;;;; "gnus/nnspool.el" "gnus/nntp.el" "gnus/nnvirtual.el" "gnus/nnweb.el" -;;;;;; "gnus/registry.el" "gnus/rfc1843.el" "gnus/rfc2045.el" "gnus/rfc2047.el" -;;;;;; "gnus/rfc2104.el" "gnus/rfc2231.el" "gnus/rtree.el" "gnus/shr-color.el" -;;;;;; "gnus/sieve-manage.el" "gnus/smime.el" "gnus/spam-stat.el" -;;;;;; "gnus/spam-wash.el" "hex-util.el" "hfy-cmap.el" "ibuf-ext.el" -;;;;;; "international/cp51932.el" "international/eucjp-ms.el" "international/fontset.el" -;;;;;; "international/iso-ascii.el" "international/ja-dic-cnv.el" +;;;;;; "gnus/nnmaildir.el" "gnus/nnmbox.el" "gnus/nnmh.el" "gnus/nnnil.el" +;;;;;; "gnus/nnoo.el" "gnus/nnregistry.el" "gnus/nnrss.el" "gnus/nnspool.el" +;;;;;; "gnus/nntp.el" "gnus/nnvirtual.el" "gnus/nnweb.el" "gnus/registry.el" +;;;;;; "gnus/rfc1843.el" "gnus/rfc2045.el" "gnus/rfc2047.el" "gnus/rfc2104.el" +;;;;;; "gnus/rfc2231.el" "gnus/rtree.el" "gnus/sieve-manage.el" +;;;;;; "gnus/smime.el" "gnus/spam-stat.el" "gnus/spam-wash.el" "hex-util.el" +;;;;;; "hfy-cmap.el" "ibuf-ext.el" "international/cp51932.el" "international/eucjp-ms.el" +;;;;;; "international/fontset.el" "international/iso-ascii.el" "international/ja-dic-cnv.el" ;;;;;; "international/ja-dic-utl.el" "international/ogonek.el" "international/uni-bidi.el" ;;;;;; "international/uni-category.el" "international/uni-combining.el" ;;;;;; "international/uni-comment.el" "international/uni-decimal.el" @@ -32318,12 +31938,12 @@ Zone out, completely. ;;;;;; "international/uni-lowercase.el" "international/uni-mirrored.el" ;;;;;; "international/uni-name.el" "international/uni-numeric.el" ;;;;;; "international/uni-old-name.el" "international/uni-titlecase.el" -;;;;;; "international/uni-uppercase.el" "json.el" "kermit.el" "language/hanja-util.el" +;;;;;; "international/uni-uppercase.el" "kermit.el" "language/hanja-util.el" ;;;;;; "language/thai-word.el" "ldefs-boot.el" "loadup.el" "mail/blessmail.el" ;;;;;; "mail/mailheader.el" "mail/mspools.el" "mail/rfc2368.el" ;;;;;; "mail/rfc822.el" "mail/rmail-spam-filter.el" "mail/rmailedit.el" ;;;;;; "mail/rmailkwd.el" "mail/rmailmm.el" "mail/rmailmsc.el" "mail/rmailsort.el" -;;;;;; "mail/rmailsum.el" "mail/undigest.el" "md4.el" "mh-e/mh-acros.el" +;;;;;; "mail/rmailsum.el" "mail/undigest.el" "mh-e/mh-acros.el" ;;;;;; "mh-e/mh-alias.el" "mh-e/mh-buffers.el" "mh-e/mh-compat.el" ;;;;;; "mh-e/mh-funcs.el" "mh-e/mh-gnus.el" "mh-e/mh-identity.el" ;;;;;; "mh-e/mh-inc.el" "mh-e/mh-junk.el" "mh-e/mh-letter.el" "mh-e/mh-limit.el" @@ -32334,13 +31954,13 @@ Zone out, completely. ;;;;;; "mwheel.el" "net/dns.el" "net/eudc-vars.el" "net/eudcb-bbdb.el" ;;;;;; "net/eudcb-ldap.el" "net/eudcb-mab.el" "net/eudcb-ph.el" ;;;;;; "net/hmac-def.el" "net/hmac-md5.el" "net/imap.el" "net/ldap.el" -;;;;;; "net/mairix.el" "net/newsticker.el" "net/ntlm.el" "net/sasl-cram.el" -;;;;;; "net/sasl-digest.el" "net/sasl-ntlm.el" "net/sasl.el" "net/soap-client.el" -;;;;;; "net/soap-inspect.el" "net/socks.el" "net/tls.el" "net/tramp-adb.el" -;;;;;; "net/tramp-cache.el" "net/tramp-cmds.el" "net/tramp-compat.el" -;;;;;; "net/tramp-gvfs.el" "net/tramp-gw.el" "net/tramp-loaddefs.el" -;;;;;; "net/tramp-sh.el" "net/tramp-smb.el" "net/tramp-uu.el" "net/trampver.el" -;;;;;; "net/zeroconf.el" "notifications.el" "nxml/nxml-enc.el" "nxml/nxml-maint.el" +;;;;;; "net/mairix.el" "net/sasl-cram.el" "net/sasl-digest.el" "net/sasl.el" +;;;;;; "net/shr-color.el" "net/soap-client.el" "net/soap-inspect.el" +;;;;;; "net/socks.el" "net/tls.el" "net/tramp-adb.el" "net/tramp-cache.el" +;;;;;; "net/tramp-cmds.el" "net/tramp-compat.el" "net/tramp-gvfs.el" +;;;;;; "net/tramp-gw.el" "net/tramp-loaddefs.el" "net/tramp-sh.el" +;;;;;; "net/tramp-smb.el" "net/tramp-uu.el" "net/trampver.el" "net/zeroconf.el" +;;;;;; "notifications.el" "nxml/nxml-enc.el" "nxml/nxml-maint.el" ;;;;;; "nxml/nxml-ns.el" "nxml/nxml-outln.el" "nxml/nxml-parse.el" ;;;;;; "nxml/nxml-rap.el" "nxml/nxml-util.el" "nxml/rng-dt.el" "nxml/rng-loc.el" ;;;;;; "nxml/rng-maint.el" "nxml/rng-match.el" "nxml/rng-parse.el" @@ -32375,31 +31995,30 @@ Zone out, completely. ;;;;;; "org/org-remember.el" "org/org-rmail.el" "org/org-special-blocks.el" ;;;;;; "org/org-src.el" "org/org-table.el" "org/org-taskjuggler.el" ;;;;;; "org/org-timer.el" "org/org-vm.el" "org/org-w3m.el" "org/org-wl.el" -;;;;;; "org/org-xoxo.el" "play/gamegrid.el" "play/gametree.el" "play/meese.el" -;;;;;; "progmodes/ada-prj.el" "progmodes/cc-align.el" "progmodes/cc-awk.el" -;;;;;; "progmodes/cc-bytecomp.el" "progmodes/cc-cmds.el" "progmodes/cc-defs.el" -;;;;;; "progmodes/cc-fonts.el" "progmodes/cc-langs.el" "progmodes/cc-menus.el" -;;;;;; "progmodes/ebnf-abn.el" "progmodes/ebnf-bnf.el" "progmodes/ebnf-dtd.el" -;;;;;; "progmodes/ebnf-ebx.el" "progmodes/ebnf-iso.el" "progmodes/ebnf-otz.el" -;;;;;; "progmodes/ebnf-yac.el" "progmodes/idlw-complete-structtag.el" -;;;;;; "progmodes/idlw-help.el" "progmodes/idlw-toolbar.el" "progmodes/mantemp.el" -;;;;;; "progmodes/xscheme.el" "ps-def.el" "ps-mule.el" "ps-samp.el" -;;;;;; "saveplace.el" "sb-image.el" "scroll-bar.el" "select.el" -;;;;;; "soundex.el" "subdirs.el" "tempo.el" "textmodes/bib-mode.el" -;;;;;; "textmodes/makeinfo.el" "textmodes/page-ext.el" "textmodes/refbib.el" -;;;;;; "textmodes/refer.el" "textmodes/reftex-auc.el" "textmodes/reftex-dcr.el" -;;;;;; "textmodes/reftex-ref.el" "textmodes/reftex-sel.el" "textmodes/reftex-toc.el" -;;;;;; "textmodes/texnfo-upd.el" "timezone.el" "tooltip.el" "tree-widget.el" -;;;;;; "uniquify.el" "url/url-about.el" "url/url-cookie.el" "url/url-dired.el" -;;;;;; "url/url-domsuf.el" "url/url-expand.el" "url/url-ftp.el" -;;;;;; "url/url-future.el" "url/url-history.el" "url/url-imap.el" -;;;;;; "url/url-methods.el" "url/url-nfs.el" "url/url-proxy.el" -;;;;;; "url/url-vars.el" "vc/ediff-diff.el" "vc/ediff-init.el" "vc/ediff-merg.el" -;;;;;; "vc/ediff-ptch.el" "vc/ediff-vers.el" "vc/ediff-wind.el" -;;;;;; "vc/pcvs-info.el" "vc/pcvs-parse.el" "vc/pcvs-util.el" "vc/vc-dav.el" -;;;;;; "vcursor.el" "vt-control.el" "vt100-led.el" "w32-common-fns.el" -;;;;;; "w32-fns.el" "w32-vars.el" "x-dnd.el") (20905 51795 339257 -;;;;;; 114000)) +;;;;;; "org/org-xoxo.el" "play/gametree.el" "play/meese.el" "progmodes/ada-prj.el" +;;;;;; "progmodes/cc-align.el" "progmodes/cc-awk.el" "progmodes/cc-bytecomp.el" +;;;;;; "progmodes/cc-cmds.el" "progmodes/cc-defs.el" "progmodes/cc-fonts.el" +;;;;;; "progmodes/cc-langs.el" "progmodes/cc-menus.el" "progmodes/ebnf-abn.el" +;;;;;; "progmodes/ebnf-bnf.el" "progmodes/ebnf-dtd.el" "progmodes/ebnf-ebx.el" +;;;;;; "progmodes/ebnf-iso.el" "progmodes/ebnf-otz.el" "progmodes/ebnf-yac.el" +;;;;;; "progmodes/idlw-complete-structtag.el" "progmodes/idlw-help.el" +;;;;;; "progmodes/idlw-toolbar.el" "progmodes/mantemp.el" "progmodes/xscheme.el" +;;;;;; "ps-def.el" "ps-mule.el" "ps-samp.el" "saveplace.el" "sb-image.el" +;;;;;; "scroll-bar.el" "select.el" "soundex.el" "subdirs.el" "tempo.el" +;;;;;; "textmodes/bib-mode.el" "textmodes/makeinfo.el" "textmodes/page-ext.el" +;;;;;; "textmodes/refbib.el" "textmodes/refer.el" "textmodes/reftex-auc.el" +;;;;;; "textmodes/reftex-dcr.el" "textmodes/reftex-ref.el" "textmodes/reftex-sel.el" +;;;;;; "textmodes/reftex-toc.el" "textmodes/texnfo-upd.el" "timezone.el" +;;;;;; "tooltip.el" "tree-widget.el" "uniquify.el" "url/url-about.el" +;;;;;; "url/url-cookie.el" "url/url-dired.el" "url/url-domsuf.el" +;;;;;; "url/url-expand.el" "url/url-ftp.el" "url/url-future.el" +;;;;;; "url/url-history.el" "url/url-imap.el" "url/url-methods.el" +;;;;;; "url/url-nfs.el" "url/url-proxy.el" "url/url-vars.el" "vc/ediff-diff.el" +;;;;;; "vc/ediff-init.el" "vc/ediff-merg.el" "vc/ediff-ptch.el" +;;;;;; "vc/ediff-vers.el" "vc/ediff-wind.el" "vc/pcvs-info.el" "vc/pcvs-parse.el" +;;;;;; "vc/pcvs-util.el" "vc/vc-dav.el" "vcursor.el" "vt-control.el" +;;;;;; "vt100-led.el" "w32-common-fns.el" "w32-fns.el" "w32-vars.el" +;;;;;; "x-dnd.el") (20945 22525 596830 318000)) ;;;*** diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 3db1780af63..5e94265f67d 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,3 +1,8 @@ +2013-06-18 Juri Linkov <juri@jurta.org> + + * mh-alias.el (mh-alias-local-users): Add non-nil arg REPLACE to + the call of `shell-command-on-region'. (Bug#14637) + 2013-05-22 Glenn Morris <rgm@gnu.org> * mh-speed.el (mh-speed-view): @@ -98,7 +103,7 @@ 2012-11-25 Ted Phelps <phelps@gnusto.com> - Postpone junk processing (closes SF #2945712). Patch submitted by + Postpone junk processing (closes SF #2945712). Patch submitted by Ted Phelps and refined by Bill Wohler. * mh-e.el (mh-blacklist, mh-whitelist): New variables. @@ -106,7 +111,7 @@ (mh-before-commands-processed-hook): Update documentation. (mh-blacklist-msg-hook, mh-whitelist-msg-hook): New hooks. (mh-folder-blacklisted, mh-folder-whitelisted): New faces. - * mh-folder.el (mh-folder-message-menu): Add "Junk" to "Undo." + * mh-folder.el (mh-folder-message-menu): Add "Junk" to "Undo." (mh-folder-font-lock-keywords): Add regexps for blacklisted and whitelisted messages. (mh-folder-mode): Add mh-blacklist and mh-whitelist variables. @@ -144,8 +149,8 @@ X-MaxCode-Template:, X-ME-Bayesian:, X-Sendergroup:, X-SFDC-, X-SMFBL:, X-SMHeaderMap:, X-VGI-OESCD:, X-VirtualServer:, X-VirtualServerGroup:, X-XPT-XSL-Name:, X-Y-GMX-Trusted:, - X-XWALL-, X-ZixNet:. Changed X-Habeas-SWE- to X-Habeas-. Updated - the comment. (addresses SF #1916032). + X-XWALL-, X-ZixNet:. Changed X-Habeas-SWE- to X-Habeas-. Updated + the comment. (addresses SF #1916032). 2012-11-25 Bill Wohler <wohler@newt.com> @@ -154,7 +159,7 @@ X-Bayes-Prob, X-Cam-, X-CanIt-Geo, X-Completed, X-Facebook, X-Forwarded-, X-Generated-By, X-Headers-End, X-IEEE-UCE, X-Jira-Fingerprint, X-Junkmail-, X-Launchpad-, X-MXL-Hash, - X-Notification-, X-Notifications, X-Oracle-Calendar. Replace + X-Notification-, X-Notifications, X-Oracle-Calendar. Replace X-DCC-Usenix-Metrics with X-DCC- (addresses SF #1916032). 2012-11-25 Jeffrey C Honig <jch@honig.net> diff --git a/lisp/mh-e/mh-alias.el b/lisp/mh-e/mh-alias.el index cc56c981809..e97ba1dd83e 100644 --- a/lisp/mh-e/mh-alias.el +++ b/lisp/mh-e/mh-alias.el @@ -141,7 +141,7 @@ Exclude all aliases already in `mh-alias-alist' from \"ali\"" (insert-file-contents "/etc/passwd"))) ((stringp mh-alias-local-users) (insert mh-alias-local-users "\n") - (shell-command-on-region (point-min) (point-max) mh-alias-local-users t) + (shell-command-on-region (point-min) (point-max) mh-alias-local-users t t) (goto-char (point-min)))) (while (< (point) (point-max)) (cond diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 695b7a11424..feae435c779 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -233,6 +233,7 @@ regexp should probably be \".\" to specify a default browser." (function-item :tag "Galeon" :value browse-url-galeon) (function-item :tag "Epiphany" :value browse-url-epiphany) (function-item :tag "Netscape" :value browse-url-netscape) + (function-item :tag "eww" :value eww-browse-url) (function-item :tag "Mosaic" :value browse-url-mosaic) (function-item :tag "Mosaic using CCI" :value browse-url-cci) (function-item :tag "Text browser in an xterm window" diff --git a/lisp/net/eww.el b/lisp/net/eww.el new file mode 100644 index 00000000000..d832aa7ef3e --- /dev/null +++ b/lisp/net/eww.el @@ -0,0 +1,1114 @@ +;;; eww.el --- Emacs Web Wowser + +;; Copyright (C) 2013 Free Software Foundation, Inc. + +;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> +;; Keywords: html + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary: + +;;; Code: + +(eval-when-compile (require 'cl)) +(require 'format-spec) +(require 'shr) +(require 'url) +(require 'mm-url) + +(defgroup eww nil + "Emacs Web Wowser" + :version "24.4" + :group 'hypermedia + :prefix "eww-") + +(defcustom eww-header-line-format "%t: %u" + "Header line format. +- %t is replaced by the title. +- %u is replaced by the URL." + :version "24.4" + :group 'eww + :type 'string) + +(defcustom eww-search-prefix "https://duckduckgo.com/html/?q=" + "Prefix URL to search engine" + :version "24.4" + :group 'eww + :type 'string) + +(defcustom eww-download-path "~/Downloads/" + "Path where files will downloaded." + :version "24.4" + :group 'eww + :type 'string) + +(defface eww-form-submit + '((((type x w32 ns) (class color)) ; Like default mode line + :box (:line-width 2 :style released-button) + :background "#808080" :foreground "black")) + "Face for eww buffer buttons." + :version "24.4" + :group 'eww) + +(defface eww-form-checkbox + '((((type x w32 ns) (class color)) ; Like default mode line + :box (:line-width 2 :style released-button) + :background "lightgrey" :foreground "black")) + "Face for eww buffer buttons." + :version "24.4" + :group 'eww) + +(defface eww-form-select + '((((type x w32 ns) (class color)) ; Like default mode line + :box (:line-width 2 :style released-button) + :background "lightgrey" :foreground "black")) + "Face for eww buffer buttons." + :version "24.4" + :group 'eww) + +(defface eww-form-text + '((t (:background "#505050" + :foreground "white" + :box (:line-width 1)))) + "Face for eww text inputs." + :version "24.4" + :group 'eww) + +(defvar eww-current-url nil) +(defvar eww-current-title "" + "Title of current page.") +(defvar eww-history nil) +(defvar eww-history-position 0) + +(defvar eww-next-url nil) +(defvar eww-previous-url nil) +(defvar eww-up-url nil) +(defvar eww-home-url nil) +(defvar eww-start-url nil) +(defvar eww-contents-url nil) + +;;;###autoload +(defun eww (url) + "Fetch URL and render the page. +If the input doesn't look like an URL or a domain name, the +word(s) will be searched for via `eww-search-prefix'." + (interactive "sEnter URL or keywords: ") + (if (and (= (length (split-string url)) 1) + (> (length (split-string url "\\.")) 1)) + (progn + (unless (string-match-p "\\`[a-zA-Z][-a-zA-Z0-9+.]*://" url) + (setq url (concat "http://" url))) + ;; some site don't redirect final / + (when (string= (url-filename (url-generic-parse-url url)) "") + (setq url (concat url "/")))) + (unless (string-match-p "\\'file:" url) + (setq url (concat eww-search-prefix + (replace-regexp-in-string " " "+" url))))) + (url-retrieve url 'eww-render (list url))) + +;;;###autoload +(defun eww-open-file (file) + "Render a file using EWW." + (interactive "fFile: ") + (eww (concat "file://" (expand-file-name file)))) + +(defun eww-render (status url &optional point) + (let ((redirect (plist-get status :redirect))) + (when redirect + (setq url redirect))) + (set (make-local-variable 'eww-next-url) nil) + (set (make-local-variable 'eww-previous-url) nil) + (set (make-local-variable 'eww-up-url) nil) + (set (make-local-variable 'eww-home-url) nil) + (set (make-local-variable 'eww-start-url) nil) + (set (make-local-variable 'eww-contents-url) nil) + (let* ((headers (eww-parse-headers)) + (shr-target-id + (and (string-match "#\\(.*\\)" url) + (match-string 1 url))) + (content-type + (mail-header-parse-content-type + (or (cdr (assoc "content-type" headers)) + "text/plain"))) + (charset (intern + (downcase + (or (cdr (assq 'charset (cdr content-type))) + (eww-detect-charset (equal (car content-type) + "text/html")) + "utf8")))) + (data-buffer (current-buffer))) + (unwind-protect + (progn + (cond + ((equal (car content-type) "text/html") + (eww-display-html charset url)) + ((string-match "^image/" (car content-type)) + (eww-display-image)) + (t + (eww-display-raw charset))) + (setq eww-history-position 0) + (cond + (point + (goto-char point)) + (shr-target-id + (let ((point (next-single-property-change + (point-min) 'shr-target-id))) + (when point + (goto-char (1+ point))))))) + (kill-buffer data-buffer)))) + +(defun eww-parse-headers () + (let ((headers nil)) + (goto-char (point-min)) + (while (and (not (eobp)) + (not (eolp))) + (when (looking-at "\\([^:]+\\): *\\(.*\\)") + (push (cons (downcase (match-string 1)) + (match-string 2)) + headers)) + (forward-line 1)) + (unless (eobp) + (forward-line 1)) + headers)) + +(defun eww-detect-charset (html-p) + (let ((case-fold-search t) + (pt (point))) + (or (and html-p + (re-search-forward + "<meta[\t\n\r ]+[^>]*charset=\"?\\([^\t\n\r \"/>]+\\)[\\\"'.*]" nil t) + (goto-char pt) + (match-string 1)) + (and (looking-at + "[\t\n\r ]*<\\?xml[\t\n\r ]+[^>]*encoding=\"\\([^\"]+\\)") + (match-string 1))))) + +(defun eww-display-html (charset url) + (unless (eq charset 'utf8) + (decode-coding-region (point) (point-max) charset)) + (let ((document + (list + 'base (list (cons 'href url)) + (libxml-parse-html-region (point) (point-max))))) + (eww-setup-buffer) + (setq eww-current-url url) + (eww-update-header-line-format) + (let ((inhibit-read-only t) + (after-change-functions nil) + (shr-width nil) + (shr-external-rendering-functions + '((title . eww-tag-title) + (form . eww-tag-form) + (input . eww-tag-input) + (textarea . eww-tag-textarea) + (body . eww-tag-body) + (select . eww-tag-select) + (link . eww-tag-link) + (a . eww-tag-a)))) + (shr-insert-document document)) + (goto-char (point-min)))) + +(defun eww-handle-link (cont) + (let* ((rel (assq :rel cont)) + (href (assq :href cont)) + (where (assoc + ;; The text associated with :rel is case-insensitive. + (if rel (downcase (cdr rel))) + '(("next" . eww-next-url) + ;; Texinfo uses "previous", but HTML specifies + ;; "prev", so recognize both. + ("previous" . eww-previous-url) + ("prev" . eww-previous-url) + ;; HTML specifies "start" but also "contents", + ;; and Gtk seems to use "home". Recognize + ;; them all; but store them in different + ;; variables so that we can readily choose the + ;; "best" one. + ("start" . eww-start-url) + ("home" . eww-home-url) + ("contents" . eww-contents-url) + ("up" . eww-up-url))))) + (and href + where + (set (cdr where) (cdr href))))) + +(defun eww-tag-link (cont) + (eww-handle-link cont) + (shr-generic cont)) + +(defun eww-tag-a (cont) + (eww-handle-link cont) + (shr-tag-a cont)) + +(defun eww-update-header-line-format () + (if eww-header-line-format + (setq header-line-format + (replace-regexp-in-string + "%" "%%" + (format-spec eww-header-line-format + `((?u . ,eww-current-url) + (?t . ,eww-current-title))))) + (setq header-line-format nil))) + +(defun eww-tag-title (cont) + (setq eww-current-title "") + (dolist (sub cont) + (when (eq (car sub) 'text) + (setq eww-current-title (concat eww-current-title (cdr sub))))) + (eww-update-header-line-format)) + +(defun eww-tag-body (cont) + (let* ((start (point)) + (fgcolor (cdr (or (assq :fgcolor cont) + (assq :text cont)))) + (bgcolor (cdr (assq :bgcolor cont))) + (shr-stylesheet (list (cons 'color fgcolor) + (cons 'background-color bgcolor)))) + (shr-generic cont) + (eww-colorize-region start (point) fgcolor bgcolor))) + +(defun eww-colorize-region (start end fg &optional bg) + (when (or fg bg) + (let ((new-colors (shr-color-check fg bg))) + (when new-colors + (when fg + (add-face-text-property start end + (list :foreground (cadr new-colors)) + t)) + (when bg + (add-face-text-property start end + (list :background (car new-colors)) + t)))))) + +(defun eww-display-raw (charset) + (let ((data (buffer-substring (point) (point-max)))) + (eww-setup-buffer) + (let ((inhibit-read-only t)) + (insert data)) + (goto-char (point-min)))) + +(defun eww-display-image () + (let ((data (buffer-substring (point) (point-max)))) + (eww-setup-buffer) + (let ((inhibit-read-only t)) + (shr-put-image data nil)) + (goto-char (point-min)))) + +(defun eww-setup-buffer () + (pop-to-buffer (get-buffer-create "*eww*")) + (let ((inhibit-read-only t)) + (remove-overlays) + (erase-buffer)) + (unless (eq major-mode 'eww-mode) + (eww-mode))) + +(defvar eww-mode-map + (let ((map (make-sparse-keymap))) + (suppress-keymap map) + (define-key map "q" 'eww-quit) + (define-key map "g" 'eww-reload) + (define-key map [tab] 'shr-next-link) + (define-key map [backtab] 'shr-previous-link) + (define-key map [delete] 'scroll-down-command) + (define-key map "\177" 'scroll-down-command) + (define-key map " " 'scroll-up-command) + (define-key map "l" 'eww-back-url) + (define-key map "f" 'eww-forward-url) + (define-key map "n" 'eww-next-url) + (define-key map "p" 'eww-previous-url) + (define-key map "u" 'eww-up-url) + (define-key map "t" 'eww-top-url) + (define-key map "&" 'eww-browse-with-external-browser) + (define-key map "d" 'eww-download) + (define-key map "w" 'eww-copy-page-url) + (define-key map "C" 'url-cookie-list) + + (define-key map "b" 'eww-add-bookmark) + (define-key map "B" 'eww-list-bookmarks) + (define-key map [(meta n)] 'eww-next-bookmark) + (define-key map [(meta p)] 'eww-previous-bookmark) + + (easy-menu-define nil map "" + '("eww" + ["Quit" eww-quit t] + ["Reload" eww-reload t] + ["Back to previous page" eww-back-url + :active (not (zerop (length eww-history)))] + ["Forward to next page" eww-forward-url + :active (not (zerop eww-history-position))] + ["Browse with external browser" eww-browse-with-external-browser t] + ["Download" eww-download t] + ["Copy page URL" eww-copy-page-url t] + ["Add bookmark" eww-add-bookmark t] + ["List bookmarks" eww-copy-page-url t] + ["List cookies" url-cookie-list t])) + map)) + +(define-derived-mode eww-mode nil "eww" + "Mode for browsing the web. + +\\{eww-mode-map}" + (set (make-local-variable 'eww-current-url) 'author) + (set (make-local-variable 'browse-url-browser-function) 'eww-browse-url) + (set (make-local-variable 'after-change-functions) 'eww-process-text-input) + (set (make-local-variable 'eww-history) nil) + (set (make-local-variable 'eww-history-position) 0) + (buffer-disable-undo) + ;;(setq buffer-read-only t) + ) + +(defun eww-save-history () + (push (list :url eww-current-url + :title eww-current-title + :point (point) + :text (buffer-string)) + eww-history)) + +;;;###autoload +(defun eww-browse-url (url &optional new-window) + (when (and (equal major-mode 'eww-mode) + eww-current-url) + (eww-save-history)) + (eww url)) + +(defun eww-quit () + "Exit the Emacs Web Wowser." + (interactive) + (setq eww-history nil) + (kill-buffer (current-buffer))) + +(defun eww-back-url () + "Go to the previously displayed page." + (interactive) + (when (>= eww-history-position (length eww-history)) + (error "No previous page")) + (eww-save-history) + (setq eww-history-position (+ eww-history-position 2)) + (eww-restore-history (elt eww-history (1- eww-history-position)))) + +(defun eww-forward-url () + "Go to the next displayed page." + (interactive) + (when (zerop eww-history-position) + (error "No next page")) + (eww-save-history) + (eww-restore-history (elt eww-history (1- eww-history-position)))) + +(defun eww-restore-history (elem) + (let ((inhibit-read-only t)) + (erase-buffer) + (insert (plist-get elem :text)) + (goto-char (plist-get elem :point)) + (setq eww-current-url (plist-get elem :url) + eww-current-title (plist-get elem :title)))) + +(defun eww-next-url () + "Go to the page marked `next'. +A page is marked `next' if rel=\"next\" appears in a <link> +or <a> tag." + (interactive) + (if eww-next-url + (eww-browse-url (shr-expand-url eww-next-url eww-current-url)) + (error "No `next' on this page"))) + +(defun eww-previous-url () + "Go to the page marked `previous'. +A page is marked `previous' if rel=\"previous\" appears in a <link> +or <a> tag." + (interactive) + (if eww-previous-url + (eww-browse-url (shr-expand-url eww-previous-url eww-current-url)) + (error "No `previous' on this page"))) + +(defun eww-up-url () + "Go to the page marked `up'. +A page is marked `up' if rel=\"up\" appears in a <link> +or <a> tag." + (interactive) + (if eww-up-url + (eww-browse-url (shr-expand-url eww-up-url eww-current-url)) + (error "No `up' on this page"))) + +(defun eww-top-url () + "Go to the page marked `top'. +A page is marked `top' if rel=\"start\", rel=\"home\", or rel=\"contents\" +appears in a <link> or <a> tag." + (interactive) + (let ((best-url (or eww-start-url + eww-contents-url + eww-home-url))) + (if best-url + (eww-browse-url (shr-expand-url best-url eww-current-url)) + (error "No `top' for this page")))) + +(defun eww-reload () + "Reload the current page." + (interactive) + (url-retrieve eww-current-url 'eww-render + (list eww-current-url (point)))) + +;; Form support. + +(defvar eww-form nil) + +(defvar eww-submit-map + (let ((map (make-sparse-keymap))) + (define-key map "\r" 'eww-submit) + (define-key map [(control c) (control c)] 'eww-submit) + map)) + +(defvar eww-checkbox-map + (let ((map (make-sparse-keymap))) + (define-key map [space] 'eww-toggle-checkbox) + (define-key map "\r" 'eww-toggle-checkbox) + (define-key map [(control c) (control c)] 'eww-submit) + map)) + +(defvar eww-text-map + (let ((map (make-keymap))) + (set-keymap-parent map text-mode-map) + (define-key map "\r" 'eww-submit) + (define-key map [(control a)] 'eww-beginning-of-text) + (define-key map [(control c) (control c)] 'eww-submit) + (define-key map [(control e)] 'eww-end-of-text) + (define-key map [tab] 'shr-next-link) + (define-key map [backtab] 'shr-previous-link) + map)) + +(defvar eww-textarea-map + (let ((map (make-keymap))) + (set-keymap-parent map text-mode-map) + (define-key map "\r" 'forward-line) + (define-key map [(control c) (control c)] 'eww-submit) + (define-key map [tab] 'shr-next-link) + (define-key map [backtab] 'shr-previous-link) + map)) + +(defvar eww-select-map + (let ((map (make-sparse-keymap))) + (define-key map "\r" 'eww-change-select) + (define-key map [(control c) (control c)] 'eww-submit) + map)) + +(defun eww-beginning-of-text () + "Move to the start of the input field." + (interactive) + (goto-char (eww-beginning-of-field))) + +(defun eww-end-of-text () + "Move to the end of the text in the input field." + (interactive) + (goto-char (eww-end-of-field)) + (let ((start (eww-beginning-of-field))) + (while (and (equal (following-char) ? ) + (> (point) start)) + (forward-char -1)) + (when (> (point) start) + (forward-char 1)))) + +(defun eww-beginning-of-field () + (cond + ((bobp) + (point)) + ((not (eq (get-text-property (point) 'eww-form) + (get-text-property (1- (point)) 'eww-form))) + (point)) + (t + (previous-single-property-change + (point) 'eww-form nil (point-min))))) + +(defun eww-end-of-field () + (1- (next-single-property-change + (point) 'eww-form nil (point-max)))) + +(defun eww-tag-form (cont) + (let ((eww-form + (list (assq :method cont) + (assq :action cont))) + (start (point))) + (shr-ensure-paragraph) + (shr-generic cont) + (unless (bolp) + (insert "\n")) + (insert "\n") + (when (> (point) start) + (put-text-property start (1+ start) + 'eww-form eww-form)))) + +(defun eww-form-submit (cont) + (let ((start (point)) + (value (cdr (assq :value cont)))) + (setq value + (if (zerop (length value)) + "Submit" + value)) + (insert value) + (add-face-text-property start (point) 'eww-form-submit) + (put-text-property start (point) 'eww-form + (list :eww-form eww-form + :value value + :type "submit" + :name (cdr (assq :name cont)))) + (put-text-property start (point) 'keymap eww-submit-map) + (insert " "))) + +(defun eww-form-checkbox (cont) + (let ((start (point))) + (if (cdr (assq :checked cont)) + (insert "[X]") + (insert "[ ]")) + (add-face-text-property start (point) 'eww-form-checkbox) + (put-text-property start (point) 'eww-form + (list :eww-form eww-form + :value (cdr (assq :value cont)) + :type (downcase (cdr (assq :type cont))) + :checked (cdr (assq :checked cont)) + :name (cdr (assq :name cont)))) + (put-text-property start (point) 'keymap eww-checkbox-map) + (insert " "))) + +(defun eww-form-text (cont) + (let ((start (point)) + (type (downcase (or (cdr (assq :type cont)) + "text"))) + (value (or (cdr (assq :value cont)) "")) + (width (string-to-number + (or (cdr (assq :size cont)) + "40")))) + (insert value) + (when (< (length value) width) + (insert (make-string (- width (length value)) ? ))) + (put-text-property start (point) 'face 'eww-form-text) + (put-text-property start (point) 'local-map eww-text-map) + (put-text-property start (point) 'inhibit-read-only t) + (put-text-property start (point) 'eww-form + (list :eww-form eww-form + :value value + :type type + :name (cdr (assq :name cont)))) + (insert " "))) + +(defun eww-process-text-input (beg end length) + (let* ((form (get-text-property end 'eww-form)) + (properties (text-properties-at end)) + (type (plist-get form :type))) + (when (and form + (member type '("text" "password" "textarea"))) + (cond + ((zerop length) + ;; Delete some space at the end. + (save-excursion + (goto-char + (if (equal type "textarea") + (1- (line-end-position)) + (eww-end-of-field))) + (let ((new (- end beg))) + (while (and (> new 0) + (eql (following-char) ? )) + (delete-region (point) (1+ (point))) + (setq new (1- new)))) + (set-text-properties beg end properties))) + ((> length 0) + ;; Add padding. + (save-excursion + (goto-char + (if (equal type "textarea") + (1- (line-end-position)) + (eww-end-of-field))) + (let ((start (point))) + (insert (make-string length ? )) + (set-text-properties start (point) properties))))) + (let ((value (buffer-substring-no-properties + (eww-beginning-of-field) + (eww-end-of-field)))) + (when (string-match " +\\'" value) + (setq value (substring value 0 (match-beginning 0)))) + (plist-put form :value value) + (when (equal type "password") + ;; Display passwords as asterisks. + (let ((start (eww-beginning-of-field))) + (put-text-property start (+ start (length value)) + 'display (make-string (length value) ?*)))))))) + +(defun eww-tag-textarea (cont) + (let ((start (point)) + (value (or (cdr (assq :value cont)) "")) + (lines (string-to-number + (or (cdr (assq :rows cont)) + "10"))) + (width (string-to-number + (or (cdr (assq :cols cont)) + "10"))) + end) + (shr-ensure-newline) + (insert value) + (shr-ensure-newline) + (when (< (count-lines start (point)) lines) + (dotimes (i (- lines (count-lines start (point)))) + (insert "\n"))) + (setq end (point-marker)) + (goto-char start) + (while (< (point) end) + (end-of-line) + (let ((pad (- width (- (point) (line-beginning-position))))) + (when (> pad 0) + (insert (make-string pad ? )))) + (add-face-text-property (line-beginning-position) + (point) 'eww-form-text) + (put-text-property (line-beginning-position) (point) + 'local-map eww-textarea-map) + (forward-line 1)) + (put-text-property start (point) 'eww-form + (list :eww-form eww-form + :value value + :type "textarea" + :name (cdr (assq :name cont)))))) + +(defun eww-tag-input (cont) + (let ((type (downcase (or (cdr (assq :type cont)) + "text"))) + (start (point))) + (cond + ((or (equal type "checkbox") + (equal type "radio")) + (eww-form-checkbox cont)) + ((equal type "submit") + (eww-form-submit cont)) + ((equal type "hidden") + (let ((form eww-form) + (name (cdr (assq :name cont)))) + ;; Don't add <input type=hidden> elements repeatedly. + (while (and form + (or (not (consp (car form))) + (not (eq (caar form) 'hidden)) + (not (equal (plist-get (cdr (car form)) :name) + name)))) + (setq form (cdr form))) + (unless form + (nconc eww-form (list + (list 'hidden + :name name + :value (cdr (assq :value cont)))))))) + (t + (eww-form-text cont))) + (unless (= start (point)) + (put-text-property start (1+ start) 'help-echo "Input field")))) + +(defun eww-tag-select (cont) + (shr-ensure-paragraph) + (let ((menu (list :name (cdr (assq :name cont)) + :eww-form eww-form)) + (options nil) + (start (point)) + (max 0)) + (dolist (elem cont) + (when (eq (car elem) 'option) + (when (cdr (assq :selected (cdr elem))) + (nconc menu (list :value + (cdr (assq :value (cdr elem)))))) + (let ((display (or (cdr (assq 'text (cdr elem))) ""))) + (setq max (max max (length display))) + (push (list 'item + :value (cdr (assq :value (cdr elem))) + :display display) + options)))) + (when options + (setq options (nreverse options)) + ;; If we have no selected values, default to the first value. + (unless (plist-get menu :value) + (nconc menu (list :value (nth 2 (car options))))) + (nconc menu options) + (let ((selected (eww-select-display menu))) + (insert selected + (make-string (- max (length selected)) ? ))) + (put-text-property start (point) 'eww-form menu) + (add-face-text-property start (point) 'eww-form-select) + (put-text-property start (point) 'keymap eww-select-map) + (shr-ensure-paragraph)))) + +(defun eww-select-display (select) + (let ((value (plist-get select :value)) + display) + (dolist (elem select) + (when (and (consp elem) + (eq (car elem) 'item) + (equal value (plist-get (cdr elem) :value))) + (setq display (plist-get (cdr elem) :display)))) + display)) + +(defun eww-change-select () + "Change the value of the select drop-down menu under point." + (interactive) + (let* ((input (get-text-property (point) 'eww-form)) + (properties (text-properties-at (point))) + (completion-ignore-case t) + (options + (delq nil + (mapcar (lambda (elem) + (and (consp elem) + (eq (car elem) 'item) + (cons (plist-get (cdr elem) :display) + (plist-get (cdr elem) :value)))) + input))) + (display + (completing-read "Change value: " options nil 'require-match)) + (inhibit-read-only t)) + (plist-put input :value (cdr (assoc-string display options t))) + (goto-char + (eww-update-field display)))) + +(defun eww-update-field (string) + (let ((properties (text-properties-at (point))) + (start (eww-beginning-of-field)) + (end (1+ (eww-end-of-field)))) + (delete-region start end) + (insert string + (make-string (- (- end start) (length string)) ? )) + (set-text-properties start end properties) + start)) + +(defun eww-toggle-checkbox () + "Toggle the value of the checkbox under point." + (interactive) + (let* ((input (get-text-property (point) 'eww-form)) + (type (plist-get input :type))) + (if (equal type "checkbox") + (goto-char + (1+ + (if (plist-get input :checked) + (progn + (plist-put input :checked nil) + (eww-update-field "[ ]")) + (plist-put input :checked t) + (eww-update-field "[X]")))) + ;; Radio button. Switch all other buttons off. + (let ((name (plist-get input :name))) + (save-excursion + (dolist (elem (eww-inputs (plist-get input :eww-form))) + (when (equal (plist-get (cdr elem) :name) name) + (goto-char (car elem)) + (if (not (eq (cdr elem) input)) + (progn + (plist-put input :checked nil) + (eww-update-field "[ ]")) + (plist-put input :checked t) + (eww-update-field "[X]"))))) + (forward-char 1))))) + +(defun eww-inputs (form) + (let ((start (point-min)) + (inputs nil)) + (while (and start + (< start (point-max))) + (when (or (get-text-property start 'eww-form) + (setq start (next-single-property-change start 'eww-form))) + (when (eq (plist-get (get-text-property start 'eww-form) :eww-form) + form) + (push (cons start (get-text-property start 'eww-form)) + inputs)) + (setq start (next-single-property-change start 'eww-form)))) + (nreverse inputs))) + +(defun eww-input-value (input) + (let ((type (plist-get input :type)) + (value (plist-get input :value))) + (cond + ((equal type "textarea") + (with-temp-buffer + (insert value) + (goto-char (point-min)) + (while (re-search-forward "^ +\n\\| +$" nil t) + (replace-match "" t t)) + (buffer-string))) + (t + (if (string-match " +\\'" value) + (substring value 0 (match-beginning 0)) + value))))) + +(defun eww-submit () + "Submit the current form." + (interactive) + (let* ((this-input (get-text-property (point) 'eww-form)) + (form (plist-get this-input :eww-form)) + values next-submit) + (dolist (elem (sort (eww-inputs form) + (lambda (o1 o2) + (< (car o1) (car o2))))) + (let* ((input (cdr elem)) + (input-start (car elem)) + (name (plist-get input :name))) + (when name + (cond + ((member (plist-get input :type) '("checkbox" "radio")) + (when (plist-get input :checked) + (push (cons name (plist-get input :value)) + values))) + ((equal (plist-get input :type) "submit") + ;; We want the values from buttons if we hit a button if + ;; we hit enter on it, or if it's the first button after + ;; the field we did hit return on. + (when (or (eq input this-input) + (and (not (eq input this-input)) + (null next-submit) + (> input-start (point)))) + (setq next-submit t) + (push (cons name (plist-get input :value)) + values))) + (t + (push (cons name (eww-input-value input)) + values)))))) + (dolist (elem form) + (when (and (consp elem) + (eq (car elem) 'hidden)) + (push (cons (plist-get (cdr elem) :name) + (plist-get (cdr elem) :value)) + values))) + (if (and (stringp (cdr (assq :method form))) + (equal (downcase (cdr (assq :method form))) "post")) + (let ((url-request-method "POST") + (url-request-extra-headers + '(("Content-Type" . "application/x-www-form-urlencoded"))) + (url-request-data (mm-url-encode-www-form-urlencoded values))) + (eww-browse-url (shr-expand-url (cdr (assq :action form)) + eww-current-url))) + (eww-browse-url + (concat + (if (cdr (assq :action form)) + (shr-expand-url (cdr (assq :action form)) + eww-current-url) + eww-current-url) + "?" + (mm-url-encode-www-form-urlencoded values)))))) + +(defun eww-browse-with-external-browser () + "Browse the current URL with an external browser. +The browser to used is specified by the `shr-external-browser' variable." + (interactive) + (funcall shr-external-browser eww-current-url)) + +(defun eww-copy-page-url () + (interactive) + (message "%s" eww-current-url) + (kill-new eww-current-url)) + +(defun eww-download () + "Download URL under point to `eww-download-directory'." + (interactive) + (let ((url (get-text-property (point) 'shr-url))) + (if (not url) + (message "No URL under point") + (url-retrieve url 'eww-download-callback (list url))))) + +(defun eww-download-callback (status url) + (unless (plist-get status :error) + (let* ((obj (url-generic-parse-url url)) + (path (car (url-path-and-query obj))) + (file (eww-make-unique-file-name (file-name-nondirectory path) + eww-download-path))) + (write-file file) + (message "Saved %s" file)))) + +(defun eww-make-unique-file-name (file directory) + (cond + ((zerop (length file)) + (setq file "!")) + ((string-match "\\`[.]" file) + (setq file (concat "!" file)))) + (let ((base file) + (count 1)) + (while (file-exists-p (expand-file-name file directory)) + (setq file + (if (string-match "\\`\\(.*\\)\\([.][^.]+\\)" file) + (format "%s(%d)%s" (match-string 1 file) + count (match-string 2 file)) + (format "%s(%d)" file count))) + (setq count (1+ count))) + (expand-file-name file directory))) + +;;; Bookmarks code + +(defvar eww-bookmarks nil) + +(defun eww-add-bookmark () + "Add the current page to the bookmarks." + (interactive) + (eww-read-bookmarks) + (dolist (bookmark eww-bookmarks) + (when (equal eww-current-url + (plist-get bookmark :url)) + (error "Already bookmarked"))) + (let ((title (replace-regexp-in-string "[\n\t\r]" " " eww-current-title))) + (setq title (replace-regexp-in-string "\\` +\\| +\\'" "" title)) + (push (list :url eww-current-url + :title title + :time (current-time-string)) + eww-bookmarks)) + (eww-write-bookmarks) + (message "Bookmarked %s (%s)" eww-current-url eww-current-title)) + +(defun eww-write-bookmarks () + (with-temp-file (expand-file-name "eww-bookmarks" user-emacs-directory) + (insert ";; Auto-generated file; don't edit\n") + (pp eww-bookmarks (current-buffer)))) + +(defun eww-read-bookmarks () + (let ((file (expand-file-name "eww-bookmarks" user-emacs-directory))) + (setq eww-bookmarks + (unless (zerop (or (nth 7 (file-attributes file)) 0)) + (with-temp-buffer + (insert-file-contents file) + (read (current-buffer))))))) + +(defun eww-list-bookmarks () + "Display the bookmarks." + (interactive) + (eww-bookmark-prepare) + (pop-to-buffer "*eww bookmarks*")) + +(defun eww-bookmark-prepare () + (eww-read-bookmarks) + (when (null eww-bookmarks) + (error "No bookmarks are defined")) + (set-buffer (get-buffer-create "*eww bookmarks*")) + (eww-bookmark-mode) + (let ((format "%-40s %s") + (inhibit-read-only t) + start url) + (erase-buffer) + (setq header-line-format (concat " " (format format "URL" "Title"))) + (dolist (bookmark eww-bookmarks) + (setq start (point)) + (setq url (plist-get bookmark :url)) + (when (> (length url) 40) + (setq url (substring url 0 40))) + (insert (format format url + (plist-get bookmark :title)) + "\n") + (put-text-property start (1+ start) 'eww-bookmark bookmark)) + (goto-char (point-min)))) + +(defvar eww-bookmark-kill-ring nil) + +(defun eww-bookmark-kill () + "Kill the current bookmark." + (interactive) + (let* ((start (line-beginning-position)) + (bookmark (get-text-property start 'eww-bookmark)) + (inhibit-read-only t)) + (unless bookmark + (error "No bookmark on the current line")) + (forward-line 1) + (push (buffer-substring start (point)) eww-bookmark-kill-ring) + (delete-region start (point)) + (setq eww-bookmarks (delq bookmark eww-bookmarks)) + (eww-write-bookmarks))) + +(defun eww-bookmark-yank () + "Yank a previously killed bookmark to the current line." + (interactive) + (unless eww-bookmark-kill-ring + (error "No previously killed bookmark")) + (beginning-of-line) + (let ((inhibit-read-only t) + (start (point)) + bookmark) + (insert (pop eww-bookmark-kill-ring)) + (setq bookmark (get-text-property start 'eww-bookmark)) + (if (= start (point-min)) + (push bookmark eww-bookmarks) + (let ((line (count-lines start (point)))) + (setcdr (nthcdr (1- line) eww-bookmarks) + (cons bookmark (nthcdr line eww-bookmarks))))) + (eww-write-bookmarks))) + +(defun eww-bookmark-quit () + "Kill the current buffer." + (interactive) + (kill-buffer (current-buffer))) + +(defun eww-bookmark-browse () + "Browse the bookmark under point in eww." + (interactive) + (let ((bookmark (get-text-property (line-beginning-position) 'eww-bookmark))) + (unless bookmark + (error "No bookmark on the current line")) + ;; We wish to leave this window, but if it's the only window here, + ;; just let it remain. + (ignore-errors + (delete-window)) + (eww (plist-get bookmark :url)))) + +(defun eww-next-bookmark () + "Go to the next bookmark in the list." + (interactive) + (let ((first nil) + bookmark) + (unless (get-buffer "*eww bookmarks*") + (setq first t) + (eww-bookmark-prepare)) + (with-current-buffer (get-buffer "*eww bookmarks*") + (when (and (not first) + (not (eobp))) + (forward-line 1)) + (setq bookmark (get-text-property (line-beginning-position) + 'eww-bookmark)) + (unless bookmark + (error "No next bookmark"))) + (eww-browse-url (plist-get bookmark :url)))) + +(defun eww-previous-bookmark () + "Go to the previous bookmark in the list." + (interactive) + (let ((first nil) + bookmark) + (unless (get-buffer "*eww bookmarks*") + (setq first t) + (eww-bookmark-prepare)) + (with-current-buffer (get-buffer "*eww bookmarks*") + (if first + (goto-char (point-max)) + (beginning-of-line)) + ;; On the final line. + (when (eolp) + (forward-line -1)) + (if (bobp) + (error "No previous bookmark") + (forward-line -1)) + (setq bookmark (get-text-property (line-beginning-position) + 'eww-bookmark))) + (eww-browse-url (plist-get bookmark :url)))) + +(defvar eww-bookmark-mode-map + (let ((map (make-sparse-keymap))) + (suppress-keymap map) + (define-key map "q" 'eww-bookmark-quit) + (define-key map [(control k)] 'eww-bookmark-kill) + (define-key map [(control y)] 'eww-bookmark-yank) + (define-key map "\r" 'eww-bookmark-browse) + map)) + +(define-derived-mode eww-bookmark-mode nil "eww bookmarks" + "Mode for listing bookmarks. + +\\{eww-bookmark-mode-map}" + (buffer-disable-undo) + (setq buffer-read-only t + truncate-lines t)) + +(provide 'eww) + +;;; eww.el ends here diff --git a/lisp/net/secrets.el b/lisp/net/secrets.el index 1951b195886..b4e51348dde 100644 --- a/lisp/net/secrets.el +++ b/lisp/net/secrets.el @@ -310,13 +310,42 @@ It returns t if not." (defconst secrets-interface-item-type-generic "org.freedesktop.Secret.Generic" "The default item type we are using.") +;; We cannot use introspection, because some servers, like +;; mate-keyring-daemon, don't provide relevant data. Once the dust +;; has settled, we shall assume the new interface, and get rid of the test. (defconst secrets-struct-secret-content-type - (when (string-equal - (dbus-introspect-get-signature - :session secrets-service secrets-path secrets-interface-service - "GetSecrets" "out") - "a{o(oayays)}") - '("text/plain")) + (ignore-errors + (let ((content-type "text/plain") + (path (cadr + (dbus-call-method + :session secrets-service secrets-path + secrets-interface-service + "OpenSession" "plain" '(:variant "")))) + result) + ;; Create a dummy item. + (setq result + (dbus-call-method + :session secrets-service secrets-session-collection-path + secrets-interface-collection "CreateItem" + ;; Properties. + `(:array + (:dict-entry ,(concat secrets-interface-item ".Label") + (:variant "dummy")) + (:dict-entry ,(concat secrets-interface-item ".Type") + (:variant ,secrets-interface-item-type-generic))) + ;; Secret. + `(:struct :object-path ,path + (:array :signature "y") + ,(dbus-string-to-byte-array " ") + :string ,content-type) + ;; Don't replace. + nil)) + ;; Remove it. + (dbus-call-method + :session secrets-service (car result) + secrets-interface-item "Delete") + ;; Result. + `(,content-type))) "The content_type of a secret struct. It must be wrapped as list, because we add it via `append'. This is an interface introduced in 2011.") diff --git a/lisp/gnus/shr-color.el b/lisp/net/shr-color.el index 21f1fc4f004..21f1fc4f004 100644 --- a/lisp/gnus/shr-color.el +++ b/lisp/net/shr-color.el diff --git a/lisp/gnus/shr.el b/lisp/net/shr.el index 8cb16634e2b..bdc30bc9292 100644 --- a/lisp/gnus/shr.el +++ b/lisp/net/shr.el @@ -31,12 +31,13 @@ ;;; Code: (eval-when-compile (require 'cl)) +(eval-when-compile (require 'url)) ;For url-filename's setf handler. (require 'browse-url) (defgroup shr nil "Simple HTML Renderer" :version "24.1" - :group 'mail) + :group 'hypermedia) (defcustom shr-max-image-proportion 0.9 "How big pictures displayed are in relation to the window they're in. @@ -54,8 +55,9 @@ fit these criteria." :group 'shr :type '(choice (const nil) regexp)) -(defcustom shr-table-horizontal-line ?\s - "Character used to draw horizontal table lines." +(defcustom shr-table-horizontal-line nil + "Character used to draw horizontal table lines. +If nil, don't draw horizontal table lines." :group 'shr :type 'character) @@ -83,6 +85,20 @@ used." (const :tag "Use the width of the window" nil)) :group 'shr) +(defcustom shr-bullet "* " + "Bullet used for unordered lists. +Alternative suggestions are: +- \" \" +- \" \"" + :type 'string + :group 'shr) + +(defcustom shr-external-browser 'browse-url-default-browser + "Function used to launch an external browser." + :version "24.4" + :group 'shr + :type 'function) + (defvar shr-content-function nil "If bound, this should be a function that will return the content. This is used for cid: URLs, and the function is called with the @@ -115,25 +131,34 @@ cid: URL as the argument.") (defvar shr-base nil) (defvar shr-ignore-cache nil) (defvar shr-external-rendering-functions nil) -(defvar shr-final-table-render nil) +(defvar shr-target-id nil) +(defvar shr-inhibit-decoration nil) +(defvar shr-table-separator-length 1) (defvar shr-map (let ((map (make-sparse-keymap))) (define-key map "a" 'shr-show-alt-text) (define-key map "i" 'shr-browse-image) (define-key map "z" 'shr-zoom-image) + (define-key map [tab] 'shr-next-link) + (define-key map [backtab] 'shr-previous-link) + (define-key map [follow-link] 'mouse-face) (define-key map "I" 'shr-insert-image) - (define-key map "u" 'shr-copy-url) + (define-key map "w" 'shr-copy-url) (define-key map "v" 'shr-browse-url) (define-key map "o" 'shr-save-contents) (define-key map "\r" 'shr-browse-url) map)) ;; Public functions and commands. +(declare-function libxml-parse-html-region "xml.c" + (start end &optional base-url)) (defun shr-render-buffer (buffer) "Display the HTML rendering of the current buffer." (interactive (list (current-buffer))) + (or (fboundp 'libxml-parse-html-region) + (error "This function requires Emacs to be compiled with libxml2")) (pop-to-buffer "*html*") (erase-buffer) (shr-insert-document @@ -141,6 +166,17 @@ cid: URL as the argument.") (libxml-parse-html-region (point-min) (point-max)))) (goto-char (point-min))) +(defun shr-render-region (begin end &optional buffer) + "Display the HTML rendering of the region between BEGIN and END." + (interactive "r") + (unless (fboundp 'libxml-parse-html-region) + (error "This function requires Emacs to be compiled with libxml2")) + (with-current-buffer (or buffer (current-buffer)) + (let ((dom (libxml-parse-html-region begin end))) + (delete-region begin end) + (goto-char begin) + (shr-insert-document dom)))) + (defun shr-visit-file (file) "Parse FILE as an HTML document, and render it in a new buffer." (interactive "fHTML file name: ") @@ -158,7 +194,8 @@ DOM should be a parse tree as generated by (shr-state nil) (shr-start nil) (shr-base nil) - (shr-width (or shr-width (window-width)))) + (shr-preliminary-table-render 0) + (shr-width (or shr-width (1- (window-width))))) (shr-descend (shr-transform-dom dom)) (shr-remove-trailing-whitespace start (point)))) @@ -207,6 +244,40 @@ redirects somewhere else." (copy-region-as-kill (point-min) (point-max)) (message "Copied %s" url)))))) +(defun shr-next-link () + "Skip to the next link." + (interactive) + (let ((skip (text-property-any (point) (point-max) 'help-echo nil))) + (if (not (setq skip (text-property-not-all skip (point-max) + 'help-echo nil))) + (message "No next link") + (goto-char skip) + (message "%s" (get-text-property (point) 'help-echo))))) + +(defun shr-previous-link () + "Skip to the previous link." + (interactive) + (let ((start (point)) + (found nil)) + ;; Skip past the current link. + (while (and (not (bobp)) + (get-text-property (point) 'help-echo)) + (forward-char -1)) + ;; Find the previous link. + (while (and (not (bobp)) + (not (setq found (get-text-property (point) 'help-echo)))) + (forward-char -1)) + (if (not found) + (progn + (message "No previous link") + (goto-char start)) + ;; Put point at the start of the link. + (while (and (not (bobp)) + (get-text-property (point) 'help-echo)) + (forward-char -1)) + (forward-char 1) + (message "%s" (get-text-property (point) 'help-echo))))) + (defun shr-show-alt-text () "Show the ALT text of the image under point." (interactive) @@ -303,18 +374,24 @@ size, and full-buffer size." (shr-stylesheet shr-stylesheet) (start (point))) (when style - (if (string-match "color" style) + (if (string-match "color\\|display\\|border-collapse" style) (setq shr-stylesheet (nconc (shr-parse-style style) shr-stylesheet)) (setq style nil))) - (if (fboundp function) - (funcall function (cdr dom)) - (shr-generic (cdr dom))) - ;; If style is set, then this node has set the color. - (when style - (shr-colorize-region start (point) - (cdr (assq 'color shr-stylesheet)) - (cdr (assq 'background-color shr-stylesheet)))))) + ;; If we have a display:none, then just ignore this part of the + ;; DOM. + (unless (equal (cdr (assq 'display shr-stylesheet)) "none") + (if (fboundp function) + (funcall function (cdr dom)) + (shr-generic (cdr dom))) + (when (and shr-target-id + (equal (cdr (assq :id (cdr dom))) shr-target-id)) + (put-text-property start (1+ start) 'shr-target-id shr-target-id)) + ;; If style is set, then this node has set the color. + (when style + (shr-colorize-region start (point) + (cdr (assq 'color shr-stylesheet)) + (cdr (assq 'background-color shr-stylesheet))))))) (defun shr-generic (cont) (dolist (sub cont) @@ -484,31 +561,51 @@ size, and full-buffer size." (forward-char 1)))) (not failed))) -(defun shr-expand-url (url) - (if (or (not url) - (string-match "\\`[a-z]*:" url) - (not shr-base)) - ;; Absolute URL. - url - (let ((base shr-base)) - ;; Chop off query string. - (when (string-match "\\`\\([^?]+\\)[?]" base) - (setq base (match-string 1 base))) - ;; Chop off the bit after the last slash. - (when (string-match "\\`\\(.*\\)[/][^/]+" base) - (setq base (match-string 1 base))) - (cond - ((and (string-match "\\`//" url) - (string-match "\\`[a-z]*:" base)) - (concat (match-string 0 base) url)) - ((and (not (string-match "/\\'" base)) - (not (string-match "\\`/" url))) - (concat base "/" url)) - ((and (string-match "\\`/" url) - (string-match "\\(\\`[^:]*://[^/]+\\)/" base)) - (concat (match-string 1 base) url)) - (t - (concat base url)))))) +(defun shr-parse-base (url) + ;; Always chop off anchors. + (when (string-match "#.*" url) + (setq url (substring url 0 (match-beginning 0)))) + (let* ((parsed (url-generic-parse-url url)) + (local (url-filename parsed))) + (setf (url-filename parsed) "") + ;; Chop off the bit after the last slash. + (when (string-match "\\`\\(.*/\\)[^/]+\\'" local) + (setq local (match-string 1 local))) + ;; Always make the local bit end with a slash. + (when (and (not (zerop (length local))) + (not (eq (aref local (1- (length local))) ?/))) + (setq local (concat local "/"))) + (list (url-recreate-url parsed) + local + (url-type parsed) + url))) + +(defun shr-expand-url (url &optional base) + (setq base + (if base + (shr-parse-base base) + ;; Bound by the parser. + shr-base)) + (when (zerop (length url)) + (setq url nil)) + (cond ((or (not url) + (not base) + (string-match "\\`[a-z]*:" url)) + ;; Absolute URL. + (or url (car base))) + ((eq (aref url 0) ?/) + (if (and (> (length url) 1) + (eq (aref url 1) ?/)) + ;; //host...; just use the protocol + (concat (nth 2 base) ":" url) + ;; Just use the host name part. + (concat (car base) url))) + ((eq (aref url 0) ?#) + ;; A link to an anchor. + (concat (nth 3 base) url)) + (t + ;; Totally relative. + (concat (car base) (cadr base) url)))) (defun shr-ensure-newline () (unless (zerop (current-column)) @@ -523,7 +620,14 @@ size, and full-buffer size." (insert "\n")) (if (save-excursion (beginning-of-line) - (looking-at " *$")) + ;; If the current line is totally blank, and doesn't even + ;; have any face properties set, then delete the blank + ;; space. + (and (looking-at " *$") + (not (get-text-property (point) 'face)) + (not (= (next-single-property-change (point) 'face nil + (line-end-position)) + (line-end-position))))) (delete-region (match-beginning 0) (match-end 0)) (insert "\n\n"))))) @@ -537,29 +641,25 @@ size, and full-buffer size." (dolist (type types) (shr-add-font (or shr-start (point)) (point) type)))) -(defun shr-make-overlay (beg end &optional buffer front-advance rear-advance) - (let ((overlay (make-overlay beg end buffer front-advance rear-advance))) - (overlay-put overlay 'evaporate t) - overlay)) - -;; Add an overlay in the region, but avoid putting the font properties -;; on blank text at the start of the line, and the newline at the end, -;; to avoid ugliness. +;; Add face to the region, but avoid putting the font properties on +;; blank text at the start of the line, and the newline at the end, to +;; avoid ugliness. (defun shr-add-font (start end type) - (save-excursion - (goto-char start) - (while (< (point) end) - (when (bolp) - (skip-chars-forward " ")) - (let ((overlay (shr-make-overlay (point) (min (line-end-position) end)))) - (overlay-put overlay 'face type)) - (if (< (line-end-position) end) - (forward-line 1) - (goto-char end))))) - -(defun shr-browse-url () - "Browse the URL under point." - (interactive) + (unless shr-inhibit-decoration + (save-excursion + (goto-char start) + (while (< (point) end) + (when (bolp) + (skip-chars-forward " ")) + (add-face-text-property (point) (min (line-end-position) end) type t) + (if (< (line-end-position) end) + (forward-line 1) + (goto-char end)))))) + +(defun shr-browse-url (&optional external) + "Browse the URL under point. +If EXTERNAL, browse the URL using `shr-external-browser'." + (interactive "P") (let ((url (get-text-property (point) 'shr-url))) (cond ((not url) @@ -567,7 +667,9 @@ size, and full-buffer size." ((string-match "^mailto:" url) (browse-url-mail url)) (t - (browse-url url))))) + (if external + (funcall shr-external-browser url) + (browse-url url)))))) (defun shr-save-contents (directory) "Save the contents from URL in a file." @@ -642,10 +744,7 @@ size, and full-buffer size." (> (car (image-size image t)) 400)) (insert "\n")) (if (eq size 'original) - (let ((overlays (overlays-at (point)))) - (insert-sliced-image image (or alt "*") nil 20 1) - (dolist (overlay overlays) - (overlay-put overlay 'face 'default))) + (insert-sliced-image image (or alt "*") nil 20 1) (insert-image image (or alt "*"))) (put-text-property start (point) 'image-size size) (when (cond ((fboundp 'image-multi-frame-p) @@ -662,34 +761,19 @@ size, and full-buffer size." (defun shr-rescale-image (data &optional force) "Rescale DATA, if too big, to fit the current buffer. If FORCE, rescale the image anyway." - (let ((image (create-image data nil t :ascent 100))) - (if (or (not (fboundp 'imagemagick-types)) - (not (get-buffer-window (current-buffer)))) - image - (let* ((size (image-size image t)) - (width (car size)) - (height (cdr size)) - (edges (window-inside-pixel-edges - (get-buffer-window (current-buffer)))) - (window-width (truncate (* shr-max-image-proportion - (- (nth 2 edges) (nth 0 edges))))) - (window-height (truncate (* shr-max-image-proportion - (- (nth 3 edges) (nth 1 edges))))) - scaled-image) - (when (or force - (> height window-height)) - (setq image (or (create-image data 'imagemagick t - :height window-height - :ascent 100) - image)) - (setq size (image-size image t))) - (when (> (car size) window-width) - (setq image (or - (create-image data 'imagemagick t - :width window-width - :ascent 100) - image))) - image)))) + (if (or (not (fboundp 'imagemagick-types)) + (eq (image-type-from-data data) 'gif) + (not (get-buffer-window (current-buffer)))) + (create-image data nil t :ascent 100) + (let ((edges (window-inside-pixel-edges + (get-buffer-window (current-buffer))))) + (create-image + data 'imagemagick t + :ascent 100 + :max-width (truncate (* shr-max-image-proportion + (- (nth 2 edges) (nth 0 edges)))) + :max-height (truncate (* shr-max-image-proportion + (- (nth 3 edges) (nth 1 edges)))))))) ;; url-cache-extract autoloads url-cache. (declare-function url-cache-create-filename "url-cache" (url)) @@ -733,16 +817,14 @@ START, and END. Note that START and END should be markers." (apply #'shr-fontize-cont cont types) (shr-ensure-paragraph)) -(autoload 'widget-convert-button "wid-edit") - (defun shr-urlify (start url &optional title) - (widget-convert-button - 'url-link start (point) - :help-echo (if title (format "%s (%s)" url title) url) - :keymap shr-map - url) + (when (and title (string-match "ctx" title)) (debug)) (shr-add-font start (point) 'shr-link) - (put-text-property start (point) 'shr-url url)) + (add-text-properties + start (point) + (list 'shr-url url + 'help-echo (if title (format "%s (%s)" url title) url) + 'keymap shr-map))) (defun shr-encode-url (url) "Encode URL." @@ -774,36 +856,20 @@ ones, in case fg and bg are nil." (shr-color-visible bg fg))))))) (defun shr-colorize-region (start end fg &optional bg) - (when (or fg bg) + (when (and (not shr-inhibit-decoration) + (or fg bg)) (let ((new-colors (shr-color-check fg bg))) (when new-colors (when fg - (shr-put-color start end :foreground (cadr new-colors))) + (add-face-text-property start end + (list :foreground (cadr new-colors)) + t)) (when bg - (shr-put-color start end :background (car new-colors)))) + (add-face-text-property start end + (list :background (car new-colors)) + t))) new-colors))) -;; Put a color in the region, but avoid putting colors on blank -;; text at the start of the line, and the newline at the end, to avoid -;; ugliness. Also, don't overwrite any existing color information, -;; since this can be called recursively, and we want the "inner" color -;; to win. -(defun shr-put-color (start end type color) - (save-excursion - (goto-char start) - (while (< (point) end) - (when (and (bolp) - (not (eq type :background))) - (skip-chars-forward " ")) - (when (> (line-end-position) (point)) - (shr-put-color-1 (point) (min (line-end-position) end) type color)) - (if (< (line-end-position) end) - (forward-line 1) - (goto-char end))) - (when (and (eq type :background) - (= shr-table-depth 0)) - (shr-expand-newlines start end color)))) - (defun shr-expand-newlines (start end color) (save-restriction ;; Skip past all white space at the start and ends. @@ -824,7 +890,7 @@ ones, in case fg and bg are nil." (when (and (< (setq column (current-column)) width) (< (setq column (shr-previous-newline-padding-width column)) width)) - (let ((overlay (shr-make-overlay (point) (1+ (point))))) + (let ((overlay (make-overlay (point) (1+ (point))))) (overlay-put overlay 'before-string (concat (mapconcat @@ -854,25 +920,6 @@ ones, in case fg and bg are nil." 'before-string))))) (+ width previous-width)))) -(defun shr-put-color-1 (start end type color) - (let* ((old-props (get-text-property start 'face)) - (do-put (and (listp old-props) - (not (memq type old-props)))) - change) - (while (< start end) - (setq change (next-single-property-change start 'face nil end)) - (when do-put - (put-text-property start change 'face - (nconc (list type color) old-props))) - (setq old-props (get-text-property change 'face)) - (setq do-put (and (listp old-props) - (not (memq type old-props)))) - (setq start change)) - (when (and do-put - (> end start)) - (put-text-property start end 'face - (nconc (list type color old-props)))))) - ;;; Tag-specific rendering rules. (defun shr-tag-body (cont) @@ -894,8 +941,31 @@ ones, in case fg and bg are nil." (defun shr-tag-comment (cont) ) +(defun shr-dom-to-xml (dom) + "Convert DOM into a string containing the xml representation." + (let ((arg " ") + (text "")) + (dolist (sub (cdr dom)) + (cond + ((listp (cdr sub)) + (setq text (concat text (shr-dom-to-xml sub)))) + ((eq (car sub) 'text) + (setq text (concat text (cdr sub)))) + (t + (setq arg (concat arg (format "%s=\"%s\" " + (substring (symbol-name (car sub)) 1) + (cdr sub))))))) + (format "<%s%s>%s</%s>" + (car dom) + (substring arg 0 (1- (length arg))) + text + (car dom)))) + (defun shr-tag-svg (cont) - ) + (when (image-type-available-p 'svg) + (funcall shr-put-image-function + (shr-dom-to-xml (cons 'svg cont)) + "SVG Image"))) (defun shr-tag-sup (cont) (let ((start (point))) @@ -965,7 +1035,9 @@ ones, in case fg and bg are nil." plist))) (defun shr-tag-base (cont) - (setq shr-base (cdr (assq :href cont))) + (let ((base (cdr (assq :href cont)))) + (when base + (setq shr-base (shr-parse-base base)))) (shr-generic cont)) (defun shr-tag-a (cont) @@ -974,7 +1046,8 @@ ones, in case fg and bg are nil." (start (point)) shr-start) (shr-generic cont) - (when url + (when (and url + (not shr-inhibit-decoration)) (shr-urlify (or shr-start start) (shr-expand-url url) title)))) (defun shr-tag-object (cont) @@ -1074,6 +1147,21 @@ ones, in case fg and bg are nil." (shr-generic cont)) (shr-ensure-paragraph)) +(defun shr-tag-dl (cont) + (shr-ensure-paragraph) + (shr-generic cont) + (shr-ensure-paragraph)) + +(defun shr-tag-dt (cont) + (shr-ensure-newline) + (shr-generic cont) + (shr-ensure-newline)) + +(defun shr-tag-dd (cont) + (shr-ensure-newline) + (let ((shr-indentation (+ shr-indentation 4))) + (shr-generic cont))) + (defun shr-tag-ul (cont) (shr-ensure-paragraph) (let ((shr-list-mode 'ul)) @@ -1087,14 +1175,14 @@ ones, in case fg and bg are nil." (shr-ensure-paragraph)) (defun shr-tag-li (cont) - (shr-ensure-paragraph) + (shr-ensure-newline) (shr-indent) (let* ((bullet (if (numberp shr-list-mode) (prog1 (format "%d " shr-list-mode) (setq shr-list-mode (1+ shr-list-mode))) - "* ")) + shr-bullet)) (shr-indentation (+ shr-indentation (length bullet)))) (insert bullet) (shr-generic cont))) @@ -1111,12 +1199,7 @@ ones, in case fg and bg are nil." (shr-generic cont)) (defun shr-tag-span (cont) - (let ((title (cdr (assq :title cont)))) - (shr-generic cont) - (when title - (when shr-start - (let ((overlay (shr-make-overlay shr-start (point)))) - (overlay-put overlay 'help-echo title)))))) + (shr-generic cont)) (defun shr-tag-h1 (cont) (shr-heading cont 'bold 'underline)) @@ -1188,14 +1271,7 @@ ones, in case fg and bg are nil." (frame-width)) (setq truncate-lines t)) ;; Then render the table again with these new "hard" widths. - (let ((shr-final-table-render t)) - (shr-insert-table (shr-make-table cont sketch-widths t) sketch-widths))) - ;; Finally, insert all the images after the table. The Emacs buffer - ;; model isn't strong enough to allow us to put the images actually - ;; into the tables. - (when (zerop shr-table-depth) - (dolist (elem (shr-find-elements cont 'img)) - (shr-tag-img (cdr elem))))) + (shr-insert-table (shr-make-table cont sketch-widths t) sketch-widths))) (defun shr-tag-table (cont) (shr-ensure-paragraph) @@ -1259,7 +1335,13 @@ ones, in case fg and bg are nil." body)))))) (when bgcolor (shr-colorize-region start (point) (cdr (assq 'color shr-stylesheet)) - bgcolor)))) + bgcolor)) + ;; Finally, insert all the images after the table. The Emacs buffer + ;; model isn't strong enough to allow us to put the images actually + ;; into the tables. + (when (zerop shr-table-depth) + (dolist (elem (shr-find-elements cont 'img)) + (shr-tag-img (cdr elem)))))) (defun shr-find-elements (cont type) (let (result) @@ -1271,53 +1353,52 @@ ones, in case fg and bg are nil." (nreverse result))) (defun shr-insert-table (table widths) - (shr-insert-table-ruler widths) - (dolist (row table) - (let ((start (point)) - (height (let ((max 0)) - (dolist (column row) - (setq max (max max (cadr column)))) - max))) - (dotimes (i height) - (shr-indent) - (insert shr-table-vertical-line "\n")) - (dolist (column row) - (goto-char start) - (let ((lines (nth 2 column)) - (overlay-lines (nth 3 column)) - overlay overlay-line) - (dolist (line lines) - (setq overlay-line (pop overlay-lines)) - (end-of-line) - (insert line shr-table-vertical-line) - (dolist (overlay overlay-line) - (let ((o (shr-make-overlay (- (point) (nth 0 overlay) 1) - (- (point) (nth 1 overlay) 1))) - (properties (nth 2 overlay))) - (while properties - (overlay-put o (pop properties) (pop properties))))) - (forward-line 1)) - ;; Add blank lines at padding at the bottom of the TD, - ;; possibly. - (dotimes (i (- height (length lines))) - (end-of-line) - (let ((start (point))) - (insert (make-string (string-width (car lines)) ? ) - shr-table-vertical-line) - (when (nth 4 column) - (shr-put-color start (1- (point)) :background (nth 4 column)))) - (forward-line 1))))) - (shr-insert-table-ruler widths))) + (let* ((collapse (equal (cdr (assq 'border-collapse shr-stylesheet)) + "collapse")) + (shr-table-separator-length (if collapse 0 1)) + (shr-table-vertical-line (if collapse "" shr-table-vertical-line))) + (unless collapse + (shr-insert-table-ruler widths)) + (dolist (row table) + (let ((start (point)) + (height (let ((max 0)) + (dolist (column row) + (setq max (max max (cadr column)))) + max))) + (dotimes (i height) + (shr-indent) + (insert shr-table-vertical-line "\n")) + (dolist (column row) + (goto-char start) + (let ((lines (nth 2 column))) + (dolist (line lines) + (end-of-line) + (insert line shr-table-vertical-line) + (forward-line 1)) + ;; Add blank lines at padding at the bottom of the TD, + ;; possibly. + (dotimes (i (- height (length lines))) + (end-of-line) + (let ((start (point))) + (insert (make-string (string-width (car lines)) ? ) + shr-table-vertical-line) + (when (nth 4 column) + (shr-add-font start (1- (point)) + (list :background (nth 4 column))))) + (forward-line 1))))) + (unless collapse + (shr-insert-table-ruler widths))))) (defun shr-insert-table-ruler (widths) - (when (and (bolp) - (> shr-indentation 0)) - (shr-indent)) - (insert shr-table-corner) - (dotimes (i (length widths)) - (insert (make-string (aref widths i) shr-table-horizontal-line) - shr-table-corner)) - (insert "\n")) + (when shr-table-horizontal-line + (when (and (bolp) + (> shr-indentation 0)) + (shr-indent)) + (insert shr-table-corner) + (dotimes (i (length widths)) + (insert (make-string (aref widths i) shr-table-horizontal-line) + shr-table-corner)) + (insert "\n"))) (defun shr-table-widths (table natural-table suggested-widths) (let* ((length (length suggested-widths)) @@ -1353,20 +1434,66 @@ ones, in case fg and bg are nil." widths)) (defun shr-make-table (cont widths &optional fill) - (let ((trs nil)) + (or (cadr (assoc (list cont widths fill) shr-content-cache)) + (let ((data (shr-make-table-1 cont widths fill))) + (push (list (list cont widths fill) data) + shr-content-cache) + data))) + +(defun shr-make-table-1 (cont widths &optional fill) + (let ((trs nil) + (shr-inhibit-decoration (not fill)) + (rowspans (make-vector (length widths) 0)) + width colspan) (dolist (row cont) (when (eq (car row) 'tr) (let ((tds nil) (columns (cdr row)) (i 0) + (width-column 0) column) (while (< i (length widths)) - (setq column (pop columns)) + ;; If we previously had a rowspan definition, then that + ;; means that we now have a "missing" td/th element here. + ;; So just insert a dummy, empty one to (sort of) emulate + ;; rowspan. + (setq column + (if (zerop (aref rowspans i)) + (pop columns) + (aset rowspans i (1- (aref rowspans i))) + '(td))) (when (or (memq (car column) '(td th)) - (null column)) - (push (shr-render-td (cdr column) (aref widths i) fill) - tds) - (setq i (1+ i)))) + (not column)) + (when (cdr (assq :rowspan (cdr column))) + (aset rowspans i (+ (aref rowspans i) + (1- (string-to-number + (cdr (assq :rowspan (cdr column)))))))) + ;; Sanity check for invalid column-spans. + (when (>= width-column (length widths)) + (setq width-column 0)) + (setq width + (if column + (aref widths width-column) + 10)) + ;; Sanity check for degenerate tables. + (when (zerop width) + (setq width 10)) + (when (and fill + (setq colspan (cdr (assq :colspan (cdr column))))) + (setq colspan (string-to-number colspan)) + (dotimes (j (1- colspan)) + (if (> (+ i 1 j) (1- (length widths))) + (setq width (aref widths (1- (length widths)))) + (setq width (+ width + shr-table-separator-length + (aref widths (+ i 1 j)))))) + (setq width-column (+ width-column (1- colspan)))) + (when (or column + (not fill)) + (push (shr-render-td (cdr column) width fill) + tds)) + (setq i (1+ i) + width-column (1+ width-column)))) (push (nreverse tds) trs)))) (nreverse trs))) @@ -1376,7 +1503,7 @@ ones, in case fg and bg are nil." (fgcolor (cdr (assq :fgcolor cont))) (style (cdr (assq :style cont))) (shr-stylesheet shr-stylesheet) - overlays actual-colors) + actual-colors) (when style (setq style (and (string-match "color" style) (shr-parse-style style)))) @@ -1386,32 +1513,16 @@ ones, in case fg and bg are nil." (setq style (nconc (list (cons 'color fgcolor)) style))) (when style (setq shr-stylesheet (append style shr-stylesheet))) - (let ((cache (cdr (assoc (cons width cont) shr-content-cache)))) - (if cache - (progn - (insert (car cache)) - (let ((end (length (car cache)))) - (dolist (overlay (cadr cache)) - (let ((new-overlay - (shr-make-overlay (1+ (- end (nth 0 overlay))) - (1+ (- end (nth 1 overlay))))) - (properties (nth 2 overlay))) - (while properties - (overlay-put new-overlay - (pop properties) (pop properties))))))) - (let ((shr-width width) - (shr-indentation 0)) - (shr-descend (cons 'td cont))) - ;; Delete padding at the bottom of the TDs. - (delete-region - (point) - (progn - (skip-chars-backward " \t\n") - (end-of-line) - (point))) - (push (list (cons width cont) (buffer-string) - (shr-overlays-in-region (point-min) (point-max))) - shr-content-cache))) + (let ((shr-width width) + (shr-indentation 0)) + (shr-descend (cons 'td cont))) + ;; Delete padding at the bottom of the TDs. + (delete-region + (point) + (progn + (skip-chars-backward " \t\n") + (end-of-line) + (point))) (goto-char (point-min)) (let ((max 0)) (while (not (eobp)) @@ -1425,11 +1536,23 @@ ones, in case fg and bg are nil." (if (zerop (buffer-size)) (insert (make-string width ? )) ;; Otherwise, fill the buffer. - (while (not (eobp)) - (end-of-line) - (when (> (- width (current-column)) 0) - (insert (make-string (- width (current-column)) ? ))) - (forward-line 1))) + (let ((align (cdr (assq :align cont))) + length) + (while (not (eobp)) + (end-of-line) + (setq length (- width (current-column))) + (when (> length 0) + (cond + ((equal align "right") + (beginning-of-line) + (insert (make-string length ? ))) + ((equal align "center") + (insert (make-string (/ length 2) ? )) + (beginning-of-line) + (insert (make-string (- length (/ length 2)) ? ))) + (t + (insert (make-string length ? ))))) + (forward-line 1)))) (when style (setq actual-colors (shr-colorize-region @@ -1440,7 +1563,7 @@ ones, in case fg and bg are nil." (list max (count-lines (point-min) (point-max)) (split-string (buffer-string) "\n") - (shr-collect-overlays) + nil (car actual-colors)) max))))) @@ -1453,29 +1576,6 @@ ones, in case fg and bg are nil." (forward-line 1)) max)) -(defun shr-collect-overlays () - (save-excursion - (goto-char (point-min)) - (let ((overlays nil)) - (while (not (eobp)) - (push (shr-overlays-in-region (point) (line-end-position)) - overlays) - (forward-line 1)) - (nreverse overlays)))) - -(defun shr-overlays-in-region (start end) - (let (result) - (dolist (overlay (overlays-in start end)) - (push (list (if (> start (overlay-start overlay)) - (- end start) - (- end (overlay-start overlay))) - (if (< end (overlay-end overlay)) - 0 - (- end (overlay-end overlay))) - (overlay-properties overlay)) - result)) - (nreverse result))) - (defun shr-pro-rate-columns (columns) (let ((total-percentage 0) (widths (make-vector (length columns) 0))) diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el index 613b2067955..14fb8575fff 100644 --- a/lisp/net/tramp-adb.el +++ b/lisp/net/tramp-adb.el @@ -375,16 +375,6 @@ pass to the OPERATION." "ls --color=never" "ls"))) -(defun tramp-adb-get-toolbox (vec) - "Get shell toolbox implementation: `toolbox' for original distributions -or `busybox' for CyanogenMod based distributions" - (with-tramp-connection-property vec "toolbox" - (tramp-message vec 5 "Checking shell toolbox implementation") - (cond - ((zerop (tramp-adb-command-exit-status vec "busybox")) 'busybox) - ((zerop (tramp-adb-command-exit-status vec "toolbox")) 'toolbox) - (t 'unknown)))) - (defun tramp-adb--gnu-switches-to-ash (switches) "Almquist shell can't handle multiple arguments. diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el index 13a955ff579..4c6141fe42b 100644 --- a/lisp/net/tramp-cache.el +++ b/lisp/net/tramp-cache.el @@ -64,7 +64,7 @@ Every entry has the form (REGEXP PROPERTY VALUE). The regexp matches remote file names. It can be nil. PROPERTY is a string, and VALUE the corresponding value. They are used, if there is no -matching entry in for PROPERTY in `tramp-cache-data'." +matching entry for PROPERTY in `tramp-cache-data'." :group 'tramp :version "24.4" :type '(repeat (list (choice :tag "File Name regexp" regexp (const nil)) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index e45c2cf8511..d7316b8d2ea 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -862,7 +862,9 @@ of command line.") (set-file-selinux-context . tramp-sh-handle-set-file-selinux-context) (file-acl . tramp-sh-handle-file-acl) (set-file-acl . tramp-sh-handle-set-file-acl) - (vc-registered . tramp-sh-handle-vc-registered)) + (vc-registered . tramp-sh-handle-vc-registered) + (file-notify-add-watch . tramp-sh-handle-file-notify-add-watch) + (file-notify-rm-watch . tramp-sh-handle-file-notify-rm-watch)) "Alist of handler functions. Operations not mentioned here will be handled by the normal Emacs functions.") @@ -2669,7 +2671,7 @@ the result will be a local, non-Tramp, filename." (unless (memq (process-status proc) '(run open)) (let ((vec (tramp-get-connection-property proc "vector" nil))) (when vec - (tramp-message vec 5 "Sentinel called: `%s' `%s'" proc event) + (tramp-message vec 5 "Sentinel called: `%S' `%s'" proc event) (tramp-flush-connection-property proc) (tramp-flush-directory-property vec ""))))) @@ -3376,6 +3378,122 @@ Fall back to normal file name handler if no Tramp handler exists." ;; Default file name handlers, we don't care. (t (tramp-run-real-handler operation args))))))) +(defun tramp-sh-handle-file-notify-add-watch (file-name flags callback) + "Like `file-notify-add-watch' for Tramp files." + (setq file-name (expand-file-name file-name)) + (with-parsed-tramp-file-name file-name nil + (let* ((default-directory (file-name-directory file-name)) + command events filter p) + (cond + ;; gvfs-monitor-dir. + ((setq command (tramp-get-remote-gvfs-monitor-dir v)) + (setq filter 'tramp-sh-file-gvfs-monitor-dir-process-filter + p (start-file-process + "gvfs-monitor-dir" (generate-new-buffer " *gvfs-monitor-dir*") + command localname))) + ;; inotifywait. + ((setq command (tramp-get-remote-inotifywait v)) + (setq filter 'tramp-sh-file-inotifywait-process-filter + events + (cond + ((and (memq 'change flags) (memq 'attribute-change flags)) + "create,modify,move,delete,attrib") + ((memq 'change flags) "create,modify,move,delete") + ((memq 'attribute-change flags) "attrib")) + p (start-file-process + "inotifywait" (generate-new-buffer " *inotifywait*") + command "-mq" "-e" events localname))) + ;; None. + (t (tramp-error + v 'file-notify-error + "No file notification program found on %s" + (file-remote-p file-name)))) + ;; Return the process object as watch-descriptor. + (if (not (processp p)) + (tramp-error + v 'file-notify-error "`%s' failed to start on remote host" command) + (tramp-compat-set-process-query-on-exit-flag p nil) + (set-process-filter p filter) + p)))) + +(defun tramp-sh-file-gvfs-monitor-dir-process-filter (proc string) + "Read output from \"gvfs-monitor-dir\" and add corresponding file-notify events." + (let ((remote-prefix + (with-current-buffer (process-buffer proc) + (file-remote-p default-directory))) + (rest-string (tramp-compat-process-get proc 'rest-string))) + (when rest-string + (tramp-message proc 10 (format "Previous string:\n%s" rest-string))) + (tramp-message proc 6 (format "%S\n%s" proc string)) + (setq string (concat rest-string string) + ;; Attribute change is returned in unused wording. + string (replace-regexp-in-string + "ATTRIB CHANGED" "ATTRIBUTE_CHANGED" string)) + + (while (string-match + (concat "^[\n\r]*" + "Directory Monitor Event:[\n\r]+" + "Child = \\([^\n\r]+\\)[\n\r]+" + "\\(Other = \\([^\n\r]+\\)[\n\r]+\\)?" + "Event = \\([^[:blank:]]+\\)[\n\r]+") + string) + (let ((object + (list + proc + (intern-soft + (replace-regexp-in-string + "_" "-" (downcase (match-string 4 string)))) + ;; File names are returned as absolute paths. We must + ;; add the remote prefix. + (concat remote-prefix (match-string 1 string)) + (when (match-string 3 string) + (concat remote-prefix (match-string 3 string)))))) + (setq string (replace-match "" nil nil string)) + ;; Usually, we would add an Emacs event now. Unfortunately, + ;; `unread-command-events' does not accept several events at + ;; once. Therefore, we apply the callback directly. + (tramp-compat-funcall 'file-notify-callback object))) + + ;; Save rest of the string. + (when (zerop (length string)) (setq string nil)) + (when string (tramp-message proc 10 (format "Rest string:\n%s" string))) + (tramp-compat-process-put proc 'rest-string string))) + +(defun tramp-sh-file-inotifywait-process-filter (proc string) + "Read output from \"inotifywait\" and add corresponding file-notify events." + (tramp-message proc 6 (format "%S\n%s" proc string)) + (dolist (line (split-string string "[\n\r]+" 'omit-nulls)) + ;; Check, whether there is a problem. + (unless + (string-match + (concat "^[^[:blank:]]+" + "[[:blank:]]+\\([^[:blank:]]+\\)+" + "\\([[:blank:]]+\\([^\n\r]+\\)\\)?") + line) + (tramp-error proc 'file-notify-error "%s" line)) + + (let ((object + (list + proc + (mapcar + (lambda (x) + (intern-soft (replace-regexp-in-string "_" "-" (downcase x)))) + (split-string (match-string 1 line) "," 'omit-nulls)) + (match-string 3 line)))) + ;; Usually, we would add an Emacs event now. Unfortunately, + ;; `unread-command-events' does not accept several events at + ;; once. Therefore, we apply the callback directly. + (tramp-compat-funcall 'file-notify-callback object)))) + +(defvar file-notify-descriptors) +(defun tramp-sh-handle-file-notify-rm-watch (proc) + "Like `file-notify-rm-watch' for Tramp files." + ;; The descriptor must be a process object. + (unless (and (processp proc) (gethash proc file-notify-descriptors)) + (tramp-error proc 'file-notify-error "Not a valid descriptor %S" proc)) + (tramp-message proc 6 (format "Kill %S" proc)) + (kill-process proc)) + ;;; Internal Functions: (defun tramp-maybe-send-script (vec script name) @@ -3626,13 +3744,7 @@ file exists and nonzero exit status otherwise." (unless (string-equal shell default-shell) (tramp-message vec 5 "Starting remote shell `%s' for tilde expansion" shell) - (tramp-open-shell vec shell)) - - ;; Busyboxes tend to behave strange. We check for the existence. - (with-tramp-connection-property vec "busybox" - (tramp-send-command vec (format "%s --version" shell) t) - (let ((case-fold-search t)) - (and (string-match "busybox" (buffer-string)) t)))))) + (tramp-open-shell vec shell))))) ;; Utility functions. @@ -4458,6 +4570,9 @@ function waits for output unless NOOUTPUT is set." ;; We mark the command string that it can be erased in the output buffer. (tramp-set-connection-property p "check-remote-echo" t) (setq command (format "%s%s%s" tramp-echo-mark command tramp-echo-mark))) + ;; Some busyboxes tend to close the connection when we use the + ;; following syntax for here-documents. This we cannot test; it + ;; shall be set via `tramp-connection-properties'. (when (and (string-match "<<'EOF'" command) (not (tramp-get-connection-property vec "busybox" nil))) ;; Unset $PS1 when using here documents, in order to avoid @@ -4867,6 +4982,17 @@ Return ATTR." (tramp-message vec 5 "Finding a suitable `trash' command") (tramp-find-executable vec "trash" (tramp-get-remote-path vec)))) +(defun tramp-get-remote-gvfs-monitor-dir (vec) + (with-tramp-connection-property vec "gvfs-monitor-dir" + (tramp-message vec 5 "Finding a suitable `gvfs-monitor-dir' command") + (tramp-find-executable + vec "gvfs-monitor-dir" (tramp-get-remote-path vec) t t))) + +(defun tramp-get-remote-inotifywait (vec) + (with-tramp-connection-property vec "inotifywait" + (tramp-message vec 5 "Finding a suitable `inotifywait' command") + (tramp-find-executable vec "inotifywait" (tramp-get-remote-path vec) t t))) + (defun tramp-get-remote-id (vec) (with-tramp-connection-property vec "id" (tramp-message vec 5 "Finding POSIX `id' command") diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 4ec3a4b7829..f114c681fb7 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -1964,7 +1964,7 @@ ARGS are the arguments OPERATION has been called with." ;; Emacs 22+ only. 'set-file-times ;; Emacs 24+ only. - 'file-acl 'file-selinux-context + 'file-acl 'file-notify-add-watch 'file-selinux-context 'set-file-acl 'set-file-selinux-context ;; XEmacs only. 'abbreviate-file-name 'create-file-buffer @@ -2018,6 +2018,10 @@ ARGS are the arguments OPERATION has been called with." ;; XEmacs only. 'dired-print-file 'dired-shell-call-process)) default-directory) + ;; PROC. + ((eq operation 'file-notify-rm-watch) + (with-current-buffer (process-buffer (nth 0 args)) + default-directory)) ;; Unknown file primitive. (t (error "unknown file I/O primitive: %s" operation)))) @@ -4156,6 +4160,9 @@ Only works for Bourne-like shells." ;; * Run emerge on two remote files. Bug is described here: ;; <http://www.mail-archive.com/tramp-devel@nongnu.org/msg01041.html>. ;; (Bug#6850) +;; * Use also port to distinguish connections. This is needed for +;; different hosts sitting behind a single router (distinguished by +;; different port numbers). (Tzvi Edelman) ;;; tramp.el ends here diff --git a/lisp/net/webjump.el b/lisp/net/webjump.el index 8e23a719f8b..a7db6d0a73b 100644 --- a/lisp/net/webjump.el +++ b/lisp/net/webjump.el @@ -217,6 +217,9 @@ "www.emacswiki.org/cgi-bin/wiki/" ""]) ;; Internet search engines. + ("DuckDuckGo" . + [simple-query "duckduckgo.com" + "duckduckgo.com/?q=" ""]) ("Google" . [simple-query "www.google.com" "www.google.com/search?q=" ""]) diff --git a/lisp/newcomment.el b/lisp/newcomment.el index bcb5f721ae8..19a06bfe8e5 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el @@ -446,7 +446,9 @@ in strings will not confuse Emacs.") "Find a comment start between point and LIMIT. Moves point to inside the comment and returns the position of the comment-starter. If no comment is found, moves point to LIMIT -and raises an error or returns nil if NOERROR is non-nil." +and raises an error or returns nil if NOERROR is non-nil. + +Ensure that `comment-normalize-vars' has been called before you use this." (if (not comment-use-syntax) (if (re-search-forward comment-start-skip limit noerror) (or (match-end 1) (match-beginning 0)) @@ -484,7 +486,9 @@ and raises an error or returns nil if NOERROR is non-nil." "Find a comment start between LIMIT and point. Moves point to inside the comment and returns the position of the comment-starter. If no comment is found, moves point to LIMIT -and raises an error or returns nil if NOERROR is non-nil." +and raises an error or returns nil if NOERROR is non-nil. + +Ensure that `comment-normalize-vars' has been called before you use this." ;; FIXME: If a comment-start appears inside a comment, we may erroneously ;; stop there. This can be rather bad in general, but since ;; comment-search-backward is only used to find the comment-column (in diff --git a/lisp/obsolete/otodo-mode.el b/lisp/obsolete/otodo-mode.el new file mode 100644 index 00000000000..c3a4b082be3 --- /dev/null +++ b/lisp/obsolete/otodo-mode.el @@ -0,0 +1,976 @@ +;;; todo-mode.el --- major mode for editing TODO list files + +;; Copyright (C) 1997, 1999, 2001-2013 Free Software Foundation, Inc. + +;; Author: Oliver Seidel <privat@os10000.net> +;; Maintainer: Stephen Berman <stephen.berman@gmx.net> +;; Created: 2 Aug 1997 +;; Keywords: calendar, todo +;; Obsolete-since: 24.4 + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. + +;; --------------------------------------------------------------------------- + +;;; Commentary: + +;; Mode Description +;; +;; TODO is a major mode for EMACS which offers functionality to +;; treat most lines in one buffer as a list of items one has to +;; do. There are facilities to add new items, which are +;; categorized, to edit or even delete items from the buffer. +;; The buffer contents are currently compatible with the diary, +;; so that the list of todo-items will show up in the FANCY diary +;; mode. +;; +;; Notice: Besides the major mode, this file also exports the +;; function `todo-show' which will change to the one specific +;; TODO file that has been specified in the todo-file-do +;; variable. If this file does not conform to the TODO mode +;; conventions, the todo-show function will add the appropriate +;; header and footer. I don't anticipate this to cause much +;; grief, but be warned, in case you attempt to read a plain text +;; file. +;; +;; Preface, Quickstart Installation +;; +;; To get this to work, make Emacs execute the line +;; +;; (autoload 'todo-mode "todo-mode" +;; "Major mode for editing TODO lists." t) +;; (autoload 'todo-show "todo-mode" +;; "Show TODO items." t) +;; (autoload 'todo-insert-item "todo-mode" +;; "Add TODO item." t) +;; +;; You may now enter new items by typing "M-x todo-insert-item", +;; or enter your TODO list file by typing "M-x todo-show". +;; +;; The TODO list file has a special format and some auxiliary +;; information, which will be added by the todo-show function if +;; it attempts to visit an un-initialized file. Hence it is +;; recommended to use the todo-show function for the first time, +;; in order to initialize the file, but it is not necessary +;; afterwards. +;; +;; As these commands are quite long to type, I would recommend +;; the addition of two bindings to your to your global keymap. I +;; personally have the following in my initialization file: +;; +;; (global-set-key "\C-ct" 'todo-show) ; switch to TODO buffer +;; (global-set-key "\C-ci" 'todo-insert-item) ; insert new item +;; +;; Note, however, that this recommendation has prompted some +;; criticism, since the keys C-c LETTER are reserved for user +;; functions. I believe my recommendation is acceptable, since +;; the Emacs Lisp Manual *Tips* section also details that the +;; mode itself should not bind any functions to those keys. The +;; express aim of the above two bindings is to work outside the +;; mode, which doesn't need the show function and offers a +;; different binding for the insert function. They serve as +;; shortcuts and are not even needed (since the TODO mode will be +;; entered by visiting the TODO file, and later by switching to +;; its buffer). +;; +;; If you are an advanced user of this package, please consult +;; the whole source code for autoloads, because there are several +;; extensions that are not explicitly listed in the above quick +;; installation. +;; +;; Pre-Requisites +;; +;; This package will require the following packages to be +;; available on the load-path: +;; +;; time-stamp +;; easymenu +;; +;; Operation +;; +;; You will have the following facilities available: +;; +;; M-x todo-show will enter the todo list screen, here type +;; +;; + to go to next category +;; - to go to previous category +;; d to file the current entry, including a +;; comment and timestamp +;; e to edit the current entry +;; E to edit a multi-line entry +;; f to file the current entry, including a +;; comment and timestamp +;; i to insert a new entry, with prefix, omit category +;; I to insert a new entry at current cursor position +;; j jump to category +;; k to kill the current entry +;; l to lower the current entry's priority +;; n for the next entry +;; p for the previous entry +;; P print +;; q to save the list and exit the buffer +;; r to raise the current entry's priority +;; s to save the list +;; S to save the list of top priorities +;; t show top priority items for each category +;; +;; When you add a new entry, you are asked for the text and then +;; for the category. I for example have categories for things +;; that I want to do in the office (like mail my mum), that I +;; want to do in town (like buy cornflakes) and things I want to +;; do at home (move my suitcases). The categories can be +;; selected with the cursor keys and if you type in the name of a +;; category which didn't exist before, an empty category of the +;; desired name will be added and filled with the new entry. +;; +;; Configuration +;; +;; Variable todo-prefix +;; +;; I would like to recommend that you use the prefix "*/*" (by +;; leaving the variable 'todo-prefix' untouched) so that the +;; diary displays each entry every day. +;; +;; To understand what I mean, please read the documentation that +;; goes with the calendar since that will tell you how you can +;; set up the fancy diary display and use the #include command to +;; include your todo list file as part of your diary. +;; +;; If you have the diary package set up to usually display more +;; than one day's entries at once, consider using +;; +;; "&%%(equal (calendar-current-date) date)" +;; +;; as the value of `todo-prefix'. Please note that this may slow +;; down the processing of your diary file some. +;; +;; Carsten Dominik <dominik@strw.LeidenUniv.nl> suggested that +;; +;; "&%%(todo-cp)" +;; +;; might be nicer and to that effect a function has been declared +;; further down in the code. You may wish to auto-load this. +;; +;; Carsten also writes that that *changing* the prefix after the +;; todo list is already established is not as simple as changing +;; the variable - the todo files have to be changed by hand. +;; +;; Variable todo-file-do +;; +;; This variable is fairly self-explanatory. You have to store +;; your TODO list somewhere. This variable tells the package +;; where to go and find this file. +;; +;; Variable todo-file-done +;; +;; Even when you're done, you may wish to retain the entries. +;; Given that they're timestamped and you are offered to add a +;; comment, this can make a useful diary of past events. It will +;; even blend in with the EMACS diary package. So anyway, this +;; variable holds the name of the file for the filed todo-items. +;; +;; Variable todo-file-top +;; +;; File storing the top priorities of your TODO list when +;; todo-save-top-priorities is non-nil. Nice to include in your +;; diary instead of the complete TODO list. +;; +;; Variable todo-mode-hook +;; +;; Just like other modes, too, this mode offers to call your +;; functions before it goes about its business. This variable +;; will be inspected for any functions you may wish to have +;; called once the other TODO mode preparations have been +;; completed. +;; +;; Variable todo-insert-threshold +;; +;; Another nifty feature is the insertion accuracy. If you have +;; 8 items in your TODO list, then you may get asked 4 questions +;; by the binary insertion algorithm. However, you may not +;; really have a need for such accurate priorities amongst your +;; TODO items. If you now think about the binary insertion +;; halving the size of the window each time, then the threshold +;; is the window size at which it will stop. If you set the +;; threshold to zero, the upper and lower bound will coincide at +;; the end of the loop and you will insert your item just before +;; that point. If you set the threshold to, e.g. 8, it will stop +;; as soon as the window size drops below that amount and will +;; insert the item in the approximate center of that window. I +;; got the idea for this feature after reading a very helpful +;; e-mail reply from Trey Jackson <trey@cs.berkeley.edu> who +;; corrected some of my awful coding and pointed me towards some +;; good reading. Thanks Trey! +;; +;; Things to do +;; +;; These originally were my ideas, but now also include all the +;; suggestions that I included before forgetting them: +;; +;; o Fancy fonts for todo/top-priority buffer +;; o Remove todo-prefix option in todo-top-priorities +;; o Rename category +;; o Move entry from one category to another one +;; o Entries which both have the generic */* prefix and a +;; "deadline" entry which are understood by diary, indicating +;; an event (unless marked by &) +;; o The optional COUNT variable of todo-forward-item should be +;; applied to the other functions performing similar tasks +;; o Modularization could be done for repeated elements of +;; the code, like the completing-read lines of code. +;; o license / version function +;; o export to diary file +;; o todo-report-bug +;; o GNATS support +;; o elide multiline (as in bbdb, or, to a lesser degree, in +;; outline mode) +;; o rewrite complete package to store data as Lisp objects +;; and have display modes for display, for diary export, +;; etc. (Richard Stallman pointed out this is a bad idea) +;; o so base todo-mode.el on generic-mode.el instead +;; +;; History and Gossip +;; +;; Many thanks to all the ones who have contributed to the +;; evolution of this package! I hope I have listed all of you +;; somewhere in the documentation or at least in the RCS history! +;; +;; Enjoy this package and express your gratitude by sending nice +;; things to my parents' address! +;; +;; Oliver Seidel +;; (Lessingstr. 8, 65760 Eschborn, Federal Republic of Germany) + +;;; Code: + +(require 'time-stamp) + + +;; User-configurable variables: + +(defgroup todo nil + "Maintain a list of todo items." + :link '(emacs-commentary-link "todo-mode") + :version "21.1" + :group 'calendar) + +(defcustom todo-prefix "*/*" + "TODO mode prefix for entries. + +This is useful in conjunction with `calendar' and `diary' if you use + +#include \"~/.todo-do\" + +in your diary file to include your todo list file as part of your +diary. With the default value \"*/*\" the diary displays each entry +every day and it may also be marked on every day of the calendar. +Using \"&%%(equal (calendar-current-date) date)\" instead will only +show and mark todo entries for today, but may slow down processing of +the diary file somewhat." + :type 'string + :group 'todo) +(defcustom todo-file-do (locate-user-emacs-file "todo-do" ".todo-do") + "TODO mode list file." + :type 'file + :group 'todo) +(defcustom todo-file-done (locate-user-emacs-file "todo-done" ".todo-done") + "TODO mode archive file." + :type 'file + :group 'todo) +(defcustom todo-mode-hook nil + "TODO mode hooks." + :type 'hook + :group 'todo) +(defcustom todo-edit-mode-hook nil + "TODO Edit mode hooks." + :type 'hook + :group 'todo) +(defcustom todo-insert-threshold 0 + "TODO mode insertion accuracy. + +If you have 8 items in your TODO list, then you may get asked 4 +questions by the binary insertion algorithm. However, you may not +really have a need for such accurate priorities amongst your TODO +items. If you now think about the binary insertion halving the size +of the window each time, then the threshold is the window size at +which it will stop. If you set the threshold to zero, the upper and +lower bound will coincide at the end of the loop and you will insert +your item just before that point. If you set the threshold to, +e.g. 8, it will stop as soon as the window size drops below that +amount and will insert the item in the approximate center of that +window." + :type 'integer + :group 'todo) +(defvar todo-edit-buffer " *TODO Edit*" + "TODO Edit buffer name.") +(defcustom todo-file-top (locate-user-emacs-file "todo-top" ".todo-top") + "TODO mode top priorities file. + +Not in TODO format, but diary compatible. +Automatically generated when `todo-save-top-priorities' is non-nil." + :type 'string + :group 'todo) + +(defcustom todo-print-function 'ps-print-buffer-with-faces + "Function to print the current buffer." + :type 'symbol + :group 'todo) +(defcustom todo-show-priorities 1 + "Default number of priorities to show by \\[todo-top-priorities]. +0 means show all entries." + :type 'integer + :group 'todo) +(defcustom todo-print-priorities 0 + "Default number of priorities to print by \\[todo-print]. +0 means print all entries." + :type 'integer + :group 'todo) +(defcustom todo-remove-separator t + "Non-nil to remove category separators in\ +\\[todo-top-priorities] and \\[todo-print]." + :type 'boolean + :group 'todo) +(defcustom todo-save-top-priorities-too t + "Non-nil makes `todo-save' automatically save top-priorities in `todo-file-top'." + :type 'boolean + :group 'todo) + +;; Thanks for the ISO time stamp format go to Karl Eichwalder <ke@suse.de> +;; My format string for the appt.el package is "%3b %2d, %y, %02I:%02M%p". +;; +(defcustom todo-time-string-format + "%:y-%02m-%02d %02H:%02M" + "TODO mode time string format for done entries. +For details see the variable `time-stamp-format'." + :type 'string + :group 'todo) + +(defcustom todo-entry-prefix-function 'todo-entry-timestamp-initials + "Function producing text to insert at start of todo entry." + :type 'symbol + :group 'todo) +(defcustom todo-initials (or (getenv "INITIALS") (user-login-name)) + "Initials of todo item author." + :type 'string + :group 'todo) + +(defun todo-entry-timestamp-initials () + "Prepend timestamp and your initials to the head of a TODO entry." + (let ((time-stamp-format todo-time-string-format)) + (concat (time-stamp-string) " " todo-initials ": "))) + +;; --------------------------------------------------------------------------- + +;; Set up some helpful context ... + +(defvar todo-categories nil + "TODO categories.") + +(defvar todo-cats nil + "Old variable for holding the TODO categories. +Use `todo-categories' instead.") + +(defvar todo-previous-line 0 + "Previous line asked about.") + +(defvar todo-previous-answer 0 + "Previous answer got.") + +(defvar todo-mode-map + (let ((map (make-keymap))) + (suppress-keymap map t) + (define-key map "+" 'todo-forward-category) + (define-key map "-" 'todo-backward-category) + (define-key map "d" 'todo-file-item) ;done/delete + (define-key map "e" 'todo-edit-item) + (define-key map "E" 'todo-edit-multiline) + (define-key map "f" 'todo-file-item) + (define-key map "i" 'todo-insert-item) + (define-key map "I" 'todo-insert-item-here) + (define-key map "j" 'todo-jump-to-category) + (define-key map "k" 'todo-delete-item) + (define-key map "l" 'todo-lower-item) + (define-key map "n" 'todo-forward-item) + (define-key map "p" 'todo-backward-item) + (define-key map "P" 'todo-print) + (define-key map "q" 'todo-quit) + (define-key map "r" 'todo-raise-item) + (define-key map "s" 'todo-save) + (define-key map "S" 'todo-save-top-priorities) + (define-key map "t" 'todo-top-priorities) + map) + "TODO mode keymap.") + +(defvar todo-category-number 0 "TODO category number.") + +(defvar todo-tmp-buffer-name " *todo tmp*") + +(defvar todo-category-sep (make-string 75 ?-) + "Category separator.") + +(defvar todo-category-beg " --- " + "Category start separator to be prepended onto category name.") + +(defvar todo-category-end "--- End" + "Separator after a category.") + +(defvar todo-header "-*- mode: todo; " + "Header of todo files.") + +;; --------------------------------------------------------------------------- + +(defun todo-category-select () + "Make TODO mode display the current category correctly." + (let ((name (nth todo-category-number todo-categories))) + (setq mode-line-buffer-identification +;; (concat "Category: " name)) + (concat "Category: " (format "%18s" name))) + (widen) + (goto-char (point-min)) + (search-forward-regexp + (concat "^" + (regexp-quote (concat todo-prefix todo-category-beg name)) + "$")) + (let ((begin (1+ (line-end-position)))) + (search-forward-regexp (concat "^" todo-category-end)) + (narrow-to-region begin (line-beginning-position)) + (goto-char (point-min))))) +(defalias 'todo-cat-slct 'todo-category-select) + +(defun todo-forward-category () + "Go forward to TODO list of next category." + (interactive) + (setq todo-category-number + (mod (1+ todo-category-number) (length todo-categories))) + (todo-category-select)) +(defalias 'todo-cmd-forw 'todo-forward-category) + +(defun todo-backward-category () + "Go back to TODO list of previous category." + (interactive) + (setq todo-category-number + (mod (1- todo-category-number) (length todo-categories))) + (todo-category-select)) +(defalias 'todo-cmd-back 'todo-backward-category) + +(defun todo-backward-item () + "Select previous entry of TODO list." + (interactive) + (search-backward-regexp (concat "^" (regexp-quote todo-prefix)) nil t) + (message "")) +(defalias 'todo-cmd-prev 'todo-backward-item) + +(defun todo-forward-item (&optional count) + "Select COUNT-th next entry of TODO list." + (interactive "P") + (if (listp count) (setq count (car count))) + (end-of-line) + (search-forward-regexp (concat "^" (regexp-quote todo-prefix)) + nil 'goto-end count) + (beginning-of-line) + (message "")) +(defalias 'todo-cmd-next 'todo-forward-item) + +(defun todo-save () + "Save the TODO list." + (interactive) + (save-excursion + (save-restriction + (save-buffer))) + (if todo-save-top-priorities-too (todo-save-top-priorities))) +(defalias 'todo-cmd-save 'todo-save) + +(defun todo-quit () + "Done with TODO list for now." + (interactive) + (widen) + (todo-save) + (message "") + (bury-buffer)) +(defalias 'todo-cmd-done 'todo-quit) + +(defun todo-edit-item () + "Edit current TODO list entry." + (interactive) + (if (< (point-min) (point-max)) + (let ((item (todo-item-string))) + (if (todo-string-multiline-p item) + (todo-edit-multiline) + (let ((new (read-from-minibuffer "Edit: " item))) + (todo-remove-item) + (insert new "\n") + (todo-backward-item) + (message "")))) + (error "No TODO list entry to edit"))) +(defalias 'todo-cmd-edit 'todo-edit-item) + +(defun todo-edit-multiline () + "Set up a buffer for editing a multiline TODO list entry." + (interactive) + (let ((buffer-name (generate-new-buffer-name todo-edit-buffer))) + (switch-to-buffer + (make-indirect-buffer + (file-name-nondirectory todo-file-do) buffer-name)) + (message "To exit, simply kill this buffer and return to list.") + (todo-edit-mode) + (narrow-to-region (todo-item-start) (todo-item-end)))) + +;;;###autoload +(defun todo-add-category (&optional cat) + "Add new category CAT to the TODO list." + (interactive) + (let ((buf (find-file-noselect todo-file-do t)) + (prompt "Category: ")) + (unless (zerop (buffer-size buf)) + (and (null todo-categories) + (null todo-cats) + (error "Error in %s: File is non-empty but contains no category" + todo-file-do))) + (unless cat (setq cat (read-from-minibuffer prompt))) + (with-current-buffer buf + ;; reject names that could induce bugs and confusion + (while (and (cond ((string= "" cat) + (setq prompt "Enter a non-empty category name: ")) + ((string-match "\\`\\s-+\\'" cat) + (setq prompt "Enter a category name that is not only white space: ")) + ((member cat todo-categories) + (setq prompt "Enter a non-existing category name: "))) + (setq cat (read-from-minibuffer prompt)))) + ;; initialize a newly created Todo buffer for Todo mode + (unless (file-exists-p todo-file-do) (todo-mode)) + (setq todo-categories (cons cat todo-categories)) + (widen) + (goto-char (point-min)) + (if (search-forward "-*- mode: todo; " (+ (point-min) 16) t) + (kill-line) + (insert "-*- mode: todo; \n") + (forward-char -1)) + (insert (format "todo-categories: %S; -*-" todo-categories)) + (forward-char 1) + (insert (format "%s%s%s\n%s\n%s %s\n" + todo-prefix todo-category-beg cat + todo-category-end + todo-prefix todo-category-sep)) + (if (called-interactively-p 'interactive) + ;; properly display the newly added category + (progn (setq todo-category-number 0) (todo-show)) + 0)))) + +;;;###autoload +(defun todo-add-item-non-interactively (new-item category) + "Insert NEW-ITEM in TODO list as a new entry in CATEGORY." + (save-excursion + (todo-show)) + (save-excursion + (if (string= "" category) + (setq category (nth todo-category-number todo-categories))) + (let ((cat-exists (member category todo-categories))) + (setq todo-category-number + (if cat-exists + (- (length todo-categories) (length cat-exists)) + (todo-add-category category)))) + (todo-show) + (setq todo-previous-line 0) + (let ((top 1) + (bottom (1+ (count-lines (point-min) (point-max))))) + (while (> (- bottom top) todo-insert-threshold) + (let* ((current (/ (+ top bottom) 2)) + (answer (if (< current bottom) + (todo-more-important-p current) nil))) + (if answer + (setq bottom current) + (setq top (1+ current))))) + (setq top (/ (+ top bottom) 2)) + ;; goto-line doesn't have the desired behavior in a narrowed buffer. + (goto-char (point-min)) + (forward-line (1- top))) + (insert new-item "\n") + (todo-backward-item) + (todo-save) + (message ""))) + +;;;###autoload +(defun todo-insert-item (arg) + "Insert new TODO list entry. +With a prefix argument ARG solicit the category, otherwise use the current +category." + (interactive "P") + (save-excursion + (if (not (derived-mode-p 'todo-mode)) (todo-show)) + (let* ((new-item (concat todo-prefix " " + (read-from-minibuffer + "New TODO entry: " + (if todo-entry-prefix-function + (funcall todo-entry-prefix-function))))) + (current-category (nth todo-category-number todo-categories)) + (category (if arg (todo-completing-read) current-category))) + (todo-add-item-non-interactively new-item category)))) + +(defalias 'todo-cmd-inst 'todo-insert-item) + +(defun todo-insert-item-here () + "Insert a new TODO list entry directly above the entry at point. +If point is on an empty line, insert the entry there." + (interactive) + (if (not (derived-mode-p 'todo-mode)) (todo-show)) + (let ((new-item (concat todo-prefix " " + (read-from-minibuffer + "New TODO entry: " + (if todo-entry-prefix-function + (funcall todo-entry-prefix-function)))))) + (unless (and (bolp) (eolp)) (todo-item-start)) + (insert (concat new-item "\n")) + (backward-char) + ;; put point at start of new entry + (todo-item-start))) + +(defun todo-more-important-p (line) + "Ask whether entry is more important than the one at LINE." + (unless (equal todo-previous-line line) + (setq todo-previous-line line) + (goto-char (point-min)) + (forward-line (1- todo-previous-line)) + (let ((item (todo-item-string-start))) + (setq todo-previous-answer + (y-or-n-p (concat "More important than '" item "'? "))))) + todo-previous-answer) +(defalias 'todo-ask-p 'todo-more-important-p) + +(defun todo-delete-item () + "Delete current TODO list entry." + (interactive) + (if (> (count-lines (point-min) (point-max)) 0) + (let* ((todo-entry (todo-item-string-start)) + (todo-answer (y-or-n-p (concat "Permanently remove '" + todo-entry "'? ")))) + (when todo-answer + (todo-remove-item) + (todo-backward-item)) + (message "")) + (error "No TODO list entry to delete"))) +(defalias 'todo-cmd-kill 'todo-delete-item) + +(defun todo-raise-item () + "Raise priority of current entry." + (interactive) + (if (> (count-lines (point-min) (point)) 0) + (let ((item (todo-item-string))) + (todo-remove-item) + (todo-backward-item) + (save-excursion + (insert item "\n")) + (message "")) + (error "No TODO list entry to raise"))) +(defalias 'todo-cmd-rais 'todo-raise-item) + +(defun todo-lower-item () + "Lower priority of current entry." + (interactive) + (if (> (count-lines (point) (point-max)) 1) + ;; Assume there is a final newline + (let ((item (todo-item-string))) + (todo-remove-item) + (todo-forward-item) + (save-excursion + (insert item "\n")) + (message "")) + (error "No TODO list entry to lower"))) +(defalias 'todo-cmd-lowr 'todo-lower-item) + +(defun todo-file-item (&optional comment) + "File the current TODO list entry away, annotated with an optional COMMENT." + (interactive "sComment: ") + (or (> (count-lines (point-min) (point-max)) 0) + (error "No TODO list entry to file away")) + (let ((time-stamp-format todo-time-string-format)) + (when (and comment (> (length comment) 0)) + (goto-char (todo-item-end)) + (insert + (if (save-excursion (beginning-of-line) + (looking-at (regexp-quote todo-prefix))) + " " + "\n\t") + "(" comment ")")) + (goto-char (todo-item-end)) + (insert " [" (nth todo-category-number todo-categories) "]") + (todo-item-start) + (let ((temp-point (point))) + (if (looking-at (regexp-quote todo-prefix)) + (replace-match (time-stamp-string)) + ;; Standard prefix -> timestamp + ;; Else prefix non-standard item start with timestamp + (insert (time-stamp-string))) + (append-to-file temp-point (todo-item-end 'include-sep) todo-file-done) + (delete-region temp-point (todo-item-end 'include-sep))) + (todo-backward-item) + (message ""))) + +;; --------------------------------------------------------------------------- + +;; Utility functions: + + +;;;###autoload +(defun todo-top-priorities (&optional nof-priorities category-pr-page + interactive) + "List top priorities for each category. + +Number of entries for each category is given by NOF-PRIORITIES which +defaults to `todo-show-priorities'. + +If CATEGORY-PR-PAGE is non-nil, a page separator \'^L\' is inserted +between each category. +INTERACTIVE should be non-nil if this function is called interactively." + + (interactive "P\ni\nP") + (or nof-priorities (setq nof-priorities todo-show-priorities)) + (if (listp nof-priorities) ;universal argument + (setq nof-priorities (car nof-priorities))) + (let ((todo-print-buffer-name todo-tmp-buffer-name) + ;;(todo-print-category-number 0) + (todo-category-break (if category-pr-page "" "")) + (cat-end + (concat + (if todo-remove-separator + (concat todo-category-end "\n" + (regexp-quote todo-prefix) " " todo-category-sep "\n") + (concat todo-category-end "\n")))) + beg end) + (save-excursion + (todo-show) + (save-restriction + (save-current-buffer + (widen) + (copy-to-buffer todo-print-buffer-name (point-min) (point-max)) + (set-buffer todo-print-buffer-name) + (goto-char (point-min)) + (when (re-search-forward (regexp-quote todo-header) nil t) + (beginning-of-line 1) + (delete-region (point) (line-end-position))) + (while (re-search-forward ;Find category start + (regexp-quote (concat todo-prefix todo-category-beg)) + nil t) + (setq beg (+ (line-end-position) 1)) ;Start of first entry. + (re-search-forward cat-end nil t) + (setq end (match-beginning 0)) + (replace-match todo-category-break) + (narrow-to-region beg end) ;In case we have too few entries. + (goto-char (point-min)) + (if (zerop nof-priorities) ;Traverse entries. + (goto-char end) ;All entries + (todo-forward-item nof-priorities)) + (setq beg (point)) + (delete-region beg end) + (widen)) + (and (looking-at "") (replace-match "")) ;Remove trailing form-feed. + (goto-char (point-min)) ;Due to display buffer + ))) + (when interactive (display-buffer todo-print-buffer-name)) + (message "Type C-x 1 to remove %s window. M-C-v to scroll the help." + todo-print-buffer-name))) + +(defun todo-save-top-priorities (&optional nof-priorities) + "Save top priorities for each category in `todo-file-top'. + +Number of entries for each category is given by NOF-PRIORITIES which +defaults to `todo-show-priorities'." + (interactive "P") + (save-window-excursion + (save-excursion + (save-restriction + (todo-top-priorities nof-priorities) + (set-buffer todo-tmp-buffer-name) + (write-file todo-file-top) + (kill-this-buffer))))) + +;;;###autoload +(defun todo-print (&optional category-pr-page) + "Print todo summary using `todo-print-function'. +If CATEGORY-PR-PAGE is non-nil, a page separator `^L' is inserted +between each category. + +Number of entries for each category is given by `todo-print-priorities'." + (interactive "P") + (save-window-excursion + (save-excursion + (save-restriction + (todo-top-priorities todo-print-priorities + category-pr-page) + (set-buffer todo-tmp-buffer-name) + (and (funcall todo-print-function) + (kill-this-buffer)) + (message "Todo printing done."))))) + +(defun todo-jump-to-category () + "Jump to a category. Default is previous category." + (interactive) + (let ((category (todo-completing-read))) + (if (string= "" category) + (setq category (nth todo-category-number todo-categories))) + (setq todo-category-number + (if (member category todo-categories) + (- (length todo-categories) + (length (member category todo-categories))) + (todo-add-category category))) + (todo-show))) + +(defun todo-line-string () + "Return current line in buffer as a string." + (buffer-substring (line-beginning-position) (line-end-position))) + +(defun todo-item-string-start () + "Return the start of this TODO list entry as a string." + ;; Suitable for putting in the minibuffer when asking the user + (let ((item (todo-item-string))) + (if (> (length item) 60) + (setq item (concat (substring item 0 56) "..."))) + item)) + +(defun todo-item-start () + "Go to start of current TODO list item and return point." + (beginning-of-line) + (if (not (looking-at (regexp-quote todo-prefix))) + (search-backward-regexp + (concat "^" (regexp-quote todo-prefix)) nil t)) + (point)) + +(defun todo-item-end (&optional include-sep) + "Return point at end of current TODO list item. +If INCLUDE-SEP is non-nil, return point after the separator." + (save-excursion + (end-of-line) + (if (search-forward-regexp + (concat "^" (regexp-quote todo-prefix)) nil 'goto-end) + (goto-char (match-beginning 0))) + (unless include-sep (skip-chars-backward "\n")) + (point))) + +(defun todo-remove-item () + "Delete the current entry from the TODO list." + (delete-region (todo-item-start) (todo-item-end 'include-sep))) + +(defun todo-item-string () + "Return current TODO list entry as a string." + (buffer-substring (todo-item-start) (todo-item-end))) + +(defun todo-string-count-lines (string) + "Return the number of lines STRING spans." + (length (split-string string "\n"))) + +(defun todo-string-multiline-p (string) + "Return non-nil if STRING spans several lines." + (> (todo-string-count-lines string) 1)) + +(defun todo-completing-read () + "Return a category name, with completion, for use in Todo mode." + ;; make a copy of todo-categories in case history-delete-duplicates is + ;; non-nil, which makes completing-read alter todo-categories + (let* ((categories (copy-sequence todo-categories)) + (history (cons 'todo-categories (1+ todo-category-number))) + (default (nth todo-category-number todo-categories)) + (category (completing-read + (concat "Category [" default "]: ") + todo-categories nil nil nil history default))) + ;; restore the original value of todo-categories + (setq todo-categories categories) + category)) + +;; --------------------------------------------------------------------------- + +(easy-menu-define todo-menu todo-mode-map "Todo Menu" + '("Todo" + ["Next category" todo-forward-category t] + ["Previous category" todo-backward-category t] + ["Jump to category" todo-jump-to-category t] + ["Show top priority items" todo-top-priorities t] + ["Print categories" todo-print t] + "---" + ["Edit item" todo-edit-item t] + ["File item" todo-file-item t] + ["Insert new item" todo-insert-item t] + ["Insert item here" todo-insert-item-here t] + ["Kill item" todo-delete-item t] + "---" + ["Lower item priority" todo-lower-item t] + ["Raise item priority" todo-raise-item t] + "---" + ["Next item" todo-forward-item t] + ["Previous item" todo-backward-item t] + "---" + ["Save" todo-save t] + ["Save Top Priorities" todo-save-top-priorities t] + "---" + ["Quit" todo-quit t] + )) + +;; As calendar reads .todo-do before todo-mode is loaded. +;;;###autoload +(define-derived-mode todo-mode nil "TODO" + "Major mode for editing TODO lists." + (easy-menu-add todo-menu)) + +(defvar date) +(defvar entry) + +;; t-c should be used from diary code, which requires calendar. +(declare-function calendar-current-date "calendar" (&optional offset)) + +;; Read about this function in the setup instructions above! +;;;###autoload +(defun todo-cp () + "Make a diary entry appear only in the current date's diary." + (if (equal (calendar-current-date) date) + entry)) + +(define-derived-mode todo-edit-mode text-mode "TODO Edit" + "Major mode for editing items in the TODO list. + +\\{todo-edit-mode-map}") + +;;;###autoload +(defun todo-show () + "Show TODO list." + (interactive) + ;; Call todo-initial-setup only if there is neither a Todo file nor + ;; a corresponding unsaved buffer. + (if (or (file-exists-p todo-file-do) + (let* ((buf (get-buffer (file-name-nondirectory todo-file-do))) + (bufname (buffer-file-name buf))) + (equal (expand-file-name todo-file-do) bufname))) + (find-file todo-file-do) + (todo-initial-setup)) + (if (null todo-categories) + (if (null todo-cats) + (error "Error in %s: No categories in list `todo-categories'" + todo-file-do) + (goto-char (point-min)) + (and (search-forward "todo-cats:" nil t) + (replace-match "todo-categories:")) + (make-local-variable 'todo-categories) + (setq todo-categories todo-cats))) + (beginning-of-line) + (todo-category-select)) + +(defun todo-initial-setup () + "Set up things to work properly in TODO mode." + (find-file todo-file-do) + (erase-buffer) + (todo-mode) + (todo-add-category "Todo")) + +(provide 'todo-mode) + +;;; todo-mode.el ends here diff --git a/lisp/obsolete/yow.el b/lisp/obsolete/yow.el index 42bb0a0b354..fb826d55866 100644 --- a/lisp/obsolete/yow.el +++ b/lisp/obsolete/yow.el @@ -60,7 +60,7 @@ (defsubst read-zippyism (prompt &optional require-match) "Read a Zippyism from the minibuffer with completion, prompting with PROMPT. If optional second arg is non-nil, require input to match a completion." - (read-cookie prompt yow-file yow-load-message yow-after-load-message + (cookie-read prompt yow-file yow-load-message yow-after-load-message require-match)) ;;;###autoload @@ -74,33 +74,7 @@ If optional second arg is non-nil, require input to match a completion." "Return a list of all Zippy quotes matching REGEXP. If called interactively, display a list of matches." (interactive "sApropos Zippy (regexp): ") - ;; Make sure yows are loaded - (cookie yow-file yow-load-message yow-after-load-message) - (let* ((case-fold-search t) - (cookie-table-symbol (intern yow-file cookie-cache)) - (string-table (symbol-value cookie-table-symbol)) - (matches nil) - (len (length string-table)) - (i 0)) - (save-match-data - (while (< i len) - (and (string-match regexp (aref string-table i)) - (setq matches (cons (aref string-table i) matches))) - (setq i (1+ i)))) - (and matches - (setq matches (sort matches 'string-lessp))) - (and (called-interactively-p 'interactive) - (cond ((null matches) - (message "No matches found.")) - (t - (let ((l matches)) - (with-output-to-temp-buffer "*Zippy Apropos*" - (while l - (princ (car l)) - (setq l (cdr l)) - (and l (princ "\n\n"))) - (help-print-return-message)))))) - matches)) + (cookie-apropos regexp yow-file (called-interactively-p 'interactive))) ;; Yowza!! Feed zippy quotes to the doctor. Watch results. @@ -114,15 +88,7 @@ If called interactively, display a list of matches." (defun psychoanalyze-pinhead () "Zippy goes to the analyst." (interactive) - (doctor) ; start the psychotherapy - (message "") - (switch-to-buffer "*doctor*") - (sit-for 0) - (while (not (input-pending-p)) - (insert (yow)) - (sit-for 0) - (doctor-ret-or-read 1) - (doctor-ret-or-read 1))) + (cookie-doctor yow-file)) (provide 'yow) diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index 7ea780f2aa6..16097c1c0b2 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog @@ -986,7 +986,7 @@ 2012-09-30 Achim Gratz <Stromeko@Stromeko.DE> * ob-R.el (org-babel-R-initiate-session): Protect against use of - unbound variable `ess-ask-for-ess-directory´. The default for this + unbound variable `ess-ask-for-ess-directory´. The default for this variable is true, so act accordingly if it is found unbound. * ob-R.el: Remove initialization with `nil´ from @@ -1031,7 +1031,7 @@ * org-version.el: New file. * org-compat.el (org-check-version): New macro. Check if - org-version.el exists and provide autoloads to that. Otherwise + org-version.el exists and provide autoloads to that. Otherwise check if org-fixup.el exists and use it to provide definitions. Finally if nothing worked, complain about a botched installation and provide fallback definitions. @@ -3482,7 +3482,7 @@ org-footnote-unique-label if org-footnote-auto-label is set to random. - * org-gnus.el: (org-gnus-follow-link): Fix argument to + * org-gnus.el (org-gnus-follow-link): Fix argument to gnus-group-read-group so that following a link does not result in unread article being selected. @@ -3572,7 +3572,7 @@ * org-clock.el (org-clock-idle-time): Org-mode assumed that x11idle was an available command, and returned an idle time of 0 if it was not - (never idle). Added checks so that org-idle-time will come from + (never idle): Added checks so that org-idle-time will come from emacs' own current-idle-time if x11idle cannot be found or if it cannot retrieve the idle time from X11 @@ -3628,7 +3628,7 @@ (org-comment-or-uncomment-region): Rewrite function. Now comment region at a fixed column: the minimal indentation of the region. (org-fill-context-prefix): Rename function into - `org-adaptive-fill-function'. Also, In a paragraph, choose the + `org-adaptive-fill-function'. Also, In a paragraph, choose the same prefix as the current line. * org-exp.el (org-export-handle-comments): Also remove comments at @@ -3761,7 +3761,7 @@ point on an inlinetask. Refactor code. * org.el (org-mark-subtree): Do not make a special case for - inlinetasks when marking a subtree. These are handled by + inlinetasks when marking a subtree. These are handled by `org-element-mark-element'. * org-element.el (org-element-comment-parser): Consider first "+" @@ -4881,7 +4881,7 @@ * org-clock.el (org-in-clocktable-p): Move to org.el. - * org.el (org-in-clocktable-p): New function. Moved from + * org.el (org-in-clocktable-p): New function. Moved from org-clock.el. 2012-04-01 David Maus <dmaus@ictsoc.de> diff --git a/lisp/play/cookie1.el b/lisp/play/cookie1.el index d060c31aebc..d6b8e482071 100644 --- a/lisp/play/cookie1.el +++ b/lisp/play/cookie1.el @@ -25,11 +25,10 @@ ;;; Commentary: ;; Support for random cookie fetches from phrase files, used for such -;; critical applications as emulating Zippy the Pinhead and confounding -;; the NSA Trunk Trawler. +;; critical applications as confounding the NSA Trunk Trawler. ;; ;; The two entry points are `cookie' and `cookie-insert'. The helper -;; function `shuffle-vector' may be of interest to programmers. +;; function `cookie-shuffle-vector' may be of interest to programmers. ;; ;; The code expects phrase files to be in one of two formats: ;; @@ -49,32 +48,62 @@ ;; This code derives from Steve Strassmann's 1987 spook.el package, but ;; has been generalized so that it supports multiple simultaneous ;; cookie databases and fortune files. It is intended to be called -;; from other packages such as yow.el and spook.el. +;; from other packages such as spook.el. ;;; Code: +(defgroup cookie nil + "Random cookies from phrase files." + :prefix "cookie-" + :group 'games) + +(defcustom cookie-file nil + "Default phrase file for cookie functions." + :type '(choice (const nil) file) + :group 'cookie + :version "24.4") + (defconst cookie-delimiter "\n%%\n\\|\n%\n\\|\0" "Delimiter used to separate cookie file entries.") (defvar cookie-cache (make-vector 511 0) "Cache of cookie files that have already been snarfed.") +(defun cookie-check-file (file) + "Return either FILE or `cookie-file'. +Signal an error if the result is nil or not readable." + (or (setq file (or file cookie-file)) (user-error "No phrase file specified")) + (or (file-readable-p file) (user-error "Cannot read file `%s'" file)) + file) + ;;;###autoload -(defun cookie (phrase-file startmsg endmsg) +(defun cookie (phrase-file &optional startmsg endmsg) "Return a random phrase from PHRASE-FILE. When the phrase file is read in, display STARTMSG at the beginning -of load, ENDMSG at the end." - (let ((cookie-vector (cookie-snarf phrase-file startmsg endmsg))) - (shuffle-vector cookie-vector) - (aref cookie-vector 0))) +of load, ENDMSG at the end. +Interactively, PHRASE-FILE defaults to `cookie-file', unless that +is nil or a prefix argument is used." + (interactive (list (if (or current-prefix-arg (not cookie-file)) + (read-file-name "Cookie file: " nil + cookie-file t cookie-file) + cookie-file) nil nil)) + (setq phrase-file (cookie-check-file phrase-file)) + (let ((cookie-vector (cookie-snarf phrase-file startmsg endmsg)) + res) + (cookie-shuffle-vector cookie-vector) + (setq res (aref cookie-vector 0)) + (if (called-interactively-p 'interactive) + (message "%s" res) + res))) ;;;###autoload (defun cookie-insert (phrase-file &optional count startmsg endmsg) "Insert random phrases from PHRASE-FILE; COUNT of them. When the phrase file is read in, display STARTMSG at the beginning of load, ENDMSG at the end." + (setq phrase-file (cookie-check-file phrase-file)) (let ((cookie-vector (cookie-snarf phrase-file startmsg endmsg))) - (shuffle-vector cookie-vector) + (cookie-shuffle-vector cookie-vector) (let ((start (point))) (insert ?\n) (cookie1 (min (- (length cookie-vector) 1) (or count 1)) cookie-vector) @@ -89,12 +118,11 @@ of load, ENDMSG at the end." (cookie1 (1- arg) cookie-vec)))) ;;;###autoload -(defun cookie-snarf (phrase-file startmsg endmsg) +(defun cookie-snarf (phrase-file &optional startmsg endmsg) "Reads in the PHRASE-FILE, returns it as a vector of strings. Emit STARTMSG and ENDMSG before and after. Caches the result; second and subsequent calls on the same file won't go to disk." - (or (file-readable-p phrase-file) - (error "Cannot read file `%s'" phrase-file)) + (setq phrase-file (cookie-check-file phrase-file)) (let ((sym (intern-soft phrase-file cookie-cache))) (and sym (not (equal (symbol-function sym) (nth 5 (file-attributes phrase-file)))) @@ -104,27 +132,25 @@ and subsequent calls on the same file won't go to disk." (if sym (symbol-value sym) (setq sym (intern phrase-file cookie-cache)) - (message "%s" startmsg) - (save-excursion - (let ((buf (generate-new-buffer "*cookie*")) - (result nil)) - (set-buffer buf) - (fset sym (nth 5 (file-attributes phrase-file))) + (if startmsg (message "%s" startmsg)) + (fset sym (nth 5 (file-attributes phrase-file))) + (let (result) + (with-temp-buffer (insert-file-contents (expand-file-name phrase-file)) (re-search-forward cookie-delimiter) (while (progn (skip-chars-forward " \t\n\r\f") (not (eobp))) (let ((beg (point))) (re-search-forward cookie-delimiter) (setq result (cons (buffer-substring beg (match-beginning 0)) - result)))) - (kill-buffer buf) - (message "%s" endmsg) - (set sym (apply 'vector result))))))) + result))))) + (if endmsg (message "%s" endmsg)) + (set sym (apply 'vector result)))))) -(defun read-cookie (prompt phrase-file startmsg endmsg &optional require-match) +(defun cookie-read (prompt phrase-file &optional startmsg endmsg require-match) "Prompt with PROMPT and read with completion among cookies in PHRASE-FILE. STARTMSG and ENDMSG are passed along to `cookie-snarf'. -Optional fifth arg REQUIRE-MATCH non-nil forces a matching cookie." +Argument REQUIRE-MATCH non-nil forces a matching cookie." + (setq phrase-file (cookie-check-file phrase-file)) ;; Make sure the cookies are in the cache. (or (intern-soft phrase-file cookie-cache) (cookie-snarf phrase-file startmsg endmsg)) @@ -141,24 +167,79 @@ Optional fifth arg REQUIRE-MATCH non-nil forces a matching cookie." (put sym 'completion-alist alist)))) nil require-match nil nil)) -; Thanks to Ian G Batten <BattenIG@CS.BHAM.AC.UK> -; [of the University of Birmingham Computer Science Department] -; for the iterative version of this shuffle. -; -;;;###autoload -(defun shuffle-vector (vector) +(define-obsolete-function-alias 'read-cookie 'cookie-read "24.4") + +;; Thanks to Ian G Batten <BattenIG@CS.BHAM.AC.UK> +;; [of the University of Birmingham Computer Science Department] +;; for the iterative version of this shuffle. +(defun cookie-shuffle-vector (vector) "Randomly permute the elements of VECTOR (all permutations equally likely)." - (let ((i 0) - j - temp - (len (length vector))) - (while (< i len) - (setq j (+ i (random (- len i)))) - (setq temp (aref vector i)) + (let ((len (length vector)) + j temp) + (dotimes (i len vector) + (setq j (+ i (random (- len i))) + temp (aref vector i)) (aset vector i (aref vector j)) - (aset vector j temp) - (setq i (1+ i)))) - vector) + (aset vector j temp)))) + +(define-obsolete-function-alias 'shuffle-vector 'cookie-shuffle-vector "24.4") + + +(defun cookie-apropos (regexp phrase-file &optional display) + "Return a list of all entries matching REGEXP from PHRASE-FILE. +Interactively, PHRASE-FILE defaults to `cookie-file', unless that +is nil or a prefix argument is used. +If called interactively, or if DISPLAY is non-nil, display a list of matches." + (interactive (list (read-regexp "Apropos phrase (regexp): ") + (if (or current-prefix-arg (not cookie-file)) + (read-file-name "Cookie file: " nil + cookie-file t cookie-file) + cookie-file) t)) + (setq phrase-file (cookie-check-file phrase-file)) + ;; Make sure phrases are loaded. + (cookie phrase-file) + (let* ((case-fold-search t) + (cookie-table-symbol (intern phrase-file cookie-cache)) + (string-table (symbol-value cookie-table-symbol)) + (matches nil)) + (and (dotimes (i (length string-table) matches) + (and (string-match-p regexp (aref string-table i)) + (setq matches (cons (aref string-table i) matches)))) + (setq matches (sort matches 'string-lessp))) + (and display + (if matches + (let ((l matches)) + (with-output-to-temp-buffer "*Cookie Apropos*" + (while l + (princ (car l)) + (setq l (cdr l)) + (and l (princ "\n\n"))) + (help-print-return-message))) + (message "No matches found."))) + matches)) + + +(declare-function doctor-ret-or-read "doctor" (arg)) + +(defun cookie-doctor (phrase-file) + "Feed cookie phrases from PHRASE-FILE to the doctor. +Interactively, PHRASE-FILE defaults to `cookie-file', unless that +is nil or a prefix argument is used." + (interactive (list (if (or current-prefix-arg (not cookie-file)) + (read-file-name "Cookie file: " nil + cookie-file t cookie-file) + cookie-file))) + (setq phrase-file (cookie-check-file phrase-file)) + (doctor) ; start the psychotherapy + (message "") + (switch-to-buffer "*doctor*") + (sit-for 0) + (while (not (input-pending-p)) + (insert (cookie phrase-file)) + (sit-for 0) + (doctor-ret-or-read 1) + (doctor-ret-or-read 1))) + (provide 'cookie1) diff --git a/lisp/profiler.el b/lisp/profiler.el index 093a01a8602..609a0308cf0 100644 --- a/lisp/profiler.el +++ b/lisp/profiler.el @@ -60,7 +60,7 @@ (defun profiler-format-number (number) "Format NUMBER in human readable string." (if (and (integerp number) (> number 0)) - (cl-loop with i = (% (1+ (floor (log10 number))) 3) + (cl-loop with i = (% (1+ (floor (log number 10))) 3) for c in (append (number-to-string number) nil) if (= i 0) collect ?, into s diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el index 01b5faef5b3..55d5b8b0be7 100644 --- a/lisp/progmodes/cfengine.el +++ b/lisp/progmodes/cfengine.el @@ -547,7 +547,7 @@ to the action header." (setq font-lock-defaults '(cfengine3-font-lock-keywords nil nil nil beginning-of-defun)) - (prog-prettify-install cfengine3--prettify-symbols-alist) + (setq-local prettify-symbols-alist cfengine3--prettify-symbols-alist) ;; Use defuns as the essential syntax block. (set (make-local-variable 'beginning-of-defun-function) diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 910e7c49d2a..770e78bb3b1 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -6217,6 +6217,10 @@ indentation and initial hashes. Behaves usually outside of comment." (error (message "cperl-init-faces (ignored): %s" errs)))) +(defvar ps-bold-faces) +(defvar ps-italic-faces) +(defvar ps-underlined-faces) + (defun cperl-ps-print-init () "Initialization of `ps-print' components for faces used in CPerl." (eval-after-load "ps-print" diff --git a/lisp/progmodes/ebnf-abn.el b/lisp/progmodes/ebnf-abn.el index 0c8dd61d44f..b6b8aacc536 100644 --- a/lisp/progmodes/ebnf-abn.el +++ b/lisp/progmodes/ebnf-abn.el @@ -5,7 +5,7 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Keywords: wp, ebnf, PostScript -;; Version: 1.2 +;; Old-Version: 1.2 ;; Package: ebnf2ps ;; This file is part of GNU Emacs. diff --git a/lisp/progmodes/ebnf-bnf.el b/lisp/progmodes/ebnf-bnf.el index bfdf0300f3f..c4afd906e44 100644 --- a/lisp/progmodes/ebnf-bnf.el +++ b/lisp/progmodes/ebnf-bnf.el @@ -5,7 +5,7 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Keywords: wp, ebnf, PostScript -;; Version: 1.10 +;; Old-Version: 1.10 ;; Package: ebnf2ps ;; This file is part of GNU Emacs. diff --git a/lisp/progmodes/ebnf-dtd.el b/lisp/progmodes/ebnf-dtd.el index d856dbe7de4..bf1acb3a3d9 100644 --- a/lisp/progmodes/ebnf-dtd.el +++ b/lisp/progmodes/ebnf-dtd.el @@ -5,7 +5,7 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Keywords: wp, ebnf, PostScript -;; Version: 1.1 +;; Old-Version: 1.1 ;; Package: ebnf2ps ;; This file is part of GNU Emacs. diff --git a/lisp/progmodes/ebnf-ebx.el b/lisp/progmodes/ebnf-ebx.el index 48e3a643de6..d33fe55a2e8 100644 --- a/lisp/progmodes/ebnf-ebx.el +++ b/lisp/progmodes/ebnf-ebx.el @@ -5,7 +5,7 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Keywords: wp, ebnf, PostScript -;; Version: 1.2 +;; Old-Version: 1.2 ;; Package: ebnf2ps ;; This file is part of GNU Emacs. diff --git a/lisp/progmodes/ebnf-iso.el b/lisp/progmodes/ebnf-iso.el index 9c5246d81e4..3f58b7fef55 100644 --- a/lisp/progmodes/ebnf-iso.el +++ b/lisp/progmodes/ebnf-iso.el @@ -5,7 +5,7 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Keywords: wp, ebnf, PostScript -;; Version: 1.9 +;; Old-Version: 1.9 ;; Package: ebnf2ps ;; This file is part of GNU Emacs. diff --git a/lisp/progmodes/ebnf-otz.el b/lisp/progmodes/ebnf-otz.el index e116a4f2663..ed6b5317e33 100644 --- a/lisp/progmodes/ebnf-otz.el +++ b/lisp/progmodes/ebnf-otz.el @@ -5,7 +5,7 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Keywords: wp, ebnf, PostScript -;; Version: 1.0 +;; Old-Version: 1.0 ;; Package: ebnf2ps ;; This file is part of GNU Emacs. diff --git a/lisp/progmodes/ebnf-yac.el b/lisp/progmodes/ebnf-yac.el index 15f0d5cac18..ff43450bdec 100644 --- a/lisp/progmodes/ebnf-yac.el +++ b/lisp/progmodes/ebnf-yac.el @@ -5,7 +5,7 @@ ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> ;; Keywords: wp, ebnf, PostScript -;; Version: 1.4 +;; Old-Version: 1.4 ;; Package: ebnf2ps ;; This file is part of GNU Emacs. diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index 99b48e8d0db..2ead734d163 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el @@ -1049,8 +1049,12 @@ from compile.el") ;; :type '(repeat (string number number number)) ;;) -(defvar flymake-warning-re "^[wW]arning" - "Regexp matching against err-text to detect a warning.") +(define-obsolete-variable-alias 'flymake-warning-re 'flymake-warning-predicate "24.4") +(defvar flymake-warning-predicate "^[wW]arning" + "Predicate matching against error text to detect a warning. +Takes a single argument, the error's text and should return non-nil +if it's a warning. +Instead of a function, it can also be a regular expression.") (defun flymake-parse-line (line) "Parse LINE to see if it is an error or warning. @@ -1067,16 +1071,22 @@ Return its components if so, nil otherwise." (line-idx (nth 2 (car patterns)))) (setq raw-file-name (if file-idx (match-string file-idx line) nil)) - (setq line-no (if line-idx (string-to-number (match-string line-idx line)) 0)) + (setq line-no (if line-idx (string-to-number + (match-string line-idx line)) 0)) (setq err-text (if (> (length (car patterns)) 4) (match-string (nth 4 (car patterns)) line) - (flymake-patch-err-text (substring line (match-end 0))))) - (or err-text (setq err-text "<no error text>")) - (if (and err-text (string-match flymake-warning-re err-text)) - (setq err-type "w") - ) - (flymake-log 3 "parse line: file-idx=%s line-idx=%s file=%s line=%s text=%s" file-idx line-idx - raw-file-name line-no err-text) + (flymake-patch-err-text + (substring line (match-end 0))))) + (if (null err-text) + (setq err-text "<no error text>") + (when (cond ((stringp flymake-warning-predicate) + (string-match flymake-warning-predicate err-text)) + ((functionp flymake-warning-predicate) + (funcall flymake-warning-predicate err-text))) + (setq err-type "w"))) + (flymake-log + 3 "parse line: file-idx=%s line-idx=%s file=%s line=%s text=%s" + file-idx line-idx raw-file-name line-no err-text) (setq matched t))) (setq patterns (cdr patterns))) (if matched diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index 0b52302a98d..2c4d6a0e3d7 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el @@ -2642,20 +2642,6 @@ Return position where LINE begins." (row-properties nil) (right-align nil)) -(defun gdb-mapcar* (function &rest seqs) - "Apply FUNCTION to each element of SEQS, and make a list of the results. -If there are several SEQS, FUNCTION is called with that many -arguments, and mapping stops as soon as the shortest list runs -out." - (let ((shortest (apply #'min (mapcar #'length seqs)))) - (mapcar (lambda (i) - (apply function - (mapcar - (lambda (seq) - (nth i seq)) - seqs))) - (number-sequence 0 (1- shortest))))) - (defun gdb-table-add-row (table row &optional properties) "Add ROW of string to TABLE and recalculate column sizes. @@ -2673,7 +2659,7 @@ calling `gdb-table-string'." (setf (gdb-table-row-properties table) (append row-properties (list properties))) (setf (gdb-table-column-sizes table) - (gdb-mapcar* (lambda (x s) + (cl-mapcar (lambda (x s) (let ((new-x (max (abs x) (string-width (or s ""))))) (if right-align new-x (- new-x)))) @@ -2688,11 +2674,11 @@ calling `gdb-table-string'." (let ((column-sizes (gdb-table-column-sizes table))) (mapconcat 'identity - (gdb-mapcar* + (cl-mapcar (lambda (row properties) (apply 'propertize (mapconcat 'identity - (gdb-mapcar* (lambda (s x) (gdb-pad-string s x)) + (cl-mapcar (lambda (s x) (gdb-pad-string s x)) row column-sizes) sep) properties)) diff --git a/lisp/progmodes/idlw-complete-structtag.el b/lisp/progmodes/idlw-complete-structtag.el index fd3253880ea..1ebc7f92023 100644 --- a/lisp/progmodes/idlw-complete-structtag.el +++ b/lisp/progmodes/idlw-complete-structtag.el @@ -4,7 +4,7 @@ ;; Author: Carsten Dominik <dominik@astro.uva.nl> ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> -;; Version: 1.2 +;; Old-Version: 1.2 ;; Keywords: languages ;; Package: idlwave diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el index 7060cae5080..a108adccec7 100644 --- a/lisp/progmodes/idlw-help.el +++ b/lisp/progmodes/idlw-help.el @@ -5,7 +5,6 @@ ;; Authors: J.D. Smith <jdsmith@as.arizona.edu> ;; Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> -;; Version: 6.1.22 ;; Package: idlwave ;; This file is part of GNU Emacs. diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el index cfb20c6e238..5aad4aaa15f 100644 --- a/lisp/progmodes/idlw-shell.el +++ b/lisp/progmodes/idlw-shell.el @@ -6,7 +6,6 @@ ;; Carsten Dominik <dominik@astro.uva.nl> ;; Chris Chase <chase@att.com> ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> -;; Version: 6.1.22 ;; Keywords: processes ;; Package: idlwave diff --git a/lisp/progmodes/idlw-toolbar.el b/lisp/progmodes/idlw-toolbar.el index d83291d1511..d255b8b1a3f 100644 --- a/lisp/progmodes/idlw-toolbar.el +++ b/lisp/progmodes/idlw-toolbar.el @@ -4,7 +4,6 @@ ;; Author: Carsten Dominik <dominik@astro.uva.nl> ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> -;; Version: 6.1.22 ;; Keywords: processes ;; Package: idlwave diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index ba9a632b949..ce60e05d669 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el @@ -9041,7 +9041,7 @@ Assumes that point is at the beginning of the unit as found by ;; Here we hack func-menu.el in order to support this new mode. ;; The latest versions of func-menu.el already have this stuff in, so ;; we hack only if it is not already there. -(when (fboundp 'eval-after-load) +(when (featurep 'xemacs) (eval-after-load "func-menu" '(progn (or (assq 'idlwave-mode fume-function-name-regexp-alist) @@ -9295,6 +9295,8 @@ This function was written since `list-abbrevs' looks terrible for IDLWAVE mode." (with-current-buffer "*Help*" (setq truncate-lines t))) +(declare-function speedbar-add-supported-extension "speedbar" (extension)) + ;; Add .pro files to speedbar for support, if it's loaded (eval-after-load "speedbar" '(speedbar-add-supported-extension ".pro")) diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index 3069c790e1c..3c0871e57b6 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el @@ -712,7 +712,9 @@ The function must satisfy this calling convention: (modify-syntax-entry ?\` "\" " st) (modify-syntax-entry ?# "< " st) (modify-syntax-entry ?\n "> " st) - st)) + (modify-syntax-entry ?= "." st) + st) + "Syntax table used in `makefile-mode'.") (defvar makefile-imake-mode-syntax-table (let ((st (make-syntax-table makefile-mode-syntax-table))) diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el index b1936467274..de1c26a7fa7 100644 --- a/lisp/progmodes/octave.el +++ b/lisp/progmodes/octave.el @@ -554,8 +554,13 @@ definitions can also be stored in files and used in batch mode." (setq-local fill-nobreak-predicate (lambda () (eq (octave-in-string-p) ?'))) - (add-function :around (local 'comment-line-break-function) - #'octave--indent-new-comment-line) + (with-no-warnings + (if (fboundp 'add-function) ; new in 24.4 + (add-function :around (local 'comment-line-break-function) + #'octave--indent-new-comment-line) + (setq-local comment-line-break-function + (apply-partially #'octave--indent-new-comment-line + #'comment-indent-new-line)))) (setq font-lock-defaults '(octave-font-lock-keywords)) @@ -1151,8 +1156,6 @@ q: Don't fix\n" func file)) ;;; Indentation (defun octave-indent-new-comment-line (&optional soft) - ;; FIXME: C-M-j should probably be bound globally to a function like - ;; this one. "Break Octave line at point, continuing comment if within one. Insert `octave-continuation-string' before breaking the line unless inside a list. Signal an error if within a single-quoted @@ -1666,9 +1669,7 @@ code line." (when (re-search-forward "^\\s-*See also:" nil t) (let ((end (save-excursion (re-search-forward "^\\s-*$" nil t)))) (while (re-search-forward - ;; Match operators and symbols. - "\\(?1:\\s.+?\\)\\(?:$\\|[,;]\\|\\s-\\)\\|\\_<\\(?1:\\(?:\\sw\\|\\s_\\)+\\)\\_>" - end t) + "\\s-*\\([^,\n]+?\\)\\s-*\\(?:[,]\\|[.]?$\\)" end t) (make-text-button (match-beginning 1) (match-end 1) :type 'octave-help-function))))) (octave-help-mode))))) diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el index 1d5052bede4..8955c64aa9e 100644 --- a/lisp/progmodes/perl-mode.el +++ b/lisp/progmodes/perl-mode.el @@ -658,7 +658,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'." nil nil ((?\_ . "w")) nil (font-lock-syntactic-face-function . perl-font-lock-syntactic-face-function))) - (prog-prettify-install perl--prettify-symbols-alist) + (setq-local prettify-symbols-alist perl--prettify-symbols-alist) (setq-local syntax-propertize-function #'perl-syntax-propertize-function) (add-hook 'syntax-propertize-extend-region-functions #'syntax-propertize-multiline 'append 'local) diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el index e2700414636..b3ed328bd72 100644 --- a/lisp/progmodes/prog-mode.el +++ b/lisp/progmodes/prog-mode.el @@ -54,63 +54,93 @@ instead." (end (progn (forward-sexp 1) (point)))) (indent-region start end nil)))) -(defvar prog-prettify-symbols-alist nil) - -(defcustom prog-prettify-symbols nil - "Whether symbols should be prettified. -When set to an alist in the form `((STRING . CHARACTER)...)' it -will augment the mode's native prettify alist." - :type '(choice - (const :tag "No thanks" nil) - (const :tag "Mode defaults" t) - (alist :tag "Mode defaults augmented with your own list" - :key-type string :value-type character)) - :version "24.4") - -(defun prog--prettify-font-lock-compose-symbol (alist) - "Compose a sequence of ascii chars into a symbol. +(defvar-local prettify-symbols-alist nil + "Alist of symbol prettifications. +Each element looks like (SYMBOL . CHARACTER), where the symbol +matching SYMBOL (a string, not a regexp) will be shown as +CHARACTER instead.") + +(defun prettify-symbols--compose-symbol (alist) + "Compose a sequence of characters into a symbol. Regexp match data 0 points to the chars." ;; Check that the chars should really be composed into a symbol. (let* ((start (match-beginning 0)) (end (match-end 0)) (syntaxes (if (eq (char-syntax (char-after start)) ?w) - '(?w) '(?. ?\\)))) - (if (or (memq (char-syntax (or (char-before start) ?\ )) syntaxes) - (memq (char-syntax (or (char-after end) ?\ )) syntaxes) - (nth 8 (syntax-ppss))) + '(?w) '(?. ?\\))) + match) + (if (or (memq (char-syntax (or (char-before start) ?\s)) syntaxes) + (memq (char-syntax (or (char-after end) ?\s)) syntaxes) + ;; syntax-ppss could modify the match data (bug#14595) + (progn (setq match (match-string 0)) (nth 8 (syntax-ppss)))) ;; No composition for you. Let's actually remove any composition ;; we may have added earlier and which is now incorrect. (remove-text-properties start end '(composition)) ;; That's a symbol alright, so add the composition. - (compose-region start end (cdr (assoc (match-string 0) alist))))) + (compose-region start end (cdr (assoc match alist))))) ;; Return nil because we're not adding any face property. nil) -(defun prog-prettify-font-lock-symbols-keywords () - (when prog-prettify-symbols - (let ((alist (append prog-prettify-symbols-alist - (if (listp prog-prettify-symbols) - prog-prettify-symbols - nil)))) - `((,(regexp-opt (mapcar 'car alist) t) - (0 (prog--prettify-font-lock-compose-symbol ',alist))))))) +(defun prettify-symbols--make-keywords () + (if prettify-symbols-alist + `((,(regexp-opt (mapcar 'car prettify-symbols-alist) t) + (0 (prettify-symbols--compose-symbol ',prettify-symbols-alist)))) + nil)) -(defun prog-prettify-install (alist) -"Install prog-mode support to prettify symbols according to ALIST. +(defvar-local prettify-symbols--keywords nil) -ALIST is in the format `((STRING . CHARACTER)...)' like -`prog-prettify-symbols'. +;;;###autoload +(define-minor-mode prettify-symbols-mode + "Toggle Prettify Symbols mode. +With a prefix argument ARG, enable Prettify Symbols mode if ARG is +positive, and disable it otherwise. If called from Lisp, enable +the mode if ARG is omitted or nil. + +When Prettify Symbols mode and font-locking are enabled, symbols are +prettified (displayed as composed characters) according to the rules +in `prettify-symbols-alist' (which see), which are locally defined +by major modes supporting prettifying. To add further customizations +for a given major mode, you can modify `prettify-symbols-alist' thus: + + (add-hook 'emacs-lisp-mode-hook + (lambda () + (push '(\"<=\" . ?≤) prettify-symbols-alist))) + +You can enable this mode locally in desired buffers, or use +`global-prettify-symbols-mode' to enable it for all modes that +support it." + :init-value nil + (if prettify-symbols-mode + ;; Turn on + (when (setq prettify-symbols--keywords (prettify-symbols--make-keywords)) + (font-lock-add-keywords nil prettify-symbols--keywords) + (setq-local font-lock-extra-managed-props + (cons 'composition font-lock-extra-managed-props)) + (font-lock-fontify-buffer)) + ;; Turn off + (when prettify-symbols--keywords + (font-lock-remove-keywords nil prettify-symbols--keywords) + (setq prettify-symbols--keywords nil)) + (when (memq 'composition font-lock-extra-managed-props) + (setq font-lock-extra-managed-props (delq 'composition + font-lock-extra-managed-props)) + (with-silent-modifications + (remove-text-properties (point-min) (point-max) '(composition nil)))))) + +(defun turn-on-prettify-symbols-mode () + (when (and (not prettify-symbols-mode) + (local-variable-p 'prettify-symbols-alist)) + (prettify-symbols-mode 1))) -Internally, `font-lock-add-keywords' is called." - (setq-local prog-prettify-symbols-alist alist) - (let ((keywords (prog-prettify-font-lock-symbols-keywords))) - (if keywords (font-lock-add-keywords nil keywords)))) +;;;###autoload +(define-globalized-minor-mode global-prettify-symbols-mode + prettify-symbols-mode turn-on-prettify-symbols-mode) ;;;###autoload (define-derived-mode prog-mode fundamental-mode "Prog" "Major mode for editing programming language source code." - (set (make-local-variable 'require-final-newline) mode-require-final-newline) - (set (make-local-variable 'parse-sexp-ignore-comments) t) + (setq-local require-final-newline mode-require-final-newline) + (setq-local parse-sexp-ignore-comments t) ;; Any programming language is always written left to right. (setq bidi-paragraph-direction 'left-to-right)) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index ccb2dcba42e..915b52ce04d 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2881,6 +2881,8 @@ The skeleton will be bound to python-skeleton-NAME." (when module-file (substring-no-properties module-file 1 -1)))))) +(defvar ffap-alist) + (eval-after-load "ffap" '(progn (push '(python-mode . python-ffap-module-path) ffap-alist) diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index fa4efe49b7b..5f92d197a66 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -990,13 +990,14 @@ calculating indentation on the lines after it." (defun ruby-move-to-block (n) "Move to the beginning (N < 0) or the end (N > 0) of the current block, a sibling block, or an outer block. Do that (abs N) times." + (back-to-indentation) (let ((signum (if (> n 0) 1 -1)) (backward (< n 0)) - (depth (or (nth 2 (ruby-parse-region (line-beginning-position) - (line-end-position))) - 0)) + (depth (or (nth 2 (ruby-parse-region (point) (line-end-position))) 0)) case-fold-search down done) + (when (looking-at ruby-block-mid-re) + (setq depth (+ depth signum))) (when (< (* depth signum) 0) ;; Moving end -> end or beginning -> beginning. (setq depth 0)) @@ -1033,22 +1034,16 @@ current block, a sibling block, or an outer block. Do that (abs N) times." (unless (car state) ; Line ends with unfinished string. (setq depth (+ (nth 2 state) depth)))) (cond - ;; Deeper indentation, we found a block. - ;; FIXME: We can't recognize empty blocks this way. + ;; Increased depth, we found a block. ((> (* signum depth) 0) (setq down t)) - ;; Block found, and same indentation as when started, stop. + ;; We're at the same depth as when we started, and we've + ;; encountered a block before. Stop. ((and down (zerop depth)) (setq done t)) - ;; Shallower indentation, means outer block, can stop now. + ;; Lower depth, means outer block, can stop now. ((< (* signum depth) 0) - (setq done t))))) - (if done - (save-excursion - (back-to-indentation) - ;; Not really at the first or last line of the block, move on. - (if (looking-at (concat "\\<\\(" ruby-block-mid-re "\\)\\>")) - (setq done nil)))))) + (setq done t))))))) (back-to-indentation))) (defun ruby-beginning-of-block (&optional arg) @@ -1368,7 +1363,10 @@ It will be properly highlighted even when the call omits parens.") (defvar ruby-syntax-before-regexp-re (concat ;; Special tokens that can't be followed by a division operator. - "\\(^\\|[[=(,~?:;<>]" + "\\(^\\|[[=(,~;<>]" + ;; Distinguish ternary operator tokens. + ;; FIXME: They don't really have to be separated with spaces. + "\\|[?:] " ;; Control flow keywords and operators following bol or whitespace. "\\|\\(?:^\\|\\s \\)" (regexp-opt '("if" "elsif" "unless" "while" "until" "when" "and" @@ -1419,7 +1417,9 @@ It will be properly highlighted even when the call omits parens.") ("^\\(=\\)begin\\_>" (1 "!")) ;; Handle here documents. ((concat ruby-here-doc-beg-re ".*\\(\n\\)") - (7 (unless (ruby-singleton-class-p (match-beginning 0)) + (7 (unless (or (nth 8 (save-excursion + (syntax-ppss (match-beginning 0)))) + (ruby-singleton-class-p (match-beginning 0))) (put-text-property (match-beginning 7) (match-end 7) 'syntax-table (string-to-syntax "\"")) (ruby-syntax-propertize-heredoc end)))) @@ -1723,19 +1723,18 @@ See `font-lock-syntax-table'.") ;; functions '("^\\s *def\\s +\\([^( \t\n]+\\)" 1 font-lock-function-name-face) - ;; keywords - (cons (concat - "\\(^\\|[^.@$]\\|\\.\\.\\)\\_<\\(defined\\?\\|" + (list (concat + "\\(^\\|[^.@$]\\|\\.\\.\\)\\(" + ;; keywords (regexp-opt - '("alias_method" - "alias" + '("alias" "and" "begin" "break" "case" - "catch" "class" "def" + "defined?" "do" "elsif" "else" @@ -1745,21 +1744,15 @@ See `font-lock-syntax-table'.") "end" "if" "in" - "module_function" "module" "next" "not" "or" - "public" - "private" - "protected" - "raise" "redo" "rescue" "retry" "return" "then" - "throw" "super" "unless" "undef" @@ -1767,16 +1760,86 @@ See `font-lock-syntax-table'.") "when" "while" "yield") - t) - "\\)" - ruby-keyword-end-re) - 2) + 'symbols) + "\\|" + (regexp-opt + ;; built-in methods on Kernel + '("__callee__" + "__dir__" + "__method__" + "abort" + "at_exit" + "autoload" + "autoload?" + "binding" + "block_given?" + "caller" + "catch" + "eval" + "exec" + "exit" + "exit!" + "fail" + "fork" + "format" + "lambda" + "load" + "loop" + "open" + "p" + "print" + "printf" + "proc" + "putc" + "puts" + "raise" + "rand" + "readline" + "readlines" + "require" + "require_relative" + "sleep" + "spawn" + "sprintf" + "srand" + "syscall" + "system" + "throw" + "trap" + "warn" + ;; keyword-like private methods on Module + "alias_method" + "autoload" + "attr" + "attr_accessor" + "attr_reader" + "attr_writer" + "define_method" + "extend" + "include" + "module_function" + "prepend" + "private" + "protected" + "public" + "refine" + "using") + 'symbols) + "\\)") + 2 + '(if (match-beginning 4) + font-lock-builtin-face + font-lock-keyword-face)) + ;; Perl-ish keywords + "\\_<\\(?:BEGIN\\|END\\)\\_>\\|^__END__$" ;; here-doc beginnings `(,ruby-here-doc-beg-re 0 (unless (ruby-singleton-class-p (match-beginning 0)) 'font-lock-string-face)) ;; variables '("\\(^\\|[^.@$]\\|\\.\\.\\)\\_<\\(nil\\|self\\|true\\|false\\)\\>" 2 font-lock-variable-name-face) + ;; keywords that evaluate to certain values + '("\\_<__\\(?:LINE\\|ENCODING\\|FILE\\)__\\_>" 0 font-lock-variable-name-face) ;; symbols '("\\(^\\|[^:]\\)\\(:\\([-+~]@?\\|[/%&|^`]\\|\\*\\*?\\|<\\(<\\|=>?\\)?\\|>[>=]?\\|===?\\|=~\\|![~=]?\\|\\[\\]=?\\|@?\\(\\w\\|_\\)+\\([!?=]\\|\\b_*\\)\\|#{[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\)\\)" 2 font-lock-constant-face) @@ -1854,11 +1917,14 @@ The variable `ruby-indent-level' controls the amount of indentation. ;;; Invoke ruby-mode when appropriate ;;;###autoload -(add-to-list 'auto-mode-alist (cons (purecopy "\\.rb\\'") 'ruby-mode)) -;;;###autoload -(add-to-list 'auto-mode-alist (cons (purecopy "Rakefile\\'") 'ruby-mode)) -;;;###autoload -(add-to-list 'auto-mode-alist (cons (purecopy "\\.gemspec\\'") 'ruby-mode)) +(add-to-list 'auto-mode-alist + (cons (purecopy (concat "\\(?:\\." + "rb\\|ru\\|rake\\|thor" + "\\|jbuilder\\|gemspec" + "\\|/" + "\\(?:Gem\\|Rake\\|Cap\\|Thor" + "Vagrant\\|Guard\\)file" + "\\)\\'")) 'ruby-mode)) ;;;###autoload (dolist (name (list "ruby" "rbx" "jruby" "ruby1.9" "ruby1.8")) diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index fab20102097..fda7d6b6852 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el @@ -312,6 +312,8 @@ See `run-hooks'." "call-with-input-file" "call-with-output-file" "case" "cond" "do" "else" "for-each" "if" "lambda" "λ" "let" "let*" "let-syntax" "letrec" "letrec-syntax" + ;; R6RS library subforms. + "export" "import" ;; SRFI 11 usage comes up often enough. "let-values" "let*-values" ;; Hannes Haug <hannes.haug@student.uni-tuebingen.de> wants: @@ -330,6 +332,10 @@ See `run-hooks'." ;; ;; Scheme `:' and `#:' keywords as builtins. '("\\<#?:\\sw+\\>" . font-lock-builtin-face) + ;; R6RS library declarations. + '("(\\(\\<library\\>\\)\\s-*(?\\(\\sw+\\)?" + (1 font-lock-keyword-face) + (2 font-lock-type-face)) ))) "Gaudy expressions to highlight in Scheme modes.") @@ -536,6 +542,7 @@ indentation." (put 'letrec-syntax 'scheme-indent-function 1) (put 'syntax-rules 'scheme-indent-function 1) (put 'syntax-case 'scheme-indent-function 2) ; not r5rs +(put 'library 'scheme-indent-function 1) ; R6RS (put 'call-with-input-file 'scheme-indent-function 1) (put 'with-input-from-file 'scheme-indent-function 1) diff --git a/lisp/replace.el b/lisp/replace.el index 24cfccf60fd..be0ecda20fa 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -2156,7 +2156,10 @@ make, or the user didn't cancel the call." (with-output-to-temp-buffer "*Help*" (princ (concat "Query replacing " - (if delimited-flag "word " "") + (if delimited-flag + (or (and (symbolp delimited-flag) + (get delimited-flag 'isearch-message-prefix)) + "word ") "") (if regexp-flag "regexp " "") from-string " with " next-replacement ".\n\n" diff --git a/lisp/saveplace.el b/lisp/saveplace.el index 1b7efcec1b9..2ddac6d6c43 100644 --- a/lisp/saveplace.el +++ b/lisp/saveplace.el @@ -169,22 +169,24 @@ file: ;; file. If not, do so, then feel free to modify the alist. It ;; will be saved again when Emacs is killed. (or save-place-loaded (load-save-place-alist-from-file)) - (when (and buffer-file-name - (or (not save-place-ignore-files-regexp) - (not (string-match save-place-ignore-files-regexp - buffer-file-name)))) - (let ((cell (assoc buffer-file-name save-place-alist)) - (position (if (not (eq major-mode 'hexl-mode)) - (point) - (with-no-warnings - (1+ (hexl-current-address)))))) - (if cell - (setq save-place-alist (delq cell save-place-alist))) - (if (and save-place - (not (= position 1))) ;; Optimize out the degenerate case. - (setq save-place-alist - (cons (cons buffer-file-name position) - save-place-alist)))))) + (let ((item (or buffer-file-name + (and dired-directory (expand-file-name dired-directory))))) + (when (and item + (or (not save-place-ignore-files-regexp) + (not (string-match save-place-ignore-files-regexp + item)))) + (let ((cell (assoc item save-place-alist)) + (position (if (not (eq major-mode 'hexl-mode)) + (point) + (with-no-warnings + (1+ (hexl-current-address)))))) + (if cell + (setq save-place-alist (delq cell save-place-alist))) + (if (and save-place + (not (= position 1))) ;; Optimize out the degenerate case. + (setq save-place-alist + (cons (cons item position) + save-place-alist))))))) (defun save-place-forget-unreadable-files () "Remove unreadable files from `save-place-alist'. @@ -300,6 +302,17 @@ may have changed\) back to `save-place-alist'." ;; and make sure it will be saved again for later (setq save-place t))))) +(defun save-place-dired-hook () + "Position the point in a dired buffer." + (or save-place-loaded (load-save-place-alist-from-file)) + (let ((cell (assoc (expand-file-name dired-directory) save-place-alist))) + (if cell + (progn + (or revert-buffer-in-progress-p + (goto-char (cdr cell))) + ;; and make sure it will be saved again for later + (setq save-place t))))) + (defun save-place-kill-emacs-hook () ;; First update the alist. This loads the old save-place-file if nec. (save-places-to-alist) @@ -310,6 +323,7 @@ may have changed\) back to `save-place-alist'." (add-hook 'find-file-hook 'save-place-find-file-hook t) +(add-hook 'dired-initial-point-hook 'save-place-dired-hook) (unless noninteractive (add-hook 'kill-emacs-hook 'save-place-kill-emacs-hook)) diff --git a/lisp/simple.el b/lisp/simple.el index 15bf8779f56..b4b8ddfabed 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -2849,10 +2849,11 @@ output is inserted in the current buffer, the buffer `*Shell Command Output*' is deleted. Optional fourth arg OUTPUT-BUFFER specifies where to put the -command's output. If the value is a buffer or buffer name, put -the output there. Any other value, excluding nil, means to -insert the output in the current buffer. In either case, the -output is inserted after point (leaving mark after it). +command's output. If the value is a buffer or buffer name, +put the output there. If the value is nil, use the buffer +`*Shell Command Output*'. Any other value, excluding nil, +means to insert the output in the current buffer. In either case, +the output is inserted after point (leaving mark after it). Optional fifth arg REPLACE, if non-nil, means to insert the output in place of text from START to END, putting point and mark @@ -4738,42 +4739,65 @@ lines." (vpos (nth 1 lh)) (ypos (nth 2 lh)) (rbot (nth 3 lh)) + (this-lh (window-line-height)) + (this-height (nth 0 this-lh)) + (this-ypos (nth 2 this-lh)) + (fch (frame-char-height)) py vs) (when (or (null lh) - (>= rbot (frame-char-height)) - (<= ypos (- (frame-char-height)))) + (>= rbot fch) + (<= ypos (- fch)) + (null this-lh) + (<= this-ypos (- fch))) (unless lh (let ((wend (pos-visible-in-window-p t nil t))) (setq rbot (nth 3 wend) vpos (nth 5 wend)))) + (unless this-lh + (let ((wstart (pos-visible-in-window-p nil nil t))) + (setq this-ypos (nth 2 wstart) + this-height (nth 4 wstart)))) + (setq py + (or (nth 1 this-lh) + (let ((ppos (posn-at-point)) + col-row) + (setq col-row (posn-actual-col-row ppos)) + (if col-row + (- (cdr col-row) (window-vscroll)) + (cdr (posn-col-row ppos)))))) (cond - ;; If last line of window is fully visible, move forward. - ((or (null rbot) (= rbot 0)) + ;; If last line of window is fully visible, and vscrolling + ;; more would make this line invisible, move forward. + ((and (or (< (setq vs (window-vscroll nil t)) fch) + (null this-height) + (<= this-height fch)) + (or (null rbot) (= rbot 0))) nil) - ;; If cursor is not in the bottom scroll margin, move forward. - ((and (> vpos 0) - (< (setq py - (or (nth 1 (window-line-height)) - (let ((ppos (posn-at-point))) - (cdr (or (posn-actual-col-row ppos) - (posn-col-row ppos)))))) + ;; If cursor is not in the bottom scroll margin, and the + ;; current line is is not too tall, move forward. + ((and (or (null this-height) (<= this-height fch)) + vpos + (> vpos 0) + (< py (min (- (window-text-height) scroll-margin 1) (1- vpos)))) nil) ;; When already vscrolled, we vscroll some more if we can, ;; or clear vscroll and move forward at end of tall image. - ((> (setq vs (window-vscroll nil t)) 0) - (when (> rbot 0) - (set-window-vscroll nil (+ vs (min rbot (frame-char-height))) t))) + ((> vs 0) + (when (or (and rbot (> rbot 0)) + (and this-height (> this-height fch))) + (set-window-vscroll nil (+ vs fch) t))) ;; If cursor just entered the bottom scroll margin, move forward, ;; but also vscroll one line so redisplay won't recenter. - ((and (> vpos 0) + ((and vpos + (> vpos 0) (= py (min (- (window-text-height) scroll-margin 1) (1- vpos)))) (set-window-vscroll nil (frame-char-height) t) (line-move-1 arg noerror to-end) t) ;; If there are lines above the last line, scroll-up one line. - ((> vpos 0) + ((and vpos (> vpos 0)) (scroll-up 1) t) ;; Finally, start vscroll. @@ -4808,7 +4832,14 @@ lines." ;; display-based motion doesn't make sense (because each ;; logical line occupies exactly one screen line). (not (> (window-hscroll) 0))) - (line-move-visual arg noerror) + (prog1 (line-move-visual arg noerror) + ;; If we moved into a tall line, set vscroll to make + ;; scrolling through tall images more smooth. + (let ((lh (line-pixel-height))) + (if (and (< arg 0) + (< (point) (window-start)) + (> lh (frame-char-height))) + (set-window-vscroll nil (- lh (frame-char-height)) t)))) (line-move-1 arg noerror to-end))))) ;; Display-based alternative to line-move-1. @@ -6420,10 +6451,10 @@ With a prefix argument, set VARIABLE to VALUE buffer-locally." (call-interactively `(lambda (arg) (interactive ,prop) arg)) - (read - (read-string prompt nil - 'set-variable-value-history - (format "%S" (symbol-value var)))))))) + (read-from-minibuffer prompt nil + read-expression-map t + 'set-variable-value-history + (format "%S" (symbol-value var))))))) (list var val current-prefix-arg))) (and (custom-variable-p variable) @@ -7295,8 +7326,7 @@ version and use the one distributed with Emacs.")) "Alist of packages known to cause problems in this version of Emacs. Each element has the form (PACKAGE SYMBOL REGEXP STRING). PACKAGE is either a regular expression to match file names, or a -symbol (a feature name); see the documentation of -`after-load-alist', to which this variable adds functions. +symbol (a feature name), like for `with-eval-after-load'. SYMBOL is either the name of a string variable, or `t'. Upon loading PACKAGE, if SYMBOL is t or matches REGEXP, display a warning using STRING as the message.") @@ -7314,10 +7344,70 @@ warning using STRING as the message.") (display-warning package (nth 3 list) :warning))) (error nil))) -(mapc (lambda (elem) - (eval-after-load (car elem) `(bad-package-check ',(car elem)))) - bad-packages-alist) +(dolist (elem bad-packages-alist) + (let ((pkg (car elem))) + (with-eval-after-load pkg + (bad-package-check pkg)))) + +;;; Generic dispatcher commands + +;; Macro `alternatives-define' is used to create generic commands. +;; Generic commands are these (like web, mail, news, encrypt, irc, etc.) +;; that can have different alternative implementations where choosing +;; among them is exclusively a matter of user preference. + +;; (alternatives-define COMMAND) creates a new interactive command +;; M-x COMMAND and a customizable variable COMMAND-alternatives. +;; Typically, the user will not need to customize this variable; packages +;; wanting to add alternative implementations should use +;; +;; ;;;###autoload (push '("My impl name" . my-impl-symbol) COMMAND-alternatives + +(defmacro alternatives-define (command &rest customizations) + "Define new command `COMMAND'. +The variable `COMMAND-alternatives' will contain alternative +implementations of COMMAND, so that running `C-u M-x COMMAND' +will allow the user to chose among them. +CUSTOMIZATIONS, if non-nil, should be composed of alternating +`defcustom' keywords and values to add to the declaration of +`COMMAND-alternatives' (typically :group and :version)." + (let* ((command-name (symbol-name command)) + (varalt-name (concat command-name "-alternatives")) + (varalt-sym (intern varalt-name)) + (varimp-sym (intern (concat command-name "--implementation")))) + `(progn + + (defcustom ,varalt-sym nil + ,(format "Alist of alternative implementations for the `%s' command. + +Each entry must be a pair (ALTNAME . ALTFUN), where: +ALTNAME - The name shown at user to describe the alternative implementation. +ALTFUN - The function called to implement this alternative." + command-name) + :type '(alist :key-type string :value-type function) + ,@customizations) + + (defvar ,varimp-sym nil "Internal use only.") + + (defun ,command (&optional arg) + ,(format "Run generic command `%s'. +If used for the first time, or with interactive ARG, ask the user which +implementation to use for `%s'. The variable `%s' +contains the list of implementations currently supported for this command." + command-name command-name varalt-name) + (interactive "P") + (when (or arg (null ,varimp-sym)) + (let ((val (completing-read + ,(format "Select implementation for command `%s': " command-name) + ,varalt-sym nil t))) + (unless (string-equal val "") + (customize-save-variable ',varimp-sym + (cdr (assoc-string val ,varalt-sym)))))) + (if ,varimp-sym + (funcall ,varimp-sym) + (message ,(format "No implementation selected for command `%s'" + command-name))))))) (provide 'simple) diff --git a/lisp/startup.el b/lisp/startup.el index b7b4c156f02..44eea7745f7 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -53,7 +53,8 @@ or directory when no target file is specified." (const :tag "Startup screen" nil) (directory :tag "Directory" :value "~/") (file :tag "File" :value "~/.emacs") - (function :tag "Function") + (const :tag "Notes buffer" remember-notes) + (function :tag "Function") (const :tag "Lisp scratch buffer" t)) :version "24.4" :group 'initialization) @@ -413,14 +414,20 @@ Warning Warning!!! Pure space overflow !!!Warning Warning :type 'directory :initialize 'custom-initialize-delay) -(defconst package-subdirectory-regexp - "\\([^.].*?\\)-\\([0-9]+\\(?:[.][0-9]+\\|\\(?:pre\\|beta\\|alpha\\)[0-9]+\\)*\\)" - "Regular expression matching the name of a package subdirectory. -The first subexpression is the package name. -The second subexpression is the version string. - -The regexp should not contain a starting \"\\`\" or a trailing - \"\\'\"; those are added automatically by callers.") +(defvar package--builtin-versions + ;; Mostly populated by loaddefs.el via autoload-builtin-package-versions. + (purecopy `((emacs . ,(version-to-list emacs-version)))) + "Alist giving the version of each versioned builtin package. +I.e. each element of the list is of the form (NAME . VERSION) where +NAME is the package name as a symbol, and VERSION is its version +as a list.") + +(defun package--description-file (dir) + (concat (let ((subdir (file-name-nondirectory + (directory-file-name dir)))) + (if (string-match "\\([^.].*?\\)-\\([0-9]+\\(?:[.][0-9]+\\|\\(?:pre\\|beta\\|alpha\\)[0-9]+\\)*\\)" subdir) + (match-string 1 subdir) subdir)) + "-pkg.el")) (defun normal-top-level-add-subdirs-to-load-path () "Add all subdirectories of `default-directory' to `load-path'. @@ -715,7 +722,7 @@ opening the first frame (e.g. open a connection to an X server).") default-frame-alist)) (t (push argi rest))))) - (nreverse rest))) + (nconc (nreverse rest) args))) (declare-function x-get-resource "frame.c" (attribute class &optional component subclass)) @@ -1194,10 +1201,12 @@ the `--debug-init' option to view a complete error backtrace." (dolist (dir dirs) (when (file-directory-p dir) (dolist (subdir (directory-files dir)) - (when (and (file-directory-p (expand-file-name subdir dir)) - (string-match - (concat "\\`" package-subdirectory-regexp "\\'") - subdir)) + (when (let ((subdir (expand-file-name subdir dir))) + (and (file-directory-p subdir) + (file-exists-p + (expand-file-name + (package--description-file subdir) + subdir)))) (throw 'package-dir-found t))))))) (package-initialize)) diff --git a/lisp/subr.el b/lisp/subr.el index 6f46e1189cf..b2918baf247 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1206,6 +1206,11 @@ is converted into a string by expressing it in decimal." (declare (obsolete make-hash-table "22.1")) (make-hash-table :test (or test 'eql))) +(defun log10 (x) + "Return (log X 10), the log base 10 of X." + (declare (obsolete log "24.4")) + (log x 10)) + ;; These are used by VM and some old programs (defalias 'focus-frame 'ignore "") (make-obsolete 'focus-frame "it does nothing." "22.1") @@ -1985,20 +1990,14 @@ for numeric input." or the octal character code. RET terminates the character code and is discarded; any other non-digit terminates the character code and is then used as input.")) - (setq char (read-event (and prompt (format "%s-" prompt)) t)) + (setq translated (read-key (and prompt (format "%s-" prompt)))) (if inhibit-quit (setq quit-flag nil))) - ;; Translate TAB key into control-I ASCII character, and so on. - ;; Note: `read-char' does it using the `ascii-character' property. - ;; We should try and use read-key instead. - (let ((translation (lookup-key local-function-key-map (vector char)))) - (setq translated (if (arrayp translation) - (aref translation 0) - char))) (if (integerp translated) (setq translated (char-resolve-modifiers translated))) (cond ((null translated)) ((not (integerp translated)) - (setq unread-command-events (list char) + (setq unread-command-events + (listify-key-sequence (this-single-command-raw-keys)) done t)) ((/= (logand translated ?\M-\^@) 0) ;; Turn a meta-character into a character with the 0200 bit set. @@ -2017,7 +2016,8 @@ any other non-digit terminates the character code and is then used as input.")) ((and (not first) (eq translated ?\C-m)) (setq done t)) ((not first) - (setq unread-command-events (list char) + (setq unread-command-events + (listify-key-sequence (this-single-command-raw-keys)) done t)) (t (setq code translated done t))) @@ -2181,6 +2181,7 @@ An obsolete, but still supported form is where the optional arg MILLISECONDS specifies an additional wait period, in milliseconds; this was useful when Emacs was built without floating point support." + (declare (advertised-calling-convention (seconds &optional nodisp) "22.1")) (if (numberp nodisp) (setq seconds (+ seconds (* 1e-3 nodisp)) nodisp obsolete) @@ -2195,7 +2196,10 @@ floating point support." (or nodisp (redisplay))) (t (or nodisp (redisplay)) - (let ((read (read-event nil nil seconds))) + ;; FIXME: we should not read-event here at all, because it's much too + ;; difficult to reliably "undo" a read-event by pushing it onto + ;; unread-command-events. + (let ((read (read-event nil t seconds))) (or (null read) (progn ;; If last command was a prefix arg, e.g. C-u, push this event onto @@ -2205,7 +2209,6 @@ floating point support." (setq read (cons t read))) (push read unread-command-events) nil)))))) -(set-advertised-calling-convention 'sit-for '(seconds &optional nodisp) "22.1") (defun y-or-n-p (prompt) "Ask user a \"y or n\" question. Return t if answer is \"y\". @@ -2235,7 +2238,8 @@ is nil and `use-dialog-box' is non-nil." (cond (noninteractive (setq prompt (concat prompt - (if (eq ?\s (aref prompt (1- (length prompt)))) + (if (or (zerop (length prompt)) + (eq ?\s (aref prompt (1- (length prompt))))) "" " ") "(y or n) ")) (let ((temp-prompt prompt)) @@ -2252,7 +2256,8 @@ is nil and `use-dialog-box' is non-nil." (x-popup-dialog t `(,prompt ("Yes" . act) ("No" . skip))))) (t (setq prompt (concat prompt - (if (eq ?\s (aref prompt (1- (length prompt)))) + (if (or (zerop (length prompt)) + (eq ?\s (aref prompt (1- (length prompt))))) "" " ") "(y or n) ")) (while @@ -2444,11 +2449,12 @@ If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there." (recenter (/ (window-height) 2)))) (message (or message "Type %s to continue editing.") (single-key-description exit-char)) - (let ((event (read-event))) + (let ((event (read-key))) ;; `exit-char' can be an event, or an event description list. (or (eq event exit-char) (eq event (event-convert-list exit-char)) - (setq unread-command-events (list event))))) + (setq unread-command-events + (append (this-single-command-raw-keys)))))) (delete-overlay ol)))) @@ -3729,6 +3735,8 @@ Return nil if there isn't one." (defun eval-after-load (file form) "Arrange that if FILE is loaded, FORM will be run immediately afterwards. If FILE is already loaded, evaluate FORM right now. +FORM can be an Elisp expression (in which case it's passed to `eval'), +or a function (in which case it's passed to `funcall' with no argument). If a matching file is loaded again, FORM will be evaluated again. @@ -3756,43 +3764,61 @@ Usually FILE is just a library name like \"font-lock\" or a feature name like 'font-lock. This function makes or adds to an entry on `after-load-alist'." + (declare (compiler-macro + (lambda (whole) + (if (eq 'quote (car-safe form)) + ;; Quote with lambda so the compiler can look inside. + `(eval-after-load ,file (lambda () ,(nth 1 form))) + whole)))) ;; Add this FORM into after-load-alist (regardless of whether we'll be ;; evaluating it now). (let* ((regexp-or-feature (if (stringp file) (setq file (purecopy (load-history-regexp file))) file)) - (elt (assoc regexp-or-feature after-load-alist))) + (elt (assoc regexp-or-feature after-load-alist)) + (func + (if (functionp form) form + ;; Try to use the "current" lexical/dynamic mode for `form'. + (eval `(lambda () ,form) lexical-binding)))) (unless elt (setq elt (list regexp-or-feature)) (push elt after-load-alist)) - ;; Make sure `form' is evalled in the current lexical/dynamic code. - (setq form `(funcall ',(eval `(lambda () ,form) lexical-binding))) ;; Is there an already loaded file whose name (or `provide' name) ;; matches FILE? (prog1 (if (if (stringp file) (load-history-filename-element regexp-or-feature) (featurep file)) - (eval form)) - (when (symbolp regexp-or-feature) - ;; For features, the after-load-alist elements get run when `provide' is - ;; called rather than at the end of the file. So add an indirection to - ;; make sure that `form' is really run "after-load" in case the provide - ;; call happens early. - (setq form - `(if load-file-name - (let ((fun (make-symbol "eval-after-load-helper"))) - (fset fun `(lambda (file) - (if (not (equal file ',load-file-name)) - nil - (remove-hook 'after-load-functions ',fun) - ,',form))) - (add-hook 'after-load-functions fun)) - ;; Not being provided from a file, run form right now. - ,form))) - ;; Add FORM to the element unless it's already there. - (unless (member form (cdr elt)) - (nconc elt (list form)))))) + (funcall func)) + (let ((delayed-func + (if (not (symbolp regexp-or-feature)) func + ;; For features, the after-load-alist elements get run when + ;; `provide' is called rather than at the end of the file. + ;; So add an indirection to make sure that `func' is really run + ;; "after-load" in case the provide call happens early. + (lambda () + (if (not load-file-name) + ;; Not being provided from a file, run func right now. + (funcall func) + (let ((lfn load-file-name) + ;; Don't use letrec, because equal (in + ;; add/remove-hook) would get trapped in a cycle. + (fun (make-symbol "eval-after-load-helper"))) + (fset fun (lambda (file) + (when (equal file lfn) + (remove-hook 'after-load-functions fun) + (funcall func)))) + (add-hook 'after-load-functions fun))))))) + ;; Add FORM to the element unless it's already there. + (unless (member delayed-func (cdr elt)) + (nconc elt (list delayed-func))))))) + +(defmacro with-eval-after-load (file &rest body) + "Execute BODY after FILE is loaded. +FILE is normally a feature name, but it can also be a file name, +in case that file does not provide any feature." + (declare (indent 1) (debug t)) + `(eval-after-load ,file (lambda () ,@body))) (defvar after-load-functions nil "Special hook run after loading a file. @@ -3804,12 +3830,11 @@ name of the file just loaded.") ABS-FILE, a string, should be the absolute true name of a file just loaded. This function is called directly from the C code." ;; Run the relevant eval-after-load forms. - (mapc #'(lambda (a-l-element) - (when (and (stringp (car a-l-element)) - (string-match-p (car a-l-element) abs-file)) - ;; discard the file name regexp - (mapc #'eval (cdr a-l-element)))) - after-load-alist) + (dolist (a-l-element after-load-alist) + (when (and (stringp (car a-l-element)) + (string-match-p (car a-l-element) abs-file)) + ;; discard the file name regexp + (mapc #'funcall (cdr a-l-element)))) ;; Complain when the user uses obsolete files. (when (string-match-p "/obsolete/[^/]*\\'" abs-file) (run-with-timer 0 nil @@ -4234,7 +4259,25 @@ use `called-interactively-p'." (declare (obsolete called-interactively-p "23.2")) (called-interactively-p 'interactive)) -(defun set-temporary-overlay-map (map &optional keep-pred) +(defun internal-push-keymap (keymap symbol) + (let ((map (symbol-value symbol))) + (unless (memq keymap map) + (unless (memq 'add-keymap-witness (symbol-value symbol)) + (setq map (make-composed-keymap nil (symbol-value symbol))) + (push 'add-keymap-witness (cdr map)) + (set symbol map)) + (push keymap (cdr map))))) + +(defun internal-pop-keymap (keymap symbol) + (let ((map (symbol-value symbol))) + (when (memq keymap map) + (setf (cdr map) (delq keymap (cdr map)))) + (let ((tail (cddr map))) + (and (or (null tail) (keymapp tail)) + (eq 'add-keymap-witness (nth 1 map)) + (set symbol tail))))) + +(defun set-temporary-overlay-map (map &optional keep-pred on-exit) "Set MAP as a temporary keymap taking precedence over most other keymaps. Note that this does NOT take precedence over the \"overriding\" maps `overriding-terminal-local-map' and `overriding-local-map' (or the @@ -4244,29 +4287,32 @@ found in MAP, the normal key lookup sequence then continues. Normally, MAP is used only once. If the optional argument KEEP-PRED is t, MAP stays active if a key from MAP is used. KEEP-PRED can also be a function of no arguments: if it returns -non-nil then MAP stays active." - (let* ((clearfunsym (make-symbol "clear-temporary-overlay-map")) - (overlaysym (make-symbol "t")) - (alist (list (cons overlaysym map))) - (clearfun - ;; FIXME: Use lexical-binding. - `(lambda () - (unless ,(cond ((null keep-pred) nil) - ((eq t keep-pred) - `(eq this-command - (lookup-key ',map - (this-command-keys-vector)))) - (t `(funcall ',keep-pred))) - (set ',overlaysym nil) ;Just in case. - (remove-hook 'pre-command-hook ',clearfunsym) - (setq emulation-mode-map-alists - (delq ',alist emulation-mode-map-alists)))))) - (set overlaysym overlaysym) - (fset clearfunsym clearfun) - (add-hook 'pre-command-hook clearfunsym) - ;; FIXME: That's the keymaps with highest precedence, except for - ;; the `keymap' text-property ;-( - (push alist emulation-mode-map-alists))) +non-nil then MAP stays active. + +Optional ON-EXIT argument is a function that is called after the +deactivation of MAP." + (let ((clearfun (make-symbol "clear-temporary-overlay-map"))) + ;; Don't use letrec, because equal (in add/remove-hook) would get trapped + ;; in a cycle. + (fset clearfun + (lambda () + ;; FIXME: Handle the case of multiple temporary-overlay-maps + ;; E.g. if isearch and C-u both use temporary-overlay-maps, Then + ;; the lifetime of the C-u should be nested within the isearch + ;; overlay, so the pre-command-hook of isearch should be + ;; suspended during the C-u one so we don't exit isearch just + ;; because we hit 1 after C-u and that 1 exits isearch whereas it + ;; doesn't exit C-u. + (unless (cond ((null keep-pred) nil) + ((eq t keep-pred) + (eq this-command + (lookup-key map (this-command-keys-vector)))) + (t (funcall keep-pred))) + (remove-hook 'pre-command-hook clearfun) + (internal-pop-keymap map 'overriding-terminal-local-map) + (when on-exit (funcall on-exit))))) + (add-hook 'pre-command-hook clearfun) + (internal-push-keymap map 'overriding-terminal-local-map))) ;;;; Progress reporters. @@ -4449,20 +4495,6 @@ convenience wrapper around `make-progress-reporter' and friends. nil ,@(cdr (cdr spec))))) -;;;; Support for watching filesystem events. - -(defun file-notify-handle-event (event) - "Handle file system monitoring event. -If EVENT is a filewatch event, call its callback. -Otherwise, signal a `filewatch-error'." - (interactive "e") - (if (and (eq (car event) 'file-notify) - (>= (length event) 3)) - (funcall (nth 2 event) (nth 1 event)) - (signal 'filewatch-error - (cons "Not a valid file-notify event" event)))) - - ;;;; Comparing version strings. (defconst version-separator "." diff --git a/lisp/tabify.el b/lisp/tabify.el index 6bf45b36886..a90bf801bcf 100644 --- a/lisp/tabify.el +++ b/lisp/tabify.el @@ -28,12 +28,17 @@ ;;; Code: ;;;###autoload -(defun untabify (start end) +(defun untabify (start end &optional arg) "Convert all tabs in region to multiple spaces, preserving columns. +If called interactively with prefix ARG, convert for the entire +buffer. + Called non-interactively, the region is specified by arguments START and END, rather than by the position of point and mark. The variable `tab-width' controls the spacing of tab stops." - (interactive "r") + (interactive (if current-prefix-arg + (list (point-min) (point-max) current-prefix-arg) + (list (region-beginning) (region-end) nil))) (let ((c (current-column))) (save-excursion (save-restriction @@ -56,14 +61,19 @@ Usually this will be \" [ \\t]+\" to match a space followed by whitespace. \"^\\t* [ \\t]+\" is also useful, for tabifying only initial whitespace.") ;;;###autoload -(defun tabify (start end) +(defun tabify (start end &optional arg) "Convert multiple spaces in region to tabs when possible. A group of spaces is partially replaced by tabs when this can be done without changing the column they end at. +If called interactively with prefix ARG, convert for the entire +buffer. + Called non-interactively, the region is specified by arguments START and END, rather than by the position of point and mark. The variable `tab-width' controls the spacing of tab stops." - (interactive "r") + (interactive (if current-prefix-arg + (list (point-min) (point-max) current-prefix-arg) + (list (region-beginning) (region-end) nil))) (save-excursion (save-restriction ;; Include the beginning of the line in the narrowing diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index 109107e857f..be7bdb25d26 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el @@ -740,10 +740,8 @@ tar-file's buffer." nil (error "This line does not describe a tar-file entry")))) -(defun tar-get-descriptor () - (let* ((descriptor (tar-current-descriptor)) - (size (tar-header-size descriptor)) - (link-p (tar-header-link-type descriptor))) +(defun tar--check-descriptor (descriptor) + (let ((link-p (tar-header-link-type descriptor))) (if link-p (error "This is %s, not a real file" (cond ((eq link-p 5) "a directory") @@ -754,10 +752,24 @@ tar-file's buffer." ((eq link-p 38) "a volume header") ((eq link-p 55) "a pax global extended header") ((eq link-p 72) "a pax extended header") - (t "a link")))) + (t "a link")))))) + +(defun tar-get-descriptor () + (let* ((descriptor (tar-current-descriptor)) + (size (tar-header-size descriptor))) + (tar--check-descriptor descriptor) (if (zerop size) (message "This is a zero-length file")) descriptor)) +(defun tar-get-file-descriptor (file) + ;; Used by package.el. + (let ((desc ())) + (dolist (hdr tar-parse-info) + (when (equal file (tar-header-name hdr)) + (setq desc hdr))) + (tar--check-descriptor desc) + desc)) + (defun tar-mouse-extract (event) "Extract a file whose tar directory line you click on." (interactive "e") @@ -776,96 +788,99 @@ tar-file's buffer." (let ((file-name-handler-alist nil)) (apply op args)))) +(defun tar--extract (descriptor) + "Extract this entry of the tar file into its own buffer." + (let* ((name (tar-header-name descriptor)) + (size (tar-header-size descriptor)) + (start (tar-header-data-start descriptor)) + (end (+ start size)) + (tarname (buffer-name)) + (bufname (concat (file-name-nondirectory name) + " (" + tarname + ")")) + (buffer (generate-new-buffer bufname))) + (with-current-buffer buffer + (setq buffer-undo-list t)) + (with-current-buffer tar-data-buffer + (let (coding) + (narrow-to-region start end) + (goto-char start) + (setq coding (or coding-system-for-read + (and set-auto-coding-function + (funcall set-auto-coding-function + name (- end start))) + ;; The following binding causes + ;; find-buffer-file-type-coding-system + ;; (defined on dos-w32.el) to act as if + ;; the file being extracted existed, so + ;; that the file's contents' encoding and + ;; EOL format are auto-detected. + (let ((file-name-handler-alist + '(("" . tar-file-name-handler)))) + (car (find-operation-coding-system + 'insert-file-contents + (cons name (current-buffer)) t))))) + (if (or (not coding) + (eq (coding-system-type coding) 'undecided)) + (setq coding (detect-coding-region start end t))) + (if (and (default-value 'enable-multibyte-characters) + (coding-system-get coding :for-unibyte)) + (with-current-buffer buffer + (set-buffer-multibyte nil))) + (widen) + (decode-coding-region start end coding buffer))) + buffer)) + (defun tar-extract (&optional other-window-p) "In Tar mode, extract this entry of the tar file into its own buffer." (interactive) (let* ((view-p (eq other-window-p 'view)) (descriptor (tar-get-descriptor)) (name (tar-header-name descriptor)) - (size (tar-header-size descriptor)) - (start (tar-header-data-start descriptor)) - (end (+ start size))) - (let* ((tar-buffer (current-buffer)) - (tarname (buffer-name)) - (bufname (concat (file-name-nondirectory name) - " (" - tarname - ")")) - (read-only-p (or buffer-read-only view-p)) - (new-buffer-file-name (expand-file-name - ;; `:' is not allowed on Windows - (concat tarname "!" - (if (string-match "/" name) - name - ;; Make sure `name' contains a / - ;; so set-auto-mode doesn't try - ;; to look at `tarname' for hints. - (concat "./" name))))) - (buffer (get-file-buffer new-buffer-file-name)) - (just-created nil) - undo-list) - (unless buffer - (setq buffer (generate-new-buffer bufname)) - (with-current-buffer buffer - (setq undo-list buffer-undo-list - buffer-undo-list t)) - (setq bufname (buffer-name buffer)) - (setq just-created t) - (with-current-buffer tar-data-buffer - (let (coding) - (narrow-to-region start end) - (goto-char start) - (setq coding (or coding-system-for-read - (and set-auto-coding-function - (funcall set-auto-coding-function - name (- end start))) - ;; The following binding causes - ;; find-buffer-file-type-coding-system - ;; (defined on dos-w32.el) to act as if - ;; the file being extracted existed, so - ;; that the file's contents' encoding and - ;; EOL format are auto-detected. - (let ((file-name-handler-alist - '(("" . tar-file-name-handler)))) - (car (find-operation-coding-system - 'insert-file-contents - (cons name (current-buffer)) t))))) - (if (or (not coding) - (eq (coding-system-type coding) 'undecided)) - (setq coding (detect-coding-region start end t))) - (if (and (default-value 'enable-multibyte-characters) - (coding-system-get coding :for-unibyte)) - (with-current-buffer buffer - (set-buffer-multibyte nil))) - (widen) - (decode-coding-region start end coding buffer))) - (with-current-buffer buffer - (goto-char (point-min)) - (setq buffer-file-name new-buffer-file-name) - (setq buffer-file-truename - (abbreviate-file-name buffer-file-name)) - ;; Force buffer-file-coding-system to what - ;; decode-coding-region actually used. - (set-buffer-file-coding-system last-coding-system-used t) - ;; Set the default-directory to the dir of the - ;; superior buffer. - (setq default-directory - (with-current-buffer tar-buffer - default-directory)) - (rename-buffer bufname) - (set-buffer-modified-p nil) - (setq buffer-undo-list undo-list) - (normal-mode) ; pick a mode. - (set (make-local-variable 'tar-superior-buffer) tar-buffer) - (set (make-local-variable 'tar-superior-descriptor) descriptor) - (setq buffer-read-only read-only-p) - (tar-subfile-mode 1))) - (cond - (view-p - (view-buffer buffer (and just-created 'kill-buffer-if-not-modified))) - ((eq other-window-p 'display) (display-buffer buffer)) - (other-window-p (switch-to-buffer-other-window buffer)) - (t (switch-to-buffer buffer)))))) + (tar-buffer (current-buffer)) + (tarname (buffer-name)) + (read-only-p (or buffer-read-only view-p)) + (new-buffer-file-name (expand-file-name + ;; `:' is not allowed on Windows + (concat tarname "!" + (if (string-match "/" name) + name + ;; Make sure `name' contains a / + ;; so set-auto-mode doesn't try + ;; to look at `tarname' for hints. + (concat "./" name))))) + (buffer (get-file-buffer new-buffer-file-name)) + (just-created nil)) + (unless buffer + (setq buffer (tar--extract descriptor)) + (setq just-created t) + (with-current-buffer buffer + (goto-char (point-min)) + (setq buffer-file-name new-buffer-file-name) + (setq buffer-file-truename + (abbreviate-file-name buffer-file-name)) + ;; Force buffer-file-coding-system to what + ;; decode-coding-region actually used. + (set-buffer-file-coding-system last-coding-system-used t) + ;; Set the default-directory to the dir of the + ;; superior buffer. + (setq default-directory + (with-current-buffer tar-buffer + default-directory)) + (set-buffer-modified-p nil) + (setq buffer-undo-list t) + (normal-mode) ; pick a mode. + (set (make-local-variable 'tar-superior-buffer) tar-buffer) + (set (make-local-variable 'tar-superior-descriptor) descriptor) + (setq buffer-read-only read-only-p) + (tar-subfile-mode 1))) + (cond + (view-p + (view-buffer buffer (and just-created 'kill-buffer-if-not-modified))) + ((eq other-window-p 'display) (display-buffer buffer)) + (other-window-p (switch-to-buffer-other-window buffer)) + (t (switch-to-buffer buffer))))) (defun tar-extract-other-window () diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el index 0298ad81a34..b92ca1244fb 100644 --- a/lisp/term/ns-win.el +++ b/lisp/term/ns-win.el @@ -940,7 +940,8 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.") (x-apply-session-resources) (setq ns-initialized t)) -(add-to-list 'display-format-alist '("\\`ns\\'" . ns)) +;; Any display name is OK. +(add-to-list 'display-format-alist '(".*" . ns)) (add-to-list 'handle-args-function-alist '(ns . x-handle-args)) (add-to-list 'frame-creation-function-alist '(ns . x-create-frame-with-faces)) (add-to-list 'window-system-initialization-alist '(ns . ns-initialize-window-system)) diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index 822df0e37e5..ab1556d5779 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el @@ -118,13 +118,11 @@ See also `emacs-session-save'.") (defun emacs-session-filename (session-id) "Construct a filename to save the session in based on SESSION-ID. -If the directory ~/.emacs.d exists, we make a filename in there, otherwise -a file in the home directory." - (let ((basename (concat "session." session-id)) - (emacs-dir user-emacs-directory)) - (expand-file-name (if (file-directory-p emacs-dir) - (concat emacs-dir basename) - (concat "~/.emacs-" basename))))) +Return a filename in `user-emacs-directory', unless the session file +already exists in the home directory." + (let ((basename (concat "session." session-id))) + (locate-user-emacs-file basename + (concat ".emacs-" basename)))) (defun emacs-session-save () "This function is called when the window system is shutting down. diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index 05a129225ee..86f4583b987 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el @@ -516,6 +516,9 @@ The relevant features are: (terminal-init-xterm-modify-other-keys)))))) (defun xterm--query (query handlers) + "Send QUERY string to the terminal and watch for a response. +HANDLERS is an alist with elements of the form (STRING . FUNCTION). +We run the first FUNCTION whose STRING matches the input events." ;; We used to query synchronously, but the need to use `discard-input' is ;; rather annoying (bug#6758). Maybe we could always use the asynchronous ;; approach, but it's less tested. @@ -544,7 +547,8 @@ The relevant features are: nil)))) (setq i (1+ i))) (if (= i (length (car handler))) - (funcall (cdr handler)) + (progn (setq handlers nil) + (funcall (cdr handler))) (while (> i 0) (push (aref (car handler) (setq i (1- i))) unread-command-events))))))) diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index 01a126eb381..171f373317a 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el @@ -1224,7 +1224,10 @@ Used by `bibtex-complete-crossref-cleanup' and `bibtex-copy-summary-as-kill'." (function :tag "Personalized function"))) (defcustom bibtex-generate-url-list - '((("url" . ".*:.*"))) + '((("url" . ".*:.*")) + (("doi" . "10\\.[0-9]+/.+") + "http://dx.doi.org/%s" + ("doi" ".*" 0))) "List of schemes for generating the URL of a BibTeX entry. These schemes are used by `bibtex-url'. @@ -1261,6 +1264,7 @@ The following is a complex example, see URL `http://link.aps.org/'. (\"volume\" \".*\" 0) (\"pages\" \"\\`[A-Z]?[0-9]+\" 0)))" :group 'bibtex + :version "24.4" :type '(repeat (cons :tag "Scheme" (cons :tag "Matcher" :extra-offset 4 @@ -3400,9 +3404,6 @@ if that value is non-nil. (set (make-local-variable 'syntax-propertize-function) (syntax-propertize-via-font-lock bibtex-font-lock-syntactic-keywords)) - (setq imenu-generic-expression - (list (list nil bibtex-entry-head bibtex-key-in-head)) - imenu-case-fold-search t) ;; Allow `bibtex-dialect' as a file-local variable. (add-hook 'hack-local-variables-hook 'bibtex-set-dialect nil t)) @@ -3479,7 +3480,10 @@ LOCAL is t for interactive calls." (concat "^[ \t]*@[ \t]*\\(?:" (regexp-opt (append '("String" "Preamble") - (mapcar 'car bibtex-entry-alist))) "\\)")))) + (mapcar 'car bibtex-entry-alist))) "\\)")) + (setq imenu-generic-expression + (list (list nil bibtex-entry-head bibtex-key-in-head)) + imenu-case-fold-search t))) ;; Entry commands and menus for BibTeX dialects ;; We do not use `easy-menu-define' here because this gets confused diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el index 7fed4d0d021..ae8f94fd063 100644 --- a/lisp/textmodes/reftex.el +++ b/lisp/textmodes/reftex.el @@ -2256,6 +2256,8 @@ IGNORE-WORDS List of words which should be removed from the string." (define-key reftex-mode-map [(shift mouse-2)] 'reftex-mouse-view-crossref))) +(defvar bibtex-mode-map) + ;; Bind `reftex-view-crossref-from-bibtex' in BibTeX mode map (eval-after-load "bibtex" diff --git a/lisp/textmodes/remember.el b/lisp/textmodes/remember.el index 5782f25e48d..39f3acd2c4c 100644 --- a/lisp/textmodes/remember.el +++ b/lisp/textmodes/remember.el @@ -382,8 +382,18 @@ Subject: %s\n\n" ;; Remembering to plain files (defcustom remember-data-file (locate-user-emacs-file "notes" ".notes") - "The file in which to store unprocessed data." + "The file in which to store unprocessed data. +When set via customize, visited file of the notes buffer (if it +exists) might be changed." :type 'file + :set (lambda (symbol value) + (let ((buf (find-buffer-visiting (default-value symbol)))) + (set-default symbol value) + (when (buffer-live-p buf) + (with-current-buffer buf + (set-visited-file-name + (expand-file-name remember-data-file)))))) + :initialize 'custom-initialize-default :group 'remember) (defcustom remember-leader-text "** " @@ -393,21 +403,20 @@ Subject: %s\n\n" (defun remember-append-to-file () "Remember, with description DESC, the given TEXT." - (let ((text (buffer-string)) - (desc (remember-buffer-desc))) - (with-temp-buffer - (insert "\n" remember-leader-text (current-time-string) - " (" desc ")\n\n" text) - (if (not (bolp)) - (insert "\n")) - (if (find-buffer-visiting remember-data-file) - (let ((remember-text (buffer-string))) - (set-buffer (get-file-buffer remember-data-file)) - (save-excursion - (goto-char (point-max)) - (insert remember-text) - (when remember-save-after-remembering (save-buffer)))) - (append-to-file (point-min) (point-max) remember-data-file))))) + (let* ((text (buffer-string)) + (desc (remember-buffer-desc)) + (remember-text (concat "\n" remember-leader-text (current-time-string) + " (" desc ")\n\n" text + (save-excursion (goto-char (point-max)) + (if (bolp) nil "\n")))) + (buf (find-buffer-visiting remember-data-file))) + (if buf + (with-current-buffer buf + (save-excursion + (goto-char (point-max)) + (insert remember-text)) + (if remember-save-after-remembering (save-buffer))) + (append-to-file remember-text nil remember-data-file)))) (defun remember-region (&optional beg end) "Remember the data from BEG to END. @@ -551,4 +560,96 @@ the data away for latter retrieval, and possible indexing. \\{remember-mode-map}" (set-keymap-parent remember-mode-map nil)) +;; Notes buffer showing the notes: + +(defcustom remember-notes-buffer-name "*notes*" + "Name of the notes buffer. +Setting it to *scratch* will hijack the *scratch* buffer for the +purpose of storing notes." + :type 'string + :version "24.4") + +(defcustom remember-notes-initial-major-mode nil + "Major mode to set to notes buffer when it's created. +If set to nil will use the same mode as `initial-major-mode'." + :type '(choice (const :tag "Same as `initial-major-mode'" nil) + (function :tag "Major mode" text-mode)) + :version "24.4") + +(defcustom remember-notes-bury-on-kill t + "Whether to bury notes buffer instead of killing." + :type 'boolean + :version "24.4") + +(defun remember-notes-save-and-bury-buffer () + "Saves and buries current buffer. +Buffer is saved only if `buffer-modified-p' returns non-nil." + (interactive) + (when (buffer-modified-p) + (save-buffer)) + (bury-buffer)) + + + +(defvar remember-notes-mode-map + (let ((map (make-sparse-keymap))) + (define-key map "\C-c\C-c" 'remember-notes-save-and-bury-buffer) + map) + "Keymap used in remember-notes mode.") + +(define-minor-mode remember-notes-mode + "Minor mode for the `remember-notes' buffer." + nil nil nil + (cond + (remember-notes-mode + (add-hook 'kill-buffer-query-functions + #'remember-notes--kill-buffer-query nil t) + (setq buffer-save-without-query t)))) + +;;;###autoload +(defun remember-notes (&optional switch-to) + "Creates notes buffer and switches to it if called interactively. + +If a notes buffer created by a previous invocation of this +function already exist, it will be returned. Otherwise a new +buffer will be created whose content will be read from file +pointed by `remember-data-file'. If a buffer visiting this file +already exist, that buffer will be used instead of creating a new +one (see `find-file-noselect' function for more details). + +Name of the created buffer is taken from `remember-notes-buffer-name' +variable and if a buffer with that name already exist (but was not +created by this function), it will be first killed. +\\<remember-notes-mode-map> +`remember-notes-mode' is active in the notes buffer which by default +contains only one \\[save-and-bury-buffer] binding which saves and +buries the buffer. + +Function returns notes buffer. When called interactively, +switches to it as well. + +Notes buffer is meant for keeping random notes which you'd like to +preserve across Emacs restarts. The notes will be stored in the +`remember-data-file'." + (interactive "p") + (let ((buf (or (find-buffer-visiting remember-data-file) + (with-current-buffer (find-file-noselect remember-data-file) + (and remember-notes-buffer-name + (not (get-buffer remember-notes-buffer-name)) + (rename-buffer remember-notes-buffer-name)) + (funcall (or remember-notes-initial-major-mode + initial-major-mode)) + (remember-notes-mode 1) + (current-buffer))))) + (when switch-to + (switch-to-buffer buf)) + buf)) + +(defun remember-notes--kill-buffer-query () + (when (buffer-modified-p) + (save-buffer)) + (if remember-notes-bury-on-kill + (bury-buffer) + t)) + ;;; remember.el ends here diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el index 01981175e1d..a841ec39314 100644 --- a/lisp/textmodes/rst.el +++ b/lisp/textmodes/rst.el @@ -2419,8 +2419,8 @@ level to align." ;; for the numbers. (if (cdr node) (setq fmt (format "%%-%dd" - (1+ (floor (log10 (length - (cdr node)))))))))) + (1+ (floor (log (length (cdr node)) + 10)))))))) (dolist (child (cdr node)) (rst-toc-insert-node child diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 49adec69de7..43a14985ae2 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,13 @@ +2013-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * url-cookie.el: Implement a command and mode for displaying and + editing cookies. + (url-cookie-mode): Fix mode name. + +2013-06-21 Glenn Morris <rgm@gnu.org> + + * url-future.el (url-future-call): Remove useless value call. + 2013-05-23 Glenn Morris <rgm@gnu.org> * url.el (mm-dissect-buffer, mm-display-part): Declare. diff --git a/lisp/url/url-cookie.el b/lisp/url/url-cookie.el index 6692c812871..008203c90df 100644 --- a/lisp/url/url-cookie.el +++ b/lisp/url/url-cookie.el @@ -349,6 +349,95 @@ to run the `url-cookie-setup-save-timer' function manually." url-cookie-save-interval #'url-cookie-write-file)))) +;;; Mode for listing and editing cookies. + +(defun url-cookie-list () + "List the URL cookies." + (interactive) + + (when (and (null url-cookie-secure-storage) + (null url-cookie-storage)) + (error "No cookies are defined")) + + (pop-to-buffer "*url cookies*") + (let ((inhibit-read-only t) + (domains (sort + (copy-sequence + (append url-cookie-secure-storage + url-cookie-storage)) + (lambda (e1 e2) + (string< (car e1) (car e2))))) + (domain-length 0) + start name format domain) + (erase-buffer) + (url-cookie-mode) + (dolist (elem domains) + (setq domain-length (max domain-length (length (car elem))))) + (setq format (format "%%-%ds %%-20s %%s" domain-length) + header-line-format + (concat " " (format format "Domain" "Name" "Value"))) + (dolist (elem domains) + (setq domain (car elem)) + (dolist (cookie (sort (copy-sequence (cdr elem)) + (lambda (c1 c2) + (string< (url-cookie-name c1) + (url-cookie-name c2))))) + (setq start (point) + name (url-cookie-name cookie)) + (when (> (length name) 20) + (setq name (substring name 0 20))) + (insert (format format domain name + (url-cookie-value cookie)) + "\n") + (setq domain "") + (put-text-property start (1+ start) 'url-cookie cookie))) + (goto-char (point-min)))) + +(defun url-cookie-delete () + "Delete the cookie on the current line." + (interactive) + (let ((cookie (get-text-property (line-beginning-position) 'url-cookie)) + (inhibit-read-only t) + variable) + (unless cookie + (error "No cookie on the current line")) + (setq variable (if (url-cookie-secure cookie) + 'url-cookie-secure-storage + 'url-cookie-storage)) + (let* ((list (symbol-value variable)) + (elem (assoc (url-cookie-domain cookie) list))) + (setq elem (delq cookie elem)) + (when (zerop (length (cdr elem))) + (setq list (delq elem list))) + (set variable list)) + (setq url-cookies-changed-since-last-save t) + (url-cookie-write-file) + (delete-region (line-beginning-position) + (progn + (forward-line 1) + (point))))) + +(defun url-cookie-quit () + "Kill the current buffer." + (interactive) + (kill-buffer (current-buffer))) + +(defvar url-cookie-mode-map + (let ((map (make-sparse-keymap))) + (suppress-keymap map) + (define-key map "q" 'url-cookie-quit) + (define-key map [delete] 'url-cookie-delete) + (define-key map [(control k)] 'url-cookie-delete) + map)) + +(define-derived-mode url-cookie-mode nil "URL Cookie" + "Mode for listing cookies. + +\\{url-cookie-mode-map}" + (buffer-disable-undo) + (setq buffer-read-only t + truncate-lines t)) + (provide 'url-cookie) ;;; url-cookie.el ends here diff --git a/lisp/url/url-future.el b/lisp/url/url-future.el index 35a78cf0c05..cb3276d0745 100644 --- a/lisp/url/url-future.el +++ b/lisp/url/url-future.el @@ -84,7 +84,9 @@ (setf (url-future-value url-future) (funcall ff)) (error (url-future-errored url-future catcher))) - (url-future-value url-future))) + ;; Unused return value. +;;; (url-future-value url-future) + )) (if (url-future-errored-p url-future) url-future (url-future-finish url-future)))) diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el index 309cf50404c..4f4c6942ba9 100644 --- a/lisp/vc/vc-dispatcher.el +++ b/lisp/vc/vc-dispatcher.el @@ -385,14 +385,15 @@ Display the buffer in some window, but don't select it." (defun vc-compilation-mode (backend) "Setup `compilation-mode' after with the appropriate `compilation-error-regexp-alist'." + (require 'compile) (let* ((error-regexp-alist (vc-make-backend-sym backend 'error-regexp-alist)) - (compilation-error-regexp-alist - (and (boundp error-regexp-alist) - (symbol-value error-regexp-alist)))) - (compilation-mode) + (error-regexp-alist (and (boundp error-regexp-alist) + (symbol-value error-regexp-alist)))) + (let ((compilation-error-regexp-alist error-regexp-alist)) + (compilation-mode)) (set (make-local-variable 'compilation-error-regexp-alist) - compilation-error-regexp-alist))) + error-regexp-alist))) (defun vc-set-async-update (process-buffer) "Set a `vc-exec-after' action appropriate to the current buffer. diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index fb62b039d79..2dc1e502171 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -528,6 +528,7 @@ Otherwise, just return the value." (or (widget-get widget :value) (progn (when (widget-get widget :args) + (setq widget (widget-copy widget)) (let (args) (dolist (arg (widget-get widget :args)) (setq args (append args diff --git a/lisp/window.el b/lisp/window.el index 5b001988ddf..a2acd2a81b0 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -4258,7 +4258,8 @@ specific buffers." (total-width . ,(window-total-size window t)) (normal-height . ,(window-normal-size window)) (normal-width . ,(window-normal-size window t)) - (combination-limit . ,(window-combination-limit window)) + ,@(unless (window-live-p window) + `((combination-limit . ,(window-combination-limit window)))) ,@(let ((parameters (window-parameters window)) list) ;; Make copies of those window parameters whose @@ -4346,6 +4347,9 @@ value can be also stored on disk and read back in a new session." (defvar window-state-put-list nil "Helper variable for `window-state-put'.") +(defvar window-state-put-stale-windows nil + "Helper variable for `window-state-put'.") + (defun window--state-put-1 (state &optional window ignore totals) "Helper function for `window-state-put'." (let ((type (car state))) @@ -4428,9 +4432,14 @@ value can be also stored on disk and read back in a new session." (set-window-parameter window (car parameter) (cdr parameter)))) ;; Process buffer related state. (when state - ;; We don't want to raise an error here so we create a buffer if - ;; there's none. - (set-window-buffer window (get-buffer-create (car state))) + ;; We don't want to raise an error in case the buffer does not + ;; exist anymore, so we switch to a previous one and save the + ;; window with the intention of deleting it later if possible. + (let ((buffer (get-buffer (car state)))) + (if buffer + (set-window-buffer window buffer) + (switch-to-prev-buffer window) + (push window window-state-put-stale-windows))) (with-current-buffer (window-buffer window) (set-window-hscroll window (cdr (assq 'hscroll state))) (apply 'set-window-fringes @@ -4490,6 +4499,7 @@ Optional argument IGNORE non-nil means ignore minimum window sizes and fixed size restrictions. IGNORE equal `safe' means windows can get as small as `window-safe-min-height' and `window-safe-min-width'." + (setq window-state-put-stale-windows nil) (setq window (window-normalize-window window t)) (let* ((frame (window-frame window)) (head (car state)) @@ -4538,6 +4548,10 @@ windows can get as small as `window-safe-min-height' and (set-window-buffer window (current-buffer)) (window--state-put-1 state window nil totals) (window--state-put-2 ignore)) + (while window-state-put-stale-windows + (let ((window (pop window-state-put-stale-windows))) + (when (eq (window-deletable-p window) t) + (delete-window window)))) (window--check frame)))) (defun display-buffer-record-window (type window buffer) |
