2013-09-12 Glenn Morris * vc/vc-bzr.el (vc-exec-after): Remove unused declaration. (vc-compilation-mode): Declare. (vc-bzr-pull): Require vc-dispatcher. * vc/vc-git.el (vc-compilation-mode): Declare. (vc-git-pull): Require vc-dispatcher. * progmodes/ruby-mode.el (ruby-syntax-propertize-function): Declare. * progmodes/octave.el (help-button-action): Declare. * shell.el (shell-directory-tracker): Output error as a message rather than just returning it as a string. (shell-process-pushd): Remove useless use of message. * dframe.el (dframe-timer-fn): * files.el (dir-locals-read-from-file): * mpc.el (mpc--status-timer-run, mpc--status-idle-timer-run) (mpc-format): * reveal.el (reveal-post-command): * saveplace.el (load-save-place-alist-from-file): * shell.el (shell-resync-dirs): * w32-common-fns.el (x-get-selection-value): * emacs-lisp/copyright.el (copyright-find-copyright): * emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): * emulation/tpu-edt.el (tpu-copy-keyfile): * play/bubbles.el (bubbles--mark-neighbourhood): * progmodes/executable.el (executable-make-buffer-file-executable-if-script-p): * term/pc-win.el (x-get-selection-value): Use with-demoted-errors. 2013-09-12 Stefan Monnier Cleanup Eshell to rely less on dynamic scoping. * eshell/esh-opt.el (eshell-eval-using-options): Don't bind usage-msg, last-value, and ext-command here. Bind `args' closer to `body'. (temp-args, last-value, usage-msg, ext-command, args): Don't defvar. (eshell--args): Declare new dynamic var. (eshell-do-opt): Add argument `args'. Bind our own usage-msg, last-value, and ext-command. Pass `args' to `body'. (eshell-process-args): Bind eshell--args. (eshell-set-option): Use eshell--args. * eshell/eshell.el (eshell): Use derived-mode-p. * eshell/esh-var.el (eshell-parse-variable): Use backquote. (eshell-parse-variable-ref): Remove unused vars `end' and `err'. (eshell-glob-function): Declare. * eshell/esh-util.el: Require cl-lib. (eshell-read-hosts-file): Avoid add-to-list. * eshell/esh-cmd.el (eshell-parse-lisp-argument): Remove unused var `err'. * eshell/em-unix.el (compilation-scroll-output, locate-history-list): Declare. (eshell/diff): Remove unused var `err'. * eshell/em-rebind.el (eshell-delete-backward-char): Remove unused arg `killflag'. * eshell/em-pred.el (eshell-parse-modifiers): Remove unused var `err'. * eshell/em-ls.el (eshell-ls-highlight-alist): Move defvars before first use. * eshell/em-glob.el (eshell-glob-matches, message-shown): Move declaration before first use. * eshell/em-alias.el (eshell-maybe-replace-by-alias): Use backquotes. * autorevert.el (auto-revert-notify-handler): Use `cl-dolist' since we rely on cl-return. 2013-09-12 Glenn Morris * term/ns-win.el (global-map): Remove binding for ispell-next, deleted 1999-05-29. (Bug#15357) 2013-09-11 Glenn Morris * echistory.el (electric-command-history): Remove call to deleted func. * play/landmark.el (landmark-mode): Fix typos. * vc/vc-cvs.el (cvs-append-to-ignore): Fix arg spec. Check cvs-sort-ignore-file is bound. * savehist.el: No need for cl when compiling on Emacs. 2013-09-11 Stefan Monnier * eshell/esh-mode.el (eshell-mode-syntax-table): Fix up initialization (bug#15338). (eshell-self-insert-command, eshell-send-invisible): Remove unused argument. (eshell-handle-control-codes): Remove unused var `orig'. Avoid delete-backward-char. * files.el (set-auto-mode): Simplify a bit further. 2013-09-11 Glenn Morris * files.el (interpreter-mode-alist): Remove \\` \\' parts. (set-auto-mode): Don't regexp-quote elements. * progmodes/python.el (interpreter-mode-alist): Remove \\` \\'. * progmodes/cc-mode.el (interpreter-mode-alist): * progmodes/ruby-mode.el (interpreter-mode-alist): Revert previous change. 2013-09-11 Stefan Monnier * play/snake.el (snake-mode): * play/mpuz.el (mpuz-mode): * play/landmark.el (lm-mode): * play/blackbox.el (blackbox-mode): * play/5x5.el (5x5-mode): * obsolete/options.el (Edit-options-mode): * net/quickurl.el (quickurl-list-mode): * net/newst-treeview.el (newsticker-treeview-mode): * mail/rmailsum.el (rmail-summary-mode): * mail/mspools.el (mspools-mode): * locate.el (locate-mode): * ibuffer.el (ibuffer-mode): * emulation/ws-mode.el (wordstar-mode): * emacs-lisp/debug.el (debugger-mode): * array.el (array-mode): * net/eudc.el (eudc-mode): Use define-derived-mode. * net/mairix.el (mairix-searches-mode-font-lock-keywords): Move initialization into declaration. (mairix-searches-mode): Use define-derived-mode. * net/eudc-hotlist.el (eudc-hotlist-mode): Use define-derived-mode. (eudc-edit-hotlist): Use dolist. * man.el (Man-mode-syntax-table): Rename from man-mode-syntax-table. (Man-mode): Use define-derived-mode. * info.el (Info-edit-mode-map): Rename from Info-edit-map. (Info-edit-mode): Use define-derived-mode. (Info-cease-edit): Use Info-mode. * eshell/esh-mode.el (eshell-mode-syntax-table): Move initialization into declaration. (eshell-mode): Use define-derived-mode. * chistory.el (command-history-mode-map): Rename from command-history-map. (command-history-mode): Use define-derived-mode. (Command-history-setup): Remove function. * calc/calc.el (calc-trail-mode-map): New var. (calc-trail-mode): Use define-derived-mode. (calc-trail-buffer): Set calc-main-buffer manually. * bookmark.el (bookmark-insert-annotation): New function. (bookmark-edit-annotation): Use it. (bookmark-edit-annotation-mode): Make it a proper major mode. (bookmark-send-edited-annotation): Use derived-mode-p. * arc-mode.el (archive-mode): Move kill-all-local-variables a tiny bit closer to its ideal place. Use \' to match EOS. * profiler.el (profiler-calltree-find): Use function-equal. 2013-09-10 Glenn Morris * files.el (interpreter-mode-alist): Convert to regexps. (set-auto-mode): Adapt for this. (Bug#15306) * progmodes/cperl-mode.el (cperl-clobber-mode-lists): Comment out unused variable. * progmodes/cc-mode.el (interpreter-mode-alist): * progmodes/python.el (interpreter-mode-alist): * progmodes/ruby-mode.el (interpreter-mode-alist): Convert to regexps. * progmodes/sh-script.el (sh-set-shell): No longer use interpreter-mode-alist to get list of shells. * progmodes/cc-mode.el (awk-mode): Remove duplicate autoload. 2013-09-10 Stefan Monnier * simple.el: Use set-temporary-overlay-map for universal-argument. (universal-argument-map): Don't use default-bindings (bug#15317). Bind switch-frame explicitly. Replace universal-argument-minus with a conditional binding. (universal-argument-num-events, saved-overriding-map): Remove. (restore-overriding-map): Remove. (universal-argument--mode): Rename from save&set-overriding-map, and rewrite. (universal-argument, universal-argument-more, negative-argument) (digit-argument): Adjust accordingly. (universal-argument-minus): Remove. (universal-argument-other-key): Remove. * subr.el (with-demoted-errors): Add `format' argument. 2013-09-10 Michael Albinus * net/tramp.el (tramp-cleanup): Remove. Functionality added to `tramp-cleanup-connection'. * net/tramp-cmds.el (tramp-cleanup-connection): Add optional parameters KEEP-DEBUG and KEEP-PASSWORD. * net/tramp.el (tramp-file-name-handler): * net/tramp-adb.el (tramp-adb-maybe-open-connection): * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell) (tramp-maybe-open-connection): * net/tramp-smb.el (tramp-smb-maybe-open-connection): Use `tramp-cleanup-connection'. * net/tramp-sh.el (tramp-maybe-open-connection): Catch 'uname-changed inside the progress reporter. 2013-09-10 Glenn Morris * simple.el (read-minibuffer): Unbreak it. (Bug#15318) * dired-x.el (dired-mark-sexp): Unbreak for systems where ls returns "alternate access method" in mode (eg "-rw-r--r--."). 2013-09-08 Glenn Morris * saveplace.el (load-save-place-alist-from-file): Demote errors. (Bug#15305) 2013-09-08 Michael Albinus Improve compatibility with older Emacsen, and XEmacs. * net/tramp.el (tramp-find-method, tramp-find-user): Call `propertize' only if it is bound. It isn't for XEmacs. (with-tramp-progress-reporter): Do not let-bind `result'. This yields to scoping errors in XEmacs. (tramp-handle-make-auto-save-file-name): New function, moved from tramp-sh.el. * net/tramp-adb.el (tramp-adb-file-name-handler-alist): Add handler for `make-auto-save-file-name'. (tramp-adb--gnu-switches-to-ash): Use `tramp-compat-replace-regexp-in-string'. * net/tramp-cache.el (tramp-cache-print): Call `substring-no-properties' only if it is bound. It isn't for XEmacs. * net/tramp-cmds.el (tramp-bug): Call `propertize' only if it is bound. It isn't for XEmacs. * net/tramp-compat.el (tramp-compat-copy-file): Catch `wrong-number-of-arguments' error. (tramp-compat-replace-regexp-in-string): New defun. * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Add handler for `make-auto-save-file-name'. (tramp-gvfs-handle-copy-file): Use `tramp-compat-funcall' for `copy-file'. (tramp-gvfs-file-gvfs-monitor-file-process-filter) (tramp-gvfs-file-name): Use `tramp-compat-replace-regexp-in-string'. (tramp-synce-list-devices): Use `push' instead of `pushnew'. * net/tramp-gw.el (tramp-gw-open-network-stream): Use `tramp-compat-replace-regexp-in-string'. * net/tramp-sh.el (tramp-sh-file-name-handler-alist): Call `tramp-handle-make-auto-save-file-name'. (tramp-sh-handle-make-auto-save-file-name): Move to tramp.el. (tramp-sh-file-gvfs-monitor-dir-process-filter) (tramp-sh-file-inotifywait-process-filter): Use `tramp-compat-replace-regexp-in-string'. (tramp-compute-multi-hops): Use `push' instead of `pushnew'. * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add handler for `make-auto-save-file-name'. (tramp-smb-handle-copy-directory): Call `tramp-compat-replace-regexp-in-string'. (tramp-smb-get-file-entries): Use `push' instead of `pushnew'. (tramp-smb-handle-copy-file): Improve error message. (tramp-smb-handle-rename-file): Rename directly only in case `newname' does not exist yet. This is a restriction of smbclient. (tramp-smb-maybe-open-connection): Rerun the function only when `auth-sources' is non-nil. 2013-09-08 Kenichi Handa * international/characters.el: Set category "^" (Combining) for more characters. 2013-09-07 Alan Mackenzie Correctly fontify Java class constructors. * progmodes/cc-langs.el (c-type-decl-suffix-key): Now matches ")" in Java Mode. (c-recognize-typeless-decls): Set the Java value to t. * progmodes/cc-engine.el (c-forward-decl-or-cast-1): While handling a "(", add a check for, effectively, Java, and handle a "typeless" declaration there. 2013-09-07 Roland Winkler * textmodes/bibtex.el (bibtex-biblatex-entry-alist): Add optional field subtitle for entry type book. 2013-09-06 Stefan Monnier * minibuffer.el: Make minibuffer-complete call completion-in-region rather than other way around. (completion--some, completion-pcm--find-all-completions): Don't delay signals when debugging. (minibuffer-completion-contents): Beware fields within the minibuffer contents. (completion-all-sorted-completions): Use defvar-local. (completion--do-completion, completion--cache-all-sorted-completions) (completion-all-sorted-completions, minibuffer-force-complete): Add args `beg' and `end'. (completion--in-region-1): New fun, extracted from minibuffer-complete. (minibuffer-complete): Use completion-in-region. (completion-complete-and-exit): New fun, extracted from minibuffer-complete-and-exit. (minibuffer-complete-and-exit): Use it. (completion--complete-and-exit): Rename from minibuffer--complete-and-exit. (completion-in-region--single-word): New function, extracted from minibuffer-complete-word. (minibuffer-complete-word): Use it. (display-completion-list): Make `common-substring' argument obsolete. (completion--in-region): Call completion--in-region-1 instead of minibuffer-complete. (completion-help-at-point): Pass boundaries to minibuffer-completion-help as args rather than via an overlay. (completion-pcm--string->pattern): Use `any-delim'. (completion-pcm--optimize-pattern): New function. (completion-pcm--pattern->regex): Handle `any-delim'. * icomplete.el (icomplete-forward-completions) (icomplete-backward-completions, icomplete-completions): Adjust calls to completion-all-sorted-completions and completion--cache-all-sorted-completions. (icomplete-with-completion-tables): Default to t. * emacs-lisp/crm.el (crm--current-element): Rename from crm--select-current-element. Don't put an overlay but return the boundaries instead. (crm--completion-command): Take two new args to bind to the boundaries. (crm-completion-help): Adjust accordingly. (crm-complete): Use completion-in-region. (crm-complete-word): Use completion-in-region--single-word. (crm-complete-and-exit): Use completion-complete-and-exit. 2013-09-06 Stefan Monnier * dired-x.el (dired-mark-sexp): Bind the vars lexically rather than dynamically. 2013-09-06 Juri Linkov * info.el (Info-display-images-node): When image file doesn't exist display text version of the image if it's provided in the Info file. Otherwise, display the location of missing image from SRC attribute. Add help-echo text property from ALT attribute. (Bug#15279) 2013-09-06 Stefan Monnier * abbrev.el (edit-abbrevs-mode-map): Rename from edit-abbrevs-map. (edit-abbrevs-mode): Use define-derived-mode. * epa.el (epa--encode-coding-string, epa--decode-coding-string) (epa--select-safe-coding-system, epa--derived-mode-p): Make it obvious that it's defined. (epa-key-list-mode, epa-key-mode, epa-info-mode): Use define-derived-mode. * epg.el (epg-start-encrypt): Minor CSE simplification. 2013-09-06 William Xu * arc-mode.el: Add support for 7za (bug#15264). (archive-7z-program): New var. (archive-zip-extract, archive-zip-expunge, archive-zip-update) (archive-zip-update-case, archive-7z-extract, archive-7z-expunge) (archive-7z-update, archive-zip-extract, archive-7z-summarize): Use it. 2013-09-06 Michael Albinus Remove URL syntax. * net/tramp.el (tramp-syntax, tramp-prefix-format) (tramp-postfix-method-format, tramp-prefix-ipv6-format) (tramp-postfix-ipv6-format, tramp-prefix-port-format) (tramp-postfix-host-format, tramp-file-name-regexp) (tramp-completion-file-name-regexp) (tramp-completion-dissect-file-name) (tramp-handle-substitute-in-file-name): Remove 'url case. (tramp-file-name-regexp-url) (tramp-completion-file-name-regexp-url): Remove constants. 2013-09-06 Glenn Morris * replace.el (replace-string): Doc fix re start/end. (Bug#15275) 2013-09-05 Dmitry Gutov * progmodes/ruby-mode.el (ruby-font-lock-keywords): Move "Perl-ish keywords" below "here-doc beginnings" (Bug#15270). 2013-09-05 Stefan Monnier * subr.el (pop): Use `car-safe'. * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Remove hack to detect unused `pop' return value. * progmodes/python.el (python-nav-beginning-of-block): Remove unused var `block-regexp'. (python-nav--forward-sexp): Remove unused var `re-search-fn'. (python-fill-string): Remove unused var `marker'. (python-skeleton-add-menu-items): Remove unused var `items'. * international/mule-cmds.el: Require CL. (find-coding-systems-for-charsets): Avoid add-to-list. (sanitize-coding-system-list): New function, extracted from select-safe-coding-system-interactively. (select-safe-coding-system-interactively): Use it. (read-input-method-name): Accept symbols for `default'. * emacs-lisp/advice.el (defadvice): Add indent rule. 2013-09-05 Daniel Hackney * dired-x.el: * net/ange-ftp.el: * net/browse-url.el: * net/dbus.el: * net/eudc.el: * net/eudcb-ldap.el: * net/eww.el: * net/imap.el: * printing.el: * vc/ediff-diff.el: * vc/ediff-init.el: * vc/ediff-merg.el: * vc/ediff-mult.el: * vc/ediff-util.el: * vc/ediff-wind.el: * vc/ediff.el: * vc/emerge.el: * vc/pcvs.el: * vc/vc-annotate.el: Prefix unused arguments with `_' to silence byte compiler. Remove some unused let-bound variables. 2013-09-05 Stefan Monnier * emacs-lisp/cconv.el: Use `car-safe' rather than `car' to access a "ref-cell", since it gets better optimized (bug#14883). 2013-09-05 Glenn Morris * progmodes/cc-awk.el (c-forward-sws): Declare. 2013-09-04 Glenn Morris * generic-x.el [rul-generic-mode]: Require cc-mode. (c++-mode-syntax-table): Declare. (rul-generic-mode-syntax-table): Init in the defvar. 2013-09-04 Stefan Monnier * vc/vc-dispatcher.el (vc-run-delayed): New macro. (vc-do-command, vc-set-async-update): * vc/vc-mtn.el (vc-mtn-dir-status): * vc/vc-hg.el (vc-hg-dir-status, vc-hg-dir-status-files) (vc-hg-pull, vc-hg-merge-branch): * vc/vc-git.el (vc-git-dir-status-goto-stage, vc-git-pull) (vc-git-merge-branch): * vc/vc-cvs.el (vc-cvs-print-log, vc-cvs-dir-status) (vc-cvs-dir-status-files): * vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch, vc-bzr-dir-status) (vc-bzr-dir-status-files): * vc/vc-arch.el (vc-arch-dir-status): Use vc-run-delayed. * vc/vc-annotate.el: Use lexical-binding. (vc-annotate-display-select, vc-annotate): Use vc-run-delayed. (vc-sentinel-movepoint): Declare. (vc-annotate): Don't use `goto-line'. * vc/vc.el (vc-diff-internal): Prefer a closure to `(lambda...). (vc-diff-internal, vc-log-internal-common): Use vc-run-delayed. (vc-sentinel-movepoint): Declare. * vc/vc-svn.el: Use lexical-binding. (vc-svn-dir-status, vc-svn-dir-status-files): Use vc-run-delayed. * vc/vc-sccs.el: * vc/vc-rcs.el: Use lexical-binding. * autorevert.el (auto-revert-notify-handler): Explicitly ignore `deleted'. Don't drop errors silently. * emacs-lisp/gv.el (gv-get): Warn about CL-compiled places. 2013-09-04 Xue Fuqiao * vc/vc.el (vc-ignore): Rewrite. (vc-default-ignore): New function. (vc-default-ignore-completion-table): Use find-ignore-file. * vc/vc-bzr.el (vc-bzr-ignore, vc-bzr-ignore-completion-table): * vc/vc-git.el (vc-git-ignore, vc-git-ignore-completion-table): * vc/vc-hg.el (vc-hg-ignore, vc-hg-ignore-completion-table): Remove. Most code moved to vc.el. 2013-09-03 Stefan Monnier * net/tramp-gvfs.el (tramp-gvfs-mount-spec, tramp-synce-list-devices): * net/tramp-smb.el (tramp-smb-get-file-entries): * net/tramp-sh.el (tramp-sh-handle-insert-directory) (tramp-compute-multi-hops): Fix misuses of `add-to-list'. * net/eww.el (eww-display-raw): Remove unused argument `charset'. Update call to it. (eww-change-select): Remove unused var `properties'. (eww-make-unique-file-name): Remove unused var `base'. * finder.el (finder-compile-keywords): Don't mess with windows. * calculator.el (calculator-funcall): Fix typo in last change. * vc/vc-git.el (vc-git-checkin): Make it possible to commit a merge. * emacs-lisp/package.el (package-activate-1): Don't let a missing -autoloads.el file stop us. * net/tramp.el (with-parsed-tramp-file-name): Silence compiler warnings, and factor out common code. 2013-09-03 Dmitry Gutov * progmodes/ruby-mode.el (ruby-calculate-indent): Consider two-character operators and whether the character preceding them changes their meaning (Bug#15208). 2013-09-02 Fabián Ezequiel Gallina Format code sent to Python shell for robustness. * progmodes/python.el (python-shell-buffer-substring): New function. (python-shell-send-region, python-shell-send-buffer): Use it. 2013-09-02 Michael Albinus * net/tramp-compat.el (tramp-compat-user-error): Move it ... * net/tramp.el (tramp-user-error): ... here. (tramp-find-method, tramp-check-proper-host) (tramp-dissect-file-name, tramp-debug-message) (tramp-handle-shell-command): * net/tramp-adb.el (tramp-adb-handle-shell-command): * net/tramp-gvfs.el (tramp-gvfs-file-name-handler): Adapt callees. * net/tramp-cache.el (tramp-cache-print): Don't print text properties. 2013-09-02 Martin Rudalics * avoid.el (mouse-avoidance-point-position) (mouse-avoidance-too-close-p): Handle case where posn-at-point returns nil. 2013-09-02 Fabián Ezequiel Gallina * progmodes/python.el (python-shell-completion-get-completions): Drop use of deleted `comint-last-prompt-overlay'. (python-nav-if-name-main): New command. 2013-09-01 Glenn Morris * Makefile.in (setwins, setwins_almost, setwins_for_subdirs): Avoid leading space in $wins. Otherwise the sed command used by eg compile-main ends up containing "/*.el". (Bug#15170) * frame.el (frame-background-mode): Doc fix. (Bug#15226) 2013-08-30 Glenn Morris * emacs-lisp/bytecomp.el (byte-recompile-directory): Fix is-this-a-directory logic. (Bug#15220) 2013-08-29 Stefan Monnier * textmodes/css-mode.el: Use SMIE. (css-smie-grammar): New var. (css-smie--forward-token, css-smie--backward-token) (css-smie-rules): New functions. (css-mode): Use them. (css-navigation-syntax-table): Remove var. (css-backward-sexp, css-forward-sexp, css-indent-calculate-virtual) (css-indent-calculate, css-indent-line): Remove functions. Misc changes to reduce use of `(lambda...); and other cleanups. * cus-edit.el: Use lexical-binding. (customize-push-and-save, customize-apropos) (custom-buffer-create-internal): Use closures. * progmodes/bat-mode.el (bat-mode-syntax-table): "..." are strings. * progmodes/ada-xref.el: Use setq. * net/tramp.el (with-tramp-progress-reporter): Avoid setq. * dframe.el: Use lexical-binding. (dframe-frame-mode): Fix calling convention for hooks. Use a closure. * speedbar.el (speedbar-frame-mode): Adjust call accordingly. * descr-text.el: Use lexical-binding. (describe-text-widget, describe-text-sexp, describe-property-list): Use closures. * comint.el (comint-history-isearch-push-state): Use a closure. * calculator.el: Use lexical-binding. (calculator-number-to-string): Make it work with lexical-binding. (calculator-funcall): Same and use cl-letf. * emacs-lisp/lisp.el (lisp--company-doc-buffer) (lisp--company-doc-string, lisp--company-location): New functions. (lisp-completion-at-point): Use them to improve Company support. * progmodes/ruby-mode.el (ruby-smie-grammar): Add rule for formal params of lambda expressions. (ruby-smie--implicit-semi-p): Refine rule (bug#15208). (ruby-smie--opening-pipe-p): New function. (ruby-smie--forward-token, ruby-smie--backward-token): Handle Ruby symbols and matched |...| for formal params. (ruby-smie-rules): Don't let the formal params of a "do" prevent it from being treated as hanging. Handle "rescue". 2013-08-29 Glenn Morris * progmodes/cc-engine.el (c-pull-open-brace): Move definition before use. 2013-08-29 Stefan Monnier * emacs-lisp/cl-macs.el (cl-defsubst): Make it clear that args are immutable. Don't use `unsafe' any more. (cl--defsubst-expand): Don't substitute at the same time as keeping a residual unused let-binding. Don't use `unsafe' any more. 2013-08-29 Glenn Morris * calendar/cal-china.el (calendar-chinese-year-cache): Recenter on 2015. * nxml/nxml-util.el (nxml-debug-clear-inside): Use cl-loop rather than loop. * net/eww.el (eww-mode-map): Lower-case menu bar entries look bad. * progmodes/sh-script.el (sh-builtins) : Add some bash4-isms. 2013-08-28 Glenn Morris * progmodes/antlr-mode.el: No need to require cc-mode twice. * progmodes/cc-bytecomp.el (cc-require): Handle uncompiled case. * progmodes/cc-mode.el (c-define-abbrev-table): Handle NAME unbound. 2013-08-28 Stefan Monnier * simple.el (repeat-complex-command--called-interactively-skip): New function. (repeat-complex-command): Use it (bug#14136). * progmodes/cc-mode.el: Minor cleanup of var declarations. (c-define-abbrev-table): Add `doc' argument. (c-mode-abbrev-table, c++-mode-abbrev-table) (objc-mode-abbrev-table, java-mode-abbrev-table) (idl-mode-abbrev-table, pike-mode-abbrev-table) (awk-mode-abbrev-table): Use it. (c-mode-syntax-table, c-mode-map, c++-mode-syntax-table) (c++-mode-map, objc-mode-syntax-table, objc-mode-map) (java-mode-syntax-table, java-mode-map, idl-mode-syntax-table) (idl-mode-map, pike-mode-syntax-table, pike-mode-map, awk-mode-map): Move initialization into the declaration; and remove any autoload cookie. * epg.el (epg--process-filter): Use with-current-buffer, save-excursion and dynamic let binding. * vc/smerge-mode.el: Remove redundant :group args. * emacs-lisp/package.el (package-activate-1): Don't add unnecessarily to load-path. 2013-08-28 Juri Linkov * isearch.el (isearch-reread-key-sequence-naturally): Use non-nil arg DONT-DOWNCASE-LAST of `read-key-sequence'. (isearch-other-meta-char): Handle an undefined shifted printing character by downshifting it. (Bug#15200) 2013-08-28 Juri Linkov * isearch.el (isearch-search): Change regexp error message for non-regexp searches. (Bug#15166) 2013-08-28 Paul Eggert * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, for portability to hosts where /bin/sh has problems. 2013-08-28 Stefan Monnier * emacs-lisp/cconv.el (cconv--analyse-function): Improve warning. 2013-08-27 Juri Linkov * isearch.el (isearch-other-meta-char): Don't store kmacro commands in the keyboard macro. (Bug#15126) 2013-08-27 Juri Linkov * isearch.el (isearch-quote-char): Comment out converting unibyte to multibyte, thus syncing with its `quoted-insert' counterpart. (Bug#15166) 2013-08-27 Martin Rudalics * window.el (display-buffer-use-some-window): Add missing argument in call of get-largest-window (Bug#15185). Reported by Stephen Leake. 2013-08-27 Glenn Morris * emacs-lisp/package.el (package-buffer-info): Fix message typo. 2013-08-27 Stefan Monnier * progmodes/python.el (python-font-lock-keywords): Don't return nil from a matcher-function unless there's no more matches (bug#15161). 2013-08-26 Michael Albinus * minibuffer.el: Revert change from 2013-08-20. * net/tramp.el (tramp-find-method, tramp-find-user): Mark result with text property `tramp-default', if appropriate. (tramp-check-proper-host): New defun. (tramp-dissect-file-name): Do not check hostname. Revert change of 2013-03-18. (tramp-backtrace): Make VEC-OR-PROC optional. * net/tramp-adb.el (tramp-adb-maybe-open-connection): * net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): * net/tramp-sh.el (tramp-maybe-open-connection): * net/tramp-smb.el (tramp-smb-maybe-open-connection): Apply `tramp-check-proper-host'. 2013-08-26 Tassilo Horn * epa-hook.el (epa-file-encrypt-to): Quote `safe-local-variable' lambda expression in order to have `describe-variable' display it. 2013-08-26 Michael Albinus * net/tramp-sh.el (tramp-sh-handle-verify-visited-file-modtime): BUF can be optional. (Bug#15186) 2013-08-25 Xue Fuqiao * progmodes/flymake.el (flymake-get-real-file-name-function): Fix broken customization. (Bug#15184) 2013-08-25 Alan Mackenzie Improve indentation of bracelists defined by macros (without "="). * progmodes/cc-engine.el (c-inside-bracelist-p): When a macro expansion begins with "{", regard it as bracelist when it doesn't contain a ";". Parse C++ inher-intro when there's a template split over 2 lines. * progmodes/cc-engine.el (c-guess-basic-syntax CASE 5C): Code more rigorously the search for "class" etc. followed by ":". * progmodes/cc-langs.el (c-opt-<>-sexp-key): Make the value for random languages a regexp which never matches rather than nil. Handle "/"s more accurately in test for virtual semicolons (AWK Mode). * progmodes/cc-awk.el (c-awk-one-line-possibly-open-string-re) (c-awk-regexp-one-line-possibly-open-char-list-re) (c-awk-one-line-possibly-open-regexp-re) (c-awk-one-line-non-syn-ws*-re): Remove. (c-awk-possibly-open-string-re, c-awk-non-/-syn-ws*-re) (c-awk-space*-/-re, c-awk-space*-regexp-/-re) (c-awk-space*-unclosed-regexp-/-re): New constants. (c-awk-at-vsemi-p): Reformulate better to recognize "/"s which aren't regexp delimiters. * progmodes/cc-engine.el (c-crosses-statement-barrier-p): Add in handling for a rare situation in AWK Mode involving unterminated strings/regexps. 2013-08-23 Glenn Morris * files.el (auto-mode-alist): Use sh-mode for .bash_history. * files.el (interpreter-mode-alist): Use tcl-mode for expect scripts. * files.el (create-file-buffer): If the result would begin with spaces, prepend a "|" instead of removing them. (Bug#15162) 2013-08-23 Stefan Monnier * textmodes/fill.el (fill-match-adaptive-prefix): Don't throw away text-properties (bug#15155). * calc/calc-keypd.el (calc-keypad-execute): `x-flush-mouse-queue' doesn't exist any more. (calc-keypad-redraw): Remove unused var `pad'. (calc-keypad-press): Remove unused var `menu'. 2013-08-23 Martin Rudalics * window.el (display-buffer-pop-up-frame): Call pop-up-frame-function with BUFFER current so `make-frame' will use it as the new frame's buffer (Bug#15133). 2013-08-22 Stefan Monnier * calendar/timeclock.el: Minor cleanups. (timeclock-ask-before-exiting, timeclock-use-display-time): Use `symbol'. (timeclock-modeline-display): Define as alias before the actual definition. (timeclock-mode-line-display): Use define-minor-mode. (timeclock-day-list-template): Make it a function, add an argument. (timeclock-day-list-required, timeclock-day-list-length) (timeclock-day-list-debt, timeclock-day-list-span) (timeclock-day-list-break): Adjust calls accordingly. 2013-08-21 Stefan Monnier * emacs-lisp/pp.el (pp-eval-expression, pp-macroexpand-expression): Use read--expression so that completion works again. 2013-08-21 Sam Steingold Add rudimentary inferior shell interaction * progmodes/sh-script.el (sh-shell-process): New buffer-local variable. (sh-set-shell): Reset it. (sh-show-shell, sh-cd-here, sh-send-line-or-region-and-step): New commands (bound to C-c C-z, C-c C-d, and C-c C-n). 2013-08-20 Stefan Monnier * align.el: Use lexical-binding. (align-region): Simplify accordingly. 2013-08-20 Michael Albinus * minibuffer.el (completion--sifn-requote): Bind `non-essential'. * rfn-eshadow.el (rfn-eshadow-update-overlay): Move binding of `non-essential' up. 2013-08-17 Michael Albinus * net/tramp.el: * net/tramp-adb.el: * net/tramp-cmds.el: * net/tramp-ftp.el: * net/tramp-gvfs.el: * net/tramp-gw.el: * net/tramp-sh.el: Don't wrap external variable declarations by `eval-when-compile'. 2013-08-16 Lars Magne Ingebrigtsen * net/shr.el (shr-rescale-image): Use ImageMagick even for GIFs now that Emacs supports ImageMagick animations. 2013-08-16 Michael Albinus * net/tramp-cmds.el (top): Don't declare `buffer-name'. (tramp-append-tramp-buffers): Rewrite buffer local variables part. 2013-08-16 Martin Rudalics * window.el (mouse-autoselect-window-select): Do autoselect when mouse pointer is on margin. 2013-08-16 William Parsons (tiny change) * net/ange-ftp.el (ange-ftp-skip-msgs): Add 500 EPSV. (Bug#1972) 2013-08-16 Glenn Morris * net/ange-ftp.el (ange-ftp-good-msgs, ange-ftp-get-pwd): Handle "Remote Directory" response of some clients. (Bug#15058) * emacs-lisp/bytecomp.el (byte-compile-make-variable-buffer-local): Tweak warning. (Bug#14926) * menu-bar.el (send-mail-item-name, read-mail-item-name): Remove. (menu-bar-tools-menu): Simplify news and mail items. (Bug#15095) * image-mode.el (image-mode-map): Add menu items to reverse, increase, decrease, reset animation speed. (image--set-speed, image-increase-speed, image-decrease-speed) (image-reverse-speed, image-reset-speed): New functions. (image-mode-map): Add bindings for speed commands. * image.el (image-animate-get-speed, image-animate-set-speed): New functions. (image-animate-timeout): Respect image :speed property. 2013-08-15 Stefan Monnier * emacs-lisp/debug.el (debugger-setup-buffer): Put point on the previous line (bug#15101). (debugger-eval-expression, debugger-record-expression): Use read--expression (bug#15102). 2013-08-15 Michael Albinus Remove byte compiler warnings, visible when compiling with `byte-compile-force-lexical-warnings' set to t. * net/tramp.el (tramp-debug-message, tramp-message, tramp-error) (tramp-error-with-buffer): Rename ARGS to ARGUMENTS and BUFFER to BUF. (tramp-handle-unhandled-file-name-directory) (tramp-handle-file-notify-add-watch, tramp-action-login) (tramp-action-succeed, tramp-action-permission-denied) (tramp-action-terminal, tramp-action-process-alive): Prefix unused arguments with "_". * net/tramp-adb.el (tramp-adb-parse-device-names) (tramp-adb-handle-insert-directory, tramp-adb-handle-delete-file) (tramp-adb-handle-copy-file): Prefix unused arguments with "_". (tramp-adb-handle-file-truename): Remove unused arguments. * net/tramp-cache.el (tramp-flush-directory-property) (tramp-flush-connection-property, tramp-list-connections) (tramp-parse-connection-properties): Prefix unused arguments with "_". * net/tramp-compat.el (tramp-compat-make-temp-file): Rename FILENAME to F. * net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch) (tramp-gvfs-handle-write-region, tramp-bluez-parse-device-names) (tramp-zeroconf-parse-workstation-device-names) (tramp-zeroconf-parse-webdav-device-names) (tramp-synce-parse-device-names): Prefix unused arguments with "_". * net/tramp-gw.el (tramp-gw-gw-proc-sentinel) (tramp-gw-aux-proc-sentinel): Prefix unused arguments with "_". * net/tramp-sh.el (tramp-sh-handle-file-truename): Remove unused arguments. (tramp-sh-handle-copy-file, tramp-sh-handle-dired-compress-file) (tramp-sh-handle-insert-file-contents-literally) (tramp-sh-handle-file-notify-add-watch): Prefix unused arguments with "_". (tramp-do-copy-or-rename-file, tramp-barf-if-no-shell-prompt): Remove unused variables. * net/tramp-smb.el (tramp-smb-handle-copy-directory) (tramp-smb-handle-copy-file, tramp-smb-handle-delete-file) (tramp-smb-read-file-entry): Prefix unused arguments with "_". * net/tramp-uu.el (tramp-uu-b64-alphabet, tramp-uu-b64-char-to-byte): Make them a defconst. (tramp-uuencode-region): Remove unused variable. 2013-08-14 Juanma Barranquero * frameset.el (frameset--prop-setter): New function. (frameset-prop): Add gv-setter declaration. (frameset-filter-minibuffer): Deal with the case that the minibuffer parameter was already set in FILTERED. Doc fix. (frameset--record-minibuffer-relationships): Allow saving a minibufferless frame without its corresponding minibuffer frame. (frameset--reuse-frame): Accept a match from an orphaned minibufferless frame, if the frame id matches. (frameset--minibufferless-last-p): Sort non-orphaned minibufferless frames before orphaned ones. (frameset-restore): Warn about orphaned windows, instead of error out. 2013-08-14 Martin Rudalics * window.el (window-make-atom): Don't overwrite parameter already present. (display-buffer-in-atom-window): Handle special case where we split an already atomic window. (window--major-non-side-window, display-buffer-in-side-window) (window--side-check): Ignore minibuffer window when walking window tree. (window-deletable-p): Return 'frame only if no other frame uses our minibuffer window. (record-window-buffer): Run buffer-list-update-hook. (split-window): Make sure window--check-frame won't destroy an existing atomic window in case the new window gets nested inside. (display-buffer-at-bottom): Ignore minibuffer window when walking window tree. Don't split a side window. (pop-to-buffer): Don't set-buffer here, the select-window call should do that. (mouse-autoselect-window-select): Autoselect only if we are in the text portion of the window. 2013-08-13 Lars Magne Ingebrigtsen * net/shr.el (shr-parse-image-data): New function to grab both the data itself and the Content-Type. (shr-put-image): Use it. * net/eww.el (eww-display-image): Ditto. * image.el (image-content-type-suffixes): New variable. 2013-08-13 Fabián Ezequiel Gallina * progmodes/python.el (python-imenu--build-tree) (python-imenu--put-parent): Simplify and Fix (GH bug 146). 2013-08-13 Xue Fuqiao * simple.el (backward-word): Mention the optional argument. 2013-08-13 Stefan Monnier * frameset.el (frameset--make): Rename constructor from make-frameset. (frameset-p, frameset-valid-p): Don't autoload. (frameset-valid-p): Use normal accessors. 2013-08-13 Glenn Morris * progmodes/compile.el (compile-command): Tweak example in doc. * obsolete/scribe.el (scribe-mode): * progmodes/mixal-mode.el (mixal-mode): Quote buffer name. (Bug#15053) * mail/feedmail.el (feedmail-confirm-outgoing) (feedmail-display-full-frame, feedmail-deduce-bcc-where): Fix types. * cus-start.el (truncate-partial-width-windows): Fix type. * emulation/viper-init.el (viper-search-scroll-threshold): Fix type. * net/shr.el (shr-table-horizontal-line): Fix custom type. 2013-08-13 Stefan Monnier * emacs-lisp/timer.el (timer--time-setter): New function. (timer--time): Use it as gv-setter. * emacs-lisp/gv.el (gv-define-simple-setter): Output warning when setter is not a symbol. 2013-08-12 Grégoire Jadi * mail/sendmail.el (sendmail-send-it): Don't kill the error buffer if sending fails. This makes debugging easier. 2013-08-12 Juanma Barranquero * xml.el (xml-parse-tag-1): Use looking-at (this reverts change in 2013-08-11T00:07:48Z!lekktu@gmail.com, which breaks the test suite). https://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00263.html 2013-08-12 Eli Zaretskii * term/w32-win.el (dynamic-library-alist): Add DLLs for zlib. 2013-08-12 Glenn Morris * format.el (format-annotate-function): Handle read-only text properties in the source. (Bug#14887) 2013-08-11 Lars Magne Ingebrigtsen * net/eww.el (eww-display-html): Ignore coding system errors. One web site uses "utf-8lias" as the coding system. 2013-08-11 Juanma Barranquero * frameset.el (frameset-valid-p): Fix check; STATES can indeed be nil. 2013-08-10 Juanma Barranquero * tutorial.el (tutorial--describe-nonstandard-key): Use string-match-p. (tutorial--detailed-help): Remove unused local variables. (tutorial--save-tutorial-to): Use ignore-errors. (help-with-tutorial): Use looking-at-p. * view.el (view-buffer-other-window, view-buffer-other-frame): Mark unused arguments. * woman.el (woman-parse-colon-path, woman-parse-colon-path) (woman-select-symbol-fonts, woman, woman-find-file) (woman-insert-file-contents, woman-non-underline-faces): Use string-match-p. (woman1-unquote): Move declaration. * xml.el (xml-parse-tag-1, xml-parse-string): Use looking-at-p. (xml-parse-dtd): Use looking-at-p, string-match-p. Mark unused argument. Remove unused local variable. (xml-parse-elem-type): Use string-match-p. (xml-substitute-numeric-entities): Use ignore-errors. * calculator.el (calculator): Mark unused argument. (calculator-paste, calculator-quit, calculator-integer-p): Use ignore-errors. (calculator-string-to-number, calculator-decimal, calculator-exp) (calculator-op-or-exp): Use string-match-p. * dired.el (dired-buffer-more-recently-used-p): Declare. (dired-insert-set-properties, dired-insert-old-subdirs): Use ignore-errors. * dired-aux.el (dired-compress): Use ignore-errors. (dired-do-chxxx, dired-do-chmod, dired-trample-file-versions) (dired-do-async-shell-command, dired-do-shell-command) (dired-shell-stuff-it, dired-compress-file, dired-insert-subdir) (dired-insert-subdir-validate): Use string-match-p. (dired-map-dired-file-lines, dired-subdir-hidden-p): Use looking-at-p. (dired-add-entry): Use string-match-p, looking-at-p. (dired-insert-subdir-newpos): Remove unused local variable. * filenotify.el (file-notify-callback): Remove unused local variable. * filesets.el (filesets-error): Mark unused argument. (filesets-which-command-p, filesets-filter-dir-names) (filesets-directory-files, filesets-get-external-viewer) (filesets-ingroup-get-data): Use string-match-p. * find-file.el (ff-other-file-name, ff-other-file-name) (ff-find-the-other-file, ff-cc-hh-converter): Remove unused local variables. (ff-get-file-name): Use string-match-p. (ff-all-dirs-under): Use ignore-errors. * follow.el (follow-comint-scroll-to-bottom): Mark unused argument. (follow-select-if-visible): Remove unused local variable. * forms.el (read-file-filter): Move declaration. (forms--make-format, forms--make-parser, forms-insert-record): Quote function with #'. (forms--update): Use string-match-p. Quote function with #'. * help-mode.el (help-dir-local-var-def): Mark unused argument. (help-make-xrefs): Use looking-at-p. (help-xref-on-pp): Use looking-at-p, ignore-errors. * ibuffer.el (ibuffer-ext-visible-p): Declare. (ibuffer-confirm-operation-on): Use string-match-p. * msb.el (msb-item-handler, msb-dired-item-handler): Mark unused arguments. * ses.el (ses-decode-cell-symbol) (ses-kill-override): Remove unused local variable. (ses-create-cell-variable, ses-relocate-formula): Use string-match-p. (ses-load): Use ignore-errors, looking-at-p. (ses-jump-safe): Use ignore-errors. (ses-export-tsv, ses-export-tsf, ses-unsafe): Mark unused arguments. * tabify.el (untabify, tabify): Mark unused arguments. * thingatpt.el (thing-at-point--bounds-of-well-formed-url): Mark unused argument. (bounds-of-thing-at-point, thing-at-point-bounds-of-list-at-point) (thing-at-point-newsgroup-p, form-at-point): Use ignore-errors. * emacs-lisp/timer.el (timer--time): Define setter with gv-define-setter to avoid deprecation warning. * completion.el: Remove stuff unused since revno:3176 (1993-05-27). (*record-cmpl-statistics-p*): Remove (was commented out). (cmpl-statistics-block): Remove (body was commented out). All callers changed. (add-completions-from-buffer, load-completions-from-file): Remove unused variables. 2013-08-09 Juanma Barranquero * filecache.el (file-cache-delete-file-list): Print message only when told so. (file-cache-files-matching): Use #' in mapconcat argument. * ffap.el (ffap-url-at-point): Fix reference to variable thing-at-point-default-mail-uri-scheme. 2013-08-09 Stefan Monnier * subr.el (define-error): New function. * progmodes/ada-xref.el (ada-error-file-not-found): Rename from error-file-not-found and define with define-error. * emacs-lisp/cl-lib.el (cl-assertion-failed): Move here from subr.el and define with define-error. * userlock.el (file-locked, file-supersession): * simple.el (mark-inactive): * progmodes/js.el (js-moz-bad-rpc, js-js-error): * progmodes/ada-mode.el (ada-mode-errors): * play/life.el (life-extinct): * nxml/xsd-regexp.el (xsdre-invalid-regexp, xsdre-parse-error): * nxml/xmltok.el (xmltok-markup-declaration-parse-error): * nxml/rng-util.el (rng-error): * nxml/rng-uri.el (rng-uri-error): * nxml/rng-match.el (rng-compile-error): * nxml/rng-cmpct.el (rng-c-incorrect-schema): * nxml/nxml-util.el (nxml-error, nxml-file-parse-error): * nxml/nxml-rap.el (nxml-scan-error): * nxml/nxml-outln.el (nxml-outline-error): * net/soap-client.el (soap-error): * net/gnutls.el (gnutls-error): * net/ange-ftp.el (ftp-error): * mpc.el (mpc-proc-error): * json.el (json-error, json-readtable-error, json-unknown-keyword) (json-number-format, json-string-escape, json-string-format) (json-key-format, json-object-format): * jka-compr.el (compression-error): * international/quail.el (quail-error): * international/kkc.el (kkc-error): * emacs-lisp/ert.el (ert-test-failed): * calc/calc.el (calc-error, inexact-result, math-overflow) (math-underflow): * bookmark.el (bookmark-error-no-filename): * epg.el (epg-error): Define with define-error. * time.el (display-time-event-handler) (display-time-next-load-average): Don't call sit-for since it seems unnecessary (bug#15045). * emacs-lisp/checkdoc.el: Remove redundant :group keywords. Use #' instead of ' to quote functions. (checkdoc-output-mode): Use setq-local. (checkdoc-spellcheck-documentation-flag, checkdoc-ispell-lisp-words) (checkdoc-verb-check-experimental-flag, checkdoc-proper-noun-regexp) (checkdoc-common-verbs-regexp): Mark safe-local-variable (bug#15010). (checkdoc-ispell, checkdoc-ispell-current-buffer) (checkdoc-ispell-interactive, checkdoc-ispell-message-interactive) (checkdoc-ispell-message-text, checkdoc-ispell-start) (checkdoc-ispell-continue, checkdoc-ispell-comments) (checkdoc-ispell-defun): Remove unused arg `take-notes'. * ido.el (ido-completion-help): Fix up compiler warning. 2013-08-09 Juanma Barranquero * frameset.el (frameset-p): Add autoload cookie. (frameset--jump-to-register): New function, based on code moved from register.el. (frameset-to-register): Move from register.el. Adapt to `registerv'. * register.el (frameset-frame-id, frameset-frame-with-id, frameset-p) (frameset-restore, frameset-save, frameset-session-filter-alist): Remove declarations. (register-alist): Doc fix. (frameset-to-register): Move to frameset.el. (jump-to-register, describe-register-1): Remove frameset-specific code. 2013-08-08 Juanma Barranquero * allout-widgets.el (allout-widgets-pre-command-business) (allout-widgets-post-command-business) (allout-widgets-after-change-handler) (allout-decorate-item-and-context, allout-set-boundary-marker) (allout-body-modification-handler) (allout-graphics-modification-handler): Mark ignored arguments. (allout-widgets-post-command-business) (allout-widgets-exposure-change-processor) (allout-widgets-exposure-undo-processor) (allout-decorate-item-and-context, allout-redecorate-visible-subtree) (allout-parse-item-at-point, allout-decorate-item-guides) (allout-decorate-item-cue, allout-item-span): Remove unused variables. * allout.el (epa-passphrase-callback-function): Declare. (allout-overlay-insert-in-front-handler) (allout-overlay-interior-modification-handler) (allout-isearch-end-handler, allout-chart-siblings) (allout-up-current-level, allout-end-of-level, allout-reindent-body) (allout-yank-processing, allout-process-exposed) (allout-latex-verb-quote, allout-latexify-one-item, outlineify-sticky) (allout-latex-verbatim-quote-curr-line): Remove unused variables. * emacs-lisp/lisp-mode.el (lisp-eval-defun, last-sexp-toggle-display) (lisp-indent-defform): Mark ignored arguments. (lisp-indent-line): Mark ignored arguments. Remove unused variables. (calculate-lisp-indent): Remove unused variables. * international/characters.el (indian-2-column, arabic-2-column) (tibetan): Mark ignored arguments. (use-cjk-char-width-table): Mark ignored arguments. Remove unused variables. * international/fontset.el (build-default-fontset-data) (x-compose-font-name, create-fontset-from-fontset-spec): Mark ignored arguments. (fontset-plain-name): Remove unused variables. * international/mule.el (charset-id, charset-bytes, generic-char-p) (keyboard-coding-system): Mark ignored arguments. (find-auto-coding): Remove unused variables. Use `ignore-errors'. * help.el (resize-temp-buffer-window): * window.el (display-buffer-in-major-side-window) (display-buffer-in-side-window, display-buffer-in-previous-window): Remove unused variables. * isearch.el (isearch-forward-symbol): * version.el (emacs-bzr-version-bzr): * international/mule-cmds.el (current-language-environment): * term/common-win.el (x-handle-iconic, x-handle-geometry) (x-handle-display): * term/pc-win.el (x-list-fonts, x-display-planes) (x-display-color-cells, x-server-max-request-size, x-server-vendor) (x-server-version, x-display-screens, x-display-mm-height) (x-display-mm-width, x-display-backing-store, x-display-visual-class) (x-selection-owner-p, x-own-selection-internal) (x-disown-selection-internal, x-get-selection-internal) (msdos-initialize-window-system): * term/tty-colors.el (tty-color-alist, tty-color-clear): * term/x-win.el (x-handle-no-bitmap-icon): * vc/vc-hooks.el (vc-mode, vc-default-make-version-backups-p) (vc-default-find-file-hook, vc-default-extra-menu): Mark ignored arguments. 2013-08-08 Stefan Monnier * emacs-lisp/edebug.el (edebug-debugger): Use edebug-eval to run the break-condition in the context of the debugged code (bug#12685). 2013-08-08 Christopher Schmidt * comint.el: Do not use an overlay to highlight the last prompt. (Bug#14744) (comint-mode): Make comint-last-prompt buffer local. (comint-last-prompt): New variable. (comint-last-prompt-overlay): Remove. Superseded by comint-last-prompt. (comint-snapshot-last-prompt, comint-output-filter): Use comint-last-prompt. 2013-08-08 Juanma Barranquero * frameset.el (frameset-valid-p): Check vector length. Doc fix. (frameset-save): Check validity of the resulting frameset. 2013-08-08 Xue Fuqiao * ido.el (ido-record-command): Add doc string. 2013-08-08 Juanma Barranquero * frameset.el (frameset): Do not disable creation of the default frameset-p predicate. Doc fix. (frameset-valid-p): New function, copied from the old predicate-p. Add additional checks. (frameset-restore): Check with frameset-valid-p. (frameset-p, frameset-version, frameset-timestamp, frameset-app) (frameset-name, frameset-description, frameset-properties) (frameset-states): Add docstring. (frameset-session-filter-alist, frameset-persistent-filter-alist) (frameset-filter-alist): Doc fixes. 2013-08-08 Juanma Barranquero * frameset.el (frameset-p, frameset-prop): Doc fixes. 2013-08-08 Stefan Monnier * emacs-lisp/bytecomp.el (byte-compile-function-warn): New function, extracted from byte-compile-callargs-warn and byte-compile-normal-call. (byte-compile-callargs-warn, byte-compile-function-form): Use it. (byte-compile-normal-call): Remove obsolescence check. 2013-08-08 Juanma Barranquero * frameset.el (frameset-restore): Doc fix. * register.el (frameset-frame-id, frameset-frame-with-id) (frameset-p, frameset-restore, frameset-save): Declare. (register-alist): Document framesets. (frameset-session-filter-alist): Declare. (frameset-to-register): New function. (jump-to-register): Implement jumping to framesets. Doc fix. (describe-register-1): Describe framesets. * bindings.el (ctl-x-r-map): Bind ?f to frameset-to-register. 2013-08-07 Juanma Barranquero * desktop.el (desktop-save-frameset): Use new frameset-save args. Use lexical-binding. * frameset.el (frameset): Use type vector, not list (incompatible change). Do not declare a new constructor, use the default one. Upgrade suggested properties `app', `name' and `desc' to slots `app', `name' and `description', respectively, and add read-only slot `timestamp'. Doc fixes. (frameset-copy, frameset-persistent-filter-alist) (frameset-filter-alist, frameset-switch-to-gui-p) (frameset-switch-to-tty-p, frameset-filter-tty-to-GUI) (frameset-filter-sanitize-color, frameset-filter-minibuffer) (frameset-filter-iconified, frameset-keep-original-display-p): Doc fixes. (frameset-filter-shelve-param, frameset-filter-unshelve-param): Rename from frameset-filter-(save|restore)-param. All callers changed. Doc fix. (frameset-p): Adapt to change to vector and be more thorough. Change arg name to OBJECT. Doc fix. (frameset-prop): Rename arg PROP to PROPERTY. Doc fix. (frameset-session-filter-alist): Rename from frameset-live-filter-alist. All callers changed. (frameset-frame-with-id): Rename from frameset-locate-frame-id. All callers changed. (frameset--record-minibuffer-relationships): Rename from frameset--process-minibuffer-frames. All callers changed. (frameset-save): Add new keyword arguments APP, NAME and DESCRIPTION. Use new default constructor (again). Doc fix. (frameset--find-frame-if): Rename from `frameset--find-frame. All callers changed. (frameset--reuse-frame): Rename arg FRAME-CFG to PARAMETERS. (frameset--initial-params): Rename arg FRAME-CFG to PARAMETERS. Doc fix. (frameset--restore-frame): Rename args FRAME-CFG and WINDOW-CFG to PARAMETERS and WINDOW-STATE, respectively. (frameset-restore): Add new keyword argument PREDICATE. Reset frameset--target-display to nil. Doc fix. 2013-08-07 Stefan Monnier * progmodes/bat-mode.el (bat--syntax-propertize): New var. (bat-mode): Use it. (bat-mode-syntax-table): Mark \n as end-of-comment. (bat-font-lock-keywords): Remove comment rule. * progmodes/bat-mode.el: Rename from dos.el. Use "bat-" prefix. (dos-mode-help): Remove. Use describe-mode (C-h m) instead. * emacs-lisp/bytecomp.el: Check existence of f in #'f. (byte-compile-callargs-warn): Use `push'. (byte-compile-arglist-warn): Ignore higher-order "calls". (byte-compile-file-form-autoload): Use `pcase'. (byte-compile-function-form): If quoting a symbol, check that it exists. 2013-08-07 Eli Zaretskii * progmodes/dos.el (dos-font-lock-keywords): Rename LINUX to UNIX and add a few popular commands found in batch files. (dos, dos-label-face, dos-cmd-help, dos-run, dos-run-args) (dos-mode): Doc fixes. 2013-08-07 Stefan Monnier * progmodes/dos.el (auto-mode-alist): Add entries for dos-mode. (dos-mode): Use setq-local. Add space after "rem". (dos-mode-syntax-table): Don't use "w" for symbol chars. (dos-font-lock-keywords): Try to adjust font-lock rules accordingly. 2013-08-07 Arni Magnusson * progmodes/dos.el: New file. * generic-x.el (bat-generic-mode): Redefine as an obsolete alias to dos-mode. 2013-08-06 Glenn Morris * calendar/calendar.el: Add new faces, and day-header-array. (calendar-weekday-header, calendar-weekend-header) (calendar-month-header): New faces. (calendar-day-header-construct): New function. (calendar-day-header-width): Also :set calendar-day-header-array. (calendar-american-month-header, calendar-european-month-header) (calendar-iso-month-header): Use calendar- faces. (calendar-generate-month): Use calendar-day-header-array for day headers; apply faces to them. (calendar-mode): Check calendar-font-lock-keywords non-nil. (calendar-abbrev-construct): Add optional maxlen argument. (calendar-day-name-array): Doc fix. (calendar-day-name-array, calendar-abbrev-length) (calendar-day-abbrev-array): Also :set calendar-day-header-array, and maybe redraw. (calendar-day-header-array): New option. (Bug#15007) (calendar-font-lock-keywords): Set to nil and make obsolete. (calendar-day-name): Add option to use header array. 2013-08-06 Lars Magne Ingebrigtsen * net/shr.el (shr-render-td): Remove debugging. (shr-render-td): Make width computation consistent by defaulting all zero-width columns to 10 characters. This may not be optimal, but it's at least consistent. (shr-make-table-1): Redo last change to fix the real problem in colspan handling. 2013-08-06 Dmitry Antipov * files.el (cache-long-line-scans): Make obsolete alias to `cache-long-scans'. 2013-08-06 Juanma Barranquero * frameset.el (frameset, frameset-filter-alist) (frameset-filter-params, frameset-save, frameset--reuse-frame) (frameset--minibufferless-last-p, frameset-restore): Doc fixes. (frameset-compute-pos): Rename from frameset--compute-pos, and add docstring. (frameset-move-onscreen): Use frameset-compute-pos. Most changes suggested by Drew Adams . * find-lisp.el (find-lisp-line-indent, find-lisp-find-dired-filter): Fix typos in docstrings. 2013-08-06 Dmitry Antipov * frame.el (get-other-frame): Tiny cleanup. 2013-08-06 Juanma Barranquero * vc/vc.el (vc-default-ignore-completion-table): Silence byte-compiler warning. * frameset.el (frameset-p): Don't check non-nullness of the `properties' slot , which can indeed be nil. (frameset-live-filter-alist, frameset-persistent-filter-alist): Move entry for `left' from persistent to live filter alist. (frameset-filter-alist, frameset--minibufferless-last-p, frameset-save): Doc fixes. (frameset-filter-params): When restoring a frame, copy items added to `filtered', to avoid unwittingly modifying the original parameters. (frameset-move-onscreen): Rename from frameset--move-onscreen. Doc fix. (frameset--restore-frame): Fix reference to frameset-move-onscreen. * dired.el (dired-insert-directory): Revert change in 2013-06-21T12:24:37Z!lekktu@gmail.com to use looking-at-p instead of looking-at. (Bug#15028) 2013-08-05 Stefan Monnier Revert introduction of isearch-filter-predicates (bug#14714). Rely on add-function instead. * isearch.el (isearch-filter-predicates): Rename it back to isearch-filter-predicate. (isearch-message-prefix): Use advice-function-mapc and advice properties to get the isearch-message-prefix. (isearch-search, isearch-lazy-highlight-search): Revert to funcall instead of run-hook-with-args-until-failure. (isearch-filter-visible): Not obsolete any more. * loadup.el: Preload nadvice. * replace.el (perform-replace): Revert to funcall instead of run-hook-with-args-until-failure. * wdired.el (wdired-change-to-wdired-mode): Use add-function. * dired-aux.el (dired-isearch-filenames-mode): Rename from dired-isearch-filenames-toggle; make it into a proper minor mode. Use add/remove-function. (dired-isearch-filenames-setup, dired-isearch-filenames-end): Call the minor-mode rather than add/remove-hook. (dired-isearch-filter-filenames): Remove isearch-message-prefix property. * info.el (Info--search-loop): New function, extracted from Info-search. Funcall isearch-filter-predicate instead of run-hook-with-args-until-failure isearch-filter-predicates. (Info-search): Use it. (Info-mode): Use isearch-filter-predicate instead of isearch-filter-predicates. 2013-08-05 Dmitry Antipov Do not call to `selected-window' where it is assumed by default. Affected functions are `window-minibuffer-p', `window-dedicated-p', `window-hscroll', `window-width', `window-height', `window-buffer', `window-frame', `window-start', `window-point', `next-window' and `window-display-table'. * abbrev.el (abbrev--default-expand): * bs.el (bs--show-with-configuration): * buff-menu.el (Buffer-menu-mouse-select): * calc/calc.el (calc): * calendar/calendar.el (calendar-generate-window): * calendar/diary-lib.el (diary-simple-display, diary-show-all-entries) (diary-make-entry): * comint.el (send-invisible, comint-dynamic-complete-filename) (comint-dynamic-simple-complete, comint-dynamic-list-completions): * completion.el (complete): * dabbrev.el (dabbrev-expand, dabbrev--make-friend-buffer-list): * disp-table.el (describe-current-display-table): * doc-view.el (doc-view-insert-image): * ebuff-menu.el (Electric-buffer-menu-mouse-select): * ehelp.el (with-electric-help): * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): * emacs-lisp/edebug.el (edebug-two-window-p, edebug-pop-to-buffer): * emacs-lisp/helper.el (Helper-help-scroller): * emulation/cua-base.el (cua--post-command-handler-1): * eshell/esh-mode.el (eshell-output-filter): * ffap.el (ffap-gnus-wrapper): * help-macro.el (make-help-screen): * hilit-chg.el (highlight-compare-buffers): * hippie-exp.el (hippie-expand, try-expand-dabbrev-visible): * hl-line.el (global-hl-line-highlight): * icomplete.el (icomplete-simple-completing-p): * isearch.el (isearch-done): * jit-lock.el (jit-lock-stealth-fontify): * mail/rmailsum.el (rmail-summary-scroll-msg-up): * lisp/mouse-drag.el (mouse-drag-should-do-col-scrolling): * mpc.el (mpc-tagbrowser, mpc): * net/rcirc.el (rcirc-any-buffer): * play/gomoku.el (gomoku-max-width, gomoku-max-height): * play/landmark.el (landmark-max-width, landmark-max-height): * play/zone.el (zone): * progmodes/compile.el (compilation-goto-locus): * progmodes/ebrowse.el (ebrowse-view/find-file-and-search-pattern): * progmodes/etags.el (find-tag-other-window): * progmodes/fortran.el (fortran-column-ruler): * progmodes/gdb-mi.el (gdb-mouse-toggle-breakpoint-fringe): * progmodes/verilog-mode.el (verilog-point-text): * reposition.el (reposition-window): * rot13.el (toggle-rot13-mode): * server.el (server-switch-buffer): * shell.el (shell-dynamic-complete-command) (shell-dynamic-complete-environment-variable): * simple.el (insert-buffer, set-selective-display) (delete-completion-window): * speedbar.el (speedbar-timer-fn, speedbar-center-buffer-smartly) (speedbar-recenter): * startup.el (fancy-splash-head): * textmodes/ispell.el (ispell-command-loop): * textmodes/makeinfo.el (makeinfo-compilation-sentinel-region): * tutorial.el (help-with-tutorial): * vc/add-log.el (add-change-log-entry): * vc/compare-w.el (compare-windows): * vc/ediff-help.el (ediff-indent-help-message): * vc/ediff-util.el (ediff-setup-control-buffer, ediff-position-region): * vc/ediff-wind.el (ediff-skip-unsuitable-frames) (ediff-setup-control-frame): * vc/emerge.el (emerge-position-region): * vc/pcvs-util.el (cvs-bury-buffer): * window.el (walk-windows, mouse-autoselect-window-select): * winner.el (winner-set-conf, winner-undo): Related users changed. 2013-08-05 Juanma Barranquero * frameset.el (frameset--set-id): Doc fix. (frameset-frame-id, frameset-frame-id-equal-p) (frameset-locate-frame-id): New functions. (frameset--process-minibuffer-frames, frameset--reuse-frame) (frameset-restore): Use them. 2013-08-05 Dmitry Antipov Do not call to `selected-frame' where it is assumed by default. Affected functions are `raise-frame', `redraw-frame', `frame-first-window', `frame-terminal' and `delete-frame'. * calendar/appt.el (appt-disp-window): * epg.el (epg-wait-for-completion): * follow.el (follow-delete-other-windows-and-split) (follow-avoid-tail-recenter): * international/mule.el (set-terminal-coding-system): * mail/rmail.el (rmail-mail-return): * net/newst-plainview.el (newsticker--buffer-set-uptodate): * progmodes/f90.el (f90-add-imenu-menu): * progmodes/idlw-toolbar.el (idlwave-toolbar-toggle): * server.el (server-switch-buffer): * simple.el (delete-completion-window): * talk.el (talk): * term/xterm.el (terminal-init-xterm-modify-other-keys) (xterm-turn-on-modify-other-keys, xterm-remove-modify-other-keys): * vc/ediff-util.el (ediff-status-info, ediff-show-diff-output): * vc/ediff.el (ediff-documentation): Related users changed. * frame.el (selected-terminal): Remove the leftover. 2013-08-05 Glenn Morris * calendar/calendar.el (calendar-generate-month): Fix for calendar-column-width != 1 + calendar-day-digit-width. (calendar-generate-month, calendar-font-lock-keywords): Fix for calendar-day-header-width > length of any day name. 2013-08-05 Juanma Barranquero * desktop.el (desktop-clear): Use new name of sort predicate. * frameset.el (frameset): Add docstring. Move :version property to its own `version' slot. (frameset-copy): Rename from copy-frameset. (frameset-p): Check more thoroughly. (frameset-prop): Do not check for :version, which is no longer a prop. (frameset-live-filter-alist, frameset-persistent-filter-alist): Use new :never value instead of t. (frameset-filter-alist): Expand and clarify docstring. (frameset-filter-tty-to-GUI, frameset-filter-sanitize-color) (frameset-filter-minibuffer, frameset-filter-save-param) (frameset-filter-restore-param, frameset-filter-iconified): Add pointer to docstring of frameset-filter-alist. (frameset-filter-params): Rename filter values to be more meaningful: :never instead of t, and reverse the meanings of :save and :restore. (frameset--process-minibuffer-frames): Clarify error message. (frameset-save): Avoid unnecessary and confusing call to framep. Use new BOA constructor for framesets. (frameset--reuse-list): Doc fix. (frameset--restore-frame): Rename from frameset--get-frame. Doc fix. (frameset--minibufferless-last-p): Rename from frameset--sort-states. (frameset-minibufferless-first-p): Doc fix. Rename from frameset-sort-frames-for-deletion. (frameset-restore): Doc fixes. Use new function names. Most changes suggested by Drew Adams . 2013-08-04 Juanma Barranquero * desktop.el (desktop-restore-forces-onscreen) (desktop-restore-reuses-frames): Document :keyword constant values. (desktop-filter-parameters-alist): Remove, now identical to frameset-filter-alist. (desktop--filter-tty*): Remove, moved to frameset.el. (desktop-save-frameset, desktop-restore-frameset): Do not pass :filters argument. * frameset.el (frameset-live-filter-alist) (frameset-persistent-filter-alist): New variables. (frameset-filter-alist): Use them. Add autoload cookie. (frameset-filter-tty-to-GUI): Move from desktop.el and rename. (frameset--set-id, frameset--reuse-frame): Rename `frame-id' to `frameset--id' (it's supposed to be internal to frameset.el). (frameset--process-minibuffer-frames): Ditto. Doc fix. (frameset--initial-params): New function. (frameset--get-frame): Use it. Doc fix. (frameset--move-onscreen): Accept new PRED value for FORCE-ONSCREEN. Accept :all, not 'all. (frameset-restore): Add new predicate values for FORCE-ONSCREEN and FORCE-DISPLAY. Use :keywords for constant arguments to avoid collision with fbound symbols. Fix frame id matching, and remove matching ids if the frame being restored is deleted. Obey :delete. 2013-08-04 Stefan Monnier * subr.el (macrop): New function. (text-clone--maintaining): New var. (text-clone--maintain): Rename from text-clone-maintain. Use it instead of inhibit-modification-hooks. * emacs-lisp/nadvice.el (advice--normalize): For aliases to macros, use a proxy, so as handle autoloads and redefinitions of the target. (advice--defalias-fset, advice-remove): Use advice--symbol-function. * emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Remove bogus (arrayp . stringp) pair. Add entries for `vectorp'. (pcase--mutually-exclusive-p): New function. (pcase--split-consp): Use it. (pcase--split-pred): Use it. Optimize the case where `pat' is a qpat mutually exclusive with the current predicate. * emacs-lisp/edebug.el (edebug-lookup-function): Remove function. (edebug-macrop): Remove. Use `macrop' instead. * emacs-lisp/advice.el (ad-subr-p): Remove. Use `subrp' instead. (ad-macro-p): * eshell/esh-cmd.el (eshell-macrop): * apropos.el (apropos-macrop): Remove. Use `macrop' instead. 2013-08-04 Stefan Monnier * emacs-lisp/nadvice.el (advice-function-mapc): Rename from advice-mapc. (advice-mapc): New function, using it. (advice-function-member-p): New function. (advice--normalize): Store the cdr in advice--saved-rewrite since that's the part that will be changed. (advice--symbol-function): New function. (advice-remove): Handle removal before the function is defined. Adjust to new advice--saved-rewrite. (advice-member-p): Use advice-function-member-p and advice--symbol-function. 2013-08-04 Juanma Barranquero * frameset.el (frameset-p, frameset-save): Fix autoload cookies. (frameset-filter-minibuffer): Doc fix. (frameset-restore): Fix autoload cookie. Fix typo in docstring. (frameset--set-id, frameset--process-minibuffer-frames) (frameset-restore): Rename parameter `frameset-id' to `frame-id'. (frameset--reuse-frame): Pass correct frame-id to frameset--find-frame. * desktop.el (desktop-clear): Only delete frames when called interactively and desktop-restore-frames is non-nil. Doc fix. (desktop-read): Set desktop-saved-frameset to nil. 2013-08-04 Xue Fuqiao * vc/vc.el (vc-ignore): Rewrite. (vc-default-ignore-completion-table): (vc--read-lines): (vc--add-line, vc--remove-regexp): New functions. * vc/vc-svn.el (vc-svn-ignore): Doc fix. (vc-svn-ignore-completion-table): New function. * vc/vc-hg.el (vc-hg-ignore): Rewrite. (vc-hg-ignore-completion-table): (vc-hg-find-ignore-file): New functions. * vc/vc-git.el (vc-git-ignore): Rewrite. (vc-git-ignore-completion-table): (vc-git-find-ignore-file): New functions. * vc/vc-dir.el (vc-dir-menu-map): Add menu for vc-dir-ignore. * vc/vc-bzr.el (vc-bzr-ignore): Rewrite. (vc-bzr-ignore-completion-table): (vc-bzr-find-ignore-file): New functions. 2013-08-03 Juanma Barranquero * frameset.el (frameset-prop): New function and setter. (frameset-save): Do not modify frame list passed by the caller. 2013-08-03 Stefan Monnier * emacs-lisp/package.el (package-desc-from-define): Ignore unknown keys. 2013-08-02 Stefan Monnier * emacs-lisp/easy-mmode.el (define-globalized-minor-mode) (easy-mmode-define-navigation): Avoid ((lambda (..) ..) ...). * custom.el (custom-initialize-default, custom-initialize-set) (custom-initialize-reset, custom-initialize-changed): Affect the toplevel-default-value (bug#6275, bug#14586). * emacs-lisp/advice.el (ad-compile-function): Undo previous workaround for bug#6275. 2013-08-02 Juanma Barranquero * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add cl-def* expressions. * frameset.el (frameset-filter-params): Fix order of arguments. 2013-08-02 Juanma Barranquero Move code related to saving frames to frameset.el. * desktop.el: Require frameset. (desktop-restore-frames): Doc fix. (desktop-restore-reuses-frames): Rename from desktop-restoring-reuses-frames. (desktop-saved-frameset): Rename from desktop-saved-frame-states. (desktop-clear): Clear frames too. (desktop-filter-parameters-alist): Set from frameset-filter-alist. (desktop--filter-tty*, desktop-save, desktop-read): Use frameset functions. (desktop-before-saving-frames-functions, desktop--filter-*-color) (desktop--filter-minibuffer, desktop--filter-restore-desktop-parm) (desktop--filter-save-desktop-parm, desktop--filter-iconified-position) (desktop-restore-in-original-display-p, desktop--filter-frame-parms) (desktop--process-minibuffer-frames, desktop-save-frames) (desktop--reuse-list, desktop--compute-pos, desktop--move-onscreen) (desktop--find-frame, desktop--select-frame, desktop--make-frame) (desktop--sort-states, desktop-restoring-frames-p) (desktop-restore-frames): Remove. Most code moved to frameset.el. (desktop-restoring-frameset-p, desktop-restore-frameset) (desktop--check-dont-save, desktop-save-frameset): New functions. (desktop--app-id): New constant. (desktop-first-buffer, desktop-buffer-ok-count) (desktop-buffer-fail-count): Move before first use. * frameset.el: New file. 2013-08-01 Stefan Monnier * files.el: Use lexical-binding. (dir-locals-read-from-file): Remove unused `err' variable. (hack-dir-local-variables--warned-coding): New var. (hack-dir-local-variables): Use it to avoid repeated warnings. (make-backup-file-name--default-function): New function. (make-backup-file-name-function): Use it as default. (buffer-stale--default-function): New function. (buffer-stale-function): Use it as default. (revert-buffer-insert-file-contents--default-function): New function. (revert-buffer-insert-file-contents-function): Use it as default. (insert-directory): Avoid add-to-list. * autorevert.el (auto-revert-handler): Simplify. Use buffer-stale--default-function. 2013-08-01 Tassilo Horn * speedbar.el (speedbar-query-confirmation-method): Doc fix. * whitespace.el (whitespace-ensure-local-variables): New function. (whitespace-cleanup-region): Call it. (whitespace-turn-on): Call it. 2013-08-01 Michael Albinus Complete file name handlers. * net/tramp.el (tramp-handle-set-visited-file-modtime) (tramp-handle-verify-visited-file-modtime) (tramp-handle-file-notify-rm-watch): New functions. (tramp-call-process): Do not bind `default-directory'. * net/tramp-adb.el (tramp-adb-file-name-handler-alist): Order alphabetically. [access-file, add-name-to-file, dired-call-process]: [dired-compress-file, file-acl, file-notify-rm-watch]: [file-ownership-preserved-p, file-selinux-context]: [make-directory-internal, make-symbolic-link, set-file-acl]: [set-file-selinux-context, set-visited-file-modtime]: [verify-visited-file-modtime]: Add handler. (tramp-adb-handle-write-region): Apply `set-visited-file-modtime'. * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist) [file-notify-add-watch, file-notify-rm-watch]: [set-file-times, set-visited-file-modtime]: [verify-visited-file-modtime]: Add handler. (with-tramp-gvfs-error-message) (tramp-gvfs-handle-set-visited-file-modtime) (tramp-gvfs-fuse-file-name): Remove. (tramp-gvfs-handle-file-notify-add-watch) (tramp-gvfs-file-gvfs-monitor-file-process-filter): New defuns. (tramp-gvfs-handle-write-region): Fix error in moving tmpfile. * net/tramp-sh.el (tramp-sh-file-name-handler-alist): Order alphabetically. [file-notify-rm-watch ]: Use default Tramp handler. [executable-find]: Remove private handler. (tramp-do-copy-or-rename-file-out-of-band): Do not bind `default-directory'. (tramp-sh-handle-executable-find) (tramp-sh-handle-file-notify-rm-watch): Remove functions. (tramp-sh-file-gvfs-monitor-dir-process-filter) (tramp-sh-file-inotifywait-process-filter, tramp-set-remote-path): Do not use `format' in `tramp-message'. * net/tramp-smb.el (tramp-smb-file-name-handler-alist) [file-notify-rm-watch, set-visited-file-modtime]: [verify-visited-file-modtime]: Add handler. (tramp-smb-call-winexe): Do not bind `default-directory'. 2013-08-01 Xue Fuqiao * vc/vc-hooks.el (vc-menu-map): Fix menu entry for vc-ignore. 2013-07-31 Dmitry Gutov * vc/log-view.el (log-view-diff): Extract `log-view-diff-common', use it. (log-view-diff-changeset): Same. (log-view-diff-common): Call backend command `previous-revision' to find out the previous revision, in both cases. Swap the variables `to' and `fr', so that `fr' usually refers to the earlier revision (Bug#14989). 2013-07-31 Kan-Ru Chen * ibuf-ext.el (ibuffer-filter-by-filename): Make it work with dired buffers too. 2013-07-31 Dmitry Antipov * emacs-lisp/re-builder.el (reb-color-display-p): * files.el (save-buffers-kill-terminal): * net/browse-url.el (browse-url): * server.el (server-save-buffers-kill-terminal): * textmodes/reftex-toc.el (reftex-toc, reftex-toc-revert): Prefer nil to selected-frame for the first arg of frame-parameter. 2013-07-31 Xue Fuqiao * vc/vc-hooks.el (vc-menu-map): Add menu entry for vc-ignore. 2013-07-30 Stephen Berman * minibuffer.el (completion--twq-all): Try and preserve each completion's case choice (bug#14907). 2013-07-30 Lars Magne Ingebrigtsen * net/network-stream.el (open-network-stream): Mention the new :nogreeting parameter. (network-stream-open-starttls): Use the :nogreeting parameter (bug#14938). * net/shr.el (shr-mouse-browse-url): Remove and use `shr-browse-url'. * net/eww.el (eww-setup-buffer): Switching to the buffer seems more natural than popping. * net/shr.el (shr-urlify): Put `follow-link' on URLs (bug#14815). (shr-urlify): Highlight under mouse. 2013-07-30 Xue Fuqiao * vc/vc-hooks.el (vc-prefix-map): Add key binding for vc-ignore. * vc/vc-dir.el (vc-dir-mode-map): Change key binding for vc-dir-ignore. * vc/vc-svn.el (vc-svn-ignore): Remove `interactive'. Use `*vc*' buffer for output. * vc/vc-hg.el (vc-hg-ignore): Remove `interactive'. Do not assume point-min==1. Fix search string. Fix parentheses missing. * vc/vc-git.el (vc-git-ignore): Remove `interactive'. Do not assume point-min==1. Fix search string. Fix parentheses missing. * vc/vc-cvs.el (vc-cvs-ignore): Remove `interactive'. * vc/vc-bzr.el (vc-bzr-ignore): Remove `interactive'. Use `*vc*' buffer for output. 2013-07-29 Eli Zaretskii * frame.el (frame-notice-user-settings): Avoid inflooping when the initial frame is minibuffer-less. (Bug#14841) 2013-07-29 Michael Albinus * net/tramp.el (tramp-use-ssh-controlmaster-options): New customer option. * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) (tramp-maybe-open-connection): Use it. 2013-07-28 Juanma Barranquero * desktop.el (desktop--make-frame): Include `minibuffer' in the minimal set of parameters passed when creating a frame, because the minibuffer status of a frame cannot be changed later. 2013-07-28 Stephen Berman * calendar/todo-mode.el (todo-rename-file): Fix incorrect use of replace-regexp-in-string and inadvertent omissions in previous change. (todo-filter-items): Ensure only file names are comma-separated in name of filtered items buffer. 2013-07-28 Juanma Barranquero * desktop.el: Optionally force offscreen frames back onscreen. (desktop-restoring-reuses-frames): New option. (desktop--compute-pos, desktop--move-onscreen): New functions. (desktop--make-frame): Use desktop--move-onscreen. 2013-07-27 Alan Mackenzie Fontify a Java generic method as a function. * progmodes/cc-langs.el (c-recognize-<>-arglists): Set the Java value to t. 2013-07-27 Stephen Berman * calendar/todo-mode.el: Add command to rename todo files. (todo-rename-file): New command. (todo-key-bindings-t): Add key binding for it. Change the bindings of todo-filter-regexp-items(-multifile) to use `x' instead of `r', since the latter is better suited to the new renaming command. 2013-07-27 Alan Mackenzie Make Java try-with-resources statement parse properly. * progmodes/cc-langs.el (c-block-stmt-1-2-kwds) (c-block-stmt-1-2-key): New language constants/variables. * progmodes/cc-engine.el (c-beginning-of-statement-1) (c-after-conditional): Adapt to deal with c-block-stmt-1-2-key. * progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to deal with c-block-stmt-1-2-key. 2013-07-27 Juanma Barranquero * desktop.el (desktop--make-frame): Apply most frame parameters after creating the frame to force (partially or totally) offscreen frames to be restored as such. 2013-07-26 Xue Fuqiao * vc/vc-dir.el (vc-dir-mode-map): Add binding for vc-root-diff. (Bug#14948) 2013-07-26 Stefan Monnier * emacs-lisp/nadvice.el (advice--called-interactively-skip): Use the new `base' arg of backtrace-frame. 2013-07-26 Eli Zaretskii * simple.el (list-processes): Doc fix. 2013-07-26 Juanma Barranquero * desktop.el (desktop--select-frame): Try harder to reuse existing frames. 2013-07-26 Stefan Monnier * emacs-lisp/edebug.el: Use backtrace-eval to handle lexical variables. (edebug-eval): Use backtrace-eval. (edebug--display, edebug--recursive-edit): Don't let-bind the edebug-outer-* vars that keep track of variables we locally let-bind. (edebug-outside-excursion): Don't restore outside values of locally let-bound vars. (edebug--display): Use user-error. (cl-lexical-debug, cl-debug-env): Remove. 2013-07-26 Juanma Barranquero * desktop.el (desktop-restore-frames): Call `sit-for' once all frames are restored to be sure that they are visible before deleting any remaining ones. 2013-07-26 Matthias Meulien * vc/vc-dir.el (vc-dir-mode-map): Add binding for vc-print-root-log. (Bug#14948) 2013-07-26 Richard Stallman Add aliases for encrypting mail. * epa.el (epa-mail-aliases): New option. * epa-mail.el (epa-mail-encrypt): Rewrite to be callable from programs. Bind inhibit-read-only so read-only text doesn't ruin everything. (epa-mail-default-recipients): New subroutine broken out. Handle epa-mail-aliases. 2013-07-26 Stefan Monnier Add support for lexical variables to the debugger's `e' command. * emacs-lisp/debug.el (debug): Don't let-bind the debugger-outer-* vars, except for debugger-outer-match-data. (debugger-frame-number): Move check for "on a function call" from callers into it. Add `skip-base' argument. (debugger-frame, debugger-frame-clear): Simplify accordingly. (debugger-env-macro): Only reset the state stored in non-variables, i.e. current-buffer and match-data. (debugger-eval-expression): Rewrite using backtrace-eval. * subr.el (internal--called-interactively-p--get-frame): Remove. (called-interactively-p): * emacs-lisp/edebug.el (edebug--called-interactively-skip): Use the new `base' arg of backtrace-frame instead. 2013-07-26 Glenn Morris * align.el (align-regexp): Doc fix. (Bug#14857) (align-region): Explicit error if subexpression missing/does not match. * simple.el (global-visual-line-mode): Do not duplicate the mode lighter. (Bug#14858) 2013-07-25 Martin Rudalics * window.el (display-buffer): In display-buffer bind split-window-keep-point to t, bug#14829. 2013-07-25 Juanma Barranquero * desktop.el: Rename internal "desktop-X" frame params to "desktop--X". (desktop-filter-parameters-alist, desktop--filter-restore-desktop-parm) (desktop--filter-save-desktop-parm, desktop--process-minibuffer-frames) (desktop--select-frame, desktop--sort-states, desktop-restore-frames): Change accordingly. (desktop--select-frame, desktop--sort-states, desktop-restore-frames): Use pcase-let, pcase-let* to deobfuscate access to desktop--mini values. 2013-07-25 Glenn Morris * dired-x.el (dired-mark-extension): Convert comment to doc string. 2013-07-25 Juanma Barranquero * desktop.el (desktop--make-frame): Do not pass the `fullscreen' parameter to modify-frame-parameters if the value has not changed; this is a workaround for bug#14949. (desktop--make-frame): On cl-delete-if call, check parameter name, not full parameter. 2013-07-30 Xue Fuqiao * vc/vc.el (vc-ignore): New function. * vc/vc-svn.el (vc-svn-ignore): New function. * vc/vc-hg.el (vc-hg-ignore): New function. * vc/vc-git.el (vc-git-ignore): New function. * vc/vc-dir.el (vc-dir-mode-map): Add key binding for vc-dir-ignore (vc-dir-ignore): New function. * vc/vc-cvs.el (vc-cvs-ignore): New function. (cvs-append-to-ignore): Move here from pcvs.el. * vc/vc-bzr.el (vc-bzr-ignore): New function. * vc/pcvs.el (vc-cvs): Require 'vc-cvs. 2013-07-24 Juanma Barranquero * desktop.el (desktop-restoring-frames-p): Return a true boolean. (desktop-restore-frames): Warn when deleting an existing frame failed. 2013-07-24 Glenn Morris * ffap.el (ffap-machine-p): Handle "not known" response. (Bug#14929) 2013-07-24 Michael Albinus * filenotify.el (file-notify-supported-p): * net/tramp-sh.el (tramp-sh-handle-file-notify-supported-p): Remove functions. * autorevert.el (auto-revert-use-notify): (auto-revert-notify-add-watch): * net/tramp.el (tramp-file-name-for-operation): * 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): * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Remove `file-notify-supported-p' entry. 2013-07-24 Glenn Morris * printing.el: Replace all uses of deleted ps-windows-system, ps-lp-system, ps-flatten-list with lpr- versions. 2013-07-24 Stefan Monnier * emacs-lisp/pcase.el (pcase--u1): Verify if self-quoting values can be checked with memq (bug#14935). * files.el (revert-buffer-function): Use a non-nil default. (revert-buffer-preserve-modes): Declare var to provide access to the `preserve-modes' argument. (revert-buffer): Let-bind it. (revert-buffer--default): New function, extracted from revert-buffer. 2013-07-24 Stefan Monnier * lpr.el: Signal print errors more prominently. (print-region-function): Don't default to nil. (lpr-print-region): New function, extracted from print-region-1. Check lpr's return value and signal an error in case of problem. (print-region-1): Use it. * ps-print.el (ps-windows-system, ps-lp-system): Remove. Use the lpr-* versions instead. (ps-printer-name): Default to nil. (ps-printer-name-option): Default to lpr-printer-switch. (ps-print-region-function): Don't default to nil. (ps-postscript-code-directory): Simplify default. (ps-do-despool): Use lpr-print-region to properly check the outcome. (ps-string-list, ps-eval-switch, ps-flatten-list) (ps-flatten-list-1): Remove. (ps-multibyte-buffer): Avoid setq. * dos-w32.el (direct-print-region-helper): Use proper regexp operators. (print-region-function, ps-print-region-function): Don't set them here. 2013-07-24 Xue Fuqiao * ido.el (ido-fractionp): (ido-cache-ftp-work-directory-time, ido-max-prospects, ido-mode) (ido-max-file-prompt-width, ido-unc-hosts-cache) (ido-max-directory-size, ido-max-dir-file-cache) (ido-decorations): Doc fix. * ansi-color.el: Fix old URL. 2013-07-23 Michael R. Mauger * progmodes/sql.el Version 3.3 (sql-product-alist): Improve oracle :prompt-cont-regexp. (sql-starts-with-prompt-re, sql-ends-with-prompt-re): New functions. (sql-interactive-remove-continuation-prompt): Rewrite, use functions above. Fix continuation prompt and complete output line handling. (sql-redirect-one, sql-execute): Use `read-only-mode' on redirected output buffer. (sql-mode): Restore deleted code (Bug#13591). 2013-07-23 Juanma Barranquero * desktop.el (desktop-clear, desktop-list*): Fix previous change. 2013-07-23 Michael Albinus * net/tramp.el (tramp-handle-file-notify-add-watch): New defun. * net/tramp-adb.el (tramp-adb-file-name-handler-alist): * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use it. 2013-07-23 Juanma Barranquero * desktop.el (desktop-clear): Simplify; remove useless checks against invalid buffer names. (desktop-list*): Use cl-list*. (desktop-buffer-info, desktop-create-buffer): Simplify. 2013-07-23 Leo Liu * bookmark.el (bookmark-make-record): Restore NAME as a default value. (Bug#14933) 2013-07-22 Stefan Monnier * emacs-lisp/autoload.el (autoload--setup-output): New function, extracted from autoload--insert-text. (autoload--insert-text): Remove. (autoload--print-cookie-text): New function, extracted from autoload--insert-cookie-text. (autoload--insert-cookie-text): Remove. (autoload-generate-file-autoloads): Adjust calls accordingly. * winner.el (winner-hook-installed-p): Remove. (winner-mode): Simplify accordingly. * subr.el (add-to-list): Fix compiler-macro when `append' is not constant. Don't use `cl-member' for the base case. * progmodes/subword.el: Fix boundary case (bug#13758). (subword-forward-regexp): Make it a constant. Wrap optional \\W in its own group. (subword-backward-regexp): Make it a constant. (subword-forward-internal): Don't treat a trailing capital as the beginning of a word. 2013-07-22 Ari Roponen (tiny change) * emacs-lisp/package.el (package-menu-mode): Don't modify the global value of tabulated-list-revert-hook (bug#14930). 2013-07-22 Juanma Barranquero * desktop.el: Require 'cl-lib. (desktop-before-saving-frames-functions): New hook. (desktop--process-minibuffer-frames): Set desktop-mini parameter only for frames being saved. Rename from desktop--save-minibuffer-frames. (desktop-save-frames): Run hook desktop-before-saving-frames-functions. Do not save frames with non-nil `desktop-dont-save' parameter. Filter out deleted frames. (desktop--find-frame): Use cl-find-if. (desktop--select-frame): Use cl-(first|second|third) to access values of desktop-mini. (desktop--make-frame): Use cl-delete-if. (desktop--sort-states): Fix sorting of minibuffer-owning frames. (desktop-restore-frames): Use cl-(first|second|third) to access values of desktop-mini. Look for visible frame at the end, not while restoring frames. * dired-x.el (dired-mark-unmarked-files, dired-virtual) (dired-guess-default, dired-mark-sexp, dired-filename-at-point): Use string-match-p, looking-at-p (bug#14927). 2013-07-21 Juanma Barranquero * desktop.el (desktop-saved-frame-states): Rename from desktop--saved-states; all users changed. (desktop-save-frames): Rename from desktop--save-frames. Do not save state to desktop file. (desktop-save): Save desktop-saved-frame-states to desktop file and reset to nil. (desktop-restoring-frames-p): New function. (desktop-restore-frames): Use it. Rename from desktop--restore-frames. (desktop-read): Use desktop-restoring-frames-p. Do not try to fix buffer-lists when restoring frames. Suggested by Martin Rudalics. * desktop.el: Correctly restore iconified frames. (desktop--filter-iconified-position): New function. (desktop-filter-parameters-alist): Add entries for `top' and `left'. 2013-07-20 Glenn Morris * progmodes/gdb-mi.el (gdb-delete-handler, gdb-stopped): Let `message' do the formatting. (def-gdb-preempt-display-buffer): Add explicit format. * image-dired.el (image-dired-track-original-file): Use with-current-buffer. (image-dired-track-thumbnail): Use with-current-buffer. Avoid changing point of wrong window. * image-dired.el (image-dired-track-original-file): Avoid changing point of wrong window. (Bug#14909) 2013-07-20 Richard Copley (tiny change) * progmodes/gdb-mi.el (gdb-done-or-error): Guard against "%" in gdb output. (Bug#14127) 2013-07-20 Andreas Schwab * progmodes/sh-script.el (sh-read-variable): Remove interactive spec. (Bug#14826) * international/mule.el (coding-system-iso-2022-flags): Fix last change. 2013-07-20 Kenichi Handa * international/mule.el (coding-system-iso-2022-flags): Add `8-bit-level-4'. (Bug#8522) 2013-07-19 Lars Magne Ingebrigtsen * net/shr.el (shr-mouse-browse-url): New command and keystroke (bug#14815). * net/eww.el (eww-process-text-input): Allow inputting when the point is at the start of the line, as the properties aren't front-sticky. * net/shr.el (shr-make-table-1): Ensure that we don't infloop on degenerate widths. 2013-07-19 Richard Stallman * epa.el (epa-popup-info-window): Doc fix. * subr.el (split-string): New arg TRIM. 2013-07-18 Juanma Barranquero * frame.el (blink-cursor-timer-function, blink-cursor-suspend): Add check for W32 (followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se). 2013-07-18 Michael Albinus * filenotify.el (file-notify--library): Rename from `file-notify-support'. Do not autoload. Adapt all uses. (file-notify-supported-p): New defun. * autorevert.el (auto-revert-use-notify): Use `file-notify-supported-p' instead of `file-notify-support'. Adapt docstring. (auto-revert-notify-add-watch): Use `file-notify-supported-p'. * net/tramp.el (tramp-file-name-for-operation): Add `file-notify-supported-p'. * net/tramp-sh.el (tramp-sh-handle-file-notify-supported-p): New defun. (tramp-sh-file-name-handler-alist): Add it as handler for `file-notify-supported-p '. * net/tramp-adb.el (tramp-adb-file-name-handler-alist): * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add `ignore' as handler for `file-notify-*' functions. 2013-07-17 Eli Zaretskii * simple.el (line-move-partial, line-move): Don't start vscroll or scroll-up if the current line is not taller than the window. (Bug#14881) 2013-07-16 Dmitry Gutov * progmodes/ruby-mode.el (ruby-font-lock-keywords): Do not highlight question marks in the method names as strings. (ruby-block-beg-keywords): Inline. (ruby-font-lock-keyword-beg-re): Extract from `ruby-font-lock-keywords'. 2013-07-16 Jan Djärv * frame.el (blink-cursor-blinks): New defcustom. (blink-cursor-blinks-done): New defvar. (blink-cursor-start): Set blink-cursor-blinks-done to 1. (blink-cursor-timer-function): Check if number of blinks has been done on X and NS. (blink-cursor-suspend, blink-cursor-check): New defuns. 2013-07-15 Glenn Morris * edmacro.el (edmacro-format-keys): Fix previous change. 2013-07-15 Paul Eggert * shell.el (explicit-bash-args): Remove obsolete hack for Bash 1.x. The hack didn't work outside English locales anyway. 2013-07-15 Juanma Barranquero * simple.el (define-alternatives): Rename from alternatives-define, per RMS' suggestion. 2013-07-14 Juanma Barranquero * desktop.el (desktop-restore-frames): Change default to t. (desktop-restore-in-current-display): Now offer more options. (desktop-restoring-reuses-frames): New customization option. (desktop--saved-states): Doc fix. (desktop-filter-parameters-alist): New variable, renamed and expanded from desktop--excluded-frame-parameters. (desktop--target-display): New variable. (desktop-switch-to-gui-p, desktop-switch-to-tty-p) (desktop--filter-tty*, desktop--filter-*-color) (desktop--filter-minibuffer, desktop--filter-restore-desktop-parm) (desktop--filter-save-desktop-parm) (desktop-restore-in-original-display-p): New functions. (desktop--filter-frame-parms): Use new desktop-filter-parameters-alist. (desktop--save-minibuffer-frames): New function, inspired by a similar function from Martin Rudalics. (desktop--save-frames): Call it; play nice with desktop-globals-to-save. (desktop--restore-in-this-display-p): Remove. (desktop--find-frame): Rename from desktop--find-frame-in-display and add predicate argument. (desktop--make-full-frame): Remove, integrated into desktop--make-frame. (desktop--reuse-list): New variable. (desktop--select-frame, desktop--make-frame, desktop--sort-states): New functions. (desktop--restore-frames): Add support for "minibuffer-special" frames. 2013-07-14 Michael Albinus * net/tramp-sh.el (tramp-sh-handle-vc-registered): Use `ignore-error'. 2013-07-13 Dmitry Gutov * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight conversion methods on Kernel. 2013-07-13 Alan Mackenzie * progmodes/cc-engine.el (c-forward-decl-or-cast-1): Label CASE 13 and comment it out. This out-commenting enables certain C++ declarations to be parsed correctly. 2013-07-13 Eli Zaretskii * international/mule.el (define-coding-system): Doc fix. * simple.el (default-font-height): Don't call font-info if the frame's default font didn't change since the frame was created. (Bug#14838) 2013-07-13 Leo Liu * ido.el (ido-read-file-name): Guard against non-symbol value. 2013-07-13 Fabián Ezequiel Gallina * progmodes/python.el (python-imenu--build-tree): Fix corner case in nested defuns. 2013-07-13 Leo Liu * ido.el (ido-exhibit): Handle ido-enter-matching-directory before ido-set-matches call. (Bug#6852) 2013-07-12 Dmitry Gutov * progmodes/ruby-mode.el (ruby-percent-literals-beg-re): (ruby-syntax-expansion-allowed-p): Support array of symbols, for Ruby 2.0. (ruby-font-lock-keywords): Distinguish calls to functions with module-like names from module references. Highlight character literals. 2013-07-12 Sergio Durigan Junior (tiny change) * progmodes/gdb-mi.el (gdb-strip-string-backslash): New function. (gdb-send): Handle continued commands. (Bug#14847) 2013-07-12 Juanma Barranquero * desktop.el (desktop--v2s): Remove unused local variable. (desktop-save-buffer): Make defvar-local; adjust docstring. (desktop-auto-save-timeout, desktop-owner): Use ignore-errors. (desktop-clear, desktop-save-buffer-p): Use string-match-p. 2013-07-12 Andreas Schwab * emacs-lisp/map-ynp.el (map-y-or-n-p): Fix last change. 2013-07-12 Eli Zaretskii * simple.el (next-line, previous-line): Document TRY-VSCROLL and ARG. (Bug#14842) 2013-07-12 Glenn Morris * doc-view.el: Require cl-lib at runtime too. (doc-view-remove-if): Remove. (doc-view-search-next-match, doc-view-search-previous-match): Use cl-remove-if. * edmacro.el: Require cl-lib at runtime too. (edmacro-format-keys, edmacro-parse-keys): Use cl-mismatch, cl-subseq. (edmacro-mismatch, edmacro-subseq): Remove. * shadowfile.el: Require cl-lib. (shadow-remove-if): Remove. (shadow-set-cluster, shadow-shadows-of-1, shadow-remove-from-todo): Use cl-remove-if. * wid-edit.el: Require cl-lib. (widget-choose): Use cl-remove-if. (widget-remove-if): Remove. * progmodes/ebrowse.el: Require cl-lib at runtime too. (ebrowse-delete-if-not): Remove. (ebrowse-browser-buffer-list, ebrowse-member-buffer-list) (ebrowse-tree-buffer-list, ebrowse-same-tree-member-buffer-list): Use cl-delete-if-not. 2013-07-12 Juanma Barranquero * emacs-lisp/cl-macs.el (cl-multiple-value-bind, cl-multiple-value-setq) (cl-the, cl-declare, cl-defstruct): Fix typos in docstrings. 2013-07-12 Leo Liu * ido.el (dired-do-copy, dired): Set 'ido property. (Bug#11954) 2013-07-11 Glenn Morris * emacs-lisp/edebug.el: Require cl-lib at run-time too. (edebug-gensym-index, edebug-gensym): Remove reimplementation of cl-gensym. (edebug-make-enter-wrapper, edebug-make-form-wrapper): Use cl-gensym. * thumbs.el: Require cl-lib at run-time too. (thumbs-gensym-counter, thumbs-gensym): Remove reimplementation of cl-gensym. (thumbs-temp-file): Use cl-gensym. * emacs-lisp/ert.el: Require cl-lib at runtime too. (ert--cl-do-remf, ert--remprop, ert--remove-if-not) (ert--intersection, ert--set-difference, ert--set-difference-eq) (ert--union, ert--gensym-counter, ert--gensym-counter) (ert--coerce-to-vector, ert--remove*, ert--string-position) (ert--mismatch, ert--subseq): Remove reimplementations of cl funcs. (ert-make-test-unbound, ert--expand-should-1) (ert--expand-should, ert--should-error-handle-error) (should-error, ert--explain-equal-rec) (ert--plist-difference-explanation, ert-select-tests) (ert--make-stats, ert--remove-from-list, ert--string-first-line): Use cl-lib functions rather than reimplementations. 2013-07-11 Michael Albinus * net/tramp.el (tramp-methods): Extend docstring. (tramp-connection-timeout): New defcustom. (tramp-error-with-buffer): Reset timestamp only when appropriate. (with-tramp-progress-reporter): Simplify. (tramp-process-actions): Improve messages. * net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): * net/tramp-sh.el (tramp-maybe-open-connection): Use `tramp-connection-timeout'. (tramp-methods) [su, sudo, ksu]: Add method specific timeouts. (Bug#14808) 2013-07-11 Leo Liu * ido.el (ido-read-file-name): Conform to the requirements of read-file-name. (Bug#11861) (ido-read-directory-name): Conform to the requirements of read-directory-name. 2013-07-11 Juanma Barranquero * subr.el (delay-warning): New function. 2013-07-10 Eli Zaretskii * simple.el (default-line-height): New function. (line-move-partial, line-move): Use it instead of computing the line height inline. (line-move-partial): Always compute ROWH. If the last line is partially-visible, but its text is completely visible, allow cursor to enter such a partially-visible line. 2013-07-10 Michael Albinus Improve error messages. (Bug#14808) * net/tramp.el (tramp-current-connection): New defvar, moved from tramp-sh.el. (tramp-message-show-progress-reporter-message): Remove, not needed anymore. (tramp-error-with-buffer): Show message in minibuffer. Discard input before waiting. Reset connection timestamp. (with-tramp-progress-reporter): Improve messages. (tramp-process-actions): Use progress reporter. Delete process in case of error. Improve messages. * net/tramp-sh.el (tramp-barf-if-no-shell-prompt): Use condition-case. Call `tramp-error-with-buffer' with vector and buffer. (tramp-current-connection): Remove. (tramp-maybe-open-connection): The car of `tramp-current-connection' are the first 3 slots of the vector. 2013-07-10 Teodor Zlatanov * progmodes/cfengine.el (cfengine3-indent-line): Do not indent inside continued strings. 2013-07-10 Paul Eggert Timestamp fixes for undo (Bug#14824). * files.el (clear-visited-file-modtime): Move here from fileio.c. 2013-07-10 Leo Liu * files.el (require-final-newline): Allow safe local value. (Bug#14834) 2013-07-09 Leo Liu * ido.el (ido-read-directory-name): Handle fallback. (ido-read-file-name): Update DIR to ido-current-directory. (Bug#1516) (ido-add-virtual-buffers-to-list): Robustify. (Bug#14552) 2013-07-09 Dmitry Gutov * progmodes/ruby-mode.el (ruby-font-lock-keywords): Remove extra "autoload". Remove "warn lower camel case" section, previously commented out. Highlight negation char. Do not highlight the target in singleton method definitions. 2013-07-08 Stefan Monnier * faces.el (tty-setup-hook): Declare the hook. * emacs-lisp/pcase.el (pcase--split-pred): Add `vars' argument to try and detect when a guard/pred depends on local vars (bug#14773). (pcase--u1): Adjust caller. 2013-07-08 Eli Zaretskii * simple.el (line-move-partial, line-move): Account for line-spacing. (line-move-partial): Avoid setting vscroll when the last partially-visible line in window is of default height. 2013-07-08 Lars Magne Ingebrigtsen * net/shr.el (shr-map): Reinstate the `u' key binding, since it's been used a while. 2013-07-07 Juanma Barranquero * subr.el (read-quoted-char): Remove unused local variable `char'. 2013-07-07 Michael Kifer * ediff.el (ediff-version): Version update. (ediff-files-command, ediff3-files-command, ediff-merge-command) (ediff-merge-with-ancestor-command, ediff-directories-command) (ediff-directories3-command, ediff-merge-directories-command) (ediff-merge-directories-with-ancestor-command): New functions. All are command-line interfaces to ediff: to facilitate calling Emacs with the appropriate ediff functions invoked. * viper-cmd.el (viper-del-forward-char-in-insert): New function. (viper-save-kill-buffer): Check if buffer is modified. * viper.el (viper-version): Version update. (viper-emacs-state-mode-list): Add egg-status-buffer-mode. 2013-07-07 Stefan Monnier * faces.el (tty-run-terminal-initialization): Run new tty-setup-hook. * viper-cmd.el (viper-envelop-ESC-key): Remove function. (viper-intercept-ESC-key): Simplify. * viper-keym.el (viper-ESC-key): Make it a constant, don't use kbd. * viper.el (viper--tty-ESC-filter, viper--lookup-key) (viper-catch-tty-ESC, viper-uncatch-tty-ESC) (viper-setup-ESC-to-escape): New functions. (viper-go-away, viper-set-hooks): Call viper-setup-ESC-to-escape. (viper-set-hooks): Do not modify flyspell-mode-hook. (Bug#13793) 2013-07-07 Eli Zaretskii * simple.el (default-font-height, window-screen-lines): New functions. (line-move, line-move-partial): Use them instead of frame-char-height and window-text-height. This makes scrolling text smoother when the buffer's default face uses a font that is different from the frame's default font. 2013-07-06 Jan Djärv * 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 * 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 * 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 * 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 * simple.el (alternatives-define): Remove leftover :group keyword. Tweak docstring. 2013-07-06 Leo Liu * 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 * simple.el (alternatives-define): New macro. 2013-07-06 Stefan Monnier * subr.el (read-quoted-char): Use read-key. (sit-for): Let read-event decode tty input (bug#14782). 2013-07-05 Stephen Berman * 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 * 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 * autoinsert.el (auto-insert-alist): Default to lexical-binding. 2013-07-04 YAMAMOTO Mitsuharu * 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 * 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 * 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 * 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 * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight more keywords and built-ins. 2013-07-03 Glenn Morris * 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 * ido.el (ido-delete-file-at-head): Respect delete-by-moving-to-trash. 2013-07-03 Dmitry Gutov * 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 * term/ns-win.el (display-format-alist): Use .* (Bug#14765). 2013-07-01 Katsumi Yamaoka * wid-edit.el (widget-default-get): Don't modify widget (Bug#14738). 2013-07-01 Juanma Barranquero * 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 * 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 * 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 * 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 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 * progmodes/ruby-mode.el (ruby-syntax-propertize-function): Don't start heredoc inside a string or comment. 2013-06-29 Eli Zaretskii * 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 * 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 * net/shr.el (shr-render-region): New function. * net/eww.el: Autoload `eww-browse-url'. 2013-06-27 Dmitry Gutov * 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 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 * net/shr.el (add-face-text-property): Remove compat definition. 2013-06-27 Stephen Berman * 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 * obsolete/otodo-mode.el: Add obsolescence info to file header. 2013-06-27 Leo Liu * net/eww.el (eww-read-bookmarks): Check file size. 2013-06-26 Stefan Monnier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * net/eww.el (eww-download): New command and keystroke. 2013-06-25 Lars Magne Ingebrigtsen * 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 * 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 * 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 * 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 * 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 * textmodes/bibtex.el (bibtex-generate-url-list): Add support for DOI URLs. 2013-06-25 Rüdiger Sonderfeld * textmodes/bibtex.el (bibtex-mode, bibtex-set-dialect): Update imenu-support when dialect changes. 2013-06-25 Leo Liu * ido.el (ido-read-internal): Allow forward slash on windows. 2013-06-24 Lars Magne Ingebrigtsen * net/eww.el (eww): Start of strings is \\`, not ^. 2013-06-24 Ivan Kanis * 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 * faces.el (face-spec-recalc): Revert part of 2013-06-23T20:29:18Z!lekktu@gmail.com (bug#14705). 2013-06-24 Lars Magne Ingebrigtsen * 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 * 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 * 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 * ido.el (ido-read-internal): Fix bug#14620. 2013-06-23 Juanma Barranquero * 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 * net/shr.el (shr-rescale-image): Use the new :max-width/:max-height functionality. 2013-06-23 Ivan Kanis * 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 * 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 * 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 * 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 * 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 * play/cookie1.el (cookie-apropos): Minor simplification. * progmodes/gdb-mi.el (gdb-mapcar*): Remove, replace with cl-mapcar. 2013-06-22 Dmitry Gutov * progmodes/ruby-mode.el (auto-mode-alist): Do not use `regexp-opt', it breaks the build during dumping. 2013-06-21 Dmitry Gutov * 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 * 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 * 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 * emacs-lisp/package.el (tar-get-file-descriptor) (tar--extract): Declare. 2013-06-21 Eduard Wiebe 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 * 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 * 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 * comint.el (comint-redirect-results-list-from-process): Fix infinite loop. 2013-06-21 Lars Magne Ingebrigtsen * net/eww.el (eww-update-header-line-format): Quote % characters. 2013-06-21 Glenn Morris * 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 * progmodes/octave.el (octave-mode): Backward compatibility fix. 2013-06-21 Glenn Morris * font-lock.el (lisp-font-lock-keywords-2): Add with-eval-after-load. 2013-06-21 Stefan Monnier Daniel Hackney * 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 * comint.el (comint-redirect-results-list-from-process): Fix random delay. (Bug#14681) 2013-06-21 Juanma Barranquero * profiler.el (profiler-format-number): Use log, not log10. 2013-06-20 Juanma Barranquero * term/x-win.el (emacs-session-filename): Use `locate-user-emacs-file'. 2013-06-20 Stefan Monnier * 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 * 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 * 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 * arc-mode.el (archive-mode): Add `archive-write-file' to `write-contents-functions' also for remote files. (Bug#14652) 2013-06-20 Juanma Barranquero * 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 * 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 * 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 * 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