]> code.delx.au - gnu-emacs/commitdiff
Merge from emacs-23; up to 2010-06-08T03:06:47Z!dann@ics.uci.edu.
authorGlenn Morris <rgm@gnu.org>
Sat, 9 Apr 2011 17:40:29 +0000 (10:40 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 9 Apr 2011 17:40:29 +0000 (10:40 -0700)
1  2 
lisp/ChangeLog
src/ChangeLog
src/ftfont.c
src/xmenu.c
src/xselect.c
src/xterm.c

diff --combined lisp/ChangeLog
index b7d80c636a71120b4e7c0bf49144471fe0bdc7a9,8f24803e3e90b09b5fc04459a8ab33421c483f7b..8d705cdaed66041b8ef035fffd659daeec8a34be
 -2011-04-06  Juanma Barranquero  <lekktu@gmail.com>
 +2011-04-08  Sho Nakatani <lay.sakura@gmail.com>
  
 -      Backport revno:103823 and revno:103824 from trunk.
 -      * help-fns.el (describe-variable): Complete all variables having
 -      documentation, including keywords.
 -      http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html
 +      * doc-view.el (doc-view-fit-width-to-window)
 +      (doc-view-fit-height-to-window, doc-view-fit-page-to-window): New
 +      functions for fitting the shown image to the Emacs window size.
 +      (doc-view-mode-map): Add bindings for the new functions.
  
  2011-03-24  Juanma Barranquero  <lekktu@gmail.com>
  
        * vc-annotate.el (vc-annotate-show-log-revision-at-line):
        Fix typo in docstring.
  
 -2011-03-19  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emerge.el (emerge-metachars): Separate value for ms-dos and
 -      windows-nt systems.
 -      (emerge-protect-metachars): Quote correctly for ms-dos and
 -      windows-nt systems.
 -
 -2011-03-15  Ralph Schleicher  <rs@ralph-schleicher.de>  (tiny change)
 -
 -      * info.el (info-initialize): Replace all uses of `:' with
 -      path-separator for compatibility with non-Unix systems.
 -      Cache quoting of path-separator.  (Bug#8258)
 -
 -2011-03-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist)
 -      (mouse-avoidance-threshold, mouse-avoidance-banish-destination)
 -      (mouse-avoidance-mode): Fix typos in docstrings.
 -
 -2011-03-12  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-progress-reporter-update): Use
 -      `tramp-compat-funcall'.
 -      (tramp-handle-start-file-process): Use `tramp-compat-process-get'.
 -      (tramp-handle-insert-file-contents): Make `file-remote-p' call
 -      compatible.
 -      (tramp-open-connection-setup-interactive-shell): Use
 -      `tramp-compat-process-put'.
 -
 -      * net/tramp-compat.el (tramp-compat-process-get)
 -      (tramp-compat-process-put): New defuns.
 -
 -      * net/trampver.el: Update release number.
 -
 -2011-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
 -      into declaration.  Remove redundant and harmful binding.
 -
 -2011-03-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Backport revno:103463 from trunk.
 -      * emacs-lisp/cl-macs.el (lexical-let*): Fix argument name in docstring.
 -
 -      Backport revno:103622 from trunk.
 -      * help-fns.el (describe-variable): Don't complete keywords.
 -      Suggested by Teodor Zlatanov <tzz@lifelogs.com>.
 -
 -2011-03-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * files.el (file-ownership-preserved-p): Pass `integer' as an
 -      explicit 2nd argument to `file-attributes'.  If the file's owner
 -      is the Administrators group on Windows, and the current user is
 -      Administrator, consider that a match.
 -
 -      * server.el (server-ensure-safe-dir): Consider server directory
 -      safe on MS-Windows if its owner is the Administrators group while
 -      the current Emacs user is Administrator.  Use `=' to compare
 -      numerical UIDs, since they could be integers or floats.
 -
 -2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.3 released.
 -
 -2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cc-cmds.el (c-beginning-of-statement): Fix 2011-01-31
 -      change; patch supplied by Alan Mackenzie was applied incorrectly.
 -
 -2011-02-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * international/mule-cmds.el (set-default-coding-systems): Use the
 -      -unix variant of encoding in default-keyboard-coding-system.
 -      (Bug#8122)
 -
 -2011-02-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-process-multipart): Do not signal an
 -      error when a multipart boundary in the nested multipart is found.
 -
 -2011-02-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmail.el (rmail-start-mail): Decode "encoded-words" of
 -      header components.
 -
 -2011-02-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-find-header-encoding): Be sure to
 -      get the header copy into the temporary buffer.
 -      (rmail-mime-insert-decoded-text): Ignore us-ascii.
 -      (rmail-show-mime): When rmail-mime-coding-system is nil, set
 -      buffer-file-coding-system to undecided.
 -
 -2011-02-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image-mode.el (image-toggle-display-image): Disable
 -      require-final-newline in buffers visiting binary image files.
 -      (Bug#8047)
 -
 -      * international/mule-cmds.el (read-char-by-name, ucs-insert):
 -      Document completion with asterisk and a substring.
 -
 -2011-02-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * files.el (find-file-literally): Doc fix.
 -
 -2011-02-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * simple.el (rfc822-goto-eoh): Give it a doc-string.
 -
 -      * log-edit.el (log-edit-insert-changelog):
 -      Fix `log-edit-strip-single-file-name' functionality.  (Bug#8057)
 -
 -2011-02-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * pgg-gpg.el (pgg-gpg-process-region): Bind
 -      delete-by-moving-to-trash to nil.
 -
 -      * pgg-pgp.el (pgg-pgp-process-region, pgg-pgp-verify-region)
 -      (pgg-pgp-snarf-keys-region):
 -      * pgg-pgp5.el (pgg-pgp5-process-region, pgg-pgp5-verify-region)
 -      (pgg-pgp5-snarf-keys-region): Likewise.
 -
 -2011-02-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (copy-directory): Revert to pre-2011-01-29 version.
 -
 -2011-02-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * epg.el (epg-delete-output-file, epg-decrypt-string)
 -      (epg-verify-string, epg-sign-string, epg-encrypt-string): Bind
 -      delete-by-moving-to-trash to nil.
 -
 -      * epa-file.el (epa-file-insert-file-contents): Likewise.
 -
 -2011-02-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/cl-seq.el (union, nunion, intersection)
 -      (nintersection, set-difference, nset-difference)
 -      (set-exclusive-or, nset-exclusive-or): Doc fix.
 -
 -      * ediff-ptch.el (ediff-fixup-patch-map): Doc fix.
 -
 -2011-02-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * faces.el (face-attr-match-p): Handle the obsolete :bold and
 -      :italic props, so that frame-set-background-mode works.  (Bug#7966)
 -
 -2011-02-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * simple.el (next-error): Doc fix.
 -
 -2011-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -            Thierry Volpiatto <thierry.volpiatto@gmail.com>
 -
 -      * files.el (copy-directory): New arg COPY-AS-SUBDIR.  If nil,
 -      don't copy as a subdirectory.
 -
 -2011-02-05  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/cl-macs.el (return-from): Fix doc typo.
 -
 -2011-02-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-font-lock-keywords):
 -      Tweak diary-time-regexp match.  (Bug#7891)
 -
 -      * progmodes/f90.el (f90-find-tag-default): New function.  (Bug#7919)
 -      (f90-mode): Use it for mode's `find-tag-default-function' property.
 -
 -2011-02-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * ibuf-ext.el (ibuffer-filter-disable): Make it work.  (Bug#7969)
 -
 -      * faces.el (set-face-attribute): Doc fix.  (Bug#2659)
 -
 -2011-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcomplete.el (pcomplete-here*): Backport fix for mistaken change
 -      (bug#7959) and (bug#5935).
 -
 -2011-01-31  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
 -
 -      * net/rcirc.el: Clean log filenames (Bug#7933).
 -      (rcirc-log-write): Use convert-standard-filename.
 -      (rcirc-log-filename-function): Documentation updates.
 -
 -2011-01-31  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-cmds.el (c-forward-over-illiterals):
 -      Continue parsing if we encounter a naked # (Bug#7595).
 -      (c-beginning-of-statement): Avoid loop in locating the beginning
 -      of a macro.
 -
 -2011-01-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (copy-directory): Fix arguments to recursive call.
 -
 -2011-01-29  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED):
 -      Don't presume KEYEXPIRED and KEYREVOKED to be a fatal error status
 -      (Bug#7931).
 -
 -2011-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (copy-directory): If destination is an existing
 -      directory, copy into a subdirectory there.
 -
 -2011-01-29  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * emacs-lisp/shadow.el (load-path-shadows-find): Ignore leim-list
 -      files.
 -
 -2011-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image-dired.el (image-dired-mouse-display-image): No-op if no
 -      file is found (Bug#7817).
 -
 -      * mouse.el (mouse-menu-non-singleton): Doc fix (Bug#7801).
 -
 -2011-01-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/quail.el (quail-keyboard-layout-alist):
 -      Remove superfluous SPC for "pc105-uk" (bug#7927).
 -
 -2011-01-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * msb.el (msb-menu-bar-update-buffers): Update for changed
 -      argument handling of menu-bar-select-frame.  (Bug#7902)
 -
 -2011-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Set a limit
 -      to the recursion depth (Bug#7722).
 -
 -2011-01-26  Roy Liu  <carsomyr@gmail.com>  (tiny change)
 -
 -      * term/ns-win.el (ns-find-file): Expand ns-input-file with
 -      command-line-default-directory (Bug#7872).
 -
 -2011-01-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * comint.el (comint-mode): Doc fix.  (Bug#7897)
 -
 -2011-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files.el (file-name-non-special): Only change buffer-file-name after
 -      insert-file-contents if it's `visit'ing the file (bug#7854).
 -
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired.el (dired-revert): Doc fix (Bug#7758).
 -
 -2011-01-23  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 -
 -      * progmodes/ruby-mode.el (ruby-here-doc-beg-match): Fix for
 -      here-doc which ends with an underscore.
 -      (ruby-mode-set-encoding): Skip shebang line always.
 -      (ruby-mode-map): Bind C-c C-c to comment-region.
 -      (ruby-font-lock-keywords): Highlight literal hash key labels as symbols.
 -      (ruby-forward-sexp): Stop after literal hash key labels.
 -      (ruby-font-lock-syntactic-keywords): Highlight regexp after open
 -      bracket.
 -
 -2011-01-22  Keitaro Miyazaki  <keitaro.miyazaki@gmail.com>  (tiny change)
 +2011-04-08  Eli Zaretskii  <eliz@gnu.org>
  
 -      * emacs-lisp/re-builder.el (reb-mode-map): Set case-fold-search in
 -      the correct buffer (Bug#7650).
 +      * files.el (file-size-human-readable): Produce one digit after
 +      decimal, like "ls -lh" does.
  
 -2011-01-22  Glenn Morris  <rgm@gnu.org>
 +      * ls-lisp.el (ls-lisp-format-file-size): Allow for 7 characters in
 +      the file size representation.
  
 -      * simple.el (do-auto-fill): Give it a doc string.
 +      * simple.el (list-processes): If async subprocesses are not
 +      available, error out with a clear error message.
  
 -      * button.el (make-text-button): Doc fix.  (See bug#7881)
 +2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -2011-01-22  Chong Yidong  <cyd@stupidchicken.com>
 +      * help.el (help-form-show): New function, to be called from C.
 +      Put help-form output in a buffer named differently than *Help*.
  
 -      * simple.el (line-move-visual): Doc fix (Bug#7594).
 +2011-04-08  Eli Zaretskii  <eliz@gnu.org>
  
 -      * emacs-lisp/re-builder.el (reb-mode-map): Fix logic error in
 -      "Case sensitive" menu item.
 +      * files.el (file-size-human-readable): New function.
  
 -2011-01-21  Roland McGrath  <roland@frob.com>
 +      * ls-lisp.el (ls-lisp-format-file-size): Use it, instead of
 +      computing the representation inline.  Don't require `cl'.
  
 -      * comint.el (comint-replace-by-expanded-history-before-point): Fix
 -      expansion of !$ and !!:N syntax to pick the indicated word (bug#7883).
 +2011-04-08  Glenn Morris  <rgm@gnu.org>
  
 -2011-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * man.el (Man-page-header-regexp): Solaris < 2.6 no longer supported.
  
 -      * progmodes/js.el (js--regexp-literal): Count backslashes (bug#7882).
 +      * net/browse-url.el (browse-url-firefox):
 +      Test system-type, not system-configuration.
  
 -2011-01-21  Jari Aalto  <jari.aalto@cante.net>
 +      * vc/log-edit.el (log-edit-empty-buffer-p): New function.
 +      (log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate):
 +      Use log-edit-empty-buffer-p.  (Bug#7598)
  
 -      * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
 -      Assume foo(bar) is a manpage reference rather than some unquoted
 -      symbol (bug#7705).
 +      * net/rlogin.el (rlogin-process-connection-type): Simplify.
 +      (rlogin-mode-map): Initialize in the defvar.
 +      (rlogin): Use ignore-errors.
  
 -2011-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * replace.el (occur-mode-map): Some fixes for menu items.
  
 -      * subr.el (shell-quote-argument): Properly quote \n (bug#7687).
 -      Suggested by Flo <sensorflo@gmail.com>.
 +2011-04-07  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
  
 -2011-01-21  Glenn Morris  <rgm@gnu.org>
 +      * play/morse.el (denato-region): Handle varying case.  (Bug#8386)
  
 -      * progmodes/compile.el (compilation-error-regexp-alist):
 -      Fix custom type.  (Bug#7812)
 +2011-04-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -2011-01-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * emacs-lisp/cconv.el (cconv--analyse-use): Ignore "ignored" when
 +      issuing unused warnings.
  
 -      * emacs-lisp/easy-mmode.el (define-minor-mode): Don't re-evaluate the
 -      keymap expression.  Improve docstring.
 +      * emacs-lisp/tabulated-list.el (tabulated-list-print): Use lambda
 +      macro directly.
  
 -2011-01-15  Mark Diekhans  <markd@soe.ucsc.edu>
 +      * simple.el: Lisp reimplement of list-processes.  Based on an
 +      earlier reimplementation by Leo Liu, but using tabulated-list.el.
 +      (process-menu-mode): New major mode.
 +      (list-processes--refresh, list-processes):
 +      (process-menu-visit-buffer): New functions.
  
 -      * files.el (backup-buffer): Make last-resort backup file in
 -      .emacs.d (Bug#6953).
 +      * files.el (save-buffers-kill-emacs): Don't assume any return
 +      value of list-processes, which is undocumented anyway.
  
 -      * subr.el (locate-user-emacs-file): If .emacs.d does not exist,
 -      make it with permission 700.
 +2011-04-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -2011-01-14  Kenichi Handa  <handa@m17n.org>
 +      * emacs-lisp/tabulated-list.el: New file.
  
 -      * mail/rmailmm.el (rmail-mime-insert-header):
 -      Set rmail-mime-coding-system to a cons whose car is the last coding
 -      system used to decode the header.
 -      (rmail-mime-find-header-encoding): New function.
 -      (rmail-mime-insert-decoded-text):
 -      Override rmail-mime-coding-system if it is a cons.
 -      (rmail-show-mime): If only a header part was decoded, find the
 -      coding system while ignoring mm-charset-override-alist.
 +      * emacs-lisp/package.el: Use Tabulated List mode.
 +      (package-menu-mode-map): Inherit from tabulated-list-mode-map.
 +      (package-menu-mode): Derive from tabulated-list-mode.  Set up the
 +      table format using Tabulated List mode variables.
 +      (package--push): New macro, replacing package-list-maybe-add.
 +      (package-menu--generate): Use package--push.  Renamed from
 +      package--generate-package-list.
 +      (package-menu-refresh, list-packages): Use it.
 +      (package-menu--print-info): Renamed from package-print-package.
 +      Return insertion data instead of inserting it directly.
 +      (package-menu-describe-package, package-menu-execute): Use
 +      tabulated-list-get-id.
 +      (package-menu-mark-delete, package-menu-mark-install)
 +      (package-menu-mark-unmark, package-menu-backup-unmark)
 +      (package-menu-mark-obsolete-for-deletion): Use
 +      tabulated-list-put-tag.
 +      (package--list-packages, package-menu-revert)
 +      (package-menu-get-package, package-menu-get-version)
 +      (package-menu-sort-by-column): Functions deleted.
 +      (package-menu-package-list, package-menu-sort-key): Vars deleted.
 +      (package-menu--status-predicate, package-menu--version-predicate)
 +      (package-menu--name-predicate)
 +      (package-menu--description-predicate): Handle arguments in the
 +      Tabulated List format.
 +      (package-list-packages-no-fetch): Call list-packages.
  
 -2011-01-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * subr.el (event-start, event-end): Doc fix (Bug#7826).
 -
 -2011-01-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-next-item)
 -      (rmail-mime-previous-item): Delete them.
 -      (rmail-mime-shown-mode): Recursively call for children.
 -      (rmail-mime-hidden-mode): Delete the 2nd arg TOP.
 -      Callers changed.
 -      (rmail-mime-raw-mode): Recursively call for children.
 -      (rmail-mode-map): Change mapping of tab and backtab to
 -      forward-button and backward-button respectively.
 -      (rmail-mime-insert-tagline): Always insert "Hide" or "Show"
 -      button.
 -      (rmail-mime-update-tagline): New function.
 -      (rmail-mime-insert-text): Call rmail-mime-update-tagline if the
 -      body display is changed.
 -      (rmail-mime-toggle-button): Rename from rmail-mime-image.
 -      (rmail-mime-image): Delete this button type.
 -      (rmail-mime-toggle): New button type.
 -      (rmail-mime-insert-bulk): Call rmail-mime-update-tagline if the
 -      body display is changed.  Change the save button label to "Save".
 -      Don't process show/hide button here.
 -      (rmail-mime-insert-multipart): Call rmail-mime-update-tagline if
 -      the body display is changed.  Unconditionally call
 -      rmail-mime-insert for children.
 -      (rmail-mime-handle): Update `display' vector of the just inserted
 -      entity.
 -      (rmail-mime-process): If mail-header-parse-content-type returns
 -      nil, use "text/plain" as the fallback type.
 -      (rmail-mime-insert): For raw-mode, recursively call
 -      rmail-mim-insert for children.
 -      (rmail-mime): Handle the case that the current buffer is not rmail
 -      buffer (e.g. in summary buffer).
 -
 -2011-01-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-next-item)
 -      (rmail-mime-previous-item): Skip the body of a non-multipart
 -      entity if a tagline is shown.
 -
 -2011-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * tmm.el (tmm-get-keymap): Skip bindings without labels (bug#7721).
 -      (tmm-prompt): Simplify.
 -      (tmm-add-prompt): Remove unused var `win'.
 -
 -      * whitespace.el (global-whitespace-newline-mode): Fix call (bug#7810)
 -      to minor mode which used nil accidentally to mean "turn off".
 -
 -2011-01-10  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-find-inline-compress)
 -      (tramp-get-inline-coding): Quote command after pipe symbol for
 -      local calls under W32.  (Bug#6784)
 -
 -2011-01-10  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-default-method): Initialize with pscp/plink
 -      only when running under W32.
 -
 -2011-01-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * progmodes/grep.el (grep-compute-defaults): Quote the program
 -      file name after the pipe symbol in Grep templates.  (Bug#6784)
 -      * jka-compr.el (jka-compr-partial-uncompress): Likewise.
 -
 -2011-01-08  Lennart Borgman  <lennart.borgman@gmail.com>
 -
 -      * buff-menu.el (Buffer-menu-buffer-list): New var.
 -      (Buffer-menu-revert-function, list-buffers-noselect): Use it, so a
 -      restricted buffer list is not lost on revert (Bug#7749).
 -
 -2011-01-08  Eric Hanchrow  <eric.hanchrow@gmail.com>
 -
 -      * net/ldap.el (ldap-search-internal): Discard stderr output.
 -
 -2011-01-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * files.el (directory-abbrev-alist): Doc fix.  (Bug#7777)
 -
 -2011-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-bzr.el (vc-bzr-annotate-command, vc-bzr-annotate-time):
 -      Author names can have spaces (bug#7792).
 -
 -2011-01-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-insert-bulk): Display an unknown
 -      part as a plain text.
 -      (rmail-mime-process-multipart): Set the default content-type to
 -      nil for unknown multipart subtypes (bug#7651).
 -
 -2011-01-03  Brent Goodrick  <bgoodr@gmail.com>  (tiny change)
 -
 -      * abbrev.el (prepare-abbrev-list-buffer): If listing local abbrev
 -      table, get the value before switching to the output buffer.  (Bug#7733)
 -
 -2011-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/python.el (python-mode): Don't impose font-lock (bug#3628).
 -
 -2011-01-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files.el (file-local-variables-alist):
 -      Make permanent-local (bug#7767).
 -
 -2011-01-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * version.el (emacs-copyright): Set short copyright year to 2011.
 -
 -2011-01-02  Mark Lillibridge  <mark.lillibridge@hp.com>  (tiny change)
 -
 -      * mail/mail-utils.el (mail-strip-quoted-names): Avoid clobbering
 -      an existing temp buffer.  (Bug#7746)
 -
 -2011-01-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/mail-utils.el (mail-mbox-from): Handle From: headers with
 -      multiple addresses.  (Bug#7760)
 -
 -2010-12-31  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-methods): Add recursive options to "scpc",
 -      "scpx", "pscp" and "psftp".
 -
 -2010-12-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term/w32-win.el (image-library-alist): Set up correctly for
 -      libpng versions both before and after 1.4.0.  (Bug#7716)
 -
 -2010-12-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * time.el (display-time-mode): Mention display-time-interval in
 -      the doc string.  (Bug#7713)
 -
 -      * simple.el (select-active-regions): Doc fix.  (Bug#7702)
 -
 -2010-12-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-parse): Perform parsing in
 -      condition-case and return an error message string if something
 -      goes wrong.
 -      (rmail-show-mime): Adjust for the above change.  Insert the
 -      header by rmail-mime-insert-header.
 -
 -2010-12-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el: New key bindings for rmail-mime-next-item,
 -      rmail-mime-previous-item, and rmail-mime-toggle-hidden.
 -      (rmail-mime-mbox-buffer)
 -      (rmail-mime-view-buffer, rmail-mime-coding-system): New variables.
 -      (rmail-mime-entity): Argument changed.  All codes handling an
 -      entity object are changed.
 -      (rmail-mime-entity-header, rmail-mime-entity-body): Adjust for
 -      the above change.
 -      (rmail-mime-entity-children, rmail-mime-entity-handler)
 -      (rmail-mime-entity-tagline): New functions.
 -      (rmail-mime-message-p): New function.
 -      (rmail-mime-save): Bind rmail-mime-mbox-buffer.
 -      (rmail-mime-entity-segment, rmail-mime-next-item)
 -      (rmail-mime-previous-item, rmail-mime-shown-mode)
 -      (rmail-mime-hidden-mode, rmail-mime-raw-mode)
 -      (rmail-mime-toggle-raw, rmail-mime-toggle-hidden)
 -      (rmail-mime-insert-tagline, rmail-mime-insert-header):
 -      New functions.
 -      (rmail-mime-text-handler): Call rmail-mime-insert-text.
 -      (rmail-mime-insert-decoded-text): New function.
 -      (rmail-mime-insert-text): Call rmail-mime-insert-decoded-text.
 -      (rmail-mime-insert-image): Argument changed.  Caller changed.
 -      (rmail-mime-image): Call rmail-mime-toggle-hidden.
 -      (rmail-mime-set-bulk-data): New function.
 -      (rmail-mime-insert-bulk): Argument changed.
 -      (rmail-mime-multipart-handler): Return t.
 -      (rmail-mime-process-multipart): Argument changed.
 -      Handle "multipart/alternative" here.
 -      (rmail-mime-process): Argument changed.
 -      (rmail-mime-parse): Bind rmail-mime-mbox-buffer.
 -      (rmail-mime-insert): Argument changed.  Handle raw display mode.
 -      (rmail-mime): Argument changed.  Handle toggling of raw display
 -      mode.
 -      (rmail-show-mime): Bind rmail-mime-mbox-buffer and
 -      rmail-mime-view-buffer.
 -      (rmail-insert-mime-forwarded-message): Likewise.
 -      (rmail-search-mime-message): Likewise.  Don't bind rmail-buffer.
 -
 -      * mail/rmail.el (rmail-show-message-1): If rmail-enable-mime is
 -      non-nil, handle the header in rmail-show-mime-function.
 -
 -2010-12-20  Leo  <sdl.web@gmail.com>
 -
 -      * help-fns.el (describe-variable): Fix 2010-12-17 change.
 +2011-04-06  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-20  Juri Linkov  <juri@jurta.org>
 +      * files.el (after-find-file-from-revert-buffer): Remove variable.
 +      (after-find-file): Dont' bind it.
 +      (revert-buffer-in-progress-p): New variable.
 +      (revert-buffer): Bind it.
 +      Pass nil for `after-find-file-from-revert-buffer'.
  
 -      * isearch.el (isearch-lazy-highlight-error): New variable.
 -      (isearch-lazy-highlight-new-loop): Compare `isearch-error' and
 -      `isearch-lazy-highlight-error'.  Set `isearch-lazy-highlight-error'
 -      to the current value of `isearch-error' (Bug#7468).
 +      * saveplace.el (save-place-find-file-hook): Use new variable
 +      `rever-buffer-in-progress-p', not `after-find-file-from-revert-buffer'.
  
 -2010-12-17  Chong Yidong  <cyd@stupidchicken.com>
 +2011-04-06  Glenn Morris  <rgm@gnu.org>
  
 -      * help-fns.el (describe-variable): Don't emit trailing whitespace
 -      (Bug#7511).
 +      * Makefile.in (AUTOGEN_VCS): New variable.
 +      (autoloads): Use $AUTOGEN_VCS.
  
 -2010-12-17  Leo  <sdl.web@gmail.com>
 +      * calendar/cal-move.el (calendar-scroll-toolkit-scroll): New function.
 +      * calendar/calendar.el (calendar-mode-map):
 +      Check for toolkit scroll bars.  (Bug#8305)
  
 -      * eshell/em-hist.el (eshell-previous-matching-input): Signal error
 -      if point is not behind eshell-last-output-end (Bug#7585).
 +2011-04-05  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-12-16  Chong Yidong  <cyd@stupidchicken.com>
 +      * minibuffer.el (completion-in-region--postch)
 +      (completion-in-region-mode): Remove unnecessary messages.
  
 -      * textmodes/rst.el (rst-compile-pdf-preview)
 -      (rst-compile-slides-preview): Use make-temp-file (Bug#7646).
 +2011-04-05  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-15  Kevin Gallagher  <Kevin.Gallagher@boeing.com>
 +      * font-lock.el (font-lock-refresh-defaults):
 +      Don't bind `hi-lock--inhibit-font-lock-hook', removed in
 +      2010-10-09T04:09:19Z!cyd@stupidchicken.com and 2010-10-11T23:57:49Z!lekktu@gmail.com (2010-10-12).
  
 -      * emulation/edt-mapper.el: Override mapping of function keys so
 -      that the later call to read-key-sequence works.
 +      * info.el (Info-directory-list, Info-read-node-name-2)
 +      (Info-split-parameter-string): Doc fixes.
 +      (Info-virtual-nodes): Reflow docstring.
 +      (Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes)
 +      (Info-apropos-toc-nodes, info-finder, Info-get-token)
 +      (Info-find-emacs-command-nodes, Info-speedbar-key-map):
 +      Fix typos in docstrings.
 +      (Info-revert-buffer-function, Info-search, Info-isearch-pop-state)
 +      (Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node)
 +      (Info-speedbar-buttons, Info-desktop-buffer-misc-data)
 +      (Info-restore-desktop-buffer): Mark unused parameters.
 +      (Info-directory-find-file, Info-directory-find-node)
 +      (Info-history-find-file, Info-history-find-node, Info-toc-find-node)
 +      (Info-virtual-index-find-node, Info-apropos-find-file)
 +      (Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node):
 +      Mark unused parameters; fix typos in docstrings.
 +      (Info-virtual-index): Remove unused local variable `nodename'.
  
 -2010-12-13  Eli Zaretskii  <eliz@gnu.org>
 +2011-04-05  Deniz Dogan  <deniz@dogan.se>
  
 -      * mail/smtpmail.el (smtpmail-send-it): Write queued mail body with
 -      Unix EOLs.  (Bug#7589)
 +      * net/rcirc.el: Update my e-mail address.
 +      (rcirc-mode-map): Remove M-o binding.
  
 -2010-12-12  Eli Zaretskii  <eliz@gnu.org>
 +2011-04-05  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * subr.el (posn-col-row): Evaluate header-line-format in the
 -      context of the POSITION window's buffer.
 +      * startup.el (command-line): Save the cursor's theme-face
 +      directly, instead of using face-override-spec.
  
 -2010-12-11  Glenn Morris  <rgm@gnu.org>
 +      * custom.el (load-theme): Minor optimization in assigning faces.
  
 -      * subr.el (member-ignore-case, run-mode-hooks, insert-for-yank-1)
 -      (with-silent-modifications): Doc fixes.
 +2011-04-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-10  Michael Albinus  <michael.albinus@gmx.de>
 +      * help-fns.el (describe-variable): Complete all variables having
 +      documentation, including keywords.
 +      http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html
  
 -      * net/tramp.el (tramp-action-password, tramp-process-actions):
 -      Revert patch from 2010-12-08.  Use `save-restriction'.
 +2011-04-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-09  Eli Zaretskii  <eliz@gnu.org>
 +      Convert to lexical-binding.
  
 -      * menu-bar.el (menu-bar-frame-for-menubar, menu-bar-positive-p):
 -      New functions.
 -      (menu-bar-showhide-menu) <menu-bar-mode, showhide-tool-bar>: Use
 -      them instead of `nil' and `>', respectively.  (Bug#1077)
 +      * bs.el (bs-refresh, bs-sort-buffer-interns-are-last)
 +      (bs--get-marked-string, bs--get-modified-string)
 +      (bs--get-readonly-string, bs--get-size-string, bs--get-name)
 +      (bs--get-mode-name, bs--get-file-name): Mark unused arguments.
 +      (bs--configuration-name-for-prefix-arg): Rename argument PREFIX-ARG.
  
 -2010-12-09  Stephen Berman  <stephen.berman@gmx.net>
 +      * ehelp.el (electric-help-execute-extended)
 +      (electric-help-ctrl-x-prefix):
 +      * hexl.el (hexl-revert-buffer-function):
 +      * linum.el (linum-after-change, linum-after-scroll):
 +      * emacs-lisp/re-builder.el (reb-auto-update): Mark unused arguments.
  
 -      * calendar/diary-lib.el (diary-list-sexp-entries):
 -      Handle case of no newline at end of file.  (Bug#7536)
 +      * help-fns.el (help-describe-category-set): Remove unused ERR variable.
  
 -2010-12-09  Glenn Morris  <rgm@gnu.org>
 +2011-04-04  Daiki Ueno  <ueno@unixuser.org>
  
 -      * mail/smtpmail.el (smtpmail-send-it): Revert previous change.
 +      * epa-dired.el:
 +      * epa-mail.el:
 +      * epa-hook.el:
 +      * epa-file.el:
 +      * epa.el:
 +      * epg.el: Use lexical binding.
  
 -2010-12-08  Michael Albinus  <michael.albinus@gmx.de>
 +2011-04-03  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * net/tramp.el (tramp-handle-start-file-process):
 -      Protect buffer-modified value.  (Bug#7557)
 -      (tramp-action-password): Delete region, do not narrow.
 -      (tramp-process-actions): Do not widen.
 +      * dired-aux.el (dired-create-files): Add docstring (Bug#7970).
  
 -2010-12-08   Jan Moringen  <jmoringe@techfak.uni-bielefeld.de>
 +      * textmodes/flyspell.el (flyspell-word): Recognize default
 +      dictionary case for flyspell-mark-duplications-exceptions.  Use
 +      regexp matching for languages.
 +      (flyspell-mark-duplications-exceptions): Add "that" and "had" for
 +      default dictionary (Bug#7926).
  
 -      * log-edit.el (log-edit-changelog-entries):
 -      Regexp quote filename.  (Bug#7505)
 +2011-04-02  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-12-08  Tom Breton  <tehom@panix.com>
 +      * emacs-lisp/package.el (package--with-work-buffer): Recognize
 +      https URLs.
  
 -      * cus-edit.el (custom-save-all):
 -      Bind print-length and print-level to nil.  (Bug#7581)
 +      * net/network-stream.el: Move from gnus/proto-stream.el.  Change
 +      prefix to network-stream throughout.
 +      (open-protocol-stream): Merge into open-network-stream, leaving
 +      open-protocol-stream as an alias.  Handle nil BUFFER args.
  
 -2010-12-08  Glenn Morris  <rgm@gnu.org>
 +      * subr.el (open-network-stream): Move to net/network-stream.el.
  
 -      * mouse.el (mouse-menu-major-mode-map, mouse-menu-bar-map):
 -      Run hooks to update menu contents.  (Bug#7586)
 +2011-04-02  Glenn Morris  <rgm@gnu.org>
  
 -      * mail/smtpmail.el (smtpmail-send-it): Avoid colons in the queued
 -      file names, for the sake of MS Windows.  (Bug#7588)
 +      * find-dired.el (find-exec-terminator): New option.
 +      (find-ls-option): Test for -ls support.
 +      (find-ls-subdir-switches): Test for -b in find-ls-option.
 +      (find-dired, find-grep-dired): Doc fixes.
 +      (find-dired): Use find-exec-terminator.
  
 -2010-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * find-dired.el (find-ls-option, find-ls-subdir-switches)
 +      (find-grep-options): Do not autoload these defcustoms, remove purecopy.
 +      (find-name-arg): Remove purecopy.
  
 -      * diff-mode.el (diff-refine-hunk): Make it work when the hunk contains
 -      empty lines without a leading space.
 +      * progmodes/grep.el (grep-find-use-xargs): Doc fix.
 +      (grep-compute-defaults): Check for `-exec COMMAND +' support.
 +      Set grep-find-use-xargs, grep-find-command, and grep-find-template
 +      accordingly.  Don't add the null-device if not needed.
  
 -2010-12-06  Leo  <sdl.web@gmail.com>
 +      * files.el (save-some-buffers): Doc fix.
  
 -      * dired-aux.el (dired-do-redisplay): Postpone dired-after-readin-hook
 -      while mapping over marks (Bug#6810).
 +2011-04-02  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-12-06  Chong Yidong  <cyd@stupidchicken.com>
 +      * makefile.w32-in (EMACS): Default to ../src/$(BLD)/emacs.exe.
  
 -      * image-dired.el (image-dired-db-file)
 -      (image-dired-temp-image-file, image-dired-gallery-dir)
 -      (image-dired-temp-rotate-image-file): Set default values relative
 -      to image-dired-dir (Bug#7518).
 +2011-04-01  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-06  Lawrence Mitchell  <wence@gmx.li>
 +      * progmodes/idlwave.el (idlwave-one-key-select, idlwave-list-abbrevs):
 +      Use `dolist' rather than `mapcar'.
  
 -      * format.el (format-decode-run-method): Pass args FROM and TO, not
 -      point-min and point-max, to shell-command-on-region (Bug#7488).
 +2011-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-12-06  Jan Djärv  <jan.h.d@swipnet.se>
 +      Add lexical binding.
  
 -      * frame.el (blink-cursor-mode): Make default t for ns.
 +      * subr.el (apply-partially): Use new closures rather than CL.
 +      (--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
 +      (dolist, dotimes): Use slightly different expansion for lexical code.
 +      (functionp): Move to C.
 +      (letrec): New macro.
 +      (with-wrapper-hook): Use it and apply-partially instead of CL.
 +      (eval-after-load): Preserve lexical-binding.
 +      (save-window-excursion, with-output-to-temp-buffer): Turn them
 +      into macros.
  
 -2010-12-05  Bob Rogers  <rogers-emacs@rgrjr.dyndns.org>
 +      * simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
  
 -      * vc-dir.el (vc-dir-query-replace-regexp): Doc fix (Bug#7501).
 +      * help-fns.el (help-split-fundoc): Return nil if there's nothing else
 +      than the arglist.
 +      (help-add-fundoc-usage): Don't add `Not documented'.
 +      (help-function-arglist): Handle closures, subroutines, and new
 +      byte-code-functions.
 +      (help-make-usage): Remove leading underscores.
 +      (describe-function-1): Handle closures.
 +      (describe-variable): Use special-variable-p for completion.
  
 -2010-12-05  Chong Yidong  <cyd@stupidchicken.com>
 +      * files.el (lexical-binding): Declare safe.
  
 -      * comint.el (comint-dynamic-list-input-ring)
 -      (comint-dynamic-complete-filename)
 -      (comint-replace-by-expanded-filename)
 -      (comint-dynamic-simple-complete)
 -      (comint-dynamic-list-filename-completions)
 -      (comint-dynamic-list-completions): Doc fix (Bug#7499).
 +      * emacs-lisp/pcase.el: Don't use destructuring-bind.
 +      (pcase--memoize): Rename from pcase-memoize.  Change weakness.
 +      (pcase): Add `let' pattern.
 +      Change memoization so it actually works.
 +      (pcase-mutually-exclusive-predicates): Add byte-code-function-p.
 +      (pcase--u1) <guard, pred>: Fix possible shadowing problem.
 +      <let>: New case.
  
 -      * subr.el (posn-x-y, posn-object-x-y, posn-object-width-height):
 -      Doc fix (Bug#7471).
 +      * emacs-lisp/macroexp.el: Use lexical binding.
 +      (macroexpand-all-1): Check obsolete macros.  Expand compiler-macros.
 +      Don't convert ' to #' without checking that it's indeed quoting
 +      a lambda.
  
 -2010-12-04  Martin Rudalics  <rudalics@gmx.at>
 +      * emacs-lisp/lisp-mode.el (eval-last-sexp-1):
 +      Use eval-sexp-add-defvars.
 +      (eval-sexp-add-defvars): New fun.
  
 -      * dired.el (dired-pop-to-buffer): Bind pop-up-frames to nil
 -      (Bug#7533).
 +      * emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
  
 -2010-12-04  W. Martin Borgert <debacle@debian.org>  (tiny change)
 +      * emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
 +      Don't autoload.
 +      (eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
 +      than the internal `byte-compile-lambda'.
 +      (defmethod): Don't hide code under quotes.
 +      (eieio-defmethod): New `code' argument.
 +
 +      * emacs-lisp/eieio-comp.el: Remove.
 +
 +      * emacs-lisp/edebug.el (edebug-eval-defun)
 +      (edebug-eval-top-level-form): Use eval-sexp-add-defvars.
 +      (edebug-toggle): Avoid `eval'.
 +
 +      * emacs-lisp/disass.el (disassemble-internal): Handle new
 +      `closure' objects.
 +      (disassemble-1): Handle new byte codes.
 +
 +      * emacs-lisp/cl.el (pushnew): Silence warning.
 +
 +      * emacs-lisp/cl-macs.el (cl-byte-compile-block)
 +      (cl-byte-compile-throw): Remove.
 +      (cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
 +
 +      * emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
 +      closures.
 +
 +      * emacs-lisp/cconv.el: New file.
 +
 +      * emacs-lisp/bytecomp.el: Use lexical binding instead of
 +      a "bytecomp-" prefix.  Macroexpand everything as a separate phase.
 +      (byte-compile-initial-macro-environment):
 +      Handle declare-function here.
 +      (byte-compile--lexical-environment): New var.
 +      (byte-stack-ref, byte-stack-set, byte-discardN)
 +      (byte-discardN-preserve-tos): New lap codes.
 +      (byte-interactive-p): Don't use any more.
 +      (byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
 +      New macros.
 +      (byte-compile-lapcode): Use them and handle new lap codes.
 +      (byte-compile-obsolete): Remove.
 +      (byte-compile-arglist-signature): Handle new byte-code arg"lists".
 +      (byte-compile-arglist-warn): Check late def of inlinable funs.
 +      (byte-compile-cl-warn): Don't silence warnings for compiler-macros
 +      since they should have been expanded by now.
 +      (byte-compile--outbuffer): Rename from bytecomp-outbuffer.
 +      (byte-compile-from-buffer): Remove unused second arg.
 +      (byte-compile-preprocess): New function.
 +      (byte-compile-toplevel-file-form): New function to distinguish
 +      file-form calls from outside from file-form calls from hunk-handlers.
 +      (byte-compile-file-form): Simplify.
 +      (byte-compile-file-form-defsubst): Remove.
 +      (byte-compile-file-form-defmumble): Simplify now that
 +      byte-compile-lambda always returns a byte-code-function.
 +      (byte-compile): Preprocess.
 +      (byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
 +      Remove, not used any more.
 +      (byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
 +      (byte-compile-make-args-desc): New funs.
 +      (byte-compile-lambda): Handle lexical functions.  Always return
 +      a byte-code-function.
 +      (byte-compile-reserved-constants): New var, to make up room for
 +      closed-over variables.
 +      (byte-compile-constants-vector): Obey it.
 +      (byte-compile-top-level): New args `lexenv' and `reserved-csts'.
 +      (byte-compile-macroexpand-declare-function): New function.
 +      (byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
 +      byte-code-functions.
 +      (byte-compile-form): Check obsolescence here.
 +      (byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
 +      (byte-compile-variable-ref): Remove.
 +      (byte-compile-dynamic-variable-op): New fun.
 +      (byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
 +      (byte-compile-variable-set): New funs.
 +      (byte-compile-discard): Add 2 args.
 +      (byte-compile-stack-ref, byte-compile-stack-set)
 +      (byte-compile-make-closure, byte-compile-get-closed-var): New funs.
 +      (byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
 +      macroexpand-all instead.
 +      (byte-compile-quote-form): Remove.
 +      (byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
 +      (byte-compile-bind, byte-compile-unbind): New funs.
 +      (byte-compile-let): Handle let* and lexical binding.
 +      (byte-compile-let*): Remove.
 +      (byte-compile-catch, byte-compile-unwind-protect)
 +      (byte-compile-track-mouse, byte-compile-condition-case):
 +      Handle a new :fun-body form, used for lexical scoping.
 +      (byte-compile-save-window-excursion)
 +      (byte-compile-with-output-to-temp-buffer): Remove.
 +      (byte-compile-defun): Simplify.
 +      (byte-compile-stack-adjustment): New fun.
 +      (byte-compile-out): Use it.
 +      (byte-compile-refresh-preloaded): Don't reload byte-compiler files.
 +
 +      * emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
 +      handler any more.
 +
 +      * emacs-lisp/byte-opt.el: Use lexical binding.
 +      (byte-inline-lapcode): Remove (to bytecomp).
 +      (byte-compile-inline-expand): Pay attention to inlining to/from
 +      lexically bound code.
 +      (byte-compile-unfold-lambda): Don't handle byte-code-functions
 +      any more.
 +      (byte-optimize-form-code-walker): Don't handle save-window-excursion
 +      any more and don't call compiler-macros.
 +      (byte-compile-splice-in-already-compiled-code): Remove.
 +      (byte-code): Don't inline any more.
 +      (disassemble-offset): Receive `bytes' as argument rather than via
 +      dynamic scoping.
 +      (byte-compile-tag-number): Declare before first use.
 +      (byte-decompile-bytecode-1): Handle new byte-codes, don't change
 +      `return' even if make-spliceable.
 +      (byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
 +      obsolete interactive-p.
 +      (byte-optimize-lapcode): Optimize new lap-codes.
 +      Don't trip up on new form of `byte-constant' lap code.
 +
 +      * emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
 +
 +      * emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
 +
 +      * custom.el (custom-initialize-default, custom-declare-variable):
 +      Use `defvar'.
 +
 +      * Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
 +      New variables.
 +      (compile-onefile, .el.elc, compile-calc, recompile): Use them.
 +      (COMPILE_FIRST): Add macroexp and cconv.
 +      * makefile.w32-in: Mirror changes in Makefile.in.
  
 -      * files.el (auto-mode-alist): Handle .dbk (DocBook) with xml-mode.
 -      (Bug#7491).
 +      * vc/cvs-status.el:
 +      * vc/diff-mode.el:
 +      * vc/log-edit.el:
 +      * vc/log-view.el:
 +      * vc/smerge-mode.el:
 +      * textmodes/bibtex-style.el:
 +      * textmodes/css.el:
 +      * startup.el:
 +      * uniquify.el:
 +      * minibuffer.el:
 +      * newcomment.el:
 +      * reveal.el:
 +      * server.el:
 +      * mpc.el:
 +      * emacs-lisp/smie.el:
 +      * doc-view.el:
 +      * dired.el:
 +      * abbrev.el: Use lexical binding.
  
 -2010-12-04  Chong Yidong  <cyd@stupidchicken.com>
 +2011-04-01  Eli Zaretskii  <eliz@gnu.org>
  
 -      * simple.el (transient-mark-mode): Doc fix (Bug#7465).
 +      * info.el (info-display-manual): New function.
  
 -2010-12-04  Eli Zaretskii  <eliz@gnu.org>
 +2011-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * files.el (file-relative-name): Handle UNC file names on
 -      DOS/Windows.  (Bug#4674)
 +      * loadup.el: Load minibuffer after loaddefs, to use define-minor-mode.
  
 -2010-12-03  Daiki Ueno  <ueno@unixuser.org>
 +2011-03-31  Tassilo Horn  <tassilo@member.fsf.org>
  
 -      * epg.el (epg-digest-algorithm-alist): Replace "RMD160" with
 -      "RIPEMD160" (Bug#7490).  Reported by Daniel Kahn Gillmor.
 -      (epg-context-set-passphrase-callback): Mention that the callback
 -      is not called when used with GnuPG 2.x.
 +      * net/rcirc.el (rcirc-handler-001): Only authenticate, if there's
 +      an entry for that server in rcirc-authinfo.  (Bug#8385)
  
 -2010-12-02  Glenn Morris  <rgm@gnu.org>
 +2011-03-31  Glenn Morris  <rgm@gnu.org>
  
 -      * ps-print.el (ps-line-lengths-internal, ps-nb-pages):
 -      Ensure ps-footer-font-size-internal is initialized.
 -      Call ps-get-page-dimensions before trying to use ps-font-for-text.
 +      * progmodes/f90.el (f90-find-tag-default): Handle multiple `%'.
  
 -2010-12-01  Kenichi Handa  <handa@m17n.org>
 +      * generic-x.el (etc-fstab-generic-mode): Add ext4, sysfs keywords.
  
 -      * mail/rmailmm.el (rmail-mime-parse): Call rmail-mime-process
 -      within condition-case.
 -      (rmail-show-mime): Don't use condition-case.
 -      (rmail-search-mime-message): New function.
 -      (rmail-search-mime-message-function): Set to
 -      rmail-search-mime-message.
 +2011-03-30  Christoph Scholtes  <cschol2112@googlemail.com>
  
 -2010-12-01  Leo  <sdl.web@gmail.com>
 +      * progmodes/python.el (python-default-interpreter)
 +      (python-python-command-args, python-jython-command-args)
 +      (python-which-shell, python-which-args, python-which-bufname)
 +      (python-file-queue, python-comint-output-filter-function)
 +      (python-toggle-shells, python-shell): Remove obsolete defcustoms,
 +      variables and functions.
  
 -      * ido.el (ido-common-initialization): New function.  (bug#3274)
 -      (ido-mode): Use it.
 -      (ido-completing-read): Call it.
 +2011-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-11-27  Chong Yidong  <cyd@stupidchicken.com>
 +      * minibuffer.el (completion-table-dynamic): Optimize `boundaries'.
 +      (completion-in-region-mode): New minor mode.
 +      (completion-in-region): Use it.
 +      (completion-in-region--data, completion-in-region-mode-map): New vars.
 +      (completion-in-region--postch): New function.
 +      (completion--capf-misbehave-funs, completion--capf-safe-funs):
 +      New vars.
 +      (completion--capf-wrapper): New function.
 +      (completion-at-point): Use it to track well-behavedness of
 +      hook functions.
 +      (completion-help-at-point): New command.
  
 -      * log-edit.el (log-edit-font-lock-keywords): Don't try matching
 -      stand-alone lines, since that is handled by log-edit-match-to-eoh
 -      (Bug#6465).
 +2011-03-30  Jason Merrill  <jason@redhat.com>  (tiny change)
  
 -2010-11-27  Eduard Wiebe  <usenet@pusto.de>
 +      * vc/add-log.el (add-change-log-entry): Don't use whitespace
 +      syntax class to search for whitespace on a single line
 +      (Message-ID: <4D938140.4030905@redhat.com>).
  
 -      * dired.el (dired-get-filename): Replace backslashes with slashes
 -      in file names on MS-Windows, needed by `locate'.  (Bug#7308)
 -      * locate.el (locate-default-make-command-line): Don't consider
 -      drive letter and root directory part of
 -      `directory-listing-before-filename-regexp'.  (Bug#7308)
 -      (locate-post-command-hook, locate-post-command-hook): New defcustoms.
 +2011-03-30  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * abbrev.el (abbrev-edit-save-to-file, abbrev-edit-save-buffer):
 +      New commands.
 +      (edit-abbrevs-map): Bind them here.
 +      (write-abbrev-file): New optinal arg VERBOSE.  (Bug#5937)
  
 -      * emacs-lisp/smie.el (smie-prec2->grammar): Simplify handling
 -      of :smie-open/close-alist.
 -      (smie-next-sexp): Make it accept a "start token" as argument.
 -      (smie-indent-keyword): Be careful not to misidentify tokens that span
 -      more than one line, as empty lines.  Add argument `token'.
 +2011-03-29  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -2010-11-26  Kenichi Handa  <handa@m17n.org>
 +      * allout.el (allout-hide-by-annotation, allout-flag-region):
 +      Reduce possibility of overlay leakage by making them volatile.
  
 -      * mail/rmailmm.el (rmail-mime-insert-multipart): For unsupported
 -      multipart subtypes, insert all as usual.
 +      * allout-widgets.el (allout-widgets-tally): Define as nil so the
 +      hash is not shared between buffers.  Mode initialization is
 +      responsible for giving it a useful starting value.
 +      (allout-item-span): Reduce possibility of overlay leakage by
 +      making them volatile.
 +      (allout-widgets-count-buttons-in-region): Add diagnostic function
 +      for tracking down button overlay leaks.
  
 -      * mail/rmail.el: Require rfc2047.
 +2011-03-29  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-26  Kenichi Handa  <handa@m17n.org>
 +      * ido.el (ido-read-internal): Use the default history var
 +      minibuffer-history if no HISTORY is specified.
  
 -      * mail/rmailmm.el (rmail-mime-entity, rmail-mime-entity-type)
 -      (rmail-mime-entity-disposition)
 -      (rmail-mime-entity-transfer-encoding, rmail-mime-entity-header)
 -      (rmail-mime-entity-body, rmail-mime-entity-children): New functions.
 -      (rmail-mime-save): Handle the case that the button's `data' is a
 -      MIME entity.
 -      (rmail-mime-insert-text): New function.
 -      (rmail-mime-insert-image): Handle the case that DATA is a MIME entity.
 -      (rmail-mime-bulk-handler): Just call rmail-mime-insert-bulk.
 -      (rmail-mime-insert-bulk): New function mostly copied from the old
 -      rmail-mime-bulk-handler.
 -      (rmail-mime-multipart-handler): Just call rmail-mime-process-multipart.
 -      (rmail-mime-process-multipart): New function mostly copied from
 -      the old rmail-mime-multipart-handler.
 -      (rmail-mime-show): Just call rmail-mime-process.
 -      (rmail-mime-process): New function mostly copied from the old
 -      rmail-mime-show.
 -      (rmail-mime-insert-multipart, rmail-mime-parse)
 -      (rmail-mime-insert, rmail-show-mime)
 -      (rmail-insert-mime-forwarded-message)
 -      (rmail-insert-mime-resent-message): New functions.
 -      (rmail-insert-mime-forwarded-message-function): Set to
 -      rmail-insert-mime-forwarded-message.
 -      (rmail-insert-mime-resent-message-function): Set to
 -      rmail-insert-mime-resent-message.
 +2011-03-28  Brian T. Sniffen  <bsniffen@akamai.com>  (tiny change)
  
 -      * mail/rmailsum.el: Require rfc2047.
 -      (rmail-header-summary): Handle multiline Subject: field.
 -      (rmail-summary-line-decoder): Change the default to
 -      rfc2047-decode-string.
 +      * net/imap.el (imap-shell-open, imap-process-connection-type):
 +      Use imap-process-connection-type for 'shell' streams as well as
 +      Kerberos, SSL, other subprocesses.
  
 -      * mail/rmail.el (rmail-enable-mime): Change the default to t.
 -      (rmail-mime-feature): Change the default to `rmailmm'.
 -      (rmail-quit): Delete the specifal code for rmail-enable-mime.
 -      (rmail-display-labels): Likewise.
 -      (rmail-show-message-1): Check rmail-enable-mime, and use
 -      rmail-show-mime-function for a MIME message.  Decode the headers
 -      according to RFC2047.
 +2011-03-28  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * abbrev.el (abbrev-table-empty-p): New function.
 +      (prepare-abbrev-list-buffer): Place empty abbrev tables after
 +      nonempty ones.  (Bug#5937)
  
 -      * progmodes/which-func.el (which-func-imenu-joiner-function):
 -      Return a string, as expected.
 -      (which-function-mode): Make sure we stop any previous timer before
 -      starting a new one.
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2010-11-23  Michael Albinus  <michael.albinus@gmx.de>
 +      * cus-start.el (all): Add boolean ns-auto-hide-menu-bar.
  
 -      * net/tramp.el (tramp-default-method-alist)
 -      (tramp-default-user-alist, tramp-default-proxies-alist):
 -      Adapt custom options type.  (Bug#7445)
 +2011-03-27  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 +      * ansi-color.el (ansi-color-names-vector): Allow cons cell value
 +      for foreground and background colors.
 +      (ansi-color-make-color-map): Adapt.
  
 -      * progmodes/python.el: Add Ipython support (Bug#5390).
 -      (python-shell-prompt-alist)
 -      (python-shell-continuation-prompt-alist): New options.
 -      (python--set-prompt-regexp): New function.
 -      (inferior-python-mode, run-python, python-shell):
 -      Require ansi-color.  Use python--set-prompt-regexp to set the comint
 -      prompt based on the Python interpreter.
 -      (python--prompt-regexp): New var.
 -      (python-check-comint-prompt)
 -      (python-comint-output-filter-function): Use it.
 -      (run-python): Use a pipe (Bug#5694).
 +2011-03-25  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 +      * midnight.el (midnight-time-float): Remove.  Note it calculates
 +      the microsecond component incorrectly and seconds-to-time does the
 +      same job.
 +      Remove redundant (require 'timer).
  
 -      * progmodes/python.el (run-python): Doc fix.
 -      (python-keep-current-directory-in-path): New var (Bug#7454).
 +      * ido.el (ido-read-internal): Simplify with read-from-minibuffer.
 +      (ido-completions): Remove unused arguments.  (Bug#8329)
  
 -2010-11-20  Chong Yidong  <cyd@stupidchicken.com>
 +2011-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * lpr.el (lpr-buffer, print-buffer, lpr-region, print-region):
 -      Prompt user before actually printing.
 +      * minibuffer.el (completion--flush-all-sorted-completions):
 +      Remove itself from hook.
 +      (completion-at-point): Let the functions perform the completion
 +      immediately and return nil or t.
 +      * comint.el (comint-dynamic-complete-functions): Now identical to
 +      completion-at-point-functions.
 +      (comint-dynamic-list-input-ring): Remove unused var `index'.
 +      (comint--match-partial-filename, comint--unquote&expand-filename):
 +      New funs, split from comint-match-partial-filename.
 +      (comint-dynamic-complete): Use completion-at-point.
 +      (comint-dynamic-complete-filename): Use comint--match-partial-filename.
  
 -2010-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-24  Drew Adams  <drew.adams@oracle.com>
  
 -      * simple.el (kill-new, kill-append, kill-region):
 -      * comint.el (comint-kill-region): Make the yank-handler argument
 -      obsolete.
 +      * thingatpt.el: Support `defun'.
  
 -2010-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-23  Leo Liu  <sdl.web@gmail.com>
  
 -      * emacs-lisp/smie.el (smie-bnf-classify): Signal errors for tokens
 -      that are both openers (resp. closers) and something else.
 -      (smie-grammar): Loosen definition of valid values.
 -      (smie-next-sexp, smie-down-list, smie-blink-matching-open)
 -      (smie-indent--parent, smie-rule-parent, smie-indent-keyword)
 -      (smie-indent-after-keyword): Adjust users.
 -      (smie-indent-keyword): Don't indent empty lines.
 +      * abbrevlist.el: Move to obsolete/abbrevlist.el.
  
 -      * vc-hg.el (vc-hg-program): New var.
 -      Suggested by Norman Gray <norman@astro.gla.ac.uk>.
 -      (vc-hg-state, vc-hg-working-revision, vc-hg-command): Use it.
 +      * help-mode.el (help-mode-finish): Tweak regexp.
  
 -2010-11-17  Glenn Morris  <rgm@gnu.org>
 +2011-03-23  Glenn Morris  <rgm@gnu.org>
  
 -      * emacs-lisp/autoload.el (autoload-find-destination): The function
 -      coding-system-eol-type may return non-numeric values.  (Bug#7414)
 +      * eshell/esh-opt.el (eshell-eval-using-options):
 +      Do not bind unused local variable `eshell-option-stub'.
  
 -2010-11-16  Ulrich Mueller  <ulm@gentoo.org>
 +      * progmodes/gdb-mi.el (gdb): Fix typo in previous change.
  
 -      * server.el (server-force-stop): Ensure the server is stopped (Bug#7409).
 +2011-03-22  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-11-13  Eli Zaretskii  <eliz@gnu.org>
 +      * emacs-lisp/derived.el (define-derived-mode): Wrap declaration of
 +      keymap variable in `with-no-warnings' to avoid a warning when the
 +      keymap has been already `defconst'ed.
  
 -      * subr.el (posn-col-row): Pay attention to header line.  (Bug#7390)
 +2011-03-22  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-13  Chong Yidong  <cyd@stupidchicken.com>
 +      * abbrev.el (write-abbrev-file): Use utf-8 for writing if it can
 +      encode all chars in abbrevs; otherwise use emacs-mule or
 +      utf-8-emacs.  (Bug#8308)
  
 -      * textmodes/picture.el (picture-mouse-set-point): Don't use
 -      posn-col-row; explicitly compute the motion based on the posn at
 -      the window-start (Bug#7390).
 +2011-03-22  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-11-13  Michael Albinus  <michael.albinus@gmx.de>
 +      * simple.el (backward-delete-char-untabify):
 +      Avoid warning about using `delete-backward-char'.
  
 -      * net/tramp.el (tramp-remote-coding-commands): Add an alternative
 -      using "base64 -d -i".  This is needed for older base64 versions
 -      from GNU coreutils.  Reported by Klaus Reichl
 -      <Klaus.Reichl@thalesgroup.com>.
 +      * image.el (image-type-file-name-regexps): Make it variable.
 +      `imagemagick-register-types' modifies it, and the user may want
 +      to add new extensions for known image types.
 +      (imagemagick-register-types): Throw error if not using ImageMagick.
  
 -2010-11-13  Glenn Morris  <rgm@gnu.org>
 +2011-03-22  Leo Liu  <sdl.web@gmail.com>
  
 -      * novice.el (disabled-command-function):
 -      Fix 2009-11-15 change.  (Bug#7384)
 +      * net/rcirc.el (rcirc-completion-at-point): Return nil if point is
 +      located before rcirc-prompt-end-marker.
 +      (rcirc-complete): Error if point is not after rcirc prompt.
 +      Handle the case when table is nil.
 +      (rcirc-user-authenticated): Define to fix compiler warning.
  
 -2010-11-12  Glenn Morris  <rgm@gnu.org>
 +2011-03-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * calendar/calendar.el (diary-iso-date-forms): Make elements
 -      mutually exclusive.  (Bug#7377)
 +      * custom.el (custom--inhibit-theme-enable): Make it affect only
 +      custom-theme-set-variables and custom-theme-set-faces.
 +      (provide-theme): Ignore custom--inhibit-theme-enable.
 +      (load-theme): Enable the theme explicitly if NO-ENABLE is non-nil.
 +      (custom-enabling-themes): Delete variable.
 +      (enable-theme): Accept only loaded themes as arguments.
 +      Ignore the special custom-enabled-themes variable.
 +      (custom-enabled-themes): Forbid themes from setting this.
 +      Eliminate use of custom-enabling-themes.
 +      (custom-push-theme): Quote "changed" custom var entry.
  
 -2010-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-21  Leo Liu  <sdl.web@gmail.com>
  
 -      * emacs-lisp/smie.el (smie-prec2->grammar): Obey equality constraints
 -      when filling the remaining "unconstrained" values.
 +      * ido.el (ido-read-internal): Add ido-selected to history instead
 +      of user input.
  
 -2010-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emacs-lisp/bytecomp.el (byte-compile-warnings): Simplify the
 -      safety predicate.
 +      * subr.el (deferred-action-list, deferred-action-function):
 +      Mark obsolete.
  
 -      * files.el (safe-local-variable-p): Gracefully handle errors.
 +2011-03-21  Leo Liu  <sdl.web@gmail.com>
  
 -      * emacs-lisp/smie.el (smie-rule-parent, smie-indent--rule):
 -      Use smie-indent-virtual when indenting relative to an opener.
 -      (smie-rule-separator): Use smie-rule-parent.
 -      (smie-indent-keyword): Consult rules, even for openers at bol.
 -      (smie-indent-comment-close): Try to align closer's content.
 +      * vc/log-view.el: Remove (require 'wid-edit), not needed after the
 +      change on 2011-02-13 (bug#8309).
  
 -2010-11-11  Glenn Morris  <rgm@gnu.org>
 +      * minibuffer.el (read-file-name-function): Change default value.
 +      (read-file-name--defaults): Rename from read-file-name-defaults.
 +      (read-file-name-default): Rename from read-file-name.
 +      (read-file-name): Call read-file-name-function.
  
 -      * ls-lisp.el (ls-lisp-dired-ignore-case): Make it an obsolete alias.
 +2011-03-21  Glenn Morris  <rgm@gnu.org>
  
 -2010-11-10  Glenn Morris  <rgm@gnu.org>
 +      * eshell/esh-opt.el (eshell-eval-using-options, eshell-process-args):
 +      Doc fixes.
  
 -      * printing.el (pr-menu-bind): Doc fix.
 +2011-03-21  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * speedbar.el (speedbar-toggle-images): Doc fix.
 +      * cus-theme.el: Add missing provide statement.
 +      (customize-create-theme): Extract theme value correctly.
 +      (custom-theme-visit-theme): Autoload.
 +      (customize-create-theme): Prompt before inserting default faces.
  
 -      * progmodes/python.el (python-shell): Doc fix.
 +2011-03-20  Jay Belanger  <jay.p.belanger@gmail.com>
  
 -      * wid-edit.el (widget-field-use-before-change)
 -      (widget-use-overlay-change): Doc fixes.
 +      * calc/calc-menu.el (calc-units-menu): Add entries for logarithmic
 +      units and musical notes.
  
 -2010-11-09  Glenn Morris  <rgm@gnu.org>
 +2011-03-20  Leo  <sdl.web@gmail.com>
  
 -      * progmodes/tcl.el (tcl-hairy-scan-for-comment): Doc fix.
 +      * ido.el (ido-read-internal): Use completing-read-default.
 +      (ido-completing-read): Fix compatibility with completing-read.
  
 -2010-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-20  Christian Ohler  <ohler@gnu.org>
  
 -      * minibuffer.el (minibuffer-completion-help): Specify the end of the
 -      completion field (bug#7211).
 +      * emacs-lisp/ert.el (ert-run-tests-batch): Remove unused variable.
 +      (ert-delete-all-tests): Use `called-interactively-p' rather than
 +      `interactive-p'.
 +      (ert--make-xrefs-region): Respect END.
  
 -      * progmodes/python.el (python-font-lock-syntactic-keywords): (bug#7322)
 -      Fix handling of backslash escapes.
 -      (python-quote-syntax): Adjust accordingly.
 +2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-11-08  Richard Levitte  <richard@levitte.org>  (tiny change)
 +      * dired-aux.el (dired-create-directory): Signal an error if the
 +      directory already exists (Bug#8246).
  
 -      * vc-mtn.el (vc-mtn-working-revision, vc-mtn-after-dir-status)
 -      (vc-mtn-workfile-branch): Adjust to new output format.
 +      * facemenu.el (list-colors-display): Call list-faces-display
 +      inside with-help-window.
 +      (list-colors-print): Use display property to align the final
 +      column, instead of checking window-width.
  
 -2010-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-19  Eli Zaretskii  <eliz@gnu.org>
  
 -      * international/mule-cmds.el (princ-list): Mark as obsolete.
 +      * emerge.el (emerge-metachars): Separate value for ms-dos and
 +      windows-nt systems.
 +      (emerge-protect-metachars): Quote correctly for ms-dos and
 +      windows-nt systems.
  
- 2011-03-19  Ralph Schleicher  <rs@ralph-schleicher.de>
 -2010-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
++2011-03-19  Ralph Schleicher  <rs@ralph-schleicher.de>  (tiny change)
  
 -      * emacs-lisp/smie.el: New package.
 +      * info.el (info-initialize): Replace all uses of `:' with
 +      path-separator for compatibility with non-Unix systems.
 +      Cache quoting of path-separator.  (Bug#8258)
  
 -2010-11-06  Michael Albinus  <michael.albinus@gmx.de>
 +2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * files.el (backup-by-copying-when-mismatch):
 -      Set `permanent-local' property.
 +      * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist)
 +      (mouse-avoidance-threshold, mouse-avoidance-banish-destination)
 +      (mouse-avoidance-mode): Fix typos in docstrings.
  
 -      * net/tramp.el (tramp-handle-insert-file-contents): Do not set
 -      `permanent-local' property for `backup-by-copying-when-mismatch'.
 +2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-11-06  Eli Zaretskii  <eliz@gnu.org>
 +      * startup.el (package-subdirectory-regexp): Move from package.el.
 +      Omit \\` and \\', and let callers add them.
  
 -      * ls-lisp.el (insert-directory): Doc fix.  (bug#7285)
 -      (ls-lisp-classify-file): New function.
 -      (ls-lisp-insert-directory): Call it if switches include -F (bug#6294).
 -      (ls-lisp-classify): Call ls-lisp-classify-file.
 -      (insert-directory): Remove blanks from switches.
 +      * emacs-lisp/package.el (package-strip-version)
 +      (package-load-all-descriptors): Add \\` and \\' to
 +      package-subdirectory-regexp before using it.
 +      (package-untar-buffer): New arg DIR; ensure that file untars only
 +      into this expected directory.  Remove superfluous delete-region.
 +      (package-unpack): Caller changed.
 +      (package-tar-file-info): Use package-subdirectory-regexp.
  
 -2010-11-07  Wilson Snyder  <wsnyder@wsnyder.org>
 +2011-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * progmodes/verilog-mode.el (verilog-insert-one-definition)
 -      (verilog-read-decls, verilog-read-sub-decls-sig): Fix AUTOWIRE and
 -      AUTOINOUT for SV style multidimensional arrays, bug294.
 -      Reported by Eric Mastromarchi.
 -      (verilog-preprocess): Use with-current-buffer and
 -      font-lock-fontify-buffer to cleanup style issues.
 +      * vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from
 +      diff-mode-shared-map (bug#8284).
 +      (diff-mode-shared-map): Re-introduce some bindings that were problematic.
  
 -2010-11-05  Michael Albinus  <michael.albinus@gmx.de>
 +2011-03-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * net/trampver.el: Update release number.
 +      * calendar/time-date.el (format-seconds): Use assoc instead of
 +      assoc-string, since assoc-string doesn't exist in XEmacs.
  
 -2010-08-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-17  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * mouse.el (mouse-fixup-help-message): Match "mouse-2" only at the
 -      beginning of the string.  Use `string-match-p'.  (Bug#6765)
 +      * custom.el (custom-known-themes): Reflow docstring.
 +      (custom-theme-load-path): Fix typo in docstring.
 +      (load-theme): Fix typo in error message.
 +      (custom-available-themes, custom-variable-theme-value):
 +      Use `let', not `let*'.
  
 -2010-11-01  Glenn Morris  <rgm@gnu.org>
 +2011-03-17  Jay Belanger  <jay.p.belanger@gmail.com>
  
 -      * locate.el (locate, locate-mode): Doc fixes.
 +      * calc/README: Mention inclusion of musical notes.
  
 -2010-11-01  Chong Yidong  <cyd@stupidchicken.com>
 +      * calc/calc-units.el (calc-lu-quant): Rename from
 +      `calc-logunits-quantity'.
 +      (calcFunc-lupquant): Rename from `calcFunc-powerquant'.
 +      (calcFunc-lufquant): Rename from `calcFunc-fieldquant'.
 +      (calc-db): Rename from `calc-dblevel'.
 +      (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'.
 +      (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'.
 +      (calc-np): Rename from `calc-nplevel'.
 +      (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'.
 +      (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'.
 +      (calc-lu-plus): Rename from `calc-logunits-add'.
 +      (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'.
 +      (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'.
 +      (calc-lu-minus): Rename from `calc-logunits-sub'.
 +      (calcFunc-lupsub): Rename from `calcFunc-lupowersub'.
 +      (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'.
 +      (calc-lu-times): Rename from `calc-logunits-mul'.
 +      (calcFunc-lupmul): Rename from `calcFunc-lupowermul'.
 +      (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'.
 +      (calc-lu-divide): Rename from `calc-logunits-div'.
 +      (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'.
 +      (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'.
  
 -      * server.el (server-start): New arg INHIBIT-PROMPT prevents asking
 -      user for confirmation.
 -      (server-force-stop): Use it.
 -      (server-start): Use server-force-stop for kill-emacs-hook, to
 -      avoid user interaction while killing Emacs.
 +      * calc/calc-ext.el (calc-init-extensions): Update the names of the
 +      functions being autoloaded.
  
 -2010-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * calc/calc.el (calc-lu-power-reference): Rename from
 +      `calc-logunits-power-reference'.
 +      (calc-lu-field-reference): Rename from
 +      `calc-logunits-field-reference'.
  
 -      * vc/log-edit.el (log-edit-rewrite-fixes): New var.
 -      (log-edit-author): New dynamic var.
 -      (log-edit-changelog-ours-p, log-edit-insert-changelog-entries):
 -      Use it to return the author if different from committer.
 -      (log-edit-insert-changelog): Use them to add Author: and Fixes headers.
 +      * calc/calc-help (calc-l-prefix-help): Mention musical note functions.
  
 -2010-10-31  Eli Zaretskii  <eliz@gnu.org>
 +2011-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.
 +      * minibuffer.el (completion-all-sorted-completions):
 +      Use :completion-cycle-penalty text property if present.
  
 -2010-10-31  Chong Yidong  <cyd@stupidchicken.com>
 +2011-03-16  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -      * vc/vc.el (vc-deduce-backend): New fun.  Handle diff buffers.
 -      (vc-root-diff, vc-print-root-log, vc-log-incoming)
 -      (vc-log-outgoing): Use it.
 -      (vc-diff-internal): Set diff-vc-backend.
 +      * allout.el (allout-yank-processing): Adjust for new rebulleting
 +      regime so bullet being yanked is used without prompting the user
 +      for a choice.
  
 -      * vc/diff-mode.el (diff-vc-backend): New var.
 +2011-03-16  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-10-31  Juri Linkov  <juri@jurta.org>
 +      * startup.el (command-line): Warn the user that _emacs is deprecated.
  
 -      * vc/vc.el (vc-diff-internal): Set `revert-buffer-function'
 -      buffer-locally to lambda that re-runs the vc diff command.
 -      (Bug#6447)
 +2011-03-16  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * progmodes/delphi.el (delphi-search-path, delphi-indent-level)
 +      (delphi-verbose, delphi-comment-face, delphi-string-face)
 +      (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line)
 +      (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab)
 +      (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment)
 +      (delphi-new-comment-line, delphi-font-lock-defaults)
 +      (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode):
 +      Fix typos in docstrings.
  
 -      * vc/log-view.el (log-view-mode-map): Bind revert-buffer.
 +2011-03-15  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -      Make 'g' (AKA revert-buffer) rerun VC log, log-incoming and
 -      log-outgoing commands.
 -      * vc/vc.el (vc-log-internal-common): Add a new argument and use it
 -      to create a buffer local revert-buffer-function variable.
 -      (vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a
 -      revert-buffer-function lambda.
 +      * allout.el (allout-make-topic-prefix, allout-rebullet-heading):
 +      Invert the roles of character and string values for INSTEAD, so a
 +      string is used for the more common case of a defaulting prompt.
  
 -      Improve VC create/retrieve tag/branch.
 -      * vc.el (vc-create-tag): Do not read the directory name for VCs
 -      with repository revision granularity.  Adjust the tag/branch
 -      prompt.  Reset VC properties.
 -      (vc-retrieve-tag): Do not read the directory name for VCs
 -      with repository revision granularity.  Reset VC properties.
 +2011-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      Add optional support for resetting VC properties.
 -      * vc-dispatcher.el (vc-resynch-window): Add new optional argument,
 -      call vc-file-clearprops when true.
 -      (vc-resynch-buffer): Add new optional argument, pass it down.
 -      (vc-resynch-buffers-in-directory): Likewise.
 +      * progmodes/ruby-mode.el (ruby-backward-sexp):
 +      * progmodes/ebrowse.el (ebrowse-draw-file-member-info):
 +      * play/gamegrid.el (gamegrid-make-face):
 +      * play/bubbles.el (bubbles--grid-width, bubbles--grid-height)
 +      (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images):
 +      * notifications.el (notifications-notify):
 +      * net/xesam.el (xesam-search-engines):
 +      * net/quickurl.el (quickurl-list-insert):
 +      * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case.
  
 -      Improve support for special markup in the VC commit message.
 -      * vc-mtn.el (vc-mtn-checkin): Support Author: and Date: markup.
 -      * vc-hg.el (vc-hg-checkin): Add support for Date:.
 -      * vc-git.el (vc-git-checkin):
 -      * vc-bzr.el (vc-bzr-checkin): Likewise.
 +2011-03-15  Chong Yidong  <cyd@stupidchicken.com>
  
 -      Add support for vc-log-incoming, improve vc-log-outgoing for Git.
 -      * vc-git.el (vc-git-log-view-mode): Fix font lock for
 -      incoming/outgoing logs.
 -      (vc-git-log-outgoing, vc-git-log-incoming): New functions.
 +      * startup.el (command-line): Update package subdirectory regexp.
  
 -      * vc-git.el (vc-git-log-outgoing): Use the same format as the
 -      short log.
 -      (vc-git-log-incoming): Likewise.  Run "git fetch" before the log
 -      command
 +2011-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      Add bindings for vc-log-incoming and vc-log-outgoing.
 -      * vc-hooks.el (vc-prefix-map): Add bindings for vc-log-incoming
 -      and vc-log-outgoing.
 -      * vc-dir.el (vc-dir-menu-map): Add menu bindings for vc-log-incoming
 -      and vc-log-outgoing.
 +      * allout.el (allout-abbreviate-flattened-numbering)
 +      (allout-mode-deactivate-hook): Fix up obsolescence "date".
  
 -      Improve state updating for VC tag commands.
 -      * vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer
 -      to update the state of all buffers in the directory.
 +      * subr.el (read-char-choice): Only show the cursor after the prompt,
 +      not after the answer.
  
 -2010-05-19  Glenn Morris  <rgm@gnu.org>
 +2011-03-15  Kevin Ryde  <user42@zip.com.au>
  
 -      * vc-dir.el (vc-dir): Don't pop-up-windows.  (Bug#6204)
 +      * help-fns.el (variable-at-point): Skip leading quotes, if any
 +      (bug#8253).
  
 -2010-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * vc.el (vc-checkin, vc-modify-change-comment):
 -      Adjust to new vc-start/finish-logentry.
 -      (vc-find-conflicted-file): New command.
 -      (vc-transfer-file): Adjust to new vc-checkin.
 -      (vc-next-action): Improve scoping.
 +      * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the
 +      warning message.
  
 -      * vc-git.el (vc-git-checkin): Use log-edit-extract-headers.
 -      (vc-git-commits-coding-system): Rename from git-commits-coding-system.
 +2011-03-14  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * vc-dispatcher.el (vc-log-edit): Shorten names for
 -      log-edit-show-files.
 +      * shell.el (shell): When called interactively, offer to change the
 +      shell file name on remote hosts.
  
 -      * vc-bzr.el (vc-bzr-checkin): Use log-edit-extract-headers.
 -      (vc-bzr-conflicted-files): New function.
 +2011-03-13  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * log-edit.el (log-edit-summary, log-edit-header)
 -      (log-edit-unknown-header): New faces.
 -      (log-edit-headers-alist): New var.
 -      (log-edit-header-contents-regexp): New const.
 -      (log-edit-match-to-eoh): New function.
 -      (log-edit-font-lock-keywords): Use them.
 -      (log-edit): Insert a "Summary:" header as default.
 -      (log-edit-mode): Mark font-lock rules as case-insensitive.
 -      (log-edit-done): Cleanup headers.
 -      (log-edit-extract-headers): New function to replace it.
 +      * net/ldap.el (ldap-search-internal): Add `auth-source-search'
 +      integration for LDAP parameters.  The host, base, user or binddn,
 +      and secret tokens can be specified in a netrc file, for instance.
 +      This is optional because an `auth-source' parameter must be
 +      specified in the search attributes.
  
 -      * vc-dispatcher.el (vc-finish-logentry): Don't mess so badly with
 -      the windows/frames.
 +2011-03-13  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * vc-bzr.el (vc-bzr-shelve-apply): Don't use *vc-bzr-shelve*.
 +      * help.el (describe-mode): Link to the mode's definition (bug#8185).
  
 -      * vc-dir.el (vc-dir-kill-line): New command.
 -      (vc-dir-mode-map): Bind it to C-k.
 -      (vc-dir-headers): Abbreviate the working dir.
 +2011-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * vc-git.el (vc-git-revision-table): Include remote branches.
 +      * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
 +      into declaration.  Remove redundant and harmful binding.
  
 -2010-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-03-12  Eli Zaretskii  <eliz@gnu.org>
  
 -      New VC methods: vc-log-incoming and vc-log-outgoing.
 -      * vc.el (vc-print-log-setup-buttons, vc-log-internal-common)
 -      (vc-incoming-outgoing-internal, vc-log-incoming, vc-log-outgoing):
 -      New functions.
 -      (vc-print-log-internal): Just call vc-log-internal-common.
 -      (vc-log-view-type): New permanent local variable.
 +      * files.el (file-ownership-preserved-p): Pass `integer' as an
 +      explicit 2nd argument to `file-attributes'.  If the file's owner
 +      is the Administrators group on Windows, and the current user is
 +      Administrator, consider that a match.
  
 -      * vc-hooks.el (vc-menu-map): Bind vc-log-incoming and vc-log-outgoing.
 +      * server.el (server-ensure-safe-dir): Consider server directory
 +      safe on MS-Windows if its owner is the Administrators group while
 +      the current Emacs user is Administrator.  Use `=' to compare
 +      numerical UIDs, since they could be integers or floats.
  
 -      * vc-bzr.el (vc-bzr-log-view-mode): Use vc-log-view-type instead
 -      of the dynamic bound vc-short-log.
 -      (vc-bzr-log-incoming, vc-bzr-log-outgoing): New functions.
 +2011-03-12  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * vc-git.el (vc-git-log-outgoing): New function.
 -      (vc-git-log-view-mode): Use vc-log-view-type instead
 -      of the dynamic bound vc-short-log.
 -
 -      * vc-hg.el (vc-hg-log-view-mode): Use vc-log-view-type instead of
 -      the dynamic bound vc-short-log.  Highlight the tag.
 -      (vc-hg-log-incoming, vc-hg-log-outgoing): New functions.
 -      (vc-hg-outgoing, vc-hg-incoming, vc-hg-outgoing-mode):
 -      (vc-hg-incoming-mode): Remove.
 -      (vc-hg-extra-menu-map): Do not bind vc-hg-incoming and vc-hg-outgoing.
 -
 -      Fix default-directory for vc-root-diff.
 -      * vc.el (vc-root-diff): Bind default-directory to the root
 -      directory for the diff command.
 +      * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170).
  
 -2010-10-31  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-hg.el (vc-hg-push, vc-hg-pull): Use `apply' when calling
 -      `vc-hg-command' with a list of flags.
 -
 -2010-10-31  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-bzr.el (vc-bzr-log-edit-mode): Add --fixes support to
 -      log-edit-before-checkin-process.
 -
 -      * vc.el (vc-modify-change-comment): Pass MODE to vc-start-logentry.
 -
 -      * vc-bzr.el, vc-hg.el (log-edit-mode): Declare.
 -
 -      * vc-dispatcher.el (vc-start-logentry): Doc fix.
 -      (log-view-process-buffer, log-edit-extra-flags): Declare.
 -
 -2010-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Add special markup processing for commit logs.
 -      * log-edit.el (log-edit): Add new argument MODE.  Use that mode
 -      when non-nil instead of the log-view-mode.
 -
 -      * vc.el (vc-default-log-edit-mode): New function.
 -
 -      * vc-dispatcher.el (vc-log-edit): Add a mode argument, pass it to
 -      log-edit.
 -
 -      Support for shelving snapshots and for showing shelves.
 -      * vc-bzr.el (vc-bzr-shelve-show, vc-bzr-shelve-show-at-point)
 -      (vc-bzr-shelve-apply-and-keep-at-point, vc-bzr-shelve-snapshot):
 -      New functions.
 -      (vc-bzr-shelve-map, vc-bzr-shelve-menu-map)
 -      (vc-bzr-extra-menu-map): Map them.
 -
 -2010-10-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-file-contents): For root,
 -      preserve owner and group when editing files.  (Bug#7289)
 -
 -2010-10-29  Glenn Morris  <rgm@gnu.org>
 -
 -      * speedbar.el (speedbar-mode):
 -      * play/fortune.el (fortune-in-buffer, fortune):
 -      * play/gomoku.el (gomoku-mode):
 -      * play/landmark.el (lm-mode):
 -      * textmodes/bibtex.el (bibtex-validate, bibtex-validate-globally):
 -      Replace inappropriate uses of toggle-read-only.  (Bug#7292)
 -
 -2010-10-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * select.el (x-selection): Mark it as an obsolete alias.
 -
 -2010-10-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
 -
 -      * add-log.el (find-change-log): Use derived-mode-p rather than
 -      major-mode (bug#7284).
 -
 -2010-10-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * menu-bar.el (menu-bar-files-menu): Make it into an actual alias,
 -      rather than just an unused variable that inherits from the real one.
 -
 -2010-10-23  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-directive-re): Make this variable
 -      auto-built for efficiency of execution and updating.
 -      (verilog-extended-complete-re): Support 'pure' fucntion & task
 -      declarations (these have no bodies).
 -      (verilog-beg-of-statement): General cleanup to enable support of
 -      'pure' fucntion & task declarations (these have no bodies).
 -      These efforts together fix Verilog bug210 from veripool; which was also
 -      noticed by Steve Pearlmutter.
 -      (verilog-directive-re, verilog-directive-begin, verilog-indent-re)
 -      (verilog-directive-nest-re, verilog-set-auto-endcomments):
 -      Support `elsif.  Reported by Shankar Giri.
 -      (verilog-forward-ws&directives, verilog-in-attribute-p): Fixes for
 -      attribute handling for lining up declarations and assignments.
 -      (verilog-beg-of-statement-1): Fix issue where continued declaration
 -      is indented differently if it is after a begin..end clock.
 -      (verilog-in-attribute-p, verilog-skip-backward-comments)
 -      (verilog-skip-forward-comment-p): Support proper treatment of
 -      attributes by indent code.  Reported by Jeff Steele.
 -      (verilog-in-directive-p): Fix comment to correctly describe function.
 -      (verilog-backward-up-list, verilog-in-struct-region-p)
 -      (verilog-backward-token, verilog-in-struct-p)
 -      (verilog-in-coverage-p, verilog-do-indent)
 -      (verilog-pretty-declarations): Use verilog-backward-up-list as
 -      wrapper around backward-up-list inorder to properly skip comments.
 -      Reported by David Rogoff.
 -      (verilog-property-re, verilog-endcomment-reason-re)
 -      (verilog-beg-of-statement, verilog-set-auto-endcomments)
 -      (verilog-calc-1 ): Fix for assert a; else b; indentation (new form
 -      of if).  Reported by Max Bjurling and
 -      (verilog-calc-1): Fix for clocking block in modport
 -      declaration.  Reported by Brian Hunter.
 -
 -2010-10-23  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/verilog-mode.el (verilog-auto-inst, verilog-gate-ios)
 -      (verilog-gate-keywords, verilog-read-sub-decls)
 -      (verilog-read-sub-decls-gate, verilog-read-sub-decls-gate-ios)
 -      (verilog-read-sub-decls-line, verilog-read-sub-decls-sig): Support
 -      AUTOINST for gate primitives, bug284.  Reported by Mark Johnson.
 -      (verilog-read-decls): Fix spaces in V2K module parameters causing
 -      mis-identification as interfaces, bug287.
 -      (verilog-read-decls): Fix not treating "parameter string" as a
 -      parameter in AUTOINSTPARAM.
 -      (verilog-read-always-signals-recurse, verilog-read-decls): Fix not
 -      treating `elsif similar to `endif inside AUTOSENSE.
 -      (verilog-do-indent): Implement correct automatic or static task or
 -      function end comment highlight.  Reported by Steve Pearlmutter.
 -      (verilog-font-lock-keywords-2): Fix highlighting of single
 -      character pins, bug264.  Reported by Michael Laajanen.
 -      (verilog-auto-inst, verilog-read-decls, verilog-read-sub-decls)
 -      (verilog-read-sub-decls-in-interfaced, verilog-read-sub-decls-sig)
 -      (verilog-subdecls-get-interfaced, verilog-subdecls-new):
 -      Support interfaces with AUTOINST, bug270.  Reported by Luis Gutierrez.
 -      (verilog-pretty-expr): Fix interactive arguments, bug272.
 -      Reported by Mark Johnson.
 -      (verilog-auto-tieoff, verilog-auto-tieoff-ignore-regexp):
 -      Add 'verilog-auto-tieoff-ignore-regexp' for AUTOTIEOFF,
 -      bug269.  Suggested by Gary Delp.
 -      (verilog-mode-map, verilog-preprocess, verilog-preprocess-history)
 -      (verilog-preprocessor, verilog-set-compile-command):
 -      Create verilog-preprocess and verilog-preprocessor to show
 -      preprocessed output.
 -      (verilog-get-beg-of-line, verilog-get-end-of-line)
 -      (verilog-modi-file-or-buffer, verilog-modi-name)
 -      (verilog-modi-point, verilog-within-string): Move defmacro's
 -      before first use to avoid warning.  Reported by Steve Pearlmutter.
 -      (verilog-colorize-buffer, verilog-colorize-include-files-buffer)
 -      (verilog-colorize-region, verilog-highlight-buffer)
 -      (verilog-highlight-includes, verilog-highlight-modules)
 -      (verilog-highlight-region, verilog-mode): Rename colorize to
 -      highlight to match other packages.  Disable module highlighting,
 -      as received speed complaints, reenable for experimentation only
 -      using new verilog-highlight-modules.
 -      (verilog-read-decls): Fix regexp stack overflow in very large
 -      AUTO_TEMPLATEs, bug250.
 -      (verilog-auto, verilog-delete-auto, verilog-save-buffer-state)
 -      (verilog-scan): Create verilog-save-buffer-state to standardize
 -      making insignificant changes that shouldn't call hooks.
 -      (verilog-save-no-change-functions, verilog-save-scan-cache)
 -      (verilog-scan, verilog-scan-cache-ok-p, verilog-scan-region):
 -      Create verilog-save-no-change-functions to wrap verilog-scan
 -      preservation, and fix to work with nested preserved calls.
 -      (verilog-auto-inst, verilog-auto-inst-dot-name): Support .name
 -      port syntax for AUTOWIRE, and with new verilog-auto-inst-dot-name
 -      generate .name with AUTOINST, bug245.  Suggested by David Rogoff.
 -      (verilog-submit-bug-report): Update variable list to be complete.
 -      (verilog-auto, verilog-colorize-region): Fix AUTO expansion
 -      breaking on-the-fly font-locking.
 -      (verilog-colorize-buffer, verilog-colorize-include-files)
 -      (verilog-colorize-include-files-buffer, verilog-colorize-region)
 -      (verilog-load-file-at-mouse, verilog-load-file-at-point)
 -      (verilog-mode, verilog-read-inst-module-matcher): With point on a
 -      AUTOINST cell instance name, middle mouse button now finds-file on
 -      it.  Suggested by Brad Dobbie.
 -      (verilog-alw-get-temps, verilog-auto-reset)
 -      (verilog-auto-sense-sigs, verilog-read-always-signals)
 -      (verilog-read-always-signals-recurse): Fix loop indexes being
 -      AUTORESET.  AUTORESET now assumes any variables in the
 -      initialization section of a for() should be ignored.
 -      Reported by Dan Dever.
 -      (verilog-error-font-lock-keywords)
 -      (verilog-error-regexp-emacs-alist)
 -      (verilog-error-regexp-xemacs-alist): Fix error detection of
 -      Cadence HAL, reported by David Asher.  Repair drift between the
 -      three similar error variables.
 -      (verilog-modi-lookup, verilog-modi-lookup-cache)
 -      (verilog-modi-lookup-last-current, verilog-modi-lookup-last-mod)
 -      (verilog-modi-lookup-last-modi, verilog-modi-lookup-last-tick):
 -      Fix slow verilog-auto expansion on very large files.
 -      (verilog-read-sub-decls-expr, verilog-read-sub-decls-line):
 -      Fix AUTOOUTPUT treating "1*2" as a signal name in submodule connection
 -      "{1*2{...".  Broke in last revision.
 -      (verilog-read-sub-decls-expr): Fix AUTOOUTPUT not detecting
 -      submodule connections with replications "{#{a},#{b}}".
 -
 -2010-10-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * comint.el (comint-password-prompt-regexp):
 -      Match "enter the password".  (Bug#7224)
 -
 -2010-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * progmodes/dcl-mode.el (dcl-electric-reindent-regexps):
 -      Fix typo in docstring.
 +2011-03-12  Michael Albinus  <michael.albinus@gmx.de>
  
 -2010-10-21  Michael Albinus  <michael.albinus@gmx.de>
 +      Sync with Tramp 2.2.1.
  
 -      * net/tramp.el (tramp-get-inline-coding): Return `nil' in case of
 -      errors.
 +      * net/tramp-sh.el (tramp-methods): Exchange "%k" marker with options.
  
        * net/trampver.el: Update release number.
  
 -2010-10-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * face-remap.el (text-scale-adjust): Call read-event with a proper
 -      prompt.
 -
 -2010-10-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-file-attributes-with-stat)
 -      (tramp-do-directory-files-and-attributes-with-stat): Use "e0" in
 -      order to make stat results a float.  Patch by Andreas Schwab
 -      <schwab@linux-m68k.org>.
 -
 -2010-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * repeat.el (repeat): Use read-key (bug#6256).
 -
 -2010-10-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/unsafep.el: Don't mark functions that display
 -      messages as safe.  Suggested by Johan Bockgård.
 -
 -2010-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/regexp-opt.el (regexp-opt-group, regexp-opt-charset):
 -      Turn comments into docstrings.
 -
 -      * minibuffer.el (completion--replace): Move point where it belongs
 -      when there's a common suffix (bug#7215).
 -
 -2010-10-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-open-connection-setup-interactive-shell):
 -      Suppress expansion of tabs to spaces.  Reported by Dale Sedivec
 -      <dale@codefu.org>.
 -
 -2010-10-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/characters.el: Add category '|' (word breakable)
 -      to fullwidth characters.
 -
 -2010-10-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmail.el (rmail-show-message-1): Catch an error of
 -      base64-decode-region and just show an error message (bug#7165).
 -
 -      * ps-mule.el (ps-mule-font-spec-list): Delete it.  Not used anymore.
 -      (ps-mule-begin-job): Fix for the case that only ENCODING is set in
 -      a font-spec (bug#7197).
 -
 -2010-10-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/emacsbug.el (report-emacs-bug): Mention debbugs.gnu.org.
 -
 -2010-10-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * international/mule.el (define-coding-system):
 -      * international/titdic-cnv.el (quail-cxterm-package-ext-info):
 -      * composite.el (compose-region): Fix typo in docstring.
 -
 -2010-10-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * term/ns-win.el (ns-right-alternate-modifier): New defvar.
 -      (ns-right-option-modifier): New alias for ns-right-alternate-modifier.
 -      (mac-right-option-modifier): New alias for ns-right-option-modifier.
 -
 -      * cus-start.el (all): ns-right-alternate-modifier is new.
 -
 -2010-10-10  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (ELCFILES): Update.
 -
 -2010-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/lisp.el (lisp-completion-at-point):
 -      Use emacs-lisp-mode-syntax-table for the whole function.
 -
 -2010-10-09  Richard Sharman  <richard_sharman@mitel.com>  (tiny change)
 -
 -      * progmodes/gdb-ui.el (gdb-mouse-toggle-breakpoint-margin)
 -      (gdb-mouse-toggle-breakpoint-fringe): Correct regexp to
 -      work when breakpoint number exceeds nine.
 -
 -2010-10-05  David Koppelman  <koppel@ece.lsu.edu>
 -
 -      * hi-lock.el (hi-lock-font-lock-hook): Check font-lock-fontified
 -      instead of font-lock-mode before adding keywords.
 -      Remove hi-lock-mode off code.  Remove inhibit hack.
 -      (hi-lock-set-pattern): Only add keywords if font-lock-fontified
 -      non-nil; removed hook inhibit hack.
 -
 -2010-10-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/shadow.el (find-emacs-lisp-shadows): Rename it...
 -      (load-path-shadows-find): ... to this.
 -      (list-load-path-shadows): Update for above change.
 -
 -      * mail/mail-utils.el (mail-mbox-from): Also try return-path.
 -
 -2010-10-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/cl-compat.el, emacs-lisp/lmenu.el: Move to obsolete/.
 +2011-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emacs-lisp/shadow.el (lisp-shadow): Change prefix.
 -      (shadows-compare-text-p): Make it an obsolete alias for...
 -      (load-path-shadows-compare-text): ... new name.
 -      (find-emacs-lisp-shadows): Update for above name change.
 -      (load-path-shadows-same-file-or-nonexistent): New name for the old
 -      shadow-same-file-or-nonexistent.
 +      * progmodes/compile.el (compilation--previous-directory): Fix up
 +      various nil/dead-marker mismatches (bug#8014).
 +      (compilation-directory-properties, compilation-error-properties):
 +      Don't call it at a position past the one we're about to change.
  
 -2010-10-03  Chong Yidong  <cyd@stupidchicken.com>
 +      * emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable):
 +      Disable obsolescence warnings in the file that declares it.
  
 -      * minibuffer.el (completion--some, completion--do-completion)
 -      (minibuffer-complete-and-exit, minibuffer-completion-help)
 -      (completion-basic-try-completion)
 -      (completion-basic-all-completions)
 -      (completion-pcm--find-all-completions): Use lexical-let to
 -      avoid some false matches in variable completion (Bug#7056)
 +2011-03-11  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -2010-10-03  Olof Ohlsson Sax  <olof.ohlsson.sax@gmail.com>  (tiny change)
 +      * allout-widgets.el (allout-widgets-tally): Initialize
 +      allout-widgets-tally as a hash table rather than nil to prevent
 +      mode-line redisplay warnings.
 +      Also, clarify the module description and fix a comment typo.
  
 -      * vc-svn.el (vc-svn-merge-news): Use --non-interactive.  (Bug#7152)
 +2011-03-11  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-10-03  Leo  <sdl.web@gmail.com>
 +      * help-fns.el (describe-variable): Don't complete keywords.
 +      Suggested by Teodor Zlatanov <tzz@lifelogs.com>.
  
 -      * dnd.el (dnd-get-local-file-name): If MUST-EXIST is non-nil, only
 -      return non-nil if the file exists (Bug#7090).
 +2011-03-10  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * emacs-lisp/package.el (package-version-join): Impose a standard
 +      string representation for pre/alpha/beta version lists.
 +      (package-unpack-single): Standardize the directory name by passing
 +      it through package-version-join.
 +      (package-strip-rcs-id): Accept any version string that does not
 +      signal an error in version-to-list.
  
 -      * minibuffer.el (completion--replace):
 -      Better preserve markers (bug#7138).
 +2011-03-10  Michael Albinus  <michael.albinus@gmx.de>
  
 -2010-09-29  Juanma Barranquero  <lekktu@gmail.com>
 +      * simple.el (delete-trailing-whitespace): Return nil for the
 +      benefit of `write-file-functions'.
  
 -      * server.el (server-process-filter): Doc fix.
 +2011-03-10  Glenn Morris  <rgm@gnu.org>
  
 -2010-09-27  Drew Adams  <drew.adams@oracle.com>
 +      * vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program.
  
 -      * dired.el (dired-save-positions): Doc fix.  (Bug#7119)
 +      * vc/vc-git.el (vc-git-program): New option.
 +      (vc-git-branches, vc-git-pull, vc-git-merge-branch, vc-git-command)
 +      (vc-git--call): Use it.
  
 -2010-09-27  Andreas Schwab  <schwab@linux-m68k.org>
 +      * eshell/esh-util.el (eshell-condition-case): Doc fix.
  
 -      * Makefile.in (ELCFILES): Update.
 +      * cus-edit.el (Custom-newline): If no button at point, look
 +      for a subgroup button at start-of-line.  (Bug#2298)
  
 -      * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
 -      Avoid infinite recursion on erroneous lambda form.  (Bug#7114)
 +      * mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes.
  
 -2010-09-27  Kenichi Handa  <handa@m17n.org>
 +2011-03-10  Julien Danjou  <julien@danjou.info>
  
 -      * tar-mode.el (tar-header-block-tokenize): Decode filenames in
 -      "ustar" format.
 +      * avoid.el (mouse-avoidance-ignore-p): Do not move the cursor if
 +      `cursor-type' is nil.
  
 -2010-09-27  Kenichi Handa  <handa@m17n.org>
 +2011-03-09  Jay Belanger  <jay.p.belanger@gmail.com>
  
 -      * international/mule.el (define-coding-system): Docstring fixed.
 +      * calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'.
  
 -      * international/mule-diag.el (describe-character-set): Use princ
 -      with proper print-length and print-level instead of insert.
 +2011-03-09  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -2010-09-26  Juanma Barranquero  <lekktu@gmail.com>
 +      * allout.el Summary: Change so yank of distinctive-bullet items
 +      preserves the existing header prefix, rebulleting it if necessary,
 +      rather than replacing it.  This is necessary for proper operation
 +      of cooperative addons like allout-widgets.
 +      (allout-make-topic-prefix, allout-rebullet-heading): Change
 +      SOLICIT arg to INSTEAD, and interpret additionally a string value
 +      as alternate bullet to be used, instead of prompting the user for
 +      a bullet character.
  
 -      * window.el (walk-windows): Doc fix (bug#7105).
 +2011-03-09  Michael Albinus  <michael.albinus@gmx.de>
  
 -2010-09-23  Glenn Morris  <rgm@gnu.org>
 +      * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
 +      Do not use `tramp-file-name-port', because this returns also
 +      `tramp-default-port'.
  
 -      * isearch.el (isearch-lazy-highlight-cleanup)
 -      (isearch-lazy-highlight-initial-delay)
 -      (isearch-lazy-highlight-interval)
 -      (isearch-lazy-highlight-max-at-a-time, isearch-lazy-highlight-face):
 -      * net/net-utils.el (ipconfig-program-options):
 -      Move aliases to options before the associated definitions.
 +2011-03-09  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
  
 -2010-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * net/rcirc.el (rcirc-handler-001): Remove useless
 +      with-rcirc-process-buffer.
 +      (rcirc-check-auth-status): Swap arguments to string-match.
  
 -      * newcomment.el (comment-normalize-vars): Better test validity of
 -      comment-end-skip.
 +2011-03-09  Glenn Morris  <rgm@gnu.org>
  
 -2010-09-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/float-sup.el (float-pi): New name for `pi'.
 -      (float-e): New name for `e'.
 -      (degrees-to-radians, radians-to-degrees):
 -      * calendar/solar.el (solar-longitude):
 -      * calculator.el (calculator-registers, calculator-funcall):
 -      * textmodes/artist.el (artist-spray-random-points):
 -      * play/bubbles.el (bubbles--initialize-images): Use new names.
 -
 -2010-09-19  Eric M. Ludlam  <zappo@gnu.org>
 -
 -      Update to CEDET 1.0's version of EIEIO.
 -
 -      * emacs-lisp/eieio.el (eieio-specialized-key-to-generic-key):
 -      New function.
 -      (eieio-defmethod, eieio-generic-form, eieio-generic-call): Use it.
 -      (eieio-default-eval-maybe): Eval val instead of unquoting only.
 -      (class-precedence-list): If class is nil, return nil.
 -      (eieio-generic-call): If class of first input arg is nil, don't
 -      look up static methods, and do check for primary methods.
 -      (initialize-instance): See if the default needs to be evaluated
 -      during the constructor.
 -      (eieio-perform-slot-validation-for-default): Don't do the check
 -      for values that will eventually be evaluated.
 -      (eieio-eval-default-p): New function.
 -      (eieio-default-eval-maybe): Use it.
 -
 -2010-07-03  Jan Moringen  <jan.moringen@uni-bielefeld.de>
 -
 -      * emacs-lisp/eieio.el (eieio-defclass): Allow :c3
 -      method-invocation-order.
 -      (eieio-c3-candidate, eieio-c3-merge-lists): New functions.
 -      (eieio-class-precedence-dfs): Compute class precedence list using
 -      dfs algorithm.
 -      (eieio-class-precedence-bfs): Compute class precedence list using
 -      bfs algorithm.
 -      (eieio-class-precedence-c3): Compute class precedence list using
 -      c3 algorithm.
 -      (class-precedence-list): New function.
 -      (eieiomt-method-list, eieiomt-sym-optimize): Use it.
 -      (inconsistent-class-hierarchy): New error symbol.
 -      (call-next-method): Stow the replacement argument list for future
 -      call-next-method invocations.
 -
 -2010-09-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/appt.el (appt-check): If not displaying the diary,
 -      use (diary 1) to only get the entries we need.
 -      (appt-make-list): Sort diary-list-entries, if we cannot guarantee
 -      that it is in day order.  (Bug#7019)
 -
 -      * calendar/appt.el (appt-check): Rather than showing the diary,
 -      just turn off invisible display, and only if needed.
 -
 -      * calendar/diary-lib.el (diary-list-entries): Doc fix.  (Bug#7019)
 -
 -2010-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/byte-run.el (set-advertised-calling-convention):
 -      Add `when' argument.  Update callers.
 -
 -      * subr.el (unintern): Declare the obarray arg mandatory.
 -
 -2010-09-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-list-entries-hook, diary-sort-entries):
 -      Doc fixes.
 -
 -      * calendar/diary-lib.el (diary-included-files): New variable.
 -      (diary-list-entries): Maybe initialize diary-included-files.
 -      (diary-include-other-diary-files): Append to diary-included-files.
 -      * calendar/appt.el (appt-update-list): Also check the members of
 -      diary-included-files.  (Bug#6999)
 -      (appt-check): Doc fix.
 -
 -2010-09-12  David Reitter  <david.reitter@gmail.com>
 -
 -      * simple.el (line-move-visual): Do not truncate goal column to
 -      integer size.  (Bug#7020)
 -
 -2010-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * repeat.el (repeat): Allow repeating when the last event is a click.
 -      Suggested by Drew Adams (bug#6256).
 -
 -2010-09-11  Sascha Wilde  <wilde@sha-bang.de>
 -
 -      * vc/vc-hg.el (vc-hg-state,vc-hg-working-revision):
 -      Replace setting HGRCPATH to "" by some less invasive --config options.
 -
 -2010-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font-lock.el (font-lock-beginning-of-syntax-function):
 -      Mark as obsolete.
 -
 -2010-09-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * menu-bar.el (menu-bar-options-save): Fix handling of menu-bar
 -      and tool-bar modes.  (Bug#6211)
 -      (menu-bar-mode): Move setting of standard-value after the
 -      minor-mode definition, otherwise it seems to have no effect.
 -
 -2010-09-08  Masatake YAMATO  <yamato@redhat.com>
 -
 -      * progmodes/antlr-mode.el (antlr-font-lock-additional-keywords):
 -      Fix typo.  (Bug#6976)
 -
 -2010-09-06  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * whitespace.el: Allow cleaning up blanks without blank
 -      visualization (Bug#6651).  Adjust help window for
 -      whitespace-toggle-options (Bug#6479).  Allow to use fill-column
 -      instead of whitespace-line-column (from EmacsWiki).  New version 13.1.
 -      (whitespace-style): Add new value 'face.  Adjust docstring.
 -      (whitespace-space, whitespace-hspace, whitespace-tab):
 -      Adjust foreground property face.
 -      (whitespace-line-column): Adjust docstring and type declaration.
 -      (whitespace-style-value-list, whitespace-toggle-option-alist)
 -      (whitespace-help-text): Adjust const initialization.
 -      (whitespace-toggle-options, global-whitespace-toggle-options):
 -      Adjust docstring.
 -      (whitespace-display-window, whitespace-interactive-char)
 -      (whitespace-style-face-p, whitespace-color-on): Adjust code.
 -      (whitespace-help-scroll): New fun.
 -
 -2010-09-05  Alexander Klimov  <alserkli@inbox.ru>  (tiny change)
 -
 -      * files.el (directory-abbrev-alist): Use \` as default regexp.
 -
 -      * emacs-lisp/rx.el (rx-any): Don't explode ranges that end in special
 -      chars like - or ] (bug#6984).
 -      (rx-any-condense-range): Explode 2-char ranges.
 -
 -2010-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/bibtex.el:
 -      * proced.el: Update to new email for Roland Winkler <winkler@gnu.org>.
 -
 -2010-09-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * desktop.el (desktop-path): Bump :version after 2009-09-15 change.
 -
 -2010-08-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-cmds.el (standard-display-european-internal):
 -      Setup standard-display-table for 8-bit characters by storing 8-bit
 -      characters in the element vector.
 -
 -      * disp-table.el (standard-display-8bit):
 -      Setup standard-display-table for 8-bit characters by storing 8-bit
 -      characters in the element vector.
 -      (standard-display-european): Likewise.
 -
 -2010-08-26  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Sync with Tramp 2.1.19.
 -
 -      * net/tramp-cmds.el (tramp-cleanup-all-connections)
 -      (tramp-reporter-dump-variable, tramp-load-report-modules)
 -      (tramp-append-tramp-buffers): Use `tramp-compat-funcall'.
 -      (tramp-bug): Recommend setting of `tramp-verbose' to 9.
 -
 -      * net/tramp-compat.el (top): Do not autoload
 -      `tramp-handle-file-remote-p'.  Load tramp-util.el and tramp-vc.el
 -      only when `start-file-process' is not bound.
 -      (byte-compile-not-obsolete-vars): Define if not bound.
 -      (tramp-compat-funcall): New defmacro.
 -      (tramp-compat-line-beginning-position)
 -      (tramp-compat-line-end-position)
 -      (tramp-compat-temporary-file-directory)
 -      (tramp-compat-make-temp-file, tramp-compat-file-attributes)
 -      (tramp-compat-copy-file, tramp-compat-copy-directory)
 -      (tramp-compat-delete-file, tramp-compat-delete-directory)
 -      (tramp-compat-number-sequence, tramp-compat-process-running-p):
 -      Use it.
 -      (tramp-advice-file-expand-wildcards): Do not use
 -      `tramp-handle-file-remote-p'.
 -      (tramp-compat-make-temp-file): Simplify fallback implementation.
 -      (tramp-compat-copy-file): Add PRESERVE-SELINUX-CONTEXT.
 -      (tramp-compat-copy-tree): Remove function.
 -      (tramp-compat-delete-file): New defun.
 -      (tramp-compat-delete-directory): Provide implementation for older
 -      Emacsen.
 -      (tramp-compat-file-attributes): Handle only
 -      `wrong-number-of-arguments' error.
 -
 -      * net/tramp-fish.el (tramp-fish-handle-copy-file):
 -      Add PRESERVE_SELINUX_CONTEXT.
 -      (tramp-fish-handle-delete-file): Add TRASH arg.
 -      (tramp-fish-handle-directory-files-and-attributes):
 -      Do not use `tramp-fish-handle-file-attributes.
 -      (tramp-fish-handle-file-local-copy)
 -      (tramp-fish-handle-insert-file-contents)
 -      (tramp-fish-maybe-open-connection): Use `with-progress-reporter'.
 -
 -      * net/tramp-gvfs.el (top): Require url-util.
 -      (tramp-gvfs-mount-point): Remove.
 -      (tramp-gvfs-file-name-handler-alist): Add `file-selinux-context'
 -      and `set-file-selinux-context'.
 -      (tramp-gvfs-stringify-dbus-message, tramp-gvfs-send-command)
 -      (tramp-gvfs-handle-file-selinux-context)
 -      (tramp-gvfs-handle-set-file-selinux-context): New defuns.
 -      (with-tramp-dbus-call-method): Format trace message.
 -      (tramp-gvfs-handle-copy-file): Handle PRESERVE-SELINUX-CONTEXT.
 -      (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file):
 -      Implement backup call, when operation on local files fails.
 -      Use progress reporter.  Flush properties of changed files.
 -      (tramp-gvfs-handle-delete-file): Add TRASH arg.
 -      Use `tramp-compat-delete-file'.
 -      (tramp-gvfs-handle-expand-file-name): Expand "~/".
 -      (tramp-gvfs-handle-make-directory): Make more traces.
 -      (tramp-gvfs-handle-write-region): Protect deleting tmpfile.
 -      (tramp-gvfs-url-file-name): Hexify file name in url.
 -      (tramp-gvfs-fuse-file-name): Take also prefix (like dav shares)
 -      into account for the resulting file name.
 -      (tramp-gvfs-handler-askquestion): Preserve current message, in
 -      order to let progress reporter continue afterwards.  (Bug#6257)
 -      Return dummy mountpoint, when the answer is "no".
 -      See `tramp-gvfs-maybe-open-connection'.
 -      (tramp-gvfs-handler-mounted-unmounted)
 -      (tramp-gvfs-connection-mounted-p): Test also for new mountspec
 -      attribute "default_location".  Set "prefix" property.
 -      Handle default-location.
 -      (tramp-gvfs-mount-spec): Return both prefix and mountspec.
 -      (tramp-gvfs-maybe-open-connection): Test, whether mountpoint
 -      exists.  Raise an error, if not (due to a corresponding answer
 -      "no" in interactive questions, for example).
 -      Use `tramp-compat-funcall'.
 -
 -      * net/tramp-imap.el (top): Autoload `epg-make-context'.
 -      (tramp-imap-handle-copy-file): Add PRESERVE-SELINUX-CONTEXT.
 -      (tramp-imap-do-copy-or-rename-file)
 -      (tramp-imap-handle-insert-file-contents)
 -      (tramp-imap-handle-file-local-copy): Use `with-progress-reporter'.
 -      (tramp-imap-handle-delete-file): Add TRASH arg.
 -
 -      * net/tramp-smb.el (tramp-smb-handle-copy-file):
 -      Add PRESERVE-SELINUX-CONTEXT.
 -      (tramp-smb-handle-copy-file)
 -      (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file)
 -      (tramp-smb-handle-write-region, tramp-smb-maybe-open-connection):
 -      Use `with-progress-reporter'.
 -      (tramp-smb-handle-delete-file): Add TRASH arg.
 -
 -      * net/tramp.el (tramp-methods): Move hostname to the end in all
 -      ssh `tramp-login-args'.  Add `tramp-async-args' attribute where
 -      appropriate.
 -      (tramp-verbose): Describe verbose level 9.
 -      (tramp-completion-function-alist)
 -      (tramp-file-name-regexp, tramp-chunksize)
 -      (tramp-local-coding-commands, tramp-remote-coding-commands)
 -      (with-connection-property, tramp-completion-mode-p)
 -      (tramp-action-process-alive, tramp-action-out-of-band)
 -      (tramp-check-for-regexp, tramp-file-name-p, tramp-equal-remote)
 -      (tramp-exists-file-name-handler): Fix docstring.
 -      (tramp-remote-process-environment): Use `format' instead of
 -      `concat'.  Protect version string by apostroph.
 -      (tramp-shell-prompt-pattern): Do not use a shy group in case of
 -      XEmacs.
 -      (tramp-file-name-regexp-unified)
 -      (tramp-completion-file-name-regexp-unified): On W32 systems, do
 -      not regard the volume letter as remote filename.  (Bug#5447)
 -      (tramp-perl-file-attributes)
 -      (tramp-perl-directory-files-and-attributes): Don't pass "$3".
 -      (tramp-vc-registered-read-file-names): Read input as
 -      here-document, otherwise the command could exceed maximum length
 -      of command line.
 -      (tramp-file-name-handler-alist): Add `file-selinux-context' and
 -      `set-file-selinux-context'.
 -      (tramp-debug-message): Add `tramp-compat-funcall' to ignored
 -      backtrace functions.
 -      (tramp-error-with-buffer): Don't show the connection buffer when
 -      we are in completion mode.
 -      (tramp-progress-reporter-update, tramp-remote-selinux-p)
 -      (tramp-handle-file-selinux-context)
 -      (tramp-handle-set-file-selinux-context, tramp-process-sentinel)
 -      (tramp-connectable-p, tramp-open-shell, tramp-get-remote-trash):
 -      New defuns.
 -      (with-progress-reporter): New defmacro.
 -      (tramp-debug-outline-regexp): New defconst.
 -      (top, tramp-rfn-eshadow-setup-minibuffer)
 -      (tramp-rfn-eshadow-update-overlay, tramp-handle-set-file-times)
 -      (tramp-handle-dired-compress-file, tramp-handle-shell-command)
 -      (tramp-completion-mode-p, tramp-check-for-regexp)
 -      (tramp-open-connection-setup-interactive-shell)
 -      (tramp-compute-multi-hops, tramp-read-passwd, tramp-clear-passwd)
 -      (tramp-time-diff, tramp-coding-system-change-eol-conversion)
 -      (tramp-set-process-query-on-exit-flag, tramp-unload-tramp):
 -      Use `tramp-compat-funcall'.
 -      (tramp-handle-make-symbolic-link): Flush file properties.
 -      (tramp-handle-load, tramp-handle-file-local-copy)
 -      (tramp-handle-insert-file-contents, tramp-handle-write-region)
 -      (tramp-handle-vc-registered, tramp-maybe-send-script)
 -      (tramp-find-shell): Use `with-progress-reporter'.
 -      (tramp-do-file-attributes-with-stat): Add space in format string,
 -      in order to work around a bug in pdksh.  Reported by Gilles Pion
 -      <gpion@lfdj.com>.
 -      (tramp-handle-verify-visited-file-modtime): Do not send a command
 -      when the connection is not established.
 -      (tramp-handle-set-file-times): Simplify the check for utc.
 -      (tramp-handle-directory-files-and-attributes)
 -      (tramp-get-remote-path): Use `copy-tree'.
 -      (tramp-completion-handle-file-name-all-completions): Ensure, that
 -      non remote files are still checked.  Oops.
 -      (tramp-handle-copy-file, tramp-do-copy-or-rename-file):
 -      Handle PRESERVE-SELINUX-CONTEXT.
 -      (tramp-do-copy-or-rename-file): Add progress reporter.
 -      (tramp-do-copy-or-rename-file-directly): Do not use
 -      `tramp-handle-file-remote-p'.
 -      (tramp-do-copy-or-rename-file-out-of-band):
 -      Use `tramp-compat-delete-directory'.
 -      (tramp-do-copy-or-rename-file-out-of-band)
 -      (tramp-compute-multi-hops, tramp-maybe-open-connection):
 -      Use `format-spec-make'.
 -      (tramp-handle-delete-file): Add TRASH arg.
 -      (tramp-handle-dired-uncache): Flush directory cache, not only file
 -      cache.
 -      (tramp-handle-expand-file-name)
 -      (tramp-completion-handle-file-name-all-completions)
 -      (tramp-completion-handle-file-name-completion):
 -      Use `tramp-connectable-p'.
 -      (tramp-handle-start-file-process): Set connection property "vec".
 -      Use it, in order to invalidate file caches.  Check only for
 -      `remote-tty' process property.
 -      Implement tty setting.  (Bug#4604, Bug#6360)
 -      (tramp-file-name-for-operation): Add `call-process-region' and
 -      `set-file-selinux-context'.
 -      (tramp-find-foreign-file-name-handler)
 -      (tramp-advice-make-auto-save-file-name)
 -      (tramp-set-auto-save-file-modes): Remove superfluous check for
 -      `stringp'.  This is done inside `tramp-tramp-file-p'.
 -      (tramp-file-name-handler): Trace 'quit.  Catch the error for some
 -      operations when we are in completion mode.  This gives the user
 -      the chance to correct the file name in the minibuffer.
 -      (tramp-completion-mode-p): Use `non-essential'.
 -      (tramp-handle-file-name-all-completions): Backward/ XEmacs
 -      compatibility: Use `completion-ignore-case' if
 -      `read-file-name-completion-ignore-case' does not exist.
 -      (tramp-get-debug-buffer): Use `tramp-debug-outline-regexp'.
 -      (tramp-find-shell, tramp-open-connection-setup-interactive-shell):
 -      `tramp-open-shell'.
 -      (tramp-action-password): Hide password prompt before next run.
 -      (tramp-process-actions): Widen connection buffer for the trace.
 -      (tramp-open-connection-setup-interactive-shell): Set `remote-tty'
 -      process property.  Trace stty settings if `tramp-verbose' >= 9.
 -      Apply workaround for IRIX64 bug.  Move argument of last
 -      `tramp-send-command' where it belongs to.
 -      (tramp-maybe-open-connection): Use `async-args' and `gw-args' in
 -      front of `login-args'.
 -      (tramp-get-ls-command, tramp-get-ls-command-with-dired): Run tests
 -      on "/dev/null" instead of "/".
 -      (tramp-get-ls-command-with-dired): Make test for "--dired"
 -      stronger.
 -      (tramp-set-auto-save-file-modes): Adapt version check.
 -      (tramp-set-process-query-on-exit-flag): Fix wrong parentheses.
 -      (tramp-handle-process-file): Call the program in a subshell, in
 -      order to preserve working directory.
 -      (tramp-handle-shell-command): Don't use hard-wired "/bin/sh" but
 -      `tramp-remote-sh' from `tramp-methods'.
 -      (tramp-get-ls-command): Make test for "--color=never" stronger.
 -      (tramp-check-for-regexp): Use (forward-line 1).
 -
 -      * net/trampver.el: Update release number.
 -
 -2010-08-26  Magnus Henoch  <magnus.henoch@gmail.com>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Do not pass
 -      empty argument to gvfs-copy.
 -
 -2010-08-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * net/tramp-compat.el (tramp-compat-delete-file): Rewrite to
 -      handle new TRASH arg of `delete-file'.
 -
 -2010-08-26  Christian Lynbech  <christian.lynbech@tieto.com>  (tiny change)
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Don't use
 -      `forward-word', its default syntax could be changed.
 -
 -2010-08-26  Toru TSUNEYOSHI  <t_tuneyosi@hotmail.com>
 -            Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Implement compression for inline methods.
 -
 -      * net/tramp.el (tramp-inline-compress-start-size): New defcustom.
 -      (tramp-copy-size-limit): Allow also nil.
 -      (tramp-inline-compress-commands): New defconst.
 -      (tramp-find-inline-compress, tramp-get-inline-compress)
 -      (tramp-get-inline-coding): New defuns.
 -      (tramp-get-remote-coding, tramp-get-local-coding): Remove,
 -      replaced by `tramp-get-inline-coding'.
 -      (tramp-handle-file-local-copy, tramp-handle-write-region)
 -      (tramp-method-out-of-band-p): Use `tramp-get-inline-coding'.
 -
 -2010-08-26  Noah Lavine  <noah549@gmail.com>  (tiny change)
 -
 -      Detect ssh 'ControlMaster' argument automatically in some cases.
 -
 -      * net/tramp.el (tramp-detect-ssh-controlmaster): New defun.
 -      (tramp-default-method): Use it.
 -
 -2010-08-26  Karel Klíč  <kklic@redhat.com>
 -
 -      * net/tramp.el (tramp-file-name-for-operation):
 -      Add file-selinux-context.
 -
 -2010-08-26  Łukasz Stelmach  <lukasz.stelmach@iem.pw.edu.pl>  (tiny change)
 -
 -      * play/cookie1.el (read-cookie): Fix off-by-one error (bug#6921).
 -
 -2010-08-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (beginning-of-buffer, end-of-buffer): Doc fix
 -      (Bug#6907).
 -
 -2010-08-23  Chris Foote <chris@foote.com.au>  (tiny change)
 -
 -      * progmodes/python.el (python-block-pairs): Allow use of "finally"
 -      with "else" (Bug#3991).
 -
 -2010-08-22  Leo  <sdl.web@gmail.com>
 -
 -      * net/rcirc.el (rcirc-add-or-remove): Accept a list of elements.
 -      (ignore, bright, dim, keyword): Split list of nicknames before
 -      passing to rcirc-add-or-remove (Bug#6894).
 -
 -2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix (Bug#6880).
 -
 -2010-08-21  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * whitespace.el: Fix slow cursor movement (Bug#6172).  Reported by
 -      Christoph Groth <cwg@falma.de> and Liu Xin <x_liu@neusoft.com>.
 -      New version 13.0.
 -      (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp):
 -      Adjust initialization.
 -      (whitespace-bob-marker, whitespace-eob-marker)
 -      (whitespace-buffer-changed): New vars.
 -      (whitespace-cleanup, whitespace-color-on, whitespace-color-off)
 -      (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp)
 -      (whitespace-post-command-hook, whitespace-display-char-on):
 -      Adjust code.
 -      (whitespace-looking-back, whitespace-buffer-changed): New funs.
 -      (whitespace-space-regexp, whitespace-tab-regexp): Eliminate funs.
 -
 -2010-08-21  Leo  <sdl.web@gmail.com>
 -
 -      Fix buffer-list rename&refresh after killing a buffer in ido.
 -      * ido.el: Revert Óscar's.
 -      (ido-kill-buffer-at-head): Exit the minibuffer with ido-exit=refresh.
 -      Remember the buffers at head, rather than their name.
 -      * iswitchb.el (iswitchb-kill-buffer): Re-make the list.
 -
 -2010-08-21  Kirk Kelsey  <kirk.kelsey@0x4b.net>  (tiny change)
 -            Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/make-mode.el (makefile-fill-paragraph): Account for the
 -      extra backslash added to each line (bug#6890).
 -
 -2010-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-key): Don't echo keystrokes (bug#6883).
 -
 -2010-08-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * menu-bar.el (menu-bar-games-menu): Add landmark.
 -
 -2010-08-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * align.el (align-regexp): Make group and spacing arguments
 -      use the interactive defaults when non-interactive.  (Bug#6698)
 -
 -      * mail/rmail.el (rmail-forward): Replace mail-text-start with its
 -      expansion, so as not to need sendmail.
 -      (mail-text-start): Remove declaration.
 -      (rmail-retry-failure): Require sendmail.
 -
 -2010-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-key): Don't hide the menu-bar entries (bug#6881).
 -
 -2010-08-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * progmodes/flymake.el (flymake-start-syntax-check-process):
 -      Use `start-file-process' in order to let it run also on remote hosts.
 -
 -2010-08-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * files.el: Add `word-wrap' as safe local variable.
 -
 -2010-08-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * woman.el (woman-translate): Case matters.  (Bug#6849)
 -
 -2010-08-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (kill-region): Doc fix (Bug#6787).
 -
 -2010-08-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-header-line-format):
 -      Fit it to the window, not the frame.
 -
 -2010-08-11  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * subr.el (ignore-errors): Add debug declaration.
 -
 -2010-08-09  Geoff Gole  <geoffgole@gmail.com>  (tiny change)
 -
 -      * whitespace.el (whitespace-color-off): Remove post-command-hook
 -      locally.
 -
 -2010-08-08  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * replace.el (replace-highlight): Bind isearch-forward and
 -      isearch-error, ensuring that highlighting is updated if the user
 -      switches the search direction (Bug#6808).
 -
 -      * isearch.el (isearch-lazy-highlight-forward): New var.
 -      (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
 -      (isearch-lazy-highlight-update): Use it.
 -
 -2010-08-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule.el (define-charset): Store NAME as :base property.
 -      (ctext-non-standard-encodings-table): Pay attention to charset aliases.
 -      (ctext-pre-write-conversion): Sort ctext-standard-encodings by the
 -      current priority.  Force using the designation of the specific
 -      charset by adding `charset' text property.  Improve the whole
 -      algorithm.
 -
 -2010-08-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emulation/pc-select.el (pc-selection-mode-hook)
 -      (copy-region-as-kill-nomark, beginning-of-buffer-mark)
 -      (pc-selection-mode): Fix typos in docstrings.
 -
 -2010-08-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/cyrillic.el: Don't add "microsoft-cp1251" to
 -      ctext-non-standard-encodings-alist here.
 -
 -      * international/mule.el (ctext-non-standard-encodings-alist):
 -      Add "koi8-r" and "microsoft-cp1251".
 -      (ctext-standard-encodings): New variable.
 -      (ctext-non-standard-encodings-table): List only elements for
 -      non-standard encodings.
 -      (ctext-pre-write-conversion): Adjust for the above change.
 -      Check ctext-standard-encodings.
 -
 -      * international/mule-conf.el (compound-text): Doc fix.
 -      (ctext-no-compositions): Doc fix.
 -      (compound-text-with-extensions): Doc fix.
 -
 -2010-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (exchange-dot-and-mark): Mark obsolete, finally.
 -
 -2010-08-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * progmodes/which-func.el (which-func-format): Split help-echo text
 -      into lines, like other mode-line tooltips.
 -
 -      * server.el (server-start): When using TCP sockets, force IPv4
 -      and use a literal 127.0.0.1 for localhost.  (Related to bug#6781.)
 -
 -2010-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bindings.el (complete-symbol): Run completion-at-point as a fallback.
 -
 -2010-08-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * term.el (term-delimiter-argument-list): Reflow docstring.
 -      (term-read-input-ring, term-write-input-ring, term-send-input)
 -      (term-bol, term-erase-in-display, serial-supported-or-barf):
 -      Fix typos in docstrings.
 -
 -2010-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bindings.el (function-key-map): Add a S-tab => backtab fallback.
 -
 -2010-08-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dabbrev.el (dabbrev-completion): Fix typo in docstring.
 -
 -2010-08-01  MON KEY  <monkey@sandpframing.com>  (tiny change)
 -
 -      * emacs-lisp/syntax.el (syntax-ppss-toplevel-pos):
 -      Fix typo in docstring (bug#6747).
 -
 -2010-07-30  Leo  <sdl.web@gmail.com>
 -
 -      * eshell/esh-io.el (eshell-get-target): Better detection of
 -      read-only file (Bug#6762).
 -
 -2010-07-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * align.el (align-default-spacing): Doc fix.
 -      (align-region-heuristic, align-regexp): Fix typos in docstrings.
 -
 -2010-07-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * help-fns.el (find-lisp-object-file-name): Doc fix (bug#6494).
 -
 -2010-07-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * time.el (display-time-day-and-date): Remove spurious * in docstring.
 -      (display-time-world-buffer-name, display-time-world-mode-map):
 -      Fix typos in docstrings.
 -
 -2010-07-17  Shyam Karanatt  <shyam@swathanthran.in>  (tiny change)
 -
 -      * image-mode.el (image-display-size): New function.
 -      (image-forward-hscroll, image-next-line, image-eol, image-eob)
 -      (image-mode-fit-frame): Use it (Bug#6639).
 -
 -2010-07-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired.el (dired-buffers-for-dir): Handle list values of
 -      dired-directory (Bug#6636).
 -
 -2010-07-16  Reiner Steib  <Reiner.Steib@gmx.de>
 -
 -      * vc.el (vc-coding-system-inherit-eol): New defvar.
 -      (vc-coding-system-for-diff): Use it to decide whether to inherit
 -      from the file the EOL format for reading the diffs of that file.
 -      (Bug#4451)
 -
 -2010-07-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * mail/rmailmm.el (rmail-mime-save): Make the temp buffer
 -      unibyte, so compressed attachments are not compressed again.
 -
 -2010-07-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xt-mouse.el (xterm-mouse-event-read): Fix for characters > 127
 -      now that unicode is used (Bug#6594).
 -
 -2010-07-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (push-mark-command): Set the selection if
 -      select-active-regions is non-nil.
 -
 -2010-07-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/calendar.el (calendar-week-end-day): New function.
 -      * calendar/cal-tex.el (cal-tex-cursor-month): Remove unused vars.
 -      Respect calendar-week-start-day.  (Bug#6606)
 -      (cal-tex-insert-day-names, cal-tex-insert-blank-days)
 -      (cal-tex-insert-blank-days-at-end): Respect calendar-week-start-day.
 -      (cal-tex-first-blank-p, cal-tex-last-blank-p): Simplify, and
 -      respect calendar-week-start-day.
 -
 -2010-07-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (use-region-p): Doc fix (Bug#6607).
 -
 -2010-07-07  Christoph Scholtes  <cschol2112@gmail.com>
 -
 -      * progmodes/python.el (python-font-lock-keywords): Add Python 2.7
 -      builtins (BufferError, BytesWarning, WindowsError; callables
 -      bin, bytearray, bytes, format, memoryview, next, print; __package__).
 -
 -2010-07-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * play/zone.el (zone-fall-through-ws): Fix next-line ->
 -      forward-line fallout.
 -
 -2010-07-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mouse.el (mouse-appearance-menu): Add docstring.
 -
 -      * help.el (describe-key): Print up-event using key-description.
 -
 -2010-07-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/zeroconf.el (zeroconf-resolve-service)
 -      (zeroconf-service-resolver-handler): Use `dbus-byte-array-to-string'.
 -      (zeroconf-publish-service): Use `dbus-string-to-byte-array'.
 -
 -2010-07-03  Jan Moringen  <jan.moringen@uni-bielefeld.de>
 -
 -      * net/zeroconf.el (zeroconf-service-remove-hook): New defun.
 -
 -2010-06-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Avoid displaying files with a nil state in vc-dir.
 -      * vc-dir.el (vc-dir-update): Obey the noinsert argument in all
 -      cases that cause insertion.
 -      (vc-dir-resynch-file): Tell vc-dir-update to avoid inserting files
 -      with a nil state.
 -
 -2010-06-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xml.el (xml-parse-region): Avoid infloop (Bug#5281).
 -
 -2010-06-29  Leo  <sdl.web@gmail.com>
 -
 -      * emacs-lisp/rx.el (rx): Doc fix.  (Bug#6537)
 -
 -2010-06-27  Oleksandr Gavenko  <gavenkoa@gmail.com>  (tiny change)
 -
 -      * generic-x.el (bat-generic-mode): Fix regexp for command line
 -      switches (Bug#5719).
 -
 -2010-06-27  Masatake YAMATO  <yamato@redhat.com>
 -
 -      * htmlfontify.el (hfy-face-attr-for-class): Use append instead
 -      of nconc to avoid pure storage error (Bug#6239).
 -
 -2010-06-27  Christoph  <cschol2112@googlemail.com>  (tiny change)
 -
 -      * bookmark.el (bookmark-bmenu-2-window, bookmark-bmenu-other-window)
 -      (bookmark-bmenu-other-window-with-mouse): Remove unnecessary
 -      bindings of bookmark-automatically-show-annotations (Bug#6515).
 -
 -2010-06-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * arc-mode.el (archive-zip-extract): Don't quote the file name on
 -      MS-Windows and MS-DOS.  (Bug#6467, Bug#6144)
 -
 -2010-06-24  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
 -
 -      * comint.el (make-comint, make-comint-in-buffer): Mention return
 -      value in the docstrings.  (Bug#6498)
 -
 -2010-06-24  Yoni Rabkin  <yoni@rabkins.net>
 -
 -      * bs.el (bs-mode-font-lock-keywords): Remove "by" from Dired pattern,
 -      since it is not present when using some non-default switches.
 -
 -2010-06-23  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * simple.el (compose-mail): Fix doc string to refer to
 -      `compose-mail-user-agent-warnings', instead of to the
 -      nonexistent `compose-mail-check-user-agent'.
 -
 -2010-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix vc-annotate for renamed files when using Git.
 -      * vc-git.el (vc-git-find-revision): Deal with empty results from
 -      ls-files.  Doe not pass the object as a file name to cat-file, it
 -      is not a file name.
 -      (vc-git-annotate-command): Pass the file name using -- to avoid
 -      ambiguity with the revision.
 -      (vc-git-previous-revision): Pass a relative file name.
 -
 -2010-06-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/js.el (js-mode-map): Use standard capitalization and
 -      ellipses for menu entries.
 -
 -      * wid-edit.el (widget-complete): Doc fix.
 -
 -2010-06-22  Jürgen Hötzel  <juergen@hoetzel.info>  (tiny change)
 -
 -      * wid-edit.el (widget-complete): Fix typo in 2009-12-02 change.
 -
 -2010-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix annotating other revisions for renamed files in vc-annotate.
 -      * vc-annotate.el (vc-annotate): Add an optional argument for the
 -      VC backend.  Use it when non-nil.
 -      (vc-annotate-warp-revision): Pass the VC backend to vc-annotate
 -      (Bug#6487).
 -
 -      Fix vc-annotate-show-changeset-diff-revision-at-line for git.
 -      * vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal):
 -      Do not pass the file name to the 'previous-revision call when we
 -      don't want a file diff.  (Bug#6489)
 -
 -2010-06-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix finding revisions for renamed files in vc-annotate.
 -      * vc.el (vc-find-revision): Add an optional argument for
 -      the VC backend.  Use it when non-nil.
 -      * vc-annotate.el (vc-annotate-find-revision-at-line): Pass the VC
 -      backend to vc-find-revision.  (Bug#6487)
 -
 -2010-06-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix reading file names in Git annotate buffers.
 -      * vc-git.el (vc-git-annotate-extract-revision-at-line):
 -      Remove trailing whitespace.  Suggested by Eric Hanchrow.  (Bug#6481)
 -
 -2010-06-20  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-mode.el (c-before-hack-hook): When the mode is set
 -      in file local variables, set it first.
 -
 -2010-06-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * descr-text.el (describe-char-unicode-data): Insert separating
 -      space when needed.  (Bug#6422)
 -
 -      * progmodes/idlwave.el (idlwave-action-and-binding):
 -      Fix typo in 2009-12-03 change.  (Bug#6450)
 -
 -2010-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-quoted-char): Fix up last change (bug#6290).
 -
 -2010-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font-lock.el (font-lock-major-mode): Rename from
 -      font-lock-mode-major-mode to distinguish it from
 -      global-font-lock-mode's own font-lock-mode-major-mode (bug#6135).
 -      (font-lock-set-defaults):
 -      * font-core.el (font-lock-default-function): Adjust users.
 -      (font-lock-mode): Don't set it at all.
 -
 -2010-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-annotate.el (vc-annotate): Use vc-read-revision.
 -
 -2010-06-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/appt.el (appt-time-msg-list): Doc fix.
 -      (appt-check): Let-bind appt-warn-time.
 -      (appt-add): Make the 3rd argument optional.
 -      Simplify argument names.  Doc fix.  Check for integer WARNTIME.
 -      Only add WARNTIME to the output list if non-nil.
 -
 -2010-06-15  Ivan Kanis  <apple@kanis.eu>
 -
 -      * calendar/appt.el (appt-check): Let the 3rd element of
 -      appt-time-msg-list specify the warning time.
 -      (appt-add): Add new argument with the warning time.  (Bug#5176)
 -
 -2010-06-12  Bob Rogers  <rogers-emacs@rgrjr.dyndns.org>  (tiny change)
 -
 -      * vc-svn.el (vc-svn-after-dir-status): Fix regexp for Subversions
 -      older than version 1.6.  (Bug#6361)
 -
 -2010-06-12  Helmut Eller  <eller.helmut@gmail.com>
 -
 -      * emacs-lisp/cl-macs.el (destructuring-bind): Bind `bind-enquote',
 -      used by cl-do-arglist.  (Bug#6408)
 -
 -2010-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/advice.el (ad-compile-function):
 -      Define warning-suppress-types before we let-bind it (bug#6275).
 -
 -      * vc-dispatcher.el: Rename mode-line-hook to vc-mode-line-hook;
 -      declare it, make it buffer-local and permanent-local (bug#6324).
 -      (vc-resynch-window): Adjust name.
 -      * vc-hooks.el (vc-find-file-hook): Adjust name.
 -
 -2010-06-07  Jonathan Rockway  <jon@jrock.us>
 -
 -      * net/rcirc.el: Add support for password authentication.
 -      (rcirc-server-alist): Add :password keyword.
 -      (rcirc): Ask for a password, or get it from the server's alist.
 -      (rcirc-connect): Add password argument.  Pass it to server.
 -
 -2010-06-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * net/dbus.el (dbus-register-method): Declare function.
 -      (dbus-handle-event, dbus-property-handler): Fix typos in docstrings.
 -      (dbus-introspect): Doc fix.
 -      (dbus-event-bus-name, dbus-introspect-get-interface)
 -      (dbus-introspect-get-argument): Reflow docstrings.
 -
 -2010-06-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term/common-win.el (x-colors): Add "dark green" and "dark
 -      turquoise" (Bug#6332).
 -
 -2010-06-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * desktop.el (desktop-clear-preserve-buffers):
 -      Add "*Warnings*" buffer.  (Bug#6336)
 -
 -2010-06-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dir.el (vc-dir-update): Remove entries with a nil state (bug#5539).
 -
 -2010-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-bzr.el (vc-bzr-revision-completion-table): Apply
 -      `file-directory-p' to the filename part rather than to the whole text.
 -
 -2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * man.el (Man-completion-table): Let the user type "-k " (bug#6319).
 -
 -2010-05-31  Drew Adams  <drew.adams@oracle.com>
 -
 -      * files.el (directory-files-no-dot-files-regexp): Doc fix (bug#6298).
 -
 -2010-05-31  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * subr.el (momentary-string-display): Just use read-event to read
 -      the exit event (Bug#6238).
 -
 -2010-05-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * ansi-color.el: Delete unused escape sequences (Bug#6085).
 -      (ansi-color-drop-regexp): New constant.
 -      (ansi-color-apply, ansi-color-filter-region)
 -      (ansi-color-apply-on-region): Delete unrecognized control sequences.
 -      (ansi-color-apply): Build string list before calling concat.
 -
 -2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/verilog-mode.el (verilog-type-font-keywords):
 -      Use font-lock-constant-face, not obsolete font-lock-reference-face.
 -
 -2010-05-27  Masatake YAMATO  <yamato@redhat.com>
 -
 -      * htmlfontify.el (hfy-face-resolve-face): New function.
 -      (hfy-face-to-style): Use it (Bug#6279).
 -
 -2010-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * epa.el (epa--select-keys): Don't explicitly delete the window since
 -      that can fail (e.g. sole window in frame).  Use dedication instead.
 -
 -2010-05-19  Uday S Reddy  <u.s.reddy@cs.bham.ac.uk>  (tiny change)
 -
 -      * textmodes/fill.el (fill-region): Don't fill past the end (bug#6201).
 -
 -2010-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-quoted-char): Resolve modifiers after key
 -      remapping (bug#6212).
 -
 -2010-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * tmm.el (tmm-prompt): Don't try to precompute bindings.
 -      (tmm-get-keymap): Compute shortcuts (bug#6171).
 -
 -2010-05-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * desktop.el (desktop-save-buffer-p): Don't mistakenly include
 -      all dired buffers, even tramp ones.  (Bug#5755)  [Backport from trunk]
 -
 -2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.2 released.
 -
 -2010-05-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * international/mule.el (auto-coding-alist): Only purecopy
 -      car of each item, not the whole list (Bug#6083).
 -
 -2010-05-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el (js-mode): Make paragraph variables local before
 -      calling c-setup-paragraph-variables (Bug#6071).
 -
 -2010-05-01  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * composite.el (compose-region, reference-point-alist): Fix typos
 -      in the doc strings.
 -
 -2010-04-28  Alexander Klimov  <alserkli@inbox.ru>  (tiny change)
 -
 -      * calc/calc-graph.el (calc-graph-plot): Use the proper form for
 -      gnuplot's "set" command.
 -
 -2010-04-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * abbrev.el (last-abbrev-text): Doc fix.
 -      (abbrev-prefix-mark): Don't escape parenthesis.
 -
 -2010-04-24  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * composite.el (find-composition): Doc fix.
 -
 -2010-04-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * progmodes/sql.el (sql-electric-stuff): Fix typo in tag.
 -      (sql-oracle-program, sql-sqlite-options)
 -      (sql-query-placeholders-and-send): Doc fixes.
 -      (sql-set-product, sql-interactive-mode): Reflow docstrings.
 -      (sql-imenu-generic-expression, sql-buffer)
 -      (sql-mode-ansi-font-lock-keywords, sql-mode-oracle-font-lock-keywords)
 -      (sql-mode-postgres-font-lock-keywords, sql-mode-ms-font-lock-keywords)
 -      (sql-mode-sybase-font-lock-keywords)
 -      (sql-mode-informix-font-lock-keywords)
 -      (sql-mode-interbase-font-lock-keywords)
 -      (sql-mode-ingres-font-lock-keywords, sql-mode-solid-font-lock-keywords)
 -      (sql-mode-mysql-font-lock-keywords, sql-mode-sqlite-font-lock-keywords)
 -      (sql-mode-db2-font-lock-keywords, sql-mode-font-lock-keywords)
 -      (sql-product-feature, sql-highlight-product)
 -      (comint-line-beginning-position, sql-rename-buffer)
 -      (sql-toggle-pop-to-buffer-after-send-region)
 -      (sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql, sql-solid)
 -      (sql-ingres, sql-ms, sql-postgres, sql-interbase, sql-db2, sql-linter):
 -      Fix typos in docstrings.
 -
 -2010-04-23  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el (Info-fontify-node): Put Info-breadcrumbs to the `display'
 -      property instead of `invisible' and `after-string' (bug#5998).
 -
 -2010-04-23  Juri Linkov  <juri@jurta.org>
 -
 -      * image-mode.el (image-mode-as-text): Fix typo in docstring.
 -
 -2010-04-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * filecache.el (file-cache-add-directory-list)
 -      (file-cache-add-directory-recursively): Fix typos in docstrings.
 -
 -2010-04-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (gurmukhi-composable-pattern): Fix typo.
 -      (gujarati-composable-pattern): Fix typo.
 -
 -2010-04-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (oriya-composable-pattern)
 -      (tamil-composable-pattern, malayalam-composable-pattern):
 -      Add two-part vowels to "v" (vowel sign).
 -
 -2010-04-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (copy-directory): Handle symlinks (Bug#5982).
 -
 -      * progmodes/compile.el (compilation-next-error-function):
 -      Revert 2009-10-12 change (Bug#5983).
 -
 -2010-04-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hg.el (vc-hg-state): Use HGRCPATH, not HGRC.
 -      (vc-hg-working-revision): Likewise.  Use hg parents, not hg parent
 -      (Bug#5846).
 -
 -2010-04-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/lisp.el (lisp-completion-at-point): Give it a doc string.
 -
 -      * minibuffer.el (completion-at-point): Doc fix.
 -
 -2010-04-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix the version number for added files.
 -      * vc-hg.el (vc-hg-working-revision): Check if the file is
 -      registered after hg parent fails (Bug#5961).
 -
 -2010-04-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * htmlfontify.el (htmlfontify-buffer)
 -      (htmlfontify-copy-and-link-dir): Autoload entry points.
 -
 -2010-04-17  Magnus Henoch  <magnus.henoch@gmail.com>
 -
 -      * vc-hg.el (vc-hg-annotate-extract-revision-at-line): Expand file
 -      name relative to the project root (Bug#5960).
 -
 -2010-04-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-git.el (vc-git-print-log): Doc fix.
 -
 -2010-04-14  Óscar Fuentes  <ofv@wanadoo.es>
 -
 -      * ido.el (ido-file-internal): Fix 2009-12-02 change.
 -
 -2010-04-14  Christoph  <cschol2112@googlemail.com>  (tiny change)
 -
 -      * progmodes/grep.el (grep-compute-defaults): Fix handling of host
 -      default settings (Bug#5928).
 -
 -2010-04-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/fortran.el (fortran-match-and-skip-declaration):
 -      New function.
 -      (fortran-font-lock-keywords-3): Use it.  (Bug#1385)
 -
 -2010-04-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (malayalam-composable-pattern): Fix previous
 -      change (add U+0D4D "SIGN VIRAMA").
 -      (oriya-composable-pattern): Add U+0B30 and fix typo in the regexp.
 -      (tamil-composable-pattern): Fix typo in the regexp.
 -      (telugu-composable-pattern): Fix U+0C4D and typo in the regexp.
 -      (kannada-composable-pattern): Fix U+0CB0 and typo in the regexp.
 -      (malayalam-composable-pattern): Fix U+0D4D and typo in the regexp.
 -
 -2010-04-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * textmodes/tex-mode.el (latex-mode): Revert 2008-03-03 change to
 -      paragraph-separate (Bug#5821).
 -
 -2010-04-05  Juri Linkov  <juri@jurta.org>
 -
 -      Put breadcrumbs on overlay instead of inserting to buffer (bug#5809).
 -
 -      * info.el (Info-find-node-2): Comment out code that skips
 -      breadcrumbs line.
 -      (Info-mouse-follow-link): New command.
 -      (Info-link-keymap): New keymap.
 -      (Info-breadcrumbs): Rename from `Info-insert-breadcrumbs'.
 -      Return a string with links instead of inserting breadcrumbs
 -      to the Info buffer.
 -      (Info-fontify-node): Comment out code that inserts breadcrumbs.
 -      Instead of putting the `invisible' text property over the Info
 -      header, make an overlay over the Info header with the `invisible'
 -      property and `after-string' set to the string returned by
 -      `Info-breadcrumbs'.
 -
 -2010-04-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * help.el (help-window-setup-finish): Doc fix (Bug#5830).
 -      Reported by monkey@sandpframing.com.
 -
 -2010-03-30  Tomas Abrahamsson  <tab@lysator.liu.se>
 -
 -      * textmodes/artist.el (artist-mode): Fix typo in docstring.
 -      Reported by Alex Schröder <kensanata@gmail.com>.  (Bug#5807)
 -
 -2010-03-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/sinhala.el (composition-function-table): Fix regexp for
 -      the new Unicode specification.
 -
 -      * language/indian.el (devanagari-composable-pattern)
 -      (tamil-composable-pattern, kannada-composable-pattern)
 -      (malayalam-composable-pattern): Adjust for the new Unicode
 -      specification.
 -      (bengali-composable-pattern, gurmukhi-composable-pattern)
 -      (gujarati-composable-pattern, oriya-composable-pattern)
 -      (telugu-composable-pattern): New variables to cope with the new
 -      Unicode specification.  Use them in composition-function-table.
 -
 -2010-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make tmm-menubar work for the Buffers menu again (bug#5726).
 -      * tmm.el (tmm-prompt): Also handle keymap entries in the form of
 -      vectors rather than cons cells, as used in menu-bar-update-buffers.
 -
 -2010-03-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el (js-auto-indent-flag, js-mode-map)
 -      (js-insert-and-indent): Revert 2009-08-15 change, restoring
 -      electric punctuation for "{}();,:" (Bug#5586).
 -
 -      * mail/sendmail.el (mail-default-directory): Doc fix.
 -
 -2010-03-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/sendmail.el (mail-default-directory): Doc fix.
 -
 -2010-03-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * subr.el (version-regexp-alist, version-to-list)
 -      (version-list-<, version-list-=, version-list-<=)
 -      (version-list-not-zero, version<, version<=, version=): Doc fix.
 -      (Bug#5744).
 -
 -2010-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -            Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-ui.el (gdb-apple-test): New function.
 -      (gdb-init-1): Use it.
 -
 -2010-02-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-root-diff): Doc fix.
 -
 -2010-03-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * vc.el (vc-print-log, vc-print-root-log): Doc fix.
 -
 -      * simple.el (append-to-buffer): Fix last change.
 -
 -2010-03-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (append-to-buffer): Ensure that point is preserved if
 -      BUFFER is the current buffer.  Suggested by YAMAMOTO Mitsuharu.
 -      (Bug#5749)
 -
 -2010-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/make-mode.el (makefile-rule-action-regex): Backtrack less.
 -      (makefile-make-font-lock-keywords): Adjust rule since submatch 1 may
 -      not be present any more.
 -
 -2010-03-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * faces.el (set-face-attribute): Fix typo in docstring.
 -      (face-valid-attribute-values): Reflow docstring.
 -
 -2010-03-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * textmodes/flyspell.el (sgml-lexical-context): Autoload it (Bug#5752).
 -
 -2010-03-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.el (indent-for-tab-command): Doc fix.
 -
 -2010-03-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image-dired.el (image-dired-display-thumbs): Fix typo in docstring.
 -      (image-dired-read-comment): Doc fix.
 -
 -      * json.el (json-object-type, json-array-type, json-key-type)
 -      (json-false, json-null, json-read-number):
 -      * minibuffer.el (completion-in-region-functions):
 -      * calendar/cal-tex.el (cal-tex-daily-end, cal-tex-number-weeks)
 -      (cal-tex-cursor-week):
 -      * emacs-lisp/trace.el (trace-function):
 -      * eshell/em-basic.el (eshell/printnl):
 -      * eshell/em-dirs.el (eshell-last-dir-ring, eshell-parse-drive-letter)
 -      (eshell-read-last-dir-ring, eshell-write-last-dir-ring):
 -      * obsolete/levents.el (allocate-event, event-key, event-object)
 -      (event-point, event-process, event-timestamp, event-to-character)
 -      (event-window, event-x, event-x-pixel, event-y, event-y-pixel):
 -      * textmodes/reftex-vars.el (reftex-index-macros-builtin)
 -      (reftex-section-levels, reftex-auto-recenter-toc, reftex-toc-mode-hook)
 -      (reftex-cite-punctuation, reftex-search-unrecursed-path-first)
 -      (reftex-highlight-selection): Fix typos in docstrings.
 -
 -2010-03-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuffer.el (completion-in-region-functions): Fix docstring typos.
 -
 -2010-03-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmail.el (rmail-highlight-face): Restore option deleted
 -      2008-02-13 without comment; mark it obsolete.
 -      (rmail-highlight-headers): Use rmail-highlight-face once more.
 -
 -2010-03-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * woman.el (woman2-process-escapes): Only consume the newline if
 -      the filler character is on a line by itself (Bug#5729).
 -
 -2010-03-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (devanagari-composable-pattern): Add more
 -      consonants.
 -
 -2010-03-14  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/trampver.el: Update release number.
 -
 -2010-03-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Add cedet/semantic/imenu.el.
 -
 -2010-03-13  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-find-executable):
 -      Use `tramp-get-connection-buffer'.  Make the regexp for checking
 -      output of "wc -l" more robust.
 -      (tramp-find-shell): Use another shell but /bin/sh on OpenSolaris.
 -      (tramp-open-connection-setup-interactive-shell): Remove workaround
 -      for OpenSolaris bug, it is not needed anymore.
 -
 -2010-03-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/cl-macs.el (defsubst*): Add autoload cookie.  (Bug#4427)
 -
 -2010-03-11  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * files.el (auto-mode-alist): Accept more verilog file patterns.
 -
 -2010-03-09  Miles Bader  <miles@gnu.org>
 -
 -      * vc-git.el (vc-git-print-log): Use "tformat:" for shortlog,
 -      instead of "format:"; this ensures that the output is
 -      newline-terminated.
 -
 -2010-03-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/rfc822.el (rfc822-addresses): Use nested catches to ensure
 -      that all errors are caught, and that the return value is always a
 -      list (Bug#5692).
 -
 -2010-03-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/misc-lang.el (windows-1256): New coding system.
 -      (cp1256): New alias of windows-1256 (bug#5690).
 -
 -2010-03-07  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * mail/rfc822.el (rfc822-addresses): Move catch clause down around
 -      call to rfc822-bad-address.  (Bug#5692)
 -
 -2010-03-07  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
 -
 -      * vc-git.el (vc-git-annotate-extract-revision-at-line):
 -      Use vc-git-root as default directory for revision path (Bug#5657).
 -
 -2010-03-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * calculator.el (calculator): Don't bind split-window-keep-point
 -      (Bug#5674).
 -
 -2010-03-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-git.el: Re-flow to fit into 80 columns.
 -      (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage):
 -      Remove spurious `quote' element in each case alternative.
 -      (vc-git-show-log-entry): Use prog1.
 -      (vc-git-after-dir-status-stage): Remove unused var `remaining'.
 -
 -2010-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * man.el (Man-files-regexp): Tighten up the regexp (bug#5686).
 -
 -2010-03-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * macros.el (insert-kbd-macro): Look up keyboard macro using the
 -      definition, not the name (Bug#5481).
 -
 -2010-03-03  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
 -
 -      * subr.el (momentary-string-display): Don't overwrite the MESSAGE
 -      argument with a local variable.  (Bug#5670)
 -
 -2010-03-02  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el (Info-index-next): Decrement line number by 2.  (Bug#5652)
 -
 -2010-03-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band): Fix an
 -      error when FILENAME and NEWNAME are existing remote directories.
 -
 -      * net/tramp-compat.el (tramp-compat-make-temp-file): Add optional
 -      parameter DIR-FLAG.
 -
 -2010-03-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/cal-hebrew.el (holiday-hebrew-passover): Fix date
 -      of Yom HaAtzma'ut when it falls on a Monday (rule changed in 2004).
 -
 -2010-03-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/burmese.el (burmese-composable-pattern): Rename from
 -      myanmar-composable-pattern.
 -
 -      * international/characters.el (script-list):
 -      * international/fontset.el (script-representative-chars):
 -      Change myanmar to burmese.
 -      (otf-script-alist): Likewise.
 -      (setup-default-fontset): Likewise.  Re-fix :otf spec.
 -
 -2010-02-28  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * menu-bar.el (menu-bar-manuals-menu): Fix typo.
 -
 -2010-02-28  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * scroll-bar.el (scroll-bar-drag-1): Add save-excursion, bug #5654.
 -
 -2010-02-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-write-region): START can be a string.
 -      Take care in the checks.  Reported by Dan Davison
 -      <davison@stats.ox.ac.uk>.
 -
 -2010-02-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-introspect, dbus-get-property)
 -      (dbus-set-property, dbus-get-all-properties):
 -      Use `dbus-call-method' when noninteractive.  (Bug#5645)
 -
 -2010-02-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * textmodes/reftex-toc.el (reftex-toc-promote-prepare):
 -      * emacs-lisp/elint.el (elint-add-required-env):
 -      * calendar/icalendar.el (icalendar--add-diary-entry):
 -      * calc/calcalg2.el (math-tracing-integral):
 -      * files.el (recover-session-finish): Use with-current-buffer
 -      instead of save-excursion.
 -
 -2010-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Fix in-buffer completion when after-change-functions modify the buffer.
 -      * minibuffer.el (completion--replace): New function.
 -      (completion--do-completion): Use it and use relative movement.
 -
 -2010-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * international/fontset.el (setup-default-fontset): Fix :otf spec.
 -
 -2010-02-27  Jeremy Whitlock  <jcscoobyrs@gmail.com>  (tiny change)
 -
 -      * progmodes/python.el (python-pdbtrack-stack-entry-regexp):
 -      Allow the characters _<> in the stack entry (Bug#5653).
 -
 -2010-02-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/burmese.el: Fix entries in composition-function-table.
 -      (myanmar-composable-pattern): New variable.
 -
 -      * international/fontset.el (setup-default-fontset): Add an entry
 -      for myanmar.
 -
 -      * international/characters.el (script-list): Add Myanmar
 -      Extended-A.
 -
 -2010-02-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * custom.el (custom-initialize-delay): Doc fix.
 -
 -      * mail/sendmail.el (send-mail-function): Autoload the call
 -      to custom-initialize-delay, not otherwise preserved in loaddefs.el.
 -
 -2010-02-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (hack-local-variables-filter): For eval forms, also
 -      check safe-local-variable-p (Bug#5636).
 -
 -2010-02-24  Eduard Wiebe  <usenet@pusto.de>
 -
 -      * javascript.el (wisent-javascript-jv-expand-tag): Avoid c(ad)ddr
 -      and use c(ad)r of cddr (Bug#5640).
 -
 -2010-02-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band): Protect
 -      setting the modes by `ignore-errors'.  It might fail, for example
 -      if the file is not owned by the user but the group.
 -      (tramp-handle-write-region): Ensure, that `tmpfile' is always readable.
 -
 -2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (directory-listing-before-filename-regexp):
 -      Use stricter matching for iso-style dates, to avoid false matches with
 -      date-like filenames (Bug#5597).
 -
 -      * htmlfontify.el (htmlfontify): Doc fix.
 -
 -      * eshell/eshell.el (eshell): Doc fix.
 -
 -      * startup.el (fancy-about-screen): In mode-line, apply
 -      mode-line-buffer-id face only to the buffer name (Bug#5613).
 -
 -2010-02-20  Kevin Ryde  <user42@zip.com.au>
 -
 -      * progmodes/compile.el (compilation-error-regexp-alist-alist):
 -      In `watcom' anchor regexp to start of line, to avoid slowness
 -      (Bug#5599).
 -
 -2010-02-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * subr.el (remove-yank-excluded-properties): Explain in a comment
 -      why `category' property is removed.
 -
 -2010-02-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * isearch.el (isearch-update-post-hook, isearch-update):
 -      Revert 2010-02-17 change.
 -
 -2010-02-19  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * calendar/icalendar.el (icalendar--convert-ordinary-to-ical)
 -      (icalendar--convert-weekly-to-ical)
 -      (icalendar--convert-yearly-to-ical)
 -      (icalendar--convert-block-to-ical)
 -      (icalendar--convert-cyclic-to-ical)
 -      (icalendar--convert-anniversary-to-ical): Take care of time
 -      specifications where hour has 1-digit only (Bug#5549).
 -
 -2010-02-19  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-ui.el (gdb-assembler-handler): Accommodate change
 -      of disassemble output in GDB 7.1.
 -
 -2010-02-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-electric-insert): Give it a delete-selection
 -      property.  (Bug#5593)
 -
 -2010-02-18  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-cvs.el (vc-cvs-merge-news): Yet another fix of message parsing.
 -
 -2010-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Use abbreviated file names in bookmarks (bug#5591).
 -      * bookmark.el (bookmark-maybe-load-default-file): Remove redundant
 -      calls to expand-file-name.
 -      (bookmark-relocate): Use abbreviated file names in bookmarks.
 -      (bookmark-load): Use abbreviated file names in messages.
 -
 -2010-02-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-directory-files): When FULL, do not
 -      expand "." and "..".  Reported by Thierry Volpiatto
 -      <thierry.volpiatto@gmail.com>.
 -
 -2010-02-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-file-contents): Set always the
 -      permissions of the temporary file to "0600".  In case the remote
 -      file has no read permissions for the owner, there might be
 -      problems otherwise.  Reported by Ole Laursen <olau@iola.dk>.
 -
 -22010-02-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/authors.el (authors-renamed-files-alist):
 -      Add entries for INSTALL.CVS.
 -
 -2010-02-17  Mark A. Hershberger  <mah@everybody.org>
 -
 -      * vc-bzr.el: Fix typo in Known Bugs section.
 -
 -      * isearch.el (isearch-update-post-hook): New hook.
 -      (isearch-update): Use the new hook.
 -
 -2010-02-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band):
 -      Fix errors in copying directories.
 -      (tramp-handle-add-name-to-file, tramp-handle-copy-directory)
 -      (tramp-do-copy-or-rename-file, tramp-handle-delete-directory)
 -      (tramp-handle-delete-file)
 -      (tramp-handle-dired-recursive-delete-directory)
 -      (tramp-handle-write-region): Flush also the cache for the upper
 -      directory.
 -
 -2010-02-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (save-interprogram-paste-before-kill): Doc fix.
 -
 -      * cus-edit.el (hardware): Doc fix.
 -
 -      * man.el (man): Add to external custom group.
 -
 -      * delim-col.el (columns): Move to wp custom group.
 -
 -      * doc-view.el (doc-view): Add to data custom group.
 -
 -      * nxml/nxml-mode.el (nxml-faces): Remove from font-lock-faces group.
 -
 -      * textmodes/flyspell.el (flyspell-word): Obey the offset specified
 -      by ispell-parse-output (Bug#5575).
 -
 -2010-02-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/ja-dic-cnv.el (iso-2022-7bit-short): Delete it.
 -      (skkdic-convert-okuri-ari): Ignore lines starting with '>'.
 -      (skkdic-convert): Use `euc-japan' coding system for writing.
 -
 -2010-02-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * textmodes/tex-mode.el (tex-bibtex-file): Expand the result of
 -      tex-main-file before using it.  (Bug#5562)
 -
 -2010-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/advice.el (ad-compile-function): Suppress byte-compiler
 -      warnings, since it is annoying for the user to see them each time he
 -      runs the code.
 -
 -2010-02-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-process-actions, tramp-read-passwd):
 -      * net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): Use VEC
 -      instead of PROC for caching "first-password-request".  Otherwise,
 -      new processes would not profit from passwords already entered.
 -
 -      * net/tramp-cache.el (tramp-dump-connection-properties):
 -      Don't save "first-password-request" property.
 -
 -2010-02-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * outline.el (outline-head-from-level):
 -      * simple.el (with-wrapper-hook):
 -      * emacs-lisp/elint.el (elint-extra-errors, elint-current-buffer)
 -      (elint-defun, elint-buffer-env, elint-top-form-logged)
 -      (elint-unbound-variable):
 -      * textmodes/reftex-toc.el (reftex-toc-newhead-from-alist):
 -      Fix typos in docstrings.
 -
 -2010-02-14  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (insert-directory): When WILDCARD-REGEXP and
 -      FULL-DIRECTORY-P are nil, insert the file entry instead of the
 -      whole directory.  (Bug#5551)
 -
 -      * net/ange-ftp.el (ange-ftp-insert-directory): Insert "  " for
 -      dired's alignment sanity.  (Bug#5516)
 -
 -2010-02-14  Juri Linkov  <juri@jurta.org>
 -
 -      * man.el (Man-fontify-manpage, Man-cleanup-manpage):
 -      Remove remaining ^H with their preceding chars.  (Bug#5566)
 -
 -2010-02-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * simple.el (transpose-subr): Give it a doc-string.
 -
 -      * textmodes/paragraphs.el (transpose-paragraphs, transpose-sentences):
 -      Doc fixes.
 -
 -2010-02-12  Juri Linkov  <juri@jurta.org>
 -
 -      * arc-mode.el (archive-unique-fname): Make directories for nested
 -      archives.  (Bug#5540)
 -
 -2010-02-12  Juri Linkov  <juri@jurta.org>
 -
 -      * ffap.el (dired-at-point): Fix docstring.  (Bug#5565)
 -
 -2010-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (copy-overlay): Handle deleted overlays.
 -
 -      * man.el (Man-completion-table): Don't signal an error if we can't run
 -      manual-program (bug#4056).
 -
 -2010-02-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * textmodes/artist.el (artist-mt): Fix typos in docstring.
 -
 -2010-02-10  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 -
 -      * info.el (Info-bookmark-jump): Simplify.
 -
 -      * bookmark.el (bookmark-handle-bookmark): Catch the right error.
 -      (bookmark-default-handler): Accept new bookmark field `buffer'.
 -
 -2010-02-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * iswitchb.el (iswitchb-completions): Revert last change.
 -
 -2010-02-10  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * ls-lisp.el (ls-lisp-insert-directory): When WILDCARD-REGEXP and
 -      FULL-DIRECTORY-P are nil, and FILE is absolute, expand it.
 -      This prevents file names like "~/" being listed literally.
 -
 -2010-02-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term/xterm.el (xterm-maybe-set-dark-background-mode):
 -      Remove dead code.  (Bug#5546)
 -
 -2010-02-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eshell/em-ls.el (eshell-ls-applicable): Frob file attributes
 -      correctly (Bug#5548).
 -
 -2010-02-08  Jose E. Marchesi  <jemarch@gnu.org>
 -
 -      * progmodes/ada-mode.el (ada-in-numeric-literal-p): New function.
 -      (ada-adjust-case): Don't adjust case in hexadecimal number literals.
 -
 -2010-02-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-util.el (with-coding-priority): Add autoload
 -      cookie for putting `lisp-indent-function'.
 -
 -2010-02-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-font-lock-keywords-1, f90-font-lock-keywords-2):
 -      Move F2003 named interfaces from keywords-2 to keywords-1, and
 -      use function-name-face rather than constant-face.
 -      Simplify "abstract interface" regexp.
 -
 -2010-02-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eshell/esh-util.el (eshell-file-attributes): New optional arg
 -      ID-FORMAT.  Pass it to `file-attributes'.
 -
 -      * eshell/em-ls.el (eshell-do-ls): Use it (Bug#5528).
 -
 -2010-02-07  sj  <prime.wizard+emacs@gmail.com>  (tiny change)
 -
 -      * faces.el (set-face-attribute): Allow calling
 -      internal-set-lisp-face-attribute with 'unspecified family and
 -      foundry argument (Bug#5536).
 -
 -2010-02-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-font-lock-keywords-2)
 -      (f90-looking-at-type-like, f90-looking-at-program-block-end):
 -      Handle F2003 named interfaces.
 -
 -2010-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cc-mode.el (c-common-init): Bind temporary variables
 -      beg and end before calling c-get-state-before-change-functions.
 -
 -2010-02-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-dir-extra-headers):
 -      Disable the pending merges header.
 -
 -2010-02-05  Juri Linkov  <juri@jurta.org>
 -
 -      * doc-view.el (doc-view-mode):
 -      * image-mode.el (image-mode): Put property mode-class=special.
 -      (Bug#4896)
 -
 -2010-02-05  Mark A. Hershberger  <mah@everybody.org>
 -
 -      * vc-svn.el (vc-svn-revision-table): New function.
 -
 -2010-02-05  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/ange-ftp.el (ange-ftp-insert-directory):
 -      * net/tramp-imap.el (tramp-imap-handle-insert-directory):
 -      * net/tramp-smb.el (tramp-smb-handle-insert-directory):
 -      Handle also directories.  (Bug#5478)
 -
 -2010-02-05  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-font-lock-keywords-2): Fix `enum'.
 -
 -2010-02-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * startup.el (command-line-1): Convert options beginning with a
 -      single dash as well (Bug#5519).
 -
 -2010-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make `initials' completion work for /hh -> /home/horn again (bug#5524).
 -      * minibuffer.el (completion-initials-expand): Only check the presence
 -      of delims *within* the boundaries, since otherwise the / delim is
 -      always found for files.
 -
 -      Fix up various corner case problems.
 -      * doc-view.el (doc-view-last-page-number): New function.
 -      (doc-view-mode, doc-view-last-page, doc-view-goto-page): Use it.
 -      (doc-view-goto-page): Avoid inf-loops when the conversion fails.
 -      (doc-view-kill-proc): Avoid inf-loop in freak cases.
 -      (doc-view-reconvert-doc): Use the new recursive delete-directory.
 -      (doc-view-convert-current-doc): Don't create the resolution.el file
 -      here any more.
 -      (doc-view-pdf/ps->png): Do it here instead.
 -      (doc-view-already-converted-p): Check that resolution.el is present.
 -      (doc-view-pdf->png): Don't rely on doc-view-pdf/ps->png for the few
 -      windows that are not yet showing images.
 -
 -2010-02-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
 -      `dired-uncache' for every elemnt which is an absolute file name.
 -
 -      * net/tramp.el (tramp-handle-dired-uncache): When DIR is not a
 -      directory, handle its directory component.
 -      (tramp-handle-file-remote-p): Let-bind `tramp-verbose' to 3; this
 -      function is called permanently and creates noise, otherwise.
 -
 -      * net/tramp-imap.el (tramp-imap-handle-insert-directory):
 -      * net/tramp-smb.el (tramp-smb-handle-insert-directory):
 -      Handle the case, FILENAME is not in `default-directory'.  (Bug#5478)
 -
 -2010-02-04  David Burger  <dburger@google.com>  (tiny change)
 -
 -      * macros.el (apply-macro-to-region-lines):
 -      Minor simplification.  (Bug#5485)
 -
 -2010-02-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmail.el (rmail-show-message-1): Handle malformed
 -      quoted-printable text.  (Bug#5441)
 -
 -      * mail/mail-utils.el (mail-unquote-printable-region): Doc fix.
 -
 -      * simple.el (visual-line-mode): Capitalize lighter.
 -
 -2010-02-03  John Wiegley  <jwiegley@gmail.com>
 -
 -      * iswitchb.el (iswitchb-completions): Add bookmark files to the
 -      list of files considered for "virtual buffer" completions.
 -
 -2010-02-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/ange-ftp.el (ange-ftp-insert-directory): Parse directory
 -      also in case of (and (not full) (not wildcard)).  This is needed,
 -      when dired is called with a list of files, which are not in
 -      `default-directory'.  (Bug#5478)
 -
 -2010-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-hooks.el (vc-path): Make it an obsolete var, rather than function.
 -
 -2010-02-02  Juri Linkov  <juri@jurta.org>
 -
 -      * textmodes/ispell.el (ispell-message-text-end): Remove final newline
 -      from unidiff to allow function-line after @@.
 -
 -2010-02-02  Juri Linkov  <juri@jurta.org>
 -
 -      * ediff-util.el (ediff-file-checked-in-p): Replace '(nil CVS) by
 -      '(RCS SCCS) with inverted condition.
 -
 -2010-02-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/ange-ftp.el (ange-ftp-skip-msgs): Ignore all ""^500 .*AUTH"
 -      messages.
 -
 -2010-02-01  Juri Linkov  <juri@jurta.org>
 -
 -      * arc-mode.el (archive-zip-extract): Use `member-ignore-case' to
 -      compare with "pkunzip" and "pkzip" instead of only "pkzip".
 -      In the `archive-extract-by-stdout' branch use `shell-quote-argument'
 -      only when (car archive-zip-extract) is "unzip".  (Bug#5475)
 -
 -2010-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * doc-view.el (doc-view-new-window-function): Be a bit more defensive.
 -      (doc-view-revert-buffer): New command.
 -      (doc-view-mode-map): Use it.
 -
 -2010-02-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-dir-extra-headers): Add a header when a
 -      pending merge is detected.
 -
 -2010-01-31  Juri Linkov  <juri@jurta.org>
 -
 -      * progmodes/grep.el (zrgrep): Call `grep-compute-defaults' at the
 -      beginning of interactive spec like all other grep commands do.
 -      Put "all" in front of "gz".  (Bug#5260)
 -
 -2010-01-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-after-dir-status): Match another renaming indicator.
 -
 -2010-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dirtrack.el (dirtrack): Warn instead of signalling error if the
 -      regexp is incorrect (Bug#5476).
 -
 -2010-01-29  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Handle also
 -      symlinks, when FILENAME is not in `default-directory'.
 -
 -2010-01-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/ange-ftp.el (ange-ftp-insert-directory): Handle the case,
 -      FILE is not in `default-directory'.  (Bug#5478)
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Simplify handling
 -      of SWITCHES.  Handle the case, FILENAME is not in
 -      `default-directory'.  (Bug#5478)
 -      (tramp-register-file-name-handlers): Add safe-magic property.
 -
 -2010-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * arc-mode.el (archive-zip-extract): Quote the argument passed to
 -      unzip (Bug#5475).
 -
 -2010-01-28  Nil Geisweiller  <ngeiswei@googlemail.com>  (tiny change)
 -
 -      * progmodes/flymake.el (flymake-allowed-file-name-masks)
 -      (flymake-master-make-header-init): Add other C++ filename masks.
 -      (flymake-find-possible-master-files)
 -      (flymake-check-patch-master-file-buffer): Doc fixes (Bug#5488).
 -
 -2010-01-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Fix some busybox annoyances.
 -
 -      * net/tramp.el (tramp-wrong-passwd-regexp): Add "Timeout, server
 -      not responding." string.
 -      (tramp-open-connection-setup-interactive-shell): Dump stty
 -      settings.  Enable "neveropen" arg for all `tramp-send-command'
 -      calls.  Handle "=" in variable values properly.
 -      (tramp-find-inline-encoding): Raise an error, when no encoding is
 -      found.
 -      (tramp-wait-for-output): Check, whether PROC buffer is available.
 -      Remove spurious " ^H" sequences, sent by busybox.
 -      (tramp-get-ls-command): Suppress coloring, if possible.
 -
 -2010-01-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-svn.el (vc-svn-update): Use "svn --non-interactive".  (Bug#4280)
 -
 -      * log-edit.el (log-edit-strip-single-file-name): Add missing
 -      :safe, :group, and :version tags.
 -
 -2010-01-27  Stephen Berman  <stephen.berman@gmx.net>
 -
 -      * calendar/diary-lib.el (diary-unhide-everything): Handle narrowed
 -      buffers.  (Bug#5477)
 -
 -2010-01-27  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * files.el (delete-directory): Handle moving to trash without
 -      first doing recursion (Bug#5436).
 -
 -2010-01-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hooks.el (vc-path): Mark as obsolete.
 -
 -2010-01-25  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-annotate.el (vc-annotate-revision-at-line): Compare file
 -      names too.
 -
 -      * vc-bzr.el (vc-bzr-print-log): Use the more compact --line option
 -      for the short log.
 -      (vc-bzr-log-view-mode): Adjust regexp for the above change.
 -
 -2010-01-25  Mark A. Hershberger  <mah@everybody.org>
 -
 -      * progmodes/python.el: Replace reference to obsolete c-subword-mode.
 -
 -      * vc-bzr.el (vc-bzr-revision-table): New function.
 -
 -2010-01-25  Eric Hanchrow  <eric.hanchrow@gmail.com>  (tiny change)
 -
 -      * vc-git.el (vc-git-dir-status-goto-stage): Pass --relative to the
 -      diff-index command.  This requires at least git-1.5.5.  (Bug#1589).
 -
 -2010-01-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Remove support for adding --signoff on commit.
 -      Future support will use an incompatible generic mechanism.
 -      * vc-git.el (vc-git-add-signoff): Remove variable.
 -      (vc-git-toggle-signoff): Remove function.
 -      (vc-git-extra-menu-map): Do not bind vc-git-toggle-signoff.
 -
 -      * term/xterm.el (xterm-maybe-set-dark-background-mode):
 -      Rename from xterm-set-background-mode.  Return t if the background mode
 -      was set.
 -      (terminal-init-xterm): Move tty-set-up-initial-frame-faces
 -      earlier, call it again in case the background mode has changed.
 -
 -2010-01-23  Dmitri Paduchikh  <dpaduch@k66.ru>  (tiny change)
 -
 -      * emacs-lisp/advice.el (ad-set-orig-definition): Fix typo
 -      (Bug#3541).
 -
 -2010-01-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/assoc.el (aelement): Doc fix.
 -      (aput, adelete, amake): Use lexical-let (Bug#5450).
 -
 -2010-01-23  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el (ada-in-paramlist-p): Pragma syntax
 -      is the same as subprogram call, not declaration.  (Bug#5435).
 -
 -2010-01-23  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-smb.el (tramp-smb-conf): New defcustom.
 -      (tramp-smb-maybe-open-connection): Use it.
 -
 -2010-01-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-imap.el (top): Autoload needed packages.  (Bug#5448)
 -
 -2010-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mail/rmailmm.el (rmail-mime-handle): Don't set the buffer to unibyte
 -      just because we see "encoding: 8bit".
 -      * mail/rmail.el (rmail-show-message-1): Decode the body's QP into bytes.
 -
 -2010-01-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * isearch.el (isearch-allow-scroll): Doc fix (Bug#5446).
 -
 -2010-01-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * jka-compr.el (jka-compr-load): If load-file is not in
 -      load-history, try its file-truename version.  (bug#5447)
 -
 -2010-01-21  Alan Mackenzie  <acm@muc.de>
 -
 -      Fix a situation where deletion of a cpp construct throws an error.
 -      * progmodes/cc-engine.el (c-invalidate-state-cache):
 -      Before invoking c-with-all-but-one-cpps-commented-out, check that the
 -      special cpp construct is still in the buffer.
 -      (c-parse-state): Record the special cpp with markers, not numbers.
 -
 -2010-01-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * textmodes/sgml-mode.el (sgml-maybe-name-self): No need to
 -      process last-command-event, as it is now decoded first (Bug#5380).
 -
 -2010-01-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.el (term-send-raw-meta): Revert 2009-12-04 change (Bug#5330).
 -
 -2010-01-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * indent.el (tab-always-indent): Fix custom-type.
 -
 -2010-01-19  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-defs.el: Fix bug#5395: typing '#' in an empty
 -      buffer throws "args out of range".
 -      (c-set-cpp-delimiters, c-clear-cpp-delimiters): Check for EOB
 -      playing the role of delimiter.
 -
 -2010-01-18  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el: Fix bug#5400.
 -      (ada-matching-decl-start-re): Move into ada-goto-decl-start.
 -      (ada-goto-decl-start): Rename from ada-goto-matching-decl-start; callers
 -      changed.  Delete RECURSIVE parameter; never used.  Improve doc string.
 -      Improve comments in "is" portion.  Handle null procedure declaration.
 -      (ada-move-to-end): Improve doc string.
 -
 -2010-01-18  Óscar Fuentes  <ofv@wanadoo.es>
 -
 -      * ido.el (ido-cur-list): Initialize to nil.
 -      Remove obsolete information from commentary.
 -      (ido-choice-list): Initialize to nil.
 -      (ido-get-bufname): Reject minibuffers.
 -      (ido-make-buffer-list): If "default" is a nonexistent
 -      buffer, ignore it, as per the function's comment.
 -      (ido-kill-buffer-internal): New function.
 -      (ido-kill-buffer-at-head): Use it.
 -      (ido-visit-buffer): Likewise.
 -
 -2010-01-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * calendar/time-date.el (date-to-time): Doc fix (Bug#5408).
 -
 -2010-01-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs-lisp/chart.el (chart-file-count, chart-rmail-from):
 -      Fix typos in chart titles.
 -
 -      * whitespace.el (whitespace-style, global-whitespace-newline-mode):
 -      * emacs-lisp/eieio.el (eieio-error-unsupported-class-tags)
 -      (eieio-generic-form, eieio-help-mode-augmentation-maybee, eieio-browse)
 -      (describe-class, eieio-describe-generic, describe-generic):
 -      * emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click)
 -      (eieio-speedbar-expand):
 -      * emulation/viper-cmd.el (viper-exec-form-in-vi)
 -      (viper-exec-form-in-emacs, viper-harness-minor-mode, viper-ESC)
 -      (viper-repeat, viper-replace-state-exit-cmd, viper-toggle-search-style)
 -      (viper-del-backward-char-in-replace, viper-backward-indent)
 -      (viper-brac-function, viper-register-to-point, viper-submit-report):
 -      * net/tramp.el (tramp-remote-coding-commands):
 -      * term/x-win.el (emacs-session-save, x-menu-bar-open, icon-map-list):
 -      Fix typos in docstrings.
 -
 -2010-01-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/sendmail.el (mail-yank-original): Set the mark if the
 -      specified function for yanking does not do it.
 -
 -2010-01-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (with-vc-properties): Deal with directory arguments.  (Bug#5298)
 -
 -      * vc-dir.el (vc-dir-resynch-file): Update the vc-dir header when
 -      resyncing a directory.
 -
 -2010-01-17  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el: Fix bug#1920.
 -      (ada-ident-re): Delete ., allow multibyte characters.
 -      (ada-goto-label-re): New; matches goto labels.
 -      (ada-block-label-re): New; matches block labels.
 -      (ada-label-re): New; matches both.
 -      (ada-named-block-re): Deleted; callers changed to use
 -      `ada-block-label-re' instead.
 -      (ada-get-current-indent, ada-get-indent-noindent, ada-get-indent-loop):
 -      Use `ada-block-label-re'.
 -      (ada-indent-on-previous-lines): Improve handling of goto labels.
 -      (ada-get-indent-block-start): Special-case block label.
 -      (ada-get-indent-label): Split into `ada-indent-block-label' and
 -      `ada-indent-goto-label'.
 -      (ada-goto-stmt-start, ada-goto-next-non-ws):
 -      Optionally ignore goto labels.
 -      (ada-goto-next-word): Simplify.
 -      (ada-indent-newline-indent-conditional): Insert newline before
 -      trying to fix indentation; doc fix.
 -
 -2010-01-17  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (calc-command-flags): Give it an initial value.
 -
 -2010-01-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * files.el (minibuffer-with-setup-hook):
 -      * textmodes/artist.el (artist-mt, artist-key-undraw-continously)
 -      (artist-key-draw-continously, artist-key-do-continously-continously)
 -      (artist-key-set-point-continously, artist-mouse-draw-continously):
 -      Fix typos in docstrings.
 -
 -2010-01-16  Lennart Borgman  <lennart.borgman@gmail.com>
 -
 -      * nxml/nxml-mode.el (nxml-extend-after-change-region):
 -      Never return t (Bug#3898).
 -
 -2010-01-16  Frédéric Perrin  <frederic.perrin@resel.fr>  (tiny change)
 -
 -      * vc-dispatcher.el (vc-do-command): Set LC_MESSAGES, so that we
 -      can parse the output of the external commands (Bug#5279).
 -
 -2010-01-16  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * pcmpl-unix.el (pcmpl-unix-read-passwd-file): Doc fix.
 -
 -2010-01-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/advice.el (ad-add-advice): Doc fix (Bug#5274)
 -
 -      * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267).
 -
 -      * startup.el (command-line): Remove unused --icon-type arg.
 -      Handle --display arg, passing it to command-line-1 (Bug#5392).
 -
 -2010-01-16  Mario Lang  <mlang@delysid.org>
 -
 -      * emacs-lisp/chart.el (chart-translate-namezone):
 -      * textmodes/artist.el (artist-compute-popup-menu-table):
 -      Remove duplicated words in doc-strings.
 -
 -2010-01-15   David Abrahams  <dave@boostpro.com>  (tiny change)
 -
 -      * net/mairix.el (mairix-widget-send-query): Send -1 instead of nil
 -      to mairix-search to suppress threading (Bug#5342).
 -
 -2010-01-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-cmds.el (canonicalize-coding-system-name):
 -      Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX" (Bug#5387).
 -
 -2010-01-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * log-view.el (top-level): Require 'wid-edit.  (Bug#5311)
 -
 -      * wid-edit.el (widget-keymap): Doc fix.
 -
 -      * vc-svn.el (vc-svn-print-log): Use --limit rather than -l since the
 -      former seems to be more widely accepted by various svn versions.
 -
 -2010-01-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * find-cmd.el (find-constituents):
 -      * vc-arch.el (vc-arch-root):
 -      * window.el (window-body-height, pop-up-frames):
 -      * emacs-lisp/eieio-base.el (eieio-singleton, slot-missing):
 -      * progmodes/ada-stmt.el (ada-if):
 -      * progmodes/gdb-ui.el (gdb-jsonify-buffer):
 -      * textmodes/ispell.el (ispell-grep-options, ispell-dictionary-alist)
 -      (ispell-encoding8-command, ispell-aspell-supports-utf8)
 -      (ispell-last-program-name, ispell-help): Fix typos in docstrings.
 -
 -      * progmodes/flymake.el (flymake-post-syntax-check):
 -      Fix typo in error message.
 -
 -2010-01-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * hexl.el (hexl-printable-character): Fix check of `hexl-iso',
 -      which is always a string.  (Bug#5313)
 -
 -2010-01-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * progmodes/ada-xref.el (ada-default-prj-properties):
 -      Simplify previous change.
 -
 -2010-01-14  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-xref.el (ada-default-prj-properties):
 -      Default ada_project_path to $ADA_PROJECT_PATH.
 -
 -2010-01-14  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el (ada-create-keymap):
 -      Override `narrow-to-defun' with `ada-narrow-to-defun'.
 -
 -2010-01-14  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el: Deal with Ada 2005 "overriding" keyword.
 -      (ada-subprog-start-re, ada-imenu-subprogram-menu-re): Add keyword.
 -      (ada-get-current-indent, ada-imenu-generic-expression)
 -      (ada-which-function): Check for it.
 -
 -2010-01-14  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el (ada-clean-buffer-before-saving): Make obsolete.
 -      (ada-mode): Don't obey `ada-clean-buffer-before-saving' anymore.
 -
 -2010-01-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.el (show-trailing-whitespace): Safe if boolean.  (Bug#5312)
 -
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.el (auto-composition-mode): Make it a buffer local
 -      variable (permanent-local).
 -      (auto-composition-function): Set the default value to
 -      auto-compose-chars.
 -      (auto-composition-mode): Make it a simple function, not a minor mode.
 -      (global-auto-composition-mode): Likewise.
 -      (turn-on-auto-composition-if-enabled): Delete it.
 -
 -2010-01-13  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-execute-deletions): Doc fix (Bug#5276).
 -
 -2010-01-12  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (copy-directory): Compute target for recursive
 -      directories with identical names.  (Bug#5343)
 -
 -2010-01-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/emacsbug.el (report-emacs-bug-pretest-address):
 -      Set it to bug-gnu-emacs rather than emacs-pretest-bug.
 -
 -2010-01-11  Sam Steingold  <sds@gnu.org>
 -
 -      * imenu.el (imenu-default-create-index-function): Detect infinite
 -      loops caused by imenu-prev-index-position-function.
 -
 -2010-01-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * htmlfontify.el (htmlfontify-load-rgb-file)
 -      (htmlfontify-unload-rgb-file, hfy-fallback-colour-values)
 -      (htmlfontify-manual, htmlfontify, hfy-page-header, hfy-page-footer)
 -      (hfy-src-doc-link-style, hfy-src-doc-link-unstyle, hfy-link-extn)
 -      (hfy-link-style-fun, hfy-index-file, hfy-instance-file)
 -      (hfy-html-quote-regex, hfy-init-kludge-hook, hfy-post-html-hooks)
 -      (hfy-default-face-def, hfy-etag-regex, hfy-html-quote-map)
 -      (hfy-etags-cmd-alist-default, hfy-etags-bin, hfy-ignored-properties)
 -      (hfy-which-etags, hfy-etags-cmd, hfy-istext-command, hfy-display-class)
 -      (hfy-optimisations, hfy-tags-cache, hfy-tags-sortl, hfy-tags-rmap)
 -      (hfy-style-assoc, hfy-sheet-assoc, hfy-facemap-assoc, hfy-interq)
 -      (hfy-colour-vals, hfy-default-header, hfy-link-style-string)
 -      (hfy-triplet, hfy-slant, hfy-weight, hfy-combined-face-spec)
 -      (hfy-face-attr-for-class, hfy-face-to-style-i, hfy-size-to-int)
 -      (hfy-flatten-style, hfy-face-to-style, hfy-face-or-def-to-name)
 -      (hfy-face-to-css, hfy-p-to-face, hfy-p-to-face-lennart, hfy-face-at)
 -      (hfy-fontified-p, hfy-merge-adjacent-spans, hfy-buffer)
 -      (hfy-html-enkludge-buffer, hfy-html-quote, hfy-html-dekludge-buffer)
 -      (hfy-force-fontification, htmlfontify-buffer, hfy-dirname)
 -      (hfy-make-directory, hfy-text-p, hfy-mark-tag-names, hfy-relstub)
 -      (hfy-href-stub, hfy-href, hfy-mark-tag-hrefs, hfy-prepare-index-i)
 -      (hfy-prepare-index, hfy-prepare-tag-map, hfy-subtract-maps)
 -      (htmlfontify-run-etags): Fix typos in docstrings and remove superfluous
 -      backslash-quoting from parentheses, etc.
 -
 -2010-01-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el: Autoload javascript-mode alias.
 -
 -2010-01-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * ffap.el (ffap-shell-prompt-regexp, ffap-all-subdirs, ffap-url-p)
 -      (ffap-alist, ffap-tex-path, ffap-url-at-point, ffap-gopher-regexp)
 -      (ffap-gopher-at-point, ffap-file-at-point, ffap-read-file-or-url)
 -      (ffap-read-url-internal, ffap-menu, ffap-at-mouse):
 -      Fix typos in docstrings.
 -      (ffap-url-regexp): Doc fix.
 -      (ffap-at-mouse): Fix typo in message.
 -
 -2010-01-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * version.el (emacs-copyright): Set copyright year to 2010.
 -
 -2010-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * format.el (format-annotate-function): Only set
 -      write-region-post-annotation-function after running to-fn so as not to
 -      affect nested write-region calls (bug#5273).
 -
 -2010-01-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (ELCFILES): Add wisent/python-wy.el and
 -      wisent/python.el.
 -
 -2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * man.el (Man-goto-section): Signal error if the section is not
 -      found (Bug#5317).
 -
 -2010-01-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * vc-bzr.el (vc-bzr-working-revision): On Windows and MS-DOS, accept
 -      URLs with a leading triple slash in the file: scheme.  (Bug#5345)
 -
 -2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/compile.el: Don't treat compile-command as safe if
 -      compilation-read-command might be nil (Bug#4218).
 -
 -2010-01-09  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * startup.el (command-line-1): Use orig-argi to check for ignored X and
 -      NS options.
 -
 -2010-01-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/fontset.el (build-default-fontset-data):
 -      Exclude characters in scripts kana, hangul, han, or cjk-misc.
 -
 -2010-01-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * vc-dir.el (vc-dir-prepare-status-buffer): Pass a (fake) filename
 -      to `create-file-buffer' as it expects, not just a buffer name.
 -      (vc-dir-mode): Include the buffer name in `list-buffers-directory',
 -      to help uniquify.  (Bug#3224)
 -
 -2010-01-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * font-setting.el (font-setting-change-default-font): Use user-spec
 -      instead of name.
 -
 -2010-01-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-after-dir-status): Ignore pending merges.
 -
 -2010-01-05  Tom Tromey  <tromey@redhat.com>
 -
 -      * progmodes/python.el (python-font-lock-keywords):
 -      Handle qualified decorators (Bug#881).
 -
 -2010-01-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-working-revision): Fix looking for a revision
 -      in a lightweight checkout.
 -
 -2010-01-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (malayalam-composable-pattern): Fix ZWNJ and ZWJ.
 -
 -2010-01-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-diff): Obey vc-disable-async-diff.
 -
 -2010-01-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-state-heuristic): Make it work for lightweight
 -      checkouts.  (Bug#618)
 -      (vc-bzr-log-view-mode): Also highlight the author.
 -      (vc-bzr-shelve-map): Change binding for vc-bzr-shelve-apply-at-point.
 -      (vc-bzr-shelve-menu-map):
 -      (vc-bzr-dir-extra-headers): Improve menu and tooltip text.
 -      (vc-bzr-shelve-apply): Make prompt more explicit.
 -
 -2010-01-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * net/browse-url.el (browse-url-encode-url): Don't escape commas.
 -      They are valid characters in URL paths (rfc3986), and at least
 -      Firefox does not understand the encoded version (Bug#3166).
 -
 -2010-01-02  Daniel Elliott  <danelliottster@gmail.com>  (tiny change)
 -
 -      * progmodes/octave-mod.el (octave-end-keywords)
 -      (octave-block-begin-or-end-regexp, octave-block-match-alist):
 -      Add "end" keyword (Bug#3061).
 -      (octave-end-as-array-index-p): New function.
 -      (calculate-octave-indent): Use it.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Consistently put the text property on the bookmark name.
 -      (bookmark-bmenu-marks-width): Bump back to 2, to include
 -      annotation marks.
 -      (bookmark-bmenu-hide-filenames): Adjust for above, and put the text
 -      property on the bookmark name, instead of not putting it at all.
 -      (bookmark-bmenu-list): Fix where we put the text property.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-save): Just depend on the new logic
 -      for showing buffer modified state (as added in the previous change).
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Show modified state of bookmark buffer more accurately.
 -      (bookmark-bmenu-list): Initialize buffer-modified-p properly.
 -      (bookmark-send-edited-annotation): Mark bookmark-alist as modified.
 -      (with-buffer-modified-unmodified): New macro.
 -      (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
 -      (bookmark-bmenu-mark, bookmark-bmenu-unmark, bookmark-bmenu-delete):
 -      Use new macro to preserve the buffer modified state.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-select, bookmark-bmenu-1-window)
 -      (bookmark-bmenu-2-window, bookmark-bmenu-this-window)
 -      (bookmark-bmenu-other-window, bookmark-bmenu-switch-other-window)
 -      (bookmark-bmenu-show-annotation, bookmark-bmenu-edit-annotation)
 -      (bookmark-bmenu-rename, bookmark-bmenu-locate)
 -      (bookmark-bmenu-relocate, bookmark-bmenu-goto-bookmark):
 -      Remove unnecessary calls to `bookmark-bmenu-ensure-position'.
 -
 -2010-01-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
 -      Make the lines in the generated doc string shorter.  (Bug#4668)
 -
 -2010-01-02  Ryan Yeske  <rcyeske@gmail.com>
 -
 -      * net/rcirc.el: Add follow-link binding (Bug#4738).
 -
 -2010-01-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (bzr-update): Rename from cvs-update.
 -      (cvs-update): New target for backward compatibility.
 -
 -      * makefile.w32-in (bzr-update): Rename from cvs-update.
 -      (cvs-update): New target for backward compatibility.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Remove gratuitous gratitude.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-any-marks): New function
 -      (bookmark-bmenu-save): Clear buffer modification if no marks.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-marks-width): Define to 1, not 2.
 -      (bookmark-bmenu-list, bookmark-bmenu-bookmark): Calculate property
 -      positions by using `bookmark-bmenu-marks-width', instead of hardcoding.
 -      This fixes the `bookmark-bmenu-execute-deletions' bug reported here:
 -
 -      http://lists.gnu.org/archive/html/emacs-devel/2009-12/msg00819.html
 -      From: Sun Yijiang <sunyijiang {_AT_} gmail.com>
 -      To: emacs-devel {_AT_} gnu.org
 -      Subject: bookmark.el bug report
 -      Date: Mon, 28 Dec 2009 14:19:16 +0800
 -      Message-ID: 5065e2900912272219y3734fc9fsdaee41167ef99ad7@mail.gmail.com
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Improvements suggested by Drew Adams:
 -      (bookmark-bmenu-ensure-position): New name for
 -      `bookmark-bmenu-check-position'.  Just ensure the position,
 -      don't return any meaningful value.
 -      (bookmark-bmenu-header-height, bookmark-bmenu-marks-width):
 -      New constants.
 -
 -2010-01-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * bookmark.el (bookmarks-already-loaded): Doc fix (don't use `iff').
 -      (bookmark-yank-point, bookmark-bmenu-check-position):
 -      Fix typos in docstrings.
 -      (bookmark-save-flag, bookmark-bmenu-toggle-filenames)
 -      (bookmark-name-from-full-record, bookmark-get-position)
 -      (bookmark-set-position, bookmark-set, bookmark-handle-bookmark)
 -      (bookmark-delete, bookmark-save, bookmark-save, bookmark-bmenu-mode):
 -      Remove useless quoting of parenthesis, etc. in docstrings.
 -
 -      * ediff-mult.el (ediff-prepare-meta-buffer): Fix typo in help message.
 -      (ediff-append-custom-diff): Fix typo in error message.
 -      (ediff-meta-mark-equal-files): Fix typos in messages.
 -
 -      * mpc.el (mpc-playlist-delete): Fix typo in error messages.
 -
 -      * net/imap-hash.el (imap-hash-make): Doc fix.
 -      (imap-hash-test): Fix typo in error message; reflow docstring.
 -      (imap-hash-p, imap-hash-get, imap-hash-put, imap-hash-make-message)
 -      (imap-hash-count, imap-hash-server, imap-hash-port, imap-hash-ssl)
 -      (imap-hash-mailbox, imap-hash-user, imap-hash-password):
 -      Fix typos in docstrings.
 -      (imap-hash-open-connection): Fix typo in error message.
 -
 -      * play/gomoku.el (gomoku): Fix typos in docstring.
 -
 -      * progmodes/gdb-ui.el (gdb-location-alist): Reflow docstring.
 -      (gdb-jsonify-buffer): Fix typos in docstring.
 -      (gdb-goto-breakpoint): Fix typo in error message.
 -      ("Display Other Windows"): Fix typo in help message.
 -      (gdb-speedbar-expand-node): Fix typo in question.
 -
 -      * progmodes/idlw-help.el (idlwave-help-browse-url-available)
 -      (idlwave-html-system-help-location, idlwave-html-help-location)
 -      (idlwave-help-browser-function, idlwave-help-browser-generic-program)
 -      (idlwave-help-browser-generic-args, idlwave-help-directory)
 -      (idlwave-html-help-is-available, idlwave-help-mode-line-indicator)
 -      (idlwave-help-mode-map, idlwave-help-mode, idlwave-do-context-help)
 -      (idlwave-online-help, idlwave-help-html-link)
 -      (idlwave-help-show-help-frame, idlwave-help-assistant-command):
 -      Fix typos in docstrings.
 -      (idlwave-help-with-source, idlwave-help-find-routine-definition):
 -      Reflow docstrings.
 -      (idlwave-help-assistant-start): Fix typo in error message.
 -
 -      * progmodes/octave-mod.el (octave-mode, octave-electric-semi)
 -      (octave-electric-space): Fix typos in docstrings.
 -
 -2010-01-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (minibuffer-with-setup-hook): Doc fix (Bug#5149).
 -
 -2010-01-01  Juri Linkov  <juri@jurta.org>
 -
 -      * comint.el (comint-input-ring-size): Make it a defcustom and
 -      increase the default to 500 (Bug#5148).
 -
 -2009-12-31  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      Further changes from EMACS_23_1_RC branch (2009-12-29 contd).
 -      * term/x-win.el (x-gtk-stock-map): Map some GUD buttons.
 -      * progmodes/gud.el (gud-menu-map): Add reverse-execution commands.
 -
 -2009-12-30  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      Show working revision correctly for mercurial.
 -      * vc-hg.el (vc-hg-working-revision): Use hg parent instead of
 -      hg log as suggested by Alex Harsanyi <alexharsanyi@gmail.com>.
 -
 -2009-12-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Declare some functions for the byte-compiler.
 -      * progmodes/gdb-ui.el (speedbar-change-initial-expansion-list)
 -      (speedbar-timer-fn, speedbar-change-expand-button-char)
 -      (speedbar-delete-subblock, speedbar-center-buffer-smartly): Declare.
 -
 -2009-12-29  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      This changeset reverts GDB Graphical Interface to use annotations.
 -      * progmodes/gdb-ui.el, progmodes/gud.el: Import from EMACS_23_1_RC.
 -
 -2009-12-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Make vc-dir work on subdirectories of the bzr root.
 -      * vc-bzr.el (vc-bzr-after-dir-status): Add new argument.
 -      Return file names relative to it.
 -      (vc-bzr-dir-status, vc-bzr-dir-status-files): Pass the bzr root
 -      relative directory to vc-bzr-after-dir-status.
 -
 -2009-12-28  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * font-lock.el (font-lock-refresh-defaults): New function, which
 -      can be used to let font-lock react to external changes in
 -      variables like font-lock-defaults and keywords.
 -      See http://thread.gmane.org/gmane.emacs.devel/118777/focus=118802
 -
 -2009-12-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-rcs.el (vc-rcs-register): Fix registering a specific version.
 -
 -      * vc-bzr.el (vc-bzr-log-view-mode): Fix short log regexp.
 -
 -2009-12-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Supersede color.diff settings in git log (bug#5211).
 -
 -      * vc-git.el (vc-git-print-log): Pass "--no-color" to log to avoid
 -      escape chars in its output when the user has color.diff set to `always'.
 -      This fix works on git 1.4.2 and newer (released on 2006-08-13).
 -
 -2009-12-26  Kevin Ryde  <user42@zip.com.au>
 -
 -      * info-look.el (sh-mode): Look for coreutils new "Concept Index"
 -      node.  Keep previous "Index" name to work with past coreutils too.
 -
 -      * man.el (man): Revise docstring a bit to show -a and -l as
 -      examples.  Add -k description since support for it has otherwise
 -      been a secret.  (Further to bug#3717.)
 -      (Man-bgproc-sentinel): When "-k foo" produces no output show error
 -      "no matches" rather than "Can't find manpage", as the latter reads
 -      like -k was interpreted as a page name, which is not so.  (Bug#5431)
 -
 -2009-12-26  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Quote "'" in the
 -      switches.  Check also for //SUBDIRED// line.
 -
 -2009-12-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (devanagari-composable-pattern): Fix to
 -      handle ZWNJ and ZWJ.  Use it in composition-function-table for
 -      Devanagari.
 -      (malayalam-composable-pattern): Fix previous change.
 -
 -2009-12-23  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * ps-print.el (ps-face-attributes): It was not returning the
 -      attribute face for faces specified as string.  Reported by harven
 -      <harven@free.fr>.  (Bug#5254)
 -      (ps-print-version): New version 7.3.5.
 -
 -2009-12-18  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * calendar/icalendar.el (icalendar--convert-tz-offset):
 -      Fix timezone names.
 -      (icalendar--convert-tz-offset): Fix the "last-day-problem".
 -      (icalendar--add-diary-entry): Remove the trailing blank that
 -      diary-make-entry inserts.
 -
 -2009-12-17  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Make `file-expand-wildcards' work for remote files.
 -
 -      * files.el (file-expand-wildcards): In case of remote files, check
 -      only local file name part for wildcards.  Provide feature 'files
 -      and subfeature 'remote-wildcards.  (Bug#5198)
 -
 -      * net/tramp.el (tramp-handle-file-remote-p): Expand file name only
 -      if there is already an established connection.
 -      (tramp-advice-file-expand-wildcards): Remove it.
 -
 -      * net/tramp-compat.el (top): Autoload `tramp-handle-file-remote-p'.
 -      (tramp-advice-file-expand-wildcards): Move from tramp.el.
 -      Activate advice for older GNU Emacs versions.  (Bug#5237)
 -
 -2009-12-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Some doc fixes (more needed).
 -
 -      * find-cmd.el (find-constituents): Reflow docstring.
 -      (find-cmd, find-prune, find-command): Fix typos in docstrings.
 -      (find-generic): Doc fix.
 -
 -2009-12-17  Juri Linkov  <juri@jurta.org>
 -
 -      Fix regression from 23.1 to allow multiple modes in Local Variables.
 -
 -      * files.el (hack-local-variables-filter): While ignoring duplicates,
 -      don't take `mode' into account.
 -      (hack-local-variables-filter, hack-dir-local-variables):
 -      Don't remove duplicate `mode' from local-variables-alist (like `eval').
 -
 -2009-12-17  Juri Linkov  <juri@jurta.org>
 -
 -      Make `dired-diff' more safe.  (Bug#5225)
 -
 -      * dired-aux.el (dired-diff): Signal an error when `file' equals to
 -      `current' or when `file' is a directory of the `current' file.
 -
 -2009-12-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * emacs-lisp/autoload.el (batch-update-autoloads): Only exclude
 -      unconditionally preloaded files.
 -
 -2009-12-16  Juri Linkov  <juri@jurta.org>
 -
 -      Revert to old 23.1 logic of using the file at the mark as default.
 -      * dired-aux.el (dired-diff): Use the file at the mark as default
 -      if it's not the same as the current file, and the target dir is
 -      the current dir or the mark is active.  Add the current file
 -      as the arg of `dired-dwim-target-defaults'.  Use the default file
 -      in the prompt.  (Bug#5225)
 -
 -2009-12-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-echo-mark-marker-length): New defconst.
 -      (tramp-echo-mark, tramp-echoed-echo-mark-regexp): Use it.
 -      (tramp-check-for-regexp): Check also, when an echoing shell stops
 -      to echo sent commands.
 -
 -2009-12-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in: Revert last change (Bug#5191).
 -
 -2009-12-14  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hg.el (vc-hg-print-log): Fix argument order.
 -      (vc-hg-working-revision): Make sure the command is executed in a
 -      known environment so that we can parse the output.  (Bug#4417)
 -
 -2009-12-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/python.el (python-symbol-completions): Remove text
 -      properties from symbol string before calling python-send-receive.
 -
 -2009-12-14  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-frame-handler): Only set gud-lat-frame
 -      when there are values for both file and line.  (Bug#5060)
 -
 -2009-12-14  Juri Linkov  <juri@jurta.org>
 -
 -      * ediff-ptch.el (ediff-context-diff-label-regexp): Don't match
 -      whitespace after the file name of the first line of unified format,
 -      because git-diff doesn't output whitespace and file modification time
 -      after the file name.
 -
 -2009-12-14  David Kastrup  <dak@gnu.org>
 -
 -      * info.el (Info-hide-cookies-node): Before hiding a cookie,
 -      check if it already has the `display' property added by
 -      `Info-display-images-node', and not put the `invisible' property
 -      in this case.
 -
 -2009-12-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/emacsbug.el (message-sort-headers): Define for compiler.
 -      (report-emacs-bug): In message-mode, sort manually before storing
 -      original report text.  (Bug#5178)
 -      Remove superfluous save-excursion.
 -
 -2009-12-12  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-property-handler): Filter lambda forms out
 -      when responding to "GetAll" properties.
 -
 -2009-12-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (compose-mail): Remove mail-setup-with-from from
 -      customization checks.
 -
 -2009-12-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * arc-mode.el (archive-rar-summarize): Support Attribute fields in
 -      RAR archives created on Unix systems.
 -
 -2009-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (minibuffer-local-must-match-filename-map): Re-instate
 -      the varalias that was accidentally removed by the 2009-11-19 change
 -      (bug#5186).
 -
 -2009-12-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (indian-compose-regexp): New function.
 -      (malayalam-composable-pattern): Fix the pattern.
 -      (composition-function-table): Set malayalam-composable-pattern for
 -      Malayalam characters.
 -
 -2009-12-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/bug-reference.el (bug-reference-map): Bind mouse-2
 -      rather than down-mouse-1, based on follow-link conventions.
 -
 -      * makefile.w32-in: Ensure that Lisp files in CEDET subdirectories
 -      are compiled.
 -
 -2009-12-11  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-vmm-begin-re, verilog-vmm-end-re)
 -      (verilog-vmm-statement-re, verilog-ovm-statement-re)
 -      (verilog-defun-level-not-generate-re, verilog-calculate-indent)
 -      (verilog-leap-to-head, verilog-backward-token):
 -      Fix indenting VMM macros.  Reported by Jonathan Ashbrook.
 -
 -2009-12-11  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/verilog-mode.el (verilog-auto-lineup)
 -      (verilog-nameable-item-re): Cleanup user-visible spelling and
 -      documentation errors.  One reported by Gary Delp.
 -      (verilog-submit-bug-report): Mention bug tracking and CC co-author.
 -      (verilog-read-decls): Fix AUTOWIRE with types declared in a
 -      package, bug195.  Reported by Pierre-David Pfister.
 -
 -2009-12-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/cc-engine.el (safe-pos-list): Define for compiler.
 -
 -      * mail/emacsbug.el: No longer require sendmail.
 -      Replace sendmail's `mail-text' by `rfc822-goto-eoh'.  (Bug#5174)
 -      (report-emacs-bug-orig-text): Doc fix.
 -      (report-emacs-bug-send-command, report-emacs-bug-send-hook):
 -      New local variables, to adapt to different mail-user-agents.
 -      (report-emacs-bug): Fix test for a gnu.org address.
 -      Use overlays for emphasis, since font-lock defeats 'face property.
 -      Pretest bugs also end up at the newsgroup these days.
 -      Stop message-mode stripping text properties.
 -      Set and use the new buffer-local variables.
 -      (report-emacs-bug-hook): Add doc-string.
 -      Remove some unnecessary save-excursions and simplify.
 -      Use the appropriate hook and send-command.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Standardize the
 -      capitalization of some menu entries.
 -
 -2009-12-10  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * whitespace.el (whitespace-display-char-on):
 -      Ensure `buffer-display-table' is unique when two or more windows are
 -      visible.  Reported by Martin Pohlack <mp26@os.inf.tu-dresden.de>.
 -      New version 12.1.
 -
 -2009-12-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * arc-mode.el (archive-rar-summarize): Allow between 6 and 7
 -      characters in the Attribute field.
 -
 -2009-12-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-svn.el (vc-svn-after-dir-status): Fix regexp.  (Bug#4741)
 -
 -2009-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Let loaddefs.el adjust to changes in autoload-excludes (bug#5162).
 -      * emacs-lisp/autoload.el (autoload-generate-file-autoloads):
 -      Disregard autoload-excludes.
 -      (update-directory-autoloads): Obey autoload-excludes here instead.
 -      But don't store its contents in no-autoloads and remove entries that
 -      refer to excludes files.
 -
 -2009-12-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/feedmail.el (top-level): Move require 'mail-utils to start.
 -      (expand-mail-aliases): Define for compiler.
 -
 -      * vc-annotate.el (log-view-vc-backend, log-view-vc-fileset):
 -      Define for compiler.
 -
 -      * mail/emacsbug.el (report-emacs-bug): Use whichever send command is
 -      appropriate for the mail-user-agent in use.
 -
 -2009-12-09  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Suppress error messages.
 -
 -2009-12-09  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix short log parsing and fontification.
 -      * vc-bzr.el (vc-bzr-log-view-mode): Match dot in revision number.
 -      Fix fontification for the [merge] label.
 -
 -2009-12-09  Vivek Dasmohapatra  <vivek@etla.org>
 -
 -      Drop some properties to avoid surprises.
 -      * htmlfontify.el (hfy-ignored-properties): New defcustom.
 -      (hfy-fontify-buffer): Use it.
 -
 -2009-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Minor cleanup.
 -      * ffap.el (ffap-symbol-value): Replace ffap-soft-value.
 -      Adjust all callers.
 -      (ffap-locate-file): Remove unused arg `dir-ok' and make other
 -      args compulsory.  Adjust callers.
 -      (ffap-gopher-at-point): Remove unused var `name'.
 -
 -      Get rid of the ELCFILES abomination.
 -      * Makefile.in (update-elclist, ELCFILES, compile-last): Remove.
 -      (compile-elcfiles): New phony target.
 -      (compile-main): Compute ELCFILES dynamically.
 -      (compile-clean): New target to remove left-over elc files.
 -      (compile, all): Use it.
 -
 -2009-12-09  Kenichi Handa  <handa@etlken>
 -
 -      * international/mule-diag.el: Require help-mode instead of help-fns.
 -
 -2009-12-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-cmds.el (ucs-names): Supply sufficiently
 -      fine ranges instead of pre-calculating accurate ranges.
 -      Iterate with bigger gc-cons-threshold.
 -
 -2009-12-08  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Add support for stashing a snapshot of the current tree.
 -      * vc-git.el (vc-git-stash-snapshot): New function.
 -      (vc-git-stash-map, vc-git-extra-menu-map): Add a mapping for it.
 -
 -2009-12-08  Jose E. Marchesi  <jemarch@gnu.org>
 -
 -      * play/gomoku.el (gomoku-mode-map): Remap `move-(beginning|end)-of-line'
 -      instead of `(beginning|end)-of-line'.
 -
 -2009-12-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-mtn.el (vc-mtn-print-log): Fix typo in previous.
 -
 -      * Makefile.in (ELCFILES): Regenerate.
 -
 -2009-12-07  Juri Linkov  <juri@jurta.org>
 -
 -      Don't lazy-highlight the comint output in history Isearch mode.
 -
 -      * comint.el (comint-history-isearch-search): Instead of
 -      `comint-line-beginning-position', use `comint-after-pmark-p'
 -      to check if point if before the process mark, and go to
 -      `process-mark' in this case.
 -
 -2009-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/tex-mode.el (latex-complete)
 -      (latex-indent-or-complete): Remove.
 -      (latex-mode): Set completion-at-point-functions instead.
 -
 -      Provide a standard completion command and hook it into TAB.
 -      * minibuffer.el (completion-at-point-functions): New var.
 -      (completion-at-point): New command.
 -      * indent.el (indent-for-tab-command): Handle the `complete' behavior.
 -      * progmodes/python.el (python-mode-map): Use completion-at-point.
 -      (python-completion-at-point): Rename from python-partial-symbol and
 -      adjust for use in completion-at-point-functions.
 -      (python-mode): Setup completion-at-point for Python completion.
 -      * emacs-lisp/lisp.el (lisp-completion-at-point): New function
 -      extracted from lisp-complete-symbol.
 -      (lisp-complete-symbol): Use it.
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode): Use define-derived-mode,
 -      setup completion-at-point for Elisp completion.
 -      (emacs-lisp-mode-map, lisp-interaction-mode-map):
 -      Use completion-at-point.
 -      * ielm.el (ielm-map): Use completion-at-point.
 -      (inferior-emacs-lisp-mode): Setup completion-at-point-functions.
 -      * progmodes/sym-comp.el: Move to...
 -      * obsolete/sym-comp.el: Move from progmodes.
 -
 -2009-12-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Prevent save-buffer in Rmail buffers from using the coding-system
 -      of the current message, and from clobbering the encoding mnemonics
 -      in the mode line (Bug#4623).
 -
 -      * mail/rmail.el (rmail-swap-buffers): Swap encoding and modified
 -      flag, too.
 -      (rmail-message-encoding): New variable.
 -      (rmail-write-region-annotate): Record the encoding of the current
 -      message in rmail-message-encoding.
 -      (rmail-after-save-hook): New function, restores the encoding of
 -      the current message after the message collection is saved.
 -
 -2009-12-07  Juri Linkov  <juri@jurta.org>
 -
 -      * progmodes/grep.el (grep-read-files): Use `completing-read'
 -      instead of `read-string'.  Set its `collection' arg to
 -      `read-file-name-internal'.  (Bug#4301)
 -
 -2009-12-07  Juri Linkov  <juri@jurta.org>
 -
 -      Correctly restore original Isearch point.  (Bug#4994)
 -
 -      * isearch.el (isearch-mode): Move `isearch-push-state' after
 -      `(run-hooks 'isearch-mode-hook)'.
 -      (isearch-cancel): When `isearch-push-state-function' is defined,
 -      let-bind `isearch-cmds' to the first state (the last element of
 -      `isearch-cmds') and call `isearch-top-state' (it calls pop-state
 -      function and restores the original point).  Otherwise, move point
 -      to `isearch-opoint'.
 -
 -2009-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * international/mule-cmds.el (ucs-names): Weed out at compile-time the
 -      chars that don't have names, so the table can be built much faster at
 -      run-time.
 -
 -2009-12-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * vc-bzr.el (vc-bzr-annotate-command): More elegant form for last
 -      change.  Suggested by David Kastrup.
 -
 -      * simple.el (compose-mail): Check for incompatibilities and warn.
 -      (compose-mail-user-agent-warnings): New option.
 -
 -2009-12-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Support showing a single log entry from vc-annotate.
 -      * vc.el (print-log): Add a new argument: START-REVISION.
 -      (vc-print-log-internal): Add a new optional argument and
 -      pass it to the backend.
 -      (vc-print-log, vc-print-root-log): Adjust callers.
 -      * vc-annotate.el (vc-annotate-show-log-revision-at-line): If a
 -      buffer already displays the requested log entry, use it.
 -      Otherwise display only the log entry in question.
 -      * vc-svn.el (vc-svn-print-log):
 -      * vc-mtn.el (vc-mtn-print-log):
 -      * vc-hg.el (vc-hg-state):
 -      * vc-git.el (vc-git-print-log): Add support for new argument START-REVISION.
 -      (vc-git-show-log-entry): Return t on success.
 -      * vc-bzr.el (vc-bzr-print-log): Add support new argument START-REVISION.
 -      (vc-bzr-show-log-entry): Return t on success.
 -      * vc-rcs.el (vc-rcs-print-log):
 -      * vc-sccs.el (vc-sccs-print-log):
 -      * vc-cvs.el (vc-cvs-print-log): Add new argument, ignore it.
 -
 -2009-12-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * ediff-mult.el (ediff-setup-meta-map, ediff-prepare-meta-buffer):
 -      Add menus to the meta mode.  (Bug#5043)
 -
 -2009-12-07  Michael Kifer  <kifer@cs.stonybrook.edu>
 -
 -      * ediff-init.el (ediff-event-key): Use event-to-character instead of
 -      event-key.
 -
 -      * ediff.el (ediff-buffers-internal): Add unwind-protect.
 -
 -2009-12-07  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Handle prompt rules of ksh in OpenBSD 4.5.  Reported by Raphaël
 -      Berbain <raphael.berbain@gmail.com>.
 -
 -      * net/tramp.el (tramp-end-of-output): Move up.  Use `#' and `$'
 -      characters.
 -      (tramp-initial-end-of-output): New defconst.
 -      (tramp-methods, tramp-find-shell)
 -      (tramp-open-connection-setup-interactive-shell)
 -      (tramp-maybe-open-connection): Use it.
 -      (tramp-shell-prompt-pattern, tramp-wait-for-output):
 -      Handle existence of `#' and `$'.
 -
 -      * net/tramp-fish.el (tramp-fish-maybe-open-connection):
 -      Use `tramp-initial-end-of-output'.
 -
 -2009-12-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Get the background mode from the terminal for xterm, and set
 -      faces accordingly.
 -      * term/xterm.el (xterm-set-background-mode): New function.
 -      (terminal-init-xterm): Use it in case xterm supports background
 -      color queries.  Recompute faces after getting the background
 -      color.
 -
 -2009-12-07  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-insert-header): Put the version
 -      number comment back on its own line, for easier parsing.
 -
 -2009-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make it work for non-file buffers (bug#5102).
 -      * doc-view.el (doc-view-current-cache-dir):
 -      Use doc-view-buffer-file-name rather than buffer-file-name.
 -      (doc-view-mode): Use buffer-name when buffer-file-name is nil.
 -
 -2009-12-06  Óscar Fuentes  <ofv@wanadoo.es>
 -
 -      * vc-bzr.el (vc-bzr-annotate-command): Handle the case where the
 -      author field is too short.
 -
 -2009-12-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-print-log): Handle a limit argument.
 -      Display the short log in graph form and with labels.
 -      (vc-git-log-view-mode): Handle labels.
 -
 -      Make vc-revert change VC state from 'added to 'unregistered.
 -      * vc-git.el (vc-git-revert): Call git reset first.
 -
 -2009-12-06  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * net/newst-backend.el, net/newst-plainview.el:
 -      * net/newst-reader.el, net/newst-ticker.el:
 -      * net/newst-treeview.el, net/newsticker.el:
 -      Require/provide newst-... (instead of newsticker-...).  (Bug#5096)
 -
 -2009-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * log-view.el (log-view-mode-map): Bind "=" to log-view-diff too.
 -
 -      * vc-bzr.el (vc-bzr-annotate-command): Show author in annotation.
 -      Handle empty author field (Bug#4144).  Suggested by Óscar Fuentes.
 -      (vc-bzr-annotate-time, vc-bzr-annotate-extract-revision-at-line):
 -      Update annotation regexp.
 -
 -      * simple.el (beginning-of-visual-line): Constrain to field
 -      boundaries (Bug#5106).
 -
 -2009-12-06  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * xml.el (xml-substitute-numeric-entities):
 -      Move newsticker--decode-numeric-entities in newst-backend.el to
 -      xml-substitute-numeric-entities in xml.el.  (Bug#5008)
 -      * net/newst-backend.el (newsticker--parse-generic-feed)
 -      (newsticker--parse-generic-items)
 -      (newsticker--decode-numeric-entities):
 -      Move newsticker--decode-numeric-entities in newst-backend.el to
 -      xml-substitute-numeric-entities in xml.el.  (Bug#5008)
 -
 -2009-12-06  Daniel Colascione  <dan.colascione@gmail.com>
 -
 -      * progmodes/js.el (js--js-not): Add null to the list of values.
 -
 -2009-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * ansi-color.el (ansi-color-for-comint-mode): Add :version keyword.
 -
 -2009-12-06  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * textmodes/bibtex.el (bibtex-enclosing-field): Exclude entry
 -      delimiter if it is at the end of the current line.
 -      (bibtex-generate-url-list): Fix docstring.
 -
 -2009-12-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (minibuffer-complete-and-exit): Don't replace the
 -      minibuffer's content with itself.
 -      Fold the confirm-after-completion case into the `confirm' case.
 -      (completion-pcm-word-delimiters): Add : and / to the delimiters.
 -
 -2009-12-06  Kevin Ryde  <user42@zip.com.au>
 -
 -      * ffap.el (ffap-rfc-path): Make this a defcustom since
 -      `ffap-rfc-directories' is also a defcustom.  (Bug#4514.)
 -
 -      * info-look.el: Add setup for apropos-mode to use emacs-lisp-mode
 -      manuals, similar to existing setup for help-mode.  (Bug#3913.)
 -
 -2009-12-05  Juri Linkov  <juri@jurta.org>
 -
 -      Save and restore dired buffer's point positions too.  (Bug#4880)
 -
 -      * dired.el (dired-save-positions): Return in the first element
 -      buffer's position in format (BUFFER DIRED-FILENAME BUFFER-POINT).
 -      Doc fix.
 -      (dired-restore-positions): First restore buffer's position.
 -      While restoring window's positions, check if window still displays
 -      the original buffer.
 -
 -2009-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * bindings.el (complete-symbol): Call semantic-ia-complete-symbol
 -      if possible.
 -
 -      * shell.el (shell): Require ansi-color (Bug#5113).
 -
 -      * ansi-color.el (ansi-color-for-comint-mode): Default to t.
 -
 -      * hl-line.el (global-hl-line-highlight): Minor doc fix (Bug#4925).
 -
 -2009-12-05  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-mode.el (c-before-hack-hook)
 -      (c-postprocess-file-styles): Revert change 2009-07-18T21:03:43Z!acm@muc.de to permit
 -      `c-file-style' to work again.  This reversion restores the current
 -      software to its state in Emacs 23.1.  (Bug#4146)
 -
 -2009-12-05  Kevin Ryde  <user42@zip.com.au>
 -
 -      * textmodes/sgml-mode.el (sgml-lexical-context):
 -      Recognise comment-start-skip to comment-end-skip as comment (Bug#4781).
 -
 -2009-12-05  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el (Info-find-node-2): Set `Info-current-subfile' to nil
 -      for virtual nodes.  (Bug#4147)
 -      (Info-find-node-2): Set `Info-current-node-virtual' to nil
 -      when moving from a virtual node.
 -      (Info-mode-menu): Add `Info-virtual-index' to the menu.
 -      (Info-mode): Add `Info-virtual-index' to the docstring.
 -
 -2009-12-05  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * textmodes/bibtex.el (bibtex-map-entries): Use marker to keep
 -      track of the buffer position of the end of a BibTeX entry as this
 -      position may change during reformatting.
 -      (bibtex-format-entry): Remove whitespace before processing
 -      numerical fields so that we recognize the latter properly.
 -      (bibtex-reformat): Do not use push which changes the global value
 -      of bibtex-entry-format.
 -      (bibtex-field-braces-alist, bibtex-field-strings-alist)
 -      (bibtex-field-re-init): Replace only space characters by regexp
 -      for whitespace.
 -      (bibtex-generate-url-list, bibtex-cite-matcher-alist): Fix docstring.
 -      (bibtex-initialize): Also update bibtex-strings.
 -      (bibtex-kill-field): Preserve white space at end of entry.
 -      (bibtex-kill-entry, bibtex-yank-pop, bibtex-insert-kill):
 -      Update bibtex-reference-keys.
 -
 -2009-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion-pcm--merge-try): Also consider placing
 -      point after a star, if that's the only place where modifications can
 -      make progress.
 -
 -2009-12-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dir.el (vc-dir): Use the correct markup for showing keymaps
 -      in docstrings.
 -
 -2009-12-04  Juri Linkov  <juri@jurta.org>
 -
 -      * proced.el (proced): Call `(proced-update t)' to update process
 -      information instead of only running proced-post-display-hook.
 -      (proced-send-signal): Add a leading space to the buffer name
 -      " *Marked Processes*" to make this buffer ephemeral.
 -
 -2009-12-04  Juri Linkov  <juri@jurta.org>
 -
 -      * dired.el (dired-auto-revert-buffer): New defcustom.
 -      (dired-internal-noselect): Use it.
 -
 -2009-12-04  Juri Linkov  <juri@jurta.org>
 -
 -      Change roles of modes and functions in image-mode.el (Bug#5062).
 -
 -      * image-mode.el: Replace `image-mode-maybe' with `image-mode'
 -      in `auto-mode-alist'.
 -      (image-mode-previous-major-mode): New variable.
 -      (image-minor-mode-map): Rename from `image-mode-text-map'.
 -      (image-mode): Move graceful error-handling code from
 -      `image-minor-mode' to here.  On errors call `image-mode-as-text'.
 -      (image-minor-mode): Remove all image-handling code.
 -      Replace `image-mode-text-map' with `image-minor-mode-map'.
 -      Check for `image-type' in mode-line format string.
 -      (image-mode-maybe): Make obsolete with an alias to `image-mode'.
 -      (image-mode-as-text): New function with most code from
 -      `image-mode-maybe'.
 -      (image-toggle-display-text): Move code that removes image
 -      properties from `image-toggle-display' to here.
 -      (image-toggle-display-image): New function with code that adds
 -      image properties copied from `image-toggle-display'.
 -      (image-toggle-display): Remove most code with leaving only code
 -      that toggles between `image-mode-as-text' and `image-mode'.
 -
 -2009-12-04  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * net/newst-treeview.el
 -      (newsticker--treeview-list-highlight-start): Restored call to
 -      save-excursion: Selected item was stuck.
 -      (newsticker--treeview-list-select): New.
 -      (newsticker--treeview-item-show-text)
 -      (newsticker--treeview-item-show)
 -      (newsticker--treeview-item-update): Use new
 -      newsticker-treeview-item-mode.
 -      (newsticker-treeview-update): Keep current item.
 -      (newsticker-treeview-next-new-or-immortal-item): Doc change.
 -      (newsticker--treeview-first-feed): Doc change.
 -      (newsticker-treeview-list-menu)
 -      (newsticker-treeview-item-menu): Add menu entries.
 -      (newsticker-treeview-item-mode): New.
 -
 -      * net/newst-backend.el (newsticker-customize): Delete other
 -      windows.
 -
 -2009-12-04  Sam Steingold  <sds@gnu.org>
 -
 -      * log-view.el (log-view-mode-map): "q" calls quit-window,
 -      like in all the other non-self-insert buffers.
 -
 -2009-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Minor cleanup.
 -      * term.el (term-send-raw, term-send-raw-meta): Use read-key-sequence's
 -      key decoding rather than do it manually via last-input-event +
 -      ascii-character.
 -      (term-exec): Use delete-and-extract-region.
 -      (term-handle-ansi-terminal-messages): Remove unused var `end'.
 -      (term-process-pager): Remove unused var `i'.
 -      (term-dynamic-simple-complete): Make obsolete.
 -      (serial-update-config-menu): Remove unused vars `y' and `str'.
 -      (term-update-mode-line): Remove unused var `temp'.
 -
 -2009-12-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Limit the number of log entries displayed by default.
 -      * vc.el (vc-print-log-internal): Fix check for limit-unsupported.
 -      (vc-print-log, vc-print-root-log): Use vc-log-show-limit when not
 -      using a prefix argument.
 -
 -2009-12-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/idlwave.el (class): Restore still useful declaration.
 -
 -2009-12-03  Alan Mackenzie  <acm@muc.de>
 -
 -      Enhance `c-parse-state' to run efficiently in "brace deserts".
 -
 -      * progmodes/cc-mode.el (c-basic-common-init):
 -      Call c-state-cache-init.
 -      (c-neutralize-syntax-in-and-mark-CPP): Rename from
 -      c-extend-and-neutralize-syntax-in-CPP.  Mark each CPP construct by
 -      placing `category' properties value 'c-cpp-delimiter at its boundaries.
 -
 -      * progmodes/cc-langs.el (c-before-font-lock-function):
 -      c-extend-and-neutralize-syntax-in-CPP has been renamed
 -      c-neutralize-syntax-in-and-mark-CPP.
 -
 -      * progmodes/cc-fonts.el (c-cpp-matchers): Mark template brackets
 -      with `category' properties now, not `syntax-table' ones.
 -
 -      * progmodes/cc-engine.el (c-syntactic-end-of-macro): A new
 -      enhanced (but slower) version of c-end-of-macro that won't land
 -      inside a literal or on another awkward character.
 -      (c-state-cache-too-far, c-state-cache-start)
 -      (c-state-nonlit-pos-interval, c-state-nonlit-pos-cache)
 -      (c-state-nonlit-pos-cache-limit, c-state-point-min)
 -      (c-state-point-min-lit-type, c-state-point-min-lit-start)
 -      (c-state-min-scan-pos, c-state-brace-pair-desert)
 -      (c-state-old-cpp-beg, c-state-old-cpp-end): New constants and
 -      buffer local variables.
 -      (c-state-literal-at, c-state-lit-beg)
 -      (c-state-cache-non-literal-place, c-state-get-min-scan-pos)
 -      (c-state-mark-point-min-literal, c-state-cache-top-lparen)
 -      (c-state-cache-top-paren, c-state-cache-after-top-paren)
 -      (c-get-cache-scan-pos, c-get-fallback-scan-pos)
 -      (c-state-balance-parens-backwards, c-parse-state-get-strategy)
 -      (c-renarrow-state-cache)
 -      (c-append-lower-brace-pair-to-state-cache)
 -      (c-state-push-any-brace-pair, c-append-to-state-cache)
 -      (c-remove-stale-state-cache)
 -      (c-remove-stale-state-cache-backwards, c-state-cache-init)
 -      (c-invalidate-state-cache-1, c-parse-state-1)
 -      (c-invalidate-state-cache): New defuns/defmacros/defsubsts.
 -      (c-parse-state): Enhance and refactor.
 -      (c-debug-parse-state): Amend to deal with all the new variables.
 -
 -      * progmodes/cc-defs.el (c-<-as-paren-syntax, c-mark-<-as-paren)
 -      (c->-as-paren-syntax, c-mark->-as-paren, c-unmark-<->-as-paren):
 -      modify to use category text properties rather than syntax-table ones.
 -      (c-suppress-<->-as-parens, c-restore-<->-as-parens): New defsubsts
 -      to switch off/on the syntactic paren property of C++ template
 -      delimiters using the category property.
 -      (c-with-<->-as-parens-suppressed): Macro to invoke code with
 -      template delims suppressed.
 -      (c-cpp-delimiter, c-set-cpp-delimiters, c-clear-cpp-delimiters):
 -      New constant/macros which apply category properties to the start
 -      and end of preprocessor constructs.
 -      (c-comment-out-cpps, c-uncomment-out-cpps): Defsubsts which
 -      "comment out" the syntactic value of characters in preprocessor
 -      constructs.
 -      (c-with-cpps-commented-out)
 -      (c-with-all-but-one-cpps-commented-out): Macros to invoke code
 -      with characters in all or all but one preprocessor constructs
 -      "commented out".
 -
 -2009-12-03  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * proced.el (proced-filter-alist): Use regexp-quote.
 -
 -2009-12-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Cleanup.
 -      * eshell/em-unix.el (top): Require 'esh-opt and 'pcomplete.
 -      (eshell/su, eshell/sudo): Require 'tramp.  Fix problems reading
 -      arguments.  Expand `default-directory'.
 -
 -      * net/tramp.el (tramp-handle-file-remote-p): Expand FILENAME for
 -      the benefit of returning an expanded localname.
 -      (tramp-tramp-file-p): Handle the case NAME is not a string.
 -
 -2009-12-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Add support for bzr shelve/unshelve.
 -      * vc-bzr.el (vc-bzr-shelve-map, vc-bzr-shelve-menu-map)
 -      (vc-bzr-extra-menu-map): New variables.
 -      (vc-bzr-extra-menu, vc-bzr-extra-status-menu, vc-bzr-shelve)
 -      (vc-bzr-shelve-apply, vc-bzr-shelve-list)
 -      (vc-bzr-shelve-get-at-point, vc-bzr-shelve-delete-at-point)
 -      (vc-bzr-shelve-apply-at-point, vc-bzr-shelve-menu): New functions.
 -      (vc-bzr-dir-extra-headers): Display shelves.
 -
 -      * vc-bzr.el (vc-bzr-print-log): Deal with nil arguments better.
 -
 -2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/bibtex.el (bibtex-complete-internal):
 -      Use completion-in-region.
 -      (bibtex-text-in-field-bounds): Remove unused var `opoint'.
 -
 -2009-12-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Support applying stashes.  Improve UI.
 -      * vc-git.el (vc-git-dir-extra-headers): Add tooltips.
 -      (vc-git-stash-apply, vc-git-stash-pop)
 -      (vc-git-stash-apply-at-point, vc-git-stash-pop-at-point)
 -      (vc-git-stash-menu): New functions.
 -      (vc-git-stash-menu-map): New variable.
 -      (vc-git-stash-map): Add bindings to popup a menu and to apply stashes.
 -
 -2009-12-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc.el (log-view-vc-backend, log-view-vc-fileset): Declare.
 -      (vc-print-log-internal): Fix previous change.
 -      (vc-revert): Correct pluralization.
 -
 -2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/make-mode.el (makefile-special-targets-list): No need for
 -      it to be an alist any more.
 -      (makefile-complete): Use completion-in-region.
 -
 -      * progmodes/octave-mod.el (octave-complete-symbol):
 -      Use completion-in-region.
 -
 -      Misc cleanup.
 -      * progmodes/idlwave.el (idlwave-comment-hook): Simplify with `or'.
 -      (idlwave-code-abbrev, idlwave-display-user-catalog-widget)
 -      (idlwave-complete-class): Don't quote lambda.
 -      (idlwave-find-symbol-syntax-table, idlwave-mode-syntax-table)
 -      (idlwave-mode-map): Move initialization into declaration.
 -      (idlwave-action-and-binding): Use backquotes.
 -      (idlwave-in-quote, idlwave-reset-sintern, idlwave-complete-in-buffer):
 -      Simplify.
 -      (idlwave-is-pointer-dereference): Remove unused var `pos'.
 -      (idlwave-xml-create-rinfo-list): Remove unused var `entry'.
 -      (idlwave-convert-xml-clean-sysvar-aliases): Remove unused vars `new',
 -      `parts', and `all-parts'.
 -      (idlwave-xml-create-sysvar-alist): Remove unused var `fields'.
 -      (idlwave-convert-xml-system-routine-info): Remove unused string
 -      `version-string'.
 -      (idlwave-display-user-catalog-widget): Use dolist.
 -      (idlwave-scanning-lib): Declare dynamically-scoped var.
 -      (idlwave-scan-library-catalogs): Remove unused var `flags'.
 -      (completion-highlight-first-word-only): Declare to silence bytecomp.
 -      (idlwave-popup-select): Tighten scope of `resp'.
 -      (idlwave-find-struct-tag): Remove unused var `beg'.
 -      (idlwave-after-load-rinfo-hook): Declare.
 -      (idlwave-sintern-class-info): Remove unused var `taglist'.
 -      (idlwave-find-class-definition): Remove unused var `list'.
 -      (idlwave-complete-sysvar-tag-help): Remove unused var `main-base'.
 -      (idlwave-what-module-find-class): Remove unused var `classes'.
 -
 -2009-12-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * progmodes/pascal.el: Require CL when compiling (for lexical-let).
 -
 -2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * hippie-exp.el (try-expand-dabbrev-visible): Preserve point in the
 -      buffers visited.  Remove redundant current-buffer-saving.
 -
 -2009-12-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Use completion-in-buffer and remove uses of dynamic scoping.
 -      * progmodes/pascal.el (pascal-str, pascal-all, pascal-pred)
 -      (pascal-buffer-to-use, pascal-flag): Don't declare.
 -      (pascal-func-completion, pascal-type-completion, pascal-var-completion)
 -      (pascal-get-completion-decl, pascal-keyword-completion):
 -      Add `pascal-str' argument, save-excursion,
 -      return the found completions, and don't filter with pascal-pred.
 -      (pascal-completion-cache): New var.
 -      (pascal-completion): Don't switch buffer any more (it was never
 -      necessary).  Don't save-excursion any more (it's done by the called
 -      subroutines).  Use a cache to avoid redundant computations.
 -      Use complete-with-action rather than pascal-completion-response and
 -      let it apply the predicate as well.
 -      (pascal-complete-word): Use completion-in-buffer when
 -      pascal-toggle-completions is nil.
 -      (pascal-show-completions): Don't bind pascal-buffer-to-use since it's
 -      not used any more.
 -      (pascal-comp-defun): Don't change buffer any more.
 -      Use complete-with-action rather than pascal-completion-response and
 -      let it apply the predicate as well.
 -      (pascal-goto-defun): Change buffer before calling pascal-comp-defun
 -      when neded.
 -
 -2009-12-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el: Include ZWJ and ZWNJ in the patterns to
 -      shape for all Indic scripts.
 -
 -2009-12-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Use completion-in-buffer.
 -      * wid-edit.el (widget-field-text-end): New function.
 -      (widget-field-value-get): Use it.
 -      (widget-string-complete, widget-file-complete)
 -      (widget-color-complete): Use it and completion-in-region.
 -      (widget-complete): Don't narrow the buffer.
 -
 -2009-12-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmail.el (rmail-pop-to-buffer): New function.  (Bug#2282)
 -      (rmail-select-summary): Use rmail-pop-to-buffer.
 -      * mail/rmailsum.el: Replace all pop-to-buffer calls with
 -      rmail-pop-to-buffer, to prevent horizontal splits.
 -
 -      * calendar/diary-lib.el (diary-list-entries): Replace superfluous
 -      save-excursion with save-current-buffer.
 -      Widen before searching.  (Bug#5093)
 -      (diary-list-sexp-entries): Remove superfluous save-excursion.
 -
 -2009-12-02  Michael Welsh Duggan  <mwd@cert.org>
 -
 -      * woman.el (woman-make-bufname): Handle man-pages with "." in the
 -      name.  (Bug#5038)
 -
 -2009-12-02  Andreas Politz  <politza@fh-trier.de>  (tiny change)
 -
 -      * ido.el (ido-file-internal): Handle filenames at point that do
 -      not have a directory part.  (Bug#5049)
 -
 -2009-12-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * mpc.el (mpc-intersection, mpc-host, mpc-songs-playlist)
 -      (mpc-songs-jump-to, mpc-resume): Doc fixes.
 -
 -2009-12-01  Rob Riepel  <riepel@networking.Stanford.EDU>
 -
 -      * emulation/tpu-extras.el (tpu-cursor-free-mode): Emit message.
 -      (tpu-set-cursor-free, tpu-set-cursor-bound): Don't emit a message
 -      any more.
 -
 -2009-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * comint.el (comint-insert-input): Ignore clicks to the right of
 -      the field.  Reported by Bob Nnamtrop <bobnnamtrop@gmail.com>.
 -
 -      * vc.el (vc-print-log-internal): Don't wait for the process to
 -      terminate before setting up the major mode.
 -
 -      * pcmpl-unix.el (pcomplete/cd): Complete more than one argument, just
 -      in case.
 -
 -      * pcomplete.el (pcomplete-std-complete): Don't try to complete past
 -      the last element.
 -
 -      * simple.el (normal-erase-is-backspace-mode): Fix thinko in message.
 -
 -2009-12-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * window.el (window--display-buffer-2): Fix previous changes.
 -
 -2009-12-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/sendmail.el (mail-setup-hook, mail-send-hook): Doc fixes.
 -
 -2009-12-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Add mpc.elc.
 -
 -2009-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mpc.el: New file.
 -
 -2009-12-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * window.el (window-to-use): Define for compiler.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Make message
 -      consistent with others (no final period).
 -
 -      * mail/rmailmm.el (rmail-mime-handle): Doc fix.
 -      (rmail-mime-show): Downcase the encoding.  (Bug#5070)
 -
 -2009-12-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Make vc-print-log buttons work.
 -      * log-view.el (log-view-mode-map): Inherit from widget-keymap.
 -
 -2009-11-30  Ryan C. Thompson  <rct@thompsonclan.org>  (tiny change)
 -
 -      * savehist.el (savehist-autosave-interval): Allow setting to nil
 -      through customize.  (Bug#5056)
 -
 -2009-11-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Fix references to jit-lock properties.
 -      * progmodes/perl-mode.el (perl-font-lock-syntactic-keywords):
 -      Refer to jit-lock-defer-multiline, not jit-lock-multiline.
 -      (perl-font-lock-special-syntactic-constructs):
 -      Quote jit-lock-defer-multiline property.
 -
 -2009-11-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-registered): Call vc-git-root only once.
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * misearch.el (multi-isearch-search-fun): Always provide a non-nil
 -      value `buffer' of `multi-isearch-next-buffer-current-function'.
 -      Use `(current-buffer)' when `buffer' is nil.
 -      (multi-isearch-next-buffer-from-list): Don't fallback to
 -      `(current-buffer)' when `buffer' is nil.  (Bug#4947)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * misearch.el (multi-isearch-read-buffers): Move canonicalization
 -      of buffers with `get-buffer' to `multi-isearch-buffers'.
 -      (multi-isearch-buffers, multi-isearch-buffers-regexp):
 -      Canonicalize BUFFERS with `get-buffer'.  Doc fix.
 -      (multi-isearch-files, multi-isearch-files-regexp): Canonicalize
 -      FILES with `expand-file-name' converting relative file names
 -      to absolute.  Doc fix.  (Bug#4727)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * misearch.el (multi-isearch-read-buffers)
 -      (multi-isearch-read-matching-buffers): New functions.
 -      (multi-isearch-buffers, multi-isearch-buffers-regexp):
 -      Use them in the `interactive' spec.  Doc fix.
 -      (multi-isearch-read-files, multi-isearch-read-matching-files):
 -      New functions.
 -      (multi-isearch-files, multi-isearch-files-regexp):
 -      Use them in the `interactive' spec.  Doc fix.  (Bug#4725)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * doc-view.el (doc-view-continuous):
 -      Rename from `doc-view-continuous-mode'.
 -      (doc-view-menu): Move "Toggle display" to the top.
 -      Add submenu "Continuous" with radio buttons "Off"/"On"
 -      and "Save as Default".
 -      (doc-view-scroll-up-or-next-page)
 -      (doc-view-scroll-down-or-previous-page)
 -      (doc-view-next-line-or-next-page)
 -      (doc-view-previous-line-or-previous-page):
 -      Rename `doc-view-continuous-mode' to `doc-view-continuous'.  (Bug#4896)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * comint.el (comint-mode-map): Rebind `M-r' from
 -      `comint-previous-matching-input' to
 -      `comint-history-isearch-backward-regexp'.
 -      Unbind `M-s' to allow global key binding `M-s'.
 -      Add menu items for `comint-history-isearch-backward' and
 -      `comint-history-isearch-backward-regexp'.  (Bug#3746)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * replace.el (perform-replace): Let-bind recenter-last-op to nil.
 -      For def=recenter, replace `recenter' with `recenter-top-bottom'
 -      that is called with `this-command' and `last-command' let-bound
 -      to `recenter-top-bottom'.  When the last `def' was not `recenter',
 -      set `recenter-last-op' to nil.  (Bug#4981)
 -
 -2009-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Minor cleanup and simplification.
 -      * filecache.el (file-cache-add-directory)
 -      (file-cache-add-directory-recursively)
 -      (file-cache-add-from-file-cache-buffer)
 -      (file-cache-delete-file-regexp, file-cache-delete-directory)
 -      (file-cache-files-matching-internal, file-cache-display): Use dolist.
 -      (file-cache-temp-minibuffer-message): Delete function.
 -      (file-cache-minibuffer-complete): Use minibuffer-message instead.
 -
 -      * progmodes/perl-mode.el (perl-font-lock-special-syntactic-constructs):
 -      Don't signal an error when bumping into EOB in tr, s, or y.
 -
 -2009-11-29  Juri Linkov  <juri@jurta.org>
 -
 -      * startup.el (fancy-about-text): Fix wording of Guided Tour.
 -      (Bug#4960)
 -
 -      * descr-text.el (describe-char-unidata-list): Use lowercase name
 -      for "Unicode name" like in other tags.
 -
 -2009-11-29  Juri Linkov  <juri@jurta.org>
 -
 -      * ediff-util.el (ediff-minibuffer-with-setup-hook):
 -      New compatibility macro.
 -      (ediff-read-file-name): Use it instead of `minibuffer-with-setup-hook'.
 -
 -2009-11-29  Juri Linkov  <juri@jurta.org>
 -
 -      Add defcustom to define the cycling order of `recenter-top-bottom'.
 -      (Bug#4981)
 -
 -      * window.el (recenter-last-op): Doc fix.
 -      (recenter-positions): New defcustom.
 -      (recenter-top-bottom): Rewrite to use `recenter-positions'.
 -      (move-to-window-line-top-bottom): Rewrite to use `recenter-positions'.
 -
 -2009-11-29  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Improve integration of Tramp and ange-ftp in eshell.
 -
 -      * eshell/em-unix.el (eshell/whoami): Make it a defun but a defalias.
 -      (eshell/su): Flatten args.  Apply better args parsing.  Use "cd".
 -      (eshell/sudo): Flatten args.  Let-bind `default-directory'.
 -
 -      * eshell/esh-util.el (top): Require also Tramp when compiling.
 -      (eshell-directory-files-and-attributes): Check for FTP remote
 -      connection.
 -      (eshell-parse-ange-ls): Let-bind `ange-ftp-name-format',
 -      `ange-ftp-ftp-name-arg', `ange-ftp-ftp-name-res'.
 -      (eshell-file-attributes): Handle ".".  Return `entry'.
 -
 -      * net/ange-ftp.el (ange-ftp-parse-filename): Use `save-match-data'.
 -      (ange-ftp-directory-files-and-attributes)
 -      (ange-ftp-real-directory-files-and-attributes): New defuns.
 -
 -      * net/tramp.el (tramp-maybe-open-connection): Open the remote
 -      shell with "exec" when possible.  This prevents trailing prompts
 -      in `start-file-process'.
 -
 -2009-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Try and remove assumptions about point-min==1.
 -      * nxml/rng-valid.el (rng-validate-mode): Don't hardcode point-min==1.
 -      (rng-compute-mode-line-string): Show the validation percentage in
 -      terms of the narrowed text, not the widened text.
 -      (rng-do-some-validation): Don't catch internal errors when debugging.
 -      (rng-first-error): Simplify.
 -      (rng-after-change-function): Remove work around.  AFAIK the bug has
 -      been fixed a while ago.
 -
 -      * image-mode.el (image-minor-mode): Exit more gracefully when the image
 -      cannot be displayed (e.g. when doing C-x C-f some-new-file.svg RET).
 -
 -      * man.el (Man-completion-table): Make it easier to enter "<sec> <name>".
 -
 -      * eshell/em-prompt.el (eshell-prompt-function): Abbreviate pwd, since
 -      `cd' doesn't always do it for us (bug#5067).
 -
 -      * pcomplete.el (pcomplete-entries): Revert change installed mistakenly
 -      on 2009-10-25 as part of some other change (bug#5067).
 -
 -2009-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-warning-types): New type
 -      `suspicious'.
 -      (byte-compile-warnings): Use byte-compile-warning-types.
 -      (byte-compile-save-excursion): Warn about use of set-buffer right
 -      after save-excursion.
 -
 -      * progmodes/gud.el (gud-basic-call): Don't only save the buffer but
 -      the excursion as well.
 -
 -2009-11-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * eshell/em-unix.el (eshell/su, eshell/sudo): New defuns,
 -      providing a Tramp related implementation of "su" and "sudo".
 -      (eshell-unix-initialize): Add "su" and "sudo".
 -
 -2009-11-27  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * net/socks.el (socks-send-command): Convert binary request to
 -      unibyte before sending.  This fixes mishandling of some port
 -      numbers such as 129.
 -
 -2009-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help.el (describe-bindings-internal): Remove `interactive'.
 -
 -      * man.el (Man-completion-table): Trim a terminating "(".
 -      Remove the space between name page a section.
 -      Add the command's description on the `help-echo' property.
 -      Remove `process-connection-type' binding since it's unused by
 -      call-process.
 -      Provide completion for the "<section> <name>" format as well.
 -      (Man-default-man-entry): Remove spurious var shadowing the argument.
 -
 -2009-11-26  Kevin Ryde  <user42@zip.com.au>
 -
 -      * log-view.el: Add "Keywords: tools", since its other keywords
 -      aren't in finder-known-keywords, and following vc.el.
 -
 -      * sha1.el (sha1-string-external): default-directory "/" in case
 -      otherwise non-existent.  process-connection-type pipe for touch of
 -      efficiency recommended by elisp manual.  (An aside in Bug#3911.)
 -
 -2009-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Misc coding convention cleanups.
 -      * htmlfontify.el (hfy-init-kludge-hook): Rename from
 -      hfy-init-kludge-hooks.
 -      (hfy-etags-cmd, hfy-flatten-style, hfy-invisible-name, hfy-face-at)
 -      (hfy-fontify-buffer, hfy-prepare-index-i, hfy-subtract-maps)
 -      (hfy-save-kill-buffers, htmlfontify-copy-and-link-dir): Use dolist
 -      and push.
 -      (hfy-slant, hfy-weight): Use tables rather than code.
 -      (hfy-box-to-border-assoc, hfy-box-to-style, hfy-decor)
 -      (hfy-face-to-style-i, hfy-fontify-buffer): Use `case'.
 -      (hfy-face-attr-for-class): Initialize `face-spec' directly.
 -      (hfy-face-to-css): Remove `nconc' with single arg.
 -      (hfy-p-to-face-lennart): Use `or'.
 -      (hfy-face-at): Hoist common code.  Remove spurious quotes in `case'.
 -      (hfy-overlay-props-at, hfy-mark-tag-hrefs): Eta-reduce.
 -      (hfy-compile-stylesheet, hfy-merge-adjacent-spans)
 -      (hfy-compile-face-map, hfy-parse-tags-buffer): Use push.
 -      (hfy-force-fontification): Use run-hooks.
 -
 -2009-11-26  Vivek Dasmohapatra  <vivek@etla.org>
 -
 -      Various minor fixes.
 -      * htmlfontify.el (hfy-default-header): Add toggle_invis since
 -      Javascript belongs in the header, not the body.
 -      (hfy-javascript): Remove.
 -      (hfy-fontify-buffer): Don't insert it any more.
 -      (hfy-face-at): Handle (face0 face1 face2) style face properties.
 -      Fix bug in invis handling when there were no invis props in a chunk.
 -
 -2009-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-bzr.el (vc-bzr-annotate-command): Make operation asynchronous.
 -
 -2009-11-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * finder.el (finder-mode-map): Add a menu.
 -
 -2009-11-26  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-at-struct-p): Support "signed" and
 -      "unsigned" structs.
 -
 -      (verilog-leap-to-head, verilog-backward-token): Handle "disable
 -      fork" statement better.
 -
 -2009-11-26  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/verilog-mode.el (verilog-auto-insert-lisp)
 -      (verilog-delete-auto, verilog-delete-empty-auto-pair)
 -      (verilog-library-filenames): Fix AUTOINSERTLISP to support insert-file.
 -      Reported by Clay Douglass.
 -
 -      (verilog-auto-inst, verilog-auto-star-safe)
 -      (verilog-delete-auto-star-implicit, verilog-read-sub-decls):
 -      Fix removing "// Interfaces" when saving .* expansions.
 -      Reported by Pierre-David Pfister.
 -
 -2009-11-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * eshell/em-dirs.el (eshell/cd): Don't throw to a tag outside
 -      the scope.
 -
 -2009-11-25  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * vc-annotate.el (vc-annotate-revision-previous-to-line):
 -      Really use previous revision.
 -
 -2009-11-25  Kevin Ryde  <user42@zip.com.au>
 -
 -      * man.el (Man-completion-table): default-directory "/" in case
 -      doesn't otherwise exist.  process-environment COLUMNS=999 so as
 -      not to truncate long names.  process-connection-type pipe to avoid
 -      any chance of hitting the pseudo-tty TIOCGWINSZ.
 -      (man): completion-ignore-case t for friendliness and since man
 -      itself is case-insensitive on the command line.
 -      Further to Bug#3717.
 -
 -      * arc-mode.el: Add "Keywords: files", so the details in its
 -      commentary can be reached from finder-by-keyword.
 -      * textmodes/dns-mode.el: Add "Keywords: comm".  It's only an
 -      editing mode, but it's comms related and sgml-mode.el has "comm"
 -      on that basis too.
 -      * textmodes/bibtex-style.el: Add "Keywords: tex".
 -      * international/isearch-x.el, international/ja-dic-cnv.el:
 -      * international/ja-dic-utl.el, international/kkc.el:
 -      Add "Keywords: i18n", so they can be reached from finder-by-keyword.
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      * man.el (Man-completion-table): Modify regexp to include
 -      section names to completion strings.  (Bug#3717)
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      Search recursively in gzipped files.  (Bug#4982)
 -
 -      * progmodes/grep.el (grep-highlight-matches): Add new options
 -      `always' and `auto'.  Doc fix.
 -      (grep-process-setup): Check `grep-highlight-matches' for
 -      `auto-detect' to determine the need to compute grep defaults.
 -      Move Windows/DOS specific --colors settings handling
 -      to `grep-compute-defaults'.  Check `grep-highlight-matches'
 -      to get the value of "--color=".
 -      (grep-compute-defaults): Compute `grep-highlight-matches' when it
 -      has the value `auto-detect'.  Move Windows/DOS specific settings
 -      from `grep-process-setup'.
 -      (zrgrep): New command with alias `rzgrep'.
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      * doc-view.el (doc-view-mode): Set buffer-local `view-read-only'
 -      to nil instead of switching off view-mode.  (Bug#4896)
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      Mouse-wheel scrolling for DocView Continuous mode.  (Bug#4896)
 -
 -      * mwheel.el (mwheel-scroll-up-function)
 -      (mwheel-scroll-down-function): New defvars.
 -      (mwheel-scroll): Funcall `mwheel-scroll-up-function' instead of
 -      `scroll-up', and `mwheel-scroll-down-function' instead of
 -      `scroll-down'.
 -
 -      * doc-view.el (doc-view-scroll-up-or-next-page)
 -      (doc-view-scroll-down-or-previous-page): Add optional ARG.
 -      Use this ARG in the call to image-scroll-up/image-scroll-down.
 -      Change `interactive' spec to "P".  Goto next/previous page only
 -      when `doc-view-continuous-mode' is non-nil or ARG is nil (for the
 -      SPC/DEL case).  Doc fix.
 -      (doc-view-next-line-or-next-page)
 -      (doc-view-previous-line-or-previous-page): Rename arg to ARG
 -      for consistency.
 -      (doc-view-mode): Set buffer-local `mwheel-scroll-up-function' to
 -      `doc-view-scroll-up-or-next-page', and buffer-local
 -      `mwheel-scroll-down-function' to
 -      `doc-view-scroll-down-or-previous-page'.
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      Provide additional default values (directories at other Dired
 -      windows) via M-n in the minibuffer of some Dired commands.
 -
 -      * dired-aux.el (dired-diff, dired-compare-directories)
 -      (dired-do-create-files): Use `dired-dwim-target-defaults' to set
 -      `minibuffer-default' in `minibuffer-with-setup-hook'.
 -      (dired-dwim-target-directory): Find a window that displays Dired
 -      buffer instead of failing when the next window is not Dired.
 -      Use `get-window-with-predicate' to find for the next Dired window.
 -      (dired-dwim-target-defaults): New function.
 -
 -      * ediff-util.el (ediff-read-file-name):
 -      Use `dired-dwim-target-defaults' to set `minibuffer-default'
 -      in `minibuffer-with-setup-hook'.
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      Provide additional default values (file name at point or at the
 -      current Dired line) via M-n for file reading minibuffers.  (Bug#5010)
 -
 -      * minibuffer.el (read-file-name-defaults): New function.
 -      (read-file-name): Reset `minibuffer-default' to nil when
 -      it duplicates initial input `insdef'.
 -      Bind `minibuffer-default-add-function' to lambda that
 -      calls `read-file-name-defaults' in `minibuffer-selected-window'.
 -      (minibuffer-insert-file-name-at-point): New command.
 -
 -      * files.el (file-name-at-point-functions): New defcustom.
 -      (find-file-default): Remove defvar.
 -      (find-file-read-args): Don't use `find-file-default'.
 -      Move `minibuffer-with-setup-hook' that sets `minibuffer-default'
 -      to `read-file-name'.
 -      (find-file-literally): Use `read-file-name' with
 -      `confirm-nonexistent-file-or-buffer'.
 -
 -      * ffap.el (ffap-guess-file-name-at-point): New autoloaded function.
 -
 -      * dired.el (dired-read-dir-and-switches):
 -      Move `minibuffer-with-setup-hook' that sets `minibuffer-default'
 -      to `read-file-name'.
 -      (dired-file-name-at-point): New function.
 -      (dired-mode): Add hook `dired-file-name-at-point' to
 -      `file-name-at-point-functions'.
 -
 -2009-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Really make the *Completions* window soft-dedicated (bug#5030).
 -      * window.el (window--display-buffer-2): Add `dedicated' argument.
 -      (display-buffer): Pass it when needed so the dedicated flag is set
 -      after calling set-window-buffer, which would otherwise reset it.
 -
 -2009-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/meta-mode.el (meta-complete-symbol):
 -      * progmodes/etags.el (complete-tag):
 -      * mail/mailabbrev.el (mail-abbrev-complete-alias):
 -      Use completion-in-region.
 -
 -      * dabbrev.el (dabbrev--minibuffer-origin): Use minibuffer-selected-window.
 -      (dabbrev-completion): Use completion-in-region.
 -      (dabbrev--abbrev-at-point): Simplify regexp.
 -
 -      * abbrev.el (abbrev--before-point): Use word-motion functions
 -      if :regexp is not specified (bug#5031).
 -
 -      * subr.el (string-prefix-p): New function.
 -
 -      * man.el (Man-completion-cache): New var.
 -      (Man-completion-table): Use it.
 -
 -      * vc.el (vc-print-log-internal): Make `limit' optional for better
 -      compatibility (e.g. with vc-annotate.el).
 -
 -2009-11-24  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-proper-noun-regexp):
 -      Build value with regexp-opt instead of explicit joining loop.  (Bug#4927)
 -
 -      * emacs-lisp/elint.el (elint-add-required-env): Better error message
 -      when .el source file not found or other error.
 -
 -2009-11-24  Markus Triska  <markus.triska@gmx.at>
 -
 -      * linum.el (linum-update-window): Ignore intangible (bug#4996).
 -
 -2009-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Handle the [back] button properly (bug#4979).
 -      * descr-text.el (describe-text-properties): Add a `buffer' argument.
 -      Use help-setup-xref, help-buffer, and with-help-window.
 -      (describe-char): Add `buffer' argument.
 -      Pass proper command to help-setup-xref.  Don't meddle with
 -      help-xref-stack-item directly.
 -      (describe-text-category): Use with-help-window and help-buffer.
 -
 -      * emacs-lisp/shadow.el (list-load-path-shadows): Setup a major mode
 -      for the displayed buffer (bug#4887).
 -
 -      * man.el (Man-completion-table): New function.
 -      (man): Use it.
 -
 -2009-11-24  David Reitter  <david.reitter@gmail.com>
 -
 -      * vc-git.el (vc-git-registered): Use checkout directory (where
 -      .git is) rather than the file's directory and a relative path spec
 -      to work around a bug in git.
 -
 -2009-11-24  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Improve handling of processes on remote hosts.
 -
 -      * eshell/esh-util.el (eshell-path-env): New defvar.
 -      (eshell-parse-colon-path): New defun.
 -      (eshell-file-attributes): Use `eshell-parse-colon-path'.
 -
 -      * eshell/esh-ext.el (eshell-search-path):
 -      Use `eshell-parse-colon-path'.
 -      (eshell-remote-command): Remove argument HANDLER.
 -      (eshell-external-command): Check for FTP remote connection.
 -
 -      * eshell/esh-proc.el (eshell-gather-process-output):
 -      Use `file-truename', in order to start also symlinked files.
 -      Apply `start-file-process' instead of `start-process'.
 -      Shorten `command' to the local file name part.
 -
 -      * eshell/em-cmpl.el (eshell-complete-commands-list):
 -      Use `eshell-parse-colon-path'.
 -
 -      * eshell/em-unix.el (eshell/du): Check for FTP remote connection.
 -
 -      * net/tramp.el (tramp-eshell-directory-change): New defun.  Add it
 -      to `eshell-directory-change-hook'.
 -
 -2009-11-24  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * doc-view.el (doc-view-mode): Switch off view-mode explicitly,
 -      because it could be enabled automatically if view-read-only is non-nil.
 -
 -2009-11-24  Michael Kifer  <kifer@cs.stonybrook.edu>
 -
 -      * ediff-vers.el (ediff-rcs-get-output-buffer): Revert the change
 -      made on 2009-11-22.
 -
 -2009-11-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * bookmark.el (bookmark-bmenu-hide-filenames): Remove assignment to
 -      deleted variable bookmark-bmenu-bookmark-column.
 -
 -2009-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bookmark.el (bookmark-bmenu-search): Clear echo area when exiting.
 -
 -2009-11-23  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * net/browse-url.el (browse-url-filename-alist): On Windows, add
 -      two slashes to the "file:" prefix.
 -      (browse-url-file-url): De-munge Cygwin filenames before passing
 -      them to Windows browser.
 -      (browse-url-default-windows-browser): Use call-process.
 -
 -2009-11-23  Juri Linkov  <juri@jurta.org>
 -
 -      Implement DocView Continuous mode.  (Bug#4896)
 -      * doc-view.el (doc-view-continuous-mode): New defcustom.
 -      (doc-view-mode-map): Bind C-n/<down> to
 -      `doc-view-next-line-or-next-page', C-p/<up> to
 -      `doc-view-previous-line-or-previous-page'.
 -      (doc-view-next-line-or-next-page)
 -      (doc-view-previous-line-or-previous-page): New commands.
 -
 -2009-11-23  Juri Linkov  <juri@jurta.org>
 -
 -      Implement Isearch in comint input history.  (Bug#3746)
 -      * comint.el (comint-mode): Add `comint-history-isearch-setup' to
 -      `isearch-mode-hook'.
 -      (comint-history-isearch): New defcustom.
 -      (comint-history-isearch-backward)
 -      (comint-history-isearch-backward-regexp): New commands.
 -      (comint-history-isearch-message-overlay): New buffer-local variable.
 -      (comint-history-isearch-setup, comint-history-isearch-end)
 -      (comint-goto-input, comint-history-isearch-search)
 -      (comint-history-isearch-message, comint-history-isearch-wrap)
 -      (comint-history-isearch-push-state)
 -      (comint-history-isearch-pop-state): New functions.
 -
 -2009-11-23  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-shell-prompt-pattern): Use \r for carriage
 -      return.
 -      (tramp-handle-make-symbolic-link)
 -      (tramp-handle-dired-compress-file, tramp-handle-expand-file-name):
 -      Quote file names.
 -      (tramp-send-command-and-check): New argument DONT-SUPPRESS-ERR.
 -      (tramp-handle-process-file): Use it.
 -
 -2009-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.el (move-to-window-line-last-op): Remove.
 -      (move-to-window-line-top-bottom): Reuse recenter-last-op instead.
 -
 -2009-11-23  Deniz Dogan  <deniz.a.m.dogan@gmail.com>  (tiny change)
 -
 -      Make M-r mirror the new cycling behavior of C-l.
 -      * window.el (move-to-window-line-last-op): New var.
 -      (move-to-window-line-top-bottom): New command.
 -      (global-map): Bind M-r move-to-window-line-top-bottom.
 -
 -2009-11-23  Sven Joachim  <svenjoac@gmx.de>
 -
 -      * dired-x.el (dired-guess-shell-alist-default):
 -      Support xz format.  (Bug#4953)
 -
 -2009-11-22  Michael Kifer  <kifer@cs.stonybrook.edu>
 -
 -      * emulation/viper-cmd.el: Use viper-last-command-char instead of
 -      last-command-char/last-command-event.
 -      (viper-prefix-arg-value): Do correct conversion of event-char for
 -      XEmacs.
 -
 -      * emulation/viper-util.el, emulation/viper.el:
 -      Use viper-last-command-char instead of
 -      last-command-char/last-command-event.
 -
 -      * ediff-init.el, ediff-mult.el, ediff-util.el:
 -      Replace last-command-char and last-command-event
 -      with (ediff-last-command-char) everywhere.
 -
 -      * ediff-vers.el (ediff-rcs-get-output-buffer): Make sure the buffer is
 -      created in fundamental mode.
 -
 -      * ediff.el (ediff-version): Revert the change of interactive-p to
 -      called-interactively-p.
 -
 -2009-11-22  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * progmodes/subword.el (subword-mode-map): Fix subword-mode-map
 -      generation from word-movement command names.
 -
 -2009-11-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * cus-start.el (all): Add native condition for font-use-system-font.
 -
 -2009-11-21  Nathaniel Flath  <flat0103@gmail.com>
 -
 -      * progmodes/cc-menus.el (cc-imenu-java-generic-expression):
 -      Correct the patch from 2009-11-18.  (Bug#3910)
 -
 -2009-11-21  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * progmodes/subword.el: Rename from lisp/subword.el.
 -
 -      * subword.el: Rename to progmodes/subword.el.
 -
 -      * Makefile.in (ELCFILES): Adapt to subword.el move.
 -
 -2009-11-21  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 -          Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bookmark.el (bookmark-bmenu-bookmark-column): Remove var.
 -      (bookmark-bmenu-list): Save name on `bookmark-name-prop' text-prop.
 -      (bookmark-bmenu-show-filenames): Use push.
 -      (bookmark-bmenu-hide-filenames): Use local var instead of
 -      bookmark-bmenu-bookmark-column.  Use pop.  Don't save window-excursion.
 -      (bookmark-bmenu-bookmark): Use the new `bookmark-name-prop' text-prop.
 -      (bookmark-bmenu-execute-deletions): Don't bother adding/removing the
 -      filenames now that the bookmark names are always available.
 -
 -2009-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bookmark.el (bookmark-search-prompt, bookmark-search-timer): Remove.
 -      (bookmark-search-pattern): Move and leave unbound.
 -      (bookmark-bmenu-mode-map): Change binding.
 -      (bookmark-read-search-input): Simplify.
 -      Don't use text-char-description.  Don't error on non-char events.
 -      (bookmark-filtered-alist-by-regexp-only): Remove by folding into the
 -      only caller (i.e. bookmark-bmenu-filter-alist-by-regexp).
 -      (bookmark-bmenu-search): Don't check we're in a bookmark-list buffer.
 -      Use a local var for the timer.
 -      (bookmark-bmenu-cancel-search): Remove by folding into the only caller
 -      (i.e. bookmark-bmenu-search).
 -
 -2009-11-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmailmm.el (rmail-mime): Decode in fundamental-mode.  (Bug#4993)
 -
 -2009-11-20  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * net/browse-url.el (browse-url-default-windows-browser):
 -      Use cygstart for cygwin.
 -
 -2009-11-20  Karl Fogel  <karl.fogel@red-bean.com>
 -
 -      * bookmark.el: Formatting and doc fixes only:
 -      (bookmark-search-delay): Shorten doc string to fit in 80 columns.
 -      (bookmark-bmenu-search): Wrap to fit within 80 columns.
 -      Minor grammar and punctuation fixes in doc string.
 -      (bookmark-read-search-input): Adjust to fit within 80 columns.
 -
 -2009-11-20  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * progmodes/cc-cmds.el (c-forward-into-nomenclature)
 -      (c-backward-into-nomenclature): Adapt to subword renaming.
 -
 -      * subword.el (subword-forward, subword-backward, subword-mark)
 -      (subword-kill, subword-backward-kill, subword-transpose)
 -      (subword-downcase, subword-upcase, subword-capitalize)
 -      (subword-forward-internal, subword-backward-internal):
 -      Rename from forward-subword, backward-subword, mark-subword,
 -      kill-subword, backward-kill-subword, transpose-subwords,
 -      downcase-subword, upcase-subword, capitalize-subword,
 -      forward-subword-internal, backward-subword-internal.
 -
 -2009-11-20  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 -
 -      * bookmark.el (bookmark-search-delay, bookmark-search-prompt):
 -      New options.
 -      (bookmark-search-pattern, bookmark-search-timer, bookmark-quit-flag):
 -      New vars.
 -      (bookmark-read-search-input, bookmark-filtered-alist-by-regexp-only)
 -      (bookmark-bmenu-filter-alist-by-regexp)
 -      (bookmark-bmenu-goto-bookmark, bookmark-bmenu-cancel-search): New funs.
 -      (bookmark-bmenu-search): New command.
 -      (bookmark-bmenu-mode-map): Bind it.
 -
 -2009-11-20  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * progmodes/cc-cmds.el: declare-functioned forward-subword and
 -      backward-subword to quit the byte-compiler.
 -
 -      * makefile.w32-in: Don't refer cc-subword.elc but subword.elc.
 -
 -      * Makefile.in: Don't refer cc-subword.elc but subword.elc.
 -
 -      * progmodes/cc-cmds.el (c-update-modeline)
 -      (c-forward-into-nomenclature, c-backward-into-nomenclature):
 -      Refer to subword.el functions instead of cc-subword.el.
 -
 -      * progmodes/cc-mode.el (subword-mode, c-mode-base-map): Refer to
 -      subword.el functions instead of cc-subword.el.
 -
 -      * progmodes/cc-subword.el: Rename to subword.el.
 -      * subword.el: Rename from progmodes/cc-subword.el.
 -      (subword-mode-map): Rename from c-subword-mode-map.
 -      (subword-mode): Rename from c-subword-mode.
 -      (global-subword-mode): New global minor mode.
 -      (forward-subword): Rename from c-forward-subword.
 -      (backward-subword): Rename from c-backward-subword.
 -      (mark-subword): Rename from c-mark-subword.
 -      (kill-subword): Rename from c-kill-subword.
 -      (backward-kill-subword): Rename from c-backward-kill-subword.
 -      (transpose-subwords): Rename from c-tranpose-subword.
 -      (downcase-subword): Rename from c-downcase-subword.
 -      (capitalize-subword): Rename from c-capitalize-subword.
 -      (forward-subword-internal): Rename from c-forward-subword-internal.
 -      (backward-subword-internal): Rename from c-backward-subword-internal.
 -
 -2009-11-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-deduce-fileset): Allow non-state changing operations
 -      from a dired buffer.
 -      (vc-dired-deduce-fileset): New function.
 -      (vc-root-diff, vc-print-root-log): Use it.
 -
 -      * vc-annotate.el (vc-annotate-show-log-revision-at-line): Pass a
 -      nil LIMIT argument to vc-print-log-internal.
 -
 -2009-11-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Regenerate.
 -
 -2009-11-20  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (calc-set-mode-line):
 -      Rename `calc-complement-signed-mode' to `calc-twos-complement-mode'.
 -      (math-format-number): Rename `math-format-complement-signed' to
 -      `math-format-twos-complement'.
 -
 -      * calc/calc-bin.el (math-format-twos-complement): Rename from
 -      math-format-complement-signed.
 -      (calc-radix): Rename `calc-complement-signed-mode' to
 -      `calc-twos-complement-mode'.
 -      (calc-octal-radix, calc-hex-radix): Add an argument for
 -      two's complement.
 -
 -      * calc/calc-embed.el (calc-embedded-mode-vars):
 -      Rename `calc-complement-signed-mode' to `calc-twos-complement-mode'.
 -
 -      * calc/calc-ext.el (calc-init-extensions):
 -      Rename `calc-complement-signed-mode' to `calc-twos-complement-mode'.
 -      (math-format-number-fancy): Let `calc-twos-complement-mode' be nil.
 -
 -      * calc/calc-units.el (math-build-units-table-buffer):
 -      Let `calc-twos-complement-mode' be nil.
 -
 -      * calc/calc-menu.el (calc-modes-menu): Clean up two's complement
 -      entries.
 -
 -      * calc/calc-vec.el (calcFunc-vunpack):
 -      * calc/calc-aent.el (calc-do-calc-eval):
 -      * calc/calc-forms.el (math-format-date):
 -      * calc/calc-graph.el (calc-graph-plot):
 -      * calc/calc-math.el (math-use-emacs-fn):
 -      * calc/calccomp.el (math-compose-expr):
 -      Let `calc-twos-complement-mode' be nil.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * abbrev.el (abbrev-with-wrapper-hook): (re)move...
 -      * simple.el (with-wrapper-hook): ...to here.  Add argument `args'.
 -      * minibuffer.el (completion-in-region-functions): New hook.
 -      (completion-in-region): New function.
 -      * emacs-lisp/lisp.el (lisp-complete-symbol):
 -      * pcomplete.el (pcomplete-std-complete): Use it.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/tex-mode.el (latex-complete-bibtex-cache)
 -      (latex-complete-alist): New vars.
 -      (latex-string-prefix-p, latex-complete-bibtex-keys)
 -      (latex-complete-envnames, latex-complete-refkeys)
 -      (latex-complete-data): New functions.
 -      (latex-complete, latex-indent-or-complete): New commands.
 -
 -      * window.el (display-buffer-mark-dedicated): New var.
 -      (display-buffer): Obey it.
 -      * minibuffer.el (minibuffer-completion-help): Use it.
 -
 -      * progmodes/sym-comp.el (symbol-complete): Use completion-in-region.
 -
 -      * filecache.el (file-cache-add-file): Use push and cons.
 -      (file-cache-delete-file-regexp): Use push.
 -      (file-cache-complete): Use completion-in-region.
 -
 -      * simple.el (with-wrapper-hook): Fix thinko.
 -
 -      * hfy-cmap.el (hfy-rgb-file): Use locate-file.
 -      (htmlfontify-load-rgb-file): Remove unnused var `ff'.
 -      Use with-current-buffer and string-to-number.
 -      (hfy-fallback-colour-values): Use assoc-string.
 -      * htmlfontify.el (hfy-face-to-css): Remove unused var `style'.
 -      (hfy-face-at): Remove unused var `found-face'.
 -      (hfy-compile-stylesheet): Remove unused var `css'.
 -      (hfy-fontify-buffer): Remove unused vars `in-style', `invis-button',
 -      and `orig-buffer'.
 -      (hfy-buffer, hfy-copy-and-fontify-file, hfy-parse-tags-buffer):
 -      Use with-current-buffer.
 -      (hfy-text-p): Use expand-file-name and fewer setq.
 -
 -2009-11-19  Vivek Dasmohapatra  <vivek@etla.org>
 -
 -      * htmlfontify.el, hfy-cmap.el: New files.
 -
 -2009-11-19  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuffer.el (completions-format): New defcustom.
 -      (completion--insert-strings): Implement vertical format.
 -
 -      * simple.el (switch-to-completions): Move point to the first
 -      completion when point was at the beginning of the buffer.
 -
 -2009-11-19  Juri Linkov  <juri@jurta.org>
 -
 -      * find-dired.el (find-name-arg): Remove autoload.  (Bug#4387)
 -
 -      * progmodes/grep.el (rgrep): Require `find-dired' for `find-name-arg'.
 -
 -2009-11-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/sendmail.el (mail-yank-prefix): Change default to "> ".
 -      (mail-signature): Change default to t.
 -      (mail-from-style): Deprecate `system-default' value.
 -      (mail-insert-from-field): For default value of mail-from-style,
 -      default to `angles' unless `angles' needs quoting and `parens'
 -      does not.
 -      (mail-citation-prefix-regexp): Use citation regexp from
 -      message-mode.
 -
 -2009-11-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band):
 -      Set variables for computing the prompt for reading password.
 -
 -2009-11-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * dired-aux.el (dired-compress-file-suffixes): Add ".xz".  (Bug#4953)
 -
 -      * textmodes/flyspell.el (sgml-lexical-context): Declare.
 -
 -      * net/newst-treeview.el (newsticker-treeview-treewindow-width)
 -      (newsticker-treeview-listwindow-height): Fix custom type.
 -
 -2009-11-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * descr-text.el (describe-char-padded-string): Compose with TAB
 -      only if there's a font for CH.
 -      (describe-char): Fix the condition for detecting a trivial composition.
 -
 -2009-11-18  Nathaniel Flath  <flat0103@gmail.com>
 -
 -      * progmodes/cc-menus.el (cc-imenu-java-generic-expression): A new,
 -      more accurate version of the regexp.  (Bug#3910)
 -
 -2009-11-18  Bernhard Herzog  <bernhard.herzog@intevation.de>  (tiny change)
 -
 -      * vc-hg.el (vc-hg-diff): Fix last patch: do not change directory.
 -
 -2009-11-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font-setting.el (font-use-system-font): Declare for byte-compiler.
 -      (font-setting-change-default-font): Fix typo in docstring.
 -
 -2009-11-18  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-defs.el (c-version): Bump to 5.31.8.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * font-setting.el (font-use-system-font): Move ...
 -
 -      * cus-start.el (all): ... to here.
 -
 -2009-11-17  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-advice-file-expand-wildcards): Simplify.
 -      Don't set `ad-return-value' if `ad-do-it' doesn't.
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-write-region): Set file
 -      modification time.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * menu-bar.el: Put "Use system font" in Option-menu.
 -      (menu-bar-options-save): Add font-use-system-font.
 -
 -      * loadup.el: If feature system-font-setting or font-render-setting is
 -      there, load font-setting.
 -
 -      * Makefile.in (ELCFILES): Add font-settings.el.
 -      * font-setting.el: New file.
 -
 -2009-11-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-svn.el (vc-svn-print-log): Fix typo in previous.
 -
 -      * net/newst-treeview.el (newsticker--treeview-list-update-faces):
 -      Preserve point in the list buffer.  (Bug#4939)
 -      Use point-at-eol.
 -      (newsticker--treeview-list-update-highlight)
 -      (newsticker--treeview-tree-update-highlight): Use point-at-bol/eol.
 -
 -2009-11-16  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-bin.el (math-symclip, calcFunc-symclip, calc-symclip):
 -      Remove.
 -
 -      * calc/calc-ext.el (calc-init-extensions): Remove references to
 -      symclip.
 -
 -      * calc/calc-menu.el (calc-arithmetic-menu): Remove `calc-symclip'.
 -
 -      * calc/calc-map.el (calc-get-operator, calc-b-oper-keys):
 -      * calc/calc-help.el (calc-b-prefix-help): Remove references to
 -      `calc-symclip'.
 -
 -2009-11-16  Kevin Ryde  <user42@zip.com.au>
 -
 -      * textmodes/flyspell.el (sgml-mode-flyspell-verify):
 -      Use `sgml-lexical-context' instead of own parse for tag (Bug#4511).
 -
 -      * emacs-lisp/lisp-mnt.el (lm-keywords): Allow multi-line keywords.
 -      (lm-keywords-list): Allow comma-only separator like "foo,bar".
 -      Ignore trailing spaces by omit-nulls to split-string (fixing
 -      regression from Emacs 21 due to the incompatible split-string
 -      change).  (Bug #4928.)
 -
 -2009-11-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-log-show-limit): Default to 2000.
 -      (vc-print-log-internal): Insert buttons to request more entries
 -      when limiting the output.
 -
 -      * vc-sccs.el (vc-sccs-print-log):
 -      * vc-rcs.el (vc-rcs-print-log):
 -      * vc-cvs.el (vc-cvs-print-log):
 -      * vc-git.el (vc-git-print-log): Return 'limit-unsupported when
 -      LIMIT is non-nil.
 -
 -2009-11-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Raise only an
 -      error when `tramp-gvfs-dbus-event-vector' is set.
 -      (tramp-gvfs-maybe-open-connection): Loop over `read-event'.
 -
 -2009-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-rcs.el (vc-rcs-consult-headers): Add missing save-excursion.
 -
 -2009-11-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-unregister-service): New defun.
 -      (dbus-register-property): Register the handlers of
 -      "org.freedesktop.DBus.Properties" for SERVICE.
 -      (dbus-property-handler): Fix docstring.
 -
 -2009-11-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-output-file-form):
 -      Quote doc string reference in defvaralias as it is not in special form.
 -      (byte-compile-output-docform): Doc fix.
 -
 -2009-11-16  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (math-2-word-size, math-half-2-word-size)
 -      (calc-complement-signed-mode): New variables.
 -      (calc-set-mode-line): Add indicator for twos-complements.
 -      (math-format-number): Format twos-complement notation.
 -
 -      * calc/calc-bin.el (calc-word-size): Reset the variables
 -      `math-2-word-size' and `math-half-2-word-size'.
 -      (math-format-complement-signed, math-symclip, calcFunc-symclip)
 -      (calc-symclip): New functions.
 -
 -      * calc/calc-aent.el (math-read-token): Read complement signed numbers.
 -
 -      * calc/calc-embed.el (calc-embedded-mode-vars):
 -      Add `calc-complement-signed-mode' to the list of modes.
 -
 -      * calc/calc-map.el (calc-get-operator): Add `calc-symclip'.
 -      (calc-b-oper-keys): Add `calc-symclip' to list.
 -
 -      * calc/calc-ext.el (math-read-number-fancy): Read complement
 -      signed numbers.
 -      (calc-init-extensions): Add binding for `calc-symclip'.
 -      Add autoload for `calcFunc-symclip' and `calc-symclip'.
 -
 -      * calc/calc-menu.el (calc-arithmetic-menu): Add item for
 -      `calc-symclip'.
 -      (calc-modes-menu): Add item for twos complement mode.
 -
 -      * calc/calc-help.el (calc-b-prefix-help): Add help for `calc-symclip'.
 -
 -2009-11-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * register.el (jump-to-register, insert-register): Handle Semantic
 -      tags.  From commented-out advice in semantic/senator.el.
 -
 -2009-11-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-log-show-limit): New variable.
 -      (vc-print-log, vc-print-root-log): Add new argument LIMIT.  Set it
 -      when using a prefix argument.
 -      (vc-print-log-internal): Add new argument LIMIT.
 -
 -      * vc-svn.el (vc-svn-print-log):
 -      * vc-mtn.el (vc-mtn-print-log):
 -      * vc-hg.el (vc-hg-print-log):
 -      * vc-bzr.el (vc-bzr-print-log): Add new optional argument LIMIT,
 -      pass it to the log command when set.  Make the BUFFER argument
 -      non-optional.
 -
 -      * vc-sccs.el (vc-sccs-print-log):
 -      * vc-rcs.el (vc-rcs-print-log):
 -      * vc-git.el (vc-git-print-log):
 -      * vc-cvs.el (vc-cvs-print-log): Add new optional argument LIMIT,
 -      ignore it.  Make the BUFFER argument non-optional
 -
 -      * bindings.el (mode-line-buffer-identification): Do not purecopy.
 -
 -2009-11-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired.el (dired-mode-map): Move encryption items to "Operate"
 -      menu (Bug#4703).
 -
 -      * strokes.el (strokes-update-window-configuration): Make strokes
 -      buffer current before erasing (Bug#4906).
 -
 -2009-11-15  Juri Linkov  <juri@jurta.org>
 -
 -      * simple.el (set-mark-default-inactive): Add :type, :group
 -      and :version.  (Bug#4876)
 -
 -2009-11-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * arc-mode.el (archive-maybe-copy): Move creation of directory ...
 -      (archive-unique-fname): ... here.  (Bug#4929)
 -
 -2009-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help-mode.el (help-make-xrefs): Undo the last revert, and replace it
 -      with a real fix.
 -
 -      * novice.el (disabled-command-function): Add useful args.
 -      Setup the help buffer so that [back] works.
 -      Remove redundant call to help-mode.
 -      (disabled-command-function): Use `case'.
 -      (en/disable-command): New function extracted from enable-command.
 -      (enable-command, disable-command): Use it.
 -
 -2009-11-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * menu-bar.el (menu-bar-tools-menu): Read and send mail entries are not
 -      constants.  (Bug#4913)
 -
 -      * emacs-lisp/elint.el (elint-standard-variables): Doc fix.
 -
 -2009-11-14  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
 -
 -      * emacs-lisp/elint.el (elint-standard-variables): Add some variables
 -      defined in C that have no doc-strings.  (Bug#1063)
 -
 -2009-11-14  Francis Wright  <F.J.Wright@qmul.ac.uk>
 -
 -      * cus-edit.el (data, files):
 -      * ps-print.el (postscript): Doc fixes for custom groups.  (Bug#3327)
 -
 -2009-11-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (shell-command): Doc fix (Bug#4891).
 -
 -      * help-mode.el (help-make-xrefs): Revert 2009-11-13 change.
 -
 -2009-11-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * emulation/viper.el (viper-set-hooks): Remove duplicate advice
 -      statements for vc-diff, emerge-quit, and rmail-cease-edit.
 -      If they are already loaded, eval-after-load will do the right thing.
 -
 -      * speedbar.el (top-level): Remove unnecessary load of ange-ftp when
 -      compiling.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-single-version): Remove, unused.
 -
 -      * simple.el (x-selection-owner-p): Declare.
 -      (read-mail-command): Use custom radio type rather than choice.
 -      (completion-no-auto-exit): Doc fix.
 -
 -      * custom.el (defgroup):
 -      * epg-config.el (epg): Doc fixes.
 -
 -2009-11-14  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * bindings.el (mode-line-buffer-identification): Purecopy only the string.
 -      * international/ccl.el (define-ccl-program): Do not purecopy the
 -      docstring, defconst does it anyway.
 -
 -2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * add-log.el (add-change-log-entry): Avoid displaying the changelog
 -      a second time.
 -
 -      * x-dnd.el (x-dnd-maybe-call-test-function):
 -      * window.el (split-window-vertically):
 -      * whitespace.el (whitespace-help-on):
 -      * vc-rcs.el (vc-rcs-consult-headers):
 -      * userlock.el (ask-user-about-lock-help)
 -      (ask-user-about-supersession-help):
 -      * type-break.el (type-break-force-mode-line-update):
 -      * time-stamp.el (time-stamp-conv-warn):
 -      * terminal.el (te-set-output-log, te-more-break, te-filter)
 -      (te-sentinel, terminal-emulator):
 -      * term.el (make-term, term-exec, term-sentinel, term-read-input-ring)
 -      (term-write-input-ring, term-check-source, term-start-output-log):
 -      (term-display-buffer-line, term-dynamic-list-completions):
 -      (term-ansi-make-term, serial-term):
 -      * subr.el (selective-display):
 -      * strokes.el (strokes-xpm-to-compressed-string, strokes-decode-buffer)
 -      (strokes-encode-buffer, strokes-xpm-for-compressed-string):
 -      * speedbar.el (speedbar-buffers-tail-notes, speedbar-buffers-item-info)
 -      (speedbar-reconfigure-keymaps, speedbar-add-localized-speedbar-support)
 -      (speedbar-remove-localized-speedbar-support)
 -      (speedbar-set-mode-line-format, speedbar-create-tag-hierarchy)
 -      (speedbar-update-special-contents, speedbar-buffer-buttons-engine)
 -      (speedbar-buffers-line-directory):
 -      * simple.el (shell-command-on-region, append-to-buffer)
 -      (prepend-to-buffer):
 -      * shadowfile.el (shadow-save-todo-file):
 -      * scroll-bar.el (scroll-bar-set-window-start, scroll-bar-drag-1)
 -      (scroll-bar-maybe-set-window-start):
 -      * sb-image.el (speedbar-image-dump):
 -      * saveplace.el (save-place-alist-to-file, save-places-to-alist)
 -      (load-save-place-alist-from-file):
 -      * ps-samp.el (ps-print-message-from-summary):
 -      * ps-print.el (ps-flush-output, ps-insert-file, ps-get-boundingbox)
 -      (ps-background-image, ps-begin-job, ps-do-despool):
 -      * ps-bdf.el (bdf-find-file, bdf-read-font-info):
 -      * printing.el (pr-interface, pr-ps-file-print, pr-find-buffer-visiting)
 -      (pr-ps-message-from-summary, pr-lpr-message-from-summary):
 -      (pr-call-process, pr-file-list, pr-interface-save):
 -      * novice.el (disabled-command-function)
 -      (enable-command, disable-command):
 -      * mouse.el (mouse-buffer-menu-alist):
 -      * mouse-copy.el (mouse-kill-preserving-secondary):
 -      * macros.el (kbd-macro-query):
 -      * ledit.el (ledit-go-to-lisp, ledit-go-to-liszt):
 -      * informat.el (batch-info-validate):
 -      * ido.el (ido-copy-current-word, ido-initiate-auto-merge):
 -      * hippie-exp.el (try-expand-dabbrev-visible):
 -      * help-mode.el (help-make-xrefs):
 -      * help-fns.el (describe-variable):
 -      * generic-x.el (bat-generic-mode-run-as-comint):
 -      * finder.el (finder-mouse-select):
 -      * find-dired.el (find-dired-sentinel):
 -      * filesets.el (filesets-file-close):
 -      * files.el (list-directory):
 -      * faces.el (list-faces-display, describe-face):
 -      * facemenu.el (list-colors-display):
 -      * ezimage.el (ezimage-image-association-dump, ezimage-image-dump):
 -      * epg.el (epg--process-filter, epg-cancel):
 -      * epa.el (epa--marked-keys, epa--select-keys, epa-display-info)
 -      (epa--read-signature-type):
 -      * emerge.el (emerge-copy-as-kill-A, emerge-copy-as-kill-B)
 -      (emerge-file-names):
 -      * ehelp.el (electric-helpify):
 -      * ediff.el (ediff-regions-wordwise, ediff-regions-linewise):
 -      * ediff-vers.el (rcs-ediff-view-revision):
 -      * ediff-util.el (ediff-setup):
 -      * ediff-mult.el (ediff-append-custom-diff):
 -      * ediff-diff.el (ediff-exec-process, ediff-process-sentinel)
 -      (ediff-wordify):
 -      * echistory.el (Electric-command-history-redo-expression):
 -      * dos-w32.el (find-file-not-found-set-buffer-file-coding-system):
 -      * disp-table.el (describe-display-table):
 -      * dired.el (dired-find-buffer-nocreate):
 -      * dired-aux.el (dired-rename-subdir, dired-dwim-target-directory):
 -      * dabbrev.el (dabbrev--same-major-mode-p):
 -      * chistory.el (list-command-history):
 -      * apropos.el (apropos-documentation):
 -      * allout.el (allout-obtain-passphrase):
 -      (allout-copy-exposed-to-buffer):
 -      (allout-verify-passphrase): Use with-current-buffer.
 -
 -2009-11-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Regenerate.
 -
 -2009-11-13  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-registered-objects-table): Rename from
 -      `dbus-registered-functions-table', because it contains also properties.
 -      (dbus-unregister-object): Unregister also properties.
 -      (dbus-get-property, dbus-set-property, dbus-get-all-properties):
 -      Use a timeout of 500 msec, in order to not block.
 -      (dbus-register-property, dbus-property-handler): New defuns.
 -
 -2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (minibuffer-default-add-completions): Drop deprecated
 -      4th arg.
 -
 -2009-11-13  Tomas Abrahamsson  <tab@lysator.liu.se>
 -
 -      * textmodes/artist.el (artist-mouse-choose-operation):
 -      Call `tmm-prompt' instead of `x-popup-menu' if we cannot popup
 -      menus.  Bug noticed by Eli Zaretskii <eliz@gnu.org>.
 -      (artist-compute-up-event-key): New function.
 -      (artist-mouse-choose-operation, artist-down-mouse-1): Call it.
 -
 -2009-11-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/japan-util.el: Make sure that the value of jisx0208
 -      property is jisx0208 character.
 -
 -2009-11-13  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * international/mule.el (auto-coding-regexp-alist): Only purecopy
 -      car or each item, not the whole list.
 -
 -2009-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (minibuffer-completion-help):
 -      Use minibuffer-hide-completions.
 -
 -2009-11-12  Per Starbäck  <per@starback.se>  (tiny change)
 -
 -      * dired.el (dired-save-positions, dired-restore-positions): New funs.
 -      (dired-revert): Use them (bug#4880).
 -
 -2009-11-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * tooltip.el (tooltip-frame-parameters): Undo previous change.
 -
 -2009-11-12  Juri Linkov  <juri@jurta.org>
 -
 -      * ffap.el (ffap-alternate-file-other-window, ffap-literally):
 -      New functions.
 -      (find-file-literally-at-point): Alias of `ffap-literally'.
 -
 -2009-11-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * textmodes/ispell.el (ispell-skip-region-alist):
 -      * textmodes/css-mode.el (auto-mode-alist):
 -      * progmodes/compile.el (auto-mode-alist):
 -      * international/mule.el (ctext-non-standard-encodings-alist)
 -      (ctext-non-standard-encodings-regexp):
 -      * simple.el (shell-command-switch, text-read-only):
 -      * replace.el (occur-mode-map):
 -      * paths.el (rmail-file-name):
 -      * jka-cmpr-hook.el (jka-compr-build-file-regexp):
 -      * find-file.el (ff-special-constructs):
 -      * files.el (file-name-handler-alist):
 -      * composite.el: Purecopy strings.
 -
 -      * emacs-lisp/cl-macs.el (define-compiler-macro): Purecopy the file name.
 -
 -2009-11-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * widget.el (define-widget): Purecopy the docstring.
 -      * international/mule-cmds.el (charset): Do not purecopy the
 -      docstring here, define-widget does it.
 -
 -      * textmodes/texinfo.el (texinfo-open-quote, texinfo-close-quote):
 -      * textmodes/bibtex-style.el (auto-mode-alist):
 -      * progmodes/inf-lisp.el (inferior-lisp-prompt):
 -      * progmodes/compile.el (compile-command):
 -      * language/korea-util.el (default-korean-keyboard):
 -      * international/mule-conf.el (file-coding-system-alist):
 -      * emacs-lisp/eldoc.el (eldoc-minor-mode-string):
 -      * tooltip.el (tooltip-frame-parameters):
 -      * newcomment.el (comment-end, comment-padding):
 -      * dired.el (dired-trivial-filenames):
 -      * comint.el (comint-file-name-prefix): Purecopy initial values.
 -
 -2009-11-11  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-advice-minibuffer-electric-separator)
 -      (tramp-advice-minibuffer-electric-tilde): Unload advices via
 -      `tramp-unload'.
 -      (tramp-advice-make-auto-save-file-name)
 -      (tramp-advice-file-expand-wildcards): Apply also `ad-activate'
 -      after removing the advice.
 -
 -2009-11-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * progmodes/grep.el (grep-regexp-alist):
 -      * international/mule-cmds.el (iso-2022-control-alist):
 -      * emacs-lisp/timer.el (timer-duration-words):
 -      * subr.el (version-separator, version-regexp-alist):
 -      * minibuffer.el (completion-styles-alist):
 -      * faces.el (face-attribute-name-alist, list-faces-sample-text):
 -      Change defvars to defconsts.
 -
 -      * Makefile.in (ELCFILES): Add international/mule-conf.elc.
 -      * loadup.el ("international/mule-conf"): Load the byte compiled version.
 -      * international/mule-conf.el: Allow to be byte compiled.
 -
 -      * international/mule.el (define-charset): Purecopy props.
 -      (load-with-code-conversion): Purecopy doc string and file name.
 -      (put-charset-property): Purecopy strings.
 -      (auto-coding-alist, auto-coding-regexp-alist): Purecopy initial value.
 -
 -      * international/mule-cmds.el (register-input-method): Purecopy arguments.
 -      (define-char-code-property): Correctly purecopy the table.
 -
 -      * international/ccl.el (define-ccl-program): Purecopy the docstring.
 -
 -      * emacs-lisp/easy-mmode.el (define-minor-mode): Purecopy :lighter.
 -
 -      * subr.el (add-hook): Purecopy strings.
 -      (eval-after-load): Purecopy load-history-regexp and the form.
 -
 -      * custom.el (custom-declare-group): Purecopy load-file-name.
 -
 -      * subr.el (menu-bar-separator): New defconst.
 -      * net/eudc.el (eudc-tools-menu):
 -      * international/mule-cmds.el (set-coding-system-map)
 -      (mule-menu-keymap):
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map):
 -      * vc-hooks.el (vc-menu-map):
 -      * replace.el (occur-mode-map):
 -      * menu-bar.el (menu-bar-file-menu, menu-bar-search-menu)
 -      (menu-bar-edit-menu, menu-bar-goto-menu)
 -      (menu-bar-custom-menu, menu-bar-showhide-menu)
 -      (menu-bar-options-menu, menu-bar-tools-menu)
 -      (menu-bar-encryption-decryption-menu, menu-bar-describe-menu)
 -      (menu-bar-search-documentation-menu, menu-bar-manuals-menu)
 -      (menu-bar-help-menu):
 -      * ediff-hook.el (menu-bar-ediff-menu, menu-bar-ediff-merge-menu):
 -      * buff-menu.el (Buffer-menu-mode-map): Use menu-bar-separator.
 -
 -      * term/x-win.el (x-gtk-stock-map):
 -      * progmodes/vera-mode.el (auto-mode-alist):
 -      * progmodes/inf-lisp.el (inferior-lisp-filter-regexp)
 -      (inferior-lisp-program, inferior-lisp-load-command):
 -      * progmodes/hideshow.el (hs-special-modes-alist):
 -      * progmodes/gud.el (same-window-regexps):
 -      * progmodes/grep.el (grep-program, find-program, xargs-program):
 -      * net/telnet.el (same-window-regexps):
 -      * net/rlogin.el (same-window-regexps):
 -      * language/ethiopic.el (font-ccl-encoder-alist):
 -      * vc-sccs.el (vc-sccs-master-templates):
 -      * vc-rcs.el (vc-rcs-master-templates):
 -      * subr.el (cl-assertion-failed):
 -      * simple.el (next-error-overlay-arrow-position):
 -      * lpr.el (lpr-command):
 -      * locate.el (locate-ls-subdir-switches):
 -      * info.el (same-window-regexps, info)
 -      (Info-goto-emacs-command-node, Info-goto-emacs-key-command-node):
 -      * image-mode.el (image-mode, auto-mode-alist):
 -      * hippie-exp.el (hippie-expand-ignore-buffers):
 -      * format.el (format-alist):
 -      * find-dired.el (find-ls-subdir-switches, find-grep-options)
 -      (find-name-arg):
 -      * facemenu.el (facemenu-keybindings):
 -      * dired.el (dired-listing-switches, dired-chown-program):
 -      * diff.el (diff-switches, diff-command):
 -      * cus-edit.el (same-window-regexps):
 -      * bindings.el (mode-line-mule-info)
 -      (mode-line-buffer-identification): Purecopy strings.
 -
 -2009-11-11  Juri Linkov  <juri@jurta.org>
 -
 -      * simple.el (dired-get-filename) <declare-function>:
 -      Tell the byte-compiler about dired-get-filename.
 -      (shell-command): In Dired mode, get filename from the current line
 -      as the default value.
 -
 -2009-11-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * dired.el, hi-lock.el, calendar/cal-menu.el, calendar/calendar.el:
 -      * calendar/holidays.el, progmodes/cperl-mode.el:
 -      Update x-popup-menu declarations.
 -
 -      * emacs-lisp/shadow.el (find-emacs-lisp-shadows)
 -      (list-load-path-shadows): Use dolist.
 -      (list-load-path-shadows): Use with-current-buffer.
 -
 -2009-11-10  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuffer.el (read-file-name): Support a list of default values
 -      in `default-filename'.  Use the first file name where only one
 -      element is required.  Doc fix.
 -
 -2009-11-09  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-unregister-object): Release service, if no
 -      other method is registered for it.
 -
 -2009-11-08  Markus Rost  <rost@math.uni-bielefeld.de>
 -
 -      * bookmark.el (bookmark-completing-read): Sort bookmark names if
 -      bookmark-sort-flag is non-nil (Bug#4653).
 -
 -2009-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emulation/cua-base.el: Add CUA property to some CC mode commands
 -      (Bug#4100).
 -
 -2009-11-08  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-proper-noun-regexp): Match noun
 -      at end of sentence (Bug#4818).
 -
 -2009-11-08  Jared Finder  <jfinder@crypticstudios.com>
 -
 -      * progmodes/compile.el (compilation-error-regexp-alist-alist):
 -      Handle "see declaration of" MSFT statements (Bug#4100).
 -
 -2009-11-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-advice-make-auto-save-file-name)
 -      (tramp-advice-file-expand-wildcards): Unload via
 -      `ad-remove-advice'.
 -
 -      * net/trampver.el: Update release number.
 -
 -2009-11-08  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/tramp.el (tramp-advice-file-expand-wildcards): Don't rely on
 -      `ad-do-it'.
 -
 -2009-11-08  Andr  <m00naticus@gmail.com>  (tiny change)
 -
 -      * net/tramp.el (tramp-handle-write-region): Copy but rename temp file,
 -      in order to keep context in SELinux.
 -
 -2009-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired-aux.el (dired-query): Place cursor in echo area and allow
 -      C-g.
 -
 -      * dired.el (dired-mode-map): Disable dired-maybe-insert-subdir
 -      menu item if not on a directory (Bug#4701).
 -
 -2009-11-07  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Sync with Tramp 2.1.17.
 -
 -      * net/tramp.el (tramp-handle-copy-directory): Don't use
 -      `file-remote-p' (due to compatibility).
 -
 -      * net/tramp-compat.el (tramp-compat-copy-directory)
 -      (tramp-compat-delete-directory): New defuns.
 -
 -      * net/tramp-fish.el (tramp-fish-handle-delete-directory):
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory):
 -      Use `tramp-compat-delete-directory'.
 -
 -      * net/tramp-smb.el (tramp-smb-handle-copy-directory)
 -      (tramp-smb-handle-delete-directory):
 -      Use `tramp-compat-copy-directory' and `tramp-compat-delete-directory'.
 -
 -      * net/trampver.el: Update release number.
 -
 -2009-11-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * tar-mode.el (tar-copy): Call write-region on the right buffer
 -      (Bug#4857).
 -
 -      * mail/rmailsum.el (rmail-summary-rmail-update): Call linum-update
 -      by hand, if necessary (Bug#4878).
 -
 -2009-11-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * buff-menu.el (Buffer-menu-buffer+size): Use display property to
 -      align size column (Bug#4839).
 -
 -      * emacs-lisp/autoload.el (autoload-rubric): Always issue a provide
 -      statement.
 -
 -2009-11-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * progmodes/ld-script.el (auto-mode-alist):
 -      * vc-hooks.el (vc-directory-exclusion-list): Purecopy strings.
 -
 -      * cus-face.el (custom-declare-face): Purecopy face spec.
 -
 -2009-11-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/uni-bidi.el: Re-generated.
 -      * international/uni-category.el: Re-generated.
 -      * international/uni-combining.el: Re-generated.
 -      * international/uni-mirrored.el: Re-generated.
 -
 -2009-11-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * textmodes/tex-mode.el (tex-alt-dvi-print-command)
 -      (tex-dvi-print-command, tex-bibtex-command, tex-start-commands)
 -      (tex-start-options, slitex-run-command, latex-run-command)
 -      (tex-run-command, tex-directory):
 -      * textmodes/ispell.el (ispell-html-skip-alists)
 -      (ispell-tex-skip-alists, ispell-tex-skip-alists):
 -      * textmodes/fill.el (adaptive-fill-first-line-regexp):
 -      (adaptive-fill-regexp):
 -      * textmodes/dns-mode.el (auto-mode-alist):
 -      * progmodes/python.el (interpreter-mode-alist):
 -      * progmodes/etags.el (tags-compression-info-list):
 -      * progmodes/etags.el (tags-file-name):
 -      * net/browse-url.el (browse-url-galeon-program)
 -      (browse-url-firefox-program):
 -      * mail/sendmail.el (mail-signature-file)
 -      (mail-citation-prefix-regexp):
 -      * international/mule-conf.el (eight-bit):
 -      * international/latexenc.el (latex-inputenc-coding-alist):
 -      * international/fontset.el (x-pixel-size-width-font-regexp):
 -      * emacs-lisp/warnings.el (warning-type-format):
 -      * emacs-lisp/trace.el (trace-buffer):
 -      * emacs-lisp/lisp-mode.el (lisp-interaction-mode-map)
 -      (emacs-lisp-mode-map):
 -      * calendar/holidays.el (holiday-solar-holidays)
 -      (holiday-bahai-holidays, holiday-islamic-holidays)
 -      (holiday-christian-holidays, holiday-hebrew-holidays)
 -      (hebrew-holidays-4, hebrew-holidays-3, hebrew-holidays-2)
 -      (hebrew-holidays-1, holiday-oriental-holidays)
 -      (holiday-general-holidays):
 -      * x-dnd.el (x-dnd-known-types):
 -      * tool-bar.el (tool-bar):
 -      * startup.el (site-run-file):
 -      * shell.el (shell-dumb-shell-regexp):
 -      * rfn-eshadow.el (file-name-shadow-tty-properties)
 -      (file-name-shadow-properties):
 -      * paths.el (remote-shell-program, news-directory):
 -      * mouse.el ([C-down-mouse-3]):
 -      * menu-bar.el (menu-bar-tools-menu):
 -      * jka-cmpr-hook.el (jka-compr-load-suffixes)
 -      (jka-compr-mode-alist-additions, jka-compr-compression-info-list)
 -      (jka-compr-compression-info-list):
 -      * isearch.el (search-whitespace-regexp):
 -      * image-file.el (image-file-name-extensions):
 -      * find-dired.el (find-ls-option):
 -      * files.el (directory-listing-before-filename-regexp)
 -      (directory-free-space-args, insert-directory-program)
 -      (list-directory-brief-switches, magic-fallback-mode-alist)
 -      (magic-fallback-mode-alist, auto-mode-interpreter-regexp)
 -      (automount-dir-prefix):
 -      * faces.el (face-x-resources, x-font-regexp, x-font-regexp-head)
 -      (x-font-regexp-slant, x-font-regexp-weight, face-x-resources)
 -      (face-font-registry-alternatives, face-font-registry-alternatives)
 -      (face-font-family-alternatives):
 -      * facemenu.el (facemenu-add-new-face, facemenu-background-menu)
 -      (facemenu-foreground-menu, facemenu-face-menu):
 -      * epa-hook.el (epa-file-name-regexp):
 -      * dnd.el (dnd-protocol-alist):
 -      * textmodes/rst.el (auto-mode-alist):
 -      * button.el (default-button): Purecopy strings.
 -
 -2009-11-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Update.
 -
 -2009-11-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/lucid.el: Move to obsolete/lucid.el.
 -      * emacs-lisp/levents.el: Move to obsolete/levents.el.
 -
 -      * nxml/xsd-regexp.el (xsdre-gen-categories):
 -      * nxml/xmltok.el (xmltok-parse-entity):
 -      * nxml/rng-parse.el (rng-parse-validate-file):
 -      * nxml/rng-maint.el (rng-format-manual)
 -      (rng-manual-output-force-new-line):
 -      * nxml/rng-loc.el (rng-save-schema-location-1):
 -      * nxml/rng-cmpct.el (rng-c-parse-file):
 -      * nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
 -      * nxml/nxml-parse.el (nxml-parse-file): Use with-current-buffer.
 -
 -2009-11-05  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/verilog-mode.el (verilog-getopt-file, verilog-set-define):
 -      Remove extra save-excursions and make-variable-buffer-local's.
 -      Suggested by Stefan Monnier.
 -
 -      (verilog-getopt-file, verilog-module-inside-filename-p)
 -      (verilog-set-define): Merge GNU 1.35 and repair changes from
 -      switching to using with-current-buffer.
 -
 -      (verilog-read-always-signals-recurse): Fix "a == 2'b00 ? b : c"
 -      being treated as a number and confusing AUTORESET.
 -      Reported by Dan Dever.
 -
 -      (verilog-auto-ignore-concat, verilog-read-sub-decls-expr):
 -      Add verilog-auto-ignore-concat to fix backward compatibility with
 -      older verilog-modes.  Reported by Dan Katz.
 -
 -      (verilog-read-auto-template): Fix AUTO_TEMPLATEs with regexps
 -      containing closing anchors "...$".
 -
 -      (verilog-read-decls): Fix AUTOREG not detecting "assign {a,b}".
 -      Reported by Wade Smith.
 -
 -      (verilog-batch-execute-func): Comment on function usage.
 -
 -2009-11-05  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-label-re): Fix regular expression
 -      for labels.
 -
 -      (verilog-label-re, verilog-calc-1): Support proper indent of named
 -      asserts.
 -
 -      (verilog-backward-token, verilog-basic-complete-re)
 -      (verilog-beg-of-statement, verilog-indent-re): Support proper
 -      indent of the assert statement at the beginning of a block of text.
 -
 -      (verilog-beg-block-re, verilog-ovm-begin-re): Support the
 -      `ovm_object_param_utils_begin and `ovm_component_param_utils_begin
 -      tokens as begins.
 -
 -2009-11-05  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-insert-header): Drop test for
 -      Emacs 19.  (Bug#1531)
 -      (byte-compile-fix-header): Update for the above change.
 -      Drop test for epoch::version.
 -
 -      * emacs-lisp/autoload.el (autoload-rubric): Add optional feature arg.
 -      * cus-dep.el (custom-make-dependencies):
 -      * finder.el (finder-compile-keywords):
 -      Use autoload-rubric's feature argument.
 -
 -      * calendar/diary-lib.el (top-level): Make load behave more like require.
 -
 -      * vc-git.el (vc-git-stash-map): Move definition before use.
 -
 -2009-11-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * custom.el (custom-declare-group): Purecopy standard-value.
 -      (custom-declare-group): Purecopy custom-prefix.
 -
 -      * international/mule.el (load-with-code-conversion):
 -      Call do-after-load-evaluation unconditionally.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-output-file-form): Handle defvaralias.
 -
 -2009-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * descr-text.el: Require help-mode rather than help-fns (bug#4861).
 -
 -2009-11-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-version-cond): Remove macro.
 -      (byte-compile-compatibility): Remove option.
 -      (byte-compile-close-variables, byte-compile-fix-header)
 -      (byte-compile-insert-header, byte-compile-output-docform)
 -      (byte-compile-file-form-defmumble, byte-compile-byte-code-maker)
 -      (byte-compile-lambda, byte-compile-form, byte-defop-compiler19)
 -      (byte-compile-list, byte-compile-concat, byte-compile-function-form)
 -      (byte-compile-insert, byte-compile-defun):
 -      Remove support for byte-compile-compatibility and Emacs 18.  (Bug#4571)
 -      (byte-defop-compiler19): Remove.
 -      Without byte-compile-compatibility, the 'emacs19-opcode property is not
 -      used by anything.  Replace all calls with byte-defop-compiler.
 -
 -2009-11-04  Juri Linkov  <juri@jurta.org>
 -
 -      * menu-bar.el (menu-bar-make-mm-toggle): Quote each element of `props'.
 -      (menu-bar-options-menu): Don't quote the `prop' arg of
 -      `menu-bar-make-mm-toggle'.
 -
 -2009-11-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * calendar/calendar.el (cal-loaddefs):
 -      * calendar/diary-lib.el (diary-loaddefs):
 -      * calendar/holidays.el (hol-loaddefs):
 -      * eshell/esh-module.el (esh-groups): Load rather than require.
 -
 -2009-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * calendar/todo-mode.el (todo-add-category): Don't hardcode
 -      point-min==1.
 -      (todo-top-priorities): Only display-buffer when called interactively.
 -      (todo-item-start): Don't save excursion point.
 -      (todo-item-end): Be slightly more careful.  Add `include-sep' arg.
 -      (todo-insert-item-here, todo-file-item, todo-remove-item):
 -      Adjust uses of todo-item-start and todo-item-end.
 -
 -      * emacs-lisp/autoload.el (generated-autoload-feature): Remove.
 -      (autoload-rubric): Don't use any more.
 -
 -      * emacs-lisp/byte-run.el (define-obsolete-variable-alias): Use dolist,
 -      and only put a prop if it is non-nil.
 -
 -2009-11-03  Juri Linkov  <juri@jurta.org>
 -
 -      * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle)
 -      (menu-bar-options-menu): Fix list quoting (Bug#4429).
 -
 -      * buff-menu.el (Buffer-menu-mode-map): Add hyphen between "Buffer"
 -      and "Menu" to make top-level menu item visually one unit (like
 -      it's done for "Lisp-Interaction", "Emacs-Lisp" and other
 -      multi-word menu items).  Fix :help string for quit-window.
 -
 -2009-11-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar)
 -      (byte-compile-file-form-define-abbrev-table)
 -      (byte-compile-file-form-custom-declare-variable)
 -      (byte-compile-variable-ref, byte-compile-defvar):
 -      Whether or not a warning is enabled should only affect whether we issue
 -      the warning, not whether or not we collect the relevant data.
 -      Eg warnings can be turned on and off throughout the course of a file.
 -
 -      * eshell/esh-mode.el (ansi-color-apply-on-region): Autoload it...
 -      (eshell-handle-ansi-color): ... Rather than requiring ansi-color.
 -
 -2009-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term/ns-win.el (ns-scroll-bar-move, ns-face-at-pos):
 -      * play/mpuz.el (mpuz-create-buffer):
 -      * play/landmark.el (lm-prompt-for-move, lm-print-wts, lm-print-smell)
 -      (lm-print-y,s,noise, lm-print-w0, lm-init):
 -      * play/gomoku.el (gomoku-prompt-for-move):
 -      * play/fortune.el (fortune-in-buffer):
 -      * play/dissociate.el (dissociated-press):
 -      * play/decipher.el (decipher-adjacency-list, decipher-display-regexp)
 -      (decipher-analyze-buffer, decipher-stats-buffer, decipher-stats-buffer):
 -      * mail/supercite.el (sc-eref-show):
 -      * mail/smtpmail.el (smtpmail-send-it):
 -      * mail/rmailsum.el (rmail-summary-next-labeled-message)
 -      (rmail-summary-previous-labeled-message, rmail-summary-wipe)
 -      (rmail-summary-undelete-many, rmail-summary-rmail-update)
 -      (rmail-summary-goto-msg, rmail-summary-expunge)
 -      (rmail-summary-get-new-mail, rmail-summary-search-backward)
 -      (rmail-summary-add-label, rmail-summary-output-menu)
 -      (rmail-summary-output-body):
 -      * mail/rfc822.el (rfc822-addresses):
 -      * mail/reporter.el (reporter-dump-variable, reporter-dump-state):
 -      * mail/mailpost.el (post-mail-send-it):
 -      * mail/hashcash.el (hashcash-generate-payment):
 -      * mail/feedmail.el (feedmail-run-the-queue)
 -      (feedmail-queue-send-edit-prompt-help-first)
 -      (feedmail-send-it-immediately, feedmail-give-it-to-buffer-eater)
 -      (feedmail-deduce-address-list):
 -      * eshell/esh-ext.el (eshell-remote-command):
 -      * eshell/em-unix.el (eshell-occur-mode-mouse-goto):
 -      * emulation/viper-util.el (viper-glob-unix-files, viper-save-setting)
 -      (viper-wildcard-to-regexp, viper-glob-mswindows-files)
 -      (viper-save-string-in-file, viper-valid-marker):
 -      * emulation/viper-keym.el (viper-toggle-key):
 -      * emulation/viper-ex.el (ex-expand-filsyms, viper-get-ex-file)
 -      (ex-edit, ex-global, ex-mark, ex-next-related-buffer, ex-quit)
 -      (ex-get-inline-cmd-args, ex-tag, ex-command, ex-compile):
 -      * emulation/viper-cmd.el (viper-exec-form-in-vi)
 -      (viper-exec-form-in-emacs, viper-brac-function):
 -      * emulation/viper.el (viper-delocalize-var):
 -      * emulation/vip.el (vip-mode, vip-get-ex-token, vip-ex, vip-get-ex-pat)
 -      (vip-get-ex-command, vip-get-ex-opt-gc, vip-get-ex-buffer)
 -      (vip-get-ex-count, vip-get-ex-file, ex-edit, ex-global, ex-mark)
 -      (ex-map, ex-unmap, ex-quit, ex-read, ex-tag, ex-command):
 -      * emulation/vi.el (vi-switch-mode, vi-ex-cmd):
 -      * emulation/edt.el (edt-electric-helpify):
 -      * emulation/cua-rect.el (cua--rectangle-aux-replace):
 -      * emulation/cua-gmrk.el (cua--insert-at-global-mark)
 -      (cua--delete-at-global-mark, cua--copy-rectangle-to-global-mark)
 -      (cua-indent-to-global-mark-column):
 -      * calendar/diary-lib.el (calendar-mark-1):
 -      * calendar/cal-hebrew.el (calendar-hebrew-mark-date-pattern):
 -      Use with-current-buffer.
 -      * emulation/viper.el (viper-delocalize-var): Use dolist.
 -
 -2009-11-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * comint.el (comint-replace-by-expanded-history-before-point):
 -      Replace !! with the previous input string literally (Bug#1795).
 -
 -2009-11-02  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-forms.el (calc-date-notation): Allow a "blank string"
 -      to be made up of whitespace.
 -
 -2009-11-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuffer.el (read-file-name): Don't use file dialogs for
 -      remote directories (Bug#99).
 -
 -2009-11-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/sh-script.el (sh-font-lock-paren): Fix last change.
 -
 -2009-11-01  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * view.el (view-mode-exit): If OLD-BUF is dead bury the buffer
 -      instead of deleting the window or frame.
 -
 -2009-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * textmodes/sgml-mode.el (sgml-mode-facemenu-add-face-function):
 -      Support face colors.
 -
 -      * textmodes/tex-mode.el (tex-facemenu-add-face-function):
 -      New function.  Support face colors (Bug#1168).
 -      (tex-common-initialization): Use it.
 -
 -      * facemenu.el (facemenu-enable-faces-p): Enable facemenu if the
 -      mode allows it (Bug#1168).
 -
 -2009-10-31  Juri Linkov  <juri@jurta.org>
 -
 -      * facemenu.el (list-colors-display): Don't mark buffer as
 -      modified (Bug#3948).
 -
 -2009-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * international/mule-diag.el (list-character-sets-1):
 -      Minor message fix (Bug#3526).
 -
 -      * progmodes/etags.el (etags-list-tags, etags-tags-apropos):
 -      Fix face property (Bug#4834).
 -      (etags-list-tags, etags-tags-apropos-additional)
 -      (etags-tags-apropos, tags-select-tags-table): Add follow-link
 -      property.
 -
 -      * menu-bar.el (menu-bar-tools-menu): Add Semantic and EDE menu
 -      items.
 -
 -2009-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/two-column.el (2C-split):
 -      * textmodes/texnfo-upd.el (texinfo-multi-file-included-list):
 -      * textmodes/tex-mode.el (tex-set-buffer-directory):
 -      * textmodes/spell.el (spell-region, spell-string):
 -      * textmodes/reftex.el (reftex-erase-buffer):
 -      (reftex-get-file-buffer-force, reftex-kill-temporary-buffers):
 -      * textmodes/reftex-toc.el (reftex-toc-promote-action):
 -      * textmodes/reftex-sel.el (reftex-get-offset, reftex-insert-docstruct)
 -      (reftex-select-item):
 -      * textmodes/reftex-ref.el (reftex-label-info-update)
 -      (reftex-offer-label-menu):
 -      * textmodes/reftex-index.el (reftex-index-change-entry)
 -      (reftex-index-phrases-info):
 -      * textmodes/reftex-global.el (reftex-create-tags-file)
 -      (reftex-save-all-document-buffers, reftex-ensure-write-access):
 -      * textmodes/reftex-dcr.el (reftex-echo-ref, reftex-echo-cite)
 -      (reftex-view-crossref-from-bibtex):
 -      * textmodes/reftex-cite.el (reftex-bibtex-selection-callback)
 -      (reftex-extract-bib-entries-from-thebibliography)
 -      (reftex-all-used-citation-keys, reftex-create-bibtex-file):
 -      * textmodes/refbib.el (r2b-capitalize-title):
 -      (r2b-convert-buffer, r2b-help):
 -      * textmodes/page-ext.el (pages-directory)
 -      (pages-directory-goto-with-mouse):
 -      * textmodes/bibtex.el (bibtex-validate-globally):
 -      * textmodes/bib-mode.el (bib-capitalize-title):
 -      * textmodes/artist.el (artist-clear-buffer, artist-system):
 -      * progmodes/xscheme.el (global-set-scheme-interaction-buffer):
 -      (local-set-scheme-interaction-buffer, xscheme-process-filter)
 -      (verify-xscheme-buffer, xscheme-enter-interaction-mode)
 -      (xscheme-enter-debugger-mode, xscheme-debugger-mode-p)
 -      (xscheme-send-control-g-interrupt, xscheme-start-process)
 -      (xscheme-process-sentinel, xscheme-cd):
 -      * progmodes/verilog-mode.el (verilog-read-always-signals)
 -      (verilog-set-define, verilog-getopt-file)
 -      (verilog-module-inside-filename-p):
 -      * progmodes/sh-script.el:
 -      * progmodes/python.el (python-pdbtrack-get-source-buffer)
 -      (python-pdbtrack-grub-for-buffer, python-execute-file):
 -      * progmodes/octave-inf.el (inferior-octave):
 -      * progmodes/idlwave.el (idlwave-scan-user-lib-files)
 -      (idlwave-shell-compile-helper-routines, idlwave-set-local)
 -      (idlwave-display-completion-list-xemacs, idlwave-list-abbrevs)
 -      (idlwave-display-completion-list-emacs, idlwave-list-load-path-shadows)
 -      (idlwave-completion-fontify-classes, idlwave-display-calling-sequence):
 -      * progmodes/idlw-shell.el (idlwave-shell-examine-display-clear)
 -      (idlwave-shell-filter, idlwave-shell-examine-highlight)
 -      (idlwave-shell-sentinel, idlwave-shell-filter-directory)
 -      (idlwave-shell-display-line, idlwave-shell-set-bp-in-module)
 -      (idlwave-shell-examine-display, idlwave-shell-run-region)
 -      (idlwave-shell-filter-bp, idlwave-shell-save-and-action)
 -      (idlwave-shell-sources-filter, idlwave-shell-goto-next-error):
 -      * progmodes/idlw-help.el (idlwave-help-get-special-help)
 -      (idlwave-help-get-help-buffer):
 -      * progmodes/gud.el (gud-basic-call, gud-find-class)
 -      (gud-tooltip-activate-mouse-motions-if-enabled):
 -      * progmodes/gdb-mi.el (gdb-mouse-toggle-breakpoint-fringe):
 -      * progmodes/ebrowse.el (ebrowse-member-table, ebrowse-save-tree-as)
 -      (ebrowse-view-exit-fn, ebrowse-tags-list-members-in-file)
 -      (ebrowse-tags-next-file):
 -      * progmodes/ebnf2ps.el (ebnf-generate-eps, ebnf-generate-eps)
 -      (ebnf-eps-production-list, ebnf-begin-file, ebnf-log)
 -      (ebnf-eps-finish-and-write):
 -      * progmodes/cpp.el (cpp-edit-save):
 -      * progmodes/cperl-mode.el (cperl-pod-to-manpage):
 -      * progmodes/cc-defs.el (c-emacs-features):
 -      * progmodes/antlr-mode.el (antlr-invalidate-context-cache)
 -      (antlr-directory-dependencies):
 -      * progmodes/ada-xref.el (ada-gnat-parse-gpr, ada-get-ali-file-name)
 -      (ada-run-application, ada-find-in-src-path, ada-goto-parent)
 -      (ada-find-any-references, ada-make-filename-from-adaname)
 -      (ada-make-body-gnatstub):
 -      * obsolete/rnews.el (news-list-news-groups):
 -      * obsolete/resume.el (resume-suspend-hook, resume-write-buffer-to-file):
 -      * obsolete/iso-acc.el (iso-acc-minibuf-setup):
 -      * net/rcirc.el (rcirc-debug):
 -      * net/newst-treeview.el (newsticker--treeview-list-add-item)
 -      (newsticker--treeview-list-clear, newsticker-treeview-browse-url)
 -      (newsticker--treeview-list-update-faces, newsticker-treeview-save)
 -      (newsticker--treeview-item-show-text, newsticker--treeview-item-show)
 -      (newsticker--treeview-tree-update-tag, newsticker--treeview-buffer-init)
 -      (newsticker-treeview-show-item, newsticker--treeview-unfold-node)
 -      (newsticker--treeview-list-clear-highlight)
 -      (newsticker--treeview-list-update-highlight)
 -      (newsticker--treeview-list-highlight-start)
 -      (newsticker--treeview-tree-update-highlight)
 -      (newsticker--treeview-get-selected-item)
 -      (newsticker-treeview-mark-list-items-old)
 -      (newsticker--treeview-set-current-node):
 -      * net/newst-plainview.el (newsticker--buffer-set-uptodate):
 -      * net/newst-backend.el (newsticker--get-news-by-funcall)
 -      (newsticker--get-news-by-wget, newsticker--image-get)
 -      (newsticker--image-sentinel):
 -      * net/mairix.el (mairix-rmail-fetch-field, mairix-gnus-fetch-field):
 -      * net/eudcb-ph.el (eudc-ph-do-request, eudc-ph-open-session):
 -      (eudc-ph-close-session):
 -      * net/eudc.el (eudc-save-options):
 -      * language/thai-word.el (thai-update-word-table):
 -      * language/japan-util.el (japanese-string-conversion):
 -      * international/titdic-cnv.el (tsang-quick-converter)
 -      (ziranma-converter, ctlau-converter):
 -      * international/mule-cmds.el (describe-language-environment):
 -      * international/ja-dic-cnv.el (skkdic-convert-okuri-ari)
 -      (skkdic-convert-postfix, skkdic-convert-prefix):
 -      (skkdic-convert-okuri-nasi, skkdic-convert):
 -      * emacs-lisp/re-builder.el (reb-update-overlays):
 -      * emacs-lisp/pp.el (pp-to-string, pp-display-expression):
 -      * emacs-lisp/gulp.el (gulp-send-requests):
 -      * emacs-lisp/find-gc.el (trace-call-tree):
 -      * emacs-lisp/eieio-opt.el (eieio-browse, eieio-describe-class)
 -      (eieio-describe-generic):
 -      * emacs-lisp/eieio-base.el (eieio-persistent-read):
 -      * emacs-lisp/edebug.el (edebug-outside-excursion):
 -      * emacs-lisp/debug.el (debugger-make-xrefs):
 -      * emacs-lisp/cust-print.el (custom-prin1-to-string):
 -      * emacs-lisp/chart.el (chart-new-buffer):
 -      * emacs-lisp/authors.el (authors-scan-el, authors-scan-change-log):
 -      Use with-current-buffer.
 -      * textmodes/artist.el (artist-system): Don't call
 -      copy-sequence on a fresh string.
 -      * progmodes/idlw-shell.el (easymenu setup): Use dolist.
 -
 -2009-10-31  Stephen Berman  <stephen.berman@gmx.net>
 -
 -      * calendar/todo-mode.el (todo-edit-item): Signal an error if there
 -      is no item to edit.  (Bug#4820)
 -      (todo-top-priorities): Restore point and restore narrowing in Todo
 -      buffer.  (Bug#4820)
 -
 -2009-10-31  Glenn Morris  <rgm@gnu.org>
 -
 -      * net/ange-ftp.el (top-level): Don't require dired when compiling.
 -      (comint-last-output-start, comint-last-input-start)
 -      (comint-last-input-end): Don't defvar when compiling.
 -      (ange-ftp-process-file): Use bound-and-true-p.
 -
 -      * pcmpl-rpm.el (top-level): Move provide statement to end.
 -      (pcmpl-rpm): Remove unused custom group.
 -
 -      * pcmpl-gnu.el (tar-parse-info, tar-header-name): Declare for compiler.
 -
 -      * mail/emacsbug.el (report-emacs-bug): Request `emacs -Q' recipes.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-warning-types)
 -      (byte-compile-warnings): Add `constants' as an option.
 -      (byte-compile-callargs-warn, byte-compile-arglist-warn)
 -      (display-call-tree): Update for byte-compile-fdefinition possibly
 -      returning `(macro lambda ...)'.  (Bug#4778)
 -      (byte-compile-variable-ref, byte-compile-setq-default):
 -      Respect `constants' member of byte-compile-warnings.
 -
 -2009-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-bzr.el (vc-bzr-revision-keywords): New var.
 -      (vc-bzr-revision-completion-table): Use it to fix completion of "s:"
 -      to "submit:".
 -
 -2009-10-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * textmodes/ispell.el (ispell-skip-region-alist):
 -      * international/mule-conf.el (eight-bit):
 -      * international/fontset.el (font-encoding-alist):
 -      * startup.el (pure-space-overflow-message):
 -      * simple.el (overwrite-mode-textual, overwrite-mode-binary):
 -      * paths.el (gnus-nntp-service, rmail-spool-directory)
 -      (term-file-prefix):
 -      * files.el (save-some-buffers-action-alist):
 -      * cmuscheme.el (same-window-buffer-names):
 -      * ielm.el (same-window-buffer-names):
 -      * shell.el (same-window-buffer-names):
 -      * mail/sendmail.el (same-window-buffer-names):
 -      * progmodes/inf-lisp.el (same-window-buffer-names):
 -      * bindings.el (mode-line-client)
 -      (mode-line-column-line-number-mode-map):
 -      * language/tibetan.el (tibetan-precomposition-rule-regexp)
 -      (tibetan-precomposed-regexp): Purecopy string arguments.
 -
 -2009-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * calc/calc.el (calc, calc-refresh, calc-trail-buffer, calc-record)
 -      (calcDigit-nondigit):
 -      * calc/calc-yank.el (calc-copy-to-buffer):
 -      * calc/calc-units.el (calc-invalidate-units-table):
 -      * calc/calc-trail.el (calc-trail-yank):
 -      * calc/calc-store.el (calc-insert-variables):
 -      * calc/calc-rewr.el (math-rewrite, math-rewrite-phase):
 -      * calc/calc-prog.el (calc-read-parse-table):
 -      * calc/calc-keypd.el (calc-do-keypad, calc-keypad-right-click):
 -      * calc/calc-help.el (calc-describe-bindings, calc-describe-key):
 -      * calc/calc-graph.el (calc-graph-delete, calc-graph-add-curve)
 -      (calc-graph-juggle, calc-graph-count-curves, calc-graph-plot)
 -      (calc-graph-plot, calc-graph-format-data, calc-graph-set-styles)
 -      (calc-graph-name, calc-graph-find-command, calc-graph-view)
 -      (calc-graph-view, calc-gnuplot-command, calc-graph-init):
 -      * calc/calc-ext.el (calc-realign):
 -      * calc/calc-embed.el (calc-do-embedded, calc-do-embedded)
 -      (calc-embedded-finish-edit, calc-embedded-make-info)
 -      (calc-embedded-finish-command, calc-embedded-stack-change):
 -      * calc/calc-aent.el (calcAlg-enter): Use with-current-buffer.
 -
 -      * pcomplete.el (pcomplete-comint-setup): If there's a choice, replace
 -      shell-dynamic-complete-filename in preference to
 -      comint-dynamic-complete-filename.
 -
 -      * bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
 -      (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames):
 -      Don't consider whether the display supports colors.
 -      (bookmark-import-new-list): Use dolist.
 -      (bookmark-bmenu-mode-map): Move initialization into declaration.
 -      (bookmark-bmenu-list): Use dolist, simplify.
 -      (bookmark-show-all-annotations): Use save-selected-window and dolist.
 -      (menu-bar-final-items): Use push.
 -
 -2009-10-28  Bernhard Herzog  <bernhard.herzog@intevation.de>  (tiny change)
 -
 -      * vc-hg.el (vc-hg-state, vc-hg-working-revision): Use process-file so
 -      it works on remote files.
 -      (vc-hg-diff): Don't pass any `--cwd' argument.
 -
 -2009-10-27  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-proper-noun-region-engine):
 -      Use help-xref-info-regexp and help-xref-url-regexp to identify links.
 -      (Further to Bug#3921).
 -
 -2009-10-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-imap.el (top): Add `X-Size' to `imap-hash-headers'.
 -      (tramp-imap-do-copy-or-rename-file): Don't use the inode, when
 -      calling `tramp-imap-put-file'.  Add file size to the call.
 -      (tramp-imap-get-file-entries): Compute also user name, file size,
 -      and date.
 -      (tramp-imap-handle-insert-directory): Insert uid and gid.
 -      (tramp-imap-handle-file-attributes): Transform uid and gid
 -      according to `id-format'.
 -      (tramp-imap-put-file): New optional parameter SIZE.  Encode file
 -      size in header X-Size.
 -
 -2009-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * simple.el (transpose-subr): Give clearer error when the mark
 -      is not set.  (Bug#4807)
 -
 -2009-10-26  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-perl-file-truename): New defconst.
 -      Perl code contributed by yary <not.com@gmail.com> (tiny change).
 -      (tramp-handle-file-truename, tramp-get-remote-perl): Use it.
 -      Check also for "perl-file-spec" and "perl-cwd-realpath" properties.
 -      (tramp-handle-write-region): In case of APPEND, reuse the tmpfile name.
 -
 -      * net/tramp-imap.el (tramp-imap-file-name-handler-alist):
 -      Ignore `dired-call-process'.
 -      (tramp-imap-make-iht): Use `user' and `ssl' with `imap-hash-make'.
 -
 -2009-10-26  Julian Scheid  <julians37@gmail.com>
 -
 -      * net/tramp.el (tramp-perl-file-name-all-completions): New defconst.
 -      (tramp-get-remote-readlink): New defun.
 -      (tramp-handle-file-truename): Use it.
 -      (tramp-handle-file-exists-p): Check file-attributes cache, assume
 -      file exists if cache value present.
 -      (tramp-check-cached-permissions): New defun.
 -      (tramp-handle-file-readable-p): Use it.
 -      (tramp-handle-file-writable-p): Likewise.
 -      (tramp-handle-file-executable-p): Likewise.
 -      (tramp-handle-file-name-all-completions): Try using Perl to get
 -      partial completions.  When perl not available, combine `cd' and
 -      `ls' into single remote operation and use shell expansion to get
 -      partial remote directory contents.  Set `file-exists-p' cache for
 -      directory and any files returned by ls.  Change cache handling to
 -      support partial directory contents.  Use error message emitted by
 -      remote `cd' or Perl code for local tramp-error.
 -      (tramp-do-copy-or-rename-file-directly): Avoid separate
 -      tramp-send-command-and-check call.
 -      (tramp-handle-process-file): Merge three remote ops into one.
 -      Do not flush all caches when `process-file-side-effects' is set.
 -      (tramp-handle-write-region): Avoid tramp-set-file-uid-gid if
 -      file-attributes shows uid/gid to be set already.
 -
 -2009-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * textmodes/tex-mode.el (tex-dvi-view-command)
 -      (tex-show-queue-command, tex-open-quote):
 -      * progmodes/ruby-mode.el (auto-mode-alist)
 -      (interpreter-mode-alist): Purecopy strings.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Purecopy item names.
 -
 -      * emacs-lisp/derived.el (define-derived-mode): Purecopy the doc
 -      string for the hook, keymap and abbrev table.
 -
 -      * emacs-lisp/byte-run.el (make-obsolete): Purecopy the current name.
 -
 -      * x-dnd.el (x-dnd-xdnd-to-action):
 -      * startup.el (fancy-startup-text, fancy-about-text): Change to
 -      defconst from defvar.
 -
 -      * ps-print.el (ps-page-dimensions-database): Purecopy initial value.
 -
 -      * mouse.el (mouse-buffer-menu-mode-groups, x-fixed-font-alist):
 -      Purecopy initialization strings.
 -
 -      * mail/sendmail.el (mail-header-separator)
 -      (mail-personal-alias-file):
 -      * mail/rmail.el (rmail-default-dont-reply-to-names)
 -      (rmail-ignored-headers, rmail-retry-ignored-headers)
 -      (rmail-highlighted-headers, rmail-secondary-file-directory)
 -      (rmail-secondary-file-regexp):
 -      * files.el (null-device, file-name-invalid-regexp)
 -      (locate-dominating-stop-dir-regexp)
 -      (inhibit-first-line-modes-regexps): Purecopy initialization strings.
 -      (interpreter-mode-alist): Use mapcar instead of mapc.
 -
 -      * buff-menu.el (Buffer-menu-mode-map): Purecopy name.
 -
 -      * bindings.el (mode-line-major-mode-keymap): Purecopy name.
 -      (completion-ignored-extensions):
 -      (debug-ignored-errors): Purecopy strings.
 -
 -2009-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcomplete.el (pcomplete-std-complete): Obey pcomplete-use-paring.
 -      (pcomplete, pcomplete-parse-buffer-arguments, pcomplete-opt)
 -      (pcomplete--here): Use push.
 -
 -      * subr.el (all-completions): Declare the 4th arg obsolete.
 -
 -2009-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcomplete.el (pcomplete-unquote-argument-function): New var.
 -      (pcomplete-unquote-argument): New function.
 -      (pcomplete--common-suffix): Always pay attention to case.
 -      (pcomplete--table-subvert): Quote and unquote the text.
 -      (pcomplete--common-quoted-suffix): New function.
 -      (pcomplete-std-complete): Use it and pcomplete-begin.
 -
 -      * bookmark.el (bookmark-bmenu-list): Don't use switch-to-buffer if
 -      we're inside a dedicated or minibuffer window.
 -
 -2009-10-24  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Update documentation, especially documentation
 -      of `bookmark-alist' and of the bookmark file format.
 -      Patch by Drew Adams, with minor tweaks from me.  (Bug#4195)
 -
 -2009-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/emacsbug.el (report-emacs-bug): Clarify that the
 -      keybindings apply to the mail buffer (Bug#4003).  Shrink help
 -      window to buffer.
 -
 -      * whitespace.el (whitespace-mode, whitespace-newline-mode)
 -      (global-whitespace-mode, global-whitespace-newline-mode)
 -      (whitespace-toggle-options, global-whitespace-toggle-options):
 -      Doc fix (Bug#3660).
 -
 -      * nxml/nxml-mode.el (nxml-balanced-close-start-tag): Use the value
 -      of xmltok-start before the end tag was inserted (Bug#2840).
 -
 -      * progmodes/sh-script.el (sh-font-lock-paren): Handle case
 -      patterns that are preceded by an open-paren (Bug#1320).
 -
 -2009-10-24  Sven Joachim  <svenjoac@gmx.de>
 -
 -      * files.el (delete-directory): Delete symlinks to directories with
 -      delete-file (Bug#4739).
 -
 -2009-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-backend-for-registration): Rename from
 -      vc-get-backend-for-registration.  Update callers.
 -
 -      * international/mule-cmds.el (set-language-info-alist):
 -      Purecopy lang-env.
 -      (leim-list-header, leim-list-entry-regexp): Change defvars to defconst.
 -      (charset): Purecopy the name.
 -      (define-char-code-property): Purecopy string arguments.
 -
 -      * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable):
 -      Purecopy string arguments.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map):
 -      * ediff-hook.el (menu-bar-ediff-menu):
 -      * buff-menu.el (Buffer-menu-mode-map): Purecopy names and tooltips.
 -      * bookmark.el (menu-bar-bookmark-map): Add :help and purecopy the name.
 -
 -2009-10-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * comint.el (comint-dynamic-list-completions):
 -      * term.el (term-dynamic-list-completions): Use choose-completion rather
 -      than obsolete alias mouse-choose-completion.
 -
 -      * filecache.el (file-cache-completions-keymap): Bind mouse-2 to
 -      file-cache-choose-completion.
 -      (file-cache-choose-completion): Handle an optional event argument.
 -      (file-cache-mouse-choose-completion): Make it an obsolete alias.
 -
 -      * progmodes/octave-mod.el (octave-complete-symbol):
 -      Use choose-completion if mouse-choose-completion is ever removed.
 -
 -      * textmodes/sgml-mode.el (sgml-looking-back-at): Move definition before
 -      use.
 -
 -      * emacs-lisp/checkdoc.el (generate-autoload-cookie): Define for
 -      compiler.
 -
 -      * vc-hooks.el (vc-responsible-backend): Fix declaration.
 -
 -2009-10-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion--embedded-envvar-table): Fix last change.
 -      Ignore `pred' now that we receive one.
 -      Handle test-completion specially.
 -
 -2009-10-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-responsible-backend): Throw an error if not backend is
 -      found.  Remove the REGISTER argument.  Move the code dealing with
 -      REGISTER ...
 -      (vc-get-backend-for-registration): ... here.  New function.
 -      (vc-deduce-fileset): Call vc-get-backend-for-registration instead
 -      of vc-responsible-backend, pass the file name instead of the
 -      directory name.
 -
 -2009-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcomplete.el (pcomplete-common-suffix, pcomplete-table-subvert):
 -      New funs.
 -      (pcomplete-std-complete): Use them.  Obey pcomplete-termination-string.
 -      (pcomplete-comint-setup): Don't modify a global var via
 -      accidental side-effects.
 -      (pcomplete-shell-setup): Adjust call accordingly.
 -      (pcomplete-parse-comint-arguments): Use push.
 -
 -2009-10-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-proper-noun-region-engine):
 -      Allow uncapitalized info node names (Bug#3921).
 -
 -      * mail/emacsbug.el (report-emacs-bug): Tweak the sentence pointing
 -      to the DEBUG file (Bug#3781).
 -
 -2009-10-23  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * textmodes/ispell.el (ispell-dictionary-base-alist): Add finnish
 -      dictionary entry (Bug#4579).
 -
 -2009-10-23  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (top): Remove `tramp-rfn-eshadow-update-overlay'
 -      from `rfn-eshadow-update-overlay-hook' when unloading.
 -      (tramp-methods): Add `tramp-copy-keep-tmpfile' for "rsync" and
 -      "rsyncc".  Adjust doc string.
 -      (tramp-temp-buffer-file-name): New buffer-local defvar.
 -      (tramp-handle-insert-file-contents, tramp-handle-write-region):
 -      Keep temporary file when indicated by method ("rsync" and
 -      "rsyncc").
 -      (tramp-handle-write-region): Handle APPEND.
 -      (tramp-delete-temp-file-function): New defun.  Added to
 -      `kill-buffer-hook'.
 -
 -2009-10-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * menu-bar.el (cua-enable-cua-keys): Declare for the byte-compiler.
 -
 -2009-10-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term/tty-colors.el (msdos-color-values): Remove declaration, unused.
 -      (color-name-rgb-alist, tty-standard-colors)
 -      (tty-color-mode-alist): Change to defconst.
 -
 -      * simple.el (mark-inactive): Purecopy message.
 -
 -      * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle): Fix macro.
 -      (global-map, yank-menu):
 -      * textmodes/ispell.el (ispell-menu-map):
 -      * net/eudc.el (eudc-tools-menu):
 -      * international/mule-cmds.el (describe-language-environment-map)
 -      (setup-language-environment-map, set-coding-system-map)
 -      (mule-menu-keymap):
 -      * vc-hooks.el (vc-menu-entry, vc-menu-map):
 -      * replace.el (occur-mode-map):
 -      * pcvs-defs.el (cvs-global-menu): Purecopy names and tooltips.
 -
 -2009-10-23  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (math-read-number, math-read-number-simple):
 -      Use `save-match-data'.
 -
 -2009-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (normal-erase-is-backspace-mode): Use input-decode-map
 -      rather than fiddling with global-map bindings, since it should only
 -      affect per-terminal settings.
 -      See http://bugs.gentoo.org/show_bug.cgi?id=289709.
 -
 -      * minibuffer.el (completion-table-with-terminator): Allow to specify
 -      the terminator-regexp.
 -
 -      * simple.el (switch-to-completions): Look for *Completions* in other
 -      frames as well.
 -
 -      * pcomplete.el: Allow the use of completion-tables.
 -      (pcomplete-std-complete): New command.
 -      (pcomplete-dirs-or-entries): Use a single call to pcomplete-entries.
 -      (pcomplete--here): Use a function for `form' rather than an expression,
 -      so it can be byte-compiled.
 -      (pcomplete-here, pcomplete-here*): Adjust accordingly.
 -      Add edebug declaration.
 -      (pcomplete-show-completions): Remove unused var `curbuf'.
 -      (pcomplete-do-complete, pcomplete-stub):
 -      Don't assume `completions' is a list of strings any more.
 -
 -2009-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * find-dired.el (find-name-arg): Fix typo in docstring.
 -
 -2009-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcmpl-linux.el (pcomplete/kill): Don't abuse pcomplete-entries.
 -      (pcmpl-linux-fs-types): Same, and update to new modules layout.
 -
 -      * pcmpl-gnu.el (pcmpl-gnu-makefile-names): Use a single call to
 -      pcomplete-entries.
 -
 -      * comint.el (comint-read-input-ring, comint-write-input-ring)
 -      (comint-substitute-in-file-name)
 -      (comint-dynamic-complete-as-filename)
 -      (comint-dynamic-simple-complete)
 -      (comint-dynamic-list-filename-completions)
 -      (comint-dynamic-list-completions)
 -      (comint-redirect-results-list-from-process): Minor simplifications.
 -
 -2009-10-21  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
 -      When inserting ";;; Code" put it before any ";;;###autoload" cookie on
 -      the first form.  And insert a blank line after ";;; Code" since
 -      that's usual style.  (Bug#4612)
 -
 -      * net/dns.el: Add "Keywords: comm", as per net/net-utils.el.
 -
 -2009-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion-table-with-terminator): Properly implement
 -      boundaries, in case `terminator' appears in the suffix.
 -      (completion--embedded-envvar-table): Don't return boundaries if
 -      there's no valid completion.  Simplify.
 -      (completion-file-name-table): New completion table extracted from
 -      completion--file-name-table.
 -      (completion--file-name-table): Use it.
 -      (read-file-name-predicate): Declare obsolete.
 -      (read-file-name): Use the pred arg i.s.o read-file-name-predicate.
 -      * vc-bzr.el (vc-bzr-revision-completion-table): Use the new
 -      completion-file-name-table, and use the `pred' argument.
 -      * files.el (locate-file-completion-table): Use the `pred' arg rather
 -      than read-file-name-predicate.
 -      (abbreviate-file-name): Use \` rather than ^ for BOS.
 -
 -2009-10-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-deduce-fileset): Undo previous change, do not tell
 -      vc-responsible-backend to register, it causes problems.
 -
 -2009-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help-fns.el: Don't require help-mode (to avoid bootstrap issues).
 -
 -2009-10-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
 -      (tramp-smb-handle-file-attributes): Use it.
 -      (tramp-smb-do-file-attributes-with-stat): Don't raise an error.
 -      (tramp-smb-handle-insert-directory): Use `mapc' rather than
 -      `mapcar'.  Use `tramp-smb-get-stat-capability'.
 -      Add `dired-filename' text properties.
 -      (tramp-smb-get-cifs-capabilities): Apply `save-match-data'.
 -      (tramp-smb-maybe-open-connection): Simplify check for smbclient
 -      version.
 -
 -2009-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-key-delay): Reduce to 0.01.
 -      (read-key): Use read-key-sequence-vector to avoid turning M-t into 244
 -      (bug#4751).
 -
 -2009-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bindings.el (function-key-map): Map C-@ to C-SPC if C-@ is unbound.
 -
 -      * info.el (Info-complete-menu-item): Handle `boundaries' explicitly.
 -      (Info-menu): Remove unused vars `last' and `completions'.
 -      (Info-index-nodes): Remove unused var `node'.
 -
 -      * info.el (Info-complete-menu-item): Use complete-with-action.
 -
 -2009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Make vc-annotate work through copies and renames.
 -      * vc-annotate.el (vc-annotate-extract-revision-at-line):
 -      Return the file name too.
 -      (vc-annotate-revision-at-line)
 -      (vc-annotate-find-revision-at-line)
 -      (vc-annotate-revision-previous-to-line)
 -      (vc-annotate-show-log-revision-at-line): Update to get the file
 -      name from vc-annotate-extract-revision-at-line.
 -      (vc-annotate-show-diff-revision-at-line-internal): Change the
 -      argument to mean whether to show a file diff or not.  Get the file
 -      name from vc-annotate-extract-revision-at-line.
 -      (vc-annotate-show-diff-revision-at-line):
 -      Update vc-annotate-show-diff-revision-at-line call.
 -      (vc-annotate-warp-revision): Add an optional file argument.
 -
 -      * vc-git.el (vc-git-annotate-command): Pass -C -C to the blame command.
 -      (vc-git-annotate-extract-revision-at-line): Also return the file
 -      name if found.
 -
 -      * vc-hg.el (vc-hg-annotate-command): Pass --follow to the annotate
 -      command.  Remove unused code.
 -      (vc-hg-annotate-re): Update to match --follow output.
 -      (vc-hg-annotate-extract-revision-at-line): Also return the file
 -      name if found.
 -
 -      * vc.el: Update annotate-extract-revision-at-line documentation.
 -
 -2009-10-18  Kevin Ryde  <user42@zip.com.au>
 -
 -      * ibuffer.el (ibuffer-confirm-operation-on): Correction to error
 -      re-throw, `err' is a pair not a list so can't use apply (Bug#4740).
 -
 -      * net/browse-url.el (browse-url): Identify alist with "consp and
 -      not functionp" and let all other things go down the `apply' leg,
 -      as suggested by Stefan.  (Further to bug#4531.)
 -
 -2009-10-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuffer.el (read-file-name): Check for repeat before putting
 -      a default argument in file-name-history (Bug#4657).
 -
 -      * emacs-lisp/lisp-mode.el (preceding-sexp): Recognize hash table
 -      read syntax (Bug#4737).
 -
 -      * textmodes/sgml-mode.el (sgml-delete-tag): Use sgml-looking-back-at.
 -
 -2009-10-18  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
 -
 -      * textmodes/sgml-mode.el (sgml-tag-help): Prompt user for tag.
 -      (html-tag-alist, html-tag-help): Add descriptions for undocumented
 -      entries and make note of obsolete tags.
 -
 -2009-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * net/ange-ftp.el (ange-ftp-file-size): Use unwind-protect.
 -
 -2009-10-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (compile-last): Ensure GREP_OPTIONS is null before calling
 -      grep, so that binary files (eg international/uni-bidi.el) can match.
 -      Remove test for "UnicodeData" files, since it is hopefully unnecessary
 -      now, and in any case the file header format has changed.
 -
 -2009-10-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * textmodes/flyspell.el (flyspell-large-region, flyspell-word)
 -      (flyspell-get-word, flyspell-large-region)
 -      (flyspell-auto-correct-previous-word): Doc/error message fixes.
 -
 -2009-10-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (ELCFILES): Add ede/shell.
 -
 -2009-10-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term/common-win.el (x-colors): Purecopy it.
 -
 -2009-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * tar-mode.el (tar-data-swapped-p): Make the assertion a bit more
 -      permissive for when the buffer is empty.
 -      (tar-header-block-tokenize): Decode the username and groupname.
 -      (tar-chown-entry, tar-chgrp-entry): Encode the names (bug#4730).
 -
 -2009-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * international/mule-cmds.el (select-safe-coding-system): If the file
 -      has a coding cookie, use it regardless of any other setting (bug#4712).
 -
 -2009-10-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * foldout.el (foldout-mouse-swallow-events):
 -      * gs.el (gs-load-image): Replace obsolete forms of sit-for, sleep-for.
 -
 -      * dired.el (dired-ls-F-marks-symlinks, dired-keep-marker-rename)
 -      (dired-keep-marker-copy, dired-keep-marker-hardlink)
 -      (dired-keep-marker-symlink, dired-dwim-target)
 -      (dired-copy-preserve-time): Do not autoload these defcustoms.
 -
 -      * mail/rmail.el (rmail-write-region-annotate): Prevent viewing different
 -      messages from messing up the file coding.  (Bug#4623)
 -
 -2009-10-17  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * textmodes/ispell.el (ispell-get-decoded-string): Give an error
 -      if no match is found for the current dictionary.  (Bug#4578)
 -
 -      * textmodes/flyspell.el (flyspell-get-word): Make `following' argument
 -      optional, since that is how it is documented, and this is often called
 -      with a nil argument.  (Bug#4577)
 -      (flyspell-external-point-words, flyspell-auto-correct-word)
 -      (flyspell-correct-word-before-point, flyspell-word-search-forward)
 -      (flyspell-word-search-backward): Remove nil argument in calls to
 -      flyspell-get-word, since it is not needed now.
 -
 -2009-10-17  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * play/doctor.el (doctor-adverbp): Exclude some nouns.  (Bug#4565)
 -
 -2009-10-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * net/rcirc.el (rcirc-authenticate): Simplify previous change.
 -
 -2009-10-16  Toru TSUNEYOSHI  <t_tuneyosi@hotmail.com>
 -
 -      * net/ange-ftp.el (ange-ftp-send-cmd): Handle `size' like `mdtm'.
 -      (ange-ftp-file-size): New function.
 -      (ange-ftp-file-attributes): Use it.
 -
 -2009-10-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-smb.el (tramp-smb-version): New defvar.
 -      (tramp-smb-maybe-open-connection): Use it, in order to avoid
 -      repeated checks.
 -
 -2009-10-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/byte-run.el (define-obsolete-variable-alias): Doc fix.
 -      Maybe copy some custom properties from old to new name.  (Bug#4706)
 -
 -2009-10-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * subr.el (error, sit-for, start-process-shell-command)
 -      (start-file-process-shell-command): Set the calling convention
 -      after the function definition.
 -
 -2009-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (error, sit-for, start-process-shell-command)
 -      (start-file-process-shell-command): Use the new
 -      set-advertised-calling-convention feature.
 -
 -2009-10-16  Taichi Kawabata  <kawabata.taichi@gmail.com>
 -
 -      * international/ucs-normalize.el (ucs-normalize-version):
 -      Change to 1.2.
 -      (check-range): Adjust for Unicode 5.2.
 -
 -2009-10-15  Juri Linkov  <juri@jurta.org>
 -
 -      * menu-bar.el (menu-bar-file-menu): Convert `separator-exit'
 -      to the `menu-item' format.
 -
 -2009-10-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-replace-environment-variables): Do not fail
 -      if the environment variable does not exist.
 -
 -      * net/tramp-smb.el (tramp-smb-errors): Add error messages.
 -      (tramp-smb-get-share, tramp-smb-get-localname): Use only VEC as
 -      parameter.
 -      (tramp-smb-handle-add-name-to-file)
 -      (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
 -      (tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file)
 -      (tramp-smb-handle-file-attributes)
 -      (tramp-smb-do-file-attributes-with-stat)
 -      (tramp-smb-handle-file-local-copy)
 -      (tramp-smb-handle-insert-directory)
 -      (tramp-smb-handle-make-directory)
 -      (tramp-smb-handle-make-directory-internal)
 -      (tramp-smb-handle-make-symbolic-link)
 -      (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-modes)
 -      (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
 -      (tramp-smb-maybe-open-connection): Apply the changed parameters.
 -      (tramp-smb-read-file-entry): Read Disk names in compressed format.
 -      Handle long file names.
 -      (tramp-smb-get-cifs-capabilities): Check, whether the connection
 -      process is running.
 -      (tramp-smb-maybe-open-connection): Trace "smbclient -V" command.
 -      Read share names with "-g" option.
 -
 -2009-10-15  Ryan Yeske  <rcyeske@gmail.com>
 -
 -      * net/rcirc.el (rcirc-view-log-file): New command.
 -      (rcirc-track-minor-mode-map): Remove C-c ` binding.
 -      (rcirc-authenticate, rcirc-authinfo): Allow nickserv-nick to be
 -      specified.
 -
 -2009-10-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * w32-fns.el (w32-batch-update-autoloads): Take autoload-make-program
 -      from the second command-line argument.
 -      * makefile.w32-in (autoloads, $(lisp)/calendar/cal-loaddefs.el)
 -      ($(lisp)/calendar/diary-loaddefs.el, $(lisp)/calendar/hol-loaddefs.el)
 -      ($(lisp)/mh-e/mh-loaddefs.el): Pass $(MAKE) as second argument to
 -      w32-batch-update-autoloads.
 -      * emacs-lisp/autoload.el (autoload-make-program): New variable.
 -      (batch-update-autoloads): Handle autoload-excludes on windows-nt.
 -
 -      * mail/rmailedit.el (rmail-cease-edit): Give an error if the end of
 -      the headers cannot be located.  Simplify, subtracting superflous
 -      save-excursions.
 -
 -2009-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Replace completion-base-size by completion-base-position to fix bugs
 -      such as (bug#4699).
 -      * simple.el (completion-base-position): New var.
 -      (completion-base-size): Mark as obsolete.
 -      (choose-completion): Make it work for mouse events as well.
 -      Pass the new base-position to choose-completion-string.
 -      (choose-completion-guess-base-position): New function, extracted from
 -      choose-completion-delete-max-match.
 -      (choose-completion-delete-max-match): Use it.  Make obsolete.
 -      (choose-completion-string): Use the new base-position info.
 -      (completion-root-regexp): Delete.
 -      (completion-setup-function): Preserve completion-base-position.
 -      Eliminate obsolete base-size manipulation.
 -      * minibuffer.el (display-completion-list): Don't mess with base-size.
 -      (minibuffer-completion-help): Set completion-base-position instead.
 -      * mouse.el (mouse-choose-completion): Redefine as a mere alias to
 -      choose-completion.
 -      * textmodes/bibtex.el (bibtex-complete):
 -      * emacs-lisp/crm.el (crm--choose-completion-string):
 -      Adjust to new calling convention.
 -      * complete.el (partial-completion-mode): Use minibufferp to avoid
 -      bumping into incompatible change to choose-completion-string-functions.
 -      * ido.el (ido-choose-completion-string): Make its calling convention
 -      more permissive.
 -      * comint.el (comint-dynamic-list-input-ring-select): Remove obsolete
 -      base-size manipulation.
 -      (comint-dynamic-list-input-ring): Use dotimes and push.
 -      * iswitchb.el (iswitchb-completion-help): Remove dead-code call to
 -      fundamental-mode.  Use `or'.
 -
 -2009-10-14  Juri Linkov  <juri@jurta.org>
 -
 -      * misearch.el (multi-isearch-next-buffer-from-list)
 -      (multi-isearch-next-file-buffer-from-list): Doc fix.  (Bug#4723)
 -
 -2009-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (compile-onefile): Load `bytecomp' rather than
 -      `bytecomp.el'.
 -
 -      * minibuffer.el (completion-pcm--merge-completions): Make sure the
 -      string we return is all made up of text from the completions rather
 -      than part from the completions and part from the input (bug#4219).
 -
 -      * ido.el (ido-everywhere): Use define-minor-mode.
 -
 -      * buff-menu.el (list-buffers, ctl-x-map):
 -      Mark the entry points with ;;;###autoload cookies.
 -
 -2009-10-14  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-dir-extra-headers): Set the branch name
 -      correctly in the detached head case.
 -      (vc-git-print-log): Remove unused binding.
 -
 -      * vc.el (vc-responsible-backend): When a directory is passed for
 -      for registration create a VC repository if no backend is
 -      responsible for the directory argument.
 -      (vc-deduce-fileset): Tell vc-responsible-backend to register.
 -
 -      * vc.el: Move comments about RCS and SCCS ...
 -      * vc-rcs.el:
 -      * vc-sccs.el: ... here, respectively.
 -
 -2009-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion--file-name-table): Return nil if there's
 -      no file completion, even if substitute-in-file-name changed
 -      the string (bug#4708).
 -
 -2009-10-13  Juri Linkov  <juri@jurta.org>
 -
 -      * files-x.el (read-file-local-variable-value): Don't filter out
 -      minor modes from mode name completion (bug#4664).
 -
 -2009-10-13  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * international/mule-cmds.el (ucs-names): Remove exclusion of
 -      "Enclosed Ideographic Supplement" range (U+1F200..U+1F2FF).
 -
 -2009-10-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/uni-name.el: Regenerated.
 -
 -2009-10-13  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * bs.el (bs-mode): Fix last change.  (`revert-buffer-function'
 -      should be automatically buffer-local, but isn't.)
 -
 -2009-10-12  Sam Steingold  <sds@gnu.org>
 -
 -      * progmodes/compile.el (compilation-next-error-function): Fix the
 -      timestamps if the buffer has been visited before.
 -      (compilation-mode-font-lock-keywords): Do not prepend "^ *" to
 -      non-anchored patterns, like the perl one (bug#3928).
 -
 -2009-10-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat):
 -      Let-bind `size'.
 -
 -2009-10-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * proced.el (proced-unload-function): New function.
 -
 -      * bs.el (bs-mode): Set `revert-buffer-function' to `bs-refresh'.
 -      (bs-refresh): Add IGNORED arg for `revert-buffer' compatibility.
 -      Doc fix.
 -
 -      * menu-bar.el (menu-bar-file-menu): Fix format of `separator-exit' item.
 -
 -2009-10-11  Juri Linkov  <juri@jurta.org>
 -
 -      * files-x.el (read-file-local-variable-value):
 -      Provide default value only for bound variables (bug#4664).
 -
 -2009-10-11  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-local-host-p): Function shall return nil for
 -      connection methods like smb.
 -
 -      * net/tramp-cache.el (tramp-flush-connection-property): The hash
 -      can be empty.
 -
 -      * net/tramp-smb.el (tramp-smb-errors): Add error messages.
 -      (tramp-smb-file-name-handler-alist): Add handlers for
 -      `add-name-to-file', `make-symbolic-link'.
 -      (tramp-smb-handle-add-name-to-file)
 -      (tramp-smb-do-file-attributes-with-stat)
 -      (tramp-smb-handle-make-symbolic-link)
 -      (tramp-smb-get-cifs-capabilities): New defuns.
 -      (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
 -      (tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file)
 -      (tramp-smb-handle-file-local-copy)
 -      (tramp-smb-handle-make-directory-internal)
 -      (tramp-smb-handle-rename-file, tramp-smb-handle-write-region):
 -      The file name syntax depends on cifs capabilities.
 -      (tramp-smb-handle-file-attributes):
 -      Call `tramp-smb-do-file-attributes-with-stat' if possible.
 -      (tramp-smb-handle-insert-directory): Use posix attributes if possible.
 -      (tramp-smb-handle-set-file-modes): It is applicable for posix only.
 -
 -2009-10-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/eieio.el: Avoid requiring cl at runtime.
 -      (eieio-defclass): Apply deftype handler and setf-method properties
 -      directly.
 -      (eieio-add-new-slot): Avoid union function from cl library.
 -      (eieio--typep): New function.
 -      (eieio-perform-slot-validation): Use it.
 -
 -2009-10-10  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-yank-word, bookmark-insert-current-bookmark):
 -      Update documentation to refer to the variables documented in r1.135.
 -      (Bug#4188)
 -
 -2009-10-10  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (Info-suffix-list): Remove this unused variable.
 -      (bookmark-current-point): Remove this obsolete variable.
 -      (bookmark-set, bookmark-rename, bookmark-send-edited-annotation):
 -      Adjust for removal of bookmark-current-point.
 -
 -      (bookmarks-already-loaded, bookmark-current-buffer)
 -      (bookmark-yank-point): Document.  (Bug#4188)
 -
 -2009-10-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.el (frame-height): Doc fix.
 -
 -      * calendar/calendar.el (calendar-split-width-threshold): New option.
 -      (calendar-basic-setup): Use calendar-split-width-threshold.
 -
 -2009-10-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * international/mule-cmds.el (ucs-names): Exclude new "Enclosed
 -      Ideographic Supplement" range (U+1F200..U+1F2FF).
 -
 -2009-10-09  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-rename): Don't call bookmark-bmenu-list,
 -      since the list will have been rebuilt anyway.  (Bug#4349)
 -
 -2009-10-09  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-delete): Don't let batch arg prevent saving.
 -      (bookmark-bmenu-execute-deletions): Don't save here, as
 -      bookmark-delete will now do so if necessary.
 -      Suggested by Thierry Volpiatto <thierry.volpiatto {_AT_} gmail.com>.
 -      (Bug#4348)
 -
 -2009-10-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/emacsbug.el (report-emacs-bug): Also print `features'.
 -
 -2009-10-09  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-jump): Add new `display-func' parameter.
 -      (bookmark-jump-other-window): Just invoke bookmark-jump with new
 -      argument now, so the two function's behaviors will match.  (Bug#3645)
 -
 -2009-10-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-file-name-real-user, tramp-file-name-domain)
 -      (tramp-file-name-real-host, tramp-file-name-port):
 -      Apply `save-match-data'.
 -
 -      * net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
 -      case both directories are remote.
 -      (tramp-smb-handle-expand-file-name): Implement "~" expansion.
 -      (tramp-smb-maybe-open-connection): Flush the cache only if necessary.
 -
 -2009-10-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in (WINS_UPDATES): Fix typo in previous change.
 -
 -2009-10-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/autoload.el (batch-update-autoloads): Remove useless use
 -      of concat.
 -
 -2009-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files-x.el (read-file-local-variable): Include some
 -      non-user-variables in the completion table (bug#4664).
 -
 -2009-10-07  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-cache.el (tramp-flush-connection-property): Add trace
 -      message.
 -
 -      * net/tramp-smb.el (tramp-smb-errors): Add error messages.
 -      (tramp-smb-file-name-handler-alist): Add handler for
 -      `copy-directory', `expand-file-name', `set-file-modes'.
 -      (tramp-smb-handle-copy-directory)
 -      (tramp-smb-handle-expand-file-name)
 -      (tramp-smb-handle-set-file-modes): New defuns.
 -      (tramp-smb-handle-copy-file): Handle KEEP-DATE.
 -      (tramp-smb-handle-file-attributes): Simplify check for retrieving
 -      entry.
 -      (tramp-smb-handle-insert-directory): Don't flush the cache.
 -      (tramp-smb-maybe-open-connection): Check for samba client and
 -      server versions.
 -
 -2009-10-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs-lisp/autoload.el (batch-update-autoloads): Fix last change
 -      to not error out of search for "^lisp=" fails.
 -
 -2009-10-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in (WINS_UPDATES): New macro.
 -      (custom-deps, finder-data, autoloads): Use it.
 -
 -2009-10-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (autoloads): Revert previous change.
 -      * emacs-lisp/autoload.el (batch-update-autoloads): Rather than having
 -      the list of preloaded files passed on the command-line, get
 -      it from src/Makefile.
 -
 -      * calendar/calendar.el (calendar-basic-setup): In the wide frame case,
 -      show the original buffer rather than a random one.
 -
 -2009-10-07  Markus Rost  <rost@math.uni-bielefeld.de>
 -
 -      * help.el (describe-no-warranty): Place point in a slightly better
 -      position in the GPLv3 text.
 -
 -2009-10-06  Sam Steingold  <sds@gnu.org>
 -
 -      * net/tramp-compat.el (tramp-compat-process-running-p): Check that
 -      the comm attribute is present before calling regexp-quote.
 -
 -2009-10-06  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * play/animate.el (animate-string): For good effect, make sure
 -      `indent-tabs-mode' and `show-trailing-whitespace' are nil.
 -
 -      * play/animate.el (animate-sequence, animate-birthday-present):
 -      * misc.el (butterfly): Don't set `indent-tabs-mode'.
 -
 -2009-10-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/byte-run.el (define-obsolete-face-alias): Doc fix.
 -
 -      * emacs-lisp/autoload.el (autoload-excludes): New variable.
 -      (autoload-generate-file-autoloads): Skip files in autoload-excludes.
 -      (batch-update-autoloads): Process a string value of autoload-excludes,
 -      set during the build process.
 -      * Makefile.in (autoloads): Skip preloaded files.  (Bug#4446)
 -
 -      * net/tramp.el (tramp-handle-start-file-process): Move tramp-error call
 -      inside with-parsed...  macro so that `v' is defined.
 -
 -      * progmodes/f90.el (f90-end-of-block, f90-beginning-of-block):
 -      * progmodes/fortran.el (fortran-end-of-block)
 -      (fortran-beginning-of-block):
 -      Also push mark in the macro case.
 -
 -      * emerge.el (emerge-show-file-name):
 -      * calc/calc.el (calc-quit):
 -      * calc/calc-misc.el (calc-big-or-small):
 -      * calc/calc-graph.el (calc-graph-view):
 -      * calc/calc-ext.el (calc-reset):
 -      * calendar/calendar.el (calendar-basic-setup):
 -      Use window-full-height-p.
 -
 -      * mail/rmailedit.el (rmail-cease-edit): If there is a Content-Type
 -      header we don't understand, don't insert another.  (Bug#4624)
 -      If changing mime charset, insert the new one in the right place.
 -
 -2009-10-06  Matthew Junker  <matthew.junker@sbcglobal.net>  (tiny change)
 -
 -      * calendar/cal-tex.el (cal-tex-cursor-month-landscape)
 -      (cal-tex-cursor-month): Correctly increment the end date for diary and
 -      holiday listing.  (Bug#4626)
 -
 -2009-10-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help-fns.el (describe-function-1): Don't burp if the function is not
 -      a symbol.
 -
 -2009-10-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs-lisp/chart.el (chart-face-pixmap-list, chart-new-buffer, chart)
 -      (chart-axis-range, chart-axis-names, chart-sequece, chart-bar)
 -      (chart-draw, chart-axis-draw, chart-sort, chart-sort-matchlist)
 -      (chart-draw-line, chart-bar-quickie): Fix typos in docstrings.
 -
 -      * emacs-lisp/eieio.el (generic-p, eieiomt-next, eieio-generic-form)
 -      (eieio-default-superclass): Reflow docstrings.
 -      (this, class-option-assoc, defclass, eieio-class-un-autoload)
 -      (eieio-unbind-method-implementations, defmethod)
 -      (eieio-validate-slot-value, eieio-validate-class-slot-value)
 -      (oref-default, eieio-oref-default, eieio-oset, eieio-oset-default)
 -      (with-slots, eieio-add-new-slot, object-assoc, object-remove-from-list)
 -      (eieio-slot-originating-class-p, eieio-slot-name-index)
 -      (eieio-pre-method-execution-hooks, eieio-initarg-to-attribute)
 -      (constructor, initialize-instance, no-next-method, object-print)
 -      (object-write, eieio-override-prin1, eieio-edebug-prin1-to-string):
 -      Fix typos in docstrings.
 -      (eieio-defclass, eieio-perform-slot-validation-for-default, defgeneric)
 -      (child-of-class-p, object-slots, slot-boundp, slot-exists-p)
 -      (next-method-p): Doc fixes.
 -      (eieio-add-new-slot, call-next-method, eieiomt-add, change-class):
 -      Fix typos in error messages.
 -      (eieio-defmethod): Fix typo in description of generic method.
 -
 -      * emacs-lisp/eieio-base.el (eieio-instance-inheritor, slot-unbound)
 -      (eieio-persistent-save-interactive, slot-missing):
 -      Fix typos in docstrings.
 -      (eieio-instance-inheritor-slot-boundp): Doc fix.
 -
 -      * emacs-lisp/eieio-comp.el (byte-compile-file-form-defmethod)
 -      (byte-compile-defmethod-param-convert): Fix typos in docstrings.
 -
 -      * emacs-lisp/eieio-custom.el (eieio-done-customizing)
 -      (eieio-custom-object-apply-reset):
 -      Fix typos in docstrings and error messages.
 -
 -      * emacs-lisp/eieio-datadebug.el (data-debug-show):
 -      Fix typo in docstring.
 -
 -      * emacs-lisp/eieio-opt.el (top): Fix typo in error message.
 -      (eieio-browse-tree): Doc fix.
 -      (eieio-all-generic-functions, eieio-class-speedbar): Reflow docstrings.
 -      (eieio-help-mode-augmentation-maybee, eieio-class-speedbar-make-map):
 -      Fix typos in docstrings.
 -
 -      * emacs-lisp/eieio-speedbar.el (eieio-speedbar-file-button): Doc fix.
 -      (eieio-speedbar-key-map, eieio-speedbar-create-engine)
 -      (eieio-speedbar-buttons, eieio-speedbar, eieio-speedbar-object-children)
 -      (eieio-speedbar-make-tag-line, eieio-speedbar-object-expand):
 -      Reflow docstrings.
 -
 -2009-10-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hg.el (log-view-vc-backend): Declare for compiler.
 -      (vc-hg-outgoing-mode, vc-hg-incoming-mode):
 -      Set log-view-vc-backend so that diff can work.
 -
 -      * log-view.el (log-view-diff): Use vc-diff-internal instead of
 -      vc-version-diff.
 -      (vc-diff-internal): Autoload this instead of vc-version-diff.
 -
 -2009-10-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * simple.el (eval-expression): Doc fix.
 -
 -      * progmodes/cwarn.el (cwarn-mode): Doc fix.
 -
 -2009-10-05  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (directory-files-no-dot-files-regexp): New defconst.
 -      (delete-directory): Use it.
 -      (copy-directory): Use it.  Remove parameter PRESERVE-UID-GID.
 -
 -      * net/tramp.el (tramp-verbose): Fix docstring.
 -      (tramp-methods): Add recursive option to `tramp-copy-args'.
 -      Add `tramp-copy-recursive'.  Valid for "rcp", "scp", "scp1", "scp2",
 -      "scp1_old", "scp2_old", "rsync", "rsyncc".
 -      (tramp-default-method): Check also for `auth-source-user-or-password'.
 -      (tramp-file-name-handler-alist, tramp-file-name-for-operation):
 -      Add handler for `copy-directory'.
 -      (tramp-handle-copy-directory): New defun.
 -      (tramp-do-copy-or-rename-file-out-of-band): Handle directory case.
 -      (tramp-handle-start-file-process): Raise an error when PROGRAM is nil.
 -      Optimize sent command.
 -
 -2009-10-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * calendar/diary-lib.el (diary-show-all-entries): Re-fit the calendar
 -      window if necessary.
 -
 -      * calendar/calendar.el (calendar-basic-setup): Don't call
 -      switch-to-buffer in a dedicated window.
 -
 -2009-10-05  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
 -      don't do anything related to relocating, just return nil.
 -      (bookmark-error-no-filename): New error.
 -      (bookmark-default-handler): Signal `bookmark-error-no-filename' if
 -      bookmark has no file.  Don't even attempt to handle things that
 -      are not files; the whole point of custom handlers is to keep that
 -      knowledge elsewhere anyway.  Tighten some comments.
 -      (bookmark-file-or-variation-thereof): Remove now-unused function.
 -      (bookmark-location): Doc string fix.
 -      (Bug#4250)
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-handle-bookmark): When relocating a bookmark,
 -      don't use a file dialog, because they usually don't know how to read
 -      a directory target from the user.  (Bug#4230)
 -      Also, make sure the prompt can display directories as well as files.
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-set, bookmark-buffer-name):
 -      Improve doc strings.  (Bug#1193)
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-get-bookmark, bookmark-get-bookmark-record)
 -      (bookmark-set-name, bookmark-prop-get, bookmark-prop-set)
 -      (bookmark-get-annotation, bookmark-set-annotation)
 -      (bookmark-get-filename, bookmark-set-filename, bookmark-get-position)
 -      (bookmark-set-position, bookmark-get-front-context-string)
 -      (bookmark-set-front-context-string, bookmark-get-rear-context-string)
 -      (bookmark-set-rear-context-string, bookmark-location, bookmark-jump)
 -      (bookmark-jump-other-window, bookmark-handle-bookmark)
 -      (bookmark-relocate, bookmark-insert-location, bookmark-rename)
 -      (bookmark-insert, bookmark-delete, bookmark-time-to-save-p)
 -      (bookmark-edit-annotation-mode, bookmark-edit-annotation):
 -      Improve doc strings to say whether bookmark can be a string or
 -      a record or both, and make other consistency and clarity fixes.
 -      (bookmark-get-handler, bookmark--jump-via, bookmark-write-file)
 -      (bookmark-default-annotation-text, bookmark-yank-word)
 -      (bookmark-maybe-load-default-file, bookmark-maybe-sort-alist)
 -      (bookmark-import-new-list, bookmark-maybe-rename)
 -      (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
 -      (bookmark-bmenu-bookmark): Give these doc strings.
 -      (bookmark-bmenu-check-position): Give this a doc string, but also
 -      add a FIXME comment about how the function may be pointless.
 -      (bookmark-default-handler): Rework doc string and change a
 -      parameter name, to clarify that this takes a bookmark record
 -      not a bookmark name.
 -      (bookmark-set): Change a parameter name to indicate its meaning,
 -      and improve the doc string a bit.
 -      (Bug#4188)
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-alist): Document the new `handler' element
 -      in the param alist.
 -      (bookmark-make-record-function): Adjust documentation for above.
 -      (Bug#4193)
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * info.el (Info-bookmark-make-record): Document this function.
 -      (Info-bookmark-jump): Document with a doc string, not just a comment.
 -      (Bug#4203)
 -
 -2009-10-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (copy-directory): New defun.
 -
 -      * dired-aux.el (dired-copy-file-recursive): Use it.
 -
 -2009-10-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * files-x.el (modify-dir-local-variable)
 -      (copy-dir-locals-to-file-locals-prop-line): Fix typos in
 -      docstrings.
 -
 -      * recentf.el (recentf-unload-function): New function.
 -
 -2009-10-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * window.el (window-full-height-p): Add doc string.
 -
 -2009-10-04  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.el (window-full-height-p): New function.  (Bug#4543)
 -
 -2009-10-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el: Remove commented out code.
 -      (vc-derived-from-dir-mode): Remove, unused.
 -      (vc-version-diff, vc-diff): Consistently pass t to vc-deduce-fileset.
 -
 -2009-10-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-ftp.el (tramp-ftp-file-name-handler):
 -      Disable `file-name-handler-alist' when loading 'ange-ftp.  Otherwise,
 -      there could be recursive loading when `default-directory' is a
 -      remote file name.  (Bug#4614)
 -
 -2009-10-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/calendar.el (calendar-basic-setup): Handle the case where
 -      the frame is wide.
 -      (calendar-generate-window): Test for shrinkability rather than width.
 -
 -      * mail/rmail.el (rmail-generate-viewer-buffer): Be more careful about
 -      reusing existing buffers, in case we happen to visit two files with the
 -      same basename.  (Bug#4593)
 -
 -2009-10-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (update-subdirs-CMD): Add cedet to $(WINS_SUBDIR).
 -      (WINS_CEDET_SUBDIRS): List of subdirectories of cedet.
 -      (bootstrap-clean-CMD, bootstrap-clean-SH): Remove *.elc files in
 -      subdirs of cedet as well.
 -      (AUTOGENEL): Add loaddefs.el files in cedet subdirectories.
 -
 -2009-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/eldoc.el (eldoc-get-fnsym-args-string):
 -      Obey advertised-signature-table.
 -
 -      * help-fns.el (help-function-arglist): Don't check
 -      advertised-signature-table.
 -      (describe-function-1): Do it here instead so it also applies to subrs.
 -
 -2009-10-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * simple.el (start-file-process): Say in the doc-string, that file
 -      handlers might not support pty association, if PROGRAM is nil.
 -
 -      * net/ange-ftp.el (ange-ftp-generate-passwd-key): Check, whether
 -      HOST and USER are strings.  They are nil, when there are
 -      incomplete entries in ~/.netrc, for example.
 -      (ange-ftp-delete-directory): Implement RECURSIVE case.  Change to
 -      root directory ("device busy" error otherwise).
 -
 -      * net/tramp-smb.el (tramp-smb-handle-make-directory-internal):
 -      Flush file properties of created directory.
 -
 -2009-10-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (WINS_BASIC): Remove cedet.
 -      (WINS_CEDET): Add cedet.
 -      (update-subdirs-SH): Use $(WINS_SUBDIR), not $(WINS).
 -
 -2009-10-02  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/browse-url.el (browse-url): Pass any symbol in
 -      browse-url-browser-function to `apply', since if you've mistakenly put
 -      an unbound symbol then the error is clearer.  (Bug#4531)
 -
 -2009-10-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * allout.el (allout-init, allout-back-to-current-heading)
 -      (allout-beginning-of-current-entry, allout-ascend-to-depth)
 -      (allout-ascend, allout-up-current-level, allout-end-of-level)
 -      (allout-previous-visible-heading, allout-forward-current-level)
 -      (allout-backward-current-level, allout-show-children):
 -      * apropos.el (apropos-describe-plist):
 -      * bookmark.el (bookmark-maybe-historicize-string, bookmark-bmenu-list):
 -      * comint.el (comint-strip-ctrl-m, comint-goto-process-mark):
 -      * completion.el (add-completion, add-permanent-completion):
 -      * descr-text.el (describe-text-category, describe-char):
 -      * desktop.el (desktop-lazy-abort):
 -      * dired-x.el (dired-omit-expunge, dired-x-bind-find-file):
 -      * dired.el (dired-build-subdir-alist):
 -      * ediff.el (ediff-version):
 -      * elide-head.el (elide-head, elide-head-show):
 -      * emerge.el (emerge-version):
 -      * env.el (getenv):
 -      * face-remap.el (variable-pitch-mode):
 -      * faces.el (describe-face):
 -      * ffap.el (ffap-next-url, find-file-at-point, ffap-at-mouse)
 -      (dired-at-point):
 -      * files.el (find-file-existing, auto-save-mode):
 -      * font-lock.el (font-lock-fontify-buffer):
 -      * help-fns.el (describe-function, describe-variable)
 -      (describe-syntax, describe-categories):
 -      * help.el (view-lossage, describe-bindings, describe-key)
 -      (describe-mode):
 -      * hexl.el (hexl-current-address):
 -      * hi-lock.el (hi-lock-mode, hi-lock-find-patterns):
 -      * info.el (Info-goto-emacs-key-command-node):
 -      * log-edit.el (log-edit-insert-cvs-template)
 -      (log-edit-insert-cvs-rcstemplate):
 -      * menu-bar.el (menu-bar-mode):
 -      * mouse.el (mouse-appearance-menu):
 -      * newcomment.el (comment-indent-new-line):
 -      * pgg.el (pgg-save-coding-system, pgg-encrypt-region)
 -      (pgg-encrypt-symmetric-region, pgg-encrypt-symmetric)
 -      (pgg-encrypt, pgg-decrypt-region, pgg-decrypt)
 -      (pgg-sign-region, pgg-sign, pgg-verify-region, pgg-verify):
 -      * recentf.el (recentf-mode):
 -      * savehist.el (savehist-mode, savehist-save):
 -      * shadowfile.el (shadow-copy-files):
 -      * simple.el (kill-ring-save, next-line, previous-line)
 -      (normal-erase-is-backspace-mode):
 -      * strokes.el (strokes-update-window-configuration)
 -      (strokes-load-user-strokes, strokes-prompt-user-save-strokes)
 -      (strokes-xpm-for-stroke):
 -      * time.el (emacs-uptime, emacs-init-time):
 -      * tutorial.el (tutorial--describe-nonstandard-key)
 -      (tutorial--detailed-help):
 -      * type-break.el (type-break-mode)
 -      (type-break-mode-line-message-mode, type-break-query-mode)
 -      (type-break-guesstimate-keystroke-threshold):
 -      * vc.el (vc-version-diff, vc-diff, vc-root-diff):
 -      * version.el (emacs-version):
 -      * vt-control.el (vt-keypad-on, vt-keypad-off, vt-numlock):
 -      * winner.el (winner-mode):
 -      * calendar/timeclock.el (timeclock-in, timeclock-out)
 -      (timeclock-status-string, timeclock-change)
 -      (timeclock-workday-remaining-string)
 -      (timeclock-workday-elapsed-string)
 -      (timeclock-when-to-leave-string):
 -      * calendar/todo-mode.el (todo-add-category):
 -      * emacs-lisp/advice.el (ad-enable-regexp, ad-disable-regexp):
 -      * emacs-lisp/autoload.el (update-file-autoloads):
 -      * emacs-lisp/checkdoc.el (checkdoc-current-buffer)
 -      (checkdoc-start, checkdoc-continue, checkdoc-rogue-spaces)
 -      (checkdoc-message-text, checkdoc-defun):
 -      * emacs-lisp/debug.el (debugger-list-functions):
 -      * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
 -      * emacs-lisp/eieio-opt.el (eieio-describe-class)
 -      (eieio-describe-generic):
 -      * emacs-lisp/lisp-mnt.el (lm-synopsis):
 -      * emacs-lisp/shadow.el (list-load-path-shadows):
 -      * emulation/cua-base.el (cua-mode):
 -      * emulation/edt.el (edt-set-scroll-margins):
 -      * emulation/tpu-edt.el (tpu-toggle-newline-and-indent)
 -      (tpu-toggle-regexp, tpu-toggle-search-direction)
 -      (tpu-toggle-rectangle, tpu-toggle-control-keys):
 -      * emulation/tpu-extras.el (tpu-set-scroll-margins):
 -      * emulation/viper-cmd.el (viper-set-searchstyle-toggling-macros)
 -      (viper-set-parsing-style-toggling-macro)
 -      (viper-set-emacs-state-searchstyle-macros):
 -      * emulation/viper.el (viper-set-hooks):
 -      * eshell/esh-mode.el (eshell-truncate-buffer):
 -      * international/mule-cmds.el (prefer-coding-system)
 -      (describe-input-method, describe-language-environment):
 -      * international/mule-diag.el (list-character-sets)
 -      (describe-character-set, describe-coding-system)
 -      (describe-fontset, list-fontsets, list-input-methods):
 -      * mail/sendmail.el (mail-signature):
 -      * net/ange-ftp.el (ange-ftp-copy-file):
 -      * net/browse-url.el (browse-url):
 -      * net/eudc.el (eudc-set-server, eudc-get-attribute-list):
 -      * net/quickurl.el (quickurl-add-url):
 -      * net/rcirc.el (names, topic):
 -      * net/xesam.el (xesam-mode):
 -      * play/5x5.el (5x5-new-game):
 -      * play/yow.el (apropos-zippy):
 -      * progmodes/ada-mode.el (ada-mode-version):
 -      * progmodes/f90.el (f90-beginning-of-subprogram, f90-end-of-subprogram)
 -      (f90-end-of-block)
 -      (f90-beginning-of-block):
 -      * progmodes/fortran.el (fortran-end-of-block)
 -      (fortran-beginning-of-block):
 -      * progmodes/js.el (js-syntactic-context, js-gc, js-eval):
 -      * progmodes/python.el (python-describe-symbol, python-shell):
 -      * term/ns-win.el (ns-print-buffer):
 -      * textmodes/bibtex.el (bibtex-end-of-entry, bibtex-url):
 -      * textmodes/flyspell.el (flyspell-mode-on):
 -      * textmodes/page-ext.el (set-page-delimiter, pages-directory)
 -      (pages-directory-for-addresses):
 -      * textmodes/table.el (table-recognize-cell)
 -      (table-query-dimension, table-generate-source)
 -      (table-insert-sequence, table--warn-incompatibility):
 -      * textmodes/tex-mode.el (tex-validate-buffer):
 -      * textmodes/texinfmt.el (texinfmt-version)
 -      (texinfo-format-buffer):
 -      Use `called-interactively-p' instead of `interactive-p'.
 -
 -2009-10-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image-mode.el (image-toggle-display):
 -      * emacs-lisp/elp.el (elp-instrument-function):
 -      * emacs-lisp/advice.el (ad-make-advised-definition):
 -      * emacs-lisp/easy-mmode.el (define-minor-mode):
 -      * net/browse-url.el (browse-url-maybe-new-window):
 -      * progmodes/sh-script.el (sh-learn-buffer-indent):
 -      Pass new argument 'any to `called-interactively-p'.
 -
 -2009-10-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * international/uni-bidi.el:
 -      * international/uni-category.el:
 -      * international/uni-combining.el:
 -      * international/uni-comment.el:
 -      * international/uni-decimal.el:
 -      * international/uni-decomposition.el:
 -      * international/uni-digit.el:
 -      * international/uni-lowercase.el:
 -      * international/uni-mirrored.el:
 -      * international/uni-name.el:
 -      * international/uni-numeric.el:
 -      * international/uni-old-name.el:
 -      * international/uni-titlecase.el:
 -      * international/uni-uppercase.el:
 -      Regenerate from Unicode 5.2.0 data.
 -
 -2009-10-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Regenerate.
 -
 -2009-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (interactive-p): Mark obsolete.
 -      (called-interactively-p): Make the optional-ness of `kind' obsolete.
 -      * emacs-lisp/bytecomp.el (byte-compile-fdefinition): Make it obey
 -      advertised-signature-table for subroutines as well.
 -
 -      * emacs-lisp/byte-run.el (advertised-signature-table): New var.
 -      (set-advertised-calling-convention): New function.
 -      (make-obsolete, define-obsolete-function-alias)
 -      (make-obsolete-variable, define-obsolete-variable-alias):
 -      Make the optional-ness of `when' obsolete.
 -      (define-obsolete-face-alias): Make `when' non-optional.
 -      * help-fns.el (help-function-arglist):
 -      * emacs-lisp/bytecomp.el (byte-compile-fdefinition):
 -      Use advertised-signature-table.
 -
 -2009-10-01  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (delete-directory): New defun.  The original function
 -      in fileio.c has been renamed to `delete-directory-internal'.
 -
 -      * dired.el (dired-delete-file): Call `delete-directory' with
 -      RECURSIVE parameter.
 -
 -      * net/ange-ftp.el (ange-ftp-delete-directory): Add optional
 -      parameter RECURSIVE.  Implementation is missing.
 -
 -      * net/tramp.el (tramp-handle-make-directory): Flush upper
 -      directory's file properties.
 -      (tramp-handle-delete-directory): Handle optional parameter RECURSIVE.
 -      (tramp-handle-dired-recursive-delete-directory): Flush directory
 -      properties after the remove command only.
 -
 -      * net/tramp-fish.el (tramp-fish-handle-delete-directory):
 -      Handle optional parameter RECURSIVE.
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory):
 -      Handle optional parameter RECURSIVE.
 -
 -      * net/tramp-smb.el (tramp-smb-errors): Add error message for
 -      connection timeout.
 -      (tramp-smb-handle-delete-directory): Handle optional parameter
 -      RECURSIVE.
 -
 -2009-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-defmacro-declaration): New fun.
 -      (byte-compile-file-form-defmumble, byte-compile-defmacro): Use it.
 -      (byte-compile-defmacro): Use backquotes.
 -
 -      * files.el (cd-absolute): Don't abbreviate-file-name (bug#4599).
 -
 -      * vc-dispatcher.el (vc-resynch-window): Don't revert a buffer which
 -      has no associated file.
 -      (vc-resynch-buffer): Use vc-dir-buffers.
 -
 -2009-10-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/chart.el (chart-zap-chars, chart-bar-quickie)
 -      (chart-file-count):
 -      * emacs-lisp/eieio-comp.el (byte-compile-defmethod-param-convert):
 -      * emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
 -      * emacs-lisp/eieio-opt.el (eieio-describe-class):
 -      * emacs-lisp/eieio-speedbar.el (eieio-speedbar-create):
 -      * emacs-lisp/eieio.el (defclass, eieio-defclass-autoload)
 -      (eieio-copy-parents-into-subclass, make-instance, class-children)
 -      (eieio-generic-form):
 -
 -      * vc-cvs.el (vc-cvs-parse-entry): Be more careful with the
 -      match-data.  (Bug#4555).
 -
 -      * emacs-lisp/check-declare.el (check-declare-scan): Read the declaration
 -      rather than parsing it as a regexp.  This relaxes the layout
 -      requirements and makes errors easier to detect.
 -      (check-declare-verify): Check file is regular.
 -      (check-declare-directory): Doc fix.
 -      * subr.el (declare-function): Doc fix.
 -
 -      * ibuffer.el (ibuffer-format-qualifier):
 -      * isearch.el (hi-lock-regexp-okay):
 -      * calc/calc.el (math-zerop):
 -      * mail/uce.el (rmail-msgbeg, rmail-msgend):
 -      * term/w32-win.el (setup-default-fontset, set-fontset-font):
 -      Remove unused declarations.
 -
 -2009-09-30  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/authors.el (authors-ignored-files): Add "js2-mode.el".
 -
 -      * emacs-lisp/elint.el (elint-init-form): Report declarations where the
 -      filename is not a string.
 -
 -2009-09-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (safe-local-eval-forms): Fix typo.
 -
 -2009-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-hooks.el (vc-dir-buffers): New var.
 -      (vc-state-refresh): New function.
 -      (vc-state): Use it.
 -      (vc-after-save): Always ask the backend to recompute the new state.
 -      Always call vc-dir if necessary, using vc-dir-buffers.
 -      * vc-dir.el (vc-dir-prepare-status-buffer, vc-dir-resynch-file):
 -      Use vc-dir-buffers.
 -      (vc-dir-mode): Use vc-dir-buffers rather than after-save-hook.
 -      (vc-dir-prepare-status-buffer, vc-dir-update)
 -      (vc-dir-resync-directory-files, vc-dir-resynch-file, vc-dir-mode):
 -      Don't call expand-file-name on default-directory.
 -
 -2009-09-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * speedbar.el (speedbar-item-delete):
 -      * calc/calc-prog.el (calc-kbd-if):
 -      * language/hanja-util.el (hanja-init-load): Fix typos in messages.
 -
 -      * epa.el (epa-key-list-mode-map):
 -      * hi-lock.el (hi-lock-menu): Fix typos in menus.
 -
 -      * progmodes/hideshow.el (hs-allow-nesting): Reflow docstring.
 -      (hs-show-hook): Fix typo in docstring.
 -
 -2009-09-29  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/check-declare.el (check-declare-locate): Remove pointless
 -      file-name-nondirectory call preventing location of cedet files.
 -      (check-declare-verify): Use literal search rather than re-search.
 -      Add basic defmethod and defclass, and define-overloadable-function.
 -
 -      * net/tramp-smb.el (tramp-smb-handle-directory-files-and-attributes):
 -      Use tramp-compat-file-attributes rather than nonexistent
 -      tramp-compat-handle-file-attributes.
 -
 -      * Makefile.in (lisptagsfiles4): New.
 -      (AUTOGENEL): Add cedet loaddefs files.
 -      (TAGS, TAGS-LISP): Use $lisptagsfiles4.
 -      (update-elclist, compile-always, backup-compiled-files)
 -      (bootstrap-clean): Add yet another directory level.
 -      (update-elclist): Use LC_COLLATE rather than COLLATE.
 -      (ELCFILES): Update, via `make update-elclist'.
 -
 -2009-09-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in (WINS_CEDET, WINS_BASIC, WINS_SUBDIR): New macros.
 -      (WINS_ALMOST): Set from WINS_BASIC and WINS_CEDET.
 -      (update-subdirs-CMD): Use WINS_SUBDIR, not WINS_ALMOST.
 -
 -2009-09-28  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (lisptagsfiles3): Define.
 -      (TAGS, TAGS-LISP): Use it.
 -      (update-elclist): Add third directory level to look for elc files.
 -      (compile-always): Likewise.
 -      (backup-compiled-files): Likewise.
 -      (bootstrap-clean): Likewise.
 -      (ELCFILES): Update.
 -
 -2009-09-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (ELCFILES): Add CEDET files.
 -
 -2009-09-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * Makefile.in (ELCFILES): Add net/tramp-imap.elc.
 -
 -      * net/tramp.el (top): Require tramp-imap.
 -
 -      * net/tramp-smb.el (tramp-smb-handle-directory-files-and-attributes):
 -      Use `tramp-compat-handle-file-attributes'.
 -
 -2009-09-28  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * net/tramp-imap.el: New package.
 -
 -2009-09-27  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * whitespace.el (whitespace-trailing-regexp)
 -      (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp):
 -      Fix doc string.
 -
 -2009-09-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * menu-bar.el: Remove menu-bar-ediff-misc-menu from the Tools
 -      menu.
 -
 -      * ediff-hook.el: Move menu-bar-ediff-misc-menu into
 -      menu-bar-ediff-menu.
 -
 -      * emacs-lisp/lisp-mode.el: Add doc-string-elt property to
 -      define-overloadable-function.
 -
 -      * progmodes/autoconf.el: Provide autoconf as well, so that this
 -      file can be `require'd.
 -
 -      * emacs-lisp/cl-macs.el (deftype): Add to cl-loaddefs.
 -
 -      * emacs-lisp/autoload.el (generated-autoload-feature)
 -      (generated-autoload-load-name): New vars.
 -      (autoload-rubric, autoload-generate-file-autoloads): Use them.
 -      (make-autoload): Recognize define-overloadable-function and
 -      defclass forms (for EIEIO).
 -
 -      * Makefile.in (update-subdirs): Exclude cedet directory.
 -
 -2009-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * term/ns-win.el: Don't set the region face background.  (Bug#4381)
 -
 -      * faces.el: Default light-background background for region face to
 -      ns_selection_color under NS.
 -
 -2009-09-27  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * net/imap-hash.el: New library, see NEWS.
 -
 -      * Makefile.in (ELCFILES): Add imap-hash.el.
 -
 -2009-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help.el (help-for-help-internal): Don't purecopy the text (bug#4560).
 -      * isearch.el (isearch-help-for-help-internal): Purecopy the second arg.
 -      * help-macro.el (make-help-screen): Avoid using an ambiguous function
 -      definition where the docstring could be taken for the return value.
 -
 -2009-09-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmailmm.el (rmail-mime-show-images, rmail-mime-bulk-handler):
 -      Add option to only show images below a certain size.
 -      (rmail-mime-multipart-handler): Remove unnecessary save-match-data and
 -      save-excursion calls.
 -
 -2009-09-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (WINS_ALMOST): Add cedet (with its
 -      subdirectories) and eieio.
 -
 -2009-09-26  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-engine.el (c-beginning-of-statement-1):
 -      Correct buggy bracketing.  (Bug#4289)
 -
 -      * progmodes/cc-langs.el (c-nonlabel-token-key): Allow quoted
 -      character constants (as case labels).  (Bug#4289)
 -
 -2009-09-25  Juri Linkov  <juri@jurta.org>
 -
 -      * files.el (safe-local-eval-forms): Allow time-stamp in
 -      before-save-hook (Bug#4554).
 -
 -2009-09-25  Drew Adams  <drew.adams@oracle.com>
 -
 -      * menu-bar.el (list-buffers-directory): Doc fix.
 -
 -2009-09-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * log-edit.el (log-edit-changelog-entries): Avoid inf-loops.
 -      Try and avoid copying twice the same paragraph.
 -      (log-edit-changelog-paragraph, log-edit-changelog-subparagraph):
 -      Remove save-excursion.
 -      (log-edit-changelog-entry): Do it here instead.
 -
 -2009-09-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * bs.el (bs--get-file-name): Use `list-buffers-directory'
 -      when available, instead of hardcoding mode names.  Doc fix.
 -
 -      * menu-bar.el (list-buffers-directory): Add docstring.
 -      Make automatically buffer-local.
 -
 -      * dired.el (dired-mode):
 -      * files.el (cd-absolute):
 -      * pcvs.el (cvs-temp-buffer):
 -      * pcvs-util.el (cvs-get-buffer-create):
 -      * shell.el (shell-mode):
 -      * vc-dir.el (vc-dir-mode):
 -      Don't make `list-buffers-directory' buffer local.
 -
 -2009-09-25  Devon Sean McCullough  <emacs-hacker@Jovi.Net>
 -
 -      * comint.el (comint-exec, comint-run, make-comint):
 -      Doc fixes (Bug#4542).
 -
 -2009-09-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmailmm.el (rmail-mime): New custom group.
 -      Move all defcustoms in this file into this group.
 -      (rmail-mime-media-type-handlers-alist): Revert previous change.
 -      (rmail-mime-show-images): New option.
 -      (rmail-mime-total-number-of-bulk-attachments): Remove variable and all
 -      references to it, since it wasn't actually used for anything.
 -      (rmail-mime-insert-image): New function.
 -      (rmail-mime-image): Use rmail-mime-insert-image.
 -      (rmail-mime-bulk-handler): Remove optional `image' argument, instead
 -      obey the value of `rmail-mime-show-images' option.  Print the size of
 -      attachments.
 -
 -2009-09-25  David Engster  <deng@randomsample.de>
 -
 -      * progmodes/hideshow.el (hs-show-block): Run `hs-show-hook'.  (Bug#4548)
 -
 -2009-09-24  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * whitespace.el: Does not highlight trailing spaces While point is
 -      at end of line.  Does not highligt spaces at beginning of buffer
 -      while point is at beginning of buffer.  Does not highlight spaces
 -      at end of buffer while point is at end of buffer.  (Bug#4177)
 -      New version 12.0.
 -      (whitespace-display-mappings): Adjust initialization.
 -      (whitespace-point, whitespace-font-lock-refontify): New vars.
 -      (whitespace-color-on, whitespace-color-off): Adjust code.
 -      (whitespace-trailing-regexp, whitespace-empty-at-bob-regexp)
 -      (whitespace-empty-at-eob-regexp, whitespace-space-regexp)
 -      (whitespace-tab-regexp, whitespace-post-command-hook): New funs.
 -
 -2009-09-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nxml/nxml-mode.el: Alias xml-mode to nxml-mode.
 -
 -      * textmodes/sgml-mode.el: Remove xml-mode alias.
 -
 -      * files.el (auto-mode-alist, conf-mode-maybe)
 -      (magic-fallback-mode-alist): Revert 2009-09-18 and 2009-09-21 changes.
 -
 -2009-09-24  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-cmds.el (c-scan-conditionals): A new function like
 -      c-forward-conditionals, but it doesn't move point and doesn't set
 -      the mark.
 -      (c-up-conditional, c-up-conditional-with-else, c-down-conditional)
 -      (c-down-conditional-with-else, c-backward-conditional)
 -      (c-forward-conditional): Refactor to use c-scan-conditionals.
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * help-fns.el (help-downcase-arguments): New option, defaulting to nil.
 -      (help-default-arg-highlight): Remove.
 -      (help-highlight-arg): New function.
 -      (help-do-arg-highlight): Use it.
 -      Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#4510, bug#4520)
 -
 -2009-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.el (term-set-scroll-region, term-handle-ansi-escape):
 -      Undo last change, which didn't fix the problem and introduced others.
 -
 -2009-09-24  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el: Don't require speedbar.
 -      (gdb-jsonify-buffer): Handle case where "=" is part of value string.
 -
 -2009-09-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-fancy-display): Always run the hook.
 -
 -      * term/ns-win.el (ns-reg-to-script): Define for compiler.
 -
 -      * mail/rmailmm.el (rmail-mime-multipart-handler): Accept the case where
 -      there is no newline after the final mime boundary.  (Bug#4539)
 -      Move markers on insertion so that any buttons inserted don't end up in
 -      the next part of a multipart message.
 -      (rmail-mime-media-type-handlers-alist): Doc fix.  Add image handler.
 -      (rmail-mime-bulk-handler): Optionally handle images.
 -      (rmail-mime-image): New button action.
 -      (rmail-mime-image-handler): New function.
 -      (rmail-mime-mode): New mode.
 -      (rmail-mime): Doc fix.  Use rmail-mime-mode (for font-lock).
 -
 -2009-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (minibuffer-force-complete): Cycle the list, rather
 -      than just dropping elements from it (bug#4504).
 -
 -      * term.el (term-set-scroll-region): Don't move cursor any more.
 -      (term-handle-ansi-escape): Call term-goto here instead.
 -      Suggested by Ivan Kanis <apple@kanis.eu>.
 -
 -      * term.el: Require CL.
 -      (term-ansi-reset): New function.
 -      (term-mode, term-emulate-terminal, term-handle-colors-array): Use it.
 -      (term-handle-colors-array): Simplify.
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * allout.el (allout-overlay-interior-modification-handler)
 -      (allout-obtain-passphrase):
 -      * epa-file.el (epa-file-write-region):
 -      * ps-print.el (ps-begin-job):
 -      * vc-hooks.el (vc-toggle-read-only):
 -      * vc-rcs.el (vc-rcs-rollback):
 -      * vc-sccs.el (vc-sccs-rollback):
 -      * vc.el (vc-deduce-fileset, vc-next-action, vc-register-with)
 -      (vc-version-diff, vc-revert, vc-rollback):
 -      * wdired.el (wdired-check-kill-buffer):
 -      * emacs-lisp/authors.el (authors):
 -      * net/socks.el (socks-open-connection):
 -      * net/zeroconf.el (zeroconf-service-add-hook):
 -      * obsolete/vc-mcvs.el (vc-mcvs-register):
 -      * progmodes/gdb-mi.el (def-gdb-thread-buffer-gud-command)
 -      (gdb-select-frame):
 -      * progmodes/grep.el (lgrep, rgrep):
 -      * progmodes/idlw-help.el (idlwave-help-check-locations)
 -      (idlwave-help-html-link, idlwave-help-assistant-open-link):
 -      * textmodes/ispell.el (ispell-find-aspell-dictionaries):
 -      * textmodes/reftex-toc.el (reftex-toc-promote-prepare)
 -      (reftex-toc-rename-label): Fix typos in error messages.
 -
 -      * dired-aux.el (dired-do-shell-command): Reflow docstring.
 -      (dired-copy-how-to-fn): Doc fix.
 -      (dired-files-attributes, dired-read-shell-command):
 -      Fix typos in docstrings.
 -
 -      * dired-x.el (dired-enable-local-variables, dired-filename-at-point)
 -      (dired-x-find-file-other-window): Reflow docstrings.
 -      (dired-omit-marker-char, dired-read-shell-command)
 -      (dired-x-submit-report): Fix typos in docstrings.
 -
 -      * shell.el (shell-mode-hook):
 -      * view.el (View-scroll-line-forward):
 -      * progmodes/inf-lisp.el (inferior-lisp-mode-hook):
 -      Fix typos in docstrings.
 -
 -      * net/dig.el (dig-invoke): Fix typo in docstring.
 -      (query-dig): Reflow docstring.
 -
 -      * progmodes/idlwave.el (idlwave-create-user-catalog-file)
 -      (idlwave-quoted, idlwave-rinfo-max-source-lines): Doc fixes.
 -      (idlwave-abbrev-move, idlwave-auto-routine-info-updates)
 -      (idlwave-begin-block-reg, idlwave-begin-unit-reg)
 -      (idlwave-beginning-of-subprogram, idlwave-block-jump-out)
 -      (idlwave-block-match-regexp, idlwave-calculate-paren-indent)
 -      (idlwave-check-abbrev, idlwave-class-file-or-buffer)
 -      (idlwave-class-found-in, idlwave-complete, idlwave-complete-in-buffer)
 -      (idlwave-completion-map, idlwave-current-indent)
 -      (idlwave-custom-ampersand-surround, idlwave-customize)
 -      (idlwave-default-font-lock-items, idlwave-default-insert-timestamp)
 -      (idlwave-define-abbrev, idlwave-determine-class-special)
 -      (idlwave-do-action, idlwave-doc-header, idlwave-doc-modification)
 -      (idlwave-end-block-reg, idlwave-end-of-statement)
 -      (idlwave-end-of-statement0, idlwave-end-of-subprogram)
 -      (idlwave-end-unit-reg, idlwave-entry-find-keyword)
 -      (idlwave-explicit-class-listed, idlwave-file-header)
 -      (idlwave-fill-paragraph, idlwave-find-class-definition)
 -      (idlwave-fix-keywords, idlwave-hang-indent-regexp, idlwave-hard-tab)
 -      (idlwave-idlwave_routine_info-compiled, idlwave-in-comment)
 -      (idlwave-in-quote, idlwave-indent-action-table)
 -      (idlwave-indent-expand-table, idlwave-indent-line)
 -      (idlwave-indent-subprogram, idlwave-indent-to-open-paren)
 -      (idlwave-is-comment-line, idlwave-is-comment-or-empty-line)
 -      (idlwave-is-continuation-line, idlwave-is-pointer-dereference)
 -      (idlwave-kill-autoloaded-buffers, idlwave-lib-p, idlwave-look-at)
 -      (idlwave-make-tags, idlwave-mode, idlwave-mode-abbrev-table)
 -      (idlwave-mouse-active-rinfo, idlwave-newline, idlwave-no-change-comment)
 -      (idlwave-outlawed-buffers, idlwave-popup-select)
 -      (idlwave-previous-statement, idlwave-rescan-catalog-directories)
 -      (idlwave-routine-entry-compare, idlwave-routine-info.pro)
 -      (idlwave-scan-all-buffers-for-routine-info, idlwave-scan-class-info)
 -      (idlwave-shell-automatic-start, idlwave-shell-explicit-file-name)
 -      (idlwave-show-begin, idlwave-split-line, idlwave-split-link-target)
 -      (idlwave-statement-type, idlwave-struct-skip)
 -      (idlwave-substitute-link-target, idlwave-toggle-comment-region)
 -      (idlwave-update-current-buffer-info, idlwave-use-library-catalogs)
 -      (idlwave-what-module-find-class): Fix typos in docstrings.
 -      (idlwave-all-method-classes, idlwave-calc-hanging-indent)
 -      (idlwave-calculate-cont-indent, idlwave-expand-equal)
 -      (idlwave-find-module, idlwave-find-structure-definition)
 -      (idlwave-init-rinfo-when-idle-after, idlwave-insert-source-location)
 -      (idlwave-list-load-path-shadows, idlwave-next-statement)
 -      (idlwave-routine-entry-compare-twins, idlwave-routine-info)
 -      (idlwave-routines, idlwave-sintern-rinfo-list, idlwave-statement-match)
 -      (idlwave-template): Reflow docstrings.
 -
 -      * progmodes/idlw-shell.el (idlwave-shell-syntax-error): Doc fix.
 -      (idlwave-shell-batch-command, idlwave-shell-bp-alist)
 -      (idlwave-shell-bp-get, idlwave-shell-bp-overlays)
 -      (idlwave-shell-bp-query, idlwave-shell-break-here, idlwave-shell-buffer)
 -      (idlwave-shell-display-line, idlwave-shell-display-wframe)
 -      (idlwave-shell-electric-debug-mode, idlwave-shell-examine-select)
 -      (idlwave-shell-file-name-chars, idlwave-shell-filter-bp)
 -      (idlwave-shell-goto-frame, idlwave-shell-halt-messages-re)
 -      (idlwave-shell-highlighting-and-faces, idlwave-shell-idl-wframe)
 -      (idlwave-shell-mode-hook, idlwave-shell-mode-line-info)
 -      (idlwave-shell-mode-map, idlwave-shell-module-source-filter)
 -      (idlwave-shell-mouse-help, idlwave-shell-mouse-print)
 -      (idlwave-shell-pc-frame, idlwave-shell-pending-commands)
 -      (idlwave-shell-print, idlwave-shell-quit, idlwave-shell-redisplay)
 -      (idlwave-shell-scan-for-state, idlwave-shell-send-command)
 -      (idlwave-shell-sentinel-hook, idlwave-shell-separate-examine-output)
 -      (idlwave-shell-shell-command, idlwave-shell-sources-alist)
 -      (idlwave-shell-sources-bp, idlwave-shell-sources-filter)
 -      (idlwave-shell-step, idlwave-shell-use-breakpoint-glyph)
 -      (idlwave-toolbar-add-everywhere, idlwave-toolbar-toggle):
 -      Fix typos in docstrings.
 -      (idlwave-shell-bp, idlwave-shell-clear-current-bp)
 -      (idlwave-shell-hide-output, idlwave-shell-mode)
 -      (idlwave-shell-run-region, idlwave-shell-set-bp-in-module):
 -      Reflow docstrings.
 -
 -      * textmodes/bibtex.el (bibtex-sort-entry-class): Fix group name.
 -
 -2009-09-24  Ivan Kanis  <apple@kanis.eu>
 -
 -      * term.el (term-bold-attribute): New var.
 -      (term-handle-colors-array): Use it.
 -
 -2009-09-23  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-version): New variable.
 -      (gdb-non-stop-handler): Set gdb-version.
 -      (gdb-gud-context-command, gdb-current-context-command, gdb-stopped):
 -      Condition "--thread" option on gdb-version.
 -      (gdb-invalidate-threads): Remove unused argument.
 -
 -2009-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/flyspell.el (sgml-mode-flyspell-verify): Pass limit args
 -      to looking-back to avoid ridiculous slow down in large files (bug#4511).
 -
 -2009-09-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmail.el (rmail-reply): Don't try to add a References header when
 -      replying to mail without References or Message-Id.  (Bug#4525)
 -
 -2009-09-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * term/ns-win.el (ns-reg-to-script): New variable.
 -
 -2009-09-23  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epg.el (epg-wait-for-status): Preserve existing 'error results.
 -
 -2009-09-22  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-hg.el (vc-hg-print-log): Fix shortlog arg passing.
 -      (vc-hg-outgoing, vc-hg-incoming): Bump okstatus in `vc-hg-command'
 -      to 1 because hg returns status 1 when nothing is found.
 -      Bind `vc-short-log' for the sake of `vc-hg-log-view-mode'.
 -
 -2009-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/fill.el: Convert to utf-8 encoding.
 -      (fill-french-nobreak-p): Remove redundant » and « inherited from our
 -      pre-unicode days.
 -
 -      * add-log.el (change-log-fill-forward-paragraph): New function.
 -      (change-log-mode): Use it so fill-region DTRT.
 -      Set fill-indent-according-to-mode here rather than in
 -      change-log-fill-paragraph.
 -      (change-log-fill-paragraph): Remove.
 -
 -2009-09-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * info.el (Info-try-follow-nearest-node): Use the URL extracted by
 -      `Info-get-token', instead of `browse-url-url-at-point'.  (Bug#4508)
 -
 -2009-09-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/calendar.el (calendar-mode-map): Make mouse-1 and 3 clicks on
 -      the scroll-bar scroll the calendar window rather than the buffer.
 -
 -      * calendar/cal-menu.el (cal-menu-scroll-menu): Add a sub-section with
 -      commands that move point (as opposed to scrolling).
 -
 -      * emulation/tpu-edt.el (tpu-copy-keyfile): Fix condition-case handler.
 -
 -      * emacs-lisp/elint.el (elint): New custom group.
 -      (elint-log-buffer): Make it a defcustom.
 -      (elint-scan-preloaded, elint-ignored-warnings)
 -      (elint-directory-skip-re): New options.
 -      (elint-builtin-variables): Doc fix.
 -      (elint-preloaded-env): New variable.
 -      (elint-unknown-builtin-args): Add an entry for encode-time.
 -      (elint-extra-errors): Make it a variable rather than a constant.
 -      (elint-preloaded-skip-re): New constant.
 -      (elint-directory): Skip files matching elint-directory-skip-re.
 -      (elint-features): New variable, local to linted buffers.
 -      (elint-update-env): Initialize elint-features.  Possibly add
 -      elint-preloaded-env to the buffer's environment.
 -      (elint-get-top-forms): Bind elint-current-pos, for log messages.
 -      Skip quoted forms.
 -      (elint-init-form): New function, extracted from elint-init-env.
 -      Make non-list forms a warning rather than an error.
 -      Add the mode-map for define-derived-mode.  Handle define-minor-mode,
 -      easy-menu-define, put that adds an error-condition, and provide.
 -      When requiring cl, also require cl-macs.  Really require cl, to handle
 -      some cl macros.  Store required libraries in the list elint-features,
 -      so as not to re-load them.  Treat cc-require like require.
 -      (elint-init-env): Call elint-init-form to do the work.
 -      Handle eval-and-compile and such like.
 -      (elint-add-required-env): Do not clear messages.
 -      (elint-special-forms): Add handlers for function, defalias, if, when,
 -      unless, and, or.
 -      (elint-form): Add optional argument to ignore elint-special-forms,
 -      useful to prevent recursive calls from handlers.  Doc fix.
 -      Respect elint-ignored-warnings.
 -      (elint-form): Respect elint-ignored-warnings.
 -      (elint-bound-variable, elint-bound-function): New variables.
 -      (elint-unbound-variable): Respect elint-bound-variable.
 -      (elint-get-args): Respect elint-bound-function.
 -      (elint-check-cond-form): Add some simple handling for (f)boundp and
 -      featurep tests.
 -      (elint-check-defalias-form): New handler.
 -      (elint-check-let-form): Make an empty let a warning rather than an
 -      error.
 -      (elint-check-setq-form): Make an empty setq a warning rather than an
 -      error.  Respect elint-ignored-warnings.
 -      (elint-check-defvar-form): Accept null doc-strings.
 -      (elint-check-conditional-form): New handler.  Does some simple-minded
 -      checking of featurep and (f)boundp tests.
 -      (elint-put-function-args): New function.
 -      (elint-initialize): Use elint-scan-doc-file rather than
 -      elint-find-builtin-variables.  Use elint-put-function-args.
 -      Possibly scan preloaded-file-list.
 -      (elint-scan-doc-file): Rename from elint-find-builtin-variables and
 -      extend to handle functions as well.
 -
 -2009-09-22  Lennart Borgman  <lennart.borgman@gmail.com>
 -
 -      * linum.el (linum-delete-overlays, linum-update-window):
 -      Do not modify the right margin.  (Bug#3971)
 -
 -2009-09-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (conf-mode-maybe, magic-fallback-mode-alist):
 -      Use nxml-mode instead of xml-mode.
 -
 -2009-09-21  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/dig.el: Add "Keywords: comm", as per net-utils.el.  (Bug#4501)
 -
 -2009-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * net/dig.el (dig-mode): Use define-derived-mode.
 -
 -2009-09-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dispatcher.el (vc-do-command): Return the process object in
 -      the asynchronous case.  Use when instead of if.  Do not run
 -      vc-exec-after to display a message if not enabled.  (Bug#4463)
 -
 -      * vc-git.el (vc-git-dir-extra-headers): Add keymap and mouse-face
 -      properties to the stash strings.
 -      (vc-git-stash-list): Return a list of strings.
 -      (vc-git-stash-get-at-point, vc-git-stash-delete-at-point)
 -      (vc-git-stash-show-at-point): New functions.
 -      (vc-git-stash-map): New keymap.
 -
 -      * register.el (ctl-x-r-map): Define the keys here instead of
 -      using autoload.
 -
 -2009-09-20  Thierry Volpiatto  <thierry.volpiatto@gmail.com>  (tiny change)
 -
 -      * bookmark.el (bookmark-write-file): Avoid calling `pp' with large
 -      list, to workaround performance problem (bug#4485).
 -
 -2009-09-20  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gud.el (gud-sentinel): Revert indavertant change.
 -
 -2009-09-20  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epa-file.el (epa-file-cache-passphrase-for-symmetric-encryption):
 -      Document that this option is not recommended to use.
 -
 -2009-09-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * calc/calc-graph.el (calc-graph-lookup): Avoid assignment to free
 -      variable `var'.
 -
 -      * calc/calc-alg.el (var):
 -      * calc/calcalg2.el (var): Define for compiler.
 -
 -2009-09-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/advice.el (ad-get-argument, ad-set-argument):
 -      Doc fix (Bug#3932).
 -
 -      * subr.el (baud-rate): Remove long-obsolete function (Bug#4372).
 -
 -      * time-stamp.el (time-stamp-month-dd-yyyy)
 -      (time-stamp-dd/mm/yyyy, time-stamp-mon-dd-yyyy)
 -      (time-stamp-dd-mon-yy, time-stamp-yy/mm/dd)
 -      (time-stamp-yyyy/mm/dd, time-stamp-yyyy-mm-dd)
 -      (time-stamp-yymmdd, time-stamp-hh:mm:ss, time-stamp-hhmm):
 -      Remove functions that have been obsolete since 1995 (Bug#4436).
 -
 -      * progmodes/sh-script.el (sh-learn-buffer-indent): Pop to the
 -      indent buffer only if called interactively (Bug#4452).
 -
 -2009-09-19  Juanma Barranquero  <lekktu@gmail.com>
 -          Eli Zaretskii  <eliz@gnu.org>
 -
 -      This fixes bug#4197 (merged to bug#865, though not identical).
 -      * server.el (server-auth-dir): Add docstring note about FAT32.
 -      (server-ensure-safe-dir): Accept FAT32 directories as "safe",
 -      but warn against using them.
 -
 -2009-09-19  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-var-update-handler-1): Include case of
 -      older GDB where there is no has_more field.
 -
 -2009-09-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * pgg-pgp.el (pgg-pgp-encrypt-region): Add missing mapconcat separator.
 -
 -2009-09-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (auto-mode-alist): Change default for XML files to nXML
 -      mode (Bug#4169).
 -
 -2009-09-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * server.el (server-ensure-safe-dir): Pass 'integer
 -      to `file-attributes', as suggested.
 -
 -2009-09-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired-aux.el (dired-query-alist): Remove spurious backslash.
 -      (dired-query): Use read-key.
 -
 -2009-09-18  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * cus-start.el (ns-use-qd-smoothing): Remove.
 -
 -2009-09-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * allout.el (top-level): Remove unnecessary progn.
 -
 -      * progmodes/js.el (js-end-of-defun): Remove malformed and unneeded let.
 -
 -      * emacs-lisp/derived.el (define-derived-mode): Fix paren typo in
 -      definition of abbrev table.
 -
 -      * speedbar.el (speedbar-track-mouse):
 -      * net/eudc-bob.el (eudc-bob-pipe-object-to-external-program):
 -      * net/eudc.el (eudc-expand-inline):
 -      * net/newst-backend.el (newsticker--cache-read-feed):
 -      * nxml/nxml-outln.el (nxml-end-of-heading): Fix typos in
 -      condition-case handlers.
 -
 -2009-09-18  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-frame-address): New variable.
 -      (gdb-var-list): Add an element for has_more field.
 -      (gdb-non-stop-handler): Enable pretty printing for STL containers.
 -      (gdb-var-create-handler, gdb-var-list-children-handler-1)
 -      (gdb-var-update-handler-1): Parse output of dynamic variable
 -      objects (STL containers).
 -      (gdb-var-delete-1): Pass var1 as an explicit second argument.
 -      (gdb-get-field): Delete alias.  Use bindat-get-field directly.
 -
 -      * progmodes/gud.el (gud-speedbar-item-info): Adjust for change to
 -      gdb-var-list.
 -      (gud-speedbar-buttons): Make node expandable if expression "has more"
 -      children.
 -
 -2009-09-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * startup.el (emacs-quick-startup): Remove variable and all uses.
 -      (command-line): Set `inhibit-x-resources' instead.
 -      (command-line-1): Use `inhibit-x-resources' instead.
 -
 -2009-09-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * subr.el: Fix last change to avoid using the `unless' macro,
 -      which breaks bootstrapping.
 -
 -2009-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (push, pop, dolist, dotimes, declare): Don't overwrite CL's
 -      extended definitions, in case we reload subr.el after having
 -      loaded CL.
 -      (eval-next-after-load): Mark as obsolete.
 -
 -2009-09-17  Juri Linkov  <juri@jurta.org>
 -
 -      * menu-bar.el (menu-bar-search-menu, menu-bar-edit-menu)
 -      (menu-bar-options-menu, menu-bar-showhide-fringe-menu)
 -      (menu-bar-showhide-menu, menu-bar-tools-menu)
 -      (menu-bar-describe-menu, menu-bar-help-menu)
 -      (minibuffer-local-completion-map, minibuffer-local-map):
 -      Fix list quoting.
 -
 -2009-09-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-form): Always check the function
 -      arguments, whether or not it has a handler.
 -
 -      * ansi-color.el (ansi-color-get-face-1): Fix typo in handler.
 -
 -      * simple.el (hard-newline): Give it a doc-string.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table):
 -      (lisp-mode-syntax-table): Give them doc-strings.
 -
 -2009-09-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * menu-bar.el (menu-bar-file-menu, menu-bar-file-menu)
 -      (menu-bar-i-search-menu, menu-bar-edit-menu, menu-bar-custom-menu)
 -      (menu-bar-options-menu, menu-bar-showhide-menu)
 -      (menu-bar-showhide-fringe-ind-menu, menu-bar-showhide-fringe-menu)
 -      (menu-bar-showhide-scroll-bar-menu, menu-bar-showhide-menu)
 -      (menu-bar-options-menu, menu-bar-line-wrapping-menu)
 -      (menu-bar-options-menu, menu-bar-tools-menu)
 -      (menu-bar-describe-menu, menu-bar-search-documentation-menu)
 -      (menu-bar-help-menu):
 -      (menu-bar-make-mm-toggle, menu-bar-make-toggle): Purecopy the
 -      string arguments.
 -
 -      * ediff-hook.el (menu-bar-ediff-menu, menu-bar-ediff-merge-menu)
 -      (menu-bar-epatch-menu, menu-bar-ediff-misc-menu): Add purecopy
 -      calls for the menu names and :help.
 -
 -2009-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mouse.el (minor-mode-menu-from-indicator): Pay attention
 -      to :minor-mode-function (bug#4455).
 -
 -2009-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * startup.el (command-line): Initialize the window-system after
 -      processing the command-line.
 -
 -      * textmodes/page.el (what-page): Make sure we don't inf-loop if
 -      page-delimiter matches the empty string.
 -
 -2009-09-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-not-obsolete-vars): Rename from
 -      byte-compile-not-obsolete-var.  It's a list now.
 -      (byte-compile-not-obsolete-funcs): New variable.
 -      (byte-compile-warn-obsolete): Don't warn about functions if they are in
 -      byte-compile-not-obsolete-funcs.
 -      (byte-compile-variable-ref, byte-compile-defvar): Update for
 -      byte-compile-not-obsolete-vars name-change and list nature.
 -      (byte-compile-maybe-guarded): Suppress warnings about obsolete functions
 -      and variables behind (f)boundp tests.
 -      * net/tramp-compat.el (byte-compile-not-obsolete-vars): Set if bound.
 -
 -2009-09-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-log-view-mode): Undo inadvertent change.
 -
 -2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (compile-onefile): Use byte-compile-refresh-preloaded.
 -      * emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded):
 -      Don't autoload.
 -
 -2009-09-15  Stephen Eglen  <stephen@gnu.org>
 -
 -      * iswitchb.el (iswitchb-read-buffer): When selecting a match from
 -      the virtual-buffers, use the name of the buffer specified by
 -      find-file-noselect, as the match may be a symlink.  (This was a
 -      problem if the target and the symlink had different names.)
 -
 -2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * custom.el (custom-initialize-default, custom-initialize-set): CSE.
 -
 -      * desktop.el (desktop-path): Check user-emacs-directory.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): New function.
 -
 -      * loadup.el: Use after-load-functions to GC after loading each file.
 -      Remove the explicit GC calls that used to be sprinkled around.
 -
 -      * subr.el (after-load-functions): New hook.
 -      (do-after-load-evaluation): Run it.  Use string-match-p to detect
 -      `obsolete' packages, rather than painfully extracting the relevant
 -      directory name.
 -
 -2009-09-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * apropos.el (apropos-documentation-check-doc-file): Avoid assignment to
 -      free variable `doc'.
 -
 -      * dired.el (dired-mode-map): Add menu entry for async shell command.
 -
 -      * help-fns.el (find-lisp-object-file-name): When looking for autoloaded
 -      variables, also consider the .elc files, since the .el files are
 -      normally gzipped (subsequent code locates the .el.gz from the .elc).
 -
 -      * calc/calc-prog.el (arglist): Define for compiler.
 -
 -      * calendar/diary-lib.el (diary-display-function): Change the default to
 -      fancy display.
 -      (body): Define for compiler.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-keep-pending)
 -      (byte-compile-file-form, byte-compile-lambda)
 -      (byte-compile-top-level-body, byte-compile-form)
 -      (byte-compile-variable-ref, byte-compile-setq)
 -      (byte-compile-setq-default, byte-compile-body)
 -      (byte-compile-body-do-effect, byte-compile-and, byte-compile-or)
 -      (batch-byte-compile): Give some more local variables with common names
 -      a "bytecomp-" prefix to avoid masking warnings about free variables.
 -
 -      * startup.el (command-line-1): Give local variables with common names a
 -      distinguishing prefix, so as not to hide free variable warnings during
 -      bootstrap.
 -
 -      * mail/rmailmm.el (rmail-mime-save): If file exists, don't try to be
 -      clever and add a suffix to make a unique name, just let the user decide
 -      whether or not to overwrite it.  If the input is a directory, write the
 -      default filename to that directory.  (Bug#4388)
 -      (rmail-mime-bulk-handler): Ensure the save button's 'directory property
 -      is a filename-as-a-directory.
 -
 -2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/page.el (what-page): Don't move to beginning of line.
 -      See <87tyz5ajte.fsf@x2.delysid.org> in emacs-devel.
 -
 -2009-09-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-dir-extra-headers): Show the remote location.
 -
 -2009-09-14  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * bindings.el (mode-line-mode-menu): Add purecopy calls for :help.
 -      * help.el (help-for-help-internal): Add purecopy calls for text.
 -
 -      * vc.el (top): print-log method now takes an optional SHORTLOG
 -      argument.  Add a new method: root.
 -      (vc-root-diff, vc-print-root-log): New functions.
 -      (vc-log-short-style): New variable.
 -      (vc-print-log-internal): Add support for showing short logs.
 -
 -      * vc-hooks.el (vc-prefix-map, vc-menu-map): Add bindings for
 -      vc-print-root-log and vc-print-root-diff.
 -
 -      * vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-print-log):
 -      * vc-git.el (vc-git-print-log, vc-git-log-view-mode):
 -      * vc-hg.el (vc-hg-print-log, vc-hg-log-view-mode): Add support for
 -      short logs.
 -
 -      * vc-cvs.el (vc-cvs-print-log):
 -      * vc-mtn.el (vc-mtn-print-log):
 -      * vc-rcs.el (vc-rcs-print-log):
 -      * vc-sccs.el (vc-sccs-print-log):
 -      * vc-svn.el (vc-svn-print-log): Add an optional argument shortlog
 -      that is ignored for now.
 -
 -      * vc-mtn.el (vc-mtn-annotate-command):
 -      * vc-svn.el (vc-svn-annotate-command): Run asynchronously.
 -
 -2009-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el: Add mapping for backspace/delete/clear/tab/escape/return
 -      to function-key-map, and give them ascii-character property.
 -      * term/x-win.el (x-alternatives-map):
 -      * term/ns-win.el (ns-alternatives-map):
 -      * term/internal.el (msdos-key-remapping-map):
 -      * w32-fns.el (x-alternatives-map): Remove redundant mappings.
 -
 -2009-09-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/elint.el (elint-add-required-env): Revert to not using
 -      temp-buffers (2009-09-12).
 -
 -2009-09-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/ispell.el (ispell-command-loop): Improve last fix, using
 -      the new read-key function.
 -
 -2009-09-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term/x-win.el (x-menu-bar-open): Only call accelerate-menu if it
 -      is defined (Bug#4405).
 -
 -2009-09-13  Vincent Belaïche  <vincent.belaiche@gmail.com>
 -
 -      * recentf.el (recentf-cleanup): Use a hash table to find
 -      duplicates (Bug#4407).
 -
 -2009-09-13  Per Starbäck  <per@starback.se>  (tiny change)
 -
 -      * textmodes/ispell.el (ispell-command-loop): Convert keys such as
 -      kp-0 to ascii equivalents (Bug#4325).
 -
 -2009-09-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cperl-mode.el (cperl-init-faces): Revert last change.
 -
 -      * eshell/em-hist.el:
 -      * eshell/em-dirs.el (eshell-complete-user-reference):
 -      Declare pcomplete functions and variables to avoid compiler warnings.
 -
 -2009-09-13  Leo  <sdl.web@gmail.com>  (tiny change)
 -
 -      * eshell/em-script.el (eshell-login-script, eshell-rc-script):
 -      * eshell/em-dirs.el (eshell-last-dir-ring-file-name):
 -      * eshell/em-alias.el (eshell-aliases-file):
 -      * eshell/em-hist.el (eshell-history-file-name):
 -      Use expand-file-name instead of concat to make file names (Bug#4308).
 -
 -2009-09-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * ediff-merg.el (ediff-do-merge):
 -      * filesets.el (filesets-run-cmd):
 -      * emulation/ws-mode.el (ws-show-markers, ws-move-block, ws-delete-block)
 -      (ws-find-marker-0, ws-find-marker-1, ws-find-marker-2, ws-find-marker-3)
 -      (ws-find-marker-4, ws-find-marker-5, ws-find-marker-6, ws-find-marker-7)
 -      (ws-find-marker-8, ws-find-marker-9, ws-goto-block-begin)
 -      (ws-goto-block-end, ws-goto-last-cursorposition, ws-copy-block):
 -      Replace empty `let's with `progn'.
 -
 -2009-09-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mail/sendmail.el (send-mail-function):
 -      * tooltip.el (tooltip-mode):
 -      * simple.el (transient-mark-mode):
 -      * rfn-eshadow.el (file-name-shadow-mode):
 -      * frame.el (blink-cursor-mode):
 -      * font-core.el (global-font-lock-mode):
 -      * files.el (temporary-file-directory)
 -      (small-temporary-file-directory, auto-save-file-name-transforms):
 -      * epa-hook.el (auto-encryption-mode):
 -      * composite.el (global-auto-composition-mode):
 -      Use custom-initialize-delay.
 -      * startup.el (command-line): Don't explicitly call
 -      custom-reevaluate-setting for all the above vars.
 -      * custom.el (custom-initialize-safe-set)
 -      (custom-initialize-safe-default): Delete.
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term/x-win.el (x-initialize-window-system):
 -      * term/w32-win.el (w32-initialize-window-system):
 -      * term/ns-win.el (ns-initialize-window-system): Don't call
 -      mouse-wheel-mode since it's enabled globally by default already.
 -
 -      * mwheel.el (mouse-wheel-mode): Make sure the new defvar doesn't
 -      actually define the variable, but only silences the byte-compiler.
 -      (mouse-wheel-change-button): Check whether mouse-wheel-mode is bound
 -      before looking it up.
 -      (mouse-wheel-scroll-amount): Also reset the bindings if this value
 -      is changed.
 -
 -2009-09-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/elint.el (elint-file): Make max-lisp-eval-depth at least
 -      1000.
 -      (elint-add-required-env): Don't beep on error.
 -      (elint-forms): In case of error, return ENV unchanged.
 -      (elint-init-env): Skip non-list forms.
 -      (elint-log): Handle unknown file positions.
 -
 -2009-09-12  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epg.el (epg-make-context): Add autoload cookie.
 -      (epg-list-keys, epg-cancel, epg-start-decrypt, epg-decrypt-file)
 -      (epg-decrypt-string, epg-start-verify, epg-verify-file)
 -      (epg-verify-string, epg-start-sign, epg-sign-file)
 -      (epg-sign-string, epg-start-encrypt, epg-encrypt-file)
 -      (epg-encrypt-string, epg-start-export-keys)
 -      (epg-export-keys-to-file, epg-export-keys-to-string)
 -      (epg-start-import-keys, epg-import-keys-from-file)
 -      (epg-import-keys-from-string, epg-start-receive-keys)
 -      (epg-receive-keys, epg-import-keys-from-server)
 -      (epg-start-delete-keys, epg-delete-keys, epg-start-sign-keys)
 -      (epg-sign-keys, epg-start-generate-key)
 -      (epg-generate-key-from-file, epg-generate-key-from-string):
 -      Remove autoload cookie.
 -
 -2009-09-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dos-fns.el (dos-reevaluate-defcustoms): Comment out the
 -      reevaluation of trash-directory.
 -
 -      * mwheel.el: Fix last change.
 -      (mouse-wheel-mode): New defvar.
 -      (mouse-wheel-mode): Remove autoload cookie.
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mwheel.el (mwheel-installed-bindings): New var.
 -      (mouse-wheel-mode): Use it, so as to make sure we really remove all
 -      the bindings we set last time.  Use custom-initialize-delay.
 -      * loadup.el: Load mwheel after term/*-win.el.
 -      * startup.el (command-line): Don't reevaluate mouse-wheel-down-event
 -      and mouse-wheel-up-event now that their first evaluation is done
 -      sufficiently late to be correct.
 -
 -      * startup.el (tutorial-directory): Make it a defcustom.
 -      Use custom-initialize-delay rather than eval-at-startup to set it.
 -      * image.el (image-load-path): Make it a defcustom.
 -      Use custom-initialize-delay rather than eval-at-startup to set it.
 -      * subr.el (eval-at-startup): Remove.
 -      * font-lock.el (lisp-font-lock-keywords-2): Remove eval-at-startup.
 -
 -      * subr.el (do-after-load-evaluation): Warn the user after loading an
 -      obsolete package.
 -
 -2009-09-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * proced.el (proced-mark-alt): Remove alias.
 -      (proced-mode-map): Remove proced-mark-alt.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Add menu entries to
 -      Elint file and directory.  Remove initialization entry.
 -
 -      * emacs-lisp/elint.el (elint-file, elint-directory): New autoloaded
 -      commands.
 -      (elint-current-buffer): Set mode-line-process.
 -      (elint-init-env): Handle define-derived-mode.
 -      Fix declare-function with unspecified arglist.  Guard against odd
 -      defalias statements (eg iso-insert's 8859-1-map).
 -      (elint-add-required-env): Use a temp buffer.
 -      (elint-form): Just print the function/macro name, not the whole form.
 -      Return env unchanged if we fail to parse a macro.
 -      (elint-forms): Guard against parse errors.
 -      (elint-output): New function, to handle batch mode.
 -      (elint-log-message): Add optional argument.  Use elint-output.
 -      (elint-set-mode-line): New function.
 -
 -2009-09-12  Andreas Politz  <politza@fh-trier.de>  (tiny change)
 -
 -      * emacs-lisp/elp.el (elp-not-profilable): Add more
 -      functions (Bug#4233).
 -
 -2009-09-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emulation/pc-select.el (scroll-down-mark, scroll-down-nomark)
 -      (scroll-up-mark, scroll-up-nomark): Doc fix (Bug#4190).
 -
 -2009-09-11  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-var-list-children-regexp): Delete.
 -      (gdb-var-list-children): Use json parsing.
 -
 -2009-09-11  Daniel Colascione  <dan.colascione@gmail.com>
 -
 -      * progmodes/js.el (js--proper-indentation): Handle the case where
 -      char-before is null.  Reported by Deniz Dogan.
 -
 -2009-09-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs-lisp/cl-macs.el (help-add-fundoc-usage): Declare.
 -
 -2009-09-11  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epg.el (epg-cipher-algorithm-alist): Add CAMELLIA.
 -      (epg-digest-algorithm-alist): Add SHA224.
 -      (epg-context-set-passphrase-callback)
 -      (epg-context-set-progress-callback): Add description about
 -      callback function.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * custom.el (custom-delayed-init-variables): New var.
 -      (custom-initialize-delay): New function.
 -      * startup.el (command-line): "Re"evaluate all vars in
 -      custom-delayed-init-variables.  Don't reevaluate abbrev-file-name
 -      explicitly any more.
 -      * abbrev.el (abbrev-file-name): Use custom-initialize-delay
 -      to avoid creating a ~/.emacs.d at build-time (bug#4347).
 -
 -      * proced.el (proced-mode-map): Prefer "m" for proced-mark (bug#4362).
 -
 -2009-09-11  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-var-update-regexp): Delete.
 -      (gdb-var-update-handler): Use json parsing.
 -
 -2009-09-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * vc-annotate.el (vc-annotate): Use the main file's coding-system to
 -      decode annotated text, regardless of language environment.  (Bug#2741)
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (autoloads): Make rmail.el writable as well.
 -
 -2009-09-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * dired-aux.el, dired-x.el: Put autoloads in dired.el rather than
 -      loaddefs.el.
 -      * dired.el: Regenerate with extracted autoloads.
 -      * Makefile.in (autoloads): Make dired.el writable.
 -
 -      * ibuf-ext.el: Put autoloads in ibuffer.el rather than loaddefs.el.
 -      * ibuffer.el: Regenerate with extracted autoloads.
 -      * Makefile.in (autoloads): Make ibuffer.el writable.
 -
 -      * paths.el (prune-directory-list, gnus-nntp-service, rmail-file-name):
 -      * version.el (emacs-copyright, emacs-major-version)
 -      (emacs-minor-version): Reformat doc-strings for make-docfile.
 -
 -      * apropos.el (apropos-documentation-check-doc-file): Exclude unbound
 -      functions and variables, since they must be stuff specific to some other
 -      platform.
 -      (apropos-print): Make mouse-click message less specific about button.
 -
 -      * emacs-lisp/cl-macs.el (define-compiler-macro): Add a property
 -      that records where a macro was defined.
 -      * help-fns.el (describe-function-1): Mention if a function has a
 -      compiler-macro.
 -      * help-mode.el (help-function-cmacro): New button.
 -
 -      * locate.el (top-level): Always require dired.
 -      (locate-mode-map): Initialize inside the defvar.
 -
 -      * net/ange-ftp.el (dired-compress-file): Declare.
 -      (ange-ftp-dired-compress-file): Add doc string.
 -
 -      * term/ns-win.el (x-display-name, x-setup-function-keys):
 -      Unify doc-strings with X versions.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emulation/crisp.el (crisp-mode-map): Move initialization
 -      into declaration.
 -      (crisp-mode): Use define-minor-mode.
 -
 -      * progmodes/xscheme.el (xscheme-evaluation-commands):
 -      Put a :advertised-binding property rather than using
 -      advertised-xscheme-send-previous-expression.
 -      (advertised-xscheme-send-previous-expression): Declare obsolete.
 -      * emulation/crisp.el (crisp-mode-map): Use `undo' rather than
 -      `advertised-undo'.
 -      (crisp-mode): Add corresponding bindings to
 -      undo's :advertised-binding instead.
 -      * dired.el (dired-mode-map): Put a :advertised-binding property rather
 -      than using dired-advertised-find-file.
 -      (dired-advertised-find-file):
 -      * simple.el (advertised-undo):
 -      * wid-edit.el (advertised-widget-backward): Declare obsolete.
 -      (widget-keymap): Put a :advertised-binding property rather
 -      than using advertised-widget-backward.
 -      * bindings.el (ctl-x-map): Put a :advertised-binding property rather
 -      than using advertised-undo.
 -      * tutorial.el (tutorial--default-keys): Adjust accordingly.
 -
 -2009-09-10  Simon South  <ssouth@slowcomputing.org>
 -
 -      * progmodes/delphi.el (delphi-tab): Indent region when Transient
 -      Mark mode is enabled and region is active; otherwise indent or
 -      insert TAB as usual.
 -      (delphi-mode): Update description of TAB-key binding.
 -
 -2009-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (define-key-rebound-commands): Mark obsolete.
 -      * startup.el (precompute-menubar-bindings): Remove.
 -      (normal-top-level): Remove obsolete code that tried to precompute
 -      menubar bindings.
 -      * loadup.el (define-key-rebound-commands): Don't bother fiddling with
 -      define-key-rebound-commands and precompute-menubar-bindings.
 -
 -2009-09-10  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * net/imap.el (imap-interactive-login): Better messages.
 -      (imap-open): Fix bug with renamed buffer on reconnect.
 -      (imap-authenticate): Add buffer-local imap-last-authenticator variable
 -      for easier debugging and cleaner code.  On successful (guessed based on
 -      server capabilities) secondary authentication, set imap-state
 -      correctly.
 -      (imap-last-authenticator): Define imap-last-authenticator as a variable
 -      to avoid warnings.
 -
 -2009-09-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * pcvs.el (cvs-mode-find-file): Use forward-line rather than goto-line.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-function-environment): Doc fix.
 -      (byte-compile-file-form-autoload): Don't warn about unknown functions
 -      where the autoload statement comes after the use.
 -      (with-no-warnings): Give it a byte-hunk-handler like than of progn, so
 -      that any handlers inside the body (eg require) are in turn respected.
 -
 -      * emacs-lisp/byte-opt.el (degrees-to-radians): Mark as free from side
 -      effects.
 -
 -      * emacs-lisp/derived.el (define-derived-mode): Give the mode's map,
 -      and syntax and abbrev tables basic docs, if they don't have any.
 -
 -      * emacs-lisp/easy-mmode.el (easy-mmode-defmap): Add doc-string.
 -
 -      * international/mule-cmds.el (top-level): Require cl when compiling.
 -      (view-hello-file): Use default-value rather than
 -      default-enable-multibyte-characters.
 -
 -      * progmodes/fortran.el: Move all safe and risky properties into the
 -      defcustoms.
 -
 -      * mail/rmailedit.el, mail/rmailkwd.el, mail/rmailmm.el:
 -      * mail/rmailmsc.el, mail/rmailsort.el, mail/rmailsum.el:
 -      * mail/undigest.el:
 -      Put autoloads in rmail.el rather than loaddefs.el.
 -      * mail/rmail.el: Regenerate with extracted autoloads.
 -
 -      * mail/rmailsum.el (rmail-user-mail-address-regexp): Move to rmail.el.
 -      * mail/rmail.el (rmail-user-mail-address-regexp): Move from rmailsum.el.
 -
 -2009-09-10  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      Reported in thread for Bug#4375.
 -      * progmodes/gud.el (gud-tooltip-print-command): Use MI command
 -      "-data-evaluate-expression" instead of print.
 -      * progmodes/gdb-mi.el (gdb-tooltip-print-1): Ditto.
 -      (gdb-tooltip-print): Parse output from above MI command.
 -      (gdb): Revert 2009-08-11 change.  User should detach inferior
 -      manually.
 -
 -      Remove the word "separate" from IO functions as inferior
 -      output is now never displayed in the GUD buffer.
 -
 -2009-09-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * startup.el (command-line-normalize-file-name): On Windows and
 -      MS-DOS, also convert C:\/ and C:\\ (two backslashes) into C:/.
 -
 -2009-09-10  Juri Linkov  <juri@jurta.org>
 -
 -      * isearch.el (isearch-text-char-description): Propertize escape
 -      character sequences with the `escape-glyph' face.  (Bug#4344)
 -
 -      * simple.el (shell-command): Set asynchronous process filter to
 -      `comint-output-filter'.  (Bug#4343)
 -
 -      * progmodes/grep.el (grep-template): Add "<X>" to docstring.
 -      (grep-files-aliases): Add "all".  Move "el" and "ch" to the top of
 -      the list.  Move "asm" to the bottom.
 -      (grep-find-ignored-directories): Add `choice' with nil value
 -      to empty the list easily.
 -      (grep-find-ignored-files): New option.
 -      (grep-files-history): Set to nil by default instead of '("ch" "el").
 -      (grep-compute-defaults): Add "<X>" to `grep-template'.
 -      (grep-read-files): Bind new local variables `default-alias' and
 -      `default-extension'.  Use a list of default values for the file prompt.
 -      (lgrep): Add `--exclude=' command line options composed from
 -      `grep-find-ignored-files'.
 -      (rgrep): Add `-name' command line options composed from
 -      `grep-find-ignored-files'.  (Bug#4301)
 -
 -2009-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * diff-mode.el (diff-hunk-kill): Fix the search of the next hunk
 -      (bug#4368).
 -
 -2009-09-09  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * calendar/time-date.el (autoload):
 -      Expand define-obsolete-function-alias into defalias and make-obsolete
 -      for old Emacsen that Gnus supports.
 -      (with-no-warnings): Define it for old Emacsen.
 -      (time-to-seconds): Don't use (featurep 'xemacs) to check if float-time
 -      is available.
 -      (time-to-number-of-days): Don't use (featurep 'xemacs) to check if
 -      float-time is available; suppress compile warning for time-to-seconds.
 -
 -2009-09-09  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * net/imap.el (imap-message-map): Docstring fix.
 -
 -2009-09-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * ffap.el (ffap-file-at-point): Handle absolute (non-remote) files with
 -      line numbers too.  (Bug#4374)
 -
 -2009-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * smerge-mode.el (smerge-remove-props, smerge-refine):
 -      Use with-silent-modifications (bug#4342).
 -
 -      * subr.el (with-silent-modifications): New macro.
 -
 -2009-09-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * files.el (top-level): Require `cl' when compiling.
 -
 -2009-09-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * files.el (auto-mode-alist): Use delphi-mode for .dpr files.
 -
 -      * proced.el (proced-mode-map): Bind "d" to proced-mark-alt.
 -      (proced-mark-alt): New alias, to control the advertised key.  (Bug#4362)
 -
 -2009-09-06  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * vc-git.el (vc-git-annotate-command): Use separator to parse
 -      arguments correctly.
 -
 -2009-09-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * proced.el (proced-mode): Doc fix.
 -
 -2009-09-06  Julian Scheid  <julians37@gmail.com>  (tiny change)
 -
 -      * net/tramp.el (tramp-perl-file-attributes): Print "nil" when
 -      lstat fails.
 -      (tramp-do-file-attributes-with-ls): Check for file existence at
 -      remote end.
 -      (tramp-do-file-attributes-with-stat): Likewise.
 -      (tramp-convert-file-attributes): Return nil when attr is nil.
 -
 -2009-09-05  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-entry): Add help-echo and follow-link
 -      properties to this button.
 -      (diary-fancy-display): Don't extend the button to the final newline.
 -      (diary-fancy-display-mode): Continue to define "q" as a local key.
 -
 -      * calendar/cal-china.el (holiday-chinese): Make it slightly more
 -      efficient.
 -
 -      * font-lock.el (lisp-font-lock-keywords-2): Add letf.
 -
 -      * emacs-lisp/bytecomp.el (emacs-lisp-file-regexp): Doc fix.
 -      (byte-compile-dest-file-function): New option.
 -      (byte-compile-dest-file): Doc fix.
 -      Obey byte-compile-dest-file-function.
 -      (byte-compile-cl-file-p): New function.
 -      (byte-compile-eval): Only suppress noruntime warnings about cl functions
 -      if the cl-functions warning is enabled.  Use byte-compile-cl-file-p.
 -      (byte-compile-eval): Check for non-nil byte-compile-cl-functions rather
 -      than for file being previously loaded.
 -      (byte-compile-find-cl-functions): Use byte-compile-cl-file-p.
 -      (byte-compile-file-form-require): Handle the case where requiring a file
 -      indirectly causes CL to be loaded.
 -
 -2009-09-05  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * files.el (find-alternate-file): Run `kill-buffer-hook' manually
 -      before killing the old buffer, since by the time `kill-buffer' is
 -      run so many buffer variables have been set to nil that it may not
 -      behave as expected.  (Bug#4061)
 -
 -2009-09-05  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * files.el (find-alternate-file): If the old buffer is modified
 -      and visiting a file, behave similarly to `kill-buffer' when
 -      killing it, thus reverting to the pre-1.878 behavior; see
 -      http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00101.html
 -      for discussion.  Also, consult `buffer-file-name' as a variable
 -      not as a function, for consistency with the rest of the code.
 -
 -2009-09-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Handle "--dired"
 -      also when adding a new directory.
 -
 -      * net/tramp-compat.el (tramp-compat-line-beginning-position):
 -      New defun.
 -
 -2009-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files.el (locate-file-completion-table): Make it provide boundary
 -      information, so partial-completion works better.
 -
 -2009-09-04  Leo  <sdl.web@gmail.com>  (tiny change)
 -
 -      * mail/footnote.el (Footnote-text-under-cursor):
 -      Check footnote-text-marker-alist before using it (bug#4324).
 -
 -2009-09-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * play/5x5.el, play/decipher.el, play/gametree.el, play/handwrite.el:
 -      * play/hanoi.el, play/landmark.el, play/mpuz.el, play/pong.el:
 -      * play/solitaire.el, play/tetris.el:
 -      Remove leading * from defcustom and defface docs.
 -
 -      * calendar/diary-lib.el (diary-fancy-display): Only switch modes if
 -      necessary.
 -      (diary-fancy-overriding-map): New variable.
 -      (diary-fancy-display-mode): Set minor-mode-overriding-map-alist.
 -      Use view-mode.
 -
 -      * vc-rcs.el (vc-rcs-annotate-command): Use forward-line rather than
 -      goto-line.
 -
 -2009-09-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * arc-mode.el (archive-mode):
 -      * dos-fns.el (set-default-process-coding-system):
 -      * man.el (Man-getpage-in-background):
 -      * menu-bar.el (menu-bar-describe-menu):
 -      * server.el (server-process-filter):
 -      * startup.el (command-line):
 -      * tar-mode.el (tar-header-block-tokenize, tar-extract):
 -      * w32-fns.el (set-default-process-coding-system):
 -      * x-dnd.el (x-dnd-handle-file-name):
 -      * international/mule-cmds.el (mule-menu-keymap)
 -      (set-default-coding-systems, language-info-alist, set-language-info)
 -      (set-language-environment, standard-display-european-internal)
 -      (set-locale-environment):
 -      * international/mule-diag.el (mule-diag):
 -      * mail/emacsbug.el (report-emacs-bug):
 -      * mail/rmail.el (rmail-mode):
 -      * mail/sendmail.el (mail-setup):
 -      Use default-value rather than default-enable-multibyte-characters.
 -
 -      * progmodes/f90.el: Move all safe properties into the defcustoms.
 -      (f90-get-correct-indent, f90-indent-region, f90-abbrev-start): Use memq.
 -
 -      * calendar/appt.el (appt-check):
 -      * calendar/diary-lib.el (diary-set-header, diary-live-p)
 -      (diary-check-diary-file, diary-list-entries)
 -      (diary-include-other-diary-files, diary-simple-display)
 -      (diary-fancy-display, diary-print-entries)
 -      (diary-mark-included-diary-files, diary-make-entry):
 -      Don't call substitute-in-file-name on diary-file.
 -
 -2009-09-03  Eduard Wiebe  <usenet@pusto.de>
 -          Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mail/footnote.el (footnote-prefix): Make it a defcustom.
 -      (footnote-mode-map): Move initialization into the declaration.
 -      (footnote-minor-mode-map): Define it rather than changing global-map.
 -      (footnote-mode): Use define-minor-mode.
 -
 -2009-09-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-file-attributes-with-ls)
 -      (tramp-do-file-attributes-with-perl)
 -      (tramp-do-file-attributes-with-stat): Rename from
 -      `tramp-handle-file-attributes-with-*'.
 -      (tramp-handle-file-attributes): Use them.
 -      (tramp-do-directory-files-and-attributes-with-perl)
 -      (tramp-do-directory-files-and-attributes-with-stat): Rename from
 -      `tramp-handle-directory-files-and-attributes-with-*'.
 -      (tramp-handle-directory-files-and-attributes): Use them.
 -      (tramp-method-out-of-band-p): Additional parameter SIZE.
 -      (tramp-do-copy-or-rename-file, tramp-handle-file-local-copy)
 -      (tramp-handle-write-region): Use it.
 -      (tramp-handle-insert-directory): Use "?\ " for compatibility reasons.
 -      (tramp-handle-vc-registered): Check, whether the first run did
 -      return files to be tested.
 -      (tramp-advice-make-auto-save-file-name): Do not call directly
 -      `tramp-handle-make-auto-save-file-name', because this would bypass
 -      the locking mechanism.
 -
 -      * net/tramp-compat.el (top): Autoload used functions from tramp.el.
 -      (file-remote-p, process-file, start-file-process, set-file-times)
 -      (tramp-compat-file-attributes): Compatibility functions shall not
 -      call directly `tramp-handle-*', because this would bypass the
 -      locking mechanism.
 -      (tramp-compat-number-sequence): New defun.
 -
 -2009-09-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/time-date.el (time-to-seconds): In Emacs, make it an obsolete
 -      alias for float-time.
 -      (time-to-number-of-days): In Emacs, use float-time.
 -      * net/newst-backend.el (time-add): Suppress warnings from compat
 -      function.
 -      * time.el (emacs-uptime, emacs-init-time):
 -      * net/rcirc.el (rcirc-keepalive, rcirc-handler-ctcp-KEEPALIVE):
 -      Use float-time rather than time-to-seconds.
 -
 -      * minibuffer.el (completion-initials-expand): Fix typo.
 -
 -      * faces.el (modeline, modeline-inactive, modeline-highlight)
 -      (modeline-buffer-id):
 -      * info.el (info-menu-5): Mark these face aliases as obsolete.
 -
 -2009-09-01  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-current-context-command): Move the
 -      space ...
 -      (gdb-gud-context-call): ... to here for pre GDB 7.0 when there is
 -      no "--thread" option.
 -      (gdb-stopped): Don't print "Switched to thread" message when it is
 -      unchanged.
 -
 -2009-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion-try-completion)
 -      (completion-all-completions): Remove ill-defined (and
 -      mistakenly installed and luckily never used nor documented)
 -      `completion-styles' property.
 -      (completion-initials-expand, completion-initials-all-completions)
 -      (completion-initials-try-completion): New functions.
 -      (completion-styles-alist): Add doc to each entry.
 -      Add new `initials' entry.
 -
 -2009-09-01  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-var-create-handler): Remove redundant
 -      MI command -var-evaluate-expression.
 -      (gdb-var-list-children-regexp): Update from regexp-1 in gdb-ui.el
 -      and tweak for case of string child.
 -      (gdb-var-list-children-handler): Update from handler-1 in gdb-ui.el.
 -
 -2009-09-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * add-log.el (change-log-date-face, change-log-name-face)
 -      (change-log-email-face, change-log-file-face, change-log-list-face)
 -      (change-log-conditionals-face, change-log-function-face)
 -      (change-log-acknowledgement-face):
 -      * cus-edit.el (custom-invalid-face, custom-rogue-face)
 -      (custom-modified-face, custom-set-face, custom-changed-face)
 -      (custom-saved-face, custom-button-face, custom-button-pressed-face)
 -      (custom-documentation-face, custom-state-face, custom-comment-face)
 -      (custom-comment-tag-face, custom-variable-tag-face)
 -      (custom-variable-button-face, custom-face-tag-face)
 -      (custom-group-tag-face-1, custom-group-tag-face):
 -      * diff-mode.el (diff-header-face, diff-file-header-face)
 -      (diff-index-face, diff-hunk-header-face, diff-removed-face)
 -      (diff-added-face, diff-changed-face, diff-function-face)
 -      (diff-context-face, diff-nonexistent-face):
 -      * generic-x.el (show-tabs-tab-face, show-tabs-space-face):
 -      * hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
 -      * info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face)
 -      (Info-title-4-face):
 -      * isearch.el (isearch-lazy-highlight-face):
 -      * log-view.el (log-view-file-face, log-view-message-face):
 -      * paren.el (show-paren-match-face, show-paren-mismatch-face):
 -      * pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face)
 -      (cvs-handled-face, cvs-need-action-face, cvs-marked-face)
 -      (cvs-msg-face):
 -      * smerge-mode.el (smerge-mine-face, smerge-other-face)
 -      (smerge-base-face, smerge-markers-face):
 -      * wid-edit.el (widget-documentation-face, widget-button-face)
 -      (widget-field-face, widget-single-line-field-face)
 -      (widget-inactive-face, widget-button-pressed-face):
 -      * woman.el (woman-italic-face, woman-bold-face, woman-unknown-face)
 -      (woman-addition-face):
 -      * eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face)
 -      (eshell-ls-executable-face, eshell-ls-readonly-face)
 -      (eshell-ls-unreadable-face, eshell-ls-special-face)
 -      (eshell-ls-missing-face, eshell-ls-archive-face)
 -      (eshell-ls-backup-face, eshell-ls-product-face)
 -      (eshell-ls-clutter-face):
 -      * eshell/em-prompt.el (eshell-prompt-face):
 -      * eshell/esh-test.el (eshell-test-ok-face, eshell-test-failed-face):
 -      * obsolete/old-whitespace.el (whitespace-highlight-face):
 -      * progmodes/antlr-mode.el (antlr-font-lock-default-face)
 -      (antlr-font-lock-keyword-face, antlr-font-lock-syntax-face)
 -      (antlr-font-lock-ruledef-face, antlr-font-lock-tokendef-face)
 -      (antlr-font-lock-ruleref-face, antlr-font-lock-tokenref-face)
 -      (antlr-font-lock-literal-face):
 -      * progmodes/ebrowse.el (ebrowse-tree-mark-face)
 -      (ebrowse-root-class-face, ebrowse-file-name-face)
 -      (ebrowse-default-face, ebrowse-member-attribute-face)
 -      (ebrowse-member-class-face, ebrowse-progress-face):
 -      * progmodes/make-mode.el (makefile-space-face):
 -      * progmodes/sh-script.el (sh-heredoc-face):
 -      * textmodes/flyspell.el (flyspell-incorrect-face)
 -      (flyspell-duplicate-face):
 -      * textmodes/tex-mode.el (tex-math-face, tex-verbatim-face):
 -      * textmodes/texinfo.el (texinfo-heading-face):
 -      Mark face aliases with "-face" suffix as obsolete.
 -
 -      * mail/feedmail.el (file-name-buffer-file-type-alist): Define for
 -      compiler.
 -
 -      * net/eudc-bob.el (eudc-bob-generic-menu, eudc-bob-image-menu)
 -      (eudc-bob-sound-menu): Use defvar rather than defconst, since
 -      easy-menu-define wants to modify these.
 -
 -      * net/net-utils.el (nslookup): Use make-comint rather than comint-run.
 -
 -      * net/browse-url.el (browse-url-file-url):
 -      * term/internal.el (dos-codepage-setup):
 -      Use default-value rather than default-enable-multibyte-characters.
 -
 -      * progmodes/etags.el (etags-goto-tag-location):
 -      * progmodes/flymake.el (flymake-highlight-line)
 -      (flymake-goto-file-and-line, flymake-goto-line):
 -      * progmodes/gdb-mi.el (gdb-mouse-until, gdb-mouse-jump)
 -      (gdb-goto-breakpoint):
 -      * progmodes/idlw-shell.el (idlwave-shell-move-to-bp):
 -      * progmodes/python.el (python-find-function)
 -      (python-pdbtrack-track-stack-file):
 -      * progmodes/verilog-mode.el (verilog-surelint-off):
 -      * term/ns-win.el (ns-open-file-select-line):
 -      * textmodes/bibtex.el (bibtex-validate, bibtex-validate-globally):
 -      Use forward-line rather than goto-line.
 -
 -      * textmodes/reftex-cite.el (reftex-offer-bib-menu):
 -      * textmodes/reftex-index.el (reftex-display-index):
 -      * textmodes/reftex-ref.el (reftex-offer-label-menu):
 -      * textmodes/reftex-toc.el (reftex-toc):
 -      Remove unnecessary bindings of default-major-mode (all are followed by
 -      major-mode check and possible mode switch).
 -
 -2009-08-31  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-breakpoints-list-handler-custom):
 -      Handle watchpoints (bug#4282).
 -      (def-gdb-thread-buffer-command): Enable thread to be selected by
 -      clicking without selecting threads buffer first.
 -      (gdb-current-context-command): Use selected frame so that "up",
 -      "down" etc work in the GUD buffer.
 -      (gdb-update): Find selected frame before rendering stack buffer.
 -      (gdb-frame-handler): Set gdb-frame-number for stack buffer.
 -
 -2009-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/sym-comp.el (displayed-completions): Remove.
 -      (symbol-complete): Use minibuffer-complete.
 -
 -2009-08-31  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/byte-run.el (define-obsolete-face-alias): New macro.
 -
 -      * apropos.el (apropos-symbols-internal):
 -      Handle (obsolete) face aliases.
 -
 -      * faces.el (describe-face): Adjust the output format to be more like
 -      describe-variable, and to mention (obsolete) face aliases.
 -      Adjust the whitespace so that help-setup-xref works.
 -
 -      * calendar/calendar.el (calendar-today-face, diary-face, holiday-face):
 -      * calendar/diary-lib.el (diary-button-face):
 -      Mark these face aliases as obsolete.
 -
 -      * calendar/calendar.el (calendar-today): Doc fix.
 -
 -2009-08-31  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-control-all-threads)
 -      (gdb-control-current-thread): Force tool bar update.
 -      (gdb-non-stop-handler): New function.
 -      (gdb-init-1): Use it to test if non-stop mode is supported.
 -      Remove unused gdbmi buffer type.
 -
 -2009-08-30  Kevin Rodgers  <kevin.d.rodgers@gmail.com>
 -
 -      * progmodes/grep.el (grep-read-files): Strip trailing <N> from
 -      buffer names not visiting a file (e.g. cloned buffers).  (Bug#4210)
 -
 -2009-08-30  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * comint.el (comint-exec-1): Check command is non-null first.
 -      Part of gdb-mi.el change (2009-08-28).
 -
 -2009-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/lisp.el (lisp-complete-symbol): Use minibuffer-complete.
 -
 -2009-08-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * subr.el (do-after-load-evaluation): Fix last change: use `mapc'
 -      instead of `dolist' to avoid a recursive require when bootstrapping.
 -
 -2009-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/lisp.el (field-complete): Use minibuffer-complete.
 -
 -      * net/ldap.el (ldap-search-internal): Use with-current-buffer and push.
 -
 -      * net/imap.el (imap-send-command): Simplify.
 -      (imap-wait-for-tag): point-max -> buffer-size.
 -
 -      * net/ange-ftp.el (internal-ange-ftp-mode): Use define-derived-mode.
 -
 -      * emacs-lisp/easy-mmode.el (define-minor-mode): Don't use symbol-value
 -      with constant argument.
 -
 -      * emacs-lisp/debug.el (debugger-setup-buffer): Make it multibyte.
 -
 -      * emacs-lisp/cl.el (cl-macro-environment): Don't define it here.
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-force-history-flag):
 -      Change default, since most of our files don't have a history.
 -      (checkdoc-display-status-buffer): Don't use a hidden buffer to show to
 -      the user.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
 -      Add comint-run.
 -
 -      * calc/calc.el: Improve commenting convention.
 -      (calc-digit-map, toplevel): Simplify.
 -
 -      * comint.el (comint-insert-input): Be careful to only set point if we
 -      don't delegate to some other command.
 -
 -      * proced.el (proced-signal-list): Make it an alist.
 -      (proced-grammar-alist): Capitalize names.
 -      (proced-send-signal): Use a non-hidden buffer (since it's displayed).
 -      Disable undo manually and make it read-only.
 -      Use completion-annotate-function.
 -
 -      * minibuffer.el (minibuffer-message): If the current buffer is not
 -      a minibuffer, insert the message in the echo area rather than at the
 -      end of the buffer.
 -      (completion-annotate-function): New variable.
 -      (minibuffer-completion-help): Use it.
 -      (completion--embedded-envvar-table): Environment vars are
 -      always case-sensitive.
 -
 -2009-08-30  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/fortran.el (fortran-start-prog-re): New constant, extracted
 -      from fortran-current-defun.
 -      (fortran-beginning-of-subprogram): Be more precise about finding the
 -      start, to avoid an infinite loop in end-of-defun.  (Bug#4259)
 -      (fortran-end-of-subprogram): Simplify.
 -      (fortran-current-defun): Use fortran-start-prog-re.
 -
 -2009-08-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * subr.el (do-after-load-evaluation): Simplify.
 -
 -2009-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-print-log-internal): Move RCS/CVS specific code ...
 -
 -      * vc-rcs.el (vc-rcs-print-log-cleanup): ... here.  New function.
 -      (vc-rcs-print-log): Use it.
 -
 -      * vc-cvs.el (vc-cvs-print-log): Use vc-rcs-print-log-cleanup.
 -
 -2009-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * paths.el (abbrev-file-name): Move to abbrev.el.
 -      * abbrev.el (abbrev-file-name): Move from paths.el.
 -      Obey user-emacs-directory.
 -      * calc/calc.el (calc-settings-file): Don't autoload and instead obey
 -      user-emacs-directory.
 -      * dos-fns.el (dos-reevaluate-defcustoms): Don't reevaluate
 -      abbrev-file-name and calc-settings-file any more.
 -      * startup.el (command-line): Recompute abbrev-file-name and
 -      abbreviated-home-dir.
 -      (normal-no-mouse-startup-screen): Improve the generic code and get rid
 -      of the special code for when C-h bindings haven't been changed.
 -      (display-startup-echo-area-message): Use with-current-buffer.
 -      (command-line-1): Use a list of strings, rather than a list of lists
 -      of strings for longopts.
 -
 -      * files.el (get-free-disk-space): Use / for default-directory.
 -
 -      * textmodes/ispell.el (ispell-accept-output, ispell-command-loop):
 -      Use with-current-buffer.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-const-symbol-p):
 -      Recognize immutable variables like most-positive-fixnum.
 -      (byte-compile-setq-default): Check and warn if trying to assign
 -      to an immutable variable, or a non-variable.
 -
 -      * progmodes/cc-vars.el (c-comment-continuation-stars):
 -      * progmodes/cc-engine.el (c-looking-at-bos):
 -      * progmodes/cc-cmds.el (c-toggle-auto-state)
 -      (c-forward-into-nomenclature, c-backward-into-nomenclature)
 -      (c-comment-line-break-function): Add version of obsolescence.
 -
 -2009-08-28  Juri Linkov  <juri@jurta.org>
 -
 -      * files.el (magic-fallback-mode-alist): Add ZIP magic number
 -      associated with `archive-mode'.
 -
 -      * image.el (image-type-header-regexps): Use only JPEG magic number
 -      to determine JPEG images, and don't use `image-jpeg-p' because
 -      Emacs can display non-JFIF non-Exif JPEG images.
 -
 -2009-08-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * arc-mode.el (archive-mode):
 -      * emacs-lisp/re-builder.el (re-builder-unload-function):
 -      Protect against the default value of `major-mode' being nil.
 -
 -2009-08-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * international/ucs-normalize.el (ucs-normalize-sort, quick-check-list):
 -      Fix typos in docstrings.
 -
 -      * progmodes/js.el (js--macro-decl-re): Doc fix.
 -      (js--plain-method-re, js--split-name): Refloc docstring.
 -      (js--class-styles, js--make-merged-item, js--splice-into-items):
 -      Fix typos in docstrings; reflow docstrings.
 -      (js--maybe-join, js--function-prologue-beginning, js--flush-caches)
 -      (js--variable-decl-matcher, js--inside-pitem-p)
 -      (js--parse-state-at-point, js--get-all-known-symbols)
 -      (js--symbol-history, js-find-symbol, js--js-references)
 -      (js--moz-interactor, js--js-encode-value, js--read-tab):
 -      Fix typos in docstrings.
 -
 -2009-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/reftex.el (reftex-get-file-buffer-force):
 -      * progmodes/verilog-mode.el (verilog-batch-execute-func):
 -      * emulation/viper.el (viper-go-away, viper-set-hooks):
 -      * emacs-lisp/re-builder.el (re-builder-unload-function):
 -      * emacs-lisp/bytecomp.el (byte-compile-file):
 -      * ses.el (ses-unload-function):
 -      * hexl.el (hexl-find-file):
 -      * files.el (normal-mode):
 -      * ehelp.el (with-electric-help):
 -      * autoinsert.el (auto-insert-alist):
 -      * arc-mode.el (archive-mode):
 -      Use (default-value 'major-mode) instead of default-major-mode.
 -
 -      * textmodes/ispell.el (ispell-check-version, ispell-send-string):
 -      * international/mule.el (load-with-code-conversion):
 -      * emacs-lisp/debug.el (debug):
 -      * ediff-vers.el (ediff-rcs-get-output-buffer):
 -      * dired.el (dired-internal-noselect): Don't let-bind
 -      default-major-mode around code that doesn't use it.
 -      E.g. buffer creation via get-buffer-create doesn't use it.
 -
 -2009-08-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (all): Replace "'(lambda" by "(lambda".
 -      (tramp-handle-file-local-copy): Unset `file-name-handler-alist'
 -      when writing the temp file.  Otherwise, epa-file gets confused.
 -      (tramp-register-file-name-handlers): Make it a defun.  Move also
 -      `epa-file-handler' to the front of `file-name-handler-alist'.
 -
 -2009-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * net/tramp.el (tramp-shell-prompt-pattern): Allow a prompt to
 -      start right after a ^M.
 -      (tramp-root-regexp, tramp-completion-file-name-regexp-unified)
 -      (tramp-completion-file-name-regexp-separate)
 -      (tramp-completion-file-name-regexp-url): Use \\` and \\'.
 -      (tramp-handle-file-attributes, tramp-set-file-uid-gid):
 -      Don't modify last-coding-system-used by accident.
 -      (tramp-completion-file-name-handler): Apply the checks here,
 -      instead during registration.
 -      (tramp-register-file-name-handlers): Rename from
 -      `tramp-register-file-name-handler'.  Register both
 -      `tramp-file-name-handler' and `tramp-completion-file-name-handler'.
 -      (tramp-register-completion-file-name-handler): Remove.  (Bug#4260)
 -
 -2009-08-28  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-use-separate-io-buffer):
 -      Remove variable ...
 -      (gdb-init-1, gdb-display-separate-io-buffer)
 -      (gdb-frame-separate-io-buffer, gdb-setup-windows): ... and
 -      references to it.
 -      (gdb-inferior-io-mode): Use make-comint-in-buffer.
 -      (gdb-inferior-filter): Use comint-output-filter to stop
 -      echoing and remove ^M characters.
 -
 -2009-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emulation/viper-init.el (viper-restore-cursor-type):
 -      * emulation/cua-base.el (cua--update-indications):
 -      Replace default-cursor-type with (default-value 'cursor-type).
 -
 -      * mail/sendmail.el (mail-recover-1):
 -      * international/mule-diag.el (describe-current-coding-system-briefly)
 -      (describe-current-coding-system):
 -      * international/mule-cmds.el (select-safe-coding-system)
 -      (select-message-coding-system)
 -      (set-language-environment-coding-systems, set-locale-environment):
 -      * hexl.el (hexl-insert-multibyte-char):
 -      * dos-w32.el (find-buffer-file-type-coding-system):
 -      * simple.el (what-cursor-position):
 -      Replace uses of default-buffer-file-coding-system
 -      with (default-value 'buffer-file-coding-system).
 -
 -      * emacs-lisp/edebug.el (edebug-display, edebug-outside-excursion):
 -      Replace uses of default-cursor-in-non-selected-windows
 -      with (default-value 'cursor-in-non-selected-windows).
 -      Use with-current-buffer.
 -
 -      * mail/feedmail.el: Use CL macros.
 -      (feedmail-run-the-queue, feedmail-send-it-immediately):
 -      * dos-w32.el (find-buffer-file-type): Replace uses of
 -      default-buffer-file-type with (default-value 'buffer-file-type).
 -
 -2009-08-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-list-entries, diary-goto-entry)
 -      (diary-show-all-entries, diary-mark-entries, diary-make-entry):
 -      Use default-value of major-mode rather than default-major-mode.
 -
 -2009-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (update-elcfiles): Report left over elc files.
 -
 -      * mail/mailalias.el (build-mail-aliases): Use with-temp-buffer,
 -      expand-file-name and with-current-buffer.
 -      (mail-get-names, mail-directory): Use with-current-buffer.
 -
 -      * vc.el (vc-read-revision): New function.
 -      (vc-version-diff, vc-merge): Use it.
 -
 -2009-08-27  Sam Steingold  <sds@gnu.org>
 -
 -      * simple.el (kill-do-not-save-duplicates): New user option.
 -      (kill-new): When it is non-nil, and the new string is the same as
 -      the latest kill, set replace to t to avoid duplicates in kill-ring.
 -
 -2009-08-27  Julian Scheid  <julians37@gmail.com>  (tiny change)
 -
 -      * net/tramp.el (tramp-handle-process-file): Do not flush all
 -      caches when `process-file-side-effects' is set.
 -      (tramp-handle-vc-registered): Use `tramp-get-file-exists-command'
 -      instead of `tramp-find-file-exists-command'.
 -      Unset `process-file-side-effects'.
 -
 -2009-08-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-methods): New method "rsyncc".
 -      (top): Add completion function for "rsyncc".
 -      (tramp-message-show-message): New defvar.
 -      (tramp-message, tramp-error): Use it.
 -      (tramp-do-copy-or-rename-file-directly): Extend check for direct
 -      remote copying.
 -      (tramp-do-copy-or-rename-file-out-of-band): Handle new
 -      `tramp-methods' entry `copy-env' of "rsyncc".
 -      (tramp-vc-registered-read-file-names): New defconst.
 -      (tramp-vc-registered-file-names): New defvar.
 -      (tramp-handle-vc-registered): Implement optimization strategy.
 -      (tramp-run-real-handler): Add `tramp-vc-file-name-handler'.
 -      (tramp-vc-file-name-handler): New defun.
 -      (tramp-get-ls-command, tramp-get-test-command)
 -      (tramp-get-file-exists-command, tramp-get-remote-ln)
 -      (tramp-get-remote-perl, tramp-get-remote-stat)
 -      (tramp-get-remote-id): Remove superfluous `with-current-buffer'.
 -
 -      * net/tramp-cache.el (top): Autoload `tramp-time-less-p'.
 -      (tramp-cache-inhibit-cache): Extend doc string.  It allows also
 -      timestamps.
 -      (tramp-get-file-property): Check for timestamps in
 -      `tramp-cache-inhibit-cache'.
 -      (tramp-set-file-property): Write timestamp.
 -
 -2009-08-27  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
 -
 -      * language/japan-util.el (japanese-symbol-table): Add entries for
 -      cp932-2-byte.
 -
 -      * international/characters.el: Add category `j' to cp932-2-byte.
 -
 -2009-08-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/fontset.el (build-default-fontset-data): New macro.
 -      (setup-default-fontset): Use build-default-fontset-data for CJK,
 -      tibetan, ethiopic, and ipa.
 -
 -2009-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * cus-start.el (default-major-mode): Customize `major-mode' instead.
 -      (enable-multibyte-characters): Not customizable any more.
 -
 -      * subr.el (default-mode-line-format, default-header-line-format)
 -      (default-line-spacing, default-abbrev-mode, default-ctl-arrow)
 -      (default-direction-reversed, default-truncate-lines)
 -      (default-left-margin, default-tab-width, default-case-fold-search)
 -      (default-left-margin-width, default-right-margin-width)
 -      (default-left-fringe-width, default-right-fringe-width)
 -      (default-fringes-outside-margins, default-scroll-bar-width)
 -      (default-vertical-scroll-bar, default-indicate-empty-lines)
 -      (default-indicate-buffer-boundaries, default-fringe-indicator-alist)
 -      (default-fringe-cursor-alist, default-scroll-up-aggressively)
 -      (default-scroll-down-aggressively, default-fill-column)
 -      (default-cursor-type, default-buffer-file-type)
 -      (default-cursor-in-non-selected-windows)
 -      (default-buffer-file-coding-system, default-major-mode)
 -      (default-enable-multibyte-characters): Mark as obsolete.
 -
 -2009-08-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dir.el (vc-dir-update): Remove debug helper.
 -
 -      * vc-cvs.el (vc-cvs-update-changelog): Fix typo.
 -
 -2009-08-26  Sam Steingold  <sds@gnu.org>
 -
 -      * simple.el (save-interprogram-paste-before-kill): New user option.
 -      (kill-new): When `save-interprogram-paste-before-kill' is non-nil,
 -      save the interprogram-paste into kill-ring before overriding it
 -      with the Emacs kill.
 -
 -2009-08-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-trunk-p): Rename to vc-rcs-trunk-p and move to vc-rcs.el.
 -      (vc-minor-part): Rename to vc-rcs-minor-part and move to vc-rcs.el.
 -      (vc-default-previous-revision): Rename to vc-rcs-previous-revision
 -      and move to vc-rcs.el.
 -      (vc-default-next-revision): Rename to vc-rcs-next-revision and
 -      move to vc-rcs.el.
 -      (vc-cvs-update-changelog): Move to vc-cvs.el, use vc-call-backend.
 -      (vc-rcs-update-changelog): Remove.
 -      (vc-update-changelog-rcs2log): Rename to vc-rcs-update-changelog
 -      and move to vc-rcs.el.
 -
 -      * vc-rcs.el (vc-rcs-latest-on-branch-p, vc-rcs-checkin)
 -      (vc-rcs-checkout, vc-rcs-rollback): Adjust for the vc-rcs-trunk-p
 -      renaming.
 -      (vc-rcs-trunk-p, vc-rcs-minor-part, vc-rcs-previous-revision)
 -      (vc-rcs-next-revision, vc-rcs-update-changelog): Move here from
 -      vc.el, renamed to be RCS specific.
 -
 -      * vc-cvs.el (vc-cvs-previous-revision, vc-cvs-next-revision):
 -      New functions.
 -      (vc-cvs-update-changelog): Move here from vc.el.
 -
 -      * vc-sccs.el (vc-sccs-previous-revision, vc-sccs-next-revision):
 -      New functions.
 -
 -2009-08-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-lapcode): Fix up last change.
 -
 -2009-08-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-register): Use "git add" for directories.
 -      (vc-git-stash, vc-git-stash-show): New functions.
 -      (vc-git-extra-menu-map): Bind them.
 -
 -      * vc-dir.el (vc-dir-node-directory, vc-dir-update): Get the parent
 -      directory correctly in case the item is a directory itself.
 -
 -      * vc.el: Document the desired behavior for reverted files in the
 -      `added' state.
 -      (vc-default-prettify-state-info): Remove function, unused.
 -
 -      * vc-bzr.el (vc-bzr-prettify-state-info): Remove function, unused.
 -
 -2009-08-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * bindings.el (standard-mode-line-format): Reposition dashes in
 -      which-func entry.  (Bug#4217)
 -
 -      * files.el (enable-local-variables, enable-local-eval)
 -      (safe-local-variable-values, safe-local-eval-forms): Mark as risky in
 -      the defcustoms.
 -      (auto-mode-alist, ignored-local-variables)
 -      (save-some-buffers-action-alist): Move risky declarations to the
 -      definitions.
 -      (dabbrev-case-fold-search, dabbrev-case-replace, display-time-string)
 -      (font-lock-defaults, format-alist, imenu--index-alist)
 -      (imenu-generic-expression, input-method-alist, minor-mode-alist)
 -      (mode-line-buffer-identification, mode-line-client, mode-line-modes)
 -      (mode-line-modified, mode-line-mule-info, mode-line-position)
 -      (mode-line-process, mode-line-remote, outline-level)
 -      (parse-time-rules, rmail-output-file-alist)
 -      (special-display-buffer-names, vc-mode):
 -      Move risky declarations to the relevant files.
 -      * bindings.el (mode-line-client, mode-line-mule-info, mode-line-remote)
 -      (mode-line-modified, mode-line-process, mode-line-position)
 -      (mode-line-modes, mode-line-buffer-identification, minor-mode-alist)
 -      * font-core.el (font-lock-defaults):
 -      * format.el (format-alist):
 -      * vc-hooks.el (vc-mode):
 -      * window.el (special-display-buffer-names):
 -      * international/mule-cmds.el (input-method-alist):
 -      Define riskiness here (dumped file) rather than in files.el.
 -      * dabbrev.el (dabbrev-case-fold-search, dabbrev-case-replace):
 -      * imenu.el (imenu-generic-expression, imenu--index-alist):
 -      * outline.el (outline-level):
 -      * time.el (display-time-string):
 -      * calendar/parse-time.el (parse-time-rules):
 -      * mail/rmailout.el (rmail-output-file-alist):
 -      Autoload riskiness here, rather than placing in files.el.
 -
 -2009-08-26  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-lapcode): Signal overflow.
 -
 -2009-08-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * simple.el (process-file-side-effects): New defvar.
 -
 -      * dired-aux.el (dired-show-file-type):
 -      * vc.el (vc-diff-internal):
 -      * vc-arch.el (vc-arch-diff):
 -      * vc-bzr.el (vc-bzr-sha1, vc-bzr-revision-completion-table):
 -      * vc-cvs.el (vc-cvs-state, vc-cvs-diff, vc-cvs-revision-table):
 -      * vc-git.el (vc-git-registered, vc-git-working-revision)
 -      (vc-git-find-revision, vc-git-diff, vc-git-revision-table)
 -      (vc-git--empty-db-p):
 -      * vc-hooks.el (vc-user-login-name):
 -      * vc-svn.el (vc-svn-registered, vc-svn-state)
 -      (vc-svn-dir-extra-headers, vc-svn-find-revision):
 -      * progmodes/grep.el (grep-probe): Let-bind
 -      `process-file-side-effects' with nil.
 -
 -      * net/dbus.el (dbus-ping): Add optional parameter TIMEOUT.
 -
 -      * net/tramp-gvfs.el (top): Use timeout of 100 msec pinging GVFS
 -      daemon.  Replace ping by checking for running service for bluez
 -      and zeroconf.  (Bug#4239)
 -
 -2009-08-25  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/dig.el (dig): Add autoload cookie.
 -
 -2009-08-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-eval): Fix test for cl in
 -      load-history for absolute file-names.
 -      (byte-compile-file-form-require): Warn about use of the cl package.
 -
 -      * format.el (format-alist): Doc fix.
 -
 -      * play/bubbles.el (top-level): Don't require cl at run-time.
 -
 -      * progmodes/verilog-mode.el (top-level): Don't require lucid (and hence
 -      run-time cl).
 -
 -2009-08-24  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-mapcar*): Replacement for `mapcar*'
 -      from cl package.
 -      (gdb-table-add-row, gdb-table-string): Use `gdb-mapcar*'.
 -
 -2009-08-24  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-alg.el (math-trig-rewrite)
 -      (math-hyperbolic-trig-rewrite): New functions.
 -      (calc-simplify): Simplify trig functions when asked.
 -
 -2009-08-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * diff-mode.el (diff-find-source-location): Avoid goto-line.
 -
 -2009-08-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/ind-util.el (mapthread): Delete it.
 -      (combinatorial): New function.
 -      (indian--puthash-cv): Use combinatorial instead of mapthread.
 -
 -2009-08-22  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-force-history-flag)
 -      (checkdoc-arguments-in-order-flag): Add safe-local-variable booleanp.
 -      (checkdoc-symbol-words): Add safe-local-variable for list of strings.
 -      Clarify docstring that the value is strings not symbols.
 -      (checkdoc-list-of-strings-p): New function.
 -
 -2009-08-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * files.el (auto-mode-alist):
 -      * hippie-exp.el (he-concat-directory-file-name):
 -      * lpr.el (lpr-windows-system, printer-name):
 -      * ls-lisp.el (ls-lisp-emulation, ls-lisp-use-insert-directory-program):
 -      * ps-print.el (ps-windows-system):
 -      * startup.el (command-line):
 -      * emulation/viper-ex.el (viper-glob-function):
 -      * international/mule-cmds.el (set-language-environment-coding-systems):
 -      * net/ange-ftp.el (ange-ftp-write-region):
 -      * obsolete/fast-lock.el (fast-lock-cache-name):
 -      Remove code for defunct system-types emx, macos, mswindows, next-mach,
 -      unisoft-unix, vax-vms, win32, w32.
 -
 -      * calendar/diary-lib.el (diary-mark-entries-1): Only mark all days of a
 -      given name if the pattern is not more specific.
 -
 -      * calendar/lunar.el (lunar-phase-names): New option.
 -      (lunar-phase): Doc fix.
 -      (lunar-cycles-per-year): New constant.
 -      (lunar-index): New function.
 -      (lunar-phase-list, diary-lunar-phases): Use lunar-index.
 -      (lunar-phase-name): Use lunar-phase-names.
 -      (calendar-lunar-phases): Use format.
 -      (lunar-new-moon-on-or-after): Use lunar-cycles-per-year.
 -
 -      * progmodes/cperl-mode.el (cperl-imenu-name-and-position):
 -      Copy imenu-example--name-and-position function here for own use.
 -      (cperl-xsub-scan): Use cperl-imenu-name-and-position.
 -
 -      * bs.el (bs--redisplay):
 -      * cus-edit.el (custom-redraw):
 -      * ibuffer.el (ibuffer-bury-buffer):
 -      * server.el (server-goto-line-column):
 -      * startup.el (command-line-1):
 -      * strokes.el (strokes-xpm-for-stroke):
 -      * term.el (term-display-buffer-line):
 -      * view.el (View-goto-line):
 -      * calc/calc.el (calc-do, calc-trail-buffer):
 -      * play/gamegrid.el (gamegrid-add-score-insecure):
 -      * progmodes/ada-mode.el (ada-compile-goto-error):
 -      * progmodes/ada-xref.el (ada-xref-find-in-modified-ali):
 -      (ebrowse-select-1st-to-9nth):
 -      * progmodes/cperl-mode.el (cperl-time-fontification):
 -      * progmodes/ebrowse.el (ebrowse-toggle-file-name-display)
 -      * progmodes/gud.el (gud-display-line):
 -      (idlwave-shell-display-line):
 -      * progmodes/idlw-shell.el (idlwave-shell-goto-frame)
 -      * progmodes/make-mode.el (makefile-browser-toggle):
 -      (vhdl-speedbar-port-copy, vhdl-compose-components-package):
 -      * progmodes/vhdl-mode.el (vhdl-speedbar-find-file)
 -      * textmodes/picture.el (picture-draw-rectangle):
 -      * textmodes/reftex-index.el (reftex-index-goto-letter):
 -      (reftex-select-jump-to-previous):
 -      * textmodes/reftex-sel.el (reftex-find-start-point)
 -      * textmodes/reftex-toc.el (reftex-toc, reftex-toc-restore-region):
 -      (rst-straighten-deco-spacing, rst-section-tree, rst-toc):
 -      * textmodes/rst.el (rst-promote-region, rst-straighten-decorations)
 -      * textmodes/tex-mode.el (tex-compilation-parse-errors):
 -      * textmodes/two-column.el (2C-associated-buffer):
 -      Use forward-line rather than goto-line.
 -
 -      * emulation/vi.el (vi-goto-line): Don't warn about non-interactive
 -      goto-line.
 -
 -      * international/ucs-normalize.el (nfd, decomposition-translation-alist)
 -      (decomposition-char-recursively, alist-list-to-vector, quick-check-list)
 -      (quick-check-list-to-regexp): Declare.
 -
 -      * progmodes/make-mode.el (makefile-browser-insert-selection):
 -      Use goto-char rather than goto-line.
 -
 -      * progmodes/prolog.el (compilation-error-regexp-alist)
 -      (compilation-forget-errors): Declare.
 -
 -2009-08-22  Juri Linkov  <juri@jurta.org>
 -
 -      * progmodes/grep.el (lgrep, rgrep): At the beginning
 -      set `dir' to `default-directory' unless `dir' is a non-nil
 -      readable directory.  (Bug#4052)
 -      (lgrep, rgrep): Change a weird way to report an error
 -      from using `read-string' to using `error'.
 -      Instead of using interactive arguments in the function body,
 -      add new argument `confirm'.
 -
 -2009-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/remember.el (remember-buffer):
 -      * progmodes/cperl-mode.el (cperl-vc-header-alist):
 -      * calendar/icalendar.el (icalendar-convert-diary-to-ical)
 -      (icalendar-extract-ical-from-buffer):
 -      * net/newst-treeview.el (newsticker-groups-filename):
 -      * net/newst-backend.el (newsticker-cache-filename):
 -      * speedbar.el (speedbar-update-speed, speedbar-navigating-speed)
 -      (speedbar-ignored-path-expressions, speedbar-ignored-path-regexp)
 -      (speedbar-add-ignored-path-regexp, speedbar-line-path)
 -      (speedbar-buffers-line-path, speedbar-path-line)
 -      (speedbar-buffers-line-path):
 -      * epg.el (epg-passphrase-callback-function, epg-start-sign-keys)
 -      (epg-sign-keys):
 -      * epa.el (epa-display-verify-result):
 -      * progmodes/pascal.el (pascal-outline): Add version of obsolescence.
 -
 -2009-08-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/js.el (inferior-moz-process): Fix declaration.
 -
 -      * imenu.el (imenu-example--name-and-position): Fix obsolescence message.
 -
 -      * obsolete/rnewspost.el (news-mail-reply):
 -      Use goto-char rather than goto-line.
 -
 -      * term/ns-win.el (ns-open-file-select-line):
 -      Use line-beginning-position rather than goto-line.
 -
 -      * apropos.el (apropos-command):
 -      * ehelp.el (electric-helpify):
 -      * printing.el (pr-show-setup):
 -      * strokes.el (strokes-help):
 -      * tutorial.el (tutorial--describe-nonstandard-key)
 -      (tutorial--detailed-help):
 -      * woman.el (woman-mini-help, woman-display-extended-fonts):
 -      * calc/calc-help.el (calc-describe-key):
 -      * emulation/edt.el (edt-electric-helpify):
 -      * international/mule-diag.el (mule-diag):
 -      * play/yow.el (apropos-zippy):
 -      * progmodes/python.el (python-describe-symbol):
 -      * progmodes/vhdl-mode.el (vhdl-doc-variable, vhdl-doc-mode):
 -      * textmodes/table.el (*table--cell-describe-mode)
 -      (*table--cell-describe-bindings):
 -      Use help-print-return-message rather than the now obsolete alias.
 -
 -      * calendar/cal-move.el (calendar-cursor-to-nearest-date)
 -      (calendar-cursor-to-visible-date):
 -      * play/5x5.el (5x5-position-cursor):
 -      * play/decipher.el (decipher):
 -      * play/gomoku.el (gomoku-goto-xy):
 -      * play/landmark.el (lm-goto-xy):
 -      * play/mpuz.el (mpuz-paint-errors, mpuz-paint-statistics)
 -      (mpuz-paint-digit):
 -      Use forward-line, not goto-line.
 -
 -      * mail/rmail.el (rmail-obsolete): Delete custom group.
 -      (rmail-pop-password, rmail-pop-password-required): Make into aliases.
 -      (rmail-remote-password, rmail-remote-password-required):
 -      Remove unneeded :set-after and :set properties.
 -
 -2009-08-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (top): Initialize only when `dbusbind' is loaded.
 -
 -2009-08-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * loadup.el: Remove leftover macos code.
 -
 -      * vc-git.el (vc-git-annotate-command): Run asynchronously.
 -      Explicitly pass the date format to git blame so that user local
 -      so that the output format can be parsed.
 -
 -2009-08-20  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (top): Don't check for (getenv
 -      "DBUS_SESSION_BUS_ADDRESS").  It's done in dbusbind.c now.
 -
 -2009-08-19  Magnus Henoch  <magnus.henoch@gmail.com>
 -
 -      * log-edit.el (log-edit-strip-single-file-name): New var.
 -      (log-edit-insert-changelog): Use it.  Bug#3571
 -
 -2009-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-passwd): Use read-key so keypad keys work as well.
 -      Bug#3287
 -
 -      * help.el (help-print-return-message): Rename from
 -      print-help-return-message.
 -
 -      * log-view.el (log-view-mode-map): Remove `q' binding, and unreliable
 -      cvs-mode-map parent hack.
 -      (log-view-mode): Derive from special-mode.
 -
 -      * linum.el (linum-mode): window-size-change-functions is redundant.
 -      Adapt to new window-configuration-change-hook behavior.
 -      (linum-after-size, linum-after-config): Remove.
 -
 -      * imenu.el (imenu-example--name-and-position)
 -      (imenu-example--lisp-extract-index-name)
 -      (imenu-example--create-lisp-index, imenu-example--create-c-index):
 -      Mark as obsolete.
 -
 -      * progmodes/prolog.el (inferior-prolog-error-regexp-alist): New var.
 -      (inferior-prolog-mode): Use it.
 -      (inferior-prolog-load-file): Reset list of errors.
 -
 -2009-08-19  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
 -
 -      * language/tibetan.el ("Tibetan"): Fix sample-text entry.
 -
 -      * language/tai-viet.el ("TaiViet"): Fix sample-text entry.
 -
 -2009-08-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (top): Apply `dbus-init-bus' only if the session bus
 -      is running already.
 -
 -2009-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (listify-key-sequence-1): Use normal syntax since those
 -      integers are nowadays always represented by the same (positive) number
 -      on all platforms.
 -      (read-key-empty-map): New const.
 -      (read-key-delay): New var.
 -      (read-key): New function.
 -      (force-mode-line-update): Use with-current-buffer.
 -      (locate-user-emacs-file): Don't forget to abbreviate the file name.
 -      (start-process-shell-command, start-file-process-shell-command):
 -      Discourage the use of command-args.
 -
 -2009-08-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/authors.el (authors-fixed-entries): Remove cvtmail.
 -
 -2009-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (choose-completion-string): Don't rely on
 -      minibuffer-completing-file-name and ad-hoc checks to decide whether
 -      to continue completion or not.
 -
 -      * minibuffer.el (minibuffer-hide-completions): New function.
 -      (completion--do-completion): Use it.
 -      (completions-annotations): New face.
 -      (completion--insert-strings): Use it.
 -      (completion-pcm--delim-wild-regex): Add docstring.
 -      (completion-pcm--string->pattern): Add support for 0-width delimiters
 -      in completion-pcm--delim-wild-regex.
 -
 -2009-08-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * international/ucs-normalize.el (ucs-normalize-hfs-nfd-post-read-conversion):
 -      Remove unused var `buffer-modified-p'.
 -
 -      * minibuffer.el (completion--do-completion): Move point for the #b001
 -      case as well (bug#4176).
 -      (minibuffer-complete, minibuffer-complete-word): Don't move point.
 -
 -2009-08-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-init-bus): Declare.  Apply it for the :system
 -      and :session buses.
 -
 -2009-08-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/ucs-normalize.el (ucs-normalize-version):
 -      Change to 1.1.
 -      (ucs-normalize-hfs-nfd-pre-write-conversion): New function.
 -      (utf-8-hfs): Make it perform normalization on encoding too.
 -
 -      * textmodes/paragraphs.el: Change to utf-8.  Adjust coding cookie.
 -      (sentence-end-without-space): Delete duplicated chars.
 -      (sentence-end-base): Likewise.
 -
 -      * textmodes/sgml-mode.el: Change to utf-8.  Adjust coding cookie.
 -      (html-mode): Delete duplicated chars from sentence-end-base.
 -
 -      * textmodes/texinfo.el: Change to utf-8.  Adjust coding cookie.
 -      (texinfo-mode): Delete duplicated chars from sentence-end-base.
 -
 -2009-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (hack-one-local-variable): If the mode function is for
 -      a minor mode, pass it an argument (Bug#4148).
 -
 -2009-08-17  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-register-completion-file-name-handler):
 -      Check also for (member 'partial-completion completion-styles).
 -
 -2009-08-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cperl-mode.el (cperl-electric-paren): Don't expand
 -      abbrev (Bug#3943).
 -
 -2009-08-16  Ilya Zakharevich  <ilyaz@cpan.org>
 -
 -      * progmodes/cperl-mode.el: Merge upstream 6.2.
 -      (cperl-mode-syntax-table): Modify syntax entry for ["'`].
 -      (cperl-forward-re): Check cperl-brace-recursing.
 -      (cperl-highlight-charclass): New function.
 -      (cperl-find-pods-heres): Use it.
 -      (cperl-fill-paragraph): Synch to save-excursion placement used upstream.
 -      (cperl-beautify-regexp-piece): Fix column calculation.
 -      (cperl-make-regexp-x): Handle case where point is between "q" and "rs".
 -      (cperl-beautify-level): Don't process entire regexp.
 -      (cperl-build-manpage, cperl-perldoc): Bind Man-switches before
 -      calling man.
 -      (cperl-tips-faces, cperl-mode, cperl-electric-backspace): Doc fix.
 -      (cperl-init-faces): Build a list in the normal way.
 -
 -2009-08-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * calendar/parse-time.el (parse-time-string-chars): Save match
 -      data.
 -
 -2009-08-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/sql.el (sql-product-alist): Add :name tag to entries.
 -      (sql-product): Use it.
 -      (sql-mode-menu): Auto-generate the menu based on sql-product-alist.
 -      (sql-set-product): Add completion.
 -      (sql-highlight-oracle-keywords, sql-highlight-postgres-keywords)
 -      (sql-highlight-linter-keywords, sql-highlight-ms-keywords)
 -      (sql-highlight-ansi-keywords, sql-highlight-sybase-keywords)
 -      (sql-highlight-informix-keywords, sql-highlight-interbase-keywords)
 -      (sql-highlight-ingres-keywords, sql-highlight-solid-keywords)
 -      (sql-highlight-mysql-keywords, sql-highlight-sqlite-keywords)
 -      (sql-highlight-db2-keywords): Remove.
 -      (sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
 -      (sql-highlight-product): Use derived-mode-p.
 -      (sql-set-sqli-buffer): Use with-current-buffer.
 -      (sql-connect-informix, sql-connect-ingres, sql-connect-oracle):
 -      Simplify.
 -
 -      * emacs-lisp/lisp-mode.el (lisp-indent-region): Remove unused function.
 -
 -      * term.el: Fix commenting convention, turn comments into docstrings.
 -
 -2009-08-16  E. Jay Berkenbilt  <ejb@ql.org>  (tiny change)
 -
 -      * whitespace.el (whitespace-style): Doc fix (Bug#3661).
 -
 -2009-08-16  Jan Seeger  <jan.seeger@thenybble.de>  (tiny change)
 -
 -      * calendar/parse-time.el (parse-time-string-chars): Compute using
 -      character classes, to handle non-ascii characters (Bug#3190).
 -
 -2009-08-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/sh-script.el (sh-maybe-here-document): Avoid inserting
 -      another heredoc if the user adds another < (Bug#3226).
 -
 -      * mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event):
 -      Don't initialize based on window-system (Bug#4124).
 -
 -      * facemenu.el (facemenu-read-color): Use a completion function
 -      that accepts any defined color, such as RGB triplets (Bug#3677).
 -
 -      * files.el (get-free-disk-space): Change fallback default
 -      directory to /.  Expand DIR argument before switching to fallback.
 -      Suggested by Kevin Ryde (Bug#2631, Bug#3911).
 -
 -2009-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (load-library): Doc fix.
 -
 -2009-08-15  Michael Kifer  <kifer@cs.stonybrook.edu>
 -
 -      * emulation/viper-cmd.el (viper-insert-isearch-string): New function.
 -      (viper-if-string): Redefine C-s in the minibuffer to insert the last
 -      incremental search string.
 -
 -      * ediff-init.el (ediff-coding-system): Use escape-quoted in case of
 -      XEmacs.
 -
 -      * ediff-merg.el (ediff-merge-region-is-non-clash-to-skip)
 -      (ediff-merge-region-is-non-clash)
 -      (ediff-skip-merge-region-if-changed-from-default-p): Use defun.
 -      Also check if the job is really a merge job.
 -
 -      * ediff.el (ediff-current-file): New function.
 -
 -2009-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el: Edit docstrings throughout to follow Emacs
 -      conventions.
 -      (js-insert-and-indent): Delete function.
 -      (js-mode-map): Don't bind keys to js-insert-and-indent.
 -      (js-beginning-of-defun): Rename from js--beginning-of-defun.
 -      (js-end-of-defun): Rename from js--end-of-defun.
 -      (js-auto-indent-flag): Delete variable.
 -
 -2009-08-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el: Remove proclaim statement.
 -      Defvar which-func-imenu-joiner-function to silence compiler.
 -
 -      * files.el (auto-mode-alist): Use js-mode for .js files.
 -
 -      * progmodes/js2-mode.el: Remove file.
 -
 -      * Makefile.in (ELCFILES): Add js.el, and remove js2-mode.el.
 -
 -      * speedbar.el (speedbar-supported-extension-expressions): Add .js.
 -
 -      * progmodes/hideshow.el (hs-special-modes-alist): Add js-mode entry.
 -
 -2009-08-14  Daniel Colascione  <dan.colascione@gmail.com>
 -          Karl Landstrom  <karl.landstrom@brgeight.se>
 -
 -      * progmodes/js.el: New file.
 -
 -2009-08-14  Mark A. Hershberger  <mah@everybody.org>
 -
 -      * timezone.el (timezone-parse-date): Add ability to understand ISO
 -      basic format (minimal separators) dates in addition to the
 -      already-supported extended format dates.
 -
 -2009-08-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * international/ucs-normalize.el: Add a `coding' file variable.
 -
 -      * Makefile.in (ELCFILES): Add international/ucs-normalize.elc.
 -
 -2009-08-14  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-cvs.el (vc-cvs-merge-news): Yet another fix of message parsing.
 -
 -2009-08-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * faces.el (help-argument-name): Define it here instead of
 -      help-fns.el, because in daemon mode help-fns.el may be loaded when
 -      faces are still uninitialized (Bug#1078).
 -
 -      * help-fns.el (help-argument-name): Move defface to faces.el.
 -
 -2009-08-13  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-inferior-io-mode): Use start-process to
 -      create buffer with a pty but no process so that GDB can make the
 -      inferior the controlling process.
 -
 -2009-08-13  Taichi Kawabata  <kawabata.taichi@gmail.com>
 -
 -      * international/ucs-normalize.el: New file.
 -
 -2009-08-13  Richard Stallman  <rms@gnu.org>
 -
 -      * mail/rmail.el (rmail-get-attr-names):
 -      Accept an attribute header that is too short.
 -
 -      * mail/rmail.el (rmail-forget-messages):
 -      Ignore nil elt in rmail-message-vector.  Use dotimes.
 -
 -      * progmodes/compile.el (compilation-goto-locus):
 -      Use next-error-move-function.
 -
 -      * simple.el (next-error-move-function): New variable.
 -
 -2009-08-12  Juri Linkov  <juri@jurta.org>
 -
 -      * progmodes/grep.el (lgrep): Ensure that `default-directory' is
 -      always non-nil.  (Bug#4052)
 -
 -      * replace.el (read-regexp): Return empty string when
 -      `default-value' is nil.
 -      (keep-lines-read-args): Don't use empty string as the
 -      default value for `read-regexp'.  (Bug#2495)
 -
 -2009-08-12  Juri Linkov  <juri@jurta.org>
 -
 -      * international/mule-cmds.el (ucs-insert): Change arguments
 -      from `arg' to `character', `count', `inherit' to be the same
 -      as in `insert-char'.  Doc fix.  (Bug#4039)
 -
 -      * international/mule-conf.el (utf-16be-with-signature): Doc fix.
 -
 -2009-08-12  Juri Linkov  <juri@jurta.org>
 -
 -      * files-x.el: New file.
 -
 -      * files.el: Move code that deals with adding/deleting
 -      file/directory-local variables to files-x.el.
 -
 -      * Makefile.in (ELCFILES): Add files-x.elc.
 -
 -2009-08-11  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-line-posns): New helper which helps not
 -      to use `goto-line'.
 -      (gdb-place-breakpoints, gdb-get-location): Rewritten without
 -      `goto-line'.
 -      (gdb-invalidate-disassembly): Do not refresh upon receiving
 -      'update signal.  Instead, update all disassembly buffers only after
 -      threads list.
 -      (gdb): Send -target-detach when buffer is killed (Bug#3794).
 -      (gdb-starting): Move -data-list-register-names...
 -      (gdb-stopped): ...here so it's sent when first thread stops.
 -      (gdb-registers-handler-custom): Do nothing if register names are
 -      unknown yet.
 -
 -      * progmodes/gud.el (gud-stop-subjob): Rewritten without macros
 -      from `gdb-mi.el' to avoid extra tangling.
 -
 -      * progmodes/gdb-mi.el (gdb-gud-context-call): Reverting previous
 -      change which breaks `gud-def' definitions used in `gdb'.
 -      (gdb-update-gud-running): No extra fuss for updating frame number.
 -
 -2009-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * international/mule-cmds.el (mule-keymap, mule-menu-keymap)
 -      (describe-language-environment-map, setup-language-environment-map)
 -      (set-coding-system-map): Move initialization into declaration.
 -      (set-language-info-alist): Last arg to define-key-after can be skipped.
 -
 -      * international/quail.el (quail-completion-1): Simplify.
 -      (quail-define-rules): Use slightly more compact code.
 -      (quail-insert-decode-map): Propertize keys, compact columns.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
 -      Add goto-line.
 -
 -2009-08-10  Miles Bader  <miles@gnu.org>
 -
 -      * progmodes/js2-mode.el (js2-warning, js2-error, js2-jsdoc-tag)
 -      (js2-jsdoc-type, js2-jsdoc-value, js2-function-param)
 -      (js2-instance-member, js2-private-member, js2-private-function-call)
 -      (js2-jsdoc-html-tag-name, js2-jsdoc-html-tag-delimiter)
 -      (js2-magic-paren, js2-external-variable):
 -      Remove "-face" suffix from face names.
 -      (js2-jsdoc-highlight-helper, js2-highlight-jsdoc)
 -      (js2-highlight-undeclared-vars, js2-peek-token)
 -      (js2-parse-function-params, js2-mode-show-errors)
 -      (js2-mode-show-warnings, js2-make-magic-delimiter)
 -      (js2-mode-highlight-magic-parens): Update to use new face names.
 -
 -2009-08-09  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-get-ls-command-with-dired): New defun.
 -      (tramp-handle-insert-directory): Handle "--dired".  (Bug#4075)
 -
 -2009-08-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * subr.el: Provide hashtable-print-readable.
 -
 -      * progmodes/hideshow.el (hs-special-modes-alist): Don't use
 -      hs-c-like-adjust-block-beginning.
 -      (hs-hide-block-at-point): Stop hiding at the beginning of
 -      hs-block-end-regexp (Bug#700).
 -
 -2009-08-09  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-gud-context-call): Does not need to be
 -      a macro.
 -      (gdb-registers-handler-custom): Do not fail when register names
 -      are unavailable.
 -
 -2009-08-08  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-control-all-threads)
 -      (gdb-control-current-thread): Interactive setters for
 -      `gdb-gud-control-all-threads' to use in menu.
 -      (gdb-show-run-p): Show «Go» when process is not active.
 -      (gud-tool-bar-map): Add non-stop/A,T indicator.
 -      Uses gud/thread.xpm and gud/all.xpm.
 -
 -2009-08-08  Yoni Rabkin  <yoni@rabkins.net>
 -
 -      * net/net-utils.el (net-utils-font-lock-keywords): New var.
 -      (nslookup-font-lock-keywords): Make it a variable.
 -      (net-utils-mode): New mode for viewing diagnostic network output.
 -      (net-utils-remove-ctrl-m-filter): Set inhibit-read-only.
 -      (net-utils-run-simple): New function.
 -      (ifconfig, iwconfig, netstat, arp, route): Use it.
 -
 -2009-08-08  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-read-memory-custom)
 -      (gdb-memory-set-address, def-gdb-set-positive-number)
 -      (def-gdb-memory-format, def-gdb-memory-unit): Update memory buffer
 -      after changing settings.
 -      (gdb-invalidate-disassembly): Update when first shown.
 -      (gdb-edit-locals-value): Fixed.
 -      (gdb-registers-handler-custom): Print registers in right order and
 -      allow changing register values (only for current thread yet).
 -      (gdb-breakpoints-mode-map): Don't assume threads buffer is present.
 -      (gdb-threads-mode-map): Don't assume breakpoints buffer is present.
 -      (gdb-disassembly-handler-custom, gdb-stack-list-frames-custom)
 -      (gdb-locals-handler-custom, gdb-registers-handler-custom):
 -      Thread info in mode name.
 -      (gdb-registers-mode-map): TAB to switch to locals.
 -
 -2009-08-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * mail/rmail.el (rmail-add-mbox-headers)
 -      (rmail-set-message-counters-counter): Search for
 -      rmail-unix-mail-delimiter instead of just "From ".  (Bug#4076)
 -
 -2009-08-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Update.
 -
 -2009-08-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * mail/sendmail.el (mail-yank-original):
 -      Set buffer-file-coding-system from the one used by the message whose
 -      text is yanked.
 -
 -      * calc/calc-graph.el (calc-graph-plot): Set calc-graph-last-device
 -      to "windows" when "pgnuplot" is used.
 -      (calc-graph-command, calc-gnuplot-command, calc-graph-init):
 -      Don't call accept-process-output if "pgnuplot" is used.
 -      (calc-graph-init): Don't send -display and -geometry to
 -      "pgnuplot".  If "pgnuplot" is used, glean gnuplot version by
 -      running "pgnuplot -V" with shell-command-to-string.
 -
 -      * calc/calc.el (calc-gnuplot-name) [windows-nt]: Use "pgnuplot" as
 -      the default.
 -
 -2009-08-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (ELCFILES): org/org-export-latex.elc renamed to
 -      org/org-latex.elc.
 -
 -2009-08-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dispatcher.el (vc-resynch-window): Update comment.
 -
 -      * term.el (term-handle-ansi-escape): Add comments with the
 -      terminfo capabilities implemented.
 -
 -2009-08-06  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-var-create-regexp): Removed.
 -      (gdb-var-create-handler): Rewritten using JSON parser.
 -      (gdb-propertize-header): Move earlier.
 -      (gdb-set-header): Remove to avoid duplication.
 -      (gdb-thread-list-handler-custom, gdb-invalidate-disassembly):
 -      Refresh disassembly buffers only after threads list have been
 -      update.
 -      (gdb-threads-header, gdb-registers-header): Per-buffer header line
 -      variables.
 -
 -2009-08-04  Juri Linkov  <juri@jurta.org>
 -
 -      * files.el: Commands to add/delete file/directory-local variables.
 -      (read-file-local-variable, read-file-local-variable-value)
 -      (read-file-local-variable-mode, modify-file-local-variable)
 -      (modify-file-local-variable-prop-line)
 -      (modify-dir-local-variable): New functions.
 -      (add-file-local-variable, delete-file-local-variable)
 -      (add-file-local-variable-prop-line, delete-file-local-variable-prop-line)
 -      (add-dir-local-variable, delete-dir-local-variable)
 -      (copy-file-locals-to-dir-locals, copy-dir-locals-to-file-locals)
 -      (copy-dir-locals-to-file-locals-prop-line): New commands.
 -
 -2009-08-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * abbrev.el (insert-abbrev-table-description): Prettify output.
 -      Suggested by Karl Chen.
 -
 -2009-08-04  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-frame-number): Initialize with nil.
 -      (gdb-overlay-arrow-position): Rename to `gdb-disassembly-position'.
 -      (gdb-overlay-arrow-position, gdb-thread-position)
 -      (gdb-disassembly-position): Declare variables.
 -      (gdb-wait-for-pending): Function now.
 -      (gdb-add-subscriber, gdb-delete-subscriber, gdb-get-subscribers)
 -      (gdb-emit-signal, gdb-buf-publisher): Declare before first use so
 -      compilation goes smoothly.
 -      (gdb, gdb-non-stop, gdb-buffers): New customization groups.
 -      (gdb-non-stop-setting): New customization setting which replaces
 -      `gdb-non-stop' so changing it doesn't break active GDB session.
 -      (gdb-stack-buffer-locations, gdb-stack-buffer-addresses)
 -      (gdb-thread-buffer-verbose-names, gdb-thread-buffer-arguments)
 -      (gdb-thread-buffer-locations, gdb-thread-buffer-addresses)
 -      (gdb-show-threads-by-default): New customization options.
 -      (gdb-buffer-type, gdb-buffer-shows-main-thread-p): New helper
 -      routines.
 -      (gdb-get-buffer-create): Send buffers update signal when they are
 -      created.
 -      (gdb-invalidate-locals, gdb-invalidate-registers)
 -      (gdb-invalidate-breakpoints)
 -      (gdb-invalidate-threads, gdb-invalidate-disassembly)
 -      (gdb-invalidate-memory): Accept update signal.
 -      (gdb-current-context-command): Use --frame option.
 -      (gdb-update-gud-running, gdb-running, gdb-setq-thread-number):
 -      Implement `gdb-frame-number' selection logic.
 -      (gdb-show-run-p, gdb-show-stop-p): Helper functions which decide
 -      whether to show GUD toolbar buttons.
 -      (gdb-thread-exited): Unselect current thread when it exits.
 -      (gdb-stopped): Typo fixed (now really runs `gdb-stopped-hooks').
 -      (gdb-mark-line): Routine which sets overlay arrow or inverses
 -      video on fringeless displays.
 -      (gdb-table, gdb-table-add-row, gdb-table-string): Structure used
 -      to build aligned columns of data in GDB buffers and set text
 -      properties line-by-line.
 -      (gdb-invalidate-breakpoints)
 -      (gdb-breakpoints-list-handler-custom)
 -      (gdb-thread-list-handler-custom, gdb-disassembly-handler-custom)
 -      (gdb-stack-list-frames-custom, gdb-locals-handler-custom)
 -      (gdb-registers-handler-custom): Align data columns.
 -      (gdb-locals-handler-custom): Now prints data like in variable
 -      declarations.
 -      (gdb-jump-to, gdb-file-button, gdb-insert-file-location-button):
 -      Remove confusing buttons.
 -      (gdb-invalidate-threads): Append --frame.
 -      (gdb-threads-mode-map, gdb-breakpoints-mode-map): TAB to switch
 -      between breakpoints/threads buffers.
 -      (gdb-set-window-buffer): Now can ignore dedicated windows.
 -      (gdb-propertize-header): Use `gdb-set-window-buffer'.
 -      (def-gdb-thread-buffer-simple-command): Numerous typos fixed.
 -      (def-gdb-thread-buffer-gud-command): Replaces
 -      `def-gdb-thread-buffer-gdb-command' and uses standard GUD commands
 -      for fine thread control.
 -      (gdb-preempt-existing-or-display-buffer): New function used to
 -      display bound buffers without breaking window layout.
 -      (gdb-frame-location): Replaces `gdb-insert-frame-location'.
 -      (gdb-select-frame): New version of `gdb-frames-select' which now
 -      sets `gdb-frame-number' so commands may use --frame option instead
 -      of inner debugger state.
 -      (gdb-frame-handler): Do not set `gdb-frame-number'.
 -      (gdb-threads-mode-map): Select threads with mouse.
 -
 -      * progmodes/gud.el (gdb-gud-context-call): Declare function to
 -      avoid compilation warning.
 -      (gud-menu-map, gud-minor-mode-map): Use `gdb-show-run-p` and
 -      `gdb-show-stop-p`.
 -
 -      * progmodes/gdb-mi.el (gdb-get-buffer, gdb-get-buffer-create):
 -      Argument `key' renamed to `buffer-type'.
 -      (gdb-current-context-buffer-name): Do not add thread info to
 -      buffer name when no thread is selected.
 -      (gdbmi-record-list, gdb-shell): Try to handle GDB `shell'
 -      command (bug 3794).
 -      (gdb-thread-selected): Handle `=thread-selected' notification.
 -      (gdb-wait-for-pending): New macro to deal with congestion problems.
 -      (gdb-breakpoints-list-handler-custom): Don't fail on pending
 -      breakpoints.
 -      (gdb-invalidate-disassembly): Use 'fullname instead of 'file.
 -      This fixes problem similar to one described in bug 3947.
 -      (gud-menu-map): More menu items.
 -      (gdb-init-1): Reset `gdb-thread-number' to nil.
 -
 -      * progmodes/gud.el (gud-stop-subjob, gud-menu-map): Respect GDB
 -      non-stop settings.
 -
 -      * progmodes/gdb-mi.el (gdb-thread-number): Initialize with nil.
 -      (gdb-current-context-command): Do not append --thread if
 -      `gdb-thread-number' is nil.
 -      (gdb-running-threads-count, gdb-stopped-threads-count):
 -      New variables.
 -      (gdb-non-stop, gdb-gud-control-all-threads, gdb-switch-reasons)
 -      (gdb-stopped-hooks, gdb-switch-when-another-stopped):
 -      New customization options.
 -      (gdb-gud-context-command, gdb-gud-context-call): New wrappers for
 -      GUD commands.
 -      (gdb): `gud-def' definitions changed to use `gdb-gud-context-call'.
 -      (gdb-init-1): Activate non-stop mode if `gdb-non-stop' is enabled.
 -      (gdb-setq-thread-number, gdb-update-gud-running): New functions to
 -      set `gdb-thread-number' and update `gud-running' properly.
 -      (gdb-running): Update threads list when new threads appear.
 -      (gdb-stopped): Support non-stop operation and new thread switching
 -      logic.
 -      (gdb-jsonify-buffer, gdb-json-read-buffer, gdb-json-string)
 -      (gdb-json-partial-output): New set of JSON routines.
 -      (def-gdb-auto-update-trigger): New `signal-list' optional
 -      argument.
 -      (gdb-thread-list-handler-custom): Update `gud-running',
 -      `gdb-stopped-threads-count' and `gdb-running-threads-count'.
 -      (def-gdb-thread-buffer-gdb-command, gdb-interrupt-thread)
 -      (gdb-continue-thread, gdb-step-thread): New commands for fine
 -      thread execution control.
 -      (gud-menu-map): New menu items to switch non-stop options.
 -      (gdb-reset): Cleanup `gdb-thread-position' overlay arrow marker.
 -      (gdb-send): Mimic RET properly (bug 3794).
 -
 -      * progmodes/gdb-mi.el (gdb-rules-name-maker)
 -      (gdb-rules-buffer-mode, gdb-rules-update-trigger): Accessors for
 -      gdb-buffer-rules.
 -      (def-gdb-auto-update-handler): New nopreserve optional argument.
 -      (gdb-stack-list-frames-custom): Print stack from top to bottom.
 -
 -      * progmodes/gdb-mi.el (gdb-pc-address): Remove unused variable.
 -      (gdb-threads-list, gdb-breakpoints-list): New assoc lists.
 -      (gdb-parent-mode): New mode to derive other GDB modes from.
 -      (gdb-display-disassembly-for-thread)
 -      (gdb-frame-disassembly-for-thread): New commands for threads
 -      buffer.
 -
 -      * progmodes/gdb-mi.el (gdb-get-buffer, gdb-get-buffer-create)
 -      (gdb-init-1, gdb-bind-function-to-buffer, gdb-add-subscriber)
 -      (gdb-get-subscribers, gdb-emit-signal, gdb-buf-publisher)
 -      (gdb-update): We now store all GDB buffers in a list so that they
 -      can be updated by traversing a list instead of calling invalidate
 -      triggers explicitly.
 -      (def-gdb-trigger-and-handler): New macro to define trigger-handler
 -      pair for GDB buffer.
 -      (gdb-stack-buffer-name): Add thread information.
 -      (gdb-add-pending, gdb-pending-p, gdb-delete-pending): Macros to
 -      handle pending triggers.
 -      (gdb-threads-mode-map, def-gdb-thread-buffer-command)
 -      (def-gdb-thread-buffer-simple-command)
 -      (gdb-display-stack-for-thread, gdb-display-locals-for-thread)
 -      (gdb-display-registers-for-thread, gdb-frame-stack-for-thread)
 -      (gdb-frame-locals-for-thread, gdb-frame-registers-for-thread):
 -      New commands which show buffers bound to thread.
 -      (gdb-stack-list-locals-regexp): Remove unused regexp.
 -
 -      * progmodes/gdb-mi.el (gdb-breakpoints-buffer-name)
 -      (gdb-locals-buffer-name, gdb-registers-buffer-name)
 -      (gdb-memory-buffer-name, gdb-stack-buffer-name): Do not switch
 -      to (gud-comint-buffer) in *-buffer-name functions
 -      because (gdb-get-target-string) already does that.
 -      (gdb-locals-handler-custom, gdb-registers-handler-custom)
 -      (gdb-changed-registers-handler): Rewritten without regexps.
 -
 -      * progmodes/gdb-mi.el: Basic thread selection support.
 -      (gdb-thread-number): New variable.
 -      (gdb-current-context-command): New macro which adds --thread
 -      option to command.
 -      (gdb-threads-mode-map): Select thread with SPC.
 -      (gdb-thread-list-handler-custom): Mark current thread with overlay
 -      arrow.  Synchronize GDB thread and Emacs thread.
 -      (gdb-select-thread): New command which selects current thread.
 -      (gdb-invalidate-frames, gdb-invalidate-locals)
 -      (gdb-invalidate-registers): Use --thread option.
 -
 -2009-08-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (top): Make check for tramp-gvfs loading more
 -      robust.  (Bug#3977)
 -      (tramp-handle-insert-file-contents): `unwind-protect' must be
 -      inside `with-parsed-tramp-file-name'.
 -
 -      * net/tramp-gvfs.el (top): Remove superfluous message when loading
 -      fails.
 -
 -2009-08-03  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gud.el (jdb): Set gud-jdb-classpath-string to current
 -      directory if CLASSPATH is not set.
 -
 -2009-08-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-rfn-eshadow-update-overlay-regexp):
 -      New defconst.
 -      (tramp-rfn-eshadow-update-overlay): Use it.  (Bug#4004)
 -
 -2009-08-02  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/newst-backend.el (newsticker--raw-url-list-defaults):
 -      Update freshmeat link.  Delete newsforge.com as it seems gone.
 -
 -2009-08-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * select.el (x-set-selection): Doc fix (Bug#4021).
 -
 -      * w32-fns.el (x-set-selection): Doc fix (Bug#4021).
 -
 -      * help-fns.el (describe-variable): Treat list return values from
 -      dir-locals-find-file properly (Bug#4005).
 -
 -2009-08-02  Julian Scheid  <julians37@googlemail.com>  (tiny change)
 -
 -      * net/tramp.el (tramp-debug-message): Print also microseconds.
 -
 -2009-08-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-file-contents): Optimize, when BEG
 -      or END is non-nil.
 -      (tramp-handle-vc-registered): Use `tramp-cache-inhibit-cache'.
 -      (tramp-get-debug-buffer): Change `outline-regexp' according to new
 -      format.
 -
 -      * net/tramp-cache.el (tramp-cache-inhibit-cache): New defvar.
 -      (tramp-get-file-property): Use it.
 -
 -      * autorevert.el (auto-revert-handler):
 -      Allow `auto-revert-tail-mode' for remote files.
 -
 -2009-08-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * minibuffer.el (read-file-name): Treat confirm options to
 -      MUSTMATCH as nil when invoking x-file-dialog.  (Bug#3969)
 -
 -2009-08-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font-lock.el (font-lock-string-face, font-lock-builtin-face)
 -      (font-lock-variable-name-face, font-lock-constant-face):
 -      Darken the colors for light backgrounds.
 -
 -2009-08-01  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * mail/rmailsum.el (rmail-header-summary): Ignore letter-case of
 -      month names.  (Bug#3987)
 -
 -2009-07-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (line-move-finish): Pass whole number to
 -      line-move-to-column.
 -      (line-move-visual): Perform hscroll to the recorded position.
 -
 -2009-07-30  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-mode.el (calc-matrix-brackets): Remove "P" from prompt.
 -
 -2009-07-29  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-defs.el (c-version): Bump to 5.31.7.
 -
 -2009-07-29  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-goto-breakpoint)
 -      (gdb-place-breakpoints): Use full path when setting breakpoints.
 -
 -2009-07-29  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (calc-mode-map): Add keybinding for
 -      `calc-transpose-lines'.
 -
 -2009-07-29  Vincent Belaïche  <vincent.belaiche@gmail.com>
 -
 -      * calc/calc-misc.el (calc-transpose-lines): New function.
 -
 -2009-07-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file): Add messages.
 -      Simplify check for out-of-band methods.
 -      (tramp-do-copy-or-rename-file-out-of-band): Allow both files to be
 -      remote.  Remove messages which are in `tramp-do-copy-or-rename-file'.
 -
 -2009-07-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-checkin): Fix typo.
 -
 -2009-07-28  Steve Yegge  <steve.yegge@gmail.com>
 -
 -      * progmodes/js2-mode.el: New file.
 -
 -2009-07-28  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gud.el (jdb): Add gud-pstar to dump object information.
 -      (gud-menu-map): Adjust tooltip accordingly.
 -
 -2009-07-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-print-log): Pass multiple arguments to bzr log.
 -      (vc-bzr-log-view-mode): Adjust log-view-file-re.
 -
 -      * add-log.el (change-log-mode-map): Add a menu.
 -
 -2009-07-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-call-method-non-blocking): Handle the case the
 -      function returns nil.
 -      (dbus-handle-event): Handle special return value :ignore.
 -      Reported by Jan Moringen <jan.moringen@uni-bielefeld.de>.
 -
 -2009-07-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * view.el (view-mode-enable): Don't define Helper-return-blurb if
 -      it's not needed.
 -
 -2009-07-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Fix Bug#3888:
 -
 -      * w32-vars.el (x-select-enable-clipboard): Doc fix.
 -
 -      * term/pc-win.el (x-display-name, x-colors)
 -      (x-select-enable-clipboard, x-select-text): Doc fix.
 -
 -      * term/common-win.el (x-display-name, x-colors): Doc fix.
 -
 -      * term/ns-win.el (x-select-text, x-setup-function-keys, x-colors)
 -      (xw-defined-colors): Doc fix.
 -
 -      * w32-fns.el (x-select-text, x-setup-function-keys)
 -      (x-get-selection, x-set-selection): Doc fix.
 -
 -      * term/x-win.el (x-select-text, x-setup-function-keys)
 -      (x-select-enable-clipboard, xw-defined-colors): Doc fix.
 -
 -      * select.el (x-set-selection): Doc fix.
 -
 -2009-07-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/zeroconf.el (zeroconf-init): Check for "GetVersionString"
 -      instead of "IsNSSSupportAvailable".  Avahi ought to work also when
 -      "IsNSSSupportAvailable" method is not available.
 -      Reported by Steve Youngs <steve@sxemacs.org>.
 -
 -2009-07-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/characters.el: Fix setting of category ?C, ?|, ?K,
 -      and ?H.  Fix setting of case for Latin Extended and Greek Extended.
 -      (build-unicode-category-table): Fix range checks.
 -
 -2009-07-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dispatcher.el (vc-resynch-buffers-in-directory): Make sure
 -      the buffer we try to sync is current when calling
 -      vc-resynch-buffer.
 -
 -      * vc-dir.el (vc-dir-resynch-file): Make sure vc-dir-update does
 -      not show up to date files.
 -
 -2009-07-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/elint.el (elint-current-buffer, elint-defun):
 -      Add autoload cookies.  If necessary, initialize.
 -      (elint-log): Handle non-file buffers.
 -      (elint-initialize): Add optional argument to reinitialize.
 -      (elint-find-builtin-variables): Save excursion.
 -
 -2009-07-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Add menu entries
 -      for Lint.
 -
 -2009-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-print-log-internal): New function, split out from ...
 -      (vc-print-log): ... here.
 -      (vc-dir-move-to-goal-column): Declare.
 -
 -      * vc-git.el (vc-git-add-signoff): New variable.
 -      (vc-git-checkin): Use it.
 -      (vc-git-toggle-signoff): New function.
 -      (vc-git-extra-menu-map): Bind it to menu.
 -      (vc-git--run-command-string): Accept a nil FILE argument.
 -      (vc-git-stash-list): New function.
 -      (vc-git-dir-extra-headers): Use it.
 -
 -2009-07-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * help-fns.el (describe-variable): Describe ignored and risky local
 -      variables in a similar way to that in which we describe safe ones.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-from-buffer)
 -      (byte-compile-output-file-form, byte-compile-output-docform)
 -      (byte-compile-file-form-defmumble, byte-compile-output-as-comment):
 -      Give some more local variables with common names a "bytecomp-" prefix,
 -      so as not to shadow things during compilation.
 -      * emacs-lisp/cl-macs.el (load-time-value)
 -      * emacs-lisp/cl.el (cl-compiling-file): Update for the name-change
 -      `outbuffer' to `bytecomp-outbuffer'.
 -
 -      * emacs-lisp/elint.el (elint-standard-variables): Remove most members,
 -      since the next two variables cover them automatically now.
 -      (elint-builtin-variables, elint-autoloaded-variables): New.
 -      (elint-unknown-builtin-args): Remove all members, since they can be
 -      parsed automatically now.
 -      (elint-extra-errors): New.
 -      (elint-env-add-env, elint-env-add-macro): Use cadr.
 -      (elint-current-buffer): Use or.  Change final message.
 -      (elint-get-top-forms): Use line-end-position.
 -      (elint-init-env): Use cadr.  Handle autoload, declare-function,
 -      and defalias.
 -      (elint-add-required-env): Doc fix.  Use or.  Standardize error.
 -      (regexp-assoc): Remove unused function.
 -      (elint-top-form): Set elint-current-pos, to record the start of the
 -      top-level form, for compilation-mode.
 -      (elint-form): Trap errors in macro expansion.  Use dolist.
 -      (elint-unbound-variable): Use elint-builtin-variables and
 -      elint-autoloaded-variables.
 -      (elint-get-args): Use cadr, or.
 -      (elint-check-cond-form): Use dolist, cadr.
 -      (elint-check-condition-case-form): Doc fix.  Use cadr.
 -      Use elint-extra-errors.
 -      (elint-log): New function.
 -      (elint-error, elint-warning): Use elint-log for a bytecomp-style format.
 -      Distinguish errors and warnings.
 -      (elint-log-message): Use with-current-buffer.  Inhibit read-only.
 -      Use a bytecomp-style format.
 -      (elint-clear-log): Preserve default-directory.  Inhibit read-only.
 -      (elint-get-log-buffer): Use compilation mode.  Disable undo.
 -      Don't truncate lines.
 -      (elint-initialize): Set builtin and autoloaded variable lists.
 -      Only process elint-unknown-builtin-args if non-nil.
 -      (elint-find-builtin-variables, elint-find-autoloaded-variables):
 -      New functions.
 -      (elint-find-builtin-args): Doc fix.  Handle "BODY...)".
 -
 -2009-07-22  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/newst-backend.el (newsticker--parse-atom-1.0)
 -      (newsticker--parse-rss-0.91, newsticker--parse-rss-0.92)
 -      (newsticker--parse-rss-1.0):
 -      * progmodes/idlwave.el (idlwave-mode):
 -      * progmodes/idlw-shell.el (idlwave-shell-mode):
 -      * progmodes/vera-mode.el (vera-mode):
 -      * progmodes/verilog-mode.el (verilog-auto-inst, verilog-auto):
 -      * progmodes/vhdl-mode.el (vhdl-mode):
 -      * textmodes/table.el (table-generate-source)
 -      (table--warn-incompatibility):
 -      Hyperlink urls in docstrings with URL `...'.
 -
 -2009-07-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/advice.el, emacs-lisp/checkdoc.el:
 -      * emacs-lisp/debug.el, emacs-lisp/elp.el, emacs-lisp/gulp.el:
 -      * emacs-lisp/lisp.el, emacs-lisp/pp.el, emacs-lisp/trace.el:
 -      Remove leading * from defcustom docs.
 -
 -      * simple.el (blink-matching-paren-distance): Bump to 100k.  (Bug#3889)
 -
 -      * emacs-lisp/shadow.el (shadows-compare-text-p): Remove leading * from
 -      defcustom doc.
 -      (list-load-path-shadows): Optionally, just return shadows as a string.
 -
 -      * mail/emacsbug.el (report-emacs-bug): Include any load-path shadows.
 -
 -2009-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/rmailedit.el (rmail-edit-mode):
 -      Use auto-save-include-big-deletions.
 -
 -      * mail/rmail.el (rmail-variables):
 -      Use auto-save-include-big-deletions.
 -
 -      * files.el (auto-save-mode): Revert 2009-07-21 and 2009-07-16
 -      changes.
 -
 -2009-07-21  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (calc-undo-length): New variable.
 -      (calc-quit): Truncate rather than eliminate `calc-undo-list'.
 -
 -2009-07-21  Richard Stallman  <rms@gnu.org>
 -
 -      * files.el (auto-save-mode): Handle buffer-save-size = -2
 -      for toggling mode.
 -
 -2009-07-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * textmodes/ispell.el (ispell-looking-back): Update declaration.
 -
 -      * calendar/todo-mode.el (calendar-current-date): Update declaration.
 -
 -      * ps-print.el (ps-jitify, ps-lazify): Remove aliases only used to
 -      silence compiler.  Instead...
 -      (jit-lock-fontify-now, lazy-lock-fontify-region): ...Declare.
 -      (ps-print-ensure-fontified): Update for above function name changes.
 -
 -      * printing.el (pr-mh-get-msg-num, pr-mh-show)
 -      (pr-mh-start-of-uncleaned-message): Remove aliases only used to
 -      silence compiler.  Instead...
 -      (mh-get-msg-num, mh-show, mh-start-of-uncleaned-message): ...Declare.
 -      (mh-show-buffer): Only define for compiler.
 -      (pr-mh-current-message): Update for above function name changes.
 -
 -      * files.el (abort-if-file-too-large): Explicitly pass `filename'
 -      as an argument.
 -      (find-file-noselect, insert-file-1): Update for above change.
 -
 -      * mail/rmail.el (rmail-retry-ignored-headers): Bump :version.
 -
 -      * mail/mailclient.el (mailclient-send-it): Fix message.
 -
 -      * emacs-lisp/edebug.el (cl-debug-env): Only define for compiler.
 -      (edebug-eval): Check cl-debug-env is bound.
 -      (print-level, print-circle): Don't redefine built-in variables.
 -
 -      * emacs-lisp/cust-print.el: Remove leading * from defcustom docs.
 -      (custom-print-vectors): Remove old comments from doc.
 -
 -      * emerge.el (menu-bar-emerge-menu): Remove unused variable.
 -      (emerge-version): Make the variable an obsolete alias for the
 -      emacs-version variable.  Make the function obsolete.
 -      (emerge-fast-keymap, emerge-edit-keymap): Make a separate menu for
 -      Emerge options, rather than merging in into the main Options menu.
 -      (emerge-options-menu): Adjust menu text.  Use buttons for skip prefers
 -      and auto advance modes.  Disable edit/fast items when not relevant.
 -
 -2009-07-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term/vt420.el (terminal-init-vt420): Fix typo.
 -
 -2009-07-20  Sam Steingold  <sds@gnu.org>
 -
 -      * progmodes/ada-mode.el (compile-auto-highlight): Remove the
 -      variable (removed from compile.el on 2004-03-11).
 -
 -2009-07-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (hack-local-variables-filter): Fix last change.
 -
 -2009-07-19  Juri Linkov  <juri@jurta.org>
 -
 -      * files.el (ignored-local-variables): Add `dir-local-variables-alist'.
 -      (dir-local-variables-alist): New buffer-local variable.
 -      (hack-local-variables-filter): If variable is not dir-local,
 -      i.e. `dir-name' is nil, then remove it from `dir-local-variables-alist',
 -      because file-local overrides dir-local.
 -      (c-postprocess-file-styles) <declare-function>:
 -      Remove obsolete declaration.
 -      (hack-dir-local-variables): Add dir-local variable/value pair to
 -      `dir-local-variables-alist' and remove duplicates.  Doc fix.
 -
 -      * help-fns.el (describe-variable): Add information about
 -      file-local and dir-local variables.
 -
 -2009-07-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (hack-local-variables-filter): Rewrite.
 -
 -2009-07-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/verilog-mode.el (verilog-error-regexp-add-xemacs):
 -      Silence compiler by only defining on XEmacs.
 -
 -      * international/mule.el (auto-coding-regexp-alist): Only match
 -      BABYL... at the start of buffer, not of lines.  (Bug#3790)
 -
 -      * calendar/cal-menu.el (cal-menu-set-date-title): Handle calls from
 -      non-calendar buffers (Bug#3862).  Restore "not on a date" message.
 -      (cal-menu-context-mouse-menu): Doc fix.
 -
 -      * desktop.el (desktop-buffers-not-to-save): Set :version tag.
 -
 -      * simple.el (mail-user-agent): Doc fix.  Set :version tag.
 -
 -2009-07-18  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el: Virtual Info keyword finder.
 -      (add-to-list) <Info-virtual-files>: Add "\\`\\*Finder.*\\*\\'".
 -      (Info-finder-file): New variable.
 -      (Info-finder-find-file): New function.
 -      (finder-known-keywords, finder-package-info)
 -      (find-library-name, lm-commentary): Use defvar and
 -      declare-function to silence compiler warnings.
 -      (Info-finder-find-node): New function.
 -      (info-finder): New command.
 -
 -      * subr.el (process-kill-buffer-query-function): New function.
 -      (add-hook)<kill-buffer-query-functions>: Add hook
 -      `process-kill-buffer-query-function'.
 -
 -2009-07-18  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-mode.el (c-before-hack-hook)
 -      (c-postprocess-file-styles): Give invocation of `c-set-style'
 -      DONT-OVERRIDE parameter of t.  Already set style variables will
 -      thus not be overridden by style settings given by `c-file-syle'.
 -
 -      * files.el (hack-local-variables-filter): Remove entries with
 -      duplicate keys from `file-local-variables-alist'.
 -
 -2009-07-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * simple.el (deactivate-mark, activate-mark, set-mark): Don't call
 -      x-set-selection if display-selections-p returns nil for the
 -      current frame.
 -
 -2009-07-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (region-active-p, use-region-p): Doc fix (Bug#3873).
 -
 -2009-07-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * desktop.el (desktop-buffers-not-to-save): Default value is nil.
 -      Accept nil in addition to a regexp.
 -      (desktop-files-not-to-save): Add "(ftp)$" to the default regexp.
 -      Accept nil in addition to a regexp.
 -      (desktop-save-buffer-p): Don't use desktop-buffers-not-to-save for
 -      buffers that have an associated file.  Handle nil values of
 -      desktop-buffers-not-to-save and desktop-files-not-to-save.
 -      (Bug#3833)
 -
 -      * term/pc-win.el (x-selection-owner-p, x-own-selection-internal)
 -      (x-disown-selection-internal): New functions.
 -
 -2009-07-18  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (speedbar-frame): Declare to avoid compiler
 -      warning.
 -      (gdb-breakpoints-header): Move forward to avoid compiler warning.
 -      (gdb-make-header-line-mouse-map): Remove duplicate definition.
 -
 -2009-07-18  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * simple.el (set-mark): Revert last change.
 -
 -2009-07-17  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * doc-view.el (doc-view-initiate-display): Add yes-or-no-p if
 -      rendering of pngs is not possible instead of messaging a long
 -      description.
 -
 -2009-07-17  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * w32-fns.el (x-selection-owner-p): New function.
 -
 -      * mouse.el (mouse-drag-track): Call deactivate-mark earlier.
 -      (mouse-yank-at-click, mouse-yank-primary):
 -      If select-active-regions is non-nil, deactivate the mark before
 -      insertion.
 -
 -      * simple.el (deactivate-mark, set-mark): Only save selection if we
 -      own it.
 -
 -2009-07-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * case-table.el (describe-buffer-case-table): Fix for the case
 -      that KEY is a cons.
 -
 -2009-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-rcs.el (vc-rcs-find-file-hook):
 -      * vc-sccs.el (vc-sccs-find-file-hook): Fix cut and paste error.
 -
 -2009-07-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-wait-for-output): Handle the case when
 -      commands do not return a newline but a null byte before the shell
 -      prompt.  (Bug#3858)
 -
 -2009-07-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * term/ns-win.el (ns-set-alpha): Don't declare.
 -      (ns-set-background-alpha): Remove function.
 -
 -2009-07-16  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/copyright.el (copyright-update): Save match-data across
 -      y-or-n-p, for safety.
 -
 -2009-07-16  Richard Stallman  <rms@gnu.org>
 -
 -      * files.el (auto-save-mode): If buffer-saved-size is -2,
 -      don't clobber it.
 -
 -      * mail/rmail.el (rmail-variables): Set buffer-saved-size to -2.
 -      (rmail-retry-ignored-headers): Add more uninteresting fields.
 -
 -2009-07-15  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * net/rcirc.el (rcirc): Use history variables.
 -      (rcirc-server-name-history, rcirc-nick-name-history)
 -      (rcirc-server-port-history): New variables.
 -
 -2009-07-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-cmds.el (set-language-environment-charset):
 -      If coding-system-charset-list returns `iso-2022' or `emacs-mule',
 -      ignore them.
 -
 -      * language/misc-lang.el ("IPA"): Change coding systems to utf-8.
 -      Delete unibyte-display.
 -
 -2009-07-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (kill-visual-line): Obey kill-whole-line (Bug#3695).
 -
 -2009-07-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (deactivate-mark): Optional argument FORCE.
 -      (set-mark): Use deactivate-mark.
 -
 -      * info.el (Info-search): No need to check transient-mark-mode
 -      before calling deactivate-mark.
 -
 -      * select.el (x-set-selection): Doc fix.
 -      (x-valid-simple-selection-p): Allow buffer values.
 -      (xselect--selection-bounds): Handle buffer values.
 -      Suggested by David De La Harpe Golden.
 -
 -      * mouse.el (mouse-set-region, mouse-drag-track):
 -      Call copy-region-as-kill before setting the mark, to let
 -      select-active-regions work.
 -
 -2009-07-15  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * simple.el (deactivate-mark): If select-active-regions is
 -      non-nil, copy the selection data into a string.
 -      (activate-mark): If select-active-regions is non-nil, set the
 -      selection to the current buffer.
 -      (set-mark): Update selection if select-active-regions is non-nil.
 -
 -      * select.el (x-valid-simple-selection-p): Allow buffer values.
 -
 -2009-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (mail-user-agent): Default to the upwardly-UI-compatible
 -      and more featureful message-mode.
 -
 -2009-07-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * select.el (x-set-selection): Doc fix.
 -      (x-valid-simple-selection-p): Disallow selection data consisting
 -      of a list or cons of integers, since that is not used.
 -      (xselect--selection-bounds, xselect--int-to-cons): New functions.
 -      (xselect-convert-to-string, xselect-convert-to-length)
 -      (xselect-convert-to-filename, xselect-convert-to-charpos)
 -      (xselect-convert-to-lineno, xselect-convert-to-colno): Use them.
 -
 -2009-07-14  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (json-partial-output): Fix broken GDB/MI
 -      output in -break-info command (Emacs bug #3794).
 -
 -2009-07-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/edebug.el (edebug-setup-hook, edebug-all-forms)
 -      (edebug-eval-macro-args, edebug-save-displayed-buffer-points)
 -      (edebug-print-length, edebug-print-level, edebug-print-circle)
 -      (edebug-sit-for-seconds, edebug-view-outside)
 -      (edebug-bounce-point, edebug-set-global-break-condition)
 -      (edebug-Go-nonstop-mode, edebug-trace-mode)
 -      (edebug-Trace-fast-mode, edebug-continue-mode)
 -      (edebug-Continue-fast-mode, edebug-forward-sexp, edebug-help)
 -      (edebug-visit-eval-list): Doc fixes.
 -
 -      * subr.el (def-edebug-spec): Doc fix.
 -
 -2009-07-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/characters.el: Fix setting of category ?C.
 -
 -2009-07-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * term/ns-win.el (x-select-font): defalias x-select-font to
 -      ns-popup-font-panel instead of generate-fontset-menu.
 -
 -2009-07-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * desktop.el (desktop-buffers-not-to-save): Remove ".log".  (Bug#3833)
 -
 -2009-07-12  Peter Jolly  <peter@jollys.org>  (tiny change)
 -
 -      * arc-mode.el (archive-find-type): Allow for a PK00 string before
 -      the PK\003\004 header (Bug#3770).
 -
 -2009-07-12  Guanpeng Xu  <herberteuler@hotmail.com>
 -
 -      * pcomplete.el (pcomplete-comint-setup): Check for
 -      shell-dynamic-complete-filename too.
 -
 -2009-07-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (temporary-goal-column): Change the value for
 -      line-move-visual to a cons cell.
 -      (line-move-visual): Record or set the window hscroll, if
 -      necessary (Bug#3494).
 -      (line-move-1): Handle cons value of temporary-goal-column.
 -
 -2009-07-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-diag.el (describe-character-set): Don't show
 -      width.
 -
 -2009-07-10  Sam Steingold  <sds@gnu.org>
 -
 -      * progmodes/compile.el (compilation-mode-font-lock-keywords):
 -      Omake sometimes indents the errors it prints, so allow all
 -      regexps to start with spaces.
 -
 -2009-07-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * cus-edit.el (customize-changed-options-previous-release):
 -      Bump value to 22.1.  (Bug#3804)
 -
 -2009-07-08  Sam Steingold  <sds@gnu.org>
 -
 -      * progmodes/grep.el (rgrep): Allow grep-find-ignored-directories
 -      to be a cons cell (test . ignored-directory) to selectively ignore
 -      some directories depending on the location of the search.
 -
 -2009-07-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-set-file-uid-gid): Handle the case the
 -      remote user is root, on the local host.
 -      (tramp-local-host-p): Either the local user or the remote user
 -      must be root.  (Bug#3771)
 -
 -2009-07-08  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb): Remove description of
 -      gdb-use-separate-io-buffer.
 -      (menu): Don't allow toggling of or enable
 -      gdb-use-separate-io-buffer from menubar.
 -
 -2009-07-08  E. Jay Berkenbilt  <ejb@ql.org>  (tiny change)
 -
 -      * mail/unrmail.el (unrmail): Make sure the message ends with two
 -      newlines (Bug#3769).
 -
 -2009-07-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/calendar.el (calendar-current-date): Rework previous change.
 -
 -2009-07-08  Ed Reingold  <reingold@emr.cs.iit.edu>
 -
 -      * calendar/calendar.el (calendar-current-date):
 -      Add an optional argument giving an offset from today.
 -
 -2009-07-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * tutorial.el (tutorial--describe-nonstandard-key):
 -      Adjust the message for when a key has been unbound.
 -      (help-with-tutorial): Hide the arch-tag.
 -
 -2009-07-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/fontset.el (setup-default-fontset): For each
 -      script, append (not set) font-specs.
 -
 -      * language/japanese.el (japanese-shift-jis-2004): Fix typo in the
 -      docstring.
 -
 -2009-07-08  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-init-1): Move sending
 -      -data-list-register-names to ...
 -      (gdb-starting): ... here because GDB 7.0 requires execution to
 -      have started when using this MI command.
 -      (gdb-set-header): New function to distinguish select and
 -      unselected tabs in gdb buffers.
 -      (gdb-propertize-header): New macro that uses gdb-set-header.
 -      (gdb-breakpoints-header, gdb-locals-header): Use it.
 -      (gdb-disassembly-mode-map): Add keybinding to kill buffer.
 -
 -2009-07-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (ELCFILES): Remove fadr.elc.
 -
 -2009-07-07  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-init-1): Disassembly buffer mode name
 -      may contain frame information, so `string-match' should be used.
 -      (gdb-update): Disassembly is invalidated through
 -      `gdb-get-selected-frame'.
 -      (gdb-pad-string): New function to pad string with spaces.
 -      (gdb-invalidate-disassembly): Invalidate only if the buffer
 -      exists.
 -      (gdb-disassembly-handler-custom): Column alignment.
 -      (gdb-disassembly-place-breakpoints): Clear old breakpoints before
 -      placing new ones.
 -      (gdb-toggle-breakpoint, gdb-delete-breakpoint): Now work from the
 -      end of line, too.
 -      (gdb-frame-handler): Match convention to for disassembly buffer
 -      mode name.
 -      (gdb-stack-list-frames-handler): Rewritten without regexps.
 -      (gdb-breakpoints-list-handler-custom): y/n instead of on/off; do
 -      not highlight breakpoints without line information.
 -      (gdb-input): Add trailing newline to command.
 -
 -      * progmodes/gdb-mi.el (gdb-init-1): Set mode name for disassembly
 -      buffer properly.
 -      (gdb-breakpoints-list-handler-custom): Replacement for
 -      `gdb-break-list-handler'.  Using real parser instead of regexps
 -      now.
 -      (gdb-place-breakpoints): Replacement for `gdb-break-list-custom'.
 -      Use `gdb-breakpoints-list' instead of parsing breakpoints buffer
 -      to place breakpoints.
 -      (def-gdb-memory-unit): A new macro to define gdb-memory-unit-..
 -      functions.
 -      (gdb-disassembly-handler-custom): Show overlay arrow.
 -      (gdb-disassembly-place-breakpoints): Show breakpoints in
 -      disassembly buffer.
 -      (gdb-toggle-breakpoint, gdb-delete-breakpoint)
 -      (gdb-goto-breakpoint): Using `gdb-breakpoint' text properties
 -      instead of parsing breakpoints buffer.  Fixed old menu references
 -      in `gud-menu-map'.
 -
 -      * fadr.el: Remove.
 -
 -      * progmodes/gdb-mi.el: Port memory buffer from gdb-ui.el.
 -      (gdb-memory-address): New variable which holds top address of
 -      memory page shown in memory buffer.
 -      (gdb-memory-repeat-count, gdb-memory-format, gdb-memory-unit):
 -      New customization variables.
 -      New functions:
 -      (gdb-display-memory-buffer, gdb-frame-memory-buffer): Functions to
 -      display the memory buffer.
 -      (gdb-memory-set-address, gdb-memory-set-repeat-count): Set memory
 -      buffer display parameters.
 -      (def-gdb-memory-format, gdb-memory-format-binary)
 -      (gdb-memory-format-octal, gdb-memory-format-unsigned)
 -      (gdb-memory-format-signed, gdb-memory-format-hexadecimal):
 -      Functions for setting memory buffer format.
 -      (gdb-memory-unit-word, gdb-memory-unit-halfword)
 -      (gdb-memory-unit-giant, gdb-memory-unit-byte): Functions to set
 -      unit size used in memory buffer.
 -      (gdb-memory-show-next-page, gdb-memory-show-previous-page):
 -      Switch to next/previous page of memory buffer.
 -      Now using (bindat-get-field) instead of fadr functions.
 -
 -2009-07-07  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-cvs.el (vc-cvs-merge-news): Fix message parsing for
 -      non-top-level files.
 -
 -2009-07-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-cmds.el (reset-language-environment):
 -      Put the highset priority to the charset iso-8859-1.
 -
 -2009-07-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/hideshow.el (hs-hide-block-at-point): Don't move point
 -      to the end of the line when locating the block (Bug#700).
 -
 -2009-07-06  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-write-region): Flush file properties
 -      in case of short track.
 -
 -2009-07-06  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist):
 -      Coded custom representation of verilog error regular expressions
 -      to work with Emacs-22's new format.
 -      (verilog-error-regexp-xemacs-alist): Coded custom representation
 -      of verilog error regular expressions to work with XEmacs format.
 -      (verilog-error-regexp-add-xemacs): Hook routine to install verilog
 -      error recognition into XEmacs.
 -      (verilog-error-regexp-add-emacs): Hook routine to install verilog
 -      error recognition into Emacs-22.
 -
 -2009-07-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * woman.el: Remove stand-alone closing parentheses.
 -      (woman-file-name, woman2-format-paragraphs)
 -      (woman-leave-blank-lines): Code cleanup.
 -      (woman-use-own-frame): Change default to nil.
 -      (woman-italic, woman-bold, woman-unknown, woman-addition):
 -      Change defaults to inherit from default faces.
 -      (woman2-process-escapes): Consume the newline after a stand-alone
 -      filler character (Bug#3651).
 -
 -2009-07-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * ffap.el (ffap-version): Make it an obsolete alias for emacs-version.
 -      (top-level): Move provide to the end.
 -      (ffap): Remove defunct URL from custom group.
 -
 -      * subr.el (eval-after-load): Doc fix.
 -
 -2009-07-06  Vincent Belaïche  <vincent.belaiche@gmail.com>
 -
 -      * calc/calc-embed.el (calc-embedded-make-info): Don't force when
 -      `calc-embedded-word' is called twice.
 -
 -2009-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files.el (find-alternate-file-other-window, find-alternate-file):
 -      Obey confirm-nonexistent-file-or-buffer.
 -
 -2009-07-05  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dired-aux.el (dired-show-file-type): Handle remote files.
 -
 -2009-07-05  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * desktop.el (desktop-globals-to-save):
 -      Add file-name-history (Bug#2750).
 -
 -2009-07-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * add-log.el (add-log-current-defun-header-regexp): Doc fix (Bug#2217).
 -
 -2009-07-04  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * eshell/esh-arg.el (eshell-parse-argument-hook): Put `number'
 -      property on entire argument since this is what eshell-lisp-command
 -      expects.
 -
 -2009-07-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-methods)
 -      (tramp-gvfs-zeroconf-domain)
 -      (tramp-bluez-discover-devices-timeout): Add version flag.
 -      (tramp-gvfs-handler-mounted-unmounted)
 -      (tramp-gvfs-connection-mounted-p): Polish handling of
 -      incompatibilities between GVFS 0.2 and 1.0.
 -
 -2009-07-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * cus-start.el (all): Add make-pointer-invisible.
 -
 -2009-07-03  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-math.el (math-use-emacs-fn): Make sure that the number is
 -      formatted correctly.
 -
 -2009-07-02  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el: Virtual Info files and nodes.
 -      (Info-virtual-files, Info-virtual-nodes): New variables.
 -      (Info-current-node-virtual): New variable.
 -      (Info-virtual-file-p, Info-virtual-fun, Info-virtual-call):
 -      New functions.
 -      (Info-file-supports-index-cookies): Use Info-virtual-file-p
 -      to check for a virtual file instead of checking a fixed list
 -      of node names.
 -      (Info-find-file): Use Info-virtual-fun and Info-virtual-call
 -      instead of ad-hoc processing of "dir" and (apropos history toc).
 -      (Info-find-node-2): Use Info-virtual-fun and Info-virtual-call
 -      instead of ad-hoc processing of "dir" and (apropos history toc).
 -      Reread a file when moving from a virtual node.
 -      (add-to-list)<Info-virtual-files>: Add "\\`dir\\'".
 -      (Info-directory-toc-nodes, Info-directory-find-file)
 -      (Info-directory-find-node): New functions.
 -      (add-to-list)<Info-virtual-files>: Add "\\`\\*History\\*\\'".
 -      (Info-history): Move part of code to
 -      `Info-history-find-node'.
 -      (Info-history-toc-nodes, Info-history-find-file)
 -      (Info-history-find-node): New functions.
 -      (add-to-list)<Info-virtual-nodes>: Add "\\`\\*TOC\\*\\'".
 -      (Info-toc): Move part of code to `Info-toc-find-node'.
 -      (Info-toc-find-node): New function.
 -      (Info-toc-insert): Rename from `Info-insert-toc'.  Don't insert
 -      the current Info file name to references because now the node
 -      "*TOC*" belongs to the same Info manual.
 -      (Info-toc-build): Rename from `Info-build-toc'.
 -      (Info-toc-nodes): Rename input argument `file' to `filename'.
 -      Use Info-virtual-fun, Info-virtual-call and Info-virtual-file-p
 -      instead of ad-hoc processing of ("dir" apropos history toc).
 -      (Info-index-nodes): Use Info-virtual-file-p
 -      to check for a virtual file instead of checking a fixed list
 -      of node names.
 -      (Info-index-node): Add check for `Info-current-node-virtual'.
 -      Raise `save-match-data' higher up the tree to contain
 -      `search-forward' too (bug fix).
 -      (add-to-list)<Info-virtual-nodes>: Add "\\`\\*Index.*\\*\\'".
 -      (Info-virtual-index-nodes): New variable.
 -      (Info-virtual-index-find-node, Info-virtual-index): New functions.
 -      (add-to-list)<Info-virtual-files>: Add "\\`\\*Apropos\\*\\'".
 -      (Info-apropos-file, Info-apropos-nodes): New variables.
 -      (Info-apropos-toc-nodes, Info-apropos-find-file)
 -      (Info-apropos-find-node, Info-apropos-matches): New functions.
 -      (info-apropos): Move part of code to `Info-apropos-find-node' and
 -      `Info-apropos-matches'.
 -      (Info-mode-map): Bind "I" to `Info-virtual-index'.
 -      (Info-desktop-buffer-misc-data): Use Info-virtual-file-p to check
 -      for a virtual file instead of checking a fixed list of node names.
 -
 -      * simple.el (async-shell-command): New command.
 -
 -      * bindings.el (esc-map): Bind "&" to `async-shell-command'.
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-connection-mounted-p): Use `elt'
 -      instead of `mount-info'.
 -
 -2009-07-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
 -      (tramp-gvfs-connection-mounted-p): Handle changed mount-info interface.
 -
 -2009-07-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule.el (set-keyboard-coding-system): Force *-unix
 -      coding-system to avoid eol conversion.
 -
 -2009-07-01  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
 -      Add handler for `process-file', `shell-command' and
 -      `start-file-process'.
 -      (tramp-gvfs-handle-shell-command)
 -      (tramp-gvfs-handle-start-file-process)
 -      (tramp-gvfs-handle-process-file): New defuns.
 -      (tramp-synce-list-devices): Simplify check for existence of property.
 -
 -2009-07-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * startup.el (command-line-x-option-alist): Add -mm and --maximized.
 -
 -2009-07-01  Eduard Wiebe  <usenet@pusto.de>  (tiny change)
 -
 -      * language/korean.el (set-language-info-alist): Add korean-cp949,
 -      cp949 to spec.
 -
 -2009-07-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (ELCFILES): Delete encoded-kb.elc.
 -
 -      * international/encoded-kb.el: Deleted.
 -
 -      * international/mule.el (set-keyboard-coding-system): Perform the
 -      necessary setup here instead of calling encoded-kbd-setup-display.
 -
 -2009-07-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-break-delimiters, f90-no-break-re): Doc fixes.
 -
 -2009-07-01  Evangelos Evangelou  <vangelis@email.unc.edu>  (tiny change)
 -
 -      * progmodes/f90.el (f90-no-break-re): Add "(/" and "/)".  (Bug#3730)
 -
 -2009-06-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-directly):
 -      Handle also the 'rename case, when setting file modes.  (Bug#3712)
 -      (tramp-default-file-modes): Remove execute permissions.
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-methods): Add "synce" method.
 -      (top): Add a default for "synce" in `tramp-default-user-alist'.
 -      Add completion function for "synce" method.
 -      (tramp-hal-service, tramp-hal-path-manager)
 -      (tramp-hal-interface-manager, tramp-hal-interface-device):
 -      New defconst.
 -      (tramp-gvfs-connection-mounted-p): Handle empty user name for synce.
 -      (tramp-synce-list-devices, tramp-synce-parse-device-names):
 -      New defuns.
 -
 -      * net/trampver.el: Update release number.
 -
 -2009-06-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/fontset.el (setup-default-fontset): Add CJK fonts
 -      for symbols and the other miscellaneous characters.
 -
 -      * language/korea-util.el (setup-korean-environment-internal):
 -      Make char-width-table suitable for Korean environments.
 -      (exit-korean-environment): Cancel above.
 -
 -      * language/chinese.el ("Chinese-GB", "Chinese-BIG5")
 -      ("Chinese-CNS", "Chinese-EUC-TW", "Chinese-GBK"): Add a
 -      setup-function to make char-width-table suitable for respective
 -      environments, and an exit-function to cancel that.
 -
 -      * language/japan-util.el (setup-japanese-environment-internal):
 -      Call use-cjk-char-width-table with arg `ja_JP'.
 -
 -      * international/characters.el (cjk-char-width-table): Delete it.
 -      (cjk-char-width-table-list): New variable.
 -      (use-cjk-char-width-table): New arg local-name.
 -      (use-default-char-width-table): Fix for the case that Emacs is
 -      already using the default char-width-table.
 -
 -2009-06-29  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-directly): Set file
 -      modes mandatory.  (Bug#3712)
 -
 -2009-06-29  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-cmds.el (c-mask-paragraph): Remove a spurious
 -      correction between the visible width of TABs and their number of bytes.
 -
 -2009-06-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * server.el (server-buffer-done): Prevent kill-buffer from
 -      prompting by clearing the buffer modification flag (Bug#3696).
 -
 -2009-06-28  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-beg-of-statement)
 -      (verilog-endcomment-reason-re): Support unique case and priority case.
 -      (verilog-basic-complete-re): Support localparam lineup.
 -      (verilog-beg-of-statement-1): Fix for robustness, unique case.
 -      (verilog-set-auto-endcomments): Fix for unique case, always_comb
 -      commenting.
 -      (verilog-leap-to-case-head): Now support *nested* unique &
 -      priority case statements.
 -      (verilog-auto-lineup): Make just declarations the default (as it
 -      had been).
 -      (verilog-leap-to-case-head): Support priority/unique case statements.
 -      (verilog-auto-lineup): Rework to give users radio buttons to
 -      select the various styles of automatic lineup.
 -      (verilog-error-regexp-alist): Rework to support the XEmacs style
 -      of error regular expressions from compilers, lint tools &
 -      simulators.  Note that GNU Emacs has made it impossible for a mode
 -      to load such things.
 -      (electric-verilog-terminate-line, verilog-indent-declaration)
 -      (verilog-auto-wiure): Rework for radio button selection of
 -      auto-lineup selection of specification of auto lineup.
 -      (verilog-beg-of-statement-1): Redesign to support proper operation
 -      in additional code, based on testing with auto-lineup.
 -      (verilog-calculate-indent, assignments & declarations)
 -      (verilog-backward-token): Enhance to support auto-lineup of
 -      assignments & declarations.
 -      (verilog-in-directive-p, verilog-at-struct-p): New function for
 -      easy test of whether we are.
 -      (verilog-pretty-declarations, verilog-pretty-expr): Massive rework
 -      to support safe execution at almost anyline.
 -      (verilog-calc-1): Properly support indenting deep inside generate
 -      blocks.
 -      (verilog-init-font): Remove definition & use of verilog-init-font,
 -      as it is redundant with font-lock-defaults.
 -      (verilog-mode): Alter the definition of verilog-font-lock-defaults
 -      to avoid circular calls if syntax-ppss is a function (as is the
 -      case now in 22.x GNU Emacs) as that function would sometimes call
 -      itself, leading to (nearly) infinite recursion.
 -      (verilog-ovm-begin-re, verilog-ovm-end-re)
 -      (verilog-ovm-statement-re, verilog-leap-to-head)
 -      (verilog-backward-token): Add support for OVM macros.  Some are
 -      complete statements, and others open and close scopes like begin
 -      and end.
 -      (verilog-defun-level-not-generate-re, verilog-defun-level-re)
 -      (verilog-defun-level-generate-only-re): Really fix the defun-list
 -      compilation issue.
 -      (verilog-calc-1, verilog-beg-of-statement): Enhance support for
 -      coverpoint, constraint and cross statements.
 -      (verilog-defun-level-list, verilog-generate-defun-level-list)
 -      (verilog-all-defun-level-list): Redo these specifications - it is
 -      too hard to support eval-when compile aggregation of lists also
 -      built at when-compile time.
 -      (verilog-defun-level-list): Place defconsts of variables used in
 -      building regular expressions which are built in eval-when-compile
 -      bodies in the same eval-when-compile body to facilitate compile
 -      without load.
 -      (verilog-beg-block-re-ordered): Support indenting
 -      virtual/protected tasks and functions.
 -      (verilog-defun-level-list, verilog-in-generate-region-p)
 -      (verilog-backward-ws&directives, verilog-calc-1): Speed up
 -      indentation of some module items (generate items).
 -      (verilog-forward-sexp, verilog-leap-to-head): Support stepping
 -      across virtual/protected tasks and functions.
 -
 -2009-06-28  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/verilog-mode.el (verilog-auto-arg, verilog-auto-arg-sort):
 -      Allow sorting AUTOARG lists.  Suggested by Andrea Fedeli.
 -      (verilog-read-sub-decls-line): Fix AUTOWIRE signals getting lost
 -      in concatenations.  Reported by Yishay Belkind.
 -      (verilog-auto-ascii-enum): Support one-hot state machines in
 -      AUTOASCIIENUM.  Suggested by Lloyd Gomez.
 -      (verilog-auto-inst, verilog-auto-inst-port): Include interface
 -      modport in AUTOINST and add vl-modport for users.
 -      Reported by David Rogoff.
 -      (verilog-auto-inout-module, verilog-auto-inst)
 -      (verilog-decls-get-interfaces, verilog-insert-definition)
 -      (verilog-insert-one-definition, verilog-read-decls)
 -      (verilog-read-sub-decls, verilog-read-sub-decls-sig)
 -      (verilog-sig-modport, verilog-signals-combine-bus)
 -      (verilog-subdecls-get-interfaces): Fix expansion of SystemVerilog
 -      interfaces in AUTOINOUTMODULE, AUTOINOUTCOMP, and AUTOINST.
 -      Suggested by David Rogoff.
 -      (verilog-repair-open-comma): Fix non-insertion of comma when
 -      `DEFINE occurs in V2K argument list.  Reported by Lane Brooks.
 -      (verilog-make-width-expression): Simplify [A-1:0] expression
 -      widths to just {A{1'b0}}.
 -      (verilog-mode): Cleanup checkdoc warnings.
 -      (verilog-auto-inout-module, verilog-signals-matching-dir-re):
 -      Add third optional regexp to AUTOINOUTMODULE to allow selecting only
 -      inputs/outputs or data type.  Suggested by Vasu Kandadi.
 -      (next-error-last-buffer): Fix byte-compiler warning.
 -      (verilog-auto, verilog-auto-insert-lisp, verilog-auto-inst)
 -      (verilog-delete-auto): Add AUTOINSERTLISP to insert arbitrary lisp
 -      or shell command text during AUTO expansion.  Suggested by Tad Truex.
 -      (verilog-read-sub-decls-expr, verilog-read-sub-decls-line)
 -      (verilog-read-sub-decls-sig, verilog-symbol-detick-text):
 -      Fix dotted nets {a.b,c.d} and excaped identifiers being mis-included
 -      in AUTOINOUT.  Reported by Matthew Lovell.
 -      (verilog-read-always-signals-recurse): Fix AUTORESET "if (a<=b)"
 -      causing use of <= assignments.  Reported by Alex Reed.
 -      (verilog-read-decls): Fix triand, trior, wand, wor to be
 -      recognized by AUTOWIRE.  Reported by Spencer Isaacson.
 -      (verilog-extended-complete-re): Support import "DPI-C" functions.
 -      (verilog-read-always-signals-recurse): Fix AUTORESET of "x <=
 -      y[a+1:a+1]" to not include a in reset list.  Reported by Dan Dever.
 -      (verilog-insert-date, verilog-insert-year)
 -      (verilog-sk-header-tmpl): Fix verilog-header inserting error on
 -      Windows systems.  Reported by Michael Potts.
 -      (verilog-read-module-name): Fix AUTOINST when the child module
 -      declaration's name is a tick define.  Reported by Elliot Mednick.
 -      (verilog-read-decls): Fix V2K parameter bit subscripts getting
 -      passed to next parameter's definition.  Reported by Bruce T.
 -      (verilog-read-decls): Fix detecting "parameter int" when using
 -      AUTOINSTPARAM.  Reported by Bruce T.
 -      (verilog-goto-defun): Fix goto not finding modules unless first
 -      perform a verilog-auto expansion.  Suggested by Lawrence Butcher.
 -      (verilog-mode): Expand -f flag arguments on entry to mode so
 -      verilog-goto-defun will work.  Reported by Lawrence Butcher.
 -      (verilog-getopt): Expand environment variables in -f file
 -      arguments.  Suggested by Lawrence Butcher.
 -      (verilog-set-define): Fix "Symbol's value as variable is void"
 -      when reading enumerations.
 -      (verilog-auto-ascii-enum): Fix duplicate labels in AUTOASCIIENUM.
 -      Suggested by Stephen Peltan.
 -      (verilog-read-defines): Fix reading of enumerations in include
 -      files.  Reported by Steve Peltan.
 -
 -2009-06-28  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * files.el (trash-directory): Fix defcustom type.
 -
 -2009-06-28  Juri Linkov  <juri@jurta.org>
 -
 -      * help-fns.el (describe-function-1): Correctly locate adviced
 -      functions in hyperlink (Bug#2438).
 -
 -2009-06-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (trash-directory): Change default to nil.
 -      (move-file-to-trash): If trash-directory is nil and
 -      system-move-file-to-trash is unbound, perform freedesktop-style
 -      trashing.
 -
 -2009-06-28  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * files.el (move-file-to-trash): Add freedesktop trash
 -      support (Bug#973).
 -
 -2009-06-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * autorevert.el (global-auto-revert-non-file-buffers)
 -      (global-auto-revert-mode): Doc fixes.
 -
 -2009-06-27  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * emacs-lisp/cl-specs.el (defstruct): Fix :conc-name spec.
 -
 -2009-06-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * faces.el (x-handle-named-frame-geometry): Ensure that we have
 -      opened an X connection before calling x-get-resource (Bug#3194).
 -
 -      * play/doctor.el: Remove reference to obsolete website.
 -      (make-doctor-variables): Correct grammar mistake (Bug#2633).
 -
 -2009-06-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Remove find-file-not-found-hook VC method.  (Bug#2757)
 -      * vc-hooks.el (vc-file-not-found-hook)
 -      (vc-default-find-file-not-found-hook): Remove functions.
 -      (find-file-not-found-functions): Do not add vc-file-not-found-hook.
 -      * vc-rcs.el (vc-rcs-find-file-not-found-hook): Remove function.
 -      * vc.el:
 -      * vc-hg.el:
 -      * vc-git.el: Do not mention find-file-not-found-hook VC method.
 -
 -2009-06-25  Agustín Martín  <agustin.martin@hispalinux.es>
 -
 -      * textmodes/ispell.el: Add `ispell-looking-back' XEmacs
 -      compatibility function for `looking-back'.
 -
 -      * textmodes/flyspell.el (sgml-mode-flyspell-verify):
 -      Use `ispell-looking-back'.
 -
 -2009-06-24  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-make-directory): Use `dir'
 -      rather than `filename'.
 -
 -2009-06-23  Miles Bader  <miles@gnu.org>
 -
 -      * face-remap.el (text-scale-set): New function.
 -
 -2009-06-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * pcmpl-rpm.el (pcomplete/rpm): Doc fix.
 -
 -      * bindings.el (mode-line-modified): Fix case of "Buffer is modified".
 -
 -      * textmodes/ispell.el (ispell-local-dictionary): Doc fix.
 -
 -      * progmodes/gdb-mi.el (gud-remove, gud-break): Update declarations.
 -
 -      * calendar/cal-dst.el (calendar-time-zone-daylight-rules):
 -      Simplify Persian conditionals.
 -
 -      * calc/calc-graph.el (calc-graph-plot): Avoid assignment to free
 -      variable `filename'.
 -
 -      * comint.el (comint-insert-input): Doc fix.
 -
 -      * Makefile.in (ELCFILES): Fix typo in previous change.
 -
 -2009-06-23  Miles Bader  <miles@gnu.org>
 -
 -      * cus-start.el: Add entry for `recenter-redisplay'.
 -
 -2009-06-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hooks.el (vc-stay-local-p, vc-state, vc-working-revision):
 -      Add an optional argument for the backend, use it instead of
 -      calling vc-backend.
 -      (vc-mode-line): Add an optional argument for the backend.
 -      Pass the backend to vc-state and vc-working-revision.  Move code for
 -      special handling for vc-state being a buffer to ...
 -
 -      * vc-rcs.el (vc-rcs-find-file-hook):
 -      * vc-sccs.el (vc-sccs-find-file-hook): ... here.  New functions.
 -
 -      * vc-svn.el (vc-svn-state, vc-svn-dir-status, vc-svn-checkout)
 -      (vc-svn-print-log, vc-svn-diff): Pass 'SVN to vc-state,
 -      vc-stay-local-p and vc-mode-line calls.
 -
 -      * vc-cvs.el (vc-cvs-state, vc-cvs-checkout, vc-cvs-print-log)
 -      (vc-cvs-diff, vc-cvs-annotate-command)
 -      (vc-cvs-make-version-backups-p, vc-cvs-stay-local-p)
 -      (vc-cvs-dir-status): Pass 'CVS to vc-state, vc-stay-local-p and
 -      vc-mode-line calls.
 -
 -      * vc.el (vc-deduce-fileset): Use vc-deduce-fileset instead of
 -      direct comparison.
 -      (vc-next-action, vc-transfer-file, vc-rename-file): Also pass the
 -      backend when calling vc-mode-line.
 -      (vc-register): Do not create a closure for calling the vc register
 -      function, call it directly.
 -
 -2009-06-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs-lisp/elp.el (elp-output-insert-symname): Add a link face
 -      to make it obvious item can be clicked.
 -
 -      * vc-mtn.el (vc-mtn-after-dir-status, vc-mtn-dir-status): New functions.
 -
 -2009-06-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/korea-util.el (korean-key-bindings): Change the binding
 -      of F9 to hangul-to-hanja-conversion.  Bind Hangul_Hanja to the
 -      same command.
 -
 -2009-06-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Sync with Tramp 2.1.16.
 -
 -      * Makefile.in (ELCFILES): Add net/tramp-gvfs.elc.
 -
 -      * net/tramp.el (top): Require tramp-gvfs.  Catch `tramp-loading',
 -      when a loading of a package fails.  Completion function for rsync
 -      is `tramp-completion-function-alist-ssh'.
 -      (all): Replace all calls of `split-string' and
 -      `tramp-split-string' by `tramp-compat-split-string'.
 -      (tramp-default-method): Use `tramp-compat-process-running-p'.
 -      (tramp-default-proxies-alist): Allow also Lisp forms.
 -      (tramp-remote-path): Add choice "Private Directories".
 -      (tramp-wrong-passwd-regexp): Remove "Tramp connection closed" option.
 -      (tramp-domain-regexp): Allow also "-", "_" and ".".
 -      (tramp-end-of-output): Remove newlines, and add "$" at the end.
 -      (tramp-file-name-handler-alist): Add handler for `dired-uncache'.
 -      (tramp-debug-message): Insert header line in debug buffer.
 -      (tramp-handle-directory-files-and-attributes-with-stat):
 -      Care about filenames with spaces, or starting with "-".
 -      (tramp-handle-dired-uncache): New defun.
 -      (tramp-handle-insert-directory): Don't flush the directory from
 -      cache, this is handled by `dired-uncache' now.
 -      (tramp-handle-insert-file-contents): Improve error handling.
 -      (tramp-find-shell, tramp-open-connection-setup-interactive-shell):
 -      Quote `tramp-end-of-output'.
 -      (tramp-action-password): Improve trace message.
 -      (tramp-check-for-regexp): Both echoes must be present, before removing.
 -      (tramp-open-connection-setup-interactive-shell): Trace coding system.
 -      (tramp-compute-multi-hops): Eval cons cells of
 -      `tramp-default-proxies-alist'.
 -      (tramp-maybe-open-connection): Use the same command pattern for
 -      first hop and further hops.
 -      (tramp-wait-for-output): Remove handling of newlines.
 -      (tramp-get-remote-path): Handle also `tramp-own-remote-path'.
 -      (tramp-split-string): Remove function.  It is handled in
 -      tramp-compat now.
 -
 -      * net/tramp-cmds.el (tramp-bug):
 -      Recommend `tramp-cleanup-all-connections' in the bug mail.
 -
 -      * net/tramp-compat.el (tramp-compat-split-string)
 -      (tramp-compat-process-running-p): New defuns.
 -
 -      * net/tramp-fish.el (tramp-fish-file-name-handler-alist): Add handler
 -      for `dired-uncache'.
 -
 -      * net/tramp-gvfs.el: New package.
 -
 -      * net/tramp-smb.el (tramp-smb-file-name-handler-alist):
 -      Add handler for `dired-uncache'.
 -      (tramp-smb-handle-file-local-copy): Cleanup in case of error.
 -
 -      * net/trampver.el: Update release number.  Make version check fit
 -      for SXEmacs 22.
 +      * shell.el (shell-mode):
 +      Set comint-input-ring-size from HISTSIZE.  (Bug#7889)
  
 -2009-06-22  Jim Meyering  <meyering@redhat.com>
 +      * progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change.
 +      Check for GDBHISTFILE, HISTSIZE, etc.  (Bug#7889)
  
 -      Automatically handle .xz suffix (XZ-compressed files), too.
 -      * jka-cmpr-hook.el (jka-compr-compression-info-list): Add xz.
 -      XZ is the successor to LZMA: <http://tukaani.org/xz/>
 +2011-03-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -2009-06-22  Dmitry Dzhus  <dima@sphinx.net.ru>
 -          Nick Roberts  <nickrob@snap.net.nz>
 +      * emacs-lisp/package.el (package-refresh-contents)
 +      (package-menu-execute): Use condition-case-no-debug.
  
 -      * progmodes/gdb-mi.el: Pull further modified changes from Dmitry's
 -      repository (http://sphinx.net.ru/hg/gdb-mi/).
 +2011-03-08  Michael Albinus  <michael.albinus@gmx.de>
  
 -2009-06-22  Glenn Morris  <rgm@gnu.org>
 +      * simple.el (shell-command-to-string): Use `process-file'.
  
 -      * files.el (dir-locals-collect-mode-variables): Allow for any number of
 -      `mode' and `eval' entries.  (Bug#3430)
 +      * emacs-lisp/package.el (package-tar-file-info): Handle also
 +      remote files.
  
 -      * Makefile.in (ELCFILES): Add fadr.elc.
 +      * emacs-lisp/package-x.el (package-upload-buffer-internal):
 +      Use `equal' for upload base check.
  
 -      * calendar/appt.el (appt-make-list): Fix off-by-one error caused by
 -      differing behavior of \n and ^ in strings.  (Bug#3385)
 +2011-03-08  Arni Magnusson  <arnima@hafro.is>  (tiny change)
  
 -      * emacs-lisp/cl-indent.el: Remove leading "*" from defcustom docs.
 +      * textmodes/texinfo.el (texinfo-environments):
 +      Add deftypecv, deftypeivar, deftypemethod, deftypeop, html.  (Bug#2783)
  
 -      * emacs-lisp/lisp-mode.el (lisp-indent-offset): Fix safe-local-variable
 -      property.
 -      (lisp-indent-function): Make it a defcustom.
 +2011-03-08  Glenn Morris  <rgm@gnu.org>
  
 -2009-06-21  Nick Roberts  <nickrob@snap.net.nz>
 +      * cus-start.el (cursor-in-non-selected-windows):
 +      Fix :set quoting oddness.  (Bug#8192)
  
 -      * progmodes/gdb-ui.el: Replace with ...
 -      * progmodes/gdb-mi.el: ... this file.
 -      * progmodes/gud.el: Modify for gdb-mi.el.
 +      * font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)'
 +      in some setf expressions.  (Bug#2159)
  
 -2009-06-21  Dmitry Dzhus  <dima@sphinx.net.ru>
 +2011-03-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * fadr.el: New file.
 +      * custom.el (custom-available-themes): Return themes in
 +      alphabetical order.
  
 -See ChangeLog.14 for earlier changes.
 +See ChangeLog.15 for earlier changes.
  
  ;; Local Variables:
  ;; coding: utf-8
  ;; End:
  
 -  Copyright (C) 2009, 2010, 2011  Free Software Foundation, Inc.
 +  Copyright (C) 2011  Free Software Foundation, Inc.
  
    This file is part of GNU Emacs.
  
diff --combined src/ChangeLog
index 64aaf22f7810d862a0a474a1b56233e5667d82aa,570a55ec2a2e1a77ee04323e300afc557a002026..e7ea07705af2a7bdedad2a5ff03141fd774abe0c
 -2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
 -      unsigned char, to match FcChar8 type definition.
 -
 -      * xterm.c (handle_one_xevent):
 -      * xmenu.c (create_and_show_popup_menu):
 -      * xselect.c (x_decline_selection_request)
 -      (x_reply_selection_request): Avoid type-punned deref of X events.
 -
 -2011-04-08  Samuel Thibault  <sthibault@debian.org>  (tiny change)
 -
 -      * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
 -
 -2011-03-19  Christoph Scholtes  <cschol2112@googlemail.com>
 -
 -      * process.c (Fformat_network_address): Doc fix.
 -
 -2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
 -      (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
 -      These macros can no longer be used for assignment.
 -
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Assign
 -      struct members directly, instead of using BUF_BEGV etc.
 -      (record_buffer_markers, fetch_buffer_markers): New functions for
 -      recording and fetching special buffer markers.
 -      (set_buffer_internal_1, set_buffer_temp): Use them.
 -
 -      * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
 -
 -      * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
 -
 -      * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
 -      (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
 -
 -      * xdisp.c (hscroll_window_tree):
 -      (reconsider_clip_changes): Use PT instead of BUF_PT.
 -
 -2011-03-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Fx_load_color_file):
 -      Read color file from absolute filename (bug#8250).
 -
 -2011-03-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Backport revno:103582 from trunk.
 -      * w32xfns.c (select_palette): Check success of RealizePalette against
 -      GDI_ERROR, not zero.
 -
 -2011-03-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * fringe.c (update_window_fringes): Remove unused variables.
 -
 -      * unexmacosx.c (copy_data_segment): Also copy __got section.
 -      (Bug#8223)
 -
 -2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.3 released.
 -
 -2011-02-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_open_entity): Be sure to set scaled_pixel_size.
 -      (font_find_for_lface): Check if attrs[LFACE_HEIGHT_INDEX] is
 -      integer.
 -
 -2011-02-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (prefix-args${EXEEXT}): Compile with ALL_CFLAGS.
 -
 -2011-02-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (redisplay_internal): Resynchronize `w' if the selected
 -      window is changed inside calls to do_pending_window_change.
 -      (Bug#8020)
 -
 -2011-02-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * terminal.c (create_terminal): Use default-keyboard-coding-system
 -      and default-terminal-coding-system to initialize coding systems of
 -      the new terminal.  (Bug#7840)
 -
 -2011-02-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (select_window): Check inhibit_point_swap argument when
 -      deciding whether to return immediately.
 -
 -2011-02-08  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * nsterm.m (setFrame, initFrame): Make sure pixel_height doesn't become
 -      zero (Bug#7348).
 -
 -2011-02-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute):
 -      Try to clarify some error messages.  (Bug#2659)
 -
 -2011-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (save_restriction_restore): Don't forget to invalidate the
 -      current_column cache (bug#7946).
 -
 -2011-02-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_open): Use FC_DUAL only when it is defined.
 -
 -      * xftfont.c (xftfont_open): Likewise.
 -
 -2011-02-01  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * window.c (Fselect_window): Add missing return value.
 -
 -2011-01-29  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * image.c (DEF_IMGLIB_FN): Add parameter rettype, use it instead
 -      of int.  All uses adjusted.
 -      (PNG_JMPBUF, png_load, jpeg_load, tiff_load, gif_load)
 -      (svg_load_image): Remove casts.
 -
 -2011-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (fn_png_longjmp, fn_png_set_longjmp_fn): New png
 -      function definitions for compiling with libpng-1.5.
 -      (PNG_LONGJMP, PNG_JMPBUF): New macros for libpng-1.5.
 -      (my_png_error, png_load): Use them.  Suggested by Thomas Klausner
 -      (Bug#7908).
 -
 -2011-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/intel386.h: Define NO_ARG_ARRAY.  Suggested by Dan Nicolaescu.
 -
 -2011-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Require GTK-style font sizes to
 -      occur at the end of the font string (Bug#7853).
 -
 -2011-01-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Fix typo in string length.
 -
 -2011-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (handle_fontified_prop): Be careful with font-lock changing
 -      the buffer's point-max (bug#7876).
 -
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * lisp.h (XPNTR): Obey DATA_SEG_BITS in all non-USE_LSB_TAG cases.
 -      Remove unused HAVE_SHM branch (Bug#6811).
 -
 -2011-01-23  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 -
 -      * s/hpux11.h: Set CANNOT_DUMP on IA64 (Bug#6811).
 -
 -2011-01-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (select_window): New function.
 -      (Fselect_window): Call it.
 -      (inhibit_point_swap): Variable deleted.
 -      (Fset_window_configuration): Call select_window directly.
 -
 -2011-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * image.c (syms_of_image): Don't access XSYMBOL's internals directly.
 -
 -2011-01-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c (syms_of_image): Don't use SET_SYMBOL_VALUE.  (Bug#7848)
 -
 -2011-01-15  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (inhibit_point_swap): New variable.
 -      (Fselect_window): If inhibit_point_swap is nonzero, avoid swapping
 -      point this time.
 -      (Fset_window_configuration): Set inhibit_point_swap to 1 instead
 -      of setting selected_window to nil (Bug#7728).
 -
 -2011-01-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * config.in (TERMINFO): New definition.
 -
 -      * s/netbsd.h: Use it to choose between terminfo and termcap
 -      (Bug#7642).
 -
 -2011-01-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * coding.h (ENCODE_UTF_8): Remove "Used by ..." comment.
 -
 -      * nsfns.m (ns_set_name_iconic): Remove.
 -      (ns_get_screen): Don't assign integer to f.
 -      (ns_set_name_internal): New function (Bug#7517).
 -      (Vicon_title_format): Extern declare.
 -      (ns_set_name): Call ns_set_name_internal.
 -      (x_explicitly_set_name): Remove call to ns_set_name_iconic.
 -      (x_implicitly_set_name): Ditto.
 -      (x_set_title): Remove commet about EXPLICIT.  Call ns_set_name_internal.
 -      (ns_set_name_as_filename): Encode name with ENCODE_UTF_8.
 -      Always use buffer name for title and buffer filename only for
 -      RepresentedFilename.  Handle bad UTF-8 in buffer name (Bug#7517).
 -
 -2011-01-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c (png_jmpbuf): Remove definition.
 -      (my_png_error, png_load): Don't use png_jmpbuf.
 -
 -2010-12-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c <Qlibpng_version>: New variable.
 -      (syms_of_image): Intern and staticpro it.  Set its value to the
 -      version of PNG library we were compiled with.
 -      (my_png_error, png_load): Avoid GCC warnings about direct access
 -      to png_ptr->jmpbuf.  (Bug#7716)
 -      (png_jmpbuf): New macro.
 -      (my_png_error, png_load): Use it instead of #ifdef'ing according
 -      to PNG_LIBPNG_VER_MAJOR and PNG_LIBPNG_VER_MINOR.
 -
 -2010-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * .gdbinit (xgetptr): Fix the union+lsb case.
 -      (xbacktrace): Fix the union case.
 -
 -2010-12-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fmove_to_window_line): Avoid abort when called in a buffer
 -      different from selected-window's.
 -
 -2010-12-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (parse_menu_item): Prepend "  " to the key sequence
 -      equivalent of a menu item when the key sequence is given by the
 -      `:keys' attribute.  (Bug#7662)
 -
 -      * xdisp.c (Fformat_mode_line): Doc fix: no need to state that only
 -      the basic faces are supported.
 -
 -2010-12-24  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_check_fullscreen): Fix pixel/character mixup.
 -
 -2010-12-17  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (Fformat_mode_line): Fix last change.
 -
 -2010-12-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (Fformat_mode_line): Restrict the FACE argument to basic
 -      faces (Bug#7587).
 -
 -2010-12-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): One more doc fix.
 -
 -2010-12-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Doc fix.  (Bug#7617)
 -
 -2010-12-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (Fx_show_tip): Call try_window with last argument
 -      TRY_WINDOW_IGNORE_FONTS_CHANGE.  Delete the TODO ifdef: problem
 -      solved.  Round up the tip height to an integral multiple of the
 -      frame's line height.  Add FRAME_COLUMN_WIDTH to the tip width.
 -      (Bug#7398)
 -
 -      * xdisp.c (string_pos_nchars_ahead, c_string_pos)
 -      (face_before_or_after_it_pos, next_element_from_string)
 -      (next_element_from_c_string, produce_stretch_glyph): Remove unused
 -      calculations of maximum string length before calling
 -      string_char_and_length and STRING_CHAR_AND_LENGTH.
 -      (string_char_and_length): Update commentary: MAXLEN is no longer
 -      needed.
 -
 -2010-12-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c (kbd_buffer_get_event): Construct SAVE_SESSION_EVENT
 -      as (Qsave_session arg).
 -
 -      * xsmfns.c (smc_interact_CB): Set arg to Qnil.
 -      (smc_die_CB): Make an event with arg Qt.
 -      (Fhandle_save_session): If event has Qt as argument,
 -      call Fkill_emacs (Bug#7552).
 -
 -2010-12-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsmfns.c (smc_die_CB): Call Fkill_emacs (Bug#7552).
 -
 -2010-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispextern.h (struct it): New member overlay_strings_charpos.
 -
 -      * xdisp.c (next_overlay_string, load_overlay_strings): Record the
 -      charpos where we computed n_overlay_strings.
 -      (next_overlay_string): Load overlay strings at recorded position,
 -      which may not be the same as the iterator's charpos (Bug#7016).
 -
 -2010-12-05  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background
 -      with cursor color and draw a rectangle around the image (Bug#7412).
 -
 -2010-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_scrolling): Avoid infloop if the first line is
 -      obscured due to a vscroll (Bug#7537).
 -
 -2010-12-02  Jan Djärv  <jhd@zeplinf.localdomain>
 -
 -      * nsterm.h (FRAME_NS_TOOLBAR_HEIGHT): Rename to FRAME_TOOLBAR_HEIGHT.
 -
 -      * nsterm.m (x_set_window_size, windowWillResize, initFrameFromEmacs):
 -      Use FRAME_TOOLBAR_HEIGHT.
 -      (x_set_offset): Handle XNegative and YNegative in
 -      f->size_hint_flags (Bug#7510).
 -
 -2010-11-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (emacs_mule_charset): Make it an array of charset ID;
 -      i.e. integer.
 -      (Fdefine_charset_internal): Adjusted for the above change.
 -      (init_charset_once): Likewise.
 -
 -      * charset.h (emacs_mule_charset): Adjust the prototype.  Delete
 -      duplicated extern.
 -
 -      * coding.c (emacs_mule_char): Adjust for the change of
 -      emacs_mule_charset.
 -
 -      * lread.c (read_emacs_mule_char): Adjust for the change of
 -      emacs_mule_charset.
 -
 -2010-11-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions
 -      of w32api >= 3.15.  (Bug#6989)  (Bug#7452)
 -
 -2010-11-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c (mark_terminals): Ensure that the image cache is marked
 -      even if the terminal object was marked earlier (Bug#6301).
 -
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fbyte_to_string): Signal an error arg is not a byte.
 -
 -2010-11-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (menubar_map_cb): New function (Bug#7425).
 -      (xg_update_frame_menubar): Connect signal map to menubar_map_cb.
 -      Use 23 as menubar height if 0.  (Bug#7425).
 -
 -2010-11-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (init_gconf): Check HAVE_G_TYPE_INIT.
 -
 -      * config.in (HAVE_G_TYPE_INIT): New symbol.
 -
 -2010-11-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (Fload): Mention `load-in-progress' and
 -      `load-file-name'.  (Bug#7346)
 -
 -2010-11-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (kbd_buffer_nr_stored): Define only ifdef subprocesses.
 -      (kbd_buffer_store_event_hold, kbd_buffer_get_event)
 -      (tty_read_avail_input): Call kbd_buffer_nr_stored only ifdef
 -      subprocesses.  Use buffer_free only ifdef subprocesses.
 -
 -      * process.c (init_process) [subprocesses]: Init kbd_is_on_hold in
 -      the subprocesses version, not in the non-subprocesses one.
 -
 -      * Makefile.in: Don't use ## comment, it breaks the MSDOS build.
 -
 -      * xfns.c (x_real_positions): Fix declaration-after-statement
 -      problem.
 -
 -2010-11-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (free_image): Don't garbage the frame here, since this
 -      function can be called while redisplaying (Bug#7210).
 -      (uncache_image): Garbage the frame here (Bug#6426).
 -
 -2010-11-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (Fmake_network_process): Don't apply Bug#5173 fix for
 -      Windows.
 -
 -2010-11-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * process.c (Fmake_network_process): Don't call turn_on_atimers around
 -      `connect' (Bug#5723).
 -
 -2010-11-04  Helmut Eller  <eller.helmut@gmail.com>
 -
 -      * process.c (Fmake_network_process): Call `select' for interrupted
 -      `connect' rather than creating new socket (Bug#5173).
 -
 -2010-11-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_delete_unmatched): Check Vface_ignored_fonts.
 -      Don't sheck SPEC if it is nil.
 -      (font_list_entities): Call font_delete_unmatched if
 -      Vface_ignored_fonts is non-nil.
 -
 -2010-11-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (TRY_WINDOW_CHECK_MARGINS)
 -      (TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines.
 -
 -      * xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS.
 -      Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is
 -      set in FLAGS.  Callers with non-zero CHECK_MARGINS changed to use
 -      TRY_WINDOW_CHECK_MARGINS.
 -
 -      * xfns.c (Fx_show_tip): Undo last change.  Call try_window with
 -      TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423).
 -
 -2010-11-04  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our
 -      parent is the root window.  Check this after traversing window tree.
 -
 -      * xterm.c (x_term_init): Initialize Xatom_net_frame_extents.
 -
 -      * xterm.h (struct x_display_info): Xatom_net_frame_extents is new.
 -
 -      * xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first
 -      before traversing window tree (Bug#5721).
 -
 -2010-11-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (CRT_DIR): New variable, set by configure.
 -      * m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD):
 -      Use $CRT_DIR rather than HAVE_LIB64_DIR.  (Bug#5655)
 -
 -2010-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * process.c (kbd_is_on_hold): New variable.
 -      (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p):
 -      New functions.
 -      (wait_reading_process_output): If kbd_on_hold_p returns non-zero,
 -      select on empty input mask.
 -      (init_process): Initialize kbd_is_on_hold to 0.
 -
 -      * process.h (hold_keyboard_input, unhold_keyboard_input)
 -      (kbd_on_hold_p): Declare.
 -
 -      * keyboard.c (input_available_signal): Declare.
 -      (kbd_buffer_nr_stored): New function.
 -      (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns
 -      more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571).
 -      (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored
 -      returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571).
 -      (tty_read_avail_input): If input is on hold, return.
 -      Don't read more that free slots in kbd_buffer (Bug#6571).
 -
 -2010-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_connection_closed): Print informative error message
 -      when aborting on GTK.  This requires using shut_down_emacs
 -      directly instead of Fkill_emacs.
 -
 -2010-10-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_call_method_asynchronously)
 -      (Fdbus_register_signal, Fdbus_register_method): Check, whether
 -      `dbus-registered-objects-table' is initialized.
 -
 -2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_connection_closed): Kill Emacs unconditionally.
 -
 -2010-10-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (Fframep, Fwindow_system): Deprecate use as a predicate.
 -
 -      * dispnew.c (syms_of_display) <initial-window-system, window-system>:
 -      Deprecate use as a boolean flag.
 -
 -2010-10-18  Ken Brown  <kbrown@cornell.edu>
 -
 -      * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225).
 -
 -2010-10-15  Kenichi Handa  <handa@m17n.org>
 -
 -      Fix incorrect font metrics when the same font is opened with
 -      different pixelsizes.
 -
 -      * xftfont.c: Include composite.h.
 -      (xftfont_shape): New function.
 -      (syms_of_xftfont): Set xftfont_driver.shape.
 -
 -2010-10-13  Damyan Pepper  <damyanp@gmail.com>
 -
 -      Fix handling of font properties on Windows (bug#6303).
 -      * font.c (font_filter_properties): New function, refactored from
 -      ftfont_filter_properties.
 -      * font.h (font_filter_properties): Declare.
 -      * ftfont.c (ftfont_filter_properties): Use font_filter_properties.
 -      * w32font.c (w32font_booleans, w32font_non_booleans): New variables.
 -      (w32font_filter_properties): New function.
 -      (w32font_driver): Add w32font_filter_properties.
 -
 -2010-10-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_variation_glyphs):
 -      * ccl.c (Fccl_execute_on_string): Fix typo in docstring.
 -
 -2010-10-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * nsterm.m (Qleft): Declare.
 -      (ns_right_alternate_modifier): New variable
 -      (NSRightAlternateKeyMask): New define.
 -      (EV_MODIFIERS): Parse NSRightAlternateKeyMask if
 -      ns_right_alternate_modifier isn't Qleft.
 -      (keyDown): If ns_right_alternate_modifier isn't Qleft, use it
 -      as emacs modifier for NSRightAlternateKeyMask.
 -      (syms_of_nsterm): DEFVAR_LISP ns-right-alternate-modifier.
 -
 -2010-10-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_get_dispatch_status): Return a Lisp_Object.
 -      (xd_pending_messages): Catch xd_get_dispatch_status calls.
 -
 -2010-10-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (complement_process_encoding_system): Fix previous change.
 -
 -2010-10-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (syms_of_dbusbind): Move putenv call ...
 -      (Fdbus_init_bus): ... here.  (Bug#7113)
 -
 -2010-10-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * buffer.c (before-change-functions, after-change-functions):
 -      Three-year overdue doc fix following 2007-08-13 change.
 -
 -2010-10-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_inherit_eol_type): If parent doesn't specify
 -      eol-format, inherit from the system's default.
 -      (complement_process_encoding_system): Make a new coding system
 -      inherit the original eol-format.
 -
 -2010-09-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (complement_process_encoding_system): New function.
 -
 -      * coding.h (complement_process_encoding_system): Extern it.
 -
 -      * callproc.c (Fcall_process): Complement the coding system for
 -      encoding arguments.
 -      (Fcall_process_region): Complement the coding system for encoding
 -      the input to the process.
 -
 -      * process.c (Fstart_process): Complement the coding system for
 -      encoding arguments.
 -      (send_process): Complement the coding system for encoding what
 -      sent to the process.
 -
 -2010-09-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Fix setting of font->average_width from
 -      :avgwidth property (Bug#7123).
 -
 -2010-09-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (syms_of_dbusbind): Use putenv instead of setenv, it
 -      is more portable.
 -
 -      * keyboard.c (gobble_input): Move call of xd_read_queued_messages ...
 -      (kbd_buffer_get_event): ... here.  This is needed for cygwin, which
 -      has not defined SIGIO.
 -
 -2010-09-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (syms_of_dbusbind): Set $DBUS_FATAL_WARNINGS to "0".
 -      (Bug#7113)
 -
 -2010-09-26  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xgselect.c (xg_select): Clear file descriptors not set from
 -      rfds and wfds.
 -
 -2010-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (back_comment): Detect the case where a 1-char comment
 -      starter is also the 2nd char of a 2-char comment ender.
 -
 -2010-09-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_menu_proxy): Set gtk-menu-items to TRUE.
 -
 -2010-09-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (get_current_vm_state): New function.
 -      (do_ewmh_fullscreen): Call get_current_vm_state and compare with
 -      want_fullscreen so set_wm_state calls are few (Bug#7013).
 -      (x_handle_net_wm_state): Move code to get_current_vm_state and
 -      call that function.
 -
 -2010-09-11  Courtney Bane  <emacs-bugs-7626@cbane.org>  (tiny change)
 -
 -      * term.c (tty_set_terminal_modes): Don't initialize twice (bug#7002).
 -
 -2010-09-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_iso_2022): Don't optimize for ASCII if
 -      we may use designation or locking-shift.
 -
 -2010-09-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_emacs_mule): Fix checking of multibyte
 -      sequence when the source is multibyte.
 -
 -2010-08-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (FACE_FOR_CHAR): Use an ASCII face for 8-bit
 -      characters.
 -
 -      * term.c (encode_terminal_code): Fix the previous change.
 -      (produce_glyphs): Don't set it->char_to_display here.
 -      Don't handle unibyte-display-via-language-environment here.
 -      (produce_special_glyphs): Set temp_it.char_to_display before
 -      calling produce_glyphs.
 -
 -      * xdisp.c (get_next_display_element): Set it->char_to_display
 -      here.  Convert all 8-bit bytes from unibyte buffer/string to 8-bit
 -      characters.
 -      (get_overlay_arrow_glyph_row): Set it.char_to_display too before
 -      calling PRODUCE_GLYPHS.
 -      (append_space_for_newline): Save and store it->char_to_display.
 -      Set it->char_to_display before calling PRODUCE_GLYPHS.
 -      (extend_face_to_end_of_line): Set it->char_to_display before
 -      calling PRODUCE_GLYPHS.
 -      (get_glyph_face_and_encoding): Set the glyph code an 8-bit
 -      character to its byte value.
 -      (get_char_glyph_code): New function.
 -      (produce_stretch_glyph): Set it2.char_to_display too before
 -      calling x_produce_glyphs.
 -      (x_produce_glyphs): Simplify by using the same code for ASCII and
 -      non-ASCII characters.  Don't set it->char_to_display here.
 -      Don't handle unibyte-display-via-language-environment here.  For a
 -      character of no glyph, use font->space_width instead of FONT_WIDTH.
 -
 -2010-08-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (encode_terminal_code): Encode byte chars to the
 -      correspnding bytes.
 -
 -2010-08-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP
 -      instead of SAFE_ALLOCA.
 -
 -2010-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA
 -      (Bug#6214).
 -
 -2010-08-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S.
 -
 -2010-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * doc.c (Fsnarf_documentation): Initialize skip_file before
 -      build-files test.
 -
 -2010-08-09  Peter O'Gorman <pogma@thewrittenword.com>  (tiny change)
 -
 -      * s/hpux10-20.h (HAVE_TERMIOS, NO_TERMIO, ORDINARY_LINK):
 -      New definitions.
 -      (HAVE_TERMIO): Remove.
 -
 -2010-08-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c: Include <stdlib.h>
 -      (struct charset_sort_data): New struct.
 -      (charset_compare): New function.
 -      (Fsort_charsets): New function.
 -      (syms_of_charset): Declare Fsort_charsets as a Lisp function.
 -
 -      * coding.c (decode_coding_iso_2022): Fix checking of dimension
 -      number in CTEXT extended segment.
 -
 -2010-08-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (syms_of_w32fns) <x-max-tooltip-size>: Fix typo in docstring.
 -      * xfns.c (syms_of_xfns) <x-max-tooltip-size>: Reflow docstring.
 -
 -2010-07-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c (Fsubstring_no_properties, Fnthcdr, Ffeaturep)
 -      (Fhash_table_size): Fix typos in docstrings.
 -      (Fmake_hash_table): Doc fix.
 -
 -2010-07-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (syms_of_minibuf) <read-buffer-function>:
 -      Doc fix (bug#5625).
 -
 -2010-07-27  Ken Brown  <kbrown@cornell.edu>
 -
 -      * dired.c (DIRENTRY_NONEMPTY) [cygwin]: Use d_ino instead of
 -      the MSDOS definition.
 -
 -2010-07-25  Christoph Scholtes  <cschol2112@gmail.com>
 -
 -      * minibuf.c (Fread_buffer): Doc fix (bug#6528).
 -
 -2010-07-22  Christoph Scholtes  <cschol2112@gmail.com>
 -
 -      * window.c (Fwindow_height): Doc fix (bug#6518).
 -
 -2010-07-21  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <fringe-indicator-alist>: Doc fix.
 -
 -2010-07-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_event_is_for_menubar): Also check that event window
 -      is related to the menu bar (Bug#6499).
 -
 -2010-07-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (x_menubar_window_to_frame): Second parameter is XEvent*.
 -
 -      * xterm.c (handle_one_xevent): Pass event to x_menubar_window_to_frame.
 -
 -      * xmenu.c (x_activate_menubar): Revert previous fix for Bug#6499,
 -      i.e. don't put back ButtonRelease (Bug#6608).
 -
 -      * xfns.c (x_menubar_window_to_frame): Take XEvent as second parameter
 -      instead of Window.  Call xg_event_is_for_menubar when
 -      USE_GTK (Bug#6499).
 -
 -      * gtkutil.h (xg_event_is_for_menubar): Declare.
 -
 -      * gtkutil.c (xg_event_is_for_menubar): New function (Bug#6499).
 -
 -2010-07-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (x_set_foreground_color): Fix setting the cursor color
 -      when it's the same as the old foreground.  (Bug#6609)
 -
 -2010-07-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (realize_face): Garbage the frame if a face is removed
 -      (Bug#6593).
 -
 -2010-07-05  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * keyboard.c: Remove duplicate <setjmp.h>.
 -      (read_key_sequence): Remove volatile qualifiers.
 -
 -2010-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (FRINGE_HEIGHT_BITS): New define.
 -      (struct glyph_row): New members left_fringe_offset and
 -      right_fringe_offset.
 -
 -      * xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap
 -      specially.
 -      * w32term.c (w32_draw_fringe_bitmap): Likewise.
 -      * nsterm.m (ns_draw_fringe_bitmap): Likewise.
 -
 -      * fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here.
 -      Take account of bitmap offset.
 -      (draw_window_fringes): Take account of window vscroll.
 -      (update_window_fringes): Likewise.  Extend top-aligned top indicator
 -      or bottom-aligned bottom indicator to adjacent rows if it doesn't fit
 -      in one row.  Don't set redraw_fringe_bitmaps_p outside row comparison.
 -      Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325).
 -
 -2010-07-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Qtooltip): Declare.
 -      Suggested by Andy Moreton <andrewjmoreton@gmail.com>.
 -
 -2010-07-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
 -      grab on just Press (Bug#6499).
 -
 -2010-07-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Qtooltip): New var.
 -      (delete_frame): Use it.  Fix faulty if statement.  Don't update
 -      mode line for tooltip frames.  Suggested by Martin Rudalics.
 -
 -      * xfns.c (x_create_tip_frame):
 -      * w32fns.c (x_create_tip_frame): Use it.
 -
 -2010-06-30  Naohiro Aota  <naota@elisp.net>  (tiny change)
 -
 -      * xftfont.c (xftfont_open): Check font width one by one also when
 -      spacing is dual.
 -
 -      * ftfont.c (ftfont_open): Ditto.
 -
 -2010-06-26  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * alloc.c (Fmake_byte_code): Don't access undefined argument
 -      (Bug#6517).
 -
 -2010-06-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (next_element_from_image): Ensure that after-strings are
 -      read the next time we hit handle_stop (Bug#1336).
 -
 -2010-06-23  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * lread.c (read1): Signal error if #s is not followed by paren.
 -
 -2010-06-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (free_image): Mark frame as garbaged (Bug#6426).
 -
 -      * keymap.c (Fdefine_key): Doc fix (Bug#6460).
 -
 -2010-06-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * editfns.c (Fbyte_to_string): Pacify compiler.
 -
 -2010-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dbusbind.c (xd_append_arg): Don't "make-unibyte" the string.
 -      Check `object's type before accessing its guts.
 -
 -2010-06-08  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * minibuf.c (Fall_completions): Add more checks.
 -
 -2010-06-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Fall_completions): Check COLLECTION's size (bug#6378).
 -
 -2010-06-03  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * process.c (conv_lisp_to_sockaddr): Fix conversion of IPv4
 -      address.  (Bug#6346)
 -
 -2010-06-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * ccl.c (Fccl_program_p): Fix typo in docstring.
 -
 -2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread
 -      of bug#6305).
 -
 -2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): After redisplay, check if point is
 -      still valid before setting it (Bug#6177).
 -
 -2010-05-20  enami tsugutomo  <tsugutomo.enami@jp.sony.com>
 -
 -      * s/netbsd.h: If terminfo is found, use it in preference to
 -      termcap.  (Bug#6190)  [Backport from trunk]
 -
 -2010-05-20  Kevin Ryde  <user42@zip.com.au>
 -
 -      * keyboard.c (Vlast_command, Vkeyboard_translate_table)
 -      (Voverriding_terminal_local_map, Vsystem_key_alist)
 -      (Vlocal_function_key_map): Fix manual link in docstring (Bug#6224).
 -
 -2010-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Fbyte_to_string): New function.
 -
 -2010-05-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to
 -      prevent stack overflow if number of arguments is too large
 -      (Bug#6214).
 -
 -2010-05-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(SRC)/w32.h.
 -
 -      * w32fns.c: Include w32.h.
 -      (Fw32_shell_execute): Decode the error message before passing it
 -      to `error'.  (Bug#6126)
 -
 -2010-05-11  Karel Klic  <kklic@redhat.com>
 -
 -      * ftfont.c: Fix incorrect parentheses of #if condition for
 -      definining M17N_FLT_USE_NEW_FEATURE.
 -
 -2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.2 released.
 -
 -2010-04-30  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * composite.c (autocmp_chars): Save point as marker before calling
 -      auto-composition-function (Bug#5984).
 -
 -      * lisp.h (restore_point_unwind): Add prototype.
 -
 -      * fileio.c (restore_point_unwind): Remove static attribute.
 -
 -2010-04-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (M17N_FLT_USE_NEW_FEATURE): Define it if we can use the
 -      new feature of libotf and m17n-flt.
 -      (ftfont_check_otf) [M17N_FLT_USE_NEW_FEATURE]:
 -      Call OTF_check_features even if no specific feature is given.
 -      (PACK_OTF_TAG) [M17N_FLT_USE_NEW_FEATURE]: New macro.
 -      (ftfont_drive_otf) [M17N_FLT_USE_NEW_FEATURE]: Handle the case
 -      that OUT is NULL.  Use OTF_drive_gsub_with_log and
 -      OTF_drive_gpos_with_log instead of OTF_drive_gsub and
 -      OTF_drive_gpos.
 -      (ftfont_try_otf) [M17N_FLT_USE_NEW_FEATURE]: New function.
 -      (ftfont_shape_by_flt) [M17N_FLT_USE_NEW_FEATURE]:
 -      Setup mflt_enable_new_feature and mflt_try_otf.
 -
 -2010-04-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dired.c (Ffile_attributes): Fix typo in docstring.
 -
 -2010-04-13  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsmenu.m (EmacsDialog-runDialogAt:): Declare ret as
 -      NSInteger (Bug#5811).
 -
 -2010-04-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
 -      (PTY_OPEN): New defines.  Use openpty (Bug#726, Bug#5819).
 -
 -2010-04-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis.
 -
 -2010-04-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.h (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Don't use
 -      FRAME_LINE_TO_PIXEL_Y.
 -
 -      * xterm.c (x_set_window_size_1): Don't add border_width/height to
 -      pixelwidth/height.
 -
 -2010-04-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for
 -      terminal frames (Bug#5837).
 -
 -2010-03-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_set_doc_edited): Remove unused arg OLDVAL.
 -      * nsterm.h: Fix prototype.
 -
 -2010-03-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it
 -      in this function.  (Bug#5703)
 -
 -2010-03-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.h: Fix last change.
 -
 -2010-03-30  Bernhard Herzog  <bh@intevation.de>  (tiny change)
 -
 -      * menu.c (Fx_popup_menu): Use last_event_timestamp (Bug#4930).
 -
 -2010-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xdisp.c (note_mouse_highlight): Don't do highlight if pointer is
 -      invisible (Bug#5766).
 -
 -2010-03-29  Adrian Robert  <adrian.b.robert@gmail.com>
 -
 -      * xdisp.c (x_consider_frame_title, update_window_cursor): Remove
 -      HAVE_NS conditionals.
 -      (prepare_menu_bars) [HAVE_NS]: Call ns_set_doc_edited.
 -
 -      * nsfns.m (x_implicitly_set_name): If frame-title-format is t, use
 -      filename for the title.
 -      (ns_set_doc_edited): Do nothing if the selected window is a
 -      minibuffer window.
 -
 -      * nsterm.h: Add prototypes for ns_set_name_as_filename and
 -      ns_set_doc_edited.
 -
 -      * nsterm.m: Remove unneeded prototype.
 -
 -2010-03-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (SOME_MACHINE_OBJECTS): Ensure dbus stuff is always
 -      in the DOC file.  (Bug#5336)
 -
 -2010-03-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): Revert 2008-01-25 change (Bug#5730).
 -
 -2010-03-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736).
 -
 -      * xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER.
 -
 -      * dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new.
 -
 -2010-03-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around
 -      XLoadQueryFont.
 -
 -2010-03-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_ccl): Fix previous change for the
 -      multibyte case.
 -      (encode_coding_ccl): Don't setup ccl program here.  Fix for the
 -      case that the output buffer is fullfilled.
 -      (encode_coding): Setup ccl program here.
 -
 -2010-03-15  Andreas Politz  <politza@fh-trier.de>  (tiny change)
 -
 -      * editfns.c (Fformat): Account for string precision when computing
 -      field width (Bug#5710).
 -
 -2010-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make it possible to C-g in a tight bytecode loop again (bug#5680).
 -      * lisp.h (ELSE_PENDING_SIGNALS): New macro.
 -      (QUIT): Use it to consolidate code and remove redundancy.
 -      * bytecode.c (BYTE_CODE_QUIT): Use it as well.
 -
 -      * regex.c (regex_compile): Setup gl_state as well.
 -
 -      * syntax.c (skip_chars): Setup gl_state (bug#3823).
 -      (in_classes): Use CONSP before XCAR/XCDR.
 -
 -2010-03-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fwhere_is_internal): Use Fequal to compare
 -      definitions, so that keyboard macros are correctly handled
 -      (Bug#5481).
 -
 -2010-03-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (decode_coding_emacs_mule): Fixup pointers to buffer
 -      text that could be relocated inside the call to emacs_mule_char.
 -      (emacs_mule_char): Use CODING_DECODE_CHAR instead of DECODE_CHAR.
 -      (CODING_DECODE_CHAR): Add a comment describing its purpose.
 -
 -2010-03-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (parse_str_as_multibyte): Fix handling of the
 -      multibyte form of raw-bytes.
 -      (str_as_multibyte): Likewise.
 -
 -      * buffer.c (Fset_buffer_multibyte): Fix handling of the multibyte
 -      form of raw-bytes.
 -
 -2010-02-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * charset.c (load_charset_map_from_file)
 -      (load_charset_map_from_vector): Zero out allocated
 -      charset_map_entries before using them.
 -
 -2010-02-27  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * w32uniscribe.c (uniscribe_check_otf): Fix length check.
 -
 -2010-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Recognize "Book", "Condensed",
 -      "Medium", and "Semi-Condensed" keywords in GTK names (Bug#5646).
 -
 -2010-02-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_get_open_type_spec): Fix parsing of otf_spec.
 -
 -      * xdisp.c (reseat_to_string): Fix previous change.
 -
 -2010-02-26  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfont.m (nsfont_draw): ns_antialias_text should be a
 -      Lisp_Object (Bug#4736).
 -
 -2010-02-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (reseat_to_string): Fix previous change (bug#5609).
 -
 -2010-02-24  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (XTflash): Move declarations before statements.
 -
 -      * gtkutil.c (xg_get_gdk_display): Remove (unused).
 -      (xg_get_pixbuf_from_pix_and_mask, xg_create_frame_widgets)
 -      (xg_toggle_notify_cb, xg_set_toolkit_scroll_bar_thumb)
 -      (xg_create_tool_bar): Remove unused variables.
 -      (x_wm_set_size_hint): Move declarations before statements.
 -      (xg_create_frame_widgets): Remove variable grav.
 -
 -2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/arm.h: Define the LIB_GCC flag to be -lgcc_s (Bug#5518).
 -
 -2010-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (fatal): Add a final \n if needed (bug#5596).
 -
 -2010-02-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_ring_bell): Revert last change (Bug#5569).
 -
 -2010-02-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * callint.c (Finteractive): Doc fix.
 -
 -2010-02-18  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
 -
 -      * coding.c (record_conversion_result):
 -      Handle CODING_RESULT_INSUFFICIENT_DST.
 -      (decode_coding_object): Record CODING_RESULT_INSUFFICIENT_MEM on
 -      memory allocation error.
 -
 -2010-02-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_ccl): Don't setup ccl program here.
 -      Fix for the case that the output buffer is fullfilled.
 -      (decode_coding): Setup ccl program here.  Keep looping when the
 -      decoder stopped because the output buffer is
 -      fullfilled (bug#5534).
 -
 -      * ccl.c (ccl_driver): Never reset ic to CCL_HEADER_MAIN.
 -
 -2010-02-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_clear_frame_area): Call gtk_widget_queue_draw if USE_GTK,
 -      bug #5571.
 -      (XTflash): Use Gdk-routines if USE_GTK so scroll bars don't get
 -      overdrawn.
 -
 -2010-02-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsmfns.c (x_session_initialize): Move initialization of ice_fd and
 -      doing_interact here.
 -      (ice_connection_closed): New function.
 -      (x_session_check_input, smc_die_CB, ice_io_error_handler)
 -      (ice_conn_watch_CB, x_session_close): Call ice_connection_closed.
 -      (x_session_check_input): Call IceCloseConnection if IceProcessMessages
 -      returns I/O error.
 -      (ice_conn_watch_CB): Call add_keyboard_wait_descriptor on ice_fd,
 -      bug #5512.
 -
 -2010-02-08  Francis Devereux  <francis@devrx.org>  (tiny change)
 -
 -      * nsfont.m (nsfont_open): The system's value for the font descent
 -      is negative, so round it down to avoid clipping.
 -
 -2010-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * charset.c (load_charset_map_from_file)
 -      (load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA
 -      instead of xmalloc (Bug#5526).  Suggested by Vivek Dasmohapatra.
 -
 -2010-02-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * charset.c (load_charset_map_from_file): Allocate large
 -      charset_map_entries structure on the heap rather than the stack.
 -      (Bug#5526).
 -
 -2010-01-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): If FONT is a font-entity and pixel
 -      size in NAME is invalid, return -1 (Bug#5396).
 -
 -2010-01-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_defined_color): Block input.  Suggested by Mike
 -      <deactivated@gmail.com> (Bug#3605).
 -
 -2010-01-31  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * fileio.c (Frename_file): Correctly rename symlinks to
 -      directories (Bug#5496).
 -
 -2010-01-31  Filipe Cabecinhas  <filcab@gmail.com>  (tiny change)
 -
 -      * nsterm.m (ns_ring_bell): Handle visible bell like X.
 -
 -2010-01-30  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * character.h (CHAR_PRINTABLE_P): Reparenthesize to avoid warning.
 -
 -2010-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (DEFAULT_ROWS): Change default to 35.
 -
 -      * xfns.c (x_default_font_parameter): Change default XFT font to
 -      monospace-10 (Bug#3643).
 -
 -2010-01-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32inevt.c (key_event): Remove unnecessary comparison of
 -      event->uChar.AsciiChar with 128.
 -
 -2010-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Frename_file): Fix last change (Bug#5487).
 -
 -      * m/mips.h: Remove DATA_START.  Suggested by Dan Nicolaescu.
 -
 -      * m/alpha.h: Don't define DATA_START on NetBSD (Bug#4629).
 -
 -2010-01-28  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_create_frame): Remove window size matching code from
 -      2010-01-15.
 -      (x_get_current_desktop, x_get_desktop_workarea): Remove.
 -
 -2010-01-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32inevt.c (w32_kbd_patch_key): Save the unicode character.
 -      (key_event): Use unicode for characters 128 and higher (Bug#4567).
 -
 -2010-01-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.c (analyse_first): Fix setting of fastmap for unibyte
 -      pattern string (Bug#4209).
 -
 -2010-01-27  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * fileio.c (Frename_file): Call copy-directory and
 -      delete-directory for directories, in order to handle cross-device
 -      renaming (Bug#3353).
 -
 -2010-01-25  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_create_frame): If frame height is too big, try
 -      sizes 24 and 10.  Bug #3643.
 -
 -2010-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Try and fix bug#788, hopefully for real this time.
 -      * keymap.c (shadow_lookup): Add `remap' arg.
 -      (describe_map, describe_vector): Update calls to shadow_lookup.
 -      (Fwhere_is_internal): Fix up handling of `remapped_sequences' and
 -      `remapped' so this flag is applicable to `sequence'.  Be careful to
 -      perform remapping during shadow_lookup check of remapped_sequences.
 -
 -2010-01-24  Eric Bélanger  <snowmaniscool@gmail.com>  (tiny change)
 -
 -      * image.c (png_load): Use png_sig_cmp instead of the obsolete
 -      png_check_sig, which has been removed in libpng 1.4.
 -
 -2010-01-23  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
 -
 -      * filelock.c: Include utmp.h only when HAVE_UTMP_H (FreeBSD 9.x
 -      lacks this header file).
 -
 -2010-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (draw_glyphs): Update `start' for left_overwritten case
 -      as in Emacs 22.
 -
 -2010-01-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * lisp.h (make_pure_string): String pointer arg now points to const.
 -
 -      * alloc.c (find_string_data_in_pure, make_pure_string): String pointer
 -      args now point to const.
 -
 -2010-01-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (Fload): Don't treat files without .elc extension as
 -      byte-compiled if they are ``magic'', i.e. `openp' returned -2 for
 -      them.  (bug#5303)
 -
 -2010-01-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (consume_chars): If ! multibyte and the encoder is ccl,
 -      treat the source as actual byte sequence.
 -
 -2010-01-19  Alan Mackenzie  <acm@muc.de>
 -
 -      Fix spurious before-change-functions invocation from (insert ?\n).
 -      * textprop.c (set_text_properties): Rename parameter
 -      `signal_after_change_p' to `coherent_change_p', and make the
 -      invocation of `modify_region' conditional on it.
 -
 -2010-01-19  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (apply_xft_settings): Save settings in Vxft_settings
 -      for debug purpose.
 -      (syms_of_xsettings): Declare xft-settings.
 -
 -2010-01-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fcurrent_time_string): Doc fix (Bug#5408).
 -
 -2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (event_handler_gdk): Block input (Bug#5037).
 -
 -2010-01-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs.c (standard_args): Adjust arg priorities to reflect how
 -      they are processed in startup.el.
 -
 -2010-01-16  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (lisp, shortlisp): Update.
 -
 -2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_term_init): Instead of inhibiting GC while running Lisp
 -      code, link the new kboard into all_kboard before running Lisp code,
 -      and protect the new terminal with GCPRO (Bug#5365).
 -      (x_term_init): Remove unused var `atom'.
 -      (x_delete_display, x_delete_terminal): Remove unused var `i'.
 -
 -2010-01-15  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_get_current_desktop, x_get_desktop_workarea): New functions.
 -      (Fx_create_frame): Call x_get_current_desktop and x_get_desktop_workarea
 -      to find out usable size of the desktop.  Don't make frames larger than
 -      this.  Bug #3643.
 -
 -2010-01-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (CHAR_COMPOSED_P): New arg END_CHARPOS.  Callers changed.
 -
 -2010-01-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (Qnone): Define.
 -
 -      * nsfns.m (Qnone): Move definition to nsterm.m.
 -
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_iso_2022): Fix handling of euc-xx coding
 -      systems.
 -
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      Make auto-composition work on all buffers even if they are
 -      fundamental mode.
 -
 -      * composite.c (Vauto_composition_mode): New variable.
 -      (composition_compute_stop_pos): Check Vauto_composition_mode
 -      instead of Vauto_composition_function.
 -      (composition_adjust_point, Ffind_composition_internal): Likewise.
 -      (syms_of_composite): Declare Lisp variable
 -      "auto-composition-mode" here.
 -
 -2010-01-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_term_init): Avoid garbage-collecting the new terminal
 -      during call to vendor-specific-keysyms (Bug#5365).
 -
 -2010-01-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (input_available_signal) [SYNC_INPUT]:
 -      Call SIGNAL_THREAD_CHECK (Bug#5333).
 -
 -      * atimer.c (alarm_signal_handler) [!SYNC_INPUT]:
 -      Call SIGNAL_THREAD_CHECK.
 -
 -2010-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Try to fix bug#5314.  This is probably not the final word, tho.
 -      * buffer.c (Fset_buffer_modified_p): Try and be careful not to modify
 -      recent-auto-save-p as a side-effect.
 -      * buffer.h (BUF_AUTOSAVE_MODIFF): New macro.
 -      * buffer.c (Fkill_buffer, reset_buffer):
 -      * editfns.c (Fsubst_char_in_region):
 -      * fileio.c (Finsert_file_contents, Fdo_auto_save)
 -      (Fset_buffer_auto_saved, Frecent_auto_save_p): Use it.
 -
 -2010-01-13  Kenichi Handa  <handa@m17n.org>
 -
 -      Display buffer name, etc. in mode line by composing correctly.
 -
 -      * xdisp.c (reseat_to_string): Call composition_compute_stop_pos if
 -      STRING is not nil.
 -      (display_mode_element): Adjust for the change of
 -      decode_mode_spec and display_line.
 -      (decode_mode_spec): Change arg MULTIBYTE to STRING.
 -      (display_string): Handle the case that STRING is non-null and
 -      LISP_STRING is not nil.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground):
 -      Pay attention to s->face->overstrike.
 -
 -      * composite.c (composition_reseat_it): Don't check PT if STRING is
 -      non nil.
 -
 -2010-01-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (read_char): Don't apply previous change when current
 -      buffer is unchanged by command execution.
 -
 -2010-01-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c (read_char): Return after executing from special map.
 -
 -2010-01-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to
 -      bug-gnu-emacs rather than emacs-pretest-bug.
 -
 -2010-01-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (syms_of_nsterm): Initialize Qcontrol etc. before
 -      initializing the Lisp variables that depend on them.
 -
 -2010-01-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xfns.c (x_set_menu_bar_lines) [!USE_X_TOOLKIT && !USE_GTK]:
 -      Clear areas that will not be updated after change of menu bar lines.
 -      Clear the menu bar window's current matrix when the window gets empty.
 -
 -2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * intervals.h, textprop.c (extend_property_ranges): Return value
 -      and args changed.  Discard properties that begin at or after the
 -      new end (Bug#5306).
 -
 -      * editfns.c (Fformat): Caller changed.
 -
 -      * nsterm.m (ns_set_default_prefs): Delete function.
 -      (syms_of_nsterm): Initialize ns_command_modifier,
 -      ns_control_modifier, ns_function_modifier, ns_antialias_text, and
 -      ns_antialias_threshold here, not in ns_term_init (Bug#4113).
 -
 -      * xdisp.c (pos_visible_p): Check for invisible text at the correct
 -      position (Bug#4040).
 -
 -2010-01-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c (Ffloat_time): Doc fix.
 -
 -2010-01-09  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_create_frame): Don't create frame larger than display
 -      by default bug#3643.
 -
 -2010-01-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.h (FRAME_TOP_MARGIN_HEIGHT): New macro.
 -      (FRAME_LINE_TO_PIXEL_Y, FRAME_PIXEL_Y_TO_LINE): Take account of pseudo
 -      windows above internal border.
 -
 -      * window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): New macros.
 -      (WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y): Take account of pseudo
 -      windows above internal border.
 -
 -      * xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat
 -      tool bar windows specially.
 -
 -      * xfns.c (x_set_tool_bar_lines): Take account of menu bar height.
 -
 -      * xterm.c (x_after_update_window_line): Don't treat tool bar windows
 -      specially.
 -      (XTflash): Take account of menu bar height.
 -
 -      * w32term.c (x_after_update_window_line): Don't treat tool bar windows
 -      specially.
 -
 -2010-01-08  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * dispnew.c (change_frame_size_1): newwidth == FRAME_COLS (f) must
 -      also be true before we can return early (bug #5339).
 -
 -2010-01-06  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (ns_get_screen): Rewrite, returning NULL for non-NS.
 -      (Fns_display_usable_bounds): Rewrite, computing bounds properly
 -      (Bug#3233).
 -
 -2010-01-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * font.c (font_open_entity): Enable chache and call cached_font_ok
 -      for the driver if defined.
 -      (QCuser_spec): New symbol.
 -      (font_spec_from_name): Save name as user-spec.
 -      (font_load_for_lface): Keep user-spec instead of name.
 -      (font_open_by_name): Save name as user-spec.
 -      (syms_of_font): Initialize QCuser_spec.
 -      (font_clear_prop): Clear name if it exists in font (bug#5157).
 -
 -      * xftfont.c (xftfont_open): Call xftfont_add_rendering_parameters.
 -      (xftfont_add_rendering_parameters, xftfont_cached_font_ok): New.
 -      (syms_of_xftfont): Initialize xftfont_driver.cached_font_ok.
 -
 -      * font.h (struct font_driver): Add cached_font_ok.
 -
 -      * xterm.c (x_clear_frame): Queue draw for scroll bars.
 -
 -2010-01-05  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_new_font): Move code for setting rows/cols before
 -      resizing ...
 -      (x_set_window_size): ... to here.  Bug #2568.
 -
 -      * gtkutil.c (xg_clear_under_internal_border): New function.
 -      (xg_frame_resized, xg_frame_set_char_size):
 -      Call xg_clear_under_internal_border.
 -      (xg_update_scrollbar_pos): Clear under old scroll bar position.
 -
 -2010-01-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_key_sequence): Catch keyboard switch after
 -      making a new tty frame (Bug#5095).
 -
 -2010-01-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix getting the frame pointer.
 -
 -2010-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dbusbind.c (xd_remove_watch): Avoid trying to convert a void* to
 -      Lisp_Object, preferring to convert a lisp_Object to a void* instead.
 -      (Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object.
 -
 -2010-01-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_add_watch): Improve debug message.
 -      (xd_remove_watch): Improve debug message.  If DATA is the session
 -      bus, unset D-Bus session environment.
 -      (Fdbus_init_bus): Pass the bus as argument to
 -      dbus_connection_set_watch_functions.  (Bug#5283)
 -
 -2010-01-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_get_color): Fix buffer overflow (Bug#4763).
 -
 -      * lread.c (syms_of_lread): Make it clearer that these are the
 -      names of loaded files (Bug#5068).
 -
 -      * eval.c (run_hook_with_args): Handle the case where the global
 -      value has the obsolete single-function form (Bug#5026).
 -
 -2009-12-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Fall_completions): Minor optimization.
 -
 -2009-12-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit (pgx): Fix display of composite glyphs.
 -      Display cmp.from and cmp.to as well.
 -      (pitx): Fix last change.
 -
 -2009-12-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.h (composition_adjust_point): Update prototype.
 -
 -      * composite.c (composition_reseat_it): Don't make a composition
 -      spanning over point.
 -      (CHAR_COMPOSABLE_P): Treat U+200C (ZWNJ) and U+200D (ZWJ) as
 -      composable characters.
 -      (composition_adjust_point): New arg NEW_PT.  Callers changed.
 -
 -      * keyboard.c (command_loop_1): Force redisplay if the last point
 -      was within a composition.
 -      (adjust_point_for_property): Don't adjust point for automatic
 -      composition when called after buffer modification.
 -
 -2009-12-19  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit (pitx): Don't use enum names, use their values.
 -      Remove reference to non-existing value GET_FROM_COMPOSITION.
 -      (pgx): Don't use enum names, use their values.
 -      (pitmethod): New helper command.
 -      (pitx): Use it to display iteration method.
 -      (pgrowit): New command.
 -
 -      * makefile.w32-in ($(BLD)/cmds.$(O)): Depend on frame.h.
 -
 -      Update dependencies in Makefile.in.
 -
 -      * Makefile.in (alloc.o): Depend on termhooks.h.
 -      (atimer.o): Depend on blockinput.h.
 -      (buffer.o): Depend on indent.h, keyboard.h, coding.h, keymap.h,
 -      and frame.h.
 -      (callint.o): Depend on systime.h, coding.h, and composite.h.
 -      (callproc.o): Depend on buffer.h.
 -      (casefiddle.o): Don't depend on charset.h.
 -      (casetab.o): Depend on character.h.
 -      (ccl.o): Depend on composite.h.
 -      (chartab.o): Depend on ccl.h.
 -      (cm.o): Depend on dispextern.h.
 -      (cmds.o): Depend on systime.h, coding.h, frame.h, and composite.h.
 -      (coding.o): Don't depend on $(INTERVALS_H).
 -      (composite.o): Don't depend on dispextern.h explicitly (it's in
 -      $(INTERVALS_H)).  Depend on ccl.h.
 -      (data.o): Depend on systime.h, coding.h, composite.h,
 -      dispextern.h, font.h, and ccl.h.
 -      (dired.o): Depend on composite.h.
 -      (dispnew.o): Depend on coding.h.  Don't depend explicitly on
 -      composite.h (it's in $(INTERVALS_H)).
 -      (doc.o): Depend on systime.h, coding.h, and composite.h.
 -      (editfns.o): Don't depend explicitly on dispextern.h.
 -      (emacs.o): Depend on frame.h and coding.h.
 -      (eval.o): Depend on coding.h, composite.h, and xterm.h.
 -      (fileio.o): Depend on frame.h and commands.h.  Don't depend
 -      explicitly on dispextern.h.
 -      (filelock.o): Don't depend on epaths.h and charset.h.  Depend on
 -      composite.h.
 -      (fns.o): Don't depend on termhooks.h.
 -      (font.o): Depend on buffer.h, composite.h, fontset.h, and xterm.h.
 -      (fontset.o): Depend on blockinput.h, atimer.h, systime.h,
 -      coding.h, $(INTERVALS_H), window.h, xterm.h.
 -      (frame.o): Depend on coding.h, composite.h, termhooks.h, and ccl.h.
 -      (fringe.o): Depend on blockinput.h, atimer.h, and systime.h.
 -      (ftfont.o): Depend on blockinput.h, atimer.h, systime.h, coding.h,
 -      fontset.h, ccl.h, and ftfont.h.
 -      (ftxfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
 -      (gtkutil.o): Depend on dispextern.h and composite.h.
 -      (image.o): Depend on epaths.h, character.h, coding.h, composite.h,
 -      termhooks.h, and ccl.h.
 -      (indent.o): Depend on systime.h, coding.h, and $(INTERVALS_H).
 -      (intervals.o): Depend on systime.h and coding.h.
 -      (keyboard.o): Depend on composite.h and coding.h.
 -      (keymap.o): Depend on coding.h and frame.h.
 -      (lread.o): Depend on systime.h, frame.h, blockinput.h, and atimer.h.
 -      (macros.o): Depend on systime.h, coding.h, and composite.h.
 -      (menu.o): Depend on systime.h, coding.h, composite.h, window.h,
 -      and atimer.h.
 -      (minibuf.o): Depend on systime.h and coding.h.  Don't depend on
 -      dispextern.h explicitly.
 -      (print.o): Depend on termhooks.h, coding.h, and ccl.h.
 -      Don't depend explicitly on dispextern.h and composite.h.
 -      (process.o): Depend on character.h, xgselect.h, and sysselect.h.
 -      (regex.o): Don't depend on charset.h.
 -      (scroll.o): Depend on systime.h, coding.h, composite.h, and window.h.
 -      (search.o): Don't depend explicitly on composite.h.
 -      (sound.o): Depend on atimer.h and systime.h.
 -      (syntax.o): Don't depend explicitly on composite.h.
 -      (sysdep.o): Depend on coding.h and composite.h.
 -      (term.o): Depend on xterm.h and buffer.h.
 -      (terminal.o): Depend on dispextern.h, composite.h, and systime.h.
 -      (textprop.o): Don't depend on dispextern.h explicitly.
 -      (undo.o): Depend on dispextern.h.
 -      (window.o): Depend on coding.h and termhooks.h.  Don't depend on
 -      dispextern.h and composite.h explicitly.
 -      (xdisp.o): Depend on ccl.h.
 -      (xfaces.o): Depend on coding.h and ccl.h.
 -      (xfns.o): Depend on $(INTERVALS_H) and ccl.h.
 -      (xfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
 -      (xftfont.o): Depend on atimer.h, systime.h, fontset.h, ccl.h, and
 -      ftfont.h.
 -      (xgselect.o): New dependency.
 -      (xmenu.o): Depend on composite.h, keymap.h, and sysselect.h.
 -      (xselect.o): Depend on keyboard.h, coding.h, and composite.h.
 -      (xsettings.o): Depend on dispextern.h, keyboard.h, systime.h,
 -      coding.h, composite.h, blockinput.h, atimer.h, and termopts.h.
 -      (xsmfns.o): Depend on frame.h and dispextern.h.
 -      (xterm.o): Depend on intervals.h, keymap.h, xgselect.h, and
 -      sysselect.h.
 -
 -2009-12-19  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * font.c (Fclear_font_cache): Pass correct cache argument to
 -      font_clear_cache.
 -
 -2009-12-16  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (prefix-args${EXEEXT}): Don't compile prefix-args.c
 -      twice.
 -
 -2009-12-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (decode_mode_spec): Inhibit garbage collection when
 -      calling file-remote-p.  Reported by Jim Meyering.
 -
 -2009-12-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_retrieve_arg): Reorder declarations in order to
 -      avoid compiler warnings.  (Bug #5217)
 -
 -2009-12-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_iso_2022): Ignore ISO_CODE_SS2_7 (0x19)
 -      in 8-bit encoding.
 -
 -2009-12-13  Pat Thoyts  <patthoyts@users.sourceforge.net>  (tiny change)
 -
 -      * xfns.c (x_create_tip_frame): Set the extended window manager hint for
 -      tooltip windows.
 -
 -2009-12-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Add Xatom_net_window_type_tooltip and
 -      Xatom_net_window_type.
 -
 -      * xterm.c (x_term_init): Initialize Xatom_net_window_type_tooltip and
 -      Xatom_net_window_type.
 -
 -      * xterm.c (my_log_handler): New function.
 -      (x_term_init): Set my_log_handler as log handler during gtk_init
 -      so we can filter out buggy messages.  (Bug #5120).
 -
 -      * xterm.c (xg_scroll_callback): Parameter list changed,
 -      use parameter GtkScrollType to determine scroll/line/page.
 -      Only allow dragging if a button < 4 is grabbed (bug #5177).
 -      (xg_end_scroll_callback): New function.
 -      (x_create_toolkit_scroll_bar): Pass xg_end_scroll_callback to
 -      xg_create_scroll_bar.
 -
 -      * gtkutil.c (xg_gtk_scroll_destroy): Remove XG_LAST_SB_DATA handling.
 -      (scroll_end_callback): Remove.
 -      (xg_create_scroll_bar): Add parameter end_callback, bind it to
 -      button-release-event.  Replace value-changed event with change-value,
 -      bug #5177,
 -      (xg_event_is_for_scrollbar): Only return true if button is less than 4,
 -      bug #5177.
 -
 -      * gtkutil.h (XG_LAST_SB_DATA): Remove.
 -      (xg_create_scroll_bar): Add GCallback end_callback.
 -
 -      * xftfont.c (QClcdfilter): New variable.
 -      (xftfont_open): Parse constant names for RGBA, HINT_STYLE and LCDFILTER.
 -      (syms_of_xftfont): Initialize QClcdfilter.
 -
 -2009-12-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (struct xsettings): Add member seen.
 -      (parse_xft_settings): Update member seen with what we have read.
 -      Return non-zero if Xft-settings have been parsed, 0 otherwise.
 -      (apply_xft_settings): Only update Xft settings with what member seen
 -      indicates as new.
 -
 -2009-12-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispextern.h (struct text_pos): Use EMACS_INT;
 -      (struct glyph): Use EMACS_INT for charpos.
 -      (struct it): Use EMACS_INT for stop_charpos, end_charpos,
 -      region_beg_charpos, region_end_charpos,
 -      redisplay_end_trigger_charpos, and also for
 -      iterator_stack_entry.end_charpos and
 -      iterator_stack_entry.stop_charpos.
 -
 -2009-12-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (scroll_end_callback): New function (bug #5177).
 -      (xg_create_scroll_bar): Call scroll_end_callback on button release
 -      event (bug #5177).
 -      (xg_event_is_for_scrollbar): != replaced with ==.
 -
 -2009-12-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (struct ftfont_info): New member matrix.
 -      (ftfont_open): Setup xftfont_info->matrix.
 -      (MFLTFontFT): New member matrix.
 -      (FLOOR, CEIL, ROUND): New macros.
 -      (ftfont_get_metrics): Handle matrix transformation.
 -      (ftfont_shape_by_flt): New arg matrix.  Callers changed.
 -
 -      * xftfont.c (struct xftfont_info): New member matrix.
 -      (xftfont_open): Setup xftfont_info->matrix.
 -
 -2009-12-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (append_space_for_newline): Consider face-remapping.
 -
 -2009-12-09  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xsettings.c: Include "keyboard.h".
 -
 -      * gtkutil.c (xg_tool_bar_proxy_help_callback): Fix missing return.
 -
 -      Fix implicit function declarations.
 -      * cmds.c: Include "frame.h".
 -      * frame.c: Include "font.h" also if !HAVE_WINDOW_SYSTEM.
 -      * frame.h: Move declaration of delete_frame outside of
 -      HAVE_WINDOW_SYSTEM.
 -
 -2009-12-09  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * s/cygwin.h (G_SLICE_ALWAYS_MALLOC): New variable.
 -
 -      * emacs.c (main): Set the G_SLICE environment variable for Cygwin
 -      GTK builds.
 -
 -2009-12-07  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * unexelf.c (unexec): Don't search for .data twice.
 -
 -2009-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (push_display_prop): Don't set avoid_cursor_p.  Return 0
 -      if push failed.
 -      (handle_line_prefix): Set avoid_cursor_p here.  Check return value
 -      of push_display_prop (Bug#5000).
 -
 -      * xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return
 -      value of font_list_entities (Bug#5085).
 -
 -2009-12-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Fix `string-to-number' to deal consistently with integers and floats.
 -      * lread.c (isfloat_string): New argument ignore_trailing to accept all
 -      trailing characters, not just whitespace.
 -      (read1): Pass new arg 0 to keep old behavior.
 -      * data.c (Fstring_to_number): Pass 1 to isfloat_string to ignore
 -      trailing chars, as it is already done for integers.  Doc fixes.
 -      * lisp.h (isfloat_string): Add new arg to declaration of isfloat_string.
 -
 -2009-12-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispextern.h (enum prop_idx) <AUTO_COMPOSED_PROP_IDX>:
 -      Delete unused enumeration value.
 -
 -2009-12-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (lisp, shortlisp): Replace indian.el with indian.elc.
 -
 -2009-12-03  Daniel Hackney  <dan@haxney.org>  (tiny change)
 -
 -      * process.c (Fmake_network_process): Fix up the tests for
 -      "connectionless socket", so they DTRT for seqpacket sockets as well.
 -
 -2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Qseqpacket): New symbol.
 -      (HAVE_SEQPACKET): New macro.
 -      (Fmake_network_process): Accept new :type `seqpacket'.
 -      (init_process): Add `seqpacket' feature when applicable.
 -      (syms_of_process): Initialize Qseqpacket.
 -
 -2009-12-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * font.c (font_load_for_lface, font_open_by_name): Don't store name
 -      if entity is Qnil.
 -
 -2009-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * print.c (print_preprocess): Preprocess the key_and_value table of
 -      hashtables, even tho they're "hidden" (bug#5082).
 -
 -2009-11-29  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (frame_make_pointer_invisible)
 -      (frame_make_pointer_visible): Declare f before statements.
 -
 -2009-11-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in [!AUTO_DEPEND]: Remove outdated comment about
 -      omitted dependencies on lisp.h.
 -
 -2009-11-27  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display
 -      is NULL.
 -
 -      * xterm.c (x_delete_terminal): Set dpyinfo->display to NULL.
 -
 -      * frame.c (frame_make_pointer_invisible)
 -      (frame_make_pointer_visible): Just return if there isn't any selected
 -      frame.
 -
 -      * search.c (simple_search): Remove warning by making *p const.
 -
 -2009-11-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xdisp.c (power_letter): Remove duplicate const.
 -
 -2009-11-25  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * term.c (delete_tty): Remove check for last terminal (bug#4970).
 -
 -      * xsettings.c: Revert changes from 2009-11-23.  Just use Xft
 -      defaults (bug #5025).
 -
 -2009-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * insdel.c (adjust_markers_for_delete): Move it in the
 -      right direction!  (bug#4803)
 -
 -2009-11-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * font.c (font_open_entity): Don't use ASET if font_object is Qnil.
 -
 -      * xterm.c (x_new_font): Update f->scroll_bar_actual_width.
 -
 -2009-11-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.c (focus-follows-mouse): Mention mouse-autoselect-window.
 -
 -2009-11-23  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * Makefile.in: Must create deps for ecrt0.o in its rule.
 -
 -      * xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name
 -      because that is what Gtk+ font dialog understands.
 -
 -      * font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead
 -      of Fcopy_sequence.
 -      (font_open_by_name): Put name given into QCname for font-object returned.
 -
 -      * frame.c (x_set_font): Save original font name as frame parameter
 -      font-parameter.
 -
 -      * xsettings.c (set_default_xft_settings): New function.
 -      (init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window
 -      is found.
 -
 -2009-11-22  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * search.c (simple_search): Avoid CHAR_TO_BYTE in inner loop when
 -      searching backwards through multibyte buffer.
 -
 -2009-11-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c: #include xgselect.h.
 -      (x_initialize): Call xgselect_initialize.
 -
 -      * xsettings.c (something_changedCB): C++ comments => C comments.
 -      (init_gconf): Do not deal with any GLib file descriptors, xg_select
 -      does that now.
 -
 -      * gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer)
 -      (xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback)
 -      (scroll_bar_button_cb): Remove.
 -      (create_menus): C++ comments => C comments.  Don't bind grab-notify
 -      event.
 -      (xg_create_scroll_bar): Don't bind button-press-event and
 -      button-release-event.
 -
 -      * process.c: Include xgselect.h if defined (USE_GTK) ||
 -      defined (HAVE_GCONF).
 -      (wait_reading_process_output): Call xg_select for the same condition.
 -
 -      * xgselect.c (xg_select): New function to better integrate with
 -      GLib/Gtk event handling.  Needed if GConf daemon dies/restarts.
 -
 -      * xgselect.h: New file, declare xg_select, xgselect_initialize.
 -
 -      * Makefile.in (XOBJ): Add xgselect.o.
 -
 -2009-11-21  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH):
 -      Remove ignored second argument.  All callers changed.
 -      * regex.c (STRING_CHAR, STRING_CHAR_AND_LENGTH, RE_STRING_CHAR)
 -      (RE_STRING_CHAR_AND_LENGTH): Likewise.
 -      * xdisp.c (string_char_and_length): Likewise.
 -
 -2009-11-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xterm.c (x_new_font):
 -      * print.c (print_object):
 -      * cmds.c (Fself_insert_command): Move declarations before statements.
 -
 -2009-11-20  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * s/cygwin.h: Remove unneeded linker flags.
 -
 -2009-11-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_default_font_parameter): Call xsettings_get_system_font.
 -
 -      * xsettings.h: Declare xsettings_get_system_font.
 -
 -      * xsettings.c (xsettings_get_system_font): New function.
 -      (init_gconf): No use initiating gconf unless we have Xft also.
 -      (syms_of_xsettings): Only provide system-font-setting if HAVE_XFT and
 -      HAVE_GCONF.
 -
 -      * gtkutil.c (xg_modify_menubar_widgets): If menubar is totally empty
 -      add a blank entry so it doesn't collapse into nothing.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Funintern): Comment out last change.
 -
 -2009-11-19  Richard Stallman  <rms@gnu.org>
 -
 -      * lread.c (Funintern): Error if symbol is t or nil.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * insdel.c (make_gap_larger): Don't make as many assumptions about the
 -      representation of Lisp integers.
 -      Reported by MJ Chan <mjchan.inbox@gmail.com>.
 -
 -2009-11-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * lisp.h: Remove declaration of Ffont_get_system_font.
 -      * xfns.c: Move include of "xsettings.h".
 -      * xsettings.h: Use EXFUN to declare Ffont_get_system_font.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (something_changedCB, Ffont_get_system_font):
 -      Check use_system_font.
 -      (syms_of_xsettings): DEFVAR font-use-system-font.
 -
 -2009-11-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xfns.c (x_default_font_parameter): Remove dead assignment.
 -
 -      * lisp.h (Fbyteorder, init_font, Ffont_get_system_font): Declare.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xftfont.c (xftfont_fix_match): Older versions of fontconfig do
 -      not have FC_LCD_*.  #define them if not there.
 -
 -      * xsettings.c (parse_xft_settings, apply_xft_settings): Ditto.
 -
 -      * xterm.h (struct x_display_info): Add atoms and Window for xsettings.
 -
 -      * xterm.c (handle_one_xevent): Call xft_settings_event for
 -      ClientMessage, PropertyNotify and DestroyNotify.
 -      (x_term_init): If we have XFT, get DPI from Xft.dpi.
 -      Call xsettings_initialize.
 -
 -      * xftfont.c (xftfont_fix_match): New function.
 -      (xftfont_open): Call XftDefaultSubstitute before XftFontMatch.
 -      Call xftfont_fix_match after XftFontMatch.
 -
 -      * xfont.c (xfont_driver): Initialize all members.
 -
 -      * xfns.c (x_default_font_parameter):
 -      Try font from Ffont_get_system_font.
 -      Do not get font from x_default_parameter if we got one from
 -      Ffont_get_system_font.
 -      (Fx_select_font): Get the defaut font name from :name of FRAME_FONT(f).
 -
 -      * w32font.c (w32font_driver): Initialize all members.
 -
 -      * termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new.
 -
 -      * lisp.h: Declare syms_of_xsettings.
 -
 -      * keyboard.c (kbd_buffer_get_event, make_lispy_event):
 -      Handle CONFIG_CHANGED_EVENT.
 -
 -      * ftfont.c (ftfont_filter_properties): New function.
 -
 -      * frame.c (x_set_font): Remove unused variable lval.
 -
 -      * font.h (struct font_driver): Add filter_properties.
 -
 -      * font.c (font_put_extra): Don't return if val is nil, it means
 -      boolean option is off.
 -      (font_parse_fcname): Collect all extra properties in extra_props
 -      and call filter_properties for all drivers with extra_props and
 -      font as parameter.
 -      (font_open_entity): Do not use cache, it does not pick up new
 -      fontconfig settings like hinting.
 -      (font_load_for_lface): If spec had a name in it, store it in entity.
 -
 -      * emacs.c (main): Call syms_of_xsettings.
 -
 -      * config.in: HAVE_GCONF is new.
 -
 -      * Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF.
 -      xsettings.o is new.
 -
 -2009-11-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_produce_glyphs): Consider face-remapping when falling
 -      back to the default font in case that no suitable font is found.
 -
 -2009-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * menu.c (Fx_popup_menu) [HAVE_NS]: Use generic code for window edge.
 -      Suggested by Chad Brown <yandros@mit.edu>.
 -      (push_menu_item): Use MENU_ITEMS_ITEM_* names.
 -
 -2009-11-16  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (x_menu_wait_for_event): Call XFlush before select.
 -
 -2009-11-14  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in: Ignore errors from mkdir when creating deps directory.
 -
 -2009-11-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_update_frame_menubar): Do nothing if menubar already
 -      has a parent.
 -
 -      * Makefile.in: If AUTO_DEPEND is defined, make gcc generate
 -      dependency files in deps/.  Include those files into Makefile.
 -
 -      * config.in: Generated (AUTO_DEPEND).
 -
 -2009-11-13  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Vdbus_registered_objects_table): Rename from
 -      Vdbus_registered_functions_table, because it contains also
 -      properties.  Fix docstring.
 -      (Fdbus_call_method, Fdbus_call_method_asynchronously): Fix docstring.
 -
 -2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (mark_object): Don't reprocess marked strings.
 -      Check vector's markbit earlier.  Adjust calls to mark_vectorlike.
 -      (mark_vectorlike, mark_char_table): Assume the object is unmarked.
 -
 -2009-11-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * category.c (word_boundary_p): Adjust for the change of the
 -      semantics of Vword_combining_categories.
 -      (Vword_combining_categories): Describe the slight change of the
 -      semantics.
 -
 -2009-11-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * menu.c (Fx_popup_menu): Call Fx_hide_tip only if HAVE_WINDOW_SYSTEM.
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Revert last change.
 -
 -2009-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (syms_of_xdisp): Fix typo in last change.
 -
 -2009-11-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in: Update dependencies; add dependencies to lisp.h.
 -
 -2009-11-11  David Reitter  <david.reitter@gmail.com>
 -
 -      * menu.c (Fx_popup_menu): Remove left-over debugging code and rename
 -      variables to fix 2009-11-09 change.
 -
 -2009-11-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * process.c (ifflag_def): Make flag_sym constant.
 -      (Fnetwork_interface_info): Use a constant pointer.
 -      (ifflag_table):
 -      * xfns.c (cursor_bits):
 -      * xdisp.c (power_letter):
 -      * termcap.c (speeds, esctab):
 -      * sysdep.c (baud_convert):
 -      * keyboard.c (lispy_accent_codes, modifier_names):
 -      * image.c (xbm_format, xpm_format, pbm_format, png_format)
 -      (jpeg_format, tiff_format, gif_format, svg_format)
 -      (interlace_start, interlace_increment, gs_format):
 -      * gtkutil.c (separator_names):
 -      * fringe.c (swap_nibble):
 -      * fns.c (base64_value_to_char, base64_char_to_value):
 -      * fileio.c (make_temp_name_tbl):
 -      * coding.c (suffixes): Make constant.
 -
 -      * frame.c (make_initial_frame):
 -      * buffer.c (init_buffer_once): Use make_pure_c_string instead of
 -      build_string.
 -      * alloc.c (syms_of_alloc): Build Vmemory_signal_data in pure memory.
 -
 -      * s/freebsd.h:
 -      * s/netbsd.h: Remove code referring to non-existent file: unexsunos4.o.
 -
 -      * Makefile.in: Add dependencies to lisp.h.  Remove dependencies
 -      for non-existent files: unexmips.c, unexnext.c, abbrev.c, malloc.c.
 -
 -      * xfns.c (syms_of_xfns): Use make_pure_string instead of build_string.
 -      * xterm.c (syms_of_xterm):
 -      * xfaces.c (syms_of_xfaces):
 -      * xdisp.c (syms_of_xdisp):
 -      * lread.c (syms_of_lread):
 -      * keyboard.c (syms_of_keyboard): Use make_pure_c_string instead of
 -      build_string.
 -
 -      * doc.c (Fsnarf_documentation): Purecopy Vbuild_files.
 -
 -2009-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (Fplist_get): Merge the active and the commented out code.
 -
 -2009-11-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.h: Declare timer_check.
 -
 -      * keyboard.c (timer_check_2): New function that does what the old
 -      timer_check did.
 -      (timer_check): Call timer_check_2 until -1 or a non-zero time is
 -      returned, i.e. don't return -1 with timers pending.
 -
 -      * process.c: Remove extern declaration of timer_check.
 -
 -      * xmenu.c (x_menu_wait_for_event): Remove code that did a timeout
 -      even if timer_check returned -1.
 -
 -      * gtkutil.c (xg_dialog_response_cb): Data is now a struct
 -      xg_dialog_data.
 -      (pop_down_dialog): Destroy widget (if any), cancel timer and unref
 -      the event loop.
 -      (xg_maybe_add_timer, xg_dialog_run): New functions (bug #4574).
 -      (xg_get_file_name, xg_get_font_name): Call xg_dialog_run (bug #4574).
 -      Destroy the dialog after xg_dialog_run.
 -
 -2009-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * menu.c (Fx_popup_menu) [HAVE_NS]: Remove unused vars.
 -
 -2009-11-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (xmenu_show): Must not be static after 2009-11-09 changes.
 -
 -2009-11-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * menu.c [HAVE_NTGUI]: Declare current_popup_menu.
 -
 -2009-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * menu.c (Fx_popup_menu): Consolidate versions from xmenu.c,
 -      w32menu.c, and nsmenu.m.
 -      Simplify the obsolete case where position is nil.
 -      (cleanup_popup_menu): New function, moved from nsmenu.m.
 -      (struct skp): Remove slot `notreal'.
 -      (single_keymap_panes, keymap_panes): Remove arg `notreal' and
 -      adjust callers.
 -      (single_menu_item): Adjust call to parse_menu_item.
 -      (syms_of_menu): Defsubr x-popup-menu.
 -      * menu.h (Vmenu_updating_frame): Consolidate declarations from *menu.c.
 -      (keymap_panes): Don't export any more.
 -      (mouse_position_for_popup, w32_menu_show, ns_menu_show)
 -      (xmenu_show): Declare.
 -      * keyboard.c (parse_menu_item): Remove arg `notreal'.
 -      (menu_bar_item, read_char_minibuf_menu_prompt): Adjust callers.
 -      * keyboard.h (parse_menu_item): Update declaration.
 -      * xmenu.c (Fx_popup_menu): Remove.
 -      (syms_of_xmenu): Don't defsubr x-popup-menu.
 -      * w32menu.c (Fx_popup_menu): Remove.
 -      (syms_of_w32menu): Don't defsubr x-popup-menu.
 -      * nsmenu.m (cleanup_popup_menu): Remove.
 -      (ns_menu_show): Rename from ns_popup_menu and remove all the code
 -      moved to menu.c's Fx_popup_menu.
 -      (Fx_popup_menu): Remove.
 -      (syms_of_nsmenu): Don't defsubr x-popup-menu, and don't initialize
 -      menu_items (it's done in menu.c already).
 -
 -2009-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (parse_menu_item): Handle `notreal' a bit earlier.
 -      Use `tem' less.  Make sure KEYEQ holds a string or nil (bug#4879).
 -
 -2009-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xmenu.c (Fx_popup_menu): Extract event timestamp.  Pass it to
 -      xmenu_show.  Hide any tooltip before opening a menu.
 -      (xmenu_show): New arg.  Pass it to create_and_show_popup_menu.
 -      (create_and_show_popup_menu): New arg.  Pass it to gtk_menu_popup.
 -
 -2009-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Let integers use up 2 tags to give them one extra bit and thus double
 -      their range.
 -      * lisp.h (USE_2_TAGS_FOR_INTS): New macro.
 -      (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P):
 -      New macros.
 -      (enum Lisp_Type): Use them.  Give explicit values.
 -      (Lisp_Type_Limit): Remove.
 -      (XINT, XUINT, make_number) [!USE_LISP_UNION_TYPE]:
 -      (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
 -      Pay attention to USE_2_TAGS_FOR_INTS.
 -      (INTEGERP): Use LISP_INT_TAG_P.
 -      * fns.c (internal_equal): Simplify the default case.
 -      (sxhash): Use case_Lisp_Int.
 -      * data.c (wrong_type_argument): Don't check against Lisp_Type_Limit
 -      any more.
 -      (Ftype_of): Use case_Lisp_Int.
 -      (store_symval_forwarding): Take into account the fact that Ints can
 -      now have more than one tag.
 -      * buffer.c (syms_of_buffer): Use LISP_INT_TAG.
 -      buffer_slot_type_mismatch):
 -      * xfaces.c (face_attr_equal_p):
 -      * print.c (print_object):
 -      * alloc.c (mark_maybe_object, mark_object, survives_gc_p):
 -      Use case_Lisp_Int.
 -
 -2009-11-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce by further 30K.
 -
 -      * alloc.c (make_pure_c_string): Fix last change to avoid compiler
 -      warning.
 -
 -2009-11-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_event_is_for_scrollbar): New function (bug#4870).
 -
 -      * gtkutil.h: Declare xg_event_is_for_scrollbar (bug#4870).
 -
 -      * xterm.c (handle_one_xevent): Call xg_event_is_for_scrollbar for
 -      ButtonPressRelease and MotionNotify (bug#4870).
 -
 -2009-11-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keymap.c (syms_of_keymap): Construct exclude_keys in pure memory.
 -
 -      * xterm.c (syms_of_xterm):
 -      * xselect.c (syms_of_xselect):
 -      * xmenu.c (syms_of_xmenu):
 -      * xfns.c (syms_of_xfns):
 -      * xfaces.c (syms_of_xfaces):
 -      * xdisp.c (syms_of_xdisp):
 -      * window.c (syms_of_window):
 -      * w32fns.c (syms_of_w32fns):
 -      * undo.c (syms_of_undo):
 -      * textprop.c (syms_of_textprop):
 -      * terminal.c (syms_of_terminal):
 -      * syntax.c (syms_of_syntax):
 -      * sound.c (syms_of_sound):
 -      * search.c (syms_of_search):
 -      * print.c (syms_of_print):
 -      * minibuf.c (syms_of_minibuf):
 -      * macros.c (syms_of_macros):
 -      * keymap.c (syms_of_keymap, initial_define_key)
 -      (initial_define_lispy_key):
 -      * keyboard.c (syms_of_keyboard):
 -      * insdel.c (syms_of_insdel):
 -      * image.c (syms_of_image):
 -      * fringe.c (syms_of_fringe):
 -      * frame.c (syms_of_frame):
 -      * fontset.c (syms_of_fontset):
 -      * fns.c (syms_of_fns):
 -      * fns.c (syms_of_fns):
 -      * fileio.c (syms_of_fileio):
 -      * fileio.c (syms_of_fileio):
 -      * eval.c (syms_of_eval):
 -      * doc.c (syms_of_doc):
 -      * dispnew.c (syms_of_display):
 -      * dired.c (syms_of_dired):
 -      * dbusbind.c (syms_of_dbusbind):
 -      * data.c (syms_of_data):
 -      * composite.c (syms_of_composite):
 -      * coding.c (syms_of_coding):
 -      * cmds.c (syms_of_cmds):
 -      * charset.c (define_charset_internal, syms_of_character):
 -      * ccl.c (syms_of_ccl):
 -      * category.c (syms_of_category, init_category_once):
 -      * casetab.c (syms_of_casetab):
 -      * casefiddle.c (syms_of_casefiddle):
 -      * callint.c (syms_of_callint):
 -      * bytecode.c (syms_of_bytecode):
 -      * buffer.c (keys_of_buffer, syms_of_buffer):
 -      * alloc.c (syms_of_alloc):
 -      * process.c (syms_of_process, init_process):
 -      * lread.c (syms_of_lread, init_obarray):
 -      * font.c (build_style_table):
 -      * emacs.c (syms_of_emacs, main): Replace calls to intern with
 -      intern_c_string, calls to make_pure_string with
 -      make_pure_c_string.  Use pure_cons instead of Fcons.
 -
 -      * process.c (socket_options): Make it const.
 -      (set_socket_option, init_process): Use a const pointer.
 -
 -      * lread.c (intern_c_string): New function.
 -      (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
 -      (defvar_int): Uset it.  Make the name const char*.
 -
 -      * lisp.h (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
 -      (defvar_int): Update prototypes.
 -      (DEFUN, EXFUN): Support for prototypes is now required.
 -      (intern_c_string): New prototype.
 -      (struct Lisp_Subr): Make symbol_name constant.
 -
 -      * font.c (struct table_entry): Remove unused member.  Make NAMES
 -      constant.
 -      (weight_table, slant_table, width_table): Make constant.
 -
 -      * emacs.c (struct standard_args): Make name and longname constant.
 -
 -      * character.h (DEFSYM): Use intern_c_string.
 -
 -2009-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (make_pure_c_string): New function.
 -
 -      * eval.c (Fautoload): Purecopy all arguments.
 -
 -2009-11-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Be sure set coding-system of
 -      the buffer in case of replace.
 -
 -2009-11-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1620000.
 -
 -2009-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (save_restriction_restore): Update the (pt/begv/vz)_markers
 -      when applicable (bug#4851).
 -
 -      * lisp.h: Make USE_LSB_TAG work with USE_LISP_UNION_TYPE.
 -      (P_): Support for prototypes is now required.
 -
 -2009-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Fmake_frame_invisible, Fframe_visible_p): Doc fix
 -      (Bug#4827).
 -
 -2009-10-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure space.
 -
 -2009-10-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1470000.
 -
 -      * lread.c (Fload): Purecopy the file name when building
 -      Vpreloaded_file_list.
 -
 -2009-10-29  Jason Rumney  <jasonr@wanchan.jasonrumney.net>
 -
 -      * w32fns.c (syms_of_w32fns): Change default value of
 -      w32-scroll-lock-modifier to nil.  (Bug#2827)
 -
 -2009-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Fall_completions): Fix typos in docstring.
 -
 -2009-10-26  Andreas Schwab  <schwab@redhat.com>
 -
 -      * puresize.h (PURESIZE_RATIO): Increase back to 10/6.
 -
 -2009-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (grow_mini_window): Comment out "delta >= 0" assertion.
 -      For delta < 0, skip check that only makes sense when the mini-window
 -      is going to be enlarged.  (Bug#4534)
 -
 -2009-10-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char_x_menu_prompt): Don't demand a prompt
 -      string in menu maps (Bug#4471).
 -
 -2009-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_set_name, ns_set_name_as_filename): Don't call
 -      FRAME_NS_VIEW on terminal frames (Bug#4765).
 -
 -2009-10-24  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_INTnn and
 -      DBUS_TYPE_UINTnn separately to get proper sign extension.
 -
 -      * dired.c (Ffile_attributes): Simplify now that FIXNUM_OVERFLOW_P
 -      can properly handle unsigned types.
 -      (make_uid, make_gid): Remove.
 -
 -      * lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned
 -      types again.
 -
 -      * sysdep.c (procfs_ttyname): Fix sprintf format to match argument type.
 -      (system_process_attributes): Likewise.
 -
 -2009-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keymap.c (Fmake_sparse_keymap): Purecopy the name.
 -
 -      * eval.c (Fautoload): Purecopy the filename.  Simplify.
 -
 -      * category.c (Fdefine_category): Purecopy docstring.
 -
 -2009-10-23  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow.
 -
 -      * puresize.h (PURESIZE_RATIO): Decrease to 11/7.
 -
 -2009-10-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * window.c (Fwindow_edges, Fwindow_pixel_edges)
 -      (Fwindow_inside_edges, Fwindow_inside_pixel_edges): Doc fix
 -      (Bug#4775).
 -
 -2009-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (syms_of_fileio): Initialize Vdirectory_sep_char.
 -      (init_fileio_once):
 -      * lisp.h (init_fileio_once): Remove.
 -      * emacs.c (main): Don't call init_fileio_once.
 -
 -2009-10-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1430000.
 -
 -2009-10-21  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * doprnt.c (doprnt): Fix overflow check.
 -
 -2009-10-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_term_init): Remove XSynchronize call done for debugging.
 -
 -      * xterm.h (x_wait_for_event): Declare it.
 -
 -      * xterm.c (pending_event_wait): New variable.
 -      (handle_one_xevent): Set pending_event_wait.eventtype to 0 if we
 -      see pending_event_wait.eventtype.
 -      (handle_one_xevent): Don't change gravity when parent changes.
 -      (x_new_font): Call change_frame_size with new rows/columns before we
 -      try to resize the frame.
 -      (x_wait_for_event): New function.
 -      (x_set_window_size_1): Don't change gravity unless change_gravity
 -      is set.
 -      Call XResizeWindow with FRAME_OUTER_WINDOW.  If we are visible,
 -      don't change frame size, instead wait for the ConfigureNotify.
 -      (x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also.
 -      (x_wm_set_size_hint): Remove ifdefs for USE_X_TOOLKIT.
 -      (x_initialize): Initialize pending_event_wait.
 -
 -      * xmenu.c (set_frame_menubar): Add internal border width to menu bar
 -      size.
 -
 -      * widget.c (EmacsFrameSetValues): Add comment.
 -      (EmacsFrameSetCharSize): Just call x_set_window_size.
 -
 -      * gtkutil.c (xg_frame_set_char_size): Flush events and call
 -      x_wait_for_event.
 -      (flush_and_sync): Remove again.
 -      (xg_get_font_name): Suggest monospace if no previous font is known.
 -
 -2009-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * character.c (char_resolve_modifier_mask): Don't resolve meta to the
 -      8th bit, since that only made sense in the ASCII world (bug#4751).
 -
 -2009-10-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (XTread_socket) [!USE_GTK && HAVE_X_I18N]: Don't quit
 -      processing pending events when event is filtered for input method.
 -      (Bug#3681)
 -
 -2009-10-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c: Add #endif accidentally removed in previous change.
 -
 -2009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * fns.c: Remove code for unsupported system: MAC_OS.
 -      * image.c: Likewise.  Include setjmp.h.
 -
 -2009-10-19  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_create_toolkit_scroll_bar): Don't allocate color for
 -      pixel -1 (bug #4742).
 -
 -2009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * process.c (create_pty): Remove conditionals for no longer
 -      supported systems: UNIPLUS and RTU.
 -
 -      * xterm.c:
 -      * xfns.c: Remove always true condition: XtSpecificationRelease >= 5.
 -
 -      * alloc.c: Do not define struct catchtag.
 -      * eval.c: Move struct catchtag definition ...
 -      * lisp.h: ... here.
 -
 -      * image.c: Move png.h #include earlier to avoid warnings.
 -
 -      * xterm.c:
 -      * xsmfns.c:
 -      * xselect.c:
 -      * xrdb.c:
 -      * xmenu.c:
 -      * xftfont.c:
 -      * xfont.c:
 -      * xfns.c:
 -      * xfaces.c:
 -      * xdisp.c:
 -      * window.c:
 -      * widget.c:
 -      * w32xfns.c:
 -      * w32uniscribe.c:
 -      * w32term.c:
 -      * w32select.c:
 -      * w32reg.c:
 -      * w32proc.c:
 -      * w32menu.c:
 -      * w32inevt.c:
 -      * w32heap.c:
 -      * w32font.c:
 -      * w32fns.c:
 -      * w32console.c:
 -      * w32.c:
 -      * w16select.c:
 -      * vm-limit.c:
 -      * unexsol.c:
 -      * unexec.c:
 -      * unexcw.c:
 -      * unexaix.c:
 -      * undo.c:
 -      * tparam.c:
 -      * textprop.c:
 -      * terminfo.c:
 -      * terminal.c:
 -      * termcap.c:
 -      * term.c:
 -      * syntax.c:
 -      * sound.c:
 -      * sheap.c:
 -      * search.c:
 -      * scroll.c:
 -      * region-cache.c:
 -      * regex.c:
 -      * ralloc.c:
 -      * process.c:
 -      * print.c:
 -      * nsterm.m:
 -      * nsselect.m:
 -      * nsmenu.m:
 -      * nsimage.m:
 -      * nsfont.m:
 -      * nsfns.m:
 -      * msdos.c:
 -      * minibuf.c:
 -      * menu.c:
 -      * marker.c:
 -      * macros.c:
 -      * keymap.c:
 -      * keyboard.c:
 -      * intervals.c:
 -      * insdel.c:
 -      * indent.c:
 -      * gtkutil.c:
 -      * ftxfont.c:
 -      * ftfont.c:
 -      * fringe.c:
 -      * frame.c:
 -      * fontset.c:
 -      * font.c:
 -      * fns.c:
 -      * floatfns.c:
 -      * filelock.c:
 -      * fileio.c:
 -      * emacs.c:
 -      * editfns.c:
 -      * dosfns.c:
 -      * doprnt.c:
 -      * doc.c:
 -      * dispnew.c:
 -      * dired.c:
 -      * dbusbind.c:
 -      * data.c:
 -      * composite.c:
 -      * coding.c:
 -      * cmds.c:
 -      * cm.c:
 -      * chartab.c:
 -      * charset.c:
 -      * character.c:
 -      * ccl.c:
 -      * category.c:
 -      * casetab.c:
 -      * casefiddle.c:
 -      * callproc.c:
 -      * callint.c:
 -      * bytecode.c:
 -      * buffer.c:
 -      * atimer.c: Include setjmp.h.  (Bug#4643)
 -
 -2009-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Remove leftover table unibyte_to_multibyte_table.
 -      * character.c (unibyte_to_multibyte_table): Remove.
 -      (Funibyte_char_to_multibyte): Use MAKE_CHAR_MULTIBYTE.
 -      * charset.c (init_charset_once): Don't init unibyte_to_multibyte_table.
 -      * character.h (UNIBYTE_TO_CHAR): New macro.
 -      (MAKE_CHAR_MULTIBYTE): Use it.
 -      (unibyte_to_multibyte_table, unibyte_char_to_multibyte): Remove.
 -      * xdisp.c (get_next_display_element): USE ASCII_CHAR_P.
 -      (message_dolog, set_message_1):
 -      * search.c (Freplace_match):
 -      * editfns.c (Fcompare_buffer_substrings):
 -      * fns.c (Fcompare_strings): Use MAKE_CHAR_MULTIBYTE.
 -      (concat):
 -      * insdel.c (copy_text, count_size_as_multibyte):
 -      Use ASCII_CHAR_P and BYTE8_TO_CHAR.
 -      * term.c (produce_glyphs):
 -      * syntax.c (skip_chars): Use BYTE8_TO_CHAR.
 -      * regex.c (RE_CHAR_TO_MULTIBYTE):
 -      * cmds.c (internal_self_insert):
 -      * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use UNIBYTE_TO_CHAR.
 -
 -      * cmds.c (internal_self_insert): `c' is already in "multibyte" form.
 -
 -2009-10-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1310000.
 -
 -2009-10-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (Fbuffer_name): Doc fix.  (Bug#4728)
 -
 -2009-10-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (NS_HAVE_NSINTEGER): Back out and augment with CGFloat,
 -      still needed under Tiger.
 -
 -      * nsterm.m (EmacsView-conversationIdentifier): Arg is long.
 -
 -      * m/amdx86-64.h: Don't set LIB_STANDARD and START_FILES under
 -      __Apple__.
 -
 -      * m/intel386.h: Remove DARWIN_OS/_LP64 special case.
 -
 -2009-10-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * print.c (print_object): Escape a symbol like "2E10" too.
 -
 -2009-10-11  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Cleanups and changes for 64-bit compile under Snow Leopard.
 -      Based on suggestions by Erik Charlebois.
 -
 -      * nsfns.m (xw-color-values): Use CGFloat where appropriate.
 -
 -      * nsfont.m (ns_char_width): Replace deprecated call.
 -      (ns_findfonts, nsfont_list_family): Use long format in printf, and
 -      cast argument.
 -      (nsfont_open): Use ns_char_width() everywhere.
 -      (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where appropriate.
 -
 -      * nsgui.h (NSPoint, NSSize) [!__OBJC__]: Define and use CGFloat.
 -
 -      * nsimage.m (EmacsImage-setXBMColor:,-getPixelAtX:Y:): Use CGFloat
 -      where appropriate.
 -
 -      * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Use NSInteger
 -      where appropriate.
 -      (EmacsToolbar-addDisplayItemWithImage:idx:helpText:enabled:):
 -      Use stringWithUTF8String.
 -      (EmacsDialogPanel-initWithContentRect:styleMask:): Fix signature.
 -
 -      * nsterm.h (EmacsView, EmacsMenu, EmacsToolbar, EmacsTooltip):
 -      Add formal protocol mention to inheritance.
 -      [NS_HAVE_NSINTEGER]: Drop conditional and contents.
 -
 -      * nsterm.m (ns_color_to_lisp): Use CGFloat where appropriate.
 -      Fix printf format.
 -      (ns_query_color): Use CGFloat where appropriate.
 -      (EmacsView<NSTextInput>, EmacsScroller): Fix method signatures.
 -      (EmacsScroller-mouseDown:): Use long format in printf, and cast
 -      argument.
 -
 -      * config.in (NS_HAVE_NSINTEGER): Drop.
 -
 -      * dbusbind.c (dbus-method-return-internal)
 -      (dbus-method-error-internal): Use long format in printf, and cast
 -      argument.
 -
 -      * font.c (font_unparse_xlfd, font_unparse_fcname): Use long format
 -      in printf, and cast argument.
 -
 -      * process.c (list_processes_1): Use long format in printf, and
 -      cast argument.
 -
 -2009-10-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.c (Fframe_pixel_height): Doc fix.  (Bug#4535)
 -
 -2009-10-08  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (create_menus): Call gtk_widget_set_size_request for
 -      menu bar with a small width so it doesn't enlarge the frame.
 -
 -2009-10-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fontset.c (Fset_fontset_font): Fix typos in error messages.
 -
 -2009-10-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (emacs${EXEEXT}): Remove direct dependence on
 -      SOME_MACHINE_LISP (this enters indirectly via DOC).
 -
 -2009-10-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Doc fix.  (Bug#4638)
 -
 -2009-10-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (syms_of_xdisp) <unibyte-display-via-language-environment>:
 -      Doc fix.
 -
 -2009-10-03  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fdelete_window): Check WINDOW argument.  (Bug#4618)
 -
 -2009-10-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * lisp.h (Qdelete_directory_internal): Remove, because it is not
 -      used anymore outside fileio.c.
 -
 -      * w32fns.c (Fsystem_move_file_to_trash): Use delete-directory.
 -
 -2009-10-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lisp.h (Qdelete_directory_internal):
 -      Declare, instead of Qdelete_directory.
 -
 -      * w32fns.c (Fsystem_move_file_to_trash): Use it.
 -
 -2009-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (Fcalled_interactively_p): Add `kind' argument.
 -
 -2009-10-01  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * fileio.c (Fdelete_directory_internal): Rename from
 -      Fdelete_directory.  It is not a command anymore.  It has no file
 -      name handler.
 -
 -2009-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (get_next_display_element): Use an enum in last change.
 -
 -2009-09-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): Pay attention to
 -      unibyte_display_via_language_environment in handling
 -      Vnobreak_char_display.
 -
 -2009-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (ns_app_name): New extern variable.
 -
 -      * nsterm.m (ns_app_name): New variable.
 -      (ns_term_init): Set and use it.
 -      (ns_term_shutdown): Use it.
 -
 -      * nsmenu.m (ns_update_menubar): Use ns_app_name.  Sync with xmenu.c.
 -      (EmacsMenu-clear:, ns_popup_dialog): Use ns_app_name.
 -
 -      * nsfns.m (ns_set_name_iconic, ns_set_name)
 -      (ns_set_name_as_filename, x-create-frame, ns-get-resource)
 -      (ns-set-resource): Use ns_app_name instead of NSProcessInfo call.
 -
 -      * menu.c (find_and_return_menu_selection) [HAVE_NS]:
 -      Remove double-casting in client_data comparison.
 -
 -2009-09-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (make_lispy_event): Remember last wheel direction.
 -      (syms_of_keyboard) <wheel_syms>: Compute array size at compile time.
 -
 -2009-09-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (MSDOS_SUPPORT) [MSDOS]: Remove unneeded '/' in
 -      internal.elc.  Add term/pc-win.elc.
 -      (WINDOW_SUPPORT) [HAVE_X_WINDOWS]: Add term/common-win.elc and
 -      term/x-win.elc.
 -      (WINNT_SUPPORT) [WINDOWSNT]: Add term/common-win.elc and
 -      term/w32-win.elc.
 -      (NS_SUPPORT): New.
 -      (lisp): Add NS_SUPPORT.
 -      (SOME_MACHINE_LISP): Add term/w32-win.elc and emacs-lisp/easymenu.elc.
 -
 -2009-09-25  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsmenu.m (EmacsMenu-clear): Recognize application menu
 -      on Mac OS X 10.6+ (bug#4513).
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * frame.c (xrdb_get_resource): Return nil for empty string resources;
 -      some parts of Emacs code (like font selection) don't grok them.
 -      See http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html
 -
 -2009-09-24  Andreas Schwab  <schwab@redhat.com>
 -
 -      * coding.c (decode_coding_iso_2022): Fix operator precedence.
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dired.c (Fdirectory_files): Fix typo in docstring.
 -
 -2009-09-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EV_TIMESTAMP, x_set_window_size)
 -      (EmacsApp-application:openFiles:): Remove GNUstep conditionals.
 -      (EmacsScroller-setPosition:portion:whole:): Remove -display call
 -      under GNUstep.
 -      (EmacsView-initFrameFromEmacs:): Set autoresizing mask.
 -
 -      * nsfont.m (ns_glyph_metrics): Remove GNUstep conditional for
 -      glyph advancement.
 -
 -2009-09-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (CGContextSetFontRenderingMode): Drop declaration.
 -      (EmacsScroller-mouseDown:): Use SCROLL_BAR_FIRST_DELAY.
 -
 -      * nsmenu.m (EmacsMenu-menuNeedsUpdate): Ignore if frame has been
 -      deleted (bug #4492).
 -
 -      * nsfont.m (Vns_reg_to_script): New lisp variable.
 -      (syms_of_nsfont): Declare it.
 -      (ns_registry_to_script): New function.
 -      (ns_get_req_script): Call it.
 -      (ns_findfonts): Don't give up on non-unicode registry.
 -
 -      * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case.
 -
 -2009-09-20  Tom Tromey  <tromey@redhat.com>
 -
 -      * eval.c (find_handler_clause): Make stack-trace-on-error work in
 -      batch mode (bug#4228).
 -
 -2009-09-18  Rob Christie  <robchristie@gmail.com>  (tiny change)
 -
 -      * nsmenu.m (EmacsMenu-parseKeyEquiv:): Parse key equivalent more
 -      carefully.  (Bug #4339)
 -
 -2009-09-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * syntax.c (Fchar_syntax): Minor doc fix (Bug#4400).
 -
 -2009-09-18  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (inhibit_x_resources): Update doc string for NS.
 -      (main) [HAVE_NS]: Don't process --no-init-file option.  Remove
 -      legacy code for -NXHost.  Fix error printf in daemon case.
 -
 -      * nsterm.h (ns_no_defaults): Remove.
 -
 -      * nsterm.m (ns_no_defaults): Remove.
 -      (ns_term_init): Switch ns_no_defaults -> inhibit_x_resources.
 -      (ns_use_qd_smoothing): Remove legacy variable.
 -      (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and
 -      don't update the NSWindow itself.
 -      (EmacsView-windowWillUseStandardFrame:defaultFrame:): Improve
 -      state detection and store user rect ourselves.  (Bug #3581)
 -
 -      * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use
 -      ns_use_qd_smoothing.
 -
 -      * nsfns.m (x_get_string_resource): Ape just-previous changes to other
 -      platform versions.  Drop support for emacs-20-style face specs.
 -      (x-close-connection): Drop PSFlush() under OS X.
 -      (x-focus-frame): Activate the app first.  (Bug #4180)
 -
 -2009-09-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (inhibit_x_resources): New variable.
 -      (main) [HAVE_NS]: Don't process --quick command line option.
 -      (syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
 -
 -      * lisp.h (inhibit_x_resources): Declare it extern.
 -
 -      * w32reg.c (x_get_string_resource):
 -      * xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
 -
 -2009-09-17  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP):
 -      Add lisp/term/internal.elc.
 -
 -2009-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (x_get_resource_string): Re-add for non-toolkit builds
 -      (bug#4461).
 -
 -2009-09-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1290000.
 -
 -      * Makefile.in (OTHER_FILES): Define using autoconf, not cpp.
 -      (OBJECTS_MACHINE): Remove, unused.
 -
 -2009-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (x_get_resource_string): Remove unused.
 -
 -2009-09-15  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_new_font): Call change_frame_size before calling
 -      x_set_window_size, in case frame size won't change.
 -
 -      * frame.c (x_set_font): Remove dead code.
 -
 -2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Fload): Also run do-after-load-evaluation while dumping.
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Fload): Don't output a message after loading an obsolete
 -      package any more (done in Lisp now).
 -
 -2009-09-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (syms_of_fns): Doc fix (Bug#4227).
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fwhere_is_internal): Use nconc2.
 -
 -2009-09-11  Alan Mackenzie  <acm@muc.de>
 -
 -      * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover
 -      batch mode.
 -
 -2009-09-11  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xdisp.c (display_mode_element): Detect cycles.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (where_is_internal): Don't erroneously return nil right after
 -      filling the cache.
 -      (where_is_internal_1): Fix up typo.
 -
 -2009-09-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
 -      share a common doc-string.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (get_keymap): Return the actual keymap symbol rather than
 -      t for autoloaded keymaps when autoloading is not allowed (bug#4393).
 -
 -      * keymap.c (QCadvertised_binding): New constant.
 -      (syms_of_keymap): Initialize it.
 -      (Fwhere_is_internal): Try and use bindings from :advertised-binding
 -      if applicable.
 -
 -2009-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
 -      (parse_menu_item): Streamline since bindings are recomputed all the
 -      time anyway.  Don't bother checking Vdefine_key_rebound_commands any
 -      more and don't support lmenu's menu-alias any more either.
 -
 -      * keymap.c (where_is_internal_data): Make noindirect a boolean.
 -      (where_is_internal): Strip it down to only traverse the keymaps.
 -      Move the cache handling from Fwhere_is_internal to here.
 -      (Fwhere_is_internal): Move the handling of remapping and the choice of
 -      the best binding from where_is_internal to here.
 -      Unify the cached/noncached paths, so remapping is also handled
 -      correctly when the cache is used, and so the cache can be used to
 -      speed up remap-handling when applicable.
 -      Give preference to non-remapped bindings.
 -      * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
 -      non-remapped bindings.
 -      * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
 -      command remapping.
 -
 -      * xdisp.c (display_mode_element): Move list length limit from 50 to
 -      5000 (see thread starting with <xbaik5174uqu.fsf@cam.ac.uk>).
 -
 -2009-09-09  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_get_family): Don't force first letter to uppercase.
 -
 -2009-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (Vtruncate_partial_width_windows): Improve docstring.
 -      (Bug#4334)
 -
 -      * keymap.c (where_is_internal): Filter out shadowed remappings.
 -      Assume that where_is_internal returns unshadowed bindings to simplify
 -      the code and get rid of the gotos.  Use ASIZE.
 -
 -2009-09-04  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_focus_changed): If we get a focusout and pointer
 -      is invisible, make it visible.
 -
 -      * xterm.h: Remove condition for declaration of
 -      x_*_window_to_frame.
 -
 -2009-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dispnew.c (Fsend_string_to_terminal): Make it work again on the
 -      initial terminal as well.
 -
 -2009-09-02  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h: Rename x_non_menubar_window_to_frame to
 -      x_menubar_window_to_frame.
 -
 -      * xterm.c: Remove declarations also in xterm.h
 -      (XTmouse_position): Do not return valid positions
 -      for clicks in the menubar and the toolbar for Gtk+.
 -
 -      * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals,
 -      if the widget for the event has the same top level as a frame,
 -      return the frame.
 -      (x_menubar_window_to_frame): Detect menu bar even with Gtk+
 -      internal windows, bug #4122.
 -      (x_non_menubar_window_to_frame): Remove.
 -
 -2009-09-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * buffer.c (default-major-mode): Move most of the doc from here...
 -      (major-mode): ... to here.
 -
 -2009-08-30  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * process.c (wait_reading_process_output): Keep the descriptor
 -      when pty is used by a non-child process, e.g., in I/O buffer of
 -      GDB this allows inferior to be restarted.
 -
 -2009-08-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (redisplay_internal): Remove redundant test and collapse
 -      both branches into one.
 -
 -2009-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte.
 -      (main): Use enable-multibyte-characters rather than
 -      default-enable-multibyte-characters.  Output a warning message when
 -      running a unibyte session.
 -
 -2009-08-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases
 -      LC_DYLD_INFO and LC_DYLD_INFO_ONLY.
 -      (copy_data_segment): Also copy __program_vars section.
 -      (copy_dyld_info) [LC_DYLD_INFO]: New function.
 -      (dump_it) [LC_DYLD_INFO]: Use it.
 -
 -      * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN.
 -
 -2009-08-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on
 -      $(SRC)/buildobj.h.
 -      (buildobj.h): Renamed from $(SRC)/buildobj.h.
 -      (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not
 -      $(SRC)/buildobj.h.
 -      (clean): Add buildobj.h.
 -
 -2009-08-28  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * print.c (print_object): Set escapeflag to 1 when printing
 -      hashtable keys and values.
 -
 -2009-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (read_integer): Use doubles (and potentially return a float
 -      number) as we do in string-to-number.
 -      (read1): Use strtol to read integers, signal errors on strtol's
 -      overflow and use floats if strtol's output is too large for
 -      Elisp integers.
 -
 -2009-08-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD)
 -      (make-buildobj-SH): Fix last change.
 -      (SRC): Move to before where it's first used.
 -
 -2009-08-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (send_process): Use encode_coding_object instead of
 -      encode_coding_string to perform eol-conversion even if the string
 -      is unibyte.
 -
 -      * coding.c (encode_coding_utf_16): Fix checking of a Unicode
 -      character.
 -
 -      * cmds.c (Fself_insert_command): Avoid unnecessay
 -      unibyte->multibyte conversion.  (Bug#4240)  (Bug#4037)
 -
 -2009-08-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * callproc.c (Fcall_process): Remove always true #if.
 -
 -      * lisp.h: Replace #if 0 code for checking with text pointing to
 -      the --enable-checking configure flag.
 -
 -      * emacs.c (main): Mention the --enable-profiling configure flag
 -      instead of using CFLAGS.
 -
 -2009-08-26  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * Makefile.in (buildobj.h): New target.
 -      (doc.o): Depend on it.
 -      (temacs${EXEEXT}): Don't generate buildobj.lst.
 -      (mostlyclean): Delete buildobj.h, not buildobj.lst.
 -      * makefile.w32-in ($(SRC)/buildobj.h): New target.
 -      ($(BLD)/doc.$(O)): Depend on it.
 -      (make-buildobj-CMD, make-buildobj-SH): New targets.  (Syntax help
 -      provided by Eli Zaretskii.)
 -      ($(TEMACS)): Don't generate buildobj.lst.
 -      * doc.c: Include buildobj.h.
 -      (buildobj): New static variable.
 -      (Fsnarf_documentation): Use it, instead of opening and reading
 -      buildobj.lst.
 -
 -2009-08-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_call_method)
 -      (Fdbus_call_method_asynchronously): Use English numeric format for
 -      timeout values in doc string.
 -
 -2009-08-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * alloc.c (mark_char_table): New function.
 -      (mark_object): Use mark_char_table for a char-table.
 -
 -      * lisp.h (CHAR_TABLE_REF_ASCII): New macro.
 -      (CHAR_TABLE_REF): Use it.
 -
 -2009-08-23  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH
 -      before invoking the newly build emacs to check for load-path
 -      shadowing.
 -
 -2009-08-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (bootstrap_exe): New variable.
 -      (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}):
 -      Use ${bootstrap_exe}.
 -
 -2009-08-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.h (encode_coding_string): Don't encode unibyte strings.
 -      (Bug#4047)
 -
 -2009-08-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add.
 -
 -      * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove.  It was
 -      intended as hotfix only.
 -      (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD.
 -
 -2009-08-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_get_color): Update documentation properly for last
 -      change, and clean up loose ends in the code left by it.  Fix
 -      longstanding bug with 16-bit hex parsing, and add support for
 -      yet another X11 format (rgb:r/g/b) for compatibility.
 -      * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of
 -      timer_check() to avoid crash on Leopard/PPC.  Bug #2154.
 -
 -2009-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el.
 -
 -2009-08-20  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro.
 -      (xd_add_watch, xd_remove_watch): Use it.  Print debug messages.
 -      (xd_initialize, xd_pending_messages): Check, whether
 -      $DBUS_SESSION_BUS_ADDRESS is set.
 -
 -2009-08-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * nsfns.m (Fxw_color_values): Return 3-element list.  Doc fix.
 -
 -      * nsterm.m (ns_get_color): Remove incompatible color formats again.
 -
 -2009-08-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (system-type): Doc fix.
 -
 -2009-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be
 -      enough for the most common situations.  Avoid SET_SYMBOL_VALUE.
 -
 -2009-08-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus):
 -      New functions.
 -      (xd_initialize): Revert change from 2009-08-16.
 -
 -2009-08-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffontset_font): If a nil element is found in a
 -      font-group vector, return nil.
 -
 -2009-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (status_notify): Don't perform redisplay.
 -      (Fdelete_process, list_processes_1, process_send_signal):
 -      Expliticly perform redisplay.
 -      (wait_reading_process_output): Always check process status, but
 -      don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930).
 -
 -2009-08-17  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value.
 -      (XFLOAT_INIT): New macro for storing a float value.
 -      * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT.
 -      * fns.c (sxhash): Copy out the value of a float in order to
 -      examine its bytes.
 -      * dbusbind.c (xd_append_arg): Likewise.
 -
 -      * emacs.c (main): Don't call syms_of_data twice.
 -
 -2009-08-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_initialize): Add connection file descriptor to
 -      input_wait_mask, in order to let select() detect, whether a new
 -      message has been arrived.
 -      (Fdbus_call_method_asynchronously): Allow nil HANDLER.
 -
 -2009-08-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_get_dispatch_status, xd_pending_messages):
 -      New functions.
 -
 -      * lisp.h (xd_pending_messages): Declare.
 -
 -      * keyboard.c (readable_events): Call xd_pending_messages.
 -
 -2009-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936).
 -
 -      * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131).
 -
 -      * buffer.c (set_buffer_internal_1)
 -      (swap_out_buffer_local_variables): Check for unbound local
 -      variables (Bug#4138).
 -
 -2009-08-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (create_pty): Fix last change.
 -
 -2009-08-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (xbm_read_bitmap_data): New arg inhibit_image_error.
 -      (xbm_load_image): Caller changed.
 -      (xbm_file_p): Avoid signalling an image_error (Bug#4107).
 -
 -2009-08-13  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * process.c (create_pty): New function.
 -      (Fstart_process): Use it to allow Emacs to just associate a pty
 -      with the buffer.  See associated change in gdb-mi.el.
 -      (list_processes_1): Deal with no program name.
 -      (start_process_unwind): Use pid == -2 to mean no process.
 -
 -2009-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * cmds.c (nonundocount): New global variable.
 -      (keys_of_cmds): Initialize it.
 -      (Fself_insert_command): Use it to combine upto 20 sequential chars
 -      into a single undo entry, just like the Qself_insert_command code in
 -      keyboard.c does.
 -      Call frame_make_pointer_invisible, also like the Qself_insert_command
 -      code in keyboard.c does.
 -      * keyboard.c (command_loop_1): Use the new global nonundocount rather
 -      than its own local replacement for it.
 -
 -2009-08-10  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * fns.c (concat): Don't re-set string length to its current value.
 -
 -      * coding.h (decode_coding_string, encode_coding_string):
 -      Use SBYTES macro.
 -
 -      * doprnt.c (doprnt_lisp): Delete unused function.
 -      (doprnt): Merge with doprnt1, discarding lispstrings code.
 -      * lisp.h (doprnt_lisp): Don't declare.
 -
 -2009-08-07  Juri Linkov  <juri@jurta.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1270000.
 -
 -2009-08-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * print.c (syms_of_print): Undo previous change.
 -
 -2009-08-05  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * lread.c (read1, syms_of_lread): Read hashtables back from the
 -      readable format.
 -
 -      * print.c (print_preprocess, print_object): Print hashtables fully
 -      and readably.
 -      (syms_of_print): Provide 'hashtable-print-readable.
 -
 -2009-08-02  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has
 -      no family set.
 -      (nsfont_open): Handle case when entity has no family.
 -
 -2009-07-29  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one
 -      element, not a list, for match case.
 -
 -2009-07-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more
 -      rigidly.
 -
 -      * xfont.c (xfont_list_pattern): Don't ignore the return value of
 -      font_parse_xlfd.  Check font properties more rigidly.
 -
 -2009-07-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in
 -      bsd-common.h.
 -
 -2009-07-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (face_with_height): Call font_clear_prop.
 -
 -2009-07-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (init_display): Use Qx, Qw32, and Qns.
 -
 -      * xterm.c (x_term_init): Use Qx.
 -
 -      * nsfont.m (nsfont_draw): Revert 2009-07-15 change.
 -
 -      * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change.
 -      (ns_get_color): Revert 2009-07-16 change.
 -
 -2009-07-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (syms_of_lread) <force_load_messages>: New variable.
 -      (Fload): Use it to force load messages, even if NOMESSAGES is non-nil.
 -
 -2009-07-25  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * coding.h (decode_coding_string, encode_coding_string):
 -      Use SCHARS macro.
 -
 -      * lread.c: Rewrite 2009-07-21 changes.
 -      (load_depth): Delete.
 -      (Qload_in_progress): New variable.
 -      (load_unwind): Don't reference load_depth or load_in_progress.
 -      (Fload): Likewise; specbind Qload_in_progress instead.
 -      (init_lread): Don't initialize load_depth.
 -      (syms_of_lread): Initialize and protect Qload_in_progress.
 -
 -2009-07-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_findfonts): Correctly return fallback in match case.
 -
 -2009-07-23  Yavor Doganov  <yavor@gnu.org>
 -
 -      * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep.
 -
 -2009-07-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger.
 -      Bugs 3792, 3720, 2402.
 -      (ns_lookup_indexed_color): Check for bad index.
 -      (ns_index_color): Init unused slot to 0.
 -      (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if().
 -      Bug 3714, possibly 3082.
 -
 -2009-07-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]:
 -      Position IME window at cursor (Bug#2570).
 -      (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished.
 -      (globals_of_w32fns): Dynamically load functions required above.
 -
 -      * w32term.c (w32_draw_window_cursor): Send message to reposition
 -      any IME window.
 -
 -2009-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c: Revert 2009-07-16 changes.
 -      (Vauto_save_include_big_deletions): New variable.
 -      (Fdo_auto_save): Disable auto-save only if
 -      auto-save-include-big-deletions is nil.
 -
 -2009-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): For continued lines ending in a tab, take
 -      the overflowed pixels into account (Bug#3879).
 -
 -2009-07-21  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * lread.c (load_depth): New variable.
 -      (Fload, load_unwind, init_lread): Set it to the load recursion
 -      depth; set load_in_progress as a simple boolean based on the
 -      current load_depth.  (Bug#3892)
 -
 -2009-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_has_attribute): Remove.
 -      (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead.
 -
 -2009-07-18  Juri Linkov  <juri@jurta.org>
 -
 -      * process.c (Fset_process_query_on_exit_flag): Mention killing
 -      a buffer in docstring.
 -
 -2009-07-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * casetab.c (shuffle): Fix the logic of setting up the cycle.
 -
 -2009-07-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * nsfns.m (Fns_set_alpha): Remove function.
 -      (syms_of_nsfns): Don't defsubr it.
 -
 -      * nsterm.m (ns_get_color): Remove incompatible color formats.
 -      (ns_color_to_lisp): Generate #rrggbb color format string.
 -
 -2009-07-16  Richard Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2.
 -      (Fset_buffer_auto_saved): Handle save_length = -2.
 -
 -2009-07-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (Qx_gtk_map_stock): New var.
 -
 -      * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead
 -      of calling intern each time.
 -
 -2009-07-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * nsfont.m (nsfont_draw): Remove code for stippling, which actually
 -      does tiling.
 -
 -      * nsterm.m (ns_maybe_dumpglyphs_background): Likewise.
 -
 -2009-07-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_vconcat_entity_vectors): New function.
 -      (struct font_sort_data): New member font_driver_preference.
 -      (font_compare): Check font_driver_preference.
 -      (font_sort_entities): The format of the first argument changed.
 -      (font_delete_unmatched): Likewise.
 -      (font_list_entities): The return type changed.
 -      (font_select_entity): The format of the second argument changed.
 -      (font_find_for_lface): Adjuste for the above changes.
 -      Don't suppress the checking of C even if the repertory supports it.
 -      (Flist_fonts): Adjust for the above changes.
 -
 -      * ftfont.c (ftfont_spec_pattern): New arg langname.  Change caller.
 -      (ftfont_list): Adjust for the change of ftfont_spec_pattern.
 -      Reject a font who has adstyle property that is different from a
 -      langname derived from registry property.
 -      (ftfont_match): Adjust for the change of ftfont_spec_pattern.
 -
 -2009-07-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a
 -      local copy of dirfilename.
 -
 -2009-07-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * chartab.c (sub_char_table_ref_and_range): Fix the range check
 -      against max_char.
 -
 -      * cmds.c (internal_self_insert): Check sym by SYMBOLP before
 -      calling XSYMBOL (sym).
 -
 -2009-07-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
 -      New function.
 -      (directory_files_internal) [WINDOWSNT]:
 -      Bind w32-get-true-file-attributes to either t or nil, depending whether
 -      the filesystem of the directory is fast or slow.
 -
 -      * w32.c (logon_network_drive): Don't assume PATH is an absolute
 -      file name.
 -      (is_slow_fs): New function.
 -      (stat): Use it to determine whether to issue more system calls to
 -      get accurate file attributes, when w32-get-true-file-attributes is
 -      `local'.
 -
 -2009-07-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_select_font): Remember last font selected in
 -      x_last_font_name and use that the next time.  Also try the frame
 -      parameter font-parameter as default to the font dialog.
 -
 -2009-07-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE.
 -
 -2009-07-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
 -
 -      * w32.c (stat): Treat UNC file names as residing on remote
 -      drives.  (Bug#3542)
 -
 -2009-07-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix previous change.
 -
 -2009-07-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message)
 -      (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of
 -      error flag.
 -
 -2009-07-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix the logic of handling
 -      charset_matched.
 -      (font_for_char): Delete unused var.
 -      (generate_ascii_font_name): Delete it.
 -
 -      * coding.h (JIS_TO_SJIS2): Fix the code range check.
 -
 -      * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly.
 -      (encode_coding_sjis): Fix the code range check.
 -
 -2009-07-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory)
 -      (Fexpand_file_name): Copy string data properly (Bug#3772).
 -
 -2009-07-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the
 -      first MapNotify.
 -
 -2009-07-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (unibyte_has_multibyte_table): Delete extern.
 -      (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it.
 -
 -      * charset.c (Fset_charset_priority): Update charset_unibyte.
 -      (syms_of_charset): Initialize charset_unibyte.
 -
 -      * character.c (unibyte_has_multibyte_table): Delete it.
 -      (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking
 -      charset_unibyte.
 -      (multibyte_char_to_unibyte_safe): Likewise.
 -      (Funibyte_char_to_multibyte): Don't check charset_unibyte.
 -
 -      * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte.
 -      (x_produce_glyphs): Likewise.
 -
 -      * .gdbinit (xcharset): Fix the treating $arg0.
 -
 -2009-07-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Emulation of `getloadavg' on MS-Windows.
 -      * w32.c: Include float.h
 -      (g_b_init_get_native_system_info, g_b_init_get_system_times)
 -      (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare.
 -      (get_native_system_info, get_system_times): New functions.
 -      (buf_next, buf_prev, sample_system_load, getavg): New subroutines.
 -      (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo.
 -      (globals_of_w32): Initialize g_b_init_get_native_system_info,
 -      g_b_init_get_system_times, and num_of_processors.
 -
 -2009-07-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Use standard types.
 -
 -2009-07-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Decode user and group names by the
 -      locale's encoding.  (Bug#3443)
 -
 -2009-07-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused.
 -      (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused.
 -
 -      * callproc.c (child_setup): Use #else instead of a separate #ifdef.
 -
 -      * term.c (init_tty): Remove spurious #ifdef.
 -
 -      * m/mips.h: Mention this file is also used for netbsd.
 -      * m/pmax.h: Remove file.
 -
 -2009-07-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Add invisible_cursor.
 -      (struct x_output): Add current_cursor.
 -
 -      * xterm.c (XTtoggle_invisible_pointer): New function.
 -      (x_define_frame_cursor): Don't define cursor if invisible or the
 -      same as before.  Set current_cursor.
 -      (x_create_terminal): Set toggle_invisible_pointer_hook.
 -
 -      * xfns.c (make_invisible_cursor): New function.
 -      (x_set_mouse_color): Call make_invisible_cursor.
 -      Set current_cursor.
 -      (x_window): Set current_cursor.
 -
 -      * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook.
 -
 -      * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after
 -      inserting a character.
 -      (read_avail_input): Call frame_make_pointer_visible.
 -
 -      * frame.c (Vmake_pointer_invisible): New variable.
 -      (frame_make_pointer_invisible, frame_make_pointer_visible):
 -      New functions.
 -      (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt.
 -
 -      * frame.h: Declare frame_make_pointer_invisible and
 -      frame_make_pointer_visible.
 -      (struct frame): Add pointer_invisible.
 -
 -2009-07-02  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_frame_set_char_size): Do set width/height if the
 -      frame isn't visible.
 -      (xg_frame_resized): If width/height is -1, get size of window
 -      from X server.
 -
 -      * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK
 -      for MapNotify.
 -
 -      * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height
 -      here or call change_frame_size.  Just call flush_and_sync.
 -      (flush_and_sync): Reintroduce.
 -
 -2009-07-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky.
 -
 -      * xterm.c (x_handle_net_wm_state): Also look for sticky.
 -      (x_term_init): Initialize Xatom_net_wm_state_sticky.
 -
 -      * frame.h: Declare Qsticky.
 -
 -      * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
 -
 -      * nsfns.m (ns_frame_parm_handlers): Ditto.
 -
 -      * frame.c: Declare Qsticky.
 -      (frame_parms): Add sticky.
 -
 -      * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
 -
 -      * xterm.h: Declare x_set_sticky.
 -
 -      * xterm.c (x_set_sticky): New function.
 -
 -      * gtkutil.c (xg_tool_bar_proxy_help_callback): New function.
 -      (xg_tool_bar_menu_proxy): Attach enter/leave events to
 -      xg_tool_bar_proxy_help_callback.
 -
 -      * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
 -
 -      * frame.c: Qmaximized is new.
 -      (x_set_frame_parameters): Do not handle fullscreen specially.
 -      Only set width and height if explicitly set.
 -      (x_set_fullscreen): Handle Qmaximized.
 -      (x_set_font, x_figure_window_size): Do not handle fullscreen specially.
 -      (syms_of_frame): Initialize Qmaximized.
 -
 -      * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED.
 -      Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized.
 -
 -      * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen
 -      for Expose event.  Add call to x_check_fullscreen for MapNotify event.
 -      Remove all code w.r.t. fullscreen from ConfigureNotify event.  Do not
 -      set gravity to NorthWestGravity when USE_GTK.
 -      (set_wm_state): New function.
 -      (do_ewmh_fullscreen): Use set_wm_state.  Also handle FULLSCREEN_MAXIMIZED.
 -      (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED.
 -      (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen
 -      or the case when no window manager is running.  That means remove calls
 -      to x_real_positions and x_fullscreen_adjust.
 -
 -      * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove.
 -      (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and
 -      flush_and_sync.
 -      (xg_height_changed): New function.
 -      (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request
 -      and gtk_window_set_policy.  Set frame gravity after parsing the
 -      geometry string.
 -      (xg_update_frame_menubar, free_frame_menubar)
 -      (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
 -      (update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed.
 -      Remove calls to xg_frame_set_char_size.
 -
 -2009-07-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keyboard.c (decode_keyboard_code): New function.
 -      (tty_read_avail_input): Decode the input bytes if necessary.
 -
 -      * coding.c (setup_coding_system):
 -      Initialize coding->carryover_bytes to 0.
 -      (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil,
 -      use Qno_conversion.
 -
 -2009-07-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc.
 -
 -2009-06-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace.
 -
 -2009-06-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Use GetModuleHandle for library that
 -      is already loaded.
 -      Set user model ID if supported (bug#1849).
 -
 -2009-06-29  Jim Meyering  <meyering@redhat.com>
 -
 -      Remove useless if-before-xfree test.
 -      * nsfont.m (nsfont_close): Remove useless test.
 -      * term.c (delete_tty): Likewise.
 -      * w32.c (system_process_attributes): Likewise.
 -      * w32font.c (w32font_close): Likewise.
 -      * xfaces.c (x_free_gc): Likewise.
 -      * xselect.c (buffer): Likewise.
 -
 -2009-06-28  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * process.c (send_process): Keep decoded string in a local
 -      variable and protect it from GC.  (Bug#3521)
 -
 -2009-06-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (create_tty_output) [MSDOS]: #ifdef away.
 -      (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version.
 -
 -2009-06-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (start_display, handle_face_prop)
 -      (move_it_vertically_backward, cursor_row_fully_visible_p)
 -      (redisplay_window, try_window_id, produce_image_glyph):
 -      Delete some #ifdef-ed out code chunks that are now obsolete.
 -
 -      * xterm.c (x_update_window_begin, x_new_focus_frame)
 -      (x_scroll_bar_handle_click, handle_one_xevent)
 -      (handle_one_xevent, XTread_socket, x_focus_on_frame)
 -      (x_make_frame_visible, x_make_frame_invisible)
 -      (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out
 -      code chunks that are now obsolete.
 -
 -2009-06-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
 -      xd_symbol_to_dbus_type.  With Solaris 2.11, it was said to compile
 -      for hours, when optimzation is enabled.
 -      (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
 -      (xd_read_message): Make them static.
 -
 -2009-06-27  Chuck Blake  <cblake@pdos.csail.mit.edu>  (tiny change)
 -
 -      * term.c (turn_on_face): Allow simultaneously bold and dim
 -      terminal faces (Bug#3530).
 -
 -2009-06-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (x_get_arg): Check if dpyinfo is non-NULL.
 -
 -      * xdisp.c (mouse_face_from_buffer_pos): Fix detection of
 -      truncation glyphs (Bug#3686).
 -
 -2009-06-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/pmax.h: Restore file, with only netbsd portions.
 -
 -2009-06-26  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (keydown): Avoid infinite loop.
 -
 -2009-06-26  Peter Jolly  <peter@jollys.org>  (tiny change)
 -
 -      * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as
 -      the arg FORCE_SYMBOL.
 -
 -2009-06-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): When a usable rfont_def is found
 -      in a fallback font-group, make it the first element of the group.
 -
 -2009-06-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671).
 -
 -2009-06-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_get_font_group): Return 0 if no font-group is
 -      set for C.
 -      (fontset_font): Record the availability of a font for C both in
 -      the realized fontsets of the current one and the default one.
 -
 -2009-06-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS
 -      conditional, it is always defined on AIX.
 -
 -2009-06-23  Miles Bader  <miles@gnu.org>
 -
 -      * window.c (Vrecenter_redisplay): New variable.
 -      (syms_of_window): Initialize it.
 -      (Qtty): New extern declaration.
 -      (Frecenter): Only do redisplay if Vrecenter_redisplay requests it.
 -
 -2009-06-23  Jim Meyering  <meyering@redhat.com>
 -
 -      * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt):
 -      Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap
 -      pointer dereferences are guaranteed to be valid.
 -
 -2009-06-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * emacs.c (main): Call init_font ().
 -
 -      * font.h (Vfont_log): Extern it.
 -      (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros.
 -
 -      * font.c (font_sort_entities, font_list_entities)
 -      (font_matching_entity, font_open_entity)
 -      (font_close_object): Change font_add_log to FONT_ADD_LOG.
 -      (Vfont_log): Delete static.
 -      (font_log_env_checked): Delete this variable.
 -      (font_add_log): Don't check font_log_env_checked.
 -      (font_deferred_log): Check Vfont_log.
 -      (init_font): New function.
 -
 -      * ftfont.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * w32font.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * xfont.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * fontset.c (fontset_font): Call FONT_DEFERRED_LOG.
 -      (face_for_char): Don't call font_deferred_log here.
 -      (font_for_char): Likewise.
 -
 -2009-06-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * w32term.c (x_draw_glyph_string): Use the glyph string's width
 -      rather than its background_width for drawing the overline and
 -      underline (Bug#489).
 -
 -      * xterm.c (x_draw_glyph_string): Use the glyph string's width
 -      rather than its background_width for drawing the overline and
 -      underline (Bug#489).
 -      (xg_default_icon_file): New variable.
 -      (syms_of_xterm): Initialize it to the Emacs SVG icon file.
 -      (x_bitmap_icon): Under GTK, use xg_default_icon_file.
 -
 -      * xdisp.c (Qbefore_string, Qafter_string): Add externs.
 -      (load_overlay_strings): Remove externs.
 -      (fast_find_position): Function deleted.
 -      (mouse_face_from_buffer_pos): New function, based on
 -      fast_find_position.  Correctly handle before-strings,
 -      display-strings, and after-strings (Bug#1220).
 -      (note_mouse_highlight): Use mouse_face_from_buffer_pos.
 -
 -2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM.
 -      (move_it_in_display_line_to, move_it_in_display_line_to)
 -      (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM.
 -
 -2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Branch for 23.1.
 -
 -2009-06-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (keyboard_codepage): New static variable.
 -      (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
 -      (w32_read_socket) [WM_CHAR]: Use it to decode character
 -      input (bug#3237).
 -      (w32_initialize): Initialize it.
 -      (codepage_for_locale): New function.
 -
 -2009-06-20  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * process.c (status_message): Pass Faset index argument as a lisp
 -      object, so as to work with USE_LISP_UNION_TYPE.
 -
 -2009-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * coding.c (Ffind_coding_systems_region_internal):
 -      Cache checked characters.
 -
 -2009-06-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly.
 -
 -2009-06-18  Andreas Schwab  <aschwab@redhat.com>
 -
 -      * xdisp.c (redisplay_internal): Check that the frame is still
 -      live after redisplay of its windows.
 -      (redisplay_windows): Check that the window is still live.
 -
 -2009-06-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * coding.c (detect_coding_utf_16): Fix previous change.
 -
 -2009-06-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_utf_16): Fix the logic of rejecting
 -      UTF-16 by checking the dispersion of Eth and Oth bytes.
 -
 -2009-06-15  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
 -
 -2009-06-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (status_message): Fix previous change.  Be sure to
 -      decode a localized string.
 -
 -2009-06-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_delete_terminal): Put previous change in #if 0 and
 -      add comment explaining why.
 -
 -2009-06-14  Sidney Markowitz  <sidney@sidney.com>
 -
 -      * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
 -
 -2009-06-14  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_attribute_value): Remove.
 -      (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
 -      (ns_has_attribute): Shrink the normal range.
 -      (ns_findfonts): Don't worry about requested spec in determining
 -      need for synthItal.
 -      (ns_get_covering_families): Retain scriptToFamilies.
 -
 -2009-06-14  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
 -
 -2009-06-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
 -      overhang for the static composition case.
 -
 -2009-06-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
 -      overhang for the automatic composition case.
 -
 -      * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
 -      composition case.
 -
 -2009-06-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (get_next_display_element): When handling wrap-prefix
 -      and line-prefix, treat \n as a control character (bug#3502).
 -
 -2009-06-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_family_registry): Fix for one-char foundry.
 -      (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
 -
 -2009-06-09  Dmitry Dzhus  <dima@sphinx.net.ru>  (tiny change)
 -
 -      * process.c (status_message): Fix handling of multibyte signal
 -      string (Bug#3499).
 -
 -2009-06-09  Jim Meyering  <meyering@redhat.com>
 -
 -      * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
 -      color name is missing.
 -
 -2009-06-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fmap_charset_chars): In docstring, state clearly that
 -      FROM-CODE and TO-CODE are codepoints of CHARSET.
 -
 -2009-06-08  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_use_system_highlight_color): Drop, unused.
 -
 -2009-06-08  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Changes to support :script/:lang/:otf in NS font driver.
 -      * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
 -      (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
 -      indicate not part of font driver interface, and change callers.
 -      (ns_get_family): Remove pointless null check.
 -      (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
 -      ns_spec_to_descriptor, ns_descriptor_to_entity.
 -      (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
 -      (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
 -      (ns_spec_to_descriptor, ns_descriptor_to_entity)
 -      (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
 -      (ns_get_req_script, ns_accumulate_script_ranges)
 -      (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
 -      New functions.
 -      (nsfont_list, nsfont_match): Use ns_findfonts.
 -      (nsfont_open): Use font descriptor instead of traits.
 -      (nsfont_draw): Handle "automatic" (lookup-table) compositions.
 -      (dump_glyphstring): Rename to ns_dump_glyphstring.
 -
 -      * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
 -
 -      * nsfns.m (Fns_popup_font_panel): Use shared font manager.
 -
 -      * fontset.c (fontset_from_font): Remove NS-specific code.
 -
 -2009-06-08  Peter Jones  <pjones@pmade.com>  (tiny change)
 -
 -      * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
 -      nonactive windows.
 -
 -2009-06-08  Felix Mueller  <felix@enqueue.eu>  (tiny change)
 -
 -      * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable.
 -
 -2009-06-08  Wolfgang Lux  <wolfgang.lux@gmail.com>  (tiny change)
 -
 -      * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
 -
 -2009-06-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_in_display_line_to): On text-only terminals,
 -      account for the overflowing of newlines into the last glyph on the
 -      display line (Bug#3482).
 -
 -2009-06-05  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
 -      (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
 -      Fns_selection_exists_p, Fns_selection_owner_p.
 -
 -2009-06-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
 -      available.  (Bug#3379)
 -
 -2009-05-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (get_translation_table):
 -      Check Venable_character_translation.
 -
 -2009-05-26  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_raise_frame): Only raise frame if visible.
 -      (x_make_frame_visible): Move frame to front rather than calling
 -      ns_raise_frame().
 -      (keyDown:): Do not swallow events that aren't re-sent if frame
 -      isn't key window.
 -      (drawRect:): Do not set visibility/iconified flags because
 -      drawRect may be called by NSView even if the frame is hidden.
 -
 -      * nsfns.m (Fx_create_frame): Follow other ports in
 -      determining visibility; default to t.  Ensure async_visible is set.
 -
 -2009-05-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Doc fix.
 -
 -2009-05-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
 -
 -2009-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
 -      and xfont_scratch_props.
 -      (syms_of_xfont): Do it here instead.
 -      (xfont_find_ccl_program): Delete, unused.
 -      (xfont_open): Delete unused var `i'.
 -
 -2009-05-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Qlatin): Don't make it static.
 -
 -      * xfont.c (xfont_chars_supported, xfont_supported_scripts):
 -      New functions.
 -      (xfont_scripts_cache, xfont_scratch_props): New variables.
 -      (Qlatin, Vscalable_fonts_allowed): Extern it.
 -      (xfont_list_pattern): Argument changed.  Callers changed.
 -      Check Vscalable_fonts_allowed.  Check the support of a script.
 -      (xfont_list): Don't reject a font spec with :script property.
 -      (xfont_has_char): Fix setting of encoding.
 -      (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
 -      xfont_scratch_props.
 -
 -2009-05-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_sort_entities): Rename from font_sort_entites.
 -      Callers changed.
 -
 -2009-05-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
 -
 -2009-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
 -      (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
 -
 -2009-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
 -      (x_delete_terminal): Dissociate resource database from display and
 -      then call XrmDestroyDatabase before closing display.
 -
 -2009-05-18  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_read_socket): Remove unused variable.
 -      * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
 -      whether selected frame is viable before raising it (based on patch
 -      by David Reitter), and improve commentary.
 -      * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
 -
 -2009-05-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_spec): Check arguments.
 -
 -2009-05-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
 -      weight when testing attributes (Bug#3282).
 -
 -2009-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
 -      what we expect to get in the next ConfigureNotify event.
 -
 -      * xftfont.c (xftfont_open): Make sure that Xrender extension is added
 -      before Xft one (Bug#1696).
 -
 -2009-05-07  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (Fx_display_planes): Compute bitplanes using
 -      NSBitsPerPixelFromDepth (Bug#3207).
 -
 -2009-05-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
 -
 -2009-05-10  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
 -
 -2009-05-07  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
 -      Respect mouse face background.
 -
 -2009-05-07  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
 -      Mouse movement/highlight: bracket drawing operations
 -      in ns_update_begin and ns_update_end.
 -
 -2009-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * nsfns.m (ns_get_screen): Rewrite.
 -      Don't presume selected-frame is of type `ns'.
 -
 -      * font.c (font_update_drivers): Sanity fallback to avoid disabling
 -      all drivers.
 -
 -      * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
 -
 -2009-05-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.h (add_user_signal): Fix typo in extern.
 -
 -      * lisp.h (add_user_signal): Remove extern.
 -
 -      * unexelf.c (unexec): Consider a section to precede the .bss section
 -      if its addresses overlap that of .bss.
 -      (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
 -      instead of dumping process.
 -
 -2009-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
 -
 -2009-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
 -
 -2009-05-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xterm.c (x_handle_net_wm_state): Move declaration of lval before
 -      any statements.
 -
 -2009-05-02  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * process.c (read_process_output): Make sure the current buffer is
 -      always restored.
 -
 -      * coding.c (record_conversion_result): Don't modify
 -      Vlast_code_conversion_error for successful result.
 -      (alloc_destination): Don't clobber conversion result.  (Bug#1650)
 -
 -2009-05-01  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
 -
 -      * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
 -      (load_charset_map): Remove unnecessary code.
 -
 -2009-04-30  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
 -      through f24.
 -
 -2009-04-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (face_at_buffer_position): New arg base_face_id.
 -
 -      * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
 -      face_at_buffer_position.
 -      (face_before_or_after_it_pos, get_next_display_element)
 -      (note_mouse_highlight): Update face_at_buffer_position call.
 -
 -      * term.c (term_mouse_highlight):
 -      * msdos.c (IT_note_mouse_highlight):
 -      * fontset.c (Finternal_char_font):
 -      * font.c (font_at, font_range): Update face_at_buffer_position call.
 -
 -      * dispextern.h (face_at_buffer_position): Update prototype.
 -
 -2009-04-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
 -
 -2009-04-29  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * callproc.c (Fcall_process): Fix GC protection.  Make sure
 -      current buffer is always restored.
 -
 -2009-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * atimer.c (init_atimer): Also clear stopped_atimers.
 -
 -      * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
 -
 -      * process.c (create_process): Clean up merger residues of
 -      2008-07-17 change.
 -
 -2009-04-29  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * lread.c (Vread_circle): New variable.
 -      (read1): Disable recursive read if Vread_circle is nil.
 -
 -2009-04-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.h (set_default_ascii_font): Delete extern.
 -
 -      * fontset.c (set_default_ascii_font): Delete this unused function.
 -
 -      * frame.c (x_set_font): When ARG is a font-object, check if the
 -      font-object matches with the ASCII font-spec of the frame's
 -      fontset.  If not, create a new fontset for the frame.  (Bug #3075)
 -
 -2009-04-28  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * fns.c (Flocale_info): Protect vector from GC during decoding.
 -
 -      * process.c (Fstart_process): Protect argv strings from GC during
 -      encoding.
 -
 -2009-04-27  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * sysdep.c: Include <ctype.h>.
 -
 -2009-04-27  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfont.m (nsfont_open): Remove unused variable shrink.
 -      Remove commented-out code.
 -
 -2009-04-26  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
 -
 -2009-04-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
 -
 -2009-04-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
 -      Swap bytes in short integer if fringe bitmap width > 8.
 -
 -2009-04-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fx_list_fonts): If a font size is specified in
 -      PATTERN, set it in returned scalable fonts.
 -
 -2009-04-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (Fset_input_meta_mode): Doc fix.
 -
 -      * dispnew.c (Fsend_string_to_terminal): Doc fix.
 -
 -      * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes.
 -
 -      * coding.c (Fterminal_coding_system): Doc fix.
 -
 -      * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
 -      (Fx_display_pixel_height, Fx_display_planes)
 -      (Fx_display_color_cells, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_screens)
 -      (Fx_display_mm_height, Fx_display_mm_width)
 -      (Fx_display_backing_store, Fx_display_visual_class)
 -      (Fx_display_save_under, Fx_close_connection, Fx_synchronize):
 -      Doc fixes, replacing "terminal id" with "terminal object".
 -      (check_x_display_info): Handle terminal objects instead of
 -      terminal ids.
 -
 -      * term.c (Ftty_display_color_p, Ftty_display_color_cells)
 -      (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
 -      (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions):
 -      Doc fixes, replacing "terminal id" with "terminal object".
 -
 -2009-04-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_load_for_lface): Cancel previous change (bug#2994).
 -      (font_score): Check AVGWIDTH too.
 -
 -      * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
 -      worst case.
 -      (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
 -      (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise.
 -
 -2009-04-19  Jason Rumney  <jasonr@gnu.org>
 -
 -      The following changes fix Bug#3005 for wide glyphs on each platform,
 -      without reintroducing Bug#1258 for stretch glyphs.
 -
 -      * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
 -      BAR_CURSOR and HBAR_CURSOR.  Calculate width of HBAR_CURSOR using
 -      get_phys_cursor_geometry.
 -
 -      * w32term.c (x_draw_bar_cursor): Limit cursor width differently
 -      for BAR_CURSOR and HBAR_CURSOR.  Calculate width of HBAR_CURSOR
 -      using get_phys_cursor_geometry.
 -
 -      * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
 -      correctly calculated.
 -
 -2009-04-19  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar):
 -      Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
 -      (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
 -      is deprecated.
 -
 -2009-04-18  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * font.c (font_put_frame_data): Use xfree instead of free.
 -
 -2009-04-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c (Qja, Qko): Remove declarations.
 -      (syms_of_w32font): Don't DEFSYM them.
 -
 -2009-04-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (Qja, Qko): Move definitions here from ftfont.c.
 -
 -      * font.h (Qja, Qko): Extern them.
 -
 -      * ftfont.c (Qja, Qko): Remove declarations.
 -
 -      * xfont.c (Qja, Qko): Remove declarations.
 -
 -2009-04-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
 -      string from a vector to handle Latin-1 characters correctly.
 -
 -      * ftfont.c (ftfont_pattern_entity): Return a newly allocated
 -      entity even if the cache hits.
 -
 -2009-04-16  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * search.c (boyer_moore): Use zero as marker value for a possible
 -      match instead of depending on overflow behavior.  (Bug#2844)
 -
 -      * search.c: Use EMACS_INT for buffer positions.  Add prototypes.
 -      * lisp.h: Adjust prototypes.
 -
 -2009-04-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (adjust_point_for_property): Disable 2009-02-12
 -      change (Bug#3003).
 -
 -2009-04-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle.
 -
 -      * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
 -      adstyle.
 -
 -      * ftfont.c (Qja, Qko): Don't make them static.
 -      (enum ftfont_cache_for): New enum.
 -      (fc_charset_table): Undo the previous change.
 -      (ftfont_get_latin1_charset): Delete it.
 -      (ftfont_pattern_entity): Check cache by ftfont_lookup_cache.
 -      Set FONT_SIZE_INDEX of the entity to 0 for a scalable font.  For a
 -      non-scarable font, try to get AVERAGE_WIDTH.
 -      (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
 -      Change ft_face_cache from a list of a hash-table.  Don't check
 -      `ja' and `ko' adstyle here.
 -      (ftfont_get_fc_charset): Call ftfont_lookup_cache with
 -      FTFONT_CACHE_FOR_CHARET.
 -      (ftfont_get_charset): Undo the previous change.
 -      (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE.
 -      (ftfont_close): Likewise.
 -      (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
 -
 -      * font.c (font_sort_entites): Change the meaning of the arg
 -      BEST-ONLY.  Don't optimize for VEC of lenght 1.
 -      (font_select_entity): Just return the value of font_sort_entites.
 -
 -      * xfaces.c (merge_face_vectors): Reflect font properties in
 -      to[LFACE_FONT_INDEX] to the other face attributes.  Don't call
 -      font_clear_prop if a face attribute doesn't change.
 -
 -      * charset.h (charset_ksc5601): Extern it.
 -
 -      * charset.c (charset_ksc5601): New variable.
 -      (Fdefine_charset_internal): Set charset_ksc5601.
 -      (init_charset_once): Initialize charset_ksc5601 to -1.
 -
 -2009-04-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * fileio.c (history_delete_duplicates): Remove unused declaration.
 -
 -      * callint.c (history_delete_duplicates): New declaration.
 -      (Fcall_interactively): Remove command history duplicates when
 -      history_delete_duplicates is true.
 -
 -2009-04-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
 -
 -2009-04-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_info): Fix docstring.  Fix the second element of
 -      the returned value (bug#2949).
 -
 -2009-04-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
 -
 -2009-04-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_has_char): The font has C if C is ASCII and the
 -      encoding charset is ascii_compatible.
 -
 -      * charset.c (Fdefine_charset_internal): Make charset
 -      ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
 -      code_offset is 0, and covers all ASCII characters.
 -
 -2009-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
 -      (ns_string_to_pasteboard_internal):
 -      * nsmenu.m (process_dialog):
 -      * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
 -      * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
 -      * lisp.h (Fx_load_color_file): Declare.
 -
 -2009-04-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_delete_unmatched): Preserve the order of list elements.
 -      (font_select_entity): Suppress the code to optimize for the same
 -      kind of fonts.
 -      (font_load_for_lface): Get a font that supports at least ASCII
 -      characters.
 -
 -      * ftfont.c (Qja, Qko): New variables.
 -      (fc_charset_table): Delete uniquifier data for iso8859-1.
 -      (ftfont_get_latin1_charset): New function.
 -      (get_adstyle_property): New function.
 -      (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
 -      bitmap fonts.
 -      (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
 -      Delete iso-8859-1 range from the charset of fonts whose adstyle is
 -      `ko' or `ja'.
 -      (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
 -      (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset.
 -      (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
 -      property.
 -      (ftfont_open): Call ftfont_lookup_cache with ENTITY.
 -      (syms_of_ftfont): DEFSYM Qja and Qko.
 -
 -2009-04-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (map_charset_chars): For a charset of `superset'
 -      method, fix calculation of code range.
 -
 -      * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
 -      from the list of extra properties.
 -      (font_clear_prop): Be sure to delete `:name' font property.
 -
 -2009-04-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (redraw_overlapping_rows): Fix detection of
 -      overlapping for topmost and bottommost rows.
 -
 -      * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent.
 -
 -2009-04-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
 -
 -2009-04-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
 -
 -      * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
 -
 -2009-04-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * ftfont.c (ftfont_open): Fix checking of the return value of
 -      FT_Load_Char.  Fix setting font->underline_thickness.
 -
 -2009-04-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
 -      (Fterminal_parameters, Fterminal_parameter)
 -      (Fset_terminal_parameter): In doc string, refer to terminal
 -      objects rather than terminal ids.
 -
 -2009-04-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
 -      ret_lim_data.  (Bug#2867)
 -
 -2009-04-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
 -      so they don't get wider than the window, matching 2006-01-23
 -      change to the partner function in xdisp.c (Bug#2800).
 -
 -2009-04-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * print.c (print_object): Make each lowest sub_char_table start a
 -      new line (Bug#2866).
 -
 -2009-04-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_font): Record no-font when a fontset
 -      explicitly tells not to try another font-specs.
 -
 -2009-03-30  Pierre Poissinger  <pierre.poissinger@gmail.com>  (tiny change)
 -
 -      * charset.c (map_charset_for_dump): Add missing UNGCPRO.
 -
 -2009-03-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_from_font): Specify only registry in a
 -      font-spec for all characters supported by that registry.
 -
 -      * ftfont.c: Fix previous change.  Define ftfont_variation_glyphs
 -      even if HAVE_M17N_FLT is not defined.
 -
 -2009-03-29  Sebastian Rose  <sebastian_rose@gmx.de>  (tiny change)
 -
 -      * ftfont.c: Conditionalize prototyping and use of
 -      ftfont_variation_glyphs.
 -
 -2009-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (delete_frame): Work around compiler bug.
 -
 -      * editfns.c (general_insert_function): Adjust to insdel.c changes.
 -      * insdel.c (prepare_to_modify_buffer, signal_before_change):
 -      Some more EMACS_INT.
 -      * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
 -
 -      * xdisp.c (dump_glyph): Fix typo.
 -
 -      * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
 -      (adjust_markers_gap_motion, adjust_markers_for_delete)
 -      (adjust_markers_for_insert, adjust_point)
 -      (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
 -      (make_gap, copy_text, count_size_as_multibyte, insert)
 -      (insert_and_inherit, insert_before_markers)
 -      (insert_before_markers_and_inherit, insert_1)
 -      (count_combining_before, count_combining_after, insert_1_both)
 -      (insert_from_string, insert_from_string_before_markers)
 -      (insert_from_string_1, insert_from_gap, insert_from_buffer)
 -      (insert_from_buffer_1, adjust_after_replace)
 -      (adjust_after_replace_noundo, adjust_after_insert, replace_range)
 -      (replace_range_2, del_range, del_range_1, del_range_byte)
 -      (del_range_both, del_range_2, modify_region)
 -      (prepare_to_modify_buffer, signal_before_change)
 -      (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
 -      for buffer positions and sizes.
 -      * lisp.h: Adjust prototypes accordingly.
 -
 -      * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
 -      (non_regular_inserted, non_regular_nbytes, read_non_regular)
 -      (Finsert_file_contents): Use EMACS_INT for buffer positions.
 -
 -      * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
 -
 -2009-03-27  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
 -      lines and columns so we keep the same pixel height and width.
 -
 -      * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
 -      the property _NET_WM_STATE has changed.
 -      (x_handle_net_wm_state): New function to update frame parameter
 -      fullscreen.
 -      (x_term_init): Initialize atoms for _NET_WM_STATE.
 -
 -      * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
 -
 -2009-03-27  Kevin Ryde  <user42@zip.com.au>
 -
 -      * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
 -      Gpm_GetEvent as an error that justifies closing the filedescriptor.
 -      * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
 -      (Fgpm_mouse_stop): Pass that new parameter.
 -      * termhooks.h (close_gpm): Adjust prototype.
 -
 -2009-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (Fx_focus_frame): Declare.
 -
 -      * callint.c (Fcall_interactively): For '^' just delegate the work to
 -      handle-shift-selection.
 -      (syms_of_callint): Move declaration of shift-select-mode to simple.el.
 -
 -2009-03-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Ffloat_time): Doc fix (Bug#2768).
 -
 -      * data.c (Qinteractive_form): New variable.
 -      (Finteractive_form): Use it.
 -
 -      * eval.c (Fcommandp): Use Qinteractive_form.
 -
 -2009-03-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
 -      Calculate total size precisely.  Decode environment variables
 -      before substituting.  (Bug#38)
 -
 -2009-03-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (find_font_encoding): Return Qnil for unsupported
 -      encoding (Bug#2722).
 -
 -2009-03-23  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
 -      that gdpy is set.
 -
 -2009-03-22  Alan Mackenzie  <acm@muc.de>
 -
 -      * callint.c (Finteractive): Clarify the doc string - even
 -      promptless elements need \n separators.
 -
 -2009-03-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (syms_of_w32term): Doc fix for
 -      x-use-underline-position-properties.
 -
 -2009-03-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (getpwuid): Change argument type to unsigned.
 -      (struct w32_id): Change type of `rid' member to unsigned.
 -      (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
 -      argument ID to unsigned.  All callers changed.
 -      (getuid, geteuid, getgid, getegid): Change return type to unsigned.
 -
 -2009-03-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
 -      negative, produce a float value.
 -
 -      * dired.c (make_uid, make_gid): New functions.
 -      (Ffile_attributes): Use them to avoid negative UID and GID.
 -
 -2009-03-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * keyboard.c (Fcurrent_idle_time): Reflow docstring.
 -      (syms_of_keyboard) <command-hook-internal, input-method-function>:
 -      Fix typos in docstrings.
 -
 -2009-03-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fset_fontset_font): When a spec of ASCII font is
 -      changed, use font_load_for_lface to get a new font object.
 -      Call free_realized_fontset after handling ASCII font change.
 -
 -      * frame.c (x_set_font): Handle the case that ARG is a cons.
 -
 -2009-03-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Fsubstitute_in_file_name): Doc fix.
 -
 -2009-03-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
 -
 -2009-03-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (load_charset_map_from_file): When a mapfile can't be
 -      loaded, signal an error.
 -
 -2009-03-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Make sure UID and GID are always
 -      positive, even if the value is too large for a positive EMACS_INT.
 -      Doc fix.
 -
 -      * editfns.c (Fuser_login_name): Support float arguments.  Doc fix.
 -
 -2009-03-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xmenu.c (xdialog_show): Move Fredisplay call ...
 -      (Fx_popup_dialog): ... here.
 -
 -2009-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Disable the first optimization just
 -      installed, since it is not implemented correctly.
 -
 -2009-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Check completion-ignored-extensions
 -      only if the entry can affect bestmatch.
 -      Stop the search early, as Ftry_completion already does.
 -
 -2009-03-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
 -
 -2009-03-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (parse_menu_item): Don't display remappings as menu
 -      equivalent bindings (Bug#788).
 -
 -2009-03-15  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.h (WM_EMACS_PAINT): New message.
 -      * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
 -      * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
 -      before passing to lisp thread.  (Bug#950)
 -
 -2009-03-14  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
 -      variable as it was never reset.
 -      (ns_term_init): Remove initialization of Lisp-settable defaults
 -      and ns_expand_space.
 -      (-setPanelFromDefaultValues): Remove ns_expand_space.
 -      (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
 -      * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
 -      i.e. no additional spacing, similar to Carbon port.
 -
 -      * nsterm.h: Define KEY_NS_SHOW_PREFS key.
 -      * nsfns.m (ns-popup-prefs-panel): Remove.
 -
 -2009-03-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * sound.c (alsa_configure): Remove call to deprecated
 -      snd_pcm_sw_params_set_xfer_align.
 -
 -2009-03-14  Stephen Berman  <stephen.berman@gmx.net>
 -
 -      * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
 -      after clicking in a detached tool bar.
 -      (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
 -
 -2009-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
 -      int/Lisp_Object mixup).
 -
 -2009-03-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
 -      Handle NAME nil and t correctly.  Callers changed.
 -      (font_def_arg, add_arg, from_arg, to_arg): Delete them.
 -      (set_fontset_font): Change ARG to a vector.  Handle range_list in
 -      ARG correctly.
 -      (Fset_fontset_font): Fix the case that TARGET is both a script
 -      name and charset name.  Adjust the arg to set_fontset_font for
 -      the above change.
 -      (fontset_from_font): Fix previous change.
 -      (Ffontset_info): Adjust for the 2008-07-09 change of fontset
 -      entry.  If FONTSET is the default fontset, don't set the extra
 -      slot of the returning char-table.
 -
 -2009-03-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * nsfns.m (Fx_close_connection): Doc fix.
 -      (Fns_do_applescript): Reflow docstring.
 -      (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
 -      (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
 -      Fix typos in docstrings.
 -      (Fns_set_alpha): Fix typos in error messages.
 -
 -2009-03-12  David Reitter  <david.reitter@gmail.com>
 -
 -      * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
 -      non-key system events on NS.  Formerly, NON_ASCII_KEYSTROKE_EVENT
 -      were used for such events.
 -
 -      * nsterm.m (newFrame, openFile, fulfillService, changeFont)
 -      (toggleToolbar, performDragOperation, runHelp): Use it.
 -
 -      * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
 -      NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
 -
 -2009-03-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (font_open_by_spec): Extern it.
 -
 -      * font.c (font_open_by_spec): New function.
 -      (font_open_by_name): Use font_open_by_spec.
 -
 -      * frame.c (x_set_font): When ARG is a font-object, don't alter the
 -      fontset of the frame.
 -
 -      * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
 -      modify the default font of frames that use this fontset.
 -      (num_auto_fontsets): New variable.
 -      (fontset_from_font): Use num_auto_fontsets to decide a fontset
 -      name.  Be sure to set FONTSET_ASCII to the correct font name.
 -      (update_auto_fontset_alist): New function.
 -
 -2009-03-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in: Update dependencies.
 -
 -2009-03-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (syms_of_nsfns): Remove Qbuffered.
 -
 -2009-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
 -
 -2009-03-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * lread.c (Feval_buffer): Doc fix.
 -
 -2009-03-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Qfile_name_handler_alist): Extern it.
 -      (load_charset_map_from_file): Temporarily bind
 -      `file-name-handler-alist' to nil while calling openp.  (Bug#2435)
 -
 -2009-03-06  Aaron Ecay  <aaronecay@gmail.com>  (tiny change)
 -
 -      * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
 -      not two, and use NSRectFill instead of NSDrawGroove.  (Bug#2352)
 -
 -2009-03-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
 -      (x_set_window_size): Change back to calculated method of setting
 -      toolbar height under Cocoa.  (Bug#2546)
 -      (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
 -      (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
 -
 -      * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
 -
 -      * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
 -      accelerator in parens under GNUstep.
 -
 -2009-03-06  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are to detect incorrect composition sequence without
 -      looking ahead the source.  (Bug#2370)
 -
 -      * coding.h: Include "composite.h".
 -      (enum compisition_state): New enum.
 -      (struct compisition_status): New struct.
 -      (struct iso_2022_spec): New member cmp_status.
 -      (struct emacs_mule_spec): New struct.
 -      (struct coding_system): New members ctext_extended_segment_len and
 -      embedded_utf_8.  Change the union member
 -      spec.emacs_mule_full_support to spec.emacs_mule.
 -
 -      * coding.c (CODING_ISO_CMP_STATUS): New macro.
 -      (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
 -      (MAX_ANNOTATION_LENGTH): Define to 5.
 -      (ADD_COMPOSITION_DATA): New arg nbytes.
 -      (emacs_mule_char): New arg cmp_status.
 -      (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
 -      (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
 -      (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
 -      (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
 -      (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
 -      (EMACS_MULE_COMPOSITION_END): New macro.
 -      (emacs_mule_finish_composition): New function.
 -      (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
 -      (decode_coding_emacs_mule): Avoid long looking ahead while
 -      handling composition.
 -      (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
 -      (ENCODE_COMPOSITION_RULE): New macro.
 -      (finish_composition): New function.
 -      (MAYBE_FINISH_COMPOSITION): Call finish_composition.
 -      (DECODE_COMPOSITION_START): New implementation.
 -      (DECODE_COMPOSITION_END): Likewise.
 -      (STORE_COMPOSITION_RULE): New macro.
 -      (decode_coding_iso_2022): Avoid long looking ahead while handling
 -      composition, CTEXT extended segment, and embedded UTF-8.
 -      (setup_coding_system): For a coding of type iso-2022, reset
 -      CODING_ISO_EXTSEGMENT_LEN (coding) and
 -      CODING_ISO_EMBEDDED_UTF_8 (coding).
 -      (get_translation): Delete arguments last_block, from_nchars,
 -      to_nchars.  Callers changed.
 -      (produce_chars): Don't modify charbuf.  Adjusted for the change of
 -      get_translation.
 -      (produce_composition): Adjust for the new annotation sequence.
 -      (handle_composition_annotation): Likewise.
 -      (consume_chars): Adjust for the change of get_translation.
 -
 -2009-03-05  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_select): Shortcircuit if reentrant call.  (Bug#2564)
 -
 -2009-03-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_select_entity): New function.
 -      (font_find_for_lface): Use font_select_entity to select a font.
 -
 -      * fontset.c (fontset_find_font): If a font found without
 -      restricting to the characters C doesn't support C, try to find a
 -      font with C restriction.
 -
 -2009-03-04  Nikolaj Schumacher  <me@nschum.de>
 -
 -      * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
 -
 -2009-03-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
 -      characters that have already been read.  (Bug#2569)
 -
 -      * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
 -      Log an error message if check_image_size failed.
 -      (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
 -      (gs_load): Mention max-image-size in size error message.  (Bug#2560)
 -
 -2009-03-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
 -      when decoding process output.
 -
 -2009-03-01  Richard M Stallman  <rms@gnu.org>
 -
 -      * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
 -
 -      * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
 -
 -2009-02-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (decode_coding_utf_8, decode_coding_utf_16)
 -      (decode_coding_emacs_mule, decode_coding_iso_2022)
 -      (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_raw_text, decode_coding_charset)
 -      (setup_coding_system, decode_eol, decode_coding, consume_chars):
 -      Honor inhibit-eol-conversion.  (Bug #2186)
 -
 -2009-02-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * coding.c (detect_coding_charset): If not checking latin extra,
 -      fail on characters between 0x80 and 0xA0.  (Bug#2354)
 -
 -2009-02-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (detect_coding_charset): Fix change from 2008-10-21.
 -      Also, check iso-latin-*, not only iso-8859-*.  (Bug#2497)
 -
 -2009-02-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * callint.c (Finteractive): Doc fix.
 -
 -2009-02-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
 -
 -2009-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_style_to_value): Set value for unknown symbols to
 -      100 instead of 255.
 -      (weight_table, slant_table, width_table): Treat "unspecified" as
 -      the default value.
 -
 -2009-02-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
 -
 -2009-02-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lread.c (Fload): Stop checking Vloads_in_progress and signal
 -      error as soon as a recursive load is detected.
 -
 -2009-02-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_ring_bell): Convert rect to window coordinates
 -      before caching.
 -
 -2009-02-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix the condition for checking
 -      unavailable font.
 -
 -2009-02-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * xfaces.c (Finternal_set_font_selection_order): Remove leading
 -      whitespace that confuses documentation.
 -
 -2009-02-23  Miles Bader  <miles@gnu.org>
 -
 -      * process.c (Flist_system_processes, Fprocess_attributes)
 -      (syms_of_process): Rename `system-process-attributes' to
 -      `process-attributes'.
 -
 -2009-02-22  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * coding.h (struct coding_system): Make safe_charsets a pointer to
 -      unsigned char.
 -      * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
 -      being 255.
 -      (SAFE_CHARSET_P): Likewise.
 -      (setup_iso_safe_charsets): Properly setup safe_charsets.
 -      (Fdefine_coding_system_internal): Likewise.
 -      (setup_coding_system): Likewise.  Remove unneeded casts.
 -      (detect_coding_iso_2022): Compare Viso_2022_charset_list with
 -      CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS.  Remove
 -      unneeded casts.
 -
 -      * insdel.c (del_range_2): Don't modify gap contents when called
 -      from decode_coding_object.  (Bug#1809)
 -
 -2009-02-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
 -      Qfont_object.
 -      (Ftype_of): Recognize font objects.
 -
 -      * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
 -
 -      * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
 -      moved to data.c.
 -
 -2009-02-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (x_make_frame_invisible): Unset async_visible,
 -      async_iconified.  Based on a patch by Christian Lynbech
 -      <christian.lynbech@tieto.com>.
 -      (EmacsView-windowDidMiniaturize:): Unset async_visible.
 -
 -2009-02-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * syntax.c (Fskip_chars_forward): Fix doc typo.
 -
 -2009-02-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
 -
 -2009-02-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
 -
 -2009-02-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding): Preserve coding->mode.
 -      Don't overflow coding->carryover.  (Bug#2370)
 -
 -2009-02-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
 -
 -2009-02-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_check_otf_features): Fix handling of `nil' element.
 -      (Ffont_spec): Describe :lang and :otf in the docstring.
 -
 -2009-02-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
 -      string.
 -
 -2009-02-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
 -      (Bug#1723)
 -
 -2009-02-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispextern.h (struct iterator_stack_entry): New line_wrap member.
 -
 -      * xdisp.c (push_it, pop_it): Save and restore line_wrap.
 -      (handle_line_prefix): Suppress wrapping of wrap prefixes.
 -
 -2009-02-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (MAX_SCREEN_BUF): New macro.
 -      (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
 -      Encode the entire run of glyphs sharing the same face, instead of
 -      doing that one glyph at a time (fixes a bug with displaying
 -      double-size characters).
 -
 -2009-02-13  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
 -
 -      * nsmenu.m (pop_down_menu): Check popup_activated_flag.
 -      (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
 -      pop_down_menu do the cleanup work as it is always called.  (Bug#2154)
 -
 -      * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
 -      set fontset font for "mathematical-" sub-scripts.  (Bug #2218)
 -
 -2009-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (adjust_point_for_property): Allow stopping between two
 -      invisible areas.
 -
 -2009-02-12  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (check_face_name): Check for fake helv.  (Bug#2275)
 -      (add_font_entity_to_list): Call check_face_name even when family
 -      is unspecified.
 -
 -      * w32term.c (x_display_pixel_height, x_display_pixel_width):
 -      Release DC when finished.  Use NULL window to refer to desktop.
 -      (w32_term_init): Use NULL window to refer to desktop.  (Bug#460)
 -
 -      * w32font.c (add_font_entity_to_list): Fix check for substituted
 -      raster fonts.  (Bug#2219)
 -
 -2009-02-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
 -      (composition_gstring_width): Fix handling of LGLYPH_YOFF.
 -      (autocmp_chars): Use fast_looking_at.  Don't compose more
 -      characters than MAX_COMPOSITION_COMPONENTS.
 -      (find_automatic_composition): While looking forward and backward,
 -      check static composition.  Fix where to stop looking forward.
 -      (composition_adjust_point): Fix checking of static composition.
 -      (Fcomposition_get_gstring): Pay attention to
 -      MAX_COMPOSITION_COMPONENTS.
 -
 -      * lisp.h (fast_looking_at): Extern it.
 -
 -      * search.c (fast_looking_at): New function.
 -
 -      * term.c (encode_terminal_code): Adjust for the change of
 -      <struct glyph>.u.cmp.to.
 -      (append_composite_glyph): Likewise.
 -
 -      * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
 -      <struct glyph>.u.cmp.to.  Check if the glyph belongs to the same
 -      composition.
 -      (append_composite_glyph): Adjust for the change of
 -      <strcut glyph>.u.cmp.to.
 -
 -2009-02-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * casetab.c (init_casetab_once):
 -      * coding.c (ALLOC_CONVERSION_WORK_AREA):
 -      * font.c (font_update_lface):
 -      * fontset.c (Fnew_fontset):
 -      * ftfont.c (ftfont_drive_otf):
 -      * xfont.c (xfont_open):
 -      * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
 -
 -2009-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fwrite_region): !NILP -> CONSP.
 -
 -2009-02-10  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (send_process): Properly relocate pointer into data
 -      when using encoded data.  (Bug#2272)
 -
 -2009-02-08  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
 -
 -      * coding.c (detect_coding_charset): Fix previous change.
 -
 -2009-02-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_hide_hourglass): Handle case where frame
 -      disappeared while hourglass was displayed.  (Bug #2193)
 -
 -2009-02-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * unexelf.c (unexec): Fix error message.
 -
 -2009-02-07  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
 -      when modal window is active.  (Bug #2152)
 -      (applicationShouldTerminate:): Remove now-unneeded while loop
 -      around NSRunAlertPanel.
 -
 -      * nsmenu.m (popupSession): New file-global variable.
 -      (pop_down_menu): End the popupSession before closing dialog.
 -      (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
 -      (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
 -      don't query NSApp for events (just sleep instead).
 -
 -2009-02-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (syms_of_coding) <translation-table-for-input>:
 -      Modify doc string to discourage use for character code unification.
 -
 -2009-02-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * atimer.c (run_timers): Update pending_atimers.
 -
 -2009-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (svg_load_image): Fix last change.
 -
 -      * xfns.c (Fx_create_frame): Signal an error if no font is
 -      found (Bug#2147).
 -
 -2009-02-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * character.c (syms_of_character) <script-representative-chars>:
 -      Fix typo in docstring.
 -
 -2009-02-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsmenu.m (pop_down_menu): New function.
 -      (ns_popup_dialog): Call it on unwind.
 -      (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
 -      call timer_check() (Bug#2154).
 -      (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
 -      handling_signal is set.
 -      (EmacsMenu-fillWithWidgetValue:): Set submenu title.
 -
 -      * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G.
 -
 -      * s/darwin.h: Same and NO_SOCK_SIGIO as well.
 -
 -      * nsterm.m (ns_read_socket): Same and don't set handling_signal.
 -
 -      * keyboard.c (poll_for_input_1, handle_async_input):
 -      Set handling_signal under HAVE_NS.
 -
 -2009-02-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
 -
 -2009-02-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
 -
 -      * charset.c (Fchar_charset): New optional arg restriction.
 -
 -      * coding.h (coding_system_charset_list): Extern it.
 -
 -      * coding.c (coding_system_charset_list): New function.
 -
 -      * composite.c: Include coding.h and termhooks.h.
 -      (composition_gstring_p): Fix for the terminal case.
 -      (composition_gstring_width): Likewise.
 -      (fill_gstring_body): Likewise.
 -      (autocmp_chars): For terminal, call Fcomposition_get_gstring with
 -      the frame.
 -      (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
 -      is within a composition.
 -      (Fcomposition_get_gstring): Fix the terminal case.
 -
 -      * term.c (encode_terminal_code): Fix handling of composition.
 -      (produce_composite_glyph): For static composition, get pixel_width
 -      from struct composition.
 -
 -2009-02-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * unexelf.c (unexec): Handle unaligned bss offset.
 -
 -2009-02-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
 -      XT,w32read_socket changes to ns_read_socket.
 -
 -      * keyboard.c (handle_interrupt): Don't call
 -      quit_throw_to_read_char() under NS.
 -
 -      * blockinput.h: Remove NS-specific code.
 -
 -2009-01-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispnew.c (window_change_signal): Don't try to get the size of a
 -      suspended tty frame.
 -      * term.c (Fresume_tty): Resize if the size has changed while the
 -      tty was suspended.
 -
 -      * alloc.c (mark_stack): Properly conditionalize previous change.
 -
 -2009-01-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
 -      * w32term.c (w32_read_socket) [SYNC_INPUT]:
 -      Remove; this code is not used on Windows.
 -
 -2009-01-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (detect_eol, decode_eol): Handle text with DOS-style
 -      EOLs that also has stray ^M characters.
 -
 -2009-01-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * atimer.c (run_timers, alarm_signal_handler):
 -      * keyboard.c (pending_signals, handle_async_input, init_keyboard):
 -      * w32inevt.c (w32_console_read_socket):
 -      * w32term.c (w32_read_socket):
 -      * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
 -
 -2009-01-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
 -      Initialize it as a relative filename pattern.
 -      (init_callproc): Don't initialize Vtemp_file_name_pattern here.
 -      (Fcall_process_region): Simplify temp file creation using
 -      temporary-file-directory.
 -
 -2009-01-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c: Rename pending_signals to msdos_pending_signals.
 -      (sig_suspender, sigprocmask): Adjust.
 -
 -2009-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (pending_signals): New var.
 -      (poll_for_input, input_available_signal, init_keyboard): Set it.
 -      (process_pending_signals): New function.
 -
 -      * lisp.h (QUIT): Check pending_signals instead of
 -      interrupt_input_pending.  Use process_pending_signals.
 -
 -      * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
 -
 -      * process.c (wait_reading_process_output): Use process_pending_signals.
 -
 -      * sysdep.c (emacs_write): Use process_pending_signals.
 -
 -      * xterm.c (XTread_socket): Update pending_signals.
 -
 -      * w32term.c (w32_read_socket): Update pending_signals.
 -
 -      * w32inevt.c (w32_console_read_socket): Update pending_signals.
 -
 -2009-01-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_has_char): New function.
 -      (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
 -
 -2009-01-29  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
 -      under GNUstep.
 -      (ns_query_color): New declaration.
 -
 -      * nsterm.m (ns_confirm_quit): New variable.
 -      (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
 -      (EmacsApp-applicationShouldTerminate:): Use it.
 -      (EmacsPrefsController): Let user set it.
 -      (ns_query_color): New function.
 -      (ns_defined_color): Use it.
 -      (ns_initialize): Drop.
 -      (ns_term_init): Add two lines from ns_initialize(), and set
 -      input_interrupt_mode to nil.
 -
 -      * image.c (svg_load_image): Don't right-shift background RGB when
 -      obtained from FRAME_BACKGROUND_PIXEL.  Under HAVE_NS use ns_query_color.
 -
 -2009-01-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
 -      (fontset_get_font_group): Remember that no font-group is specified
 -      for C.
 -
 -2009-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (concat): Check for string overflow (bug#1787).
 -
 -      * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
 -      Quadruple undo limits (bug#1501).
 -
 -2009-01-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
 -      directly use GT_Get_Char_index.
 -
 -      * xftfont.c (struct xftfont_info): New member `index'.
 -
 -      * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
 -      (Ffontset_font): Adjust for the change of fontset entry.
 -
 -2009-01-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix handling of non-cons return
 -      value of fontset_get_font_group.
 -      (fontset_font): Revert last change.
 -
 -2009-01-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_list_internal): Return quickly if registry is
 -      unknown.  Simplify final return.
 -      (add_font_entity_to_list): Break complex logic down into more
 -      manageable chunks.  Move unknown registry check to
 -      w32font_list_internal.
 -
 -2009-01-25  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Changes to remove Feval calls from GUI under NS.
 -
 -      * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
 -      Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
 -      Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
 -
 -      * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
 -      (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
 -      (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
 -      instead of NON_ASCII_KEYSTROKE_EVENT.
 -      (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
 -      (EmacsApp-applicationShouldTerminate:): Query user.
 -      (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
 -      instead of Feval.
 -
 -      * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
 -
 -      * keyboard.c (kbd_buffer_get_event): Check for it.
 -      (keys_of_keyboard): Define lispy keys for
 -      ns-put/unput-working-text.
 -
 -      * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
 -      versions.
 -      (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
 -
 -2009-01-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
 -      setting current_buffer directly.  (Bug#2044)
 -
 -2009-01-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fontset.c (fontset_font): If we know there is no font, don't do
 -      any work.  (Bug#1952, bug#1990).
 -
 -      * font.c (font_parse_xlfd): Handle patterns of length < 2.  (Bug#1802)
 -
 -2009-01-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (main): Do fork+exec under --daemon in Cocoa.
 -      (ns_no_defaults): New declaration.
 -      (main): Use it.
 -
 -      * nsterm.h (ns_no_defaults): New declaration.
 -
 -      * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
 -
 -      * nsterm.m (ns_no_defaults): New variable.
 -      (ns_initialize): Don't read defaults when ns_no_defaults.
 -      (EmacsView-readSelectionFromPasteboard:)
 -      (writeSelectionToPasteboard:types:): New stubbed-out methods for
 -      NSServicesRequests protocol.  (Bug#1435)
 -      (ns_dumpglyphs_stretch): New function.
 -      (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
 -      of 2008-11-15 to other terms.  (Bug#615)
 -
 -      * nsimage.m (setPixmapData:): Set to ignore image DPI.
 -
 -2009-01-23  Giorgos Keramidas  <keramida@freebsd.org>  (tiny change)
 -
 -      * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
 -      call for Sparc64.
 -
 -2009-01-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m:
 -      * nsgui.h:
 -      * nsmenu.m:
 -      * nsselect.m:
 -      * nsterm.h:
 -      * nsterm.m: Remove '23' comments that indicated code added during
 -      update from emacs-20 -> emacs-23.
 -
 -2009-01-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
 -      ns_alternate_modifier.  (Bug#1217)
 -
 -      * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
 -      Display all shortcuts, including those w/o super modifier.
 -
 -      * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
 -
 -2009-01-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Vwrite_region_post_annotation_function)
 -      (Vwrite_region_annotation_buffers): New vars.
 -      (build_annotations_unwind): Just reset
 -      Vwrite_region_annotation_buffers.
 -      (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
 -      Call write-region-post-annotation-function.
 -      (build_annotations): Add to Vwrite_region_annotation_buffers if
 -      buffer changes.
 -
 -2009-01-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
 -      Tiger.
 -      * nsfns.m (ns_do_applescript):
 -      Conditionalize typeUTF16ExternalRepresentation on Tiger.
 -
 -2009-01-21  Wolfgang Lux  <wolfgang.lux@gmail.com>  (tiny change)
 -
 -      * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
 -
 -2009-01-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsmenu.m (NSMENUPROFILE): Change #if style.
 -
 -      * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
 -
 -      * nsterm.m (x_set_frame_alpha): Add prototype.
 -      (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
 -      handle Ctrl-tab.  (Bug#1841)
 -      (ns_get_color): Use unsigned long long for scanned hex string value.
 -      (ns_term_shutdown): Abort on non SIGTERM signals.
 -      (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
 -      (EmacsPrefsController-setPanelFromDefaultValues): New function.
 -      (EmacsPrefsController-resetToDefaults:): Use it.  (Bug#1801)
 -      (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
 -      (ns_defined_color): Fix settings of the XColor variable fields:
 -      red,green,blue scale to 2-byte, pixel's parts to 1-byte.  (Bug#1663)
 -
 -      * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
 -      DPI.  (Bug#1316)
 -      (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
 -      values in onTiger section.
 -
 -2009-01-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
 -      Check return value of font_spec_from_name.
 -      (Fx_list_fonts): Doc fix.  (Bug#1951)
 -
 -      * font.c (font_spec_from_name): Return Qnil if font name could not
 -      be parsed.
 -      (font_parse_name): Treat a `?' character as part of an XLFD.
 -
 -      * fns.c (Fsubstring): Doc fix.
 -
 -2009-01-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
 -      (ftfont_list): Likewise.
 -
 -2009-01-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dbusbind.c (Fdbus_register_signal):
 -      * process.c (conv_sockaddr_to_lisp):
 -      * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
 -
 -      * callproc.c (Fgetenv_internal): Doc fix.
 -
 -2009-01-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
 -      it is not even used.
 -
 -2009-01-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * font.c (Ffont_variation_glyphs): Silence compiler.
 -
 -2009-01-15  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
 -      Reported by David Robinow <drobinow@gmail.com>.
 -
 -2009-01-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_system): Fix handling of null_byte_found.
 -
 -2009-01-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (x_set_font): Always store a font to the font parameter,
 -      never a fontset.  (Bug#1562)
 -
 -2009-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (TWO_MORE_BYTES): New macro.
 -      (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
 -
 -2009-01-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_clear_prop): If clearing the family, clear the font
 -      width index too.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
 -
 -2009-01-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
 -      (do_play_sound): Use it.  Don't pass a hardcoded buffer size to mci
 -      functions, use sizeof.
 -
 -2009-01-12  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * keyboard.c (read_char): Fix case where last_nonmenu_event
 -      returned a bad value with submenus.  (Bug#447)
 -
 -2009-01-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
 -      family, clear the font width index too.
 -
 -2009-01-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * keyboard.c (cmd_error_internal): Exit when errors occur before
 -      frame creation and not in daemon mode.  (Bug#1836)
 -
 -2009-01-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): When iterator stops on the last glyph
 -      of a display vector, backtrack.
 -      (try_window_reusing_current_matrix): Check glyph type before
 -      referencing charpos member.
 -
 -2009-01-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Fix Bug #876:
 -
 -      * coding.c (inhibit_null_byte_detection): New variable.
 -      (detect_coding, detect_coding_system): Don't pay attention to null
 -      bytes if inhibit_null_byte_detection is non-zero.
 -      (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
 -      <inhibit-iso-escape-detection>: Doc fix.
 -
 -2009-01-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (add_font_entity_to_list): Don't report unknown
 -      Windows charset as any unrecognized registry.  (Bug#1548)
 -      Only report Unicode Plane 2 fonts as unicode-sip.
 -
 -2009-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Fx_font_family_list): Delete function.
 -      Move compatibility version to faces.el.
 -
 -      * font.c (Ffont_family_list): Return a list of strings, not symbols.
 -
 -2009-01-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (x_set_frame_parameters): Remember requested value for
 -      fullscreen before it's reset by the parameter handler.
 -
 -2009-01-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * keyboard.c (last_command_char): For clarity, rename to...
 -      (last_command_event): ... and update all users.
 -      (last_input_char): For clarity, rename to...
 -      (last_input_event): ... and update all users.
 -      (last-command-char, last-input-char): Move to subr.el as aliases.
 -      * cmds.c, commands.h: Update for last_command_char rename.
 -
 -2009-01-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_open_for_lface): Handle unspecified height attribute.
 -
 -2009-01-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
 -      (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
 -      (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
 -      Don't declare.
 -      (syms_of_w32fns): Don't define x-pointer-shape variable.  (Bug#1485)
 -      (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
 -
 -2009-01-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): In the case of replace,
 -      remember the coding system used for decoding in
 -      coding_system (Bug#1039).
 -
 -      * coding.c (decode_coding_utf_8): Check byte_after_cr before
 -      breaking the loop.  (Bug#870)
 -      (decode_coding_utf_16, decode_coding_emacs_mule)
 -      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_charset): Likewise.
 -
 -2009-01-05  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (x_set_frame_parameters): Make sure height (width) get
 -      applied when fullwidth (fullheight) is set.  (Bug#1522)
 -
 -2009-01-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32.c: Use 64-bit arithmetic to do FILETIME conversions.  (Bug#1766)
 -      (utc_base): Declare as ULONGLONG, not long double.
 -      (convert_time_raw): Delete.
 -      (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
 -      (initialize_utc_base): New function.
 -      (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
 -      (convert_from_time_t): Use initialize_utc_base; compute result with
 -      64-bit arithmetic.
 -      (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
 -
 -2009-01-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
 -      (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
 -      (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
 -      (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
 -      [!subprocesses]: Define.
 -      (syms_of_process) [!subprocesses]: Intern and staticpro them.
 -      (Flist_system_processes, Fsystem_process_attributes)
 -      [!subprocesses]: Call list_system_processes and
 -      system_process_attributes instead of returning Qnil.
 -
 -      * dosfns.c (system_process_attributes, list_system_processes):
 -      New functions.
 -
 -      * vm-limit.c (ret_lim_data) [MSDOS]: New function.
 -
 -      * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
 -      Don't use the default (no-op) implementation.
 -
 -2009-01-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * keyboard.c (parse_modifiers_uncached): Wheel events are
 -      clicks (bug#687).
 -
 -      * w32term.c (x_query_colors, x_query_color): New functions.
 -
 -      * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
 -      (svg_load_image): Cast returned pointers from dynamically loaded
 -      functions.  Eliminate W32 specific code.
 -
 -2009-01-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * nsfns.m (x_set_foreground_color, x_set_background_color)
 -      (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
 -      (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
 -      x_ prefix instead of ns_.  Update references.
 -      (syms_of_nsfns): Add a FIXME comment.
 -
 -      * nsterm.m (x_set_cursor_type): New prototype.
 -      (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
 -
 -      * sysdep.c (system_process_attributes): Provide Qtime and Qctime
 -      for Solaris instead of incorrectly providing Qutime and Qcutime.
 -
 -2009-01-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (process_times): Compute sum of utime and stime.
 -      (system_process_attributes): Add Qtime to the alist.
 -
 -      * sysdep.c (system_process_attributes): Compute Qtime and Qctime
 -      and add them to the alist.
 -
 -      * process.c (top level) <Qtime, Qctime>: New variables.
 -      (syms_of_process): staticpro them.
 -      (Fsystem_process_attributes): Add their documentation to the doc
 -      string.
 -
 -      * process.h: Declare Qtime and Qctime.
 -
 -2009-01-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (Qgobject): New symbol.
 -      (syms_of_image): Initialize it.
 -      (init_svg_functions): Load some functions from gobject library.
 -
 -2009-01-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * frame.c (make_terminal_frame): Remove redundant code and useless
 -      block.
 -
 -2009-01-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (conv_sockaddr_to_lisp): Add workaround for
 -      getsockname bug on BSD.
 -
 -2009-01-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (x_create_tip_frame): Set border width of the X window.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
 -
 -2009-01-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_new_font): Return font object, not fontset.  (Bug#119)
 -      Don't block input, as per earlier xterm.c changes.
 -
 -2008-12-31  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
 -      (ns_appkit_version_int): New function.
 -      (x-server-version): Use ns_appkit_version_int and follow 21+
 -      convention of returning 3 integers.
 -
 -2008-12-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
 -      (CHAR_SURROGATE_PAIR_P): New macro.
 -
 -      * font.h (struct font_driver): New member get_variation_glyphs.
 -
 -      * font.c (font_range): Don't require a font for a variation selector.
 -      (Ffont_variation_glyphs): New function.
 -      (syms_of_font): Defsubr it.
 -
 -      * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
 -      ftfont_variation_glyphs.
 -      (setup_otf_gstring): New function.
 -      (ftfont_drive_otf): Use it.
 -      (ftfont_shape_by_flt): Handle variation selector.
 -      (ftfont_variation_glyphs): New function.
 -
 -2008-12-30  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (Vemacs_iconified): Remove.
 -
 -2008-12-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (store_frame_param, x_get_arg): Enable newer code on
 -      WINDOWSNT too, as related changes have already been synced.  (Bug#117)
 -
 -2008-12-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Don't advance iterator if we have
 -      reseated to the desired position.
 -
 -      * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
 -      checking for pos match.
 -
 -2008-12-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
 -      just get the low 8-bit of the code.
 -
 -      * font.c (font_intern_prop): Validate str as multibyte.
 -
 -2008-12-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispextern.h (struct face): Move lface and hash from the middle
 -      of bitfields.
 -
 -      * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
 -
 -2008-12-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
 -      (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
 -      instead of intervals.h.
 -
 -2008-12-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
 -      cons.
 -
 -2008-12-26  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * textprop.c (Qminibuffer_prompt): New variable.
 -      (syms_of_textprop): Initialize it.
 -      * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
 -      in minibuffer-prompt face.  (Bug#1662)
 -
 -2008-12-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
 -
 -2008-12-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * ralloc.c (r_alloc_reset_variable): New function.
 -
 -      * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
 -      record of what points where.  (Bug#716)
 -
 -2008-12-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * minibuf.c (read_minibuf): Follow the non-interactive case when
 -      running as a daemon, before detaching.
 -
 -2008-12-22  Andreas Schwab  <schwab@suse.de>
 -
 -      * buffer.c (init_buffer): Use realloc instead of xrealloc.
 -      * gtkutil.c (free_widget_value): Use xfree instead of free.
 -
 -2008-12-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (delete_frame): New function derived from
 -      Fdelete_frame to handle Qnoelisp value for FORCE argument.
 -      Delete last frame iff FORCE equals Qnoelisp.  (Bug#1450)
 -      (Fdelete_frame): Call delete_frame.  Remove line from doc-string
 -      saying that FORCE non-nil doesn't run `delete-frame-functions'.
 -      * frame.h: Extern delete_frame.
 -      * window.c (window_loop):
 -      * terminal.c (delete_terminal):
 -      * xterm.c (x_connection_closed):
 -      * xfns.c (Fx_hide_tip):
 -      * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
 -
 -2008-12-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
 -      when character maps to .notdef character.
 -
 -2008-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
 -
 -2008-12-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (Fmake_terminal_frame): Raise an error when called from
 -      a graphical frame on Windows.  (Bug#1325)
 -
 -2008-12-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
 -
 -2008-12-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Fread_buffer): Doc fix.
 -
 -2008-12-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
 -      server name in UNC paths.  (Bug#719)
 -
 -      * coding.c (decode_coding): Clear chars_at_source flag when using
 -      charbuf.  (Bug#1035)
 -
 -2008-12-19  Daniel Engeler  <engeler@gmail.com>
 -
 -      * sysdep.c (serial_configure): Fix typo.
 -
 -2008-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sysdep.c: Include alloca.h.
 -      (system_process_attributes): Add implementation for Solaris.
 -
 -      * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
 -
 -2008-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Reorganize implementation of Flist_system_processes and
 -      Fsystem_process_attributes.  No functional changes.
 -      * process.c: Don't #include pwd.h, grp.h and limits.h.
 -      (Flist_system_processes): Just call list_system_processes.
 -      (Fsystem_process_attributes): Just call system_process_attributes.
 -      (procfs_list_system_processes, time_from_jiffies)
 -      (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
 -      (procfs_get_total_memory, procfs_system_process_attributes): Move ...
 -
 -      * sysdep.c: ... here.  Include pwd.h, grp.h and limits.h.
 -      (list_system_processes): Rename from
 -      procfs_list_system_processes.  Enclose in #ifdef HAVE_PROCFS.
 -      Provide a do nothing implementation.
 -      (system_process_attributes): Rename from
 -      procfs_list_system_processes.
 -      (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
 -      (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
 -
 -      * w32.c (list_system_processes): Rename from
 -      w32_list_system_processes.
 -      (system_process_attributes): Rename from
 -      w32_system_process_attributes.
 -
 -      * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
 -
 -      * process.h (w32_list_system_processes)
 -      (w32_system_process_attributes): Remove.
 -      (list_system_processes, system_process_attributes):
 -      New prototypes.
 -
 -2008-12-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_decode_coding_xlfd): New function.
 -      (xfont_encode_coding_xlfd): New function.
 -      (xfont_list_pattern): Decode XLFD by iso-8859-1.
 -      (xfont_list): Decode and encode XLFD by iso-8859-1.
 -      (xfont_match): Likewise.
 -      (xfont_list_family): Likewise.
 -      (xfont_open): Likewise.
 -
 -      * ftfont.c (ftfont_open): Generate a multibyte string if given
 -      names are utf-8.
 -
 -      * xftfont.c (xftfont_open): Generate a multibyte string if given
 -      names are utf-8.
 -
 -2008-12-18  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
 -      changed.
 -      (xg_tool_bar_proxy_callback): Put focus on the frame after we have
 -      clicked on a detached tool bar button.
 -
 -2008-12-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Print and error and exit when no data is read
 -      from the pipe.
 -
 -2008-12-17  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_has_char): Always return -1.
 -
 -2008-12-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_open_entity): Fix previous change.
 -
 -2008-12-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * process.c: Include <limits.h>.
 -
 -2008-12-16  Chetan Pandya  <pandyacus@sbcglobal.net>  (tiny change)
 -
 -      * font.c (font_update_drivers): Fix mistake in reconstructing the
 -      driver list.
 -
 -2008-12-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_clear_cache): Fix format of font cache data.
 -
 -2008-12-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xftfont.c (xftfont_open): Free Xft font pattern if
 -      XftFontOpenPattern fails.
 -
 -      * xterm.c (x_free_frame_resources): Remove extraneous call to
 -      free_frame_faces.
 -
 -2008-12-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_delete_display): Move xim_close_dpy call to
 -      x_delete_terminal.
 -      (x_delete_terminal): Call xim_close_dpy.
 -
 -2008-12-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (intern_font_name): New function.
 -      (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
 -      (w32font_open_internal, Fx_select_font): Decode font name.
 -      (fill_in_logfont, list_all_matching_fonts): Encode font name.
 -
 -      * w32font.h (intern_font_name): Declare new function.
 -
 -      * w32uniscribe.c (add_opentype_font_name_to_list):
 -      Use intern_font_name.
 -
 -2008-12-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Fdelete_frame): Call free_font_driver_list.
 -
 -      * font.c (free_font_driver_list): Implement missing function.
 -
 -      * w32term.c (w32_term_init): Don't initialize the image cache
 -      here; it will be done in init_frame_faces.
 -
 -      * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
 -      (struct x_display_info): Remove unused member null_pixel.  New
 -      member xim_callback_data.
 -
 -      * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
 -      (xim_initialize): Save pointer to callback function data.
 -      (xim_close_dpy): Free callback function data.  Call XCloseIM,
 -      reverting 2008-11-04 change by David Smith.
 -      (x_term_init): Don't initialize the image cache here; it will be
 -      done in init_frame_faces.  Remove ancient "null_pixel" cruft.
 -      (x_delete_display): Free x_dnd_atoms member.
 -
 -2008-12-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_rescale_ratio): Moved from xfaces.c.
 -      Argument type changed.  Handle a font-spec too.
 -      (font_score): Check Vface_font_rescale_alist.
 -      (font_open_entity): Likewise.  (Bug#1547)
 -
 -      * xfaces.c (font_rescale_ratio): Moved to font.c.
 -
 -2008-12-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
 -
 -2008-12-12  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
 -      Vwindow_system_version to the real w32 major version.
 -
 -2008-12-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c (init_tty): Move setting the terminal name before the
 -      potential user: maybe_fatal.
 -
 -2008-12-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
 -      all callers changed.  Call free_frame_faces to free the face cache.
 -
 -2008-12-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (fill_in_logfont): Don't assume symbol script means
 -      SYMBOL_CHARSET.  (Bug#547)
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
 -      size for surrogates.  (Bug#1096, bug#872)
 -
 -2008-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
 -
 -2008-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * process.c (Fsystem_process_attributes, syms_of_process):
 -      Fix typo in name of Ssystem_process_attributes.
 -      Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
 -
 -2008-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * syntax.c (Fmodify_syntax_entry): Doc fix.
 -
 -2008-12-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_spec): Move usage to end of docstring.
 -
 -2008-12-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (Qcham): New symbol.
 -      (font_supported_scripts): Add cham, and comments for other new
 -      scripts in bitfield from OpenType spec.
 -      (add_font_entity_to_list): Limit unicode-sip fonts to those that
 -      contain characters beyond the bmp.
 -
 -2008-12-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (fc_charset_table): Add "unicode-sip".
 -      (ftfont_spec_pattern): Lookup fc_charset_table for the registry
 -      Qunicode_sip.
 -
 -2008-12-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * coding.c (QCdefault_char): Rename from QCdefalut_char.
 -      (Fcoding_system_put): Use QCdefault_char.
 -      (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
 -
 -2008-12-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xftfont.c (syms_of_xftfont): Fix typo.
 -
 -      * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
 -
 -2008-12-08  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Close daemon_pipe on exec.
 -
 -2008-12-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * termchar.h (struct tty): New members termcap_term_buffer and
 -      termcap_strings_buffer.
 -
 -      * term.c (encode_terminal_code): Free any previous memory blocks
 -      before calling xmalloc for encode_terminal_src or encode_terminal_dst.
 -      (maybe_fatal): Buffer argument deleted.  Don't free buffer here.
 -      All callers changed.
 -      (init_tty): Store termcap data and string buffers in new struct
 -      tty members termcap_term_buffer and termcap_strings_buffer.
 -      (delete_tty): Free them.
 -      (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
 -
 -2008-12-07  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * nsfns.m (ns_set_background_color): Remove code duplication.
 -      It was a substitute for face-transparency on OS X 10.3.
 -
 -2008-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * coding.c (make_conversion_work_buffer): Disable buffer
 -      modification hooks in the work buffer.
 -
 -2008-12-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): If `nread' has a
 -      negative value, assign zero to it.
 -
 -2008-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Vdebug_on_error): Doc fix.
 -
 -2008-12-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
 -      second character is a combining character.
 -
 -2008-12-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): Don't use cmd,
 -      cmdsize, and q without initializing them first.
 -
 -2008-12-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_draw): Initialize orig_clip before getting
 -      it, and delete it when finished.
 -
 -2008-12-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
 -      case when running as a daemon before detaching.
 -
 -2008-12-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32.c (init_environment): Don't unload library shell32.dll.
 -
 -2008-12-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_at): Set `multibyte' at first.
 -
 -      * coding.c (decode_coding_charset): Check type of an element of
 -      vector VALIDS.
 -      (encode_coding_emacs_mule): Be sure to set `code'.
 -
 -      * fontset.c (face_for_char): Handle invalid charset property correctly.
 -      (font_for_char): Likewise.
 -
 -2008-12-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (Fopen_font): Compute pixel size correctly.
 -      (font_update_lface): Handle fonts with corrupted size specs,
 -      i.e. non-int and non-float.
 -
 -      * ftfont.c (ftfont_match): Initialize entity variable.
 -      (ftfont_resolve_generic_family): Avoid using uninitialized var.
 -      (ftfont_list_family): Initialize list var earlier.
 -
 -      * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
 -
 -      * xterm.c (x_draw_glyph_string): Fall back on
 -      underline_minimum_offset for underline position.
 -
 -2008-12-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
 -
 -      * character.c (c_string_width): Specify the type for LEN.
 -
 -2008-12-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
 -      (decode_coding_utf_8): Likewise.
 -      (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
 -      (produce_chars): Initialize consumed_chars to 0.
 -
 -2008-12-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (make_lispy_position): Only use PT if the selected
 -      window is current.
 -
 -2008-12-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (font_unparse_fcname): Fix use of uninitialized variable.
 -
 -      * doprnt.c (doprnt1): Fix size of charbuf.
 -
 -2008-12-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (timer_check): Revert last change.
 -
 -2008-12-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
 -
 -2008-12-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in: Update dependencies.
 -      (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
 -
 -2008-12-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (register_font_driver): Use xmalloc.
 -      (font_put_frame_data): Likewise.
 -
 -2008-12-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (realize_x_face): Make abort condition clearer.
 -
 -      * gtkutil.c (update_frame_tool_bar): Initialize variable.
 -
 -2008-11-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (timer_check): After a timer runs, ensure that the
 -      selected window's buffer is current.
 -
 -2008-11-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
 -      It was accidentally restored by the Unicode merge.
 -
 -      * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
 -
 -2008-11-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32proc.c: Include "coding.h".
 -      (Fw32_short_file_name): Encode filename passed to Windows API.
 -      (Fw32_long_file_name): Encode filename passed to Windows API and
 -      decode back the result.  (Bug#1433)
 -
 -2008-11-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
 -      not before accessing it.
 -
 -      * charset.c (Fdefine_charset_internal): After calculating
 -      min_char, max_char, and fastmap, copy the charset structure again.
 -      (encode_char): Fix the previous change.
 -
 -2008-11-28  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
 -
 -      * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
 -
 -      * nsterm.m (x_set_frame_alpha): New function.
 -
 -2008-11-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
 -
 -2008-11-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
 -      pointer to check_face_name.
 -
 -2008-11-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * category.h (SET_CATEGORY_SET): Call set_category_set.
 -      (set_category_set): Extern it.
 -
 -      * category.c (hash_get_category_set): New function.
 -      (Fmodify_category_entry): Adjusted for the change of
 -      char_table_ref_and_range.  Call hash_get_category_set to get a
 -      category set to store in the table.
 -
 -      * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
 -      Funify_charset.
 -
 -      * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
 -      (DECODE_CHAR): Check if the decoder vector is ready.
 -      (ENCODE_CHAR): Check if the encoder char-table is ready.
 -      (maybe_unify_char): Extern it.
 -
 -      * charset.c (Vchar_unified_charset_table): Delete it.
 -      (inhibit_load_charset_map): New variable.
 -      (temp_charset_work): New variable.
 -      (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
 -      (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
 -      New macros.
 -      (load_charset_map): Meaning of control_flag changed.  If
 -      inhibit_load_charset_map is nonzero, setup a table in
 -      temp_charset_work.
 -      (load_charset): New argument control_flag.
 -      (map_charset_for_dump): New function.
 -      (map_charset_chars): If inhibit_load_charset_map is nonzero, use
 -      map_charset_for_dump.
 -      (Fdefine_charset_internal): If the charset method is MAP, load
 -      mapping tables by calling load_charset.
 -      (Funify_charset): Don't load a mapping table but directly set
 -      Vchar_unify_table.
 -      (maybe_unify_char): New function.
 -      (decode_char): Don't handle the deleted method MAP_DEFERRED.
 -      Handle the case of inhibit_load_charset_map being nonzero.
 -      (encode_char): Don't handle the deleted method MAP_DEFERRED.
 -      Handle the case of inhibit_load_charset_map being nonzero.
 -      (Fclear_charset_maps): Just free temp_charset_work.
 -      (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
 -      variable.
 -
 -      * chartab.c (sub_char_table_ref_and_range): Adjusted for the
 -      change of char_table_ref_and_range.
 -      (char_table_ref_and_range): Change the meaning of argument FROM
 -      and TO.  Now the caller must provide initial values for *FROM
 -      and *TO.
 -
 -      * fontset.c (fontset_add): Adjusted for the change of
 -      char_table_ref_and_range.
 -      (fontset_get_font_group): Likewise.
 -      (Ffontset_info): Likewise.
 -
 -      * keymap.c (describe_vector): Adjusted for the change of
 -      char_table_ref_and_range.  For char-table, put boundary between
 -      non-ASCII and 8-bit characters.
 -
 -      * print.c (print_object): For bool-vector, delete unnecessary
 -      check of ASCII_BYTE_P.
 -
 -2008-11-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Don't include external
 -      leading in font height.  (Bug#879)
 -
 -2008-11-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
 -      redefinition with ifdef.  (Bug#1383)
 -
 -2008-11-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
 -
 -2008-11-24  Wolfgang Lux  <wolfgang.lux@gmail.com>  (tiny change)
 -
 -      * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
 -      New EmacsView methods.
 -      (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
 -      Fixes bug #1048,1357,1414.
 -
 -2008-11-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Fix bug #1362.
 -      * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
 -      is not an indexed color.
 -      * nsterm.m (free_indexed_color): Add argument checking.
 -      * nsfns.m: Move config.h to before system includes (advised by Dan N.).
 -
 -2008-11-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
 -      Document confirm-after-completion value for
 -      minibuffer-completion-confirm.
 -
 -2008-11-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (check_face_name): Use xstrcasecmp.  Avoid compiler
 -      warning.
 -
 -2008-11-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Ensure context is
 -      restored before returning.
 -
 -      * w32font.c (check_face_name): New function.
 -      (add_font_entity_to_list): Use it to filter out common substituted
 -      fonts.  (Bug#642)
 -
 -2008-11-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (Fswitch_to_buffer): Reword and mention new option
 -      confirm-nonexistent-file-or-buffer in doc-string.
 -
 -2008-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
 -      Fix copy/paste typo.  Add checks.
 -
 -2008-11-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_iso_2022): Reject invalid composition
 -      sequence.
 -      (DECODE_COMPOSITION_START): If the current source is the last
 -      block, and the current composition doesn't end, regard this
 -      sequence as invalid.
 -      (decode_coding_iso_2022): Handle invalid composition sequence.
 -
 -2008-11-20  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (coordinates_in_window): Don't return
 -      ON_VERTICAL_BORDER for the rightmost position of a mode/header
 -      line when the window is not the rightmost one.  (Bug#1372)
 -
 -2008-11-16  Ben North  <ben@redfrontdoor.org>  (tiny change)
 -
 -      * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
 -
 -2008-11-15  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
 -      and bright_bg if noninteractive is non-zero.
 -
 -2008-11-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
 -      x_draw_glyph_string_background.
 -
 -      * w32term.c (x_draw_glyph_string): Likewise.
 -
 -2008-11-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_draw_glyph_string): Stop drawing the background of
 -      the next glyph string once past the overhang width.
 -
 -      * nsterm.m (ns_draw_glyph_string): Likewise.
 -
 -      * w32term.c (x_draw_glyph_string): Likewise.
 -
 -2008-11-14  Fabrice Popineau  <fabrice.popineau@supelec.fr>  (tiny change)
 -
 -      * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
 -      double file close.
 -
 -2008-11-14  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
 -      dedicated status of window before attempting to display another
 -      buffer in it.
 -
 -2008-11-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * msdos.c (Fmsdos_long_file_names):
 -      (syms_of_msdos) <dos-unsupported-char-glyph>:
 -      * dosfns.c (Fint86): Fix typos in docstrings.
 -
 -2008-11-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
 -
 -2008-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1260000.
 -
 -2008-11-12  Michal Nazarewicz  <mina86@tlen.pl>  (tiny change)
 -
 -      * frame.c (x_set_alpha): Set alpha to -1 if nil given.
 -
 -      * frame.h: Negative alpha means "don't touch".
 -
 -      * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
 -
 -      * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
 -
 -2008-11-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * hftctl.c:
 -      * chpdef.h:
 -      * acldef.h: Remove files used only for systems no longer supported.
 -
 -      * Makefile.in: Fix .o alphabetical ordering.
 -      (hftctl.o): Remove dependency, file removed.
 -      (keymap.o, print.o): Depend on charset.h.
 -
 -2008-11-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (Fget_byte): Fix and make it faster for unibyte target.
 -
 -2008-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired.c (file_name_completion): If completion_ignore_case is
 -      enabled, ignore case when checking completion-regexp-list.
 -
 -2008-11-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * vm-limit.c (get_lim_data): Fix last change.
 -
 -2008-11-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (Fget_byte): New function.
 -      (syms_of_character): Defsubr Fget_byte.
 -
 -2008-11-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_window_reusing_current_matrix): Ensure that window
 -      cursor position is valid after scrolling.
 -
 -2008-11-06  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
 -
 -2008-11-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * xterm.c (handle_one_xevent): Don't let popup menus cause
 -      mouse-autoselect-window related window switching.  (Bug#1261)
 -
 -2008-11-04  David Smith  <davidsmith@acm.org>  (tiny change)
 -
 -      * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
 -
 -2008-11-04  Andreas Schwab  <schwab@suse.de>
 -
 -      * xfns.c (Fx_wm_set_size_hint): Add missing return value.
 -
 -2008-11-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_wm_set_size_hint): New function.
 -
 -2008-11-03  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * textprop.c (Fprevious_single_char_property_change): Return 0
 -      when there's no change in a string.  (Bug#1301)
 -
 -2008-11-02  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (do_switch_frame): New argument NORECORD passed to
 -      Fselect_window.
 -      (Fselect_frame): New argument NORECORD passed to
 -      do_switch_frame.
 -      (Fset_frame_selected_window): New argument NORECORD passed to
 -      Fselect_frame.
 -      (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
 -      in call of do_switch_frame.
 -      (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
 -      Handle NORECORD argument in call of Fselect_frame.
 -      * lisp.h (do_switch_frame, Fselect_frame)
 -      (Fset_frame_selected_window): Adjust declarations.
 -      * window.c (select_frame_norecord): New function.
 -      (run_window_configuration_change_hook): Use it and call
 -      Fselect_frame with NORECORD set.
 -      (Fselect_window): Pass NORECORD to Fselect_frame.
 -      (Fset_window_configuration): Handle NORECORD argument in call of
 -      do_switch_frame.
 -      * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
 -      Fset_frame_selected_window.
 -      * keyboard.c (command_loop_1): Handle NORECORD in call of
 -      Fselect_frame (currently ifdefd).
 -
 -2008-11-02  Ulrich Mueller  <ulm@kph.uni-mainz.de>
 -
 -      * emacs.c (USAGE2): Untabify.
 -
 -2008-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * composite.c (fill_gstring_header): Fix copy/paste typo.
 -
 -2008-10-31  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
 -      (Fother_window): Rename argument and rewrite doc-string.
 -      (select_window_norecord): Fix return value.  (Bug#1276)
 -
 -2008-10-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (x_create_tip_frame): Prevent default foreground color for
 -      new frames overriding foreground for tooltips.  Based on similar patch
 -      from Martin Rudalics <rudalics@gmx.at>.  (Bug#1032)
 -
 -2008-10-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs.c (Fdaemon_initialized): Initialize nfd.
 -
 -2008-10-29  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
 -      (Fwindow_text_height): Clarify doc-strings.
 -      * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
 -      doc-string of window-scroll-functions.
 -
 -2008-10-28  Reiner Steib  <Reiner.Steib@gmx.de>
 -
 -      * category.c (syms_of_category): Fix typo in docstring.
 -
 -2008-10-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
 -      (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
 -      Fix typos in docstrings.
 -
 -2008-10-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (daemon_pipe): Make non-static.
 -      (IS_DAEMON): Move definition ...
 -      * lisp.h (IS_DAEMON): ... here.
 -      (daemon_pipe): Declare.
 -      (is_daemon): Remove.
 -      * dispnew.c (init_display): Use IS_DAEMON.
 -
 -2008-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
 -      (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
 -
 -      * emacs.c (is_daemon): Remove.
 -      (main): Don't set is_daemon.
 -      (IS_DAEMON): New macro.
 -      (Fdaemonp, Fdaemon_initialized): Use it.
 -      (Fdaemon_initialized): Write a char into the pipe to make sure the
 -      parent exits.
 -      (syms_of_emacs): Explicitly initialize daemon_pipe[1].
 -
 -2008-10-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
 -      over-sized glyph, draw it with the default glyph width.
 -
 -      * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
 -      glyph, draw it with the default glyph width.
 -
 -      * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
 -      glyph, draw it with the default glyph width.
 -
 -      * xdisp.c (try_scrolling): When computing the distance from the
 -      scroll margin to PT, try moving some distance past the window
 -      bottom before giving up.
 -
 -2008-10-27  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
 -      (Fset_window_buffer): Explain in doc-string that a window can be
 -      "strongly" dedicated to its buffer.
 -
 -2008-10-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (daemon_name): New variable.
 -      (main): Deal with --daemon=SERVER_NAME.
 -      (Fdaemonp): Return a name if one was passed to --daemon.
 -
 -2008-10-26  Romain Francoise  <romain@orebokech.com>
 -
 -      * emacs.c (daemon_pipe): New variable.
 -      (main): Create a pipe before forking, make the parent exit only after
 -      the child has closed its end of the pipe.  Move closing the
 -      descriptors ...
 -      (Fdaemon_initialized): ... here.  New function.
 -
 -2008-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
 -      the previous unoptimized table.
 -
 -      * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
 -      the distinction between non-nil and non-t value of `dedicated'.
 -
 -2008-10-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
 -      read_char_minibuf_menu_text is large enough to hold the menu string.
 -
 -2008-10-25  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fget_buffer_window, Fdelete_windows_on)
 -      (Freplace_buffer_in_windows): Make buffer argument optional and
 -      rename to buffer_or_name.
 -
 -2008-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (handle_single_display_spec, handle_display_prop):
 -      Undo 2005-05-16 change.
 -      (handle_stop): Pop iterator if it's loaded with an empty string.
 -      (get_overlay_strings_1): Don't save iterator if it's loaded with
 -      an empty string (bug#1201).
 -
 -2008-10-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_otf_features): Fix previous change.
 -      (ftfont_otf_capability): Check FeatureList.FeatureCount before
 -      calling ftfont_otf_features.
 -
 -2008-10-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_match_p): Fix for the case that a vector of
 -      characters is in script-representative-chars.
 -
 -2008-10-24  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_in_read_queued_messages): New variable.
 -      (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros.  Throw Qdbus_error.
 -      (xd_read_queued_messages): Catch Qdbus_error from the macros.
 -      (all): Replace xsignal1, xsignal2, xsignal3 by the respective
 -      macro.  (Bug#1186)
 -
 -2008-10-23  Ali Bahrami  <ali_gnu@emvision.com>  (tiny change)
 -
 -      * s/sol2-10.h: New file.
 -
 -2008-10-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (fill_glyph_string): Fix typo in source (though the
 -      poor beast has survived 9+ years and the jump from xterm.c!).
 -
 -2008-10-23  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
 -      Reword doc-string.
 -      (Fbury_buffer): In doc-string say what happens to the buffer's window.
 -
 -2008-10-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * character.c (syms_of_character) <script-representative-chars>:
 -      <unicode-category-table>: Doc fixes.
 -
 -2008-10-23  Noah Friedman  <friedman@splode.com>
 -
 -      * coding.c (make_conversion_work_buffer): Check that
 -      Vcode_conversion_reused_workbuf is a live buffer, otherwise call
 -      Fget_buffer_create.
 -
 -2008-10-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_add_log): Check the values of extra properties.
 -
 -2008-10-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
 -      Reword doc-string.
 -      (Fset_window_parameter): Use NILP.
 -      (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
 -      (Frecenter): Use "selected" instead of "current" window in doc-strings.
 -
 -2008-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
 -
 -2008-10-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns_appkit_version): New function.
 -      (x-server-version): Use it.
 -      (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
 -      (x-server-vendor): Don't check_ns().
 -
 -      * nsterm.m (syms_of_nsterm): Drop ns-version-string.
 -
 -2008-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
 -      Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
 -
 -2008-10-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (scan_words): Call word_boundary_p instead of comparing
 -      scripts.
 -
 -      * category.c (word_boundary_p): Check scripts instead of charset.
 -      Handle nil value in word-separating-categories and
 -      word-combining-categories.
 -      (syms_of_category): Fix docstrings of word-separating-categories
 -      and word-combining-categories.
 -
 -2008-10-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (Fencode_coding_region, Fdecode_coding_region)
 -      (Fdecode_coding_string, Fencode_coding_string): Doc fix.
 -
 -2008-10-21  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
 -      Rename arg "buffer" to "buffer_or_name".
 -      (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
 -      it optional.
 -      (no_switch_window): Remove since the return value is not used.
 -      (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
 -      Consider window as dedicated when Fwindow_dedicated_p returns a
 -      non-nil value.
 -      * lisp.h: Remove prototype for no_switch_window.
 -
 -2008-10-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * emacs.c (main): Unconditionally set PER_LINUX32 and exec
 -      temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
 -
 -2008-10-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_charset): For iso-8859-* coding systems,
 -      check Vlatin_extra_code_table.
 -
 -2008-10-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fset_file_modes): Doc fix.
 -
 -2008-10-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
 -      in arrays.
 -
 -2008-10-19  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
 -      Mention kill-buffer in doc-string.
 -      (Fset_window_buffer): Reinsert tem check removed in last commit.
 -      (Fenlarge_window, Fshrink_window): Have argument names and
 -      doc-string follow Elisp manual more closely.
 -
 -2008-10-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fset_file_modes): Doc fix.
 -
 -2008-10-18  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_width, Fset_window_start)
 -      (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
 -      (Fdelete_windows_on, Freplace_buffer_in_windows):
 -      Make doc-strings follow code and Elisp manual more closely.
 -      (Fwindow_dedicated_p): Make window argument optional.
 -      (Fset_window_dedicated_p): Rename argument "arg" to "flag".
 -      (Fset_window_buffer): Respect any non-nil dedicated value for
 -      window.  Rename "buffer" argument to "buffer_or_name".
 -
 -2008-10-18  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * m/sh3.h: New file, machine description for SuperH.
 -
 -2008-10-17  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fsplit_window): Rename arg horflag to horizontal.
 -
 -2008-10-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_otf_features): Fix indexing
 -      gsub_gpos->FeatureList.Feature.  Check the validity of indices.
 -
 -2008-10-16  Magnus Henoch  <mange@freemail.hu>
 -
 -      * dbusbind.c (Fdbus_call_method): Unbreak usage line.
 -      (Fdbus_call_method_asynchronously): Ditto.
 -      This change makes C-h f display the argument list.
 -
 -2008-10-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Fexpand_file_name): Doc fix.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
 -      of :foreground and :background equivalent to unspecified (20.x
 -      compatibility).
 -
 -2008-10-15  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * buffer.c (syms_of_buffer): Doc fix.
 -
 -2008-10-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_clear_prop): When clearing font width, clear the
 -      average width field too.
 -
 -2008-10-12  Andreas Schwab  <schwab@suse.de>
 -
 -      * ftfont.c (ftfont_shape_by_flt): Make static.
 -      * ftfont.h (ftfont_shape_by_flt): Don't declare.
 -
 -      * font.c: Don't include <m17n-flt.h>.
 -
 -2008-10-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
 -
 -2008-10-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
 -      away code.
 -
 -2008-10-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (update_text_area): Avoid looping due to large glyph
 -      overhangs (bug#1070).
 -
 -2008-10-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (face_for_char): If face->fontset is negative, just
 -      return ascii_face.
 -
 -      * font.c (font_delete_unmatched): Fix previous change.
 -      Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
 -
 -2008-10-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (Fraise_frame): On text-only terminals select frame in
 -      order to make it visible.  (Bug#1061)
 -
 -2008-10-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fontset.c (fontset_find_font): Check frame validity.
 -
 -2008-10-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * gtkutil.c (xg_display_open): Reset default display if none exists.
 -      (xg_display_close): Allow Emacs to close all displays (bug#985).
 -
 -2008-10-06  Andreas Schwab  <schwab@suse.de>
 -
 -      * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
 -
 -2008-10-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
 -
 -      * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
 -
 -      * gtkutil.c (x_wm_set_size_hint): Return immediately if called
 -      during initialization.
 -
 -2008-10-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (redisplay_internal): If frame switched, redisplay the
 -      whole thing on MSDOS frames as well as on a TTY.
 -
 -      * dispnew.c (update_frame): Flush termscript for MSDOS frames as
 -      well as for TTY.
 -      (Fopen_termscript): Allow opening a termscript on MSDOS frames as
 -      well as on a TTY.
 -
 -      * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
 -      as well as for TTY.
 -
 -      * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
 -
 -      * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
 -      MSDOS frames as well.
 -
 -2008-10-02  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
 -      correct arguments.
 -      * menu.c (find_and_return_menu_selection): Add cast.
 -
 -2008-10-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (USAGE1): Add --daemon.
 -
 -2008-10-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): Multiply `pcpu' by
 -      100, so it's in percents as advertised.
 -
 -2008-10-02  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
 -      (ns_output.current_cursor, ns_output.desired_cursor)
 -      (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
 -      (FRAME_NEW_CURSOR_COLOR): Remove.
 -
 -      * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
 -      (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
 -      enumeration (HOLLOW_BOX_CURSOR, etc.).
 -
 -      * nsterm.m (ns_frame_rehighlight): Remove commented code.
 -      (draw_window_cursor): Simplify code.
 -      (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
 -      Don't change cursor type.  In latter, call rehighlight instead of doing
 -      updates manually.
 -      (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
 -      Use core Emacs cursor types.
 -
 -      * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
 -
 -2008-10-02  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * process.c (Faccept_process_output): Fix doc-string.
 -
 -2008-10-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * gmalloc.c (__sbrk): Also define for uClibc.
 -
 -      * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
 -      for uClibc.
 -
 -2008-10-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
 -      styles.
 -      (nsfont_open): Reenable the cache.
 -
 -2008-10-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * font.c (font_matching_entity): Reflect ATTRS in font selection.
 -      (font_find_for_lface) [HAVE_NS]: Don't ignore case.
 -
 -2008-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
 -      a suspended terminal.
 -
 -2008-09-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_signature): Use strcat instead of sprintf.
 -
 -2008-09-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
 -
 -2008-09-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): Don't advance the iterator if the last tab
 -      in a continued line coincides with a line beginning.
 -
 -2008-09-29  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (nsfont_trait_distance): Fix bug.
 -      (nsfont_list): Return a list rather than a vector (syncs with Handa
 -      changes of 2008-05-14).
 -      (nsfont_open): Improve logging.
 -
 -2008-09-29  Andreas Schwab  <schwab@suse.de>
 -
 -      * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
 -
 -2008-09-28  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
 -      name as char-resolve-modifiers.
 -      Reported by: Markus Triska <markus.triska@gmx.at>
 -
 -2008-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispnew.c (init_display): Return earlier when running as a daemon.
 -
 -2008-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
 -
 -2008-09-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * composite.c (Fcomposition_get_gstring)
 -      (Fcompose_region_internal, Fcompose_string_internal)
 -      (Ffind_composition_internal): Doc fix.
 -      (syms_of_composite) <compose-chars-after-function>: Doc fix.
 -      (syms_of_composite) <auto-composition-function>: Doc fix.
 -      (syms_of_composite) <composition-function-table>: Doc fix.
 -
 -2008-09-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * search.c (wordify): New argument for lax word-ends.
 -      (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
 -
 -2008-09-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * lisp.h (is_daemon): Declare.
 -      * dispnew.c (init_display): Do not try to initialize the terminal
 -      when running as a daemon.
 -
 -2008-09-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
 -      x_display_pixel_height.
 -
 -2008-09-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * undo.c (record_point): Don't call Fundo_boundary for first
 -      change.  (Bug#731)
 -
 -2008-09-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (Fdaemonp): Doc fix.
 -
 -2008-09-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Place #ifdef in the proper place.
 -
 -2008-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (standard_args): Add --daemon.
 -      (main): Disconnect from the terminal when --daemon is passed.
 -      (is_daemon): New variable.
 -      (Fdaemonp): New function.
 -      (syms_of_emacs): Defsubr it.
 -
 -2008-09-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (get_next_display_element): Handle string display
 -      correctly when checking for the end of a box run.
 -
 -2008-09-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
 -      (syms_of_fileio): Add Qdelete_by_moving_to_trash.
 -      (Frename_file): Avoid copying to trash if a rename involves
 -      a delete.  (Bug#964).
 -
 -2008-09-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
 -      (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
 -      frames as well as termcap frames.
 -      (handle_interrupt): Remove "#ifndef MSDOS" around the call to
 -      get_named_tty.
 -
 -2008-09-19  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): Fix cmdline in
 -      case /proc/PID/cmdline is empty.
 -
 -      * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
 -      x_display_pixel_height.
 -
 -2008-09-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
 -
 -      * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
 -
 -2008-09-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispextern.h (struct it): Move line_wrap away from the middle of
 -      bitfields.  Move voffset in struct iterator_stack_entry after the
 -      bitfields.  Move tab_width near after another short.
 -
 -2008-09-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * frame.h (struct frame): Move alpha from the middle of bitfields.
 -
 -      * window.h (struct window): Move frozen_window_start_p after the
 -      rest of the bitfields to reduce padding.
 -
 -2008-09-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.h (x_display_info): Remove `height' and `width' members.
 -
 -      * nsterm.h (ns_display_info): Remove `height' and `width' members.
 -
 -      * w32term.h (w32_display_info): Remove `height', `width',
 -      `height_in', and `width_in' members.
 -
 -      * xterm.c (x_display_pixel_height, x_display_pixel_width):
 -      New functions.
 -      (x_calc_absolute_position): Use them.
 -      (x_term_init): Omit removed `height' and `width' members.
 -
 -      * w32term.c (x_display_pixel_height, x_display_pixel_width):
 -      New functions.
 -      (w32_read_socket, x_calc_absolute_position): Use them.
 -      (w32_initialize_display_info, w32_term_init): Omit removed members
 -      of w32_display_info.
 -
 -      * nsterm.m (x_display_pixel_height, x_display_pixel_width):
 -      New functions.
 -      (ns_initialize_display_info): Omit removed members of ns_display_info.
 -
 -      * xterm.c (x_display_pixel_height, x_display_pixel_width):
 -      New functions.
 -      (x_calc_absolute_position): Use them.
 -      (x_term_init): Omit removed `height' and `width' members.
 -
 -      * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (compute_tip_xy):
 -      * frame.c (x_fullscreen_adjust):
 -      * xmenu.c (menu_position_func): Use x_display_pixel_height and
 -      x_display_pixel_width.
 -
 -2008-09-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (fill_gstring_header): Don't check FROM and TO here.
 -      (composition_compute_stop_pos): Fix handling of static composition.
 -      (Fcomposition_get_gstring): Check FROM and TO at first.
 -
 -2008-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
 -      mixup (YAILOM).
 -
 -2008-09-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Use position reported by iterator
 -      instead of PT for determining screen motion (bug#943).
 -
 -2008-09-17  Romain Francoise  <romain@orebokech.com>
 -
 -      * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
 -
 -2008-09-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_shape_by_flt): Downcase family name.
 -
 -      * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
 -      if necessary.
 -
 -2008-09-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (make_conversion_work_buffer): Avoid calling
 -      Fget_buffer_create if it is not necessary.
 -
 -2008-09-15  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fselect_window): Don't update window_select_count and
 -      use_time when norecord is not nil.
 -
 -2008-09-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Delete incorrect decrement of
 -      specpdl_ptr.
 -
 -2008-09-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * indent.c (scan_for_column): Don't handle automatic composition
 -      if the current buffer is not associated with a window.
 -
 -      * composite.c (composition_reseat_it): If the current buffer is
 -      not associated with a window, ignore the automatic composition.
 -      (find_automatic_composition): Likewise.
 -
 -2008-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
 -      (Fgpm_mouse_stop): Use it.
 -      * termhooks.h (close_gpm): Declare.
 -      * keyboard.c (tty_read_avail_input): Forcefully close the gpm
 -      connection if Gpm_GetEvent fails.
 -
 -      * window.c (set_window_buffer): Always preserve current-buffer.
 -
 -2008-09-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * charset.c (init_charset): Warn if etc/charsets not found.  (Bug#909)
 -
 -2008-09-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * charset.c (charset-map-path): Doc fix.
 -
 -2008-09-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
 -
 -      * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
 -      compose a grapheme cluster with the preceding base glyph.
 -
 -      * composite.c (composition_compute_stop_pos): Fix previous change.
 -      Reset cmp_it->id to -1 at first.
 -
 -2008-09-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (character.o, chartab.o): Fix config.h typo.
 -
 -2008-09-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_key_sequence): Reapply translation maps when
 -      switching keyboards.
 -
 -2008-09-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
 -      characters.
 -
 -      * composite.c (FORWARD_CHAR): Fix calculation
 -      of (POSITION).pos_byte.
 -      (composition_compute_stop_pos): Limit the search of composition to
 -      at most 500 characters ahead.  If we reach the limit or find a
 -      newline, set cmp_it->ch to -2 and return 0.
 -      (composition_reseat_it): Handle the case that cmp_it->ch is -2.
 -
 -2008-09-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * indent.c (Fvertical_motion): Be sure to set
 -      it_overshoot_expected if it.cmp_it.id is non-negative.
 -
 -2008-09-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * callproc.c (Fcall_process): Don't hold references to string data
 -      across garbage collection.  Move initialisation of new_argv down
 -      to avoid compiler bug.
 -
 -2008-09-07  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * process.c (Fsystem_process_attributes): Doc fix.
 -
 -2008-09-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callproc.c (Fcall_process): Canonicalize current directory name.
 -
 -      * xdisp.c (move_it_to): When moving by vpos, ensure that the
 -      iterator advances to the next line if the current line ends in a
 -      continued tab.
 -
 -2008-09-07  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * nsfont.m (nsfont_draw): Fix the references to missing gidx data
 -      member to point to cmp_from.
 -
 -      * xdisp.c: Doc fix for references to gidx data member.
 -
 -2008-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fbuffer_swap_text): Reset window->point markers.
 -
 -2008-09-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (FORWARD_CHAR): Check STOP after
 -      incrementing (POSITION).pos.
 -
 -2008-09-06  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * process.c (Fsystem_process_attributes): Doc fix.
 -
 -2008-09-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (Ftop_level): Doc fix.
 -
 -2008-09-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
 -      minibuffer, don't let lower part of menu invade the echo area.
 -
 -      * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
 -      "char *q" to access menu text and advance through it.  Revert the
 -      change that displayed ">" instead of ASCII character 0x10.
 -
 -2008-09-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
 -      toggle boxes and radio buttons on MS-DOS as well.
 -
 -2008-09-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (autocmp_chars): Check lookback count.
 -      (composition_compute_stop_pos): Set cmp_it->lookback.
 -      (composition_reseat_it): Check lookback count.
 -      (struct position_record): New struct.
 -      (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
 -      (find_automatic_composition): New function.
 -      (composition_adjust_point): Use find_automatic_composition.
 -
 -      * dispextern.h (struct composition_it): New member lookback.
 -
 -2008-09-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Don't call move_it_by_lines again
 -      if moving by a single line.
 -
 -2008-09-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * xterm.c (x_delete_display): Fix merge error.
 -
 -      * fileio.c (Fexpand_file_name): Remove unused variables.
 -
 -2008-09-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Copy argument `name' into local
 -      storage on all platforms, not just on DOS_NT.
 -
 -2008-09-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
 -      Ensure mouse is not grabbed after menu is finished.
 -
 -2008-09-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_set_alternative_font_family_alist)
 -      (Finternal_set_alternative_font_registry_alist): Properly copy
 -      entire alist structure.
 -
 -2008-09-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
 -      representative chars of the script is a vector.
 -      (ftfont_list): Handle the case where the representative chars of
 -      the script is a vector.
 -
 -      * character.c (syms_of_character): Docstring of
 -      script-representative-chars fixed.
 -
 -2008-08-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (BUILD_CHAR_GLYPH): New macro.
 -      (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
 -      the menu.  Allocate larger buffer for `text', to account for
 -      possible ^C characters.
 -
 -2008-08-31  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * xdisp.c (prepare_menu_bars): Don't call
 -      Vwindow_size_change_functions with arg Qt.
 -
 -2008-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font.h (font_range):
 -      * fileio.c (report_file_error):
 -      * composite.c (composition_update_it): Yet another int/Lisp_Object
 -      mixup (YAILOM).
 -
 -2008-08-30  Glenn Morris  <rgm@gnu.org>
 -
 -      * data.c (Fmake_variable_frame_local): Doc fix.
 -
 -      * frame.c (Fmodify_frame_parameters): Doc fix.
 -
 -2008-08-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
 -      needed by GetTokenInformation.
 -      (w32_system_process_attributes): Check return values of all system
 -      APIs.
 -
 -      * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
 -      only when the state changes.
 -      (IT_update_begin, IT_update_end): Add termscript trace.
 -
 -      * w16select.c (Fw16_set_clipboard_data): Don't encode text if
 -      clipboard is unavailable.  Set dst to NULL if it doesn't point to
 -      malloc'ed data.
 -      (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
 -      passing random values to xfree.
 -
 -      * dispnew.c (init_display): Set `tty's association in frame's
 -      parameters alist to the name of the terminal device, if that is known.
 -
 -2008-08-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
 -
 -2008-08-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * composite.c (fill_gstring_body): Avoid compiler warnings.
 -
 -      * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
 -      LGLYPH_SET_CODE to avoid compiler warnings.
 -
 -      * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
 -
 -      * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
 -
 -      * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
 -      LGLYPH_SET_CODE.
 -
 -2008-08-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (report_file_error): Don't downcase the first character
 -      of errstring if it is still unibyte.
 -
 -2008-08-29  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are to re-implement the automatic composition so
 -      that it doesn't use text properties.
 -
 -      * Makefile.in (ftfont.o): Depend on composite.h.
 -      (composite.o): Depend dispextern.h, font.h, frame, and window.h.
 -
 -      * character.h (Vunicode_category_table): Extern it.
 -
 -      * character.c (Vunicode_category_table): New variable.
 -      (syms_of_character): DEFVAR_LISP Vunicode_category_table.
 -
 -      * chartab.c (optimize_sub_char_table): Perform more greedy
 -      optimization.
 -
 -      * composite.h (enum composition_method):
 -      Delete COMPOSITION_WITH_GLYPH_STRING.
 -      (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
 -      (Vcomposition_function_table): Extern it.
 -      (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
 -      (composition_gstring_put_cache, composition_gstring_from_id)
 -      (composition_gstring_p, composition_gstring_width)
 -      (composition_compute_stop_pos, composition_reseat_it)
 -      (composition_update_it, composition_adjust_point): Extern them.
 -      (Fcomposition_get_gstring): EXFUN it.
 -
 -      * composite.c: Include window.h, frame.h, dispextern.h, font.h.
 -      (Vcomposition_function_table)
 -      (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
 -      (gstring_hash_table, gstring_work, gstring_work_headers):
 -      New variables.
 -      (gstring_lookup_cache, composition_gstring_put_cache)
 -      (composition_gstring_from_id, composition_gstring_p)
 -      (composition_gstring_width, fill_gstring_header)
 -      (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
 -      (composition_reseat_it, composition_update_it)
 -      (composition_adjust_point, Fcomposition_get_gstring): New functions.
 -      (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
 -      and gstring_work_headers.  DEFVAR_LISP composition-function-table.
 -      Defsubr composition_get_gstring.
 -
 -      * dispextern.h (struct glyph): New union u.cmp.  Delete the member
 -      cmp_id.
 -      (struct glyph_string): Delete the member gidx.  New members
 -      cmp_id, cmp_from, and cmp_to.
 -      (enum it_method): Delete GET_FROM_COMPOSITION.
 -      (struct composition_it): New struct.
 -      (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
 -      Delete c, len, cmp_id, cmp_len in u.comp.
 -
 -      * font.h (enum lgstring_indices): Delete it.
 -      (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
 -      (enum lglyph_indices): Likewise.
 -      (font_range): Adjust extern.
 -      (font_fill_lglyph_metrics): Extern it.
 -
 -      * font.c (QCf): New variable.
 -      (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
 -      (font_prepare_composition): Delete this function.
 -      (font_range): Type and arguments changed.
 -      (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
 -      (font_fill_lglyph_metrics): New function.
 -      (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
 -      (syms_of_font): DEFSYM QCf.  Delete defsubr for
 -      Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
 -      Defsubr Sfont_shape_gstring.
 -
 -      * fontset.h (font_for_char): Extern it.
 -
 -      * fontset.c (font_for_char): New function.
 -
 -      * ftfont.c: Include composite.h.
 -      (ftfont_resolve_generic_family): Add langset "en" to pattern.
 -      (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
 -
 -      * indent.c: Include composite.h and dispextern.h.
 -      (check_composition): Delete this function.
 -      (scan_for_column): Handle composition by
 -      composition_compute_stop_pos, composition_reseat_it, and
 -      composition_update_it.
 -      (compute_motion): Likewise.
 -      (Fvertical_motion): Fix checking of composition.
 -
 -      * keyboard.c (adjust_point_for_property): Check composition by
 -      composition_adjust_point.
 -
 -      * nsterm.m (ns_draw_glyph_string): Adjust for the change of
 -      struct glyph_string.
 -
 -      * term.c (encode_terminal_code): Adjust for the change of struct glyph.
 -      (append_composite_glyph): Adjust for the change of struct it and
 -      struct glyph.
 -      (produce_composite_glyph): Likewise.
 -
 -      * w32term.c (x_draw_composite_glyph_string_foreground):
 -      Adjust for the change of struct glyph_string.
 -      (x_draw_glyph_string): Likewise.
 -
 -      * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
 -      (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
 -
 -      * xdisp.c: Include font.h.
 -      (it_props): Delete the entry for Qauto_composed.
 -      (init_iterator): Initialize it->cmp_it.id to -1.
 -      (compute_stop_pos): Call composition_compute_stop_pos.
 -      (face_before_or_after_it_pos): Adjust for the change of struct it.
 -      (handle_auto_composed_prop): Delete it.
 -      (handle_composition_prop): Handle only static composition.
 -      (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
 -      from xassert.  Initialize it->cmp_it.stop_pos.
 -      (push_it): Adjust for the change of struct it.
 -      (pop_it): Likewise.
 -      (get_next_element): Delete next_element_from_composition.
 -      (CHAR_COMPOSED_P): New macro.
 -      (get_next_display_element): For automatic composition, get a face
 -      from the font in the glyph-string.
 -      (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
 -      check composition by it->cmp_it.id.  Delete GET_FROM_COMPOSITION case.
 -      (next_element_from_string): Check if the character at the current
 -      position is composed by CHAR_COMPOSED_P.
 -      (next_element_from_buffer): Likewise.
 -      (next_element_from_composition): Adjust for the change of struct it.
 -      Update it->cmp_it.
 -      (dump_glyph): Adjust for the change of struct glyph.
 -      (fill_composite_glyph_string): Adjust for the change of struct
 -      it and struct glyph.  Don't handle automatic composition here.
 -      (fill_gstring_glyph_string): New function.
 -      (x_get_glyph_overhangs): Handle automatic composition.
 -      (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
 -      (BUILD_GSTRING_GLYPH_STRING): New macro.
 -      (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
 -      automatic composition.
 -      (append_composite_glyph): Adjust for the change of struct it and
 -      struct glyph.
 -      (x_produce_glyphs): Adjust for the change of struct it.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
 -      the change of struct glyph_string.
 -      (x_draw_glyph_string): Likewise.
 -
 -2008-08-29  Glenn Morris  <rgm@gnu.org>
 -
 -      * buffer.c (word-wrap): Doc fix.
 -      * xdisp.c (truncate-partial-width-windows): Doc fix.
 -      Increase default to 50.
 -
 -2008-08-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (update_tool_bar_unwind): New function.
 -      (update_tool_bar): Temporarily set selected frame before building
 -      tool-bar items.
 -
 -2008-08-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
 -      snprintf, respectively.
 -      (xd_append_arg): Convert strings with Fstring_make_unibyte.
 -
 -2008-08-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in: Revert (undocumented) 2008-08-20 change adding
 -      LDFLAGS to GNUstep CC invocation.
 -
 -2008-08-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Revert last change.  Handle the
 -      general case where we are moving forward, and PT spans multiple
 -      screen lines.
 -
 -      * eval.c (find_handler_clause): Temporarily increase
 -      max-lisp-eval-depth while printing the backtrace buffer, to
 -      guarantee that help-mode code can run.
 -
 -2008-08-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
 -      colors under -rv.
 -      (IT_set_frame_parameters): Don't swap foreground and background
 -      colors if `(reverse . t)' is present in the frame properties.
 -      (internal_terminal_init): Call init_frame_faces only for the
 -      initial frame.
 -
 -2008-08-27  Andreas Schwab  <schwab@suse.de>
 -
 -      * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
 -
 -2008-08-27  Andreas Schwab  <schwab@suse.de>
 -
 -      * search.c (search_buffer): Set char_base to zero only at the end.
 -
 -2008-08-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (report_file_error): Fix handling of multibyte error string.
 -
 -2008-08-27  Andreas Seltenreich  <seltenreich@gmx.de>
 -
 -      * xterm.c (x_term_init): Temporarily hide the partially
 -      initialized terminal while calling vendor-specific-keysyms.
 -
 -2008-08-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (internal_terminal_init): Most initializations done only
 -      once, especially initial_screen_colors[] and termscript open.
 -
 -2008-08-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Fcondition_case): Doc fix.
 -
 -      * widgetprv.h (EmacsFramePart): Change font member to the new font
 -      struct.
 -
 -      * widget.c: Include character.h and font.h for XSETFONT.
 -      (setup_frame_gcs): Compute X font id from font struct, just once.
 -
 -2008-08-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (get_named_tty): Fix last change.
 -
 -2008-08-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): If moving forward starting from a
 -      multi-line string, move the iterator to the last line of that string.
 -
 -2008-08-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (do_switch_frame): Mark previously displayed frame as
 -      obscured for FRAME_MSDOS_P frames as well.
 -
 -2008-08-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (make_terminal_frame): Initialize f->terminal,
 -      f->terminal->reference_count, and scroll bars on MS-DOS as well.
 -      Set the top frame to newly created frame.
 -      (Fmake_terminal_frame): Reuse the_only_display_info.
 -
 -      * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
 -      estimating available memory.
 -
 -2008-08-23  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_draw_window_cursor): Don't call
 -      NSDisableScreenUpdates and NSEnableScreenUpdates on
 -      non-NS_IMPL_COCOA systems.
 -
 -2008-08-23  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (procfs_system_process_attributes): Fix use of
 -      uninitialized variables.
 -
 -2008-08-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
 -
 -      * dispnew.c (init_display): Remove MS-DOS specific conditions for
 -      calling tty-set-up-initial-frame-faces.
 -
 -      * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
 -      Allow MSDOS frames along with X frames.
 -
 -      * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
 -      addition to output_termcap.
 -
 -      * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
 -
 -      * termchar.h (FRAME_TTY): Support output_msdos_raw.
 -      (struct tty_display_info) [MSDOS]: Add fields related to mouse
 -      highlight.
 -
 -      * process.c [!subprocesses]: Define QCname.
 -      (syms_of_process): Intern and staticpro it.
 -
 -      * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
 -      Adjust for changes in encoding/decoding routines.
 -      Use encode_coding_object and decode_coding_object instead of
 -      encode_coding and decode_coding.
 -
 -      * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
 -
 -      * dosfns.c: Include frame.h before termhooks.h.
 -      (dos_cleanup): Use CURTTY ()->termscript instead of a global
 -      variable termscript.
 -
 -      * s/msdos.h (USER_FULL_NAME): Define.
 -      (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
 -
 -      * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
 -      (Fuser_full_name): Use USER_FULL_NAME instead of a literal
 -      pw->pw_gecos.
 -
 -      * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
 -      SELECTED_FRAME as additional (1st) argument.
 -      (tty_read_avail_input): Handle output_msdos_raw in
 -      addition to output_termcap.
 -
 -      * msdos.c: Include frame.h before termhooks.h.
 -      (mouse_on, mouse_off, mouse_moveto, mouse_init)
 -      (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
 -      (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
 -      (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
 -      (IT_set_terminal_modes, IT_reset_terminal_modes)
 -      (IT_set_frame_parameters): Use tty->termscript instead of a global
 -      variable termscript.
 -      (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
 -      global variable terminal_coding.  Don't refer to
 -      Vnonascii_translation_table.
 -      (internal_terminal_init): Set Vwindow_system in current_kboard.
 -      Don't use TTY_CHAR_INS_DEL_OK.  Set Vinitial_window_system.
 -      Announce date and time of session start, if termscript is open.
 -      Don't zero out the_only_display_info (it is done in
 -      term.c:init_tty).  Open termscript only of not already open.
 -      Log "SCREEN SAVED" here, instead of IT_set_terminal_modes.  Init mouse
 -      here instead of dos_ttraw.  Don't initialize display if this is an
 -      initial tty.  Don't set FRAME_FONT.
 -      (Vwindow_system_version): Bump to 23.
 -      (dos_ttraw): Accept a TTY argument; all callers fixed.  If mouse
 -      is available, set up mouse_position_hook.
 -      (dos_ttraw, IT_set_terminal_modes): If called with initial
 -      terminal, do nothing.
 -      (IT_set_frame_parameters): Handle the Qtty_type frame
 -      parameter by calling internal_terminal_init.
 -      (dos_set_window_size, show_mouse_face)
 -      (clear_mouse_face, IT_note_mode_line_highlight)
 -      (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
 -      (dos_rawgetc): Use tty_display_info instead of x_display_info.
 -      (initialize_msdos_display): New function.
 -      (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
 -      (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
 -      (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
 -      (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
 -      Accept additional argument: a pointer to a frame.  Update all callers.
 -      (request_sigio, unrequest_sigio): Don't define, now defined on
 -      sysdep.c.
 -      (IT_write_glyphs): Rewrite to use encode_terminal_code.
 -
 -      * term.c [MSDOS]: Include msdos.h.
 -      (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch.  Change cpp
 -      conditional to DOS_NT.  Allow only one call to this function in a
 -      session.  Don't allocate a new struct tty_display_info; instead,
 -      reuse the_only_display_info.  Call get_tty_size to get screen
 -      dimensions.  Call init_baud_rate to set bad_rate.
 -      (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
 -      (Fsuspend_tty) [MSDOS]: Don't close input and output.
 -      (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
 -      (get_tty_terminal, get_named_tty, Ftty_type)
 -      (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
 -      output_termcap.
 -      (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
 -      Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
 -      only when subprocesses are supported.
 -
 -      * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
 -      f->output_data.x.
 -      (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
 -      terminal devices.
 -
 -      * msdos.h: Remove definition of struct x_display_info and struct
 -      x_output.
 -      (FRAME_FONT): Use output_data.tty.
 -      (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
 -      (struct x_display_info): Rename from display_info.  Update all users in
 -      msdos.c.
 -      (struct x_output): Remove background_pixel and foreground_pixel.
 -      (the_only_display_info): Rename from the_only_x_display.
 -      (dos_ttraw): Update prototype.
 -
 -      * Makefile.in (MSDOS_OBJ): Add xmenu.o.
 -      (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
 -
 -2008-08-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
 -      (fn_TIFFSetDirectory): New library function used.
 -      (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
 -      (tiff_load): Use :index to select among multiple images.  Set count
 -      property when multiple images exist.
 -      (gif_format): Use :index, not :image.
 -
 -2008-08-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_scrolling): Check INT_MAX instead of
 -      MOST_POSITIVE_FIXNUM for maximum integer value.  Include limits.h
 -      to obtain INT_MAX.
 -
 -2008-08-21  İsmail Dönmez  <ismail@namtrac.org>  (tiny change)
 -
 -      * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
 -
 -2008-08-21  Christian Faulhammer  <opfer@gentoo.org>  (tiny change)
 -
 -      * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
 -      GNUstep library location.
 -
 -2008-08-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (x_update_menu_appearance): Check validity of menu font
 -      before using it.
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1250000.
 -
 -2008-08-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns-read-file-name): Add casts to avoid warning.
 -      (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
 -      * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
 -      * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
 -      (EmacsApp-cursor_blink_handler): Remove declaration.
 -      * nsterm.m (ns_draw_glyph_string): Update first conditional body to
 -      match 01 Feb 2008 changes in xterm.c.
 -      (ns_read_socket): Add cast to avoid warning.
 -      (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
 -      GNUstep.
 -
 -2008-08-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xselect.c (x_get_foreign_selection): Return nil if desired
 -      selection could not be obtained, instead of signalling an error.
 -
 -2008-08-20  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
 -      * nsterm.m: Remove ns-specific code for cursor blinking.
 -      (ns_draw_window_cursor): Clear cursor properly rather than
 -      redrawing the area.  Respect width of bar cursors.
 -      These changes enable the use of generic blink-cursor-mode and
 -      generic cursor types in NS and support smooth cursor movements (do
 -      not blink off after command).
 -      * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
 -      Nextstep, too.
 -
 -2008-08-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Vfont_log_deferred): New variable.
 -      (font_add_log): Check Vfont_log_deferred.
 -      (font_deferred_log): New function.
 -
 -      * font.h (font_deferred_log): Extern it.
 -
 -      * fontset.c (reorder_font_vector): Use encoding charset of fonts
 -      for sorting.
 -      (face_for_char): Use deferred log.
 -
 -2008-08-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (face_for_char): Add font log.
 -
 -      * font.c (font_add_log): Add the font properties :script, :lang,
 -      and :otf in the log.
 -
 -2008-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c: Remove dead code.
 -      (handle_invisible_prop, next_overlay_string): Defer call to
 -      setup_for_ellipsis.
 -      (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
 -
 -2008-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (lookup_derived_face): Properly handle possible zero
 -      return value of get_lface_attributes.
 -      (merge_faces): Don't tell lookup_derived_face to signal an error
 -      if face is not found.
 -
 -      * dired.c (Fdirectory_files): Doc fix.
 -
 -      * process.c (make_process): Initialize kill_without_query struct
 -      member.
 -
 -2008-08-15  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
 -      Alternative calculation of totphys for Visual Studio 6.
 -
 -      * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
 -
 -      * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
 -      Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
 -      All users changed.
 -      (stat): Only root directory passed to GetDriveType.  Allow RAM
 -      disk as well as local fixed disk when w32-get-true-file-attributes
 -      is set to `local'.
 -      (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
 -      (equal_sid, get_length_sid, copy_sid): New wrapper functions.
 -      (w32_cached_id, w32_add_to_cache): New functions.
 -      (get_name_and_id): Look account names in the cache before calling
 -      lookup_account_sid.
 -      (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
 -      New initialization flags.
 -      (globals_of_w32): Initialize them to zero.
 -      (w32_system_process_attributes): Use w32_cached_id and
 -      w32_add_to_cache.
 -
 -2008-08-14  Lawrence Mitchell  <wence@gmx.li>
 -
 -      * lread.c (Fread_char, Fread_char_exclusive): If no character
 -      event is read before timeout is reached, return nil, rather than
 -      converting to a number.
 -
 -2008-08-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (use_dialog_box): Doc fix.
 -
 -      * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
 -      on OS X.
 -
 -2008-08-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Qns_parse_geometry): New var.
 -      (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
 -
 -2008-08-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (x_produce_glyphs): Handle the case when font has no
 -      space character in calculating tabs.
 -
 -2008-08-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
 -
 -2008-08-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): Use EMACS_INTs to
 -      silence gcc "limited range of data type" warnings in some
 -      make_fixnum_or_float calls.
 -
 -2008-08-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (w32_system_process_attributes): If the process does not
 -      exist, return nil.
 -
 -      * w32.c: Include thelp32.h, psapi.h and coding.h.
 -      (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
 -      declarations.
 -      (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
 -      (Process32Next_Proc): New typedefs.
 -      (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
 -      (g_b_init_process32_next, g_b_init_open_thread_token)
 -      (g_b_init_impersonate_self, g_b_init_revert_to_self)
 -      (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
 -      (g_b_init_get_process_working_set_size)
 -      (g_b_init_global_memory_status_ex): New static variables.
 -      (globals_of_w32): Initialize them.
 -      (create_toolhelp32_snapshot, process32_first, process32_next)
 -      (open_thread_token, impersonate_self, revert_to_self)
 -      (get_process_memory_info, get_process_working_set_size)
 -      (global_memory_status, global_memory_status_ex): New wrapper
 -      functions.
 -      (w32_list_system_processes, w32_system_process_attributes)
 -      (enable_privilege, restore_privilege, ltime, process_times):
 -      New functions.
 -      (convert_time_raw): New function.
 -      (convert_time): Remove conversion of FILETIME into time in 100
 -      nsec units, call convert_time_raw instead.
 -
 -      * process.h (w32_list_system_processes, w32_system_process_attributes):
 -      Add prototypes.
 -      (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
 -      (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
 -      (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
 -      (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
 -
 -      * process.c (Fsystem_process_attributes): Doc fix.
 -
 -2008-08-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): When stopping at a charpos, check if that's
 -      a continued multi-char glyph; if so, advance to the actual glyph.
 -
 -2008-08-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
 -
 -      * Makefile.in (ALL_OBJC_CFLAGS): New variable.
 -      (.m.o): Use it.
 -      * config.in: Regenerate.
 -
 -2008-08-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): Revert last change.
 -      (try_window): Check bottom scroll margin too.
 -
 -2008-08-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * config.in: Regenerate.
 -
 -      * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
 -      -list-load-path-shadows'.
 -      (nsgui.h): Reduce number of things depending on it.
 -
 -2008-08-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
 -      instead of window-end which does the wrong thing at eob.
 -      (try_cursor_movement): Minor optimization.
 -      (redisplay_window): If scroll margin is defined, don't assume
 -      window doesn't need scrolling.
 -
 -2008-08-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * config.in: Regenerate.
 -
 -      * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
 -      (mostlyclean): Don't delete *.d under NS.
 -
 -      * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
 -
 -2008-08-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_list_family): Return a list of symbols, not strings.
 -
 -2008-08-06  Andreas Schwab  <schwab@suse.de>
 -
 -      * config.in: Regenerate.
 -
 -2008-08-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): Don't enforce scroll-margin when
 -      forcing a window start.
 -
 -      * fileio.c (Vauto_save_list_file_name): Move here from file.el.
 -      (auto_save_1): Update modtime when auto-save-list-file-name is on.
 -
 -2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
 -      argument.
 -
 -2008-08-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
 -      <scroll-down-aggressively, before-change-functions>:
 -      <after-change-functions>: Reflow docstrings.
 -
 -2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -          Ken Raeburn  <raeburn@gnu.org>
 -
 -      Dock menu customization, based on a patch by Ken Raeburn, plus some
 -      other fixes.
 -      * nsmenu.m (dockMenu): New variable.
 -      (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
 -
 -      * nsterm.h (dockMenu): Declare.
 -
 -      * nsterm.m (KEY_NS_NEW_FRAME): New definition.
 -      (ns_term_init): Initialize dockMenu.
 -      (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
 -      (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
 -      left.
 -
 -      * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
 -
 -2008-08-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
 -
 -      * config.in: Regenerate.
 -
 -2008-08-04  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
 -
 -2008-08-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.h (find_and_call_menu_selection): Fix prototype.
 -
 -2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
 -
 -      * keyboard.h: Comment an #endif.
 -
 -      * lisp.h (have_menus_p): Adjust comment.
 -
 -      * menu.c (find_and_return_menu_selection): Fix comparison with
 -      client_data.
 -
 -      * nsmenu.m (popup_activated_flag): New variable.
 -      (popup_activated): New function.
 -      (menu-or-popup-active-p): New exported lisp definition.
 -      (ns_popup_menu): Set popup_activated_flag.  Call discard_menu_items()
 -      when popup done.
 -      (ns_popup_dialog): Set popup_activated_flag.
 -
 -      * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
 -      version for GNUstep (handled by conditional typedef in nsterm.m).
 -      (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
 -      in rgb.txt).
 -
 -      * process.c (init_process): Use DARWIN_OS, not DARWIN.
 -
 -      * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
 -
 -      * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
 -
 -      * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
 -      shortcircuit if popup_activated like GTK and X toolkit.
 -
 -      * m/inter386.h: Change DARWIN to DARWIN_OS.
 -
 -      * s/darwin.h: Add #define DARWIN_OS.  Get rid of C_SWITCH_SYSTEM def.
 -      Change LIBS_MACGUI to LIBS_NSGUI.  Move temacs-conditionalized defs
 -      closer to C_SWITCH_SYSTEM_TEMACS so usage is understood.  Expand
 -      comment on NO_SOCK_SIGIO.
 -
 -2008-08-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (windowDidResize): Remove stopModal call.
 -
 -2008-08-03  Andreas Schwab  <schwab@suse.de>
 -
 -      * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
 -      (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
 -
 -2008-08-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
 -      Don't use uninitialized pointer variable when using getrlimit.
 -
 -2008-08-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
 -
 -2008-08-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * alloc.c (NSTATICS): Bump to 0x640.
 -
 -      * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
 -
 -      * lisp.h: Add prototype for directory_files_internal.
 -
 -      * process.c (Fsystem_processes_list, Fsystem_process_attributes):
 -      New functions.
 -      (syms_of_process): Defsubr them.  Add initializations for various
 -      Q* symbols used in procfs_system_process_attributes.
 -      (procfs_list_system_processes, procfs_system_process_attributes)
 -      [HAVE_PROCFS]: New functions.
 -      (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
 -      (procfs_get_total_memory): New functions.
 -
 -2008-08-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Fx_load_color_file): Fix previous change;
 -      it is #ifdef WINDOWSNT, not WINDOWS_NT.
 -
 -2008-08-01  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_read_message): Handle D-Bus error messages.
 -
 -2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
 -
 -2008-08-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
 -
 -      * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
 -      define NSApplicationDelegateReplySuccess.
 -      (EmacsView -converstationIdentifier): Use long instead of
 -      NSInteger for GNUstep, since it doesn't have NSInteger.
 -
 -      * xmenu.c: Revert last change.
 -
 -      * keyboard.h: Fix last change.
 -
 -2008-08-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
 -      on Windows.
 -
 -2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Warning clearing and clean-up in NS port.
 -      * keyboard.h (xmalloc_widget_value, digest_single_submenu):
 -      Add prototypes.
 -      * nsgui.h (FACE_DEFAULT): Remove, unused.
 -      (XGCValues): Change colors to unsigned long.
 -      * nsterm.h (EmacsApp): Add declaration of all methods implemented in
 -      nsterm.m.
 -      (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
 -      (ns_list_fonts): Remove, unused.
 -      (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
 -      * nsfns.m (interpret_services_menu): Use NSMenuItem class.
 -      * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
 -      (nsfont_draw): Compare face colors to 0, not nil.
 -      * nsmenu.m (struct widget_value): Drop unneeded declaration.
 -      (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
 -      (-addSubmenuWithTitle:): Use NSMenuItem class.
 -      (ns_popup_menu): Use NO, not NULL, for enabled setting.
 -      * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
 -      (ns_clip_to_row): Make gc arg a BOOL.
 -      (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
 -      ns_clip_to_row() call.
 -      (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
 -      used).  Cast FRAME_FONT assignments.
 -      (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
 -      (ns_string_to_lispmod): Change arg to const char.
 -      (ns_term_init): Use NSMenuItem class.
 -      (EmacsApp -openFile:): Move to different section of file.
 -      (EmacsApp -application:openFiles:): Don't return a value, call
 -      -replyToOpenOrPrint:.
 -      (EmacsView -keyDown:): Fix up cast.
 -      (EmacsView -converstationIdentifier): Use NSInteger instead of long.
 -      (EmacsView -menuDown:): Cast tag in call to
 -      find_and_call_menu_selection().
 -      (ns_list_fonts): Remove, unused.
 -      (ns_font_to_xlfd): Make static.  Cast result of UTF8String.
 -      (ns_fontname_to_xlfd): Make static.
 -      * w32menu.c (xmalloc_widget_value, digest_single_submenu):
 -      Remove prototypes (now in keyboard.h).
 -      (next_menubar_widget_id): Remove, unused.
 -      * xmenu.c (xmalloc_widget_value, digest_single_submenu):
 -      Remove prototypes (now in keyboard.h).
 -      * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
 -
 -2008-08-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
 -      (floatfns.o): Depend on syssignal.h.
 -      (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
 -
 -      * systty.h: Fix previous change that removed BSD_TERMIOS.
 -      Add comments to #ifdefs.
 -
 -2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * w32fns.c (w32-load-color-file): Remove.
 -      (x-open-connection): Use renamed Fx_load_color_file.
 -      * xfaces.c (x-load-color-file): Add.
 -      * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
 -      Emacs.clr.
 -      (hide_hourglass): BLOCK_INPUT before UNBLOCK.
 -
 -2008-07-31  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_call_method_asynchronously)
 -      (Fdbus_method_error_internal): New defuns.
 -      (xd_read_message): Handle also reply messages.
 -      (Vdbus_registered_functions_table): Extend docstring.
 -
 -2008-07-31  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * keyboard.c (gobble_input): Fix previous change.
 -
 -2008-07-31  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * bitmaps/README:
 -      * xfns.c:
 -      * termcap.c:
 -      * term.c:
 -      * syswait.h:
 -      * systty.h:
 -      * systime.h:
 -      * syssignal.h:
 -      * sysdep.c:
 -      * process.h:
 -      * process.c:
 -      * print.c:
 -      * ndir.h:
 -      * lread.c:
 -      * keyboard.c:
 -      * getpagesize.h:
 -      * floatfns.c:
 -      * fileio.c:
 -      * emacs.c:
 -      * doc.c:
 -      * dispnew.c:
 -      * dired.c:
 -      * data.c:
 -      * callproc.c:
 -      * buffer.c:
 -      * README:
 -      * Makefile.in:
 -      * s/template.h:
 -      * s/msdos.h:
 -      * m/vax.h: Remove VMS support.
 -      * s/vms.h:
 -      * vlimit.h:
 -      * uaf.h:
 -      * temacs.opt:
 -      * param.h:
 -      * ioctl.h: Remove file.
 -
 -2008-07-31  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/ms-w32.h (MULTI_KBOARD): Remove.
 -      * xterm.c:
 -      * xselect.c:
 -      * xfns.c:
 -      * window.c:
 -      * w32term.c:
 -      * w32fns.c:
 -      * terminal.c:
 -      * termhooks.h:
 -      * term.c:
 -      * sysdep.c:
 -      * keyboard.h:
 -      * keyboard.c:
 -      * frame.h:
 -      * frame.c:
 -      * frame.c: Remove references to MULTI_KBOARD, it is now the default.
 -      * config.in: Regenerate.
 -
 -2008-07-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.h (struct w32font_info): Use unicode version of textmetrics.
 -
 -      * w32font.c (w32font_encode_char): Leave as unicode if in range.
 -      (w32font_open_internal): Get unicode version of textmetrics.
 -      Don't enable or disable glyph indices here.
 -      (w32font_open): Disable use of glyph indices.
 -
 -      * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
 -
 -2008-07-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Vread_buffer_function): Doc fix.
 -
 -2008-07-30  John Paul Wallington  <jpw@pobox.com>
 -
 -      * minibuf.c (read_buffer_completion_ignore_case): New var.
 -      (Fread_buffer): Use it.
 -
 -2008-07-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * systty.h (sensemode): Remove empty #if.  Remove reference to
 -      BSD_TERMIOS, unused.
 -
 -      * sysdep.c: Remove reference to DGUX.
 -      (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
 -
 -      * config.in: Regenerate.
 -
 -2008-07-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
 -
 -2008-07-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
 -      is populated.
 -      (uniscribe_encode_char): Always use uniscribe.
 -      Avoid using context if cache is populated.
 -
 -2008-07-29  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
 -      open menu.
 -
 -      * gtkutil.c (menu_nav_ended): Remove.
 -      (create_menus): Remove signal connect for menu_nav_ended.
 -
 -2008-07-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): Check return value of
 -      compute_window_start_on_continuation_line before forcing a window
 -      start.
 -
 -2008-07-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
 -
 -      * w32term.c (w32_enable_unicode_output, cleartype_active):
 -      Remove obsolete display options.
 -      (x_draw_glyph_string_background): Don't use old cleartype_active
 -      workaround.
 -      (w32_initialize): Remove cleartype_active initialization.
 -      (syms_of_w32term): Remove w32_enable_unicode_output initialization.
 -
 -2008-07-28  Andreas Schwab  <schwab@suse.de>
 -
 -      * lisp.h (init_weak_hash_tables, syms_of_font)
 -      (xd_read_queued_messages, syms_of_dbusbind): Declare.
 -      (remove_hash_entry): Don't declare.
 -      * eval.c (maybe_call_debugger): Make static and move before use.
 -      * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
 -      * xdisp.c: Include "gtkutil.h" if USE_GTK.
 -      * xterm.h (x_set_frame_alpha): Declare.
 -
 -2008-07-28  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
 -      (create_menus): Connect selection-done to menu_nav_ended.
 -
 -2008-07-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
 -      Set Vx_resource_name to a fallback.  Replace read of 'buffered'
 -      parameter with read of 'alpha' one.
 -      (Qns_frame_parameter): Remove.
 -      * nsselect.m (selection-coding-system)
 -      (next-selection-coding-system, Vselection_coding_system)
 -      (Vnext_selection_coding_system): Drop.
 -
 -2008-07-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (do-applescript, do_applescript): Rename to
 -      ns-do-applescript, ns_do_applescript, and move within file.
 -
 -2008-07-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Remove support for Mac Carbon.
 -      * mactoolbox.c:
 -      * macterm.h:
 -      * macterm.c:
 -      * macselect.c:
 -      * macmenu.c:
 -      * macgui.h:
 -      * macfns.c:
 -      * mac.c: Remove file.
 -      * s/darwin.h:
 -      * m/intel386.h:
 -      * xfaces.c:
 -      * xdisp.c:
 -      * window.c:
 -      * tparam.c:
 -      * termhooks.h:
 -      * termcap.c:
 -      * term.c:
 -      * syssignal.h:
 -      * sysselect.h:
 -      * sysdep.c:
 -      * process.c:
 -      * lread.c:
 -      * lisp.h:
 -      * keyboard.c:
 -      * image.c:
 -      * fringe.c:
 -      * frame.h:
 -      * frame.c:
 -      * fontset.c:
 -      * font.h:
 -      * font.c:
 -      * fns.c:
 -      * fileio.c:
 -      * emacs.c:
 -      * dispnew.c:
 -      * dispextern.h:
 -      * config.in:
 -      * atimer.c:
 -      * Makefile.in: Remove code for Carbon.
 -
 -2008-07-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
 -
 -2008-07-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.h (kCGBitmapByteOrder32Host): New define for
 -      non-universal SDKs.
 -
 -      * image.c (mac_create_cg_image_from_image, image_load_image_io)
 -      [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
 -
 -      * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
 -      [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
 -
 -2008-07-26  David Robinow  <drobinow@gmail.com>  (tiny change)
 -
 -      * w32inevt.c: Include dispextern.h.
 -
 -2008-07-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * print.c (print_object): Fix off-by-one in last change.
 -
 -2008-07-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * term.c (syms_of_term): Don't initialize default_orig_pair,
 -      default_set_foreground and default_set_background on Windows.
 -
 -2008-07-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
 -      ScriptItemize.  Clean up return value checking.  Remove unused
 -      variables.
 -      (uniscribe_encode_char): Encode non-BMP characters with uniscribe
 -      shaping engine.
 -
 -      * w32font.c (w32font_has_char): Handle the case where we can't
 -      determine the script for a character.
 -
 -2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.c (syms_of_term): Initialize default_orig_pair,
 -      default_set_foreground, and default_set_background.
 -
 -      * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
 -      clash (bug#86).
 -      (getloadavg): Callers changed.
 -
 -      * image.c (svg_load_image): Fix last change.
 -      (svg_load_image): Use rsvg_handle_get_dimensions to check that
 -      image size is valid.  Use g_object_unref instead of deprecated
 -      rsvg_handle_free to free rsvg handle.
 -      (x_from_xcolors): Don't initialize pixmap (silence compiler).
 -
 -2008-07-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_encode_char): Encode characters outside BMP as
 -      surrogates before looking up glyph index.
 -      (w32font_text_extents): Encode as surrogates if falling back to
 -      functions that need UTF-16 wide chars.
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
 -      BMP as surrogates before looking up glyph index.
 -
 -2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (svg_load_image): Check for failure in return value of
 -      rsvg_handle_get_pixbuf.  Free rsvg handle when done.
 -
 -2008-07-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (Fx_select_font): Reverse sense of second arg.
 -
 -2008-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
 -      (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
 -
 -      * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
 -      (PURESIZE): Use it.
 -
 -2008-07-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
 -      * m/alpha.h (TEXT_END):
 -      * m/ibmrs6000.h (TEXT_END):
 -      * m/macppc.h (TEXT_END):
 -      * s/darwin.h (TEXT_END):
 -      * s/msdos.h (TEXT_END): Remove, unused.
 -      * s/gnu-linux.h (BSD_PGRPS): Add a comment.
 -      * s/cygwin.h: Remove comment.
 -
 -      * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
 -      (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
 -      * m/intel386.h (DOT_GLOBAL_START):
 -      * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
 -      (USG): Remove, file not used on USG platforms.
 -
 -      * Makefile.in (HAVE_X11): Remove empty #else.
 -
 -2008-07-24  Andreas Schwab  <schwab@suse.de>
 -
 -      * fileio.c (Finsert_file_contents): Properly adjust undo list
 -      after format conversion.
 -
 -2008-07-24  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
 -      (menu_nav_ended): Remove.
 -      (create_menus): Remove signal connect for menu_nav_ended.
 -      (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
 -      create_menus.
 -      (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
 -
 -2008-07-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32_enumfont_pattern_entity): Return height consistent
 -      with opened font.
 -      (w32font_open): Set font type to gdi.
 -
 -      * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
 -
 -2008-07-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
 -      * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
 -      defines it.
 -      * unexec.c (ADDR_CORRECT): Define unconditionally.
 -
 -      * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
 -
 -      * unexec.c: Remove code depending on !COFF and USG, the file is
 -      not used for such systems.
 -
 -      * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
 -      * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
 -      (LD_SWITCH_SYSTEM_1): Remove, update users.
 -
 -      * s/darwin.h (DATA_END):
 -      * m/intel386.h (DATA_END):
 -      * m/ibmrs6000.h (DATA_END):
 -      * m/alpha.h (DATA_END): Remove, unused.
 -
 -      * config.in: Regenerate.
 -      * s/ms-w32.h (subprocesses): Define unconditionally.
 -      * s/template.h (subprocesses): Update comment.
 -      * s/vms.h (subprocesses):
 -      * s/usg5-4.h (subprocesses):
 -      * s/hpux10-20.h (subprocesses):
 -      * s/gnu-linux.h (subprocesses):
 -      * s/cygwin.h (subprocesses):
 -      * s/bsd-common.h (subprocesses):
 -      * s/aix4-2.h (subprocesses):
 -      * s/darwin.h (subprocesses): Do not define, defined by default now.
 -
 -      * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
 -      Remove all references.
 -      (temacs): Add GNUstep specific ld flags.
 -
 -      * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
 -      similarly to what X does.
 -
 -2008-07-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (x-list-fonts): Remove.
 -      (syms_of_nsfns): Drop the x-list-fonts declaration.
 -      * nsterm.m: Get rid of remaining "//" comments.
 -
 -2008-07-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
 -
 -      * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
 -      (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
 -      (Fns_own_selection_internal, Fx_disown_selection_internal)
 -      (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
 -
 -      * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
 -      ... */' style of docstrings.  Doc fixes.
 -
 -2008-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * terminfo.c (UP, BC, PC): Undo previous change.
 -
 -      * nsfns.m: Rename ns prefixed functions/variables to the
 -      corresponding x versions.  Update references.
 -
 -2008-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
 -
 -2008-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
 -      Remove forwarding functions.
 -      (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
 -      non-static.
 -      (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
 -      non-static.
 -      (ns_frame_parm_handlers): Use the new names.
 -      (syms_of_nsfns): Move to the end of file.
 -
 -      * nsterm.m (syms_of_nsterm): Move to the end of file.
 -
 -      * dispnew.c (init_display): Remove code for X10.
 -
 -2008-07-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32proc.c (Fw32_long_file_name): Don't append dir separator to
 -      bare drive.
 -
 -2008-07-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (syms_of_nsterm): Remove debugging println.
 -
 -2008-07-22  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (do_applescript, F_do_applescript): NS version of the
 -      Carbon implementation of the same functionality: execute arbitrary
 -      AppleScript code.
 -
 -2008-07-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
 -      (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_screens)
 -      (Fx_display_mm_height, Fx_display_mm_width)
 -      (Fx_display_backing_store, Fx_display_visual_class)
 -      (Fx_display_save_under, Fx_open_connection)
 -      (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
 -      (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
 -      (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
 -      (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (Fx_display_usable_bounds, Fx_display_planes)
 -      (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
 -      ... */' style of docstrings.
 -
 -2008-07-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
 -      on this platform.
 -      (mips):
 -      * m/iris4d.h (mips): Do not define.
 -      * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
 -
 -      * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
 -
 -      * image.c:
 -      * nsfns.m:
 -      * nsselect.m:
 -      * nsterm.h:
 -      * nsterm.m: Rename ns prefixed functions/variables to the
 -      corresponding x versions.  Update references.
 -
 -      * m/ibms390x.h (NO_REMAP): Do not undefine.
 -
 -      * m/amdx86-64.h: Use SOLARIS2 instead of sun.
 -
 -2008-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m: Change NS to Nextstep in docstrings and error messages.
 -      (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
 -      (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
 -      (Fns_server_vendor, Fns_server_version, Fns_display_screens)
 -      (Fns_display_mm_height, Fns_display_mm_width)
 -      (Fns_display_backing_store, Fns_display_visual_class)
 -      (Fns_display_save_under, Fns_open_connection)
 -      (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
 -      (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
 -      (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
 -      (Fns_display_pixel_width, Fns_display_pixel_height)
 -      (Fns_display_usable_bounds, Fx_display_planes)
 -      (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
 -
 -2008-07-21  Ami Fischman  <ami@fischman.org>  (tiny change)
 -
 -      * print.c (print_object): Check print_depth before searching for
 -      circularities.
 -
 -2008-07-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
 -      only sprintf.
 -
 -2008-07-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
 -
 -2008-07-20  Andreas Schwab  <schwab@suse.de>
 -
 -      * syntax.c (find_start_pos, find_start_value)
 -      (find_start_value_byte, find_start_begv, find_defun_start)
 -      (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
 -
 -2008-07-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/sol2-3.h: Insert contents of s/sol2.h.
 -      (LD_SWITCH_SYSTEM): Remove redundant definition.
 -      * s/sol2.h: Remove, unused.
 -
 -2008-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
 -
 -2008-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * Makefile.in (ns_appdir): Fix typo in find command.
 -
 -2008-07-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/intel386.h (NO_REMAP): Do no define for USG, not used.
 -
 -      * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
 -      added not supported anymore.
 -
 -      * s/usg5-4-2.h (LIBS_SYSTEM):
 -      * s/sol2.h (LIBS_SYSTEM): Do not undefine.
 -
 -      * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
 -      * s/lynxos.h (GETPGRP_NO_ARG):
 -      * s/hpux10-20.h (NO_SIOCTL_H):
 -      * s/gnu.h (GETPGRP_NO_ARG):
 -      * s/gnu-linux.h (NO_SIOCTL_H):
 -      * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
 -      * s/cygwin.h (GETPGRP_NO_ARG):
 -      * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
 -      (C_DEBUG_SWITCH): Remove duplicate definition.
 -
 -      * m/ibms390.h: Remove boilerplate comments.
 -
 -      * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
 -
 -      * process.c (HAVE_SERIAL): Consolidate ifdefs.
 -      (wait_reading_process_output): Remove code for SunOS, platform not
 -      supported anymore.  Use SOLARIS2 instead of sun.
 -
 -2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * font.c (font_open_by_name): Under NS, default lface height to zero.
 -      (font_open_for_lface): Under NS, set size based on frame fontsize.
 -      * nsterm.m (EmacsView-changeFont:): Remove some commented code.
 -      * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
 -
 -2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
 -      (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
 -      DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
 -      YES/NO.
 -      * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
 -      * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
 -      * Makefile.in (clean): Clear out build destination dir.
 -
 -2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
 -      xterm, xselect.
 -      * lisp.h: Remove declaration of hash_remove.
 -      * nsgui.h: Remove redefinitions of hash_remove.
 -      * fns.c (hash_remove): Rename to hash_remove_from_table.
 -
 -2008-07-19  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
 -      strdup() the family UTF8String before modifying it.
 -
 -2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
 -      NS_FACE_BACKGROUND with 0 instead of nil.
 -      * nsfont.m (nsfont_draw): Same.
 -
 -2008-07-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_set_background_color): Fix crash.
 -
 -2008-07-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
 -
 -2008-07-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1240000.
 -
 -2008-07-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * gtkutil.c: Include <config.h> instead of "config.h".
 -
 -      * lisp.h (Foverlay_buffer): Add EXFUN.
 -
 -      * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
 -      child process to complete child_setup.  Undo 2005-09-21 change.
 -
 -      * s/darwin.h: Mention setsid after vfork.
 -
 -2008-07-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
 -      Depend on macgui.h.
 -
 -      * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
 -      gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
 -
 -      * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
 -      and f19.
 -      [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
 -
 -      * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
 -      (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
 -      Remove enumerators.
 -
 -      * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
 -      Check if FACE_FROM_ID returns NULL.
 -
 -2008-07-17  David Robinow  <drobinow@gmail.com>  (tiny change)
 -
 -      * w32inevt.c (change_frame_size): Remove extern declaration.
 -      (resize_event, maybe_generate_resize_event): Pass SAFE arg to
 -      change_frame_size.
 -
 -2008-07-17  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * getloadavg.c: Revert last change (2008-07-15).
 -
 -2008-07-17  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
 -      set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc set
 -      from configure.
 -
 -2008-07-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/sol2.h:
 -      * s/sol2-4.h: Reorganize conditionals.
 -
 -      * ecrt0.c: Remove code depending on m68000, not used anymore.
 -
 -      * fns.c (hash_remove): Make static.
 -      * lisp.h (hash_remove): Don't prototype.
 -
 -      * m/ibmrs6000.h:
 -      * m/ibms390x.h:
 -      * m/macppc.h: Remove boilerplate comments.
 -
 -      * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
 -      Solaris, which does not need them.
 -
 -      * m/vax.h: Remove comments about unsupported systems.
 -
 -      * s/darwin.h: Reorganize ifdefs.
 -
 -2008-07-17  Andreas Schwab  <schwab@suse.de>
 -
 -      * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
 -
 -2008-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Use SDATA.  Follow coding convention of placing operators at
 -      beginning of next line rather than end of previous line, and placing
 -      spaces around infix operators.
 -
 -      * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
 -      in case it was defined already.
 -      USE @GNUSTEP_MAKEFILES@ rather than envvars.
 -      * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
 -      ns_default.
 -      (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
 -      Lisp_Objects.
 -      * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
 -      (ns_defined_color, ns_color_to_lisp): Declare.
 -      * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
 -      (Fns_own_selection_internal): Make the big ugly hack more explicit, so
 -      it's accepted even with USE_LISP_UNION_TYPE.
 -      * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
 -      (update_frame_tool_bar): Remove apparently obsolete tests for
 -      non-integerness of f->tool_bar_lines.
 -      (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
 -      hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
 -      * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
 -      (nsfont_open): Don't confuse NULL for Qnil.
 -      * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
 -      * menu.h (find_and_call_menu_selection):
 -      * menu.c (find_and_call_menu_selection): Use just int for vector size.
 -      (find_and_return_menu_selection): Always return something.
 -      * frame.h: Include dispextern.h for Display_Info.
 -      (display_x_get_resource): Declare.
 -
 -2008-07-16  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * syntax.c: Remove stdio.h include accidentally introduced in
 -      Emacs.app commit.
 -      * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
 -      NS_IMPL_COCOA.
 -      * keyboard.c (handle_async_input, input_available_signal): Remove
 -      BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
 -
 -2008-07-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
 -      (ns_lisp_to_color): Don't mess with internal Lisp data fields.
 -      (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
 -      Use SDATA.
 -
 -      * keymap.c: Remove all NS-specific code.
 -      (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
 -      (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
 -      where_is_preferred_modifier, return a different value depending on how
 -      preferred is the binding.
 -      (where_is_internal): Adjust accordingly.
 -      (Fwhere_is_internal): Refresh where_is_preferred_modifier.
 -      Adjust to new preferred_sequence_p.
 -      (syms_of_keymap): Declare `where-is-preferred-modifier'.
 -      * keyboard.c (parse_solitary_modifier): Not static any more.
 -      * keyboard.h (parse_solitary_modifier): Declare.
 -
 -2008-07-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
 -      of easymenu.
 -
 -2008-07-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_in_display_line): Account for word wrap, so
 -      that we don't move off the line.
 -
 -2008-07-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Qsuper): Remove.
 -      (parse_menu_item): Don't call where_is_internal specially for NS.
 -
 -2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/gnu-linux.h: Remove boilerplate comments.
 -
 -      * m/alpha.h (__ELF__): Consolidate conditions.
 -
 -      * m/m68k.h (linux): Use GNU_LINUX instead.
 -      Remove boilerplate comments.
 -
 -      * m/intel386.h: Undo refactoring from previous change.
 -      (LIB_STANDARD): All systems that define USG define LIB_STANDARD
 -      too, remove dead code.
 -      (linux): Use GNU_LINUX instead.
 -
 -2008-07-16  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32gui.h: Repeat 26 June changes lost by last change.
 -
 -2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * systty.h: Remove code for Aix on 386, unsupported platform.
 -
 -      * s/ms-w32.h: Remove boilerplate comments.
 -      (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
 -
 -      * s/gnu-linux.h (TERM): Remove support.
 -      (HAVE_SYSVIPC): Remove, unused.
 -      (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
 -      for this system.
 -
 -      * process.c: Remove support for IRIS, unused.
 -      Remove support for TERM, not relevant anymore.
 -
 -      * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
 -      used with the definition.
 -
 -      * s/aix4-2.h (static): Do not undef.
 -
 -      * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
 -      only used on Aix.
 -      (HAVE_SYSVIPC): Remove, unused.
 -
 -      * m/hp800.h (CANNOT_DUMP): Do not undef.
 -
 -      * m/alpha.h: Fix comment.
 -
 -      * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
 -      (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
 -      used by this configuration.
 -      * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
 -      * unexec.c: Remove code depending on HPUX and
 -      USG_SHARED_LIBRARIES, not used with this file.  Remove code
 -      depending on IRIS, unused.  Remove if 0-ed code.
 -
 -      * s/template.h: Remove comments about static.
 -
 -      * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
 -      Remove if 0-ed code.
 -      (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
 -      were the same as the default.
 -      * s/vms.h (BAUD_CONVERT): Remove, same as the default.
 -      Remove boilerplate comments.
 -      * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
 -      (HAVE_SYSVIPC): Remove, unused.
 -      (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
 -
 -      * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
 -      Remove boilerplate comments.
 -      * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
 -      Remove boilerplate comments.
 -      * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
 -      Remove boilerplate comments.
 -      * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
 -
 -      * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
 -      USG systems which do not use DATA_SEG_BITS.
 -      Refactor code.  Remove boilerplate comments.
 -
 -      * m/ibms390.h:
 -      * m/m68k.h:
 -      * s/bsd-common.h:
 -      * s/cygwin.h:
 -      * s/darwin.h:
 -      * s/freebsd.h:
 -      * s/gnu.h:
 -      * s/msdos.h: Remove boilerplate comments.
 -
 -      * m/iris4d.h: Remove boilerplate comments and code for systems that
 -      do not use this file.
 -      (IRIS_4D): Remove, unused.
 -
 -      * m/mips.h: Remove boilerplate comments and code for systems that
 -      do not use this file.
 -      (SIGN_EXTEND_CHAR):
 -      * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
 -      * unexmips.c: Remove file, unused.
 -
 -      * editfns.c (Fuser_full_name): Replace the only use of
 -      USER_FULL_NAME with its value.
 -      * config.in: Regenerate.
 -
 -2008-07-16  David Reitter  <david.reitter@gmail.com>
 -
 -      * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
 -      easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
 -
 -2008-07-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (system-type): Doc fix.
 -
 -2008-07-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
 -      If the cache doesn't work, let's fix it, rather than work around it.
 -
 -2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * Makefile.in: Correct additions for nsfont.o in last commit.
 -      * nsfont.m: New file (forgot last commit).
 -
 -2008-07-15  Chris Hall  <chris@web.workinglinux.com>  (tiny change)
 -
 -      * callproc.c (set_initial_environment): Initialize
 -      Vprocess_environment under CANNOT_DUMP (fixes crash when
 -      batch-compiling for bootstrap).
 -
 -2008-07-15  Chris Hall  <chris@web.workinglinux.com>  (tiny change)
 -          YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
 -      fix crash due to different init order.
 -
 -2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Changes and additions for NeXTstep windowing system (Cocoa and
 -      GNUstep) support.
 -
 -      * Makefile.in:
 -      * config.in: Support defines and build commands for NS port.
 -      * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
 -      (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
 -      * dispextern.h: Include nsgui.h and add needed typedefs under NS
 -      windowing.
 -      (struct face): Add synth_ital field.
 -      * dispnew.c: Include nsterm.h when compiling under NS windowing.
 -      (init_display): Initialize Vinitial_window_system to "ns" when so
 -      compiled.
 -      * emacs.c: Include GSConfig.h when compiling under GNUstep.
 -      (display_arg): Use under NS.
 -      (main): Under NS, allocate autorelease pool and handle command line
 -      args.  Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
 -      (standard_args): Add NS-specific args.
 -      (shut_down_emacs): Shut down NS terminal if compiled under NS.
 -      * font.c (DEFAULT_ENCODING): New variable.
 -      (font_find_for_lface): Use it.
 -      (syms_of_font): Load syms_of_nsfont under NS.
 -      * font.h: Declare nsfont_driver when compiled under NS.
 -      * fontset.c: When compiling under NS, include nsterm.h.
 -      (fontset_from_font): Autoconstruct fontset under NS.
 -      * frame.c (various): Under NS, include nsterm.h, add Qns window system
 -      symbol, document and use it.
 -      (do_switch_frame): When for_deletion under Cocoa, add
 -      Fraise_frame(Qnil).
 -      (x_set_frame_parameters): Ensure font attribute changes are picked up.
 -      (x_get_arg): Allow "yes" and "no" as boolean values.
 -      (syms_of_frame): Declare Qns.  Init Vdefault_frame_scroll_bars to
 -      Qright under Cocoa.
 -      (focus-follows-mouse): Default to 0 under NS.
 -      * frame.h (enum output_method): Add output_ns.
 -      (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
 -      (FRAME_EXTERNAL_MENU_BAR): Use under NS.
 -      (FRAME_WINDOW_P): NS-specific definition.
 -      * fringe.c (max_used_fringe_bitmap): Make public.
 -      * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
 -      (getloadavg): Use NeXT code under descendant OS's.
 -      * image.c (includes and header section, x_create_bitmap_from_data)
 -      (x_create_bitmap_from_file, free_bitmap_record, image_background)
 -      (image_background_transparent, x_clear_image_1)
 -      (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
 -      (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
 -      (x_to_xcolors, x_from_xcolors, x_disable_image)
 -      (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
 -      other GUIs, including XPM support using code originally written for
 -      Carbon GUI.
 -      (png_load, jpeg_load, tiff_load, gif_load): Add implementations
 -      using NS API.
 -      (image_ascent): Use font metrics macros instead of direct struct field
 -      access.
 -      * keyboard.c (includes): Add nsterm.h when compiling under NS.
 -      (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
 -      Also, handle NS as GTK for menu bar purposes.
 -      (make_lispy_event): Handle NS as other GUI windowing systems, and as X
 -      toolkit where they differ.
 -      (parse_menu_item): Prefer keybindings using 'super' modifier.  Also,
 -      use cachelist, still needed under NS.
 -      * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
 -      (struct widget_value): Define it here for menu.c.
 -      * keymap.c (includes): Include modifier internals.
 -      (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
 -      NS.
 -      (where_is_internal, Fwhere_is_internal): When compiled under NS, add
 -      support for preferring sequences using certain modifiers, specified by
 -      the FIRSTONLY argument.
 -      * lisp.h (hash_remove): Rename to avoid name clash when compiling
 -      under NS GNUstep implementation.
 -      (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
 -      * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
 -      * menu.c: Include nsterm.h under NS.
 -      (single_menu_item, parse_single_submenu, xmalloc_widget_value)
 -      (free_menubar_widget_tree_value, update_submenu_strings)
 -      (find_and_call_menu_selection): Treat NS as X and NT.
 -      (find_and_return_menu_selection): New function, used for popup menus.
 -      * nsgui.h:
 -      * nsterm.h:
 -      * nsfns.m:
 -      * nsimage.m:
 -      * nsmenu.m:
 -      * nsselect.m:
 -      * nsterm.m: New files.
 -      * process.c (wait_reading_process_output): Under NS, call ns_select()
 -      instead of plain select().
 -      * syntax.c (char_quoted): Under NS, avoid a crash when called near
 -      beginning of buffer.
 -      * sysselect.h (init_process): Rename when compiling under Cocoa to
 -      avoid name conflict.
 -      * termhooks.h (display_info): Add ns_display_info to union.
 -      * terminal.c (Fterminal_live_p): Add ns to terminal types.
 -      * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
 -      COCOA environment.
 -      * unexnext.c: Update to work with mach API on Mac OS X, and to use new
 -      unexec() signature.  (Note, this will dump, but the resulting file
 -      crashes; unexosx is used instead; keeping around for reference and
 -      possible aid in getting dump working under GNUstep.)
 -      * w32gui.h (button_type, widget_value): Remove definitions (now in
 -      keyboard.h).
 -      * window.c: Include nsterm.h when compiling under NS.
 -      * xdisp.c (includes): Include nsterm.h when compiling under NS.
 -      (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
 -      other GUI windowing systems.
 -      (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
 -      GTK.
 -      (x_consider_frame_title): Under NS, set icon type and frame
 -      modified-state indicator; use ns_set_name_as_filename() when using
 -      formatted title.
 -      (update_window_cursor): Make public when compiling under NS.
 -      (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
 -      (hourglass_atimer, Vhourglass_delay
 -      * xfaces.c (header section, init_frame_faces, clear_font_table)
 -      (defined_color, unload_color, x_face_list_fonts)
 -      (prepare_face_for_display): Add NS support parallel to other GUIs.
 -      Emulate GCs like other non-X GUIs.
 -      (split_font_name): Don't lowercase font name under NS.
 -      (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
 -      under NS.
 -      * s/darwin.h: Add support for compilation under NS.
 -
 -2008-07-15  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
 -      (w32_show_hourglass): Rename from show_hourglass.
 -      (w32_hide_hourglass): Rename from hide_hourglass.
 -      (DEFAULT_HOURGLASS_DELAY): Revert from last change.
 -      (Vhourglass_delay): Declare extern.
 -      (hourglass_started): Remove.
 -
 -      * xdisp.c (Vhourglass_delay): Remove static.
 -      (hourglass_started, start_hourglass, cancel_hourglass):
 -      Don't include these versions on WINDOWSNT.
 -
 -2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
 -      variables (formerly in xfns.c).
 -      (show_hourglass, hide_hourglass): New prototypes (same).
 -      * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
 -      (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
 -      in xfns.c).
 -      (syms_of_xdisp): Declare/initialize display-hourglass,
 -      hourglass-delay.  Initialize hourglass_atimer, hourglass_shown_p.
 -      (hourglass_started, start_hourglass, cancel_hourglass): New functions,
 -      formerly in xfns.c.
 -      * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
 -      (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
 -      (start_hourglass, cancel_hourglass): Remove.
 -      (show_hourglass, hide_hourglass): Remove prototypes and static
 -      modifiers.
 -      (syms_of_xfns): Remove display-hourglass, hourglass-delay,
 -      hourglass_atimer, hourglass_shown_p declaration/initialization.
 -      * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
 -      (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
 -      (start_hourglass, cancel_hourglass): Remove.
 -      (show_hourglass, hide_hourglass): Remove prototypes and static
 -      modifiers.
 -      (syms_of_macfns): Remove display-hourglass, hourglass-delay,
 -      hourglass_atimer, hourglass_shown_p declaration/initialization.
 -      * w32fns.c (display_hourglass_p, Vhourglass_delay)
 -      (DEFAULT_HOURGLASS_DELAY): Remove.
 -      (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
 -      hourglass_shown_p declaration/initialization.
 -
 -2008-07-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_get_arg): Remove wrapper function.
 -      (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
 -      directly.
 -      (Fx_create_frame): Sync with xfns.c.  Use x_get_arg directly.
 -
 -2008-07-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Add workaround for X's bug.
 -
 -2008-07-14  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
 -
 -      * fontset.c: Include <stdio.h> unconditionally.
 -
 -2008-07-13  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
 -      for filtering.
 -
 -2008-07-13  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/vms.h: Use __GNUC__ instead of _GNUC_.
 -
 -      * m/macppc.h:
 -      * m/alpha.h: Use GNU_LINUX instead of LINUX.  Reorganize conditionals.
 -
 -      * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
 -      (SPECIAL_EMACS_INT):
 -      * m/ia64.h (SPECIAL_EMACS_INT):
 -      * m/amdx86-64.h (SPECIAL_EMACS_INT):
 -      * s/gnu.h (NLIST_STRUCT):
 -      * s/aix4-2.h (X11R5_INHIBIT_I18N):
 -      * s/gnu-linux.h (LINUX):
 -      * s/msdos.h (HAVE_FACES):
 -      * s/ms-w32.h (HAVE_FACES): Don't define, unused.
 -
 -      * systty.h:
 -      * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
 -      anymore.
 -
 -2008-07-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * syswait.h: Remove old if 0 code.  Do not define WAITTYPE, it was
 -      always defined as int.
 -
 -      * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
 -      * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
 -      * s/gnu-linux.h (HAVE_WAIT_HEADER):
 -      * s/freebsd.h (HAVE_WAIT_HEADER):
 -      * s/bsd-common.h (HAVE_UNION_WAIT):
 -      * s/aix4-2.h (HAVE_WAIT_HEADER):
 -      * m/mips.h (HAVE_UNION_WAIT):
 -      * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
 -      (COFF, static): Do not define, they are undefined later in the file.
 -
 -      * process.c (update_status): Don't use a union.
 -      (status_convert):
 -      (sigchld_handler): Use int instead of WAITTYPE.
 -
 -2008-07-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Restore hscroll before moving to
 -      goal column.
 -
 -2008-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * lisp.h: Remove left over code.
 -
 -2008-07-11  Andreas Schwab  <schwab@suse.de>
 -
 -      * lisp.h: Fix logic in last change.
 -
 -      * menu.h: New file.
 -      * menu.c: Include it.
 -      * xmenu.c: Likewise.
 -      * Makefile.in: Update dependencies.
 -
 -2008-07-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_from_font): Cancel the previous change.
 -
 -2008-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * lisp.h:
 -      * w32heap.c:
 -      * emacs.c:
 -      * alloc.c: Replace all references of NO_UNION_TYPE with
 -      USE_LISP_UNION_TYPE.
 -
 -      * m/xtensa.h (NO_UNION_TYPE):
 -      * m/vax.h (NO_UNION_TYPE):
 -      * m/template.h (NO_UNION_TYPE):
 -      * m/sparc.h (NO_UNION_TYPE):
 -      * m/mips.h (NO_UNION_TYPE):
 -      * m/macppc.h (NO_UNION_TYPE):
 -      * m/m68k.h (NO_UNION_TYPE):
 -      * m/iris4d.h (NO_UNION_TYPE):
 -      * m/intel386.h (NO_UNION_TYPE):
 -      * m/ibms390x.h (NO_UNION_TYPE):
 -      * m/ibms390.h (NO_UNION_TYPE):
 -      * m/ibmrs6000.h (NO_UNION_TYPE):
 -      * m/ia64.h (NO_UNION_TYPE):
 -      * m/hp800.h (NO_UNION_TYPE):
 -      * m/arm.h (NO_UNION_TYPE):
 -      * m/amdx86-64.h (NO_UNION_TYPE):
 -      * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
 -      defining it the same.
 -
 -2008-07-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
 -
 -2008-07-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * fileio.c:
 -      * sysdep.c
 -      * systty.h:
 -      * m/ibmrs6000.h:
 -      * m/iris4d.h:
 -      * s/aix4-2.h:
 -      * s/freebsd.h:
 -      * s/gnu-linux.h:
 -      * s/hpux10-20.h:
 -      * s/hpux11.h:
 -      * s/netbsd.h:
 -      * s/sol2-3.h:
 -      * s/sol2-4.h:
 -      * s/sol2.h:
 -      * s/usg5-4.h:
 -      * s/vms.h: Remove references to unused variables.
 -
 -2008-07-10  Andreas Schwab  <schwab@suse.de>
 -
 -      * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
 -      pattern before matching the generic family.
 -
 -2008-07-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * unexec.c:
 -      * s/vms.h:
 -      * s/usg5-4-2.h:
 -      * s/sol2-5.h:
 -      * s/freebsd.h:
 -      * s/darwin.h: Remove dead code.
 -
 -      * m/template.h:
 -      * m/sparc.h:
 -      * m/mips.h:
 -      * m/m68k.h:
 -      * m/iris4d.h:
 -      * m/intel386.h:
 -      * m/ibms390x.h:
 -      * m/ibms390.h:
 -      * m/ia64.h:
 -      * m/hp800.h:
 -      * m/arm.h:
 -      * m/amdx86-64.h: Remove dead code and references to unused
 -      and compiler defined symbols.
 -
 -      * unexmips.c:
 -      * unexelf.c: Remove references to desupported systems.
 -
 -      * m/powermac.h: Remove file, it is now identical to m/macppc.h.
 -
 -      * m/powermac.h: Remove boilerplate comments.
 -      (NO_REMAP): Remove unused definition.
 -
 -      * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
 -      define them.
 -
 -2008-07-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Log the reason of failure.
 -
 -2008-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fontset.c (fontset_get_font_group):
 -      * font.c (font_check_otf): Specify argument types.
 -
 -2008-07-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_utf_8): Set detect_info->found only when
 -      non-ASCII char is found.
 -
 -      * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
 -      (reorder_font_vector): Change the arg preferred_family to font.
 -      Prefer the spec matching with font.
 -      (fontset_get_font_group): New function.
 -      (fontset_find_font): Change the format of an element of a realized
 -      fontset.  Use fontset_get_font_group.
 -      (fontset_font): Try the current fontset, the default fontset, the
 -      fallbacks of the current fontset, and the fallbacks of the default
 -      fontset in this order.
 -      (face_for_char): Delete the shortcut to use the current font.
 -      (fontset_from_font): Don't set fonts for Latin in the fontset.
 -
 -      * font.h (font_make_object, font_match_p): Adjust prototypes.
 -
 -      * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
 -
 -      * font.c (font_make_object): New arg entity and pixelsize.
 -      (font_check_otf_features, font_check_otf): New functions.
 -      (font_match_p): Check :lang, :script, and :otf properties.
 -
 -      * xfont.c (xfont_open): Adjust it for the change of
 -      font_make_object.
 -      (xfont_text_extents): Fix initial setting of metrics.
 -
 -      * ftfont.c (struct ftfont_info): New member index, delete member
 -      fc_charset_idx.  Make the member order compatible with struct
 -      xftfont_info.
 -      (fc_charset_table): Change charset names to registry names.
 -      (ftfont_pattern_entity): Delete the args registry and
 -      fc_charset_idx.  Change the value of :font-entity property
 -      to (FONTNAME . INDEX).  Always set :registry property to
 -      `iso10646-1'.
 -      (struct ftfont_cache_data): New struct.
 -      (ftfont_lookup_cache): New arg for_face.
 -      (ftfont_get_fc_charset, ftfont_get_otf): New functions.
 -      (ftfont_driver): Set the member otf_capability.
 -      (ftfont_get_charset): Adjust it for the change of
 -      fc_charset_table.
 -      (OTF_TAG_SYM): New macro.
 -      (ftfont_spec_pattern): Delete the arg fc_charset_idx.  Adjust it
 -      for the change of fc_charset_table.
 -      (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
 -      ftfont_pattern_entity.  Add FC_INDEX to objset.
 -      (ftfont_match): Adjust it for the change of ftfont_spec_pattern
 -      and ftfont_pattern_entity.
 -      (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
 -      font_make_object, struct ftfont_info.
 -      (ftfont_has_char): Use ftfont_get_fc_charset.
 -      (ftfont_otf_features, ftfont_otf_capability): New functions.
 -      (ftfont_shape): Use ftfont_get_otf.
 -      (ftfont_text_extents): Fix initial setting of metrics.
 -
 -      * xftfont.c (struct xftfont_info): New member ft_size.  Make the
 -      member order compatible with struct ftfont_info.
 -      (xftfont_open): Add FC_CHARSET to the pattern.  Set
 -      xftfont_info->ft_size.  Don't unlock the face.  Check BDF
 -      properties if appropriate.
 -      (xftfont_close): Unlock the face.
 -      (xftfont_anchor_point, xftfont_shape): Deleted.
 -      (syms_of_xftfont): Don't set members anchor_point and shape of
 -      xftfont_driver.
 -
 -      * w32uniscribe.c (uniscribe_open): Adjust it for the change of
 -      font_make_object.
 -
 -      * w32font.c (w32font_open): Adjust it for the change of
 -      font_make_object.
 -      (w32font_open_internal): Don't set properties of font_object here.
 -
 -2008-07-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * macfns.c (x_create_tip_frame):
 -      * w32fns.c (x_create_tip_frame):
 -      * xfns.c (x_create_tip_frame): Pass parameter argument to
 -      face-set-after-frame-default.
 -
 -      * xfaces.c (Finternal_merge_in_global_face): Save merged
 -      attributes for the default face back into the face vector.
 -
 -2008-07-08  Andreas Schwab  <schwab@suse.de>
 -
 -      * fontset.h: Declare fontset_from_font.  Don't declare
 -      new_fontset_from_font and fontset_from_font_name.
 -      * xterm.c: Include "fontset.h".
 -      * Makefile.in (xterm.o): Update dependencies.
 -
 -2008-07-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/sparc.h: Define __sparc__ rather than sparc.  (Bug#507.)
 -      * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
 -
 -2008-07-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
 -      (x_set_frame_parameters): Don't bind it.
 -
 -2008-07-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (map_w32_filename): Declare extern.
 -
 -2008-07-07  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (WS_EX_LAYERED): Define if not already.
 -
 -2008-07-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (set_font_frame_param): Don't try to set the font
 -      parameter if it is still unspecified in the lface.
 -
 -2008-07-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_merge_in_global_face): Don't realize default
 -      face if it didn't already exist.
 -
 -      * xdisp.c (try_window_id): Give up if word-wrapping is on.
 -
 -2008-07-05  Andreas Schwab  <schwab@suse.de>
 -
 -      * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
 -
 -2008-07-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
 -      word-wrapping.
 -      (IT_DISPLAYING_WHITESPACE): New macro.
 -      (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
 -      when word-wrapping.  Simplify word-wrapping logic.  Use correct
 -      pixel positions when saving copies of the iterator.
 -      (display_line): Use proper wrap point if the last character on a
 -      line was preceded by whitespace.
 -
 -2008-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
 -
 -2008-07-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
 -
 -      * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
 -
 -2008-07-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xfns.c (syms_of_xfns): Only define x-select-font when both
 -      HAVE_FREETYPE and USE_GTK.
 -
 -      * xdisp.c (next_element_from_display_vector): Move assignment out
 -      of if statement.
 -
 -2008-07-02  Toru Tsuneyoshi  <t_tuneyosi@hotmail.com>
 -
 -      * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
 -
 -      * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
 -      (syms_of_fileio): Initialize and export them.
 -      (Fdelete_directory, Fdelete_file): Optionally delete via trash.
 -
 -      * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
 -      (Fsystem_move_file_to_trash): New function.
 -      (syms_of_w32fns): Export it to lisp.
 -
 -2008-07-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Don't count overhang as part
 -      of width.
 -
 -2008-06-30  Miles Bader  <miles@gnu.org>
 -
 -      * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
 -      Add `avoid_cursor_p' field.
 -
 -      * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
 -      (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
 -      (append_glyph, append_composite_glyph, produce_image_glyph)
 -      (append_stretch_glyph): Initialize avoid_cursor_p.
 -      (get_it_property): Rename from `get_line_height_property'.
 -      (x_produce_glyphs): Use get_it_property.
 -      (handle_line_prefix, push_display_prop): New functions.
 -      (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
 -      (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
 -      New variables.
 -      (syms_of_xdisp): Initialize them.
 -
 -2008-06-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
 -      XftDefaultSubstitute (they are called in XftFontMatch).
 -      (xftfont_open): Fix args to ftfont_font_format.
 -
 -      * ftfont.c (fc_charset_table): New member lang.
 -      (ftfont_resolve_generic_family): New arg pattern.
 -      (ftfont_spec_pattern): Check fc_charset_table[]->lang.
 -      (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
 -      (ftfont_open): Fix args to ftfont_font_format.
 -      (ftfont_font_format): New arg filename.
 -
 -2008-06-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_merge_in_global_face): If default face was
 -      modified, realize it again.  Update the font face attribute.
 -
 -2008-06-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_set_frame_alpha): Fix logic.
 -
 -2008-06-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Finternal_char_font): Return font-object instead of
 -      font-name.
 -
 -      * composite.c (get_composition_id): Fix the width calculation for TAB.
 -
 -2008-06-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * indent.c (Fvertical_motion): Properly handle float column arg.
 -
 -2008-06-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
 -      (pfnSetLayeredWindowAttributes): New function pointer.
 -      (w32_initialize): Initialize it when supported.
 -      (x_set_frame_alpha): New function.
 -
 -      * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
 -      (w32_frame_parm_handlers): Set alpha handler.
 -
 -      * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
 -
 -2008-06-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
 -      (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
 -      (w32_to_x_charset, x_to_w32_charset)
 -      (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
 -      (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
 -      (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
 -      (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
 -      (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
 -      (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
 -      (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
 -      (Qw32_charset_unicode): Remove.
 -      (syms_of_w32fns): Update for above changes.
 -
 -      * w32font.c (w32_to_x_charset, x_to_w32_charset)
 -      (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
 -      (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
 -      (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
 -      (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
 -      (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
 -      (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
 -      (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
 -      (syms_of_w32font): Update for above changes.
 -
 -2008-06-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/usg5-4.h: Fix previous change: keep the correct branch of a
 -      removed #if.
 -      (USG_SHARED_LIBRARIES): Remove duplicate definition.
 -
 -2008-06-26  Juanma Barranquero  <lekktu@gmail.com>
 -          Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (LOCAL_FLAGS):
 -      Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
 -
 -      * sysdep.c (_spawnlp, _getpid):
 -      Declare with explicit _cdecl instead of _CRTAPI1.
 -
 -      * editfns.c (Fget_internal_run_time):
 -      Check for WINDOWSNT with #ifdef, not #if.
 -
 -2008-06-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
 -
 -      * w32term.c (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
 -      Use FONT_HANDLE macro.
 -      (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
 -
 -      * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
 -      (uniscribe_encode_char): Use FONT_HANDLE macro.
 -
 -      * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
 -      (w32font_text_extents): Use precast w32_font.
 -      (w32font_close): Free cached metrics.
 -      (w32font_open_internal): Allocate space for name on stack.
 -
 -2008-06-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (extend_face_to_end_of_line): Fix last change.
 -
 -2008-06-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
 -      (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
 -
 -2008-06-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
 -
 -2008-06-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32bdf.c, w32bdf.h: Remove obsolete files.
 -
 -      * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
 -
 -      * w32gui.h: Don't include w32bdf.h.
 -      (XCharStruct, enum w32_char_font_type, W32FontStruct):
 -      Remove obsolete font support.
 -
 -      * w32font.h (struct w32font_info): Remove compat_w32_font.
 -      Add hfont member.
 -      (FONT_COMPAT): Remove obsolete macro.
 -
 -      * w32font.c (w32font_close): Remove compat code.  Delete hfont member.
 -      (w32font_encode_char, w32font_text_extents): Use new hfont member.
 -      (w32font_open_internal): Remove compat code.  Set new hfont member.
 -      (Fx_select_font): Use new hfont member.
 -
 -      * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
 -      (uniscribe_encode_char): Use new hfont member.
 -
 -      * w32term.c (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground): Use new hfont member.
 -      (x_draw_glyph_string): Use metrics in w32font_info.
 -
 -2008-06-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
 -
 -2008-06-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * unexnext.c:
 -      * m/ews4800.h:
 -      * m/hp9000s300.h:
 -      * m/ibm370aix.h:
 -      * m/mips-siemens.h:
 -      * m/ncr386.h:
 -      * m/next.h:
 -      * m/pmax.h:
 -      * m/powerpcle.h:
 -      * m/tandem-s2.h:
 -      * s/386bsd.h:
 -      * s/bsd386.h:
 -      * s/bsd4-1.h:
 -      * s/bsd4-2.h:
 -      * s/bsdos2-1.h:
 -      * s/bsdos2.h:
 -      * s/bsdos3.h:
 -      * s/bsdos4.h:
 -      * s/nextstep.h:
 -      * s/ultrix4-3.h:
 -      * s/usg5-0.h:
 -      * s/usg5-2-2.h:
 -      * s/usg5-2.h:
 -      * s/usg5-4-3.h:
 -      * s/ux4800.h:
 -      * s/uxpds.h:
 -      * s/uxpv.h: Remove support for obsolete systems.
 -      * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
 -      Remove, insert contents in s/hpux10-20.h.
 -      * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
 -      Remove, insert contents in s/aix4-2.h.
 -      * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
 -      * s/bsd4-3.h: Rename to ...
 -      * s/bsd-common.h: ... this.
 -      * data.c:
 -      * doc.c:
 -      * ecrt0.c:
 -      * emacs.c:
 -      * fileio.c:
 -      * floatfns.c:
 -      * keyboard.c:
 -      * mem-limits.h:
 -      * print.c:
 -      * process.c:
 -      * sysdep.c:
 -      * syssignal.h:
 -      * systty.h:
 -      * syswait.h:
 -      * term.c:
 -      * unexec.c:
 -      * unexelf.c:
 -      * unexhp9k800.c:
 -      * m/hp800.h:
 -      * m/ibmrs6000.h:
 -      * m/mips.h:
 -      * m/vax.h:
 -      * s/darwin.h:
 -      * s/freebsd.h:
 -      * s/gnu.h:
 -      * s/ms-w32.h:
 -      * s/msdos.h:
 -      * s/netbsd.h:
 -      * s/template.h: Remove references to obsolete variables.
 -
 -      * Makefile.in: Add dependencies for all unexec files.
 -      (admindir): Remove unused variable.
 -      (UNEXEC_SRC): Remove references.
 -
 -2008-06-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (x_default_font_parameter): If Xft is available, first
 -      try Monospace-12 for the default font.
 -
 -2008-06-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
 -
 -2008-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
 -
 -      * buffer.c (syms_of_buffer): Remove default-word-wrap.
 -
 -2008-06-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
 -      <scroll-conservatively>: Fix typo in docstring.
 -
 -      * xselect.c (Fx_send_client_event): Doc fix.
 -
 -2008-06-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
 -
 -      * font.c (font_parse_fcname): Remove unused variables.
 -      (font_sort_entites): Delete the arg SPEC.  Caller changed.
 -      Fix for the case of ! best_only.
 -      (font_delete_unmatched): Check DPI and AVGWIDTH too.
 -
 -      * lisp.h (Fstring_to_unibyte): EXFUN it.
 -
 -      * character.h (str_to_unibyte): Extern it.
 -
 -      * character.c (str_to_unibyte): New function.
 -
 -      * fns.c (Fstring_to_unibyte): New function.
 -      (syms_of_fns): Defsubr it.
 -
 -2008-06-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_score): Even if the PIXEL_SIZE is the same, check
 -      DPI too.
 -      (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
 -
 -2008-06-24  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (${lispsource}loaddefs.el): Rename from
 -      ../lisp/loaddefs.el.
 -      (bootstrap-clean): Do what distclean does but don't remove
 -      Makefile.
 -      (distclean): Depend on bootstrap-clean and remove Makefile.
 -
 -2008-06-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * buffer.h (struct buffer): New member word_wrap.
 -
 -      * buffer.c (syms_of_buffer): New variables default-word-wrap and
 -      word-wrap.
 -      (init_buffer_once): Initialize them.
 -
 -      * dispextern.h (struct it): Replace bool truncate_lines_p with a
 -      line_wrap enum possessing three possible values.
 -
 -      * termopts.h: Replace truncate_partial_width_windows with
 -      Vtruncate_partial_width_windows.
 -
 -      * dispnew.c (direct_output_for_insert): Avoid direct output when
 -      inserting a space with word wrap on.
 -
 -      * indent.c (compute_motion): Obey integer values of
 -      truncate-partial-width-windows.
 -
 -      * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
 -      replacing truncate_partial_width_windows.
 -      (init_iterator): If Vtruncate_partial_width_windows is an integer,
 -      truncate only if the window width is below that integer.
 -      (start_display, resize_mini_window, produce_stretch_glyph)
 -      (display_string, move_it_in_display_line_to): Use line_wrap.
 -      (back_to_previous_visible_line_start, reseat_1): Reset
 -      string_from_display_prop_p.
 -      (display_line): Extend default face to end of line when wrapping.
 -
 -2008-06-24  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (display_line, move_it_in_display_line_to): Add ability
 -      to wrap continued lines at word boundaries.
 -
 -2008-06-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c (Ffont_face_attributes): Multiply pixel size before point
 -      conversion to avoid multiplying rounding error.
 -
 -2008-06-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_draw_glyph_string_background)
 -      (x_draw_glyph_string): Remove old bdf font code.
 -
 -      * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
 -
 -2008-06-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_find_for_lface): Try the adstyle specified in
 -      the property of LFACE_FONT of LFACE (if any).
 -
 -2008-06-21  Seiji Zenitani  <zenitani@mac.com>
 -          Ryo Yoshitake  <ryo@shiftmode.net>
 -
 -      * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
 -
 -2008-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
 -      Use $(BOOTSTRAPEMACS) rather than witness-emacs.
 -      (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
 -      (witness-emacs): Remove.
 -      (lisp, shortlisp): Move loaddefs.el earlier.
 -      (mostlyclean): Forget about witness-emacs.
 -
 -2008-06-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
 -      (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
 -
 -2008-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (PRECOMP): Remove.
 -      (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
 -      (witness-emacs): Run `compile-first'.
 -      (.el.elc): Use the new compile-onefile target.
 -
 -2008-06-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Handle QCembolden only when
 -      FC_EMBOLDEN is defined.
 -
 -2008-06-21  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
 -      (.el.elc): Likewise.
 -
 -2008-06-21  Miles Bader  <miles@gnu.org>
 -
 -      * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
 -      build dir, not the lisp source dir.
 -
 -2008-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
 -      (bootstrapclean): Remove.
 -      (.el.elc): New rule.
 -      (PRECOMP): New var.
 -      (../lisp/subdirs.el): Remove.
 -      (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
 -      (witness-emacs): New target.
 -      (mostlyclean): Remove witness-emacs as well.
 -      (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
 -      Add witness-emacs dependency.
 -
 -2008-06-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (Ffont_face_attributes): Omit key-attribute pairs not
 -      defined by the font.
 -
 -2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
 -      (bootstrap-clean): New target that keeps TAGS around.
 -      (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
 -      (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
 -
 -2008-06-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
 -      Remove obsolete font code.
 -
 -      * w32font.c (font_matches_spec): Use csb bitfield from font signature
 -      to determine language support.
 -
 -2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * sysdep.c (cfsetspeed): New fun extracted from the code.
 -      (cfmakeraw): Move before first use.
 -
 -2008-06-20  Angelo Graziosi  <angelo.graziosi@alice.it>  (tiny change)
 -
 -      * sysdep.c (cfmakeraw): Provide fallback implementation.
 -      (serial_configure): Provide fallback implementation of cfsetspeed.
 -
 -2008-06-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
 -      the pattern.
 -
 -      * fontset.c (fontset_from_font): Copy font_spec before changing
 -      the elements.
 -
 -      * xfns.c (x_default_font_parameter): Try "monospace-12" too.
 -
 -2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
 -      for explicit `font' parameters.
 -
 -      * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
 -
 -2008-06-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * frame.c: Include <ctype.h>.
 -      (x_set_font_backend): Allow spacing characters in the X resource
 -      for FontBackend.
 -
 -2008-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * w32fns.c, xfns.c (Qfont_param): New var.
 -      (syms_of_w32fns): Initialize it.
 -      (x_default_font_parameter): Record explicit `font' into
 -      `font-parameter'.
 -
 -2008-06-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): Fix previous change.
 -      (font_parse_fcname): Don't use :fc-unknown-spec.
 -      (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
 -      (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
 -      (font_add_log): Prepend the driver name to the resulting fonts.
 -
 -      * ftfont.c (ftfont_pattern_entity): New arg extra.  Caller changed.
 -      (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
 -      (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
 -
 -      * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
 -      (QCembolden): New variables.
 -      (syms_of_xftfont): DEFSYM them.
 -      (xftfont_open): Call XftFontMatch.  Don't trust the result of
 -      XftTextExtents8 if the pixel_size is less than 5.
 -
 -2008-06-18  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
 -      (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
 -
 -2008-06-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_list, w32font_match): Add logging.
 -
 -      * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
 -
 -2008-06-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Store divider characters for
 -      unknown-spec list.  For known key symbols, intern using correct
 -      symbol name.
 -
 -2008-06-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (realize_default_face): If the frame is not on window
 -      system, set the fontset of face to nil.
 -
 -2008-06-17  Naohiro Aota  <nao.aota@gmail.com>  (tiny change)
 -
 -      * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
 -
 -2008-06-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
 -      (build_font_name_from_vector): Delete externs.
 -
 -      * xfaces.c (struct font_name): Don't declare.
 -
 -2008-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
 -
 -2008-06-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Fix handling of unknown-spec string.
 -
 -2008-06-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_spec): Fix usage in docstring.
 -      (Ffont_face_attributes): Doc fix.
 -
 -2008-06-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (Ffont_face_attributes): Fix definition.
 -
 -2008-06-16  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.h (font_style_symbolic_from_value): Remove.
 -
 -      * font.c (font_style_symbolic_from_value): Remove.
 -      (font_style_symbolic): Revert to pre 2008-06-13 version.
 -
 -      * w32font.c (w32_to_fc_weight): New function.
 -      (w32font_full_name, logfont_to_fcname): Use it.
 -
 -2008-06-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_check_object): Delete it.
 -      (font_clear_cache): Check if a font-object is alive.
 -      (font_open_entity): Likewise.  Set FONT_OBJLST_INDEX of a
 -      font-object to nil.
 -      (font_close_object): Don't check FONT_CLOSE_OBJECT.
 -      (font_at): Don't call font_check_object.
 -      (Ffont_get): Return a symbol for :weight, :slant, and :width.
 -
 -2008-06-16  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1230000.
 -
 -2008-06-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
 -
 -2008-06-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Only one decimal point.
 -      (font_unparse_fcname): Handle data in family and foundry indices
 -      as symbols, not strings.
 -      (font_unparse_gtkname, Ffont_face_attributes): New functions.
 -
 -      * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
 -
 -      * font.h (font_unparse_gtkname): Add prototype.
 -
 -2008-06-15  Naohiro Aota  <nao.aota@gmail.com>  (tiny change)
 -
 -      * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
 -
 -2008-06-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (font_update_drivers): Fix crash when no drivers match.
 -
 -2008-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
 -      * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
 -
 -2008-06-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
 -
 -2008-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Fserial_process_configure, Fprocess_send_eof):
 -      Use EQ to compare Lisp_Objects.
 -
 -2008-06-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fw32_select_font): Remove old font API function.
 -
 -      * w32font.c (logfont_to_fcname): New function.
 -      (Fx_select_font): New font dialog function compatible with
 -      GTK/fontconfig version.
 -
 -      * font.c (font_style_symbolic_from_value): New function.
 -      (font_style_symbolic): Use it.
 -
 -      * font.h (font_style_symbolic_from_value): Declare new function.
 -
 -2008-06-13  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (syms_of_font) <font-weight-table, font-slant-table>:
 -      <font-width-table>: Fix typos in docstrings.
 -
 -2008-06-13  Daniel Engeler  <engeler@gmail.com>
 -
 -      These changes add serial port access.
 -      * process.c: Add HAVE_SERIAL.
 -      (Fdelete_process, Fprocess_status, Fset_process_buffer)
 -      (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
 -      (list_processes_1, select_wrapper, Fstop_process)
 -      (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
 -      (status_notify): Modify to handle serial processes.
 -      [HAVE_SERIAL] (Fserial_process_configure)
 -      [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
 -      New functions.
 -      * process.h (struct Lisp_Process): Add `type'.
 -      * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
 -      New functions.
 -      * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
 -      serial ports.
 -      (serial_open, serial_configure): New functions.
 -      * w32.h: Add FILE_SERIAL.
 -      (struct _child_process): Add ovl_read, ovl_write.
 -
 -2008-06-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (enum lface_attribute_index): New member
 -      LFACE_FOUNDRY_INDEX.
 -
 -      * font.c (font_score): Delete arg alternate_families.  Check only
 -      weight, slant, width, and size.  Ignore the difference of alias
 -      style symbols.
 -      (font_sort_entites): Adjust for the above change.  Reflect the
 -      order of font-driver to scores.
 -      (font_list_entities): Don't check alternate_familes here.
 -      (font_clear_prop): Handle foundry.
 -      (font_update_lface): Don't parse "foundry-family" form here.
 -      Handle FONT_FOUNDRY_INDEX.
 -      (font_find_for_lface): Likewise.  Handle alternate families here.
 -      If registry is nil, try iso8859-1 and ascii-0.
 -      (font_open_for_lface): Pay attention to size in ENTITY.
 -      (font_open_by_name): Simplify by calling font_load_for_lface.
 -      (free_font_driver_list): Delete it.
 -      (font_update_drivers): Preserve the order of backends.
 -      (syms_of_font): Setting of sort_shift_bits adjusted for the change
 -      of font_score and font_sort_entites.
 -      (font_update_sort_order): Likewise.
 -
 -      * xfaces.c (LFACE_FOUNDRY): New macro.
 -      (check_lface_attrs): Check foundry.
 -      (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
 -      (merge_face_vectors): Check foundry.
 -      (merge_face_ref): Likewise.
 -      (Finternal_set_lisp_face_attribute): Likewise.
 -      (x_update_menu_appearance): Likewise.
 -      (Finternal_get_lisp_face_attribute): Likewise.
 -      (lface_hash): Likewise.
 -      (lface_same_font_attributes_p): Likewise.
 -      (x_supports_face_attributes_p): Likewise.
 -      (tty_supports_face_attributes_p): Likewise.
 -      (Finternal_set_alternative_font_family_alist): Intern strings.
 -      (Finternal_set_alternative_font_registry_alist): Downcase strings.
 -      (realize_default_face): Set LFACE_FOUNDRY (lface).
 -
 -      * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
 -      font-driver at first.
 -
 -      * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
 -
 -2008-06-12  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
 -
 -      * lread.c (Fload): Use xfree, not free on saved_doc_string.
 -
 -2008-06-12  Jim Meyering  <meyering@redhat.com>
 -
 -      Make unexec_free handle NULL the same way free does.
 -      * unexmacosx.c (unexec_free): Ignore a NULL argument.
 -
 -2008-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * character.h (CHAR_TO_BYTE_SAFE): New macro.
 -      * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
 -      * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
 -      (WEAK_ALIAS): Simplify.
 -      * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
 -      when searching a unibyte buffer.
 -
 -2008-06-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_select_font): Rename from x-font-dialog.
 -
 -2008-06-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c: Include ctype.h.
 -
 -2008-06-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_encode_char): Detect missing glyphs that are
 -      misreported as space.
 -      (add_font_entity_to_list): Support unicode-bmp and unicode-sip
 -      as aliases for registry iso10646-1.
 -
 -2008-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (clone_per_buffer_values): Skip `name'.
 -
 -2008-06-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Fix last change; accept decimal
 -      points in font size.
 -
 -2008-06-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (add_opentype_font_name_to_list):
 -      Skip non unicode fonts.
 -
 -2008-06-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_font_dialog): New function.
 -
 -      * gtkutil.c (xg_dialog_response_cb): Rename from
 -      xg_file_response_callback.
 -      (pop_down_dialog): Rename from pop_down_file_dialog.
 -      (xg_get_file_name): Callers changed.
 -      (xg_get_font_name): New function.
 -
 -      * gtkutil.h (xg_get_font_name): Insert prototype.
 -
 -2008-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (underline_minimum_offset): Rename from xterm.c's
 -      x_underline_minimum_display_offset.
 -      (syms_of_xdisp): Declare it here rather than in xterm.c.
 -      * dispextern.h (underline_minimum_offset): Declare it.
 -      * w32term.c (x_draw_glyph_string): Use it.
 -      * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
 -      (syms_of_xterm): Don't declare it any more.
 -      (x_draw_glyph_string): Adjust to the new name.
 -
 -2008-06-10  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * xterm.c (x_underline_minimum_display_offset): New var.
 -      (x_draw_glyph_string): Use it.
 -      (syms_of_xterm): Declare it.
 -
 -2008-06-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Accept GTK-style font names too.
 -
 -2008-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Don't return t if the match is exact
 -      but with different capitalization.
 -      * minibuf.c (Ftry_completion): Simplify.
 -
 -      * window.c (Vwindow_point_insertion_type): New var.
 -      (set_window_buffer): Use it.
 -      (syms_of_window): Init and export it to Lisp.
 -
 -2008-06-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (font_intern_prop): Prototype adjusted.
 -
 -      * font.c (font_intern_prop): New arg force_symbol.
 -      (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
 -      Adjust for the change of font_intern_prop.
 -
 -      * ftfont.c (ftfont_pattern_entity):
 -      * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
 -      (w32_registry):
 -      * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
 -      the change of font_intern_prop.
 -
 -2008-06-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32menu.c (digest_single_submenu): Declare extern.
 -
 -2008-06-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_make_frame_visible): Use alternate restore flags.
 -
 -      * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
 -      (parse_single_submenu): Remove.
 -      (digest_single_submenu): Remove.
 -      (syms_of_w32menu): Don't initialise variables that have moved
 -      to menu.c.
 -      (set_frame_menubar): Sync with version in xmenu.c.
 -      (w32_menu_show): Sync with xmenu_show in xmenu.c.
 -
 -      * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
 -      Make static again.
 -
 -2008-06-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      Changes to w32 files related to the move of common menu code
 -      to menu.c on 2008-06-08 by Chong Yidong.
 -
 -      * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
 -      defs to w32gui.h.
 -      (single_keymap_panes, push_menu_item, push_menu_pane):
 -      Make globally visible.
 -
 -      * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
 -      (local_free, malloc_widget_value, free_widget_value)
 -      (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
 -      (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
 -      (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
 -      (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
 -      (menu_items, menu_items_allocated, menu_items_used)
 -      (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
 -      (init_menu_items, finish_menu_items, discard_menu_items)
 -      (grow_menu_items, push_submenu_start, push_submenu_end)
 -      (push_left_right_boundary, push_menu_pane, push_menu_item)
 -      (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
 -      (free_menubar_widget_tree_value, parse_single_submenu)
 -      (update_submenu_strings): Remove functions.
 -      (xmalloc_widget_value): Remove and declare extern.
 -
 -      * makefile.w32-in ($(SRC)/menu.$(O)): New target.
 -      (OBJ1): Build it.
 -
 -      * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
 -      (local_heap, local_alloc, local_free, malloc_widget_value)
 -      (free_widget_value): Define here.
 -
 -2008-06-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (Qascii_0): Extern it.
 -
 -      * font.c (Qascii_0): New variable.
 -      (syms_of_font): DEFSYM it.
 -      (font_open_by_name): If the registry "iso8859-1" fails, try also
 -      "ascii-0".
 -
 -      * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
 -
 -2008-06-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * .gdbinit (xfont): New command.
 -
 -2008-06-08  Andreas Schwab  <schwab@suse.de>
 -
 -      * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
 -      * Makefile.in (menu.o): Update dependencies.
 -
 -      * Makefile.in (obj): Always add menu.o.
 -      * emacs.c (main): Always call syms_of_menu.
 -      * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
 -
 -2008-06-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in: Compile menu.c.
 -
 -      * lisp.h: Declare syms_of_menu.
 -
 -      * emacs.c (main): Call syms_of_menu.
 -
 -      * keyboard.h: Relocate platform-independent menu definitions from
 -      xmenu.c.
 -
 -      * menu.c: New file.  Relocate platform-independent menu
 -      definitions from xmenu.c.  Suggested by Adrian Robert.
 -
 -      * xmenu.c: Remove platform-independent menu definitions.
 -      (menu_items menu_items_inuse, menu_items_allocated)
 -      (menu_items_used, menu_items_n_panes)
 -      (menu_items_submenu_depth): Move to keyboard.h.
 -      (init_menu_items, finish_menu_items, unuse_menu_items)
 -      (discard_menu_items, restore_menu_items, save_menu_items)
 -      (grow_menu_items, push_submenu_start, push_submenu_end)
 -      (push_left_right_boundary, push_menu_pane, push_menu_item)
 -      (keymap_panes, single_keymap_panes, single_menu_item)
 -      (list_of_panes, list_of_items, find_and_call_menu_selection)
 -      (xmalloc_widget_value, free_menubar_widget_value_tree)
 -      (parse_single_submenu, digest_single_submenu)
 -      (update_submenu_strings): Move to menu.c.
 -
 -2008-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
 -
 -2008-06-06  Miles Bader  <miles@gnu.org>
 -
 -      * xdisp.c (x_produce_glyphs): Calculate tab width based on current
 -      face, not frame default.
 -
 -2008-06-05  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (pop_up_windows, pop_up_frames)
 -      (display_buffer_reuse_frames, Vpop_up_frame_function)
 -      (Vdisplay_buffer_function, Veven_window_heights)
 -      (Vspecial_display_buffer_names, Vspecial_display_regexps)
 -      (Vspecial_display_function, Vsame_window_buffer_names)
 -      (Vsame_window_regexps, split_height_threshold)
 -      (Vsplit_window_preferred_function): Move those vars to window.el.
 -      (display_buffer_1, Fspecial_display_p, Fsame_window_p)
 -      (Fdisplay_buffer): Move those functions to window.el.
 -      (syms_of_window): Remove corresponding declarations.
 -      (display_buffer): New function.
 -      (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
 -      * dispnew.c (Flast_nonminibuf_frame): New function.
 -      * buffer.c (Fpop_to_buffer): Move to window.el.
 -
 -2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
 -
 -2008-06-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding): Fix previous change.
 -      (detect_coding_system): Likewise.
 -
 -2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
 -
 -      * keymap.c (Vminibuffer_local_filename_must_match_map):
 -      Rename from Vminibuffer_local_must_match_filename_map.
 -      (syms_of_keymap):
 -      * minibuf.c (Fcompleting_read): Adjust accordingly.
 -      * commands.h: Rename declaration as well.
 -
 -2008-06-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_spec): Don't use font_parse_family_registry for
 -      family name.
 -      (Ffont_put): Likewise.
 -
 -      * fontset.c (fontset_find_font): Call font_open_for_lface with the
 -      current font-spec.
 -
 -      * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
 -      is unspecified.
 -
 -      * xfaces.c (realize_x_face): If the font-related face attributes
 -      are the same as those of default face, realize a new fontset from
 -      default->fontset.
 -      (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
 -
 -2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
 -      (move_it_in_display_line): New wrapper.
 -
 -      * window.c (window_scroll_pixel_based_preserve_x)
 -      (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
 -      (window_scroll_pixel_based, window_scroll_line_based):
 -      Use them to preserve column positions.
 -      (syms_of_window): Initialize them.
 -
 -      * indent.c (Fvertical_motion): Extend first arg to allow passing an
 -      (HPOS . VPOS) pair.
 -
 -      * dispextern.h (move_it_in_display_line): Declare.
 -
 -2008-06-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
 -      (Fwindow_parameters): Return copy of parameter alist.  Doc fix.
 -      (Fset_window_parameter): Return VALUE, not parameter alist.  Doc fix.
 -
 -2008-06-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fset_window_parameter): Doc fix.
 -      (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
 -
 -2008-06-04  Joakim Verona  <joakim@verona.se>
 -
 -      * window.h (struct window): Add new member window_parameters.
 -
 -      * window.c (Fwindow_parameters, Fwindow_parameter)
 -      (Fset_window_parameter): New defuns.
 -      (syms_of_window): Defsubr the new defuns.
 -      (make_window): Initialize window_parameters to nil.
 -
 -2008-06-04  John Paul Wallington  <jpw@pobox.com>
 -
 -      * eval.c (Fdefmacro): Doc fix.
 -
 -2008-06-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding): Fix handling of coding->head_ascii.
 -      Be sure to call setup_coding_system when we find a proper coding system.
 -      (detect_coding_system): Fix handling of coding->head_ascii.
 -
 -2008-06-03  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (font_prop_validate_spacing): Fix last change.
 -
 -2008-06-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_prop_validate_spacing): Handle uppercase symbols.
 -      (font_parse_fcname): Fix handling of unknown key.
 -
 -      * xfont.c (xfont_list): Try an alias.
 -
 -      * charset.c (char_charset): Return NULL if the arg charset_list is
 -      specified and C doesn't belong to any of them.
 -
 -2008-06-02  Chip Coldwell  <coldwell@redhat.com>
 -
 -      * font.c (font_pixel_size): Don't take cdr of an integer.
 -
 -2008-06-02  Jim Meyering  <meyering@redhat.com>
 -
 -      Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
 -      * alloc.c (xfree): Return right away for a NULL arg.
 -      * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
 -      * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
 -      * mac.c (create_apple_event_from_event_ref): Likewise.
 -      (create_apple_event_from_drag_ref, cfstring_create_normalized):
 -      Likewise.
 -      * doprnt.c (doprnt1): Likewise.
 -      * frame.c (frame): Likewise.
 -      * keyboard.c (wipe_kboard): Likewise.
 -      * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
 -      (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
 -      * term.c (tty_default_color_capabilities, maybe_fatal)
 -      (delete_tty): Likewise.
 -      * w16select.c (string): Likewise.
 -      * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
 -      * w32bdf.c (w32_free_bdf_font): Likewise.
 -      * w32fns.c (w32_unload_font): Likewise.
 -      * w32font.c (w32font_close): Likewise.
 -      * window.c (size_window): Likewise.
 -      * xselect.c (receive_incremental_selection): Likewise.
 -      * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
 -      * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
 -      * w32.c (stat): Likewise.
 -
 -      Remove useless if-before-free tests.
 -      * editfns.c (Fset_time_zone_rule): Likewise.
 -      * lread.c (nosuffix): Likewise.
 -      * ralloc.c (get_bloc): Likewise.
 -      * regex.c (reg_free): Likewise.
 -      * xftfont.c (xftfont_open, xftfont_close): Likewise.
 -      * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
 -      * xsmfns.c (smc_save_yourself_CB): Likewise.
 -
 -2008-06-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_find_for_lface): Handle float font size.
 -      (font_open_for_lface): Likewise.
 -
 -      * xfaces.c (x_supports_face_attributes_p): Check face->font before
 -      comparing the properties.
 -
 -2008-06-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
 -      Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
 -      Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
 -      Don't add empty script list.
 -      (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
 -
 -2008-06-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (dot, dotdot): Remove, update users.
 -      ".." has been used elsewhere in the file for a long time.
 -      (LIBXT_STATIC): Remove conditional based on unused variable.
 -
 -2008-06-01  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (Vface_remapping_alist): New variable.
 -      (syms_of_xfaces): Initialize it.
 -      (enum named_merge_point_kind): New type.
 -      (struct named_merge_point): Add `named_merge_point_kind' field.
 -      (push_named_merge_point): Make cycle detection respect different
 -      named-merge-point kinds.
 -      (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
 -      Remove face-name alias resolution.
 -      (lface_from_face_name): New definition using
 -      `lface_from_face_name_no_resolve'.
 -      (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
 -      Call lface_from_face_name_no_resolve instead of lface_from_face_name.
 -      (get_lface_attributes): New definition that layers face-remapping on
 -      top of get_lface_attributes_no_remap.  New arg `named_merge_points'.
 -      (lookup_basic_face): New function.
 -      (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
 -      (realize_named_face): Call `get_lface_attributes_no_remap' instead of
 -      `get_lface_attributes'.
 -      (face_at_buffer_position): Use `lookup_basic_face' to lookup
 -      DEFAULT_FACE_ID if necessary.  When optimizing the default-face case,
 -      return default_face's face-id instead of the constant DEFAULT_FACE_ID.
 -
 -      * xdisp.c (init_iterator): Pass base_face_id through
 -      `lookup_basic_face' when we actually use it as a face-id.
 -      (handle_single_display_prop): Use `lookup_basic_face' to lookup
 -      DEFAULT_FACE_ID.
 -
 -      * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
 -      lookup the initial face-id.
 -
 -      * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
 -
 -2008-06-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
 -      (Fremove_text_properties): Fix typos in docstrings.
 -
 -2008-05-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_list_entities): Fix the car part of data to be
 -      stored in the cache.
 -
 -      * ftfont.c (ftfont_font_format): Don't use strcasestr.
 -
 -2008-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * chartab.c (Foptimize_char_table, optimize_sub_char_table):
 -      Add a `test' argument so another predicate than `equal' can be used.
 -      (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
 -      (map_char_table): Remove unused vars `c' and `i'.
 -      * lisp.h (Foptimize_char_table): Adjust declaration.
 -      * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
 -
 -2008-05-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
 -      (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
 -      defined.
 -
 -2008-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
 -      (Fmake_variable_frame_local): Disallow mixing buffer-local and
 -      frame-local settings for the same variable.
 -
 -2008-05-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffont_info): Move to font.c.
 -      (syms_of_fontset): Delete defsubr of Sfont_info.
 -
 -      * font.c (font_style_to_value, font_score): Delete casting of the
 -      args to xstcasecmp.
 -      (register_font_driver): Increment num_font_drivers only when
 -      registering the driver globally.
 -      (Ffont_info): Move from fontset.c.  Handle a font object too.
 -      (syms_of_font): Defsubr Sfont_info.
 -
 -2008-05-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.h (enum define_coding_utf8_arg_index): New enum.
 -      (enum coding_attr_index): Change coding_attr_utf_16_bom to
 -      coding_attr_utf_bom.
 -      (enum utf_bom_type): Rename from utf_16_bom_type.
 -      (struct utf_16_spec): Adjust for the above change.
 -      (struct coding_system): Add utf_8_bom in `spec' union.
 -
 -      * coding.c (CODING_UTF_8_BOM): New macro.
 -      (enum coding_category): Delete coding_category_utf_8, add
 -      coding_category_utf_8_auto, coding_category_utf_8_nosig, and
 -      coding_category_utf_8_sig.
 -      (CATEGORY_MASK_UTF_8): Delete it.
 -      (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
 -      (CATEGORY_MASK_UTF_8_SIG): New macros.
 -      (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
 -      CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
 -      CATEGORY_MASK_UTF_8_SIG.
 -      (CATEGORY_MASK_UTF_8): New macro.
 -      (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
 -      (detect_coding_utf_8): Check BOM.
 -      (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
 -      (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
 -      (encode_coding_utf_16): Likewise.
 -      (setup_coding_system): Likewise.  Set CODING_UTF_8_BOM (coding).
 -      (detect_coding, detect_coding_system): Handle utf-8-auto.
 -      (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
 -      (syms_of_coding): Fix setting up of Vcoding_category_table.
 -
 -2008-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Faccept_process_output): If `millisec' is non-nil,
 -      `seconds' default to 0.
 -      (wait_reading_process_output): Also return non-nil if we read output
 -      from a non-running process.
 -
 -2008-05-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Prefer truetype fonts unless
 -      `raster' specified.
 -      (add_font_entity_to_list): Allow non-opentype truetype fonts back
 -      in the uniscribe backend, but disallow any font that has no
 -      unicode subrange support.
 -
 -2008-05-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
 -      Fix typos in docstrings.
 -
 -2008-05-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fx_list_fonts): Make it return a list of font names.
 -      (Fx_family_fonts): Set frame correctly.
 -
 -2008-05-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_draw_glyph_string): Use clipmask if specified.
 -
 -2008-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
 -      calling build_annotations.
 -
 -2008-05-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * coding.c (Fdecode_coding_region, Fencode_coding_region)
 -      (Fencode_coding_string):
 -      (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
 -      <latin-extra-code-table>: Fix typos in docstrings.
 -      (syms_of_coding) <coding-system-alist>: Doc fix.
 -      (syms_of_coding) <translation-table-for-input>: Reflow docstring.
 -
 -2008-05-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffont_info): Don't call font_close_object.
 -
 -      * font.c (font_parse_family_registry): Use Ffont_put to validate
 -      foundry and family.
 -      (font_delete_unmatched): Don't check spacing.
 -      (font_list_entities): Add spacing to the spec to list fonts.
 -
 -      * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
 -      (ftfont_list): Check spacing here.  Don't include FC_CHARSET in objset.
 -
 -      * coding.c (encode_coding_raw_text): Fix previous change.
 -      (encode_coding_object): When the dst_object is a buffer and is
 -      different from src_object, move gap to PT.
 -
 -2008-05-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
 -
 -2008-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * coding.c (encode_coding_raw_text): Set coding->produced_char for
 -      all branches.  Compute it differently.
 -
 -      * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
 -
 -2008-05-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
 -      into "else if () ... else ...".
 -
 -2008-05-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Determine if glyph indices
 -      are likely to work here.
 -
 -2008-05-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
 -      draw overlap glyphs with appropriate highlighting.
 -
 -2008-05-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Fix calculation of font->average_width.
 -
 -2008-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * casefiddle.c (casify_object): Try to guess better whether the
 -      argument is a byte or a char.
 -
 -2008-05-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * xselect.c (x_reply_selection_request): Properly handle format == 32.
 -      Always send multiples of format size.
 -
 -      * xterm.c (x_set_frame_alpha): Fix type mismatch.
 -
 -2008-05-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Zero whole metrics struct first.
 -      (compute_metrics): Don't set failure if we just cleared the cache.
 -      (w32_weight_table): Remove unused variable.
 -      (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
 -      backwards compatibility.
 -
 -2008-05-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * w32term.c (x_draw_glyph_string):
 -      * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
 -
 -      * xfaces.c: Delete unused function prototypes.
 -      (xstrlwr, font_frame): Delete them.
 -      (clear_face_cache): Delete unused variable.
 -
 -      * xftfont.c (xftfont_open): Delete unused variable.
 -      If underline_thickness is not 1, adjust underline_position.
 -
 -      * ftxfont.c (ftxfont_open): Delete unused variable.
 -
 -      * fontset.c (face_for_char): Optimize for the case of no charset
 -      property.
 -
 -      * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
 -      (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
 -      (otf_open, font_otf_capability, generate_otf_features)
 -      (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
 -      Comment out by surrounding "#if 0" and "#endif" for the moment.
 -      (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
 -      (syms_of_font): Codes for accessing above commented out.
 -
 -2008-05-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32proc.c: Include dispextern.h.
 -
 -      * w32.c: Include dispextern.h.
 -
 -2008-05-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * charset.c (Fencode_char, Fsplit_char): Doc fixes.
 -      (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
 -      Fix typos in docstrings.
 -
 -2008-05-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xsmfns.c: Remove includes that are already included by config.h.
 -
 -2008-05-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Qemacs, charset_emacs): New variables.
 -      (char_charset): Fix for non-Unicode characters.
 -      (syms_of_charset): Define charset_emacs.
 -
 -      * w32term.c (x_draw_glyph_string): Be sure to update
 -      s->underline_thickness and s->underline_position.  Be sure to draw
 -      underline within the current line area.
 -
 -      * xterm.c (x_draw_glyph_string): Be sure to update
 -      s->underline_thickness and s->underline_position.  Be sure to draw
 -      underline within the current line area.
 -
 -      * fontset.c: Delete unused variables and add casting for char *
 -      throughout the file.
 -      (fontset_font): Try the fallback fonts of the current fontset
 -      before consulting the default fontset.
 -
 -      * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
 -
 -      * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
 -
 -2008-05-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c: Don't include strings.h.
 -
 -      * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
 -
 -      * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
 -      * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
 -      * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
 -      to call xstrcasecmp.
 -
 -      * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
 -
 -      * fontset.c (fs_query_fontset): Use xstrcasecmp.
 -
 -      * font.c (font_style_to_value, font_score): Use xstrcasecmp.
 -
 -      * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
 -
 -2008-05-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1220000.
 -
 -      * font.c (font_prop_validate_style): Adjust for the format
 -      change of font_style_table.
 -
 -      * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
 -      two args.
 -
 -      * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
 -      two args.
 -
 -2008-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (keys_of_minibuf): Delete.
 -      * lisp.h (keys_of_minibuf): Delete.
 -      * emacs.c (main): Don't call keys_of_minibuf.
 -
 -2008-05-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_resolve_generic_family): Rename from
 -      ftfont_list_generic_family.  Return a single family for each
 -      generic family.
 -      (ftfont_spec_pattern): Add FC_FAMILY to pattern.
 -      (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
 -      Call font_add_log.
 -      (ftfont_match): Call font_add_log.
 -
 -      * font.h (Ffont_xlfd_name): EXFUN adjusted.
 -      (FONT_DEBUG): Define it.
 -      (font_add_log): Extern it.
 -      (font_assert): Rename from xassert.
 -
 -      * xfont.c (xfont_get_pcm): Change xassert to font_assert.
 -      (xfont_list_family): Call font_add_log.
 -      (xfont_match): Likewise.
 -      (memq_no_quit): Delete.
 -
 -      * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
 -      call of Ffont_xlfd_name.
 -
 -      * xfaces.c (struct table_entry, slant_table, weight_table)
 -      (swidth_table): Move to font.c.
 -
 -      * font.c: Checking of FONT_DEBUG is moved to font.h.  All calls of
 -      xassert are changed to font_assert.  Delete many unused variables.
 -      (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
 -      New variables.
 -      (struct table_entry): Move from xfaces.c and modified.
 -      (weight_table, slant_table, width_table): Move from xfaces.c and
 -      contents adjusted for the change of struct table_entry.
 -      (font_style_to_value, font_style_symbolic): Adjust for the
 -      format change of font_style_table.
 -      (font_parse_family_registry): Don't overwrite existing foundry and
 -      family of font_spec.
 -      (font_score): Fix calculation of diff for sizes.
 -      (font_sort_entites): Call font_add_log.
 -      (font_delete_unmatched): Return a newly created list.
 -      (font_list_entities): Fix previous change.  Call font_add_log.
 -      (font_matching_entity, font_open_entity, font_close_entity):
 -      Call font_add_log.
 -      (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
 -      (Finternal_set_font_style_table): Delete.
 -      (BUILD_STYLE_TABLE): New macro.
 -      (build_style_table): New function.
 -      (Vfont_log, font_log_env_checked): New variables.
 -      (font_add_log): New function.
 -      (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
 -      Declare Lisp variables "font-weight-table", "font-slant-table",
 -      "font-width-table", and "font-log".  Initialize font_style_table.
 -
 -2008-05-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xterm.c (x_set_frame_alpha): Move declarations before statements.
 -
 -2008-05-21  Seiji Zenitani  <zenitani@mac.com>
 -          Ryo Yoshitake  <ryo@shiftmode.net>
 -
 -      * frame.c (Qalpha): Add a new frame parameter `alpha'.
 -      (Vframe_alpha_lower_limit): New variable.
 -      (x_set_alpha): New function.
 -
 -      * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
 -
 -      * xfns.c (x-create-frame, Qalpha):
 -      Initialize the frame parameter `alpha'.
 -      * xterm.c (OPAQUE, OPACITY): New.
 -      (x_set_frame_alpha): New function.
 -      (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
 -
 -      * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
 -      * w32fns.c (w32_frame_parm_handlers): Likewise.
 -
 -2008-05-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (add_font_entity_to_list): Don't add non-opentype
 -      truetype fonts to opentype list.
 -
 -2008-05-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fontset.c (Ffontset_info): Doc fix.
 -      (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
 -      <ignore-relative-composition>: Fix typos in docstrings.
 -
 -      * font.c (syms-of-font) <font-encoding-alist>:
 -      (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
 -      (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
 -      (Ffont_otf_alternates): Doc fixes.
 -
 -2008-05-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (FONTSRC): Delete it.  Change all $(FONTSRC) to
 -      font.h through out the file.
 -      (FONT_DRIVERS): Rename from FONTOBJ.
 -      (obj): Change $(FONTOBJ) to $(FONT_DRIVERS).  Add font.o.
 -      (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
 -
 -      * emacs.c (main): Call syms_of_font unconditionally.
 -
 -      * font.h (find_font_encoding): Extern it.
 -
 -      * font.c (Vfont_encoding_alist, find_font_encoding): Move from
 -      fontset.c.
 -      (font_pixel_size) [! HAVE_WINDOW_SYSTEM]: Return 1.
 -      (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
 -      FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
 -      only when HAVE_WINDOW_SYSTEM is defined.
 -      (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
 -      when HAVE_WINDOW_SYSTEM is defined.
 -
 -      * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
 -      (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
 -
 -      * xfaces.c: Include font.h unconditionally.
 -      (merge_face_ref, merge_face_vectors)
 -      (Finternal_set_lisp_face_attribute): Cancel the previous change.
 -
 -2008-05-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (select_frame_for_redisplay): Adjust for last change to
 -      indirect_variable.
 -      * eval.c (lisp_indirect_variable): New fun.
 -      (Fuser_variable_p): Use it.
 -
 -2008-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (indirect_variable):
 -      * data.c (indirect_variable, let_shadows_buffer_binding_p):
 -      Use Lisp_Symbol pointers rather than Lisp_Object.
 -      Adjust callers.
 -      * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
 -      To this end, change calling-convention.
 -
 -      * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
 -      if some non-hidden buffers are selected by string&pred.
 -
 -2008-05-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (wait_reading_process_output): Always check status
 -      when in batch mode.
 -
 -2008-05-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_list_entities): Fix handling of cache.
 -      (font_matching_entity): Likewise.
 -
 -      * ftfont.c (cs_iso8859_1): Delete.
 -      (ft_face_cache): New variable.
 -      (struct ftfont_info): New member fc_charset_idx.
 -      (ftfont_build_basic_charsets): Delete.
 -      (fc_charset_table): New variable.
 -      (ftfont_pattern_entity): New arg fc_charset_idx.  Store (FILENAME
 -      . FC_CHARSET_IDX) as :font-entity property in the font entity.
 -      Callers changed.
 -      (ftfont_lookup_cache, ftfont_get_charset): New functions.
 -      (ftfont_spec_pattern): New argument fc_charset_idx.
 -      Check registry more rigidly.  Change callers.
 -      (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
 -      change of :font-entity property of the font.
 -
 -      * xftfont.c (xftfont_open): Adjust for the change of :font-entity
 -      property of the font.
 -
 -2008-05-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * coding.c (Fcoding_system_p): Rename argument to match docstring.
 -      (Funencodable_char_position, Fcheck_coding_systems_region)
 -      (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
 -      (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
 -      (Ffind_operation_coding_system, Fset_coding_system_priority)
 -      (Fcoding_system_eol_type): Doc fixes.
 -
 -2008-05-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
 -
 -2008-05-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
 -      and st_gid.
 -
 -      * frame.c (Fdelete_frame): Don't call font_update_drivers if
 -      HAVE_WINDOW_SYSTEM is not defined.
 -
 -      * xfaces.c (merge_face_ref, merge_face_vectors)
 -      (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
 -      HAVE_WINDOW_SYSTEM is defined.
 -      (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
 -
 -2008-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
 -
 -2008-05-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
 -
 -2008-05-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
 -      preference.
 -
 -2008-05-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
 -
 -2008-05-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (init_fns): Don't initialize weak_hash_tables here.
 -      (init_weak_hash_tables): New fun.  Initialize weak_hash_tables.
 -
 -      * alloc.c (init_alloc_once): Call init_weak_hash_tables.
 -
 -2008-05-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_list): Downcase family name to check generic
 -      families.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
 -      font-spec for QCfont value.
 -
 -      * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
 -      buffer.  Check the return value of it.
 -
 -2008-05-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_get_glyph_overhangs): Remove.
 -      (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
 -
 -2008-05-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_prop_validate): Make nil a valid value.
 -      (font_clear_cache): Check if the cached vector of entities is nil
 -      or not.
 -
 -2008-05-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs.c (main_thread): Conditionalize on
 -      FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
 -      (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
 -
 -      * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
 -      (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
 -      FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
 -
 -2008-05-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_iso_2022): Ignore a coding category that
 -      has no corresponding coding system.
 -
 -2008-05-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.h (struct font) [WINDOWSNT]: Remove codepage member.
 -
 -      * w32font.h (w32font_open_internal): Update declaration.
 -
 -      * w32font.c (w32font_open_internal): Change last argument from
 -      w32font_info struct to font object.  Fill in font object from
 -      font_entity.  Get Outline metrics if possible.  Use them to
 -      calculate underline position and thickness.  Use xlfd name as name
 -      property.  Don't set codepage.
 -      (w32font_open): Pass font_object to w32font_open_internal.  Don't
 -      update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
 -      (w32font_draw): Use s->font.
 -      (clear_cached_metrics): Don't clear non-existent blocks.
 -
 -      * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
 -      font was not found.
 -      (x_draw_glyph_string): Use underline position and thickness from font.
 -
 -      * w32uniscribe.c (uniscribe_open): Pass font_object to
 -      w32font_open_internal.
 -
 -2008-05-14  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are to delete all legacy font-handling codes, and
 -      make Emacs use only font-backends.
 -
 -      * Makefile.in: Delete USE_FONT_BACKEND conditionals.
 -      (frame.o, image.o, print.o): Depend on $(FONTSRC).
 -
 -      * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
 -
 -      * charset.h (Vcharset_non_preferred_head)
 -      (Vcurrent_iso639_language): Extern them.
 -
 -      * charset.c (Vcharset_non_preferred_head): New variable.
 -      (Vcurrent_iso639_language): New variable.
 -      (syms_of_charset): Declare it as a Lisp variable.
 -      (char_charset): Don't check non preferred charsets.  As a last
 -      resort, return charset_unicode.
 -      (Fset_charset_priority): Update Vcharset_non_preferred_head.
 -
 -      * composite.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -
 -      * dispextern.h (struct glyph_string): Change type of `font' to
 -      `struct font *'.
 -      (struct glyph_string): New member underline_position and
 -      underline_thickness.
 -      (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
 -      (struct face): Change type of `font' to `struct font *'.  Remove
 -      members `font_name', `font_info_id'.
 -      (per_char_metric, encode_char): Delete externs.
 -      (calc_pixel_width_or_height): Adjust the prototype.
 -
 -      * emacs.c (enable_font_backend): Delete extern.
 -      (main): Don't set enable_font_backend.  Don't check the command
 -      line argument "-disable-font-backend".
 -
 -      * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
 -      (enum font_property_index): New members FONT_DPI_INDEX,
 -      FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
 -      FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
 -      FONT_OBJECT_MAX.  Delete FONT_FRAME_INDEX.
 -      (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
 -      (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
 -      (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
 -      (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
 -      (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
 -      (struct font_spec, struct font_entity): New structs.
 -      (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
 -      (struct font): Many members from old "struct font_info" moved to
 -      here.  Members font and entity deleted.
 -      (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
 -      the new font-related objects.
 -      (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
 -      (CHECK_FONT_GET_OBJECT): Likewise.
 -      (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
 -      (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
 -      (struct font_driver): New members case_sensitive anc check.  Type
 -      of the member list and open changed.
 -      (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
 -      (font_symbolic_width, font_find_object, font_get_spec)
 -      (font_set_lface_from_name): Delete extern.
 -      (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
 -
 -      * font.c: Include <strings.h>.
 -      (enable_font_backend): Delete it.
 -      (Qfont_spec, Qfont_entity, Qfont_object): New variables.
 -      (CHECK_VALIDATE_FONT_SPEC): Delete it.
 -      (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
 -      (null_string): Delete it.
 -      (null_vector): Make it static.
 -      (font_family_alist): Delete it.
 -      (Qnormal): Extern it.
 -      (QCextra, QClanguage): Delete it.
 -      (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
 -      (font_make_spec, font_make_entity, font_make_object)
 -      (font_intern_prop): Renamed from intern_downcase.  Don't downcase
 -      the string.  Callers changed.
 -      (font_pixel_size): Adjusted for the format change of font-related
 -      objects.
 -      (prop_name_to_numeric, prop_numeric_to_name): Delete them.
 -      (font_style_to_value, font_style_symbolic): New function.
 -      (build_font_family_alist): Delete it.
 -      (font_registry_charsets): Use Fassoc_string instead of
 -      assq_no_quit.
 -      (font_prop_validate_symbol): Don't return null_string.
 -      (font_prop_validate_style): Adjusted for the change of
 -      style-related values in a font vector.
 -      (font_property_table): Delete entries for QClanguage and
 -      QCantialias, add entries for QCavgwidth.
 -      (get_font_prop_index): Delete the 2nd argument FROM.
 -      (font_prop_validate): Arguments changed.
 -      (font_put_extra): Adjusted for the change of font-related objects.
 -      (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
 -      (font_parse_fcname, font_unparse_fcname)
 -      (font_prepare_composition): Likewise.
 -      (font_parse_family_registry): Renamed from font_merge_old_spec.
 -      (otf_open): Delete the 1st arg entity.
 -      (font_otf_capability): Adjusted for the above change.
 -      (font_score): New arg alternate_families.  Adjusted for the change
 -      of font-related objects.
 -      (font_sort_entites): New arg best_only.
 -      (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
 -      Delete them.
 -      (font_match_p): Check alternate families.
 -      (font_find_object): Delete it.
 -      (font_check_object): New function.
 -      (font_clear_cache): Adjusted for the change of font-related objects.
 -      (font_delete_unmatched): New arg.
 -      (font_list_entities): Call font_driver->list with a spec that
 -      doesn't specify style-related properties.
 -      (font_matching_entity): Arguments changed.  Caller changed.
 -      (font_open_entity): Adjusted for the change of font-related objects.
 -      (font_close_object, font_has_char, font_encode_char)
 -      (font_get_name, font_get_spec): Likewise.
 -      (font_spec_from_name, font_clear_prop, font_update_lface):
 -      New functions.
 -      (font_find_for_lface, font_open_for_lface, font_load_for_lface)
 -      (font_prepare_for_face, font_done_for_face, font_open_by_name)
 -      (font_at): Adjusted for the change of font-related objects.
 -      (font_range): New function.
 -      (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
 -      (Ffont_xlfd_name): Adjusted for the change of font-related objects.
 -      (Fcopy_font_spec, Fmerge_font_spec): New function.
 -      (Ffont_family_list): Renamed from list-families.
 -      (Finternal_set_font_style_table): Arguments changed.
 -      (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
 -      (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
 -      change of font-related objects.
 -      (syms_of_font): Delete "ifdef USE_FONT_BACKEND".  DEFSYM new symbols.
 -
 -      * fontset.h (struct font_info): Delete it.  Most members go to
 -      struct font.
 -      (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
 -      (enum FONT_SPEC_INDEX): Delete it.
 -      (font_info, list_fonts_func, load_font_func, query_font_func)
 -      (set_frame_fontset_func, find_ccl_program_func)
 -      (get_font_repertory_func, new_fontset_from_font_name): Delete
 -      externs.
 -      (fontset_from_font_name): Extern it.
 -      (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
 -      (FONT_INFO_FROM_FACE): Deleted.
 -      (face_for_font): Adjust prototype.
 -
 -      * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (get_font_info_func, list_font_func, load_font_func)
 -      (query_font_func, set_frame_fontset_func, find_ccl_program_func)
 -      (get_font_repertory_func): Delete them.
 -      (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
 -      (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
 -      (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
 -      (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
 -      (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
 -      (fontset_compare_rfontdef): New function.
 -      (reorder_font_vector): Remove the argument CHARSET-ID.  Sort
 -      rfont-defs by qsort.  Adjusted for the change of font-group vector.
 -      (load_font_get_repertory): Deleted.
 -      (fontset_find_font): Use new macros to ref/set elements of
 -      font-def and rfont-def.
 -      (fontset_font): Fix the timing of remembering that no font for C.
 -      (free_face_fontset): Do nothing if the face has no fontset.
 -      (face_suitable_for_char_p): Use new macros to ref/set elements of
 -      rfont-def.
 -      (face_for_char): Likewise.  Call face_for_char with font_object.
 -      (fs_load_font): Delete.  Delete #pragma surrounding it.
 -      (fs_query_fontset): Use strcasecmp instead of strcmp.
 -      (generate_ascii_font_name): Adjusted for the format change of
 -      font-spec.
 -      (Fset_fontset_font): Likewise.  Use new macros to set elements of
 -      font-def.
 -      (Fnew_fontset): Use font_unparse_xlfd to generate
 -      FONTSET_ASCII (fontset).
 -      (new_fontset_from_font_name): Deleted.
 -      (fontset_from_font): Renamed from new_fontset_from_font.  Check if
 -      a fontset is already created for the font.  FIx updating of
 -      Vfontset_alias_alist.
 -      (fontset_ascii_font): Deleted.
 -      (Ffont_info): Adjusted for the format change of font-spec.
 -      (Finternal_char_font): Likewise.
 -      (Ffontset_info): Likewise.
 -      (syms_of_fontset): Don't check load_font_func.
 -
 -      * fns.c (internal_equal): Handle PREV_FONT.
 -
 -      * frame.h: Delete USE_FONT_BACKEND conditional.
 -
 -      * frame.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (x_set_font): Call x_new_font, not x_new_fontset2.
 -      (x_set_font_backend): Use FRAME_FONT macro to check if a font is
 -      already set for the frame.
 -
 -      * ftfont.c (ftfont_pattern_entity): Argument FRAME removed.  Make
 -      a font-entity by font_make_entity.  Use font_intern_prop instead
 -      of intern_downcase.  Use FONT_SET_STYLE to set a style-related
 -      font property.  If a font is scalable, set avgwidth property to 0.
 -      Set font-entity property by font_put_extra.
 -      (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
 -      (ffont_driver): Adjusted for the change of struct font_driver.
 -      (ftfont_spec_pattern): New function.
 -      (ftfont_list): Return a list, not vector.
 -      (ftfont_match): Use ftfont_spec_pattern to get a pattern.
 -      (ftfont_list_family): Don't downcase names.
 -      (ftfont_free_entity): Deleted.
 -      (ftfont_open): Return a font-object.  Adjusted for the change of
 -      struct font.  Get underline_thickness and underline_position from
 -      font property.  Don't update dpyinfo->smallest_font_height and
 -      dpyinfo->smallest_char_width.
 -      (ftfont_close): Don't free `struct font'.
 -      (ftfont_has_char): Adjusted for the format change of font-entity.
 -      (ftfont_encode_char, ftfont_text_extents): Likewise.
 -
 -      * ftxfont.c (ftxfont_list): Return a list, not vector.
 -      (ftxfont_open): Return a font-object.  Adjusted for the change of
 -      struct font.  Get underline_thickness and underline_position from
 -      font property.  Don't update dpyinfo->smallest_font_height and
 -      dpyinfo->smallest_char_width.
 -      (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
 -      (ftxfont_draw): Adjusted for the change of struct font.
 -
 -      * image.c (image_ascent): Don't include "charset.h".  Include
 -      "character.h" and "font.h".
 -
 -      * lisp.h (enum pvec_type): New member PREV_FONT.
 -      (Fassoc_string): EXFUN it.
 -
 -      * print.c: Include font.h.
 -      (print_object): Handle font-related objects.
 -
 -      * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (handle_auto_composed_prop): Do nothing if it->f is not on a
 -      window system.  Check how many following characters can be
 -      displayed by the same font.
 -      (calc_pixel_width_or_height): Type of the 4th arg is changed to
 -      'struct font *'.
 -      (get_char_face_and_encoding): Assign the whole encoding task to
 -      the `encode-char' method of a font driver.
 -      (fill_composite_glyph_string): Adjusted for the change of `struct
 -      face' and `struct glyph_string'.
 -      (fill_glyph_string): Likewise.
 -      (get_per_char_metric): Arguments changed.
 -      (x_get_glyph_overhangs): Adjusted for the change of `struct face'
 -      and `struct glyph_string'.
 -      (produce_stretch_glyph, calc_line_height_property)
 -      (x_produce_glyphs): Likewise.
 -
 -      * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.  Use
 -      FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
 -      (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
 -      (Qp): Extern them.
 -      (clear_font_table, load_face_font, xlfd_lookup_field_contents):
 -      Deleted.
 -      (struct font_name): Deleted.
 -      (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
 -      (compare_fonts_by_sort_order): New function.
 -      (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
 -      (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
 -      Deleted.
 -      (Fx_family_fonts): Use font_list_entities, and sort fonts by
 -      compare_fonts_by_sort_order.
 -      (Fx_font_family_list): Call Ffont_family_list.
 -      (face_numeric_value, face_numeric_weight, face_numeric_slant)
 -      (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
 -      (face_symbolic_slant, face_symbolic_swidth)
 -      (split_font_name_into_vector, build_font_name_from_vector)
 -      (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
 -      (font_rescale_ratio, split_font_name, build_font_name)
 -      (free_font_names, sort_fonts, x_face_list_fonts)
 -      (face_font_available_p, sorted_font_list, cmp_font_names)
 -      (font_list_1, concat_font_list, font_list, remove_duplicates):
 -      Deleted.
 -      (Fx_list_fonts): Use Ffont_list.
 -      (LFACE_AVGWIDTH): Deleted.
 -      (check_lface_attrs): Don't check LFACE_AVGWIDTH.  Check LFACE_FONT
 -      by FONTP.
 -      (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
 -      (set_lface_from_font_name): Delete it.
 -      (set_lface_from_font): Renamed from
 -      set_lface_from_font_and_fontset.  Caller changed.  Don't set
 -      LFACE_AVGWIDTH.  Use FONT_XXX_FOR_FACE to get a symbol suitable
 -      for face.
 -      (merge_face_vectors): Copy font-spec if necessary.
 -      Clear properties of the font-spec if necessary.
 -      (merge_face_ref): Clear properties of the font-spec if necessary.
 -      (Finternal_set_lisp_face_attribute): Likewise.
 -      (set_font_frame_param): Use font_load_for_lface to load a
 -      font-object, and call Fmodify_frame_parameters with it.
 -      (x_update_menu_appearance): Don't check LFACE_AVGWIDTH.  Get XLFD
 -      font name by Ffont_xlfd_name.
 -      (Finternal_lisp_face_attribute_values): Don't check QCweight,
 -      QCslant, and QCwidth.
 -      (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
 -      (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
 -      Compare fonts by EQ.
 -      (lookup_non_ascii_face): Deleted.
 -      (face_for_font): The 2nd argument changed.
 -      (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
 -      Check atomic font properties by case insensitive.
 -      (realize_non_ascii_face): Set face->overstrike correctly.
 -      (realize_x_face): Likewise.  Check if LFACE_FONT is a font_object.
 -      (dump_realized_face): Get font name from
 -      font->props[FONT_NAME_INDEX].  Don't print font_info_id.
 -
 -      * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (xic_create_xfontset): Original code deleted and renamed from
 -      xic_create_xfontset2.  Use FRAME_FONT, not FRAME_FONT_OBJECT.
 -      (x_make_gc): Don't set GCFont in GCs.
 -      (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
 -      opened by "fixed".
 -      (syms_of_xfns): Don't set get_font_info_func, load_font_func,
 -      find_ccl_program_func, query_font_func, set_frame_fontset_func,
 -      get_font_repertory_func.
 -
 -      * xfont.c: Include <stdlib.h> and "ccl.h".
 -      (struct xfont_info): New structure.
 -      (xfont_query_font): Deleted.
 -      (xfont_find_ccl_program): Renamed from x_find_ccl_program and
 -      moved from xterm.c.
 -      (xfont_driver): Adjusted for the change of struct font_driver.
 -      (compare_font_names): New function.
 -      (xfont_list_pattern): Sort font names case insensitively.  Make
 -      font_entity by calling font_make_entity.  Avoid auto-scaled fonts.
 -      (xfont_list): Return a list, not vector.
 -      (xfont_match): If the font doesn't have QCname property, generate
 -      a name from the other font properties.
 -      (xfont_open): Return a font-object.  Adjusted for the change of
 -      struct font.  Get underline_thickness and underline_position from
 -      font property.  Don't update dpyinfo->smallest_font_height and
 -      dpyinfo->smallest_char_width.
 -      (xfont_close): Don't free struct font.
 -      (xfont_prepare_face): Adjusted for the change of struct font.
 -      (xfont_done_face): Deleted.
 -      (xfont_has_char): Adjusted for the change of struct font.
 -      (xfont_encode_char, xfont_draw): Likewise.
 -      (xfont_check): New function.
 -
 -      * xftfont.c (xftfont_list): Adjusted for the change of `list'
 -      callback function.
 -      (xftfont_match): Adjusted for the format change of font-entity.
 -      (xftfont_open): Adjusted for the format change of font-entity and
 -      font-object.  Adjusted for the change of struct font.  Return a
 -      font-object.  Don't update dpyinfo->smallest_font_height and
 -      dpyinfo->smallest_char_width.
 -      (xftfont_close): Block input while calling XftFontClose.
 -      (xftfont_prepare_face): Don't block input while calling
 -      xftfont_get_colors.  Adjusted for the change of struct font.
 -      (xftfont_shape): Return value of error case fixed.
 -
 -      * xrdb.c (x_load_resources): Don't setup a fontset resource.
 -
 -      * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.
 -      (FONT_WIDTH): Return (f)->max_width.
 -      (struct x_display_info): Delete member `font'.
 -      (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
 -      (x_find_ccl_program, x_get_font_repertory): Delete externs.
 -      (struct x_output): Change type of `font' to `struct font *'.
 -
 -      * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.  Don't include ccl.h.
 -      (x_per_char_metric, x_encode_char): Deleted.
 -      (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
 -      (x_compute_glyph_string_overhangs): Adjusted for the change of
 -      `struct face'.
 -      (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground): Likewise.
 -      (x_draw_glyph_string): Likewise.  Use font->underline_position and
 -      font->underline_thickness.
 -      (x_new_font): Renamed from x_new_fontset2.
 -      (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
 -      (x_check_font): Call `check' method of a font driver.
 -      (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
 -      (x_query_font, x_get_font_repertory): Deleted.
 -      (x_find_ccl_program): Renamed and moved to xfont.c.
 -      (x_redisplay_interface): Adjusted for the change of `struct
 -      redisplay_interface'.
 -
 -      * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.  Surround non-used
 -      code by "#ifdef OLD_FONT" and "endif".
 -      (Fw32_select_font): Use FONT_COMPAT to get old font structure.
 -
 -      * w32font.h (struct w32font_info): New member.
 -      (FONT_COMPAT): New macro.
 -      (w32font_open_internal): Prototype adjusted.
 -
 -      * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
 -      OLD_FONT" and "endif".
 -
 -      * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (w32font_open): Return a font-object.  Make a font-object by
 -      font_make_object.  Adjusted for the change of struct w32font_info.
 -      (w32font_close): Don't free struct font.  Adjusted for the change
 -      of struct w32font_info.
 -      (w32font_encode_char, w32font_text_extents, w32font_draw):
 -      Adjusted for the change of struct w32font_info.
 -      (w32font_draw): Likewise.
 -      (w32font_list_internal): Return a list, not vector.
 -      (w32font_open_internal): Change the 4th arg to font-object.
 -      Adjusted for the change of struct w32font_info and font-object format.
 -      (add_font_name_to_list): Don't downcase names.
 -      (w32_enumfont_pattern_entity): Make a font-entity by
 -      font_make_entity.  Adjusted for the format change of font-entity.
 -      Use FONT_SET_STYLE to set a style-related font property.  If a
 -      font is scalable, set avgwidth property to 0.  Set font-entity
 -      property by font_put_extra.
 -      (font_matches_spec): Adjusted for the format change of font-entity.
 -      (w32_weight_table, w32_decode_weight): New variables.
 -      (w32_encode_weight): New function.
 -      (fill_in_logfont): Adjusted for the format change of font-spec.
 -      (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
 -      weight value.
 -      (w32font_driver): Adjusted for the change of struct font_driver.
 -
 -      * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Surround non-used
 -      code by "#ifdef OLD_FONT" and "endif".
 -      (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
 -      (FONT_AVG_WIDTH): Adjusted for the change of struct font.
 -
 -      * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.  Surround non-used
 -      code by "#ifdef OLD_FONT" and "endif".
 -
 -      * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
 -      (uniscribe_open): Return value changed to font-object.
 -      Adjusted for the format change of font-object.
 -      (uniscribe_otf_capability): Adjusted for the change of struct font.
 -      (add_opentype_font_name_to_list): Don't downcase names.
 -      (uniscribe_font_driver): Adjusted for the change of struct
 -      font_driver.
 -
 -2008-05-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (update_frame_1): Check if tty output is still valid
 -      before flushing it.
 -
 -2008-05-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
 -      to Gtk+ menus.
 -
 -2008-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Tweak the code so as to always do it
 -      in a single pass.  Tighten the scope of some variables.
 -
 -      * dired.c (Qdefault_directory): New var.
 -      (file_name_completion): Use it instead of Fexpand_file_name.
 -      (syms_of_dired): Initialize it.
 -
 -2008-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (double_dollars): Remove dead code.
 -
 -2008-05-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
 -      Mention w32-get-true-file-attributes in doc string.
 -
 -      * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
 -
 -2008-05-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Fread_file_name): Remove reference to insdef, deleted
 -      2008-04-23.
 -
 -2008-05-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Support for reporting owner and group of each file on MS-Windows:
 -      * dired.c (stat_uname, stat_gname): New functions, with special
 -      implementation for w32.
 -      (Ffile_attributes): Use them instead of getpwuid and getgrgid.
 -
 -      * w32.c: Rename the_passwd_* to dflt_passwd_*.
 -      (dflt_group_name): New static variable.
 -      (dflt_group): Rename from the_group.
 -      (init_user_info): Init dflt_group fields.  Get user's group name
 -      from LookupAccountSid.
 -      (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
 -      (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
 -      New initialization states.
 -      (globals_of_w32): Initialize them to zero.  Initialize the default
 -      group name to "None".
 -      (GetFileSecurity_Name): New global var, the name of the function
 -      to call for GetFileSecurity.
 -      (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
 -      (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
 -      (get_file_security, get_security_descriptor_owner)
 -      (get_security_descriptor_group, is_valid_sid)
 -      (get_file_security_desc, get_rid, get_name_and_id)
 -      (get_file_owner_and_group): New functions.
 -      (stat): Use get_file_security_desc and get_file_owner_and_group to
 -      report the owner and primary group of each file.  Don't ignore the
 -      high 32 bits of file's size, now that st_size is 64-bit wide.
 -      Fix test when to get true file attributes.
 -      (init_user_info): Use get_rid instead of equivalent inline code.
 -      (fstat): Don't ignore the high 32 bits of file's size.
 -
 -2008-05-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (png_load): Use correct bit-depth for setting background
 -      color.
 -
 -2008-05-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
 -      epa-hook.elc.
 -
 -2008-05-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_match_p): Don't use `iff' in docstring.
 -
 -2008-05-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * macfns.c (Fx_create_frame): Make a copy of frame parameters
 -      because the original parameters are in pure storage now.
 -      (mac_window): Remove unused params.  Update callers.
 -
 -2008-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (substitute_object_recurse): Use lower-level primitives.
 -      Don't signal errors when traversing sub-char-tables.
 -      Don't loop over all the possible characters when traversing char-tables.
 -
 -      * print.c (print_preprocess): Add sub-char-tables to the print-table,
 -      just like we do in print.c.
 -
 -2008-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (Ftry_completion): Remove code left over from when we used
 -      scmp instead of Fcompare_strings.
 -
 -2008-05-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
 -
 -2008-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
 -      Create bitmap context in native byte order.
 -
 -      * macterm.c (XDrawLine)
 -      (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
 -      context in native byte order.
 -
 -2008-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * config.in: Regenerate.
 -
 -      * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
 -      New definitions for Image I/O support.
 -      (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
 -      (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
 -      [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
 -      (mac_data_provider_release_data, image_load_image_io)
 -      [USE_MAC_IMAGE_IO]: New functions.
 -      (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
 -      (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
 -      (init_image_func_pointer) [MAC_OSX]: Remove function.
 -      (image_load_quartz2d) [MAC_OSX]: Check availability of
 -      CGImageCreateWithPNGDataProvider at compile time.
 -      Use lowercase `false' for boolean constant.
 -      (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
 -      Use image_load_image_io.
 -      (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
 -      Don't check MyCGImageCreateWithPNGDataProvider.
 -      (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
 -      Don't call init_image_func_pointer.
 -
 -      * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
 -
 -      * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
 -      Make variable non-static.
 -      (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
 -      [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
 -
 -      * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
 -      (RED_FROM_ULONG): Mask off higher bits.
 -      (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
 -
 -      * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
 -      Include AvailabilityMacros.h.
 -      (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
 -      (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
 -
 -2008-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * chartab.c (Fset_char_table_range): If range is t, really set all
 -      chars to that value.
 -
 -2008-05-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Don't allow the device number become
 -      negative.
 -
 -2008-05-02  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
 -
 -2008-05-02  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
 -      (Fread_variable, Fread_buffer, Fcompleting_read): Document the
 -      DEFAULT argument as a list of default values in docstrings.
 -
 -2008-05-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1210000.
 -
 -2008-05-01  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * dispnew.c (change_frame_size_1): Preserve small windows when
 -      shrinking frames by calling set_window_height|width with third
 -      arg 2.
 -
 -      * window.h (struct window): Replace field too_small_ok by field
 -      resize_proportionally.
 -
 -      * window.c (make_window): Initialize resize_proportionally.
 -      (enlarge_window): Temporarily set resize_proportionally to make
 -      sure that shrink_windows does scale the window proportionally.
 -      (shrink_windows): When window has resize_proportionally set try
 -      to shrink it proportionally by stealing from other windows.
 -      (struct saved_window, Fset_window_configuration)
 -      (compare_window_configurations): Handle resize_proportionally.
 -      (WINDOW_TOTAL_SIZE): New macro.
 -      (window_min_size, shrink_windows, size_window): Use it.
 -      (check_min_window_sizes): Remove.  Invalid values of
 -      window-min-height|width are handled by window_min_size_2 now.
 -      (size_window, Fsplit_window, enlarge_window)
 -      (adjust_window_trailing_edge, grow_mini_window): Don't call
 -      check_min_window_sizes.
 -      (window_min_size_2, window_min_size_1, window_min_size):
 -      New argument safe_p for retrieving "safe" minimum sizes.
 -      (Fdisplay_buffer, Fsplit_window, enlarge_window)
 -      (adjust_window_trailing_edge, grow_mini_window):
 -      Adjust arguments of window_min_size... functions.
 -      (shrink_windows): Argument min_size removed.  New argument
 -      safe_p allows shrinking windows to their safe minimum sizes.
 -      Calculate minimum size and decide whether a window shall be
 -      deleted for each window individually.
 -      (size_window): When nodelete_p equals 2, tell shrink_windows to
 -      delete windows only if their new minimum size is no more safe.
 -      (shrink_window_lowest_first): Call window_min_size_1 to make
 -      sure to preserve modeline of bottom-most window when resizing
 -      the minibuffer.
 -      (Fset_window_configuration, Fcurrent_window_configuration)
 -      (compare_window_configurations): Do not handle
 -      window-min-height|width any more.
 -      (syms_of_window): Clarify window-min-height|width doc-strings.
 -
 -2008-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Fix up the encoding/decoding issue
 -      some more.  Copy some of the code from Ftry_completions.
 -      Remove special case code that dates back to initial revision when the
 -      slash was only added when necessary and that can't trigger nowadays.
 -
 -2008-04-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_prop_validate): Signal `error' instead of `font'.
 -
 -2008-04-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fw32_battery_status): New defun.
 -      (syms_of_w32fns): Defsubr it.
 -
 -2008-04-28  Andreas Schwab  <schwab@suse.de>
 -
 -      * dired.c (file_name_completion): Fix another mixing of encoded
 -      and decoded names.
 -
 -2008-04-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
 -
 -2008-04-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fringe.c (Fdefine_fringe_bitmap): Doc fix.
 -
 -2008-04-27  Andreas Schwab  <schwab@suse.de>
 -
 -      * dired.c (file_name_completion): Fix inappropriate mixing of
 -      encoded and decoded names.
 -
 -      * xterm.c (XTread_socket): Fix use of uninitialized variable.
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1200000.
 -
 -2008-04-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
 -      2008-03-31, it's not needed anymore with `struct stat' definition
 -      on nt/inc/sys/stat.h.  Undo changes from 2007-01-12 and 2007-01-13
 -      for the same reasons.
 -
 -2008-04-25  Dennis Gilmore  <ausil@fedoraproject.org>  (tiny change)
 -
 -      * m/sparc.h: Additional redefinitions for GNU/Linux.
 -
 -2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
 -      (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
 -      (Qmouse_drag_overlay) [MAC_OSX]: New variable.
 -      (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
 -      (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
 -      (mac_ax_selected_text_range) [MAC_OSX]: New functions.
 -      (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      Likewise.
 -
 -      * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
 -      (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
 -      (mac_ax_number_of_characters): Add externs.
 -      (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
 -      [USE_MAC_TSM]: Likewise.
 -      (mac_handle_text_input_event) [MAC_OSX]:
 -      Handle kEventTextInputOffsetToPos for no active input area case.
 -      Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
 -      (mac_handle_document_access_event)
 -      [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
 -      (install_application_handler) [MAC_OSX]: Register handlers for
 -      kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
 -      (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      Register mac_handle_document_access_event.
 -
 -      * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
 -      Make functions non-static.
 -
 -2008-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
 -      (read_file_name_completion_ignore_case, insert_default_directory)
 -      (Qdefault_directory): Move to minibuffer.el.
 -      (Fread_file_name): Call the new `read-file-name' instead.
 -
 -2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
 -      Make function non-static.
 -      (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
 -      Remove function.
 -      (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
 -      Move to mactoolbox.c.
 -      (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
 -
 -      * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
 -      (mac_rect_make): New macro.
 -
 -      * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
 -      instead of float.
 -      (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
 -      (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
 -      (XSetBackground) [USE_CG_DRAWING]: Likewise.
 -      (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
 -      CGRectMake.
 -      (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
 -      (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
 -      (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
 -      (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
 -      instead of WindowRef in argument type.
 -      (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
 -      (mac_invert_rectangle): Use CGContextSetBlendMode if available.
 -      (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
 -      instead of DISPLAY.  All uses changed.
 -      (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
 -      (x_calc_absolute_position): Simplify so as not to use
 -      FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
 -
 -      * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
 -      instead of WindowRef in argument type.
 -      (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
 -      [TARGET_API_MAC_CARBON]: Remove externs.
 -      (create_apple_event, mac_event_parameters_to_lisp)
 -      [TARGET_API_MAC_CARBON]: Add externs.
 -
 -      * mactoolbox.c (Vmac_ts_script_language_on_focus)
 -      (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
 -      (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
 -      is clicked.
 -      (x_activate_menubar): Remove extern for saved_menu_event_location.
 -      (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
 -      Move from mac.c.
 -
 -2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
 -      [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
 -
 -2008-04-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
 -      attributes only for local files.
 -
 -      * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
 -      default to Qlocal.
 -
 -2008-04-22  Juri Linkov  <juri@jurta.org>
 -
 -      * buffer.c (Fswitch_to_buffer): Change interactive spec to call
 -      read-buffer-to-switch instead of using the letter "B".
 -
 -2008-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Qdefault_directory): New variable.
 -      (Fread_file_name): Use it to pass `dir' to the completion functions.
 -
 -2008-04-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
 -
 -2008-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Vpre_help_message): Remove.
 -      (show_help_echo): Remove default C code.
 -
 -      * dired.c (directory_files_internal, file_name_completion):
 -      Only call ENCODE_FILE if the string is indeed decoded.
 -
 -2008-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (TOOLKIT_DEFINES): Remove.
 -      (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
 -
 -2008-04-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (MAC_OBJ): Add mactoolbox.o.
 -      (mactoolbox.o): New target.
 -
 -      * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
 -      Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
 -
 -      * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
 -      Use mac_set_frame_window_background instead of XSetWindowBackground.
 -      (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
 -      Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
 -      (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
 -      instead of SetWindowTitleWithCFString.
 -      (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
 -      Move function to mactoolbox.c.
 -      (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
 -      Use mac_set_window_modified instead of SetWindowModified.
 -      Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
 -      (mac_window, x_create_tip_frame): Use mac_create_frame_window.
 -      (Fx_focus_frame): Use mac_front_non_floating_window instead of
 -      FrontNonFloatingWindow.  Use mac_activate_window instead of
 -      ActivateWindow.  Use mac_active_non_floating_window instead of
 -      ActiveNonFloatingWindow.
 -      (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
 -      Use mac_show_hourglass and mac_hide_hourglass.
 -      (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
 -      instead of GetGlobalMouse.
 -      (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
 -      instead of MoveWindow/SizeWindow/ShowWindow, respectively.
 -      Use mac_bring_window_to_front instead of BringToFront.
 -      (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
 -      mactoolbox.c.
 -      (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
 -      mac_file_dialog in mactoolbox.c.  Use mac_file_dialog.
 -      (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
 -      mactoolbox.c.
 -
 -      * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
 -      (XtPointer): Move typedef from macmenu.c.
 -      (enum button_type): Move enum from macmenu.c.
 -      (widget_value): Move typedef from macmenu.c.
 -      (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
 -      (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
 -      (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
 -      (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
 -      (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
 -      (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
 -      (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
 -      (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
 -      (Selection): Move typedef from macselect.c.
 -      (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
 -      macterm.c.
 -      (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
 -      (mac_is_window_collapsed, mac_bring_window_to_front)
 -      (mac_send_window_behind, mac_hide_window, mac_show_window)
 -      (mac_collapse_window, mac_front_non_floating_window)
 -      (mac_active_non_floating_window, mac_activate_window)
 -      (mac_move_window_structure, mac_move_window, mac_size_window)
 -      (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
 -
 -      * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
 -      (enum mac_menu_kind): Move enum to mactoolbox.c.
 -      (min_menu_id): Move variable to mactoolbox.c.
 -      (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
 -      (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
 -      (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
 -      (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
 -      [TARGET_API_MAC_CARBON]: Likewise.
 -      (XtPointer): Move typedef to macgui.h.
 -      (enum button_type): Move enum to macgui.h.
 -      (widget_value): Move typedef to macgui.h.
 -      (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
 -      (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
 -      (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
 -      (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
 -      (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
 -      (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
 -      (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
 -      (popup_activated_flag): Make variable non-static.
 -      (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
 -      (add_menu_item, fill_menu, dispose_menus):
 -      Move functions to mactoolbox.c.
 -      (restore_show_help_function, menu_target_item_handler)
 -      (install_menu_target_item_handler, mac_handle_dialog_event)
 -      (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
 -      [TARGET_API_MAC_CARBON]: Likewise.
 -      (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
 -      (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
 -      (find_and_call_menu_selection, name_is_separator): Make function
 -      non-static.
 -      (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
 -      to mactoolbox.c.
 -      (set_frame_menubar): Don't call install_menu_quit_handler.
 -      (menu_item_selection): New variable.
 -      (mac_menu_show): Use create_and_show_popup_menu.
 -      (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
 -      selection but set variable menu_item_selection.  All uses changed.
 -      (mac_fill_menubar): Rename from fill_menubar.  All uses changed.
 -      Call install_menu_quit_handler.  Move to mactoolbox.c.
 -
 -      * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
 -      (Selection): Move typedef to macgui.h.
 -      (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
 -      (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
 -      Make variables non-static.
 -      (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
 -      (mac_handle_apple_event, cleanup_all_suspended_apple_events):
 -      Make functions non-static.
 -      (Vmac_service_selection) [MAC_OSX]: Likewise.
 -      (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
 -      (mac_valid_selection_target_p, mac_clear_selection)
 -      (mac_get_selection_ownership_info, mac_valid_selection_value_p)
 -      (mac_put_selection_value, mac_selection_has_target_p)
 -      (mac_get_selection_value, mac_get_selection_target_list)
 -      (init_apple_event_handler, install_drag_handler, remove_drag_handler):
 -      Move functions to mactoolbox.c.
 -      (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
 -      Likewise.
 -      (copy_scrap_flavor_data, mac_handle_service_event)
 -      (install_service_handler) [MAC_OSX]: Likewise.
 -      (syms_of_macselect) <Vmac_dnd_known_types>:
 -      Use mac_dnd_default_known_types.
 -
 -      * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
 -      Move to mactoolbox.c.
 -      (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
 -      (Fx_selection_owner_p): Add EXFUN.
 -      (install_window_handler, remove_window_handler, XSetWindowBackground):
 -      Remove externs.
 -      (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
 -      (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
 -      (x_raise_frame, x_lower_frame, mac_alert_sound_play)
 -      (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
 -      (mac_convert_frame_point_to_global, mac_set_frame_window_background)
 -      (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
 -      (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
 -      (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
 -      (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
 -      (create_and_show_popup_menu, mac_get_selection_from_symbol)
 -      (mac_valid_selection_target_p, mac_clear_selection)
 -      (mac_get_selection_ownership_info, mac_valid_selection_value_p)
 -      (mac_put_selection_value, mac_selection_has_target_p)
 -      (mac_get_selection_value, mac_get_selection_target_list): Add externs.
 -      (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
 -      (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
 -      (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
 -      (mac_run_loop_run_once) [MAC_OSX]: Likewise.
 -      (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
 -      (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
 -      (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
 -      (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
 -
 -      * mactoolbox.c: New file.
 -
 -2008-04-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
 -
 -2008-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * character.c (Fmultibyte_char_to_unibyte):
 -      Return latin1 chars unchanged.
 -
 -      * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
 -      relocated if it points to `name'.
 -
 -2008-04-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * data.c (Faset): Allow setting a multibyte character in an
 -      ASCII-only unibyte string.
 -
 -      * lisp.h (STRING_SET_MULTIBYTE): New macro.
 -
 -2008-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
 -      done in config.h.
 -
 -2008-04-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * character.c (Fchar_bytes, Fchar_width, Fstring_width)
 -      (Fchar_direction): Add usage in the docstring.
 -
 -2008-04-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_key_sequence): Remove always-true checks.
 -
 -2008-04-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Set max_bounds.descent in
 -      compatibility struct, for better underline positioning.
 -
 -2008-04-13  David Hansen  <david.hansen@gmx.net>
 -
 -      * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
 -      string.
 -
 -2008-04-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/hp800.h (XUINT, XSET): Remove.
 -
 -2008-04-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
 -      previous change.
 -
 -2008-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
 -      Relocate `nm' after calling DECODE_FILE, in case the GC was run.
 -
 -2008-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.h (map_keymap_canonical): Declare.
 -      * xmenu.c (single_keymap_panes): Use it.
 -
 -2008-04-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * eval.c (Fdefvaralias): If the alias is bound and the target is not,
 -      set the target's value to that of the alias.
 -
 -2008-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (set_tty_color_mode): Left over typo.
 -
 -2008-04-10  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
 -      only after check for file name handler functions.  Signal, when
 -      native functionality is not supported.
 -      (syms_of_fileio): Declare it unconditionally.
 -
 -2008-04-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
 -      (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
 -
 -      * w32.c (logon_network_drive): Also logon to remote drives that
 -      are mapped to drive letters.
 -
 -2008-04-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * xdisp.c (truncate-partial-width-windows): Doc fix.
 -
 -2008-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
 -      Move functions to minibuffer.el.
 -      (syms_of_fileio): Don't declare them.
 -
 -2008-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
 -      (syms_of_minibuf): Remove its initialization.
 -
 -      * minibuf.c (temp_echo_area_glyphs): Remove unused function.
 -
 -2008-04-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
 -
 -2008-04-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (distclean): Delete makefile too.
 -      (maintainer-clean): New target.
 -
 -      * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
 -
 -      * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
 -      for new font backend and composite cases.
 -
 -2008-04-09  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
 -      Most of the code moved to run_timers.
 -      (do_pending_atimers): Call run_timers.
 -      (run_timers): New function.
 -
 -      * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
 -      run atimers.
 -
 -      * process.c (wait_reading_process_output): The same as above.
 -
 -2008-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (last_exact_completion): Remove variable.
 -      (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
 -      (complete_and_exit_1, complete_and_exit_2)
 -      (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
 -      (Fdisplay_completion_list, display_completion_list_1)
 -      (Fminibuffer_completion_help, Fself_insert_and_exit)
 -      (Fexit_minibuffer, Fminibuffer_message): Move functions to
 -      minibuffer.el.
 -      (syms_of_minibuf): Remove corresponding initializations.
 -
 -      * keyboard.c (Qdeactivate_mark): New var.
 -      (command_loop_1): Use it to call `deactivate-mark'.
 -      (syms_of_keyboard): Initialize it.
 -
 -      * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
 -      to another frame.
 -      * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
 -      Don't call set_tty_color_mode.
 -      (store_frame_param): Reset previous_frame rather than call
 -      set_tty_color_mode.
 -      * term.c (set_tty_color_mode): Rewrite.
 -      * dispextern.h (set_tty_color_mode): New type.
 -      * termchar.h (struct tty_display_info): Add `previous_color_mode'.
 -
 -2008-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
 -      for generic chars, which do not exist any more in emacs-unicode.
 -
 -2008-04-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * coding.c (detect_coding_emacs_mule)
 -      (Ffind_operation_coding_system): Fix typo.
 -
 -2008-04-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (SNAME): Extract only symbol name.
 -
 -      * w32font.h (struct w32_metric_cache): New struct.
 -      (w32font_info): Use it.
 -      (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
 -      (CACHE_BLOCKSIZE): New constants.
 -
 -      * w32font.c (Qja, Qko, Qzh): New symbols.
 -      (syms_of_w32font): Initialise them.
 -      (font_matches_spec): Use them to filter by language.
 -      (recompute_cached_metrics): Remove function.
 -      (compute_metrics, clear_cached_metrics): New functions.
 -      (w32font_encode_char): Use them to manage metric cache.
 -      (w32font_text_extents): Cache metrics for all glyphs on demand.
 -      Delay converting glyph indices to WORD until needed.
 -      (w32font_open_internal): Initialize metric cache to empty.
 -      (registry_to_w32_charset): Charset should always be a symbol.
 -      (fill_in_logfont, list_all_matching_fonts): Family should
 -      always be a symbol.
 -
 -2008-04-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
 -      Give up if glyph indices not supported.  Use uniscribe obtained
 -      ABC widths for individual metrics.  Map glyph clusters back to
 -      characters using fClusterStart flag.  Return number of glyphs
 -      produced, not chars processed.
 -      (uniscribe_shape): Map char at FROM to current glyph.
 -
 -2008-04-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
 -      Use SetMenuItemHierarchicalMenu.
 -
 -2008-04-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (pbm_load): Allow color values up to 65535.
 -      Throw an error if max_color_idx is outside the supported range.
 -      Report an error when image size is invalid.
 -      Read two bytes at a time when raw images have max_color_idx above 255.
 -
 -2008-04-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (readdir): If FindFirstFile/FindNextFile return in
 -      cFileName a file name that includes `?' characters, use the 8+3
 -      alias in cAlternateFileName instead.
 -
 -2008-04-05  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
 -      append "CCL: Quitted" when the CCL program is quitted.
 -      (setup_ccl_program): Initialize ccl->quit_silently to zero.
 -
 -      * ccl.h (struct ccl_program): New member quit_silently.
 -
 -2008-04-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * search.c (compile_pattern_1): Treat non-nil and non-string of
 -      search-spaces-regexp as nil.
 -
 -      * minibuf.c (Fassoc_string): Tweak docstring.
 -
 -2008-04-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Support inode numbers wider than 32
 -      bits.  Remove ugly WINDOWSNT-specific kludge introduced on
 -      2008-03-14 to force inode be positive.
 -
 -      * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
 -      _S_* ones, since we now use our own sys/stat.h.
 -      (stat, fstat): Don't mangle the inode number.
 -      (init_user_info): Don't restrict UID and GID to 0-60000 range.
 -
 -2008-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.h (struct frame): Give one more bit to `visible' since we use
 -      values larger than 1 to indicate obscured frames on ttys.
 -
 -      * keymap.c (Qkeymap_canonicalize): New var.
 -      (Fmap_keymap_internal): New fun.
 -      (describe_map): Use keymap-canonicalize.
 -
 -      * undo.c (last_boundary_buffer, last_boundary_position): New vars.
 -      (Fundo_boundary): Set them.
 -      (syms_of_undo): Initialize them.
 -      (record_point): Use them instead of last_point_position*.
 -      (last_undo_buffer): Change type.
 -
 -2008-04-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Use font's ascent and descent.
 -      (recompute_cached_metrics): Don't set ascent and descent per char.
 -
 -      * w32uniscribe.c (uniscribe_check_otf): Fix last change.
 -      (uniscribe_check_otf): Add GC protection before consing.
 -      Rearrange loop for counting features.
 -
 -2008-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
 -      buffer with byte-size of source buffer.
 -
 -2008-04-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callint.c (Fcall_interactively): Handle temporary region even
 -      when shift-select-mode is off.
 -
 -2008-04-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
 -
 -2008-04-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
 -      (CATEGORY_MASK_UTF_16): Likewise.
 -      (detect_coding_utf_16): Add heuristics to reject utf-16 for a
 -      binary file.
 -      (detect_coding): Add null-byte detection for a binary file.
 -      (detect_coding_system): Likewise.
 -
 -2008-04-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c: New file.
 -
 -      * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
 -
 -      * w32font.h (uniscribe_check_otf): Declare for w32font.c.
 -
 -      * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
 -      (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
 -      (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
 -      (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
 -      (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
 -      (Qphonetic): New symbols.
 -      (syms_of_w32font): Initialize them.
 -      (font_supported_scripts): Use them.
 -      (w32font_list_family): List all charsets.
 -      (w32font_text_extents, recompute_cached_metrics): Fix metric
 -      calculations.
 -      (w32_enumfont_pattern_entity): Make full_type a DWORD.
 -      Give opentype fonts their own format.
 -      (font_matches_spec): New arguments backend and logfont.
 -      Handle :otf spec for uniscribe backend.
 -      (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
 -      (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
 -
 -      * w32fns.c (Fx_create_frame): Conditionally register uniscribe
 -      font backend.
 -      (globals_of_w32fns): Initialize uniscribe font backend.
 -
 -      * makefile.w32-in (CONFIG_H): New variable.  Use it to clean up
 -      dependencies.
 -      (w32uniscribe.$(O)): New file to build.
 -      (FONT_OBJ): Include w32uniscribe.$(O).
 -      (LIBS): Add uniscribe libraries.
 -
 -      * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
 -
 -2008-04-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callint.c (Vshift_select_mode): New var.
 -      (Finteractive): Document new ^ spec.
 -      (Fcall_interactively): Call handle-shift-selection if the ^ spec
 -      is present.
 -
 -      * keyboard.c (Vthis_command_keys_shift_translated): New var.
 -      (command_loop_1): Avoid running the direct display versions of
 -      forward-char and backward-char if shift-selection may occur.
 -      (read_key_sequence): Set Vthis_command_keys_shift_translated if
 -      shift-translation takes place.
 -
 -      * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
 -      avoid clobbering by define-minor-mode.
 -
 -      * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
 -      (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
 -
 -      * syntax.c (Fforward_word): Add ^ interactive spec.
 -
 -      * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
 -      (Fscroll_right): Add ^ interactive spec.
 -
 -2008-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
 -
 -      * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
 -
 -      * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
 -
 -2008-03-31  Juri Linkov  <juri@jurta.org>
 -
 -      * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
 -
 -2008-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_set_geometry): Fix indentation.
 -      (xg_resize_outer_widget): Remove.
 -      (x_wm_size_hint_off): Fix indentation.
 -      (xg_frame_set_char_size): Call flush_and_sync after
 -      gtk_window_resize.
 -      (x_wm_set_size_hint): Pass NULL as geometry window to
 -      gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
 -      Add menu bar and tool bar height to base height.
 -      (xg_update_frame_menubar, free_frame_menubar)
 -      (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
 -      (update_frame_tool_bar, free_frame_tool_bar):
 -      Change xg_resize_outer_widget to xg_frame_set_char_size.
 -
 -2008-03-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
 -      (Fdbus_call_method): New parameter TIMEOUT.
 -      (dbus-send-signal): Optimize UNGCPRO call.
 -
 -2008-03-29  Juri Linkov  <juri@jurta.org>
 -
 -      * window.c (Fdisplay_buffer): Move call to
 -      Vsplit_window_preferred_function out of conditions that check
 -      if window is eligible for vertical splitting.
 -      When Vsplit_window_preferred_function is non-nil, call it and use
 -      its non-nil return value as window.  Otherwise, continue doing
 -      vertical splitting using Fsplit_window with arg horflag=nil.
 -      (syms_of_window) <Vsplit_window_preferred_function>: Change the
 -      default value from `split-window' to nil.
 -
 -2008-03-29  Juri Linkov  <juri@jurta.org>
 -
 -      * callint.c (Fcall_interactively): Revert 2008-03-16 change
 -      for interactive code letters 'b' and 'B'.
 -
 -2008-03-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
 -      multibyte string.
 -
 -2008-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (pending_funcalls): New var.
 -      (timer_check): Run it.
 -      (syms_of_keyboard): Initialize it.
 -      * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
 -      (Vdelete_terminal_functions): New vars.
 -      (syms_of_terminal): Initialize them.
 -      (Fdelete_terminal): Run delete-terminal-functions.
 -      * xdisp.c (safe_eval): Rewrite.
 -      (safe_call2): New fun.
 -      * frame.c (Qdelete_frame_functions): New var.
 -      (syms_of_frame): Initialize it.
 -      (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
 -      * lisp.h (safe_call2, pending_funcalls): Declare.
 -
 -2008-03-28  Andreas Schwab  <schwab@suse.de>
 -
 -      * indent.c (Fmove_to_column): Move declaration before statements.
 -
 -2008-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.h (enum fullscreen_type): Give it a name.  Move it before use.
 -      (struct frame): Use bit fields for boolean vars.
 -
 -      * process.c (server_accept_connection): Simplify naming.
 -      (emacs_get_tty_pgrp): Use SDATA.
 -
 -      * coding.c (decode_coding_object): Fix last change.
 -
 -2008-03-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
 -
 -2008-03-27  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * charset.c (Fdefine_charset_internal): Change the way of
 -      registering charsets in Vcharset_order_list.
 -      (syms_of_charset): Make the charset `eight-bit' supplementary.
 -
 -2008-03-26  Alexandre Oliva  <aoliva@redhat.com>  (tiny change)
 -
 -      * regex.c (EXTEND_BUFFER): Change order of pointer addition
 -      operations, to avoid having the difference between pointers
 -      overflow.
 -
 -2008-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * indent.c (check_display_width): New fun.
 -      (scan_for_column): Use it.
 -
 -      * data.c (syms_of_data): Mark most-positive-fixnum and
 -      most-negative-fixnum as constants.
 -
 -      * xdisp.c (redisplay_internal): Reset selected_frame earlier.
 -
 -      * indent.c (scan_for_column): Extract from current_column_1.
 -      Merge with the same code from Fmove_to_column.
 -      (current_column_1, Fmove_to_column): Use it.
 -
 -2008-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (map_keymap_internal): New fun.
 -      (map_keymap): Use it.
 -      (Fmap_keymap_internal): New fun.
 -      (Fmap_keymap): Remove left-out test from before make_save_value.
 -
 -      * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
 -
 -      * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
 -      Use XCAR/XCDR.
 -
 -      * process.h (struct Lisp_Process): Remove filter_multibyte.
 -      * process.c (QCfilter_multibyte): Remove.
 -      (setup_process_coding_systems): Don't use filter_multibyte.
 -      (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
 -      (read_process_output): Don't adjust multibyteness to filter_multibyte.
 -      (Fset_process_filter_multibyte): Change the coding-system to
 -      approximate the previous behavior.
 -      (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
 -      coding-system.
 -
 -      * coding.c (decode_coding_object): When not decoding into a buffer,
 -      obey the coding system's preference of (uni|multi)byte.
 -
 -2008-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
 -      every char is changed and has a different byte-length.
 -      (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
 -      Fix int -> EMACS_INT.
 -
 -2008-03-23  David Hansen  <david.hansen@gmx.net>
 -
 -      * dbusbind.c (xd_read_message): Remove extra copying of message
 -      strings.  Check for NULL `interface' or `member'.
 -
 -2008-03-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (readdir): If FindFirstFile/FindNextFile return in
 -      cFileName a file name that includes `?' characters, use the 8+3
 -      alias in cAlternateFileName instead.
 -
 -2008-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
 -
 -2008-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
 -      (set_point, set_point_both): Use EMACS_INT.  Remove `buffer' arg,
 -      work on current_buffer only instead (that was already the case
 -      for some of the code anyway).
 -      * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
 -      (temp_set_point, temp_set_point_both): Use EMACS_INT.
 -      (SET_PT, SET_PT_BOTH): Adjust.
 -      * intervals.h (set_point, temp_set_point, set_point_both)
 -      (temp_set_point_both): Remove redundant declarations.
 -
 -2008-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents):
 -      * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
 -      * buffer.h (BUF_SET_PT): Remove.  set_point_both doesn't work right
 -      when buffer != current_buffer anyway.
 -
 -2008-03-20  Andreas Schwab  <schwab@suse.de>
 -
 -      * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
 -      as default.
 -
 -2008-03-19  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
 -      (syms_of_w32fns): Initialize them.
 -      (HOURGLASS_ID): New constant.
 -      (x_window_to_frame): Don't check hourglass_window.
 -      (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
 -      (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
 -      (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
 -      (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
 -      Only change the cursor if hourglass is not active.
 -      (Fx_create_frame): Initialize frame's current_cursor.
 -      (hourglass_atimer): Remove.
 -      (hourglass_started): New function.
 -      (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
 -      (show_hourglass): Adapt to w32, changing argument to frame.
 -
 -      * w32term.h (struct w32_output): Remove hourglass_window.
 -      Add current_cursor.
 -
 -      * eval.c (call_debugger, Fsignal):
 -      * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
 -      (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
 -      (Fexecute_extended_command, cancel_hourglass_unwind):
 -      * minibuf.c (read_minibuf):
 -      * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
 -
 -2008-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (run_funs): New fun.
 -      (run_window_configuration_change_hook): Use it to run the buffer-local
 -      and the global part of the hook.
 -
 -      * xdisp.c (format_mode_line_unwind_data): Add window argument.
 -      (unwind_format_mode_line): Restore selected window.
 -      (x_consider_frame_title, Fformat_mode_line): Set selected window.
 -
 -2008-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Fchar_equal): Check they are valid characters.
 -
 -      * buffer.h (Fbuffer_list): Declare (for use in callint.c).
 -
 -2008-03-17  Andreas Schwab  <schwab@suse.de>
 -
 -      * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
 -      against a charset.
 -
 -      * lisp.h (Fbuffer_list): Declare.
 -
 -2008-03-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
 -      handlebox_widget is != 0.
 -
 -2008-03-16  Juri Linkov  <juri@jurta.org>
 -
 -      * callint.c (Fcall_interactively): For interactive code letters
 -      'b' and 'B' put the buffer list into the list of default "future"
 -      values of the minibuffer.
 -
 -2008-03-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * keyboard.c (read_key_sequence): Fix downcasing of letters with
 -      modifiers.
 -
 -      * regex.c (re_match_2_internal): Correct matching of a charset
 -      against latin-1 characters.
 -
 -2008-03-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
 -      (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
 -      (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
 -      (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
 -      (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
 -      CHAR_STRING_ADVANCE.
 -      (produce_chars): Fix for the case that the source and the
 -      destination are the same buffer.  Use CHAR_STRING_ADVANCE_NO_UNIFY
 -      instead of CHAR_STRING_ADVANCE.
 -      (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
 -      STRING_CHAR_ADVANCE.
 -
 -2008-03-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * regex.c (re_match_2_internal): Correct matching of eight bit
 -      characters in unibyte strings.
 -
 -2008-03-15  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (overlays_in, Foverlays_in): Include empty overlays
 -      at end of range when it coincides with the end of the buffer.
 -
 -2008-03-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
 -
 -      * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
 -
 -2008-03-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * editfns.c (initial_tz): New variable.
 -      (syms_of_editfns): Initialize it.
 -      (Fset_time_zone_rule): Set it when first called.
 -      Use it when TZSTRING is nil.
 -
 -      * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
 -      (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
 -      (monitor_from_point_fn, get_monitor_info_fn): New globals.
 -      (globals_of_w32fns): Initialize them.
 -      (compute_tip_xy): Use them to position tooltips.
 -
 -2008-03-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (main): Revert previous change.
 -      (standard_args): Revert -internal-script back to -scriptload,
 -      and remove the long-option form.
 -
 -2008-03-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
 -      Remove option -enable-font-backend.
 -
 -2008-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
 -
 -2008-03-11  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_connection_closed): For GTK: If this is the last
 -      terminal just exit without closing the display.
 -
 -2008-03-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_full_name): Use floor to round.
 -
 -2008-03-10  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
 -
 -      * sound.c (alsa_configure): Declare vol at beginning of block.
 -
 -      * fontset.c (Ffontset_info): Remove extra semicolon.
 -
 -2008-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
 -      size of resulting string.
 -
 -2008-03-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * dispnew.c (adjust_glyph_matrix): Initialize window_height.
 -
 -2008-03-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
 -      Don't pretend as if characters with display property haven't been
 -      consumed for string-replacing-string case.
 -
 -2008-03-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
 -      (get_next_display_element, next_element_from_string)
 -      (next_element_from_ellipsis, next_element_from_buffer): Use it.
 -
 -2008-03-08  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.h (struct Lisp_Process): Declare bit fields as unsigned.
 -
 -2008-03-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32_registry): Take font_type argument.  Use ANSI
 -      when charset not specified.  Only translate ANSI to unicode when
 -      font_type is truetype.
 -      (w32font_coverage_ok): New function.
 -      (add_font_entity_to_list): Use it to filter unsuitable fonts.
 -
 -2008-03-05  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * lread.c (Fread_char): Resolve modifiers.
 -      (Fread_char_exclusive): Likewise.
 -
 -      * character.c (char_resolve_modifier_mask): New function.
 -      (char_string): Use char_resolve_modifier_mask.
 -      (Fchar_resolve_modifiers): New function.
 -      (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
 -      function.
 -
 -2008-03-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in: Always include w32font.c in the build.
 -      * w32font.c: Wrap in USE_FONT_BACKEND conditional.
 -
 -2008-03-04  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
 -      (versionclean): Likewise.
 -
 -2008-03-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * .cvsignore: Add oo.
 -
 -2008-03-03  Andreas Schwab  <schwab@suse.de>
 -
 -      * coding.c (decode_coding_object): Inhibit gap shrinking while
 -      decoding in place.
 -
 -2008-03-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * w32term.c: Remove unused include "gnu.h".
 -      * makefile.w32-in (w32term.o): Don't depend on gnu.h.
 -
 -      * gnu.h: Rename to ...
 -      * emacs-icon.h: ... this.
 -      * xterm.c: Use emacs-icon.h instead of gnu.h.
 -      * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
 -
 -2008-03-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c: Include math.h.
 -
 -2008-03-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
 -      Compute options separately.
 -      (w32font_open_internal): Set glyph_idx before caching metrics.
 -
 -      * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
 -      Define if system headers don't.
 -      (struct w32font_info): Enlarge ascii_metrics.  Add glyph_idx.
 -      (w32font_encode_char): Don't declare here.
 -
 -      * w32font.c (Quniscribe, QCformat): New symbols.
 -      (syms_of_w32font): Define them.
 -      (w32font_has_char): Indicate uncertainty.
 -      (w32font_encode_char): Encode as glyph point.  Make static.
 -      (recompute_cached_metrics): New function.
 -      (w32font_open_internal): Use it.  Set font to use glyph points
 -      initially.  Set format based on type of font.
 -      (w32font_text_extents, w32font_draw): Optionally use glyph points.
 -      (w32_enumfont_pattern_entity): Accept backend arg.  Set type based
 -      on it.  Set format based on information available here.
 -      (add_font_entity_to_list): Identify backend based on opentype_only.
 -
 -2008-03-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
 -
 -      * coding.c (decode_coding_big5, produce_chars):
 -      Fix typos in last change.
 -
 -2008-03-02  Kentaro Ohkouchi  <nanasess@fsm.ne.jp>
 -
 -      * gnu.h: New icon.
 -
 -2008-03-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_utf_8): When eol-type of CODING is
 -      `dos', don't decode '\r' if that is the last in the source.
 -      (decode_coding_utf_16, decode_coding_emacs_mule)
 -      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_raw_text, decode_coding_charset): Likewise.
 -      (produce_chars): Don't decode EOL here.  Use EMACS_INT.
 -
 -2008-03-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_full_name): Report point size for scalable fonts.
 -
 -2008-03-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
 -
 -2008-03-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_full_name): New function.
 -      (w32font_open_internal): Use it.
 -
 -2008-03-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (line_draw_cost): Fix invalid glyph check.
 -
 -2008-03-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c (font_unparse_fcname): Increase len when style is a symbol.
 -
 -2008-03-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
 -      xg_frame_resized when the event is for the edit widget.
 -
 -      * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
 -
 -      * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
 -      set_char_size.
 -      (xg_frame_resized): Renamed from xg_resize_widgets.  Remove all
 -      operations on widgets here.  Just set frame size if needed.
 -      (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
 -      (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
 -      (x_wm_set_size_hint): Set size hints on the edit widget only, not
 -      the whole frame.
 -      (xg_create_tool_bar): Move attachment of the tool bar to
 -      xg_pack_tool_bar.  Do not attach the tool bar if there are no items.
 -      (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
 -
 -2008-03-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_msg_pump): Disable debug code.
 -
 -2008-03-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
 -
 -2008-02-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (next_overlay_string): Don't set
 -      overlay_strings_at_end_processed_p if we're currently reading from
 -      a display string.
 -
 -2008-02-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (get_overlay_strings_1): Fix typo.
 -
 -2008-02-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (get_overlay_strings_1): Add missing argument type.
 -
 -2008-02-28  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
 -
 -      * xdisp.c (display_mode_element): Cancel the previous change.
 -      (decode_mode_spec): Likewise.
 -      (handle_auto_composed_prop): Don't make composition if it->string
 -      is a string.
 -
 -2008-02-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * lisp.h (GLYPH): Change type from int to struct with separate char
 -      and face_id members.
 -      (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
 -      (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
 -      (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
 -      (GLYPH_CHAR, GLYPH_FACE): ... these.  Change users.
 -      (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove.  Rewrite users to use ...
 -      (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
 -      (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
 -      (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
 -      handle new Lisp glyph code encoding, either an integer or a cons.
 -
 -      * disptab.h (GLYPH_SIMPLE_P): Rewrite.
 -      (GLYPH_ALIAS): Delete.
 -      (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
 -      (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
 -      (GLYPH_FROM_CHAR): Replace macro by ...
 -      (SET_GLYPH_FROM_CHAR): ... this macro.  Change users.
 -
 -      * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
 -      (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
 -      (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro.  Change users.
 -      (GLYPH_INVALID_P): New macro.
 -      (spec_glyph_lookup_face): Update prototype.
 -
 -      * dispnew.c (line_draw_cost): Adapt to new glyph type.
 -      (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
 -      new glyph code encoding.
 -      (spec_glyph_lookup_face): No return value; update passed glyph instead.
 -      (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
 -
 -      * xdisp.c (get_next_display_element, next_element_from_display_vector):
 -      Adapt to new glyph type and new glyph code encoding.
 -
 -      * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
 -
 -      * indent.c (current_column, current_column_1, Fmove_to_column)
 -      (compute_motion): Adapt to new glyph code encoding.
 -
 -      * msdos.c (IT_write_glyphs): Adapt to new glyph type.
 -
 -2008-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (wait_reading_process_output): Check for window
 -      changes caused by timers.
 -      Suggested by Johan Bockgård.
 -
 -2008-02-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (USAGE1): Add `--disable-font-backend'.
 -
 -2008-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
 -      is made to the buffer.
 -
 -2008-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dispextern.h (face_at_buffer_position, face_for_overlay_string)
 -      (face_at_string_position):
 -      * xfaces.c (face_at_buffer_position, face_for_overlay_string)
 -      (face_at_string_position):
 -      * xdisp.c (display_string, next_overlay_change):
 -      * buffer.h (overlays_at):
 -      * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
 -      Update callers.
 -
 -2008-02-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fformat): Doc fix.
 -
 -2008-02-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
 -      (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
 -      (Ffont_otf_alternates, Fquery_font): Doc fixes.
 -
 -2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fbuffer_swap_text): New function.
 -      (syms_of_buffer): Defsubr it.
 -
 -2008-02-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (command_loop_1): Revert 2006-10-09 change.
 -
 -2008-02-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_draw): Draw one character at a time when padding.
 -
 -2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fdelete_window, Fadjust_window_trailing_edge):
 -      Handle a nil arg.  Use run_window_configuration_change_hook.
 -      (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
 -      (Fenlarge_window, Fshrink_window, Fset_window_configuration):
 -      Use run_window_configuration_change_hook.
 -
 -2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
 -      1-pixel width.
 -
 -2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
 -      (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
 -      if the glyph in the font is zero pixel with.
 -
 -      * dispextern.h (struct glyph_string): New member padding_p.
 -
 -      * w32font.c (w32font_draw): Pay attention to s->padding_p.
 -
 -      * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
 -
 -      * xfont.c (xfont_draw): Pay attention to s->padding_p.
 -
 -      * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
 -
 -      * font.c: If the font driver doesn't have `shape' function, return Qnil.
 -
 -2008-02-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
 -
 -2008-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Allow fine-grained image-cache flushing.
 -      * dispextern.h (struct image): Add `dependencies' field.
 -      (clear_image_caches): Change arg to Lisp_Object.
 -      * image.c (make_image): Initialize `dependencies' field.
 -      (clear_image_cache): Change arg to allow fine-grained flushing.
 -      Perform the flush even if image-cache-eviction-delay is nil.
 -      (clear_image_caches): Change arg to Lisp_Object.
 -      (Fclear_image_cache): Expand meaning of the argument.
 -      (mark_image): Mark `dependencies' field.
 -      * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
 -      (lface_hash): Use XHASH rather than XFASTINT.
 -      (face_at_buffer_position): Fix int -> EMACS_INT position.
 -      * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
 -      (select_frame_for_redisplay): Remove code duplication.
 -      (redisplay_internal): Adapt arg to call to clear_image_caches.
 -
 -2008-02-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/vms4-0.h:
 -      * s/vms4-2.h:
 -      * s/vms4-4.h:
 -      * s/vms5-5.h: Remove, unused.
 -
 -      * s/irix5-2.h:
 -      * s/irix6-0.h:
 -      * s/riscos5.h:
 -      * s/mach-bsd4-3.h:
 -      * m/mips4.h: Remove files for obsolete systems.
 -
 -      * Makefile.in:
 -      * filelock.c:
 -      * unexmips.c:
 -      * m/hp9000s300.h:
 -      * m/iris4d.h:
 -      * s/aix3-1.h:
 -      * s/hpux.h:
 -      * s/msdos.h:
 -      * s/usg5-0.h:
 -      * s/usg5-2-2.h:
 -      * s/usg5-2.h:
 -      * s/usg5-3.h: Remove references to obsolete variables.
 -
 -      * s/irix5-0.h: Remove, move all the contents ...
 -      * s/irix6-5.h: ... here.  Simplify.
 -      * config.in: Regenerate.
 -
 -2008-02-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_draw_glyph_string_background): Clear the background
 -      manually when cleartype is in use.
 -      (x_draw_glyph_string_foreground): Draw text transparently when
 -      cleartype is in use.
 -
 -      * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
 -      a font into it unless we have to.
 -
 -2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * intervals.h (INT_LISPLIKE): Remove.  It may misfire.
 -      (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
 -
 -2008-02-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fw32_shell_execute): Encode parameters.
 -
 -2008-02-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
 -
 -2008-02-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * unexhp9k800.c (read_header): Replace `legal' with `valid'.
 -
 -2008-02-24  Ulrich Neumerkel  <ulrich@complang.tuwien.ac.at>  (tiny change)
 -
 -      * xterm.c (x_set_offset): Don't change the gravity if
 -      CHANGE_GRAVITY is -1.
 -
 -2008-02-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (auto_save_error_occurred): New var.
 -      (auto_save_error): Set it.
 -      (Fdo_auto_save): Don't overwrite the error message if an auto-save
 -      error occurred.
 -
 -2008-02-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (globals_of_w32): Add initializations for
 -      g_b_init_get_sid_sub_authority and
 -      g_b_init_get_sid_sub_authority_count.
 -
 -2008-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
 -      (font_parse_xlfd): Use them for sanity check.
 -      (Finternal_set_font_style_table): Make sure the table is bijective.
 -
 -      Consolidate the image_cache to the terminal struct.
 -      * termhooks.h (P_): Remove redundant def.
 -      (struct terminal): New field `image_cache'.
 -      * frame.h (FRAME_IMAGE_CACHE): New macro.  Use it everywhere in place
 -      of FRAME_X_IMAGE_CACHE.
 -      * xterm.h (struct x_display_info): Remove image_cache field.
 -      (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
 -      * w32term.h (struct w32_display_info): Remove image_cache field.
 -      (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
 -      * macterm.h (struct mac_display_info): Remove image_cache field.
 -      (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
 -      * xterm.c (x_term_init):
 -      * w32term.c (w32_term_init):
 -      * macterm.c (mac_term_init): Set the image_cache in the terminal.
 -      * dispextern.h (clear_image_cache, forall_images_in_image_cache):
 -      Remove declarations.
 -      (clear_image_caches, mark_image_cache): New declarations.
 -      * xfaces.c (clear_face_cache):
 -      * xdisp.c (redisplay_internal): Use clear_image_caches.
 -      * image.c (clear_image_cache): Don't check that a frame is on
 -      a window-system before checking if it shares the same cache.
 -      (clear_image_caches): New function.
 -      (Fclear_image_cache): Use it.
 -      (mark_image): Move from allo.c.
 -      (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
 -      * alloc.c (mark_image, mark_image_cache): Move to image.c.
 -      (mark_object): Don't call mark_image_cache for frames.
 -      (mark_terminals): Call mark_image_cache.
 -
 -      * lisp.h (Fdelete_terminal): Declare.
 -
 -      * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
 -      (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
 -      wrong_type_argument.
 -
 -2008-02-22  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * Makefile.in (lisp): Remove devanagari.el, kannada.el,
 -      malayalam.el, and tamil.el.  Add sinhala.el.
 -
 -2008-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_connection_closed): Consolidate identical tests.
 -      (x_delete_terminal): Don't crash if called via x_connection_closed.
 -
 -2008-02-21  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xdisp.c (decode_mode_spec): New arg string.
 -      (display_mode_element): Adjust for the above change.
 -
 -2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * callint.c (Fcall_interactively): Use AREF.
 -
 -2008-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
 -
 -2008-02-18  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_show_tip): Set string to " " if empty.
 -
 -2008-02-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
 -      with Qt.
 -
 -2008-02-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_shape): Return Lispy number.
 -
 -      * xfaces.c (prepare_face_for_display): Use display_info->font->fid
 -      for GCs.
 -      (Finternal_set_font_selection_order): Call font_update_sort_order
 -      only when enable_font_backend is set.
 -      (realize_x_face): Set face->font_info to that of default face only
 -      when enable_font_backend is set.
 -
 -      * xdisp.c (handle_composition_prop): Set it->c to the fist
 -      character of the composed region.
 -      (fill_composite_glyph_string): Set base_face->font_info to
 -      s->font_info.  Get a face for ascii from base_face->ascii_face.
 -      (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
 -      with a face already decided.
 -      (x_produce_glyphs): Be sure to set it->ascent and it->descent to
 -      non-negative.
 -      (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
 -      call font_prepare_composition unconditionally.
 -
 -      * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
 -
 -      * xterm.h (struct x_display_info): New member font.
 -
 -      * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
 -      (x_set_mouse_face_gc, x_new_font): Likewise.
 -      (x_term_init): Setup display_info->font.
 -      (x_delete_terminal): Free display_info->font.
 -
 -      * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
 -
 -      * ftxfont.c (ftxfont_default_fid): Delete it.
 -      (ftxfont_open): Set xfont->fid to 0.
 -      (ftxfont_end_for_frame): Clear data specific to the frame and the
 -      font-driver.
 -
 -      * xftfont.c (xftfont_default_fid): Delete it.
 -      (xftfont_open): Set xfont->fid to 0.
 -
 -      * fontset.c (FONTSET_OBJLIST): New macro.
 -      (fontset_find_font): Update font-object list of the fontset.
 -      (free_realized_fontset): New function.
 -      (free_face_fontset): Call free_realized_fontset.
 -      (Ffont_info): Call font_close_object only when enable_font_backend
 -      is set.
 -
 -      * font.c [HAVE_X_WINDOWS]: Include xterm.h.
 -      [HAVE_NTGUI]: Include w32term.h.
 -      [MAC_OS]: Include macterm.ch.
 -      (font_otf_ValueRecord): Use make_number.
 -      (font_finish_cache): Fix handling of reference count.
 -      (font_clear_cache): Update num_fonts.
 -      (font_open_entity): Update smallest_char_width and
 -      smallest_font_height of the frame.
 -      (font_close_object): Update num_fonts.
 -      (Fclear_font_cache): Fix finding the target cache data.
 -
 -2008-02-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * fontset.c (Finternal_char_font): Fix compilation warning.
 -
 -2008-02-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
 -      instead of char arrays.  Enlarge the size of array passed to
 -      get_token_information.
 -
 -      * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
 -      warnings.
 -
 -2008-02-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * .gdbinit: Don't set `args', it breaks gdb --args.
 -
 -2008-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents): Adjust offsets when replacing
 -      within a narrowed buffer.
 -
 -2008-02-14  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (decode_coding_object, encode_coding_object):
 -      Preserve Vdeactivate_mark.  Delete unnecessary call of Fcurrent_buffer.
 -
 -2008-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * coding.c (coding_set_destination): Use BEG_BYTE rather than
 -      hardcoding 1.
 -      (detect_coding_system):
 -      * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
 -      (string_char_to_byte, string_byte_to_char, insert_from_gap):
 -      * insdel.c (insert_from_gap):
 -      * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
 -      (string_char_to_byte, string_byte_to_char, string_make_multibyte)
 -      (string_to_multibyte):
 -      * character.c (chars_in_text, multibyte_chars_in_text):
 -      * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
 -
 -      * character.h (FETCH_STRING_CHAR_ADVANCE)
 -      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
 -      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
 -      (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
 -
 -      * casefiddle.c (casify_region): Only call after-change and composition
 -      functions on the part of the region that was changed.
 -
 -      * keyboard.c (read_avail_input):
 -      * frame.c (Fdelete_frame): Call Fdelete_terminal.
 -
 -2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
 -      (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
 -
 -2008-02-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32menu.c (push_submenu_start, push_submenu_end)
 -      (push_left_right_boundary, push_menu_pane, push_menu_item):
 -      * keyboard.c (read_key_sequence): Don't pass args with side effects
 -      to AREF, it fails when compiling with -DENABLE_CHECKING.
 -
 -2008-02-11  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * Makefile.in (${lispsource}international/charprop.el):
 -      Delete this target.
 -
 -      * search.c (boyer_moore): Fix incorrect synching of the trunk and
 -      emacs-unicode-2.
 -
 -2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * terminal.c (Fdelete_terminal): Clean up the `force' path.
 -
 -2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (Qnoelisp): New symbol.
 -      (syms_of_frame): Initialize it.
 -      (Fdelete_frame): Use it to distinguish a mere `force' passed from some
 -      harmless Elisp code, from a strong `force' from x_connection_closed.
 -      * frame.h (Qnoelisp): Declare.
 -      * xterm.c (x_connection_closed): Pass `noelisp'.
 -
 -      * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
 -      (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
 -      (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
 -      rather than `int' for the type of `type'.
 -
 -2008-02-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
 -
 -      * Makefile.in (GNUC): Remove support for gcc-1.x.
 -
 -2008-02-10  Richard Stallman  <rms@gnu.org>
 -
 -      * lisp.h (ASET): Use AREF, not ASLOT.
 -
 -2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (ASET): Check bounds.
 -
 -2008-02-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * buffer.c (mode-name): Doc fix.
 -
 -2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in:
 -      * emacs.c:
 -      * gmalloc.c:
 -      * keyboard.c:
 -      * lisp.h:
 -      * m/ibm370aix.h:
 -      * process.c:
 -      * regex.c:
 -      * s/hpux.h:
 -      * sysdep.c:
 -      * sysselect.h:
 -      * systty.h:
 -      * unexec.c:
 -      * w32term.c:
 -      * xsmfns.c:
 -      * xterm.c: Remove code that deals with obsolete variables.
 -
 -      * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
 -
 -      * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
 -      nothing else needs it anymore.
 -
 -2008-02-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
 -      instead of unibyte_char_to_multibyte.
 -
 -2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/gnu-linux.h: Remove commented out code.
 -
 -      * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
 -
 -      * Makefile.in: Update what RMS says about using autoconf.
 -      (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
 -      (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
 -      (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
 -      (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
 -
 -2008-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fkey_description): Move side effect outside of macro call.
 -
 -      * xfaces.c (Finternal_make_lisp_face):
 -      * keyboard.c (add_command_key, parse_menu_item): Use ASET.
 -
 -      * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
 -      (syms_of_fontset): Use ASET.
 -
 -      * fns.c (concat): Move side effect outside of macro call.
 -      (hash_clear): Use ASET.
 -
 -2008-02-08  Richard Stallman  <rms@gnu.org>
 -
 -      * frame.c (Fdelete_frame): If FORCE, don't call hooks.
 -      If FORCE, and frame has a surrogate minibuffer for another frame,
 -      delete the other frame first.
 -
 -2008-02-07  Timo Savola  <timo.savola@iki.fi>
 -
 -      * xterm.c (x_detect_focus_change): Handle embed client message.
 -      (handle_one_xevent): Ditto.
 -      (handle_one_xevent): If embedded and we get a button press/release,
 -      request focus.
 -      (xembed_set_info, xembed_send_message): New functions.
 -      (x_make_frame_visible): Call xembed_set_info if embedded.
 -      (x_make_frame_invisible): Call xembed_set_info if embedded.
 -      (x_term_init): Initialize Xatom_XEMBED.
 -      (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
 -      (x_iconify_frame): Ditto.
 -
 -      * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
 -      (enum xembed_info, enum xembed_message, enum xembed_focus)
 -      (enum xembed_modifier, enum xembed_accelerator): New.
 -      (xembed_set_info, xembed_send_message): Declare.
 -      (FRAME_X_EMBEDDED_P): New.
 -
 -      * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
 -      gtk_plug_new.
 -
 -      * xfns.c (Fx_create_frame): Do not override the explicitly set parent
 -      window ID of a frame.
 -      (x_window): Reparent frame if embedded.
 -      (Fx_create_frame): Don't set border width if embedded.
 -
 -      * emacs.c (USAGE3): Add --parent-id.
 -      (standard_args): Ditto.
 -
 -2008-02-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
 -
 -2008-02-07  Jim Meyering  <meyering@redhat.com>
 -
 -      Use "do...while (0)", not "if (1)...else" in macro definitions.
 -      The latter provokes a warning from gcc about the empty else, when
 -      followed by ";".  Also, without that trailing semicolon, it would
 -      silently swallow up any following statement.
 -      * syntax.h (SETUP_SYNTAX_TABLE)
 -      (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
 -      * buffer.h (DECODE_POSITION): Likewise.
 -      * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
 -      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
 -      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
 -      (FETCH_CHAR_ADVANCE): Likewise.
 -      (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
 -
 -2008-02-07  Jim Meyering  <meyering@redhat.com>
 -
 -      * lread.c [lint]: Don't include <sys/inode.h>.
 -
 -2008-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xselect.c (x_handle_dnd_message):
 -      * xmenu.c (digest_single_submenu, xmenu_show):
 -      * xdisp.c (with_echo_area_buffer_unwind_data)
 -      (format_mode_line_unwind_data, unwind_format_mode_line)
 -      (display_menu_bar):
 -      * eval.c (Ffetch_bytecode):
 -      * doc.c (store_function_docstring):
 -      * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
 -      (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
 -      * buffer.c (add_overlay_mod_hooklist): Use ASET.
 -
 -2008-02-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftxfont.c (ftxfont_open): Don't set
 -      dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
 -
 -      * ftfont.c (ftfont_open): Fix previous change.
 -
 -2008-02-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Fill in lbearing metric.
 -      Use cached metrics for ASCII characters.
 -      (w32font_open_internal): Don't set font's owning_frame.
 -      Cache metrics for ASCII characters.
 -
 -      * w32font.h (struct w32font_info): Add ascii_metrics.
 -      Remove owning_frame.
 -
 -2008-02-06  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
 -      to negative value.
 -
 -      * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
 -
 -      * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
 -
 -      * charset.c (syms_of_charset): Set QCtest and Qeq.
 -
 -2008-02-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Fstart_process):
 -      * callproc.c (Fcall_process): Handle the case where
 -      Funhandled_file_name_directory returns nil.
 -
 -      * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
 -      (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
 -      * font.c (check_gstring): Use them and AREF to access the vector before
 -      we know it's really a gstring.
 -      (Ffont_shape_text): Fix typo.
 -      (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
 -
 -      * composite.h (Fcompose_region_internal, Fcompose_string_internal):
 -      Declare.
 -
 -      * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
 -
 -2008-02-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
 -      Set smallest_font_height and smallest_char_width in display info.
 -
 -2008-02-05  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
 -
 -2008-02-05  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (get_lface_attributes, merge_named_face)
 -      (lookup_named_face, lookup_derived_face, realize_named_face):
 -      Revert 2008-02-01 change by cyd@stupidchicken.com.
 -
 -2008-02-04  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * fontset.c (Ffontset_info): Handle the case of inhibitting the
 -      fallback fonts.
 -      (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
 -
 -2008-02-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Use font_unparse_fcname to
 -      set full_name.
 -      (w32font_open_internal): Use xmalloc, xrealloc, xfree.
 -
 -2008-02-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (OBJ1): Include font.o here.
 -      (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
 -
 -2008-02-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (temacs): Bump EMHEAP to 21.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/cygwin.h: Define VIRT_ADDR_VARIES.
 -
 -      * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (shortlisp, lisp): Update for rename of
 -      ../lisp/language/myanmar.el.
 -
 -2008-02-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (get_lface_attributes): Delete function.
 -      (merge_named_face, lookup_named_face, lookup_derived_face)
 -      (realize_named_face): Call lface_from_face_name directly, and use
 -      the fact that merge_face_vectors does not alter its FROM argument.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
 -      input in the default locale.  Handle non-Unicode multibyte input.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * fontset.c (reorder_font_vector): Exclude nil elements from the
 -      font group.  Don't try multiple fonts.
 -      (fontset_font): Adjust for the above change.
 -      (Finternal_char_font): Return nil if the found font doesn't
 -      contain the character ch.
 -
 -      * Makefile.in (lisp, shortlisp): Add cham.el.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.h (FONTP): Make it return 1 also for a font-object.
 -
 -      * .gdbinit (xfontset): New function.
 -
 -      * font.c (font_find_for_lface): Check if the character C is
 -      supported or not only for the first font.
 -
 -      * fontset.c (reorder_font_vector): Fix typo.
 -      (fontset_find_font): Don't add a font-spec specifying a script.
 -      Use 0 (not Qt) for the indication of empty font-group.  Change the
 -      format of RFONT-DEF.  Return Qt if no font in the font-group
 -      support the character.
 -      (fontset_font): Adjust for the above change.  If no font was
 -      found the character, remember that.
 -      (face_for_char): Adjust for the change of RFONT-DEF.
 -      (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
 -      no font for the target.
 -      (Finternal_char_font): Adjust for the change of RFONT-DEF.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.c (font_load_for_face): Handle the case that the font in
 -      face->lface is a string.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
 -      Fix previous change.  If the frame is not on a window system,
 -      signal an error.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (decode_coding_object, encode_coding_object): Adjust
 -      marker positions after conversion.
 -
 -      * lisp.h (struct Lisp_Marker): New member need_adjustment.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.c (font_find_for_lface): Fix the handling of the return
 -      value of font_has_char.
 -      (Ffont_shape_text): Fix previous change.
 -
 -      * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
 -      (fontset_ref_and_range): Delete it.
 -      (fontset_find_font): Call char_table_ref_and_range instead of
 -      FONTSET_REF_AND_RANGE.
 -      (make_fontset): Don't setup font groups of Latin here.
 -      (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
 -      (new_fontset_from_font): Make the specified font the default for
 -      all Latin characters.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
 -      is on a window system before accessing the fontset of the frame.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
 -
 -      * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
 -      when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
 -
 -      * font.c (Ffont_shape_text): If the font driver doesn't have a
 -      shaper function, make zero-width glyphs to have at least one-pixel
 -      width.  Fix setting of `to' field of glyphs.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
 -      glyphs.
 -
 -      * font.h (struct font_driver): Improve docstring of member `shape'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (syms_of_composite): Fix docstring of
 -      auto-composition-function.
 -
 -      * font.h (LGLYPH_SIZE): New macro.
 -
 -      * font.c (Ffont_fill_gstring): Stop filling when a character not
 -      supported by the font is found.
 -      (Ffont_shape_text): When a shape callback function returns nil,
 -      try at most two more times with larger gstring.
 -      (Ffont_at): Fix getting of w.  Call font_at with correct 5th argument.
 -
 -      * xdisp.c (handle_auto_composed_prop): Change the argument to
 -      auto-composition-function.
 -
 -      * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
 -      (ftfont_shape_by_flt): If an element of lgstring is nil, make a
 -      Lispy glyph and store it in the lgstring.
 -
 -      * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
 -
 -      * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.c (Ffont_shape_text): Avoid unnecessary composition.
 -
 -      * fontset.c (Vfont_encoding_charset_alist): New variable.
 -      (syms_of_fontset): DEFVAR it.
 -      (reorder_font_vector, fontset_find_font): Optimize for the case of
 -      no need of reordering.
 -      (face_for_char): Map the charset property by
 -      Vfont_encoding_charset_alist.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (logfonts_match): Don't check adstyle here.
 -      (font_matches_spec): Check here against physical font instead.
 -      (add_font_entity_to_list): Avoid some substitutions.
 -
 -      * font.c (font_parse_fcname): Default weight and slant to normal.
 -      (font_score): Prefer normal fonts if weight or slant unspecified.
 -      (font_score) [WINDOWSNT]: Scale weight difference down to closer
 -      match freetype scores.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Don't use the frame stored in the
 -      font, as it may have been deleted.
 -      (w32_enumfont_pattern_entity): Map generic family to adstyle using
 -      most common hyphenless variation.
 -      (logfonts_match): Check generic family.
 -      (font_matches_spec): Don't check generic family here.
 -      (fill_in_logfont): Set generic family based on adstyle.
 -
 -      * w32font.h (w32font_get_cache): Update declaration.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftfont.c (ftfont_get_cache): Adjust the argument type.
 -
 -      * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
 -      If none of the new drivers are available, call font_update_drivers
 -      with the old drivers.
 -
 -      * w32font.c (w32font_get_cache): Adjust the argument type.
 -
 -      * xfont.c (xfont_get_cache): Adjust the argument type.
 -
 -      * font.h (struct font_driver): Change argument type of get_cache.
 -
 -      * xftfont.c (xftfont_start_for_frame): Delete prototype.
 -
 -      * font.c (Ffont_get): Fix arguments to Fassoc.
 -      (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
 -      (font_clear_cache): New function.
 -      (font_list_entities, font_matching_entity): Use font_get_cache.
 -      (font_update_drivers): Call font_clear_cache when finishing a driver.
 -
 -      * fontset.c (fontset_find_font): Fix previous change.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
 -      dpyinfo->font_table.
 -      (x_delete_display) [USE_FONT_BACKEND]: Likewise.
 -      (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
 -
 -      * font.c (font_at): Handle the case that the arg C is negative.
 -      Handle the unibyte case.
 -      (Ffont_at): Call font_at with the arg C -1.
 -
 -      * xdisp.c (handle_auto_composed_prop): Don't get a character at
 -      the position here, and call font_at with the arg C -1.
 -      Don't check the range of the existing composition at the point.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * fontset.c (fontset_add): New args charset_id and family.
 -      Change caller.
 -      (load_font_get_repertory, fontset_find_font): Assume that
 -      font_spec is always a font-spec object.
 -      (Fset_fontset_font): Always store a font-spec object in a fontset.
 -
 -      * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
 -      instead of get_property_and_range.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xftfont.c (struct xftfont_info): Delete the member ft_face.
 -      (xftfont_open): Don't keep locking face.
 -      (xftfont_close): Don't unlock face.
 -      (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
 -
 -      * fontset.c (fontset_find_font): Don't prefer a font of
 -      supplementary charset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
 -      script, langsys_tag to langsys, new member script.
 -      (OTF_TAG_STR): Terminate by '\0'.
 -      (ftfont_get_open_type_spec): If :otf prop is spec, limit the
 -      listing to the script specified in that property.  Fix arg to
 -      OTF_check_features.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.h: New file.
 -
 -      * w32font.c: Include it.
 -      (struct w32font_info): Add owning_frame field.  Move to w32font.h.
 -      (w32font_open): Set owning_frame.
 -      (w32font_text_extents): Use owning_frame.
 -      (struct font_callback_data): Add opentype_only field.
 -      (add_font_entity_to_list): Use it to filter fonts.
 -      Don't check against full name.
 -      (w32font_list_internal): New function.
 -      (w32font_list): Use it.
 -      (w32font_match_internal): New function.
 -      (w32font_match): Use it.
 -      (w32font_open_internal): New function.
 -      (w32font_open): Use it.
 -      (w32font_get_cache, w32font_close, w32font_has_char)
 -      (w32font_encode_char, w32font_text_extents, w32font_draw):
 -      Make non-static.
 -
 -      * makefile.w32-in (w32font.o): Depend on w32font.h.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * charset.c (Fdefine_charset_internal): Record a supplementary
 -      charset at the tail of Vcharset_order_list.
 -
 -      * font.c (Ffont_shape_text): Fix the return value.
 -
 -      * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix previous change.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftfont.c (struct OpenTypeSpec): New struct.
 -      (OTF_SYM_TAG, OTF_TAG_STR): New macros.
 -      (ftfont_get_open_type_spec): New function.
 -      (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
 -
 -      * lread.c (read1): Redo the previous change with checking Vpurify_flag.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (add_font_entity_to_list): Compare only the beginning
 -      of full name.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Simplify the code.
 -      Never return HANDLED_RECOMPUTE_PROPS.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_gstring_produce): Delete it.
 -
 -      * composite.h (COMPOSITION_METHOD):
 -      Handle COMPOSITION_WITH_GLYPH_STRING.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfont.c (Qx): Delete.
 -      (syms_of_xfont): Don't initialize Qx.
 -
 -      * composite.h (enum composition_method):
 -      Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
 -      (choose_face_font): Accept new form of font-spec.
 -
 -      * frame.h (font_driver_list): Declare it unconditionally.
 -      (struct frame): Define members font_driver_list and font_data_list
 -      unconditionally.
 -
 -      * fontset.c: Include "font.h" unconditionally.
 -      (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
 -      (Fset_fontset_font): Accept a font-spec object.
 -
 -      * font.c (font_unparse_xlfd): If pixel_size is zero, make the
 -      PIXEL_SIZE part a wild card.
 -
 -      * dispextern.h (struct glyph_string): Define members clip and
 -      num_clips unconditionally.
 -      (struct face): Define members font_info and extra unconditionally.
 -
 -      * ftfont.c (ftfont_open): Set members maybe_otf and otf of
 -      ftfont_info only when HAVE_LIBOTF is defined.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
 -      and end.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_driver): Add new fields.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
 -      (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
 -      (LIBES): Add @M17N_FLT_CFLAGS@.
 -
 -      * composite.c (compose_text): Don't treat the new style
 -      composition specially.
 -
 -      * emacs.c (main): Call syms_of_font unconditionally.
 -
 -      * font.h (FONT_ENTITY_NOT_LOADABLE)
 -      (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
 -      (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
 -      (struct font_driver): New member shape.
 -      (font_registry_charsets): Extern it.
 -      (font_find_for_lface, font_prepare_composition): Adjust prototype.
 -      (font_otf_capability, font_drive_otf): Delete their externs.
 -
 -      * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
 -      (font_charset_alist, font_registry_charsets): Move from xfont.c
 -      and rename.
 -      (font_prop_validate_otf): New function.
 -      (font_property_table): Register it for QCotf.
 -      (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
 -      (font_drive_otf): Delete.
 -      (font_prepare_composition): New arg F.  Adjust for the change of
 -      lispy gstring.
 -      (font_find_for_lface): New arg C.
 -      (font_load_for_face): Adjust for the change of font_find_for_lface.
 -      (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
 -      lispy gstring.
 -      (Ffont_shape_text): New function.
 -      (Fopen_font): If the font size is not given, use 12-pixel.
 -      (Ffont_at): New arg STRING.
 -      (syms_of_font): Initialize font_charset_alist.
 -      Declare Ffont_shape_text as a Lisp function.  Call syms_of_XXfont
 -      conditionally.
 -
 -      * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
 -      fonts of the same font-spec.  Change the format of RFONT-DEF.
 -      (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
 -      Adjust for the change of RFONT-DEF.
 -      (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
 -
 -      * ftfont.h: New file.
 -
 -      * ftfont.c: Don't include Freetype headers.  Include "ftfont.h".
 -      (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
 -      (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
 -      (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
 -      font_otf_capability and font_drive_otf, set ftfont_shape.
 -      (ftfont_list): Adjust for the change of :otf property value.
 -      (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
 -      (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
 -      (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
 -      (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
 -      (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
 -      (otf_gstring, gstring, m17n_flt_initialized): New variables.
 -
 -      * w32term.c (x_draw_composite_glyph_string_foreground):
 -      Adjust for the change of lispy gstring.
 -
 -      * xdisp.c (handle_composition_prop): Adjust for the change of
 -      lispy gstring.  Call a function for auto-composition with the
 -      third arg it->window.
 -      (fill_composite_glyph_string): Adjust for the change of lispy string.
 -      (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
 -
 -      * xfaces.c (set_font_frame_param): Adjust for the change of
 -      font_find_for_lface.
 -
 -      * xfont.c (x_font_charset_alist): Move to font.c and rename.
 -      (xfont_registry_charsets): Likewise.  Change caller.
 -      (syms_of_xfont): Don't handle x_font_charset_alist.
 -
 -      * xftfont.c: Include "ftfont.h".
 -      (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
 -      (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
 -      (xftfont_close) [HAVE_LIBOTF]: Close otf.
 -      (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
 -      (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
 -      Set xftfont_driver.shape to xftfont_shape.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
 -      the change of lispy gstring.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_draw): Fill background manually.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c (Qfontp): Remove unused symbol.
 -      (QCantialias): New symbol.
 -      (syms_of_font): Define it.
 -      (font_property_table): Set a validator for QCantialias.
 -
 -      * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
 -      Define if not already.
 -      (QCfamily): Share with xfaces.c.
 -      (Qstandard, Qsubpixel, Qnatural): New symbols.
 -      (syms_of_w32font): Define them.  Don't define QCfamily here.
 -      (w32_antialias_type, lispy_antialias_type): New functions.
 -      (w32_enumfont_pattern_entity): New arg requested_font.
 -      Set antialias parameter if non-default was requested.
 -      (fill_in_logfont): Fill in lfQuality if :antialias specified.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * lread.c (read1): Undo the previous change.
 -
 -2008-02-01  CHENG Gao  <chenggao@gmail.com>  (tiny change)
 -
 -      * frame.c (Fdelete_frame): Call font_update_drivers only when
 -      USE_FONT_BACKEND is defined.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.h (struct font_bitmap): New member bits_per_pixel.
 -      (struct font_driver): New members start_for_frame and end_for_frame.
 -      (struct font_data_list): New struct.
 -      (font_put_frame_data, font_get_frame_data): Extern them.
 -
 -      * frame.h (struct frame): New member font_data_list.
 -
 -      * font.c (font_update_drivers): Call driver->start_for_frame and
 -      driver->end_for_frame at proper timings.
 -      (font_put_frame_data, font_get_frame_data): New functions.
 -      (Ffont_spec): Add usage in the docstring.
 -
 -      * frame.c (make_frame): Initialize f->font_data_list to NULL.
 -      (Fdelete_frame): Call font_update_drivers.
 -
 -      * xftfont.c (struct xftface_info): Delete the member xft_draw.
 -      (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
 -      (xftfont_get_xft_draw): New function.
 -      (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
 -      (xftfont_end_for_frame): New function.
 -      (syms_of_xftfont): Set xftfont_driver.end_for_frame.
 -
 -      * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
 -      Change argument.  Cache GCs in the per-frame data.
 -      (struct ftxfont_frame_data): New struct.
 -      (ftxfont_draw_bitmap): New arg gc_fore and flush.
 -      (ftxfont_prepare_face, ftxfont_done_face): Delete them.
 -      (ftxfont_draw): Get GCs by ftxfont_get_gcs.  Reflect s->clip in GCs.
 -      (ftxfont_end_for_frame): New function.
 -      (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
 -
 -      * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xselect.c (Vselection_coding_system)
 -      (Vnext_selection_coding_system): Delete them.
 -      (syms_of_xselect): Don't declare selection-coding-system and
 -      next-selection-coding-system.  They are declared in select.el.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
 -
 -      * w32fns.c: Include imm.h.
 -      (get_composition_string_fn, get_ime_context_fn): New optional
 -      system functions.
 -      (globals_of_w32fns): Load them from imm32.dll.
 -      (ignore_ime_char): New flag.
 -      (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
 -      WM_IME_ENDCOMPOSITION messages.
 -
 -      * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
 -      MULTIBYTE_CHAR_KEYSTROKE_EVENT.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
 -      (READCHAR_REPORT_MULTIBYTE): New macro.
 -      (readchar): New 2nd arg MULTIBYTE.
 -      (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
 -      Make symbol's name multibyte according to the multibyteness of the
 -      source.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c (face_for_overlay_string): Call lookup_face with
 -      correct arguments (fix of synching with the trunk).
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_prop_validate_symbol, font_prop_validate_style)
 -      (font_prop_validate_non_neg, font_prop_validate_spacing):
 -      Delete argument prop_index.
 -      (font_property_table): Change arguments to validater.  Change Callers.
 -      (font_lispy_object): Delete.
 -      (font_at): Use font_find_object instead fo font_lispy_object.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
 -      and file names.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (add_font_name_to_list): Avoid vertical fonts.
 -      (font_matches_spec): Remove debug output.
 -      (add_font_entity_to_list): Avoid using substituted fonts.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * doc.c (Fsnarf_documentation):
 -      * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * dispextern.h (struct glyph_row): Only define "clip" field if
 -      HAVE_WINDOW_SYSTEM is defined.
 -
 -2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Fix up multi-tty merge.
 -
 -      * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
 -      and indentation.
 -
 -      * xfaces.c (free_realized_face, clear_face_gcs):
 -      Include font_done_for_face in the input_blocked section, just in case.
 -
 -      * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
 -      (get_char_face_and_encoding): Undo last change and remove the *other*
 -      duplicate definition (i.e. keep the one that's better scoped and that
 -      includes code for the font-backend).
 -
 -      * terminal.c (create_terminal): Default keyboard_coding to
 -      `no-conversion' and terminal_coding to `undecided'.
 -
 -      * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
 -
 -      * fontset.c (free_realized_fontsets): Check that the table entry does
 -      contain a fontset before trying to compare it to `base'.
 -
 -      * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
 -      syms_of_charset, and syms_of_coding earlier because init_window_once
 -      now needs Vcoding_system_hash_table to be setup.
 -
 -      * coding.h (default_buffer_file_coding): Remove.
 -
 -      * coding.c (default_buffer_file_coding): Remove.
 -      (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
 -      than ->symbol, and use the terminal-local coding system.
 -      (syms_of_coding): Don't setup the coding-systems that are not
 -      terminal-local.
 -      (Fdefine_coding_system_internal): Use XCAR/XCDR.
 -
 -      * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
 -      Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
 -
 -      * alloc.c (Fmake_char_table, make_sub_char_table): Remove.  They're now
 -      in chartab.c and were re-added here by mistake.
 -      (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
 -
 -      * doc.c (Fsnarf_documentation):
 -      * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
 -      src to etc.
 -
 -      * ChangeLog.10: Add mistakenly removed entry.
 -
 -2008-02-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
 -      Add extra args to FACE_FOR_CHAR.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (where_is_internal_1): If key is a cons, store the copy
 -      in sequence.
 -
 -      * chartab.c (map_sub_char_table, map_char_table): If the range
 -      contains just one character, call the function with that character
 -      even if the depth is not 3.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Calculate metrics for the
 -      whole string.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_set_glyph_string_clipping): Use
 -      get_glyph_string_clip_rects.
 -      (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
 -      Adjust for the change of struct glyph_string.
 -
 -      * w32font.c (w32font_draw): Do clipping here.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_draw): Adjust for the change of struct
 -      glyph_string.
 -
 -      * xterm.c (x_set_glyph_string_clipping): Use
 -      get_glyph_string_clip_rects.
 -      (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
 -      Adjust for the change of struct glyph_string.
 -
 -      * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
 -      the resulting clip(s}.
 -      (expose_overlaps): Add arg r.  Change callers.  Set it to
 -      row->clip temporarily.
 -      (expose_window): Redraw rows overlapping the exposed area.
 -
 -      * dispextern.h (struct glyph_row): New member clip.
 -      (struct glyph_string): Delete members clip_x, clip_y, clip_width,
 -      clip_height, new member clip, and num_clips.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * data.c (Fchar_or_string_p): Fix docstring.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
 -      create a temporary XftDraw object.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffontp): Fix docstring.
 -
 -      * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
 -      strong evidence of ISO-2022.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
 -      SYNTAX_ENTRY_FOLLOW_PARENT.
 -
 -2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
 -      its type.
 -      (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
 -      Update to the new type of weak_hash_tables and next_weak.
 -
 -      * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
 -      a plain C pointer to Lisp_Hash_Table.
 -
 -      * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
 -      (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
 -      (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
 -      (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
 -      (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
 -      (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
 -      (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
 -      (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
 -      (GC_EQ): Remove since they've been identical to their non-GC_
 -      alter-egos ever since the markbit was eradicated.
 -
 -      * alloc.c:
 -      * buffer.c:
 -      * buffer.h:
 -      * data.c:
 -      * fileio.c:
 -      * filelock.c:
 -      * fns.c:
 -      * frame.h:
 -      * lisp.h:
 -      * macterm.c:
 -      * print.c:
 -      * process.c:
 -      * w32fns.c:
 -      * w32menu.c:
 -      * w32term.c:
 -      * xfns.c:
 -      * xmenu.c:
 -      * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * chartab.c (map_sub_char_table): Make it work for the top-level
 -      char-table.  Fix handling of parent char-table.
 -      (map_char_table): Adjust for the above change.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (Qgdi): Rename from Qw32.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32bdf.c (get_quoted_string): Make function static.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): If one of font's ASCII glyph has
 -      bigger ascent and descent than those of the font, use them as
 -      font's ascent and descent.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (${lispsource}international/charprop.el): Move this
 -      target within "#ifdef HAVE_UNIDATA" and "#endif".
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
 -      (shortlisp): Add ../lisp/language/tai-viet.el.
 -
 -2008-02-01  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * Makefile.in (${lispsource}international/charprop.el): Depend on
 -      temacs${EXEEXT}.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_close): Delete the GDI font object.
 -
 -      * w32menu.c: Include character.h.
 -
 -      * w32proc.c: Likewise.
 -
 -      * w32select.c: Likewise.
 -
 -      * makefile.w32-in (w32proc.o): Depend on character.h.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
 -
 -      * w32menu.c (syms_of_w32menu): Likewise.
 -
 -      * w32proc.c (syms_of_ntproc): Likewise.
 -
 -      * w32select.c (syms_of_w32select): Likewise.
 -
 -      * w32term.c (syms_of_w32term): Likewise.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_draw): Delete brush after using it.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open): Don't set font_idx.
 -      (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
 -      to font settings.
 -      (w32font_draw): Fill background explicitly.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Don't call w32font_initialize.
 -
 -      * w32font.c (w32font_info): Remove subranges.
 -      (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
 -      (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
 -      (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
 -      (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
 -      (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
 -      (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
 -      (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
 -      (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
 -      (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
 -      (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
 -      New symbols.
 -      (font_callback_data): New struct.
 -      (w32font_list, w32font_match): Use it.
 -      (w32font_open): Don't populate subranges.
 -      (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
 -      (w32font_encode_char): Always return unicode code-point as-is.
 -      (w32font_text_extents): Supply a transformation matrix to
 -      GetGlyphOutline.  Never look up by glyph index.  Avoid looping
 -      twice.  Use unicode version of GetTexExtentPoint32 instead of
 -      glyph index version.
 -      (set_fonts_frame): Remove.
 -      (w32_enumfont_pattern_entity): Add frame parameter, use it to
 -      set frame parameter.  Use backward compatible fake foundries.
 -      Save generic family in extra slot under QCfamily.  Make width slot
 -      constant.  Save QCspacing value.  Save list of scripts instead of
 -      binary subranges.
 -      (w32_generic_family, logfonts_match, font_matches_spec): New functions.
 -      (add_font_entity_to_list): Use font_callback_data struct.  Filter
 -      unwanted fonts.
 -      (add_one_font_entity_to_list): Use font_callback_data struct.
 -      (w32_registry): Default to iso10646_1.
 -      (fill_in_logfont): Use dpi from extra slot.  Don't bother with
 -      string font registries.  Don't fill in font name if it is a generic
 -      family name, fill family instead.  Use spacing, family and script
 -      extra info to fill pitch, family and charset fields.
 -      (list_all_matching_fonts): Use font_callback_data struct.
 -      (unicode_range_for_char): Remove.
 -      (font_supported_scripts): New function.
 -      (w32font_initialize): Remove.
 -      (syms_of_w32font): Update which symbols are defined.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c (font_pixel_size): Reverse assq_no_quit args.
 -
 -      * w32term.h (FONT_WIDTH): Report max width, not average.
 -      (FONT_MAX_WIDTH): Remove.
 -      (FONT_AVG_WIDTH): New macro.
 -
 -      * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
 -      redefinition of FONT_WIDTH.
 -
 -      * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
 -      (w32_cache_char_metrics): Use FONT_WIDTH.
 -
 -      * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open): Make lfHeight negative.
 -
 -      * w32fns.c (x_default_font_parameter): Use new style font name.
 -      (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (QCsubranges): New symbol.
 -      (w32font_open, w32font_has_char): Get subranges from subproperty
 -      of extra.
 -      (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
 -      (syms_of_w32font): Define :subranges symbol.
 -
 -      * font.c (font_put_extra): Expose externally.
 -
 -      * font.h (font_put_extra): Move declaration from font.c.
 -
 -      * font.c (Ffont_get): Use font driver to determine otf capability.
 -      (adjust_anchor): Check if driver defines anchor_point before using.
 -
 -      * w32font.c (w32font_open): Handle size, height and pixel_size better.
 -      (w32font_draw): Use options.
 -      (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
 -      Fix detection of truetype fonts.
 -      (registry_to_w32_charset): Handle charsets other than iso8859-1
 -      expressed as lisp symbols.
 -      (w32_registry): Express charset as lisp symbol.
 -      (fill_in_logfont): Reverse pixel and point height logic.
 -      Don't set width here.  Set quality to default.
 -
 -      * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
 -      (x_to_w32_font): Fill in lfPitchAndFamily correctly.
 -
 -      * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
 -      Remove redundant loop and allocation.
 -
 -      * makefile.w32-in (font.o, w32font.o): New objects.
 -      (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
 -      (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
 -
 -      * xdisp.c (fill_composite_glyph_string): Make the first arg to
 -      STORE_XCHARB a valid l-value.
 -
 -      * w32term.c (w32_native_per_char_metric): Swap width and rbearing
 -      calculations for non-Truetype fonts.
 -      (x_draw_glyph_string): Sync with xterm.c.
 -      (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
 -      Remove redundant code.
 -      (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
 -
 -      * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
 -      (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
 -
 -      * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
 -      (x_to_w32_charset, w32_to_x_charset): Expose externally.
 -
 -      * w32font.c: New file for w32 font backend.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c: Don't include "buffer.h" twice.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (Funibyte_string): New function.
 -      (syms_of_character): Defsubr it.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c [USE_FONT_BACKEND]:
 -      (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
 -      (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
 -      (x_draw_glyph_string, x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground, x_new_fontset2)
 -      (x_free_frame_resources): Sync with xterm.c.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
 -      char-table size.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_driver): Delete font_otf_gsub and
 -      font_otf_gpos, add font_drive_otf.
 -
 -      * fontset.c (fontset_find_font): Pay attention to font size
 -      specified for a font.
 -      (reorder_font_vector): Check contents of font_def.
 -
 -      * font.c (struct otf_list): Delete it.
 -      (otf_list): Make it a lisp variable.
 -      (otf_open): Use lispy otf_list.
 -      (generate_otf_features): Rename from parse_gsub_gpos_spec.
 -      (check_otf_features): New function.
 -      (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
 -      New functions.
 -      (font_drive_otf): New function merging font_otf_gsub and
 -      font_otf_gpos.
 -      (font_open_for_lface): New arg spec.  Change argument order.
 -      (font_load_for_face): Adjust for the change of font_open_for_lface.
 -      (Ffont_drive_otf): New function merging Ffont_otf_gsub and
 -      Ffont_otf_gpos.
 -      (syms_of_font): Staticpro otf_list.  Delete defsubr of
 -      Sfont_otf_gsub and Sfont_otf_gpos.  Defsubr Sfont_drive_otf.
 -
 -      * xfaces.c (set_font_frame_param): Adjust for the change of
 -      font_open_for_lface.
 -
 -      * font.h (font_open_for_lface): Adjust prototype.
 -      (struct font_driver): Delete members otf_gsub and otf_gpos, add
 -      member otf_drive.
 -      (font_otf_gsub, font_otf_gpos): Delete externs.
 -      (font_drive_otf): Extern it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_at): If the window W is not on a window system,
 -      return Qnil.
 -
 -      * coding.c (produce_chars, encode_coding): Don't call
 -      insert_from_gap if no characters to produce.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (free_realized_fontsets): Avoid unnecessary call of
 -      Fclear_face_cache.
 -
 -      * xfaces.c (face_for_font): Check also face->font==font->font.font.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * emacs.c (main): Change default value of `enable_font_backend' to 1.
 -      Parse "--disable-font-backend" option.
 -      (standard_args): Add "--disable-font-backend" option.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): New function.
 -      (fontset_font): Use fontset_find_font.
 -      (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
 -      Register the specified font for all Latin characters.
 -      (new_fontset_from_font): Register the specified font for all Latin
 -      characters.
 -      (dump_fontset): For a realized fontset, include the base fontset
 -      name in the returned vector.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (CHAR_STRING): Cast C to unsigned on calling
 -      char_string.
 -
 -      * character.c (char_string): Type of arg C changed to unsigned.
 -      Signal an error if C is an invalid character code.
 -
 -      * editfns.c (general_insert_function, Fchar_to_string):
 -      Use CHARACTERP, not INTEGERP.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (MIN_MULTIBYTE_LEADING_CODE)
 -      (MAX_MULTIBYTE_LEADING_CODE): New macros.
 -
 -      * regex.c (analyse_first): Fix for multibyte characters in "case
 -      charset:" and "case categoryspec:".
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (LIBES): Move standard libraries to the end.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
 -      nonzero, don't shrink the buffer nextb.
 -
 -      * buffer.h (struct buffer_text): New member inhibit_shrinking.
 -
 -      * coding.c (coding_alloc_by_making_gap): New arg offset.
 -      (alloc_destination): Call coding_alloc_by_making_gap with the arg
 -      offset.
 -      (decode_coding_iso_2022): Update coding->safe_charsets.
 -      (decode_coding_gap): Temporarily set
 -      current_buffer->text->inhibit_shrinking to 1.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Fix
 -      indexing into elements of s->cmp and s->char2b.
 -
 -2008-02-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
 -      target_multibyte instead of multibyte.
 -      (re_match_2_internal): Call bcmp_translate with target_multibyte.
 -      (bcmp_translate): Change the argument name from multibyte to
 -      target_multibyte.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are to compile a regexp into a pattern that can be
 -      used both for multibyte and unibyte targets.
 -
 -      * Makefile.in (search.o): Depend on charset.h.
 -
 -      * character.c (multibyte_char_to_unibyte_safe): New function.
 -
 -      * search.c: Include "charset.h".
 -      (compile_pattern_1): Delete argument multibyte.  Don't set
 -      cp->buf.target_multibyte here.  Set cp->buf.charset_unibyte.
 -      (compile_pattern): Don't compare cp->buf.target_multibyte.
 -      Compare cp->buf.charset_unibyte.
 -      (compile_pattern): Set cp->buf.target_multibyte.
 -
 -      * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
 -
 -      * regex.h (struct re_pattern_buffer): New member charset_unibyte.
 -
 -      * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
 -      multibyte.  Change callers.
 -      (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
 -      (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete.  Change callers
 -      to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
 -      (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
 -      (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
 -      (regex_compile): Make the compiled pattern usable both for
 -      multibyte and unibyte targets.
 -      (analyse_first): Make the fastmap usable both for multibyte and
 -      unibyte targets.
 -      (TRANSLATE_VIA_MULTIBYTE): Delete.
 -      (re_match_2_internal): Pay attention to the case that the
 -      multibyteness of bufp and target may be different.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_produce_glyphs): When a font is not found, make the
 -      empty box occupy at least one column width.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * Makefile.in: Remove redundant HAVE_XFT clause.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xrdb.c (x_load_resources): Setup the default fontSet X resource.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Finternal_char_font): Fix for the case of POSITION
 -      being nil.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Call FcConfigSubstitute.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Don't enable antialias explicitly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (simple_search): Fix previous change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (ftfont_font_format): Extern declaration.
 -
 -      * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
 -
 -      * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
 -      (xfont_list): Don't directly use Lisp_Object as an operand of &&.
 -
 -      * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
 -      (ftfont_font_format): Fix previous change.
 -
 -      * font.h (Ffont_xlfd_name): EXFUN it.
 -
 -      * font.c (font_parse_xlfd): Fix the array size of `f'.
 -      (register_font_driver): Use EQ to compare driver->type.
 -
 -      * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
 -      (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
 -      (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
 -      (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Set font->format.
 -
 -      * xftfont.c (xftfont_open): Set font->format.
 -
 -      * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
 -      (ftfont_list): Include FC_FONTFORMAT in FcObject.
 -      (ftfont_open): Set font->format.
 -      (ftfont_font_format): New function.
 -
 -      * font.h (struct font): New member format.
 -
 -      * font.c (Qopentype): New variable.
 -      (syms_of_font): Defsym it.
 -      (Fquery_font): Change the format of the last element of the return
 -      value.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfns.c (xic_create_xfontset): Try the default fontset name as a
 -      last resort.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_charset): Fix detection of multi-byte
 -      charset.
 -
 -2008-02-01  Bob Halley  <halley@play-bow.org>  (tiny change)
 -
 -      * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): Set it->face_id for the
 -      first component of a composition.
 -      (x_produce_glyphs): Check if the font is changed or not for composition.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Qlatin): New variable.
 -      (syms_of_fontset): Define it as a lisp symbol.
 -      (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_unparse_fcname): Pay attention to the case that
 -      some of font property is a null string.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c: Include "composite.h".
 -      (encode_terminal_code): Output all components of composition.
 -      Check the size of encode_terminal_src.
 -      (produce_glyphs): For composition, call produce_composite_glyph.
 -      (append_composite_glyph, produce_composite_glyph): New functions.
 -
 -      * xdisp.c (x_produce_glyphs): In handling composition, if a font
 -      is not found, get font_info from the current ascii face.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): On replacing, temporarily bind
 -      buffer-file-name to Qnil before calling insert_from_buffer.
 -
 -      * font.c (font_unparse_fcname): Pay attention to the case that
 -      foundry is a null string.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_list): Allow registry "unicode-sip".
 -
 -      * font.c (Qunicode_sip): New variable.
 -      (syms_of_font): Declare it as a Lisp symbol.
 -
 -      * font.h (Qunicode_sip): Extern it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (get_composition_id): Pay attention to TAB component.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
 -      TAB.  Adjust for the change of s->char2b which always points to
 -      the first element of allocated memory.
 -
 -      * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
 -
 -      * xdisp.c (handle_composition_prop): Set it->c to the first
 -      non-TAB component.
 -      (fill_composite_glyph_string): Change argument.
 -      (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
 -      (x_produce_glyphs): Fix handling of left/right padding.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_system): Fix for handling off
 -      inhibit_iso_escape_detection.  Fix for the case that no coding
 -      system is defined for a specific coding category.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_matching_entity): Delete unused local var.
 -
 -      * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
 -      opening a font.
 -
 -      * fileio.c (Finsert_file_contents): On recovering a file, assume
 -      Unix-like eol.
 -      (choose_write_coding_system): On auto-saving a file, force
 -      Unix-like eol.
 -
 -      * coding.c (setup_coding_system): Fix setting of
 -      coding->common_flags based on eol_type.
 -      (coding_inherit_eol_type): If PARENT is not nil, be sure to
 -      inherit from it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * alloc.c (NSTATICS): Increas to 0x600.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
 -      (ftfont_list): Don't check :name property.
 -      (ftfont_match): New function.
 -      (ftfont_pattern_entity): If the pattern doesn't contain
 -      FC_SPACING, don't assume FC_MONO.
 -
 -      * font.h (struct font_driver): New member `match'.
 -      (font_update_drivers): Adjust prototype.
 -
 -      * font.c (font_parse_fcname, font_parse_name): Don't change :name
 -      property of FONT.
 -      (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
 -      them unconditionally.
 -      (font_matching_entity): New function.
 -      (font_open_by_name): Try font_matching_entity if exact match is
 -      not found.
 -      (font_update_drivers): Delete the arg FONT.  Return a list of
 -      actually used backends.  Don't free faces, font caches here.
 -      Don't store data in frame parameters.  Don't call x_set_font.
 -      (Ffont_spec): Store :name property as is.
 -      (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
 -      (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
 -      (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
 -      (Ffont_otf_alternates): Check if the driver has otf_gsub function.
 -      Call font->driver->otf_gsub instead of font_otf_gsub.
 -
 -      * frame.c (x_set_font_backend): Do more works that were done in
 -      font_update_drivers before.
 -
 -      * xfont.c (xfont_match): New function.
 -      (xfont_driver): Set xfont_driver.match to xfont_match.
 -      (xfont_draw): Set font in GC if necessary.
 -
 -      * ftxfont.c (ftxfont_match): New function.
 -      (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
 -
 -      * xftfont.c (xftfont_match): New function.
 -      (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (struct font): New member scalable.
 -      (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
 -      (font_otf_gsub): Adjust prototype.
 -
 -      * font.c (font_otf_capability): Fix handling of the default langsys.
 -      (parse_gsub_gpos_spec): Change type to void.  New arg nbytes.
 -      Check the contents of SPEC.
 -      (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
 -      (check_gstring): New function.
 -      (REPLACEMENT_CHARACTER): New macro.
 -      (font_otf_gsub): New arg alternate_subst.  Be sure to set all
 -      glyph codes of GSTRING.
 -      (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
 -      (font_prepare_composition): Set cmp->glyph_len.
 -      (font_open_entity): Set font->scalable.
 -      (Ffont_get): Handle :otf property.
 -      (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
 -      functions.
 -      (Fquery_font): Use font->font.full_name.
 -      (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
 -      Sfont_otf_alternates.
 -
 -      * ftfont.c (ftfont_open): Set font->font.full_name and
 -      font->font.name properly.  Fix calculation of font->font.height
 -      and font->min_width.
 -
 -      * ftxfont.c (ftxfont_create_gcs): New function.
 -      (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
 -      (ftxfont_draw_backgrond): Fix filling region.
 -      (ftxfont_default_fid): New function.
 -      (ftxfont_open): Set xfont->fid to the return value of
 -      ftxfont_default_fid.
 -      (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
 -      (ftxfont_done_face): Free only GCs that are created by
 -      ftxfont_create_gcs.
 -      (ftxfont_draw): If face->gc != s->gc, create proper GCs.
 -
 -      * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
 -      Clip to src->width, etc (not src->clip_XXX).
 -
 -      * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
 -      FontBackend frame parameter.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (struct font_driver_list): New member `on'.
 -      (Fclear_font_cache): EXFUN it.
 -      (font_update_drivers): Extern it.
 -
 -      * font.c (font_unparse_fcname): Fix typo (swidth->width).
 -      (font_list_entities): Check driver_list->on.
 -      (register_font_driver): Initialize `on' member to 0.
 -      (font_update_drivers): New function.
 -      (Fclear_font_cache): Check driver_list->on.
 -
 -      * frame.h (Qfont_backend): Extern it.
 -      (x_set_font_backend): Extern it.
 -
 -      * frame.c (Qfont_backend): New variable.
 -      (frame_parms): New element for font-backend.
 -      (x_set_font_backend): New function.
 -
 -      * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
 -      FontBackend frame parameter.
 -      (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
 -      x_set_font_backend.
 -
 -      * xfont.c (xfont_list): Don't try listing by :name property if the
 -      name is not for XLFD.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
 -      (LGLYPH_SET_TO): New macros.
 -      (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
 -      element of G is vector or not.
 -      (font_at): Extern it.
 -
 -      * font.c: Include window.h.
 -      (font_lispy_object): New function.
 -      (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
 -      end of valid glyph.
 -      (font_close_object): Fix getting (struct font *).
 -      (font_at): New function.
 -      (Ffont_get): If FONT is a font-object, get entity from it.
 -      (Ffont_make_gstring): Initialize elements of glyphs with nil.
 -      (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX.  Fix
 -      range check.
 -      (Ffont_at): New function.
 -      (syms_of_font): Defsubr Sfont_at.
 -
 -      * xdisp.c (it_props): Move the entry for Qauto_composed to just
 -      before the entry for Qcomposition.
 -      (handle_auto_composed_prop): Call auto-composition-function with 4 args.
 -      (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
 -      the font in gstring.
 -      (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
 -      LGLYPH_FORM (g) to detect the end of valid glyph.
 -      (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
 -      we are composing with gstring.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
 -      Check if adjustment is vector or not.
 -
 -      * Makefile.in (font.o): Make it depends on window.h.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Check if
 -      adjustment is vector or not.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
 -      (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
 -      (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
 -
 -      * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
 -      (DEVICE_DELTA): Fix typo.
 -      (font_otf_gpos, font_prepare_compositio): Adjust for the change of
 -      LGLYPH format.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
 -      the change of LGLYPH format.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_list): Fix typo.
 -      (ftfont_build_basic_charsets): Don't include letters with diacritics.
 -
 -2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
 -
 -      * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
 -      xftface_info is non-NULL.
 -
 -2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * ftfont.c (ftfont_list): Move misplaced #endif.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_list): Pay attention to the case that
 -      FC_CAPABILITY is not defined.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Set charset related members to -1.
 -
 -      * ftfont.c (ftfont_list): Handle QCotf property.  Fix handling of
 -      QCname.
 -      (ftfont_open): Set charset related members to -1.
 -
 -      * fontset.c (Votf_script_alist): New variable.
 -      (syms_of_fontset): Initialize it.
 -      (fontset_font): Delete unused variable.
 -
 -      * fontset.h (Votf_script_alist): Extern it.
 -
 -      * font.c (font_find_for_lface): Optimize code.
 -
 -      * font.h (font_close_object, font_merge_old_spec): Extern them.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
 -      (syms_of_font): Initialize them.
 -      (font_pixel_size): Allow float value in dpi.
 -      (font_prop_validate_type): Delete.
 -      (font_prop_validate_symbol, font_prop_validate_style): Change argument.
 -      Change caller.
 -      (font_prop_validate_non_neg): Rename from font_prop_validate_size.
 -      (font_prop_validate_extra): Delete.
 -      (font_prop_validate_spacing): New function.
 -      (font_property_table): Add elements for all known properties.
 -      (get_font_prop_index): Rename from check_font_prop_name.  New
 -      argument FROM.  Change caller.
 -      (font_prop_validate): Validate all known properties.
 -      (font_put_extra): Delete argument force.  Change caller.
 -      (font_expand_wildcards): Make it static.  Fix the way of shrinking
 -      the possible range.
 -      (font_parse_xlfd): Delete argument merge.  Fix handling of RESX,
 -      RESY, SPACING, and AVGWIDTH.  Don't validate property values here.
 -      Change caller.
 -      (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
 -      (font_parse_fcname): Delete argument merge.  Fix parsing of point
 -      size.  Don't validate properties values here.  Change caller.
 -      (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
 -      (font_open_by_name): Delete unused variable.
 -      (Ffont_spec): Likewise.  Validate property values.
 -      (Ffont_match_p): New function.
 -
 -      * font.h (QCscalable): Extern it.
 -      (font_parse_xlfd, font_parse_fcname): Adjust prototype.
 -
 -      * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
 -
 -      * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
 -      (xfont_list_pattern): New function.
 -      (xfont_list): Use xfont_list_pattern.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (Flist_fonts): EXFUN it.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Add back smoothing_type and
 -      smoothing_enabled definitions.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
 -      s->face->font on determining underline position.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
 -      (font_has_char): Accept font-object too.
 -      (font_find_for_lface): Try at first with a size specified in face.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
 -      font_open_by_name.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (QCspacing, QCdpi): Extern them.
 -      (enum font_spacing): New enum.
 -      (FONT_PIXEL_SIZE_QUANTUM): New macro.
 -
 -      * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
 -      (QCspacing, QCdpi): New variables.
 -      (syms_of_font): Initialize them.
 -      (font_pixel_size): New function.
 -      (font_put_extra): New function.
 -      (font_parse_xlfd): Fix handling of font size.  Add QCdpi property
 -      in FONT_EXTRA.
 -      (font_parse_fcname): Handle enumerated values (e.g. bold).
 -      Fix handling font size.  Add QCname property that contains only
 -      unknown properties.
 -      (font_score): Change argument.  Change caller.  Pay attention to
 -      FONT_PIXEL_SIZE_QUANTUM.
 -      (font_sort_entites, font_list_entities, font_find_for_lface)
 -      (font_open_for_lface, font_open_by_name): Fix handling of font size.
 -      (Ffont_spec): Add QCname property that contains only unknown properties.
 -
 -      * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq.  Don't
 -      include weight in listing pattern, instead check weight of each
 -      listed font.  Don't include scalable in pattern.  Pay attention to
 -      FONT_PIXEL_SIZE_QUANTUM.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_fcname): Fix parsing of point-size.
 -      (font_unparse_fcname): Produce symbolic names for style properties.
 -      (font_list_entities): Handle float size correctly.
 -      (font_open_by_name): Prefer `normal' property values if the name
 -      doesn't specify them.
 -
 -      * fontset.c (Finternal_char_font): Use font_get_name, not
 -      Ffont_xlfd_name.
 -
 -      * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
 -      FC_WEIGHT_REGULAR.  Exclude FC_SIZE and FC_PIXEL_SIZE from listing
 -      pattern.  Don't force scalable.
 -
 -      * xftfont.c (xftfont_open): For generating a name, start from
 -      96-byte buffer.
 -
 -2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.h (x_new_fontset2): Fix prototype.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (struct font_driver): Delete member parse_name.
 -      (font_match_p, font_get_spec, font_parse_fcname)
 -      (font_unparse_fcname): Extern them.
 -      (font_get_name): Adjust prototype.
 -
 -      * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
 -      (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
 -      (font_expand_wildcards): Fix handling ENCODING field.  Avoid
 -      unnecessary checks for weight, slant, and swidth.
 -      (font_parse_fcname): New function.
 -      (font_unparse_fcname): New function.
 -      (font_parse_name): New function.
 -      (font_match_p): New function.
 -      (font_get_name): Change return value to Lisp string.
 -      (font_get_spec): New function.
 -      (Qunspecified, Qignore_defface): Don't extern them.
 -      (font_find_for_lface): Assume that LFACE is fully specified.
 -      (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
 -      object, use it for FACE.
 -      (font_open_by_name): Call Ffont_spec with QCname prop.  Don't call
 -      driver->parse_name.
 -      (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
 -
 -      * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
 -      prototype.
 -
 -      * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
 -      argument F.  Don't call Fnew_fontset.  Instead, directly call
 -      make_fontset.
 -
 -      * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
 -
 -      * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
 -      of x_new_fontset2.
 -
 -      * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
 -      (Qsans__serif): New variables.
 -      (ftfont_generic_family_list): New variable.
 -      (syms_of_ftfont): Initialize the above variables.
 -      (ftfont_pattern_entity): Delete argument NAME.
 -      (ftfont_list_generic_family): New function.
 -      (ftfont_parse_name): Delete this function.
 -      (ftfont_list): Try generic family only when FcFontList found no font.
 -      (ftfont_list_family): Fix args to FcObjectSetBuild.
 -
 -      * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
 -      object in attrs[LFACE_FONT_INDEX].
 -      (set_lface_from_font_name): Cancel all changes for font-backend.
 -      (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
 -      function.
 -      (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
 -      font object in QCfont attribute.
 -      (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
 -      (realize_default_face) [USE_FONT_BACKEND]: Call
 -      set_lface_from_font_and_fontset.
 -
 -      * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
 -      "fixed", and signal error here if no suitable font was found.
 -
 -      * xfont.c (xfont_parse_name): Delete this function.
 -
 -      * xftfont.c (xftfont_open): Change coding style of error
 -      handling.  Generate fontconfig's fontname pattern.
 -
 -      * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
 -      (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
 -
 -      * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
 -      Both args FONTSET and FONT_OBJECT must be existing ones.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open, xfont_encode_char): Fix typo.
 -
 -      * font.h (struct font): Fix typo.
 -
 -      * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
 -      XLFD_XXX_INDEX.
 -      (enum xlfd_field_mask): New enum.
 -      (intern_font_field): Changed argument.  Change caller.  If digits
 -      are followed by non-digits, return a symbol.
 -      (font_expand_wildcards): New function.
 -      (font_parse_xlfd): Fix wildcard handling.
 -      (Ffont_spec): If :name is specified, reflect the info in the other
 -      properties.
 -
 -      * ftfont.c (ftfont_pattern_entity): Fix typo.
 -      (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
 -      locale.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
 -
 -      * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
 -      (font_unparse_xlfd): Fix argument type declaration.  Append "*" if
 -      registry doesn't specify encoding part.
 -      (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
 -      (font_open_by_name): At first try parsing the name.
 -      (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
 -      as Lisp symbols.
 -
 -      * fontset.c (reorder_font_vector): Pay attention to the case that
 -      the 3rd element of font_def is nil.
 -      (fontset_font): For the default fontset, append one more fontset
 -      elements for a script-based font specification.  Don't add script
 -      attribute on finding a font.
 -      (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
 -      font name.
 -      (fontset_ascii_font): If a font can't be opened, return nil.
 -
 -      * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
 -      (ftfont_pattern_entity): New function.
 -      (ftfont_get_cache): Assume that freetype_font_cache is already
 -      initialized.
 -      (ftfont_list): Handle the case that a file is specified in font
 -      name.  Use ftfont_pattern_entity to generate entities.
 -      (ftfont_has_char): Check if the pattern contains FC_CHARSET.
 -      (syms_of_ftfont): Initialize freetype_font_cache.
 -
 -      * xftfont.c (xftfont_open): Make the font name fontconfig's
 -      style.  Add BLOCK_INPUT and UNBLOCK_INPUT.
 -      (xftfont_close): Free font->font.name if not NULL.
 -
 -      * xfont.c (xfont_list): If script is specified for a font, return
 -      null_vector.
 -      (xfont_list_family): Declare argument type.
 -
 -      * xfaces.c (set_lface_from_font_name): If a font doesn't have a
 -      name, set LFACE_FONT (lface) to nil.
 -
 -      * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
 -      return Qnil.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
 -      (standard_args): Add "-enable-font-backend".
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_default_fid): Set fid_known to 1.
 -      (struct xftdraw_list, xftdraw_list): Delete them.
 -      (register_xftdraw, check_xftdraw): Delete them.
 -      (xftfont_prepare_face): Don't call register_xftdraw.
 -      (xftfont_done_face): Don't call check_xftdraw.
 -      (xftfont_draw): Get background color only when with_background is
 -      nonzero.
 -
 -      * xfont.c (xfont_encode_char): Fix calculation of char2b.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are for the new font handling codes.
 -
 -      * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
 -      @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
 -      (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
 -      (FONTSRC, FONTOBJ): New variables.
 -      (obj): Add $(FONTOBJ).
 -      (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
 -      (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
 -      @LIBOTF_LIBS@.
 -      (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
 -      (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
 -
 -      * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
 -
 -      * character.h (Vscript_representative_chars): Extern it.
 -
 -      * character.c (Vscript_representative_chars): New variable.
 -      (syms_of_character): Declare it as a Lisp variable.
 -
 -      * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
 -      enable_font_backend is nonzero, accept the composition method
 -      COMPOSITION_WITH_GLYPH_STRING.
 -
 -      * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
 -      enumeration COMPOSITION_WITH_GLYPH_STRING.
 -
 -      * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
 -      members clip_x, clip_y, clip_width, and clip_height.
 -      (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
 -
 -      * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
 -      --enable-font-backend.  Call syms_of_font.
 -
 -      * fns.c (assoc_no_quit): New function.
 -
 -      * fontset.h (FONT_INFO_FROM_FACE): New macro.
 -      (face_for_font, new_fontset_from_font)
 -      (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
 -
 -      * fontset.c [USE_FONT_BACKEND]: Include "font.h".
 -      (fontset_font, fontset_ascii, face_for_char)
 -      (make_fontset_for_ascii_face, Ffont_info)
 -      (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
 -      is nonzero, use font-backend mechanism.
 -      (find_font_encoding): Make it non-static.
 -      (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
 -      New functions.
 -
 -      * frame.h (struct frame): New members resx and resy.
 -      (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
 -      (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
 -
 -      * frame.c [USE_FONT_BACKEND]: Include "font.h".
 -      (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
 -
 -      * lisp.h (assoc_no_quit): Extern it.
 -
 -      * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
 -      Through out the file, use FONT_INFO_FROM_FACE instead of
 -      FONT_INFO_FROM_ID, use get_per_char_metric instead of
 -      rif->per_char_metric.
 -      (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
 -      method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
 -      (get_glyph_face_and_encoding, fill_composite_glyph_string)
 -      (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
 -      (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
 -      nonzero, use font-backend mechanism.
 -      (get_per_char_metric): New function.
 -
 -      * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
 -      (set_lface_from_font_name)
 -      (set_font_frame_param, free_realized_face)
 -      (prepare_face_for_display, clear_face_gcs)
 -      (Finternal_set_font_selection_order, realize_x_face)
 -      [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
 -      font-backend mechanism.
 -      (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
 -      (load_face_font) [USE_FONT_BACKEND]: Abort.
 -      (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
 -      (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
 -
 -      * xfns.c [USE_FONT_BACKEND]: Include "font.h".
 -      (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
 -      (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
 -      nonzero, register all available font drivers.  Call
 -      x_default_font_parameter for deciding a font.
 -      (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
 -
 -      * xterm.c [USE_FONT_BACKEND]: Include "font.h".
 -      (x_set_mouse_face_gc, x_set_glyph_string_clipping)
 -      (x_set_glyph_string_clipping_exactly)
 -      (x_compute_glyph_string_overhangs)
 -      (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
 -      (x_free_frame_resources) [USE_FONT_BACKEND]: If
 -      enable_font_backend is nonzero, use font-backend mechanism.
 -      (x_new_fontset2) [USE_FONT_BACKEND]: New function.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
 -      system_eol_type.
 -      (syms_of_coding): Initialize system_eol_type.
 -
 -      * process.c (Fset_process_coding_system): Inherit system's eol
 -      format if necessary.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_eol): Pay attention to buffer relocation in
 -      del_range_2.
 -      (decode_coding): Call decode_eol before restoring undo_list.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fdefine_charset_internal): Fix setting of
 -      emacs_mule_bytes.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keyboard.c (read_char): Check if C is a character or not before
 -      looking up Vkeyboard_translate_table.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
 -      condition to terminate the loop.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (produce_composition): Compare charbuf[i] instead of
 -      args[i] against 0.
 -      (Fterminal_coding_system): Use EQ to compare Lisp objects.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (DECODE_COMPOSITION_START): If the source is short, set
 -      coding->result to CODING_RESULT_INSUFFICIENT_SRC.
 -      (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
 -      detect_coding.
 -      (emacs_mule_char): Handle old style (Emacs 20) component character
 -      of a composition.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
 -      (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
 -      composition rule.
 -      (decode_coding_emacs_mule): Handle invalid bytes correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_ccl): Allocate destination dynamically
 -      when necessary.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
 -      the loop.  When quitted, show a proper error message.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_set_glyph_string_clipping_exactly): Set
 -      src->clip_head and src->clip_tail temporarily instead of src->hl.
 -
 -      * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
 -      character sequence.
 -      (Fccl_execute_on_string): Use ASET, not XSET.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding): Fix the condition of terminating the
 -      decoding loop.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * data.c (Faset): On setting a character bigger than 255 in a
 -      unibyte string, signal an error instead of make the string multibyte.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (map_charset_chars): Fix for ascii-compatible charset
 -      made by a mapping table.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
 -      not.
 -      (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
 -      (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Check
 -      s->face is NULL or not.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_set_glyph_string_clipping_exactly): New function.
 -      (x_draw_glyph_string): Fix drawing of right_overhang and
 -      left_overhang around/on cursor.
 -
 -      * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_produce_glyphs): Handle composition with TAB.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fdefine_coding_system_internal)
 -      (Fdefine_coding_system_alias): Avoid a duplicated element in
 -      Vcoding_system_alist.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
 -
 -      * coding.c (Qcoding_system_define_form): New variable.
 -      (syms_of_coding): Intern and staticpro it.
 -      (Fcoding_system_p): Check Qcoding_system_define_form.
 -      (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
 -
 -      * coding.h (CODING_SYSTEM_P): If ID is not available, call
 -      Fcoding_system_p.
 -      (CHECK_CODING_SYSTEM): If ID is not available, call
 -      Fcheck_coding_system.
 -      (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
 -      Try also Fcheck_coding_system.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (code_conversion_restore): GCPRO arg.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (lisp_string_width): Check multibyteness of STRING.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_encode_char): Call ccl_driver with the last arg
 -      Qnil.  Use JIS_TO_SJIS instead of ENCODE_SJIS.
 -      (decode_mac_font_name): Use decode_coding_c_string instead of
 -      decode_coding.
 -      (x_load_font): Initialize fontp->fontset to -1.  Set
 -      fontp->encoding_type.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (search_buffer): Give up BM search on case-fold-search
 -      if one of a target character has a case-equivalence of different
 -      byte length even if that target character is an ASCII.
 -      (simple_search): Fix calculation of byte length of matched text.
 -      (boyer_moore): Fix handling of case-equivalent multibyte characters.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding): Fix handling of invalid bytes.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
 -      Unicode characters.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_object): If a pre-write-conversion
 -      function makes a new buffer, kill it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (QCascii_compatible_p): New variable.
 -      (syms_of_coding): Initialize it.
 -      (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
 -      calling string_char.
 -      (record_conversion_result): Add `default:' case.
 -      (coding_charset_list): Delete unused variable `coding_type'.
 -      (Fdefine_coding_system_internal): Add `ascii-compatible-p'
 -      property in the plist of the coding system.
 -      (Fcoding_system_put): Check QCascii_compatible_p.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
 -      removed calculation of frame `f', as it's now used.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
 -      (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
 -      (UNIDATA): New variable.
 -      (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
 -      (bootstrap-emacs${EXEEXT}): Depends on charprop.el.  Run
 -      $(RUN_TEMACS) unconditionally.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
 -      (admindir): New variable.
 -      ($(lispsource)international/charprop.el): New target.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * character.c (chars-in-region): Remove obsolete function.
 -      (syms_of_character): Remove its initialization.
 -
 -2008-02-01  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
 -
 -      * w32select.c (validate_coding_system)
 -      (setup_windows_coding_system): New functions.
 -      (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
 -      setup_windows_coding_system.
 -      (setup_config, Fw32_get_clipboard_data): Use
 -      validate_coding_system.
 -      (Fx_selection_exists): Move call to setup_config to a place
 -      where signals are allowed.
 -
 -      * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
 -      (Fcheck_coding_system): Add declarations.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (load_charset_map_from_vector): Fix for the first iteration.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
 -      string as the second argument for x_new_fontset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_object): Use safe_call1 instead of call1.
 -      (encode_coding_object): Use safe_call instead of call2.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fset_fontset_font): Check family element of a given vector.
 -
 -      * Makefile.in (lisp): Include charprop.el.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
 -      Not sure if it's unnecessary.
 -
 -2008-02-01  Steven Tamm  <steventamm@mac.com>
 -
 -      * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
 -      some possibly unnecessary fontset checking code that crashed
 -      when creating a new frame.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
 -      lookup_face.
 -
 -      * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
 -
 -      * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c: Cancel the change done in HEAD on 2008-02-01.
 -      (coding_charset_list): New function.
 -
 -      * coding.h (coding_charset_list): Extern it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fset_fontset_font): Call find_font_encoding with
 -      concatenation of family and registry.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (BYTE8_STRING): Fix typo.
 -
 -      * editfns.c (Ftranslate_region_internal): Don't convert unibyte
 -      string to multibyte (sync to HEAD).
 -
 -      * casefiddle.c (casify_region): Handle changes in byte-length
 -      using replace_range_2 (sync to HEAD).
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * chartab.c (map_char_table): GCPRO table and arg.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
 -      already at limit.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fs_load_font): Use fast_string_match_ignore_case
 -      instead of fast_c_string_match_ignore_case.
 -      (find_font_encoding): Change argument to Lisp_Object.  Use
 -      fast_string_match_ignore_case instead of
 -      fast_c_string_match_ignore_case.  Change caller.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): In unibyte case, decide to
 -      display in octal form by checking a character by
 -      UNIBYTE_CHAR_HAS_MULTIBYTE_P.
 -
 -      * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
 -
 -      * character.c (unibyte_has_multibyte_table): New variable.
 -
 -      * character.h (unibyte_has_multibyte_table): Extern it.
 -      (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_iso_2022): Fix handling of charset
 -      annotation.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (setup_coding_system): If coding_system is nil, use
 -      Qundecided.
 -      (Fterminal_coding_system): Return nil if terminal coding system is
 -      `undecided'.
 -      (syms_of_coding): Define coding-system `undecided' here.  Setup
 -      terminal_coding as `undecided'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (message_dolog, set_message_1): Call
 -      unibyte_char_to_multibyte with arg type int.
 -
 -      * lread.c (read1): Fix reading of a char-table.
 -
 -      * print.c (print_object): Include sub char-table in circularities
 -      detection.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
 -      Append the found sequences in car of ARGS instead of prepending.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (report_file_error): Make a unibyte string from
 -      strerror (errorno).
 -      (Fsubstitute_in_file_name): Fix the arg to
 -      unibyte_char_to_multibyte.  It is evaluated twice.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_utf_16): Don't set detect_info->found if
 -      BOM is not found.
 -      (detect_coding, detect_coding_system): Optimization for ISO-2022
 -      when no 8-bit data is found.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_to_w32_font): Update to use new coding struct.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
 -      CHARS.
 -
 -2008-02-01  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (mac_encode_char): Add charset argument and update
 -      to use encoding_type.
 -      (x_new_font, x_new_fontset): Merge in changes from xterm.c;
 -      switch to pure fontset.
 -      (decode_mac_font_name): Temporarily remove decoding.
 -      (x_font_name_to_mac_font_name): Temporarily remove encoding.
 -      (x_load_font): Temporarily remove encoding.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fface_font): If frame is not on a window system,
 -      ignore CHARACTER arg.  If HAVE_WINDOW_SYSTEM is not defined, don't
 -      refer to face->font.
 -      (split_font_name_into_vector, build_font_name_from_vector)
 -      (lookup_non_ascii_face, realize_non_ascii_face): Define them only
 -      when HAVE_WINDOW_SYSTEM is defined.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
 -      (x_produce_glyphs): Fix setting of members of cmp in case
 -      cmp->glyph_len is zero.
 -
 -      * fontset.c (Fset_fontset_font): Fix docstring.
 -      (Ffontset_info): Make it backward compatible.  New arg ALL.
 -
 -2008-02-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (read_process_output): Grow decoding_buf when needed;
 -      this could cause a crash in allocate_string and compact_small_strings.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (WRITE_BUF_SIZE): Delete this macro.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (setup_coding_system): Set coding->common_flags
 -      correctly for raw-text.
 -      (consume_chars): On encoding unibyte text by raw-text, don't check
 -      multibyte form.
 -      (encode_coding): On encoding by raw-text, never use translation tables.
 -
 -      * fileio.c (e_write): Short cut for the case of no encoding.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding, detect_coding_system): Delete unused
 -      variables.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
 -      (consume_chars): Fix handling of 8-bit bytes in unibyte source.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Ffind_coding_systems_region_internal): Include
 -      raw-text and no-conversion in the result.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
 -      (load_font_get_repertory): Delete unnecessary check of ENCODING of
 -      FONT_DEF.
 -      (font_def_arg, add_arg, from_arg, to_arg): New args.
 -      (set_fontset_font): Change argument.
 -      (Fset_fontset_font): Fix for the case that TARGET is a script
 -      name and charset name.
 -      (new_fontset_from_font_name): Fix argument to Fnew_fontset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_font): Rename from fontset_face.  Change return
 -      value.
 -      (face_suitable_for_char_p, face_for_char): Adjust for the change
 -      of fontset_font.
 -      (make_fontset_for_ascii_face): Fix setting of the fontset element
 -      for ASCII.
 -      (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
 -      to get a font name.
 -      (Ffontset_info): Adjust for the change of fontset_font.
 -
 -      * coding.c (emacs_mule_char): Check invalid code more rigidly.
 -
 -      * character.h (LEADING_CODE_LATIN_1_MIN)
 -      (LEADING_CODE_LATIN_1_MAX): Delete these macros.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (check_translation): New function.
 -      (Ftranslate_region_internal): Handle M:N mapping.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
 -      goto invalid_code.
 -      (decode_coding_iso_2022): Fix handling of invalid designation.
 -
 -      * fileio.c (Finsert_file_contents): Be sure to call unbind_to
 -      after calling code_conversion_save.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
 -
 -      * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
 -
 -      * fontset.c: Include "intervals.h".
 -      (fontset_face): Fix comparing of Lisp_Objects.
 -      (free_face_fontset, new_fontset_from_font_name): Fix
 -      Lisp_Object/int mixup.
 -
 -      * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
 -
 -      * coding.c: Add many prototypes for static functions.
 -      (get_translation_table): Allow max_lookup to be NULL.
 -      (decode_coding, Ffind_coding_systems_region_internal)
 -      (Funencodable_char_position, Fcheck_coding_systems_region): Call
 -      get_translation_table with max_lookup NULL.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (get_translation_table): Declare it as Lisp_Object.
 -      (LOOKUP_TRANSLATION_TABLE): New macro.
 -      (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
 -      instead of CHAR_TABLE_REF.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
 -      annotation data format.
 -      (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
 -      Change arguments FROM and TO to single argument NCHARS.  Change caller.
 -      (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
 -      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_ccl, decode_coding_charset): Pay attention to
 -      coding->charbuf_used.
 -      (get_translation): New function.
 -      (produce_chars): New arguments translation_table and last_block.
 -      Translate characters here.  Return number of carryover chars.
 -      Change caller.
 -      (produce_composition): New argument pos.  Change caller.
 -      Adjust for the change of annotation data format.
 -      (produce_charset, produce_annotation): Likewise.
 -      (decode_coding, encode_coding): Don't call translate_chars.
 -      (consume_chars): New arg translation_table.  Change caller.
 -      (translate_chars): Delete.
 -      (syms_of_coding): Make translation-table's number of extra slots 2.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (simple_search): Fix setting this_pos_byte in backward
 -      search.
 -
 -      * coding.c (detect_coding_emacs_mule): Fix counting of encoded
 -      byte sequence.
 -      (detect_coding_ccl): Fix setting of the variable valids.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
 -
 -      * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
 -
 -      * editfns.c (Ftranslate_region_internal): Rename from
 -      Ftranslate_region.  Accept a char-table in TABLE.
 -      (syms_of_editfns): Defsubr Stranslate_region_internal.
 -
 -      * xfaces.c (set_lface_from_font_name): If a font is specified for
 -      a frame, generate a fontset from the font.
 -      (build_scalable_font_name): If the scalable font is requested for
 -      a specific size, don't change that size.
 -      (try_font_list): Try a scalable font also in the case that a
 -      pattern string is specified.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fface_font): New optional arg CHARACTER.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (CHARSET_OFFSET): New macro.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
 -
 -      * fontset.c (fontset_face): Handle the case that repertory is a
 -      char-table.
 -      (find_font_encoding): Return nil for unknown encoding.
 -      (Fset_fontset_font): Ignore a font of unknown encoding.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (describe_vector): Handle default value of a char table.
 -
 -      * fontset.c (fontset_face): Handle fallback fonts correctly.
 -      (Ffontset_info): Return infomation about fallback fonts.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (FONTSET_DEFAULT): New macro.
 -      (FONTSET_ADD, fontset_add): Handle the case that range is nil.
 -      (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
 -      the case that it is nil.
 -      (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
 -      (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
 -
 -      * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
 -      subset or superset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * emacs.c (main): Call init_charset after syms_of_XXX.
 -
 -      * charset.c (Vcharset_map_directory): Delete.
 -      (Vcharset_map_path): New variable.
 -      (load_charset_map_from_file): Use Vcharset_map_path instead.
 -      (init_charset): Initialize Vcharset_map_path.
 -      (syms_of_charset): Delete declaration of "charset-map-directory",
 -      add declaration of "charset-map-path".
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
 -      ASCII only string.
 -
 -      * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
 -
 -      * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
 -      (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
 -
 -      * coding.c (QCmnemonic, QCdefalut_char)
 -      (QCdecode_translation_table, QCencode_translation_table)
 -      (QCpost_read_conversion, QCpre_write_conversion): New variables.
 -      (get_translation_table): Return a list of translation tables if
 -      necessary.
 -      (decode_coding): Call get_translation_table with ENCODEP 0.
 -      (char_encodable_p): If translation_table is non-nil, always call
 -      translate_char.
 -      (Fdefine_coding_system_internal): Accept list of translation
 -      tables as :encode-translation-table and :decode-translation-table.
 -      (Fcoding_system_put): New function.
 -      (syms_of_coding): Declare new symbols.  Defsubr
 -      Scoding_system_put.
 -      (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
 -      typically JISX0212.
 -
 -      * charset.c (map_charset_chars): Fix arg to map_charset_chars in
 -      when the charset is superset type.
 -
 -      * character.c (translate_char): Accept list of translation tables.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
 -      (CODING_ATTR_TRANS_TBL): New macro.
 -
 -      * coding.c (get_translation_table): New function.
 -      (translate_chars): Fix the bug of skipping annotation data.
 -      (decode_coding, encode_coding): Utilize get_translation_table.
 -      (char_encodable_p, Funencodable_char_position): Translate char if
 -      necessary.
 -      (Ffind_coding_systems_region_internal)
 -      (Fcheck_coding_systems_region): Setup translation table for encode
 -      in a coding system attribute vector in advance.
 -      (Fdefine_coding_system_internal): Allow a symbol as translation
 -      table.  For shift-jis type coding system, allow 4th charset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_sjis): Check the first byte rigidly.
 -
 -      * xdisp.c (get_next_display_element): Pass -1 as POS to
 -      FACE_FOR_CHAR if displaying a C-string.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (get_composition_id): Handle xoff and yoff in a
 -      composition rule.
 -
 -      * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
 -      (struct composition): New member lbearing and rbearing.
 -
 -      * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
 -      (x_get_glyph_overhangs): Handle a composition glyph.
 -      (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
 -
 -      * xterm.c (x_compute_glyph_string_overhangs): Handle also a
 -      composition glyph.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * print.c: Include charset.h.
 -      (Vprint_charset_text_property): New variable.
 -      (Qdefault): Extern it.
 -      (PRINT_STRING_NON_CHARSET_FOUND)
 -      (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
 -      (print_check_string_result): New variable.
 -      (print_check_string_charset_prop): New function.
 -      (print_prune_charset_plist): New variable.
 -      (print_prune_string_charset): New function.
 -      (print_object): Call print_prune_string_charset if
 -      Vprint_charset_text_property is not t.
 -      (print_interval): Print nothing if interval->plist is nil.
 -      (syms_of_print): Declare Vprint_charset_text_property as a lisp
 -      variable.  Init and staticpro print_prune_charset_plist.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (new_fontset_from_font_name): Use the specified font
 -      for all characters in the new fontset.
 -
 -      * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
 -      OBJECT args.
 -
 -      * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
 -      OBJECT args for composition too.
 -
 -      * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
 -      OBJECT args.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
 -
 -      * fontset.c (reorder_font_vector): Adjust for the change of
 -      FONT_DEF format.
 -      (fontset_face): New arg id.  Change caller.
 -      (face_for_char): New args pos and object.
 -      (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
 -      (fs_query_fontset): Check NAME by Fassoc too.
 -      (Fset_fontset_font): Allow non-XLFD font name.
 -      (Ffontset_info): Adjust for the change of FONT_DEF format.
 -
 -      * fontset.h (face_for_char): Adjust prototype.
 -
 -      * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
 -      (append_space, extend_face_to_end_of_line)
 -      (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
 -      (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
 -
 -      * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
 -      POS and OBJECT args.
 -
 -      * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
 -      POS and OBJECT args.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
 -      of GlobalAlloc'ed memory.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
 -
 -      * charset.h (charset_table_used): Delete extern.
 -
 -      * charset.c (charset_table_used): Make it static.
 -      (map_charset_chars): Fix args to c_function with.
 -
 -      * chartab.c (map_sub_char_table_for_charset): Fix args to
 -      c_function with.
 -
 -      * coding.h (enum coding_result_code): Delete
 -      CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
 -
 -      * coding.c (Qinsufficient_source, Qinconsistent_eol)
 -      (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
 -      (Vlast_code_conversion_error): New variables.
 -      (syms_of_coding): DEFSYM or DEFVAR_LISP them.
 -      (ONE_MORE_BYTE): Record error if any instead of signaling an
 -      error.  If non-ASCII multibyte char is found, return the negative
 -      value of the code.  All callers changed to check it.
 -      (ONE_MORE_BYTE_NO_CHECK): Likewise.
 -      (record_conversion_result): New function.  Change all codes setting
 -      coding->result to call this function.
 -      (detect_coding_utf_8, decode_coding_utf_8)
 -      (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
 -      Don't use the local variable incomplete.
 -      (emacs_mule_char): Change the second arg to `const'.
 -      (decode_coding): Fix of flushing out unprocessed data.
 -      (make_conversion_work_buffer): Fix making of a work buffer.
 -      (decode_coding_object): Return coding->dst_object.
 -
 -      * fontset.c (set_fontset_font): Fix args.
 -
 -      * lisp.h (CHARACTERBITS): Define as 22.
 -
 -      * process.c (send_process): Be sure to set coding->src_multibyte.
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Give limit to
 -      Fnext_single_char_property_change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (syms_of_composite): Don't make the composition hash
 -      table weak.
 -
 -      * fontset.c (Fset_fontset_font): Fix docstring.
 -
 -      * lisp.h (detect_coding_system): Adjust prototype.
 -
 -      * fileio.c (kill_workbuf_unwind): Delete this function.
 -      (Finsert_file_contents): Adjust the call of detect_coding_system.
 -      Get conversion_buffer by code_conversion_save.  Use the macro
 -      CODING_MAY_REQUIRE_DECODING.  After decoding, update
 -      coding_system.
 -
 -      * coding.h (make_conversion_work_buffer): Delete extern.
 -      (code_conversion_save): Extern it.
 -
 -      * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
 -      (CODING_GET_INFO): Delete argument eol_type.  Change callers.
 -      (decode_coding_utf_8): Don't do eol converion.
 -      (detect_coding_utf_16): Check coding->src_chars, not
 -      coding->src_bytes.  Add heuristics for those that have no signature.
 -      (decode_coding_emacs_mule, decode_coding_iso_2022)
 -      (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
 -      Don't do eol converion.
 -      (adjust_coding_eol_type): Return a new coding system.
 -      (detect_coding): Don't detect eol.  Fix for utf-16 detection.
 -      (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
 -      each change.
 -      (decode_coding): Pay attention to undo_list.  Do eol conversion for
 -      all types of coding-systems (if necessary).
 -      (Vcode_conversion_work_buf_list): Delete it.
 -      (Vcode_conversion_reused_workbuf): Rename from
 -      Vcode_conversion_reused_work_buf.
 -      (Vcode_conversion_workbuf_name): New variable.
 -      (reused_workbuf_in_use): New variable.
 -      (make_conversion_work_buffer): Delete the arg DEPTH.
 -      (code_conversion_restore): Change argument to cons.
 -      (code_conversion_save): Delete the argument BUFFER.  Change callers.
 -      (detect_coding_system): New argument src_chars.  Change callers.
 -      Fix for utf-16 detection.
 -      (init_coding_once): Don't use ISO_carriage_return.
 -      (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
 -      reused_workbuf_in_use.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (store_in_keymap): Pay attention to the case that idx
 -      is a cons specifying a character range.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix the case of returning
 -      HANDLED_RECOMPUTE_PROPS.
 -
 -      * coding.c (Fdefine_coding_system_internal): Fix checking of
 -      ascii compatibility.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (find_charsets_in_text): Delete unused locale variable.
 -      (Fset_charset_priority): Update Vemacs_mule_charset_list too.
 -
 -      * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
 -      Resync charset_list to Vemacs_mule_charset_list.
 -
 -      * keymap.c (store_in_keymap): Pay attention to the case that idx
 -      is a cons specifying a character range.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (update_compositions): Bind inhibit-read-only, etc
 -      to t before calling remove-list-of-text-properties.
 -
 -      * print.c (print_object): Always print ASCII chars as is.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
 -
 -      * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
 -      is a char table.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (set_lface_from_font_name): Fix for the case that
 -      FONTNAME is not fontset name.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (base64_encode_1): Fix previous change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (set_fontset_font): New function.
 -      (Fset_fontset_font): If a font is specified for a charset, use
 -      map_charset_chars to store the font spec in a fontset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_face): Create a fallback fontset on demand.
 -      (make_fontset): Don't create a fallback fontset here.
 -      (free_face_fontset): Free a fallback fontset (if any) too.
 -      (n_auto_fontsets): Delete this variable.
 -      (auto_fontset_alist): New variable.
 -      (new_fontset_from_font_name): Check auto_fontset_alist.
 -      (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
 -      (Ffontset_list_all) [FONTSET_DEBUG]: New function.
 -      (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
 -      Defsubr Sfontset_list_all.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fnew_fontset): Check NAME more rigidly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Fgoto_char): Fix docstring.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * insdel.c (insert_from_gap): Adjust intervals correctly.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
 -      (pfnGetFontUnicodeRanges): New dynamically loaded function.
 -      (w32_initialize): Try to load it.
 -      (x_get_font_repertory): Use it if available.
 -      (w32_encode_char): Add shortcut for unicode output.
 -
 -      * w32fns.c (w32_load_system_font): Default charset to -1.
 -      (x_to_w32_charset): Match all fonts for unicode.
 -      (w32_to_x_charset): New parameter matching.  Don't return partial
 -      or wildcard charsets.
 -      (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
 -      (w32_codepage_for_font): Return CP_UNICODE for unicode.
 -      (w32_to_x_font): Match charset to real charset.
 -      (enum_font_cb2): Always list unicode versions.
 -
 -      * makefile.w32-in (temacs): Increase EMHEAP.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_encode_char): New charset parameter.
 -      font_info.encoding becomes encoding_type.
 -      (x_get_font_repertory): New function.  Warning: stub only!
 -      (x_new_font): Return quickly if font already set.
 -      (x_new_fontset): fontsetname parameter is Lisp_Object.
 -      Use new fs_query_fontset.  Try new_fontset_from_font_name.
 -      Use fontset_name for return value.
 -
 -      * w32term.h: Declare x_get_font_repertory.
 -
 -      * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
 -      place of find_charset_in_text.  Use encode_coding_object in place
 -      of encode_coding.
 -      (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
 -      decode_coding.
 -
 -      * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
 -      of x_new_fontset.
 -      (w32_load_system_font): Initialize charset as unicode.
 -      font_info.encoding becomes encoding_type.
 -      (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
 -      (x_to_w32_font): Use encode_coding_object in place of encode_coding.
 -      (syms_of_w32fns): Set get_font_repertory_func.
 -
 -      * w32console.c: Include character.h.  Use terminal_encode_buffer
 -      from term.c.
 -      (write_glyphs): Use new version of encode_terminal_code.  Use
 -      encode_coding_object in place of encode_coding.
 -
 -      * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
 -      encoding becomes encoding_type.
 -
 -      * term.c (terminal_encode_buffer): Make externally visible.
 -
 -      * makefile.w32-in: Add character.h dependancies.
 -      (character.o, chartab.o): New targets.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
 -      CODING_ID_EOL_TYPE.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * coding.c (produce_chars): Revert last change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (charset_unicode): Extern it.
 -
 -      * charset.c (string_xstring_p): Check by (C >= 0x100).
 -      (find_charsets_in_text): Change format of the arc CHARSETS.  New
 -      arg MULTIBYTE.
 -      (Ffind_charset_region, Ffind_charset_string): Adjust for the
 -      change of find_charsets_in_text.
 -      (Fsplit_char): Fix doc.  Never return unknown.
 -
 -      * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
 -
 -      * coding.c (Fdefine_coding_system_alias): Update
 -      Vcoding_system_list.
 -
 -      * fontset.c (load_font_get_repertory): Pay attention to the case
 -      that ENCODING of a font is specified by a char-table.
 -
 -      * xterm.c (x_get_font_repertory): Handle the case that the
 -      encoding of font is other than Unicode.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (encode_terminal_code): Don't handle glyph-table.  Check
 -      if a character is encodable by the terminal coding system.  If
 -      not, produces proper number of `?'s.  Update
 -      terminal_encode_buffer and terminal_encode_buf_size if necessary.
 -      (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
 -      variables.
 -      (encode_terminal_code): Change argument.  Encode multiple
 -      characters at once.  Store the result of encoding in
 -      terminal_encode_buffer.
 -      (write_glyphs, insert_glyphs): Adjust for the change of
 -      encode_terminal_code.
 -      (term_init): Initialize terminal_encode_buffer and
 -      terminal_encode_buf_size.
 -
 -      * coding.c (consume_chars): If coding->src_object is nil, don't
 -      check annotation.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (char_string): Use ASCII_CHAR_P instead of
 -      SINGLE_BYTE_CHAR_P.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Check if the last
 -      characters of auto-composed region is newly composed with the
 -      following characters.
 -      (handle_composition_prop): Fix checking of point being inside
 -      composition.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (concat): Don't change multibyteness of the result by
 -      concatenating an 8-bit character.
 -
 -      * data.c (Faset): Check newelt by CHECK_CHARACTER.  Don't change
 -      multibyteness of the result when newelt is an 8-bit character.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
 -      EMACS_INT.
 -
 -      * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
 -
 -      * xfaces.c (face_numeric_value): Declare dim size_t.
 -      (Finternal_lisp_face_equal_p): Remove unused f.
 -
 -      * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
 -      (MATRIX_ROW): Remove unused vars.
 -      (draw_glyphs, x_insert_glyphs, fast_find_position)
 -      (fast_find_position, fast_find_string_pos): Use EMACS_INT for
 -      byte/char counts.
 -
 -      * regex.c (regex_compile): Remove unused var.
 -
 -      * minibuf.c (Fminibuffer_complete_word): Remove unused var.
 -
 -      * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
 -      (Faccessible_keymaps, where_is_internal): Remove unused vars.
 -
 -      * keyboard.c (cancel_hourglass_unwind): Return Qnil.
 -
 -      * frame.c (frame_name_fnn_p): Make len EMACS_INT.
 -
 -      * fileio.c (Fwrite_region): Remove unused var.
 -
 -      * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
 -      (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
 -
 -      * composite.c (Fremove_list_of_text_properties): Declare.
 -
 -      * coding.c (inhibit_pre_post_conversion): Remove (unused).
 -      (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
 -      (coding_inherit_eol_type): Remove unused attrs.
 -      (detect_coding): Cast arg of detect_eol.
 -
 -      * charset.c (syms_of_charset): Remove unused var p.
 -      (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
 -      byte/char counts.
 -
 -      * casetab.c (set_case_table): Remove unused var.
 -
 -      * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
 -      unused vars.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (x_bitmap_mask): Declare.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (x_term_init): Fix type error.
 -
 -      * lisp.h: Add Funibyte_char_to_multibyte.
 -
 -      * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
 -      (Fset_coding_system_priority): Doc fix.
 -
 -      * ccl.c (ccl_driver): Fix arg of CHARACTERP.
 -
 -      * indent.c (check_composition): Make start and end EMACS_INT.
 -
 -      * character.c (lisp_string_width): Make ignore and end EMACS_INT.
 -
 -      * xdisp.c (handle_composition_prop, check_point_in_composition):
 -      Make buffer positions EMACS_INT.
 -
 -      * composite.c (find_composition, run_composition_function)
 -      (update_compositions, Ffind_composition_internal): Make buffer
 -      positions EMACS_INT.
 -
 -      * composite.h (find_composition, update_compositions): Make
 -      position args EMACS_INT.
 -
 -      * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
 -
 -      * intervals.c (get_property_and_range):
 -      * intervals.h (get_property_and_range): Make start and end EMACS_INT.
 -
 -      * unexalpha.c: Don't include varargs.h.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.h (ENCODE_UTF_8): New.
 -
 -      * Makefile.in (gtkutil.o): Depend on coding.h.
 -
 -      * coding.c (Fset_coding_system_priority): Doc fix.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Call setup_coding_system in
 -      the case of auto saving.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * chartab.c (map_char_table, map_char_table_for_charset): Protect
 -      `range' from GC.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_sjis): Check bytes more rigidly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (choose_write_coding_system): Return a decided coding system.
 -      (Fwrite_region): Set Vlast_coding_system_used to the return value
 -      of choose_write_coding_system.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fset_charset_priority): Pay attention to duplicated
 -      arguments.
 -
 -      * coding.c (QCcategory): New variable.
 -      (syms_of_coding): Defsym it.  Set all elements of
 -      Vcoding_category_table and their symbol values.
 -      (Fset_coding_system_priority): Doc fix.  Update symbol qvalues of
 -      coding-category-XXX, and coding-category-list.
 -      (Fdefine_coding_system_internal): Add category in the plist.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * callproc.c (Fcall_process): Handle carryover correctly.
 -
 -      * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
 -      (raw_text_coding_system): Check NILP (coding_system).
 -      (coding_inherit_eol_type): Check NILP (coding_system) and
 -      NILP (parent).
 -      (consume_chars): Fix for the case of raw-text.
 -
 -      * process.c (read_process_output): Handle carryover correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * regex.c (re_search_2): Fix last change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
 -      target_multibyte.  Even in a unibyte case, return a converted
 -      multibyte char.
 -      (GET_CHAR_AFTER): New macro.
 -      (PATFETCH): Translate via multibyte char.
 -      (HANDLE_UNIBYTE_RANGE): Delete this macro.
 -      (SETUP_MULTIBYTE_RANGE): New macro.
 -      (regex_compile): Setup compiled code so that its multibyteness
 -      matches that of a target.  Fix the handling of "[X-YZ]" using
 -      SETUP_MULTIBYTE_RANGE.
 -      (analyse_first) <charset>: For filling fastmap for all multibyte
 -      characters, don't check by BASE_LEADING_CODE_P.
 -      (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp).  It is
 -      the same as RE_MULTIBYTE_P (bufp) now.
 -      (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
 -      (TARGET_CHAR_AND_LENGTH): Delete this macro.
 -      (TRANSLATE_VIA_MULTIBYTE): New macro.
 -      (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
 -      It is the same as RE_MULTIBYTE_P (bufp) now.
 -      <exactn>: Translate via multibyte.
 -      <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH.  Don't
 -      translate it.
 -      <charset, charset_not>: Fetch a character by
 -      RE_STRING_CHAR_AND_LENGTH.  Translate via multibyte.
 -      <duplicate>: Call bcmp_translate with the last arg `multibyte'.
 -      <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
 -      notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
 -      by GET_CHAR_AFTER.
 -      (bcmp_translate): Likewise.
 -
 -      * search.c (compile_pattern): Check the member target_multibyte,
 -      not the member multibyte of buf.
 -
 -      * lread.c (read1): While reading a string, set force_singlebyte
 -      and force_multibyte correctly.
 -
 -      * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
 -      up of unibyte_to_multibyte_table.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (setup_coding_system): If coding has
 -      post-read-conversion or pre-write-conversion, set
 -      CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
 -      respectively.
 -      (decode_coding_gap): Run post-read-conversion if any.
 -
 -      * fileio.c (Finsert_file_contents): Even if we read into a
 -      unibyte buffer, check if we must decode the result or not.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (make_conversion_work_buffer): Change the work buffer
 -      name to the same one as that of Emacs 21.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.h (make_conversion_work_buffer): Adjust prototype.
 -      (code_conversion_restore): Don't extern it.
 -
 -      * coding.c (detected_mask): Delete unused variable.
 -      (decode_coding_iso_2022): Pay attention to the byte sequence of
 -      CTEXT extended segment, and retain those bytes as is.
 -      (decode_coding_ccl): Delete unused variable `valids'.
 -      (setup_coding_system): Delete unused variable `category'.
 -      (consume_chars): Delete unused variable `category'.  Make it work
 -      for non-multibyte case.
 -      (make_conversion_work_buffer): Change argument.
 -      (saved_coding): Delete unused variable.
 -      (code_conversion_restore): Don't check saved_coding->destination.
 -      (code_conversion_save): New function.
 -      (decode_coding_gap, encode_coding_gap): Call code_conversion_save
 -      instead of record_unwind_protect.
 -      (decode_coding_object, encode_coding_object): Likewise.  Recover PT.
 -      (detect_coding_system): Delete unused variable `mask'.
 -      (Fdefine_coding_system_internal): Delete unused variable id.
 -
 -      * fileio.c (kill_workbuf_unwind): New function.
 -      (Finsert_file_contents): On replacing, call
 -      make_conversion_work_buffer with correct args, and call
 -      record_unwind_protect with the first arg kill_workbuf_unwind.
 -
 -      * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
 -      (fontset_add): Fix for the case that TO is less than TO1.
 -      (Ffontset_info): Don't use fallback fontset on checking the
 -      default fontset.
 -      (dump_fontset): New function for debugging.
 -
 -      * coding.c (Fdefine_coding_system_internal): Fix for the case that
 -      coding_type is Qcharset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
 -      (map_char_table): Don't inherit the value from the parent on
 -      initializing VAL.  Adjust for the above change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Qsignature, Qendian): Delete these variables.
 -      (syms_of_coding): Don't initialize them.
 -      (CATEGORY_MASK_UTF_16_AUTO): New macro.
 -      (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
 -      detect_info->found.
 -      (decode_coding_utf_16): Don't detect BOM here.
 -      (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
 -      is NOT utf_16_without_bom.
 -      (setup_coding_system): For a coding system of type utf-16, check
 -      if the attribute :endian is Qbig or not (not nil or not), and set
 -      CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
 -      (detect_coding): If coding type is utf-16 and BOM detection is
 -      required, detect it.
 -      (Fdefine_coding_system_internal): For a coding system of type
 -      utf-16, check if the attribute :endian is Qbig or not (not nil or not).
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_set_source): Fix for the case that the current
 -      buffer is different from coding->src_object.
 -      (decode_coding_object): Don't use the conversion work buffer if
 -      DST_OBJECT is a buffer.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * lread.c (read_emacs_mule_char) [len==2]: Index
 -      emacs_mule_charset correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
 -      (detect_coding_big5, decode_coding_big5, encode_coding_big5)
 -      (Fdecode_big5_char, Fencode_big5_char): Delete.  (Big5 no longer
 -      treated specially.)
 -      (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
 -      (detected_mask): Remove Big5 bits.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes are to make the font rescaling facility
 -      compatible with Emacs 21.
 -
 -      * xfaces.c (Vface_font_rescale_alist): Rename from
 -      Vface_resizing_fonts.
 -      (struct font_name): Rename member resizing_ratio to rescale_ratio.
 -      (font_rescale_ratio): Rename from font_resizing_ratio.
 -      (split_font_name): Set font->rescale_ratio.
 -      (better_font_p): Pay attention to font->rescale_ratio.
 -      (build_scalable_font_name): Likewise.  Change RESX, and RESY
 -      fields.
 -      (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
 -      (Qutf_16_le): Remove these variables.
 -      (syms_of_coding): Don't DEFSYM them.
 -      (decode_coding_utf_16): Fix handling of BOM.
 -      (encode_coding_utf_16): Fix handling of BOM.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): On replacing, before decoding
 -      the file into the work buffer, set point of the work buffer to the end.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (Fcheck_coding_systems_region): Fix type errors.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
 -      and fix C types.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (SKIP_GLYPHS): New macro.
 -      (set_cursor_from_row): Pay attention to string display properties.
 -
 -      * category.c (copy_category_entry): Fix for the case that RANGE
 -      is an integer.
 -
 -      * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
 -
 -      * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fcharset_id_internal): New function.
 -      (syms_of_charset): Defsubr it.
 -
 -      * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
 -      with the last arg charset_list acquired from coding.
 -      (Fdefine_coding_system_internal): For ccl-based coding system, fix
 -      the attribute coding_attr_ccl_valids.
 -
 -      * coding.h (enum define_coding_ccl_arg_index): Set the first
 -      member coding_arg_ccl_decoder to coding_arg_max.
 -
 -      * ccl.h (ccl_driver): Adjust prototype.
 -
 -      * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
 -      (ccl_driver): New arg CHARSET_LIST.  Use the above macros instead
 -      of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
 -      (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
 -      last arg Qnil.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
 -      call encode_char.
 -
 -      * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * composite.c (syms_of_composite): Make composition_hash_table weak.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (check_face_attributes, generate_ascii_font_name)
 -      (font_name_registry): Don't extern them.
 -      (split_font_name_into_vector, build_font_name_from_vector): Extern them.
 -
 -      * fontset.h (Qfontset): Don't extern it.
 -      (new_fontset_from_font_name): Extern it.
 -
 -      * fontset.c: Give 8 extra slots to fontset objects.
 -      (Qfontset_info): New variable.
 -      (syms_of_fontset): Defsym it.
 -      (FONTSET_FALLBACK): New macro.
 -      (fontset_face): Try also the default fontset.
 -      (make_fontset): Realize a fallback fontset from the default fontset.
 -      (generate_ascii_font_name): Move from xfaces.c.  Rewritten by
 -      using split_font_name_into_vector and build_font_name_from_vector.
 -      (Fset_fontset_font): Access the elements of font_spec by enum
 -      FONT_SPEC_INDEX.  If font_spec is a string, extract the registry
 -      name by using split_font_name_into_vector.
 -      (Fnew_fontset): If no ASCII font is specified in FONTLIST,
 -      generate a proper font name from the fontset name.  Update
 -      Vfontset_alias_alist.
 -      (n_auto_fontsets): New variable.
 -      (new_fontset_from_font_name): New function.
 -      (Ffont_info): Store the information about fonts generated from the
 -      default fontset in the first extra slot of the returned char-table.
 -
 -      * xfaces.c (generate_ascii_font_name): Move to fontset.c.
 -      (font_name_registry): Delete function.
 -      (split_font_name_into_vector): New function.
 -      (build_font_name_from_vector): New function.
 -      (font_list): The argument REGISTRY is now a list of registry names.
 -      (choose_face_font): If we are choosing an ASCII font, and ATTRS
 -      specifies an explicit font name, return the name as is.  Make a
 -      list of registy names.
 -
 -      * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
 -      of x_new_fontset.
 -      (Fx_create_frame): Don't call x_new_fontset here.  Just use
 -      x_list_fonts to check the existence of fonts.
 -
 -      * xterm.h (x_new_fontset): Adjust prototype.
 -
 -      * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
 -      string.  Use new_fontset_from_font_name to create a fontset from a
 -      font name.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (Vfind_word_boundary_function_table): New name for
 -      Vnext_word_boundary_function_table.
 -      (find-word-boundary-function-table): New name for
 -      next-word-boundary-function-table.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * Makefile.in: Fix some dependencies.
 -
 -      * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
 -      set it to nil before returning.
 -
 -      * composite.c (update_compositions): Fix type error.
 -
 -      * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_new_font): Optimize for the case that the font is
 -      already set for the frame.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * chartab.c (char_table_ascii): Check if the char table contents
 -      is sub-char-table or not.
 -      (char_table_set, char_table_set_range): Fix argument to
 -      char_table_ascii.
 -
 -      * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
 -      (detect_coding_utf_8, detect_coding_utf_16)
 -      (detect_coding_emacs_mule, detect_coding_iso_2022)
 -      (detect_coding_sjis, detect_coding_big5)
 -      (detect_coding_ccl, detect_coding_charset): Change argument MASK
 -      to DETECT_INFO.  Update DETECT_INFO and return 1 if the byte
 -      sequence is valid in this coding system.  Change callers.
 -      (MAX_ANNOTATION_LENGTH): New macro.
 -      (ADD_ANNOTATION_DATA): New macro.
 -      (ADD_COMPOSITION_DATA): Change argument.  Change callers.  Call
 -      ADD_ANNOTATION_DATA.  Change the format of annotation data.
 -      (ADD_CHARSET_DATA): New macro.
 -      (emacs_mule_char): New argument ID.  Change callers.
 -      (decode_coding_emacs_mule, decode_coding_iso_2022)
 -      (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
 -      Produce charset annotation data in coding->charbuf.
 -      (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
 -      to charset annotation data in coding->charbuf.
 -      (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
 -      coding->common_flags if the coding system is iso-2022 based and
 -      uses designation.
 -      (produce_composition): Adjust for the new annotation data format.
 -      (produce_charset): New function.
 -      (produce_annotation): Handle charset annotation.
 -      (handle_composition_annotation, handle_charset_annotation): New
 -      functions.
 -      (consume_chars): Handle charset annotation.  Utilize the above two
 -      functions.
 -      (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
 -      buffer, get the deleted text as a string and set
 -      coding->src_object to that string.
 -      (detect_coding, detect_coding_system): Use the new struct
 -      coding_detection_info.
 -
 -      * coding.h (struct coding_detection_info): New structure.
 -      (struct coding_system): Adjust prototype of the member `detector'.
 -      (CODING_ANNOTATE_CHARSET_MASK): New macro.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * insdel.c (insert_from_gap): Fix argument to offset_intervals.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
 -      (Fapropos_internal): Don't gcpro apropos_accumulate.  Set result
 -      to new local and nullify apropos_accumulate before returning.
 -      (syms_of_keymap): Staticpro and initialize apropos_accumulate.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fdefine_charset_internal): Setup charset.fast_map
 -      correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c (Flanginfo): Call synchronize_system_time_locale.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes are to make character composition happen
 -      automatically on displaying.
 -
 -      * Makefile.in (lisp, shortlisp): Add composite.elc.
 -
 -      * composite.h (Qauto_composed, Vauto_composition_function)
 -      (Qauto_composition_function): Extern them.
 -
 -      * composite.c (Vcomposition_function_table)
 -      (Qcomposition_function_table): Delete variables.
 -      (Qauto_composed, Vauto_composition_function)
 -      (Qauto_composition_function): New variables.
 -      (run_composition_function): Don't call
 -      compose-chars-after-function.
 -      (update_compositions): Clear `auto-composed' text property.
 -      (compose_chars_in_text): Delete this function.
 -      (syms_of_composite): Staticpro Qauto_composed and
 -      Qauto_composition_function.  Declare Vauto_composition_function as
 -      a Lisp variable.
 -
 -      * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
 -
 -      * xdisp.c (it_props): Add an entry for Qauto_composed.
 -      (handle_auto_composed_prop): New function.
 -
 -      * xselect.c (selection_data_to_lisp_data): Don't call
 -      compose_chars_in_text.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * keyboard.c (read_char): Modify checking around use of
 -      Vkeyboard_translate_table.
 -
 -      * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
 -      and fix C types.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
 -      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
 -      the case that the last byte is '\r' correctly.
 -      (decode_coding): Flush out the unprocessed data correctly.
 -      (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (XTread_socket): Fix changes for defined keysyms.
 -      Add XK_ISO... case.
 -      (xaw_scroll_callback): Revert last change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Vface_resizing_fonts): New variable.
 -      (struct font_name): New member `resizing_ratio'.
 -      (font_resizing_ratio): New function.
 -      (split_font_name): Set font->resizing_ratio.
 -      (better_font_p): Pay attention to font->resizing_ratio.
 -      (build_scalable_font_name): Likewise.  Don't change POINT_SIZE,
 -      RESX, and RESY fields.
 -      (try_alternative_families): Try scalable fonts if
 -      Vscalable_fonts_allowed is not Qt.
 -      (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (xaw_scroll_callback): Cast correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
 -      (lispy_kana_keys): Comment out.
 -      (make_lispy_event) [XK_kana_A]: Comment out.
 -
 -      * xterm.c (xaw_scroll_callback): Cast call_data.
 -      (XTread_socket): Deal with ASCII keysyms.
 -      (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (Vx_keysym_table): New.
 -      (syms_of_xterm): Initialize it.
 -      (XTread_socket): Use it.
 -      From head: Eliminate incorrect optimization that tried to avoid
 -      decoding the output of X*LookupString.
 -      (x_get_font_repertory): Delete charset declaration.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_charset): If only ASCII bytes are found,
 -      return 0.
 -      (Fdefine_coding_system_internal): Setup
 -      CODING_ATTR_ASCII_COMPAT (attrs) correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (Fcheck_coding_system): Doc fix.
 -
 -      * editfns.c (Finsert_byte): Return a proper value.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding): Fix args to translate_chars.  Pay
 -      attention to Vstandard_translation_table_for_decode.
 -      (encode_coding): Fix args to translate_chars.  Pay attention to
 -      Vstandard_translation_table_for_encode.
 -
 -      * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -      * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
 -      not by SINGLE_BYTE_CHAR_P.
 -
 -      * fns.c (concat): Check CH by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -      * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -      * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
 -      by SINGLE_BYTE_CHAR_P.
 -
 -      * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c (Flanginfo): Fix typo.
 -
 -      * unexelf.c (unexec): Make last change conditional on Irix 6.5.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_utf_8, detect_coding_utf_16)
 -      (detect_coding_emacs_mule, detect_coding_iso_2022)
 -      (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
 -      incomplete byte sequence.  Don't update *mask when correctly detected.
 -      (decode_coding_sjis): Fix decoding of katakana-jisx0201.
 -      (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
 -      (detect_coding, detect_coding_system): Adjust for the changes above.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (char_string): Rename from
 -      char_string_with_unification.  Pay attention to CHAR_MODIFIER_MASK.
 -      (string_char): Rename from string_char.
 -
 -      * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
 -      if C is greater than MAX_3_BYTE_CHAR.
 -      (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
 -      string_char instead of string_char_with_unification.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (push_key_description): Pay attention to force_multibyte.
 -
 -      * regex.c (re_search_2): Fix for the case of unibyte buffer.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * charset.c (define_charset_internal): Rename `supprementary'.
 -
 -      * Makefile.in (lisp, shortlisp): Remove latin-N.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xfns.c (x_window, x_window): Use use_xim.
 -
 -      * xterm.c (use_xim): Initialize.
 -      (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
 -      (x_term_init): Maybe set use_xim.
 -
 -      * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (search_buffer): Fix case-fold-search of multibyte
 -      characters.
 -      (boyer_moore): Rename the last argument to char_high_bits.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (display_string): Fix for the case of zero width glyph.
 -
 -      * xfns.c (x_set_font): Change the error message of the case that
 -      x_new_fontset returns Qt.
 -
 -      * xfaces.c (set_lface_from_font_name): Reject the default fontset.
 -      (Finternal_set_lisp_face_attribute): Use signal_error for the
 -      error of invalid fontset.
 -
 -      * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
 -      fontset, return Qt.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * unexelf.c (unexec): Make .got handling not SGI-specific.
 -
 -      * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
 -
 -      * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
 -
 -      * keyboard.c (read_key_sequence): Fix type error.
 -
 -      * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
 -      type error.
 -
 -      * fontset.c (fontset_add): Return Lisp_Object.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * charset.h (charset_ordered_list_tick): Declare extern.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes (and some of 2008-02-01 changes of mine) are
 -      for handling syntax, category, and case conversion for unibyte
 -      characters by converting them to multibyte on the fly.  With these
 -      changes, we don't have to setup syntax and case tables for unibyte
 -      characters in each language environment.
 -
 -      * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
 -      multibyte if necessary.
 -
 -      * bytecode.c (Fbyte_code): Likewise.
 -
 -      * character.h (LEADING_CODE_LATIN_1_MIN)
 -      (LEADING_CODE_LATIN_1_MAX): New macros.
 -      (unibyte_to_multibyte_table): Extern it.
 -      (unibyte_char_to_multibyte): New macro.
 -      (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
 -      (CHAR_LEADING_CODE): New macro.
 -      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
 -
 -      * character.c (unibyte_to_multibyte_table): New variable.
 -      (unibyte_char_to_multibyte): Move to character.h and define as macro.
 -      (multibyte_char_to_unibyte): If C is an eight-bit character,
 -      convert it to the corresponding byte value.
 -
 -      * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
 -      not 1, signals an error.  Update the elements of
 -      unibyte_to_multibyte_table.
 -      (init_charset_once): Initialize unibyte_to_multibyte_table.
 -      (syms_of_charset): Define the charset `iso-8859-1'.
 -
 -      * cmds.c (internal_self_insert): In a multibyte buffer, insert C
 -      as is without converting it to unibyte.  In a unibyte buffer,
 -      convert C to multibyte before checking the syntax.
 -
 -      * lisp.h (unibyte_char_to_multibyte): Delete extern.
 -
 -      * minibuf.c (Fminibuffer_complete_word): Use the macro
 -      FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
 -
 -      * regex.h (struct re_pattern_buffer): New member target_multibyte.
 -
 -      * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
 -      (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte.  If
 -      that is zero, convert an eight-bit char to multibyte.
 -      (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
 -      non-emacs case.
 -      (PATFETCH): Convert an eight-bit char to multibyte.
 -      (HANDLE_UNIBYTE_RANGE): New macro.
 -      (regex_compile): Setup the compiled pattern for multibyte chars
 -      even if the given regex string is unibyte.  Use PATFETCH_RAW
 -      instead of PATFETCH in many places.  To handle `charset'
 -      specification of unibyte, call HANDLE_UNIBYTE_RANGE.  Use bitmap
 -      only for ASCII chars.
 -      (analyse_first) <exactn>: Simplify because the compiled pattern
 -      is multibyte.
 -      <charset_not>: Setup fastmap from bitmap only for ASCII chars.
 -      <charset>: Use CHAR_LEADING_CODE to get leading codes.
 -      <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
 -      (re_compile_fastmap) [emacs]: Call analyse_first with the arg
 -      multibyte always 1.
 -      (re_search_2): In emacs, set the locale variable multibyte to 1,
 -      otherwise to 0.  New local variable target_multibyte.  Check it
 -      to decide the multibyteness of STR1 and STR2.  If
 -      target_multibyte is zero, convert unibyte chars to multibyte
 -      before translating and checking fastmap.
 -      (TARGET_CHAR_AND_LENGTH): New macro.
 -      (re_match_2_internal): In emacs, set the locale variable multibyte
 -      to 1, otherwise to 0.  New local variable target_multibyte.  Check
 -      it to decide the multibyteness of STR1 and STR2.  Use
 -      TARGET_CHAR_AND_LENGTH to fetch a character from D.
 -      <charset, charset_not>: If multibyte is nonzero, check fastmap
 -      only for ASCII chars.  Call bcmp_translate with
 -      target_multibyte, not with multibyte.
 -      <begline>: Declare the local variable C as `unsigned'.
 -      (bcmp_translate): Change the last arg name to target_multibyte.
 -
 -      * search.c (compile_pattern_1): Don't adjust the multibyteness of
 -      the regexp pattern and the matching target.  Set cp->buf.multibyte
 -      to the multibyteness of the regexp pattern.  Set
 -      cp->but.target_multibyte to the multibyteness of the matching target.
 -      (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
 -      FETCH_STRING_CHAR_ADVANCE.
 -      (Freplace_match): Convert unibyte chars to multibyte.
 -
 -      * syntax.c (char_quoted, back_comment, scan_words)
 -      (Fforward_comment, scan_lists, Fbackward_prefix_chars)
 -      (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
 -      unibyte chars to multibyte.
 -      (skip_chars): Delete the arg syntaxp, and move the code for
 -      handling syntaxes to skip_syntaxes.  Change callers.
 -      Fix the case that the multibyteness of STRING and the current
 -      buffer doesn't match.
 -      (skip_syntaxes): New function.
 -      (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (QCfontset): New variable.
 -      (LFACE_FONTSET): New macro.
 -      (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
 -      (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
 -      (Finternal_set_lisp_face_attribute)
 -      (Finternal_get_lisp_face_attribute): Handle QCfontset.
 -      (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
 -      check also LFACE_FONTSET_INDEX.
 -      (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
 -      attrs[LFACE_FONT_INDEX].
 -      (syms_of_xfaces): Intern and staticpro QCfontset.
 -
 -      * dispextern.h (enum lface_attribute_index): New member
 -      LFACE_FONTSET_INDEX.
 -
 -      * fns.c (base64_encode_1): Handle eight-bit chars correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_set_destination): Fix coding->destination for
 -      the case converting a region.
 -      (encode_coding_utf_8): Encode eight-bit chars as single byte.
 -      (encode_coding_object): Fix coding->dst_pos and
 -      coding->dst_pos_byte for the case converting a region.
 -
 -      * insdel.c (insert_from_gap): Make it work even if PT != GTP.
 -
 -      * character.h (BYTE8_STRING): New macro.
 -
 -      * fns.c (base64_decode_1): Insert eight-bit chars correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
 -      characters by octal form.
 -
 -      * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
 -
 -      * buffer.h (_fetch_multibyte_char_len): Delete extern.
 -      (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
 -      _fetch_multibyte_char_len.
 -      (FETCH_CHAR_AS_MULTIBYTE): New macro.
 -
 -      * casetab.c (set_canon, set_identity, shuffle): Simplify.
 -
 -      * casefiddle.c (casify_object): Simplify.  Handle the case that
 -      the case conversion change the byte length.
 -      (casify_region): Likewise.
 -
 -      * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
 -
 -      * character.c (_fetch_multibyte_char_len): Delete this variable.
 -      (syms_of_character): Setup Vprintable_chars.
 -
 -      * editfns.c (Fchar_equal): Fix for the unibyte case.
 -      (Finsert_byte): New function.
 -      (syms_of_editfns): Defsubr it.
 -
 -      * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
 -      of direct code 0x3ffff.
 -
 -      * search.c (Freplace_match): Fix for the unibyte case.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * lread.c (safe_to_load_p): Fix the logic.
 -
 -      * syntax.c (scan_words): Don't treat characters belonging to
 -      different scripts as constituting a word.
 -
 -      * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
 -
 -      * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
 -
 -      * emacs.c (main): In the case of --unibyte, instead of aborting on
 -      finding non-empty buffer, make it unibyte.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
 -      to create a fontset.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * character.c (Funibyte_char_to_multibyte): Doc fix.
 -
 -      * xfns.c [HAVE_STDLIB_H]: Fix last change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_add): Make the type `int'.
 -      (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
 -
 -      * character.c (unibyte_char_to_multibyte)
 -      (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
 -      charset_unibyte, not charset_primary.
 -
 -      * charset.h (charset_unibyte): Extern it instead of charset_primary.
 -
 -      * charset.c (charset_unibyte): Rename from charset_primary.
 -      (Funibyte_charset): Rename from Fprimary_charset.
 -      (Fset_unibyte_charset): Rename from Fset_primary_charset.
 -      (syms_of_charset): Adjust for the above changes.
 -
 -      * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
 -      SINGLE_BYTE_CHAR_P.  Fix the logic of handling non-ASCII char when
 -      it->multibyte_p is zero.
 -
 -      * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
 -      Delete extern.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fdefine_coding_system_internal): Fix category setting
 -      for a coding system of type iso-2022.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (Vnext_word_boundary_function_table): New variable.
 -      (next-word-boundary-function-table): Declare it as a Lisp variable
 -      in syms_of_syntax.
 -      (scan_words): Call functions in Vnext_word_boundary_function_table
 -      if any.
 -
 -      * xterm.c (x_load_font): Initialize fontp->fontset to -1.
 -
 -      * fontset.c (fs_load_font): If fontp->charset is not negative,
 -      return fontp without setting its members.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
 -
 -      * m/sparc.h (HAVE_ALLOCA): Delete.
 -
 -      * s/irix6-5.h: Don't include strings.h.
 -      (bcopy, bzero, bcmp): Don't undef.
 -
 -      * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
 -
 -      * s/usg5-4.h (NO_SIOCTL_H): Don't define.
 -      (TIOCSIGSEND): Don't test IRIX6.
 -      (bcopy, bzero, bcmp): Define conditionally.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * buffer.c (Qas, Qmake, Qto): New variables.
 -      (Fset_buffer_multibyte): New optional arg METHOD.  Change caller.
 -      (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
 -
 -      * callproc.c (Fcall_process): Don't call insert_1_both directly if
 -      we are inserting a process output into a multibyte buffer.
 -
 -      * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
 -      multibyte_char_to_unibyte.
 -
 -      * character.c (Funibyte_char_to_multibyte): If C can't be decoded
 -      by the primary charset, make it eight-bit char.
 -      (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
 -
 -      * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
 -      (charset_8_bit__control, charset_8_bit_graphic)
 -      (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
 -      (define_charset_internal): New function.
 -      (syms_of_charset): Call define_charset_internal for pre-defined
 -      charsets.
 -
 -      * charset.h (charset_8_bit): Extern it.
 -
 -      * coding.c (make_conversion_work_buffer): Adjust for the change
 -      of Fset_buffer_multibyte.
 -      (encode_coding_raw_text): Increment p0 in the loop.
 -
 -      * lisp.h (Fset_buffer_multibyte): Adjust prototype.
 -
 -      * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
 -      for the change of Fset_buffer_multibyte.
 -
 -      * fns.c (Fstring_to_multibyte): New function.
 -      (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xfns.c (x_put_x_image): Declare args.
 -
 -      * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
 -      (try_font_list): Declare an arg.
 -
 -      * xdisp.c (message2_nolog, set_message): Declare an arg.
 -
 -      * terminfo.c (tparam): Declare an arg.  Use P_ to declare tparm.
 -
 -      * syntax.c (scan_sexps_forward): Declare an arg.
 -
 -      * scroll.c (calculate_scrolling, calculate_direct_scrolling):
 -      Declare an arg.
 -
 -      * lisp.h (Fnew_fontset): Declare.
 -
 -      * keymap.c (push_key_description): Call CHARACTERP correctly.
 -
 -      * fontset.c (fontset_add): Declare args.  Call make_number correctly.
 -      (face_for_char): Delete unused vars.
 -      (Fset_fontset_font): Doc fix.  Delete unused vars.
 -
 -      * doc.c (Fsubstitute_command_keys): Delete unused vars.
 -
 -      * composite.c (update_compositions): Declare arg.
 -
 -      * cm.c (calccost, cmgoto): Declare args.
 -
 -      * charset.c: Remove `emacs' conditional.  Doc fixes.
 -      (map_char_table_for_charset): Declare.
 -
 -      * character.c (syms_of_character) <translation-table-vector>: Doc fix.
 -
 -      * ccl.c: Remove `emacs' conditional.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes are to allow specifying multiple font
 -      patterns for a character range (specified by script or charset).
 -
 -      * Makefile.in (abbrev.o): Depend on syntax.h.
 -      (xfaces.o): Depend on charset.h.
 -
 -      * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
 -      SINGLE_BYTE_CHAR_P.
 -
 -      * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
 -
 -      * character.h (Vchar_script_table): Extern it.
 -
 -      * character.c (Vscript_alist): Delete.
 -      (Vchar_script_table, Qchar_script_table): New variable.
 -      (syms_of_character): Declare Vchar_script_table as a lisp variable
 -      and initialize it.
 -
 -      * chartab.c (Fmake_char_table): Doc fix.  If PURPOSE doesn't
 -      have property char-table-extra-slots, make no extra slot.
 -
 -      * dispextern.h (struct face): Delete member `charset'.
 -      (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
 -      SINGLE_BYTE_CHAR_P.
 -      (choose_face_font, lookup_non_ascii_face, font_name_registry):
 -      Add prototypes.
 -      (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
 -      (generate_ascii_font_name): Rename from generate_ascii_font.
 -
 -      * fontset.h (get_font_repertory_func): New prototype.
 -      (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
 -      (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
 -
 -      * fontset.c (Qprepend, Qappend): New variables.
 -      (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
 -      (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
 -      (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
 -      (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
 -      (fontset_ref_and_range, fontset_add, reorder_font_vector)
 -      (load_font_get_repertory): New functions.
 -      (fontset_set): Delete.
 -      (fontset_face): New arg FACE.  Return face ID, not face.
 -      Complete re-write to handle new fontset structure.  Change caller.
 -      (free_face_fontset): Use ASET istead of AREF (X) = Y.
 -      (face_for_char): Don't call lookup_face.
 -      (make_fontset_for_ascii_face): New arg FACE.
 -      (fs_load_font): New arg CHARSET_ID.  Don't check
 -      Vfont_encoding_alist here.
 -      (find_font_encoding): New function.
 -      (list_fontsets): Use STRINGP, not ! NILP.
 -      (accumulate_script_ranges): New function.
 -      (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
 -      re-written to handle new fontset structure.
 -      (Ffontset_font): Return a copy of element.
 -      (syms_of_fontset): Define symbols Qprepend and Qappend.  Fix
 -      docstring of font-encoding-alist.
 -
 -      * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
 -      (Fset_fotset_font): Fix arguments to 5.
 -
 -      * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
 -
 -      * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
 -      Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
 -      (highlight_trailing_whitespace): Adjust for the change of
 -      lookup_named_face.
 -
 -      * xfaces.c: Include charset.h.
 -      (load_face_font): Delete argument C.  Change caller.
 -      (generate_ascii_font_name): Rename from generate_ascii_font.
 -      (font_name_registry): New function.
 -      (cache_face): Store ascii faces before non-ascii faces in buckets.
 -      (lookup_face): Delete arguments C and BASE_FACE.  Change caller.
 -      Lookup only ascii faces.
 -      (lookup_non_ascii_face): New function.
 -      (lookup_named_face): Delete argument C.  Change caller.
 -      (lookup_derived_face): Delete argument C.  Change caller.
 -      (try_font_list): New arg PATTERN.  Change caller.  If PATTERN is
 -      a string, just call font_list with it.
 -      (choose_face_font): Delete arguments FACE and C.  New arg
 -      FONT_SPEC.  Change caller.
 -      (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
 -      Change caller.
 -      (realize_non_ascii_face): New function.
 -      (realize_x_face): Call load_face_font here.
 -      (realize_tty_face): Delete argument C.  Change caller.
 -      (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
 -      get a face ID.
 -      (dump_realized_face): Don't print charset of FACE.
 -
 -      * xfns.c (x_set_font): Always call x_new_fontset and
 -      store_frame_parameter.
 -      (Fx_create_frame): Call x_new_fontset, not x_new_font.
 -      (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
 -
 -      * xterm.h (x_get_font_repertory): Extern it.
 -
 -      * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
 -      SINGLE_BYTE_CHAR_P.  Fix the logic of handling non-ASCII char when
 -      it->multibyte_p is zero.
 -      (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
 -      (x_new_fontset): If FONTSETNAME doesn't match any existing
 -      fontsets, create a new one.
 -      (x_get_font_repertory): New function.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Ffind_coding_systems_region_internal): Detect an
 -      ASCII only string correctly.
 -
 -      * lread.c (Fload): Don't load with Qload_force_doc_strings t if
 -      version is 0.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * lread.c: Include "coding.h".
 -      (Qget_emacs_mule_file_char, Qload_force_doc_strings)
 -      (load_each_byte, unread_char): New variables.
 -      (readchar_backlog): Delete.
 -      (readchar): Return a character unless load_each_byte is nonzero.
 -      Handle the case that readcharfun is Qget_emacs_mule_file_char or a
 -      cons.  If unread_char is not -1, simply return it.
 -      (unreadchar): Handle the case that readcharfun is
 -      Qget_emacs_mule_file_char or a cons.  Set unread_char if necessary.
 -      (read_multibyte): Delete.
 -      (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
 -      (read_emacs_mule_char): New functions.
 -      (Fload): Even if the file doesn't have the extension ".elc", if
 -      safe_to_load_p returns a positive version number, assume that the
 -      file contains bytecompiled code.  If the version is less than 22,
 -      load the file while decoding multibyte sequences by emacs-mule.
 -      (readevalloop): Don't use readchar_backlog.
 -      (Fread): Likewise.  Pay attention to the case that STREAM is a cons.
 -      (Fread_from_string): Pay attention to the case that STREAM is a cons.
 -      (read_escape): Delete the arg BYTEREP.
 -      (read1): Set load_each_byte to 1 temporarily while handling
 -      #@NUMBER.  Don't call read_multibyte.
 -      (read_vector): Call Fread with a cons.  If readcharfun is
 -      Qget_emacs_mule_file_char, decode the read string by emacs-mule.
 -      (read_list): If doc_reference is 2, make the cdr part string as unibyte.
 -      (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
 -      and Qload_force_doc_strings.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (face_before_or_after_it_pos): Call
 -      FETCH_MULTIBYTE_CHAR with byte postion, not char position.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (TRAILING_CODE_P): New macro.
 -      (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
 -      (string_char_with_unification): Fix prototype.
 -      (Vscript_alist): Extern it.
 -
 -      * character.c (Vscript_alist): New variable.
 -      (string_char_with_unification, str_as_unibyte)
 -      (string_escape_byte8): Add `const' to local variables.
 -      (syms_of_character): Declare script-alist as a Lisp variable.
 -
 -      * charset.h (Vcharset_ordered_list): Extern it.
 -      (charset_ordered_list_tick): Extern it.
 -      (EMACS_MULE_LEADING_CODE_PRIVATE_11)
 -      (EMACS_MULE_LEADING_CODE_PRIVATE_12)
 -      (EMACS_MULE_LEADING_CODE_PRIVATE_21)
 -      (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
 -      (Funify_charset): Adjust for the change of Funify_charset.
 -
 -      * charset.c (charset_ordered_list_tick): New variable.
 -      (Fdefine_charset_internal): Increment charset_ordered_list_tick.
 -      (Funify_charset): New optional arg DEUNIFY.  If it is non-nil,
 -      deunify intead of unify a charset.
 -      (string_xstring_p): Add `const' to local variables.
 -      (find_charsets_in_text): Add `const' to arguments and local variables.
 -      (encode_char): Adjust for the change of Funify_charset.  Fix
 -      detecting of invalid code.
 -      (Fset_charset_priority): Increment charset_ordered_list_tick.
 -      (Fmap_charset_chars): Fix handling of default value for FROM_CODE
 -      and TO_CODE.
 -
 -      * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
 -      (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
 -      Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
 -      (decode_coding_ccl, consume_chars)
 -      (Ffind_coding_systems_region_internal)
 -      (Fcheck_coding_systems_region): Add `const' to local variables.
 -
 -      * print.c (print_object): Use octal form for printing the
 -      contents of a bool vector.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
 -      <version == 20>: Refuse to load.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c: Move coding.h.
 -      (Qcodeset, Qdays, Qmonths): New.
 -      (concat): Use CHARACTERP instead of INTEGERP.
 -      (Flocale_codeset): Delete.
 -      (Flanginfo): New function.
 -      (syms_of_fns): Change accordingly.
 -
 -      * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * casetab.c (init_casetab_once, init_casetab_once): Fix
 -      CHAR_TABLE_SET call.
 -
 -      * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
 -
 -      * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
 -
 -      * charset.c (Fmap_charset_chars): Check args.  Convert Lisp types.
 -      (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
 -      (Fset_charset_priority, syms_of_charset): Convert Lisp types.
 -
 -      * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
 -
 -      * coding.c (ENCODE_DESIGNATION, decode_eol)
 -      (make_conversion_work_buffer, code_conversion_restore)
 -      (Fdefine_coding_system_internal): Convert Lisp types.
 -      (code_conversion_restore): Use EQ, not ==.
 -      (Fencode_coding_string): Fix code_convert_string call.
 -
 -      * coding.h (code_convert_region): Fix prototype.
 -
 -      * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
 -
 -      * fontset.c (fontset_ref, fontset_set, fs_load_font)
 -      (Ffontset_info): Convert Lisp types.
 -
 -      * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
 -
 -      * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
 -
 -      * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
 -
 -      * chartab.c: Include "...h", not <...h> in some cases.
 -
 -      * callproc.c (Fcall_process): Remove unused variables.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (Fset_coding_system_priority): Allow null arg list.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * minibuf.c (Fminibuffer_complete_word): Remove unused var.
 -      (Fself_insert_and_exit): Use CHARACTERP.
 -
 -      * callproc.c (Fcall_process): Remove unused vars.
 -
 -      * xterm.c (XTread_socket): Add extra dead keysyms.
 -
 -      * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
 -
 -      * dispextern.h: Remove prototypes for redraw_frame,
 -      redraw_garbaged_frames.
 -
 -      * cmds.c (Fself_insert_command): Use CHARACTERP.
 -
 -      * chartab.c (make_sub_char_table): Remove unused var.
 -      (Fset_char_table_default, Fmap_char_table): Doc fix.
 -
 -      * keymap.c (access_keymap): Remove generic char code.
 -      (push_key_description): Use CHARACTERP.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * charset.c: Doc fixes.
 -      (Funify_charset): Extra checking.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * lread.c: Remove some unused variables.
 -      (safe_to_load_p): If safe, return the magic number version byte.
 -      (Fload): Maybe use load-with-code-conversion.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * category.c (Fmodify_category_entry): Don't modify the contents
 -      of category_set for characters out of the range.  Avoid
 -      unnecessary modification.
 -
 -      * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
 -      Vchar_unify_table.  The default value of the table is now nil.
 -
 -      * character.c (syms_of_character): Setup Vchar_width_table for
 -      eight-bit-control and raw-byte chars.
 -
 -      * charset.h (enum define_charset_arg_index): Delete
 -      charset_arg_parents and add charset_arg_subset and
 -      charset_arg_superset.
 -      (enum charset_attr_index): Delete charset_parents and add
 -      charset_subset and charset_superset.
 -      (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
 -      CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
 -      (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
 -      (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
 -      (CHARSET_SUPERSET): New macros.
 -      (charset_work): Extern it.
 -      (ENCODE_CHAR): Use charset_work.
 -      (CHAR_CHARSET_P): Adjust for the change of encoder format.
 -      (map_charset_chars): Extern it.
 -
 -      * charset.c (load_charset_map): Set the default value of encoder
 -      and deunifier char-tables to nil.
 -      (map_charset_chars): Change argument.  Change callers.  Use
 -      map_char_table_for_charset instead of map_char_table.
 -      (Fmap_charset_chars): New optional args from_code and to_code.
 -      (Fdefine_charset_internal): Adjust for the change of
 -      `define-charset' (:parents -> :subset or :superset).
 -      (charset_work): New variable.
 -      (encode_char, syms_of_charset): Adjust for the change of
 -      Fdefine_charset_internal.
 -      (Ffind_charset_string): Setup the vector `charsets' correctly.
 -
 -      * chartab.c (sub_char_table_ref_and_range): New arg default.  Fix
 -      the previous change.
 -      (char_table_ref_and_range): Adjust for the above change.
 -      (map_sub_char_table_for_charset): New function.
 -      (map_char_table_for_charset): New function.
 -
 -      * keymap.c (describe_vector): Handle a char-table directly here.
 -      (describe_char_table): Delete.
 -
 -      * lisp.h (map_charset_chars): Delete.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c (count_combining): Comment out (unused).
 -      (Flocale_codeset): New.
 -      (syms_of_fns): Defsubr it.
 -
 -      * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
 -      (size_t): Remove.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * Makefile.in (chartab.o): Depend on charset.h.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (syms_of_character): Set the default value of
 -      Vprintable_chars to Qnil.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (load_charset_map): Handle the case that from < to
 -      correctly.
 -
 -      * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
 -      (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
 -      Pay attention to raw-8-bit chars.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
 -      It is not bytecompiled now.
 -
 -      * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
 -      (charset_jisx0208): New variables.
 -      (Fdefine_charset_internal): Setup them if appropriate.
 -      (init_charset_once): Initialize them to -1.
 -
 -      * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
 -      (charset_jisx0208): Extern them.
 -
 -      * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
 -      (CODING_ISO_FLAG_USE_OLDJIS): New macro.
 -      (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
 -      (setup_iso_safe_charsets): Fix arguments to Fassq.
 -      (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
 -      (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
 -      CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
 -      (encode_coding_iso_2022): Change the 1st arg to
 -      ENCODE_ISO_CHARACTER to a variable.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (enum define_charset_arg_index): New enums
 -      charset_arg_min_code and charset_arg_max_code.
 -      (struct charset): New member char_index_offset.
 -
 -      * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
 -      Take charset->char_index_offset into account.
 -      (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
 -      args[charset_arg_max_code].  Setup charset.char_index_offset.
 -      (syms_of_charset): Fix args to Fdefine_charset_internal.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (decode_coding_utf_8): Reject overlong sequences.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c: Doc fixes.
 -      (Fcoding_system_aliases): Fix return value.
 -      (Qmac): Remove (duplicated) definition.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * charset.c (Fcharset_priority_list, Fset_charset_priority):
 -      New functions.
 -
 -      * character.c (Fstring): Doc fix.
 -
 -      * charset.c (Fdefine_charset_alias): Update Vcharset_list.
 -
 -      * fontset.c (Ffontset_info): Doc fix.  Return charset names, not ids.
 -      (font-encoding-alist): Doc fix.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * term.c (costs_set): Declare static, non-initialized for pcc.
 -      (encode_terminal_code): Remove unused var.
 -
 -      * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
 -      for K&R.
 -
 -      * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
 -
 -      * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
 -      (suffixes): Move out of make_subsidiaries for K&R.
 -
 -      * charset.c (map_charset_chars): Fix c_function declaration for K&R.
 -
 -      * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * data.c (Fchar_or_string_p): Doc fix.  Use CHARACTERP.
 -
 -      * category.c (Fmodify_category_entry): Doc fix.  Remove unused vars.
 -
 -2008-02-01  Yong Lu  <lyongu@asia-infonet.com>
 -
 -      * charset.c (Fdefine_charset_internal): Fix argument to bzero.
 -
 -      * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
 -      vietnamese.elc to vietnamese.el.  They are not bytecompiled now.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_charset): Adjust for the change of
 -      Fdefine_coding_system_internal.
 -      (Fdefine_coding_system_internal): For a coding system of
 -      `charset' type, store a list of charset IDs in
 -      `charset_attr_charset_valids' element of coding attributes.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
 -      (emacs_mule_char): New arg src.  Delete arg `composition'.  Change
 -      caller.  Handle 2-byte and 3-byte charsets correctly.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
 -      DECODE_EMACS_MULE_COMPOSITION_RULE.  Change caller.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
 -      (DECODE_EMACS_MULE_21_COMPOSITION): Call
 -      DECODE_EMACS_MULE_COMPOSITION_RULE_21.  Produce correct annotation
 -      sequence.
 -      (decode_coding_emacs_mule): Handle composition correctly.  Rewind
 -      `src' and `consumed_chars' correctly before calling emacs_mule_char.
 -      (DECODE_COMPOSITION_START): Correctly handle the case of altchar
 -      and alt&rule composition.
 -      (decode_coding_iso_2022): Handle composition correctly.
 -      (init_coding_once): Setup emacs_mule_bytes for private charsets.
 -
 -      * charset.c (Fdefine_charset_internal): Fix bug for the case of
 -      re-defining a charset.  If the charset has :emacs-mule-id, setup
 -      emacs_mule_bytes.
 -      (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_iso_2022, encode_coding_sjis)
 -      (encode_coding_big5, encode_coding_charset): If coding requires safe
 -      encoding, produce a character specified by
 -      CODING_INHIBIT_CHARACTER_SUBSTITUTION.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (XSetIMValues): Declare.
 -
 -      * process.c: Conditionally include sys/wait.h, pty.h.
 -
 -      * print.c (print_object): Fix print format for 64-bit systems.
 -
 -      * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
 -
 -      * buffer.c (emacs_strerror): Declare.
 -
 -      * fontset.c (Fclear_face_cache): Declare.
 -      (accumulate_font_info): Comment-out (unused).
 -      (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
 -      variables.
 -
 -      * character.h (string_escape_byte8): Declare.
 -
 -      * charset.c (load_charset_map, load_charset_map_from_file): Remove
 -      unused vars.
 -      (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
 -      (Fmap_charset_chars): Doc fix.
 -
 -      * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
 -      (Fset_coding_system_priority, Fset_coding_system_priority)
 -      (Fdefine_coding_system_internal): Doc fix.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (string_escape_byte8): Make multibyte string with
 -      correct size.
 -
 -      * charset.c (Fmake_char): Delete unnecessary code.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfns.c (x_encode_text): Allocate coding.destination here, and
 -      call encode_coding_object with dst_object Qnil.
 -
 -      * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
 -      multibyte form correctly.
 -
 -      * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
 -      against Vfont_encoding_alist.
 -
 -      * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF).  Fix the
 -      handling of charset list.
 -      (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
 -      (decode_coding_object): Move point to coding->dst_pos before
 -      calling post-read-conversion function.
 -      (encode_coding_object): Give correct arguments to
 -      pre-write-conversion.  Ignore the return value of
 -      pre-write-conversion function.  Pay attention to the case that
 -      pre-write-conversion changes the current buffer.  If dst_object is
 -      Qt, even if coding->src_bytes is zero, allocate at least one byte
 -      to coding->destination.
 -
 -      * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
 -
 -      * charset.c (Fmake_char): Make it more backward compatible.
 -      (Fmap_charset_chars): Fix docstring.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c: Doc fixes.
 -      (Fdefine_coding_system_alias): Use names, not symbols, in
 -      coding-system-alist.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
 -      of calling free_realized_face.
 -
 -2008-02-01  Yong Lu  <lyongu@asia-infonet.com>
 -
 -      * charset.c (read_hex): Don't treat SPC as a comment starter.
 -      (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
 -      (Fdecode_char): Fix typo.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (struct charset): New member `code_space_mask'.
 -
 -      * coding.c (coding_set_source): Delete the local variable beg_byte.
 -      (encode_coding_charset, Fdefine_coding_system_internal):
 -      Delete the local variable charset.
 -      (Fdefine_coding_system_internal): Setup
 -      attrs[coding_attr_charset_valids] correctly.
 -
 -      * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
 -      member to check if CODE is valid or not.
 -      (Fdefine_charset_internal): Initialize `code_space_mask' member.
 -      (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
 -      is within the range of charset->min_code and carset->max_code.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * syntax.h (syntax_temp) [!__GNUC__]: Declare.
 -
 -      * dispextern.h (generate_ascii_font): Fix return type.
 -
 -      * xfaces.c (generate_ascii_font): Fix arg declaration.
 -
 -      * coding.c (coding_inherit_eol_type)
 -      (Fset_terminal_coding_system_internal)
 -      (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_charset, encode_coding_charset): Handle
 -      multiple charsets correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (boyer_moore): Fix handling of multibyte character
 -      translation.
 -
 -      * xdisp.c (display_mode_element): When the variable `elt' is
 -      changed, update `this' and `lisp_string'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
 -
 -      * callproc.c (Fcall_process): Be sure to give the current buffer
 -      to decode_coding_c_string.  Update PT and PT_BYTE after the insertion.
 -
 -      * charset.c (struct charset_map_entries): New struct.
 -      (load_charset_map): Rename from parse_charset_map.  New args
 -      entries and n_entries.  Change caller.
 -      (load_charset_map_from_file): Rename from load_charset_map.
 -      Change caller.  New arg control_flag.  Call load_charset_map at
 -      the tail.
 -      (load_charset_map_from_vector): New function.
 -      (Fdefine_charset_internal): Setup charset.compact_codes_p.
 -      (encode_char): If the charset is compact, change a character index
 -      to a code point.
 -
 -      * coding.c (coding_alloc_by_making_gap): Check the case that the
 -      source and destination are the same correctly.
 -      (decode_coding_raw_text): Set coding->consumed_char and
 -      coding->consumed to 0.
 -      (produce_chars): If coding->chars_at_source is nonzero, update
 -      coding->consumed_char and coding->consumed before calling
 -      alloc_destination.
 -      (Fdefine_coding_system_alias): Register ALIAS in
 -      Vcoding_system_alist.
 -      (syms_of_coding): Define `no-conversion' coding system at the tail.
 -
 -      * fileio.c (Finsert_file_contents): Set coding_system instead of
 -      val.  If the current buffer is multibyte, always call
 -      decode_coding_gap.
 -
 -      * xfaces.c (try_font_list): Give higher priority to fontset's
 -      family than face's family.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * callproc.c (Fcall_process): Be sure to give the current buffer
 -      to decode_coding_c_string.
 -
 -      * xfaces.c (try_font_list): Give a family specified in a fontset
 -      higher priority than a family specified in a face.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
 -      Fix arguments to insert_from_buffer.
 -
 -      * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (produce_chars): Set the variable `multibytep' correctly.
 -      (decode_coding_gap): Set coding->dst_multibyte correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
 -      (decode_coding_utf_16): Fix converting high and low bytes to code-point.
 -      (encode_coding_utf_16): Substitute coding->default_char for
 -      non-Unicode characters.
 -      (decode_coding): Don't call record_insert here.
 -      (setup_coding_system): Initialize `surrogate' of
 -      coding->spec.utf_16 to 0.
 -      (EMIT_ONE_BYTE): Fix for multibyte case.
 -
 -      * insdel.c (insert_from_gap): Call record_insert.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * casefiddle.c (casify_region): Fix multibyte case.
 -
 -      * character.c (c_string_width): Add return type `int'.
 -      (char_string_with_unification): Delete arg ADVANCED.
 -
 -      * character.h (CHAR_VALID_P): Don't call CHARACTERP.
 -      (CHAR_STRING): Adjust for the change of char_string_with_unification.
 -      (CHAR_STRING_ADVANCE): Make it do-while statement.
 -
 -      * chartab.c (sub_char_table_set_range): Optimize for the case
 -      DEPTH == 3.  Add workaround code for a GCC optimization bug.
 -
 -      * charset.c (parse_charset_map): Remove an unused variable.
 -
 -      * coding.c: Delete unused variables.
 -
 -      * fileio.c (Finsert_file_contents): Set coding_system to Qnil
 -      earlier.  If inserted is zero and the coding system doesn't
 -      require flushing, don't call decode_coding_gap.
 -
 -      * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes are for using Unicode as an internal
 -      character model, and use UTF-8 format for buffer/string
 -      representation.
 -
 -      * .gdbinit (xchartable): Adjust for the change of char table structure.
 -      (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
 -
 -      * Makefile.in (obj): Add character.o and chartab.o.
 -      (lisp, shortlisp): Remove utf-8.elc.
 -      (*.o): For many files, change dependency on charset.h to
 -      character.h, and add dependency on character.h.
 -      (character.o, chartab.o): New targets.
 -
 -      * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
 -      * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
 -      * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
 -      of "charset.h".
 -
 -      * dired.c, filelock.c: Include "character.h".
 -
 -      * alloc.c: Include "character.h" instead of "charset.h".
 -      (Fmake_char_table, make_sub_char_table): Move to chartab.c.
 -      (syms_of_alloc): Remove defsubr for Smake_char_table.
 -
 -      * buffer.c: Include "character.h" instead of "charset.h", don't
 -      include "coding.h".
 -      (Fset_buffer_multibyte): Adjust for UTF-8.
 -
 -      * buffer.h: EXFUN Fbuffer_live_p.
 -
 -      * callproc.c: Include "character.h" instead of "charset.h".
 -      (Fcall_process): Big change for the new code-conversion APIs.
 -
 -      * casetab.c: Include "character.h" instead of "charset.h".
 -      (set_canon, set_identity, shuffle): Adjust for the new
 -      map_char_table spec.
 -      (init_casetab_once): Call CHAR_TABLE_SET instead of directly
 -      accessing the char table structure.
 -
 -      * chartab.c: New file that implements char table.
 -
 -      * category.c: Include "character.h".
 -      (copy_category_entry): New function.
 -      (copy_category_table): Call map_char_table and copy_category_entry.
 -      (Fmake_category_table): Initialize all top-level slots.
 -      (char_category_set): New function.
 -      (modify_lower_category_set): Delete.
 -      (Fmodify_category_entry): Call char_table_ref_and_range.
 -
 -      * category.h (CATEGORY_SET): Just call char_category_set.
 -
 -      * ccl.c: Include "character.h".
 -      (Qccl, Qcclp): New variables.
 -      (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
 -      it's less than 256.
 -      (CCL_WRITE_MULTIBYTE_CHAR): Delete.
 -      (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
 -      and DST type.
 -      (ccl_driver): Change types of argument, adjust code accordingly.
 -      (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
 -      ccl_driver.
 -      (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
 -
 -      * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
 -      New members src_multibyte, dst_multibyte, consumed, and produced.
 -      (struct ccl_spec): Delete members decoder and encoder.  New member ccl.
 -      (CODING_SPEC_CCL_PROGRAM): New macro.
 -      (ccl_driver): Update prototype.
 -      (Qccl, Qcclp, Fccl_program_p): Extern them.
 -      (CHECK_CCL_PROGRAM): New macro.
 -
 -      * character.c, character.h, chartab.c: New files.
 -
 -      * charset.c: Mostly re-written.  Move character and multibyte sequence
 -      handling codes to character.c.
 -
 -      * charset.h: Mostly re-written.  Move character and multibyte sequence
 -      handling codes to character.h.
 -
 -      * coding.c, coding.h: Mostly re-written.
 -
 -      * composite.c: Include "character.h" instead of "charset.h".
 -      (CHAR_WIDTH): Move to character.h.
 -      (HASH_KEY, HASH_VALUE): Delete.
 -
 -      * composite.h (enum composition_method): Change order of enumeration
 -      symbols.
 -
 -      * data.c: Include "character.h" instead of "charset.h".
 -      (Faref): Call CHAR_TABLE_REF for a char table.
 -      (Faset): Call CHAR_TABLE_SET for a char table.
 -
 -      * dispextern.h (free_realized_face, check_face_attribytes)
 -      (generate_ascii_font): Extern them.
 -      (free_realized_multibyte_face): Delete extern.
 -
 -      * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
 -      table structure.
 -
 -      * editfns.c: Include "character.h" instead of "charset.h".
 -      (Fchar_to_string): Always call CHAR_STRING.
 -
 -      * emacs.c (main): Call init_charset_once, init_charset,
 -      syms_of_chartab, and syms_of_character.
 -
 -      * fileio.c: Include "character.h" instead of "charset.h".
 -      (Finsert_file_contents): Big change for the new code-conversion API.
 -      (choose_write_coding_system, Fwrite_region): Likewise.
 -      (build_annotations_2): Delete.
 -      (e_write): Big change for the new code-conversion API.
 -
 -      * fns.c: Include "character.h" instead of "charset.h".
 -      (copy_sub_char_table): Move to chartab.c.
 -      (Fcopy_sequence): Call copy_char_table for a char table.
 -      (concat): Delete codes calling count_multibyte.
 -      (string_char_to_byte, string_byte_to_char): Adjust for the new
 -      multibyte form.
 -      (internal_equal): Adjust for the change of char table structure.
 -      (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
 -      (Fchar_table_extra_slot, Fset_char_table_extra_slot)
 -      (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
 -      (char_table_translate, optimize_sub_char_table)
 -      (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
 -      chartab.c.
 -      (char_table_ref_and_index): Delete.
 -      (HASH_KEY, HASH_VALUE): Move to lisp.h.
 -      (Fmd5): Call preferred_coding_system instead of accessing
 -      Vcoding_category_list.  Adjust for the new code-conversion API.
 -      (syms_of_fns): Move defsubr for char table related functions to
 -      chartab.c.
 -
 -      * fontset.c: Mostly re-written.
 -
 -      * fontset.h (struct font_info): Change type of the member encoding_type.
 -      (enum FONT_SPEC_INDEX): New enum.
 -      (fontset_font_pattern, fs_load_font): Update prototype.
 -      (FS_LOAD_FONT): Adjust for the change of fs_load_font.
 -
 -      * indent.c: Include "character.h" instead of "charset.h".
 -      (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
 -
 -      * insdel.c: Include "character.h" instead of "charset.h".
 -      (copy_text): Don't refer to Vnonascii_translation_table.
 -      (insert_from_gap): New function.
 -
 -      * keyboard.c: Include "character.h" instead of "charset.h".
 -      (command_loop_1): Never call direct_output_forward_char before
 -      a non-ASCII character.
 -      (read_char): If Vkeyboard_translate_table is a char table, always
 -      translate a character.
 -
 -      * keymap.c: Include "character.h".
 -      (store_in_keymap): Handle the case that IDX is a cons.
 -      (Fdefine_key): Handle the case that KEY is a cons and the car part
 -      is also a cons (range).
 -      (push_key_description): Adjust for the new character code.
 -      (describe_vector): Call describe_char_table for a char table.
 -      (describe_char_table): New function.
 -
 -      * keymap.h (describe_char_table): Extern it.
 -
 -      * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
 -      (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
 -      (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
 -      (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
 -      Delete.
 -      (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
 -      structure.
 -      (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
 -      (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
 -      (CHARTAB_SIZE_BITS_3): New macros.
 -      (chartab_size): Extern it.
 -      (struct Lisp_Char_Table): Re-design.
 -      (struct Lisp_Sub_Char_Table): New structure.
 -      (HASH_KEY, HASH_VALUE): Move from fns.c.
 -      (CHARACTERBITS): Define as 22.
 -      (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
 -      (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
 -      (GC_SUB_CHAR_TABLE_P): New macro.
 -      (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
 -      (code_convert_string_norecord): Deleted extern.
 -      (init_character_once, syms_of_character, init_charset)
 -      (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
 -
 -      * lread.c: Include "character.h".
 -      (read_multibyte): New arg NBYTES.
 -      (read_escape): Change the meaning of returned *BYTEREP.
 -      (to_multibyte): Delete.
 -      (read1): Adjust the handling of char table and string.
 -
 -      * print.c: Include "character.h" instead of "charset.h".
 -      (print_string): Convert 8-bit raw bytes to octal form by
 -      string_escape_byte8.
 -      (print_object): Adjust for the new multibyte form.  Print 8-bit
 -      raw bytes always in octal form.  Handle sub char table correctly.
 -
 -      * process.c: Include "character.h" instead of "charset.h".
 -      (read_process_output, send_process): Adjust for the new
 -      code-conversion API.
 -
 -      * puresize.h (BASE_PURESIZE): Increase.
 -
 -      * regex.c: Include "character.h" instead of "charset.h".
 -      (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
 -      (regex_compile): Accept a range whose starting and ending
 -      character have different leading bytes.
 -      (analyse_first): Adjust for the above change.
 -
 -      * search.c: Include "character.h" instead of "charset.h".
 -      (search_buffer, boyer_moore): Adjust for the new multibyte form.
 -      (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
 -
 -      * syntax.c: Include "character.h" instead of "charset.h".
 -      (syntax_parent_lookup): Delete.
 -      (Fmodify_syntax_entry): Accept a cons as CHAR.
 -      (skip_chars): Adjust for the new multibyte form.
 -      (init_syntax_once): Call char_table_set_range instead of directly
 -      accessing the structure of a char table.
 -
 -      * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
 -      (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
 -      (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
 -      (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
 -
 -      * term.c: Include "buffer.h" and "character.h".
 -      (encode_terminal_code, write_glyphs): Adjust for the new
 -      code-conversion API.
 -      (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
 -
 -      * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
 -
 -      * xdisp.c: Include "character.h".
 -      (get_next_display_element): Adjust for the new multibyte form.
 -      (disp_char_vector): Adjust for the new char table structure.
 -      (decode_mode_spec_coding): Adjust for the new structure of
 -      coding system.
 -      (decode_mode_spec): Adjust for the new code-conversion API.
 -
 -      * xfaces.c: Include "character.h" instead of "charset.h".
 -      (load_face_font): Adjust for the change of choose_face_font and
 -      FS_LOAD_FONT.
 -      (generate_ascii_font): New function.
 -      (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
 -      (set_font_frame_param): Adjust for the change of choose_face_font.
 -      (free_realized_face): Make it public.
 -      (free_realized_faces_for_fontset): Rename from
 -      free_realized_multibyte_face.  Free also faces realized for ASCII.
 -      (choose_face_font): Change arguments.  Adjust for the change of
 -      fontset_font_pattern and FS_LOAD_FONT.
 -
 -      * xfns.c: Include "character.h".
 -      (x_encode_text): Adjust for the new code-conversion API.
 -
 -      * xselect.c: Don't include "charset.h".
 -      (selection_data_to_lisp_data): Adjust for the new code conversion API.
 -
 -      * xterm.c: Include "character.h".
 -      (x_encode_char): New argument CHARSET.  Change caller.
 -      (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
 -      Call ENCODE_CHAR instead of SPLIT_CHAR.
 -      (x_produce_glyphs): Don't check Vnonascii_translation_table Call
 -      CHAR_WIDTH instead of CHARSET_WIDTH.
 -      (XTread_socket): Adjust for the new code-conversion API.
 -      (x_new_font): Adjust for the change of FS_LOAD_FONT.
 -      (x_load_font): Adjust for the change of struct font.
 -
 -2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfaces.c (face_at_buffer_position): Remove unused vars.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
 -      Fix overflow checking.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
 -      Cancel previous change.
 -
 -2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
 -      ccl->eight_bit_control.  Fix check for buffer overflow.
 -      (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
 -      (ccl_driver): Initialize extra_bytes to 0.
 -
 -2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * keyboard.c (make_ctrl_char): If C is a multibyte character, just
 -      return it ORed with ctrl_modifier.
 -
 -2008-01-29  Miles Bader  <miles@gnu.org>
 -
 -      * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
 -
 -2008-01-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (stat): Don't double check for networked drive.
 -
 -2008-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (run_window_configuration_change_hook): New function.
 -      Code extracted from set_window_buffer.  Set the selected frame.
 -      (set_window_buffer): Use it.
 -      * window.h (run_window_configuration_change_hook): Declare.
 -      * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
 -
 -      * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
 -
 -2008-01-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in: Remove references to unused macros.
 -
 -2008-01-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (g_b_init_get_sid_sub_authority)
 -      (g_b_init_get_sid_sub_authority_count): New static variables.
 -      (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
 -      (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
 -      (init_user_info): Use them to retrieve uid and gid.
 -      Use 500/513, the Windows defaults, as Administrator's uid/gid.
 -      (fstat): Use pw_uid and pw_gid from the_passwd structure for
 -      st_uid and st_gid of the file.
 -
 -2008-01-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (logon_network_drive): New function.
 -      (stat): Use it.
 -
 -2008-01-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): Handle the case where charpos falls on
 -      invisible text covered with an ellipsis.
 -
 -2008-01-25  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
 -      jump back to beginning.  Move some other initializations after that.
 -      (Qwindow_text_change_functions, Vwindow_text_change_functions):
 -      New variables.
 -      (syms_of_xdisp): Init them.
 -
 -      * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
 -
 -      * buffer.c (reset_buffer_local_variables):
 -      Implement `permanent-local-hook'.
 -      (Qpermanent_local_hook): New variable.
 -      (syms_of_buffer): Init and staticpro it.
 -
 -2008-01-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
 -
 -2008-01-25  Thien-Thi Nguyen  <ttn@gnuvola.org>
 -
 -      * fns.c (Fclrhash): Return TABLE.
 -
 -2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
 -      (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
 -      is set even without positional changes.
 -      (x_scroll_bar_clear): Set bar->redraw_needed_p.
 -
 -      * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
 -
 -2008-01-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
 -
 -      * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
 -      the unicode range available in MULE by locale-coding-system.
 -      Improve dbcs lead byte detection.  Set event timestamp and modifiers
 -      earlier.
 -
 -2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
 -      [MAC_OSX] (init_mac_osx_environment): Initialize it.
 -      [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
 -      when used on child processes.
 -
 -2008-01-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_method_return_internal): Rename from
 -      Fdbus_method_return.
 -      (Fdbus_unregister_object): Move to dbus.el.
 -      (Fdbus_call_method, Fdbus_method_return_internal)
 -      (Fdbus_send_signal): Improve debug messages.
 -
 -2008-01-20  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * undo.c (undo_inhibit_record_point): New variable.
 -      (syms_of_undo): Initialize it.
 -      (record_point): Don't record point when undo_inhibit_record_point
 -      is set.
 -
 -2008-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
 -
 -      * xdisp.c (Qauto_hscroll_mode): New var.
 -      (syms_of_xdisp): Initialize it.
 -      (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
 -      window's buffer.
 -      (hscroll_windows): Don't check automatic_hscrolling_p here.
 -
 -      * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
 -      vscroll if we're setting window-buffer to the value it already has.
 -
 -2008-01-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/intel386.h: Remove references to XENIX.
 -
 -2008-01-17  Andreas Schwab  <schwab@suse.de>
 -
 -      * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
 -      instead of HAVE_X86_64_LIB64_DIR.
 -      * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
 -
 -2008-01-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
 -      to HAVE_X86_64_LIB64_DIR.
 -
 -2008-01-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/irix3-3.h:
 -      * s/irix4-0.h:
 -      * s/386-ix.h:
 -      * s/domain.h:
 -      * s/hpux9-x11r4.h:
 -      * s/hpux9shxr4.h: Remove files for systems no longer supported.
 -
 -      * sysdep.c: Remove code containing references to symbols defined
 -      by unsupported systems.
 -
 -2008-01-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * coding.c (select-safe-coding-system-function): Doc fix.
 -
 -2008-01-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * config.in: Revert 2008-01-13 change: this is a generated file.
 -
 -2008-01-13  Tom Tromey  <tromey@redhat.com>
 -
 -      * lisp.h: Fix typo.
 -
 -2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/sequent-ptx.h:
 -      * m/sequent.h:
 -      * s/ptx.h:
 -      * s/ptx4-2.h:
 -      * s/ptx4.h: Remove files for systems no longer supported.
 -
 -      * callproc.c (Fcall_process): Fix previous change.
 -
 -2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * unexsunos4.c: Remove file, system not supported anymore.
 -
 -      * m/mips.h:
 -      * m/intel386.h:
 -      * callproc.c:
 -      * config.in:
 -      * ecrt0.c:
 -      * emacs.c:
 -      * fileio.c:
 -      * frame.c:
 -      * getpagesize.h:
 -      * keyboard.c:
 -      * lread.c:
 -      * process.c:
 -      * puresize.h:
 -      * sysdep.c:
 -      * systty.h:
 -      * syswait.h:
 -      * unexec.c:
 -      * xdisp.c:
 -      * alloc.c: Remove code containing references to symbols defined by
 -      unsupported systems.
 -
 -2008-01-11  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (detect_coding_mask): Fix previous change.
 -
 -2008-01-09  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (detect_coding_iso2022): New arg
 -      latin_extra_code_state.  Allow Latin extra codes only
 -      when *latin_extra_code_state is nonzero.
 -      (detect_coding_mask): If there is a NULL byte, detect the encoding
 -      as UTF-16 or binary.  If Latin extra codes exist, detect the
 -      encoding as ISO-2022 only when there's no other proper encoding is
 -      found.
 -
 -2008-01-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
 -      #ifdef MAC_OS.
 -
 -2008-01-08  Richard Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
 -
 -2008-01-06  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * keyboard.c (parse_menu_item): Don't enclose key bindings on
 -      menu bar in parentheses.
 -
 -2008-01-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/7300.h:
 -      * m/acorn.h:
 -      * m/alliant-2800.h:
 -      * m/alliant.h:
 -      * m/alliant1.h:
 -      * m/alliant4.h:
 -      * m/altos.h:
 -      * m/amdahl.h:
 -      * m/apollo.h:
 -      * m/att3b.h:
 -      * m/aviion-intel.h:
 -      * m/aviion.h:
 -      * m/celerity.h:
 -      * m/clipper.h:
 -      * m/cnvrgnt.h:
 -      * m/convex.h:
 -      * m/cydra5.h:
 -      * m/delta88k.h:
 -      * m/dpx2.h:
 -      * m/dual.h:
 -      * m/elxsi.h:
 -      * m/f301.h:
 -      * m/gould-np1.h:
 -      * m/gould.h:
 -      * m/i860.h:
 -      * m/ibmps2-aix.h:
 -      * m/ibmrt-aix.h:
 -      * m/ibmrt.h:
 -      * m/irist.h:
 -      * m/is386.h:
 -      * m/isi-ov.h:
 -      * m/mega68.h:
 -      * m/mg1.h:
 -      * m/news-r6.h:
 -      * m/news-risc.h:
 -      * m/news.h:
 -      * m/nh3000.h:
 -      * m/nh4000.h:
 -      * m/ns16000.h:
 -      * m/ns32000.h:
 -      * m/nu.h:
 -      * m/orion.h:
 -      * m/orion105.h:
 -      * m/paragon.h:
 -      * m/pfa50.h:
 -      * m/plexus.h:
 -      * m/pyramid.h:
 -      * m/pyrmips.h:
 -      * m/sh3el.h:
 -      * m/sps7.h:
 -      * m/sr2k.h:
 -      * m/stride.h:
 -      * m/sun1.h:
 -      * m/sun2.h:
 -      * m/sun3-68881.h:
 -      * m/sun3-fpa.h:
 -      * m/sun3-soft.h:
 -      * m/sun3.h:
 -      * m/sun386.h:
 -      * m/symmetry.h:
 -      * m/tad68k.h:
 -      * m/tahoe.h:
 -      * m/targon31.h:
 -      * m/tek4300.h:
 -      * m/tekxd88.h:
 -      * m/tower32.h:
 -      * m/tower32v3.h:
 -      * m/ustation.h:
 -      * m/wicat.h:
 -      * m/xps100.h:
 -      * s/cxux.h:
 -      * s/cxux7.h:
 -      * s/dgux.h:
 -      * s/dgux4.h:
 -      * s/dgux5-4-3.h:
 -      * s/dgux5-4r2.h:
 -      * s/esix.h:
 -      * s/esix5r4.h:
 -      * s/hiuxmpp.h:
 -      * s/hiuxwe2.h:
 -      * s/iris3-5.h:
 -      * s/iris3-6.h:
 -      * s/isc2-2.h:
 -      * s/isc3-0.h:
 -      * s/isc4-0.h:
 -      * s/isc4-1.h:
 -      * s/newsos5.h:
 -      * s/newsos6.h:
 -      * s/osf1.h:
 -      * s/osf5-0.h:
 -      * s/riscix1-1.h:
 -      * s/riscix12.h:
 -      * s/sco4.h:
 -      * s/sco5.h:
 -      * s/sunos4-0.h:
 -      * s/sunos4-1.h:
 -      * s/sunos413.h:
 -      * s/sunos4shr.h:
 -      * s/umax.h:
 -      * s/unipl5-2.h:
 -      * s/xenix.h:
 -      * cxux-crt0.s:
 -      * unexapollo.c:
 -      * unexconvex.c:
 -      * unexenix.c:
 -      * unexsni.c: Remove files for systems no longer supported.
 -
 -      * m/intel386.h: Remove references to unsupported systems.
 -
 -      * w32.c (get_emacs_configuration): Remove reference to i860.
 -
 -      * sysdep.c: Remove dead code.
 -
 -2008-01-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/rtu.h:
 -      * m/masscomp.h: Remove files.  Platform is obsolete.
 -
 -2008-01-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_method_return): New function.
 -      (xd_read_message): Add the serial number to the event.
 -      (Fdbus_register_method): Activate the function.
 -
 -2008-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (read_key_sequence): Fix typo.
 -
 -2008-01-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
 -      (xd_signature, xd_append_arg): Handle element type detection for
 -      empty arrays.
 -      (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
 -      SDATA () calls; this must be solved more general.
 -      (Fdbus_register_signal): Use SBYTES instead of strlen.
 -
 -2008-01-03  Magnus Henoch  <magnus@zemdatav>
 -
 -      * dbusbind.c (xd_append_arg): Use unsigned char instead of
 -      unsigned int for byte values (necessary for big-endian platform).
 -      (Fdbus_call_method): Handle the case of no returned arguments.
 -
 -2007-12-31  Tom Tromey  <tromey@redhat.com>  (tiny change)
 -
 -      * dbusbind.c (xd_read_message): Use non-static input_event struct.
 -
 -2007-12-31  Magnus Henoch  <mange@freemail.hu>
 -
 -      * dbusbind.c (xd_signature): Signature of variant is just "v".
 -
 -2007-12-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c: Fix several errors and compiler warnings.
 -      Reported by Tom Tromey <tromey@redhat.com>.
 -      (XD_ERROR, XD_DEBUG_MESSAGE)
 -      (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
 -      (xd_append_arg): Part for basic D-Bus types rewritten.
 -      (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
 -      DBUS_TYPE_(U)INT16.  Don't call XD_DEBUG_MESSAGE with "%f" if not
 -      appropriate.
 -      (xd_read_message): Return Qnil.  Don't signal an error; it is not
 -      useful during event reading.
 -      (Fdbus_register_signal): Signal an error if the check for
 -      FUNCTIONP fails.
 -      (Fdbus_register_method): New function.  The implementation is not
 -      complete, the call of the function signals an error therefore.
 -      (Fdbus_unregister_object): New function, renamed from
 -      Fdbus_unregister_signal.  The initial check signals an error, if
 -      the object is not well formed.
 -
 -2007-12-30  Richard Stallman  <rms@gnu.org>
 -
 -      * textprop.c (get_char_property_and_overlay):
 -      Signal error if POSITION is out of range in a buffer.
 -
 -2007-12-29  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * w32fns.c (Fx_create_frame): Make copy of frame parameters
 -      because the original parameters are in pure storage now.
 -
 -2007-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
 -
 -2007-12-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * callint.c (syms_of_callint) <command-history>: Add reference to
 -      history-length in the doc string.
 -
 -2007-12-17  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
 -      before passing as wParam.
 -
 -2007-12-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
 -      DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
 -      DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
 -      Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
 -      as number.
 -      (Fdbus_call_method): Fix docstring.
 -
 -2007-12-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
 -      New macros.
 -      (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
 -      (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
 -      Simplify.
 -      (xd_signature): New function.
 -      (xd_append_arg): Compute also signatures.  Major rewrite.
 -      (xd_retrieve_arg): Make debug messages friendly.
 -      (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
 -      Check for signatures of arguments.
 -
 -2007-12-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
 -      (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
 -      (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
 -      (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
 -      (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
 -      (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
 -      (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
 -      (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
 -      (xd_retrieve_value): Remove.  Functionality included in ...
 -      (xd_append_arg): New function.
 -      (Fdbus_call_method, Fdbus_send_signal): Apply it.
 -
 -2007-12-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (top): Include <stdio.h>.
 -      (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
 -      dbus_message_new_method_call and dbus_message_new_signal.
 -      (Fdbus_register_signal): Rename unique_name to uname.
 -      Check handler for FUNCTIONP instead of CHECK_SYMBOL.  Handle case of
 -      non-existing unique name.  Fix typos in matching rule.  Return an
 -      object which is useful in Fdbus_unregister_signal.
 -      (Fdbus_unregister_signal): Reimplementation, in order to remove
 -      only the corresponding entry.
 -      (Vdbus_registered_functions_table): Change the order of entries.
 -      Apply these changes in xd_read_message and Fdbus_register_signal.
 -
 -2007-12-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * fileio.c (Finsert_file_contents): Fix overflow check to not
 -      depend on undefined integer overflow.
 -
 -2007-12-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
 -      for characters above 127.
 -
 -2007-12-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
 -      before dereferencing array.
 -      (lookup_vk_code): Remove zero comparison.
 -
 -2007-12-14  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
 -      (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
 -      Use `unsigned int' instead of `uint'.
 -      (xd_read_message, Fdbus_register_signal): Split expressions into
 -      multiple lines before operators "&&" and "||", according to the
 -      GNU Coding Standards.
 -
 -2007-12-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
 -
 -2007-12-12  Juri Linkov  <juri@jurta.org>
 -
 -      * buffer.c (Frename_buffer): In interactive spec replace
 -      `read-buffer' with `read-string' that uses `buffer-name-history'
 -      as history, and the current buffer's name as default.
 -
 -2007-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
 -      manipulating the backtrace manually.
 -      (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
 -      (struct backtrace, backtrace_list): Remove.
 -      (command_loop_1): Remove dead var `no_direct'.
 -
 -      * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
 -      preserve non-built-in buffer-local variables.
 -      (Fkill_all_local_variables): Don't re-create&re-set permanent
 -      buffer-local variables.
 -
 -2007-12-09  Juri Linkov  <juri@jurta.org>
 -
 -      * buffer.c (Frename_buffer): Change interactive spec from "s" to
 -      Lisp code that uses `read-buffer' with current buffer as default.
 -
 -2007-12-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_read_message): Generate an event for every
 -      registered handler.  There might be several handlers registered
 -      for the same signal.
 -      (Fdbus_register_signal): Don't overwrite a registration for the
 -      same signal.  Add a new registration if handlers are different.
 -      (Vdbus_registered_functions_table): Rework doc string.
 -
 -2007-12-07  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
 -      (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
 -      DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
 -      (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
 -      Unify argument lists.
 -      (xd_read_message, Fdbus_register_signal): Reorder and extend event
 -      arguments and hash table keys.  Use unique name for service.
 -      (Fdbus_unregister_signal): Remove checks.
 -      (Vdbus_registered_functions_table): Fix doc string.
 -
 -2007-12-05  Magnus Henoch  <mange@freemail.hu>
 -
 -      * process.c (make_process): Initialize pty_flag to 0.
 -
 -2007-12-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
 -      specified XBMs.
 -
 -2007-12-05  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
 -
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
 -      New variable.
 -      (mac_try_close_socket) [MAC_OSX]: New function.
 -      [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
 -      Update cfsockets_for_select.  Replace invalid CFRunLoop source.
 -
 -      * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
 -      Use mac_try_close_socket.
 -
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (unrelocate): New argument BASE.  Use it instead of
 -      reloc_base.
 -      (copy_dysymtab): Compute relocation base here.
 -      (rebase_reloc_address) [__ppc64__]: New function.
 -      (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
 -      changed.
 -
 -2007-12-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32proc.c (sys_spawnve): Quote args with wildcards.
 -
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
 -      __objc_* sections.
 -      (unrelocate) [_LP64]: Set relocation base to address of data segment.
 -
 -2007-12-05  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
 -      Move check for Vdbus_registered_functions_table to
 -      xd_read_queued_messages.
 -      (xd_read_queued_messages): Protect xd_read_message calls by
 -      internal_condition_case_1.
 -
 -2007-12-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
 -      Qdbus_system_bus and Qdbus_session_bus, respectively.
 -      (Vdbus_intern_symbols): Remove.
 -      (Vdbus_registered_functions_table): New hash table.
 -      (XD_SYMBOL_INTERN_SYMBOL): Remove.
 -      (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
 -      Rewrite in order to manage registered functions by hash table
 -      Vdbus_registered_functions_table.
 -
 -2007-12-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c: Update URL to Window Manager Specification in comment.
 -
 -2007-12-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * config.in (HAVE_DBUS): Add.
 -
 -      * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
 -      (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
 -      (obj): Add $(DBUS_OBJ).
 -      (LIBES): Add $(DBUS_LIBS).
 -      (dbusbind.o): New target.
 -
 -      * dbusbind.c: New file.
 -
 -      * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
 -
 -      * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
 -      (Qdbus_event): New Lisp symbol.
 -      (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
 -      (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
 -      (keys_of_keyboard): Define dbus-event.
 -
 -      * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
 -
 -2007-12-01  Richard Stallman  <rms@gnu.org>
 -
 -      * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
 -
 -2007-11-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
 -      (w32con_reset_terminal_modes): Clear screen buffer.
 -      (w32_face_attributes): Don't use color indexes that are out of range.
 -      Only reverse the default colors.
 -
 -      * xfaces.c (map_tty_color, tty_color_name): Remove special case for
 -      WINDOWSNT.
 -
 -      * w32console.c, w32term.h (vga_stdcolor_name): Remove.
 -
 -2007-11-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
 -      (w32_face_attributes): Use Vtty_defined_color_alist to determine
 -      if the terminal colors are initialized.
 -      (unspecified_fg, unspecified_bg): Remove unused declarations.
 -
 -2007-11-29  Andreas Schwab  <schwab@suse.de>
 -
 -      * keyboard.c (apply_modifiers): Fix typo.
 -
 -2007-11-29  Richard Stallman  <rms@gnu.org>
 -
 -      * keymap.c (Fcurrent_local_map): Doc fix.
 -
 -2007-11-28  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
 -
 -      * s/gnu-kfreebsd.h: New file.
 -
 -2007-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
 -      Don't cast redundantly.
 -
 -      * keyboard.c (KEY_TO_CHAR): New macro.
 -      (parse_modifiers, apply_modifiers): Accept integer arguments.
 -      (read_key_sequence): Use them to unify the "shift->unshift" mapping
 -      for chars and symbol keys.
 -      After doing such remapping, apply function-key-map again.
 -
 -2007-11-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
 -      compiled anymore.
 -
 -2007-11-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (list_processes_1): Fix indentation level of the
 -      command column.
 -
 -2007-11-23  Andreas Schwab  <schwab@suse.de>
 -
 -      * editfns.c (Fformat): Handle %c specially since it requires the
 -      argument to be of type int.
 -
 -2007-11-23  Markus Triska  <markus.triska@gmx.at>
 -
 -      * emacs.c (main): Call init_editfns before init_process, since
 -      init_process sets Vprocess_connection_type depending on OS release.
 -
 -2007-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
 -      (find_symbol_value): Use do_symval_forwarding.
 -
 -      * data.c (set_internal): Set the value in the `cons-cell' (for
 -      Buffer_Local_values) not only for frame-local variables.
 -
 -2007-11-22  Andreas Schwab  <schwab@suse.de>
 -
 -      * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
 -      values to sprintf.
 -      * keymap.c (Fsingle_key_description): Likewise.
 -      * print.c (print_object): Likewise.
 -
 -2007-11-22  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
 -      file for image is nil.
 -
 -2007-11-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c: Include stdarg.h.
 -      (fatal): Implement using varargs.
 -      * lisp.h (fatal): Add argument types.  (Restore 2005-09-30 change).
 -
 -2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
 -      * data.c (store_symval_forwarding): Get type from buffer_objfwd.
 -      Update call to buffer_slot_type_mismatch.
 -      * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
 -      (buffer_slot_type_mismatch): Update.
 -      * buffer.c (buffer_local_types): Remove.
 -      (buffer_slot_type_mismatch): Get the symbol and type as arguments.
 -      (defvar_per_buffer): Set the type in the buffer_objfwd.
 -
 -2007-11-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
 -      CreateFileMapping returns NULL on failure.
 -
 -2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * search.c (Fset_match_data): Remove the `evaporate' feature.
 -      (unwind_set_match_data): Don't use the `evaporate' feature.
 -
 -2007-11-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
 -
 -      * w32console.c (w32con_write_glyphs): Remove unused variables.
 -
 -2007-11-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
 -
 -      * s/darwin.h (MULTI_KBOARD): Remove.
 -
 -      * macfns.c (x_create_tip_frame, Fx_create_frame)
 -      (x_create_tip_frame): Don't deal with MULTI_KBOARD.
 -
 -2007-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fbuffer_local_value): Remove redundant test.
 -      (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
 -      than in `current-buffer' to match the comment.
 -      Do the swap using swap_in_global_binding.
 -
 -      * data.c (store_symval_forwarding, set_internal):
 -      * eval.c (specbind): Remove dead code.
 -
 -      * coding.c (detect_coding, Fupdate_coding_systems_internal):
 -      * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
 -      Since we do not want to see internal Lisp_*fwd objects here.
 -
 -2007-11-18  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * sysdep.c (init_system_name): Use getaddrinfo if available.
 -
 -      * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
 -      (x_scroll_bar_note_movement): start, end, with, height in struct
 -      scroll_bar are integers and not Lisp_Object, so remove XINT for them.
 -
 -2007-11-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1190000.
 -
 -2007-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.h (struct buffer): Move `undo_list' back to before `name'.
 -      This undoes Richard's change of 14-Oct-2002.
 -
 -      * alloc.c (allocate_other_vector):
 -      * lisp.h (allocate_other_vector): Remove.
 -
 -      * window.c (struct save_window_data): Move non-lisp data to the end
 -      and make it `int' rather than Lisp_Object.
 -      (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
 -      Done wrap/unwrap integer values.
 -      (Fset_window_configuration, compare_window_configurations):
 -      Update use of fields to their new types.
 -
 -      * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
 -      Turn integer fields into `int'.  Merge x_window_low and x_window_high.
 -      (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
 -      (SET_SCROLL_BAR_X_WINDOW): Remove.
 -      (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
 -      Access the new x_window field directly.
 -      * xterm.c (x_scroll_bar_create): Use a pseudovector.
 -      Don't wrap/unwrap integers into Lisp_Objects.
 -      (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
 -      (x_scroll_bar_report_motion):
 -      Don't wrap/unwrap integers into Lisp_Objects.
 -      (x_term_init): Use SDATA.
 -      (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
 -      (x_scroll_bar_set_handle, x_scroll_bar_remove)
 -      (XTset_vertical_scroll_bar, x_scroll_bar_expose)
 -      (x_scroll_bar_report_motion, x_scroll_bar_clear):
 -      * xfns.c (x_set_background_color):
 -      * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
 -      Access the new x_window field directly.
 -
 -      * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
 -      (allocate_pseudovector): Make non-static.
 -
 -      * lisp.h (enum pvec_type): New tag PVEC_OTHER.
 -      (allocate_pseudovector): Declare.
 -      (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
 -
 -2007-11-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * editfns.c (Fformat): Correctly format EMACS_INT values.
 -      Also take precision into account when formatting an integer.
 -
 -      * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
 -
 -2007-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Fevent_symbol_parse_modifiers): New function.
 -      (syms_of_keyboard): Defsubr it.
 -
 -      * data.c (swap_in_global_binding): Fix longstanding bug where
 -      store_symval_forwarding was not called with the right second argument,
 -      thus causing objfwd-ing from being dropped.
 -
 -2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * macfns.c (Fx_create_frame, Fx_display_pixel_width)
 -      (Fx_display_pixel_height, Fx_display_planes)
 -      (Fx_display_color_cells, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
 -      (Fx_display_visual_class, Fx_display_save_under):
 -      * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
 -      (Fx_display_pixel_height, Fx_display_planes)
 -      (Fx_display_color_cells, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_screens)
 -      (Fx_display_mm_height, Fx_display_mm_width)
 -      (Fx_display_backing_store, Fx_display_visual_class)
 -      (Fw32_select_font, Fx_display_save_under):
 -      * xfns.c (Fx_create_frame, Fx_display_pixel_width)
 -      (Fx_display_pixel_height, Fx_display_planes)
 -      (Fx_display_color_cells, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
 -      (Fx_display_save_under): Fix typos in docstrings.
 -
 -2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
 -      corresponding to deleted entries; they are an implementation detail.
 -      (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
 -      Remove variables.
 -      (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
 -      (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
 -      (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
 -      (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
 -      (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
 -      (Fw32_define_rgb_color, Fw32_load_color_file)
 -      (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
 -      Fix typos in docstrings.
 -      (Fx_server_version): Reflow docstring.
 -      (Fw32_shell_execute): Doc fixes.
 -
 -2007-11-13  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
 -      if w32_parse_hot_key returned nil.
 -
 -2007-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (load_overlay_strings): Fix copy&paste typo.
 -
 -2007-11-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
 -
 -      * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
 -
 -      * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
 -      Remove W32_SCROLL_BAR_CLICK_EVENT.
 -
 -      * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
 -      Add MULTIMEDIA_KEY_EVENT.
 -
 -      * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
 -      (lispy_multimedia_keys) [WINDOWSNT]: New array.
 -      (make_lispy_event) [WINDOWSNT]: Use it to translate
 -      MULTIMEDIA_KEY_EVENT.
 -
 -      * w32term.h (WM_APPCOMMAND): Define if not already.
 -      (GET_APPCOMMAND_LPARAM): Likewise.
 -
 -      * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
 -      WM_APPCOMMAND.
 -
 -      * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
 -      (syms_of_w32fns): Export and initialize it.
 -      (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
 -
 -2007-11-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
 -      twice.
 -
 -      * xdisp.c (handle_face_prop): Fix last change.
 -
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (handle_face_prop): Test for strings that came from overlays,
 -      not just for after-strings and before-strings.
 -      Call face_for_overlay_string and pass the overlay to it.
 -      (handle_display_prop): Determine whether property came from an overlay.
 -      Pass OVERLAY arg to handle_single_display_spec.
 -      (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
 -      (load_overlay_strings): Fill in it->string_overlays.
 -      (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
 -
 -      * xfaces.c (face_for_overlay_string): Function renamed from
 -      face_at_buffer_position_no_overlays, and add arg OVERLAY.
 -
 -      * dispextern.h (struct it): New elt string_overlays.
 -      New elt from_overlay, also in stack.
 -      Rearrange a few elements.
 -      (face_for_overlay_string): Decl renamed from
 -      face_at_buffer_position_no_overlays, and add argument.
 -
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
 -      to get the base face for an overlay string.
 -
 -      * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
 -
 -      * xfaces.c (face_at_buffer_position_no_overlays): New function.
 -
 -      * xdisp.c (handle_stop): Move some code out of loop.
 -
 -2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
 -      Fix conversion from Lisp object to ATSUFontID.
 -
 -2007-11-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
 -
 -2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
 -      Don't assume regions are aligned to page boundary.
 -      (print_load_command_name): Add LC_UUID if defined.
 -
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 -
 -      * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
 -
 -2007-11-07  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/windows95.h: Remove.
 -
 -2007-11-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
 -      abort with a message on unhandled store_type values.
 -
 -2007-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
 -      Remove HAVE_X11R5 and HAVE_X11R4.
 -
 -2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in: Remove references to sunfns.c and sunfns.o.
 -
 -2007-11-01  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
 -      Don't set s->stippled_p here, since it has already been set by
 -      x_set_glyph_string_gc from x_draw_glyph_string.
 -
 -2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sunfns.c: Remove file.
 -
 -      * m/sun386.h:
 -      * m/sun2.h:
 -      * m/sparc.h: Remove Sun windows code.
 -
 -2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
 -      (init_keyboard): Set current_kboard's window-system to nil.
 -      (tty_read_avail_input): Typo.
 -      * frame.c (make_initial_frame): Don't initialize the initial_kboard.
 -
 -2007-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/usg5-4.h:
 -      * s/usg5-3.h:
 -      * s/ptx.h:
 -      * m/is386.h:
 -      * m/ibmps2-aix.h:
 -      * Makefile.in: Remove all mentions of X10.
 -
 -      * dispnew.c (syms_of_display): Don't mention version 10.
 -
 -2007-10-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in (OBJ1): Remove abbrev.$(O).
 -      ($(BLD)/abbrev.$(O)): Remove.
 -
 -2007-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Rewrite abbrev.c in Elisp.
 -      * image.c (Qcount): Don't declare as extern.
 -      (syms_of_image): Initialize and staticpro `Qcount'.
 -      * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
 -      * emacs.c (main): Don't call syms_of_abbrev.
 -      * Makefile.in (obj): Remove abbrev.o.
 -      (abbrev.o): Remove.
 -      * abbrev.c: Remove.
 -
 -2007-10-26  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (window_min_size_2): Don't count header-line.
 -
 -2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * frame.h (struct frame): Move all bit fields after the first bit
 -      field to take advantage of the available space.  Group all the
 -      chars together to reduce wasted space due to padding.
 -
 -2007-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
 -
 -      * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
 -      (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
 -      (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
 -      (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
 -      (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
 -      (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
 -      (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
 -      (last_marked, mark_object_loop_halt): Make static.
 -
 -      * frame.c (syms_of_frame) <delete-frame-functions>:
 -      Fix typo in docstring.
 -
 -2007-10-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32.c (init_environment): Fix tiny memory leak.
 -      (w32_get_resource): Remove unused variable `ok'.
 -
 -2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make `window-system' into a keyboard-local variable (rather than
 -      frame-local as done originally by multi-tty).
 -
 -      * keyboard.h (struct kboard): Add Vwindow_system.
 -      * keyboard.c (init_kboard): Set a default for Vwindow_system.
 -      (mark_kboards): Mark Vwindow_system.
 -
 -      * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
 -      (init_display): Don't set the obsolete `window-system' frame-param.
 -
 -      * xterm.c (x_term_init):
 -      * w32term.c (w32_create_terminal):
 -      * term.c (init_tty): Set Vwindow_system.
 -      * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
 -      multi-tty merge maybe?), copied from w32term.c.  Set Vwindow_system.
 -
 -      * xfns.c (Fx_create_frame, x_create_tip_frame):
 -      * w32fns.c (Fx_create_frame, x_create_tip_frame):
 -      * macfns.c (Fx_create_frame):
 -      Don't set the obsolete `window-system' frame-param.
 -
 -      * frame.h (Qwindow_system): Remove.
 -      * frame.c (Qwindow_system): Remove.  In `syms_of_frame' as well.
 -      (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
 -
 -2007-10-24  Richard Stallman  <rms@gnu.org>
 -
 -      * frame.c (x_figure_window_size): For fullscreen case,
 -      set USPosition | PPosition without clobbering rest of window_prompting.
 -
 -      * keyboard.c (Fcurrent_idle_time): Doc fix.
 -
 -      * print.c (Fwith_output_to_temp_buffer): Doc fix.
 -
 -2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (unwind_request_sigio): Only define if __ultrix__.
 -
 -      * callproc.c (child_setup): Remove spurious *.
 -
 -      * lisp.h (Fget_text_property): Declare.
 -      (have_menus_p): Declare it here rather than in sys-dep header files.
 -      * macterm.h (have_menus_p):
 -      * msdos.h (have_menus_p):
 -      * xterm.h (have_menus_p): Remove.
 -
 -      * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
 -      (Fmake_variable_frame_local): Just check the variable's const-ness
 -      rather than checking nil or t.
 -
 -2007-10-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c: Include math.h.
 -      (w32_abort): Declaration moved to nt/config.nt.
 -
 -      * s/ms-w32.h (HAVE_STDLIB_H): Define.
 -      (abort): Redefinition moved to nt/config.nt.
 -
 -      * m/windowsnt.h: Remove.
 -
 -2007-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (Fdump_emacs): Fix typo in message.
 -      (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
 -      <installation-directory>: Reflow docstring.
 -
 -2007-10-22  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuf.c: Allow minibuffer default to be a list of default values.
 -      With empty input use the first element of this list as returned default.
 -      (string_to_object)
 -      (read_minibuf_noninteractive): If defalt is cons, set val to its car.
 -      (read_minibuf): If defalt is cons, set histstring to its car.
 -      (Fread_string): If default_value is cons, set val to its car.
 -      (Fread_buffer): If def is cons, use its car.
 -      (Fcompleting_read): If defalt is cons, set val to its car.
 -
 -2007-10-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
 -
 -2007-10-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * doc.c (Fdocumentation): Check for advice in all cases.
 -
 -2007-10-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
 -
 -2007-10-19  Richard Stallman  <rms@gnu.org>
 -
 -      * doc.c (Fdocumentation): Check for and handle an advised function.
 -
 -2007-10-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * process.c (Fset_process_filter): Doc fix.
 -
 -2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
 -      which caused key-translation-map to applied repeatedly (thus breaking
 -      double-mode).
 -
 -2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xselect.c (x_own_selection, x_handle_selection_clear)
 -      (x_clear_frame_selections):
 -      * w32menu.c (list_of_panes, list_of_items):
 -      * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
 -      * textprop.c (validate_plist, interval_has_all_properties)
 -      (interval_has_some_properties, interval_has_some_properties_list)
 -      (add_properties, text_property_list):
 -      * process.c (Fget_buffer_process, list_processes_1, status_notify):
 -      * minibuf.c (Fassoc_string):
 -      * macselect.c (x_own_selection, x_clear_frame_selections)
 -      (Fx_disown_selection_internal):
 -      * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
 -      Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
 -
 -2007-10-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c: Link to libs for calling res_init() if available.
 -      (Fmake_network_process): Call res_init() before getaddrinfo or
 -      gethostbyname, if possible.
 -
 -2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (read1): Set pvectype for char_tables.
 -
 -      * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
 -      (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
 -      Add type checks.
 -      (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
 -
 -      * alloc.c (free_misc): Use XMISCTYPE.
 -      (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
 -
 -2007-10-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
 -      (syms_of_minibuf): Add Qcompletion_ignore_case.
 -      * dired.c (Qcompletion_ignore_case): Change to external.
 -      (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
 -      * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
 -      (Fread_file_name): Use it rather than intern'ing.
 -
 -      * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
 -      (Fread_coding_system): Ignore case of user input.
 -
 -2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (handle_display_prop): Ignore display specs after
 -      replacing one when string text is being replaced.
 -      (handle_single_display_spec): Pretend as if characters with display
 -      property haven't been consumed only when buffer text is being replaced.
 -
 -2007-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfns.c (Fx_create_frame, Fx_display_list):
 -      * window.c (window_fixed_size_p, enlarge_window)
 -      (shrink_window_lowest_first):
 -      * macterm.c (init_font_name_table):
 -      * macfns.c (Fx_create_frame, Fx_display_list):
 -      * lread.c (close_load_descs):
 -      * keyboard.c (read_char_x_menu_prompt):
 -      * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
 -      * coding.c (code_convert_region_unwind): Test the type of an object
 -      rather than just !NILP before extracting data from it.
 -
 -      * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
 -
 -      * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
 -      (XMISCANY): New macro.
 -      (XMISCTYPE): Use it.
 -      (struct Lisp_Misc_Any): New type.
 -      (union Lisp_Misc): Use it.
 -      (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
 -      * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
 -      (find_symbol_value, set_internal, default_value, Fset_default)
 -      (Fmake_variable_buffer_local, Fmake_local_variable)
 -      (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
 -      (Flocal_variable_if_set_p, Fvariable_binding_locus):
 -      The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
 -      * alloc.c (allocate_buffer): Set the size and tag.
 -      (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
 -      Use XMISCANY.
 -      (die): Follow the GNU convention for error messages.
 -      * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
 -      tag any more.
 -      (set_buffer_internal_1):
 -      * frame.c (store_frame_param):
 -      * eval.c (specbind):
 -      * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
 -
 -      * doc.c (Fsnarf_documentation): Simplify.
 -
 -2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
 -      (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
 -
 -2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
 -
 -2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * eval.c (do_autoload): Don't save autoloads.
 -
 -      * data.c (Ffset): Save autoload of the function being set.
 -
 -2007-10-07  John Paul Wallington  <jpw@pobox.com>
 -
 -      * xfns.c (x_create_tip_frame): Set the `display-type' frame
 -      parameter before setting up faces.
 -
 -2007-10-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * ccl.c (Fregister_code_conversion_map):
 -      * keyboard.c (append_tool_bar_item): Reformat last change.
 -
 -      * lisp.h (eabs): Rename from `abs'.  All callers changed.
 -
 -2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>
 -
 -      * buffer.c (add_overlay_mod_hooklist):
 -      * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
 -      * fontset.c (make_fontset):
 -      * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
 -      (append_tool_bar_item):
 -      * macmenu.c (grow_menu_items):
 -      * w32menu.c (grow_menu_items):
 -      * xmenu.c (grow_menu_items): Use larger_vector.
 -
 -2007-10-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
 -      selected frame'' on MSDOS).
 -
 -2007-10-12  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (Qexplicit_name): New variable.
 -      (x_report_frame_params): Report it in parameter alist.
 -      (syms_of_frame): Intern and staticpro it.
 -
 -2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)
 -
 -      * macfns.c (x_create_tip_frame): Set terminal for frame.
 -
 -2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (Qenvironment): Remove.
 -      (syms_of_frame) <Qenvironment>: Don't initialize.
 -      (Fdelete_frame): Don't treat the `environment' param specially.
 -      * frame.h (Qenvironment): Don't declare.
 -      * callproc.c (set_initial_environment): Don't set unused frame param.
 -
 -      * frame.c (Fframe_with_environment): Remove.
 -      (syms_of_frame) <Sframe_with_environment>: Don't declare.
 -
 -      * lisp.h (Fframe_with_environment): Don't declare.
 -
 -2007-10-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * indent.c (indent_tabs_mode, last_known_column)
 -      (last_known_column_modified): Make static.
 -      (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
 -
 -2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1170000.
 -
 -2007-10-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_set_window_size): Disable code that attempts to tell
 -      Lisp code about a size change before it actually happens.
 -
 -2007-10-09  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
 -      return HANDLED_RETURN.
 -
 -2007-10-08  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
 -      when there's an unread command event.
 -
 -      * frame.c (focus_follows_mouse): Move here from frame.el to allow
 -      window autoselection act appropriately when leaving selected frame.
 -      (syms_of_frame): Initialize focus_follows_mouse.
 -      * frame.h (focus_follows_mouse): Extern it.
 -      * macterm.c (XTread_socket): When focus_follows_mouse is nil
 -      make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
 -      * msdos.c (dos_rawgetc): Likewise.
 -      * w32term.c (w32_read_socket): Likewise.
 -      * xterm.c (handle_one_xevent): Likewise.
 -      * xdisp.c (syms_of_xdisp): In doc-string of
 -      mouse-autoselect-window mention focus-follows-mouse.
 -
 -2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_load_query_font): Fix missing return value.
 -      [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
 -      Add BLOCK_INPUT.
 -
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_window_cursor_type): Implement documented behavior
 -      for cursor-in-non-selected-windows = t.
 -
 -2007-10-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (w32_get_resource): Always close registry keys.
 -
 -2007-10-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (LIBS): Add COMCTL32.
 -
 -      * w32fns.c (globals_of_w32fns): Init common controls.
 -
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 -
 -      * image.c (our_memory_buffer): Rename from omfib_buffer.
 -
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 -
 -      * buffer.c (Foverlays_at): Doc fix.
 -
 -2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (Fplist_put): Preserve uneven tail data.
 -
 -2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 -
 -      * termhooks.h (enum event_kind): Remove trailing comma.
 -
 -      * frame.h (enum): Remove trailing comma.
 -
 -2007-10-08  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
 -
 -      * w32proc.c (delete_child): Don't terminate threads of zombies.
 -
 -2007-10-08  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
 -
 -      * keyboard.c (syms_of_keyboard): Set up new Lisp variable
 -      last-repeatable-command.
 -      (init_kboard): Initialize Vlast_repeatable_command.
 -      (command_loop_1): Set it to real_this_command unless that was
 -      bound to an input event.
 -      (mark_kboards): Mark it.
 -
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (condition-case): Doc fix.
 -
 -2007-10-08  Masatake YAMATO  <jet@gyve.org>
 -
 -      * xfaces.c (tty_supports_face_attributes_p): Fix code
 -      for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
 -      was copied and not edited.
 -
 -2007-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Add new `input-decode-map' keymap and use it for terminal
 -      escape sequences.
 -      * keyboard.h (struct kboard): Add Vinput_decode_map.
 -      Remove Vlocal_key_translation_map.
 -      * keyboard.c (read_key_sequence): Add support for input-decode-map.
 -      (init_kboard): Init input-decode-map.
 -      Replace local-key-translation-map back with key-translation-map.
 -      (syms_of_keyboard): Declare input-decode-map.
 -      Remove local-key-translation-map.  Update docstrings.
 -      (mark_kboards): Mark Vinput_decode_map.
 -      Don't mark Vlocal_key_translation_map.
 -      * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
 -      Replace local-key-translation-map back with key-translation-map.
 -      * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
 -      Bind in input-decode-map rather than function-key-map.
 -
 -      * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
 -      This was made redundant by the previous introduction of XSETPVECTYPE.
 -
 -2007-10-09  Richard Stallman  <rms@gnu.org>
 -
 -      * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
 -
 -2007-09-29  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (internal_condition_case_2, internal_condition_case_1)
 -      (internal_condition_case): Reenable abort if x_catching_errors ()
 -      to see if that really happens and why.
 -
 -2007-10-06  Andreas Schwab  <schwab@suse.de>
 -
 -      * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
 -
 -2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image.c (syms_of_image) <image-types>: Fix typo in docstring.
 -
 -2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
 -
 -2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.h (struct window):
 -      * window.c (struct save_window_data, struct saved_window):
 -      * termhooks.h (struct terminal):
 -      * process.h (struct Lisp_Process):
 -      * frame.h (struct frame):
 -      * buffer.h (struct buffer):
 -      * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
 -      (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
 -      The size field of (pseudo)vectors is now unsigned.
 -      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
 -
 -      * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
 -      Turn `count' into an integer.
 -
 -      * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
 -      (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
 -      * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
 -      * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
 -      (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
 -
 -      * alloc.c (allocate_pseudovector): New fun.
 -      (ALLOCATE_PSEUDOVECTOR): New macro.
 -      (allocate_window, allocate_terminal, allocate_frame)
 -      (allocate_process): Use it.
 -      (mark_vectorlike): New function.
 -      (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
 -      (mark_terminals): Use it.
 -      (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
 -      (Fmake_byte_code): Use XSETPVECTYPE.
 -
 -      * frame.c (Fframe_parameters): Minor simplification.
 -
 -      * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
 -
 -      * marker.c (Fmarker_buffer): Make test for odd case into a failure.
 -
 -      * buffer.c (Fget_buffer_create, init_buffer_once):
 -      * lread.c (defsubr):
 -      * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
 -
 -      * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
 -      defined differently in the m/*.h files.
 -      (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
 -      (XSETPVECTYPE): New macro.
 -      (XSETPSEUDOVECTOR): Use it.
 -
 -      * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
 -      (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
 -
 -      * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
 -      * lread.c (defvar_per_buffer):
 -      * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
 -
 -      * window.c (candidate_window_p): Only consider as visible frames that
 -      are on the same terminal.
 -
 -      * m/ibms390x.h (MARKBIT): Remove unused macro.
 -
 -2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lread.c (Fload): Fix typo in docstring.
 -
 -2007-10-01  Michaël Cadilhac  <michael@cadilhac.name>
 -
 -      * floatfns.c (Fexpt): Manually check for overflows, so that a power
 -      of a non-zero value can't yield zero.
 -
 -2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (term_clear_mouse_face, term_mouse_highlight)
 -      (tty_write_glyphs_with_face): Only define is HAVE_GPM.
 -
 -      * print.c (safe_debug_print): Use XHASH.
 -
 -      * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
 -      Lisp elements such as tags.
 -      (XHASH): New macro.
 -      (EQ): Use it.
 -      (SREF, SSET, STRING_COPYIN): Use SDATA.
 -      (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
 -
 -      * alloc.c (mark_terminal): Remove left-over declaration.
 -      (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
 -      (allocate_vectorlike): Remove type argument.  Adjust callers.
 -      (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
 -      Only handle the one remaining MEM_TYPE_VECTORLIKE.
 -
 -      * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
 -      to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
 -      (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
 -      (lisp_align_free, make_interval, allocate_string, allocate_string_data)
 -      (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
 -      Use them.
 -
 -      * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
 -      Don't let signal handlers run when a GC is freed but not yet NULL'ed.
 -      (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
 -
 -2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
 -      loaded by default.
 -
 -2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (Fgpm_mouse_start): Don't signal an error if already activated
 -      on this tty.
 -      (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
 -
 -      * term.c (mouse_face_window): Rename from Qmouse_face_window.
 -      Update all users.
 -      (handle_one_term_event): Use Gpm_DrawPointer.
 -      (Fgpm_mouse_start): Rename from Fterm_open_connection.
 -      Signal errors instead of returning nil.  Always return nil.
 -      (Fgpm_mouse_stop): Rename from Fterm_close_connection.
 -      Make it a noop if gpm-mouse was not activated.
 -      (syms_of_term): Update names.
 -
 -2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
 -      (init_sys_modes): Check that gpm_tty is the current tty.
 -
 -      * alloc.c (allocate_terminal): Set the vector size to only count the
 -      lisp fields.  Initialize those to nil.
 -      (mark_object): Don't treat terminals specially.
 -      (mark_terminal): Remove.
 -      (mark_terminals): Use mark_object instead.
 -
 -      * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
 -      the GC to the beginning.
 -
 -      * indent.h:
 -      * indent.c: Use EMACS_INT for ints coming from Elisp data.
 -
 -      * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
 -
 -2007-09-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
 -
 -      * w32console.c (create_w32cons_output): Remove.
 -
 -      * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
 -
 -      * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
 -      (reset_sys_modes): Use reset_terminal_modes_hook.
 -
 -2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (do_autoload): Don't output any message.
 -
 -2007-09-24  Juri Linkov  <juri@jurta.org>
 -
 -      * emacs.c (standard_args): Change priority of "--no-splash"
 -      from 40 to 3.  Add "--no-desktop" with the same priority.
 -
 -2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
 -
 -      * alloc.c (gc_sweep): Check cons cell mark bits word by word
 -      and optimize the case where they are all 1.
 -
 -2007-09-23  Johannes Weiner  <hannes@saeurebad.de>
 -
 -      * lisp.h (abs): Define if not defined.
 -      * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
 -      Don't define `abs', since it's defined in lisp.h.
 -
 -2007-09-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (DEV_TTY): New macro.  Provide a definition for MS-Windows.
 -      (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
 -      (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
 -      (init_tty): Use DEV_TTY instead of "/dev/tty".
 -      [WINDOWSNT]: No need to protect from NAME arg being null.
 -
 -2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
 -      up the tty state.
 -
 -2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * termhooks.h (term_gpm): Delete.  Use gpm_tty's NULLness instead.
 -      (gpm_tty): Change its type.
 -      * term.c (term_gpm): Delete.  Use gpm_tty's NULLness instead.
 -      (gpm_tty): Change its type and initialize it.
 -      (Fterm_open_connection): Check the frame is indeed a tty.
 -      Use the new gpm_tty.
 -      (Fterm_close_connection): Use the new gpm_tty.
 -      * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
 -      * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
 -
 -2007-09-21  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32term.c (x_draw_glyph_string): Use strike_through_color, not
 -      underline_color, to draw strike-through.
 -
 -2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (allocate_terminal): Declare.
 -
 -      * window.c (candidate_window_p): Consider frames that are being placed
 -      by the user as somewhere between visible and iconified.
 -      (window_loop): Prefer windows on the current frame.
 -      (Fselect_window): Move the use of select-frame to the beginning so we
 -      can just delegate all the work (it'll call us back anyway).
 -
 -      * frame.c (Qdisplay_environment_variable):
 -      * frame.h (Qdisplay_environment_variable): Delete.
 -
 -      * .gdbinit (xbacktrace): Print the arg's address rather than the value
 -      of the first arg, since that value may be a union.
 -
 -      * callproc.c (child_setup, getenv_internal): Use the frame's `display'
 -      parameter rather than Qdisplay_environment_variable.  If all else
 -      fails, look for DISPLAY in initial-environment.
 -
 -2007-09-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (emacstool): Remove target.
 -      (lisp, shortlisp): Remove termdev.elc.
 -
 -2007-09-21  Markus Triska  <markus.triska@gmx.at>
 -
 -      * xterm.c (x_delete_display): Compile session management conditionally.
 -
 -2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * callproc.c (getenv_internal_1): New function.
 -      (getenv_internal): Use it.
 -      (Fgetenv_internal): Use it.  Accept an env-list as optional arg.
 -
 -      * terminal.c (get_terminal): Don't accept ints to represent terminals.
 -      (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
 -      (Fset_terminal_parameter): Work with dead terminals as well.
 -      (Fmodify_terminal_parameters): Remove.
 -
 -      * terminal.c (get_terminal): Handle terminals.
 -      Make sure the terminal returned is live.
 -      (create_terminal): Use allocate_terminal.
 -      (mark_terminals): Move to alloc.c.
 -      (delete_terminal): Use terminal->name as liveness status.
 -      NULL out fields after freeing their contents.
 -      Don't deallocate the object.
 -      (Fframe_terminal): Use FRAME_TERMINAL.  Return the terminal object
 -      rather than an int.
 -      (Fterminal_live_p): Accept non-integer arguments.
 -      (Fterminal_list): Return terminal objects rather than an ints.
 -
 -      * alloc.c (enum mem_type): New member for `terminal' objects.
 -      (allocate_terminal): New function.
 -      (mark_maybe_pointer, valid_lisp_object_p, mark_object):
 -      Handle terminals.
 -      (mark_terminal): New fun.
 -      (mark_terminals): Move from terminal.c.
 -
 -      * term.c (get_tty_terminal): Don't treat output_initial specially.
 -      (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
 -      (delete_tty): Use terminal->name as liveness status.
 -
 -      * termhooks.h (struct terminal): Make it into a pseudovector.
 -      Remove `deleted' replaced by checking `name's nullness.
 -
 -      * print.c (print_object): Handle terminals.
 -
 -      * lisp.h (enum pvec_type): New `terminal' pseudovector.
 -      (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
 -
 -      * frame.c (make_terminal_frame):
 -      * keyboard.c (tty_read_avail_input):
 -      * w32term.c (x_delete_terminal):
 -      * xfns.c (Fx_create_frame, x_create_tip_frame):
 -      * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
 -
 -2007-09-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * process.c (Fmake_network_process): Doc fix.
 -
 -2007-09-19  Jason Rumney  <jasonr@gnu.org>
 -
 -      * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
 -
 -2007-09-19  Michaël Cadilhac  <michael@cadilhac.name>
 -
 -      * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
 -      Fix a C warning regarding variable constness.
 -
 -      * xterm.c (handle_one_xevent): Fix a C warning.
 -
 -2007-09-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
 -
 -2007-09-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (gdpy_def): New variable.
 -      (xg_initialize): Initialize gdpy_def.
 -      (xg_display_close): If no other display exists, set gdpy_def to a
 -      new connection.
 -
 -2007-09-16  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
 -      when we have no file name for the icon.
 -      (xg_tool_bar_expose_callback): Remove.
 -      (xg_create_tool_bar): Don't connect expose signal to
 -      xg_tool_bar_expose_callback.
 -      (xg_get_file_with_chooser): Move GCPRO1 after declarations.
 -
 -2007-09-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * alloc.c (reset_malloc_hooks): Set the hooks to the previous
 -      values instead of zapping them.
 -
 -2007-09-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
 -      * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
 -      * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
 -      scope and rename to omfib_buffer for clarity.
 -      (gif_load) <interlace_start, interlace_increment>: Move to file scope.
 -
 -2007-09-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
 -
 -2007-09-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
 -
 -      * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
 -
 -      * macterm.c (mac_initialize): Don't call mac_init_fringe here.
 -      (mac_term_init): Call here instead, passing rif.
 -
 -2007-09-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * s/hpux.h: No longer define `static' as nothing.
 -
 -2007-09-13  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * callint.c (Fcall_interactively): Remove unused var `fun'.
 -
 -2007-09-12  Romain Francoise  <romain@orebokech.com>
 -
 -      * window.c (prefer_window_split_horizontally, display_buffer):
 -      Revert 2007-09-08 change.
 -
 -2007-09-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * alloca.c: Remove file.
 -      * Makefile.in (alloca): Do not undef.
 -      (allocaobj, alloca.o): Remove.
 -      (otherobj): Remove allocaobj.
 -      * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
 -      * regex.c (C_ALLOCA): Remove all references and code that was only
 -      used when this was defined.
 -      * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
 -      * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
 -      * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
 -
 -      * Makefile.in (SOURCES, unlock, relock): Delete.
 -
 -      * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
 -      (menu_grab_callback): All uses changed.
 -
 -      * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
 -      (x_reply_selection_request): All uses changed.
 -
 -2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (load_warn_old_style_backquotes): Change message to look
 -      better when it appears in the middle of byte-compiler messages.
 -
 -2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
 -
 -      * xterm.c (x_create_terminal): Add comment.
 -
 -      * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
 -
 -2007-09-10  Richard Stallman  <rms@gnu.org>
 -
 -      * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
 -
 -2007-09-10  Michaël Cadilhac  <michael@cadilhac.name>
 -
 -      * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
 -      (DEFUN): Document `intspec', use it instead of `prompt'.
 -
 -      * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
 -
 -      * data.c (Finteractive_form): If the interactive specification starts
 -      with a `(', use it as a Lisp form.
 -
 -      * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
 -      name and file modes.
 -
 -      * callint.c (Fcall_interactively): Comment fixes.
 -
 -2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
 -      and compiled functions.
 -
 -2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>
++2011-04-09  Chong Yidong  <cyd@stupidchicken.com>
 -      * window.c (prefer_window_split_horizontally): New variable.
 -      (display_buffer): Consider splitting window horizontally depending
 -      on prefer_window_split_horizontally.
 -
 -2007-09-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
 -
 -2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
 -
 -      * frame.c (x_set_frame_parameters): Check number is positive before
 -      using XFASTINT.
 -
 -      * window.c (freeze_window_start): Don't presume selected_window holds
 -      a window object.
 -      (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
 -
 -2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)
 -
 -      * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
 -
 -2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Vsplit_window_preferred_function): New var.
 -      (Fdisplay_buffer): Use it.
 -      (syms_of_window): Export, and initialize it.
 -
 -2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)
 -
 -      * image.c (gif_load): Fix bug: Handle nonexistent colormap.
 -
 -2007-09-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * gtkutil.c (menu_grab_callback) <cnt>:
 -      * xselect.c (x_reply_selection_request) <cnt>: Move static
 -      variable to file scope.
 -
 -2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (redisplay_internal): Make sure Elisp code always sees
 -      consistent values of selected_frame and selected_window.
 -
 -2007-09-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32console.c (initialize_w32_display): Zero unused hooks.
 -
 -2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
 -      (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
 -
 -2007-09-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
 -      in w32console.c.  Set up input.  Remove XXX comments that have been
 -      confirmed as correct.
 -
 -      * s/ms-w32.h (MULTI_KBOARD): Define.
 -
 -      * w32console.c (one_and_only_w32cons): Remove.
 -      (initialize_w32_display): Take terminal argument.
 -
 -      * term.c (init_tty) [WINDOWSNT]: Pass terminal to
 -      initialize_w32_display.
 -      (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
 -
 -      * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
 -
 -      * keyboard.c (discard_mouse_events): Discard it.
 -      (make_lispy_event): Translate it to a lisp event.
 -      (lispy_wheel_names): Add wheel-left and right events.
 -      (syms_of_keyboard): Enlarge wheel_syms.
 -
 -      * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
 -      <WM_MOUSEHWHEEL>: Pass new system message to lisp.
 -
 -      * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
 -
 -      * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
 -      from WM_MOUSEHWHEEL.
 -      (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
 -
 -      * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
 -      terminal.
 -
 -      * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
 -      keyboard for the terminal.
 -
 -2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
 -      (Vresume_tty_hook): Rename from Vresume_tty_functions.
 -      (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
 -      and resume-tty-function to resume-tty-hook.
 -      (Fsuspend_tty, Fresume_tty): Use new names.
 -
 -2007-09-02  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
 -      if it starts with "n:".
 -
 -2007-08-31  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
 -
 -2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.h:
 -      * frame.c (Qterm_environment_variable): Remove.
 -      (syms_of_frame): Don't init and staticpro it.
 -
 -      * callproc.c (getenv_internal): Remove special case for $TERM.
 -
 -      * callproc.c (Vinitial_environment): New variable.
 -      (set_initial_environment): Initialize it.
 -      (syms_of_callproc): Declare it.
 -      (child_setup): Don't mess with TERM via Qterm_environment_variable; the
 -      TERM under which a process runs is never related to the TERM in which
 -      Emacs is running.
 -
 -2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
 -      * s/darwin.h: ... do it here.
 -
 -2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (set_initial_environment): Rename from set_global_environment.
 -
 -      * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
 -      removed by mistake on the multi-tty branch.
 -
 -      * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
 -      (Fmodify_frame_parameters): Return a value.
 -
 -      * image.c (png_load): Comment-out var only used in commented-out code.
 -
 -      * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
 -      before passing it to mark_object.
 -
 -      * xfaces.c (internal_resolve_face_name): Return a value.
 -      (internal_resolve_face_name, resolve_face_name_error): Comment out.
 -
 -      * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
 -      (x_icon): Comment-out var only used in commented-out code.
 -
 -2007-08-29  Romain Francoise  <romain@orebokech.com>
 -
 -      * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
 -      QUIT hasn't been provided.
 -
 -2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * callproc.c (child_setup, getenv_internal): Use the
 -      display-environment-variable and term-environment-variable frame params.
 -      (set_initial_environment): Initialise Vprocess_environment.
 -
 -      * config.in: Disable multi-keyboard support on a mac.
 -
 -      * frame.c (Qterm_environment_variable)
 -      (Qdisplay_environment_variable): New variables.
 -      (syms_of_frame): Intern and staticpro them.
 -      (Fmake_terminal_frame): Disable output method test.
 -
 -      * frame.h: Declare them here.
 -
 -      * macfns.c (x_set_mouse_color): Get rif from the frame.
 -      (x_set_tool_bar_lines): Don't use updating_frame.
 -      (mac_window): Add 2 new parameters for consistency with other systems.
 -      (Fx_create_frame): Fix doc string.  Rename the parameter.  Set the
 -      frame parameters following what is done in X11 and w32.  Don't use
 -      FRAME_MAC_DISPLAY_INFO.
 -      (Fx_open_connection, start_hourglass): Remove window-system check.
 -      (x_create_tip_frame): Get the keyboard from the terminal.
 -
 -      * macmenu.c: Reorder includes.
 -      (Fx_popup_menu): Use terminal specific mouse_position_hook.
 -
 -      * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
 -      terminal parameter.
 -      (x_clear_frame): Add a frame parameter.
 -      (note_mouse_movement): Get rif from the frame.
 -      (mac_term_init): Initialize the terminal.
 -      (mac_initialize): Make static and move terminal initialization ...
 -      (mac_create_terminal): ... to this new function.
 -
 -      * macterm.h (struct mac_display_info): Add terminal.
 -      (mac_initialize): Delete declaration.
 -
 -      * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
 -
 -      * sysdep.c: Comment out text after #endif.
 -
 -      * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
 -      is defined.  Better initialize ttys in windows.  Use terminal
 -      specific mouse_position_hook.
 -
 -      * termhooks.h (union display_info): Add mac_display_info.
 -
 -      * w32fns.c (Fx_create_frame): Use kboard from the terminal.
 -      Set the default minibuffer frame, window_system and the rest of the
 -      frame parameters following what is done in X11.
 -
 -      * w32term.c (w32_initialize): Make static.
 -
 -      * xselect.c (x_handle_selection_clear): Only access
 -      terminal->kboard when MULTI_KBOARD is defined.
 -
 -      * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
 -      (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
 -
 -2007-08-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
 -      (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
 -
 -      * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
 -      (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
 -
 -      * keyboard.c (restore_kboard_configuration): Only define when
 -      MULTI_KBOARD defined.
 -
 -      * makefile.w32-in: Update dependancies from Makefile.in.
 -      (OBJ1): Add terminal.$(O)
 -
 -      * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
 -      Don't define function body.
 -      (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
 -
 -      * termhooks.h (display_info) [WINDOWSNT]: Add w32.
 -
 -      * w32.c (request_sigio, unrequest_sigio): Remove.
 -
 -      * w32console.c (w32con_move_cursor, w32con_clear_to_end)
 -      (w32con_clear_frame, w32con_clear_end_of_line)
 -      (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
 -      (w32con_delete_glyphs, w32con_set_terminal_window)
 -      (scroll_line, w32_sys_ring_bell): Add frame arg.
 -      (w32con_set_terminal_modes, w32con_reset_terminal_modes):
 -      Add terminal arg.
 -      (PICK_FRAME): Remove.
 -      (w32con_write_glyphs): Use frame specific terminal coding.
 -      (one_and_only_w32cons): New global variable.
 -      (initialize_w32_display): Use it for storing hooks.
 -      (create_w32cons_output): New function.
 -
 -      * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
 -      arg a frame.
 -
 -      * w32fns.c (x_create_tip_frame): Set terminal and ref count.
 -      Set window_system.
 -      (x_set_tool_bar_lines): Don't use updating_frame.
 -      (Fx_create_frame): Set terminal and ref count.
 -      (Fx_open_connection): Remove window-system check.
 -
 -      * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
 -
 -      * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
 -      (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
 -      (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
 -      Add frame arg.
 -      (x_delete_terminal, w32_create_terminal): New functions.
 -      (w32_term_init): Create a terminal.
 -      (w32_initialize): Move terminal specific initialization to
 -      w32_create_terminal.
 -
 -      * w32term.h (x_output): Remove foreground_pixel and background_pixel.
 -      (w32_clear_rect, w32_clear_area): Use background from frame.
 -      (w32_display_info): Add terminal.
 -      (w32_sys_ring_bell, x_delete_display): Declare here.
 -
 -      * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
 -
 -      * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
 -
 -2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)
 -
 -      * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
 -      Fix get_named_tty calls for the controlling tty.
 -
 -2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
 -
 -      * term.c (dissociate_if_controlling_tty) [USG]: Fix parse error.
 -
 -2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
 -
 -      * term.c (tty_insert_glyphs): Add missing first parameter.
 -
 -2007-08-29  Károly Lőrentey  <karoly@lorentey.hu>
 -
 -      * buffer.c (Fbuffer_list, Fbury_buffer):
 -      Take frame->buried_buffer_list into account.
 -
 -      * cm.c (current_tty): New variable, for cmputc().
 -      (cmputc): Use it.
 -      (cmcheckmagic): Add tty parameter, look up terminal streams there.
 -      (calccost): Add tty parameter.  Use emacs_tputs() instead of tputs().
 -      (cmgoto): Add tty parameter.  Pass it on to calccost().
 -      Use emacs_tputs() instead of tputs().
 -
 -      * cm.h (emacs_tputs): New macro to set current_tty, and then call
 -      tputs().
 -      (current_tty): New variable, for cmputc().
 -      (cmcheckmagic, cmputc, cmgoto): Add prototypes.
 -
 -      * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
 -      (internal_condition_case, internal_condition_case_1)
 -      (internal_condition_case_2): Don't abort when x_catching_errors.
 -
 -      * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
 -      (Fy_or_n_p): Likewise.  Use temporarily_switch_to_single_kboard to
 -      prevent crashes caused by bogus longjmps in read_char.
 -
 -      * keymap.h (Fset_keymap_parent): Add EXFUN.
 -
 -      * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
 -      * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
 -      Remove redundant definition.
 -
 -      * macfns.c (x_set_mouse_color, x_make_gc):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -
 -      * w32term.c (x_free_frame_resources):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -      (w32_initialize): Use the accessor macros for terminal characteristics.
 -
 -      * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
 -      Use the accessor macros for terminal characteristics.
 -      * msdos.c (internal_terminal_init): Use the accessor macros for
 -      terminal characteristics.
 -      (ScreenVisualBell, internal_terminal_init):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -
 -      * termopts.h (no_redraw_on_reenter): Declare.
 -
 -      * alloc.c (emacs_blocked_malloc): Disable mallopt call.
 -      (mark_terminals, mark_ttys): Declare.
 -      (Fgarbage_collect): Call them.
 -      (mark_object): Mark buried_buffer_list.
 -
 -      * prefix-args.c: Include stdlib.h for exit.
 -
 -      * syssignal.h: Add comment.
 -
 -      * indent.c: Include stdio.h.
 -
 -      * window.h (Vinitial_window_system): Declare.
 -      (Vwindow_system): Delete declaration.
 -
 -      * fontset.c (Finternal_char_font): Use FRAME_RIF.
 -
 -      * image.c (lookup_image): Don't initialize `c' until the xasserts
 -      have been run.
 -
 -      * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
 -      FRAME_FOREGROUND_PIXEL.
 -
 -      * print.c (print_preprocess): Don't lose print_depth levels while
 -      iterating.
 -
 -      * widget.c (update_from_various_frame_slots):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -
 -      * window.c (set_window_buffer): Don't call clear_mouse_face on tty
 -      frames.
 -      (window_internal_height): Remove bogus make_number call.
 -      (init_window_once): Call make_terminal_frame with two zero parameters.
 -
 -      * fileio.c (Fread_file_name): Update comment.
 -
 -      * callint.c (Fcall_interactively):
 -      Use temporarily_switch_to_single_kboard instead of single_kboard_state.
 -      Make sure it is correctly unwound.
 -
 -      * xsmfns.c (x_session_close): New function.
 -
 -      * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
 -      Delete declarations.
 -
 -      * xterm.h: Remove declaration for x_fully_uncatch_errors.
 -      (x_output): Remove background_pixel and foreground_pixel fields.
 -      (x_display_info): Add new field TERMINAL.  Remove KBOARD field.
 -      (x_delete_device, x_session_close): Declare.
 -
 -      * lread.c: Include setjmp.h.  Update declaration of `read_char'.
 -      (read_filtered_event): Call `read_char' with a local
 -      `wrong_kboard_jmpbuf'.
 -
 -      * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
 -      Don't call single_kboard_state.  Use FRAME_RIF.
 -
 -      * process.c (Fmake_network_process): Don't unrequest_sigio on modern
 -      systems.
 -
 -      * lisp.h (set_process_environment): Rename to `set_global_environment'.
 -      (Fframe_with_environment, Fset_input_meta_mode)
 -      (Fset_quit_char): EXFUN.
 -      (x_create_device, tty_output, terminal, tty_display_info): Declare.
 -      (init_sys_modes, reset_sys_modes): Update prototypes.
 -      (init_all_sys_modes, reset_all_sys_modes): New prototypes.
 -
 -      * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
 -      Vlocal_key_translation_map, and Vkeyboard_translate_table.
 -      (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
 -      Delete declarations.
 -      (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
 -      (temporarily_switch_to_single_kboard, tty_read_avail_input):
 -      New declarations.
 -
 -      * emacs.c (main): Don't call init_sys_modes(), the new term_init()
 -      already does that during init_display().  Call syms_of_keymap
 -      before syms_of_keyboard.  Call `syms_of_terminal'.
 -      Call set_initial_environment, not set_process_environment.
 -      (shut_down_emacs): Call reset_all_sys_modes() instead of
 -      reset_sys_modes().
 -
 -      * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
 -      (internal_resolve_face_name, resolve_face_name_error): New functions.
 -      (resolve_face_name): Protect against loops and errors thrown by Fget.
 -      (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
 -      (Ftty_supports_face_attributes_p): Update tty_capable_p call.
 -
 -      * scroll.c: Replace CURTTY() with local variables throughout the
 -      file (where applicable).
 -      (calculate_scrolling, calculate_direct_scrolling)
 -      (scrolling_1, scroll_cost): Use the accessor macros for terminal
 -      characteristics.
 -
 -      * keymap.c (Vfunction_key_map): Remove.
 -      (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
 -      (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
 -      (Vkey_translation_map): Remove.
 -      (syms_of_keymap): Remove DEFVAR for key-translation-map.
 -      (Fdescribe_buffer_bindings)
 -      (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
 -      Update for terminal-local key-translation-map.
 -
 -      * Makefile.in (callproc.o): Update dependencies.
 -      (lisp, shortlisp): Add termdev.elc.
 -      (obj): Add terminal.o.
 -      (terminal.o): Add dependencies.
 -      [HAVE_CARBON]: Make terminal.o depend on macgui.h.
 -      (data.o, fns.o): Add termhooks.h dependency.
 -      (SOME_MACHINE_LISP): Add dnd.elc.
 -      (minibuf.o): Fix typo.
 -      Update dependencies.
 -
 -      * data.c (do_symval_forwarding, store_symval_forwarding)
 -      (find_symbol_value): Use the selected frame's keyboard, not
 -      current_kboard.
 -
 -      * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
 -      Vwindow_system.
 -
 -      * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
 -      Fmenu_bar_open.
 -      (syms_of_xmenu): Update defsubr.
 -      (mouse_position_for_popup, Fx_popup_menu)
 -      (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
 -      (set_frame_menubar, free_frame_menubar)
 -      (create_and_show_popup_menu, xmenu_show)
 -      (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
 -      an X frame.
 -
 -      * xselect.c (x_own_selection): Abort if not an X frame.
 -      (some_frame_on_display): Check if it is an X frame.
 -      (x_handle_selection_clear): Deal with MULTI_KBOARD.
 -
 -      * coding.c: Include frame.h and termhooks.h.
 -      (terminal_coding, keyboard_coding): Delete.
 -      (Fset_terminal_coding_system_internal)
 -      (Fset_keyboard_coding_system_internal)
 -      (Fkeyboard_coding_system)
 -      (Fterminal_coding_system): Add a terminal parameter.
 -      Get terminal_coding from the terminal.
 -      (init_coding_once): Don't call setup_coding_system here.
 -
 -      * dispextern.h (set_scroll_region, turn_off_insert)
 -      (turn_off_highlight, background_highlight, clear_end_of_line_raw)
 -      (tty_clear_end_of_line, tty_setup_colors)
 -      (delete_tty, updating_frame)
 -      (produce_special_glyphs, produce_glyphs, write_glyphs)
 -      (insert_glyphs): Remove.
 -      (raw_cursor_to, clear_to_end, tty_turn_off_insert)
 -      (tty_turn_off_highlight, get_tty_size): Add declaration.
 -      (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
 -
 -      * frame.h (enum output_method): Add output_initial.
 -      (struct x_output): Delete.
 -      (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
 -      Access foreground_pixel and background_pixel directly from the frame.
 -      (tty_display): Delete.
 -      (struct frame): Add buried_buffer_list, foreground_pixel,
 -      background_pixel and terminal.  Delete kboard.
 -      (union output_data): Add tty.
 -      (FRAME_KBOARD): Get the kboard from the terminal.
 -      (FRAME_INITIAL_P): New macro.
 -      (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
 -      (Qterm_environment_variable, Qdisplay_environment_variable)
 -      (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
 -      New declarations.
 -
 -      * termchar.h (tty_output, tty_display_info): New structures.
 -      (tty_list): Declare.
 -      (FRAME_TTY, CURTTY): New macros.
 -      (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
 -      (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
 -      (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
 -      (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
 -
 -      * callproc.c: Include frame.h and termhooks.h, for terminal
 -      parameters.
 -      (add_env): New function.
 -      (child_setup): Use it.
 -      (child_setup, getenv_internal): Handle the new Vprocess_environment.
 -      (getenv_internal): Fix get_terminal_param call.
 -      (Fgetenv_internal, egetenv): Update doc.
 -      (syms_of_callproc): Initialize Vprocess_environment to nil.
 -      Register and initialize them.  Remove obsolete defvars.  Update doc
 -      strings.
 -      (child_setup): Handle Vlocal_environment_variables.
 -      (getenv_internal): Add terminal parameter.
 -      Handle Vlocal_environment_variables.
 -      (Fgetenv_internal): Add terminal parameter.
 -      (child_setup, getenv_internal, Fgetenv_internal): Store the local
 -      environment in a frame (not terminal) parameter.  Update doc strings.
 -      (set_initial_environment): Rename from set_global_environment.
 -      Store Emacs environment in initial frame parameter.
 -
 -      * xdisp.c (redisplay_internal): Update references to
 -      `previous_terminal_frame'.
 -      (display_mode_line, Fformat_mode_line): Replace calls to
 -      `push_frame_kboard' with `push_kboard'.
 -      (get_glyph_string_clip_rects): Add extra parentheses and
 -      braces to prevent compiler warnings.
 -      (calc_pixel_width_or_height): Add xassert to check that the
 -      frame is alive.  Don't call `lookup_image' on a termcap frame.
 -      (message2_nolog, message3_nolog, redisplay_internal)
 -      (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
 -      (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
 -      (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
 -      (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (Fx_display_planes, Fx_display_color_cells)
 -      (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
 -      (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
 -      (Fx_display_backing_store, Fx_display_visual_class)
 -      (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
 -      Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
 -
 -      * xfns.c (x_set_foreground_color x_set_background_color)
 -      (x_set_mouse_color, x_set_cursor_color, x_make_gc):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -      (Fx_create_frame, x_create_tip_frame, build_string, x_window)
 -      (Fx_create_frame, x_create_tip_frame): Don't create frames on a
 -      terminal that is being deleted.
 -      (Fx_create_frame): Use `store_frame_param' to set `window-system'
 -      frame parameter, and make sure it overrides any user-supplied setting.
 -      (Fx_close_connection, Fx_synchronize): Unify argument names with
 -      the rest of the DEFUNs.
 -
 -      * dispnew.c (Fsend_string_to_terminal): Update call to
 -      `get_tty_terminal'.
 -      (Fredraw_frame, Fsend_string_to_terminal)
 -      (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
 -      FRAME_TERMCAP_P and FRAME_TTY.
 -      (window_change_signal): Don't believe width/height values that are
 -      impossibly small.
 -      (Vinitial_window_system): Rename from Vwindow_system.
 -      (termscript, Wcm, rif): Delete.
 -
 -      * termhooks.h (struct terminal): New struct containing the
 -      previously global text display hooks and new members NAME,
 -      DELETED and PARAM_ALIST.
 -      (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
 -      (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
 -      (FRAME_RIF): New macros.
 -      (get_terminal_param, get_device): New declarations.
 -      (termscript): Delete declaration.
 -
 -      * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
 -      (XTflash, x_free_frame_resources, x_scroll_bar_create)
 -      (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
 -      FRAME_FOREGROUND_PIXEL.
 -      (x_fully_uncatch_errors): Disable definition.
 -      (x_scroll_bar_expose): Fix reference to foreground pixel.
 -      (XTread_socket): Disable loop on all X displays.
 -      (x_delete_terminal): Don't set terminal->deleted and let
 -      delete_terminal delete the frames on the terminal.
 -      (x_delete_display): Doc update to reflect changes in
 -      delete_terminal.
 -      (x_display_info) <terminal>: Move member earlier in the struct.
 -      (deleting_tty): Remove old variable.
 -      (Fsuspend_tty): Call clear_tty_hooks.
 -      (Fresume_tty, init_tty): Call set_tty_hooks.
 -      (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
 -      errors on X frames.
 -      (x_catch_errors_unwind): Abort if x_error_message is NULL.
 -      (handle_one_xevent): Initialize `f' to NULL.
 -      (x_delete_terminal, x_create_terminal): New functions.
 -      (XTset_terminal_modes, XTreset_terminal_modes)
 -      (XTread_socket, x_connection_closed, x_term_init)
 -      (x_term_init, x_delete_display): Add terminal parameter.
 -      (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
 -      X connections.
 -
 -      * frame.c: Include termchar.h.
 -      (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
 -      (Qwindow_system, Qenvironment, Qterm_environment_variable)
 -      (Qdisplay_environment_variable): New vars.
 -      (Fframep): Deal with output_initial.
 -      (Fframe-live-p): Doc fix.
 -      (Fwindow-system): New function.
 -      (x_set_screen_gamma, store_frame_param): Fix compilation errors.
 -      (make_terminal_frame): Don't create frames on a terminal that is
 -      being deleted.  Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -      (store_frame_param): Check for found_for_frame before calling XFRAME.
 -      (Fmake_terminal_frame): Handle NULL tty names correctly.
 -      (syms_of_frame): Enhance doc string of `default-frame-alist'.
 -      (Fdelete_frame): Remove unused variable `count'.  Don't allow other
 -      frames to refer to a deleted frame in their 'environment parameter.
 -      (Fframe_with_environment): New function.
 -      (syms_of_frame): Defsubr it.  Initialize and staticpro Qenvironment.
 -      (get_future_frame_param): New function.
 -      (Fmake_terminal_frame): Use it.
 -      (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
 -
 -      * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
 -      * sysdep.c (reset_sys_modes): Update for renames.
 -
 -      * keyboard.c (tty_read_avail_input): New function.
 -      (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
 -      (syms_of_keyboard): Defsubr them.
 -      (Fset_input_meta_mode, Fset_quit_char): New functions.
 -      (Fset_input_mode): Split to above functions.
 -      (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
 -      parameter.  Use it in call to `read_char'.
 -      (read_char): Declare.  Update call to `read_char_minibuf_menu_prompt'.
 -      Set wrong_kboard_jmpbuf correctly in recursive calls.
 -      Use current_kboard to access Vkeyboard_translate_table.
 -      Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
 -      Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
 -      Update longjmp invocations.  Remember the original current_kboard,
 -      and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
 -      changes it.  Comment out unnecessary calls to
 -      `record_single_kboard_state' and `any_kboard_state'.
 -      Update recursive calls.
 -      (wrong_kboard_jmpbuf): Remove global variable.
 -      (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
 -      Handle deleted interrupted_kboards correctly; that is a legal
 -      case.  Add `wrong_kboard_jmpbuf' local variable.  Update setjmp
 -      and read_char calls.  Abort if interrupted_kboard died in read_char.
 -      (any_kboard_state, single_kboard_state)
 -      (push_frame_kboard): Remove function.
 -      (pop_kboard): Switch out of single_kboard mode if the kboard has
 -      been deleted.  Remove unused variable.  Help debugging by not
 -      changing current_kboard unnecessarily.  Set current_kboard to the
 -      kboard of the selected frame when the stored kboard object has
 -      been deleted before pop_kboard.
 -      (temporarily_switch_to_single_kboard): Change first parameter to a
 -      frame pointer.  Throw an error when caller wants to change kboards
 -      while in single_kboard mode.  Don't push_kboard if we weren't in
 -      single kboard state.  Don't pop_kboard if we popped into any
 -      kboard state.
 -      (restore_kboard_configuration): Abort if pop_kboard changed the
 -      kboard in single_kboard mode.  Call pop_kboard only after setting
 -      up single_kboard mode.
 -      (Frecursive_edit): Switch to single_kboard mode only in nested
 -      command loops.
 -      (cmd_error, command_loop, command_loop_1, timer_check):
 -      Comment out unnecessary call to `any_kboard_state' and
 -      `record_single_kboard_state'.
 -      (delete_kboard): Exit single_kboard mode if we have just deleted
 -      that kboard.  Use FRAME_KBOARD.
 -      (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
 -      `fatal_error_signal'.
 -      (record_single_kboard_state): Don't push_kboard if we weren't in
 -      single kboard state.  Don't pop_kboard if we popped into any
 -      kboard state.
 -      (push_frame_kboard): Rename to push_kboard.
 -      (kbd_buffer_get_event): Use FRAME_TERMINAL.
 -      (read_avail_input): Read input from all terminals.
 -      (mark_kboards): Also mark Vkeyboard_translate_table.
 -      (kbd_buffer_store_event_hold): Simplify condition.
 -      (read_key_sequence): Reinitialize fkey and keytran at each replay.
 -      (Vkeyboard_translate_table): Move to struct kboard.
 -      (init_kboard): Initialize Vkeyboard_translate_table.
 -      (syms_of_keyboard): Use DEFVAR_KBOARD to define
 -      Vkeyboard_translate_table.  Update doc strings.  Update docs of
 -      local-function-key-map and function-key-map.
 -
 -      * terminal.c: New file.
 -
 -      * term.c: Include errno.h.
 -      (Vring_bell_function, device_list, initial_device)
 -      (next_device_id, ring_bell, update_begin, update_end)
 -      (set_terminal_window, cursor_to, raw_cursor_to)
 -      (clear_to_end, clear_frame, clear_end_of_line)
 -      (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
 -      (Fdisplay_name, create_device, delete_device): Move to terminal.c.
 -      (syms_of_term): Move their initialization to terminal.c.
 -      (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
 -      (Ftty_display_color_cells)
 -      (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
 -      (clear_tty_hooks, set_tty_hooks)
 -      (init_tty, maybe_fatal): New functions.
 -      (Ftty_type): Return nil if terminal is not on a tty instead of
 -      throwing an error.  Doc update.
 -      (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
 -      Doc update.  Initialize new subrs and variables.
 -      (delete_tty): Use terminal->deleted.
 -      (tty_set_terminal_modes): Rename from set_terminal_modes.
 -      (tty_reset_terminal_modes): Rename from reset_terminal_modes.
 -      (set_scroll_region): Rename to `tty_set_scroll_region'.
 -      (turn_on_insert): Rename to `tty_turn_on_insert'.
 -      (turn_off_insert): Rename to `tty_turn_off_insert'.
 -      (turn_off_highlight): Rename to `tty_turn_off_highlight'.
 -      (turn_on_highlight): Rename to `tty_turn_on_highlight'.
 -      (toggle_highligh): Rename to `tty_toggle_highlight'.
 -      (background_highlight): Rename to `tty_background_highlight'.
 -      (highlight_if_desired): Rename to `tty_highlight_if_desired'.
 -      (tty_ring_bell, tty_update_end, tty_set_terminal_window)
 -      (tty_set_scroll_region, tty_background_highlight)
 -      (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
 -      (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
 -      (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
 -      (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
 -      Add static modifier.
 -      (tty_reset_terminal_modes, tty_set_terminal_window)
 -      (tty_set_scroll_region, tty_background_highlight)
 -      (tty_highlight_if_desired, tty_cursor_to)
 -      (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
 -      (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
 -      (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
 -      renames.
 -
 -2007-08-28  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c: Qrtl is new.
 -      (parse_tool_bar_item): Handle :rtl keyword.
 -      (syms_of_keyboard): Intern :rtl keyword.
 -
 -      * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
 -
 -      * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
 -      so no Lisp code is executed.
 -      (file_for_image, find_rtl_image): New functions.
 -      (xg_get_image_for_pixmap): Use file_for_image.
 -      (update_frame_tool_bar): If direction is RTL, use RTL image if
 -      defined.  Use Gtk stock images if defined.
 -
 -2007-08-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
 -      for nonexistent or zero-width glyph in composition glyph.
 -
 -2007-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
 -
 -      * xdisp.c (Finvisible_p): New function.
 -      (syms_of_xdisp): defsubr it.
 -
 -2007-08-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
 -      Doc fixes.
 -
 -2007-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
 -
 -2007-08-24  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
 -      whether decoding has modified buffer contents.
 -
 -2007-08-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
 -      (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
 -      (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
 -      (init_svg_functions) [HAVE_NTGUI]: New function.
 -      (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
 -      (svg_load_image): Use them.
 -      (svg_load_image) [HAVE_NTGUI]: Implement background.
 -
 -2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
 -      (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
 -      (LIBX): Remove @RSVG_LIBS@.
 -      (LIBES): Add $(RSVG_LIBS).
 -
 -      * image.c (svg_load_image): Blend with specified background if exists.
 -      Use IMAGE_BACKGROUND.  Add Mac OS Support.
 -
 -      * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
 -      (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
 -      Remove macros.
 -      [MAC_OSX] (socket_callback): Do nothing.
 -      [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
 -      ReceiveNextEvent.
 -      [MAC_OSX] (sys_select): Likewise.  Don't set context as argument to
 -      socket_callback.
 -      (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
 -
 -2007-08-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
 -
 -2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>
 -
 -      * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
 -
 -      * image.c: Add support for SVG images.  Some additional comments
 -      by Joakim Verona <joakim@verona.se>.  When HAVE_RSVG is defined:
 -      (svg_image_p): New function to test for SVG image.
 -      (svg_load): New function to load SVG image.
 -      (svg_load_image): New function, helper for svg_load.
 -      (Qsvg): New Lisp_object.
 -      (svg_keyword_index): New enum.
 -      (svg_format): New static `image_keyword' struct.
 -      (svg_type): New static `image_type' struct.
 -      (librsvg/rsvg.h): Include it.
 -
 -2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
 -
 -2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Qold_style_backquotes): New var.
 -      (syms_of_lread): Init and staticpro it.
 -      (load_warn_old_style_backquotes): New fun.
 -      (Fload): Use them to warn about old style backquotes.
 -      (end_of_file_error, Fload): Remove unused vars.
 -
 -      * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
 -
 -      * lread.c (Vold_style_backquotes): New var.
 -      (syms_of_lread): Init and export it to Elisp.
 -      (read1): Set it when we find an old-style (back)quote.
 -
 -2007-08-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
 -
 -2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1140000.
 -
 -2007-08-19  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
 -
 -2007-08-19  Andreas Schwab  <schwab@suse.de>
 -
 -      * alloc.c (pure): Round PURESIZE up.
 -
 -2007-08-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Remove check that mouse click is in
 -      active frame.
 -
 -2007-08-16  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (Fcommandp): Add parens to clarify.
 -
 -      * minibuf.c (Fall_completions): Use enum for type of table.
 -
 -      * emacs.c (USAGE2): Improve text.
 -
 -2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>
 -
 -      * term.c (tty_default_color_capabilities): Declare static
 -      variables in file scope, to avoid HPUX compiler problem.
 -
 -2007-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Use -1 as index
 -      to gtk_toolbar_insert.
 -
 -2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
 -
 -      * insdel.c (reset_var_on_error): New fun.
 -      (signal_before_change, signal_after_change):
 -      Use it to reset (after|before)-change-functions to nil in case of error.
 -      Bind inhibit-modification-hooks to t.
 -      Don't bind (after|before)-change-functions to nil while they run.
 -
 -2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
 -      filling pixmap with stippled background.
 -
 -2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
 -      Don't use invisible frame as parent window for repositioning.
 -
 -2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * print.c (new_backquote_output): Rename from old_backquote_output.
 -      (print): Inverse its logic (according to its name) so as to match the
 -      behavior of new_backquote_flag in lread.c.
++      * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
++      unsigned char, to match FcChar8 type definition.
 -2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
++      * xterm.c (handle_one_xevent):
++      * xmenu.c (create_and_show_popup_menu):
++      * xselect.c (x_decline_selection_request)
++      (x_reply_selection_request): Avoid type-punned deref of X events.
 -      * gmalloc.c (posix_memalign): New function.
 +2011-04-09  Eli Zaretskii  <eliz@emacstest.gnu.org>
  
 -      * macterm.c (frame_highlight, frame_unhighlight): Don't call
 -      ActivateControl/DeactivateControl here.
 -      [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
 -      frame-notice-user-settings is non-nil.
 -      [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
 -      for kEventParamFMFontStyle.
 -      [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
 -      mac_pass_command_to_system and mac_pass_control_to_system here.
 -      (XTread_socket): Call ActivateControl/DeactivateControl here.
 -      (XTread_socket) [TARGET_API_MAC_CARBON]:
 -      Check mac_pass_command_to_system and mac_pass_control_to_system here.
 -      (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
 -      for window repositioning.
 +      Fix some uses of `int' instead of EMACS_INT.
 +      * search.c (string_match_1, fast_string_match)
 +      (fast_c_string_match_ignore_case, fast_string_match_ignore_case)
 +      (scan_buffer, find_next_newline_no_quit)
 +      (find_before_next_newline, search_command, Freplace_match)
 +      (Fmatch_data): Make some `int' variables be EMACS_INT.
  
 -2007-08-08  Glenn Morris  <rgm@gnu.org>
 +      * xdisp.c (display_count_lines): 3rd argument and return value now
 +      EMACS_INT.  All callers changed.
 +      (pint2hrstr): Last argument is now EMACS_INT.
  
 -      * Replace `iff' in doc-strings and comments.
 +      * coding.c (detect_coding_utf_8, detect_coding_emacs_mule)
 +      (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
 +      (detect_coding_ccl, detect_coding_charset, decode_coding_utf_8)
 +      (decode_coding_utf_16, decode_coding_emacs_mule)
 +      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 +      (decode_coding_ccl, decode_coding_charset)
 +      <consumed_chars, consumed_chars_base>: Declare EMACS_INT.
 +      (decode_coding_iso_2022, decode_coding_emacs_mule)
 +      (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
 +      <char_offset, last_offset>: Declare EMACS_INT.
 +      (encode_coding_utf_8, encode_coding_utf_16)
 +      (encode_coding_emacs_mule, encode_invocation_designation)
 +      (encode_designation_at_bol, encode_coding_iso_2022)
 +      (encode_coding_sjis, encode_coding_big5, encode_coding_ccl)
 +      (encode_coding_raw_text, encode_coding_charset) <produced_chars>:
 +      Declare EMACS_INT.
 +      (ASSURE_DESTINATION): Declare more_bytes EMACS_INT.
 +      (encode_invocation_designation): Last argument P_NCHARS is now
 +      EMACS_INT.
 +      (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT.
 +      (produce_chars): from_nchars and to_nchars are now EMACS_INT.
  
 -2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
 +      * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
 +      All users changed.
  
 -      * xdisp.c (move_it_by_lines): Remove incorrect optimization.
 +      * ccl.c (Fccl_execute_on_string): Declare some variables
 +      EMACS_INT.
  
- 2011-04-08  Svante Signell  <svante.signell@telia.com>  (tiny change)
 -2007-08-07  Martin Rudalics  <rudalics@gmx.at>
++2011-04-08  Samuel Thibault  <sthibault@debian.org>  (tiny change)
  
 -      * fileio.c (Finsert_file_contents): Run format-decode and
 -      after_insert_file_functions on entire buffer when REPLACE is
 -      non-nil and inhibit modification_hooks and point_motion_hooks.
 -      For consistency, run after_insert_file_functions iff something
 -      got inserted.  Move signal_after_change and update_compositions
 -      after code running after_insert_file_functions.  Make sure that
 -      undo_list doesn't record intermediate steps of the decoding process.
 +      * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
  
 -2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-19  Christoph Scholtes  <cschol2112@googlemail.com>
  
 -      * emacs.c (main)
 -      [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
 -      Call malloc_enable_thread on interactive startup.
 +      * process.c (Fformat_network_address): Doc fix.
  
 -      * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
 -      (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
 -      [USE_PTHREAD]: Conditionalize with it.
 -      (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
 -      (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
 -      New functions.
 +2011-04-08  T.V. Raman  <tv.raman.tv@gmail.com>  (tiny change)
  
 -2007-08-06  Chong Yidong  <cyd@stupidchicken.com>
 +      * xml.c (parse_region): Avoid creating spurious whiespace nodes.
  
 -      * xdisp.c (redisplay_window): When restoring original buffer
 -      position, make sure it is still valid.
 +2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * image.c (png_load): Ignore png-supplied background color.
 +      * keyboard.c (read_char): Call Lisp function help-form-show,
 +      instead of using internal_with_output_to_temp_buffer.
 +      (Qhelp_form_show): New var.
 +      (syms_of_keyboard): Use DEFSYM macro.
  
 -2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * print.c (internal_with_output_to_temp_buffer): Function deleted.
  
 -      * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
 -      Use kCFAbsoluteTimeIntervalSince1970.
 +      * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
  
 -      * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
 -      New variable.
 -      [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
 -      event loop should be quit.
 -      [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
 -      Quit dialog event loop if quit_dialog_event_loop is set.
 +2011-04-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
 -      (Selection): New typedef.  Use instead of ScrapRef.
 -      (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
 -      (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
 -      (mac_clear_selection): Rename from clear_scrap.
 -      (get_flavor_type_from_symbol): New argument SEL and subsume function of
 -      scrap_has_target_type.  All uses changed.
 -      (mac_get_selection_ownership_info, mac_valid_selection_value_p)
 -      (mac_selection_has_target_p): New functions.
 -      (mac_put_selection_value): Rename from put_scrap_string.
 -      (mac_get_selection_value): Rename from get_scrap_string.
 -      (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
 -      (put_scrap_private_timestamp, scrap_has_target_type)
 -      (get_scrap_private_timestamp): Remove functions.
 -      (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
 -      (x_own_selection, x_get_local_selection):
 -      Use mac_valid_selection_value_p.
 -      (x_own_selection): Don't use put_scrap_private_timestamp.
 -      Record OWNERSHIP-INFO into Vselection_alist instead.
 -      (x_get_local_selection): Don't check type if request is local.
 -      (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
 -      Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
 +      * process.c (Flist_processes): Removed to Lisp.
 +      (list_processes_1): Deleted.
  
 -2007-08-04  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-04-06  Eli Zaretskii  <eliz@gnu.org>
  
 -      * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
 -      add comment explaining why.
 +      * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
  
 -2007-08-03  Richard Stallman  <rms@gnu.org>
 +      * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
  
 -      * fileio.c (Fvisited_file_modtime): Use make_time.
 +2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
 +      Fix more problems found by GCC 4.6.0's static checks.
  
 -      * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
 -      build.
 +      * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
  
 -2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
  
 -      * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
 +      * lisp.h (message, message_nolog, fatal): Mark as printf-like.
  
 -2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
 +      * xdisp.c (vmessage): Mark as a printf-like function.
  
 -      * puresize.h (BASE_PURESIZE): Increase to 1130000.
 +      * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
  
 -2007-07-30  Richard Stallman  <rms@gnu.org>
 +      * sound.c (sound_warning): Don't crash if arg contains a printf format.
  
 -      * lread.c (readevalloop, read1): Treat NBSP as whitespace.
 +      * image.c (tiff_error_handler, tiff_warning_handler): Mark as
 +      printf-like functions.
 +      (tiff_load): Add casts to remove these marks before passing them
 +      to system-supplied API.
  
 -2007-07-29  Jan Djärv  <jan.h.d@swipnet.se>
 +      * eval.c (Fsignal): Remove excess argument to 'fatal'.
  
 -      * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
 +      * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
 +      This avoids several warnings with gcc -Wstrict-overflow.
 +      (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
 +      directly, rather than having caller test rule sign.  This avoids
 +      some unnecessary tests.
 +      * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
 +      (COMPOSITION_ENCODE_RULE): Arguments now must be valid.  This
 +      affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
  
 -2007-07-28  Nick Roberts  <nickrob@snap.net.nz>
 +      * xfont.c (xfont_text_extents): Remove var that was set but not used.
 +      (xfont_open): Avoid unnecessary tests.
  
 -      * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
 -      remote default-directory.
 +      * composite.c (composition_gstring_put_cache): Use unsigned integer.
  
 -      * buffer.c (mode-line-format): Update doc string.
 +      * composite.h, composite.c (composition_gstring_put_cache):
 +      Use EMACS_INT, not int, for length.
  
 -2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * composite.h (COMPOSITION_DECODE_REFS): New macro,
 +      breaking out part of COMPOSITION_DECODE_RULE.
 +      (COMPOSITION_DECODE_RULE): Use it.
 +      * composite.c (get_composition_id): Remove unused local vars,
 +      by using the new macro.
  
 -      * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
 -      scroll bar gap.
 -      (x_scroll_bar_create): Set bar->fringe_extended_p.
 -      (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
 -      on frame edge.  Check fringe background extension.  Don't clear
 -      extended fringe background area.
 +      * textprop.c (set_text_properties_1): Change while to do-while,
 +      since the condition is always true at first.
  
 -      * w32term.h (struct scroll_bar): New member fringe_extended_p.
 -      (w32_fill_area): Enclose multiple statements with do ... while (0).
 +      * intervals.c (graft_intervals_into_buffer): Mark var as used.
 +      (interval_deletion_adjustment): Return unsigned value.
 +      All uses changed.
  
 -      * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
 -      Extend fringe background to scroll bar gap.
 -      (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
 -      Set bar->fringe_extended_p.
 -      (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 -      Put leftmost/rightmost scroll bars on frame edge.  Check fringe
 -      background extension.  Don't clear extended fringe background area.
 +      * process.c (list_processes_1, create_pty, read_process_output):
 +      (exec_sentinel): Remove vars that were set but not used.
 +      (create_pty): Remove unnecessary "volatile"s.
 +      (Fnetwork_interface_info): Avoid possibility of int overflow.
 +      (read_process_output): Do adaptive read buffering even if carryover.
 +      (read_process_output): Simplify nbytes computation if buffered.
  
 -      * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 -      New member fringe_extended_p.
 +      * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
  
 -2007-07-25  Glenn Morris  <rgm@gnu.org>
 +      * syntax.c (scan_words): Remove var that was set but not used.
 +      (update_syntax_table): Use unsigned instead of int.
  
 -      * Relicense all FSF files to GPLv3 or later.
 +      * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
 +      (lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
 +      (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
  
 -      * COPYING: Switch to GPLv3.
 +      * print.c (print_error_message): Avoid int overflow.
  
 -2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * font.c (font_list_entities): Redo for clarity,
 +      so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
  
 -      * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
 +      * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
 +      (font_score): Avoid potential overflow in diff calculation.
  
 -      * data.c (Finteractive_form): Check for the presence of an
 -      `interactive-form' symbol property more thoroughly.
 +      * fns.c (substring_both): Remove var that is set but not used.
 +      (sxhash): Redo loop for clarity and to avoid wraparound warning.
  
 -      * data.c (Finteractive_form): Use an `interactive-form' property if
 -      present, analogous to the function-documentation property.
 +      * eval.c (funcall_lambda): Rename local to avoid shadowing.
  
 -2007-07-24  Jason Rumney  <jasonr@gnu.org>
 +      * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
 +      Otherwise, GCC 4.6.0 optimizes the loop check away since the check
 +      can always succeed if overflow has undefined behavior.
  
 -      * w32fns.c (x_real_positions): Get real position from OS instead of
 -      calculating it.
 +      * search.c (boyer_moore, wordify): Remove vars set but not used.
 +      (wordify): Omit three unnecessary tests.
  
 -2007-07-23  Jason Rumney  <jasonr@gnu.org>
 +      * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
 +      All callers changed.  This avoids the need for an unused var.
  
 -      * filelock.c (current_lock_owner): Allow for @ sign in username.
 +      * casefiddle.c (casify_region): Remove var that is set but not used.
  
 -2007-07-22  Nick Roberts  <nickrob@snap.net.nz>
 +      * dired.c (file_name_completion): Remove var that is set but not used.
  
 -      * xdisp.c (decode_mode_spec): Add case 'R' for to test for
 -      remote default-directory.
 +      * fileio.c (Finsert_file_contents): Make EOF condition clearer.
  
 -      * buffer.c (mode-line-format): Describe above case in doc string.
 +      * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
 +      (Finsert_file_contents): Remove unnecessary code checking fd.
  
 -2007-07-20  Eli Zaretskii  <eliz@gnu.org>
 +      * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
 +      Check for integer overflow on size calculations.
  
 -      * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
 -      Define if not defined.
 +      * buffer.c (Fprevious_overlay_change): Remove var that is set
 +      but not used.
  
 -2007-07-18  Jason Rumney  <jasonr@gnu.org>
 +      * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
 +      Remove vars that are set but not used.
 +      (timer_check_2): Don't assume timer-list and idle-timer-list are lists.
 +      (timer_check_2): Mark vars as initialized.
  
 -      * w32proc.c (w32_executable_type): Handle 64 bit executables.
 +      * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
  
 -2007-07-18  Richard Stallman  <rms@gnu.org>
 +      * image.c (lookup_image): Remove var that is set but not used.
 +      (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
  
 -      * data.c (Fsetq_default): Doc fix.
 +      * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
 +      that are set but not used.
  
 -      * eval.c (Fsetq): Doc fix.
 +      * xfns.c (make_invisible_cursor): Don't return garbage
 +      if XCreateBitmapFromData fails (Bug#8410).
  
 -2007-07-18  Juanma Barranquero  <lekktu@gmail.com>
 +      * xselect.c (x_get_local_selection, x_handle_property_notify):
 +      Remove vars that are set but not used.
  
 -      * coding.c (Ffind_operation_coding_system):
 -      * eval.c (For, Fand): Doc fixes.
 -      Reported by Johan Bockgård.
 +      * xfns.c (x_create_tip_frame): Remove var that is set but not used.
 +      (make_invisible_cursor): Initialize a possibly-uninitialized variable.
  
 -2007-07-18  Jan Djärv  <jan.h.d@swipnet.se>
 +      * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
 +      Remove var that is set but not used.
 +      (scroll_bar_windows_size): Now size_t, not int.
 +      (x_send_scroll_bar_event): Use size_t, not int, for sizes.
 +      Check for overflow.
  
 -      * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
 +      * xfaces.c (realize_named_face): Remove vars that are set but not used.
 +      (map_tty_color) [!defined MSDOS]: Likewise.
  
 -      * xterm.h: Declare x_ewmh_activate_frame.
 +      * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
  
 -      * xterm.c (x_ewmh_activate_frame): New function.
 -      (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
 +      * coding.c: Remove vars that are set but not used.
 +      (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
 +      All callers changed.
 +      (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
 +      (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
 +      (decode_coding_charset): Remove vars that are set but not used.
  
 -2007-07-17  Martin Rudalics  <rudalics@gmx.at>
 +      * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
 +      that is set but not used.
  
 -      * window.c (Fdisplay_buffer): If largest or LRU window is the
 -      only window, split it even if it is not eligible for splitting.
 -      This restores the original behavior broken by the 2007-07-15
 -      change.
 +      * print.c (print_object): Remove var that is set but not used.
  
 -2007-07-17  Glenn Morris  <rgm@gnu.org>
 +      Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
 +      The gnulib version avoids calling malloc in the usual case,
 +      and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
 +      * fileio.c (Ffile_symlink_p): Use emacs_readlink.
 +      * filelock.c (current_lock_owner): Likewise.
 +      * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
 +      * sysdep.c: Include allocator.h, careadlinkat.h.
 +      (emacs_no_realloc_allocator): New static constant.
 +      (emacs_readlink): New function.
 +      * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
 +      ../lib/careadlinkat.h.
  
 -      * abbrev.c (abbrev_check_chars): New function.
 -      (Fdefine_global_abbrev, Fdefine_mode_abbrev):
 -      Call abbrev_check_chars to check abbrev characters are word
 -      constituents.  Doc fix.
 +2011-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
 +      first non-nil return value).
  
 -      * process.c (Fstart_process, Fmake_network_process)
 -      (read_process_output): Fix up last changes.
 +2011-04-03  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-07-16  Eli Zaretskii  <eliz@gnu.org>
 +      * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
 +      if not defined (Bug#8403).
  
 -      * makefile.w32-in (clean): Don't delete *~.
 +2011-04-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-07-16  Andreas Schwab  <schwab@suse.de>
 +      * xdisp.c (display_count_lines): Remove parameter `start',
 +      unused since 1998-01-01T02:27:27Z!rms@gnu.org.  All callers changed.
 +      (get_char_face_and_encoding): Remove parameter `multibyte_p',
 +      unused since 2008-05-14T01:40:23Z!handa@m17n.org.  All callers changed.
 +      (fill_stretch_glyph_string): Remove parameters `row' and `area',
 +      unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
 +      and thereabouts.  All callers changed.
 +      (get_per_char_metric): Remove parameter `f', unused since
 +      2008-05-14T01:40:23Z!handa@m17n.org.  All callers changed.
  
 -      * window.c (Fdisplay_buffer): Use NILP.
 -      (Fset_window_scroll_bars): Likewise.
 +2011-04-02  Jim Meyering  <meyering@redhat.com>
  
 -2007-07-15  Martin Rudalics  <rudalics@gmx.at>
 +      do not dereference NULL upon failed strdup
 +      * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
 +      (ns_get_family): Likewise.
 +
 +2011-04-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * window.c (window_min_size_2): New function.
 -      (window_min_size_1, size_window, Fdisplay_buffer)
 -      (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
 -      windows without mode- or header-lines when window-min-height is
 -      too small.
 -      (size_window): Reset nodelete_p after testing it, following an
 -      earlier note by Kim F. Storm.
 -      (display_buffer): Do not set split_height_threshold to twice the
 -      value of window_min_height to avoid changing the value of a
 -      customizable variable.  Rather explicitly check whether the
 -      height of the window that shall be splitted is at least as large
 -      as split_height_threshold.
 -      (Fwindow_full_width_p): New defun.
 -      (syms_of_window): Defsubr it.
 +      * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
 +
 +2011-04-02  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * window.h: Add EXFUN for Fwindow_full_width_p.
 +      * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
 +      later (Bug#8403).
  
 -2007-07-14  Jason Rumney  <jasonr@gnu.org>
 +2011-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Add lexical binding.
  
 -      * process.c [WINDOWSNT]: Don't undefine AF_INET6.
 +      * window.c (Ftemp_output_buffer_show): New fun.
 +      (Fsave_window_excursion):
 +      * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
  
 -2007-07-14  Richard Stallman  <rms@gnu.org>
 +      * lread.c (lisp_file_lexically_bound_p): New function.
 +      (Fload): Bind Qlexical_binding.
 +      (readevalloop): Remove `evalfun' arg.
 +      Bind Qinternal_interpreter_environment.
 +      (Feval_buffer): Bind Qlexical_binding.
 +      (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
 +      Mark as dynamic.
 +      (syms_of_lread): Declare `lexical-binding'.
  
 -      * eval.c (maybe_call_debugger): New function.
 -      (find_handler_clause): Use maybe_call_debugger.
 -      Call it when the handler says `debug'.
 -      Eliminate DEBUGGER_VALUE_PTR.
 -      (Fsignal): Eliminate debugger_value.
 -      (Qdebug): New variable.
 -      (syms_of_eval): Initialize it.
 +      * lisp.h (struct Lisp_Symbol): New field `declared_special'.
  
 -2007-07-14  Juanma Barranquero  <lekktu@gmail.com>
 +      * keyboard.c (eval_dyn): New fun.
 +      (menu_item_eval_property): Use it.
  
 -      * eval.c (Fprogn):
 -      * keyboard.c (Ftrack_mouse):
 -      * print.c (Fwith_output_to_temp_buffer):
 -      * window.c (Fsave_window_excursion): Doc fix.
 +      * image.c (parse_image_spec): Use Ffunctionp.
  
 -2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * fns.c (concat, mapcar1): Accept byte-code-functions.
  
 -      * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
 +      * eval.c (Fsetq): Handle lexical vars.
 +      (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
 +      (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
 +      (FletX, Flet): Obey lexical binding.
 +      (Fcommandp): Handle closures.
 +      (Feval): New `lexical' arg.
 +      (eval_sub): New function extracted from Feval.  Use it almost
 +      everywhere where Feval was used.  Look up vars in lexical env.
 +      Handle closures.
 +      (Ffunctionp): Move from subr.el.
 +      (Ffuncall): Handle closures.
 +      (apply_lambda): Remove `eval_flags'.
 +      (funcall_lambda): Handle closures and new byte-code-functions.
 +      (Fspecial_variable_p): New function.
 +      (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
 +      but without exporting it to Lisp.
  
 -2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * doc.c (Fdocumentation, store_function_docstring):
 +      * data.c (Finteractive_form): Handle closures.
  
 -      * process.h (struct Lisp_Process): Turn slots infd, outfd,
 -      kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
 -      inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
 -      read_output_delay, and read_output_skip from Lisp_Objects to ints.
 -      Remove unused encoding_carryover.
 -      * process.c: Adjust all functions accordingly.
 +      * callint.c (Fcall_interactively): Preserve lexical-binding mode for
 +      interactive spec.
  
 -2007-07-12  Richard Stallman  <rms@gnu.org>
 +      * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
 +      byte-codes.
 +      (exec_byte_code): New function extracted from Fbyte_code to handle new
 +      calling convention for byte-code-functions.  Add new byte-codes.
  
 -      * term.c: Include unistd.h only if HAVE_UNISTD_H.
 +      * buffer.c (defvar_per_buffer): Set new `declared_special' field.
  
 -2007-07-11  Jason Rumney  <jasonr@gnu.org>
 +      * alloc.c (Fmake_symbol): Init new `declared_special' field.
  
 -      * makefile.w32-in (LIBS): Include OLE32.
 +2011-03-31  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
 -      (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
 +      * xdisp.c (redisplay_internal): Fix prototype.
  
 -2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-31  Eli Zaretskii  <eliz@gnu.org>
  
 -      * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
 -      * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
 -      from a Lisp_Object into a bare pointer.
 -      (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
 -      Adjust the code correspondingly.
 +      * xdisp.c (SCROLL_LIMIT): New macro.
 +      (try_scrolling): Use it when setting scroll_limit.  Limit
 +      scrolling to 100 screen lines.
 +      (redisplay_window): Even when falling back on "recentering",
 +      position point in the window according to scroll-conservatively,
 +      scroll-margin, and scroll-*-aggressively variables.  (Bug#6671)
  
 -      * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
 +      (try_scrolling): When point is above the window, allow searching
 +      as far as scroll_max, or one screenful, to compute vertical
 +      distance from PT to the scroll margin position.  This prevents
 +      try_scrolling from unnecessarily failing when
 +      scroll-conservatively is set to a value slightly larger than the
 +      window height.  Clean up the case of PT below the margin at bottom
 +      of window: scroll_max can no longer be INT_MAX.  When aggressive
 +      scrolling is in use, don't let point enter the opposite scroll
 +      margin as result of the scroll.
 +      (syms_of_xdisp) <scroll-conservatively>: Document the
 +      threshold of 100 lines for never-recentering scrolling.
  
 -      * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
 -      (term_show_mouse_face): Remove unused var `j'.
 -      (handle_one_term_event): Remove unused vars `i' and `j'.
 -      Don't cast return value of ttyname since it's not necessary.
 +2011-03-31  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * dispextern.h (move_it_by_lines):
 +      * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
 +      since 2000-12-29T14:24:09Z!gerd@gnu.org.  All callers changed.
 +      (message_log_check_duplicate): Remove parameters `prev_bol' and
 +      `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org.  All callers changed.
 +      (redisplay_internal): Remove parameter `preserve_echo_area',
 +      unused since 1999-07-21T21:43:52Z!gerd@gnu.org.  All callers changed.
  
 -      * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
 -      USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
 +      * indent.c (Fvertical_motion):
 +      * window.c (window_scroll_pixel_based, Frecenter):
 +      Don't pass `need_y_p' to `move_it_by_lines'.
  
 -      * fns.c (map_char_table): Use an array of int for `indices' rather than
 -      an array of Lisp_Objects (which are only ever integers anyway).
 -      (Fmap_char_table): Update caller.
 -      * lisp.h: Update prototype.
 -      * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
 -      * fontset.c (Ffontset_info):
 -      * casetab.c (set_case_table): Update callers.
 +2011-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
 +      * eval.c (struct backtrace): Don't cheat with negative numbers, but do
 +      steal a few bits to be more compact.
 +      (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
 +      Remove unneeded casts.
  
 -      * keymap.c (struct accessible_keymaps_data)
 -      (struct where_is_internal_data): New structures.
 -      (accessible_keymaps_1, where_is_internal_1): Use them to change
 -      interface to adhere to the one used by map_keymap.
 -      (Faccessible_keymaps, where_is_internal): Use map_keymap.
 -      (accessible_keymaps_char_table, where_is_internal_2): Remove.
 +      * bytecode.c (Fbyte_code): CAR and CDR can GC.
  
 -      * keymap.h (map_keymap_function_t): More informative prototype.
 +2011-03-30  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
  
 -2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>
 +      * keyboard.c (Fexecute_extended_command): Do log the "suggest key
 +      binding" message (bug#7967).
  
 -      * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
 -      (looking_at_1): Don't change search_regs and last_thing_searched
 -      if `inhibit-changing-match-data' is non-nil.
 -      (string_match_1, search_buffer, set_search_regs): Likewise.
 -      (syms_of_search): Add Lisp level definition for
 -      `inhibit-changing-match-data' and set it to nil.
 -      (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
 -      start and end of the match, instead of using values in search_regs.
 +2011-03-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      Fix more problems found by GCC 4.6.0's static checks.
  
 -      * minibuf.c (Fcompleting_read): New value `confirm-only'
 -      for `require-match'.
 +      * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
 +      Remove unused local var.
  
 -2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * editfns.c (Fmessage_box): Remove unused local var.
  
 -      * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
 -      part of the 2007-06-27 change to syms_of_fileio.
 +      * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
 +      (note_mode_line_or_margin_highlight, note_mouse_highlight):
 +      Omit unused local vars.
 +      * window.c (shrink_windows): Omit unused local var.
 +      * menu.c (digest_single_submenu): Omit unused local var.
 +      * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
 +      Omit unused local var.
 +
 +      * keyboard.c (parse_modifiers_uncached, parse_modifiers):
 +      Don't assume string length fits in int.
 +      (keyremap_step, read_key_sequence): Use size_t for sizes.
 +      (read_key_sequence): Don't check last_real_key_start redundantly.
  
 -2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
 +      instead of alloca (Bug#8344).
  
 -      * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
 -      Check WINDOWP before using XWINDOW.  Consolidate return statements.
 +      * eval.c (Fbacktrace): Don't assume nargs fits in int.
 +      (Fbacktrace_frame): Don't assume nframes fits in int.
  
 -2007-06-27  Richard Stallman  <rms@gnu.org>
 +      * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
  
 -      * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
 +      * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
 +      concerns.
  
 -2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
 +      * term.c (produce_glyphless_glyph): Remove unnecessary test.
  
 -      * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
 +      * cm.c (calccost): Turn while-do into do-while, for clarity.
  
 -2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * keyboard.c (syms_of_keyboard): Use the same style as later
 +      in this function when indexing through an array.  This also
 +      works around GCC bug 48267.
  
 -      * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
 -      (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
 -      (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
 -      (_free_internal, memalign): Use them.
 -      (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
 -      Initialize to PTHREAD_MUTEX_INITIALIZER.
 -      (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
 -      (morecore_nolock): Rename from morecore.  All uses changed.
 -      Use only nolock versions of internal allocation functions.
 -      (_malloc_internal_nolock, _realloc_internal_nolock)
 -      (_free_internal_nolock): New functions created from
 -      _malloc_internal, _realloc_internal, and _free_internal.
 -      (_malloc_internal, _realloc_internal, _free_internal): Use them.
 -      Copy hook value to automatic variable before its use.
 -      (memalign): Copy hook value to automatic variable before its use.
 +      * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
  
 -2007-06-26  Kenichi Handa  <handa@m17n.org>
 +      * xselect.c (x_check_property_data): Return correct size (Bug#8335).
  
 -      * coding.c (Ffind_operation_coding_system): Docstring improved.
 -      (syms_of_coding): Docstring of `file-coding-system-alist' improved.
 +      * chartab.c (sub_char_table_ref_and_range): Redo for slight
 +      efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
  
 -2007-06-25  David Kastrup  <dak@gnu.org>
 +      * keyboard.c, keyboard.h (num_input_events): Now size_t.
 +      This avoids undefined behavior on integer overflow, and is a bit
 +      more convenient anyway since it is compared to a size_t variable.
  
 -      * keymap.c (Fcurrent_active_maps): Add `position' argument.
 -      (Fwhere_is_internal): Adjust call to `current-active-maps' to
 -      cater for additional parameter.
 +      Variadic C functions now count arguments with size_t, not int.
 +      This avoids an unnecessary limitation on 64-bit machines, which
 +      caused (substring ...) to crash on large vectors (Bug#8344).
 +      * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
 +      (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
 +      All variadic functions and their callers changed accordingly.
 +      (struct gcpro.nvars): Now size_t, not int.  All uses changed.
 +      * data.c (arith_driver, float_arith_driver): Likewise.
 +      * editfns.c (general_insert_function): Likewise.
 +      * eval.c (struct backtrace.nargs, interactive_p)
 +      (internal_condition_case_n, run_hook_with_args, apply_lambda)
 +      (funcall_lambda, mark_backtrace): Likewise.
 +      * fns.c (concat): Likewise.
 +      * frame.c (x_set_frame_parameters): Likewise.
 +      * fns.c (get_key_arg): Now accepts and returns size_t, and returns
 +      0 if not found, not -1.  All callers changed.
  
 -      * keymap.h: Adjust number of parameters to `current-active-maps'.
 +      * alloc.c (garbage_collect): Don't assume stack size fits in int.
 +      (stack_copy_size): Now size_t, not int.
 +      (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
  
 -      * doc.c (Fsubstitute_command_keys): Adjust call of
 -      `current-active-maps'.
 +2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-06-25  David Kastrup  <dak@gnu.org>
 +      * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
 +      unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
 +      All callers changed.
  
 -      * callint.c (Fcall_interactively): Make the parsing of interactive
 -      specs somewhat more readable.
 +      * lisp.h (multibyte_char_to_unibyte):
 +      * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
 +      unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
 +      * character.h (CHAR_TO_BYTE8):
 +      * cmds.c (internal_self_insert):
 +      * editfns.c (general_insert_function):
 +      * keymap.c (push_key_description):
 +      * search.c (Freplace_match):
 +      * xdisp.c (message_dolog, set_message_1): All callers changed.
  
 -2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
 -      to scroll bar gap also when bitmap fills fringe.  Draw only foreground
 -      if extended background has already been filled.
 +      * keyboard.c (safe_run_hook_funcall): New function.
 +      (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
 +      don't set the hook to nil, but remove the offending function instead.
 +      (Qcommand_hook_internal): Remove, unused.
 +      (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
 +      Vcommand_hook_internal.
  
 -2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * eval.c (enum run_hooks_condition): Remove.
 +      (funcall_nil, funcall_not): New functions.
 +      (run_hook_with_args): Call each function through a `funcall' argument.
 +      Remove `cond' argument, now redundant.
 +      (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
 +      (Frun_hook_with_args_until_failure): Adjust accordingly.
 +      (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
  
 -      * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
 -      (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
 +2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
 -      Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
 -      in #if 0 as it is not compatible with y-or-n-p-with-timeout.
 -      (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
 -      [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
 -      instead of QuitAppModalLoopForWindow.  Consolidate QuitEventLoop calls.
 -      (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
 -      [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
 -      Run timers during dialog popup.
 -      (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
 +      * dispextern.h (string_buffer_position): Remove declaration.
  
 -2007-06-21  Jason Rumney  <jasonr@gnu.org>
 +      * print.c (strout): Remove parameter `multibyte', unused since
 +      1999-08-21T19:30:21Z!gerd@gnu.org.  All callers changed.
  
 -      * image.c (convert_mono_to_color_image): Swap fore and background.
 +      * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
 +      never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
 +      All callers changed.
  
 -2007-06-20  Jason Rumney  <jasonr@gnu.org>
 +      * w32.c (_wsa_errlist): Use braces for struct initializers.
  
 -      * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
 -      (w32_free_bdf_font): Unmap memory not handle.
 +      * xdisp.c (string_buffer_position_lim): Remove parameter `w',
 +      never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
 +      All callers changed.
 +      (string_buffer_position): Likewise.  Also, make static (it's never
 +      used outside xdisp.c).
 +      (cursor_row_p): Remove parameter `w', unused since
 +      2000-10-17T16:08:57Z!gerd@gnu.org.  All callers changed.
 +      (decode_mode_spec): Remove parameter `precision', introduced during
 +      Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
 +      All callers changed.
  
 -2007-06-20  Sam Steingold  <sds@gnu.org>
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * gmalloc.c (__morecore): Fix the declaration to comply with the
 -      definition.
 +      * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
  
 -2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
 +2011-03-27  Anders Lindgren  <andlind@gmail.com>
  
 -      * w32term.c (w32_delete_display): Remove leftover declaration.
 -      (w32_define_cursor, w32_initialize): Make static.
 +      * nsterm.m (ns_menu_bar_is_hidden): New variable.
 +      (ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
 +      (ns_update_auto_hide_menu_bar): New functions.
 +      (ns_update_begin): Call ns_update_auto_hide_menu_bar.
 +      (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
 +      ns_constrain_all_frames.
 +      (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
 +      (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
  
 -      * w32.c (_wsa_errlist): Fix typo in error message.
 -      (init_environment): Ignore any environment variable from the
 -      registry having a null value.
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-06-20  Glenn Morris  <rgm@gnu.org>
 +      * nsmenu.m (runDialogAt): Remove argument to timer_check.
  
 -      * Makefile.in (LIBGIF): Default to -lgif.
 +2011-03-27  Glenn Morris  <rgm@gnu.org>
  
 -2007-06-17  Jason Rumney  <jasonr@gnu.org>
 +      * syssignal.h: Replace RETSIGTYPE with void.
 +      * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
 +      * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
 +      Replace SIGTYPE with void everywhere.
 +      * s/usg5-4-common.h (SIGTYPE): Remove definition.
 +      * s/template.h (SIGTYPE): Remove commented out definition.
  
 -      * w32menu.c (add_menu_item): Don't use multibyte string functions on
 -      unicode strings.
 +2011-03-26  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-06-16  Juanma Barranquero  <lekktu@gmail.com>
 +      * xdisp.c (redisplay_window): Don't check buffer's clip_changed
 +      flag as a prerequisite for invoking try_scrolling.  (Bug#6671)
  
 -      * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
 -      Fix typo in docstring.
 +2011-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-06-16  Eli Zaretskii  <eliz@gnu.org>
 +      * w32.c (read_unc_volume): Use parameter `henum', instead of
 +      global variable `wget_enum_handle'.
  
 -      * w32menu.c (add_menu_item): Escape `&' characters in menu items
 -      and their keybindings.
 +      * keymap.c (describe_vector): Remove parameters `indices' and
 +      `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
 +      (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
  
 -2007-06-15  Chong Yidong  <cyd@stupidchicken.com>
 +      * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
  
 -      * composite.c (update_compositions): Fix last fix.
 +      * keyboard.c (timer_check): Remove parameter `do_it_now',
 +      unused since 1996-04-12T06:01:29Z!rms@gnu.org.
 +      (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
 +      unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
  
 -2007-06-14  Jason Rumney  <jasonr@gnu.org>
 +      * keyboard.c (read_char):
 +      * w32menu.c (w32_menu_display_help):
 +      * xmenu.c (show_help_event, menu_help_callback):
 +      Adjust calls to `show_help_echo'.
  
 -      * w32.c (get_process_times_fn): New function pointer.
 -      (globals_of_w32): Intialize it if present in kernel32.dll.
 -      (w32_get_internal_run_time): New function.
 +      * gtkutil.c (xg_maybe_add_timer):
 +      * keyboard.c (readable_events):
 +      * process.c (wait_reading_process_output):
 +      * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
  
 -      * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
 +      * insdel.c (adjust_markers_gap_motion):
 +      Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
 +      (gap_left, gap_right): Don't call it.
  
 -2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>
 +2011-03-25  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * composite.c (update_compositions): Check the validness of
 -      compositions.
 +      * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
 +      incurred during fontification.
  
 -2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
 -      (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
 +      * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
 +      (DEFVAR_PER_BUFFER): Don't pass it.
  
 -      * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
 -      (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
 +      * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
 +      (scrolling_window): Don't pass it.
  
 -      * macgui.h (USE_MAC_TOOLBAR): New define.
 +2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
 -      Return immediately unless popup is activated.
 +      * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
  
 -      * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
 -      background to scroll bar gap.
 -      (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
 -      (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
 -      scroll bars on frame edge.  Check fringe background extension.
 -      Don't clear extended fringe background area.
 -      (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
 -      (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
 -      (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
 -      [USE_MAC_TOOLBAR]: New macros.
 -      (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
 -      (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
 -      (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
 -      (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
 -      [USE_MAC_TOOLBAR]: New functions.
 -      (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
 -      manually if previous repositioning has failed.
 -      (mac_handle_keyboard_event): Use precomputed event kind.
 -      (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
 -      as tool bar item click.  Handle mouse movement over tool bar items.
 +      * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
 +      and `suffix'.
 +      (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
 +      of variables specific to SELinux and computation of `encoded_absname'.
  
 -      * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
 -      toolbar_win_gravity.
 -      (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
 -      (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
 -      Add externs.
 +      * image.c (XPutPixel): Remove unused variable `height'.
  
 -      * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
 -      [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
 +      * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
  
 -2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
 +      * unexw32.c (get_section_info): Remove unused variable `section'.
  
 -      * image.c (search_image_cache): Remove unused variable.
 +      * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
 +      (system_process_attributes): Remove unused variable `sess'.
 +      (sys_read): Remove unused variable `err'.
  
 -2007-06-13  Chong Yidong  <cyd@stupidchicken.com>
 +      * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
 +      (w32_wnd_proc): Remove unused variable `isdead'.
 +      (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
 +      (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
 +      (x_create_tip_frame): Remove unused variable `tem'.
  
 -      * xfns.c, xmenu.c: Link to xaw3d if available.
 +      * w32inevt.c (w32_console_read_socket):
 +      Remove unused variable `no_events'.
  
 -2007-06-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * w32term.c (x_draw_composite_glyph_string_foreground):
 +      Remove unused variable `width'.
  
 -      * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
 -      frame_foreground and frame_background.
 +2011-03-24  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * image.c (lookup_image): Save frame foreground and background colors.
 -      (search_image_cache): Check if saved and current frame colors match.
 +      * w32term.c (x_set_glyph_string_clipping):
 +      Don't pass uninitialized region to CombineRgn.
  
 -2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-23  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * regex.c (regex_compile): Remove the `regnum' counter.
 -      Use bufp->re_nsub instead.  Add support for \(?N:RE\).
 +      * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
 +      (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
 +      (Fx_close_connection): Remove unused variable `i'.
  
 -2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * w32font.c (w32font_draw): Return number of glyphs.
 +      (w32font_open_internal): Remove unused variable `i'.
 +      (w32font_driver): Add missing initializer.
  
 -      * term.c: Include intervals.h to declare Fget_text_property.
 +      * w32menu.c (utf8to16): Remove unused variable `utf16'.
 +      (fill_in_menu): Remove unused variable `items_added'.
  
 -2007-06-10  Jason Rumney  <jasonr@gnu.org>
 +      * w32term.c (last_mouse_press_frame): Remove static global variable.
 +      (w32_clip_to_row): Remove unused variable `f'.
 +      (x_delete_terminal): Remove unused variable `i'.
  
 -      * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
 +      * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
 +      (NOTHING): Remove unused static global variable.
 +      (uniscribe_check_otf): Remove unused variable `table'.
 +      (uniscribe_font_driver): Add missing initializers.
  
 -2007-06-08  Juanma Barranquero  <lekktu@gmail.com>
 +2011-03-23  Julien Danjou  <julien@danjou.info>
  
 +      * term.c (Fsuspend_tty, Fresume_tty):
 +      * minibuf.c (read_minibuf, run_exit_minibuf_hook):
 +      * window.c (temp_output_buffer_show):
 +      * insdel.c (signal_before_change):
 +      * frame.c (Fhandle_switch_frame):
 +      * fileio.c (Fdo_auto_save):
 +      * emacs.c (Fkill_emacs):
 +      * editfns.c (save_excursion_restore):
 +      * cmds.c (internal_self_insert):
        * callint.c (Fcall_interactively):
 -      * editfns.c (Fdelete_and_extract_region):
 -      * fileio.c (Fread_file_name):
 -      * fns.c (Fmapconcat):
 -      * keyboard.c (cmd_error_internal):
 -      * keymap.c (Fkey_description):
 -      * lread.c (openp):
 -      * minibuf.c (read_minibuf):
 -      * search.c (wordify):
 -      * sunfns.c (sel_read):
 -      * xdisp.c (Fformat_mode_line, syms_of_xdisp):
 -      * xfns.c (x_default_scroll_bar_color_parameter):
 -      * xmenu.c (menu_help_callback):
 -      * xselect.c (Fx_get_atom_name):
 -      * xterm.c (x_term_init): Use empty_unibyte_string.
 -
 -2007-06-08  Dmitry Antipov  <dmantipov@yandex.ru>  (tiny change)
 -
 -      * alloc.c (init_strings): Initialize canonical empty strings.
 -      (make_uninit_string, make_uninit_multibyte_string): Return appropriate
 -      canonical empty string when the requested size is 0.
 -
 -      * emacs.c (empty_unibyte_string): Rename from empty_string.
 -      (empty_multibyte_string): New canonical empty string.
 -      (syms_of_emacs): Don't initialize empty_string.
 -
 -      * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
 -      string, if appropriate.
 -      (empty_unibyte_string, empty_multibyte_string): New externs.
 -      (empty_string): Remove extern.
 -
 -      * lread.c (syms_of_lread): Use empty_unibyte_string.
 -
 -2007-06-07  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/ms-w32.h: Don't define HAVE_TZNAME.
 -
 -      * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
 -
 -2007-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
 -
 -      * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
 -      (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
 -
 -      * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
 -      Don't call next handler.
 -      [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
 -      Remove argument.  Install handler to application.
 -      (set_frame_menubar): Don't change deep_p.
 -      (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
 -      FRAME_OUTER_TO_INNER_DIFF_Y.
 -      (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
 -      (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
 -      [HAVE_DIALOGS]: New macros.
 -      [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
 -      Use them.
 -      (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
 -
 -      * macselect.c [MAC_OSX] (install_service_handler): Rename from
 -      init_service_handler.  All callers changed.  Return OSStatus value.
 -
 -      * macterm.c (mac_begin_cg_clip): New arg F.  Call SetPortWindowPort.
 -      All callers changed so as not to call SetPortWindowPort.
 -      (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
 -      (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
 -      mac_draw_string_common.
 -      (mac_draw_image_string_qd): Likewise.
 -      (mac_draw_string_common): Use them.  Add INLINE.
 -      (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
 -      Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
 -      GetGlobalMouse.
 -      (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
 -      and FRAME_OUTER_TO_INNER_DIFF_Y.
 -      [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
 -      [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
 -      (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
 -      repositioning window to mac_handle_window_event.
 -      (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
 -      saving window location to mac_handle_window_event
 -      [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
 -      (install_menu_target_item_handler): Remove argument in extern.
 -      [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
 -      Also accept command events.
 -      (do_keystroke): New function created from XTread_socket.
 -      (init_command_handler): Remove functions.
 -      [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
 -      and save window location by kEventWindowShowing and kEventWindowHiding
 -      handlers here.  Don't call next handler for window state change and
 -      focus events.
 -      (mac_handle_application_event, mac_handle_keyboard_event)
 -      [TARGET_API_MAC_CARBON]: New functions.
 -      (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
 -      kEventWindowShowing and kEventWindowHiding events.  Move installation
 -      of mouse, font, text input and menu target item handlers to
 -      install_application_handler.
 -      (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
 -      (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      New function.
 -      (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      Register it.
 -      (XTread_socket) [TARGET_API_MAC_CARBON]:
 -      Consolidate SendEventToEventTarget calls.
 -      Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
 -      Move application activation handler to mac_handle_application_event.
 -      Move keyboard handler to mac_handle_keyboard_event.
 -      (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
 -      (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
 -      init_command_handler.  Call install_application_handler.
 -
 -      * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
 -      (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
 -
 -2007-06-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (main): Use `emacs-copyright' in --version output.
 -
 -2007-06-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
 -
 -2007-06-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (mac_window): Replace WindowPtr with WindowRef.
 -
 -      * macgui.h: Replace WindowPtr with WindowRef.
 -
 -      * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
 -      GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
 -      Replace ControlHandle with ControlRef.
 -      (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
 -
 -      * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
 -      GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
 -      Replace ControlHandle with ControlRef.
 -      (USE_CARBON_EVENTS): Remove.  Use TARGET_API_MAC_CARBON instead.
 -      [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
 -
 -      * macterm.h (struct scroll_bar): Rename member control_handle_low
 -      and control_handle_high to control_ref_low and control_ref_high.
 -      All uses changed.
 -      (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
 -      SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
 -      respectively.  All uses changed.
 -      (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
 -      (install_window_handler, remove_window_handler): Replace WindowPtr
 -      with WindowRef in externs.
 -
 -2007-06-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
 -
 -2007-06-03  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
 -
 -      * frame.c (Fmouse_position, Fmouse_pixel_position):
 -      Condition on HAVE_GPM too.
 -
 -      * term.c (term_mouse_highlight): Remove unused variables.
 -      (Fterm_open_connection): Set gpm_zerobased to 1.
 -      (term_mouse_movement, term_mouse_click, handle_one_term_event):
 -      Use zero based co-ordinates.
 -      (handle_one_term_event): Report a drag as mouse movement too.
 -
 -      * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
 -
 -2007-06-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (search_image_cache): New function.  Require background
 -      color match if background color is unspecified in the image spec.
 -      (uncache_image, lookup_image): Use it.
 -
 -2007-06-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fshrink_window): Reflow docstring.
 -
 -2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 22.1 released.
 -
 -2007-06-01  Richard Stallman  <rms@gnu.org>
 -
 -      * xfns.c (x_encode_text): Add GCPRO.
 -
 -2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xfns.c (x_set_name_internal): Save encoded name before
 -      x_encode_text in case string data is relocated.
 -
 -2007-05-31  Richard Stallman  <rms@gnu.org>
 -
 -      * buffer.c (syms_of_buffer): Doc fix.
 -
 -2007-05-30  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * sysdep.c (init_sys_modes): Add rather than replace with
 -      O_NONBLOCK.
 -
 -      * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
 -      term_mouse_moveto.
 -
 -      * termhooks.h (term_mouse_moveto): New extern.
 -
 -      * term.c (mouse_face_window): Rename...
 -      (Qmouse_face_window): ...to this.
 -      (term_show_mouse_face, term_clear_mouse_face)
 -      (term_mouse_highlight): Use Qmouse_face_window.
 -      (term_mouse_moveto): New function.
 -      (term_mouse_position): Make it work.
 -      (syms_of_term): Uncomment assignment to mouse_position_hook.
 -      Staticpro Qmouse_face_window.
 -
 -2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
 -      around current_column call.
 -
 -2007-05-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xfaces.c (syms_of_xfaces): Delete stray semicolon.
 -      * xdisp.c (next_element_from_buffer):
 -      * window.c (delete_window):
 -      * term.c (term_mouse_highlight):
 -      * msdos.c (getdefdir):
 -      * macterm.c (mac_create_bitmap_from_bitmap_data)
 -      (init_font_name_table):
 -      * fns.c (Fsxhash):
 -      * data.c (Fmake_local_variable):
 -      * ccl.c (ccl_driver): Likewise.
 -
 -2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
 -      Call mac_wakeup_from_rne on window size change.
 -
 -2007-05-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (uncache_image): Fix typo.
 +      * buffer.c (Fkill_all_local_variables):
 +      * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
 +      Use Frun_hooks.
 +      (command_loop_1): Use Frun_hooks.  Call safe_run_hooks
 +      unconditionnaly since it does the check itself.
 +
 +2011-03-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix more problems found by GCC 4.5.2's static checks.
 +
 +      * coding.c (encode_coding_raw_text): Avoid unnecessary test
 +      the first time through the loop, since we know p0 < p1 then.
 +      This also avoids a gcc -Wstrict-overflow warning.
 +
 +      * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
 +      leading to a memory leak, possible in functions like
 +      load_charset_map_from_file that can allocate an unbounded number
 +      of objects (Bug#8318).
 +
 +      * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
 +      that could (at least in theory) be that large.
 +
 +      * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
 +      This is less likely to overflow, and avoids undefined behavior if
 +      overflow does occur.  All callers changed.  Use strtoul to scan
 +      for the unsigned long integer.
 +      (pint2hrstr): Simplify and tune code slightly.
 +      This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
 +
 +      * scroll.c (do_scrolling): Work around GCC bug 48228.
 +      See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
 +
 +      * frame.c (Fmodify_frame_parameters): Simplify loop counter.
 +      This also avoids a warning with gcc -Wstrict-overflow.
 +      (validate_x_resource_name): Simplify count usage.
 +      This also avoids a warning with gcc -Wstrict-overflow.
 +
 +      * fileio.c (Fcopy_file): Report error if fchown or fchmod
 +      fail (Bug#8306).
 +
 +      * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
 +
 +      * process.c (Fmake_network_process): Use socklen_t, not int,
 +      where POSIX says socklen_t is required in portable programs.
 +      This fixes a porting bug on hosts like 64-bit HP-UX, where
 +      socklen_t is wider than int (Bug#8277).
 +      (Fmake_network_process, server_accept_connection):
 +      (wait_reading_process_output, read_process_output):
 +      Likewise.
  
 -2007-05-23  Johannes Weiner  <hannes@saeurebad.de>  (tiny change)
 +      * process.c: Rename or move locals to avoid shadowing.
 +      (list_processes_1, Fmake_network_process):
 +      (read_process_output_error_handler, exec_sentinel_error_handler):
 +      Rename or move locals.
 +      (Fmake_network_process): Define label "retry_connect" only if needed.
 +      (Fnetwork_interface_info): Fix pointer signedness.
 +      (process_send_signal): Add cast to avoid pointer signedness problem.
 +      (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
 +      (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
  
 -      * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
 +      Make tparam.h and terminfo.c consistent.
 +      * cm.c (tputs, tgoto, BC, UP): Remove extern decls.
 +      Include tparam.h instead, since it declares them.
 +      * cm.h (PC): Remove extern decl; tparam.h now does this.
 +      * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
 +      * terminfo.c: Include tparam.h, to check interfaces.
 +      (tparm): Make 1st arg a const pointer in decl.  Put it at top level.
 +      (tparam): Adjust signature to match interface in tparam.h;
 +      this removes some undefined behavior.  Check that outstring and len
 +      are zero, which they always are with Emacs.
 +      * tparam.h (PC, BC, UP): New extern decls.
  
 -2007-05-22  Richard Stallman  <rms@gnu.org>
 +      * xftfont.c (xftfont_shape): Now static, and defined only if needed.
 +      (xftfont_open): Rename locals to avoid shadowing.
  
 -      * xterm.c (x_connection_closed): Remove NO_RETURN.
 +      * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
 +      (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
 +      (OTF_TAG_SYM): Omit macro if not needed.
 +      (ftfont_list): Remove unused local.
 +      (get_adstyle_property, ftfont_pattern_entity):
 +      (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
 +      Rename locals to avoid shadowing.
  
 -2007-05-22  Martin Rudalics  <rudalics@gmx.at>
 +      * xfont.c (xfont_list_family): Mark var as initialized.
  
 -      * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
 +      * xml.c (make_dom): Now static.
  
 -2007-05-21  Chong Yidong  <cyd@stupidchicken.com>
 +      * composite.c (composition_compute_stop_pos): Rename local to
 +      avoid shadowing.
 +      (composition_reseat_it): Remove unused locals.
 +      (find_automatic_composition, composition_adjust_point): Likewise.
 +      (composition_update_it): Mark var as initialized.
 +      (find_automatic_composition): Mark vars as initialized,
 +      with a FIXME (Bug#8290).
  
 -      * image.c (uncache_image): New function.
 -      (Fimage_refresh): New function.
 +      character.h: Rename locals to avoid shadowing.
 +      * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
 +      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
 +      (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
 +      (BUF_DEC_POS): Be more systematic about renaming local temporaries
 +      to avoid shadowing.
  
 -2007-05-20  Jan Djärv  <jan.h.d@swipnet.se>
 +      * textprop.c (property_change_between_p): Remove; unused.
  
 -      * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
 +      * intervals.c (interval_start_pos): Now static.
  
 -2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
 +      * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
  
 -      * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
 -      * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
 +      * atimer.c (start_atimer, append_atimer_lists, set_alarm):
 +      Rename locals to avoid shadowing.
  
 -2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
 +      * sound.c (wav_play, au_play, Fplay_sound_internal):
 +      Fix pointer signedness.
 +      (alsa_choose_format): Remove unused local var.
 +      (wav_play): Initialize a variable to 0, to prevent undefined
 +      behavior (Bug#8278).
  
 -      * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
 -      conditional on [HAVE_GPM_H].
 +      * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
  
 -2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
  
 -      * syntax.c (skip_chars): Update syntax-table only after we checked that
 -      the new location is valid.
 +      * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
 +      clobbering (Bug#8298).
 +      * sysdep.c (sys_subshell): Likewise.
 +      Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
  
 -2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
 +      This should get cleaned up, so that child_setup has the
 +      same signature on all platforms.
  
 -      * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
 -      mac_get_window_bounds.
 +      * callproc.c (call_process_cleanup): Now static.
 +      (relocate_fd): Rename locals to avoid shadowing.
  
 -2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
 +2011-03-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * Makefile.in (LIBGPM): Allow it to be set from configure.
 -      If set then link Emacs with it.
 +      * xterm.c (x_clear_frame): Remove XClearWindow call.  This appears
 +      not to be necessary, and produces flickering.
  
 -      * config.in: Regenerate.
 +2011-03-20  Glenn Morris  <rgm@gnu.org>
  
 -      * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
 -      New externs.
 +      * config.in: Remove file.
  
 -      * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
 -      Include gpm.h.
 -      (handle_one_term_event, term_gpm): New externs.
 +2011-03-20  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
 -      and allow it to be interrupted by SIGIO.
 +      * minibuf.c (Vcompleting_read_function): Don't declare, global variables
 +      are now in src/globals.h.
 +      (syms_of_minibuf): Remove spurious & from previous change.
  
 -      * process.c (gpm_wait_mask, max_gpm_desc): New variables.
 -      (wait_reading_process_output): Wait on gpm_fd too.
 -      (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
 -      (add_gpm_wait_descriptor_called_flag): New variable.
 -      (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
 +2011-03-20  Leo  <sdl.web@gmail.com>
  
 -      * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
 -      (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
 -      (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
 -      Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
 -      (make_lispy_event): Add case GPM_CLICK_EVENT.
 -      (read_avail_input): Handle mouse input.
 +      * minibuf.c (completing-read-function): New variable.
 +      (completing-read-default): Rename from completing-read.
 +      (completing-read): Call completing-read-function.
  
 -      * term.c (write_glyphs_with_face): New function.
 -      [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
 -      (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
 -      (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
 -      (mouse_face_face_id, term_gpm, pos_x, pos_y)
 -      (last_mouse_x, last_mouse_y): New variables.
 -      (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
 -      (term_mouse_highlight, term_mouse_movement, term_mouse_position)
 -      (term_mouse_click, handle_one_term_event, Fterm_open_connection)
 -      (Fterm_close_connection): New functions.
 -      (term_init): Initialise mouse_face_window.
 +2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-05-19  Chong Yidong  <cyd@stupidchicken.com>
 +      * xfaces.c (Fx_load_color_file):
 +      Read color file from absolute filename (bug#8250).
  
 -      * xdisp.c (redisplay_window): If first window line is a
 -      continuation line, recompute the new window start instead of
 -      recentering.
 +2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-05-18  Glenn Morris  <rgm@gnu.org>
 +      * makefile.w32-in: Update dependencies.
  
 -      * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
 -      Suggested by Alfred M. Szmidt <ams@gnu.org>.
 +2011-03-17  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-05-17  Glenn Morris  <rgm@gnu.org>
 +      * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
  
 -      * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
 +2011-03-17  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      Fix more problems found by GCC 4.5.2's static checks.
  
 -      * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
 -      dead key repeat and up events.
 +      * process.c (make_serial_process_unwind, send_process_trap):
 +      (sigchld_handler): Now static.
  
 -2007-05-14  Chong Yidong  <cyd@stupidchicken.com>
 +      * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
 +      That way, the code declares only the vars that it needs.
 +      * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
 +      * s/cygwin.h (PTY_ITERATION): Likewise.
 +      * s/darwin.h (PTY_ITERATION): Likewise.
 +      * s/gnu-linux.h (PTY_ITERATION): Likewise.
  
 -      * image.c (pbm_load): Check image size for monochrome pbm.
 +      * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
 +      * process.c (allocate_pty): Don't declare stb unless it's needed.
  
 -2007-05-13  Chong Yidong  <cyd@stupidchicken.com>
 +      * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
 +      (CONSTANTLIM): Remove; unused.
 +      (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
 +      Define only if needed.
  
 -      * xterm.c (XTread_socket): Revert last change.
 +      * unexelf.c (unexec): Name an expression,
 +      to avoid gcc -Wbad-function-cast warning.
 +      Use a different way to cause a compilation error if anyone uses
 +      n rather than nn, a way that does not involve shadowing.
 +      (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
  
 -2007-05-12  Chong Yidong  <cyd@stupidchicken.com>
 +      * deps.mk (unexalpha.o): Remove; unused.
  
 -      * image.c (pbm_load): Correctly check image size for greyscale pbm.
 +      New file unexec.h, the (simple) interface for unexec (Bug#8267).
 +      * unexec.h: New file.
 +      * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
 +      (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
 +      Depend on unexec.h.
 +      * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
 +      * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
 +      * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
 +      Change as necessary to match prototype in unexec.h.
  
 -      * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
 +      * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
 +      shadowing.
 +      (back_comment, skip_chars): Mark vars as initialized.
 +
 +      * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
 +      Rename locals to avoid shadowing.
 +
 +      * lread.c (read1): Rewrite so as not to use empty "else".
 +      (Fload, readevalloop, read1): Rename locals to avoid shadowing.
 +
 +      * print.c (Fredirect_debugging_output): Fix pointer signedess.
 +
 +      * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
 +      warning when compiling print.c.
 +
 +      * font.c (font_unparse_fcname): Abort in an "impossible" situation
 +      instead of using an uninitialized var.
 +      (font_sort_entities): Mark var as initialized.
 +
 +      * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
 +
 +      * font.c (font_unparse_xlfd): Don't mix pointers to variables with
 +      pointers to constants.
 +      (font_parse_fcname): Remove unused vars.
 +      (font_delete_unmatched): Now static.
 +      (font_get_spec): Remove; unused.
 +      (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
 +      (font_update_drivers, Ffont_get_glyphs, font_add_log):
 +      Rename or move locals to avoid shadowing.
 +
 +      * fns.c (require_nesting_list, require_unwind): Now static.
 +      (Ffillarray): Rename locals to avoid shadowing.
 +
 +      * floatfns.c (domain_error2): Define only if needed.
 +      (Ffrexp, Fldexp): Rename locals to avoid shadowing.
 +
 +      * alloc.c (mark_backtrace): Move decl from here ...
 +      * lisp.h: ... to here, so that it can be checked.
 +
 +      * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
 +      (Fdefvar): Rewrite so as not to use empty "else".
 +      (lisp_indirect_variable): Name an expression,
 +      to avoid gcc -Wbad-function-cast warning.
 +      (Fdefvar): Rename locals to avoid shadowing.
 +
 +      * callint.c (quotify_arg, quotify_args): Now static.
 +      (Fcall_interactively): Rename locals to avoid shadowing.
 +      Use const pointer when appropriate.
 +
 +      * lisp.h (get_system_name, get_operating_system_release):
 +      Move decls here, to check interfaces.
 +      * process.c (get_operating_system_release): Move decl to lisp.h.
 +      * xrdb.c (get_system_name): Likewise.
 +      * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
 +      (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
 +      some of which prompt warnings from gcc -Wbad-function-cast.
 +      (Fformat_time_string, Fencode_time, Finsert_char):
 +      (Ftranslate_region_internal, Fformat):
 +      Rename or remove local vars to avoid shadowing.
 +      (Ftranslate_region_internal): Mark var as initialized.
 +
 +      * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
 +      avoid shadowing.
 +
 +      * lisp.h (eassert): Check that the argument compiles, even if
 +      ENABLE_CHECKING is not defined.
 +
 +      * data.c (Findirect_variable): Name an expression, to avoid
 +      gcc -Wbad-function-cast warning.
 +      (default_value, arithcompare, arith_driver, arith_error): Now static.
 +      (store_symval_forwarding): Rename local to avoid shadowing.
 +      (Fmake_variable_buffer_local, Fmake_local_variable):
 +      Mark variables as initialized.
 +      (do_blv_forwarding, do_symval_forwarding): Remove; unused.
 +
 +      * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
 +      (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
 +      Rename locals to avoid shadowing.
 +      (mark_stack): Move local variables into the #ifdef region where
 +      they're used.
 +      (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
 +      ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
 +      needed otherwise.
 +      (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
 +      (GC_STRING_CHARS): Remove; not used.
 +      (Fmemory_limit): Cast sbrk's returned value to char *.
 +
 +      * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
 +      avoids undefined behavior in theory.
 +
 +      * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
 +
 +      Use functions, not macros, for up- and down-casing (Bug#8254).
 +      * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
 +      (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove.  All callers changed
 +      to use the following functions instead of these macros.
 +      (downcase): Adjust to lack of DOWNCASE_TABLE.  Return int, not
 +      EMACS_INT, since callers assume the returned value fits in int.
 +      (upcase1): Likewise, for UPCASE_TABLE.
 +      (uppercasep, lowercasep, upcase): New static inline functions.
 +      * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
 +      the race-condition problem in the old DOWNCASE.
 +
 +      * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
 +      Rename locals to avoid shadowing.
 +      (regex_compile, re_match_2_internal): Move locals to avoid shadowing.
 +      (regex_compile, re_search_2, re_match_2_internal):
 +      Remove unused local vars.
 +      (FREE_VAR): Rewrite so as not to use empty "else",
 +      which gcc can warn about.
 +      (regex_compile, re_match_2_internal): Mark locals as initialized.
 +      (RETALLOC_IF): Define only if needed.
 +      (WORDCHAR_P): Likewise.  This one is never needed, but is used
 +      only in a comment talking about a compiler bug, so put inside
 +      the #if 0 of that comment.
 +      (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
 +      (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
 +      Remove; unused.
 +
 +      * search.c (boyer_moore): Rename locals to avoid shadowing.
 +      * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
 +      (PREV_CHAR_BOUNDARY): Likewise.
 +
 +      * search.c (simple_search): Remove unused var.
 +
 +      * dired.c (compile_pattern): Move decl from here ...
 +      * lisp.h: ... to here, so that it can be checked.
 +      (struct re_registers): New forward decl.
 +
 +      * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
 +
 +      * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
 +      All uses changed.
 +      (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
 +      Rename locals to avoid shadowing.
 +      (Fvertical_motion): Mark locals as initialized.
 +
 +      * casefiddle.c (casify_object, casify_region): Now static.
 +      (casify_region): Mark local as initialized.
 +
 +      * cmds.c (internal_self_insert): Rename local to avoid shadowing.
 +
 +      * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
 +      New macros, so that the caller can use some names other than
 +      gcpro1, gcpro2, etc.
 +      (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
 +      of the new macros.
 +      (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
 +      argument, for consistency with GCPRO2_VAR, etc: it is now the
 +      prefix of the variable, not the variable itself.  All uses
 +      changed.
 +      * dired.c (directory_files_internal, file_name_completion):
 +      Rename locals to avoid shadowing.
 +
 +      Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
 +      An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
 +      dired.c's scmp function, had undefined behavior.
 +      * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
 +      (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
 +      * buffer.h: ... to here, because these macros use current_buffer,
 +      and the new implementation with inline functions needs to have
 +      current_buffer in scope now, rather than later when the macros
 +      are used.
 +      (downcase, upcase1): New static inline functions.
 +      (DOWNCASE, UPCASE1): Reimplement using these functions.
 +      This avoids undefined behavior in expressions like
 +      DOWNCASE (x) == DOWNCASE (y), which previously suffered
 +      from race conditions in accessing the global variables
 +      case_temp1 and case_temp2.
 +      * casetab.c (case_temp1, case_temp2): Remove; no longer needed.
 +      * lisp.h (case_temp1, case_temp2): Remove their decls.
 +      * character.h (ASCII_CHAR_P): Move from here ...
 +      * lisp.h: ... to here, so that the inline functions mentioned
 +      above can use them.
 +
 +      * dired.c (directory_files_internal_unwind): Now static.
 +
 +      * fileio.c (file_name_as_directory, directory_file_name):
 +      (barf_or_query_if_file_exists, auto_save_error, auto_save_1):
 +      Now static.
 +      (file_name_as_directory): Use const pointers when appropriate.
 +      (Fexpand_file_name): Likewise.  In particular, newdir might
 +      point at constant storage, so make it a const pointer.
 +      (Fmake_directory_internal, Fread_file_name): Remove unused vars.
 +      (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
 +      signedness issues.
 +      (Fset_file_times, Finsert_file_contents, auto_save_error):
 +      Rename locals to avoid shadowing.
 +
 +      * minibuf.c (choose_minibuf_frame_1): Now static.
 +      (Ftry_completion, Fall_completions): Rename or remove locals
 +      to avoid shadowing.
 +
 +      * marker.c (bytepos_to_charpos): Remove; unused.
 +
 +      * lisp.h (verify_bytepos, count_markers): New decls,
 +      so that gcc does not warn that these functions aren't declared.
 +
 +      * insdel.c (check_markers, make_gap_larger, make_gap_smaller):
 +      (reset_var_on_error, Fcombine_after_change_execute_1): Now static.
 +      (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
 +      (copy_text): Remove unused local var.
 +
 +      * filelock.c (within_one_second): Now static.
 +      (lock_file_1): Rename local to avoid shadowing.
 +
 +      * buffer.c (fix_overlays_before): Mark locals as initialized.
 +      (fix_start_end_in_overlays): Likewise.  This function should be
 +      simplified by using pointers-to-pointers, but that's a different
 +      matter.
 +      (switch_to_buffer_1): Now static.
 +      (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
 +      (report_overlay_modification): Rename locals to avoid shadowing.
 +
 +      * sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
 +      Fix pointer signedness issue.
 +      (sys_subshell): Mark local as volatile if checking for lint,
 +      to suppress a gcc -Wclobbered warning that does not seem to be right.
 +      (MAXPATHLEN): Define only if needed.
 +
 +      * process.c (serial_open, serial_configure): Move decls from here ...
 +      * systty.h: ... to here, so that they can be checked.
 +
 +      * fns.c (get_random, seed_random): Move extern decls from here ...
 +      * lisp.h: ... to here, so that they can be checked.
 +
 +      * sysdep.c (reset_io): Now static.
 +      (wait_for_termination_signal): Remove; unused.
 +
 +      * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
 +      (copy_keymap_item, append_key, push_text_char_description):
 +      Now static.
 +      (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
 +      (DENSE_TABLE_SIZE): Remove; unused.
 +      (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
 +      (describe_map_tree):
 +      Rename locals to avoid shadowing.
 +
 +      * keyboard.c: Declare functions static if they are not used elsewhere.
 +      (echo_char, echo_dash, cmd_error, top_level_2):
 +      (poll_for_input, handle_async_input): Now static.
 +      (read_char, kbd_buffer_get_event, make_lispy_position):
 +      (make_lispy_event, make_lispy_movement, apply_modifiers):
 +      (decode_keyboard_code, tty_read_avail_input, menu_bar_items):
 +      (parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
 +      (Fread_key_sequence_vector): Rename locals to avoid shadowing.
 +      (read_key_sequence, read_char): Mark locals as initialized.
 +      (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
 +
 +      * keyboard.h (make_ctrl_char): New decl.
 +      (mark_kboards): Move decl here ...
 +      * alloc.c (mark_kboards): ... from here.
 +
 +      * lisp.h (force_auto_save_soon): New decl.
 +
 +      * emacs.c (init_cmdargs): Rename local to avoid shadowing.
 +      (DEFINE_DUMMY_FUNCTION): New macro.
 +      (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
 +      Use it.
 +      (main): Add casts to avoid warnings
 +      if GCC considers string literals to be constants.
 +
 +      * lisp.h (fatal_error_signal): Add decl, since it's exported.
 +
 +      * dbusbind.c: Pointer signedness fixes.
 +      (xd_signature, xd_append_arg, xd_initialize):
 +      (Fdbus_call_method, Fdbus_call_method_asynchronously):
 +      (Fdbus_method_return_internal, Fdbus_method_error_internal):
 +      (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
 +      (Fdbus_register_signal): Use SSDATA when the context wants char *.
 +
 +      * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
 +      if GCC considers string literals to be constants.
 +      (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
 +
 +2011-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
 +      (print_preprocess, print_object): New macro to fix last change.
 +
 +      * print.c (print_preprocess): Don't forget font objects.
 +
 +2011-03-16  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * emacs.c (USAGE3): Doc fixes.
 +
 +2011-03-15  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * coding.c (detect_coding_iso_2022): Reorganize code to clarify
 +      structure.
  
 -      * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
 -      mixup (YAILOM).
 +2011-03-14  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-05-07  Andreas Schwab  <schwab@suse.de>
 +      * lisp.h (VWindow_system, Qfile_name_history):
 +      * keyboard.h (lispy_function_keys) [WINDOWSNT]:
 +      * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
 +      (w32_system_caret_x, w32_system_caret_y): Declare extern.
  
 -      * keymap.c (Flookup_key): Fix typo in last change.
 +      * w32select.c: Don't #include "keyboard.h".
 +      (run_protected): Add extern declaration for waiting_for_input.
  
 -2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * w32.c (Qlocal, noninteractive1, inhibit_window_system):
 +      * w32console.c (detect_input_pending, read_input_pending)
 +      (encode_terminal_code):
 +      * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
 +      (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
 +      (w32_system_caret_y, Qfile_name_history):
 +      * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
 +      * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
 +      * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
 +      (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
 +      * w32proc.c (Qlocal, report_file_error):
 +      * w32term.c (Vwindow_system, updating_frame):
 +      * w32uniscribe.c (initialized, uniscribe_font_driver):
 +      Remove unneeded extern declarations.
  
 -      * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
 -      mapping for unibyte strings.
 +2011-03-14  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
  
 -      * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
 -      (Fx_popup_dialog) [MAC_OSX]: Likewise.
 +2011-03-13  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-04-29  Richard Stallman  <rms@gnu.org>
 +      * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
 +      (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
 +      These macros can no longer be used for assignment.
  
 -      * insdel.c (replace_range): For undo, record insertion first.
 +      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
 +      Assign struct members directly, instead of using BUF_BEGV etc.
 +      (record_buffer_markers, fetch_buffer_markers): New functions for
 +      recording and fetching special buffer markers.
 +      (set_buffer_internal_1, set_buffer_temp): Use them.
  
 -2007-04-29  Andreas Schwab  <schwab@suse.de>
 +      * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
  
 -      * lisp.h (VECSIZE): Use OFFSETOF.
 +      * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
  
 -2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
 +      (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
  
 -      * xdisp.c (try_window_reusing_current_matrix): Fix number of
 -      disabled lines.
 +      * xdisp.c (hscroll_window_tree):
 +      (reconsider_clip_changes): Use PT instead of BUF_PT.
  
 -2007-04-28  Richard Stallman  <rms@gnu.org>
 +2011-03-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
 +      $(EMACS_ROOT)/lib/intprops.h.
 +
 +2011-03-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix more problems found by GCC 4.5.2's static checks.
 +
 +      * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
 +      to unsigned char * to avoid compiler diagnostic.
 +      (xg_free_frame_widgets): Make it clear that a local variable is
 +      needed only if USE_GTK_TOOLTIP.
 +      (gdk_window_get_screen): Make it clear that this macro is needed
 +      only if USE_GTK_TOOLTIP.
 +      (int_gtk_range_get_value): New function, which avoids a diagnostic
 +      from gcc -Wbad-function-cast.
 +      (xg_set_toolkit_scroll_bar_thumb): Use it.
 +      (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
 +      diagnostic from gcc -Wbad-function-cast.
 +      (get_utf8_string, xg_get_file_with_chooser):
 +      Rename locals to avoid shadowing.
 +      (create_dialog): Move locals to avoid shadowing.
 +
 +      * xgselect.c (xg_select): Remove unused var.
 +
 +      * image.c (four_corners_best): Mark locals as initialized.
 +      (gif_load): Initialize transparent_p to zero (Bug#8238).
 +      Mark another local as initialized.
 +      (my_png_error, my_error_exit): Mark with NO_RETURN.
 +
 +      * image.c (clear_image_cache): Now static.
 +      (DIM, HAVE_STDLIB_H_1): Remove unused macros.
 +      (xpm_load): Redo to avoid "discards qualifiers" gcc warning.
 +      (x_edge_detection): Remove unnecessary cast that
 +      gcc -Wbad-function-cast diagnoses.
 +      (gif_load): Fix pointer signedness.
 +      (clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
 +      (jpeg_load, gif_load): Rename locals to avoid shadowing.
 +
 +2011-03-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve quality of tests for time stamp overflow.
 +      For example, without this patch (encode-time 0 0 0 1 1
 +      1152921504606846976) returns the obviously-bogus value (-948597
 +      62170) on my RHEL 5.5 x86-64 host.  With the patch, it correctly
 +      reports time overflow.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
 +      * deps.mk (editfns.o): Depend on ../lib/intprops.h.
 +      * editfns.c: Include limits.h and intprops.h.
 +      (TIME_T_MIN, TIME_T_MAX): New macros.
 +      (time_overflow): Move earlier, to before first use.
 +      (hi_time, lo_time): New functions, for an accurate test for
 +      out-of-range times.
 +      (Fcurrent_time, Fget_internal_run_time, make_time): Use them.
 +      (Fget_internal_run_time): Don't assume time_t fits in int.
 +      (make_time): Use list2 instead of Fcons twice.
 +      (Fdecode_time): More accurate test for out-of-range times.
 +      (check_tm_member): New function.
 +      (Fencode_time): Use it, to test for out-of-range times.
 +      (lisp_time_argument): Don't rely on undefined left-shift and
 +      right-shift behavior when checking for time stamp overflow.
 +
 +      * editfns.c (time_overflow): New function, refactoring common code.
 +      (Fformat_time_string, Fdecode_time, Fencode_time):
 +      (Fcurrent_time_string): Use it.
 +
 +      Move 'make_time' to be next to its inverse 'lisp_time_argument'.
 +      * dired.c (make_time): Move to ...
 +      * editfns.c (make_time): ... here.
 +      * systime.h: Note the move.
 +
 +2011-03-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * lread.c (read_escape): In a string, \s is always space.
 +      * fringe.c (update_window_fringes): Remove unused variables.
  
 -2007-04-27  Jan Djärv  <jan.h.d@swipnet.se>
 +      * unexmacosx.c (copy_data_segment): Also copy __got section.
 +      (Bug#8223)
  
 -      * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
 +2011-03-12  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * termcap.c [MSDOS]: Include "msdos.h".
 +      (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
 +      Constify `char *' arguments and their references according to
 +      prototypes in tparam.h.
 +
 +      * deps.mk (termcap.o): Depend on tparam.h and msdos.h.
 +
 +      * msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
 +      Adapt all references accordingly.
 +
 +      * msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
 +
 +2011-03-11  Tom Tromey  <tromey@redhat.com>
 +
 +      * buffer.c (syms_of_buffer): Remove obsolete comment.
 +
 +2011-03-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * termhooks.h (encode_terminal_code): Declare prototype.
 +
 +      * msdos.c (encode_terminal_code): Don't declare prototype.
 +
 +      * term.c (encode_terminal_code): Now external again, used by
 +      w32console.c and msdos.c.
 +
 +      * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
 +      Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
 +
 +2011-03-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix some minor problems found by GCC 4.5.2's static checks.
 +
 +      * fringe.c (update_window_fringes): Mark locals as initialized
 +      (Bug#8227).
 +      (destroy_fringe_bitmap, init_fringe_bitmap): Now static.
 +
 +      * alloc.c (mark_fringe_data): Move decl from here ...
 +      * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
 +      to check its interface.
 +      (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
 +
 +      * fontset.c (free_realized_fontset): Now static.
 +      (Fset_fontset_font): Rename local to avoid shadowing.
 +      (fontset_font): Mark local as initialized.
 +      (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
 +
 +      * xrdb.c: Include "xterm.h", to check x_load_resources's interface.
 +
 +      * xselect.c (x_disown_buffer_selections): Remove; not used.
 +      (TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
 +      (x_own_selection, Fx_disown_selection_internal): Rename locals
 +      to avoid shadowing.
 +      (x_handle_dnd_message): Remove local to avoid shadowing.
 +
 +      * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
 +      so that the caller can use some name other than gcpro1.
 +      (GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
 +      * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
 +      (Fx_backspace_delete_keys_p):
 +      Use them to avoid shadowing, and rename vars to avoid shadowing.
 +      (x_decode_color, x_set_name, x_window): Now static.
 +      (Fx_create_frame): Add braces to silence GCC warning.
 +      (Fx_file_dialog, Fx_select_font): Fix pointer signedness.
 +      (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
 +      Remove unused locals.
 +      (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
 +      (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
 +      Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
 +      macros.
 +
 +      * xterm.h (x_mouse_leave): New decl.
 +
 +      * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
 +      Remove unused functions.
 +      (x_shift_glyphs_for_insert, XTflash, XTring_bell):
 +      (x_calc_absolute_position): Now static.
 +      (XTread_socket): Don't define label "out" unless it's used.
 +      Don't declare local "event" unless it's used.
 +      (x_iconify_frame, x_free_frame_resources): Don't declare locals
 +      unless they are used.
 +      (XEMBED_VERSION, xembed_set_info): Don't define unless needed.
 +      (x_fatal_error_signal): Remove; not used.
 +      (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
 +      (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
 +      (x_error_catcher, x_connection_closed, x_error_handler):
 +      (x_error_quitter, xembed_send_message, x_iconify_frame):
 +      (my_log_handler): Rename locals to avoid shadowing.
 +      (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
 +      (x_connection_closed): Tell GCC not to suggest NO_RETURN.
 +
 +      * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
 +      Rename or move locals to avoid shadowing.
 +      (tty_defined_color, merge_face_heights): Now static.
 +      (free_realized_faces_for_fontset): Remove; not used.
 +      (Fx_list_fonts): Mark variable that gcc -Wuninitialized
 +      does not deduce is never used uninitialized.
 +      (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
 +      (LFACEP): Define only if XASSERTS, as it's not needed otherwise.
 +
 +      * terminal.c (store_terminal_param): Now static.
 +
 +      * xmenu.c (menu_highlight_callback): Now static.
 +      (set_frame_menubar): Remove unused local.
 +      (xmenu_show): Rename parameter to avoid shadowing.
 +      (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
 +      since they might point to immutable storage.
 +      (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
 +      since it's unused otherwise.
 +
 +      * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
 +      Add a FIXME, since the code still doesn't look right.  (Bug#8215)
 +      (Fcurrent_bidi_paragraph_direction): Simplify slightly; this
 +      avoids a gcc -Wuninitialized diagnostic.
 +      (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
 +      (note_mouse_highlight): Mark variables that gcc -Wuninitialized
 +      does not deduce are never used uninitialized.
 +
 +      * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
 +
 +      * xdisp.c (redisplay_window): Rename local to avoid shadowing.
 +      * window.c (window_loop, size_window):
 +      (run_window_configuration_change_hook, enlarge_window): Likewise.
 +
 +      * window.c (display_buffer): Now static.
 +      (size_window): Mark variables that gcc -Wuninitialized
 +      does not deduce are never used uninitialized.
 +      * window.h (check_all_windows): New decl, to forestall
 +      gcc -Wmissing-prototypes diagnostic.
 +      * dispextern.h (bidi_dump_cached_states): Likewise.
 +
 +      * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
 +      shadowing.
 +      * charset.c (map_charset_for_dump, Fchar_charset): Likewise.
 +      Include <limits.h>.
 +      (Fsort_charsets): Redo min/max calculation to shorten the code a bit
 +      and to avoid gcc -Wuninitialized warning.
 +      (load_charset_map): Mark variables that gcc -Wuninitialized
 +      does not deduce are never used uninitialized.
 +      (load_charset): Abort instead of using uninitialized var (Bug#8229).
 +
 +      * coding.c (coding_set_source, coding_set_destination):
 +      Use "else { /* comment */ }" rather than "else /* comment */;"
 +      for clarity, and to avoid gcc -Wempty-body warning.
 +      (Fdefine_coding_system_internal): Don't redeclare 'i' inside
 +      a block, when the outer 'i' will do.
 +      (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
 +      (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
 +      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
 +      (decode_coding_raw_text, decode_coding_charset, get_translation_table):
 +      (Fdecode_sjis_char, Fdefine_coding_system_internal):
 +      Rename locals to avoid shadowing.
 +      * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
 +      * coding.c (emacs_mule_char, encode_invocation_designation):
 +      Now static, since they're not used elsewhere.
 +      (decode_coding_iso_2022): Add "default: abort ();" as a safety check.
 +      (decode_coding_object, encode_coding_object, detect_coding_system):
 +      (decode_coding_emacs_mule): Mark variables that gcc
 +      -Wuninitialized does not deduce are never used uninitialized.
 +      (detect_coding_iso_2022): Initialize a local variable that might
 +      be used uninitialized.  Leave a FIXME because it's not clear that
 +      this initialization is needed.  (Bug#8211)
 +      (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
 +      (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
 +      (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
 +      (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
 +      Remove unused macros.
 +
 +      * category.c (hash_get_category_set): Remove unused local var.
 +      (copy_category_table): Now static, since it's not used elsewhere.
 +      * character.c (string_count_byte8): Likewise.
 +
 +      * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
 +      (Fregister_code_conversion_map): Rename locals to avoid shadowing.
 +
 +      * chartab.c (copy_sub_char_table): Now static, since it's not used
 +      elsewhere.
 +      (sub_char_table_ref_and_range, char_table_ref_and_range):
 +      Rename locals to avoid shadowing.
 +      (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
 +
 +      * bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
 +      (BIDI_BOB): Remove unused macro.
 +
 +      * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
 +      deduce are never used uninitialized.
 +      * term.c (encode_terminal_code): Likewise.
 +
 +      * term.c (encode_terminal_code): Now static.  Remove unused local.
 +
 +      * tparam.h: New file.
 +      * term.c, tparam.h: Include it.
 +      * deps.mk (term.o, tparam.o): Depend on tparam.h.
 +      * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
 +      Move these decls to tparam.h, and make them agree with what
 +      is actually in tparam.c.  The previous trick of using incompatible
 +      decls in different modules does not conform to the C standard.
 +      All callers of tparam changed to use tparam's actual API.
 +      * tparam.c (tparam1, tparam, tgoto):
 +      Use const pointers where appropriate.
 +
 +      * cm.c (calccost, cmgoto): Use const pointers where appropriate.
 +      * cm.h (struct cm): Likewise.
 +      * dispextern.h (do_line_insertion_deletion_costs): Likewise.
 +      * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
 +      * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
 +      (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
 +      (turn_on_face, init_tty): Likewise.
 +      * termchar.h (struct tty_display_info): Likewise.
 +
 +      * term.c (term_mouse_position): Rename local to avoid shadowing.
 +
 +      * alloc.c (mark_ttys): Move decl from here ...
 +      * lisp.h (mark_ttys): ... to here, so that it's checked against defn.
 +
 +2011-03-11  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * .gdbinit (pwinx, xbuffer): Fix access to buffer name.
 +
 +2011-03-09  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * search.c (compile_pattern_1): Remove argument regp, unused since
 +      revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
 +      (compile_pattern): Don't pass it.
 +
 +2011-03-08  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xterm.h (DEFAULT_GDK_DISPLAY): New define.
 +      (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
 +      for ! HAVE_GTK3.
 +      (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
 +
 +      * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
 +
 +      * gtkutil.c: Include gtkx.h if HAVE_GTK3.  If ! HAVE_GTK3, define
 +      gdk_window_get_screen, gdk_window_get_geometry,
 +      gdk_x11_window_lookup_for_display and GDK_KEY_g.
 +      (xg_set_screen): Use DEFAULT_GDK_DISPLAY.
 +      (xg_get_pixbuf_from_pixmap): New function.
 +      (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
 +      to Pixmap, take frame as parameter, remove GdkColormap parameter.
 +      Call xg_get_pixbuf_from_pixmap instead of
 +      gdk_pixbuf_get_from_drawable.
 +      (xg_get_image_for_pixmap): Do not make GdkPixmaps, call
 +      xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
 +      (xg_check_special_colors): Use GtkStyleContext and its functions
 +      for HAVE_GTK3.
 +      (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
 +      (xg_prepare_tooltip, create_dialog, menubar_map_cb)
 +      (xg_update_frame_menubar, xg_tool_bar_detach_callback)
 +      (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
 +      Call gtk_widget_get_preferred_size.
 +      (xg_frame_resized): gdk_window_get_geometry only takes 5
 +      parameters.
 +      (xg_win_to_widget, xg_event_is_for_menubar):
 +      Call gdk_x11_window_lookup_for_display.
 +      (xg_set_widget_bg): New function.
 +      (delete_cb): New function.
 +      (xg_create_frame_widgets): connect delete-event to delete_cb.
 +      Call xg_set_widget_bg.  Only set backgrund pixmap for ! HAVE_GTK3
 +      (xg_set_background_color): Call xg_set_widget_bg.
 +      (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
 +      (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
 +      Only call gtk_range_set_update_policy if ! HAVE_GTK3.
 +      (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
 +      if ! HAVE_GTK3.
 +      (update_frame_tool_bar): Call gtk_widget_hide.
 +      (xg_initialize): Use GDK_KEY_g.
 +
 +      * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
 +      if ! HAVE_GTK3
 +      (x_session_initialize): Call gdk_x11_set_sm_client_id.
 +
 +      * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
 +      (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
 +      Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
 +
 +2011-03-08  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * gtkutil.c (xg_update_menubar, create_menus): Create empty
 -      submenu for menu bar items.
 +      * w32xfns.c (select_palette): Check success of RealizePalette against
 +      GDI_ERROR, not zero.
  
 -See ChangeLog.10 for earlier changes.
 +See ChangeLog.11 for earlier changes.
  
  ;; Local Variables:
  ;; coding: utf-8
 -;; add-log-time-zone-rule: t
  ;; End:
  
 -    Copyright (C) 2007, 2008, 2009, 2010, 2011  Free Software Foundation, Inc.
 +  Copyright (C) 2011  Free Software Foundation, Inc.
  
    This file is part of GNU Emacs.
  
  
    You should have received a copy of the GNU General Public License
    along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 -
 -;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40
diff --combined src/ftfont.c
index ad01149106eeb30148cdf0b166f0475e2e5fb4ae,6a7c09407b4cb1150af13ef19f13525d50804b27..06ba6d7fe2538a19ba7bae456e8a22dde028bc66
@@@ -1,5 -1,5 +1,5 @@@
  /* ftfont.c -- FreeType font driver.
 -   Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 +   Copyright (C) 2006-2011 Free Software Foundation, Inc.
     Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
       National Institute of Advanced Industrial Science and Technology (AIST)
       Registration Number H13PRO009
@@@ -80,27 -80,27 +80,27 @@@ enum ftfont_cache_fo
      FTFONT_CACHE_FOR_ENTITY
    };
  
 -static Lisp_Object ftfont_pattern_entity P_ ((FcPattern *, Lisp_Object));
 +static Lisp_Object ftfont_pattern_entity (FcPattern *, Lisp_Object);
  
 -static Lisp_Object ftfont_resolve_generic_family P_ ((Lisp_Object,
 -                                                    FcPattern *));
 -static Lisp_Object ftfont_lookup_cache P_ ((Lisp_Object,
 -                                          enum ftfont_cache_for));
 +static Lisp_Object ftfont_resolve_generic_family (Lisp_Object,
 +                                                  FcPattern *);
 +static Lisp_Object ftfont_lookup_cache (Lisp_Object,
 +                                        enum ftfont_cache_for);
  
 -static void ftfont_filter_properties P_ ((Lisp_Object font, Lisp_Object alist));
 +static void ftfont_filter_properties (Lisp_Object font, Lisp_Object alist);
  
 -Lisp_Object ftfont_font_format P_ ((FcPattern *, Lisp_Object));
 +Lisp_Object ftfont_font_format (FcPattern *, Lisp_Object);
  
  #define SYMBOL_FcChar8(SYM) (FcChar8 *) SDATA (SYMBOL_NAME (SYM))
  
  static struct
  {
    /* registry name */
 -  char *name;
 +  const char *name;
    /* characters to distinguish the charset from the others */
    int uniquifier[6];
    /* additional constraint by language */
 -  char *lang;
 +  const char *lang;
    /* set on demand */
    FcCharSet *fc_charset;
  } fc_charset_table[] =
      { NULL }
    };
  
 -extern Lisp_Object Qc, Qm, Qp, Qd;
 -
  /* Dirty hack for handing ADSTYLE property.
  
     Fontconfig (actually the underlying FreeType) gives such ADSTYLE
  static Lisp_Object
  get_adstyle_property (FcPattern *p)
  {
-   char *str, *end;
+   unsigned char *str, *end;
    Lisp_Object adstyle;
  
    if (FcPatternGetString (p, FC_STYLE, 0, (FcChar8 **) &str) != FcResultMatch)
    for (end = str; *end && *end != ' '; end++);
    if (*end)
      {
 -      char *p = alloca (end - str + 1);
 -      memcpy (p, str, end - str);
 -      p[end - str] = '\0';
 -      end = p + (end - str);
 -      str = p;
 +      char *newstr = alloca (end - str + 1);
 +      memcpy (newstr, str, end - str);
 +      newstr[end - str] = '\0';
 +      end = newstr + (end - str);
 +      str = newstr;
      }
    if (xstrcasecmp (str, "Regular") == 0
        || xstrcasecmp (str, "Bold") == 0
  }
  
  static Lisp_Object
 -ftfont_pattern_entity (p, extra)
 -     FcPattern *p;
 -     Lisp_Object extra;
 +ftfont_pattern_entity (FcPattern *p, Lisp_Object extra)
  {
    Lisp_Object key, cache, entity;
-   char *file, *str;
+   unsigned char *file, *str;
 -  int index;
 +  int idx;
    int numeric;
    double dbl;
    FcBool b;
  
    if (FcPatternGetString (p, FC_FILE, 0, (FcChar8 **) &file) != FcResultMatch)
      return Qnil;
 -  if (FcPatternGetInteger (p, FC_INDEX, 0, &index) != FcResultMatch)
 +  if (FcPatternGetInteger (p, FC_INDEX, 0, &idx) != FcResultMatch)
      return Qnil;
  
    key = Fcons (make_unibyte_string ((char *) file, strlen ((char *) file)),
 -             make_number (index));
 +             make_number (idx));
    cache = ftfont_lookup_cache (key, FTFONT_CACHE_FOR_ENTITY);
    entity = XCAR (cache);
    if (! NILP (entity))
  
        ASET (entity, FONT_ADSTYLE_INDEX, get_adstyle_property (p));
        if ((ft_library || FT_Init_FreeType (&ft_library) == 0)
 -        && FT_New_Face (ft_library, file, index, &ft_face) == 0)
 +        && FT_New_Face (ft_library, file, idx, &ft_face) == 0)
        {
          BDF_PropertyRec rec;
  
  static Lisp_Object ftfont_generic_family_list;
  
  static Lisp_Object
 -ftfont_resolve_generic_family (family, pattern)
 -     Lisp_Object family;
 -     FcPattern *pattern;
 +ftfont_resolve_generic_family (Lisp_Object family, FcPattern *pattern)
  {
    Lisp_Object slot;
    FcPattern *match;
    if (FcPatternGetLangSet (pattern, FC_LANG, 0, &langset) != FcResultMatch)
      {
        /* This is to avoid the effect of locale.  */
 +      static const FcChar8 lang[] = "en";
        langset = FcLangSetCreate ();
 -      FcLangSetAdd (langset, "en");
 +      FcLangSetAdd (langset, lang);
        FcPatternAddLangSet (pattern, FC_LANG, langset);
        FcLangSetDestroy (langset);
      }
@@@ -343,7 -348,9 +343,7 @@@ struct ftfont_cache_dat
  };
  
  static Lisp_Object
 -ftfont_lookup_cache (key, cache_for)
 -     Lisp_Object key;
 -     enum ftfont_cache_for cache_for;
 +ftfont_lookup_cache (Lisp_Object key, enum ftfont_cache_for cache_for)
  {
    Lisp_Object cache, val, entity;
    struct ftfont_cache_data *cache_data;
    if (cache_for == FTFONT_CACHE_FOR_FACE
        ? ! cache_data->ft_face : ! cache_data->fc_charset)
      {
 -      char *filename = (char *) SDATA (XCAR (key));
 -      int index = XINT (XCDR (key));
 +      char *filename = SSDATA (XCAR (key));
 +      int idx = XINT (XCDR (key));
  
        if (cache_for == FTFONT_CACHE_FOR_FACE)
        {
          if (! ft_library
              && FT_Init_FreeType (&ft_library) != 0)
            return Qnil;
 -        if (FT_New_Face (ft_library, filename, index, &cache_data->ft_face)
 +        if (FT_New_Face (ft_library, filename, idx, &cache_data->ft_face)
              != 0)
            return Qnil;
        }
          FcCharSet *charset = NULL;
  
          pat = FcPatternBuild (0, FC_FILE, FcTypeString, (FcChar8 *) filename,
 -                              FC_INDEX, FcTypeInteger, index, NULL);
 +                              FC_INDEX, FcTypeInteger, idx, NULL);
          if (! pat)
            goto finish;
          objset = FcObjectSetBuild (FC_CHARSET, FC_STYLE, NULL);
  }
  
  FcCharSet *
 -ftfont_get_fc_charset (entity)
 -     Lisp_Object entity;
 +ftfont_get_fc_charset (Lisp_Object entity)
  {
    Lisp_Object val, cache;
    struct ftfont_cache_data *cache_data;
  
  #ifdef HAVE_LIBOTF
  static OTF *
 -ftfont_get_otf (ftfont_info)
 -     struct ftfont_info *ftfont_info;
 +ftfont_get_otf (struct ftfont_info *ftfont_info)
  {
    OTF *otf;
  
  }
  #endif        /* HAVE_LIBOTF */
  
 -static Lisp_Object ftfont_get_cache P_ ((FRAME_PTR));
 -static Lisp_Object ftfont_list P_ ((Lisp_Object, Lisp_Object));
 -static Lisp_Object ftfont_match P_ ((Lisp_Object, Lisp_Object));
 -static Lisp_Object ftfont_list_family P_ ((Lisp_Object));
 -static Lisp_Object ftfont_open P_ ((FRAME_PTR, Lisp_Object, int));
 -static void ftfont_close P_ ((FRAME_PTR, struct font *));
 -static int ftfont_has_char P_ ((Lisp_Object, int));
 -static unsigned ftfont_encode_char P_ ((struct font *, int));
 -static int ftfont_text_extents P_ ((struct font *, unsigned *, int,
 -                                  struct font_metrics *));
 -static int ftfont_get_bitmap P_ ((struct font *, unsigned,
 -                                struct font_bitmap *, int));
 -static int ftfont_anchor_point P_ ((struct font *, unsigned, int,
 -                                  int *, int *));
 -static Lisp_Object ftfont_otf_capability P_ ((struct font *));
 -static Lisp_Object ftfont_shape P_ ((Lisp_Object));
 +static Lisp_Object ftfont_get_cache (FRAME_PTR);
 +static Lisp_Object ftfont_list (Lisp_Object, Lisp_Object);
 +static Lisp_Object ftfont_match (Lisp_Object, Lisp_Object);
 +static Lisp_Object ftfont_list_family (Lisp_Object);
 +static Lisp_Object ftfont_open (FRAME_PTR, Lisp_Object, int);
 +static void ftfont_close (FRAME_PTR, struct font *);
 +static int ftfont_has_char (Lisp_Object, int);
 +static unsigned ftfont_encode_char (struct font *, int);
 +static int ftfont_text_extents (struct font *, unsigned *, int,
 +                                struct font_metrics *);
 +static int ftfont_get_bitmap (struct font *, unsigned,
 +                              struct font_bitmap *, int);
 +static int ftfont_anchor_point (struct font *, unsigned, int,
 +                                int *, int *);
 +#ifdef HAVE_LIBOTF
 +static Lisp_Object ftfont_otf_capability (struct font *);
 +# ifdef HAVE_M17N_FLT
 +static Lisp_Object ftfont_shape (Lisp_Object);
 +# endif
 +#endif
  
  #ifdef HAVE_OTF_GET_VARIATION_GLYPHS
 -static int ftfont_variation_glyphs P_ ((struct font *, int c,
 -                                      unsigned variations[256]));
 +static int ftfont_variation_glyphs (struct font *, int c,
 +                                    unsigned variations[256]);
  #endif /* HAVE_OTF_GET_VARIATION_GLYPHS */
  
  struct font_driver ftfont_driver =
      ftfont_filter_properties, /* filter_properties */
    };
  
 -extern Lisp_Object QCname;
 -
  static Lisp_Object
 -ftfont_get_cache (f)
 -     FRAME_PTR f;
 +ftfont_get_cache (FRAME_PTR f)
  {
    return freetype_font_cache;
  }
  
  static int
 -ftfont_get_charset (registry)
 -     Lisp_Object registry;
 +ftfont_get_charset (Lisp_Object registry)
  {
 -  char *str = (char *) SDATA (SYMBOL_NAME (registry));
 +  char *str = SSDATA (SYMBOL_NAME (registry));
    char *re = alloca (SBYTES (SYMBOL_NAME (registry)) * 2 + 1);
    Lisp_Object regexp;
    int i, j;
@@@ -623,7 -632,6 +623,7 @@@ struct OpenTypeSpe
      (P)[4] = '\0';                            \
    } while (0)
  
 +#ifdef HAVE_LIBOTF
  #define OTF_TAG_SYM(SYM, TAG)                 \
    do {                                                \
      char str[5];                              \
      OTF_TAG_STR (TAG, str);                   \
      (SYM) = font_intern_prop (str, 4, 1);     \
    } while (0)
 +#endif
  
  
  static struct OpenTypeSpec *
@@@ -698,8 -705,16 +698,8 @@@ ftfont_get_open_type_spec (Lisp_Object 
    return spec;
  }
  
 -static FcPattern *ftfont_spec_pattern P_ ((Lisp_Object, char *,
 -                                         struct OpenTypeSpec **,
 -                                         char **langname));
 -
  static FcPattern *
 -ftfont_spec_pattern (spec, otlayout, otspec, langname)
 -     Lisp_Object spec;
 -     char *otlayout;
 -     struct OpenTypeSpec **otspec;
 -     char **langname;
 +ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **otspec, const char **langname)
  {
    Lisp_Object tmp, extra;
    FcPattern *pattern = NULL;
  
        key = XCAR (XCAR (extra)), val = XCDR (XCAR (extra));
        if (EQ (key, QCdpi))
 -      dpi = XINT (val);
 +      {
 +        if (INTEGERP (val))
 +          dpi = XINT (val);
 +      }
        else if (EQ (key, QClang))
        {
          if (! langset)
        }
        else if (EQ (key, QCotf))
        {
 -        *otspec = ftfont_get_open_type_spec (val);
 -        if (! *otspec)
 -          return NULL;
 -        strcat (otlayout, "otlayout:");
 -        OTF_TAG_STR ((*otspec)->script_tag, otlayout + 9);
 -        script = (*otspec)->script;
 +        if (CONSP (val))
 +          {
 +            *otspec = ftfont_get_open_type_spec (val);
 +            if (! *otspec)
 +              return NULL;
 +            strcat (otlayout, "otlayout:");
 +            OTF_TAG_STR ((*otspec)->script_tag, otlayout + 9);
 +            script = (*otspec)->script;
 +          }
        }
        else if (EQ (key, QCscript))
        script = val;
  }
  
  static Lisp_Object
 -ftfont_list (frame, spec)
 -     Lisp_Object frame, spec;
 +ftfont_list (Lisp_Object frame, Lisp_Object spec)
  {
    Lisp_Object val = Qnil, family, adstyle;
    int i;
    FcObjectSet *objset = NULL;
    FcCharSet *charset;
    Lisp_Object chars = Qnil;
 -  FcResult result;
    char otlayout[15];          /* For "otlayout:XXXX" */
    struct OpenTypeSpec *otspec = NULL;
    int spacing = -1;
 -  char *langname = NULL;
 +  const char *langname = NULL;
  
    if (! fc_initialized)
      {
  
          if (! NILP (adstyle)
              && (NILP (this_adstyle)
 -                || xstrcasecmp (SDATA (SYMBOL_NAME (adstyle)),
 -                                SDATA (SYMBOL_NAME (this_adstyle))) != 0))
 +                || xstrcasecmp (SSDATA (SYMBOL_NAME (adstyle)),
 +                                SSDATA (SYMBOL_NAME (this_adstyle))) != 0))
            continue;
          if (langname
              && ! NILP (this_adstyle)
 -            && xstrcasecmp (langname, SDATA (SYMBOL_NAME (this_adstyle))))
 +            && xstrcasecmp (langname, SSDATA (SYMBOL_NAME (this_adstyle))))
            continue;
        }
        entity = ftfont_pattern_entity (fontset->fonts[i],
  }
  
  static Lisp_Object
 -ftfont_match (frame, spec)
 -     Lisp_Object frame, spec;
 +ftfont_match (Lisp_Object frame, Lisp_Object spec)
  {
    Lisp_Object entity = Qnil;
    FcPattern *pattern, *match = NULL;
    FcResult result;
    char otlayout[15];          /* For "otlayout:XXXX" */
    struct OpenTypeSpec *otspec = NULL;
 -  char *langname = NULL;
 +  const char *langname = NULL;
  
    if (! fc_initialized)
      {
  }
  
  static Lisp_Object
 -ftfont_list_family (frame)
 -     Lisp_Object frame;
 +ftfont_list_family (Lisp_Object frame)
  {
    Lisp_Object list = Qnil;
    FcPattern *pattern = NULL;
  
  
  static Lisp_Object
 -ftfont_open (f, entity, pixel_size)
 -     FRAME_PTR f;
 -     Lisp_Object entity;
 -     int pixel_size;
 +ftfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size)
  {
    struct ftfont_info *ftfont_info;
    struct font *font;
    FT_Face ft_face;
    FT_Size ft_size;
    FT_UInt size;
 -  Lisp_Object val, filename, index, cache, font_object;
 +  Lisp_Object val, filename, idx, cache, font_object;
    int scalable;
    int spacing;
    char name[256];
    if (NILP (cache))
      return Qnil;
    filename = XCAR (val);
 -  index = XCDR (val);
 +  idx = XCDR (val);
    val = XCDR (cache);
    cache_data = XSAVE_VALUE (XCDR (cache))->pointer;
    ft_face = cache_data->ft_face;
    font = XFONT_OBJECT (font_object);
    ftfont_info = (struct ftfont_info *) font;
    ftfont_info->ft_size = ft_face->size;
 -  ftfont_info->index = XINT (index);
 +  ftfont_info->index = XINT (idx);
  #ifdef HAVE_LIBOTF
    ftfont_info->maybe_otf = ft_face->face_flags & FT_FACE_FLAG_SFNT;
    ftfont_info->otf = NULL;
  }
  
  static void
 -ftfont_close (f, font)
 -     FRAME_PTR f;
 -     struct font *font;
 +ftfont_close (FRAME_PTR f, struct font *font)
  {
    struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
    Lisp_Object val, cache;
  }
  
  static int
 -ftfont_has_char (font, c)
 -     Lisp_Object font;
 -     int c;
 +ftfont_has_char (Lisp_Object font, int c)
  {
    struct charset *cs = NULL;
  
  }
  
  static unsigned
 -ftfont_encode_char (font, c)
 -     struct font *font;
 -     int c;
 +ftfont_encode_char (struct font *font, int c)
  {
    struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
    FT_Face ft_face = ftfont_info->ft_size->face;
  }
  
  static int
 -ftfont_text_extents (font, code, nglyphs, metrics)
 -     struct font *font;
 -     unsigned *code;
 -     int nglyphs;
 -     struct font_metrics *metrics;
 +ftfont_text_extents (struct font *font, unsigned int *code, int nglyphs, struct font_metrics *metrics)
  {
    struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
    FT_Face ft_face = ftfont_info->ft_size->face;
    if (ftfont_info->ft_size != ft_face->size)
      FT_Activate_Size (ftfont_info->ft_size);
    if (metrics)
 -    bzero (metrics, sizeof (struct font_metrics));
 +    memset (metrics, 0, sizeof (struct font_metrics));
    for (i = 0, first = 1; i < nglyphs; i++)
      {
        if (FT_Load_Glyph (ft_face, code[i], FT_LOAD_DEFAULT) == 0)
  }
  
  static int
 -ftfont_get_bitmap (font, code, bitmap, bits_per_pixel)
 -     struct font *font;
 -     unsigned code;
 -     struct font_bitmap *bitmap;
 -     int bits_per_pixel;
 +ftfont_get_bitmap (struct font *font, unsigned int code, struct font_bitmap *bitmap, int bits_per_pixel)
  {
    struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
    FT_Face ft_face = ftfont_info->ft_size->face;
  }
  
  static int
 -ftfont_anchor_point (font, code, index, x, y)
 -     struct font *font;
 -     unsigned code;
 -     int index;
 -     int *x, *y;
 +ftfont_anchor_point (struct font *font, unsigned int code, int idx,
 +                   int *x, int *y)
  {
    struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
    FT_Face ft_face = ftfont_info->ft_size->face;
      return -1;
    if (ft_face->glyph->format != FT_GLYPH_FORMAT_OUTLINE)
      return -1;
 -  if (index >= ft_face->glyph->outline.n_points)
 +  if (idx >= ft_face->glyph->outline.n_points)
      return -1;
 -  *x = ft_face->glyph->outline.points[index].x;
 -  *y = ft_face->glyph->outline.points[index].y;
 +  *x = ft_face->glyph->outline.points[idx].x;
 +  *y = ft_face->glyph->outline.points[idx].y;
    return 0;
  }
  
  #ifdef HAVE_LIBOTF
  
  static Lisp_Object
 -ftfont_otf_features (gsub_gpos)
 -     OTF_GSUB_GPOS *gsub_gpos;
 +ftfont_otf_features (OTF_GSUB_GPOS *gsub_gpos)
  {
    Lisp_Object scripts, langsyses, features, sym;
    int i, j, k, l;
  
  
  static Lisp_Object
 -ftfont_otf_capability (font)
 -     struct font *font;
 +ftfont_otf_capability (struct font *font)
  {
    struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
    OTF *otf = ftfont_get_otf (ftfont_info);
@@@ -1565,8 -1600,10 +1565,8 @@@ struct MFLTFontF
  };
  
  static int
 -ftfont_get_glyph_id (font, gstring, from, to)
 -     MFLTFont *font;
 -     MFLTGlyphString *gstring;
 -     int from, to;
 +ftfont_get_glyph_id (MFLTFont *font, MFLTGlyphString *gstring,
 +                   int from, int to)
  {
    struct MFLTFontFT *flt_font_ft = (struct MFLTFontFT *) font;
    FT_Face ft_face = flt_font_ft->ft_face;
  #define ROUND(x)    (((x)+32) & -64)
  
  static int
 -ftfont_get_metrics (font, gstring, from, to)
 -     MFLTFont *font;
 -     MFLTGlyphString *gstring;
 -     int from, to;
 +ftfont_get_metrics (MFLTFont *font, MFLTGlyphString *gstring,
 +                  int from, int to)
  {
    struct MFLTFontFT *flt_font_ft = (struct MFLTFontFT *) font;
    FT_Face ft_face = flt_font_ft->ft_face;
  static int
  ftfont_check_otf (MFLTFont *font, MFLTOtfSpec *spec)
  {
 +#define FEATURE_NONE(IDX) (! spec->features[IDX])
 +
 +#define FEATURE_ANY(IDX)      \
 +  (spec->features[IDX]                \
 +   && spec->features[IDX][0] == 0xFFFFFFFF && spec->features[IDX][1] == 0)
 +
    struct MFLTFontFT *flt_font_ft = (struct MFLTFontFT *) font;
    OTF *otf = flt_font_ft->otf;
    OTF_Tag *tags;
    int i, n, negative;
  
 +  if (FEATURE_ANY (0) && FEATURE_ANY (1))
 +    /* Return 1 iff any of GSUB or GPOS support the script (and language).  */
 +    return (otf
 +          && (OTF_check_features (otf, 0, spec->script, spec->langsys,
 +                                  NULL, 0) > 0
 +              || OTF_check_features (otf, 1, spec->script, spec->langsys,
 +                                     NULL, 0) > 0));
 +
    for (i = 0; i < 2; i++)
 -    {
 -      if (! spec->features[i])
 -      continue;
 -      for (n = 0; spec->features[i][n]; n++);
 -      tags = alloca (sizeof (OTF_Tag) * n);
 -      for (n = 0, negative = 0; spec->features[i][n]; n++)
 -      {
 -        if (spec->features[i][n] == 0xFFFFFFFF)
 -          negative = 1;
 -        else if (negative)
 -          tags[n - 1] = spec->features[i][n] | 0x80000000;
 -        else
 -          tags[n] = spec->features[i][n];
 -      }
 +    if (! FEATURE_ANY (i))
 +      {
 +      if (FEATURE_NONE (i))
 +        {
 +          if (otf
 +              && OTF_check_features (otf, i == 0, spec->script, spec->langsys,
 +                                     NULL, 0) > 0)
 +            return 0;
 +          continue;
 +        }
 +      if (spec->features[i][0] == 0xFFFFFFFF)
 +        {
 +          if (! otf
 +              || OTF_check_features (otf, i == 0, spec->script, spec->langsys,
 +                                     NULL, 0) <= 0)
 +            continue;
 +        }
 +      else if (! otf)
 +        return 0;
 +      for (n = 1; spec->features[i][n]; n++);
 +      tags = alloca (sizeof (OTF_Tag) * n);
 +      for (n = 0, negative = 0; spec->features[i][n]; n++)
 +        {
 +          if (spec->features[i][n] == 0xFFFFFFFF)
 +            negative = 1;
 +          else if (negative)
 +            tags[n - 1] = spec->features[i][n] | 0x80000000;
 +          else
 +            tags[n] = spec->features[i][n];
 +        }
  #ifdef M17N_FLT_USE_NEW_FEATURE
 -      if (OTF_check_features (otf, i == 0, spec->script, spec->langsys,
 -                            tags, n - negative) != 1)
 -      return 0;
 +      if (OTF_check_features (otf, i == 0, spec->script, spec->langsys,
 +                              tags, n - negative) != 1)
 +        return 0;
  #else  /* not M17N_FLT_USE_NEW_FEATURE */
 -      if (n - negative > 0
 -        && OTF_check_features (otf, i == 0, spec->script, spec->langsys,
 -                               tags, n - negative) != 1)
 -      return 0;
 +      if (n - negative > 0
 +          && OTF_check_features (otf, i == 0, spec->script, spec->langsys,
 +                                 tags, n - negative) != 1)
 +        return 0;
  #endif        /* not M17N_FLT_USE_NEW_FEATURE */
 -    }
 +      }
    return 1;
 +#undef FEATURE_NONE
 +#undef FEATURE_ANY
  }
  
  #define DEVICE_DELTA(table, size)                             \
@@@ -1784,13 -1791,13 +1784,13 @@@ setup_otf_gstring (int size
     position adjustment information in ADJUSTMENT.  */
  
  static int
 -ftfont_drive_otf (font, spec, in, from, to, out, adjustment)
 -     MFLTFont *font;
 -     MFLTOtfSpec *spec;
 -     MFLTGlyphString *in;
 -     int from, to;
 -     MFLTGlyphString *out;
 -     MFLTGlyphAdjustment *adjustment;
 +ftfont_drive_otf (MFLTFont *font,
 +                MFLTOtfSpec *spec,
 +                MFLTGlyphString *in,
 +                int from,
 +                int to,
 +                MFLTGlyphString *out,
 +                MFLTGlyphAdjustment *adjustment)
  {
    struct MFLTFontFT *flt_font_ft = (struct MFLTFontFT *) font;
    FT_Face ft_face = flt_font_ft->ft_face;
@@@ -2120,9 -2127,13 +2120,9 @@@ ftfont_try_otf (MFLTFont *font, MFLTOtf
  #else  /* not M17N_FLT_USE_NEW_FEATURE */
  
  static int
 -ftfont_drive_otf (font, spec, in, from, to, out, adjustment)
 -     MFLTFont *font;
 -     MFLTOtfSpec *spec;
 -     MFLTGlyphString *in;
 -     int from, to;
 -     MFLTGlyphString *out;
 -     MFLTGlyphAdjustment *adjustment;
 +ftfont_drive_otf (MFLTFont *font, MFLTOtfSpec *spec, MFLTGlyphString *in,
 +                int from, int to,
 +                MFLTGlyphString *out, MFLTGlyphAdjustment *adjustment)
  {
    struct MFLTFontFT *flt_font_ft = (struct MFLTFontFT *) font;
    FT_Face ft_face = flt_font_ft->ft_face;
@@@ -2374,9 -2385,15 +2374,9 @@@ static MFLTGlyphString gstring
  
  static int m17n_flt_initialized;
  
 -extern Lisp_Object QCfamily;
 -
  static Lisp_Object
 -ftfont_shape_by_flt (lgstring, font, ft_face, otf, matrix)
 -     Lisp_Object lgstring;
 -     struct font *font;
 -     FT_Face ft_face;
 -     OTF *otf;
 -     FT_Matrix *matrix;
 +ftfont_shape_by_flt (Lisp_Object lgstring, struct font *font,
 +                   FT_Face ft_face, OTF *otf, FT_Matrix *matrix)
  {
    EMACS_UINT len = LGSTRING_GLYPH_LEN (lgstring);
    EMACS_UINT i;
        flt_font_ft.flt_font.family = Mnil;
      else
        flt_font_ft.flt_font.family
 -      = msymbol ((char *) SDATA (Fdowncase (SYMBOL_NAME (family))));
 +      = msymbol (SSDATA (Fdowncase (SYMBOL_NAME (family))));
    }
    flt_font_ft.flt_font.x_ppem = ft_face->size->metrics.x_ppem;
    flt_font_ft.flt_font.y_ppem = ft_face->size->metrics.y_ppem;
  }
  
  Lisp_Object
 -ftfont_shape (lgstring)
 -     Lisp_Object lgstring;
 +ftfont_shape (Lisp_Object lgstring)
  {
    struct font *font;
    struct ftfont_info *ftfont_info;
  #ifdef HAVE_OTF_GET_VARIATION_GLYPHS
  
  static int
 -ftfont_variation_glyphs (font, c, variations)
 -     struct font *font;
 -     int c;
 -     unsigned variations[256];
 +ftfont_variation_glyphs (struct font *font, int c, unsigned variations[256])
  {
    struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
    OTF *otf = ftfont_get_otf (ftfont_info);
@@@ -2615,7 -2636,7 +2615,7 @@@ ftfont_font_format (FcPattern *pattern
    return intern ("unknown");
  }
  
 -static const char *ftfont_booleans [] = {
 +static const char *const ftfont_booleans [] = {
    ":antialias",
    ":hinting",
    ":verticallayout",
    NULL,
  };
  
 -static const char *ftfont_non_booleans [] = {
 +static const char *const ftfont_non_booleans [] = {
    ":family",
    ":familylang",
    ":style",
  };
  
  static void
 -ftfont_filter_properties (font, alist)
 -     Lisp_Object font;
 -     Lisp_Object alist;
 +ftfont_filter_properties (Lisp_Object font, Lisp_Object alist)
  {
    font_filter_properties (font, alist, ftfont_booleans, ftfont_non_booleans);
  }
  
  
  void
 -syms_of_ftfont ()
 +syms_of_ftfont (void)
  {
    DEFSYM (Qfreetype, "freetype");
    DEFSYM (Qmonospace, "monospace");
    ftfont_driver.type = Qfreetype;
    register_font_driver (&ftfont_driver, NULL);
  }
 -
 -/* arch-tag: 7cfa432c-33a6-4988-83d2-a82ed8604aca
 -   (do not change this comment) */
diff --combined src/xmenu.c
index 6e175e69039f1b71794e6536f7bbf3ef94dfa407,c2e70e13bf9f08a2b3ae5c214a9c2ce27d1f31b2..dbf8145f737ec5d3bf66d40fa0d9880fe8784222
@@@ -1,7 -1,6 +1,7 @@@
  /* X Communication module for terminals which understand the X protocol.
 -   Copyright (C) 1986, 1988, 1993, 1994, 1996, 1999, 2000, 2001, 2002, 2003,
 -                 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 +
 +Copyright (C) 1986, 1988, 1993-1994, 1996, 1999-2011
 +  Free Software Foundation, Inc.
  
  This file is part of GNU Emacs.
  
@@@ -82,17 -81,13 +82,17 @@@ along with GNU Emacs.  If not, see <htt
  #include <X11/StringDefs.h>
  #include <X11/Shell.h>
  #ifdef USE_LUCID
 +#include "xsettings.h"
 +#include "../lwlib/xlwmenu.h"
  #ifdef HAVE_XAW3D
  #include <X11/Xaw3d/Paned.h>
  #else /* !HAVE_XAW3D */
  #include <X11/Xaw/Paned.h>
  #endif /* HAVE_XAW3D */
  #endif /* USE_LUCID */
 +#ifdef USE_MOTIF
  #include "../lwlib/lwlib.h"
 +#endif
  #else /* not USE_X_TOOLKIT */
  #ifndef USE_GTK
  #include "../oldXMenu/XMenu.h"
  
  Lisp_Object Qdebug_on_next_call;
  
 -extern Lisp_Object Qmenu_bar;
 -
 -extern Lisp_Object QCtoggle, QCradio;
 -
 -extern Lisp_Object Voverriding_local_map;
 -extern Lisp_Object Voverriding_local_map_menu_flag;
 -
 -extern Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
 -
 -extern Lisp_Object Qmenu_bar_update_hook;
 -
 -#ifdef USE_X_TOOLKIT
 -extern void set_frame_menubar P_ ((FRAME_PTR, int, int));
 -extern XtAppContext Xt_app_con;
 -
 -static Lisp_Object xdialog_show P_ ((FRAME_PTR, int, Lisp_Object, Lisp_Object,
 -                                   char **));
 -static void popup_get_selection P_ ((XEvent *, struct x_display_info *,
 -                                     LWLIB_ID, int));
 -#endif /* USE_X_TOOLKIT */
 -
 -#ifdef USE_GTK
 -extern void set_frame_menubar P_ ((FRAME_PTR, int, int));
 -static Lisp_Object xdialog_show P_ ((FRAME_PTR, int, Lisp_Object, Lisp_Object,
 -                                   char **));
 +#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
 +static Lisp_Object xdialog_show (FRAME_PTR, int, Lisp_Object, Lisp_Object,
 +                                 const char **);
  #endif
  
 -static int update_frame_menubar P_ ((struct frame *));
 +static int update_frame_menubar (struct frame *);
  \f
  /* Flag which when set indicates a dialog or menu has been posted by
     Xt on behalf of one of the widget sets.  */
  static int popup_activated_flag;
  
 -static int next_menubar_widget_id;
 -
 -/* For NS and NTGUI, these prototypes are defined in keyboard.h.  */
 -#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
 -extern widget_value *xmalloc_widget_value P_ ((void));
 -extern widget_value *digest_single_submenu P_ ((int, int, int));
 -#endif
 -
 -/* This is set nonzero after the user activates the menu bar, and set
 -   to zero again after the menu bars are redisplayed by prepare_menu_bar.
 -   While it is nonzero, all calls to set_frame_menubar go deep.
 -
 -   I don't understand why this is needed, but it does seem to be
 -   needed on Motif, according to Marcus Daniels <marcus@sysc.pdx.edu>.  */
 -
 -int pending_menu_activation;
  \f
  #ifdef USE_X_TOOLKIT
  
 +static int next_menubar_widget_id;
 +
  /* Return the frame whose ->output_data.x->id equals ID, or 0 if none.  */
  
  static struct frame *
 -menubar_id_to_frame (id)
 -     LWLIB_ID id;
 +menubar_id_to_frame (LWLIB_ID id)
  {
    Lisp_Object tail, frame;
    FRAME_PTR f;
     the scroll bar or the edit window.  Fx_popup_menu needs to be
     sure it is the edit window.  */
  void
 -mouse_position_for_popup (f, x, y)
 -     FRAME_PTR f;
 -     int *x;
 -     int *y;
 +mouse_position_for_popup (FRAME_PTR f, int *x, int *y)
  {
    Window root, dummy_window;
    int dummy;
@@@ -226,7 -261,8 +226,7 @@@ otherwise it is "Question"
  If the user gets rid of the dialog box without making a valid choice,
  for instance using the window manager, then this produces a quit and
  `x-popup-dialog' does not return.  */)
 -     (position, contents, header)
 -     Lisp_Object position, contents, header;
 +  (Lisp_Object position, Lisp_Object contents, Lisp_Object header)
  {
    FRAME_PTR f = NULL;
    Lisp_Object window;
  #else
    {
      Lisp_Object title;
 -    char *error_name;
 +    const char *error_name;
      Lisp_Object selection;
      int specpdl_count = SPECPDL_INDEX ();
  
      unbind_to (specpdl_count, Qnil);
      discard_menu_items ();
  
 -    if (error_name) error (error_name);
 +    if (error_name) error ("%s", error_name);
      return selection;
    }
  #endif
  /* Set menu_items_inuse so no other popup menu or dialog is created.  */
  
  void
 -x_menu_set_in_use (in_use)
 -     int in_use;
 +x_menu_set_in_use (int in_use)
  {
    menu_items_inuse = in_use ? Qt : Qnil;
    popup_activated_flag = in_use;
@@@ -383,7 -420,7 +383,7 @@@ x_menu_wait_for_event (void *data
  #endif
           )
      {
 -      EMACS_TIME next_time = timer_check (1), *ntp;
 +      EMACS_TIME next_time = timer_check (), *ntp;
        long secs = EMACS_SECS (next_time);
        long usecs = EMACS_USECS (next_time);
        SELECT_TYPE read_fds;
     with BLOCK_INPUT, UNBLOCK_INPUT wrappers.  */
  
  static void
 -popup_get_selection (initial_event, dpyinfo, id, do_timers)
 -     XEvent *initial_event;
 -     struct x_display_info *dpyinfo;
 -     LWLIB_ID id;
 -     int do_timers;
 +popup_get_selection (XEvent *initial_event, struct x_display_info *dpyinfo, LWLIB_ID id, int do_timers)
  {
    XEvent event;
  
@@@ -479,7 -520,8 +479,7 @@@ arrow keys, select a menu entry with th
  escape key.  If FRAME has no menu bar this function does nothing.
  
  If FRAME is nil or not given, use the selected frame.  */)
 -     (frame)
 -     Lisp_Object frame;
 +  (Lisp_Object frame)
  {
    XEvent ev;
    FRAME_PTR f = check_x_frame (frame);
@@@ -557,7 -599,8 +557,7 @@@ arrow keys, select a menu entry with th
  escape key.  If FRAME has no menu bar this function does nothing.
  
  If FRAME is nil or not given, use the selected frame.  */)
 -     (frame)
 -     Lisp_Object frame;
 +  (Lisp_Object frame)
  {
    GtkWidget *menubar;
    FRAME_PTR f;
     Used for popup menus and dialogs. */
  
  static void
 -popup_widget_loop (do_timers, widget)
 -     int do_timers;
 -     GtkWidget *widget;
 +popup_widget_loop (int do_timers, GtkWidget *widget)
  {
    ++popup_activated_flag;
  
     execute Lisp code.  */
  
  void
 -x_activate_menubar (f)
 -     FRAME_PTR f;
 +x_activate_menubar (FRAME_PTR f)
  {
    if (! FRAME_X_P (f))
      abort ();
  
    set_frame_menubar (f, 0, 1);
    BLOCK_INPUT;
 +  popup_activated_flag = 1;
  #ifdef USE_GTK
    XPutBackEvent (f->output_data.x->display_info->display,
                   f->output_data.x->saved_menu_event);
 -  popup_activated_flag = 1;
  #else
    XtDispatchEvent (f->output_data.x->saved_menu_event);
  #endif
    UNBLOCK_INPUT;
 -#ifdef USE_MOTIF
 -  if (f->output_data.x->saved_menu_event->type == ButtonRelease)
 -    pending_menu_activation = 1;
 -#endif
  
    /* Ignore this if we get it a second time.  */
    f->output_data.x->saved_menu_event->type = 0;
  
  #ifndef USE_GTK
  static void
 -popup_activate_callback (widget, id, client_data)
 -     Widget widget;
 -     LWLIB_ID id;
 -     XtPointer client_data;
 +popup_activate_callback (Widget widget, LWLIB_ID id, XtPointer client_data)
  {
    popup_activated_flag = 1;
  #ifdef USE_X_TOOLKIT
  
  #ifdef USE_GTK
  static void
 -popup_deactivate_callback (widget, client_data)
 -     GtkWidget *widget;
 -     gpointer client_data;
 +popup_deactivate_callback (GtkWidget *widget, gpointer client_data)
  {
    popup_activated_flag = 0;
  }
  #else
  static void
 -popup_deactivate_callback (widget, id, client_data)
 -     Widget widget;
 -     LWLIB_ID id;
 -     XtPointer client_data;
 +popup_deactivate_callback (Widget widget, LWLIB_ID id, XtPointer client_data)
  {
    popup_activated_flag = 0;
  }
     for that widget.
     F is the frame if known, or NULL if not known.  */
  static void
 -show_help_event (f, widget, help)
 -     FRAME_PTR f;
 -     xt_or_gtk_widget widget;
 -     Lisp_Object help;
 +show_help_event (FRAME_PTR f, xt_or_gtk_widget widget, Lisp_Object help)
  {
    Lisp_Object frame;
  
            break;
        }
  #endif
 -      show_help_echo (help, Qnil, Qnil, Qnil, 1);
 +      show_help_echo (help, Qnil, Qnil, Qnil);
      }
  }
  
     unhighlighting.  */
  
  #ifdef USE_GTK
 -void
 -menu_highlight_callback (widget, call_data)
 -     GtkWidget *widget;
 -     gpointer call_data;
 +static void
 +menu_highlight_callback (GtkWidget *widget, gpointer call_data)
  {
    xg_menu_item_cb_data *cb_data;
    Lisp_Object help;
      show_help_event (cb_data->cl_data->f, widget, help);
  }
  #else
 -void
 -menu_highlight_callback (widget, id, call_data)
 -     Widget widget;
 -     LWLIB_ID id;
 -     void *call_data;
 +static void
 +menu_highlight_callback (Widget widget, LWLIB_ID id, void *call_data)
  {
    struct frame *f;
    Lisp_Object help;
@@@ -771,7 -837,9 +771,7 @@@ static int xg_crazy_callback_abort
     Figure out what the user chose
     and put the appropriate events into the keyboard buffer.  */
  static void
 -menubar_selection_callback (widget, client_data)
 -     GtkWidget *widget;
 -     gpointer client_data;
 +menubar_selection_callback (GtkWidget *widget, gpointer client_data)
  {
    xg_menu_item_cb_data *cb_data = (xg_menu_item_cb_data*) client_data;
  
     Figure out what the user chose
     and put the appropriate events into the keyboard buffer.  */
  static void
 -menubar_selection_callback (widget, id, client_data)
 -     Widget widget;
 -     LWLIB_ID id;
 -     XtPointer client_data;
 +menubar_selection_callback (Widget widget, LWLIB_ID id, XtPointer client_data)
  {
    FRAME_PTR f;
  
     changed.  Value is non-zero if widgets were updated.  */
  
  static int
 -update_frame_menubar (f)
 -     FRAME_PTR f;
 +update_frame_menubar (FRAME_PTR f)
  {
  #ifdef USE_GTK
    return xg_update_frame_menubar (f);
    return 1;
  }
  
 +#ifdef USE_LUCID
 +static void
 +apply_systemfont_to_dialog (Widget w)
 +{
 +  const char *fn = xsettings_get_system_normal_font ();
 +  if (fn)
 +    {
 +      XrmDatabase db = XtDatabase (XtDisplay (w));
 +      if (db)
 +        XrmPutStringResource (&db, "*dialog.font", fn);
 +    }
 +}
 +
 +static void
 +apply_systemfont_to_menu (struct frame *f, Widget w)
 +{
 +  const char *fn = xsettings_get_system_normal_font ();
 +
 +  if (fn)
 +    {
 +      XrmDatabase db = XtDatabase (XtDisplay (w));
 +      if (db)
 +        {
 +          XrmPutStringResource (&db, "*menubar*font", fn);
 +          XrmPutStringResource (&db, "*popup*font", fn);
 +        }
 +    }
 +}
 +
 +#endif
 +
  /* Set the contents of the menubar widgets of frame F.
     The argument FIRST_TIME is currently ignored;
     it is set the first time this is called, from initialize_frame_menubar.  */
  
  void
 -set_frame_menubar (f, first_time, deep_p)
 -     FRAME_PTR f;
 -     int first_time;
 -     int deep_p;
 +set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
  {
    xt_or_gtk_widget menubar_widget;
  #ifdef USE_X_TOOLKIT
  #endif
    Lisp_Object items;
    widget_value *wv, *first_wv, *prev_wv = 0;
 -  int i, last_i = 0;
 +  EMACS_UINT i, last_i = 0;
    int *submenu_start, *submenu_end;
    int *submenu_top_level_items, *submenu_n_panes;
  
  
    if (! menubar_widget)
      deep_p = 1;
 -  else if (pending_menu_activation && !deep_p)
 -    deep_p = 1;
    /* Make the first call for any given frame always go deep.  */
    else if (!f->output_data.x->saved_menu_event && !deep_p)
      {
  
        /* Save the frame's previous menu bar contents data.  */
        if (previous_menu_items_used)
 -      bcopy (XVECTOR (f->menu_bar_vector)->contents, previous_items,
 -             previous_menu_items_used * sizeof (Lisp_Object));
 +      memcpy (previous_items, XVECTOR (f->menu_bar_vector)->contents,
 +              previous_menu_items_used * sizeof (Lisp_Object));
  
        /* Fill in menu_items with the current menu bar contents.
         This can evaluate Lisp code.  */
          string = XVECTOR (items)->contents[i + 1];
          if (NILP (string))
              break;
 -          wv->name = (char *) SDATA (string);
 +          wv->name = SSDATA (string);
            update_submenu_strings (wv->contents);
            wv = wv->next;
        }
            break;
  
          wv = xmalloc_widget_value ();
 -        wv->name = (char *) SDATA (string);
 +        wv->name = SSDATA (string);
          wv->value = 0;
          wv->enabled = 1;
          wv->button_type = BUTTON_TYPE_NONE;
      }
    else
      {
 -      GtkWidget *wvbox = f->output_data.x->vbox_widget;
 -
        menubar_widget
          = xg_create_widget ("menubar", "menubar", f, first_wv,
                              G_CALLBACK (menubar_selection_callback),
        char menuOverride[] = "Ctrl<KeyPress>g: MenuGadgetEscape()";
        XtTranslations  override = XtParseTranslationTable (menuOverride);
  
 -      menubar_widget = lw_create_widget ("menubar", "menubar", id, first_wv,
 +#ifdef USE_LUCID
 +      apply_systemfont_to_menu (f, f->output_data.x->column_widget);
 +#endif
 +      menubar_widget = lw_create_widget ("menubar", "menubar", id,
 +                                         first_wv,
                                         f->output_data.x->column_widget,
                                         0,
                                         popup_activate_callback,
      }
  
    {
 -    int menubar_size
 +    int menubar_size;
 +    if (f->output_data.x->menubar_widget)
 +      XtRealizeWidget (f->output_data.x->menubar_widget);
 +
 +    menubar_size
        = (f->output_data.x->menubar_widget
         ? (f->output_data.x->menubar_widget->core.height
            + f->output_data.x->menubar_widget->core.border_width)
  #if 1 /* Experimentally, we now get the right results
         for -geometry -0-0 without this.  24 Aug 96, rms.
           Maybe so, but the menu bar size is missing the pixels so the
 -         WM size hints are off by theses pixel.  Jan D, oct 2009.  */
 +         WM size hints are off by these pixels.  Jan D, oct 2009.  */
  #ifdef USE_LUCID
      if (FRAME_EXTERNAL_MENU_BAR (f))
        {
     is visible.  */
  
  void
 -initialize_frame_menubar (f)
 -     FRAME_PTR f;
 +initialize_frame_menubar (FRAME_PTR f)
  {
    /* This function is called before the first chance to redisplay
       the frame.  It has to be, so the frame will have the right size.  */
  
  #ifndef USE_GTK
  void
 -free_frame_menubar (f)
 -     FRAME_PTR f;
 +free_frame_menubar (FRAME_PTR f)
  {
    Widget menubar_widget;
  
        lw_destroy_all_widgets ((LWLIB_ID) f->output_data.x->id);
        f->output_data.x->menubar_widget = NULL;
  
 -#ifdef USE_MOTIF
        if (f->output_data.x->widget)
        {
 +#ifdef USE_MOTIF
          XtVaGetValues (f->output_data.x->widget, XtNx, &x1, XtNy, &y1, NULL);
          if (x1 == 0 && y1 == 0)
            XtVaSetValues (f->output_data.x->widget, XtNx, x0, XtNy, y0, NULL);
 -      }
  #endif
 -
 +          x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f));
 +      }
        UNBLOCK_INPUT;
      }
  }
@@@ -1375,7 -1417,12 +1375,7 @@@ struct next_popup_x_
  
     Here only X and Y are used.  */
  static void
 -menu_position_func (menu, x, y, push_in, user_data)
 -     GtkMenu *menu;
 -     gint *x;
 -     gint *y;
 -     gboolean *push_in;
 -     gpointer user_data;
 +menu_position_func (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data)
  {
    struct next_popup_x_y* data = (struct next_popup_x_y*)user_data;
    GtkRequisition req;
  
    /* Check if there is room for the menu.  If not, adjust x/y so that
       the menu is fully visible.  */
 -  gtk_widget_size_request (GTK_WIDGET (menu), &req);
 +  gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, &req);
    if (data->x + req.width > disp_width)
      *x -= data->x + req.width - disp_width;
    if (data->y + req.height > disp_height)
  }
  
  static void
 -popup_selection_callback (widget, client_data)
 -     GtkWidget *widget;
 -     gpointer client_data;
 +popup_selection_callback (GtkWidget *widget, gpointer client_data)
  {
    xg_menu_item_cb_data *cb_data = (xg_menu_item_cb_data*) client_data;
  
  }
  
  static Lisp_Object
 -pop_down_menu (arg)
 -     Lisp_Object arg;
 +pop_down_menu (Lisp_Object arg)
  {
    struct Lisp_Save_Value *p = XSAVE_VALUE (arg);
  
     menu pops down.
     menu_item_selection will be set to the selection.  */
  static void
 -create_and_show_popup_menu (f, first_wv, x, y, for_click, timestamp)
 -     FRAME_PTR f;
 -     widget_value *first_wv;
 -     int x;
 -     int y;
 -     int for_click;
 -     EMACS_UINT timestamp;
 +create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv, int x, int y, int for_click, EMACS_UINT timestamp)
  {
    int i;
    GtkWidget *menu;
  
    record_unwind_protect (pop_down_menu, make_save_value (menu, 0));
  
 -  if (GTK_WIDGET_MAPPED (menu))
 +  if (gtk_widget_get_mapped (menu))
      {
        /* Set this to one.  popup_widget_loop increases it by one, so it becomes
           two.  show_help_echo uses this to detect popup menus.  */
  LWLIB_ID widget_id_tick;
  
  static void
 -popup_selection_callback (widget, id, client_data)
 -     Widget widget;
 -     LWLIB_ID id;
 -     XtPointer client_data;
 +popup_selection_callback (Widget widget, LWLIB_ID id, XtPointer client_data)
  {
    menu_item_selection = (Lisp_Object *) client_data;
  }
     as a Lisp object as (HIGHPART . LOWPART).  */
  
  static Lisp_Object
 -pop_down_menu (arg)
 -     Lisp_Object arg;
 +pop_down_menu (Lisp_Object arg)
  {
    LWLIB_ID id = (XINT (XCAR (arg)) << 4 * sizeof (LWLIB_ID)
                   | XINT (XCDR (arg)));
     menu pops down.
     menu_item_selection will be set to the selection.  */
  static void
 -create_and_show_popup_menu (f, first_wv, x, y, for_click, timestamp)
 -     FRAME_PTR f;
 -     widget_value *first_wv;
 -     int x;
 -     int y;
 -     int for_click;
 -     EMACS_UINT timestamp;
 +create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv,
 +                          int x, int y, int for_click, EMACS_UINT timestamp)
  {
    int i;
    Arg av[2];
    int ac = 0;
-   XButtonPressedEvent dummy;
+   XEvent dummy;
+   XButtonPressedEvent *event = &(dummy.xbutton);
    LWLIB_ID menu_id;
    Widget menu;
  
    if (! FRAME_X_P (f))
      abort ();
  
 +#ifdef USE_LUCID
 +  apply_systemfont_to_menu (f, f->output_data.x->widget);
 +#endif
 +
    menu_id = widget_id_tick++;
    menu = lw_create_widget ("popup", first_wv->name, menu_id, first_wv,
                             f->output_data.x->widget, 1, 0,
                             popup_deactivate_callback,
                             menu_highlight_callback);
  
-   dummy.type = ButtonPress;
-   dummy.serial = 0;
-   dummy.send_event = 0;
-   dummy.display = FRAME_X_DISPLAY (f);
-   dummy.time = CurrentTime;
-   dummy.root = FRAME_X_DISPLAY_INFO (f)->root_window;
-   dummy.window = dummy.root;
-   dummy.subwindow = dummy.root;
-   dummy.x = x;
-   dummy.y = y;
+   event->type = ButtonPress;
+   event->serial = 0;
+   event->send_event = 0;
+   event->display = FRAME_X_DISPLAY (f);
+   event->time = CurrentTime;
+   event->root = FRAME_X_DISPLAY_INFO (f)->root_window;
+   event->window = event->subwindow = event->root;
+   event->x = x;
+   event->y = y;
  
    /* Adjust coordinates to be root-window-relative.  */
    x += f->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f);
    y += f->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f);
  
-   dummy.x_root = x;
-   dummy.y_root = y;
+   event->x_root = x;
+   event->y_root = y;
  
-   dummy.state = 0;
-   dummy.button = 0;
+   event->state = 0;
+   event->button = 0;
    for (i = 0; i < 5; i++)
      if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
-       dummy.button = i;
+       event->button = i;
  
    /* Don't allow any geometry request from the user.  */
    XtSetArg (av[ac], XtNgeometry, 0); ac++;
    XtSetValues (menu, av, ac);
  
    /* Display the menu.  */
-   lw_popup_menu (menu, (XEvent *) &dummy);
+   lw_popup_menu (menu, &dummy);
    popup_activated_flag = 1;
    x_activate_timeout_atimer ();
  
  
  Lisp_Object
  xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
 -          Lisp_Object title, char **error, EMACS_UINT timestamp)
 +          Lisp_Object title, const char **error_name, EMACS_UINT timestamp)
  {
    int i;
    widget_value *wv, *save_wv = 0, *first_wv = 0, *prev_wv = 0;
    if (! FRAME_X_P (f))
      abort ();
  
 -  *error = NULL;
 +  *error_name = NULL;
  
    if (menu_items_used <= MENU_ITEMS_PANE_LENGTH)
      {
 -      *error = "Empty menu";
 +      *error_name = "Empty menu";
        return Qnil;
      }
  
        {
          /* Create a new pane.  */
          Lisp_Object pane_name, prefix;
 -        char *pane_string;
 +        const char *pane_string;
  
          pane_name = AREF (menu_items, i + MENU_ITEMS_PANE_NAME);
          prefix = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX);
            }
  #endif
          pane_string = (NILP (pane_name)
 -                       ? "" : (char *) SDATA (pane_name));
 +                       ? "" : SSDATA (pane_name));
          /* If there is just one top-level pane, put all its items directly
             under the top-level menu.  */
          if (menu_items_n_panes == 1)
            prev_wv->next = wv;
          else
            save_wv->contents = wv;
 -        wv->name = (char *) SDATA (item_name);
 +        wv->name = SSDATA (item_name);
          if (!NILP (descrip))
 -          wv->key = (char *) SDATA (descrip);
 +          wv->key = SSDATA (descrip);
          wv->value = 0;
          /* If this item has a null value,
             make the call_data null so that it won't display a box
        title = ENCODE_MENU_STRING (title);
  #endif
  
 -      wv_title->name = (char *) SDATA (title);
 +      wv_title->name = SSDATA (title);
        wv_title->enabled = TRUE;
        wv_title->button_type = BUTTON_TYPE_NONE;
        wv_title->help = Qnil;
  \f
  #ifdef USE_GTK
  static void
 -dialog_selection_callback (widget, client_data)
 -     GtkWidget *widget;
 -     gpointer client_data;
 +dialog_selection_callback (GtkWidget *widget, gpointer client_data)
  {
    /* The EMACS_INT cast avoids a warning.  There's no problem
       as long as pointers have enough bits to hold small integers.  */
     dialog pops down.
     menu_item_selection will be set to the selection.  */
  static void
 -create_and_show_dialog (f, first_wv)
 -     FRAME_PTR f;
 -     widget_value *first_wv;
 +create_and_show_dialog (FRAME_PTR f, widget_value *first_wv)
  {
    GtkWidget *menu;
  
  
  #else /* not USE_GTK */
  static void
 -dialog_selection_callback (widget, id, client_data)
 -     Widget widget;
 -     LWLIB_ID id;
 -     XtPointer client_data;
 +dialog_selection_callback (Widget widget, LWLIB_ID id, XtPointer client_data)
  {
    /* The EMACS_INT cast avoids a warning.  There's no problem
       as long as pointers have enough bits to hold small integers.  */
     dialog pops down.
     menu_item_selection will be set to the selection.  */
  static void
 -create_and_show_dialog (f, first_wv)
 -     FRAME_PTR f;
 -     widget_value *first_wv;
 +create_and_show_dialog (FRAME_PTR f, widget_value *first_wv)
  {
    LWLIB_ID dialog_id;
  
      abort();
  
    dialog_id = widget_id_tick++;
 +#ifdef USE_LUCID
 +  apply_systemfont_to_dialog (f->output_data.x->widget);
 +#endif
    lw_create_widget (first_wv->name, "dialog", dialog_id, first_wv,
                      f->output_data.x->widget, 1, 0,
                      dialog_selection_callback, 0, 0);
    lw_modify_all_widgets (dialog_id, first_wv->contents, True);
 -
    /* Display the dialog box.  */
    lw_pop_up_all_widgets (dialog_id);
    popup_activated_flag = 1;
  
  #endif /* not USE_GTK */
  
 -static char * button_names [] = {
 +static const char * button_names [] = {
    "button1", "button2", "button3", "button4", "button5",
    "button6", "button7", "button8", "button9", "button10" };
  
  static Lisp_Object
 -xdialog_show (f, keymaps, title, header, error_name)
 -     FRAME_PTR f;
 -     int keymaps;
 -     Lisp_Object title, header;
 -     char **error_name;
 +xdialog_show (FRAME_PTR f,
 +              int keymaps,
 +              Lisp_Object title,
 +              Lisp_Object header,
 +              const char **error_name)
  {
    int i, nb_buttons=0;
    char dialog_name[6];
       representing the text label and buttons.  */
    {
      Lisp_Object pane_name, prefix;
 -    char *pane_string;
 +    const char *pane_string;
      pane_name = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_NAME];
      prefix = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_PREFIX];
      pane_string = (NILP (pane_name)
 -                 ? "" : (char *) SDATA (pane_name));
 +                 ? "" : SSDATA (pane_name));
      prev_wv = xmalloc_widget_value ();
      prev_wv->value = pane_string;
      if (keymaps && !NILP (prefix))
        prev_wv->next = wv;
        wv->name = (char *) button_names[nb_buttons];
        if (!NILP (descrip))
 -        wv->key = (char *) SDATA (descrip);
 -      wv->value = (char *) SDATA (item_name);
 +        wv->key = SSDATA (descrip);
 +      wv->value = SSDATA (item_name);
        wv->call_data = (void *) &XVECTOR (menu_items)->contents[i];
        wv->enabled = !NILP (enable);
        wv->help = Qnil;
@@@ -2181,8 -2249,11 +2181,8 @@@ static struct frame *menu_help_frame
     keyboard events.  */
  
  static void
 -menu_help_callback (help_string, pane, item)
 -     char *help_string;
 -     int pane, item;
 +menu_help_callback (char *help_string, int pane, int item)
  {
 -  extern Lisp_Object Qmenu_item;
    Lisp_Object *first_item;
    Lisp_Object pane_name;
    Lisp_Object menu_object;
                       Fcons (pane_name,
                              Fcons (make_number (pane), Qnil)));
    show_help_echo (help_string ? build_string (help_string) : Qnil,
 -                Qnil, menu_object, make_number (item), 1);
 +                Qnil, menu_object, make_number (item));
  }
  
  static Lisp_Object
 -pop_down_menu (arg)
 -     Lisp_Object arg;
 +pop_down_menu (Lisp_Object arg)
  {
    struct Lisp_Save_Value *p1 = XSAVE_VALUE (Fcar (arg));
    struct Lisp_Save_Value *p2 = XSAVE_VALUE (Fcdr (arg));
  
  
  Lisp_Object
 -xmenu_show (f, x, y, for_click, keymaps, title, error, timestamp)
 -     FRAME_PTR f;
 -     int x, y;
 -     int for_click;
 -     int keymaps;
 -     Lisp_Object title;
 -     char **error;
 -     EMACS_UINT timestamp;
 +xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
 +          Lisp_Object title, const char **error, EMACS_UINT timestamp)
  {
    Window root;
    XMenu *menu;
        {
          /* Create a new pane.  */
          Lisp_Object pane_name, prefix;
 -        char *pane_string;
 +        const char *pane_string;
  
            maxlines = max (maxlines, lines);
            lines = 0;
          pane_name = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_NAME];
          prefix = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_PREFIX];
          pane_string = (NILP (pane_name)
 -                       ? "" : (char *) SDATA (pane_name));
 +                       ? "" : SSDATA (pane_name));
          if (keymaps && !NILP (prefix))
            pane_string++;
  
              item_data
                = (unsigned char *) alloca (maxwidth
                                            + SBYTES (descrip) + 1);
 -            bcopy (SDATA (item_name), item_data,
 -                   SBYTES (item_name));
 +            memcpy (item_data, SDATA (item_name), SBYTES (item_name));
              for (j = SCHARS (item_name); j < maxwidth; j++)
                item_data[j] = ' ';
 -            bcopy (SDATA (descrip), item_data + j,
 -                   SBYTES (descrip));
 +            memcpy (item_data + j, SDATA (descrip), SBYTES (descrip));
              item_data[j + SBYTES (descrip)] = 0;
            }
          else
  
  #endif /* HAVE_MENUS */
  
 -/* Detect if a dialog or menu has been posted.  */
 +#ifndef MSDOS
 +/* Detect if a dialog or menu has been posted.  MSDOS has its own
 +   implementation on msdos.c.  */
  
  int
 -popup_activated ()
 +popup_activated (void)
  {
    return popup_activated_flag;
  }
 +#endif        /* not MSDOS */
  
  /* The following is used by delayed window autoselection.  */
  
  DEFUN ("menu-or-popup-active-p", Fmenu_or_popup_active_p, Smenu_or_popup_active_p, 0, 0, 0,
         doc: /* Return t if a menu or popup dialog is active.  */)
 -     ()
 +  (void)
  {
  #ifdef HAVE_MENUS
    return (popup_activated ()) ? Qt : Qnil;
  }
  \f
  void
 -syms_of_xmenu ()
 +syms_of_xmenu (void)
  {
    Qdebug_on_next_call = intern_c_string ("debug-on-next-call");
    staticpro (&Qdebug_on_next_call);
    defsubr (&Sx_popup_dialog);
  #endif
  }
 -
 -/* arch-tag: 92ea573c-398e-496e-ac73-2436f7d63242
 -   (do not change this comment) */
diff --combined src/xselect.c
index 430b72326590f24a5bf150ef00c7dd2a1238cd1d,023d2eee8c3423151c2616a986e282daccd83e81..4f1a452023a79c8d028ad4c035d53c30f40ed3e8
@@@ -1,5 -1,6 +1,5 @@@
  /* X Selection processing for Emacs.
 -   Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003,
 -                 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 +   Copyright (C) 1993-1997, 2000-2011 Free Software Foundation, Inc.
  
  This file is part of GNU Emacs.
  
@@@ -26,8 -27,9 +26,8 @@@ along with GNU Emacs.  If not, see <htt
  #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
  #endif
 -#ifdef HAVE_UNISTD_H
 +
  #include <unistd.h>
 -#endif
  
  #include "lisp.h"
  #include "xterm.h"    /* for all of the X includes */
  
  struct prop_location;
  
 -static Lisp_Object x_atom_to_symbol P_ ((Display *dpy, Atom atom));
 -static Atom symbol_to_x_atom P_ ((struct x_display_info *, Display *,
 -                                Lisp_Object));
 -static void x_own_selection P_ ((Lisp_Object, Lisp_Object));
 -static Lisp_Object x_get_local_selection P_ ((Lisp_Object, Lisp_Object, int));
 -static void x_decline_selection_request P_ ((struct input_event *));
 -static Lisp_Object x_selection_request_lisp_error P_ ((Lisp_Object));
 -static Lisp_Object queue_selection_requests_unwind P_ ((Lisp_Object));
 -static Lisp_Object some_frame_on_display P_ ((struct x_display_info *));
 -static Lisp_Object x_catch_errors_unwind P_ ((Lisp_Object));
 -static void x_reply_selection_request P_ ((struct input_event *, int,
 -                                         unsigned char *, int, Atom));
 -static int waiting_for_other_props_on_window P_ ((Display *, Window));
 -static struct prop_location *expect_property_change P_ ((Display *, Window,
 -                                                       Atom, int));
 -static void unexpect_property_change P_ ((struct prop_location *));
 -static Lisp_Object wait_for_property_change_unwind P_ ((Lisp_Object));
 -static void wait_for_property_change P_ ((struct prop_location *));
 -static Lisp_Object x_get_foreign_selection P_ ((Lisp_Object,
 -                                                Lisp_Object,
 -                                                Lisp_Object));
 -static void x_get_window_property P_ ((Display *, Window, Atom,
 -                                     unsigned char **, int *,
 -                                     Atom *, int *, unsigned long *, int));
 -static void receive_incremental_selection P_ ((Display *, Window, Atom,
 -                                             Lisp_Object, unsigned,
 -                                             unsigned char **, int *,
 -                                             Atom *, int *, unsigned long *));
 -static Lisp_Object x_get_window_property_as_lisp_data P_ ((Display *,
 -                                                         Window, Atom,
 -                                                         Lisp_Object, Atom));
 -static Lisp_Object selection_data_to_lisp_data P_ ((Display *, unsigned char *,
 -                                                  int, Atom, int));
 -static void lisp_data_to_selection_data P_ ((Display *, Lisp_Object,
 -                                           unsigned char **, Atom *,
 -                                           unsigned *, int *, int *));
 -static Lisp_Object clean_local_selection_data P_ ((Lisp_Object));
 -static void initialize_cut_buffers P_ ((Display *, Window));
 -
 +static Lisp_Object x_atom_to_symbol (Display *dpy, Atom atom);
 +static Atom symbol_to_x_atom (struct x_display_info *, Display *,
 +                              Lisp_Object);
 +static void x_own_selection (Lisp_Object, Lisp_Object);
 +static Lisp_Object x_get_local_selection (Lisp_Object, Lisp_Object, int);
 +static void x_decline_selection_request (struct input_event *);
 +static Lisp_Object x_selection_request_lisp_error (Lisp_Object);
 +static Lisp_Object queue_selection_requests_unwind (Lisp_Object);
 +static Lisp_Object some_frame_on_display (struct x_display_info *);
 +static Lisp_Object x_catch_errors_unwind (Lisp_Object);
 +static void x_reply_selection_request (struct input_event *, int,
 +                                       unsigned char *, int, Atom);
 +static int waiting_for_other_props_on_window (Display *, Window);
 +static struct prop_location *expect_property_change (Display *, Window,
 +                                                     Atom, int);
 +static void unexpect_property_change (struct prop_location *);
 +static Lisp_Object wait_for_property_change_unwind (Lisp_Object);
 +static void wait_for_property_change (struct prop_location *);
 +static Lisp_Object x_get_foreign_selection (Lisp_Object,
 +                                            Lisp_Object,
 +                                            Lisp_Object);
 +static void x_get_window_property (Display *, Window, Atom,
 +                                   unsigned char **, int *,
 +                                   Atom *, int *, unsigned long *, int);
 +static void receive_incremental_selection (Display *, Window, Atom,
 +                                           Lisp_Object, unsigned,
 +                                           unsigned char **, int *,
 +                                           Atom *, int *, unsigned long *);
 +static Lisp_Object x_get_window_property_as_lisp_data (Display *,
 +                                                       Window, Atom,
 +                                                       Lisp_Object, Atom);
 +static Lisp_Object selection_data_to_lisp_data (Display *,
 +                                              const unsigned char *,
 +                                                int, Atom, int);
 +static void lisp_data_to_selection_data (Display *, Lisp_Object,
 +                                         unsigned char **, Atom *,
 +                                         unsigned *, int *, int *);
 +static Lisp_Object clean_local_selection_data (Lisp_Object);
  
  /* Printing traces to stderr.  */
  
  #define TRACE0(fmt)           (void) 0
  #define TRACE1(fmt, a0)               (void) 0
  #define TRACE2(fmt, a0, a1)   (void) 0
 -#define TRACE3(fmt, a0, a1)   (void) 0
  #endif
  
  
 -#define CUT_BUFFER_SUPPORT
 -
 -Lisp_Object QPRIMARY, QSECONDARY, QSTRING, QINTEGER, QCLIPBOARD, QTIMESTAMP,
 +Lisp_Object QSECONDARY, QSTRING, QINTEGER, QCLIPBOARD, QTIMESTAMP,
    QTEXT, QDELETE, QMULTIPLE, QINCR, QEMACS_TMP, QTARGETS, QATOM, QNULL,
    QATOM_PAIR;
  
@@@ -109,6 -115,13 +109,6 @@@ Lisp_Object QUTF8_STRING; /* This is a 
  
  Lisp_Object Qcompound_text_with_extensions;
  
 -#ifdef CUT_BUFFER_SUPPORT
 -Lisp_Object QCUT_BUFFER0, QCUT_BUFFER1, QCUT_BUFFER2, QCUT_BUFFER3,
 -  QCUT_BUFFER4, QCUT_BUFFER5, QCUT_BUFFER6, QCUT_BUFFER7;
 -#endif
 -
 -static Lisp_Object Vx_lost_selection_functions;
 -static Lisp_Object Vx_sent_selection_functions;
  static Lisp_Object Qforeign_selection;
  
  /* If this is a smaller number than the max-request-size of the display,
@@@ -139,6 -152,17 +139,6 @@@ extern unsigned long last_event_timesta
      selection-values.  */
  static Lisp_Object Vselection_alist;
  
 -/* This is an alist whose CARs are selection-types (whose names are the same
 -   as the names of X Atoms) and whose CDRs are the names of Lisp functions to
 -   call to convert the given Emacs selection value to a string representing
 -   the given selection type.  This is for Lisp-level extension of the emacs
 -   selection handling.  */
 -static Lisp_Object Vselection_converter_alist;
 -
 -/* If the selection owner takes too long to reply to a selection request,
 -   we give up on it.  This is in milliseconds (0 = no timeout.)  */
 -static EMACS_INT x_selection_timeout;
 -
  
  \f
  /* Define a queue to save up SELECTION_REQUEST_EVENT events for later
@@@ -159,7 -183,8 +159,7 @@@ static int x_queue_selection_requests
  /* Queue up an SELECTION_REQUEST_EVENT *EVENT, to be processed later.  */
  
  static void
 -x_queue_event (event)
 -     struct input_event *event;
 +x_queue_event (struct input_event *event)
  {
    struct selection_event_queue *queue_tmp;
  
       This only happens for large requests which uses the incremental protocol.  */
    for (queue_tmp = selection_queue; queue_tmp; queue_tmp = queue_tmp->next)
      {
 -      if (!bcmp (&queue_tmp->event, event, sizeof (*event)))
 +      if (!memcmp (&queue_tmp->event, event, sizeof (*event)))
        {
          TRACE1 ("DECLINE DUP SELECTION EVENT %08lx", (unsigned long)queue_tmp);
          x_decline_selection_request (event);
  /* Start queuing SELECTION_REQUEST_EVENT events.  */
  
  static void
 -x_start_queuing_selection_requests ()
 +x_start_queuing_selection_requests (void)
  {
    if (x_queue_selection_requests)
      abort ();
  /* Stop queuing SELECTION_REQUEST_EVENT events.  */
  
  static void
 -x_stop_queuing_selection_requests ()
 +x_stop_queuing_selection_requests (void)
  {
    TRACE1 ("x_stop_queuing_selection_requests %d", x_queue_selection_requests);
    --x_queue_selection_requests;
     roundtrip whenever possible.  */
  
  static Atom
 -symbol_to_x_atom (dpyinfo, display, sym)
 -     struct x_display_info *dpyinfo;
 -     Display *display;
 -     Lisp_Object sym;
 +symbol_to_x_atom (struct x_display_info *dpyinfo, Display *display, Lisp_Object sym)
  {
    Atom val;
    if (NILP (sym))         return 0;
    if (EQ (sym, QEMACS_TMP)) return dpyinfo->Xatom_EMACS_TMP;
    if (EQ (sym, QTARGETS))   return dpyinfo->Xatom_TARGETS;
    if (EQ (sym, QNULL))            return dpyinfo->Xatom_NULL;
 -#ifdef CUT_BUFFER_SUPPORT
 -  if (EQ (sym, QCUT_BUFFER0)) return XA_CUT_BUFFER0;
 -  if (EQ (sym, QCUT_BUFFER1)) return XA_CUT_BUFFER1;
 -  if (EQ (sym, QCUT_BUFFER2)) return XA_CUT_BUFFER2;
 -  if (EQ (sym, QCUT_BUFFER3)) return XA_CUT_BUFFER3;
 -  if (EQ (sym, QCUT_BUFFER4)) return XA_CUT_BUFFER4;
 -  if (EQ (sym, QCUT_BUFFER5)) return XA_CUT_BUFFER5;
 -  if (EQ (sym, QCUT_BUFFER6)) return XA_CUT_BUFFER6;
 -  if (EQ (sym, QCUT_BUFFER7)) return XA_CUT_BUFFER7;
 -#endif
    if (!SYMBOLP (sym)) abort ();
  
 -  TRACE1 (" XInternAtom %s", (char *) SDATA (SYMBOL_NAME (sym)));
 +  TRACE1 (" XInternAtom %s", SSDATA (SYMBOL_NAME (sym)));
    BLOCK_INPUT;
 -  val = XInternAtom (display, (char *) SDATA (SYMBOL_NAME (sym)), False);
 +  val = XInternAtom (display, SSDATA (SYMBOL_NAME (sym)), False);
    UNBLOCK_INPUT;
    return val;
  }
     and calls to intern whenever possible.  */
  
  static Lisp_Object
 -x_atom_to_symbol (dpy, atom)
 -     Display *dpy;
 -     Atom atom;
 +x_atom_to_symbol (Display *dpy, Atom atom)
  {
    struct x_display_info *dpyinfo;
    char *str;
        return QINTEGER;
      case XA_ATOM:
        return QATOM;
 -#ifdef CUT_BUFFER_SUPPORT
 -    case XA_CUT_BUFFER0:
 -      return QCUT_BUFFER0;
 -    case XA_CUT_BUFFER1:
 -      return QCUT_BUFFER1;
 -    case XA_CUT_BUFFER2:
 -      return QCUT_BUFFER2;
 -    case XA_CUT_BUFFER3:
 -      return QCUT_BUFFER3;
 -    case XA_CUT_BUFFER4:
 -      return QCUT_BUFFER4;
 -    case XA_CUT_BUFFER5:
 -      return QCUT_BUFFER5;
 -    case XA_CUT_BUFFER6:
 -      return QCUT_BUFFER6;
 -    case XA_CUT_BUFFER7:
 -      return QCUT_BUFFER7;
 -#endif
      }
  
    dpyinfo = x_display_info_for_display (dpy);
     our selection.  */
  
  static void
 -x_own_selection (selection_name, selection_value)
 -     Lisp_Object selection_name, selection_value;
 +x_own_selection (Lisp_Object selection_name, Lisp_Object selection_value)
  {
    struct frame *sf = SELECTED_FRAME ();
    Window selecting_window;
    Display *display;
 -  Time time = last_event_timestamp;
 +  Time timestamp = last_event_timestamp;
    Atom selection_atom;
    struct x_display_info *dpyinfo;
  
    selecting_window = FRAME_X_WINDOW (sf);
    display = FRAME_X_DISPLAY (sf);
    dpyinfo = FRAME_X_DISPLAY_INFO (sf);
 -  
 +
    CHECK_SYMBOL (selection_name);
    selection_atom = symbol_to_x_atom (dpyinfo, display, selection_name);
  
    BLOCK_INPUT;
    x_catch_errors (display);
 -  XSetSelectionOwner (display, selection_atom, selecting_window, time);
 +  XSetSelectionOwner (display, selection_atom, selecting_window, timestamp);
    x_check_errors (display, "Can't set selection: %s");
    x_uncatch_errors ();
    UNBLOCK_INPUT;
      Lisp_Object selection_data;
      Lisp_Object prev_value;
  
 -    selection_time = long_to_cons ((unsigned long) time);
 -    selection_data = Fcons (selection_name,
 -                          Fcons (selection_value,
 -                                 Fcons (selection_time,
 -                                        Fcons (selected_frame, Qnil))));
 +    selection_time = long_to_cons ((unsigned long) timestamp);
 +    selection_data = list4 (selection_name, selection_value,
 +                          selection_time, selected_frame);
      prev_value = assq_no_quit (selection_name, Vselection_alist);
  
      Vselection_alist = Fcons (selection_data, Vselection_alist);
     This calls random Lisp code, and may signal or gc.  */
  
  static Lisp_Object
 -x_get_local_selection (selection_symbol, target_type, local_request)
 -     Lisp_Object selection_symbol, target_type;
 -     int local_request;
 +x_get_local_selection (Lisp_Object selection_symbol, Lisp_Object target_type, int local_request)
  {
    Lisp_Object local_value;
 -  Lisp_Object handler_fn, value, type, check;
 +  Lisp_Object handler_fn, value, check;
    int count;
  
    local_value = assq_no_quit (selection_symbol, Vselection_alist);
    check = value;
    if (CONSP (value)
        && SYMBOLP (XCAR (value)))
 -    type = XCAR (value),
      check = XCDR (value);
  
    if (STRINGP (check)
     meaning we were unable to do what they wanted.  */
  
  static void
 -x_decline_selection_request (event)
 -     struct input_event *event;
 +x_decline_selection_request (struct input_event *event)
  {
-   XSelectionEvent reply;
+   XEvent reply_base;
+   XSelectionEvent *reply = &(reply_base.xselection);
  
-   reply.type = SelectionNotify;
-   reply.display = SELECTION_EVENT_DISPLAY (event);
-   reply.requestor = SELECTION_EVENT_REQUESTOR (event);
-   reply.selection = SELECTION_EVENT_SELECTION (event);
-   reply.time = SELECTION_EVENT_TIME (event);
-   reply.target = SELECTION_EVENT_TARGET (event);
-   reply.property = None;
+   reply->type = SelectionNotify;
+   reply->display = SELECTION_EVENT_DISPLAY (event);
+   reply->requestor = SELECTION_EVENT_REQUESTOR (event);
+   reply->selection = SELECTION_EVENT_SELECTION (event);
+   reply->time = SELECTION_EVENT_TIME (event);
+   reply->target = SELECTION_EVENT_TARGET (event);
+   reply->property = None;
  
    /* The reason for the error may be that the receiver has
       died in the meantime.  Handle that case.  */
    BLOCK_INPUT;
-   x_catch_errors (reply.display);
-   XSendEvent (reply.display, reply.requestor, False, 0L, (XEvent *) &reply);
-   XFlush (reply.display);
+   x_catch_errors (reply->display);
+   XSendEvent (reply->display, reply->requestor, False, 0L, &reply_base);
+   XFlush (reply->display);
    x_uncatch_errors ();
    UNBLOCK_INPUT;
  }
@@@ -532,7 -598,8 +533,7 @@@ static struct x_display_info *selection
     before we throw to top-level or go into the debugger or whatever.  */
  
  static Lisp_Object
 -x_selection_request_lisp_error (ignore)
 -     Lisp_Object ignore;
 +x_selection_request_lisp_error (Lisp_Object ignore)
  {
    if (x_selection_current_request != 0
        && selection_request_dpyinfo->display)
  }
  
  static Lisp_Object
 -x_catch_errors_unwind (dummy)
 -     Lisp_Object dummy;
 +x_catch_errors_unwind (Lisp_Object dummy)
  {
    BLOCK_INPUT;
    x_uncatch_errors ();
@@@ -567,10 -635,10 +568,10 @@@ struct prop_locatio
    struct prop_location *next;
  };
  
 -static struct prop_location *expect_property_change ();
 -static void wait_for_property_change ();
 -static void unexpect_property_change ();
 -static int waiting_for_other_props_on_window ();
 +static struct prop_location *expect_property_change (Display *display, Window window, Atom property, int state);
 +static void wait_for_property_change (struct prop_location *location);
 +static void unexpect_property_change (struct prop_location *location);
 +static int waiting_for_other_props_on_window (Display *display, Window window);
  
  static int prop_location_identifier;
  
@@@ -581,7 -649,8 +582,7 @@@ static struct prop_location *property_c
  static struct prop_location *property_change_wait_list;
  
  static Lisp_Object
 -queue_selection_requests_unwind (tem)
 -     Lisp_Object tem;
 +queue_selection_requests_unwind (Lisp_Object tem)
  {
    x_stop_queuing_selection_requests ();
    return Qnil;
     Return nil if there is none.  */
  
  static Lisp_Object
 -some_frame_on_display (dpyinfo)
 -     struct x_display_info *dpyinfo;
 +some_frame_on_display (struct x_display_info *dpyinfo)
  {
    Lisp_Object list, frame;
  
@@@ -615,9 -685,14 +616,10 @@@ static int x_reply_selection_request_cn
  #endif  /* TRACE_SELECTION */
  
  static void
 -x_reply_selection_request (event, format, data, size, type)
 -     struct input_event *event;
 -     int format, size;
 -     unsigned char *data;
 -     Atom type;
 +x_reply_selection_request (struct input_event *event, int format, unsigned char *data, int size, Atom type)
  {
-   XSelectionEvent reply;
+   XEvent reply_base;
+   XSelectionEvent *reply = &(reply_base.xselection);
    Display *display = SELECTION_EVENT_DISPLAY (event);
    Window window = SELECTION_EVENT_REQUESTOR (event);
    int bytes_remaining;
    if (max_bytes > MAX_SELECTION_QUANTUM)
      max_bytes = MAX_SELECTION_QUANTUM;
  
-   reply.type = SelectionNotify;
-   reply.display = display;
-   reply.requestor = window;
-   reply.selection = SELECTION_EVENT_SELECTION (event);
-   reply.time = SELECTION_EVENT_TIME (event);
-   reply.target = SELECTION_EVENT_TARGET (event);
-   reply.property = SELECTION_EVENT_PROPERTY (event);
-   if (reply.property == None)
-     reply.property = reply.target;
+   reply->type = SelectionNotify;
+   reply->display = display;
+   reply->requestor = window;
+   reply->selection = SELECTION_EVENT_SELECTION (event);
+   reply->time = SELECTION_EVENT_TIME (event);
+   reply->target = SELECTION_EVENT_TARGET (event);
+   reply->property = SELECTION_EVENT_PROPERTY (event);
+   if (reply->property == None)
+     reply->property = reply->target;
  
    BLOCK_INPUT;
    /* The protected block contains wait_for_property_change, which can
  
  #ifdef TRACE_SELECTION
    {
-     char *sel = XGetAtomName (display, reply.selection);
-     char *tgt = XGetAtomName (display, reply.target);
+     char *sel = XGetAtomName (display, reply->selection);
+     char *tgt = XGetAtomName (display, reply->target);
      TRACE3 ("%s, target %s (%d)", sel, tgt, ++x_reply_selection_request_cnt);
      if (sel) XFree (sel);
      if (tgt) XFree (tgt);
      {
        /* Send all the data at once, with minimal handshaking.  */
        TRACE1 ("Sending all %d bytes", bytes_remaining);
-       XChangeProperty (display, window, reply.property, type, format,
+       XChangeProperty (display, window, reply->property, type, format,
                       PropModeReplace, data, size);
        /* At this point, the selection was successfully stored; ack it.  */
-       XSendEvent (display, window, False, 0L, (XEvent *) &reply);
+       XSendEvent (display, window, False, 0L, &reply_base);
      }
    else
      {
        error ("Attempt to transfer an INCR to ourself!");
  
        TRACE2 ("Start sending %d bytes incrementally (%s)",
-             bytes_remaining,  XGetAtomName (display, reply.property));
-       wait_object = expect_property_change (display, window, reply.property,
+             bytes_remaining,  XGetAtomName (display, reply->property));
+       wait_object = expect_property_change (display, window, reply->property,
                                            PropertyDelete);
  
        TRACE1 ("Set %s to number of bytes to send",
-             XGetAtomName (display, reply.property));
+             XGetAtomName (display, reply->property));
        {
          /* XChangeProperty expects an array of long even if long is more than
             32 bits.  */
          long value[1];
  
          value[0] = bytes_remaining;
-         XChangeProperty (display, window, reply.property, dpyinfo->Xatom_INCR,
+         XChangeProperty (display, window, reply->property, dpyinfo->Xatom_INCR,
                           32, PropModeReplace,
                           (unsigned char *) value, 1);
        }
  
        /* Tell 'em the INCR data is there...  */
        TRACE0 ("Send SelectionNotify event");
-       XSendEvent (display, window, False, 0L, (XEvent *) &reply);
+       XSendEvent (display, window, False, 0L, &reply_base);
        XFlush (display);
  
        had_errors = x_had_errors_p (display);
        if (! had_errors)
        {
          TRACE1 ("Waiting for ACK (deletion of %s)",
-                 XGetAtomName (display, reply.property));
+                 XGetAtomName (display, reply->property));
          wait_for_property_change (wait_object);
        }
        else
          BLOCK_INPUT;
  
          wait_object
-           = expect_property_change (display, window, reply.property,
+           = expect_property_change (display, window, reply->property,
                                      PropertyDelete);
  
          TRACE1 ("Sending increment of %d elements", i);
          TRACE1 ("Set %s to increment data",
-                 XGetAtomName (display, reply.property));
+                 XGetAtomName (display, reply->property));
  
          /* Append the next chunk of data to the property.  */
-         XChangeProperty (display, window, reply.property, type, format,
+         XChangeProperty (display, window, reply->property, type, format,
                           PropModeAppend, data, i);
          bytes_remaining -= i * format_bytes;
          if (format == 32)
          /* Now wait for the requester to ack this chunk by deleting the
             property.  This can run random lisp code or signal.  */
          TRACE1 ("Waiting for increment ACK (deletion of %s)",
-                 XGetAtomName (display, reply.property));
+                 XGetAtomName (display, reply->property));
          wait_for_property_change (wait_object);
        }
  
        XSelectInput (display, window, 0L);
  
        TRACE1 ("Set %s to a 0-length chunk to indicate EOF",
-             XGetAtomName (display, reply.property));
-       XChangeProperty (display, window, reply.property, type, format,
+             XGetAtomName (display, reply->property));
+       XChangeProperty (display, window, reply->property, type, format,
                       PropModeReplace, data, 0);
        TRACE0 ("Done sending incrementally");
      }
     This is called from keyboard.c when such an event is found in the queue.  */
  
  static void
 -x_handle_selection_request (event)
 -     struct input_event *event;
 +x_handle_selection_request (struct input_event *event)
  {
    struct gcpro gcpro1, gcpro2, gcpro3;
    Lisp_Object local_selection_data;
     This is called from keyboard.c when such an event is found in the queue.  */
  
  static void
 -x_handle_selection_clear (event)
 -     struct input_event *event;
 +x_handle_selection_clear (struct input_event *event)
  {
    Display *display = SELECTION_EVENT_DISPLAY (event);
    Atom selection = SELECTION_EVENT_SELECTION (event);
          }
        }
    UNBLOCK_INPUT;
 -  
 +
    selection_symbol = x_atom_to_symbol (display, selection);
  
    local_selection_data = assq_no_quit (selection_symbol, Vselection_alist);
  }
  
  void
 -x_handle_selection_event (event)
 -     struct input_event *event;
 +x_handle_selection_event (struct input_event *event)
  {
    TRACE0 ("x_handle_selection_event");
  
     We do this when about to delete a frame.  */
  
  void
 -x_clear_frame_selections (f)
 -     FRAME_PTR f;
 +x_clear_frame_selections (FRAME_PTR f)
  {
    Lisp_Object frame;
    Lisp_Object rest;
     are on the list of what we are waiting for.  */
  
  static int
 -waiting_for_other_props_on_window (display, window)
 -     Display *display;
 -     Window window;
 +waiting_for_other_props_on_window (Display *display, Window window)
  {
    struct prop_location *rest = property_change_wait_list;
    while (rest)
     this awaited property change.  */
  
  static struct prop_location *
 -expect_property_change (display, window, property, state)
 -     Display *display;
 -     Window window;
 -     Atom property;
 -     int state;
 +expect_property_change (Display *display, Window window, Atom property, int state)
  {
    struct prop_location *pl = (struct prop_location *) xmalloc (sizeof *pl);
    pl->identifier = ++prop_location_identifier;
     IDENTIFIER is the number that uniquely identifies the entry.  */
  
  static void
 -unexpect_property_change (location)
 -     struct prop_location *location;
 +unexpect_property_change (struct prop_location *location)
  {
    struct prop_location *prev = 0, *rest = property_change_wait_list;
    while (rest)
  /* Remove the property change expectation element for IDENTIFIER.  */
  
  static Lisp_Object
 -wait_for_property_change_unwind (loc)
 -     Lisp_Object loc;
 +wait_for_property_change_unwind (Lisp_Object loc)
  {
    struct prop_location *location = XSAVE_VALUE (loc)->pointer;
  
     IDENTIFIER should be the value that expect_property_change returned.  */
  
  static void
 -wait_for_property_change (location)
 -     struct prop_location *location;
 +wait_for_property_change (struct prop_location *location)
  {
    int secs, usecs;
    int count = SPECPDL_INDEX ();
  /* Called from XTread_socket in response to a PropertyNotify event.  */
  
  void
 -x_handle_property_notify (event)
 -     XPropertyEvent *event;
 +x_handle_property_notify (XPropertyEvent *event)
  {
 -  struct prop_location *prev = 0, *rest = property_change_wait_list;
 +  struct prop_location *rest;
  
 -  while (rest)
 +  for (rest = property_change_wait_list; rest; rest = rest->next)
      {
        if (!rest->arrived
          && rest->property == event->atom
  
          return;
        }
 -
 -      prev = rest;
 -      rest = rest->next;
      }
  }
  
@@@ -1288,7 -1380,8 +1290,7 @@@ static Window reading_selection_window
     Converts this to Lisp data and returns it.  */
  
  static Lisp_Object
 -x_get_foreign_selection (selection_symbol, target_type, time_stamp)
 -     Lisp_Object selection_symbol, target_type, time_stamp;
 +x_get_foreign_selection (Lisp_Object selection_symbol, Lisp_Object target_type, Lisp_Object time_stamp)
  {
    struct frame *sf = SELECTED_FRAME ();
    Window requestor_window;
  /* Use xfree, not XFree, to free the data obtained with this function.  */
  
  static void
 -x_get_window_property (display, window, property, data_ret, bytes_ret,
 -                     actual_type_ret, actual_format_ret, actual_size_ret,
 -                     delete_p)
 -     Display *display;
 -     Window window;
 -     Atom property;
 -     unsigned char **data_ret;
 -     int *bytes_ret;
 -     Atom *actual_type_ret;
 -     int *actual_format_ret;
 -     unsigned long *actual_size_ret;
 -     int delete_p;
 +x_get_window_property (Display *display, Window window, Atom property,
 +                     unsigned char **data_ret, int *bytes_ret,
 +                     Atom *actual_type_ret, int *actual_format_ret,
 +                     unsigned long *actual_size_ret, int delete_p)
  {
    int total_size;
    unsigned long bytes_remaining;
            elements."
           This applies even if long is more than 32 bits, the X library
           converts from 32 bit elements received from the X server to long
 -         and passes the long array to us.  Thus, for that case bcopy can not
 +         and passes the long array to us.  Thus, for that case memcpy can not
           be used.  We convert to a 32 bit type here, because so much code
           assume on that.
  
        else
          {
            *actual_size_ret *= *actual_format_ret / 8;
 -          bcopy (tmp_data, (*data_ret) + offset, *actual_size_ret);
 +          memcpy ((*data_ret) + offset, tmp_data, *actual_size_ret);
            offset += *actual_size_ret;
          }
  
  /* Use xfree, not XFree, to free the data obtained with this function.  */
  
  static void
 -receive_incremental_selection (display, window, property, target_type,
 -                             min_size_bytes, data_ret, size_bytes_ret,
 -                             type_ret, format_ret, size_ret)
 -     Display *display;
 -     Window window;
 -     Atom property;
 -     Lisp_Object target_type; /* for error messages only */
 -     unsigned int min_size_bytes;
 -     unsigned char **data_ret;
 -     int *size_bytes_ret;
 -     Atom *type_ret;
 -     unsigned long *size_ret;
 -     int *format_ret;
 +receive_incremental_selection (Display *display, Window window, Atom property,
 +                             Lisp_Object target_type,
 +                             unsigned int min_size_bytes,
 +                             unsigned char **data_ret, int *size_bytes_ret,
 +                             Atom *type_ret, int *format_ret,
 +                             unsigned long *size_ret)
  {
    int offset = 0;
    struct prop_location *wait_object;
          *data_ret = (unsigned char *) xrealloc (*data_ret, *size_bytes_ret);
        }
  
 -      bcopy (tmp_data, (*data_ret) + offset, tmp_size_bytes);
 +      memcpy ((*data_ret) + offset, tmp_data, tmp_size_bytes);
        offset += tmp_size_bytes;
  
        /* Use xfree, not XFree, because x_get_window_property
     TARGET_TYPE and SELECTION_ATOM are used in error message if this fails.  */
  
  static Lisp_Object
 -x_get_window_property_as_lisp_data (display, window, property, target_type,
 -                                  selection_atom)
 -     Display *display;
 -     Window window;
 -     Atom property;
 -     Lisp_Object target_type; /* for error messages only */
 -     Atom selection_atom;     /* for error messages only */
 +x_get_window_property_as_lisp_data (Display *display, Window window,
 +                                  Atom property,
 +                                  Lisp_Object target_type,
 +                                  Atom selection_atom)
  {
    Atom actual_type;
    int actual_format;
  
  
  static Lisp_Object
 -selection_data_to_lisp_data (display, data, size, type, format)
 -     Display *display;
 -     unsigned char *data;
 -     Atom type;
 -     int size, format;
 +selection_data_to_lisp_data (Display *display, const unsigned char *data,
 +                           int size, Atom type, int format)
  {
    struct x_display_info *dpyinfo = x_display_info_for_display (display);
  
  /* Use xfree, not XFree, to free the data obtained with this function.  */
  
  static void
 -lisp_data_to_selection_data (display, obj,
 -                           data_ret, type_ret, size_ret,
 -                           format_ret, nofree_ret)
 -     Display *display;
 -     Lisp_Object obj;
 -     unsigned char **data_ret;
 -     Atom *type_ret;
 -     unsigned int *size_ret;
 -     int *format_ret;
 -     int *nofree_ret;
 +lisp_data_to_selection_data (Display *display, Lisp_Object obj,
 +                           unsigned char **data_ret, Atom *type_ret,
 +                           unsigned int *size_ret,
 +                           int *format_ret, int *nofree_ret)
  {
    Lisp_Object type = Qnil;
    struct x_display_info *dpyinfo = x_display_info_for_display (display);
  }
  
  static Lisp_Object
 -clean_local_selection_data (obj)
 -     Lisp_Object obj;
 +clean_local_selection_data (Lisp_Object obj)
  {
    if (CONSP (obj)
        && INTEGERP (XCAR (obj))
     We store t there if the reply is successful, lambda if not.  */
  
  void
 -x_handle_selection_notify (event)
 -     XSelectionEvent *event;
 +x_handle_selection_notify (XSelectionEvent *event)
  {
    if (event->requestor != reading_selection_window)
      return;
@@@ -2013,7 -2135,8 +2015,7 @@@ TYPE is a symbol, typically `PRIMARY', 
  \(Those are literal upper-case symbol names, since that's what X expects.)
  VALUE is typically a string, or a cons of two markers, but may be
  anything that the functions on `selection-converter-alist' know about.  */)
 -     (selection_name, selection_value)
 -     Lisp_Object selection_name, selection_value;
 +  (Lisp_Object selection_name, Lisp_Object selection_value)
  {
    check_x ();
    CHECK_SYMBOL (selection_name);
@@@ -2035,7 -2158,8 +2037,7 @@@ SELECTION is a symbol, typically `PRIMA
  TYPE is the type of data desired, typically `STRING'.
  TIME_STAMP is the time to use in the XConvertSelection call for foreign
  selections.  If omitted, defaults to the time for the last event.  */)
 -  (selection_symbol, target_type, time_stamp)
 -     Lisp_Object selection_symbol, target_type, time_stamp;
 +  (Lisp_Object selection_symbol, Lisp_Object target_type, Lisp_Object time_stamp)
  {
    Lisp_Object val = Qnil;
    struct gcpro gcpro1, gcpro2;
@@@ -2080,7 -2204,9 +2082,7 @@@ DEFUN ("x-disown-selection-internal", F
         Sx_disown_selection_internal, 1, 2, 0,
         doc: /* If we own the selection SELECTION, disown it.
  Disowning it means there is no such selection.  */)
 -     (selection, time)
 -     Lisp_Object selection;
 -     Lisp_Object time;
 +  (Lisp_Object selection, Lisp_Object time_object)
  {
    Time timestamp;
    Atom selection_atom;
    display = FRAME_X_DISPLAY (sf);
    dpyinfo = FRAME_X_DISPLAY_INFO (sf);
    CHECK_SYMBOL (selection);
 -  if (NILP (time))
 +  if (NILP (time_object))
      timestamp = last_event_timestamp;
    else
 -    timestamp = cons_to_long (time);
 +    timestamp = cons_to_long (time_object);
  
    if (NILP (assq_no_quit (selection, Vselection_alist)))
      return Qnil;  /* Don't disown the selection when we're not the owner.  */
    return Qt;
  }
  
 -/* Get rid of all the selections in buffer BUFFER.
 -   This is used when we kill a buffer.  */
 -
 -void
 -x_disown_buffer_selections (buffer)
 -     Lisp_Object buffer;
 -{
 -  Lisp_Object tail;
 -  struct buffer *buf = XBUFFER (buffer);
 -
 -  for (tail = Vselection_alist; CONSP (tail); tail = XCDR (tail))
 -    {
 -      Lisp_Object elt, value;
 -      elt = XCAR (tail);
 -      value = XCDR (elt);
 -      if (CONSP (value) && MARKERP (XCAR (value))
 -        && XMARKER (XCAR (value))->buffer == buf)
 -      Fx_disown_selection_internal (XCAR (elt), Qnil);
 -    }
 -}
 -
  DEFUN ("x-selection-owner-p", Fx_selection_owner_p, Sx_selection_owner_p,
         0, 1, 0,
         doc: /* Whether the current Emacs process owns the given X Selection.
@@@ -2134,7 -2281,8 +2136,7 @@@ the symbols `PRIMARY', `SECONDARY', or 
  \(Those are literal upper-case symbol names, since that's what X expects.)
  For convenience, the symbol nil is the same as `PRIMARY',
  and t is the same as `SECONDARY'.  */)
 -     (selection)
 -     Lisp_Object selection;
 +  (Lisp_Object selection)
  {
    check_x ();
    CHECK_SYMBOL (selection);
@@@ -2154,7 -2302,8 +2156,7 @@@ the symbols `PRIMARY', `SECONDARY', or 
  \(Those are literal upper-case symbol names, since that's what X expects.)
  For convenience, the symbol nil is the same as `PRIMARY',
  and t is the same as `SECONDARY'.  */)
 -     (selection)
 -     Lisp_Object selection;
 +  (Lisp_Object selection)
  {
    Window owner;
    Atom atom;
    return (owner ? Qt : Qnil);
  }
  
 -\f
 -#ifdef CUT_BUFFER_SUPPORT
 -
 -/* Ensure that all 8 cut buffers exist.  ICCCM says we gotta...  */
 -static void
 -initialize_cut_buffers (display, window)
 -     Display *display;
 -     Window window;
 -{
 -  unsigned char *data = (unsigned char *) "";
 -  BLOCK_INPUT;
 -#define FROB(atom) XChangeProperty (display, window, atom, XA_STRING, 8, \
 -                                  PropModeAppend, data, 0)
 -  FROB (XA_CUT_BUFFER0);
 -  FROB (XA_CUT_BUFFER1);
 -  FROB (XA_CUT_BUFFER2);
 -  FROB (XA_CUT_BUFFER3);
 -  FROB (XA_CUT_BUFFER4);
 -  FROB (XA_CUT_BUFFER5);
 -  FROB (XA_CUT_BUFFER6);
 -  FROB (XA_CUT_BUFFER7);
 -#undef FROB
 -  UNBLOCK_INPUT;
 -}
 -
 -
 -#define CHECK_CUT_BUFFER(symbol)                                      \
 -  do { CHECK_SYMBOL ((symbol));                                       \
 -    if (!EQ((symbol), QCUT_BUFFER0) && !EQ((symbol), QCUT_BUFFER1)    \
 -      && !EQ((symbol), QCUT_BUFFER2) && !EQ((symbol), QCUT_BUFFER3)   \
 -      && !EQ((symbol), QCUT_BUFFER4) && !EQ((symbol), QCUT_BUFFER5)   \
 -      && !EQ((symbol), QCUT_BUFFER6) && !EQ((symbol), QCUT_BUFFER7))  \
 -      signal_error ("Doesn't name a cut buffer", (symbol));           \
 -  } while (0)
 -
 -DEFUN ("x-get-cut-buffer-internal", Fx_get_cut_buffer_internal,
 -       Sx_get_cut_buffer_internal, 1, 1, 0,
 -       doc: /* Returns the value of the named cut buffer (typically CUT_BUFFER0).  */)
 -     (buffer)
 -     Lisp_Object buffer;
 -{
 -  Window window;
 -  Atom buffer_atom;
 -  unsigned char *data = NULL;
 -  int bytes;
 -  Atom type;
 -  int format;
 -  unsigned long size;
 -  Lisp_Object ret;
 -  Display *display;
 -  struct x_display_info *dpyinfo;
 -  struct frame *sf = SELECTED_FRAME ();
 -
 -  check_x ();
 -
 -  if (! FRAME_X_P (sf))
 -    return Qnil;
 -
 -  display = FRAME_X_DISPLAY (sf);
 -  dpyinfo = FRAME_X_DISPLAY_INFO (sf);
 -  window = RootWindow (display, 0); /* Cut buffers are on screen 0 */
 -  CHECK_CUT_BUFFER (buffer);
 -  buffer_atom = symbol_to_x_atom (dpyinfo, display, buffer);
 -
 -  x_get_window_property (display, window, buffer_atom, &data, &bytes,
 -                       &type, &format, &size, 0);
 -
 -  if (!data || !format)
 -    {
 -      xfree (data);
 -      return Qnil;
 -    }
 -
 -  if (format != 8 || type != XA_STRING)
 -    signal_error ("Cut buffer doesn't contain 8-bit data",
 -                list2 (x_atom_to_symbol (display, type),
 -                       make_number (format)));
 -
 -  ret = (bytes ? make_unibyte_string ((char *) data, bytes) : Qnil);
 -  /* Use xfree, not XFree, because x_get_window_property
 -     calls xmalloc itself.  */
 -  xfree (data);
 -  return ret;
 -}
 -
 -
 -DEFUN ("x-store-cut-buffer-internal", Fx_store_cut_buffer_internal,
 -       Sx_store_cut_buffer_internal, 2, 2, 0,
 -       doc: /* Sets the value of the named cut buffer (typically CUT_BUFFER0).  */)
 -     (buffer, string)
 -     Lisp_Object buffer, string;
 -{
 -  Window window;
 -  Atom buffer_atom;
 -  unsigned char *data;
 -  int bytes;
 -  int bytes_remaining;
 -  int max_bytes;
 -  Display *display;
 -  struct frame *sf = SELECTED_FRAME ();
 -
 -  check_x ();
 -
 -  if (! FRAME_X_P (sf))
 -    return Qnil;
 -
 -  display = FRAME_X_DISPLAY (sf);
 -  window = RootWindow (display, 0); /* Cut buffers are on screen 0 */
 -
 -  max_bytes = SELECTION_QUANTUM (display);
 -  if (max_bytes > MAX_SELECTION_QUANTUM)
 -    max_bytes = MAX_SELECTION_QUANTUM;
 -
 -  CHECK_CUT_BUFFER (buffer);
 -  CHECK_STRING (string);
 -  buffer_atom = symbol_to_x_atom (FRAME_X_DISPLAY_INFO (sf),
 -                                display, buffer);
 -  data = (unsigned char *) SDATA (string);
 -  bytes = SBYTES (string);
 -  bytes_remaining = bytes;
 -
 -  if (! FRAME_X_DISPLAY_INFO (sf)->cut_buffers_initialized)
 -    {
 -      initialize_cut_buffers (display, window);
 -      FRAME_X_DISPLAY_INFO (sf)->cut_buffers_initialized = 1;
 -    }
 -
 -  BLOCK_INPUT;
 -
 -  /* Don't mess up with an empty value.  */
 -  if (!bytes_remaining)
 -    XChangeProperty (display, window, buffer_atom, XA_STRING, 8,
 -                   PropModeReplace, data, 0);
 -
 -  while (bytes_remaining)
 -    {
 -      int chunk = (bytes_remaining < max_bytes
 -                 ? bytes_remaining : max_bytes);
 -      XChangeProperty (display, window, buffer_atom, XA_STRING, 8,
 -                     (bytes_remaining == bytes
 -                      ? PropModeReplace
 -                      : PropModeAppend),
 -                     data, chunk);
 -      data += chunk;
 -      bytes_remaining -= chunk;
 -    }
 -  UNBLOCK_INPUT;
 -  return string;
 -}
 -
 -
 -DEFUN ("x-rotate-cut-buffers-internal", Fx_rotate_cut_buffers_internal,
 -       Sx_rotate_cut_buffers_internal, 1, 1, 0,
 -       doc: /* Rotate the values of the cut buffers by N steps.
 -Positive N means shift the values forward, negative means backward.  */)
 -     (n)
 -     Lisp_Object n;
 -{
 -  Window window;
 -  Atom props[8];
 -  Display *display;
 -  struct frame *sf = SELECTED_FRAME ();
 -  
 -  check_x ();
 -
 -  if (! FRAME_X_P (sf))
 -    return Qnil;
 -
 -  display = FRAME_X_DISPLAY (sf);
 -  window = RootWindow (display, 0); /* Cut buffers are on screen 0 */
 -  CHECK_NUMBER (n);
 -  if (XINT (n) == 0)
 -    return n;
 -  if (! FRAME_X_DISPLAY_INFO (sf)->cut_buffers_initialized)
 -    {
 -      initialize_cut_buffers (display, window);
 -      FRAME_X_DISPLAY_INFO (sf)->cut_buffers_initialized = 1;
 -    }
 -
 -  props[0] = XA_CUT_BUFFER0;
 -  props[1] = XA_CUT_BUFFER1;
 -  props[2] = XA_CUT_BUFFER2;
 -  props[3] = XA_CUT_BUFFER3;
 -  props[4] = XA_CUT_BUFFER4;
 -  props[5] = XA_CUT_BUFFER5;
 -  props[6] = XA_CUT_BUFFER6;
 -  props[7] = XA_CUT_BUFFER7;
 -  BLOCK_INPUT;
 -  XRotateWindowProperties (display, window, props, 8, XINT (n));
 -  UNBLOCK_INPUT;
 -  return n;
 -}
 -
 -#endif
  \f
  /***********************************************************************
                        Drag and drop support
  ***********************************************************************/
  /* Check that lisp values are of correct type for x_fill_property_data.
     That is, number, string or a cons with two numbers (low and high 16
 -   bit parts of a 32 bit number).  */
 +   bit parts of a 32 bit number).  Return the number of items in DATA,
 +   or -1 if there is an error.  */
  
  int
 -x_check_property_data (data)
 -     Lisp_Object data;
 +x_check_property_data (Lisp_Object data)
  {
    Lisp_Object iter;
    int size = 0;
  
 -  for (iter = data; CONSP (iter) && size != -1; iter = XCDR (iter), ++size)
 +  for (iter = data; CONSP (iter); iter = XCDR (iter))
      {
        Lisp_Object o = XCAR (iter);
  
        if (! NUMBERP (o) && ! STRINGP (o) && ! CONSP (o))
 -        size = -1;
 +        return -1;
        else if (CONSP (o) &&
                 (! NUMBERP (XCAR (o)) || ! NUMBERP (XCDR (o))))
 -        size = -1;
 +        return -1;
 +      size++;
      }
  
    return size;
     XClientMessageEvent).  */
  
  void
 -x_fill_property_data (dpy, data, ret, format)
 -     Display *dpy;
 -     Lisp_Object data;
 -     void *ret;
 -     int format;
 +x_fill_property_data (Display *dpy, Lisp_Object data, void *ret, int format)
  {
    long val;
    long  *d32 = (long  *) ret;
        else if (STRINGP (o))
          {
            BLOCK_INPUT;
 -          val = (long) XInternAtom (dpy, (char *) SDATA (o), False);
 +          val = (long) XInternAtom (dpy, SSDATA (o), False);
            UNBLOCK_INPUT;
          }
        else
     Also see comment for selection_data_to_lisp_data above.  */
  
  Lisp_Object
 -x_property_data_to_lisp (f, data, type, format, size)
 -     struct frame *f;
 -     unsigned char *data;
 -     Atom type;
 -     int format;
 -     unsigned long size;
 +x_property_data_to_lisp (struct frame *f, const unsigned char *data,
 +                       Atom type, int format, long unsigned int size)
  {
    return selection_data_to_lisp_data (FRAME_X_DISPLAY (f),
                                        data, size*format/8, type, format);
  /* Get the mouse position in frame relative coordinates.  */
  
  static void
 -mouse_position_for_drop (f, x, y)
 -     FRAME_PTR f;
 -     int *x;
 -     int *y;
 +mouse_position_for_drop (FRAME_PTR f, int *x, int *y)
  {
    Window root, dummy_window;
    int dummy;
@@@ -2328,11 -2681,11 +2330,11 @@@ the cdr is the lower 16 bits of a 32 bi
  Use the display for FRAME or the current frame if FRAME is not given or nil.
  
  If the value is 0 or the atom is not known, return the empty string.  */)
 -  (value, frame)
 -     Lisp_Object value, frame;
 +  (Lisp_Object value, Lisp_Object frame)
  {
    struct frame *f = check_x_frame (frame);
    char *name = 0;
 +  char empty[] = "";
    Lisp_Object ret = Qnil;
    Display *dpy = FRAME_X_DISPLAY (f);
    Atom atom;
  
    BLOCK_INPUT;
    x_catch_errors (dpy);
 -  name = atom ? XGetAtomName (dpy, atom) : "";
 +  name = atom ? XGetAtomName (dpy, atom) : empty;
    had_errors = x_had_errors_p (dpy);
    x_uncatch_errors ();
  
@@@ -2369,7 -2722,8 +2371,7 @@@ DEFUN ("x-register-dnd-atom", Fx_regist
         doc: /* Request that dnd events are made for ClientMessages with ATOM.
  ATOM can be a symbol or a string.  The ATOM is interned on the display that
  FRAME is on.  If FRAME is nil, the selected frame is used.  */)
 -    (atom, frame)
 -    Lisp_Object atom, frame;
 +  (Lisp_Object atom, Lisp_Object frame)
  {
    Atom x_atom;
    struct frame *f = check_x_frame (frame);
    else if (STRINGP (atom))
      {
        BLOCK_INPUT;
 -      x_atom = XInternAtom (FRAME_X_DISPLAY (f), (char *) SDATA (atom), False);
 +      x_atom = XInternAtom (FRAME_X_DISPLAY (f), SSDATA (atom), False);
        UNBLOCK_INPUT;
      }
    else
  /* Convert an XClientMessageEvent to a Lisp event of type DRAG_N_DROP_EVENT.  */
  
  int
 -x_handle_dnd_message (f, event, dpyinfo, bufp)
 -     struct frame *f;
 -     XClientMessageEvent *event;
 -     struct x_display_info *dpyinfo;
 -     struct input_event *bufp;
 +x_handle_dnd_message (struct frame *f, XClientMessageEvent *event, struct x_display_info *dpyinfo, struct input_event *bufp)
  {
    Lisp_Object vec;
    Lisp_Object frame;
  
    if (event->format == 32 && event->format < BITS_PER_LONG)
      {
 -      int i;
        for (i = 0; i < 5; ++i) /* There are only 5 longs in a ClientMessage. */
          idata[i] = (int) event->data.l[i];
        data = (unsigned char *) idata;
@@@ -2485,29 -2844,18 +2487,29 @@@ the Atom is sent.  If a value is a cons
  with the high 16 bits from the car and the lower 16 bit from the cdr.
  If more values than fits into the event is given, the excessive values
  are ignored.  */)
 -     (display, dest, from, message_type, format, values)
 -     Lisp_Object display, dest, from, message_type, format, values;
 +  (Lisp_Object display, Lisp_Object dest, Lisp_Object from, Lisp_Object message_type, Lisp_Object format, Lisp_Object values)
 +{
 +  struct x_display_info *dpyinfo = check_x_display_info (display);
 +
 +  CHECK_STRING (message_type);
 +  x_send_client_event(display, dest, from,
 +                      XInternAtom (dpyinfo->display,
 +                                   SSDATA (message_type),
 +                                   False),
 +                      format, values);
 +
 +  return Qnil;
 +}
 +
 +void
 +x_send_client_event (Lisp_Object display, Lisp_Object dest, Lisp_Object from, Atom message_type, Lisp_Object format, Lisp_Object values)
  {
    struct x_display_info *dpyinfo = check_x_display_info (display);
    Window wdest;
    XEvent event;
 -  Lisp_Object cons;
 -  int size;
    struct frame *f = check_x_frame (from);
    int to_root;
  
 -  CHECK_STRING (message_type);
    CHECK_NUMBER (format);
    CHECK_CONS (values);
  
      }
    else if (STRINGP (dest))
      {
 -      if (strcmp (SDATA (dest), "PointerWindow") == 0)
 +      if (strcmp (SSDATA (dest), "PointerWindow") == 0)
          wdest = PointerWindow;
 -      else if (strcmp (SDATA (dest), "InputFocus") == 0)
 +      else if (strcmp (SSDATA (dest), "InputFocus") == 0)
          wdest = InputFocus;
        else
          error ("DEST as a string must be one of PointerWindow or InputFocus");
    if (wdest == 0) wdest = dpyinfo->root_window;
    to_root = wdest == dpyinfo->root_window;
  
 -  for (cons = values, size = 0; CONSP (cons); cons = XCDR (cons), ++size)
 -    ;
 -
    BLOCK_INPUT;
  
 -  event.xclient.message_type
 -    = XInternAtom (dpyinfo->display, SDATA (message_type), False);
 +  event.xclient.message_type = message_type;
    event.xclient.display = dpyinfo->display;
  
    /* Some clients (metacity for example) expects sending window to be here
    }
    x_uncatch_errors ();
    UNBLOCK_INPUT;
 -
 -  return Qnil;
  }
  
  \f
  void
 -syms_of_xselect ()
 +syms_of_xselect (void)
  {
    defsubr (&Sx_get_selection_internal);
    defsubr (&Sx_own_selection_internal);
    defsubr (&Sx_selection_owner_p);
    defsubr (&Sx_selection_exists_p);
  
 -#ifdef CUT_BUFFER_SUPPORT
 -  defsubr (&Sx_get_cut_buffer_internal);
 -  defsubr (&Sx_store_cut_buffer_internal);
 -  defsubr (&Sx_rotate_cut_buffers_internal);
 -#endif
 -
    defsubr (&Sx_get_atom_name);
    defsubr (&Sx_send_client_message);
    defsubr (&Sx_register_dnd_atom);
    Vselection_alist = Qnil;
    staticpro (&Vselection_alist);
  
 -  DEFVAR_LISP ("selection-converter-alist", &Vselection_converter_alist,
 +  DEFVAR_LISP ("selection-converter-alist", Vselection_converter_alist,
               doc: /* An alist associating X Windows selection-types with functions.
  These functions are called to convert the selection, with three args:
  the name of the selection (typically `PRIMARY', `SECONDARY', or `CLIPBOARD');
@@@ -2623,7 -2983,7 +2625,7 @@@ means that a side-effect was executed
  and there is no meaningful selection value.  */);
    Vselection_converter_alist = Qnil;
  
 -  DEFVAR_LISP ("x-lost-selection-functions", &Vx_lost_selection_functions,
 +  DEFVAR_LISP ("x-lost-selection-functions", Vx_lost_selection_functions,
               doc: /* A list of functions to be called when Emacs loses an X selection.
  \(This happens when some other X client makes its own selection
  or when a Lisp program explicitly clears the selection.)
@@@ -2631,7 -2991,7 +2633,7 @@@ The functions are called with one argum
  \(a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD').  */);
    Vx_lost_selection_functions = Qnil;
  
 -  DEFVAR_LISP ("x-sent-selection-functions", &Vx_sent_selection_functions,
 +  DEFVAR_LISP ("x-sent-selection-functions", Vx_sent_selection_functions,
               doc: /* A list of functions to be called when Emacs answers a selection request.
  The functions are called with four arguments:
    - the selection name (typically `PRIMARY', `SECONDARY', or `CLIPBOARD');
@@@ -2645,14 -3005,14 +2647,14 @@@ This hook doesn't let you change the be
  it merely informs you that they have happened.  */);
    Vx_sent_selection_functions = Qnil;
  
 -  DEFVAR_INT ("x-selection-timeout", &x_selection_timeout,
 +  DEFVAR_INT ("x-selection-timeout", x_selection_timeout,
              doc: /* Number of milliseconds to wait for a selection reply.
  If the selection owner doesn't reply in this time, we give up.
  A value of 0 means wait as long as necessary.  This is initialized from the
  \"*selectionTimeout\" resource.  */);
    x_selection_timeout = 0;
  
 -  QPRIMARY   = intern_c_string ("PRIMARY");   staticpro (&QPRIMARY);
 +  /* QPRIMARY is defined in keyboard.c.  */
    QSECONDARY = intern_c_string ("SECONDARY"); staticpro (&QSECONDARY);
    QSTRING    = intern_c_string ("STRING");    staticpro (&QSTRING);
    QINTEGER   = intern_c_string ("INTEGER");   staticpro (&QINTEGER);
    Qcompound_text_with_extensions = intern_c_string ("compound-text-with-extensions");
    staticpro (&Qcompound_text_with_extensions);
  
 -#ifdef CUT_BUFFER_SUPPORT
 -  QCUT_BUFFER0 = intern_c_string ("CUT_BUFFER0"); staticpro (&QCUT_BUFFER0);
 -  QCUT_BUFFER1 = intern_c_string ("CUT_BUFFER1"); staticpro (&QCUT_BUFFER1);
 -  QCUT_BUFFER2 = intern_c_string ("CUT_BUFFER2"); staticpro (&QCUT_BUFFER2);
 -  QCUT_BUFFER3 = intern_c_string ("CUT_BUFFER3"); staticpro (&QCUT_BUFFER3);
 -  QCUT_BUFFER4 = intern_c_string ("CUT_BUFFER4"); staticpro (&QCUT_BUFFER4);
 -  QCUT_BUFFER5 = intern_c_string ("CUT_BUFFER5"); staticpro (&QCUT_BUFFER5);
 -  QCUT_BUFFER6 = intern_c_string ("CUT_BUFFER6"); staticpro (&QCUT_BUFFER6);
 -  QCUT_BUFFER7 = intern_c_string ("CUT_BUFFER7"); staticpro (&QCUT_BUFFER7);
 -#endif
 -
    Qforeign_selection = intern_c_string ("foreign-selection");
    staticpro (&Qforeign_selection);
  }
 -
 -/* arch-tag: 7c293b0f-9918-4f69-8ac7-03e142307236
 -   (do not change this comment) */
diff --combined src/xterm.c
index 92df7ae8746b44df213d45499a853fed3b7a8e5a,be7fde03c58b1e90278aa3257379099a6d59c783..d1ff5b85a29c54a02b33e963a8b115408f3c62fc
@@@ -1,6 -1,7 +1,6 @@@
  /* X Communication module for terminals which understand the X protocol.
 -   Copyright (C) 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
 -                 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 -                 Free Software Foundation, Inc.
 +
 +Copyright (C) 1989, 1993-2011  Free Software Foundation, Inc.
  
  This file is part of GNU Emacs.
  
@@@ -21,7 -22,11 +21,7 @@@ along with GNU Emacs.  If not, see <htt
  /* Xt features made by Fred Pierresteguy.  */
  
  #include <config.h>
 -
 -/* On 4.3 these lose if they come after xterm.h.  */
 -/* Putting these at the beginning seems to be standard for other .c files.  */
  #include <signal.h>
 -
  #include <stdio.h>
  #include <setjmp.h>
  
  #include <sys/types.h>
  #endif /* makedev */
  
 -#ifdef BSD_SYSTEM
  #include <sys/ioctl.h>
 -#endif /* ! defined (BSD_SYSTEM) */
  
  #include "systime.h"
  
 -#ifndef INCLUDED_FCNTL
  #include <fcntl.h>
 -#endif
  #include <ctype.h>
  #include <errno.h>
  #include <setjmp.h>
  #ifdef HAVE_SYS_TIME_H
  #include <sys/time.h>
  #endif
 -#ifdef HAVE_UNISTD_H
 +
  #include <unistd.h>
 -#endif
  
  #ifdef USE_GTK
  #include "gtkutil.h"
  #endif
  
  #ifdef USE_LUCID
 -extern int xlwmenu_window_p P_ ((Widget w, Window window));
 -extern void xlwmenu_redisplay P_ ((Widget));
 -#endif
 -
 -#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
 -
 -extern void free_frame_menubar P_ ((struct frame *));
 +#include "../lwlib/xlwmenu.h"
  #endif
  
  #ifdef USE_X_TOOLKIT
@@@ -145,6 -161,10 +145,6 @@@ int use_xim = 0;  /* configure --withou
  
  \f
  
 -/* Non-nil means Emacs uses toolkit scroll bars.  */
 -
 -Lisp_Object Vx_toolkit_scroll_bars;
 -
  /* Non-zero means that a HELP_EVENT has been generated since Emacs
     start.  */
  
@@@ -153,6 -173,14 +153,6 @@@ static int any_help_event_p
  /* Last window where we saw the mouse.  Used by mouse-autoselect-window.  */
  static Lisp_Object last_window;
  
 -/* Non-zero means make use of UNDERLINE_POSITION font properties.  */
 -
 -int x_use_underline_position_properties;
 -
 -/* Non-zero means to draw the underline at the same place as the descent line.  */
 -
 -int x_underline_at_descent_line;
 -
  /* This is a chain of structures for all the X displays currently in
     use.  */
  
@@@ -193,6 -221,11 +193,6 @@@ static String Xt_default_resources[] = 
  
  static int toolkit_scroll_bar_interaction;
  
 -/* Non-zero means to not move point as a result of clicking on a
 -   frame to focus it (when focus-follows-mouse is nil).  */
 -
 -int x_mouse_click_focus_ignore_position;
 -
  /* Non-zero timeout value means ignore next mouse click if it arrives
     before that timeout elapses (i.e. as part of the same sequence of
     events resulting from clicking on a frame to select it).  */
@@@ -263,6 -296,29 +263,6 @@@ static int input_signal_count
  
  static int x_noop_count;
  
 -/* Initial values of argv and argc.  */
 -
 -extern char **initial_argv;
 -extern int initial_argc;
 -
 -extern Lisp_Object Vcommand_line_args, Vsystem_name;
 -
 -/* Tells if a window manager is present or not.  */
 -
 -extern Lisp_Object Vx_no_window_manager;
 -
 -extern Lisp_Object Qeql;
 -
 -extern int errno;
 -
 -/* A mask of extra modifier bits to put into every keyboard char.  */
 -
 -extern EMACS_INT extra_keyboard_modifiers;
 -
 -/* The keysyms to use for the various modifiers.  */
 -
 -Lisp_Object Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym, Vx_super_keysym;
 -Lisp_Object Vx_keysym_table;
  static Lisp_Object Qalt, Qhyper, Qmeta, Qsuper, Qmodifier_value;
  
  static Lisp_Object Qvendor_specific_keysyms;
@@@ -276,86 -332,65 +276,86 @@@ static Lisp_Object xg_default_icon_file
  Lisp_Object Qx_gtk_map_stock;
  #endif
  
 +/* Some functions take this as char *, not const char *.  */
 +static char emacs_class[] = EMACS_CLASS;
 +
 +enum xembed_info
 +  {
 +    XEMBED_MAPPED = 1 << 0
 +  };
 +
 +enum xembed_message
 +  {
 +    XEMBED_EMBEDDED_NOTIFY        = 0,
 +    XEMBED_WINDOW_ACTIVATE        = 1,
 +    XEMBED_WINDOW_DEACTIVATE      = 2,
 +    XEMBED_REQUEST_FOCUS          = 3,
 +    XEMBED_FOCUS_IN               = 4,
 +    XEMBED_FOCUS_OUT              = 5,
 +    XEMBED_FOCUS_NEXT             = 6,
 +    XEMBED_FOCUS_PREV             = 7,
 +
 +    XEMBED_MODALITY_ON            = 10,
 +    XEMBED_MODALITY_OFF           = 11,
 +    XEMBED_REGISTER_ACCELERATOR   = 12,
 +    XEMBED_UNREGISTER_ACCELERATOR = 13,
 +    XEMBED_ACTIVATE_ACCELERATOR   = 14
 +  };
 +
  /* Used in x_flush.  */
  
 -extern Lisp_Object Vinhibit_redisplay;
 -
 -extern XrmDatabase x_load_resources P_ ((Display *, char *, char *, char *));
 -extern int x_bitmap_mask P_ ((FRAME_PTR, int));
 -
 -static int x_alloc_nearest_color_1 P_ ((Display *, Colormap, XColor *));
 -static void x_set_window_size_1 P_ ((struct frame *, int, int, int));
 -static const XColor *x_color_cells P_ ((Display *, int *));
 -static void x_update_window_end P_ ((struct window *, int, int));
 -
 -static int x_io_error_quitter P_ ((Display *));
 -static struct terminal *x_create_terminal P_ ((struct x_display_info *));
 -void x_delete_terminal P_ ((struct terminal *));
 -static void x_update_end P_ ((struct frame *));
 -static void XTframe_up_to_date P_ ((struct frame *));
 -static void XTset_terminal_modes P_ ((struct terminal *));
 -static void XTreset_terminal_modes P_ ((struct terminal *));
 -static void x_clear_frame P_ ((struct frame *));
 -static void frame_highlight P_ ((struct frame *));
 -static void frame_unhighlight P_ ((struct frame *));
 -static void x_new_focus_frame P_ ((struct x_display_info *, struct frame *));
 -static void  x_focus_changed P_ ((int, int, struct x_display_info *,
 -                                struct frame *, struct input_event *));
 -static void x_detect_focus_change P_ ((struct x_display_info *,
 -                                       XEvent *, struct input_event *));
 -static void XTframe_rehighlight P_ ((struct frame *));
 -static void x_frame_rehighlight P_ ((struct x_display_info *));
 -static void x_draw_hollow_cursor P_ ((struct window *, struct glyph_row *));
 -static void x_draw_bar_cursor P_ ((struct window *, struct glyph_row *, int,
 -                                 enum text_cursor_kinds));
 -
 -static void x_clip_to_row P_ ((struct window *, struct glyph_row *, int, GC));
 -static void x_flush P_ ((struct frame *f));
 -static void x_update_begin P_ ((struct frame *));
 -static void x_update_window_begin P_ ((struct window *));
 -static void x_after_update_window_line P_ ((struct glyph_row *));
 -static struct scroll_bar *x_window_to_scroll_bar P_ ((Display *, Window));
 -static void x_scroll_bar_report_motion P_ ((struct frame **, Lisp_Object *,
 -                                          enum scroll_bar_part *,
 -                                          Lisp_Object *, Lisp_Object *,
 -                                          unsigned long *));
 -static void x_handle_net_wm_state P_ ((struct frame *, XPropertyEvent *));
 -static void x_check_fullscreen P_ ((struct frame *));
 -static void x_check_expected_move P_ ((struct frame *, int, int));
 -static void x_sync_with_move P_ ((struct frame *, int, int, int));
 -static int handle_one_xevent P_ ((struct x_display_info *, XEvent *,
 -                                int *, struct input_event *));
 +static int x_alloc_nearest_color_1 (Display *, Colormap, XColor *);
 +static void x_set_window_size_1 (struct frame *, int, int, int);
 +static const XColor *x_color_cells (Display *, int *);
 +static void x_update_window_end (struct window *, int, int);
 +
 +static int x_io_error_quitter (Display *);
 +static struct terminal *x_create_terminal (struct x_display_info *);
 +void x_delete_terminal (struct terminal *);
 +static void x_update_end (struct frame *);
 +static void XTframe_up_to_date (struct frame *);
 +static void XTset_terminal_modes (struct terminal *);
 +static void XTreset_terminal_modes (struct terminal *);
 +static void x_clear_frame (struct frame *);
 +static void x_ins_del_lines (struct frame *, int, int) NO_RETURN;
 +static void frame_highlight (struct frame *);
 +static void frame_unhighlight (struct frame *);
 +static void x_new_focus_frame (struct x_display_info *, struct frame *);
 +static void  x_focus_changed (int, int, struct x_display_info *,
 +                              struct frame *, struct input_event *);
 +static void x_detect_focus_change (struct x_display_info *,
 +                                   XEvent *, struct input_event *);
 +static void XTframe_rehighlight (struct frame *);
 +static void x_frame_rehighlight (struct x_display_info *);
 +static void x_draw_hollow_cursor (struct window *, struct glyph_row *);
 +static void x_draw_bar_cursor (struct window *, struct glyph_row *, int,
 +                               enum text_cursor_kinds);
 +
 +static void x_clip_to_row (struct window *, struct glyph_row *, int, GC);
 +static void x_flush (struct frame *f);
 +static void x_update_begin (struct frame *);
 +static void x_update_window_begin (struct window *);
 +static void x_after_update_window_line (struct glyph_row *);
 +static struct scroll_bar *x_window_to_scroll_bar (Display *, Window);
 +static void x_scroll_bar_report_motion (struct frame **, Lisp_Object *,
 +                                        enum scroll_bar_part *,
 +                                        Lisp_Object *, Lisp_Object *,
 +                                        unsigned long *);
 +static void x_handle_net_wm_state (struct frame *, XPropertyEvent *);
 +static void x_check_fullscreen (struct frame *);
 +static void x_check_expected_move (struct frame *, int, int);
 +static void x_sync_with_move (struct frame *, int, int, int);
 +static int handle_one_xevent (struct x_display_info *, XEvent *,
 +                              int *, struct input_event *);
  /* Don't declare this NO_RETURN because we want no
     interference with debugging failing X calls.  */
 -static SIGTYPE x_connection_closed P_ ((Display *, char *));
 +static void x_connection_closed (Display *, const char *);
  
  
  /* Flush display of frame F, or of all frames if F is null.  */
  
  static void
 -x_flush (f)
 -     struct frame *f;
 +x_flush (struct frame *f)
  {
    /* Don't call XFlush when it is not safe to redisplay; the X
       connection may be broken.  */
@@@ -405,8 -440,9 +405,8 @@@ struct record event_record[100]
  
  int event_record_index;
  
 -record_event (locus, type)
 -     char *locus;
 -     int type;
 +void
 +record_event (char *locus, int type)
  {
    if (event_record_index == sizeof (event_record) / sizeof (struct record))
      event_record_index = 0;
  /* Return the struct x_display_info corresponding to DPY.  */
  
  struct x_display_info *
 -x_display_info_for_display (dpy)
 -     Display *dpy;
 +x_display_info_for_display (Display *dpy)
  {
    struct x_display_info *dpyinfo;
  
  }
  
  #define OPAQUE  0xffffffff
 -#define OPACITY "_NET_WM_WINDOW_OPACITY"
  
  void
 -x_set_frame_alpha (f)
 -     struct frame *f;
 +x_set_frame_alpha (struct frame *f)
  {
    struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
    Display *dpy = FRAME_X_DISPLAY (f);
    if (FRAME_X_DISPLAY_INFO (f)->root_window != FRAME_X_OUTPUT (f)->parent_desc)
      /* Since the WM decoration lies under the FRAME_OUTER_WINDOW,
         we must treat the former instead of the latter. */
 -    win = FRAME_X_OUTPUT(f)->parent_desc;
 +    win = FRAME_X_OUTPUT (f)->parent_desc;
  
    if (dpyinfo->x_highlight_frame == f)
      alpha = f->alpha[0];
      unsigned long n, left;
  
      x_catch_errors (dpy);
 -    rc = XGetWindowProperty(dpy, win, XInternAtom(dpy, OPACITY, False),
 -                          0L, 1L, False, XA_CARDINAL,
 -                          &actual, &format, &n, &left,
 -                          &data);
 +    rc = XGetWindowProperty (dpy, win, dpyinfo->Xatom_net_wm_window_opacity,
 +                           0L, 1L, False, XA_CARDINAL,
 +                           &actual, &format, &n, &left,
 +                           &data);
  
      if (rc == Success && actual != None)
 -      if (*(unsigned long *)data == opac)
 -      {
 -        XFree ((void *) data);
 -        x_uncatch_errors ();
 -        return;
 -      }
 -      else
 +      {
 +        unsigned long value = *(unsigned long *)data;
        XFree ((void *) data);
 -    x_uncatch_errors ();
 +      if (value == opac)
 +        {
 +          x_uncatch_errors ();
 +          return;
 +        }
 +      }
    }
  
 -  x_catch_errors (dpy);
 -  XChangeProperty (dpy, win, XInternAtom (dpy, OPACITY, False),
 +  XChangeProperty (dpy, win, dpyinfo->Xatom_net_wm_window_opacity,
                   XA_CARDINAL, 32, PropModeReplace,
                   (unsigned char *) &opac, 1L);
    x_uncatch_errors ();
  }
  
  int
 -x_display_pixel_height (dpyinfo)
 -     struct x_display_info *dpyinfo;
 +x_display_pixel_height (struct x_display_info *dpyinfo)
  {
    return HeightOfScreen (dpyinfo->screen);
  }
  
  int
 -x_display_pixel_width (dpyinfo)
 -     struct x_display_info *dpyinfo;
 +x_display_pixel_width (struct x_display_info *dpyinfo)
  {
    return WidthOfScreen (dpyinfo->screen);
  }
     because all interesting stuff is done on a window basis.  */
  
  static void
 -x_update_begin (f)
 -     struct frame *f;
 +x_update_begin (struct frame *f)
  {
    /* Nothing to do.  */
  }
     position of W.  */
  
  static void
 -x_update_window_begin (w)
 -     struct window *w;
 +x_update_window_begin (struct window *w)
  {
    struct frame *f = XFRAME (WINDOW_FRAME (w));
 -  struct x_display_info *display_info = FRAME_X_DISPLAY_INFO (f);
 +  Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
  
    updated_window = w;
    set_output_cursor (&w->cursor);
  
    BLOCK_INPUT;
  
 -  if (f == display_info->mouse_face_mouse_frame)
 +  if (f == hlinfo->mouse_face_mouse_frame)
      {
        /* Don't do highlighting for mouse motion during the update.  */
 -      display_info->mouse_face_defer = 1;
 +      hlinfo->mouse_face_defer = 1;
  
        /* If F needs to be redrawn, simply forget about any prior mouse
         highlighting.  */
        if (FRAME_GARBAGED_P (f))
 -      display_info->mouse_face_window = Qnil;
 +      hlinfo->mouse_face_window = Qnil;
      }
  
    UNBLOCK_INPUT;
  /* Draw a vertical window border from (x,y0) to (x,y1)  */
  
  static void
 -x_draw_vertical_window_border (w, x, y0, y1)
 -     struct window *w;
 -     int x, y0, y1;
 +x_draw_vertical_window_border (struct window *w, int x, int y0, int y1)
  {
    struct frame *f = XFRAME (WINDOW_FRAME (w));
    struct face *face;
     here.  */
  
  static void
 -x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p)
 -     struct window *w;
 -     int cursor_on_p, mouse_face_overwritten_p;
 +x_update_window_end (struct window *w, int cursor_on_p, int mouse_face_overwritten_p)
  {
 -  struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (XFRAME (w->frame));
 +  Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (XFRAME (w->frame));
  
    if (!w->pseudo_window_p)
      {
       XTframe_up_to_date to redisplay the mouse highlight.  */
    if (mouse_face_overwritten_p)
      {
 -      dpyinfo->mouse_face_beg_row = dpyinfo->mouse_face_beg_col = -1;
 -      dpyinfo->mouse_face_end_row = dpyinfo->mouse_face_end_col = -1;
 -      dpyinfo->mouse_face_window = Qnil;
 +      hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
 +      hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
 +      hlinfo->mouse_face_window = Qnil;
      }
  
    updated_window = NULL;
     update_end.  */
  
  static void
 -x_update_end (f)
 -     struct frame *f;
 +x_update_end (struct frame *f)
  {
    /* Mouse highlight may be displayed again.  */
 -  FRAME_X_DISPLAY_INFO (f)->mouse_face_defer = 0;
 +  MOUSE_HL_INFO (f)->mouse_face_defer = 0;
  
  #ifndef XFlush
    BLOCK_INPUT;
     updated_window is not available here.  */
  
  static void
 -XTframe_up_to_date (f)
 -     struct frame *f;
 +XTframe_up_to_date (struct frame *f)
  {
    if (FRAME_X_P (f))
      {
 -      struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
 +      Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
  
 -      if (dpyinfo->mouse_face_deferred_gc
 -        || f == dpyinfo->mouse_face_mouse_frame)
 +      if (hlinfo->mouse_face_deferred_gc
 +        || f == hlinfo->mouse_face_mouse_frame)
        {
          BLOCK_INPUT;
 -        if (dpyinfo->mouse_face_mouse_frame)
 -          note_mouse_highlight (dpyinfo->mouse_face_mouse_frame,
 -                                dpyinfo->mouse_face_mouse_x,
 -                                dpyinfo->mouse_face_mouse_y);
 -        dpyinfo->mouse_face_deferred_gc = 0;
 +        if (hlinfo->mouse_face_mouse_frame)
 +          note_mouse_highlight (hlinfo->mouse_face_mouse_frame,
 +                                hlinfo->mouse_face_mouse_x,
 +                                hlinfo->mouse_face_mouse_y);
 +        hlinfo->mouse_face_deferred_gc = 0;
          UNBLOCK_INPUT;
        }
      }
     between bitmaps to be drawn between current row and DESIRED_ROW.  */
  
  static void
 -x_after_update_window_line (desired_row)
 -     struct glyph_row *desired_row;
 +x_after_update_window_line (struct glyph_row *desired_row)
  {
    struct window *w = updated_window;
    struct frame *f;
  }
  
  static void
 -x_draw_fringe_bitmap (w, row, p)
 -     struct window *w;
 -     struct glyph_row *row;
 -     struct draw_fringe_bitmap_params *p;
 +x_draw_fringe_bitmap (struct window *w, struct glyph_row *row, struct draw_fringe_bitmap_params *p)
  {
    struct frame *f = XFRAME (WINDOW_FRAME (w));
    Display *display = FRAME_X_DISPLAY (f);
  
    if (p->which)
      {
 -      unsigned char *bits;
 +      char *bits;
        Pixmap pixmap, clipmask = (Pixmap) 0;
        int depth = DefaultDepthOfScreen (FRAME_X_SCREEN (f));
        XGCValues gcv;
  
        if (p->wd > 8)
 -      bits = (unsigned char *)(p->bits + p->dh);
 +      bits = (char *) (p->bits + p->dh);
        else
 -      bits = (unsigned char *)p->bits + p->dh;
 +      bits = (char *) p->bits + p->dh;
  
        /* Draw the bitmap.  I believe these small pixmaps can be cached
         by the server.  */
@@@ -866,39 -920,37 +866,39 @@@ XTreset_terminal_modes (struct termina
  
  
  
 -static void x_set_glyph_string_clipping P_ ((struct glyph_string *));
 -static void x_set_glyph_string_gc P_ ((struct glyph_string *));
 -static void x_draw_glyph_string_background P_ ((struct glyph_string *,
 -                                              int));
 -static void x_draw_glyph_string_foreground P_ ((struct glyph_string *));
 -static void x_draw_composite_glyph_string_foreground P_ ((struct glyph_string *));
 -static void x_draw_glyph_string_box P_ ((struct glyph_string *));
 -static void x_draw_glyph_string  P_ ((struct glyph_string *));
 -static void x_compute_glyph_string_overhangs P_ ((struct glyph_string *));
 -static void x_set_cursor_gc P_ ((struct glyph_string *));
 -static void x_set_mode_line_face_gc P_ ((struct glyph_string *));
 -static void x_set_mouse_face_gc P_ ((struct glyph_string *));
 -static int x_alloc_lighter_color P_ ((struct frame *, Display *, Colormap,
 -                                    unsigned long *, double, int));
 -static void x_setup_relief_color P_ ((struct frame *, struct relief *,
 -                                    double, int, unsigned long));
 -static void x_setup_relief_colors P_ ((struct glyph_string *));
 -static void x_draw_image_glyph_string P_ ((struct glyph_string *));
 -static void x_draw_image_relief P_ ((struct glyph_string *));
 -static void x_draw_image_foreground P_ ((struct glyph_string *));
 -static void x_draw_image_foreground_1 P_ ((struct glyph_string *, Pixmap));
 -static void x_clear_glyph_string_rect P_ ((struct glyph_string *, int,
 -                                         int, int, int));
 -static void x_draw_relief_rect P_ ((struct frame *, int, int, int, int,
 -                                  int, int, int, int, int, int,
 -                                  XRectangle *));
 -static void x_draw_box_rect P_ ((struct glyph_string *, int, int, int, int,
 -                               int, int, int, XRectangle *));
 +static void x_set_glyph_string_clipping (struct glyph_string *);
 +static void x_set_glyph_string_gc (struct glyph_string *);
 +static void x_draw_glyph_string_background (struct glyph_string *,
 +                                            int);
 +static void x_draw_glyph_string_foreground (struct glyph_string *);
 +static void x_draw_composite_glyph_string_foreground (struct glyph_string *);
 +static void x_draw_glyph_string_box (struct glyph_string *);
 +static void x_draw_glyph_string  (struct glyph_string *);
 +static void x_delete_glyphs (struct frame *, int) NO_RETURN;
 +static void x_compute_glyph_string_overhangs (struct glyph_string *);
 +static void x_set_cursor_gc (struct glyph_string *);
 +static void x_set_mode_line_face_gc (struct glyph_string *);
 +static void x_set_mouse_face_gc (struct glyph_string *);
 +static int x_alloc_lighter_color (struct frame *, Display *, Colormap,
 +                                  unsigned long *, double, int);
 +static void x_setup_relief_color (struct frame *, struct relief *,
 +                                  double, int, unsigned long);
 +static void x_setup_relief_colors (struct glyph_string *);
 +static void x_draw_image_glyph_string (struct glyph_string *);
 +static void x_draw_image_relief (struct glyph_string *);
 +static void x_draw_image_foreground (struct glyph_string *);
 +static void x_draw_image_foreground_1 (struct glyph_string *, Pixmap);
 +static void x_clear_glyph_string_rect (struct glyph_string *, int,
 +                                       int, int, int);
 +static void x_draw_relief_rect (struct frame *, int, int, int, int,
 +                                int, int, int, int, int, int,
 +                                XRectangle *);
 +static void x_draw_box_rect (struct glyph_string *, int, int, int, int,
 +                             int, int, int, XRectangle *);
 +static void x_scroll_bar_clear (struct frame *);
  
  #if GLYPH_DEBUG
 -static void x_check_font P_ ((struct frame *, struct font *));
 +static void x_check_font (struct frame *, struct font *);
  #endif
  
  
     face.  */
  
  static void
 -x_set_cursor_gc (s)
 -     struct glyph_string *s;
 +x_set_cursor_gc (struct glyph_string *s)
  {
    if (s->font == FRAME_FONT (s->f)
        && s->face->background == FRAME_BACKGROUND_PIXEL (s->f)
  /* Set up S->gc of glyph string S for drawing text in mouse face.  */
  
  static void
 -x_set_mouse_face_gc (s)
 -     struct glyph_string *s;
 +x_set_mouse_face_gc (struct glyph_string *s)
  {
    int face_id;
    struct face *face;
  
    /* What face has to be used last for the mouse face?  */
 -  face_id = FRAME_X_DISPLAY_INFO (s->f)->mouse_face_face_id;
 +  face_id = MOUSE_HL_INFO (s->f)->mouse_face_face_id;
    face = FACE_FROM_ID (s->f, face_id);
    if (face == NULL)
      face = FACE_FROM_ID (s->f, MOUSE_FACE_ID);
     matrix was built, so there isn't much to do, here.  */
  
  static INLINE void
 -x_set_mode_line_face_gc (s)
 -     struct glyph_string *s;
 +x_set_mode_line_face_gc (struct glyph_string *s)
  {
    s->gc = s->face->gc;
  }
     pattern.  */
  
  static INLINE void
 -x_set_glyph_string_gc (s)
 -     struct glyph_string *s;
 +x_set_glyph_string_gc (struct glyph_string *s)
  {
    PREPARE_FACE_FOR_DISPLAY (s->f, s->face);
  
     line or menu if we don't have X toolkit support.  */
  
  static INLINE void
 -x_set_glyph_string_clipping (s)
 -     struct glyph_string *s;
 +x_set_glyph_string_clipping (struct glyph_string *s)
  {
    XRectangle *r = s->clip;
    int n = get_glyph_string_clip_rects (s, r, 2);
     the area of SRC.  */
  
  static void
 -x_set_glyph_string_clipping_exactly (src, dst)
 -     struct glyph_string *src, *dst;
 +x_set_glyph_string_clipping_exactly (struct glyph_string *src, struct glyph_string *dst)
  {
    XRectangle r;
  
     Compute left and right overhang of glyph string S.  */
  
  static void
 -x_compute_glyph_string_overhangs (s)
 -     struct glyph_string *s;
 +x_compute_glyph_string_overhangs (struct glyph_string *s)
  {
    if (s->cmp == NULL
        && (s->first_glyph->type == CHAR_GLYPH
  /* Fill rectangle X, Y, W, H with background color of glyph string S.  */
  
  static INLINE void
 -x_clear_glyph_string_rect (s, x, y, w, h)
 -     struct glyph_string *s;
 -     int x, y, w, h;
 +x_clear_glyph_string_rect (struct glyph_string *s, int x, int y, int w, int h)
  {
    XGCValues xgcv;
    XGetGCValues (s->display, s->gc, GCForeground | GCBackground, &xgcv);
     contains the first component of a composition.  */
  
  static void
 -x_draw_glyph_string_background (s, force_p)
 -     struct glyph_string *s;
 -     int force_p;
 +x_draw_glyph_string_background (struct glyph_string *s, int force_p)
  {
    /* Nothing to do if background has already been drawn or if it
       shouldn't be drawn in the first place.  */
  /* Draw the foreground of glyph string S.  */
  
  static void
 -x_draw_glyph_string_foreground (s)
 -     struct glyph_string *s;
 +x_draw_glyph_string_foreground (struct glyph_string *s)
  {
    int i, x;
  
  /* Draw the foreground of composite glyph string S.  */
  
  static void
 -x_draw_composite_glyph_string_foreground (s)
 -     struct glyph_string *s;
 +x_draw_composite_glyph_string_foreground (struct glyph_string *s)
  {
    int i, j, x;
    struct font *font = s->font;
  }
  
  
 +/* Draw the foreground of glyph string S for glyphless characters.  */
 +
 +static void
 +x_draw_glyphless_glyph_string_foreground (struct glyph_string *s)
 +{
 +  struct glyph *glyph = s->first_glyph;
 +  XChar2b char2b[8];
 +  int x, i, j;
 +
 +  /* If first glyph of S has a left box line, start drawing the text
 +     of S to the right of that box line.  */
 +  if (s->face && s->face->box != FACE_NO_BOX
 +      && s->first_glyph->left_box_line_p)
 +    x = s->x + eabs (s->face->box_line_width);
 +  else
 +    x = s->x;
 +
 +  s->char2b = char2b;
 +
 +  for (i = 0; i < s->nchars; i++, glyph++)
 +    {
 +      char buf[7], *str = NULL;
 +      int len = glyph->u.glyphless.len;
 +
 +      if (glyph->u.glyphless.method == GLYPHLESS_DISPLAY_ACRONYM)
 +      {
 +        if (len > 0
 +            && CHAR_TABLE_P (Vglyphless_char_display)
 +            && (CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (Vglyphless_char_display))
 +                >= 1))
 +          {
 +            Lisp_Object acronym
 +              = (! glyph->u.glyphless.for_no_font
 +                 ? CHAR_TABLE_REF (Vglyphless_char_display,
 +                                   glyph->u.glyphless.ch)
 +                 : XCHAR_TABLE (Vglyphless_char_display)->extras[0]);
 +            if (STRINGP (acronym))
 +              str = SSDATA (acronym);
 +          }
 +      }
 +      else if (glyph->u.glyphless.method == GLYPHLESS_DISPLAY_HEX_CODE)
 +      {
 +        sprintf ((char *) buf, "%0*X",
 +                 glyph->u.glyphless.ch < 0x10000 ? 4 : 6,
 +                 glyph->u.glyphless.ch);
 +        str = buf;
 +      }
 +
 +      if (str)
 +      {
 +        int upper_len = (len + 1) / 2;
 +        unsigned code;
 +
 +        /* It is assured that all LEN characters in STR is ASCII.  */
 +        for (j = 0; j < len; j++)
 +          {
 +            code = s->font->driver->encode_char (s->font, str[j]);
 +            STORE_XCHAR2B (char2b + j, code >> 8, code & 0xFF);
 +          }
 +        s->font->driver->draw (s, 0, upper_len,
 +                               x + glyph->slice.glyphless.upper_xoff,
 +                               s->ybase + glyph->slice.glyphless.upper_yoff,
 +                               0);
 +        s->font->driver->draw (s, upper_len, len,
 +                               x + glyph->slice.glyphless.lower_xoff,
 +                               s->ybase + glyph->slice.glyphless.lower_yoff,
 +                               0);
 +      }
 +      if (glyph->u.glyphless.method != GLYPHLESS_DISPLAY_THIN_SPACE)
 +      XDrawRectangle (s->display, s->window, s->gc,
 +                      x, s->ybase - glyph->ascent,
 +                      glyph->pixel_width - 1,
 +                      glyph->ascent + glyph->descent - 1);
 +      x += glyph->pixel_width;
 +   }
 +}
 +
  #ifdef USE_X_TOOLKIT
  
 -static struct frame *x_frame_of_widget P_ ((Widget));
 -static Boolean cvt_string_to_pixel P_ ((Display *, XrmValue *, Cardinal *,
 -                                      XrmValue *, XrmValue *, XtPointer *));
 -static void cvt_pixel_dtor P_ ((XtAppContext, XrmValue *, XtPointer,
 -                              XrmValue *, Cardinal *));
 +static struct frame *x_frame_of_widget (Widget);
 +static Boolean cvt_string_to_pixel (Display *, XrmValue *, Cardinal *,
 +                                    XrmValue *, XrmValue *, XtPointer *);
 +static void cvt_pixel_dtor (XtAppContext, XrmValue *, XtPointer,
 +                            XrmValue *, Cardinal *);
  
  
  /* Return the frame on which widget WIDGET is used.. Abort if frame
     cannot be determined.  */
  
  static struct frame *
 -x_frame_of_widget (widget)
 -     Widget widget;
 +x_frame_of_widget (Widget widget)
  {
    struct x_display_info *dpyinfo;
    Lisp_Object tail;
     if successful.  This is called from lwlib.  */
  
  int
 -x_alloc_nearest_color_for_widget (widget, cmap, color)
 -     Widget widget;
 -     Colormap cmap;
 -     XColor *color;
 +x_alloc_nearest_color_for_widget (Widget widget, Colormap cmap, XColor *color)
  {
    struct frame *f = x_frame_of_widget (widget);
    return x_alloc_nearest_color (f, cmap, color);
     Value is non-zero if successful.  */
  
  int
 -x_alloc_lighter_color_for_widget (widget, display, cmap, pixel, factor, delta)
 -     Widget widget;
 -     Display *display;
 -     Colormap cmap;
 -     unsigned long *pixel;
 -     double factor;
 -     int delta;
 +x_alloc_lighter_color_for_widget (Widget widget, Display *display, Colormap cmap,
 +                                unsigned long *pixel, double factor, int delta)
  {
    struct frame *f = x_frame_of_widget (widget);
    return x_alloc_lighter_color (f, display, cmap, pixel, factor, delta);
@@@ -1508,9 -1505,12 +1508,9 @@@ static Pixel cvt_string_to_pixel_value
     Value is True if successful, False otherwise.  */
  
  static Boolean
 -cvt_string_to_pixel (dpy, args, nargs, from, to, closure_ret)
 -     Display *dpy;
 -     XrmValue *args;
 -     Cardinal *nargs;
 -     XrmValue *from, *to;
 -     XtPointer *closure_ret;
 +cvt_string_to_pixel (Display *dpy, XrmValue *args, Cardinal *nargs,
 +                   XrmValue *from, XrmValue *to,
 +                   XtPointer *closure_ret)
  {
    Screen *screen;
    Colormap cmap;
     ARGS and NARGS are like for cvt_string_to_pixel.  */
  
  static void
 -cvt_pixel_dtor (app, to, closure, args, nargs)
 -    XtAppContext app;
 -    XrmValuePtr to;
 -    XtPointer closure;
 -    XrmValuePtr args;
 -    Cardinal *nargs;
 +cvt_pixel_dtor (XtAppContext app, XrmValuePtr to, XtPointer closure, XrmValuePtr args,
 +              Cardinal *nargs)
  {
    if (*nargs != 2)
      {
     say a 24-bit TrueColor map.  */
  
  static const XColor *
 -x_color_cells (dpy, ncells)
 -     Display *dpy;
 -     int *ncells;
 +x_color_cells (Display *dpy, int *ncells)
  {
    struct x_display_info *dpyinfo = x_display_info_for_display (dpy);
  
     colors in COLORS.  Use cached information, if available.  */
  
  void
 -x_query_colors (f, colors, ncolors)
 -     struct frame *f;
 -     XColor *colors;
 -     int ncolors;
 +x_query_colors (struct frame *f, XColor *colors, int ncolors)
  {
    struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
  
     COLOR.  Use cached information, if available.  */
  
  void
 -x_query_color (f, color)
 -     struct frame *f;
 -     XColor *color;
 +x_query_color (struct frame *f, XColor *color)
  {
    x_query_colors (f, color, 1);
  }
     allocated.  */
  
  static int
 -x_alloc_nearest_color_1 (dpy, cmap, color)
 -     Display *dpy;
 -     Colormap cmap;
 -     XColor *color;
 +x_alloc_nearest_color_1 (Display *dpy, Colormap cmap, XColor *color)
  {
    int rc;
  
         a least-squares matching, which is what X uses for closest
         color matching with StaticColor visuals.  */
        int nearest, i;
 -      unsigned long nearest_delta = ~0;
 +      unsigned long nearest_delta = ~ (unsigned long) 0;
        int ncells;
        const XColor *cells = x_color_cells (dpy, &ncells);
  
     allocated.  */
  
  int
 -x_alloc_nearest_color (f, cmap, color)
 -     struct frame *f;
 -     Colormap cmap;
 -     XColor *color;
 +x_alloc_nearest_color (struct frame *f, Colormap cmap, XColor *color)
  {
    gamma_correct (f, color);
    return x_alloc_nearest_color_1 (FRAME_X_DISPLAY (f), cmap, color);
     get color reference counts right.  */
  
  unsigned long
 -x_copy_color (f, pixel)
 -     struct frame *f;
 -     unsigned long pixel;
 +x_copy_color (struct frame *f, long unsigned int pixel)
  {
    XColor color;
  
  }
  
  
 -/* Allocate color PIXEL on display DPY.  PIXEL must already be allocated.
 -   It's necessary to do this instead of just using PIXEL directly to
 -   get color reference counts right.  */
 -
 -unsigned long
 -x_copy_dpy_color (dpy, cmap, pixel)
 -     Display *dpy;
 -     Colormap cmap;
 -     unsigned long pixel;
 -{
 -  XColor color;
 -
 -  color.pixel = pixel;
 -  BLOCK_INPUT;
 -  XQueryColor (dpy, cmap, &color);
 -  XAllocColor (dpy, cmap, &color);
 -  UNBLOCK_INPUT;
 -#ifdef DEBUG_X_COLORS
 -  register_color (pixel);
 -#endif
 -  return color.pixel;
 -}
 -
 -
  /* Brightness beyond which a color won't have its highlight brightness
     boosted.
  
     Value is non-zero if successful.  */
  
  static int
 -x_alloc_lighter_color (f, display, cmap, pixel, factor, delta)
 -     struct frame *f;
 -     Display *display;
 -     Colormap cmap;
 -     unsigned long *pixel;
 -     double factor;
 -     int delta;
 +x_alloc_lighter_color (struct frame *f, Display *display, Colormap cmap, long unsigned int *pixel, double factor, int delta)
  {
    XColor color, new;
    long bright;
     be allocated, use DEFAULT_PIXEL, instead.  */
  
  static void
 -x_setup_relief_color (f, relief, factor, delta, default_pixel)
 -     struct frame *f;
 -     struct relief *relief;
 -     double factor;
 -     int delta;
 -     unsigned long default_pixel;
 +x_setup_relief_color (struct frame *f, struct relief *relief, double factor, int delta, long unsigned int default_pixel)
  {
    XGCValues xgcv;
    struct x_output *di = f->output_data.x;
  /* Set up colors for the relief lines around glyph string S.  */
  
  static void
 -x_setup_relief_colors (s)
 -     struct glyph_string *s;
 +x_setup_relief_colors (struct glyph_string *s)
  {
    struct x_output *di = s->f->output_data.x;
    unsigned long color;
     when drawing.  */
  
  static void
 -x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width,
 -                  raised_p, top_p, bot_p, left_p, right_p, clip_rect)
 -     struct frame *f;
 -     int left_x, top_y, right_x, bottom_y, width;
 -     int top_p, bot_p, left_p, right_p, raised_p;
 -     XRectangle *clip_rect;
 +x_draw_relief_rect (struct frame *f,
 +                  int left_x, int top_y, int right_x, int bottom_y, int width,
 +                  int raised_p, int top_p, int bot_p, int left_p, int right_p,
 +                  XRectangle *clip_rect)
  {
    Display *dpy = FRAME_X_DISPLAY (f);
    Window window = FRAME_X_WINDOW (f);
      gc = f->output_data.x->black_relief.gc;
    XSetClipRectangles (dpy, gc, 0, 0, clip_rect, 1, Unsorted);
  
 +  /* This code is more complicated than it has to be, because of two
 +     minor hacks to make the boxes look nicer: (i) if width > 1, draw
 +     the outermost line using the black relief.  (ii) Omit the four
 +     corner pixels.  */
 +
    /* Top.  */
    if (top_p)
 -    for (i = 0; i < width; ++i)
 -      XDrawLine (dpy, window, gc,
 -               left_x + i * left_p, top_y + i,
 -               right_x + 1 - i * right_p, top_y + i);
 +    {
 +      if (width == 1)
 +      XDrawLine (dpy, window, gc,
 +                 left_x  + (left_p  ? 1 : 0), top_y,
 +                 right_x + (right_p ? 0 : 1), top_y);
 +
 +      for (i = 1; i < width; ++i)
 +      XDrawLine (dpy, window, gc,
 +                 left_x  + i * left_p, top_y + i,
 +                 right_x + 1 - i * right_p, top_y + i);
 +    }
  
    /* Left.  */
    if (left_p)
 -    for (i = 0; i < width; ++i)
 -      XDrawLine (dpy, window, gc,
 -               left_x + i, top_y + i, left_x + i, bottom_y - i + 1);
 +    {
 +      if (width == 1)
 +      XDrawLine (dpy, window, gc, left_x, top_y + 1, left_x, bottom_y);
 +
 +      XClearArea (dpy, window, left_x, top_y, 1, 1, False);
 +      XClearArea (dpy, window, left_x, bottom_y, 1, 1, False);
 +
 +      for (i = (width > 1 ? 1 : 0); i < width; ++i)
 +      XDrawLine (dpy, window, gc,
 +                 left_x + i, top_y + i, left_x + i, bottom_y - i + 1);
 +    }
  
    XSetClipMask (dpy, gc, None);
    if (raised_p)
      gc = f->output_data.x->white_relief.gc;
    XSetClipRectangles (dpy, gc, 0, 0, clip_rect, 1, Unsorted);
  
 +  if (width > 1)
 +    {
 +      /* Outermost top line.  */
 +      if (top_p)
 +      XDrawLine (dpy, window, gc,
 +                 left_x  + (left_p  ? 1 : 0), top_y,
 +                 right_x + (right_p ? 0 : 1), top_y);
 +
 +      /* Outermost left line.  */
 +      if (left_p)
 +      XDrawLine (dpy, window, gc, left_x, top_y + 1, left_x, bottom_y);
 +    }
 +
    /* Bottom.  */
    if (bot_p)
 -    for (i = 0; i < width; ++i)
 +    {
        XDrawLine (dpy, window, gc,
 -               left_x + i * left_p, bottom_y - i,
 -               right_x + 1 - i * right_p, bottom_y - i);
 +               left_x  + (left_p  ? 1 : 0), bottom_y,
 +               right_x + (right_p ? 0 : 1), bottom_y);
 +      for (i = 1; i < width; ++i)
 +      XDrawLine (dpy, window, gc,
 +                 left_x  + i * left_p, bottom_y - i,
 +                 right_x + 1 - i * right_p, bottom_y - i);
 +    }
  
    /* Right.  */
    if (right_p)
 -    for (i = 0; i < width; ++i)
 -      XDrawLine (dpy, window, gc,
 -               right_x - i, top_y + i + 1, right_x - i, bottom_y - i);
 +    {
 +      XClearArea (dpy, window, right_x, top_y, 1, 1, False);
 +      XClearArea (dpy, window, right_x, bottom_y, 1, 1, False);
 +      for (i = 0; i < width; ++i)
 +      XDrawLine (dpy, window, gc,
 +                 right_x - i, top_y + i + 1, right_x - i, bottom_y - i);
 +    }
  
    XSetClipMask (dpy, gc, None);
  }
     rectangle to use when drawing.  */
  
  static void
 -x_draw_box_rect (s, left_x, top_y, right_x, bottom_y, width,
 -               left_p, right_p, clip_rect)
 -     struct glyph_string *s;
 -     int left_x, top_y, right_x, bottom_y, width, left_p, right_p;
 -     XRectangle *clip_rect;
 +x_draw_box_rect (struct glyph_string *s,
 +               int left_x, int top_y, int right_x, int bottom_y, int width,
 +               int left_p, int right_p, XRectangle *clip_rect)
  {
    XGCValues xgcv;
  
  /* Draw a box around glyph string S.  */
  
  static void
 -x_draw_glyph_string_box (s)
 -     struct glyph_string *s;
 +x_draw_glyph_string_box (struct glyph_string *s)
  {
    int width, left_x, right_x, top_y, bottom_y, last_x, raised_p;
    int left_p, right_p;
  /* Draw foreground of image glyph string S.  */
  
  static void
 -x_draw_image_foreground (s)
 -     struct glyph_string *s;
 +x_draw_image_foreground (struct glyph_string *s)
  {
    int x = s->x;
    int y = s->ybase - image_ascent (s->img, s->face, &s->slice);
             nothing here for mouse-face.  */
          if (s->hl == DRAW_CURSOR)
            {
 -            int r = s->img->relief;
 -            if (r < 0) r = -r;
 +            int relief = s->img->relief;
 +            if (relief < 0) relief = -relief;
              XDrawRectangle (s->display, s->window, s->gc,
 -                            x - r, y - r,
 -                            s->slice.width + r*2 - 1,
 -                            s->slice.height + r*2 - 1);
 +                            x - relief, y - relief,
 +                            s->slice.width + relief*2 - 1,
 +                            s->slice.height + relief*2 - 1);
            }
        }
      }
  /* Draw a relief around the image glyph string S.  */
  
  static void
 -x_draw_image_relief (s)
 -     struct glyph_string *s;
 +x_draw_image_relief (struct glyph_string *s)
  {
 -  int x0, y0, x1, y1, thick, raised_p;
 +  int x0, y0, x1, y1, thick, raised_p, extra;
    XRectangle r;
    int x = s->x;
    int y = s->ybase - image_ascent (s->img, s->face, &s->slice);
        raised_p = s->img->relief > 0;
      }
  
 -  x0 = x - thick;
 -  y0 = y - thick;
 -  x1 = x + s->slice.width + thick - 1;
 -  y1 = y + s->slice.height + thick - 1;
 +  extra = s->face->id == TOOL_BAR_FACE_ID
 +    ? XINT (Vtool_bar_button_margin) : 0;
 +
 +  x0 = x - thick - extra;
 +  y0 = y - thick - extra;
 +  x1 = x + s->slice.width + thick - 1 + extra;
 +  y1 = y + s->slice.height + thick - 1 + extra;
  
    x_setup_relief_colors (s);
    get_glyph_string_clip_rect (s, &r);
  /* Draw the foreground of image glyph string S to PIXMAP.  */
  
  static void
 -x_draw_image_foreground_1 (s, pixmap)
 -     struct glyph_string *s;
 -     Pixmap pixmap;
 +x_draw_image_foreground_1 (struct glyph_string *s, Pixmap pixmap)
  {
    int x = 0;
    int y = s->ybase - s->y - image_ascent (s->img, s->face, &s->slice);
     give the rectangle to draw.  */
  
  static void
 -x_draw_glyph_string_bg_rect (s, x, y, w, h)
 -     struct glyph_string *s;
 -     int x, y, w, h;
 +x_draw_glyph_string_bg_rect (struct glyph_string *s, int x, int y, int w, int h)
  {
    if (s->stippled_p)
      {
   */
  
  static void
 -x_draw_image_glyph_string (s)
 -     struct glyph_string *s;
 +x_draw_image_glyph_string (struct glyph_string *s)
  {
    int box_line_hwidth = eabs (s->face->box_line_width);
    int box_line_vwidth = max (s->face->box_line_width, 0);
  /* Draw stretch glyph string S.  */
  
  static void
 -x_draw_stretch_glyph_string (s)
 -     struct glyph_string *s;
 +x_draw_stretch_glyph_string (struct glyph_string *s)
  {
    xassert (s->first_glyph->type == STRETCH_GLYPH);
  
    if (s->hl == DRAW_CURSOR
        && !x_stretch_cursor_p)
      {
 -      /* If `x-stretch-block-cursor' is nil, don't draw a block cursor
 -       as wide as the stretch glyph.  */
 +      /* If `x-stretch-cursor' is nil, don't draw a block cursor as
 +       wide as the stretch glyph.  */
        int width, background_width = s->background_width;
 -      int x = s->x, left_x = window_box_left_offset (s->w, TEXT_AREA);
 +      int x = s->x;
  
 -      if (x < left_x)
 +      if (!s->row->reversed_p)
        {
 -        background_width -= left_x - x;
 -        x = left_x;
 +        int left_x = window_box_left_offset (s->w, TEXT_AREA);
 +
 +        if (x < left_x)
 +          {
 +            background_width -= left_x - x;
 +            x = left_x;
 +          }
 +      }
 +      else
 +      {
 +        /* In R2L rows, draw the cursor on the right edge of the
 +           stretch glyph.  */
 +        int right_x = window_box_right_offset (s->w, TEXT_AREA);
 +
 +        if (x + background_width > right_x)
 +          background_width -= x - right_x;
 +        x += background_width;
        }
        width = min (FRAME_COLUMN_WIDTH (s->f), background_width);
 +      if (s->row->reversed_p)
 +      x -= width;
  
        /* Draw cursor.  */
        x_draw_glyph_string_bg_rect (s, x, s->y, width, s->height);
          XRectangle r;
          GC gc;
  
 -        x += width;
 +        if (!s->row->reversed_p)
 +          x += width;
 +        else
 +          x = s->x;
          if (s->row->mouse_face_p
              && cursor_in_mouse_face_p (s->w))
            {
  /* Draw glyph string S.  */
  
  static void
 -x_draw_glyph_string (s)
 -     struct glyph_string *s;
 +x_draw_glyph_string (struct glyph_string *s)
  {
    int relief_drawn_p = 0;
  
        x_draw_composite_glyph_string_foreground (s);
        break;
  
 +    case GLYPHLESS_GLYPH:
 +      if (s->for_overlaps)
 +      s->background_filled_p = 1;
 +      else
 +      x_draw_glyph_string_background (s, 1);
 +      x_draw_glyphless_glyph_string_foreground (s);
 +      break;
 +
      default:
        abort ();
      }
  
  /* Shift display to make room for inserted glyphs.   */
  
 -void
 -x_shift_glyphs_for_insert (f, x, y, width, height, shift_by)
 -     struct frame *f;
 -     int x, y, width, height, shift_by;
 +static void
 +x_shift_glyphs_for_insert (struct frame *f, int x, int y, int width, int height, int shift_by)
  {
    XCopyArea (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), FRAME_X_WINDOW (f),
             f->output_data.x->normal_gc,
     for X frames.  */
  
  static void
 -x_delete_glyphs (f, n)
 -     struct frame *f;
 -     register int n;
 +x_delete_glyphs (struct frame *f, register int n)
  {
    abort ();
  }
     If they are <= 0, this is probably an error.  */
  
  void
 -x_clear_area (dpy, window, x, y, width, height, exposures)
 -     Display *dpy;
 -     Window window;
 -     int x, y;
 -     int width, height;
 -     int exposures;
 +x_clear_area (Display *dpy, Window window, int x, int y, int width, int height, int exposures)
  {
    xassert (width > 0 && height > 0);
    XClearArea (dpy, window, x, y, width, height, exposures);
@@@ -2928,23 -2933,18 +2928,23 @@@ x_clear_frame (struct frame *f
    /* We don't set the output cursor here because there will always
       follow an explicit cursor_to.  */
    BLOCK_INPUT;
 -  XClearWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f));
  
 -  /* We have to clear the scroll bars, too.  If we have changed
 -     colors or something like that, then they should be notified.  */
 +  /* The following calls have been commented out because they do not
 +     seem to accomplish anything, apart from causing flickering during
 +     window resize.  */
 +  /* XClearWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f)); */
 +
 +  /* We have to clear the scroll bars.  If we have changed colors or
 +     something like that, then they should be notified.  */
    x_scroll_bar_clear (f);
  
  #if defined (USE_GTK) && defined (USE_TOOLKIT_SCROLL_BARS)
    /* Make sure scroll bars are redrawn.  As they aren't redrawn by
       redisplay, do it here.  */
 -  gtk_widget_queue_draw (FRAME_GTK_WIDGET (f));
 +  if (FRAME_GTK_WIDGET (f))
 +    gtk_widget_queue_draw (FRAME_GTK_WIDGET (f));
  #endif
 -  
 +
    XFlush (FRAME_X_DISPLAY (f));
  
    UNBLOCK_INPUT;
     *RESULT.  Return 1 if the difference is negative, otherwise 0.  */
  
  static int
 -timeval_subtract (result, x, y)
 -     struct timeval *result, x, y;
 +timeval_subtract (struct timeval *result, struct timeval x, struct timeval y)
  {
    /* Perform the carry for the later subtraction by updating y.  This
       is safer because on some systems the tv_sec member is unsigned.  */
    return x.tv_sec < y.tv_sec;
  }
  
 -void
 -XTflash (f)
 -     struct frame *f;
 +static void
 +XTflash (struct frame *f)
  {
    BLOCK_INPUT;
  
  #ifdef USE_GTK
      /* Use Gdk routines to draw.  This way, we won't draw over scroll bars
         when the scroll bars and the edit widget share the same X window.  */
 +    GdkWindow *window = gtk_widget_get_window (FRAME_GTK_WIDGET (f));
 +#ifdef HAVE_GTK3
 +    cairo_t *cr = gdk_cairo_create (window);
 +    cairo_set_source_rgb (cr, 1, 1, 1);
 +    cairo_set_operator (cr, CAIRO_OPERATOR_DIFFERENCE);
 +#define XFillRectangle(d, win, gc, x, y, w, h) \
 +    do {                                       \
 +      cairo_rectangle (cr, x, y, w, h);        \
 +      cairo_fill (cr);                         \
 +    }                                          \
 +    while (0)
 +#else /* ! HAVE_GTK3 */
      GdkGCValues vals;
      GdkGC *gc;
      vals.foreground.pixel = (FRAME_FOREGROUND_PIXEL (f)
                               ^ FRAME_BACKGROUND_PIXEL (f));
      vals.function = GDK_XOR;
 -    gc = gdk_gc_new_with_values (FRAME_GTK_WIDGET (f)->window,
 -                                 &vals,
 -                                 GDK_GC_FUNCTION
 -                                 | GDK_GC_FOREGROUND);
 +    gc = gdk_gc_new_with_values (window,
 +                                 &vals, GDK_GC_FUNCTION | GDK_GC_FOREGROUND);
  #define XFillRectangle(d, win, gc, x, y, w, h) \
 -    gdk_draw_rectangle (FRAME_GTK_WIDGET (f)->window, \
 -                        gc, TRUE, x, y, w, h)
 -#else
 +    gdk_draw_rectangle (window, gc, TRUE, x, y, w, h)
 +#endif /* ! HAVE_GTK3 */
 +#else /* ! USE_GTK */
      GC gc;
  
      /* Create a GC that will use the GXxor function to flip foreground
                        width, height - 2 * FRAME_INTERNAL_BORDER_WIDTH (f));
  
  #ifdef USE_GTK
 +#ifdef HAVE_GTK3
 +      cairo_destroy (cr);
 +#else
        g_object_unref (G_OBJECT (gc));
 +#endif
  #undef XFillRectangle
  #else
        XFreeGC (FRAME_X_DISPLAY (f), gc);
  
  
  static void
 -XTtoggle_invisible_pointer (f, invisible)
 -     FRAME_PTR f;
 -     int invisible;
 +XTtoggle_invisible_pointer (FRAME_PTR f, int invisible)
  {
    BLOCK_INPUT;
 -  if (invisible) 
 +  if (invisible)
      {
        if (FRAME_X_DISPLAY_INFO (f)->invisible_cursor != 0)
          XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
  
  /* Make audible bell.  */
  
 -void
 -XTring_bell ()
 +static void
 +XTring_bell (struct frame *f)
  {
 -  struct frame *f = SELECTED_FRAME ();
 -
    if (FRAME_X_DISPLAY (f))
      {
  #if defined (HAVE_TIMEVAL) && defined (HAVE_SELECT)
     that is bounded by calls to x_update_begin and x_update_end.  */
  
  static void
 -XTset_terminal_window (n)
 -     register int n;
 +XTset_terminal_window (struct frame *f, int n)
  {
    /* This function intentionally left blank.  */
  }
     lines or deleting -N lines at vertical position VPOS.  */
  
  static void
 -x_ins_del_lines (f, vpos, n)
 -     struct frame *f;
 -     int vpos, n;
 +x_ins_del_lines (struct frame *f, int vpos, int n)
  {
    abort ();
  }
  /* Scroll part of the display as described by RUN.  */
  
  static void
 -x_scroll_run (w, run)
 -     struct window *w;
 -     struct run *run;
 +x_scroll_run (struct window *w, struct run *run)
  {
    struct frame *f = XFRAME (w->frame);
    int x, y, width, height, from_y, to_y, bottom_y;
  
  \f
  static void
 -frame_highlight (f)
 -     struct frame *f;
 +frame_highlight (struct frame *f)
  {
    /* We used to only do this if Vx_no_window_manager was non-nil, but
       the ICCCM (section 4.1.6) says that the window's border pixmap
  }
  
  static void
 -frame_unhighlight (f)
 -     struct frame *f;
 +frame_unhighlight (struct frame *f)
  {
    /* We used to only do this if Vx_no_window_manager was non-nil, but
       the ICCCM (section 4.1.6) says that the window's border pixmap
     Lisp code can tell when the switch took place by examining the events.  */
  
  static void
 -x_new_focus_frame (dpyinfo, frame)
 -     struct x_display_info *dpyinfo;
 -     struct frame *frame;
 +x_new_focus_frame (struct x_display_info *dpyinfo, struct frame *frame)
  {
    struct frame *old_focus = dpyinfo->x_focus_frame;
  
     a FOCUS_IN_EVENT into *BUFP.  */
  
  static void
 -x_focus_changed (type, state, dpyinfo, frame, bufp)
 -     int type;
 -     int state;
 -     struct x_display_info *dpyinfo;
 -     struct frame *frame;
 -     struct input_event *bufp;
 +x_focus_changed (int type, int state, struct x_display_info *dpyinfo, struct frame *frame, struct input_event *bufp)
  {
    if (type == FocusIn)
      {
     Returns FOCUS_IN_EVENT event in *BUFP. */
  
  static void
 -x_detect_focus_change (dpyinfo, event, bufp)
 -     struct x_display_info *dpyinfo;
 -     XEvent *event;
 -     struct input_event *bufp;
 +x_detect_focus_change (struct x_display_info *dpyinfo, XEvent *event, struct input_event *bufp)
  {
    struct frame *frame;
  
  /* Handle an event saying the mouse has moved out of an Emacs frame.  */
  
  void
 -x_mouse_leave (dpyinfo)
 -     struct x_display_info *dpyinfo;
 +x_mouse_leave (struct x_display_info *dpyinfo)
  {
    x_new_focus_frame (dpyinfo, dpyinfo->x_focus_event_frame);
  }
     the appropriate X display info.  */
  
  static void
 -XTframe_rehighlight (frame)
 -     struct frame *frame;
 +XTframe_rehighlight (struct frame *frame)
  {
    x_frame_rehighlight (FRAME_X_DISPLAY_INFO (frame));
  }
  
  static void
 -x_frame_rehighlight (dpyinfo)
 -     struct x_display_info *dpyinfo;
 +x_frame_rehighlight (struct x_display_info *dpyinfo)
  {
    struct frame *old_highlight = dpyinfo->x_highlight_frame;
  
  
  /* Initialize mode_switch_bit and modifier_meaning.  */
  static void
 -x_find_modifier_meanings (dpyinfo)
 -     struct x_display_info *dpyinfo;
 +x_find_modifier_meanings (struct x_display_info *dpyinfo)
  {
    int min_code, max_code;
    KeySym *syms;
     Emacs uses.  */
  
  unsigned int
 -x_x_to_emacs_modifiers (dpyinfo, state)
 -     struct x_display_info *dpyinfo;
 -     unsigned int state;
 +x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, unsigned int state)
  {
    EMACS_UINT mod_meta = meta_modifier;
    EMACS_UINT mod_alt  = alt_modifier;
  }
  
  static unsigned int
 -x_emacs_to_x_modifiers (dpyinfo, state)
 -     struct x_display_info *dpyinfo;
 -     unsigned int state;
 +x_emacs_to_x_modifiers (struct x_display_info *dpyinfo, unsigned int state)
  {
    EMACS_UINT mod_meta = meta_modifier;
    EMACS_UINT mod_alt  = alt_modifier;
  /* Convert a keysym to its name.  */
  
  char *
 -x_get_keysym_name (keysym)
 -     KeySym keysym;
 +x_get_keysym_name (int keysym)
  {
    char *value;
  
     the mouse.  */
  
  static Lisp_Object
 -construct_mouse_click (result, event, f)
 -     struct input_event *result;
 -     XButtonEvent *event;
 -     struct frame *f;
 +construct_mouse_click (struct input_event *result, XButtonEvent *event, struct frame *f)
  {
    /* Make the event type NO_EVENT; we'll change that when we decide
       otherwise.  */
@@@ -3730,7 -3751,9 +3730,7 @@@ static XMotionEvent last_mouse_motion_e
  static Lisp_Object last_mouse_motion_frame;
  
  static int
 -note_mouse_movement (frame, event)
 -     FRAME_PTR frame;
 -     XMotionEvent *event;
 +note_mouse_movement (FRAME_PTR frame, XMotionEvent *event)
  {
    last_mouse_movement_time = event->time;
    last_mouse_motion_event = *event;
   ************************************************************************/
  
  static void
 -redo_mouse_highlight ()
 +redo_mouse_highlight (void)
  {
    if (!NILP (last_mouse_motion_frame)
        && FRAME_LIVE_P (XFRAME (last_mouse_motion_frame)))
     mouse is on, *BAR_WINDOW to nil, and *X and *Y to the character cell
     the mouse is over.
  
 -   Set *TIME to the server time-stamp for the time at which the mouse
 +   Set *TIMESTAMP to the server time-stamp for the time at which the mouse
     was at this position.
  
     Don't store anything if we don't have a valid set of values to report.
     movement.  */
  
  static void
 -XTmouse_position (fp, insist, bar_window, part, x, y, time)
 -     FRAME_PTR *fp;
 -     int insist;
 -     Lisp_Object *bar_window;
 -     enum scroll_bar_part *part;
 -     Lisp_Object *x, *y;
 -     unsigned long *time;
 +XTmouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window,
 +                enum scroll_bar_part *part, Lisp_Object *x, Lisp_Object *y,
 +                long unsigned int *timestamp)
  {
    FRAME_PTR f1;
  
    BLOCK_INPUT;
  
    if (! NILP (last_mouse_scroll_bar) && insist == 0)
 -    x_scroll_bar_report_motion (fp, bar_window, part, x, y, time);
 +    x_scroll_bar_report_motion (fp, bar_window, part, x, y, timestamp);
    else
      {
        Window root;
            *fp = f1;
            XSETINT (*x, win_x);
            XSETINT (*y, win_y);
 -          *time = last_mouse_movement_time;
 +          *timestamp = last_mouse_movement_time;
          }
        }
      }
     bits.  */
  
  static struct scroll_bar *
 -x_window_to_scroll_bar (display, window_id)
 -     Display *display;
 -     Window window_id;
 +x_window_to_scroll_bar (Display *display, Window window_id)
  {
    Lisp_Object tail;
  
          return XSCROLL_BAR (bar);
      }
  
-   return 0;
+   return NULL;
  }
  
  
     if WINDOW is not part of a menu bar.  */
  
  static Widget
 -x_window_to_menu_bar (window)
 -     Window window;
 +x_window_to_menu_bar (Window window)
  {
    Lisp_Object tail;
  
  
  #ifdef USE_TOOLKIT_SCROLL_BARS
  
 -static void x_scroll_bar_to_input_event P_ ((XEvent *, struct input_event *));
 -static void x_send_scroll_bar_event P_ ((Lisp_Object, int, int, int));
 -static void x_create_toolkit_scroll_bar P_ ((struct frame *,
 -                                           struct scroll_bar *));
 -static void x_set_toolkit_scroll_bar_thumb P_ ((struct scroll_bar *,
 -                                              int, int, int));
 +static void x_scroll_bar_to_input_event (XEvent *, struct input_event *);
 +static void x_send_scroll_bar_event (Lisp_Object, int, int, int);
 +static void x_create_toolkit_scroll_bar (struct frame *,
 +                                         struct scroll_bar *);
 +static void x_set_toolkit_scroll_bar_thumb (struct scroll_bar *,
 +                                            int, int, int);
  
  
  /* Lisp window being scrolled.  Set when starting to interact with
@@@ -4122,11 -4152,17 +4122,11 @@@ static Boolean xaw3d_pick_top
     a `end-scroll' SCROLL_BAR_CLICK_EVENT' event if so.  */
  
  static void
 -xt_action_hook (widget, client_data, action_name, event, params,
 -              num_params)
 -     Widget widget;
 -     XtPointer client_data;
 -     String action_name;
 -     XEvent *event;
 -     String *params;
 -     Cardinal *num_params;
 +xt_action_hook (Widget widget, XtPointer client_data, String action_name,
 +              XEvent *event, String *params, Cardinal *num_params)
  {
    int scroll_bar_p;
 -  char *end_action;
 +  const char *end_action;
  
  #ifdef USE_MOTIF
    scroll_bar_p = XmIsScrollBar (widget);
     x_send_scroll_bar_event and x_scroll_bar_to_input_event.  */
  
  static struct window **scroll_bar_windows;
 -static int scroll_bar_windows_size;
 +static size_t scroll_bar_windows_size;
  
  
  /* Send a client message with message type Xatom_Scrollbar for a
     amount to scroll of a whole of WHOLE.  */
  
  static void
 -x_send_scroll_bar_event (window, part, portion, whole)
 -     Lisp_Object window;
 -     int part, portion, whole;
 +x_send_scroll_bar_event (Lisp_Object window, int part, int portion, int whole)
  {
    XEvent event;
    XClientMessageEvent *ev = (XClientMessageEvent *) &event;
    struct window *w = XWINDOW (window);
    struct frame *f = XFRAME (w->frame);
 -  int i;
 +  size_t i;
  
    BLOCK_INPUT;
  
  
    if (i == scroll_bar_windows_size)
      {
 -      int new_size = max (10, 2 * scroll_bar_windows_size);
 +      size_t new_size = max (10, 2 * scroll_bar_windows_size);
        size_t nbytes = new_size * sizeof *scroll_bar_windows;
        size_t old_nbytes = scroll_bar_windows_size * sizeof *scroll_bar_windows;
  
 +      if ((size_t) -1 / sizeof *scroll_bar_windows < new_size)
 +      memory_full ();
        scroll_bar_windows = (struct window **) xrealloc (scroll_bar_windows,
                                                        nbytes);
 -      bzero (&scroll_bar_windows[i], nbytes - old_nbytes);
 +      memset (&scroll_bar_windows[i], 0, nbytes - old_nbytes);
        scroll_bar_windows_size = new_size;
      }
  
     in *IEVENT.  */
  
  static void
 -x_scroll_bar_to_input_event (event, ievent)
 -     XEvent *event;
 -     struct input_event *ievent;
 +x_scroll_bar_to_input_event (XEvent *event, struct input_event *ievent)
  {
    XClientMessageEvent *ev = (XClientMessageEvent *) event;
    Lisp_Object window;
 -  struct frame *f;
    struct window *w;
  
    w = scroll_bar_windows[ev->data.l[0]];
    scroll_bar_windows[ev->data.l[0]] = NULL;
  
    XSETWINDOW (window, w);
 -  f = XFRAME (w->frame);
  
    ievent->kind = SCROLL_BAR_CLICK_EVENT;
    ievent->frame_or_window = window;
  #ifdef USE_GTK
    ievent->timestamp = CurrentTime;
  #else
 -  ievent->timestamp = XtLastTimestampProcessed (FRAME_X_DISPLAY (f));
 +  ievent->timestamp =
 +    XtLastTimestampProcessed (FRAME_X_DISPLAY (XFRAME (w->frame)));
  #endif
    ievent->part = ev->data.l[1];
    ievent->code = ev->data.l[2];
     CALL_DATA is a pointer to a XmScrollBarCallbackStruct.  */
  
  static void
 -xm_scroll_callback (widget, client_data, call_data)
 -     Widget widget;
 -     XtPointer client_data, call_data;
 +xm_scroll_callback (Widget widget, XtPointer client_data, XtPointer call_data)
  {
    struct scroll_bar *bar = (struct scroll_bar *) client_data;
    XmScrollBarCallbackStruct *cs = (XmScrollBarCallbackStruct *) call_data;
@@@ -4373,8 -4414,7 +4373,8 @@@ xg_scroll_callback (GtkRange     *range
            && FRAME_X_DISPLAY_INFO (f)->grabbed < (1 << 4))
          {
            part = scroll_bar_handle;
 -          whole = adj->upper - adj->page_size;
 +          whole = gtk_adjustment_get_upper (adj) -
 +            gtk_adjustment_get_page_size (adj);
            portion = min ((int)position, whole);
            bar->dragging = make_number ((int)portion);
          }
@@@ -4435,7 -4475,9 +4435,7 @@@ xg_end_scroll_callback (GtkWidget *widg
     the thumb is.  */
  
  static void
 -xaw_jump_callback (widget, client_data, call_data)
 -     Widget widget;
 -     XtPointer client_data, call_data;
 +xaw_jump_callback (Widget widget, XtPointer client_data, XtPointer call_data)
  {
    struct scroll_bar *bar = (struct scroll_bar *) client_data;
    float top = *(float *) call_data;
     Values < height of scroll bar mean line-wise movement.  */
  
  static void
 -xaw_scroll_callback (widget, client_data, call_data)
 -     Widget widget;
 -     XtPointer client_data, call_data;
 +xaw_scroll_callback (Widget widget, XtPointer client_data, XtPointer call_data)
  {
    struct scroll_bar *bar = (struct scroll_bar *) client_data;
    /* The position really is stored cast to a pointer.  */
  
  #ifdef USE_GTK
  static void
 -x_create_toolkit_scroll_bar (f, bar)
 -     struct frame *f;
 -     struct scroll_bar *bar;
 +x_create_toolkit_scroll_bar (struct frame *f, struct scroll_bar *bar)
  {
 -  char *scroll_bar_name = SCROLL_BAR_NAME;
 +  const char *scroll_bar_name = SCROLL_BAR_NAME;
  
    BLOCK_INPUT;
    xg_create_scroll_bar (f, bar, G_CALLBACK (xg_scroll_callback),
  #else /* not USE_GTK */
  
  static void
 -x_create_toolkit_scroll_bar (f, bar)
 -     struct frame *f;
 -     struct scroll_bar *bar;
 +x_create_toolkit_scroll_bar (struct frame *f, struct scroll_bar *bar)
  {
    Window xwindow;
    Widget widget;
    if (f->output_data.x->scroll_bar_top_shadow_pixel == -1)
      {
        pixel = f->output_data.x->scroll_bar_background_pixel;
 -      if (pixel != -1) 
 +      if (pixel != -1)
          {
            if (!x_alloc_lighter_color (f, FRAME_X_DISPLAY (f),
                                        FRAME_X_COLORMAP (f),
    if (f->output_data.x->scroll_bar_bottom_shadow_pixel == -1)
      {
        pixel = f->output_data.x->scroll_bar_background_pixel;
 -      if (pixel != -1) 
 +      if (pixel != -1)
          {
            if (!x_alloc_lighter_color (f, FRAME_X_DISPLAY (f),
                                        FRAME_X_COLORMAP (f),
        || f->output_data.x->scroll_bar_bottom_shadow_pixel == -1)
      /* We tried to allocate a color for the top/bottom shadow, and
         failed, so tell Xaw3d to use dithering instead.   */
 +    /* But only if we have a small colormap.  Xaw3d can allocate nice
 +       colors itself.  */
      {
 -      XtSetArg (av[ac], XtNbeNiceToColormap, True);
 +      XtSetArg (av[ac], XtNbeNiceToColormap,
 +                DefaultDepthOfScreen (FRAME_X_SCREEN (f)) < 16);
        ++ac;
      }
    else
  
  #ifdef USE_GTK
  static void
 -x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
 -     struct scroll_bar *bar;
 -     int portion, position, whole;
 +x_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar, int portion, int position, int whole)
  {
    xg_set_toolkit_scroll_bar_thumb (bar, portion, position, whole);
  }
  
  #else /* not USE_GTK */
  static void
 -x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
 -     struct scroll_bar *bar;
 -     int portion, position, whole;
 +x_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar, int portion, int position,
 +                              int whole)
  {
    struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
    Widget widget = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar);
     scroll bar. */
  
  static struct scroll_bar *
 -x_scroll_bar_create (w, top, left, width, height)
 -     struct window *w;
 -     int top, left, width, height;
 +x_scroll_bar_create (struct window *w, int top, int left, int width, int height)
  {
    struct frame *f = XFRAME (w->frame);
    struct scroll_bar *bar
                               left + VERTICAL_SCROLL_BAR_WIDTH_TRIM,
                               width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,
                               max (height, 1));
 -    xg_show_scroll_bar (bar->x_window);
  #else /* not USE_GTK */
      Widget scroll_bar = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar);
      XtConfigureWidget (scroll_bar,
     to move to the very end of the buffer.  */
  
  static void
 -x_scroll_bar_set_handle (bar, start, end, rebuild)
 -     struct scroll_bar *bar;
 -     int start, end;
 -     int rebuild;
 +x_scroll_bar_set_handle (struct scroll_bar *bar, int start, int end, int rebuild)
  {
    int dragging = ! NILP (bar->dragging);
    Window w = bar->x_window;
     nil.  */
  
  static void
 -x_scroll_bar_remove (bar)
 -     struct scroll_bar *bar;
 +x_scroll_bar_remove (struct scroll_bar *bar)
  {
    struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
    BLOCK_INPUT;
     create one.  */
  
  static void
 -XTset_vertical_scroll_bar (w, portion, whole, position)
 -     struct window *w;
 -     int portion, whole, position;
 +XTset_vertical_scroll_bar (struct window *w, int portion, int whole, int position)
  {
    struct frame *f = XFRAME (w->frame);
    struct scroll_bar *bar;
     `*redeem_scroll_bar_hook' is applied to its window before the judgment.  */
  
  static void
 -XTcondemn_scroll_bars (frame)
 -     FRAME_PTR frame;
 +XTcondemn_scroll_bars (FRAME_PTR frame)
  {
    /* Transfer all the scroll bars to FRAME_CONDEMNED_SCROLL_BARS.  */
    while (! NILP (FRAME_SCROLL_BARS (frame)))
     Note that WINDOW isn't necessarily condemned at all.  */
  
  static void
 -XTredeem_scroll_bar (window)
 -     struct window *window;
 +XTredeem_scroll_bar (struct window *window)
  {
    struct scroll_bar *bar;
    struct frame *f;
     last call to `*condemn_scroll_bars_hook'.  */
  
  static void
 -XTjudge_scroll_bars (f)
 -     FRAME_PTR f;
 +XTjudge_scroll_bars (FRAME_PTR f)
  {
    Lisp_Object bar, next;
  
     mark bits.  */
  
  static void
 -x_scroll_bar_expose (bar, event)
 -     struct scroll_bar *bar;
 -     XEvent *event;
 +x_scroll_bar_expose (struct scroll_bar *bar, XEvent *event)
  {
    Window w = bar->x_window;
    FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
  
  
  static void
 -x_scroll_bar_handle_click (bar, event, emacs_event)
 -     struct scroll_bar *bar;
 -     XEvent *event;
 -     struct input_event *emacs_event;
 +x_scroll_bar_handle_click (struct scroll_bar *bar, XEvent *event, struct input_event *emacs_event)
  {
    if (! WINDOWP (bar->window))
      abort ();
     mark bits.  */
  
  static void
 -x_scroll_bar_note_movement (bar, event)
 -     struct scroll_bar *bar;
 -     XEvent *event;
 +x_scroll_bar_note_movement (struct scroll_bar *bar, XEvent *event)
  {
    FRAME_PTR f = XFRAME (XWINDOW (bar->window)->frame);
  
     on the scroll bar.  */
  
  static void
 -x_scroll_bar_report_motion (fp, bar_window, part, x, y, time)
 -     FRAME_PTR *fp;
 -     Lisp_Object *bar_window;
 -     enum scroll_bar_part *part;
 -     Lisp_Object *x, *y;
 -     unsigned long *time;
 +x_scroll_bar_report_motion (FRAME_PTR *fp, Lisp_Object *bar_window,
 +                          enum scroll_bar_part *part, Lisp_Object *x,
 +                          Lisp_Object *y, long unsigned int *timestamp)
  {
    struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar);
    Window w = bar->x_window;
        last_mouse_scroll_bar = Qnil;
      }
  
 -  *time = last_mouse_movement_time;
 +  *timestamp = last_mouse_movement_time;
  
    UNBLOCK_INPUT;
  }
     Clear out the scroll bars, and ask for expose events, so we can
     redraw them.  */
  
 -void
 -x_scroll_bar_clear (f)
 -     FRAME_PTR f;
 +static void
 +x_scroll_bar_clear (FRAME_PTR f)
  {
  #ifndef USE_TOOLKIT_SCROLL_BARS
    Lisp_Object bar;
@@@ -5668,18 -5739,22 +5668,18 @@@ struct x_display_info *XTread_socket_fa
  
  static struct x_display_info *next_noop_dpyinfo;
  
 -#define SET_SAVED_MENU_EVENT(size)                                    \
 +#define SET_SAVED_BUTTON_EVENT                                          \
       do                                                                       \
         {                                                              \
         if (f->output_data.x->saved_menu_event == 0)                   \
             f->output_data.x->saved_menu_event                         \
             = (XEvent *) xmalloc (sizeof (XEvent));                    \
 -         bcopy (&event, f->output_data.x->saved_menu_event, size);    \
 +         *f->output_data.x->saved_menu_event = event;                   \
         inev.ie.kind = MENU_BAR_ACTIVATE_EVENT;                        \
         XSETFRAME (inev.ie.frame_or_window, f);                        \
         }                                                              \
       while (0)
  
 -#define SET_SAVED_BUTTON_EVENT SET_SAVED_MENU_EVENT (sizeof (XButtonEvent))
 -#define SET_SAVED_KEY_EVENT    SET_SAVED_MENU_EVENT (sizeof (XKeyEvent))
 -
 -
  enum
  {
    X_EVENT_NORMAL,
  
  #ifdef HAVE_X_I18N
  static int
 -x_filter_event (dpyinfo, event)
 -     struct x_display_info *dpyinfo;
 -     XEvent *event;
 +x_filter_event (struct x_display_info *dpyinfo, XEvent *event)
  {
    /* XFilterEvent returns non-zero if the input method has
     consumed the event.  We pass the frame's X window to
@@@ -5720,7 -5797,10 +5720,7 @@@ static struct input_event *current_hold
     It is invoked before the XEvent is translated to a GdkEvent,
     so we have a chance to act on the event before GTK. */
  static GdkFilterReturn
 -event_handler_gdk (gxev, ev, data)
 -     GdkXEvent *gxev;
 -     GdkEvent *ev;
 -     gpointer data;
 +event_handler_gdk (GdkXEvent *gxev, GdkEvent *ev, gpointer data)
  {
    XEvent *xev = (XEvent *) gxev;
  
  #endif /* USE_GTK */
  
  
 +static void xembed_send_message (struct frame *f, Time time,
 +                                 enum xembed_message message,
 +                                 long detail, long data1, long data2);
 +
  /* Handles the XEvent EVENT on display DPYINFO.
  
     *FINISH is X_EVENT_GOTO_OUT if caller should stop reading events.
     We return the number of characters stored into the buffer. */
  
  static int
 -handle_one_xevent (dpyinfo, eventp, finish, hold_quit)
 -     struct x_display_info *dpyinfo;
 -     XEvent *eventp;
 -     int *finish;
 -     struct input_event *hold_quit;
 +handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr,
 +                 int *finish, struct input_event *hold_quit)
  {
    union {
      struct input_event ie;
    int nbytes = 0;
    struct frame *f = NULL;
    struct coding_system coding;
 -  XEvent event = *eventp;
 +  XEvent event = *eventptr;
 +  Mouse_HLInfo *hlinfo = &dpyinfo->mouse_highlight;
  
    *finish = X_EVENT_NORMAL;
  
    EVENT_INIT (inev.ie);
    inev.ie.kind = NO_EVENT;
    inev.ie.arg = Qnil;
 -  
 +
    if (pending_event_wait.eventtype == event.type)
      pending_event_wait.eventtype = 0; /* Indicates we got it.  */
 -  
 +
    switch (event.type)
      {
      case ClientMessage:
          goto OTHER;
  #endif /* USE_X_TOOLKIT */
        {
-         XSelectionClearEvent *eventp = (XSelectionClearEvent *) &event;
+         XSelectionClearEvent *eventp = &(event.xselectionclear);
  
          inev.ie.kind = SELECTION_CLEAR_EVENT;
          SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display;
          goto OTHER;
  #endif /* USE_X_TOOLKIT */
        {
-           XSelectionRequestEvent *eventp
-             = (XSelectionRequestEvent *) &event;
+         XSelectionRequestEvent *eventp = &(event.xselectionrequest);
  
            inev.ie.kind = SELECTION_REQUEST_EVENT;
            SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display;
  
        /* If mouse-highlight is an integer, input clears out
         mouse highlighting.  */
 -      if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)
 +      if (!hlinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)
          && (f == 0
 -            || !EQ (f->tool_bar_window, dpyinfo->mouse_face_window)))
 +            || !EQ (f->tool_bar_window, hlinfo->mouse_face_window)))
          {
 -          clear_mouse_face (dpyinfo);
 -          dpyinfo->mouse_face_hidden = 1;
 +          clear_mouse_face (hlinfo);
 +          hlinfo->mouse_face_hidden = 1;
          }
  
  #if defined USE_MOTIF && defined USE_TOOLKIT_SCROLL_BARS
               this enables ComposeCharacter to work whether or
               not it is combined with Meta.  */
            if (modifiers & dpyinfo->meta_mod_mask)
 -            bzero (&compose_status, sizeof (compose_status));
 +            memset (&compose_status, 0, sizeof (compose_status));
  
  #ifdef HAVE_X_I18N
            if (FRAME_XIC (f))
  
                coding_system = Vlocale_coding_system;
                nbytes = XmbLookupString (FRAME_XIC (f),
 -                                        &event.xkey, copy_bufptr,
 +                                        &event.xkey, (char *) copy_bufptr,
                                          copy_bufsiz, &keysym,
                                          &status_return);
                if (status_return == XBufferOverflow)
                    copy_bufsiz = nbytes + 1;
                    copy_bufptr = (unsigned char *) alloca (copy_bufsiz);
                    nbytes = XmbLookupString (FRAME_XIC (f),
 -                                            &event.xkey, copy_bufptr,
 +                                            &event.xkey, (char *) copy_bufptr,
                                              copy_bufsiz, &keysym,
                                              &status_return);
                  }
                  abort ();
              }
            else
 -            nbytes = XLookupString (&event.xkey, copy_bufptr,
 +            nbytes = XLookupString (&event.xkey, (char *) copy_bufptr,
                                      copy_bufsiz, &keysym,
                                      &compose_status);
  #else
 -          nbytes = XLookupString (&event.xkey, copy_bufptr,
 +          nbytes = XLookupString (&event.xkey, (char *) copy_bufptr,
                                    copy_bufsiz, &keysym,
                                    &compose_status);
  #endif
            if (compose_status.chars_matched > 0 && nbytes == 0)
              break;
  
 -          bzero (&compose_status, sizeof (compose_status));
 +          memset (&compose_status, 0, sizeof (compose_status));
            orig_keysym = keysym;
  
          /* Common for all keysym input events.  */
  
          {     /* Raw bytes, not keysym.  */
            register int i;
 -          register int c;
            int nchars, len;
  
            for (i = 0, nchars = 0; i < nbytes; i++)
              {
                /* Decode the input data.  */
                int require;
 -              unsigned char *p;
  
                /* The input should be decoded with `coding_system'
                   which depends on which X*LookupString function
               character events.  */
            for (i = 0; i < nbytes; i += len)
              {
 +              int ch;
                if (nchars == nbytes)
 -                c = copy_bufptr[i], len = 1;
 +                ch = copy_bufptr[i], len = 1;
                else
 -                c = STRING_CHAR_AND_LENGTH (copy_bufptr + i, len);
 -              inev.ie.kind = (SINGLE_BYTE_CHAR_P (c)
 +                ch = STRING_CHAR_AND_LENGTH (copy_bufptr + i, len);
 +              inev.ie.kind = (SINGLE_BYTE_CHAR_P (ch)
                                ? ASCII_KEYSTROKE_EVENT
                                : MULTIBYTE_CHAR_KEYSTROKE_EVENT);
 -              inev.ie.code = c;
 +              inev.ie.code = ch;
                kbd_buffer_store_event_hold (&inev.ie, hold_quit);
              }
  
        f = x_top_window_to_frame (dpyinfo, event.xcrossing.window);
        if (f)
          {
 -          if (f == dpyinfo->mouse_face_mouse_frame)
 +          if (f == hlinfo->mouse_face_mouse_frame)
              {
                /* If we move outside the frame, then we're
                   certainly no longer on any text in the frame.  */
 -              clear_mouse_face (dpyinfo);
 -              dpyinfo->mouse_face_mouse_frame = 0;
 +              clear_mouse_face (hlinfo);
 +              hlinfo->mouse_face_mouse_frame = 0;
              }
  
            /* Generate a nil HELP_EVENT to cancel a help-echo.
          else
            f = x_window_to_frame (dpyinfo, event.xmotion.window);
  
 -        if (dpyinfo->mouse_face_hidden)
 +        if (hlinfo->mouse_face_hidden)
            {
 -            dpyinfo->mouse_face_hidden = 0;
 -            clear_mouse_face (dpyinfo);
 +            hlinfo->mouse_face_hidden = 0;
 +            clear_mouse_face (hlinfo);
            }
  
  #ifdef USE_GTK
  
                  window = window_from_coordinates (f,
                                                    event.xmotion.x, event.xmotion.y,
 -                                                  0, 0, 0, 0);
 +                                                  0, 0);
  
                  /* Window will be selected only when it is not selected now and
                     last mouse movement event was not in it.  Minibuffer window
  
              /* If we move outside the frame, then we're
                 certainly no longer on any text in the frame.  */
 -            clear_mouse_face (dpyinfo);
 +            clear_mouse_face (hlinfo);
            }
  
          /* If the contents of the global variable help_echo_string
                              event.xconfigure.height);
            f = 0;
          }
 -#endif  
 +#endif
        if (f)
          {
  #ifndef USE_X_TOOLKIT
            /* GTK creates windows but doesn't map them.
               Only get real positions when mapped. */
            if (FRAME_GTK_OUTER_WIDGET (f)
 -              && GTK_WIDGET_MAPPED (FRAME_GTK_OUTER_WIDGET (f)))
 +              && gtk_widget_get_mapped (FRAME_GTK_OUTER_WIDGET (f)))
  #endif
              {
              x_real_positions (f, &f->left_pos, &f->top_pos);
             by the rest of Emacs, we put it here.  */
          int tool_bar_p = 0;
  
 -        bzero (&compose_status, sizeof (compose_status));
 +        memset (&compose_status, 0, sizeof (compose_status));
        last_mouse_glyph_frame = 0;
          last_user_time = event.xbutton.time;
  
                  int x = event.xbutton.x;
                  int y = event.xbutton.y;
  
 -                window = window_from_coordinates (f, x, y, 0, 0, 0, 1);
 +                window = window_from_coordinates (f, x, y, 0, 1);
                  tool_bar_p = EQ (window, f->tool_bar_window);
  
                  if (tool_bar_p && event.xbutton.button < 4)
             Instead, save it away
             and we will pass it to Xt from kbd_buffer_get_event.
             That way, we can run some Lisp code first.  */
 -        if (
 +        if (! popup_activated ()
  #ifdef USE_GTK
 -            ! popup_activated ()
              /* Gtk+ menus only react to the first three buttons. */
              && event.xbutton.button < 3
 -            &&
  #endif
 -            f && event.type == ButtonPress
 +            && f && event.type == ButtonPress
              /* Verify the event is really within the menu bar
                 and not just sent to it due to grabbing.  */
              && event.xbutton.x >= 0
            {
              SET_SAVED_BUTTON_EVENT;
              XSETFRAME (last_mouse_press_frame, f);
 -#ifdef USE_GTK
              *finish = X_EVENT_DROP;
 -#endif
            }
          else if (event.type == ButtonPress)
            {
              last_mouse_press_frame = Qnil;
              goto OTHER;
            }
 -
 -#ifdef USE_MOTIF /* This should do not harm for Lucid,
 -                  but I am trying to be cautious.  */
 -        else if (event.type == ButtonRelease)
 -          {
 -            if (!NILP (last_mouse_press_frame))
 -              {
 -                f = XFRAME (last_mouse_press_frame);
 -                if (f->output_data.x)
 -                  SET_SAVED_BUTTON_EVENT;
 -              }
 -            else
 -              goto OTHER;
 -          }
 -#endif /* USE_MOTIF */
          else
            goto OTHER;
  #endif /* USE_X_TOOLKIT || USE_GTK */
        count++;
      }
  
 -  *eventp = event;
 +  *eventptr = event;
    return count;
  }
  
  
     Returns the value handle_one_xevent sets in the finish argument.  */
  int
 -x_dispatch_event (event, display)
 -     XEvent *event;
 -     Display *display;
 +x_dispatch_event (XEvent *event, Display *display)
  {
    struct x_display_info *dpyinfo;
    int finish = X_EVENT_NORMAL;
     EXPECTED is nonzero if the caller knows input is available.  */
  
  static int
 -XTread_socket (terminal, expected, hold_quit)
 -     struct terminal *terminal;
 -     int expected;
 -     struct input_event *hold_quit;
 +XTread_socket (struct terminal *terminal, int expected, struct input_event *hold_quit)
  {
    int count = 0;
 -  XEvent event;
    int event_found = 0;
  
    if (interrupt_input_blocked)
  
    ++handling_signal;
  
 -#ifdef HAVE_X_SM
 -  /* Only check session manager input for the primary display. */
 -  if (terminal->id == 1 && x_session_have_connection ())
 -    {
 -      struct input_event inev;
 -      BLOCK_INPUT;
 -      /* We don't need to EVENT_INIT (inev) here, as
 -         x_session_check_input copies an entire input_event.  */
 -      if (x_session_check_input (&inev))
 -        {
 -          kbd_buffer_store_event_hold (&inev, hold_quit);
 -          count++;
 -        }
 -      UNBLOCK_INPUT;
 -    }
 -#endif
 -
    /* For debugging, this gives a way to fake an I/O error.  */
    if (terminal->display_info.x == XTread_socket_fake_io_error)
      {
    while (XPending (terminal->display_info.x->display))
      {
        int finish;
 +      XEvent event;
  
        XNextEvent (terminal->display_info.x->display, &event);
  
          goto out;
      }
  
 + out:;
 +
  #else /* USE_GTK */
  
    /* For GTK we must use the GTK event loop.  But XEvents gets passed
      }
  #endif /* USE_GTK */
  
 - out:;
 -
    /* On some systems, an X bug causes Emacs to get no more events
       when the window is destroyed.  Detect that.  (1994.)  */
    if (! event_found)
     mode lines must be clipped to the whole window.  */
  
  static void
 -x_clip_to_row (w, row, area, gc)
 -     struct window *w;
 -     struct glyph_row *row;
 -     int area;
 -     GC gc;
 +x_clip_to_row (struct window *w, struct glyph_row *row, int area, GC gc)
  {
    struct frame *f = XFRAME (WINDOW_FRAME (w));
    XRectangle clip_rect;
  /* Draw a hollow box cursor on window W in glyph row ROW.  */
  
  static void
 -x_draw_hollow_cursor (w, row)
 -     struct window *w;
 -     struct glyph_row *row;
 +x_draw_hollow_cursor (struct window *w, struct glyph_row *row)
  {
    struct frame *f = XFRAME (WINDOW_FRAME (w));
    struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
     --gerd.  */
  
  static void
 -x_draw_bar_cursor (w, row, width, kind)
 -     struct window *w;
 -     struct glyph_row *row;
 -     int width;
 -     enum text_cursor_kinds kind;
 +x_draw_bar_cursor (struct window *w, struct glyph_row *row, int width, enum text_cursor_kinds kind)
  {
    struct frame *f = XFRAME (w->frame);
    struct glyph *cursor_glyph;
       the bar might not be in the window.  */
    if (cursor_glyph->type == IMAGE_GLYPH)
      {
 -      struct glyph_row *row;
 -      row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos);
 -      draw_phys_cursor_glyph (w, row, DRAW_CURSOR);
 +      struct glyph_row *r;
 +      r = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos);
 +      draw_phys_cursor_glyph (w, r, DRAW_CURSOR);
      }
    else
      {
  
        if (kind == BAR_CURSOR)
        {
 +        int x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x);
 +
          if (width < 0)
            width = FRAME_CURSOR_WIDTH (f);
          width = min (cursor_glyph->pixel_width, width);
  
          w->phys_cursor_width = width;
  
 -        XFillRectangle (dpy, window, gc,
 -                        WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x),
 +        /* If the character under cursor is R2L, draw the bar cursor
 +           on the right of its glyph, rather than on the left.  */
 +        if ((cursor_glyph->resolved_level & 1) != 0)
 +          x += cursor_glyph->pixel_width - width;
 +
 +        XFillRectangle (dpy, window, gc, x,
                          WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y),
                          width, row->height);
        }
  /* RIF: Define cursor CURSOR on frame F.  */
  
  static void
 -x_define_frame_cursor (f, cursor)
 -     struct frame *f;
 -     Cursor cursor;
 +x_define_frame_cursor (struct frame *f, Cursor cursor)
  {
    if (!f->pointer_invisible
        && f->output_data.x->current_cursor != cursor)
  /* RIF: Clear area on frame F.  */
  
  static void
 -x_clear_frame_area (f, x, y, width, height)
 -     struct frame *f;
 -     int x, y, width, height;
 +x_clear_frame_area (struct frame *f, int x, int y, int width, int height)
  {
    x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
                x, y, width, height, False);
  /* RIF: Draw cursor on window W.  */
  
  static void
 -x_draw_window_cursor (w, glyph_row, x, y, cursor_type, cursor_width, on_p, active_p)
 -     struct window *w;
 -     struct glyph_row *glyph_row;
 -     int x, y;
 -     int cursor_type, cursor_width;
 -     int on_p, active_p;
 +x_draw_window_cursor (struct window *w, struct glyph_row *glyph_row, int x, int y, int cursor_type, int cursor_width, int on_p, int active_p)
  {
    struct frame *f = XFRAME (WINDOW_FRAME (w));
  
        w->phys_cursor_on_p = 1;
  
        if (glyph_row->exact_window_width_line_p
 -        && w->phys_cursor.hpos >= glyph_row->used[TEXT_AREA])
 +        && (glyph_row->reversed_p
 +            ? (w->phys_cursor.hpos < 0)
 +            : (w->phys_cursor.hpos >= glyph_row->used[TEXT_AREA])))
        {
          glyph_row->cursor_in_fringe_p = 1;
 -        draw_fringe_bitmap (w, glyph_row, 0);
 +        draw_fringe_bitmap (w, glyph_row, glyph_row->reversed_p);
        }
        else
 -      switch (cursor_type)
        {
 -      case HOLLOW_BOX_CURSOR:
 -        x_draw_hollow_cursor (w, glyph_row);
 -        break;
 +        switch (cursor_type)
 +          {
 +          case HOLLOW_BOX_CURSOR:
 +            x_draw_hollow_cursor (w, glyph_row);
 +            break;
  
 -      case FILLED_BOX_CURSOR:
 -        draw_phys_cursor_glyph (w, glyph_row, DRAW_CURSOR);
 -        break;
 +          case FILLED_BOX_CURSOR:
 +            draw_phys_cursor_glyph (w, glyph_row, DRAW_CURSOR);
 +            break;
  
 -      case BAR_CURSOR:
 -        x_draw_bar_cursor (w, glyph_row, cursor_width, BAR_CURSOR);
 -        break;
 +          case BAR_CURSOR:
 +            x_draw_bar_cursor (w, glyph_row, cursor_width, BAR_CURSOR);
 +            break;
  
 -      case HBAR_CURSOR:
 -        x_draw_bar_cursor (w, glyph_row, cursor_width, HBAR_CURSOR);
 -        break;
 +          case HBAR_CURSOR:
 +            x_draw_bar_cursor (w, glyph_row, cursor_width, HBAR_CURSOR);
 +            break;
  
 -      case NO_CURSOR:
 -        w->phys_cursor_width = 0;
 -        break;
 +          case NO_CURSOR:
 +            w->phys_cursor_width = 0;
 +            break;
  
 -      default:
 -        abort ();
 +          default:
 +            abort ();
 +          }
        }
  
  #ifdef HAVE_X_I18N
  /* Make the x-window of frame F use the gnu icon bitmap.  */
  
  int
 -x_bitmap_icon (f, file)
 -     struct frame *f;
 -     Lisp_Object file;
 +x_bitmap_icon (struct frame *f, Lisp_Object file)
  {
    int bitmap_id;
  
          /* If all else fails, use the (black and white) xbm image. */
          if (rc == -1)
            {
 -            rc = x_create_bitmap_from_data (f, gnu_xbm_bits,
 +            rc = x_create_bitmap_from_data (f, (char *) gnu_xbm_bits,
                                              gnu_xbm_width, gnu_xbm_height);
              if (rc == -1)
                return 1;
     Use ICON_NAME as the text.  */
  
  int
 -x_text_icon (f, icon_name)
 -     struct frame *f;
 -     char *icon_name;
 +x_text_icon (struct frame *f, const char *icon_name)
  {
    if (FRAME_X_WINDOW (f) == 0)
      return 1;
@@@ -7520,9 -7652,11 +7519,9 @@@ static struct x_error_message_stack *x_
     x_catch_errors is in effect.  */
  
  static void
 -x_error_catcher (display, error)
 -     Display *display;
 -     XErrorEvent *error;
 +x_error_catcher (Display *display, XErrorEvent *event)
  {
 -  XGetErrorText (display, error->error_code,
 +  XGetErrorText (display, event->error_code,
                 x_error_message->string,
                 X_ERROR_MESSAGE_SIZE);
  }
  
     Calling x_uncatch_errors resumes the normal error handling.  */
  
 -void x_check_errors ();
 +void x_check_errors (Display *dpy, const char *format);
  
  void
 -x_catch_errors (dpy)
 -     Display *dpy;
 +x_catch_errors (Display *dpy)
  {
    struct x_error_message_stack *data = xmalloc (sizeof (*data));
  
     DPY should be the display that was passed to x_catch_errors.  */
  
  void
 -x_uncatch_errors ()
 +x_uncatch_errors (void)
  {
    struct x_error_message_stack *tmp;
  
     sprintf (a buffer, FORMAT, the x error message text) as the text.  */
  
  void
 -x_check_errors (dpy, format)
 -     Display *dpy;
 -     char *format;
 +x_check_errors (Display *dpy, const char *format)
  {
    /* Make sure to catch any errors incurred so far.  */
    XSync (dpy, False);
    if (x_error_message->string[0])
      {
        char string[X_ERROR_MESSAGE_SIZE];
 -      bcopy (x_error_message->string, string, X_ERROR_MESSAGE_SIZE);
 +      memcpy (string, x_error_message->string, X_ERROR_MESSAGE_SIZE);
        x_uncatch_errors ();
        error (format, string);
      }
     since we did x_catch_errors on DPY.  */
  
  int
 -x_had_errors_p (dpy)
 -     Display *dpy;
 +x_had_errors_p (Display *dpy)
  {
    /* Make sure to catch any errors incurred so far.  */
    XSync (dpy, False);
  /* Forget about any errors we have had, since we did x_catch_errors on DPY.  */
  
  void
 -x_clear_errors (dpy)
 -     Display *dpy;
 +x_clear_errors (Display *dpy)
  {
    x_error_message->string[0] = 0;
  }
  /* Close off all unclosed x_catch_errors calls.  */
  
  void
 -x_fully_uncatch_errors ()
 +x_fully_uncatch_errors (void)
  {
    while (x_error_message)
      x_uncatch_errors ();
  /* Nonzero if x_catch_errors has been done and not yet canceled.  */
  
  int
 -x_catching_errors ()
 +x_catching_errors (void)
  {
    return x_error_message != 0;
  }
  
  #if 0
  static unsigned int x_wire_count;
 -x_trace_wire ()
 +x_trace_wire (void)
  {
    fprintf (stderr, "Lib call: %d\n", ++x_wire_count);
  }
     SIGPIPE will fail, causing Xlib to invoke the X IO error handler,
     which will do the appropriate cleanup for us.  */
  
 -static SIGTYPE
 -x_connection_signal (signalnum)       /* If we don't have an argument, */
 -     int signalnum;           /* some compilers complain in signal calls.  */
 +static void
 +x_connection_signal (int signalnum)   /* If we don't have an argument, */
 +                              /* some compilers complain in signal calls.  */
  {
  #ifdef USG
    /* USG systems forget handlers when they are used;
  
  static char *error_msg;
  
 -/* Function installed as fatal_error_signal_hook in
 -   x_connection_closed.  Print the X error message, and exit normally,
 -   instead of dumping core when XtCloseDisplay fails.  */
 -
 -static void
 -x_fatal_error_signal ()
 -{
 -  fprintf (stderr, "%s\n", error_msg);
 -  exit (70);
 -}
 -
  /* Handle the loss of connection to display DPY.  ERROR_MESSAGE is
     the text of an error message that lead to the connection loss.  */
  
 -static SIGTYPE
 -x_connection_closed (dpy, error_message)
 -     Display *dpy;
 -     char *error_message;
 +static void
 +x_connection_closed (Display *dpy, const char *error_message)
  {
    struct x_display_info *dpyinfo = x_display_info_for_display (dpy);
    Lisp_Object frame, tail;
 -  int index = SPECPDL_INDEX ();
 +  int idx = SPECPDL_INDEX ();
  
    error_msg = (char *) alloca (strlen (error_message) + 1);
    strcpy (error_msg, error_message);
    handling_signal = 0;
  
 -  /* Prevent being called recursively because of an error condition
 -     below.  Otherwise, we might end up with printing ``can't find per
 -     display information'' in the recursive call instead of printing
 -     the original message here.  */
 -  x_catch_errors (dpy);
 -
    /* Inhibit redisplay while frames are being deleted. */
    specbind (Qinhibit_redisplay, Qt);
  
        {
        /* Set this to t so that delete_frame won't get confused
           trying to find a replacement.  */
 -      FRAME_KBOARD (XFRAME (frame))->Vdefault_minibuffer_frame = Qt;
 +      KVAR (FRAME_KBOARD (XFRAME (frame)), Vdefault_minibuffer_frame) = Qt;
        delete_frame (frame, Qnoelisp);
        }
  
       first place, so don't try to close it.  */
    if (dpyinfo)
      {
 -#ifdef USE_X_TOOLKIT
 -      /* We have to close the display to inform Xt that it doesn't
 -       exist anymore.  If we don't, Xt will continue to wait for
 -       events from the display.  As a consequence, a sequence of
 -
 -       M-x make-frame-on-display RET :1 RET
 -       ...kill the new frame, so that we get an IO error...
 -       M-x make-frame-on-display RET :1 RET
 -
 -       will indefinitely wait in Xt for events for display `:1',
 -       opened in the first call to make-frame-on-display.
 -
 -       Closing the display is reported to lead to a bus error on
 -       OpenWindows in certain situations.  I suspect that is a bug
 -       in OpenWindows.  I don't know how to circumvent it here.  */
 -      extern void (*fatal_error_signal_hook) P_ ((void));
 -      fatal_error_signal_hook = x_fatal_error_signal;
 -      XtCloseDisplay (dpy);
 -      fatal_error_signal_hook = NULL;
 -#endif /* USE_X_TOOLKIT */
 -
 +      /* We can not call XtCloseDisplay here because it calls XSync.
 +         XSync inside the error handler apparently hangs Emacs.  On
 +         current Xt versions, this isn't needed either.  */
  #ifdef USE_GTK
        /* A long-standing GTK bug prevents proper disconnect handling
         (https://bugzilla.gnome.org/show_bug.cgi?id=85715).  Once,
@@@ -7760,11 -7936,13 +7759,11 @@@ For details, see etc/PROBLEMS.\n"
        }
      }
  
 -  x_uncatch_errors ();
 -
    if (terminal_list == 0)
      {
        fprintf (stderr, "%s\n", error_msg);
 -      shut_down_emacs (0, 0, Qnil);
 -      exit (70);
 +      Fkill_emacs (make_number (70));
 +      /* NOTREACHED */
      }
  
    /* Ordinary stack unwind doesn't deal with these.  */
    sigunblock (sigmask (SIGALRM));
    TOTALLY_UNBLOCK_INPUT;
  
 -  unbind_to (index, Qnil);
 +  unbind_to (idx, Qnil);
    clear_waiting_for_input ();
 +
 +  /* Tell GCC not to suggest attribute 'noreturn' for this function.  */
 +  IF_LINT (if (! terminal_list) return; )
 +
    /* Here, we absolutely have to use a non-local exit (e.g. signal, throw,
       longjmp), because returning from this function would get us back into
       Xlib's code which will directly call `exit'.  */
  
  /* We specifically use it before defining it, so that gcc doesn't inline it,
     otherwise gdb doesn't know how to properly put a breakpoint on it.  */
 -static void x_error_quitter P_ ((Display *, XErrorEvent *));
 +static void x_error_quitter (Display *, XErrorEvent *);
  
  /* This is the first-level handler for X protocol errors.
     It calls x_error_quitter or x_error_catcher.  */
  
  static int
 -x_error_handler (display, error)
 -     Display *display;
 -     XErrorEvent *error;
 +x_error_handler (Display *display, XErrorEvent *event)
  {
    if (x_error_message)
 -    x_error_catcher (display, error);
 +    x_error_catcher (display, event);
    else
 -    x_error_quitter (display, error);
 +    x_error_quitter (display, event);
    return 0;
  }
  
  
  /* .gdbinit puts a breakpoint here, so make sure it is not inlined.  */
  
 -#if __GNUC__ >= 3  /* On GCC 3.0 we might get a warning.  */
 -#define NO_INLINE __attribute__((noinline))
 -#else
 -#define NO_INLINE
 -#endif
 -
 -/* Some versions of GNU/Linux define noinline in their headers.  */
 -
 -#ifdef noinline
 -#undef noinline
 -#endif
 -
  /* On older GCC versions, just putting x_error_quitter
     after x_error_handler prevents inlining into the former.  */
  
  static void NO_INLINE
 -x_error_quitter (display, error)
 -     Display *display;
 -     XErrorEvent *error;
 +x_error_quitter (Display *display, XErrorEvent *event)
  {
    char buf[256], buf1[356];
  
    /* Ignore BadName errors.  They can happen because of fonts
       or colors that are not defined.  */
  
 -  if (error->error_code == BadName)
 +  if (event->error_code == BadName)
      return;
  
    /* Note that there is no real way portable across R3/R4 to get the
       original error handler.  */
  
 -  XGetErrorText (display, error->error_code, buf, sizeof (buf));
 +  XGetErrorText (display, event->error_code, buf, sizeof (buf));
    sprintf (buf1, "X protocol error: %s on protocol request %d",
 -         buf, error->request_code);
 +         buf, event->request_code);
    x_connection_closed (display, buf1);
  }
  
     If that was the only one, it prints an error message and kills Emacs.  */
  
  static int
 -x_io_error_quitter (display)
 -     Display *display;
 +x_io_error_quitter (Display *display)
  {
    char buf[256];
  
     FONT-OBJECT.  */
  
  Lisp_Object
 -x_new_font (f, font_object, fontset)
 -     struct frame *f;
 -     Lisp_Object font_object;
 -     int fontset;
 +x_new_font (struct frame *f, Lisp_Object font_object, int fontset)
  {
    struct font *font = XFONT_OBJECT (font_object);
  
        && (FRAME_XIC_STYLE (f) & (XIMPreeditPosition | XIMStatusArea)))
      {
        BLOCK_INPUT;
 -      xic_set_xfontset (f, SDATA (fontset_ascii (fontset)));
 +      xic_set_xfontset (f, SSDATA (fontset_ascii (fontset)));
        UNBLOCK_INPUT;
      }
  #endif
     pointer to the x_display_info structure corresponding to XIM.  */
  
  static void
 -xim_destroy_callback (xim, client_data, call_data)
 -     XIM xim;
 -     XPointer client_data;
 -     XPointer call_data;
 +xim_destroy_callback (XIM xim, XPointer client_data, XPointer call_data)
  {
    struct x_display_info *dpyinfo = (struct x_display_info *) client_data;
    Lisp_Object frame, tail;
  
  #ifdef HAVE_X11R6
  /* This isn't prototyped in OSF 5.0 or 5.1a.  */
 -extern char *XSetIMValues P_ ((XIM, ...));
 +extern char *XSetIMValues (XIM, ...);
  #endif
  
  /* Open the connection to the XIM server on display DPYINFO.
     RESOURCE_NAME is the resource name Emacs uses.  */
  
  static void
 -xim_open_dpy (dpyinfo, resource_name)
 -     struct x_display_info *dpyinfo;
 -     char *resource_name;
 +xim_open_dpy (struct x_display_info *dpyinfo, char *resource_name)
  {
    XIM xim;
  
        if (dpyinfo->xim)
        XCloseIM (dpyinfo->xim);
        xim = XOpenIM (dpyinfo->display, dpyinfo->xrdb, resource_name,
 -                   EMACS_CLASS);
 +                   emacs_class);
        dpyinfo->xim = xim;
  
        if (xim)
     when the callback was registered.  */
  
  static void
 -xim_instantiate_callback (display, client_data, call_data)
 -     Display *display;
 -     XPointer client_data;
 -     XPointer call_data;
 +xim_instantiate_callback (Display *display, XPointer client_data, XPointer call_data)
  {
    struct xim_inst_t *xim_inst = (struct xim_inst_t *) client_data;
    struct x_display_info *dpyinfo = xim_inst->dpyinfo;
     in the XIM instantiate callback function.  */
  
  static void
 -xim_initialize (dpyinfo, resource_name)
 -     struct x_display_info *dpyinfo;
 -     char *resource_name;
 +xim_initialize (struct x_display_info *dpyinfo, char *resource_name)
  {
    dpyinfo->xim = NULL;
  #ifdef HAVE_XIM
        xim_inst->dpyinfo = dpyinfo;
        len = strlen (resource_name);
        xim_inst->resource_name = (char *) xmalloc (len + 1);
 -      bcopy (resource_name, xim_inst->resource_name, len + 1);
 +      memcpy (xim_inst->resource_name, resource_name, len + 1);
        XRegisterIMInstantiateCallback (dpyinfo->display, dpyinfo->xrdb,
 -                                    resource_name, EMACS_CLASS,
 +                                    resource_name, emacs_class,
                                      xim_instantiate_callback,
                                      /* This is XPointer in XFree86
                                         but (XPointer *) on Tru64, at
  /* Close the connection to the XIM server on display DPYINFO. */
  
  static void
 -xim_close_dpy (dpyinfo)
 -     struct x_display_info *dpyinfo;
 +xim_close_dpy (struct x_display_info *dpyinfo)
  {
  #ifdef HAVE_XIM
    if (use_xim)
  #ifdef HAVE_X11R6_XIM
        if (dpyinfo->display)
        XUnregisterIMInstantiateCallback (dpyinfo->display, dpyinfo->xrdb,
 -                                        NULL, EMACS_CLASS,
 +                                        NULL, emacs_class,
                                          xim_instantiate_callback, NULL);
        xfree (dpyinfo->xim_callback_data->resource_name);
        xfree (dpyinfo->xim_callback_data);
  /* Calculate the absolute position in frame F
     from its current recorded position values and gravity.  */
  
 -void
 -x_calc_absolute_position (f)
 -     struct frame *f;
 +static void
 +x_calc_absolute_position (struct frame *f)
  {
    int flags = f->size_hint_flags;
  
     which means, do adjust for borders but don't change the gravity.  */
  
  void
 -x_set_offset (f, xoff, yoff, change_gravity)
 -     struct frame *f;
 -     register int xoff, yoff;
 -     int change_gravity;
 +x_set_offset (struct frame *f, register int xoff, register int yoff, int change_gravity)
  {
    int modified_top, modified_left;
  
     http://freedesktop.org/wiki/Specifications/wm-spec.  */
  
  static int
 -wm_supports (f, atomname)
 -     struct frame *f;
 -     const char *atomname;
 +wm_supports (struct frame *f, Atom want_atom)
  {
    Atom actual_type;
    unsigned long actual_size, bytes_remaining;
    int i, rc, actual_format;
 -  Atom prop_atom;
    Window wmcheck_window;
    struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
    Window target_window = dpyinfo->root_window;
    Display *dpy = FRAME_X_DISPLAY (f);
    unsigned char *tmp_data = NULL;
    Atom target_type = XA_WINDOW;
 -  Atom want_atom;
  
    BLOCK_INPUT;
  
 -  prop_atom = XInternAtom (dpy, "_NET_SUPPORTING_WM_CHECK", False);
 -
    x_catch_errors (dpy);
    rc = XGetWindowProperty (dpy, target_window,
 -                           prop_atom, 0, max_len, False, target_type,
 +                           dpyinfo->Xatom_net_supporting_wm_check,
 +                           0, max_len, False, target_type,
                             &actual_type, &actual_format, &actual_size,
                             &bytes_remaining, &tmp_data);
  
        dpyinfo->net_supported_window = 0;
  
        target_type = XA_ATOM;
 -      prop_atom = XInternAtom (dpy, "_NET_SUPPORTED", False);
        tmp_data = NULL;
        rc = XGetWindowProperty (dpy, target_window,
 -                               prop_atom, 0, max_len, False, target_type,
 +                               dpyinfo->Xatom_net_supported,
 +                               0, max_len, False, target_type,
                                 &actual_type, &actual_format, &actual_size,
                                 &bytes_remaining, &tmp_data);
  
      }
  
    rc = 0;
 -  want_atom = XInternAtom (dpy, atomname, False);
  
    for (i = 0; rc == 0 && i < dpyinfo->nr_net_supported_atoms; ++i)
      rc = dpyinfo->net_supported_atoms[i] == want_atom;
  }
  
  static void
 -set_wm_state (frame, add, what, what2)
 -     Lisp_Object frame;
 -     int add;
 -     const char *what;
 -     const char *what2;
 -{
 -  const char *atom = "_NET_WM_STATE";
 -  Fx_send_client_event (frame, make_number (0), frame,
 -                        make_unibyte_string (atom, strlen (atom)),
 -                        make_number (32),
 -                        /* 1 = add, 0 = remove */
 +set_wm_state (Lisp_Object frame, int add, Atom atom, Atom value)
 +{
 +  struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (XFRAME (frame));
 +
 +  x_send_client_event (frame, make_number (0), frame,
 +                       dpyinfo->Xatom_net_wm_state,
 +                       make_number (32),
 +                       /* 1 = add, 0 = remove */
 +                       Fcons
 +                       (make_number (add ? 1 : 0),
                          Fcons
 -                        (make_number (add ? 1 : 0),
 -                         Fcons
 -                         (make_unibyte_string (what, strlen (what)),
 -                          what2 != 0
 -                          ? Fcons (make_unibyte_string (what2, strlen (what2)),
 -                                   Qnil)
 -                          : Qnil)));
 +                        (make_fixnum_or_float (atom),
 +                         value != 0
 +                         ? Fcons (make_fixnum_or_float (value), Qnil)
 +                         : Qnil)));
  }
  
  void
 -x_set_sticky (f, new_value, old_value)
 -     struct frame *f;
 -     Lisp_Object new_value, old_value;
 +x_set_sticky (struct frame *f, Lisp_Object new_value, Lisp_Object old_value)
  {
    Lisp_Object frame;
 +  struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
  
    XSETFRAME (frame, f);
 +
    set_wm_state (frame, NILP (new_value) ? 0 : 1,
 -                "_NET_WM_STATE_STICKY", NULL);
 +                dpyinfo->Xatom_net_wm_state_sticky, None);
  }
  
  /* Return the current _NET_WM_STATE.
     STICKY is set to 1 if the sticky state is set, 0 if not.  */
  
  static void
 -get_current_vm_state (struct frame *f,
 +get_current_wm_state (struct frame *f,
                        Window window,
                        int *size_state,
                        int *sticky)
    for (i = 0; i < actual_size; ++i)
      {
        Atom a = ((Atom*)tmp_data)[i];
 -      if (a == dpyinfo->Xatom_net_wm_state_maximized_horz) 
 +      if (a == dpyinfo->Xatom_net_wm_state_maximized_horz)
          {
            if (*size_state == FULLSCREEN_HEIGHT)
              *size_state = FULLSCREEN_MAXIMIZED;
            else
              *size_state = FULLSCREEN_HEIGHT;
          }
 -      else if (a == dpyinfo->Xatom_net_wm_state_fullscreen_atom)
 +      else if (a == dpyinfo->Xatom_net_wm_state_fullscreen)
          *size_state = FULLSCREEN_BOTH;
        else if (a == dpyinfo->Xatom_net_wm_state_sticky)
          *sticky = 1;
  /* Do fullscreen as specified in extended window manager hints */
  
  static int
 -do_ewmh_fullscreen (f)
 -     struct frame *f;
 +do_ewmh_fullscreen (struct frame *f)
  {
 -  int have_net_atom = wm_supports (f, "_NET_WM_STATE");
 -  Lisp_Object lval = get_frame_param (f, Qfullscreen);
 +  struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
 +  int have_net_atom = wm_supports (f, dpyinfo->Xatom_net_wm_state);
    int cur, dummy;
  
 -  get_current_vm_state (f, FRAME_OUTER_WINDOW (f), &cur, &dummy);
 +  get_current_wm_state (f, FRAME_OUTER_WINDOW (f), &cur, &dummy);
  
    /* Some window managers don't say they support _NET_WM_STATE, but they do say
       they support _NET_WM_STATE_FULLSCREEN.  Try that also.  */
    if (!have_net_atom)
 -      have_net_atom = wm_supports (f, "_NET_WM_STATE_FULLSCREEN");
 +    have_net_atom = wm_supports (f, dpyinfo->Xatom_net_wm_state_fullscreen);
  
    if (have_net_atom && cur != f->want_fullscreen)
      {
        Lisp_Object frame;
 -      const char *fs = "_NET_WM_STATE_FULLSCREEN";
 -      const char *fw = "_NET_WM_STATE_MAXIMIZED_HORZ";
 -      const char *fh = "_NET_WM_STATE_MAXIMIZED_VERT";
  
        XSETFRAME (frame, f);
  
          case FULLSCREEN_BOTH:
            if (cur == FULLSCREEN_WIDTH || cur == FULLSCREEN_MAXIMIZED
                || cur == FULLSCREEN_HEIGHT)
 -            set_wm_state (frame, 0, fw, fh);
 -          set_wm_state (frame, 1, fs, NULL);
 +            set_wm_state (frame, 0, dpyinfo->Xatom_net_wm_state_maximized_horz,
 +                          dpyinfo->Xatom_net_wm_state_maximized_vert);
 +          set_wm_state (frame, 1, dpyinfo->Xatom_net_wm_state_fullscreen, None);
            break;
          case FULLSCREEN_WIDTH:
            if (cur == FULLSCREEN_BOTH || cur == FULLSCREEN_HEIGHT
                || cur == FULLSCREEN_MAXIMIZED)
 -            set_wm_state (frame, 0, fs, fh);
 +            set_wm_state (frame, 0, dpyinfo->Xatom_net_wm_state_fullscreen,
 +                          dpyinfo->Xatom_net_wm_state_maximized_vert);
            if (cur != FULLSCREEN_MAXIMIZED)
 -            set_wm_state (frame, 1, fw, NULL);
 +            set_wm_state (frame, 1, dpyinfo->Xatom_net_wm_state_maximized_horz, None);
            break;
          case FULLSCREEN_HEIGHT:
            if (cur == FULLSCREEN_BOTH || cur == FULLSCREEN_WIDTH
                || cur == FULLSCREEN_MAXIMIZED)
 -            set_wm_state (frame, 0, fs, fw);
 +            set_wm_state (frame, 0, dpyinfo->Xatom_net_wm_state_fullscreen,
 +                          dpyinfo->Xatom_net_wm_state_maximized_horz);
            if (cur != FULLSCREEN_MAXIMIZED)
 -            set_wm_state (frame, 1, fh, NULL);
 +            set_wm_state (frame, 1, dpyinfo->Xatom_net_wm_state_maximized_vert, None);
            break;
          case FULLSCREEN_MAXIMIZED:
            if (cur == FULLSCREEN_BOTH)
 -            set_wm_state (frame, 0, fs, NULL);
 -          set_wm_state (frame, 1, fw, fh);
 +            set_wm_state (frame, 0, dpyinfo->Xatom_net_wm_state_fullscreen, None);
 +          set_wm_state (frame, 1, dpyinfo->Xatom_net_wm_state_maximized_horz,
 +                        dpyinfo->Xatom_net_wm_state_maximized_vert);
            break;
          case FULLSCREEN_NONE:
            if (cur == FULLSCREEN_BOTH)
 -            set_wm_state (frame, 0, fs, NULL);
 +            set_wm_state (frame, 0, dpyinfo->Xatom_net_wm_state_fullscreen, None);
            else
 -            set_wm_state (frame, 0, fw, fh);
 +            set_wm_state (frame, 0, dpyinfo->Xatom_net_wm_state_maximized_horz,
 +                          dpyinfo->Xatom_net_wm_state_maximized_vert);
          }
  
        f->want_fullscreen = FULLSCREEN_NONE;
  }
  
  static void
 -XTfullscreen_hook (f)
 -     FRAME_PTR f;
 +XTfullscreen_hook (FRAME_PTR f)
  {
    if (f->async_visible)
      {
  
  
  static void
 -x_handle_net_wm_state (f, event)
 -     struct frame *f;
 -     XPropertyEvent *event;
 +x_handle_net_wm_state (struct frame *f, XPropertyEvent *event)
  {
    int value = FULLSCREEN_NONE;
    Lisp_Object lval;
    int sticky = 0;
  
 -  get_current_vm_state (f, event->window, &value, &sticky);
 +  get_current_wm_state (f, event->window, &value, &sticky);
    lval = Qnil;
 -  switch (value) 
 +  switch (value)
      {
      case FULLSCREEN_WIDTH:
        lval = Qfullwidth;
        lval = Qmaximized;
        break;
      }
 -      
 +
    store_frame_param (f, Qfullscreen, lval);
    store_frame_param (f, Qsticky, sticky ? Qt : Qnil);
  }
  /* Check if we need to resize the frame due to a fullscreen request.
     If so needed, resize the frame. */
  static void
 -x_check_fullscreen (f)
 -     struct frame *f;
 +x_check_fullscreen (struct frame *f)
  {
    if (do_ewmh_fullscreen (f))
      return;
     compensate by moving the window right and down by the proper amount.  */
  
  static void
 -x_check_expected_move (f, expected_left, expected_top)
 -     struct frame *f;
 -     int expected_left;
 -     int expected_top;
 +x_check_expected_move (struct frame *f, int expected_left, int expected_top)
  {
    int current_left = 0, current_top = 0;
  
     of an exact comparison.  */
  
  static void
 -x_sync_with_move (f, left, top, fuzzy)
 -    struct frame *f;
 -    int left, top, fuzzy;
 +x_sync_with_move (struct frame *f, int left, int top, int fuzzy)
  {
    int count = 0;
  
  
  /* Wait for an event on frame F matching EVENTTYPE.  */
  void
 -x_wait_for_event (f, eventtype)
 -     struct frame *f;
 -     int eventtype;
 +x_wait_for_event (struct frame *f, int eventtype)
  {
    int level = interrupt_input_blocked;
  
  
        FD_ZERO (&fds);
        FD_SET (fd, &fds);
 -      
 +
        EMACS_GET_TIME (time_now);
        EMACS_SUB_TIME (tmo, tmo_at, time_now);
  
     size changes.  Otherwise we leave the window gravity unchanged.  */
  
  static void
 -x_set_window_size_1 (f, change_gravity, cols, rows)
 -     struct frame *f;
 -     int change_gravity;
 -     int cols, rows;
 +x_set_window_size_1 (struct frame *f, int change_gravity, int cols, int rows)
  {
    int pixelwidth, pixelheight;
  
    f->scroll_bar_actual_width
      = (!FRAME_HAS_VERTICAL_SCROLL_BARS (f)
         ? 0
 -       : FRAME_CONFIG_SCROLL_BAR_WIDTH (f) > 0
 -       ? FRAME_CONFIG_SCROLL_BAR_WIDTH (f)
 -       : (FRAME_CONFIG_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f)));
 +       : FRAME_CONFIG_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f));
  
    compute_fringe_widths (f, 0);
  
 -  pixelwidth = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, cols);
 +  pixelwidth = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, cols)
 +    + FRAME_TOOLBAR_WIDTH (f);
    pixelheight = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, rows)
      + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f);
  
     Otherwise we leave the window gravity unchanged.  */
  
  void
 -x_set_window_size (f, change_gravity, cols, rows)
 -     struct frame *f;
 -     int change_gravity;
 -     int cols, rows;
 +x_set_window_size (struct frame *f, int change_gravity, int cols, int rows)
  {
    BLOCK_INPUT;
  
    if (NILP (tip_frame) || XFRAME (tip_frame) != f)
      {
        int r, c;
 -        
 +
        /* When the frame is maximized/fullscreen or running under for
           example Xmonad, x_set_window_size_1 will be a no-op.
           In that case, the right thing to do is extend rows/cols to
  /* Mouse warping.  */
  
  void
 -x_set_mouse_position (f, x, y)
 -     struct frame *f;
 -     int x, y;
 +x_set_mouse_position (struct frame *f, int x, int y)
  {
    int pix_x, pix_y;
  
  /* Move the mouse to position pixel PIX_X, PIX_Y relative to frame F.  */
  
  void
 -x_set_mouse_pixel_position (f, pix_x, pix_y)
 -     struct frame *f;
 -     int pix_x, pix_y;
 +x_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y)
  {
    BLOCK_INPUT;
  
    UNBLOCK_INPUT;
  }
  \f
 -/* focus shifting, raising and lowering.  */
 -
 -void
 -x_focus_on_frame (f)
 -     struct frame *f;
 -{
 -#if 0
 -  /* I don't think that the ICCCM allows programs to do things like this
 -     without the interaction of the window manager.  Whatever you end up
 -     doing with this code, do it to x_unfocus_frame too.  */
 -  XSetInputFocus (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
 -                RevertToPointerRoot, CurrentTime);
 -#endif /* ! 0 */
 -}
 -
 -void
 -x_unfocus_frame (f)
 -     struct frame *f;
 -{
 -#if 0
 -  /* Look at the remarks in x_focus_on_frame.  */
 -  if (FRAME_X_DISPLAY_INFO (f)->x_focus_frame == f)
 -    XSetInputFocus (FRAME_X_DISPLAY (f), PointerRoot,
 -                  RevertToPointerRoot, CurrentTime);
 -#endif /* ! 0 */
 -}
 -
  /* Raise frame F.  */
  
  void
 -x_raise_frame (f)
 -     struct frame *f;
 +x_raise_frame (struct frame *f)
  {
    BLOCK_INPUT;
    if (f->async_visible)
  /* Lower frame F.  */
  
  void
 -x_lower_frame (f)
 -     struct frame *f;
 +x_lower_frame (struct frame *f)
  {
    if (f->async_visible)
      {
  /* Activate frame with Extended Window Manager Hints */
  
  void
 -x_ewmh_activate_frame (f)
 -     FRAME_PTR f;
 +x_ewmh_activate_frame (FRAME_PTR f)
  {
    /* See Window Manager Specification/Extended Window Manager Hints at
       http://freedesktop.org/wiki/Specifications/wm-spec  */
  
 -  const char *atom = "_NET_ACTIVE_WINDOW";
 -  if (f->async_visible && wm_supports (f, atom))
 +  struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
 +  if (f->async_visible && wm_supports (f, dpyinfo->Xatom_net_active_window))
      {
        Lisp_Object frame;
        XSETFRAME (frame, f);
 -      Fx_send_client_event (frame, make_number (0), frame,
 -                            make_unibyte_string (atom, strlen (atom)),
 -                            make_number (32),
 -                            Fcons (make_number (1),
 -                                   Fcons (make_number (last_user_time),
 -                                          Qnil)));
 +      x_send_client_event (frame, make_number (0), frame,
 +                           dpyinfo->Xatom_net_active_window,
 +                           make_number (32),
 +                           Fcons (make_number (1),
 +                                  Fcons (make_number (last_user_time),
 +                                         Qnil)));
      }
  }
  
  static void
 -XTframe_raise_lower (f, raise_flag)
 -     FRAME_PTR f;
 -     int raise_flag;
 +XTframe_raise_lower (FRAME_PTR f, int raise_flag)
  {
    if (raise_flag)
      x_raise_frame (f);
  \f
  /* XEmbed implementation.  */
  
 -void
 -xembed_set_info (f, flags)
 -     struct frame *f;
 -     enum xembed_info flags;
 +#if defined USE_X_TOOLKIT || ! defined USE_GTK
 +
 +/* XEmbed implementation.  */
 +
 +#define XEMBED_VERSION 0
 +
 +static void
 +xembed_set_info (struct frame *f, enum xembed_info flags)
  {
 -  Atom atom;
    unsigned long data[2];
 -
 -  atom = XInternAtom (FRAME_X_DISPLAY (f), "_XEMBED_INFO", False);
 +  struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
  
    data[0] = XEMBED_VERSION;
    data[1] = flags;
  
 -  XChangeProperty (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), atom, atom,
 +  XChangeProperty (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f),
 +                   dpyinfo->Xatom_XEMBED_INFO, dpyinfo->Xatom_XEMBED_INFO,
                   32, PropModeReplace, (unsigned char *) data, 2);
  }
 +#endif /* defined USE_X_TOOLKIT || ! defined USE_GTK */
  
 -void
 -xembed_send_message (f, time, message, detail, data1, data2)
 -     struct frame *f;
 -     Time time;
 -     enum xembed_message message;
 -     long detail;
 -     long data1;
 -     long data2;
 +static void
 +xembed_send_message (struct frame *f, Time t, enum xembed_message msg,
 +                   long int detail, long int data1, long int data2)
  {
    XEvent event;
  
    event.xclient.window = FRAME_X_OUTPUT (f)->parent_desc;
    event.xclient.message_type = FRAME_X_DISPLAY_INFO (f)->Xatom_XEMBED;
    event.xclient.format = 32;
 -  event.xclient.data.l[0] = time;
 -  event.xclient.data.l[1] = message;
 +  event.xclient.data.l[0] = t;
 +  event.xclient.data.l[1] = msg;
    event.xclient.data.l[2] = detail;
    event.xclient.data.l[3] = data1;
    event.xclient.data.l[4] = data2;
     finishes with it.  */
  
  void
 -x_make_frame_visible (f)
 -     struct frame *f;
 +x_make_frame_visible (struct frame *f)
  {
    Lisp_Object type;
    int original_top, original_left;
            /* It could be confusing if a real alarm arrives while
               processing the fake one.  Turn it off and let the
               handler reset it.  */
 -          extern void poll_for_input_1 P_ ((void));
            int old_poll_suppress_count = poll_suppress_count;
            poll_suppress_count = 1;
            poll_for_input_1 ();
         unknown reason, the call to XtMapWidget is completely ignored.
         Mapping the widget a second time works.  */
  
 -    if (!FRAME_VISIBLE_P (f) && --retry_count > 0)
 +    if (!FRAME_VISIBLE_P (f) && --retry_count != 0)
        goto retry;
    }
  }
  /* Make the frame visible (mapped and not iconified).  */
  
  void
 -x_make_frame_invisible (f)
 -     struct frame *f;
 +x_make_frame_invisible (struct frame *f)
  {
    Window window;
  
  /* Change window state from mapped to iconified.  */
  
  void
 -x_iconify_frame (f)
 -     struct frame *f;
 +x_iconify_frame (struct frame *f)
  {
 +#ifdef USE_X_TOOLKIT
    int result;
 +#endif
    Lisp_Object type;
  
    /* Don't keep the highlight on an invisible frame.  */
    /* X11R4: send a ClientMessage to the window manager using the
       WM_CHANGE_STATE type.  */
    {
 -    XEvent message;
 +    XEvent msg;
  
 -    message.xclient.window = FRAME_X_WINDOW (f);
 -    message.xclient.type = ClientMessage;
 -    message.xclient.message_type = FRAME_X_DISPLAY_INFO (f)->Xatom_wm_change_state;
 -    message.xclient.format = 32;
 -    message.xclient.data.l[0] = IconicState;
 +    msg.xclient.window = FRAME_X_WINDOW (f);
 +    msg.xclient.type = ClientMessage;
 +    msg.xclient.message_type = FRAME_X_DISPLAY_INFO (f)->Xatom_wm_change_state;
 +    msg.xclient.format = 32;
 +    msg.xclient.data.l[0] = IconicState;
  
      if (! XSendEvent (FRAME_X_DISPLAY (f),
                      DefaultRootWindow (FRAME_X_DISPLAY (f)),
                      False,
                      SubstructureRedirectMask | SubstructureNotifyMask,
 -                    &message))
 +                    &msg))
        {
        UNBLOCK_INPUT_RESIGNAL;
        error ("Can't notify window manager of iconification");
  /* Free X resources of frame F.  */
  
  void
 -x_free_frame_resources (f)
 -     struct frame *f;
 +x_free_frame_resources (struct frame *f)
  {
    struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
 +  Mouse_HLInfo *hlinfo = &dpyinfo->mouse_highlight;
 +#ifdef USE_X_TOOLKIT
    Lisp_Object bar;
    struct scroll_bar *b;
 +#endif
  
    BLOCK_INPUT;
  
  #else  /* !USE_X_TOOLKIT */
  
  #ifdef USE_GTK
 -      /* In the GTK version, tooltips are normal X
 -         frames.  We must check and free both types. */
 -      if (FRAME_GTK_OUTER_WIDGET (f))
 -        {
 -          gtk_widget_destroy (FRAME_GTK_OUTER_WIDGET (f));
 -          FRAME_X_WINDOW (f) = 0; /* Set to avoid XDestroyWindow below */
 -          FRAME_GTK_OUTER_WIDGET (f) = 0;
 -        }
 +      xg_free_frame_widgets (f);
  #endif /* USE_GTK */
  
        if (FRAME_X_WINDOW (f))
    if (f == dpyinfo->x_highlight_frame)
      dpyinfo->x_highlight_frame = 0;
  
 -  if (f == dpyinfo->mouse_face_mouse_frame)
 +  if (f == hlinfo->mouse_face_mouse_frame)
      {
 -      dpyinfo->mouse_face_beg_row
 -      = dpyinfo->mouse_face_beg_col = -1;
 -      dpyinfo->mouse_face_end_row
 -      = dpyinfo->mouse_face_end_col = -1;
 -      dpyinfo->mouse_face_window = Qnil;
 -      dpyinfo->mouse_face_deferred_gc = 0;
 -      dpyinfo->mouse_face_mouse_frame = 0;
 +      hlinfo->mouse_face_beg_row
 +      = hlinfo->mouse_face_beg_col = -1;
 +      hlinfo->mouse_face_end_row
 +      = hlinfo->mouse_face_end_col = -1;
 +      hlinfo->mouse_face_window = Qnil;
 +      hlinfo->mouse_face_deferred_gc = 0;
 +      hlinfo->mouse_face_mouse_frame = 0;
      }
  
    UNBLOCK_INPUT;
  /* Destroy the X window of frame F.  */
  
  void
 -x_destroy_window (f)
 -     struct frame *f;
 +x_destroy_window (struct frame *f)
  {
    struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
  
  
  #ifndef USE_GTK
  void
 -x_wm_set_size_hint (f, flags, user_position)
 -     struct frame *f;
 -     long flags;
 -     int user_position;
 +x_wm_set_size_hint (struct frame *f, long flags, int user_position)
  {
    XSizeHints size_hints;
    Window window = FRAME_OUTER_WINDOW (f);
  /* Used for IconicState or NormalState */
  
  void
 -x_wm_set_window_state (f, state)
 -     struct frame *f;
 -     int state;
 +x_wm_set_window_state (struct frame *f, int state)
  {
  #ifdef USE_X_TOOLKIT
    Arg al[1];
  }
  
  void
 -x_wm_set_icon_pixmap (f, pixmap_id)
 -     struct frame *f;
 -     int pixmap_id;
 +x_wm_set_icon_pixmap (struct frame *f, int pixmap_id)
  {
    Pixmap icon_pixmap, icon_mask;
  
  }
  
  void
 -x_wm_set_icon_position (f, icon_x, icon_y)
 -     struct frame *f;
 -     int icon_x, icon_y;
 +x_wm_set_icon_position (struct frame *f, int icon_x, int icon_y)
  {
    Window window = FRAME_OUTER_WINDOW (f);
  
     font table.  */
  
  static void
 -x_check_font (f, font)
 -     struct frame *f;
 -     struct font *font;
 +x_check_font (struct frame *f, struct font *font)
  {
    Lisp_Object frame;
  
@@@ -9690,13 -9982,18 +9689,13 @@@ static int x_timeout_atimer_activated_f
  
  static int x_initialized;
  
 -#ifdef HAVE_X_SM
 -static int x_session_initialized;
 -#endif
 -
  /* Test whether two display-name strings agree up to the dot that separates
     the screen number from the server number.  */
  static int
 -same_x_server (name1, name2)
 -     const char *name1, *name2;
 +same_x_server (const char *name1, const char *name2)
  {
    int seen_colon = 0;
 -  const unsigned char *system_name = SDATA (Vsystem_name);
 +  const char *system_name = SSDATA (Vsystem_name);
    int system_name_length = strlen (system_name);
    int length_until_period = 0;
  
    for (; *name1 != '\0' && *name1 == *name2; name1++, name2++)
      {
        if (*name1 == ':')
 -      seen_colon++;
 +      seen_colon = 1;
        if (seen_colon && *name1 == '.')
        return 1;
      }
     get to the first bit.  With MASK 0x7e0, *BITS is set to 6, and *OFFSET
     to 5.  */
  static void
 -get_bits_and_offset (mask, bits, offset)
 -     unsigned long mask;
 -     int *bits;
 -     int *offset;
 +get_bits_and_offset (long unsigned int mask, int *bits, int *offset)
  {
    int nr = 0;
    int off = 0;
     But don't permanently open it, just test its availability.  */
  
  int
 -x_display_ok (display)
 -    const char *display;
 +x_display_ok (const char *display)
  {
      int dpy_ok = 1;
      Display *dpy;
  
  #ifdef USE_GTK
  static void
 -my_log_handler (log_domain, log_level, message, user_data)
 -     const gchar *log_domain;
 -     GLogLevelFlags log_level;
 -     const gchar *message;
 -     gpointer user_data;
 +my_log_handler (const gchar *log_domain, GLogLevelFlags log_level,
 +              const gchar *msg, gpointer user_data)
  {
 -  if (!strstr (message, "g_set_prgname"))
 -      fprintf (stderr, "%s-WARNING **: %s\n", log_domain, message);
 +  if (!strstr (msg, "g_set_prgname"))
 +      fprintf (stderr, "%s-WARNING **: %s\n", log_domain, msg);
  }
  #endif
 -  
 +
  /* Open a connection to X display DISPLAY_NAME, and return
     the structure that describes the open display.
     If we cannot contact the display, return null.  */
  
  struct x_display_info *
 -x_term_init (display_name, xrm_option, resource_name)
 -     Lisp_Object display_name;
 -     char *xrm_option;
 -     char *resource_name;
 +x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
  {
    int connection;
    Display *dpy;
    struct terminal *terminal;
    struct x_display_info *dpyinfo;
    XrmDatabase xrdb;
 +  Mouse_HLInfo *hlinfo;
  
    BLOCK_INPUT;
  
        ++x_initialized;
      }
  
 -  if (! x_display_ok (SDATA (display_name)))
 -    error ("Display %s can't be opened", SDATA (display_name));
 +  if (! x_display_ok (SSDATA (display_name)))
 +    error ("Display %s can't be opened", SSDATA (display_name));
  
  #ifdef USE_GTK
    {
      char *argv[NUM_ARGV];
      char **argv2 = argv;
      guint id;
 -#ifndef HAVE_GTK_MULTIDISPLAY
 -    if (!EQ (Vinitial_window_system, Qx))
 -      error ("Sorry, you cannot connect to X servers with the GTK toolkit");
 -#endif
  
      if (x_initialized++ > 1)
        {
 -#ifdef HAVE_GTK_MULTIDISPLAY
 -        /* Opening another display.  If xg_display_open returns less
 -           than zero, we are probably on GTK 2.0, which can only handle
 -           one display.  GTK 2.2 or later can handle more than one.  */
 -        if (xg_display_open (SDATA (display_name), &dpy) < 0)
 -#endif
 -          error ("Sorry, this version of GTK can only handle one display");
 +        xg_display_open (SSDATA (display_name), &dpy);
        }
      else
        {
 +        static char display_opt[] = "--display";
 +        static char name_opt[] = "--name";
 +
          for (argc = 0; argc < NUM_ARGV; ++argc)
            argv[argc] = 0;
  
  
          if (! NILP (display_name))
            {
 -            argv[argc++] = "--display";
 -            argv[argc++] = SDATA (display_name);
 +            argv[argc++] = display_opt;
 +            argv[argc++] = SSDATA (display_name);
            }
  
 -        argv[argc++] = "--name";
 +        argv[argc++] = name_opt;
          argv[argc++] = resource_name;
  
          XSetLocaleModifiers ("");
  
 +        /* Emacs can only handle core input events, so make sure
 +           Gtk doesn't use Xinput or Xinput2 extensions.  */
 +        {
 +          static char fix_events[] = "GDK_CORE_DEVICE_EVENTS=1";
 +          putenv (fix_events);
 +        }
 +
          /* Work around GLib bug that outputs a faulty warning. See
             https://bugzilla.gnome.org/show_bug.cgi?id=563627.  */
          id = g_log_set_handler ("GLib", G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
          fixup_locale ();
          xg_initialize ();
  
 -        dpy = GDK_DISPLAY ();
 +        dpy = DEFAULT_GDK_DISPLAY ();
  
          /* NULL window -> events for all windows go to our function */
          gdk_window_add_filter (NULL, event_handler_gdk, NULL);
  
 +#if GTK_MAJOR_VERSION <= 2 && GTK_MINOR_VERSION <= 90
          /* Load our own gtkrc if it exists.  */
          {
 -          char *file = "~/.emacs.d/gtkrc";
 +          const char *file = "~/.emacs.d/gtkrc";
            Lisp_Object s, abs_file;
  
            s = make_string (file, strlen (file));
            abs_file = Fexpand_file_name (s, Qnil);
  
            if (! NILP (abs_file) && !NILP (Ffile_readable_p (abs_file)))
 -            gtk_rc_parse (SDATA (abs_file));
 +            gtk_rc_parse (SSDATA (abs_file));
          }
 +#endif
  
          XSetErrorHandler (x_error_handler);
          XSetIOErrorHandler (x_io_error_quitter);
        argv[argc++] = xrm_option;
        }
      turn_on_atimers (0);
 -    dpy = XtOpenDisplay (Xt_app_con, SDATA (display_name),
 +    dpy = XtOpenDisplay (Xt_app_con, SSDATA (display_name),
                         resource_name, EMACS_CLASS,
                         emacs_options, XtNumber (emacs_options),
                         &argc, argv);
  
  #else /* not USE_X_TOOLKIT */
    XSetLocaleModifiers ("");
 -  dpy = XOpenDisplay (SDATA (display_name));
 +  dpy = XOpenDisplay (SSDATA (display_name));
  #endif /* not USE_X_TOOLKIT */
  #endif /* not USE_GTK*/
  
    /* We have definitely succeeded.  Record the new connection.  */
  
    dpyinfo = (struct x_display_info *) xmalloc (sizeof (struct x_display_info));
 -  bzero (dpyinfo, sizeof *dpyinfo);
 +  memset (dpyinfo, 0, sizeof *dpyinfo);
 +  hlinfo = &dpyinfo->mouse_highlight;
  
    terminal = x_create_terminal (dpyinfo);
  
  
      for (share = x_display_list, tail = x_display_name_list; share;
         share = share->next, tail = XCDR (tail))
 -      if (same_x_server (SDATA (XCAR (XCAR (tail))),
 -                       SDATA (display_name)))
 +      if (same_x_server (SSDATA (XCAR (XCAR (tail))),
 +                       SSDATA (display_name)))
        break;
      if (share)
        terminal->kboard = share->terminal->kboard;
        {
        terminal->kboard = (KBOARD *) xmalloc (sizeof (KBOARD));
        init_kboard (terminal->kboard);
 -      terminal->kboard->Vwindow_system = Qx;
 +      KVAR (terminal->kboard, Vwindow_system) = Qx;
  
        /* Add the keyboard to the list before running Lisp code (via
             Qvendor_specific_keysyms below), since these are not traced
            /* Temporarily hide the partially initialized terminal.  */
            terminal_list = terminal->next_terminal;
            UNBLOCK_INPUT;
 -          terminal->kboard->Vsystem_key_alist
 +          KVAR (terminal->kboard, Vsystem_key_alist)
              = call1 (Qvendor_specific_keysyms,
                       vendor ? build_string (vendor) : empty_unibyte_string);
            BLOCK_INPUT;
  
    /* Set the name of the terminal. */
    terminal->name = (char *) xmalloc (SBYTES (display_name) + 1);
 -  strncpy (terminal->name, SDATA (display_name), SBYTES (display_name));
 +  strncpy (terminal->name, SSDATA (display_name), SBYTES (display_name));
    terminal->name[SBYTES (display_name)] = 0;
  
  #if 0
                        + SBYTES (Vsystem_name)
                        + 2);
    sprintf (dpyinfo->x_id_name, "%s@%s",
 -         SDATA (Vinvocation_name), SDATA (Vsystem_name));
 +         SSDATA (Vinvocation_name), SSDATA (Vsystem_name));
  
    /* Figure out which modifier bits mean what.  */
    x_find_modifier_meanings (dpyinfo);
    dpyinfo->bitmaps_size = 0;
    dpyinfo->bitmaps_last = 0;
    dpyinfo->scratch_cursor_gc = 0;
 -  dpyinfo->mouse_face_mouse_frame = 0;
 -  dpyinfo->mouse_face_deferred_gc = 0;
 -  dpyinfo->mouse_face_beg_row = dpyinfo->mouse_face_beg_col = -1;
 -  dpyinfo->mouse_face_end_row = dpyinfo->mouse_face_end_col = -1;
 -  dpyinfo->mouse_face_face_id = DEFAULT_FACE_ID;
 -  dpyinfo->mouse_face_window = Qnil;
 -  dpyinfo->mouse_face_overlay = Qnil;
 -  dpyinfo->mouse_face_mouse_x = dpyinfo->mouse_face_mouse_y = 0;
 -  dpyinfo->mouse_face_defer = 0;
 -  dpyinfo->mouse_face_hidden = 0;
 +  hlinfo->mouse_face_mouse_frame = 0;
 +  hlinfo->mouse_face_deferred_gc = 0;
 +  hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
 +  hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
 +  hlinfo->mouse_face_face_id = DEFAULT_FACE_ID;
 +  hlinfo->mouse_face_window = Qnil;
 +  hlinfo->mouse_face_overlay = Qnil;
 +  hlinfo->mouse_face_mouse_x = hlinfo->mouse_face_mouse_y = 0;
 +  hlinfo->mouse_face_defer = 0;
 +  hlinfo->mouse_face_hidden = 0;
    dpyinfo->x_focus_frame = 0;
    dpyinfo->x_focus_event_frame = 0;
    dpyinfo->x_highlight_frame = 0;
                                          build_string ("PrivateColormap"),
                                          Qnil, Qnil);
          if (STRINGP (value)
 -            && (!strcmp (SDATA (value), "true")
 -                || !strcmp (SDATA (value), "on")))
 +            && (!strcmp (SSDATA (value), "true")
 +                || !strcmp (SSDATA (value), "on")))
            dpyinfo->cmap = XCopyColormapAndFree (dpyinfo->display, dpyinfo->cmap);
        }
      }
        dpyinfo->resx = (mm < 1) ? 100 : pixels * 25.4 / mm;
      }
  
 -  dpyinfo->Xatom_wm_protocols
 -    = XInternAtom (dpyinfo->display, "WM_PROTOCOLS", False);
 -  dpyinfo->Xatom_wm_take_focus
 -    = XInternAtom (dpyinfo->display, "WM_TAKE_FOCUS", False);
 -  dpyinfo->Xatom_wm_save_yourself
 -    = XInternAtom (dpyinfo->display, "WM_SAVE_YOURSELF", False);
 -  dpyinfo->Xatom_wm_delete_window
 -    = XInternAtom (dpyinfo->display, "WM_DELETE_WINDOW", False);
 -  dpyinfo->Xatom_wm_change_state
 -    = XInternAtom (dpyinfo->display, "WM_CHANGE_STATE", False);
 -  dpyinfo->Xatom_wm_configure_denied
 -    = XInternAtom (dpyinfo->display, "WM_CONFIGURE_DENIED", False);
 -  dpyinfo->Xatom_wm_window_moved
 -    = XInternAtom (dpyinfo->display, "WM_MOVED", False);
 -  dpyinfo->Xatom_wm_client_leader
 -    = XInternAtom (dpyinfo->display, "WM_CLIENT_LEADER", False);
 -  dpyinfo->Xatom_editres
 -    = XInternAtom (dpyinfo->display, "Editres", False);
 -  dpyinfo->Xatom_CLIPBOARD
 -    = XInternAtom (dpyinfo->display, "CLIPBOARD", False);
 -  dpyinfo->Xatom_TIMESTAMP
 -    = XInternAtom (dpyinfo->display, "TIMESTAMP", False);
 -  dpyinfo->Xatom_TEXT
 -    = XInternAtom (dpyinfo->display, "TEXT", False);
 -  dpyinfo->Xatom_COMPOUND_TEXT
 -    = XInternAtom (dpyinfo->display, "COMPOUND_TEXT", False);
 -  dpyinfo->Xatom_UTF8_STRING
 -    = XInternAtom (dpyinfo->display, "UTF8_STRING", False);
 -  dpyinfo->Xatom_DELETE
 -    = XInternAtom (dpyinfo->display, "DELETE", False);
 -  dpyinfo->Xatom_MULTIPLE
 -    = XInternAtom (dpyinfo->display, "MULTIPLE", False);
 -  dpyinfo->Xatom_INCR
 -    = XInternAtom (dpyinfo->display, "INCR", False);
 -  dpyinfo->Xatom_EMACS_TMP
 -    = XInternAtom (dpyinfo->display, "_EMACS_TMP_", False);
 -  dpyinfo->Xatom_TARGETS
 -    = XInternAtom (dpyinfo->display, "TARGETS", False);
 -  dpyinfo->Xatom_NULL
 -    = XInternAtom (dpyinfo->display, "NULL", False);
 -  dpyinfo->Xatom_ATOM_PAIR
 -    = XInternAtom (dpyinfo->display, "ATOM_PAIR", False);
 -  /* For properties of font.  */
 -  dpyinfo->Xatom_PIXEL_SIZE
 -    = XInternAtom (dpyinfo->display, "PIXEL_SIZE", False);
 -  dpyinfo->Xatom_AVERAGE_WIDTH
 -    = XInternAtom (dpyinfo->display, "AVERAGE_WIDTH", False);
 -  dpyinfo->Xatom_MULE_BASELINE_OFFSET
 -    = XInternAtom (dpyinfo->display, "_MULE_BASELINE_OFFSET", False);
 -  dpyinfo->Xatom_MULE_RELATIVE_COMPOSE
 -    = XInternAtom (dpyinfo->display, "_MULE_RELATIVE_COMPOSE", False);
 -  dpyinfo->Xatom_MULE_DEFAULT_ASCENT
 -    = XInternAtom (dpyinfo->display, "_MULE_DEFAULT_ASCENT", False);
 -
 -  /* Ghostscript support.  */
 -  dpyinfo->Xatom_PAGE = XInternAtom (dpyinfo->display, "PAGE", False);
 -  dpyinfo->Xatom_DONE = XInternAtom (dpyinfo->display, "DONE", False);
 -
 -  dpyinfo->Xatom_Scrollbar = XInternAtom (dpyinfo->display, "SCROLLBAR",
 -                                        False);
 -
 -  dpyinfo->Xatom_XEMBED = XInternAtom (dpyinfo->display, "_XEMBED",
 -                                     False);
 -
 -  dpyinfo->Xatom_net_wm_state
 -    = XInternAtom (dpyinfo->display, "_NET_WM_STATE", False);
 -  dpyinfo->Xatom_net_wm_state_fullscreen_atom
 -    = XInternAtom (dpyinfo->display, "_NET_WM_STATE_FULLSCREEN", False);
 -  dpyinfo->Xatom_net_wm_state_maximized_horz
 -    = XInternAtom (dpyinfo->display, "_NET_WM_STATE_MAXIMIZED_HORZ", False);
 -  dpyinfo->Xatom_net_wm_state_maximized_vert
 -    = XInternAtom (dpyinfo->display, "_NET_WM_STATE_MAXIMIZED_VERT", False);
 -  dpyinfo->Xatom_net_wm_state_sticky
 -    = XInternAtom (dpyinfo->display, "_NET_WM_STATE_STICKY", False);
 -  dpyinfo->Xatom_net_window_type
 -    = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE", False);
 -  dpyinfo->Xatom_net_window_type_tooltip
 -    = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE_TOOLTIP", False);
 -  dpyinfo->Xatom_net_frame_extents  
 -    = XInternAtom (dpyinfo->display, "_NET_FRAME_EXTENTS", False);
 -  dpyinfo->cut_buffers_initialized = 0;
 +  {
 +    const struct
 +    {
 +      const char *name;
 +      Atom *atom;
 +    } atom_refs[] = {
 +      { "WM_PROTOCOLS", &dpyinfo->Xatom_wm_protocols  },
 +      { "WM_TAKE_FOCUS", &dpyinfo->Xatom_wm_take_focus },
 +      { "WM_SAVE_YOURSELF", &dpyinfo->Xatom_wm_save_yourself },
 +      { "WM_DELETE_WINDOW", &dpyinfo->Xatom_wm_delete_window },
 +      { "WM_CHANGE_STATE", &dpyinfo->Xatom_wm_change_state },
 +      { "WM_CONFIGURE_DENIED", &dpyinfo->Xatom_wm_configure_denied },
 +      { "WM_MOVED", &dpyinfo->Xatom_wm_window_moved },
 +      { "WM_CLIENT_LEADER", &dpyinfo->Xatom_wm_client_leader },
 +      { "Editres", &dpyinfo->Xatom_editres },
 +      { "CLIPBOARD", &dpyinfo->Xatom_CLIPBOARD },
 +      { "TIMESTAMP", &dpyinfo->Xatom_TIMESTAMP },
 +      { "TEXT", &dpyinfo->Xatom_TEXT },
 +      { "COMPOUND_TEXT", &dpyinfo->Xatom_COMPOUND_TEXT },
 +      { "UTF8_STRING", &dpyinfo->Xatom_UTF8_STRING },
 +      { "DELETE", &dpyinfo->Xatom_DELETE },
 +      { "MULTIPLE", &dpyinfo->Xatom_MULTIPLE },
 +      { "INCR", &dpyinfo->Xatom_INCR },
 +      { "_EMACS_TMP_",  &dpyinfo->Xatom_EMACS_TMP },
 +      { "TARGETS", &dpyinfo->Xatom_TARGETS },
 +      { "NULL", &dpyinfo->Xatom_NULL },
 +      { "ATOM_PAIR", &dpyinfo->Xatom_ATOM_PAIR },
 +      { "_XEMBED_INFO", &dpyinfo->Xatom_XEMBED_INFO },
 +      /* For properties of font.  */
 +      { "PIXEL_SIZE", &dpyinfo->Xatom_PIXEL_SIZE },
 +      { "AVERAGE_WIDTH", &dpyinfo->Xatom_AVERAGE_WIDTH },
 +      { "_MULE_BASELINE_OFFSET", &dpyinfo->Xatom_MULE_BASELINE_OFFSET },
 +      { "_MULE_RELATIVE_COMPOSE", &dpyinfo->Xatom_MULE_RELATIVE_COMPOSE },
 +      { "_MULE_DEFAULT_ASCENT", &dpyinfo->Xatom_MULE_DEFAULT_ASCENT },
 +      /* Ghostscript support.  */
 +      { "DONE", &dpyinfo->Xatom_DONE },
 +      { "PAGE", &dpyinfo->Xatom_PAGE },
 +      { "SCROLLBAR", &dpyinfo->Xatom_Scrollbar },
 +      { "_XEMBED", &dpyinfo->Xatom_XEMBED },
 +      /* EWMH */
 +      { "_NET_WM_STATE", &dpyinfo->Xatom_net_wm_state },
 +      { "_NET_WM_STATE_FULLSCREEN", &dpyinfo->Xatom_net_wm_state_fullscreen },
 +      { "_NET_WM_STATE_MAXIMIZED_HORZ",
 +        &dpyinfo->Xatom_net_wm_state_maximized_horz },
 +      { "_NET_WM_STATE_MAXIMIZED_VERT",
 +        &dpyinfo->Xatom_net_wm_state_maximized_vert },
 +      { "_NET_WM_STATE_STICKY", &dpyinfo->Xatom_net_wm_state_sticky },
 +      { "_NET_WM_WINDOW_TYPE", &dpyinfo->Xatom_net_window_type },
 +      { "_NET_WM_WINDOW_TYPE_TOOLTIP",
 +        &dpyinfo->Xatom_net_window_type_tooltip },
 +      { "_NET_WM_ICON_NAME", &dpyinfo->Xatom_net_wm_icon_name },
 +      { "_NET_WM_NAME", &dpyinfo->Xatom_net_wm_name },
 +      { "_NET_SUPPORTED",  &dpyinfo->Xatom_net_supported },
 +      { "_NET_SUPPORTING_WM_CHECK", &dpyinfo->Xatom_net_supporting_wm_check },
 +      { "_NET_WM_WINDOW_OPACITY", &dpyinfo->Xatom_net_wm_window_opacity },
 +      { "_NET_ACTIVE_WINDOW", &dpyinfo->Xatom_net_active_window },
 +      { "_NET_FRAME_EXTENTS", &dpyinfo->Xatom_net_frame_extents },
 +      /* Session management */
 +      { "SM_CLIENT_ID", &dpyinfo->Xatom_SM_CLIENT_ID },
 +      { "_XSETTINGS_SETTINGS", &dpyinfo->Xatom_xsettings_prop },
 +      { "MANAGER", &dpyinfo->Xatom_xsettings_mgr },
 +    };
 +
 +    int i;
 +    const int atom_count = sizeof (atom_refs) / sizeof (atom_refs[0]);
 +    /* 1 for _XSETTINGS_SN  */
 +    const int total_atom_count = 1 + atom_count;
 +    Atom *atoms_return = xmalloc (sizeof (Atom) * total_atom_count);
 +    char **atom_names = xmalloc (sizeof (char *) * total_atom_count);
 +    char xsettings_atom_name[64];
 +
 +    for (i = 0; i < atom_count; i++)
 +      atom_names[i] = (char *) atom_refs[i].name;
 +
 +    /* Build _XSETTINGS_SN atom name */
 +    snprintf (xsettings_atom_name, sizeof (xsettings_atom_name),
 +              "_XSETTINGS_S%d", XScreenNumberOfScreen (dpyinfo->screen));
 +    atom_names[i] = xsettings_atom_name;
 +
 +    XInternAtoms (dpyinfo->display, atom_names, total_atom_count,
 +                  False, atoms_return);
 +
 +    for (i = 0; i < atom_count; i++)
 +      *atom_refs[i].atom = atoms_return[i];
 +
 +    /* Manual copy of last atom */
 +    dpyinfo->Xatom_xsettings_sel = atoms_return[i];
 +
 +    xfree (atom_names);
 +    xfree (atoms_return);
 +  }
  
    dpyinfo->x_dnd_atoms_size = 8;
    dpyinfo->x_dnd_atoms_length = 0;
    dpyinfo->connection = connection;
  
    {
 -    extern int gray_bitmap_width, gray_bitmap_height;
 -    extern char *gray_bitmap_bits;
      dpyinfo->gray
        = XCreatePixmapFromBitmapData (dpyinfo->display, dpyinfo->root_window,
                                     gray_bitmap_bits,
  
    xsettings_initialize (dpyinfo);
  
 -#ifdef subprocesses
    /* This is only needed for distinguishing keyboard and process input.  */
    if (connection != 0)
      add_keyboard_wait_descriptor (connection);
 -#endif
  
  #ifdef F_SETOWN
    fcntl (connection, F_SETOWN, getpid ());
                                    build_string ("Synchronous"),
                                    Qnil, Qnil);
      if (STRINGP (value)
 -      && (!strcmp (SDATA (value), "true")
 -          || !strcmp (SDATA (value), "on")))
 +      && (!strcmp (SSDATA (value), "true")
 +          || !strcmp (SSDATA (value), "on")))
        XSynchronize (dpyinfo->display, True);
    }
  
                                    Qnil, Qnil);
  #ifdef USE_XIM
      if (STRINGP (value)
 -      && (!strcmp (SDATA (value), "false")
 -          || !strcmp (SDATA (value), "off")))
 +      && (!strcmp (SSDATA (value), "false")
 +          || !strcmp (SSDATA (value), "off")))
        use_xim = 0;
  #else
      if (STRINGP (value)
 -      && (!strcmp (SDATA (value), "true")
 -          || !strcmp (SDATA (value), "on")))
 +      && (!strcmp (SSDATA (value), "true")
 +          || !strcmp (SSDATA (value), "on")))
        use_xim = 1;
  #endif
    }
     and without sending any more commands to the X server.  */
  
  void
 -x_delete_display (dpyinfo)
 -     struct x_display_info *dpyinfo;
 +x_delete_display (struct x_display_info *dpyinfo)
  {
    struct terminal *t;
  
  #ifdef HAVE_X_SM
          /* Close X session management when we close its display.  */
          if (t->id == 1 && x_session_have_connection ())
 -          x_session_close();
 +          x_session_close ();
  #endif
          delete_terminal (t);
          break;
     that slows us down.  */
  
  static void
 -x_process_timeouts (timer)
 -     struct atimer *timer;
 +x_process_timeouts (struct atimer *timer)
  {
    BLOCK_INPUT;
    x_timeout_atimer_activated_flag = 0;
     processed, these widgets don't behave normally.  */
  
  void
 -x_activate_timeout_atimer ()
 +x_activate_timeout_atimer (void)
  {
    BLOCK_INPUT;
    if (!x_timeout_atimer_activated_flag)
@@@ -10610,7 -10909,7 +10609,7 @@@ x_create_terminal (struct x_display_inf
  }
  
  void
 -x_initialize ()
 +x_initialize (void)
  {
    baud_rate = 19200;
  
    last_tool_bar_item = -1;
    any_help_event_p = 0;
    ignore_next_mouse_click_timeout = 0;
 -#ifdef HAVE_X_SM
 -  x_session_initialized = 0;
 -#endif
  
  #ifdef USE_GTK
    current_count = -1;
  
  
  void
 -syms_of_xterm ()
 +syms_of_xterm (void)
  {
    x_error_message = NULL;
  
  #endif
  
    DEFVAR_BOOL ("x-use-underline-position-properties",
 -             &x_use_underline_position_properties,
 +             x_use_underline_position_properties,
       doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties.
  A value of nil means ignore them.  If you encounter fonts with bogus
  UNDERLINE_POSITION font properties, for example 7x13 on XFree prior
@@@ -10703,7 -11005,7 +10702,7 @@@ sizes.  */)
    x_use_underline_position_properties = 1;
  
    DEFVAR_BOOL ("x-underline-at-descent-line",
 -             &x_underline_at_descent_line,
 +             x_underline_at_descent_line,
       doc: /* *Non-nil means to draw the underline at the same place as the descent line.
  A value of nil means to draw the underline according to the value of the
  variable `x-use-underline-position-properties', which is usually at the
@@@ -10711,7 -11013,7 +10710,7 @@@ baseline level.  The default value is n
    x_underline_at_descent_line = 0;
  
    DEFVAR_BOOL ("x-mouse-click-focus-ignore-position",
 -             &x_mouse_click_focus_ignore_position,
 +             x_mouse_click_focus_ignore_position,
      doc: /* Non-nil means that a mouse click to focus a frame does not move point.
  This variable is only used when the window manager requires that you
  click on a frame to select it (give it focus).  In that case, a value
@@@ -10720,12 -11022,10 +10719,12 @@@ reflect the mouse click position, whil
  selected window or cursor position is preserved.  */);
    x_mouse_click_focus_ignore_position = 0;
  
 -  DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars,
 -    doc: /* What X toolkit scroll bars Emacs uses.
 -A value of nil means Emacs doesn't use X toolkit scroll bars.
 -Otherwise, value is a symbol describing the X toolkit.  */);
 +  DEFVAR_LISP ("x-toolkit-scroll-bars", Vx_toolkit_scroll_bars,
 +    doc: /* Which toolkit scroll bars Emacs uses, if any.
 +A value of nil means Emacs doesn't use toolkit scroll bars.
 +With the X Window system, the value is a symbol describing the
 +X toolkit.  Possible values are: gtk, motif, xaw, or xaw3d.
 +With MS Windows, the value is t.  */);
  #ifdef USE_TOOLKIT_SCROLL_BARS
  #ifdef USE_MOTIF
    Vx_toolkit_scroll_bars = intern_c_string ("motif");
    Qsuper = intern_c_string ("super");
    Fput (Qsuper, Qmodifier_value, make_number (super_modifier));
  
 -  DEFVAR_LISP ("x-alt-keysym", &Vx_alt_keysym,
 +  DEFVAR_LISP ("x-alt-keysym", Vx_alt_keysym,
      doc: /* Which keys Emacs uses for the alt modifier.
  This should be one of the symbols `alt', `hyper', `meta', `super'.
  For example, `alt' means use the Alt_L and Alt_R keysyms.  The default
  is nil, which is the same as `alt'.  */);
    Vx_alt_keysym = Qnil;
  
 -  DEFVAR_LISP ("x-hyper-keysym", &Vx_hyper_keysym,
 +  DEFVAR_LISP ("x-hyper-keysym", Vx_hyper_keysym,
      doc: /* Which keys Emacs uses for the hyper modifier.
  This should be one of the symbols `alt', `hyper', `meta', `super'.
  For example, `hyper' means use the Hyper_L and Hyper_R keysyms.  The
  default is nil, which is the same as `hyper'.  */);
    Vx_hyper_keysym = Qnil;
  
 -  DEFVAR_LISP ("x-meta-keysym", &Vx_meta_keysym,
 +  DEFVAR_LISP ("x-meta-keysym", Vx_meta_keysym,
      doc: /* Which keys Emacs uses for the meta modifier.
  This should be one of the symbols `alt', `hyper', `meta', `super'.
  For example, `meta' means use the Meta_L and Meta_R keysyms.  The
  default is nil, which is the same as `meta'.  */);
    Vx_meta_keysym = Qnil;
  
 -  DEFVAR_LISP ("x-super-keysym", &Vx_super_keysym,
 +  DEFVAR_LISP ("x-super-keysym", Vx_super_keysym,
      doc: /* Which keys Emacs uses for the super modifier.
  This should be one of the symbols `alt', `hyper', `meta', `super'.
  For example, `super' means use the Super_L and Super_R keysyms.  The
  default is nil, which is the same as `super'.  */);
    Vx_super_keysym = Qnil;
  
 -  DEFVAR_LISP ("x-keysym-table", &Vx_keysym_table,
 +  DEFVAR_LISP ("x-keysym-table", Vx_keysym_table,
      doc: /* Hash table of character codes indexed by X keysym codes.  */);
    Vx_keysym_table = make_hash_table (Qeql, make_number (900),
                                     make_float (DEFAULT_REHASH_SIZE),
  }
  
  #endif /* HAVE_X_WINDOWS */
 -
 -/* arch-tag: 6d4e4cb7-abc1-4302-9585-d84dcfb09d0f
 -   (do not change this comment) */