]> code.delx.au - gnu-emacs/commitdiff
Merge from emacs-24; up to 117689
authorGlenn Morris <rgm@gnu.org>
Sat, 8 Nov 2014 21:32:10 +0000 (13:32 -0800)
committerGlenn Morris <rgm@gnu.org>
Sat, 8 Nov 2014 21:32:10 +0000 (13:32 -0800)
1  2 
lisp/ChangeLog
lisp/emacs-lisp/bytecomp.el
src/ChangeLog
src/nsterm.m

diff --combined lisp/ChangeLog
index ab12e064aaabb4a0ea45b310e2e0bdbf8c763b8f,c3ecb7536e0d29751e60d1a1d90d347cd8d0266a..0b0192a545dd08edafe76d1309a502a1024fc262
@@@ -1,22 -1,40 +1,28 @@@
 -2014-11-07  Michael Albinus  <michael.albinus@gmx.de>
+ 2014-11-08  Glenn Morris  <rgm@gnu.org>
+       * 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  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-check-cached-permissions): Include hop in
        the constructed Tramp file name.  (Bug#18943)
  
 -2014-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * 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):
 +      (cua-set-mark, cua--post-command-handler-1):
        * emulation/cua-gmrk.el (cua-cancel-global-mark): Same.
  
 -2014-11-07  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
  
        * 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-07  Daiki Ueno  <ueno@gnu.org>
 -
 -      * epg.el (epg--list-keys-1): Ignore fields after the 15th field
 -      (bug#18979).  Reported by Hideki Saito.
 -
 -2014-10-18  Alan Mackenzie  <acm@muc.de>
 -
 -      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.
 -
 -2014-11-05  Alan Mackenzie  <acm@muc.de>
 +2014-11-08  Alan Mackenzie  <acm@muc.de>
  
        Fix wrong bound to c-font-lock-declarators.  Fixes bug #18948.
        * progmodes/cc-fonts.el (c-font-lock-declarations): Pass
@@@ -24,7 -42,7 +30,7 @@@
        the buffer is sometimes narrowed to less than "limit" (e.g., in
        the presence of macros).
  
 -2014-11-05  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-error-with-buffer): Show connection buffer
        only when message appeared in minibuffer.  (Bug#18891)
        * net/tramp-sh.el (tramp-sh-handle-file-attributes): Return nil in
        case of errors.
  
 -2014-11-04  Eli Zaretskii  <eliz@gnu.org>
 +2014-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * 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  <rms@gnu.org>
 +
 +      * 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  <rudalics@gmx.at>
 +
 +      * faces.el (face-set-after-frame-default): Enable running
 +      `window-configuration-change-hook'.
 +
 +2014-11-07  Juri Linkov  <juri@jurta.org>
 +
 +      * 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  <rudalics@gmx.at>
 +
 +      * cus-start.el (frame-resize-pixelwise): Fix group.
 +      (frame-inhibit-implied-resize): Add entry.
 +
 +2014-11-07  Daiki Ueno  <ueno@gnu.org>
 +
 +      * 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  <ueno@gnu.org>
 +
 +      * epg.el (epg--list-keys-1): Ignore fields after the 15th field
 +      (bug#18979).  Reported by Hideki Saito.
 +
 +2014-11-06  Daiki Ueno  <ueno@gnu.org>
 +
 +      * 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  <monnier@iro.umontreal.ca>
 +
 +      * 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  <ueno@gnu.org>
 +
 +      * 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  <monnier@iro.umontreal.ca>
 +
 +      * 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  <tsdh@gnu.org>
 +
 +      * net/eww.el (subr-x): Require subr-x at compile-time because eww
 +      uses string-trim.
 +
 +2014-11-05  Daiki Ueno  <ueno@gnu.org>
 +
 +      * 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  <eliz@gnu.org>
  
        * jit-lock.el (jit-lock-stealth-fontify): Be tolerant to nil being
        returned by load-average.
  
 -2014-11-04  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-05  Michael Albinus  <michael.albinus@gmx.de>
  
 -        * 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)
 +      * 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-04  Glenn Morris  <rgm@gnu.org>
 +2014-11-05  Glenn Morris  <rgm@gnu.org>
  
        * mail/emacsbug.el (report-emacs-bug): No longer include
        recent-keys in the report.  (Bug#18900)
  
 +2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * mouse.el (mouse-drag-line): Fix misspelling of "right-fringe".
 +
 +2014-11-04  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * net/eww.el (eww): Trim URL with `string-trim'.
 +      Suggested by Vibhav Pant <vibhavp@gmail.com>.
 +
 +2014-11-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * 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  <monnier@iro.umontreal.ca>
 +
 +      * 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  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Use a
        local copy of FILENAME, when it is remote.  (Bug#18751)
  
 -2014-11-02  Michael Albinus  <michael.albinus@gmx.de>
 -
        * 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-01  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * 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/shr.el (shr-retransform-dom): Don't ignore elements that
 +      have no children like <br />.
  
 -      * net/tramp-sh.el (tramp-get-remote-uid, tramp-get-remote-gid):
 -      Return -1 respective "UNKNOWN", if uid or gid cannot be determined.
 +      * 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-01  Eli Zaretskii  <eliz@gnu.org>
 +2014-11-03  Yoni Rabkin <yrk@gnu.org>
  
 -      * progmodes/compile.el (compilation-mode): Turn off deferred
 -      fontifications locally.  (Bug#18856)
 +      * net/eww.el (eww-list-bookmarks): Autoload.
  
 -2014-11-01  Wolfgang Jenkner  <wjenkner@inode.at>
 +2014-11-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * net/tramp-sh.el (tramp-send-command): Fix the case where the
 -      remote-echo connection property is non-nil (bug#18858).
 +      * net/shr.el (shr-retransform-dom): Allow several text sub-nodes.
  
 -2014-11-01  Michael Albinus  <michael.albinus@gmx.de>
 +      * 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.
  
 -      Backport Tramp changes from trunk.
 +2014-11-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * 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/eww.el (eww-readable): New command and keystroke.
  
 -      * 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.
 +      * net/shr.el (shr-retransform-dom): New function.
  
 -      * net/tramp-cache.el (tramp-flush-file-function): Simplify check.
 -      Suppress debug messages.
 +      * net/eww.el (eww-display-html): Set `eww-current-source' in the
 +      correct buffer.
 +      (eww-view-source): Use it.
  
 -      * net/tramp-ftp.el (top): Remove special handling for URL syntax.
 -      (tramp-ftp-file-name-handler):
 +2014-11-02  Ivan Shmakov <ivan@siamics.net>
  
 -      * net/tramp-gvfs.el (tramp-gvfs-methods) <sftp>: 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.
 +      * net/eww.el (eww): Recognize colon-delimited IPv6 addresses.
 +      (Bug#18603).
  
 -      * net/tramp-sh.el (vc-handled-backends, vc-bzr-program)
 -      (vc-git-program, vc-hg-program): Declare.
 -      (tramp-methods) <sftp>: Remove.  It has never worked satisfactorily.
 -      (tramp-methods) <nc>: Add new method.
 -      (tramp-methods) <telnet>: Redirect stderr to "/dev/null".
 -      (tramp-methods) <plink, plinkx, pscp, psftp>: 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-11-02  Brian McKenna <brian@brianmckenna.org>  (tiny change)
  
 -      * 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.
 +      * net/eww.el (eww-submit): Encode empty form values as "".  (Bug#17785).
  
 -      * net/trampver.el: Update release number.
 +2014-11-02  Ivan Shmakov <ivan@siamics.net>
  
 -2014-11-01  Reuben Thomas  <rrt@sc3d.org>
 +      * net/eww.el (eww): Allow "file:/file/name" URLs.  (Bug#18825).
  
 -      * 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-11-02  Ivan Shmakov <ivan@siamics.net>
  
 -2014-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * net/eww.el (eww-mode-map): Remove mentions of `eww-quit'.
 +      (Bug#18834).
  
 -      * net/tramp-sh.el (tramp-sh-handle-vc-registered): Don't modify
 -      the global vc-handled-backends (bug#18535).
 +2014-11-02  Eric Abrahamsen  <eric@ericabrahamsen.net>
  
 -2014-11-01  Jérémy Compostella  <jeremy.compostella@intel.com>
 -          Michael Albinus  <michael.albinus@gmx.de>
 +      * emacs-lisp/eieio.el (eieio-edebug-prin1-to-string): Adjust for
 +      use as advice.
 +      (edebug-setup-hook): Advise `edebug-prin1-to-string'.  (Bug#18897)
  
 -      * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
 -      Reduce the amount of set environment variable commands.
 +2014-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-11-01  Paul Eggert  <eggert@cs.ucla.edu>
 +      * emacs-lisp/pp.el (pp-macroexpand-expression): Use macroexpand-1
 +      (bug#18821).
 +      * progmodes/elisp-mode.el (emacs-lisp-macroexpand): Idem.
  
 -      * net/tramp-sh.el (tramp-get-remote-touch): Omit unnecessary call to
 -      current-time.
 +2014-11-01  Michael R. Mauger  <michael@mauger.com>
  
 -2014-11-01  Emilio C. Lopes  <eclig@gmx.net>
 +      * 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)
  
 -      * net/tramp-sh.el (tramp-get-remote-python): Also search for
 -      executables named "python2" or "python3".
 -      (tramp-get-remote-uid-with-python): Use parentheses around
 -      arguments to `print' to make it compatible with Python 3.
 -      (tramp-get-remote-gid-with-python): Ditto.  (Bug#18118)
 +2014-11-01  Michael R. Mauger  <michael@mauger.com>
  
 -2014-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * 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.
  
 -      * simple.el (newline): Add assertions to try and help catch bug#18913.
 +2014-11-01  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * emulation/cua-base.el (cua-delete-region): Use delete-active-region
 -      (bug#18886).
 -      (cua--last-deleted-region-pos, cua--last-deleted-region-text): Remove.
 +      * 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.
  
 -2014-10-31  Eli Zaretskii  <eliz@gnu.org>
 +      * net/tramp-sh.el (tramp-get-remote-uid, tramp-get-remote-gid):
 +      Return -1 respective "UNKNOWN", if uid or gid cannot be determined.
  
 -      * Makefile.in (repo-update): Fix a typo and slightly reword
 -      commentary.
 +2014-11-01  Eli Zaretskii  <eliz@gnu.org>
  
 -2014-10-31  Eric S. Raymond  <esr@thyrsus.com>
 +      * progmodes/compile.el (compilation-mode): Turn off deferred
 +      fontifications locally.  (Bug#18856)
  
 -      * Makefile.in: Change some production names so they're neutral
 -      about the repository type.
 +2014-11-01  Wolfgang Jenkner  <wjenkner@inode.at>
 +
 +      * 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  <monnier@iro.umontreal.ca>
 +
 +      * 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-10-30  Kim F. Storm  <storm@cua.dk>
 +2014-11-01  Kim F. Storm  <storm@cua.dk>
  
        Restore cua-delete-copy-to-register-0 and M-v command (bug#18886).
        * delsel.el (delete-selection-save-to-register)
        (cua--init-keymaps): Update binding accordingly.
        (cua-mode): Set delete-selection-save-to-register.
  
 +2014-11-01  Alan Mackenzie  <acm@muc.de>
 +
 +      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  <jan.h.d@swipnet.se>
 +
 +      * select.el (gui-get-selection): Comment: data-type ignored on NS.
 +
 +2014-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * 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  <rgm@gnu.org>
 +
 +      * 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  <dancol@dancol.org>
 +
 +      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  <monnier@iro.umontreal.ca>
  
        * 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-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-10-30  Eli Zaretskii  <eliz@gnu.org>
  
        * 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)
  
 -2014-10-23  Tassilo Horn  <tsdh@gnu.org>
 -
 -      * 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.  [Backport]
 -
 -2014-10-23  Eli Zaretskii  <eliz@gnu.org>
 -
        * startup.el (fancy-about-text): Read the entire tutorial, not
        just its first 256 bytes.  (Bug#18760)
  
 -2014-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/bytecomp.el: Require cl-extra (bug#18804).
        * emacs-lisp/cl-extra.el: Add missing provide.
  
 -2014-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
        * emacs-lisp/bytecomp.el (byte-compile-and-folded): Optimize case where
        all args are copyable (bug#18767).
        (=, <, >, <=, >=): Re-enable the optimization.
  
 -2014-10-20  Santiago Payà i Miralta  <santiagopim@gmail.com>
 +2014-10-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * 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  <eggert@cs.ucla.edu>
 +
 +      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  <sdl.web@gmail.com>
 +
 +      * net/rcirc.el (rcirc-fill-column): Use function.
 +      (rcirc-markup-fill): Remove adjustment.
 +
 +2014-10-28  Christopher Schmidt  <ch@ristopher.com>
 +
 +      * calc/calc.el (quick-calc):
 +      * calc/calc-aent.el (calc-do-quick-calc): New argument INSERT.
 +
 +2014-10-28  Sam Steingold  <sds@gnu.org>
 +
 +      * 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  <esr@thyrsus.com>
 +
 +      * version.el: Fix some fallback values to conform to the actual
 +      release number.
 +
 +2014-10-25  Eric S. Raymond  <esr@thyrsus.com>
  
 -      * vc/vc-hg.el (vc-hg-log-graph): New var.
 -      (vc-hg-print-log): Use it.
 -      (vc-hg-root-log-format): Include branch name and bookmarks; ignore
 -      graph output (bug#17515).
 +      * Makefile.in: Change some production names so they're neutral
 +      about the repository type.
  
 -2014-10-20  Juri Linkov  <juri@jurta.org>
 +2014-10-25  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * vc/diff-mode.el (diff-refine-changed): Rename from
 -      `diff-refine-change' for consistency with `diff-changed'.
 -      (diff-refine-change): Add obsolete face alias.  (Bug#10181)
 +      * net/tramp-gvfs.el (tramp-gvfs-methods-mounttracker)
 +      (tramp-gvfs-mountlocation-signature): Check `tramp-gvfs-enabled'
 +      during initialization.  (Bug#18774)
  
 -      * vc/smerge-mode.el (smerge-refined-changed): Rename from
 -      `smerge-refined-change'.
 -      (smerge-refined-change): Add obsolete face alias.
 +2014-10-25  Vincent Belaïche  <vincentb1@users.sourceforge.net>
  
 -2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * 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*.
  
 -      * subr.el (call-process-shell-command, process-file-shell-command):
 -      Make the `args' obsolete (bug#18409).
 -      (start-process-shell-command, start-file-process-shell-command):
 -      Use `declare'.
 +2014-10-24  Vincent Belaïche  <vincentb1@users.sourceforge.net>
  
 -2014-10-20  Juanma Barranquero  <lekktu@gmail.com>
 +      * 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.
  
 -      * skeleton.el (skeleton-autowrap): Mark as obsolete.  Doc fix.
 +      * 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.
  
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 +      * emacs-lisp/macroexp.el (macroexp-quote): New defun.
  
 -      * dired.el (dired-read-regexp): Make obsolete.
 -      (dired-mark-files-regexp, dired-mark-files-containing-regexp)
 -      (dired-flag-files-regexp):
 -      * dired-aux.el (dired-mark-read-regexp):
 -      * dired-x.el (dired-mark-unmarked-files): Use read-regexp directly.
 +2014-10-24  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * term/ns-win.el (ns-store-cut-buffer-internal)
 +      (ns-copy-including-secondary): Use gui-set-selection (bug#18816).
  
 -      * progmodes/python.el (inferior-python-mode): Use add-hook.
 +2014-10-24  Martin Rudalics  <rudalics@gmx.at>
  
 -      * Makefile.in (AUTOGEN_VCS): Remove emulation/tpu-edt.el.
 +      * 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-20  Glenn Morris  <rgm@gnu.org>
 +2014-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emulation/crisp.el, emulation/tpu-edt.el, emulation/tpu-extras.el:
 -      * emulation/tpu-mapper.el, emulation/vi.el, emulation/vip.el:
 -      * emulation/ws-mode.el: Move to obsolete/.  [Backport]
 +      * 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-20  Glenn Morris  <rgm@gnu.org>
 +2014-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * cus-start.el (history-length): Bump :version.  [Backport]
 +      * emacs-lisp/bytecomp.el (byte-compile--use-old-handlers): Change default.
  
 -2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-10-23  Leo Liu  <sdl.web@gmail.com>
  
 -      * obsolete/cc-compat.el: Make obsolete (bug#18561).
 +      * 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.
  
 -      * epg-config.el (epg-gpg-program): Don't use absolute names by default.
 +2014-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg
 -      case (bug#18767).
 +      * 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.
  
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 +      * emacs-lisp/bytecomp.el (byte-compile-form): Remove left-over debug.
  
 -      * Version 24.4 released.
 +      * frame.el (frame-notice-user-settings): Fix excessive quoting.
  
 -2014-10-15  Alan Mackenzie  <acm@muc.de>
 +2014-10-22  Tassilo Horn  <tsdh@gnu.org>
  
 -      * 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.
 +      * 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-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emacs-lisp/lisp.el (lisp--local-variables-1): Handle `quote'.
 -      Backported (bug#18688).
 +      * subr.el (read-key): Fix clicks on the mode-line.
 +      (set-transient-map): Return exit function.
  
 -2014-10-14  Eli Zaretskii  <eliz@gnu.org>
 +      * 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.
  
 -      * 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.
 +      * xt-mouse.el: Add `event-kind' property on the fly from
 +      xterm-mouse-translate-1 rather than statically at the outset.
  
 -2014-10-13  Glenn Morris  <rgm@gnu.org>
 +2014-10-21  Daniel Colascione  <dancol@dancol.org>
  
 -      * emacs-lisp/authors.el (authors-aliases, authors-fixed-case)
 -      (authors-obsolete-files-regexps): Additions.
 -      (authors-no-scan-regexps): New constant.
 -      (authors-no-scan-file-p): New function.
 -      (authors): Respect authors-no-scan-file-p.
 +      * vc/vc-dispatcher.el (vc-resynch-window): Tell view-mode not to
 +      change window configuration when we turn it off.
  
 -2014-10-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      Fix import completion.  (Bug#18582)
 -      * progmodes/python.el (python-shell-completion-get-completions):
 -      Fix import case regexp.
 +      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.
  
 -2014-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * 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.
  
 -      * progmodes/bat-mode.el (bat-font-lock-keywords): Fix \\<_ typo
 -      (bug#18622).  Reported by Arni Magnusson <arnima@hafro.is>.
 -      * progmodes/prolog.el (prolog-electric--underscore): Same.
 +      * 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.
  
 -2014-10-09  Glenn Morris  <rgm@gnu.org>
 +      * 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.
  
 -      * frame.el (display-monitor-attributes-list): Doc tweaks.
 +      * startup.el (command-line): Adjust now that `gui-method' expects nil
 +      for ttys.
  
 -2014-10-08  Eli Zaretskii  <eliz@gnu.org>
 +      * 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.
  
 -      * faces.el (display-grayscale-p): Mention in the doc string that
 -      the argument can be either a display name or a frame.
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * net/newst-reader.el (newsticker--image-read): Simplify.
 +      (newsticker--icon-read): Use dolist and fix free var error.
 +
 +      * imenu.el (imenu--menubar-keymap): New var.
 +      (imenu-add-to-menubar): Set it to remember the keymap we used.
 +      (imenu-update-menubar): Use it instead of asking lookup-key.
 +
 +      * obsolete/cc-compat.el: Make obsolete (bug#18561).
 +
 +      * epg-config.el (epg-gpg-program): Don't use absolute names by default.
 +
 +      * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg
 +      case (bug#18767).
 +
 +2014-10-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * Merge in all changes up to version 24.4 release.
 +
 +2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg
 +      case (bug#18767).
 +
 +2014-10-20  Glenn Morris  <rgm@gnu.org>
 +
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-20  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * net/newst-backend.el
 +      (newsticker--image-download-by-url-callback): Make this function
 +      actually work: Check status properly, then save image.
 +
 +2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * mouse.el (mouse--down-1-maybe-follows-link): Remove unused var
 +      `this-event'.
 +      (mouse-drag-line): Unless there's no actual mouse, use the event's
 +      position info.
 +
 +2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * 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  <ulf.jasper@web.de>
 +
 +      * 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  <monnier@iro.umontreal.ca>
 +
 +      * 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  <jan.h.d@swipnet.se>
 +
 +      * cus-start.el (x-gtk-whole-detached-tool-bar): Remove.
 +
 +      * term/x-win.el (x-gtk-stock-map): Add icon names suggested as
 +      replacements to stock names before stock names in a list.
 +      Cdr may be a list, each name is tried in turn until one is found.
 +
 +2014-10-18  Alan Mackenzie  <acm@muc.de>
 +
 +      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  <tzz@lifelogs.com>
 +
 +      * 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 <toke@toke.dk>.
 +
 +2014-10-18  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * 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  <mina86@mina86.com>
 +
 +      * textmodes/tildify.el (tildify--pick-alist-entry): Rename from
 +      tildify-mode-alist.
 +
 +2014-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * 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  <acm@muc.de>
 +
 +      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  <tom@tromey.com>
 +
 +      * files.el (auto-mode-alist): Use javascript-mode for .jsm
 +      (bug #18719).
 +
 +2014-10-16  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * international/characters.el (bracket-type): Force pre-loading of
 +      uni-brackets.el.
 +
 +2014-10-16  Alan Mackenzie  <acm@muc.de>
 +
 +      * 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  <monnier@iro.umontreal.ca>
 +
 +      * 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  <eliz@gnu.org>
 +
 +      * 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  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/elisp-mode.el (elisp--local-variables-1):
 +      Handle quoted expressions (bug#18688).
 +
 +2014-10-14  Jérémy Compostella  <jeremy.compostella@intel.com>
 +          Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * 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  <fgallina@gnu.org>
 +
 +      Fix import completion.  (Bug#18582)
 +      * progmodes/python.el (python-shell-completion-get-completions):
 +      Fix import case regexp.
 +
 +2014-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/bat-mode.el (bat-font-lock-keywords): Fix \\<_ typo
 +      (bug#18622).  Reported by Arni Magnusson <arnima@hafro.is>.
 +      * progmodes/prolog.el (prolog-electric--underscore): Same.
 +
 +2014-10-12  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-get-remote-id): Check also for "gid".
 +
 +2014-10-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * cus-start.el (all): Add missing ns and boolean to
 +      ns-use-fullscreen-animation.
 +
 +2014-10-11  Leo Liu  <sdl.web@gmail.com>
 +
 +      * 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  <jan.h.d@swipnet.se>
 +
 +      * cus-start.el (all): Add ns-use-fullscreen-animation.
 +
 +2014-10-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * 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  <sdl.web@gmail.com>
 +
 +      * window.el (temp-buffer-window-show): Make BUFFER a required arg.
 +      (Bug#18656)
 +
 +2014-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * 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  <rgm@gnu.org>
 +
 +      * 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  <rgm@gnu.org>
 +
 +      * frame.el (display-monitor-attributes-list): Doc tweaks.
 +
 +2014-10-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * 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)
        be either a display name or a frame.  Improve the docs of the
        monitor attributes.  (Bug#18636)
  
 -2014-10-06  Martin Rudalics  <rudalics@gmx.at>
 +2014-10-09  Martin Rudalics  <rudalics@gmx.at>
  
        * 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  <monnier@iro.umontreal.ca>
 +
 +      * frame.el (make-frame): Use t rather than nil for `w' (bug#18653).
 +
 +2014-10-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/cl-extra.el (cl-fresh-line): New function.
 +
 +2014-10-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/cal-x.el (calendar-dedicate-diary):
 +      Drop support for recently deleted aliases.
 +
 +2014-10-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      * 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  <rgm@gnu.org>
 +
 +      * font-lock.el (font-lock-fontify-buffer): Fix interactive-only markup.
 +
 +2014-10-07  Wilson Snyder  <wsnyder@wsnyder.org>
 +
 +      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  <monnier@iro.umontreal.ca>
 +
 +      * 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  <rgm@gnu.org>
 +
 +      * 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  <sdl.web@gmail.com>
 +
 +      * imenu.el (imenu): Re-write for clarity.
 +
 +2014-10-06  Glenn Morris  <rgm@gnu.org>
 +
 +      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  <sdl.web@gmail.com>
  
        * imenu.el (imenu-default-goto-function): Fix typo.
  
 +2014-10-04  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
 +
 +      * net/ntlm.el (ntlm-build-auth-request):
 +      Add NTLM2 Session support.  (Bug#15603)
 +
 +2014-10-04  Glenn Morris  <rgm@gnu.org>
 +
 +      * 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  <rudalics@gmx.at>
 +
 +      * 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  <mvoteiza@udel.edu>  (tiny change)
 +
 +      * files.el (auto-mode-alist): Use sh-mode for .zsh files.  (Bug#18488)
 +
  2014-10-04  Glenn Morris  <rgm@gnu.org>
  
        * frame.el (frame-monitor-attributes)
        (display-monitor-attributes-list): Doc fixes.
  
 +2014-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      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  <dgutov@yandex.ru>
  
        * vc/vc-svn.el (vc-svn-ignore-completion-table): Implement.
        similarly to Rogers's 2010-06-16 change for the remote case
        (bug#18605).
  
 -2014-10-01  Glenn Morris  <rgm@gnu.org>
 +2014-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      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  <rayners@gmail.com>  (tiny change)
 +
 +      * term/ns-win.el: Add functions to ns frame, not x frame (bug#18614).
 +
 +2014-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * 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  <rgm@gnu.org>
  
        * emacs-lisp/package.el (package-import-keyring):
        Create gnupg directory private.  (Bug#17625#155)
  
 -2014-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * 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  <monnier@iro.umontreal.ca>
 +
 +      * 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  <dieter@duenenhof-wilhelm.de>
 +
 +      * calc/calc-help.el (calc-describe-thing): Quote strings
 +      which could look like regexps.
 +
 +2014-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      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  <monnier@iro.umontreal.ca>
 +
 +      * 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  <ulf.jasper@web.de>
 +
 +      * 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  <leonobr@gmail.com>  (tiny change)
  
        * progmodes/python.el (python-fill-paren): Don't inf-loop at EOB
        (bug#18462).
  
 -2014-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * 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-18  Kan-Ru Chen  <kanru@kanru.info>
 +2014-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * 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  <vincentb1@users.sourceforge.net>
 +
 +      * 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  <monnier@iro.umontreal.ca>
 +
 +      * minibuffer.el (completion-at-point): Emit warning for ill-behaved
 +      completion functions.
 +
 +2014-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * ses.el (ses--letref): Quote value before it gets re-evaluated.
 +
 +2014-09-28  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      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  <monnier@iro.umontreal.ca>
 +
 +      * 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  <sdl.web@gmail.com>
 +
 +      * progmodes/elisp-mode.el (elisp--eldoc-last-data): Use defvar.
 +
 +      * emacs-lisp/eldoc.el (eldoc-mode): Fix thinko.
 +
 +2014-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * 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  <eggert@cs.ucla.edu>
 +
 +      * 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  <sdl.web@gmail.com>
 +
 +      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  <juri@jurta.org>
 +
 +      * 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  <monnier@iro.umontreal.ca>
 +
 +      * net/tramp-sh.el (tramp-sh-handle-vc-registered): Don't modify
 +      the global vc-handled-backends (bug#18535).
 +
 +2014-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * find-cmd.el (find-cmd): Use grep's `find-program' (bug#18518).
 +      Suggested by <lompik@voila.fr>.
 +
 +2014-09-24  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * net/newst-treeview.el (newsticker--treeview-do-get-node-by-id):
 +      Rename from `newsticker--treeview-do-get-node'.
 +      (newsticker--treeview-get-node-by-id):
 +      Rename from `newsticker--treeview-get-node'.
 +      (newsticker--treeview-buffer-init)
 +      (newsticker--treeview-buffer-init): Disable buffer undo.
 +      (newsticker--treeview-unfold-node): Adapt to modified
 +      `newsticker--group-find-parent-group'.
 +      (newsticker--group-do-find-group):
 +      Rename from `newsticker--group-do-find-group-for-feed'.
 +      Now works for both, groups and feeds.
 +      (newsticker--group-find-parent-group):
 +      Rename from `newsticker--group-find-group-for-feed'.
 +      Now works for both, groups and feeds.
 +      (newsticker--group-do-get-parent-group)
 +      (newsticker--group-get-parent-group): Remove.
 +      (newsticker-group-add-group): Change interactive prompts.
 +      (newsticker-group-add-group): Finally jump to added group.
 +      (newsticker-group-delete-group): Finally jump to current feed.
 +      (newsticker--group-do-rename-group, newsticker-group-rename-group)
 +      (newsticker--get-group-names, newsticker--group-names): New.
 +      (newsticker-group-move-feed): Finally jump to moved feed.
 +      (newsticker-group-shift-feed-down, newsticker-group-shift-feed-up)
 +      (newsticker-group-shift-group-down)
 +      (newsticker-group-shift-group-up, newsticker--group-shift): New.
 +      (newsticker-treeview-mode-map): New keybindings for new shift commands.
 +
 +      * net/newst-backend.el (newsticker--item-list)
 +      (newsticker--item-position, newsticker--prev-message)
 +      (newsticker--scrollable-text): Move to newst-ticker.el.
 +
 +      * net/newst-ticker.el (newsticker--item-list)
 +      (newsticker--item-position, newsticker--prev-message)
 +      (newsticker--scrollable-text): Move from newst-backend.el.
 +
 +2014-09-22  Kan-Ru Chen  <kanru@kanru.info>
  
        * window.el (fit-window-to-buffer): When counting buffer width,
        count the whole visible buffer.  Correctly convert the body-height
        to pixel size for window-text-pixel-size (Bug#18498).
  
 -2014-09-14  Glenn Morris  <rgm@gnu.org>
 +2014-09-22  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/sql.el (sql-product-alist): Improve the Vertica entry.
 +      (sql-execute): Use `special-mode'.
 +
 +2014-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Add pcase-defmacro, as well as `quote' and `app' patterns.
 +      * loadup.el: Increase max-lisp-eval-depth when macroexpanding macroexp.
 +      * emacs-lisp/pcase.el: Allow (F . ARGS) in `app' patterns.
 +      (pcase--funcall, pcase--eval): New functions.
 +      (pcase--u1): Use them for guard, pred, let, and app.
 +      (\`): Use the new feature to generate better code for vector patterns.
 +      * emacs-lisp/pcase.el: Use pcase-defmacro to handle backquote.
 +      (pcase--upat): Remove.
 +      (pcase--macroexpand): Don't hardcode handling of `.
 +      (pcase--split-consp, pcase--split-vector): Remove.
 +      (pcase--split-equal): Disregard ` since it's expanded away.
 +      (pcase--split-member): Optimize for quote rather than for `.
 +      (pcase--split-pred): Optimize for quote rather than for `.
 +      (pcase--u1): Remove handling of ` (and of `or' and `and').
 +      Quote non-selfquoting values when passing them to `eq'.
 +      Drop `app's let-binding if the variable is not used.
 +      (pcase--q1): Remove.
 +      (`): Define as a pattern macro.
 +      * emacs-lisp/pcase.el (pcase--match): New smart-constructor function.
 +      (pcase--expand pcase--q1, pcase--app-subst-match): Use it.
 +      (pcase--macroexpand): Handle self-quoting patterns here, expand them to
 +      quote patterns.
 +      (pcase--split-match): Don't hoist or/and here any more.
 +      (pcase--split-equal): Optimize quote patterns as well as ` patterns.
 +      (pcase--flip): New helper macro.
 +      (pcase--u1): Optimize the memq case directly.
 +      Don't handle neither self-quoting nor and/or patterns any more.
 +      * emacs-lisp/pcase.el (pcase-defmacro): New macro.
 +      (pcase--macroexpand): New function.
 +      (pcase--expand): Use it.
 +      * emacs-lisp/pcase.el (pcase--app-subst-match, pcase--app-subst-rest):
 +      New optimization functions.
 +      (pcase--u1): Add support for `quote' and `app'.
 +      (pcase): Document them in the docstring.
 +
 +2014-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Use lexical-bindin in Ibuffer.
 +      * ibuffer.el (ibuffer-do-toggle-read-only): `arg' is unused.
 +      (ibuffer-compile-format): Simplify.
 +      (ibuffer-clear-summary-columns): Simplify.
 +      * ibuf-ext.el (ibuffer-generate-filter-groups): Don't use the third
 +      elem of dotimes when we don't refer to the iteration var from it.
 +      (ibuffer-toggle-sorting-mode): Avoid add-to-list.
 +      * ibuf-macs.el (define-ibuffer-column, define-ibuffer-op):
 +      Silence byte-compiler.
 +
 +2014-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * font-lock.el (font-lock-compile-keyword): Don't confuse a lambda
 +      expression for a list.
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-lambda): Don't add fundoc usage
 +      for functions with no arguments.
 +
 +      * mpc.el (mpc-data-directory): Use locate-user-emacs-file.
 +      (mpc-volume-refresh): Make sure the corresponding header-line is updated.
 +
 +2014-09-17  Tom Willemse  <tom@ryuslash.org>  (tiny change)
 +
 +      * simple.el (clone-indirect-buffer): Mention the return value
 +      (bug#18478).
 +
 +      * progmodes/prog-mode.el (prog-mode-hook): Replace reference to
 +      Text mode in docstring (bug#18464).
 +
 +2014-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/perl-mode.el (perl-syntax-propertize-function):
 +      Accept underscores in identifiers after "sub" (bug#18502).
 +
 +2014-09-21  Tassilo Horn  <tsdh@gnu.org>
 +
 +      * textmodes/reftex-sel.el (reftex-select-label-mode)
 +      (reftex-select-bib-mode, reftex-insert-docstruct): Derive modes
 +      from special-mode (instead of fundamental-mode) and propertize
 +      with font-lock-face instead of just face. (Bug#18496)
 +
 +      * textmodes/reftex-toc.el (reftex-toc-mode, reftex-toc): Ditto.
 +
 +2014-09-19  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * emacs-lisp/lisp.el (lisp-completion-at-point): Only calculate
 +      `table-etc' when `end' is non-nil.
 +      (lisp-completion-at-point): Move `end' back if it's after quote.
 +      If in comment or string, only complete when after backquote.
 +      (Bug#18265)
 +      (lisp-completion-at-point): Don't use
 +      `lisp--local-variables-completion-table' in the
 +      `lisp--form-quoted-p' case.
 +
 +2014-09-19  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * emacs-lisp/lisp.el (lisp--expect-function-p)
 +      (lisp--form-quoted-p): New functions.
 +      (lisp-completion-at-point): Use them to see if we're completing a
 +      variable reference, a function name, or just any symbol.
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-02/msg00229.html
 +
 +2014-09-18  Ivan Kanis  <ivan@kanis.fr>
 +
 +      * net/shr.el, net/eww.el: Don't override `shr-width', but
 +      introduce a new variable `shr-internal-width'.  This allows users
 +      to specify a width themselves.
 +
 +2014-09-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * image-mode.el (image-toggle-display-image): If we have a
 +      `fit-width' or a `fit-height', don't limit the size of the image
 +      to the window size, because that doesn't preserve the aspect ratio.
 +      * image-mode.el: Move defvars earlier to avoid a byte-compilation
 +      warning.
 +
 +2014-09-17  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * progmodes/js.el: Add interpreter-mode-alist support for various
 +      JavaScript interpreters.
 +
 +2014-09-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't assume 'grep' supports GREP_OPTIONS.
 +      The GREP_OPTIONS environment variable is planned to be marked
 +      obsolescent in GNU grep, due to problems in its use, so stop
 +      relying on it.
 +      * progmodes/grep.el (grep-highlight-matches): Document this.
 +      (grep-process-setup): Do not set GREP_OPTIONS.
 +      (grep-compute-defaults): Use an explicit --color option if supported.
 +
 +2014-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * msb.el (msb--make-keymap-menu, msb-menu-bar-update-buffers):
 +      Don't add outdated key-shortcut cache (bug#18482).
 +
 +2014-09-15  Glenn Morris  <rgm@gnu.org>
  
        * image.el (image-multi-frame-p): Fix thinko - do not force
        a delay if none was specified.  (Bug#18334)
  
 -2014-09-12  Kan-Ru Chen  <kanru@kanru.info>
 +2014-09-15  Kan-Ru Chen  <kanru@kanru.info>
  
        * window.el (fit-window-to-buffer): Doc fix.
  
 -2014-09-10  Ivan Shmakov  <ivan@siamics.net>  (tiny change)
 +2014-09-15  Ivan Shmakov  <ivan@siamics.net>
  
        * desktop.el (desktop-create-buffer): Check that buffers are still live
        before burying them (bug#18373).
  
 -2014-09-09  Glenn Morris  <rgm@gnu.org>
 +2014-09-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/diary-lib.el (diary-list-entries):
 +      Restore 24.3 display behavior.  (Bug#18381)
 +
 +2014-09-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * mouse.el (mouse-drag-line): On text-mode frames, count the mode
 +      line and header line as 1 pixel.  This fixes the 1-"pixel" (row)
 +      discrepancy between window-pixel-edges and mouse events, and
 +      avoids moving mode line up when the mouse click is on the modeline
 +      and no drag is attempted.
 +
 +2014-09-14  Daniel Colascione  <dancol@dancol.org>
 +
 +      * register.el (insert-register): Change default interactive
 +      insertion mode.
 +
 +2014-09-14  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-cache.el (tramp-flush-file-function): Simplify check.
 +      Suppress debug messages.
 +
 +      * net/tramp.el (tramp-file-name-handler):
 +      * net/tramp-gvfs.el (tramp-gvfs-url-file-name): Apply `cons' where
 +      appropriate.
 +
 +2014-09-13  Christopher Schmidt  <ch@ristopher.com>
 +
 +      * calendar/calendar.el (calendar-update-mode-line):
 +      Do not overwrite mode-line-format if calendar-mode-line-format is
 +      nil.  (Bug#18467)
 +
 +2014-09-13  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/pcase.el (pcase--dontwarn-upats): New var.
 +      (pcase--expand): Use it.
 +      (pcase-exhaustive): New macro.  (Bug#16567)
 +
 +      * emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
 +      Add pcase-exhaustive.
 +
 +2014-09-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * mail/rmailmm.el (rmail-mime-insert-html): Decode the HTML part
 +      using the specified transfer-encoding, if any, or 'undecided'.
 +      (rmail-mime-render-html-shr): Bind shr-width to nil, so lines are
 +      broken at the window margin.
 +
 +2013-12-27  Ken Olum  <kdo@cosmos.phy.tufts.edu>
 +
 +      Support rendering of HTML parts in Rmail (bug#4258).
 +      * mail/rmailmm.el (rmail-mime-process): Handle text/html
 +      separately from other text/ types.  Suppress tagline for
 +      multipart body.
 +      (rmail-mime-parse): Don't change visibility of tagline here.
 +      (rmail-mime-set-bulk-data, rmail-mime-insert-bulk):
 +      Handle text/html specially.
 +      (rmail-mime-render-html-function,rmail-mime-prefer-html): New variables.
 +      (rmail-mime-insert-html, rmail-mime-render-html-shr)
 +      (rmail-mime-render-html-lynx): New functions.
 +      (rmail-mime-fix-inserted-faces): New function.
 +      (rmail-mime-process-multipart): Find the best part to show
 +      following rmail-mime-prefer-html if set.
 +      (rmail-mime-searching): New variable.
 +      (rmail-search-mime-message): Bind rmail-mime-searching to
 +      suppress rendering while searching.
 +
 +2014-09-12  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/sql.el (sql-product-alist): Add vertica.
 +      (sql-vertica-program, sql-vertica-options)
 +      (sql-vertica-login-params, sql-comint-vertica, sql-vertica):
 +      New functions and variables to support Vertica.
 +      Inspired by code by Roman Scherer <roman@burningswell.com>.
 +
 +2014-09-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * ses.el (ses-file-format-extend-parameter-list): Rename from
 +      ses-file-format-extend-paramter-list, to correct a misspelling.
 +      All uses changed.
 +
 +2014-09-10  Alan Mackenzie  <acm@muc.de>
 +
 +      CC Mode: revert recent changes and fix bug 17463 (cc-langs.elc
 +      gets loaded at run-time).
 +      * progmodes/cc-langs.el (c-no-parens-syntax-table): Rename the
 +      c-lang-const to c-make-no-parens-syntax-table and correct the
 +      logic.
 +      (c-no-parens-syntax-table): Correct the logic of the
 +      c-lang-defvar.
 +
 +2014-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      CC-mode: Set open-paren-in-column-0-is-defun-start to nil;
 +      plus misc cleanup.
 +      * progmodes/cc-mode.el (c-basic-common-init):
 +      Set open-paren-in-column-0-is-defun-start.
 +      (adaptive-fill-first-line-regexp, font-lock-syntactic-keywords):
 +      Remove declarations, unused.
 +      (run-mode-hooks): Remove declaration.
 +      (font-lock-defaults): Use plain `defvar' to declare.
 +      (c-run-mode-hooks): Test existence of run-mode-hooks with fboundp.
 +      * progmodes/cc-langs.el (c-filter-ops): Avoid `setq'.
 +      (c-make-mode-syntax-table): Don't micro-optimize.
 +      (c-keywords, c-keyword-member-alist): Simplify.
 +      (c-kwds-lang-consts): Don't eval at compile-time.
 +      (c-primary-expr-regexp): Comment out unused vars.
 +      * progmodes/cc-fonts.el (c-font-lock-context): Declare at top-level.
 +      (c-font-byte-compile): New var.
 +      (c--compile): New function.  Use it instead of `byte-compile'.
 +      (c-cpp-matchers): Quote the value returned by
 +      `c-make-syntactic-matcher' in case it's not self-evaluating.
 +      (c-basic-matchers-before): Avoid a plain MATCHER as keyword, wrap it in
 +      parentheses instead (in case MATCHER happens to be a list).
 +      (c-font-lock-enum-tail): Remove unused var `start'.
 +      (c-font-lock-objc-methods): Silence byte-compiler warnings.
 +      * progmodes/cc-engine.el (c-syntactic-re-search-forward): Sink an `if'
 +      test into an argument.
 +      * progmodes/cc-defs.el (c-point, c-major-mode-is, c-put-char-property)
 +      (c-get-char-property): Don't use `eval' just to unquote a constant.
 +      (c-use-extents): Remove.  Use (featurep 'xemacs), compiled
 +      more efficiently.
 +      (c-put-char-property-fun): Don't call `byte-compile' by hand.
 +      (c-clear-char-property, c-clear-char-properties): Check that `property'
 +      is a quoted constant.
 +      (c-emacs-features): Remove `infodock', `syntax-properties', and
 +      `pps-extended-state' (never used), `8-bit' and `1-bit' (use (featurep
 +      'xemacs) instead).  Use `with-temp-buffer' and let-bind vars after
 +      changing buffer, so we don't have to setq them again afterwards.
 +      (c-lang-const): Remove redundant symbolp assertions.
 +      (c-find-assignment-for-mode): Use `or'.
 +      * Makefile.in (compile-one-process): Remove cc-mode dependency.
 +
 +2014-09-09  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/sql.el (sql-default-directory): Fix type annotation.
 +
 +2014-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/cc-awk.el: Remove unneeded cc-bytecomp use.
 +      Change doc comments into docstrings.
 +      * Makefile.in: Remove cc-awk dependency.
 +
 +2014-09-08  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/sql.el (sql-send-line-and-next): New command,
 +      bound to C-c C-n.
 +      (sql-show-sqli-buffer): Display the buffer instead of its name and
 +      bind the command to C-c C-z.
 +      (sql-default-directory): New user option.
 +      (sql-product-interactive): Bind `default-directory' to it to
 +      enable remote connections using Tramp.
 +      (sql-set-sqli-buffer): Call `sql-product-interactive' when no
 +      suitable buffer is available.
 +
 +2014-09-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/calendar.el (calendar-basic-setup):
 +      Fix calendar-view-holidays-initially-flag and fancy display.
 +      * calendar/diary-lib.el (diary-live-p): Doc fix.
 +
 +      * calendar/calendar.el (calendar-basic-setup):
 +      Avoid clobbering calendar with diary.  (Bug#18381)
 +
 +2014-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * vc/vc-dir.el (vc-dir-update): Don't burp in corner case.
 +
 +2014-09-08  Lars Ljung  <lars@matholka.se>  (tiny change)
 +
 +      * isearch.el (isearch-yank-word-or-char): Obey superword-mode
 +      as well (bug#18400).
 +
 +2014-09-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * subr.el (posn-actual-col-row): Doc fix.  (Bug#18385)
 +
 +2014-09-06  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/pcase.el (pcase): Doc fix.
 +      (pcase--split-vector): New function.
 +      (pcase--q1): Support vector qpattern.  (Bug#18327)
 +
 +2014-09-05  Sam Steingold  <sds@gnu.org>
 +
 +      * textmodes/tex-mode.el (tex-print-file-extension): New user
 +      option.
 +      (tex-print): Use it instead of the hard-coded string.
 +
 +2014-09-05  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-sh-handle-start-file-process):
 +      Expand `default-directory'.
 +
 +2014-09-05  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * scroll-bar.el (horizontal-scroll-bars-available-p):
 +      New function.
 +      (horizontal-scroll-bar-mode): Rewrite using
 +      horizontal-scroll-bars-available-p.
 +      * menu-bar.el (menu-bar-showhide-scroll-bar-menu): Rewrite using
 +      horizontal-scroll-bars-available-p.
 +
 +2014-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (call-process-shell-command, process-file-shell-command):
 +      Make the `args' obsolete (bug#18409).
 +      (start-process-shell-command, start-file-process-shell-command):
 +      Use `declare'.
 +
 +2014-09-05  Jay Belanger  <jay.p.belanger@gmail.com>
 +
 +      * calc/calc-forms.el (math-normalize-hms): Do a better check for
 +      "negative" hms forms.
 +
 +2014-09-04  Rasmus Pank Roulund  <emacs@pank.eu>
 +
 +      * vc/vc-git.el (vc-git-conflicted-files): Fix bug when git status
 +      returns nil (bug#18391).
 +
 +2014-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/eldoc.el (eldoc-function-argstring): Don't strip
 +      terminating paren (bug#18352).
 +      (eldoc-last-data-store): Return cached data.
 +      (eldoc-get-var-docstring): Avoid setq.
 +      (eldoc-get-fnsym-args-string): Clarify data flow.
 +
 +2014-09-04  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 +
 +      * emacs-lisp/eldoc.el (eldoc-highlight-function-argument): Handle the
 +      case where we're currently providing part of the &rest arg after some
 +      &key args, as in define-ibuffer-op (bug#18048).
 +
 +2014-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/which-func.el (which-func-ff-hook): Obey pre-existing
 +      buffer-local setting of which-func-mode.
 +      (which-func-mode): Use defvar-local.
 +      (which-function-mode): Don't reset which-func-mode in each buffer since
 +      it might have been set by someone else.
 +      (which-func-update-ediff-windows): Check which-function-mode.
 +
 +2014-09-03  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.el (frame-initialize): Remove horizontal-scroll-bars
 +      from frame-initial-frame-alist.
 +      * scroll-bar.el (previous-horizontal-scroll-bar-mode)
 +      (horizontal-scroll-bar-mode-explicit)
 +      (set-horizontal-scroll-bar-mode, get-horizontal-scroll-bar-mode)
 +      (toggle-horizontal-scroll-bar): Remove.
 +      (horizontal-scroll-bar-mode): Remove defcustom.
 +      (horizontal-scroll-bar-mode): Fix doc-string.
 +      (scroll-bar-toolkit-scroll)
 +      (scroll-bar-toolkit-horizontal-scroll): Add doc-strings stubs.
 +
 +2014-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/package.el (package-generate-description-file):
 +      Properly quote the arguments (bug#18332).  Change second arg.
 +      (package--alist-to-plist-args): Rename from package--alist-to-plist and
 +      quote the elements.
 +      (package--make-autoloads-and-stuff): Fix the test for pre-existence of
 +      the *-pkg.el file.  Adjust to new calling convention of
 +      package-generate-description-file.
 +
 +      * progmodes/gud.el (gud-gdb-completion-at-point): Add hack (bug#18282).
 +      (gud-gdb-completions): Remove obsolete workaround.
 +
 +2014-09-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * subr.el (posn-col-row): Revert the change from commit
 +      2010-11-13T21:07:58Z!eliz@gnu.org, which
 +      was inadvertently merged from emacs-23 release branch in 2010-11-18T03:54:14Z!monnier@iro.umontreal.ca
 +      monnier@iro.umontreal.ca-20101118035414-yvlg7k7dk4k4l3q, and
 +      introduced an off-by-one error in the reported row when there is a
 +      header line.  (Bug#18384)
 +
 +2014-09-03  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (python-indent-post-self-insert-function):
 +      Avoid electric colon at beginning-of-defun.  (Bug#18228)
 +
 +2014-09-03  Glenn Morris  <rgm@gnu.org>
 +
 +      * tutorial.el (tutorial--display-changes):
 +      Fix 2014-08-01 change.  (Bug#18382)
 +
 +2014-09-03  Ken Brown  <kbrown@cornell.edu>
 +
 +      * startup.el (fancy-splash-frame): Extend the fix for Bug#16014 to
 +      the Cygwin-w32 build.  (Bug#18347)
 +
 +2014-09-03  Glenn Morris  <rgm@gnu.org>
 +
 +      * tar-mode.el (tar--extract, tar-extract):
 +      Avoid permanently disabling undo in extracted buffers.  (Bug#18344)
 +
 +2014-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/sh-script.el (sh-font-lock-quoted-subshell): Try to better
 +      handle multiline elements (bug#18380).
 +
 +2014-09-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * ls-lisp.el (ls-lisp-use-string-collate)
 +      (ls-lisp-UCA-like-collation): New defcustoms.
 +      (ls-lisp-string-lessp): Use them to control sorting by file
 +      names.  (Bug#18051)
 +      (ls-lisp-version-lessp): New function.
 +      (ls-lisp-handle-switches): Use it to implement the -v switch of
 +      GNU ls.
 +      (ls-lisp--insert-directory): Mention the -v switch in the doc string.
 +
 +2014-08-31  Christoph Scholtes  <cschol2112@gmail.com>
 +
 +      * ibuffer.el: Replace mode-specific quit function with
 +      `quit-window' via `special-mode'.
 +      (ibuffer-mode-map): Use keybindings from special-mode-map instead
 +      of local overrides.
 +      (ibuffer): Don't store previous windows configuration.
 +      Let `quit-window' handle restoring.
 +      (ibuffer-quit): Remove function. Use `quit-window' instead.
 +      (ibuffer-restore-window-config-on-quit): Remove variable.
 +      (ibuffer-prev-window-config): Remove variable.
 +
 +2014-08-29  Michael Heerdegen  <michael_heerdegen@web.de>
 +
 +      * emacs-lisp/easy-mmode.el (define-minor-mode): Use mode function
 +      name instead of variable name in hook docstring.  (Bug#18349)
 +
 +2014-08-29  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (display-buffer-at-bottom): Prefer bottom-left
 +      window to other bottom windows.  Reuse a bottom window if it
 +      shows the buffer already.  Suggested by Juri Linkov
 +      <juri@jurta.org> in discussion of (Bug#18181).
 +
 +2014-08-29  Leo Liu  <sdl.web@gmail.com>
 +
 +      * files.el (minibuffer-with-setup-hook): Allow (:append FUN) to
 +      append to minibuffer-setup-hook.  (Bug#18341)
 +
 +2014-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/cc-defs.el: Expose c-lanf-defconst's expressions to the
 +      byte-compiler.
 +      (lookup-syntax-properties): Silence byte-compiler.
 +      (c-lang-defconst): Quote the code with `lambda' rather than with
 +      `quote'.
 +      (c-lang-const): Avoid unneeded setq.
 +      (c-lang-constants-under-evaluation): Add docstring.
 +      (c-lang--novalue): New constant.
 +      (c-find-assignment-for-mode): Use it instead of c-lang-constants.
 +      (c-get-lang-constant): Same here.
 +      Get the mode's value using `funcall' now that the code is quoted
 +      with `lambda'.
 +
 +2014-08-28  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp.el (tramp-handle-shell-command): Use `display-buffer'.
 +      (Bug#18326)
 +
 +2014-08-28  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * scroll-bar.el (scroll-bar-horizontal-drag-1): Handle new
 +      interpretation of `portion-whole'.
 +
 +2014-08-28  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-adb.el: Spell author name correctly.
 +
 +2014-08-28  João Távora  <joaotavora@gmail.com>
 +
 +      * net/shr.el (shr-expand-url): Plain expand-file-name is not enough;
 +      use url-expand-file-name.  (Bug#18310)
 +
 +2014-08-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * emulation/cua-rect.el (cua--highlight-rectangle):
 +      Avoid error at point-min.  (Bug#18309)
 +
 +2014-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/python.el (python-shell-prompt-detect): Remove redundant
 +      executable-find (bug#18244).
 +
 +      * simple.el (self-insert-uses-region-functions): Defvar.
 +
 +2014-08-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * subr.el (remq): Revert 2014-08-25 doc change (not always true).
 +
 +2014-08-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * startup.el (normal-top-level): Now use internal--top-level-message.
 +
 +2014-08-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * startup.el (normal-top-level): Use top-level-message.
 +
 +2014-08-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/shr.el (shr-copy-url): Encode copied URL to avoid getting
 +      URLs containing spaces and the like.
 +
 +2014-08-25  Christoph Scholtes  <cschol2112@gmail.com>
 +
 +      * subr.el (remq): Fix docstring (Bug#18253).
 +
 +2014-08-25  Christoph Scholtes  <cschol2112@gmail.com>
 +
 +      * replace.el (query-replace): Fix typo in docstring (Bug#18320).
 +
 +2014-08-24  Alan Mackenzie  <acm@muc.de>
 +
 +      Handle C++11's "auto" and "decltype" constructions.
 +      * progmodes/cc-engine.el (c-forward-type): Enhance to recognise
 +      and return 'decltype.
 +      (c-forward-decl-or-cast-1): New let variables backup-kwd-sym,
 +      prev-kwd-sym, new-style-auto.  Enhance to handle the new "auto"
 +      keyword.
 +      * progmodes/cc-fonts.el (c-font-lock-declarations): Handle the
 +      "decltype" keyword.
 +      (c-font-lock-c++-new): Handle "decltype" constructions.
 +      * progmodes/cc-langs.el (c-auto-ops, c-auto-ops-re):
 +      New c-lang-defconsts/defvars.
 +      (c-haskell-op, c-haskell-op-re): New c-lang-defconsts/defvars.
 +      (c-typeof-kwds, c-typeof-key): New c-lang-defconsts/defvars.
 +      (c-typeless-decl-kwds): Append "auto" onto the C++ value.
 +      (c-not-decl-init-keywords): Also exclude c-typeof-kwds from value.
 +
 +      Make ">>" act as double template ender in C++ Mode.
 +      * progmodes/cc-langs.el (c->-op-cont-tokens): New lang-const split
 +      off from c->-op-cont-re.
 +      (c->-op-cont-tokens): Change to use the above.
 +      (c->-op-without->-cont-regexp): New lang-const.
 +      * progmodes/cc-engine.el (c-forward-<>-arglist-recur):
 +      Use c->-op-without->-cont-regexp in place of c->-op-cont-tokens.
 +
 +
 +2014-08-23  Alan Mackenzie  <acm@muc.de>
 +
 +      * progmodes/cc-fonts.el (c-font-lock-declarators): Fix infinite
 +      loop, bug #18306.  The bug was introduced on 2014-08-02.
 +
 +2014-08-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * textmodes/texnfo-upd.el (texinfo-specific-section-type):
 +      Don't recognize a Top node if there are other sectioning commands
 +      earlier in the Texinfo file.  This fixes a bug in
 +      texinfo-make-menu and avoids inflooping in
 +      texinfo-all-menus-update when they are invoked on texinfo.texi.
 +
 +2014-08-21  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window--side-window-p): New function.
 +      (split-window, window-splittable-p): Use window--side-window-p to
 +      determine whether WINDOW can be split (Bug#18304).
 +      * calendar/calendar.el (calendar-basic-setup): Fix one call of
 +      `window-splittable-p' and add another (Bug#18304).
 +
 +2014-08-20  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/python.el (python-new-pythonpath): Extract from
 +      `python-shell-calculate-process-environment'.
 +
 +2014-08-18  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 +
 +      * emacs-lisp/eldoc.el (eldoc-highlight-function-argument): Add support
 +      for &key args (bug#18048).
 +
 +2014-08-18  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * calendar/diary-lib.el (diary-list-entries):
 -      Restore 24.3 display behavior.  (Bug#18381)
 +      * emacs-lisp/eldoc.el (eldoc-argument-case): Obsolete and change default.
 +      (eldoc-function-argstring-format): Remove.
 +      (eldoc-function-argstring): Always return upcase args.
 +      Use help-make-usage.  Don't add parens.
 +      (eldoc-get-fnsym-args-string): Don't obey eldoc-argument-case since
 +      it's too late to do it right (bug#18048).
  
 -2014-09-09  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * mouse.el (mouse-drag-line): On text-mode frames, count the mode
 -      line and header line as 1 pixel.  This fixes the 1-"pixel" (row)
 -      discrepancy between window-pixel-edges and mouse events, and
 -      avoids moving mode line up when the mouse click is on the modeline
 -      and no drag is attempted.
 +      * scroll-bar.el (scroll-bar-horizontal-drag-1)
 +      (scroll-bar-toolkit-horizontal-scroll): When determining the
 +      paragraph direction, use the buffer of the window designated in
 +      the event.
  
 -2014-09-08  Glenn Morris  <rgm@gnu.org>
 +2014-08-16  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * calendar/calendar.el (calendar-basic-setup):
 -      Avoid clobbering calendar with diary.  (Bug#18381)
 +      * vc/diff-mode.el (diff-fixup-modifs): Handle empty line in
 +      context of unified diff.
  
 -2014-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-08-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * vc/vc-dir.el (vc-dir-update): Don't burp in corner case.
 +      Add dependencies to fix loaddefs race during parallel builds.
 +      Without this, for example, 'make -j bootstrap' can fail and report
 +      "Opening input file: no such file or directory,
 +      .../lisp/calendar/diary-loaddefs.el ... recipe for target
 +      'calendar/hol-loaddefs.el' failed", where the hol-loaddefs.el rule
 +      got confused because diary-loaddefs.el was being built in parallel.
 +      * Makefile.in ($(CAL_DIR)/diary-loaddefs.el):
 +      Depend on $(CAL_DIR)/cal-loaddefs.el.
 +      ($(CAL_DIR)/hol-loaddefs.el): Depend on $(CAL_DIR)/diary-loaddefs.el.
  
 -2014-09-04  Lars Ljung  <lars@matholka.se>  (tiny change)
 +2014-08-16  Martin Rudalics  <rudalics@gmx.at>
  
 -      * isearch.el (isearch-yank-word-or-char): Obey superword-mode
 -      as well (bug#18400).
 +      * scroll-bar.el (scroll-bar-horizontal-drag-1): Use cdr of
 +      portion-whole for scrolling right-to-left text.
  
 -2014-09-04  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-15  Leo Liu  <sdl.web@gmail.com>
  
 -      * subr.el (posn-actual-col-row): Doc fix.  (Bug#18385)
 +      * speedbar.el (speedbar-generic-list-tag-p): Allow special
 +      elements from imenu.
  
 -2014-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-08-15  Glenn Morris  <rgm@gnu.org>
  
 -      * emacs-lisp/package.el (package-generate-description-file):
 -      Properly quote the arguments (bug#18332).  Change second arg.
 -      (package--alist-to-plist-args): Rename from package--alist-to-plist and
 -      quote the elements.
 -      (package--make-autoloads-and-stuff): Fix the test for pre-existence of
 -      the *-pkg.el file.  Adjust to new calling convention of
 -      package-generate-description-file.
 +      * subr.el (with-output-to-temp-buffer): Doc fix; from elisp manual.
  
 -      * progmodes/gud.el (gud-gdb-completion-at-point): Add hack (bug#18282).
 -      (gud-gdb-completions): Remove obsolete workaround.
 +2014-08-13  Jan Nieuwenhuizen  <janneke@gnu.org>
  
 -2014-09-02  Eli Zaretskii  <eliz@gnu.org>
 +      * progmodes/compile.el (compilation-error-regexp-alist-alist):
 +      Add Guile regexpses.
  
 -      * subr.el (posn-col-row): Revert the change from commit
 -      2010-11-13T21:07:58Z!eliz@gnu.org, which
 -      was inadvertently merged from emacs-23 release branch in 2010-11-18T03:54:14Z!monnier@iro.umontreal.ca
 -      monnier@iro.umontreal.ca-20101118035414-yvlg7k7dk4k4l3q, and
 -      introduced an off-by-one error in the reported row when there is a
 -      header line.  (Bug#18384)
 +2014-08-13  Jan Nieuwenhuizen  <janneke@gnu.org>
  
 -2014-09-01  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +      * progmodes/gud.el (guiler): New function.  Starts the Guile REPL;
 +      add Guile debugger support for GUD.
  
 -      * progmodes/python.el (python-indent-post-self-insert-function):
 -      Avoid electric colon at beginning-of-defun.  (Bug#18228)
 +2014-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-09-01  Glenn Morris  <rgm@gnu.org>
 +      * obsolete/mouse-sel.el (mouse-sel-mode): Use add/remove-function.
 +      (mouse-sel--ignore): New function.
 +      (mouse-sel-has-been-enabled, mouse-sel-original-bindings)
 +      (mouse-sel-original-interprogram-cut-function)
 +      (mouse-sel-original-interprogram-paste-function): Remove.
  
 -      * tutorial.el (tutorial--display-changes):
 -      Fix 2014-07-29 change.  (Bug#18382)
 +2014-08-13  Eric S. Raymond  <esr@thyrsus.com>
  
 -2014-08-29  Ken Brown  <kbrown@cornell.edu>
 +      * vc/vc-git.el (vc-git-resolve-when-done): New function.
 +      Call "git add" when there are no longer conflict markers.
  
 -      * startup.el (fancy-splash-frame): Extend the fix for Bug#16014 to
 -      the Cygwin-w32 build.  (Bug#18347)
 +2014-08-13  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
  
 -2014-08-28  Glenn Morris  <rgm@gnu.org>
 +      * vc/vc-git.el (vc-git-find-file-hook): New function.
 +      Adds support for calling smerge (and resolve) on a conflicted file.
 +      (vc-git-conflicted-files): New function.
 +      Useful in itself and a step towards better smerge support.
  
 -      * tar-mode.el (tar--extract, tar-extract):
 -      Avoid permanently disabling undo in extracted buffers.  (Bug#18344)
 +2014-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-08-27  Michael Albinus  <michael.albinus@gmx.de>
 +      * mpc.el (mpc-reorder): Don't bother splitting the "active" elements
 +      to the first part if they're the same as the selection.
  
 -      * emacs-lisp/authors.el (authors-aliases): Addition.
 +2014-08-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * net/tramp-adb.el: Spell author name correctly.
 +      * image-mode.el (image-transform-reset): New command and menu item.
 +      (image-mode-map): Rearrange the menu items to put presumably more
 +      obscure items at the end.
  
 -2014-08-27  João Távora  <joaotavora@gmail.com>
 +2014-08-12  Juri Linkov  <juri@jurta.org>
  
 -      * net/shr.el (shr-expand-url): Plain expand-file-name is not enough;
 -      use url-expand-file-name.  (Bug#18310)
 +      * vc/vc-annotate.el (vc-annotate-background-mode):
 +      Use `with-demoted-errors' instead of `ignore-errors'.  (Bug#18189)
  
 -2014-08-25  Glenn Morris  <rgm@gnu.org>
 +2014-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emulation/cua-rect.el (cua--highlight-rectangle):
 -      Avoid error at point-min.  (Bug#18309)
 +      * files.el (out-of-memory-warning-percentage): Turn it off by default.
  
 -2014-08-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-08-11  Sam Steingold  <sds@gnu.org>
  
 -      * progmodes/python.el (python-shell-prompt-detect): Remove redundant
 -      executable-find (bug#18244).
 +      * textmodes/sgml-mode.el (sgml-validate-command): Set depending on
 +      the presence of known validators (tidy, (o)nsgmls).
  
 -      * simple.el (self-insert-uses-region-functions): Defvar.
 +2014-08-11  Ulf Jasper  <ulf.jasper@web.de>
  
 -2014-08-13  Leo Liu  <sdl.web@gmail.com>
 +      Newsticker: introduce `newsticker-treeview-date-format'. (Bug#17227)
  
 -      * speedbar.el (speedbar-generic-list-tag-p): Allow special
 -      elements from imenu.
 +      * net/newst-treeview.el (newsticker-treeview-date-format): New.
 +      (newsticker--treeview-list-add-item): Use `newsticker-treeview-date-format'.
  
  2014-08-11  Glenn Morris  <rgm@gnu.org>
  
 -      * subr.el (with-output-to-temp-buffer): Doc fix; from elisp manual.
 -
        * files.el (basic-save-buffer-2): Revert 2013-01-31 change, which
        chose coding system for writing before backing up, since it causes
        a more serious problem than the one it solves.  (Closes Bug#18141,
        reopens Bug#13522.)
  
 -2014-08-10  Martin Rudalics  <rudalics@gmx.at>
 +2014-08-11  Martin Rudalics  <rudalics@gmx.at>
  
 -      * window.el (window-total-size): Make doc-string more
 -      self-contained.
 -
 -2014-08-09  Martin Rudalics  <rudalics@gmx.at>
 +      * window.el (window-total-size): Make doc-string more self-contained.
  
        * window.el (display-buffer-below-selected): Restore original
        behavior if buffer is already displayed in the window below the
        selected one (Bug#18181).
  
 -2014-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mouse.el (mouse--down-1-maybe-follows-link): Don't convert the down
        event (bug#18212).
  
 -2014-08-08  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-11  Eli Zaretskii  <eliz@gnu.org>
  
        * info.el (info): Doc fix.
  
 -2014-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * info.el (Info-mode-map): Override a global down-mouse-2 binding
        (bug#18212).
  
 -2014-08-05  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-11  Eli Zaretskii  <eliz@gnu.org>
  
        * simple.el (default-line-height): A floating-point value of
        line-spacing means a fraction of the default frame font's height,
        (window-screen-lines): Use window-inside-pixel-edges for
        determining the window height in pixels.  (Bug#18195)
  
 -2014-07-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-11  Grégoire Jadi  <daimrod@gmail.com>
 +
 +      * leim/quail/latin-post.el: Transform " __" into " _".  (Bug#18023)
 +
 +2014-08-10  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      Enumerate evaluated sexp diary entries (Bug#7911).
 +      * calendar/icalendar.el (icalendar-export-sexp-enumerate-all)
 +      (icalendar-export-sexp-enumeration-days): New.
 +      (icalendar-export-region): Now `icalendar--convert-to-ical'
 +      returns a cons cell or a list of cons cells.
 +      (icalendar--convert-to-ical): Take care of
 +      `icalendar-export-sexp-enumerate-all'.  Return (a list of) cons cells.
 +      (icalendar--convert-ordinary-to-ical)
 +      (icalendar--convert-weekly-to-ical, icalendar--convert-yearly-to-ical)
 +      (icalendar--convert-block-to-ical, icalendar--convert-block-to-ical)
 +      (icalendar--convert-float-to-ical, icalendar--convert-cyclic-to-ical)
 +      (icalendar--convert-anniversary-to-ical): Return cons cell.
 +      (icalendar--convert-sexp-to-ical): Enumerate evaluated sexp
 +      entries.  Return (list of) cons cells.
 +
 +2014-08-09  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/vc-annotate.el (vc-annotate-background-mode): Add :set
 +      to reevaluate `vc-annotate-color-map'.  (Bug#18189)
 +
 +2014-08-09  Alan Mackenzie  <acm@muc.de>
 +
 +      * progmodes/cc-fonts.el (c-font-lock-declarators): Remove check
 +      for top-level that can cause unacceptable slow-down in scrolling.
 +      See email Subject: Huge {...} blocks in C/C++ again, from Dmitry
 +      Antipov from 2013-10-14 in emacs-devel.
 +
 +2014-08-08  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
 +
 +      * ibuffer.el (ibuffer-mode-map): Use toggle button for
 +      `ibuffer-auto-mode' menu entry.
 +      (ibuffer-mode-hook): Add `ibuffer-auto-mode' customization option.
 +
 +2014-08-08  Matthias Meulien  <orontee@gmail.com>
 +
 +      * progmodes/prog-mode.el (prog-mode-hook): Make customizable.
 +      (Bug#16394)
 +
 +2014-08-07  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window--min-size-1): Explicitly set WINDOW arg in
 +      calls of window-min-pixel-height and window-min-pixel-width.
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * progmodes/ada-mode.el:
 +      * 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.
 +      * progmodes/ada-xref.el (ada-xref-current): Remove mention of VMS,
 +      and fix a FIXME, using convert-standard-filename in place of
 +      removed ada-convert-file-name.
 +
 +2014-08-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * files.el (auto-mode-alist): Remove support for VMS from a pattern.
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      Refer to MS-DOS using the same name everywhere.
 +      * arc-mode.el, files.el, frame.el: ``MS-DOG'', ``MSDOG'' and
 +      ``msdog'' become ``MS-DOS''.
 +
 +2014-08-07  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
 +      Use cached "remote-copy-args" value, if available.  (Bug#18199)
 +
 +2014-08-07  Leo Liu  <sdl.web@gmail.com>
 +
 +      * help.el (temp-buffer-setup-hook,temp-buffer-show-hook):
 +      Revert change on 2014-03-22.
 +
 +2014-08-06  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * calendar/icalendar.el (icalendar--diarytime-to-isotime)
 +      (icalendar--convert-ordinary-to-ical): Allow for missing minutes
 +      (Bug#13750).
 +
 +
 +2014-08-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * image-mode.el (image-toggle-display-image): Always rescale images
 +      to not be bigger than the current window.
 +
 +2014-08-05  Eric Brown  <brown@fastmail.fm>  (tiny change)
 +
 +      * net/eww.el (eww-bookmarks-directory): New variable.
 +      (eww-write-bookmarks): Use it.
 +      (eww-read-bookmarks): Ditto.
 +
 +2014-08-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/shr.el (shr-copy-url): Also copy the image URL.
 +
 +2014-08-05  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-cache.el (tramp-flush-file-function): Suppress function
 +      also for Tramp working buffers.
 +
 +2014-08-04  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el: Fix completions inside (i)pdb.
 +      (python-shell-completion-pdb-string-code): Make obsolete.
 +      (python-shell-completion-get-completions):
 +      Use python-shell-completion-string-code resending setup code
 +      continuously for (i)pdb.
 +
 +2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * rect.el (rectangle--default-line-number-format): Rename
 +      from misspelled rectange--default-line-number-format (Bug#18045).
 +      All uses changed.
 +
 +2014-08-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't mishandle year-9999 dates (Bug#18176).
 +      * calendar/parse-time.el (parse-time-rules):
 +      Allow years up to most-positive-fixnum.
 +      * calendar/time-date.el (date-to-time):
 +      Pass "Specified time is not representable" errors through.
 +
 +2014-08-02  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el: Completion code cleanups.
 +      (python-shell-completion-get-completions): Detect and send import
 +      statements directly to completion function.
 +      (python-shell-completion-at-point): Simplify prompt calculation
 +      and import vs input completion logic.
 +
 +2014-08-02  Alan Mackenzie  <acm@muc.de>
 +
 +      Fix confusion in C++ file caused by comma in "= {1,2},".
 +      Bug #17756.
 +      * progmodes/cc-engine.el (c-beginning-of-statement-1): In checking
 +      for a statement boundary marked by "}", check there's no "="
 +      before the "{".
 +      (c-guess-basic-syntax CASE 9B): Call c-beginning-of-statement with
 +      non-nil `comma-delim' argument.
 +      * progmodes/cc-fonts.el (c-font-lock-declarators): Parse an
 +      initializer expression more accurately.
 +
 +      Correct loop termination condition in c-syntactic-skip-backward.
 +      * progmodes/cc-engine.el (c-syntactic-skip-backward): Correct for
 +      the situation where, after moving back out of a literal,
 +      skip-chars-backward doesn't move further, yet checks have still to
 +      be done.
 +
 +2014-08-01  Eli Zaretskii  <eliz@gnu.org>
  
        * tutorial.el (tutorial--display-changes): Accept punctuation
        characters before the key binding.  (Bug#18146)
  
 -2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-31  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
 -      * doc-view.el (doc-view-open-text): Don't require that the
 -      document is saved in a file (e.g., email attachment).
 +      * progmodes/python.el: Shell output capture enhancements.
 +      (python-shell-accept-process-output): New function.
 +      (inferior-python-mode)
 +      (python-shell-send-setup-code): Use it.
  
 -2014-07-27  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-30  Christophe Deleuze  <christophe.deleuze@free.fr>  (tiny change)
 +
 +      * calendar/icalendar.el (icalendar--decode-isodatetime):
 +      Use actual current-time-zone when converting to local time. (Bug#15408)
 +
 +2014-07-29  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window--state-put-2): Handle horizontal scroll
 +      bars, if present.
 +
 +2014-07-29  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
 +
 +      * menu-bar.el (menu-bar-update-buffers): Update item list format
 +      in `buffers-menu' to confirm with changes to `get_keyelt'
 +      (r117463).  (Bug#18016)
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (inferior-python-mode): Make input prompts
 +      read-only.
 +
 +2014-07-28  Emilio C. Lopes  <eclig@gmx.net>
 +
 +      * net/tramp-sh.el (tramp-get-remote-python): Also search for
 +      executables named "python2" or "python3".
 +      (tramp-get-remote-uid-with-python): Use parentheses around
 +      arguments to `print' to make it compatible with Python 3.
 +      (tramp-get-remote-gid-with-python): Ditto.  (Bug#18118)
 +
 +2014-07-28  Eli Zaretskii  <eliz@gnu.org>
  
        * window.el (window--pixel-to-total): Use FRAME's root window, not
        that of the selected frame.  (Bug#18112, Bug#16674)
  
 -2014-07-27  Andreas Schwab  <schwab@linux-m68k.org>
 +2014-07-28  Andreas Schwab  <schwab@linux-m68k.org>
  
        * textmodes/tex-mode.el (tex-font-lock-verb): Doc fix.
        (Bug#18117)
  
 -2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * progmodes/python.el (inferior-python-mode): Doc fix.
  
 -2014-07-25  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-edit-item--next-key): If next key is
        not a character, ignore it instead of raising an error.
  
 -2014-07-25  Stephen Berman  <stephen.berman@gmx.net>
 -
        * calendar/todo-mode.el: Fix handling of marked items and make
        minor code improvements.
        (todo-edit-item): If there are marked items, ensure user can only
        (todo-edit-item--header, todo-edit-item--diary-inclusion)
        (todo-item-done): Use it.
  
 -2014-07-25  Glenn Morris  <rgm@gnu.org>
 +2014-07-28  Glenn Morris  <rgm@gnu.org>
  
        * files.el (toggle-read-only): Re-add basic doc-string.
        * vc/vc-hooks.el (vc-toggle-read-only): Tweak obsolescence mesage.
        Replace missing `switch-to-prolog' with `run-prolog'.
        (switch-to-prolog): Define as (obsolete) alias, as in 23.4.
  
 -2014-07-22  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-set-top-priorities): Fix overwriting
        of file-wide setting when changing category-wide setting.
  
 +2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
 +
 +      * doc-view.el (doc-view-open-text): Don't require that the
 +      document is saved in a file (e.g., email attachment).
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Parse completion input in a iPython friendly way.  (Bug#18084)
 +      * progmodes/python.el
 +      (python-shell-completion-at-point): Rename from
 +      python-shell-completion-complete-at-point.
 +      (inferior-python-mode): Use it.
 +      (python-completion-at-point): Rename from
 +      python-completion-complete-at-point.  Parse input up to first
 +      backward occurrence of whitespace, open-paren, close-paren or
 +      string delimiter.
 +      (python-mode): Use it.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Prevent Python process shell buffer to pop twice.
 +      * progmodes/python.el (python-shell-switch-to-shell): Do not call
 +      pop-to-buffer.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el
 +      (python-shell-with-shell-buffer): New macro.
 +      (python-shell-font-lock-get-or-create-buffer)
 +      (python-shell-font-lock-kill-buffer)
 +      (python-shell-font-lock-with-font-lock-buffer)
 +      (python-shell-font-lock-cleanup-buffer)
 +      (python-shell-font-lock-toggle): Use it.
 +      (python-shell-font-lock-turn-on)
 +      (python-shell-font-lock-turn-off): Use it.  Make command.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Grab all Python process output before inferior-python-mode hooks.
 +      * progmodes/python.el (inferior-python-mode):
 +      Call accept-process-output and sit-for to ensure all output for process
 +      has been received before running hooks.
 +      (python-shell-internal-get-or-create-process):
 +      Cleanup accept-process-output and sit-for calls.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      More robust shell startup and code setup.
 +      * progmodes/python.el (python-shell-make-comint):
 +      Remove accept-process-output call.
 +      (python-shell-get-buffer): Return current buffer if major-mode is
 +      inferior-python-mode.
 +      (python-shell-get-or-create-process): Use it.
 +      (python-shell-send-setup-code): Send all setup code in one string,
 +      output success message and accept-process-output.
 +
 +2014-07-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * scroll-bar.el (scroll-bar-toolkit-horizontal-scroll):
 +      Add rudimentary support for bidirectional text.
 +
 +2014-07-27  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.el (frame-notice-user-settings): Rewrite using
 +      frame-initial-frame-tool-bar-height.
 +      * menu-bar.el (menu-bar-horizontal-scroll-bar)
 +      (menu-bar-no-horizontal-scroll-bar): New functions.
 +      (menu-bar-showhide-scroll-bar-menu): Add bindings for horizontal
 +      scroll bars.
 +      * scroll-bar.el (scroll-bar-lines)
 +      (set-horizontal-scroll-bar-mode)
 +      (get-horizontal-scroll-bar-mode, horizontal-scroll-bar-mode)
 +      (scroll-bar-horizontal-drag-1, scroll-bar-horizontal-drag)
 +      (scroll-bar-toolkit-horizontal-scroll): New functions.
 +      (horizontal-scroll-bar-mode)
 +      (previous-horizontal-scroll-bar-mode)
 +      (horizontal-scroll-bar-mode-explicit): New variables.
 +      (horizontal-scroll-bar-mode): New option.
 +      (toggle-horizontal-scroll-bar): Do something.
 +      (top-level): Bind horizontal-scroll-bar mouse-1.
 +      * startup.el (tool-bar-originally-present): Remove variable.
 +      (command-line): Don't set tool-bar-originally-present.
 +      * window.el (window-min-height): Update doc-string.
 +      (window--dump-frame): Dump horizontal scroll bar values.
 +      (window--min-size-1): Handle minibuffer window separately.
 +      Count in margins and horizontal scroll bar.  Return safe value
 +      iff IGNORE equals 'safe.
 +      (frame-windows-min-size): New function (used by frame resizing
 +      routines).
 +      (fit-frame-to-buffer, fit-window-to-buffer): Count in horizontal
 +      scroll bars.
 +      (window--sanitize-window-sizes): New function.
 +      (window-split-min-size): Remove.
 +      (split-window): Count divider-width.  Don't use
 +      `window-split-min-size' any more.  Reword error messages.
 +      Sanitize windows sizes after splitting.
 +
 +2014-07-27  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Use `defvar-local' more.
 +      * progmodes/hideshow.el
 +      (hs-c-start-regexp, hs-block-start-regexp)
 +      (hs-block-start-mdata-select, hs-block-end-regexp)
 +      (hs-forward-sexp-func, hs-adjust-block-beginning): ...here;
 +      remove corresponding `make-variable-buffer-local' top-level calls.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Cleanup error signals.  (Bug#18067)
 +      * progmodes/python.el
 +      (python-indent-shift-left): Use user-error instead.
 +      (python-shell-prompt-detect): Use lwarn with python group.
 +      (python-completion-complete-at-point)
 +      (python-eldoc--get-doc-at-point): Don't signal error.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Support for packages in Python shell.  (Bug#13570)
 +      * progmodes/python.el (python-shell--package-depth): New var.
 +      (python-shell-package-enable): New command.
 +      (python-util-list-directories, python-util-list-files)
 +      (python-util-list-packages): New functions.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Faster comint output.  (Bug#16875)
 +      * progmodes/python.el:
 +      (python-comint-output-filter-function): Make obsolete.
 +      (python-comint-postoutput-scroll-to-bottom): New function.
 +      (inferior-python-mode): Set comint-output-filter-functions to a
 +      minimum.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (python-shell-font-lock-post-command-hook):
 +      Safeguard current point and undo history.
 +
 +2014-07-26  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Robust shell syntax highlighting.  (Bug#18084, Bug#16875)
 +      * progmodes/python.el:
 +      (python-shell-prompt-input-regexps): Add iPython block prompt.
 +      (python-shell-output-syntax-table): Delete var.
 +      (python-shell-font-lock-with-font-lock-buffer): New macro.
 +      (python-shell-font-lock-get-or-create-buffer)
 +      (python-shell-font-lock-kill-buffer)
 +      (python-shell-font-lock-cleanup-buffer)
 +      (python-shell-font-lock-post-command-hook)
 +      (python-shell-font-lock-turn-off): New functions.
 +      (python-shell-font-lock-turn-on): New function.
 +      (inferior-python-mode): Use it.
 +      (python-shell-font-lock-toggle): New command.
 +      (python-shell-font-lock-enable): Rename from
 +      python-shell-enable-font-lock.
 +      (run-python-internal): Use it.
 +      (python-shell-font-lock-comint-output-filter-function): New function.
 +      (python-shell-comint-end-of-output-p): New function.
 +      (python-shell-output-filter): Use it.
 +      (python-util-comint-last-prompt): New function.
 +      (python-util-text-properties-replace-name): New function.
 +
 +2014-07-25  Glenn Morris  <rgm@gnu.org>
 +
 +      * vc/ediff-init.el (ediff-toggle-read-only-function):
 +      * vc/ediff-util.el (ediff-toggle-read-only):
 +      Replace obsolete toggle-read-only with read-only-mode.
 +
 +2014-07-24  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-cache.el (tramp-flush-file-function): Wrap the code
 +      with `save-match-data'.  (Bug#18095)
 +
 +2014-07-21  Vincent Belaïche  <vincentb1@users.sourceforge.net>
 +
 +      * ses.el (ses-truncate-cell): Use cl-progv instead of eval in
 +      order to ensure that row and col are lexically bound inside the
 +      evaluated sexp.
 +
  2014-07-21  Glenn Morris  <rgm@gnu.org>
  
        * progmodes/hideif.el (hide-ifdef-mode-submap):
        * progmodes/hideif.el (hide-ifdef-toggle-outside-read-only):
        Doc fixes re toggle-read-only.
  
 -2014-07-20  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * progmodes/python.el: Add comment about pipe buffering and
        solutions for missing/delayed output in inferior Python shells.
        (Bug#17304)
  
 -2014-07-20  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 -
        * progmodes/python.el (python-mode): Don't set
        mode-require-final-newline.  (Bug#17990)
  
 -2014-07-20  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 -
        Make python.el work with IPython automatically.  (Bug#15510)
        * progmodes/python.el:
        (python-shell-completion-setup-code): New value supporting iPython.
        (python-shell-prompt-output-regexps): Add safeguard for ipdb.
        (python-shell-output-filter): Fix comment typo.
  
 -2014-07-19  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 -
        Fix Python shell prompts detection for remote hosts.
        * progmodes/python.el (python-shell-prompt-detect):
        Replace call-process with process-file and make it more robust.
  
 -2014-07-17  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 -
        Autodetect Python shell prompts.  (Bug#17370)
        * progmodes/python.el:
        (python-shell-interpreter-interactive-arg)
        (python-shell-prompt-detect)
        (python-shell-prompt-validate-regexps): New functions.
        (python-shell-prompt-set-calculated-regexps): New function.
 -      (inferior-python-mode): Use it.  Also honor overridden
 +      (inferior-python-mode): Use it.  Also honor overriden
        python-shell-interpreter and python-shell-interpreter-args.
 -      (python-shell-make-comint): Honor overridden
 +      (python-shell-make-comint): Honor overriden
        python-shell-interpreter and python-shell-interpreter-args.
        (python-shell-get-or-create-process): Make it testable by allowing
        to call run-python non-interactively.
        (python-shell-prompt-output-regexp)
        (python-shell-prompt-pdb-regexp): Use it as defcustom :safe.
  
 +2014-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/smie.el (smie-config--guess-1): Split from
 +      smie-config--guess.
 +      (smie-config--guess): Use it.
 +
 +      * emacs-lisp/edebug.el: Use nadvice.
 +      (edebug-original-read): Remove.
 +      (edebug--read): Rename from edebug-read and add `orig' arg.
 +      (edebug-uninstall-read-eval-functions)
 +      (edebug-install-read-eval-functions): Use nadvice.
 +      (edebug-read-sexp, edebug-read-storing-offsets, edebug-read-symbol)
 +      (edebug-read-and-maybe-wrap-form1, edebug-instrument-callee)
 +      (edebug-read-string, edebug-read-function): Use just `read'.
 +      (edebug-original-debug-on-entry): Remove.
 +      (edebug--debug-on-entry): Rename from edebug-debug-on-entry and add
 +      `orig' arg.
 +      (debug-on-entry): Override with nadvice.
 +
 +      * mouse.el (tear-off-window): Rename from mouse-tear-off-window since
 +      it also makes sense to bind it to a non-mouse event.
 +
 +      * vc/vc-bzr.el (vc-bzr-shelve): Make it operate on fileset.
 +
 +2014-07-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * xt-mouse.el (xterm-mouse-event): Don't assume last-click is non-nil
 +      (bug#18015).
 +
 +      * rect.el (rectangle--string-preview): Don't assume there
 +      a non-nil default (bug#17984).
 +
  2014-07-16  Glenn Morris  <rgm@gnu.org>
  
        * desktop.el (after-init-hook): Disable startup frame restoration
        in non-graphical situations.  (Bug#17693)
  
 -2014-07-14  Glenn Morris  <rgm@gnu.org>
 -
        * vc/vc-dispatcher.el (vc-log-edit): Do set up the log buffer
        if it was "empty", or used for a different set of files.  (Bug#17884)
  
 -2014-07-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-16  Eli Zaretskii  <eliz@gnu.org>
  
        * bindings.el (mode-line-remote): If default-directory is not a
        string, don't call file-remote-p on it; instead state in the
        help-echo that it is nil.  (Bug#17986)
  
 +2014-07-14  Daniel Colascione  <dancol@dancol.org>
 +
 +      * progmodes/cc-langs.el: Change comments from `cl-macroexpand-all'
 +      to `macroexpand-all'
 +
 +      * progmodes/cc-defs.el (c-lang-defconst-eval-immediately):
 +      Use `macroexpand-all' instead of `cl-macroexpand-all'.
 +
  2014-07-12  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix bug: C-x v v discarded existing log message (Bug#17884).
        * vc/vc-dispatcher.el (vc-log-edit):
        Don't clobber an already-existing log message.
  
 -2014-07-10  Glenn Morris  <rgm@gnu.org>
 +2014-07-12  Glenn Morris  <rgm@gnu.org>
  
        * vc/log-edit.el (log-edit-changelog-entries):
        Check for a visited-but-never-saved ChangeLog.
  
 -2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * vc/log-edit.el (log-edit-changelog-entries): Don't both visiting
        a non-existing file (bug#17970).
        * faces.el (face-name): Undo last change.
        (x-resolve-font-name): Don't call face-name (bug#17956).
  
 -2014-07-09  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        Fix dedenters and electric colon handling. (Bug#15163)
 -
        * progmodes/python.el
        (python-rx-constituents): Add dedenter and block-ender.
        (python-indent-dedenters, python-indent-block-enders): Delete.
        (python-info-dedenter-opening-block-positions)
        (python-info-dedenter-statement-p): New functions.
  
 -2014-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * files.el (out-of-memory-warning-percentage): New defcustom.
 +      (warn-maybe-out-of-memory): Use it.
 +
 +2014-07-11  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * subr.el (read-passwd): Use `read-hide-char' if non-nil.  Bind it
 +      when calling `read-string'.  (Bug#17839)
 +
 +2014-07-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * files.el (warn-maybe-out-of-memory): Fix the wording of the
 +      warning.
 +
 +2014-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * files.el (warn-maybe-out-of-memory): New function.
 +      (find-file-noselect): Use it.
 +
 +2014-07-09  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/cperl-mode.el (cperl-block-p): Treat the perl keyword
 +      `constant' like `bless', `return' &c
 +
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * rect.el (apply-on-rectangle): Check forward-line really moved to the
 +      next line.
 +
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/sh-script.el (sh-smie-sh-rules): Don't align with a && in
        the middle of a line (bug#17896).
  
 -2014-07-08  Juri Linkov  <juri@jurta.org>
 +2014-07-09  Juri Linkov  <juri@jurta.org>
  
        * startup.el (command-line): Append displaying the warning about
        the errors in the init file to the end of `after-init-hook'.
        (Bug#17927)
  
 -2014-07-08  Juri Linkov  <juri@jurta.org>
 -
 -      * faces.el (face-name): Return input arg `face' as is
 +      * faces.el (face-name): Return input arg `face' as-is
        when it's not a symbol.
        (x-resolve-font-name): Don't check if the face is a symbol.
        (Bug#17956)
  
 -2014-07-08  Juri Linkov  <juri@jurta.org>
 -
        * facemenu.el (list-colors-print): In help-echo format use %.2f
        instead of %d because now HSV values are floating-point components
        between 0.0 and 1.0.
  
 -2014-07-06  Glenn Morris  <rgm@gnu.org>
 +2014-07-09  Glenn Morris  <rgm@gnu.org>
  
        * emulation/cua-rect.el (cua--activate-rectangle):
        Avoid setting cua--rectangle to nil.  (Bug#17877)
  
 -2014-07-06  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-09  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Fix wrong-type-argument error when
        marking multiple consecutive items.
        (todo-mark-category): Don't try to mark the empty line between the
        todo and done items sections.
  
 -2014-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/edebug.el (edebug-eval-defun): Print result using
 +      proper Lisp quoting (bug#17934).
 +
 +      * progmodes/ruby-mode.el (ruby-mode-variables): Don't meddle with
 +      require-final-newline since prog-mode already took care of it (bug#17947).
 +
 +2014-07-09  Stephen Berman  <stephen.berman@gmx.net>
 +
 +      * calendar/todo-mode.el: Fix two bugs.  Shorten Commentary and
 +      refer to the Todo mode Info manual.  Update the comment on
 +      requiring cl-lib.
 +      (todo-find-filtered-items-file): Add todo-prefix overlays.
 +      (todo-filter-items): Reorder a let-bound variable to avoid a
 +      wrong-type-argument error on canceling the file choice dialog.
 +
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/octave.el (inferior-octave-mode):
 +      Set comint-input-ring-size to a number (bug#17912).
 +
 +2014-07-09  Juri Linkov  <juri@jurta.org>
 +
 +      * desktop.el (desktop-minor-mode-table): Add `defining-kbd-macro'
 +      and `isearch-mode' associated with nil.  (Bug#17849)
 +
 +2014-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * linum.el (linum--face-height): New function (bug#17813).
 +      (linum-update-window): Use it to adjust margin to linum's width.
 +
 +      * leim/quail/sisheng.el (sisheng-list): Don't bother with-case-table.
 +      * eshell/em-smart.el (eshell-smart-scroll-window):
 +      Use with-selected-window.
 +
 +      * xt-mouse.el (xterm-mouse-translate-1): Intern drag event (bug#17894).
 +      Remove also pointless window&mark manipulation.
 +
 +      * progmodes/perl-mode.el: Use syntax-ppss; fix one indentation case.
 +      (perl-indent-line): Use syntax-ppss to detect we're in a doc-section.
 +      (perl-continuation-line-p): Don't skip over anything else than labels.
 +      Return the previous char.
 +      (perl-calculate-indent): Use syntax-ppss instead of parse-start
 +      and update callers accordingly.  For continuation lines, check the
 +      the case of array hashes.
 +      (perl-backward-to-noncomment): Make it non-interactive.
 +      (perl-backward-to-start-of-continued-exp): Rewrite.
 +
 +2014-07-08  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/inf-lisp.el (lisp-eval-paragraph, lisp-eval-form-and-next):
 +      New user commands.
 +
 +2014-07-08  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/vc-annotate.el (vc-annotate-background-mode): New defcustom.
 +      (vc-annotate-color-map): Use less saturated colors (20%) for
 +      background-mode.
 +      (vc-annotate-very-old-color): Add default value for background-mode.
 +      (vc-annotate-background): Set default value to nil since now text on
 +      the default backgrounds should be legible in light and dark modes.
 +      (vc-annotate-lines): Use `vc-annotate-background-mode'.  Doc fix.
 +      (Bug#17808)
 +
 +2014-07-08  Juri Linkov  <juri@jurta.org>
 +
 +      * simple.el (transpose-chars): Don't move point into read-only area.
 +      (Bug#17829)
 +
 +2014-07-08  Juri Linkov  <juri@jurta.org>
 +
 +      * window.el (with-displayed-buffer-window): New macro.
 +      (with-temp-buffer-window, with-current-buffer-window):
 +      Use `macroexp-let2' to evaluate and bind variables
 +      in the same order as macro arguments.
 +      (display-buffer--action-function-custom-type):
 +      Add `display-buffer-below-selected' and `display-buffer-at-bottom'.
 +
 +      * minibuffer.el (minibuffer-completion-help): Replace
 +      `with-output-to-temp-buffer' with `with-displayed-buffer-window'
 +      with actions that display *Completions* at-bottom when called
 +      from the minibuffer, or below-selected in a normal buffer.
 +      Associate `window-height' with `fit-window-to-buffer'.
 +      Let-bind `pop-up-windows' to nil.
 +
 +      * dired.el (dired-mark-pop-up): Use `with-displayed-buffer-window'
 +      instead of `with-current-buffer-window'.  (Bug#17809)
 +
 +2014-07-07  Luke Lee  <luke.yx.lee@gmail.com>
 +
 +      * progmodes/hideif.el (hide-ifdef-env): Change to global.
 +      (hide-ifdef-env-backup): New variable.
 +      (hide-ifdef-expand-reinclusion-protection, hide-ifdef-header-regexp):
 +      New customizable variables.
 +      (hif-clear-all-ifdef-defined): New defun.
 +      (hif-merge-ifdef-region, hide-ifdef-region-internal, hide-ifdef-region)
 +      (hif-show-ifdef-region): Merge hidden regions to prevent continuous "...".
 +      (hif-tokenize): Fix for MS-DOS/Win EOL style.
 +      (hif-endif-to-ifdef, hif-make-range, hif-find-range, hif-possibly-hide):
 +      Fix bug to hide the correct #elif region(s).
 +      (hif-range-elif): New defun.
 +      (hif-recurse-level): New var.
 +      (hif-evaluate-region, hif-evaluate-macro): New defun.
 +      (hide-ifdef-guts): Prevent reinclusion protected C/C++ headers from
 +      fully hidden.
 +      (hide-ifdef-define, hide-ifdefs, hide-ifdef-block, show-ifdef-block):
 +      Better interaction.
 +
 +2014-07-04  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * emacs-lisp/edebug.el (edebug-eval-defun): Print result using
 -      proper Lisp quoting (bug#17934).
 +      * net/dbus.el (dbus-peer-handler): New defun.
 +      (dbus-register-service): Register it.  (Bug#17858)
 +      (dbus-managed-objects-handler): Fix docstring.
  
 -      * progmodes/ruby-mode.el (ruby-mode-variables): Don't meddle with
 -      require-final-newline since prog-mode already took care of it (bug#17947).
 +2014-07-04  Phil Sainty  <psainty@orcon.net.nz>
  
 -2014-07-04  Stephen Berman  <stephen.berman@gmx.net>
 +      * emacs-lisp/lisp.el (narrow-to-defun-include-comments): New var.
 +      (narrow-to-defun): New arg include-comments, defaulting to it
 +      (bug#16328).
  
 -      * calendar/todo-mode.el: Fix two bugs.  Shorten Commentary and
 -      refer to the Todo mode Info manual.  Update the comment on
 -      requiring cl-lib.
 -      (todo-find-filtered-items-file): Add todo-prefix overlays.
 -      (todo-filter-items): Reorder a let-bound variable to avoid a
 -      wrong-type-argument error on canceling the file choice dialog.
 +2014-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * rect.el (rectangle--highlight-for-redisplay): Don't pass `orig' with
 +      different calling convention to rectangle--unhighlight-for-redisplay.
  
 -      * progmodes/octave.el (inferior-octave-mode):
 -      Set comint-input-ring-size to a number (bug#17912).
 +2014-07-03  Michael Albinus  <michael.albinus@gmx.de>
  
 -2014-07-03  Juri Linkov  <juri@jurta.org>
 +      * net/tramp.el (tramp-call-process): Handle error strings.
  
 -      * desktop.el (desktop-minor-mode-table): Add `defining-kbd-macro'
 -      and `isearch-mode' associated with nil.  (Bug#17849)
 +      * net/tramp-adb.el (tramp-adb-sh-fix-ls-output): Use `bolp'.
  
 -2014-07-02  Juri Linkov  <juri@jurta.org>
 +      * net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime)
 +      (tramp-sh-handle-verify-visited-file-modtime): Use `point-at-eol'.
 +
 +      * net/trampver.el: Update release number.
 +
 +2014-07-03  Juri Linkov  <juri@jurta.org>
  
        * desktop.el (desktop-save): Rename arg `auto-save' to
        `only-if-changed'.  Doc fix.  (Bug#17873)
  
 -2014-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mouse.el (mouse-yank-primary, mouse-yank-secondary):
        Use insert-for-yank (bug#17271).
  
 -2014-07-02  Leo Liu  <sdl.web@gmail.com>
 +2014-07-03  Leo Liu  <sdl.web@gmail.com>
  
        * emacs-lisp/pp.el (pp-eval-expression, pp-eval-last-sexp):
        Support lexical-binding.
  
 -2014-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * vc/log-edit.el (log-edit-goto-eoh): New function.
        (log-edit--match-first-line): Use it (bug#17861).
  
 -2014-07-01  Glenn Morris  <rgm@gnu.org>
 +2014-07-03  Glenn Morris  <rgm@gnu.org>
  
        * vc/log-edit.el (log-edit-hook): Add missing :version.
  
 -2014-07-01  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-03  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * progmodes/python.el (python-indent-post-self-insert-function):
        Enhancements to electric indentation behavior inside
        parens. (Bug#17658)
  
 -2014-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * ps-def.el (ps-generate-postscript-with-faces1): Don't mess with
        buffer-invisibility-spec (bug#17867).
  
 -2014-06-29  Andreas Schwab  <schwab@linux-m68k.org>
 +2014-07-03  Andreas Schwab  <schwab@linux-m68k.org>
  
        * vc/vc-git.el (vc-git-checkin): When operating on the whole tree
        pass "-a".
  
 -2014-06-29  Glenn Morris  <rgm@gnu.org>
 +2014-07-03  Glenn Morris  <rgm@gnu.org>
  
        * cus-edit.el (help):
        * finder.el (finder-known-keywords):
        * progmodes/idlwave.el (idlwave): Update url-link for custom group.
        (idlwave-mode): Doc URL update.
  
 -2014-06-27  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-01  Juri Linkov  <juri@jurta.org>
 +
 +      * man.el: Display man pages immediately and use process-filter
 +      to format them asynchronously.
 +      (Man-width): Doc fix.
 +      (man): Doc fix.
 +      (Man-start-calling): Use `with-selected-window' to get
 +      `frame-width' and `window-width'.
 +      (Man-getpage-in-background): Call `Man-notify-when-ready'
 +      immediately after creating a new buffer.  Call `Man-mode' and set
 +      `mode-line-process' in the created buffer.  Set process-filter to
 +      `Man-bgproc-filter' in start-process branch.  In call-process branch
 +      call either `Man-fontify-manpage' or `Man-cleanup-manpage'.
 +      Use `Man-start-calling' inside `with-current-buffer'.
 +      (Man-fontify-manpage): Don't print messages.  Fix boundary condition.
 +      (Man-cleanup-manpage): Don't print messages.
 +      (Man-bgproc-filter): New function.
 +      (Man-bgproc-sentinel): Add `save-excursion' to keep point when
 +      user moved it during asynchronous formatting.  Move calls of
 +      `Man-fontify-manpage' and `Man-cleanup-manpage' to
 +      `Man-bgproc-filter'.  Move the call of `Man-mode' to
 +      `Man-getpage-in-background'.  Use `quit-restore-window'
 +      instead of `kill-buffer'.  Use `message' instead of `error'
 +      because errors are caught by process sentinel.
 +      (Man-mode): Move calls of `Man-build-page-list',
 +      `Man-strip-page-headers', `Man-unindent', `Man-goto-page' to
 +      `Man-bgproc-sentinel'.  Doc fix.  (Bug#2588, bug#5054, bug#9084, bug#17831)
 +
 +      * man.el (Man-bgproc-sentinel): Use `Man-page-from-arguments'
 +      for the message about the man page cleaned up.
 +
 +2014-07-01  Mario Lang  <mlang@delysid.org>
 +
 +      * net/gnutls.el (gnutls-negotiate): Prevent destructive modification of
 +      cosutomization option `gnutls-verify-error'.
 +
 +2014-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * simple.el (deactivate-mark, set-mark-command, handle-shift-selection):
 +      Don't keep transient-mark-mode buffer-local when not needed (bug#6316).
 +
 +      * xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal)
 +      (turn-off-xterm-mouse-tracking-on-terminal): Don't burp if the terminal
 +      is suspended (bug#17857).
 +
 +2014-07-01  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
 +      Prefer utf-8 coding.  (Bug#17859)
 +
 +2014-06-30  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * emacs-lisp/subr-x.el (string-reverse): Define as obsolete alias
 +      for `reverse'.
 +
 +2014-06-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs-lisp/autoload.el (autoload-ensure-writable): New variable.
 +      (autoload-ensure-default-file): Maybe make existing output writable.
 +      * Makefile.in (AUTOGEN_VCS): Remove.
 +      (autoloads): Use autoload-ensure-writable rather than AUTOGEN_VCS.
 +
 +2014-06-30  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * emacs-lisp/subr-x.el (string-reverse): Use `reverse'.
 +
 +2014-06-30  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      New if-let, when-let, thread-first and thread-last macros.
 +
 +      * emacs-lisp/subr-x.el
 +      (internal--listify, internal--check-binding)
 +      (internal--build-binding-value-form, internal--build-binding)
 +      (internal--build-bindings): New functions.
 +      (internal--thread-argument, thread-first, thread-last)
 +      (if-let, when-let): New macros.
 +
 +2014-06-30  Grégoire Jadi  <daimrod@gmail.com>
 +
 +      * net/rcirc.el (rcirc-buffer-process): Restore previous
 +      behaviour.  (Bug#17772)
 +
 +2014-06-29  Alan Mackenzie  <acm@muc.de>
 +
 +      Don't call c-parse-state when c++-template-syntax-table is active.
 +      * progmodes/cc-engine.el (c-guess-continued-construct CASE G)
 +      (c-guess-basic-syntax CASE 5D.3): Rearrange so that
 +      c-syntactic-skip-backwards isn't called with the pertinent syntax table.
 +
 +2014-06-28  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-set-top-priorities): Fix logic to
        account for file-wide setting of todo-top-priorities-overrides.
        Make code a bit cleaner.
  
 -2014-06-27  Leo Liu  <sdl.web@gmail.com>
 -
 -      * calc/calc.el (math-bignum): Handle most-negative-fixnum.  (Bug#17556)
 -
 -2014-06-27  Glenn Morris  <rgm@gnu.org>
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
  
        * net/eww.el (eww-mode) <eww-current-title>: Make local.  (Bug#17860)
  
 -2014-06-26  Stephen Berman  <stephen.berman@gmx.net>
 +2014-06-28  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-prefix-overlays): If there is no
        category-wide setting of todo-top-priorities-overrides, check for
        a file-wide setting and fontify accordingly.
  
 -2014-06-26  Glenn Morris  <rgm@gnu.org>
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
  
        * subr.el (read-passwd): Warn about batch mode.  (Bug#17839)
  
 +2014-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/hideif.el: Use lexical-binding.  Fix up cl-lib usage.
 +
 +2014-06-28  K. Handa  <handa@gnu.org>
 +
 +      Fix Bug#17739.
 +
 +      * composite.el: Setup composition-function-table for dotted circle.
 +      (compose-gstring-for-dotted-circle): New function.
 +
 +      * international/characters.el: Add category "^" to all
 +      non-spacing characters.
 +
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (doit): Remove force rule.
 +      (custom-deps, finder-data, autoloads, update-subdirs)
 +      (compile-one-process): PHONY targets do not need force rules.
 +
 +      * Makefile.in (compile-main, compile, compile-always):
 +      No need to explicitly pass variables to ourself in recursive calls.
 +
 +2014-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * files.el (minibuffer-with-setup-hook): Evaluate the first arg eagerly.
 +
 +2014-06-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (update-authors): Update for moved authors.el.
 +
 +2014-06-26  Leo Liu  <sdl.web@gmail.com>
 +
 +      * skeleton.el (skeleton-end-hook): Default to nil and move the
 +      work to skeleton-insert.  (Bug#17850)
 +
 +2014-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * calc/calc-alg.el (math-beforep):
 +      * progmodes/cc-guess.el (c-guess-view-reorder-offsets-alist-in-style):
 +      Simplify because string-lessp can accept symbols as args.
 +
  2014-06-26  Daiki Ueno  <ueno@gnu.org>
  
        * emacs-lisp/package.el (package--check-signature):
        If package-check-signature is allow-unsigned, don't signal error when
        we can't verify signature because of missing public key
 -      (backport for bug#17625).
 +      (bug#17625).
  
  2014-06-26  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/authors.el (authors-valid-file-names)
        (authors-renamed-files-alist): Additions.
  
 -2014-06-25  Leo Liu  <sdl.web@gmail.com>
 +2014-06-26  Leo Liu  <sdl.web@gmail.com>
  
        * textmodes/picture.el (picture-set-tab-stops):
        * ruler-mode.el (ruler-mode-mouse-add-tab-stop)
  
        * indent.el (indent-accumulate-tab-stops): New function.
  
 -2014-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/package.el (package-list-unsigned): New var (bug#17625).
        (package-desc-status): Obey it.
  
 -2014-06-25  Stephen Berman  <stephen.berman@gmx.net>
 +2014-06-26  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Fix two bugs.
        (todo-insert-item--basic): If user cancels item insertion to
        (todo-set-item-priority): After selecting category, instead of
        moving point to top, which extends an active region, restore it.
  
 -2014-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * help-fns.el (describe-function-1): Check file-name is a string before
        calling help-fns--autoloaded-p (bug#17564).
  
 -2014-06-24  Juri Linkov  <juri@jurta.org>
 +2014-06-26  Juri Linkov  <juri@jurta.org>
  
        * desktop.el (desktop-auto-save-enable)
        (desktop-auto-save-disable): New functions.
        (desktop-read): Disable the autosave before loading the desktop,
        and enable afterwards.  (Bug#17351)
  
 -2014-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        Fix some indentation problem with \; and pipes (bug#17842).
        * progmodes/sh-script.el (sh-mode-syntax-table): Set syntax of ;|&.
        (sh-smie-rc-forward-token, sh-smie-rc-backward-token): Use them.
        (sh-smie-sh-rules): Fix indentation of a pipe at BOL.
  
 -2014-06-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-26  Glenn Morris  <rgm@gnu.org>
  
 -      * international/fontset.el (script-representative-chars):
 -      Add representative characters for scripts added in Unicode 7.0.
 -      (otf-script-alist): Synchronize with the latest registry of OTF
 -      script tags.
 +      * emacs-lisp/find-func.el (find-function-C-source-directory):
 +      Use file-accessible-directory-p.
 +
 +      * ps-samp.el: Make it slightly less awful.
 +      (ps-rmail-mode-hook, ps-gnus-article-prepare-hook, ps-vm-mode-hook):
 +      (ps-gnus-summary-setup, ps-info-mode-hook): Use [print] key.
 +      Only set local values.
 +      (ps-article-subject, ps-article-author): Use standard functions
 +      like mail-fetch-field.
 +      (ps-info-file, ps-info-node): Use match-string.
 +      (ps-jts-ps-setup, ps-jack-setup): Remove, merging into...
 +      (ps-samp-ps-setup): ... new function.
 +
 +      * progmodes/idlw-shell.el (idlwave-shell-make-temp-file):
 +      Optimize away code unneeded on any modern Emacs.
 +
 +      * emacs-lisp/authors.el: Move to ../admin.
 +
 +      * emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): New.
 +
 +2014-06-26  Luke Lee  <luke.yx.lee@gmail.com>
 +
 +      * progmodes/hideif.el (hif-string-to-number): Fix return value bug.
 +      (hif-simple-token-only, hif-tokenize): Comment in detail mainly for
 +      performance enhancements.
 +      (hif-parse-if-exp): Rename to `hif-parse-exp'.  Enhance for macro
 +      expansion.
 +      (hif-factor, hif-string-concatenation, intern-safe): Support string
 +      concatenation and argumented macro expansion.
 +      (hif-if-valid-identifier-p, hif-define-operator, hif-flatten)
 +      (hif-expand-token-list, hif-get-argument-list, hif-define-macro)
 +      (hif-delimit, hif-macro-supply-arguments, hif-invoke, hif-canonicalize)
 +      (hif-canonicalize-tokens, hif-place-macro-invocation)
 +      (hif-parse-macro-arglist): Mostly new functions for supporting
 +      argumented macro expansion.
 +      (hif-string-concatenation, hif-stringify, hif-token-concat)
 +      (hif-token-stringification, hif-token-concatenation):
 +      Stringification and concatenation.
 +      (hif-find-next-relevant): Fix comments.
 +      (hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for
 +      some cases involving #elif.
 +      (hif-find-define, hif-add-new-defines): New functions for automatically
 +      scanning of defined symbols.
 +      (hide-ifdef-guts): Fix for defined symbol auto scanning.
 +      (hide-ifdef-undef): Fix behavior to match CPP.
 +
 +2014-06-25  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in ($(lisp)/progmodes/cc-defs.elc)
 +      ($(lisp)/progmodes/cc-fonts.elc, $(lisp)/progmodes/cc-langs.elc)
 +      ($(lisp)/progmodes/cc-vars.elc): Drop hand-written deps on non-cc
 +      files.  They are not relevant to the original issue (bug#1004),
 +      and cause unnecessary recompilation (bug#2151).
  
 -      * international/characters.el (char-script-table): Update for
 -      scripts added and codepoint ranges changed in Unicode 7.0.
 +2014-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-06-23  Leo Liu  <sdl.web@gmail.com>
 +      * play/landmark.el: Use lexical-binding and avoid `intangible'.
 +      (landmark--last-pos): New var.
 +      (landmark--intangible-chars): New const.
 +      (landmark--intangible): New function.
 +      (landmark-mode, landmark-move): Use it.
 +      (landmark-mode): Remove properties.
 +      (landmark-plot-square, landmark-point-square, landmark-goto-xy)
 +      (landmark-cross-qtuple):
 +      Don't worry about `intangible' any more.
 +      (landmark-click, landmark-point-y): Same; and don't assume point-min==1.
 +      (landmark-init-display): Don't set `intangible' and `point-entered'.
 +      (square): Remove.  Inline it instead.
 +      (landmark--distance): Rename from `distance'.
 +      (landmark-calc-distance-of-robot-from): Rename from
 +      calc-distance-of-robot-from.
 +      (landmark-calc-smell-internal): Rename from calc-smell-internal.
 +
 +2014-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * files.el (dir-locals-find-file, file-relative-name):
 +      * info.el (Info-complete-menu-item):
 +      * minibuffer.el (completion-table-subvert): Prefer string-prefix-p
 +      to compare-strings to avoid out-of-range errors.
 +      * subr.el (string-prefix-p): Adjust to match strict range
 +      checking in compare-strings.
 +
 +2014-06-24  Leonard Randall  <leonard.a.randall@gmail.com>  (tiny change)
 +
 +      * 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.
 +
 +2014-06-24  Eli Barzilay  <eli@barzilay.org>
 +
 +      * calculator.el (calculator-last-input): Drop 'ascii-character property
 +      lookup.
 +
 +2014-06-24  Leo Liu  <sdl.web@gmail.com>
  
        * align.el (align-adjust-col-for-rule): Unbreak due to defaulting
        tab-stop-list to nil.  (Bug#16381)
        (indent-rigidly-right-to-tab-stop, tab-to-tab-stop)
        (move-to-tab-stop): Change callers.
  
 -2014-06-22  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-24  Eli Zaretskii  <eliz@gnu.org>
  
        * skeleton.el (skeleton-insert): Yet another fix of the doc string
        wrt behavior of \n as the first/last element of a skeleton.
  
 -2014-06-22  Michael Albinus  <michael.albinus@gmx.de>
 +2014-06-24  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-adb.el (tramp-adb-handle-process-file):
        * net/tramp-sh.el (tramp-sh-handle-process-file):
        * net/tramp-smb.el (tramp-smb-handle-process-file): Do not raise
        the output buffer when DISPLAY is non-nil.  (Bug#17815)
  
 -2014-06-21  Glenn Morris  <rgm@gnu.org>
 +2014-06-24  Glenn Morris  <rgm@gnu.org>
  
        * play/landmark.el (landmark-move-down, landmark-move-up):
        Fix 2007-10-20 change - preserve horizontal position.
  
 +2014-06-23  Sam Steingold  <sds@gnu.org>
 +
 +      * simple.el (kill-append): Remove undo boundary depending on ...
 +      (kill-append-merge-undo): New user option.
 +
 +2014-06-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * simple.el (handle-shift-selection, exchange-point-and-mark)
 +      (activate-mark): Set transient-mark-mode buffer-locally (bug#6316).
 +      (transient-mark-mode): Use&set the global value.
 +      * mouse.el (mouse-set-region-1, mouse-drag-track): Idem.
 +      * emulation/edt.el (edt-emulation-off): Save&restore the global
 +      transient-mark-mode setting.
 +      * obsolete/pc-select.el (pc-selection-mode): Use the
 +      transient-mark-mode function.
 +
 +2014-06-23  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * international/fontset.el (script-representative-chars):
 +      Add representative characters for scripts added in Unicode 7.0.
 +      (otf-script-alist): Synchronize with the latest registry of OTF
 +      script tags.
 +
 +      * international/characters.el (char-script-table): Update for
 +      scripts added and codepoint ranges changed in Unicode 7.0.
 +
 +2014-06-23  Eli Barzilay  <eli@barzilay.org>
 +
 +      * calculator.el (calculator-standard-displayer): Fix bug in use of
 +      `calculator-groupize-number'.
 +      (calculator-funcall): Fix broken `cl-flet' use by moving it into the
 +      `eval' code, so it works in v24.3.1 too.
 +      (calculator-last-input): Comment to clarify purpose.
 +
 +2014-06-22  Mario Lang  <mlang@delysid.org>
 +
 +      * textmodes/rst.el (rst-comment-region): From from -> from.
 +
 +      * net/tramp-adb.el (tramp-adb-send-command-and-check): And and -> and.
 +
 +2013-06-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * electric.el (electric-layout-post-self-insert-function):
 +      * emacs-lisp/ert.el (ert--insert-infos):
 +      * obsolete/vi.el (vi-set-mark):
 +      * term.el (term-handle-scroll):
 +      * textmodes/bibtex.el (bibtex-fill-field, bibtex-fill-entry):
 +      * wid-edit.el (widget-editable-list-value-create):
 +      Prefer point-marker to copy-marker of point.
 +
  2014-06-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        Fix completion retrieval parsing (bug#17209).
  
        * skeleton.el (skeleton-insert): Doc fix.
  
 -2014-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/smie.el (smie-config--guess): Fix typo.
        (smie-config-guess): Use smie-config-local so the rules are obeyed
        * mouse.el (mouse-drag-line): Don't re-add to unread-comment-events,
        since it's already done inside the loop (bug#17819).
  
 -2014-06-20  Martin Rudalics  <rudalics@gmx.at>
 +2014-06-21  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * mouse.el (mouse-drag-line): Re-remove code initially removed
 +      on 2013-03-09 and inadvertently reintroduced on 2013-11-30
 +      (Bug#17819).
 +
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/sh-script.el (sh-smie-sh-rules): For { after &&, don't
 +      align with the surrounding parent (bug#17721).
 +
 +2014-06-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * textmodes/texinfo.el (texinfo-mode): Set skeleton-end-newline
 +      locally to nil.
 +      (texinfo-insert-block, texinfo-insert-@end)
 +      (texinfo-insert-@example, texinfo-insert-@quotation): Adjust to
 +      local setting of skeleton-end-newline by adding an explicit \n to
 +      the skeletons where appropriate.  (Bug#17801)
 +
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/smie.el (smie--hanging-eolp-function): New var.
 +      (smie-indent--hanging-p): Use it.
 +      * progmodes/sh-script.el (sh-set-shell): Set it (bug#17621).
 +
 +2014-06-21  Leo Liu  <sdl.web@gmail.com>
 +
 +      * simple.el (read-quoted-char): Don't let help chars pop up help
 +      buffer.  (Bug#16617)
 +
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/sh-script.el (sh-smie-sh-rules): Use same rule for && as
 +      for | (bug#17621).
 +
 +      * xt-mouse.el (xterm-mouse--read-event-sequence-1000):
 +      Drop unknown events instead of burping.
 +
 +2014-06-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * term/w32-win.el (dynamic-library-alist): Support giflib 5.1.0
 +      and later.  (Bug#17790)
 +
 +2014-06-21  Juri Linkov  <juri@jurta.org>
 +
 +      * dired.el (dired-mark-pop-up): Let-bind display-buffer-mark-dedicated
 +      to `soft'.  (Bug#17554)
 +
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * delsel.el (electric-newline-and-maybe-indent): Mark it as well
 +      (bug#17737).
 +
 +2014-06-21  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * progmodes/ruby-mode.el (ruby-font-lock-keywords): Don't fontify
 +      `!' in `!~' with `font-lock-negation-char-face'.  (Bug#17732)
 +
 +2014-06-21  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/dbus.el (dbus-call-method): Push only non D-Bus events into
 +      `unread-command-events'.
 +
 +2014-06-19  William Xu  <william.xwl@gmail.com>
 +
 +      * progmodes/hideif.el (hif-string-to-number): Don't return float for
 +      hex integer constants (bug#17807).
 +
 +2014-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * international/mule-util.el (truncate-string-ellipsis): New var.
 +      (truncate-string-to-width): Use it.
 +
 +2014-06-19  Robert Brown  <robert.brown@gmail.com>  (tiny change)
 +
 +      * emacs-lisp/lisp-mode.el (lisp-string-after-doc-keyword-p): New fun.
 +      (lisp-string-in-doc-position-p): New function, extracted from
 +      lisp-font-lock-syntactic-face-function.
 +      (lisp-font-lock-syntactic-face-function): Use them (bug#9130).
 +
 +2014-06-19  Grégoire Jadi  <daimrod@gmail.com>
 +
 +      * net/rcirc.el (rcirc-omit-mode): Fix recenter error.  (Bug#17769)
 +
 +2014-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * play/bubbles.el (bubbles--initialize, bubbles--show-scores)
 +      (bubbles--game-over): Don't add `intangible' properties since they
 +      didn't work anyway.
 +
 +2014-06-18  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/ediff-init.el (ediff-current-diff-Ancestor)
 +      (ediff-fine-diff-Ancestor, ediff-even-diff-A, ediff-even-diff-B)
 +      (ediff-even-diff-C, ediff-even-diff-Ancestor, ediff-odd-diff-A)
 +      (ediff-odd-diff-B, ediff-odd-diff-C, ediff-odd-diff-Ancestor):
 +      Add `min-colors 88' version with removed black/white foregrounds.
 +      (Bug#10181)
 +
 +2014-06-18  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/diff-mode.el (diff-changed): Empty face definition to use
 +      `diff-removed' and `diff-added' on tty as well.  (Bug#10181)
 +      (diff-context): Use darker color on light background and
 +      lighter color on dark background.
 +
 +2014-06-18  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/diff-mode.el (diff-refine-changed): Rename from
 +      `diff-refine-change' for consistency with `diff-changed'.
 +      (diff-refine-change): Add obsolete face alias.  (Bug#10181)
 +
 +      * vc/smerge-mode.el (smerge-refined-changed): Rename from
 +      `smerge-refined-change'.
 +      (smerge-refined-change): Add obsolete face alias.
 +
 +2014-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * rect.el (rectangle-preview): New custom.
 +      (rectangle): New group.
 +      (rectangle--pos-cols): Add `window' argument.
 +      (rectangle--string-preview-state, rectangle--string-preview-window):
 +      New vars.
 +      (rectangle--string-flush-preview, rectangle--string-erase-preview)
 +      (rectangle--space-to, rectangle--string-preview): New functions.
 +      (string-rectangle): Use them.
 +      (rectangle--inhibit-region-highlight): New var.
 +      (rectangle--highlight-for-redisplay): Obey it.  Make sure
 +      `apply-on-region' uses the point-crutches of the right window.
 +      Use :align-to rather than multiple spaces.
 +
 +2014-06-16  Andrea Rossetti  <andrea.rossetti@gmail.com>  (tiny change)
 +
 +      * ruler-mode.el (ruler-mode-window-col)
 +      (ruler-mode-mouse-set-left-margin)
 +      (ruler-mode-mouse-set-right-margin): Fix calculation of column
 +      from mouse position (Bug#17768).
 +
 +2014-06-16  Ron Schnell  <ronnie@driver-aces.com>
 +
 +      * play/dunnet.el (dun-doassign): Fix bug where UNIX variable assignment
 +      without varname or rhs causes crash.
 +      (dun-ftp): Fix bug where blank ftp password is allowed, making it
 +      impossible to win endgame.
 +      (dun-unix-verbs): Add ssh as alias to rlogin, because nobody knows what
 +      rlogin is anymore.
 +      (dun-help): Bump version number; update contact info.
 +
 +2014-06-15  Eli Barzilay  <eli@barzilay.org>
 +
 +      * calculator.el (calculator-prompt, calculator-remove-zeros)
 +      (calculator-mode-hook, calculator-operators, calculator-stack)
 +      (calculator-mode): Tweak docstring.
 +      (calculator-user-operators): Tweak docstring, fix a bug in the last
 +      example.
 +      (calculator-displayer): `std' case has an optional boolean.
 +      (calculator-displayers): Use the new boolean to group in decimal mode.
 +      (calculator-mode-map, calculator, calculator-message)
 +      (calculator-op-arity, calculator-add-operators)
 +      (calculator-string-to-number, calculator-displayer-prev)
 +      (calculator-displayer-next, calculator-remove-zeros)
 +      (calculator-eng-display, calculator-number-to-string)
 +      (calculator-update-display, calculator-last-input)
 +      (calculator-clear-fragile, calculator-digit, calculator-decimal)
 +      (calculator-exp, calculator-saved-move, calculator-clear)
 +      (calculator-copy, calculator-put-value, calculator-help)
 +      (calculator-expt, calculator-truncate): Minor code improvements.
 +      (calculator-need-3-lines): New function pulling out code from
 +      `calculator'.
 +      (calculator-get-display): Rename from `calculator-get-prompt', and
 +      improved.
 +      (calculator-push-curnum): Rename from `calculator-curnum-value', and
 +      extended for all uses of it.  All callers changed.
 +      (calculator-groupize-number): New utility for splitting a number into
 +      groups.
 +      (calculator-standard-displayer): Improve code, new optional argument to
 +      use comma-split groups, make second argument optional too to use with
 +      'left/'right inputs.  All callers changed.
 +      (calculator-reduce-stack-once): New utility, doing the meat of what
 +      `calculator-reduce-stack' used to do, much improved (mostly using
 +      `pcase' for conciseness and clarity).
 +      (calculator-reduce-stack): Now doing just the reduction loop using
 +      `calculator-reduce-stack-once'.
 +      (calculator-funcall): Improve code, make it work in v24.3.1 too.
 +      (calculator-last-input): Improve code, remove some old cruft.
 +      (calculator-quit): Kill `calculator-buffer' in electric mode too.
 +      (calculator-integer-p): Remove.
 +      (calculator-fact): Improve code, make it work on non-integer values
 +      too (using truncated numbers).
 +
 +2014-06-15  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      Sync with Tramp 2.2.10.
 +
 +      * net/tramp.el (tramp-methods): Tweak docstring.
 +      (tramp-handle-file-accessible-directory-p): Check for
 +      `file-readable-p' instead of `file-executable-p'.
 +      (tramp-check-cached-permissions):
 +      Use `tramp-compat-file-attributes'.
 +      (tramp-call-process): Add new argument VEC.  Adapt callees in all
 +      tramp*.el files.
 +
 +      * net/tramp-adb.el (tramp-adb-handle-write-region): Improve messages.
 +      (tramp-adb-maybe-open-connection): Don't set
 +      `tramp-current-*' variables.
 +
 +      * net/tramp-cache.el (tramp-flush-file-function): Do not flush
 +      file properties of temporary buffers.
 +
 +      * net/tramp-ftp.el (top): Remove special handling for URL syntax.
 +
 +      * net/tramp-gvfs.el (tramp-gvfs-methods) <sftp>: Add.
 +      (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): `user' and `localname' could be nil.
 +      (tramp-gvfs-send-command): Simplify traces.
 +
 +      * net/tramp-sh.el (vc-handled-backends, vc-bzr-program)
 +      (vc-git-program, vc-hg-program): Declare.
 +      (tramp-methods) <sftp>: Remove.  It has never worked satisfactorily.
 +      (tramp-methods) <nc>: Add new method.
 +      (tramp-methods) <telnet>: Redirect stderr to "/dev/null".
 +      (tramp-methods) <plink, plinkx, pscp, psftp>: Improve
 +      `tramp-login-args'.
 +      (tramp-default-user-alist): Add "nc".
 +      (top): Remove completion function for "sftp".  Add completion
 +      functions for "nc" and "psftp".
 +      (tramp-do-copy-or-rename-file-out-of-band): 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-write-region): Tweak error message.
 +      (tramp-sh-handle-vc-registered): Remove backends when the remote
 +      binary does not exist.
 +      (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.
 +
 +      * 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.
 +
 +      * net/trampver.el: Update release number.
 +
 +2014-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * ses.el: Miscellaneous cleanups; use lexical-binding; avoid
 +      add-to-list.
 +      (ses-localvars): Remove ses--local-printer-list, unused.
 +      (ses--metaprogramming): New macro.  Use it to defvar variables.
 +      (ses-set-localvars): Simplify.
 +      (ses--locprn, ses-cell): Use defstruct.  Change ses-cell's
 +      property-list into an alist.
 +      (ses-locprn-get-compiled, ses-locprn-compiled-aset)
 +      (ses-locprn-get-def, ses-locprn-def-aset, ses-locprn-get-number):
 +      Remove; use defstruct accessors/setters instead.
 +      (ses-cell-formula-aset, ses-cell-printer-aset)
 +      (ses-cell-references-aset): Remove, use setf instead.
 +      (ses--alist-get): New function.
 +      (ses-cell-property): Rename from ses-cell-property-get and rewrite.
 +      Use an alist instead of a plist and don't do move-to-front since the
 +      list is always short.
 +      (ses-cell-property-get-fun, ses-cell-property-delq-fun)
 +      (ses-cell-property-set-fun, ses-cell-property-set)
 +      (ses-cell-property-pop-fun, ses-cell-property-get-handle)
 +      (ses-cell-property-handle-car, ses-cell-property-handle-setcar): Remove.
 +      (ses--letref): New macro.
 +      (ses-cell-property-pop): Rewrite.
 +      (ses--cell): Rename from ses-cell and make it into a function.
 +      Make `formula' fallback on `value' if nil.
 +      (ses--local-printer): Rename from ses-local-printer and make it into
 +      a function.
 +      (ses-set-cell): Turn it into a macro so finding the accessor from the
 +      field name is done at compile time.
 +      (ses-repair-cell-reference-all): Test presence of `sym' rather than
 +      `ref' before adding `sym' to :ses-repair-reference.
 +      (ses-calculate-cell): Use ses--letref rather than
 +      ses-cell-property-get-handle.
 +      (ses-write-cells): Use a single prin1-to-string.
 +      (ses-setter-with-undo): New function.
 +      (ses-aset-with-undo, ses-set-with-undo): Rewrite using it.
 +      (ses-unset-with-undo): Remove.
 +      (ses-load): Prefer apply' over `eval'.
 +      (ses-read-printer, ses-set-column-width): Use standard "(default
 +      foo)" format.
 +
 +2014-06-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (leim, semantic): Use `make -C' rather than `cd && make'.
 +
 +      * progmodes/cc-langs.el: Require cl-lib.  (Bug#17463)
 +      Replace delete-duplicates and mapcan by cl- versions throughout.
 +      And cl-macroexpand-all by macroexpand-all.
 +      (delete-duplicates, mapcan, cl-macroexpand-all): No need to declare.
 +
 +2014-06-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * subr.el (posn-col-row): Doc fix.  (Bug#17768)
 +
 +2014-06-15  Juri Linkov  <juri@jurta.org>
 +
 +      * bindings.el: Put `ascii-character' property on keypad keys
 +      mapped to characters.  (Bug#17759)
 +
 +2014-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/smie.el (smie-next-sexp): Fix up "other-end" info when
 +      bumping forward into a closing paren (bug#17761).
 +
 +      * term/xterm.el (xterm--version-handler): Work around for OSX
 +      Terminal.app (bug#17607).
  
 -      * mouse.el (mouse-drag-line): Re-remove code initially removed
 -      on 2013-03-09 and inadvertently reintroduced on 2013-11-30
 -      (Bug#17819).
 +2014-06-14  Ron Schnell  <ronnie@driver-aces.com>
  
 -2014-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * play/dunnet.el (dun-describe-room, dun-mode):
 +      If a lamp is in the room, you won't be eaten by a grue.
  
 -      * progmodes/sh-script.el (sh-smie-sh-rules): For { after &&, don't
 -      align with the surrounding parent (bug#17721).
 +2014-06-13  Glenn Morris  <rgm@gnu.org>
  
 -2014-06-20  Eli Zaretskii  <eliz@gnu.org>
 +      * Makefile.in ($(lisp)/cus-load.el, $(lisp)/finder-inf.el)
 +      (autoloads, $(lisp)/subdirs.el, compile-main, leim, semantic, compile)
 +      (compile-always): GNU make automatically passes
 +      command-line arguments to sub-makes.
  
 -      * textmodes/texinfo.el (texinfo-mode): Set skeleton-end-newline
 -      locally to nil.
 -      (texinfo-insert-block, texinfo-insert-@end)
 -      (texinfo-insert-@example, texinfo-insert-@quotation): Adjust to
 -      local setting of skeleton-end-newline by adding an explicit \n to
 -      the skeletons where appropriate.  (Bug#17801)
 +      * calendar/calendar.el (calendar-generate-window):
 +      Remove pointless call to font-lock-fontify-buffer.
  
 -2014-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-13  Matthias Meulien  <orontee@gmail.com>
  
 -      * emacs-lisp/smie.el (smie--hanging-eolp-function): New var.
 -      (smie-indent--hanging-p): Use it.
 -      * progmodes/sh-script.el (sh-set-shell): Set it (bug#17621).
 +      * simple.el (completion-list-mode-map): Navigate with tab and backtab
 +      (bug#17767).
  
 -2014-06-20  Leo Liu  <sdl.web@gmail.com>
 +2014-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * simple.el (read-quoted-char): Don't let help chars pop up help
 -      buffer.  (Bug#16617)
 +      * simple.el (set-mark-command): Simplify a bit.
  
 -2014-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-12  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
 -      * progmodes/sh-script.el (sh-smie-sh-rules): Use same rule for && as
 -      for | (bug#17621).
 +      * help.el (help--key-binding-keymap): New function.
 +      (help--binding-locus): New function.
 +      (describe-key): Mention the keymap in which the binding was
 +      found. (bug#13948)
  
 -2014-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xt-mouse.el (xterm-mouse-translate-1): Fix last change (bug#17776).
 -      (xterm-mouse--read-event-sequence-1000): Drop unknown events instead of
 -      burping.
 +      * hippie-exp.el (he--all-buffers): New function.
 +      (try-expand-line-all-buffers, try-expand-list-all-buffers)
 +      (try-expand-dabbrev-all-buffers): Use it.
  
 -2014-06-18  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-12  Emilio C. Lopes  <eclig@gmx.net>
  
 -      * term/w32-win.el (dynamic-library-alist): Support giflib 5.1.0
 -      and later.  (Bug#17790)
 +      * hippie-exp.el (try-expand-line-all-buffers)
 +      (try-expand-list-all-buffers, try-expand-dabbrev-all-buffers):
 +      Read hippie-expand-only-buffers and hippie-expand-ignore-buffers in the
 +      original buffer, in case they're buffer-local.
  
 -2014-06-18  Juri Linkov  <juri@jurta.org>
 +2014-06-12  Vincent Belaïche  <vincentb1@users.sourceforge.net>
  
 -      * dired.el (dired-mark-pop-up): Let-bind display-buffer-mark-dedicated
 -      to `soft'.  (Bug#17554)
 +      * ses.el (ses-initial-global-parameters-re): New defconst, a
 +      specific regexp is needed now that ses.el can handle both
 +      file-format 2 --- ie. no local printers --- and 3 --- i.e. may have
 +      local printers.
 +      (ses-localvars): Add local variables needed for local printer handling.
 +      (ses-set-localvars): Handle hashmap initialisation.
 +      (ses-paramlines-plist): Add param-line for number of local printers.
 +      (ses-paramfmt-plist): New defconst, needed for code factorization
 +      between functions `ses-set-parameter' and
 +      `ses-file-format-extend-paramter-list'
 +      (ses-make-local-printer-info): New defsubst.
 +      (ses-locprn-get-compiled, ses-locprn-compiled-aset)
 +      (ses-locprn-get-def, ses-locprn-def-aset, ses-locprn-get-number)
 +      (ses-cell-printer-aset): New defmacro.
 +      (ses-local-printer-compile): New defun.
 +      (ses-local-printer): New defmacro.
 +      (ses-printer-validate, ses-call-printer): Add support for local
 +      printer functions.
 +      (ses-file-format-extend-paramter-list): New defun.
 +      (ses-set-parameter): Use const `ses-paramfmt-plist' for code
 +      factorization.
 +      (ses-load): Add support for local printer functions.
 +      (ses-read-printer): Update docstring and add support for local printer
 +      functions.
 +      (ses-refresh-local-printer, ses-define-local-printer): New defun.
 +      (ses-safe-printer): Add support for local printer functions.
  
 -2014-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-12  Ivan Andrus  <darthandrus@gmail.com>
  
 -      * delsel.el (electric-newline-and-maybe-indent): Mark it as well
 -      (bug#17737).
 +      * ffap.el (ffap-lax-url): New var (bug#17723).
 +      (ffap-url-at-point): Use it.
 +      (ffap-file-at-point): Avoid returning just "/".
  
 -2014-06-16  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-06-12  Matthias Meulien  <orontee@gmail.com>
  
 -      * progmodes/ruby-mode.el (ruby-font-lock-keywords): Don't fontify
 -      `!' in `!~' with `font-lock-negation-char-face'.  (Bug#17732)
 +      * progmodes/python.el (import skeleton): New skeleton (bug#17672).
 +      (python-mode-map): Bind it.
  
 -2014-06-15  Michael Albinus  <michael.albinus@gmx.de>
 +      * progmodes/python.el (class skeleton): Don't erase last char of class
 +      name (bug#17683).
  
 -      * net/dbus.el (dbus-call-method): Push only non D-Bus events into
 -      `unread-command-events'.
 +2014-06-12  Cameron Desautels  <camdez@gmail.com>  (tiny change)
  
 -2014-06-14  Glenn Morris  <rgm@gnu.org>
 +      * help.el (where-is): Use `default' arg of completing-read (bug#17705).
  
 -      * progmodes/cc-langs.el: Require cl-lib.  (Bug#17463)
 -      Replace delete-duplicates and mapcan by cl- versions throughout.
 -      And cl-macroexpand-all by macroexpand-all.
 -      (delete-duplicates, mapcan, cl-macroexpand-all): No need to declare.
 +2014-06-12  Kevin Ryde  <user42_kevin@yahoo.com.au>
  
 -2014-06-14  Eli Zaretskii  <eliz@gnu.org>
 +      * files.el (auto-mode-alist): Map .ad files to xdefaults-mode
 +      (bug#17745).
  
 -      * subr.el (posn-col-row): Doc fix.  (Bug#17768)
 +2014-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-06-14  Juri Linkov  <juri@jurta.org>
 +      * international/mule-cmds.el: Use lexical-binding.
 +      (ucs-names): Simplify.
  
 -      * bindings.el: Put `ascii-character' property on keypad keys
 -      mapped to characters.  (Bug#17759)
 +2014-05-18  Eric Hanchrow  <eric.hanchrow@gmail.com>
  
 -2014-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * progmodes/python.el (run-python): Use read-shell-command.
  
 -      * emacs-lisp/smie.el (smie-next-sexp): Fix up "other-end" info when
 -      bumping forward into a closing paren (bug#17761).
 +2014-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * term/xterm.el (xterm--version-handler): Work around for OSX
 -      Terminal.app (bug#17607).
 +      * rect.el: Make it possible to move bounds past EOL or into TABs.
 +      (operate-on-rectangle): Use apply-on-rectangle.
 +      (rectangle--mark-crutches): New var.
 +      (rectangle--pos-cols, rectangle--col-pos, rectangle--point-col)
 +      (rectangle--crutches, rectangle--reset-crutches): New functions.
 +      (apply-on-rectangle): Obey crutches.  Avoid setq.
 +      Fix missing final iteration if end is at EOB&BOL.
 +      (rectangle-mark-mode-map): Add remap bindings for
 +      exchange-point-and-mark and char/line movements.
 +      (rectangle--*-char): New function.
 +      (rectangle-exchange-point-and-mark, rectangle-right-char)
 +      (rectangle-left-char, rectangle-forward-char)
 +      (rectangle-backward-char, rectangle-next-line)
 +      (rectangle-previous-line): New commands.
 +      (rectangle--place-cursor): New function.
 +      (rectangle--highlight-for-redisplay): Use it.  Use apply-on-rectangle.
  
  2014-06-08  Glenn Morris  <rgm@gnu.org>
  
        * bookmark.el (bookmark-load):
        * uniquify.el (uniquify-buffer-name-style): Doc fixes.
  
 -2014-06-06  Juri Linkov  <juri@jurta.org>
 +2014-06-08  Juri Linkov  <juri@jurta.org>
  
        * desktop.el: Activate auto-saving on window configuration changes.
        (desktop-save-mode, desktop-auto-save-timeout): Add/remove
 -      `desktop-auto-save-set-timer' to/from `window-configuration-change-hook'.
 +      `desktop-auto-save-set-timer' to/from
 +      `window-configuration-change-hook'.
        (desktop-auto-save-set-timer): Change REPEAT arg of
        `run-with-idle-timer' from t to nil.
        http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00147.html
  
 -2014-06-06  Santiago Payà i Miralta  <santiagopim@gmail.com>
 +2014-06-08  Santiago Payà i Miralta  <santiagopim@gmail.com>
  
        * vc/vc-hg.el (vc-hg-working-revision): Use "hg parent" and
        vc-hg-command (bug#17570).
  
 -2014-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * international/mule-cmds.el (ucs-names): Add special entry for BEL
        (bug#17702).
  
 -2014-06-06  Glenn Morris  <rgm@gnu.org>
 +2014-06-08  Glenn Morris  <rgm@gnu.org>
  
        * startup.el (window-setup-hook): Doc fix.
  
 -2014-06-05  Glenn Morris  <rgm@gnu.org>
 -
        * emacs-lisp/package.el (package-check-signature)
        (package-unsigned-archives): Doc fixes.
  
 -2014-06-03  Martin Rudalics  <rudalics@gmx.at>
 +2014-06-08  Martin Rudalics  <rudalics@gmx.at>
  
        * window.el (display-buffer-use-some-window): Don't make window
        used smaller than it was before (Bug#17671).
  
 -2014-06-03  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-08  Eli Zaretskii  <eliz@gnu.org>
  
        * menu-bar.el (menu-bar-open): Fix last change: use the PC
        'redisplay' instead of '(sit-for 0)'.
  
 -2014-06-03  Michael Albinus  <michael.albinus@gmx.de>
 +2014-06-08  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * net/tramp.el (tramp-ssh-controlmaster-options): Improve search
 -      regexp.  (Bug#17653)
 +      * net/tramp.el (tramp-ssh-controlmaster-options):
 +      Improve search regexp.  (Bug#17653)
  
 -2014-06-03  Glenn Morris  <rgm@gnu.org>
 +2014-06-08  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/package.el (package-pinned-packages): Doc fix.
  
 -2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-08  Eli Zaretskii  <eliz@gnu.org>
  
        * menu-bar.el (menu-bar-open): Fix invocation via M-x.
  
 -2014-06-01  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-06  Santiago Payà i Miralta  <santiagopim@gmail.com>
 +
 +      * vc/vc-hg.el (vc-hg-create-tag, vc-hg-retrieve-tag): New functions
 +      (bug#17586).
 +
 +      * vc/vc-hg.el (vc-hg-log-graph): New var.
 +      (vc-hg-print-log): Use it.
 +      (vc-hg-root-log-format): Include branch name and bookmarks; ignore
 +      graph output (bug#17515).
 +
 +2014-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * mouse.el (mouse-posn-property): Ignore buffer position info when the
 +      even happened elsewhere.
 +
 +2014-06-06  Mario Lang  <mlang@delysid.org>
 +
 +      * emacs-lisp/tabulated-list.el (tabulated-list-print): Only call
 +      `recenter' if `current-buffer' is equal to `window-buffer'.
 +
 +2014-06-05  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/cl-macs.el (cl-macrolet): Avoid excessive progn's.
 +
 +2014-06-05  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * textmodes/tildify.el (tildify-foreach-region-outside-env):
 +      New function which calls a callback on portions of the buffer that are
 +      outside of ignored environments.
 +      (tildify-build-regexp): Remove function since it is now
 +      incorporated in `tildify-foreach-region-outside-env' where it is
 +      optimized and simplified by the use of `mapconcat'.
 +      (tildify-tildify): Return number of substitutions made so that…
 +      (tildify-count): …can be removed.
 +      (tildify-find-env): Accept a new PAIRS argument which was
 +      previously looked up in `tildify-ignored-environments-alist' each
 +      time the function was called.  With this change, the lookup is
 +      performed only once in `tildify-foreach-region-outside-env'.
 +      (tildify-region): Greatly simplify the function since now most of
 +      the work is done by `tildify-foreach-region-outside-env'.
 +      (tildify-mode-alist): Simplify slightly by avoiding if and setq
 +      and instead using or.
 +
 +      * textmodes/tildify.el (tildify-ignored-environments-alist):
 +      Optimize environments regexes
 +
 +      Each time beginning of an environment to ignore is found,
 +      `tildify-find-env' needs to identify regexp for the ending
 +      of the environment.  This is done by trying all the opening
 +      regexes on matched text in a loop, so to speed that up, this
 +      loop should have fewer things to match, which can be done by
 +      using alternatives in the opening regexes.
 +
 +      Coincidentally, this should make matching of the opening
 +      regexp faster as well thanks to the use of `regexp-opt' and
 +      having common prefix pulled from many regexes.
 +
 +      * textmodes/tildify.el (tildify-string-alist)
 +      (tildify-ignored-environments-alist): Add `nxml-mode' to the list
 +      of supported modes since `xml-mode' is no longer a thing but just
 +      an alias to the former.  Also include comments and insides of tags
 +      in `tildify-ignored-environments-alist' for XML modes.  Finally,
 +      since XML does not define “&nbsp;”[1], use a numeric reference for
 +      a no-break space (namely “&#160;”)
 +
 +      [1] XML specification defines only a handful of predefined entities.
 +          The list is at <http://www.w3.org/TR/REC-xml/#sec-predefined-ent>
 +          and includes only &lt;, &gt;, &amp;, &apos; and &quot; (meaning <,
 +          >, &, ' and " respectively).  This is in contrast to HTML and even
 +          XHTML which defined a whole bunch of entities including “&nbsp;”.
 +
 +      * textmodes/tildify.el (tildify-pattern-alist)
 +      (tildify-string-alist, tildify-ignored-environments-alist):
 +      Improve defcustom's types by adding more tags explaining what each
 +      value means and replace “sexp” used in
 +      `tildify-ignored-environments-alist' with a full type declaration.
 +
 +      * textmodes/tildify.el (tildify-find-env): Fix matched group
 +      indexes in end-regex building
 +
 +      When looking for a start of an ignore-environment, the regex is built
 +      by concatenating regexes of all the environments configured in
 +      `tildify-ignored-environments-alist'.  So for example, the following
 +      list could be used to match TeX's \verb and \verb* commands:
 +
 +          (("\\\\verb\\(.\\)" . (1))
 +           ("\\\\verb\\*\\(.\\)" . (1)))
 +
 +      This would result in the following regex being used to find the start
 +      of any of the variants of the \verb command:
 +
 +          \\\\verb\\(.\\)\\|\\\\verb\\*\\(.\\)
 +
 +      But now, if “\\\\verb\\*\\(.\\)” matches, the first capture group
 +      won't match anything, and thus (match-string 1) will be nil, which
 +      will cause building of the end-matching regex to fail.
 +
 +      Fix this by using capture groups from the time when the opening
 +      regexes are matched individually.
 +
 +      * textmodes/tildify.el (tildify-find-env): Fix end-regex building
 +      in `tildify-find-env'
 +
 +      The `tildify-ignored-environments-alist' allows the end-regex to
 +      be provided not as a static string but mix of strings and indexes
 +      of groups matched the begin-regex.  For example, the “\verb!…!”
 +      TeX-command (where “!” is an arbitrary character) is handled
 +      using:
 +
 +          ("\\\\verb\\*?\\(.\\)" . (1))
 +
 +      In the same way, the following should be supported as well:
 +
 +          ("open-\\(.\\)" . ("end-" 1))
 +
 +      However the tildify-find-env function fails at
 +
 +          (concat result
 +                  (if (stringp (setq aux (car expression)))
 +                       expression  ; BUG: expression is a list
 +                     (regexp-quote (match-string aux))))
 +
 +      where the string part is handled incorrectly.
 +
 +      The most trivial fix would be to replace `expression' in the
 +      true-part of the if-statement with `aux', but instead, this commit
 +      optimizes `tildify-find-env' by changing it to use `mapconcat'
 +      rather than open-coded while-loop.
 +
 +2014-06-05  Mario Lang  <mlang@delysid.org>
 +
 +      * woman.el (woman-mapcan): Remove.
 +      (woman-parse-colon-path): Use cl-mapcan instead.
 +
 +2014-06-03  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
 +
 +      * register.el: Add link to Emacs manual in Commentary.
 +
 +2014-06-02  Sam Steingold  <sds@gnu.org>
 +
 +      * menu-bar.el (lookup-key-ignore-too-long): Extract from...
 +      (popup-menu): ...here.
 +      (menu-bar-open): Use it to avoid an error when `lookup-key'
 +      returns a number.
 +
 +2014-06-02  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp.el (tramp-call-process): Add traces.
 +      (tramp-handle-unhandled-file-name-directory): Return "/".
 +
 +2014-06-02  Wilson Snyder  <wsnyder@wsnyder.org>
 +
 +      Sync with upstream verilog-mode revision 3cd8144.
 +      * progmodes/verilog-mode.el (verilog-mode-version): Bump.
 +      (verilog-auto-arg-format): New option, to support newlines in AUTOARG.
 +      (verilog-type-font-keywords): Add nor.
 +      (verilog-batch-execute-func): Force reading of Local Variables.
 +      Fix printing "no changes to be saved" with verilog-batch.
 +      (verilog-auto-arg-ports): Doc fix.
 +      Add verilog-auto-arg-format to support newlines in AUTOARG.
 +      (verilog-auto-arg): Doc fix.
 +
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * emulation/crisp.el, emulation/tpu-edt.el, emulation/tpu-extras.el:
 +      * emulation/tpu-mapper.el, emulation/vi.el, emulation/vip.el:
 +      * emulation/ws-mode.el: Move to obsolete/.
 +      * Makefile.in (AUTOGEN_VCS): Update for moved tpu-edu.el.
 +
 +2014-06-02  Eli Zaretskii  <eliz@gnu.org>
  
        * simple.el (keyboard-quit): Force update of mode lines, to remove
        the "Def" indicator, if we were defining a macro.  (Bug#17615)
  
 -2014-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * minibuffer.el (minibuffer-force-complete-and-exit):
        Obey minibuffer-default (bug#17545).
        * progmodes/js.el (js-indent-line): Don't mix columns and chars
        (bug#17619).
  
 -2014-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
        * subr.el (set-transient-map): Don't wait for some "nested"
        transient-map to finish if we're only supposed to be active for
        the next command (bug#17642).
  
 -2014-05-31  Leo Liu  <sdl.web@gmail.com>
 +2014-06-02  Leo Liu  <sdl.web@gmail.com>
  
        * emacs-lisp/gv.el (window-buffer, window-display-table)
        (window-dedicated-p, window-hscroll, window-point, window-start):
        Fix gv-expander.  (Bug#17630)
  
 -2014-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mouse.el (mouse-posn-property): Ignore posn-point for mode-line
        clicks (bug#17633).
        for the single comma, since ", " is *very* common in normal French text
        (bug#17643).
  
 -2014-05-30  Glenn Morris  <rgm@gnu.org>
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/package.el (package-check-signature)
        (package-unsigned-archives): Fix :version.
  
 -2014-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * subr.el (sit-for): Don't run input-methods (bug#15614).
  
 -2014-05-28  Glenn Morris  <rgm@gnu.org>
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
  
        * cus-start.el: Fix some :version numbers.
  
 -2014-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * simple.el (deactivate-mark): Set mark-active to nil even if
        deactivation is done via setting transient-mark-mode to nil,
        * emacs-lisp/byte-opt.el (byte-optimize-binary-predicate): Don't assume
        there can't be more than 2 arguments (bug#17584).
  
 -2014-05-27  Glenn Morris  <rgm@gnu.org>
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
  
        * simple.el (filter-buffer-substring-functions)
        (filter-buffer-substring-function, buffer-substring-filters)
        * abbrev.el (abbrev-expand-functions, abbrev-expand-function)
        (expand-abbrev, abbrev--default-expand): Doc fixes.
  
 -2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
  
        Include sources used to create macuvs.h.
        * international/README: Refer to the Unicode Terms of Use rather
        than copying it bodily here, as that simplifies maintenance.
  
 -2014-05-25  Andreas Schwab  <schwab@linux-m68k.org>
 +2014-06-01  Glenn Morris  <rgm@gnu.org>
 +
 +      * loadup.el (load-prefer-newer): Set non-nil when dumping.  (Bug#17629)
 +
 +2014-05-31  Glenn Morris  <rgm@gnu.org>
 +
 +      * files.el (locate-dominating-file): Expand file argument.  (Bug#17641)
 +
 +2014-05-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * loadup.el: Treat `command-line-args' more flexibly.
 +
 +2014-05-30  Alan Mackenzie  <acm@muc.de>
 +
 +      Guard (looking-at "\\s!") from XEmacs.
 +      * progmodes/cc-engine.el (c-state-pp-to-literal): Add guard form.
 +
 +2014-05-30    Ken Olum  <kdo@cosmos.phy.tufts.edu>
 +
 +      * mail/rmail.el (rmail-delete-forward, rmail-delete-backward):
 +      The argument COUNT is now optional, to be more backward-compatible.
 +      Doc fix.  (Bug#17560)
 +
 +2014-05-29  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * whitespace.el (whitespace-report-region):
 +      Simplify documentation.
 +      (whitespace-report-region): Allow report-if-bogus to take the
 +      value `never', for non-interactive use.
 +      (whitespace-report): Refer to whitespace-report-region's
 +      documentation.
 +
 +2014-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * whitespace.el: Use font-lock-flush.  Minimize refontifications.
 +      Side benefit: it works without jit-lock.
 +      (whitespace-point--used): New buffer-local var.
 +      (whitespace-color-on): Initialize it and flush it.  Use font-lock-flush.
 +      (whitespace-color-off): Use font-lock-flush.
 +      (whitespace-point--used, whitespace-point--flush-used): New functions.
 +      (whitespace-trailing-regexp, whitespace-empty-at-bob-regexp)
 +      (whitespace-empty-at-eob-regexp): Use them.
 +      (whitespace-post-command-hook): Rewrite.
 +
 +      * font-lock.el (font-lock-flush, font-lock-ensure): New functions.
 +      (font-lock-fontify-buffer): Mark interactive-only.
 +      (font-lock-multiline, font-lock-fontified, font-lock-set-defaults):
 +      Make buffer-local.
 +      (font-lock-specified-p): Remove redundant boundp check.
 +      (font-lock-flush-function, font-lock-ensure-function): New vars.
 +      (font-lock-turn-on-thing-lock): Set them.
 +      (font-lock-default-fontify-buffer): Obey font-lock-dont-widen.
 +      (font-lock-after-change-function): Make `old-len' optional.
 +      (font-lock-set-defaults): Remove redundant `set' of font-lock-defaults.
 +      Call font-lock-flush, just in case.
 +      * progmodes/verilog-mode.el (verilog-preprocess): Disable workaround in
 +      recent Emacsen.
 +      * progmodes/vera-mode.el (vera-fontify-buffer): Declare obsolete.
 +      (vera-mode-map, vera-mode-menu): Remove bindings to it.
 +      * progmodes/idlw-help.el (idlwave-help-fontify): Use font-lock-ensure
 +      and with-syntax-table.
 +      * textmodes/conf-mode.el (conf-quote-normal):
 +      * progmodes/sh-script.el (sh-set-shell):
 +      * progmodes/prog-mode.el (prettify-symbols-mode):
 +      * progmodes/f90.el (f90-font-lock-n):
 +      * progmodes/cwarn.el (cwarn-mode):
 +      * nxml/nxml-mode.el (nxml-toggle-char-ref-extra-display):
 +      * progmodes/compile.el (compilation-setup, compilation--unsetup):
 +      * hi-lock.el (hi-lock-mode, hi-lock-unface-buffer)
 +      (hi-lock-set-pattern, hi-lock-set-file-patterns): Use font-lock-flush.
 +      * mail/rmail.el (rmail-variables): Set font-lock-dont-widen instead of
 +      font-lock-fontify-buffer-function and
 +      font-lock-unfontify-buffer-function.
 +      (rmail-unfontify-buffer-function, rmail-fontify-message):
 +      Use with-silent-modifications.
 +      * htmlfontify.el (hfy-force-fontification): Use jit-lock-fontify-now
 +      and font-lock-ensure.
 +      * bs.el (bs-show-in-buffer): Use font-lock-ensure.
 +
 +2014-05-28  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      * emacs-lisp/package.el (package-generate-autoloads):
 +      Inhibit backup files.
 +
 +2014-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/hideshow.el (hs-hide-all): Call syntax-propertize
 +      (bug#17608).
 +
 +2014-05-21  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * textmodes/tildify.el (tildify-buffer, tildify-region):
 +      Add dont-ask option.
 +
 +2014-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (zerop): Move from C.  Add compiler-macro (bug#17475).
 +      * emacs-lisp/byte-opt.el (byte-optimize-zerop): Remove.
 +
 +      * subr.el (internal--funcall-interactively): New.
 +      (internal--call-interactively): Remove.
 +      (called-interactively-p): Detect funcall-interactively instead of
 +      call-interactively.
 +      * simple.el (repeat-complex-command): Use funcall-interactively.
 +      (repeat-complex-command--called-interactively-skip): Remove.
 +
 +2014-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * register.el (register-read-with-preview): Don't burp on
 +      frame switches (e.g. due to the frame we just popped).
 +
 +      * mouse.el (mouse-set-region): Handle spurious drag events (bug#17562).
 +      (mouse-drag-track): Annotate `mouse-drag-start' so we know we moved.
 +
 +2014-05-26  Andreas Schwab  <schwab@linux-m68k.org>
  
        * cus-face.el (custom-face-attributes): Add :distant-foreground.
  
 -2014-05-25  Martin Rudalics  <rudalics@gmx.at>
 +2014-05-26  Martin Rudalics  <rudalics@gmx.at>
  
 -      * window.el (window--dump-frame): Remove interactive
 -      specification.
 +      * window.el (window--dump-frame): Remove interactive specification.
  
 -2014-05-23  Glenn Morris  <rgm@gnu.org>
 +2014-05-26  Glenn Morris  <rgm@gnu.org>
  
        * hippie-exp.el (he-line-search-regexp):
        Handle comint-prompt-regexp containing subgroups.  (Bug#17529)
  
 -2014-05-23  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-26  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Remove dependence on auto-mode-alist,
        to avoid errors when trying to create or visit a file foo.todo
        (auto-mode-alist): Remove add-to-list calls making Todo file
        extensions unrestrictedly tied to Todo modes.
  
 -2014-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/nadvice.el (advice--member-p): Change second arg.
        (advice-function-member-p): Tell it to check both names and functions
        (bug#17531).
        (advice--add-function): Adjust call accordingly.
  
 -2014-05-23  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-26  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Miscellaneous bug fixes.
        (todo-delete-file): When deleting an archive but not its todo
        (todo-reset-highlight-item): Also reset in filtered items files.
        Fix incorrect variable reference in document string.
  
 -2014-05-22  Glenn Morris  <rgm@gnu.org>
 +2014-05-26  Glenn Morris  <rgm@gnu.org>
  
        * window.el (window--dump-frame): Avoid error in --without-x builds.
  
 -2014-05-21  Glenn Morris  <rgm@gnu.org>
 +2014-05-26  Glenn Morris  <rgm@gnu.org>
  
        * nxml/nxml-mode.el (xml-mode): Only define this alias once.
  
 -2014-05-21  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * frame.el (set-frame-font): Doc fix.
  
        * menu-bar.el (menu-set-font): Doc fix.  (Bug#17532)
  
 -2014-05-21  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-05-26  Dmitry Gutov  <dgutov@yandex.ru>
  
        * emacs-lisp/package.el (package--download-one-archive):
        Use `write-region' instead of `save-buffer' to avoid running various
        (describe-package-1): Same.  Insert newline at the end of the
        buffer if appropriate.
  
 -2014-05-20  Juri Linkov  <juri@jurta.org>
 +2014-05-26  Juri Linkov  <juri@jurta.org>
  
        * avoid.el (mouse-avoidance-set-mouse-position): Don't raise frame.
        (mouse-avoidance-ignore-p): Remove `switch-frame', add `focus-out'.
        * avoid.el (mouse-avoidance-banish-position): Fix defcustom :options
        to allow changing its value with `set-variable'.
  
 -2014-05-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/scheme.el (scheme-mode-syntax-table): Remove hack for
        #; comments.
  
        * emacs-lisp/lisp.el (end-of-defun): Ensure we move (bug#17274).
  
 -2014-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
        * emacs-lisp/timer.el (timer-event-handler): Don't run if canceled
        (bug#17392).
  
 -2014-05-17  Michael Albinus  <michael.albinus@gmx.de>
 +2014-05-26  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-find-inline-encoding): Do not match "%%t"
        for a temporary file name.
  
 -2014-05-17  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * simple.el (line-move-ignore-invisible): Doc fix.  (Bug#17511)
  
 -2014-05-16  Michael Albinus  <michael.albinus@gmx.de>
 +2014-05-26  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/dbus.el (dbus-init-bus, dbus-call-method)
        (dbus-call-method-asynchronously, dbus-send-signal)
        (dbus-method-return-internal, dbus-method-error-internal):
        Check, whether Emacs has been compiled with D-Bus support.  (Bug#17508)
  
 -2014-05-14  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
 +2014-05-26  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
        * emacs-lisp/eieio-opt.el (eieio-help-class): Correctly deal with
        methods which do not have a doc string.  (Bug#17490)
  
 +2014-05-25  Tassilo Horn  <tsdh@gnu.org>
 +
 +      * textmodes/reftex-ref.el (reftex-format-special): Make it work
 +      also for AMS Math's \eqref macro.
 +
 +2014-05-25  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Arrange to never byte-compile the generated -pkg.el file.
 +
 +      * emacs-lisp/package.el (package-generate-description-file):
 +      Output first-line comment to set buffer-local var `no-byte-compile'.
 +      Suggested by Dmitry Gutov:
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00401.html>.
 +
 +2014-05-25  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Fix bug: Properly quote args to generated -pkg.el `define-package'.
 +
 +      * emacs-lisp/package.el (package-generate-description-file):
 +      Inline `package--alist-to-plist'; rewrite to selectively
 +      quote alist values that are not self-quoting.
 +      (package--alist-to-plist): Delete func.
 +
 +2014-05-25  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * term/xterm.el (xterm-function-map): Add mapping for shifted
 +      keypad keys.
 +
 +2014-05-24  Daniel Colascione  <dancol@dancol.org>
 +
 +      * progmodes/subword.el (subword-find-word-boundary): Move point to
 +      correct spot before search. (Bug#17580)
 +
 +      * emacs-lisp/nadvice.el (defun): Write in eval-and-compile to avoid
 +      breaking the build.
 +
 +2014-05-24  Leo Liu  <sdl.web@gmail.com>
 +
 +      * calc/calc.el (math-bignum): Handle most-negative-fixnum.  (Bug#17556)
 +
 +2014-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * minibuffer.el (completion--sreverse): Remove.
 +      (completion--common-suffix): Use `reverse' instead.
 +      * emacs-lisp/regexp-opt.el (regexp-opt-group): Use `reverse' on strings.
 +
 +2014-05-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * shell.el (shell-mode) <shell-dirstack-query>: Bypass bash aliases.
 +
 +2014-05-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * files.el (interpreter-mode-alist): Add mksh.
 +
 +      * progmodes/sh-script.el (sh-ancestor-alist): Add mksh, a pdksh
 +      derivative.
 +      (sh-alias-alist): Alias /system/bin/sh (Android's system shell) to
 +      mksh. Improve custom spec; allow regular expressions.
 +      (sh-shell): Delegate name splitting to `sh-canonicalize-shell'.
 +      (sh-after-hack-local-variables): New function.
 +      (sh-mode): Use it; respect file-local `sh-shell' variable. (bug#17333)
 +      (sh-set-shell): Use `sh-canonicalize-shell' instead of open-coding
 +      the normalization.
 +      (sh-canonicalize-shell): Rewrite to support regexes.
 +
 +2014-05-21  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/cl-lib.el (cl-endp): Fix last change.
 +
 +2014-05-19  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/cl-lib.el (cl-endp): Conform to CL's semantics.
 +
 +2014-05-18  Glenn Morris  <rgm@gnu.org>
 +
 +      * loadup.el:
 +      * play/gametree.el: `track-mouse' is always defined since 2012-11-24.
 +
 +2014-05-14  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/python.el (python-shell-get-or-create-process):
 +      Do not bind `current-prefix-arg' so that C-c C-z does not talk
 +      back unless requested.
 +
 +2014-05-14  Glenn Morris  <rgm@gnu.org>
 +
 +      * subr.el (with-file-modes): New macro.
 +      * printing.el (pr-save-file-modes): Make obsolete.
 +      * eshell/esh-util.el (eshell-with-file-modes): Make obsolete.
 +      * emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
 +      Add with-file-modes.
 +      * doc-view.el (doc-view-make-safe-dir):
 +      * epg.el (epg--start):
 +      * files.el (locate-user-emacs-file, make-temp-file)
 +      (backup-buffer-copy, move-file-to-trash):
 +      * printing.el (pr-despool-print, pr-call-process, pr-text2ps):
 +      * eshell/esh-util.el (eshell-with-private-file-modes)
 +      (eshell-make-private-directory):
 +      * net/browse-url.el (browse-url-mosaic):
 +      * obsolete/mailpost.el (post-mail-send-it):
 +      * obsolete/pgg-pgp.el (pgg-pgp-verify-region):
 +      * obsolete/pgg-pgp5.el (pgg-pgp5-verify-region):
 +      Use with-file-modes.
 +
 +      * vc/emerge.el (emerge-make-temp-file): Simplify.
 +
  2014-05-14  Stephen Berman <stephen.berman@gmx.net>
              Stefan Monnier  <monnier@iro.umontreal.ca>
  
        Make pointless option obsolete.
        (emerge-temp-file-mode): Make non-functional option obsolete.
  
 -2014-05-13  Michael Albinus  <michael.albinus@gmx.de>
 +2014-05-14  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/browse-url.el (browse-url):
        Use `unhandled-file-name-directory' when setting `default-directory',
        in order to circumvent stalled remote connections.  (Bug#17425)
  
 +2014-05-14  Glenn Morris  <rgm@gnu.org>
 +
 +      * printing.el (subst-char-in-string, make-temp-file, pr-get-symbol):
 +      Optimize on Emacs, which has the relevant functions for ages.
 +
 +2014-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * simple.el (undo-make-selective-list): Obey undo-no-redo.
 +
 +2014-05-12  Sam Steingold  <sds@gnu.org>
 +
 +      * calendar/time-date.el (seconds-to-string): New function to
 +      pretty print time delay in seconds.
 +
  2014-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 +      * mpc.el (mpc-format): Trim Date to the year.
 +      (mpc-songs-hashcons): Shorten the Date field.
 +
        * emacs-lisp/nadvice.el (advice--interactive-form): Don't get fooled
        into autoloading just because of a silly indirection.
  
  
        * vc/vc-hg.el (vc-hg-unregister): New function.  (Bug#17454)
  
 -2014-05-11  Glenn Morris  <rgm@gnu.org>
 +2014-05-12  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/find-gc.el: Move to ../admin.
  
 -2014-05-10  Glenn Morris  <rgm@gnu.org>
 -
        * printing.el (pr-version):
        * ps-print.el (ps-print-version): Also mention bug-gnu-emacs.
  
        * net/browse-url.el (browse-url-mosaic):
        Create /tmp/Mosaic.PID as a private file.
  
 -2014-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/nadvice.el: Support adding a given function multiple times.
        (advice--member-p): If name is given, only compare the name.
        (advice--add-function): Pass the name, if any, to
        advice--remove-function.
  
 -2014-05-09  Philipp Rumpf  <prumpf@gmail.com>  (tiny change)
 +2014-05-12  Philipp Rumpf  <prumpf@gmail.com>  (tiny change)
  
        * electric.el (electric-indent-post-self-insert-function): Don't use
        `pos' after modifying the buffer (bug#17449).
  
 -2014-05-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (function-put): Add function.
 -
 -2014-05-09  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-12  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-insert-item-from-calendar):
        Correct argument list to conform to todo-insert-item--basic.
  
 -2014-05-09  Glenn Morris  <rgm@gnu.org>
 +2014-05-12  Glenn Morris  <rgm@gnu.org>
  
        * files.el (cd-absolute): Test if directory is accessible
        rather than executable.  (Bug#17330)
        * progmodes/compile.el (recompile):
        Handle C-u M-x recompile from a non-compilation buffer.  (Bug#17444)
  
 -2014-05-08  Juri Linkov  <juri@jurta.org>
 -
 -      * dired.el (dired-check-switches, dired-switches-recursive-p):
 -      New functions.  (Bug#17218)
 -      (dired-switches-escape-p, dired-move-to-end-of-filename):
 -      Use `dired-check-switches'.
 -      (dired-insert-old-subdirs, dired-build-subdir-alist)
 -      (dired-sort-R-check): Use `dired-switches-recursive-p'.
 -
 -2014-05-08  Glenn Morris  <rgm@gnu.org>
 -
        * net/browse-url.el (browse-url-mosaic):
        Be careful when writing /tmp/Mosaic.PID.  (Bug#17428)
        This is CVE-2014-3423.
  
 +2014-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * mouse.el: Use the normal toplevel loop while dragging.
 +      (mouse-set-point): Handle multi-clicks.
 +      (mouse-set-region): Handle multi-clicks for drags.
 +      (mouse-drag-region): Update call accordingly.
 +      (mouse-drag-track): Remove `do-mouse-drag-region-post-process' hack.
 +      Use the normal event loop instead of a local while/read-event loop.
 +      (global-map): Remove redundant bindings for double/triple-mouse-1.
 +      * xt-mouse.el (xterm-mouse-translate-1): Only process one event at a time.
 +      Generate synthetic down events when the protocol only sends up events.
 +      (xterm-mouse-last): Remove.
 +      (xterm-mouse--read-event-sequence-1000): Use xterm-mouse-last-down
 +      terminal parameter instead.
 +      (xterm-mouse--set-click-count): New function.
 +      (xterm-mouse-event): Detect/generate double/triple clicks.
 +      * reveal.el (reveal-close-old-overlays): Don't close while dragging.
 +
 +      * info.el (Info-quoted): New face.
 +      (Info-mode-font-lock-keywords): New var.
 +      (Info-mode): Use it.
 +
 +      * emacs-lisp/lisp-mode.el (preceding-sexp): Exclude leading "," which
 +      are a hindrance for C-x C-e.
 +
 +2014-05-11  Leo Liu  <sdl.web@gmail.com>
 +
 +      * net/rcirc.el (rcirc-sentinel): Fix last change.
 +
 +2014-05-08  Sam Steingold  <sds@gnu.org>
 +
 +      * net/rcirc.el (rcirc-reconnect-delay): New user option.
 +      (rcirc-sentinel): Auto-reconnect to the server if
 +      `rcirc-reconnect-delay' is non-0 (but not more often than its
 +      value in case the host is off-line).
 +
 +2014-05-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * progmodes/grep.el (lgrep): Fix a typo in last commit.
 +
 +2014-05-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * files.el (file-expand-wildcards):
 +      * man.el (Man-support-local-filenames):
 +      * printing.el (pr-i-directory, pr-interface-directory):
 +      * progmodes/grep.el (lgrep, rgrep):
 +      * textmodes/ispell.el (ispell-call-process)
 +      (ispell-call-process-region, ispell-start-process)
 +      (ispell-init-process): Use file-accessible-directory-p.
 +
  2014-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * xt-mouse.el: Drop spurious/oddly shaped events (bug#17378).
        (xterm-mouse-event): Propagate it.
        (xterm-mouse-translate-1): Handle it.
  
 -2014-05-07  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-08  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-insert-item--apply-args): When all
        four slots of the parameter list are filled, make sure to pass it
        to the argument list of todo-insert-item--basic.
  
 -2014-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/package.el (package-compute-transaction): Topological sort.
        Add optional `seen' argument to detect and break infinite loops.
  
 -2014-05-06  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-08  Eli Zaretskii  <eliz@gnu.org>
  
        * emacs-lisp/find-gc.el (find-gc-unsafe, find-unsafe-funcs)
        (trace-unsafe, trace-use-tree): Make parentheses style be
        according to Emacs style.
  
 -2014-05-06  Michael Albinus  <michael.albinus@gmx.de>
 +2014-05-08  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-remote-process-environment):
        Remove HISTFILE and HISTSIZE; it's too late to set them here.
        name.  (Bug#17415)
        This is CVE-2014-3424.
  
 -2014-05-06  Glenn Morris  <rgm@gnu.org>
 +2014-05-08  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/find-gc.el (find-gc-source-directory): Give it a value.
        (find-gc-source-files): Update some names.
        Avoid predictable temp-file names.  (http://bugs.debian.org/747100)
        This is CVE-2014-3422.
  
 -2014-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * minibuffer.el (completion--try-word-completion): Revert fix for
        Bug#15980 (bug#17375).
        Don't burp is xterm-mouse-last is not set as expected.
        Never return negative indices.
  
 -2014-05-05  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-05-08  Dmitry Gutov  <dgutov@yandex.ru>
  
        * progmodes/ruby-mode.el (ruby-syntax-propertize-function):
        Backtrack one char if the global/char-literal var matcher hits
        inside a string.  The next char could be the beginning of an
        expression expansion.
  
 -2014-05-05  Glenn Morris  <rgm@gnu.org>
 +2014-05-08  Glenn Morris  <rgm@gnu.org>
  
        * help-fns.el (describe-function-1): Test for an autoload before a
        macro, since `macrop' works on autoloads.  (Bug#17410)
  
 -2014-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * electric.el (electric-indent-functions-without-reindent): Add yaml.
  
        * minibuffer.el (completion-table-with-quoting) <completion--unquote>:
        Make sure the new point we return is within the new string (bug#17239).
  
 -2014-05-03  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-05  Daniel Colascione  <dancol@dancol.org>
 +
 +      * progmodes/compile.el (compilation-error-regexp-alist-alist):
 +      Port `gnu' pattern to rx.
 +
 +2014-05-05  Jarek Czekalski  <jarekczek@poczta.onet.pl>
 +
 +      Remove unneeded prompt when closing a buffer with active
 +      emacsclient ("Buffer ... still has clients"), #16548.
 +      * server.el (server-start): Remove the only call to:
 +      (server-kill-buffer-query-function): Remove.
 +
 +2014-05-04  Leo Liu  <sdl.web@gmail.com>
 +
 +      * calendar/diary-lib.el (calendar-chinese-month-name-array):
 +      Defvar to pacify compiler.
 +
 +2014-05-04  Eli Zaretskii  <eliz@gnu.org>
  
        * mail/rmailsum.el (rmail-new-summary-1): Fix a typo in a comment.
  
 -2014-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * vc/ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer):
        Use nil rather than `default' for the "default" appearance (bug#17388).
        * vc/ediff-init.el (ediff-set-overlay-face): Don't set help-echo if the
        overlay is not visible.
  
 -2014-05-02  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-04  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-edit-file): Use display-warning.
        (todo-menu): Uncomment and update.
  
 -2014-05-02  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-04  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Reimplement item editing to have the same
        basic user interface as item insertion, and make small UI and
        (todo-key-bindings-t): Bind "e" to todo-edit-item.
        Remove bindings of deleted commands.
  
 -2014-05-02  Leo Liu  <sdl.web@gmail.com>
 +2014-05-04  Leo Liu  <sdl.web@gmail.com>
  
        * emacs-lisp/cl-macs.el (cl-deftype): Fix indentation.
  
 -2014-05-01  Glenn Morris  <rgm@gnu.org>
 +2014-05-04  Glenn Morris  <rgm@gnu.org>
  
        * allout-widgets.el (allout-widgets-tally)
        (allout-decorate-item-guides):
        * textmodes/reftex-parse.el (reftex-using-biblatex-p):
        Doc fixes (replace `iff').
  
 -2014-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * mpc.el (mpc-volume-mouse-set): Don't burp at the boundaries.
 +
 +2014-05-04  Leo Liu  <sdl.web@gmail.com>
 +
 +      Support Chinese diary entries in calendar and diary.  (Bug#17393)
 +      * calendar/cal-china.el (calendar-chinese-month-name-array): New var.
 +      (calendar-chinese-from-absolute-for-diary)
 +      (calendar-chinese-to-absolute-for-diary)
 +      (calendar-chinese-mark-date-pattern, diary-chinese-mark-entries)
 +      (diary-chinese-list-entries): New functions to list and mark
 +      Chinese diary entries in the calendar window.
 +      (diary-chinese-anniversary)
 +      (diary-chinese-insert-anniversary-entry)
 +      (diary-chinese-insert-entry, diary-chinese-insert-monthly-entry)
 +      (diary-chinese-insert-yearly-entry): New commands to insert
 +      Chinese diary entries.
 +
 +      * calendar/diary-lib.el (diary-font-lock-keywords):
 +      Support font-locking Chinese dates.
 +
 +      * calendar/cal-menu.el (cal-menu-diary-menu): Add entries for
 +      inserting Chinese diary entries.
 +
 +      * calendar/calendar.el (diary-chinese-entry-symbol):
 +      New customizable variable.
 +      (calendar-mode-map): Add bindings for inserting Chinese diary
 +      entries.
 +
 +2014-05-03  Juri Linkov  <juri@jurta.org>
 +
 +      * dired.el (dired-check-switches, dired-switches-recursive-p):
 +      New functions.  (Bug#17218)
 +      (dired-switches-escape-p, dired-move-to-end-of-filename):
 +      Use `dired-check-switches'.
 +      (dired-insert-old-subdirs, dired-build-subdir-alist)
 +      (dired-sort-R-check): Use `dired-switches-recursive-p'.
 +
 +2014-05-01  Barry O'Reilly  <gundaetiapo@gmail.com>
 +
 +      * simple.el (undo-make-selective-list): New algorithm fixes
 +      incorrectness of position adjustments when undoing in region.
 +      (Bug#17235)
 +      (undo-elt-crosses-region): Make obsolete.
 +      (undo-adjust-elt, undo-adjust-beg-end, undo-adjust-pos):
 +      New functions to adjust positions using undo-deltas.
 +
 +2014-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/lisp-mode.el (lisp--match-hidden-arg): Only highlight past
 +      the last consecutive closing paren (bug#17345).
 +
 +2014-04-30  Reuben Thomas  <rrt@sc3d.org>
  
 -      * mpc.el (mpc-volume-mouse-set): Don't burp at the boundaries.
 +      * dired.el (dired-mode): make terminology for eXpunge command
 +      consistent.  (Bug#17276)
  
  2014-04-30  Eli Zaretskii  <eliz@gnu.org>
  
        * dired.el (dired-initial-position-hook, dired-initial-position):
        Doc string fixes.
  
 -2014-04-29  Glenn Morris  <rgm@gnu.org>
 +2014-04-30  Glenn Morris  <rgm@gnu.org>
  
        * mail/rmail.el (rmail-quit): Handle killed summaries.  (Bug#17283)
  
 -2014-04-27  Matthias Dahl  <matthias.dahl@binary-island.eu>
 +2014-04-30  Matthias Dahl  <matthias.dahl@binary-island.eu>
  
        * faces.el (face-spec-recalc): Apply X resources only after the
        defface spec has been applied. Thus, X resources are no longer
 -      overridden by the defface spec which also fixes issues on win32 where
 +      overriden by the defface spec which also fixes issues on win32 where
        the toolbar coloring was wrong because it is set through X resources
 -      and was (wrongfully) overridden.  (Bug#16694)
 +      and was (wrongfully) overriden.  (Bug#16694)
  
 -2014-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * textmodes/rst.el (electric-pair-pairs): Declare.
        (rst-mode): Set it (bug#17131).
  
 -2014-04-27  Juri Linkov  <juri@jurta.org>
 +2014-04-30  Juri Linkov  <juri@jurta.org>
  
        * desktop.el (desktop-value-to-string): Let-bind `print-length'
        and `print-level' to nil.  (Bug#17351)
  
 -2014-04-25  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
 +2014-04-30  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
        * battery.el (battery-update): Handle the case where battery
        status is "N/A" (bug#17319).
  
 -2014-04-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/ps-mode.el: Use SMIE.  Move string and comment recognition
 +      to syntax-propertize.
 +      (ps-mode-auto-indent): Mark as obsolete.
 +      (ps-mode-font-lock-keywords-1): Remove string-or-comment handling.
 +      (ps-mode-font-lock-keywords-3): Use symbol regexp operators instead of
 +      word regexp operators.
 +      (ps-mode-map): Move initialization into declaration.  Remove binding
 +      for TAB, RET, >, ], and }.
 +      (ps-mode-syntax-table): Move initialization into declaration.
 +      Don't give word syntax to non-word chars.
 +      (ps-run-mode-map): Move initialization into declaration.
 +      (ps-mode-menu-main): Remove auto-indent entry.
 +      (ps-mode-smie-rules): New function.
 +      (ps-mode): Setup smie, syntax-propertize, and electric-indent-mode.
 +      (ps-mode-looking-at-nested, ps-mode-match-string-or-comment): Remove.
 +      (ps-mode--string-syntax-table): New const.
 +      (ps-mode--syntax-propertize-special, ps-mode-syntax-propertize):
 +      New functions.
 +      (ps-mode-newline, ps-mode-tabkey, ps-mode-r-brace, ps-mode-r-angle)
 +      (ps-mode-r-gt, ps-mode-r-balance): Remove functions.
 +
 +2014-04-27  Daniel Colascione  <dancol@dancol.org>
 +
 +      * term/xterm.el (xterm-paste): Use large finite timeout when
 +      reading event to avoid putting keys in this-command-keys.
 +
 +2014-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/perl-mode.el (perl--syntax-exp-intro-regexp): New var.
 +      (perl-syntax-propertize-function): Use it.  Extend handling of
 +      here-docs to the unquoted case.
 +
 +2014-04-25  Eli Zaretskii  <eliz@gnu.org>
  
        * tooltip.el (tooltip-show-help-non-mode, tooltip-show-help):
        Use equal-including-properties to compare help-echo strings (bug#17331).
  
 -2014-04-24  Leo Liu  <sdl.web@gmail.com>
 +2014-04-25  Leo Liu  <sdl.web@gmail.com>
  
        * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table):
        Fix syntax for @.  (Bug#17325)
  
 -2014-04-24  Daniel Colascione  <dancol@dancol.org>
 +2014-04-25  Daniel Colascione  <dancol@dancol.org>
  
        * emacs-lisp/cl.el (gv): Require gv early to break eager
        macro-expansion cycles.
  
 -2014-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * simple.el (region-active-p): Check there's a mark (bug#17324).
  
        * progmodes/perl-mode.el (perl-syntax-propertize-function): Slash after
        &, |, +, - and * can't be a division (bug#17317).
  
 -2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
        * term/xterm.el (xterm--version-handler): Don't use modern xterm
        features on gnome-terminal (bug#16988).
  
 +2014-04-25  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Improve Scheme font-locking for (define ((foo ...) ...) ...).
 +
 +      * progmodes/scheme.el (scheme-font-lock-keywords-1): To find
 +      the declared object, ignore zero or more parens, not zero or one.
 +
 +2014-04-24  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/xscheme.el (xscheme-expressions-ring)
 +      (xscheme-expressions-ring-yank-pointer, xscheme-running-p)
 +      (xscheme-control-g-disabled-p, xscheme-process-filter-state)
 +      (xscheme-allow-output-p, xscheme-prompt)
 +      (xscheme-string-accumulator, xscheme-mode-string): Use defvar-local.
 +
 +      * progmodes/scheme.el (would-be-symbol, next-sexp-as-string):
 +      Comment out unused functions.
 +
 +2014-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * info.el: Use lexical-binding and cl-lib.
 +      Use defvar-local and setq-local instead of make-local-variable.
 +      (Info-apropos-matches): Avoid add-to-list.
 +      (Info-edit-mode-map): Fix obsolescence call to Info-edit-map.
 +
 +2014-04-24  Daniel Colascione  <dancol@dancol.org>
 +
 +      * progmodes/sh-script.el (sh-builtins): Add coproc to list of bash builtins.
 +
 +2014-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/cl-macs.el (cl--loop-let): Fix last merge.
 +
  2014-04-22  Michael Heerdegen  <michael_heerdegen@web.de>
  
        * dired.el (dired-insert-set-properties): Do not consider
        (tramp-do-copy-or-rename-file-out-of-band): Do not quote `source'
        and `target' twice.
  
 -2014-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * dframe.el (dframe-get-focus): Remove `hook' argument (bug#17311).
        * speedbar.el (speedbar-get-focus): Run the "hook" afterwards instead.
  
        * emacs-lisp/cl-macs.el (cl--loop-let): Avoid `nil' as var name.
  
 -2014-04-21  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-22  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
        Set "IFS=" when using read builtin, in order to preserve spaces in
        the file name.  Add test messages for hunting a bug on hydra.
        (tramp-get-ls-command): Undo using "-b" argument.  It doesn't help.
  
 -2014-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/prog-mode.el (prettify-symbols--compose-symbol):
        Don't prettify a word within a symbol.
  
 -2014-04-20  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-22  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-get-ls-command): Use "-b" argument if
        possible.
  
 +2014-04-22  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/byte-run.el (function-put): Unbreak build: don't
 +      use defun to define `function-put'.
 +
 +2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/lisp-mode.el (lisp--match-hidden-arg): New function.
 +      (lisp-el-font-lock-keywords-2, lisp-cl-font-lock-keywords-2): Use it.
 +      (lisp-mode-variables): Set font-lock-extra-managed-props.
 +
 +      * emacs-lisp/byte-run.el (function-put): New function.
 +      (defun-declarations-alist): Use it.  Add `pure' and `side-effect-free'.
 +      * emacs-lisp/cl-macs.el (cl-defstruct, cl-struct-sequence-type)
 +      (cl-struct-slot-info, cl-struct-slot-offset, cl-struct-slot-value):
 +      Use them.
 +
 +2014-04-22  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/macroexp.el (internal-macroexpand-for-load):
 +      Add `full-p' parameter; when nil, call `macroexpand' instead of
 +      `macroexpand-all'.
 +
 +      * emacs-lisp/byte-run.el (eval-when-compile, eval-and-compile):
 +      Improve docstrings.
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
 +      Use lambda function values, not quoted lambdas.
 +      (byte-compile-recurse-toplevel): Remove extraneous &optional.
 +
 +      * emacs-lisp/cl-macs.el
 +      (cl-struct-sequence-type, cl-struct-slot-info): Declare pure.
 +      (cl-struct-slot-value): Conditionally use aref or nth so that the
 +      compiler produces optimal code.
 +
 +2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/cl-macs.el (cl-struct-slot-offset): Mark as pure.
 +      (inline): Don't inline cl--set-elt.
 +      (cl-struct-slot-value): Remove explicit gv-setter and compiler-macro.
 +      Define as inlinable instead.
 +      (cl-struct-set-slot-value): Remove.
 +
 +      * emacs-lisp/cl-lib.el (cl--set-elt): Remove.
 +      * emacs-lisp/cl-seq.el (cl-replace, cl-substitute, cl-nsubstitute):
 +      Use setf instead.
 +
 +2014-04-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/cl-macs.el (cl--const-expr-val): We didn't need the
 +      last two parameters after all.
 +      (cl--expr-contains,cl--compiler-macro-typep,cl--compiler-macro-member)
 +      (cl--compiler-macro-assoc,cl-struct-slot-value)
 +      (cl-struct-set-slot-value): Stop using them.
 +
 +(2014-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * image-mode.el (image-mode-window-put): Don't assume there's a `t'
 +      entry in image-mode-winprops-alist.
 +
 +2014-04-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-recurse-toplevel): New function.
 +      (byte-compile-recurse-toplevel, byte-compile-initial-macro-environment)
 +      (byte-compile-toplevel-file-form): Use it.
 +
 +      * emacs-lisp/cl-macs.el:
 +      (cl--loop-let): Properly destructure `while' clauses.
 +
 +2014-04-20  Daniel Colascione  <dancol@dancol.org>
 +
 +      * vc/vc.el (vc-root-dir): New public autoloaded function for
 +      generically finding the current VC root.
 +      * vc/vc-hooks.el (vc-not-supported): New error.
 +      (vc-call-backend): Signal `vc-not-supported' instead of generic error.
 +
 +2014-04-20  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/cl-macs.el (cl-the): Make `cl-the' assert its type
 +      argument.
 +      (cl--const-expr-val): cl--const-expr-val should macroexpand its
 +      argument in case we're inside a symbol-macrolet.
 +      (cl--do-arglist, cl--compiler-macro-typep)
 +      (cl--compiler-macro-member, cl--compiler-macro-assoc): Pass macro
 +      environment to `cl--const-expr-val'.
 +      (cl-struct-sequence-type,cl-struct-slot-info)
 +      (cl-struct-slot-offset, cl-struct-slot-value)
 +      (cl-struct-set-slot-value): New functions.
 +
  2014-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/sh-script.el (sh-smie--sh-keyword-p): Handle variable
  
        * net/tramp-compat.el (tramp-unload-hook): Unload `tramp-loaddefs'.
  
 -2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-17  Daniel Colascione  <dancol@dancol.org>
 +
 +      Add support for bracketed paste mode; add infrastructure for
 +      managing terminal mode enabling and disabling automatically.
 +
 +      * xt-mouse.el:
 +      (xterm-mouse-mode): Simplify.
 +      (xterm-mouse-tracking-enable-sequence)
 +      (xterm-mouse-tracking-disable-sequence): New constants.
 +      (turn-on-xterm-mouse-tracking-on-terminal)
 +      (turn-off-xterm-mouse-tracking-on-terminal):
 +      Use tty-mode-set-strings and tty-mode-reset-strings terminal
 +      parameters instead of random hooks.
 +      (turn-on-xterm-mouse-tracking)
 +      (turn-off-xterm-mouse-tracking): Delete.
 +
 +      * term/xterm.el (xterm-extra-capabilities): Fix bitrotted comment.
 +      (xterm-paste-ending-sequence): New constant.
 +      (xterm-paste): New command used for bracketed paste support.
 +
 +      (xterm-modify-other-keys-terminal-list): Delete obsolete variable.
 +      (terminal-init-xterm-bracketed-paste-mode): New function.
 +      (terminal-init-xterm): Call it.
 +      (terminal-init-xterm-modify-other-keys): Use tty-mode-set-strings
 +      and tty-mode-reset-strings instead of random hooks.
 +      (xterm-turn-on-modify-other-keys)
 +      (xterm-turn-off-modify-other-keys)
 +      (xterm-remove-modify-other-keys): Delete obsolete functions.
 +
 +      * term/screen.el: Rewrite to just use the xterm code.
 +      Add copyright notice.  Mention tmux.
 +
 +2014-04-17  Ian D  <dunni@gnu.org>  (tiny change)
 +
 +      * image-mode.el (image-mode-window-put): Also update the property of
 +      the "default window".
 +      * doc-view.el (doc-view-new-window-function): If no window
 +      exists, move to the last known page.
  
 -      * nxml/nxml-mode.el (nxml-fontify-matcher): Make sure propertization
 -      was done (bug#17264).
 -      * nxml/xmltok.el (xmltok-scan-after-comment-open): Extend unclosed
 -      comment to EOB.
 +2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/perl-mode.el (perl-calculate-indent): Don't auto-indent in
        here-documents (bug#17262).
        * term/pc-win.el (x-list-fonts, x-get-selection-value):
        Provide doc strings, as required by snarf-documentation.
  
 -2014-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * ps-def.el (ps-generate-postscript-with-faces1): Use the new `sorted'
        arg of overlays-at.  Use `invisible-p'.
        overlays-at.
        (hfy-fontify-buffer): Remove unused var `orig-ovls'.
  
 -2014-04-14  João Távora  <joaotavora@gmail.com>
 +2014-04-16  João Távora  <joaotavora@gmail.com>
  
        * net/shr.el (shr-expand-url): Use `expand-file-name' for relative
        links.  (Bug#17217).
  
 -2014-04-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2014-04-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
        * vc/ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer):
        Use mapc to loop over a vector.  (Bug#17257).
  
 -2014-04-13  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-16  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-sh-handle-file-truename): Revert previous
        patch, there are new problems with file names containing spaces.
        Get rid of backticks.  (Bug#17238)
  
 -2014-04-13  João Távora  <joaotavora@gmail.com>
 +2014-04-16  João Távora  <joaotavora@gmail.com>
  
        * elec-pair.el (electric-pair--syntax-ppss): Simplify and fix
        possible bug.
  
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-16  Eli Zaretskii  <eliz@gnu.org>
  
        * frame.el (blink-cursor-blinks, blink-cursor-blinks-done): Doc fixes.
        (blink-cursor-mode): Mention customization variables and the
        effect of 'blink-cursor-blinks'.
  
 -2014-04-12  Barry O'Reilly  <gundaetiapo@gmail.com>
 +2014-04-16  Barry O'Reilly  <gundaetiapo@gmail.com>
  
        * simple.el (undo): Prevent insertion of identity mapping into
        undo-equiv-table so as undo-only does not inf loop in the presence
        of consecutive nils in undo list.
  
 -2014-04-12  Matthias Dahl  <matthias.dahl@binary-island.eu>
 +2014-04-16  Matthias Dahl  <matthias.dahl@binary-island.eu>
  
        * faces.el (make-face): Deprecate optional argument as it is no
        longer needed/used since the conditional X resources handling
        has been pushed down to make-face-x-resource-internal itself.
        (make-empty-face): Don't pass optional argument to make-face.
  
 +2014-04-16  Karl Fogel  <kfogel@red-bean.com>
 +
 +      * savehist.el (savehist-save): Remove workaround for a read-passwd
 +      bug that was fixed before 24.3.  Thanks to Juanma Barranquero for
 +      noticing that the shim was still present.
 +
 +2014-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * doc-view.el (doc-view-set-doc-type): Ignore file name case; add .pps.
 +
 +2014-04-14  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * faces.el (face-set-after-frame-default): Remove unused local variable.
 +
 +2014-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/grep.el: Use lexical-binding.
 +      (grep-expand-template): Pass explicit lexical env to `eval'.
 +      (zrgrep): Let-bind grep-find-template explicitly.
 +
 +      * emacs-lisp/cl-lib.el (current-case-table): Remove setter.
 +      * leim/quail/sisheng.el (sisheng-list): Use with-case-table.
 +
  2014-04-12  Eli Zaretskii  <eliz@gnu.org>
  
        * international/characters.el <standard-case-table>: Add entries
  
  2014-04-12  Leo Liu  <sdl.web@gmail.com>
  
 -      * progmodes/octave.el (completion-table-with-cache): Define if not
 -      available.
 -      (octave-goto-function-definition)
 -      (octave-sync-function-file-names)
 -      (octave-find-definition-default-filename): Backquote upattern for
 -      compatibility.
 +      * progmodes/octave.el (completion-table-with-cache):
 +      Define if not available.
 +      (octave-goto-function-definition, octave-sync-function-file-names)
 +      (octave-find-definition-default-filename):
 +      Backquote upattern for compatibility.
  
 -2014-04-11  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-12  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-sh-handle-file-truename): Quote the file
        name twice due to backticks.  (Bug#17238)
  
 -2014-04-11  Glenn Morris  <rgm@gnu.org>
 +2014-04-12  Glenn Morris  <rgm@gnu.org>
  
        * term/w32-win.el (x-win-suspend-error):
        * term/x-win.el (x-win-suspend-error): Sync docs.
  
 -2014-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-12  Matthias Dahl  <matthias.dahl@binary-island.eu>
 +
 +      * faces.el (make-face): Remove deprecated optional argument.
 +      The conditional application of X resources is handled directly by
 +      make-face-x-resource-internal since Emacs 24.4.
 +      (make-empty-face): Don't pass optional argument to make-face.
 +
 +2014-04-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): Unexport.  (Bug#16429)
 +
 +2014-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        Ediff's overlay priorities cause more trouble than they solve.
        * vc/ediff-init.el (ediff-shadow-overlay-priority): Remove variable.
        (ediff-set-fine-diff-properties-in-one-buffer): Don't mess with
        overlay priorities.
  
 -2014-04-10  Feng Li  <fengli@gmail.com>  (tiny change)
 +2014-04-11  Feng Li  <fengli@gmail.com>  (tiny change)
  
        * progmodes/pascal.el (pascal-font-lock-keywords): Fix incorrect format
        entry; use symbol boundaries to avoid mis-matches.
  
 -2014-04-10  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-11  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-file-name-handler)
        (tramp-completion-file-name-handler): Avoid recursive loading.
        * net/tramp-sh.el (tramp-make-copy-program-file-name):
        Quote result also locally.
  
 +2014-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emulation/cua-base.el (<toplevel>, cua--pre-command-handler-1):
 +      Remove left-over code.
 +
 +      * newcomment.el (comment-indent-new-line): Sink code where it's used.
 +      Reuse the previous comment's indentation unconditionally if it's on its
 +      own line.
 +
 +2014-04-09  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/lisp.el (backward-up-list): Add `escape-strings',
 +      `no-syntax-crossing' arguments.  Forward to `up-list'.
 +      (up-list): Add `escape-strings', `no-syntax-crossing' arguments.
 +      Implement logic for escaping from strings.  Use narrowing to deal
 +      with corner cases.
 +
 +2014-04-09  Leo Liu  <sdl.web@gmail.com>
 +
 +      * net/rcirc.el (rcirc-connection-info): New variable.
 +      (rcirc-connect): Use it to store connection info.
 +      (rcirc-buffer-process): Avoid get-buffer-process which returns nil
 +      for killed process.
 +      (rcirc-cmd-reconnect): New command.  (Bug#17045)
 +      (rcirc-mode, set-rcirc-encode-coding-system)
 +      (set-rcirc-decode-coding-system, rcirc-connect): Use setq-local.
 +
 +2014-04-09  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/cl-indent.el: Add comment claiming
 +      facility is also good for elisp.
 +      (lisp-indent-find-method): New function.
 +      (common-lisp-indent-function): Recognize cl-loop.
 +      (common-lisp-indent-function-1): Recognize cl constructs; use
 +      `lisp-indent-find-method' instead of `get' directly.
 +      (if): Use else-body style for elisp.
 +
  2014-04-09  Dmitry Gutov  <dgutov@yandex.ru>
  
        * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight more
        Module methods.  (Bug#17216)
  
 -2014-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * help.el (describe-bindings): Fix buffer handling (bug#17210).
        (describe-bindings-internal): Mark obsolete.
  
 +2014-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (with-silent-modifications): Don't bind deactivate-mark,
 +      buffer-file-name, and buffer-file-truename any more.
 +
 +2014-04-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      Use lexical-binding and require cl-lib.
 +      * net/rcirc.el (rcirc, rcirc-handler-ctcp-KEEPALIVE)
 +      (rcirc-handler-generic, rcirc-fill-paragraph)
 +      (rcirc-format-response-string, rcirc-target-buffer)
 +      (rcirc-last-line, rcirc-record-activity, rcirc-split-activity)
 +      (rcirc-activity-string, rcirc-make-trees, rcirc-cmd-ctcp)
 +      (rcirc-ctcp-sender-PING, rcirc-browse-url)
 +      (rcirc-markup-timestamp, rcirc-markup-attributes)
 +      (rcirc-markup-my-nick, rcirc-markup-urls)
 +      (rcirc-markup-bright-nicks, rcirc-markup-fill)
 +      (rcirc-check-auth-status, rcirc-handler-WALLOPS)
 +      (rcirc-handler-JOIN, rcirc-handler-PART-or-KICK)
 +      (rcirc-handler-PART, rcirc-handler-KICK, rcirc-handler-QUIT)
 +      (rcirc-handler-NICK, rcirc-handler-PING, rcirc-handler-PONG)
 +      (rcirc-handler-TOPIC, rcirc-handler-301, rcirc-handler-317)
 +      (rcirc-handler-332, rcirc-handler-333, rcirc-handler-477)
 +      (rcirc-handler-MODE, rcirc-handler-353, rcirc-handler-366)
 +      (rcirc-authenticate, rcirc-handler-INVITE, rcirc-handler-ERROR)
 +      (rcirc-handler-ctcp-VERSION, rcirc-handler-ctcp-TIME)
 +      (rcirc-handler-CTCP-response): Fix unused arguments warnings and
 +      use cl-lib.
 +
  2014-04-07  João Távora  <joaotavora@gmail.com>
  
 -      * elec-pair.el:
 -      (electric-pair--syntax-ppss): When inside comments parse from
 -      comment beginning.
 +      * elec-pair.el (electric-pair--syntax-ppss):
 +      When inside comments parse from comment beginning.
        (electric-pair--balance-info): Fix typo in comment.
        (electric-pair--in-unterminated-string-p): Delete.
        (electric-pair--unbalanced-strings-p): New function.
        (electric-pair-inhibit-if-helps-balance): Decide quote pairing
        according to `electric-pair--in-unterminated-string-p'
  
 -2014-04-07  João Távora  <joaotavora@gmail.com>
 -
        * elec-pair.el (electric-pair-inhibit-if-helps-balance):
        Inhibit quote pairing if point-max is inside an unterminated string.
        (electric-pair--looking-at-unterminated-string-p): Delete.
        * shell.el (shell-directory-tracker):
        Go back to just ignoring failures.  (Bug#17159)
  
 -2014-04-06  João Távora  <joaotavora@gmail.com>
 +2014-04-07  João Távora  <joaotavora@gmail.com>
  
        Fix `electric-pair-delete-adjacent-pairs' in modes binding
        backspace. (bug#16981)
        a new `electric-pair-delete-pair' command.
        (electric-pair-delete-pair): New command.
  
 -2014-04-06  João Távora  <joaotavora@gmail.com>
 -
        * progmodes/python.el (python-electric-pair-string-delimiter):
        Fix triple-quoting electricity.  (Bug#17192)
  
 -2014-04-06  João Távora  <joaotavora@gmail.com>
 -
        * elec-pair.el (electric-pair-post-self-insert-function):
        Don't skip whitespace when `electric-pair-text-pairs' and
        `electric-pair-pairs' were used. syntax to
        electric-pair--skip-whitespace.  (Bug#17183)
  
 -2014-04-06  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-07  Eli Zaretskii  <eliz@gnu.org>
  
        * leim/quail/ipa.el (ipa-x-sampa): Fix the character produced for
        "<F>".  (Bug#17199)
  
 -2014-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mpc.el (mpc--status-timer-run): Disable timer if not displayed.
        (mpc--status-idle-timer-run): Use mpc--status-timer-run.
  
 -2014-04-05  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * help.el (view-lossage): Doc tweak.
  
 -2014-04-05  Matthias Dahl  <matthias.dahl@binary-island.eu>
 +2014-04-07  Matthias Dahl  <ml_emacs-lists@binary-island.eu>
  
        * faces.el (face-spec-recalc): Call make-face-x-resource-internal
        only when inhibit-x-resources is nil, and do that earlier in the
        (face-set-after-frame-default): Don't call
        make-face-x-resource-internal here.  (Bug#16434)
  
 -2014-04-04  Tassilo Horn  <tsdh@gnu.org>
 +2014-04-07  Tassilo Horn  <tsdh@gnu.org>
  
        * doc-view.el (doc-view-bookmark-jump):
        Use `bookmark-after-jump-hook' to jump to the right page after the
        buffer is shown in a window.  (bug#16090)
  
 -2014-04-04  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-07  Eli Zaretskii  <eliz@gnu.org>
  
        * international/characters.el (mirroring): Fix last change:
        instead of loading uni-mirrored.el explicitly, do that implicitly
        by creating the 'mirroring' uniprop table.  This avoids announcing
        the loading of uni-mirrored.el.
  
 -2014-04-04  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * files.el (buffer-stale--default-function)
        (buffer-stale-function, revert-buffer--default):
        * autorevert.el (auto-revert-buffers): Doc tweaks.
  
 -2014-04-03  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-07  Eli Zaretskii  <eliz@gnu.org>
  
        * international/characters.el: Preload uni-mirrored.el.  (Bug#17169)
  
 -2014-04-03  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * files.el (make-backup-file-name-function)
        (make-backup-file-name, make-backup-file-name--default-function)
        (make-backup-file-name-function): Bump :version.
        Restore nil as a valid but deprecated custom type.
  
 -2014-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * progmodes/perl-mode.el (perl-syntax-propertize-function): Handle $'
 -      used as a variable (bug#17174).
 -
 -2014-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * progmodes/perl-mode.el (perl-syntax-propertize-function):
 +      Handle $' used as a variable (bug#17174).
  
        * progmodes/perl-mode.el (perl-indent-new-calculate):
        Handle forward-sexp failure (bug#16985).
        (perl-syntax-propertize-function): Add "foreach" and "for" statement
        modifiers introducing expressions (bug#17116).
  
 +2014-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * dired-aux.el (dired-file-set-difference): Use lexical-scoping.
 +
 +2014-04-05  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
 +      Add define-compilation-mode.
 +
 +2014-04-04  João Távora  <joaotavora@gmail.com>
 +
 +      * elec-pair.el (electric-pair--syntax-ppss): When inside comments
 +      parse from comment beginning.
 +      (electric-pair--balance-info): Fix typo in comment.
 +      (electric-pair--in-unterminated-string-p): Delete.
 +      (electric-pair--unbalanced-strings-p): New function.
 +      (electric-pair-string-bound-function): New var.
 +      (electric-pair-inhibit-if-helps-balance): Decide quote pairing
 +      according to `electric-pair--in-unterminated-string-p'.
 +
 +2014-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * textmodes/reftex-parse.el (reftex--index-tags): Rename `index-tags'.
 +      Move declaration before first use.
 +      (reftex-move-to-next-arg): Silence compiler warning.
 +
 +2014-04-04  Joost Kremers  <joostkremers@fastmail.fm>  (tiny change)
 +
 +      * textmodes/reftex-toc.el (reftex-toc, reftex-re-enlarge):
 +      Use `window-total-width' instead of `window-width'.
 +
 +2014-04-03  Daniel Colascione  <dancol@dancol.org>
 +
 +      * subr.el (set-transient-map): Remove rms's workaround entirely;
 +      use new `suspicious-object' subr to mark our lambda for closer
 +      scrutiny during gc.
 +
 +2014-04-02  Richard Stallman  <rms@gnu.org>
 +
 +      * subr.el (set-transient-map): Comment out previous change.
 +
  2014-04-02  Glenn Morris  <rgm@gnu.org>
  
        * menu-bar.el (menu-bar-file-menu):
  
        * simple.el (command-execute): Respect nil disabled-command-function.
  
 -2014-04-01  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
 +2014-04-02  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
        * simple.el (command-execute): Do not execute the command when it
        is disabled; fixes thinko in 2013-02-20 conversion from C.  (Bug#17151)
  
 -2014-03-29  Juri Linkov  <juri@jurta.org>
 +2014-04-02  Juri Linkov  <juri@jurta.org>
  
        * dired-aux.el (dired-compress-file): Don't use string-match-p
        because its match data is used afterwards.
  
 -2014-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/package.el (package-built-in-p): Treat a min-version of
        0 like nil.
  
 +2014-04-02  João Távora  <joaotavora@gmail.com>
 +
 +      * elec-pair.el (electric-pair-inhibit-if-helps-balance):
 +      Inhibit quote pairing if point-max is inside an unterminated string.
 +      (electric-pair--looking-at-unterminated-string-p):
 +      Delete.
 +      (electric-pair--in-unterminated-string-p): New function.
 +
 +2014-04-01  Daniel Colascione  <dancol@dancol.org>
 +
 +      * minibuffer.el (minibuffer-complete): Prevent assertion failure
 +      when trying to complete the prompt.
 +
 +2014-03-31  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/eldoc.el (eldoc-print-current-symbol-info):
 +      Refactor out eldoc-documentation-function-default.
 +      (eldoc-documentation-function-default): New function.
 +      (eldoc-documentation-function): Change value.
 +
 +2014-03-31  Glenn Morris  <rgm@gnu.org>
 +
 +      * simple.el (cycle-spacing--context, cycle-spacing): Doc tweaks.
 +
 +      * progmodes/vhdl-mode.el (vhdl-speedbar-select-mra)
 +      (vhdl-compose-components-package, vhdl-compose-configuration):
 +      Abbreviate default-directory (missing from some previous upstream sync).
 +
 +2014-03-31  Reto Zimmermann  <reto@gnu.org>
 +
 +      Sync with upstream vhdl mode v3.35.2.
 +      * progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp): Update.
 +      (top-level): No longer require assoc.
 +      (vhdl-asort, vhdl-anot-head-p, vhdl-aput, vhdl-adelete, vhdl-aget):
 +      New functions.  Use throughout to replace aget etc.
 +      (vhdl-aput-delete-if-nil): Rename from vhdl-aput.
 +      (vhdl-update-file-contents): Update for vhdl-aput-delete-if-nil rename.
 +      (vhdl-template-replace-header-keywords): Fix bug for "<title string>".
 +      (vhdl-compile-init): Do not initialize regexps for Emacs 22+.
 +      (vhdl-error-regexp-emacs-alist): Remove regexps from all compilers
 +      except `vhdl-compiler'.
 +      (vhdl-error-regexp-add-emacs): Remove all other compilers,
 +      when appropriate.
 +
 +2014-03-31  Glenn Morris  <rgm@gnu.org>
 +
 +      * progmodes/vhdl-mode.el (vhdl-expand-abbrev, vhdl-expand-paren):
 +      Revert 2014-03-26 merge goof; go back to using defalias.
 +
 +2014-03-30  Daniel Colascione  <dancol@dancol.org>
 +
 +      * comint.el (comint-send-input):
 +      Deactivate completion-in-region-mode before we send comint input.
 +      (Bug#17139).
 +
 +      * simple.el (keyboard-quit): Deactivate completion-in-region-mode
 +      on keyboard-quit.
 +
 +2014-03-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * textmodes/reftex.el: Manage most autoloads automatically.
 +      * textmodes/reftex-auc.el, textmodes/reftex-cite.el:
 +      * textmodes/reftex-dcr.el, textmodes/reftex-global.el:
 +      * textmodes/reftex-index.el, textmodes/reftex-parse.el:
 +      * textmodes/reftex-ref.el, textmodes/reftex-sel.el:
 +      * textmodes/reftex-toc.el: Set generated-autoload-file,
 +      and add autoload cookies for reftex.el.
 +      * Makefile.in (AUTOGEN_VCS): Add textmodes/reftex.el.
 +
 +2014-03-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * cus-start.el (report-emacs-bug-address): Set custom properties.
 +      * mail/emacsbug.el (report-emacs-bug-address):
 +      Variable is now defined in emacs.c.
 +
 +      * mail/emacsbug.el (report-emacs-bug):
 +      Include system-configuration-features.
 +
 +2014-03-28  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * simple.el (cycle-spacing): Never delete spaces on first run by
 +      default, but do so in a new 'fast mode and if there are already
 +      N spaces (the previous behavior).
 +      Compare N with its value in previous invocation so that changing
 +      prefix argument restarts `cycle-spacing' sequence.
 +      The idea is that with this change, binding M-SPC to
 +      `cycle-spacing' should not introduce any changes in behavior of
 +      the binding so long as users do not type M-SPC twice in a raw with
 +      the same prefix argument or lack thereof.
 +
 +2014-03-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * faces.el (term-file-aliases): New variable.
 +      (tty-run-terminal-initialization): Respect term-file-aliases.
 +      * term/apollo.el, term/vt102.el, term/vt125.el, term/vt201.el:
 +      * term/vt220.el, term/vt240.el, term/vt300.el, term/vt320.el:
 +      * term/vt400.el, term/vt420.el: Remove files, replaced by aliases.
 +
 +2014-03-27  Glenn Morris  <rgm@gnu.org>
 +
 +      * startup.el (inhibit-startup-hooks): Doc tweak.
 +      (normal-top-level): Simplify running of hooks.
 +      For window-setup-hook, respect inhibit-startup-hooks.
 +      (command-line-1): Don't set window-setup-hook to nil.
 +
 +      Allow selective autoloading from obsolete/ directory.
 +      * Makefile.in (obsolete-autoloads): New rule.
 +      (autoloads): Run obsolete-autoloads.
 +      * obsolete/iswitchb.el (iswitchb-mode): Use obsolete-autoload.
 +      * simple.el (iswitchb-mode): Remove hand-written autoloads.
 +
  2014-03-27  Dmitry Gutov  <dgutov@yandex.ru>
  
        * progmodes/ruby-mode.el (ruby-font-lock-keywords):
        * emacs-lisp/package-x.el (package--archive-contents-from-url):
        Use url-insert-file-contents; package-handle-response no longer exists.
  
 +2014-03-26  Daniel Colascione  <dancol@dancol.org>
 +
 +      * simple.el (process-menu-mode-map): New variable.
 +      (process-menu-delete-process): New command.
 +
  2014-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
        * emacs-lisp/package.el: Fix bug#16733 (again).
        dynamic binding of `buffer'.
        (describe-package-1): Do not decode readme-string.
  
 -2014-03-25  Barry O'Reilly  <gundaetiapo@gmail.com>
 -
 -      * simple.el (primitive-undo): Correction to 2014-03-24 change.
 -
 -2014-03-25  Michael Albinus  <michael.albinus@gmx.de>
 +2014-03-26  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-methods, tramp-connection-timeout): Fix docstring.
  
        (tramp-do-copy-or-rename-file-directly): In the `rename' case,
        check whether source directory has set the sticky bit.
  
 -2014-03-24  Barry O'Reilly  <gundaetiapo@gmail.com>
 +2014-03-26  Barry O'Reilly  <gundaetiapo@gmail.com>
  
        * simple.el (primitive-undo): Only process marker adjustments
        validated against their corresponding (TEXT . POS).  Issue warning
        (undo-elt-in-region): Return nil when passed a marker adjustment
        and explain in function doc.
  
 -2014-03-24  Dmitry Gutov  <dgutov@yandex.ru>
 -
 -      * emacs-lisp/package.el (package--add-to-archive-contents):
 -      Include already installed and built-in packages in
 -      `package-archive-contents'.
 -      (package-install): Don't include already installed packages in the
 -      options during interactive invocation.  (Bug#16762)
 -
 -2014-03-24  Daniel Colascione  <dancol@dancol.org>
 -
 -      * emacs-lisp/cl-macs.el (cl--do-arglist): Use `plist-member'
 -      instead of cl-loop search function.
 -
 -2014-03-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * frameset.el (frameset--initial-params): Fix typo in parameter name.
 -
 -2014-03-24  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
 +2014-03-26  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
        * align.el (align-region): Do not fail when end-mark is nil (bug#17088).
  
 -2014-03-24  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-03-26  Dmitry Gutov  <dgutov@yandex.ru>
  
        * progmodes/ruby-mode.el (ruby-expression-expansion-re):
        Match special global variables without curlies, too.
        variables.  Don't require a non-word character after the variable.
        (Bug#17057)
  
 -2014-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * simple.el (redisplay-highlight-region-function): Increase priority of
        overlay to make sure boundaries are visible (bug#15899).
  
 -2014-03-23  Juanma Barranquero  <lekktu@gmail.com>
 +2014-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * frameset.el (frameset-restore): Compare display strings with equal.
 +      * frameset.el (frameset--initial-params): Fix typo in parameter name.
 +      (frameset-restore): Compare display strings with equal.
  
        * frame.el (make-frame): Don't quote display name in error message,
        it is already a string.
  
 -2014-03-23  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 +2014-03-26  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
  
        * net/tramp.el (tramp-read-passwd): Suspend the timers while reading
        the password.
  
 -2014-03-23  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-03-26  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * emacs-lisp/package.el (package--add-to-archive-contents):
 +      Include already installed and built-in packages in
 +      `package-archive-contents'.
 +      (package-install): Don't include already installed packages in the
 +      options during interactive invocation.  (Bug#16762)
 +      (package-show-package-list): If the buffer is already displayed in
 +      another window, switch to that window.
 +
 +2014-03-26  Reto Zimmermann  <reto@gnu.org>
 +
 +      Sync with upstream vhdl mode v3.35.1.
 +      * progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp): Update.
 +      (vhdl-compiler-alist): Doc fix.
 +      (vhdl-goto-line): Remove.
 +      (vhdl-mode-abbrev-table-init): Add XEmacs compat.
 +      (vhdl-mode) <paragraph-start>: Fix value.
 +      (vhdl-fix-statement-region): Not `for' in wait-statement.
 +      (vhdl-beautify-region): Also (un)tabify.
 +      (vhdl-get-visible-signals):
 +      Scan declarative part of generate statements.
 +      (vhdl-template-record): Fix indentation for record type declaration.
 +      (vhdl-expand-abbrev, vhdl-expand-paren):
 +      Revert to using fset again rather than defalias.
 +      (vhdl-scan-directory-contents): Tweak.
 +      (vhdl-speedbar-find-file, vhdl-speedbar-port-copy)
 +      (vhdl-compose-components-package):
 +      Replace vhdl-goto-line with forward-line.
 +      (top-level): Tweak speedbar frame selection.
 +      (vhdl-generate-makefile-1): Support for compilers with no
 +      unit-to-file name mapping (create directory with dummy files).
 +
 +2014-03-26  Wilson Snyder  <wsnyder@wsnyder.org>
 +
 +      Sync with upstream verilog-mode revision 702457d.
 +      * progmodes/verilog-mode.el (verilog-mode-version): Update.
 +      (create-lockfiles): Declare.
 +      (verilog-read-decls): Fix module header imports, bug709.
 +      Reported by Victor Lau.
 +      Fix parsing 'var' in AUTOs, msg1294.  Reported by Dominique Chen.
 +      (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
 +      interface-only modules, bug721.  Reported by Dean Hoyt.
 +
 +2014-03-26  Glenn Morris  <rgm@gnu.org>
  
 -      * emacs-lisp/package.el (package-show-package-list): If the buffer
 -      is already displayed in another window, switch to that window.
 +      * obsolete/gulp.el: Move here from emacs-lisp/.
  
 -2014-03-21  Daniel Colascione  <dancol@dancol.org>
 +      * files.el (lock-buffer, unlock-buffer, file-locked-p):
 +      Remove fallback aliases, since they are always defined now.
  
 -      * mail/emacsbug.el (report-emacs-bug): Include memory usage
 -      information in bug reports.
 +2014-03-24  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/cl-macs.el (cl--do-arglist): Use `plist-member'
 +      instead of cl-loop search function.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * calendar/parse-time.el (parse-time-iso8601-regexp)
 +      (parse-iso8601-time-string): Copy from `url-dav' so that we can use
 +      it more generally.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/dns.el (network-interface-list): Define for XEmacs.
 +
 +2014-03-23  Magnus Henoch  <magnus.henoch@gmail.com>
 +
 +      * net/dns.el (dns-servers-up-to-date-p): New function to see whether
 +      the network interfaces changed.
 +      (dns-query): Use it to flush the data.
 +
 +2014-03-23  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * vc/vc.el (vc-rollback): Use set-buffer-modified-p.
 +
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      Change subword-mode to use `find-word-boundary-function-table' and
 +      replace `capitalized-words-mode'.  Also, convert to lexical binding.
 +      * progmodes/cap-words.el: Delete now-obsolete file.
 +      * progmodes/subword.el: Reimplement using
 +      `find-word-boundary-function-table'.
 +      (subword-mode-map): Hollow out.
 +      (capitalized-words-mode): Define as obsolete alias for
 +      `subword-mode'.
 +      (subword-mode, superword-mode): Tweak documentation to reflect new
 +      implementation; call `subword-setup-buffer'.
 +      (subword-forward, subword-capitalize): Add underscore to indicate
 +      unused variable.
 +      (subword-find-word-boundary-function-table): New constant.
 +      (subword-empty-char-table): New constant.
 +      (subword-setup-buffer): New function.
 +      (subword-find-word-boundary): New function.
  
  2014-03-23  Daniel Colascione  <dancol@dancol.org>
  
        (Bug#3647) --- unfortunately, only for freshly-compiled code.
        Please make bootstrap.
  
 -2014-03-23  Richard Stallman  <rms@gnu.org>
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
  
 -      * battery.el (battery-linux-sysfs): Search for each field
 -      from the beginning of the buffer.
 +      * dired.el (dired-read-regexp): Make obsolete.
 +      (dired-mark-files-regexp, dired-mark-files-containing-regexp)
 +      (dired-flag-files-regexp):
 +      * dired-aux.el (dired-mark-read-regexp):
 +      * dired-x.el (dired-mark-unmarked-files): Use read-regexp directly.
 +
 +      * startup.el (fancy-startup-text):
 +      * help.el (describe-gnu-project): Visit online info about GNU project.
 +
 +      * help-fns.el (help-fns--interactive-only): New function.
 +      (help-fns-describe-function-functions): Add the above function.
 +      * simple.el (beginning-of-buffer, end-of-buffer, insert-buffer)
 +      (next-line, previous-line): Remove hand-written interactive-only
 +      information from doc strings, it is auto-generated now.
 +      * bookmark.el (bookmark-write):
 +      * epa-mail.el (epa-mail-decrypt, epa-mail-verify, epa-mail-sign)
 +      (epa-mail-import-keys): Mark interactive-only,
 +      and remove hand-written interactive-only information from doc strings.
 +      * epa.el (epa-decrypt-armor-in-region, epa-verify-region)
 +      (epa-verify-cleartext-in-region, epa-sign-region, epa-encrypt-region):
 +      * files.el (not-modified):
 +      * simple.el (mark-whole-buffer): Mark interactive-only.
 +
 +      * emacs-lisp/byte-run.el (defun-declarations-alist):
 +      Add interactive-only.  Doc tweak.
 +      (macro-declarations-alist): Doc tweak.
 +      * subr.el (declare): Doc tweak (add xref to manual).
 +      * comint.el (comint-run):
 +      * files.el (insert-file-literally, insert-file):
 +      * replace.el (replace-string, replace-regexp):
 +      * simple.el (beginning-of-buffer, end-of-buffer, delete-backward-char)
 +      (delete-forward-char, goto-line, insert-buffer, next-line)
 +      (previous-line): Set interactive-only via declare.
  
  2014-03-22  Dmitry Gutov  <dgutov@yandex.ru>
  
        * w32-common-fns.el (x-selection-owner-p): Add empty docstring for the
        benefit of doc.c; change parameter profile to match the X function.
  
 +2014-03-22  Leo Liu  <sdl.web@gmail.com>
 +
 +      * help.el (temp-buffer-setup-hook): Remove help-mode-setup.
 +      (temp-buffer-show-hook): Remove help-mode-finish.  (Bug#16038)
 +
 +2014-03-21  Richard Stallman  <rms@gnu.org>
 +
 +      * battery.el (battery-linux-sysfs): Search for each field
 +      from the beginning of the buffer.
 +
 +      * subr.el (set-transient-map): Clear out function and value
 +      of the temporary symbol when we're done with it.
 +
 +      * mail/rmailsum.el (rmail-summary-delete-forward):
 +      Optimize case of reaching end and handling count.
 +      (rmail-summary-mark-deleted): Optimize when N is current msg.
 +      Don't create new summary line.
 +      (rmail-summary-undelete): Pass arg to rmail-undelete-previous-message.
 +      (rmail-summary-undelete-many): Rewrite for speed.
 +      (rmail-summary-msg-number): New function.
 +
 +      * mail/rmail.el (rmail-delete-message): Update summary.
 +      (rmail-undelete-previous-message): Handle repeat count arg.
 +      (rmail-delete-backward, rmail-delete-forward): Likewise.
 +
 +2014-03-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * mail/emacsbug.el (report-emacs-bug): Include memory usage
 +      information in bug reports.
 +
  2014-03-21  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-methods): Add docstring for `tramp-login-env'
        (tty-color-approximate, tty-color-by-index, tty-color-values)
        (tty-color-desc): Remove superfluous backslashes.
  
 +2014-03-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * cus-start.el (history-length): Bump :version.
 +
 +      * Makefile.in ($(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):
 +      Don't set `make-backup-files'.
 +
 +      * info.el (info--prettify-description): New function,
 +      to give info-finder descriptions consistent case, punctuation.
 +      (Info-finder-find-node): Use it.  Sort packages.
 +      Refer to "description" rather than "commentary".
 +
 +2014-03-21  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * frameset.el (frameset--print-register): New function.
 +      (frameset-to-register): Use it.
 +
 +2014-03-20  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * progmodes/hideif.el (hif-string-to-number): New function.
 +      (hif-tokenize): Use it to understand non-decimal floats.
 +
 +      * emacs-lisp/cl-extra.el (cl--map-overlays): Remove obsolete code.
 +
 +      * skeleton.el (skeleton-autowrap): Mark as obsolete.  Doc fix.
 +
  2014-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * electric.el (electric-newline-and-maybe-indent): New command.
  2014-03-10  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
 -      Do not add `nil' to the environment, when there's no remote `locale'.
 +      Do not add nil to the environment, when there's no remote `locale'.
        (tramp-find-inline-encoding): Check, that the remote host has
        installed perl, before sending scripts.
  
        * help-at-pt.el (help-at-pt-string, help-at-pt-maybe-display):
        Also try to display local help from just before point.
  
 -2014-02-02  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2014-02-02  Alan Mackenzie  <acm@muc.de>
  
        c-parse-state.  Don't "append-lower-brace-pair" in certain
        circumstances.  Also fix an obscure bug where "\\s!" shouldn't be
        COMMAND-alternatives variable, assign COMMAND as its definition
        name so that `describe-variable' can relocate it.
  
 -2014-01-14  Matthew Leach  <matthew@mattleach.net>  (tiny change)
 +2014-01-14  Matthew Leach  <matthew@mattleach.net>
  
        * font-lock.el (font-lock-keywords): Fix typo in docstring
        (bug#16307).
        Add option to delete file when done.  (Bug#15647)
        (python-shell-send-string, python-shell-send-region): Use it.
  
 -2013-11-23  Ivan Shmakov  <ivan@siamics.net>  (tiny change)
 +2013-11-23  Ivan Shmakov  <ivan@siamics.net>
  
        * vc/diff-mode.el (diff-mode): Only allow diff-default-read-only
        to set buffer-read-only to t, never to nil.  (Bug#15938)
  
        * rect.el (rectangle-mark-mode): Rename from rectangle-mark.
        Make it into a proper minor mode.
 -      (rectangle--region): (implicitly) rename to rectangle-mark-mode.
 +      (rectangle--region): (Implicitly) rename to rectangle-mark-mode.
        (rectangle-mark-mode-map): New keymap.
        (rectangle--highlight-for-redisplay): Fix some corner cases (bug#15796).
  
  
  2013-10-28  Daiki Ueno  <ueno@gnu.org>
  
 -      * epa-file.el
 -      (epa-file-cache-passphrase-for-symmetric-encryption):
 +      * epa-file.el (epa-file-cache-passphrase-for-symmetric-encryption):
        Document that this option has no effect with GnuPG 2.0 (bug#15552).
  
  2013-10-27  Xue Fuqiao  <xfq.free@gmail.com>
  
  2013-06-04  Alan Mackenzie  <acm@muc.de>
  
 -      Remove faulty optimisation from indentation calculation.
 +      Remove faulty optimization from indentation calculation.
        * progmodes/cc-engine.el (c-guess-basic-syntax): Don't calculate
        search limit based on 2000 characters back from indent-point.
  
        * textmodes/reftex-vars.el (reftex-ref-style-alist):
        Add cleveref macros.
  
 -      * textmodes/reftex-parse.el
 -      (reftex-locate-bibliography-files): Accept options for
 -      bibliography commands.
 +      * textmodes/reftex-parse.el (reftex-locate-bibliography-files):
 +      Accept options for bibliography commands.
        * textmodes/reftex-vars.el (reftex-bibliography-commands):
        Add addbibresource.  Basic Biblatex support.
  
  2013-04-19  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        New faster Imenu implementation (bug#14058).
 -      * progmodes/python.el:
 -      (python-imenu-prev-index-position):
 +      * progmodes/python.el (python-imenu-prev-index-position)
        (python-imenu-format-item-label-function)
        (python-imenu-format-parent-item-label-function)
        (python-imenu-format-parent-item-jump-label-function):
index 7fd72dd770593c9a72224edca6ac7623534fa480,51006d7c471f509414e18943afbccd07c842952b..fdb8cc8f39db36d4499f309479250b040904506c
@@@ -425,49 -425,31 +425,49 @@@ Filled in `cconv-analyse-form' but init
  
  (defvar byte-compiler-error-flag)
  
 +(defun byte-compile-recurse-toplevel (form non-toplevel-case)
 +  "Implement `eval-when-compile' and `eval-and-compile'.
 +Return the compile-time value of FORM."
 +  ;; Macroexpand (not macroexpand-all!) form at toplevel in case it
 +  ;; expands into a toplevel-equivalent `progn'.  See CLHS section
 +  ;; 3.2.3.1, "Processing of Top Level Forms".  The semantics are very
 +  ;; subtle: see test/automated/bytecomp-tests.el for interesting
 +  ;; cases.
 +  (setf form (macroexpand form byte-compile-macro-environment))
 +  (if (eq (car-safe form) 'progn)
 +      (cons 'progn
 +            (mapcar (lambda (subform)
 +                      (byte-compile-recurse-toplevel
 +                       subform non-toplevel-case))
 +                    (cdr form)))
 +    (funcall non-toplevel-case form)))
 +
  (defconst byte-compile-initial-macro-environment
 -  '(
 +  `(
      ;; (byte-compiler-options . (lambda (&rest forms)
      ;;                       (apply 'byte-compiler-options-handler forms)))
      (declare-function . byte-compile-macroexpand-declare-function)
 -    (eval-when-compile . (lambda (&rest body)
 -                         (list
 -                          'quote
 -                          (byte-compile-eval
 -                             (byte-compile-top-level
 -                              (byte-compile-preprocess (cons 'progn body)))))))
 -    (eval-and-compile . (lambda (&rest body)
 -                          ;; Byte compile before running it.  Do it piece by
 -                          ;; piece, in case further expressions need earlier
 -                          ;; ones to be evaluated already, as is the case in
 -                          ;; eieio.el.
 -                          `(progn
 -                             ,@(mapcar (lambda (exp)
 -                                         (let ((cexp
 -                                                (byte-compile-top-level
 -                                                 (byte-compile-preprocess
 -                                                  exp))))
 -                                           (eval cexp)
 -                                           cexp))
 -                                       body)))))
 +    (eval-when-compile . ,(lambda (&rest body)
 +                                  (let ((result nil))
 +                                    (byte-compile-recurse-toplevel
 +                                     (cons 'progn body)
 +                                     (lambda (form)
 +                                       (setf result
 +                                             (byte-compile-eval
 +                                              (byte-compile-top-level
 +                                               (byte-compile-preprocess form))))))
 +                                    (list 'quote result))))
 +    (eval-and-compile . ,(lambda (&rest body)
 +                                 (byte-compile-recurse-toplevel
 +                                  (cons 'progn body)
 +                                  (lambda (form)
 +                                    ;; Don't compile here, since we don't know
 +                                    ;; whether to compile as byte-compile-form
 +                                    ;; or byte-compile-file-form.
 +                                    (let ((expanded
 +                                           (byte-compile-preprocess form)))
 +                                      (eval expanded lexical-binding)
 +                                      expanded))))))
    "The default macro-environment passed to macroexpand by the compiler.
  Placing a macro here will cause a macro to have different semantics when
  expanded by the compiler as when expanded by the interpreter.")
@@@ -1165,10 -1147,13 +1165,13 @@@ Each function's symbol gets added to `b
        (byte-compile-warn "%s" msg)))))
  
  (defun byte-compile-report-error (error-info)
-   "Report Lisp error in compilation.  ERROR-INFO is the error data."
+   "Report Lisp error in compilation.
+ ERROR-INFO is the error data, in the form of either (ERROR-SYMBOL . DATA)
+ or STRING."
    (setq byte-compiler-error-flag t)
    (byte-compile-log-warning
-    (error-message-string error-info)
+    (if (stringp error-info) error-info
+      (error-message-string error-info))
     nil :error))
  \f
  ;;; sanity-checking arglists
@@@ -1364,33 -1349,6 +1367,33 @@@ extra args.
  ;; Warn if the function or macro is being redefined with a different
  ;; number of arguments.
  (defun byte-compile-arglist-warn (name arglist macrop)
 +  ;; This is the first definition.  See if previous calls are compatible.
 +  (let ((calls (assq name byte-compile-unresolved-functions))
 +        nums sig min max)
 +    (when (and calls macrop)
 +      (byte-compile-warn "macro `%s' defined too late" name))
 +    (setq byte-compile-unresolved-functions
 +          (delq calls byte-compile-unresolved-functions))
 +    (setq calls (delq t calls))      ;Ignore higher-order uses of the function.
 +    (when (cdr calls)
 +      (when (and (symbolp name)
 +                 (eq (function-get name 'byte-optimizer)
 +                     'byte-compile-inline-expand))
 +        (byte-compile-warn "defsubst `%s' was used before it was defined"
 +                           name))
 +      (setq sig (byte-compile-arglist-signature arglist)
 +            nums (sort (copy-sequence (cdr calls)) (function <))
 +            min (car nums)
 +            max (car (nreverse nums)))
 +      (when (or (< min (car sig))
 +                (and (cdr sig) (> max (cdr sig))))
 +        (byte-compile-set-symbol-position name)
 +        (byte-compile-warn
 +         "%s being defined to take %s%s, but was previously called with %s"
 +         name
 +         (byte-compile-arglist-signature-string sig)
 +         (if (equal sig '(1 . 1)) " arg" " args")
 +         (byte-compile-arglist-signature-string (cons min max))))))
    (let* ((old (byte-compile-fdefinition name macrop))
           (initial (and macrop
                         (cdr (assq name
      ;; to a defined function.  (Bug#8646)
      (and initial (symbolp initial)
           (setq old (byte-compile-fdefinition initial nil)))
 -    (if (and old (not (eq old t)))
 -      (progn
 -        (and (eq 'macro (car-safe old))
 -             (eq 'lambda (car-safe (cdr-safe old)))
 -             (setq old (cdr old)))
 -        (let ((sig1 (byte-compile-arglist-signature
 -                     (pcase old
 -                         (`(lambda ,args . ,_) args)
 -                         (`(closure ,_ ,args . ,_) args)
 -                         ((pred byte-code-function-p) (aref old 0))
 -                         (t '(&rest def)))))
 -              (sig2 (byte-compile-arglist-signature arglist)))
 -          (unless (byte-compile-arglist-signatures-congruent-p sig1 sig2)
 -            (byte-compile-set-symbol-position name)
 -            (byte-compile-warn
 -             "%s %s used to take %s %s, now takes %s"
 -             (if macrop "macro" "function")
 -             name
 -             (byte-compile-arglist-signature-string sig1)
 -             (if (equal sig1 '(1 . 1)) "argument" "arguments")
 -             (byte-compile-arglist-signature-string sig2)))))
 -      ;; This is the first definition.  See if previous calls are compatible.
 -      (let ((calls (assq name byte-compile-unresolved-functions))
 -          nums sig min max)
 -        (setq byte-compile-unresolved-functions
 -              (delq calls byte-compile-unresolved-functions))
 -        (setq calls (delq t calls))  ;Ignore higher-order uses of the function.
 -      (when (cdr calls)
 -          (when (and (symbolp name)
 -                     (eq (function-get name 'byte-optimizer)
 -                         'byte-compile-inline-expand))
 -            (byte-compile-warn "defsubst `%s' was used before it was defined"
 -                     name))
 -          (setq sig (byte-compile-arglist-signature arglist)
 -                nums (sort (copy-sequence (cdr calls)) (function <))
 -                min (car nums)
 -                max (car (nreverse nums)))
 -          (when (or (< min (car sig))
 -                    (and (cdr sig) (> max (cdr sig))))
 -            (byte-compile-set-symbol-position name)
 -            (byte-compile-warn
 -             "%s being defined to take %s%s, but was previously called with %s"
 -             name
 -             (byte-compile-arglist-signature-string sig)
 -             (if (equal sig '(1 . 1)) " arg" " args")
 -             (byte-compile-arglist-signature-string (cons min max)))))))))
 +    (when (and old (not (eq old t)))
 +      (and (eq 'macro (car-safe old))
 +           (eq 'lambda (car-safe (cdr-safe old)))
 +           (setq old (cdr old)))
 +      (let ((sig1 (byte-compile-arglist-signature
 +                   (pcase old
 +                     (`(lambda ,args . ,_) args)
 +                     (`(closure ,_ ,args . ,_) args)
 +                     ((pred byte-code-function-p) (aref old 0))
 +                     (t '(&rest def)))))
 +            (sig2 (byte-compile-arglist-signature arglist)))
 +        (unless (byte-compile-arglist-signatures-congruent-p sig1 sig2)
 +          (byte-compile-set-symbol-position name)
 +          (byte-compile-warn
 +           "%s %s used to take %s %s, now takes %s"
 +           (if macrop "macro" "function")
 +           name
 +           (byte-compile-arglist-signature-string sig1)
 +           (if (equal sig1 '(1 . 1)) "argument" "arguments")
 +           (byte-compile-arglist-signature-string sig2)))))))
  
  (defvar byte-compile-cl-functions nil
    "List of functions defined in CL.")
@@@ -2221,12 -2205,9 +2224,12 @@@ list that represents a doc string refer
     (t form)))
  
  ;; byte-hunk-handlers cannot call this!
 -(defun byte-compile-toplevel-file-form (form)
 -  (let ((byte-compile-current-form nil))      ; close over this for warnings.
 -    (byte-compile-file-form (byte-compile-preprocess form t))))
 +(defun byte-compile-toplevel-file-form (top-level-form)
 +  (byte-compile-recurse-toplevel
 +   top-level-form
 +   (lambda (form)
 +     (let ((byte-compile-current-form nil)) ; close over this for warnings.
 +       (byte-compile-file-form (byte-compile-preprocess form t))))))
  
  ;; byte-hunk-handlers can call this.
  (defun byte-compile-file-form (form)
@@@ -2529,8 -2510,7 +2532,8 @@@ If QUOTED is non-nil, print with quotin
    "Return an expression which will evaluate to a function value FUN.
  FUN should be either a `lambda' value or a `closure' value."
    (pcase-let* (((or (and `(lambda ,args . ,body) (let env nil))
 -                    `(closure ,env ,args . ,body)) fun)
 +                    `(closure ,env ,args . ,body))
 +                fun)
                 (renv ()))
      ;; Turn the function's closed vars (if any) into local let bindings.
      (dolist (binding env)
@@@ -2732,9 -2712,7 +2735,9 @@@ for symbols generated by the byte compi
                ;; byte-string, constants-vector, stack depth
                (cdr compiled)
                ;; optionally, the doc string.
 -              (cond (lexical-binding
 +              (cond ((and lexical-binding arglist)
 +                     ;; byte-compile-make-args-desc lost the args's names,
 +                     ;; so preserve them in the docstring.
                       (list (help-add-fundoc-usage doc arglist)))
                      ((or doc int)
                       (list doc)))
                                   (t "."))))
          (if (eq (car-safe (symbol-function (car form))) 'macro)
              (byte-compile-log-warning
 -             (format "Forgot to expand macro %s" (car form)) nil :error))
 +             (format "Forgot to expand macro %s in %S" (car form) form)
 +             nil :error))
          (if (and handler
                   ;; Make sure that function exists.
                   (and (functionp handler)
@@@ -4080,8 -4057,9 +4083,8 @@@ binding slots have been popped.
  (byte-defop-compiler-1 save-restriction)
  ;; (byte-defop-compiler-1 save-window-excursion)      ;Obsolete: now a macro.
  ;; (byte-defop-compiler-1 with-output-to-temp-buffer) ;Obsolete: now a macro.
 -(byte-defop-compiler-1 track-mouse)
  
 -(defvar byte-compile--use-old-handlers t
 +(defvar byte-compile--use-old-handlers nil
    "If nil, use new byte codes introduced in Emacs-24.4.")
  
  (defun byte-compile-catch (form)
    (byte-compile-form-do-effect (car (cdr form)))
    (byte-compile-out 'byte-unbind 1))
  
 -(defun byte-compile-track-mouse (form)
 -  (byte-compile-form
 -   (pcase form
 -     (`(,_ :fun-body ,f) `(eval (list 'track-mouse (list 'funcall ,f))))
 -     (_ `(eval '(track-mouse ,@(byte-compile-top-level-body (cdr form))))))))
 -
  (defun byte-compile-condition-case (form)
    (if byte-compile--use-old-handlers
        (byte-compile-condition-case--old form)
diff --combined src/ChangeLog
index e3f34e27dfcf2130e95868256a981246ebc07a31,7b595b5f9e9fcffc1fc268570f76bdf4846cee5e..82a9b24876c572a19cf9a97e6684fef2099b7f13
  2014-11-08  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * nsterm.m (init): Replace OSX 10.9 check with IMPL_COCOA.
 -      (run): Ditto.  Only use non-system event loop if OSX version is
 +      * nsterm.m (run): Only use non-system event loop if OSX version is
        exactly 10.9 (Bug#18993).
+       (ns_set_vertical_scroll_bar): Don't call bar setPosition: unless
+       needed (Bug#18757).
  
 -2014-11-07  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
  
        * callproc.c (encode_current_directory): Support handling of file
        names prepended by "/:".  (Bug#18891)
  
 -2014-11-06  Alan Mackenzie  <acm@muc.de>
 +2014-11-08  Alan Mackenzie  <acm@muc.de>
  
        * syntax.c (back_comment): Fix off-by-one error (bug#18022).
  
 -2014-11-06  Dima Kogan  <dima@secretsauce.net>
 +2014-11-08  Dima Kogan  <dima@secretsauce.net>
  
        * xgselect.c (xg_select): Use g_main_context_acquire (bug#18861).
  
 -2014-11-05  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
  
        * dired.c (Ffile_attributes): Return Qnil, if Fexpand_file_name
        raises an error.  (Bug#18891)
  
 +2014-11-08  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (adjust_frame_size): Call x_set_window_size only if
 +      f->can_x_set_window_size is set.
 +      (make_frame): Initialize f->can_x_set_window_size and
 +      f->can_run_window_configuration_change_hook.
 +      (Fcan_run_window_configuration_change_hook): New function.
 +      * frame.h (frame): Split `official' into `can_x_set_window_size'
 +      and `can_run_window_configuration_change_hook'.
 +      * nsfns.m (Fx_create_frame): Set f->can_x_set_window_size.
 +      * w32fns.c (Fx_create_frame, x_create_tip_frame): Set
 +      f->can_x_set_window_size.
 +      * window.c (run_window_configuration_change_hook): Return
 +      immediately if either f->can_x_set_window_size or
 +      f->can_run_window_configuration_change_hook are false.
 +      (Fset_window_configuration): Instead of f->official set
 +      f->can_x_set_window_size.
 +      * xfns.c (Fx_create_frame, x_create_tip_frame): Set
 +      f->can_x_set_window_size.
 +
 +2014-11-08  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (EmacsScroller.dealloc): Reinstate, removed at merge
 +      cleanup from 2014-11-01 (Bug#18972).
 +
 +2014-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keyboard.c: Call gui-set-selection instead of x-set-selection.
 +      * xdisp.c (window-scroll-functions): Improve docstring.
 +
 +2014-11-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Uniquify the 'size' symbol.
 +      * frame.c (Qsize):
 +      * w32notify.c (Qsize): Remove.
 +      * lisp.h (Qsize): New decl.
 +      * lread.c (Qsize): Now extern.
 +      * w32notify.c (syms_of_w32notify): No need to defsym.
 +
 +2014-11-07  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * dispnew.c (change_frame_size_1): Fix call of
 +      adjust_frame_size.
 +      * frame.c (Qsize, Qframe_position, Qframe_outer_size)
 +      (Qframe_inner_size, Qexternal_border_size, Qtitle_height)
 +      (Qmenu_bar_external, Qmenu_bar_size, Qtool_bar_external)
 +      (Qtool_bar_size): New constants.
 +      (frame_inhibit_resize, adjust_frame_size): New argument to
 +      handle case where frame_inhibit_implied_resize is a list.
 +      (Fmake_terminal_frame, Fset_frame_height, Fset_frame_width)
 +      (Fset_frame_size, x_set_left_fringe, x_set_right_fringe)
 +      (x_set_right_divider_width, x_set_bottom_divider_width)
 +      (x_set_vertical_scroll_bars, x_set_horizontal_scroll_bars)
 +      (x_set_scroll_bar_width, x_set_scroll_bar_height):
 +      Update callers.
 +      (frame-inhibit-implied-resize): Rewrite doc-string.
 +      * frame.h (frame_inhibit_resize, adjust_frame_size):
 +      Fix external declarations.
 +      (Qframe_position, Qframe_outer_size)
 +      (Qframe_inner_size, Qexternal_border_size, Qtitle_height)
 +      (Qmenu_bar_external, Qmenu_bar_size, Qtool_bar_external)
 +      (Qtool_bar_size): Extern them.
 +      * gtkutil.c (FRAME_TOTAL_PIXEL_HEIGHT, FRAME_TOTAL_PIXEL_WIDTH)
 +      (xg_height_or_width_changed): Remove.
 +      (xg_frame_set_char_size): Adjust adjust_frame_size calls.
 +      (menubar_map_cb, xg_update_frame_menubar, free_frame_menubar)
 +      (tb_size_cb, update_frame_tool_bar, free_frame_tool_bar)
 +      (xg_change_toolbar_position): Call adjust_frame_size directly.
 +      * nsfns.m (x_set_internal_border_width, Fx_create_frame):
 +      Fix calls of adjust_frame_size.
 +      * w32fns.c (x_set_internal_border_width, x_set_menu_bar_lines)
 +      (Fx_create_frame, x_create_tip_frame): Adjust adjust_frame_size calls.
 +      (x_set_tool_bar_lines, x_change_tool_bar_height): Make sure that
 +      frame can get resized when tool-bar-lines parameter changes from
 +      or to zero.
 +      (Fw32_frame_menu_bar_size): Return fourth value.
 +      (Fw32_frame_rect): Block input around system calls
 +      (Fx_frame_geometry): New function.
 +      * w32menu.c (set_frame_menubar): Adjust adjust_frame_size call.
 +      * w32term.c (x_new_font): Adjust adjust_frame_size call.
 +      * widget.c (EmacsFrameSetCharSize): Adjust frame_inhibit_resize call.
 +      * window.c (Fset_window_configuration): Adjust adjust_frame_size call.
 +      * xfns.c (x_set_menu_bar_lines, x_set_internal_border_width)
 +      (Fx_create_frame): Adjust adjust_frame_size calls.
 +      (x_set_tool_bar_lines, x_change_tool_bar_height): Make sure that
 +      frame can get resized when tool-bar-lines parameter changes from
 +      or to zero.
 +      (Fx_frame_geometry): New function.
 +      * xmenu.c (update_frame_menubar): On Lucid call
 +      adjust_frame_size with one pixel less height to avoid that
 +      repeatedly adding/removing the menu bar grows the frame.
 +      (free_frame_menubar): On Motif arrange to optionally preserve
 +      the old frame height when removing the menu bar.
 +      * xterm.c (x_new_font): Adjust adjust_frame_size call.
 +
  2014-11-03  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (Fdump_glyph_matrix, Fdump_frame_glyph_matrix): Doc fix.
  
        * nsfns.m (ns_set_doc_edited): Check for FRAME_NS (Bug#18925).
  
 -2014-10-31  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-11-02  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsimage.m (allocInitFromFile:): Initialize bmRep.
 +      (dealloc): Release bmRep.
 +
 +      * nsterm.h (EmacsImage): Remove imageListNext, refCount, reference,
 +      imageListSetNext, imageListNext.
 +
 +      * nsimage.m (ImageList, imageListNext, imageListSetNext:)
 +      (reference): Remove.
 +      (allocInitFromFile:): Remove searching ImageList and calling
 +      reference (Bug#18918).
 +      (dealloc): Remove handling if ImageList.
 +
 +2014-11-02  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * macfont.m (macfont_glyph_extents): Turn off syntetic bold
 +      * process.c (catch_child_signal): Fix incorrect assertion.
 +
 +2014-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * macfont.m (macfont_draw):
 +      * nsterm.m (ns_mouse_position, judge): Clean up merge conflict.
 +
 +      * macfont.m (macfont_glyph_extents): Turn off synthetic bold
        if force_integral_p (i.e. no antialias).
 -      (macfont_draw): Check ns_antialias_text, also turn off syntetic
 +      (macfont_draw): Check ns_antialias_text, also turn off synthetic
        bold if no antialias (Bug#18876).
  
        * emacs.c (main): Don't chdir to $HOME on Cocoa if --chdir
        was given (Bug#18846).
  
 -2014-10-30  Jan Djärv  <jan.h.d@swipnet.se>
 -
        * nsterm.h (ns_set_doc_edited): Declare taking no args.
  
        * nsfns.m (ns_set_doc_edited): Do all logic (check frames) here
        (getMouseMotionPart:window:x:y:): Remove, unused.
        (sendScrollEventAtLoc:fromEvent:): Make Lisp_Object win from window.
  
 -2014-10-30  Samuel Bronson  <naesten@gmail.com>
 +2014-11-01  Eli Zaretskii  <eliz@gnu.org>
  
 -      * unexmacosx.c (copy_data_segment): Port to GCC 4.6+ (Bug#9927).
 +      * keyboard.c (readable_events): When FLAGS include
 +      READABLE_EVENTS_FILTER_EVENTS, ignore BUFFER_SWITCH_EVENT events.
 +      This avoids returning non-nil from input-pending-p when only such
 +      events are in the queue.  (Bug#18856)
 +
 +2014-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsselect.m (QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME)
 +      (NXPrimaryPboard, NXSecondaryPboard): Declare static.
 +      (Qforeign_selection): Remove.
 +      (ns_get_local_selection): Identation fix.
 +      (syms_of_nsselect): Remove Qforeign_selection, ns-lost-selection-hooks
 +
 +      * nsselect.m (ns_get_local_selection): Remove calling of
 +      functions in Vselection_converter_alist (Bug#18911).
 +      (syms_of_nsselect): Remove Vselection_converter_alist.
  
 -2014-10-28  Eli Zaretskii  <eliz@gnu.org>
 +(2014-10-31  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * font.c (copy_font_spec): Redesign to avoid Fcopy_alist
 +      and unnecessary initialization.  Adjust comments.
 +
 +2014-10-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (bidi_cache_reset_to): Invalidate bidi_cache_last_idx by
 +      setting it to -1.
 +      (bidi_find_bracket_pairs): Pass to bidi_cache_reset_to a relative
 +      index, not an absolute one, as that's what the function expects.
 +
 +2014-10-30  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to realize
 +      font on an initial frame when running as a daemon (Bug#18869).
 +
 +      * fontset.c (toplevel): Adjust comment to match 2014-06-19 change.
 +
 +2014-10-30  Eli Zaretskii  <eliz@gnu.org>
  
        * fileio.c (Fexpand_file_name): Use make_unibyte_string, not
        build_string, when importing a home directory.  (Bug#18873)
  
 -2014-10-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispnew.c (buffer_posn_from_coords): Use
 -      WINDOW_WANTS_HEADER_LINE_P, not WINDOW_WANTS_MODELINE_P, to
 +      * dispnew.c (buffer_posn_from_coords):
 +      Use WINDOW_WANTS_HEADER_LINE_P, not WINDOW_WANTS_MODELINE_P, to
        account for the header-line height.  (Bug#18839)
  
 -2014-10-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2014-10-28  Ulf Jasper  <ulf.jasper@web.de>
  
 -      * xdisp.c (draw_glyphs): Set clipping to highlight boundaries.
 -      [Backport]
 -      (erase_phys_cursor): Fix confusion between window-relative and
 -      text area-relative x-coordinates.  [Backport]
 +      * xml.c (parse_region): Do not forget the first document child.
  
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 +2014-10-25  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * minibuf.c (history-length): Increase default from 30 to 100.
 -      [Backport]
 +      * nsselect.m: pasteboard_changecount is new.
 +      (ns_store_pb_change_count, ns_get_pb_change_count)
 +      (ns_get_our_change_count_for): New functions.
 +      (ns_string_to_pasteboard_internal): Correct comment.
 +      type => gtype in eassert, Call ns_store_pb_change_count.
 +      (Fns_own_selection_internal): Remove data, use value (Bug#18799).
 +      (Fns_disown_selection_internal, Fns_selection_owner_p):
 +      Replace Vselection_alist check, with change count check.
 +      (Fns_get_selection): Initialize val to Qnil.  Only get local
 +      selection if change counts match (Bug#18799).
 +      (nxatoms_of_nsselect): Initialize pasteboard_changecount.
 +
 +2014-10-25  Noam Postavsky  <npostavs@users.sourceforget.net>
 +
 +      * src/w32proc.c (create_child): If calling a quoted batch file,
 +      pass NULL for exe.  (Bug#18745)
 +
 +2014-10-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (bidi_resolve_explicit, bidi_find_bracket_pairs)
 +      (bidi_resolve_brackets): Use end of string position rather than ZV
 +      when iterating over a string.  (Bug#18815)
  
 -2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-10-24  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * keyboard.c (make_lispy_position): Return coordinates also when
 +      on scroll bars, fringes, margins or not in a window.
 +      * xdisp.c (show_mouse_face): Don't change cursor face during
 +      mouse tracking.
 +
 +2014-10-23  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size)
 +      (frame_resize_pixelwise, frame_inhibit_implied_resize):
 +      Fix doc-strings (Bug#18789).
 +
 +2014-10-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * Makefile.in (ACLOCAL_INPUTS): Omit unnecessary use of 'wildcard'.
 +
 +2014-10-22  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Optimize redisplay of simple bracketed text.
 +      * bidi.c (bidi_cache_reset_to): New function.
 +      (bidi_cache_reset): Call it.
 +      (bidi_init_it, bidi_line_init): Initialize the bracket_pairing_pos
 +      member to -1.
 +      (bidi_resolve_explicit): Reset bracket_pairing_pos and
 +      bracket_enclosed_type only if bracket_pairing_pos's value is not
 +      ZV.
 +      (MAX_BPA_STACK): Make sure the value is signed.
 +      (PUSH_BPA_STACK): If the BPA stack overflows, don't bail out, but
 +      stop pushing values onto the stack.
 +      (bidi_find_bracket_pairs): If the bracketed text is only on the
 +      base embedding level, remove all the states cached by this
 +      function from the cache, and return zero, so that the brackets in
 +      this segment of text are processed as normal neutrals.
 +      (bidi_resolve_brackets): Detect the brackets that are to be
 +      processed as neutrals, and don't call bidi_find_bracket_pairs on
 +      them.  (Bug#18778)
 +
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * w32select.c (Fw32_selection_exists_p): Rename from
 +      Fx_selection_exists_p.
 +      (syms_of_w32select): Adjust accordingly.
 +
 +      * w16select.c (Fw16_selection_exists_p): Rename from
 +      Fx_selection_exists_p.
 +      (syms_of_win16select): Adjust accordingly.
 +
 +      * nsselect.m (ns_get_local_selection): Signal error rather than `quit'.
 +      (Fns_own_selection_internal): Tighten scoping.
 +      (Fns_selection_exists_p): Rename from Fx_selection_exists_p.
 +      (Fns_get_selection): Rename from Fx_get_selection_internal.
 +      (Fns_get_selection_internal, Fns_store_selection_internal):
 +      Remove functions.
 +      (syms_of_nsselect): Adjust accordingly.
 +
 +2014-10-21  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32fns.c (Fw32_frame_menu_bar_size): New function.
 +      * w32term.c (x_set_window_size): Account for wrapped menu bar
 +      lines when setting up frame height (Bug#15174 and Bug#18720).
 +      (w32_add_wrapped_menu_bar_lines): New variable.
 +
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * xdisp.c (redisplay_window): Re-run pre-redisplay-function after we
        move point.
  
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-19  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * gtkutil.c (xg_update_menubar, xg_update_menu_item): Only call
 +      g_object_notify for label if Gtk+ >= 2.16 (Bug#16522).
 +
 +      * xterm.h (x_output): Remove net_wm_state_hidden_seen.
 +
 +      * xterm.c (handle_one_xevent): Check return value from
 +      x_handle_net_wm_state, remove net_wm_state_hidden_seen (Bug#18722).
 +      (get_current_wm_state): Remove net_wm_state_hidden_seen setting.
 +
 +      * gtkutil.c (create_dialog): Don't use gtk_dialog_get_action_area on
 +      Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14 (Bug#18674).
 +      (make_widget_for_menu_item): Don't use gtk_misc_set_alignment on
 +      Gtk+ >= 3.14 (Bug#18674).
 +      (update_frame_tool_bar): Don't use  gtk_misc_set_padding on
 +      Gtk+ >= 3.14 (Bug#18674).
 +
 +2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * gtkutil.c: Remove no-longer-used code.
 +      (xg_update_menubar): Remove unused local and unnecessary call to
 +      gtk_menu_item_get_submenu.
 +      (XG_TOOL_BAR_PROXY_BUTTON, xg_tool_bar_proxy_callback)
 +      (xg_get_tool_bar_widgets, xg_tool_bar_proxy_help_callback)
 +      (TOOLBAR_TOP_WIDGET): Remove; no longer used.
 +
 +2014-10-18  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xfns.c (syms_of_xfns): Remove x-gtk-whole-detached-tool-bar.
 +
 +      * xterm.h (handlebox_widget): Remove.
 +
 +      * xmenu.c (set_frame_menubar): Remove GTK block that calls
 +      xg_have_tear_offs.
 +
 +      * gtkutil.h (xg_have_tear_offs): Remove declaration.
 +
 +      * gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines
 +      to handle Gtk versions.
 +      (xg_get_file_with_chooser): Use them.
 +      (xg_have_tear_offs, tearoff_remove, tearoff_activate):
 +      Remove (create_menus): Remove teroff argument and code.
 +      Remove call to gtk_menu_set_title.
 +      (xg_update_menubar, xg_update_submenu): Remove tearoff code.
 +      Adjust args to create_menus.
 +      (xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback)
 +      (xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove.
 +      (xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code.
 +      (xg_make_tool_item): Remove detach code.
 +      (xg_update_tool_bar_sizes): Replace TOOLBAR_TOP_WIDGET.
 +      (find_icon_from_name): New function.
 +      (update_frame_tool_bar): Remove GtkStockItem code, move to
 +      find_icon_from_name.  Let stock be a list of icon names to try.
 +      Only use gtk_image_new_from_stock on Gtk+ < 3.10.
 +      Replace TOOLBAR_TOP_WIDGET.
 +      (free_frame_tool_bar, xg_change_toolbar_position ):
 +      Replace TOOLBAR_TOP_WIDGET.
 +      (xg_initialize): Remove tearoff code.
 +
 +2014-10-18  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xterm.c (x_draw_bar_cursor, x_draw_hollow_cursor): Subtract 1
 +      pixel from the window's cursor glyph width, since X renders hollow
 +      blocks 1 pixel wider than the 'width' parameter.
 +
 +      * xdisp.c (get_phys_cursor_geometry): Don't subtract 1 pixel from
 +      glyph->pixel_width; this is now done in xterm.c.
 +
 +      Fix reordering of bracket characters in isolates.
 +      * bidi.c (bidi_cache_find): Rename the argument NEUTRALS_OK to
 +      RESOLVED_ONLY; when non-zero, return from the cache only fully
 +      resolved states.  All callers changed.
 +      (CANONICAL_EQU): New macro.
 +      (PUSH_BPA_STACK): Use it to push onto the BPA stack the canonical
 +      equivalent of the paired closing bracket character.
 +      (bidi_find_bracket_pairs): Set the bracket_pairing_pos member to
 +      the default non-negative value, to be checked later in
 +      bidi_resolve_brackets.  Use CANONICAL_EQU to test candidate
 +      characters against those pushed onto the BPA stack.
 +      (bidi_record_type_for_neutral): New function.
 +      (bidi_resolve_brackets): Record next_for_neutral and
 +      prev_for_neutral when embedding level gets pushed.  Force
 +      resolution of bracket pairs when entering a level run that was not
 +      yet BPA-resolved.
 +      (bidi_resolve_neutral): Add assertions before calling
 +      bidi_resolve_neutral_1.
 +      (bidi_level_of_next_char): Remove the code that attempted to
 +      resolve unresolved neutrals; that is now done by
 +      bidi_resolve_neutral.
 +
 +      * w32select.c (owner_callback): Mark with ALIGN_STACK attribute.
  
  2014-10-17  Eli Zaretskii  <eliz@gnu.org>
  
        Reported by Dmitry Antipov <dmantipov@yandex.ru>, see
        http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00518.html.
  
 -2014-10-10  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-10-16  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (bidi_find_bracket_pairs): Avoid a loop that does nothing
 +      useful.
 +
 +2014-10-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * bidi.c (bidi_find_bracket_pairs): Initialize local var.
 +      This pacifies GCC 4.9.1 with --enable-gcc-warnings.
 +      It's not clear to me whether the initialization is needed,
 +      but it can't hurt so I played it safe.
 +
 +2014-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * lisp.mk (lisp): Add emacs-lisp/eldoc.elc.
 +
 +2014-10-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Update the bidirectional reordering engine for Unicode 6.3 and 7.0.
 +      * bidi.c (bidi_ignore_explicit_marks_for_paragraph_level):
 +      Remove variable.
 +      (bidi_get_type): Return the isolate initiators and terminator types.
 +      (bidi_isolate_fmt_char, bidi_paired_bracket_type)
 +      (bidi_fetch_char_skip_isolates, find_first_strong_char)
 +      (bidi_find_bracket_pairs, bidi_resolve_brackets): New functions.
 +      (bidi_set_sos_type): Rename from bidi_set_sor_type and updated
 +      for the new features.
 +      (bidi_push_embedding_level, bidi_pop_embedding_level): Update to
 +      push and pop correctly for isolates.
 +      (bidi_remember_char): Modify to accept an additional argument
 +      and record the bidi type according to its value.
 +      (bidi_cache_iterator_state): Accept an additional argument to only
 +      update an existing state.  Handle the new members of struct bidi_it.
 +      (bidi_cache_find): Arguments changed: no longer accepts a level,
 +      instead accepts a flag telling it whether it is okay to return
 +      unresolved neutrals.
 +      (bidi_initialize): Initiate and staticpro the bracket-type uniprop
 +      table.  Initialize new isolate-related members.
 +      (bidi_paragraph_init): Some code factored out into
 +      find_first_strong_char.
 +      (bidi_resolve_explicit_1): Function deleted, its code incorporated
 +      into bidi_resolve_explicit.
 +      (bidi_resolve_explicit): Support the isolate initiators and
 +      terminator.  Fix handling of embeddings and overrides according to
 +      new UBA requirements.  Record information about previously seen
 +      characters here (moved from bidi_level_of_next_char).
 +      (bidi_resolve_weak): Adapt to changes in struct members.
 +      (FLAG_EMBEDDING_INSIDE, FLAG_OPPOSITE_INSIDE, MAX_BPA_STACK)
 +      (STORE_BRACKET_CHARPOS, PUSH_BPA_STACK): New macros.
 +      (bidi_resolve_neutral): Call bidi_resolve_brackets to handle the
 +      paired bracket resolution.  Handle isolate initiators and
 +      terminator.
 +      (bidi_type_of_next_char): Remove unneeded code for BN limit.
 +      (bidi_level_of_next_char): Move the code that records information
 +      about previous characters to bidi_resolve_explicit.  Fix logic of
 +      resolving neutrals and make sure their cache entries are updated.
 +      Remove now unneeded special handling of PDF level.
 +
 +      * dispextern.h (struct glyph): Enlarge the width of resolved_level.
 +      (BIDI_MAXDEPTH): New macro, renamed from BIDI_MAXLEVEL and
 +      enlarged per Unicode 6.3.
 +      (enum bidi_bracket_type_t): New data type.
 +      (struct bidi_saved_info): Leave only 2 type members out of 4.
 +      Remove bytepos.
 +      (struct bidi_stack): Add members necessary to support isolating
 +      sequences.
 +      (struct bidi_it): Add new members necessary to support isolating
 +      sequences and bracket pair resolution.
 +
 +      * xdisp.c (Fbidi_resolved_levels): New function.
 +      (syms_of_xdisp): Defsubr it.
 +      (append_glyph, append_composite_glyph, produce_image_glyph)
 +      (append_stretch_glyph, append_glyphless_glyph): Convert aborts to
 +      assertions.
 +      (syms_of_xdisp) <inhibit-bidi-mirroring>: New variable.
 +
 +      * term.c (append_glyph, append_composite_glyph)
 +      (append_glyphless_glyph): Convert aborts to assertions.
 +
 +      * .gdbinit (pgx): Display the character codepoint, resolved level,
 +      and bidi type also for glyphless glyphs.
 +
 +2014-10-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid unwanted point motion in Fline_beginning_position.
 +      * lisp.h (scan_newline_from_point): Add prototype.
 +      * search.c (scan_newline_from_point): New function, refactored from...
 +      * cmds.c (Fforward_line): ...adjusted user.
 +      * editfns.c (Fline_beginning_position): Use scan_newline_from_point
 +      and simplify the former since the latter doesn't move point.
 +
 +2014-10-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup terminal handling code.
 +      * dispextern.h (get_named_tty): Remove prototype but...
 +      * termhooks.h (get_named_terminal): ...resurrect it under
 +      more meaningful name.
 +      (get_terminal): Likewise, but with...
 +      (decode_live_terminal): ...this name.
 +      (decode_tty_terminal): Add prototype.
 +      * term.c (get_tty_terminal): Remove.
 +      (get_named_tty): Remove.
 +      (Ftty_display_color_p, Ftty_display_color_cells, Ftty_type)
 +      (Fcontrolling_tty_p, Fsuspend_tty, Fresume_tty):
 +      Use decode_tty_terminal.
 +      (Ftty_no_underline, Ftty_top_frame): Use decode_live_terminal.
 +      * terminal.c (get_terminal): Refactor to...
 +      (decode_terminal, decode_live_terminal): ...new functions.
 +      (decode_tty_terminal): Replacement for get_tty_terminal.
 +      (get_named_terminal): Likewise for get_named_tty.
 +      * coding.c (Fset_terminal_coding_system_internal)
 +      (Fterminal_coding_system, Fset_keyboard_coding_system_internal):
 +      (Fkeyboard_coding_system):
 +      * composite.c (Fcomposition_get_gstring):
 +      * dispnew.c (Fsend_string_to_terminal):
 +      * frame.c (Fmake_terminal_frame):
 +      * nsfns.m (check_ns_display_info):
 +      * w32fns.c, xfns.c (check_x_display_info):
 +      * xselect.c (frame_for_x_selection): Use decode_live_terminal.
 +      * keyboard.c (handle_interrupt_signal, handle_interrupt)
 +      (Fset_quit_char): Use get_named_terminal.
 +      (Fset_output_flow_control, Fset_input_meta_mode):
 +      Use decode_tty_terminal.
 +
 +2014-10-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.h (ALIGN_STACK): Use _WIN64, not _W64, to distinguish
 +      between 32-bit and 64-bit MinGW builds.  (Bug#18699)
 +
 +2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix port to Debian GNU/kFreeBSD 7 (wheezy) (Bug#18666).
        * process.c (accept4) [!HAVE_ACCEPT4]: New macro.
  
 -2014-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * frame.c (Fmouse_pixel_position): Call Vmouse_position_function
        (bug#18638).
  
 -2014-10-08  K. Handa  <handa@gnu.org>
 +2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * editfns.c (dump_tz_string): No longer const.
 +      It might be modified.
 +
 +      * nsmenu.m (clear): Assume OS X 10.6 or later.
 +
 +2014-10-12  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * unexmacosx.c: Remove include ppc/reloc.h.
 +      (unrelocate, copy_dysymtab): Remove PPC code.
 +      (rebase_reloc_address): Remove, only used for PPC:
 +
 +      * nsterm.m: Always include macfont.h on COCOA.
 +      (ns_update_auto_hide_menu_bar, ns_draw_fringe_bitmap)
 +      (ns_dumpglyphs_image, ns_check_menu_open)
 +      (applicationDidFinishLaunching)
 +      (antialiasThresholdDidChange:)
 +      (keyDown:, toggleFullScreen:, setPosition:portion:whole:):
 +      Remove checks for OSX <= 10.5/10.6.
 +      (changeFont:): Use macfont on COCOA, nsfont on GNUSTEP.
 +      (syms_of_nsterm): Call syms_of_macfont on COCOA, syms_of_nsfont on
 +      GNUSTEP.
 +
 +      * nsterm.h (MAC_OS_X_VERSION_10_4, MAC_OS_X_VERSION_10_5): Remove.
 +      (NS_HAVE_NSINTEGER): Remove block.
 +      Remove >= OSX 10.6 tests.
 +
 +      * nsmenu.m (NSMenuDidBeginTrackingNotification): Remove.
 +      (x_activate_menubar, trackingNotification:): Remove check for
 +      OSX >= 10.5.
 +      (menuNeedsUpdate:): Remove check for OSX < 10.5.
 +
 +      * nsimage.m (allocInitFromFile:): Remove code for OSX < 10.6.
 +
 +      * nsfns.m: Always include macfont.h on COCOA.
 +      (ns_filename_from_panel, ns_directory_from_panel)
 +      (Fx_create_frame, Fns_popup_font_panel, ns_run_file_dialog)
 +      (Fns_read_file_name, Fns_list_services): Remove code for OSX < 10.6
 +
 +      * macfont.m: Remove >= 1050 check.
 +      (macfont_create_family_with_symbol)
 +      (macfont_get_glyph_for_character)
 +      (mac_font_get_glyphs_for_variants)
 +      (mac_ctfont_create_available_families, syms_of_macfont):
 +      Remove code for OSX < 10.6.
 +      (mac_font_family_group, mac_font_family_compare): Remove, only used
 +      for OSX < 10.6.
 +
 +      * macfont.h (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_FORMAT_BITMAP)
 +      (mac_font_copy_non_synthetic_table): Remove versions for OSX < 10.6
 +
 +      * Makefile.in: Replace nsfont.o macfont.o with ns_fontfile in
 +      comment.
 +
 +2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix putenv race conditions with undefined behavior (Bug#8705).
 +      Do all putenv calls before Emacs creates any threads.
 +      Use a safer way to modify the TZ environment variable in the
 +      presence of multiple threads.  For further thread-safety,
 +      prefer localtime_r and gmtime_r to localtime and gmtime,
 +      and prefer struct tm's tm_gmtoff (if available) to calling
 +      both localtime_r and gmtime_r.
 +      * dbusbind.c (Fdbus__init_bus): Move xputenv call from here ...
 +      (init_dbusbind): ... to this new function.
 +      * emacs.c (main) [HAVE_DBUS]: Call it before creating threads.
 +      * xterm.c (x_term_init): Move xputenv call from here ...
 +      (init_xterm): ... to this new function.
 +      * emacs.c (main) [USE_GTK]: Call it before creating threads.
 +      * editfns.c (HAVE_TM_GMTOFF): Default to false.
 +      (dump_tz_string): New constant.
 +      (init_editfns): Use it.  This centralizes the dump_tz stuff.
 +      Call set_time_zone_rule here, so that its xputenv is done
 +      before Emacs goes multithreaded.
 +      (mktime_z) [!HAVE_TZALLOC]: New function, which is typically
 +      thread-safe enough for Emacs.
 +      (format_time_string, Fdecode_time, Fcurrent_time_string)
 +      (Fcurrent_time_zone):
 +      Prefer localtime_r and gmtime_r, which are more thread-safe, to
 +      localtime and gmtime.  Remove now-unnecessary calls to block_input.
 +      (tm_gmtoff): New static function.
 +      (Fdecode_time, Fcurrent_time_zone): Use it.
 +      (Fencode_time): Use mktime_z, for better thread-safety.
 +      (set_time_zone_rule): Now static.  Rewrite to be mostly thread-safe,
 +      i.e., not quite thread-safe but good enough for Emacs typical usage.
 +      Do not reclaim storage that is in the environment; let it leak.
 +      Always call tzset, since localtime_r does not.
 +      * emacs.c (dump_tz, Fdump_emacs) [HAVE_TZSET]: Remove dump_tz stuff.
 +      This is now done in init_editfns.
 +      * systime.h (mktime_z, timezone_t, tzalloc, tzfree) [!HAVE_TZALLOC]:
 +      New macros and declarations, for platforms lacking tzalloc & friends.
 +
 +2014-10-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (USE_STACK_STRING): Now true only if USE_STACK CONS.
 +      On x86 platforms this works around GCC bug 63495
 +      <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63495>,
 +      and more generally should fix a portability problem in Emacs.
 +      Problem reported by Stefan Monnier in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00261.html
 +
 +2014-10-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      Enhance terpri to allow conditionally output a newline.  (Bug#18652)
 +      * keymap.c (describe_vector_princ):
 +      * keyboard.c (Fcommand_error_default_function): Adapt to change to
 +      Fterpri.
 +
 +      * print.c (printchar_stdout_last): Declare.
 +      (printchar): Record the last char written to stdout.
 +      (Fterpri): Add optional argument ENSURE.
 +
 +2014-10-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32inevt.c (maybe_generate_resize_event): Pass non-zero as the
 +      DELAY argument to change_frame_size, so that the frame size
 +      changes, if any are needed, are delayed until the next redisplay.
 +      This is to avoid a too early QUIT inside change_frame_size, when
 +      it calls Lisp in frame_windows_min_size, in case one of the events
 +      we've read sets the quit-flag.  (Bug#18649)
 +
 +      * w32fns.c (check_x_display_info): Accept terminal objects as
 +      argument, to follow what xfns.c does.
 +
 +2014-10-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in ($(srcdir)/macuvs.h)
 +      ($(lispsource)/international/charprop.el): Add explicit FORCE.
 +
 +2014-10-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * decompress.c (init_zlib_functions): Move the message about zlib
 +      being unavailable from here...
 +      (Fzlib_decompress_region): ...to here.  (Bug#18650)
 +
 +2014-10-07  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * font.c (Ffont_get_glyphs): Use validate_subarray and fix
 +      the case where an optional string is used.  Adjust docstring.
 +
 +2014-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * lisp.mk (lisp): Remove w32-common-fns.elc.
 +
 +2014-10-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * keyboard.c (Qleft, Qright): Remove duplicate definitions (Bug#9927).
 +      These were already defined in buffer.c, and the duplicate
 +      definitions cause problems on platforms like 'gcc -fno-common'.
 +      Reported by Peter Dyballa in: http://bugs.gnu.org/9927#137
 +
 +2014-10-05  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (updateFrameSize:): Only call update_frame_tool_bar
 +      if toolbar is visible.
 +
 +      * nsfont.m (nsfont_draw): Use CGFloat for GNUstep newer than
 +      0.23 (Bug#18030).
 +
 +      * nsterm.m (syms_of_nsterm): ns-use-fullscreen-animation is new.
 +      (toggleFullScreen:): Use ns-use-fullscreen-animation for animate.
 +      (ns_select, ns_read_socket): Use unwind_protect to decrease
 +      apploopnr (Bug#18345).
 +      (ns_draw_window_cursor): Adjust y for hbar cursor only if smaller than
 +      line height (Bug#17977).
 +
 +      * macfont.m: Fix indentation and import changes from macport 24.3.94.
 +      (macfont_closest_traits_index): New function.
 +      (macfont_closest_traits_index_p): Rename from
 +      macfont_closest_traits_index.
 +      (macfont_list): Use macfont_closest_traits_index_p.
 +
 +2014-10-05  K. Handa  <handa@gnu.org>
  
        * coding.c (detect_coding_iso_2022): Set coding->rejected
        correctly when an invalid escape sequence is found (Bug#18610).
  
 -2014-10-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-10-04  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * font.c (font_list_entities): Do not add empty vector to font cache.
 -      (font_matching_entity): Likewise.  If matching entity is found, insert
 -      1-item vector with this entity instead of an entity itself (Bug#17125).
 +      * gtkutil.c (create_menus): Only add tearoffs to empty menus.
 +      (xg_update_submenu): Remove has_tearoff_p, pass 1 to create_menus
 +      for add_tearoff_p.
  
 -2014-10-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-10-04  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * buffer.c (scroll_bar_width, scroll_bar_height):
 +      Fix doc-strings.
 +      * window.c (Fset_window_scroll_bars): Fix doc-string.
 +      (Fwindow_scroll_bars): Have it return what the doc-string says.
 +
 +2014-10-03  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_by_lines): Call reseat_1 after moving the
        iterator backwards, to resync the bidi iterator.  (Bug#18584)
  
 -2014-10-01  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-10-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Consistently use min and max macros from lisp.h.
 +      * coding.c (min, max):
 +      * font.c (MAX):
 +      * unexhp9k800.c (min):
 +      * unexw32.c (min, max): Use definitions from lisp.h.
 +      * regex.c (MAX, MIN) [!emacs]: Define own max and min as such.
 +      Adjust users.
 +      * gmalloc.c (min): Tiny style change.
 +
 +      * fileio.c (emacs_readlinkat, Finsert_file_contents):
 +      * w32fns.c, xfns.c (x_create_tip_frame): Use AUTO_STRING.
 +
 +2014-10-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix x-focus-frame bug with "Not an in-range integer" (Bug#18586).
 +      * xselect.c (X_SHRT_MAX, X_SHRT_MIN, X_LONG_MAX, X_LONG_MIN)
 +      (X_ULONG_MAX): Move these macros to xterm.h.
 +      (x_fill_property_data): Be more generous about allowing either
 +      signed or unsigned data of the appropriate width.
 +      * xterm.h (x_display_set_last_user_time): New function.
 +      All setters of last_user_time changd to use this function.
 +      If ENABLE_CHECKING, check that the times are in range.
 +
 +2014-10-02  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * dispnew.c (adjust_decode_mode_spec_buffer): Use 'int' instead of
 +      'ssize_t'.  Suggested by Paul Eggert <eggert@cs.ucla.edu>.
 +
 +2014-10-02  Jan Djärv  <jan.h.d@swipnet.se>
  
        * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to
        make a font_object from a tty frame (Bug#18573).
        (Finternal_set_lisp_face_attribute): Add FIXME comment.
  
 +2014-10-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (mark_overlay): Assume that overlay boundaries are
 +      always markers.  Add comment.
 +      * lread.c (read_internal_start): Use convenient validate_subarray.
 +      Adjust docstring.
 +      (Fread_from_string): Adjust docstring.
 +
 +2014-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * lisp.h: Fix up compilation for USE_STACK_LISP_OBJECTS=false.
 +
 +      * nsselect.m (ns-own-selection-internal, ns-disown-selection-internal):
 +      Rename from the "x-" prefix.
 +
 +2014-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * xselect.c (selection-converter-alist): Fix docstring.
 +
 +2014-10-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32proc.c (sys_spawnve): Avoid modification of the CMDNAME
 +      argument passed by the caller, when we mirror all slashes into
 +      backslashes.
 +
 +2014-10-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * gtkutil.c (xg_set_toolkit_horizontal_scroll_bar_thumb):
 +      Resurrect old code and fix compilation with GTK < 2.13.6.
 +
 +2014-10-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use AUTO_CONS instead of SCOPED_CONS, etc.
 +      * frame.h (AUTO_FRAME_ARG): Rename from FRAME_PARAMETER.
 +      * lisp.h (AUTO_CONS): Rename from scoped_cons.
 +      (AUTO_LIST1): Rename from scoped_list1.
 +      (AUTO_LIST2): Rename from scoped_list2.
 +      (AUTO_LIST3): Rename from scoped_list3.
 +      (AUTO_LIST4): Rename from scoped_list4.
 +      (AUTO_STRING): Rename from SCOPED_STRING.
 +      * frame.h (AUTO_FRAME_ARG):
 +      * lisp.h (AUTO_CONS, AUTO_LIST1, AUTO_LIST2, AUTO_LIST3)
 +      (AUTO_LIST4, AUTO_STRING):
 +      Prepend a new argument 'name'.
 +      Declare a variable instead of yielding a value.
 +      All uses changed.
 +      * lisp.h (STACK_CONS, AUTO_CONS_EXPR): New internal macros.
 +
  2014-09-30  Eli Zaretskii  <eliz@gnu.org>
  
        * w32fns.c (w32_createwindow): Accept an additional argument, an
        array of 2 values specifying the coordinates of the frame's
        top-left corner.  Use these values instead of calling x_get_arg,
        which can cons Lisp objects, and therefore cannot be called except
 -      from the main thread.  Remove redundant tests for the default values.
 +      from the main thread.  Remove redundant tests for the default
 +      values.
        (my_create_window): Move the calculation of the coordinates of the
        frame's top-left edge here.  Pass them to the input thread via the
        second parameter of the WM_EMACS_CREATEWINDOW message.
        See http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00892.html
        for the details.
  
 -2014-09-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-30  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (cursor_row_fully_visible_p): Update commentary.
        (redisplay_window): Treat the frame's frozen_window_starts flag
  
        * window.c (Frecenter): Set the window's redisplay flag.
  
 -2014-09-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-30  Eli Zaretskii  <eliz@gnu.org>
  
        * w32term.c (w32_read_socket): Don't use frame dimensions for
        resizing if GetClientRect returned an empty (0, 0, 0, 0)
        (adjust_decode_mode_spec_buffer): Add assertion to avoid passing
        negative values to xrealloc.  (Bug#18528)
  
 +2014-09-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c: Remove now-unnecessary check.
 +      Suggested by Dmitry Antipov in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00891.html
 +
 +      * xterm.c (x_term_init): Allocate temps on stack, not on heap.
 +
 +      * frame.c (x_set_frame_parameters): Port --enable-gcc-warnings
 +      to Ubuntu 14.04.1 x86-64.
 +
 +      Simplify stack-allocated Lisp objects, and make them more portable.
 +      The build_local_string macro was used in two ways: (1) string
 +      literals for which scoped allocation suffices, and (2) file name
 +      components, where it's not safe in general to assume bounded-size
 +      ASCII data.  Simplify by defining a new macro SCOPED_STRING that
 +      allocates a block-scope string, and by using SCOPED_STRING for (1)
 +      and build_string for (2).  Furthermore, actually use stack
 +      allocation only for objects known to have sufficient alignment.
 +      This simpler implementation means Emacs can make
 +      USE_STACK_LISP_OBJECTS the default unless GC_MARK_STACK !=
 +      GC_MAKE_GCPROS_NOOPS.
 +      * lisp.h (GCALIGNED): Align even if !USE_STACK_LISP_OBJECTS,
 +      for fewer differences among implementations.
 +      (struct Lisp_String): Now GCALIGNED.
 +      (USE_STACK_LISP_OBJECTS): Default to true, since the
 +      implementation no longer insists on a nonempty GCALIGNED.
 +      But make it false if GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS.
 +      (SCOPED_CONS_INITIALIZER): Remove, since it's no longer needed
 +      separately.  Move definiens to scoped_cons.  The old definition
 +      was incorrect when GCALIGNED was defined to be empty.
 +      (union Aligned_String): New type.
 +      (USE_STACK_CONS, USE_STACK_STRING): New constants, so that the
 +      implementation ports to compilers that don't align strictly enough.
 +      Don't worry about the union sizes; it's not worth bothering about.
 +      (scoped_cons, scoped_list1, scoped_list3, scoped_list4):
 +      Rewrite using USE_STACK_CONS.
 +      (scoped_cons): Assume the use of union Aligned_Cons.
 +      (lisp_string_size, make_local_string, build_local_string): Remove.
 +      Unless otherwise specified, all callers of build_local_string
 +      changed to use SCOPED_STRING.
 +      (SCOPED_STRING): New macro.
 +      * data.c (wrong_choice):
 +      * menu.c (single_menu_item):
 +      * process.c (Fformat_network_address):
 +      Hoist use of SCOPED_STRING out of a scope, so that its returned
 +      object lives long enough.
 +      * fileio.c (Fexpand_file_name): Use build_string, not SCOPED_STRING,
 +      as the string might be long or might not be ASCII.
 +
 +2014-09-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * msdos.c (internal_terminal_init): Bump version to 25.
 +
 +2014-09-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Keep stack-allocated Lisp objects fast rather than versatile.
 +      * lisp.h (union Aligned_Cons) [!GCALIGNED]: Define as such.
 +      (SCOPED_CONS_INITIALIZER): New macro.
 +      (scoped_cons) [USE_STACK_LISP_OBJECTS]: Use it.
 +      (USE_LOCAL_ALLOCA): Remove.
 +      (local_cons, local_list1, local_list2, local_list3, local_list4):
 +      Remove.  Stack overflow checking makes them too slow.
 +      (make_local_vector): Likewise.  Also we just don't have enough
 +      users for it.
 +      (enum LISP_STRING_OVERHEAD): Remove.
 +      (local_string_init, local_vector_init): Remove prototypes.
 +      (make_local_string, build_local_string): Redesign to target short
 +      compile-time string constants, fall back to regular string allocation
 +      where appropriate.
 +      (lisp_string_size): New function.
 +      (verify_ascii) [ENABLE_CHECKING]: Add prototype.
 +      * alloc.c (local_string_init, local_vector_init): Remove.
 +      (verify_ascii) [ENABLE_CHECKING]: New function.
 +      * buffer.c, charset.c, chartab.c, data.c, editfns.c, emacs.c, fileio.c:
 +      * fns.c, font.c, fontset.c, frame.c, keyboard.c, keymap.c, lread.c:
 +      * menu.c, minibuf.c, process.c, textprop.c, xdisp.c, xfns.c, xfont.c:
 +      * xselect.c, xterm.c: All related users changed.
 +
 +2014-09-28  Ken Brown  <kbrown@cornell.edu>
 +
 +      * sheap.c (bss_sbrk_buffer_beg): Remove redundant variable.
 +      * gmalloc.c [CYGWIN]: Adapt to change in sheap.c.
 +
 +2014-09-27  Ken Brown  <kbrown@cornell.edu>
 +
 +      Fix implementation of HYBRID_MALLOC on Cygwin.
 +      * sheap.c (bss_sbrk_buffer_end): Cast to void *.
 +      (bss_sbrk_buffer_beg): New variable.  Use it...
 +      * gmalloc.c (ALLOCATED_BEFORE_DUMPING) [CYGWIN]: ...here, to fix
 +      incorrect definition.
 +
 +2014-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keyboard.c (track-mouse): Rename to internal--track-mouse.
 +      Make it into a function and change arg to be a function.
 +
 +      * lisp.mk (lisp): Add elisp-mode.elc.
 +
 +2014-09-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xfns.c (x_default_scroll_bar_color_parameter):
 +      Use USE_LOCAL_ALLOCA only if USE_TOOLKIT_SCROLL_BARS,
 +      to pacify --enable-gcc-warnings in non-scrollbar builds.
 +
 +2014-09-26  Ken Brown  <kbrown@cornell.edu>
 +
 +      * w32term.h (ALIGN_STACK): Fix the cpp condition.
 +
 +2014-09-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Default to false for 32-bit
 +      MinGW builds that use GCC before 4.2.
 +
 +      Default to stack objects on DOS_NT platforms as well.
 +      * w32term.h (ALIGN_STACK) [__GNUC__]: Define to
 +      __attribute__((force_align_arg_pointer)) for GCC 4.2 and later.
 +
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Remove the !DOS_NT condition.
 +
 +      * w32proc.c (enum_locale_fn, enum_codepage_fn): Add the
 +      ALIGN_STACK attribute.
 +
 +      * w32fns.c (w32_monitor_enum): Add the ALIGN_STACK attribute.
 +
 +      * w32uniscribe.c (add_opentype_font_name_to_list): Add the
 +      ALIGN_STACK attribute.
 +
 +      * w32font.c (add_font_name_to_list, add_font_entity_to_list)
 +      (add_one_font_entity_to_list): Add the ALIGN_STACK attribute.
 +
 +2014-09-25  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (frame_inhibit_resize):
 +      * widget.c (EmacsFrameResize):
 +      * window.c (resize_frame_windows, Fset_window_configuration):
 +      * xdisp.c (expose_frame):
 +      * xfns.c (x_change_tool_bar_height):
 +      * xmenu.c (update_frame_menubar):
 +      * xterm.c (handle_one_xevent, x_new_font, x_set_window_size_1):
 +      Remove code left dead after 2014-07-27 changes.
 +
 +2014-09-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix local_cons etc. to not exhaust the stack when in a loop.
 +      Problem reported in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00696.html
 +      * buffer.c (Fother_buffer, other_buffer_safely, init_buffer):
 +      * charset.c (load_charset_map_from_file, Ffind_charset_region)
 +      (Ffind_charset_string):
 +      * chartab.c (uniprop_encode_value_numeric, uniprop_table):
 +      * data.c (wrong_range):
 +      * editfns.c (Fpropertize, format2):
 +      * emacs.c (init_cmdargs, decode_env_path):
 +      * fileio.c (auto_save_error):
 +      * fns.c (Fyes_or_no_p):
 +      * font.c (font_style_to_value, font_parse_xlfd)
 +      (font_parse_family_registry, font_delete_unmatched)
 +      (font_add_log):
 +      * fontset.c (Fset_fontset_font):
 +      * frame.c (x_get_arg):
 +      * keyboard.c (echo_dash, safe_run_hooks_error, parse_menu_item)
 +      (read_char_minibuf_menu_prompt):
 +      * keymap.c (silly_event_symbol_error, describe_vector):
 +      * lread.c (load_warn_old_style_backquotes):
 +      * menu.c (single_menu_item):
 +      * minibuf.c (Fread_buffer):
 +      * process.c (status_message, Fformat_network_address)
 +      (server_accept_connection):
 +      * textprop.c (copy_text_properties):
 +      * xdisp.c (Fcurrent_bidi_paragraph_direction):
 +      * xfns.c (x_default_scroll_bar_color_parameter):
 +      * xfont.c (xfont_open):
 +      * xselect.c (x_clipboard_manager_error_1):
 +      * xterm.c (x_term_init):
 +      Put USE_LOCAL_ALLOCA at the start of the function.
 +      * fns.c (maybe_resize_hash_table): Use build_string instead of
 +      build_local_string, since we'd otherwise need a conditional
 +      USE_LOCAL_ALLOCA here, but this is just debugging output and is
 +      not worth the bother of optimization.
 +      * font.c (font_delete_unmatched): Remove by-hand code that
 +      observed MAX_ALLOCA limit, since it's now done automatically.
 +      * keymap.c (Fsingle_key_description): Put USE_SAFE_ALLOCA at top,
 +      since build_local_string needs its sa_alloc.
 +      * lisp.h (lisp_word_count): New function.
 +      (SAFE_ALLOCA_LISP): Use it.
 +      (USE_LOCAL_ALLOCA): New macro.
 +      (local_cons, make_local_vector, make_local_string):
 +      Observe the MAX_ALLOCA limit.
 +      (LISP_STRING_OVERHEAD): New constant.
 +      (make_local_string): Use it.
 +
 +2014-09-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Default to stack objects on non-GNU/Linux, non-DOS_NT platforms.
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Also default to true
 +      if !defined DOS_NT && !defined GNU_LINUX.  I've tested this on AIX
 +      and Solaris and it's likely to work on similar platforms.
 +
 +      Avoid signed integer overflow when converting Time to ptrdiff_t.
 +      * keyboard.c (INPUT_EVENT_POS_MAX, INPUT_EVENT_POS_MIN):
 +      New macros.
 +      (position_to_Time, Time_to_position): New functions.
 +      (gen_help_event, kbd_buffer_get_event): Use them.
 +      * systime.h (Time) [emacs && !HAVE_X_WINDOWS]:
 +      Go back to plain 'unsigned long', so that 'Time' is the same
 +      for both X and non-X builds; this is less likely to cause surprise.
 +      * termhooks.h: Remove compile-time check that Time and ptrdiff_t
 +      are the same size; this is no longer required.
 +
 +      * keyboard.c (make_lispy_event): Avoid unnecessary tests
 +      of bit 28 and of whether an unsigned value is negative.
 +      This simplifies the code a bit, and pacifies clang 3.4.
 +
 +2014-09-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * systime.h (Time): Define as size_t, to be consistent with 64-bit
 +      Windows builds, where 'long' is a 32-bit type.
 +
 +      * w32inevt.h (w32_console_mouse_position): Update the argument
 +      types to use 'Time'.
 +
 +      * w32term.c (w32_mouse_position)
 +      (x_horizontal_scroll_bar_report_motion)
 +      (x_scroll_bar_report_motion): Update the argument types to use
 +      'Time'.
 +
 +2014-09-24  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * termhooks.h (enum scroll_bar_part): Begin from 0 to allow...
 +      (struct input_event): ...unsigned bitfields.  Likewise for
 +      `event_kind' member.  Prefer unsigned for `code' and 'modifiers'.
 +      Use `timestamp' for HELP_EVENT position.  Add compile-time assert.
 +      * keyboard.c (gen_help_event, kbd_buffer_store_help_event)
 +      (kbd_buffer_get_event): Adjust users.
 +      (scroll_bar_parts): Add Qnil to match scroll_bar_nowhere.
 +      (make_scroll_bar_position): New function, refactored out of...
 +      (make_lispy_event): ...adjusted user.
 +      * nsterm.h (EmacsScroller): Use enum for `last_hit_part' member.
 +      * nsterm.m (ns_mouse_position, mouseUp):
 +      * term.c (term_mouse_position):
 +      * w32inevt.c (w32_console_mouse_position):
 +      * w32term.c (w32_mouse_position):
 +      * xterm.c (XTmouse_position): Use scroll_bar_above_handle.
 +      (x_send_scroll_bar_event, xm_scroll_callback, xg_scroll_callback):
 +      Prefer enum and explicit enum members to integers and numeric values.
 +
 +      * chartab.c (uniprop_encode_value_numeric):
 +      * font.c (font_style_to_value): Use make_local_vector.
 +      (font_delete_unmatched): Use local_cons but respect MAX_ALLOCA.
 +      * keymap.c (append_key): Use scoped_list1.
 +
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Enable by default if GNU_LINUX
 +      && __GNUC__ && !__clang__.  Mention known problems.  Adjust comment.
 +
 +2014-09-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix some slow uses and misuses of strcat.
 +      * doc.c (get_doc_string):
 +      * gtkutil.c (get_utf8_string):
 +      * xsmfns.c (x_session_initialize):
 +      Avoid recomputation of string length.
 +      * ftfont.c (ftfont_spec_pattern):
 +      * xfns.c (xic_create_fontsetname):
 +      Don't assume output buffer is initially zero.
 +
 +2014-09-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (lispstpcpy): Rename from lispstrcpy, and act like stpcpy.
 +      All callers changed.
 +      * xterm.c (x_term_init): Use new functionality to avoid two needs
 +      to compute a string length.
 +
 +      * dispextern.h, xdisp.c (window_box_right_offset): Now static.
 +
 +2014-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use known length of a Lisp string to copy it faster.
 +      * lisp.h (lispstrcpy): New function.  Add comment.
 +      * callproc.c (child_setup):
 +      * dbusbind.c (xd_append_arg):
 +      * doc.c (get_doc_string):
 +      * font.c (Ffont_xlfd_name):
 +      * frame.c (xrdb_get_resource):
 +      * process.c (Fmake_network_process, network_interface_info):
 +      * w32fns.c (Fx_open_connection):
 +      * w32proc.c (sys_spawnve):
 +      * xfns.c (select_visual):
 +      * xfont.c (xfont_list):
 +      * xsmfns.c (x_session_initialize):
 +      * xterm.c (x_term_init): Use it.
 +
 +2014-09-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix SAFE_ALLOCA to not exhaust the stack when in a loop.
 +      Problem reported by Dmitry Antipov in thread leading to:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00713.html
 +      This patch fixes only SAFE_ALLOCA, SAFE_NALLOCA, and SAFE_ALLOCA_LISP;
 +      the experimental local_* macros enabled by USE_LOCAL_ALLOCATORS
 +      remain unfixed.
 +      * callproc.c (call_process): Save and restore sa_avail.
 +      * lisp.h (USE_SAFE_ALLOCA): Define sa_avail.
 +      (AVAIL_ALLOCA): New macro.
 +      (SAFE_ALLOCA, SAFE_NALLOCA, SAFE_ALLOCA_LISP):
 +      Use it, and check against sa_avail rather than MAX_ALLOCA.
 +
  2014-09-22  Dmitry Antipov  <dmantipov@yandex.ru>
  
        On OSX, do not free font-specific data more than once (Bug#18501).
        * macfont.m (macfont_close): Release and free font-specific data
        only if it wasn't previously freed.
  
 -2014-09-21  David Caldwell <david@porkrind.org>  (tiny change)
 +2014-09-22  David Caldwell <david@porkrind.org>  (tiny change)
  
        * unexmacosx.c (dump_it): Improve error message.
  
 -2014-09-18  Juri Linkov  <juri@jurta.org>
 +2014-09-22  Juri Linkov  <juri@jurta.org>
  
        * image.c (imagemagick_load_image): Add delay to imagemagick metadata.
        (Bug#10747, bug#18334)
  
 -2014-09-18  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-22  Eli Zaretskii  <eliz@gnu.org>
  
        * frame.c (Fmouse_position, Fset_mouse_position): Clarify the
        units in which the position is measured.  (Bug#18493)
        * xdisp.c (redisplay_internal): Force redisplay of all windows
        that show a buffer whose narrowing has changed.  (Bug#18490)
  
 -2014-09-16  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-22  Eli Zaretskii  <eliz@gnu.org>
  
        * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor):
        * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor): In R2L
        every window except the leftmost one.  Reported by Martin Rudalics
        <rudalics@gmx.at>.
  
 -2014-09-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-09-22  Dmitry Antipov  <dmantipov@yandex.ru>
  
        Always use matched specpdl entry to record call arguments (Bug#18473).
        * lisp.h (record_in_backtrace): Adjust prototype.
        overflow on string size calculation.
        * data.c (Faset): Likewise for byte index.
  
 -2014-09-15  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-22  Eli Zaretskii  <eliz@gnu.org>
  
        Fix display of R2L lines in partial-width windows.
        * xdisp.c (init_iterator): Don't use it->bidi_p before it is
        of the right one.
        (produce_special_glyphs): Fix bogus assignments.
  
 -2014-09-14  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-22  Eli Zaretskii  <eliz@gnu.org>
  
 -      * w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of
 -      pipes.
 +      * fileio.c (Fexpand_file_name) [DOS_NT]: Make sure newdirlim is
 +      always set to a valid value.  Make sure the size passed to alloca
 +      is always positive.  (Bug#18516)
 +
 +2014-09-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid extra call to oblookup when interning symbols.
 +      * lisp.h (intern_driver): Add prototype.
 +      * lread.c (intern_driver): New function.
 +      (intern1, intern_c_string_1, Fintern):
 +      * font.c (font_intern_prop):
 +      * w32font.c (intern_font_name): Use it.
 +
 +2014-09-21  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Minor improvements to new stack-allocated Lisp objects.
 +      * frame.h (FRAME_PARAMETER):
 +      Prefer scoped_list1 to local_list1 where either would do.
 +      * lisp.h (scoped_list4): New macro.
 +      (local_cons, local_list1, local_list2, local_list3, local_list4)
 +      (make_local_vector, make_local_string, build_local_string):
 +      Prefer functions to macros where either would do.
 +      * xdisp.c (build_desired_tool_bar_string):
 +      Prefer scoped_list4 to local_list4 where either would do.
 +
 +2014-09-18  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      More and more stack-allocated Lisp objects if USE_LOCAL_ALLOCATORS.
 +      * lisp.h (local_list4) [USE_LOCAL_ALLOCATORS]: New macro.
 +      [!USE_LOCAL_ALLOCATORS]: Fall back to regular list4.
 +      * frame.h (FRAME_PARAMETER): New macro.
 +      * dispnew.c (init_display):
 +      * fontset.c (Fset_fontset_font):
 +      * frame.c (x_default_parameter):
 +      * xfaces.c (set_font_frame_param, Finternal_merge_in_global_face):
 +      * xfns.c (x_default_scroll_bar_color_parameter)
 +      (x_default_font_parameter, x_create_tip_frame): Use it.
 +      * editfns.c (Fpropertize): Use local_cons.
 +      * process.c (status_message): Use build_local_string.
 +      * xfont.c (xfont_open): Use make_local_string.
 +      * xdisp.c (build_desired_tool_bar_string): Use local_list4.
 +
 +2014-09-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port USE_LOCAL_ALLOCATORS code to clang 3.4 x86-64.
 +      * lisp.h (USE_LOCAL_ALLOCATORS): Define only if __GNUC__ &&
 +      !__clang__.  This works with GCC and with clang and is safer for
 +      compilers we don't know about.
 +      (local_cons): Rename parameter to make capture less likely.
 +
 +2014-09-17  Samuel Bronson  <naesten@gmail.com>
 +
 +      * unexmacosx.c (copy_data_segment): Port to GCC 4.6+ (Bug#9927).
 +
 +2014-09-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix minor problems found by static checking.
 +      * alloc.c, lisp.h (SAVE_TYPE_INT_OBJ, make_save_int_obj):
 +      Remove; now unused.
 +      * buffer.h (decode_buffer): Doc and indentation fixes.
 +      * fns.c (Qstring_collate_lessp, Qstring_collate_equalp): Now static.
 +
 +2014-09-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid clang-specific warnings.
 +      * buffer.c (init_buffer): Shut up -Wself-assign.
 +      * process.c (server_accept_connection): Shut up -Wunsequenced.
 +
 +2014-09-16  Daniel Colascione  <dancol@dancol.org>
 +
 +      * fns.c (sxhash): For symbols, use address as hash code.
 +
 +2014-09-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      If USE_LOCAL_ALLOCATORS, allocate even more Lisp objects on stack.
 +      * charset.c (load_charset_map_from_file): Use scoped_list2
 +      and build_local_string.
 +      * buffer.c (Fother_buffer, other_buffer_safely, init_buffer):
 +      * emacs.c (init_cmdargs, decode_env_path):
 +      * fileio.c (Fexpand_file_name):
 +      * fns.c (maybe_resize_hash_table) [ENABLE_CHECKING]:
 +      * frame.c (x_get_arg):
 +      * keyboard.c (safe_run_hooks_error):
 +      * lread.c (load_warn_old_style_backquotes):
 +      * xdisp.c (Fcurrent_bidi_paragraph_direction):
 +      * xfns.c (x_default_scroll_bar_color_parameter, select_visual):
 +      * xselect.c (x_clipboard_manager_error_1)
 +      (x_clipboard_manager_save_all):
 +      * xterm.c (x_term_init): Use build_local_string.
 +
 +      Avoid more integer overflows on string size calculations.
 +      * category.c (Fmake_category_set):
 +      * xdisp.c (get_overlay_arrow_glyph_row):
 +      * w32font.c (intern_font_name): Prefer ptrdiff_t to int.
 +
 +2014-09-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * sound.c [WINDOWSNT]: Include w32common.h and mbstring.h.
 +      (SOUND_WARNING) [WINDOWSNT]: Include in do..while and improve the
 +      error message format.  Use message_with_string to have non-ASCII
 +      file names properly displayed.
 +      (do_play_sound) [WINDOWSNT]: Use Unicode APIs to play sound files
 +      when w32-unicode-filenames is non-nil, but not on Windows 9X,
 +      where these APIs are not available even in UNICOWS.DLL.
 +      Improve the format of error messages and include the file name in them
 +      where appropriate.
 +      (Fplay_sound_internal) [WINDOWSNT]: Make the MS-Windows branch
 +      call play-sound-functions, per documentation.
 +
 +      * w32.c (w32_get_long_filename, w32_get_short_filename):
 +      Constify the input file name arguments.
 +
 +      * w32.h (w32_get_long_filename, w32_get_short_filename):
 +      Update prototypes.
 +
 +2014-09-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      If USE_LOCAL_ALLOCATORS, allocate some Lisp objects on stack.
 +      * lisp.h (local_cons, local_list1, local_list2, local_list3)
 +      [USE_LOCAL_ALLOCATORS]: New macros.
 +      [!USE_LOCAL_ALLOCATORS]: Fall back to regular functions.
 +      (build_local_string): Avoid argument name expansion clash with
 +      make_local_string.
 +      * alloc.c (toplevel)
 +      [USE_LOCAL_ALLOCATORS && GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS]:
 +      Preprocessor guard to avoid impossible configuration.
 +      * charset.c (Ffind_charset_region, Ffind_charset_string):
 +      Use make_local_vector.
 +      * lread.c (read1, substitute_object_recurse): Use scoped_cons.
 +      * textprop.c (Fput_text_property, Fadd_face_text_property):
 +      Use scoped_list2.
 +      (copy_text_properties): Use local_cons and local_list3.
 +      * chartab.c (uniprop_table):
 +      * data.c (wrong_choice, wrong_range):
 +      * doc.c (get_doc_string):
 +      * editfns.c (format2):
 +      * fileio.c (Fexpand_file_name, auto_save_error):
 +      * fns.c (Fyes_or_no_p):
 +      * font.c (font_parse_xlfd, font_parse_family_registry, font_add_log):
 +      * fontset.c (Fset_fontset_font):
 +      * keyboard.c (echo_add_key, echo_dash, parse_menu_item)
 +      (read_char_minibuf_menu_prompt):
 +      * keymap.c (silly_event_symbol_error, describe_vector):
 +      * menu.c (single_menu_item):
 +      * minibuf.c (Fread_buffer):
 +      * process.c (status_message, Fformat_network_address)
 +      (server_accept_connection): Use make_local_string and
 +      build_local_string.  Prefer compound literals where appropriate.
 +
 +2014-09-15  Daniel Colascione  <dancol@dancol.org>
 +
 +      * fns.c (Fsort): Tweak sort docstring.
 +
 +2014-09-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of pipes.
        (sys_write): When a write to a non-blocking pipe returns ENOSPC,
        set errno to EAGAIN instead, to allow the caller to retry the
        write after some waiting.  Fixes deadlocks when Emacs exchanges a
        lot of data through the pipe.  (Bug#18420)
  
 -2014-09-13  Eli Zaretskii  <eliz@gnu.org>
 -
        * sound.c (Fplay_sound_internal): Encode the sound file name in
        the ANSI codepage.  Expand it against data-directory, as per docs,
        not against the current directory.  No need to make a local copy
        the string with "?" replacement characters, which will fail the
        caller.  This avoids returning a random value in that case.
  
 -2014-09-11  Martin Rudalics  <rudalics@gmx.at>
 +2014-09-15  Martin Rudalics  <rudalics@gmx.at>
  
        * window.c (Fresize_mini_window_internal): Set w->total_lines
        from w->pixel_height (Bug#18422).
  
 -2014-09-09  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-09-15  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsterm.m (updateFrameSize:, initFrameFromEmacs:)
        (toggleFullScreen:): Take frame_resize_pixelwise into account when
        setting resize increments (Bug#18435).
  
 -2014-09-09  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-15  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (pos_visible_p): Properly save and restore the iterator
        state around the call to line_bottom, since it can move the
        iterator to another screen line.  This fixes off-by-one errors in
        the reported row in some rare cases.
  
 -2014-09-07  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-14  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * callproc.c (init_callproc): Fix bug introduced at
 +      2014-09-07 (Bug#18474).
 +
 +2014-09-13  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Prefer ptrdiff_t to int and avoid integer overflows.
 +      * fileio.c (make_temp_name):
 +      * font.c (font_parse_family_registry): Avoid integer
 +      overflow on string size calculation.
 +      * data.c (Faset): Likewise for byte index.
 +
 +2014-09-12  Detlev Zundel  <dzu@member.fsf.org>
 +
 +      * buffer.c (syms_of_buffer): DEFSYM Qchoice (Bug#18337).
 +
 +2014-09-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * lisp.h (make_local_string): Nitpick indent.
 +      * print.c (Fprin1_to_string): Remove unused GCPROs.
 +
 +      More debugging aids around GCPROs.
 +      * lisp.h (struct gcpro) [DEBUG_GCPRO]: Add extra members.
 +      (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, GCPRO7):
 +      Minor restyle.  If DEBUG_GCPRO, initialize extra fields.
 +
 +      * lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
 +      bootstrap broken if GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
 +
 +      Remove redundant GCPROs around Ffuncall and Fapply calls.
 +      This is safe because Ffuncall protects all of its arguments by itself.
 +      * charset.c (map_charset_for_dump): Remove redundant GCPRO.
 +      * eval.c (Fapply, apply1, call0, call1, call2, call3, call4, call5)
 +      (call6, call7): Likewise.  Use compound literals where applicable.
 +      (run_hook_with_args_2): Use compound literal.
 +
 +2014-09-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Pacify --enable-gcc-warnings when no window system is used.
 +      These warnings found that subscript error, so they seem worthwhile.
 +      * composite.c (char_composable_p): Simplify a bit.
 +      * frame.c (x_set_frame_parameters): Add an IF_LINT.
 +      * frame.c (x_set_horizontal_scroll_bars, x_set_scroll_bar_height):
 +      * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS):
 +      * window.c (set_window_scroll_bars):
 +      Use USE_HORIZONTAL_SCROLL_BARS for simplicity.
 +      * frame.h [! USE_HORIZONTAL_SCROLL_BARS]:
 +      Ignore -Wsuggest-attribute=const.
 +      * window.h (USE_HORIZONTAL_SCROLL_BARS): New macro.
 +      (WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Use it.
 +
 +2014-09-10  Paul Eggert  <eggert@penguin.cs.ucla.edu>
 +
 +      * charset.c (Fget_unused_iso_final_char): Fix subscript error.
 +      Use check_iso_charset_parameter instead of doing the checks by hand.
 +      (check_iso_charset_parameter): Move up.  Check parameters a bit
 +      more carefully, and return true for 96-char sets.  All callers changed.
 +
 +2014-09-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Simplify lisp.h by removing the __COUNTER__ business.
 +      Problem reported by Dmitry Antipov in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00220.html
 +      * lisp.h (make_local_vector, make_local_string)
 +      (build_local_string): Simplify by not bothering with __COUNTER__.
 +      The __COUNTER__ business wasn't working properly, and was needed
 +      only for hypothetical future expansion anyway.
 +
 +2014-09-10  Alp Aker  <alp.tekin.aker@gmail.com>
 +
 +      * nsterm.m (ns_draw_fringe_bitmap): Use the same logic as other
 +      terms to determine bitmap color.  (Bug#18437)
 +
 +2014-09-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32.c (sys_write): Use SAFE_NALLOCA for the NL -> CRLF
 +      translation buffer.
 +
 +2014-09-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xterm.c (handle_one_xevent): Add braces to pacify gcc -Wall.
 +
 +2014-09-10  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xterm.c (handle_one_xevent): Detect iconified by looking at
 +      _NET_WM_STATE_HIDDEN.
 +
 +2014-09-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (DEFINE_GDB_SYMBOL_ENUM): Remove.
 +      These can generate a constant with the correct value but the wrong
 +      width, which doesn't work as a printf argument.  All uses removed.
 +      Problem reported by Dmitry Antipov in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00213.html
 +      (ENUMABLE): Remove; no longer needed.
 +      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 +      Remove; no longer needed because of the above change.
 +      Each definiens moved to the only use.
 +
 +      Improve the experimental local and scoped allocation.
 +      * alloc.c (local_string_init, local_vector_init):
 +      New functions, defined if USE_LOCAL_ALLOCATORS.
 +      Mostly, these are moved here from lisp.h, as it's not
 +      clear it's worth making them inline.
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Default to false.
 +      (GCALIGNED): Depend on HAVE_STRUCT_ATTRIBUTE_ALIGNED and
 +      USE_STACK_LISP_OBJECTS, not on a laundry list.
 +      (local_string_init, local_vector_init): New decls.
 +      (union Aligned_Cons): New type.
 +      (scoped_cons): Use it.  Give up on the char trick, as it's a too
 +      much of a maintenance hassle; if someone wants this speedup
 +      they'll just need to convince their compiler to align properly.
 +      Conversely, use the speedup if struct Lisp_Cons happens to
 +      be aligned even without a directive.  Better yet, help it along
 +      by using union Aligned_Cons rather than struct Lisp_Cons.
 +      (pointer_valid_for_lisp_object): Remove.  This check is not
 +      necessary, since make_lisp_ptr is already doing it.  All uses removed.
 +      (local_vector_init, local_string_init): Move to alloc.c.
 +      (build_local_vector): Remove this awkward macro, replacing with ...
 +      (make_local_vector): New macro, which acts more like a function.
 +      Use statement expressions and use __COUNTER__ to avoid macro
 +      capture.  Fall back on functions if these features are not supported.
 +      (build_local_string, make_local_string): Likewise.
 +
 +2014-09-09  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xterm.c (x_term_init): Consolidate duplicated code.
 +      [USE_LUCID]: Revert 2014-04-02 change (Bug#18403).  Add comment.
 +      (x_delete_terminal): Do not close X connection fd (Bug#18403).
 +      Add eassert and mark dpyinfo as dead only if it was alive.
 +
 +      Add macros to allocate temporary Lisp objects with alloca.
 +      Respect MAX_ALLOCA and fall back to regular GC for large objects.
 +      * character.h (parse_str_as_multibyte): Move prototype to ...
 +      * lisp.h (parse_str_as_multibyte): ... here.
 +      (struct Lisp_Cons): Add GCALIGNED attribute if supported.
 +      (scoped_cons, scoped_list2, build_local_vector, build_local_string):
 +      New macros.
 +      (scoped_cons_init, pointer_valid_for_lisp_object, local_vector_init)
 +      (local_string_init): New functions.
 +      * alloc.c (verify_alloca) [ENABLE_CHECKING]: New function.
 +      (init_alloc_once): Call it.
 +
 +      Cleanup last change and make all new stuff conditional.
 +      * lisp.h (build_local_string): Rename to ...
 +      (make_local_string): ... this macro.
 +      (build_local_string, scoped_list1, scoped_list3): New macros.
 +      (toplevel) [USE_STACK_LISP_OBJECTS]: Define all new macros
 +      and functions as such, use regular fallbacks otherwise.
 +      * alloc.c (verify_alloca) [USE_STACK_LISP_OBJECTS]: Define
 +      conditionally.
 +
 +2014-09-08  Eli Zaretskii  <eliz@gnu.org>
  
        * dispnew.c (prepare_desired_row): When MODE_LINE_P is zero,
        always make sure the marginal areas of the row are in sync with
        what the window wants.  (Bug#18419)
  
 -2014-09-04  Eli Zaretskii  <eliz@gnu.org>
 -
        * data.c (set_internal): Use assq_no_quit, not Fassq, to find an
        existing binding of a variable, to avoid silently aborting
        commands that use specbind.  (Bug#18331)
  
 -2014-09-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix bug uncovered by changing alloca to auto buffer (Bug#18410).
 +      * coding.c (growable_destination): New function.
 +      (produce_chars): Use it for sanity checks.  Do not fiddle with
 +      dst_end if the source and destination are both nil, as it's
 +      the caller's responsibility to avoid overlap.
 +      * keyboard.c (read_decoded_event_from_main_queue):
 +      The destination must be MAX_MULTIBYTE_LENGTH times the max source
 +      length, not 4 times, to prevent decode_coding_c_string from trying
 +      to reallocate a destination.  This removes the need for the FIXME.
 +
 +      * callproc.c (exec_failed) [DOS_NT]: Define a dummy.
 +      All callers simplified.  Add a comment about exec_failed, vfork,
 +      and alloca.
 +
 +      Adjust drag-and-drop fix when window is above top (Bug#18303).
 +      * xselect.c (x_fill_property_data): Don't let sign bit of negative
 +      XCDR bleed into XCAR's encoded value.  Improve checks for
 +      out-of-range data while we're at it.
 +
 +2014-09-07  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xselect.c (x_fill_property_data): Handle negative XCDR when data
 +      is CONSP (Bug#18303).
 +
 +2014-09-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * callproc.c (child_setup) [WINDOWSNT]: Don't call exec_failed if
 +      'alloca' gets passed arguments larger than MAX_ALLOCA.
 +
 +      * font.c (MAX): Define if not defined elsewhere.
 +
 +2014-09-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * keyboard.c (read_decoded_event_from_main_queue): Reinstitute alloca
 +      here for destination buffer, to work around what appears to be a
 +      bug in decode_coding_c_string when the source and destination are
 +      both C strings.
 +
 +      Use SAFE_ALLOCA etc. to avoid unbounded stack allocation (Bug#18410).
 +      This follows up on the recent thread in emacs-devel on alloca; see:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00042.html
 +      This patch also cleans up alloca-related glitches noted while
 +      examining the code looking for unbounded alloca.
 +      * alloc.c (listn):
 +      * callproc.c (init_callproc):
 +      Rewrite to avoid need for alloca.
 +      * buffer.c (mouse_face_overlay_overlaps)
 +      (report_overlay_modification):
 +      * buffer.h (GET_OVERLAYS_AT):
 +      * coding.c (make_subsidiaries):
 +      * doc.c (Fsnarf_documentation):
 +      * editfns.c (Fuser_full_name):
 +      * fileio.c (Ffile_name_directory, Fexpand_file_name)
 +      (search_embedded_absfilename, Fsubstitute_in_file_name):
 +      * fns.c (Fmake_hash_table):
 +      * font.c (font_vconcat_entity_vectors, font_update_drivers):
 +      * fontset.c (fontset_pattern_regexp, Ffontset_info):
 +      * frame.c (Fmake_terminal_frame, x_set_frame_parameters)
 +      (xrdb_get_resource, x_get_resource_string):
 +      * ftfont.c (ftfont_get_charset, ftfont_check_otf, ftfont_drive_otf):
 +      * ftxfont.c (ftxfont_draw):
 +      * image.c (xbm_load, xpm_load, jpeg_load_body):
 +      * keyboard.c (echo_add_key, menu_bar_items, tool_bar_items)
 +
 +      * keymap.c (Fdescribe_buffer_bindings, describe_map):
 +      * lread.c (openp):
 +      * menu.c (digest_single_submenu, find_and_call_menu_selection)
 +      (find_and_return_menu_selection):
 +      * print.c (PRINTFINISH):
 +      * process.c (Fformat_network_address):
 +      * scroll.c (do_scrolling, do_direct_scrolling, scrolling_1):
 +      * search.c (search_buffer, Fmatch_data, Fregexp_quote):
 +      * sound.c (wav_play, au_play):
 +      * syntax.c (skip_chars):
 +      * term.c (tty_menu_activate, tty_menu_show):
 +      * textprop.c (get_char_property_and_overlay):
 +      * window.c (Fset_window_configuration):
 +      * xdisp.c (safe__call, next_overlay_change, vmessage)
 +      (compute_overhangs_and_x, draw_glyphs, note_mouse_highlight):
 +      * xfaces.c (face_at_buffer_position):
 +      * xmenu.c (x_menu_show):
 +      Use SAFE_ALLOCA etc. instead of plain alloca, since the
 +      allocation size isn't bounded.
 +      * callint.c (Fcall_interactively): Redo memory_full check
 +      so that it can be done at compile-time on some platforms.
 +      * coding.c (MAX_LOOKUP_MAX): New constant.
 +      (get_translation_table): Use it.
 +      * callproc.c (call_process): Use SAFE_NALLOCA instead of
 +      SAFE_ALLOCA, to catch integer overflows on size calculation.
 +      (exec_failed) [!DOS_NT]: New function.
 +      (child_setup) [!DOS_NT]: Use it.
 +      * editfns.c (Ftranspose_regions):
 +      Hoist USE_SAFE_ALLOC + SAFE_FREE out of 'if'.
 +      * editfns.c (check_translation):
 +      Allocate larger buffers on the heap.
 +      * eval.c (internal_lisp_condition_case):
 +      Check for MAX_ALLOCA overflow.
 +      * fns.c (sort_vector): Use SAFE_ALLOCA_LISP rather than Fmake_vector.
 +      (Fbase64_encode_region, Fbase64_decode_region):
 +      Avoid unnecessary calls to SAFE_FREE before 'error'.
 +      * buffer.c (mouse_face_overlay_overlaps):
 +      * editfns.c (Fget_pos_property, check_translation):
 +      * eval.c (Ffuncall):
 +      * font.c (font_unparse_xlfd, font_find_for_lface):
 +      * ftfont.c (ftfont_drive_otf):
 +      * keyboard.c (echo_add_key, read_decoded_event_from_main_queue)
 +      (menu_bar_items, tool_bar_items):
 +      * sound.c (Fplay_sound_internal):
 +      * xdisp.c (load_overlay_strings, dump_glyph_row):
 +      Use an ordinary auto buffer rather than alloca, since the
 +      allocation size is fixed and small.
 +      * ftfont.c: Include <c-strcase.h>.
 +      (matching_prefix): New function.
 +      (get_adstyle_property): Use it, to avoid need for alloca.
 +      * keyboard.c (echo_add_key):
 +      * keymap.c (describe_map): Use ptrdiff_t, not int.
 +      * keyboard.c (echo_add_key): Prefer sizeof to strlen.
 +      * keymap.c (Fdescribe_buffer_bindings): Use SBYTES, not SCHARS,
 +      when counting bytes.
 +      * lisp.h (xlispstrdupa): Remove, replacing with ...
 +      (SAFE_ALLOCA_STRING): ... new macro with different API.
 +      This fixes a portability problem, namely, alloca result
 +      passed to another function.  All uses changed.
 +      (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Check for MAX_ALLOCA,
 +      not MAX_ALLOCA - 1.
 +      * regex.c (REGEX_USE_SAFE_ALLOCA, REGEX_SAFE_FREE)
 +      (REGEX_ALLOCATE): New macros.
 +      (REGEX_REALLOCATE, REGEX_ALLOCATE_STACK, REGEX_REALLOCATE_STACK)
 +      (REGEX_FREE_STACK, FREE_VARIABLES, re_match_2_internal):
 +      Use them.
 +      * xdisp.c (message3): Use SAFE_ALLOCA_STRING rather than doing it
 +      by hand.
 +      (decode_mode_spec_coding): Store directly into buf rather than
 +      into an alloca temporary and copying the temporary to the buf.
 +
 +2014-09-06  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * Makefile.in (EMACS_HEAPSIZE): Remove, no longer used.  (Bug#18416)
 +
 +2014-09-04  Jan D  <jan.h.d@swipnet.se>
 +
 +      * xterm.c (x_term_init): Don't call x_session_initialize if running
 +      as a daemon (Bug#18375).
 +
 +      * xsmfns.c: Initialize ice_fd.
 +
 +2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Less chatter in 'make' output.
 +      * Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0, am__v_GEN_1, AM_V_at)
 +      (am__v_at_, am__v_at_0, am__v_at_1):  New macros, taken from Automake.
 +      ($(etc)/DOC, buildobj.h, gl-stamp): Use them.
 +
 +2014-09-03  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * buffer.c (scroll-bar-height): Fix typo in doc-string.
 +      * frame.c (Vdefault_frame_horizontal_scroll_bars):
 +      Remove variable.
 +      * nsfns.m (Fx_create_frame):
 +      * w32fns.c (Fx_create_frame):
 +      * xfns.c (Fx_create_frame): Default horizontal scroll bars to
 +      nil.
 +
 +2014-09-03  Eli Zaretskii  <eliz@gnu.org>
  
        * dispnew.c (buffer_posn_from_coords): Fix an off-by-one error in
        the reported row in the case of a window with a header line, by
        improving on the fix committed in 2011-10-08T10:58:50Z!eliz@gnu.org
        eliz@gnu.org-20111008105850-ht4tvsayohvr1kjc.  (Bug#18384)
  
 -2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-09-03  Paul Eggert  <eggert@cs.ucla.edu>
  
        * eval.c (internal_lisp_condition_case): Don't overrun the stack
        when configured --with-wide-int on typical 32-bit platforms.
  
 -2014-08-31  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-03  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (display_and_set_cursor): Call erase_phys_cursor also
        when HPOS is negative, for the benefit of R2L glyph rows whose
        newline overflows into the fringe.
  
 -2014-08-30  Ken Brown  <kbrown@cornell.edu>
 +2014-09-03  Ken Brown  <kbrown@cornell.edu>
  
 -      * conf_post.h (strnicmp) [CYGWIN && HAVE_NTGUI]: Define.
 -      (Bug#18366)
 +      * conf_post.h (strnicmp) [CYGWIN && HAVE_NTGUI]: Define.  (Bug#18366)
  
 -2014-08-28  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * syntax.c (scan_lists): Don't examine positions before BEGV.
 -      (Bug#18339)
 +      Minor cleanup of recent strlen-avoiding patch.
 +      * fileio.c (CHECK_LENGTH): Remove.
 +      Rewrite callers so that they don't need it.
 +      (Fexpand_file_name) [DOS_NT]: Fix a case where directory length
 +      variable wasn't set.
 +
 +2014-09-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * fileio.c (CHECK_LENGTH): New macro.
 +      (Fexpand_file_name): Use it and get rid of a few more calls
 +      to strlen and strcat.
 +      * callproc.c (egetenv_internal): Add arg and rename from egetenv ...
 +      * lisp.h (egetenv): ... because of a new inline function used to
 +      avoid calls to strlen for a compile-time constants.
 +
 +      * buffer.h (decode_buffer): New function.
 +      * buffer.c (Fbuffer_name, Fbuffer_file_name, Fbuffer_base_buffer)
 +      (Fbuffer_local_variables, Fbuffer_modified_p, Fbuffer_modified_tick)
 +      (Fbuffer_chars_modified_tick, Fdelete_all_overlays):
 +      * data.c (Flocal_variables_p):
 +      * fileio.c (Fverify_visited_file_modtime):
 +      * marker.c (live_buffer): Use it.
 +
 +2014-09-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid extra calls to strlen in filesystem I/O routines.
 +      * fileio.c (Fexpand_file_name): Avoid calls to strlen if
 +      the length of 'newdir' is known or may be precalculated.
 +      (file_accessible_directory_p): Prefer to pass Lisp_Object,
 +      not 'char *', and so use precalculated length.
 +      (Ffile_accessible_directory_p):
 +      * callproc.c (encode_current_directory, init_callproc):
 +      * charset.c (init_charset):
 +      * lread.c (load_path_check, load_path_default): Adjust users.
 +      * lisp.h (file_accessible_directory_p): Tweak prototype.
 +
 +2014-09-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32proc.c (w32_compare_strings): Support "C" and "POSIX"
 +      locales.
 +
 +2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      --enable-silent-rules now suppresses more chatter.
 +      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
 +      (am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
 +      (am__v_CCLD_1): New macros, taken from Automake.
 +      (.c.o, .m.o, temacs$(EXEEXT)): Use them.
 +
 +      Clean up extern decls a bit.
 +      * bytecode.c: Include blockinput.h and keyboard.h rather
 +      than rolling their APIs by hand.
 +      * emacs.c: Include regex.h and rely on its and lisp.h's API
 +      rather than rolling them by hand.
 +      * lastfile.c: Include lisp.h, to check this file's API.
 +      * lisp.h (lisp_eval_depth, my_edata, my_endbss, my_endbss_static):
 +      New decls.
 +      * regex.h (re_max_failures): New decl.
 +      * unexcw.c, unexmacosx.c, unexw32.c:
 +      Rely on lisp.h's API rather than rolling it by hand.
 +      * vm-limit.c (__after_morecore_hook, __morecore, real_morecore):
 +      Declare at top level, to pacify GCC -Wnested-externs.
  
 -2014-08-25  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-31  Eli Zaretskii  <eliz@gnu.org>
  
 -      * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Don't define.
 +      * xdisp.c (get_glyph_string_clip_rects): Don't let the width of a
 +      clipping rectangle become negative (i.e. large positive, since
 +      it's an unsigned data type).  This can happen in R2L hscrolled
 +      glyph rows, and caused us to draw the cursor glyph on the fringe.
 +      For the details, see
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00543.html.
 +
 +2014-08-31  Ken Brown  <kbrown@cornell.edu>
  
 -2014-08-18  Eli Zaretskii  <eliz@gnu.org>
 +      * gmalloc.c: Don't include <stdlib.h>.  Declare system malloc and
 +      friends before defining hybrid_malloc and friends if HYBRID_MALLOC
 +      is defined.  (Bug#18368)
 +
 +2014-08-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Vector-sorting fixes (Bug#18361).
 +      It's not safe to call qsort or qsort_r, since they have undefined
 +      behavior if the user-specified predicate is not a total order.
 +      Also, watch out for garbage-collection while sorting vectors.
 +      * fns.c: Include <vla.h>.
 +      (sort_vector_predicate) [!HAVE_QSORT_R]: Remove.
 +      (sort_vector_compare): Remove, replacing with ....
 +      (inorder, merge_vectors, sort_vector_inplace, sort_vector_copy):
 +      ... these new functions.
 +      (sort_vector): Rewrite to use the new functions.
 +      GCPRO locals, since the predicate can invoke the GC.
 +      Since it's in-place return void; caller changed.
 +      (merge): Use 'inorder', for clarity.
 +
 +      * sysdep.c (str_collate): Clear errno just before wcscoll(_l).
 +      One can't hoist this out of the 'if', because intervening calls to
 +      newlocale, twolower, etc. can change errno.
 +
 +2014-08-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * sysdep.c (str_collate) [__STDC_ISO_10646__]: Improve the
 +      wording of the error messages.
 +      (str_collate) [WINDOWSNT]: Signal an error if w32_compare_strings
 +      sets errno.
 +
 +      * w32proc.c (get_lcid_callback): Accept locale specifications
 +      without the country part, as in "enu" vs "enu_USA".
 +      (w32_compare_strings): Signal an error if a locale was specified,
 +      but couldn't be translated into a valid LCID.
 +
 +2014-08-29  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * sysdep.c (str_collate) [__STDC_ISO_10646__]: Move up setting errno.
 +
 +2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c (str_collate) [__STDC_ISO_10646__]: Do not look at
 +      errno after towlower_l.  errno's value is not specified after
 +      towlower_l.  Instead, assume that towlower_l returns its argument
 +      on failure, which is portable in practice.
 +
 +2014-08-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * fns.c (Fstring_collate_lessp, Fstring_collate_equalp): Doc fix.
 +
 +      * w32proc.c (w32_compare_strings): Accept additional argument
 +      IGNORE_CASE.  Set up the flags for CompareStringW to ignore case
 +      if requested.  If w32-collate-ignore-punctuation is non-nil, add
 +      NORM_IGNORESYMBOLS to the flags.
 +      (LINGUISTIC_IGNORECASE): Define if not already defined.
 +      (syms_of_ntproc) <Vw32_collate_ignore_punctuation>: New variable.
 +
 +      * sysdep.c (str_collate) [WINDOWSNT]: Adapt to the interface
 +      change.
 +
 +2014-08-29  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * sysdep.c (LC_CTYPE, LC_CTYPE_MASK, towlower_l):
 +      Define substitutes for platforms that lack them.
 +      (str_collate): Add arguments locale and ignore_case.
 +
 +      * fns.c (Fstring_collate_lessp, Fstring_collate_equalp):
 +      Add optional arguments LOCALE and IGNORE-CASE.
 +
 +      * lisp.h (str_collate): Adapt argument list.
 +
 +2014-08-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Add vectors support to Fsort.
 +      * fns.c (sort_vector, sort_vector_compare): New functions.
 +      (sort_list): Likewise, refactored out of ...
 +      (Fsort): ... adjusted user.  Mention vectors in docstring.
 +      (sort_vector_predicate) [!HAVE_QSORT_R]: New variable.
 +      * alloc.c (make_save_int_obj): New function.
 +      * lisp.h (enum Lisp_Save_Type): New member SAVE_TYPE_INT_OBJ.
 +      (make_save_int_obj): Add prototype.
 +
 +      Fix last change to support Darwin/OSX and FreeBSD (Bug#18354).
 +      * sysdep.c (sort_vector_compare) [DARWIN_OS || __FreeBSD__]:
 +      Conditionally define to match system's qsort_r signature.
 +      (sort_vector) [DARWIN_OS || __FreeBSD__]: Likewise in call to qsort_r.
 +
 +2014-08-28  Ken Brown  <kbrown@cornell.edu>
 +
 +      Add support for HYBRID_MALLOC, allowing the use of gmalloc before
 +      dumping and the system malloc after dumping.  (Bug#18222)
 +
 +      * conf_post.h (malloc, realloc, calloc, free) [HYBRID_MALLOC]:
 +      Define as macros, expanding to hybrid_malloc, etc.
 +      (HYBRID_GET_CURRENT_DIR_NAME): New macro.
 +      (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Define as
 +      macro.
 +      * gmalloc.c: Set up the infrastructure for HYBRID_MALLOC, with a
 +      full implementation on Cygwin.  Remove Cygwin-specific code that
 +      is no longer needed.
 +      (malloc, realloc, calloc, free, aligned_alloc) [HYBRID_MALLOC]:
 +      Redefine as macros expanding to gmalloc, grealloc, etc.
 +      (DUMPED, ALLOCATED_BEFORE_DUMPING) [CYGWIN]: New macros.
 +      (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Undefine.
 +      (USE_PTHREAD, posix_memalign) [HYBRID_MALLOC]: Don't define.
 +      (hybrid_malloc, hybrid_calloc, hybrid_free, hybrid_realloc)
 +      [HYBRID_MALLOC]:
 +      (hybrid_get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]:
 +      (hybrid_aligned_alloc) [HYBRID_MALLOC && (HAVE_ALIGNED_ALLOC ||
 +      HAVE_POSIX_MEMALIGN)]: New functions.
 +      * alloc.c (aligned_alloc) [HYBRID_MALLOC && (ALIGNED_ALLOC ||
 +      HAVE_POSIX_MEMALIGN)]: Define as macro expanding to
 +      hybrid_aligned_alloc; declare.
 +      (USE_ALIGNED_ALLOC) [HYBRID_MALLOC && (ALIGNED_ALLOC ||
 +      HAVE_POSIX_MEMALIGN)]: Define.
 +      (refill_memory_reserve) [HYBRID_MALLOC]: Do nothing.
 +      * sysdep.c (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]:
 +      Define as macro, expanding to gget_current_dir_name, and define
 +      the latter.
 +      * emacs.c (main) [HYBRID_MALLOC]: Don't call memory_warnings() or
 +      malloc_enable_thread().  Don't initialize malloc.
 +      * lisp.h (NONPOINTER_BITS) [CYGWIN]: Define (because GNU_MALLOC is
 +      no longer defined on Cygwin).
 +      (refill_memory_reserve) [HYBRID_MALLOC]: Don't declare.
 +      * sheap.c (bss_sbrk_buffer_end): New variable.
 +      * unexcw.c (__malloc_initialized): Remove variable.
 +      * ralloc.c: Throughout, treat HYBRID_MALLOC the same as
 +      SYSTEM_MALLOC.
 +      * xdisp.c (decode_mode_spec) [HYBRID_MALLOC]: Don't check
 +      Vmemory_full.
 +
 +2014-08-28  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32term.c (w32_horizontal_scroll_bar_handle_click):
 +      In `event->y' return entire range (the size of the scroll bar minus
 +      that of the thumb).
 +      * xterm.c (xm_scroll_callback, xaw_jump_callback): In `whole'
 +      return entire range (the scaled size of the scroll bar minus
 +      that of the slider).  In `portion' return the scaled position of
 +      the slider.
 +      (xaw_jump_callback): Restore part of code for vertical scroll
 +      bar broken in change from 2014-07-27.
 +      (xaw_scroll_callback): Provide incremental scrolling with
 +      horizontal scroll bars.
 +
 +2014-08-28  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xdisp.c (handle_stop): Improve commentary.
 +      * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Don't define.
  
        * indent.c (Fvertical_motion): Fix vertical motion up through a
        display property after a newline.  (Bug#18276)
  
 -2014-08-17  Eli Zaretskii  <eliz@gnu.org>
 -
        * xdisp.c (display_line): Don't assume that the call to
        reseat_at_next_visible_line_start ends up at a character
        immediately following the newline on the previous line.
        * dispnew.c (buffer_posn_from_coords): Fix mirroring of X
        coordinate for hscrolled R2L screen lines.  (Bug#18277)
  
 -2014-08-11  Ken Brown  <kbrown@cornell.edu>
 +2014-08-28  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * gmalloc.c (_malloc_mutex, _aligned_blocks_mutex) [CYGWIN]: Use
 -      ERRORCHECK mutexes.  (Bug#18222)
 +      * sysdep.c (LC_COLLATE, LC_COLLATE_MASK): Give individual defaults
 +      (Bug#18051).
  
 -2014-08-11  Glenn Morris  <rgm@gnu.org>
 +2014-08-27  Eli Zaretskii  <eliz@gnu.org>
  
 -      * fileio.c: Revert 2013-01-31 change, which chose coding system for
 -      writing before backing up, since it causes a more serious problem
 -      than the one it solves.  (Closes Bug#18141, reopens Bug#13522.)
 -      (choose_write_coding_system): No longer callable from Lisp.
 -      Move last piece back here from Fwrite_region.
 -      (Fwrite_region, syms_of_fileio): Update for above changes.
 +      * syntax.c (scan_lists): Don't examine positions before BEGV.
 +      (Bug#18339)
  
 -2014-08-09  Martin Rudalics  <rudalics@gmx.at>
 +2014-08-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve robustness of new string-collation code (Bug#18051).
 +      * sysdep.c (LC_COLLATE, LC_COLLATE_MASK, freelocale, locale_t)
 +      (newlocale, wcscoll_l): Define substitutes for platforms that
 +      lack them, so as to simplify the mainline code.
 +      (str_collate): Simplify the code by assuming the above definitions.
 +      Use wcscoll_l, not uselocale, as uselocale is too fragile.
 +      For example, the old version left the Emacs in the wrong locale if
 +      wcscoll reported an error.  Use 'int', not ptrdiff_t, for the int
 +      result.  Report an error if newlocale fails.
 +
 +2014-08-27  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * lisp.h (str_collate):
 +      * sysdep.c (str_collate): Return int.
 +      (str_collate) [__STDC_ISO_10646__]: Propagate error of wcscoll.
 +
 +2014-08-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix some glitches in previous change.
 +      * sysdep.c (stack_direction): Replace stack_grows_down
 +      to simplify calculation of stack boundaries.
 +      (handle_sigsegv): Check whether we really crash somewhere near
 +      to stack boundary, and handle fatal signal as usual if not.
 +      (init_sigsegv): Adjust accordingly.
 +      * keyboard.c (Vtop_level_message): Rename to
 +      Vinternal__top_level_message, as suggested by Stefan Monnier in
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00493.html
 +      All related users changed.
 +
 +2014-08-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Handle C stack overflow caused by too nested Lisp evaluation.
 +      * lisp.h (toplevel) [HAVE_STACK_OVERFLOW_HANDLING]: Declare
 +      siglongjmp point to transfer control from SIGSEGV handler.
 +      * keyboard.c (return_to_command_loop, recover_top_level_message)
 +      [HAVE_STACK_OVERFLOW_HANDLING]: New variables.
 +      (regular_top_level_message): New variable.
 +      (command_loop) [HAVE_STACK_OVERFLOW_HANDLING]: Handle non-local
 +      exit from SIGSEGV handler and adjust message displayed by Vtop_level
 +      if appropriate.
 +      (syms_of_keyboard): DEFVAR Vtop_level_message and initialize
 +      new variables described above.
 +      * sysdep.c [HAVE_SYS_RESOURCE_H]: Include sys/resource.h as such.
 +      (stack_grows_down, sigsegv_stack, handle_sigsegv)
 +      [HAVE_STACK_OVERFLOW_HANDLING]: New variables and function.
 +      (init_sigsegv): New function.
 +      (init_signals): Use it.
 +
 +2014-08-25  Ken Brown  <kbrown@cornell.edu>
 +
 +      * emacs.c (main): Remove use of obsolete macro
 +      G_SLICE_ALWAYS_MALLOC.
  
 -      * window.c (Fwindow_new_total, Fwindow_new_normal)
 -      (Fwindow_new_pixel, Fset_window_new_pixel)
 -      (Fset_window_new_total, Fset_window_new_normal): Second attempt
 -      to fix the doc-strings of these functions.  See:
 -      http://lists.gnu.org/archive/html/bug-gnu-emacs/2014-08/msg00287.html
 +2014-08-25  Eli Zaretskii  <eliz@gnu.org>
  
 -2014-08-08  Martin Rudalics  <rudalics@gmx.at>
 +      Implement locale-sensitive string collation for MS-Windows.
 +      * w32proc.c (get_lcid_callback, get_lcid, w32_compare_strings):
 +      New functions.  (Bug#18051)
  
 -      * window.c (Fwindow_valid_p): Fix doc-string (Bug#18194).
 -      (Fwindow_new_total, Fwindow_normal_size, Fwindow_new_normal)
 -      (Fwindow_new_pixel, Fset_window_new_pixel)
 -      (Fset_window_new_total, Fset_window_new_normal)
 -      (Fwindow_resize_apply): Fix doc-strings (see Bug#18112).
 +      * w32.h (w32_compare_strings): Add prototype.
  
 -2014-08-07  Eli Zaretskii  <eliz@gnu.org>
 +      * w32.c <g_b_init_compare_string_w>: New global flag.
 +      (globals_of_w32): Initialize it.
  
 -      * fontset.c (Finternal_char_font): Recompute basic faces if the
 -      frame's face cache was cleared.  (Bug#18162)
 +      * sysdep.c (str_collate) [WINDOWSNT]: Implementation for MS-Windows.
  
 -2014-08-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +      * fns.c (Fstring_collate_lessp, Fstring_collate_equalp)
 +      [WINDOWSNT]: Call str_collate on MS-Windows.
  
 -      Fix bug with uninitialized undo list of an indirect buffer (Bug#18180).
 -      * buffer.c (Fmake_indirect_buffer): Initialize undo list with the
 -      base buffer's undo list.
 +2014-08-25  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -2014-08-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +      One more minor cleanup of font subsystem.
 +      * font.h (struct font_driver): Convert text_extents to
 +      return void because returned value is never actually used.
 +      * macfont.m (macfont_text_extents):
 +      * w32font.c (w32font_text_extents):
 +      * xftfont.c (xftfont_text_extents): Adjust to return void
 +      and assume that 'metrics' argument is always non-NULL.
 +      * ftfont.c (ftfont_text_extents):
 +      * xfont.c (xfont_text_extents): Likewise.  Avoid redundant memset.
  
 -      Fix bug with an attempt to select uninitialized frame (Bug#18161).
 -      * xfns.c (Fx_create_frame): Move call to change_frame_size to
 -      a section where Lisp evaluation is disabled.  This way a pointer
 -      to uninitialized frame is not accessible from Lisp, which becomes
 -      critical if following call to x_figure_window_size throws an error.
 +2014-08-25  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2014-08-02  Paul Eggert  <eggert@cs.ucla.edu>
 +      Minor cleanups of str_collate fix (Bug#18051).
 +      * fns.c (str_collate): Move decl from here ...
 +      * lisp.h (str_collate): ... to here.
 +      * sysdep.c (str_collate): Prune away some of the forest of ifdefs.
 +      Remove unnecessary casts.  Use SAFE_NALLOCA to avoid
 +      potential problems with integer overflow.  Don't assume
 +      setlocale succeeds.  Remove unnecessary test before restoring
 +      locale via setlocale, and free the copied setlocale string
 +      when done with it.
  
 -      Fix bug with clang + directory_files_internal + GC (Bug#16986).
 -      * dired.c (directory_files_internal): Use a volatile variable
 -      to prevent the compiler from optimizing away all copies of a local.
 -      I wonder how many other GC-related bugs like this lurk elsewhere?
 +2014-08-24  Michael Albinus  <michael.albinus@gmx.de>
  
 -      Avoid 100% CPU utilization on ssh session exit (Bug#17691).
 -      * xterm.h (struct x_display_info): New member 'connection'.
 -      * xterm.c (x_term_init, x_delete_terminal): Set and use it,
 -      so that x_delete_terminal has a file descriptor to pass to
 -      delete_keyboard_wait_descriptor.
 +      * fns.c (Fstring_collate_lessp, Fstring_collate_equalp): New DEFUNs.
  
 -2014-08-01  Eli Zaretskii  <eliz@gnu.org>
 +      * sysdep.c (str_collate): New function.  (Bug#18051)
  
 -      Fix display of R2L lines when the last character fits only partially.
 -      See http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00476.html
 -      for the details.
 -      * xdisp.c (extend_face_to_end_of_line): If the last glyph of an
 -      R2L row is visible only partially, give the row a negative x
 -      offset.
 +2014-08-23  Karol Ostrovsky  <karol.ostrovsky@gmail.com>  (tiny change)
 +
 +      * Makefile.in (emacs$(EXEEXT)): Retry deletion of bootstrap-emacs
 +      if the initial "rm -f" fails.  This is for MinGW builds, where
 +      MS-Windows will not allow deleting the executable file of a
 +      running program.
 +
 +2014-08-20  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.c (w32_scroll_bar_handle_click)
 +      (w32_horizontal_scroll_bar_handle_click)
 +      (x_scroll_bar_report_motion)
 +      (x_horizontal_scroll_bar_report_motion): For SB_THUMBPOSITION and
 +      SB_THUMBTRACK, use the 32-bit position information returned by
 +      GetScrollInfo, not the 16-bit information returned in the Windows
 +      message sent to us.
 +
 +2014-08-19  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.c (w32_horizontal_scroll_bar_handle_click): Fix the
 +      second coordinate ('y') reported for dragging the horizontal
 +      scroll bar thumb.
 +
 +2014-08-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +
 +      * xdisp.c (erase_phys_cursor): Fix confusion between window-relative
 +      and text area-relative x-coordinates.
 +
 +2014-08-17  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Avoid overwriting the reversed_p flags in the glyph matrices when
 +      init_iterator or start_display are called.
 +      * xdisp.c (init_iterator): Don't initialize the reversed_p flag of
 +      the glyph row here.
 +      (tool_bar_height, redisplay_tool_bar, try_window)
 +      (try_window_reusing_current_matrix, try_window_id)
 +      (get_overlay_arrow_glyph_row, display_menu_bar): Initialize the
 +      reversed_p flag of the iterator's glyph row where the glyph row
 +      is going to be redrawn.
 +
 +2014-08-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xdisp.c (set_horizontal_scroll_bar): Don't use uninitialized local.
 +
 +2014-08-16  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32term.c (w32_horizontal_scroll_bar_handle_click): In y part
 +      of emacs_event return length from si.nPage to si.nMax.
 +      * xdisp.c (set_horizontal_scroll_bar): For right-to-left text
 +      interchange start and end of thumb.
 +
 +2014-08-15  Ken Brown  <kbrown@cornell.edu>
 +
 +      * gmalloc.c (_malloc_mutex, _aligned_blocks_mutex) [CYGWIN]: Use
 +      ERRORCHECK mutexes.  (Bug#18222)
 +
 +2014-08-12  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (set_menu_bar_lines_1): Remove.
 +      (set_menu_bar_lines): Call change_frame_size instead of
 +      set_menu_bar_lines_1.
 +
 +2014-08-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsfns.m (Fx_create_frame): Call adjust_frame_size,
 +      set f->official.
 +
 +2014-08-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * fileio.c: Revert 2013-01-31 change, which chose coding system for
 +      writing before backing up, since it causes a more serious problem
 +      than the one it solves.  (Closes Bug#18141, reopens Bug#13522.)
 +      (choose_write_coding_system): No longer callable from Lisp.
 +      Move last piece back here from Fwrite_region.
 +      (Fwrite_region, syms_of_fileio): Update for above changes.
 +
 +2014-08-11  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (Fwindow_valid_p): Fix doc-string (Bug#18194).
 +      (Fwindow_new_total, Fwindow_normal_size, Fwindow_new_normal)
 +      (Fwindow_new_pixel, Fset_window_new_pixel)
 +      (Fset_window_new_total, Fset_window_new_normal)
 +      (Fwindow_resize_apply): Fix doc-strings (see Bug#18112).
 +      See also:
 +      http://lists.gnu.org/archive/html/bug-gnu-emacs/2014-08/msg00287.html
 +
 +2014-08-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * fontset.c (Finternal_char_font): Recompute basic faces if the
 +      frame's face cache was cleared.  (Bug#18162)
 +
 +2014-08-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix bug with uninitialized undo list of an indirect buffer (Bug#18180).
 +      * buffer.c (Fmake_indirect_buffer): Initialize undo list with the
 +      base buffer's undo list.
 +
 +2014-08-10  Reuben Thomas  <rrt@sc3d.org>
 +
 +      Fix a couple of recent inadvertent breaks of the MSDOS port.
 +      * msdos.c: include required menu.h
 +      * term.c: set correct menu_show_hook on MSDOS.
 +
 +2014-08-10  Martin Rudalics  <rudalics@gmx.at>
 +
 +      Fix handling of menu bar line on TTY frames (Bug#18136)
 +      (Bug#18196).
 +      * dispnew.c (handle_window_change_signal):
 +      * keyboard.c (Fsuspend_emacs): Call change_frame_size with
 +      frame's menu bar lines subtracted from height.
 +      * frame.c (frame_inhibit_resize): Inhibit resizing of TTY
 +      frames.
 +      (adjust_frame_size): Count in menu bar when setting FrameRows.
 +      (make_terminal_frame): When setting up the frame's lines and
 +      text height don't count in the menu bar.
 +      (Fmake_terminal_frame): Call adjust_frame_size with menu bar
 +      lines subtracted from height.
 +      (do_switch_frame): Set tty's FrameRows to number of total lines
 +      of frame.
 +      (Fframe_pixel_height, Fframe_pixel_width): If no window system
 +      is used, return total number of lines and columns.
 +      * menu.c (emulate_dialog_with_menu): Use FRAME_TOTAL_LINES instead
 +      of FRAME_LINES.
 +      * term.c (OUTPUT, tty_set_terminal_modes)
 +      (tty_set_terminal_window, tty_set_scroll_region)
 +      (tty_clear_to_end, tty_write_glyphs, tty_write_glyphs_with_face)
 +      (tty_ins_del_lines, tty_menu_display, tty_menu_activate):
 +      Use FRAME_TOTAL_LINES instead of FRAME_LINES.
 +      (Fresume_tty): Use FRAME_TOTAL_LINES instead of FRAME_LINES.
 +      Call change_frame_size with frame's menu bar lines subtracted
 +      from height.
 +      * w32console.c (w32con_clear_to_end, w32con_clear_frame)
 +      (w32con_ins_del_lines): Use FRAME_TOTAL_LINES instead of
 +      FRAME_LINES.
 +
 +2014-08-09  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * alloc.c (Fmemory_info): Remove a stray brace.
 +
 +      * process.c: Fix a comment typo.
 +
 +      * msdos.c, dosfns.c (init_dosfns): Remove support for DJGPP < 2.02.
 +
 +2014-08-09  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * widgetprv.h (EmacsFramePart): Remove font.
 +
 +      * widget.c (DEFAULT_FACE_FONT, EmacsFrameSetValues, setup_frame_gcs)
 +      (resources, setup_frame_cursor_bits): Remove unused variables and
 +      functions, esp. wrt. font (Bug#18227).
 +
 +2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xterm.c (x_delete_terminal): Plug file descriptor leak (Bug#17691).
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      Refer to MS-DOS using the same name everywhere.
 +
 +      * editfns.c: Fix a couple of ``MS-DOG''s missed in the previous
 +      commit.
 +      * xfaces.c: ditto.
 +
 +2014-08-05  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32term.c (w32_redeem_scroll_bar):
 +      * xterm.c (XTredeem_scroll_bar): Revert part of last change by
 +      not redeeming scroll bars that have been turned off.
 +
 +2014-08-05 Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * keyboard.c (safe_run_hooks): Follow the convenient style to bind
 +      inhibit-quit to t and pass 2 args to safe_run_hook_funcall.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00077.html>.
 +      (safe_run_hook_funcall): Adjust accordingly.
 +
 +2014-08-04  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS):
 +      Condition correctly according to toolkit used.
 +      * frame.c (make_initial_frame, make_terminal_frame)
 +      (x_set_horizontal_scroll_bars, x_set_scroll_bar_height)
 +      (Vdefault_frame_horizontal_scroll_bars): Correctly condition
 +      assignments according to presence of toolkit scrollbars.
 +      * window.h (WINDOW_HAS_HORIZONTAL_SCROLL_BAR):
 +      Condition correctly according to toolkit used.
 +      * window.c (set_window_scroll_bars): Set horizontal scroll bar
 +      only if toolkit supports it.
 +      * w32term.c (w32_redeem_scroll_bar): Always redeem scroll bar if
 +      present.
 +      * xterm.c (x_scroll_bar_create): Initialize horizontal slot for
 +      non-toolkit builds.
 +      (XTredeem_scroll_bar): Always redeem scroll bar if present.
 +
 +2014-08-04 Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * keyboard.c (safe_run_hook_funcall): Avoid consing around
 +      Vinhibit_quit and prefer internal_condition_case_n to pass args.
 +      (safe_run_hooks_error, safe_run_hooks_1): Adjust accordingly.
 +      (safe_run_hooks): Remove comment which is not relevant any more.
 +
 +2014-08-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't let big frames overrun the stack.
 +      * dispnew.c (mirrored_line_dance, mirror_line_dance, scrolling):
 +      Use SAFE_NALLOCA, not alloca.
 +
 +      Fix bug with clang + directory_files_internal + GC (Bug#16986).
 +      * dired.c (directory_files_internal): Use a volatile variable
 +      to prevent the compiler from optimizing away all copies of a local.
 +      I wonder how many other GC-related bugs like this lurk elsewhere?
 +
 +      Avoid 100% CPU utilization on ssh session exit (Bug#17691).
 +      * xterm.h (struct x_display_info): New member 'connection'.
 +      * xterm.c (x_term_init, x_delete_terminal): Set and use it,
 +      so that x_delete_terminal has a file descriptor to pass to
 +      delete_keyboard_wait_descriptor.
 +
 +      Don't mishandle year-9999 dates (Bug#18176).
 +      * editfns.c (decode_time_components): Store an invalid timespec
 +      on overflow, instead of returning false, so that the caller can
 +      distinguish overflow from other errors.
 +      (lisp_time_argument, lisp_seconds_argument): If the time is out
 +      of range, signal a time overflow instead of an invalid time spec.
 +      * keyboard.c (decode_timer): Treat time overflow like other
 +      timespec errors.
 +
 +      Avoid undefined behavior with signed left shift.
 +      Caught by 'gcc -fsanitize=undefined'.
 +      * dispextern.h, scroll.c (scrolling_max_lines_saved, scrolling_1):
 +      * dispnew.c (line_hash_code, scrolling):
 +      * scroll.c (calculate_scrolling, calculate_direct_scrolling):
 +      Use 'unsigned', not 'int', for line hashes.
 +      (scrolling_max_lines_saved): Avoid mystery constants for hash sizes.
 +
 +2014-08-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Make compare-strings more compatible with old behavior (Bug#17903).
 +      * fns.c (Fcompare_strings): Silently bring too-large ends into range.
 +
 +2014-08-02  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * gtkutil.c (create_dialog): Force min spacing 10 between buttons.
 +      Don't add label between left and right buttons (Bug#18129).
 +
 +2014-08-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Make functions static that no longer need to be extern.
 +      * frame.c, frame.h (set_menu_bar_lines):
 +      * keyboard.c (Qleftmost, Qrightmost):
 +      * xfns.c, frame.h, menu.h (x_set_menu_bar_lines, x_set_tool_bar_lines)
 +      (x_set_internal_border_width):
 +      Now static.
 +
 +2014-08-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Fix display of R2L lines when the last character fits only partially.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00476.html
 +      for the details.
 +      * xdisp.c (extend_face_to_end_of_line): If the last glyph of an
 +      R2L row is visible only partially, give the row a negative x
 +      offset.
        (display_line): Fix the calculation of the glyph whose pixel width
        is used to decide whether the last produced glyph fits on the
        line.  When the last glyph fits only partially, give the row a
        negative x offset.
  
 -2014-07-29  Eli Zaretskii  <eliz@gnu.org>
 -
        Fix hscroll of R2L lines that begin with a TAB or another wide glyph.
        * xdisp.c (append_stretch_glyph): In a R2L glyph row, decrease the
        pixel width of the first glyph that is hscrolled from display.
        (display_line): In R2L glyph rows, don't give a negative offset to
        row->x when the first glyph begins before first_visible_x.
  
 -2014-07-29  Andreas Schwab  <schwab@suse.de>
 +      * xdisp.c (display_line): If called with iterator set up to write
 +      to a marginal area, delay the call to handle_line_prefix until we
 +      switch back to the text area.  (Bug#18035)
 +
 +      * .gdbinit (xwindow): The members total_cols, total_lines,
 +      left_col, and top_line are C integers (and has been so for the
 +      last 1.5 years).
 +
 +2014-08-01  Andreas Schwab  <schwab@suse.de>
  
        * macros.c (Fstart_kbd_macro): Initialize kbd_macro_ptr and
        kbd_macro_end together with kbd_macro_buffer.  (Bug#18140)
  
 -2014-07-28  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * xdisp.c (display_line): If called with iterator set up to write
 -      to a marginal area, delay the call to handle_line_prefix until we
 -      switch back to the text area.  (Bug#18035)
 +      * atimer.c (toplevel) [HAVE_TIMERFD]: Include errno.h.
 +      (timerfd_callback): Ignore weird events with no data.  Add tight
 +      assertions and comments.
 +      (init_atimer) [HAVE_TIMERFD]: Add environment variable to optionally
 +      disable timerfd-based timer.  Use TFD_NONBLOCK for timer descriptor.
 +
 +2014-08-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * frame.c (x_set_frame_parameters): Fix typo in previous patch.
 +      I had confused && with ||.
 +
 +2014-07-31  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Simplify timerfd configuration and fix some minor glitches.
 +      * atimer.c (TIMERFD_CREATE_FLAGS): Remove; we now assume TFD_CLOEXEC.
 +      (alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
 +      Fall back on timer_create if timerfd_create fails at runtime.
 +      (resolution) [HAVE_CLOCK_GETRES]: Remove; we now rely on the
 +      kernel primitives to do resolution.  All uses removed.
 +      (timerfd) [!HAVE_TIMERFD]: Define to be -1, for convenience.
 +      (turn_on_atimers): Clear timer_create-based timers too,
 +      for consistency.
 +
 +      * frame.c (x_set_frame_parameters): Don't use uninitialized locals.
 +      Without this change, the code can access the local variable 'width'
 +      even when it has not been initialized, and likewise for 'height';
 +      in either case this leads to undefined behavior.
 +
 +2014-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xrdb.c (x_load_resources) [USE_MOTIF]: Although not strictly
 +      necessary, put horizontal scroll bar resources as well.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00430.html>.
 +      * xterm.c (x_sync_with_move): Really wait 0.5s, not 0.0005s.
 +
 +2014-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xrdb.c (x_load_resources) [!USE_MOTIF]: Put horizontal scroll bar
 +      background value to match the resource of its vertical counterpart.
 +
 +2014-07-29  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (adjust_frame_size): Use FRAME_WINDOW_P instead of
 +      FRAME_X_WINDOW when calling x_set_window_size (Bug#18138).
 +
 +2014-07-28  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (x_set_frame_parameters): Revert part of 2014-07-24
 +      change that added the top margin height to the requested height
 +      and revert (undocumented) part of 2014-07-28 change that changed
 +      the logic of whether a size change occurred.
 +
 +2014-07-28  Eli Zaretskii  <eliz@gnu.org>
  
        * .gdbinit (xwindow): The members total_cols, total_lines,
        left_col, and top_line are C integers (and has been so for the
        last 1.5 years).
  
 -2014-07-20  Jan Djärv  <jan.h.d@swipnet.se>
 +      * .gdbinit (xsubchartable): The members 'depth' and 'min_char' are
 +      now C integers.
 +
 +2014-07-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      On GNU/Linux, use timerfd for asynchronous timers.
 +      * atimer.c (toplevel) [HAVE_TIMERFD]: Include sys/timerfd.h.
 +      (toplevel): Rename alarm_timer_ok to special_timer_available.
 +      [HAVE_TIMERFD]: Declare timerfd.
 +      [HAVE_CLOCK_GETRES]: Declare resolution.
 +      (start_atimer) [HAVE_CLOCK_GETRES]: Round up timestamp to
 +      system timer resolution.
 +      (set_alarm) [HAVE_TIMERFD]: Use timerfd_settime.
 +      (timerfd_callback) [HAVE_TIMERFD]: New function.
 +      (atimer_result, debug_timer_callback, Fdebug_timer_check)
 +      [ENABLE_CHECKING]: New function for the sake of automated tests.
 +      (init_atimer) [HAVE_TIMERFD]: Setup timerfd.
 +      [HAVE_CLOCK_GETRES]: Likewise for system timer resolution.
 +      [ENABLE_CHECKING]: Defsubr test function.
 +      * atimer.h (timerfd_callback) [HAVE_TIMERFD]: Add prototype.
 +      * lisp.h (add_timer_wait_descriptor) [HAVE_TIMERFD]: Likewise.
 +      * process.c (add_timer_wait_descriptor) [HAVE_TIMERFD]: New function.
 +
 +      Fix --without-x build and pacify --enable-gcc-warnings.
 +      Problems reported in Bug#18122 and Bug#18124.
 +      * frame.c (get_frame_param): Define even if !HAVE_WINDOW_SYSTEM.
 +      (frame_windows_min_size): Now static.
 +      * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS) [!HAVE_WINDOW_SYSTEM]:
 +      Define as no-op.
 +      (adjust_frame_size): Always declare prototype.
 +
 +      Fix Gnus-related issues reported by David Kastrup <dak@gnu.org> in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00370.html>.
 +      * atimer.c (timerfd_callback): Always read expiration data.
 +      Add comment.
 +      (turn_on_atimers) [HAVE_TIMERFD]: Disarm timerfd timer.
 +      * process.c (add_timer_wait_descriptor): Add timer descriptor
 +      to input_wait_mask and non_process_wait_mask as well.
 +
 +2014-07-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * frame.c (x_set_frame_parameters): Don't use uninitialized locals.
 +
 +2014-07-27  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (applicationDidFinishLaunching antialiasThresholdDidChange):
 +      Reinstate code removed by the prevoius commit to this file.
 +
 +2014-07-27  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * buffer.h (struct buffer): New fields scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      * buffer.c (bset_scroll_bar_height)
 +      (bset_horizontal_scroll_bar_type): New functions.
 +      (Fbuffer_swap_text): Handle old_pointm field.
 +      (init_buffer_once): Set defaults for scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      (syms_of_buffer): New variables scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      * dispextern.h (window_part): Rename ON_SCROLL_BAR to
 +      ON_VERTICAL_SCROLL_BAR.  Add ON_HORIZONTAL_SCROLL_BAR.
 +      (set_vertical_scroll_bar): Remove prototype.
 +      (x_change_tool_bar_height): Add prototype.
 +      * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
 +      (window_to_frame_vpos, update_frame_1, scrolling, init_display):
 +      Use FRAME_TOTAL_COLS and FRAME_TOTAL_LINES instead of FRAME_COLS
 +      and FRAME_LINES.
 +      (adjust_frame_glyphs_for_window_redisplay): Rearrange lines.
 +      (update_window): Start mode_line_row->y after horizontal scroll
 +      bar.
 +      (change_frame_size_1): Call adjust_frame_size.
 +      (init_display): When changing the size of a tty frame do not
 +      pass height of menu bar.
 +      (Qframe_windows_min_size): New symbol.
 +      * frame.h (struct frame): List tool bar fields after menu bar
 +      fields.  Add official, total_lines, horizontal_scroll_bars,
 +      config_scroll_bar_height and config_scroll_bar_lines fields.
 +      (FRAME_HAS_HORIZONTAL_SCROLL_BARS)
 +      (FRAME_CONFIG_SCROLL_BAR_HEIGHT, FRAME_CONFIG_SCROLL_BAR_LINES)
 +      (FRAME_SCROLL_BAR_AREA_HEIGHT, FRAME_SCROLL_BAR_COLS)
 +      (FRAME_SCROLL_BAR_LINES, FRAME_TOTAL_LINES, SET_FRAME_LINES)
 +      (FRAME_WINDOWS_HEIGHT): New macros.
 +      (SET_FRAME_HEIGHT, FRAME_TEXT_LINES_TO_PIXEL_HEIGHT)
 +      (FRAME_PIXEL_Y_TO_LINE, FRAME_PIXEL_HEIGHT_TO_TEXT_LINES)
 +      (FRAME_TEXT_TO_PIXEL_HEIGHT): Separately count top margin and
 +      horizontal scroll bar.
 +      (frame_inhibit_resize, adjust_frame_size)
 +      (frame_windows_min_size): Add declarations.
 +      (Qscroll_bar_height, Qhorizontal_scroll_bars)
 +      (x_set_scroll_bar_default_height, x_set_left_fringe)
 +      (x_set_right_fringe, x_set_vertical_scroll_bars)
 +      (x_set_horizontal_scroll_bars, x_set_scroll_bar_width)
 +      (x_set_scroll_bar_height): Add external declarations.
 +      * frame.c: (frame_inhibit_resize, frame_windows_min_size)
 +      (adjust_frame_size): New functions.
 +      (make_frame): Initial horizontal_scroll_bars field.
 +      Use SET_FRAME_LINES.  Don't allow horizontal scroll bar in
 +      minibuffer window.
 +      (make_initial_frame, make_terminal_frame): No horizontal scroll
 +      bar in initial and terminal frames.  Use adjust_frame_size.
 +      (Fframe_total_cols): Fix doc-string.
 +      (Fframe_total_lines, Fscroll_bar_height): New Lisp functions.
 +      (Fset_frame_height, Fset_frame_width, Fset_frame_size):
 +      Rewrite using adjust_frame_size.
 +      (Qscroll_bar_height, Qhorizontal_scroll_bars)
 +      (Qframe_windows_min_size): New symbols.
 +      (x_set_frame_parameters): Remove call of check_frame_size.
 +      (x_report_frame_params): Return scroll_bar_height value.
 +      (x_set_left_fringe, x_set_right_fringe): New functions.
 +      (adjust_frame_height, x_set_internal_border_width)
 +      (x_set_fringe_width): Remove.
 +      (x_set_internal_border_width, x_set_vertical_scroll_bars)
 +      (x_set_scroll_bar_width, x_set_right_divider_width)
 +      (x_set_bottom_divider_width): Rewrite using adjust_frame_size.
 +      (x_set_horizontal_scroll_bars, x_set_scroll_bar_height):
 +      New functions.
 +      (x_figure_window_size): Rewrite to make frame display the
 +      expected number of lines.
 +      (Vdefault_frame_scroll_bars): Rewrite doc-string.
 +      (Vdefault_frame_horizontal_scroll_bars)
 +      (Vframe_initial_frame_tool_bar_height)
 +      (frame_inhibit_implied_resize): New variables.
 +      * fringe.c (compute_fringe_widths): Remove.
 +      * gtkutil.h (YG_SB_MIN, YG_SB_MAX, YG_SB_RANGE): Define.
 +      (xg_create_horizontal_scroll_bar)
 +      (xg_update_horizontal_scrollbar_pos)
 +      (xg_set_toolkit_horizontal_scroll_bar_thumb)
 +      (xg_get_default_scrollbar_height)
 +      (xg_clear_under_internal_border): Extern.
 +      * gtkutil.c (xg_frame_resized): Don't call
 +      do_pending_window_change.
 +      (xg_frame_set_char_size): Use adjust_frame_size.
 +      (style_changed_cb): Call update_theme_scrollbar_height and
 +      x_set_scroll_bar_default_height.
 +      (x_wm_set_size_hint): Don't call check_frame_size.
 +      (update_theme_scrollbar_height)
 +      (xg_get_default_scrollbar_height)
 +      (xg_create_horizontal_scroll_bar)
 +      (xg_update_horizontal_scrollbar_pos)
 +      (xg_set_toolkit_horizontal_scroll_bar_thumb): New functions.
 +      (xg_create_scroll_bar): Set horizontal slot of bar.
 +      (xg_initialize): Call update_theme_scrollbar_height.
 +      (xg_clear_under_internal_border): No more static.
 +      * insdel.c (adjust_suspend_auto_hscroll): New function.
 +      (adjust_markers_for_delete, adjust_markers_for_insert)
 +      (adjust_markers_for_replace): Call adjust_suspend_auto_hscroll.
 +      * keyboard.c (readable_events, discard_mouse_events)
 +      (make_lispy_event): Handle horizontal scroll bar click events.
 +      (Fsuspend_emacs): When changing the size of a tty frame do not
 +      pass height of menu bar.
 +      (Qbefore_handle, Qhorizontal_handle, Qafter_handle, Qleft)
 +      (Qright, Qleftmost, Qrightmost): New symbols.
 +      * menu.c (Fx_popup_dialog): Use FRAME_TOTAL_LINES instead of
 +      FRAME_LINES.
 +      * minibuf.c (read_minibuf): Initialize suspend_auto_hscroll.
 +      * nsfns.m (x_set_internal_border_width): New function.
 +      * nsterm.m (ns_draw_fringe_bitmap, ns_set_vertical_scroll_bar):
 +      Remove extended fringe code.
 +      (x_set_window_size, x_new_font): Don't call
 +      compute_fringe_widths.
 +      * term.c (Fresume_tty): When changing the size of a tty frame do
 +      not pass height of menu bar.
 +      (clear_tty_hooks, set_tty_hooks):
 +      Clear horizontal_scroll_bar_hook.
 +      (init_tty): Frame has no horizontal scroll bars.
 +      * termhooks.h (enum scroll_bar_part): Add scroll_bar_move_ratio,
 +      scroll_bar_before_handle, scroll_bar_horizontal_handle,
 +      scroll_bar_after_handle, scroll_bar_left_arrow,
 +      scroll_bar_right_arrow, scroll_bar_to_leftmost and
 +      scroll_bar_to_rightmost entries.
 +      (enum event_kind): Add HORIZONTAL_SCROLL_BAR_CLICK_EVENT
 +      (struct terminal): Add set_horizontal_scroll_bar_hook.
 +      * w32console.c (initialize_w32_display):
 +      Clear horizontal_scroll_bar_hook.
 +      * w32fns.c (x_set_mouse_color): Use FRAME_W32_DISPLAY instead of
 +      FRAME_X_DISPLAY.
 +      (x_clear_under_internal_border, x_set_internal_border_width):
 +      New functions.
 +      (x_set_menu_bar_lines): Rewrite using frame_inhibit_resize.
 +      Set windows_or_buffers_changed when adding the menu bar.
 +      (x_set_tool_bar_lines): Rewrite using adjust_frame_size.
 +      (x_change_tool_bar_height, x_set_scroll_bar_default_height)
 +      (w32_createhscrollbar): New functions.
 +      (w32_createscrollbar): Rename to w32_createvscrollbar.
 +      (w32_createwindow): Init WND_HSCROLLBAR_INDEX.
 +      (w32_name_of_message): Replace WM_EMACS_CREATESCROLLBAR by
 +      WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR.
 +      Add WM_EMACS_SHOWCURSOR.
 +      (w32_wnd_proc): Handle WM_HSCROLL case.  In WM_WINDOWPOSCHANGING
 +      case do not artificially impose WM size hints.
 +      Handle WM_EMACS_SHOWCURSOR case.  Replace WM_EMACS_CREATESCROLLBAR case
 +      by WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR
 +      cases.
 +      (my_create_tip_window): Replace WND_SCROLLBAR_INDEX by
 +      WND_VSCROLLBAR_INDEX and WND_HSCROLLBAR_INDEX.
 +      (unwind_create_frame_1): Remove.
 +      (Fx_create_frame): Make both scrollbars the system standard
 +      width and height.  Use official field of frame structure to
 +      inhibit running window-configuration-change-hook.
 +      (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
 +      pixelwise.  Handle frame's official field.
 +      (w32_frame_parm_handlers): Remove x_set_fringe_width
 +      entries. Add x_set_scroll_bar_height,
 +      x_set_horizontal_scroll_bars, x_set_left_fringe and
 +      x_set_right_fringe.
 +      * w32inevt.c (resize_event, maybe_generate_resize_event): Do not
 +      pass height of menu bar to change_frame_size.
 +      * w32menu.c (set_frame_menubar): Rewrite using
 +      frame_inhibit_resize.
 +      * w32term.h (struct w32_display_info):
 +      Add horizontal_scroll_bar_cursor and cursor_display_counter.
 +      (struct scroll_bar): Add horizontal.
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
 +      (HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH)
 +      (HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_TOP_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): New macros.
 +      (WM_EMACS_CREATEVSCROLLBAR, WM_EMACS_CREATEHSCROLLBAR):
 +      Define instead of WM_EMACS_CREATESCROLLBAR.
 +      (WND_VSCROLLBAR_INDEX, WND_HSCROLLBAR_INDEX): Define instead of
 +      WND_SCROLLBAR_INDEX.
 +      * w32term.c (horizontal_scroll_bar_min_handle)
 +      (horizontal_scroll_bar_left_border)
 +      (horizontal_scroll_bar_right_border): New integers.
 +      (x_set_frame_alpha): Replace x_highlight_frame by
 +      w32_focus_frame.
 +      (x_window_to_scroll_bar): New argument "type".  Update callers
 +      accordingly.
 +      (w32_set_horizontal_scroll_bar_thumb)
 +      (x_horizontal_scroll_bar_report_motion)
 +      (w32_set_horizontal_scroll_bar)
 +      (w32_horizontal_scroll_bar_handle_click)
 +      (x_horizontal_scroll_bar_report_motion): New functions.
 +      (w32_mouse_position): Discriminate horizontal and vertical
 +      scrollbar cases.
 +      (my_create_scrollbar): Replace with two new functions
 +      my_create_vscrollbar and my_create_hscrollbar.
 +      (x_scroll_bar_create): New argument "horizontal".
 +      Update callers accordingly.
 +      (x_scroll_bar_remove, w32_condemn_scroll_bars)
 +      (w32_redeem_scroll_bar, x_scroll_bar_clear): Handle horizontal
 +      scroll bar case.
 +      (w32_read_socket): Handle WM_HSCROLL cae.
 +      (x_new_font): Don't recompute fringe widths.
 +      Use frame_inhibit_resize.  Calculate new menu bar height iff we
 +      build without toolkit.  Always clear under internal border.
 +      (x_set_window_size): Don't check frame size or recompute
 +      fringes.  Reset fullscreen status before applying sizes.
 +      Always resize as requested by pixelwise argument.  Don't call
 +      do_pending_window_change.
 +      (x_wm_set_size_hint): Add call for FRAME_SCROLL_BAR_AREA_HEIGHT.
 +      (w32_initialize_display_info): Initialize dpyinfo's
 +      horizontal_scroll_bar_cursor entry.
 +      (w32_create_terminal): Add set_horizontal_scroll_bar_hook.
 +      (w32_initialize): Init horizontal_scroll_bar_min_handle and
 +      horizontal_scroll_bar_left_border.
 +      (w32fullscreen_hook): Intermittently resize window to normal
 +      when switching from fullscreen to maximized state.
 +      (run_window_configuration_change_hook): Don't run it if frame is
 +      not official yet.
 +      (unwind_change_frame): Remove.
 +      (Fset_window_configuration): Rewrite using frame's official field.
 +      * widget.c (set_frame_size): Don't call compute_fringe_widths.
 +      (EmacsFrameSetCharSize): Obey frame_inhibit_resize.
 +      * window.h (struct window): New fields old_pointm,
 +      horizontal_scroll_bar, horizontal_scroll_bar_type, hscroll_whole,
 +      scroll_bar_height and suspend_auto_hscroll.
 +      (wset_horizontal_scroll_bar, wset_horizontal_scroll_bar_type):
 +      New functions.
 +      (sanitize_window_sizes): Extern.
 +      (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P, WINDOW_PSEUDO_P)
 +      (WINDOW_TOPMOST_P, WINDOW_HAS_HORIZONTAL_SCROLL_BAR)
 +      (WINDOW_CONFIG_SCROLL_BAR_HEIGHT)
 +      (WINDOW_CONFIG_SCROLL_BAR_LINES)
 +      (WINDOW_SCROLL_BAR_LINES, WINDOW_SCROLL_BAR_AREA_HEIGHT):
 +      New macros.
 +      (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
 +      (WINDOW_FRINGE_COLS, WINDOW_FRINGE_EXTENDED_P): Remove macros.
 +      (WINDOW_VERTICAL_SCROLL_BAR_TYPE)
 +      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
 +      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
 +      (WINDOW_HAS_VERTICAL_SCROLL_BAR): Minor rewrite.
 +      (WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT)
 +      (WINDOW_SCROLL_BAR_AREA_Y): Count in scroll bar height.
 +      * window.c (wset_old_pointm, Fwindow_scroll_bar_height)
 +      (Fwindow_old_point, sanitize_window_sizes): New functions.
 +      (Qwindow_sanitize_window_sizes): New symbol.
 +      (window_body_height): Count in horizontal scroll bar.
 +      (set_window_hscroll, Fscroll_left, Fscroll_right):
 +      Set suspend_auto_hscroll slot.
 +      (Fwindow_inside_edges): Count fringes pixelwise.
 +      (coordinates_in_window, Fcoordinates_in_window_p):
 +      Consider horizontal scroll bar.
 +      (check_frame_size, adjust_window_margins): Remove functions and
 +      corresponding calls.
 +      (set_window_buffer): Initialize old_pointm and horizontal scroll
 +      bars.
 +      (temp_output_buffer_show): Reset hscroll related fields.
 +      Initialize old_pointm.
 +      (make_parent_window): Initialize old_pointm.
 +      (make_window): Initialize old_pointm, horizontal scroll bar type,
 +      and scroll bar height.
 +      (resize_frame_windows): Don't count top margin in new sizes.
 +      Don't use safe sizes when shrinking a frame; let the window
 +      manager do the clipping.
 +      (Fsplit_window_internal): Inherit horizontal scroll bar type and
 +      height.
 +      (Fdelete_window_internal): Unchain old_pointm marker.
 +      (window_scroll_pixel_based, Fscroll_other_window):
 +      Adjust old_pointm.
 +      (Fwindow_text_width, Fwindow_text_height): New argument
 +      "pixelwise".
 +      (struct saved_window): New fields, old_pointm, hscroll_whole,
 +      suspend_auto_hscroll, scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      (Fset_window_configuration, save_window_save): Set new fields of
 +      saved_window.
 +      (apply_window_adjustment): Don't call adjust_window_margins.
 +      (set_window_margins): Don't change margins if new sizes don't
 +      fit into window.
 +      (set_window_scroll_bars): New argument "horizontal_type".
 +      Handle horizontal scroll bars.  Don't change scroll bars if they
 +      don't fit into window.
 +      (Fset_window_scroll_bars): New argument "horizontal_type".
 +      (Fwindow_scroll_bars): Return values for horizontal scroll bars.
 +      (compare_window_configurations): Compare horizontal scroll bar
 +      settings.
 +      * xdisp.c (window_text_bottom_y, window_box_height): Count in
 +      horizontal scroll bar height.
 +      (pixel_to_glyph_coords, init_xdisp): Use FRAME_TOTAL_LINES
 +      instead of FRAME_LINES.
 +      (remember_mouse_glyph): Case ON_SCROLL_BAR changed to
 +      ON_VERTICAL_SCROLL_BAR.
 +      (with_echo_area_buffer): Initialize old_pointm.
 +      (with_echo_area_buffer_unwind_data): Store old_pointm values in
 +      vector.
 +      (unwind_with_echo_area_buffer): Handle old_pointm.
 +      (update_tool_bar): Set do_update when the tool bar window has at
 +      least one line (since this is what the user sets).
 +      (MAX_FRAME_TOOL_BAR_HEIGHT): Remove macro.
 +      (redisplay_tool_bar): Return early when toolbar has zero lines.
 +      Call x_change_tool_bar_height.  Don't use max_tool_bar_height.
 +      (hscroll_window_tree): Handle suspension of auto_hscroll and
 +      old_pointm.
 +      (set_horizontal_scroll_bar): New function.
 +      (redisplay_window): Set ignore_mouse_drag_p when tool bar has
 +      more than one line.  Handle horizontal scroll bars.
 +      (note_mouse_highlight): Handle horizontal scrol bars.
 +      (expose_frame): Set dimensions of XRectangle from frame's text
 +      sizes.
 +      (Vvoid_text_area_pointer): Update doc-string.
 +      * xfns.c (x_set_menu_bar_lines): Use adjust_frame_size.
 +      (x_change_tool_bar_height, x_set_scroll_bar_default_height)
 +      (x_set_internal_border_width): New functions.
 +      (x_set_tool_bar_lines): Call x_change_tool_bar_height.
 +      (unwind_create_frame_1): Remove.
 +      (Fx_create_frame): Handle horizontal scroll bars.  Use official
 +      field of frame structure to inhibit running
 +      window-configuration-change-hook.
 +      (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
 +      pixelwise.  Handle frame's official field.
 +      (x_frame_parm_handlers): Add x_set_scroll_bar_height,
 +      x_set_horizontal_scroll_bars, x_set_left_fringe,
 +      x_set_right_fringe.
 +      * xmenu.c (update_frame_menubar, free_frame_menubar):
 +      Use adjust_frame_size.
 +      * xterm.h (struct x_display_info):
 +      Add horizontal_scroll_bar_cursor and Xatom_Horizontal_Scrollbar
 +      slots.
 +      (struct scroll_bar): Add horizontal slot.
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
 +      (HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH): New macros.
 +      (HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_TOP_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): Define.
 +      (x_clear_under_internal_border): Remove.
 +      * xterm.c (XTmouse_position): Handle horizontal scroll bars.
 +      (x_window_to_scroll_bar): New argument TYPE.  Update callers.
 +      (x_send_scroll_bar_event, x_scroll_bar_create): New arguments
 +      HORIZONTAL.  Update callers.
 +      (horizontal_action_hook_id): New action hook id.
 +      (x_horizontal_scroll_bar_to_input_event)
 +      (x_create_horizontal_toolkit_scroll_bar)
 +      (xt_horizontal_action_hook)
 +      (x_set_toolkit_horizontal_scroll_bar_thumb)
 +      (XTset_horizontal_scroll_bar, x_net_wm_state)
 +      (x_horizontal_scroll_bar_report_motion): New functions.
 +      (xg_scroll_callback, x_scroll_bar_handle_click):
 +      Handle horizontal scroll bars.
 +      (SCROLL_BAR_HORIZONTAL_NAME): Define.
 +      (XTset_vertical_scroll_bar): Attempt to clear areas not covered
 +      by scroll bar.
 +      (XTcondemn_scroll_bars, XTredeem_scroll_bar): Rewrite.
 +      Handle horizontal scroll bars.
 +      (handle_one_xevent): Handle horizontal scroll bar events.
 +      Call x_net_wm_state.
 +      (x_set_window_size_1, x_wm_set_size_hint): Don't call
 +      check_frame_size.
 +      (x_set_window_size): Don't call check_frame_size and
 +      do_pending_window_change.
 +      (x_term_init): Init horizontal_scroll_bar_cursor display info.
 +      (x_create_terminal): Add set_horizontal_scroll_bar_hook.
 +      (x_scroll_bar_set_handle): Add some checks when calling
 +      x_clear_area.
 +
 +2014-07-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Revert previous change.
 +      There is certainly nothing wrong with writing code like 'lo <= i
 +      && i <= hi', even if LO happens to a constant.  There isn't even
 +      anything wrong in general with writing 'a <= b' if A happens to
 +      be a constant.  At any rate stylistic changes shouldn't
 +      be done like this without discussion.
 +
 +2014-07-26  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * alloc.c (xnmalloc, xnrealloc, xpalloc, make_save_value)
 +      (Fgarbage_collect): Reorder conditions that are written backwards.
 +      * data.c (cons_to_unsigned): Likewise.
 +      * dispnew.c (update_frame_1, sit_for): Likewise.
 +      * fileio.c (file_offset): Likewise.
 +      * filelock.c (read_lock_data, lock_file): Likewise.
 +      * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
 +      Likewise.
 +      * font.c (font_intern_prop, font_style_symbolic): Likewise.
 +      * lisp.h (FIXNUM_OVERFLOW_P): Likewise.
 +      * lread.c (read1): Likewise.
 +      * minibuf.c (read_minibuf_noninteractive): Likewise.
 +      * nsterm.m (x_set_frame_alpha): Likewise.
 +      * process.c (wait_reading_process_output): Likewise.
 +      * region-cache.c (delete_cache_boundaries): Likewise.
 +      * xterm.c (x_set_frame_alpha): Likewise.
 +
 +2014-07-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * dispextern.h, xdisp.c (hourglass_shown_p, hourglass_atimer):
 +      Now static.
 +
 +2014-07-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * atimer.c (set_alarm) [HAVE_ITIMERSPEC]: Use TIMER_ABSTIME
 +      because atimer expiration is absolute rather than relative.
 +
 +2014-07-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.h (current_popup_menu, menubar_in_use):
 +      Move declarations from w32term.c.
 +
 +2014-07-25  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32fns.c (menubar_in_use): No more static.
 +      * w32term.c (current_popup_menu, menubar_in_use): Declare.
 +
 +2014-07-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Move hourglass machinery to RIF.
 +      * dispextern.h (struct redisplay_interface): New members
 +      show_hourglass and hide_hourglass.  Indent comments.
 +      (show_hourglass, hide_hourglass): Remove prototypes.
 +      * nsterm.m (show_hourgass, hide_hourglass): Refactor to ...
 +      (ns_show_hourglass, ns_hide_hourglass): ... new no-ops.
 +      (ns_redisplay_interface): Add them.
 +      * w32fns.c (show_hourglass, hide_hourglass): Refactor to ...
 +      * w32term.c (w32_show_hourglass, w32_hide_hourglass): ... these.
 +      (w32_arrow_cursor): New function to hack around non-GUI frames.
 +      (w32_redisplay_interface): Add new functions.
 +      * w32term.h (w32_arror_cursor): Add prototype.
 +      * xdisp.c (show_hourglass): New function, refactored out from
 +      platform-dependent code.
 +      (cancel_hourglass): Now call to RIF function.
 +      * xfns.c (show_hourglass, hide_hourglass): Refactor to ...
 +      * xterm.c (x_show_hourglass, x_hide_hourglass): ... these.
 +      (x_redisplay_interface): Add new functions.
 +
 +2014-07-24  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix error reported by Angelo Graziosi <angelo.graziosi@alice.it> in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00274.html>
 +      and complete previous change.
 +      * frame.c (adjust_frame_height): New function.
 +      (Fset_frame_height, Fset_frame_size): Use it.
 +      (x_set_frame_parameters): Take frame top margin into account.
 +
 +2014-07-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.c (Fset_frame_height): Take frame top margin into account.
 +      Incorrect behavior was reported by Martin Rudalics <rudalics@gmx.at> in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00258.html>
 +
 +2014-07-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xterm.h (struct x_output) [USE_X_TOOLKIT || USE_GTK]: Define
 +      menubar_height as such.  Tweak comment.
 +      [USE_LUCID && USE_TOOLKIT_SCROLL_BARS]: Likewise for
 +      scroll_bar_top_shadow_pixel and scroll_bar_bottom_shadow_pixel.
 +      All related users changed.
 +      (FRAME_MENUBAR_HEIGHT) [!USE_X_TOOLKIT && !USE_GTK]: No-op.
 +      * xterm.c (handle_one_xevent):
 +      * gtkutil.c (xg_event_is_for_menubar):
 +      * xfns.c (x_window) [USE_X_TOOLKIT]:
 +      * xmenu.c (set_frame_menubar, free_frame_menubar):
 +      Prefer to use FRAME_MENUBAR_HEIGHT.
 +
 +2014-07-21  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.c (Fframe_parameters): Always report frame height without
 +      menu and tool bar lines.
 +
 +2014-07-21  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsterm.m (applicationDidFinishLaunching:): Call
        antialiasThresholdDidChange, register for antialias changes (Bug#17534).
  
        * macfont.h (macfont_update_antialias_threshold): Declare.
  
 -2014-07-17  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-21  Eli Zaretskii  <eliz@gnu.org>
  
        * w32select.c (setup_windows_coding_system):
        Apply CODING_ANNOTATION_MASK to the common_flags member of struct
        row has zero buffer position as their start position.
        Reported by martin rudalics <rudalics@gmx.at>.
  
 -2014-07-16  Eli Zaretskii  <eliz@gnu.org>
 -
        * xdisp.c (move_it_vertically_backward, move_it_by_lines): Prevent
        infinite looping in redisplay when display lines don't have enough
        space to display even a single character.  (Bug#18036)
  
 -2014-07-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.h (struct frame) [USE_X_TOOLKIT]: New member shell_position.
 +      * xfns.c (x_window): Use it to allow xfree later.
 +      (x_encode_text): Drop 3rd arg; unused.  Tweak comment and adjust users
 +      where appropriate.  Use bool for booleans and remove redundant checks.
 +      (Fx_backspace_delete_keys_p): Use XkbFreeKeyboard; explain why.
 +      * xterm.c (x_free_frame_resources): Free shell_position.
 +
 +2014-07-19  K. Handa  <handa@gnu.org>
 +
 +      * xfaces.c (realize_x_face): Call font_load_for_lface with no
 +      mandatory font spec (Bug#17973).
 +
 +2014-07-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * font.c (font_score): Return the worst score if the size of
 +      ENTITY is wrong by more than a factor 2 (Bug#17973).
 +
 +2014-07-18  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.c (frame_unspecified_color): New function
 +      refactored out from ...
 +      (Fframe_parameters, Fframe_parameter): ... adjusted users.
 +      (x_fullscreen_adjust, set_frame_param): Move Windows-specific
 +      function to ...
 +      * w32term.c (x_fullscreen_adjust, set_frame_param): ... static here.
 +      * frame.h (x_fullscreen_adjust) [HAVE_NTGUI]:
 +      * lisp.h (set_frame_param): Remove prototype.
 +      * xterm.c (x_display_pixel_width, x_display_pixel_height): Now ...
 +      * xterm.h (x_display_pixel_width, x_display_pixel_height): ...
 +      inlined from here.
 +
 +      Prefer 'x_display_info *' to 'Display *' in X selection code.
 +      This helps to avoid unneeded calls to x_display_info_for_display.
 +      * xterm.h (struct selection_input_event): Record 'x_display_info *'
 +      instead of 'Display *'.
 +      (SELECTION_EVENT_DPYINFO): New macro.
 +      (SELECTION_EVENT_DISPLAY): Now inline function to prohibit using
 +      it as an lvalue.  Mention this in comment.
 +      * xterm.c (handle_one_xevent): Use SELECTION_EVENT_DPYINFO.
 +      * xselect.c (x_get_window_property_as_lisp_data, x_atom_to_symbol)
 +      (selection_data_to_lisp_data, receive_incremental_selection):
 +      Convert to use 'x_display_info *'.  Adjust users where appropriate.
 +      (lisp_data_to_selection_data): Likewise.  Also pass 'struct
 +      selection data *' as last arg to not return values in args.
 +      (unexpect_property_change): Use common removal technique.
 +
 +2014-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * print.c (print_preprocess): Adjust to match changed
 +      sub char-table structure and avoid crash (Bug#18038).
 +
 +      * data.c (wrong_choice): Not static any more.
 +      * lisp.h (wrong_choice): Add prototype.
 +      * frame.h (struct frame) [USE_X_TOOLKIT || HAVE_NTGUI]:
 +      Declare namebuf as such.  Tweak comment.
 +      [USE_GTK]: Likewise for tool_bar_position.
 +      (fset_tool_bar_position) [USE_GTK]: Ditto.
 +      (FRAME_TOOL_BAR_POSITION): New macro.
 +      * frame.c (x_report_frame_params):
 +      * gtkutil.c (update_frame_tool_bar):
 +      * xfns.c (Fx_create_frame): Use it.
 +      (x_set_tool_bar_position): Add meaningful diagnostic messages.
 +
 +2014-07-16  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (decode_mode_spec): Call file-remote-p on the current
        buffer's default-directory only if it is a string.  (Bug#17986)
  
 +2014-07-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      More precise control over values of some buffer-local variables.
 +      * keyboard.c (Qvertical_scroll_bar):
 +      * frame.c (Qleft, Qright): Move to ...
 +      * buffer.c (Qleft, Qright, Qvertical_scroll_bar): ... here.
 +      * buffer.c (Qchoice, Qrange, Qoverwrite_mode, Qfraction): New symbols.
 +      (syms_of_buffer): DEFSYM all of the above, attach special properties.
 +      Use special symbols to DEFVAR_PER_BUFFER overwrite-mode,
 +      vertical-scroll-bar, scroll-up-aggressively
 +      and scroll-down-aggressively.
 +      * buffer.h (Qchoice, Qrange, Qleft, Qright, Qvertical_scroll_bar):
 +      Add declarations.
 +      * nsfns.m, frame.h (Qleft, Qright):
 +      * nsterm.m (Qleft): Remove declarations.
 +      * gtkutil.c (toplevel): Include buffer.h.
 +      * data.c (wrong_choice, wrong_range): New functions.
 +      (store_symval_forwarding): Handle special properties of buffer-local
 +      variables and use functions from the above to signal error, if any.
 +
 +      * frame.h (enum fullscreen_type) [HAVE_WINDOW_SYSTEM]: Use more natural
 +      values.  Add comment.
 +      (struct frame): Re-arrange layout to avoid extra padding and use bit
 +      fields for output_method, want_fullscreen and vertical_scroll_bar_type.
 +      (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
 +      (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
 +      (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT) [!HAVE_WINDOW_SYSTEM]:
 +      Define as no-ops because there are no scroll bars anyway.
 +      * frame.c (make_frame, make_terminal_frame, make_initial_frame):
 +      Adjust users.
 +
 +      * font.c (fset_font_data) [HAVE_XFT || HAVE_FREETYPE]:
 +      Add convenient setter.
 +      (font_put_frame_data, font_get_frame_data): Use it.
 +
 +2014-07-15  Daiki Ueno  <ueno@gnu.org>
 +
 +      * nsgui.h (XCHAR2B_BYTE1): Add missing parentheses around
 +      pointer argument, before dereferencing.
 +      (XCHAR2B_BYTE2): Likewise.
 +
 +2014-07-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xmenu.c (toplevel): Use LWLIB_ID for next_menubar_widget_id.
 +      (pop_down_menu) [USE_X_TOOLKIT]: Accept integer arg.
 +      (create_and_show_popup_menu, create_and_show_dialog) [USE_X_TOOLKIT]:
 +      Use record_unwind_protect_int and avoid consing.
 +      (syms_of_xmenu) [USE_X_TOOLKIT]: Declare WIDGET_ID_TICK_START.
 +
 +      * regex.c (re_search_2): Use ssize_t to avoid integer overflow.
 +
 +2014-07-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use binary-io module, O_BINARY, and "b" flag (Bug#18006).
 +      * callproc.c (create_temp_file): Use mkostemp's O_BINARY flag.
 +      * emacs.c [MSDOS]:
 +      * emacs.c (main) [DOS_NT]: Don't mess with _fmode.
 +      (main) [MSDOS]: Use SET_BINARY instead of setmode.
 +      * minibuf.c: Include binary-io.h instead of fcntl.h.
 +      (read_minibuf_noninteractive):
 +      Use set_binary_mode instead of handcrafted code.
 +      Don't call emacs_set_tty if emacs_get_tty failed.
 +      * sysdep.c, systty.h (emacs_get_tty): Return int, not void.
 +      * sysdep.c (emacs_open, emacs_pipe): Use O_BINARY.
 +      * w32.c (pipe2): Adjust eassert to include O_BINARY.
 +
 +      * macros.c (Fstart_kbd_macro): Avoid need for overflow check.
 +      This works around a GCC compiler bug when Emacs is configured with
 +      --enable-gcc-warnings.
 +
 +2014-07-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * lisp.h (CHECK_VECTOR_OR_STRING): Return number of elements
 +      or characters in string, respectively.  Add comment.
 +      * fringe.c (Fdefine_fringe_bitmap):
 +      * fns.c (Fsubstring, substring_both): Use it.
 +      * keymap.c (Fdefine_key, Flookup_key):
 +      * macros.c (Fstart_kbd_macro): Likewise.  Avoid call to Flength.
 +
 +      * term.c (tty_menu_add_pane, tty_menu_add_selection):
 +      Use menu_item_width.
 +      (tty_menu_show): Simplify because tty_menu_create never return NULL.
 +
 +2014-07-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve behavior of 'bzr up; cd src; make -k'.
 +      * Makefile.in (top_srcdir): New var.
 +      (ntsource, lispsource, ALL_CFLAGS, gl-stamp, emacs.res):
 +      Use '$(top_srcdir)' instead of '$(srcdir)/..';
 +      its expansion is a bit shorter.
 +      (../config.status): Actually build config.status instead of
 +      just complaining.
 +      (ACLOCAL_INPUTS, AUTOCONF_INPUTS):
 +      New macros, copied and relocated from ../Makefile.in.
 +      ($(top_srcdir)/aclocal.m4, $(top_srcdir)/configure, config.in)
 +      (../config.status, Makefile): New dependencies and rules,
 +      copied with relocation from ../Makefile.in.  This should be more
 +      likely to rebuild the build machinery properly if you do a 'make'
 +      in the src directory.
 +
  2014-07-12  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (display_line): Don't call FETCH_BYTE with argument less
        * xfns.c (Fx_file_dialog) [USE_MOTIF, USE_GTK]: Update the doc
        string to match the one in w32fns.c.
  
 -2014-07-08  Eli Zaretskii  <eliz@gnu.org>
 +      * minibuf.c (read_minibuf_noninteractive) [WINDOWSNT]: Switch
 +      stdin to binary mode only if it is connected to a terminal.
 +
 +2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Coalesce extern decls.
 +      * minibuf.c (emacs_get_tty, emacs_set_tty, suppress_echo_on_tty):
 +      * sysdep.c (emacs_get_tty, emacs_set_tty):
 +      Move duplicate extern decls from here ...
 +      * systty.h: ... to here, so that there's just one copy.
 +
 +2014-07-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (changeFont:): Add ifdef NS_IMPL_COCOA.
 +
 +      * nsfns.m (Fns_popup_font_panel): Ditto.
 +
 +2014-07-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * minibuf.c (read_minibuf_noninteractive): Finish reading on '\r',
 +      not only on '\n'.
 +      [WINDOWSNT]: Switch stdin to binary mode when not echoing input.
 +
 +      * sysdep.c (emacs_get_tty, emacs_set_tty, suppress_echo_on_tty)
 +      [DOS_NT]: Implement for WINDOWSNT.
 +
 +      * systty.h (struct emacs_tty) [DOS_NT]: The struct member is now
 +      unsigned.
 +
 +2014-07-11  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * sysdep.c (suppress_echo_on_tty): New function.
 +      * minibuf.c (read_minibuf_noninteractive): Use it.
 +
 +2014-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (Fmemory_info) [HAVE_LINUX_SYSINFO]: Return nil if
 +      sysinfo failed.  Adjust docstring.
 +
 +2014-07-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Implement memory-info for MS-DOS.
 +      * dosfns.c (dos_memory_info): New function.
 +      * dosfns.h (dos_memory_info): Add prototype.
 +      * alloc.c (Fmemory_info) [MSDOS]: Call dos_memory_info.
 +      * vm-limit.c (get_lim_data) [MSDOS]: Call dos_memory_info, instead
 +      of doing some of its job.
 +
 +      * minibuf.c (read_minibuf_noninteractive) [WINDOWSNT]: Don't
 +      reference termios structure members.
 +
 +2014-07-11  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * sysdep.c (emacs_get_tty, emacs_set_tty): Make them externally visible.
 +
 +      * minibuf.c (top): Include systty.h.  Declare external
 +      emacs_get_tty and emacs_set_tty.
 +      (Vread_hide_char): New lisp variable.
 +      (read_minibuf_noninteractive): Hide characters with
 +      Vread_hide_char if it is a character.  (Bug#17839)
 +
 +2014-07-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Implement memory-info for MS-Windows.
 +      * w32.c (w32_memory_info): New function.
 +      * w32.h (w32_memory_info): Prototype it.
 +      * alloc.c (Fmemory_info) [WINDOWSNT]: Call it.
 +
 +2014-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * coding.h (struct coding_system): Remove 'error_positions' (unused)
 +      and 'errors' (set but unused) fields.  Use bitfields for 'eol_seen',
 +      'mode', 'common_flags' and 'result' fields, adjust layout to avoid
 +      extra padding and shrink struct coding_system by 56 bytes (x86_64).
 +      * coding.c (decode_coding_utf_8, decode_coding_utf_16)
 +      (decode_coding_emacs_mule, decode_coding_iso_2022, decode_coding_sjis)
 +      (decode_coding_big5, decode_coding_charset, decode_coding)
 +      (encode_coding): Adjust users.
 +
 +      * alloc.c (Fmemory_info): New function.
 +
 +2014-07-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * syntax.c (back_comment): Use more-natural location for label.
 +
 +      * font.c, font.h (font_unparse_fcname): Now static.
 +      Define only if HAVE_XFT || HAVE_FREETYPE || HAVE_NS.
 +
 +2014-07-09  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Next minor cleanup of font subsystem.
 +      * font.h (enum font_property_index): Remove FONT_ENTITY_INDEX (no
 +      users) and FONT_FORMAT_INDEX (set by a few font drivers but never
 +      really used).
 +      (FONT_ENTITY_NOT_LOADABLE, FONT_ENTITY_SET_NOT_LOADABLE): Remove;
 +      unused.
 +      * ftfont.h (ftfont_font_format): Remove prototype.
 +      * ftfont.c (ftfont_font_format): Remove; now unused.
 +      (ftfont_open):
 +      * nsfont.m (nsfont_open):
 +      * w32font.c (w32font_open_internal):
 +      * w32uniscribe.c (uniscribe_open):
 +      * xfont.c (xfont_open):
 +      * xftfont.c (xftfont_open): All users changed.
 +
 +      * coding.c (ALLOC_CONVERSION_WORK_AREA): Prefer ptrdiff_t to int and
 +      so avoid integer overflow if decoded gap size exceeds INT_MAX bytes.
 +
 +2014-07-09  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_to): Adjust calculation of line_start_x to what
        x_produce_glyphs does when it generates a stretch glyph that
        represents a TAB.  (Bug#17969)
  
 -2014-07-05  Eli Zaretskii  <eliz@gnu.org>
 -
        * xdisp.c (pos_visible_p): If CHARPOS is at beginning of window,
        and there is a display property at that position, don't call
        move_it_to to move to a position before window start.  (Bug#17942)
        Fix condition for finding CHARPOS by the first call to move_it_to.
        (Bug#17944)
  
 -2014-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * syntax.c (find_defun_start): Try the cache even
        if !open_paren_in_column_0_is_defun_start.
        (back_comment): If find_defun_start was pessimistic, use the
        scan_sexps_forward result to improve the cache (bug#16526).
  
 -2014-07-04  Daniel Colascione  <dancol@dancol.org>
 -
 -      Backport from trunk.
 -      * xfns.c (create_frame_xic): Pass XNStatusAttributes to XCreateIC
 -      only if xic_style calls for it.  This change allows Emacs to work
 -      with ibus.  Also, don't leak resources if create_frame_xic fails,
 -      and stop caching xic_style across different displays (Bug#17928).
 -      (supported_xim_styles): Make const.
 -      (best_xim_style): Remove first parameter: it's always just
 -      supported_xim_styles.  Change to look at supported_xim_styles directly.
 -
 -2014-07-04  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-09  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (redisplay_window): If redisplay of a window ends up
        with point in a partially visible line at end of the window, make
        * w32.c (network_interface_info): Make sure the argument is a
        Lisp string.
  
 -2014-07-01  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-08  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * process.c (read_and_dispose_of_process_output): Fix typo
 +      in previous patch: we want nonnegative fds, not nonzero fds.
 +
 +2014-07-08  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * chartab.c (char_table_translate): Move to...
 +      * character.h (char_table_translate): ... inline function here.
 +      Avoid Faref and assume that args are always valid.  This helps to
 +      speedup search, which is especially important for a huge buffers.
 +      * lisp.h (char_table_translate): Remove prototype.
 +
 +      * nsfont.m (nsfont_close): Free glyphs and metrics arrays as well.
 +      * font.c (font_build_object) [HAVE_XFT || HAVE_FREETYPE || HAVE_NS]:
 +      New function, with an intention to avoid code duplication between
 +      a few font drivers.
 +      * font.h (font_build_object) [HAVE_XFT || HAVE_FREETYPE || HAVE_NS]:
 +      Add prototype.
 +      * ftfont.c (ftfont_open):
 +      * macfont.m (macfont_open):
 +      * xftfont.c (xftfont_open): Use it.
 +
 +2014-07-08  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * process.c: Add sanity checks for file descriptors (Bug#17844).
 +      (wait_reading_process_output, Fprocess_filter_multibyte_p):
 +      Check that infd is nonnegative before using it as an fd.
 +      (read_and_dispose_of_process_output, Fprocess_send_eof):
 +      Likewise, for outfd.
 +      (wait_reading_process_output): Omit unnecessary check of infd.
 +
 +2014-07-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Minor fixups related to usage of the 'long' type.
 +      * gnutls.c (emacs_gnutls_handshake):
 +      * xfaces.c (dump_realized_face):
 +      Work even if 'long' is narrower than 'void *'.
 +      * termcap.c (scan_file):
 +      * xselect.c (x_decline_selection_request)
 +      (x_reply_selection_request, x_get_window_property):
 +      * xterm.c (x_set_frame_alpha):
 +      Remove unnecessary 'L' suffixes of integer constants.
 +      * xfns.c (hack_wm_protocols):
 +      * xselect.c (x_fill_property_data):
 +      * xterm.c (x_set_offset, x_set_window_size_1, x_make_frame_invisible):
 +      Remove unnecessary casts to 'long'.
 +      (set_machine_and_pid_properties): Don't assume pid_t fits in 32 bits.
 +
 +      Minor ImageMagick safety fixes.
 +      * image.c (imagemagick_compute_animated_image):
 +      Remove useless assignment to local.  Avoid problems if dest_width is 0.
 +      (imagemagick_load_image): Use int for pixel counts that can't
 +      exceed INT_MAX.  Avoid problem if PixelGetNextIteratorRow returns
 +      a row width greater than the image width (or greater than LONG_MAX!).
 +
 +2014-07-04  K. Handa  <handa@gnu.org>
 +
 +      * coding.c (MIN_CHARBUF_SIZE): Delete it.
 +      (MAX_CHARBUF_EXTRA_SIZE): New macro.
 +      (ALLOC_CONVERSION_WORK_AREA): Use MAX_CHARBUF_EXTRA_SIZE.
 +
 +2014-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * font.h (struct font_driver): Remove get_outline and free_outline;
 +      not used by any font driver.
 +      * ftfont.c (ftfont_driver):
 +      * macfont.m (macfont_driver):
 +      * nsfont.m (nsfont_driver):
 +      * w32font.c (w32font_driver):
 +      * w32uniscribe.c (uniscribe_font_driver):
 +      * xfont.c (xfont_driver): Related users changed.
 +      * xselect.c (x_get_window_property): Use convenient xmalloc.
 +      Call to xfree only if some data was really allocated.
 +
 +2014-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      On MS-Windows, display busy cursor on all GUI frames.
 +      This is similar to what we have on X.  Quickly tested by Dani Moncayo.
 +      * w32fns.c (toplevel): Remove hourglass_hwnd; no longer used.
 +      (w32_show_hourglass, w32_hide_hourglass, w32_note_current_window):
 +      Likewise.
 +      (hide_hourglass, show_hourglass): Redesign to match X counterparts.
 +      * xdisp.c (start_hourglass): Remove Windows-specific bits.
 +
 +2014-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use convenient alists to manage per-frame font driver-specific data.
 +      * frame.h (struct frame): Rename font_data_list to...
 +      [HAVE_XFT || HAVE_FREETYPE]: ... font_data, which is a Lisp_Object now.
 +      * font.h (struct font_data_list): Remove; no longer need a special
 +      data type.
 +      (font_put_frame_data, font_get_frame_data) [HAVE_XFT || HAVE_FREETYPE]:
 +      Adjust prototypes.
 +      * font.c (font_put_frame_data, font_get_frame_data)
 +      [HAVE_XFT || HAVE_FREETYPE]: Prefer alist functions to ad-hoc list
 +      management.
 +      * xftfont.c (xftfont_get_xft_draw, xftfont_end_for_frame):
 +      Related users changed.
 +      * ftxfont.c (ftxfont_get_gcs, ftxfont_end_for_frame): Likewise.
 +      Prefer convenient xmalloc and xfree.
 +
 +2014-07-03  Eli Zaretskii  <eliz@gnu.org>
  
        * dispnew.c (prepare_desired_row): Accept 2 additional arguments:
        the window whose glyph row is being prepared and a flag whether it
  
        * dispextern.h (prepare_desired_row): Adjust prototype.
  
 -2014-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
  
        * xfaces.c (init_frame_faces): Always realize basic faces (Bug#17889).
        * menu.c (Fx_popup_dialog): Set Vmenu_updating_frame to avoid crash
        caused by xw_popup_dialog in daemon mode (Bug#17891).
  
 -2014-06-30  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-03  Eli Zaretskii  <eliz@gnu.org>
  
        * frame.c (do_switch_frame): When switching to another TTY frame,
        make sure FrameCols and FrameRows are in sync with the new frame's
        data.  (Bug#17875)
  
 +2014-07-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects.
 +      * lisp.h (struct Lisp_Sub_Char_Table): Use C integers for depth and
 +      min_char slots.  Adjust comment.
 +      (enum char_table_specials): Rename from CHAR_TABLE_STANDARD_SLOTS.
 +      Add SUB_CHAR_TABLE_OFFSET member.
 +      (make_uninit_sub_char_table): New function.
 +      (toplevel): Add compile-time assert to verify suitable member layout
 +      in Lisp_Sub_Char_Table.
 +      * alloc.c (mark_char_table): Add extra argument to denote char table
 +      subtype.  Adjust to match new layout of sub char-table.
 +      (mark_object): Always mark sub char-tables with mark_char_table.
 +      * chartab.c (make_sub_char_table, copy_sub_char_table)
 +      (sub_char_table_ref, sub_char_table_ref_and_range, sub_char_table_set)
 +      (sub_char_table_set_range, optimize_sub_char_table, map_sub_char_table)
 +      (map_sub_char_table_for_charset, uniprop_table_uncompress):
 +      All related users changed.
 +      * lread.c (read1): Adjust to match new layout of sub char-table.
 +      * print.c (print_object): Likewise (Bug#17898).
 +
 +2014-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keymap.c (get_keyelt): Simplify.
 +      (copy_keymap_item): Remove left-over code for when we had
 +      key-shortcut caches.
 +
 +2014-06-30  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (judge): EmacsScroller: Move dealloc code here.
 +      (dealloc): Remove for EmacsScroller.
 +
 +      * nsterm.h (EmacsScroller): Remove dealloc.
 +
 +2014-06-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * coding.c (MIN_CHARBUF_SIZE): Enlarge to 32.  (Bug#17881)
 +
 +2014-06-30  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsmenu.m (update_frame_tool_bar): Set wait_for_tool_bar to NO
 +      when setNeedsDisplay is called so we don't trigger redisplay for every
 +      tool bar update.
 +
 +      * nsterm.m (any_help_event_p): New variable.
 +      (mouseMoved:): Set any_help_event_p to YES if help event is
 +      generated.  Remove else with empty help event that triggered redisplay
 +      for every mouse move.
 +      (windowDidResignKey:): If any_help_event_p, generate empty help event.
 +
 +2014-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xfns.c (Qsuppress_icon): Remove; no real users.
 +      (syms_of_xfns): Don't DEFSYM it.  Remove ancient comments.
 +      * w32fns.c (Qsuppress_icon): Remove, for the same reason.
 +      (syms_of_w32fns): Don't DEFSYM it.
 +
 +2014-06-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (ns-app): Mark as PHONY.
 +
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (mostlyclean): There are no libXMenu11.a,
 +      liblw.a in this directory.
 +
  2014-06-28  Andreas Schwab  <schwab@linux-m68k.org>
  
        * coding.c (encode_coding_utf_8): Correctly count produced_chars
        also in unibyte case.  (Bug#17865)
  
 -2014-06-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase a bit.  (Bug#17846)
 +2014-06-28  K. Handa  <handa@gnu.org>
 +
 +      * coding.c (MAX_CHARBUF_SIZE): Rename from CHARBUF_SIZE.
 +      (MIN_CHARBUF_SIZE): New macro.
 +      (ALLOC_CONVERSION_WORK_AREA): New arg SIZE.  Callers changed.
 +
 +2014-06-27  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in: Replace BOOTSTRAPEMACS sleight-of-hand
 +      with an order-only dependence on bootstrap-emacs.  (Bug#2151)
 +      (.el.elc): Replace suffix rule with pattern rule.
 +      (%.elc): New pattern rule, with order-only prerequisite.
 +      ($(lisp)): No more need to depend on BOOTSTRAPEMACS.
 +      ($(lispsource)/loaddefs.el): Use an order-only prerequisite
 +      in place of BOOTSTRAPEMACS.
 +
 +2014-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * fns.c (Fcompare_strings): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
 +
 +2014-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Consistently use validate_subarray to verify substring.
 +      * fns.c (validate_substring): Not static any more.  Adjust to
 +      use ptrdiff_t, not EMACS_INT, because string and vector limits
 +      can't exceed ptrdiff_t even if EMACS_INT is wider.
 +      (Fcompare_strings, Fsubstring, Fsubstring_no_properties)
 +      (secure_hash): Adjust user.
 +      * lisp.h (validate_subarray): Add prototype.
 +      * coding.c (Fundecodable_char_position):
 +      * composite.c (Fcomposition_get_gstring, Fcompose_string_internal):
 +      Use validate_subarray.  Adjust comment to mention substring.
 +
 +2014-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Do not allow out-of-range character position in Fcompare_strings.
 +      * fns.c (validate_subarray): Add prototype.
 +      (Fcompare_substring): Use validate_subarray to check ranges.
 +      Adjust comment to mention that the semantics was changed.  Also see
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00447.html.
 +
 +2014-06-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Be more consistent about the 'Qfoo' naming convention.
 +      * image.c (Fimagemagick_types):
 +      * lisp.h (lisp_h_CHECK_TYPE, CHECK_TYPE, CHECK_ARRAY):
 +      * process.c (Fmake_network_process):
 +      Rename C local identifier 'Qfoo to avoid giving the false
 +      impression that it stands for the symbol 'foo'.
 +
 +2014-06-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Simplify and cleanup character conversion stuff.
 +      * lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe):
 +      Remove prototypes.
 +      * character.c (multibyte_char_to_unibyte)
 +      (multibyte_char_to_unibyte_safe): Remove; no longer used.
 +      * character.h (make_char): Remove; unused.
 +      (CHAR_TO_BYTE8, CHAR_TO_BYTE_SAFE): Simplify.
 +      (ASCII_BYTE_P): Remove; ASCII_CHAR_P does the same thing.
 +      * buffer.c, charset.c, charset.h, cmds.c, coding.c, editfns.c:
 +      * fileio.c, indent.c, insdel.c, keyboard.c, lread.c, print.c:
 +      * search.c, term.c, xdisp.c, xterm.c: Related users changed.
 +
 +2014-06-22  Mario Lang  <mlang@delysid.org>
 +
 +      * w32fns.c (Fw32_shell_execute): The the -> the.
 +
 +2014-06-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xmenu.c (mouse_position_for_popup):
 +      * xselect.c (mouse_position_for_drop): Do not duplicate ...
 +      * xfns.c (x_relative_mouse_position): ... and prefer this function.
 +      * menu.c (Fx_popup_menu):
 +      * xselect.c (x_handle_dnd_message): Adjust users.
 +      * menu.h (mouse_position_for_popup): Remove prototype.
 +      * xterm.h (x_relative_mouse_position): Add prototype.
 +      * xterm.c (x_find_topmost_parent): Break from the loop and do not
 +      call XFree if XQueryTree returns zero.
  
  2014-06-21  Eli Zaretskii  <eliz@gnu.org>
  
        * fileio.c (Ffile_acl): Port to OS X, where acl_get_file (...,
        ACL_TYPE_ACCESS) doesn't work.
  
 -2014-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * keyboard.c (read_key_sequence): Don't invoke Vprefix_help_command
        before checking key-translation-map (bug#17659).
  
 -2014-06-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-06-21  Dmitry Antipov  <dmantipov@yandex.ru>
  
        * font.c (font_make_object): Avoid dangling pointer which may
        crash GC (Bug#17771).
  
 -2014-06-18  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-21  Eli Zaretskii  <eliz@gnu.org>
  
        * image.c [5 < GIFLIB_MAJOR + (1 <= GIFLIB_MINOR)]: Declare the
        prototype of DGifCloseFile as appropriate for older and newer
        (gif_load): Call gif_close instead of DGifCloseFile.  Divulge the
        error string where appropriate.  (Bug#17790)
  
 -2014-06-16  Eli Zaretskii  <eliz@gnu.org>
 -
        * xdisp.c (Fmove_point_visually): Instead of testing for keyboard
        macro execution, make sure point didn't move since last complete
        redisplay, as the condition for using the glyph matrix
        information.  (Bug#17777)
  
 -2014-06-14  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Minor cleanup of fonset code.
 +      * fontset.c (FONTSET_ID, set_fontset_id, FONTSET_NAME)
 +      (set_fontset_name, FONTSET_ASCII, set_fontset_ascii)
 +      (FONTSET_BASE, set_fontset_base, FONTSET_FRAME)
 +      (set_fontset_frame, FONTSET_NOFONT_FACE, set_fontset_nofont_face)
 +      (FONTSET_DEFAULT, set_fontset_default, FONTSET_FALLBACK)
 +      (set_fontset_fallback): Reorder extra slots and avoid unused slots.
 +      (free_realized_fontset): Remove because a no-op since 2008.
 +      (free_face_fontset): Adjust user.
 +      (syms_of_fontset): Shrink fontset by one extra slot.
 +
 +2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Omit redundant extern decls.
 +      Most of this patch is from Dmitry Antipov, in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html
 +      * commands.h (update_mode_lines):
 +      * frame.h (Qbackground_color, Qforeground_color)
 +      (x_set_menu_bar_lines):
 +      * ftfont.c (ftfont_font_format):
 +      * intervals.h (Qkeymap, Qfont):
 +      * keyboard.c (timer_check, safe_run_hooks, Qregion_extract_function):
 +      * lisp.h (Ffboundp, Qnil, Qt, Qlambda, Qintegerp, Qwholenump)
 +      (Qsymbolp, Qlisp, Qconsp, Qstringp, Qarrayp, Qbufferp, Qmarkerp)
 +      (Qvectorp, Qbuffer_or_string_p, Qchar_table_p, Qvector_or_char_table_p)
 +      (Qfloatp, Qnumberp, Qfont_spec, Qfont_entity, Qfont_object)
 +      (Fbyteorder, wrong_type_argument, Fmax_char, syms_of_composite)
 +      (Fidentity, extract_float, init_display, syms_of_display, Qdisplay):
 +      (Qimage, Qbox, redisplay_preserve_echo_area, char_table_ref)
 +      (char_table_set, char_table_translate, Qautoload, Qbottom, Qtop)
 +      (Qvisible, Qfont, Qfront_sticky, Qrear_nonsticky, init_sigio)
 +      (Qtool_bar, Qheader_line):
 +      * macros.c (Fexecute_kbd_macro):
 +      * xdisp.c (Ftool_bar_height, Ftool_bar_height):
 +      * xterm.c (x_delete_terminal, XSetIMValues):
 +      * xterm.h (x_set_window_size, x_query_color, x_get_focus_frame)
 +      (x_implicitly_set_name, popup_activated)
 +      (widget_store_internal_border):
 +      Remove redundant decls.
 +      * frame.c [USE_X_TOOLKIT]: Include widget.h.
 +      * keyboard.c (Fexit_recursive_edit, Fabort_recursive_edit):
 +      Remove _Noreturn, as make-docfile now does that for us.
 +      * lisp.h (DEFUN): Don't declare fnname here; rely on make-docfile.
 +      (Qregion_extract_function): New decl.
 +      * window.c, xfns.c: Include menu.h.
 +
 +2014-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * callint.c (Fcall_interactively): Fix up last change (bug#17701).
 +
 +2014-06-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * fileio.c (Fread_file_name): Do not pass redundant args and ...
 +      * callint.c (read_file_name): ... convert to static here.
 +      * lisp.h (Fread_file_name): Do not EXFUN it.
 +      (STRING_COPYIN): Remove; unused.
 +      * composite.c (CHAR_COMPOSABLE_P): Replace unsafe macro with ...
 +      (char_composable_p): ... static function.  All users changed.
 +      * eval.c (toplevel): Remove redundant #include directives.
 +      * xterm.c (x_initialize): Add static to match prototype.
 +      * ccl.c (Fccl_execute_on_string):
 +      * font.c (fon_intern_prop): Use make_specified_string.
 +
 +2014-06-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * Makefile.in (ns-app): Fix typo that broke build on OS X.
 +      Reported by David Caldwell in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00251.html
 +
 +2014-06-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Do not ask for XRender extension each time XFT font is opened.
 +      * xftfont.c (xftfont_open): Move call to XRenderQueryExtension ...
 +      * xterm.c (x_term_init) [HAVE_XFT]: ... to here.  Adjust comment.
 +
 +2014-06-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in: Use `make -C' rather than `cd && make' throughout.
 +
 +2014-06-15  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (Fmove_point_visually): Don't use the glyph matrix
        information if we are in the middle of executing a keyboard macro,
        since redisplay doesn't update the screen until the macro is
        finished.  (Bug#17777)
  
 -2014-06-13  Eli Zaretskii  <eliz@gnu.org>
 -
        * alloc.c (cleanup_vector): Don't dereference a font driver
        pointer if it is NULL.  (Bug#17771)
  
 +2014-06-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in ($(leimdir)/leim-list.el, $(srcdir)/macuvs.h)
 +      ($(lispsource)/international/charprop.el)
 +      ($(libsrc)/make-docfile$(EXEEXT), $(lwlibdir)/liblw.a)
 +      ($(oldXMenudir)/libXMenu11.a, ns-app, .el.elc)
 +      ($(lispsource)/loaddefs.el, bootstrap-emacs$(EXEEXT)):
 +      GNU make automatically passes command-line arguments to sub-makes.
 +
 +2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Avoid hangs in accept-process-output (Bug#17647).
 +      * lisp.h, process.c (wait_reading_process_input):
 +      Return int, not bool.  All uses changed.
 +      * process.c (SELECT_CANT_DO_WRITE_MASK):
 +      Remove macro, replacing with ...
 +      (SELECT_CAN_DO_WRITE_MASK): ... new constant, with inverted sense.
 +      All uses changed.
 +      (status_notify): New arg WAIT_PROC.  Return int, not void.
 +      All uses changed.
 +
 +2014-06-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * menu.c (Fx_popup_menu): Don't call the frame's menu_show_hook if
 +      the frame is the initial frame, because the hook is not set up
 +      then, and Emacs crashes.
 +      Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
 +
 +2014-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keymap.c (silly_event_symbol_error): Don't recommend the use
 +      of strings.
 +
  2014-06-11  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (set_cursor_from_row): Fix an off-by-one error when
        matching overlay strings with 'cursor' property against buffer
        positions traversed in the glyph row.  (Bug#17744)
  
 -2014-06-08  Glenn Morris  <rgm@gnu.org>
 +2014-06-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.h (EmacsApp): Always compile in shouldKeepRunning, isFirst
 +      on Cocoa.
 +
 +      * nsterm.m (run): Always compile for Cocoa.  Use runtime check to
 +      determine 10.9 (Bug#17751).
 +
 +      * macfont.m (macfont_draw): Positions were not freed.
 +
 +2014-06-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * dispextern.h (PREPARE_FACE_FOR_DISPLAY): Remove as a duplicate of ...
 +      * xfaces.c (prepare_face_for_display) [HAVE_WINDOW_SYSTEM]: ... this
 +      function.  Also adjust comment.
 +      * fringe.c, w32term.c, xdisp.c, xterm.c: All users changed.
 +
 +      * dispextern.h (struct face) [HAVE_XFT]: Ifdef 'extra' member.
 +      * font.c (font_done_for_face):
 +      * xfaces.c (realize_non_ascii_face): Adjust user.
 +      * font.h (struct font_driver): Convert 'prepare_face' to return
 +      void because its return value is never used anyway.
 +      * xfont.c (xfont_prepare_face): Return void.
 +      * xftfont.c (xftfont_prepare_face): Likewise.  Use xmalloc.
 +      (xftfont_done_face): Use xfree.
 +
 +      * dispextern.h (last_tool_bar_item): Remove declaration.
 +      * frame.h (struct frame): New member last_tool_bar_item.
 +      * frame.c (make_frame): Initialize it.
 +      * xdisp.c (toplevel): Remove last_tool_bar_item.
 +      (handle_tool_bar_click, note_tool_bar_highlight):
 +      * w32term.c (w32_read_socket, w32_initialize):
 +      * xterm.c (handle_one_xevent, x_initialize): Adjust users.
 +
 +      * frame.h (window_system_available) [!HAVE_WINDOW_SYSTEM]: Always false.
 +      * frame.c (window_system_available) [HAVE_WINDOW_SYSTEM]: Now here.
 +
 +2014-06-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Say (accept-process-output P)'s result pertains to P if P is non-nil.
 +      * process.c (Faccept_process_output)
 +      (wait_reading_process_output): Mention that if PROCESS is non-nil,
 +      the return value is about PROCESS, not about other processes.
 +
 +2014-06-09  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Further adjustments to mark_object and friends.
 +      Now the mark_object's stack is just 32 bytes on a 64-bit
 +      system, which means extra 20% off the stack usage.
 +      * alloc.c (mark_save_value): As before, refactored out from ...
 +      (mark_object): ... adjusted user.  Also add comment.
 +
 +2014-06-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix core dump after a dropped X connection (Bug#17704).
 +      * sysdep.c (stuff_char): Don't abort merely because the selected frame
 +      is dead, as we may be shutting down.
 +
 +2014-06-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * fileio.c (write-region-inhibit-fsync): Doc tweak.
 +
 +      * data.c (Flss, Fgtr, Fleq, Fgeq): Doc tweaks.
 +
 +2014-06-08  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      If a C name must be extern on some platforms, make it extern on all.
 +      * dispextern.h (set_vertical_scroll_bar, erase_phys_cursor)
 +      (load_color):
 +      * font.h (ftxfont_driver) [HAVE_XFT]:
 +      * keyboard.h (menu_items_inuse, ignore_mouse_drag_p, make_ctrl_char):
 +      * lisp.h (get_frame_param):
 +      * menu.h (tty_menu_show):
 +      * process.h (conv_sockaddr_to_lisp, catch_child_signal):
 +      * termhooks.h (encode_terminal_code):
 +      * xterm.h (x_menu_wait_for_event):
 +      Always declare.
 +      * frame.c (get_frame_param):
 +      * fringe.c (max_used_fringe_bitmap):
 +      * ftxfont.c (ftxfont_driver):
 +      * keyboard.c (ignore_mouse_drag_p, make_ctrl_char):
 +      * menu.c (menu_items_inuse):
 +      * process.c (conv_sockaddr_to_lisp, catch_child_signal):
 +      * term.c (encode_terminal_code, tty_menu_show):
 +      * xdisp.c (set_vertical_scroll_bar, erase_phys_cursor):
 +      * xfaces.c (load_color):
 +      * xmenu.c (x_menu_wait_for_event):
 +      Now always extern.
 +
 +2014-06-08  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Change object marking routines to minimize stack usage.
 +      This change moves a few cold paths from mark_object to NO_INLINE
 +      functions and adjusts symbol marking loop.  According to GCC 4.8.2
 +      -Wstack-usage, this reduces mark_object's stack usage from 80 to
 +      48 bytes on a 64-bit system.  For a long byte-force-recompile runs,
 +      stack usage at the mark phase is reduced up to 28%.  Surprisingly,
 +      it also gains up to 3% in speed (with default '-O2 -g3' flags).
 +      * alloc.c (mark_compiled, mark_localized_symbol): New functions,
 +      refactored out from ...
 +      (mark_object): ... adjusted user.  Also mark symbols in a tight
 +      inner loop.
 +      (mark_face_cache): Add NO_INLINE.
 +
 +2014-06-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * sysdep.c (reset_sys_modes): Use cursorX, not curX, as the latter
 +      contains garbage on WINDOWSNT (which could potentially infloop at
 +      exit).
 +
 +      Minimize cursor motion during TTY menu updates.
 +      * term.c (tty_menu_display): Don't position cursor here.
 +      Instead, pass the cursor coordinates to update_frame_with_menu.
 +      (tty_menu_activate): Send the hide cursor command only once in an
 +      iteration through the outer 'while' loop.
 +
 +      * dispnew.c (update_frame_1): Accept an additional argument
 +      SET_CURSOR_P, and position the cursor at the end of the frame
 +      update only if that argument is non-zero.  All callers changed to
 +      provide the additional argument as non-zero, except for
 +      update_frame_with_menu.
 +      (update_frame_with_menu): Accept 2 additional arguments ROW and
 +      COL; if they are non-negative, instruct update_frame_1 not to
 +      position the cursor, and instead position it according to ROW and COL.
 +
 +      * dispextern.h (update_frame_with_menu): Update prototype.
 +
 +2014-06-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * callproc.c (call_process): Don't check read-only if we don't insert
 +      anything (bug#17666).
 +
 +2014-06-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * dispnew.c (update_frame_with_menu): Set display_completed.
 +
 +2014-06-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * term.c (tty_menu_show) [WINDOWSNT]: Make tty_menu_show extern
 +      only for WINDOWSNT.
 +      * menu.h (tty_menu_show) [WINDOWSNT]: Declare extern only for WINDOWSNT.
 +
 +2014-06-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * term.c (tty_menu_show) [!HAVE_NTGUI]: Now static.
 +      * menu.h (tty_menu_show) [!HAVE_NTGUI]: Omit extern decl.
 +
 +2014-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.c (Frecenter): Signal an error if window-buffer is not
 +      current-buffer.
 +
 +      * keyboard.c (make_lispy_position): Don't include a buffer position in
 +      mode/header-line mouse events.
 +
 +      * keyboard.c (read_char): Handle (t . <event>) in the second use of
 +      Vunread_command_events (bug#17650).
 +
 +2014-06-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xterm.c (x_setup_pointer_blanking):
 +      Conditionally probe Xfixes until this stuff is stabilized (Bug#17609).
 +
 +2014-06-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * keyboard.c, process.c: Do not define POLL_FOR_INPUT here
 +      because it will be defined in generated config.h if needed.
 +
 +2014-06-04  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use terminal-specific hooks to display popup dialogs.
 +      * termhooks.h (struct terminal): New field popup_dialog_hook.
 +      * menu.c (emulate_dialog_with_menu): New function, refactored from ...
 +      (Fx_popup_dialog): ... adjusted user.  Also remove old #if 0
 +      code and use popup_dialog_hook.
 +      * nsmenu.m (ns_popup_dialog): Make hook-compatible.
 +      * nsterm.h (ns_popup_dialog): Adjust prototype.
 +      * nsterm.m (ns_create_terminal):
 +      * w32term.c (w32_create_terminal):
 +      * xterm.c (x_create_terminal) [USE_X_TOOLKIT || USE_GTK]:
 +      Setup popup_dialog_hook.
 +
 +2014-06-04  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (report_temacs_memory_usage): Improve the report by
 +      reporting the large blocks that are actually occupied at dump time.
 +
 +      * w32console.c (initialize_w32_display): Set the console
 +      menu_show_hook, otherwise TTY menus are broken on w32.
 +
 +2014-06-04  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use terminal-specific hooks to display menus.
 +      * termhooks.h (struct terminal): New field menu_show_hook.
 +      * menu.h (<anonymous enum>): Bit flags for menu hooks.
 +      (x_menu_show, w32_menu_show, ns_menu_show, tty_menu_show):
 +      Adjust prototypes.
 +      * menu.c (Fx_popup_menu): Use bit flags and menu_show_hook.
 +      * nsmenu.m (ns_menu_show):
 +      * w32menu.c (w32_menu_show):
 +      * xmenu.c (x_menu_show):
 +      * term.c (tty_menu_show): Adjust to use bit flags.
 +      (set_tty_hooks): Set menu_show_hook.
 +      * xterm.c (x_create_terminal):
 +      * nsterm.m (ns_create_terminal):
 +      * msdos.c (initialize_msdos_display):
 +      * w32term.c (w32_create_terminal): Likewise.
 +
 +2014-06-03  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * w32heap.c (DUMPED_HEAP_SIZE) [!_WIN64]: Reduce to 11 MB.
 +
 +2014-06-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * sysselect.h (fd_CLR, fd_ISSET, fd_SET, FD_CLR, FD_ISSET)
 +      (FD_SET): Don't define on WINDOWSNT.
 +
 +2014-06-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * emacs.c: Include "sysselect.h", to define its inline functions.
 +      Problem reported by Glenn Morris in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00077.html
 +
 +      Do not require libXt-devel when building with gtk.
 +      * gtkutil.h, menu.h: Include lwlib-widget.h, not lwlib-h, to avoid
 +      dependency on libXt-devel.
 +      * menu.h [HAVE_NTGUI]: Include lwlib-widget.h in this case too.
 +      (enum button_type, widget_value) [HAVE_NTGUI]: Remove, as
 +      lwlib-widget.h now does this.
 +      * nsmenu.m (ns_menu_show): "enabled" -> "enable" to fix typo.
 +
 +2014-06-03  Paul Eggert  <eggert@penguin.cs.ucla.edu>
 +
 +      If ENABLE_CHECKING, range-check args of FD_CLR, FD_ISSET, FD_SET.
 +      * process.c (add_read_fd, delete_read_fd, add_write_fd)
 +      (delete_write_fd, wait_reading_process_output):
 +      Remove now-redundant easserts.
 +      * sysselect.h (SYSSELECT_H): New macro, to avoid double-inclusion woes.
 +      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
 +      (fd_CLR, fd_ISSET, fd_SET): New inline functions.
 +      (FD_CLR, FD_ISSET, FD_SET): Redefine in terms of these functions.
 +
 +2014-06-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (DUMPED_HEAP_SIZE): Move from w32heap.h.  Don't use
 +      HEAPSIZE; instead, define separate values for the 32- and 64-bit builds.
 +      (calloc): Don't undef, it is never defined.
 +      (HEAP_ENTRY_SHIFT): Remove unused macro.
 +
 +      * Makefile.in (C_HEAP_SWITCH): Remove.
 +      (ALL_CFLAGS): Don't use $(C_HEAP_SWITCH).
 +
 +      Fix MS-Windows build broken by menu changes on 2014-06-02.
 +      * w32menu.c (w32_menu_show): Fix a typo that broke compilation.
 +
 +      * menu.h (enum button_type, struct _widget_value) [HAVE_NTGUI]:
 +      Define instead of including ../lwlib/lwlib.h, which causes
 +      compilation errors due to missing X11 headers.
 +
 +2014-06-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * process.c (wait_reading_process_output): Omit incorrect test of
 +      p->infd against zero.  Add easserts for infd having a plausible value.
 +
 +2014-06-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Adjust to match recent lwlib changes.
 +      * menu.h (xmalloc_widget_value): Replace by ...
 +      (make_widget_value): ... new prototype.
 +      * menu.c (xmalloc_widget_value): Replace by ...
 +      (make_widget_value): ... new function.
 +      (free_menubar_widget_value_tree, digest_single_submenu): Adjust users.
 +      * gtkutil.c (malloc_widget_value, free_widget_value):
 +      (widget_value_free_list, malloc_cpt): Remove old lwlib-compatible code.
 +      * keyboard.h (enum button_type, struct _widget_value):
 +      * gtkutil.h, nsgui.h, w32gui.h (malloc_widget_value, free_widget_value):
 +      Likewise.
 +      * nsmenu.m (ns_update_menubar, ns_menu_show):
 +      * w32menu.c (set_frame_menubar, w32_menu_show, w32_dialog_show):
 +      * xmenu.c (set_frame_menubar, xmenu_show, x_dialog_show): Adjust users.
 +      * xterm.h (XtParent) [USE_GTK]: Remove unused macro.
 +
 +2014-06-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * image.c (x_query_frame_background_color)
 +      [HAVE_PNG || HAVE_NS || HAVE_IMAGEMAGICK || HAVE_RSVG]:
 +      Fix --enable-gcc-warnings compilation without image libraries.
 +
 +2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (malloc_after_dump, realloc_after_dump): Update the
 +      emulated break value only if it goes up.
 +      (sbrk): Add assertion that the INCREMENT argument is strictly
 +      zero.  Improve and correct the commentary.
 +
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve AIX-related merge from emacs-24.
 +      * conf_post.h (FLEXIBLE_ARRAY_MEMBER): Fix comment.
 +      * lisp.h (ENUMABLE) [!_AIX]: Don't define to 0 merely because we're
 +      not on AIX; since we're on the trunk we can use enums more broadly.
 +
 +      * frame.c (x_set_frame_parameters): Don't read uninitialized storage.
 +
 +2014-06-02  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xterm.c (xg_scroll_callback): Remove position, for jump set portion
 +      to min(value, whole).
 +
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Bring back the changes to GDB-visible symbols, but only on AIX.
 +      And only if it's not pre-4.2 GCC.
 +      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
 +      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
 +      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 +      New macros.
 +
 +2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * fileio.c (Finsert_file_contents): Call prepare_to_modify_buffer
 +      with PT, not GPT.  (Bug#16433)
 +
 +      Revert last changes to GDB-visible symbols.
 +      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): Delete macros.
 +      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Don't use them.
 +      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 +      Delete macros.
 +
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * cmds.c (Fself_insert_command): Allow zero repeat count.  (Bug#17649)
 +
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix port to 32-bit AIX with xlc (Bug#17598).
 +      * alloc.c (gdb_make_enums_visible): Remove FLOAT_TO_STRING_BUFSIZE.
 +      * conf_post.h (FLEXIBLE_ARRAY_MEMBER) [__IBMC__]: Don't define to empty.
 +      * lisp.h (FLOAT_TO_STRING_BUFSIZE): Make it a macro, instead of an enum,
 +      to work around a compiler bug in IBM xlc 12.1.
 +
 +2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xterm.c (x_update_window_end): Don't invalidate the entire
 +      mouse-highlight info, just signal frame_up_to_date_hook that mouse
 +      highlight needs to be redisplayed.  (Bug#17588)
 +
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port the GDB-visible symbols to AIX.
 +      Without them, GDB doesn't work to debug Emacs, since the AIX linker
 +      optimizes away the relevant external symbols.  Use enums instead;
 +      this suffices for the AIX port, which is 32-bit-only anyway.
 +      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
 +      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
 +      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 +      New macros.
 +
 +      Include sources used to create macuvs.h.
 +      * Makefile.in ($(srcdir)/macuvs.h): New rule.
 +      * macuvs.h: Use automatically-generated header.
 +
 +2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port signal-handling to DragonFly BSD (Bug#17646).
 +      * callproc.c, sysdep.c (block_child_signal, unblock_child_signal):
 +      Move implementations from callproc.c to sysdep.c.
 +      * process.h, syssignal.h (block_child_signal, unblock_child_signal):
 +      Move declarations from process.h to syssignal.h.
 +
 +2014-06-01  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * callint.c (Ffuncall_interactively): Add usage.
 +
 +2014-06-01  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsfns.m (ns_appkit_version_str): Add os version for Cocoa.
 +
 +2014-05-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (malloc_before_dump, malloc_after_dump)
 +      (malloc_before_dump, realloc_after_dump, realloc_before_dump)
 +      (mmap_alloc, mmap_realloc): Check for errors more thoroughly and
 +      set errno where appropriate to emulate CRT functions.
 +
 +2014-05-30  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Debugging facility to check whether 'const char *' points to
 +      relocatable data of non-pure Lisp string.
 +      * alloc.c (maybe_lisp_pointer): New function, refactored out of ...
 +      (mark_maybe_pointer): ... adjusted user.
 +      (relocatable_string_data_p): New function.
 +      * lisp.h (relocatable_string_data_p): Add prototype.
 +      * xdisp.c (message_with_string): If ENABLE_CHECKING, make sure
 +      the pointer to relocatable Lisp data is not used.
 +
 +2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't let SIGINT handling block SIGCHLD indefinitely (Bug#17561).
 +      * atimer.c (block_atimers):
 +      * callproc.c (block_child_signal): Block SIGINT too;
 +      otherwise, its handler might now unblock signals that it shouldn't.
 +      * keyboard.c (read_char): Clear signal mask, since we may
 +      be in a SIGINT handler, and many signals may be masked.
 +      * keyboard.c (handle_interrupt):
 +      * sysdep.c (handle_arith_signal):
 +      Clear signal mask instead of just unblocking the signal that
 +      was received, since several signals may be blocked at this point.
 +
 +2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * Makefile.in (TEMACS_POST_LINK): Remove target.
 +      (emacs$(EXEEXT)): Remove $(ADDSECTION) from prerequisites.
 +      (temacs$(EXEEXT)): Remove $(TEMACS_POST_LINK) from the recipe.
 +
 +2014-05-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xmenu.c (xdialog_show): Remove prototype, rename to
 +      x_dialog_show, remove 2nd arg because it's always zero
 +      and simplify accordingly.
 +      (xw_popup_dialog): Adjust user.
 +      * w32menu.c (w32_dialog_show): Adjust prototype, remove
 +      2nd arg because it's always zero and simplify accordingly.
 +      (w32_popup_dialog): Adjust user.
 +
 +2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (report_temacs_memory_usage): New function.
 +
 +      * unexw32.c (unexec) [ENABLE_CHECKING]:
 +      Call report_temacs_memory_usage.
 +
 +      * w32heap.h (report_temacs_memory_usage): Add prototype.
 +
 +2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't substitute sigprocmask for pthread_sigmask (Bug#17561).
 +      * Makefile.in (LIB_PTHREAD_SIGMASK): Remove; all uses removed.
 +
 +2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * buffer.c (init_buffer): Accept an argument 'initialized'.
 +      [USE_MMAP_FOR_BUFFERS]: If 'initialized' is non-zero, reset
 +      mmap_regions and mmap_fd, to avoid referencing stale data from the
 +      dump phase.  Add an assertion for buffer text of buffers created
 +      in temacs before this function is called.  (Bug#17622)
 +      (mmap_regions_1, mmap_fd_1): Remove unused variables.
 +
 +      * lisp.h (init_buffer): Update prototype.
 +
 +      * emacs.c (main): Pass 'initialized' as the argument to init_buffer.
 +
 +2014-05-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (Fgarbage_collect): Fix compilation with
 +      GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
 +
 +2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * frame.c, frame.h (frame_char_to_pixel_position)
 +      (frame_set_mouse_position): Now static, and made private in
 +      frame.c rather than public in frame.h.
  
 -      * fileio.c (write-region-inhibit-fsync): Doc tweak.
 +2014-05-28  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * data.c (Flss, Fgtr, Fleq, Fgeq): Doc tweaks.
 +      Refactor mouse positioning stuff to avoid code duplication.
 +      * frame.h (frame_char_to_pixel_position): New function.
 +      (x_set_mouse_position): Rename to...
 +      (frame_set_mouse_position): ...new function.
 +      (frame_set_mouse_pixel_position): Add prototype.
 +      * nsterm.m, w32term.c, xterm.c (x_set_mouse_pixel_position):
 +      Rename to frame_set_mouse_pixel_position.
 +      * frame.c (Fset_mouse_pixel_position, Fset_mouse_position):
 +      Adjust users.
 +      * xterm.h, w32term.h ( x_set_mouse_position)
 +      (x_set_mouse_pixel_position): Remove prototypes.
  
 -2014-06-04  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-28  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * sysdep.c (reset_sys_modes): Use cursorX, not curX, as the latter
 -      contains garbage on WINDOWSNT (which could potentially infloop at
 -      exit).
 +      On X, always make pointer visible when deleting frame (Bug#17609).
 +      * frame.c (frame_make_pointer_visible, frame_make_pointer_invisible):
 +      Pass frame as arg.
 +      * frame.h (frame_make_pointer_visible, frame_make_pointer_invisible):
 +      Adjust prototypes.
 +      * cmds.c (Fself_insert_command): Use SELECTED_FRAME.
 +      * keyboard.c (gobble_input): If there is no terminal input error,
 +      make sure the pointer is visible for all frames on this terminal.
 +      * xterm.c (x_free_frame_resources): Enable pointer visibility if
 +      it was previously disabled.
  
 -      Minimize cursor motion during TTY menu updates.
 -      * term.c (tty_menu_display): Don't position cursor here.  Instead,
 -      pass the cursor coordinates to update_frame_with_menu.
 -      (tty_menu_activate): Send the hide cursor command only once in an
 -      iteration through the outer 'while' loop.
 +2014-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * dispnew.c (update_frame_1): Accept an additional argument
 -      SET_CURSOR_P, and position the cursor at the end of the frame
 -      update only if that argument is non-zero.  All callers changed to
 -      provide the additional argument as non-zero, except for
 -      update_frame_with_menu.
 -      (update_frame_with_menu): Accept 2 additional arguments ROW and
 -      COL; if they are non-negative, instruct update_frame_1 not to
 -      position the cursor, and instead position it according to ROW and
 -      COL.
 +      * data.c (Fzerop): Move to Elisp.
 +      (syms_of_data): Don't defsubr it.
 +      * keyboard.c (echo_keystrokes_p): New function.
 +      (read_char, record_menu_key, read_key_sequence): Use it.
  
 -      * dispextern.h (update_frame_with_menu): Update prototype.
 +      * callint.c (Qfuncall_interactively): New var.
 +      (Qcall_interactively): Remove.
 +      (Ffuncall_interactively): New function.
 +      (Fcall_interactively): Use it.
 +      (syms_of_callint): Defsubr it.
  
 -2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * callproc.c (call_process): Don't check read-only if we don't insert
 -      anything (bug#17666).
 +      * bytecode.c (FETCH) [BYTE_CODE_SAFE]: Check the bytecode wasn't
 +      relocated from under us.
  
 -2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-27  Fabrice Popineau  <fabrice.popineau@gmail.com>
  
 -      * dispnew.c (update_frame_with_menu): Set display_completed.
 +      Use mmap(2) emulation for allocating buffer text on MS-Windows.
 +      * Makefile.in (C_HEAP_SWITCH): Get the predefined heap size from
 +      configure, not from HEAPSIZE.
 +      (ADDSECTION, MINGW_TEMACS_POST_LINK): Remove, no longer used.
  
 -2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
 +      * lisp.h (NONPOINTER_BITS): Modify the condition to define to zero
 +      for MinGW, since it no longer uses gmalloc.
  
 -      * frame.c (x_set_frame_parameters): Don't read uninitialized storage.
 +      * buffer.c: Do not define mmap allocations functions for Windows.
 +      Remove mmap_find which is unused. Remove mmap_set_vars which does
 +      nothing useful.
 +      [WINDOWSNT]: Include w32heap.h.
 +      (init_buffer): Always allocate new memory for buffers.
  
 -2014-06-01  Jan Djärv  <jan.h.d@swipnet.se>
 +      * emacs.c: Remove mmap_set_vars calls.
  
 -      * xterm.c (xg_scroll_callback): Remove position, for jump set portion
 -      to min(value, whole).
 +      * image.c (free_image): Undef free for Windows because it is
 +      redirected to our private version.
  
 -2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
 +      * unexw32.c (COPY_PROC_CHUNK): Use %p format for 64bits compatibility.
 +      (copy_executable_and_dump_data): Remove dumping the heap section.
 +      (unexec): Restore using_dynamic_heap after dumping.
  
 -      Bring back the changes to GDB-visible symbols, but only on AIX.
 -      And only if it's not pre-4.2 GCC.
 -      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
 -      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
 -      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 -      New macros.
 +      * w32heap.c (dumped_data_commit, malloc_after_dump)
 +      (malloc_before_dump, realloc_after_dump, realloc_before_dump)
 +      (free_after_dump, free_before_dump, mmap_alloc, mmap_realloc)
 +      (mmap_free): New functions.
  
 -2014-05-31  Eli Zaretskii  <eliz@gnu.org>
 +      * w32heap.h: Declare dumped_data and mmap_* function prototypes.
  
 -      * fileio.c (Finsert_file_contents): Call prepare_to_modify_buffer
 -      with PT, not GPT.  (Bug#16433)
 +2014-05-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      Revert last changes to GDB-visible symbols.
 -      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): Delete macros.
 -      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Don't use them.
 -      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 -      Delete macros.
 +      * image.c (imagemagick_load_image): Use MagickRealType for local
 +      'color_scale', instead of double, to avoid a GCC warning about
 +      double promotion.
  
 -2014-05-31  Glenn Morris  <rgm@gnu.org>
 +      * xfns.c (Fx_window_property): Remove unused local.
  
 -      * cmds.c (Fself_insert_command): Allow zero repeat count.  (Bug#17649)
 +      Don't kill already-reaped process (Bug#17561).
 +      * process.c (process_send_signal): Fix race condition where a
 +      subprocess was reaped by a signal handler between the check for
 +      liveness and calling 'kill', which meant that Emacs could in
 +      theory kill an innocent bystander process.  Do the fix by blocking
 +      SIGCHLD in a critical section that checks liveness before killing.
  
 -2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
 -      Fix port to 32-bit AIX with xlc (Bug#17598).
 -      * alloc.c (gdb_make_enums_visible): Remove FLOAT_TO_STRING_BUFSIZE.
 -      * conf_post.h (FLEXIBLE_ARRAY_MEMBER) [__IBMC__]: Don't define to empty.
 -      * lisp.h (FLOAT_TO_STRING_BUFSIZE): Make it a macro, instead of an enum,
 -      to work around a compiler bug in IBM xlc 12.1.
 +      * w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Define only if undefined.
  
 -2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Ken Brown  <kbrown@cornell.edu>
  
 -      * xterm.c (x_update_window_end): Don't invalidate the entire
 -      mouse-highlight info, just signal frame_up_to_date_hook that mouse
 -      highlight needs to be redisplayed.  (Bug#17588)
 +      * w32term.c (x_delete_display): Don't free dpyinfo->w32_id_name,
 +      even if !CYGWIN (see bug#17510).
  
 -2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-26  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      Port the GDB-visible symbols to AIX.
 -      Without them, GDB doesn't work to debug Emacs, since the AIX linker
 -      optimizes away the relevant external symbols.  Use enums instead;
 -      this suffices for the AIX port, which is 32-bit-only anyway.
 -      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
 -      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
 -      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 -      New macros.
 +      * nsfns.m (Fns_do_applescript): Surround NSApp run
 +      with calls to ns_init_events, ns_finish_events (Bug#17424).
  
 -2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
 +      * nsterm.h (ns_init_events, ns_finish_events): Declare.
  
 -      Include sources used to create macuvs.h.
 -      * Makefile.in ($(srcdir)/macuvs.h): New rule.
 -      * macuvs.h: Use automatically-generated header.
 +      * nsterm.m (ns_init_events, ns_finish_events): New functions.
 +      (ns_read_socket, ns_select): Call ns_init_events, ns_finish_events.
 +
 +      * nsfns.m (ns_do_applescript): Surround executeAndReturnError
 +      with calls to ns_init_events, ns_finish_events (Bug#17424).
  
 -2014-05-25  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_in_display_line_to): Don't record wrap position
        if we are iterating over an object that generates glyphs for
        marginal areas.  (Bug#17585)
  
 -2014-05-24  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
  
        * xdisp.c (safe__call1, safe__eval): Now static.
  
 -2014-05-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (safe__call): Accept va_list argument instead of '...'.
        (safe_call, safe__call1): Construct a va_list argument for safe_call.
        (safe_call1): Call safe_call instead of safe__call directly.
  
 -2014-05-24  Ken Brown  <kbrown@cornell.edu>
 +2014-05-26  Ken Brown  <kbrown@cornell.edu>
  
        * w32term.c (x_delete_display) [CYGWIN]: Don't free
        dpyinfo->w32_id_name, to make sure it doesn't get freed more than
        once.  (Bug#17510)
  
 -2014-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * xdisp.c: Bind inhibit-quit during pre-redisplay-function.
        (safe__call, safe__call1, safe__eval): New functions.
        (prepare_menu_bars): Use it for pre-redisplay-function (bug#17577).
        (display_mode_element): Same for `:eval'.
  
 -2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix port to 32-bit AIX (Bug#17540).
        * unexaix.c (copy_text_and_data): Don't add text_scnptr to ptr
        twice.  _text already includes this offset.
        (unrelocate_symbols): Don't cast 64-bit integer to pointer.
  
 -2014-05-21  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_in_display_line_to): Avoid infinite recursion:
        when closest_pos is identical to to_charpos, don't recurse, since
        we already tried that, and failed.  (Bug#17539)
  
 -2014-05-20  Eli Zaretskii  <eliz@gnu.org>
 -
        * w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: If we are
        unwinding when frame's faces were not initialized yet, increment
        the frame's image-cache reference count before calling
        x_free_frame_resources.  Don't dereference
        dpyinfo->terminal->image_cache if it is NULL.  (Bug#17524)
  
 -2014-05-11  Glenn Morris  <rgm@gnu.org>
 +2014-05-25  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsfont.m (nsfont_draw): Simplify as arguments are adjusted in
 +      nsterm.m now.
 +
 +      * nsterm.m (ns_draw_glyph_string): Move isComposite and end from
 +      macfont.m, call draw with adjusted arguments so font drivers
 +      don't need to do that.
 +
 +      * macfont.m (macfont_draw): Merge changes from Macport.
 +
 +2014-05-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * alloc.c (garbage_collect_1): New function, with all of the guts
 +      of Fgarbage_collect.
 +      (mark_stack): Accept an argument END and don't mark Lisp objects
 +      on the stack beyond the address given by END.  Calculation of END
 +      was moved to Fgarbage_collect.
 +      (Fgarbage_collect): Calculate the end address of the stack portion
 +      that needs to be examined by mark_stack, and pass that address to
 +      garbage_collect_1, which will pass it to mark_stack.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00270.html
 +      for more details about the underlying problems.  In particular,
 +      this avoids dumping Emacs with the large hash-table whose value is
 +      held in purify-flag for most of the time loadup.el runs.
 +
 +2014-05-24  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xfns.c (x_window_property_intern): New function (code from
 +      x_window_property).
 +      (Fx_window_property): Call x_window_property_intern.  If property
 +      not found and NILP (source) and outer window != inner window,
 +      check outer window for property (Bug#17537).
 +
 +2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Supply malloc and alloc_size attributes for extern allocators.
 +      This documents the C API, and helps GCC generate a bit better code.
 +      * conf_post.h (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE)
 +      (ATTRIBUTE_MALLOC_SIZE): New macros.
 +      * gmalloc.c (malloc, realloc, calloc):
 +      * gtkutil.h (malloc_widget_value):
 +      * lisp.h (ralloc, r_re_alloc, xmalloc, xzalloc, xrealloc, xnmalloc)
 +      (xnrealloc, xstrdup, xlispstrdup, record_xmalloc):
 +      Use them.
 +
 +2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't assume that ImageMagick uses a 16-bit quantum (Bug#17519).
 +      * image.c (imagemagick_load_image): Port to hosts that do not use
 +      a 16-bit quantum, i.e., QuantumRange does not equal 65535.
 +
 +2014-05-21  Leo Liu  <sdl.web@gmail.com>
 +
 +      * fns.c (Fnreverse): Accept strings for SEQ and update doc-string.
 +
 +2014-05-20  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * dbusbind.c (xd_signature): Revert last 2 patches.
 +
 +2014-05-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Allow any non-nil value to count as true in bool-vector.
 +      Likewise for xd_signature in dbusbind.c.
 +      This is more consistent with the usual practice in Emacs, which is
 +      that any non-nil value counts as true.
 +      * alloc.c (Fbool_vector): Don't require args to be t or nil.
 +      * dbusbind.c (xd_signature): Likewise, for booleans.
 +      * data.c, lisp.h (Qbooleanp):
 +      * lisp.h (CHECK_BOOLEAN): Remove.  All uses removed.
 +
 +2014-05-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * lisp.h (CHECK_BOOLEAN): New function.
 +      * alloc.c (Fbool_vector): New function.
 +      (syms_of_alloc): Defsubr it.
 +      * data.c (Qbooleanp): New symbol.
 +      (syms_of_data): DEFSYM it.
 +      * dbusbind.c (xd_signature): Use CHECK_BOOLEAN.
 +
 +      * font.c (font_matching_entity): Extract font-entity object
 +      from the vector of matching entities (Bug#17486).
 +
 +2014-05-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Assume C99 or later (Bug#17487).
 +      * bytecode.c (B__dummy__): Remove.
 +      * conf_post.h (bool_bf) [!NS_IMPL_GNUSTEP]: Use bool.
 +      (FLEXIBLE_ARRAY_MEMBER): Now always empty.
 +      * dbusbind.c (XD_DEBUG_MESSAGE) [!DBUS_DEBUG]:
 +      * regex.c (DEBUG_PRINT): Assume varargs macros.
 +      * lisp.h (DEFUN_FUNCTION_INIT): Remove.  All uses now assume C99.
 +
 +2014-05-17  Fabrice Popineau  <fabrice.popineau@gmail.com>
 +
 +      * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Always map new
 +      memory for every buffer that was dumped.
 +
 +2014-05-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * fns.c (Freverse): Allow vectors, bool vectors and strings.
 +      (Fnreverse): Allow vectors and bool vectors.
 +
 +2014-05-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Minor cleanup for terminal setup.
 +      * termhooks.h (create_terminal): Adjust prototype.
 +      * terminal.c (create_terminal): Pass output method and RIF as args.
 +      (init_initial_terminal):
 +      * nsterm.m (ns_create_terminal):
 +      * term.c (init_tty):
 +      * w32term.c (w32_create_terminal):
 +      * xterm.c (x_create_terminal): Adjust users.
 +      Avoid redundant NULL initializers and add comments.
 +
 +2014-05-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * keyboard.c (Qdeactivate_mark): Now static.
 +
 +2014-05-13  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      If available, use Xfixes extension to do pointer blanking.
 +      * Makefile.in (XFIXES_CFLAGS, XFIXES_LIBS): New var.
 +      * xfns.c (x_set_mouse_color): Do not call make_invisible_cursor here.
 +      (make_invisible_cursor): Move to...
 +      * xterm.c (make_invisible_cursor): ...here.
 +      (x_probe_xfixes_extension, xfixes_toggle_visible_pointer)
 +      (x_toggle_visible_pointer, x_setup_pointer_blanking): New functions.
 +      (x_term_init): Call to x_setup_pointer_blanking.
 +      (XTtoggle_invisible_pointer): Use blanking specific to this display.
 +      * xterm.h (struct x_display_info): New member toggle_visible_pointer.
 +
 +2014-05-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +
 +      * xdisp.c (draw_glyphs): Set clipping to highlight boundaries.
 +
 +2014-05-12  Glenn Morris  <rgm@gnu.org>
  
        * fileio.c (Ffile_executable_p): Doc tweak.
  
 -2014-05-10  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-05-12  Jan Djärv  <jan.h.d@swipnet.se>
  
        * xsettings.c (init_gsettings): Use g_settings_schema_source_lookup
        instead of deprecated g_settings_list_schemas if possible (Bug#17434).
  
 -2014-05-07  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-08  Paul Eggert  <eggert@cs.ucla.edu>
  
        * minibuf.c (read_minibuf): Avoid C99ism in previous patch (Bug#17430).
  
 -2014-05-07  Jarek Czekalski  <jarekczek@poczta.onet.pl>
 +2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
  
        Fix initialization of minibuffer history variable (Bug#17430).
        * minibuf.c (read_minibuf): Initialize histval to Qnil if unbound.
        Move the initialization up to prevent any "value void" message.
  
 -2014-05-06  Samuel Bronson  <naesten@gmail.com>
 +2014-05-08  Samuel Bronson  <naesten@gmail.com>
  
        * keyboard.c (Frecursive_edit): Ensure inc&dec of command_loop_level
        are matched (bug#17413).
  
 -2014-05-06  Jarek Czekalski  <jarekczek@poczta.onet.pl>
 +2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
  
        Stop tooltips pulling Emacs window to front (Bug#17408).
        * w32fns.c (Fx_show_tip): Add SWP_NOOWNERZORDER flag to
        SetWindowPos invocations.
  
 -2014-05-05  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-05-08  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsselect.m (Fx_selection_exists_p): Just return Qnil if window system
        not initialized (Bug#17398).
  
 +2014-05-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * image.c: Include <png.h> before <setjmp.h> (Bug#17429).
 +
 +2014-05-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * image.c: Do not use libpng if HAVE_NS, as NS does its own thing.
 +      [HAVE_NS]: Do not include png.h.
 +      (x_query_frame_background_color): New function.
 +      (png_load_body, imagemagick_load_image, svg_load_image): Use it.
 +      (png_load_body): Coalesce duplicate code.
 +
  2014-05-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      Revert recent libpng changes (Bug#17339).
 -      * Makefile.in (PNG_CFLAGS): Remove; all uses removed.
 -      * image.c [HAVE_LIBPNG_PNG_H]: Include <libpng/png.h>, not <png.h>.
 +      Consult libpng-config more consistently (Bug#17339).
 +      * Makefile.in (PNG_CFLAGS): New var.
 +      (ALL_CFLAGS): Use it.
 +      * image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
 +      CFLAGS now handles this.
  
  2014-05-03  Paul Eggert  <eggert@cs.ucla.edu>
  
  
        * buffer.c (overlay_strings): Fix the wording of the commentary.
  
 -2014-05-02  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      Consult libpng-config more consistently (Bug#17339).
 -      * Makefile.in (PNG_CFLAGS): New var.
 -      (ALL_CFLAGS): Use it.
 -      * image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
 -      CFLAGS now handles this.
 -
  2014-05-01  Glenn Morris  <rgm@gnu.org>
  
        * floatfns.c (Fisnan):
        GCC 4.9.0 warned about this, and I couldn't easily prove to my own
        satisfaction that they would always be initialized.
  
 -2014-04-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-30  Eli Zaretskii  <eliz@gnu.org>
  
        * term.c (tty_menu_display): Move the cursor to the active menu item.
        (tty_menu_activate): Return the cursor to the active menu item
        for the details of why this is needed by screen readers and
        Braille displays.
  
 -2014-04-29  Glenn Morris  <rgm@gnu.org>
 +2014-04-30  Glenn Morris  <rgm@gnu.org>
  
        * process.c (handle_child_signal):
        Handle systems without WCONTINUED.  (Bug#15110, 17339)
  
 -2014-04-23  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.c (struct saved_window): Remove mark.
 +      (Fset_window_configuration, save_window_save)
 +      (compare_window_configurations): Don't touch marks any more.
 +
 +2014-04-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use bits_word for gcmarkbits.
 +      * alloc.c (struct cons_block, struct float_block): On 64-bit hosts,
 +      bits_word is typically a tad more efficient for mark bits than
 +      unsigned is, so use bits_word.  All uses changed.
 +      * lisp.h (BITS_PER_INT): Remove; no longer used.
 +
 +      Avoid undefined behavior in signed left shift.
 +      This ports to GCC 4.9.0 with -fsanitize=undefined.
 +      * alloc.c (bool_vector_fill, SETMARKBIT, UNSETMARKBIT):
 +      * data.c (Fash):
 +      * regex.c (extract_number):
 +      * lisp.h (make_number, XINT):
 +      Do not shift a 1 bit left into a sign bit.
 +      * alloc.c (struct cons_block, struct float_block): Use unsigned,
 +      not int, for gcmarkbits.  All uses changed.
 +
 +2014-04-25  Eli Zaretskii  <eliz@gnu.org>
  
        * search.c (Fnewline_cache_check): Don't try to count newlines
        outside the buffer's restriction, as find_newline doesn't support that.
  
 +2014-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.c (Fset_window_configuration): Deactivate the mark before
 +      unsetting the mark.
 +      (set_window_buffer): Ignore window_initialized.
 +      (window_initialized): Remove.
 +      * keyboard.c (Qdeactivate_mark): Not static any more.
 +      * buffer.c (buffer_local_value): Rename from buffer_local_value_1.
 +      Update all callers.
 +
 +2014-04-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * conf_post.h (ADDRESS_SANITIZER_WORKAROUND): Port to GCC 4.9.0
 +      and to clang 3.4, which have fixed the bug.  This should let us
 +      run a bit faster on these platforms when address sanitization is
 +      in effect.
 +
  2014-04-22  Paul Eggert  <eggert@cs.ucla.edu>
  
        Port to GCC 4.9.0 with --enable-gcc-warnings.
        (Fnewline_cache_check): New function.
        (syms_of_search): Defsubr it.
  
 -2014-04-21  Jarek Czekalski  <jarekczek@poczta.onet.pl>
 +2014-04-22  Jarek Czekalski  <jarekczek@poczta.onet.pl>
  
        Fix freezing with scroll bars of GTK3 Toolkit (bug#15801).
        * keyboard.c (unblock_input): Add comment.
        * xgselect.c (xg_select): Prevent Glib main loop recursion.
  
 +2014-04-22  Daniel Colascione  <dancol@dancol.org>
 +
 +      * lread.c (readevalloop_eager_expand_eval): New function
 +      that can recurse into toplevel forms.
 +      (readevalloop): Call it.
 +      * lisp.h: Declare Qprogn.
 +      * callint.c (Qprogn): No longer static.
 +
  2014-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * intervals.c (rotate_right, rotate_left): Fix up length computation.
        Also change identifiers to match the comments, and add more assertions
        (bug#16234).
  
 -2014-04-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (insert_left_trunc_glyphs): Ensure the left truncation
 -      glyph is written to TEXT_AREA of the temporary glyph_row.
 -      (Bug#17288)
 -
  2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
  
        * emacs.c (close_output_streams): Don't clear and restore errno.
  
 -2014-04-17  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-04-18  Jan Djärv  <jan.h.d@swipnet.se>
  
        * xterm.c (x_make_frame_visible): Prevent endless loop when frame
        never becomes visible, i.e. using XMonad  (Bug#17237).
  
 -2014-04-17  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xdisp.c (Fline_pixel_height): Don't assume that the current
 -      buffer and the selected window's buffer are one and the same.
 -      (Bug#17281)
 +      * xdisp.c (insert_left_trunc_glyphs): Ensure the left truncation
 +      glyph is written to TEXT_AREA of the temporary glyph_row.  (Bug#17288)
 +      (Fline_pixel_height): Don't assume that the current buffer and the
 +      selected window's buffer are one and the same.  (Bug#17281)
  
        * insdel.c (invalidate_buffer_caches): Invalidate the bidi
        paragraph-start cache before the newline cache.  (Bug#17269)
  
 +2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * term.c (tty_send_additional_strings): No need to fflush here,
 +      as callers fflush.
 +      (tty_set_terminal_modes): fflush after sending additional strings,
 +      not before.
 +
 +2014-04-17  Daniel Colascione  <dancol@dancol.org>
 +
 +      * term.c (Qtty_mode_set_strings, Qtty_mode_reset_strings):
 +      New symbols.
 +      (tty_send_additional_strings): New function.
 +      (tty_set_terminal_modes, tty_reset_terminal_modes): Use it.
 +      (syms_of_term): Intern tty-mode-set-strings and
 +      tty-mode-reset-strings.
 +
  2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * window.c (save_window_save): Lookup window_point_insertion_type in
        Move vfork-related portions under #ifndef MSDOS.
        (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.
  
 -2014-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * buffer.c (Foverlays_at): Add argument `sorted'.
  
 -2014-04-14  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-16  Eli Zaretskii  <eliz@gnu.org>
  
        * insdel.c (invalidate_buffer_caches): When deleting or replacing
        text, invalidate the bidi_paragraph_cache upto and including the
        preceding newline.
  
 -2014-04-13  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
  
        Port to IRIX 6.5 (Bug#9684).
 -      * alloc.c (TAGGABLE_NULL): New constant,
 -      for porting to hosts with nontrivial DATA_SEG_BITS settings.
 -      (next_vector, set_next_vector): Use it.
        * conf_post.h (INET6) [IRIX6_5]: Define.
        (HAVE_GETADDRINFO) [IRIX6_5]: Undef.
        * data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
 -      * lisp.h (lisp_h_XPNTR): Don't OR in bits that aren't masked out,
 -      for consistency with how TAGGABLE_NULL is computed.
  
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-16  Eli Zaretskii  <eliz@gnu.org>
  
        * keyboard.c (Fopen_dribble_file): Encode the dribble file-name
        before passing it to system APIs.
  
 -      * puresize.h (BASE_PURESIZE): Bump by 1K.  (Bug#17255)
 -
 -2014-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * bytecode.c (exec_byte_code): Rework the volatiles.  Most importantly,
        make sure stack.byte_string_start is not de-adjusted by pushhandler.
  
 -2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
  
        * keyboard.c (Fopen_dribble_file): Avoid some races.  (Bug#17187)
  
 +2014-04-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove DATA_SEG_BITS.
 +      The DATA_SEG_BITS hack was needed for older 32 bit platforms.
 +      As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
 +      cc, but that platform is so old that SGI itself stopped supporting
 +      it in December 2013.  If you still need Emacs on IRIX, please
 +      either compile with GCC and port the undumping code, or run
 +      './configure --with-wide-int'.
 +      * alloc.c (gdb_make_enums_visible): Update to match lisp.h.
 +      * lisp.h (GCTYPEBITS): Move definition up, and switch to the
 +      DEFINE_GDB_SYMBOL_START way to define it.
 +      (NONPOINTER_BITS): New macro.
 +      (EMACS_INT): Use it.
 +      [!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
 +      the problem and/or configuring --with-wide-int.
 +      (USE_LSB_TAG): Simplify, based on above changes.
 +      (gdb_DATA_SEG_BITS): Remove.  All uses removed.
 +      * vm-limit.c (exceeds_lisp_ptr): Remove.  All uses removed.
 +
  2014-04-12  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_by_lines): If a large portion of buffer text is
        * indent.c (Fvertical_motion): Handle correctly the case when the
        display string is preceded by an empty line.
  
 -2014-04-11  Eli Zaretskii  <eliz@gnu.org>
 -
        * w32.c (sys_umask) <WRITE_USER>: Remove redundant constant, and
        use S_IWRITE instead.
  
  
        * keyboard.c (Fopen_dribble_file): Make file private.  (Bug#17187)
  
 -2014-04-09  Ken Brown  <kbrown@cornell.edu>
 +2014-04-11  Ken Brown  <kbrown@cornell.edu>
  
        * Makefile.in (EMACS_MANIFEST): Revert last change.
  
 +2014-04-10  Daniel Colascione  <dancol@dancol.org>
 +
 +      * puresize.h (BASE_PURESIZE): Increase.
 +
 +2014-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keyboard.c (syms_of_keyboard): Make deactivate-mark buffer-local.
 +
 +      * insdel.c (prepare_to_modify_buffer_1): Cancel lock-file checks and
 +      region handling (and don't call signal_before_change) if
 +      inhibit_modification_hooks is set.
 +      (signal_before_change): Don't check inhibit_modification_hooks any more.
 +
 +2014-04-08  Daniel Colascione  <dancol@dancol.org>
 +
 +      * alloc.c (sweep_symbols, mark_object): Assert that symbol
 +      function cells contain valid lisp objects.  (Modified version of
 +      patch from Dmitry).
 +
 +      * alloc.c (detect_suspicious_free): Split actual stack capturing
 +      out into new function for easier breakpoint setting.
 +      (note_suspicious_free): New function.
 +
  2014-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * lisp.h (struct Lisp_Symbol): New bitfield `pinned'.
        (Fgarbage_collect): Use it.
        (gc_sweep): Remove hack made unnecessary.
  
 -2014-04-05  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * keyboard.c (Fopen_dribble_file): Doc tweak.
  
 -2014-04-04  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      Backport from trunk.
 -      * nsterm.m (updateFrameSize:): If waiting for the tool bar and tool
 -      bar is zero height, just return (Bug#16976).
 -      (initFrameFromEmacs:): Initialize wait_for_tool_bar.
 -      * nsterm.h (EmacsView): Add wait_for_tool_bar.
 -      * nsmenu.m (update_frame_tool_bar): Return early if view or toolbar
 -      is nil.  If waiting for toolbar to complete, force a redraw.
 -      (free_frame_tool_bar): Set wait_for_tool_bar = NO (Bug#16976).
 -
 -2014-04-03  Ken Brown  <kbrown@cornell.edu>
 +2014-04-07  Ken Brown  <kbrown@cornell.edu>
  
        * Makefile.in (EMACS_MANIFEST): Update comment.  (Bug#17176)
  
 +2014-04-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c: Simplify by removing use of HAVE_EXECINFO_H.
 +      We have a substitute execinfo.h on hosts that lack it.
 +      (suspicious_free_history): Make it EXTERNALLY_VISIBLE so it
 +      isn't optimized away.
 +
 +2014-04-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Prefer 'ARRAYELTS (x)' to 'sizeof x / sizeof *x'.
 +      * alloc.c (memory_full):
 +      * charset.c (syms_of_charset):
 +      * doc.c (Fsnarf_documentation):
 +      * emacs.c (main):
 +      * font.c (BUILD_STYLE_TABLE):
 +      * keyboard.c (make_lispy_event):
 +      * profiler.c (setup_cpu_timer):
 +      * xgselect.c (xg_select):
 +      * xterm.c (record_event, STORE_KEYSYM_FOR_DEBUG):
 +      Use ARRAYELTS.
 +      * font.c (FONT_PROPERTY_TABLE_SIZE): Remove.
 +      Replace the only use with ARRAYELTS (font_property_table).
 +      * xfaces.c (DIM): Remove.  All uses replaced by ARRAYELTS.
 +
 +2014-04-03  Daniel Colascione  <dancol@dancol.org>
 +
 +      * xterm.c (x_term_init):
 +      * xfns.c (best_xim_style):
 +      * xfaces.c (Fdump_colors):
 +      * w32fns.c (w32_default_color_map):
 +      * w32.c (init_environment, N_ENV_VARS):
 +      * unexcw.c (read_exe_header):
 +      * term.c (term_get_fkeys_1):
 +      * sysdep.c (init_baud_rate):
 +      * nsterm.m (ns_convert_key):
 +      * nsfns.m (get_geometry_from_preferences):
 +      * msdos.c (dos_set_window_size, init_environment):
 +      * macfont.m (mac_font_get_glyph_for_cid)
 +      (macfont_store_descriptor_attributes)
 +      (macfont_create_attributes_with_spec, mac_ctfont_get_glyph_for_cid):
 +      * keyboard.c (command_loop_1, read_menu_command, make_lispy_event)
 +      (NUM_MOD_NAMES, read_key_sequence_vs, Fcurrent_input_mode)
 +      (syms_of_keyboard):
 +      * image.c (xpm_str_to_color_key):
 +      * fringe.c (MAX_STANDARD_FRINGE_BITMAPS):
 +      * frame.c (x_set_frame_parameters):
 +      * fileio.c (Ffile_selinux_context):
 +      * emacs.c (sort_args):
 +      * dosfns.c (msdos_stdcolor_name):
 +      * dired.c (file_attributes):
 +      * chartab.c (uniprop_decoder_count, uniprop_encode_count):
 +      Change expressions of the form sizeof(arr) / sizeof(arr[0])
 +      to ARRAYELTS (arr).
 +
 +2014-04-02  Daniel Colascione  <dancol@dancol.org>
 +
 +      * data.c (Ffset): Abort if we're trying to set a function call to
 +      a dead lisp object.
 +
 +      * lisp.h (ARRAYELTS): New macro.
 +
 +      * alloc.c: Include execinfo.h if available.
 +      (SUSPICIOUS_OBJECT_CHECKING): New macro; define unconditionally.
 +      (suspicious_free_record): New structure.
 +      (suspicious_objects, suspicious_object_index)
 +      (suspicious_free_history, suspicious_free_history_index):
 +      New variables.
 +      (find_suspicious_object_in_range, detect_suspicious_free)
 +      (Fsuspicious_object): New functions.
 +      (cleanup_vector): Call find_suspicious_object_in_range.
 +
  2014-04-02  Martin Rudalics  <rudalics@gmx.at>
  
        * xterm.c (x_new_font): Don't calculate non-toolkit scrollbar
        width from font width (Bug#17163).
  
 -2014-03-30  Martin Rudalics  <rudalics@gmx.at>
 -
        * frame.c (x_set_frame_parameters): Calculate default values of
        new frame sizes only after all other frame parameters have been
        processed (Bug#17142).
  
 -2014-03-28  Ken Brown  <kbrown@cornell.edu>
 +2014-04-02  Ken Brown  <kbrown@cornell.edu>
  
        * conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Set to 10000.
        (Bug#17112)
  
 -2014-03-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2014-04-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
        * xterm.c (x_draw_image_glyph_string): Adjust image background
        width accordingly when its x position is adjusted.  (Bug#17115)
  
 +2014-04-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * font.c (font_list_entities): Do not add empty vector to font cache.
 +      (font_matching_entity): Likewise.  If matching entity is found, insert
 +      1-item vector with this entity instead of entity itself (Bug#17125).
 +
 +      * xterm.c (x_term_init) [USE_LUCID]: Fix minor memory leak.
 +
 +2014-04-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * fns.c (validate_subarray): Rename from validate_substring,
 +      since it works for vectors too.  New arg ARRAY.  Optimize for the
 +      non-nil case.  Instead of returning bool, throw an error if out of
 +      range, so that the caller needn't do that.  All uses changed.
 +      Report original values if out of range.
 +      (Fsubstring, Fsubstring_no_properties, secure_hash):
 +      Also optimize the case where FROM is 0 or TO is the size.
 +
 +2014-03-31  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * search.c (Freplace_match): Use make_specified_string.
 +      * xterm.c, w32term.c (x_set_glyph_string_gc): Use emacs_abort
 +      to catch bogus override face of glyph strings.
 +      * fns.c (Fsubstring, Fsubstring_no_properties, secure_hash):
 +      Move common substring range checking code to...
 +      (validate_substring): ...this function.
 +
 +2014-03-31  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsmenu.m (free_frame_tool_bar): Set wait_for_tool_bar = NO (Bug#16976)
 +
 +2014-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (updateFrameSize:): If waiting for the tool bar and tool
 +      bar is zero height, just return (Bug#16976).
 +      (initFrameFromEmacs:): Initialize wait_for_tool_bar.
 +
 +      * nsterm.h (EmacsView): Add wait_for_tool_bar.
 +
 +      * nsmenu.m (update_frame_tool_bar): Return early if view or toolbar
 +      is nil.  If waiting for toolbar to complete, force a redraw.
 +
 +2014-03-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs.c (emacs_version): Use PACKAGE_VERSION rather than VERSION.
 +      (emacs_bugreport): New variable.
 +      (usage_message): Use PACKAGE_BUGREPORT.
 +      (syms_of_emacs) <report-emacs-bug-address>: New variable.
 +
 +      * emacs.c (syms_of_emacs) <system-configuration-features>: New var.
 +
 +2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port recent signal-related changes to FreeBSD.
 +      Problem reported by Herbert J. Skuhra.
 +      * lisp.h (block_tty_out_signal, unblock_tty_out_signal):
 +      Move decls from here ...
 +      * syssignal.h: ... to here, so that lisp.h doesn't depend on signal.h.
 +
  2014-03-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
        * w32term.c (x_draw_image_glyph_string): Fix computation of height
        and width of image background when it is displayed with a 'box'
        face.  (Bug#17115)
  
 -2014-03-26  Paul Eggert  <eggert@penguin.cs.ucla.edu>
 +2014-03-27  Paul Eggert  <eggert@penguin.cs.ucla.edu>
  
        More backward-compatible fix to char-equal core dump (Bug#17011).
        * editfns.c (Fchar_equal): In unibyte buffers, assume values in
        range 128-255 are raw bytes.  Suggested by Eli Zaretskii.
  
 +2014-03-27  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * image.c (init_svg_functions): When loading SVG-related libraries,
 +      free already loaded libraries if the initialization fails.
 +      (rsvg_handle_set_size_callback): Remove declaration, unused.
 +
 +2014-03-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
        Fix core dump in char-equal (Bug#17011).
        * editfns.c (Fchar_equal): Do not use MAKE_CHAR_MULTIBYTE in
        unibyte buffers, as we can't tell whether the characters are
  
        * insdel.c (adjust_markers_for_delete): Remove unused local.
  
 -2014-03-24  Barry O'Reilly  <gundaetiapo@gmail.com>
 +2014-03-26  Barry O'Reilly  <gundaetiapo@gmail.com>
  
        Have (MARKER . ADJUSTMENT) undo records always be immediately
        after their corresponding (TEXT . POS) record in undo list.
        (record_point): at_boundary calculation no longer needs to account
        for marker adjustments.
  
 -2014-03-24  Martin Rudalics  <rudalics@gmx.at>
 +2014-03-26  Martin Rudalics  <rudalics@gmx.at>
  
        * w32term.c (x_set_window_size): Refine fix from 2014-03-14
        (Bug#17077).
  
 -2014-03-23  Glenn Morris  <rgm@gnu.org>
 +2014-03-26  Glenn Morris  <rgm@gnu.org>
  
        * fileio.c (Ffile_symlink_p): Doc fix. (Bug#17073)
  
 -2014-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * buffer.c (struct sortvec): Add field `spriority'.
        (compare_overlays): Use it.
        (sort_overlays): Set it.
  
 -2014-03-23  Eli Zaretskii  <eliz@gnu.org>
 +2014-03-26  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (redisplay_window): If all previous attempts to find the
        cursor row failed, try a few alternatives before falling back to
        the top-most row of the window.  Use row_containing_pos.  (Bug#17047)
  
 -2014-03-22  Daniel Colascione  <dancol@dancol.org>
 +2014-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * process.c (conv_sockaddr_to_lisp): When extracting the string
 -      names of AF_LOCAL sockets, stop before reading uninitialized
 -      memory.
 +      * image.c (x_bitmap_height, x_bitmap_width) [HAVE_X_WINDOWS]:
 +      * sysdep.c (reset_sigio) [!DOS_NT]: Declare conditionally.
 +
 +      * keyboard.c (read_decoded_event_from_main_queue): #ifdef out
 +      variables on Windows.
 +
 +      * w32fns.c (Ffile_system_info): Use parenthesis in and/or expression.
 +
 +      * w32.c (unsetenv): Remove unused var `retval'.
 +      (emacs_gnutls_pull): Remove unused vars `fdset' and `timeout'.
 +
 +      * w32notify.c (watch_worker): Remove unnecesary var sleep_result.
 +      (start_watching): Remove unused var `thr'.
 +
 +      * w32proc.c (sys_spawnve): Comment out unused vars `first', `last'.
 +      (find_child_console): Remove unnecesary var `thread_id'.
 +
 +      * w32term.c (w32_read_socket): Comment out unused vars `row', `columns'.
 +      (x_focus_frame): #ifdef 0 unused variable `dpyinfo'.
 +
 +2014-03-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * filelock.c (Flock_buffer): Doc tweak.
 +
 +      * buffer.c (Frestore_buffer_modified_p, Fkill_buffer):
 +      * emacs.c (shut_down_emacs):
 +      * fileio.c (Finsert_file_contents, write_region):
 +      * filelock.c (top-level, syms_of_filelock):
 +      * insdel.c (prepare_to_modify_buffer_1):
 +      CLASH_DETECTION is always defined now.
 +
 +2014-03-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32.c (w32_delayed_load): Call DisableThreadLibraryCalls on the
 +      DLL handle, to speed up thread startup.
 +
 +2014-03-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Handle sigmask better with nested signal handlers  (Bug#15561).
 +      * atimer.c (sigmask_atimers): Remove.
 +      Remaining use rewritten to use body of this function.
 +      * atimer.c (block_atimers, unblock_atimers):
 +      * callproc.c (block_child_signal, unblock_child_signal):
 +      * sysdep.c (block_tty_out_signal, unblock_tty_out_signal):
 +      New arg OLDSET.  All callers changed.
 +      * atimer.c (block_atimers, unblock_atimers):
 +      * callproc.c (block_child_signal, unblock_child_signal):
 +      * keyboard.c (handle_interrupt):
 +      * sound.c (vox_configure, vox_close):
 +      Restore the old signal mask rather than unilaterally clearing bits
 +      from the mask, in case a handler is running within another
 +      handler.  All callers changed.
 +      * lisp.h, process.c, process.h, term.c:
 +      Adjust decls and callers to match new API.
 +      * sysdep.c (emacs_sigaction_init): Don't worry about masking SIGFPE;
 +      signal handlers aren't supposed to use floating point anyway.
 +      (handle_arith_signal): Unblock just SIGFPE rather than clearing mask.
 +
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      Split gc_sweep into discrete functions for legibility and better
 +      stack traces.
 +
 +      * alloc.c (sweep_strings, sweep_vectors): Add NO_INLINE
 +      (sweep_vectors): Fix typo in comment.
 +      (sweep_conses, sweep_floats, sweep_intervals)
 +      (sweep_symbols, sweep_misc, sweep_buffers): New functions.
 +      (gc_sweep): Call new functions, to which existing functionality is
 +      moved.
 +      * fns.c (sweep_weak_hash_tables): Add NO_INLINE.
 +
 +2014-03-23  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * w32fns.c (Fw32_shell_execute): Declare `result' only on Cygwin.
 +
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      * xfns.c (create_frame_xic): Pass XNStatusAttributes to XCreateIC
 +      only if xic_style calls for it.  This change allows Emacs to work
 +      with ibus.  Also, don't leak resources if create_frame_xic fails,
 +      and stop caching xic_style across different displays.
 +      (supported_xim_styles): Make const.
 +      (best_xim_style): Remove first parameter: it's always just
 +      supported_xim_styles.  Change to look at supported_xim_styles
 +      directly.
 +
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      * term.c (init_tty): Rearrange condition for clarity; print
 +      appropriate diagnostic.
  
  2014-03-23  Daniel Colascione  <dancol@dancol.org>
  
        * process.c (DATAGRAM_CONN_P): Don't underflow datagram_address
        array.  (ASAN caught.)
  
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * callproc.c (init_callproc): In etc, look for NEWS rather than GNU.
 +
 +2014-03-22  Daniel Colascione  <dancol@dancol.org>
 +
 +      * process.c (conv_sockaddr_to_lisp): When extracting the string
 +      names of AF_LOCAL sockets, stop before reading uninitialized memory.
 +
  2014-03-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
        Fix regression introduced by patch for Bug#10500.
        constrain frame size in SW_SHOWMAXIMIZED case so we can truly
        maximize a frame for odd default fonts.
  
 +2014-03-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * minibuf.c (history-length): Increase default from 30 to 100.
 +
 +2014-03-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * xterm.c (x_bitmap_icon): Stop reading the icon bitmap from disk
 +      every time we switch to minibuffer.
 +
 +      * alloc.c (lisp_align_malloc, allocate_string_data)
 +      (allocate_vectorlike): Allow mmap allocation of lisp objects.
 +      (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): New functions.
 +
 +2014-03-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32fns.c (Fw32_shell_execute) [!CYGWIN]: Use ShellExecuteEx, to
 +      support more "verbs".
 +
 +2014-03-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      Always prohibit dumping a dumped Emacs.
 +
 +      * emacs.c (might_dump): New variable.
 +      (Fdump_emacs): Always prohibit dumping of dumped Emacs.
 +      * lisp.h (might_dump): Declare.
 +      * unexcw.c (unexec): Remove now-redundant multiple-dump detection code.
 +
  2014-03-20  Paul Eggert  <eggert@cs.ucla.edu>
  
        * doc.c (store_function_docstring): Fix pointer signedness mismatch.
        * doc.c (store_function_docstring): Warn when we don't know where to
        put a docstring.
        (Fsubstitute_command_keys): Don't advertise the fact that
 -      text-properties are dropped, since we think it's a bug that we'll fix
 -      in 24.5.
 +      text-properties are dropped, since we think it's a bug that we'll fix.
  
        * frame.h (SET_FRAME_VISIBLE): Keep frame_garbaged up to date.
        * xterm.c (handle_one_xevent) <MapNotify>: Don't garbage the frame.
        (imagemagick_get_animation_cache): Fix a double-free error.
        (imagemagick_load_image): Remove the ping_wand code, which only
        apparently saved time on invalid animated images, and slowed down
 -      everything else.  Optimise for the common case.
 +      everything else.  Optimize for the common case.
  
  2013-08-16  Xue Fuqiao  <xfq.free@gmail.com>
  
diff --combined src/nsterm.m
index 216678357e753708bae507298cd2bbf64f916398,605baff00b257083b2d5614ca283516b3517dc84..318f14acfc8f0242446bc3e1c25ad66a21e463b3
@@@ -54,7 -54,7 +54,7 @@@ GNUstep port and post-20 update by Adri
  
  #include "termhooks.h"
  #include "termchar.h"
 -
 +#include "menu.h"
  #include "window.h"
  #include "keyboard.h"
  #include "buffer.h"
  #endif
  
  #ifdef NS_IMPL_COCOA
 -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
  #include "macfont.h"
  #endif
 -#endif
  
  /* call tracing */
  #if 0
@@@ -227,7 -229,7 +227,7 @@@ static unsigned convert_ns_to_X_keysym[
  
  static Lisp_Object Qmodifier_value;
  Lisp_Object Qalt, Qcontrol, Qhyper, Qmeta, Qsuper;
 -extern Lisp_Object Qcursor_color, Qcursor_type, Qns, Qleft;
 +extern Lisp_Object Qcursor_color, Qcursor_type, Qns;
  
  static Lisp_Object QUTF8_STRING;
  static Lisp_Object Qcocoa, Qgnustep;
@@@ -281,11 -283,6 +281,11 @@@ static NSMutableArray *ns_pending_files
  static BOOL ns_do_open_file = NO;
  static BOOL ns_last_use_native_fullscreen;
  
 +/* Non-zero means that a HELP_EVENT has been generated since Emacs
 +   start.  */
 +
 +static BOOL any_help_event_p = NO;
 +
  static struct {
    struct input_event *q;
    int nr, cap;
@@@ -399,19 -396,6 +399,19 @@@ void x_set_frame_alpha (struct frame *f
  
     ========================================================================== */
  
 +void
 +ns_init_events (struct input_event* ev)
 +{
 +  EVENT_INIT (*ev);
 +  emacs_event = ev;
 +}
 +
 +void
 +ns_finish_events ()
 +{
 +  emacs_event = NULL;
 +}
 +
  static void
  hold_event (struct input_event *event)
  {
@@@ -704,6 -688,7 +704,6 @@@ static voi
  ns_update_auto_hide_menu_bar (void)
  {
  #ifdef NS_IMPL_COCOA
 -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
    block_input ();
  
    NSTRACE (ns_update_auto_hide_menu_bar);
  
    unblock_input ();
  #endif
 -#endif
  }
  
  
@@@ -1338,6 -1324,10 +1338,6 @@@ x_set_window_size (struct frame *f
  
    block_input ();
  
 -  check_frame_size (f, &width, &height, pixelwise);
 -
 -  compute_fringe_widths (f, 0);
 -
    if (pixelwise)
      {
        pixelwidth = FRAME_TEXT_TO_PIXEL_WIDTH (f, width);
    cancel_mouse_face (f);
  
    unblock_input ();
 +
 +  do_pending_window_change (0);
  }
  
  
@@@ -1811,12 -1799,12 +1811,12 @@@ x_set_frame_alpha (struct frame *f
  
  
  void
 -x_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y)
 +frame_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y)
  /* --------------------------------------------------------------------------
       Programmatically reposition mouse pointer in pixel coordinates
     -------------------------------------------------------------------------- */
  {
 -  NSTRACE (x_set_mouse_pixel_position);
 +  NSTRACE (frame_set_mouse_pixel_position);
    ns_raise_frame (f);
  #if 0
    /* FIXME: this does not work, and what about GNUstep? */
  #endif
  }
  
 -
 -void
 -x_set_mouse_position (struct frame *f, int h, int v)
 -/* --------------------------------------------------------------------------
 -     Programmatically reposition mouse pointer in character coordinates
 -   -------------------------------------------------------------------------- */
 -{
 -  int pix_x, pix_y;
 -
 -  pix_x = FRAME_COL_TO_PIXEL_X (f, h) + FRAME_COLUMN_WIDTH (f) / 2;
 -  pix_y = FRAME_LINE_TO_PIXEL_Y (f, v) + FRAME_LINE_HEIGHT (f) / 2;
 -
 -  if (pix_x < 0) pix_x = 0;
 -  if (pix_x > FRAME_PIXEL_WIDTH (f)) pix_x = FRAME_PIXEL_WIDTH (f);
 -
 -  if (pix_y < 0) pix_y = 0;
 -  if (pix_y > FRAME_PIXEL_HEIGHT (f)) pix_y = FRAME_PIXEL_HEIGHT (f);
 -
 -  x_set_mouse_pixel_position (f, pix_x, pix_y);
 -}
 -
 -
  static int
  note_mouse_movement (struct frame *frame, CGFloat x, CGFloat y)
  /*   ------------------------------------------------------------------------
@@@ -1916,7 -1926,7 +1916,7 @@@ ns_mouse_position (struct frame **fp, i
  /*fprintf (stderr, "ns_mouse_position: %.0f, %.0f\n", position.x, position.y); */
  
        if (bar_window) *bar_window = Qnil;
 -      if (part) *part = 0; /*scroll_bar_handle; */
 +      if (part) *part = scroll_bar_above_handle;
  
        if (x) XSETINT (*x, lrint (position.x));
        if (y) XSETINT (*y, lrint (position.y));
@@@ -1988,7 -1998,8 +1988,7 @@@ ns_convert_key (unsigned code
      Internal call used by NSView-keyDown.
     -------------------------------------------------------------------------- */
  {
 -  const unsigned last_keysym = (sizeof (convert_ns_to_X_keysym)
 -                                / sizeof (convert_ns_to_X_keysym[0]));
 +  const unsigned last_keysym = ARRAYELTS (convert_ns_to_X_keysym);
    unsigned keysym;
    /* An array would be faster, but less easy to read. */
    for (keysym = 0; keysym < last_keysym; keysym += 2)
@@@ -2295,6 -2306,52 +2295,6 @@@ ns_draw_fringe_bitmap (struct window *w
      {
        int bx = p->bx, by = p->by, nx = p->nx, ny = p->ny;
  
 -      /* If the fringe is adjacent to the left (right) scroll bar of a
 -       leftmost (rightmost, respectively) window, then extend its
 -       background to the gap between the fringe and the bar.  */
 -      if ((WINDOW_LEFTMOST_P (w)
 -         && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w))
 -        || (WINDOW_RIGHTMOST_P (w)
 -            && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)))
 -      {
 -        int sb_width = WINDOW_CONFIG_SCROLL_BAR_WIDTH (w);
 -
 -        if (sb_width > 0)
 -          {
 -            int bar_area_x = WINDOW_SCROLL_BAR_AREA_X (w);
 -            int bar_area_width = (WINDOW_CONFIG_SCROLL_BAR_COLS (w)
 -                                  * FRAME_COLUMN_WIDTH (f));
 -
 -            if (bx < 0)
 -              {
 -                /* Bitmap fills the fringe.  */
 -                if (bar_area_x + bar_area_width == p->x)
 -                  bx = bar_area_x + sb_width;
 -                else if (p->x + p->wd == bar_area_x)
 -                  bx = bar_area_x;
 -                if (bx >= 0)
 -                  {
 -                    int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w);
 -
 -                    nx = bar_area_width - sb_width;
 -                    by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height,
 -                                                          row->y));
 -                    ny = row->visible_height;
 -                  }
 -              }
 -            else
 -              {
 -                if (bar_area_x + bar_area_width == bx)
 -                  {
 -                    bx = bar_area_x + sb_width;
 -                    nx += bar_area_width - sb_width;
 -                  }
 -                else if (bx + nx == bar_area_x)
 -                  nx += bar_area_width - sb_width;
 -              }
 -          }
 -      }
 -
        if (bx >= 0 && nx > 0)
          {
            NSRect r = NSMakeRect (bx, by, nx, ny);
           to erase the whole background. */
        [ns_lookup_indexed_color(face->background, f) set];
        NSRectFill (r);
 -      [img setXBMColor: ns_lookup_indexed_color(face->foreground, f)];
 -#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
 +
 +      {
 +        NSColor *bm_color;
 +        if (!p->cursor_p)
 +          bm_color = ns_lookup_indexed_color(face->foreground, f);
 +        else if (p->overlay_p)
 +          bm_color = ns_lookup_indexed_color(face->background, f);
 +        else
 +          bm_color = f->output_data.ns->cursor_color;
 +        [img setXBMColor: bm_color];
 +      }
 +
 +#ifdef NS_IMPL_COCOA
        [img drawInRect: r
                fromRect: NSZeroRect
               operation: NSCompositeSourceOver
@@@ -2424,10 -2470,7 +2424,10 @@@ ns_draw_window_cursor (struct window *w
    else if (cursor_type == HBAR_CURSOR)
      {
        cursor_height = (cursor_width < 1) ? lrint (0.25 * h) : cursor_width;
 -      fy += h - cursor_height;
 +      if (cursor_height > glyph_row->height)
 +        cursor_height = glyph_row->height;
 +      if (h > cursor_height) // Cursor smaller than line height, move down
 +        fy += h - cursor_height;
        h = cursor_height;
      }
  
@@@ -2542,18 -2585,38 +2542,18 @@@ ns_draw_window_divider (struct window *
    ns_unfocus (f);
  }
  
 -
 -void
 -show_hourglass (struct atimer *timer)
 +static void
 +ns_show_hourglass (struct frame *f)
  {
 -  if (hourglass_shown_p)
 -    return;
 -
 -  block_input ();
 -
 -  /* TODO: add NSProgressIndicator to selected frame (see macfns.c) */
 -
 -  hourglass_shown_p = 1;
 -  unblock_input ();
 +  /* TODO: add NSProgressIndicator to all frames.  */
  }
  
 -
 -void
 -hide_hourglass (void)
 +static void
 +ns_hide_hourglass (struct frame *f)
  {
 -  if (!hourglass_shown_p)
 -    return;
 -
 -  block_input ();
 -
 -  /* TODO: remove NSProgressIndicator from all frames */
 -
 -  hourglass_shown_p = 0;
 -  unblock_input ();
 +  /* TODO: remove NSProgressIndicator from all frames.  */
  }
  
 -
 -
  /* ==========================================================================
  
      Glyph drawing operations
@@@ -3020,7 -3083,7 +3020,7 @@@ ns_dumpglyphs_image (struct glyph_strin
    /* Draw the image.. do we need to draw placeholder if img ==nil? */
    if (img != nil)
      {
 -#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
 +#ifdef NS_IMPL_COCOA
        NSRect dr = NSMakeRect (x, y, s->slice.width, s->slice.height);
        NSRect ir = NSMakeRect (s->slice.x, s->slice.y,
                                s->slice.width, s->slice.height);
@@@ -3279,16 -3342,10 +3279,16 @@@ ns_draw_glyph_string (struct glyph_stri
            NS_FACE_FOREGROUND (s->face) = tmp;
          }
  
 -      font->driver->draw
 -        (s, 0, s->nchars, s->x, s->y,
 -         (flags == NS_DUMPGLYPH_NORMAL && !s->background_filled_p)
 -         || flags == NS_DUMPGLYPH_MOUSEFACE);
 +      {
 +        BOOL isComposite = s->first_glyph->type == COMPOSITE_GLYPH;
 +        int end = isComposite ? s->cmp_to : s->nchars;
 +
 +        font->driver->draw
 +          (s, s->cmp_from, end, s->x, s->ybase,
 +           (flags == NS_DUMPGLYPH_NORMAL && !s->background_filled_p)
 +           || flags == NS_DUMPGLYPH_MOUSEFACE);
 +
 +      }
  
        {
          NSColor *col = (NS_FACE_FOREGROUND (s->face) != 0
@@@ -3432,8 -3489,9 +3432,8 @@@ check_native_fs (
  }
  #endif
  
 -/* GNUstep and OSX <= 10.4 does not have cancelTracking.  */
 -#if defined (NS_IMPL_COCOA) && \
 -  MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
 +/* GNUstep does not have cancelTracking.  */
 +#ifdef NS_IMPL_COCOA
  /* Check if menu open should be canceled or continued as normal.  */
  void
  ns_check_menu_open (NSMenu *menu)
@@@ -3496,16 -3554,7 +3496,16 @@@ ns_check_pending_open_menu (
        menu_will_open_state = MENU_OPENING;
      }
  }
 -#endif /* NS_IMPL_COCOA) && >= MAC_OS_X_VERSION_10_5 */
 +#endif /* NS_IMPL_COCOA */
 +
 +static void
 +unwind_apploopnr (Lisp_Object not_used)
 +{
 +  --apploopnr;
 +  n_emacs_events_pending = 0;
 +  ns_finish_events ();
 +  q_event_ptr = NULL;
 +}
  
  static int
  ns_read_socket (struct terminal *terminal, struct input_event *hold_quit)
  
    block_input ();
    n_emacs_events_pending = 0;
 -  EVENT_INIT (ev);
 -  emacs_event = &ev;
 +  ns_init_events (&ev);
    q_event_ptr = hold_quit;
  
    /* we manage autorelease pools by allocate/reallocate each time around
      }
    else
      {
 +      ptrdiff_t specpdl_count = SPECPDL_INDEX ();
        /* Run and wait for events.  We must always send one NX_APPDEFINED event
           to ourself, otherwise [NXApp run] will never exit.  */
        send_appdefined = YES;
          {
            emacs_abort ();
          }
 +      record_unwind_protect (unwind_apploopnr, Qt);
        [NSApp run];
 -      --apploopnr;
 +      unbind_to (specpdl_count, Qnil);  /* calls unwind_apploopnr */
      }
  
    nevents = n_emacs_events_pending;
    n_emacs_events_pending = 0;
 -  emacs_event = q_event_ptr = NULL;
 +  ns_finish_events ();
 +  q_event_ptr = NULL;
    unblock_input ();
  
    return nevents;
@@@ -3677,21 -3724,16 +3677,21 @@@ ns_select (int nfds, fd_set *readfds, f
        ns_send_appdefined (-1);
      }
  
 -  EVENT_INIT (event);
    block_input ();
 -  emacs_event = &event;
 +  ns_init_events (&event);
    if (++apploopnr != 1)
      {
        emacs_abort ();
      }
 -  [NSApp run];
 -  --apploopnr;
 -  emacs_event = NULL;
 +
 +  {
 +    ptrdiff_t specpdl_count = SPECPDL_INDEX ();
 +    record_unwind_protect (unwind_apploopnr, Qt);
 +    [NSApp run];
 +    unbind_to (specpdl_count, Qnil);  /* calls unwind_apploopnr */
 +  }
 +
 +  ns_finish_events ();
    if (nr > 0 && readfds)
      {
        c = 's';
@@@ -3756,9 -3798,11 +3756,10 @@@ ns_set_vertical_scroll_bar (struct wind
    NSRect r, v;
    struct frame *f = XFRAME (WINDOW_FRAME (window));
    EmacsView *view = FRAME_NS_VIEW (f);
 -  int window_y, window_height;
 -  int top, left, height, width, sb_width, sb_left;
    EmacsScroller *bar;
 -  BOOL fringe_extended_p;
 +  int window_y, window_height;
 +  int top, left, height, width;
+   BOOL update_p = YES;
  
    /* optimization; display engine sends WAY too many of these.. */
    if (!NILP (window->vertical_scroll_bar))
              }
            else
              view->scrollbarsNeedingUpdate--;
+           update_p = NO;
          }
      }
  
    width = WINDOW_CONFIG_SCROLL_BAR_COLS (window) * FRAME_COLUMN_WIDTH (f);
    left = WINDOW_SCROLL_BAR_AREA_X (window);
  
 -  /* allow for displaying a skinnier scrollbar than char area allotted */
 -  sb_width = (WINDOW_CONFIG_SCROLL_BAR_WIDTH (window) > 0) ?
 -    WINDOW_CONFIG_SCROLL_BAR_WIDTH (window) : width;
 -  sb_left = left;
 -
 -  r = NSMakeRect (sb_left, top, sb_width, height);
 +  r = NSMakeRect (left, top, width, height);
    /* the parent view is flipped, so we need to flip y value */
    v = [view frame];
    r.origin.y = (v.size.height - r.size.height - r.origin.y);
  
 -  fringe_extended_p = WINDOW_FRINGE_EXTENDED_P (window);
 -
    XSETWINDOW (win, window);
    block_input ();
  
            [bar removeFromSuperview];
            wset_vertical_scroll_bar (window, Qnil);
          }
 -      ns_clear_frame_area (f, sb_left, top, width, height);
 +      ns_clear_frame_area (f, left, top, width, height);
        unblock_input ();
        return;
      }
    if (NILP (window->vertical_scroll_bar))
      {
        if (width > 0 && height > 0)
 -      {
 -        if (fringe_extended_p)
 -          ns_clear_frame_area (f, sb_left, top, sb_width, height);
 -        else
 -          ns_clear_frame_area (f, left, top, width, height);
 -        }
 +      ns_clear_frame_area (f, left, top, width, height);
  
        bar = [[EmacsScroller alloc] initFrame: r window: win];
        wset_vertical_scroll_bar (window, make_save_ptr (bar));
+       update_p = YES;
      }
    else
      {
        if (FRAME_LIVE_P (f) && !NSEqualRects (oldRect, r))
          {
            if (oldRect.origin.x != r.origin.x)
 -              ns_clear_frame_area (f, sb_left, top, width, height);
 +              ns_clear_frame_area (f, left, top, width, height);
 +          [bar setFrame: r];
 +        }
 +    }
 +
 +  [bar setPosition: position portion: portion whole: whole];
 +  unblock_input ();
 +}
 +
 +
 +static void
 +ns_set_horizontal_scroll_bar (struct window *window,
 +                            int portion, int whole, int position)
 +/* --------------------------------------------------------------------------
 +      External (hook): Update or add scrollbar
 +   -------------------------------------------------------------------------- */
 +{
 +  Lisp_Object win;
 +  NSRect r, v;
 +  struct frame *f = XFRAME (WINDOW_FRAME (window));
 +  EmacsView *view = FRAME_NS_VIEW (f);
 +  EmacsScroller *bar;
 +  int top, height, left, width;
 +  int window_x, window_width;
 +  int pixel_width = WINDOW_PIXEL_WIDTH (window);
 +
 +  /* optimization; display engine sends WAY too many of these.. */
 +  if (!NILP (window->horizontal_scroll_bar))
 +    {
 +      bar = XNS_SCROLL_BAR (window->horizontal_scroll_bar);
 +      if ([bar checkSamePosition: position portion: portion whole: whole])
 +        {
 +          if (view->scrollbarsNeedingUpdate == 0)
 +            {
 +              if (!windows_or_buffers_changed)
 +                  return;
 +            }
 +          else
 +            view->scrollbarsNeedingUpdate--;
 +        }
 +    }
 +
 +  NSTRACE (ns_set_horizontal_scroll_bar);
 +
 +  /* Get dimensions.  */
 +  window_box (window, ANY_AREA, 0, &window_x, &window_width, 0);
 +  left = window_x;
 +  width = window_width;
 +  height = WINDOW_CONFIG_SCROLL_BAR_LINES (window) * FRAME_LINE_HEIGHT (f);
 +  top = WINDOW_SCROLL_BAR_AREA_Y (window);
 +
 +  r = NSMakeRect (left, top, width, height);
 +  /* the parent view is flipped, so we need to flip y value */
 +  v = [view frame];
 +  /* ??????? PXW/scrollbars !!!!!!!!!!!!!!!!!!!! */
 +  r.origin.y = (v.size.height - r.size.height - r.origin.y);
 +
 +  XSETWINDOW (win, window);
 +  block_input ();
 +
 +  if (WINDOW_TOTAL_COLS (window) < 5)
 +    {
 +      if (!NILP (window->horizontal_scroll_bar))
 +        {
 +          bar = XNS_SCROLL_BAR (window->horizontal_scroll_bar);
 +          [bar removeFromSuperview];
 +          wset_horizontal_scroll_bar (window, Qnil);
 +        }
 +      ns_clear_frame_area (f, left, top, width, height);
 +      unblock_input ();
 +      return;
 +    }
 +
 +  if (NILP (window->horizontal_scroll_bar))
 +    {
 +      if (width > 0 && height > 0)
 +      ns_clear_frame_area (f, left, top, width, height);
 +
 +      bar = [[EmacsScroller alloc] initFrame: r window: win];
 +      wset_horizontal_scroll_bar (window, make_save_ptr (bar));
 +    }
 +  else
 +    {
 +      NSRect oldRect;
 +      bar = XNS_SCROLL_BAR (window->horizontal_scroll_bar);
 +      oldRect = [bar frame];
 +      r.size.width = oldRect.size.width;
 +      if (FRAME_LIVE_P (f) && !NSEqualRects (oldRect, r))
 +        {
 +          if (oldRect.origin.x != r.origin.x)
 +              ns_clear_frame_area (f, left, top, width, height);
            [bar setFrame: r];
+           update_p = YES;
          }
      }
  
-   [bar setPosition: position portion: portion whole: whole];
+   if (update_p)
+     [bar setPosition: position portion: portion whole: whole];
    unblock_input ();
  }
  
@@@ -3960,12 -3930,6 +3965,12 @@@ ns_redeem_scroll_bar (struct window *wi
        bar = XNS_SCROLL_BAR (window->vertical_scroll_bar);
        [bar reprieve];
      }
 +
 +  if (!NILP (window->horizontal_scroll_bar))
 +    {
 +      bar = XNS_SCROLL_BAR (window->horizontal_scroll_bar);
 +      [bar reprieve];
 +    }
  }
  
  
@@@ -4141,9 -4105,7 +4146,9 @@@ static struct redisplay_interface ns_re
    ns_draw_window_cursor,
    ns_draw_vertical_window_border,
    ns_draw_window_divider,
 -  ns_shift_glyphs_for_insert
 +  ns_shift_glyphs_for_insert,
 +  ns_show_hourglass,
 +  ns_hide_hourglass
  };
  
  
@@@ -4183,30 -4145,38 +4188,30 @@@ ns_create_terminal (struct ns_display_i
  
    NSTRACE (ns_create_terminal);
  
 -  terminal = create_terminal ();
 +  terminal = create_terminal (output_ns, &ns_redisplay_interface);
  
 -  terminal->type = output_ns;
    terminal->display_info.ns = dpyinfo;
    dpyinfo->terminal = terminal;
  
 -  terminal->rif = &ns_redisplay_interface;
 -
    terminal->clear_frame_hook = ns_clear_frame;
 -  terminal->ins_del_lines_hook = 0; /* XXX vestigial? */
 -  terminal->delete_glyphs_hook = 0; /* XXX vestigial? */
    terminal->ring_bell_hook = ns_ring_bell;
 -  terminal->reset_terminal_modes_hook = NULL;
 -  terminal->set_terminal_modes_hook = NULL;
    terminal->update_begin_hook = ns_update_begin;
    terminal->update_end_hook = ns_update_end;
 -  terminal->set_terminal_window_hook = NULL; /* XXX vestigial? */
    terminal->read_socket_hook = ns_read_socket;
    terminal->frame_up_to_date_hook = ns_frame_up_to_date;
    terminal->mouse_position_hook = ns_mouse_position;
    terminal->frame_rehighlight_hook = ns_frame_rehighlight;
    terminal->frame_raise_lower_hook = ns_frame_raise_lower;
 -
    terminal->fullscreen_hook = ns_fullscreen_hook;
 -
 +  terminal->menu_show_hook = ns_menu_show;
 +  terminal->popup_dialog_hook = ns_popup_dialog;
    terminal->set_vertical_scroll_bar_hook = ns_set_vertical_scroll_bar;
    terminal->condemn_scroll_bars_hook = ns_condemn_scroll_bars;
    terminal->redeem_scroll_bar_hook = ns_redeem_scroll_bar;
    terminal->judge_scroll_bars_hook = ns_judge_scroll_bars;
 -
    terminal->delete_frame_hook = x_destroy_window;
    terminal->delete_terminal_hook = ns_delete_terminal;
 +  /* Other hooks are NULL by default.  */
  
    return terminal;
  }
@@@ -4511,27 -4481,27 +4516,27 @@@ ns_term_shutdown (int sig
          return;
        }
  
 -    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 +  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
  
 -    if (isFirst) [self finishLaunching];
 -    isFirst = NO;
 +  if (isFirst) [self finishLaunching];
 +  isFirst = NO;
  
 -    shouldKeepRunning = YES;
 -    do
 -      {
 -        [pool release];
 -        pool = [[NSAutoreleasePool alloc] init];
 -
 -        NSEvent *event =
 -          [self nextEventMatchingMask:NSAnyEventMask
 -                            untilDate:[NSDate distantFuture]
 -                               inMode:NSDefaultRunLoopMode
 -                              dequeue:YES];
 -        [self sendEvent:event];
 -        [self updateWindows];
 +  shouldKeepRunning = YES;
 +  do
 +    {
 +      [pool release];
 +      pool = [[NSAutoreleasePool alloc] init];
 +
 +      NSEvent *event =
 +        [self nextEventMatchingMask:NSAnyEventMask
 +                          untilDate:[NSDate distantFuture]
 +                             inMode:NSDefaultRunLoopMode
 +                            dequeue:YES];
 +      [self sendEvent:event];
 +      [self updateWindows];
      } while (shouldKeepRunning);
  
 -    [pool release];
 +  [pool release];
  }
  
  - (void)stop: (id)sender
  
    [self antialiasThresholdDidChange:nil];
  #ifdef NS_IMPL_COCOA
 -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
    [[NSNotificationCenter defaultCenter]
      addObserver:self
         selector:@selector(antialiasThresholdDidChange:)
           name:NSAntialiasThresholdChangedNotification
         object:nil];
 -#endif
  #endif
  
    ns_send_appdefined (-2);
  - (void)antialiasThresholdDidChange:(NSNotification *)notification
  {
  #ifdef NS_IMPL_COCOA
 -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
    macfont_update_antialias_threshold ();
  #endif
 -#endif
  }
  
  
@@@ -5056,11 -5030,11 +5061,11 @@@ not_in_argv (NSString *arg
    if (!emacs_event)
      return;
  
 -  if (EQ (font->driver->type, Qns))
 -    nsfont = ((struct nsfont_info *)font)->nsfont;
 -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
 -  else
 -    nsfont = (NSFont *) macfont_get_nsctfont (font);
 +#ifdef NS_IMPL_GNUSTEP
 +  nsfont = ((struct nsfont_info *)font)->nsfont;
 +#endif
 +#ifdef NS_IMPL_COCOA
 +  nsfont = (NSFont *) macfont_get_nsctfont (font);
  #endif
  
    if ((newFont = [sender convertFont: nsfont]))
    int code;
    unsigned fnKeysym = 0;
    static NSMutableArray *nsEvArray;
 -#if !defined (NS_IMPL_COCOA) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6
 +#ifdef NS_IMPL_GNUSTEP
    static BOOL firstTime = YES;
  #endif
    int left_is_none;
      }
  
  
 -#if !defined (NS_IMPL_COCOA) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6
 +#ifdef NS_IMPL_GNUSTEP
    /* if we get here we should send the key for input manager processing */
    /* Disable warning, there is nothing a user can do about it anyway, and
       it does not seem to matter.  */
        /* NOTE: help_echo_{window,pos,object} are set in xdisp.c
           (note_mouse_highlight), which is called through the
           note_mouse_movement () call above */
 +      any_help_event_p = YES;
        gen_help_event (help_echo_string, frame, help_echo_window,
                        help_echo_object, help_echo_pos);
      }
 -  else
 -    {
 -      help_echo_string = Qnil;
 -      gen_help_event (Qnil, frame, Qnil, Qnil, 0);
 -    }
  
    if (emacsframe->mouse_moved && send_appdefined)
      ns_send_appdefined (-1);
      {
  #ifdef NS_IMPL_GNUSTEP
        // GNUstep does not always update the tool bar height.  Force it.
 -      if (toolbar) update_frame_tool_bar (emacsframe);
 +      if (toolbar && [toolbar isVisible])
 +          update_frame_tool_bar (emacsframe);
  #endif
  
        extra = FRAME_NS_TITLEBAR_HEIGHT (emacsframe)
@@@ -6024,14 -6001,6 +6029,14 @@@ if (cols > 0 && rows > 0
        x_set_frame_alpha (emacsframe);
      }
  
 +  if (any_help_event_p)
 +    {
 +      Lisp_Object frame;
 +      XSETFRAME (frame, emacsframe);
 +      help_echo_string = Qnil;
 +      gen_help_event (Qnil, frame, Qnil, Qnil, 0);
 +    }
 +
    if (emacs_event && is_focus_frame)
      {
        [self deleteWorkingText];
        /* Hide dock and menubar if we are on the primary screen.  */
        if (onFirstScreen)
          {
 -#if defined (NS_IMPL_COCOA) && \
 -  MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
 +#ifdef NS_IMPL_COCOA
            NSApplicationPresentationOptions options
              = NSApplicationPresentationAutoHideDock
              | NSApplicationPresentationAutoHideMenuBar;
        [fw makeFirstResponder:self];
        [w orderOut:self];
        r = [fw frameRectForContentRect:[screen frame]];
 -      [fw setFrame: r display:YES animate:YES];
 +      [fw setFrame: r display:YES animate:ns_use_fullscreen_animation];
        [self windowDidEnterFullScreen:nil];
        [fw display];
      }
  
        if (onFirstScreen)
          {
 -#if defined (NS_IMPL_COCOA) && \
 -  MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
 +#ifdef NS_IMPL_COCOA
            [NSApp setPresentationOptions: NSApplicationPresentationDefault];
  #else
            [NSMenu setMenuBarVisible:YES];
          FRAME_TOOLBAR_HEIGHT (f) = tobar_height;
  
        [self windowWillExitFullScreen:nil];
 -      [fw setFrame: [w frame] display:YES animate:YES];
 +      [fw setFrame: [w frame] display:YES animate:ns_use_fullscreen_animation];
        [fw close];
        [w makeKeyAndOrderFront:NSApp];
        [self windowDidExitFullScreen:nil];
      }
    else
      {
 -      error ("Invalid data type in dragging pasteboard");
 +      fprintf (stderr, "Invalid data type in dragging pasteboard");
        return NO;
      }
  }
  #endif
  #endif
  
 -  for (i = 0; i < nr_screens; ++i) 
 +  for (i = 0; i < nr_screens; ++i)
      {
        NSScreen *s = [screens objectAtIndex: i];
        NSRect scrrect = [s frame];
  
    if (nr_eff_screens == 1)
      return [super constrainFrameRect:frameRect toScreen:screen];
 -  
 +
    /* The default implementation does two things 1) ensure that the top
       of the rectangle is below the menu bar (or below the top of the
       screen) and 2) resizes windows larger than the screen. As we
  
    if (portion >= whole)
      {
 -#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
 +#ifdef NS_IMPL_COCOA
        [self setKnobProportion: 1.0];
        [self setDoubleValue: 1.0];
  #else
        portion = max ((float)whole*min_portion/pixel_height, portion);
        pos = (float)position / (whole - portion);
        por = (CGFloat)portion/whole;
 -#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
 +#ifdef NS_IMPL_COCOA
        [self setKnobProportion: por];
        [self setDoubleValue: pos];
  #else
        [scroll_repeat_entry release];
        scroll_repeat_entry = nil;
      }
 -  last_hit_part = 0;
 +  last_hit_part = scroll_bar_above_handle;
  }
  
  
@@@ -7543,6 -7514,8 +7548,6 @@@ x_new_font (struct frame *f, Lisp_Objec
    FRAME_COLUMN_WIDTH (f) = font->average_width;
    FRAME_LINE_HEIGHT (f) = font->height;
  
 -  compute_fringe_widths (f, 1);
 -
    /* Compute the scroll bar width in character columns.  */
    if (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) > 0)
      {
        FRAME_CONFIG_SCROLL_BAR_COLS (f) = (14 + wid - 1) / wid;
      }
  
 +  /* Compute the scroll bar height in character lines.  */
 +  if (FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) > 0)
 +    {
 +      int height = FRAME_LINE_HEIGHT (f);
 +      FRAME_CONFIG_SCROLL_BAR_LINES (f)
 +      = (FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) + height - 1) / height;
 +    }
 +  else
 +    {
 +      int height = FRAME_LINE_HEIGHT (f);
 +      FRAME_CONFIG_SCROLL_BAR_LINES (f) = (14 + height - 1) / height;
 +    }
 +
    /* Now make the frame display the given font.  */
    if (FRAME_NS_WINDOW (f) != 0 && ! [view isFullscreen])
      x_set_window_size (f, 0, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
@@@ -7754,12 -7714,6 +7759,12 @@@ Default is t for OSX >= 10.7, nil other
  #endif
    ns_last_use_native_fullscreen = ns_use_native_fullscreen;
  
 +  DEFVAR_BOOL ("ns-use-fullscreen-animation", ns_use_fullscreen_animation,
 +     doc: /*Non-nil means use animation on non-native fullscreen.
 +For native fullscreen, this does nothing.
 +Default is nil.  */);
 +  ns_use_fullscreen_animation = NO;
 +
    DEFVAR_BOOL ("ns-use-srgb-colorspace", ns_use_srgb_colorspace,
       doc: /*Non-nil means to use sRGB colorspace on OSX >= 10.7.
  Note that this does not apply to images.
@@@ -7797,12 -7751,14 +7802,12 @@@ baseline level.  The default value is n
    DEFSYM (Qcocoa, "cocoa");
    DEFSYM (Qgnustep, "gnustep");
  
 -  syms_of_nsfont ();
  #ifdef NS_IMPL_COCOA
    Fprovide (Qcocoa, Qnil);
 -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
    syms_of_macfont ();
 -#endif
  #else
    Fprovide (Qgnustep, Qnil);
 +  syms_of_nsfont ();
  #endif
  
  }