From: Fabián Ezequiel Gallina Date: Wed, 28 Jan 2015 03:59:34 +0000 (-0300) Subject: Merge from origin/emacs-24 X-Git-Tag: emacs-25.0.90~2572^2~52 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/d7a89815b6d69c3b1793d34bcad8bf0aa21d48c8 Merge from origin/emacs-24 d279e66 Fix assertion violations in try_window_id (Bug#19511) 031eadc Fix dired quoting bug with "Hit`N`Hide" 5981b4b More doc fixes for bug#19502 -- make documentation less X-specific. 143516c src/emacs.c (syms_of_emacs) : Doc fix. (Bug#19502) --- d7a89815b6d69c3b1793d34bcad8bf0aa21d48c8 diff --cc doc/lispref/ChangeLog index 4c0c116ba5,c898af5168..1819989775 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@@ -1,35 -1,9 +1,40 @@@ + 2015-01-04 Eli Zaretskii + + * frames.texi (Display Feature Testing): Make the description of + x-server-version and x-server-vendor less X-specific. (Bug#19502) + -2014-12-24 Glenn Morris +2015-01-15 Eli Zaretskii + + * streams.texi (Input Functions): Document 'set-binary-mode'. + (Output Functions): Cross-reference to documentation of + 'set-binary-mode'. + +2015-01-04 Paul Eggert + + batch write-region no longer says "Wrote FOO" + * files.texi (Writing to Files): Document this. + +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)/elisp.info, elisp.html): + Use them. + +2014-12-30 Martin Rudalics + + * display.texi (Temporary Displays): Amend description of + `with-temp-buffer-window'. Add descriptions for + `with-current-buffer-window', `with-displayed-buffer-window' and + `temp-buffer-resize-mode', `temp-buffer-max-height' and + `temp-buffer-max-width'. + +2014-12-29 Paul Eggert + + * os.texi (System Environment): Update for system-name changes. + +2014-12-27 Glenn Morris * control.texi (Pattern matching case statement): * os.texi (Desktop Notifications): diff --cc lisp/ChangeLog index 816a8cb6b4,7c6485c52b..73228900df --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,5028 -1,557 +1,5034 @@@ + 2015-01-04 Paul Eggert + + Fix dired quoting bug with "Hit`N`Hide" + Fixes Bug#19498. + * files.el (shell-quote-wildcard-pattern): Also quote "`". + -2015-01-04 Dmitry Gutov - - Unbreak `mouse-action' property in text buttons. - - * button.el (push-button): Fix regression from 2012-12-06. - -2015-01-01 Eli Zaretskii +2015-01-27 Katsumi Yamaoka - * 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. + * emacs-lisp/cl.el (cl--function-convert): + Merge cache that cl--labels-convert adds (bug#19699). -2014-12-29 Michael Albinus +2015-01-27 Ivan Shmakov - Sync with Tramp 2.2.11. + * tar-mode.el: Allow for adding new archive members. (Bug#19274) + (tar-new-regular-file-header, tar--pad-to, tar--put-at) + (tar-header-serialize): New functions. + (tar-current-position): Split from tar-current-descriptor. + (tar-current-descriptor): Use it. + (tar-new-entry): New command. + (tar-mode-map): Bind it. - * net/tramp-compat.el (top): Require cl-macs for Emacs 22. - Make an alias for `default-toplevel-value' if it doesn't exist. +2015-01-27 Sam Steingold - * net/tramp-smb.el (tramp-smb-handle-copy-directory): - Use `tramp-compat-delete-directory'. + * progmodes/python.el (python-check-custom-command): Buffer local + because it usually includes the buffer name. + (python-check-command): Set to epylint when pyflakes is not available. - * net/trampver.el: Update release number. +2015-01-27 Thomas Fitzsimmons -2014-12-29 Filipp Gunbin + * net/eudcb-bbdb.el, net/eudcb-ldap.el, net/eudcb-mab.el, + net/eudc-bob.el, net/eudcb-ph.el, net/eudc.el, net/eudc-export.el, + net/eudc-hotlist.el, net/eudc-vars.el: New maintainer. - * autorevert.el (auto-revert-handler): Fix auto-revert-tail-mode - for remote files. (Bug#19449) +2015-01-27 Artur Malabarba -2014-12-28 Eli Zaretskii + * isearch.el (isearch-process-search-char): Add docstring. - * international/mule.el (define-coding-system): Fix typos in the - doc string. +2015-01-27 Oleh Krehel -2014-12-28 Kenichi Handa + * emacs-lisp/derived.el (define-derived-mode): Declare indent 3. - * international/mule.el (define-coding-system): Improve the doc - string. +2015-01-27 Katsumi Yamaoka -2014-12-27 Fabián Ezequiel Gallina + * emacs-lisp/cl.el (cl--function-convert): Run cl--labels-convert + for the case cl-flet or cl-labels form is wrapped with lexical-let + (bug#19613). - * progmodes/python.el (python-shell-buffer-substring): Handle - cornercase when region sent starts at point-min. +2015-01-26 Stefan Monnier -2014-12-27 Eli Zaretskii + * emacs-lisp/cl-generic.el (cl--generic-method): New struct. + (cl--generic): The method-table is now a (list-of cl--generic-method). + (cl--generic-member-method): New function. + (cl-generic-define-method): Use it. + (cl--generic-build-combined-method, cl--generic-cache-miss): + Adapt to new method-table. + (cl--generic-no-next-method-function): Add `method' argument. + (cl-generic-call-method): Adapt to new method representation. + (cl--generic-cnm-sample, cl--generic-nnm-sample): Adjust. + (cl-find-method, cl-method-qualifiers): New functions. + (cl--generic-method-info): Adapt to new method representation. + Return a string for the qualifiers. + (cl--generic-describe): + * emacs-lisp/eieio-opt.el (eieio-help-class): Adjust accordingly. + (eieio-all-generic-functions, eieio-method-documentation): + Adjust to new method representation. - * 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. + * emacs-lisp/eieio-compat.el (eieio--defmethod): Use cl-find-method. -2014-12-27 Fabián Ezequiel Gallina +2015-01-26 Stefan Monnier - python.el: Fix message when sending region. + * emacs-lisp/cl-generic.el: Add a method-combination hook. + (cl-generic-method-combination-function): New var. + (cl--generic-lambda): Remove `with-cnm' arg. + (cl-defmethod): Change accordingly. + (cl-generic-define-method): Don't check qualifiers validity. + Preserve all qualifiers in `method-table'. + (cl-generic-call-method): New function. + (cl--generic-nest): Remove (morph into cl-generic-call-method). + (cl--generic-build-combined-method): Adjust to new format of method-table + and use cl-generic-method-combination-function. + (cl--generic-standard-method-combination): New function, extracted from + cl--generic-build-combined-method. + (cl--generic-cnm-sample): Adjust to new format of method-table. - * 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. + * emacs-lisp/eieio-compat.el (eieio--defmethod): Use () qualifiers + instead of :primary. -2014-12-27 Fabián Ezequiel Gallina + * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): + Remove obsolete function. - python.el: Cleanup temp files even with eval errors. +2015-01-26 Lars Ingebrigtsen - * progmodes/python.el (python-shell-send-file): Make file-name - mandatory. Fix temp file removal in the majority of cases. + * net/shr.el (shr-make-table-1): Fix colspan typo. -2014-12-27 Fabián Ezequiel Gallina + * net/eww.el (eww-add-bookmark): Fix prompt and clean up the code + slightly. - python.el: Handle file encoding for shell. +2015-01-25 Stefan Monnier - * 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. + * emacs-lisp/cl-generic.el (cl--generic-no-next-method-function): New fun. + (cl--generic-build-combined-method, cl--generic-nnm-sample): Use it + (bug#19672). + (cl--generic-typeof-types): Add support for `sequence'. + (cl-defmethod): Add non-keywords in the qualifiers. -2014-12-24 Michael Albinus +2015-01-25 Dmitry Gutov - * 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. + * emacs-lisp/find-func.el (find-function-regexp): Don't match + `defgroup' (regression from the previous change here). -2014-12-23 Stefan Monnier +2015-01-23 Thomas Fitzsimmons - * progmodes/js.el (js-syntax-propertize): "return" can't be divided - (bug#19397). + * net/ldap.el (ldap-search-internal): Mention binddn in invalid + credentials error message. -2014-12-23 Michael Albinus +2015-01-23 Thomas Fitzsimmons - * net/tramp.el (tramp-read-passwd): Ignore errors from `auth-source-*'. + * net/ldap.el (ldap-password-read): Validate password before + caching it. + (ldap-search-internal): Handle ldapsearch error conditions. - * 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. +2015-01-23 Thomas Fitzsimmons -2014-12-23 Stefan Monnier + * net/ldap.el (ldap-password-read): Handle password-cache being nil. - * progmodes/sh-script.el (sh-set-shell): Don't change the global value - of indent-line-function (bug#19433). +2015-01-23 Thomas Fitzsimmons -2014-12-23 Fabián Ezequiel Gallina + * net/eudc.el (eudc-expand-inline): Always restore former server + and protocol. - 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. +2015-01-23 Thomas Fitzsimmons -2014-12-22 Fabián Ezequiel Gallina + * net/eudcb-ldap.el: Don't nag the user in case a default base is + provided by the LDAP system configuration file. - * progmodes/python.el (python-indent-post-self-insert-function): - Make colon to re-indent only for dedenters, handling - multiline-statements gracefully. +2015-01-23 Thomas Fitzsimmons -2014-12-21 Michael Albinus + * 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. - * net/tramp.el (tramp-handle-insert-file-contents): - Set `find-file-not-found-functions' in case of errors. (Bug#18623) +2015-01-23 Thomas Fitzsimmons -2014-12-19 Michael Albinus + * net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): + Downcase field names of LDAP results. + (eudc-ldap-cleanup-record-filtering-addresses): Likewise. - * net/tramp-sh.el (tramp-send-command-and-read): New optional - arg MARKER. - (tramp-get-remote-path): Use it. +2015-01-23 Thomas Fitzsimmons -2014-12-18 Stefan Monnier + * 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. - * subr.el (redisplay-dont-pause): Mark as obsolete. +2015-01-23 Thomas Fitzsimmons -2014-12-17 Michael Albinus + * 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. - * 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. +2015-01-23 Thomas Fitzsimmons - * 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/eudc-vars.el (eudc-expansion-overwrites-query): + Change default to nil. - * net/tramp-sh.el (tramp-compute-multi-hops): Suppress traces in - wrong debug buffer. - (tramp-maybe-open-connection): Set connection property "gateway". +2015-01-23 Thomas Fitzsimmons -2014-12-15 Stefan Monnier + * net/eudc.el (eudc-expand-inline): Ignore text properties of + string-to-expand. - * subr.el (sit-for): Tweak docstring (bug#19381). +2015-01-23 Thomas Fitzsimmons -2014-12-15 Dmitry Gutov + * net/eudc-vars.el (eudc-inline-expansion-format): Default to a + format that includes first name and surname. - * vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date' - stage to after `diff-index' (bug#19386). +2015-01-23 Thomas Fitzsimmons -2014-12-14 João Távora + * net/eudc-vars.el (eudc-inline-query-format): Change default to + query email and first name instead of surname. - * textmodes/tex-mode.el (tex-insert-quote): Consider and respect - `electric-pair-mode' (bug#19356). +2015-01-23 Thomas Fitzsimmons -2014-12-12 Michael Albinus + * net/ldap.el (ldap-search-internal): Support new-style LDAP URIs. - * simple.el (password-word-equivalents): Add "passcode", used for - numeric secrets like PINs or RSA tokens. +2015-01-23 Thomas Fitzsimmons -2014-12-10 Michael Albinus + * 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. - * net/tramp-sh.el (tramp-get-remote-path): Use a login shell in - order to determine `tramp-own-remote-path'. +2015-01-23 Stefan Monnier -2014-12-09 Fabián Ezequiel Gallina + * emacs-lisp/cl-generic.el (cl-no-primary-method): New fun and error. + (cl--generic-build-combined-method): Use it. - * progmodes/python.el (python-shell-parse-command): - Quote `python-shell-interpreter`. (Bug#19289) +2015-01-22 Paul Eggert -2014-12-04 Stefan Monnier + 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. - * 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). +2015-01-21 Ulrich Müller -2014-12-01 Stefan Monnier + * play/gamegrid.el (gamegrid-add-score-with-update-game-score): + Allow the 'update-game-score' helper program to run suid or sgid. - * simple.el (newline): Place the hook buffer-locally, - to make sure it's first. +2015-01-21 Stefan Monnier - * 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. + * emacs-lisp/eieio.el: Use cl-defmethod. + (defclass): Generate cl-defmethod calls; use setf methods for :accessor. + (eieio-object-name-string): Declare as obsolete. -2014-11-30 Eli Zaretskii + * 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. - * 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) + * 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). -2014-11-27 Stephen Berman - Stefan Monnier + * 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. - * 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). +2015-01-20 Dmitry Gutov -2014-11-27 Leonard Randall + * 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. - * textmodes/reftex-parse.el (reftex-using-biblatex-p): Make search - for comment lines non-greedy and stopping at newlines to fix stack - overflows with large files. [Backport] + * progmodes/xref.el: Mention that xref-location is an EIEIO class. + (xref--insert-xrefs): Expand help-echo string. -2014-11-27 Fabián Ezequiel Gallina +2015-01-19 Dmitry Gutov - * 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. + * ido.el: Update Customization instructions. -2014-11-26 Stephen Berman +2015-01-19 Jonas Bernoulli - * 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. + 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. -2014-11-26 Stephen Berman +2015-01-19 Ivan Shmakov - * calendar/todo-mode.el (todo-mode): If called interactively, just - display a message saying to call todo-show to enter Todo mode - (Bug#19112). + * cus-dep.el (custom-make-dependencies): Ensure that + default-directory is interpreted as a directory (see bug#19140.) -2014-11-24 Dmitry Gutov +2015-01-19 Dmitry Gutov - * vc/vc-hg.el (vc-hg-dir-status-files): Include ignored files. - (Bug#18579) + * progmodes/xref.el (xref--display-position): + Set `other-window-scroll-buffer'. + (xref-goto-xref): Use `user-error'. - * vc/vc-bzr.el (vc-bzr-after-dir-status): Don't skip ignored - files. (Bug#18579) +2015-01-19 Dmitry Gutov -2014-11-23 Michael Albinus + * 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. - * textmodes/makeinfo.el (makeinfo-buffer): Make it work also for - remote `buffer-file-name'. +2015-01-18 Dmitry Gutov -2014-11-23 Leo Liu + * progmodes/xref.el (xref-goto-xref): Perform the jump even inside + indentation or at eol. - * calendar/diary-lib.el (calendar-mark-1): Fix thinko. +2015-01-18 Stefan Monnier -2014-11-22 Fabián Ezequiel Gallina + * 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. - Set PYTHONUNBUFFERED on shell startup. + * emacs-lisp/eieio.el (defclass): Add obsolescence warning for the + `newname' argument. - * progmodes/python.el (python-shell-unbuffered): New var. - (python-shell-calculate-process-environment): Use it. + * 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. -2014-11-22 Michael Albinus + * emacs-lisp/eieio-generic.el (eieio--defgeneric-init-form): Use autoloadp. - * net/tramp.el (tramp-action-password): Clean password on subsequent - attempts even if there was no wrong password indication. (Bug#19047) +2015-01-18 Artur Malabarba - * 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. + * emacs-lisp/package.el (package--append-to-alist): Rename from + `package--add-to-alist' + Updated docstring due to new name. -2014-11-21 Eli Zaretskii +2015-01-18 Leo Liu - * 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. + * emacs-lisp/cl-extra.el (cl-subseq): Use seq-subseq and fix + multiple evaluation. (Bug#19519) -2014-11-20 Michael Albinus + * emacs-lisp/seq.el (seq-subseq): Throw bad bounding indices + error. (Bug#19434) - Improve XEmacs compatibility. +2015-01-18 Stefan Monnier - * 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. + * 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. - * net/tramp-adb.el (top): Do not require time-date.el. + * emacs-lisp/cl-macs.el (cl-defstruct): Minor optimization when include + or print is nil. + (cl-struct-type-p): New function. - * net/tramp-compat.el (top): Require time-date.el for XEmacs. + * 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. - * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): - Check, whether `utf-8' is a valid coding system. +2015-01-17 Ulrich Müller -2014-11-19 Eli Zaretskii + * version.el (emacs-repository-get-version): Update docstring. - * vc/vc.el (vc-retrieve-tag): Doc fix. +2015-01-17 Ivan Shmakov -2014-11-17 Eli Zaretskii + * 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) - * 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. + * files.el (find-file-other-window, find-file-other-frame): + Use mapc instead of mapcar. (Bug#18175) -2014-11-16 Fabián Ezequiel Gallina + * 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) - * progmodes/python.el (python-eldoc--get-doc-at-point): - Strip shell output before returning. (bug#18794) + * textmodes/enriched.el (enriched-encode): + Use inhibit-point-motion-hooks in addition to inhibit-read-only. + (Bug#18246) -2014-11-16 Dmitry Gutov + * desktop.el (desktop-read): Do not call desktop-clear when no + desktop file is found. (Bug#18371) - 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. + * misearch.el (multi-isearch-unload-function): New function. + (misearch-unload-function): New alias. (Bug#19566) -2014-11-16 Stefan Monnier +2015-01-17 Stefan Monnier - * window.el (handle-select-window): Deactivate shift-region (bug#19003). + * emacs-lisp/eieio-core.el (eieio--class-constructor): Rename from + class-constructor, and make it an alias for `identity'. + Update all callers. -2014-11-15 Andreas Schwab + * emacs-lisp/eieio.el (eieio-constructor): Handle obsolete object name + argument here (bug#19620)... + (defclass): ...instead of in the constructor here. - * version.el (emacs-repository-get-version): Use git rev-parse - instead of git log. +2015-01-16 Jorgen Schaefer -2014-11-15 Fabián Ezequiel Gallina + * emacs-lisp/package.el (package-archive-priorities): + Specify correct type. - * progmodes/python.el (python-indent-calculate-levels): - Fix indentation behavior multiline dedenter statement. (Bug#18432) +2015-01-17 Ulrich Müller -2014-11-15 Fabián Ezequiel Gallina + * 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. - * progmodes/python.el (python-indent-region): - Use python-indent-line and skip special cases. (Bug#18843) +2015-01-16 Jorgen Schaefer -2014-11-15 Michael Albinus + * 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. - * vc/vc-hg.el (vc-hg-state): Disable pager. (Bug#18940) +2015-01-16 Daniel Colascione -2014-11-15 Peder O. Klingenberg + * cus-start.el (all): Make `ring-bell-function' customizable. - * mail/emacsbug.el (report-emacs-bug): Make a better guess at - envelope-from when reporting through sendmail (bug#19054). +2015-01-16 Dmitry Gutov -2014-11-14 Ivan Andrus + * vc/vc-svn.el (vc-svn-dir-status-files): Pass t as + vc-svn-after-dir-status's second argument. (Bug#19429) - * progmodes/python.el (python-ffap-module-path): - Use `derived-mode-p' instead of equality test on `major-mode'. +2015-01-16 Samer Masterson (tiny change) -2014-11-13 Ulrich Müller + * pcomplete.el (pcomplete-parse-arguments): Parse arguments + regardless of pcomplete-cycle-completions's value. (Bug#18950) - * version.el (emacs-repository-get-version): Call `git log' - command with proper format argument (bug#19049). +2015-01-16 Lars Magne Ingebrigtsen -2014-11-10 Glenn Morris + * dom.el (dom-strings): New function. - * startup.el (command-line): Handle nil elements in load-path. + * files.el (directory-files-recursively): Don't use the word + "path" for a file name. -2014-11-08 Glenn Morris +2015-01-15 Wolfgang Jenkner - * 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. + * 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) -2014-11-07 Michael Albinus +2015-01-15 Stefan Monnier - * net/tramp.el (tramp-check-cached-permissions): Include hop in - the constructed Tramp file name. (Bug#18943) + * 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. -2014-11-07 Stefan Monnier + * emacs-lisp/cl-generic.el (cl--generic-build-combined-method): + Return the value of the primary rather than the after method. - * emulation/cua-base.el (cua--select-keymaps): Use region-active-p - (bug#18952). - (cua-set-mark, cua--pre-command-handler-1,cua--post-command-handler-1): - * emulation/cua-gmrk.el (cua-cancel-global-mark): Same. + * 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. -2014-11-07 Michael Albinus + * emacs-lisp/cl-generic.el (cl-generic-define-method): Fix paren typo. - * 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) +2015-01-14 Stefan Monnier -2014-11-07 Daiki Ueno + * emacs-lisp/cl-generic.el: New file. - * epg.el (epg--list-keys-1): Ignore fields after the 15th field - (bug#18979). Reported by Hideki Saito. + * 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. -2014-10-18 Alan Mackenzie +2015-01-14 Stefan Monnier - Check that a "macro" found near point-min isn't a ## operator. - Fixes bug #18749. Backported from trunk, 2014-11-05. - * progmodes/cc-engine.el (c-macro-is-genuine-p): New function. - (c-beginning-of-macro): Use the above new function. + * 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. -2014-11-05 Alan Mackenzie +2015-01-13 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). + 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. -2014-11-05 Michael Albinus +2015-01-13 Stefan Monnier - * net/tramp.el (tramp-error-with-buffer): Show connection buffer - only when message appeared in minibuffer. (Bug#18891) + * emacs-lisp/eieio-core.el (eieio-defclass): Fix call to `defclass' + (bug#19552). - * 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. +2015-01-13 Dmitry Gutov -2014-11-04 Eli Zaretskii + * menu-bar.el (menu-bar-goto-menu): Before calling + `xref-marker-stack-empty-p', first check that `xref' is loaded. + (Bug#19554) - * jit-lock.el (jit-lock-stealth-fontify): Be tolerant to nil being - returned by load-average. +2015-01-12 Martin Rudalics -2014-11-04 Michael Albinus + * progmodes/xref.el (xref-marker-stack-empty-p): Add autoload + cookie (Bug#19554). - * 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) + * 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. -2014-11-04 Glenn Morris +2015-01-12 Paul Eggert - * mail/emacsbug.el (report-emacs-bug): No longer include - recent-keys in the report. (Bug#18900) + 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. -2014-11-03 Michael Albinus +2015-01-08 Stefan Monnier - * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Use a - local copy of FILENAME, when it is remote. (Bug#18751) + * emacs-lisp/eieio-generic.el: New file. + * emacs-lisp/eieio-core.el: Move all generic function code to + eieio-generic.el. + (eieio--defmethod): Declare. -2014-11-02 Michael Albinus + * 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. - * 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. + * obsolete/cc-compat.el: Make obsolete (bug#18561). -2014-11-01 Michael Albinus + * epg-config.el (epg-gpg-program): Don't use absolute names by default. - * 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. + * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg + case (bug#18767). - * net/tramp-sh.el (tramp-get-remote-uid, tramp-get-remote-gid): - Return -1 respective "UNKNOWN", if uid or gid cannot be determined. +2014-10-21 Glenn Morris -2014-11-01 Eli Zaretskii + * Merge in all changes up to version 24.4 release. - * progmodes/compile.el (compilation-mode): Turn off deferred - fontifications locally. (Bug#18856) +2014-10-20 Stefan Monnier -2014-11-01 Wolfgang Jenkner + * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg + case (bug#18767). - * net/tramp-sh.el (tramp-send-command): Fix the case where the - remote-echo connection property is non-nil (bug#18858). +2014-10-20 Glenn Morris -2014-11-01 Michael Albinus + * Merge in all changes up to 24.4 release. - Backport Tramp changes from trunk. +2014-10-20 Ulf Jasper - * net/tramp.el (tramp-methods): Tweak docstring. - (tramp-file-name-handler): Apply `cons' where appropriate. - (tramp-handle-file-accessible-directory-p): Check for - `file-readable-p' instead of `file-executable-p'. - (tramp-handle-shell-command): Use `display-buffer'. (Bug#18326) - (tramp-handle-unhandled-file-name-directory): Return "/". - (tramp-check-cached-permissions): - Use `tramp-compat-file-attributes'. - (tramp-call-process): Add new argument VEC. Adapt callees in all - tramp*.el files. + * net/newst-backend.el + (newsticker--image-download-by-url-callback): Make this function + actually work: Check status properly, then save image. - * net/tramp-adb.el (tramp-adb-sh-fix-ls-output): Use `bolp'. - (tramp-adb-handle-write-region): Improve messages. - (tramp-adb-maybe-open-connection): Don't set - `tramp-current-*' variables. +2014-10-20 Stefan Monnier - * net/tramp-cache.el (tramp-flush-file-function): Simplify check. - Suppress debug messages. + * 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. - * net/tramp-ftp.el (top): Remove special handling for URL syntax. - (tramp-ftp-file-name-handler): +2014-10-20 Stefan Monnier - * net/tramp-gvfs.el (tramp-gvfs-methods) : Add. - (tramp-gvfs-methods-mounttracker) - (tramp-gvfs-mountlocation-signature): Check `tramp-gvfs-enabled' - during initialization. (Bug#18774) - (tramp-gvfs-handle-delete-file): Flush file properties, not - directory properties. - (tramp-gvfs-handle-file-attributes): Use `string-to-number' when - reading "unix::mode". - (tramp-gvfs-handle-file-name-all-completions): - Use "-h" option for "gvfs-ls". - (tramp-gvfs-url-file-name): Apply `cons' where appropriate. - `user' and `localname' could be nil. - (tramp-gvfs-send-command): Simplify traces. + * 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 + + * 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. - * net/tramp-sh.el (vc-handled-backends, vc-bzr-program) - (vc-git-program, vc-hg-program): Declare. - (tramp-methods) : Remove. It has never worked satisfactorily. - (tramp-methods) : Add new method. - (tramp-methods) : Redirect stderr to "/dev/null". - (tramp-methods) : Improve - `tramp-login-args'. - (tramp-default-user-alist): Add "nc". - (top): Remove completion function for "sftp". Add completion - functions for "nc" and "psftp". - (tramp-sh-handle-set-visited-file-modtime): - (tramp-sh-handle-verify-visited-file-modtime): Use `point-at-eol'. - (tramp-do-copy-or-rename-file-out-of-band): - Use cached "remote-copy-args" value, if available. (Bug#18199) - Tweak docstring. Implement support for "nc" method. - (tramp-sh-handle-expand-file-name, tramp-local-coding-commands) - (tramp-remote-coding-commands, tramp-call-local-coding-command): - Tweak docstring. - (tramp-sh-handle-start-file-process): Expand `default-directory'. - (tramp-sh-handle-write-region): Tweak error message. - (tramp-sh-handle-vc-registered): Remove backends when the remote - binary does not exist. - (tramp-open-connection-setup-interactive-shell): - Prefer utf-8 coding. (Bug#17859) - (tramp-find-inline-encoding): Do not raise an error. - (tramp-make-copy-program-file-name): Tweak docstring. Handle also - the "nc" case. Quote result also locally. - (tramp-get-remote-id): Check also for "gid". - (tramp-get-remote-python): +2014-10-18 Alan Mackenzie - * net/tramp-smb.el (tramp-smb-handle-copy-directory) - (tramp-smb-handle-set-file-acl): Use `start-process'. - (tramp-smb-handle-insert-directory): Use progress reporter. - (tramp-smb-handle-rename-file): Flush also file properties of - FILENAME. + 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. + (Custom-reset-standard): Save custom-file (e.g. .emacs) only when + custom-command-apply has returned non-nil. + +2014-10-15 Stefan Monnier + + * emacs-lisp/eldoc.el (global-eldoc-mode): Enable by default. + Remove incorrect handling of eldoc-print-after-edit. + (eldoc-message-commands, eldoc-last-data): Use defvar. + * loadup.el (emacs-lisp/eldoc): Load it. + + * progmodes/m4-mode.el (m4-syntax-propertize): New var. + (m4-mode): Use it. + (m4--quoted-p): New function. + (m4-font-lock-keywords): Don't handle #..\n comments any more. + (m4-mode-syntax-table): Use punctuation syntax (according to m4 manual) + for most special characters. + + * progmodes/compile.el (compilation--previous-directory): Simplify. + (compilation-next-error): Ensure the parse before we look at + compilation-message property. + +2014-10-15 Eli Zaretskii + + * simple.el (what-cursor-position): + * descr-text.el (describe-char): Update to support the new bidi + characters. + + * emacs-lisp/tabulated-list.el (tabulated-list-mode): + Force bidi-paragraph-direction to 'left-to-right'. This fixes + buffer-menu display when the first buffer happens to start with + R2L letter. + +2014-10-15 Stefan Monnier + + * progmodes/elisp-mode.el (elisp--local-variables-1): + Handle quoted expressions (bug#18688). + +2014-10-14 Jérémy Compostella + Michael Albinus + + * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): + Reduce the amount of set environment variable commands. + +2014-10-12 Fabián Ezequiel Gallina + + Fix import completion. (Bug#18582) + * progmodes/python.el (python-shell-completion-get-completions): + Fix import case regexp. + +2014-10-12 Stefan Monnier + + * progmodes/bat-mode.el (bat-font-lock-keywords): Fix \\<_ typo + (bug#18622). Reported by Arni Magnusson . + * progmodes/prolog.el (prolog-electric--underscore): Same. + +2014-10-12 Michael Albinus + + * net/tramp-sh.el (tramp-get-remote-id): Check also for "gid". + +2014-10-11 Jan Djärv + + * cus-start.el (all): Add missing ns and boolean to + ns-use-fullscreen-animation. + +2014-10-11 Leo Liu + + * progmodes/cfengine.el (cfengine3-defuns, cfengine3-vartypes): + Use strings. + (cfengine3-create-imenu-index): New function. + (cfengine3-mode): Use it for `imenu-create-index-function'. + (cfengine-auto-mode): Improve and prefer cfengine3-mode when + buffer is empty. + +2014-10-11 Jan Djärv + + * cus-start.el (all): Add ns-use-fullscreen-animation. + +2014-10-11 Glenn Morris + + * calendar/diary-lib.el (diary-display-function): + Drop support for deprecated nil and list forms. + (diary-list-entries): Update for the above. + * calendar/cal-x.el (calendar-dedicate-diary): Simplify accordingly. + +2014-10-10 Leo Liu + + * window.el (temp-buffer-window-show): Make BUFFER a required arg. + (Bug#18656) + +2014-10-10 Stefan Monnier + + * select.el (gui-selection-exists-p-alist): New method. + * menu-bar.el (menu-bar-edit-menu, clipboard-yank): + * simple.el (deactivate-mark): Use it. + * term/x-win.el (gui-selection-exists-p): + * term/w32-win.el (gui-selection-exists-p): + * term/pc-win.el (gui-selection-exists-p): + * term/ns-win.el (gui-selection-exists-p): Provide a backend instance. + +2014-10-10 Glenn Morris + + * info.el (Info-fontify-maximum-menu-size): Bump to 400k. (Bug#16227) + Fix :type. Allow t to mean no limit. + (Info-fontify-node): Handle Info-fontify-maximum-menu-size = t. + +2014-10-09 Glenn Morris + + * frame.el (display-monitor-attributes-list): Doc tweaks. + +2014-10-09 Eli Zaretskii + + * faces.el (display-grayscale-p): Mention in the doc string that + the argument can be either a display name or a frame. + + * frame.el (display-pixel-height, display-pixel-width) + (display-mm-height, display-mm-width, display-backing-store) + (display-save-under, display-planes, display-color-cells) + (display-visual-class, display-monitor-attributes-list) + (display-screens): Mention in the doc string that the argument can + be either a display name or a frame. Improve the docs of the + monitor attributes. (Bug#18636) + +2014-10-09 Martin Rudalics + + * term.el (term-window-width): Subtract 1 from the width when + any fringe has zero width, not just the right fringe. (Bug#18601) + +2014-10-09 Stefan Monnier + + * frame.el (make-frame): Use t rather than nil for `w' (bug#18653). + +2014-10-08 Leo Liu + + * emacs-lisp/cl-extra.el (cl-fresh-line): New function. + +2014-10-08 Glenn Morris + + * calendar/cal-x.el (calendar-dedicate-diary): + Drop support for recently deleted aliases. + +2014-10-08 Leo Liu + + * progmodes/cfengine.el (cfengine3-make-syntax-cache): + Always return a syntax. Replace call-process-shell-command with + process-file. Ensure cfengine-mode-syntax-functions-regex is + always set. Ensure cache when cfengine-cf-promises fails. + (Bug#18620) + +2014-10-07 Glenn Morris + + * font-lock.el (font-lock-fontify-buffer): Fix interactive-only markup. + +2014-10-07 Wilson Snyder + + Sync with upstream verilog-mode revision c075a492. + * progmodes/verilog-mode.el (verilog-mode-version): Bump. + (verilog-menu): Add AUTOINSERTLAST. + (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if' + is nil, fix indenting initial/final to match always statements, bug825. + Reported by Tim Clapp. + (verilog-extended-complete-re): Fix indentation of DPI-C imports, + bug557. Reported by ZeDong Mao and Jason Forkey. + (verilog-read-decls): Fix parsing typed interfaces. + Fix AUTOINOUTMODPORT missing types. Reported by Stephan Bourduas. + (verilog-auto-arg-ports): Fix verilog-auto-arg-format single. + (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY, bug793. + Reported by Pierre-David Pfister. + (verilog-auto-insert-lisp): Doc fix. + (verilog-auto-insert-last, verilog-auto): Add AUTOINSERTLAST to + allow post-AUTO user fixups, bug826. Reported by Dennis Muhlestein. + (verilog-sk-ovm-class, verilog-sk-uvm-object) + (verilog-sk-uvm-component): Fix missing string keyword in class + skeletons, bug824. Reported by eldad faruhi. + +2014-10-06 Stefan Monnier + + * term/w32-win.el: Move all code from 32-common-fns.el here. + (gui-select-text, gui-selection-value): Use w32 handlers in the w32 + console as well (bug#18629). + * w32-common-fns.el: Remove. + * loadup.el: Don't load w32-common-fns.el. + * w32-fns.elc: Don't require w32-common-fns. + + * icomplete.el: Move Iswitchb autoload here. Much simpler. + * obsolete/iswitchb.el (iswitchb-mode): Use normal autoload cookie. + Remove redundant obsolescence thingy. + * loadup.el: Don't load obsolete/loaddefs.el. + * Makefile.in (obsolete-autoloads): Remove. + (AUTOGENEL): Remove obsolete/loaddefs.el. + +2014-10-06 Glenn Morris + + * Makefile.in (obsolete-autoloads): Write to a separate file, + to workaround autoloads bug. (Bug#17407) + (AUTOGENEL): Add obsolete/loaddefs.el. + * loadup.el: Load obsolete/loaddefs.el if present. + * subr.el (do-after-load-evaluation): + Don't warn about obsolete/loaddefs.el. + + * menu-bar.el (menu-bar-games-menu): Remove landmark. + It has zero relationship to a game. + +2014-10-06 Leo Liu + + * imenu.el (imenu): Re-write for clarity. + +2014-10-06 Glenn Morris + + Remove calendar code obsolete since at least version 23.1. + * calendar/cal-bahai.el (calendar-absolute-from-bahai) + (calendar-print-bahai-date, calendar-bahai-prompt-for-date) + (calendar-goto-bahai-date, list-bahai-diary-entries) + (mark-bahai-calendar-date-pattern, mark-bahai-diary-entries) + (insert-bahai-diary-entry, insert-monthly-bahai-diary-entry) + (insert-yearly-bahai-diary-entry): + * calendar/cal-china.el (chinese-calendar-time-zone) + (chinese-calendar-location-name) + (chinese-calendar-daylight-time-offset) + (chinese-calendar-standard-time-zone-name) + (chinese-calendar-daylight-time-zone-name) + (chinese-calendar-daylight-savings-starts) + (chinese-calendar-daylight-savings-ends) + (chinese-calendar-daylight-savings-starts-time) + (chinese-calendar-daylight-savings-ends-time) + (chinese-calendar-celestial-stem) + (chinese-calendar-terrestrial-branch) + (calendar-absolute-from-chinese, calendar-print-chinese-date) + (calendar-goto-chinese-date): + * calendar/cal-coptic.el (calendar-absolute-from-coptic) + (calendar-print-coptic-date, coptic-prompt-for-date) + (calendar-goto-coptic-date, calendar-absolute-from-ethiopic) + (calendar-print-ethiopic-date, calendar-goto-ethiopic-date): + * calendar/cal-french.el (calendar-absolute-from-french) + (calendar-print-french-date, calendar-goto-french-date): + * calendar/cal-hebrew.el (diary-sabbath-candles-minutes) + (calendar-absolute-from-hebrew, calendar-print-hebrew-date) + (hebrew-calendar-yahrzeit, calendar-goto-hebrew-date) + (holiday-rosh-hashanah-etc, holiday-hanukkah) + (holiday-passover-etc, holiday-tisha-b-av-etc) + (list-hebrew-diary-entries, mark-hebrew-calendar-date-pattern) + (mark-hebrew-diary-entries, insert-hebrew-diary-entry) + (insert-monthly-hebrew-diary-entry) + (insert-yearly-hebrew-diary-entry, list-yahrzeit-dates) + (diary-omer, diary-yahrzeit, diary-rosh-hodesh, diary-parasha) + (diary-sabbath-candles): + * calendar/cal-islam.el (calendar-absolute-from-islamic) + (calendar-print-islamic-date, calendar-goto-islamic-date) + (list-islamic-diary-entries, mark-islamic-calendar-date-pattern) + (mark-islamic-diary-entries, insert-islamic-diary-entry) + (insert-monthly-islamic-diary-entry) + (insert-yearly-islamic-diary-entry): + * calendar/cal-iso.el (calendar-absolute-from-iso) + (calendar-print-iso-date, calendar-iso-read-args) + (calendar-goto-iso-date, calendar-goto-iso-week): + * calendar/cal-julian.el (calendar-absolute-from-julian) + (calendar-print-julian-date, calendar-goto-julian-date) + (calendar-absolute-from-astro, calendar-print-astro-day-number) + (calendar-goto-astro-day-number): + * calendar/cal-mayan.el (calendar-print-mayan-date) + (calendar-next-haab-date, calendar-previous-haab-date) + (calendar-next-tzolkin-date, calendar-previous-tzolkin-date) + (calendar-next-calendar-round-date) + (calendar-previous-calendar-round-date) + (calendar-absolute-from-mayan-long-count) + (calendar-goto-mayan-long-count-date): + * calendar/cal-move.el (scroll-calendar-left) + (scroll-calendar-right, scroll-calendar-left-three-months) + (scroll-calendar-right-three-months): + * calendar/cal-persia.el (calendar-absolute-from-persian) + (calendar-print-persian-date, persian-prompt-for-date) + (calendar-goto-persian-date): + * calendar/cal-x.el (calendar-after-frame-setup-hooks): + * calendar/calendar.el (view-diary-entries-initially) + (mark-diary-entries-in-calendar, calendar-today-face) + (diary-face, holiday-face, view-calendar-holidays-initially) + (mark-holidays-in-calendar, initial-calendar-window-hook) + (today-visible-calendar-hook, today-invisible-calendar-hook) + (hebrew-diary-entry-symbol, islamic-diary-entry-symbol) + (bahai-diary-entry-symbol, american-date-diary-pattern) + (european-date-diary-pattern, european-calendar-display-form) + (american-calendar-display-form, holidays-in-diary-buffer) + (all-hebrew-calendar-holidays, all-christian-calendar-holidays) + (all-islamic-calendar-holidays, all-bahai-calendar-holidays) + (fancy-diary-buffer, increment-calendar-month) + (extract-calendar-month, extract-calendar-day) + (extract-calendar-year, exit-calendar, calendar-date-is-legal-p) + (mark-visible-calendar-date, calendar-version): + * calendar/diary-lib.el (diary-button-face, sexp-diary-entry-symbol) + (diary-display-hook, list-diary-entries-hook) + (mark-diary-entries-hook, nongregorian-diary-listing-hook) + (nongregorian-diary-marking-hook, print-diary-entries-hook) + (abbreviated-calendar-year, number-of-diary-entries) + (view-other-diary-entries, add-to-diary-list) + (include-other-diary-files, simple-diary-display) + (fancy-diary-display, print-diary-entries, mark-diary-entries) + (mark-sexp-diary-entries, mark-included-diary-files) + (mark-calendar-days-named, mark-calendar-month) + (mark-calendar-date-pattern, sort-diary-entries) + (list-sexp-diary-entries, make-diary-entry, insert-diary-entry) + (insert-weekly-diary-entry, insert-monthly-diary-entry) + (insert-yearly-diary-entry, insert-anniversary-diary-entry) + (insert-block-diary-entry, insert-cyclic-diary-entry) + (fancy-diary-font-lock-keywords, fancy-diary-display-mode): + * calendar/holidays.el (general-holidays, oriental-holidays) + (local-holidays, other-holidays, hebrew-holidays) + (christian-holidays, islamic-holidays, bahai-holidays) + (solar-holidays, list-calendar-holidays) + (check-calendar-holidays, mark-calendar-holidays) + (filter-visible-calendar-holidays): + * calendar/lunar.el (calendar-phases-of-moon, phases-of-moon) + (diary-phases-of-moon): Remove obsolete aliases. + * calendar/cal-menu.el (cal-menu-load-hook): Remove obsolete hook. + * calendar/cal-x.el (calendar-one-frame-setup) + (calendar-only-one-frame-setup, calendar-two-frame-setup): + Remove obsolete functions. + (cal-x-load-hook): Remove obsolete hook. + * calendar/calendar.el (european-calendar-style): + Remove obsolete variable. + (calendar-date-style): No longer consult european-calendar-style. + * calendar/calendar.el (european-calendar, american-calendar): + Remove obsolete commands. + * calendar/calendar.el (calendar-for-loop): Remove obsolete macro. + * calendar/diary-lib.el (diary-face): Remove obsolete variable. + (diary-font-lock-date-forms, diary-fancy-font-lock-keywords): + Use the face `diary' instead of the variable `diary-face'. + * calendar/holidays.el (hebrew-holidays-1, hebrew-holidays-2) + (hebrew-holidays-3, hebrew-holidays-4): Remove obsolete variables. + * calendar/icalendar.el (icalendar--date-style): Remove function. + Replace all uses with calendar-date-style. + * textmodes/remember.el (calendar-date-style): Declare. + (remember-diary-convert-entry): + No longer consult european-calendar-style. + +2014-10-05 Leo Liu + + * imenu.el (imenu-default-goto-function): Fix typo. + +2014-10-04 Thomas Fitzsimmons + + * net/ntlm.el (ntlm-build-auth-request): + Add NTLM2 Session support. (Bug#15603) + +2014-10-04 Glenn Morris + + * apropos.el (apropos-symbols-internal): + Avoid error with non-symbol properties. (Bug#18337#16) + + * startup.el (command-line): + Handle altered user-emacs-directory in load-path warning. (Bug#18512) + +2014-10-04 Martin Rudalics + + * window.el (window-full-height-p): Make it behave correctly for + minibuffer window. + (window-current-scroll-bars): Fix code. + (fit-frame-to-buffer): Use window-scroll-bar-height instead of + window-scroll-bars. + * frame.el (frame-current-scroll-bars): Fix doc-string. + * scroll-bar.el (toggle-horizontal-scroll-bar): New command. + +2014-10-04 Mark Oteiza (tiny change) + + * files.el (auto-mode-alist): Use sh-mode for .zsh files. (Bug#18488) + +2014-10-04 Glenn Morris + + * frame.el (frame-monitor-attributes) + (display-monitor-attributes-list): Doc fixes. + +2014-10-04 Stefan Monnier + + Merge trivially safe differences from standalone CC-mode. + * progmodes/cc-mode.el (c-initialize-cc-mode): Don't quote a symbol + just to then pass it to `symbol-value'. + (prog-mode): Provide fallback definition, if needed. + * progmodes/cc-langs.el: Always load `cl'. Don't load `cl-lib'. + Remove "cl-" prefix accordingly. + * progmodes/cc-fonts.el (c-font-lock-invalid-string): Use integerp or + characterp depending on the type of characters. + (c-font-lock-enum-tail): Remove unused var `start'. + * progmodes/cc-engine.el: Load CL at compile-time. + (c-declare-lang-variables): Use mapcan. + (c-append-to-state-cache): Remove unused var `ce+1'. + (c-parse-state-state): Make buffer-local. + (c-ssb-lit-begin): Remove unused var `pps-end-pos'. + (c-just-after-func-arglist-p): Remove unused var `end'. + * progmodes/cc-defs.el: Load cc-fix if delete-dups is undefined. + (c-<-as-paren-syntax, c->-as-paren-syntax): Move definition earlier. + (c-make-keywords-re): Use delete-dups. + (c-get-current-file): Avoid file-name-base. + * progmodes/cc-cmds.el (c-electric-lt-gt): Remove unused var + `close-paren-inserted'. + * progmodes/cc-awk.el (c-forward-sws): Remove unused declaration. + + * progmodes/python.el: Avoid building unneeded markers. + (python-font-lock-keywords, python-indent-dedent-line) + (python-fill-paren, python-shell-completion-complete-or-indent): + Prefer point over point-marker. + (inferior-python-mode): Remove redundant completion settings. + +2014-10-03 Dmitry Gutov + + * vc/vc-svn.el (vc-svn-ignore-completion-table): Implement. + (vc-svn-ignore): Use it. (Bug#18619) + +2014-10-03 Martin Rudalics + + * frame.el (toggle-frame-maximized, toggle-frame-fullscreen): + In doc-string mention need to set `frame-resize-pixelwise'. + +2014-10-03 Stefan Monnier + + * vc/vc-svn.el (vc-svn-after-dir-status): Fix the non-remote regexp, + similarly to Rogers's 2010-06-16 change for the remote case + (bug#18605). + +2014-10-03 Stefan Monnier + + New gui-selection-value consolidating x-selection-value. + * select.el (gui-selection-value-alist): New method. + (gui-selection-value): New function. + (x-selection-value): Make it an obsolete alias. + * simple.el (interprogram-paste-function): Default to + gui-selection-value. + * w32-common-fns.el (w32-get-selection-value): Simplify. + (x-selection-value): Remove alias. + (interprogram-paste-function): Don't set. + (gui-selection-value): Define for w32. + * term/x-win.el (gui-selection-value): Define for x. + (x--selection-value): Rename from x--selection-value. + (interprogram-paste-function): Don't set. + * term/pc-win.el (w16-get-selection-value): Simplify. + (msdos-initialize-window-system): Don't set + interprogram-paste-function. + (gui-selection-value): Define for pc. + * term/ns-win.el (x-selection-value): Remove. + (gui-selection-value): Define for ns, instead. + * term/common-win.el (x-setup-function-keys): Don't set + interprogram-paste-function. + * obsolete/mouse-sel.el (mouse-sel-get-selection-function): + Use gui-selection-value. + +2014-10-02 David Raynes (tiny change) + + * term/ns-win.el: Add functions to ns frame, not x frame (bug#18614). + +2014-10-02 Stefan Monnier + + * obsolete/lucid.el (read-number): Remove, redundant. + * obsolete/cl-compat.el (cl-floor, cl-ceiling, cl-round, cl-truncate): + Remove, broken. + +2014-10-02 Glenn Morris + + * emacs-lisp/package.el (package-import-keyring): + Create gnupg directory private. (Bug#17625#155) + +2014-10-02 Stefan Monnier + + * progmodes/python.el (python-shell-completion-get-completions): + Use python-shell--prompt-calculated-input-regexp from the + process buffer (bug#18582). + Don't assume that `line' comes from the process buffer. + +2014-10-02 Stefan Monnier + + * frame.el: Use lexical-binding (bug#18598). + (make-frame): Use t rather than nil for tty's window-system. + * startup.el (command-line): Use gui-method. + + Consolidate management/ownership of selections. + * select.el (gui-get-selection-alist): New method. + (gui-get-selection): Use it. Rename from x-get-selection. + (x-get-selection): Define as obsolete alias. + (x-get-clipboard): Mark obsolete. + (gui-get-primary-selection): New function. + (x-get-selection-value): Mark obsolete. + (gui-own-selection-alist, gui-disown-selection-alist) + (gui-selection-owner-p-alist): New methods. + (gui-set-selection): Use them. Rename from x-set-selection. + (x-set-selection): Define as obsolete alias. + (gui--valid-simple-selection-p): Rename from + x-valid-simple-selection-p. + * w32-common-fns.el (gui-own-selection, gui-disown-selection) + (gui-selection-owner-p, gui-get-selection): Define for w32. + (w32-get-selection-value): Rename from x-get-selection-value. + Use the new gui-last-selected-text. + * term/x-win.el (x-get-selection-value): Remove. + (x-clipboard-yank): Declare obsolete. + (gui-own-selection, gui-disown-selection, gui-get-selection) + (gui-selection-owner-p): Define for x. + * term/w32-win.el (w32-win-suspend-error): Rename from + x-win-suspend-error. + * term/pc-win.el (w16-get-selection-value): Rename from + x-get-selection-value. + (w16-selection-owner-p): Rename from x-selection-owner-p. + (gui-own-selection, gui-disown-selection, gui-get-selection) + (gui-selection-owner-p): Define for pc. + (w16--select-text): New function. + * term/ns-win.el (gui-own-selection, gui-disown-selection) + (gui-get-selection, gui-selection-owner-p): Define for ns. + * term.el (term-mouse-paste): + * mouse.el (mouse-yank-primary): Use gui-get-primary-selection. + +2014-10-02 H. Dieter Wilhelm + + * calc/calc-help.el (calc-describe-thing): Quote strings + which could look like regexps. + +2014-10-01 Stefan Monnier + + Consolidate x-select-text. + * frame.el (gui-method, gui-method-define, gui-method-declare) + (gui-call): New macros. + (gui-method--name): New function. + (frame-creation-function-alist): Use gui-method-declare. + (make-frame): Use gui-method. + * select.el (gui-select-enable-clipboard): Rename from + x-select-enable-clipboard and move here. + (x-select-enable-clipboard): Define as obsolete alias. + (gui-last-selected-text): New var, to replace x-last-selected-text. + (gui-select-text): New GUI method. + (gui-select-text): New function. + (x-select-text): Define as obsolete alias. + * term/common-win.el (x-select-enable-clipboard, x-select-text): + Move to select.el. + * simple.el (interprogram-cut-function): Change default to + x-select-text. + (interprogram-paste-function): Change default to `ignore'. + * w32-common-fns.el (interprogram-cut-function): Don't modify. + * term/x-win.el (interprogram-cut-function): Don't modify. + (gui-select-text): Add method for x. + * term/w32-win.el (gui-select-text): Add method for w32. + * term/pc-win.el (x-last-selected-text): Remove, use + gui-last-selected-text instead. + (msdos-initialize-window-system): Don't set interprogram-cut-function. + (gui-select-text): Add method for pc. + * term/ns-win.el (ns-last-selected-text): Remove, use + gui-last-selected-text instead. + (gui-select-text): Add method for ns. + (x-setup-function-keys): Don't change interprogram-cut-function. + * loadup.el ("startup"): Load after "frame". + * subr.el (package--builtin-versions, package--description-file): + Move from startup.el. + * startup.el (package--builtin-versions, package--description-file): + Move to subr.el. + (handle-args-function-alist, window-system-initialization-alist): + Use gui-method-declare. + (command-line): Use gui-method. + +2014-10-01 Stefan Monnier + + * subr.el (alist-get): New accessor. + * emacs-lisp/gv.el (alist-get): Provide expander. + * winner.el (winner-remember): + * tempo.el (tempo-use-tag-list): + * progmodes/gud.el (minor-mode-map-alist): + * international/mule-cmds.el (define-char-code-property): + * frameset.el (frameset-filter-params): + * files.el (dir-locals-set-class-variables): + * register.el (get-register, set-register): + * calc/calc-yank.el (calc-set-register): Use it. + * ps-print.el (ps-get, ps-put, ps-del): Mark as obsolete. + * tooltip.el (tooltip-set-param): Mark as obsolete. + (tooltip-show): Use alist-get instead. + * ses.el (ses--alist-get): Remove. Use alist-get instead. + +2014-10-01 Ulf Jasper + + * net/newst-backend.el: Remove Time-stamp. Rename variable + `newsticker--download-logos' to `newsticker-download-logos' and + make it customizable. + (newsticker--sentinel-work): Move xml-workarounds to function + `newsticker--do-xml-workarounds', call unless libxml-parser is + used. Allow single quote in regexp for encoding. + Use libxml-parser if available, else fall back to `xml-parse-region'. + Take care of possibly missing namespace prefixes (like "RDF" + instead of "rdf:RDF") when checking xml nodes and attributes (as + libxml correctly removes the prefixes). Always use Atom 1.0 as + fallback feed type. Rename `newsticker--download-logos' to + `newsticker-download-logos' + (newsticker--unxml, newsticker--unxml-node) + (newsticker--unxml-attribute): New. + (newsticker--parse-atom-1.0): Call `unxml' in case that embedded + HTML code has become part of the xml parse tree. + (newsticker--parse-rss-1.0, newsticker--parse-rss-2.0): Take care + of possibly missing namespace prefixes. + (newsticker--parse-generic-items): Code formatting. Typo. + (newsticker--images-dir): Add trailing slash. + (newsticker--image-get): Fix error message. + + * net/newst-plainview.el: Remove Time-stamp. + + * net/newst-reader.el: Remove Time-stamp. + (newsticker-download-logos): Rename variable + `newsticker--download-logos' to `newsticker-download-logos' and + make it customizable. + (newsticker--print-extra-elements): Add optional parameter + 'htmlish for using html markup. Amend list of ignored elements. + (newsticker--do-print-extra-element): Add parameter 'htmlish for + using html markup. + + * net/newst-ticker.el: Remove Time-stamp. + + * net/newst-treeview.el (newsticker--treeview-item-show): Use html + for formatting extra elements. + + * net/newsticker.el: Remove Time-stamp, Version. + (newsticker-version): Make obsolete. + +2014-09-30 Leonardo Nobrega (tiny change) + + * progmodes/python.el (python-fill-paren): Don't inf-loop at EOB + (bug#18462). + +2014-09-30 Stefan Monnier + + * emacs-lisp/package.el (package-check-signature): Default to nil if + GPG is not available. + (package-refresh-contents): Don't mess with the keyring if we won't + check the signatures anyway. + +2014-09-30 Stefan Monnier + + * ses.el (ses--row, ses--col): New dyn-scoped vars, to replace row&col. + (ses-center, ses-center-span): Use them. + (ses-print-cell): Bind them while calling the printer. + (row, col, maxrow, maxcol): Don't declare as dynamically scoped. + (ses-dorange): Revert last change. + (ses-calculate-cell): Don't bind row&col dynamically while evaluating + the formula. + (ses-set-cell): Avoid `eval'. + (ses--time-check): Rename it from ses-time-check and turn it into + a macro. + + * ses.el (ses-setup): Don't assume modifying the iteration var of + dotimes affects the iteration (bug#18191). + +2014-09-30 Vincent Belaïche + + * ses.el (ses-calculate-cell): Bind row and col dynamically to + their values with 'cl-progv'. + (ses-dorange): Bind row, col, maxrow and maxcol dynamically to + their values with 'cl-progv', also use non-interned symbols for + row, minrow, maxrow, mincol and maxcol. + (maxrow maxcol): New defvar, to make the compiler happy. + +2014-09-30 Stefan Monnier + + * minibuffer.el (completion-at-point): Emit warning for ill-behaved + completion functions. + +2014-09-29 Stefan Monnier + + * ses.el (ses--letref): Quote value before it gets re-evaluated. + +2014-09-28 Thien-Thi Nguyen + + Font-lock `cl-flet*', too. + * emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2): + Add "flet*" to intermediate var `cl-lib-kw'. + +2014-09-27 Stefan Monnier + + * epg-config.el (epg-gpg-program): Use the plain program names rather + than their absolute file name. + + * subr.el (track-mouse): New macro. + * emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): + Remove track-mouse case. + * emacs-lisp/bytecomp.el (byte-compile-track-mouse): Remove. + +2014-09-27 Leo Liu - * net/trampver.el: Update release number. + * progmodes/elisp-mode.el (elisp--eldoc-last-data): Use defvar. -2014-11-01 Reuben Thomas + * emacs-lisp/eldoc.el (eldoc-mode): Fix thinko. - * net/tramp.el (tramp-handle-file-symlink-p): - * net/tramp-ftp.el (tramp-ftp-file-name-handler): Remove a comment - about VMS, which we no longer support. +2014-09-27 Stefan Monnier -2014-11-01 Stefan Monnier + * emacs-lisp/pcase.el (pcase--split-match, pcase--app-subst-match): + Handle the case where `match' is :pcase--succeed or :pcase--fail + (bug#18554). + + Introduce global-eldoc-mode. Move Elisp-specific code to elisp-mode.el. + * emacs-lisp/eldoc.el (global-eldoc-mode): New minor mode. + (eldoc-schedule-timer): Obey it. + (eldoc-documentation-function): Default to nil. + (eldoc-mode): Don't enable if eldoc-documentation-function is not set. + (eldoc-documentation-function-default, eldoc-get-fnsym-args-string) + (eldoc-highlight-function-argument, eldoc-get-var-docstring) + (eldoc-last-data-store, eldoc-docstring-first-line) + (eldoc-docstring-format-sym-doc, eldoc-fnsym-in-current-sexp) + (eldoc-beginning-of-sexp, eldoc-current-symbol) + (eldoc-function-argstring): Move to elisp-mode.el. + (eldoc-symbol-function): Remove, unused. + * progmodes/elisp-mode.el: New file. Rename all "eldoc-*" to "elisp--*". + (elisp-completion-at-point): Rename from lisp-completion-at-point. + (elisp--preceding-sexp): Rename from preceding-sexp. + * loadup.el: Load new file progmodes/elisp-mode. + * ielm.el (inferior-emacs-lisp-mode): Set eldoc-documentation-function. + * emacs-lisp/lisp.el (lisp--local-variables-1, lisp--local-variables) + (lisp--local-variables-completion-table, lisp--expect-function-p) + (lisp--form-quoted-p, lisp--company-doc-buffer) + (lisp--company-doc-string, lisp--company-location) + (lisp-completion-at-point): Move to elisp-mode.el. + * emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): New syntax-table, + extracted from emacs-lisp-mode-syntax-table. + (emacs-lisp-mode-abbrev-table, emacs-lisp-mode-syntax-table): Move to + elisp-mode.el. + (lisp-imenu-generic-expression): Add comments to document what comes + from which Lisp dialect. + (emacs-lisp-mode-map, emacs-lisp-byte-compile) + (emacs-lisp-byte-compile-and-load, emacs-lisp-mode-hook) + (emacs-lisp-mode, emacs-list-byte-code-comment-re) + (emacs-lisp-byte-code-comment) + (emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode) + (lisp-interaction-mode-map, lisp-interaction-mode) + (eval-print-last-sexp, last-sexp-setup-props) + (last-sexp-toggle-display, prin1-char, preceding-sexp) + (eval-last-sexp-1, eval-last-sexp-print-value) + (eval-last-sexp-fake-value, eval-sexp-add-defvars, eval-last-sexp) + (eval-defun-1, eval-defun-2, eval-defun): Move to elisp-mode.el. + +2014-09-26 Paul Eggert + + * progmodes/grep.el (grep-regexp-alist): Use more-accurate regexp. + Do not match file names that end in '/', as they cannot be 'grep' + hits nowadays. This prevents confusion when 'grep -r' reports a + match in a file whose basename is ':12345:'. Conversely, do not + require exactly the same sequence of spaces and tabs after both + colons, and allow spaces or tabs before the second colon, as per + the POSIX spec for 'grep' output. + +2014-09-26 Leo Liu + + Add cl-parse-integer based on parse-integer (Bug#18557) + * calendar/parse-time.el (parse-time-digits): Remove. + (digit-char-p, parse-integer) Moved to cl-lib.el. + (parse-time-tokenize, parse-time-rules, parse-time-string): + Use cl-parse-integer. + + * emacs-lisp/cl-extra.el (cl-parse-integer): New function. + + * emacs-lisp/cl-lib.el (cl-digit-char-table): New var. + (cl-digit-char-p): New function. + +2014-09-25 Juri Linkov + + * vc/add-log.el (change-log-next-buffer): Don't create an empty + buffer "ChangeLog" when the current buffer doesn't match ChangeLog.[0-9]. + Return the current buffer if no files match the default pattern + ChangeLog.[0-9]. Signal "end of multi" when file is nil. (Bug#18547) + +2014-09-25 Stefan Monnier * net/tramp-sh.el (tramp-sh-handle-vc-registered): Don't modify the global vc-handled-backends (bug#18535). diff --cc src/ChangeLog index 8e5166e22b,acd7e72925..45946eb4a6 --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,849 -1,21 +1,866 @@@ + 2015-01-05 Eli Zaretskii + + * xdisp.c (move_it_to, try_cursor_movement): Don't use the window + end information if the window_end_valid flag is unset. + (try_window_id): If the call to display_line invalidated the + window end information, give up the try_window_id optimization. + (Bug#19511) + + 2015-01-04 Eli Zaretskii + + * w32fns.c (Fx_server_version, Fx_server_vendor): Doc fix. + + * xfns.c (Fx_server_version, Fx_server_vendor): Doc fix. + + * emacs.c (syms_of_emacs) : Doc fix. + (Bug#19502) + -2014-12-30 Eli Zaretskii +2015-01-27 Paul Eggert + + Use bool for boolean in xfaces.c + * dispextern.h: Adjust to signature changes. + * font.c (font_at, font_range): + * fontset.c (Finternal_char_font): + * fringe.c (draw_fringe_bitmap_1): + * xdisp.c (handle_face_prop, face_before_or_after_it_pos) + (get_next_display_element, highlight_trailing_whitespace) + (display_string, calc_line_height_property) + (note_mode_line_or_margin_highlight, note_mouse_highlight): + * xfaces.c (tty_suppress_bold_inverse_default_colors_p) + (menu_face_changed_default, recompute_basic_faces) + (Fbitmap_spec_p, parse_rgb_list, tty_lookup_color) + (tty_defined_color, defined_color, face_color_gray_p) + (face_color_supported_p, load_color2, load_face_colors) + (Fx_list_fonts, LFACEP, push_named_merge_point) + (resolve_face_name, lface_from_face_name_no_resolve) + (lface_from_face_name, get_lface_attributes_no_remap) + (get_lface_attributes, lface_fully_specified_p) + (set_lface_from_font, merge_face_vectors, merge_named_face) + (merge_face_ref, Finternal_make_lisp_face) + (Finternal_lisp_face_p, Finternal_copy_lisp_face) + (Finternal_set_lisp_face_attribute) + (update_face_from_frame_parameter, set_font_frame_param) + (face_boolean_x_resource_value) + (Finternal_set_lisp_face_attribute_from_resource) + (x_update_menu_appearance, Finternal_get_lisp_face_attribute) + (Finternal_merge_in_global_face, Fface_font, face_attr_equal_p) + (lface_equal_p, Finternal_lisp_face_equal_p) + (Finternal_lisp_face_empty_p, lface_same_font_attributes_p) + (Fcolor_distance, lookup_named_face, lookup_basic_face) + (lookup_derived_face, Fface_attributes_as_vector) + (x_supports_face_attributes_p, tty_supports_face_attributes_p) + (Fdisplay_supports_face_attributes_p, realize_basic_faces) + (realize_default_face, realize_named_face) + (realize_non_ascii_face, realize_x_face, map_tty_color) + (realize_tty_face, compute_char_face, face_at_buffer_position) + (face_for_overlay_string, face_at_string_position): + Use bool for boolean. + * xfaces.c (set_lface_from_font): + Return void, since callers never use the result. + +2015-01-26 Andreas Schwab + + * image.c (lookup_pixel_color): Reorder conditions that are + written backwards. + (x_to_xcolors): Likewise. + (x_detect_edges): Likewise. + (png_load_body): Likewise. + (gif_close): Likewise. + (gif_load): Likewise. + +2015-01-25 Eli Zaretskii + + Use bool for boolean in w32term.c + * w32term.c (x_update_window_begin, x_update_window_end) + (x_update_end, x_after_update_window_line) + (x_set_glyph_string_gc, x_draw_glyph_string_background) + (x_draw_glyph_string_foreground) + (x_draw_composite_glyph_string_foreground) + (x_draw_glyphless_glyph_string_foreground) + (x_draw_image_glyph_string, x_draw_glyph_string) + (x_draw_stretch_glyph_string, note_mouse_movement) + (w32_mouse_position, x_scroll_bar_report_motion) + (x_horizontal_scroll_bar_report_motion, w32_read_socket) + (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar) + (w32_draw_window_cursor, x_new_font, x_set_offset) + (x_set_window_size, x_make_frame_invisible, x_iconify_frame): Use + bool where appropriate. + + Use bool for boolean in w32fns.c + * w32fns.c (w32_defined_color, x_decode_color) + (Fxw_color_defined_p, Fxw_color_values, x_set_icon_type) + (x_set_menu_bar_lines, x_change_tool_bar_height) + (x_set_internal_border_width, x_explicitly_set_name) + (x_implicitly_set_name, Fx_create_frame, w32_window) + (x_create_tip_frame, Fx_show_tip): Use bool where appropriate. + +2015-01-25 Paul Eggert + + Use bool for boolean in xfns.c + * xfaces.c (x_update_menu_appearance): + * xfns.c (x_real_positions, x_defined_color, x_decode_color) + (xg_set_icon, xg_set_icon_from_xpm_data, x_set_cursor_color) + (x_set_icon_type, x_set_icon_name, x_set_menu_bar_lines) + (x_change_tool_bar_height, x_set_internal_border_width) + (x_encode_text, x_set_name_internal, x_explicitly_set_name) + (x_implicitly_set_name, x_default_scroll_bar_color_parameter) + (hack_wm_protocols, xic_create_fontsetname, xic_free_xfontset) + (x_window, x_icon, Fx_wm_set_size_hint, Fx_create_frame) + (Fxw_color_defined_p, Fxw_color_values, x_create_tip_frame) + (Fx_show_tip, clean_up_file_dialog, Fx_file_dialog) + (clean_up_dialog, syms_of_xfns): + * xterm.h (xg_set_icon, xg_set_icon_from_xpm_data) + (xic_create_fontsetname): + Use bool for boolean. + * xfns.c: Include bitmaps/gray.xbm unconditionally. + + Count MANY function args more reliably + * alloc.c (Fgc_status, purecopy, unbind_to, garbage_collect_1): + * buffer.c (Fbuffer_list, Fkill_buffer): + * callint.c (read_file_name, Fcall_interactively): + * charset.c (Fset_charset_priority, syms_of_charset): + * chartab.c (uniprop_encode_value_numeric): + * coding.c (syms_of_coding): + * composite.c (syms_of_composite): + * data.c (wrong_range): + * dbusbind.c (syms_of_dbusbind): + * dired.c (file_attributes): + * editfns.c (Fdecode_time, update_buffer_properties, format2): + * eval.c (run_hook_with_args_2, apply1, call1, call2, call3) + (call4, call5, call6, call7): + * fileio.c (Finsert_file_contents, choose_write_coding_system) + (Fcar_less_than_car, build_annotations, auto_save_error): + * filelock.c (get_boot_time): + * fns.c (internal_equal, nconc2, Fyes_or_no_p, Fwidget_apply): + (maybe_resize_hash_table, secure_hash): + * font.c (font_style_to_value, font_open_by_name, Flist_fonts): + * fontset.c (fontset_add, Fset_fontset_font): + * ftfont.c (ftfont_lookup_cache): + * gtkutil.c (xg_get_font): + * insdel.c (signal_before_change, signal_after_change): + * keymap.c (append_key): + * lread.c (load_warn_old_style_backquotes, Fload, init_lread): + * minibuf.c (Fread_buffer): + * print.c (print_preprocess): + * process.c (Fformat_network_address, Fmake_network_process) + (server_accept_connection): + * sound.c (Fplay_sound_internal): + * term.c (Fsuspend_tty, Fresume_tty): + * window.c (window_list): + * xdisp.c (run_redisplay_end_trigger_hook, add_to_log) + (message_with_string): + * xfaces.c (Fx_list_fonts): + * xfont.c (syms_of_xfont): + * xselect.c (x_handle_selection_request) + (x_handle_selection_clear, x_clear_frame_selections) + (x_clipboard_manager_error_1): + Prefer CALLMANY and CALLN to counting args by hand. + * doc.c (reread_doc_file): Remove unused code. + * fns.c (concat2, concat3): Redo to avoid need for local-var vector. + (cmpfn_user_defined, hashfn_user_defined, Fmaphash): + Prefer call1 and call2 to Ffuncall. + * keyboard.c (safe_run_hook_funcall, safe_run_hooks): + Use struct literal rather than a local var, for simplicity. + * keymap.c (where_is_internal): Use NULL rather than a pointer + to unused args. + * lisp.h (CALLMANY, CALLN): New macros. + * sound.c (Fplay_sound_internal): Coalesce duplicate code. + Fixes: bug#19634 + + Use gnustep-config if available + * emacs.c [NS_IMPL_GNUSTEP]: Don't include . + It doesn't appear to be needed, and the inclusion breaks on + Ubuntu 14.10 when 'configure' uses 'gnustep-config'. + +2015-01-22 Eli Zaretskii + + * xdisp.c (init_iterator): Restore a comment lost in transition. + +2015-01-22 Paul Eggert + + Use bool for boolean in xfont.c, xftfont.c, xgselect.c + * xfont.c (xfont_driver, xfont_chars_supported) + (xfont_text_extents): + * xftfont.c (xftfont_get_colors, xftfont_open) + (xftfont_prepare_face, xftfont_done_face) + (xftfont_cached_font_ok): + * xgselect.c (xg_select): + Use bool for boolean. + + Don't downcase system diagnostics' first letters + * fileio.c (report_file_errno): Don't downcase, and simplify. + Fixes: bug#19642 + + Isolate NIL_IS_ZERO-assuming code better + Suggested by Stefan Monnier in: + http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00588.html + * alloc.c (allocate_pseudovector): + Use memclear, not memsetnil, to remove a 'verify'. + * callint.c (Fcall_interactively): + * dispnew.c (realloc_glyph_pool): + * xdisp.c (init_iterator): + Use memclear, not memset, to remove a 'verify'. + * lisp.h (memclear): Rename from memsetnil, and take a byte + count rather than a word count. All callers changed. + +2015-01-20 Paul Eggert + + Undo port to hypothetical nonzero Qnil case + This mostly undoes the previous change in this area. See: + http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00570.html + * alloc.c (allocate_pseudovector): + * callint.c (Fcall_interactively): + * dispnew.c (realloc_glyph_pool): + * fringe.c (init_fringe): + * lisp.h (memsetnil): + * xdisp.c (init_iterator): + Simplify by assuming that Qnil is zero, but verify the assumption. + * lisp.h (NIL_IS_ZERO): Revert back to this symbol, removing + NIL_IS_NONZERO. All uses changed. + +2015-01-20 Jan Djärv + + * nsterm.m (EV_TRAILER2): Set Vinhibit_quit to Qt (Bug#19531). + +2015-01-20 Dmitry Antipov + + Prefer xlispstrdup to avoid dumb calls to strlen. + * nsfont.m (ns_get_family): + * nsterm.m (ns_term_init): + * w32fns.c (w32_window): + * xfns.c (x_window, Fx_select_font): Use xlispstrdup. + +2015-01-20 Paul Eggert + + Correct an old fix for GTK font selection + * gtkutil.c (xg_get_font): Fix off-by-2 typo. + Fixes: bug#3228 + + Fix minor bugs with printing null bytes + * minibuf.c (read_minibuf_noninteractive): + * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: + Work even if the Lisp string contains a null byte. + + Port to hypothetical case where Qnil is nonzero + * alloc.c (allocate_pseudovector): + * callint.c (Fcall_interactively): + * coding.c (syms_of_coding): + * dispnew.c (realloc_glyph_pool): + * fringe.c (init_fringe): + * lisp.h (memsetnil): + * xdisp.c (init_iterator): + Port to the currently-hypothetical case where Qnil is nonzero. + * dispnew.c (adjust_glyph_matrix): Remove unnecessary verification, + as there are no Lisp_Object values in the data here. + * lisp.h (NIL_IS_NONZERO): New symbol, replacing NIL_IS_ZERO. + All uses changed. Define only if not already defined, so that one + can debug with -DNIL_IS_NONZERO. + * xdisp.c (init_iterator): Remove unnecessary initializations to 0. + +2015-01-19 Eli Zaretskii + + * dispnew.c (adjust_glyph_matrix, realloc_glyph_pool): Verify that + Qnil is represented as zero, before using that to initialize parts + of the glyph structure. + + * xdisp.c (init_iterator): Verify that Qnil is represented as + zero, before using that to initialize parts of the iterator + structure. + +2015-01-19 Paul Eggert + + Prefer memset to repeatedly assigning Qnil + * alloc.c (allocate_pseudovector): Catch more bogus values. + * alloc.c (allocate_pseudovector): + * callint.c (Fcall_interactively): + * coding.c (syms_of_coding): + * fringe.c (init_fringe): + Verify that Qnil == 0. + * callint.c (Fcall_interactively): + * eval.c (Fapply, Ffuncall): + * fns.c (mapcar1, larger_vector): + * font.c (font_expand_wildcards): + * fringe.c (init_fringe): + Prefer memset to assigning zeros by hand. + * callint.c (Fcall_interactively): + Remove duplicate assignment of Qnil to args[i]. + * coding.c (syms_of_coding): + Prefer LISP_INITIALLY_ZERO to assigning zeros by hand. + * fileio.c (Ffile_selinux_context): + Rewrite to avoid need for Lisp_Object array. + * lisp.h (XLI_BUILTIN_LISPSYM): New macro. + (DEFINE_LISP_SYMBOL_END): Use it. + (NIL_IS_ZERO): New constant. + (memsetnil): New function. + +2015-01-16 Dmitry Antipov + + Tune pseudovector allocation assuming Qnil == 0. + * alloc.c (allocate_pseudovector): Use memset for both + Lisp_Objects and regular slots. Add zerolen arg. + * lisp.h (allocate_pseudovector): Adjust prototype. + (ALLOCATE_PSEUDOVECTOR): Adjust user. + (ALLOCATE_ZEROED_PSEUDOVECTOR): New macro. + (allocate_hash_table, allocate_window, allocate_frame) + (allocate_process, allocate_terminal): Remove prototypes. + * fns.c (allocate_hash_table): Now static here. + * frame.c (allocate_frame): + * process.c (allocate_process): + * terminal.c (allocate_terminal): + * window.c (allocate_window): Now static here. + Use ALLOCATE_ZEROED_PSEUDOVECTOR. Add comment. + + * lisp.h (XTERMINAL): Add eassert. + * process.c (make_lisp_proc): Now static here. + + Prefer INLINE functions in font.h to match style used in lisp.h. + * font.h (FONTP, FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P) + (CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT) + (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, CHECK_FONT_GET_OBJECT): + Now functions. + * font.c (Ffont_otf_alternates, Fquery_font, Ffont_get_glyphs): + * ftfont.c (ftfont_shape): + * macfont.m (macfont_shape): + * w32uniscribe.c (uniscribe_shape): + * xftfont.c (xftfont_shape): Adjust CHECK_FONT_GET_OBJECT users. + +2015-01-16 Paul Eggert + + Give up on -Wsuggest-attribute=const + * decompress.c (Fzlib_available_p): + * gnutls.c (Fgnutls_available_p): + * gtkutil.h (xg_uses_old_file_dialog): + * xdisp.c (Ftool_bar_height): + * xmenu.c (popup_activated): + No longer const, since it's not const on at lest some + configurations, and we shouldn't lie to the compiler. + +2015-01-15 Eli Zaretskii + + * fileio.c: Include binary-io.h. + (Fset_binary_mode): New function. + (syms_of_fileio): Defsubr it. + (syms_of_fileio) : DEFSYM them. + +2015-01-15 Teodor Zlatanov + + * gnutls.c (init_gnutls_functions): Import gnutls_x509_crt_check_issuer. + (Fgnutls_peer_status): Use it to set the :self-signed flag. + Rename the previous :self-signed to :unknown-ca. (Bug#19404) + (Fgnutls_peer_status_warning_describe): Explain :unknown-ca flag. + +2015-01-14 Eli Zaretskii + + * w32fns.c (w32_wnd_proc): Ignore MENUITEMINFO's dwItemData data + when FLAGS indicate the item is not highlighted. (Bug#19596) + +2015-01-14 Martin Rudalics + + * xmenu.c (update_frame_menubar): Remove garbaged code. + +2015-01-14 Paul Eggert + + remove_slash_colon need not be inline + * process.c, process.h (remove_slash_colon): No longer inline. + This saves text bytes without hurting runtime performance. + +2015-01-14 Dmitry Antipov + + Avoid extra multibyteness check in ENCODE_FILE users. + * callproc.c (encode_current_directory, Fcall_process, call_process): + * dired.c (directory_files_internal, file_name_completion): + Do not check for STRING_MULTIBYTE because encode_file_name + is a no-op for unibyte strings. + + * process.h (remove_slash_colon): New function. + * callproc.c (encode_current_directory, call_process): + * process.c (Fstart_process): Use it. + + Consistently handle time zone specification. + * editfns.c (decode_time_zone): New function, refactored out from ... + (Fencode_time): ... adjusted user. + (Fset_time_zone_rule): Use decode_time_zone. + + * editfns.c (make_buffer_string_both): If requested range intersects + the gap, don't move the latter but copy in two regions, thus avoiding + unnecessary relocation of buffer data. + +2015-01-14 Paul Eggert + + Use bool for boolean in xmenu.c, xml.c + * xmenu.c (x_menu_set_in_use, popup_get_selection) + (Fx_menu_bar_open_internal, popup_widget_loop) + (x_activate_menubar, xg_crazy_callback_abort) + (update_frame_menubar, set_frame_menubar) + (initialize_frame_menubar, free_frame_menubar) + (create_and_show_popup_menu, x_menu_show) + (create_and_show_dialog, x_dialog_show): + * xml.c (libxml2_loaded_p, init_libxml2_functions, parse_region) + (Flibxml_parse_html_region, Flibxml_parse_xml_region): + * xrdb.c (main) [TESTRM]: + * xsettings.c (init_gsettings): + * xterm.c (XFillRectangle, xg_scroll_callback) + (xg_end_scroll_callback): + * xterm.h (x_menu_set_in_use) [USE_GTK || USE_MOTIF]: + Use bool for boolean. + * xmenu.c (TRUE): Remove; no longer used. + (show_help_event): Remove long-unused code. + (set_frame_menubar): Remove "#if 1" and corresponding "#endif" lines. + +2015-01-13 Paul Eggert + + Don't say Fnext_read_file_uses_dialog_p is const + It's const only if a windowing system is not used; don't say it's + const otherwise. See: + http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00310.html + * fileio.c (next_read_file_uses_dialog_p): Remove. + Move guts back to ... + (Fnext_read_file_uses_dialog_p): ... here. + Don't declare as const, as make-docfile.c now has a special case + for this function. This is an ugly hack, but it's better than + lying to the compiler. + + Remove now-unnecessary forward XTYPE decl + * lisp.h (XTYPE): Remove forward declaration. The recent merge + from emacs-24 fixed the problem in a better way, by moving XPNTR's + definition to after XTYPE's. + +2015-01-13 Eli Zaretskii + + Fix problems with 32-bit wide-int build exposed by MinGW. + * lisp.h (XPNTR): Move definition to after XTYPE, to avoid + compilation error in an unoptimized build when !USE_LSB_TAG. + + * w32heap.c (DUMPED_HEAP_SIZE): For 32-bit wide-int build, use the + same larger value as for the 64-bit build. + + * w32term.h (SCROLL_BAR_PACK): Cast the result to UINT_PTR to + avoid compiler warnings. + + * w32proc.c (Fw32_get_codepage_charset, Fw32_set_keyboard_layout): + Avoid compiler warnings about cast from integer to pointer of + different size. + + * w32menu.c (menubar_selection_callback, w32_menu_show): Cast to + UINT_PTR instead of EMACS_INT, to avoid compiler warnings about + casting from integer to pointer of different size. + (add_menu_item): Pass the help-echo string as a pointer to + Lisp_String, not as a Lisp_Object. + (w32_menu_display_help): Use make_lisp_ptr to reconstruct a Lisp + string object from its C pointer. + + * w32fns.c (w32_msg_pump) : Use + make_lisp_ptr instead of XIL, to reconstruct a Lisp_Cons from its + C pointer. + : msg.lparam is now a C integer. + (Fx_create_frame): Type-cast the result of XFASTINT to avoild + compiler warnings about size differences. + (Fw32_unregister_hot_key): Pass the tail of w32_grabbed_keys as a + pointer to a Lisp_Cons struct, not as a disguised EMACS_INT. + (Fw32_toggle_lock_key): Pass the new state of the key as a C + integer; use -1 for nil. Doc fix. + + * .gdbinit (xgetsym): New subroutine. + (xsymname, xsymbol): Use it. + (xprintsym): No need to call xgetptr. + +2015-01-13 Martin Rudalics + + * frame.c (adjust_frame_size): Make sure new numbers of + lines/columns get installed after font size change (Bug#19575). + +2015-01-13 Dmitry Antipov + + Add DEFUN attributes. + * callint.c (Finteractive): + * character.c (Fcharacterp, Fmax_char): + * data.c (Feq, Fnull, Fconsp, Fatom, Flistp, Fnlistp, Fsymbolp) + (Fstringp, Fchar_or_string_p, Fintegerp, Fnatnump, Fnumberp) + (Ffloatp, Fbyteorder): + * decompress.c (Fzlib_available_p): + * fns.c (Fidentity): + * frame.c (Fframe_windows_min_size): + * gnutls.c (Fgnutls_error_p, Fgnutls_available_p): + * window.c (Fwindow__sanitize_window_sizes): + * xdisp.c (Ftool_bar_height): + * xfaces.c (Fface_attribute_relative_p): Add const attribute. + * emacs.c (Fkill_emacs): + * eval.c (Fthrow): + * keyboard.c (Ftop_level, Fexit_recursive_edit) + (Fabor_recursive_edit): Add noreturn attribute. + + * search.c (fast_string_match_internal): New function, + consolidated from... + (fast_string_match, fast_string_match_ignore_case): ...functions + which are... + * lisp.h (fast_string_match, fast_string_match_ignore_case): + inlined from here now. + (fast_string_match_internal): Add prototype. + * dired.c (file_name_completion): Use fast_string_match_internal. + + * fileio.c (next_read_file_uses_dialog_p): New workaround ... + (Fnext_read_file_uses_dialog_p): ... called from here to avoid + ATTRIBUTE_CONST dependency from #ifdefs. For details, see + http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00289.html. + +2015-01-12 Paul Eggert + + Port to 32-bit MingGW --with-wide-int + Problem reported by Eli Zaretskii in: + http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00265.html + * lisp.h (struct Lisp_Sub_Char_Table): Check that offset matches + what we think it is, rather than checking only its alignment (and + doing so incorrectly on MinGW). + +2015-01-12 Dmitry Antipov + + * fileio.c (Ffile_name_as_directory, Fdirectory_file_name): + Remove dead NILP check. + * image.c (Flookup_image): Use regular format for docstring. + * keyboard.c (apply_modifiers_uncached): Use stpcpy. + +2015-01-12 Martin Rudalics + + * dispnew.c (change_frame_size_1): Pass Qchange_frame_size to + adjust_frame_size. + * frame.c (frame_default_tool_bar_height): New variable. + (adjust_frame_size): Possibly add requested adjustment to + Vframe_adjust_size_history. + (make_frame): Initialize tool_bar_redisplayed_once slot. + (Fset_frame_height, Fset_frame_width, Fset_frame_size): Clarify + doc-string. Call adjust_frame_size unconditionally (the frame's + text size may remain unaltered but the pixel size may change). + (x_figure_window_size): If frame_default_tool_bar_height was + set, use it instead of calculating the tool bar height from + DEFAULT_TOOL_BAR_IMAGE_HEIGHT. Don't set + Vframe_initial_frame_tool_bar_height. + (Qchange_frame_size, Qxg_frame_set_char_size) + (Qset_window_configuration, Qx_create_frame_1) + (Qx_create_frame_2): New symbols. + (Vframe_initial_frame_tool_bar_height): Remove. + (Vframe_adjust_size_history): New history variable for debugging + frame size adjustments. + * frame.h (struct frame): New boolean slot + tool_bar_redisplayed_once. + (frame_default_tool_bar_height): Extern. + * gtkutil.c (xg_frame_set_char_size): Pass Qxg_frame_set_char_size + to adjust_frame_size. + * nsfns.m (Fx_create_frame): Pass Pass Qx_create_frame_1 and + Qx_create_frame_2 to adjust_frame_size. + * w32fns.c (x_change_tool_bar_height): Call adjust_frame_size with + inhibit 1 when we have not redisplayed the tool bar yet. + (Fx_create_frame): Pass Pass Qx_create_frame_1 and + Qx_create_frame_2 to adjust_frame_size. + * w32menu.c (set_frame_menubar): Simplify adjust_frame_size + call. + * window.c (Fset_window_configuration): Pass + Qset_window_configuration to adjust_frame_size. + * xdisp.c (redisplay_tool_bar): Assign new height to + frame_default_tool_bar_height. + (redisplay_internal): If we haven't redisplayed this frame's + tool bar, call redisplay_tool_bar early so we can adjust the + frame size accordingly. + * xfns.c (x_change_tool_bar_height): Call adjust_frame_size with + inhibit 1 when we have not redisplayed the tool bar yet. + (Fx_create_frame): Pass Pass Qx_create_frame_1 and + Qx_create_frame_2 to adjust_frame_size. + +2015-01-12 Paul Eggert + + Have 'make' output better GEN names + * Makefile.in (gl-stamp, globals.h): Simplify by putting the new + contents of globals.h into gl-stamp. This lets us use AM_V_GEN + more naturally so that 'make' can output more-accurate names. + +2015-01-11 Stefan Monnier + + * buffer.c (init_buffer_once): Initialize buffer_local_flags before + calling reset_buffer_local_variables, and make sure we initialize + it completely. + +2015-01-11 Dmitry Antipov + + * coding.c (Fcoding_system_plist): Use common style for docstring. + +2015-01-11 Paul Eggert + + Port to MSB hosts without optimization + E.g., when configuring --with-wide-int CFLAGS='-O0' on x86, + the inline function XTYPE needs to be declared before being used. + * lisp.h (XTYPE): New forward declaration. + +2015-01-10 Paul Eggert + + Port to 32-bit --with-wide-int + Prefer symbol indexes to struct Lisp_Symbol * casted and then + widened, as the latter had trouble with GCC on Fedora 21 when + configured --with-wide-int and when used in static initializers. + * alloc.c (garbage_collect_1, which_symbols): + * lread.c (init_obarray): + Prefer builtin_lisp_symbol when it can be used. + * dispextern.h (struct image_type.type): + * font.c (font_property_table.key): + * frame.c (struct frame_parm_table.sym): + * keyboard.c (scroll_bar_parts, struct event_head): + * xdisp.c (struct props.name): + Use the index of a builtin symbol rather than its address. + All uses changed. + * lisp.h (TAG_SYMPTR, XSYMBOL_INIT): Remove, replacing with ... + (TAG_SYMOFFSET, SYMBOL_INDEX): ... new macros that deal with + symbol indexes rather than pointers, and which work better on MSB + hosts because they shift right before tagging. All uses changed. + (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END): + No longer noops on wide-int hosts, since they work now. + (builtin_lisp_symbol): New function. + + Port to HAVE_FREETYPE && !HAVE_XFT + * dispextern.h (struct face.extra) [HAVE_FREETYPE && !HAVE_XFT]: + * font.h (syms_of_xftfont) [HAVE_FREETYPE && !HAVE_XFT]: + Declare in this case too. + +2015-01-10 Eli Zaretskii + + * w32fns.c (Fw32_register_hot_key): Use XINT instead of XLI. + + * w32notify.c (Fw32notify_add_watch, w32_get_watch_object): Use + make_pointer_integer instead of XIL. + (Fw32notify_rm_watch): Use XINTPTR instead of XLI. + + * w32inevt.c (handle_file_notifications): Use make_pointer_integer + instead of XIL. Put a list of the descriptor, action, and file + name in event->arg, instead of spreading them between event->code + and event->arg. + + * w32term.c (queue_notifications): Use make_pointer_integer + instead of XIL. Put a list of the descriptor, action, and file + name in event->arg, instead of spreading them between event->code + and event->arg. + + * keyboard.c (kbd_buffer_get_event) [HAVE_W32NOTIFY]: Adjust Lisp + event creation to changes in w32term.c and w32inevt.c above. + +2015-01-09 Paul Eggert + + Port Qnil==0 changes to 32-bit --with-wide-int + * lisp.h (lisp_h_XSYMBOL, XSYMBOL): Assume USE_LSB_TAG in the + macro-implemented version. For the non-USE_LSB_TAG case, supply + a new inline function that is the inverse of the new TAG_SYMPTR. + (lisp_h_XUNTAGBASE, XUNTAGBASE): Remove. All uses removed. + (TAG_SYMPTR) [!USE_LSB_TAG]: If the pointer subtraction yields a + negative number, don't allow sign bits to bleed into the encoded + value. Shift in zero bits instead. + + Refactor pointer-to-integer conversion + * gfilenotify.c (monitor_to_lisp, lisp_to_monitor): + Rename and move to lisp.h. All uses changed. + * lisp.h (XINTPTR, make_pointer_integer): New inline functions, + which are renamed from gfilenotify.c's lisp_to_monitor and + monitor_to_lisp, and with more-generic void * signatures. + +2015-01-08 Eli Zaretskii + + * dispnew.c (buffer_posn_from_coords): Fix the value of the column + returned for right-to-left screen lines. (Before the change on + 2014-12-30, the incorrectly-computed X pixel coordinate concealed + this bug.) + + * .gdbinit (xsymname): New subroutine. + (xprintsym, initial-tbreak): Use it to access the name of a symbol + in a way that doesn't cause GDB to barf when it tries to + dereference a NULL pointer. + + * xdisp.c (next_element_from_c_string): Use Lisp integer zero as + the object. + (set_cursor_from_row, try_cursor_movement, dump_glyph) + (insert_left_trunc_glyphs, append_space_for_newline) + (extend_face_to_end_of_line, highlight_trailing_whitespace) + (find_row_edges, ROW_GLYPH_NEWLINE_P, Fmove_point_visually) + (Fbidi_resolved_levels, produce_special_glyphs) + (rows_from_pos_range, mouse_face_from_buffer_pos) + (note_mouse_highlight): Use nil as the object for glyphs inserted + by the display engine, and test with NILP instead of INTEGERP. + (Bug#19535) + + * w32fns.c (Fx_show_tip): Use NILP to test for glyphs inserted by + the display engine. + + * xfns.c (Fx_show_tip): Use NILP to test for glyphs inserted by + the display engine. + + * dispextern.h (struct glyph, struct it): Update comments for the + OBJECT members. + +2015-01-08 Paul Eggert + + Port new Lisp symbol init to x86 --with-wide-int + * lisp.h (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END): + Define to empty on platforms where EMACS_INT_MAX != INTPTR_MAX, as + GCC (at least) does not allow a constant initializer to widen an + address constant. + + * lisp.h (TAG_SYMPTR): Don't do arithmetic on NULL. + This is a followup to the "Port Qnil==0 XUNTAG to clang" patch. + Although clang doesn't need it, some other compiler might, and + it's easy enough to be safe. + + * conf_post.h (ATTRIBUTE_ALLOC_SIZE): Port to clang 3.5.0. + Apparently clang removed support for the alloc_size attribute. + + Port Qnil==0 XUNTAG to clang + clang has undefined behavior if the program subtracts an integer + from (char *) 0. Problem reported by YAMAMOTO Mitsuharu in: + http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00132.html + * lisp.h (lisp_h_XUNTAG) [USE_LSB_TAG]: + (XUNTAG) [!USE_LSB_TAG]: Port to clang 3.5.0. + + Port GFileMonitor * hack to Qnil==0 platforms + Reported by Glenn Morris in: http://bugs.gnu.org/15880#112 + * gfilenotify.c (monitor_to_lisp, lisp_to_monitor): New functions. + (dir_monitor_callback, Fgfile_add_watch, Fgfile_rm_watch): Use them. + +2015-01-06 Jan Djärv + + * nsterm.m (x_set_window_size): Call updateFrameSize to get real + size instead of using widht/height. The frame may be constrained. + +2015-01-05 Paul Eggert + + * lisp.h (XSYMBOL): Parenthesize id in forward decl. + Needed when neither optimizing nor inlining. + Also, sort decls alphabetically. + +2015-01-05 Eli Zaretskii + + * w32proc.c, w32.h, w32fns.c, w32font.c, w32menu.c, w32notify.c: + * w32proc.c, w32select.c, w32term.c, w32uniscribe.c: Remove + declarations of Q* variables that represent symbols. + +2015-01-05 Paul Eggert + + Use 0 for Qnil + Fixes Bug#15880. + If USE_LSB_TAG, arrange for the representation of Qnil to be zero so + that NILP (x) is equivalent to testing whether x is 0 at the + machine level. The overall effects of this and the previous patch + shrink the size of the text segment by 2.3% and speeds up + compilation of all the .elc files by about 0.5% on my platform, + which is Fedora 20 x86-64. + * lisp.h (lisp_h_XPNTR, lisp_h_XSYMBOL, lisp_h_XUNTAG) + (make_lisp_symbol) [USE_LSB_TAG]: + Symbols now tag the difference from lispsym, not the pointer. + (lisp_h_XUNTAGBASE, TAG_SYMPTR): New macros. + (Lisp_Int0, Lisp_Int1, Lisp_Symbol, Lisp_Misc, Lisp_String, Lisp_Cons): + Renumber so that Lisp_Symbol is 0, so that Qnil is zero. + (XSYMBOL): New forward decl. + (XUNTAGBASE): New function. + (XUNTAG): Use it. + + Compute C decls for DEFSYMs automatically + Fixes Bug#15880. + This patch also makes Q constants (e.g., Qnil) constant addresses + from the C point of view. + * alloc.c, bidi.c, buffer.c, bytecode.c, callint.c, casefiddle.c: + * casetab.c, category.c, ccl.c, charset.c, chartab.c, cmds.c, coding.c: + * composite.c, data.c, dbusbind.c, decompress.c, dired.c, dispnew.c: + * doc.c, editfns.c, emacs.c, eval.c, fileio.c, fns.c, font.c, fontset.c: + * frame.c, fringe.c, ftfont.c, ftxfont.c, gfilenotify.c, gnutls.c: + * image.c, inotify.c, insdel.c, keyboard.c, keymap.c, lread.c: + * macfont.m, macros.c, minibuf.c, nsfns.m, nsfont.m, nsimage.m: + * nsmenu.m, nsselect.m, nsterm.m, print.c, process.c, profiler.c: + * search.c, sound.c, syntax.c, term.c, terminal.c, textprop.c, undo.c: + * window.c, xdisp.c, xfaces.c, xfns.c, xftfont.c, xmenu.c, xml.c: + * xselect.c, xsettings.c, xterm.c: + Remove Q vars that represent symbols (e.g., Qnil, Qt, Qemacs). + These names are now defined automatically by make-docfile. + * alloc.c (init_symbol): New function. + (Fmake_symbol): Use it. + (c_symbol_p): New function. + (valid_lisp_object_p, purecopy): Use it. + * alloc.c (marked_pinned_symbols): + Use make_lisp_symbol instead of make_lisp_ptr. + (garbage_collect_1): Mark lispsym symbols. + (CHECK_ALLOCATED_AND_LIVE_SYMBOL): New macro. + (mark_object): Use it. + (sweep_symbols): Sweep lispsym symbols. + (symbol_uses_obj): New function. + (which_symbols): Use it. Work for lispsym symbols, too. + (init_alloc_once): Initialize Vpurify_flag here; no need to wait, + since Qt's address is already known now. + (syms_of_alloc): Add lispsym count to symbols_consed. + * buffer.c (init_buffer_once): Compare to Qnil, not to make_number (0), + when testing whether storage is all bits zero. + * dispextern.h (struct image_type): + * font.c (font_property_table): + * frame.c (struct frame_parm_table, frame_parms): + * keyboard.c (scroll_bar_parts, struct event_head): + * xdisp.c (struct props): + Use XSYMBOL_INIT (Qfoo) and struct Lisp_Symbol * rather than &Qfoo and + Lisp_Object *, since Qfoo is no longer an object whose address can be + taken. All uses changed. + * eval.c (run_hook): New function. Most uses of Frun_hooks changed to + use it, so that they no longer need to take the address of a Lisp sym. + (syms_of_eval): Don't use DEFSYM on Vrun_hooks, as it's a variable. + * frame.c (syms_of_frame): Add defsyms for the frame_parms table. + * keyboard.c (syms_of_keyboard): Don't DEFSYM Qmenu_bar here. + DEFSYM Qdeactivate_mark before the corresponding var. + * keymap.c (syms_of_keymap): Use DEFSYM for Qmenu_bar and Qmode_line + instead of interning their symbols; this avoids duplicates. + (LISP_INITIALLY, TAG_PTR) + (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END, XSYMBOL_INIT): + New macros. + (LISP_INITIALLY_ZERO): Use it. + (enum symbol_interned, enum symbol_redirect, struct Lisp_Symbol) + (EXFUN, DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_*): + Move decls up, to avoid forward uses. Include globals.h earlier, too. + (make_lisp_symbol): New function. + (XSETSYMBOL): Use it. + (DEFSYM): Now just a placeholder for make-docfile. + * lread.c (DEFINE_SYMBOLS): Define, for globals.h. + (intern_sym): New function, with body taken from old intern_driver. + (intern_driver): Use it. Last arg is now Lisp integer, not ptrdiff_t. + All uses changed. + (define_symbol): New function. + (init_obarray): Define the C symbols taken from lispsym. + Use plain DEFSYM for Qt and Qnil. + * syntax.c (init_syntax_once): No need to worry about + Qchar_table_extra_slots. + +2015-01-04 Paul Eggert + + 'temacs -nw' should not call missing functions + Without this patch, "temacs -nw" fails with the diagnostic + "emacs: Symbol's function definition is void: frame-windows-min-size" + and messes up the tty's state. + * frame.c (Fframe_windows_min_size): New placeholder function. + (syms_of_frame): Define it. + * window.c (Fwindow__sanitize_window_sizes): New placeholder. + (syms_of_window): Define it. + + Less 'make' chatter for lisp dir + * Makefile.in (%.elc): Adjust to compile-onefile change in + ../lisp/Makefile.in. + + batch write-region no longer says "Wrote FOO" + This cuts down on 'make' chatter a bit. + * fileio.c (Fwrite_region): + Don't output "Wrote /whatever/foo.elc" if noninteractive. + +2015-01-03 Paul Eggert + + Revert previous change to produce_composite_glyph + * term.c (produce_composite_glyph): Revert previous change (Bug#19496). + + Pacify gcc -Wparentheses + * frame.c (x_set_frame_parameters): Add parens (Bug#19428). + +2015-01-03 Martin Rudalics + + * frame.c (x_set_frame_parameters): Call Fset_frame_size only if + f->can_x_set_window_size is true. + * xterm.c (x_set_window_size_1): Call change_frame_size with + text sizes instead of pixel sizes (Bug#19428). + +2015-01-01 Eli Zaretskii * xdisp.c (pos_visible_p): Fix up the X coordinate for right-to-left screen lines. (Bug#19473)