Merge from emacs-24; up to 2012-05-04T19:17:01Z!monnier@iro.umontreal.ca
authorGlenn Morris <rgm@gnu.org>
Tue, 28 Aug 2012 16:01:59 +0000 (09:01 -0700)
committerGlenn Morris <rgm@gnu.org>
Tue, 28 Aug 2012 16:01:59 +0000 (09:01 -0700)
1  2 
lisp/ChangeLog
lisp/files.el
lisp/net/rcirc.el
lisp/progmodes/hideshow.el
lisp/progmodes/sh-script.el
lisp/skeleton.el
src/ChangeLog
src/eval.c
src/ralloc.c
test/ChangeLog

diff --cc lisp/ChangeLog
 -2012-08-27  Leo Liu  <sdl.web@gmail.com>
++2012-08-28  Leo Liu  <sdl.web@gmail.com>
+       * progmodes/sh-script.el (sh-dynamic-complete-functions): Adapt to
+       completion-at-point.  (Bug#12220)
+       * skeleton.el (skeleton-untabify): Change to nil (bug#12223).
+       * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267).
 -2012-08-24  Chong Yidong  <cyd@gnu.org>
 -
 -      * Version 24.2 released.
 -
 -2012-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
++2012-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * files.el (safe-local-eval-forms): Fix before-save-hook entry to
+       be buffer-local; add delete-trailing-whitespace (bug#12259).
 -2012-08-22  Jeremy Moore  <jmoore@ieee.org>  (tiny change)
++2012-08-28  Jeremy Moore  <jmoore@ieee.org>  (tiny change)
+       * progmodes/hideif.el (hif-compress-define-list):
+       Fix typo.  (Bug#11951)
 -2012-08-20  Dan Nicolaescu  <dann@gnu.org>
++2012-08-28  Dan Nicolaescu  <dann@gnu.org>
+       * progmodes/hideshow.el (hs-block-end-regexp): Restore lost
+       buffer local setting.
 -2012-08-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc/log-edit.el (log-edit-font-lock-gnu-style): Mark safe if boolean.
 -
 -2012-08-15  Leo Liu  <sdl.web@gmail.com>
 -
+       * net/rcirc.el (rcirc-split-message): Fix for buffer-local
+       rcirc-encode-coding-system.
 -2012-08-13  Leo Liu  <sdl.web@gmail.com>
++2012-08-28  Leo Liu  <sdl.web@gmail.com>
+       * net/rcirc.el (rcirc-split-message): New function.
+       (rcirc-send-message): Use it.  (Bug#12051)
 -2012-08-10  Glenn Morris  <rgm@gnu.org>
 +2012-08-28  Juri Linkov  <juri@jurta.org>
 +
 +      * info.el (Info-fontify-node): Hide empty lines at the end of
 +      the node.  (Bug#12272)
 +
 +2012-08-27  Drew Adams  <drew.adams@oracle.com>
 +
 +      * dired.el (dired-pop-to-buffer): Make window start at beginning
 +      of buffer (Bug#12281).
 +
 +2012-08-26  Chong Yidong  <cyd@gnu.org>
 +
 +      * window.el (special-display-regexps, special-display-frame-alist)
 +      (special-display-buffer-names, special-display-function)
 +      (display-buffer-reuse-frames): Mark as obsolete.
 +
 +      * progmodes/compile.el: Don't use display-buffer-reuse-frames.
 +
 +      * help.el (help-print-return-message): Don't treat
 +      display-buffer-reuse-frames specially.
 +
 +2012-08-26  Chong Yidong  <cyd@gnu.org>
 +
 +      * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): New
 +      variable, replacing gdb-frame-parameters.
 +      (gdb-frame-io-buffer, gdb-frame-breakpoints-buffer)
 +      (gdb-frame-threads-buffer, gdb-frame-memory-buffer)
 +      (gdb-frame-disassembly-buffer, gdb-frame-stack-buffer)
 +      (gdb-frame-locals-buffer, gdb-frame-registers-buffer): Use it.
 +      (def-gdb-frame-for-buffer): Macro deleted.  It is easier to define
 +      the functions directly with gdb-display-buffer-other-frame-action.
 +      (gdb-display-breakpoints-buffer, gdb-display-threads-buffer)
 +      (gdb-display-memory-buffer, gdb-display-disassembly-buffer)
 +      (gdb-display-stack-buffer, gdb-display-locals-buffer)
 +      (gdb-display-registers-buffer): Define directly.
 +      (def-gdb-display-buffer): Macro deleted.
 +      (gdb-display-buffer): Remove second and third args, callers don't
 +      use them.  Defer to the default display-buffer behavior, apart
 +      from making windows dedicated.
 +      (gdb-setup-windows): Don't call display-buffer unnecessarily.
 +
 +      * progmodes/gud.el (gud-display-line): Just use display-buffer.
 +
 +      * window.el (display-buffer-pop-up-frame): Handle a
 +      pop-up-frame-parameters alist entry.
 +      (display-buffer): Document it.
 +
 +2012-08-26  Chong Yidong  <cyd@gnu.org>
 +
 +      * isearch.el (search-whitespace-regexp): Make string and nil
 +      values apply to both ordinary and regexp search.  Allow a cons
 +      cell value to distinguish between the two.
 +      (isearch-whitespace-regexp, isearch-search-forward)
 +      (isearch-search-backward): New functions.
 +      (isearch-occur, isearch-search-fun-default, isearch-search)
 +      (isearch-lazy-highlight-new-loop): Use them.
 +      (isearch-forward, isearch-forward-regexp): Doc fix.
 +
 +2012-08-26  Chong Yidong  <cyd@gnu.org>
 +
 +      * faces.el (help-argument-name): Always inherit from italic
 +      (Bug#12213).
 +
 +2012-08-25  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window--even-window-heights): Even heights when
 +      WINDOW and the selected window form a vertical combination.
 +      (display-buffer-use-some-window): Provide that window used gets
 +      sized back by quit-window.  (Bug#11880) and (Bug#12091)
 +
 +2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix file time stamp problem with bzr and CVS (Bug#12001).
 +      * vc/vc-cvs.el (vc-cvs-parse-entry): Ignore subsecond information
 +      in the file's time stamp, since the version control system loses
 +      that information.
 +
 +2012-08-22  Juri Linkov  <juri@jurta.org>
 +
 +      * info.el (Info-fontify-node): Hide the suffix of the
 +      Info file name in the header line.  (Bug#12187)
 +
 +2012-08-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/cal-tex.el (cal-tex-weekly-common):
 +      Restore leading blank page.
 +
 +2012-08-22  Le Wang  <l26wang@gmail.com>  (tiny change)
 +
 +      * misc.el (forward-to-word, backward-to-word): Activate or extend
 +      the region under `shift-select-mode'.  (Bug#12231)
 +
 +2012-08-22  Bastien Guerry  <bzg@gnu.org>
 +
 +      * progmodes/executable.el (executable-prefix): Set to "#!" instead
 +      of "#! ".  http://www.in-ulm.de/~mascheck/various/shebang/#details
 +      gives details on why the space is never needed.
 +
 +2012-08-22  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (walk-window-tree, window-with-parameter): New
 +      optional argument MINIBUF to control whether these functions
 +      should run on the minibuffer window.
 +      (window-at-side-list): Don't operate on minibuffer window.
 +      (window-in-direction): Simplify and rewrite doc-string.
 +      (window--size-ignore): Rename to window--size-ignore-p.  Update
 +      callers.
 +      (display-buffer-in-atom-window, window--major-non-side-window)
 +      (window--major-side-window, display-buffer-in-major-side-window)
 +      (delete-side-window, display-buffer-in-side-window): New
 +      functions.
 +      (window--side-check, window-deletable-p, delete-window)
 +      (delete-other-windows, split-window): Handle side windows and
 +      atomic windows appropriately.
 +      (window--display-buffer): Call display-buffer-record-window also
 +      when the window buffer did not change.
 +
 +2012-08-22  Christopher Schmidt  <christopher@ch.ristopher.com>
 +
 +      * help-fns.el (help-fns--key-bindings):
 +      Abbreviate non-symbol remap targets.  (Bug#12174)
 +
 +2012-08-22  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * dired.el (dired-mark-remembered): Don't clobber point.
 +      (Bug#11795)
 +
 +2012-08-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * progmodes/bug-reference.el (bug-reference): New custom group.
 +      (bug-reference-bug-regexp): Make it a defcustom.
 +
 +2012-08-22  Daiki Ueno  <ueno@unixuser.org>
 +
 +      * progmodes/js.el (js-indent-level, js-expr-indent-offset)
 +      (js-paren-indent-offset, js-square-indent-offset)
 +      (js-curly-indent-offset): Add :safe (Bug#12257).
 +
 +2012-08-22  Edward O'Connor  <hober0@gmail.com>
 +
 +      * json.el (json-key-format): Add error properties.
 +      (json-encode-key): New function.
 +      (json-encode-hash-table, json-encode-alist, json-encode-plist):
 +      Use json-encode-key.
 +
 +2012-08-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/cal-tex.el (cal-tex-longday): New function, replacing...
 +      (cal-tex-leftday, cal-tex-rightday): Remove functions.
 +      (cal-tex-weekly-common, cal-tex-cursor-filofax-2week):
 +      Update for above change.
 +
 +2012-08-21  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * cus-face.el (custom-face-attributes): Fix customize type for the
 +      :underline attribute.  (Bug#11805)
 +
 +2012-08-21  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window-point-1, set-window-point-1): Remove.
 +      (window-in-direction, record-window-buffer)
 +      (set-window-buffer-start-and-point, split-window-below)
 +      (window--state-get-1, display-buffer-record-window): Replace
 +      calls to window-point-1 and set-window-point-1 by calls to
 +      window-point and set-window-point respectively.
 +
 +2012-08-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/cal-tex.el (cal-tex-weekly-common): New function.
 +      (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week):
 +      Use it.
 +
 +      * calendar/cal-tex.el (cal-tex-rightday): Add optional funcname arg.
 +      (cal-tex-shortday): New function.
 +      (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week)
 +      (cal-tex-cursor-filofax-daily): Use the above.
 +
 +      * calendar/cal-tex.el (cal-tex-leftday, cal-tex-rightday):
 +      New functions.
 +      (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week)
 +      (cal-tex-cursor-filofax-week): Use them.
 +
 +      * calendar/cal-tex.el (cal-tex-lefthead, cal-tex-righthead):
 +      New constants.
 +      (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week)
 +      (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use them.
 +
 +      * calendar/cal-tex.el (cal-tex-preamble): Generate new buffers.
 +      (cal-tex-end-document): Don't rely on buffer name.
 +
 +      * calendar/cal-tex.el (cal-tex-cursor-filofax-year):
 +      Use cal-tex-vspace.
 +      (cal-tex-vspace, cal-tex-hspace, cal-tex-em, cal-tex-bf)
 +      (cal-tex-Huge-bf, cal-tex-large-bf): Use cal-tex-cmd.
 +      (cal-tex-scriptsize, cal-tex-huge, cal-tex-Huge, cal-tex-large):
 +      Use cal-tex-arg.
 +
 +      * calendar/cal-tex.el (cal-tex-cursor-filofax-year)
 +      (cal-tex-cursor-week, cal-tex-cursor-week2)
 +      (cal-tex-cursor-week-iso, cal-tex-cursor-week-at-a-glance)
 +      (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week)
 +      (cal-tex-cursor-filofax-daily, cal-tex-cursor-day)
 +      (cal-tex-insert-preamble, cal-tex-b-document)
 +      (cal-tex-e-document, cal-tex-b-center, cal-tex-e-center):
 +      Improve cal-tex-cmd usage.
 +
 +      * calendar/cal-tex.el (cal-tex-filofax-paper): New function.
 +      (cal-tex-cursor-filofax-year, cal-tex-cursor-filofax-2week)
 +      (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use it.
 +      (cal-tex-weekly-paper): New function.
 +      (cal-tex-cursor-week, cal-tex-cursor-week2)
 +      (cal-tex-cursor-week-iso, cal-tex-cursor-week-monday)
 +      (cal-tex-cursor-day): Use it.
 +
 +      * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance)
 +      (cal-tex-cursor-filofax-week): Remove leading blank page.
 +
 +      * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance):
 +      Add autoload cookie.  For now at least, don't use color, since
 +      no other cal-tex function does.
 +
 +      * calendar/cal-tex.el (cal-tex-cursor-week-iso)
 +      (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week)
 +      (cal-tex-cursor-filofax-daily): Correct start date for diary entries.
 +
 +2012-08-21  Juri Linkov  <juri@jurta.org>
 +
 +      * info.el (Info-file-attributes): New variable.
 +      (info-insert-file-contents): Add file attributes to
 +      `Info-file-attributes'.  Clear the caches `Info-index-nodes' and
 +      `Info-toc-nodes' when previous modtime of the Info file is less
 +      than new modtime.
 +      (Info-toc-nodes, Info-index-nodes): Move definitions up to the top
 +      of info.el.  (Bug#12230)
 +
 +2012-08-20  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
 +      * calendar/holidays.el (calendar-holiday-list):
 +      Report errors with display-warning rather than beep'n'sleep.
 +
 +2012-08-20  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp.el (tramp-accept-process-output): Accept only output
 +      from PROC.  Otherwise, process filters and sentinels might be
 +      confused.  (Bug#12145)
 +
 +2012-08-20  Chong Yidong  <cyd@gnu.org>
 +
 +      * descr-text.el (describe-text-properties-1): Use overlays-in to
 +      report on empty overlays (Bug#3322).
 +
 +2012-08-20  Glenn Morris  <rgm@gnu.org>
 +
 +      * mail/rmailout.el (rmail-output-read-file-name):
 +      Trap and report errors in rmail-output-file-alist elements.
 +
 +      * font-lock.el (font-lock-add-keywords): Doc fix (quote face names
 +      since most non-font-lock faces are not also variables).
 +
 +2012-08-20  Edward Reingold  <reingold@iit.edu>
 +
 +      * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance):
 +      New function.  (Bug12160)
 +
 +2012-08-19  Glenn Morris  <rgm@gnu.org>
 +
 +      * mail/rmailout.el (rmail-output-read-file-name):
 +      Fix previous change (when the alist is nil or does not match).
 +
 +2012-08-19  Chong Yidong  <cyd@gnu.org>
 +
 +      * xml.el (xml-escape-string): Don't refer to xml-entity-alist
 +      (Bug#12228).
 +
 +2012-08-18  Chong Yidong  <cyd@gnu.org>
 +
 +      * simple.el (yank-handled-properties): New defcustom.
 +      (yank-excluded-properties): Add font-lock-face and category.
 +      (yank): Doc fix.
 +
 +      * subr.el (remove-yank-excluded-properties): Obey
 +      yank-handled-properties.  The special handling of font-lock-face
 +      and category is now done this way, instead of being hard-coded.
 +      (insert-for-yank-1): Remove font-lock-face handling.
 +      (yank-handle-font-lock-face-property)
 +      (yank-handle-category-property): New function.
 +
 +2012-08-17  Glenn Morris  <rgm@gnu.org>
 +
 +      * mail/rmailout.el (rmail-output-read-file-name):
 +      Check rmail-output-file-alist against the full message body
 +      in the correct rmail buffer.  (Bug#12214)
 +
 +2012-08-17  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-sh-handle-start-file-process): Eliminate
 +      superfluous prompt.  (Bug#12203)
 +
 +2012-08-17  Chong Yidong  <cyd@gnu.org>
 +
 +      * mouse.el (mouse-appearance-menu): If x-select-font returns a
 +      font spec, set the font directly (Bug#3228).
 +
 +2012-08-17  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (delete-window): Fix last fix.
 +
 +2012-08-16  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window-valid-p): Move to window.c.
 +      (window-child, window-child-count, window-last-child)
 +      (window-normalize-window, window-combined-p)
 +      (window-combinations, window-atom-root, window-min-size)
 +      (window-sizable, window-sizable-p, window-size-fixed-p)
 +      (window-min-delta, window-max-delta, window--resizable)
 +      (window--resizable-p, window-resizable, window-total-size)
 +      (window-full-height-p, window-full-width-p, window-body-size)
 +      (window-at-side-p, adjust-window-trailing-edge, maximize-window)
 +      (minimize-window, window-deletable-p, delete-window)
 +      (delete-other-windows, set-window-buffer-start-and-point)
 +      (next-buffer, previous-buffer, split-window, balance-windows-2)
 +      (set-window-text-height, window-buffer-height)
 +      (fit-window-to-buffer, shrink-window-if-larger-than-buffer)
 +      (truncated-partial-width-window-p): Minor code adjustments.  In
 +      doc-strings state whether the argument window has to denote a
 +      live, valid or any window.
 +
 +2012-08-16  Phil Sainty  <psainty@orcon.net.nz>  (tiny change)
 +
 +      * progmodes/subword.el (subword-forward-function)
 +      (subword-backward-function, subword-forward-regexp)
 +      (subword-backward-regexp): New variables.
 +      (subword-forward, subword-forward-internal, subword-backward-internal):
 +      Use new variables, eg so that different "word" definitions
 +      can be easily used.  (Bug#11411)
 +
 +2012-08-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * vc/vc-mtn.el (vc-mtn-revision-completion-table): Handle completion
 +      for composite selectors.
 +      * vc/vc.el (vc-diff-build-argument-list-internal): Don't prevent
 +      operation just because we can't find a previous revision.
 +
 +2012-08-15  Chong Yidong  <cyd@gnu.org>
 +
 +      * frame.el (set-frame-font): Accept font objects.
 +
 +2012-08-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * textmodes/tex-mode.el (tex-insert-quote): ~ is a space (bug#12137).
 +
 +2012-08-15  Wolfgang Jenkner  <wjenkner@inode.at>
 +
 +      * man.el (Man-overstrike-face, Man-underline-face)
 +      (Man-reverse-face): Remove variables.
 +      (Man-overstrike, Man-underline, Man-reverse): New faces.
 +      (Man-fontify-manpage): Use them instead of the variables.
 +      (Man-cleanup-manpage): Comment change.
 +      (Man-ansi-color-map): New variable.
 +      (Man-fontify-manpage): Use it.
 +      Call ansi-color-apply-on-region to replace ad hoc code (bug#12147).
 +
 +      Implement ANSI SGR parameters 22-27 (bug#12146).
 +      * ansi-color.el (ansi-colors): Doc fix.
 +      (ansi-color-context, ansi-color-context-region): Doc fix.
 +      (ansi-color--find-face): New function.
 +      (ansi-color-apply, ansi-color-apply-on-region): Use it.
 +      Rename the local variable `face' to `codes' since it is now a list of
 +      ansi codes.  Doc fix.
 +      (ansi-color-get-face): Remove.
 +      (ansi-color-parse-sequence): New function, derived from
 +      ansi-color-get-face.
 +      (ansi-color-apply-sequence): Use it.  Rewrite, and support ansi
 +      codes 22-27.
 +
 +2012-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (read-passwd): Allow use from a minibuffer.
 +
 +2012-08-14  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * tooltip.el (tooltip-identifier-from-point): Don't treat tokens
 +      inside comments and strings as identifiers.
 +
 +      * progmodes/gud.el (gud-tooltip-print-command): Quote the
 +      expression to evaluate.  This allows to evaluate expressions with
 +      embedded whitespace.
 +      (gud-tooltip-tips): Add a blank before the newline in the
 +      message-box text, for the benefit of message-box emulation on
 +      MS-Windows.
 +
 +      * progmodes/gdb-mi.el (gdb-tooltip-print): Don't ignore error
 +      messages from GDB, pop them up in a tooltip to give feedback to
 +      user.
 +      (gdb-tooltip-print-1): Quote the expression to evaluate.
 +      This allows to evaluate expressions with embedded whitespace.
 +      (gdb-inferior-io--init-proc): Don't send "-inferior-tty" command
 +      if the TTY name is nil or empty (which happens when communicating
 +      with the inferior via pipes, e.g. on MS-Windows).
 +      (gdb-internals): If GDB sends a "&\n" empty debugging message,
 +      don't send that to the GUD buffer.
 +
 +2012-08-14  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-setq-default):
 +      Optimize away setq-default with no args, as for setq.  (Bug#12195)
 +
 +2012-08-14  Chong Yidong  <cyd@gnu.org>
 +
 +      * minibuffer.el (read-file-name): Doc fix (Bug#10881).
 +
 +      * emacs-lisp/regexp-opt.el (regexp-opt-charset): Doc fix
 +      (Bug#12085).
 +
 +2012-08-14  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs-lisp/bytecomp.el (byte-recompile-file): Doc fix.
 +
 +2012-08-14  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-open-shell): Cache the shell name.
 +      (tramp-find-shell, tramp-open-connection-setup-interactive-shell):
 +      Use cached shell name.
 +
 +2012-08-14  Fabián Ezequiel Gallina  <fgallina@cuca>
 +
 +      * progmodes/python.el (python-shell-send-string):
 +      (python-shell-send-setup-code): Do not use `format' with `message'.
 +
 +2012-08-14  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * progmodes/ruby-mode.el: Improve percent literals (bug#6286).
 +      (ruby-percent-literal-beg-re): New constant.
 +      (ruby-syntax-general-delimiters-goto-beg): Rename to
 +      `ruby-syntax-enclosing-percent-literal', improve literal type check.
 +      (ruby-syntax-propertize-general-delimiters): Rename to
 +      `ruby-syntax-propertize-percent-literal', it's a shorter and more
 +      popular term.  Adjust comments everywhere.
 +      (ruby-syntax-propertize-percent-literal): Only propertize when not
 +      inside a simple string or comment.  When the literal is unclosed,
 +      leave the text after it unpropertized.
 +      (ruby-syntax-methods-before-regexp): New constant.
 +      (ruby-syntax-propertize-function): Use it to recognize regexps.
 +      Don't look at the text after regexp, just use the whitelist.
 +
 +2012-08-14  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * emacs-lisp/bytecomp.el (byte-recompile-file): When LOAD is
 +      non-nil always load the compiled file if it exists.  (Bug#12197)
 +
 +2012-08-14  Chong Yidong  <cyd@gnu.org>
 +
 +      * hi-lock.el (hi-lock-mode): Do not unilaterally enable font lock.
 +      (hi-lock-set-pattern): When deciding whether to use font lock or
 +      overlays, look at font-lock-mode instead of font-lock-fontified
 +      (Bug#12168).
 +      (hi-lock-mode, hi-lock-line-face-buffer, hi-lock-unface-buffer)
 +      (hi-lock-face-buffer, hi-lock-face-phrase-buffer): Doc fix.
 +
 +2012-08-14  Daiki Ueno  <ueno@unixuser.org>
 +
 +      * subr.el (internal--after-with-selected-window): Fix typo
 +      (Bug#12193).
 +
 +2012-08-14  Fabián Ezequiel Gallina  <fgallina@cuca>
 +
 +      Use `completion-table-dynamic' for completion functions.
 +      * progmodes/python.el
 +      (python-shell-completion--do-completion-at-point)
 +      (python-shell-completion--get-completions):
 +      Remove functions.
 +      (python-shell-completion-complete-at-point): New function.
 +      (python-completion-complete-at-point): Use it.
 +
 +2012-08-13  Jambunathan K  <kjambunathan@gmail.com>
 +
 +      * vc/vc-dir.el (vc-dir-hide-state): New command (bug#12159).
 +      (vc-dir-hide-up-to-date): Route it to `vc-dir-hide-state'.
 +
 +2012-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (function-get): Refine `autoload' arg so it can also
 +      autoload functions for gv.el (bug#12191).
 +      * emacs-lisp/edebug.el (get-edebug-spec): Adjust so it only
 +      autoloads macros.
 +
 +      * color.el (color-xyz-to-lab, color-lab-to-xyz, color-cie-de2000):
 +      Prefer pcase-let over destructuring-bind.
 +      * vc/diff-mode.el (diff-remove-trailing-whitespace): Same.
 +      Also, remove whitespace as we go, rather than after accumulating the
 +      various places.
 +
 +      * subr.el (internal--before-with-selected-window)
 +      (internal--after-with-selected-window): Fix typo seleted->selected.
 +      (with-selected-window): Adjust callers.
 +      Reported by Dmitry Gutov <dgutov@yandex.ru>.
 +
 +2012-08-13  Bastien Guerry  <bzg@gnu.org>
 +
 +      * window.el (special-display-popup-frame): Minor docstring
 +      enhancement.  (Bug#12172)
 +
 +2012-08-13  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * tar-mode.el (tar-header-data-end): Only ignore size for files of
 +      type 1-6.
 +      (tar-header-block-summarize, tar-get-descriptor): Handle pax
 +      extended headers.
 +
 +      * files.el (hack-local-variables-filter): Remove useless eval.
 +
 +2012-08-13  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * subr.el (with-selected-window): Fix last change.
 +
 +2012-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (internal--before-with-seleted-window)
 +      (internal--after-with-seleted-window): New functions.
 +      (with-selected-window): Use them, to replace dependency on
 +      tty-top-frame.
 +
 +2012-08-12  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 +
 +      * progmodes/ruby-mode.el (ruby-mode-map): Remove unnecessary
 +      binding for `newline'.
 +      (ruby-move-to-block): When moving backward, stop at block opening,
 +      not indentation.
 +      * progmodes/ruby-mode.el (ruby-brace-to-do-end)
 +      (ruby-do-end-to-brace, ruby-toggle-block): New functions.
 +      * progmodes/ruby-mode.el (ruby-mode-map): Add binding for
 +      `ruby-toggle-block'.
 +
 +2012-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * ibuffer.el (ibuffer-do-toggle-read-only):
 +      * dired.el (dired-toggle-read-only):
 +      * buff-menu.el (Buffer-menu-toggle-read-only):
 +      * bindings.el (mode-line-toggle-read-only):
 +      * bs.el (bs-toggle-readonly): Call toggle-read-only interactively.
 +
 +2012-08-12  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * descr-text.el (describe-char): Put the overlays over the
 +      "displayed as" character.
 +
 +2012-08-12  Jay Belanger  <jay.p.belanger@gmail.com>
 +
 +      * calc/calc-units.el (math-default-units-table): Give an
 +      initial value.
 +      (math-put-default-units): Add options to put composite units and
 +      unit systems in the default units table.
 +      (calc-convert-units): Send composite units to
 +      `math-put-default-units' when appropriate.
 +
 +2012-08-11  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/copyright.el (copyright-update-directory): Logic fix.
  
        * files.el (hack-local-variables-filter): If an eval: form is not
        known to be safe, and enable-local-variables is :safe, then ignore
        the form totally, as is done for non-eval forms.  (Bug#12155)
+       This is CVE-2012-3479.
  
 +2012-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/rx.el (rx-constituents): Don't define as constant.
 +      (rx-form): Simplify.
 +
 +2012-08-09  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * progmodes/ruby-mode.el (ruby-expr-beg, ruby-parse-partial):
 +      ?, _, and : are symbol constituents, ! is not (but kinda should be).
 +      (ruby-syntax-propertize-heredoc): Use ruby-singleton-class-p.
 +      (ruby-syntax-propertize-function): Adjust for changes in
 +      `ruby-syntax-propertize-heredoc'.
 +
 +2012-08-09 Nobuyoshi Nakada  <nobu@ruby-lang.org>
 +
 +      * progmodes/ruby-mode.el (ruby-mode-map): Remove deprecated
 +      binding (use `M-;' instead).
 +      (ruby-singleton-class-p): New function.
 +      (ruby-expr-beg, ruby-in-here-doc-p) Use it.
 +
 +2012-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/cl-macs.el (cl-loop): Improve debug spec.
 +
 +2012-08-10  Chong Yidong  <cyd@gnu.org>
 +
 +      * progmodes/python.el (python-shell-get-process-name): Don't mess
 +      with same-window-buffer-names.
 +
 +      * eshell/eshell.el (eshell-add-to-window-buffer-names)
 +      (eshell-remove-from-window-buffer-names): Make obsolete.
 +      (eshell-buffer-name, eshell-unload-hook): Don't use them.
 +      (eshell): Just use pop-to-buffer-same-window instead.
 +
 +2012-08-10  Chong Yidong  <cyd@gnu.org>
 +
 +      * bindings.el: Bind M-= back to count-words-region.
 +
 +      * simple.el (count-words-region): Accept a prefix arg for acting
 +      on the entire buffer.
 +      (count-words--buffer-message): New helper function.
 +
 +2012-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * term/x-win.el (x-menu-bar-open): Always pass last-nonmenu-event.
 +      * subr.el (eventp): `nil' is not an event, and eventp is not hot.
 +      (event-start, event-end): Use posn-at-point to return a more
 +      informative posn.
 +      (posnp): New function.
 +      * mouse.el (popup-menu-normalize-position): Use it.
 +
 +2012-08-10  Masatake YAMATO  <yamato@redhat.com>
 +
 +      * mouse.el (popup-menu-normalize-position): New function.
 +      (popup-menu): Use `popup-menu-normalize-position' to normalize
 +      the form for POSITION argument.
 +
 +      * term/x-win.el (x-menu-bar-open):
 +      Use the value returend from (posn-at-point) as position
 +      passed to `popup-menu'.
 +
 +2012-08-09  Jay Belanger  <jay.p.belanger@gmail.com>
 +
 +      * calc/calccomp.el (math-compose-expr): Add extra argument
 +      indicating that parentheses should be put around products in
 +      denominators.  Give multiplication precedence over division during
 +      composition.
 +
 +2012-08-09  Chong Yidong  <cyd@gnu.org>
 +
 +      * man.el (Man-switches, Man-sed-command, Man-awk-command)
 +      (Man-mode-hook, Man-cooked-hook, Man-untabify-command-args)
 +      (Man-untabify-command, manual-program): Convert to defcustom
 +      (Bug#10429).
 +
 +      * vc/add-log.el (change-log-mode): Bind comment-start to nil.
 +
 +      * descr-text.el (describe-char): Don't insert extra newlines
 +      (Bug#10127).
 +
 +      * vc/log-view.el (log-view-diff): Use use-region-p (Bug#10133).
 +      (log-view-diff-changeset, log-view-minor-wrap): Likewise.
 +
 +      * align.el (align-region): Delete temporary markers (Bug#10047).
 +      Plus some code cleanups.
 +
 +2012-08-09  Fabián Ezequiel Gallina  <fgallina@cuca>
 +
 +      * progmodes/python.el (python-pdbtrack-tracked-buffer)
 +      (python-pdbtrack-buffers-to-kill, python-shell-internal-buffer)
 +      (python-shell-internal-last-output): Use make-local-variable
 +      instead of make-variable-buffer-local.
 +
 +2012-08-09  Fabián Ezequiel Gallina  <fgallina@cuca>
 +
 +      * progmodes/python.el: Enhancements to forward-sexp.
 +      (python-nav-forward-sexp): Rename from
 +      python-nav-forward-sexp-function.
 +      (python-nav--forward-sexp, python-nav--backward-sexp):
 +      New functions.
 +
 +2012-08-09  Jay Belanger  <jay.p.belanger@gmail.com>
 +
 +      * calc/calc-menu.el (calc-modes-menu): Add entries for matrix
 +      modes and simplification modes.
 +
 +2012-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * delsel.el (delete-selection-pre-hook): Don't propagate the
 +      file-supersession signals (bug#12161).
 +
 +2012-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals)
 +      (cl-map-extents): Add compatibility aliases (bug#12135).
 +
 +2012-08-08  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-find-file-exists-command): Protect the
 +      tests by `ignore-error'.
 +      (tramp-find-shell): Open also a new shell, when cache is already
 +      set.  Reported by Carsten Bormann <cabo@tzi.org>.  (Bug#12148)
 +
 +2012-08-08  Juri Linkov  <juri@jurta.org>
 +
 +      * bookmark.el: Add `defaults' property to the bookmark record.
 +      (bookmark-current-buffer): Doc fix.
 +      (bookmark-make-record): Add `defaults' property with default values
 +      to the bookmark record.
 +      (bookmark-minibuffer-read-name-map): Remove key binding "\C-u"
 +      with `bookmark-insert-current-bookmark'.
 +      (bookmark-set): Get `defaults' property from the bookmark record
 +      and use it in `read-from-minibuffer'.
 +      (bookmark-insert-current-bookmark): Remove function.
 +
 +      * info.el (Info-bookmark-make-record): Add `defaults' property
 +      with values of canonical Info node name, the current Info file
 +      name and the current Info node name.  (Bug#12107)
 +
 +2012-08-08  Juri Linkov  <juri@jurta.org>
 +
 +      * files.el (basic-save-buffer): Use `buffer-name' as the default
 +      of `read-file-name' when buffer is not visiting a file (bug#12128).
 +
 +2012-08-08  Juri Linkov  <juri@jurta.org>
 +
 +      * info.el (Info-isearch-search): Doc fix.
 +      (Info-search): Change search-failed message from "initial node" to
 +      "end of node" (bug#12078).
 +      (Info-isearch-search): Change `isearch-string-state' to
 +      `isearch--state-string'.
 +
 +2012-08-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * language/persian.el: Remove file.
 +      * language/misc-lang.el: Move unique part of persian.el here.
 +      * loadup.el: Remove language/persian.
 +
 +2012-08-08  Óscar Fuentes  <ofv@wanadoo.es>
 +
 +      * vc/diff-mode.el (diff-remove-trailing-whitespace): New function.
 +
 +2012-08-08  Fabián Ezequiel Gallina  <fgallina@cuca>
 +
 +      * progmodes/python.el Fixed defsubst warning.
 +      (python-syntax-context) Rename from python-info-ppss-context.
 +      (python-syntax-context-type): Rename from
 +      python-info-ppss-context-type.
 +      (python-syntax-comment-or-string-p): Rename from
 +      python-info-ppss-comment-or-string-p.
 +
 +2012-08-08  Jay Belanger  <jay.p.belanger@gmail.com>
 +
 +      * calc/calc-misc.el (calc-record-why): Don't record a message twice.
 +
 +2012-08-07  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * emacs-lisp/lisp-mode.el (eval-defun-1): Handle standard value of
 +      a defcustom that is quoted with backquote.
 +
 +      * calc/calc-prog.el (math-do-defmath): Use backquote forms.
 +      Fix handling of interactive spec when the body uses return.
 +      (math-do-arg-check, math-define-function-body): Use backquote forms.
 +      * calc/calc-ext.el (math-defcache): Likewise.
 +      * calc/calc-rewr.el (math-rwfail, math-rweval): Likewise.
 +      * allout.el (allout-new-exposure): Likewise.
 +      * calc/calcalg2.el (math-tracing-integral): Likewise.
 +      * info.el (Info-last-menu-item): Likewise.
 +      * emulation/vip.el (vip-loop): Likewise.
 +      * textmodes/artist.el (artist-funcall): Likewise.
 +      * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle):
 +      Construct menu-item directly.
 +
 +      * progmodes/autoconf.el (font-lock-syntactic-keywords):
 +      Don't declare.
 +
  2012-08-07  Chong Yidong  <cyd@gnu.org>
  
 -      * mouse.el (mouse-drag-track): Deactivate the mark before popping.
 +      * simple.el (deactivate-mark): Preserve text properties when
 +      saving the primary selection (Bug#8384).
 +
 +2012-08-07  Kevin Ryde  <user42@zip.com.au>
 +
 +      * woman.el (woman0-if): Quietly treat ".if v" as false (Bug#12109).
 +      (woman-parse-numeric-value): On a bad .IP line, issue a warning
 +      and continue processing (Bug#12110).
  
  2012-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
  
diff --cc lisp/files.el
Simple merge
Simple merge
Simple merge
@@@ -469,8 -465,15 +474,7 @@@ This is buffer-local in every such buff
      (define-key map "\C-c+" 'sh-add)
      (define-key map "\C-\M-x" 'sh-execute-region)
      (define-key map "\C-c\C-x" 'executable-interpret)
 -    ;; FIXME: Use post-self-insert-hook.
 -    (define-key map "<" 'sh-maybe-here-document)
 -    (define-key map "(" 'skeleton-pair-insert-maybe)
 -    (define-key map "{" 'skeleton-pair-insert-maybe)
 -    (define-key map "[" 'skeleton-pair-insert-maybe)
 -    (define-key map "'" 'skeleton-pair-insert-maybe)
 -    (define-key map "`" 'skeleton-pair-insert-maybe)
 -    (define-key map "\"" 'skeleton-pair-insert-maybe)
  
-     (define-key map [remap complete-tag] 'comint-dynamic-complete)
      (define-key map [remap delete-backward-char]
        'backward-delete-char-untabify)
      (define-key map "\C-c:" 'sh-set-shell)
@@@ -4109,22 -3687,7 +4115,8 @@@ The document is bounded by `sh-here-doc
  \f
  ;; various other commands
  
- (autoload 'comint-dynamic-complete "comint"
-   "Dynamically perform completion at point." t)
- (autoload 'shell-dynamic-complete-command "shell"
-   "Dynamically complete the command at point." t)
- (autoload 'comint-dynamic-complete-filename "comint"
-   "Dynamically complete the filename at point." t)
- (autoload 'shell-dynamic-complete-environment-variable "shell"
-   "Dynamically complete the environment variable at point." t)
  (defun sh-beginning-of-command ()
 +  ;; FIXME: Redefine using SMIE.
    "Move point to successive beginnings of commands."
    (interactive)
    (if (re-search-backward sh-beginning-of-command nil t)
Simple merge
diff --cc src/ChangeLog
 -2012-08-24  Chong Yidong  <cyd@gnu.org>
++2012-08-28  Eli Zaretskii  <eliz@gnu.org>
 -      * Version 24.2 released.
++      * ralloc.c (free_bloc): Don't dereference a 'heap' structure if it
++      is not one of the heaps we manage.  (Bug#12242)
++
++2012-08-28  Glenn Morris  <rgm@gnu.org>
++
++      * eval.c (Fcalled_interactively_p): Doc fix.  (Bug#11747)
++
 +2012-08-28  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (Fset_window_configuration): Remove handling of
 +      auto-buffer-name window parameter.  Install revision of reverted
 +      fix.
 +
 +2012-08-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Do not allow to set major mode for a dead buffer.
 +      * buffer.c (Fset_buffer_major_mode): Signal an error
 +      if the buffer is dead.
 +      (Fother_buffer, other_buffer_safely): Remove redundant
 +      nested declaration.
 +
 +2012-08-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Always use set_buffer_if_live to restore original buffer at unwind.
 +      * buffer.h (record_unwind_current_buffer): New function.
 +      * bytecode.c, dispnew.c, editfns.c, fileio.c, fns.c, insdel.c:
 +      * keyboard.c, keymap.c, minibuf.c, print.c, process.c, textprop.c:
 +      * undo.c, window.c: Adjust users.
 +      * buffer.c (set_buffer_if_live): Fix comment.
 +
 +2012-08-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix usage of set_buffer_internal.
 +      * buffer.h (set_buffer_internal): Make it BUFFER_INLINE.
 +      * buffer.c (set_buffer_if_live): Use set_buffer_internal.
 +      * coding.c (decode_coding): Omit redundant test.
 +      * fileio.c (decide_coding_unwind): Likewise.
 +      * fns.c (secure_hash): Likewise.
 +      * insdel.c (modify_region): Likewise.
 +      * keyboard.c (command_loop_1): Likewise.
 +      * print.c (PRINTFINISH): Likewise.
 +      * xdisp.c (run_window_scroll_functions): Use set_buffer_internal.
 +
 +2012-08-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * dispnew.c: Use bool for boolean.
 +      (frame_garbaged, display_completed, delayed_size_change)
 +      (fonts_changed_p, add_window_display_history)
 +      (add_frame_display_history, verify_row_hash)
 +      (adjust_glyph_matrix, clear_window_matrices, glyph_row_slice_p)
 +      (row_equal_p, realloc_glyph_pool)
 +      (allocate_matrices_for_frame_redisplay)
 +      (showing_window_margins_p)
 +      (adjust_frame_glyphs_for_frame_redisplay)
 +      (build_frame_matrix_from_leaf_window, make_current)
 +      (mirrored_line_dance, mirror_line_dance, update_frame)
 +      (update_window_tree, update_single_window)
 +      (check_current_matrix_flags, update_window, update_text_area)
 +      (update_window_line, set_window_update_flags, scrolling_window)
 +      (update_frame_1, scrolling, buffer_posn_from_coords)
 +      (do_pending_window_change, change_frame_size)
 +      (change_frame_size_1, sit_for):
 +      Use bool for boolean.
 +      (clear_glyph_matrix_rows): Rename from enable_glyph_matrix_rows,
 +      and remove last int (actually boolean) argument, which was always 0.
 +      All callers changed.
 +      * dispextern.h, frame.h, lisp.h: Reflect above API changes.
 +      * dispextern.h (struct composition_it): Use bool for boolean.
 +      (struct glyph_matrix): Don't assume buffer sizes can fit in 'int'.
 +      (struct bidi_it): Use unsigned:1, not int, for boolean prev_was_pdf.
 +      * dired.c (file_name_completion):
 +      Use bool for boolean.  (This was missed in an earlier change.)
 +
 +2012-08-27  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (Fset_window_configuration): Revert first part of
 +      last change.
 +
 +2012-08-27  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.h (NSPanel): New class variable dialog_return.
 +
 +      * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize
 +      dialog_return.
 +      (windowShouldClose:): Use stop instead of stopModalWithCode.
 +      (clicked:): Ditto, and also set dialog_return (Bug#12258).
 +      (timeout_handler:): Use stop instead of abortModal.  Send a dummy
 +      event.
 +      (runDialogAt:): Make ret Lisp_Object.  Set it from dialog_return when
 +      modal loop returns.
 +
 +2012-08-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans.
 +      * composite.c (find_composition, composition_gstring_p)
 +      (composition_reseat_it, find_automatic_composition):
 +      * data.c (let_shadows_buffer_binding_p)
 +      (let_shadows_global_binding_p, set_internal, make_blv)
 +      (Fmake_variable_buffer_local, Fmake_local_variable)
 +      (Fmake_variable_frame_local, arithcompare, cons_to_unsigned)
 +      (cons_to_signed, arith_driver):
 +      * dbusbind.c (xd_in_read_queued_messages):
 +      * dired.c (directory_files_internal, file_name_completion):
 +      Use bool for booleans.
 +      * dired.c (file_name_completion):
 +      * process.h (fd_callback):
 +      Omit int (actually boolean) argument.  It wasn't being used.
 +      All uses changed.
 +      * composite.h, lisp.h: Reflect above API changes.
 +
 +      * cmds.c, coding.c: Use bool for booleans.
 +      * cmds.c (move_point, Fself_insert_command):
 +      * coding.h (struct composition status, struct coding_system):
 +      * coding.c (detect_coding_utf_8, encode_coding_utf_8)
 +      (detect_coding_utf_16, encode_coding_utf_16, detect_coding_emacs_mule)
 +      (emacs_mule_char, decode_coding_emacs_mule)
 +      (encode_coding_emacs_mule, detect_coding_iso_2022)
 +      (decode_coding_iso_2022, encode_invocation_designation)
 +      (encode_designation_at_bol, encode_coding_iso_2022)
 +      (detect_coding_sjis, detect_coding_big5, decode_coding_sjis)
 +      (decode_coding_big5, encode_coding_sjis, encode_coding_big5)
 +      (detect_coding_ccl, encode_coding_ccl, decode_coding_raw_text)
 +      (encode_coding_raw_text, detect_coding_charset)
 +      (decode_coding_charset, encode_coding_charset, detect_eol)
 +      (detect_coding, get_translation_table, produce_chars)
 +      (consume_chars, reused_workbuf_in_use)
 +      (make_conversion_work_buffer, code_conversion_save)
 +      (decode_coding_object, encode_coding_object)
 +      (detect_coding_system, char_encodable_p)
 +      (Funencodable_char_position, code_convert_region)
 +      (code_convert_string, code_convert_string_norecord)
 +      (Fset_coding_system_priority):
 +      * fileio.c (Finsert_file_contents):
 +      Use bool for booleans.
 +      * coding.h, lisp.h: Reflect above API changes.
 +      * coding.c: Remove unnecessary static function decls.
 +      (detect_coding): Use unsigned, not signed, to copy an unsigned field.
 +      (decode_coding, encode_coding, decode_coding_gap): Return 'void',
 +      not a boolean 'int', since callers never look at the return value.
 +      (ALLOC_CONVERSION_WORK_AREA): Assume caller returns 'void', not 'int'.
 +      * coding.h (decoding_buffer_size, encoding_buffer_size)
 +      (emacs_mule_string_char): Remove unused extern decls.
 +      (struct iso_2022_spec, struct coding_system):
 +      Use 'unsigned int : 1' for boolean fields, since there's more than one.
 +      (struct emacs_mule_spec): Remove unused field 'full_support'.
 +      All initializations removed.
 +      * cmds.c (internal_self_insert): Don't assume EMACS_INT fits in 'int'.
 +
 +2012-08-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix spare memory change (Bug#12286).
 +      * alloc.c (mark_maybe_pointer): Handle MEM_TYPE_SPARE.
 +      (valid_lisp_object_p): Likewise.
 +
 +2012-08-27  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (Fset_window_configuration): Record any window's old
 +      buffer if it's replaced (see Bug#8789).  If the new current
 +      buffer doesn't appear in the selected window, go to its old
 +      point (Bug#12208).
 +
 +2012-08-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Special MEM_TYPE_SPARE to denote reserved memory.
 +      * alloc.c (enum mem_type): New memory type.
 +      (refill_memory_reserve): Use new type for spare memory.
 +      This prevents live_cons_p and live_string_p from incorrect
 +      detection of uninitialized objects from spare memory as live.
 +
 +2012-08-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Spelling fixes.
 +      * Makefile.in (.PHONY): versioclean -> versionclean.
 +
 +      Remove unused external symbols.
 +      * data.c (Qcons, Qfloat, Qmisc, Qstring, Qvector):
 +      * window.c (Qwindow_valid_p, decode_valid_window):
 +      Now static, not extern.
 +      * data.c (Qinterval): Remove; unused.
 +      (syms_of_data): Do not define 'interval'.
 +      * lisp.h (Qinteger, Qstring, Qmisc, Qvector, Qfloat, Qcons):
 +      * window.h (decode_valid_window):
 +      Remove decls.
 +
 +      * character.c, charset.c, chartab.c: Use bool for booleans.
 +      * character.c (lisp_string_width, string_count_byte8)
 +      (string_escape_byte8):
 +      * charset.c (charset_map_loaded, load_charset_map, read_hex):
 +      (load_charset_map_from_file, map_charset_chars)
 +      (Fdefine_charset_internal, define_charset_internal)
 +      (Fdeclare_equiv_charset, find_charsets_in_text)
 +      (Ffind_charset_region, char_charset, Fiso_charset):
 +      * chartab.c (sub_char_table_ref, sub_char_table_ref_and_range)
 +      (sub_char_table_set, sub_char_table_set_range)
 +      (char_table_set_range, optimize_sub_char_table)
 +      (map_sub_char_table):
 +      Use bool for boolean.
 +      * character.c (str_to_unibyte): Omit last boolean argument; it was
 +      always 0.  All callers changed.
 +      * character.h, charset.h: Adjust to match previous changes.
 +      * character.h (char_printable_p): Remove decl of nonexistent function.
 +      * charset.h (struct charset): Members code_linear_p, iso_chars_96,
 +      ascii_compatible_p, supplementary_p, compact_codes_p, unified_p
 +      are all boolean, so make them single-bit bitfields.
 +
 +      * lisp.h (ASET): Remove attempt to detect side effects.
 +      It was meant to be temporary and it often doesn't work,
 +      because when IDX has side effects the behavior of IDX==IDX
 +      is undefined.  See Stefan Monnier in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00762.html>.
 +
 +2012-08-26  Barry OReilly  <gundaetiapo@gmail.com>  (tiny change)
 +
 +      * lisp.h (functionp): New function (extracted from Ffunctionp).
 +      (FUNCTIONP): Use it.
 +      * eval.c (Ffunctionp): Use it.
 +
 +2012-08-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xgselect.c (xg_select): Use auto storage for the GPollFD buffer
 +      as that's faster and simpler than static storage.  Don't bother
 +      with the g_main_context_query overhead if g_main_context_pending
 +      says no events are pending.
 +      (gfds, gfds_size): Remove these static vars.
 +      (xgselect_initialize): Remove; no longer needed.
 +      All uses and decls removed.
 +
 +      * emacs.c (fatal_error_signal_hook): Remove.
 +      All uses removed.  This leftover from old code was always 0.
 +
 +      * casefiddle.c, casetab.c, category.c: Use bool for boolean.
 +      * casefiddle.c (casify_object, casify_region):
 +      * casetab.c (set_case_table):
 +      * category.c, category.h (word_boundary_p):
 +      * category.h (CHAR_HAS_CATEGORY):
 +      Use bool for booleans, instead of int.
 +
 +2012-08-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on $(GNU_LIB)/execinfo.h.
 +
 +2012-08-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      On assertion failure, print backtrace if available.
 +      * alloc.c [ENABLE_CHECKING]: Include <execinfo.h>.
 +      (die) [ENABLE_CHECKING]: Print a backtrace if available.
 +      * Makefile.in (LIB_EXECINFO): New macro.
 +      (LIBES): Use it.
 +
 +      * bytecode.c, callint.c, callproc.c: Use bool for boolean.
 +      * bytecode.c (exec_byte_code):
 +      * callint.c (check_mark, Fcall_interactively):
 +      * callproc.c (Fcall_process, add_env, child_setup, getenv_internal_1)
 +      (getenv_internal, sync_process_alive, call_process_exited):
 +      * lisp.h (USE_SAFE_ALLOCA):
 +      Use bool for booleans, instead of int.
 +      * lisp.h, process.h: Adjust prototypes to match above changes.
 +      * callint.c (Fcall_interactively): Don't assume the mark's
 +      offset fits in 'int'.
 +
 +2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * buffer.c, buffer.h: Use bool for boolean.
 +      * buffer.c (reset_buffer_local_variables)
 +      (buffer_lisp_local_variables, Fset_buffer_modified_p)
 +      (Frestore_buffer_modified_p, Fset_buffer_multibyte):
 +      (overlays_at, overlays_in, mouse_face_overlay_overlaps)
 +      (overlay_touches_p, overlay_strings, Foverlay_put)
 +      (report_overlay_modification, call_overlay_mod_hooks):
 +      (mmap_enlarge, mmap_set_vars):
 +      * buffer.h (buffer_has_overlays, uppercasep, lowercasep):
 +      Use bool for booleans, instead of int.
 +      * buffer.c (compact_buffer, mmap_free_1): Return void, not int,
 +      since the 1-or-0 return value is always ignored anyway.
 +      (mmap_initialized_p):
 +      * buffer.h (struct buffer_text.inhibit_shrinking): Now bool, not int.
 +      * buffer.h, lisp.h: Adjust prototypes to match above changes.
 +
 +2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * bidi.c: Use bool for boolean.
 +      This is a bit more readable, and makes the text segment of bidi.o
 +      0.4% smaller on my platform (GCC 4.7.1 x86-64, Fedora 15).
 +      Presumably it's faster too.
 +      (bidi_initialized, bidi_ignore_explicit_marks_for_paragraph_level):
 +      Now bool.
 +      (bidi_cache_find_level_change, bidi_cache_iterator_state)
 +      (bidi_unshelve_cache, bidi_init_it, bidi_count_bytes)
 +      (bidi_char_at_pos, bidi_fetch_char, bidi_paragraph_init)
 +      (bidi_explicit_dir_char, bidi_level_of_next_char)
 +      (bidi_find_other_level_edge, bidi_move_to_visually_next):
 +      Use bool for booleans, instead of int.
 +      * dispextern.h (bidi_init_it, bidi_paragraph_init)
 +      (bidi_unshelve_cache): Adjust decls to match code.
 +
 +2012-08-23  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * keyboard.c (Fposn_at_x_y): Do not allow internal window as
 +      argument.
 +
 +2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * atimer.c, atimer.h (turn_on_atimers): Use bool for boolean.
 +      * atimer.h: Include <stdbool.h>.
 +
 +2012-08-22  Dan Nicolaescu  <dann@gnu.org>
 +
 +      * frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_NS_P): Change to
 +      compile time tests instead of run time tests on systems that do
 +      not use them.
 +      (FRAME_MAC_P): Remove leftover from deleted code.
 +      * frame.c (syms_of_frame): Remove leftover from deleted code.
 +
 +2012-08-22  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (insertText:): Don't clear modifiers if code is space.
 +
 +2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * fontset.c (FONTSET_ADD): Return void, not Lisp_Object.
 +      Otherwise, the compiler complains about (A?B:C) where B is void
 +      and C is Lisp_Object.  This fixes an incompatibility with Sun C 5.12.
 +      (fontset_add): Return void, for FONTSET_ADD.
 +
 +2012-08-21  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c: Use bool for booleans.
 +      (gc_in_progress, abort_on_gc)
 +      (setjmp_tested_p) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
 +      (dont_register_blocks) [GC_MALLOC_CHECK]:
 +      (suppress_checking) [ENABLE_CHECKING]: Now bool, not int.
 +      (check_string_bytes, make_specified_string, memory_full)
 +      (live_string_p, live_cons_p, live_symbol_p, live_float_p)
 +      (live_misc_p, live_vector_p, live_buffer_p, mark_maybe_object)
 +      (mark_stack, valid_pointer_p, make_pure_string)
 +      (Fgarbage_collect, survives_gc_p, gc_sweep):
 +      Use bool for booleans, instead of int.
 +      (test_setjmp) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
 +      Remove unused local.
 +      * alloc.c (PURE_POINTER_P):
 +      * lisp.h (STRING_MULTIBYTE): Document that it returns a boolean.
 +      * editfns.c (Fformat):
 +      * fileio.c (Fexpand_file_name, Fsubstitute_in_file_name)
 +      (Fdo_auto_save):
 +      * fns.c (sweep_weak_table):
 +      * lisp.h (suppress_checking, push_message, survives_gc_p)
 +      (make_pure_string, gc_in_progress, abort_on_gc):
 +      * lread.c (readchar, read1):
 +      * print.c (Fprin1_to_string):
 +      * xdisp.c (push_message):
 +      Use bool for booleans affected directly or indirectly by
 +      alloc.c's changes.
 +
 +      Make recently-introduced setters macros.
 +      * fontset.c (set_fontset_id, set_fontset_name, set_fontset_ascii)
 +      (set_fontset_base, set_fontset_frame, set_fontset_nofont_face)
 +      (set_fontset_default, set_fontset_fallback): Rename from their
 +      upper-case counterparts, and make them functions rather than macros.
 +      This is more consistent with the other recently-introduced setters.
 +      These don't need to be inline, since they're local.
 +
 +2012-08-21  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (fd_handler:): Alloc and release a NSAutoreleasePool in
 +      the loop (Bug#12247).
 +
 +2012-08-21  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (vcopy): Use memcpy rather than our own loop.
 +      This fixes a performance regression introduced by the recent
 +      addition of vcopy.  This means 'vcopy' will need to be modified
 +      for a copying collector, but that's OK.  Also, tighten the
 +      checking in the assertion.
 +
 +2012-08-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32uniscribe.c (uniscribe_shape): Fix producing gstring
 +      components for RTL text (Bug#11860).  Adjust X-OFFSET of each
 +      non-base glyph for the width of the base character, according to
 +      what x_draw_composite_glyph_string_foreground expects.
 +      Generate WADJUST value according to composition_gstring_width's
 +      expectations, to produce correct width of the composed character.
 +      Reverse the sign of the DU offset produced by ScriptPlace.
 +
 +2012-08-21  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * dbusbind.c (xd_remove_watch): Do not assume C99 comments.
 +
 +2012-08-21  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid direct writes to contents member of struct Lisp_Vector.
 +      * lisp.h (vcopy): New function to copy data into vector.
 +      * dispnew.c (Fframe_or_buffer_changed_p): Use AREF and ASET.
 +      * fns.c (Ffillarray): Use ASET.
 +      * keyboard.c (timer_check_2): Use AREF and ASET.
 +      (append_tool_bar_item, Frecent_keys): Use vcopy.
 +      * lread.c (read_vector): Use ASET.
 +      * msdos.c (Frecent_doskeys): Use vcopy.
 +      * xface.c (Finternal_copy_lisp_face): Use vcopy.
 +      (Finternal_merge_in_global_face): Use ASET and vcopy.
 +      * xfont.c (xfont_list_pattern): Likewise.
 +
 +2012-08-21  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (Fwindow_point): For the selected window always return
 +      the position of its buffer's point.
 +      (Fset_window_point): For the selected window always go in its
 +      buffer to the specified position.
 +
 +2012-08-21  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Setter macros for fontsets.
 +      * fontset.c (SET_FONTSET_ID, SET_FONTSET_NAME, SET_FONTSET_ASCII)
 +      (SET_FONTSET_BASE, SET_FONTSET_FRAME, SET_FONTSET_NOFONT_FACE)
 +      (SET_FONTSET_DEFAULT, SET_FONTSET_FALLBACK): New macros.
 +      Adjust users.
 +
 +2012-08-20  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
 +      Don't assume that `ln -f' works.
 +
 +2012-08-20  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * .gdbinit: Use "set $dummy = ..." to avoid warnings from GDB 7.5
 +      and later about non-assignments with no effect.  See discussion at
 +      http://sourceware.org/ml/gdb-patches/2012-08/msg00518.html for
 +      details.
 +
 +2012-08-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Inline setter functions for Lisp_Objects slots of struct specbinding.
 +      * eval.c (set_specpdl_symbol, set_specpdl_old_value): New functions.
 +      Adjust users.
 +
 +2012-08-20  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (select_window): Always make selected window's buffer
 +      current.
 +
 +2012-08-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use AREF and ASET for docstrings of category tables.
 +      * category.h (CATEGORY_DOCSTRING): Use AREF.
 +      (SET_CATEGORY_DOCSTRING): Use ASET.
 +      * category.c (Fdefine_category): Use SET_CATEGORY_DOCSTRING.
 +
 +2012-08-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Inline setter functions for hash table members.
 +      * lisp.h (set_hash_key, set_hash_value, set_hash_next)
 +      (set_hash_hash, set_hash_index): Rename with _slot suffix.
 +      (set_hash_key_and_value, set_hash_index, set_hash_next)
 +      (set_hash_hash): New functions.
 +      * charset.c, fns.c: Adjust users.
 +
 +2012-08-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Inline getter and setter functions for per-buffer values.
 +      * buffer.h (per_buffer_default, set_per_buffer_default)
 +      (per_buffer_value, set_per_buffer_value): New functions.
 +      (PER_BUFFER_VALUE, PER_BUFFER_DEFAULT): Remove.
 +      * buffer.c, data.c: Adjust users.
 +
 +2012-08-20  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in ($(BLD)/vm-limit.$(O)): Update dependencies.
 +
 +2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Rely on <config.h> + <unistd.h> to declare 'environ',
 +      as gnulib does this if the system doesn't.
 +      * callproc.c, editfns.c, process.c (environ) [!USE_CRT_DLL]:
 +      Remove declaration.  MS-Windows declares it on stdlib.h which is
 +      included by conf_post.h.
 +      * emacs.c (environ) [DOUG_LEA_MALLOC]:
 +      * vm-limit.c (environ) [ORDINARY_LINK]: Remove decl.
 +      * vm-limit.c: Include <unistd.h>, for 'environ'.
 +
 +      * unexaix.c, unexcoff.c: Include "mem-limits.h".
 +      (start_of_data): Remove decl; mem-limits.h provides it.
 +
 +      * xdisp.c (handle_invisible_prop): Make it a bit faster
 +      and avoid a gcc -Wmaybe-uninitialized diagnostic.
 +
 +2012-08-19  Chong Yidong  <cyd@gnu.org>
 +
 +      * xdisp.c (handle_invisible_prop): Fix ellipses at overlay string
 +      ends (Bug#3874).
 +
 +2012-08-19  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * .gdbinit: Use call instead of set when calling a function in the
 +      inferior.
 +
 +      * data.c (set_internal): Don't use set_blv_found.
 +      (Fkill_local_variable): Likewise.
 +
 +2012-08-18  Alp Aker  <alp.tekin.aker@gmail.com>
 +
 +      * nsfont.m (ns_ascii_average_width): Ensure the string
 +      ascii_printable is initialized with a null-terminated character
 +      array.  Otherwise, it can contain undesired extra characters.
 +
 +2012-08-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      port new setting code to Sun C 5.8 2005/10/13
 +      * chartab.c, lisp.h (char_table_set, char_table_set_range):
 +      Return void, not Lisp_Object.  Otherwise, the compiler
 +      complains about (A?B:C) where B is void and C is Lisp_Object
 +      when compiling CHAR_TABLE_SET, due to the recent change to
 +      the API of sub_char_table_set_contents.
 +
 +2012-08-18  Chong Yidong  <cyd@gnu.org>
 +
 +      * xdisp.c (handle_invisible_prop): Obey TEXT_PROP_MEANS_INVISIBLE
 +      for the string case (Bug#3874).
 +
 +2012-08-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * buffer.h (BSET): Remove (Bug#12215).
 +      Replace all uses with calls to new setter functions.
 +      (bset_bidi_paragraph_direction, bset_case_canon_table)
 +      (bset_case_eqv_table, bset_directory, bset_display_count)
 +      (bset_display_time, bset_downcase_table)
 +      (bset_enable_multibyte_characters, bset_filename, bset_keymap)
 +      (bset_last_selected_window, bset_local_var_alist)
 +      (bset_mark_active, bset_point_before_scroll, bset_read_only)
 +      (bset_truncate_lines, bset_undo_list, bset_upcase_table)
 +      (bset_width_table):
 +      * buffer.c (bset_abbrev_mode, bset_abbrev_table)
 +      (bset_auto_fill_function, bset_auto_save_file_format)
 +      (bset_auto_save_file_name, bset_backed_up, bset_begv_marker)
 +      (bset_bidi_display_reordering, bset_buffer_file_coding_system)
 +      (bset_cache_long_line_scans, bset_case_fold_search)
 +      (bset_ctl_arrow, bset_cursor_in_non_selected_windows)
 +      (bset_cursor_type, bset_display_table, bset_extra_line_spacing)
 +      (bset_file_format, bset_file_truename, bset_fringe_cursor_alist)
 +      (bset_fringe_indicator_alist, bset_fringes_outside_margins)
 +      (bset_header_line_format, bset_indicate_buffer_boundaries)
 +      (bset_indicate_empty_lines, bset_invisibility_spec)
 +      (bset_left_fringe_width, bset_major_mode, bset_mark)
 +      (bset_minor_modes, bset_mode_line_format, bset_mode_name)
 +      (bset_name, bset_overwrite_mode, bset_pt_marker)
 +      (bset_right_fringe_width, bset_save_length)
 +      (bset_scroll_bar_width, bset_scroll_down_aggressively)
 +      (bset_scroll_up_aggressively, bset_selective_display)
 +      (bset_selective_display_ellipses, bset_vertical_scroll_bar_type)
 +      (bset_word_wrap, bset_zv_marker):
 +      * category.c (bset_category_table):
 +      * syntax.c (bset_syntax_table):
 +      New setter functions.
 +
 +      * process.h (PSET): Remove (Bug#12215).
 +      Replace all uses with calls to new setter functions.
 +      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
 +      (PROCESS_INLINE): New macro.
 +      (pset_childp): New setter function.
 +      (pset_gnutls_cred_type) [HAVE_GNUTLS]: New setter function.
 +      * process.c (PROCESS_INLINE):
 +      Define to EXTERN_INLINE, so that the corresponding functions
 +      are compiled into code.
 +      (pset_buffer, pset_command, pset_decode_coding_system)
 +      (pset_decoding_buf, pset_encode_coding_system)
 +      (pset_encoding_buf, pset_filter, pset_log, pset_mark, pset_name)
 +      (pset_plist, pset_sentinel, pset_status, pset_tty_name)
 +      (pset_type, pset_write_queue): New setter functions.
 +
 +      * window.h (WSET): Remove (Bug#12215).
 +      Replace all uses with calls to new setter functions.
 +      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
 +      (WINDOW_INLINE): New macro.
 +      (wset_buffer, wset_frame, wset_left_col, wset_next, wset_prev)
 +      (wset_redisplay_end_trigger, wset_top_line, wset_total_cols)
 +      (wset_total_lines, wset_vertical_scroll_bar)
 +      (wset_window_end_pos, wset_window_end_valid)
 +      (wset_window_end_vpos): New setter functions.
 +      * window.c (WINDOW_INLINE):
 +      Define to EXTERN_INLINE, so that the corresponding functions
 +      are compiled into code.
 +      (wset_combination_limit, wset_dedicated, wset_display_table)
 +      (wset_hchild, wset_left_fringe_width, wset_left_margin_cols)
 +      (wset_new_normal, wset_new_total, wset_next_buffers)
 +      (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
 +      (wset_prev_buffers, wset_right_fringe_width)
 +      (wset_right_margin_cols, wset_scroll_bar_width, wset_start)
 +      (wset_temslot, wset_vchild, wset_vertical_scroll_bar_type)
 +      (wset_window_parameters):
 +      * xdisp.c (wset_base_line_number, wset_base_line_pos)
 +      (wset_column_number_displayed, wset_region_showing):
 +      New setter functions.
 +
 +      * termhooks.h (TSET): Remove (Bug#12215).
 +      Replace all uses with calls to new setter functions.
 +      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
 +      (TERMHOOKS_INLINE): New macro.
 +      (tset_charset_list, tset_selection_alist): New setter functions.
 +      * terminal.c (TERMHOOKS_INLINE):
 +      Define to EXTERN_INLINE, so that the corresponding functions
 +      are compiled into code.
 +      (tset_param_alist): New setter function.
 +
 +2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * keyboard.h (KSET): Remove (Bug#12215).
 +      Replace all uses with calls to new setter functions.
 +      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
 +      (KEYBOARD_INLINE): New macro.
 +      (kset_default_minibuffer_frame, kset_defining_kbd_macro)
 +      (kset_input_decode_map, kset_last_command, kset_last_kbd_macro)
 +      (kset_prefix_arg, kset_system_key_alist, kset_window_system):
 +      New setter functions.
 +      * keyboard.c (KEYBOARD_INLINE):
 +      Define to EXTERN_INLINE, so that the corresponding functions
 +      are compiled into code.
 +      (kset_echo_string, kset_kbd_queue)
 +      (kset_keyboard_translate_table, kset_last_prefix_arg)
 +      (kset_last_repeatable_command, kset_local_function_key_map)
 +      (kset_overriding_terminal_local_map, kset_real_last_command)
 +      (kset_system_key_syms): New setter functions.
 +
 +      * frame.h (FSET): Remove (Bug#12215).
 +      Replace all uses with calls to new setter functions.
 +      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
 +      (FRAME_INLINE): New macro.
 +      (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars)
 +      (fset_current_tool_bar_string, fset_desired_tool_bar_string)
 +      (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items)
 +      (fset_menu_bar_vector, fset_menu_bar_window, fset_name)
 +      (fset_param_alist, fset_root_window, fset_scroll_bars)
 +      (fset_selected_window, fset_title, fset_tool_bar_items)
 +      (fset_tool_bar_position, fset_tool_bar_window): New functions.
 +      * frame.c (FRAME_INLINE):
 +      Define to EXTERN_INLINE, so that the corresponding functions
 +      are compiled into code.
 +      (fset_buffer_predicate, fset_minibuffer_window): New setter functions.
 +
 +      A few more naming-convention fixes for getters and setters.
 +      * buffer.c (set_buffer_overlays_before): Move here from buffer.h,
 +      and rename from buffer_overlays_set_before.
 +      (set_buffer_overlays_after): Move here from buffer.h, and rename
 +      from buffer_overlays_set_after.
 +      * buffer.h (buffer_intervals): Rename from buffer_get_intervals.
 +      All uses changed.
 +      (set_buffer_intervals): Rename from buffer_set_intervals.
 +      * intervals.c (set_interval_object): Move here from intervals.h,
 +      and rename from interval_set_object.
 +      (set_interval_left): Move here from intervals.h, and rename from
 +      interval_set_left.
 +      (set_interval_right): Move here from intervals.h, and rename from
 +      interval_set_right.
 +      (copy_interval_parent): Move here from intervals.h, and rename from
 +      interval_copy_parent.
 +      * intervals.h (set_interval_parent): Rename from interval_set_parent.
 +      (set_interval_plist): Rename from interval_set_plist.
 +      Return void, not Lisp_Object, since no caller uses the result.
 +      * lisp.h (string_intervals): Rename from string_get_intervals.
 +      (set_string_intervals): Rename from string_set_intervals.
 +
 +      * lisp.h (set_char_table_extras): Rename from char_table_set_extras.
 +      (set_char_table_contents): Rename from char_table_set_contents.
 +      (set_sub_char_table_contents): Rename from sub_char_table_set_contents.
 +      All uses changed.  See the end of
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00549.html>.
 +
 +      * lisp.h (CSET): Remove (Bug#12215).
 +      (set_char_table_ascii, set_char_table_defalt, set_char_table_parent)
 +      (set_char_table_purpose): New functions,
 +      replacing CSET.  All uses changed.  For example, replace
 +      "CSET (XCHAR_TABLE (char_table), parent, parent);" with
 +      "set_char_table_parent (char_table, parent);".
 +      The old version was confusing because it used the same name
 +      'parent' for two different things.
 +
 +2012-08-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Functions to get and set Lisp_Object fields of buffer-local variables.
 +      * lisp.h (blv_found, set_blv_found, blv_value, set_blv_value)
 +      (set_blv_where, set_blv_defcell, set_blv_valcell): New functions.
 +      (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): Remove.
 +      * data.c, eval.c, frame.c: Adjust users.
 +
 +2012-08-17  Chong Yidong  <cyd@gnu.org>
 +
 +      * xfaces.c (merge_face_vectors): If the target font specfies a
 +      font spec, make the font's attributes take precedence over
 +      directly-specified attributes.
 +      (merge_face_ref): Recognize :font.
 +
 +2012-08-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Do not use memcpy for copying intervals.
 +      * intervals.c (reproduce_interval): New function.
 +      (reproduce_tree, reproduce_tree_obj): Use it.
 +      (reproduce_tree_obj): Remove prototype.
 +
 +2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (duration_to_sec_usec): Remove unused decl.
 +
 +2012-08-17  Alp Aker  <alp.tekin.aker@gmail.com>
 +
 +      * nsfont.m (ns_ascii_average_width): Send initWithFormat selector
 +      to an allocated instance of NSString, not to the class itself.
 +
 +2012-08-17  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in (C_CTYPE_H): New macro.
 +      (LISP_H, $(BLD)/ccl.$(O), $(BLD)/doc.$(O), $(BLD)/w32console.$(O)):
 +      ($(BLD)/fontset.$(O), $(BLD)/frame.$(O), $(BLD)/composite.$(O)):
 +      ($(BLD)/sysdep.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies.
 +
 +2012-08-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use ASCII tests for character types.
 +      * category.c, dispnew.c, doprnt.c, editfns.c, syntax.c, term.c:
 +      * xfns.c, xterm.c:
 +      Don't include <ctype.h>; was not needed.
 +      * charset.c, doc.c, fileio.c, font.c, frame.c, gtkutil.c, image.c:
 +      * sysdep.c, xfaces.c:
 +      Include <c-ctype.h> instead of <ctype.h>.
 +      * nsterm.m: Include <c-ctype.h>.
 +      * charset.c (read_hex):
 +      * doc.c (Fsnarf_documentation):
 +      * fileio.c (IS_DRIVE) [WINDOWSNT]:
 +      (DRIVE_LETTER) [DOS_NT]:
 +      (Ffile_name_directory, Fexpand_file_name)
 +      (Fsubstitute_in_file_name):
 +      * font.c (font_parse_xlfd, font_parse_fcname):
 +      * frame.c (x_set_font_backend):
 +      * gtkutil.c (xg_get_font):
 +      * image.c (xbm_scan, xpm_scan, pbm_scan_number):
 +      * nsimage.m (hexchar):
 +      * nsterm.m (ns_xlfd_to_fontname):
 +      * sysdep.c (system_process_attributes):
 +      * xfaces.c (hash_string_case_insensitive):
 +      Use C-locale tests instead of locale-specific tests for character
 +      types, since we want the ASCII interpretation here, not the
 +      interpretation suitable for whatever happens to be the current locale.
 +
 +2012-08-16  Martin Rudalics  <rudalics@gmx.at>
 +
 +      Consistently check windows for validity/liveness
 +      (Bug#11984, Bug#12025, Bug#12026).
 +      * lisp.h (CHECK_VALID_WINDOW): New macro.
 +      * window.c (decode_window): Rename to decode_live_window.
 +      (decode_valid_window, Fwindow_valid_p): New functions.
 +      (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p)
 +      (Fframe_first_window, Fframe_selected_window, Fwindow_parent)
 +      (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling)
 +      (Fwindow_prev_sibling, Fwindow_combination_limit)
 +      (Fset_window_combination_limit, Fwindow_use_time)
 +      (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total)
 +      (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column)
 +      (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width)
 +      (Fwindow_hscroll, Fset_window_hscroll)
 +      (Fwindow_redisplay_end_trigger)
 +      (Fset_window_redisplay_end_trigger, Fwindow_edges)
 +      (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges)
 +      (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
 +      (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start)
 +      (Fwindow_end, Fset_window_point, Fset_window_start)
 +      (Fpos_visible_in_window_p, Fwindow_line_height)
 +      (Fwindow_dedicated_p, Fset_window_dedicated_p)
 +      (Fwindow_prev_buffers, Fset_window_prev_buffers)
 +      (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter)
 +      (Fset_window_parameter, Fwindow_display_table)
 +      (Fset_window_display_table, Fdelete_other_windows_internal)
 +      (Fset_window_buffer, Fset_window_new_total)
 +      (Fset_window_new_normal, Fdelete_window_internal)
 +      (Fwindow_text_height, Fset_window_margins, Fwindow_margins)
 +      (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars)
 +      (Fwindow_scroll_bars): Check whether argument window is a valid or
 +      live window.  Update doc-strings.
 +      (syms_of_window): New symbol Qwindow_valid_p.
 +      * keyboard.c (Fposn_at_x_y): Check whether argument
 +      frame_or_window denotes a valid window.
 +
 +2012-08-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix previous char table change.
 +      * lisp.h (CHAR_TABLE_SET): Use sub_char_table_set_contents.
 +      * chartab.c (optimize_sub_char_table): Likewise.
 +
 +2012-08-16  Chong Yidong  <cyd@gnu.org>
 +
 +      * gtkutil.c (xg_get_font): Demand an Xft font (Bug#3228).
 +
 +      * xfont.c (xfont_open):
 +      * xftfont.c (xftfont_open): Set the font's max_width field.
 +
 +      * nsfont.m (nsfont_open): Similar to the Xft backend, set
 +      min_width to space_width and average_width to the average over
 +      printable ASCII characters.
 +      (ns_char_width): Code cleanup.
 +      (ns_ascii_average_width): New utility function.
 +
 +      * font.h (struct font): Update comments.
 +
 +2012-08-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Simple interface to set Lisp_Object fields of character tables.
 +      * lisp.h (CSET): New macro.
 +      (char_table_set_extras, char_table_set_contents)
 +      (sub_char_table_set_contents): New function.
 +      * casetab.c, category.c, chartab.c, fns.c, fontset.c, search.c:
 +      * syntax.c: Adjust users.
 +
 +2012-08-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * eval.c (eval_sub): Bind lexical-binding.
 +      * lread.c (Qlexical_binding): Make non-static.
 +
 +2012-08-15  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsmenu.m (popupSession): Remove.
 +      (pop_down_menu): Remove endModalSession.
 +      (timeout_handler:): New method.
 +      (runDialogAt:): Get next timeout.  Start a NSTimer with that timeout.
 +      Call runModalForWindow.  Check timer_fired when it returns.
 +      If not set, cancel timer and break out of loop.
 +      Otherwise loop again, with a new timeout.
 +
 +      * nsterm.m: Include fcntl.h if present.
 +      (fd_entry, t_readfds, inNsSelect): Remove.
 +      (select_writefds, select_valid, select_timeout, selfds)
 +      (select_mutex, apploopnr): Add.
 +      (EV_TRAILER): Call kbd_buffer_store_event_hold only if q_event_ptr.
 +      Otherwise call kbd_buffer_store_event.
 +      (ns_send_appdefined): Remove release of fd_entry.
 +      (ns_read_socket): Always send appdefined.  Remove inNsSelect check.
 +      Increment and decrement apploopnr.
 +      (ns_select): If no file descriptors, just do a NSTimer.
 +      Otherwise copy read/write masks and start select thread (fd_handler).
 +      Start main loop and wait for application defined event.
 +      Inform select thread to stop selecting after main loop is exited.
 +      (ns_term_init): Create selfds pipe and set non-blocking.
 +      Initialize select_mutex. Start the select thread (fd_handler).
 +      (fd_handler:): Loop forever, wait for info from the main thread
 +      to either start or stop selecting.  When select returns, send
 +      and appdefined event.
 +      (sendScrollEventAtLoc:fromEvent:): Check if q_event_ptr is set.
 +      If not call kbd_buffer_store_event.
 +
 +      * nsterm.h (EmacsApp): fd_handler takes id argument.
 +      (EmacsDialogPanel): Add timer_fired and timeout_handler.
 +
 +      * gtkutil.c (xg_mark_data): Use FRAME_X_P.
 +
 +2012-08-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * region-cache.c (move_cache_gap): Update gap_len using the actual
 +      growth of the boundaries array.  Do not change cache_len.
 +      (Bug#12196)
 +
 +2012-08-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Generalize and cleanup font subsystem checks.
 +      * font.h (FONT_DEBUG, font_assert): Remove.
 +      * font.c, fontset.c, w32font.c, xfont.c, xftfont.c:
 +      Change font_assert to eassert.  Use eassert where appropriate.
 +
 +2012-08-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * gtkutil.c (xg_get_font): Use pango_units_to_double.
 +
 +2012-08-15  Chong Yidong  <cyd@gnu.org>
 +
 +      * gtkutil.c (xg_get_font): Rename from xg_get_font_name.
 +      When using the new font chooser, use gtk_font_chooser_get_font_desc to
 +      extract the font descriptor instead of just the font name.
 +      In that case, return a font spec instead of a string.
 +      (x_last_font_name): Move to this file from xfns.c.
 +
 +      * xfns.c (Fx_select_font): The return value can also be a font
 +      spec.  Move x_last_font_name management to gtkutil.c.
 +
 +      * xfaces.c: Make font weight and style symbols non-static.
 +
 +2012-08-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * minibuf.c (read_minibuf): Ignore caller's inhibit-read-only
 +      (bug#12117).
 +
 +2012-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * alloc.c (Fgarbage_collect): Use plural form consistently.
 +
 +2012-08-14  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * keyboard.c (command_loop_1): Reset ignore_mouse_drag_p flag each
 +      iteration through the command loop.  Fixes a problem whereby mouse
 +      movements are ignored until the first mouse click.
 +
 +2012-08-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use bool, not int, for Lisp booleans.
 +      This is more natural, and on my platform (GCC 4.7.1 x86-64) it
 +      makes Emacs a bit smaller and presumably a bit faster.
 +      * lisp.h: Include <stdbool.h>.
 +      (struct Lisp_Boolfwd, defvar_bool):
 +      * lread.c (defvar_bool): Use bool, not int, for Lisp booleans.
 +      * regex.c [!emacs]: Include <stdbool.h>.
 +      (false, true): Remove; <stdbool.h> does this for us now.
 +
 +2012-08-14  Chong Yidong  <cyd@gnu.org>
 +
 +      * character.c (Fcharacterp): Doc fix (Bug#12076).
 +
 +      * data.c (Findirect_variable): Doc fix (Bug#11040).
 +
 +      * chartab.c (Fmap_char_table): Doc fix (Bug#12061).
 +
 +      * editfns.c (Fformat): Doc fix (Bug#12059).
 +      (Fsave_current_buffer): Doc fix (Bug#11542).
 +
 +2012-08-14  Barry OReilly  <gundaetiapo@gmail.com>  (tiny change)
 +
 +      * keyboard.c (access_keymap_keyremap): Accept anonymous functions
 +      (bug#12022).
 +
 +2012-08-14  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (make_frame_without_minibuffer, make_minibuffer_frame)
 +      (delete_frame, Fmake_frame_invisible, Ficonify_frame):
 +      * minibuf.c (choose_minibuf_frame, read_minibuf):
 +      * w32fns.c (x_create_tip_frame):
 +      * xfns.c (x_create_tip_frame): Call set_window_buffer instead of
 +      Fset_window_buffer (Bug#11984, Bug#12025, Bug#12026).
 +
 +2012-08-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * intervals.c (offset_intervals): Remove obsolete comment.
 +
 +2012-08-14  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * gtkutil.c (find_rtl_image, update_frame_tool_bar): Use NILP.
 +
 +2012-08-14  Gergely Risko  <gergely@risko.hu>
 +
 +      * coding.c (decode_coding): Record buffer modification before
 +      disabling undo_list (Bug#11773).
 +
 +2012-08-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Revert and cleanup some recent overlay changes.
 +      * buffer.h (enum overlay_type): Remove.
 +      (buffer_get_overlays, buffer_set_overlays): Likewise.
 +      (buffer_set_overlays_before, buffer_set_overlays_after):
 +      New function.  Adjust users.
 +      (unchain_both): Add eassert.
 +
 +2012-08-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * gtkutil.c (update_frame_tool_bar): Use EQ where appropriate.
 +
 +2012-08-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * gtkutil.c (xg_mark_data): Don't assume C99.
 +
 +2012-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * gtkutil.c (xg_frame_tb_info): New struct.
 +      (TB_INFO_KEY): New define.
 +      (xg_free_frame_widgets): Free xg_frame_tb_info for frame if present.
 +      (xg_mark_data): Mark Lisp_Objects in xg_frame_tb_info.
 +      (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info
 +      if not present.
 +      (update_frame_tool_bar): Return early if data in xg_frame_tb_info
 +      is up to date. Otherwise store new data.
 +      (free_frame_tool_bar): Free xg_frame_tb_info if present.
 +
 +2012-08-13  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use KSET for write access to Lisp_Object members of struct kboard.
 +      * keyboard.h (KSET): New macro.
 +      * callint.c, category.c, frame.c, keyboard.c, keyboard.h, macros.c:
 +      * msdos.c, nsfns.m, nsterm.m, term.c, w32fns.c, w32term.c, xfns.c:
 +      * xterm.c: Adjust users.
 +
 +2012-08-13  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use BSET for write access to Lisp_Object members of struct buffer.
 +      * buffer.h (BSET): New macro.
 +      * buffer.c, casetab.c, cmds.c, coding.c, data.c, editfns.c:
 +      * fileio.c, frame.c, indent.c, insdel.c, intervals.c, keymap.c:
 +      * minibuf.c, print.c, process.c, syntax.c, undo.c, w32fns.c:
 +      * window.c, xdisp.c, xfns.c: Adjust users.
 +
 +2012-08-11  BT Templeton  <bpt@hcoop.net>  (tiny change)
 +
 +      * lread.c (syms_of_lread): Initialize Vlexical_binding.
 +
 +2012-08-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (not_in_argv): New function.
 +      (application:openFile,  application:openTempFile:):
 +      (application:openFileWithoutUI:, application:openFiles:): Open file
 +      if not_in_argv returns non-zero (bug#12171).
 +
 +      * gtkutil.c (gtk_font_chooser_dialog_new, GTK_FONT_CHOOSER)
 +      (gtk_font_chooser_set_font, gtk_font_chooser_get_font):
 +      Define for Gtk+ versions less than 3.2.
 +      (xg_get_font_name): Use those functions/macros here.
 +      Reported by Frans Oilinki <moilinki@gmail.com>.
 +
 +2012-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +
 +      * unexmacosx.c (copy_data_segment): Copy initialized data in
 +      statically linked libraries from input file rather than memory.
 +
 +      * unexmacosx.c (print_load_command_name): Add cases LC_MAIN,
 +      LC_SOURCE_VERSION, and LC_DYLIB_CODE_SIGN_DRS.
 +      (dump_it) [LC_DYLIB_CODE_SIGN_DRS]: Call copy_linkedit_data.
 +
 +2012-08-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * conf_post.h (IF_LINT, lint_assume): Move here from lisp.h.
 +      * lisp.h (IF_LINT, lint_assume): Move to conf_post.h.
 +
 +2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix last change to allow compilation with low optimization levels.
 +      * intervals.c (INTERVALS_INLINE): Define to EXTERN_INLINE.
 +      Reported by Jan Djärv <jan.h.d@swipnet.se>.
 +
 +2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use common inline syntax in intervals.h.
 +      * intervals.h (INTERVALS_INLINE): New macro.
 +      Change all users from LISP_INLINE.
 +
 +2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Define Qnone once for all platforms.
 +      * frame.c (Qnone): Define here.
 +      (syms_of_frame): DEFSYM it.
 +      * lisp.h (Qnone): New declaration.
 +      * nsfns.m, nsterm.h, nsterm.m, w32fns.c, w32font.c:
 +      * xfns.c: Remove duplication.  Adjust users.
 +
 +2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Remove unused macros from intervals.h.
 +      * intervals.h (MERGE_INSERTIONS, DISPLAY_INVISIBLE_GLYPH): Remove.
 +      * intervals.c: Adjust comment.
 +
 +2012-08-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32fns.c <w32_unicode_gui>: New static variable.
 +      (globals_of_w32fns): Initialize it according to os_subtype.
 +      (w32_init_class, w32_msg_pump, w32_wnd_proc): Use it instead of
 +      testing os_subtype.
 +
 +2012-08-10  Joakim Hårsman  <joakim.harsman@gmail.com>  (tiny change)
 +          Eli Zaretskii  <eliz@gnu.org>
 +
 +      Fix bug #10299 with Unicode characters sent by customized
 +      keyboards created by MSKLC.
 +      * w32fns.c (INIT_WINDOW_CLASS): New macro.
 +      (w32_init_class): Use it to initialize the Emacs class with either
 +      ANSI or Unicode API calls.
 +      (w32_msg_pump): Call GetMessageW and DispatchMessageW on NT and
 +      later.
 +      (w32_wnd_proc): If the character code sent by WM_CHAR or
 +      WM_SYSCHAR is above 255, post a WM_UNICHAR message, not the
 +      original message.  Call DefWindowProcW on NT and later.
 +
 +2012-08-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (config_h): Fix conf_post.h out-of-tree build location.
 +
 +      * lisp.h (DIRECTORY_SEP): Let configure set it.
 +
 +2012-08-09  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use TSET for write access to Lisp_Object slots of struct terminal.
 +      * termhooks.h (TSET): New macro.
 +      * coding.c, terminal.c, xselect.c: Adjust users.
 +
 +2012-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * xdisp.c (safe_eval_handler): Remove prototype.  Receive args describing
 +      the failing expression, include them in the error message.
 +      * eval.c (internal_condition_case_n): Pass nargs and args to hfun.
 +      * lisp.h (internal_condition_case_n): Update declaration.
 +
 +2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Inline functions to examine and change buffer overlays.
 +      * buffer.c (unchain_both): New function.
 +      * buffer.h (buffer_get_overlays, buffer_set_overlays):
 +      (buffer_has_overlays): New function.
 +      (enum overlay_type): New enum.
 +      * alloc.c, buffer.c, editfns.c, fileio.c, indent.c:
 +      * insdel.c, intervals.c, print.c, xdisp.c: Adjust users.
 +
 +2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Inline functions to examine and change buffer intervals.
 +      * alloc.c (mark_interval_tree): Remove.
 +      (MARK_INTERVAL_TREE): Simplify.
 +      (UNMARK_BALANCE_INTERVALS): Remove.  Adjust users.
 +      * intervals.c (buffer_balance_intervals): New function.
 +      (graft_intervals_into_buffer): Adjust indentation.
 +      (set_intervals_multibyte): Simplify.
 +      * buffer.h (BUF_INTERVALS): Remove.
 +      (buffer_get_intervals, buffer_set_intervals): New function.
 +      * alloc.c, buffer.c, editfns.c, fileio.c, indent.c, insdel.c:
 +      * intervals.c, textprop.c: Adjust users.
 +
 +2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Inline functions to examine and change string intervals.
 +      * lisp.h (STRING_INTERVALS, STRING_SET_INTERVALS): Remove.
 +      (string_get_intervals, string_set_intervals): New function.
 +      * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
 +      * lread.c, print.c, textprop.c: Adjust users.
 +
 +2012-08-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * lisp.mk (lisp): Remove language/persian.elc.
 +
 +2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup intervals.
 +      * intervals.h (NULL_INTERVAL, DEFAULT_INTERVAL): Remove.
 +      (NULL_INTERVAL_P): Likewise.  Adjust users.
 +      (FRONT_STICKY_P, END_NONSTICKY_P, FRONT_NONSTICKY_P):
 +      Adjust comment.  Move under #if 0.
 +      * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
 +      * print.c, syntax.c, textprop.c, xdisp.c: Adjust users.
 +
 +2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Check total length of intervals with eassert.
 +      * intervals.h (CHECK_TOTAL_LENGTH): Remove.
 +      * intervals.c: Change all users to eassert.
 +
 +2012-08-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * .gdbinit (xframe, xwindow, nextcons, xcar, xcdr, xlist):
 +      Rename fields to match removal of FGET and WGET and disuse of
 +      INTERNAL_FIELD in Lisp_Cons.
 +
 +2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things.
 +      * lisp.h (struct Lisp_Symbol): Change xname to meaningful
 +      name since all xname users are fixed long time ago.  Do not
 +      use INTERNAL_FIELD.
 +      (set_symbol_name, set_symbol_function, set_symbol_plist):
 +      (set_symbol_next, set_overlay_plist): New function.
 +      (struct Lisp_Cons): Do not use INTERNAL_FIELD.
 +      (struct Lisp_Overlay): Likewise.
 +      (CVAR, MVAR, SVAR): Remove.
 +      * alloc.c, buffer.c, buffer.h, bytecode.c, cmds.c, data.c:
 +      * doc.c, eval.c, fns.c, keyboard.c, lread.c, nsselect.m:
 +      * xterm.c: Adjust users.
 +      * .gdbinit: Change to use name field of struct Lisp_Symbol
 +      where appropriate.
 +
 +2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Basic functions to set Lisp_Object and pointer slots of intervals.
 +      * intervals.h (interval_set_parent, interval_set_object):
 +      (interval_set_left, interval_set_right, interval_set_plist):
 +      (interval_copy_parent): New function.
 +      (SET_INTERVAL_OBJECT, SET_INTERVAL_PARENT, INTERVAL_PTR_SIZE): Remove.
 +      (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE):
 +      Adjust indentation.
 +      (INTERVAL_SIZE): Remove.  Adjust users.
 +      * alloc.c, intervals.c, lread.c, textprop.c: Use new functions.
 +
 +2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process.
 +      * process.h (PGET): Remove.
 +      (struct Lisp_Process): Do not use INTERNAL_FIELD.
 +      * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
 +
 +2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Drop WGET and revert read access to Lisp_Objects slots of struct window.
 +      * window.h (WGET): Remove.
 +      (struct window): Do not use INTERNAL_FIELD.
 +      * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
 +      * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
 +      * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
 +      * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
 +      * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
 +      Adjust users.
 +
 +2012-08-07  Chong Yidong  <cyd@gnu.org>
 +
 +      * window.c (Fwindow_edges, Fwindow_pixel_edges)
 +      (Fwindow_absolute_pixel_edges, Fdelete_other_windows_internal)
 +      (Fdelete_window_internal): Signal an error if the window is not on
 +      a live frame (Bug#12025).
 +
 +2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Drop FGET and revert read access to Lisp_Objects slots of struct frame.
 +      * frame.h (FGET): Remove.
 +      (struct frame): Do not use INTERNAL_FIELD.
 +      * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
 +      * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
 +      * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
 +      * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
 +
 +2012-08-06  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * w32.c: Silence compiler warnings.
 +      (map_w32_filename): Remove unused variable `is_fat'.
 +      (chase_symlinks): Add parentheses around expression.
 +
 +2012-08-06  Glenn Morris  <rgm@gnu.org>
 +
 +      * sysdep.c: Respect BROKEN_GETWD.
 +
 +      * dispnew.c (GNU_LIBRARY_PENDING_OUTPUT_COUNT, PENDING_OUTPUT_COUNT):
 +      Let configure handle it.
 +      (stdio_ext.h) [DISPNEW_NEEDS_STDIO_EXT]: Include it.
 +
 +2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use GCALIGNMENT where appropriate.
 +      * alloc.c (XMALLOC_HEADER_ALIGNMENT, roundup_size):
 +      (union aligned_Lisp_Symbol, union aligned_Lisp_Misc):
 +      (mark_maybe_pointer, pure_alloc): Change to use GCALIGNMENT.
 +
 +2012-08-06  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32menu.c (set_frame_menubar, initialize_frame_menubar):
 +      Don't use FRAME_MENU_BAR_ITEMS as an lvalue.
 +
 +2012-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * buffer.h (struct buffer): Revert `indirections' to a simple int;
 +      that should be sufficient for everyone.
 +
 +2012-08-06  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * keyboard.c (timer_check_2): Add break so timer_check returns next
 +      timeout.
 +
 +2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix Windows build errors introduced after converting to WGET and WSET.
 +      * w32term.c (w32_set_vertical_scroll_bar): Change to use WSET.
 +      Reported by Andy Moreton <andrewjmoreton@gmail.com>.
 +
 +2012-08-06  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (ns_frame_rehighlight): Use FSET.
 +
 +      * nsmenu.m (ns_update_menubar): Use FSET.
 +
 +2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Separate read and write access to Lisp_Object slots of Lisp_Process.
 +      * process.h (PGET, PSET): New macros similar to AREF and ASET.
 +      * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
 +
 +2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Separate read and write access to Lisp_Object slots of struct window.
 +      * window.h (WGET, WSET): New macros similar to AREF and ASET.
 +      * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
 +      * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
 +      * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
 +      * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
 +      * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
 +      Adjust users.
 +
 +2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix Windows build errors introduced after converting to FGET and FSET.
 +      * w32term.c (x_frame_rehighlight, x_scroll_bar_create):
 +      (w32_condemn_scroll_bars, w32_redeem_scroll_bar):
 +      (w32_judge_scroll_bars): Change to use FSET.
 +      Reported by Andy Moreton <andrewjmoreton@gmail.com>.
 +
 +2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix replacement typo.
 +      * window.c (replace_window): Set root_window instead of
 +      selected_window.  This fixes a total window subsystem
 +      malfunction reported by Bastien Guerry <bzg@gnu.org>.
 +
 +2012-08-06  Glenn Morris  <rgm@gnu.org>
 +
 +      * lisp.mk (lisp): Add language/persian.elc.
 +
 +2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Separate read and write access to Lisp_Object slots of struct frame.
 +      * frame.h (FGET, FSET): New macros similar to AREF and ASET.
 +      * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
 +      * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
 +      * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
 +      * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
 +
 +2012-08-05  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * emacs.c (decode_env_path): Only use defaulted if WINDOWSNT.
 +
 +2012-08-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Generalize common compile-time constants.
 +      * lisp.h (header_size, bool_header_size, word_size): Now here.
 +      (struct Lisp_Vector): Add comment.
 +      (struct Lisp_Bool_Vector): Move up to define handy constants.
 +      (VECSIZE, PSEUDOVECSIZE): Simplify.
 +      (SAFE_ALLOCA_LISP): Use new constant.  Adjust indentation.
 +      * buffer.c, buffer.h, bytecode.c, callint.c, eval.c, fns.c:
 +      * font.c, fontset.c, keyboard.c, keymap.c, macros.c, menu.c:
 +      * msdos.c, w32menu.c, w32term.h, window.c, xdisp.c, xfaces.c:
 +      * xfont.c, xmenu.c: Use word_size where appropriate.
 +
 +2012-08-05  Lawrence Mitchell  <wence@gmx.li>
 +
 +      * search.c (Freplace_match): Treat \? in the replacement text
 +      literally (Bug#8161).
 +
 +2012-08-05  Chong Yidong  <cyd@gnu.org>
 +
 +      * term.c (Vsuspend_tty_functions, Vresume_tty_functions):
 +      * frame.c (Vdelete_frame_functions):
 +      * emacs.c (Vkill_emacs_hook): Doc fix.
 +
 +2012-08-04  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xfns.c (x_set_menu_bar_lines): Fix compilation error in
 +      --with-x-toolkit=no builds.
 +      Reported by Carsten Mattner <carstenmattner@gmail.com>.
 +
 +2012-08-04  Chong Yidong  <cyd@gnu.org>
 +
 +      * syntax.c (Fmodify_syntax_entry): Doc fix.
 +
 +2012-08-04  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Fix startup warnings about ../site-lisp on MS-Windows.  (Bug#11959)
 +      * w32.c (init_environment): Change the default values of many
 +      environment variables in dflt_envvars[] to NULL, to avoid pushing
 +      them into environment when they were not already defined.
 +      Remove the code that deletes site-lisp subdirectories from the default
 +      value of EMACSLOADPATH, as it is no longer needed.
 +      (check_windows_init_file): Now external, not static.
 +      Use Vload_path as is, without adding anything, as this function is now
 +      called when Vload_path is already set up.
 +
 +      * w32.h (check_windows_init_file): Add prototype.
 +
 +      * emacs.c (init_cmdargs) [WINDOWSNT]: When running from the build
 +      directory, ignore the /*/i386/ tail in Vinvocation_directory, for
 +      compatibility with Posix platforms.
 +      (main): Move the call to check_windows_init_file to here from
 +      w32.c.
 +      (decode_env_path) [WINDOWSNT]: Expand the %emacs_dir%/ prefix, if
 +      any, in the DEFALT argument into the root of the Emacs build or
 +      installation tree, as appropriate.
 +
 +      * callproc.c (init_callproc_1): Call decode_env_path instead of
 +      doing its equivalent by hand.
 +      (init_callproc): Replace DOS_NT condition with MSDOS, thus letting
 +      the code that sets Vexec_path run on MS-Windows.
 +
 +      * lread.c (init_lread): Add comments to #ifdef's.
 +
 +      * msdos.c (dos_set_window_size, IT_update_begin)
 +      (IT_frame_up_to_date, IT_set_frame_parameters): Use FVAR and WVAR
 +      instead of direct references.
 +
 +2012-08-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Export DEFAULT_REHASH_* to GDB.
 +      * lisp.h (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE):
 +      Now constants, not macros.
 +
 +2012-08-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove unnecessary casts involving pointers.
 +      These casts are no longer needed now that we assume C89 or later,
 +      since they involve casting to or from void *.
 +      * alloc.c (make_pure_string, make_pure_c_string, pure_cons)
 +      (make_pure_float, make_pure_vector):
 +      * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP):
 +      * macros.c (Fstart_kbd_macro):
 +      * menu.c (find_and_return_menu_selection):
 +      * minibuf.c (read_minibuf_noninteractive):
 +      * sysdep.c (closedir):
 +      * xdisp.c (x_produce_glyphs):
 +      * xfaces.c (compare_fonts_by_sort_order):
 +      * xfns.c (x_real_positions, select_visual):
 +      * xselect.c (x_stop_queuing_selection_requests)
 +      (x_get_window_property, x_get_window_property_as_lisp_data):
 +      * xterm.c (x_set_frame_alpha, x_find_modifier_meanings):
 +      Remove unnecessary pointer casts.
 +      * alloc.c (record_xmalloc): New function.
 +      * lisp.h (record_xmalloc): New decl.
 +      (SAFE_ALLOCA): Now takes just one arg -- the size -- and acts
 +      more like a function.  This is because the pointer cast is not
 +      needed.  All uses changed.
 +      * print.c (print_string, print_error_message): Avoid length recalc.
 +
 +      Improve fix for macroexp crash with debugging (Bug#12118).
 +      * lisp.h (ASET) [ENABLE_CHECKING]: Pay attention to
 +      ARRAY_MARK_FLAG when checking subscripts, because ASET is
 +      not supposed to be invoked from the garbage collector.
 +      See Andreas Schwab in <http://bugs.gnu.org/12118#25>.
 +      (gc_aset): New function, which is like ASET but can be
 +      used in the garbage collector.
 +      (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
 +      (set_hash_index): Use it instead of ASET.
 +
 +2012-08-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Support symlinks on latest versions of MS-Windows.
 +      * w32.c: Include winioctl.h and aclapi.h.
 +      (is_symlink, chase_symlinks, enable_privilege, restore_privilege)
 +      (revert_to_self): Forward declarations of static functions.
 +      <static BOOL g_b_init_get_security_info>:
 +      <g_b_init_create_symbolic_link>: New static flags.
 +      (globals_of_w32): Initialize them to zero.
 +      (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs.
 +      (map_w32_filename): Improve commentary.  Simplify switch.
 +      (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system
 +      headers (most versions of MinGW w32api don't).
 +      (get_security_info, create_symbolic_link)
 +      (get_file_security_desc_by_handle, is_symlink, chase_symlinks):
 +      New functions.
 +      (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks
 +      in the argument file name.
 +      (sys_access): Call unc_volume_file_attributes only if
 +      GetFileAttributes fails with network-related error codes.
 +      (sys_rename): Diagnose renaming of a symlink when the user doesn't
 +      have the required privileges.
 +      (get_file_security_desc_by_name): Rename from
 +      get_file_security_desc.
 +      (stat_worker): New function, with most of the guts of 'stat', and
 +      with addition of handling of symlinks and support for 'lstat'.
 +      If possible, get file's attributes and security information by
 +      handle, not by name.  Produce S_IFLNK bit for symlinks, when
 +      called from 'lstat'.
 +      (stat, lstat): New functions, call 'stat_worker'.
 +      (symlink, readlink, careadlinkat): Rewritten to create and resolve
 +      symlinks when the underlying filesystem supports them.
 +
 +2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix macroexp crash on Windows with debugging (Bug#12118).
 +      * lisp.h (ASET) [ENABLE_CHECKING]: Ignore ARRAY_MARK_FLAG when
 +      checking subscripts; problem introduced with the recent
 +      "ASET (a, i, v)" rather than "AREF (a, i) = v" patch.
 +      (ARRAY_MARK_FLAG): Now a macro as well as a constant,
 +      since it's used in non-static inline functions now.
 +
 +      * xfaces.c (face_at_buffer_position, face_for_overlay_string):
 +      Don't assume buffer size fits in 'int'.  Remove unused local.
 +
 +      Use C99-style 'extern inline' if available.
 +      * buffer.h (BUFFER_INLINE):
 +      * category.h (CATEGORY_INLINE):
 +      * character.h (CHARACTER_INLINE):
 +      * charset.h (CHARSET_INLINE):
 +      * composite.h (COMPOSITE_INLINE):
 +      * dispextern.h (DISPEXTERN_INLINE):
 +      * lisp.h (LISP_INLINE):
 +      * systime.h (SYSTIME_INLINE):
 +      New macro, replacing 'static inline' in this header.
 +      * buffer.h, category.h, character.h, charset.h, composite.h:
 +      * dispextern.h, lisp.h, systime.h:
 +      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
 +      * alloc.c (LISP_INLINE):
 +      * buffer.c (BUFFER_INLINE):
 +      * category.c (CATEGORY_INLINE):
 +      * character.c (CHARACTER_INLINE):
 +      * charset.c (CHARSET_INLINE):
 +      * composite.c (COMPOSITE_INLINE):
 +      * dispnew.c (DISPEXTERN_INLINE):
 +      * sysdep.c (SYSTIME_INLINE):
 +      Define to EXTERN_INLINE, so that the corresponding functions
 +      are compiled into code.
 +      * conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
 +      (INLINE_HEADER_END): New macros.
 +      * lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant,
 +      since it's used in non-static inline functions now.
 +      (VALMASK) [!USE_LSB_TAG]: Likewise.
 +
 +2012-08-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/: Remove empty directory.
 +
 +      * s/ms-w32.h: Move to ../nt/inc.
 +      * makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
 +      Update for new ms-w32.h location.
 +
 +2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port to Solaris 8.
 +      * syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
 +
 +2012-08-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR rather than
 +      hard-coding the path separator.
 +
 +2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use "ASET (a, i, v)" rather than "AREF (a, i) = v".
 +      This how ASET and AREF are supposed to work, and makes
 +      it easier to think about future improvements.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00026.html>.
 +      * charset.h (set_charset_attr): New function.
 +      All lvalue-style uses of CHARSET_DECODER etc. changed to use it.
 +      * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style.
 +      (aref_addr): New function.  All uses of &AREF(...) changed.
 +      (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
 +      (set_hash_index): New functions.  All lvalue-style uses of
 +      HASH_KEY etc. changed.
 +      * keyboard.c (set_prop): New function.  All lvalue-style uses
 +      of PROP changed.
 +
 +2012-08-01  Alp Aker  <alp.tekin.aker@gmail.com>
 +
 +      * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar)
 +      (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:)
 +      (EmacsScroller-dealloc):  Adjust to use WVAR.  (Bug#12114)
 +      * nsfns.m (ns_set_name_as_filename): Likewise.
 +      * nsmenu.m (ns_update_menubar): Likewise.
 +      * nsselect.m (symbol_to_nsstring): Adjust to use SVAR.
 +
 +2012-08-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * .gdbinit (xcar, xcdr, xlist, xwindow, nextcons, xprintsym):
 +      Adapt to latest changes in field names of the corresponding Lisp
 +      objects.
 +
 +      * xdisp.c (try_window_id): Use WVAR in IF_DEBUG code.
 +
 +2012-08-01  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/msdos.h: Remove file.
 +      * conf_post.h [MSDOS]: New section, moved from s/msdos.h.
 +      * Makefile.in (S_FILE): Remove.
 +      (config_h): Remove S_FILE.
 +
 +2012-08-01  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * s/ms-w32.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP):
 +      Remove; moved to nt/config.nt.
 +
 +2012-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use INTERNAL_FIELD for conses and overlays.
 +      * lisp.h (struct Lisp_Cons): Use INTERNAL_FIELD.
 +      Remove obsolete comment.
 +      (MVAR): New macro.
 +      (struct Lisp_Overlay): Use INTERNAL_FIELD.
 +      * alloc.c, buffer.c, buffer.h, fns.c: Adjust users.
 +
 +2012-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use INTERNAL_FIELD for symbols.
 +      * lisp.h (SVAR): New macro.  Adjust users.
 +      * alloc.c, bytecode.c, cmds.c, data.c, doc.c, eval.c:
 +      * fns.c, keyboard.c, lread.c, xterm.c: Users changed.
 +
 +2012-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use INTERNAL_FIELD for processes.
 +      * process.h (PVAR): New macro.  Adjust style.
 +      (struct Lisp_Process): Change Lisp_Object members to INTERNAL_FIELD.
 +      * print.c, process.c, sysdep.c, w32.c, xdisp.c: Users changed.
 +
 +2012-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use INTERNAL_FIELD for windows.
 +      * window.h (WVAR): New macro.
 +      (struct window): Change Lisp_Object members to INTERNAL_FIELD.
 +      * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
 +      * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
 +      * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, nsterm.m, print.c:
 +      * textprop.c, w32fns.c, w32menu.c, w32term.c, window.c, xdisp.c:
 +      * xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed.
 +
 +2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * coding.h (CODING_ATTR_FLUSHING): Remove; unused and wouldn't work.
 +
 +2012-08-01  Glenn Morris  <rgm@gnu.org>
 +
 +      * lisp.h (IS_DIRECTORY_SEP, IS_DEVICE_SEP, IS_ANY_SEP):
 +      Move to configure.ac.
 +
 +2012-08-01  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in (CONFIG_H): Update dependencies.
 +      (CONF_POST_H): New macro.
 +
 +      * s/ms-w32.h (SEPCHAR, NULL_DEVICE): Remove; moved to nt/config.nt.
 +
 +2012-07-31  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (S_FILE): No longer set by configure.
 +
 +      * conf_post.h (config_opsysfile): Move earlier, so that WINDOWSNT
 +      is available.
 +      (alloca.h) [WINDOWSNT]: Don't include it on MS Windows.
 +
 +      * process.h (NULL_DEVICE):
 +      * emacs.c (SEPCHAR):
 +      * editfns.c (USER_FULL_NAME): Let configure set them.
 +
 +      * s/README, s/template.h: Remove files.
 +
 +      * conf_post.h [HPUX]: Undefine HAVE_RANDOM and HAVE_RINT.
 +
 +      * conf_post.h (AMPERSAND_FULL_NAME, subprocesses):
 +      Move to configure.ac.
 +
 +2012-07-31  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * .gdbinit (xframe): Adapt to introduction of FVAR and the
 +      resulting renaming of 'struct frame' members.
 +
 +      * w32menu.c (w32_menu_show): Revert bogus introduction of FVAR.
 +
 +      * fontset.c (dump_fontset): Fix compilation with ENABLE_CHECKING
 +      after introduction of FVAR.
 +
 +2012-07-31  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsmenu.m (update_frame_tool_bar): Change key from NSObject* to id.
 +
 +      * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Use drawInRect
 +      instead of compositeToPoint.
 +      (applicationShouldTerminate): Pass NS String literal to NSRunAlertPanel.
 +
 +      * nsfns.m, nsmenu.m, nsterm.m: Adopt to struct frame/FVAR changes.
 +
 +2012-07-31  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Generalize INTERNAL_FIELD between buffers, keyboards and frames.
 +      * lisp.h (INTERNAL_FIELD): New macro.
 +      * buffer.h (BUFFER_INTERNAL_FIELD): Remove.
 +      (BVAR): Change to use INTERNAL_FIELD.
 +      * keyboard.h (KBOARD_INTERNAL_FIELD): Likewise.
 +      (KVAR): Change to use INTERNAL_FIELD.
 +      * frame.h (FVAR): New macro.
 +      (struct frame): Use INTERNAL_FIELD for all Lisp_Object fields.
 +      * alloc.c, buffer.c, data.c, dispnew.c, dosfns.c, eval.c, frame.c:
 +      * fringe.c, gtkutil.c, minibuf.c, nsfns.m, nsterm.m, print.c:
 +      * term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
 +      * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed.
 +
 +2012-07-31  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Miscellaneous fixes for non-default X toolkits.
 +      * xfns.c (Fx_file_dialog): Change to SSDATA to avoid warnings.
 +      * xterm.c (x_frame_of_widget): Remove redundant prototype.
 +      Move under #ifdef USE_LUCID.
 +      (x_create_toolkit_scroll_bar): Adjust scroll_bar_name
 +      definition and usage to avoid warnings.
 +
 +2012-07-31  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (openFiles): Fix previous checkin.
 +
 +2012-07-31  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * indent.c (compute_motion): Remove unused local.
 +
 +2012-07-31  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/usg5-4-common.h (wait3, WRETCODE): Let configure set them.
 +
 +      * conf_post.h [USG5_4]:
 +      Move remaining contents of s/usg5-4-common.h here.
 +      * s/usg5-4-common.h: Remove file.
 +
 +      * conf_post.h [IRIX6_5]: Move remaining contents of s/irix6-5.h here.
 +      * s/irix6-5.h: Remove file.
 +
 +      * conf_post.h [DARWIN_OS]: Move remaining contents of s/darwin.h here.
 +      * s/darwin.h: Remove file.
 +
 +      * conf_post.h [HPUX]: Move random, srandom here from s/hpux10-20.h.
 +      * s/hpux10-20.h: Remove file, which is now empty.
 +
 +2012-07-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * conf_post.h: New, split from configure.ac's AH_BOTTOM.
 +      * Makefile.in (config_h): Add conf_post.h.
 +      * makefile.w32-in (CONFIG_H): Add conf_post.h.
 +
 +2012-07-30  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (ns_do_open_file): New variable.
 +      (ns_term_init): Set ns_do_open_file to YES after run returns.
 +      (openFile, openTempFile, openFileWithoutUI, openFiles):
 +      Open files only if ns_do_open_file.
 +
 +2012-07-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (SWITCH_ENUM_CAST): Remove.  All uses removed.
 +      This no-op macro hasn't been needed for many years.
 +      * src/regex.c (SWITCH_ENUM_CAST) [!emacs]: Likewise.
 +
 +      Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB.
 +      * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits.
 +      * lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for
 +      gdb_make_enums_visible.
 +      (TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros.
 +      (DIRECTORY_SEP): Now a constant, not a macro.
 +
 +2012-07-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32fns.c (w32_wnd_proc): Pass w32_keyboard_codepage to
 +      w32_kbd_patch_key as the 2nd arg.  (Bug#12082)
 +
 +      * w32term.c <w32_keyboard_codepage>: Renamed from
 +      keyboard_codepage and now external.  All users changed.
 +
 +      * w32term.h: Add declaration of w32_keyboard_codepage.
 +
 +      * w32inevt.c (w32_kbd_patch_key): Accept an additional argument --
 +      the codepage to translate keys to Unicode.  If this argument is
 +      -1, use the value returned by GetConsoleCP.  All callers changed.
 +
 +2012-07-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Update .PHONY listings in makefiles.
 +      * Makefile.in (.PHONY): Add all, mostlyclean, clean,
 +      bootstrap-clean, distclean, maintainer-clean, versioclean,
 +      extraclean, frc.
 +
 +      * lisp.h (STRING_BYTES_BOUND): Cast entire result to ptrdiff_t.
 +      This is a bit clearer.  Fix some commentary typos.
 +
 +2012-07-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/netbsd.h: Let configure include signal.h if needed.
 +      Remove file, which is now empty.
 +
 +      * s/usg5-4-common.h (_longjmp, _setjmp, TIOCSIGSEND):
 +      Let configure set them.
 +      * s/irix6-5.h (_longjmp, _setjmp, TIOCSIGSEND):
 +      No more need to undefine.
 +
 +2012-07-30  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * keymap.c (Fkey_description): Don't remove 0x80 bit from
 +      non-single-byte char when adding meta modifier.  (Bug#12090)
 +
 +2012-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Convert safe_call to use variable number of arguments.
 +      * xdisp.c (safe_call): Convert to use varargs.  Adjust users.
 +      (safe_call2): Fix comment.
 +      * lisp.h (safe_call): Adjust prototype.
 +      * coding.c (encode_coding_object): Change to use safe_call2.
 +      * xfaces.c (merge_face_heights): Change to use safe_call1.
 +
 +2012-07-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/aix4-2.h (sigmask): No need to undefine it, since syssignal.h
 +      does that unconditionally.  Remove file, which is now empty.
 +
 +      * s/freebsd.h, s/gnu-linux.h, s/sol2-6.h, s/unixware.h:
 +      Remove empty files.
 +
 +2012-07-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Export to GDB most of lisp.h's remaining object-like macros.
 +      * lisp.h (min, max): Move earlier, because they're used earlier now.
 +      (INTMASK, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK)
 +      (CHAR_TABLE_STANDARD_SLOTS, CHARTAB_SIZE_BITS_0)
 +      (CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2, CHARTAB_SIZE_BITS_3)
 +      (DEFAULT_HASH_SIZE, COMPILED_ARGLIST, COMPILED_BYTECODE)
 +      (COMPILED_CONSTANTS, COMPILED_STACK_DEPTH, COMPILED_DOC_STRING)
 +      (COMPILED_INTERACTIVE, CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT)
 +      (CHAR_CTL, CHAR_META, CHAR_MODIFIER_MASK, CHARACTERBITS)
 +      (MANY, UNEVALLED, FLOAT_TO_STRING_BUFSIZE, MAX_ALLOCA):
 +      Now constants, for GDB.  They need not be macros.
 +      (MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM, STRING_BYTES_BOUND):
 +      Now constants, for GDB, as well as macros, for static initializers.
 +      (CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_EXTRA_SLOTS):
 +      Move to after the definition of struct Lisp_Char_Table,
 +      since the former now needs that type defined.
 +      (enum CHARTAB_SIZE_BITS, enum CHAR_TABLE_STANDARD_SLOTS)
 +      (enum DEFAULT_HASH_SIZE, enum Lisp_Compiled, enum char_bits)
 +      (enum maxargs, enum FLOAT_TO_STRING_BUFSIZE, enum MAX_ALLOCA):
 +      New enums, for gdb_make_enums_visible.
 +      (GLYPH_MODE_LINE_FACE): Remove; unused.
 +      * alloc.c (STRING_BYTES_MAX): Now a constant, not a macro.
 +      (gdb_make_enums_visible): Add enum CHARTAB_SIZE_BITS, enum
 +      CHAR_TABLE_STANDARD_SLOTS, enum char_bits, enum DEFAULT_HASH_SIZE,
 +      enum FLOAT_TO_STRING_BUFSIZE, enum Lisp_Bits, enum Lisp_Compiled,
 +      enum maxargs, enum MAX_ALLOCA.
 +      (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): Remove.
 +      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Remove;
 +      no longer needed, now that they are done in lisp.h.
 +
 +2012-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup string bytes checking.
 +      * alloc.c (GC_STRING_BYTES, CHECK_STRING_BYTES): Remove.  Convert
 +      all users to STRING_BYTES or string_bytes if GC_CHECK_STRING_BYTES.
 +      (check_string_bytes): Define to empty if not GC_CHECK_STRING_BYTES.
 +      (check_sblock, compact_small_strings): Simplify.
 +
 +2012-07-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (LISP_INT_TAG, LISP_INT1_TAG, LISP_STRING_TAG): Remove.
 +      These macros are confusing and no longer need to be defined, as
 +      the enum values now suffice.  All uses replaced with definiens.
 +      (Lisp_Int1, Lisp_String): Define directly; this is clearer.
 +
 +2012-07-29  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in (LISP_H, $(BLD)/emacs.$(O), $(BLD)/w32inevt.$(O))
 +      ($(BLD)/w32console.$(O)): Update dependencies.
 +
 +2012-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Remove HIDE_LISP_IMPLEMENTATION and cleanup cons free list check.
 +      * lisp.h (HIDE_LISP_IMPLEMENTATION): Remove as useless for a long
 +      time.  Adjust users.
 +      (CHECK_CONS_LIST): Remove.  Convert all users to check_cons_list.
 +
 +2012-07-29  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * lread.c (init_lread): Remove if-statement in ifdef HAVE_NS before
 +      setting sitelisp (Bug#12010).
 +
 +2012-07-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.h (OS_9X): Rename from OS_WINDOWS_95.
 +
 +      * w32heap.c (cache_system_info):
 +      * w32.c (sys_rename):
 +      * w32proc.c (find_child_console, sys_kill): All users changed.
 +
 +2012-07-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c (Fgarbage_collect): Indent as per usual Emacs style.
 +
 +2012-07-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (LISP_H): Add $(NT_INC)/stdalign.h.
 +
 +2012-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup statistics calculation in Fgarbage_collect.
 +      * alloc.c (Fgarbage_collect): Rename t1 to meaningful start.
 +      Fix zombies percentage calculation.  Simplify elapsed time calculation.
 +
 +2012-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Generalize marker debugging code under MARKER_DEBUG and use eassert.
 +      * insdel.c (CHECK_MARKERS, check_markers_debug_flag): Remove.
 +      (gap_left, gap_right, adjust_markers_for_delete, insert_1_both)
 +      (insert_from_string_1, insert_from_gap, insert_from_buffer_1)
 +      (replace_range, replace_range_2, del_range_2): Change to eassert.
 +      * marker.c (byte_char_debug_check): Adjust style.
 +
 +2012-07-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't use the abbreviation "win" to refer to Windows (Bug#10421).
 +      * regex.c (MAX_BUF_SIZE): Remove some incorrect and
 +      long-ago-commented-out code that talks about "WIN32".
 +      * w32heap.h (OS_WINDOWS_95): Rename from OS_WIN95.
 +      All uses changed.
 +
 +2012-07-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use Gnulib stdalign module (Bug#9772, Bug#9960).
 +      * alloc.c (XMALLOC_BASE_ALIGNMENT, GC_POINTER_ALIGNMENT, pure_alloc):
 +      Simplify by using alignof.
 +      (pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values.
 +      * lisp.h: Include <stdalign.h>.
 +      (GCALIGNMENT): New macro and constant.
 +      (DECL_ALIGN): Remove.  All uses replaced by alignas (GCALIGNMENT).
 +      (USE_LSB_TAG): ifdef on alignas, not on DECL_ALIGN.
 +      (stdalign): New macro, if not already defined.
 +
 +2012-07-28  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Fix non-ASCII input in non-GUI frames on MS-Windows.  (Bug#12055)
 +      * w32inevt.c: Include w32inevt.h.
 +      (w32_read_console_input): New inline function, calls either
 +      ReadConsoleInputA or ReadConsoleInputW, depending on the value of
 +      w32_console_unicode_input.
 +      (fill_queue): Call w32_read_console_input instead of ReadConsoleInput.
 +      (w32_kbd_patch_key, key_event): Use the codepage returned by
 +      GetConsoleCP, rather than the ANSI codepage returned by GetLocaleInfo.
 +      (key_event): use uChar.UnicodeChar only if
 +      w32_console_unicode_input is non-zero.
 +
 +      * w32console.c: Include w32heap.h.
 +      <w32_console_unicode_input>: New global variable.
 +      (initialize_w32_display): Set w32_console_unicode_input to 1 on NT
 +      family of Windows, zero otherwise.
 +
 +      * w32inevt.h: Declare w32_console_unicode_input.
 +
 +      * xdisp.c (init_iterator): Don't reference tip_frame in a build
 +      --without-x.  (Bug#11742)
 +
 +2012-07-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Adjust GDB to reflect pvec_type changes (Bug#12036).
 +      * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
 +      2012-07-04 changes to pseudovector representation.
 +      Problem reported by Eli Zaretskii in <http://bugs.gnu.org/12036#30>.
 +
 +2012-07-27  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Canonicalize session
 +      bus address.
 +      (xd_close_bus, Fdbus_init_bus): Handle reference counter properly.
 +
 +2012-07-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * alloc.c (listn): Fix the order the arguments are consed onto the
 +      list.
 +
 +      * lisp.h (enum constype): Use CONSTYPE_HEAP and CONSTYPE_PURE for
 +      enumeration constants, as PURE and HEAP are too general, and clash
 +      with other headers and sources, such as gmalloc.c and the
 +      MS-Windows system headers.  All users changed.
 +
 +2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Revert last save_excursion_save and save_excursion_restore changes.
 +      * alloc.c, editfns.c, marker.c, lisp.h: Revert.
 +      Lots of crashes reported by Chong Yidong <cyd@gnu.org>.
 +
 +2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix recently-introduced typos in Windows port.
 +      Reported by Martin Rudalics <rudalics@gmx.at>.
 +      * w32.c (init_environment): Replace comma with semicolon.
 +      * w32fns.c (syms_of_w32fns): Add missing parenthesis.
 +
 +2012-07-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve GDB symbol export (Bug#12036).
 +      * .gdbinit (xgetptr, xgetint, xgettype): Set $bugfix in different
 +      arms of an 'if', not using conditional expressions; otherwise GDB
 +      complains about the types in the unevaluated arm when the argument
 +      is an integer literal.
 +      (xgetint): Simplify expression.
 +      * alloc.c (gdb_make_enums_visible): New constant.  This ports to
 +      GCC 3.4.2 the export of symbols to GDB.  Problem reported by Eli
 +      Zaretskii in <http://bugs.gnu.org/12036#13>.
 +      * lisp.h (PUBLISH_TO_GDB): Remove.  All uses removed.  No longer
 +      needed now that we have gdb_make_enums_visible.
 +      (enum CHECK_LISP_OBJECT_TYPE, enum Lisp_Bits, enum More_Lisp_Bits)
 +      (enum enum_USE_LSB_TAG):
 +      New enum types, packaging up enums that need to be exported to GDB.
 +
 +2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Utility function to make a list from specified amount of objects.
 +      * lisp.h (enum constype): New datatype.
 +      (listn): New prototype.
 +      * alloc.c (listn): New function.
 +      (Fmemory_use_count, syms_of_alloc): Use it.
 +      * buffer.c (syms_of_buffer): Likewise.
 +      * callint.c (syms_of_callint): Likewise.
 +      * charset.c (define_charset_internal): Likewise.
 +      * coding.c (syms_of_coding): Likewise.
 +      * keymap.c (syms_of_keymap): Likewise.
 +      * search.c (syms_of_search): Likewise.
 +      * syntax.c (syms_of_syntax): Likewise.
 +      * w32.c (init_environment): Likewise.
 +      * w32fns.c (Fw32_battery_status, syms_of_w32fns): Likewise.
 +      * xdisp.c (syms_of_xdisp): Likewise.
 +      * xfns.c (syms_of_xfns): Likewise.
 +
 +2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fast save_excursion_save and save_excursion_restore.
 +      * lisp.h (struct Lisp_Excursion): New data type.
 +      (PVEC_EXCURSION): New pseudovector type.
 +      (XEXCURSION, XSETEXCURSION, EXCURSIONP): Convenient macros
 +      to deal with it.  Adjust comments.
 +      (init_marker, attach_marker): New prototype.
 +      (unchain_marker): Adjust prototype.
 +      * marker.c (attach_marker): Change to global.
 +      (init_marker): New function.
 +      * alloc.c (Fmake_marker, build_marker): Use it.
 +      (build_marker): More easserts.
 +      (mark_object): Handle struct Lisp_Excursion.
 +      * editfns.c (save_excursion_save, save_excursion_restore):
 +      Reimplement to use struct Lisp_Excursion.  Add comments.
 +
 +2012-07-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix export of symbols to GDB (Bug#12036).
 +      * alloc.c (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL)
 +      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Move these here from
 +      emacs.c, as this is a more-suitable home.  Had this been done earlier
 +      the fix for 12036 would have avoided some of the problems noted in
 +      <http://bugs.gnu.org/12036#13> by Eli Zaretskii, as the scope problems
 +      would have been more obvious.
 +      * emacs.c: Do not include <verify.h>; no longer needed.
 +      (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS)
 +      (gdb_GCTYPEBITS, gdb_USE_LSB_TAG)
 +      (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
 +      Remove; now done in lisp.h.
 +      * lisp.h (PUBLISH_TO_GDB): New macro.
 +      (GCTYPEBITS, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE, enum pvec_type)
 +      (DATA_SEG_BITS): Use it.
 +      (GCTYPEBITS, USE_LSB_TAG): Now also an enum, for GDB.
 +      (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Now just an enum, for GDB.
 +      * mem-limits.h (EXCEEDS_LISP_PTR): Redo so that DATA_SEG_BITS need
 +      not be usable in #if.  This simplifies things.
 +
 +2012-07-26  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in ($(BLD)/emacs.$(O)): Update dependencies.
 +
 +2012-07-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Simplify export of symbols to GDB (Bug#12036).
 +      * .gdbinit (xgetptr, xgetint, xgettype): Don't use "set $bugfix =
 +      $bugfix.i", as this doesn't work (with GDB 7.4.1, anyway).
 +      (xgetptr, xgetint, xgettype, xcoding, xcharset, xprintbytestr):
 +      Adjust to changes in lisp.h and emacs.c, by using
 +      CHECK_LISP_OBJECT_TYPE rather than gdb_use_struct, VALMASK instead
 +      of $valmask, DATA_SEG_BITS instead of gdb_data_seg_bits,
 +      INTTYPEBITS instead of gdb_gctypebits - 1, USE_LSB_TAG instead of
 +      gdb_use_lsb, (1 << GCTYPEBITS) - 1 instead of $tagmask, VALBITS
 +      instead of gdb_valbits.
 +      (xvectype, xvector, xpr, xprintstr, xbacktrace): Similarly, use
 +      PSEUDOVECTOR_FLAG instead of PVEC_FLAG, and ARRAY_MARK_FLAG
 +      instead of gdb_array_mark_flag.
 +      (xboolvector): Get size from $->size, not $->header.size.
 +      Use BOOL_VECTOR_BITS_PER_CHAR rather than mystery constants.
 +      (xreload, hook-run, hookpost-run): Remove.
 +      * emacs.c: Include <verify.h>.
 +      (gdb_use_lsb, gdb_use_struct, gdb_valbits, gdb_gctypebits)
 +      (gdb_data_seg_bits, PVEC_FLAG, gdb_array_mark_flag, gdb_pvec_type):
 +      Remove.
 +      (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS, gdb_GCTYPEBITS)
 +      (gdb_USE_LSB_TAG): New enum constants.
 +      (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
 +      Also define these as enum constants, so they're visible to GDB.
 +      (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): New macros.
 +      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Also define these
 +      as constants, so they're visible to GDB.
 +      * lisp.h (VALBITS, INTTYPEBITS, FIXNUM_BITS, PSEUDOVECTOR_SIZE_BITS)
 +      (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK, BOOL_VECTOR_BITS_PER_CHAR):
 +      Now enum constants, not macros, so they're visible to GDB.
 +      (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Default to 0, as this is
 +      more convenient now.  All uses changed.
 +      (VALMASK) [USE_LSB_TAG]: Also define in this case.
 +      * mem-limits.h (EXCEEDS_LISP_PTR): Adjust to DATA_SEG_BITS change.
 +
 +2012-07-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Explicitly free restriction data that are not needed anymore.
 +      * editfns.c (save_restriction_restore): Free restriction data.
 +
 +2012-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
 +      add argument, tune behavior, and adjust all callers.
 +
 +2012-07-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use typedef for EMACS_INT, EMACS_UINT.
 +      * lisp.h, s/ms-w32.h (EMACS_INT, EMACS_UINT): Use typedefs rather
 +      than macros.  This simplifies debugging in the usual case, since
 +      it lets GDB show addresses as 'EMACS_INT *' rather than 'long int *'
 +      and it allows expressions involving EMACS_INT casts.
 +      * .gdbinit (xreload): Simplify by using EMACS_INT cast.
 +
 +2012-07-25  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (ns_read_socket): Return early if there is a modal
 +      window (Bug#12043).
 +
 +2012-07-25  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (Fredirect_frame_focus): In doc-string don't mention
 +      that FOCUS-FRAME can be omitted.
 +
 +2012-07-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Adjust buffer text indirection counters at the end of Fkill_buffer.
 +      * buffer.c (Fkill_buffer): Adjust indirection counters when the
 +      buffer is definitely dead.  This should really fix an issue reported
 +      by Christoph Scholtes again.  (Bug#12007).
 +      (init_buffer_once): Initialize indirection counters of
 +      buffer_defaults and buffer_local_symbols (for sanity and safety).
 +
 +2012-07-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (init_iterator): Don't compute dimensions of truncation
 +      and continuation glyphs on tooltip frames, leave them at zero.
 +      Avoids continued lines in tooltips.  (Bug#11832)
 +
 +2012-07-24  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Simplify copy_overlay.
 +      * buffer.c (copy_overlay): Simplify.  Use build_marker.
 +      * lisp.h (struct Lisp_Overlay): Restore comment with minor tweaks.
 +
 +2012-07-23  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * print.c (print_object): Don't crash when a frame's name is nil
 +      or invalid.  (Bug#12025)
 +
 +      * window.c (decode_any_window): Disable CHECK_LIVE_FRAME test, as
 +      it signals an error when a tooltip frame is being created.
 +
 +2012-07-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup miscellaneous objects allocation and initialization.
 +      * alloc.c (allocate_misc): Change to static.  Add argument to
 +      specify the subtype.  Adjust comment and users.
 +      (build_overlay): New function.
 +      * buffer.c (copy_overlays, Fmake_overlay): Use it.
 +      * lisp.h (struct Lisp_Overlay): Remove obsolete comment.
 +      (allocate_misc): Remove prototype.
 +      (build_overlay): Add prototype.
 +
 +2012-07-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Swap buffer text indirection counters in Fbuffer_swap_text.
 +      * buffer.c (Fbuffer_swap_text): Swap indirections too.
 +      This avoids crash reported by Christoph Scholtes at
 +      http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00785.html.
 +
 +2012-07-22  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsmenu.m (Popdown_data): New struct.
 +      (pop_down_menu): p->pointer is Popdown_data.  Release the pool and
 +      free Popdown_data.
 +      (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu.
 +      (initWithContentRect): Make imgView and contentView non-static
 +      and autorelease them.  Also autorelease img and matrix (Bug#12005).
 +      (dealloc): Remove (Bug#12005).
 +
 +2012-07-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Adjust consing_since_gc when objects are explicitly freed.
 +      * alloc.c (GC_DEFAULT_THRESHOLD): New macro.
 +      (Fgarbage_collect): Use it.  Change minimum to 1/10 of default.
 +      (free_cons, free_misc): Subtract object size from consing_since_gc.
 +
 +2012-07-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Simplify and cleanup markers positioning code.
 +      * marker.c (attach_marker): More useful eassert.
 +      (live_buffer, set_marker_internal): New function.
 +      (Fset_marker, set_marker_restricted): Use set_marker_internal.
 +      (set_marker_both, set_marker_restricted_both): Use live_buffer.
 +
 +2012-07-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * buffer.h (struct buffer.indirections): Now ptrdiff_t, not int,
 +      as it's limited by the amount of memory, not by INT_MAX.
 +
 +2012-07-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * keyboard.c (keys_of_keyboard): Bind language-change to 'ignore'
 +      in special-event-map.  See the discussion at
 +      http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00417.html
 +      for the reasons.
 +
 +      * w32menu.c (add_menu_item): Cast to ULONG_PTR when assigning
 +      info.dwItemData.  Fixes crashes on 64-bit Windows.
 +      Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
 +
 +2012-07-21  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (accessibilityAttributeValue): New function. (Bug#11134).
 +      (conversationIdentifier): Return value is NSInteger.
 +      * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA.
 +
 +2012-07-21  Chong Yidong  <cyd@gnu.org>
 +
 +      * window.c (decode_any_window): Signal an error if the window is
 +      on a dead frame (Bug#11984).
 +
 +2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Add indirection counting to speed up Fkill_buffer.
 +      * buffer.h (struct buffer): New member.
 +      * buffer.c (Fget_buffer_create): Set indirection counter to 0.
 +      (Fmake_indirect_buffer): Set indirection counter to -1, increment
 +      base buffer indirection counter.
 +      (compact_buffer): If ENABLE_CHECKING, verify indirection counters.
 +      (Fkill_buffer): Adjust indirection counters as needed, don't walk
 +      through buffer list if indirection counter is 0.
 +
 +2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Extend the value returned by Fgarbage_collect with heap statistics.
 +      * alloc.c (Qheap): New symbol.
 +      (syms_of_alloc): DEFSYM it.
 +      (Fgarbage_collect): If DOUG_LEA_MALLOC, add mallinfo data.
 +      (Fmemory_free): Remove.
 +      (syms_of_alloc): Don't defsubr it.
 +      * buffer.c (Fcompact_buffer): Remove.
 +      (syms_of_buffer): Don't defsubr it.
 +
 +2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Make maybe_gc inline.
 +      Verify that inlining is always possible (GCC 4.7.1, -O3 -Winline).
 +      * lisp.h (consing_since_gc, gc_relative_threshold)
 +      (memory_full_cons_threshold): Revert declaration.
 +      (maybe_gc): Remove prototype, define as inline.
 +      * alloc.c: Remove old commented-out code.
 +      (consing_since_gc, gc_relative_threshold)
 +      (memory_full_cons_threshold): Revert to global.
 +      (maybe_gc): Remove.
 +
 +2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Simple wrapper for make_unibyte_string, adjust font_open_by_name.
 +      * lisp.h (build_unibyte_string): New function.
 +      * dosfns.c, fileio.c, fns.c, ftfont.c, process.c:
 +      * sysdep.c, w32fns.c, xfns.c: Use it.
 +      * font.c (font_open_by_name): Change 2nd and 3rd args to the only arg
 +      of type Lisp_Object to avoid redundant calls to make_unibyte_string.
 +      Adjust users accordingly.
 +      * font.h (font_open_by_name): Adjust prototype.
 +
 +2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup calls to Fgarbage_collect.
 +      * lisp.h (maybe_gc): New prototype.
 +      (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
 +      Remove declarations.
 +      * alloc.c (maybe_gc): New function.
 +      (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
 +      Make them static.
 +      * bytecode.c (MAYBE_GC): Use maybe_gc.
 +      * eval.c (eval_sub, Ffuncall): Likewise.
 +      * keyboard.c (read_char): Likewise.  Adjust call to maybe_gc
 +      to avoid dependency from auto-save feature.
 +
 +2012-07-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * buffer.h (FOR_EACH_BUFFER): Rename from 'for_each_buffer'.
 +      (FOR_EACH_PER_BUFFER_OBJECT_AT): Rename from
 +      'for_each_per_buffer_object_at'.
 +      All uses changed.  It's better to use upper-case for macros that
 +      cannot be implemented as functions, to give the reader a clue
 +      that they're special.
 +
 +2012-07-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * alloc.c (Fgarbage_collect): Tweak docstring.
 +
 +2012-07-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Tweak the value returned from Fgarbage_collect again.
 +      * alloc.c (Fgarbage_collect): New return value, as confirmed in
 +      http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html.
 +      Adjust documentation.
 +      (total_vector_bytes): Rename to total_vector_slots, adjust
 +      accounting.
 +      (total_free_vector_bytes): Rename to total_free_vector_slots,
 +      adjust accounting.
 +      (Qstring_bytes, Qvector_slots): New symbols.
 +      (syms_of_alloc): DEFSYM them.
 +
 +2012-07-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Buffer compaction primitive which may be used from Lisp.
 +      * buffer.c (compact_buffer, Fcompact_buffer): New function.
 +      (syms_of_buffer): Register Fcompact_buffer.
 +      * alloc.c (Fgarbage_collect): Use compact_buffer.
 +      * buffer.h (compact_buffer): New prototype.
 +      (struct buffer_text): New member.
 +
 +2012-07-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      New macro to iterate over all buffers, miscellaneous cleanups.
 +      * lisp.h (all_buffers): Remove declaration.
 +      * buffer.h (all_buffers): Add declaration, with comment.
 +      (for_each_buffer): New macro.
 +      * alloc.c (Fgarbage_collect, mark_object): Use it.
 +      * buffer.c (Fkill_buffer, Fbuffer_swap_text, Fset_buffer_multibyte)
 +      (init_buffer): Likewise.
 +      * data.c (Fset_default): Likewise.
 +      * coding.c (code_conversion_restore): Remove redundant check
 +      for dead buffer.
 +      * buffer.c (Fkill_buffer): Likewise.  Remove obsolete comment.
 +
 +2012-07-18  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      Fix bug that created negative-length intervals.
 +      * intervals.c (merge_interval_right, merge_interval_left):
 +      Do not zero out this interval if it is absorbed by its children,
 +      as this interval's total length doesn't change in that case.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00403.html>.
 +
 +2012-07-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c (Fmake_bool_vector): Fix off-by-8 bug
 +      when invoking (make-bool-vector N t) and N is a positive
 +      multiple of 8 -- the last 8 bits were mistakenly cleared.
 +
 +      Remove some struct layout assumptions in bool vectors.
 +      * alloc.c (bool_header_size): New constant.
 +      (header_size, word_size): Move earlier, as they're now used earlier.
 +      Use 'word_size' in a few more places, where it's appropriate.
 +      (Fmake_bool_vector, sweep_vectors): Don't assume that there is no
 +      padding before the data member of a bool vector.
 +      (sweep_vectors): Use PSEUDOVECTOR_TYPEP, in an eassert, rather
 +      than doing the check by hand with an abort ().
 +
 +2012-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * eval.c (Fdefvar): Don't check constants since we only set the var if
 +      it's not yet defined anyway (bug#11904).
 +
 +      * lisp.h (last_undo_boundary): Declare new var.
 +      * keyboard.c (command_loop_1): Set it.
 +      * cmds.c (Fself_insert_command): Use it to only remove boundaries that
 +      were auto-added by the command loop (bug#11774).
 +
 +2012-07-18  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * w32font.c (Qsymbol): Remove local definition.
 +      (syms_of_w32font): Don't DEFSYM it.
 +
 +2012-07-18  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix sweep_vectors to handle large bool vectors correctly.
 +      * alloc.c (sweep_vectors): Account total_vector_bytes for
 +      bool vectors larger than VBLOCK_BYTES_MAX.
 +
 +2012-07-18  Chong Yidong  <cyd@gnu.org>
 +
 +      * frame.c (x_set_frame_parameters): Revert bogus change introduced
 +      in 2012-05-25 commit by Paul Eggert (Bug#11738).
 +
 +2012-07-18  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Return more descriptive data from Fgarbage_collect.
 +      Suggested by Stefan Monnier in
 +      http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html.
 +      * alloc.c (bounded_number): New function.
 +      (total_buffers, total_vectors): New variable.
 +      (total_string_size): Rename to total_string_bytes, adjust users.
 +      (total_vector_size): Rename to total_vector_bytes, adjust users.
 +      (sweep_vectors): Account total_vectors and total_vector_bytes.
 +      (Fgarbage_collect): New return value.  Adjust documentation.
 +      (gc_sweep): Account total_buffers.
 +      (Fmemory_free, Fmemory_use_counts): Use bounded_number.
 +      (VECTOR_SIZE): Remove.
 +      * data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global.
 +      (Qinterval, Qmisc): New symbols.
 +      (syms_of_data): Initialize them.
 +      * lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat)
 +      (Qcons, Qbuffer): New declarations.
 +
 +2012-07-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c (Fmemory_free): Account for memory-free's own storage.
 +      Round up, not down.  Improve doc.
 +
 +2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Restore old code in allocate_string_data to avoid Faset breakage.
 +      Reported by Julien Danjou <julien@danjou.info> in
 +      http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00371.html.
 +      * alloc.c (allocate_string_data): Restore old code with minor
 +      adjustments, fix comment to explain this subtle issue.
 +
 +2012-07-17  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Remove FILE_SYSTEM_CASE.
 +      * s/msdos.h (FILE_SYSTEM_CASE): Don't define.
 +
 +      * fileio.c (FILE_SYSTEM_CASE): Don't define.
 +      (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE.
 +      Fixes problems on MS-DOS with Vtemp_file_name_pattern when
 +      call-process-region passes it through expand-file-name.
 +
 +      * dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE.
 +
 +2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      Fix crash when creating indirect buffer (Bug#11917)
 +      * buffer.c (buffer_lisp_local_variables): Add argument CLONE.
 +      Don't handle unbound variables specially if non-zero.
 +      (Fbuffer_local_variables): Pass zero.
 +      (clone_per_buffer_values): Pass non-zero.
 +
 +2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * gnutls.c (emacs_gnutls_handshake): Revert last change.  Add QUIT
 +      to make the loop interruptible.
 +
 +2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * gnutls.c (emacs_gnutls_handshake): Only retry if
 +      GNUTLS_E_INTERRUPTED.
 +
 +2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup and convert miscellaneous checks to eassert.
 +      * alloc.c (mark_interval): Fix comment, partially rephrase
 +      old comment from intervals.h (see below).
 +      * intervals.c (find_interval, adjust_intervals_for_insertion)
 +      (delete_interval, adjust_intervals_for_deletion)
 +      (graft_intervals_into_buffer, temp_set_point_both, copy_intervals):
 +      Convert to eassert.
 +      (adjust_intervals_for_insertion, make_new_interval):
 +      Remove obsolete and unused code.
 +      * intervals.h (struct interval): Remove obsolete comment.
 +      * textprotp.c (erase_properties): Remove unused code.
 +      (Fadd_text_properties, set_text_properties_1, Fremove_text_properties)
 +      (Fremove_list_of_text_properties): Convert to eassert.
 +
 +2012-07-17  Chong Yidong  <cyd@gnu.org>
 +
 +      * editfns.c (Finsert_char): Doc fix.
 +
 +2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix previous change to make Fmemory_free always accurate.
 +      * alloc.c (make_interval): Update total_free_intervals.
 +      (make_float): Likewise for total_free_floats.
 +      (free_cons, Fcons): Likewise for total_free_conses.
 +      (SETUP_ON_FREE_LIST, allocate_vector_from_block):
 +      Likewise for total_free_vector_bytes.
 +      (Fmake_symbol): Likewise for total_free_symbols.
 +      (bytes_free): Remove.
 +
 +2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Simple free memory accounting feature.
 +      * alloc.c (bytes_free, total_free_vector_bytes): New variable.
 +      (sweep_vectors): Accumulate size of free vectors.
 +      (Fgarbage_collect): Setup bytes_free.
 +      (Fmemory_free): New function.
 +      (syms_of_alloc): Register it.
 +
 +2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup overlays checking.
 +      * buffer.h (OVERLAY_VALID): Remove as useless synonym of OVERLAYP.
 +      * buffer.c (overlay_touches_p, recenter_overlay_lists): Change to
 +      eassert and OVERLAYP.
 +      (sort_overlays): Change to use OVERLAYP.
 +
 +2012-07-16  René Kyllingstad  <Rene@Kyllingstad.com>  (tiny change)
 +
 +      * editfns.c (Finsert_char): Make it interactive, and make the
 +      second arg optional.  Copy interactive spec and docstring from
 +      ucs-insert.
 +
 +2012-07-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT (Bug#11913).
 +      Unlike the other wrapped functions, fabs has an unspecified
 +      effect on errno.
 +
 +2012-07-16  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (keyDown): Interpret flags without left/right bits
 +      as the left key (Bug#11670).
 +
 +2012-07-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Remove empty and useless init functions.
 +      * lisp.h (init_character_once, init_fns, init_image)
 +      (init_filelock, init_sound): Remove prototype.
 +      * character.c (init_character_once): Remove.
 +      * filelock.c (init_filelock): Likewise.
 +      * fns.c (init_fns): Likewise.
 +      * image.c (init_image): Likewise.
 +      * sound.c (init_sound): Likewise.
 +      * emacs.c (main): Adjust accordingly.
 +
 +2012-07-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * gtkutil.h: Tiny cleanups.
 +      (use_old_gtk_file_dialog): Remove useless declaration.
 +      (xg_uses_old_file_dialog): Add suggested const attribute.
 +
 +2012-07-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (MAX_STRONG_CHAR_SEARCH): New macro.
 +      (bidi_paragraph_init): Use it to limit search forward for a strong
 +      directional character in abnormally large paragraphs full of
 +      neutral or weak characters.  (Bug#11943)
 +
 +2012-07-15  Stefano Facchini  <stefano.facchini@gmail.com>  (tiny change)
 +
 +      * gtkutil.c (xg_create_tool_bar): Apply "primary-toolbar" style to
 +      the toolbar (Bug#9451).
 +      (xg_make_tool_item): Give the widget event box a transparent
 +      background.
 +
 +2012-07-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup basic allocation variables and functions.
 +      * alloc.c (ignore_warnings, init_intervals, init_float)
 +      (init_cons, init_symbol, init_marker): Remove.
 +      (interval_block_index): Initialize to INTERVAL_BLOCK_SIZE.
 +      (float_block_index): Initialize to FLOAT_BLOCK_SIZE.
 +      (cons_block_index): Initialize to CONS_BLOCK_SIZE.
 +      (symbol_block_size): Initialize to SYMBOL_BLOCK_SIZE.
 +      (marker_block_index): Initialize to MARKER_BLOCK_SIZE.
 +      (staticidx, init_alloc_once, init_strings, free_ablock):
 +      Remove redundant initialization.
 +      * fns.c (init_weak_hash_tables): Remove.
 +      * lisp.h (init_weak_hash_tables): Remove prototype.
 +
 +2012-07-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use zero_vector where appropriate.
 +      * alloc.c (zero_vector): Define as Lisp_Object.  Adjust users
 +      accordingly.
 +      * lisp.h (zero_vector): New declaration.
 +      * font.c (null_vector): Remove.
 +      (syms_of_font): Remove initialization and staticpro.
 +      (font_list_entities, font_find_for_lface): Change to use zero_vector.
 +      * keymap.c (Faccessible_keymaps): Likewise.
 +
 +2012-07-15  Leo Liu  <sdl.web@gmail.com>
 +
 +      * fringe.c: Fix typo in comments.
 +
 +2012-07-14  Leo Liu  <sdl.web@gmail.com>
 +
 +      * fringe.c: Add a new bitmap exclamation-mark.
 +
 +2012-07-14  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference.
 +
 +      * s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE)
 +      (HAVE_MENUS): Don't define, defined by editing config.in with
 +      msdos/sed2v2.inp.
 +      (GMALLOC_INHIBIT_VALLOC): Don't define.
 +      (MODE_LINE_BINARY_TEXT): Remove, not used anymore.
 +
 +2012-07-14  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * s/ms-w32.h (GC_SETJMP_WORKS, GC_MARK_STACK): Set in nt/config.nt.
 +
 +2012-07-14  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/aix4-2.h, s/freebsd.h, s/gnu-linux.h, s/hpux10-20.h:
 +      * s/irix6-5.h, s/netbsd.h, s/sol2-6.h, s/unixware.h:
 +      Let configure set GC_SETJMP_WORKS, GC_MARK_STACK.
 +
 +2012-07-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it.
 +
 +      * s/usg5-4-common.h (SETUP_SLAVE_PTY): Let configure set it.
 +      * s/irix6-5.h (SETUP_SLAVE_PTY): No more need to unset it.
 +
 +2012-07-13  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (uRect): Only define if NS_IMPL_GNUSTEP.
 +      (x_free_frame_resources): Pass x_free_frame_resources to NSTRACE.
 +      (ns_lisp_to_color, ns_string_to_lispmod, ns_term_init)
 +      (ns_term_shutdown, requestService, initFrameFromEmacs): Use SSDATA
 +      where appropriate.
 +      (ns_exec_path, ns_load_path, changeFont): Put () around assignment used
 +      as boolean expression.
 +      (x_set_window_size): Remove unused variable toolbar.
 +      (ns_get_color_default, ns_mod_to_lisp): Remove.
 +      (ns_mouse_position): Remove unused variables xchar and ychar.
 +      (ns_compute_glyph_string_overhangs): Remove unused variable face.
 +      (ns_set_vertical_scroll_bar): Remove unused variable count.
 +      (ns_delete_terminal): Remove unused variable i.
 +      (ns_term_init): Remove unused variables r, g and b.
 +      (mouseDown): Remove unused variable window.
 +      (windowDidResize): Move definition of theWindow inside NS_IMPL_GNUSTEP.
 +      (initFrameFromEmacs): Remove unused variable vbextra.
 +      (mouseEntered): Remove unused variables p and dpyinfo.
 +      (mouseExited): Remove unused variables p and r.
 +      (ns_define_frame_cursor, ns_clear_frame_area)
 +      (ns_draw_window_cursor, ns_initialize_display_info): Make static.
 +      (menuDown): Assign [sender tag] to variable and cast the variable.
 +
 +      * nsterm.h (menuDown): Add id as type to argument sender.
 +      (ns_display_info_for_name): Add Lisp_Object argument.
 +      (ns_term_init): Add Lisp_Object argument.
 +      (ns_map_event_to_object): Add void argument.
 +      (ns_string_from_pasteboard, ns_string_to_pasteboard): Add correct
 +      prototype with arguments and only declare if __OBJC__.
 +      (nxatoms_of_nsselect): Add void argument.
 +      (ns_lisp_to_cursor_type): Add Lisp_Object argument.
 +      (ns_alloc_autorelease_pool): Add void argument.
 +      (ns_release_autorelease_pool): Add void* argument.
 +      (ns_get_defaults_value): Add const char* argument.
 +
 +      * nsmenu.m (ns_update_menubar, ns_menu_show, process_dialog)
 +      (initFromContents): Use SSDATA where appropriate.
 +      (ns_update_menubar): Add braces to ambigous if-else.
 +      (initWithTitle): Put () around assignment in if statement.
 +      (ns_menu_show): Remove unused variables window and keymap.
 +      (update_frame_tool_bar): Remove unused variable selected_p.
 +      (initWithContentRect): Remove unused variable this_cmd_name.
 +
 +      * nsimage.m (ns_load_image, allocInitFromFile): Use SSDATA where
 +      appropriate.
 +      (setXBMColor): Remove unused variable len.
 +      (setPixmapData): Put () around assignment in loop statement.
 +
 +      * nsfont.m (ns_get_family, ns_lang_to_script, ns_otf_to_script)
 +      (ns_registry_to_script, ns_get_req_script, nsfont_open): Use SSDATA
 +      where appropriate.
 +      (ns_get_covering_families, ns_findfonts, nsfont_list_family): Put ()
 +      around assignment in loop statement.
 +      (nsfont_open): Remove unused variable i.
 +      (nsfont_open): Remove unused variable len.
 +      (nsfont_draw): Remove unused variable cs.
 +
 +      * nsfns.m (x_set_icon_name, ns_set_name_internal)
 +      (ns_set_name_as_filename, ns_implicitly_set_icon_type)
 +      (x_set_icon_type, ns_lisp_to_cursor_type, Fns_read_file_name)
 +      (Fns_get_resource, Fns_set_resource, Fx_open_connection)
 +      (Fns_font_name, Fns_perform_service)
 +      (Fns_convert_utf8_nfd_to_nfc, ns_do_applescript)
 +      (Fns_do_applescript, Fx_show_tip): Use SSDATA where appropriate.
 +      (ns_set_name): Remove unused variable view.
 +      (x_set_menu_bar_lines): Remove unused variable olines.
 +      (x_set_tool_bar_lines): Remove unused variable root_window.
 +      (Fns_list_colors): Put () around assignment in while statement.
 +      (Fns_perform_service): Remove unused variable len.
 +      (Fns_display_usable_bounds): Remove unused variable top.
 +      (syms_of_nsfns): Remove unused variable i.
 +
 +      * nsmenu.m (ns_update_menubar): Exchange place of argument 2 and 3 to
 +      memcpy (Bug#11907).
 +
 +2012-07-13  Kalle Kankare  <kalle.kankare@iki.fi>  (tiny change)
 +
 +      * image.c (Fimagemagick_types): Initialize ex with GetExceptionInfo
 +      and free it with DestroyExceptionInfo (Bug#11558).
 +
 +2012-07-13  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * s/ms-w32.h (FIRST_PTY_LETTER, HAVE_SOCKETS): Move to nt/config.nt.
 +      (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE___BUILTIN_UNWIND_INIT):
 +      Set here, not in nt/config.nt.
 +
 +2012-07-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (move_it_in_display_line_to): On GUI terminals, allow
 +      cursor overflow into the last glyph on display line when the right
 +      fringe is off.  (Bug#11832)
 +
 +2012-07-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xdisp.c (produce_special_glyphs): Now static.
 +      * dispextern.h (produce_special_glyphs): Remove decl.
 +
 +2012-07-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/bsd-common.h, s/cygwin.h: Remove empty files.
 +      * s/freebsd.h, s/netbsd.h: Do not include bsd-common.h.
 +
 +      * s/usg5-4-common.h (USG, USG5):
 +      * s/template.h (USG5, USG, HPUX, BSD4_2, BSD_SYSTEM):
 +      * s/sol2-6.h (SOLARIS2):
 +      * s/irix6-5.h (IRIX6_5):
 +      * s/hpux10-20.h (USG, USG5, HPUX):
 +      * s/gnu-linux.h (USG, GNU_LINUX):
 +      * s/freebsd.h (BSD_SYSTEM):
 +      * s/darwin.h (BSD4_2, BSD_SYSTEM, DARWIN_OS):
 +      * s/cygwin.h (CYGWIN):
 +      * s/bsd-common.h (BSD_SYSTEM, BSD4_2):
 +      * s/aix4-2.h (USG, USG5, _AIX): Move "system type" macros to configure.
 +
 +2012-07-13  BT Templeton  <bpt@hcoop.net>  (tiny change)
 +
 +      * nsfont.m (ns_charset_covers): Don't abort if no bitmap (Bug#11853).
 +
 +2012-07-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/usg5-4-common.h (NSIG_MINIMUM): Let configure set it.
 +
 +      * s/gnu-linux.h, s/irix6-5.h: Let configure set ULIMIT_BREAK_VALUE.
 +
 +      * process.c (init_process_emacs): Replace MIN_PTY_KERNEL_VERSION.
 +      * s/darwin.h (MIN_PTY_KERNEL_VERSION): Remove single-use macro.
  
 -2012-08-24  Eli Zaretskii  <eliz@gnu.org>
 +2012-07-12  Glenn Morris  <rgm@gnu.org>
  
 -      * ralloc.c (free_bloc): Don't dereference a 'heap' structure if it
 -      is not one of the heaps we manage.  (Bug#12242)
 +      * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Move to configure.
  
 -2012-08-14  Glenn Morris  <rgm@gnu.org>
 +      * process.c (init_process_emacs): Rename from init_process.
 +      The old name is also the name of a Mach system call.
 +      * lisp.h, emacs.c: Update for this name change.
 +      * nsgui.h, sysselect.h, s/darwin.h: Remove workaround that is no
 +      longer needed.
  
 -      * eval.c (Fcalled_interactively_p): Doc fix.  (Bug#11747)
 +2012-07-12  Eli Zaretskii  <eliz@gnu.org>
  
 -2012-08-14  Ulrich Mueller  <ulm@gentoo.org>
 +      * xdisp.c (insert_left_trunc_glyphs): Fix incorrect size in
 +      memmove call that removes glyphs covered by the left truncation
 +      glyph.  Improve commentary.
 +      (display_line): Fix display of continuation glyphs on GUI frames
 +      when the right fringe is turned off and variable-size fonts are
 +      used in the window.  Move the code that appends a stretch glyph to
 +      produce_special_glyphs, so that it could be used for truncation
 +      and continuation glyphs alike.
 +      (produce_special_glyphs) [HAVE_WINDOW_SYSTEM]: Produce a stretch
 +      glyph of a suitably computed width, to align the special glyphs at
 +      the window margin.  Code moved from display_line.  (Bug#11832)
  
 -      * systime.h (EMACS_TIME_CMP): Don't cast time_t values to long
 -      (Bug#11712).
 +2012-07-12  Glenn Morris  <rgm@gnu.org>
  
 -2012-08-13  Eli Zaretskii  <eliz@gnu.org>
 +      * s/aix4-2.h, s/hpux10-20.h: Let configure set NO_EDITRES.
  
 -      * w32menu.c: Include w32heap.h.
 -      (add_menu_item): If the call to AppendMenuW (via
 -      unicode_append_menu) fails, disable Unicode menus only if we are
 -      running on Windows 9X/Me.
 +      * s/gnu-linux.h, s/hpux10-20.h:
 +      Do not unconditionally define HAVE_XRMSETDATABASE.
 +
 +      * s/gnu-linux.h (UNIX98_PTYS): Let configure set it.
 +
 +2012-07-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix typos that broke OS X build.
 +      Reported by Randal L. Schwartz in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00225.html>.
 +      * nsterm.m (ns_timeout): Add missing local decl.
 +      (ns_get_color): snprintf -> sprintf, to fix typo.
 +
 +2012-07-12  Glenn Morris  <rgm@gnu.org>
 +
 +      * src/s/aix4-2.h, src/s/cygwin.h, src/s/darwin.h:
 +      * src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/irix6-5.h:
 +      * src/s/sol2-6.h, src/s/unixware.h, src/s/usg5-4-common.h:
 +      Move PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF to configure.
 +
 +      * s/cygwin.h, s/darwin.h, s/gnu-linux.h, s/irix6-5.h:
 +      Move PTY_OPEN to configure.
 +
 +      * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
 +      * s/gnu-linux.h, s/hpux10-20.h, s/irix6-5.h, s/template.h:
 +      * s/usg5-4-common.h: Move FIRST_PTY_LETTER, PTY_ITERATION to configure.
 +
 +2012-07-12  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use empty_unibyte_string where applicable.
 +      * keyboard.c (parse_tool_bar_item): Use empty_unibyte_string.
 +      * lread.c (read1): Likewise.
 +      * xsettings.c (syms_of_xsettings): Likewise.
 +
 +2012-07-12  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/cygwin.h (G_SLICE_ALWAYS_MALLOC):
 +      * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN):
 +      * s/irix6-5.h (SETPGRP_RELEASES_CTTY, PREFER_VSUSP):
 +      * s/hpux10-20.h (RUN_TIME_REMAP):
 +      * s/bsd-common.h (TABDLY): Move to configure.
 +
 +      * s/hpux10-20.h, s/sol2-6.h: Move XOS_NEEDS_TIME_H to configure.
 +
 +      * s/bsd-common.h, s/darwin.h: Move TAB3 to configure.
 +
 +      * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
 +      (BROKEN_SIGPOLL, BROKEN_GET_CURRENT_DIR_NAME): Let configure set them.
 +
 +      * s/darwin.h (NO_ABORT, NO_MATHERR): Let configure set them.
 +
 +      * s/bsd-common.h, s/cygwin.h, s/gnu-linux.h, s/irix6-5.h:
 +      * s/template.h: Move NARROWPROTO to configure.
 +
 +2012-07-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/gnu-linux.h, s/sol2-6.h: No longer define POSIX,
 +      unused since 2011-01-17 change to systty.h.
 +
 +      * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h, s/gnu-linux.h:
 +      * s/hpux10-20.h, s/template.h, s/usg5-4-common.h:
 +      Move HAVE_PTYS and HAVE_SOCKETS to configure.
 +
 +2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * s/sol2-6.h (HAVE_LIBKSTAT): Remove.  (Bug#11914)
 +
 +2012-07-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/darwin.h, s/gnu-linux.h, s/template.h:
 +      Move INTERRUPT_INPUT to configure.
 +
 +2012-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Minor adjustments to interning code.
 +      * lisp.h (intern, intern_c_string): Redefine as static inline
 +      wrappers for intern_1 and intern_c_string_1, respectively.
 +      (intern_1, intern_c_string_1): Rename prototypes.
 +      * lread.c (intern_1, intern_c_string_1, oblookup):
 +      Simplify Vobarray checking.
 +      * font.c (font_intern_prop): Likewise.  Adjust comment.
 +      * w32font.c (intern_font_name): Likewise.
 +
 +2012-07-11  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * gnutls.c (Fgnutls_boot): Properly parse :keylist argument.
 +
 +      * coding.c (Fdefine_coding_system_internal): Use XCAR/XCDR instead
 +      of Fcar/Fcdr if possible.
 +      * font.c (check_otf_features): Likewise.
 +      * fontset.c (Fnew_fontset): Likewise.
 +      * gnutls.c (Fgnutls_boot): Likewise.
 +      * minibuf.c (read_minibuf): Likewise.
 +      * msdos.c (IT_set_frame_parameters): Likewise.
 +      * xmenu.c (Fx_popup_dialog): Likewise.
 +      * w32menu.c (Fx_popup_dialog): Likewise.
 +
 +2012-07-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/bsd-common.h, s/cygwin.h: No need to undefine INTERRUPT_INPUT,
 +      since nothing has defined it on these platforms.
 +
 +      * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/gnu-linux.h:
 +      * s/irix6-5.h: Move SIGNALS_VIA_CHARACTERS to configure.
 +
 +      * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
 +      * s/gnu-linux.h, s/hpux10-20.h, s/template.h, s/usg5-4-common.h:
 +      Move CLASH_DETECTION to configure.
 +
 +      * s/gnu.h: Remove file, which is now empty.
 +
 +      * s/gnu.h, s/gnu-linux.h:
 +      Move GNU_LIBRARY_PENDING_OUTPUT_COUNT to configure.
 +
 +2012-07-11  John Wiegley  <johnw@newartisans.com>
 +
 +      * alloc.c (mark_memory): Guard the "no_address_safety_analysis"
 +      function attribute, so we only use it if it exists in the
 +      compiler.
 +
 +2012-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid call to strlen in fast_c_string_match_ignore_case.
 +      * search.c (fast_c_string_match_ignore_case): Change to use
 +      length argument.  Adjust users accordingly.
 +      * lisp.h (fast_c_string_match_ignore_case): Adjust prototype.
 +
 +2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Assume mkdir, rmdir.
 +      * sysdep.c (mkdir) [!HAVE_MKDIR]: Remove.
 +      * sysdep.c (rmdir) [!HAVE_RMDIR]: Remove.
 +
 +      Assume rename.
 +      * sysdep.c (rename) [!HAVE_RENAME]: Remove.
 +
 +      Assume perror.
 +      * s/hpux10-20.h (HAVE_PERROR): Remove.
 +      * sysdep.c (perror) [HPUX && !HAVE_PERROR]:
 +      Remove dummy definition, as this problem was obsolete long ago.
 +
 +      Assume strerror.
 +      * sysdep.c (strerror) [!HAVE_STRERROR && !WINDOWSNT]: Remove.
 +
 +2012-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid calls to strlen in font processing functions.
 +      * font.c (font_parse_name, font_parse_xlfd, font_parse_fcname)
 +      (font_open_by_name): Change to use length argument.
 +      Adjust users accordingly.
 +      * font.h (font_open_by_name, font_parse_xlfd, font_unparse_xlfd):
 +      Adjust prototypes.
 +      * xfont.c (xfont_decode_coding_xlfd, font_unparse_xlfd):
 +      Change to return ptrdiff_t.
 +      (xfont_list_pattern, xfont_match): Use length returned by
 +      xfont_decode_coding_xlfd.
 +      * xfns.c (x_default_font_parameter): Omit useless xstrdup.
 +
 +2012-07-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/darwin.h, s/freebsd.h, s/netbsd.h:
 +      Move DONT_REOPEN_PTY to configure.
 +
 +      * sound.c (DEFAULT_SOUND_DEVICE) [!WINDOWSNT]:
 +      * s/netbsd.h (DEFAULT_SOUND_DEVICE): Let configure set it.
 +
 +2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove "#define unix" that is no longer needed (Bug#11905).
 +      * s/aix4-2.h (unix): Remove; no longer needed.
 +
 +      EMACS_TIME simplification (Bug#11875).
 +      This replaces macros (which typically do not work in GDB)
 +      with functions, typedefs and enums, making the code easier to debug.
 +      The functional style also makes code easier to read and maintain.
 +      * systime.h: Include <sys/time.h> on all hosts, not just if
 +      WINDOWSNT, since 'struct timeval' is needed in general.
 +      (EMACS_TIME): Now a typedef, not a macro.
 +      (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): Now constants,
 +      not macros.
 +      (EMACS_SECS, EMACS_NSECS, EMACS_TIME_SIGN, EMACS_TIME_VALID_P)
 +      (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE, EMACS_TIME_EQ)
 +      (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT)
 +      (EMACS_TIME_LE): Now functions, not macros.
 +      (EMACS_SET_SECS, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS)
 +      (EMACS_SET_USECS, EMACS_SET_SECS_USECS): Remove these macros,
 +      which are not functions.  All uses rewritten to use:
 +      (make_emacs_time): New function.
 +      (EMACS_SECS_ADDR, EMACS_SET_INVALID_TIME, EMACS_GET_TIME)
 +      (EMACS_ADD_TIME, EMACS_SUB_TIME): Remove these macros, which are
 +      not functions.  All uses rewritten to use the following, respectively:
 +      (emacs_secs_addr, invalid_emacs_time, get_emacs_time)
 +      (add_emacs_time, sub_emacs_time): New functions.
 +      * atimer.c: Don't include <sys/time.h>, as "systime.h" does this.
 +      * fileio.c (Fcopy_file):
 +      * xterm.c (XTflash): Get the current time closer to when it's used.
 +      * makefile.w32-in ($(BLD)/atimer.$(O)): Update dependencies.
 +
 +      * bytecode.c (targets): Suppress -Woverride-init warnings.
 +
 +      Simplify by avoiding confusing use of strncpy etc.
 +      * doc.c (Fsnarf_documentation):
 +      * fileio.c (Ffile_name_directory, Fsubstitute_in_file_name):
 +      * frame.c (Fmake_terminal_frame):
 +      * gtkutil.c (get_utf8_string):
 +      * lread.c (openp):
 +      * nsmenu.m (ns_update_menubar):
 +      * regex.c (regerror):
 +      Prefer memcpy to strncpy and strncat when either will do.
 +      * fileio.c (Fsubstitute_in_file_name):
 +      * keyboard.c (MULTI_LETTER_MOD, parse_modifiers_uncached)
 +      (menu_separator_name_p):
 +      * nsmenu.m (ns_update_menubar):
 +      Prefer memcmp to strncmp when either will do.
 +      * nsterm.m: Include <ftoastr.h>.
 +      (ns_get_color):
 +      * s/gnu-linux.h, s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF):
 +      Prefer snprintf to strncpy.
 +      * nsterm.m (ns_term_init):
 +      * widget.c (set_frame_size) [0]: Prefer xstrdup to xmalloc + strncpy.
 +      * nsterm.m (ns_term_init):
 +      Avoid the need for strncpy, by using build_string or
 +      make_unibyte_string directly.  Use dtoastr, not snprintf.
 +      * process.c (Fmake_network_process): Diagnose service names that
 +      are too long, rather than silently truncating them or creating
 +      non-null-terminated names.
 +      (Fnetwork_interface_info): Likewise, for interface names.
 +      * sysdep.c (system_process_attributes) [GNU_LINUX]:
 +      Prefer sprintf to strncat.
 +      * xdisp.c (debug_method_add) [GLYPH_DEBUG]:
 +      Prefer vsnprintf to vsprintf + strncpy.
 +
 +2012-07-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * dispnew.c (PENDING_OUTPUT_COUNT) [!__GNU_LIBRARY__]:
 +      Clarify fallback case.
 +
 +2012-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use XCAR and XCDR instead of Fcar and Fcdr where possible.
 +      * callint.c, coding.c, doc.c, editfns.c, eval.c, font.c, fontset.c,
 +      * frame.c, gnutls.c, minibuf.c, msdos.c, textprop.c, w32fns.c,
 +      * w32menu.c, window.c, xmenu.c: Change to use XCAR and XCDR
 +      where argument type is known to be a Lisp_Cons.
 +
 +2012-07-10  Tom Tromey  <tromey@redhat.com>
 +
 +      * bytecode.c (BYTE_CODE_THREADED): New macro.
 +      (BYTE_CODES): New macro.  Replaces all old byte-code defines.
 +      (enum byte_code_op): New type.
 +      (CASE, NEXT, FIRST, CASE_DEFAULT, CASE_ABORT): New macros.
 +      (exec_byte_code): Use them.  Use token threading when applicable.
 +
 +2012-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Optimize pure C strings initialization.
 +      * lisp.h (make_pure_string): Fix prototype.
 +      (build_pure_c_string): New function, defined as static inline.  This
 +      provides a better opportunity to optimize away calls to strlen when
 +      the function is called with compile-time constant argument.
 +      * alloc.c (make_pure_c_string): Fix comment.  Change to add nchars
 +      argument, adjust users accordingly.  Use build_pure_c_string where
 +      appropriate.
 +      * buffer.c, coding.c, data.c, dbusbind.c, fileio.c, fontset.c, frame.c,
 +      * keyboard.c, keymap.c, lread.c, search.c, syntax.c, w32fns.c, xdisp.c,
 +      * xfaces.c, xfns.c, xterm.c: Use build_pure_c_string where appropriate.
 +
 +2012-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid calls to strlen in miscellaneous functions.
 +      * buffer.c (init_buffer): Use precalculated len, adjust if needed.
 +      * font.c (Ffont_xlfd_name): Likewise.  Change to call make_string.
 +      * lread.c (openp): Likewise.
 +
 +2012-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid calls to strlen in path processing functions.
 +      * fileio.c (file_name_as_directory): Add comment.  Change to add
 +      srclen argument and return the length of result.  Adjust users
 +      accordingly.
 +      (directory_file_name): Fix comment.  Change to add srclen argument,
 +      swap 1st and 2nd arguments to obey the common convention.
 +      Adjust users accordingly.
 +      * filelock.c (fill_in_lock_file_name): Avoid calls to strlen.
 +
 +2012-07-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/cygwin.h, s/darwin.h, s/freebsd.h, s/netbsd.h, s/unixware.h:
 +      Move PENDING_OUTPUT_COUNT definition to configure.
 +
 +      * s/irix6-5.h (DATA_START, DATA_SEG_BITS):
 +      * s/hpux10-20.h (DATA_SEG_BITS, DATA_START):
 +      * s/gnu.h (DATA_START): Move definitions to configure.
 +
 +      * s/irix6-5.h (SETUP_SLAVE_PTY, PTY_NAME_SPRINTF): Drop ifdef guards.
 +      We include usg5-4-common.h, which defines them both.
 +
 +      * s/gnu.h: Don't include fcntl.h (every file in Emacs that uses
 +      O_RDONLY already includes it).
 +
 +      Stop ns builds setting the EMACSLOADPATH environment variable.
 +      * nsterm.m (ns_load_path): Rename from ns_init_paths.
 +      Now it does not set EMACSLOADPATH, just returns the load-path string.
 +      * nsterm.h: Update accordingly.
 +      * lread.c [HAVE_NS]: Include nsterm.h.
 +      (init_lread) [HAVE_NS]: Use ns_load_path.
 +      * emacs.c (main) [HAVE_NS]: No longer call ns_init_paths.
 +
 +2012-07-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/gnu.h (SIGNALS_VIA_CHARACTERS): No need to define it here,
 +      since the included bsd-common.h does so.
 +
 +      Stop ns builds setting the EMACSPATH environment variable.
 +      * nsterm.m (ns_exec_path): New function, split from ns_init_paths.
 +      (ns_init_paths): Do not set EMACSPATH.
 +      * nsterm.h (ns_exec_path): Add it.
 +      * callproc.c (init_callproc_1, init_callproc) [HAVE_NS]:
 +      Use ns_exec_path.
 +
 +      * nsterm.m, nsterm.h (ns_etc_directory): Fix type, empty return.
 +
 +2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * process.c (wait_reading_process_output): 'waitchannels' was unset
 +      when read_kbd || !NILP (wait_for_cell); fix this.
 +
 +      Add GCC-style 'const' attribute to functions that can use it.
 +      * character.h (char_resolve_modifier_mask):
 +      * keyboard.h (make_ctrl_char):
 +      * lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe)
 +      (init_character_once, next_almost_prime, init_fns, init_image)
 +      (flush_pending_output, init_sound):
 +      * mem-limits.h (start_of_data):
 +      * menu.h (finish_menu_items):
 +      Add ATTRIBUTE_CONST.
 +      * emacs.c (DEFINE_DUMMY_FUNCTION):
 +      Declare the dummy function with ATTRIBUTE_CONST.
 +      * lisp.h (Fbyteorder, Fmax_char, Fidentity):
 +      Add decls with ATTRIBUTE_CONST.
 +
 +      Minor improvements to make_formatted_string.
 +      * alloc.c (make_formatted_string): Prefer int to ptrdiff_t
 +      where int is good enough, as vsprintf returns an int.
 +      * lisp.h (make_formatted_string): Add ATTRIBUTE_FORMAT_PRINTF.
 +
 +2012-07-09  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use make_formatted_string to avoid double length calculation.
 +      * lisp.h (make_formatted_string): New prototype.
 +      * alloc.c (make_formatted_string): New function.
 +      * buffer.c (Fgenerate_new_buffer_name): Use it.
 +      * dbus.c (syms_of_dbusbind): Likewise.
 +      * editfns.c (Fcurrent_time_zone): Likewise.
 +      * filelock.c (get_boot_time): Likewise.
 +      * frame.c (make_terminal_frame, set_term_frame_name)
 +      (x_report_frame_params): Likewise.
 +      * image.c (gs_load): Likewise.
 +      * minibuf.c (get_minibuffer): Likewise.
 +      * msdos.c (dos_set_window_size): Likewise.
 +      * process.c (make_process): Likewise.
 +      * xdisp.c (ensure_echo_area_buffers): Likewise.
 +      * xsettings.c (apply_xft_settings): Likewise.
 +
 +2012-07-09  Glenn Morris  <rgm@gnu.org>
 +
 +      Stop ns builds polluting the environment with EMACSDATA, EMACSDOC.
 +      * nsterm.m (ns_etc_directory): New function, split from ns_init_paths.
 +      (ns_init_paths): Do not set EMACSDATA, EMACSDOC.
 +      * nsterm.h (ns_etc_directory): Add it.
 +      * callproc.c [HAVE_NS]: Include nsterm.h.
 +      (init_callproc_1, init_callproc) [HAVE_NS]: Use ns_etc_directory.
 +
 +2012-07-09  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Move marker debugging code under MARKER_DEBUG.
 +      * marker.c (MARKER_DEBUG): Move marker debugging code under
 +      #ifdef MARKER_DEBUG because byte_char_debug_check is too slow
 +      for bootstrap with --enable-checking (~3x slowdown reported
 +      by Juanma Barranquero <lekktu@gmail.com>).
 +      (verify_bytepos): Move under #ifdef MARKER_DEBUG.
 +
 +2012-07-08  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * systime.h (EMACS_SUB_TIME): Clarify behavior with unsigned time_t.
 +      See <http://bugs.gnu.org/11825#29>.
 +
 +2012-07-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (fill_glyphless_glyph_string): If the face of the glyph
 +      has no font, use the frame's font.  (Bug#11813)
 +      (display_line): Add commentary about displaying truncation glyphs
 +      on GUI frames.
 +      (produce_special_glyphs): Move here from term.c.
 +
 +      * term.c (produce_special_glyphs): Move to xdisp.c.
 +
 +      * dispextern.h (produce_special_glyphs): Move prototype to xdisp.c
 +      section.
 +
 +2012-07-07  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * xdisp.c (display_line): Avoid warning about implicit declaration
 +      of FRAME_FONT.
 +
 +      * frame.c (get_frame_param): Define only if HAVE_WINDOW_SYSTEM.
 +
 +      * lisp.h: Remove empty conditional.
 +
 +2012-07-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lread.c (load_path_check): Now static.
 +
 +      Fix some minor --with-ns problems found by static checking.
 +      * frame.c (Ftool_bar_pixel_width) [!FRAME_TOOLBAR_WIDTH]:
 +      (x_set_font) [!HAVE_X_WINDOWS]:
 +      * image.c (xpm_load_image) [HAVE_NS]:
 +      (x_to_xcolors) [!HAVE_X_WINDOWS && !HAVE_NTGUI]:
 +      (x_disable_image) [!HAVE_NS && !HAVE_NTGUI]:
 +      Remove unused local.
 +      (Fx_parse_geometry) [HAVE_NS]: Don't return garbage.
 +      (xpm_load_image) [HAVE_NS && !HAVE_XPM]: Remove unused label.
 +      * image.c (x_create_bitmap_from_file) [HAVE_NS]:
 +      (xpm_load_image, xpm_load) [HAVE_NS && !HAVE_XPM]:
 +      * nsselect.m (symbol_to_nsstring, ns_string_to_pasteboard_internal):
 +      * xfaces.c (Fx_load_color_file) [!HAVE_X_WINDOWS]:
 +      Fix pointer signedness problem.
 +      * xfaces.c (FRAME_X_FONT_TABLE):
 +      * xterm.h (FRAME_X_FONT_TABLE): Remove unused, incompatible macros.
 +
 +2012-07-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * lread.c (load_path_check): New function, split from init_lread.
 +      (init_lread): Reorganize.  Motivation:
 +      If EMACSLOADPATH is set, check/warn about that rather than the
 +      defaults, which we are not going to use.  Hence we can remove
 +      the turn_off_warning and WINDOWSNT || HAVE_NS tests.
 +      Don't warn if site-lisp directories are missing.
 +      If not installed, start from a blank load-path, since
 +      PATH_LOADSEARCH refers to the eventual installation directories.
 +
 +2012-07-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Support truncation and continuation glyphs on GUI frames, when
 +      fringes are disabled.  (Bug#11832)
 +      * xdisp.c (init_iterator): Get dimensions of truncation and
 +      continuation glyphs even if on GUI frames.
 +      Adjust it->last_visible_x on GUI frames when the left or right fringes,
 +      or both, are absent.
 +      (start_display, move_it_in_display_line_to): Handle the case of a
 +      GUI frame without a fringe to display continuation or truncation
 +      glyphs.
 +      (insert_left_trunc_glyphs): Support GUI frames: make sure
 +      truncation glyphs overwrite enough glyphs from the current line to
 +      have sufficient space in pixels.
 +      (display_line): Support truncation and continuation glyphs on GUI
 +      frames.  If some spare pixels are left on the line after inserting
 +      the truncation glyphs, fill that space with a stretch glyph of a
 +      suitably computed width.
 +
 +      * term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not
 +      produce_glyphs, to support GUI sessions.
 +
 +2012-07-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c (ULLONG_MAX): Define if not already defined (Bug#11781).
 +
 +      * sysdep.c (list_system_processes): Port to NetBSD-current (Bug#11797).
 +
 +      Do not require float-time's arg to fit in time_t (Bug#11825).
 +      This works better on hosts where time_t is unsigned, and where
 +      float-time is applied to the (negative) difference between two times.
 +      * editfns.c (decode_time_components): Last arg is now double *,
 +      not int *, and means to store all the result as a double, without
 +      worrying about whether the seconds part fits in time_t.
 +      All callers changed.
 +      (lisp_time_argument): Remove last int * arg, as it's no longer needed.
 +      All callers changed.
 +      (Ffloat_time): Do not fail merely because the specified time falls
 +      outside of time_t range.
 +
 +2012-07-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * s/darwin.h (HAVE_RES_INIT, HAVE_LIBRESOLV):
 +      * s/hpux10-20.h (HAVE_RINT, HAVE_RANDOM):
 +      * s/unixware.h (HAVE_GETWD): Move undefs to configure (effectively).
 +
 +2012-07-07  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in (DISPEXTERN_H, $(BLD)/regex.$(O)):
 +      Update dependencies.
 +
 +      * s/ms-w32.h [_MSC_VER]: Remove strcasecmp, strncasecmp.
 +
 +2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786).
 +      * dispextern.h, nsfns.m, nsterm.m: Include <c-strcase.h>.
 +      * dispextern.h (xstrcasecmp): Rewrite using c_strcasecmp.
 +      * nsfns.m (x_get_string_resource): Use c_strncasecmp, not strncasecmp.
 +      * nsterm.m (ns_default): Use c_strcasecmp, not strcasecmp.
 +      * xfaces.c (xstrcasecmp) [!HAVE_STRCASECMP]: Remove.
 +
 +      * xfont.c (compare_font_names): Redo to omit the need for casts.
 +
 +2012-07-06  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * xfns.c (Fx_change_window_property): Doc fix.
 +      * w32fns.c (Fx_change_window_property): Doc fix.
 +
 +      * w32fns.c (Fx_window_property): Accept the same arguments as the
 +      X Windows version.  Doc fix.
 +      * xfns.c (Fx_window_property): Doc fix.  (Bug#11870)
 +
 +2012-07-06  Juanma Barranquero  <lekktu@gmail.com>
 +          Eli Zaretskii  <eliz@gnu.org>
 +
 +      * s/ms-w32.h: Settings not specific to Windows moved to nt/config.nt.
 +      Windows-specific code from nt/config.nt moved here.
 +      Obsolete settings removed.
 +
 +2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * process.c: Avoid unnecessary calls to gettime.
 +      (wait_reading_process_output): Don't get the time of day
 +      when gobbling data immediately and not waiting, as there's no need
 +      for it in that case.  This removes a FIXME.
 +
 +2012-07-06  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * gtkutil.c (xg_event_is_for_scrollbar): Assign gwin when HAVE_GTK3
 +      is defined (Bug#11768).
 +
 +2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix marker debugging code.
 +      * marker.c (byte_char_debug_check): Do not perform the check
 +      if buffer is not multibyte.
 +      (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
 +      Call byte_char_debug_check with correct arguments.
 +
 +2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Compile marker debugging code only if ENABLE_CHECKING is defined.
 +      * marker.c (byte_char_debug_check, count_markers):
 +      Use only if ENABLE_CHECKING is defined.
 +      (byte_debug_flag): Remove.
 +      (CONSIDER, buf_charpos_to_bytepos, buf_bytepos_to_charpos):
 +      Always call byte_char_debug_check if ENABLE_CHECKING is defined.
 +
 +2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid code repetition in marker-related functions.
 +      * marker.c (attach_marker): New function.
 +      (Fset_marker, set_marker_restricted, set_marker_both)
 +      (set_marker_restricted_both): Use it.
 +      (Fset_marker, set_marker_restricted, Fbuffer_has_markers_at):
 +      Consistently rename charno to charpos.
 +      (marker_position): Add eassert.
 +      (marker_byte_position): Convert to eassert.
 +
 +2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Simplify list operations in unchain_overlay and unchain_marker.
 +      * buffer.c (unchain_overlay): Simplify.  Add comment.
 +      * marker.c (unchain_marker): Simplify.  Fix comments.
 +
 +2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Introduce fast path for the widely used marker operation.
 +      * alloc.c (build_marker): New function.
 +      * lisp.h (build_marker): New prototype.
 +      * buffer.c (clone_per_buffer_values, Fmake_indirect_buffer): Use it.
 +      * composite.c (autocmp_chars): Likewise.
 +      * editfns.c (buildmark): Remove.
 +      (Fpoint_marker, Fpoint_min_marker, Fpoint_max_marker)
 +      (save_restriction_save): Use build_marker.
 +      * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise.
 +      * window.c (save_window_save): Likewise.
 +
 +2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Do not use Fdelete_overlay in delete_all_overlays
 +      to avoid redundant calls to unchain_overlay.
 +      * buffer.c (drop_overlay): New function.
 +      (delete_all_overlays, Fdelete_overlay): Use it.
 +      * minibuf.c (get_minibuffer): Fix comment.
 +
 +2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port to OpenBSD 5.1 amd64.
 +      * sysdep.c [BSD_SYSTEM]: Include <sys/param.h> before <sys/sysctl.h>.
 +      This is needed for OpenBSD, and should be harmless on all BSD systems.
 +      Also, include <sys/sysctl.h>, as it should be available on all
 +      BSD_SYSTEM hosts given that we're already calling sysctl in that case.
 +      (list_system_processes) [__OpenBSD__]: Use DARWIN_OS style mib, but
 +      use p_pid member, not kp_proc.pid.
 +
 +2012-07-06  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (emacs$(EXEEXT)): Don't check for load-path shadows.
 +
 +2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      More xmalloc and related cleanup.
 +      * alloc.c, bidi.c, buffer.c, buffer.h, bytecode.c, callint.c:
 +      * callproc.c, charset.c, coding.c, composite.c, data.c, dispnew.c:
 +      * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fns.c:
 +      * font.c, fontset.c, frame.c, fringe.c, ftfont.c, ftxfont.c, gmalloc.c:
 +      * gtkutil.c, image.c, keyboard.c, keymap.c, lread.c, macros.c, menu.c:
 +      * nsfns.m, nsfont.m, nsmenu.m, nsterm.m, print.c, process.c, ralloc.c:
 +      * regex.c, region-cache.c, scroll.c, search.c, sound.c, syntax.c:
 +      * sysdep.c, term.c, termcap.c, unexmacosx.c, window.c, xdisp.c:
 +      * xfaces.c, xfns.c, xftfont.c, xgselect.c, xmenu.c, xrdb.c, xselect.c:
 +      * xterm.c:
 +      Omit needless casts involving void * pointers and allocation.
 +      Prefer "P = xmalloc (sizeof *P)" to "P = xmalloc (sizeof (TYPE_OF_P))",
 +      as the former is more robust if P's type is changed.
 +      Prefer xzalloc to xmalloc + memset 0.
 +      Simplify malloc-or-realloc to realloc.
 +      Don't worry about xmalloc returning a null pointer.
 +      Prefer xstrdup to xmalloc + strcpy.
 +      * editfns.c (Fmessage_box): Grow message_text by at least 80 when
 +      growing it.
 +      * keyboard.c (apply_modifiers_uncached): Prefer local array to
 +      alloca of a constant.
 +
 +2012-07-05  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (display_line): Fix horizontal pixel coordinates when
 +      hscroll is larger than the line width.  Fixes long and futile
 +      looping inside extend_face_to_end_of_line (on a TTY) producing
 +      glyphs that are not needed and thrown away.
 +
 +2012-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * marker.c (set_marker_restricted_both): Simplify by using
 +      clip_to_bounds.
 +
 +2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * editfns.c (region_limit): Simplify by using clip_to_bounds.
 +
 +2012-07-05  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * gtkutil.c (gtk_scrollbar_new, gtk_box_new): Define when HAVE_GTK3 is
 +      not defined (Bug#11768).
 +      (xg_create_frame_widgets): Use gtk_plug_new_for_display (Bug#11768).
 +      (xg_create_frame_widgets, create_dialog, xg_get_file_with_chooser)
 +      (make_widget_for_menu_item, xg_make_tool_item): Use gtk_box_new
 +      followed by gtk_box_set_homogeneous (Bug#11768).
 +      (xg_update_menu_item): Use GTK_IS_BOX (Bug#11768).
 +      (update_theme_scrollbar_width, xg_create_scroll_bar):
 +      Use gtk_scrollbar_new (Bug#11768).
 +      (xg_event_is_for_scrollbar): Use Gdk Device functions for HAVE_GTK3.
 +      (is_box_type): New function (Bug#11768).
 +      (xg_tool_item_stale_p): Call is_box_type.
 +      (xg_initialize): Get settings by calling gtk_settings_get_for_screen
 +      with default display (Bug#11768).
 +
 +2012-07-05  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (window_hscroll_limited): New function.
 +      (pos_visible_p, init_iterator): Use it to avoid overflow of pixel
 +      coordinates when window's hscroll is set to insanely large
 +      values.  (Bug#11857)
 +
 +2012-07-05  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in ($(BLD)/dired.$(O), $(BLD)/fileio.$(O)): Fix typo.
 +      ($(BLD)/terminal.$(O), $(BLD)/syntax.$(O)): Update dependencies.
 +
 +2012-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup xmalloc.
 +      * lisp.h (xzalloc): New prototype.  Omit needless casts.
 +      * alloc.c (xzalloc): New function.  Omit needless casts.
 +      * charset.c: Omit needless casts.  Convert all calls to
 +      xmalloc with following memset to xzalloc.
 +      * dispnew.c: Likewise.
 +      * fringe.c: Likewise.
 +      * image.c: Likewise.
 +      * sound.c: Likewise.
 +      * term.c: Likewise.
 +      * w32fns.c: Likewise.
 +      * w32font.c: Likewise.
 +      * w32term.c: Likewise.
 +      * xfaces.c: Likewise.
 +      * xfns.c: Likewise.
 +      * xterm.c: Likewise.
 +      * atimer.c: Omit needless casts.
 +      * buffer.c: Likewise.
 +      * callproc.c: Likewise.
 +      * ccl.c: Likewise.
 +      * coding.c: Likewise.
 +      * composite.c: Likewise.
 +      * doc.c: Likewise.
 +      * doprnt.c: Likewise.
 +      * editfns.c: Likewise.
 +      * emacs.c: Likewise.
 +      * eval.c: Likewise.
 +      * filelock.c: Likewise.
 +      * fns.c: Likewise.
 +      * gtkutil.c: Likewise.
 +      * keyboard.c: Likewise.
 +      * lisp.h: Likewise.
 +      * lread.c: Likewise.
 +      * minibuf.c: Likewise.
 +      * msdos.c: Likewise.
 +      * print.c: Likewise.
 +      * process.c: Likewise.
 +      * region-cache.c: Likewise.
 +      * search.c: Likewise.
 +      * sysdep.c: Likewise.
 +      * termcap.c: Likewise.
 +      * terminal.c: Likewise.
 +      * tparam.c: Likewise.
 +      * w16select.c: Likewise.
 +      * w32.c: Likewise.
 +      * w32reg.c: Likewise.
 +      * w32select.c: Likewise.
 +      * w32uniscribe.c: Likewise.
 +      * widget.c: Likewise.
 +      * xdisp.c: Likewise.
 +      * xmenu.c: Likewise.
 +      * xrdb.c: Likewise.
 +      * xselect.c: Likewise.
 +
 +2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * fileio.c (time_error_value): Check the right error number.
 +      Problem reported by Troels Nielsen in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00095.html>.
 +
 +2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * window.c (set_window_hscroll): Revert the 100000 hscroll limit.
 +      This should be fixed in a better way; see Eli Zaretskii in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00088.html>.
 +      (HSCROLL_MAX): Remove; this is now internal to set_window_hscroll.
 +
 +      * fileio.c (time_error_value): Rename from special_mtime.
 +      The old name's problems were noted by Eli Zaretskii in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00087.html>.
 +
 +      * emacs.c (gdb_pvec_type): Change it back to enum pvec_type.
 +      This variable's comment says Emacs needs at least one GDB-visible
 +      symbol of type enum pvec_type, to work around GDB problems.
 +      The symbol's value doesn't matter.
 +
 +      * alloc.c (PSEUDOVECTOR_NBYTES): Remove stray ';'
 +      that causes compilation to fail on pre-C99 compilers.
 +
 +2012-07-04  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * s/ms-w32.h (LISP_FLOAT_TYPE, HAVE_MEMCMP, HAVE_MEMCPY)
 +      (HAVE_MEMMOVE, HAVE_MEMSET): Don't set, obsolete.
 +
 +2012-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * buffer.c (init_buffer_once): Fix initialization of
 +      headers for buffer_defaults and buffer_local_symbols.
 +      Reported by Juanma Barranquero <lekktu@gmail.com>.
 +
 +2012-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Turn VECTOR_FREE_LIST_FLAG into PVEC_FREE.
 +      * lisp.h (enum pvec_type): Use fewer bits.
 +      (PSEUDOVECTOR_SIZE_BITS): New constant.
 +      (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK): Use it.
 +      (XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR, DEFUN): Adapt code to
 +      change in pvec_type.
 +      (PSEUDOVECTOR_TYPEP): New macro.
 +      (TYPED_PSEUDOVECTORP): Use it.
 +      * fns.c (internal_equal): Adapt code to extract pvectype.
 +      * emacs.c (gdb_pvec_type): Update type.
 +      * alloc.c (PSEUDOVECTOR_NBYTES): New macro.
 +      (VECTOR_FREE_LIST_SIZE_MASK): Remove (=> PSEUDOVECTOR_SIZE_MASK).
 +      (VECTOR_FREE_LIST_FLAG): Remove (=> PVEC_FREE).
 +      (SETUP_ON_FREE_LIST): Use XSETPVECTYPESIZE.
 +      (sweep_vectors): Use it.  Use local var `total_bytes' instead of
 +      abusing vector->header.next.nbytes.
 +      (live_vector_p): Use PVEC_TYPE.
 +      (mark_object): Adapt code to extract pvectype.  Use switch.
 +
 +2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * doprnt.c (doprnt): Don't assume string length fits in 'int'.
 +      Tighten new eassert a bit.
 +
 +2012-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix compilation with --enable-gcc-warnings and -O1
 +      optimization level.
 +      * doprnt.c (doprnt): Change type of tem to int, initialize
 +      to avoid compiler warning.  Add eassert.
 +      * search.c (simple_search): Initialize match_byte to avoid
 +      compiler warning.  Add eassert.
 +
 +2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Avoid weird behavior with large horizontal scrolls.
 +      Without this change, for example, large hscroll values would
 +      mess up Emacs's display on Fedora 15 x86, presumably due to
 +      overflows in int calculations in the display code.
 +      Also, if buffers had long lines, Emacs would freeze.
 +      * window.c (HSCROLL_MAX): Reduce to 100000, and make it visible to GDB.
 +      (set_window_hscroll): New function, containing the old guts of
 +      Fset_window_hscroll.  Return the clipped value.
 +      (Fset_window_hscroll, Fscroll_left, Fscroll_right): Use it.
 +      This avoids the need to check against PTRDIFF_MAX.
 +
 +      * buffer.c (Fgenerate_new_buffer_name): Fix sprintf format mismatch.
 +
 +2012-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * buffer.c (Fgenerate_new_buffer_name): Fix type mismatch.
 +
 +2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * regex.c: Suppress GCC warning on RHEL 6.  (Bug#11207)
 +      Conditionalize the pragmas on GCC 4.5 or later, not GCC 4.3 or later,
 +      since GCC 4.4.6 issues a bogus warning for them.
 +
 +      Fix bugs in file timestamp newness comparisons.
 +      * fileio.c (Ffile_newer_than_file_p):
 +      * lread.c (Fload): Use full timestamp resolution of files,
 +      not just the 1-second resolution, so that files that are only
 +      slightly newer still count as newer.
 +      * fileio.c (Ffile_newer_than_file_p): Don't assume file
 +      timestamps fit in 'int'; this fixes a Y2038 bug on most hosts.
 +
 +2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * fileio.c: Improve handling of file time marker.  (Bug#11852)
 +      (special_mtime): New function.
 +      (Finsert_file_contents, Fverify_visited_file_modtime):
 +      Use it to set special mtime values consistently.
 +
 +2012-07-03  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * fileio.c (Finsert_file_contents): Properly handle st_mtime
 +      marker for non-existing file.  (Bug#11852)
 +
 +2012-07-03  Glenn Morris  <rgm@gnu.org>
 +
 +      * lisp.h (Fread_file_name): Restore EXFUN (it's not a normal DEFUN
 +      and did not make it into globals.h).
 +
 +2012-07-03  Tom Tromey  <tromey@redhat.com>
 +
 +      * window.c (Fset_window_margins, Fset_window_fringes)
 +      (Fset_window_scroll_bars, Fset_window_vscroll): No longer static.
 +      * textprop.c (Fprevious_property_change): No longer static.
 +      * syntax.c (Fsyntax_table_p): No longer static.
 +      * process.c (Fget_process, Fprocess_datagram_address): No longer
 +      static.
 +      * keymap.c (Flookup_key, Fcopy_keymap): No longer static.
 +      * keyboard.c (Fcommand_execute): No longer static.
 +      Remove EXFUN.
 +      * insdel.c (Fcombine_after_change_execute): No longer static.
 +      * image.c (Finit_image_library): No longer static.
 +      * fileio.c (Fmake_symbolic_link): No longer static.
 +      * eval.c (Ffetch_bytecode): No longer static.
 +      * editfns.c (Fuser_full_name): No longer static.
 +      * doc.c (Fdocumentation_property, Fsnarf_documentation):
 +      No longer static.
 +      * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer
 +      static.
 +      * dired.c (Ffile_attributes): No longer static.
 +      * composite.c (Fcomposition_get_gstring): No longer static.
 +      * callproc.c (Fgetenv_internal): No longer static.
 +
 +      * ccl.h: Remove EXFUNs.
 +      * buffer.h: Remove EXFUNs.
 +      * dispextern.h: Remove EXFUNs.
 +      * intervals.h: Remove EXFUNs.
 +      * fontset.h: Remove EXFUN.
 +      * font.h: Remove EXFUNs.
 +      * dosfns.c (system_process_attributes): Remove EXFUN.
 +      * keymap.h: Remove EXFUNs.
 +      * lisp.h: Remove EXFUNs.
 +      * w32term.h: Remove EXFUNs.
 +      * window.h: Remove EXFUNs.
 +      * xsettings.h: Remove EXFUN.
 +      * xterm.h: Remove EXFUN.
 +
 +2012-07-03  Glenn Morris  <rgm@gnu.org>
 +
 +      * lisp.h (Frandom): Make it visible to C.
 +      * buffer.c (Fgenerate_new_buffer_name): Speed up finding a new
 +      buffer for invisible buffers.  (Bug#1229)
 +
 +2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
 +      values which aren't power of 2.
 +      * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro.
 +      Verify it's value and the value of VECTOR_BLOCK_SIZE.  Adjust users
 +      accordingly.
 +
 +2012-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * lisp.h (Lisp_Misc, Lisp_Fwd): Move around to group better.
 +
 +      * alloc.c (mark_object): Revert part of last patch to use `switch'.
 +
 +2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (allocate_vector_block): Remove redundant
 +      calls to mallopt if DOUG_LEA_MALLOC is defined.
 +      (allocate_vectorlike): If DOUG_LEA_MALLOC is defined,
 +      avoid calls to mallopt if zero_vector is returned.
 +
 +2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES
 +      is enabled, avoid dereferencing NULL current_sblock if
 +      running undumped.
 +
 +2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup basic buffer management.
 +      * buffer.h (struct buffer): Change layout to use generic vector
 +      marking code.  Fix some comments.  Change type of 'clip_changed'
 +      to bitfield.  Remove unused #ifndef old.
 +      (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove.
 +      (GET_OVERLAYS_AT): Fix indentation.
 +      (for_each_per_buffer_object_at): New macro.
 +      * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
 +      (Fbuffer_local_variables): Use it.
 +      (init_buffer_once, syms_of_buffer): Remove unused #ifndef old.
 +      * alloc.c (allocate_buffer): Adjust to match new layout of
 +      struct buffer.  Fix comment.
 +      (mark_overlay): New function.
 +      (mark_buffer): Use it.  Use mark_vectorlike to mark normal
 +      Lisp area of struct buffer.
 +      (mark_object): Use it.  Adjust marking of misc objects
 +      and related comments.
 +
 +2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS"
 +      wrapper that is not needed because the wrapped code is a no-op (zero
 +      machine instructions) when GC_CHECK_MARKED_OBJECTS is not defined.
 +      This avoids a -Wunused-macros diagnostic with GCC 4.7.1 x86-64.
 +
 +2012-07-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (mark_buffer): Simplify.  Remove prototype.
 +      (mark_object): Add comment.  Reorganize marking of vector-like
 +      objects.  Use CHECK_LIVE for all vector-like objects except buffers
 +      and subroutines when GC_CHECK_MARKED_OBJECTS is defined.
 +      Avoid redundant calls to mark_vectorlike for bool vectors.
 +
 +2012-06-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp.
 +
 +      * epaths.in (PATH_SITELOADSEARCH): New.
 +      * lread.c (init_lread): Use PATH_SITELOADSEARCH.
 +      This is rather than relying on --enable-locallisppath elements
 +      having "site-lisp" in their names.  (Bug#10208#25, 11658)
 +
 +2012-06-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32proc.c (sys_select): Accept and ignore one more argument.
 +
 +      * w32.c (emacs_gnutls_pull): Call select with one more argument.
 +
 +      * sysselect.h [DOS_NT]: Don't include sys/select.h.
 +      (pselect) [!MS_DOS]: Redirect to sys_select.
 +
 +      * sysdep.c: Don't include dos.h and dosfns.h.
 +
 +      * process.c (sys_select):
 +      * msdos.c (sys_select): Accept one more argument and ignore it.
 +
 +      * msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
 +      adapt data types and code to that.
 +
 +      * dosfns.c:
 +      * msdos.c (gettime, settime): Define away the prototypes in dos.h,
 +      which clashes with the gnulib function of the same name.
 +
 +2012-06-30  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * font.c (font_style_to_value, font_style_symbolic)
 +      (font_prop_validate_style): Add type checks for values in
 +      font_style_table.
 +
 +      * lisp.h (CHECK_RANGED_INTEGER): Make value to check the first
 +      argument.
 +      * character.c, charset.c, menu.c, process.c, window.c: Adjust all
 +      uses.
 +
 +2012-06-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (try_window_id): Undo last change.
 +
 +      * w32.c (getwd): Adjust commentary about startup_dir.
 +      (init_environment): Always call sys_access, even in non-MSVC
 +      builds.  Don't chdir to the directory of the Emacs executable.
 +      This undoes code from 1997 which was justified by the need to
 +      "avoid conflicts when removing and renaming directories".  But its
 +      downside was that every relative file name was being interpreted
 +      relative to the directory of the Emacs executable, which can never
 +      be TRT.  In particular, it broke sys_access when called with
 +      relative file names.
 +      (sys_access): Map GetLastError to errno.
 +
 +2012-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * window.h (struct window): Change type of 'fringes_outside_margins'
 +      to bitfield.  Fix comment.  Adjust users accordingly.
 +      (struct window): Change type of 'window_end_bytepos' to ptrdiff_t.
 +      Adjust comment.
 +      * xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos'
 +      to ptrdiff_t.
 +
 +2012-06-29  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * gnutls.c (emacs_gnutls_handshake):
 +      Add QUIT to make the loop interruptible.
 +
 +2012-06-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * charset.c (init_charset): Make lack of etc/charsets fatal.
 +
 +2012-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * editfns.c (region_limit): Fix type mismatch.
 +
 +2012-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be
 +      undefined.  Convert from xassert to eassert.
 +      * nsmenu.m: Convert from xassert to eassert.
 +      * nsterm.m: Likewise.
 +
 +2012-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * editfns.c (region_limit): Clip to narrowing (bug#11770).
 +
 +2012-06-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Avoid integer overflow on scroll-left and scroll-right.
 +      * window.c (HSCROLL_MAX): New macro.
 +      (Fscroll_left, Fscroll_right): Avoid undefined behavior on integer
 +      overflow when requested scroll falls outside ptrdiff_t range.
 +
 +2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * window.h (struct window): Change type of 'hscroll',
 +      'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t,
 +      'last_modified' and 'last_overlay_modified' to EMACS_INT.
 +      Adjust users accordingly.
 +      * xdisp.c (try_cursor_movement): Replace type check with eassert.
 +      * window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll'
 +      from EMACS_INT to ptrdiff_t.
 +      (make_window): Omit redundant initialization.
 +
 +2012-06-28  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies.
 +
 +2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * window.h (struct window): Change type of 'use_time' and
 +      'sequence_number' from Lisp_Object to int.
 +      * frame.c (make_frame): Adjust users accordingly.
 +      * print.c (print_object): Likewise.
 +      * window.c (select_window, Fwindow_use_time, make_parent_window)
 +      (make_window): Likewise.
 +
 +2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * dispextern.h (GLYPH_DEBUG): Now defined in config.h if
 +      enabled with --enable-checking=[all,glyphs] configure option.
 +      Fix GLYPH_DEBUG usage assuming that it may be undefined,
 +      adjust comments accordingly.
 +      * dispnew.c: Fix GLYPH_DEBUG usage assuming that it may be
 +      undefined, adjust comments accordingly.
 +      * image.c: Likewise.
 +      * scroll.c: Likewise.
 +      * w32fns.c: Likewise.
 +      * w32term.c: Likewise.
 +      * xdisp.c: Likewise.
 +      * xfaces.c: Likewise.
 +      * xfns.c: Likewise.
 +      * xterm.c: Likewise.
 +
 +2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Generalize run-time debugging checks.
 +      * dispextern.h (XASSERTS): Remove.
 +      * fontset.c (xassert): Remove.
 +      Convert from xassert to eassert.
 +      * alloc.c: Convert from xassert to eassert.
 +      * bidi.c: Likewise.
 +      * dispnew.c: Likewise.
 +      * fns.c: Likewise.
 +      * fringe.c: Likewise.
 +      * ftfont.c: Likewise.
 +      * gtkutil.c: Likewise.
 +      * image.c: Likewise.
 +      * keyboard.c: Likewise.
 +      * menu.c: Likewise.
 +      * process.c: Likewise.
 +      * scroll.c: Likewise.
 +      * sound.c: Likewise.
 +      * term.c: Likewise.
 +      * w32console.c: Likewise.
 +      * w32fns.c: Likewise.
 +      * w32term.c: Likewise.
 +      * window.c: Likewise.
 +      * xdisp.c: Likewise.
 +      * xfaces.c: Likewise.
 +      * xfns.c: Likewise.
 +      * xselect.c: Likewise.
 +      * xterm.c: Likewise.
 +
 +2012-06-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * fns.c (maybe_resize_hash_table): Output message when growing the
 +      purify-hashtable.
 +
 +2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (allocate_string_data): Remove dead code.
 +      * xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to
 +      avoid GCC warning about unused macro.
 +
 +2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (allocate_string): Omit intervals initialization.
 +      * alloc.c (make_uninit_multibyte_string): Initialize intervals
 +      as in make_pure_string and make_pure_c_string.
 +
 +2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (allocate_string): Fix last change.
 +
 +2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (allocate_string): Remove two redundant calls
 +      to memset, add explicit initialization where appropriate.
 +
 +2012-06-27  Glenn Morris  <rgm@gnu.org>
 +
 +      * lisp.mk (lisp): Remove paths.elc.
 +
 +2012-06-27  Chong Yidong  <cyd@gnu.org>
 +
 +      * doc.c (Fsubstitute_command_keys): Fix punctuation.
 +
 +2012-06-26  John Wiegley  <johnw@newartisans.com>
 +
 +      * unexmacosx.c (copy_data_segment): Add two section names used
 +      on Mac OS X Lion: __mod_init_func and __mod_term_func.
 +
 +      * alloc.c (mark_memory): Do not check with -faddress-sanitizer
 +      when building with Clang.
 +
 +2012-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * eval.c (Fapply): Allow calling it with a single argument.
 +
 +2012-06-26  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * s/ms-w32.h (strcasecmp, strncasecmp) [_MSC_VER]: Redirect to
 +      _stricmp and _strnicmp.
 +      (HAVE_STRCASECMP, HAVE_STRNCASECMP): Define to 1.
 +
 +2012-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (allocate_window): Zero out non-Lisp part of newly
 +      allocated window.
 +      (allocate_process): Likewise for new process.
 +      (allocate_terminal): Change to use offsetof.
 +      (allocate_frame): Likewise.
 +      * frame.c (make_frame): Omit redundant initialization.
 +      * window.c (make_parent_window): Use memset.
 +      (make_window): Omit redundant initialization.
 +      * process.c (make_process): Omit redundant initialization.
 +      * terminal.c (create_terminal): Likewise.
 +
 +2012-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * term.c (delete_tty): Remove redundant call to memset.
 +
 +2012-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c: Remove build_string.
 +      * lisp.h: Define build_string as static inline.  This provides
 +      a better opportunity to optimize away calls to strlen when the
 +      function is called with compile-time constant argument.
 +      * image.c (imagemagick_error): Convert to build_string.
 +      * w32proc.c (sys_spawnve): Likewise.
 +      * xterm.c (x_term_init): Likewise.
 +
 +2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use sprintf return value instead of invoking strlen on result.
 +      In the old days this wasn't portable, since some sprintf
 +      implementations returned char *.  But they died out years ago and
 +      Emacs already assumes sprintf returns int.
 +      Similarly for float_to_string.
 +      This patch speeds up (number-to-string 1000) by 3% on Fedora 15 x86-64.
 +      * ccl.c (ccl_driver):
 +      * character.c (string_escape_byte8):
 +      * data.c (Fnumber_to_string):
 +      * doprnt.c (doprnt):
 +      * print.c (print_object):
 +      * xdisp.c (message_dolog):
 +      * xfns.c (syms_of_xfns):
 +      Use sprintf or float_to_string result to avoid need to call strlen.
 +      * data.c (Fnumber_to_string):
 +      Use make_unibyte_string, since the string must be ASCII.
 +      * lisp.h, print.c (float_to_string): Now returns int length.
 +      * term.c (produce_glyphless_glyph):
 +      Use sprintf result rather than recomputing it.
 +
 +      Clean out last vestiges of the old HAVE_CONFIG_H stuff.
 +      * Makefile.in (ALL_CFLAGS):
 +      * makefile.w32-in (LOCAL_FLAGS): Remove -DHAVE_CONFIG_H.
 +      * gmalloc.c, regex.c: Include <config.h> unconditionally.
 +
 +2012-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * dispextern.h (xstrcasecmp): Define to library function
 +      strcasecmp if available.
 +      * xfaces.c: Do not use xstrcasecmp if strcasecmp is available.
 +
 +2012-06-25  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * keyboard.c (menu_bar_items, menu_bar_item, read_key_sequence):
 +      Avoid comma operator.
 +      * menu.c (push_submenu_start, push_submenu_end)
 +      (push_left_right_boundary, push_menu_pane): Likewise.
 +      * msdos.c (dos_rawgetc): Likewise.
 +
 +2012-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xfns.c (xic_create_fontsetname): Remove redundant calls
 +      to memset.
 +
 +2012-06-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * gtkutil.c (get_utf8_string): Remove redundant assignment.
 +      sprintf already null-terminates its output.
 +
 +      * xfns.c (x_window): Remove redundant cast.
 +
 +2012-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xmenu.c (xmenu_show, xdialog_show): Explicit cast from
 +      `const char *' to `char *' to avoid compiler warning.
 +
 +2012-06-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xterm.c (x_term_init): Build proper-sized _XSETTINGS_Snnn string
 +      instead of truncating it to 63 (admittedly a generous limit).
 +
 +      * process.c: Fix spelling and caps in comments.
 +
 +2012-06-24  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * emacs.c (setpgrp): Remove definition, unused.
 +      * sysdep.c (setpgrp): Remove definition, not used in this file.
 +
 +2012-06-24  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in: Update dependencies.
 +
 +2012-06-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (TIMESPEC_H): Remove nt/inc/sys/time.h.
 +      (SYSTIME_H): Add nt/inc/sys/time.h.
 +
 +      * systime.h [WINDOWSNT]: Include sys/time.h.
 +
 +      * s/ms-w32.h (struct timespec): Definition moved from
 +      nt/inc/sys/time.h.  Suggested by Paul Eggert <eggert@cs.ucla.edu>.
 +
 +2012-06-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
 +      * buffer.h (buffer_slot_type_mismatch):
 +      * data.c (arith_error) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
 +      * eval.c (unwind_to_catch):
 +      * image.c (my_png_error, my_error_exit):
 +      * keyboard.c (quit_throw_to_read_char, user_error)
 +      (Fexit_recursive_edit, Fabort_recursive_edit):
 +      * lisp.h (die, args_out_of_range, args_out_of_range_3)
 +      (wrong_type_argument, buffer_overflow, __executable_start)
 +      (memory_full, buffer_memory_full, string_overflow, Fthrow)
 +      (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error)
 +      (error, verror, nsberror, report_file_error, Ftop_level, Fkill_emacs)
 +      (fatal):
 +      (child_setup) [!DOS_NT]:
 +      * lread.c (end_of_file_error, invalid_syntax):
 +      * process.c (send_process_trap) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
 +      * puresize.h (pure_write_error):
 +      * search.c (matcher_overflow):
 +      * sound.c (sound_perror, alsa_sound_perror):
 +      * sysdep.c, syssignal.h (croak):
 +      * term.c (maybe_fatal, vfatal):
 +      * textprop.c (text_read_only):
 +      * undo.c (user_error):
 +      * unexmacosx.c (unexec_error):
 +      * xterm.c (x_ins_del_lines, x_delete_glyphs):
 +      Use _Noreturn rather than NO_RETURN.
 +      No need for separate decl merely because of _Noreturn.
 +      * sound.c (sound_warning, parse_sound):
 +      Remove unnecessary forward decls.
 +
 +2012-06-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix bug when time_t is unsigned and as wide as intmax_t (Bug#9000).
 +      * lisp.h (WAIT_READING_MAX): New macro.
 +      * dispnew.c (Fsleep_for, sit_for):
 +      * keyboard.c (kbd_buffer_get_event):
 +      * process.c (Faccept_process_output):
 +      Use it to avoid bogus compiler warnings with obsolescent GCC versions.
 +      This improves on the previous patch, which introduced a bug
 +      when time_t is unsigned and as wide as intmax_t.
 +      See <http://bugs.gnu.org/9000#51>.
 +
 +2012-06-23  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * dispnew.c (sit_for, Fsleep_for):
 +      * keyboard.c (kbd_buffer_get_event):
 +      * process.c (Faccept_process_output): Avoid compiler warnings when
 +      comparing a 32-bit time_t with a 64-bit INTMAX_MAX.
 +
 +2012-06-23  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in: Update dependencies.
 +
 +      * w32.c (ltime): Add return type and declare static.
 +      (w32_get_internal_run_time): Remove usused variable `time_100ns'.
 +
 +2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c [__FreeBSD__]: Fix more recently-introduced typos.
 +      Privately reported by Herbert J. Skuhra.
 +      (make_lisp_timeval) [__FreeBSD__]: Rename from TIMELIST.
 +      All uses changed.
 +      (system_process_attributes) [__FreeBSD__]: Invoke make_lisp_time,
 +      not make_lisp_timeval, when the argument is of type EMACS_TIME.
 +
 +2012-06-23  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32proc.c (Fw32_get_locale_info): Fix an off-by-one error in
 +      last argument of make_unibyte_string.
 +
 +      * keyboard.c (kbd_buffer_get_event): Include the codepage and the
 +      language ID in the event parameters.
 +
 +      * w32term.c (w32_read_socket): Put the new keyboard codepage into
 +      event.code, not the obscure "character set ID".
 +
 +2012-06-23  Chong Yidong  <cyd@gnu.org>
 +
 +      * xmenu.c (x_menu_wait_for_event): Adapt GTK3 to new xg_select.
 +
 +2012-06-23  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu.
 +      * w32.c (fdutimens): New function.
 +
 +      * w32proc.c (sys_select): Adapt to change in the EMACS_TIME type.
 +
 +      * s/ms-w32.h (pselect): Redirect to sys_select.
 +
 +      * sysselect.h [WINDOWSNT]: Don't include sys/select.h.
 +
 +      * ralloc.c (r_alloc_inhibit_buffer_relocation): Fix stupid thinko
 +      in the logic of incrementing and decrementing the value of
 +      use_relocatable_buffers.
 +
 +2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c [__FreeBSD__]: Fix recently-introduced typos.
 +      Privately reported by Herbert J. Skuhra.
 +      [__FreeBSD__]: Remove "*/" typo after "#include".
 +      (timeval_to_EMACS_TIME) [__FreeBSD__]: New static function.
 +      (TIMEVAL) [__FreeBSD__]: Now a static function rather than a macro.
 +      (TIMEVAL, system_process_attributes) [__FreeBSD__]:
 +      Don't assume EMACS_TIME and struct timeval are the same type.
 +
 +2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Support higher-resolution time stamps (Bug#9000).
 +      The time stamps are only nanosecond-resolution at the C level,
 +      since that's the best that any real-world system supports now.
 +      But they are picosecond-resolution at the Lisp level, as that's
 +      easy, and leaves room for future OS improvements.
 +
 +      * Makefile.in (LIB_CLOCK_GETTIME): New macro.
 +      (LIBES): Use it.
 +
 +      * alloc.c (Fgarbage_collect): Port to higher-res time stamps.
 +      Don't get current time unless it's needed.
 +
 +      * atimer.c: Include <sys/time.h> unconditionally, since gnulib
 +      now provides it if it's absent.
 +      (start_atimer): Port to higher-res time stamps.
 +      Check for time stamp overflow.  Don't get current time more
 +      often than is needed.
 +
 +      * buffer.h (struct buffer): Buffer modtime now has high resolution.
 +      Include systime.h, not time.h.
 +      (NONEXISTENT_MODTIME_NSECS, UNKNOWN_MODTIME_NSECS): New macros.
 +
 +      * dired.c: Include stat-time.h.
 +      (Ffile-attributes): File times now have higher resolution.
 +
 +      * dispextern.h [HAVE_WINDOW_SYSTEM]: Include systime.h.
 +      (struct image): Timestamp now has higher resolution.
 +
 +      * dispnew.c (PERIODIC_PREEMPTION_CHECKING): Remove, as Emacs always
 +      has at least microseconds now.  All uses removed.
 +      (update_frame, update_single_window, update_window, update_frame_1)
 +      (Fsleep_for, sit_for): Port to higher-resolution time stamps.
 +      (duration_to_sec_usec): Remove; no longer needed.
 +
 +      * editfns.c (time_overflow): Now extern.
 +      (Fcurrent_time, Fget_internal_run_time, make_time, lisp_time_argument)
 +      (float-time, Fformat_time_string, Fcurrent_time_string)
 +      (Fcurrent_time_zone): Accept and generate higher-resolution
 +      time stamps.
 +      (make_time_tail, make_lisp_time, dissassemble_lisp_time)
 +      (decode_time_components, lisp_seconds_argument): New functions.
 +      (make_time): Now static.
 +      (lisp_time_argument): Now returns EMACS_TIME.  New arg ppsec.
 +      Report an error if the time is invalid, rather than having the caller
 +      do that.
 +
 +      * fileio.c: Include <stat-time.h>
 +      (Fcopy_file): Copy higher-resolution time stamps.
 +      Prefer to set the time stamp via a file descriptor if that works.
 +      (Fset_file_times, Finsert_file_contents, Fwrite_region)
 +      (Fverify_visited_file_modtime, Fclear_visited_file_modtime)
 +      (Fvisited_file_modtime, Fset_visited_file_modtime):
 +      Support higher-resolution time stamps.
 +
 +      * fns.c (Frandom): Use nanoseconds, not microseconds, for seed.
 +
 +      * gtkutil.c (xg_maybe_add_timer): Port to higher-res time stamps.
 +
 +      * image.c (prepare_image_for_display, clear_image_cache)
 +      (lookup_image): Port to higer-resolution time stamps.
 +
 +      * keyboard.c (start_polling, bind_polling_period):
 +      Check for time stamp overflow.
 +      (read_char, kbd_buffer_get_event, timer_start_idle)
 +      (timer_stop_idle, timer_resume_idle, timer_check_2, timer_check)
 +      (Fcurrent_idle_time, init_keyboard, set_waiting_for_input):
 +      Port to higher-resolution time stamps.  Do not assume time_t is signed.
 +      (decode_timer): New function.  Timers are now vectors of length 9,
 +      not 8, to accommodate the picosecond component.
 +      (timer_check_2): Use it.
 +
 +      * nsterm.m (select_timeout, timeval_subtract): Remove.
 +      (ns_timeout): Use Emacs's facilities for time stamp arithmetic,
 +      as they're a bit more accurate and handle overflow better.
 +      (ns_select): Change prototype to be compatible with pselect.
 +      (ns_select, ns_term_shutdown): Port to ns-resolution time stamps.
 +      * nsterm.h (ns_select): Adjust prototype.
 +
 +      * msdos.c (EMACS_TIME_ZERO_OR_NEG_P): Remove, as it assumes
 +      us-resolution time stamps.
 +      (sys_select): Use the new EMACS_TIME_SIGN macro instead.
 +
 +      * lread.c (read_filtered_event): Port to ns-resolution time stamps.
 +
 +      * lisp.h (time_overflow): New decl.
 +      (wait_reading_process_output): First arg is now intmax_t, not int,
 +      to accommodate larger waits.
 +
 +      * process.h (struct Lisp_Process.read_output_delay):
 +      Now counts nanoseconds, not microseconds.
 +      * process.c (ADAPTIVE_READ_BUFFERING): Don't worry about
 +      EMACS_HAS_USECS.
 +      (READ_OUTPUT_DELAY_INCREMENT, Faccept_process_output)
 +      (wait_reading_process_output):
 +      Port to ns-resolution time stamps.
 +      (Faccept_process_output, wait_reading_process_output):
 +      Check for time stamp overflow.  Do not assume time_t is signed.
 +      (select_wrapper): Remove; we now use pselect.
 +      (Fprocess_attributes): Now generates ns-resolution time stamps.
 +
 +      * sysdep.c: Include utimens.h.  Don't include utime.h
 +      or worry about struct utimbuf; gnulib does that for us now.
 +      (gettimeofday): Remove; gnulib provides a substitute.
 +      (make_timeval): New function.
 +      (set_file_times): Now sets ns-resolution time stamps.
 +      New arg FD; all uses changed.
 +      (time_from_jiffies, ltime_from_jiffies, get_up_time)
 +      (system_process_attributes):
 +      Now returns ns-resolution time stamp.  All uses changed.
 +      Check for time stamp overflow.
 +
 +      * sysselect.h: Don't depend on HAVE_SYS_SELECT_H; gnulib
 +      provides a substitute now.
 +
 +      * systime.h: Include timespec.h rather than sys/time.h and time.h,
 +      since it guarantees struct timespec.
 +      (EMACS_TIME): Now struct timespec, so that we can support
 +      ns-resolution time stamps.
 +      (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): New macros.
 +      (EMACS_HAS_USECS): Remove; Emacs always has sub-second time stamps now.
 +      (EMACS_USECS): Remove.
 +      (EMACS_SET_USECS): The underlying time stamp now has ns resolution,
 +      so multiply the arg by 1000 before storing it.
 +      (EMACS_NSECS, EMACS_SECS_ADDR, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS):
 +      New macros.
 +      (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME):
 +      Port to ns-resolution time stamps.
 +      (EMACS_TIME_NEG_P): Remove; replaced by....
 +      (EMACS_TIME_SIGN): New macro.
 +      (EMACS_SET_INVALID_TIME, EMACS_TIME_VALID_P)
 +      (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE): New macros.
 +      (set_file_times, make_time, lisp_time_argument): Adjust signature.
 +      (make_timeval, make_lisp_time, decode_time_components): New decls.
 +      (EMACS_TIME_CMP): Remove; no longer used.  Plus, it was buggy, in
 +      that it mishandled time_t overflow.  You can't compare by subtracting!
 +      (EMACS_TIME_EQ, EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE)
 +      (EMACS_TIME_LT, EMACS_TIME_LE): Rewrite in terms of timespec_cmp.
 +
 +      * term.c: Include <sys/time.h>.
 +      (timeval_to_Time): New function, for proper overflow wraparound.
 +      (term_mouse_position, term_mouse_click): Use it.
 +
 +      * undo.c (record_first_change): Support higher-resolution time stamps
 +      in the undo buffer.
 +      (Fprimitive_undo): Use them when restoring time stamps.
 +
 +      * w32.c (ltime, U64_TO_LISP_TIME, process_times, emacs_gnutls_pull)
 +      (w32_get_internal_run_time):
 +      Port to higher-resolution Emacs time stamps.
 +      (ltime): Now accepts single 64-bit integer, as that's more convenient
 +      for callers.
 +
 +      * xdisp.c (start_hourglass): Port to ns-resolution time stamps.
 +
 +      * xgselect.c, xgselect.h (xg_select): Add sigmask argument,
 +      for compatibility with pselect.  Support ns-resolution time stamps.
 +
 +      * xmenu.c (x_menu_wait_for_event): Support ns-resolution time stamps.
 +
 +      * xselect.c (wait_for_property_change, x_get_foreign_selection):
 +      Check for time stamp overflow, and support ns-resolution time stamps.
 +
 +      * xterm.c: Don't include sys/time.h; gnulib does that for us now.
 +      Don't worry about whether HAVE_TIMEVAL and HAVE_SELECT are set.
 +      (timeval_subtract): Remove; no longer needed.
 +      (XTflash, XTring_bell, x_wait_for_event):
 +      Port to ns-resolution time stamps.  Don't assume time_t is signed.
 +
 +2012-06-22  Chong Yidong  <cyd@gnu.org>
 +
 +      * xdisp.c (x_consider_frame_title): Revert last change.
 +
 +2012-06-22  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * alloc.c (NSTATICS): Enlarge to 0x650.  Otherwise, Emacs compiled
 +      with -DENABLE_CHECKING -DXASSERTS -DGLYPH_DEBUG=1 -DBYTE_CODE_METER
 +      aborts in staticpro during startup.  (Without -DBYTE_CODE_METER,
 +      staticidx goes up to 1597 out of 1600 = 0x640.)
 +
 +2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * fileio.c (Fdefault_file_modes): Block input while fiddling with umask.
 +      Otherwise, the umask might be mistakenly 0 while handling input signals.
 +
 +2012-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * minibuf.c (Fread_string): Bind minibuffer-completion-table.
 +
 +2012-06-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c, bytecode.c, ccl.c, coding.c, composite.c, data.c, dosfns.c:
 +      * font.c, image.c, keyboard.c, lread.c, menu.c, minibuf.c, msdos.c:
 +      * print.c, syntax.c, window.c, xmenu.c, xselect.c: Replace direct
 +      access to `contents' member of Lisp_Vector objects with AREF and ASET
 +      where appropriate.
 +
 +2012-06-19  Chong Yidong  <cyd@gnu.org>
 +
 +      * frame.c (delete_frame): When selecting a frame on a different
 +      text terminal, do not alter the terminal's top-frame.
 +
 +      * xdisp.c (format_mode_line_unwind_data): Record the target
 +      frame's selected window and its terminal's top-frame.
 +      (unwind_format_mode_line): Restore them.
 +      (x_consider_frame_title, display_mode_line, Fformat_mode_line):
 +      Callers changed.
 +      (x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM,
 +      since tty frames can be explicitly named.
 +      (prepare_menu_bars): Likewise.
 +
 +      * term.c (Ftty_top_frame): New function.
 +
 +2012-06-18  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * makefile.w32-in ($(BLD)/w32menu.$(O)): Depend on w32heap.h.
 +      Port byte-code-meter to modern targets.
 +      * bytecode.c (METER_CODE) [BYTE_CODE_METER]: Don't assume
 +      !CHECK_LISP_OBJECT_TYPE && !USE_LSB_TAG.  Problem with
 +      CHECK_LISP_OBJECT_TYPE reported by Dmitry Antipov in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00282.html>.
 +      (METER_1, METER_2): Simplify.
 +
 +2012-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * data.c (Fdefalias): Return `symbol' (bug#11686).
 +
 +2012-06-18  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * buffer.c (Fkill_buffer): Don't throw an error when the buffer
 +      gets killed during executing of this function (Bug#11665).
 +      Try to always return Qt when the buffer has been actually killed.
 +      (Vkill_buffer_query_functions): In doc-string say that functions
 +      run by this hook should not change the current buffer.
 +
 +2012-06-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix recently-introduced process.c problems found by static checking.
 +      * process.c (write_queue_push, write_queue_pop, send_process):
 +      Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets.
 +      (write_queue_pop): Fix pointer signedness problem.
 +      (send_process): Remove unused local.
 +
 +2012-06-17  Chong Yidong  <cyd@gnu.org>
 +
 +      * xdisp.c (redisplay_internal): No need to redisplay terminal
 +      frames that are not on top.
 +
 +2012-06-17  Troels Nielsen  <bn.troels@gmail.com>
 +
 +      * process.c (make_process): Initialize write_queue.
 +      (write_queue_push, write_queue_pop): New functions.
 +      (send_process): Use them to maintain correct ordering of process
 +      writes (Bug#10815).
 +
 +2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (eassert): Assume C89 or later.
 +      This removes the need for CHECK.
 +      (CHECK): Remove.  Its comments about always evaluating its
 +      argument were confusing, as 'eassert' typically does not evaluate
 +      its argument.
 +
 +      * coding.c (produce_chars): Use ptrdiff_t, not int.
 +
 +      * xterm.c (x_draw_underwave): Check for integer overflow.
 +      This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64.
 +
 +2012-06-17  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't
 +      referenced (Bug#11583).
 +
 +2012-06-16  Aurelien Aptel  <aurelien.aptel@gmail.com>
 +
 +      Implement wave-style variant of underlining.
 +      * dispextern.h (face_underline_type): New enum.
 +      (face): Add field for underline type.
 +      * nsterm.m (ns_draw_underwave): New function.
 +      (ns_draw_text_decoration): Use it.
 +      * w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave):
 +      New functions.
 +      (x_draw_glyph_string): Use them.
 +      * xfaces.c (Qline, Qwave): New Lisp objects.
 +      (check_lface_attrs, merge_face_ref)
 +      (Finternal_set_lisp_face_attribute, realize_x_face):
 +      Handle wave-style underline face attributes.
 +      * xterm.c (x_draw_underwave): New function.
 +      (x_draw_glyph_string): Use it.
 +
 +2012-06-16  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/fringe.$(O))
 +      ($(BLD)/xml.$(O), $(BLD)/intervals.$(O), $(BLD)/macros.$(O))
 +      ($(BLD)/minibuf.$(O), $(BLD)/regex.$(O), $(BLD)/region-cache.$(O))
 +      ($(BLD)/textprop.$(O), $(BLD)/undo.$(O), $(BLD)/window.$(O))
 +      ($(BLD)/w32select.$(O)): Update dependencies.
 +
 +2012-06-16  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline.
 +      (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
 +      * character.c (_fetch_multibyte_char_p): Remove.
 +      * alloc.c: Include "character.h" before "buffer.h".
 +      * bidi.c: Likewise.
 +      * buffer.c: Likewise.
 +      * bytecode.c: Likewise.
 +      * callint.c: Likewise.
 +      * callproc.c: Likewise.
 +      * casefiddle.c: Likewise.
 +      * casetab.c: Likewise.
 +      * category.c: Likewise.
 +      * cmds.c: Likewise.
 +      * coding.c: Likewise.
 +      * composite.c: Likewise.
 +      * dired.c: Likewise.
 +      * dispnew.c: Likewise.
 +      * doc.c: Likewise.
 +      * dosfns.c: Likewise.
 +      * editfns.c: Likewise.
 +      * emacs.c: Likewise.
 +      * fileio.c: Likewise.
 +      * filelock.c: Likewise.
 +      * font.c: Likewise.
 +      * fontset.c: Likewise.
 +      * fringe.c: Likewise.
 +      * indent.c: Likewise.
 +      * insdel.c: Likewise.
 +      * intervals.c: Likewise.
 +      * keyboard.c: Likewise.
 +      * keymap.c: Likewise.
 +      * lread.c: Likewise.
 +      * macros.c: Likewise.
 +      * marker.c: Likewise.
 +      * minibuf.c: Likewise.
 +      * nsfns.m: Likewise.
 +      * nsmenu.m: Likewise.
 +      * print.c: Likewise.
 +      * process.c: Likewise.
 +      * regex.c: Likewise.
 +      * region-cache.c: Likewise.
 +      * search.c: Likewise.
 +      * syntax.c: Likewise.
 +      * term.c: Likewise.
 +      * textprop.c: Likewise.
 +      * undo.c: Likewise.
 +      * unexsol.c: Likewise.
 +      * w16select.c: Likewise.
 +      * w32fns.c: Likewise.
 +      * w32menu.c: Likewise.
 +      * window.c: Likewise.
 +      * xdisp.c: Likewise.
 +      * xfns.c: Likewise.
 +      * xmenu.c: Likewise.
 +      * xml.c: Likewise.
 +      * xselect.c: Likewise.
 +
 +2012-06-16  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (set_cursor_from_row): Don't dereference glyphs_end.
 +      If all the glyphs of the glyph row came from strings, and we have no
 +      cursor positioning clues, put the cursor on the first glyph of the
 +      row.
 +      (handle_face_prop): Use chunk-relative overlay string index when
 +      indexing into it->string_overlays array.  (Bug#11653)
 +      (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not
 +      the rightmost.  (Bug#11720)
 +
 +2012-06-16  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * category.h (CHAR_HAS_CATEGORY): Define as inline.
 +      (CATEGORY_MEMBER): Enforce 1/0 value.
 +      * category.c (_temp_category_set): Remove.
 +
 +2012-06-16  Eli Zaretskii  <eliz@gnu.org>
  
        * window.c (Fdelete_other_windows_internal)
        (Fdelete_window_internal): Don't access frame's mouse highlight
diff --cc src/eval.c
Simple merge
diff --cc src/ralloc.c
Simple merge
diff --cc test/ChangeLog
@@@ -1,23 -1,21 +1,28 @@@
 -2012-08-24  Chong Yidong  <cyd@gnu.org>
 -
 -      * Version 24.2 released.
 -
 -2012-08-14  Chong Yidong  <cyd@gnu.org>
++2012-08-28  Chong Yidong  <cyd@gnu.org>
+       * automated/files.el: Test every combination of values for
+       enable-local-variables and enable-local-eval.
 -2012-08-10  Glenn Morris  <rgm@gnu.org>
 +2012-08-19  Chong Yidong  <cyd@gnu.org>
  
 -      * automated/files.el (files-test-disable-local-variables): New test.
 +      * redisplay-testsuite.el (test-redisplay): Use switch-to-buffer.
  
 -2012-08-08  Glenn Morris  <rgm@gnu.org>
 +2012-08-18  Chong Yidong  <cyd@gnu.org>
  
 -      * automated/files.el: New file.
 +      * redisplay-testsuite.el (test-redisplay-4): New test (Bug#3874).
 +
 +2012-08-14  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * indent/ruby.rb: Rearrange examples, add new ones.
 +
 +2012-08-12  Dmitry Gutov  <dgutov@yandex.ru>
  
 -2012-08-07  Glenn Morris  <rgm@gnu.org>
 +      * automated/ruby-mode-tests.el (ruby-move-to-block-stops-at-opening)
 +      (ruby-toggle-block-to-do-end, ruby-toggle-block-to-brace): New test.
 +
 +2012-08-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/files.el: New file.
  
        * automated/Makefile.in (all): Fix typo.