From: Stefan Monnier Date: Fri, 23 Jan 2015 22:20:19 +0000 (-0500) Subject: lisp/net/{eudc,ldap}: Merge branch streamline-eudc-configuration X-Git-Tag: emacs-25.0.90~2582^2~2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ac5475dacb20d240db27d56199910d8a6fcc90e8;p=emacs.git lisp/net/{eudc,ldap}: Merge branch streamline-eudc-configuration --- ac5475dacb20d240db27d56199910d8a6fcc90e8 diff --cc doc/misc/ChangeLog index 2baa13cea8c,a02e5393ba4..e75589f92ec --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@@ -1,149 -1,11 +1,154 @@@ -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * eudc.texi (LDAP Configuration): Rename from LDAP Requirements + and provide configuration examples. + +2015-01-17 Stefan Monnier + + * eieio.texi (Slot Options): Document :protection as unsupported. + +2015-01-01 Michael Albinus + + Sync with Tramp 2.2.11. + * trampver.texi: Update release number. + +2014-12-31 Paul Eggert + + Less 'make' chatter for Emacs doc + * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_) + (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in. + (ENVADD, $(buildinfodir)/%.info, %.html, ${buildinfodir}/ccmode.info) + (${buildinfodir}/efaq%.info, efaq%.html): + Use them. + +2014-12-31 Filipp Gunbin + + * info.texi (Create Info buffer): Mention info-display-manual prefix. + +2014-12-29 Paul Eggert + + * efaq.texi (Displaying the current file name in the titlebar): + Prefer (system-name) to system-name. + * smtpmail.texi (Server workarounds): Fix grammar. + +2014-12-18 Eric Abrahamsen + - * gnus.texi (Gnus Registry Setup): Explain pruning changes. Mention - gnus-registry-prune-factor. Explain sorting changes and ++ * gnus.texi (Gnus Registry Setup): Explain pruning changes. ++ Mention gnus-registry-prune-factor. Explain sorting changes and + gnus-registry-default-sort-function. Correct file extension. + +2014-12-17 Jay Belanger + + * calc.texi (About This Manual): Update instructions + for building the manual. + +2014-12-15 Alan Mackenzie + + "Advice" is a mass noun. Amend text accordingly. + * cl.texi (Obsolete Macros): Replace "an advice" with "advice". + +2014-12-12 Paul Eggert + + * texinfo.tex: Update from gnulib. + +2014-12-08 Andrey Kotlarski + + * eww.texi (Basics): Document managing multiple eww buffers. + +2014-12-05 Lars Magne Ingebrigtsen + + * eww.texi (Basics): Document eww PDF viewing. + +2014-11-23 Ivan Shmakov + + * eww.texi (Advanced): Mention the Desktop stuff (bug#18010). + +2014-11-23 Michael Albinus + + * tramp.texi (Remote processes): Let-bind environment variables to + `process-environment' when running `process-file' or + `start-file-process'. + +2014-11-19 Ivan Shmakov + + * eww.texi (Basics): Document `eww-history-limit'. + +2014-11-14 Paul Eggert + + * org.texi (The date/time prompt, Matching tags and properties): + Use leading zero with 24-hour times less than 10:00. + +2014-11-13 Lars Magne Ingebrigtsen + + * eww.texi (Variable Index): Mention `eww-after-render-hook'. + +2014-11-10 Lars Magne Ingebrigtsen + + * eww.texi (Basics): Document `eww-readable'. + +2014-11-10 Katsumi Yamaoka + + * gnus.texi (Top): Add missing `HTML' menu. + (HTML): Fix xref to FAQ 4-16. + +2014-11-09 Glenn Morris + + * Makefile.in (version): Remove variable. + (clean): No longer delete dist tarfile. + (dist): Remove rule; replace with code in admin.el. + +2014-11-08 Glenn Morris + + * Makefile.in (${buildinfodir}/ccmode.info) + (${buildinfodir}/efaq%.info): Ensure output directory exists. + +2014-11-07 Tassilo Horn + + * gnus.texi (HTML): Update section so that it mentions shr and w3m. + Also link the full EWW manual that explains more on shr, too. + + * gnus-faq.texi (FAQ 4 - Reading messages, FAQ 4-16): Add Q&A on how to + increase contrast when displaying HTML mail with shr. + + * eww.texi (Advanced): Document increasing contrast with + shr-color-visible-distance-min and + shr-color-visible-luminance-min. + +2014-11-02 Teodor Zlatanov + + * auth.texi (Help for users): Explain quoting rules better. + +2014-10-30 Glenn Morris + + * efaq.texi (Gnus does not work with NNTP): Remove; ancient. + +2014-10-30 Stefan Monnier + + * eieio.texi (Accessing Slots, CLOS compatibility): Adjust wording + since `setf' is in core rather than in CL nowadays. + +2014-10-29 Paul Eggert + + Simplify use of current-time and friends. + * org.texi (Dynamic blocks): Omit unnecessary call to current-time + in example. + +2014-10-28 Christopher Schmidt + + * calc.texi (Quick Calculator): Mention prefix argument of + `quick-calc'. + +2014-10-26 Eric S. Raymond + + * efaq-w32.texi: Neutralize language specific to a repository type. + +2014-10-25 Eric S. Raymond + + * gnus-coding.texi: Neutralize language specific to a repository type. + 2014-10-20 Glenn Morris - * Version 24.4 released. + * Merge in all changes up to 24.4 release. 2014-10-13 Glenn Morris diff --cc lisp/ChangeLog index ed4e1ab1e15,7593ad66bfe..15518a73eb1 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,4081 -1,95 +1,4166 @@@ -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/ldap.el (ldap-search-internal): Mention binddn in invalid + credentials error message. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/ldap.el (ldap-password-read): Validate password before + caching it. + (ldap-search-internal): Handle ldapsearch error conditions. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + - * net/ldap.el (ldap-password-read): Handle password-cache being - nil. ++ * net/ldap.el (ldap-password-read): Handle password-cache being nil. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/eudc.el (eudc-expand-inline): Always restore former server + and protocol. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/eudcb-ldap.el: Don't nag the user in case a default base is + provided by the LDAP system configuration file. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/eudc.el (eudc-format-query): Preserve the - eudc-inline-query-format ordering of attributes in the returned - list. - * net/eudcb-ldap.el (eudc-ldap-format-query-as-rfc1558): Append - the LDAP wildcard character to the last attribute value. ++ eudc-inline-query-format ordering of attributes in the returned list. ++ * net/eudcb-ldap.el (eudc-ldap-format-query-as-rfc1558): ++ Append the LDAP wildcard character to the last attribute value. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + - * net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): Downcase - field names of LDAP results. ++ * net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): ++ Downcase field names of LDAP results. + (eudc-ldap-cleanup-record-filtering-addresses): Likewise. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/ldap.el (ldap-ldapsearch-password-prompt): New defcustom. + (ldap-search-internal): Send password to ldapsearch through a pipe + instead of via the command line. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/ldap.el: Require password-cache. + (ldap-password-read): New function. + (ldap-search-internal): Call ldap-password-read when it is + configured to be called. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + - * net/eudc-vars.el (eudc-expansion-overwrites-query): Change - default to nil. ++ * net/eudc-vars.el (eudc-expansion-overwrites-query): ++ Change default to nil. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/eudc.el (eudc-expand-inline): Ignore text properties of + string-to-expand. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/eudc-vars.el (eudc-inline-expansion-format): Default to a + format that includes first name and surname. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/eudc-vars.el (eudc-inline-query-format): Change default to + query email and first name instead of surname. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/ldap.el (ldap-search-internal): Support new-style LDAP URIs. + -2014-11-13 Thomas Fitzsimmons ++2015-01-23 Thomas Fitzsimmons + + * net/eudc-vars.el (eudc-server): Adjust docstring to mention + eudc-server-hotlist. + (eudc-server-hotlist): Move from eudc.el and make defcustom. + * net/eudc.el (eudc-server-hotlist): Move to eudc-vars.el. + (eudc-set-server): Allow setting protocol to nil. + (eudc-expand-inline): Support hotlist-only expansions when server + is not set. + +2015-01-23 Stefan Monnier + + * emacs-lisp/cl-generic.el (cl-no-primary-method): New fun and error. + (cl--generic-build-combined-method): Use it. + +2015-01-22 Paul Eggert + + Don't downcase system diagnostics' first letters + * emacs-lisp/bytecomp.el (byte-compile-file): + * ffap.el (find-file-at-point): + * files.el (insert-file-1): + * net/ange-ftp.el (ange-ftp-barf-if-not-directory) + (ange-ftp-copy-file-internal): + * progmodes/etags.el (visit-tags-table): + Keep diagnostics consistent with system's. + * ffap.el (ffap-machine-p): + Ignore case while comparing diagnostics. + +2015-01-22 Stefan Monnier + + * help.el (help-make-usage): Don't turn a "_" arg into an empty-string + arg (bug#19645). + * emacs-lisp/cl-generic.el (cl--generic-lambda): Don't confuse a string + body with a docstring. + +2015-01-22 Dmitry Gutov + + * progmodes/xref.el (xref-location-marker, xref-location-group): + Use `cl-defgeneric' and `cl-defmethod' instead of the EIEIO + counterparts. + + * progmodes/etags.el (xref-location-marker): Same. + + * progmodes/xref.el (xref--current): Rename from `xref--selected'. + (xref--inhibit-mark-current): Rename from + `xref--inhibit-mark-selected'. Update the usages. + (xref-quit): Reword the docstring. Kill buffers after quitting + windows instead of before. + (xref--insert-xrefs): Tweak help-echo. + (xref--read-identifier-history, xref--read-pattern-history): + New variables. + (xref--read-identifier, xref-find-apropos): Use them. + +2015-01-21 Ulrich Müller + + * play/gamegrid.el (gamegrid-add-score-with-update-game-score): + Allow the 'update-game-score' helper program to run suid or sgid. + +2015-01-21 Stefan Monnier + + * emacs-lisp/eieio.el: Use cl-defmethod. + (defclass): Generate cl-defmethod calls; use setf methods for :accessor. + (eieio-object-name-string): Declare as obsolete. + + * emacs-lisp/eieio-opt.el: Adapt to cl-generic. + (eieio--specializers-apply-to-class-p): New function. + (eieio-all-generic-functions): Use it. + (eieio-method-documentation): Use it as well as cl--generic-method-info. + Change format of return value. + (eieio-help-class): Adapt accordingly. + + * emacs-lisp/eieio-compat.el (eieio--defmethod): Avoid no-next-method + errors when there's a `before' but no `primary' (bug#19645). + (next-method-p): Return nil rather than signal an error. + (eieio-defgeneric): Remove bogus (fboundp 'method). + + * emacs-lisp/eieio-speedbar.el: + * emacs-lisp/eieio-datadebug.el: + * emacs-lisp/eieio-custom.el: + * emacs-lisp/eieio-base.el: Use cl-defmethod. + + * emacs-lisp/cl-generic.el (cl-defgeneric): Add support for `declare'. + (cl--generic-setf-rewrite): Setup the setf expander right away. + (cl-defmethod): Make sure the setf expander is setup before we expand + the body. + (cl-defmethod): Silence byte-compiler warnings. + (cl-generic-define-method): Shuffle code to change return value. + (cl--generic-method-info): New function, extracted from + cl--generic-describe. + (cl--generic-describe): Use it. + +2015-01-21 Dmitry Gutov + + * progmodes/xref.el (xref--xref-buffer-mode-map): Define before + the major mode. Remap `quit-window' to `xref-quit'. + (xref--xref-buffer-mode): Inherit from special-mode. + + xref: Keep track of temporary buffers (bug#19466). + * progmodes/xref.el (xref--temporary-buffers, xref--selected) + (xref--inhibit-mark-selected): New variables. + (xref--mark-selected): New function. + (xref--show-location): Maybe add the buffer to + `xref--temporary-buffers', add `xref--mark-selected' to + `buffer-list-update-hook' there. + (xref--window): Add docstring. + (xref-quit): Rename from `xref--quit'. Update both references. + Add KILL argument. When it's non-nil, kill the temporary buffers + that haven't been selected by the user. + (xref--show-xref-buffer): Change the second argument to alist, + extract the values for `xref--window' and + `xref--temporary-buffers' from it. Add `xref--mark-selected' to + `buffer-list-update-hook' to each buffer in the list. + (xref--show-xrefs): Move the logic of calling `xref-find-function' + here. Save the difference between buffer lists before and after + it's called as "temporary buffers", and `pass it to + `xref-show-xrefs-function'. + (xref--find-definitions, xref-find-references) + (xref-find-apropos): Update accordingly. + +2015-01-20 Artur Malabarba + + * emacs-lisp/package.el (package-dir-info): Fix `while' logic. + +2015-01-20 Stefan Monnier + + * emacs-lisp/eieio-generic.el: Remove. + (defgeneric, defmethod): Move to eieio-compat.el. Mark obsolete. + * emacs-lisp/eieio-compat.el: New file. + * emacs-lisp/eieio.el: Don't require eieio-generic any more. + * emacs-lisp/eieio-core.el (eieio--slot-originating-class-p): + Remove unused function. + (eieio-defclass): Move to eieio-compat.el. + * emacs-lisp/macroexp.el (macroexp-macroexpand): New function. + (macroexp--expand-all): Use it. + * emacs-lisp/bytecomp.el (byte-compile-recurse-toplevel): Here too. + +2015-01-20 Michal Nazarewicz + + * emacs-lisp/eldoc.el (eldoc-documentation-function): Describe how + major modes should use `add-function' to alter value of the variable. + * hexl.el (hexl-mode): + * ielm.el (inferior-emacs-lisp-mode): + * progmodes/cfengine.el (cfengine3-mode): + * progmodes/elisp-mode (emacs-lisp-mode): + * progmodes/octave.el (octave-mode): + * progmodes/python.el (python-mode): + * simple.el (read--expression): Set `eldoc-documentation-function' + using `add-function' so the default value is always used. + + * descr-text.el (describe-char-eldoc): New function returning + basic Unicode codepoint information (e.g. name) about character + at point. It is meant to be used as a default value of the + `eldoc-documentation-function' variable. + (describe-char-eldoc--format, describe-char-eldoc--truncate): + New helper functions for `describe-char-eldoc' function. + +2015-01-20 Michal Nazarewicz + + * textmodes/paragraphs.el (sentence-end-base): Include an + ellipsis (…) and interrobang (‽) characters as end of a sentence, + and a closing single quote (’) as an end of a quote. + +2015-01-20 Michal Nazarewicz + + * textmodes/tildify.el (tildify-double-space-undos): A new + variable specifying whether pressing space in `tildify-mode' after + a space has been replaced with hard space undos the substitution. + (tildify-space): Add code branch for handling `tildify-doule-space'. + + * textmodes/tildify.el (tildify-space): A new function + which can be used as a `post-self-insert-hook' to automatically + convert spaces into hard spaces. + (tildify-space-pattern): A new variable specifying pattern where + `tildify-space' should take effect. + (tildify-space-predicates): A new variable specifying list of + predicate functions that all must return non-nil for + `tildify-space' to take effect. + (tildify-space-region-predicate): A new functions meant to be + used as a predicate in `tildify-space-predicates' list. + (tildify-mode): A new minor mode enabling `tildify-space' as a + `post-self-insert-hook' + +2015-01-20 Daniel Colascione + + * vc/vc-dir.el (vc-dir): Default to repository root, not + default-directory. + +2015-01-20 Dmitry Gutov + + * progmodes/etags.el (xref-etags-location): New class. + (xref-make-etags-location): New function. + (etags--xref-find-definitions): Use it. + (xref-location-marker): New method implementation. + + * progmodes/xref.el: Mention that xref-location is an EIEIO class. + (xref--insert-xrefs): Expand help-echo string. + +2015-01-19 Dmitry Gutov + + * ido.el: Update Customization instructions. + +2015-01-19 Jonas Bernoulli + + Define Ido keymaps once (bug#17000). + * ido.el (ido-common-completion-map) + (ido-file-dir-completion-map) + (ido-file-completion-map, ido-buffer-completion-map): Set up key + bindings when each variable is defined. + (ido-completion-map): Move definition. + (ido-init-completion-maps): Noop. + (ido-common-initialization): Don't call it. + (ido-setup-completion-map): Improve doc-string, cleanup. + +2015-01-19 Ivan Shmakov + + * cus-dep.el (custom-make-dependencies): Ensure that + default-directory is interpreted as a directory (see bug#19140.) + +2015-01-19 Dmitry Gutov + + * progmodes/xref.el (xref--display-position): + Set `other-window-scroll-buffer'. + (xref-goto-xref): Use `user-error'. + +2015-01-19 Dmitry Gutov + + * progmodes/xref.el (xref--display-history): New variable. + (xref--window-configuration): Remove. + (xref--save-to-history): New function. + (xref--display-position): Use it. Add new argument. + (xref--restore-window-configuration): Remove. + (xref--show-location, xref-show-location-at-point): + Update accordingly. + (xref--xref-buffer-mode): Don't use `pre-command-hook'. + (xref--quit): New command. + (xref-goto-xref): Use it. + (xref--xref-buffer-mode-map): Bind `q' to it. + +2015-01-18 Dmitry Gutov + + * progmodes/xref.el (xref-goto-xref): Perform the jump even inside + indentation or at eol. + +2015-01-18 Stefan Monnier + + * emacs-lisp/eieio-core.el: Add `subclass' specializer for cl-generic. + (eieio--generic-subclass-tagcode, eieio--generic-subclass-tag-types): + New functions. + (cl-generic-tagcode-function, cl-generic-tag-types-function): Use them. + + * emacs-lisp/eieio.el (defclass): Add obsolescence warning for the + `newname' argument. + + * emacs-lisp/cl-generic.el (cl-generic-define-method): Correctly handle + introduction of a new dispatch argument. + (cl--generic-cache-miss): Handle dispatch on an argument which was not + considered as dispatchable for this method. + (cl-defmethod): Warn when adding a method to an obsolete generic function. + (cl--generic-lambda): Make sure it works if cl-lib is not yet loaded. + + * emacs-lisp/eieio-generic.el (eieio--defgeneric-init-form): Use autoloadp. + +2015-01-18 Artur Malabarba + + * emacs-lisp/package.el (package--append-to-alist): Rename from + `package--add-to-alist' + Updated docstring due to new name. + +2015-01-18 Leo Liu + + * emacs-lisp/cl-extra.el (cl-subseq): Use seq-subseq and fix + multiple evaluation. (Bug#19519) + + * emacs-lisp/seq.el (seq-subseq): Throw bad bounding indices + error. (Bug#19434) + +2015-01-18 Stefan Monnier + + * emacs-lisp/eieio-core.el: Add `subclass' specializer for cl-generic. + (eieio--generic-subclass-tagcode, eieio--generic-subclass-tag-types): + New functions. + (cl-generic-tagcode-function, cl-generic-tag-types-function): Use them. + + * emacs-lisp/cl-macs.el (cl-defstruct): Minor optimization when include + or print is nil. + (cl-struct-type-p): New function. + + * emacs-lisp/cl-generic.el: Add support for cl-next-method-p. + (cl-defmethod): Add edebug spec. + (cl--generic-build-combined-method): Fix call to + cl-no-applicable-method. + (cl--generic-nnm-sample, cl--generic-cnm-sample): New constant. + (cl--generic-isnot-nnm-p): New function. + (cl--generic-lambda): Use it to add support for cl-next-method-p. + (cl-no-next-method, cl-no-applicable-method): Simplify arg list. + (cl-next-method-p): New function. + +2015-01-17 Ulrich Müller + + * version.el (emacs-repository-get-version): Update docstring. + +2015-01-17 Ivan Shmakov + + * url/url-cookie.el (url-cookie-write-file): Let-bind print-length + and print-level to nil to avoid writing a garbled list. (Bug#16805) + + * files.el (find-file-other-window, find-file-other-frame): + Use mapc instead of mapcar. (Bug#18175) + + * files.el (dir-locals-collect-variables): Use default-directory + in place of the file name while working on non-file buffers, just + like hack-dir-local-variables already does. (Bug#19140) + + * textmodes/enriched.el (enriched-encode): + Use inhibit-point-motion-hooks in addition to inhibit-read-only. + (Bug#18246) + + * desktop.el (desktop-read): Do not call desktop-clear when no + desktop file is found. (Bug#18371) + + * misearch.el (multi-isearch-unload-function): New function. + (misearch-unload-function): New alias. (Bug#19566) + +2015-01-17 Stefan Monnier + + * emacs-lisp/eieio-core.el (eieio--class-constructor): Rename from + class-constructor, and make it an alias for `identity'. + Update all callers. + + * emacs-lisp/eieio.el (eieio-constructor): Handle obsolete object name + argument here (bug#19620)... + (defclass): ...instead of in the constructor here. + +2015-01-16 Jorgen Schaefer + + * emacs-lisp/package.el (package-archive-priorities): + Specify correct type. + +2015-01-17 Ulrich Müller + + * version.el (emacs-bzr-version-dirstate, emacs-bzr-version-bzr): + Remove. + (emacs-repository-get-version): Discard the Bazaar case. + * vc/vc-bzr.el (vc-bzr-version-dirstate): Rename from + emacs-bzr-version-dirstate and move from version.el to here. + (vc-bzr-working-revision): Use it. + +2015-01-17 Stefan Monnier + + * emacs-lisp/eieio-generic.el (call-next-method): Don't bother checking + eieio--scoped-class any more. + + * emacs-lisp/eieio-core.el (eieio--scoped-class-stack): Remove var. + (eieio--scoped-class): Remove function. + (eieio--with-scoped-class): Remove macro. Replace uses with `progn'. + (eieio--slot-name-index): Don't check the :protection anymore. + (eieio-initializing-object): Remove var. + (eieio-set-defaults): Don't let-bind eieio-initializing-object. + +2015-01-17 Stefan Monnier + + Improve handling of doc-strings and describe-function for cl-generic. + + * help-mode.el (help-function-def): Add optional arg `type'. + + * help-fns.el (find-lisp-object-file-name): Accept any `type' as long + as it's a symbol. + (help-fns-short-filename): New function. + (describe-function-1): Use it. Use autoload-do-load. + + * emacs-lisp/find-func.el: Use lexical-binding. + (find-function-regexp): Don't rule out `defgeneric'. + (find-function-regexp-alist): Document new possibility of including + a function instead of a regexp. + (find-function-search-for-symbol): Implement that new possibility. + (find-function-library): Don't assume that `function' is a symbol. + (find-function-do-it): Remove unused var `orig-buf'. + + * emacs-lisp/eieio-generic.el (eieio--defalias): Move from eieio-core. + (eieio--defgeneric-init-form): Don't throw away a previous docstring. + (eieio--method-optimize-primary): Don't mess with the docstring. + (defgeneric): Keep the `args' in the docstring. + (defmethod): Don't use the method's docstring for the generic + function's docstring. + + * emacs-lisp/eieio-core.el (eieio--defalias): Move to eieio-generic.el. + (eieio-defclass-autoload): Don't record the superclasses any more. + (eieio-defclass-internal): Reuse the old class object if it was just an + autoload stub. + (eieio--class-precedence-list): Load the class if it's autoloaded. + + * emacs-lisp/cl-generic.el (cl-generic-ensure-function): It's OK to + override an autoload. + (cl-generic-current-method-specializers): Replace dyn-bind variable + with a lexically-scoped macro. + (cl--generic-lambda): Update accordingly. + (cl-generic-define-method): Record manually in the load-history with + type `cl-defmethod'. + (cl--generic-get-dispatcher): Minor optimization. + (cl--generic-search-method): New function. + (find-function-regexp-alist): Add entry for `cl-defmethod' type. + (cl--generic-search-method): Add hyperlinks for methods. Merge the + specializers and the function's arguments. + +2015-01-16 Artur Malabarba + + * emacs-lisp/package.el (package--read-pkg-desc): + New function. Read a `define-package' form in current buffer. + Return the pkg-desc, with desc-kind set to KIND. + (package-dir-info): New function. Find package information for a + directory. The return result is a `package-desc'. + (package-install-from-buffer): Install packages from dired buffer. + (package-install-file): Install packages from directory. + (package-desc-suffix) + (package-install-from-archive) + * emacs-lisp/package-x.el (package-upload-buffer-internal): + Ensure all remaining instances of `package-desc-kind' handle the 'dir + value. + +2015-01-16 Jorgen Schaefer + + * emacs-lisp/package.el: Provide repository priorities. + (package-archive-priorities): New variable. + (package--add-to-alist): New function. + (package--add-to-archive-contents): Use it. + (package-menu--find-upgrades): Use it as well. Small clean up to + make the use of the package name here explicit. + (package-archive-priority): New function. + (package-desc-priority-version): New function. + +2015-01-16 Daniel Colascione + + * cus-start.el (all): Make `ring-bell-function' customizable. + +2015-01-16 Dmitry Gutov + + * vc/vc-svn.el (vc-svn-dir-status-files): Pass t as + vc-svn-after-dir-status's second argument. (Bug#19429) + +2015-01-16 Samer Masterson (tiny change) + + * pcomplete.el (pcomplete-parse-arguments): Parse arguments + regardless of pcomplete-cycle-completions's value. (Bug#18950) + +2015-01-16 Lars Magne Ingebrigtsen + + * dom.el (dom-strings): New function. + + * files.el (directory-files-recursively): Don't use the word + "path" for a file name. + +2015-01-15 Wolfgang Jenkner + + * calc/calc-units.el (math-units-in-expr-p) + (math-single-units-in-expr-p, math-find-compatible-unit-rec) + (math-extract-units): Handle the `neg' operator. (Bug#19582) + +2015-01-15 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl--labels-magic): New constant. + (cl--labels-convert): Use it to ask the macro what is its replacement + in the #'f case. + + * emacs-lisp/cl-generic.el (cl--generic-build-combined-method): + Return the value of the primary rather than the after method. + + * emacs-lisp/eieio-core.el: Provide support for cl-generic. + (eieio--generic-tagcode): New function. + (cl-generic-tagcode-function): Use it. + (eieio--generic-tag-types): New function. + (cl-generic-tag-types-function): Use it. + (eieio-object-p): Tighten up the test. + + * emacs-lisp/cl-generic.el (cl-generic-define-method): Fix paren typo. + +2015-01-14 Stefan Monnier + + * emacs-lisp/cl-generic.el: New file. + + * emacs-lisp/cl-macs.el (cl-flet): Allow (FUN EXP) forms. + (cl-load-time-value, cl-labels): Use closures rather than + backquoted lambdas. + (cl-macrolet): Use `eval' to create the function value, and support CL + style arguments in for the defined macros. + +2015-01-14 Stefan Monnier + + * net/eww.el: Use lexical-binding. + (eww-links-at-point): Remove unused arg. + (eww-mode-map): Inherit from special-mode-map. + (eww-mode): Derive from special-mode. Don't use `setq' on a hook. + +2015-01-13 Alan Mackenzie + + Allow compilation during loading of CC Mode-derived modes (bug#19206). + * progmodes/cc-bytecomp.el (cc-bytecomp-compiling-or-loading): + New function which walks the stack to discover whether we're compiling + or loading. + (cc-bytecomp-is-compiling): Reformulate, and move towards beginning. + (cc-bytecomp-is-loading): New defsubst. + (cc-bytecomp-setup-environment, cc-bytecomp-restore-environment): + Use the above defsubsts. + (cc-require-when-compile, cc-bytecomp-defvar) + (cc-bytecomp-defun): Simplify conditionals. + * progmodes/cc-defs.el (cc-bytecomp-compiling-or-loading): + "Borrow" this function from cc-bytecomp.el. + (c-get-current-file): Reformulate using the above. + (c-lang-defconst): Prevent duplicate entries of file names in a + symbol's 'source property. + (c-lang-const): Use cc-bytecomp-is-compiling. + * progmodes/cc-langs.el (c-make-init-lang-vars-fun): + Use cc-bytecomp-is-compiling. + +2015-01-13 Stefan Monnier + + * emacs-lisp/eieio-core.el (eieio-defclass): Fix call to `defclass' + (bug#19552). + +2015-01-13 Dmitry Gutov + + * menu-bar.el (menu-bar-goto-menu): Before calling + `xref-marker-stack-empty-p', first check that `xref' is loaded. + (Bug#19554) + +2015-01-12 Martin Rudalics + + * progmodes/xref.el (xref-marker-stack-empty-p): Add autoload + cookie (Bug#19554). + + * frame.el (frame-notice-user-settings): Remove code dealing with + frame-initial-frame-tool-bar-height. Turn off `tool-bar-mode' + only if `window-system-frame-alist' or `default-frame-alist' ask + for it. + (make-frame): Update frame-adjust-size-history if needed. + +2015-01-12 Paul Eggert + + Have 'make' output better GEN names + * Makefile.in (PHONY_EXTRAS): New macro. + (.PHONY): Depend on it, and on $(lisp)/loaddefs.el, so that the + relevant files' time stamps are ignored. + (custom-deps, $(lisp)/cus-load.el, finder-data) + ($(lisp)/finder-inf.el): Use PHONY_EXTRAS. + (custom-deps, $(lisp)/cus-load.el, finder-data) + ($(lisp)/finder-inf.el, autoloads, $(lisp)/loaddefs.el) + ($(lisp)/subdirs.el, update-subdirs): + Output more-accurate destination names with GEN. + + Say "ELC foo.elc" instead of "GEN foo.elc" + * Makefile.in (AM_V_ELC, am__v_ELC_, am__v_ELC_0, am__v_ELC_1): + New macros. + ($(THEFILE)c, .el.elc): Use them. + +2015-01-11 Michael Albinus + + * files.el (directory-files-recursively): Do not include + superfluous remote file names. + +2015-01-11 Lars Magne Ingebrigtsen + + * net/eww.el (eww): Interpret anything that looks like a protocol + designator as a full URL. + +2015-01-10 Lars Magne Ingebrigtsen + + * net/shr.el (shr-urlify): Don't bother the user about + invalidly-encoded display strings. + +2015-01-10 Ivan Shmakov + + * net/shr.el (shr-urlify): Decode URLs before using them as titles + (bug#19555). + +2015-01-10 Lars Magne Ingebrigtsen + + * net/eww.el (eww): Always interpret URLs that start with https?: + as plain URLs, even if they have spaces in them (bug#19556). + (eww): Also interpret things like "en.wikipedia.org/wiki/Free + software" as an URL. + (eww): Don't interpret "org/foo" as an URL. + (eww): Clear the title when loading so that we don't display + misleading information. + +2015-01-10 Daniel Colascione + + * vc/vc-hooks.el (vc-prefix-map): Bind vc-delete-file to C-x v x, + by analogy with dired. + +2015-01-09 Daniel Colascione + + * progmodes/js.el (js--function-heading-1-re) + (js--function-prologue-beginning): Parse ES6 generator function + declarations. (That is, "function* name()"). + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (defclass): Move from eieio-defclass all the code + that creates functions, and most of the sanity checks. + Mark as obsolete the -child-p function. + * emacs-lisp/eieio-core.el (eieio--define-field-accessors): Remove. + (eieio--class, eieio--object): Use cl-defstruct. + (eieio--object-num-slots): Define manually. + (eieio-defclass-autoload): Use eieio--class-make. + (eieio-defclass-internal): Rename from eieio-defclass. Move all the + `(lambda...) definitions and most of the sanity checks to `defclass'. + Mark as obsolete the -list-p function, the variable and + the variables. Use pcase-dolist. + (eieio-defclass): New compatibility function. + * emacs-lisp/eieio-opt.el (eieio-build-class-alist) + (eieio-class-speedbar): Don't use eieio-default-superclass var. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio-generic.el: New file. + * emacs-lisp/eieio-core.el: Move all generic function code to + eieio-generic.el. + (eieio--defmethod): Declare. + + * emacs-lisp/eieio.el: Require eieio-generic. Move all generic + function code to eieio-generic.el. + * emacs-lisp/eieio-opt.el (eieio-help-generic): Move to + eieio-generic.el. + * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): Update call + to eieio--generic-call. + * emacs-lisp/eieio-base.el (eieio-instance-inheritor): Don't use + -child type. + +2015-01-08 Stefan Monnier + + * emacs-lisp/chart.el (chart-add-sequence, chart-bar-quickie): + Don't use as a variable. + + * emacs-lisp/eieio.el (same-class-p): Accept class object as well. + (call-next-method): Simplify. + (clone): Obey eieio-backward-compatibility. + + * emacs-lisp/eieio-opt.el (eieio-read-generic-p): Remove. + (eieio-read-generic): Use `generic-p' instead. + + * emacs-lisp/eieio-core.el (eieio-backward-compatibility): New var. + (eieio-defclass-autoload): Obey it. + (eieio--class-object): Improve error behavior. + (eieio-class-children-fast, same-class-fast-p): Remove. Inline at + every use site. + (eieio--defgeneric-form-primary-only): Rename from + eieio-defgeneric-form-primary-only; update all callers. + (eieio--defgeneric-form-primary-only-one): Rename from + eieio-defgeneric-form-primary-only-one; update all callers. + (eieio-defgeneric-reset-generic-form) + (eieio-defgeneric-reset-generic-form-primary-only) + (eieio-defgeneric-reset-generic-form-primary-only-one): Remove. + (eieio--method-optimize-primary): New function to replace them. + (eieio--defmethod, eieio-defmethod): Use it. + (eieio--perform-slot-validation): Rename from + eieio-perform-slot-validation; update all callers. + (eieio--validate-slot-value): Rename from eieio-validate-slot-value. + Change `class' to be a class object. Update all callers. + (eieio--validate-class-slot-value): Rename from + eieio-validate-class-slot-value. Change `class' to be a class object. + Update all callers. + (eieio-oset-default): Accept class object as well. + (eieio--generic-call-primary-only): Rename from + eieio-generic-call-primary-only. Update all callers. + + * emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): + Improve error messages. + (eieio-persistent-slot-type-is-class-p): Handle `list-of' types, as + well as user-defined types. Emit errors for legacy types like + -child and -list, if not eieio-backward-compatibility. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (eieio-class-parents): Accept class objects. + (eieio--class-slot-initarg): Rename from class-slot-initarg. + Change `class' arg to be a class object. Update all callers. + (call-next-method): Adjust to new return value of `eieio-generic-form'. + (eieio-default-superclass): Set var to the class object. + (eieio-edebug-prin1-to-string): Fix recursive call for lists. + Change print behavior to affect class objects rather than + class symbols. + + * emacs-lisp/eieio-core.el (eieio-class-object): New function. + (eieio-class-parents-fast): Remove macro. + (eieio--class-option-assoc): Rename from class-option-assoc. + Update all callers. + (eieio--class-option): Rename from class-option. Change `class' arg to + be a class object. Update all callers. + (eieio--class-method-invocation-order): Rename from + class-method-invocation-order. Change `class' arg to be a class + object. Update all callers. + (eieio-defclass-autoload, eieio-defclass): Set the `parent' field to + a list of class objects rather than names. + (eieio-defclass): Remove redundant quotes. Use `eieio-oref-default' + for accessors to class allocated slots. + (eieio--perform-slot-validation-for-default): Rename from + eieio-perform-slot-validation-for-default. Update all callers. + (eieio--add-new-slot): Rename from eieio-add-new-slot. + Update all callers. Use push. + (eieio-copy-parents-into-subclass): Adjust to new content of + `parent' field. Use dolist. + (eieio-oref): Remove support for providing a class rather than + an object. + (eieio-oref-default): Prefer class objects over class names. + (eieio--slot-originating-class-p): Rename from + eieio-slot-originating-class-p. Update all callers. Use `or'. + (eieio--slot-name-index): Turn check into assertion. + (eieio--class-slot-name-index): Rename from + eieio-class-slot-name-index. Change `class' arg to be a class object. + Update all callers. + (eieio-attribute-to-initarg): Move to eieio-test-persist.el. + (eieio--c3-candidate): Rename from eieio-c3-candidate. + Update all callers. + (eieio--c3-merge-lists): Rename from eieio-c3-merge-lists. + Update all callers. + (eieio--class-precedence-c3): Rename from eieio-class-precedence-c3. + Update all callers. + (eieio--class-precedence-dfs): Rename from eieio-class-precedence-dfs. + Update all callers. + (eieio--class-precedence-bfs): Rename from eieio-class-precedence-bfs. + Update all callers. Adjust to new `parent' content. + (eieio--class-precedence-list): Rename from -class-precedence-list. + Update all callers. + (eieio-generic-call): Use autoloadp and autoload-do-load. + Slight simplification. + (eieio-generic-call, eieio-generic-call-primary-only): Adjust to new + return value of `eieio-generic-form'. + (eieiomt-add): Index the hashtable with class objects rather than + class names. + (eieio-generic-form): Accept class objects as well. + + * emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object): + Adjust to new convention for eieio-persistent-validate/fix-slot-value. + (eieio-persistent-validate/fix-slot-value): + Change `class' arg to be a class object. Update all callers. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (child-of-class-p): Make it accept class objects + additionally to class names. + + * emacs-lisp/eieio-core.el (eieio--with-scoped-class): Use let-binding. + (object): Remove first (constant) slot; rename second to `class-tag'. + (eieio--object-class-object, eieio--object-class-name): New funs + to replace eieio--object-class. + (eieio--class-object, eieio--class-p): New functions. + (same-class-fast-p): Make it a defsubst, change its implementation + to check the class objects rather than their names. + (eieio-object-p): Rewrite. + (eieio-defclass): Adjust the object initialization according to the new + object layout. + (eieio--scoped-class): Declare it returns a class object (not a class + name any more). Adjust calls accordingly (along with calls to + eieio--with-scoped-class). + (eieio--slot-name-index): Rename from eieio-slot-name-index and change + its class arg to be a class object. Adjust callers accordingly. + (eieio-slot-originating-class-p): Make its start-class arg a class + object. Adjust all callers. + (eieio--initarg-to-attribute): Rename from eieio-initarg-to-attribute. + Make its `class' arg a class object. Adjust all callers. + + * emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): + Use eieio--slot-name-index rather than eieio-slot-name-index. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (make-instance): Simplify by not adding an object + name argument. + (eieio-object-name): Use eieio-object-name-string. + (eieio--object-names): New const. + (eieio-object-name-string, eieio-object-set-name-string): Re-implement + using a hashtable rather than a built-in slot. + (eieio-constructor): Rename from `constructor'. Remove `newname' arg. + (clone): Don't mess with the object's "name". + + * emacs-lisp/eieio-custom.el (eieio-widget-test): Remove dummy arg. + (eieio-object-value-get): Use eieio-object-set-name-string. + + * emacs-lisp/eieio-core.el (eieio--defalias): Follow aliases. + (eieio--object): Remove `name' field. + (eieio-defclass): Adjust to new convention where constructors don't + take an "object name" any more. + (eieio--defgeneric-init-form, eieio--defmethod): Follow aliases. + (eieio-validate-slot-value, eieio-oset-default) + (eieio-slot-name-index): Don't hardcode eieio--object-num-slots. + (eieio-generic-call-primary-only): Simplify. + + * emacs-lisp/eieio-base.el (clone) : + Use call-next-method. + (eieio-constructor): Rename from `constructor'. + (eieio-persistent-convert-list-to-object): Drop objname. + (eieio-persistent-validate/fix-slot-value): Don't hardcode + eieio--object-num-slots. + (eieio-named): Use a normal slot. + (slot-missing) : Remove. + (eieio-object-name-string, eieio-object-set-name-string, clone) + : New methods. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v. + (method-*): Add a "eieio--" prefix to those constants. + + * emacs-lisp/eieio.el: Move edebug specs to the corresponding macro. + + * emacs-lisp/eieio-speedbar.el: Use lexical-binding. + +2015-01-08 Stefan Monnier + + * emacs-lisp/eieio.el (child-of-class-p): Fix case where `class' is + `eieio-default-superclass'. + + * emacs-lisp/eieio-datadebug.el: Use lexical-binding. + + * emacs-lisp/eieio-custom.el: Use lexical-binding. + (eieio-object-value-to-abstract): Simplify. + + * emacs-lisp/eieio-opt.el (eieio-build-class-list): Use cl-mapcan. + (eieio-build-class-alist): Use dolist. + (eieio-all-generic-functions): Adjust to use of hashtables. + + * emacs-lisp/eieio-core.el (class): Rename field symbol-obarray to + symbol-hashtable. It contains a hashtable instead of an obarray. + (generic-p): Use symbol property `eieio-method-hashtable' instead of + `eieio-method-obarray'. + (generic-primary-only-p, generic-primary-only-one-p): + Slight optimization. + (eieio-defclass-autoload-map): Use a hashtable instead of an obarray. + (eieio-defclass-autoload, eieio-defclass): Adjust/simplify accordingly. + (eieio-class-un-autoload): Use autoload-do-load. + (eieio-defclass): Use dolist, cl-pushnew, cl-callf. + Use new cl-deftype-satisfies. Adjust to use of hashtables. + Don't hardcode the value of eieio--object-num-slots. + (eieio-defgeneric-form-primary-only-one): Remove `doc-string' arg. + Use a closure rather than a backquoted lambda. + (eieio--defmethod): Adjust call accordingly. Set doc-string via the + function-documentation property. + (eieio-slot-originating-class-p, eieio-slot-name-index) + (eieiomt--optimizing-hashtable, eieiomt-install, eieiomt-add) + (eieio-generic-form): Adjust to use of hashtables. + (eieiomt--sym-optimize): Rename from eieiomt-sym-optimize; take + additional class argument. + (eieio-generic-call-methodname): Remove, unused. + + * emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p): + Prefer \' to $. + +2015-01-08 Eli Zaretskii + + * simple.el (line-move-visual): When converting X pixel coordinate + to temporary-goal-column, adjust the value for right-to-left + screen lines. This fixes vertical-motion, next/prev-line, etc. + +2015-01-08 Glenn Morris + + * files.el (file-tree-walk): Remove; of unknown authorship. (Bug#19325) + +2015-01-07 K. Handa + + * international/ccl.el (define-ccl-program): Improve the docstring. + +2015-01-06 Sam Steingold + + * shell.el (shell-display-buffer-actions): Remove, + use `display-buffer-alist' instead. + +2015-01-05 Dmitry Gutov + + * progmodes/xref.el (xref--insert-xrefs): Add `help-echo' property + to the references. + +2015-01-05 Stefan Monnier + + * minibuffer.el (completion-category-defaults): New var. + Set unicode-name to use substring completion. + (completion-category-defaults): Set it to nil. + +2015-01-04 Dmitry Gutov + + Add mouse interaction to xref. + * progmodes/xref.el (xref--button-map): New variable. + (xref--mouse-2): New command. + (xref--insert-xrefs): Add `mouse-face' and `keymap' properties to + the inserted references. + +2015-01-04 Paul Eggert + + Less 'make' chatter for lisp dir + * Makefile.in (THEFILE): Define to be 'no-such-file' by default, + to make it clearer that the caller must specify it. + (compile-onefile): Remove, replacing by ... + ($(THEFILE)c): ... new rule. This lets us use AM_V_GEN here. + ($(THEFILE)c, .el.elc, $(MH_E_DIR)/mh-loaddefs.el) + ($(TRAMP_DIR)/tramp-loaddefs.el, $(CAL_DIR)/cal-loaddefs.el) + ($(CAL_DIR)/diary-loaddefs.el, $(CAL_DIR)/hol-loaddefs.el): + Use AM_V_GEN to lessen 'make' chatter. + (.el.elc): Omit duplicate comment. + + Less 'make' chatter in batch mode + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): + * emacs-lisp/bytecomp.el (byte-compile-file): + * files.el (save-buffer, basic-save-buffer): + * international/quail.el (quail-update-leim-list-file): + Don't output messages like "Generating ..." in batch mode. + +2015-01-04 Dmitry Gutov + + Unbreak `mouse-action' property in text buttons. + * button.el (push-button): Fix regression from 2012-12-06. + +2015-01-03 Dmitry Gutov + + * progmodes/xref.el (xref-marker-stack-empty-p): New function. + + * menu-bar.el (menu-bar-goto-menu): Use it. + +2015-01-03 Dmitry Gutov + + * progmodes/xref.el (xref--window-configuration): New variable. + (xref-show-location-at-point): New command. + (xref--restore-window-configuration): New function. + (xref-next-line, xref-prev-line): Delegate to + `xref-show-location-at-point'. + (xref--location-at-point): Don't signal the error. + (xref-goto-xref): Do that here instead. + (xref--xref-buffer-mode): Add `xref--restore-window-configuration' + to `pre-command-hook'. + (xref--xref-buffer-mode-map): Don't remap `next-line' and + `previous-line'. Additionally bind `xref-next-line' and + `xref-prev-line' to `n' and `p' respectively. + Bind `xref-show-location-at-point' to `C-o'. + +2015-01-01 Eli Zaretskii + + * tool-bar.el (tool-bar-local-item) + (tool-bar-local-item-from-menu): Call force-mode-line-update to + make sure the tool-bar changes show on display. + +2015-01-01 Michael Albinus + + Sync with Tramp 2.2.11. + + * net/tramp-compat.el (top): Require cl-macs for Emacs 22. + Make an alias for `default-toplevel-value' if it doesn't exist. + + * net/tramp-smb.el (tramp-smb-handle-copy-directory): + Use `tramp-compat-delete-directory'. + + * net/trampver.el: Update release number. + +2015-01-01 Filipp Gunbin + + * autorevert.el (auto-revert-handler): Fix auto-revert-tail-mode + for remote files. (Bug#19449) + +2015-01-01 Simen Heggestøyl (tiny change) + + * textmodes/css-mode.el (scss-mode): Fix typo (bug#19446). + +2014-12-31 Paul Eggert + + Less 'make' chatter in lisp directory + * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_) + (am__v_GEN_0, am__v_GEN_1): New macros, from ../src/Makefile.in. + (custom-deps, finder-data, autoloads, update-subdirs): Use them. + +2014-12-31 Filipp Gunbin + + * info.el (info-display-manual): Limit the completion alternatives + to currently visited manuals if prefix argument is non-nil. + +2014-12-30 Paul Eggert + + * Makefile.in (semantic): Simplify. + +2014-12-30 Juri Linkov + + * net/eww.el (eww-isearch-next-buffer): New function. + (eww-mode): Set multi-isearch-next-buffer-function to it. + +2014-12-30 Dmitry Gutov + + * progmodes/xref.el (xref-find-definitions): Mention "no + identifier at point" case in the docstring. + + * menu-bar.el (menu-bar-goto-uses-etags-p): New function. + (menu-bar-goto-menu): Use it to show or hide the `set-tags-name' + and `separator-tag-file' items. + +2014-12-29 Paul Eggert + + * obsolete/pc-select.el (pc-selection-mode): Use system-type. + This is instead of system-name, which is both wrong here and obsolete. + * desktop.el (desktop-save-frameset): + * dnd.el (dnd-get-local-file-uri): + * nxml/rng-uri.el (rng-uri-file-name-1): + Prefer (system-name) to system-name, and avoid naming + locals 'system-name'. + * startup.el (system-name): Now an obsolete variable. (Bug#19438) + +2014-12-29 Dmitry Gutov + + * menu-bar.el (menu-bar-next-tag-other-window) + (menu-bar-next-tag): Remove. + +2014-12-29 K. Handa + + * international/mule.el (make-translation-table-from-alist): + Accept nil or zero-length vector for FROM and TO. + +2014-12-29 Lars Ingebrigtsen + + * net/eww.el (eww-mode): Truncate overlong lines for prettier + display when resizing. + + * net/shr.el (shr-width): Default to using the window width when + rendering. + +2014-12-29 Dmitry Gutov + + Unbreak jumping to an alias's definition. + * emacs-lisp/find-func.el (find-function-library): Return a pair + (ORIG-FUNCTION . LIBRARY) instead of just its second element. + (find-function-noselect): Use it. + * progmodes/elisp-mode.el (elisp--xref-identifier-file): Rename to + `elisp--xref-identifier-location', incorporate logic from + `elisp--xref-find-definitions', use the changed + `find-function-library' return value. + +2014-12-29 Juri Linkov + + * comint.el (comint-history-isearch-message): Use field-beginning + instead of comint-line-beginning-position - that's more fixes for + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html + (comint-history-isearch-message): Fix args of isearch-message-prefix. + +2014-12-29 Juri Linkov + + * vc/vc-dir.el (vc-dir-display-file): New command (bug#19450). + (vc-dir-mode-map): Bind it to "\C-o". + (vc-dir-menu-map): Add it to menu. + +2014-12-29 Dmitry Gutov + + * progmodes/etags.el (find-tag-other-window) + (find-tag-other-frame, find-tag-regexp, tags-loop-continue) + (tags-apropos): Declare obsolete. + + * menu-bar.el (menu-bar-goto-menu): Replace all but one etags item + with xref ones. + +2014-12-28 Eli Zaretskii + + * international/mule.el (define-coding-system): Fix typos in the + doc string. + +2014-12-28 Kenichi Handa + + * international/mule.el (define-coding-system): Improve the doc + string. + +2014-12-28 Ivan Shmakov + + * net/shr.el (shr-tag-table): Fix handling of tbody/header/footer + elements in tables (bug#19444). + + * net/eww.el (eww-handle-link): Fix typo in "up" rel handling + (bug#19445). + +2014-12-28 Juri Linkov + + * vc/compare-w.el: Require diff-mode for diff faces. + (compare-windows-removed, compare-windows-added): New faces + inheriting from diff faces. + (compare-windows): Define obsolete face alias. + (compare-windows-highlight): Replace face `compare-windows' with + new faces `compare-windows-added' and `compare-windows-removed' + (bug#19451). + (compare-windows-get-recent-window): Signal an error when + no other window is found (bug#19170). + +2014-12-27 Dmitry Gutov + + * progmodes/elisp-mode.el (elisp--xref-identifier-file): + Skip features that have no sources. + + * simple.el (execute-extended-command): + When `suggest-key-bindings' is nil, don't. + +2014-12-27 Fabián Ezequiel Gallina + + python.el: Native readline completion. + * progmodes/python.el (python-shell-completion-native-disabled-interpreters) + (python-shell-completion-native-enable) + (python-shell-completion-native-output-timeout): New defcustoms. + (python-shell-completion-native-interpreter-disabled-p) + (python-shell-completion-native-try) + (python-shell-completion-native-setup) + (python-shell-completion-native-turn-off) + (python-shell-completion-native-turn-on) + (python-shell-completion-native-turn-on-maybe) + (python-shell-completion-native-turn-on-maybe-with-msg) + (python-shell-completion-native-toggle): New functions. + (python-shell-completion-native-get-completions): New function. + (python-shell-completion-at-point): Use it. + +2014-12-27 Fabián Ezequiel Gallina + + python.el: Enhance shell user interaction and deprecate + python-shell-get-or-create-process. + * progmodes/python.el (python-shell-get-process-or-error): + New function. + (python-shell-with-shell-buffer): Use it. + (python-shell-send-string, python-shell-send-region) + (python-shell-send-buffer, python-shell-send-defun) + (python-shell-send-file, python-shell-switch-to-shell): Use it. + Add argument MSG to display user-friendly message when no process + is running. + (python-shell-switch-to-shell): Call pop-to-buffer with NORECORD. + (python-shell-make-comint): Rename argument SHOW from POP. + Use display-buffer instead of pop-to-buffer. + (run-python): Doc fix. Return process. + (python-shell-get-or-create-process): Make obsolete. + +2014-12-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-buffer-substring): + Handle cornercase when region sent starts at point-min. + +2014-12-27 Eli Zaretskii + + * language/misc-lang.el (composition-function-table): Add Syriac + characters and also ZWJ/ZWNJ. + See http://lists.gnu.org/archive/html/help-gnu-emacs/2014-12/msg00248.html + for the details. + +2014-12-27 Fabián Ezequiel Gallina + + python.el: Fix message when sending region. + * progmodes/python.el (python-shell-send-region): Rename argument + send-main from nomain. Fix message. + (python-shell-send-buffer): Rename argument send-main from arg. + + python.el: Cleanup temp files even with eval errors. + * progmodes/python.el (python-shell-send-file): Make file-name + mandatory. Fix temp file removal in the majority of cases. + + python.el: Handle file encoding for shell. + * progmodes/python.el (python-rx-constituents): Add coding-cookie. + (python-shell--save-temp-file): Write file with proper encoding. + (python-shell-buffer-substring): Add coding cookie for detected + encoding to generated content. Fix blank lines when removing + if-name-main block. + (python-shell-send-file): Handle file encoding. + (python-info-encoding-from-cookie) + (python-info-encoding): New functions. + +2014-12-27 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Use `tramp-rsh-end-of-line', it ought to be more robust. + +2014-12-27 Stefan Monnier + + * progmodes/js.el (js-syntax-propertize): "return" can't be divided + (bug#19397). + +2014-12-27 Michael Albinus + + * net/tramp.el (tramp-read-passwd): Ignore errors from `auth-source-*'. + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use "\n" + as end-of-line delimeter for passwords, when running on MS Windows. + +2014-12-27 Stefan Monnier + + * progmodes/sh-script.el (sh-set-shell): Don't change the global value + of indent-line-function (bug#19433). + +2014-12-27 Fabián Ezequiel Gallina + + Fix line numbers on Python shell. + * progmodes/python.el (python-shell--save-temp-file): Do not + append coding cookie. + (python-shell-send-string): Generalize for + python-shell-send-region. + (python--use-fake-loc): Delete var. + (python-shell-buffer-substring): Cleanup fake-loc logic. + (python-shell-send-region): Remove fake-loc logic, simplify. + +2014-12-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-post-self-insert-function): + Make colon to re-indent only for dedenters, handling + multiline-statements gracefully. + +2014-12-27 Michael Albinus + + * net/tramp.el (tramp-handle-insert-file-contents): + Set `find-file-not-found-functions' in case of errors. (Bug#18623) + +2014-12-27 Michael Albinus + + * net/tramp-sh.el (tramp-send-command-and-read): New optional + arg MARKER. + (tramp-get-remote-path): Use it. + +2014-12-27 Stefan Monnier + + * subr.el (redisplay-dont-pause): Mark as obsolete. + +2014-12-27 Michael Albinus + + * net/tramp.el (tramp-error-with-buffer): Call `message' properly. + (tramp-accept-process-output): Use nil as argument for + `accept-process-output', when there is a gateway prepended. + + * net/tramp-gw.el (tramp-gw-open-connection): Suppress traces in + wrong debug buffer. + (tramp-gw-open-connection): Set process coding system 'binary. + (tramp-gw-open-network-stream): Handle HTTP error 403. + + * net/tramp-sh.el (tramp-compute-multi-hops): Suppress traces in + wrong debug buffer. + (tramp-maybe-open-connection): Set connection property "gateway". + +2014-12-27 Stefan Monnier + + * subr.el (sit-for): Tweak docstring (bug#19381). + +2014-12-27 Dmitry Gutov + + * vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date' + stage to after `diff-index' (bug#19386). + +2014-12-27 João Távora + + * textmodes/tex-mode.el (tex-insert-quote): Consider and respect + `electric-pair-mode' (bug#19356). + +2014-12-27 Dmitry Gutov + + elisp-xref-find: Don't create buffers eagerly. + + * progmodes/elisp-mode.el (elisp--identifier-location): Fold back + into `elisp--company-location'. + (elisp--identifier-completion-table): Rename to + `elisp--identifier-completion-table', and do not include just any + symbols with a property list. + (elisp-completion-at-point): Revert the 2014-12-25 change. + (elisp--xref-identifier-file): New function. + (elisp--xref-find-definitions): Use it. + + * emacs-lisp/find-func.el (find-function-library): New function, + extracted from `find-function-noselect'. + + * progmodes/xref.el (xref-elisp-location): New class. + (xref-make-elisp-location): New function. + (xref-location-marker): New implementation. + +2014-12-27 Juri Linkov + + * minibuffer.el (minibuffer-completion-help): + Use shrink-window-if-larger-than-buffer in window-height + when temp-buffer-resize-mode is nil. + + * window.el (with-displayed-buffer-window): Remove window-height + from the action alist in the temp-buffer-window-show call + when window-height is handled explicitly afterwards (bug#19355). + +2014-12-27 Juri Linkov + + Support subdirectories when saving places in dired. + * saveplace.el (toggle-save-place, save-place-to-alist) + (save-places-to-alist, save-place-dired-hook): + Use dired-current-directory instead of dired-directory (bug#19436). + (save-place-dired-hook): Add check for alist to make the new + format future-proof to allow other possible formats. + +2014-12-26 Fabián Ezequiel Gallina + + python.el: Generate clearer shell buffer names. + * progmodes/python.el (python-shell-get-process-name) + (python-shell-internal-get-process-name): Use `buffer-name`. + (python-shell-internal-get-or-create-process): Simplify. + +2014-12-26 Dmitry Gutov + + Add basic xref apropos implementation to elisp-mode. + + * progmodes/elisp-mode.el (elisp--xref-find-definitions): + Filter out nil results. + (elisp--xref-find-apropos): New function. + (elisp-xref-find): Use it. + + * progmodes/xref.el (xref--show-xrefs): Use `user-error'. + +2014-12-25 Filipp Gunbin + + * dired-aux.el (dired-maybe-insert-subdir): + Make dired-maybe-insert-subdir always skip trivial files. + +2014-12-25 Helmut Eller + Dmitry Gutov + + Consolidate cross-referencing commands. + + Move autoloaded bindings for `M-.', `M-,', `C-x 4 .' and + `C-x 5 .' from etags.el to xref.el. + + * progmodes/xref.el: New file. + + * progmodes/elisp-mode.el (elisp--identifier-types): New variable. + (elisp--identifier-location): New function, extracted from + `elisp--company-location'. + (elisp--company-location): Use it. + (elisp--identifier-completion-table): New variable. + (elisp-completion-at-point): Use it. + (emacs-lisp-mode): Set the local values of `xref-find-function' + and `xref-identifier-completion-table-function'. + (elisp-xref-find, elisp--xref-find-definitions) + (elisp--xref-identifier-completion-table): New functions. + + * progmodes/etags.el (find-tag-marker-ring): Mark obsolete in + favor of `xref--marker-ring'. + (tags-lazy-completion-table): Autoload. + (tags-reset-tags-tables): Use `xref-clear-marker-stack'. + (find-tag-noselect): Use `xref-push-marker-stack'. + (pop-tag-mark): Make an alias for `xref-pop-marker-stack'. + (etags--xref-limit): New constant. + (etags-xref-find, etags--xref-find-definitions): New functions. + +2014-12-25 Martin Rudalics + + * cus-start.el (resize-mini-windows): Make it customizable. + +2014-12-24 Stephen Leake + + * startup.el (fancy-about-text): Change buttons for etc/CONTRIBUTE + to (info "(emacs)Contributing"). (Bug#19299) + +2014-12-24 Martin Rudalics + + * window.el (mouse-autoselect-window-position-1): New variable. + (mouse-autoselect-window-cancel) + (mouse-autoselect-window-select, handle-select-window): + With delayed autoselection select window only if mouse moves after + selecting its frame. + +2014-12-24 Michael Albinus + + * eshell/esh-ext.el (eshell-find-interpreter): Expand relative + remote file names. (Bug#18782) + +2014-12-23 Sam Steingold + + * shell.el (shell-display-buffer-actions): New user option. + (shell): Pass it to `pop-to-buffer' instead of hard-coding + `pop-to-buffer-same-window'. + +2014-12-23 Stefan Monnier + + * progmodes/js.el (js--syntax-propertize-regexp-syntax-table): New var. + (js-syntax-propertize-regexp): Use it to recognize "slash in + a character class" (bug#19397). + +2014-12-22 Stefan Monnier + + * completion.el: Use post-self-insert-hook (bug#19400). + (completion-separator-self-insert-command) + (completion-separator-self-insert-autofilling): Remove. + (completion-separator-chars): New var. + (completion-c-mode-hook, completion-setup-fortran-mode): Use it instead + of changing the keymap. + (completion--post-self-insert): New function. + (dynamic-completion-mode): Use it instead of rebinding keys. + (cmpl--completion-string): Rename from completion-string. + (add-completion-to-head, delete-completion): Let-bind it explicitly. + +2014-12-22 Bozhidar Batsov + + * progmodes/ruby-mode.el (ruby--string-region): Simplify code + by leveraging `syntax-ppss'. + +2014-12-22 Artur Malabarba + + * let-alist.el (let-alist): Use `make-symbol' instead of `gensym'. + +2014-12-20 Michael Albinus + + * net/tramp-sh.el (tramp-histfile-override): Add :version. + +2014-12-20 Teodor Zlatanov + + * net/tramp-sh.el (tramp-histfile-override): Clarify docstring. + +2014-12-19 Artur Malabarba + + * let-alist.el (let-alist): Enable access to deeper alists by + using dots inside the dotted symbols. + +2014-12-19 Alan Mackenzie + + Make C++11 uniform init syntax work. + New keywords "final" and "override". + * progmodes/cc-engine.el (c-back-over-member-initializer-braces): + New function. + (c-guess-basic-syntax): Set `containing-sex' and `lim' using the + new function. + * progmodes/cc-fonts.el (c-font-lock-declarations): Check more + carefully for "are we at a declarator?" using + c-back-over-member-initializers. + * progmodes/cc-langs.el (c-type-modifier-kwds): Include "final" + and "override" in the C++ value. + +2014-12-19 Martin Rudalics + + * textmodes/ispell.el (ispell-command-loop): Don't use `next-window'. + +2014-12-21 Lars Ingebrigtsen + + * net/nsm.el (nsm-save-host): Don't save the host name twice + (bug#19269). + +2014-12-18 Sam Steingold + + Keyboard interface (C-f10) to `mouse-buffer-menu' (C-down-mouse-1). + * mouse.el (mouse-buffer-menu-map): Extract from `mouse-buffer-menu'. + (mouse-buffer-menu): Use `mouse-buffer-menu-map'. + * menu-bar.el (menu-bar-buffer-vector): Extract from + `menu-bar-update-buffers'. + (menu-bar-update-buffers): Use `menu-bar-buffer-vector'. + (buffer-menu-open): New user command, bound globally to C-f10, + provides a keyboard interface to `mouse-buffer-menu' (C-down-mouse-1). + (mouse-buffer-menu-keymap): Use `menu-bar-buffer-vector' to + convert the value returned by `mouse-buffer-menu-map' to a list + acceptable to `popup-menu' for `buffer-menu-open'. + +2014-12-18 Artur Malabarba + + * let-alist.el (let-alist): Evaluate the `alist' argument only once. + +2014-12-18 Sam Steingold + + * emacs-lisp/package.el: Avoid compilation warning by declaring + the `find-library-name' function. + (package-activate-1): Fix the `with-demoted-errors' calls: + the first argument must be a string literal. + +2014-12-18 Martin Rudalics + + Add code for "preserving" window sizes. + * dired.el (dired-pop-to-buffer): Call fit-window-to-buffer with + `preserve-size' t. + (dired-mark-pop-up): Preserve size of window showing marked files. + * electric.el (Electric-pop-up-window): + * help.el (resize-temp-buffer-window): Call fit-window-to-buffer + with `preserve-size' t. + * minibuffer.el (minibuffer-completion-help): + Use `resize-temp-buffer-window' instead of `fit-window-to-buffer' + (Bug#19355). Preserve size of completions window. + * register.el (register-preview): Preserve size of register + preview window. + * tmm.el (tmm-add-prompt): Call fit-window-to-buffer + with `preserve-size' t (Bug#1291). + * window.el (with-displayed-buffer-window): Add calls to + `window-preserve-size'. + (window-min-pixel-size, window--preservable-size) + (window-preserve-size, window-preserved-size) + (window--preserve-size, window--min-size-ignore-p): New functions. + (window-min-size, window-min-delta, window--resizable) + (window--resize-this-window, split-window-below) + (split-window-right): Amend doc-string. + (window--min-size-1, window-sizable, window--size-fixed-1) + (window-size-fixed-p, window--min-delta-1) + (frame-windows-min-size, window--max-delta-1, window-resize) + (window--resize-child-windows, window--resize-siblings) + (enlarge-window, shrink-window, split-window): Handle preserving + window sizes. + (adjust-window-trailing-edge): Handle preserving window + sizes. Signal user-error instead of an error when there's no + window above or below. + (window--state-put-2): Handle horizontal scroll bars. + (window--display-buffer): Call `preserve-size' if asked for. + (display-buffer): Mention `preserve-size' alist member in doc-string. + (fit-window-to-buffer): New argument PRESERVE-SIZE. + * textmodes/ispell.el (ispell-command-loop): Suppress horizontal + scroll bar on ispell's windows. Don't count window lines and + don't deal with dedicated windows. + (ispell-show-choices, ispell-help): Let `ispell-display-buffer' + do the window handling. + (ispell-adjusted-window-height, ispell-overlay-window): Remove. + (ispell-display-buffer): New function to reuse, create and fit + window to ispell's buffers. (Bug#3413) + +2014-12-18 Dmitry Gutov + + * emacs-lisp/package.el (package-activate): Do not re-activate or + reload the dependencies (bug#19390). + +2014-12-18 Stefan Monnier + + * progmodes/cc-cmds.el (c-subword-mode): Alias to subword-mode. + (c-update-modeline): + * progmodes/cc-langs.el (c-mode-menu): Use c-subword-mode. + * progmodes/cc-mode.el (subword-mode): Move autoload to cc-cmds.el. + (c-mode-base-map): Use c-subword-mode. + +2014-12-18 Eli Zaretskii + + * international/mule-diag.el (describe-font-internal): + Display additional info returned by font-info. + + * linum.el (linum--face-width): Rename from linum--face-height, + and use the new functionality of font-info. + (linum-update-window): Use linum--face-width and frame-char-width, + instead of approximating with height. + +2014-12-18 Dmitry Gutov + + * vc/vc-svn.el (vc-svn-dir-status-files): Revert the 2014-12-02 + change (bug#19387). Use `apply' on `vc-dir-command' (bug#19405). + + * emacs-lisp/package.el (package-activate-1): Add RELOAD argument + and a docstring. + (package-activate): Call itself on dependencies on PACKAGE with + the same FORCE argument. Pass FORCE as RELOAD into + `package-activate-1' (bug#19390). + +2014-12-17 Sam Steingold + + * emacs-lisp/package.el (package--list-loaded-files): + Handle `(nil ...)' elements in `load-history'. + +2014-12-17 Teodor Zlatanov + + * net/tramp-sh.el (tramp-histfile-override): New variable. + (tramp-open-shell, tramp-maybe-open-connection): Use it. + +2014-12-17 Dmitry Gutov + + * vc/vc.el: Improve `dir-status-files' description. + + * emacs-lisp/package.el (package--list-loaded-files): Don't call + file-truename on load-history elements (bug#19390). + +2014-12-16 Nicolas Petton + + * emacs-lisp/seq.el: New file. + +2014-12-16 Stefan Monnier + + * jit-lock.el (jit-lock-function): Don't defer if jit-lock-defer-time + is 0 and there is no input pending. + +2014-12-15 Juri Linkov + + * replace.el (query-replace-read-from): Use query-replace-compile-replacement + only on the return value (bug#19383). + +2014-12-15 Juri Linkov + + * isearch.el (isearch-lazy-highlight-search): Extend the bound of + the wrapped search by the length of the search string to be able + to lazy-highlight the whole search string at point (bug#19353). + +2014-12-15 Lars Magne Ingebrigtsen + + * net/shr.el (shr-fold-text): Don't bug out on zero-length text. + +2014-12-14 Alan Mackenzie + + * cus-start.el (all): Add fast-but-imprecise-scrolling. + +2014-12-14 Artur Malabarba + + * let-alist.el: Add lexical binding. + +2014-12-14 Steve Purcell (tiny change) + + * emacs-lisp/package.el (package-menu-mode): Use an extra column + for the "Version" column, to accomodate date-and-time-based + versions. + +2014-12-14 Cameron Desautels + + * cus-edit.el (custom-unsaved-options): New function, extracted + from `customize-unsaved'. + (custom-unsaved): Use it. + (custom-prompt-customize-unsaved-options): New function. + (Bug#19328) + +2014-12-14 Dmitry Gutov + + * fringe.el (fringe-bitmap-p): Fix 2014-12-05 breakage. + +2014-12-14 Dmitry Gutov + + Move ASYNC argument to the `diff' VC command to the fifth + position, for better compatibility with existing third-party code, + and document it. + + * vc/vc.el (vc-diff-internal): Pass `async' argument to the + backend `diff' command in the last position. + + * vc/vc-svn.el (vc-svn-diff): + * vc/vc-src.el (vc-src-diff): + * vc/vc-sccs.el (vc-sccs-diff): + * vc/vc-rcs.el (vc-rcs-diff): + * vc/vc-mtn.el (vc-mtn-diff): + * vc/vc-hg.el (vc-hg-diff): + * vc/vc-git.el (vc-git-diff): + * vc/vc-dav.el (vc-dav-diff): + * vc/vc-cvs.el (vc-cvs-diff): + * vc/vc-bzr.el (vc-bzr-diff): + * obsolete/vc-arch.el (vc-arch-diff): Move ASYNC argument to the end. + +2014-12-14 Paul Eggert + + * emacs-lisp/cconv.el (cconv--analyze-use): + Rename from cconv--analyse-use. + (cconv--analyze-function): Rename from cconv--analyse-function. + (cconv-analyze-form): Rename from cconv-analyse-form. + +2014-12-13 Andreas Schwab + + * net/shr.el (shr-next-link): Don't error out at eob. + +2014-12-05 Nicolas Richard + + * isearch.el (isearch-open-necessary-overlays): Open overlay + ending at point (bug#19333). + +2014-12-13 Lars Magne Ingebrigtsen + + * net/shr.el (shr-fold-text): New function. + (shr-show-alt-text, shr-urlify, shr-tag-img): Use it to fold long + alt/title texts. + (shr-fold-text): Inhibit state from being altered. + + * files.el (directory-files-recursively): Really check whether + files are symlinks. + (directory-name-p): New function. + (directory-files-recursively): Use it. + +2014-12-13 Artur Malabarba + + * emacs-lisp/package.el (package--list-loaded-files): New function + to list files in a given directory which correspond to already + loaded files. + (package-activate-1): Reload files given by `package--list-loaded-files'. + Fix bug#10125, bug#18443, and bug#18448. + +2014-12-13 Eric S. Raymond + + * vc/vc-svn.el (vc-svn-diff): Fix bug #19312. + +2014-12-13 Michael Albinus + + * simple.el (password-word-equivalents): Add "passcode", used for + numeric secrets like PINs or RSA tokens. + +2014-12-13 Michael Albinus + + * net/tramp-sh.el (tramp-get-remote-path): Use a login shell in + order to determine `tramp-own-remote-path'. + +2014-12-13 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-parse-command): + Quote `python-shell-interpreter`. (Bug#19289) + +2014-12-12 Stefan Monnier + + * progmodes/python.el (python-indent-line): Use `noindent' in strings. + (python-indent-levels): Document extra value. + (python-indent-calculate-indentation): Return `noindent' in strings. + (python-indent-post-self-insert-function) + (python-indent-calculate-levels): Handle new value. + +2014-12-12 Lars Magne Ingebrigtsen + + * net/network-stream.el (network-stream-open-starttls): No need to + check for the availability of `gnutls-available-p'. + + * files.el (directory-files-recursively): Don't follow symlinks to + other directories. + +2014-12-12 Eric S. Raymond + + * vc/vc-dav.el, vc/vc-git.el, vc/vc-hg.el, vc/vc-src.el: + * vc/vc.el: latest-on-branch-p is no longer a public method. + + * vc/vc.el, vc/vc-hg.el, vc/vc-git.el, vc/vc-hooks.el: + * vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el, vc/vc-src.el: + Remove `rollback' method, to be replaced in the future by uncommit. + +2014-12-11 Michael Albinus + + * vc/vc-hg.el (vc-hg-state): Make FILE absolute. Handle the case + that there is empty output. + +2014-12-11 Stefan Monnier + + * emacs-lisp/eldoc.el (eldoc-documentation-function): Change default. + (eldoc-mode, eldoc-schedule-timer): Adjust to new default. + +2014-12-10 Artur Malabarba + + * let-alist.el: Add new package and macro. + +2014-12-10 Eric S. Raymond + + * vc/vc-dispatcher.el, vc/vc-hooks.el, vc/vc-rcs.el: + * vc/vc-sccs.el, vc/vc.el: Righteous featurectomy of vc-keep-workfiles, + it's a shoot-self-in-foot archaism. Workfiles are always kept. + +2014-12-10 Rasmus Pank Roulund + + * net/ange-ftp.el (ange-ftp-switches-ok): Disallow flags causing + trouble with ls over ftp. These flags result in ls returning no + output, causing Tramp-breakage. (bug#19192) + +2014-12-10 Andreas Schwab + + * files.el (file-tree-walk): Use file-name-as-directory unconditionally. + +2014-12-10 Lars Magne Ingebrigtsen + + * files.el (directory-files-recursively): + Use `file-name-all-completions' instead of `directory-files' for + greater speed. + + * net/shr.el (shr-tag-object): Don't bug out on text elements in + . + +2014-12-09 Bozhidar Batsov + + * progmodes/ruby-mode.el (auto-mode-alist): Add .rabl, Berksfile + and Puppetfile. + (ruby-toggle-string-quotes): New command that allows you to quickly + toggle between single-quoted and double-quoted string literals. + +2014-12-09 Eric S. Raymond + + * vc/vc-src.el (vc-src-do-comand): Prepend -- to file argument + list, avoids problems witt names containing hyphens. + +2014-12-09 Wilson Snyder + + Sync with upstream verilog-mode revision aa4b777. + * progmodes/verilog-mode.el (verilog-mode-version): Update. + (verilog-auto-end-comment-lines-re, verilog-end-block-ordered-re) + (verilog-set-auto-endcomments): Automatically comment property/ + endproperty blocks to match other similar blocks like sequence/ + endsequence, function/endfunction, etc. Reported by Alex Reed. + (verilog-set-auto-endcomments): Fix end comments for functions of + type void, etc. Detect the function- or task-name when + auto-commenting blocks that lack an explicit portlist. + Reported by Alex Reed. + (verilog-nameable-item-re): Fix nameable items that can have an + end-identifier to include endchecker, endgroup, endprogram, + endproperty, and endsequence. Reported by Alex Reed. + (verilog-preprocessor-re, verilog-beg-of-statement): + Fix indentation of property/endproperty around pre-processor + directives. Reported by Alex Reed. + (verilog-label-be): When auto-commenting a buffer, consider + auto-comments on all known keywords (not just a subset thereof). + Reported by Alex Reed. + (verilog-beg-of-statement): Fix labeling do-while blocks, bug842. + Reported by Alex Reed. + (verilog-beg-of-statement-1, verilog-at-constraint-p): + Fix hanging with many curly-bracket pairs, bug663. + (verilog-do-indent): Fix electric tab deleting form-feeds. + Note caused by indent-line-to deleting tabls pre 24.5. + (verilog-auto-output, verilog-auto-input, verilog-auto-inout) + (verilog-auto-inout-module, verilog-auto-inout-in): Doc fixes. + (verilog-read-always-signals, verilog-auto-sense-sigs) + (verilog-auto-reset): Fix AUTORESET with always_comb and always_latch, + bug844. Reported by Greg Hilton. + +2014-12-09 Alex Reed (tiny change) + + * progmodes/verilog-mode.el (verilog-no-indent-begin-re): + Fix `verilog-indent-begin-after-if' nil not honoring 'forever', + 'foreach', and 'do' keywords. + (verilog-endcomment-reason-re, verilog-beg-of-statement): + Fix labeling do-while blocks, bug842. + (verilog-backward-token): Fix indenting sensitivity lists with + named events, bug840. + +2014-12-09 Reto Zimmermann + + Sync with upstream vhdl mode v3.36.1. + * progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp): Update. + (vhdl-compiler-alist): Anchor all error regexps. + (vhdl-compile-use-local-error-regexp): Change default to nil. + (vhdl-asort, vhdl-anot-head-p): Remove. + (vhdl-aput, vhdl-adelete, vhdl-aget): Simplify. + Remove optional argument of vhdl-aget and update all callers. + (vhdl-import-project): Also set `vhdl-compiler'. + +2014-12-09 Lars Magne Ingebrigtsen + + * files.el (find-files): New function. + + * net/shr.el (shr-dom-print): Don't print comments. + (shr-tag-svg): Give inline SVG images the right type. + + * net/eww.el (eww-update-header-line-format): Mark valid/invalid + certificates in the header line. + (eww-invalid-certificate, eww-valid-certificate): New faces. + +2014-12-09 Fabián Ezequiel Gallina + + * progmodes/python.el (inferior-python-mode): + Set `comint-prompt-read-only` to `t` only locally. + +2014-12-08 Lars Magne Ingebrigtsen + + * net/nsm.el (nsm-check-protocol): Test for RC4 on `high'. + (nsm-format-certificate): Include more data about the connection. + (nsm-query): Fill the text to that it looks nicer. + (nsm-check-protocol): Also warn if using SSL3 or older. + +2014-12-08 Stefan Monnier + + * progmodes/gud.el (gud-gdb-completions): Remove unused var `start'. + + * obsolete/gulp.el (gulp-create-m-p-alist): Remove unused var `mnt-tm'. + + * net/tramp.el (tramp-handle-make-symbolic-link): Mark unused arg. + + * info.el (Info-mode-map): Remove left-over binding. + + * emacs-lisp/avl-tree.el: Use lexical-binding and cl-lib. + (avl-tree--root): Remove redundant defsetf. + +2014-12-08 Lars Magne Ingebrigtsen + + * net/nsm.el (network-security-level): Remove the detailed + description, which was already outdated, and refer the users to + the manual. + (nsm-check-protocol): Check for weak Diffie-Hellman prime bits + (bug#19153). + +2014-12-06 Andrey Kotlarski + + * net/eww.el (eww-buffers-mode): New major mode. + (eww-list-buffers, eww-buffer-select, eww-buffer-show-next) + (eww-buffer-show-previous, eww-buffer-kill, eww-buffer-show): + New commands/functions (bug#19131). + +2014-12-08 Lars Magne Ingebrigtsen + + * net/gnutls.el (gnutls-negotiate): Ignore files found via + 'file-name-handler-alist' since the gnutls library can't use those + (bug#15866). + +2014-12-08 Dmitry Gutov + + * vc/vc-hg.el (vc-hg-dir-status-files): Only include ignores files + when FILES is non-nil (bug#19304). + +2014-12-08 Eric S. Raymond + + * vc/vc-arch.el: Move to obsolete directory so a test framework + won't trip over bit-rot in it. There has been no Arch snapshot + for nine years. + +2014-12-07 Lars Magne Ingebrigtsen + + * net/eww.el (eww-follow-link): Revert prefix behaviour to + previous behavior. + (eww-copy-page-url): Add doc string. + +2014-12-07 Ivan Shmakov + + * net/eww.el (eww): Move history recording here... + (eww-browse-url): ... from here (bug#19253). + + * net/eww.el (eww-browse-url): Use generate-new-buffer (was: + iterating over possible buffer names.) + +2014-12-07 Lars Magne Ingebrigtsen + + * net/eww.el (eww-reload): Take a prefix to work locally (bug#19086). + (eww-current-buffer): Compilation fix for bug#18550 patch. + +2014-12-07 Ivan Shmakov + + * net/eww.el (eww-list-histories): Restore the history in the + correct buffer (bug#18550). + +2014-12-07 Lars Magne Ingebrigtsen + + * net/eww.el (eww-bookmark-prepare): Display URLs in first by + displaying shortened titles first (bug#16398). + +2014-12-07 Tom Willemse (tiny change) + + * progmodes/python.el: Recognize docstrings. + (python-docstring-at-p, python-font-lock-syntactic-face-function): + New functions. + (python-mode): Use them. + +2014-12-06 Ulf Jasper + + * net/newst-treeview.el (newsticker--treeview-list-add-item) + (newsticker--treeview-propertize-tag): Bind tree menu to mouse-3. + (newsticker--treeview-create-groups-menu) + (newsticker--treeview-create-tree-menu): Remove. + (newsticker--treeview-tree-open-menu): New. + (newsticker-treeview-tree-click): Pass event to + `newsticker-treeview-tree-do-click'. + (newsticker-treeview-tree-do-click): Open treemenu on mouse-3. + +2014-12-05 Juri Linkov + + * comint.el (comint-history-isearch-search) + (comint-history-isearch-wrap): Use field-beginning instead of + comint-line-beginning-position. + (comint-send-input): Go to the end of the field instead of the end + of the line to accept whole multi-line input. + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html + +2014-12-05 Juri Linkov + + * minibuffer.el (minibuffer-completion-help): + Compare selected-window with minibuffer-window to check whether + completions should be displayed near the minibuffer. (Bug#17809) + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00311.html + +2014-12-05 Michael Albinus + + * vc/vc-mtn.el (vc-mtn-root): + * vc/vc-svn.el (vc-svn-registered): Make FILE absolute. + +2014-12-05 Stefan Monnier + + * progmodes/sh-script.el (sh-smie-sh-rules): Go back to the beginning + of the whole pipe when indenting an opening keyword after a |. + Generalize this treatment to opening keywords like "while" (bug#18031). + +2014-12-05 Stefan Monnier + + * simple.el (newline): Place the hook buffer-locally, + to make sure it's first. + + * progmodes/prog-mode.el (prettify-symbols--compose-symbol): + Fix handling of symbols with different syntax at beginning/end or with + symbol rather than word syntax. + +2014-12-05 Eli Zaretskii + + * simple.el (line-move): If noninteractive, call line-move-1, not + forward-line, since the former is compatible with line-move-visual + both in terms of the column to which it moves and the return + value. (Bug#19211) + +2014-12-05 Stefan Monnier + + * vc/ediff-init.el (ediff-odd-p): Remove. + (ediff-background-face): Use cl-oddp instead. + (ediff-buffer-live-p): Make it a defsubst. + + * tooltip.el (tooltip-region-active-p): Remove. + + * net/shr.el (shr-char-breakable-p, shr-char-kinsoku-bol-p) + (shr-char-kinsoku-eol-p, shr-char-nospace-p): Use define-inline. + + * fringe.el (fringe-bitmap-p): Make it a plain function. + + * emacs-lisp/eieio-core.el: Prefer inlinable functions over macros. + (class-p, generic-p, eieio-object-p, class-abstract-p): + Make them defsubst, so as to avoid corner case problems where + the arg might be evaluated in the condition-case, or it can't be passed + to higher-order functions like `cl-some'. + +2014-12-05 Nicolas Richard + + * wid-edit.el (widget-choose): Let numeric keypad work (bug#19268) + and remove old menu-related code. + +2014-12-05 Lars Magne Ingebrigtsen + + * net/eww.el (eww-display-pdf): Let mailcap determine how to + display PDF files (bug#19270). + +2014-12-05 Juri Linkov + + Compare with the most recent window by default. + * vc/compare-w.el (compare-windows-get-window-function): New defcustom. + (compare-windows-get-recent-window) + (compare-windows-get-next-window): New functions. + (compare-windows, compare-windows-sync-default-function): + Use `compare-windows-get-window-function' instead of `next-window'. + (compare-windows): Add diff/match messages with region boundaries. + (Bug#19170) + +2014-12-04 Stefan Monnier + + * subr.el (filter): Remove. Use `cl-remove-if-not' or `seq-filter'. + +2014-12-04 Lars Magne Ingebrigtsen + + * net/shr.el (shr--extract-best-source): Ignore non-text children. + +2014-12-04 Eli Zaretskii + + Implement copying of a buffer portion while preserving visual order. + * simple.el (bidi-directional-controls-chars) + (bidi-directional-non-controls-chars): New variables. + (squeeze-bidi-context-1, squeeze-bidi-context) + (line-substring-with-bidi-context) + (buffer-substring-with-bidi-context): New functions. + + * files.el (file-tree-walk): Doc fix. + +2014-12-04 Rupert Swarbrick (tiny change) + Rüdiger Sonderfeld + + * autoinsert.el (auto-insert-alist): Update C/C++ header and + program support to match more extensions. Replace non-alnum + characters when generating include guards (headers) and check for + more extensions when generating includes (programs) + (bug#19254). + +2014-12-03 Eric S. Raymond + + * files.el (file-tree-walk): Fix docstring. + +2014-12-03 Karl Fogel + + Fix bug whereby saving files hung in VC hook. + + Saving a buffer visiting a file under SVN control would hang if + the remote repository were unreachable, because the VC hooks tried + to run "svn status -u" on the file, where the "-u" tells svn to + get update information from the remote repository. + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00174.html + + * vc/vc-svn.el (vc-svn-state): Remove optional `localp' + argument and always pass "-v" to "svn status", never "-u". + +2014-12-03 Stefan Monnier + + * emacs-lisp/inline.el: Fix up copyright header. + (inline-quote, inline-const-p, inline-const-val, inline-error): + Silence compiler warnings. + (inline-letevals): Fix edebug spec. + (inline--testconst-p): Consider lambda expressions as const-p. + (inline--getconst-val): Use inline--testconst-p. + + * minibuffer.el (completion-table-dynamic): Add arg `switch-buffer' + and change default to stay in the minibuffer when called from + the minibuffer (bug#19250). + (lazy-completion-table): Use this new argument to preserve the + old behavior. + + * progmodes/elisp-mode.el (elisp--local-variables): Don't burp on + incorrect lexical elements (bug#19250). + +2014-12-03 A. N. Other + + * files.el (file-tree-walk): Lisp translation of ANSI ftw(3). + +2014-12-02 Glenn Morris + + * whitespace.el (whitespace-big-indent-regexp): Add :version. + +2014-12-02 Eric S. Raymond + + * subr.el (filter): New macro. Because it's just silly for a Lisp + not to have this in 2014. And VC needs it. + + * vc.el: All backends: API simplification: Abolish dir-status. + It's replaced by dir-status-files. + + * vc.el: All backends: API simplification: Remove 4th + 'default-state' argument from vc-dir-status files and its backend + methods - no backend method ever set it. It was used only in the + fallback method to to set a default of 'up-to-date, though a + convoluted call chain obscured this. + + * vc-hooks.el: Bind vc-delete-file to Ctrl-x v delete. + + * vc.el (vc-expand-dirs): Now takes a second BACKEND argument, + improving behavior on directories using multiple file-oriented VCSes. + + * vc/vc.el: All backends: API simplification; clear-headers + is no longer a public method. It is now local to the one place + it's used, in the RCS steal-lock method. + +2014-12-01 Eric S. Raymond + + * vc/vc.el: In all backends: API simplification; could-register + is no longer a public method. (vc-cvs.el still has a private + implementation.) + + * vc/vc.el: In all backends: API cleanup; the backend diff method + takes an explicit async flag. This eliminates a particularly ugly + global. + + * vc-bzr.el: Restore vc-bzr-state-heuristic as a private method. + VC randomly/unpredictably fails without it; cause not yet established. + +2014-12-01 Stefan Monnier + + Merge some of the differences from the standalone CC-mode. + The main change is to only use the `category' text-property only when + available. For that many calls are changed to use c-get-char-property, + c-next-single-property-change, c-sc-scan-lists, + c-sc-parse-partial-sexp, c-unmark-<->-as-paren. + + * progmodes/cc-mode.el (c-just-done-before-change): New var. + (c-basic-common-init): Initialize it. + (c-common-init): Only use mode-require-final-newline when available. + (c-before-change): Check and set c-just-done-before-change. + (c-after-change): Re-set c-just-done-before-change. + (c-advise-fl-for-region): New macro. + (lazy-lock-defer-rest-after-change, lazy-lock-defer-line-after-change) + (font-lock-after-change-function, jit-lock-after-change): + Advise if needed. + + * progmodes/cc-langs.el (c-modified-constant): New lang var. + (c-known-type-key): Don't make a list just to throw it away. + + * progmodes/cc-engine.el (c-invalidate-state-cache, c-parse-state): + Handle the case where categories are not available. + (c-record-parse-state-state, c-replay-parse-state-state): + Handle marker values. + (c-before-change-check-<>-operators): Look for the `syntax-table' + property rather than for the corresponding `category'. + (c-looking-at-decl-block): Remove unused var + `c-disallow-comma-in-<>-arglists'. + (c-forward-<>-arglist-recur): Remove unused var + `orig-record-found-types'. + + * progmodes/cc-defs.el (c-version): Bump up to 5.33. + (c-use-category): New const. + (c-next-single-property-change): New macro. + (c-region-is-active-p): Prefer region-active-p when available. + (c-search-backward-char-property): Fix old min/max typo; probably + a copy/paste error. + (c-mark-<-as-paren, c-mark->-as-paren, c-unmark-<->-as-paren): + Turn them into macros that obey c-use-category. + (c-sc-scan-lists-no-category+1+1, c-sc-scan-lists-no-category+1-1) + (c-sc-scan-lists-no-category-1+1, c-sc-scan-lists-no-category-1-1) + (c-sc-scan-lists, c-sc-parse-partial-sexp) + (c-looking-at-non-alphnumspace): New macros. + (c-sc-parse-partial-sexp-no-category): New function. + (c-emacs-features): Add `category-properties' element. + + * progmodes/cc-cmds.el (c-forward-into-nomenclature) + (c-backward-into-nomenclature): Use cc-subword if subword-mode is + not available. + (c-beginning-of-defun, c-end-of-defun, c-mark-function) + (c-indent-line-or-region): Use c-region-is-active-p. + + * progmodes/cc-bytecomp.el (cc-bytecomp-unbound-variables) + (cc-bytecomp-original-functions, cc-bytecomp-original-properties) + (cc-bytecomp-loaded-files): Re-set each time the file is loaded. + (cc-bytecomp-obsolete-var, cc-bytecomp-ignore-obsolete) + (cc-bytecomp-obsolete-fun): Delete unused functions. + + * progmodes/cc-align.el (c-lineup-respect-col-0): New function. + +2014-12-01 Lars Magne Ingebrigtsen + + * net/shr.el (shr-dom-print): Fix up `shr-dom-print' after the + dom.el changes. + +2014-12-01 Stefan Monnier + + * vc/vc.el (vc-find-conflicted-file): Look for conflicted files in the + current "project" rather than just the current directory. + * vc/vc-git.el (vc-git-conflicted-files): Clarify in which directory + the file names make sense. + + * vc/smerge-mode.el (smerge-swap): New command. + + * vc/diff-mode.el (diff-kill-applied-hunks): New command. + +2014-12-01 Ulf Jasper + + * net/newst-treeview.el (newsticker--treeview-item-show): + Check window liveliness before measuring its width. + + * net/newst-backend.el (newsticker--get-news-by-url-callback): + Pass correct status to `newsticker--sentinel-work'. + (newsticker--sentinel-work): Use "newsticker--download-error" as + guid in order to prevent multiple "Could not download..." + messages. Fixes bug#19166. + +2014-12-01 Ivan Shmakov + + * net/eww.el (eww-render): Call `eww-after-render-hook' in the + correct buffer (bug#19225). + +2014-12-01 Lars Magne Ingebrigtsen + + * net/nsm.el (network-security-level): Change the default to `medium'. + + * net/eww.el (eww): Leave point in a place that doesn't cause + scrolling when displaying "Loading...". + +2014-12-01 Eric S. Raymond + + * vc/vc.el, vc/vc-cvs.el, vc/vc-rcs.el, vc/vc-svn.el: The 'merge' + backend method of RCS/CVS/SVN is now 'merge-file', to contrast with + 'merge-branch'. Prompting for merge revisions is pushed down to + the back ends; this fixes a layering violation that caused bad + behavior with SVN. + + * vc/vc.el, vc-hooks.el: All backends: API simplification; + vc-stay-local-p and repository-hostname are no longer public + methods. Only the CVS and SVN backends used these, and the SVN + support was conditioned out because svn status -v is too slow. + The CVS back end retains this machinery and the vc-stay-local + configuration variable now only affects it. + +2014-12-01 Stefan Monnier + + * emacs-lisp/inline.el: New file. + +2014-12-01 Eric S. Raymond + + * vc/vc.el, vc-hooks.el: All backends: API simplification; + vc-state-heuristic is no longer a public method, having been + removed where it is redundant, unnecessary, or known buggy. + This eliminated all backends except CVS. Eliminates bug#7850. + + * vc/vc-cvs.el, vc/vc-hooks.el, vc/vc-rcs.el, vc/vc-sccs.el: + Eliminate vc-mistrust-permissions. It was only relevant to the + RCS and SCCS back ends and defaulted to t. Code now always + mistrusts permissions - by actual measurement the effect on + performance is negligible. As a side effect bug#11490 is now + irrelevant. + + * vc/vc.el, vc-hooks.el: All backends: API simplification; + vc-workfile-unchanged-p is no longer a public method (but the RCS + and SCCS back ends retain it as a private method used in state + computation). This method was redundant with vc-state and usually + implemented as a trivial call to same. Fixes the failure mode + described in bug#694. + + * vc/vc.el: All backends: API simplification; init-revision is + gone, and vc-registered functions no longer take an + initial-revision argument. + +2014-11-29 Glenn Morris + + * vc/vc-src.el (vc-src, vc-src-diff-switches) + (vc-src-master-templates): Fix :version tags. + +2014-11-29 Paul Rankin (tiny change) + + * outline.el (outline-move-subtree-down): Refactor and improve code. + +2014-11-29 Stephen Berman + Stefan Monnier + + * outline.el (outline-move-subtree-down): Make sure we can move + forward to find the end of the subtree and the insertion point + (bug#19102). + +2014-11-29 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-completion-setup-code): + Use __builtin__ module (or builtins in Python 3) and catch all errors + when importing readline and rlcompleter. + +2014-11-29 Stephen Berman + + * calendar/todo-mode.el: Handle calling revert-buffer (bug#19187). + (todo-revert-buffer): New function. + (todo-modes-set-1): Use it as the buffer-local value of + revert-buffer-function. + +2014-11-29 Stephen Berman + + * calendar/todo-mode.el (todo-mode): If called interactively, just + display a message saying to call todo-show to enter Todo mode + (Bug#19112). + +2014-11-29 Dmitry Gutov + + * vc/vc-hg.el (vc-hg-dir-status-files): Include ignored files. + (Bug#18579) + + * vc/vc-bzr.el (vc-bzr-after-dir-status): Don't skip ignored + files. (Bug#18579) + +2014-11-29 Michael Albinus + + * textmodes/makeinfo.el (makeinfo-buffer): Make it work also for + remote `buffer-file-name'. + +2014-11-29 Leo Liu + + * calendar/diary-lib.el (calendar-mark-1): Fix thinko. + +2014-11-29 Fabián Ezequiel Gallina + + Set PYTHONUNBUFFERED on shell startup. + + * progmodes/python.el (python-shell-unbuffered): New var. + (python-shell-calculate-process-environment): Use it. + +2014-11-29 Michael Albinus + + * net/tramp.el (tramp-action-password): Clean password on subsequent + attempts even if there was no wrong password indication. (Bug#19047) + + * net/tramp-sh.el (tramp-get-remote-locale): Return "LC_ALL=C" as + fallback. + (tramp-open-connection-setup-interactive-shell): No need to check + for nil as `tramp-get-remote-locale' return value. + +2014-11-29 Eli Zaretskii + + * vc/vc-git.el (vc-git-command, vc-git--call): + Bind coding-system-for-read and coding-system-for-write to + vc-git-commits-coding-system. + (vc-git-previous-revision): Use "~1" instead of "^", since the + latter is a special character for MS-Windows system shells. + +2014-11-29 Michael Albinus + + Improve XEmacs compatibility. + + * net/tramp.el (tramp-autoload-file-name-handler): + Wrap `temporary-file-directory' by `symbol-value', it doesn't + exist in XEmacs. + (tramp-read-passwd): Don't use `with-timeout-suspend' and + `with-timeout-unsuspend' if they don't exist, like in XEmacs. + (tramp-time-less-p, tramp-time-subtract): Remove functions. + (tramp-handle-file-newer-than-file-p, tramp-time-diff): + * net/tramp-adb.el (tramp-adb-ls-output-time-less-p): + * net/tramp-cache.el (tramp-get-file-property): + * net/tramp-smb.el (tramp-smb-handle-insert-directory): + Use `time-less-p' and `time-subtract, respectively. + + * net/tramp-adb.el (top): Do not require time-date.el. + + * net/tramp-compat.el (top): Require time-date.el for XEmacs. + + * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): + Check, whether `utf-8' is a valid coding system. + +2014-11-29 Eli Zaretskii + + * vc/vc.el (vc-retrieve-tag): Doc fix. + +2014-11-28 Stefan Monnier + + * simple.el (execute-extended-command--shorter): Fix the "M-p" case + (bug#19152). + +2014-11-28 Martin Rudalics + + Fix two issues around help-window-select. (Bug#11039) (Bug#19012) + * help.el (help-window-old-frame): New variable. + (help-window-select): Default to nil (Bug#11039). + Rewrite doc-string. + (help-window-setup): When the help window appears on another + frame and `help-window-select' is non-nil, give that frame input + focus too (Bug#19012). + (with-help-window): Store selected frame in + help-window-old-frame. + +2014-11-28 Ulf Jasper + + * net/newst-treeview.el (newsticker--treeview-load): Take care of + nil value for `newsticker-groups-filename'. + +2014-11-28 Daiki Ueno + + * epa.el (epa-sign-file, epa-encrypt-file, epa-decrypt-region) + (epa-sign-region, epa-encrypt-region): + Use `epg-context-set-{passphrase,progress}-callback', instead of + `setf'. This partially reverts commit 9e48a95c (bug#19150). + Reported by José A. Romero L. + +2014-11-27 Lars Magne Ingebrigtsen + + * net/eww.el (eww-restore-history): + Bind `inhibit-modification-hooks' instead of `after-change-functions'. + +2014-11-27 Ulf Jasper + + * net/newst-backend.el (newsticker--parse-atom-1.0): + Handle embedded (x)html in summary node. + +2014-11-27 Sam Steingold + + * menu-bar.el (menu-bar-open): When everything else fails, + use (mouse-menu-bar-map). + +2014-11-27 Ulf Jasper + + * net/newst-treeview.el (newsticker-groups-filename): + Change default value to nil. Point out that variable is obsolete in doc + string. + (newsticker--treeview-load): Change wording of the questions the + user is asked when `newsticker-groups-filename' is found to be + used and we offer to read and remove the groups file. (Bug#19165) + +2014-11-27 Lars Magne Ingebrigtsen + + * net/eww.el (eww): Record the new URL immediately, so that if the + HTTP fetch fails, we have the right URL in the buffer. + (eww-process-text-input): Don't shorten the input field if + deleting at the last character (bug#19085). + (eww-restore-history): Inhibit change functions while restoring + the history. + (eww-process-text-input): Fix deletion at the start of the field, too. + (eww-mode): Revert mistanken removal of `buffer-disable-undo'. + (eww-process-text-input): Try to keep track of the size more reliably. + + * dom.el (dom-pp): New function. + +2014-11-27 Eli Zaretskii + + * vc/vc-bzr.el (vc-bzr-print-log, vc-bzr-expanded-log-entry): + Don't assume --long is the default for "bzr log", always specify + it explicitly, in case the user defined an alias for 'log' that + uses some other format. + +2014-11-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-eldoc--get-doc-at-point): + Strip shell output before returning. (bug#18794) + +2014-11-27 Dmitry Gutov + + Fix indentation before `!=' and after `+='. Originally reported + in https://github.com/mooz/js2-mode/issues/174. + * progmodes/js.el (js--indent-operator-re): Make assignments and + (in)equality operator a separate case. + (js--continued-expression-p): Escape the second `+' in the regexp. + +2014-11-27 Stefan Monnier + + * window.el (handle-select-window): Deactivate shift-region (bug#19003). + +2014-11-26 Lars Magne Ingebrigtsen + + * net/nsm.el (nsm-new-fingerprint-ok-p): Display the certificate + when querying about new certificates. + + * net/shr.el (shr-make-table-1): dom.el changes for table rendering. + + * dom.el (dom-by-tag): Use `equal' for comparisons so that tags + can be strings. + (dom-elements): Protect against non-text nodes. + (dom-non-text-children): New function. + + * net/eww.el (eww-tag-title): Use `dom-text'. + +2014-11-26 Sam Steingold + + * textmodes/sgml-mode.el (sgml-validate-command): Pass -utf8 to tidy. + +2014-11-26 Lars Magne Ingebrigtsen + + * net/eww.el (eww-highest-readability): More dom.el fixes. + +2014-11-26 Ulf Jasper + + * net/newst-backend.el (newsticker--parse-generic-items): + Take care of UIDs when adding elements to cache. + +2014-11-26 Alan Mackenzie + + Remove spurious reference to symbol category_properties. + * progmodes/cc-engine.el (c-state-pp-to-literal): Fix here. + +2014-11-26 Lars Magne Ingebrigtsen + + * net/eww.el: Use the new dom.el accessors throughout. + + * net/shr.el: Ditto. + + * dom.el: New file. + +2014-11-26 Glenn Morris + + * arc-mode.el (archive-visit-single-files): Add :version. + +2014-11-25 Lars Magne Ingebrigtsen + + * net/nsm.el (nsm-format-certificate): Don't bug out on missing + elements. + (nsm-warnings-ok-p): The new version of this function always + returned nil when everything was OK. + +2014-11-25 Teodor Zlatanov + + * net/gnutls.el (gnutls): Set :group to 'comm so it's near NSM. + + * net/nsm.el (nsm-check-tls-connection, nsm-save-host) + (nsm-warnings-ok-p): Use `gnutls-peer-status-warning-describe'. + +2014-11-20 Nicolas Richard + + * emacs-lisp/byte-run.el (function-put): Match argument names to + docstring. + +2014-11-24 Sam Steingold + + * vc/vc-hooks.el (vc-directory-exclusion-list): + Fix a trivial typo (bug#19171). + +2014-11-24 Stefan Monnier + + * vc/vc-hooks.el (vc-state-base-face): Don't override + mode-line-inactive. + +2014-11-24 Lars Magne Ingebrigtsen + + * net/eww.el (eww-set-character-encoding): Use `read-coding-system'. + (eww-process-text-input): Inhibit read only so that input fields + don't get shortened (bug#19085). + +2014-11-24 Leo Liu + + * emacs-lisp/macroexp.el (macroexp-let2*): New macro. + + * window.el (with-temp-buffer-window) + (with-current-buffer-window, with-displayed-buffer-window): + * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin): + * emacs-lisp/cl-lib.el (substring): + * emacs-lisp/cl-extra.el (cl-getf): Use it. + +2014-11-24 Eli Zaretskii + + * isearch.el (isearch-update): Don't assume + pos-visible-in-window-p will return nil when point is hscrolled + out of view. (Bug#19157) + +2014-11-20 Andrey Kotlarski + + * net/eww.el (eww-browse-url): Optionally create new eww buffer. + (eww-follow-link): Follow in new buffer in case of prefix + argument, open externally with double prefix (bug#19130). + +2014-11-23 Lars Magne Ingebrigtsen + + * net/eww.el (eww-display-html): Decode the document-defined charset. + (eww): Pop to the *eww* buffer immediately after executing the + `M-x eww' command to avoid having buffers pop up later. + (eww-display-html): Don't pop the *eww* buffer. + (eww-display-raw): Ditto. + (eww-display-image): Ditto. + (eww-follow-link): Make going to #targets in the page work again. + +2014-11-23 Ivan Shmakov + + * net/eww.el (eww-suggest-uris): New variable. + (eww-suggested-uris): New function. + (eww): Default to URL under point. + (eww-links-at-point): New function. + +2014-11-20 Mark Oteiza (tiny change) + + * net/eww.el (eww-add-bookmark): Fix bookmark titles. + +2014-11-17 Mark Oteiza (tiny change) + + * net/eww.el (eww-mode-map): Bind backtab to shr-previous-link. + +2014-11-23 Kenjiro Nakayama + + * net/eww.el (eww-set-character-encoding): New command and keystroke. + (eww-display-raw): Use it (bug#16225). + +2014-11-23 Lars Magne Ingebrigtsen + + * net/nsm.el (network-security-level): Rename from + `nsm-security-level' and documented. + + * mail/smtpmail.el (smtpmail-via-smtp): Warn unless encrypted and + we're sending a password. + + * net/nsm.el: New file that implements a Network Security Manager. + + * net/network-stream.el (open-network-stream): Add a new + :warn-unless-encrypted parameter. + (network-stream-open-plain): Allow warning unless encrypted. + (network-stream-open-starttls): Call the Network Security Manager. + (network-stream-open-tls): Ditto. + +2014-11-23 Leo Liu + + * calendar/cal-china.el (calendar-chinese-from-absolute-for-diary) + (calendar-chinese-to-absolute-for-diary) + (calendar-chinese-mark-date-pattern, diary-chinese-anniversary): + Handle leap months in Chinese calendar. (Bug#18953) + +2014-11-22 Alan Mackenzie + + Fix error with `mark-defun' and "protected:" in C++ Mode. + Fixes: debbugs:19134. + + * progmodes/cc-cmds.el (c-where-wrt-brace-construct): Handle a + return code of (label) from c-beginning-of-decl-1. + +2014-11-22 Ulf Jasper + + * net/newst-backend.el (newsticker--sentinel-work): + Tell `libxml-parse-xml-region' to discard comments. Fixes bug#18787. + +2014-11-22 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-start-file-process) + (tramp-sh-handle-process-file): Propagate `process-environment'. + + * vc/vc-hg.el (vc-hg-state): No special handling for remote files; + Tramp propagates environment variables now. + +2014-11-22 Eric S. Raymond + + * vc/vc-filewise.el: New file to isolate code used only by the + file-oriented back ends (SCCS/RCS/CVS/SRC) which should not + live in vc.el and certainly not in vc-hooks.el. + + * vc/vc-hooks.el, vc-rcs.el, vc-sccs.el: vc-name -> vc-master-name. + This is preparatory to isolating all the 'master' functions + used only by the file-oriented back ends. With this done first, + the substantive diffs will be easier to read. + +2014-11-21 Rüdiger Sonderfeld + + * play/morse.el (nato-alphabet): Mark URL in docstring in a way + that is recognized by `help-mode'. + +2014-11-21 Stefan Monnier + + * desktop.el (desktop-create-buffer): Use activate-mark to set + `mark-active' (bug#19058). + +2014-11-21 Eric S. Raymond + + * vc/vc-src.el (vc-src-state): Fix bug that produced spurious + nil state. + +2014-11-21 Eli Zaretskii + + * vc/vc.el (vc-deduce-fileset): Support invocation from + *vc-change-log* buffer. (Bug#19084) + +2014-11-13 Matthew Leach + + * arc-mode.el (archive-visit-single-files): New. + (archive-mode): Visit file if archive contains a single file. + (Bug#1702) + +2014-11-21 Ulrich Müller + + * vc/vc.el: Fix a typo in the commentary. + +2014-11-20 Eric S. Raymond + + * vc/vc-src.el, vc/vc.el: Added support for SRC. Needs more + testing and a real log-view mode. + + * vc/vc-bzr.el, vc/vc-cvs.el, vc/vc-dav.el, vc/vc-git.el: + * vc/vc-hg.el, vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el: + * vc/vc-svn.el, vc/vc.el: Remove editable argument from the backend + checkout methods; where it matters (which is only in SCCS and RCS) + files are always checked out editable. This may actually have + been dynamically true already - it looks like the vc-next-action + code evolved past visiting the other case. Tested with RCS. + + * vc/vc-arch.el, vc/vc-bzr.el, vc/vc-cvs.el, vc/vc-dav.el: + * vc/vc-git.el, vc/vc-hg.el, vc/vc-mtn.el, vc/vc-rcs.el: + * vc/vc-sccs.el, vc/vc-svn.el, vc/vc.el: Remove never-used rev + argument from the backend checkin methods. Only the RCS, SCCS, + and CVS back ends tried to do anything with it, and that code was + never exercised. Chiseling away the cruft of decades... + +2014-11-19 Lars Magne Ingebrigtsen + + * net/eww.el (eww-render): Remove a no-op :title setting. + +2014-11-19 Ivan Shmakov + + * net/eww.el (eww-history-limit): New variable. + (eww-save-history): Use it (bug#19105). + (eww-reload): Reload the page in the right buffer. + +2014-11-19 Lars Magne Ingebrigtsen + + * net/eww.el (eww-desktop-misc-data): Use `cl-remove-duplicates'. + +2014-11-19 Ivan Shmakov + + * net/eww.el (eww-desktop-remove-duplicates) + (eww-restore-desktop, eww-restore-reload-prompt): New variables. + (eww-mode): Set up desktop mode (bug#18010). + (eww-desktop-data-save, eww-desktop-data-1) + (eww-desktop-history-duplicate, eww-desktop-misc-data) + (eww-restore-desktop): New functions. + +2014-11-19 Eli Zaretskii + + * vc/vc.el (vc-log-internal-common): Turn on log-view-mode in the + correct buffer. (Bug#19101) + +2014-11-19 Rüdiger Sonderfeld + + * vc/vc-git.el (vc-git-diff): Use "difftool -x diff" with + `diff-switches' if `vc-git-diff-switches' is nil. (Bug#19099) + +2014-11-19 Artur Malabarba + + * ido.el (ido-bury-buffer-at-head): New command. + (ido-buffer-completion-map): Bind it to C-S-b. + +2014-11-18 Juri Linkov + + * simple.el (next-line-or-history-element): Wrap next-line + in with-no-warnings. + (previous-line-or-history-element): Wrap previous-line + in with-no-warnings. + +2014-11-18 Juri Linkov + + * progmodes/grep.el (grep-compute-defaults): + Compute grep-highlight-matches before its use. + +2014-11-18 Juri Linkov + + * replace.el (query-replace-from-to-separator): Turn defvar into + defcustom. Wrap char-displayable-p in ignore-errors because an + attempt to autoload char-displayable-p fails during pre-loading. + Move (propertize "\0" ... 'separator t) out of customizable part + to query-replace-read-from. + (query-replace-read-from): Call custom-reevaluate-setting on + query-replace-from-to-separator to reevaluate the separator + depending on the return value of char-displayable-p. + http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00466.html + +2014-11-18 Juri Linkov + + * bindings.el (minibuffer-local-map): Rebind [down] from + next-history-element to next-line-or-history-element, and [up] + from previous-history-element to previous-line-or-history-element. + + * simple.el (next-line-or-history-element) + (previous-line-or-history-element): New commands. + http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00822.html + +2014-11-18 Leo Liu + + * emacs-lisp/nadvice.el (define-advice): New macro. + * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): + Add define-advice. + (lisp-font-lock-keywords-1): Add define-advice. + +2014-11-18 Daiki Ueno + + * epg.el (epg-context): New slot EDIT-CALLBACK. + (epg--process-filter): Call EDIT-CALLBACK when editing a key. + (epg-reset): Reset EDIT-CALLBACK of the context. + (epg-start-edit-key): New function. + (epg-edit-key): New function. + +2014-11-18 Paul Eggert + + Port new time stamp handling to Emacs 23.2. + This fix is for Gnus. Reported by Katsumi Yamaoka. + * calendar/time-date.el (time-add, time-subtract, time-less-p): + Use eval-and-compile, not eval-when-compile. + +2014-11-18 Daiki Ueno + + * epg.el (epg-context-set-passphrase-callback) + (epg-context-set-progress-callback): Check if the CALLBACK + argument is a function, instead of a cons. + +2014-11-18 Daiki Ueno + + * epa-file.el (epa-file-insert-file-contents) + (epa-file-write-region): Remove redundant check of + epa-pinentry-mode. + * epa.el (epa-sign-file, epa-encrypt-file, epa-decrypt-region) + (epa-sign-region, epa-encrypt-region): Remove redundant check of + epa-pinentry-mode. + +2014-11-18 Daiki Ueno + + * epa-file.el (epa-file-insert-file-contents): Don't show + "*Error*" buffer if input file does not exist. + Reported by Herbert J. Skuhra. + +2014-11-18 Paul Pogonyshev + Rüdiger Sonderfeld + + * progmodes/cc-langs.el: Support some of the new keywords in C++11. + An alternative version of the patch from bug#13871. + (c-operators): Add "alignof". + (c-primitive-type-kwds): Add "char16_t", "char32_t". + (c-type-modifier-kwds): Add "constexpr", "noexcept". + (c-modifier-kwds): Add "thread_local". + (c-constant-kwds): Add "nullptr". + +2014-11-17 Michal Nazarewicz + + * textmodes/tildify.el (tildify-pattern, tildify-space-string): + New variables for specifying tildify pattern and representation of + a hard space -- a no-break space by default -- respectively. + Being buffer-local they are much easier to handle than + `tildify-string-alist' and `tildify-pattern-alist' respectively + that have been used so far. They also works better with derived + modes. + (tildify-foreach-region-function): New variable specifying + a function determining portions of buffer that should be + tildified. It allows major modes to create a filtering function + more elaborate than a set of regular expressions. Initialised to + `tildify--deprecated-ignore-evironments' by default to handle now + deprecated `tildify-ignored-environments-alist' variable. + (tildify--foreach-region): A new function that takes + `tildify-foreach-region-function' into account and calls callback + for regions of the buffer that should be tildified. + (tildify-foreach-ignore-environments): A new function which can be + partially applied and used as `tildify-foreach-region-function'. + (tildify-ignored-environments-alist, tildify-pattern) + (tildify-string-alist, tildify--pick-alist-entry): Mark as obsolete. + (tildify--find-env): Rename from `tildify-find-env' and mark as + obsolete. + (tildify--deprecated-ignore-evironments): New function, + immediately marked as obsolete, used to handle deprecated + `tildify-ignored-environments-alist'. + + * textmodes/tex-mode.el (tex-common-initialization): + Set `tildify-space-string' and `tildify-foreach-region-function' + variables in all variants of TeX mode since `tildify-string-alist' + and `tildify-ignored-environments-alist' are now empty by default. + + * nxml/nxml-mode.el (nxml-mode): Ditto in `nxml-mode'. + If encoding supports it use no-break space instead of character + entity; this changes previous default which used a numeric + reference. + + * textmodes/sgml-mode.el (sgml-mode): ditto in `sgml-mode'. + If encoding does not support no-break space, use numeric reference; + this changes previous default which used named entity (“ â€) + in HTML mode. + +2014-11-17 Ulf Jasper + + * calendar/icalendar.el (icalendar-export-alarms): + New customizable variable. (Bug#5433) + (icalendar-export-region): Export alarms as specified in + `icalendar-export-alarms'. + (icalendar--create-ical-alarm, icalendar--do-create-ical-alarm): + New functions for exporting alarms. + +2014-11-17 Lars Magne Ingebrigtsen + + * bindings.el (search-map): Move `eww-search-words' to `M-s M-w'. + +2014-11-17 Paul Eggert + + Port new time stamp handling to old Emacs and to XEmacs. + This is needed for Gnus, which copies time-date.el and which + runs on older Emacs implementations. + * calendar/time-date.el (with-decoded-time-value): + Handle 'nil' and floating-point arg more compatibly with new Emacs. + (encode-time-value, with-decoded-time-value): + Obsolete only if new Emacs. + (time-add, time-subtract, time-less-p): Define if not new Emacs. + + Improve time stamp handling, and be more consistent about it. + This implements a suggestion made in: + http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00587.html + Among other things, this means timer.el no longer needs to + autoload the time-date module. + * allout-widgets.el (allout-elapsed-time-seconds): Doc fix. + * arc-mode.el (archive-ar-summarize): + * calendar/time-date.el (seconds-to-time, days-to-time, time-since): + * emacs-lisp/timer.el (timer-relative-time, timer-event-handler) + (run-at-time, with-timeout-suspend, with-timeout-unsuspend): + * net/tramp.el (tramp-time-less-p, tramp-time-subtract): + * proced.el (proced-time-lessp): + * timezone.el (timezone-time-from-absolute): + * type-break.el (type-break-schedule, type-break-time-sum): + Simplify by using new functionality. + * calendar/cal-dst.el (calendar-next-time-zone-transition): + Do not return time values in obsolete and undocumented (HI . LO) + format; use (HI LO) instead. + * calendar/time-date.el (with-decoded-time-value): + Treat 'nil' as current time. This is mostly for XEmacs. + (encode-time-value, with-decoded-time-value): Obsolete. + (time-add, time-subtract, time-less-p): Use no-op autoloads, for + XEmacs. Define only if XEmacs, as they're now C builtins in Emacs. + * ldefs-boot.el: Update to match new time-date.el + * proced.el: Do not require time-date. + +2014-11-16 Lars Magne Ingebrigtsen + + * net/eww.el (eww-mode): Make the buffer read-only. + (eww-form-text): Inhibit read-only-ness in text input fields + (bug#16476). + +2014-11-16 Stefan Monnier + + * simple.el (execute-extended-command--shorter): Cut search here. + (execute-extended-command): Instead of here. + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (python-mode): Avoid use of set-local to + keep Emacs 24.x compatibility. + +2014-11-16 Lars Magne Ingebrigtsen + + * net/shr.el (shr): Move to the new defgroup `web'. + + * net/eww.el (eww): Ditto. + + * simple.el (execute-extended-command): Don't show the help + message if the binding isn't significantly shorter than the + M-x command the user typed (bug#19013). + +2014-11-16 Ulf Jasper + + * calendar/icalendar.el (icalendar--convert-tz-offset): + Return complete cons when offsets of standard time and daylight saving + time are equal. + (icalendar-export-region): Fix unbound variable warning. + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (run-python): Allow CMD to be optional and + default it to a safe command, even for Windows. (bug#18596) + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-calculate-command): + Rename from python-shell-parse-command. Cleanup. + (run-python, run-python-internal): Use it. + (python-shell-calculate-pythonpath): Rename from + python-new-pythonpath. + (python-shell-calculate-process-environment): Use it. + (python-shell-calculate-exec-path): Add comment. + +2014-11-16 Thierry Banel (tiny change) + + * calc/calc-arith.el (math-max-list, math-min-list): Fix bug + for date handling. + +2014-11-16 Andreas Schwab + + * version.el (emacs-repository-get-version): Use git rev-parse + instead of git log. + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-calculate-levels): + Fix indentation behavior multiline dedenter statement. (Bug#18432) + +2014-11-16 Fabián Ezequiel Gallina + + * progmodes/python.el (python-indent-region): + Use python-indent-line and skip special cases. (Bug#18843) + +2014-11-16 Peder O. Klingenberg + + * mail/emacsbug.el (report-emacs-bug): Make a better guess at + envelope-from when reporting through sendmail (bug#19054). + +2014-11-16 Oscar Fuentes + + Add faces for the VC modeline state indicator. + * vc/vc-hooks.el: + (vc-state-faces, vc-state-base-face) + (vc-up-to-date-state, vc-needs-update-state) + (vc-locked-state, vc-locally-added-state) + (vc-conflict-state, vc-removed-state) + (vc-missing-state, vc-edited-state): + New faces. + (vc-default-mode-line-string): Use them + +2014-11-16 Stefan Monnier + + * emacs-lisp/backquote.el (backquote-process): Optimize away ",'". + +2014-11-15 Lars Magne Ingebrigtsen + + * net/eww.el (eww-search-words): Mention `eww-search-prefix'. + +2014-11-15 Fabián Ezequiel Gallina + + * progmodes/python.el (python-eldoc-setup-code): Enhance string + type checks, simplify printing. (Bug#18962) + +2014-11-14 Ivan Andrus + + * progmodes/python.el (python-shell-font-lock-kill-buffer): + (python-shell-font-lock-with-font-lock-buffer) + (python-shell-get-buffer, python-ffap-module-path): + Use `derived-mode-p' instead of equality test on `major-mode'. + +2014-11-14 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-virtualenv-root): Rename from + python-shell-virtualenv-path. + (python-shell-internal-get-process-name) + (python-shell-calculate-process-environment) + (python-shell-calculate-exec-path): Use it. + +2014-11-14 Eli Zaretskii + + * bindings.el (search-map): Fix last change: don't use 'kbd' in + bindings.el, since it is not yet loaded when bindings.el is + preloaded. + +2014-11-14 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-completion-get-completions): + Fix previous merge. + +2014-11-14 Lars Magne Ingebrigtsen + + * net/eww.el (eww-render): Don't set the title to the URL. + +2014-11-13 Ulrich Müller + + * version.el (emacs-repository-get-version): Call `git log' + command with proper format argument (bug#19049). + +2014-11-14 Lars Magne Ingebrigtsen + + * bindings.el (search-map): Bind M-s M-s to `eww-search-words'. + +2014-11-14 Kenjiro NAKAYAMA + + * net/eww.el (eww-search-words): New command (bug#16258). + +2014-11-13 Lars Magne Ingebrigtsen + + * net/shr.el (shr-inhibit-images): Add a doc string. + + * net/eww.el (eww-after-render-hook): New variable. + (eww-render): Use it. + + * net/shr.el (shr-descend): Don't descend further than + `max-specpdl-size' allows (bug#16587). + (shr-depth): New variable. + (shr-warning): New variable. + +2014-11-13 Ivan Shmakov + + * net/shr.el (shr-parse-base): Handle correctly. + (shr-expand-url): Expand absolute URLs correctly (bug#17958). + +2014-11-13 Lars Magne Ingebrigtsen + + * net/eww.el (eww): Add comment to clarify. + + * net/shr.el (shr-parse-image-data): Remove blocked bits from + external SVG images. + (shr-tag-object): Display images in forms (bug#16244). + (shr-tag-table): Also insert after the tables. + +2014-11-13 Michael Albinus + + * vc/vc-hg.el (vc-hg-state): Disable pager. (Bug#18940) + +2014-11-13 Lars Magne Ingebrigtsen + + * net/eww.el (eww-form-file): Fix version number. + +2014-11-10 Lars Magne Ingebrigtsen + + * net/eww.el (eww-form-file): :type isn't a valid `defface' keyword. + +2014-11-10 Kenjiro NAKAYAMA + + * net/eww.el(eww-form-file(defface)): New defface of file upload form. + (eww-submit-file): New key map of file upload. + (eww-form-file): New file upload button and file name context. + (eww-select-file): Select file and display selected file name. + (eww-tag-input): Handle input tag of file type. + (eww-update-field): Add point offset. + (eww-submit): Add submit with multipart/form-data. + +2014-11-10 Lars Magne Ingebrigtsen + + * net/eww.el (eww-render, eww-display-html, eww-setup-buffer): + Allow taking a buffer to render data in. This allows using several + eww buffers (bug#16211). + +2014-11-10 Charles Rendleman (tiny change) + + * net/eww.el (eww-download-callback): Save only the file contents, + not the headers. + +2014-11-10 Lars Magne Ingebrigtsen + + * net/eww.el (eww-data): New plist to store all the data relevant + to a single page, used throughout the file instead of the + variables `eww-current-url', `eww-current-dom', + `eww-current-source', and `eww-current-title'. + (eww-readable): Copy over pertinent data from the parent page. + (eww-save-history): Don't let the history grow infinitely. + + * net/eww.el: Remove `eww-next-url', `eww-previous-url', + `eww-up-url', `eww-home-url', `eww-start-url' and + `eww-contents-url' and put the data into the `eww-data' plist. + This allow restoring these values after going back in the history. + +2014-11-10 Sylvain Chouleur (tiny change) + + Allow VTIMEZONE where daylight and standard time zones are equal. + See: http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00494.html + * calendar/icalendar.el (icalendar--convert-tz-offset): + Support timezone without daylight saving time. + +2014-11-10 Glenn Morris + + * startup.el (command-line): Handle nil elements in load-path. + +2014-11-10 Stefan Monnier + + * help.el (view-lossage): Include the actual commands run. + +2014-11-10 Dmitry Gutov + + * vc/vc-dir.el (vc-dir-hide-state): Also hide `ignored' items when + no state is specified. (Bug#18964) + +2014-11-09 Eric Ludlam + + * emacs-lisp/eieio-custom.el (eieio-customize-object): + Set eieio-cog (current group) to g, which is an improved form of input + group. + +2014-11-09 Juri Linkov + + * isearch.el (isearch-message-prefix): Show "Multi-file" and + "Multi-buffer" instead of "Multi". (Bug#13592) + + * misearch.el (multi-isearch-file-list): + Autoload multi-isearch-buffer-list and multi-isearch-file-list. + (multi-isearch-end): Reset multi-isearch-buffer-list and + multi-isearch-file-list to nil. + +2014-11-09 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): + Don't call byte-compile-preprocess since the result will go through + cconv. + (byte-compile-output-docform): Handle uninterned `name' correctly. + * emacs-lisp/cl-macs.el (cl-define-compiler-macro): Use interned name + to circumvent byte-compiler bug. + + * emacs-lisp/macroexp.el (macroexp--expand-all): Fix typo. + (macroexp--compiler-macro): Remove left-over debug code. + + * emacs-lisp/cl-extra.el (cl-get): Silence compiler warning. + +2014-11-08 Juri Linkov + + * simple.el (shell-command): Use buffer-name when output-buffer is + a buffer. (Bug#18096) + +2014-11-08 Juri Linkov + + * minibuffer.el (minibuffer-completion-help): Compare this-command + with completion-at-point. (Bug#17809) + +2014-11-08 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-report-error): + Allow the argument to be a string. Due to the vague doc, + it was already being used this way. + +2014-11-08 Michael Albinus + + * net/tramp.el (tramp-check-cached-permissions): Include hop in + the constructed Tramp file name. (Bug#18943) + +2014-11-08 Stefan Monnier + + * emulation/cua-base.el (cua--select-keymaps): Use region-active-p + (bug#18952). + (cua-set-mark, cua--post-command-handler-1): + * emulation/cua-gmrk.el (cua-cancel-global-mark): Same. + +2014-11-08 Michael Albinus + + * files.el (file-name-non-special): Wrap the call of + `insert-file-contents' by `unwind-protect', in order to set the + buffer's file name anyway. (Bug#18891) + +2014-11-08 Alan Mackenzie + + Fix wrong bound to c-font-lock-declarators. Fixes bug #18948. + * progmodes/cc-fonts.el (c-font-lock-declarations): + Pass "(point-max)" as bound to c-font-lock-declarators, not "limit", as + the buffer is sometimes narrowed to less than "limit" (e.g., in + the presence of macros). + +2014-11-08 Michael Albinus + + * net/tramp.el (tramp-error-with-buffer): Show connection buffer + only when message appeared in minibuffer. (Bug#18891) + + * net/tramp-adb.el (tramp-adb-handle-file-attributes): + * net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): + * net/tramp-sh.el (tramp-sh-handle-file-attributes): Return nil in + case of errors. + +2014-11-08 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): + Don't compile before eval in `eval-and-compile'. + (byte-compile-arglist-warn): Add check for defining macros after their + first use. Check call use even if the function is fboundp. + +2014-11-08 Richard Stallman + + * mail/rmail.el (rmail-epa-decrypt): Detect armor with line prefixes. + Check more carefully for mime-part specified character set. + Check for mime-part Content Transfer Encoding. + Notify if no armor found. + +2014-11-08 Martin Rudalics + + * faces.el (face-set-after-frame-default): Enable running + `window-configuration-change-hook'. + +2014-11-07 Juri Linkov + + * replace.el: History for query replace pairs. + (query-replace-defaults): Promote to a list of cons cell. Doc fix. + (query-replace-from-to-separator): New variable. + (query-replace-read-from): Let-bind query-replace-from-to-history + to a list of FROM-TO strings created from query-replace-defaults + and separated by query-replace-from-to-separator. Use it as + the history while reading from the minibuffer. Split the returned + string by the separator to get FROM and TO parts, and add them + to the history variables. + (query-replace-read-to): Add FROM-TO pairs to query-replace-defaults. + (query-replace-regexp-eval): Let-bind query-replace-defaults to nil. + http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00253.html + + * isearch.el (isearch-text-char-description): Keep characters + intact and put formatted strings with the `display' property. + +2014-11-07 Martin Rudalics + + * cus-start.el (frame-resize-pixelwise): Fix group. + (frame-inhibit-implied-resize): Add entry. + +2014-11-07 Daiki Ueno + + * epa.el (epa-pinentry-mode): New user option. + (epa-sign-file, epa-encrypt-file, epa-decrypt-region) + (epa-sign-region, epa-encrypt-region): Respect epa-pinentry-mode. + * epa-file.el (epa-file-insert-file-contents) + (epa-file-write-region): Respect epa-pinentry-mode. + +2014-11-07 Daiki Ueno + + * epg.el (epg--list-keys-1): Ignore fields after the 15th field + (bug#18979). Reported by Hideki Saito. + +2014-11-06 Daiki Ueno + + * emacs-lisp/package.el (package--display-verify-error): New function. + (package--check-signature): Use it to display output sent to stderr. + +2014-11-06 Stefan Monnier + + * subr.el (pop): Don't call the getter twice (bug#18968). + + * emacs-lisp/macroexp.el (macroexp--expand-all): Optimize away trivial + uses of `funcall'. + +2014-11-06 Daiki Ueno + + * epa.el (epa-error-buffer): New variable. + (epa-display-error): New function. + (epa-decrypt-file, epa-verify-file, epa-verify-region) + (epa-delete-keys, epa-import-keys): Display output sent to stderr. + (epa-sign-file, epa-sign-region, epa-encrypt-region) + (epa-export-keys, epa-insert-keys): Display output sent to stderr. + Use setf instead of epg-context-set-*. + * epa-file.el (epa-file-insert-file-contents): + Use epa-display-error instead of epa-display-info. Mimic the behavior + of jka-compr when decryption program is not found. + (epa-file-write-region): Use epa-display-error instead of + epa-display-info. + +2014-11-05 Stefan Monnier + + * vc/vc.el (vc-region-history): New command. + (vc-print-log-internal): Use cl-some. + + * vc/vc-git.el (vc-git-region-history): New function. + (vc-git-region-history-mode-map) + (vc-git--log-view-long-font-lock-keywords) + (vc-git-region-history-font-lock-keywords): New vars. + (vc-git-region-history-font-lock): New function. + (vc-git-region-history-mode): New major mode. + +2014-11-05 Tassilo Horn + + * net/eww.el (subr-x): Require subr-x at compile-time because eww + uses string-trim. + +2014-11-05 Daiki Ueno + + * epg.el (epg-context): Add new slot ERROR-OUTPUT. + (epg-error-output): New buffer-local variable. + (epg--start): Initialize epg-error-output. + (epg--process-filter): Record output lines sent to stderr, in + epg-error-output. + (epg-wait-for-completion): Copy epg-error-output to ERROR-OUTPUT + slot of context. + * epa-file.el (epa-file-insert-file-contents): On error, display + output sent to stderr. + (epa-file-write-region): Likewise. + +2014-11-05 Eli Zaretskii + + * jit-lock.el (jit-lock-stealth-fontify): Be tolerant to nil being + returned by load-average. + +2014-11-05 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Don't use + a local copy; setting `inhibit-file-name-handlers' proper might be + more performant. (Bug#18751) + +2014-11-05 Glenn Morris + + * mail/emacsbug.el (report-emacs-bug): No longer include + recent-keys in the report. (Bug#18900) + +2014-11-04 Paul Eggert + + * mouse.el (mouse-drag-line): Fix misspelling of "right-fringe". + +2014-11-04 Teodor Zlatanov + + * net/eww.el (eww): Trim URL with `string-trim'. + Suggested by Vibhav Pant . + +2014-11-03 Lars Magne Ingebrigtsen + + * net/eww.el (eww-score-readability): Don't count comments positively. + + * net/shr.el (shr-retransform-dom): Typo fix. + + * net/eww.el (eww-score-readability): Parse SVC images correctly. + (eww-display-html): Don't leave point inside forms. + + * net/shr.el: Ditto. + +2014-11-03 Stefan Monnier + + * emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Assume that + edebug-prin1-to-string already handles circularity. + + * emacs-lisp/byte-run.el (defun-declarations-alist): Fix compiler-macro + autoloading when specified as a lambda. + + * simple.el (execute-extended-command--last-typed): New var. + (read-extended-command): Set it. + Don't complete obsolete commands. + (execute-extended-command--shorter-1) + (execute-extended-command--shorter): New functions. + (execute-extended-command): Use them to suggest shorter names. + (indicate-copied-region, deactivate-mark): Use region-active-p. + +2014-11-03 Michael Albinus + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Use a + local copy of FILENAME, when it is remote. (Bug#18751) + + * net/tramp-adb.el (tramp-adb-handle-process-file): Do not raise + an error when the command fails; the return code must indicate. + (tramp-adb-send-command-and-check): Fix docstring. + +2014-11-03 Lars Magne Ingebrigtsen + + * net/shr.el (shr-retransform-dom): Don't ignore elements that + have no children like
. + + * net/eww.el (eww-display-html): Clear `url-queue'. + (eww-display-pdf): New function. + (eww-render): Display PDFs with `doc-view'. + (url-queue): Require `url-queue' to avoid compilation warning. + (eww-colorize-region): Remove duplicate function. + (eww-tag-body): Use `shr-colorize-region'. + +2014-11-03 Yoni Rabkin + + * net/eww.el (eww-list-bookmarks): Autoload. + +2014-11-03 Lars Magne Ingebrigtsen + + * net/shr.el (shr-retransform-dom): Allow several text sub-nodes. + + * net/eww.el (eww-display-html): The charset is called `utf-8', + not `utf8'. + (eww-readable): Decode the saved text correctly. + (eww-readable): Save the history before displaying so that we can + go back to the non-readable version. + (eww-display-html): Don't try to decode the text if we've been + passed in a pre-parsed DOM. + (eww-tag-title): Remove newlines and extra whitespace from the + displayed title. + +2014-11-02 Lars Magne Ingebrigtsen + + * net/eww.el (eww-readable): New command and keystroke. + + * net/shr.el (shr-retransform-dom): New function. + + * net/eww.el (eww-display-html): Set `eww-current-source' in the + correct buffer. + (eww-view-source): Use it. + +2014-11-02 Ivan Shmakov + + * net/eww.el (eww): Recognize colon-delimited IPv6 addresses. + (Bug#18603). + +2014-11-02 Brian McKenna (tiny change) + + * net/eww.el (eww-submit): Encode empty form values as "". (Bug#17785). + +2014-11-02 Ivan Shmakov + + * net/eww.el (eww): Allow "file:/file/name" URLs. (Bug#18825). + +2014-11-02 Ivan Shmakov + + * net/eww.el (eww-mode-map): Remove mentions of `eww-quit'. + (Bug#18834). + +2014-11-02 Eric Abrahamsen + + * emacs-lisp/eieio.el (eieio-edebug-prin1-to-string): Adjust for + use as advice. + (edebug-setup-hook): Advise `edebug-prin1-to-string'. (Bug#18897) + +2014-11-02 Stefan Monnier + + * emacs-lisp/pp.el (pp-macroexpand-expression): Use macroexpand-1 + (bug#18821). + * progmodes/elisp-mode.el (emacs-lisp-macroexpand): Idem. + +2014-11-01 Michael R. Mauger + + * sql.el (sql-mode-oracle-font-lock-keywords): Correct regexp + syntax, add new keywords, and parse longer keywords first. + (sql-redirect-one): Protect against empty command. + (sql-mode, sql-interactive-mode): Set `custom-mode-group' property + to SQL. (Bug#14759) + +2014-11-01 Michael R. Mauger + + * sql.el (sql-interactive-mode, sql-stop): Correct fix for + Bug#16814 with let-bind of comint-input-ring variables around read + and save functions. + +2014-11-01 Michael Albinus + + * net/tramp-cache.el (tramp-get-file-property) + (tramp-set-file-property): Check that `tramp-cache-get-count-*' + and `tramp-cache-set-count-*' are bound. Otherwise, there might + be compiler warnings. + + * net/tramp-sh.el (tramp-get-remote-uid, tramp-get-remote-gid): + Return -1 respective "UNKNOWN", if uid or gid cannot be determined. + +2014-11-01 Eli Zaretskii + + * progmodes/compile.el (compilation-mode): Turn off deferred + fontifications locally. (Bug#18856) + +2014-11-01 Wolfgang Jenkner + + * net/tramp-sh.el (tramp-send-command): Fix the case where the + remote-echo connection property is non-nil (bug#18858). + +2014-11-01 Stefan Monnier + + * simple.el (newline): Add assertions to try and help catch bug#18913. + + * emulation/cua-base.el (cua-delete-region): Use delete-active-region + (bug#18886). + (cua--last-deleted-region-pos, cua--last-deleted-region-text): Remove. + +2014-11-01 Kim F. Storm + + Restore cua-delete-copy-to-register-0 and M-v command (bug#18886). + * delsel.el (delete-selection-save-to-register) + (delsel--replace-text-or-position): New vars. + (delete-active-region): Use them. + (delete-selection-repeat-replace-region): New command, moved from + cua-base.el. + * emulation/cua-base.el (cua--repeat-replace-text): Remove var. + (cua-repeat-replace-region): Move command to delsel.el. + (cua--init-keymaps): Update binding accordingly. + (cua-mode): Set delete-selection-save-to-register. + +2014-11-01 Alan Mackenzie + + Make blink-parens work with a closing template delimiter. + * progmodes/cc-cmds.el (c-electric-lt-gt): Cause a redisplay + before calling blink-paren-function, so as to apply syntax-table + properties to the ">". + +2014-11-01 Jan Djärv + + * select.el (gui-get-selection): Comment: data-type ignored on NS. + +2014-10-31 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexpand-1): New function (bug#18821). + (macroexp--expand-all): Unrelated tweaks. + + * emacs-lisp/gv.el (gv-get): Use macroexpand-1. + +2014-10-30 Glenn Morris + + * startup.el (command-line): Remove pointless attempt to avoid + statting the file-system (which expand-file-name doesn't do). + +2014-10-30 Daniel Colascione + + Add "enum class" support to C++ mode. + * progmodes/cc-langs.el (c-after-brace-list-decl-kwds) + (c-after-brace-list-key): New language consts/variables. + * progmodes/cc-engine.el (c-looking-at-decl-block): + Exclude spurious match of "enum struct" from decl-block recognition. + (c-backward-colon-prefixed-type): New function. + (c-backward-over-enum-header): Call above function to extend + recognition of enum structure. + +2014-10-30 Stefan Monnier + + * progmodes/cc-defs.el (c--macroexpand-all): New function (bug#18845). + (c-lang-defconst): + * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use it. + +2014-10-30 Eli Zaretskii + + * progmodes/compile.el (compilation-start): + If compilation-scroll-output is non-nil, don't force window-start of + the compilation buffer to be at beginning of buffer. (Bug#18874) + + * startup.el (fancy-about-text): Read the entire tutorial, not + just its first 256 bytes. (Bug#18760) + +2014-10-30 Stefan Monnier + + * emacs-lisp/bytecomp.el: Require cl-extra (bug#18804). + * emacs-lisp/cl-extra.el: Add missing provide. + + * emacs-lisp/bytecomp.el (byte-compile-and-folded): Optimize case where + all args are copyable (bug#18767). + (=, <, >, <=, >=): Re-enable the optimization. + +2014-10-29 Glenn Morris + + * net/rcirc.el (rcirc-fill-column): Unbump :version. Mark :risky. + + * version.el (emacs-bzr-version, emacs-bzr-get-version): + Revert 2014-10-26 change. + +2014-10-29 Paul Eggert + + Simplify use of current-time and friends. + * allout-widgets.el (allout-widgets-hook-error-handler): + * calendar/appt.el (appt-display-message): + * calendar/icalendar.el (icalendar--convert-float-to-ical): + * calendar/timeclock.el (timeclock-in, timeclock-when-to-leave) + (timeclock-last-period, timeclock-day-base): + * eshell/em-ls.el (eshell-ls-file): + * eshell/esh-util.el (eshell-parse-ange-ls): + * generic-x.el (named-database-print-serial): + * net/newst-backend.el (newsticker--get-news-by-url-callback) + (newsticker-get-news, newsticker--sentinel-work) + (newsticker--image-get, newsticker--image-sentinel): + * net/tramp-sh.el (tramp-get-remote-touch): + * progmodes/opascal.el (opascal-debug-log): + * textmodes/remember.el (remember-mail-date) + (remember-store-in-files): + * vc/vc-annotate.el (vc-annotate-display-autoscale) + (vc-default-annotate-current-time): + * vc/vc-bzr.el (vc-bzr-shelve-snapshot): + * vc/vc-cvs.el (vc-cvs-annotate-current-time): + * vc/vc-rcs.el (vc-rcs-annotate-current-time): + Omit unnecessary call to current-time. + * calendar/time-date.el (time-to-seconds) [!float-time]: + * vc/vc-annotate.el (vc-annotate-convert-time): + Use current time if arg is nil, to be compatible with float-time. + (time-date--day-in-year): New function, with most of the guts of + the old time-to-day-in-year. + (time-to-day-in-year): Use it. + (time-to-days): Use it, to avoid decoding the same time stamp twice. + * calendar/timeclock.el (timeclock-time-to-date): + Arg is now optional, like current-time-string. + (timeclock-update-mode-line): + Don't call current-time twice to get the current time stamp, + as this can lead to inconsistent results. + * completion.el (cmpl-hours-since-origin): + * ido.el (ido-time-stamp): + * vc/vc-annotate.el (vc-annotate-convert-time): + Simplify by using float-time. + * completion.el (save-completions-to-file): + Rename local var to avoid confusion. + * net/rcirc.el (rcirc-float-time): Simplify to an alias because + time-to-seconds now behaves like float-time with respect to nil arg. + * subr.el (progress-reporter-do-update): + Don't call float-time unless needed. + +2014-10-29 Leo Liu + + * net/rcirc.el (rcirc-fill-column): Use function. + (rcirc-markup-fill): Remove adjustment. + +2014-10-28 Christopher Schmidt + + * calc/calc.el (quick-calc): + * calc/calc-aent.el (calc-do-quick-calc): New argument INSERT. + +2014-10-28 Sam Steingold + + * net/rcirc.el (rcirc-fill-column): Allow any symbolic value for + the sake of `window-body-width' (in addition to `frame-width'). + +2014-10-26 Eric S. Raymond + + * version.el: Fix some fallback values to conform to the actual + release number. + +2014-10-25 Eric S. Raymond + + * Makefile.in: Change some production names so they're neutral + about the repository type. + +2014-10-25 Michael Albinus + + * net/tramp-gvfs.el (tramp-gvfs-methods-mounttracker) + (tramp-gvfs-mountlocation-signature): Check `tramp-gvfs-enabled' + during initialization. (Bug#18774) + +2014-10-25 Vincent Belaïche + + * ses.el (macroexp): Add require for this package, so that + function `ses--cell' gets macroexp-quote --- this change was + supposed to be in my previous commit, but left out by mistake. + (ses--cell): Do not make formula a macroexp-quote of value when + value, not formula, is *skip*. + +2014-10-24 Vincent Belaïche + + * ses.el (macroexp): Add require for this package, so that function + `ses--cell gets macroexp-quote. + (ses--cell): Makes formula a macroexp-quote of value when formula + is nil. The rationale of this changr is to allow in the future + shorter SES files, e.g. we could have only `(ses-cell A1 1.0)' + instead of `(ses-cell A1 1.0 1.0 nil REFLIST)'. In such a case + reference list REFLIST would be re-computed after load --- thus + trading off load time against file size. + + * emacs-lisp/package.el (package--alist-to-plist-args): + Use macroexp-quote instead of a lambda expression which has the same + content as macroexp-quote. + (macroexp): Add require for this package, so that function + `package--alist-to-plist-args' gets macroexp-quote. + + * emacs-lisp/macroexp.el (macroexp-quote): New defun. + +2014-10-24 Stefan Monnier + + * term/ns-win.el (ns-store-cut-buffer-internal) + (ns-copy-including-secondary): Use gui-set-selection (bug#18816). + +2014-10-24 Martin Rudalics + + * mouse.el (mouse-drag-line): Don't use mouse-pixel-position. + Calculate increment from last position instead of window edge. + Add right- and bottom-divider bindings to transient map. + +2014-10-23 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-defstruct): Define an internal predicate + even if :predicate was nil, for the benefit of typep. + Record the name of the predicate for typep's use. + (cl--make-type-test): Use pcase. Obey new + cl-deftype-satisfies property. + + * epg.el: Use cl-defstruct. + (epg-make-data-from-file, epg-make-data-from-string, epg-data-file) + (epg-data-string): Define via cl-defstruct. + (epg--gv-nreverse): New macro. + (epg-context--make): New constructor (provided vi cl-defstruct). + (epg-make-context): Rewrite using it. + (epg-context-protocol, epg-context-program) + (epg-context-home-directory, epg-context-armor, epg-context-textmode) + (epg-context-include-certs, epg-context-cipher-algorithm) + (epg-context-digest-algorithm, epg-context-compress-algorithm) + (epg-context-passphrase-callback, epg-context-progress-callback) + (epg-context-signers, epg-context-sig-notations, epg-context-process) + (epg-context-output-file, epg-context-result, epg-context-operation) + (epg-context-pinentry-mode): Define using cl-defstruct. + (epg-context-set-protocol, epg-context-set-program) + (epg-context-set-include-certs, epg-context-set-cipher-algorithm) + (epg-context-set-digest-algorithm) + (epg-context-set-sig-notations, epg-context-set-process) + (epg-context-set-output-file, epg-context-set-result) + (epg-context-set-operation, epg-context-set-pinentry-mode) + (epg-context-set-compress-algorithm): Remove. Use setf instead. + (epg-context-set-armor, epg-context-set-textmode) + (epg-context-set-signers): Redefine using setf + and declare as obsolete. + (epg-context-set-passphrase-callback) + (epg-context-set-progress-callback): Use setf. + (epg-signature-notations): Rename from epg-sig-notations. + (epg-make-signature, epg-signature-status, epg-signature-key-id) + (epg-signature-validity, epg-signature-fingerprint) + (epg-signature-creation-time, epg-signature-expiration-time) + (epg-signature-pubkey-algorithm, epg-signature-digest-algorithm) + (epg-signature-class, epg-signature-version): Define vi cl-defstruct. + (epg-signature-set-status, epg-signature-set-key-id) + (epg-signature-set-validity, epg-signature-set-fingerprint) + (epg-signature-set-creation-time, epg-signature-set-expiration-time) + (epg-signature-set-pubkey-algorithm) + (epg-signature-set-digest-algorithm, epg-signature-set-class) + (epg-signature-set-version, epg-signature-set-notations): Remove. + Use setf instead. + (epg-make-new-signature, epg-new-signature-type) + (epg-new-signature-pubkey-algorithm) + (epg-new-signature-digest-algorithm, epg-new-signature-class) + (epg-new-signature-creation-time, epg-new-signature-fingerprint): + Define using cl-defstruct. + (epg-make-key, epg-key-owner-trust, epg-key-sub-key-list) + (epg-key-user-id-list): Define using cl-defstruct. + (epg-key-set-sub-key-list, epg-key-set-user-id-list): Remove. + Use setf instead. + (epg-make-sub-key, epg-sub-key-validity, epg-sub-key-capability) + (epg-sub-key-secret-p, epg-sub-key-algorithm, epg-sub-key-length) + (epg-sub-key-id, epg-sub-key-creation-time) + (epg-sub-key-expiration-time, epg-sub-key-fingerprint): Define using + cl-defstruct. + (epg-sub-key-set-fingerprint): Remove. Use setf instead. + (epg-make-user-id, epg-user-id-validity, epg-user-id-string) + (epg-user-id-signature-list): Define using cl-defstruct. + (epg-user-id-set-signature-list): Remove. Use setf instead. + (epg-make-key-signature, epg-key-signature-validity) + (epg-key-signature-pubkey-algorithm, epg-key-signature-key-id) + (epg-key-signature-creation-time, epg-key-signature-expiration-time) + (epg-key-signature-user-id, epg-key-signature-class) + (epg-key-signature-exportable-p): Define using cl-defstruct. + (epg-make-sig-notation, epg-sig-notation-name) + (epg-sig-notation-value, epg-sig-notation-human-readable) + (epg-sig-notation-critical): Define using cl-defstruct. + (epg-sig-notation-set-value): Remove. Use setf instead. + (epg-make-import-status, epg-import-status-fingerprint) + (epg-import-status-reason, epg-import-status-new) + (epg-import-status-user-id, epg-import-status-signature) + (epg-import-status-sub-key, epg-import-status-secret): Define using + cl-defstruct. + (epg-make-import-result, epg-import-result-considered) + (epg-import-result-no-user-id, epg-import-result-imported) + (epg-import-result-imported-rsa, epg-import-result-unchanged) + (epg-import-result-new-user-ids, epg-import-result-new-sub-keys) + (epg-import-result-new-signatures, epg-import-result-new-revocations) + (epg-import-result-secret-read, epg-import-result-secret-imported) + (epg-import-result-secret-unchanged, epg-import-result-not-imported) + (epg-import-result-imports): Define using cl-defstruct. + + * emacs-lisp/package.el: Require EPG during macroexpansion. + (package--check-signature, package-import-keyring): Use setf instead of + epg-context-set-home-directory. + +2014-10-23 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile--use-old-handlers): Change default. + +2014-10-23 Leo Liu + + * progmodes/cfengine.el (cfengine3-defun-full-re): New var. + (cfengine3-create-imenu-index): Use it and use ` ' for separation. + (cfengine3-current-defun): New function. + (cfengine3-mode): Set add-log-current-defun-function. + +2014-10-23 Stefan Monnier + + * select.el: Use lexical-binding. + (gui-set-selection): Provide an implementation for non-GUI frames + (bug#18791). + * term/x-win.el: Use lexical-binding. + (x-clipboard-yank): Fix up missed renamings. + * term/w32-win.el (libgif-version, libjpeg-version): Silence compiler. + (w32--set-selection): Fix up var names. + * term/pc-win.el: Use lexical-binding. + (w16-selection-exists-p): Silence compiler warning. + (w16-selection-owner-p): Fix up missed renamings. + + * emacs-lisp/bytecomp.el (byte-compile-form): Remove left-over debug. + + * frame.el (frame-notice-user-settings): Fix excessive quoting. + +2014-10-22 Tassilo Horn + + * doc-view.el (doc-view-open-text): View the document's plain text + in the current buffer instead of a new one. + (doc-view-toggle-display): Handle the case where the current + buffer contains the plain text contents of the document. + (doc-view-initiate-display): Don't switch to fallback mode if the + user wants to view the doc's plain text. + (doc-view-set-doc-type): Use assoc-string instead of + assoc-ignore-case. + +2014-10-21 Stefan Monnier + + * subr.el (read-key): Fix clicks on the mode-line. + (set-transient-map): Return exit function. + + * mouse.el (mouse-drag-line): Use set-transient-map (bug#18015). + (mouse--down-1-maybe-follows-link): Remove unused var `this-event'. + (mouse-yank-secondary): Use gui-get-selection. + (mouse--down-1-maybe-follows-link): Use read-key. + + * xt-mouse.el: Add `event-kind' property on the fly from + xterm-mouse-translate-1 rather than statically at the outset. + +2014-10-21 Daniel Colascione + + * vc/vc-dispatcher.el (vc-resynch-window): Tell view-mode not to + change window configuration when we turn it off. + +2014-10-21 Stefan Monnier + + Get rid of backend-dependent selection-handling functions for kill/yank + and make it generic instead by relying on the lower-level selection + management functions. + + * select.el (select-enable-clipboard): Rename from + gui-select-enable-clipboard. + (select-enable-primary): Move from x-win.el and rename from + x-select-enable-primary. + (gui-last-selected-text): Remove. + (gui--last-selected-text-clipboard, gui--last-selected-text-primary): + New vars. + (gui-select-text): Rewrite, based on x-win.el's old x-select-text. + (gui-select-text-alist, gui-selection-value-alist): Remove. + (x-select-request-type): Move from x-win.el. + (gui--selection-value-internal): New function, taken from x-win's + x-selection-value-internal. + (gui-selection-value): Rewrite, based on x-win.el's old x-selection-value. + (gui-set-selection-alist): Rename from gui-own-selection-alist and + extend it to handle a nil value as a "disown" request. + (gui-disown-selection-alist): Remove. + (xselect-convert-to-delete): Adjust accordingly. + (gui-set-selection): Simplify accordingly as well. Use dotimes. + + * term/x-win.el (x-last-selected-text-primary) + (x-select-enable-primary): Remove (moved to select.el). + (x-select-request-type): Move to select.el. + (x-selection-value-internal, x--selection-value): Remove functions. + (gui-selection-value, gui-select-text): Remove moethods. + (gui-set-selection): Merge own and disown methods. + + * term/w32-win.el (w32--select-text, w32--get-selection-value): + Delete function (move functionality into w32--set-selection and + w32--get-selection). + (gui-select-text, gui-selection-value): Don't define methods. + (w32--set-selection, w32--get-selection, w32--selection-owner-p): + New functions. + (gui-get-selection, gui-selection-owner-p, gui-selection-exists-p): + Use them. + (gui-selection-exists-p): Adjust to new name of C primitive. + + * term/pc-win.el (w16-get-selection-value): Add dummy argument and drop + test of gui-select-enable-clipboard, to make it usable as + a gui-get-selection method. + (gui-selection-exists-p): Adjust to new name of C primitive. + (gui-set-selection): Merge own and disown methods. + (gui-select-text, gui-selection-value): Delete methods. + (w16--select-text): Delete function. + + * term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard) + (ns-selection-value): Remove functions. + (gui-select-text, gui-selection-value): Don't define method any more. + (gui-set-selection): Merge the old own and disown methods. + (gui-selection-exists-p, gui-get-selection): Adjust to new name of + underlying C primitive. + + * startup.el (command-line): Adjust now that `gui-method' expects nil + for ttys. + + * frame.el (gui-method): Use window-system rather than framep. + (gui-method-declare): The tty case is now nil rather than t. + (make-frame): Adjust accordingly. + +2014-10-21 Stefan Monnier + + * net/newst-reader.el (newsticker--image-read): Simplify. + (newsticker--icon-read): Use dolist and fix free var error. + + * imenu.el (imenu--menubar-keymap): New var. + (imenu-add-to-menubar): Set it to remember the keymap we used. + (imenu-update-menubar): Use it instead of asking lookup-key. + + * obsolete/cc-compat.el: Make obsolete (bug#18561). + + * epg-config.el (epg-gpg-program): Don't use absolute names by default. + + * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg + case (bug#18767). + +2014-10-21 Glenn Morris + + * Merge in all changes up to version 24.4 release. + +2014-10-20 Stefan Monnier + + * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg + case (bug#18767). + 2014-10-20 Glenn Morris - * Version 24.4 released. + * Merge in all changes up to 24.4 release. + +2014-10-20 Ulf Jasper + + * net/newst-backend.el + (newsticker--image-download-by-url-callback): Make this function + actually work: Check status properly, then save image. + +2014-10-20 Stefan Monnier + + * mouse.el (mouse--down-1-maybe-follows-link): Remove unused var + `this-event'. + (mouse-drag-line): Unless there's no actual mouse, use the event's + position info. + +2014-10-20 Stefan Monnier + + * textmodes/css-mode.el (scss-mode): New major-mode. + (css-mode-syntax-table): Use d style comment, to ease the scss case. + (css-ident-re): Allow things like @-moz-keyframes. + (scss--hash-re): New const. + (css--font-lock-keywords): New function, extracted from + css-font-lock-keywords. + +2014-10-19 Ulf Jasper -2014-10-15 Alan Mackenzie + * net/newst-backend.el: Require url-parse. + (newsticker--get-news-by-wget): Store feed name as process property. + (newsticker--sentinel): Read feed name from process property. + (newsticker--sentinel-work): Rename argument name to feed-name. + Rename variable imageurl to image-url. Pick icon url from Atom + 1.0 data. Launch download of feed icon. + (newsticker--get-icon-url-atom-1.0): New. + (newsticker--unxml) + (newsticker--unxml-node) + (newsticker--unxml-attribute): Documentation. + (newsticker--icons-dir): New. + (newsticker--image-get): New arguments FILENAME and DIRECTORY. + Use `url-retrieve' if `newsticker-retrieval-method' is 'intern. + (newsticker--image-download-by-wget): New. Use process properties + for storing informations. + (newsticker--image-sentinel): Read informations from process properties. + (newsticker--image-save) + (newsticker--image-remove) + (newsticker--image-download-by-url) + (newsticker--image-download-by-url-callback): New. + (newsticker-opml-export): Handle url list entries containing a + function instead of an url string. + + * net/newst-reader.el (newsticker-html-renderer): Whitespace. + (newsticker--print-extra-elements) + (newsticker--do-print-extra-element): + Documentation (newsticker--image-read): Optionally limit image height. + Use imagemagick if possible. + (newsticker--icon-read): New. + + * net/newst-treeview.el (newsticker--treeview-item-show): Limit height of feed logo. + (newsticker--treeview-tree-expand): Use feed icons in treeview. + (newsticker--tree-widget-icon-create): New. Set the tree widget icon. + (newsticker--tree-widget-leaf-icon): Use feed icon. + +2014-10-19 Stefan Monnier + + * emacs-lisp/eieio-opt.el (eieio-lambda-arglist): Remove. + Use help-function-arglist instead. + + * emacs-lisp/eieio-core.el (eieio-compiled-function-arglist): Remove. + (eieio--with-scoped-class): Use `declare'. + (eieio-defclass): Remove compatibility code. + (no-method-definition, no-next-method, inconsistent-class-hierarchy) + (invalid-slot-type, unbound-slot, invalid-slot-name): Use define-error. + +2014-10-18 Jan Djärv + + * cus-start.el (x-gtk-whole-detached-tool-bar): Remove. + + * term/x-win.el (x-gtk-stock-map): Add icon names suggested as + replacements to stock names before stock names in a list. + Cdr may be a list, each name is tried in turn until one is found. + +2014-10-18 Alan Mackenzie + + Check that a "macro" found near point-min isn't a ## operator. + Fixes bug #18749. + * progmodes/cc-engine.el (c-macro-is-genuine-p): New function. + (c-beginning-of-macro): Use the above new function. + +2014-10-18 Teodor Zlatanov + + * net/gnutls.el (gnutls-negotiate): Don't use cl-mapcan; pass + correct data to `gnutls-boot' (Bug#18664). + Reported by Toke Høiland-Jørgensen . + +2014-10-18 Michal Nazarewicz + + * whitespace.el (whitespace-style, whitespace-big-indent) + (whitespace-big-indent-regexp, whitespace-style-value-list) + (whitespace-toggle-option-alist, whitespace-interactive-char) + (whitespace-toggle-options) + (global-whitespace-toggle-options, whitespace-help-text) + (whitespace-style-face-p, whitespace-color-on): Add a 'big-indent + style to `whitespace-mode' to indicate that the line indentation + is too deep. By default, 32 SPACEs or four TABs are considered + too many but `whitespace-big-indent-regexp' can be configured. + +2014-10-17 Michal Nazarewicz + + * textmodes/tildify.el (tildify--pick-alist-entry): Rename from + tildify-mode-alist. + +2014-10-17 Stefan Monnier + + * emacs-lisp/eieio.el: Use lexical-binding drop non-GV fallback. + (defclass, defgeneric, defmethod): Add doc-string position. + (with-slots): Require cl-lib. + + * emacs-lisp/eieio-core.el: Use lexical-binding and cl-lib. + (list-of): New type. + (eieio--typep): Remove. + (eieio-perform-slot-validation): Use cl-typep instead. + + * emacs-lisp/eieio-base.el: Use lexical-binding and cl-lib. + + * emacs-lisp/cl-macs.el (cl--make-type-test): Avoid ((lambda ..) ..). + +2014-10-16 Alan Mackenzie + + Trigger showing when point is in the "periphery" of a line or just + inside a paren. + * paren.el (show-paren-style, show-paren-delay) + (show-paren-priority, show-paren-ring-bell-on-mismatch): + Remove superfluous :group specifications. + (show-paren-when-point-inside-paren) + (show-paren-when-point-in-periphery): New customizable variables. + (show-paren-highlight-openparen): Make into a defcustom. + (show-paren--unescaped-p, show-paren--categorize-paren) + (show-paren--locate-near-paren): New defuns. + (show-paren--default): Refaactor and trigger on more paren + positions. + (show-paren-function): Small consequential changes. + +2014-10-16 Tom Tromey + + * files.el (auto-mode-alist): Use javascript-mode for .jsm + (bug #18719). + +2014-10-16 Eli Zaretskii + + * international/characters.el (bracket-type): Force pre-loading of + uni-brackets.el. + +2014-10-16 Alan Mackenzie * cus-edit.el (custom-command-apply): Specify the return value in the doc string. diff --cc lisp/net/eudc-vars.el index 6bc0337f958,b3a0bf95e0e..29ddf613376 --- a/lisp/net/eudc-vars.el +++ b/lisp/net/eudc-vars.el @@@ -41,14 -41,37 +41,36 @@@ "The name or IP address of the directory server. A port number may be specified by appending a colon and a number to the name of the server. Use `localhost' if the directory - server resides on your computer (BBDB backend)." - :type '(choice (string :tag "Server") (const :tag "None" nil)) - :group 'eudc) + server resides on your computer (BBDB backend). + + To specify multiple servers, customize eudc-server-hotlist + instead." - :type '(choice (string :tag "Server") (const :tag "None" nil)) - :group 'eudc) ++ :type '(choice (string :tag "Server") (const :tag "None" nil))) ;; Known protocols (used in completion) ;; Not to be mistaken with `eudc-supported-protocols' (defvar eudc-known-protocols '(bbdb ph ldap)) + (defcustom eudc-server-hotlist nil -"Directory servers to query. ++ "Directory servers to query. + This is an alist of the form (SERVER . PROTOCOL). SERVER is the + host name or URI of the server, PROTOCOL is a symbol representing + the EUDC backend with which to access the server. + + The BBDB backend ignores SERVER; `localhost' can be used as a + placeholder string." + :tag "Directory Servers to Query" + :type `(repeat (cons :tag "Directory Server" + (string :tag "Server Host Name or URI") + (choice :tag "Protocol" + :menu-tag "Protocol" + ,@(mapcar (lambda (s) + (list 'const + ':tag (symbol-name s) s)) + eudc-known-protocols) + (const :tag "None" nil)))) - :group 'eudc) ++ :version "25.1") + (defvar eudc-supported-protocols nil "Protocols currently supported by EUDC. This variable is updated when protocol-specific libraries @@@ -61,15 -84,15 +83,13 @@@ Supported protocols are specified by `e ,@(mapcar (lambda (s) (list 'const ':tag (symbol-name s) s)) eudc-known-protocols) -- (const :tag "None" nil)) -- :group 'eudc) ++ (const :tag "None" nil))) (defcustom eudc-strict-return-matches t "Ignore or allow entries not containing all requested return attributes. If non-nil, such entries are ignored." -- :type 'boolean -- :group 'eudc) ++ :type 'boolean) (defcustom eudc-default-return-attributes nil "A list of default attributes to extract from directory entries. @@@ -82,8 -105,8 +102,7 @@@ server. (repeat :menu-tag "Attribute list" :tag "Attribute name" :value (nil) -- (symbol :tag "Attribute name"))) -- :group 'eudc) ++ (symbol :tag "Attribute name")))) (defcustom eudc-multiple-match-handling-method 'select "What to do when multiple entries match an inline expansion query. @@@ -102,8 -125,8 +121,7 @@@ Possible values are (const :menu-tag "Abort Operation" :tag "Abort Operation" abort) (const :menu-tag "Default (Use First)" -- :tag "Default (Use First)" nil)) -- :group 'eudc) ++ :tag "Default (Use First)" nil))) (defcustom eudc-duplicate-attribute-handling-method '((email . duplicate)) "A method to handle entries containing duplicate attributes. @@@ -130,10 -153,11 +148,10 @@@ different values. (const :menu-tag "List" list) (const :menu-tag "First" first) (const :menu-tag "Concat" concat) -- (const :menu-tag "Duplicate" duplicate))))) -- :group 'eudc) ++ (const :menu-tag "Duplicate" duplicate)))))) - (defcustom eudc-inline-query-format '((name) + (defcustom eudc-inline-query-format '((email) + (firstname) (firstname name)) "Format of an inline expansion query. This is a list of FORMATs. A FORMAT is itself a list of one or more @@@ -160,14 -184,16 +178,16 @@@ must be set in a protocol/server-local (const :menu-tag "Email Address" :tag "Email Address" email) (const :menu-tag "Phone" :tag "Phone" phone) (symbol :menu-tag "Other" :tag "Attribute name")))) -- :group 'eudc) ++ :version "25.1") - (defcustom eudc-expansion-overwrites-query t + ;; Default to nil so that the most common use of eudc-expand-inline, + ;; where replace is nil, does not affect the kill ring. + (defcustom eudc-expansion-overwrites-query nil "If non-nil, expanding a query overwrites the query string." :type 'boolean -- :group 'eudc) ++ :version "25.1") - (defcustom eudc-inline-expansion-format '("%s" email) + (defcustom eudc-inline-expansion-format '("%s %s <%s>" firstname name email) "A list specifying the format of the expansion of inline queries. This variable controls what `eudc-expand-inline' actually inserts in the buffer. First element is a string passed to `format'. Remaining @@@ -185,7 -211,7 +205,7 @@@ are passed as additional arguments to ` (const :menu-tag "Phone" :tag "Phone" phone) (symbol :menu-tag "Other") (symbol :tag "Attribute name")))) -- :group 'eudc) ++ :version "25.1") (defcustom eudc-inline-expansion-servers 'server-then-hotlist "Which servers to contact for the expansion of inline queries. @@@ -198,8 -224,8 +218,7 @@@ Possible values are :menu-tag "Servers" (const :menu-tag "Current server" current-server) (const :menu-tag "Servers in the hotlist" hotlist) -- (const :menu-tag "Current server then hotlist" server-then-hotlist)) -- :group 'eudc) ++ (const :menu-tag "Current server then hotlist" server-then-hotlist))) (defcustom eudc-max-servers-to-query nil "Maximum number of servers to query for an inline expansion. @@@ -213,8 -239,8 +232,7 @@@ If nil, query all servers available fro (const :menu-tag "3" 3) (const :menu-tag "4" 4) (const :menu-tag "5" 5) -- (integer :menu-tag "Set")) -- :group 'eudc) ++ (integer :menu-tag "Set"))) (defcustom eudc-query-form-attributes '(name firstname email phone) "A list of attributes presented in the query form." @@@ -226,8 -252,8 +244,7 @@@ (const :menu-tag "Surname" :tag "Surname" name) (const :menu-tag "Email Address" :tag "Email Address" email) (const :menu-tag "Phone" :tag "Phone" phone) -- (symbol :menu-tag "Other" :tag "Attribute name"))) -- :group 'eudc) ++ (symbol :menu-tag "Other" :tag "Attribute name")))) (defcustom eudc-user-attribute-names-alist '((url . "URL") (callsign . "HAM Call Sign") @@@ -257,15 -283,15 +274,13 @@@ at `_' characters and capitalizing the :tag "User-defined Names of Directory Attributes" :type '(repeat (cons :tag "Field" (symbol :tag "Directory attribute") -- (string :tag "User friendly name "))) -- :group 'eudc) ++ (string :tag "User friendly name ")))) (defcustom eudc-use-raw-directory-names nil "If non-nil, use attributes names as defined in the directory. Otherwise, directory query/response forms display the user attribute names defined in `eudc-user-attribute-names-alist'." -- :type 'boolean -- :group 'eudc) ++ :type 'boolean) (defcustom eudc-attribute-display-method-alist nil "An alist specifying methods to display attribute values. @@@ -277,8 -303,8 +292,7 @@@ attribute values for display. :tag "Attribute Decoding Functions" :type '(repeat (cons :tag "Attribute" (symbol :tag "Name") -- (symbol :tag "Display Function"))) -- :group 'eudc) ++ (symbol :tag "Display Function")))) (defcustom eudc-external-viewers '(("ImageMagick" "display" "-") ("ShowAudio" "showaudio")) @@@ -295,18 -321,18 +309,15 @@@ arguments that should be passed to the (repeat :tag "Arguments" :inline t -- (string :tag "Argument")))) -- :group 'eudc) ++ (string :tag "Argument"))))) (defcustom eudc-options-file "~/.eudc-options" "A file where the `servers' hotlist is stored." -- :type '(file :Tag "File Name:") -- :group 'eudc) ++ :type '(file :Tag "File Name:")) (defcustom eudc-mode-hook nil "Normal hook run on entry to EUDC mode." -- :type '(repeat (sexp :tag "Hook definition")) -- :group 'eudc) ++ :type 'hook) ;;}}} @@@ -341,8 -367,8 +352,7 @@@ BBDB fields. SPECs are sexps which ar :tag "BBDB to PH Field Name Mapping" :type '(repeat (cons :tag "Field Name" (symbol :tag "BBDB Field") -- (sexp :tag "Conversion Spec"))) -- :group 'eudc-ph) ++ (sexp :tag "Conversion Spec")))) ;;}}} @@@ -376,8 -402,8 +386,7 @@@ BBDB fields. SPECs are sexps which ar :tag "BBDB to LDAP Attribute Names Mapping" :type '(repeat (cons :tag "Field Name" (symbol :tag "BBDB Field") -- (sexp :tag "Conversion Spec"))) -- :group 'eudc-ldap) ++ (sexp :tag "Conversion Spec")))) ;;}}} @@@ -391,14 -417,14 +400,12 @@@ "If non-nil, BBDB address and phone locations are used as attribute names. This has no effect on queries (you can't search for a specific location) but influences the way records are displayed." -- :type 'boolean -- :group 'eudc-bbdb) ++ :type 'boolean) (defcustom eudc-bbdb-enable-substring-matches t "If non-nil, authorize substring match in the same way BBDB does. Otherwise records must match queries exactly." -- :type 'boolean -- :group 'eudc-bbdb) ++ :type 'boolean) ;;}}} diff --cc lisp/net/eudc.el index 0f2fc0be7bd,352ce74c892..4dd80972e3f --- a/lisp/net/eudc.el +++ b/lisp/net/eudc.el @@@ -851,80 -856,78 +856,76 @@@ see `eudc-inline-expansion-servers' (> (length servers) eudc-max-servers-to-query)) (setcdr (nthcdr (1- eudc-max-servers-to-query) servers) nil)) - (condition-case signal + (unwind-protect - (condition-case signal - (progn - (setq response - (catch 'found - ;; Loop on the servers - (while servers - (eudc-set-server (eudc-caar servers) (eudc-cdar servers) t) - - ;; Determine which formats apply in the query-format list - (setq query-formats - (or - (eudc-extract-n-word-formats eudc-inline-query-format - (length query-words)) - (if (null eudc-protocol-has-default-query-attributes) - '(name)))) - - ;; Loop on query-formats - (while query-formats - (setq response - (eudc-query - (eudc-format-query query-words (car query-formats)) - (eudc-translate-attribute-list - (cdr eudc-inline-expansion-format)))) - (if response - (throw 'found response)) - (setq query-formats (cdr query-formats))) - (setq servers (cdr servers))) - ;; No more servers to try... no match found - nil)) - - - (if (null response) - (error "No match") - - ;; Process response through eudc-inline-expansion-format - (while response - (setq response-string (apply 'format - (car eudc-inline-expansion-format) - (mapcar (function - (lambda (field) - (or (cdr (assq field (car response))) - ""))) - (eudc-translate-attribute-list - (cdr eudc-inline-expansion-format))))) - (if (> (length response-string) 0) - (setq response-strings - (cons response-string response-strings))) - (setq response (cdr response))) - - (if (or - (and replace (not eudc-expansion-overwrites-query)) - (and (not replace) eudc-expansion-overwrites-query)) - (kill-ring-save beg end)) - (cond - ((or (= (length response-strings) 1) - (null eudc-multiple-match-handling-method) - (eq eudc-multiple-match-handling-method 'first)) - (delete-region beg end) - (insert (car response-strings))) - ((eq eudc-multiple-match-handling-method 'select) - (eudc-select response-strings beg end)) - ((eq eudc-multiple-match-handling-method 'all) - (delete-region beg end) - (insert (mapconcat 'identity response-strings ", "))) - ((eq eudc-multiple-match-handling-method 'abort) - (error "There is more than one match for the query"))))) - (error - (signal (car signal) (cdr signal)))) + (progn + (setq response + (catch 'found + ;; Loop on the servers + (while servers + (eudc-set-server (eudc-caar servers) (eudc-cdar servers) t) + + ;; Determine which formats apply in the query-format list + (setq query-formats + (or + (eudc-extract-n-word-formats eudc-inline-query-format + (length query-words)) + (if (null eudc-protocol-has-default-query-attributes) + '(name)))) + + ;; Loop on query-formats + (while query-formats + (setq response + (eudc-query + (eudc-format-query query-words (car query-formats)) + (eudc-translate-attribute-list + (cdr eudc-inline-expansion-format)))) + (if response + (throw 'found response)) + (setq query-formats (cdr query-formats))) + (setq servers (cdr servers))) + ;; No more servers to try... no match found + nil)) + + + (if (null response) + (error "No match") + + ;; Process response through eudc-inline-expansion-format + (while response - (setq response-string (apply 'format - (car eudc-inline-expansion-format) - (mapcar (function - (lambda (field) - (or (cdr (assq field (car response))) - ""))) - (eudc-translate-attribute-list - (cdr eudc-inline-expansion-format))))) ++ (setq response-string ++ (apply 'format ++ (car eudc-inline-expansion-format) ++ (mapcar (function ++ (lambda (field) ++ (or (cdr (assq field (car response))) ++ ""))) ++ (eudc-translate-attribute-list ++ (cdr eudc-inline-expansion-format))))) + (if (> (length response-string) 0) + (setq response-strings + (cons response-string response-strings))) + (setq response (cdr response))) + + (if (or + (and replace (not eudc-expansion-overwrites-query)) + (and (not replace) eudc-expansion-overwrites-query)) + (kill-ring-save beg end)) + (cond + ((or (= (length response-strings) 1) + (null eudc-multiple-match-handling-method) + (eq eudc-multiple-match-handling-method 'first)) + (delete-region beg end) + (insert (car response-strings))) + ((eq eudc-multiple-match-handling-method 'select) + (eudc-select response-strings beg end)) + ((eq eudc-multiple-match-handling-method 'all) + (delete-region beg end) + (insert (mapconcat 'identity response-strings ", "))) + ((eq eudc-multiple-match-handling-method 'abort) - (error "There is more than one match for the query")))) - (or (and (equal eudc-server eudc-former-server) - (equal eudc-protocol eudc-former-protocol)) - (eudc-set-server eudc-former-server eudc-former-protocol t))) - (error - (or (and (equal eudc-server eudc-former-server) - (equal eudc-protocol eudc-former-protocol)) - (eudc-set-server eudc-former-server eudc-former-protocol t)) - (signal (car signal) (cdr signal)))))) ++ (error "There is more than one match for the query"))))) + (or (and (equal eudc-server eudc-former-server) + (equal eudc-protocol eudc-former-protocol)) + (eudc-set-server eudc-former-server eudc-former-protocol t))))) ;;;###autoload (defun eudc-query-form (&optional get-fields-from-server) diff --cc lisp/net/ldap.el index eb1b7589b48,fb425b33dfd..a77fc3c6514 --- a/lisp/net/ldap.el +++ b/lisp/net/ldap.el @@@ -47,15 -48,15 +48,13 @@@ A TCP port number can be appended to that name using a colon as a separator." :type '(choice (string :tag "Host name") -- (const :tag "Use library default" nil)) -- :group 'ldap) ++ (const :tag "Use library default" nil))) (defcustom ldap-default-port nil "Default TCP port for LDAP connections. Initialized from the LDAP library at build time. Default value is 389." :type '(choice (const :tag "Use library default" nil) -- (integer :tag "Port number")) -- :group 'ldap) ++ (integer :tag "Port number"))) (defcustom ldap-default-base nil "Default base for LDAP searches. @@@ -63,8 -64,8 +62,7 @@@ This is a string using the syntax of RF For instance, \"o=ACME, c=US\" limits the search to the Acme organization in the United States." :type '(choice (const :tag "Use library default" nil) -- (string :tag "Search base")) -- :group 'ldap) ++ (string :tag "Search base"))) (defcustom ldap-host-parameters-alist nil @@@ -144,35 -145,41 +142,35 @@@ Valid properties include :tag "Size Limit" :inline t (const :tag "Size Limit" sizelimit) -- (integer :tag "(number of records)"))))) -- :group 'ldap) ++ (integer :tag "(number of records)")))))) (defcustom ldap-ldapsearch-prog "ldapsearch" "The name of the ldapsearch command line program." -- :type '(string :tag "`ldapsearch' Program") -- :group 'ldap) ++ :type '(string :tag "`ldapsearch' Program")) (defcustom ldap-ldapsearch-args '("-LL" "-tt") "A list of additional arguments to pass to `ldapsearch'." :type '(repeat :tag "`ldapsearch' Arguments" -- (string :tag "Argument")) -- :group 'ldap) ++ (string :tag "Argument"))) + + (defcustom ldap-ldapsearch-password-prompt-regexp "Enter LDAP Password: " + "A regular expression used to recognize the `ldapsearch' + program's password prompt." + :type 'regexp - :group 'ldap) ++ :version "25.1") (defcustom ldap-ignore-attribute-codings nil "If non-nil, do not encode/decode LDAP attribute values." -- :type 'boolean -- :group 'ldap) ++ :type 'boolean) (defcustom ldap-default-attribute-decoder nil "Decoder function to use for attributes whose syntax is unknown." -- :type 'symbol -- :group 'ldap) ++ :type 'symbol) (defcustom ldap-coding-system 'utf-8 "Coding system of LDAP string values. LDAP v3 specifies the coding system of strings to be UTF-8." -- :type 'symbol -- :group 'ldap) ++ :type 'symbol) (defvar ldap-attribute-syntax-encoders [nil ; 1 ACI Item N @@@ -476,6 -483,47 +474,47 @@@ Additional search parameters can be spe (mapcar 'ldap-decode-attribute record)) result)))) + (defun ldap-password-read (host) - "Read LDAP password for HOST. If the password is cached, it is -read from the cache, otherwise the user is prompted for the -password. If `password-cache' is non-nil the password is -verified and cached. The `password-cache-expiry' variable ++ "Read LDAP password for HOST. ++If the password is cached, it is read from the cache, otherwise the user ++is prompted for the password. If `password-cache' is non-nil the password ++is verified and cached. The `password-cache-expiry' variable + controls for how long the password is cached. + + This function can be specified for the `passwd' property in + `ldap-host-parameters-alist' when interactive password prompting + is desired for HOST." + ;; Add ldap: namespace to allow empty string for default host. + (let* ((host-key (concat "ldap:" host)) + (password (password-read + (format "Enter LDAP Password%s: " + (if (equal host "") + "" + (format " for %s" host))) + host-key))) + (when (and password-cache + (not (password-in-cache-p host-key)) + ;; Confirm the password is valid before adding it to + ;; the password cache. ldap-search-internal will throw + ;; an error if the password is invalid. + (not (ldap-search-internal + `(host ,host + ;; Specify an arbitrary filter that should + ;; produce no results, since only + ;; authentication success is of interest. + filter "emacs-test-password=" + attributes nil + attrsonly nil + withdn nil + ;; Preempt passwd ldap-password-read + ;; setting in ldap-host-parameters-alist. + passwd ,password + ,@(cdr + (assoc + host + ldap-host-parameters-alist)))))) + (password-cache-add host-key password)) + password)) (defun ldap-search-internal (search-plist) "Perform a search on a LDAP server.