]> code.delx.au - gnu-emacs/commitdiff
Merge from emacs-23; up to 2012-01-19T07:15:48Z!rgm@gnu.org.
authorGlenn Morris <rgm@gnu.org>
Thu, 19 Jan 2012 07:21:25 +0000 (23:21 -0800)
committerGlenn Morris <rgm@gnu.org>
Thu, 19 Jan 2012 07:21:25 +0000 (23:21 -0800)
1  2 
admin/grammars/python.wy
admin/grammars/wisent-grammar.el
etc/NEWS.23
lisp/cedet/semantic/wisent/js-wy.el
lisp/cedet/semantic/wisent/python-wy.el
src/ChangeLog
src/character.c

diff --combined admin/grammars/python.wy
index 65f317145a0e997e94391ee33541f4e65db9b1b8,4b288dcb9a2e7a96a39cb0bfb27e9df647bc6e85..f7808fd20b8c5ad2b7e2ceb862e79230a0653de6
@@@ -1,7 -1,8 +1,8 @@@
  ;;; python.wy -- LALR grammar for Python
  
 -;; Copyright (C) 2002-2011, 2012 Free Software Foundation, Inc.
 +;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
- ;; Copyright (C) 2001-2010 Python Software Foundation
+ ;; Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+ ;; 2009, 2010 Python Software Foundation; All Rights Reserved
  
  ;; Author: Richard Kim <ryk@dspwiz.com>
  ;; Maintainer: Richard Kim <ryk@dspwiz.com>
  %token <charquote>   BACKSLASH          "\\"
  %token <newline>     NEWLINE      "\n"
  %token <indentation> INDENT       "^\\s-+"
 -%token <indentation> DEDENT       "[^:INDENT:]" 
 +%token <indentation> DEDENT       "[^:INDENT:]"
  %token <indentation> INDENT_BLOCK "(INDENT DEDENT)"
  
  ;; -----------------------------
@@@ -828,7 -829,7 +829,7 @@@ paren_classe
    ;
  
  ;; In general, the base class can be specified by a general expression
 -;; which evalue to a class object, i.e., base classes are not just names!
 +;; which evaluates to a class object, i.e., base classes are not just names!
  ;; However base classes are names in most cases.  Thus the
  ;; non-terminals below work only with simple names.  Even if the
  ;; parser can parse general expressions, I don't see much benefit in
@@@ -1129,4 -1130,4 +1130,4 @@@ semicolon_op
    | SEMICOLON
    ;
  
 -;;; wisent-python.wy ends here
 +;;; python.wy ends here
index be014a56906f96ef400639e850884528ca4e2117,77fdfddc5bfbb47da8601c4858a2e680f856007f..714b5211127aed77f6b7a84b14a9aebeabce1fe4
@@@ -1,6 -1,6 +1,6 @@@
  ;;; wisent-grammar.el --- Wisent's input grammar mode
  
 -;; Copyright (C) 2002-2011, 2012 Free Software Foundation, Inc.
 +;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
  ;;
  ;; Author: David Ponce <david@dponce.com>
  ;; Maintainer: David Ponce <david@dponce.com>
@@@ -331,7 -331,7 +331,7 @@@ Menu items are appended to the common g
       (grammar-setupcode-builder  . wisent-grammar-setupcode-builder)
       )))
  
 -(add-to-list 'auto-mode-alist '("\\.wy$" . wisent-grammar-mode))
 +(add-to-list 'auto-mode-alist '("\\.wy\\'" . wisent-grammar-mode))
  
  (defvar-mode-local wisent-grammar-mode semantic-grammar-macros
    '(
      )
    "Semantic grammar macros used in wisent grammars.")
  
 -
  (defvar wisent-make-parsers--emacs-license
    ";; This file is part of GNU Emacs.
  
       "srecode/srt-wy")
      ("wisent-javascript-jv-wy.el"
       "semantic/wisent/js-wy"
-      "Copyright (C) 1998-2011 Ecma International"
+      "Copyright (C) 1998-2011 Ecma International."
       ,wisent-make-parsers--ecmascript-license)
      ("wisent-java-tags-wy.el"
       "semantic/wisent/javat-wy")
      ("wisent-python-wy.el"
       "semantic/wisent/python-wy"
-      "Copyright (C) 2001-2010 Python Software Foundation"
+      "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Python Software Foundation; All Rights Reserved."
       ,wisent-make-parsers--python-license)))
  
  (defun wisent-make-parsers ()
    (semantic-mode 1)
    ;; Loop through each .wy file in current directory, and run
    ;; `semantic-grammar-batch-build-one-package' to build the grammar.
 -  (dolist (f (directory-files default-directory nil ".wy$"))
 +  (dolist (f (directory-files default-directory nil "\\.wy\\'"))
      (let ((packagename
             (condition-case err
                 (with-current-buffer (find-file-noselect f)
          ;; Touch up the generated parsers for Emacs integration.
          (with-temp-buffer
            (insert-file-contents packagename)
 -          (setq buffer-file-name (expand-file-name packagename))
            ;; Fix copyright header:
            (goto-char (point-min))
            (when additional-copyright
            (insert wisent-make-parsers--emacs-license)
            (insert "\n\n;;; Commentary:
  ;;
 -;; This file was generated from etc/grammars/"
 +;; This file was generated from admin/grammars/"
                        f ".")
            (when additional-license
              (insert "\n" additional-license))
            (insert ";;; " require-name
                    ".el --- Generated parser support file")
            (delete-trailing-whitespace)
 -          (re-search-forward ";;\n(require 'semantic-lex)\n")
 +          (re-search-forward ";;\n(require 'semantic/lex)\n")
            (delete-region (match-beginning 0) (match-end 0))
            ;; Fix footer:
            (goto-char (point-max))
            (goto-char (point-max))
            (insert "(provide '" require-name ")\n\n")
            (insert ";;; " require-name ".el ends here\n")
 -          (let ((make-backup-files nil))
 -            (save-buffer))))))))
 -
 -
 +          (write-region nil nil (expand-file-name packagename))))))))
  
  ;;; wisent-grammar.el ends here
diff --combined etc/NEWS.23
index f9dbfa8adef053fdb27536ec9b52e145e35430d4,0000000000000000000000000000000000000000..77ba82c15ad43346709c8b8fbdd17ed1612292a1
mode 100644,000000..100644
--- /dev/null
@@@ -1,2531 -1,0 +1,2541 @@@
\f
 +GNU Emacs NEWS -- history of user-visible changes.
 +
 +Copyright (C) 2007-2012 Free Software Foundation, Inc.
 +See the end of the file for license conditions.
 +
 +Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
 +If possible, use M-x report-emacs-bug.
 +
 +This file is about changes in Emacs version 23.
 +
 +See files NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17
 +for changes in older Emacs versions.
 +
 +You can narrow news to a specific version by calling `view-emacs-news'
 +with a prefix argument or by typing C-u C-h C-n.
 +
 +\f
 +* Installation Changes in Emacs 23.4
 +
 +** The MS-Windows build prefers libpng version 1.14 or later.
 +Versions of libpng before 1.14 had security issues, so we now
 +recommend to use version 1.14 or later.  Precompiled Windows binaries
 +require version 1.14 or later.  See README.W32 and nt/INSTALL for
 +details and pointers to URLs where the latest libpng can be
 +downloaded.
 +
- have up to 2GB of heap space.  This allows, e.g., to visit several
++* Changes in Specialized Modes and Packages in Emacs 23.4
++
++** EDE
++
++*** New variable `ede-project-directories'.
++EDE now refuses to automatically load a project file (Project.ede)
++unless the file is in one of the directories specified by this
++variable.  This reduces the risk of inadvertently loading malicious
++project files.  The commands `M-x ede-new' and `M-x ede' now offer to
++save directories to `ede-project-directories'.
++
 +* Changes in Emacs 23.4 on non-free operating systems
 +
 +** The MS-Windows port can now use more than 500MB of heap.
 +Depending on the available virtual memory, Emacs on Windows can now
++have up to 2GB of heap space.  This allows, e.g., visiting several
 +large (> 256MB) files in the same session.
 +
 +\f
 +* Installation Changes in Emacs 23.3
 +
 +** New configure option --with-crt-dir specifies the location of your
 +crt*.o files, if they are in a non-standard location.  This is only
 +used on x86-64 and s390x GNU/Linux architectures.
 +
 +* Changes in Emacs 23.3
 +
 +** The last-resort backup file `%backup%~' is now written to
 +`user-emacs-directory', instead of the user's home directory.
 +
 +** If Emacs creates `user-emacs-directory', that directory's
 +permissions are now set to rwx------, ignoring the umask.
 +
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 23.3
 +
 +** Calendar and diary
 +
 +*** The appt-add command takes an optional argument, the warning time.
 +This can be used in place of the default appt-message-warning-time.
 +
 +** Python mode
 +
 +*** You can allow inferior Python processes to load modules from the
 +current directory by setting `python-remove-cwd-from-path' to nil.
 +
 +** Rmail
 +
 +*** The default value of `rmail-enable-mime' is now t.  Rmail decodes
 +MIME contents automatically.  You can customize the variable
 +`rmail-enable-mime' back to `nil' to disable this automatic MIME
 +decoding.
 +
 +*** The command `rmail-mime' change the displaying of a MIME message
 +between decoded presentation form and raw data if `rmail-enable-mime'
 +is non-nil.  And, with prefix argument, it change only the displaying
 +of the MIME entity at point.
 +
 +*** The new command `rmail-mime-next-item' (bound to TAB) moves point
 +to the next item of MIME message.
 +
 +*** The new command `rmail-mime-previous-item' (bound to backtab) moves
 +point to the previous item of MIME message.
 +
 +*** The new command `rmail-mime-toggle-hidden' (RET) hide or show the
 +body of the MIME entity at point.
 +
 +** VC and related modes
 +
 +*** New VC command `vc-log-incoming', bound to `C-x v I'.
 +This shows a log of changes to be received with a pull operation.
 +For Git, this runs "git fetch" to make the necessary data available
 +locally; this requires version 1.7 or newer.
 +
 +*** New VC command `vc-log-outgoing', bound to `C-x v O'.
 +This shows a log of changes to be sent in the next commit.
 +
 +*** New VC command vc-find-conflicted-file.
 +
 +*** The 'g' key in VC diff, log, log-incoming and log-outgoing buffers
 +reruns the corresponding VC command to compute an up to date version
 +of the buffer.
 +
 +*** vc-dir for Bzr supports viewing shelve contents and shelving snapshots.
 +
 +*** Special markup can be added to log-edit buffers.
 +You can add headers specifying additional information to be supplied
 +to the version control system.  For example:
 +
 +  Author: J. R. Hacker <jrh@example.com>
 +  Fixes: 4204
 +  Actual text of log entry...
 +
 +Bazaar recognizes the headers "Author", "Date" and "Fixes".
 +Git, Mercurial, and Monotone recognize "Author" and "Date".
 +Any unknown header is left as is in the message, so it is not lost.
 +
 +** Obsolete packages
 +
 +*** lmenu.el and cl-compat.el are now obsolete.
 +
 +\f
 +* New Modes and Packages in Emacs 23.3
 +
 +** smie.el is a generic navigation and indentation engine.
 +It takes a simple BNF description of the grammar, and provides both
 +sexp-style navigation (jumping over begin..end pairs) as well as
 +indentation, which can be adjusted via ad-hoc indentation rules.
 +
 +\f
 +* Incompatible Lisp Changes in Emacs 23.3
 +
 +** posn-col-row now excludes the header line from the row count
 +If the frame has a header line, posn-col-row will count row numbers
 +starting from the first line of text below the header line.
 +
 +\f
 +* Lisp changes in Emacs 23.3
 +
 +** `e' and `pi' are now called `float-e' and `float-pi'.
 +  The old names are obsolete.
 +
 +** The use of unintern without an obarray arg is now obsolete.
 +
 +** The function `princ-list' is now obsolete.
 +
 +** The yank-handler argument to kill-region and friends is now obsolete.
 +
 +** New function byte-to-string, like char-to-string but for bytes.
 +
 +\f
 +* Changes in Emacs 23.3 on non-free operating systems
 +
 +** The NeXTstep port can have different modifiers for the left and right
 +alt/option key by customizing the value for ns-right-alternate-modifier.
 +
 +\f
 +* Installation Changes in Emacs 23.2
 +
 +** New configure options for Emacs developers.
 +These are not new features; only the configure flags are new.
 +
 +*** --enable-profiling builds Emacs with profiling enabled.
 +This might not work on all platforms.
 +
 +*** --enable-checking[=OPTIONS] builds emacs with extra runtime checks.
 +
 +** `make install' now consistently ignores umask, creating a
 +world-readable install.
 +
 +** Emacs compiles with Gconf support, if it is detected.
 +Use the configure option --without-gconf to disable this.
 +This is used by the `font-use-system-font' feature (see below).
 +
 +* Startup Changes in Emacs 23.2
 +
 +** The command-line option -Q (--quick) also inhibits loading X resources.
 +However, if Emacs is compiled with the Lucid or Motif toolkit, X
 +resource settings for the graphical widgets are still applied.
 +On Windows, the -Q option causes Emacs to ignore Registry settings,
 +but environment variables set on the Registry are still honored.
 +
 +*** The new variable `inhibit-x-resources' shows whether X resources
 +were loaded.
 +
 +** New command-line option -mm (--maximized) maximizes the initial frame.
 +
 +* Changes in Emacs 23.2
 +
 +** The maximum size of buffers (and the largest fixnum) is doubled.
 +On typical 32bit systems, buffers can now be up to 512MB.
 +
 +** The default value of `trash-directory' is now nil.
 +This means that `move-file-to-trash' trashes files according to
 +freedesktop.org specifications, the same method used by the Gnome,
 +KDE, and XFCE desktops.  (This change has no effect on Windows, which
 +uses `system-move-file-to-trash' for trashing.)
 +
 +** The pointer now becomes invisible when typing.
 +Customize `make-pointer-invisible' to disable this feature.
 +
 +** Font changes
 +
 +*** Emacs can use the system default monospaced font in Gnome.
 +To enable this feature, set `font-use-system-font' to non-nil (it is
 +nil by default).  If the system default changes, Emacs changes also.
 +This feature requires Gconf support, which is automatically included
 +at compile-time if configure detects the gconf libraries (you can
 +disable this with the configure option --without-gconf).
 +
 +*** On X11, Emacs reacts to Xft changes made by configuration tools,
 +via the XSETTINGS mechanism.  This includes antialias, hinting,
 +hintstyle, RGBA, DPI and lcdfilter changes.
 +
 +** Killing a buffer with a running process now asks for confirmation.
 +To remove this query, remove `process-kill-buffer-query-function' from
 +`kill-buffer-query-functions', or set the appropriate process flag
 +with `set-process-query-on-exit-flag'.
 +
 +** File-local variable changes
 +
 +*** Specifying a minor mode as a local variables enables that mode,
 +unconditionally.  The previous behavior, toggling the mode, was
 +neither reliable nor generally desirable.
 +
 +*** There are new commands for adding and removing file-local variables:
 +`add-file-local-variable', `delete-file-local-variable',
 +`add-file-local-variable-prop-line', and
 +`delete-file-local-variable-prop-line'.
 +
 +*** There are new commands for adding and removing directory-local variables,
 +and copying them to and from file-local variable lists:
 +`add-dir-local-variable', `delete-dir-local-variable',
 +`copy-dir-locals-to-file-locals',
 +`copy-dir-locals-to-file-locals-prop-line' and
 +`copy-file-locals-to-dir-locals'.
 +
 +** Internationalization changes
 +
 +*** Unibyte sessions are now considered obsolete.
 +This refers to the EMACS_UNIBYTE environment variable as well as the
 +--unibyte, --multibyte, --no-multibyte, and --no-unibyte command line
 +arguments.  Customizing enable-multibyte-characters and setting
 +default-enable-multibyte-characters are also deprecated.
 +
 +*** New coding system `utf-8-hfs'.
 +This is suitable for default-file-name-coding-system on Mac OS X; see
 +international/ucs-normalize.el.
 +
 +** Function arguments in *Help* buffers are now shown in upper-case.
 +Customize `help-downcase-arguments' to t to show them in lower-case.
 +
 +** New command `async-shell-command', bound globally to `M-&'.
 +This executes the command asynchronously, similar to calling `M-!' and
 +manually adding an ampersand to the end of the command.  With `M-&',
 +you don't need the ampersand.  The output appears in the buffer
 +`*Async Shell Command*'.
 +
 +** When running in a new enough xterm (newer than version 242), Emacs
 +asks xterm what the background color is and it sets up faces
 +accordingly for a dark background if needed (the current default is to
 +consider the background light).
 +
 +\f
 +* Editing Changes in Emacs 23.2
 +
 +** Kill-ring and selection changes
 +
 +*** If `select-active-regions' is t, any active region automatically
 +becomes the primary selection (for interaction with other window
 +applications).  If you enable this, you might want to bind
 +`mouse-yank-primary' to Mouse-2.
 +
 +*** When `save-interprogram-paste-before-kill' is non-nil, the kill
 +commands save the interprogram-paste selection into the kill ring
 +before doing anything else.  This avoids losing the selection.
 +
 +*** When `kill-do-not-save-duplicates' is non-nil, identical
 +subsequent kills are not duplicated in the `kill-ring'.
 +
 +** Completion changes
 +
 +*** The new command `completion-at-point' provides mode-sensitive completion.
 +
 +*** tab-always-indent set to `complete' lets TAB do completion as well.
 +
 +*** The new completion-style `initials' is available.
 +For instance, this can complete M-x lch to list-command-history.
 +
 +*** The new variable `completions-format' determines how completions
 +are displayed in the *Completions* buffer.  If you set it to
 +`vertical', completions are sorted vertically in columns.
 +
 +** The default value of `blink-matching-paren-distance' is increased.
 +
 +** M-n provides more default values in the minibuffer for commands
 +that read file names.  These include the file name at point (when ffap
 +is loaded without ffap-bindings), the file name on the current line
 +(in Dired buffers), and the directory names of adjacent Dired windows
 +(for Dired commands that operate on several directories, such as copy,
 +rename, or diff).
 +
 +** M-r is bound to the new `move-to-window-line-top-bottom'.
 +This moves point to the window center, top and bottom on successive
 +invocations, in the same spirit as the C-l (recenter-top-bottom)
 +command.
 +
 +** The new variable `recenter-positions' determines the default
 +cycling order of C-l (`recenter-top-bottom').
 +
 +** The abbrevs file is now a file named abbrev_defs in
 +user-emacs-directory; but the old location, ~/.abbrev_defs, is used if
 +that file exists.
 +
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 23.2
 +
 +** The bookmark menu has a narrowing search via bookmark-bmenu-search.
 +
 +** Calc
 +
 +*** The Calc settings file is now a file named calc.el in
 +user-emacs-directory; but the old location, ~/.calc.el, is used if
 +that file exists.
 +
 +*** Graphing commands (`g f' etc.) now work on MS-Windows, if you have
 +the native Windows port of Gnuplot version 3.8 or later installed.
 +
 +** Calendar and diary
 +
 +*** Fancy diary display is now the default.
 +If you prefer the simple display, customize `diary-display-function'.
 +
 +*** The diary's fancy display now enables view-mode.
 +
 +*** The command `calendar-current-date' accepts an optional argument
 +giving an offset from today.
 +
 +** Desktop
 +
 +*** The default value for `desktop-buffers-not-to-save' is nil.
 +This means Desktop will try restoring all buffers, when you restart
 +your Emacs session.  Also, `desktop-buffers-not-to-save' is only
 +effective for buffers that have no associated file.  If you want to
 +exempt buffers that do correspond to files, customize the value of
 +`desktop-files-not-to-save' instead.
 +
 +** Dired
 +
 +*** The new variable `dired-auto-revert-buffer', if non-nil, causes
 +Dired buffers to be reverted automatically on revisiting them.
 +
 +** DocView
 +
 +*** When `doc-view-continuous' is non-nil, scrolling a line
 +on the page edge advances to the next/previous page.
 +
 +** Elint
 +
 +*** Elint now uses compilation-mode.
 +
 +*** Elint can now scan individual files and whole directories,
 +and can be run in batch mode.
 +
 +*** Elint does a more thorough initialization, and recognizes more built-in
 +functions and variables.  Customize `elint-scan-preloaded' if you want
 +to sacrifice some accuracy for a faster startup.
 +
 +*** Elint attempts some basic understanding of featurep and (f)boundp tests.
 +
 +*** Customize `elint-ignored-warnings' to suppress some warnings.
 +
 +** GDB-UI
 +
 +*** Toolbar functionality for reverse debugging.  Display of STL
 +collections as watch expressions.  These features require GDB 7.0 or later.
 +
 +** Grep
 +
 +*** A new command `zrgrep' searches recursively in gzipped files.
 +
 +** Info
 +
 +*** The new command `Info-virtual-index' bound to "I" displays a menu of
 +matched topics found in the index.
 +
 +*** The new command `info-finder' replaces finder.el with a virtual Info
 +manual that generates an Info file which gives the same information
 +through a menu structure.
 +
 +** LaTeX mode now provides completion (via completion-at-point).
 +
 +** Message mode is now the default mode for composing mail.
 +
 +The default for `mail-user-agent' is now message-user-agent, so the
 +C-x m (`compose-mail') command uses Message mode instead of Mail mode.
 +
 +Message mode has been included in Emacs, as part of the Gnus package,
 +for several years.  It provides several features that are absent in
 +Mail mode, such as MIME handling.
 +
 +*** If the user has not customized mail-user-agent, `compose-mail'
 +checks for Mail mode customizations, and issues a warning if these
 +customizations are found.  This alerts users who may otherwise be
 +unaware that their mail configuration has changed.
 +
 +To disable this check, set compose-mail-user-agent-warnings to nil.
 +
 +** The default value of mail-interactive is t, since Emacs 23.1.
 +(This was not announced at the time.)  It means that when sending mail,
 +Emacs will wait for the process sending mail to return.  If you
 +experience delays when sending mail, you may wish to set this to nil.
 +
 +** nXML mode is now the default for editing XML files.
 +
 +** pcomplete provides a new command `pcomplete-std-completion' which
 +is similar to `pcomplete' but using the standard completion UI code.
 +
 +** Shell (and other comint modes)
 +
 +*** M-s is no longer bound to `comint-next-matching-input'.
 +
 +*** M-r is now bound to `comint-history-isearch-backward-regexp'.
 +This starts an incremental search of the comint/shell input history.
 +
 +*** ansi-color is now enabled by default in Shell mode.
 +To disable it, set ansi-color-for-comint-mode to nil.
 +
 +** Tramp
 +
 +*** New connection methods "rsyncc", "imap" and "imaps".
 +On systems which support GVFS-Fuse, Tramp offers also the new
 +connection methods "dav", "davs", "obex" and "synce".
 +
 +** VC and related modes
 +
 +*** When using C-x v v or C-x v i on a unregistered file that is in a
 +directory not controlled by any VCS, ask the user what VC backend to
 +use to create a repository, create a new repository and register the
 +file.
 +
 +*** New command `vc-root-print-log', bound to `C-x v L'.
 +This displays a `*vc-change-log*' buffer showing the history of the
 +version-controlled directory tree as a whole.
 +
 +*** New command `vc-root-diff', bound to `C-x v D'.
 +This is similar to `vc-diff', but compares the entire directory tree
 +of the current VC directory with its working revision.
 +
 +*** `C-x v l' and `C-x v L' do not show the full log by default.
 +The number of entries shown can be chosen interactively with a prefix
 +argument, or by customizing vc-log-show-limit.  The `*vc-change-log*'
 +buffer now contains buttons at the end of the buffer, which can be
 +used to increase the number of entries shown.  RCS, SCCS, and CVS do
 +not support this feature.
 +
 +*** vc-annotate supports annotations through file copies and renames,
 +it displays the old names for the files and it can show logs/diffs for
 +the corresponding lines.  Currently only Git and Mercurial take
 +advantage of this feature.
 +
 +*** The log command in vc-annotate can display a single log entry
 +instead of redisplaying the full log.  The RCS, CVS and SCCS VC
 +backends do not support this.
 +
 +*** When a file is not found, VC will not try to check it out of RCS anymore.
 +
 +*** Diff and log operations can be used from Dired buffers.
 +
 +*** vc-git changes
 +
 +**** The short log format for git makes use of the graph display,
 +so it's not supported on git versions earlier than 1.5.6.
 +
 +**** vc-dir uses the --relative option of git, and so requires at least
 +git version 1.5.5.
 +
 +**** Support for operating with stashes has been added to vc-dir:
 +the stash list is displayed in the *vc-dir* header, stashes can be
 +created, removed, applied and their content displayed.
 +
 +*** vc-bzr supports operating with shelves: the shelve list is
 +displayed in the *vc-dir* header, shelves can be created, removed and applied.
 +
 +*** log-edit-strip-single-file-name controls whether or not single filenames
 +are stripped when copying text from the ChangeLog to the *VC-Log* buffer.
 +
 +** Miscellaneous
 +
 +*** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp'
 +read buffer names to search, one by one, ended with RET.  With a prefix
 +argument, they ask for a regexp, and search in buffers whose names match
 +the specified regexp.  Interactively `multi-isearch-files' and
 +`multi-isearch-files-regexp' read file names to search, one by one,
 +ended with RET.  With a prefix argument, they ask for a wildcard, and
 +search in file buffers whose file names match the specified wildcard.
 +
 +*** Autorevert Tail mode now works also for remote files.
 +
 +*** The new eshell built-in commands `su' and `sudo' support Tramp.
 +Thus, they change `default-directory' to reflect the new user id, and
 +let commands run under that user's permissions.  This works even when
 +`default-directory' is already remote.  Calling the external commands
 +is possible via `*su' or `*sudo', respectively.
 +
 +** Obsolete packages
 +
 +*** sym-comp.el is now obsolete, superseded by completion-at-point.
 +
 +*** lucid.el and levents.el are now obsolete.
 +
 +\f
 +* New Modes and Packages in Emacs 23.2
 +
 +** CEDET (the Collection of Emacs Development Tools) is now in Emacs.
 +This is a collection of packages to aid with using Emacs as an IDE
 +(integrated development environment):
 +
 +*** The Semantic package allows the use of parsers to intelligently
 +edit and navigate source code.  Parsers for C/C++, Java, Javascript,
 +and several other languages are included by default, and Semantic can
 +also interface with external tools such as GNU Global and GNU Idutils.
 +
 +To enable Semantic, use the global minor mode `semantic-mode'.
 +See the Semantic manual for details.
 +
 +*** EDE (Emacs Development Environment) is a package for managing code
 +projects, including features such as automatic Makefile generation.
 +
 +To enable EDE, use the minor mode `global-ede-mode'.
 +See the EDE manual for details.
 +
 +*** SRecode is a library for recoding Semantic tags back into source
 +code.  It is currently used by some parts of Semantic and EDE; in the
 +future, it may be used for code generation features.
 +
 +*** The EIEIO library implements a subset of the Common Lisp Object
 +System (CLOS).  It is used by the other CEDET packages.
 +
 +** mpc.el is a front end for the Music Player Daemon.  Run it with M-x mpc.
 +
 +** htmlfontify.el turns a fontified Emacs buffer into an HTML page.
 +
 +** js.el is a new major mode for JavaScript files.
 +
 +** imap-hash.el is a new library to address IMAP mailboxes as hashtables.
 +
 +\f
 +* Incompatible Lisp Changes in Emacs 23.2
 +
 +** The Lisp reader turns integers that are too large/small into floats.
 +For instance, on machines where `536870911' is the largest integer,
 +reading `536870912' gives the floating-point object `536870912.0'.
 +
 +This change only concerns the Lisp reader; it does not affect how
 +actual integer objects overflow.
 +
 +** Several obsolete functions removed.
 +The functions have been obsolete since Emacs 19, and are unlikely to
 +be in use:
 +
 +  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, baud-rate
 +
 +** Support for generating Emacs 18 compatible bytecode (by setting
 +the variable `byte-compile-compatibility') has been removed.
 +
 +** In image-mode.el `image-mode-maybe' is obsolete.
 +Instead, you can either use `image-mode' (which displays an image file
 +as the actual image initially), or `image-mode-as-text' (when you want
 +to display an image file as text initially).  `image-mode-as-text' is a
 +combination of a non-image mode from `auto-mode-alist' (or Fundamental
 +mode) and `image-minor-mode'.  `image-minor-mode' provides a `C-c C-c'
 +key binding to toggle image display.
 +`image-toggle-display-text' removes image properties.
 +`image-toggle-display-image' adds image properties.
 +`image-toggle-display' toggles between `image-mode-as-text' and `image-mode'.
 +
 +\f
 +* Lisp changes in Emacs 23.2
 +
 +** All the default-FOO variables that hold the default value of the FOO
 +variable, are now declared obsolete.
 +
 +** read-key is a function halfway between read-event and read-key-sequence.
 +It reads a single key, but obeys input and escape sequence decoding.
 +
 +** Frame parameter changes
 +
 +*** You can give the `fullscreen' frame parameter the value `maximized'.
 +This maximizes the frame.
 +
 +*** The new frame parameter `sticky' makes Emacs frames sticky in
 +virtual desktops.
 +
 +** Completion changes
 +
 +*** completion-base-size is obsoleted by completion-base-position.
 +This change causes a few backward incompatibilities, mostly with
 +choose-completion-string-functions where the `mini-p' argument has
 +been replaced by a `base-position' argument, and where the `base-size'
 +argument is now always nil.
 +
 +*** New function `completion-in-region' to use the standard completion
 +facilities on a particular region of text.
 +
 +*** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
 +
 +*** completion-annotate-function specifies how to compute annotations
 +for completions displayed in *Completions*.
 +
 +** Minibuffer changes
 +
 +*** read-file-name-predicate is obsolete.  It was used to pass the predicate
 +to read-file-name-internal because read-file-name-internal abused its `pred'
 +argument to pass the current directory, but this hack is not needed
 +any more.
 +
 +** Changes to file-manipulation functions
 +
 +*** `delete-directory' has an optional parameter RECURSIVE.
 +
 +*** New function `copy-directory', which copies a directory recursively.
 +
 +** called-interactively-p now takes one argument and replaces interactive-p
 +which is now marked obsolete.
 +
 +** New function set-advertised-calling-convention makes it possible
 +to obsolete arguments as well as make some arguments mandatory.
 +
 +** You can control which binding is preferentially shown in menus and
 +docstrings by adding a `:advertised-binding' property to the corresponding
 +command's symbol.  That property can hold a single binding or a list
 +of bindings.
 +
 +** Network and process changes
 +
 +*** start-process-shell-command and start-file-process-shell-command
 +now only take a single `command' argument.
 +
 +*** The new variable `process-file-side-effects' should be set to nil
 +if a `process-file' call does not change a remote file.  This allows
 +file name handlers such as Tramp to optimizations.
 +
 +*** make-network-process can now also create `seqpacket' Unix sockets.
 +
 +** Loading changes
 +
 +*** eval-next-after-load is obsolete.
 +
 +*** New hook `after-load-functions' run after loading an Elisp file.
 +
 +** Byte compilation changes
 +
 +*** Changing the file-names generated by byte-compilation by redefining
 +the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
 +Instead, customize byte-compile-dest-file-function.
 +
 +*** `byte-compile-warnings' has new members, `constants' and `suspicious'.
 +
 +** New macro with-silent-modifications to tweak text properties without
 +affecting the buffer's modification state.
 +
 +** Hash tables have a new printed representation that is readable.
 +The feature `hashtable-print-readable' identifies this new
 +functionality.
 +
 +** New functions for performing Unicode normalization:
 +ucs-normalize-NFD-region, ucs-normalize-NFD-string,
 +ucs-normalize-NFC-region, ucs-normalize-NFC-string,
 +ucs-normalize-NFKD-region, ucs-normalize-NFKD-string,
 +ucs-normalize-NFKC-region, ucs-normalize-NFKC-string,
 +ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string,
 +ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string.
 +
 +** Face aliases can now be marked as obsolete, using the macro
 +`define-obsolete-face-alias'.
 +
 +** New function `window-full-height-p', analogous to the full-width version.
 +
 +\f
 +* Changes in Emacs 23.2 on non-free operating systems
 +
 +** On MS-Windows, `display-time' now displays the system load average
 +as well as the time, as it does on GNU and Unix.
 +
 +\f
 +* Installation Changes in Emacs 23.1
 +
 +** The default X toolkit is now Gtk+, rather than Lucid.
 +The configure option `--with-gtk' has been removed.  Gtk is now the
 +default toolkit, but you can use --with-x-toolkit=gtk if necessary.
 +
 +** New font code.
 +Fonts are handled by new code capable of dealing with multiple font
 +backends.  This uses the freetype and fontconfig libraries.
 +
 +*** Emacs now accepts font names supplied in the fontconfig format
 +(e.g. "monospace-12:bold") and GTK format (e.g. "Monospace Bold 12").
 +
 +*** Added support for local fonts (fonts installed on the machine
 +where Emacs is running).
 +
 +*** Added support for the Xft library for antialiasing.
 +
 +*** Added support for the otf library for complex text layout by
 +OpenType fonts.
 +
 +*** Added support for the m17n library for text shaping.
 +
 +** Changes to image support
 +
 +*** configure now checks for libgif before libungif when searching for
 +a GIF library.
 +
 +*** Emacs now supports the SVG image format through librsvg2.
 +
 +*** Emacs now supports multi-page TIFF images.
 +
 +** New NeXTstep-based port.
 +This provides support for GNUstep (via the GNUstep libraries) and Mac
 +OS X (via the Cocoa libraries).
 +
 +Specify --with-ns to configure for this.  By default, a self-contained
 +app will be built (containing all lisp).  To install/share lisp with
 +other emacsen (e.g. X11 build) use --disable-ns-self-contained.  See
 +nextstep/README and nextstep/INSTALL in the Emacs source directory.
 +
 +** Mac OS X is no longer supported via Carbon.
 +Use the NeXTstep port, described above.
 +
 +** The new configuration option "--with-dbus" enables D-Bus language
 +bindings for Emacs.
 +
 +** Support for many obsolete platforms has been removed.
 +See the list at the end of etc/MACHINES for details.
 +
 +*** Support for systems without alloca has been removed.
 +
 +*** Support for Sun windows has been removed.
 +
 +*** The `emacstool' utility has been removed.
 +
 +** The following platforms will be removed in a future Emacs version:
 +If you are still using Emacs on one of these platforms, please email
 +emacs-devel@gnu.org to inform the Emacs developers.
 +
 +*** Old GNU/Linux systems based on libc version 5.
 +
 +*** Old FreeBSD, NetBSD, and OpenBSD systems based on the COFF
 +executable format.
 +
 +*** Solaris versions 2.6 and below.
 +
 +*** Solaris on IBM RS6000 machines.
 +
 +*** UNIX System V (the original SysV, not later platforms based on it).
 +
 +*** Unixware on non-x86 machines.
 +
 +*** Platforms not supporting shared libraries (i.e., requiring the
 +NO_SHARED_LIBS compilation flag).
 +
 +** The configure options `--with-gcc', `--without-gcc' have been removed.
 +Configure will use gcc by default.  Set the CC environment variable if
 +you need control over which C compiler is used.
 +
 +** The refcards are now shipped as PDF files.
 +
 +** The manuals are now licensed under the GNU Free Documentation License v1.3,
 +or any later version.
 +
 +** Emacs 23 comes with a new set of default icons.
 +Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png.
 +The Emacs 22 icon is available as `emacs22.png' in the same location.
 +\f
 +* Changes in Emacs 23.1
 +
 +** Improved X Window System support
 +
 +*** Emacs now supports using both X displays and ttys in one session.
 +With an Emacs server active (M-x server-start), `emacsclient -t'
 +creates a tty frame connected to the running emacs server.  You can
 +use any number of different ttys.  `emacsclient -c' creates a new X11
 +frame on the current $DISPLAY (or a tty frame if $DISPLAY is not set).
 +There may be problems if a display exits unexpectedly and Emacs is compiled
 +with Gtk+, see etc/PROBLEMS.
 +
 +You can test for the presence of this feature in your Lisp code by
 +testing for the `multi-tty' feature.
 +
 +*** Emacs starts in the background, as a daemon, when given the
 +--daemon command line argument.  It disconnects from the terminal and
 +starts the server.  Clients can connect and create graphical or
 +terminal frames using emacsclient.
 +
 +**** emacsclient starts emacs in daemon mode and connects to it when
 +--alternate-editor="" is used (or when the environment variable
 +ALTERNATE_EDITOR is set to "") and emacsclient cannot connect to an
 +emacs server.
 +
 +*** The new command close-display-connection closes a connection to a
 +remote display.  There are some bugs for Gtk+.  See etc/PROBLEMS.
 +
 +*** Emacs now supports the XEmbed specification.
 +You can embed Emacs in another application on X11.  The new command line
 +option --parent-id is used to pass the parent window id to Emacs.  See
 +http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html
 +for details about XEmbed.
 +
 +*** Emacs can now set the frame opacity.
 +The opacity of a frame can be controlled by setting the `alpha' frame
 +parameter.  This only takes effect on a compositing window manager for
 +the X Window System, such as Compiz, Beryl and Compiz Fusion, on Mac
 +OS X, or on Windows 2000 and later versions of Windows.
 +
 +The alpha parameter should be an integer between 0 (transparent) and
 +100 (opaque), or a float number between 0.0 and 1.0.  It can also be a
 +cons cell (ACTIVE . INACTIVE), where ACTIVE is the opacity of an
 +active frame and INACTIVE is the opacity of non-active frames.
 +
 +The variable `frame-alpha-lower-limit' defines a lower bound for the
 +opacity; the default is 20.
 +
 +** Internationalization changes
 +
 +*** The Emacs character set is now a superset of Unicode.
 +(It has about four times the code space, which should be plenty).
 +
 +The internal encoding used for buffers and strings is now
 +Unicode-based and called `utf-8-emacs' (`emacs-internal' is an alias
 +for this).  This encoding is backward-compatible with Unicode's UTF-8
 +encoding.  The internal encoding previously used by Emacs,
 +`emacs-mule', is still available for reading and writing files.
 +
 +During byte-compilation, Emacs 23 uses `utf-8-emacs' to write files.
 +As a result, byte-compiled files containing non-ASCII characters can't
 +be read by earlier versions of Emacs.  Files compiled by Emacs 20, 21,
 +or 22 are loaded correctly as `emacs-mule' (whether or not they
 +contain multibyte characters).  This takes somewhat more time, so it
 +may be worth recompiling existing .elc files which don't need to be
 +shared with older Emacsen.
 +
 +*** There are new coding systems/aliases; see M-x list-coding-systems.
 +
 +*** There is a new charset implementation with many new charsets.
 +See M-x list-character-sets.  New charsets can be defined conveniently
 +as tables of Unicode code points.
 +
 +*** There are new language environments for Chinese-GBK,
 +Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu,
 +Sinhala, and TaiViet.
 +
 +*** The minor modes unify-8859-on-encoding-mode and
 +unify-8859-on-decoding-mode are obsolete.
 +
 +*** `ucs-insert' is bound to `C-x 8 RET' and in addition to hex numbers
 +accepts numbers in hash notation (e.g. #o21430 for octal, or #10r8984 for
 +decimal).  It also accepts Unicode character names with completion.
 +
 +*** The `cyrillic-translit' input method supports many new characters.
 +Common typographical characters available from Unicode were added to
 +`cyrillic-translit': punctuation marks, accented characters, fractions,
 +and others.
 +
 +** Emacs now supports serial port access on GNU/Linux, Unix, and
 +Windows.  The new command `serial-term' starts an interactive terminal
 +on a serial port.  The serial port can be configured at runtime with
 +the mode-line mouse menu.
 +
 +** Menu Bar changes
 +
 +*** In the Options menu, the "Set Default Font" item applies the
 +selected font to the `default' face on all frames, not just the
 +current frame.  Furthermore, if Emacs is compiled with both GTK and
 +Fontconfig support, the "Set Default Font" item uses the GTK font
 +selection dialog instead of an Emacs pop-up menu.
 +
 +*** The font setting chosen by "Set Default Font" is saved if the
 +"Save Options" item is used.
 +
 +*** The Tools menu contains a new Encryption/Decryption submenu.
 +This contains commands provided by EasyPG, the newly-included
 +interface to GnuPG (see New Modes and Packages).
 +
 +*** In the Options menu, the "Truncate Long Lines in the Buffer" entry
 +has been replaced with a submenu offering three different ways to
 +handle long lines: truncation, continuation at the window edge, and
 +the new word wrapping behavior (see Editing Changes, below).
 +
 +*** Improvements to menus for major and minor modes
 +More major and minor modes now have a mode specific menu, and existing
 +mode menus have been improved to include more functionality.
 +
 +** Mode-line changes
 +
 +*** The mode-line displays a `@', instead of `-', if the
 +default-directory for the current buffer is on a remote machine.
 +
 +*** The mode-line displays a mode menu when mouse-1 is clicked on a
 +minor mode, in the same way as it already did for major modes.
 +
 +*** The `mode-line-emphasis' face is used to highlight certain
 +mode-line information (e.g. waiting for a VC command to finish).
 +
 +*** The mode-line tooltips have been improved to provide more details.
 +
 +*** The VC, line/column number and minor mode indicators on the mode
 +line are now interactive: mouse-1 can be used on them to pop up a menu.
 +
 +** File deletion can make use of the Recycle Bin or system Trash folder.
 +Set `delete-by-moving-to-trash' non-nil to use this.  Deleted files
 +and directories will then be sent to the Recycle Bin on Windows, and
 +to `trash-directory' on other systems.
 +
 +** Directory-local variables can now be defined.
 +By default, Emacs looks in .dir-locals.el for directory-local
 +variables.  For more information, see `dir-locals-set-directory-class'
 +and `dir-locals-set-class-variables'.
 +
 +** Emacs can now use `auth-source' for authentication.
 +`smtpmail' and `url' (Tramp and Gnus also) use `auth-source' to obtain
 +login names and passwords.  The match, if found, is reported
 +in *Messages* with the password blanked out.
 +
 +** `where-is-preferred-modifier' can specify your favorite modifier.
 +
 +\f
 +* Startup Changes in Emacs 23.1
 +
 +** The option `inhibit-startup-screen' (with aliases to old names
 +`inhibit-splash-screen' and `inhibit-startup-message') doesn't inhibit
 +display of the initial message in the *scratch* buffer.  If you don't
 +want to display the initial message in the *scratch* buffer at startup,
 +you can set the option `initial-scratch-message' to nil.
 +
 +** New user option `initial-buffer-choice' specifies what to display
 +after starting Emacs: startup screen, *scratch* buffer, visiting a
 +file or directory.
 +
 +** New alias `argv' for `command-line-args-left'
 +This is a convenience alias, so that one can write `(pop argv)'
 +inside of --eval command line arguments in order to access
 +following arguments.
 +
 +** The abbrev file is no longer read at startup in batch mode.
 +
 +** Emacs now supports invocation by an X session manager.
 +It can save a session and restore it later.  See the documentation of
 +the functions `emacs-session-save' and `emacs-session-restore'.
 +(Actually, this feature was introduced with Emacs 22, but it was not
 +documented.)
 +\f
 +* Incompatible Editing Changes in Emacs 23.1
 +
 +** In Dired, `dired-flag-garbage-files' is rebound from `&' to `%&'
 +on the regexp command prefix map.
 +
 +** In Dired-x, all command guesses for ! are now added to the default
 +list accessible by M-n instead of pushing all guesses temporarily into
 +the history list.
 +
 +** In Isearch mode, a special case of typing `C-w' at the beginning of
 +the minibuffer that toggles word search (i.e. using key sequences
 +`C-s RET C-w' or `C-s M-e C-w') is obsolete.  You can use the global key
 +`M-s w' to start word search, or type `M-s w' in Isearch mode to
 +toggle word search.  To start nonincremental word search you can now use
 +`M-s w RET' and `M-s w C-r RET' instead of `C-s RET C-w' and `C-r RET C-w'.
 +
 +** In Info, `Info-search' is unbound from `M-s' to allow using `M-s w'
 +for word search as well as other search commands from the global prefix
 +key `M-s'.  `Info-search' is still bound to `s', and also incremental
 +search commands `C-s', `C-M-s', `C-r', `C-M-r' are available for searching
 +through multiple Info nodes, together with their nonincremental versions
 +`C-s RET', `C-r RET', `C-M-s RET', `C-M-r RET', `M-s w RET'.
 +
 +** In Text mode, `center-line' and `center-paragraph' are rebound from
 +`M-s' and `M-S' to global keys `M-o M-s' and `M-o M-S' on the global
 +prefix map `M-o', which is intended for such formatting commands.
 +
 +** The following input methods were removed in Emacs 22.2, but this was
 +not advertised: danish-alt-postfix, esperanto-alt-postfix,
 +finnish-alt-postfix, german-alt-postfix, icelandic-alt-postfix,
 +norwegian-alt-postfix, scandinavian-alt-postfix, spanish-alt-postfix,
 +and swedish-alt-postfix.  Use the versions without "alt-", which are
 +identical.
 +
 +\f
 +* Editing Changes in Emacs 23.1
 +
 +** The C-n and C-p line-motion commands now move by screen lines,
 +taking continued lines and variable-width characters into account.
 +Setting `line-move-visual' to nil reverts this to the previous
 +behavior (i.e., motion by logical lines based on buffer contents
 +alone).
 +
 +** C-x C-c now invokes `save-buffers-kill-terminal', and C-z now
 +invokes `suspend-frame'.  These changes are for compatibility with the
 +new multi-tty support (see `Improved X Window System support' above).
 +
 +** Mark changes
 +
 +*** Transient Mark mode is now on by default.
 +
 +*** mark-even-if-inactive now defaults to t
 +
 +*** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without
 +activating it.
 +
 +*** When Transient Mark mode is on, M-q now fills the region if the
 +region is active.  Otherwise, it fills the current paragraph.
 +
 +*** When Transient Mark mode is on, M-$ now checks spelling of the
 +region if the region is active.  Otherwise, it checks spelling of the
 +word at point.
 +
 +*** When Transient Mark mode is on, TAB now indents the region if the
 +region is active.
 +
 +*** The variable `use-empty-active-region' controls whether an empty
 +active region in Transient Mark mode should make commands operate on
 +that empty region.
 +
 +** Temporarily active regions
 +
 +*** The new variable shift-select-mode, non-nil by default, controls
 +shift-selection.  When Shift Select mode is on, shift-translated
 +motion keys (e.g. S-left and S-down) activate and extend a temporary
 +region, similar to mouse-selection.
 +
 +*** Temporarily active regions, created using shift-selection or
 +mouse-selection, are not necessarily deactivated after the next command.
 +They are deactivated only after point motion commands that are not
 +shift-translated, or after commands that would ordinarily deactivate
 +the mark in Transient Mark mode (e.g., any command that modifies the
 +buffer).
 +
 +** Minibuffer and completion changes
 +
 +*** Emacs may ask for confirmation before opening a non-existent file
 +or buffer.  By default, Emacs requests confirmation if you type RET
 +immediately after TAB, and the resulting input is not an existing file
 +or buffer; this usually happens when the minibuffer input did not
 +complete far enough and you entered RET by mistake.  In that case,
 +Emacs puts the message "[Confirm]" in the minibuffer; type RET again
 +to create the file or buffer.
 +
 +The new variable confirm-nonexistent-file-or-buffer determines whether
 +Emacs asks for confirmation.  The default value is `after-completion'.
 +If you change it to t, Emacs always asks for confirmation; if you
 +change it to nil, Emacs never asks for confirmation.
 +
 +*** The rules for performing completion have been changed.
 +When generating completion alternatives, Emacs now takes the
 +minibuffer text after point, if any, into account: this text is
 +treated as a substring of the remaining part of the completion
 +alternative (i.e., the part not matched by the minibuffer text before
 +point).  If no completion alternatives are found this way, Emacs
 +attempts to perform partial-completion.  If still no completion
 +alternatives are found, we fall back on the Emacs 22 rules for
 +performing completion.
 +
 +The new variable `completion-styles' can be customized to choose your
 +favorite completion style.
 +
 +*** When M-n in the minibuffer reaches the end of the list of defaults,
 +it adds the completion list to the end, so next M-n continues putting
 +completion items to the minibuffer.  The same principle applies to
 +incremental search commands as well: C-s or C-M-s starts searching
 +the default values and after the end of defaults they continue
 +searching minibuffer completion items.
 +
 +*** Minibuffer input of shell commands now comes with completion.
 +
 +*** In the `C-x d' (Dired) prompt, typing M-n gives the visited file
 +name of the current buffer.
 +
 +*** In the M-! (shell-command) prompt, M-n provides some default commands.
 +These are guessed using the file extension of the current file, based
 +on the file-handlers specified in the operating system's `mailcap'
 +file.  The ! command in Dired (dired-do-shell-command) works
 +similarly, using the file displayed on the current line.
 +
 +*** A list of regexp default values is available via M-n for `occur',
 +`keep-lines', `flush-lines' and `how-many'.  This list includes the active
 +region in transient-mark-mode, the word under the cursor, the last Isearch
 +regexp, the last Isearch string and the last replacement regexp.
 +
 +*** When enable-recursive-minibuffers is non-nil, operations which use
 +switch-to-buffer (such as C-x b and C-x C-f) do not fail any more when
 +used in a minibuffer or a dedicated window.  Instead, they fallback on
 +using pop-to-buffer, which will use some other window.  This change
 +has no effect when enable-recursive-minibuffers is nil (the default).
 +
 +*** Isearch started in the minibuffer searches in the minibuffer history.
 +Reverse Isearch commands (C-r, C-M-r) search in previous minibuffer
 +history elements, and forward Isearch commands (C-s, C-M-s) search in
 +next history elements.  When the reverse search reaches the first history
 +element, it wraps to the last history element, and the forward search
 +wraps to the first history element.  When the search is terminated, the
 +history element containing the search string becomes the current.
 +
 +*** The variable read-file-name-completion-ignore-case overrides
 +completion-ignore-case for file name completion.
 +
 +*** The variable read-buffer-completion-ignore-case overrides
 +completion-ignore-case for buffer name completion.
 +
 +*** The new command `minibuffer-force-complete' chooses one of the
 +possible completions, rather than stopping at the common prefix.
 +
 +*** If `completion-auto-help' is `lazy', Emacs shows the completions
 +buffer only on the second attempt to complete.  This was already
 +supported in `partial-completion-mode'.
 +
 +** Face changes
 +
 +*** S-down-mouse-1 now pops up a menu for changing the font and text
 +size of the default face in the current buffer.  The face is changed
 +via face remapping (see Lisp changes, below).
 +
 +*** New commands to change the default face size in the current buffer.
 +To increase it, type `C-x C-+' or `C-x C-='.  To decrease it, type
 +`C-x C--'.  To restore the default (global) face size, type `C-x C-0'.
 +These work via Text Scale mode, a new minor mode.
 +
 +The final key in the above commands may be repeated without the
 +leading `C-x', e.g. `C-x C-= C-= C-=' increases the face height by
 +three steps.  Each step scales the height of the default face by the
 +value of the variable `text-scale-mode-step'.
 +
 +*** The commands buffer-face-mode and buffer-face-set can be used to
 +remap the default face in the current buffer.  See "Buffer Face mode",
 +under New Modes and Packages.
 +
 +** Primary selection changes
 +
 +*** You can disable kill ring commands from accessing the primary
 +selection by setting `x-select-enable-primary' to nil.
 +
 +** Continuation lines can now be wrapped at word boundaries
 +(word-wrapping).  This is controlled by the new per-buffer variable
 +`word-wrap'.  Word wrapping does not take place if continuation lines
 +are not shown, e.g. if truncate-lines is non-nil.  The most convenient
 +way to enable word-wrapping is using the new minor mode Visual Line
 +mode; in addition to setting `word-wrap' to t, this rebinds some
 +editing commands to work on screen lines rather than text lines.  See
 +New Modes and Packages, below.
 +
 +** Window management changes
 +
 +*** truncate-partial-width-windows now accepts integer values, which
 +specify a minimum window width for partial-width windows, below which
 +lines are truncated.  The default has been changed to 50.
 +
 +*** The new command balance-windows-area balances windows both
 +vertically and horizontally.
 +
 +*** pop-to-buffer now always sets input focus when the popped-to window
 +is on a different frame.
 +
 +** Miscellaneous changes:
 +
 +*** C-l is bound to the new command recenter-top-bottom, rather than recenter.
 +This moves the current line to window center, top and bottom on
 +successive invocations.
 +
 +*** scroll-preserve-screen-position also preserves the column position.
 +
 +*** If `yank-pop-change-selection' is t, rotating the kill ring also
 +updates the selection or clipboard to the current yank, just as M-w
 +would do so with the text it copies to the kill ring.
 +
 +*** C-M-% now shows replacement as it would look in the buffer, with
 +`\N' and `\&' substituted according to the match.  Old behavior can be
 +restored by customizing `query-replace-show-replacement'.
 +
 +*** The command shell prompts for the default directory, when it is
 +called with a prefix and the default directory is a remote file name.
 +This is because some file name handlers (like ange-ftp) are not able to
 +run processes remotely.
 +
 +*** The new command kill-matching-buffers kills buffers whose name
 +matches a regexp.
 +
 +*** The value of comment-style now defaults to `indent'.
 +Therefore, comment-start markers are inserted at the current indentation
 +of the region to comment, rather than the leftmost column.
 +
 +*** The new commands `pp-macroexpand-expression' and
 +`pp-macroexpand-last-sexp' pretty-print macro expansions.
 +
 +*** The new command `set-file-modes' allows to set file's mode bits.
 +The mode bits can be specified in symbolic notation, like with GNU
 +Coreutils, in addition to an octal number.  `chmod' is a new
 +convenience alias for this function.
 +
 +*** `next-error-recenter' specifies how next-error should recenter the
 +visited source file.  Its value can be a number (for example, 0 for
 +top line, -1 for bottom line), or nil for no recentering.
 +
 +*** When typing in a password in the echo area, C-y yanks the current
 +kill into the password.
 +
 +*** Tooltip frame parameters `font' and `color' in `tooltip-frame-parameters'
 +are ignored.  Customize the `tooltip' face instead.
 +
 +*** `mkdir' is a new convenience alias for `make-directory'.
 +\f
 +* New Modes and Packages in Emacs 23.1
 +
 +** Auto Composition Mode is a minor mode that composes characters
 +automatically when they are displayed.  It is globally on by default.
 +It uses `auto-composition-function' (default `auto-compose-chars').
 +
 +** Bubbles, a new game, is similar to SameGame.
 +
 +** Buffer Face mode is a minor mode for remapping the default face in
 +the current buffer.  The variable `buffer-face-mode-face' specifies
 +the face to remap to.  The command `buffer-face-set' prompts for a
 +face name, sets `buffer-face-mode-face' to it, and enables
 +buffer-face-mode.  See "Face changes", under Editing Changes, for a
 +description of face remapping.
 +
 +** butterfly flips the desired bit on the drive platter.
 +See http://xkcd.com/378/
 +
 +** bug-reference.el provides clickable links to bug reports.
 +
 +** dbus.el provides D-Bus language bindings.
 +D-Bus is an inter-process communication mechanism for applications
 +residing on the same host.  See the manual for details.
 +
 +** DocView mode allows viewing of PDF, PostScript and DVI documents.
 +One can also search for a regular expression in the document.  For
 +details, see the commentary in doc-view.el.
 +
 +PDF and DVI files are now opened in Doc View mode by default.
 +
 +In PostScript mode, C-c C-c launches Doc View minor mode for viewing
 +the PostScript file.
 +
 +** EasyPG provides an interface to the GNU Privacy Guard (GnuPG).
 +It includes a GnuPG keyring browser, cryptographic operations on
 +regions and files, and automatic encryption of *.gpg files.  For
 +details, see the EasyPG Assistant User's Manual.
 +
 +** json.el is a library for parsing and generating JSON
 +(JavaScript Object Notation), a lightweight data-interchange format.
 +
 +** linum.el is a new minor mode to display line numbers for the
 +current buffer.
 +
 +** mairix.el is an interface to mairix, a free tool for indexing and
 +searching locally stored mail.  It allows you to query mairix and
 +display the search results with Rmail, Gnus and VM.  Note that there
 +is an existing Gnus back end, nnmairix.el, which should be used with
 +Maildir/MH setups.
 +
 +** minibuffer-depth-indicate-mode shows the minibuffer depth in the prompt.
 +
 +** nXML Mode
 +This is a new mode for editing XML documents.  It allows a schema to
 +be associated with the XML document being edited, using Relax NG as
 +the schema language.  The schema is used to provide two key features:
 +
 +*** Continuous validation.  nXML validates as you type, highlighting
 +any invalid parts of your document.
 +
 +*** Completion.  nXML can assist you in entering an element name,
 +attribute name or data value by using information about what is
 +allowed by the schema in that context.
 +
 +** proced.el provides a Dired-like interface for operating on
 +processes.  Proced makes an Emacs buffer containing a listing of the
 +current processes.  You can use the normal Emacs commands to move
 +around in this buffer, and special Proced commands to operate on the
 +processes listed.  It is currently only functional on GNU/Linux,
 +MS-Windows and Solaris.
 +
 +** Remember Mode is a mode for jotting down things to remember.
 +Notes can be saved to a Diary file.  For details, see the Remember
 +Manual.
 +
 +** RST mode is a major mode for editing reStructuredText files.
 +
 +** Ruby mode is a major mode for Ruby files.
 +
 +** Visual Line mode provides support for editing by visual lines.
 +It turns on word-wrapping in the current buffer, and rebinds C-a, C-e,
 +and C-k to commands that operate by visual lines instead of logical
 +lines.  This is a more reliable replacement for longlines-mode.
 +This can also be turned on using the menu bar, via
 +Options -> Line Wrapping in this Buffer -> Word Wrap
 +
 +** xesam.el is an implementation of Xesam, an interface to (desktop)
 +search engines like Beagle, Strigi, and Tracker.  The Xesam API
 +requires D-Bus for communication.
 +
 +** zeroconf.el offers service discovery and service publishing
 +interfaces according to the zeroconf specification.  It communicates
 +with Avahi, a zeroconf implementation, via D-Bus messages on systems
 +which have installed this software.
 +
 +** There is a new `whitespace' package.
 +(The pre-existing one has been renamed to `old-whitespace'.)
 +Now, besides reporting bogus blanks, the whitespace package has a
 +minor mode and a global minor mode to visualize blanks (TAB, (HARD)
 +SPACE and NEWLINE).  The visualization is made via faces and/or display
 +table.  It can also indicate lines that extend beyond a given column,
 +trailing blanks, and empty lines at the start or end of a buffer.
 +See `whitespace-style' for more details.  The `whitespace-action' option
 +specifies what to do when a buffer is visited, killed, or written.
 +
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 23.1
 +
 +** Abbrev has been rewritten in Elisp and extended with more flexibility.
 +
 +*** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put,
 +abbrev-table-p, abbrev-insert, abbrev-table-menu.
 +
 +*** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'.
 +
 +*** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take
 +extra arguments for arbitrary properties.
 +
 +*** New variable `abbrev-minor-mode-table-alist'.
 +
 +*** `local-abbrev-table' can hold a list of abbrev-tables.
 +
 +*** Abbrevs have now the following special properties:
 +`:count', `:system', `:enable-function', `:case-fixed'.
 +
 +*** Abbrev-tables have now the following special properties:
 +`:parents', `:case-fixed', `:enable-function', `:regexp',
 +`abbrev-table-modiff'.
 +
 +** Apropos
 +
 +*** `apropos-library' describes the elements defined in a given library.
 +
 +*** Set `apropos-compact-layout' is you want a more compact (but wider) layout.
 +
 +** Archive Mode has basic support to browse Rar archives.
 +Note, however, that the free version of the unrar command only handles
 +versions 1 and 2 of the Rar format.
 +
 +** BibTeX mode
 +
 +*** New command `bibtex-initialize' (re)initializes BibTeX buffers.
 +
 +*** New `bibtex-entry-format' options `whitespace', `braces', and
 +`string', disabled by default.
 +
 +*** New variable `bibtex-cite-matcher-alist' contains rules to
 +identify cited keys in BibTeX entries, used by `bibtex-find-crossref'.
 +
 +*** Command `bibtex-url' allows multiple URLs per entry.
 +
 +** Bookmarks
 +
 +*** bookmark.el saves bookmarks in a pre-Emacs-23-incompatible file format
 +bookmark.el can read a .emacs.bmk file saved by an older Emacs, but an
 +older Emacs cannot read one saved by Emacs 23.
 +
 +** Calendar and diary
 +
 +*** There is a new date style, `iso', essentially year/month/day.
 +The variable `european-calendar-style' is obsolete - use `calendar-date-style'.
 +Similarly, the commands `american-calendar' and `european-calendar'
 +should be replaced by `calendar-set-date-style'.
 +
 +*** The calendar namespace has been rationalized.
 +All functions and variables now begin with a `calendar-', `diary-', or
 +`holiday-' prefix.  The various calendar systems have secondary
 +prefixes, eg `calendar-french-'.  The old names you are likely to use
 +directly still exist, for the time being, as aliases, but please start
 +using the new names.
 +
 +*** The whitespace in the calendar layout can be customized.
 +See the variables:
 +calendar-left-margin, calendar-intermonth-spacing, calendar-column-width,
 +calendar-day-header-width, and calendar-day-digit-width.
 +
 +*** Text (e.g. ISO weeks) can be displayed between the calendar months.
 +See the variables calendar-intermonth-header and calendar-intermonth-text.
 +
 +*** The function `holiday-chinese' computes holidays on the Chinese calendar.
 +It has been used to add items to the list `holiday-oriental-holidays'.
 +
 +*** `diary-remind' accepts a negative number -DAYS as a shorthand for
 +the list (1 2 ... DAYS).
 +
 +** Change Log mode
 +
 +*** The new command C-c C-f (change-log-find-file) finds the file
 +associated with the current log entry.
 +
 +*** The new command C-c C-c (change-log-goto-source) goes to the
 +source code associated with a log entry.
 +
 +** Compile and grep modes
 +
 +*** The mode-line entry for the *compilation* and *grep* buffer is color coded.
 +It has different colors for to show that: (a) the command is still
 +running, (b) successful completion, (c) error.
 +
 +*** compilation-auto-jump-to-first-error tells `compile' to jump to
 +the first error encountered during compilations.
 +
 +*** compilation-scroll-output accepts a new value, `first-error', which
 +says to stop auto scrolling at the first error that occurs.
 +
 +*** The `cc' alias for C++ files in `grep-file-aliases' has been
 +improved.  `hh' can be used to match C++ header files and `cchh' both
 +C++ sources and headers.
 +
 +** Copyright
 +
 +*** You can specify your copyright holders' names.
 +Only copyright lines with holders matching `copyright-names-regexp' are
 +considered for update.
 +
 +*** Copyrights can be at the end of the buffer.
 +This is controlled by `copyright-at-end-flag' (used by, e.g., change-log-mode).
 +
 +** Custom
 +
 +*** defcustom accepts new keyword arguments, `:safe' and `:risky', which
 +set a variable's `safe-local-variable' and `risky-local-variable' property.
 +
 +** Diff mode
 +
 +*** diff-refine-hunk highlights word-level details of changes in a diff hunk.
 +It's used automatically as you move through hunks, see
 +diff-auto-refine-mode.  It is bound to `C-c C-b'.
 +
 +*** diff-add-change-log-entries-other-window iterates through the diff
 +buffer and tries to create ChangeLog entries for each change.
 +It is bound to `C-x 4 A'.
 +
 +*** Turning on `whitespace-mode' in a diff buffer will show trailing
 +whitespace problems in the modified lines.
 +
 +** Dired
 +
 +*** In Dired, C-x C-q now runs the command wdired-change-to-wdired-mode,
 +and C-x C-q in wdired-mode exits it with asking a question about
 +saving changes.
 +
 +*** `&' runs the command `dired-do-async-shell-command' that executes
 +the command asynchronously without the need to manually add ampersand
 +to the end of the command.  Its output appears in the buffer `*Async Shell
 +Command*'.
 +
 +*** `M-s f C-s' and `M-s f M-C-s' run Isearch that matches only at file names.
 +When a new user option `dired-isearch-filenames' is t, then even ordinary
 +Isearch started with `C-s' and `C-M-s' matches only at file names in the
 +Dired buffer.  When `dired-isearch-filenames' is `dwim' then activation of
 +file name Isearch depends on the position of point - if point is on a file
 +name initially, then Isearch matches only file names, otherwise it matches
 +everywhere in the Dired buffer.  You can toggle file names matching on or
 +off by typing `M-s f' in Isearch mode.
 +
 +*** `M-s a C-s' and `M-s a M-C-s' run multi-file Isearch on the marked files.
 +They visit the first marked file in the sequence and display the usual Isearch
 +prompt for a string or a regexp where all Isearch commands are available.
 +
 +*** `Q' in Dired provides two new keys for multi-file replacement.
 +The upper case key `Y' replaces all remaining matches in all remaining files
 +with no more questions.  The upper case key `N' stops doing replacements
 +in the current file and skips to the next file.  These multi-file keys
 +are available for all commands that use `tags-query-replace'
 +including `dired-do-query-replace-regexp', `vc-dir-query-replace-regexp',
 +`reftex-query-replace-document'.
 +
 +** Fortran
 +
 +*** The line length of fixed-form Fortran is not fixed at 72 any more.
 +Customize the variable `fortran-line-length' to change it.
 +
 +*** In Fortran mode, M-; is now bound to the standard comment-dwim,
 +rather than fortran-indent-comment.
 +
 +*** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax.
 +
 +** Gnus
 +
 +*** The Gnus package has been updated
 +There are many new features, bug fixes and improvements; see the file
 +GNUS-NEWS or the node "No Gnus" in the Gnus manual for details.
 +
 +*** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for
 +saving articles, drafts, and ~/.newsrc.eld.  These file may not be read
 +correctly in Emacs 22 and below.  If you want to Gnus across different Emacs
 +versions, you may set `mm-auto-save-coding-system' to `emacs-mule'.
 +
 +*** Passwords are consistently loaded through `auth-source'
 +Gnus can use `auth-source' for POP and IMAP passwords.  Also see that
 +`smtpmail' and `url' support `auth-source' for SMTP and HTTP/HTTPS/RSS
 +authentication respectively.
 +
 +** Help mode
 +
 +*** New macro `with-help-window' should set up help windows better
 +than `with-output-to-temp-buffer' with `print-help-return-message'.
 +
 +*** New option `help-window-select' permits to customize whether help
 +window shall be automatically selected when invoking help.
 +
 +*** New variable `help-window-point-marker' permits one to specify a new
 +position for point in help window (for example in `view-lossage').
 +
 +** Isearch
 +
 +*** New command `isearch-forward-word' bound globally to `M-s w' starts
 +incremental word search.  New command `isearch-toggle-word' bound to the
 +same key `M-s w' in Isearch mode toggles word searching on or off
 +while Isearch is active.
 +
 +*** New command `isearch-highlight-regexp' bound to `M-s h r' in Isearch
 +mode runs `highlight-regexp' (`hi-lock-face-buffer') with the current
 +search string as its regexp argument.  The same key `M-s h r' and
 +other keys on the `M-s h' prefix are bound globally to the command
 +`highlight-regexp' and other hi-lock commands.
 +
 +*** New command `isearch-occur' bound to `M-s o' in Isearch mode
 +runs `occur' with the current search string.  The same key `M-s o'
 +is bound globally to the command `occur'.
 +
 +*** Isearch can now search through multiple ChangeLog files.
 +When running Isearch in a ChangeLog file, if the search fails,
 +then another C-s tries searching the previous ChangeLog,
 +if there is one (e.g. going from ChangeLog to ChangeLog.12).
 +This is enabled if multi-isearch-search is non-nil.
 +
 +*** Two new commands to start Isearch on a list of marked buffers
 +for buff-menu.el and ibuffer.el are bound to the keys `M-s a C-s' and
 +`M-s a M-C-s'.
 +
 +*** The part of an Isearch that failed to match is highlighted in
 +`isearch-fail' face.
 +
 +*** `C-h C-h' in Isearch mode displays isearch-specific Help screen,
 +`C-h b' displays all Isearch key bindings, `C-h k' displays the full
 +documentation of the given Isearch key sequence, `C-h m' displays
 +documentation for Isearch mode.  All the other Help commands exit
 +Isearch mode and execute their global definitions.
 +
 +*** When started in the minibuffer, Isearch searches in the minibuffer
 +history.  See `Minibuffer changes', above.
 +
 +** MH-E
 +
 +*** Upgraded to MH-E version 8.2.  See MH-E-NEWS for details.
 +
 +** Python
 +*** The file etc/emacs.py now supports both Python 2 and 3, meaning
 +that either version can be used as inferior Python by python.el.
 +
 +*** Python mode now has `pdbtrack' functionality.  When using pdb to
 +debug a Python program, pdbtrack notices the pdb prompt and displays
 +the source file and line that the program is stopped at, much the same
 +way as gud-mode does for debugging C programs with gdb.
 +
 +** Recentf
 +
 +*** The default value of `recentf-keep' prevents from checking of
 +remote files, if there is no established connection to the
 +corresponding remote host.
 +
 +** Rmail
 +
 +*** Rmail no longer converts the messages to Babyl format.
 +Instead, it uses UNIX mbox format, both on disk and in Rmail buffers,
 +and does conversion and decoding when a message is displayed.
 +
 +The first time you visit an Rmail file in Babyl format, Rmail
 +automatically converts it to mbox format.  This is a one-time
 +conversion, but it can take a few minutes, depending on how fast is
 +your machine and on the size of the file.  You should find the rest of
 +Rmail usage unaltered.
 +
 +However, M-x set-rmail-inbox-list now lasts only for one session
 +because there is no way to save the list of inbox files in an
 +mbox-format file.
 +
 +Also, whereas with Babyl format M-x find-file would switch to Rmail
 +mode, with mbox format this is no longer the case (there being no way
 +to add an "-*- rmail-*-" cookie to an mbox file).  Use C-u M-x rmail
 +instead.
 +
 +If you have written any extensions to Rmail, they are likely to need
 +updating.  Conceptually, the Rmail buffer that you see is no longer
 +just a narrowed portion of the whole.  So you cannot access the whole
 +of a message (or message collection) by a simple save-restriction and
 +widen.  Instead, there are two buffers: the rmail-buffer, and the
 +rmail-view-buffer.  The former is the buffer that you see, the latter
 +is invisible.  Most of the time, the invisible `view' buffer contains
 +the full contents of the Rmail file, and the Rmail buffer contains a
 +decoded copy of the current message (with only a subset of the
 +headers).  In this state, Rmail is said to be `swapped'.
 +
 +You may find the following functions useful:
 +
 +`rmail-get-header' and `rmail-set-header' get or set the value of a
 +message header, whether or not it is currently visible.
 +
 +`rmail-apply-in-message' is a general purpose function that calls a
 +function (with arguments) which you specify on the full text of a given
 +message.  To further narrow to just the headers, search forward for "\n\n".
 +
 +*** The new command `rmail-mime' displays MIME messages.
 +It is bound to `v' in Rmail buffers and summaries.  It displays plain
 +text and multipart messages in a temporary buffer, and offers buttons
 +to save attachments.
 +
 +*** The command `rmail-redecode-body' no longer accepts the optional arg RAW.
 +Since Rmail now holds messages in their original undecoded form in a
 +separate buffer, `rmail-redecode-body' no longer encodes the original
 +message, and therefore there should be no need to avoid encoding it.
 +
 +*** The o command is now `rmail-output'.  It is an all-purpose command
 +for copying messages from Rmail and appending them to files.  It
 +handles Babyl-format files as well as mbox-format files, and it
 +handles both kinds properly when they are visited in Emacs.  It always
 +copies the full headers of the message.
 +
 +*** The C-o command is now `rmail-output-as-seen'.  It uses
 +the message as displayed, appending it to an mbox file.
 +
 +*** The modified status of the Rmail buffer is reported in the mode-line.
 +Previously, this information was hidden.
 +
 +** TeX modes
 +
 +*** New option latex-indent-within-escaped-parens
 +permits to customize indentation of LaTeX environments delimited
 +by escaped parens.
 +
 +** T-mouse Mode
 +
 +*** If the gpm mouse server is running and t-mouse-mode is enabled,
 +Emacs uses a Unix socket in a GNU/Linux console to talk to server,
 +rather than faking events using the client program mev.  This C level
 +approach provides mouse highlighting and help echoing in the
 +minibuffer.
 +
 +** Tramp
 +
 +*** New connection methods.
 +The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have
 +been introduced.  There are also new so-called gateway methods
 +"tunnel" and "socks".
 +
 +*** IPv6 addresses.
 +IPv6 addresses are supported now as host names.  They must be embedded
 +in square brackets, like in "/ssh:[::1]:".
 +
 +*** Multihop syntax has been removed.
 +The pseudo-method "multi" has been removed.  Instead, multi hops
 +can be specified by the new variable `tramp-default-proxies-alist'.
 +
 +*** More default settings.
 +Default values can be set via the variables `tramp-default-user',
 +`tramp-default-user-alist' and `tramp-default-host'.
 +
 +*** Connection information is cached.
 +In order to reduce connection setup, information about used
 +connections is kept persistently in a file.  The name of this file is
 +defined in the variable `tramp-persistency-file-name'.
 +
 +*** Control of remote processes.
 +Running processes on a remote host can be controlled by settings in
 +`tramp-remote-path' and `tramp-remote-process-environment'.
 +
 +*** Success of remote copy is checked.
 +When the variable `file-precious-flag' is set, the success of a remote
 +file copy is checked via the file's checksum.
 +
 +*** Passwords can be read from an authentication file.
 +Tramp uses the package `auth-source' to read passwords from a file, if
 +necessary.
 +
 +** VC and related modes
 +
 +*** VC now supports applying VC operations to a set of files at a time.
 +This enables VC to work much more effectively with changeset-oriented
 +version-control systems such as Subversion, GNU Arch, Mercurial, Git
 +and Bzr.  VC will now pass a multiple-file commit to these systems as
 +a single changeset.
 +
 +*** vc-dir is a new command that displays file names and their VC
 +status.  It allows to apply various VC operations to a file, a
 +directory or a set of files/directories.
 +
 +*** VC switches are no longer appended, rather the first non-nil value is used.
 +(This was for the most part true in Emacs 22, but was not advertised).
 +This is because there is an increasing variety of VC systems, and they
 +do not all accept the same "common" options.  For example, a CVS diff
 +command used to append the values of `vc-cvs-diff-switches',
 +`vc-diff-switches', and `diff-switches'.  Now the first non-nil value
 +from that sequence is used.  The special value `t' means "no switches".
 +
 +*** Clicking on the VC mode-line entry now pops the VC menu.
 +
 +*** The VC mode-line entry now has a tooltip that explains the VC file status.
 +
 +*** In VC Annotate mode, the key bindings have changed to use lower
 +case keys instead of the upper case keys used in the past.
 +
 +*** In VC Annotate mode, for VC systems that support changesets, you can
 +see the diff for the whole changeset (not only for the current file)
 +by typing the D key.  Using the "Show changeset diff of revision at
 +line" menu entry does the same thing.
 +
 +*** In VC Annotate mode, you can type v to toggle the annotation visibility.
 +
 +*** In VC Annotate mode, you can type f to show the file revision on
 +the current line.
 +
 +*** Asynchronous VC commands display [Waiting...] in the mode-line
 +of the corresponding buffer as long as the asynchronous process is
 +active.
 +
 +*** Log entries can be modified using the key "e" in log-view.
 +For now only CVS, RCS, SCCS and SVN support this functionality.
 +This is done by the `modify-change-comment' backend function.
 +
 +*** In log-view-mode, for VC systems that support changesets, you can
 +see the diff for the whole changeset (not only for the current file)
 +by typing the D key or using the "Changeset Diff" menu entry.
 +
 +*** In Log Edit mode,  C-c C-d now shows the diff for the files involved.
 +
 +*** vc-git supports the "git grep" command.
 +
 +*** VC Support for Meta-CVS has been removed for lack of a maintainer able
 +to update it to the new VC.
 +
 +** Miscellaneous
 +
 +*** comint-mode uses `start-file-process' now (see Lisp Changes).
 +If `default-directory' is a remote file name, subprocesses are started
 +on the corresponding remote system.
 +
 +*** Eldoc highlights the function argument under point
 +with the face `eldoc-highlight-function-argument'.
 +
 +*** In Etags, the --members option is now the default.
 +Use --no-members if you want the old default behavior of not tagging
 +struct members in C, members variables in C++ and variables in PHP.
 +
 +*** The `gdb' command only works with the graphical interface now.
 +Use `gud-gdb' if you want the (old) text command mode.
 +
 +*** goto-address.el provides two new minor modes, goto-address-mode and
 +goto-address-prog-mode, which buttonize URLS and email addresses.
 +
 +*** The new command `eshell/info' runs info in an eshell buffer.
 +
 +*** The new variable `ffap-rfc-directories' specifies a list of local
 +directories in which `ffap-rfc' will first search for RFCs.
 +
 +*** hide-ifdef-mode allows shadowing ifdef-blocks instead of hiding them.
 +See option `hide-ifdef-shadow' and function `hide-ifdef-toggle-shadowing'.
 +
 +*** `icomplete-prospects-height' now supersedes `icomplete-prospects-length'.
 +
 +*** Info displays breadcrumbs in the header of the page.
 +See Info-breadcrumbs-depth to control it.
 +
 +*** net-utils has an `iwconfig' command, similar to the existing `ifconfig'.
 +It is used to configure wireless interfaces.
 +
 +*** The pcmpl-unix package supports hostname completion for ssh and scp.
 +
 +*** sgml-electric-tag-pair-mode lets you simultaneously edit matched tag pairs.
 +
 +*** smerge-refine highlights word-level details of changes in conflict.
 +It's used automatically as you move through conflicts, see
 +smerge-auto-refine-mode.
 +
 +*** talk.el has been extended for multiple tty support.
 +
 +*** A new command `display-time-world' has been added to the Time
 +package.  It creates a buffer with an updating time display using
 +several time zones.
 +
 +*** The appearance of superscript and subscript in TeX is more customizable.
 +See the documentation of the variables: tex-fontify-script,
 +tex-font-script-display, tex-suscript-height-ratio, and
 +tex-suscript-height-minimum.
 +
 +*** view-remove-frame-by-deleting is now by default t
 +since users found iconification of view-mode frames distracting.
 +
 +*** WoMan tries to add locale-specific manual page directories to the
 +search path.  This can be disabled by setting `woman-locale' to nil.
 +
 +\f
 +* Changes in Emacs 23.1 on non-free operating systems
 +
 +** Case is now considered significant in completion on MS-Windows.
 +The default value of `completion-ignore-case' is now nil on
 +MS-Windows, the same as it is for other operating systems.  The
 +variable doesn't apply to reading a file name -- in that case Emacs
 +heeds `read-file-name-completion-ignore-case' instead.
 +
 +** IPv6 is supported on MS-Windows.
 +Emacs now supports IPv6 on Windows XP and later, and earlier versions
 +of Windows with third party IPv6 stacks installed.  In Emacs 22, IPv6 was
 +supported on other platforms, but not on Windows due to using the winsock
 +1.1 header file, even though Emacs was linking to the winsock 2 library.
 +
 +** Busy cursor (hourglass) now displays on MS-Windows.
 +When Emacs is busy, an hourglass mouse cursor is displayed on Windows.
 +In Emacs 22 only X supported the busy cursor.
 +
 +** Battery status is available on MS-Windows
 +Emacs can now display the battery status in the mode-line when enabled with
 +display-battery-mode or from the Options menu.  More verbose battery
 +information is also available with the command `battery'.  In Emacs 22
 +battery status was supported only on GNU/Linux and Mac.
 +
 +** More keys available on MS-Windows.
 +Keys normally associated with IMEs, and some exotic keys not normally found
 +on standard keyboards have been given names so they can be bound to functions
 +inside Emacs.  If there are keys on your keyboard that have not been exposed
 +to Emacs in the past, try C-h k to see if they are available now.
 +
 +Emacs can now bind functions to the extra buttons for media player and
 +browser control present on some keyboards.  These buttons are disabled
 +by default, since enabling them prevents their system-wide use when
 +Emacs has focus.  To enable them, set the variable
 +w32-pass-multimedia-buttons to nil.  See the doc string of that variable
 +for the list of extra keys that are available.
 +
 +** BDF fonts no longer supported on MS-Windows.
 +The font backend was completely rewritten for this release.  The focus
 +on Windows has been getting acceptable performance and full Unicode
 +support, including complex script shaping for native Windows fonts.  A
 +rewrite of the BDF font support has not happened due to lack of time
 +and developers.  If demand still exists for such a backend even with
 +the improved language support for native Windows fonts, future
 +development in this direction will most likely be based on the
 +freetype library, giving access to a wider range of font formats.
 +
 +\f
 +* Incompatible Lisp Changes in Emacs 23.1
 +
 +** Variables cannot be both buffer-local and frame-local any more.
 +
 +** `functionp' returns nil for special forms.
 +I.e., it only returns t for objects that can be passed to `funcall'.
 +
 +** The behavior of map-char-table has changed.  It may call the
 +specified function with a cons (FROM . TO) as a key if characters in
 +that range have the same value.
 +
 +** Process changes
 +
 +*** The function `dired-call-process' has been removed.
 +
 +*** The multibyteness of process filters is now determined by the
 +coding-system used for decoding.  The functions
 +`process-filter-multibyte-p' and `set-process-filter-multibyte' are
 +obsolete.
 +
 +** The variable `byte-compile-warnings' can now be a list starting with `not',
 +meaning to disable the specified warnings.  The meaning of this list
 +may therefore be the reverse of what you expect (of course, this is
 +only an issue if you make use of the new `not' syntax).  Rather than
 +checking/manipulating elements directly, use the new functions
 +`byte-compile-warning-enabled-p', `byte-compile-disable-warning', and
 +`byte-compile-enable-warning.'
 +
 +** `mode-name' is no longer guaranteed to be a string.
 +Use `(format-mode-line mode-name)' to ensure a string value.
 +
 +** The function x-font-family-list has been removed.
 +Use the new function font-family-list (see Lisp Changes, below).
 +
 +** Internationalization changes
 +
 +*** The value of the function `charset-id' is now always 0.
 +
 +*** The functions `register-char-codings' and `coding-system-spec'
 +have been removed.
 +
 +*** The cpXXX coding systems are now supported automatically.
 +The functions cp-...-codepage, which you had to use in Emacs 22 to
 +enable support for these coding systems, have been deleted.
 +
 +*** The following features have been removed.  They were used for
 +displaying various scripts with specific fonts, and are no longer
 +needed now that OpenType font support is available:
 +
 +**** `devanagari' and `devan-util', and all associated devanagari-* and
 +dev-* functions and variables (formerly used for Devanagari script).
 +
 +**** `kannada' and `knd-util', and all associated kannada-* and knd-*
 +functions and variables (formerly used for Kannada script).
 +
 +**** `malayalam' and `mlm-util', and all associated malayalam-* and
 +mlm-* functions and variables (formerly used for Malayalam script).
 +
 +**** `tamil' and `tml-util, and all associated tamil-* and tml-*
 +functions and variables (formerly used for Tamil script).
 +
 +*** The meaning of NAME argument of `set-fontset-font' is changed.
 +Previously nil is accepted as the default fontset.  Now, nil is for
 +the fontset of the selected frame and t is for the default fontset.
 +
 +*** The meaning of FONTSET argument of `print-fontset' is changed.
 +Now, nil is for the fontset of the selected frame and t is for the
 +default fontset.
 +
 +** If a function in write-region-annotate-functions returns with a
 +different buffer current, Emacs no longer kills that buffer
 +automatically.  This behavior existed in previous versions of Emacs,
 +but was undocumented.  To kill a buffer after write-region, give the
 +variable `write-region-post-annotation-function' a buffer-local value
 +of `kill-buffer'.
 +
 +** The variable temp-file-name-pattern has been removed.
 +This variable was only used by call-process-region, which now uses
 +temporary-file-directory instead.
 +
 +** The COUNT and SYSTEM-FLAG arguments to define-abbrev have been
 +removed.  The function now takes extra arguments for specifying
 +arbitrary abbrev properties.
 +
 +** end-of-defun-function is now guaranteed to work only when called
 +from the start of a defun.  It must now leave point exactly at the end
 +of defun, since `end-of-defun' now itself moves forward over
 +whitespace after calling it.
 +
 +\f
 +* Lisp Changes in Emacs 23.1
 +
 +** The new variable `generate-autoload-cookie' controls the magic comment
 +string used by `update-file-autoloads' to find autoloaded forms.  The
 +variable `generated-autoload-file' similarly controls the name of the
 +file where `update-file-autoloads' writes the calls to `autoload'.
 +The default values are ";;;###autoload" and `loaddefs.el',
 +respectively.
 +
 +** New primitives `list-system-processes' and `process-attributes'
 +let Lisp programs access the processes that are running on the local
 +machine.  See the doc strings of these functions for more details.
 +Not all platforms support accessing this information; on those that
 +don't, these primitives will return nil.
 +
 +** New variable `user-emacs-directory'.
 +Use this instead of "~/.emacs.d".
 +
 +** If a local hook function has a non-nil `permanent-local-hook'
 +property, `kill-all-local-variables' does not remove it from the local
 +value of the hook variable; it remains even if you change major modes.
 +
 +** `frame-inherited-parameters' lets new frames inherit parameters from
 +the selected frame.
 +
 +** New keymap `input-decode-map' overrides like key-translation-map, but
 +applies before function-key-map.  Also it is terminal-local contrary to
 +key-translation-map.  Terminal-specific key-sequences are generally added to
 +this map rather than to function-key-map now.
 +
 +** `ignore-errors' is now a standard macro (does not require the CL package).
 +
 +** `interprogram-paste-function' can now return one string or a list
 +of strings.  In the latter case, Emacs puts the second and following
 +strings on the kill ring.
 +
 +** In `condition-case', a handler can specify "let the debugger run first".
 +You do this by writing `debug' in the list of conditions to be handled,
 +like this:
 +
 +    (condition-case nil
 +      (foo bar)
 +      ((debug error) nil))
 +
 +** clone-indirect-buffer now runs the clone-indirect-buffer-hook.
 +
 +** `beginning-of-defun-function' now takes one argument, the count given to
 +`beginning-of-defun'.  (N.B. `end-of-defun-function' doesn't take any
 +arguments.)
 +
 +** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED.
 +IDENTIFICATION specifies which part of the remote identifier has to be
 +returned.  With CONNECTED passed non-nil, it is checked whether a
 +remote connection has been established already.
 +
 +** The new macro `declare-function' suppresses compiler warnings about
 +undefined functions.
 +
 +** Changes to interactive function handling
 +
 +*** The new interactive spec code ^ says to first call
 +handle-shift-selection if shift-select-mode is non-nil, before reading
 +the command arguments.  This is used for shift-selection (see above).
 +
 +*** Built-in functions can now have an interactive specification that
 +is not a prompt string.  If the `intspec' parameter of a `DEFUN'
 +starts with a `(', the string is evaluated as a Lisp form.
 +
 +*** The interactive-form of a function can be added post-facto via the
 +`interactive-form' symbol property.  Mostly useful to add complex
 +interactive forms to subroutines.
 +
 +** Region changes
 +
 +*** Commands should use `use-region-p' to test whether there is
 +an active region that they should operate on.
 +
 +*** `region-active-p' returns non-nil when Transient Mark mode is
 +enabled and the mark is active.  Most commands that act specially on
 +the active region in Transient Mark mode should use `use-region-p'
 +instead of `region-active-p', because `use-region-p' obeys the new
 +user option `use-empty-active-region' (see Editing Changes, above).
 +
 +*** If a command sets `transient-mark-mode' to (only . OLDVAL), that
 +means to activate transient-mark-mode temporarily, until the next
 +unshifted point motion command or mark deactivation.  Afterwards,
 +reset transient-mark-mode to the value OLDVAL.  The values `only' and
 +`identity', introduced in Emacs 22, are now deprecated.
 +
 +** Emacs session information
 +
 +*** The new variables `before-init-time' and `after-init-time' record the
 +value of `current-time' before and after Emacs loads the init files.
 +
 +*** The new function `emacs-uptime' returns the uptime of an Emacs instance.
 +
 +*** The new function `emacs-init-time' returns the duration of the
 +Emacs initialization.
 +
 +** Changes affecting display-buffer
 +
 +*** display-buffer tries to be smarter when splitting windows.
 +The new option split-window-preferred-function lets you specify your own
 +function to pop up new windows.  Its default value split-window-sensibly
 +can split a window either vertically or horizontally, whichever seems
 +more suitable in the current configuration.  You can tune the behavior
 +of split-window-sensibly by customizing split-height-threshold and the
 +new option split-width-threshold.  Both options now take the value nil
 +to inhibit splitting in one direction.  Setting split-width-threshold to
 +nil inhibits horizontal splitting and gets you the behavior of Emacs 22
 +in this respect.  In any case, display-buffer may now split the largest
 +window vertically even when it is not as wide as the containing frame.
 +
 +*** If pop-up-frames has the value `graphic-only', display-buffer only
 +makes a separate frame on graphic displays.
 +
 +*** select-frame and set-frame-selected-window have a new optional
 +argument NORECORD.  If non-nil, this will avoid messing with the order
 +of recently selected windows and the buffer list.
 +
 +** Window parameters can now be defined.
 +These are analogous to frame parameters, but are associated with
 +individual windows.
 +
 +*** The new functions window-parameters, window-parameter, and
 +set-window-parameter are used to query and set window parameters.
 +
 +** Minibuffer and completion changes
 +
 +*** A list of default values can be specified for the DEFAULT argument of
 +functions `read-from-minibuffer', `read-string', `read-command',
 +`read-variable', `read-buffer', `completing-read'.  Elements of this list
 +are available for inserting into the minibuffer by typing `M-n'.
 +For empty input these functions return the first element of this list.
 +
 +*** New function `read-regexp' uses the regexp history and some useful
 +regexp defaults (string at point, last Isearch/replacement regexp/string)
 +via M-n when reading a regexp in the minibuffer.
 +
 +*** minibuffer-local-must-match-filename-map is now named
 +minibuffer-local-filename-must-match-map.
 +
 +*** The `require-match' argument to `completing-read' accepts the new
 +values `confirm-only' and `confirm-after-completion'.
 +
 +** Search and replacement changes
 +
 +*** The regexp form \(?<num>:<regexp>\) specifies the group number explicitly.
 +
 +*** New function `match-substitute-replacement' returns the result of
 +`replace-match' without actually using it in the buffer.
 +
 +*** The new variable `replace-search-function' determines the function
 +to use for searching in query-replace and replace-string.  The
 +function it specifies is called by `perform-replace' when its 4th
 +argument is nil.
 +
 +*** The new variable `replace-re-search-function' determines the
 +function to use for searching in `query-replace-regexp',
 +`replace-regexp', `query-replace-regexp-eval', and
 +`map-query-replace-regexp'.  The function it specifies is called by
 +`perform-replace' when its 4th argument is non-nil.
 +
 +*** New keymap `search-map' bound to `M-s' provides global bindings
 +for search related commands.
 +
 +*** New keymap `multi-query-replace-map' contains additional keys bound
 +to `automatic-all' and `exit-current' for multi-buffer interactive replacement.
 +
 +*** The variable `inhibit-changing-match-data', if non-nil, prevents
 +the search and match primitives from changing the match data.
 +
 +*** New functions `word-search-forward-lax' and `word-search-backward-lax'.
 +These are like `word-search-forward and `word-search-backward', except
 +that the end of the search string need not match a word boundary,
 +unless it ends in whitespace.
 +
 +** File handling changes
 +
 +*** set-file-modes is now interactive and can take the mode value in
 +symbolic notation thanks to auxiliary functions.
 +
 +*** file-local-variables-alist stores an alist of file-local
 +variables defined in the current buffer.
 +
 +** Face-remapping
 +
 +*** Each face can be remapped to a different face definition using the
 +variable `face-remapping-alist'.  This is an alist that maps faces to
 +replacement definitions (which can be face names, lists of face names,
 +or attribute/value plists.  If this variable is buffer-local, the
 +remapping occurs only in that buffer.
 +
 +*** text-scale-mode remaps the default face to a larger or smaller
 +size in the current buffer.  This feature is used by the Buffer Face
 +menu and the new `C-x C-+', `C-x C--', and `C-x C-0' commands (see
 +Editing Changes, above).
 +
 +*** New functions:
 +
 +**** `face-remap-add-relative' adds a face remapping entry to the
 +current buffer.
 +
 +**** ``face-remap-remove-relative' removes a face remapping entry from
 +the current buffer.
 +
 +**** `face-remap-reset-base' restores a face to its global definition.
 +
 +**** `face-remap-set-base' sets the base remapping of a face.
 +
 +** Process changes
 +
 +*** The new function `start-file-process' is similar to `start-process',
 +but obeys file handlers.  The file handler is chosen based on
 +`default-directory'.  The functions `start-file-process-shell-command'
 +and `process-file-shell-command' are also new; they call internally
 +`start-file-process' and `process-file', respectively.
 +
 +*** The new function `process-lines' executes an external program and
 +returns its output as a list of lines.
 +
 +** Character code, representation, and charset changes.
 +
 +*** In multibyte buffers and strings, characters are represented by
 +UTF-8 byte sequences.  The character code space is now 0x0..0x3FFFFF
 +with no gap; code points 0x0..0x10FFFF are Unicode characters of the
 +same code points, while code points 0x3FFF80..0x3FFFFF are raw 8-bit
 +bytes.
 +
 +*** Generic characters no longer exist.
 +
 +*** The concept of a charset has changed.  A single character may
 +belong to multiple charsets (e.g. a-grave, U+00E0, belongs to charsets
 +unicode, iso-8859-1, iso-8859-3, etc).
 +
 +**** The dimension of a charset is now 1, 2, 3, or 4, and the size of
 +each dimension is no longer limited to 94 or 96.
 +
 +**** A dynamic charset priority list is used to infer the charset of
 +characters for display.
 +
 +*** The functions `split-char' and `make-char' now accept up to 4
 +positional codes instead of just 2.
 +
 +*** The functions `encode-char' and `decode-char' now accept any character sets.
 +
 +*** The function `define-charset' now accepts a completely different
 +form of arguments (old-style arguments still work).
 +
 +*** The value of the function `char-charset' depends on the current
 +priorities of charsets.
 +
 +*** The function get-char-code-property now accepts many Unicode base
 +character properties.  They are `name', `general-category',
 +`canonical-combining-class', `bidi-class', `decomposition',
 +`decimal-digit-value', `digit-value', `numeric-value', `mirrored',
 +`old-name', `iso-10646-comment', `uppercase', `lowercase', and
 +`titlecase'.
 +
 +*** The functions `modify-syntax-entry' and `modify-category-entry' now
 +accept a cons of characters as the first argument, and modify all
 +entries in that range of characters.
 +
 +*** Use of `translation-table-for-input' for character code unification
 +is now obsolete, since Emacs 23.1 and later uses Unicode as basis for
 +internal representation of characters.
 +
 +*** New functions:
 +
 +**** `characterp' returns t if and only if the argument is a character.
 +This replaces `char-valid-p', which is now obsolete.
 +
 +**** `max-char' returns the maximum character code (currently #x3FFFFF).
 +
 +**** `define-charset-alias' defines an alias of a charset.
 +
 +**** `set-charset-priority' sets priorities of charsets.
 +
 +**** `charset-priority-list' returns a prioritized list of charsets.
 +
 +**** `unibyte-string' makes a unibyte string from bytes.
 +
 +**** `define-char-code-property' defines a character code property.
 +
 +**** `char-code-property-description' returns the description string of
 +a character code property.
 +
 +*** New variables:
 +
 +**** `find-word-boundary-function-table' is a char-table of functions to
 +search for a word boundary.
 +
 +**** `char-script-table' is a char-table of script names.
 +
 +**** `char-width-table' is a char-table of character widths.
 +
 +**** `print-charset-text-property' controls how to handle `charset' text
 +property on printing a string.
 +
 +**** `printable-chars' is a char-table of printable characters.
 +
 +** Code conversion changes
 +
 +*** The new function `define-coding-system' should be used to define a
 +coding system instead of `make-coding-system' (which is now obsolete).
 +
 +*** The functions `encode-coding-region' and `decode-coding-region'
 +have an optional 4th argument to specify where the result of
 +conversion should go.
 +
 +*** The functions `encode-coding-string' and `decode-coding-string'
 +have an optional 4th argument specifying a buffer to store the result
 +of conversion.
 +
 +*** The new variable `inhibit-null-byte-detection' controls whether to
 +consider text with null bytes as binary data.  By default, it is
 +`nil', and Emacs uses `no-conversion' for any text containing null
 +bytes.
 +
 +*** The functions `set-coding-priority' and `make-coding-system' are obsolete.
 +
 +*** New functions:
 +
 +**** `with-coding-priority' executes Lisp code using the specified
 +coding system priority order.
 +
 +**** `check-coding-systems-region' checks if the text in the region is
 +encodable by the specified coding systems.
 +
 +**** `coding-system-aliases' returns a list of aliases of a coding system.
 +
 +**** `coding-system-charset-list' returns a list of charsets supported
 +by a coding system.
 +
 +**** `coding-system-priority-list' returns a list of coding systems
 +ordered by their priorities.
 +
 +**** `set-coding-system-priority' sets priorities of coding systems.
 +
 +**** `coding-system-from-name' returns a coding system matching with
 +the argument name.
 +
 +** There is a new input method, Robin, different from Quail.
 +It has three functionalities:
 + i) a simple input method (converts an ASCII sequence into a string).
 +ii) converts an existing buffer substring into another string
 +iii) reverse conversion (each character produced by a
 +robin rule can hold the original ASCII sequence as a char-code-property)
 +
 +*** The new function `robin-define-package' defines a Robin package.
 +
 +*** The new function `robin-modify-package' modifies an existing Robin package.
 +
 +*** The new function `robin-use-package' starts using a Robin package
 +as an input method.
 +
 +*** The new function `string-to-unibyte' is like `string-as-unibyte'
 +but signals an error if STRING contains a non-ASCII, non-eight-bit
 +character.
 +
 +** Changes related to the new font backend
 +
 +*** Which font backends to use can be specified by the X resource
 +"FontBackend".  For instance, to use both X core fonts and Xft fonts:
 +
 +Emacs.FontBackend: x,xft
 +
 +If this resource is not set, Emacs tries to use all font backends
 +available on your graphic device.
 +
 +*** New frame parameter `font-backend' specifies a list of
 +font-backends supported by the frame's graphic device.  On X, they are
 +currently `x' and `xft'.
 +
 +*** The function `set-fontset-font' now accepts a script name as the
 +second argument, and has an optional 5th argument to control how to
 +set the font.
 +
 +*** New functions:
 +
 +**** `fontp' checks if the argument is a font-spec or font-entity.
 +
 +**** `font-spec' creates a new font-spec object.
 +
 +**** `font-get' returns a font property value.
 +
 +**** `font-put' sets a font property value.
 +
 +**** `font-face-attributes' returns a plist of face attributes set by a font.
 +
 +**** `list-fonts' returns a list of font-entities matching a font spec.
 +
 +**** `find-font' returns the font-entity best matching the given font spec.
 +
 +**** `font-family-list' returns a list of family names of available fonts.
 +
 +**** `font-xlfd-name' returns an XLFD name of a given font spec, font
 +entity, or font object.
 +
 +**** `clear-font-cache' clears all font caches.
 +
 +** Changes related to multiple-terminal (multi-tty) support
 +
 +*** $TERM is now set to `dumb' for subprocesses.  If you want to know the
 +$TERM inherited by Emacs you will have to look inside initial-environment.
 +
 +*** $DISPLAY is now dynamically inherited from the frame's `display'.
 +
 +*** The `window-system' variable is now frame-local.  The new
 +`initial-window-system' variable contains the `window-system' value
 +for the first frame.  `window-system' is also now a function that
 +takes a frame argument.
 +
 +*** The `keyboard-translate-table' variable and the terminal and
 +keyboard coding systems are now terminal-local.
 +
 +*** You can specify a terminal device (`tty' parameter) and a terminal
 +type (`tty-type' parameter) to `make-terminal-frame'.
 +
 +*** The function `make-frame-on-display' now works during a tty
 +session.
 +
 +*** A new `terminal' data type.
 +The functions `get-device-terminal', `terminal-parameters',
 +`terminal-parameter', `set-terminal-parameter' use this data type.
 +
 +*** Function key sequences are now mapped using `local-function-key-map',
 +a new variable.  This inherits from the global variable function-key-map,
 +which is not used directly any more.
 +
 +*** New hooks:
 +
 +**** before-hack-local-variables-hook is called after setting new
 +variable file-local-variables-alist, and before actually applying the
 +file-local variables.
 +
 +**** `suspend-tty-functions' and `resume-tty-functions' are called
 +after a tty frame has been suspended or resumed, respectively.  The
 +functions are called with the terminal id of the frame being
 +suspended/resumed as a parameter.
 +
 +**** The special hook `delete-terminal-functions' is called before
 +deleting a terminal.
 +
 +*** New functions:
 +
 +**** `delete-terminal'
 +
 +**** `suspend-tty'
 +
 +**** `resume-tty'.
 +
 +*** `initial-environment' holds the environment inherited from Emacs's parent.
 +
 +** Redisplay changes
 +
 +*** For underlined characters, the distance between the underline and
 +the baseline is controlled by a new variable, `underline-minimum-offset'.
 +
 +*** You can now pass the value of the `invisible' property to
 +invisible-p to check whether it would cause the text to be invisible.
 +This is convenient when checking invisibility of text with no buffer
 +position (e.g. in before/after-strings).
 +
 +*** `clear-image-cache' can be told to flush only images of a specific file.
 +
 +*** `vertical-motion' can now be given a goal column.
 +It now accepts a cons cell (COLS . LINES) in its first argument, which
 +says to stop, where possible, at a pixel x-position equal to COLS
 +times the default column width.
 +
 +*** redisplay-end-trigger-functions, set-window-redisplay-end-trigger,
 +and window-redisplay-end-trigger are obsolete.  Use `jit-lock-register'
 +instead.
 +
 +*** The new variables `wrap-prefix' and `line-prefix' specify display
 +specs which are appended at display-time to every continuation line
 +and non-continuation line, respectively.  In addition, Emacs
 +recognizes the `wrap-prefix' and `line-prefix' text or overlay
 +properties; these have the same effects as the variables of the same
 +name, but take precedence.
 +
 +** The Lisp interpreter now treats non-breaking space as whitespace.
 +
 +** Miscellaneous new functions
 +
 +*** `apply-partially' performs a "curried" application of a function.
 +
 +*** `buffer-swap-text' swaps text between two buffers.  This can be
 +useful for modes such as tar-mode, archive-mode, RMAIL.
 +
 +*** `combine-and-quote-strings' produces a single string from a list of strings
 +sticking a separator string in between each pair, and quoting those
 +strings that include the separator as their substring.  Useful for
 +consing shell command lines from the individual arguments.
 +
 +*** `custom-note-var-changed' tells Custom to treat the change in a
 +certain variable as having been made within Custom.
 +
 +*** `face-all-attributes' returns an alist describing all the basic
 +attributes of a given face.
 +
 +*** `format-seconds' converts a number of seconds into a readable
 +string of days, hours, etc.
 +
 +*** `image-refresh' refreshes all images associated with a given image
 +specification.
 +
 +*** `locate-user-emacs-file' helps packages to select the appropriate
 +place to save user-specific files.  It defaults to `user-emacs-directory'
 +unless the file already exists at $HOME.
 +
 +*** `read-color' reads a color name using the minibuffer.
 +
 +*** `read-shell-command' does what its name says, with completion.  It
 +uses the minibuffer-local-shell-command-map for that.
 +
 +*** `split-string-and-unquote' splits a string into a list of substrings
 +on the boundaries of a given delimiter, and unquotes the substrings that
 +are quoted.  Useful for taking apart shell commands.
 +
 +*** The two new functions `looking-at-p' and `string-match-p' can do
 +the same matching as `looking-at' and `string-match' without changing
 +the match data.
 +
 +*** The two new functions `make-serial-process' and
 +`serial-process-configure' provide a Lisp interface to the new serial
 +port support (see Emacs changes, above).
 +
 +** Miscellaneous new variables
 +
 +*** `auto-save-include-big-deletions', if non-nil, means auto-save is
 +not turned off automatically after a big deletion.
 +
 +*** `read-circle', if nil, disables the reading of recursive Lisp
 +structures using the #N= and #N# syntax.
 +
 +*** `this-command-keys-shift-translated' is non-nil if the key
 +sequence invoking the current command was found by shift-translation.
 +
 +*** `window-point-insertion-type' determines the insertion-type of the
 +marker used for window-point.
 +
 +*** bookmark provides `bookmark-make-record-function' so special major
 +modes like Info can teach bookmark.el how to save and restore the
 +relevant data.
 +
 +*** `fill-forward-paragraph-function' specifies which function the
 +filling code should use to find paragraph boundaries.
 +
 +\f
 +* New Packages for Lisp Programming in Emacs 23.1
 +
 +** The new package avl-tree.el deals with the AVL tree data structure.
 +
 +** The new package check-declare.el verifies the accuracy of
 +declare-function macros (see Lisp Changes, above).
 +
 +** find-cmd.el can build `find' commands using lisp syntax.
 +
 +** The package misearch.el has been added.  It allows Isearch to search
 +through multiple buffers.  A variable `multi-isearch-next-buffer-function'
 +defines the function to call to get the next buffer to search in the series
 +of multiple buffers.  Top-level functions `multi-isearch-buffers',
 +`multi-isearch-buffers-regexp', `multi-isearch-files' and
 +`multi-isearch-files-regexp' accept a single argument that specifies
 +a list of buffers/files to search for a string/regexp.
 +
 +** The new major mode `special-mode' is intended as a parent for
 +major modes such as those that set the "'mode-class 'special" property.
 +
 +\f
 +----------------------------------------------------------------------
 +This file is part of GNU Emacs.
 +
 +GNU Emacs is free software: you can redistribute it and/or modify
 +it under the terms of the GNU General Public License as published by
 +the Free Software Foundation, either version 3 of the License, or
 +(at your option) any later version.
 +
 +GNU Emacs is distributed in the hope that it will be useful,
 +but WITHOUT ANY WARRANTY; without even the implied warranty of
 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +GNU General Public License for more details.
 +
 +You should have received a copy of the GNU General Public License
 +along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 +
 +\f
 +Local variables:
 +mode: outline
 +paragraph-separate: "[        \f]*$"
 +end:
index b8d3240aef174fe991582db5e99967aa14ac8468,1862de2d8383d24c71baec961e802db806c4fe5e..05346b02c8d0164f9335c81c9df003a7f797cde8
@@@ -1,7 -1,7 +1,7 @@@
  ;;; semantic/wisent/js-wy.el --- Generated parser support file
  
 -;; Copyright (C) 2005, 2009, 2010, 2011, 2012  Free Software Foundation, Inc.
 +;; Copyright (C) 2005, 2009-2012  Free Software Foundation, Inc.
- ;; Copyright (C) 1998-2011 Ecma International
+ ;; Copyright (C) 1998-2011 Ecma International.
  
  ;; This file is part of GNU Emacs.
  
@@@ -20,8 -20,8 +20,8 @@@
  
  ;;; Commentary:
  ;;
 -;; This file was generated from etc/grammars/js.wy.
 -;;
 +;; This file was generated from admin/grammars/js.wy.
 +
  ;; It is derived from the grammar in the ECMAScript Language
  ;; Specification published at
  ;;
@@@ -58,7 -58,6 +58,7 @@@
  ;; DAMAGE.
  
  ;;; Code:
 +
  (require 'semantic/lex)
  \f
  ;;; Prologue
     '((parse-stream . wisent-parse-stream)))
    (setq semantic-parser-name "LALR"
        semantic--parse-table wisent-javascript-jv-wy--parse-table
 -      semantic-debug-parser-source "wisent-javascript-jv.wy"
 +      semantic-debug-parser-source "js.wy"
        semantic-flex-keywords-obarray wisent-javascript-jv-wy--keyword-table
        semantic-lex-types-obarray wisent-javascript-jv-wy--token-table)
    ;; Collect unmatched syntax lexical tokens
  
  \f
  ;;; Analyzers
 -;;
 -(define-lex-keyword-type-analyzer wisent-javascript-jv-wy--<keyword>-keyword-analyzer
 -  "keyword analyzer for <keyword> tokens."
 -  "\\(\\sw\\|\\s_\\)+")
 -
 -(define-lex-block-type-analyzer wisent-javascript-jv-wy--<block>-block-analyzer
 -  "block analyzer for <block> tokens."
 -  "\\s(\\|\\s)"
 -  '((("(" OPEN_PARENTHESIS PAREN_BLOCK)
 -     ("{" START_BLOCK BRACE_BLOCK)
 -     ("[" OPEN_SQ_BRACKETS BRACK_BLOCK))
 -    (")" CLOSE_PARENTHESIS)
 -    ("}" END_BLOCK)
 -    ("]" CLOSE_SQ_BRACKETS))
 -  )
 -
 -(define-lex-regex-type-analyzer wisent-javascript-jv-wy--<symbol>-regexp-analyzer
 -  "regexp analyzer for <symbol> tokens."
 -  "\\(\\sw\\|\\s_\\)+"
 -  nil
 -  'VARIABLE)
 -
 -(define-lex-sexp-type-analyzer wisent-javascript-jv-wy--<string>-sexp-analyzer
 -  "sexp analyzer for <string> tokens."
 -  "\\s\""
 -  'STRING)
 -
 -(define-lex-regex-type-analyzer wisent-javascript-jv-wy--<number>-regexp-analyzer
 -  "regexp analyzer for <number> tokens."
 -  semantic-lex-number-expression
 -  nil
 -  'NUMBER)
  
  (define-lex-string-type-analyzer wisent-javascript-jv-wy--<punctuation>-string-analyzer
    "string analyzer for <punctuation> tokens."
      (ASSIGN_SYMBOL . "="))
    'punctuation)
  
 +(define-lex-block-type-analyzer wisent-javascript-jv-wy--<block>-block-analyzer
 +  "block analyzer for <block> tokens."
 +  "\\s(\\|\\s)"
 +  '((("(" OPEN_PARENTHESIS PAREN_BLOCK)
 +     ("{" START_BLOCK BRACE_BLOCK)
 +     ("[" OPEN_SQ_BRACKETS BRACK_BLOCK))
 +    (")" CLOSE_PARENTHESIS)
 +    ("}" END_BLOCK)
 +    ("]" CLOSE_SQ_BRACKETS))
 +  )
 +
 +(define-lex-regex-type-analyzer wisent-javascript-jv-wy--<symbol>-regexp-analyzer
 +  "regexp analyzer for <symbol> tokens."
 +  "\\(\\sw\\|\\s_\\)+"
 +  nil
 +  'VARIABLE)
 +
 +(define-lex-regex-type-analyzer wisent-javascript-jv-wy--<number>-regexp-analyzer
 +  "regexp analyzer for <number> tokens."
 +  semantic-lex-number-expression
 +  nil
 +  'NUMBER)
 +
 +(define-lex-sexp-type-analyzer wisent-javascript-jv-wy--<string>-sexp-analyzer
 +  "sexp analyzer for <string> tokens."
 +  "\\s\""
 +  'STRING)
 +
 +(define-lex-keyword-type-analyzer wisent-javascript-jv-wy--<keyword>-keyword-analyzer
 +  "keyword analyzer for <keyword> tokens."
 +  "\\(\\sw\\|\\s_\\)+")
 +
  \f
  ;;; Epilogue
  ;;
  
  (provide 'semantic/wisent/js-wy)
  
 -;; arch-tag: ff9ecf05-18e6-46a6-a3bb-e7f43f04640f
  ;;; semantic/wisent/js-wy.el ends here
index cb0f37c8f16a2c89d38b88969035f687a3b2cbf5,e1090ef6a20813b3edbcdfbe3985a2a91a6055a4..e8229dcd9ea5279d1da66e06525ea3ac0107c2f7
@@@ -1,7 -1,9 +1,8 @@@
  ;;; semantic/wisent/python-wy.el --- Generated parser support file
  
 -;; Copyright (C) 2002, 2003, 2004, 2007, 2010, 2011, 2012
 -;; Free Software Foundation, Inc.
 +;; Copyright (C) 2002-2004, 2007, 2010-2012  Free Software Foundation, Inc.
- ;; Copyright (C) 2001-2010 Python Software Foundation
+ ;; Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+ ;; 2009, 2010 Python Software Foundation; All Rights Reserved
  
  ;; This file is part of GNU Emacs.
  
@@@ -20,7 -22,7 +21,7 @@@
  
  ;;; Commentary:
  ;;
 -;; This file was generated from etc/grammars/python.wy.
 +;; This file was generated from admin/grammars/python.wy.
  ;; It is derived in part from the Python grammar, used under the
  ;; following license:
  ;;
  \f
  ;;; Analyzers
  
 -(define-lex-keyword-type-analyzer wisent-python-wy--<keyword>-keyword-analyzer
 -  "keyword analyzer for <keyword> tokens."
 -  "\\(\\sw\\|\\s_\\)+")
 -
  (define-lex-block-type-analyzer wisent-python-wy--<block>-block-analyzer
    "block analyzer for <block> tokens."
    "\\s(\\|\\s)"
      ("]" RBRACK))
    )
  
 -(define-lex-regex-type-analyzer wisent-python-wy--<symbol>-regexp-analyzer
 -  "regexp analyzer for <symbol> tokens."
 -  "\\(\\sw\\|\\s_\\)+"
 -  nil
 -  'NAME)
 -
 -(define-lex-regex-type-analyzer wisent-python-wy--<number>-regexp-analyzer
 -  "regexp analyzer for <number> tokens."
 -  semantic-lex-number-expression
 -  nil
 -  'NUMBER_LITERAL)
 -
  (define-lex-string-type-analyzer wisent-python-wy--<punctuation>-string-analyzer
    "string analyzer for <punctuation> tokens."
    "\\(\\s.\\|\\s$\\|\\s'\\)+"
      (LTLTEQ . "<<="))
    'punctuation)
  
 +(define-lex-regex-type-analyzer wisent-python-wy--<symbol>-regexp-analyzer
 +  "regexp analyzer for <symbol> tokens."
 +  "\\(\\sw\\|\\s_\\)+"
 +  nil
 +  'NAME)
 +
 +(define-lex-regex-type-analyzer wisent-python-wy--<number>-regexp-analyzer
 +  "regexp analyzer for <number> tokens."
 +  semantic-lex-number-expression
 +  nil
 +  'NUMBER_LITERAL)
 +
 +(define-lex-keyword-type-analyzer wisent-python-wy--<keyword>-keyword-analyzer
 +  "keyword analyzer for <keyword> tokens."
 +  "\\(\\sw\\|\\s_\\)+")
 +
  \f
  ;;; Epilogue
  ;;
diff --combined src/ChangeLog
index aa4e92b4134493d0d765d377d20b04c9f9f4e4a0,18b96b04195eff115678c2d403bfc73b2cb62b97..3a6e31eede40e49871774436ce5c26b8897ff873
 -2012-01-18  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
 -
 -      * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to
 -      aliasing change.
 -
 -2012-01-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xftfont.c (xftfont_draw): Use the font metrics of s->font to
 -      fill background (Bug#8992).
 -
 -2012-01-13  Kenichi Handa  <handa@m17n.org>
++2012-01-19  Kenichi Handa  <handa@m17n.org>
+       * character.c (char_width): New function.
+       (Fchar_width, c_string_width, lisp_string_width):
+       Use char_width (Bug#9496).
 -2012-01-12  Sven Joachim  <svenjoac@gmx.de>
 -
 -      * s/gnu-linux.h: Use CRT_DIR.
 -
 -2011-11-11  Johan BockgÃ¥rd  <bojohan@gnu.org>
 -
 -      * xdisp.c (fill_composite_glyph_string): Always set s->face, to
 -      avoid a crash (bug#9496).
 -
 -2012-01-09  Chong Yidong  <cyd@gnu.org>
 -
 -      * xdisp.c (note_mouse_highlight): Fix use of uninitialized var.
 -
 -2012-01-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (note_mouse_highlight): Initialize `area'.  (Bug#9947)
 -      Initialize `part', to avoid a possible random value that matches
 -      one of those tested as condition to clear the mouse face.
 -
 -2012-01-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (scrolling_window): Truncate overlaps in copy
 -      destination of scroll runs so as to avoid assigning disabled bogus
 -      rows and unnecessary graphics copy operations.
 -
 -2012-01-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispnew.c (scrolling_window): Fix incorrect indices in accessing
 -      current_matrix and desired_matrix.  (Bug#9990)
 -
 -2011-10-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xmenu.c (cleanup_widget_value_tree): New function.
 -      (xmenu_show, xdialog_show): Use it in record_unwind_protect instead of
 -      calling free_menubar_widget_value_tree directly (Bug#9830).
 -
 -2011-09-19  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * keymap.c (Fsingle_key_description): Use make_specified_string
 -      instead of build_string to build string from push_key_description.
 -      (Bug#5193)
 -
 -2011-09-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (expose_window): Save original value of phys_cursor_on_p
 -      and turn window cursor on if cleared (Bug#9415).
 -
 -2011-09-07  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * search.c (boyer_moore): Take unibyte characters from pattern
 -      literally.  (Bug#9458)
 -
 -2011-08-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * syntax.c (find_defun_start): Update all cache variables if
 -      exiting early (Bug#9401).
 -
 -2011-08-19  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * keyboard.c: Include "process.h"
 -
 -2011-07-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xfaces.c (update_face_from_frame_parameter): Move out of
 -      HAVE_WINDOW_SYSTEM portion.  Condition window-system only parts
 -      with HAVE_WINDOW_SYSTEM.
 -
 -2011-07-26  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * fontset.c (fontset_get_font_group): Add proper type checks.
 -      (Bug#9172)
 -
 -2011-07-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS
 -      and LC_VERSION_MIN_MACOSX.
 -      (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function.
 -      (dump_it) [LC_FUNCTION_STARTS]: Use it.
 -
 -2011-07-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Fmodify_frame_parameters): In tty case, update the
 -      default face if necessary (Bug#4238).
 -
 -2011-07-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add -fno-pie so as to suppress
 -      address randomization (Bug#8395).
 -
 -2011-07-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (composition_compute_stop_pos): Ignore a static
 -      composition starting before CHARPOS (Bug#8915).
 -
 -      * xdisp.c (handle_composition_prop): Likewise.
 -
 -2011-06-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (scrolling_window): Before scrolling, turn off a
 -      mouse-highlight in the window being scrolled.
 -
 -2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF.  (Bug#8839)
 -
 -2011-06-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Warn when starting a GTK emacs in daemon mode.
 -
 -2011-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * fringe.c (update_window_fringes): Don't update overlay arrow bitmap
 -      in the current matrix if keep_current_p is non-zero.
 -
 -2011-05-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p.
 -
 -      * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row
 -      for fringe update if it has periodic bitmap.
 -      (row_equal_p): Also compare left_fringe_offset, right_fringe_offset,
 -      and fringe_bitmap_periodic_p.
 -
 -      * fringe.c (get_fringe_bitmap_data): New function.
 -      (draw_fringe_bitmap_1, update_window_fringes): Use it.
 -      (update_window_fringes): Record periodicity of fringe bitmap in glyph
 -      row.  Mark glyph row for fringe update if periodicity changed.
 -
 -      * xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row
 -      for fringe update unless it has periodic bitmap.
 -
 -2011-05-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): Set correct it->face_id for
 -      a static composition.
 -
 -2011-05-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (scrolling_window): Don't exclude the case that the
 -      last enabled row in the desired matrix touches the bottom boundary.
 -
 -2011-05-11  Drew Adams  <drew.adams@oracle.com>
 -
 -      * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655).
 -
 -2011-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and
 -      `width' to `bar_area_x' and `bar_area_width', respectively.
 -      (x_scroll_run): Take account of fringe background extension.
 -
 -      * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: Rename
 -      local vars `left' and `width' to `bar_area_x' and
 -      `bar_area_width', respectively.
 -      (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe
 -      background extension.
 -
 -2011-05-09  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xmenu.c (set_frame_menubar): Fix submenu loops.
 -
 -2011-05-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Backport revisions 103939.1.41..103939.1.44 (inclusive) from trunk.
 -      (bug#8623)
 -      The next log entry shows the actual changes by Paul Eggert.
 -
 -2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      Fix a problem with aliasing and vector headers.
 -      GCC 4.6.0 optimizes based on type-based alias analysis.  For
 -      example, if b is of type struct buffer * and v of type struct
 -      Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size
 -      != &v->size, and therefore "v->size = 1; b->size = 2; return
 -      v->size;" must therefore return 1.  This assumption is incorrect
 -      for Emacs, since it type-puns struct Lisp_Vector * with many other
 -      types.  To fix this problem, this patch adds a new type struct
 -      vector_header that documents the constraints on layout of vectors
 -      and pseudovectors, and helps optimizing compilers not get fooled
 -      by Emacs's type punning.  It also adds the macros XSETTYPED_PVECTYPE
 -      XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons.
 -      * lisp.h (XVECTOR_SIZE): New convenience macro.  All previous uses of
 -      XVECTOR (foo)->size replaced to use this macro, to avoid the hassle
 -      of writing XVECTOR (foo)->header.size.
 -      * lisp.h: Say "vectorlike header" rather than "vector header.
 -      (struct vectorlike_header): Rename from struct vector_header.
 -      (XVECTORLIKE_HEADER_SIZE): Renamed from XVECTOR_HEADER_SIZE.
 -      All uses changed.
 -      (XVECTOR_HEADER_SIZE): New macro, for use in XSETPSEUDOVECTOR.
 -      (XSETTYPED_PVECTYPE): New macro, specifying the name of the size
 -      member.
 -      (XSETPVECTYPE): Rewrite in terms of new macro.
 -      (XSETPVECTYPESIZE): New macro, specifying both type and size.
 -      This is a bit clearer, and further avoids the possibility of
 -      undesirable aliasing.
 -      (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size.
 -      (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR
 -      and XVECTOR_HEADER_SIZE.
 -      (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE,
 -      since Lisp_Subr is a special case (no "next" field).
 -      (ASIZE): Rewrite in terms of XVECTOR_SIZE.
 -      (struct vector_header): New type.
 -      (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the
 -      object, to help avoid aliasing.
 -      (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP.
 -      (SUBRP): Likewise, since Lisp_Subr is a special case.
 -
 -      * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table):
 -      (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector):
 -      (struct Lisp_Hash_Table): Combine first two members into a single
 -      struct vector_header member.  All uses of "size" and "next" members
 -      changed to be "header.size" and "header.next".
 -      * buffer.h (struct buffer): Likewise.
 -      * font.h (struct font_spec, struct font_entity, struct font): Likewise.
 -      * frame.h (struct frame): Likewise.
 -      * process.h (struct Lisp_Process): Likewise.
 -      * termhooks.h (struct terminal): Likewise.
 -      * window.c (struct save_window_data, struct saved_window): Likewise.
 -      * window.h (struct window): Likewise.
 -      * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector):
 -      Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems.
 -      * buffer.c (init_buffer_once): Likewise.
 -      * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a
 -      special case.
 -      * process.c (Fformat_network_address): Use local var for size,
 -      for brevity.
 -      * fns.c (vector): Remove; this old hack is no longer needed.
 -      * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
 -
 -2011-04-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]:
 -      New version that can reserve upto 2GB of heap space.
 -
 -2011-04-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534).
 -
 -2011-04-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/ms-w32.h (localtime): Redirect to sys_localtime.
 +2012-01-16  Martin Rudalics  <rudalics@gmx.at>
  
 -      * w32.c: Include <time.h>.
 -      (sys_localtime): New function.
 +      * window.c (Vwindow_persistent_parameters): New variable.
 +      (Fset_window_configuration, save_window_save): Handle persistent
 +      window parameters.
  
 -2011-04-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
 +2012-01-14  Eli Zaretskii  <eliz@gnu.org>
  
 -2011-04-10  Samuel Thibault  <sthibault@debian.org>  (tiny change)
 +      * w32fns.c (signal_user_input): Don't do a QUIT, to avoid
 +      thrashing the stack of the thread.  (Bug#9087)
  
 -      * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
 -      zombies (Bug#8467).
 +2012-01-12  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2011-04-10  Chong Yidong  <cyd@stupidchicken.com>
 +      * xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses.
  
 -      * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
 +2012-01-11  Eli Zaretskii  <eliz@gnu.org>
  
 -2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
 +      * xdisp.c (rows_from_pos_range): Handle the case where the
 +      highlight ends on a newline.  (Bug#10464)
 +      (mouse_face_from_buffer_pos): Fix off-by-one error in calculating
 +      he end column for display of highlight that ends on a newline
 +      before a R2L line.
  
 -      * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
 -      unsigned char, to match FcChar8 type definition.
 +2012-01-11  Glenn Morris  <rgm@gnu.org>
  
 -      * 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.
 +      * lread.c (init_lread): If no-site-lisp, remove site-lisp dirs
 +      from load-path also when installation-directory is nil.  (Bug#10208)
  
 -2011-04-08  Samuel Thibault  <sthibault@debian.org>  (tiny change)
 +2012-01-10  Glenn Morris  <rgm@gnu.org>
  
 -      * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
 +      * emacs.c (syms_of_emacs) <installation-directory>: Doc fix.
  
 -2011-03-19  Christoph Scholtes  <cschol2112@googlemail.com>
 +      * epaths.in (PATH_LOADSEARCH, PATH_EXEC, PATH_DATA, PATH_DOC):
 +      Update template values to be closer to their typical values these days.
  
 -      * process.c (Fformat_network_address): Doc fix.
 +2012-01-09  Eli Zaretskii  <eliz@gnu.org>
  
 -2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
 +      * xdisp.c (rows_from_pos_range): Accept additional argument
 +      DISP_STRING, and accept any glyph in a row whose object is that
 +      string as eligible for mouse highlight.  Fixes mouse highlight of
 +      display strings from overlays.  (Bug#10464)
  
 -      * 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.
 +2012-01-07  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      emacs: fix an auto-save permissions race condition (Bug#10400)
 +      * fileio.c (auto_saving_dir_umask): New static var.
 +      (Fmake_directory_internal): Use it.
 +      (do_auto_save_make_dir): Set it, instead of invoking chmod after
 +      creating the directory.  The old code temporarily assigns
 +      too-generous permissions to the directory.
 +      (do_auto_save_eh): Clear it.
 +      (Fdo_auto_save): Catch all errors, not just file errors, so
 +      that the var is always cleared.
  
 -      * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
 +2012-01-07  Eli Zaretskii  <eliz@gnu.org>
  
 -      * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
 +      * search.c (scan_buffer): Pass character positions to
 +      know_region_cache, not byte positions.  (Bug#6540)
  
 -      * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
 -      (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
 +2012-01-07  LynX  <_LynX@bk.ru>  (tiny change)
  
 -      * xdisp.c (hscroll_window_tree):
 -      (reconsider_clip_changes): Use PT instead of BUF_PT.
 +      * w32.c (sys_rename): Report EXDEV when rename of a directory
 +      fails because the target is on another logical disk.  (Bug#10284)
  
 -2011-03-17  Juanma Barranquero  <lekktu@gmail.com>
 +2012-01-07  David Benjamin  <davidben@mit.edu>  (tiny change)
  
 -      * xfaces.c (Fx_load_color_file):
 -      Read color file from absolute filename (bug#8250).
 +      * xterm.c (x_embed_request_focus): New function.
  
 -2011-03-11  Juanma Barranquero  <lekktu@gmail.com>
 +      * xterm.h: Add prototype.
  
 -      Backport revno:103582 from trunk.
 -      * w32xfns.c (select_palette): Check success of RealizePalette against
 -      GDI_ERROR, not zero.
 +      * xfns.c (Fx_focus_frame): Use it for embedded frames (Bug#9977).
  
 -2011-03-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2012-01-05  Glenn Morris  <rgm@gnu.org>
  
 -      * fringe.c (update_window_fringes): Remove unused variables.
 +      * emacs.c (emacs_copyright): Update short copyright year to 2012.
  
 -      * unexmacosx.c (copy_data_segment): Also copy __got section.
 -      (Bug#8223)
 +2012-01-01  Eli Zaretskii  <eliz@gnu.org>
  
 -2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 +      * gnutls.c (init_gnutls_functions): Load gnutls_check_version.
 +      Load gnutls_transport_set_lowat only if GnuTLS version is below
 +      2.11.1.
 +      (emacs_gnutls_handshake): Call gnutls_transport_set_lowat only for
 +      GnuTLS versions below 2.11.1.
  
 -      * Version 23.3 released.
 +2011-12-31  Antoine Levitt  <antoine.levitt@gmail.com>
  
 -2011-02-22  Kenichi Handa  <handa@m17n.org>
 +      * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Add warning
 +      to the doc string advising against its use for altering the way
 +      windows are scrolled.
  
 -      * 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-12-28  Kenichi Handa  <handa@m17n.org>
  
 -2011-02-19  Chong Yidong  <cyd@stupidchicken.com>
 +      * coding.c (Fdefine_coding_system_internal): Make an utf-8 base
 +      coding-system ASCII compatible only when it does not produce BOM
 +      on encoding (Bug#10383).
  
 -      * Makefile.in (prefix-args${EXEEXT}): Compile with ALL_CFLAGS.
 +2011-12-26  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2011-02-13  Eli Zaretskii  <eliz@gnu.org>
 +      * xmenu.c (x_menu_wait_for_event): Use xg_select for Gtk3 so menus
 +      can scroll.
 +      (create_and_show_popup_menu): Always use menu_position_func for
 +      Gtk3 (Bug#10361).
  
 -      * xdisp.c (redisplay_internal): Resynchronize `w' if the selected
 -      window is changed inside calls to do_pending_window_change.
 -      (Bug#8020)
 +2011-12-24  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2011-02-12  Eli Zaretskii  <eliz@gnu.org>
 +      * callint.c (Fcall_interactively): Don't truncate prompt string.
  
 -      * 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-12-23  Eli Zaretskii  <eliz@gnu.org>
  
 -2011-02-09  Martin Rudalics  <rudalics@gmx.at>
 +      * xdisp.c (handle_invisible_prop): Handle correctly an invisible
 +      property that ends at ZV, so that the bidi iteration could be
 +      resumed from there (after widening).  (Bug#10360)
  
 -      * window.c (select_window): Check inhibit_point_swap argument when
 -      deciding whether to return immediately.
 +2011-12-22  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2011-02-08  Jan Djärv  <jan.h.d@swipnet.se>
 +      * nsfont.m (ns_spec_to_descriptor): Do not autorelease fdesc.
  
 -      * nsterm.m (setFrame, initFrame): Make sure pixel_height doesn't become
 -      zero (Bug#7348).
 +2011-12-21  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2011-02-03  Glenn Morris  <rgm@gnu.org>
 +      * nsterm.m (x_free_frame_resources):
 +      Release f->output_data.ns->miniimage.
 +      (ns_index_color): Fix indentation.  Do not retain
 +      color_table->colors[i].
  
 -      * xfaces.c (Finternal_set_lisp_face_attribute):
 -      Try to clarify some error messages.  (Bug#2659)
 +      * nsmenu.m (ns_update_menubar): Call free_menubar_widget_value_tree
 +      before returning.
  
 -2011-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsfns.m (x_set_background_color): Assign return value from
 +      ns_index_color to face-background instead of NSColor*.
 +      (ns_implicitly_set_icon_type): Fix indentation.
 +      Change assignment in for loop to comparison.
  
 -      * editfns.c (save_restriction_restore): Don't forget to invalidate the
 -      current_column cache (bug#7946).
 +      * emacs.c (ns_pool): New variable.
 +      (main): Assign ns_pool.
 +      (Fkill_emacs): Call ns_release_autorelease_pool.
  
 -2011-02-02  Kenichi Handa  <handa@m17n.org>
 +      * nsfont.m (ns_spec_to_descriptor): Fix indentation,
 +      autorelease fdesc, release fdAttrs and tdict.
 +      (ns_get_covering_families): Release charset.
 +      (ns_findfonts): Release NSFontDescriptor created with new.
 +      (ns_uni_to_glyphs): Fix indentation.
 +      (setString): Release attrStr before assigning new value.
  
 -      * ftfont.c (ftfont_open): Use FC_DUAL only when it is defined.
 +2011-12-18  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * xftfont.c (xftfont_open): Likewise.
 +      * nsmenu.m (NSMenuDidBeginTrackingNotification): Declare if OSX < 10.5
 +      and NS_IMPL_COCOA.
 +      (trackingNotification): Surround with ifdef NS_IMPL_COCOA.
 +      (syms_of_nsmenu): Set trackingMenu to 1 if not NS_IMPL_COCOA.
  
 -2011-02-01  Andreas Schwab  <schwab@linux-m68k.org>
 +2011-12-18  David Reitter  <reitter@cmu.edu>
  
 -      * window.c (Fselect_window): Add missing return value.
 +      * nsterm.m (ns_term_init): Subscribe for notifications
 +      NSMenuDidBeginTrackingNotification and NSMenuDidEndTrackingNotification
 +      to method trackingNotification in EmacsMenu.
  
 -2011-01-29  Andreas Schwab  <schwab@linux-m68k.org>
 +      * nsmenu.m (trackingMenu): New variable.
 +      (trackingNotification): New method (from Aquamacs).
 +      (menuNeedsUpdate): Expand comment and return if trackingMenu is 0,
 +      from Aquamacs (Bug#7030).
  
 -      * 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-12-18  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2011-01-29  Chong Yidong  <cyd@stupidchicken.com>
 +      * nsselect.m (CUT_BUFFER_SUPPORT): Remove define.
 +      (symbol_to_nsstring): Fix indentation.
 +      (ns_symbol_to_pb): New function.
 +      (Fns_get_selection_internal): Renamed from Fns_get_cut_buffer_internal.
 +      (Fns_rotate_cut_buffers_internal): Removed.
 +      (Fns_store_selection_internal): Renamed from
 +      Fns_store_cut_buffer_internal.
 +      (ns_get_foreign_selection, Fx_own_selection_internal)
 +      (Fx_disown_selection_internal, Fx_selection_exists_p)
 +      (Fns_get_selection_internal, Fns_store_selection_internal):
 +      Use ns_symbol_to_pb and check if return value is nil.
 +      (syms_of_nsselect): Remove ifdef CUT_BUFFER_SUPPORT.  Remove defsubr
 +      Sns_rotate_cut_buffers_internal.  Sns_get_cut_buffer_internal
 +      renamed to Sns_get_selection_internal, Sns_store_cut_buffer_internal
 +      renamed to Sns_store_selection_internal.
 +      (ns_handle_selection_request): Move code to Fx_own_selection_internal
 +      and remove this function.
 +      (ns_handle_selection_clear): Remove, never used.
 +      (Fx_own_selection_internal): Move code from ns_handle_selection_request
 +      here.
  
 -      * 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-12-17  Ken Brown  <kbrown@cornell.edu>
  
 -2011-01-28  Chong Yidong  <cyd@stupidchicken.com>
 +      * fileio.c (check_writable) [CYGWIN]: Return non-zero if UID or
 +      GID is unknown (Bug#10257).
  
 -      * m/intel386.h: Define NO_ARG_ARRAY.  Suggested by Dan Nicolaescu.
 +2011-12-17  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2011-01-27  Chong Yidong  <cyd@stupidchicken.com>
 +      * s/gnu-linux.h: Fix mark_memory typo (Bug#10286).
 +      (GC_MARK_SECONDARY_STACK): Omit removed 3rd arg to mark_memory,
 +      which caused a build failure on GNU/Linux IA-64.  This problem was
 +      introduced by my 2011-10-07 patch.
  
 -      * font.c (font_parse_fcname): Require GTK-style font sizes to
 -      occur at the end of the font string (Bug#7853).
 +2011-12-15  Juri Linkov  <juri@jurta.org>
  
 -2011-01-26  Chong Yidong  <cyd@stupidchicken.com>
 +      * image.c (imagemagick_error): New function.  (Bug#10112)
 +      (imagemagick_load_image): Comment out `MagickSetResolution' call.
 +      Use `imagemagick_error' where ImageMagick functions return
 +      `MagickFalse'.
 +      (Fimagemagick_types): Add `Fnreverse' to return the list in the
 +      proper order.
  
 -      * font.c (font_parse_fcname): Fix typo in string length.
 +2011-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2011-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xftfont.c (xftfont_draw): Use the font metrics of s->font to
 +      fill background (Bug#8992).
  
 -      * xdisp.c (handle_fontified_prop): Be careful with font-lock changing
 -      the buffer's point-max (bug#7876).
 +2011-12-13  Martin Rudalics  <rudalics@gmx.at>
  
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
 +      * window.c (Vwindow_combination_resize)
 +      (Vwindow_combination_limit): Use t instead of non-nil in
 +      doc-strings.
 +      (Vrecenter_redisplay): Add first sentence of doc-string on
 +      separate line.
 +      (Frecenter): Fix doc-string typo.
  
 -      * lisp.h (XPNTR): Obey DATA_SEG_BITS in all non-USE_LSB_TAG cases.
 -      Remove unused HAVE_SHM branch (Bug#6811).
 +2011-12-11  Kenichi Handa  <handa@m17n.org>
  
 -2011-01-23  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 +      * coding.c (Funencodable_char_position): Pay attention to the
 +      buffer text relocation (Bug#9389).
  
 -      * s/hpux11.h: Set CANNOT_DUMP on IA64 (Bug#6811).
 +2011-12-10  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2011-01-22  Martin Rudalics  <rudalics@gmx.at>
 +      * xterm.c (x_term_init): Move call to gdk_window_add_filter before
 +      gtk_init (Bug#10100).
  
 -      * window.c (select_window): New function.
 -      (Fselect_window): Call it.
 -      (inhibit_point_swap): Variable deleted.
 -      (Fset_window_configuration): Call select_window directly.
 +2011-12-10  Eli Zaretskii  <eliz@gnu.org>
  
 -2011-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xdisp.c (RECORD_MAX_MIN_POS): Use IT->cmp_it.charpos only if
 +      IT->string is nil.  (Bug#10263)
  
 -      * image.c (syms_of_image): Don't access XSYMBOL's internals directly.
 +2011-12-10  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2011-01-16  Eli Zaretskii  <eliz@gnu.org>
 +      * nsterm.h (x_free_frame_resources): Declare.
  
 -      * image.c (syms_of_image): Don't use SET_SYMBOL_VALUE.  (Bug#7848)
 +      * nsfns.m (ns_get_defaults_value): New function (Bug#10103).
 +      (Fns_get_resource, x_get_string_resource): Call ns_get_defaults_value.
  
 -2011-01-15  Martin Rudalics  <rudalics@gmx.at>
 +      * nsterm.h (ns_get_defaults_value): Declare.
  
 -      * 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).
 +      * nsterm.m (ns_default): Call ns_get_defaults_value.
  
 -2011-01-12  Chong Yidong  <cyd@stupidchicken.com>
 +2011-12-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * config.in (TERMINFO): New definition.
 +      * xdisp.c (try_scrolling): Don't set scroll_down_p if dy is zero.
 +      (Bug#10170)
  
 -      * s/netbsd.h: Use it to choose between terminfo and termcap
 -      (Bug#7642).
 +2011-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2011-01-03  Jan Djärv  <jan.h.d@swipnet.se>
 +      * unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case
 +      that where the value of an _OBJC_* symbol points to is in the .bss
 +      section (Bug#10240).
  
 -      * coding.h (ENCODE_UTF_8): Remove "Used by ..." comment.
 +2011-12-08  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
  
 -      * 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).
 +      * coding.c (encode_coding_ccl): Check (charbuf < charbuf_end)
 +      after the loop to call ccl_driver at least once (Bug#8619).
  
 -2011-01-03  Eli Zaretskii  <eliz@gnu.org>
 +2011-12-08  Kenichi Handa  <handa@m17n.org>
  
 -      * image.c (png_jmpbuf): Remove definition.
 -      (my_png_error, png_load): Don't use png_jmpbuf.
 +      * ftfont.c (get_adstyle_property): Fix previous change
 +      (Bug#10233).
  
 -2010-12-31  Eli Zaretskii  <eliz@gnu.org>
 +2011-12-07  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * w32.c (init_environment): If no_site_lisp, remove site-lisp
 +      dirs from the default value of EMACSLOADPATH (bug#10208).
  
 -2010-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-12-07  Glenn Morris  <rgm@gnu.org>
  
 -      * .gdbinit (xgetptr): Fix the union+lsb case.
 -      (xbacktrace): Fix the union case.
 +      * lread.c (init_lread): If no_site_lisp, exclude site-lisp/ in
 +      installation and source directories as well.  (Bug#10208)
  
 -2010-12-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-12-06  Chong Yidong  <cyd@gnu.org>
  
 -      * window.c (Fmove_to_window_line): Avoid abort when called in a buffer
 -      different from selected-window's.
 +      * minibuf.c (Fread_from_minibuffer): Doc fix (Bug#10228).
  
 -2010-12-25  Eli Zaretskii  <eliz@gnu.org>
 +2011-12-06  Glenn Morris  <rgm@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)
 +      * process.c (start_process_unwind): Treat any pid <= 0, except -2,
 +      as an error, not just -1.  (Bug#10217)
  
 -      * xdisp.c (Fformat_mode_line): Doc fix: no need to state that only
 -      the basic faces are supported.
 +2011-12-05  Chong Yidong  <cyd@gnu.org>
  
 -2010-12-24  Jan Djärv  <jan.h.d@swipnet.se>
 +      * keyboard.c (process_special_events): New function.
 +      (swallow_events, Finput_pending_p): Use it (Bug#10195).
  
 -      * xterm.c (x_check_fullscreen): Fix pixel/character mixup.
 +2011-12-05  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2010-12-17  Eli Zaretskii  <eliz@gnu.org>
 +      * coding.c (encode_designation_at_bol): Don't use uninitialized
 +      local variable (Bug#9318).
  
 -      * xdisp.c (Fformat_mode_line): Fix last change.
 +2011-12-05  Kenichi Handa  <handa@m17n.org>
  
 -2010-12-16  Chong Yidong  <cyd@stupidchicken.com>
 +      * ftfont.c (get_adstyle_property): If the font is not BDF nor PCF,
 +      return Qnil (Bug#8046, Bug#10193).
  
 -      * xdisp.c (Fformat_mode_line): Restrict the FACE argument to basic
 -      faces (Bug#7587).
 +2011-12-05  Kenichi Handa  <handa@m17n.org>
  
 -2010-12-13  Eli Zaretskii  <eliz@gnu.org>
 +      * coding.c (encode_designation_at_bol): New args charbuf_end and
 +      dst.  Return the number of produced bytes.  Callers changed.
 +      (coding_set_source): Return how many bytes coding->source was
 +      relocated.
 +      (coding_set_destination): Return how many bytes
 +      coding->destination was relocated.
 +      (CODING_DECODE_CHAR, CODING_ENCODE_CHAR, CODING_CHAR_CHARSET)
 +      (CODING_CHAR_CHARSET_P): Adjusted for the avove changes.
  
 -      * fileio.c (Fexpand_file_name): One more doc fix.
 +2011-12-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
  
 -2010-12-12  Eli Zaretskii  <eliz@gnu.org>
 +      * coding.c (CODING_CHAR_CHARSET_P): New macro.
 +      (encode_coding_emacs_mule, encode_coding_iso_2022): Use the above
 +      macro (Bug#9318).
  
 -      * fileio.c (Fexpand_file_name): Doc fix.  (Bug#7617)
 +2011-12-05  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2010-12-11  Eli Zaretskii  <eliz@gnu.org>
 +      The following changes are to fix Bug#9318.
  
 -      * 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)
 +      * coding.c (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET): New macros.
 +      (encode_coding_emacs_mule, ENCODE_ISO_CHARACTER)
 +      (encode_coding_iso_2022, encode_coding_sjis)
 +      (encode_coding_big5, encode_coding_charset): Use the above macros.
  
 -      * 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.
 +2011-12-05  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-10  Jan Djärv  <jan.h.d@swipnet.se>
 +      * lisp.h (process_quit_flag): Fix external declaration.
  
 -      * keyboard.c (kbd_buffer_get_event): Construct SAVE_SESSION_EVENT
 -      as (Qsave_session arg).
 +2011-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * 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).
 +      Don't macro-inline non-performance-critical code.
 +      * eval.c (process_quit_flag): New function.
 +      * lisp.h (QUIT): Use it.
  
 -2010-12-07  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-12-04  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * xsmfns.c (smc_die_CB): Call Fkill_emacs (Bug#7552).
 +      * nsfns.m (get_geometry_from_preferences): New function.
 +      (Fx_create_frame): Call get_geometry_from_preferences (Bug#10103).
  
 -2010-12-06  Chong Yidong  <cyd@stupidchicken.com>
 +2011-12-04  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * dispextern.h (struct it): New member overlay_strings_charpos.
 +      * emacs.c (Qkill_emacs): Define.
 +      (syms_of_emacs): Initialize it.
 +      * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set
 +      Qquit_flag to `kill-emacs' instead.
 +      (quit_throw_to_read_char): Add parameter `from_signal'.
 +      All callers changed.  Call Fkill_emacs if requested and safe.
 +      * lisp.h (QUIT): Call Fkill_emacs if requested.
  
 -      * 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).
 +2011-12-03  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2010-12-05  Jan Djärv  <jan.h.d@swipnet.se>
 +      * widget.c (update_wm_hints): Return if wmshell is null.
 +      (widget_update_wm_size_hints): New function.
  
 -      * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background
 -      with cursor color and draw a rectangle around the image (Bug#7412).
 +      * widget.h (widget_update_wm_size_hints): Declare.
  
 -2010-12-05  Chong Yidong  <cyd@stupidchicken.com>
 +      * xterm.c (x_wm_set_size_hint): If USE_X_TOOLKIT, call
 +      widget_update_wm_size_hints (Bug#10104).
  
 -      * xdisp.c (try_scrolling): Avoid infloop if the first line is
 -      obscured due to a vscroll (Bug#7537).
 +2011-12-03  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-12-02  Jan Djärv  <jhd@zeplinf.localdomain>
 +      * xdisp.c (handle_invisible_prop): If the invisible text ends just
 +      before a newline, prepare the bidi iterator for consuming the
 +      newline, and keep the current paragraph direction.  (Bug#10183)
 +      (redisplay_window): Don't let `margin' become negative.  (Bug#10192)
  
 -      * nsterm.h (FRAME_NS_TOOLBAR_HEIGHT): Rename to FRAME_TOOLBAR_HEIGHT.
 +2011-12-02  Juri Linkov  <juri@jurta.org>
  
 -      * 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).
 +      * search.c (Fword_search_regexp): New Lisp function created from
 +      `wordify'.  Change type of arg `lax' from `int' to `Lisp_Object'.
 +      (Fword_search_backward, Fword_search_forward)
 +      (Fword_search_backward_lax, Fword_search_forward_lax):
 +      Use `Fword_search_regexp' instead of `wordify'.  Doc fix.
 +      (syms_of_search): Define `Sword_search_regexp'.  (Bug#10145)
  
 -2010-11-25  Kenichi Handa  <handa@m17n.org>
 +2011-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * 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.
 +      * fileio.c (Finsert_file_contents): Move after-change-function call
 +      to before the "handled:" label, since all "goto handled" appear in
 +      cases where the *-change-functions have already been properly called
 +      (bug#10117).
  
 -      * charset.h (emacs_mule_charset): Adjust the prototype.  Delete
 -      duplicated extern.
 +2011-12-01  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * coding.c (emacs_mule_char): Adjust for the change of
 -      emacs_mule_charset.
 +      * keyboard.c (interrupt_signal): Don't call kill-emacs when
 +      waiting for input.  (Bug#10169)
  
 -      * lread.c (read_emacs_mule_char): Adjust for the change of
 -      emacs_mule_charset.
 +2011-11-30  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-11-22  Eli Zaretskii  <eliz@gnu.org>
 +      * dispnew.c (adjust_glyph_matrix): Remove the assertion that
 +      verifies glyph row's hash code--we have just reallocated the
 +      glyphs, so their contents can be complete garbage.  (Bug#10164)
  
 -      * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions
 -      of w32api >= 3.15.  (Bug#6989)  (Bug#7452)
 +2011-11-30  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-11-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Add missing check.
  
 -      * alloc.c (mark_terminals): Ensure that the image cache is marked
 -      even if the terminal object was marked earlier (Bug#6301).
 +2011-11-30  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 +      * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's
 +      attributes are tested _before_ calling verify_row_hash, to protect
 +      against GCC re-ordering of the tests.  (Bug#10164)
  
 -      * editfns.c (Fbyte_to_string): Signal an error arg is not a byte.
 +2011-11-29  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2010-11-20  Jan Djärv  <jan.h.d@swipnet.se>
 +      * xterm.h (struct x_output): net_wm_state_hidden_seen is new.
  
 -      * 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).
 +      * xterm.c (handle_one_xevent): Only set async_visible and friends
 +      if net_wm_state_hidden_seen is non-zero (Bug#10002)
 +      (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if
 +      _NET_WM_STATE_HIDDEN is in NET_WM_STATE.
  
 -2010-11-14  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-11-28  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * xsettings.c (init_gconf): Check HAVE_G_TYPE_INIT.
 +      Remove GCPRO-related macros that exist only to avoid shadowing locals.
 +      * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR)
 +      (GCPRO6_VAR, UNGCPRO_VAR): Remove.  See
 +      <http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
 +      All uses changed to use GCPRO1 etc.
 +      (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, UNGCPRO):
 +      Revert to old implementation (i.e., before 2011-03-11).
  
 -      * config.in (HAVE_G_TYPE_INIT): New symbol.
 +2011-11-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2010-11-12  Eli Zaretskii  <eliz@gnu.org>
 +      * dispnew.c (scrolling_window): Truncate overlaps in copy destination
 +      of scroll runs so as to avoid assigning disabled bogus rows and
 +      unnecessary graphics copy operations.
  
 -      * lread.c (Fload): Mention `load-in-progress' and
 -      `load-file-name'.  (Bug#7346)
 +2011-11-27  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-11-09  Eli Zaretskii  <eliz@gnu.org>
 +      * s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define.
 +      (snprintf) [_MSC_VER]: Redirect to _snprintf.
 +      (strtoll) [_MSC_VER]: Redirect to _strtoi64.
 +      (malloc, free, realloc, calloc): Redirect to e_* only when
 +      compiling Emacs.
  
 -      * 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.
 +      * lisp.h (GCTYPEBITS): Move before first use.
 +      (ALIGN_GCTYPEBITS) [_MSC_VER]: Define.
 +      (DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in
 +      this macro definition.
  
 -      * process.c (init_process) [subprocesses]: Init kbd_is_on_hold in
 -      the subprocesses version, not in the non-subprocesses one.
 +      * s/ms-w32.h (tzname): Redirect to _tzname for all values of
 +      _MSC_VER.
  
 -      * Makefile.in: Don't use ## comment, it breaks the MSDOS build.
 +2011-11-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * xfns.c (x_real_positions): Fix declaration-after-statement
 -      problem.
 +      * gtkutil.c (xg_create_frame_widgets):
 +      Call gtk_window_set_has_resize_grip (FALSE) if that function is
 +      present with Gtk+ 2.0.
  
 -2010-11-05  Chong Yidong  <cyd@stupidchicken.com>
 +2011-11-26  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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).
 +      * fileio.c (Finsert_file_contents): Undo previous change; see
 +      <http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
  
 -2010-11-04  Chong Yidong  <cyd@stupidchicken.com>
 +2011-11-26  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * process.c (Fmake_network_process): Don't apply Bug#5173 fix for
 -      Windows.
 +      Rename locals to avoid shadowing.
 +      * fileio.c (Finsert_file_contents):
 +      Rename inner 'gcpro1' to 'inner_gcpro1' to avoid shadowing.
 +      * process.c (wait_reading_process_output):
 +      Rename inner 'proc' to 'p' to avoid shadowing.
 +      Indent for consistency with usual Emacs style.
  
 -2010-11-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-11-25  Eli Zaretskii  <eliz@gnu.org>
  
 -      * process.c (Fmake_network_process): Don't call turn_on_atimers around
 -      `connect' (Bug#5723).
 +      * xdisp.c (redisplay_window): If cursor row is not fully visible
 +      after recentering, and scroll-conservatively is set to a large
 +      number, scroll window by a few more lines to make the cursor fully
 +      visible and out of scroll-margin.  (Bug#10105)
 +      (start_display): Don't move to the next line if the display should
 +      start at a newline that is part of a display vector or an overlay
 +      string.  (Bug#10119)
  
 -2010-11-04  Helmut Eller  <eller.helmut@gmail.com>
 +2011-11-24  Juri Linkov  <juri@jurta.org>
  
 -      * process.c (Fmake_network_process): Call `select' for interrupted
 -      `connect' rather than creating new socket (Bug#5173).
 +      * image.c (imagemagick_load_image): Move `MagickSetResolution' down
 +      after the `MagickPingImage' call.  (Bug#10112)
  
 -2010-11-04  Kenichi Handa  <handa@m17n.org>
 +2011-11-23  Chong Yidong  <cyd@gnu.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.
 +      * window.c (Fcoordinates_in_window_p): Accept only live windows.
  
 -2010-11-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-11-23  Martin Rudalics  <rudalics@gmx.at>
  
 -      * dispextern.h (TRY_WINDOW_CHECK_MARGINS)
 -      (TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines.
 +      * buffer.c (Fkill_buffer): Run replace_buffer_in_windows before
 +      making another buffer current.  (Bug#10114)
  
 -      * 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.
 +2011-11-23  Glenn Morris  <rgm@gnu.org>
  
 -      * xfns.c (Fx_show_tip): Undo last change.  Call try_window with
 -      TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423).
 +      * font.c (font_find_for_lface) [HAVE_NS]: Ignore case.  (Bug#2526)
  
 -2010-11-04  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-11-23  Chong Yidong  <cyd@gnu.org>
  
 -      * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our
 -      parent is the root window.  Check this after traversing window tree.
 +      * xdisp.c (compute_stop_pos): Check validity of end_charpos before
 +      using it (Bug#5984).
  
 -      * xterm.c (x_term_init): Initialize Xatom_net_frame_extents.
 +2011-11-22  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xterm.h (struct x_display_info): Xatom_net_frame_extents is new.
 +      * dispnew.c (adjust_glyph_matrix): Don't verify hash code of mode-
 +      and header-lines, as they don't have one computed for them.
 +      (Bug#10098)
  
 -      * xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first
 -      before traversing window tree (Bug#5721).
 +      * .gdbinit (prow): Make displayed values more self-explaining.
 +      Add row's hash code.
  
 -2010-11-03  Glenn Morris  <rgm@gnu.org>
 +2011-11-21  Lars Magne Ingebrigtsen  <larsi@gnus.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)
 +      * process.c (wait_reading_process_output): Fix asynchrounous
 +      GnuTLS socket handling on some versions of the GnuTLS library.
 +      (wait_reading_process_output): Add comment and URL.
  
 -2010-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-11-21  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.
 +      * xterm.c (x_clear_frame): Reinstate the XClearWindow call.
  
 -      * process.h (hold_keyboard_input, unhold_keyboard_input)
 -      (kbd_on_hold_p): Declare.
 +2011-11-21  Chong Yidong  <cyd@gnu.org>
  
 -      * 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).
 +      * window.c (Fnext_window, Fprevious_window): Doc fix.
  
 -2010-10-31  Chong Yidong  <cyd@stupidchicken.com>
 +2011-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xterm.c (x_connection_closed): Print informative error message
 -      when aborting on GTK.  This requires using shut_down_emacs
 -      directly instead of Fkill_emacs.
 +      * window.c (get_phys_cursor_glyph): Fix Lisp_Object/int mixup.
  
 -2010-10-25  Michael Albinus  <michael.albinus@gmx.de>
 +2011-11-20  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * dbusbind.c (Fdbus_call_method_asynchronously)
 -      (Fdbus_register_signal, Fdbus_register_method): Check, whether
 -      `dbus-registered-objects-table' is initialized.
 +      * nsfont.m (syms_of_nsfont) <ns-reg-to-script>: Fix typo.
  
 -2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
 +2011-11-20  Martin Rudalics  <rudalics@gmx.at>
  
 -      * xterm.c (x_connection_closed): Kill Emacs unconditionally.
 +      * window.c (Fset_window_combination_limit): Rename argument
 +      STATUS to LIMIT.
 +      (Vwindow_combination_limit): Remove "status" from doc-string.
  
 -2010-10-22  Eli Zaretskii  <eliz@gnu.org>
 +2011-11-20  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * frame.c (Fframep, Fwindow_system): Deprecate use as a predicate.
 +      * m/ibms390.h: Remove.
 +      * m/ibms390x.h: Don't include "ibms390.h".
  
 -      * dispnew.c (syms_of_display) <initial-window-system, window-system>:
 -      Deprecate use as a boolean flag.
 +2011-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-10-18  Ken Brown  <kbrown@cornell.edu>
 +      * fileio.c (Finsert_file_contents): Add missing gcpro1 variable.
 +      Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
  
 -      * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225).
 +2011-11-20  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-10-15  Kenichi Handa  <handa@m17n.org>
 +      * casetab.c (Fset_case_table):
 +      * charset.c (Fcharset_after): Fix typos.
  
 -      Fix incorrect font metrics when the same font is opened with
 -      different pixelsizes.
 +2011-11-20  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * xftfont.c: Include composite.h.
 -      (xftfont_shape): New function.
 -      (syms_of_xftfont): Set xftfont_driver.shape.
 +      Standardize on VIRT_ADDR_VARIES behavior (Bug#10042).
 +      Otherwise, valgrind does not work on some platforms.
 +      Problem reported by Andreas Schwab in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00081.html>.
 +      * puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES
 +      is set, removing the need for VIRT_ADDRESS_VARIES.
 +      (PURE_P): Use a more-efficient implementation that needs just one
 +      comparison, not two: on x86-64 with GCC 4.6.2, this cut down the
 +      number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge)
 +      to 4 (xorl, subq, cmpq, setbe).
 +      * alloc.c (pure): Always extern now, since that's the
 +      VIRT_ADDR_VARIES behavior.
 +      (PURE_POINTER_P): Use a single comparison, not two, for
 +      consistency with the new puresize.h.
 +      * lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed.
 +      * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h:
 +      Remove VIRT_ADDR_VARIES no longer needed.
  
 -2010-10-13  Damyan Pepper  <damyanp@gmail.com>
 +2011-11-19  Eli Zaretskii  <eliz@gnu.org>
  
 -      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.
 +      * xdisp.c (x_write_glyphs, draw_phys_cursor_glyph)
 +      (erase_phys_cursor, update_window_cursor, show_mouse_face)
 +      (cursor_in_mouse_face_p): If the cursor position is out of bounds,
 +      behave as if the cursor position were at the window margin.
  
 -2010-10-12  Juanma Barranquero  <lekktu@gmail.com>
 +      * window.c (get_phys_cursor_glyph): If the window is hscrolled,
 +      and the cursor position is out of bounds, behave as if the cursor
 +      position were at the window margin.  (Bug#10075)
  
 -      * font.c (Ffont_variation_glyphs):
 -      * ccl.c (Fccl_execute_on_string): Fix typo in docstring.
 +2011-11-18  Chong Yidong  <cyd@gnu.org>
  
 -2010-10-10  Jan Djärv  <jan.h.d@swipnet.se>
 +      * window.c (Fwindow_combination_limit): Make first argument
 +      non-optional, since it is meaningless for live windows like the
 +      selected window.
  
 -      * 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.
 +2011-11-18  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -2010-10-08  Michael Albinus  <michael.albinus@gmx.de>
 +      * keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs.
  
 -      * dbusbind.c (xd_get_dispatch_status): Return a Lisp_Object.
 -      (xd_pending_messages): Catch xd_get_dispatch_status calls.
 +2011-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-10-08  Kenichi Handa  <handa@m17n.org>
 +      * intervals.c: Fix grafting over the whole buffer (bug#10071).
 +      (graft_intervals_into_buffer): Simplify.
  
 -      * coding.c (complement_process_encoding_system): Fix previous change.
 +2011-11-18  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-10-03  Michael Albinus  <michael.albinus@gmx.de>
 +      * dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the
 +      hash values of the two rows.
 +      (copy_row_except_pointers): Preserve the used[] arrays and the
 +      hash values of the two rows.  (Bug#10035)
 +      (add_row_entry): Add xassert to verify that ROW's hash code is valid.
  
 -      * dbusbind.c (syms_of_dbusbind): Move putenv call ...
 -      (Fdbus_init_bus): ... here.  (Bug#7113)
 +      * xdisp.c (row_hash): New function, body extracted from
 +      compute_line_metrics.
 +      (compute_line_metrics): Call row_hash, instead of computing the
 +      hash code inline.
  
 -2010-10-03  Glenn Morris  <rgm@gnu.org>
 +      * dispnew.c (verify_row_hash): Call row_hash for computing the
 +      hash code of a row, instead of duplicating code from xdisp.c.
  
 -      * buffer.c (before-change-functions, after-change-functions):
 -      Three-year overdue doc fix following 2007-08-13 change.
 +      * dispextern.h (row_hash): Add prototype.
  
 -2010-10-02  Kenichi Handa  <handa@m17n.org>
 +2011-11-18  Tassilo Horn  <tassilo@member.fsf.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.
 +      * frame.c (delete_frame): Don't delete the terminal when the last
 +      X frame is closed if emacs is built with GTK toolkit.
  
 -2010-09-30  Kenichi Handa  <handa@m17n.org>
 +2011-11-17  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * coding.c (complement_process_encoding_system): New function.
 +      * window.c (syms_of_window) <window-combination-resize>: Fix typo.
  
 -      * coding.h (complement_process_encoding_system): Extern it.
 +2011-11-17  Martin Rudalics  <rudalics@gmx.at>
  
 -      * 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.
 +      * window.c (Vwindow_splits): Rename to
 +      Vwindow_combination_resize.  Suggested by Juri Linkov.
 +      (Fsplit_window_internal): Use Vwindow_combination_resize instead
 +      of Vwindow_splits.
  
 -      * process.c (Fstart_process): Complement the coding system for
 -      encoding arguments.
 -      (send_process): Complement the coding system for encoding what
 -      sent to the process.
 +2011-11-16  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-09-29  Kenichi Handa  <handa@m17n.org>
 +      * nsfns.m (Fns_font_name):
 +      * window.c (syms_of_window) <window-combination-limit>: Fix typos.
  
 -      * xfont.c (xfont_open): Fix setting of font->average_width from
 -      :avgwidth property (Bug#7123).
 +2011-11-16  Martin Rudalics  <rudalics@gmx.at>
  
 -2010-09-28  Michael Albinus  <michael.albinus@gmx.de>
 +      * window.h (window): Rename slot "nest" to "combination_limit".
 +      * window.c (Fwindow_nest): Rename to Fwindow_combination_limit.
 +      (Fset_window_nest): Rename to Fset_window_combination_limit.
 +      (Vwindow_nest): Rename to Vwindow_combination_limit.
 +      (recombine_windows, make_parent_window, make_window)
 +      (Fsplit_window_internal, saved_window)
 +      (Fset_window_configuration, save_window_save): Rename all
 +      occurrences of window_nest to window_combination_limit.
  
 -      * dbusbind.c (syms_of_dbusbind): Use putenv instead of setenv, it
 -      is more portable.
 +2011-11-15  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * image.c (imagemagick_load_image): Fix typo.
  
 -2010-09-27  Michael Albinus  <michael.albinus@gmx.de>
 +2011-11-14  Eli Zaretskii  <eliz@gnu.org>
  
 -      * dbusbind.c (syms_of_dbusbind): Set $DBUS_FATAL_WARNINGS to "0".
 -      (Bug#7113)
 +      * xdisp.c (display_line): Move the call to
 +      highlight_trailing_whitespace before the call to
 +      compute_line_metrics, since the latter needs to see the final
 +      faces of all the glyphs to compute ROW's hash value.
 +      Fixes assertion violations in row_equal_p.  (Bug#10035)
  
 -2010-09-26  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-11-14  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xgselect.c (xg_select): Clear file descriptors not set from
 -      rfds and wfds.
 +      * w32proc.c (reader_thread): Don't check pending input if cp->fd < 0,
 +      just return (bug#10044).
  
 -2010-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-11-12  Eli Zaretskii  <eliz@gnu.org>
  
 -      * syntax.c (back_comment): Detect the case where a 1-char comment
 -      starter is also the 2nd char of a 2-char comment ender.
 +      * makefile.w32-in (HEAPSIZE): New variable, allows to build temacs
 +      with user-defined heap size.  Bump the default size of the temacs
 +      heap to 27MB, to avoid memory warning when running temacs.
 +      ($(TEMACS)): Use HEAPSIZE instead of a hardcoded value.
  
 -2010-09-17  Jan Djärv  <jan.h.d@swipnet.se>
 +      * dispnew.c (scrolling_window): Fix incorrect indices in accessing
 +      current_matrix and desired_matrix.  (Bug#9990)
 +      (verify_row_hash) [XASSERTS]: New function.
 +      (adjust_glyph_matrix, row_equal_p): Use it in xassert to verify
 +      that the hash value of glyph rows is correct.
  
 -      * gtkutil.c (xg_tool_bar_menu_proxy): Set gtk-menu-items to TRUE.
 +2011-11-12  Martin Rudalics  <rudalics@gmx.at>
  
 -2010-09-12  Jan Djärv  <jan.h.d@swipnet.se>
 +      * window.h (window): Remove splits slot.
 +      * window.c (Fwindow_splits, Fset_window_splits): Remove.
 +      (Fdelete_other_windows_internal, make_parent_window)
 +      (make_window, Fsplit_window_internal, Fdelete_window_internal)
 +      (Fset_window_configuration, save_window_save): Don't deal with
 +      split status of windows.
 +      (saved_window): Remove splits slot.
 +      (Vwindow_splits): Rewrite doc-string.
  
 -      * 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.
 +2011-11-11  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2010-09-11  Courtney Bane  <emacs-bugs-7626@cbane.org>  (tiny change)
 +      * xfns.c (unwind_create_frame):
 +      * nsfns.m (unwind_create_frame):
 +      * w32fns.c (unwind_create_frame): Use Fmemq to check if frame is in
 +      Vframe_list (Bug#9999).
  
 -      * term.c (tty_set_terminal_modes): Don't initialize twice (bug#7002).
 +2011-11-11  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -2010-09-08  Kenichi Handa  <handa@m17n.org>
 +      * xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext.
  
 -      * coding.c (encode_coding_iso_2022): Don't optimize for ASCII if
 -      we may use designation or locking-shift.
 +2011-11-11  Kenichi Handa  <handa@m17n.org>
  
 -2010-09-07  Kenichi Handa  <handa@m17n.org>
 +      * callproc.c (Fcall_process): Set the member dst_multibyte of
 +      process_coding.
  
 -      * coding.c (detect_coding_emacs_mule): Fix checking of multibyte
 -      sequence when the source is multibyte.
 +2011-11-11  Johan BockgÃ¥rd  <bojohan@gnu.org>
  
 -2010-08-31  Kenichi Handa  <handa@m17n.org>
 +      * xdisp.c (fill_composite_glyph_string): Always set s->face, to
 +      avoid a crash (bug#9496).
  
 -      * dispextern.h (FACE_FOR_CHAR): Use an ASCII face for 8-bit
 -      characters.
 +2011-11-09  Chong Yidong  <cyd@gnu.org>
  
 -      * 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.
 +      * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
 +      (Fwindow_inside_absolute_pixel_edges): Only allow live windows.
  
 -      * 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.
 +2011-11-08  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2010-08-29  Kenichi Handa  <handa@m17n.org>
 +      * s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926).
  
 -      * term.c (encode_terminal_code): Encode byte chars to the
 -      correspnding bytes.
 +2011-11-08  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2010-08-17  Andreas Schwab  <schwab@linux-m68k.org>
 +      Avoid some portability problems by eschewing 'extern inline' functions.
 +      The trivial performance wins aren't worth the portability hassles; see
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>
 +      et seq.
 +      * dispextern.h (window_box, window_box_height, window_text_bottom_y)
 +      (window_box_width, window_box_left, window_box_left_offset)
 +      (window_box_right, window_box_right_offset): Undo previous change,
 +      by removing the "extern"s.
 +      * intervals.c (adjust_intervals_for_insertion)
 +      (adjust_intervals_for_deletion): Undo previous change,
 +      making these static again.
 +      (offset_intervals, temp_set_point_both, temp_set_point)
 +      (copy_intervals_to_string): No longer inline.
 +      * xdisp.c (window_text_bottom_y, window_box_width)
 +      (window_box_height, window_box_left_offset)
 +      (window_box_right_offset, window_box_left, window_box_right)
 +      (window_box): No longer inline.
  
 -      * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP
 -      instead of SAFE_ALLOCA.
 +2011-11-08  Chong Yidong  <cyd@gnu.org>
  
 -2010-08-17  Chong Yidong  <cyd@stupidchicken.com>
 +      * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
 +      (Fwindow_body_height, Fwindow_body_width): Move from Lisp.
 +      Signal an error if not a live window.
 +      (Fwindow_total_width, Fwindow_total_height): Move from Lisp.
 +      (Fwindow_total_size, Fwindow_body_size): Move to Lisp.
  
 -      * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA
 -      (Bug#6214).
 +2011-11-07  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-08-14  Jan Djärv  <jan.h.d@swipnet.se>
 +      * lisp.h (syms_of_abbrev): Remove declaration.
 +      Reported by CHENG Gao <chenggao@royau.me>.
  
 -      * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S.
 +2011-11-07  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 +      * w32.c (check_windows_init_file): Don't look for term/w32-win.el
 +      if Vpurify_flag is non-nil.  Fixes a crash when running w32 build
 +      of temacs in GUI mode.
  
 -      * doc.c (Fsnarf_documentation): Initialize skip_file before
 -      build-files test.
 +2011-11-07  Martin Rudalics  <rudalics@gmx.at>
  
 -2010-08-09  Peter O'Gorman <pogma@thewrittenword.com>  (tiny change)
 +      * window.h: Declare delete_all_child_windows instead of
 +      delete_all_subwindows.
 +      * window.c (Fwindow_nest, Fset_window_nest)
 +      (Fset_window_new_total, Fset_window_new_normal)
 +      (Fwindow_resize_apply): Don't use term subwindow in doc-strings.
 +      (delete_all_subwindows): Rename to delete_all_child_windows.
 +      (Fdelete_other_windows_internal, Fset_window_configuration):
 +      Call delete_all_child_windows instead of delete_all_subwindows.
 +      * frame.c (delete_frame): Call delete_all_child_windows instead
 +      of delete_all_subwindows.
  
 -      * s/hpux10-20.h (HAVE_TERMIOS, NO_TERMIO, ORDINARY_LINK):
 -      New definitions.
 -      (HAVE_TERMIO): Remove.
 +2011-11-07  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2010-08-06  Kenichi Handa  <handa@m17n.org>
 +      * alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926).
 +      This is also needed for porting to any host where GC_MARK_STACK is
 +      not GC_MAKE_GCPROS_NOOPS.
 +      (which_symbols): Use it.
  
 -      * 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.
 +2011-11-07  Kenichi Handa  <handa@m17n.org>
  
 -      * coding.c (decode_coding_iso_2022): Fix checking of dimension
 -      number in CTEXT extended segment.
 +      * coding.c (coding_set_destination): Check coding->src_pos only
 +      when coding->src_object is a buffer (bug#9910).
  
 -2010-08-01  Juanma Barranquero  <lekktu@gmail.com>
 +      * process.c (send_process): Set the member src_multibyte of coding
 +      to 0 (bug#9911) when sending a unibyte text.
  
 -      * w32fns.c (syms_of_w32fns) <x-max-tooltip-size>: Fix typo in docstring.
 -      * xfns.c (syms_of_xfns) <x-max-tooltip-size>: Reflow docstring.
 +      * callproc.c (Fcall_process): Set the member src_multibyte of
 +      process_coding to 0 (bug#9912).
  
 -2010-07-30  Juanma Barranquero  <lekktu@gmail.com>
 +2011-11-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * fns.c (Fsubstring_no_properties, Fnthcdr, Ffeaturep)
 -      (Fhash_table_size): Fix typos in docstrings.
 -      (Fmake_hash_table): Doc fix.
 +      * xmenu.c (cleanup_widget_value_tree): New function.
 +      (xmenu_show, xdialog_show): Use it in record_unwind_protect instead of
 +      calling free_menubar_widget_value_tree directly (Bug#9830).
  
 -2010-07-28  Juanma Barranquero  <lekktu@gmail.com>
 +2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix some portability problems with 'inline'.
 +      * dispextern.h (window_box, window_box_height, window_text_bottom_y)
 +      (window_box_width, window_box_left, window_box_left_offset)
 +      (window_box_right, window_box_right_offset): Declare extern.
 +      Otherwise, these inline functions do not conform to C99 and
 +      are miscompiled by Microsoft compilers.  Reported by Eli Zaretskii in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>.
 +      * intervals.c (adjust_intervals_for_insertion)
 +      (adjust_intervals_for_deletion): Now extern, because otherwise the
 +      extern inline functions 'offset_intervals' couldn't refer to it.
 +      (static_offset_intervals): Remove.
 +      (offset_intervals): Rewrite using the old contents of
 +      static_offset_intervals.  The old version didn't conform to C99
 +      because an extern inline function contained a reference to an
 +      identifier with static linkage.
 +
 +2011-11-06  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * keyboard.c (interrupt_signal): Don't call kill-emacs while in
 +      GC.
 +
 +2011-11-06  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (init_iterator, reseat_to_string): Don't set the
 +      iterator's bidi_p flag if Vpurify_flag is non-nil.  (Bug#9963)
 +      (Fcurrent_bidi_paragraph_direction): If Vpurify_flag is non-nil,
 +      return Qleft_to_right.
  
 -      * minibuf.c (syms_of_minibuf) <read-buffer-function>:
 -      Doc fix (bug#5625).
 +2011-11-06  Chong Yidong  <cyd@gnu.org>
 +
 +      * window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window)
 +      (Fminibuffer_window, Fwindow_buffer, Fwindow_splits)
 +      (Fset_window_splits, Fwindow_nest, Fset_window_nest)
 +      (Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size)
 +      (Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line)
 +      (Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars)
 +      (Fwindow_vscroll): Doc fix.
 +      (Fwindow_top_child, Fwindow_left_child): Eliminate a nil default
 +      argument, since it makes no sense to pass a live window and for
 +      consistency with window-child.
  
 -2010-07-27  Ken Brown  <kbrown@cornell.edu>
 +2011-11-05  Christoph Scholtes  <cschol2112@googlemail.com>
  
 -      * dired.c (DIRENTRY_NONEMPTY) [cygwin]: Use d_ino instead of
 -      the MSDOS definition.
 +      * makefile.w32-in ($(TEMACS), (gl-stamp)): Use $(THISDIR) to
 +      support MSVC.
  
 -2010-07-25  Christoph Scholtes  <cschol2112@gmail.com>
 +2011-11-05  Jason Rumney  <jasonr@gnu.org>
  
 -      * minibuf.c (Fread_buffer): Doc fix (bug#6528).
 +      * w32font.c (font_matches_spec): Filter out non-Japanese kana fonts.
 +      (add_font_entity_to_list): Filter out non-Japanese Shift-JIS
 +      fonts (Bug#6029).
 +      (add_font_entity_to_list): Fix logic errors in mixed boolean and
 +      bitwise arithmetic preventing use of unicode-sip and non-truetype
 +      opentype fonts.
  
 -2010-07-22  Christoph Scholtes  <cschol2112@gmail.com>
 +2011-11-05  Eli Zaretskii  <eliz@gnu.org>
  
 -      * window.c (Fwindow_height): Doc fix (bug#6518).
 +      * s/ms-w32.h (fstat, stat, utime): Move redirections to
 +      "emacs"-only part.
  
 -2010-07-21  Juanma Barranquero  <lekktu@gmail.com>
 +      * w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange
 +      initialization code to keep similarity to xfns.c after changes
 +      from 2011-11-05.
  
 -      * buffer.c (syms_of_buffer) <fringe-indicator-alist>: Doc fix.
 +2011-11-05  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2010-07-17  Jan Djärv  <jan.h.d@swipnet.se>
 +      * nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG.
 +      (unwind_create_frame): New function (Bug#9943).
 +      (Fx_create_frame): Restructure code to be more similar to the one in
 +      xfns.c.  Call record_unwind_protect with unwind_create_frame (Bug#9943).
 +      Initialize image_cache_refcount if GLYPH_DEBUG (Bug#9943).
 +      Move terminal->reference_count++ just before making the frame official
 +      (Bug#9943).
  
 -      * gtkutil.c (xg_event_is_for_menubar): Also check that event window
 -      is related to the menu bar (Bug#6499).
 +      * nsterm.m (x_free_frame_resources): New function.
 +      (x_destroy_window): Move code to x_free_frame_resources.
  
 -2010-07-14  Jan Djärv  <jan.h.d@swipnet.se>
 +      * xfns.c (unwind_create_frame): Fix comment.
 +      (Fx_create_frame, x_create_tip_frame):
 +      Move terminal->reference_count++ just before making the frame
 +      official. Move initialization of image_cache_refcount and
 +      dpyinfo_refcount before calling init_frame_faces (Bug#9943).
  
 -      * xterm.h (x_menubar_window_to_frame): Second parameter is XEvent*.
 +2011-11-05  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xterm.c (handle_one_xevent): Pass event to x_menubar_window_to_frame.
 +      Support MSVC build with newer versions of Visual Studio.
 +      * makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as
 +      Nmake barfs on that.  Use $(OBJ*_c) variables instead, defined on
 +      nt/gmake.defs.
  
 -      * xmenu.c (x_activate_menubar): Revert previous fix for Bug#6499,
 -      i.e. don't put back ButtonRelease (Bug#6608).
 +      * lisp.h (ENUM_BF): New macro, for enumerated types in bitfields,
 +      which are not supported by MSVC.
 +      (Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay)
 +      (Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in
 +      bitfields.
 +      (Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated
 +      types in bitfields.
 +      (DEFUN) [_MSC_VER]: Define in a different way for MSVC.
  
 -      * 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).
 +      * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version.
  
 -      * gtkutil.h (xg_event_is_for_menubar): Declare.
 +2011-11-05  Fabrice Popineau  <fabrice.popineau@supelec.fr>  (tiny change)
  
 -      * gtkutil.c (xg_event_is_for_menubar): New function (Bug#6499).
 +      Support MSVC build with newer versions of Visual Studio.
 +      * w32.c: Don't include w32api.h for MSVC.
 +      (init_environment) [_MSC_VER]: Call sys_access, not _access.
  
 -2010-07-14  Eli Zaretskii  <eliz@gnu.org>
 +      * s/ms-w32.h <sigset_t, ssize_t> [_MSC_VER]: Typedefs for MSVC.
 +      [_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h.
 +      (fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins.
 +      (malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the
 +      e_* cousins.
 +      (alloca) [_MSC_VER]: Define to _alloca.
  
 -      * w32fns.c (x_set_foreground_color): Fix setting the cursor color
 -      when it's the same as the old foreground.  (Bug#6609)
 +      * lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC.
  
 -2010-07-10  Chong Yidong  <cyd@stupidchicken.com>
 +      * regex.c <re_char> [_MSC_VER]: A separate definition for MSVC.
  
 -      * xfaces.c (realize_face): Garbage the frame if a face is removed
 -      (Bug#6593).
 +2011-11-04  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-07-05  Andreas Schwab  <schwab@linux-m68k.org>
 +      * xdisp.c (note_mouse_highlight): If either of
 +      previous/next-single-property-change returns nil, treat that as
 +      the beginning or the end of the buffer.  (Bug#9955)
  
 -      * keyboard.c: Remove duplicate <setjmp.h>.
 -      (read_key_sequence): Remove volatile qualifiers.
 +2011-11-04  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2010-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * gtkutil.c (xg_make_tool_item): Add callbacks if one of wimage or
 +      label is not null (Bug#9951).
 +      (xg_tool_item_stale_p): Handle the fact that wimage and/or wlbl
 +      may be NULL.
  
 -      * dispextern.h (FRINGE_HEIGHT_BITS): New define.
 -      (struct glyph_row): New members left_fringe_offset and
 -      right_fringe_offset.
 +2011-11-04  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * window.c (Fwindow_body_size): Mention in the doc string that the
 +      return value is in frame's canonical units.  (Bug#9949)
  
 -      * 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).
 +2011-11-03  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-07-04  Juanma Barranquero  <lekktu@gmail.com>
 +      * xdisp.c (note_mouse_highlight): Initialize `area'.  (Bug#9947)
  
 -      * w32fns.c (Qtooltip): Declare.
 -      Suggested by Andy Moreton <andrewjmoreton@gmail.com>.
 +      * w32fns.c (unwind_create_frame): If needed, free the glyph
 +      matrices of the partially constructed frame.  (Bug#9943)
 +      * xfns.c (unwind_create_frame): Likewise.
  
 -2010-07-03  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-11-01  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
 -      grab on just Press (Bug#6499).
 +      * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
 +      Don't stop backward scan on the continuation glyph, even though
 +      its CHARPOS is positive.
 +      (mouse_face_from_buffer_pos, note_mouse_highlight):
 +      Rename cover_string to disp_string.
  
 -2010-07-02  Chong Yidong  <cyd@stupidchicken.com>
 +2011-11-01  Martin Rudalics  <rudalics@gmx.at>
  
 -      * 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.
 +      * window.c (temp_output_buffer_show): Don't use
 +      Vtemp_buffer_show_specifiers.
 +      (Vtemp_buffer_show_specifiers): Remove unused variable.
  
 -      * xfns.c (x_create_tip_frame):
 -      * w32fns.c (x_create_tip_frame): Use it.
 +2011-10-30  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-06-30  Naohiro Aota  <naota@elisp.net>  (tiny change)
 +      * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented
 +      past the beginning of the current glyph matrix.
  
 -      * xftfont.c (xftfont_open): Check font width one by one also when
 -      spacing is dual.
 +2011-10-30  Adam Sjøgren  <asjo@koldfront.dk>  (tiny change)
  
 -      * ftfont.c (ftfont_open): Ditto.
 +      * xterm.c: Include X11/Xproto.h if HAVE_GTK3.
 +      (x_error_handler): Ignore BadMatch for X_SetInputFocus for
 +      HAVE_GTK3 (Bug#9869).
  
 -2010-06-26  Andreas Schwab  <schwab@linux-m68k.org>
 +      * gtkutil.c (xg_win_to_widget, xg_event_is_for_menubar): Initialize
 +      type to GDK_NOTHING so valgrind does not complain (Bug#9901).
  
 -      * alloc.c (Fmake_byte_code): Don't access undefined argument
 -      (Bug#6517).
 +      * xterm.h (x_display_info): Add Xatom_net_wm_state_hidden (Bug#9893).
  
 -2010-06-25  Chong Yidong  <cyd@stupidchicken.com>
 +      * xterm.c: Declare x_handle_net_wm_state to return int.
 +      (handle_one_xevent): Check if we are iconified but don't have
 +      _NET_WM_STATE_HIDDEN.  If do, treat as deiconify (Bug#9893).
 +      (get_current_wm_state): Return non-zero if not hidden,
 +      check for _NET_WM_STATE_HIDDEN (Bug#9893).
 +      (do_ewmh_fullscreen): Ignore return value from get_current_wm_state.
 +      (x_handle_net_wm_state): Return what get_current_wm_state returns.
 +      (x_term_init): Initialize dpyinfo->Xatom_net_wm_state_hidden.
  
 -      * xdisp.c (next_element_from_image): Ensure that after-strings are
 -      read the next time we hit handle_stop (Bug#1336).
 +2011-10-29  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2010-06-23  Andreas Schwab  <schwab@linux-m68k.org>
 +      * alloc.c (which_symbols): Declare EXTERNALLY_VISIBLE,
 +      so that this new function doesn't get optimized away by a
 +      whole-program optimizer.  Make the 2nd arg EMACS_INT, not int.
  
 -      * lread.c (read1): Signal error if #s is not followed by paren.
 +2011-10-29  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2010-06-19  Chong Yidong  <cyd@stupidchicken.com>
 +      * frame.h (MOUSE_HL_INFO): Remove excess parens.
  
 -      * image.c (free_image): Mark frame as garbaged (Bug#6426).
 +2011-10-29  Eli Zaretskii  <eliz@gnu.org>
  
 -      * keymap.c (Fdefine_key): Doc fix (Bug#6460).
 +      Fix the `xbytecode' command.
 +      * .gdbinit (xprintbytestr): New command.
 +      (xwhichsymbols): Rename from `which'; all callers changed.
 +      (xbytecode): Print the byte-code string as well.
  
 -2010-06-15  Glenn Morris  <rgm@gnu.org>
 +2011-10-29  Kim Storm  <storm@cua.dk>
  
 -      * editfns.c (Fbyte_to_string): Pacify compiler.
 +      * alloc.c (which_symbols): New function.
  
 -2010-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-10-29  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * dbusbind.c (xd_append_arg): Don't "make-unibyte" the string.
 -      Check `object's type before accessing its guts.
 +      * minibuf.c (read_minibuf_noninteractive): Allow reading empty
 +      line.  (Bug#9903)
  
 -2010-06-08  Andreas Schwab  <schwab@linux-m68k.org>
 +2011-10-29  Glenn Morris  <rgm@gnu.org>
  
 -      * minibuf.c (Fall_completions): Add more checks.
 +      * process.c (wait_reading_process_output): Revert 2009-08-30 change.
 +      Not clear what it was for, and it causes various bugs.  (Bug#9839)
  
 -2010-06-08  Juanma Barranquero  <lekktu@gmail.com>
 +2011-10-28  Eli Zaretskii  <eliz@gnu.org>
  
 -      * minibuf.c (Fall_completions): Check COLLECTION's size (bug#6378).
 +      * xdisp.c (note_mouse_highlight): Initialize `part', to avoid a
 +      possible random value that matches one of those tested as
 +      condition to clear the mouse face.
  
 -2010-06-03  Andreas Schwab  <schwab@linux-m68k.org>
 +2011-10-28  Chong Yidong  <cyd@gnu.org>
  
 -      * process.c (conv_lisp_to_sockaddr): Fix conversion of IPv4
 -      address.  (Bug#6346)
 +      * xdisp.c (note_mouse_highlight): Fix use of uninitialized var.
  
 -2010-06-03  Juanma Barranquero  <lekktu@gmail.com>
 +2011-10-28  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * ccl.c (Fccl_program_p): Fix typo in docstring.
 +      * window.c (make_window): Initialize phys_cursor_on_p.
  
 -2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread
 -      of bug#6305).
 +      * lisp.h (struct Lisp_Symbol): Update comments.
  
 -2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
 +2011-10-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xdisp.c (redisplay_window): After redisplay, check if point is
 -      still valid before setting it (Bug#6177).
 +      * w32font.c (w32_load_unicows_or_gdi32): Add missing return.
  
 -2010-05-20  enami tsugutomo  <tsugutomo.enami@jp.sony.com>
 +2011-10-28  Eli Zaretskii  <eliz@gnu.org>
  
 -      * s/netbsd.h: If terminfo is found, use it in preference to
 -      termcap.  (Bug#6190)  [Backport from trunk]
 +      Fix Emacs on Windows 9X (bug#8562).  Thanks to oslsachem
 +      <oslsachem@gmail.com> for helping to debug this.
  
 -2010-05-20  Kevin Ryde  <user42@zip.com.au>
 +      * w32font.c (g_b_init_is_w9x, g_b_init_get_outline_metrics_w)
 +      (g_b_init_get_text_metrics_w, g_b_init_get_glyph_outline_w)
 +      (g_b_init_get_glyph_outline_w): New static variables.
 +      (GetOutlineTextMetricsW_Proc, GetTextMetricsW_Proc)
 +      (GetGlyphOutlineW_Proc): New typedefs.
 +      (w32_load_unicows_or_gdi32, get_outline_metrics_w)
 +      (get_text_metrics_w, get_glyph_outline_w, globals_of_w32font):
 +      New functions.
 +      (w32font_open_internal, compute_metrics):
 +      Call get_outline_metrics_w, get_text_metrics_w, and get_glyph_outline_w
 +      instead of calling the "wide" APIs directly.
  
 -      * 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).
 +      * emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font.
  
 -2010-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * w32.h (syms_of_w32font): Add prototype.
  
 -      * editfns.c (Fbyte_to_string): New function.
 +2011-10-27  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-05-18  Chong Yidong  <cyd@stupidchicken.com>
 +      * window.c (Fframe_root_window, Fframe_first_window, Fwindow_end)
 +      (Fframe_selected_window, Ftemp_output_buffer_show, Fnext_window)
 +      (Fdelete_window_internal, Fwindow_parameters): Fix typos in docstrings.
 +      (Fmove_to_window_line): Doc fix.
  
 -      * character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to
 -      prevent stack overflow if number of arguments is too large
 -      (Bug#6214).
 +2011-10-27  Chong Yidong  <cyd@gnu.org>
  
 -2010-05-11  Eli Zaretskii  <eliz@gnu.org>
 +      * process.c (make_process): Set gnutls_state to NULL.
  
 -      * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(SRC)/w32.h.
 +      * gnutls.c (emacs_gnutls_deinit): Deinit the gnutls_state if it is
 +      non-NULL, regardless of GNUTLS_INITSTAGE.
 +      (Fgnutls_boot): Cleanups.  Call emacs_gnutls_deinit if we signal
 +      an error.  Set process slots as soon as we allocate them.
  
 -      * w32fns.c: Include w32.h.
 -      (Fw32_shell_execute): Decode the error message before passing it
 -      to `error'.  (Bug#6126)
 +      * gnutls.h (GNUTLS_LOG, GNUTLS_LOG2): Fix macros.
  
 -2010-05-11  Karel Klic  <kklic@redhat.com>
 +2011-10-27  Chong Yidong  <cyd@gnu.org>
  
 -      * ftfont.c: Fix incorrect parentheses of #if condition for
 -      definining M17N_FLT_USE_NEW_FEATURE.
 +      * gnutls.c (emacs_gnutls_deinit): New function.
 +      Deallocate credentials structures as well as calling gnutls_deinit.
 +      (Fgnutls_deinit, Fgnutls_boot): Use it.
  
 -2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 +      * process.c (make_process): Initialize GnuTLS credentials to NULL.
 +      (deactivate_process): Call emacs_gnutls_deinit.
  
 -      * Version 23.2 released.
 +2011-10-27  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-04-30  Andreas Schwab  <schwab@linux-m68k.org>
 +      * image.c (x_create_x_image_and_pixmap):
 +      * w32.c (sys_rename, w32_delayed_load):
 +      * w32font.c (fill_in_logfont):
 +      * w32reg.c (x_get_string_resource): Silence compiler warnings.
  
 -      * composite.c (autocmp_chars): Save point as marker before calling
 -      auto-composition-function (Bug#5984).
 +2011-10-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * lisp.h (restore_point_unwind): Add prototype.
 +      * w32fns.c (w32_default_color_map): New function,
 +      extracted from Fw32_default_color_map.
 +      (Fw32_default_color_map, Fx_open_connection): Use it.  (Bug#9785)
  
 -      * fileio.c (restore_point_unwind): Remove static attribute.
 +2011-10-25  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2010-04-23  Kenichi Handa  <handa@m17n.org>
 +      * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2).
  
 -      * 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.
 +2011-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-04-19  Juanma Barranquero  <lekktu@gmail.com>
 +      * keyboard.c (test_undefined): New function (bug#9751).
 +      (read_key_sequence): Use it to detect when a key is bound to `undefined'.
  
 -      * dired.c (Ffile_attributes): Fix typo in docstring.
 +2011-10-25  Enami Tsugutomo  <tsugutomo.enami@jp.sony.com>
  
 -2010-04-13  Adrian Robert  <Adrian.B.Robert@gmail.com>
 +      * sysdep.c (init_sys_modes): Fix the check for the controlling
 +      terminal (Bug#6649).
  
 -      * nsmenu.m (EmacsDialog-runDialogAt:): Declare ret as
 -      NSInteger (Bug#5811).
 +2011-10-20  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-04-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * dispextern.h (struct bidi_it): New member next_en_type.
  
 -      * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
 -      (PTY_OPEN): New defines.  Use openpty (Bug#726, Bug#5819).
 +      * bidi.c (bidi_line_init): Initialize the next_en_type member.
 +      (bidi_resolve_explicit_1): When next_en_pos is valid for the
 +      current character, check also for next_en_type being WEAK_EN.
 +      (bidi_resolve_weak): Don't enter the expensive loop if the current
 +      position is before next_en_pos.  Record the bidi type of the first
 +      non-ET, non-BN character we find, in addition to its position.
 +      (bidi_level_of_next_char): Invalidate next_en_type when
 +      next_en_pos is over-stepped.
  
 -2010-04-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-10-20  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis.
 +      Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794)
 +      * editfns.c: Rewrite current-time-zone so that it invokes
 +      the equivalent of (format-time-string "%Z") to get the time zone name.
 +      This fixes a bug when the time zone name contains characters that
 +      need converting from the system time locale to Emacs internal format.
 +      This fixes a shortcoming that I introduced in my 1999-10-19 patch:
 +      that patch fixed format-time-string to do the conversion, but
 +      I forgot to fix current-time-zone.
 +      (format_time_string): New function, containing most of
 +      what Fformat_time_string used to contain.
 +      (Fformat_time_string): Rewrite in terms of format_time_string.
 +      This doesn't change this function's behavior.
 +      (current-time-zone): Rewrite to use format_time_string.
 +      This fixes the bug reported by Michael Schierl in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2007-06/msg00334.html>.
 +      Jason Rumney's 2007-06-07 change worked around this bug, but
 +      didn't fix it.
 +      * systime.h (tzname, timezone): Remove no-longer-used declarations.
  
 -2010-04-07  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-10-19  Eli Zaretskii  <eliz@gnu.org>
  
 -      * frame.h (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Don't use
 -      FRAME_LINE_TO_PIXEL_Y.
 +      * xdisp.c (start_display): If the character at POS is displayed
 +      via a display vector, reset IT->current.dpvec_index to zero.
 +      (try_window_reusing_current_matrix): If a line ends in a display
 +      vector or the next line starts in a display vector, continue
 +      redrawing the window even though the character position of
 +      start_row was reached.
 +      (Bug#9771, part 2)
  
 -      * xterm.c (x_set_window_size_1): Don't add border_width/height to
 -      pixelwidth/height.
 +2011-10-18  Chong Yidong  <cyd@gnu.org>
  
 -2010-04-05  Chong Yidong  <cyd@stupidchicken.com>
 +      * xdisp.c (get_next_display_element): Handle U+2010 and U+2011
 +      with nobreak-char-display too.
  
 -      * xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for
 -      terminal frames (Bug#5837).
 +2011-10-18  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-03-31  Chong Yidong  <cyd@stupidchicken.com>
 +      Fix part 3 of bug#9771.
 +      * bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1.
 +      (bidi_resolve_neutral): Don't enter the expensive loop looking for
 +      non-neutral characters if the current character is a paragraph
 +      separator (a.k.a. Newline).  This avoids running the same
 +      expensive loop twice, once when we consume the preceding newline
 +      and the other time when the line actually needs to be displayed.
 +      Avoid the loop when we see neutrals on the base embedding level
 +      following a character whose directionality is the same as the
 +      paragraph's.  This avoids running the expensive loop when a line
 +      ends in a long sequence of neutrals, like control characters.
 +      Add assertion against STRONG_AL type.  Slightly rearrange code
 +      that determines the type of a neutral given the first non-neutral
 +      that follows it.
 +      (bidi_level_of_next_char): Set next_en_pos to zero when
 +      invalidating its info.
  
 -      * nsfns.m (ns_set_doc_edited): Remove unused arg OLDVAL.
 -      * nsterm.h: Fix prototype.
 +2011-10-17  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-03-31  Eli Zaretskii  <eliz@gnu.org>
 +      * xdisp.c (push_display_prop): Determine whether to record string
 +      or buffer position by IT->string, not by IT->method.  Allow
 +      GET_FROM_DISPLAY_VECTOR as IT->method on entry.  (Bug#9771, part 4)
 +      (move_it_vertically_backward): Don't look for character position
 +      immediately after the newline when in a continuation line.
 +      (Bug#9771, part 1)
  
 -      * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it
 -      in this function.  (Bug#5703)
 +2011-10-15  Martin Rudalics  <rudalics@gmx.at>
  
 -2010-03-31  Chong Yidong  <cyd@stupidchicken.com>
 +      * window.c (coordinates_in_window): Rewrite and delabelize
 +      vertical border check.  (Bug#5357) (Bug#9618)
  
 -      * nsterm.h: Fix last change.
 +2011-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-03-30  Bernhard Herzog  <bh@intevation.de>  (tiny change)
 +      * xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained
 +      errors in XSetWindowBorder (bug#9310).
  
 -      * menu.c (Fx_popup_menu): Use last_event_timestamp (Bug#4930).
 +2011-10-13  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -2010-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 +      * editfns.c (Fset_time_zone_rule): Replace free with xfree to
 +      avoid crash when xmalloc overrun checking is enabled.
  
 -      * xdisp.c (note_mouse_highlight): Don't do highlight if pointer is
 -      invisible (Bug#5766).
 +2011-10-13  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-03-29  Adrian Robert  <adrian.b.robert@gmail.com>
 +      * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
 +      itb.paragraph_dir to NEUTRAL_DIR.  Fixes an occasional incorrect
 +      cursor motion with <left> and <right> arrow keys.
  
 -      * xdisp.c (x_consider_frame_title, update_window_cursor): Remove
 -      HAVE_NS conditionals.
 -      (prepare_menu_bars) [HAVE_NS]: Call ns_set_doc_edited.
 +      * bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as
 +      some callers set that themselves.
  
 -      * 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.
 +2011-10-12  Eli Zaretskii  <eliz@gnu.org>
  
 -      * nsterm.h: Add prototypes for ns_set_name_as_filename and
 -      ns_set_doc_edited.
 +      * xdisp.c (find_row_edges): Handle the case where ROW comes from a
 +      display string and the previous row comes from the same string and
 +      is empty.  (Bug#9739)  (Bug#9738)
  
 -      * nsterm.m: Remove unneeded prototype.
 +2011-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-03-28  Glenn Morris  <rgm@gnu.org>
 +      * doc.c (get_doc_string): Encode file name (bug#9735).
  
 -      * Makefile.in (SOME_MACHINE_OBJECTS): Ensure dbus stuff is always
 -      in the DOC file.  (Bug#5336)
 +2011-10-12  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-03-24  Chong Yidong  <cyd@stupidchicken.com>
 +      * bidi.c (bidi_level_of_next_char):
 +      * xdisp.c (get_visually_first_element): Remove old incorrect
 +      comments regarding the Unicode Line Separator character.
  
 -      * xdisp.c (pos_visible_p): Revert 2008-01-25 change (Bug#5730).
 +      * bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.
  
 -2010-03-20  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-10-12  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736).
 +      * alloc.c (Fgc_status): Do not access beyond zombies array
 +      boundary if nzombies > MAX_ZOMBIES.
 +      * alloc.c (dump_zombies): Add missing format specifier.
  
 -      * xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER.
 +2011-10-12  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new.
 +      * xdisp.c (set_cursor_from_row): Simplify conditionals,
 +      to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow.
  
 -2010-03-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.
 +      Some packages use them to denote characters with modifiers.
  
 -      * xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around
 -      XLoadQueryFont.
 +2011-10-11  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2010-03-16  Kenichi Handa  <handa@m17n.org>
 +      * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR)
 +      (GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid
 +      matching a pp-number.  Rename parameter var to var1.
  
 -      * 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.
 +2011-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-03-15  Andreas Politz  <politza@fh-trier.de>  (tiny change)
 +      * minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709).
  
 -      * editfns.c (Fformat): Account for string precision when computing
 -      field width (Bug#5710).
 +2011-10-08  Glenn Morris  <rgm@gnu.org>
  
 -2010-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * callint.c (Fcall_interactively): Give a more explicit error for the
 +      'c' case with a non-character input.  (Bug#8479)
  
 -      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.
 +2011-10-08  Eli Zaretskii  <eliz@gnu.org>
  
 -      * regex.c (regex_compile): Setup gl_state as well.
 +      * xdisp.c (hscroll_window_tree): Support hscroll in right-to-left
 +      lines.
 +      (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L
 +      lines that are hscrolled on the left.
  
 -      * syntax.c (skip_chars): Setup gl_state (bug#3823).
 -      (in_classes): Use CONSP before XCAR/XCDR.
 +      * dispnew.c (buffer_posn_from_coords): Account for a possible
 +      presence of header-line.  (Bug#4426)
  
 -2010-03-03  Chong Yidong  <cyd@stupidchicken.com>
 +2011-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * keymap.c (Fwhere_is_internal): Use Fequal to compare
 -      definitions, so that keyboard macros are correctly handled
 -      (Bug#5481).
 +      * buffer.c (syms_of_buffer) <enable-multibyte-characters>:
 +      Don't advertise functionality which we discourage or doesn't work.
  
 -2010-03-02  Eli Zaretskii  <eliz@gnu.org>
 +2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__
 +      or sizeof.  __alignof__ gives the wrong answer on Fedora x86-64
 +      with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int;
 +      this makes Emacs dump core during garbage collection on rare
 +      occasions.  sizeof is obviously inferior to offsetof here, so
 +      stick with offsetof.
 +      (GC_POINTER_ALIGNMENT): New macro.
 +      (mark_memory): Omit 3rd (offset) arg; caller changed.
 +      Don't assume EMACS_INT alignment is the same as pointer alignment.
  
 -2010-03-02  Kenichi Handa  <handa@m17n.org>
 +2011-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * character.c (parse_str_as_multibyte): Fix handling of the
 -      multibyte form of raw-bytes.
 -      (str_as_multibyte): Likewise.
 +      * keyboard.c (read_key_sequence_remapped): New var.
 +      (read_key_sequence): Compute remapping in the right buffer.
 +      (command_loop_1): Use read_key_sequence's remapping directly.
  
 -      * buffer.c (Fset_buffer_multibyte): Fix handling of the multibyte
 -      form of raw-bytes.
 +2011-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-02-28  Chong Yidong  <cyd@stupidchicken.com>
 +      * dired.c (file_name_completion): Don't expand file name.
 +      (Ffile_name_completion, Ffile_name_all_completions): Expand file name
 +      before checking file name handler.
  
 -      * charset.c (load_charset_map_from_file)
 -      (load_charset_map_from_vector): Zero out allocated
 -      charset_map_entries before using them.
 +      * minibuf.c (Finternal_complete_buffer): Only show internal buffers if
 +      they've been requested explicitly (bug#9591).
  
 -2010-02-27  Andreas Schwab  <schwab@linux-m68k.org>
 +2011-10-01  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * w32uniscribe.c (uniscribe_check_otf): Fix length check.
 +      * keymap.c (Fsingle_key_description): Use make_specified_string
 +      instead of build_string to build string from push_key_description.
 +      (Bug#5193)
  
 -2010-02-27  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * font.c (font_parse_fcname): Recognize "Book", "Condensed",
 -      "Medium", and "Semi-Condensed" keywords in GTK names (Bug#5646).
 +      * buffer.h (struct buffer): Use time_t, not int, for a time stamp.
 +      This fixes a Y2038 bug on 64-bit hosts.
 +      * buffer.c (reset_buffer):
 +      * fileio.c (Fdo_auto_save, Fset_buffer_auto_saved)
 +      (Fclear_buffer_auto_save_failure):
 +      Use 0, not -1, to represent an unset failure time, since time_t
 +      might not be signed.
  
 -2010-02-26  Kenichi Handa  <handa@m17n.org>
 +      Remove dependency on glibc malloc internals.
 +      * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
 +      Move back here from lisp.h, but with their new implementations.
 +      (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
 +      (XMALLOC_OVERRUN_SIZE_SIZE): Move these new lisp.h macros here.
 +      * charset.c (charset_table_init): New static var.
 +      (syms_of_charset): Use it instead of xmalloc.  This removes a
 +      dependency on glibc malloc internals.  See Eli Zaretskii's comment in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00815.html>.
 +      * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
 +      Move back to alloc.c.
 +      (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
 +      (XMALLOC_OVERRUN_SIZE_SIZE): Move to alloc.c.
  
 -      * ftfont.c (ftfont_get_open_type_spec): Fix parsing of otf_spec.
 +2011-09-30  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * xdisp.c (reseat_to_string): Fix previous change.
 +      * nsterm.m (windowDidResize): Call x_set_window_size only when
 +      ns_in_resize is true.  Otherwise set pixelwidth/height and
 +      call change_frame_size (Bug#9628).
  
 -2010-02-26  David Reitter  <david.reitter@gmail.com>
 +2011-09-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * nsfont.m (nsfont_draw): ns_antialias_text should be a
 -      Lisp_Object (Bug#4736).
 +      Port --enable-checking=all to Fedora 14 x86-64.
 +      * charset.c (syms_of_charset): Also account for glibc malloc's
 +      internal overhead when calculating the initial malloc maximum.
  
 -2010-02-25  Kenichi Handa  <handa@m17n.org>
 +      Port --enable-checking=all to Fedora 14 x86.
 +      * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
 +      Move to lisp.h.
 +      (xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
 +      (overrun_check_realloc, overrun_check_free):
 +      Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t).
 +      That way, xmalloc returns a properly-aligned pointer even if
 +      XMALLOC_OVERRUN_CHECK is defined.  The old debugging code happened
 +      to align OK on typical 64-bit hosts, but not on Fedora 14 x86.
 +      * charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD
 +      into account when calculating the initial malloc maximum.
 +      * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
 +      Move here from alloc.c, so that charset.c can use it too.
 +      Properly align; the old code wasn't right for common 32-bit hosts
 +      when configured with --enable-checking=all.
 +      (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
 +      (XMALLOC_OVERRUN_SIZE_SIZE): New macros.
  
 -      * xdisp.c (reseat_to_string): Fix previous change (bug#5609).
 +2011-09-29  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-02-24  Jan Djärv  <jan.h.d@swipnet.se>
 +      * sysdep.c (snprintf) [!EOVERFLOW]: If EOVERFLOW is not defined,
 +      use EDOM.
  
 -      * xterm.c (XTflash): Move declarations before statements.
 +2011-09-28  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * xdisp.c (compute_display_string_end): If there's no display
 +      string at CHARPOS, return -1.
  
 -2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 +      * bidi.c (bidi_fetch_char): When compute_display_string_end
 +      returns a negative value, treat the character as a normal
 +      character not covered by a display string.  (Bug#9624)
  
 -      * m/arm.h: Define the LIB_GCC flag to be -lgcc_s (Bug#5518).
 +2011-09-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * lread.c (Fread_from_string): Fix typo in docstring.
  
 -      * term.c (fatal): Add a final \n if needed (bug#5596).
 +2011-09-27  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-02-18  Chong Yidong  <cyd@stupidchicken.com>
 +      * xdisp.c (handle_invisible_prop): If invisible text ends on a
 +      newline, reseat the iterator instead of bidi-iterating there one
 +      character at a time.  (Bug#9610)
 +      (BUFFER_POS_REACHED_P, move_it_in_display_line_to): Bail when past
 +      TO_CHARPOS if the bidi iterator is at base embedding level.
  
 -      * nsterm.m (ns_ring_bell): Revert last change (Bug#5569).
 +2011-09-27  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2010-02-18  Glenn Morris  <rgm@gnu.org>
 +      * lread.c (readevalloop): Use correct code for NBSP.
 +      (read1): Likewise.  (Bug#9608)
  
 -      * callint.c (Finteractive): Doc fix.
 +2011-09-25  Michael Albinus  <michael.albinus@gmx.de>
  
 -2010-02-18  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
 +      * dbusbind.c (Fdbus_register_signal): When service is not
 +      registered, use nil in Vdbus_registered_objects_table.  (Bug#9581)
  
 -      * coding.c (record_conversion_result):
 -      Handle CODING_RESULT_INSUFFICIENT_DST.
 -      (decode_coding_object): Record CODING_RESULT_INSUFFICIENT_MEM on
 -      memory allocation error.
 +2011-09-25  Glenn Morris  <rgm@gnu.org>
  
 -2010-02-17  Kenichi Handa  <handa@m17n.org>
 +      * buffer.c (truncate-lines): Doc fix.
  
 -      * 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).
 +2011-09-24  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * ccl.c (ccl_driver): Never reset ic to CCL_HEADER_MAIN.
 +      * window.c (Fwindow_prev_buffers, Fset_window_prev_buffers)
 +      (Fset_window_next_buffers): Doc fix.
  
 -2010-02-13  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-09-24  Glenn Morris  <rgm@gnu.org>
  
 -      * 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.
 +      * minibuf.c (read_minibuf): Disable line truncation.  (Bug#5715)
  
 -2010-02-10  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      Fix minor problems found by static checking.
 +      * xdisp.c (string_from_display_spec): Don't assume vecsize fits in int.
 +      * indent.c (Fvertical_motion): Fix == vs = typo.
  
 -2010-02-08  Francis Devereux  <francis@devrx.org>  (tiny change)
 +2011-09-24  Eli Zaretskii  <eliz@gnu.org>
  
 -      * nsfont.m (nsfont_open): The system's value for the font descent
 -      is negative, so round it down to avoid clipping.
 +      * dispnew.c (syms_of_display) <redisplay-dont-pause>:
 +      Default value is now t.  Doc fix.
  
 -2010-02-06  Chong Yidong  <cyd@stupidchicken.com>
 +      * indent.c (Fvertical_motion): Compute and apply the overshoot
 +      logic when moving up, not only when moving down.  Fix the
 +      confusing name and values of the it_overshoot_expected variable;
 +      logic changes accordingly.  (Bug#9254) (Bug#9549)
  
 -      * 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.
 +      * xdisp.c (pos_visible_p): Produce correct pixel coordinates when
 +      CHARPOS is covered by a display string which includes newlines.
 +      (move_it_vertically_backward): Avoid inflooping when START_CHARPOS
 +      is covered by a display string with embedded newlines.
  
 -2010-02-05  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-24  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * charset.c (load_charset_map_from_file): Allocate large
 -      charset_map_entries structure on the heap rather than the stack.
 -      (Bug#5526).
 +      * dbusbind.c (Fdbus_register_signal): Add match rule to
 +      Vdbus_registered_objects_table.  (Bug#9581)
 +      (Fdbus_register_method, Vdbus_registered_objects_table):
 +      Fix docstring.
  
 -2010-01-31  Kenichi Handa  <handa@m17n.org>
 +2011-09-24  Jim Meyering  <meyering@redhat.com>
  
 -      * font.c (font_parse_xlfd): If FONT is a font-entity and pixel
 -      size in NAME is invalid, return -1 (Bug#5396).
 +      do not ignore write error for any output size
 +      The previous change was incomplete.
 +      While it makes emacs --batch detect the vast majority of stdout
 +      write failures, errors were still ignored whenever the output size is
 +      k * (BUFSIZ+1) - 4.  E.g., on a system with BUFSIZ of 4096,
 +        $ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \
 +            && echo FAIL: ignored write error
 +        FAIL: ignored write error
 +        $ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \
 +            && echo FAIL: ignored write error
 +        FAIL: ignored write error
 +      * emacs.c (Fkill_emacs): Also test ferror.  (Bug#9574)
  
 -2010-01-31  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-23  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * nsterm.m (ns_defined_color): Block input.  Suggested by Mike
 -      <deactivated@gmail.com> (Bug#3605).
 +      * emacs.c (Fkill_emacs): In noninteractive mode exit
 +      non-successfully if a write error occurred on stdout.  (Bug#9574)
  
 -2010-01-31  David De La Harpe Golden  <david@harpegolden.net>
 +2011-09-21  Eli Zaretskii  <eliz@gnu.org>
  
 -      * fileio.c (Frename_file): Correctly rename symlinks to
 -      directories (Bug#5496).
 +      * xdisp.c (pop_it): Allow it->object that is a cons cell to pass
 +      the xassert test.
  
 -2010-01-31  Filipe Cabecinhas  <filcab@gmail.com>  (tiny change)
 +      * dispextern.h (struct it): Update the comment documenting what
 +      can it->OBJECT be.
  
 -      * nsterm.m (ns_ring_bell): Handle visible bell like X.
 +2011-09-20  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-01-30  Andreas Schwab  <schwab@linux-m68k.org>
 +      * xdisp.c (set_cursor_from_row): If the row ends in a newline from
 +      a display string, extend search for cursor position to end of row.
 +      (find_row_edges): If the row ends in a newline from a display
 +      string, increment its MATRIX_ROW_END_CHARPOS by one.  (Bug#9549)
 +      Handle the case of a display string with multiple newlines.
 +      (Fcurrent_bidi_paragraph_direction): Fix search for previous
 +      non-empty line.  Fixes confusing cursor motion with arrow keys at
 +      the beginning of a line that starts with whitespace.
  
 -      * character.h (CHAR_PRINTABLE_P): Reparenthesize to avoid warning.
 +2011-09-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2010-01-29  Chong Yidong  <cyd@stupidchicken.com>
 +      * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is
 +      (bug#9493).
  
 -      * frame.c (DEFAULT_ROWS): Change default to 35.
 +2011-09-18  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xfns.c (x_default_font_parameter): Change default XFT font to
 -      monospace-10 (Bug#3643).
 +      * xfns.c (Fx_create_frame): Handle the bitmapIcon resource as
 +      boolean (Bug#9154).
  
 -2010-01-29  Eli Zaretskii  <eliz@gnu.org>
 +2011-09-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * w32inevt.c (key_event): Remove unnecessary comparison of
 -      event->uChar.AsciiChar with 128.
 +      * xdisp.c (display_line): Record maximum and minimum buffer
 +      positions even if no glyphs were produced (e.g., by a zero-width
 +      stretch).  Fixes bug#9530 on a TTY.  Under word-wrap, don't record
 +      buffer positions that will be removed from the glyph row because
 +      they don't fit.
 +      (produce_stretch_glyph): Fix a bug in :align-to on a TTY when the
 +      column is beyond frame width: don't subtract 1 "pixel" when
 +      computing width of the stretch.
 +      (reseat_at_next_visible_line_start): Undo the change made on
 +      2011-09-17 that saved paragraph information and restored it after
 +      the call to `reseat'.  (Bug#9545)
  
 -2010-01-28  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * fileio.c (Frename_file): Fix last change (Bug#5487).
 +      * xdisp.c (expose_window): Save original value of phys_cursor_on_p
 +      and turn window cursor on if cleared (Bug#9415).
  
 -      * m/mips.h: Remove DATA_START.  Suggested by Dan Nicolaescu.
 +2011-09-18  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * m/alpha.h: Don't define DATA_START on NetBSD (Bug#4629).
 +      * search.c (boyer_moore): Take unibyte characters from pattern
 +      literally.  (Bug#9458)
  
 -2010-01-28  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-09-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xfns.c (Fx_create_frame): Remove window size matching code from
 -      2010-01-15.
 -      (x_get_current_desktop, x_get_desktop_workarea): Remove.
 +      * xdisp.c (reseat_at_next_visible_line_start): Fix last change.
  
 -2010-01-27  Jason Rumney  <jasonr@gnu.org>
 +2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * w32inevt.c (w32_kbd_patch_key): Save the unicode character.
 -      (key_event): Use unicode for characters 128 and higher (Bug#4567).
 +      Fix minor problem found by static checking.
 +      * xdisp.c (reseat_at_next_visible_line_start): Mark locals as
 +      initialized, to pacify gcc -Wuninitialized.
  
 -2010-01-27  Kenichi Handa  <handa@m17n.org>
 +      * fileio.c: Report proper errno when syscall falls.
 +      (Finsert_file_contents): Save and restore errno,
 +      so that report_file_error outputs the correct diagnostic.
 +      (Fwrite_region) [CLASH_DETECTION]: Likewise.
  
 -      * regex.c (analyse_first): Fix setting of fastmap for unibyte
 -      pattern string (Bug#4209).
 +2011-09-18  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-01-27  David De La Harpe Golden  <david@harpegolden.net>
 +      * .gdbinit (pgx): Fix references to fields of `struct glyph'.
  
 -      * fileio.c (Frename_file): Call copy-directory and
 -      delete-directory for directories, in order to handle cross-device
 -      renaming (Bug#3353).
 +2011-09-17  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-01-25  Jan Djärv  <jan.h.d@swipnet.se>
 +      * xdisp.c (produce_stretch_glyph): Another fix for changes made on
 +      2011-08-30T17:32:44Z!eliz@gnu.org.  (Bug#9530)
  
 -      * xfns.c (Fx_create_frame): If frame height is too big, try
 -      sizes 24 and 10.  Bug #3643.
 +2011-09-17  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xdisp.c (reseat_at_next_visible_line_start): Keep information
 +      about the current paragraph and restore it after the call to reseat.
  
 -      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.
 +      * bidi.c (MAX_PARAGRAPH_SEARCH): New macro.
 +      (bidi_find_paragraph_start): Search back for paragraph beginning
 +      at most MAX_PARAGRAPH_SEARCH lines; if not found, return BEGV_BYTE.
 +      (bidi_move_to_visually_next): Only trigger paragraph-related
 +      computations when the last character is a newline or at EOB, not
 +      just any NEUTRAL_B.  (Bug#9470)
  
 -2010-01-24  Eric Bélanger  <snowmaniscool@gmail.com>  (tiny change)
 +      * xdisp.c (set_cursor_from_row): Don't invoke special treatment of
 +      truncated lines if point is covered by a display string.  (Bug#9524)
  
 -      * image.c (png_load): Use png_sig_cmp instead of the obsolete
 -      png_check_sig, which has been removed in libpng 1.4.
 +2011-09-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2010-01-23  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
 +      * xselect.c: Relax test for outgoing X longs (Bug#9498).
 +      (cons_to_x_long): New function.
 +      (lisp_data_to_selection_data): Use it.  Correct the test for
 +      short-versus-long data; it was negated.  Break out of vector
 +      loop, for efficiency, when a long datum is discovered.
  
 -      * filelock.c: Include utmp.h only when HAVE_UTMP_H (FreeBSD 9.x
 -      lacks this header file).
 +2011-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * eval.c (Fquote): Document its non-consing behavior (bug#9482).
  
 -      * xdisp.c (draw_glyphs): Update `start' for left_overwritten case
 -      as in Emacs 22.
 +2011-09-16  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-01-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see
 +      GCC PR/17406) by declaring this function with external scope.
  
 -      * lisp.h (make_pure_string): String pointer arg now points to const.
 +2011-09-15  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * alloc.c (find_string_data_in_pure, make_pure_string): String pointer
 -      args now point to const.
 +      * editfns.c (Fformat): Fix bug in text-property fix (Bug#9514).
 +      Don't mishandle (length (format "%%")) and (format "%4000s%%" "").
  
 -2010-01-22  Eli Zaretskii  <eliz@gnu.org>
 +2011-09-15  Andreas Schwab  <schwab@linux-m68k.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)
 +      * editfns.c (Fformat): Correctly handle text properties on "%%".
  
 -2010-01-20  Kenichi Handa  <handa@m17n.org>
 +2011-09-15  Eli Zaretskii  <eliz@gnu.org>
  
 -      * coding.c (consume_chars): If ! multibyte and the encoder is ccl,
 -      treat the source as actual byte sequence.
 +      * xterm.c (x_draw_composite_glyph_string_foreground):
 +      * w32term.c (x_draw_composite_glyph_string_foreground):
 +      * term.c (encode_terminal_code):
 +      * composite.c (composition_update_it, get_composition_id):
 +      * xdisp.c (get_next_display_element)
 +      (fill_composite_glyph_string): Add comments about special meaning
 +      of TAB characters in a composition.
  
 -2010-01-19  Alan Mackenzie  <acm@muc.de>
 +2011-09-15  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      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.
 +      * editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514).
 +      This occurs when processing a multibyte format.
 +      Problem reported by Wolfgang Jenker.
  
 -2010-01-19  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-09-15  Johan BockgÃ¥rd  <bojohan@gnu.org>
  
 -      * xsettings.c (apply_xft_settings): Save settings in Vxft_settings
 -      for debug purpose.
 -      (syms_of_xsettings): Declare xft-settings.
 +      * xdisp.c (try_cursor_movement): Only check for exact match if
 +      cursor hpos found by set_cursor_from_row is valid.  (Bug#9495)
  
 -2010-01-18  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-14  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * editfns.c (Fcurrent_time_string): Doc fix (Bug#5408).
 +      Remove unused external symbols.
 +      * dispextern.h (calc_pixel_width_or_height): Remove decl.
 +      * xdisp.c (calc_pixel_width_or_height): Now static.
 +      * doprnt.c (exprintf) [! (HAVE_X_WINDOWS && USE_X_TOOLKIT)]: Remove.
 +      * indent.c (check_display_width):
 +      * w32term.c: Fix comment to match code.
 +      * xterm.c, xterm.h (x_catching_errors): Remove.
  
 -2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-09-14  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * xterm.c (event_handler_gdk): Block input (Bug#5037).
 +      * xselect.c: Use signed conversions more consistently (Bug#9498).
 +      (selection_data_to_lisp_data): Assume incoming selection data are
 +      signed integers, not unsigned.  This is to be consistent with
 +      outgoing selection data, which was modified to use signed integers
 +      in as part of the fix to Bug#9196 in response to Jan D.'s comment
 +      in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9196#32> that X11
 +      expects long, not unsigned long.
  
 -2010-01-16  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-14  Eli Zaretskii  <eliz@gnu.org>
  
 -      * emacs.c (standard_args): Adjust arg priorities to reflect how
 -      they are processed in startup.el.
 +      * xdisp.c (try_window_reusing_current_matrix): Fix incorrect
 +      computation of loop end.  Reported by Johan BockgÃ¥rd
 +      <bojohan@gnu.org>.
  
 -2010-01-16  Andreas Schwab  <schwab@linux-m68k.org>
 +2011-09-13  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * Makefile.in (lisp, shortlisp): Update.
 +      * frame.c (Fother_visible_frames_p): Function deleted.
  
 -2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-09-12  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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'.
 +      * indent.c (compute_motion): Process display vector front to back
 +      rather than the other way around.  (Bug#2496)
  
 -2010-01-15  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * 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.
 +      * fileio.c (Finsert_file_contents): Don't assume beg_offset is 0.
  
 -2010-01-15  Kenichi Handa  <handa@m17n.org>
 +2011-09-11  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xdisp.c (CHAR_COMPOSED_P): New arg END_CHARPOS.  Callers changed.
 +      * minibuf.c (Fread_from_minibuffer): Doc fix.
  
 -2010-01-15  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-11  Eli Zaretskii  <eliz@gnu.org>
  
 -      * nsterm.m (Qnone): Define.
 +      * xdisp.c (produce_stretch_glyph): Fix a typo made in changes from
 +      2011-08-30T17:32:44Z!eliz@gnu.org.  (Bug#9475)
  
 -      * nsfns.m (Qnone): Move definition to nsterm.m.
 +2011-09-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 +      * fileio.c (Fvisited_file_modtime): Document `(-1 65535)' as a
 +      value for non-existent files.
  
 -      * coding.c (detect_coding_iso_2022): Fix handling of euc-xx coding
 -      systems.
 +2011-09-11  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 +      * fileio.c (Finsert_file_contents): If the file cannot be opened,
 +      set its "size" to -1.  This will set the modtime_size field of
 +      the corresponding buffer to -1, which is what
 +      verify-visited-file-modtime expects for files that do not exist.
 +      (Bug#9139)
  
 -      Make auto-composition work on all buffers even if they are
 -      fundamental mode.
 +2011-09-11  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * keymap.h (KEY_DESCRIPTION_SIZE, push_key_description): Move decls
 +      here ...
 +      * lisp.h: ... from here.  push_key_description is no longer
 +      defined in keyboard.c, so its declaration should not be in
 +      lisp.h's "Defined in keyboard.c" section, and KEY_DESCRIPTION_SIZE
 +      logically belongs with push_key_description.
  
 -2010-01-13  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-10  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * xterm.c (x_term_init): Avoid garbage-collecting the new terminal
 -      during call to vendor-specific-keysyms (Bug#5365).
 +      * buffer.h: Include <sys/types.h> instead of <time.h>.
 +      Otherwise, off_t wasn't defined on FreeBSD 9.0-BETA2 i386.
 +      Problem reported by Herbert J. Skuhra.
  
 -2010-01-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-09-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * keyboard.c (input_available_signal) [SYNC_INPUT]:
 -      Call SIGNAL_THREAD_CHECK (Bug#5333).
 +      * xml.c (parse_region): Make the parsing work for
 +      non-comment-starting XML files again (bug#9144).
  
 -      * atimer.c (alarm_signal_handler) [!SYNC_INPUT]:
 -      Call SIGNAL_THREAD_CHECK.
 +2011-09-10  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2010-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * image.c (gif_load): Fix calculation of bottom and right corner.
 +      (Bug#9468)
  
 -      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.
 +2011-09-10  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-01-13  Kenichi Handa  <handa@m17n.org>
 +      * xdisp.c (MAX_DISP_SCAN): Decrease to 250.  Prevents sluggish
 +      redisplay in small windows.
  
 -      Display buffer name, etc. in mode line by composing correctly.
 +2011-09-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * frame.c (x_report_frame_params): Cast to avoid compiler warnings.
  
 -      * xterm.c (x_draw_composite_glyph_string_foreground):
 -      Pay attention to s->face->overstrike.
 +2011-09-08  Martin Rudalics  <rudalics@gmx.at>
  
 -      * composite.c (composition_reseat_it): Don't check PT if STRING is
 -      non nil.
 +      * window.c (Fset_window_prev_buffers, Fset_window_next_buffers):
 +      Operate on live windows only.
  
 -2010-01-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-09-08  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * keyboard.c (read_char): Don't apply previous change when current
 -      buffer is unchanged by command execution.
 +      * emacs.c (my_heap_start): #ifdef to avoid warnings when unused.
  
 -2010-01-12  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-09-07  Eli Zaretskii  <eliz@gnu.org>
  
 -      * keyboard.c (read_char): Return after executing from special map.
 +      * xdisp.c (move_it_in_display_line_to): Call RESTORE_IT on ppos_it
 +      only under bidi iteration.
  
 -2010-01-12  Glenn Morris  <rgm@gnu.org>
 +2011-09-07  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to
 -      bug-gnu-emacs rather than emacs-pretest-bug.
 +      * gtkutil.c (xg_make_tool_item): Insert comment about eventbox.
  
 -2010-01-11  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * nsterm.m (syms_of_nsterm): Initialize Qcontrol etc. before
 -      initializing the Lisp variables that depend on them.
 +      isnan: Fix porting problem to Solaris 10 with bundled gcc.
 +      Without this fix, the command to link temacs failed due to an
 +      undefined symbol __builtin_isnan.  This is because
 +      /usr/include/iso/math_c99.h #defines isnan(x) to
 +      __builtin_isnan(x), but the bundled gcc, which identifies itself
 +      as gcc 3.4.3 (csl-sol210-3_4-branch+sol_rpath), does not have
 +      a __builtin_isnan.
 +      * floatfns.c (isnan): #undef, and then #define to a clone of
 +      what's in data.c.
 +      (Fisnan): Always define, since it's always available now.
 +      (syms_of_floatfns): Always define isnan at the Lisp level.
  
 -2010-01-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169).
  
 -2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
 +2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * intervals.h, textprop.c (extend_property_ranges): Return value
 -      and args changed.  Discard properties that begin at or after the
 -      new end (Bug#5306).
 +      * fileio.c: Fix bugs with large file offsets (Bug#9428).
 +      The previous code assumed that file offsets (off_t values) fit in
 +      EMACS_INT variables, which is not true on typical 32-bit hosts.
 +      The code messed up by falsely reporting buffer overflow in cases
 +      such as (insert-file-contents "big" nil 1 2) into an empty buffer
 +      when "big" contains more than 2**29 bytes, even though this
 +      inserts just one byte and does not overflow the buffer.
 +      (Finsert_file_contents): Store file offsets as off_t
 +      values, not as EMACS_INT values.  Check for overflow when
 +      converting between EMACS_INT and off_t.  When checking for
 +      buffer overflow or for overlap, take the offsets into account.
 +      Don't use EMACS_INT for small values where int suffices.
 +      When checking for overlap, fix a typo: ZV was used where
 +      ZV_BYTE was intended.
 +      (Fwrite_region): Don't assume off_t fits into 'long'.
 +      * buffer.h (struct buffer.modtime_size): Now off_t, not EMACS_INT.
  
 -      * editfns.c (Fformat): Caller changed.
 +2011-09-05  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * 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).
 +      * dbusbind.c (xd_signature_cat): Rename from signature_cat.
  
 -      * xdisp.c (pos_visible_p): Check for invisible text at the correct
 -      position (Bug#4040).
 +2011-09-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2010-01-09  Eli Zaretskii  <eliz@gnu.org>
 +      sprintf-related integer and memory overflow issues (Bug#9412).
  
 -      * editfns.c (Ffloat_time): Doc fix.
 +      * doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values.
 +      (esprintf, exprintf, evxprintf): New functions.
 +      * keyboard.c (command_loop_level): Now EMACS_INT, not int.
 +      (cmd_error): Kbd macro iterations count is now EMACS_INT, not int.
 +      (modify_event_symbol): Do not assume that the length of
 +      name_alist_or_stem is safe to alloca and fits in int.
 +      (Fexecute_extended_command): Likewise for function name and binding.
 +      (Frecursion_depth): Wrap around reliably on integer overflow.
 +      * keymap.c (push_key_description): First arg is now EMACS_INT, not int,
 +      since some callers pass EMACS_INT values.
 +      (Fsingle_key_description): Don't crash if symbol name contains more
 +      than MAX_ALLOCA bytes.
 +      * minibuf.c (minibuf_level): Now EMACS_INT, not int.
 +      (get_minibuffer): Arg is now EMACS_INT, not int.
 +      * lisp.h (get_minibuffer, push_key_description): Reflect API changes.
 +      (esprintf, exprintf, evxprintf): New decls.
 +      * window.h (command_loop_level, minibuf_level): Reflect API changes.
  
 -2010-01-09  Jan Djärv  <jan.h.d@swipnet.se>
 +      * dbusbind.c (signature_cat): New function.
 +      (xd_signature, Fdbus_register_signal):
 +      Do not overrun buffer; instead, report string overflow.
  
 -      * xfns.c (Fx_create_frame): Don't create frame larger than display
 -      by default bug#3643.
 +      * dispnew.c (add_window_display_history): Don't overrun buffer.
 +      Truncate instead; this is OK since it's just a log.
  
 -2010-01-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * editfns.c (Fcurrent_time_zone): Don't overrun buffer
 +      even if the time zone offset is outlandishly large.
 +      Don't mishandle offset == INT_MIN.
  
 -      * 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.
 +      * emacs.c (main) [NS_IMPL_COCOA]: Don't overrun buffer
 +      when creating daemon; the previous buffer-overflow check was incorrect.
 +
 +      * eval.c (verror): Simplify by rewriting in terms of evxprintf,
 +      which has the guts of the old verror function.
 +
 +      * filelock.c (lock_file_1, lock_file): Don't blindly alloca long name;
 +      use SAFE_ALLOCA instead.  Use esprintf to avoid int-overflow issues.
 +
 +      * font.c: Include <float.h>, for DBL_MAX_10_EXP.
 +      (font_unparse_xlfd): Don't blindly alloca long strings.
 +      Don't assume XINT result fits in int, or that XFLOAT_DATA * 10
 +      fits in int, when using sprintf.  Use single snprintf to count
 +      length of string rather than counting it via multiple sprintfs;
 +      that's simpler and more reliable.
 +      (font_unparse_fcname): Use it to avoid sprintf buffer overrun.
 +      (generate_otf_features) [0 && HAVE_LIBOTF]: Use esprintf, not
 +      sprintf, in case result does not fit in int.
 +
 +      * fontset.c (num_auto_fontsets): Now printmax_t, not int.
 +      (fontset_from_font): Print it.
 +
 +      * frame.c (tty_frame_count): Now printmax_t, not int.
 +      (make_terminal_frame, set_term_frame_name): Print it.
 +      (x_report_frame_params): In X, window IDs are unsigned long,
 +      not signed long, so print them as unsigned.
 +      (validate_x_resource_name): Check for implausibly long names,
 +      and don't assume name length fits in 'int'.
 +      (x_get_resource_string): Don't blindly alloca invocation name;
 +      use SAFE_ALLOCA.  Use esprintf, not sprintf, in case result does
 +      not fit in int.
 +
 +      * gtkutil.c: Include <float.h>, for DBL_MAX_10_EXP.
 +      (xg_check_special_colors, xg_set_geometry):
 +      Make sprintf buffers a bit bigger, to avoid potential buffer overrun.
 +
 +      * lread.c (dir_warning): Don't blindly alloca buffer; use SAFE_ALLOCA.
 +      Use esprintf, not sprintf, in case result does not fit in int.
 +
 +      * macros.c (executing_kbd_macro_iterations): Now EMACS_INT, not int.
 +      (Fend_kbd_macro): Don't mishandle MOST_NEGATIVE_FIXNUM by treating
 +      it as a large positive number.
 +      (Fexecute_kbd_macro): Don't assume repeat count fits in int.
 +      * macros.h (executing_kbd_macro_iterations): Now EMACS_INT, not int.
 +
 +      * nsterm.m ((NSSize)windowWillResize): Use esprintf, not sprintf,
 +      in case result does not fit in int.
 +
 +      * print.c (float_to_string): Detect width overflow more reliably.
 +      (print_object): Make sprintf buffer a bit bigger, to avoid potential
 +      buffer overrun.  Don't assume list length fits in 'int'.  Treat
 +      print length of 0 as 0, not as infinity; to be consistent with other
 +      uses of print length in this function.  Don't overflow print length
 +      index.  Don't assume hash table size fits in 'long', or that
 +      vectorlike size fits in 'unsigned long'.
 +
 +      * process.c (make_process): Use printmax_t, not int, to format
 +      process-name gensyms.
 +
 +      * sysdep.c (snprintf) [! HAVE_SNPRINTF]: New function.
 +
 +      * term.c (produce_glyphless_glyph): Make sprintf buffer a bit bigger
 +      to avoid potential buffer overrun.
 +
 +      * xfaces.c (x_update_menu_appearance): Don't overrun buffer
 +      if X resource line is longer than 512 bytes.
 +
 +      * xfns.c (x_window): Make sprintf buffer a bit bigger
 +      to avoid potential buffer overrun.
 +
 +      * xterm.c (x_io_error_quitter): Don't overrun sprintf buffer.
 +
 +      * xterm.h (x_check_errors): Add ATTRIBUTE_FORMAT_PRINTF.
 +
 +2011-09-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer overflow fixes for scrolling, etc.
 +      Without these, Emacs silently mishandles large integers sometimes.
 +      For example, "C-u 4294967297 M-x recenter" was treated as if
 +      it were "C-u 1 M-x recenter" on a typical 64-bit host.
 +
 +      * xdisp.c (try_window_id): Check Emacs fixnum range before
 +      converting to 'int'.
 +
 +      * window.c (window_scroll_line_based, Frecenter):
 +      Check that an Emacs fixnum is in range before assigning it to 'int'.
 +      (Frecenter, Fmove_to_window_line): Use EMACS_INT, not int, for
 +      values converted from Emacs fixnums.
 +      (Frecenter): Don't wrap around a line count if it is out of 'int'
 +      range; instead, treat it as an extreme value.
 +      (Fset_window_configuration, compare_window_configurations):
 +      Use ptrdiff_t, not int, for index that might exceed 2 GiB.
  
 -      * 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.
 +      * search.c (Freplace_match): Use ptrdiff_t, not int, for indexes
 +      that can exceed INT_MAX.  Check that EMACS_INT value is in range
 +      before assigning it to the (possibly-narrower) index.
 +      (match_limit): Don't assume that a fixnum can fit in 'int'.
  
 -      * xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat
 -      tool bar windows specially.
 +      * print.c (print_object): Use ptrdiff_t, not int, for index that can
 +      exceed INT_MAX.
  
 -      * xfns.c (x_set_tool_bar_lines): Take account of menu bar height.
 +      * indent.c (position_indentation): Now takes ptrdiff_t, not int.
 +      (Fvertical_motion): Don't wrap around LINES values that don't fit
 +      in 'int'.  Instead, treat them as extreme values.  This is good
 +      enough for windows, which can't have more than INT_MAX lines anyway.
  
 -      * xterm.c (x_after_update_window_line): Don't treat tool bar windows
 -      specially.
 -      (XTflash): Take account of menu bar height.
 +2011-09-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * w32term.c (x_after_update_window_line): Don't treat tool bar windows
 -      specially.
 +      * Require libxml/parser.h to avoid compilation warning.
  
 -2010-01-08  Jan Djärv  <jan.h.d@swipnet.se>
 +      * emacs.c (shut_down_emacs): Call xmlCleanupParser on shutdown.
  
 -      * dispnew.c (change_frame_size_1): newwidth == FRAME_COLS (f) must
 -      also be true before we can return early (bug #5339).
 +      * xml.c (parse_region): Don't call xmlCleanupParser after parsing,
 +      since this reportedly can destroy thread storage.
  
 -2010-01-06  David Reitter  <david.reitter@gmail.com>
 +2011-08-30  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * nsfns.m (ns_get_screen): Rewrite, returning NULL for non-NS.
 -      (Fns_display_usable_bounds): Rewrite, computing bounds properly
 -      (Bug#3233).
 +      * syntax.c (find_defun_start): Update all cache variables if
 +      exiting early (Bug#9401).
  
 -2010-01-06  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-08-30  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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).
 +      * image.c (x_bitmap_pixmap): Cast to int to avoid compiler warnings.
  
 -      * 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.
 +      * xdisp.c (produce_stretch_glyph): No longer static, compiled also
 +      when HAVE_WINDOW_SYSTEM is not defined.  Support both GUI and TTY
 +      frames.  Call tty_append_glyph in the TTY case.  (Bug#9402)
  
 -      * font.h (struct font_driver): Add cached_font_ok.
 +      * term.c (tty_append_glyph): New function.
 +      (produce_stretch_glyph): Static function and its prototype deleted.
  
 -      * xterm.c (x_clear_frame): Queue draw for scroll bars.
 +      * dispextern.h (produce_stretch_glyph, tty_append_glyph):
 +      Add prototypes.
  
 -2010-01-05  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-08-29  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * xterm.c (x_new_font): Move code for setting rows/cols before
 -      resizing ...
 -      (x_set_window_size): ... to here.  Bug #2568.
 +      * image.c (parse_image_spec): Check for nonnegative, not for positive,
 +      when checking :margin (Bug#9390).
 +      (IMAGE_NON_NEGATIVE_INTEGER_VALUE_OR_PAIR):
 +      Rename from IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR,
 +      so that the name doesn't mislead.  All uses changed.
  
 -      * 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.
 +2011-08-28  Johan BockgÃ¥rd  <bojohan@gnu.org>
  
 -2010-01-05  Chong Yidong  <cyd@stupidchicken.com>
 +      * term.c (init_tty) [HAVE_GPM]: Move mouse settings after
 +      set_tty_hooks.
  
 -      * keyboard.c (read_key_sequence): Catch keyboard switch after
 -      making a new tty frame (Bug#5095).
 +2011-08-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (move_it_to): Don't bail out early when reaching
 +      position beyond to_charpos, if we are scanning backwards.
 +      (move_it_vertically_backward): When DY == 0, make sure we get to
 +      the first character in the line after the newline.
  
 -2010-01-05  Kenichi Handa  <handa@m17n.org>
 +2011-08-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * fontset.c (fontset_find_font): Fix getting the frame pointer.
 +      * ccl.c: Improve and simplify overflow checking (Bug#9196).
 +      (ccl_driver): Do not generate an out-of-range pointer.
 +      (Fccl_execute_on_string): Remove unnecessary check for
 +      integer overflow, noted by Stefan Monnier in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00979.html>.
 +      Remove a FIXME that didn't need fixing.
 +      Simplify the newly-introduced buffer reallocation code.
  
 -2010-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-08-27  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on lib/verify.h.
 +
 +2011-08-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer and memory overflow issues (Bug#9196).
 +
 +      * doc.c (get_doc_string): Rework so that
 +      get_doc_string_buffer_size is the actual buffer size, rather than
 +      being 1 less than the actual buffer size; this makes xpalloc more
 +      convenient.
 +
 +      * image.c (x_allocate_bitmap_record, cache_image):
 +      * xselect.c (Fx_register_dnd_atom):
 +      Simplify previous changes by using xpalloc.
 +
 +      * buffer.c (overlay_str_len): Now ptrdiff_t, not EMACS_INT,
 +      since either will do and ptrdiff_t is convenient with xpalloc.
 +
 +      * charset.c (charset_table_size)
 +      (struct charset_sort_data.priority): Now ptrdiff_t.
 +      (charset_compare): Don't overflow if priorities differ greatly.
 +      (Fsort_charsets): Don't assume list length fits in int.
 +      Check for size-calculation overflow when allocating sort data.
 +      (syms_of_charset): Allocate an initial charset table that is
 +      just under 64 KiB, to avoid problems with glibc malloc and mmap.
 +
 +      * cmds.c (internal_self_insert): Check for size-calculation overflow.
 +
 +      * composite.h (struct composition.glyph_len): Now int, not unsigned.
 +      The actual value is always <= INT_MAX, and leaving it unsigned made
 +      overflow checking harder.
 +
 +      * dispextern.h (struct glyph_matrix.rows_allocated)
 +      (struct face_cache.size): Now ptrdiff_t, for convenience in use
 +      with xpalloc.  The values are still always <= INT_MAX.
 +
 +      * indent.c (compute_motion): Adjust to region_cache_forward sig change.
 +
 +      * lisp.h (xnmalloc, xnrealloc, xpalloc): New decls.
 +      (SAFE_NALLOCA): New macro.
 +
 +      * region-cache.c (struct boundary.pos, find_cache_boundary)
 +      (move_cache_gap, insert_cache_boundary, delete_cache_boundaries)
 +      (set_cache_region, invalidate_region_cache)
 +      (revalidate_region_cache, know_region_cache, region_cache_forward)
 +      (region_cache_backward, pp_cache):
 +      Use ptrdiff_t, not EMACS_INT, since either will do.  This is needed
 +      so that ptrdiff_t * can be passed to xpalloc.
 +      (struct region_cache): Similarly, for gap_start, gap_len, cache_len,
 +      beg_unchanged, end_unchanged, buffer_beg, buffer_end members.
 +      (pp_cache): Don't assume cache_len fits in int.
 +      * region-cache.h: Adjust extern decls to match.
 +
 +      * search.c (scan_buffer, Freplace_match): Use ptrdiff_t, not
 +      EMACS_INT, since either will do, for xpalloc.
 +
 +      * alloc.c: Include verify.h, and check that int fits in ptrdiff_t.
 +      (xnmalloc, xnrealloc, xpalloc): New functions.
 +
 +      * bidi.c (bidi_shelve_header_size): New constant.
 +      (bidi_cache_ensure_space, bidi_shelve_cache): Use it.
 +      (bidi_cache_ensure_space): Avoid integer overflow when allocating.
 +
 +      * bidi.c (bidi_cache_shrink):
 +      * buffer.c (overlays_at, overlays_in, record_overlay_string)
 +      (overlay_strings):
 +      Don't update size of array until after memory allocation succeeds,
 +      because xmalloc/xrealloc may not return.
 +      (struct sortstrlist.bytes): Now ptrdiff_t, as EMACS_INT doesn't help
 +      now that we have proper integer overflow checking.
 +      (record_overlay_string, overlay_strings): Catch overflows when
 +      calculating size of overlay_str_buf.
 +
 +      * callproc.c (Fcall_process): Check for size overflow when
 +      calculating size of args2.
 +      (child_setup): Avoid overflow by using size_t rather than ptrdiff_t.
 +      Normally we prefer signed values, but sticking with ptrdiff_t would
 +      require adding more-complicated checks.
 +
 +      * ccl.c (Fccl_execute_on_string): Check for memory overflow.
 +      Use ptrdiff_t rather than EMACS_INT where ptrdiff_t will do.
 +      Redo buffer-overflow calculations to avoid integer overflow.
 +      Add a FIXME comment where memory seems to be over-allocated.
 +
 +      * character.c (Fstring): Check for size-calculation overflow.
 +
 +      * coding.c (produce_chars): Redo buffer-overflow calculations to avoid
 +      unnecessary integer overflow.  Check for size overflow.
 +      (encode_coding_object): Don't update size until xmalloc succeeds.
 +
 +      * composite.c (get_composition_id): Check for overflow in glyph
 +      length calculations.
 +
 +      Integer and memory overflow fixes for display code.
 +      * dispextern.h (struct glyph_pool.nglyphs): Now ptrdiff_t, not int.
 +      * dispnew.c (adjust_glyph_matrix, realloc_glyph_pool)
 +      (scrolling_window): Check for overflow in size calculations.
 +      (line_draw_cost, realloc_glyph_pool, add_row_entry):
 +      Don't assume glyph table len fits in int.
 +      (struct row_entry.bucket, row_entry_pool_size, row_entry_idx)
 +      (row_table_size): Now ptrdiff_t, not int.
 +      (scrolling_window): Avoid overflow in size calculations.
 +      Don't update size until allocation succeeds.
 +      * fns.c (concat): Check for overflow in size calculations.
 +      (next_almost_prime): Verify NEXT_ALMOST_PRIME_LIMIT.
 +      * lisp.h (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros.
 +      (NEXT_ALMOST_PRIME_LIMIT): New constant.
 +
 +      * doc.c (get_doc_string_buffer_size): Now ptrdiff_t, not int.
 +      (get_doc_string): Check for size calculation overflow.
 +      Don't update size until allocation succeeds.
 +      (get_doc_string, Fsubstitute_command_keys): Use ptrdiff_t, not
 +      EMACS_INT, where ptrdiff_t will do.
 +      (Fsubstitute_command_keys): Check for string overflow.
 +
 +      * editfns.c (set_time_zone_rule): Don't assume environment length
 +      fits in int.
 +      (message_length): Now ptrdiff_t, not int.
 +      (Fmessage_box): Don't update size until allocation succeeds.
 +      Don't assume message length fits in int.
 +      (Fformat): Use ptrdiff_t, not EMACS_INT, where ptrdiff_t will do.
 +
 +      * emacs.c (main): Do not reallocate argv, since there is a null at
 +      the end that can be overwritten, and this way there's no need to
 +      worry about size-calculation overflow.
 +      (sort_args): Check for size-calculation overflow.
 +
 +      * eval.c (init_eval_once, grow_specpdl): Don't update size until
 +      alloc succeeds.
 +      (call_debugger, grow_specpdl): Redo calculations to avoid overflow.
 +
 +      * frame.c (set_menu_bar_lines, x_set_frame_parameters)
 +      (x_set_scroll_bar_width, x_figure_window_size):
 +      Check for integer overflow.
 +      (x_set_alpha): Do not assume XINT fits in int.
 +
 +      * frame.h (struct frame): Use int, not EMACS_INT, where int works.
 +      This is for the members text_lines, text_cols, total_lines, total_cols,
 +      where the system imposes an 'int' limit.
 +
 +      * fringe.c (Fdefine_fringe_bitmap):
 +      Don't update size until alloc works.
 +
 +      * ftfont.c (ftfont_get_open_type_spec, setup_otf_gstring)
 +      (ftfont_shape_by_flt): Check for integer overflow in size calculations.
 +
 +      * gtkutil.c (get_utf8_string, xg_store_widget_in_map):
 +      Check for size-calculation overflow.
 +      (get_utf8_string): Use ptrdiff_t, not size_t, where either will
 +      do, as we prefer signed integers.
 +      (id_to_widget.max_size, id_to_widget.used)
 +      (xg_store_widget_in_map, xg_remove_widget_from_map)
 +      (xg_get_widget_from_map, xg_get_scroll_id_for_window)
 +      (xg_remove_scroll_bar, xg_update_scrollbar_pos):
 +      Use and return ptrdiff_t, not int.
 +      (xg_gtk_scroll_destroy): Don't assume ptrdiff_t fits in int.
 +      * gtkutil.h: Change prototypes to match the above.
 +
 +      * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): Remove; these
 +      are duplicate now that they've been promoted to lisp.h.
 +      (x_allocate_bitmap_record, x_alloc_image_color)
 +      (make_image_cache, cache_image, xpm_load):
 +      Don't update size until alloc is done.
 +      (xpm_load, lookup_rgb_color, lookup_pixel_color, x_to_xcolors)
 +      (x_detect_edges):
 +      Check for size calculation overflow.
 +      (ct_colors_allocated_max): New constant.
 +      (x_to_xcolors, x_detect_edges): Reorder multiplicands to avoid
 +      overflow.
  
 -      * 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>
 +      * keyboard.c (read_char, menu_bar_items, tool_bar_items)
 +      (read_char_x_menu_prompt, read_char_minibuf_menu_width)
 +      (read_char_minibuf_menu_prompt, follow_key, read_key_sequence):
 +      Use ptrdiff_t, not int, to count maps.
 +      (read_char_minibuf_menu_prompt): Check for overflow in size
 +      calculations.  Don't update size until allocation succeeds.
 +      Redo calculations to avoid overflow.
 +      * keyboard.h: Change prototypes to match the above.
 +
 +      * keymap.c (cmm_size, current_minor_maps): Use ptrdiff_t, not int,
 +      to count maps.
 +      (current_minor_maps): Check for size calculation overflow.
 +      * keymap.h: Change prototypes to match the above.
 +
 +      * lread.c (read1, init_obarray): Don't update size until alloc done.
 +
 +      * macros.c (Fstart_kbd_macro): Don't update size until alloc done.
 +      (store_kbd_macro_char): Reorder multiplicands to avoid overflow.
 +
 +      * nsterm.h (struct ns_color_table.size, struct ns_color_table.avail):
 +      Now ptrdiff_t, not int.
 +      * nsterm.m (ns_index_color): Use ptrdiff_t, not int, for table indexes.
 +      (ns_draw_fringe_bitmap): Rewrite to avoid overflow.
 +
 +      * process.c (Fnetwork_interface_list): Check for overflow
 +      in size calculation.
 +
 +      * region-cache.c (move_cache_gap): Check for size calculation overflow.
 +
 +      * scroll.c (do_line_insertion_deletion_costs): Check for size calc
 +      overflow.  Don't bother calling xmalloc when xrealloc will do.
 +
 +      * search.c (Freplace_match): Check for size calculation overflow.
 +      (Fset_match_data): Don't assume list lengths fit in 'int'.
 +
 +      * sysdep.c (system_process_attributes): Use ptrdiff_t, not int,
 +      for command line length.  Do not attempt to address one before the
 +      beginning of an array, as that's not portable.
 +
 +      * term.c (max_frame_lines): Remove; unused.
 +      (encode_terminal_src_size, encode_terminal_dst_size): Now ptrdiff_t,
 +      not int.
 +      (encode_terminal_code, calculate_costs): Check for size
 +      calculation overflow.
 +      (encode_terminal_code): Use ptrdiff_t, not int, to record glyph
 +      table lengths and related sizes.  Don't update size until alloc
 +      done.  Redo calculations to avoid overflow.
 +      (calculate_costs): Don't bother calling xmalloc when xrealloc will do.
 +
 +      * termcap.c (tgetent): Use ptrdiff_t, not int, to record results of
 +      subtracting pointers.
 +      (gobble_line): Check for overflow more carefully.  Don't update size
 +      until alloc done.
 +
 +      * tparam.c (tparam1): Use ptrdiff_t, not int, for sizes.
 +      Don't update size until alloc done.
 +      Redo size calculations to avoid overflow.
 +      Check for size calculation overflow.
 +      (main) [DEBUG]: Fix typo in invoking tparam1.
 +
 +      * xdisp.c (store_mode_line_noprop_char, x_consider_frame_title):
 +      Use ptrdiff_t, not int, for sizes.
 +      (store_mode_line_noprop_char): Don't update size until alloc done.
 +
 +      * xfaces.c (lface_id_to_name_size, Finternal_make_lisp_face):
 +      Use ptrdiff_t, not int, for sizes.
 +      (Finternal_make_lisp_face, cache_face):
 +      Check for size calculation overflow.
 +      (cache_face): Treat size calculation overflows as if they were
 +      memory exhaustion (the usual treatment), rather than aborting.
 +
 +      * xfns.c (x_encode_text, x_set_name_internal)
 +      (Fx_change_window_property): Use ptrdiff_t, not int, to count
 +      sizes, since they can exceed INT_MAX in size.  Check for size
 +      calculation overflow.
 +
 +      * xgselect.c (gfds_size): Now ptrdiff_t, for convenience with xpalloc.
 +      (xg_select): Check for size calculation overflow.
 +      Don't update size until alloc done.
 +
 +      * xrdb.c (get_environ_db): Don't assume path length fits in int,
 +      as sprintf is limited to int lengths.
 +
 +      * xselect.c (X_LONG_SIZE, X_SHRT_MAX, X_SHRT_MIN, X_LONG_MAX)
 +      (X_LONG_MIN): New macros.
 +      Use them to make the following changes clearer.
 +      (MAX_SELECTION_QUANTUM): Make the other bounds on this value clearer.
 +      This change doesn't affect the value now, but it may help remind
 +      future maintainers not to raise the value too much later.
 +      (SELECTION_QUANTUM): Remove, replacing with ...
 +      (selection_quantum): ... new function, which avoids overflow.
 +      All uses changed.
 +      (struct selection_data.size): Now ptrdiff_t, not int, to avoid
 +      assumption that selection length fits in 'int'.
 +      (x_reply_selection_request, x_handle_selection_request)
 +      (x_get_window_property, receive_incremental_selection)
 +      (x_get_window_property_as_lisp_data, selection_data_to_lisp_data)
 +      (lisp_data_to_selection_data, clean_local_selection_data):
 +      Use ptrdiff_t, not int, to record length of selection.
 +      (x_reply_selection_request, x_get_window_property)
 +      (receive_incremental_selection, x_property_data_to_lisp):
 +      Redo calculations to avoid overflow.
 +      (x_reply_selection_request): When sending hint, ceiling it at
 +      X_LONG_MAX rather than relying on wraparound overflow to send
 +      something.
 +      (x_get_window_property, receive_incremental_selection)
 +      (lisp_data_to_selection_data, x_property_data_to_lisp):
 +      Check for size-calculation overflow.
 +      (x_get_window_property, receive_incremental_selection)
 +      (lisp_data_to_selection_data, Fx_register_dnd_atom):
 +      Don't store size until memory allocation succeeds.
 +      (x_get_window_property): Plug memory leak on memory exhaustion.
 +      Don't double-block input; malloc is safe here.  Don't assume 2**34
 +      - 4 fits in unsigned long.  Add an xassert to check
 +      XGetWindowProperty overflow.  Be more careful about overflow
 +      calculations, and distinguish size from memory overflow better.
 +      (receive_incremental_selection): When tracing, don't assume
 +      unsigned int is less than INT_MAX.
 +      (x_selection_data_to_lisp_data): Remove unnecessary (and in theory
 +      harmful) conversions of unsigned short to int.
 +      (lisp_data_to_selection_data): Don't assume that integers
 +      in the range -65535 through -1 fit in an X unsigned short.
 +      Don't assume that ULONG_MAX == X_ULONG_MAX.  Don't store into
 +      result parameters unless successful.  Rely on cons_to_unsigned
 +      to report problems with elements; the old code wasn't right anyway.
 +      (x_check_property_data): Check for int overflow; we cannot use
 +      a wider type due to X limits.
 +      (x_handle_dnd_message): Use unsigned int, to avoid int overflow.
 +
 +      * xsmfns.c (smc_save_yourself_CB): Check for size calc overflow.
 +
 +      * xterm.c (x_color_cells, x_send_scrollbar_event, handle_one_xevent)
 +      (x_term_init): Check for size calculation overflow.
 +      (x_color_cells): Don't store size until memory allocation succeeds.
 +      (handle_one_xevent): Use ptrdiff_t, not int, for byte counts.
 +      Don't assume alloca size is less than MAX_ALLOCA.
 +      (x_term_init): Don't assume length fits in int (sprintf is limited
 +      to int size).
 +
 +      Use ptrdiff_t for composition IDs.
 +      * character.c (lisp_string_width):
 +      * composite.c (composition_table_size, n_compositions)
 +      (get_composition_id, composition_gstring_from_id):
 +      * dispextern.h (struct glyph_string.cmp_id, struct composition_it.id):
 +      * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING):
 +      * window.c (Frecenter):
 +      Use ptrdiff_t, not int, for composition IDs.
 +      * composite.c (get_composition_id): Check for integer overflow.
 +      * composite.h: Adjust prototypes to match the above changes.
 +
 +      Use ptrdiff_t for hash table indexes.
 +      * category.c (hash_get_category_set):
 +      * ccl.c (ccl_driver):
 +      * charset.h (struct charset.hash_index, CHECK_CHARSET_GET_ID):
 +      * coding.c (coding_system_charset_list, detect_coding_system):
 +      * coding.h (struct coding_system.id):
 +      * composite.c (get_composition_id, gstring_lookup_cache):
 +      * fns.c (hash_lookup, hash_put, Fgethash, Fputhash):
 +      * image.c (xpm_get_color_table_h):
 +      * lisp.h (hash_lookup, hash_put):
 +      * minibuf.c (Ftest_completion):
 +      Use ptrdiff_t for hash table indexes, not int (which is too
 +      narrow, on 64-bit hosts) or EMACS_INT (which is too wide, on
 +      32-bit --with-wide-int hosts).
 +
 +      * charset.c (Fdefine_charset_internal): Check for integer overflow.
 +      Add a FIXME comment about memory leaks.
 +      (syms_of_charset): Don't assume xmalloc returns.
 +
 +      Don't assume that stated character widths fit in int.
 +      * character.c (Fchar_width, c_string_width, lisp_string_width):
 +      * character.h (CHAR_WIDTH):
 +      * indent.c (MULTIBYTE_BYTES_WIDTH):
 +      Use sanitize_char_width to avoid undefined and/or bad behavior
 +      with outlandish widths.
 +      * character.h (sanitize_tab_width): Rename from sanitize_width,
 +      now that we have two such functions.  All uses changed.
 +      (sanitize_char_width): New inline function.
 +
 +      Don't assume that tab-width fits in int.
 +      * character.h (sanitize_width): New inline function.
 +      (SANE_TAB_WIDTH): New macro.
 +      (ASCII_CHAR_WIDTH): Use it.
 +      * indent.c (sane_tab_width): Remove.  All uses replaced by
 +      SANE_TAB_WIDTH (current_buffer).
 +      * xdisp.c (init_iterator): Use SANE_TAB_WIDTH.
 +
 +      * fileio.c: Integer overflow issues with file modes.
 +      (Fset_file_modes, auto_save_1): Don't assume EMACS_INT fits in int.
 +
 +      * charset.c (read_hex): New arg OVERFLOW.  All uses changed.
 +      Remove unreachable code.
 +      (read_hex, load_charset_map_from_file): Check for integer overflow.
 +
 +      * xterm.c: don't go over XClientMessageEvent limit
 +      (scroll_bar_windows_size): Now ptrdiff_t, as we prefer signed.
 +      (x_send_scroll_bar_event): Likewise.  Check that the size does not
 +      exceed limits imposed by XClientMessageEvent, as well as the usual
 +      ptrdiff_t and size_t limits.
 +
 +      * keyboard.c: Overflow, signedness and related fixes.
 +      (make_lispy_movement): Use same integer type in forward decl
 +      that is used in the definition.
 +      (read_key_sequence, keyremap_step):
 +      Change bufsize argument back to int, undoing my 2011-03-30 change.
 +      We prefer signed types, and int is wide enough here.
 +      (parse_tool_bar_item): Don't assume tool_bar_max_label_size is less
 +      than TYPE_MAXIMUM (EMACS_INT) / 2.  Don't let the label size grow
 +      larger than STRING_BYTES_BOUND.  Use ptrdiff_t for Emacs string
 +      length, not size_t.  Use ptrdiff_t for index, not int.
 +      (keyremap_step, read_key_sequence): Redo bufsize check to avoid
 +      possibility of integer overflow.
 +
 +      Overflow, signedness and related fixes for images.
 +
 +      * dispextern.h (struct it.stack[0].u.image.image_id)
 +      (struct_it.image_id, struct image.id, struct image_cache.size)
 +      (struct image_cache.used, struct image_cache.ref_count):
 +      * gtkutil.c (update_frame_tool_bar):
 +      * image.c (x_reference_bitmap, Fimage_size, Fimage_mask_p)
 +      (Fimage_metadata, free_image_cache, clear_image_cache, lookup_image)
 +      (cache_image, mark_image_cache, x_kill_gs_process, Flookup_image):
 +      * nsmenu.m (update_frame_tool_bar):
 +      * xdisp.c (calc_pixel_width_or_height):
 +      * xfns.c (image_cache_refcount):
 +      Image IDs are now ptrdiff_t, not int, to avoid arbitrary limits
 +      on typical 64-bit hosts.
 +
 +      * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros.
 +      (x_bitmap_pixmap, x_create_x_image_and_pixmap):
 +      Omit unnecessary casts to int.
 +      (parse_image_spec): Check that integers fall into 'int' range
 +      when the callers expect that.
 +      (image_ascent): Redo ascent calculation to avoid int overflow.
 +      (clear_image_cache): Avoid overflow when sqrt (INT_MAX) < nimages.
 +      (lookup_image): Remove unnecessary tests.
 +      (xbm_image_p): Locals are now of int, not EMACS_INT,
 +      since parse_image_check makes sure they fit into int.
 +      (png_load, gif_load, svg_load_image):
 +      Prefer int to unsigned where either will do.
 +      (tiff_handler): New function, combining the cores of the
 +      old tiff_error_handler and tiff_warning_handler.
 +      This function is rewritten to use vsnprintf and thereby avoid
 +      stack buffer overflows.  It uses only the features of vsnprintf
 +      that are common to both POSIX and native Microsoft.
 +      (tiff_error_handler, tiff_warning_handler): Use it.
 +      (tiff_load, gif_load, imagemagick_load_image):
 +      Don't assume :index value fits in 'int'.
 +      (gif_load): Omit unnecessary cast to double, and avoid double-rounding.
 +      (imagemagick_load_image): Check that crop parameters fit into
 +      the integer types that MagickCropImage accepts.  Don't assume
 +      Vimagemagick_render_type has a nonnegative value.  Don't assume
 +      size_t fits in 'long'.
 +      (gs_load): Use printmax_t to print the widest integers possible.
 +      Check for integer overflow when computing image height and width.
 +
 +2011-08-26  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (redisplay_window): Don't force window start if point
 +      will be invisible in the resulting window.  (Bug#9324)
 +
 +2011-08-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when
 +      the display spec is of the form `(space ...)'.
 +      (handle_display_spec): Return the value returned by
 +      handle_single_display_spec, not just 1 or zero.
 +      (handle_single_display_spec): If the display spec is of the form
 +      `(space ...)', and specifies display in the text area, return 2
 +      rather than 1.
 +      (try_cursor_movement): Check for the need to scroll more
 +      accurately, and prefer exact match for point under bidi.
 +      Don't advance `row' beyond the last row of the window.
 +
 +      * dispextern.h (struct bidi_it): Rename the disp_prop_p member
 +      into disp_prop; all users changed.
 +
 +      * bidi.c (bidi_fetch_char): If compute_display_string_pos returns
 +      DISP_PROP = 2, substitute the u+2029 PARAGRAPH SEPARATOR character
 +      for the text covered by the display property.
 +
 +2011-08-25  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * buffer.c (Fbury_buffer_internal): Rename from Funrecord_buffer.
 +      Change return value to nil.
 +      (Frecord_buffer): Delete unused function.
 +
 +2011-08-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (Fcurrent_bidi_paragraph_direction): For unibyte
 +      buffers, return left-to-right.
 +      (set_cursor_from_row): Consider candidate row a win if its glyph
 +      represents a newline and point is on that newline.  Fixes cursor
 +      positioning on the newline at EOL of R2L text within L2R
 +      paragraph, and vice versa.
 +      (try_cursor_movement): Check continued rows, in addition to
 +      continuation rows.  Fixes unwarranted scroll when point enters a
 +      continued line of R2L text within an L2R paragraph, or vice versa.
 +      (cursor_row_p): Consider the case of point being equal to
 +      MATRIX_ROW_END_CHARPOS.  Prevents cursor being stuck when moving
 +      from the end of a short line to the beginning of a continued line
 +      of R2L text within L2R paragraph.
 +      (RECORD_MAX_MIN_POS): For max_pos, use IT_CHARPOS even for
 +      composed characters.
 +
 +      * bidi.c (bidi_check_type): Use xassert.
 +      (bidi_cache_iterator_state): Update the disp_pos and disp_prop_p
 +      members.
  
 -      * 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.
 +2011-08-23  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-26  Jason Rumney  <jasonr@gnu.org>
 +      * bidi.c (bidi_get_type): Abort if we get zero as the bidi type of
 +      a character.
  
 -      * w32.c (logon_network_drive): New function.
 -      (stat): Use it.
 +2011-08-23  Chong Yidong  <cyd@stupidchicken.com>
  
 -2008-01-26  Chong Yidong  <cyd@stupidchicken.com>
 +      * nsfont.m (ns_otf_to_script): Fix typo.
  
 -      * xdisp.c (pos_visible_p): Handle the case where charpos falls on
 -      invisible text covered with an ellipsis.
 +2011-08-22  Kenichi Handa  <handa@m17n.org>
  
 -2008-01-25  Richard Stallman  <rms@gnu.org>
 +      * chartab.c (Fset_char_table_extra_slot): Do not inhibit setting a
 +      extra slot even if the purpose is char-code-property-table.
  
 -      * 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.
 +2011-08-23  Eli Zaretskii  <eliz@gnu.org>
  
 -      * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
 +      * xdisp.c (redisplay_window): When computing centering_position,
 +      account for the height of the header line.  (Bug#8874)
  
 -      * buffer.c (reset_buffer_local_variables):
 -      Implement `permanent-local-hook'.
 -      (Qpermanent_local_hook): New variable.
 -      (syms_of_buffer): Init and staticpro it.
 +      * dispnew.c (buffer_posn_from_coords): Use buf_charpos_to_bytepos
 +      instead of CHAR_TO_BYTE.  Fixes a crash when a completion
 +      candidate is selected by the mouse, and that candidate has a
 +      composed character under the mouse.
  
 -2008-01-25  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (x_produce_glyphs): Set it->nglyphs to 1.  Fixes pixel
 +      coordinates reported by pos-visible-in-window-p for a composed
 +      character in column zero.
  
 -      * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
 +2011-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2008-01-25  Thien-Thi Nguyen  <ttn@gnuvola.org>
 +      * cmds.c (Fself_insert_command): Mention post-self-insert-hook.
  
 -      * fns.c (Fclrhash): Return TABLE.
 +2011-08-22  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xdisp.c (BUFFER_POS_REACHED_P): If this is a composition,
 +      consider it a hit if to_charpos is anywhere in the range of the
 +      composed buffer positions.
  
 -      * 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.
 +2011-08-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
 +      * image.c (gif_load): Don't assume that each subimage has the same
 +      dimensions as the base image.  Handle disposal method that is
 +      "undefined" by the gif spec (Bug#9335).
  
 -2008-01-23  Jason Rumney  <jasonr@gnu.org>
 +2011-08-20  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
 +      * eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329).
 +      (Fcondition_case): Document `debug' symbol in error handler.
  
 -      * 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.
 +2011-08-19  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of
 +      face ID by FACE_FROM_ID, and avoid a crash when mouse is moved
 +      from an Org mode buffer to a Speedbar frame.
  
 -      * 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.
 +      * xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from
 +      a composition, take its buffer position from IT->cmp_it.charpos.
 +      Fixes cursor positioning at the beginning of a line that begins
 +      with a composed character.
  
 -2008-01-21  Michael Albinus  <michael.albinus@gmx.de>
 +2011-08-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * bidi.c (bidi_get_type): If bidi_type_table reports zero as the
 +      character bidirectional type, use STRONG_L instead.  Fixes crashes
 +      in a buffer produced by `describe-categories'.
  
 -2008-01-20  Martin Rudalics  <rudalics@gmx.at>
 +      * dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p
 +      members before the level stack, so they would be saved and
 +      restored when copying iterator state.  Fixes incorrect reordering
 +      around TABs covered by display properties.
  
 -      * 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.
 +2011-08-18  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2008-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * process.c (Fnetwork_interface_list): Correctly determine buffer size.
  
 -      * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
 +2011-08-17  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * eval.c (internal_condition_case, internal_condition_case_1)
 +      (internal_condition_case_2, internal_condition_case_n):
 +      Remove unnecessary aborts (Bug#9081).
  
 -      * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
 -      vscroll if we're setting window-buffer to the value it already has.
 +2011-08-17  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-18  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * lread.c (Fload) [DOS_NT]: If `openp' returns -2, but the file
 +      has no `load' handler, try opening the file locally.  (Bug#9311)
  
 -      * m/intel386.h: Remove references to XENIX.
 +2011-08-16  Ken Brown  <kbrown@cornell.edu>
  
 -2008-01-17  Andreas Schwab  <schwab@suse.de>
 +      * gmalloc.c: Expand comment.
  
 -      * 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.
 +2011-08-16  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-17  Glenn Morris  <rgm@gnu.org>
 +      * xdisp.c (set_cursor_from_row): Don't accept a previous candidate
 +      if it fails the cursor_row_p test.  Fixes cursor positioning at ZV.
  
 -      * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
 -      to HAVE_X86_64_LIB64_DIR.
 +2011-08-16  Ken Brown  <kbrown@cornell.edu>
  
 -2008-01-16  Dan Nicolaescu  <dann@ics.uci.edu>
 +      Fix memory allocation problems in Cygwin build (Bug#9273).
  
 -      * 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.
 +      * unexcw.c ( __malloc_initialized): Declare external variable.
 +      (fixup_executable): Force the dumped emacs to reinitialize malloc.
  
 -      * sysdep.c: Remove code containing references to symbols defined
 -      by unsupported systems.
 +      * gmalloc.c [CYGWIN] (bss_sbrk_heapbase, bss_sbrk_heapinfo):
 +      New variables.
 +      (malloc_initialize_1) [CYGWIN]: Prepare for reinitializing the
 +      dumped emacs.
 +      (_free_internal_nolock) [CYGWIN]: Ignore requests to free storage
 +      in the static heap.
 +      [CYGWIN] (special_realloc): New function.
 +      (_realloc_internal_nolock) [CYGWIN]: Use the new function on
 +      requests to realloc storage in the static heap.
  
 -2008-01-16  Glenn Morris  <rgm@gnu.org>
 +2011-08-15  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * coding.c (select-safe-coding-system-function): Doc fix.
 +      * bidi.c (bidi_initialize): Remove unused local.
  
 -2008-01-15  Glenn Morris  <rgm@gnu.org>
 +2011-08-15  Eli Zaretskii  <eliz@gnu.org>
  
 -      * config.in: Revert 2008-01-13 change: this is a generated file.
 +      * bidimirror.h:
 +      * biditype.h: Remove file.
 +      * makefile.w32-in ($(BLD)/bidi.$(O)):
 +      * deps.mk (bidi.o): Remove biditype.h and bidimirror.h.
  
 -2008-01-13  Tom Tromey  <tromey@redhat.com>
 +      * dispextern.h: Fix a typo in the comment to bidi_type_t.
  
 -      * lisp.h: Fix typo.
 +      * chartab.c: Improve commentary for the uniprop_table API.
  
 -2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * bidi.c (bidi_paragraph_init): Support zero value of
 +      bidi_ignore_explicit_marks_for_paragraph_level.
 +      (bidi_initialize): Use uniprop_table instead of including
 +      biditype.h and bidimirror.h.
  
 -      * 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>
 +      * xdisp.c (move_it_in_display_line_to): Don't reset pixel
 +      coordinates of the iterator when restoring from ppos_it.
 +      (Bug#9296)
  
 -      * textprop.c (get_char_property_and_overlay):
 -      Signal error if POSITION is out of range in a buffer.
 +2011-08-14  Kenichi Handa  <handa@m17n.org>
  
 -2007-12-29  Martin Rudalics  <rudalics@gmx.at>
 +      * process.c (create_process): Call setup_process_coding_systems
 +      after the pid of the process is set to -1 (Bug#8162).
  
 -      * w32fns.c (Fx_create_frame): Make copy of frame parameters
 -      because the original parameters are in pure storage now.
 +2011-08-14  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xdisp.c (move_it_in_display_line_to): Don't invoke
 +      IT_RESET_X_ASCENT_DESCENT when iterator position was restored from
 +      ppos_it.  Fixes vertical cursor motion when line beginning is
 +      covered by an image.  (Bug#9296)
  
 -      * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
 +2011-08-14  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-12-22  Eli Zaretskii  <eliz@gnu.org>
 +      * nsterm.h (ns_run_ascript): Declare.
 +      (NSAPP_DATA2_RUNASSCRIPT): Define.
  
 -      * callint.c (syms_of_callint) <command-history>: Add reference to
 -      history-length in the doc string.
 +      * nsfns.m (as_script, as_result, as_status): New static variables.
 +      (ns_run_ascript): New function.
 +      (Fns_do_applescript): Set variables as_*.  Make an NSApplicationDefined
 +      event with data2 set to NSAPP_DATA2_RUNASSCRIPT, post it and then start
 +      the event loop.  Get status from as_status (Bug#7276).
  
 -2007-12-17  Jason Rumney  <jasonr@gnu.org>
 +      * nsterm.m (sendEvent): If event is NSApplicationDefined and
 +      data2 is NSAPP_DATA2_RUNASSCRIPT, call ns_run_ascript and then exit
 +      the event loop (Bug#7276).
  
 -      * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
 -      before passing as wParam.
 +2011-08-14  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2007-12-22  Michael Albinus  <michael.albinus@gmx.de>
 +      * gnutls.c (QCgnutls_bootprop_priority)
 +      (QCgnutls_bootprop_trustfiles, QCgnutls_bootprop_keylist)
 +      (QCgnutls_bootprop_crlfiles, QCgnutls_bootprop_callbacks)
 +      (QCgnutls_bootprop_loglevel, QCgnutls_bootprop_hostname)
 +      (QCgnutls_bootprop_min_prime_bits, QCgnutls_bootprop_verify_flags)
 +      (QCgnutls_bootprop_verify_hostname_error)
 +      (QCgnutls_bootprop_callbacks_verify): Rename from
 +      Qgnutls_bootprop_..., all uses changed.
  
 -      * 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.
 +      * xfaces.c (QCignore_defface): Rename from Qignore_defface, all
 +      uses changed.
  
 -2007-12-21  Michael Albinus  <michael.albinus@gmx.de>
 +2011-08-14  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * xfaces.c (Qframe_set_background_mode): Now static.
 +      * dispextern.h (Qframe_set_background_mode): Remove decl.
  
 -2007-12-19  Michael Albinus  <michael.albinus@gmx.de>
 +      * process.c (Fnetwork_interface_info): Declare local only if needed.
  
 -      * 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.
 +2011-08-13  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-12-16  Michael Albinus  <michael.albinus@gmx.de>
 +      * process.c: Include ifaddrs.h and net/if_dl.h if available (Bug#8477).
 +      (Fnetwork_interface_list): Allocate in increments of bytes instead
 +      of sizeof (struct ifreq).  Iterate over ifconf.ifc_req by counting
 +      bytes (Bug#8477).  Count bytes correctly when ifr_addr is a struct
 +      sockaddr.
 +      (struct ifflag_def): notrailers is smart on OSX.
 +      (Fnetwork_interface_info): Handle case when ifr_flags is negative.
 +      Get hardware address with getifaddrs if available.
  
 -      * 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.
 +2011-08-12  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-16  Andreas Schwab  <schwab@suse.de>
 +      * xdisp.c (iterate_out_of_display_property): xassert that
 +      IT->position is set to within IT->object's boundaries.  Break from
 +      the loop as soon as EOB is reached; avoids infloops in redisplay
 +      when IT->position is set up wrongly due to some bug.
 +      Set IT->current to match the bidi iterator unconditionally.
 +      (push_display_prop): Allow GET_FROM_STRING as IT->method on
 +      entry.  Force push_it to save on the stack the current
 +      buffer/string position, to be restored by pop_it.  Fix flags in
 +      the iterator structure wrt the object coming from a display
 +      property, as `line-prefix' and `wrap-prefix' are not ``replacing''
 +      properties.  (Bug#9284)
  
 -      * fileio.c (Finsert_file_contents): Fix overflow check to not
 -      depend on undefined integer overflow.
 +2011-08-09  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2007-12-14  Jason Rumney  <jasonr@gnu.org>
 +      * fontset.c (fontset_get_font_group): Add proper type checks.
 +      (Bug#9172)
  
 -      * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
 -      for characters above 127.
 +2011-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-12-13  Jason Rumney  <jasonr@gnu.org>
 +      * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS
 +      and LC_VERSION_MIN_MACOSX.
 +      (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function.
 +      (dump_it) [LC_FUNCTION_STARTS]: Use it.
  
 -      * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
 -      before dereferencing array.
 -      (lookup_vk_code): Remove zero comparison.
 +2011-08-08  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-14  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (forward_to_next_line_start): Allow to use the
 +      no-display-properties-and-no-overlays under bidi display.
 +      Set disp_pos in the bidi iterator to avoid searches for display
 +      properties and overlays.
  
 -      * 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.
 +2011-08-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-12-14  Eli Zaretskii  <eliz@gnu.org>
 +      * editfns.c (Fset_time_zone_rule): Document relationship with the
 +      setenv function.
  
 -      * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
 +      * ftfont.c (ftfont_pattern_entity): Copy the extras argument to
 +      the font entity extracted from the cache (Bug#8109).
  
 -2007-12-12  Juri Linkov  <juri@jurta.org>
 +2011-08-07  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * composite.c (autocmp_chars): Don't reset point.  That is done by
 +      restore_point_unwind (Bug#5984).
  
 -2007-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-08-07  Juri Linkov  <juri@jurta.org>
  
 -      * 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'.
 +      * editfns.c (Fformat_time_string): Doc fix, add tag `usage:'
 +      to show the arg `TIME' instead of `TIMEVAL'.
  
 -      * 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.
 +2011-08-06  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-09  Juri Linkov  <juri@jurta.org>
 +      * xdisp.c (set_cursor_from_row): Fix cursor positioning when a
 +      display property strides EOL and includes a newline, as in
 +      longlines-mode.  (Bug#9254)
 +      (move_it_in_display_line_to): Fix vertical-motion in a buffer with
 +      word-wrap under bidirectional display.  (Bug#9224)
  
 -      * buffer.c (Frename_buffer): Change interactive spec from "s" to
 -      Lisp code that uses `read-buffer' with current buffer as default.
 +      * bidi.c (bidi_unshelve_cache): Don't reset the cache if JUST_FREE
 +      is non-zero, even if the data buffer is NULL.  Fixes a crash in
 +      vertical-motion with longlines-mode.  (Bug#9254)
  
 -2007-12-08  Michael Albinus  <michael.albinus@gmx.de>
 +2011-08-05  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * bidi.c <bidi_cache_total_alloc>: Now static.
 +      (bidi_initialize): Initialize bidi_cache_total_alloc.
  
 -2007-12-07  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (display_line): Release buffer allocated for shelved bidi
 +      cache.  (Bug#9221)
  
 -      * 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.
 +      * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): Track total
 +      amount allocated this far in `bidi_cache_total_alloc'.
 +      (bidi_unshelve_cache): Accept an additional argument JUST_FREE; if
 +      non-zero, only free the data buffer without restoring the cache
 +      contents.  All callers changed.
  
 -2007-12-05  Magnus Henoch  <mange@freemail.hu>
 +      * dispextern.h (bidi_unshelve_cache): Update prototype.
  
 -      * process.c (make_process): Initialize pty_flag to 0.
 +      * xdisp.c (SAVE_IT, pos_visible_p, move_it_in_display_line_to)
 +      (move_it_in_display_line, move_it_to)
 +      (move_it_vertically_backward, move_it_by_lines): Replace the call
 +      to xfree to an equivalent call to bidi_unshelve_cache.
 +      (move_it_in_display_line_to): Fix logic of returning
 +      MOVE_POS_MATCH_OR_ZV in the bidi case.  (Bug#9224)
  
 -2007-12-05  Jason Rumney  <jasonr@gnu.org>
 +2011-08-05  Eli Zaretskii  <eliz@gnu.org>
  
 -      * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
 -      specified XBMs.
 +      * xdisp.c (set_cursor_from_row): Prefer the candidate glyph that
 +      came from a string character with a `cursor' property.  (Bug#9229)
  
 -2007-12-05  Richard Stallman  <rms@gnu.org>
 +2011-08-04  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
 +      * Makefile.in (LIB_PTHREAD): New variable.
 +      (LIBES): Add LIB_PTHREAD (Bug#9216).
  
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * alloc.c, emacs.c, gmalloc.c, gtkutil.c, keyboard.c, syssignal.h:
 +      Rename HAVE_GTK_AND_PTHREAD to HAVE_PTHREAD (Bug#9216).
  
 -      * 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.
 +2011-08-04  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
 -      Use mac_try_close_socket.
 +      * regex.c (re_iswctype): Remove some redundant boolean conversions.
  
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-08-04  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * 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.
 +      * xterm.c (x_find_topmost_parent): New function.
 +      (x_set_frame_alpha): Find topmost parent window with
 +      x_find_topmost_parent and set the property there also (bug#9181).
 +      (handle_one_xevent): Call x_set_frame_alpha on ReparentNotify.
  
 -2007-12-05  Jason Rumney  <jasonr@gnu.org>
 +2011-08-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * w32proc.c (sys_spawnve): Quote args with wildcards.
 +      * callproc.c (Fcall_process): Avoid vfork clobbering
 +      the local vars buffer, coding_systems, current_dir.
  
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-08-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
 -      __objc_* sections.
 -      (unrelocate) [_LP64]: Set relocation base to address of data segment.
 +      * keymap.c (Fmake_composed_keymap): Move to subr.el.
  
 -2007-12-05  Michael Albinus  <michael.albinus@gmx.de>
 +2011-08-03  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE
 +      so that it is not optimized away.
  
 -2007-12-04  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (compute_display_string_pos): Remove unused local.
  
 -      * 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.
 +2011-08-02  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-03  Jan Djärv  <jan.h.d@swipnet.se>
 +      Fix slow cursor motion and scrolling in large buffers with
 +      selective display, like Org Mode buffers.  (Bug#9218)
  
 -      * xterm.c: Update URL to Window Manager Specification in comment.
 +      * dispextern.h (struct bidi_it): New member disp_prop_p.
  
 -2007-12-02  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c: Remove one-slot cache of display string positions.
 +      (compute_display_string_pos): Accept an additional argument
 +      DISP_PROP_P; callers changed.  Scan at most 5K characters forward
 +      for a display string or property.  If found, set DISP_PROP_P
 +      non-zero.
  
 -      * config.in (HAVE_DBUS): Add.
 +      * bidi.c (bidi_fetch_char): Accept an additional argument
 +      DISP_PROP_P, and pass it to compute_display_string_pos.
 +      Only handle text covered by a display string if DISP_PROP_P is returned
 +      non-zero.  All callers of bidi_fetch_char changed.
  
 -      * 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.
 +2011-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * dbusbind.c: New file.
 +      * keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE.
  
 -      * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
 +2010-12-03  Don March  <don@ohspite.net>
  
 -      * 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.
 +      * keymap.c (Fdefine_key): Fix non-prefix key error message when
 +      last character M-[char] is translated to ESC [char] (bug#7541).
  
 -      * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
 +2011-08-02  Kenichi Handa  <handa@m17n.org>
  
 -2007-12-01  Richard Stallman  <rms@gnu.org>
 +      * lisp.h (uniprop_table): Extern it.
  
 -      * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
 +      * chartab.c (uniprop_table): Make it non-static.
  
 -2007-11-30  Jason Rumney  <jasonr@gnu.org>
 +2011-08-01  Eli Zaretskii  <eliz@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.
 +      * xdisp.c (forward_to_next_line_start): Accept additional argument
 +      BIDI_IT_PREV, and store into it the state of the bidi iterator had
 +      on the newline.
 +      (reseat_at_next_visible_line_start): Use the bidi iterator state
 +      returned by forward_to_next_line_start to restore the state of
 +      it->bidi_it after backing up to previous newline.  (Bug#9212)
  
 -      * xfaces.c (map_tty_color, tty_color_name): Remove special case for
 -      WINDOWSNT.
 +2011-07-30  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * w32console.c, w32term.h (vga_stdcolor_name): Remove.
 +      * regex.c (re_comp): Protoize.
 +      (re_exec): Fix return type.
 +      (regexec): Fix type of `ret'.  (Bug#9203)
  
 -2007-11-29  Jason Rumney  <jasonr@gnu.org>
 +2011-07-28  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * image.c (check_image_size): Use 1024x1024 if unknown frame (Bug#9189).
 +      This is needed if max-image-size is a floating-point number.
  
 -2007-11-29  Andreas Schwab  <schwab@suse.de>
 +2011-07-28  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * keyboard.c (apply_modifiers): Fix typo.
 +      * print.c (print_object): Print empty symbol as ##.
  
 -2007-11-29  Richard Stallman  <rms@gnu.org>
 +      * lread.c (read1): Read ## as empty symbol.
  
 -      * keymap.c (Fcurrent_local_map): Doc fix.
 +2011-07-28  Alp Aker  <alp.tekin.aker@gmail.com>
  
 -2007-11-28  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
 +      * nsfns.m (x_set_foreground_color): Set f->foreground_pixel when
 +      setting frame foreground color (Bug#9175).
 +      (x_set_background_color): Likewise.
  
 -      * s/gnu-kfreebsd.h: New file.
 +      * nsmenu.m (-setText): Size tooltip dimensions precisely to
 +      contents (Bug#9176).
 +      (EmacsTooltip -init): Remove bezels and add shadows to
 +      tooltip windows.
  
 -2007-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsterm.m (ns_dumpglyphs_stretch): Avoid overwriting left fringe
 +      or scroll bar (Bug#8470).
  
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
 -      Don't cast redundantly.
 +      * nsfont.m (nsfont_open): Remove assignment to voffset and
 +      unnecessary vars hshink, expand, hd, full_height, min_height.
 +      (nsfont_draw): Use s->ybase as baseline for glyph drawing (Bug#8913).
  
 -      * 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.
 +      * nsterm.h (nsfont_info): Remove voffset field.
  
 -2007-11-27  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-07-28  Alp Aker  <alp.tekin.aker@gmail.com>
  
 -      * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
 -      compiled anymore.
 +      Implement strike-through and overline on NextStep (Bug#8863).
  
 -2007-11-26  Andreas Schwab  <schwab@suse.de>
 +      * nsfont.m (nsfont_open): Use underline position provided by font,
 +      instead of hard-coded value of 2.
 +      (nsfont_draw): Call ns_draw_text_decoration instead.
  
 -      * process.c (list_processes_1): Fix indentation level of the
 -      command column.
 +      * nsterm.h: Add declaration for ns_draw_text_decoration.
  
 -2007-11-23  Andreas Schwab  <schwab@suse.de>
 +      * nsterm.m (ns_draw_text_decoration): New function for drawing
 +      underline, overline, and strike-through.
 +      (ns_dumpglyphs_image, ns_dumpglyphs_stretch): Add call to
 +      ns_draw_text_decoration.  Change treatment of cursor drawing to
 +      accommodate underlining, etc.
  
 -      * editfns.c (Fformat): Handle %c specially since it requires the
 -      argument to be of type int.
 +2011-07-28  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-11-23  Markus Triska  <markus.triska@gmx.at>
 +      * buffer.c (init_buffer_once): Set bidi-display-reordering to t by
 +      default.
 +
 +2011-07-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c (memory_full) [!SYNC_INPUT]: Fix signal-related race.
 +      Without this fix, if a signal arrives just after memory fills up,
 +      'malloc' might be invoked reentrantly.
 +
 +      * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1.
 +      In other words, assume that every image size is allowed, on non-X
 +      hosts.  This assumption is probably wrong, but it lets Emacs compile.
 +
 +2011-07-28  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * regex.c (re_iswctype): Convert return values to boolean.
 +
 +2011-07-28  Eli Zaretskii  <eliz@fencepost.gnu.org>
 +
 +      * xdisp.c (compute_display_string_pos): Don't use cached display
 +      string position if the buffer had its restriction changed.
 +      (Bug#9184)
 +
 +2011-07-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering.
 +
 +2011-07-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer signedness and overflow and related fixes.  (Bug#9079)
 +
 +      * bidi.c: Integer size and overflow fixes.
 +      (bidi_cache_size, bidi_cache_idx, bidi_cache_last_idx)
 +      (bidi_cache_start, bidi_cache_fetch_state, bidi_cache_search)
 +      (bidi_cache_find_level_change, bidi_cache_ensure_space)
 +      (bidi_cache_iterator_state, bidi_cache_find, bidi_cache_start_stack)
 +      (bidi_find_other_level_edge):
 +      Use ptrdiff_t instead of EMACS_INT where either will do.
 +      This works better on 32-bit hosts configured --with-wide-int.
 +      (bidi_cache_ensure_space): Check for size-calculation overflow.
 +      Use % rather than repeated addition, for better worst-case speed.
 +      Don't set bidi_cache_size until after xrealloc returns, because it
 +      might not return.
 +      (bidi_dump_cached_states): Use ptrdiff_t, not int, to avoid overflow.
 +      (bidi_cache_ensure_space): Also check that the bidi cache size
 +      does not exceed that of the largest Lisp string or buffer.  See Eli
 +      Zaretskii in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#29>.
 +
 +      * alloc.c (__malloc_size_t): Remove.
 +      All uses replaced by size_t.  See Andreas Schwab's note
 +      <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#8>.
 +
 +      * image.c: Improve checking for integer overflow.
 +      (check_image_size): Assume that f is nonnull, since
 +      it is always nonnull in practice.  This is one less thing to
 +      worry about when checking for integer overflow later.
 +      (x_check_image_size): New function, which checks for integer
 +      overflow issues inside X.
 +      (x_create_x_image_and_pixmap, xbm_read_bitmap_data): Use it.
 +      This removes the need for a memory_full check.
 +      (xbm_image_p): Rewrite to avoid integer multiplication overflow.
 +      (Create_Pixmap_From_Bitmap_Data, xbm_load): Use x_check_image_size.
 +      (xbm_read_bitmap_data): Change locals back to 'int', since
 +      their values must fit in 'int'.
 +      (xpm_load_image, png_load, tiff_load):
 +      Invoke x_create_x_image_and_pixmap earlier,
 +      to avoid much needless work if the image is too large.
 +      (tiff_load): Treat overly large images as if
 +      x_create_x_image_and_pixmap failed, not as malloc failures.
 +      (gs_load): Use x_check_image_size.
 +
 +      * gtkutil.c: Omit integer casts.
 +      (xg_get_pixbuf_from_pixmap): Remove unnecessary cast.
 +      (xg_set_toolkit_scroll_bar_thumb): Rewrite to avoid need for cast.
 +
 +      * image.c (png_load): Don't assume height * row_bytes fits in 'int'.
 +
 +      * xfaces.c (Fbitmap_spec_p): Fix integer overflow bug.
 +      Without this fix, (bitmap-spec-p '(34359738368 1 "x"))
 +      would wrongly return t on a 64-bit host.
 +
 +      * dispnew.c (init_display): Use *_RANGE_OVERFLOW macros.
 +      The plain *_OVERFLOW macros run afoul of GCC bug 49705
 +      <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49705>
 +      and therefore cause GCC to emit a bogus diagnostic in some cases.
 +
 +      * image.c: Integer signedness and overflow and related fixes.
 +      This is not an exhaustive set of fixes, but it's time to
 +      record what I've got.
 +      (lookup_pixel_color, check_image_size): Remove redundant decls.
 +      (check_image_size): Don't assume that arbitrary EMACS_INT values
 +      fit in 'int', or that arbitrary 'double' values fit in 'int'.
 +      (x_alloc_image_color, x_create_x_image_and_pixmap, png_load)
 +      (tiff_load, imagemagick_load_image):
 +      Check for overflow in size calculations.
 +      (x_create_x_image_and_pixmap): Remove unnecessary test for
 +      xmalloc returning NULL; that can't happen.
 +      (xbm_read_bitmap_data): Don't assume sizes fit into 'int'.
 +      (xpm_color_bucket): Use better integer hashing function.
 +      (xpm_cache_color): Don't possibly over-allocate memory.
 +      (struct png_memory_storage, tiff_memory_source, tiff_seek_in_memory)
 +      (gif_memory_source):
 +      Use ptrdiff_t, not int or size_t, to record sizes.
 +      (png_load): Don't assume values greater than 2**31 fit in 'int'.
 +      (our_stdio_fill_input_buffer): Prefer ptrdiff_t to size_t when
 +      either works, as we prefer signed integers.
 +      (tiff_read_from_memory, tiff_write_from_memory):
 +      Return tsize_t, not size_t, since that's what the TIFF API wants.
 +      (tiff_read_from_memory): Don't fail simply because the read would
 +      go past EOF; instead, return a short read.
 +      (tiff_load): Omit no-longer-needed casts.
 +      (Fimagemagick_types): Don't assume size fits into 'int'.
 +
 +      Improve hashing quality when configured --with-wide-int.
 +      * fns.c (hash_string): New function, taken from sxhash_string.
 +      Do not discard information about ASCII character case; this
 +      discarding is no longer needed.
 +      (sxhash-string): Use it.  Change sig to match it.  Caller changed.
 +      * lisp.h: Declare it.
 +      * lread.c (hash_string): Remove, since we now use fns.c's version.
 +      The fns.c version returns a wider integer if --with-wide-int is
 +      specified, so this should help the quality of the hashing a bit.
 +
 +      * emacs.c: Integer overflow minor fix.
 +      (heap_bss_diff): Now uprintmax_t, not unsigned long.  All used changed.
 +      Define only if GNU_LINUX.
 +      (main, Fdump_emacs): Set and use heap_bss_diff only if GNU_LINUX.
 +
 +      * dispnew.c: Integer signedness and overflow fixes.
 +      Remove unnecessary forward decls, that were a maintenance hassle.
 +      (history_tick): Now uprintmax_t, so it's more likely to avoid overflow.
 +      All uses changed.
 +      (adjust_glyph_matrix, realloc_glyph_pool, adjust_frame_message_buffer)
 +      (scrolling_window): Use ptrdiff_t, not int, for byte count.
 +      (prepare_desired_row, line_draw_cost):
 +      Use int, not unsigned, where either works.
 +      (save_current_matrix, restore_current_matrix):
 +      Use ptrdiff_t, not size_t, where either works.
 +      (init_display): Check for overflow more accurately, and without
 +      relying on undefined behavior.
 +
 +      * editfns.c (pWIDE, pWIDElen, signed_wide, unsigned_wide):
 +      Remove, replacing with the new symbols in lisp.h.  All uses changed.
 +      * fileio.c (make_temp_name):
 +      * filelock.c (lock_file_1, lock_file):
 +      * xdisp.c (message_dolog):
 +      Don't assume PRIdMAX etc. works; this isn't portable to pre-C99 hosts.
 +      Use pMd etc. instead.
 +      * lisp.h (printmax_t, uprintmax_t, pMd, pMu): New types and macros,
 +      replacing the pWIDE etc. symbols removed from editfns.c.
 +
 +      * keyboard.h (num_input_events): Now uintmax_t.
 +      This is (very slightly) less likely to mess up due to wraparound.
 +      All uses changed.
  
 -      * emacs.c (main): Call init_editfns before init_process, since
 -      init_process sets Vprocess_connection_type depending on OS release.
 +      * buffer.c: Integer signedness fixes.
 +      (alloc_buffer_text, enlarge_buffer_text):
 +      Use ptrdiff_t rather than size_t when either will do, as we prefer
 +      signed integers.
 +
 +      * alloc.c: Integer signedness and overflow fixes.
 +      Do not impose an arbitrary 32-bit limit on malloc sizes when debugging.
 +      (__malloc_size_t): Default to size_t, not to int.
 +      (pure_size, pure_bytes_used_before_overflow, stack_copy_size)
 +      (Fgarbage_collect, mark_object_loop_halt, mark_object):
 +      Prefer ptrdiff_t to size_t when either would do, as we prefer
 +      signed integers.
 +      (XMALLOC_OVERRUN_CHECK_OVERHEAD): New macro.
 +      (xmalloc_overrun_check_header, xmalloc_overrun_check_trailer):
 +      Now const.  Initialize with values that are in range even if char
 +      is signed.
 +      (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): Remove, replacing with ...
 +      (xmalloc_put_size, xmalloc_get_size): New functions.  All uses changed.
 +      These functions do the right thing with sizes > 2**32.
 +      (check_depth): Now ptrdiff_t, not int.
 +      (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
 +      Adjust to new way of storing sizes.  Check for size overflow bugs
 +      in rest of code.
 +      (STRING_BYTES_MAX): Adjust to new overheads.  The old code was
 +      slightly wrong anyway, as it missed one instance of
 +      XMALLOC_OVERRUN_CHECK_OVERHEAD.
 +      (refill_memory_reserve): Omit needless cast to size_t.
 +      (mark_object_loop_halt): Mark as externally visible.
 +
 +      * xselect.c: Integer signedness and overflow fixes.
 +      (Fx_register_dnd_atom, x_handle_dnd_message):
 +      Use ptrdiff_t, not size_t, since we prefer signed.
 +      (Fx_register_dnd_atom): Check for ptrdiff_t (and size_t) overflow.
 +      * xterm.h (struct x_display_info): Use ptrdiff_t, not size_t, for
 +      x_dnd_atoms_size and x_dnd_atoms_length.
 +
 +      * doprnt.c: Prefer signed to unsigned when either works.
 +      * eval.c (verror):
 +      * doprnt.c (doprnt):
 +      * lisp.h (doprnt):
 +      * xdisp.c (vmessage):
 +      Use ptrdiff_t, not size_t, when using or implementing doprnt,
 +      since the sizes cannot exceed ptrdiff_t bounds anyway, and we
 +      prefer signed arithmetic to avoid comparison confusion.
 +      * doprnt.c (doprnt): Avoid a "+ 1" that can't overflow,
 +      but is a bit tricky.
 +
 +      Assume freestanding C89 headers, string.h, stdlib.h.
 +      * data.c, doprnt.c, floatfns.c, print.c:
 +      Include float.h unconditionally.
 +      * gmalloc.c: Assume C89-at-least behavior for preprocessor,
 +      limits.h, stddef.h, string.h.  Use memset instead of 'flood'.
 +      * regex.c: Likewise for stddef.h, string.h.
 +      (ISASCII): Remove; can assume it returns 1 now.  All uses removed.
 +      * s/aix4-2.h (HAVE_STRING_H): Remove obsolete undef.
 +      * s/ms-w32.h (HAVE_LIMITS_H, HAVE_STRING_H, HAVE_STDLIB_H)
 +      (STDC_HEADERS): Remove obsolete defines.
 +      * sysdep.c: Include limits.h unconditionally.
 +
 +      Assume support for memcmp, memcpy, memmove, memset.
 +      * lisp.h, sysdep.c (memcmp, memcpy, memmove, memset):
 +      * regex.c (memcmp, memcpy):
 +      Remove; we assume C89 now.
 +
 +      * gmalloc.c (memcpy, memset, memmove): Remove; we assume C89 now.
 +      (__malloc_safe_bcopy): Remove; no longer needed.
 +
 +      * lisp.h (struct vectorlike_header, struct Lisp_Subr): Signed sizes.
 +      Use EMACS_INT, not EMACS_UINT, for sizes.  The code works equally
 +      well either way, and we prefer signed to unsigned.
 +
 +2011-07-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * gnutls.c (emacs_gnutls_read): Don't message anything if the peer
 +      closes the connection while we're reading (bug#9182).
 +
 +2011-07-25  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons
 +      are specified (Bug#9168).
 +
 +2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * bidi.c (bidi_dump_cached_states): Fix printf format mismatch.
 +      Found by GCC static checking and --with-wide-int on a 32-bit host.
 +
 +2011-07-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (compute_display_string_pos): Fix logic of caching
 +      previous display string position.  Initialize cached_prev_pos to
 +      -1.  Fixes slow-down at the beginning of a buffer.
 +
 +2011-07-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xfaces.c (check_lface_attrs) [HAVE_WINDOW_SYSTEM]: Allow `nil'
 +      for attrs[LFACE_FONTSET_INDEX].
 +
 +2011-07-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xml.c (parse_region): Remove unused local
 +      that was recently introduced.
 +
 +2011-07-23  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xfns.c (unwind_create_frame) [GLYPH_DEBUG]: Adapt to changes in
 +      2008-02-22T17:42:09Z!monnier@iro.umontreal.ca.
 +
 +      * xdisp.c (move_it_in_display_line_to): Record the best matching
 +      position for TO_CHARPOS while scanning the line, and restore it on
 +      exit if none of the characters scanned was an exact match.
 +      Fixes vertical-motion and pos-visible-in-window-p under bidi redisplay
 +      when exact match is impossible due to invisible text, and the
 +      lines are truncated.
 +
 +2011-07-23  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (initFrameFromEmacs): Set NSTitledWindowMask in styleMask
 +      for OSX >= 10.7.
 +
 +2011-07-22  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Fix a significant slow-down of cursor motion with C-n, C-p,
 +      C-f/C-b, and C-v/M-v that couldn't keep up with keyboard
 +      auto-repeat under bidi redisplay in fontified buffers.
 +      * xdisp.c (compute_stop_pos_backwards): New function.
 +      (next_element_from_buffer): Call compute_stop_pos_backwards to
 +      find a suitable prev_stop when we find ourselves before
 +      base_level_stop.
 +      (reseat): Don't look for prev_stop, as that could mean a very long
 +      run.
 +      <cached_disp_pos, cached_disp_buffer, cached_disp_modiff>
 +      <cached_disp_overlay_modiff>: Cache for last found display string
 +      position.
 +      (compute_display_string_pos): Return the cached position if asked
 +      about the same buffer in the same area of character positions, and
 +      the buffer wasn't changed since the time the display string
 +      position was cached.
  
 -2007-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-22  Eli Zaretskii  <eliz@gnu.org>
  
 -      * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
 -      (find_symbol_value): Use do_symval_forwarding.
 +      * xdisp.c (rows_from_pos_range): Don't ignore glyphs whose object
 +      is an integer, which is important for empty lines.  (Bug#9149)
  
 -      * data.c (set_internal): Set the value in the `cons-cell' (for
 -      Buffer_Local_values) not only for frame-local variables.
 +2011-07-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-11-22  Andreas Schwab  <schwab@suse.de>
 +      * frame.c (Fmodify_frame_parameters): In tty case, update the
 +      default face if necessary (Bug#4238).
  
 -      * 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.
 +2011-07-21  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-11-22  Jan Djärv  <jan.h.d@swipnet.se>
 +      * editfns.c (Fstring_to_char): No need to explain what a character
 +      is in the docstring (Bug#6576).
  
 -      * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
 -      file for image is nil.
 +2011-07-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-22  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * xml.c (parse_region): Make sure we always return a tree.
  
 -      * term.c: Include stdarg.h.
 -      (fatal): Implement using varargs.
 -      * lisp.h (fatal): Add argument types.  (Restore 2005-09-30 change).
 +2011-07-20  HAMANO Kiyoto  <khiker.mail@gmail.com>
  
 -2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xml.c (parse_region): If a document contains only comments,
 +      return that, too.
  
 -      * 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.
 +2011-07-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-21  Jason Rumney  <jasonr@gnu.org>
 +      * xml.c (make_dom): Return comments, too.
  
 -      * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
 -      CreateFileMapping returns NULL on failure.
 +2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      Port to OpenBSD.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00688.html
 +      and the surrounding thread.
 +      * minibuf.c (read_minibuf_noninteractive): Rewrite to use getchar
 +      rather than fgets, and retry after EINTR.  Otherwise, 'emacs
 +      --batch -f byte-compile-file' fails on OpenBSD if an inactivity
 +      timer goes off.
 +      * s/openbsd.h (BROKEN_SIGIO): Define.
 +      * unexelf.c (unexec) [__OpenBSD__]:
 +      Don't update the .mdebug section of the Alpha COFF symbol table.
  
 -      * search.c (Fset_match_data): Remove the `evaporate' feature.
 -      (unwind_set_match_data): Don't use the `evaporate' feature.
 +2011-07-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-21  Jason Rumney  <jasonr@gnu.org>
 +      * lread.c (syms_of_lread): Clarify when `lexical-binding' is used
 +      (bug#8460).
  
 -      * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
 +2011-07-18  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * w32console.c (w32con_write_glyphs): Remove unused variables.
 +      * fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask.
 +      This fixes some race conditions on the permissions of any newly
 +      created file.
  
 -2007-11-20  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * alloc.c (valid_pointer_p): Use pipe, not open.
 +      This fixes some permissions issues when debugging.
  
 -      * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
 +      * fileio.c (Fcopy_file): Adjust mode if fchown fails.  (Bug#9002)
 +      If fchown fails to set both uid and gid, try to set just gid,
 +      as that is sometimes allowed.  Adjust the file's mode to eliminate
 +      setuid or setgid bits that are inappropriate if fchown fails.
  
 -      * s/darwin.h (MULTI_KBOARD): Remove.
 +2011-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * macfns.c (x_create_tip_frame, Fx_create_frame)
 -      (x_create_tip_frame): Don't deal with MULTI_KBOARD.
 +      * xdisp.c (next_element_from_string, next_element_from_buffer): Use EQ
 +      to compare Lisp_Objects.
 +      * gnutls.c (syms_of_gnutls): Rename Vgnutls_log_level to
 +      global_gnutls_log_level, don't mistake it for a Lisp_Object.
 +      (init_gnutls_functions, emacs_gnutls_handle_error): Fix up uses.
  
 -2007-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-17  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * 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.
 +      * lread.c (read_integer): Unread even EOF character.
 +      (read1): Likewise.  Properly record start position of symbol.
  
 -      * data.c (store_symval_forwarding, set_internal):
 -      * eval.c (specbind): Remove dead code.
 +      * lread.c (read1): Read `#:' as empty uninterned symbol if no
 +      symbol character follows.
  
 -      * 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.
 +2011-07-17  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-11-18  Jan Djärv  <jan.h.d@swipnet.se>
 +      * fileio.c (Fcopy_file): Pacify gcc re fchown.  (Bug#9002)
 +      This works around a problem with the previous change to Fcopy_file.
 +      Recent glibc declares fchown with __attribute__((warn_unused_result)),
 +      and without this change, GCC might complain about discarding
 +      fchown's return value.
  
 -      * sysdep.c (init_system_name): Use getaddrinfo if available.
 +2011-07-16  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059).
  
 -2007-11-17  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * puresize.h (BASE_PURESIZE): Increase to 1190000.
 +      * fileio.c (Fcopy_file): Don't diagnose fchown failures.  (Bug#9002)
  
 -2007-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * buffer.h (struct buffer): Move `undo_list' back to before `name'.
 -      This undoes Richard's change of 14-Oct-2002.
 +      * gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since
 +      it's used from the C level.
  
 -      * alloc.c (allocate_other_vector):
 -      * lisp.h (allocate_other_vector): Remove.
 +      * process.c: Use the same condition for POLL_FOR_INPUT in both
 +      keyboard.c and process.c (bug#1858).
  
 -      * 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.
 +2011-07-09  Lawrence Mitchell  <wence@gmx.li>
  
 -2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
 +      * gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable.
 +      (Fgnutls_boot): Use it.
  
 -      * 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.
 +2011-07-15  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2007-11-13  Juanma Barranquero  <lekktu@gmail.com>
 +      * doc.c (Fsubstitute_command_keys): Revert last change.
  
 -      * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
 -      if w32_parse_hot_key returned nil.
 +2011-07-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * doc.c (Fsubstitute_command_keys): Clarify that \= really only
 +      quotes the next character, and doesn't affect other longer
 +      sequences (bug#8935).
  
 -      * xdisp.c (load_overlay_strings): Fix copy&paste typo.
 +      * lread.c (syms_of_lread): Clarify that is isn't only
 +      `eval-buffer' and `eval-defun' that's affected by
 +      `lexical-binding' (bug#8460).
  
 -2007-11-09  Jason Rumney  <jasonr@gnu.org>
 +2011-07-15  Eli Zaretskii  <eliz@gnu.org>
  
 -      * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
 +      * xdisp.c (move_it_in_display_line_to): Fix vertical motion with
 +      bidi redisplay when a line includes both an image and is truncated.
  
 -      * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
 +2011-07-14  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
 -      Remove W32_SCROLL_BAR_CLICK_EVENT.
 +      Fix minor problems found by static checking.
 +      * bidi.c (bidi_cache_size): Now EMACS_INT, not size_t.
 +      (elsz): Now a signed constant, not a size_t var.  We prefer signed
 +      types to unsigned, to avoid integer comparison confusion.  Without
 +      this change, GCC 4.6.1 with -Wunsafe-loop-optimizations complains
 +      "cannot optimize loop, the loop counter may overflow", a symptom
 +      of the confusion.
 +      * indent.c (Fvertical_motion): Mark locals as initialized.
 +      * xdisp.c (reseat_to_string): Fix pointer signedness issue.
  
 -      * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
 -      Add MULTIMEDIA_KEY_EVENT.
 +2011-07-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * 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.
 +      * search.c (Fre_search_backward): Mention `case-fold-search' in
 +      all the re_search_* functions (bug#8138).
  
 -      * w32term.h (WM_APPCOMMAND): Define if not already.
 -      (GET_APPCOMMAND_LPARAM): Likewise.
 +      * keyboard.c (Fopen_dribble_file): Document when the file is
 +      closed (bug#8056).
  
 -      * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
 -      WM_APPCOMMAND.
 +2011-07-14  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * bidi.c (bidi_dump_cached_states): Fix format of displaying
 +      bidi_cache_idx.
  
 -2007-11-09  Chong Yidong  <cyd@stupidchicken.com>
 +      Support bidi reordering of display and overlay strings.
 +      * xdisp.c (compute_display_string_pos)
 +      (compute_display_string_end): Accept additional argument STRING.
 +      (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
 +      (reseat_to_string): Initialize bidi_it->string.s and
 +      bidi_it->string.schars.
 +      (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to
 +      NULL (avoids a crash in bidi_paragraph_init).
 +      Initialize itb.string.lstring.
 +      (init_iterator): Call bidi_init_it only of a valid
 +      buffer position was specified.  Initialize paragraph_embedding to
 +      L2R.
 +      (reseat_to_string): Initialize the bidi iterator.
 +      (display_string): If we need to ignore text properties of
 +      LISP_STRING, set IT->stop_charpos to IT->end_charpos.  (The
 +      original value of -1 will not work with bidi.)
 +      (compute_display_string_pos): First arg is now struct
 +      `text_pos *'; all callers changed.  Support display properties on
 +      Lisp strings.
 +      (compute_display_string_end): Support display properties on Lisp
 +      strings.
 +      (init_iterator, reseat_1, reseat_to_string): Initialize the
 +      string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
 +      when iterating on a string not from display properties).
 +      (compute_display_string_pos, compute_display_string_end):
 +      Fix calculation of the object to scan.  Fixes an error when using
 +      arrow keys.
 +      (next_element_from_buffer): Don't abort when IT_CHARPOS is before
 +      base_level_stop; instead, set base_level_stop to BEGV.
 +      Fixes crashes in vertical-motion.
 +      (next_element_from_buffer): Improve commentary for when
 +      the iterator is before prev_stop.
 +      (init_iterator): Initialize bidi_p from the default value of
 +      bidi-display-reordering, not from buffer-local value.  Use the
 +      buffer-local value only if initializing for buffer iteration.
 +      (handle_invisible_prop): Support invisible properties on strings
 +      that are being bidi-reordered.
 +      (set_iterator_to_next): Support bidi reordering of C strings and
 +      Lisp strings.
 +      (next_element_from_string): Support bidi reordering of Lisp
 +      strings.
 +      (handle_stop_backwards): Support Lisp strings as well.
 +      (display_string): Support display of R2L glyph rows.
 +      Use IT_STRING_CHARPOS when displaying from a Lisp string.
 +      (init_iterator): Don't initialize it->bidi_p for strings
 +      here.
 +      (reseat_to_string): Initialize it->bidi_p for strings here.
 +      (next_element_from_string, next_element_from_c_string)
 +      (next_element_from_buffer): Add xassert's for correspondence
 +      between IT's object being iterated and it->bidi_it.string
 +      structure.
 +      (face_before_or_after_it_pos): Support bidi iteration.
 +      (next_element_from_c_string): Handle the case of the first string
 +      character that is not the first one in the visual order.
 +      (get_visually_first_element): New function, refactored from common
 +      parts of next_element_from_buffer, next_element_from_string, and
 +      next_element_from_c_string.
 +      (tool_bar_lines_needed, redisplay_tool_bar)
 +      (display_menu_bar): Force left-to-right direction.  Add a FIXME
 +      comment for making that be controlled by a user option.
 +      (push_it, pop_it): Save and restore the state of the
 +      bidi iterator.  Save and restore the bidi_p flag.
 +      (pop_it): Iterate out of display property for string iteration as
 +      well.
 +      (iterate_out_of_display_property): Support iteration over strings.
 +      (handle_single_display_spec): Set up it->bidi_it for iteration
 +      over a display string, and call bidi_init_it.
 +      (handle_single_display_spec, next_overlay_string)
 +      (get_overlay_strings_1, push_display_prop): Set up the bidi
 +      iterator for displaying display or overlay strings.
 +      (forward_to_next_line_start): Don't use the shortcut if
 +      bidi-iterating.
 +      (back_to_previous_visible_line_start): If handle_display_prop
 +      pushed the iterator stack, restore the internal state of the bidi
 +      iterator by calling bidi_pop_it same number of times.
 +      (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
 +      and we are bidi-iterating, don't decrement the iterator position;
 +      instead, set the first_elt flag in the bidi iterator, to produce
 +      the same effect.
 +      (reseat_1): Remove redundant setting of string_from_display_prop_p.
 +      (push_display_prop): xassert that we are iterating a buffer.
 +      (push_it, pop_it): Save and restore paragraph_embedding member.
 +      (handle_single_display_spec, next_overlay_string)
 +      (get_overlay_strings_1, reseat_1, reseat_to_string)
 +      (push_display_prop): Set up the `unibyte' member of bidi_it.string
 +      correctly.  Don't assume unibyte strings are not bidi-reordered.
 +      (compute_display_string_pos)
 +      (compute_display_string_end): Fix handling the case of C string.
 +      (push_it, pop_it): Save and restore from_disp_prop_p.
 +      (handle_single_display_spec, push_display_prop): Set the
 +      from_disp_prop_p flag.
 +      (get_overlay_strings_1): Reset the from_disp_prop_p flag.
 +      (pop_it): Call iterate_out_of_display_property only if we are
 +      popping after iteration over a string that came from a display
 +      property.  Fix a typo in popping stretch info.  Add an assertion
 +      for verifying that the iterator position is in sync with the bidi
 +      iterator.
 +      (handle_single_display_spec, get_overlay_strings_1)
 +      (push_display_prop): Fix initialization of paragraph direction for
 +      string when that of the parent object is not yet determined.
 +      (reseat_1): Call bidi_init_it to resync the bidi
 +      iterator with IT's position.  (Bug#7616)
 +      (find_row_edges): If ROW->start.pos gives position
 +      smaller than min_pos, use it as ROW->minpos.  (Bug#7616)
 +      (handle_stop, back_to_previous_visible_line_start, reseat_1):
 +      Reset the from_disp_prop_p flag.
 +      (SAVE_IT, RESTORE_IT): New macros.
 +      (pos_visible_p, face_before_or_after_it_pos)
 +      (back_to_previous_visible_line_start)
 +      (move_it_in_display_line_to, move_it_in_display_line)
 +      (move_it_to, move_it_vertically_backward, move_it_by_lines)
 +      (try_scrolling, redisplay_window, display_line): Use them when
 +      saving a temporary copy of the iterator and restoring it back.
 +      (back_to_previous_visible_line_start, reseat_1)
 +      (init_iterator): Empty the bidi cache "stack".
 +      (move_it_in_display_line_to): If iterator ended up at
 +      EOL, but we never saw any buffer positions smaller than
 +      to_charpos, return MOVE_POS_MATCH_OR_ZV.  Fixes vertical cursor
 +      motion in bidi-reordered lines.
 +      (move_it_in_display_line_to): Record prev_method and prev_pos
 +      immediately before the call to set_iterator_to_next.  Fixes cursor
 +      motion in bidi-reordered lines with stretch glyphs and strings
 +      displayed in margins.  (Bug#8133) (Bug#8867)
 +      Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
 +      TO_CHARPOS.
 +      (pos_visible_p): Support positions in bidi-reordered lines.
 +      Save and restore bidi cache.
 +
 +      * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
 +      (bidi_paragraph_info): Delete unused struct.
 +      (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
 +      (bidi_cache_start): New variable.
 +      (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
 +      to zero.
 +      (bidi_cache_fetch_state, bidi_cache_search)
 +      (bidi_cache_find_level_change, bidi_cache_iterator_state)
 +      (bidi_cache_find, bidi_peek_at_next_level)
 +      (bidi_level_of_next_char, bidi_find_other_level_edge)
 +      (bidi_move_to_visually_next): Compare cache index with
 +      bidi_cache_start rather than with zero.
 +      (bidi_fetch_char): Accept new argument STRING; all callers
 +      changed.  Support iteration over a string.  Support strings with
 +      display properties.  Support unibyte strings.  Fix the type of
 +      `len' according to what STRING_CHAR_AND_LENGTH expects.
 +      (bidi_paragraph_init, bidi_resolve_explicit_1)
 +      (bidi_resolve_explicit, bidi_resolve_weak)
 +      (bidi_level_of_next_char, bidi_move_to_visually_next):
 +      Support iteration over a string.
 +      (bidi_set_sor_type, bidi_resolve_explicit_1)
 +      (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
 +      can now be zero (for strings); special values 0 and -1 were
 +      changed to -1 and -2, respectively.
 +      (bidi_char_at_pos): New function.
 +      (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
 +      Call it instead of FETCH_MULTIBYTE_CHAR.
 +      (bidi_move_to_visually_next): Abort if charpos or bytepos were not
 +      initialized to valid values.
 +      (bidi_init_it): Don't initialize charpos and bytepos with invalid
 +      values.
 +      (bidi_level_of_next_char): Allow the sentinel "position" to pass
 +      the test for valid cached positions.  Fix the logic for looking up
 +      the sentinel state in the cache.  GCPRO the Lisp string we are
 +      iterating.
 +      (bidi_push_it, bidi_pop_it): New functions.
 +      (bidi_initialize): Initialize the bidi cache start stack pointer.
 +      (bidi_cache_ensure_space): New function, refactored from part of
 +      bidi_cache_iterator_state.  Don't assume the required size is just
 +      one BIDI_CACHE_CHUNK away.
 +      (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
 +      (bidi_count_bytes, bidi_char_at_pos): New functions.
 +      (bidi_cache_search): Don't assume bidi_cache_last_idx is
 +      always valid if bidi_cache_idx is valid.
 +      (bidi_cache_find_level_change): xassert that bidi_cache_last_idx
 +      is valid if it's going to be used.
 +      (bidi_shelve_cache, bidi_unshelve_cache): New functions.
 +      (bidi_cache_fetch_state, bidi_cache_search)
 +      (bidi_cache_find_level_change, bidi_cache_ensure_space)
 +      (bidi_cache_iterator_state, bidi_cache_find)
 +      (bidi_find_other_level_edge, bidi_cache_start_stack):
 +      All variables related to cache indices are now EMACS_INT.
  
 -      * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
 -      twice.
 +      * dispextern.h (struct bidi_string_data): New structure.
 +      (struct bidi_it): New member `string'.  Make flag members be 1-bit
 +      fields, and put them last in the struct.
 +      (compute_display_string_pos, compute_display_string_end):
 +      Update prototypes.
 +      (bidi_push_it, bidi_pop_it): Add prototypes.
 +      (struct iterator_stack_entry): New members bidi_p,
 +      paragraph_embedding, and from_disp_prop_p.
 +      (struct it): Member bidi_p is now a bit field 1 bit wide.
 +      (bidi_shelve_cache, bidi_unshelve_cache):
 +      Declare prototypes.
  
 -      * xdisp.c (handle_face_prop): Fix last change.
 +      * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
 +      (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
 +      and vector-like objects.
  
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 +      * dispnew.c (buffer_posn_from_coords): Save and restore the bidi
 +      cache around display iteration.
  
 -      * 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.
 +      * window.c (Fwindow_end, window_scroll_pixel_based)
 +      (displayed_window_lines, Frecenter): Save and restore the bidi
 +      cache around display iteration.
  
 -      * xfaces.c (face_for_overlay_string): Function renamed from
 -      face_at_buffer_position_no_overlays, and add arg OVERLAY.
 +2011-07-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * 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.
 +      * editfns.c (Fdelete_region): Clarify the use of the named
 +      parameters (bug#6788).
  
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 +2011-07-14  Martin Rudalics  <rudalics@gmx.at>
  
 -      * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
 -      to get the base face for an overlay string.
 +      * indent.c (Fvertical_motion): Set and restore w->pointm when
 +      saving and restoring the window's buffer (Bug#9006).
  
 -      * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
 +2011-07-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * xfaces.c (face_at_buffer_position_no_overlays): New function.
 +      * editfns.c (Fstring_to_char): Clarify just what is returned
 +      (bug#6576).  Text by Eli Zaretskii.
  
 -      * xdisp.c (handle_stop): Move some code out of loop.
 +2011-07-13  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059).
  
 -      * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
 -      Fix conversion from Lisp object to ATSUFontID.
 +2011-07-13  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-11-09  Jason Rumney  <jasonr@gnu.org>
 +      * buffer.c (mmap_find): Fix a typo.
  
 -      * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
 +2011-07-13  Johan BockgÃ¥rd  <bojohan@gnu.org>
  
 -2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      Fix execution of x selection hooks.
 +      * xselect.c (Qx_lost_selection_functions)
 +      (Qx_sent_selection_functions): New vars.
 +      (syms_of_xselect): DEFSYM them.
 +      (x_handle_selection_request): Pass Qx_sent_selection_functions
 +      rather than Vx_sent_selection_functions to Frun_hook_with_args.
 +      (x_handle_selection_clear,x_clear_frame_selections):
 +      Pass Qx_lost_selection_functions rather than
 +      Vx_lost_selection_functions to Frun_hook_with_args.
  
 -      * 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.
 +2011-07-13  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 +      * buffer.c (Fget_buffer_create): Initialize inhibit_shrinking.
 +      The old code sometimes used this field without initializing it.
  
 -      * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
 +      * alloc.c (gc_sweep): Don't read past end of array.
 +      In theory, the old code could also have corrupted Emacs internals,
 +      though it'd be very unlikely.
  
 -2007-11-07  Jason Rumney  <jasonr@gnu.org>
 +2011-07-12  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * s/windows95.h: Remove.
 +      * character.c (Fcharacterp): Don't advertise optional ignored
 +      argument.  (Bug#4026)
  
 -2007-11-06  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-07-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
 -      abort with a message on unhandled store_type values.
 +      * keymap.c (syms_of_keymap): Clarify that "modifier" is "modifier
 +      key" (bug#4257).
  
 -2007-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 +      * window.c (Fset_window_start): Doc fix (bug#4199).
 +      (Fset_window_hscroll): Ditto.
  
 -      * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
 -      Remove HAVE_X11R5 and HAVE_X11R4.
 +2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
 +      Fix minor new problems caught by GCC 4.6.1.
 +      * term.c (init_tty): Remove unused local.
 +      * xsettings.c (store_monospaced_changed): Define this function only
 +      if (defined HAVE_GSETTINGS || defined HAVE_GCONF), as it's
 +      not used otherwise.
  
 -      * Makefile.in: Remove references to sunfns.c and sunfns.o.
 +2011-07-12  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-11-01  Johan BockgÃ¥rd  <bojohan@gnu.org>
 +      * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300).
  
 -      * 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.
 +2011-07-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows
 +      are the mini-buffer and the echo area (bug#3320).
  
 -      * sunfns.c: Remove file.
 +      * term.c (init_tty): Remove support for supdup, c10 and perq
 +      terminals, which are no longer supported (bug#1482).
  
 -      * m/sun386.h:
 -      * m/sun2.h:
 -      * m/sparc.h: Remove Sun windows code.
 +2011-07-10  Johan BockgÃ¥rd  <bojohan@gnu.org>
  
 -2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check.
  
 -      * 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.
 +2011-07-10  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event
 +      for non-popups (Bug#3642).
  
 -      * 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.
 +2011-07-10  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * dispnew.c (syms_of_display): Don't mention version 10.
 +      * alloc.c (reset_malloc_hooks): Protoize.
 +      * buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge)
 +      (mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Likewise.
 +      * cm.c (losecursor): Likewise.
 +      * data.c (fmod): Likewise.
 +      * dispnew.c (swap_glyphs_in_rows): Likewise.
 +      * emacs.c (memory_warning_signal): Likewise.
 +      * floatfns.c (float_error): Likewise.
 +      * font.c (check_gstring, check_otf_features, otf_tag_symbol)
 +      (otf_open, font_otf_capability, generate_otf_features)
 +      (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
 +      Likewise.
 +      * image.c (pbm_read_file): Likewise.
 +      * indent.c (string_display_width): Likewise.
 +      * intervals.c (check_for_interval, search_for_interval)
 +      (inc_interval_count, count_intervals, root_interval)
 +      (adjust_intervals_for_insertion, make_new_interval): Likewise.
 +      * lread.c (defalias): Likewise.
 +      * ralloc.c (r_alloc_check): Likewise.
 +      * regex.c (set_image_of_range_1, set_image_of_range)
 +      (regex_grow_registers): Likewise.
 +      * sysdep.c (strerror): Likewise.
 +      * termcap.c (valid_filename_p, tprint, main): Likewise.
 +      * tparam.c (main): Likewise.
 +      * unexhp9k800.c (run_time_remap, save_data_space)
 +      (update_file_ptrs, read_header, write_header, calculate_checksum)
 +      (copy_file, copy_rest, display_header): Likewise.
 +      * widget.c (mark_shell_size_user_specified, create_frame_gcs):
 +      Likewise.
 +      * xdisp.c (check_it): Likewise.
 +      * xfaces.c (register_color, unregister_color, unregister_colors):
 +      Likewise.
 +      * xfns.c (print_fontset_result): Likewise.
 +      * xrdb.c (member, fatal, main): Likewise.
  
 -2007-10-28  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-10  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * makefile.w32-in (OBJ1): Remove abbrev.$(O).
 -      ($(BLD)/abbrev.$(O)): Remove.
 +      Fix minor problems found by static checking (Bug#9031).
 +      * chartab.c (char_table_set_range, map_sub_char_table):
 +      Remove unused locals.
 +      (uniprop_table): Now static.
 +      * composite.c (_work_char): Remove unused static var.
  
 -2007-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-09  Juanma Barranquero  <lekktu@gmail.com>
  
 -      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.
 +      * chartab.c (uniprop_table_uncompress): Remove unused local variable.
  
 -2007-10-26  Martin Rudalics  <rudalics@gmx.at>
 +2011-07-09  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * window.c (window_min_size_2): Don't count header-line.
 +      * gtkutil.c (qttip_cb): Remove code without function.
  
 -2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-07-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * w32.c (pthread_sigmask): New stub.
  
 -2007-10-26  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
 +      Use pthread_sigmask, not sigprocmask (Bug#9010).
 +      sigprocmask is portable only for single-threaded applications, and
 +      Emacs can be multi-threaded when it uses GTK.
 +      * Makefile.in (LIB_PTHREAD_SIGMASK): New macro.
 +      (LIBES): Use it.
 +      * callproc.c (Fcall_process):
 +      * process.c (create_process):
 +      * sysdep.c (sys_sigblock, sys_sigunblock, sys_sigsetmask):
 +      Use pthread_sigmask, not sigprocmask.
  
 -      * 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.
 +2011-07-08  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * frame.c (syms_of_frame) <delete-frame-functions>:
 -      Fix typo in docstring.
 +      * gtkutil.c (qttip_cb): Set line wrap to FALSE for tooltip widget.
 +      (xg_prepare_tooltip): Revert text in x->ttip_lbl, margins was
 +      wrong (Bug#8591).
  
 -2007-10-25  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-08  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * w32.c (init_environment): Fix tiny memory leak.
 -      (w32_get_resource): Remove unused variable `ok'.
 +      * gtkutil.c (xg_prepare_tooltip): Fix indentation and comment.
 +      Put text in x->ttip_lbl instead of gtk_tooltip_set_text (Bug#8591).
 +      (xg_hide_tooltip): Fix comment.
  
 -2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsterm.m (initFrameFromEmacs): Don't use ns_return_types
 +      in registerServicesMenuSendTypes.
 +      (validRequestorForSendType): Don't check ns_return_types.
  
 -      Make `window-system' into a keyboard-local variable (rather than
 -      frame-local as done originally by multi-tty).
 +      * nsfns.m (Fx_open_connection): Put NSStringPboardType into
 +      ns_return_type.
  
 -      * keyboard.h (struct kboard): Add Vwindow_system.
 -      * keyboard.c (init_kboard): Set a default for Vwindow_system.
 -      (mark_kboards): Mark Vwindow_system.
 +2011-07-08  Jason Rumney  <jasonr@gnu.org>
  
 -      * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
 -      (init_display): Don't set the obsolete `window-system' frame-param.
 +      * w32term.c (x_make_frame_visible): Use SH_SHOWNORMAL rather than
 +      SH_SHOW for hidden windows (Bug#5482).
  
 -      * 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.
 +      * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using
 +      frame struct members of non-existent frames (Bug#6284).
  
 -      * 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.
 +2011-07-08  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * 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.
 +      * nsterm.m (keyDown): Call to wantsToDelayTextChangeNotifications and
 +      variable firstTime not needed on OSX >= 10.6.
 +      (setPosition): setFloatValue:knobProportion: is deprecated on OSX
 +      >= 10.5.  Use setKnobProportion, setDoubleValue.
  
 -2007-10-24  Richard Stallman  <rms@gnu.org>
 +      * nsterm.h (MAC_OS_X_VERSION_10_3, MAC_OS_X_VERSION_10_4)
 +      (MAC_OS_X_VERSION_10_5): Define if not defined.
 +      (EmacsView, EmacsTooltip): Implements NSWindowDelegate on OSX >= 10.6.
 +      (EmacsMenu): Implements NSMenuDelegate on OSX >= 10.6.
 +      (EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6.
  
 -      * frame.c (x_figure_window_size): For fullscreen case,
 -      set USPosition | PPosition without clobbering rest of window_prompting.
 +      * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
 +      cString and lossyCString on OSX >= 10.4
  
 -      * keyboard.c (Fcurrent_idle_time): Doc fix.
 +      * nsmenu.m (fillWithWidgetValue): Don't use deprecated method
 +      sizeToFit on OSX >= 10.2.
  
 -      * print.c (Fwith_output_to_temp_buffer): Doc fix.
 +      * nsimage.m (allocInitFromFile): Don't use deprecated method
 +      bestRepresentationForDevice on OSX >= 10.6.
  
 -2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsfns.m (check_ns_display_info): Cast to long and use %ld in error
 +      to avoid warning.
  
 -      * process.c (unwind_request_sigio): Only define if __ultrix__.
 +      * emacs.c: Declare unexec_init_emacs_zone.
  
 -      * callproc.c (child_setup): Remove spurious *.
 +      * nsgui.h: Fix compiler warning about gnulib redefining verify.
  
 -      * 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.
 +      * nsselect.m (ns_get_local_selection): Change to extern (Bug#8842).
  
 -      * 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.
 +      * nsmenu.m (ns_update_menubar): Remove useless setDelegate call
 +      on svcsMenu (Bug#8842).
  
 -2007-10-22  Jason Rumney  <jasonr@gnu.org>
 +      * nsfns.m (Fx_open_connection): Remove NSStringPboardType from
 +      ns_return_types.
 +      (Fns_list_services): Just return Qnil on 10.6, code not working there.
  
 -      * w32fns.c: Include math.h.
 -      (w32_abort): Declaration moved to nt/config.nt.
 +      * nsterm.m (QUTF8_STRING): Declare.
 +      (initFrameFromEmacs): Call registerServicesMenuSendTypes.
 +      (validRequestorForSendType): Return type is (id).
 +      Change indexOfObjectIdenticalTo to indexOfObject.
 +      Check if we have local selection before returning self (Bug#8842).
 +      (writeSelectionToPasteboard): Put local selection into paste board
 +      if we have a local selection (Bug#8842).
 +      (syms_of_nsterm): DEFSYM QUTF8_STRING.
  
 -      * s/ms-w32.h (HAVE_STDLIB_H): Define.
 -      (abort): Redefinition moved to nt/config.nt.
 +      * nsterm.h (MAC_OS_X_VERSION_10_6): Define here instead of nsterm.m.
 +      (ns_get_local_selection): Declare.
  
 -      * m/windowsnt.h: Remove.
 +2011-07-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-10-22  Juanma Barranquero  <lekktu@gmail.com>
 +      * keymap.c (describe_map_tree): Don't insert a double newline at
 +      the end of the buffer (bug#1169) and return whether we inserted
 +      something.
  
 -      * emacs.c (Fdump_emacs): Fix typo in message.
 -      (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
 -      <installation-directory>: Reflow docstring.
 +      * callint.c (Fcall_interactively): Change "reading args" to
 +      "providing args" to try to clarify what it does (bug#1010).
  
 -2007-10-22  Juri Linkov  <juri@jurta.org>
 +2011-07-07  Kenichi Handa  <handa@m17n.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.
 +      * composite.c (composition_compute_stop_pos): Ignore a static
 +      composition starting before CHARPOS (Bug#8915).
  
 -2007-10-21  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (handle_composition_prop): Likewise.
  
 -      * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
 +2011-07-07  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-10-20  Juanma Barranquero  <lekktu@gmail.com>
 +      * term.c (produce_glyphs) <xassert>: Allow IT_GLYPHLESS in it->what.
 +      (Bug#9015)
  
 -      * doc.c (Fdocumentation): Check for advice in all cases.
 +2011-07-07  Kenichi Handa  <handa@m17n.org>
  
 -2007-10-19  Chong Yidong  <cyd@stupidchicken.com>
 +      * character.h (unicode_category_t): New enum type.
 +
 +      * chartab.c (uniprop_decoder_t, uniprop_encoder_t): New types.
 +      (Qchar_code_property_table): New variable.
 +      (UNIPROP_TABLE_P, UNIPROP_GET_DECODER)
 +      (UNIPROP_COMPRESSED_FORM_P): New macros.
 +      (char_table_ascii): Uncompress the compressed values.
 +      (sub_char_table_ref): New arg is_uniprop.  Callers changed.
 +      Uncompress the compressed values.
 +      (sub_char_table_ref_and_range): Likewise.
 +      (char_table_ref_and_range): Uncompress the compressed values.
 +      (sub_char_table_set): New arg is_uniprop.  Callers changed.
 +      Uncompress the compressed values.
 +      (sub_char_table_set_range): Args changed.  Callers changed.
 +      (char_table_set_range): Adjuted for the above change.
 +      (map_sub_char_table): Delete args default_val and parent.  Add arg
 +      top.  Give decoded values to a Lisp function.
 +      (map_char_table): Adjust for the above change.  Give decoded
 +      values to a Lisp function.  Gcpro more variables.
 +      (uniprop_table_uncompress)
 +      (uniprop_decode_value_run_length): New functions.
 +      (uniprop_decoder, uniprop_decoder_count): New variables.
 +      (uniprop_get_decoder, uniprop_encode_value_character)
 +      (uniprop_encode_value_run_length, uniprop_encode_value_numeric):
 +      New functions.
 +      (uniprop_encoder, uniprop_encoder_count): New variables.
 +      (uniprop_get_encoder, uniprop_table)
 +      (Funicode_property_table_internal, Fget_unicode_property_internal)
 +      (Fput_unicode_property_internal): New functions.
 +      (syms_of_chartab): DEFSYM Qchar_code_property_table, defsubr
 +      Sunicode_property_table_internal, Sget_unicode_property_internal,
 +      and Sput_unicode_property_internal.  Defvar_lisp
 +      char-code-property-alist.
 +
 +      * composite.c (CHAR_COMPOSABLE_P): Adjust for the change of
 +      Vunicode_category_table.
 +
 +      * font.c (font_range): Adjust for the change of
 +      Vunicode_category_table.
 +
 +2011-07-07  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * m/iris4d.h: Remove file, move contents ...
 +      * s/irix6-5.h: ... here.
 +
 +2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove unportable assumption about struct layout (Bug#8884).
 +      * alloc.c (mark_buffer):
 +      * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables)
 +      (clone_per_buffer_values): Don't assume that
 +      sizeof (struct buffer) is a multiple of sizeof (Lisp_Object).
 +      This isn't true in general, and it's particularly not true
 +      if Emacs is configured with --with-wide-int.
 +      * buffer.h (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER):
 +      New macros, used in the buffer.c change.
 +
 +2011-07-05  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xsettings.c: Use both GConf and GSettings if both are available.
 +      (store_config_changed_event): Add comment.
 +      (dpyinfo_valid, store_font_name_changed, map_tool_bar_style)
 +      (store_tool_bar_style_changed): New functions.
 +      (store_monospaced_changed): Add comment.  Call dpyinfo_valid.
 +      (struct xsettings): Move font inside HAVE_XFT.
 +      (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines.
 +      (GSETTINGS_MONO_FONT): Rename from SYSTEM_MONO_FONT.
 +      Move inside HAVE_XFT.
 +      (something_changed_gsettingsCB): Rename from something_changedCB.
 +      Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME
 +      also.
 +      (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines.
 +      (GCONF_MONO_FONT): Rename from SYSTEM_MONO_FONT.  Move inside HAVE_XFT.
 +      (something_changed_gconfCB): Rename from something_changedCB.
 +      Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also.
 +      (parse_settings): Move check for font inside HAVE_XFT.
 +      (read_settings, apply_xft_settings): Add comment.
 +      (read_and_apply_settings): Add comment.  Call map_tool_bar_style and
 +      store_tool_bar_style_changed.  Move check for font inside HAVE_XFT and
 +      call store_font_name_changed.
 +      (xft_settings_event): Add comment.
 +      (init_gsettings): Add comment.  Get values for GSETTINGS_TOOL_BAR_STYLE
 +      and GSETTINGS_FONT_NAME.  Move check for fonts within HAVE_XFT.
 +      (init_gconf): Add comment.  Get values for GCONF_TOOL_BAR_STYLE
 +      and GCONF_FONT_NAME.  Move check for fonts within HAVE_XFT.
 +      (xsettings_initialize): Call init_gsettings last.
 +      (xsettings_get_system_font, xsettings_get_system_normal_font):
 +      Add comment.
 +
 +2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Random fixes.  E.g., (random) never returned negative values.
 +      * fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the
 +      subseconds part to the entropy, as that's a bit more random.
 +      Prefer signed to unsigned, since the signedness doesn't matter and
 +      in general we prefer signed.  When given a limit, use a
 +      denominator equal to INTMASK + 1, not to VALMASK + 1, because the
 +      latter isn't right if USE_2_TAGS_FOR_INTS.
 +      * sysdep.c (get_random): Return a value in the range 0..INTMASK,
 +      not 0..VALMASK.  Don't discard "excess" bits that random () returns.
 +
 +2011-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * textprop.c (text_property_stickiness):
 +      Obey Vtext_property_default_nonsticky.
 +      (syms_of_textprop): Add `display' to Vtext_property_default_nonsticky.
 +      * w32fns.c (syms_of_w32fns):
 +      * xfns.c (syms_of_xfns): Don't Add `display' since it's there by default.
  
 -      * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
 +2011-07-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-10-19  Richard Stallman  <rms@gnu.org>
 +      * fileio.c (barf_or_query_if_file_exists): Use S_ISDIR.
 +      This is more efficient than Ffile_directory_p and avoids a minor race.
  
 -      * doc.c (Fdocumentation): Check for and handle an advised function.
 +2011-07-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-10-19  Juanma Barranquero  <lekktu@gmail.com>
 +      * buffer.c (Foverlay_put): Say what the return value is
 +      (bug#7835).
  
 -      * process.c (Fset_process_filter): Doc fix.
 +      * fileio.c (barf_or_query_if_file_exists): Check first if the file
 +      is a directory before asking whether to use the file name
 +      (bug#7564).
 +      (barf_or_query_if_file_exists): Make the "File is a directory"
 +      error be more correct.
  
 -2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * fns.c (Frequire): Remove the mention of the .gz files, since
 +      that's installation-specific, but keep the mention of
 +      `get-load-suffixes'.
  
 -      * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
 -      which caused key-translation-map to applied repeatedly (thus breaking
 -      double-mode).
 +2011-07-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * editfns.c (Fformat_time_string): Don't assume strlen fits in int.
 +      Report string overflow if the output is too long.
  
 -      * 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.
 +2011-07-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-10-17  Chong Yidong  <cyd@stupidchicken.com>
 +      * gnutls.c (Fgnutls_boot): Don't mention :verify-error.
 +      (syms_of_gnutls): Remove duplicate DEFSYM for
 +      Qgnutls_bootprop_verify_hostname_error, an error for
 +      Qgnutls_bootprop_verify_error (which is no longer used).
  
 -      * process.c: Link to libs for calling res_init() if available.
 -      (Fmake_network_process): Call res_init() before getaddrinfo or
 -      gethostbyname, if possible.
 +      * eval.c (find_handler_clause): Remove parameters `sig' and `data',
 +      unused since 2011-01-26T20:02:07Z!monnier@iro.umontreal.ca.  All callers changed.
 +      Also (re)move comments that are misplaced or no longer relevant.
  
 -2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * lread.c (read1): Set pvectype for char_tables.
 +      * callint.c (Finteractive): Clarify the meaning of "@" (bug#8813).
  
 -      * 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.
 +2011-07-03  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * alloc.c (free_misc): Use XMISCTYPE.
 -      (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
 +      * xfaces.c (Finternal_merge_in_global_face): Modify the foreground
 +      and background color parameters if they have been changed.
  
 -2007-10-17  Glenn Morris  <rgm@gnu.org>
 +2011-07-03  Lars Magne Ingebrigtsen  <larsi@gnus.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.
 +      * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659).
  
 -      * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
 -      (Fread_coding_system): Ignore case of user input.
 +2011-07-03  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xsettings.c (SYSTEM_FONT): Define only when used.
 +      No need to define when HAVE_GSETTINGS || !HAVE_XFT.
  
 -      * 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.
 +      * keymap.c (access_keymap_1): Now static.
  
 -2007-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-02  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * keyboard.c (command_loop_1): If a down-mouse event is unbound,
 +      leave any prefix arg for the up event (Bug#1586).
  
 -      * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
 +2011-07-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * 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.
 +      * lread.c (syms_of_lread): Mention single symbols defined by
 +      `defvar' or `defconst' (bug#7154).
  
 -      * doc.c (Fsnarf_documentation): Simplify.
 +      * fns.c (Frequire): Mention .el.gz files (bug#7314).
 +      (Frequire): Mention get-load-suffixes.
  
 -2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-02  Martin Rudalics  <rudalics@gmx.at>
  
 -      * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
 -      (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
 +      * window.h (window): Remove clone_number slot.
 +      * window.c (Fwindow_clone_number, Fset_window_clone_number):
 +      Remove.
 +      (make_parent_window, make_window, saved_window)
 +      (Fset_window_configuration, save_window_save): Don't deal with
 +      clone numbers.
 +      * buffer.c (Qclone_number): Remove declaration.
 +      (sort_overlays, overlay_strings): Don't deal with clone numbers.
  
 -2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
 +      Add multiple inheritance to keymaps.
 +      * keymap.c (Fmake_composed_keymap): New function.
 +      (Fset_keymap_parent): Simplify.
 +      (fix_submap_inheritance): Remove.
 +      (access_keymap_1): New function extracted from access_keymap to handle
 +      embedded parents and handle lists of maps.
 +      (access_keymap): Use it.
 +      (Fkeymap_prompt, map_keymap_internal, map_keymap, store_in_keymap)
 +      (Fcopy_keymap): Handle embedded parents.
 +      (Fcommand_remapping, define_as_prefix): Simplify.
 +      (Fkey_binding): Simplify.
 +      (syms_of_keymap): Move minibuffer-local-completion-map,
 +      minibuffer-local-filename-completion-map,
 +      minibuffer-local-must-match-map, and
 +      minibuffer-local-filename-must-match-map to Elisp.
 +      (syms_of_keymap): Defsubr make-composed-keymap.
 +      * keyboard.c (menu_bar_items): Use map_keymap_canonical.
 +      (parse_menu_item): Trivial simplification.
  
 -2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-01  Glenn Morris  <rgm@gnu.org>
  
 -      * eval.c (do_autoload): Don't save autoloads.
 +      * Makefile.in (SETTINGS_LIBS): Fix typo.
  
 -      * data.c (Ffset): Save autoload of the function being set.
 +2011-07-01  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny patch)
  
 -2007-10-07  John Paul Wallington  <jpw@pobox.com>
 +      * coding.c (Fencode_coding_string): Record the last coding system
 +      used, as the function doc string says (bug#8738).
  
 -      * xfns.c (x_create_tip_frame): Set the `display-type' frame
 -      parameter before setting up faces.
 +2011-07-01  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-10-13  Eli Zaretskii  <eliz@gnu.org>
 +      * xsettings.c (store_monospaced_changed): Take new font as arg and
 +      check for change against current_mono_font.
 +      (EMACS_TYPE_SETTINGS): Remove this and related defines.
 +      (emacs_settings_constructor, emacs_settings_get_property)
 +      (emacs_settings_set_property, emacs_settings_class_init)
 +      (emacs_settings_init, gsettings_obj): Remove.
 +      (something_changedCB): New function for HAVE_GSETTINGS.
 +      (something_changedCB): HAVE_GCONF: Call store_monospaced_changed
 +      with value as argument.
 +      (init_gsettings): Check that GSETTINGS_SCHEMA exists before calling
 +      g_settings_new (Bug#8967).  Do not create gsettings_obj.
 +      Remove calls to g_settings_bind.  Connect something_changedCB to
 +      "changed".
  
 -      * ccl.c (Fregister_code_conversion_map):
 -      * keyboard.c (append_tool_bar_item): Reformat last change.
 +      * xgselect.c: Add defined (HAVE_GSETTINGS).
 +      (xgselect_initialize): Ditto.
  
 -      * lisp.h (eabs): Rename from `abs'.  All callers changed.
 +      * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h
 +      (wait_reading_process_output): Add defined (HAVE_GSETTINGS) for
 +      xg_select.
  
 -2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +2011-07-01  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * eval.c (struct backtrace): Simplify and port the data structure.
 +      Do not assume that "int nargs : BITS_PER_INT - 2;" produces a
 +      signed bit field, as this assumption is not portable and it makes
 +      Emacs crash when compiled with Sun C 5.8 on sparc.  Do not use
 +      "char debug_on_exit : 1" as this is not portable either; instead,
 +      use the portable "unsigned int debug_on_exit : 1".  Remove unused
 +      member evalargs.  Remove obsolete comments about cc bombing out.
 +
 +2011-06-30  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS.
 +      Let HAVE_GSETTINGS override HAVE_GCONF.
 +      (store_monospaced_changed): New function.
 +      (EMACS_SETTINGS): A new type derived from GObject to handle
 +      GSettings notifications.
 +      (emacs_settings_constructor, emacs_settings_get_property)
 +      (emacs_settings_set_property, emacs_settings_class_init):
 +      New functions.
 +      (gsettings_client, gsettings_obj): New variables.
 +      (GSETTINGS_SCHEMA): New define.
 +      (something_changedCB): Call store_monospaced_changed.
 +      (init_gsettings): New function.
 +      (xsettings_initialize): Call init_gsettings.
 +      (syms_of_xsettings): Initialize gsettings_client, gsettings_obj
 +      to NULL.
  
 -2007-10-13  Eli Zaretskii  <eliz@gnu.org>
 +      * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Rename from
 +      GCONF_CFLAGS/LIBS.
  
 -      * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
 -      selected frame'' on MSDOS).
 +2011-06-29  Martin Rudalics  <rudalics@gmx.at>
  
 -2007-10-12  Martin Rudalics  <rudalics@gmx.at>
 +      * window.c (resize_root_window, grow_mini_window)
 +      (shrink_mini_window): Rename Qresize_root_window to
 +      Qwindow_resize_root_window and Qresize_root_window_vertically to
 +      Qwindow_resize_root_window_vertically.
  
 -      * frame.c (Qexplicit_name): New variable.
 -      (x_report_frame_params): Report it in parameter alist.
 -      (syms_of_frame): Intern and staticpro it.
 +2011-06-28  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)
 +      * gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var.
  
 -      * macfns.c (x_create_tip_frame): Set terminal for frame.
 +2011-06-27  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * makefile.w32-in: Redesign dependencies so they reflect more
 +      clearly which files are directly included by each source file,
 +      and not through other includes.
  
 -      * 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.
 +2011-06-27  Martin Rudalics  <rudalics@gmx.at>
  
 -      * frame.c (Fframe_with_environment): Remove.
 -      (syms_of_frame) <Sframe_with_environment>: Don't declare.
 +      * buffer.c (Qclone_number): Declare static and DEFSYM it.
 +      (sort_overlays, overlay_strings): When an overlay's clone number
 +      matches the window's clone number process the overlay even if
 +      the overlay's window property doesn't match the current window.
  
 -      * lisp.h (Fframe_with_environment): Don't declare.
 +      * window.c (Fwindow_vchild): Rename to Fwindow_top_child.
 +      (Fwindow_hchild): Rename to Fwindow_left_child.
 +      (Fwindow_next): Rename to Fwindow_next_sibling.
 +      (Fwindow_prev): Rename to Fwindow_prev_sibling.
 +      (resize_window_check): Rename to window_resize_check.
 +      (resize_window_apply): Rename to window_resize_apply.
 +      (Fresize_window_apply): Rename to Fwindow_resize_apply.
 +      (Fdelete_other_windows_internal, resize_frame_windows)
 +      (Fsplit_window_internal, Fdelete_window_internal)
 +      (grow_mini_window, shrink_mini_window)
 +      (Fresize_mini_window_internal): Fix callers accordingly.
  
 -2007-10-10  Juanma Barranquero  <lekktu@gmail.com>
 +2011-06-26  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * 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.
 +      * emacsgtkfixed.h: State that this is only used with Gtk+3.
 +      (emacs_fixed_set_min_size): Remove.
 +      (emacs_fixed_new): Take frame as argument.
  
 -2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
 +      * emacsgtkfixed.c: State that this is only used with Gtk+3.
 +      (_EmacsFixedPrivate): Remove minwidth/height.
 +      Add struct frame *f.
 +      (emacs_fixed_init): Initialize priv->f.
 +      (get_parent_class, emacs_fixed_set_min_size): Remove.
 +      (emacs_fixed_new): Set priv->f to argument.
 +      (emacs_fixed_get_preferred_width)
 +      (emacs_fixed_get_preferred_height): Use min_width/height from
 +      frames size_hint to set minimum and natural (Bug#8919).
 +      (XSetWMSizeHints, XSetWMNormalHints): Override these functions
 +      and use min_width/height from frames size_hint to set
 +      min_width/height (Bug#8919).
  
 -      * puresize.h (BASE_PURESIZE): Increase to 1170000.
 +      * gtkutil.c (xg_create_frame_widgets): Pass f to emacs_fixed_new.
 +      (x_wm_set_size_hint): Remove call to emacs_fixed_set_min_size.
 +      Fix indentation.
  
 -2007-10-09  Jason Rumney  <jasonr@gnu.org>
 +2011-06-26  Eli Zaretskii  <eliz@gnu.org>
  
 -      * w32term.c (x_set_window_size): Disable code that attempts to tell
 -      Lisp code about a size change before it actually happens.
 +      * bidi.c (bidi_paragraph_init): Test for ZV_BYTE before calling
 +      bidi_at_paragraph_end, since fast_looking_at doesn't like to be
 +      called at ZV.
  
 -2007-10-09  Richard Stallman  <rms@gnu.org>
 +2011-06-26  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
 -      return HANDLED_RETURN.
 +      * process.c (wait_reading_process_output): Bypass select if
 +      waiting for a cell while ignoring keyboard input, and input is
 +      pending.  Suggested by Jan Djärv (Bug#8869).
  
 -2007-10-08  Martin Rudalics  <rudalics@gmx.at>
 +2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
 -      when there's an unread command event.
 +      Use gnulib's dup2 module instead of rolling our own.
 +      * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this.
  
 -      * 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.
 +2011-06-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * dispnew.c (scrolling_window): Before scrolling, turn off a
 +      mouse-highlight in the window being scrolled.
  
 -      * macterm.c (mac_load_query_font): Fix missing return value.
 -      [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
 -      Add BLOCK_INPUT.
 +2011-06-24  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 +      Move DEFSYM to lisp.h and use everywhere.
  
 -      * xdisp.c (get_window_cursor_type): Implement documented behavior
 -      for cursor-in-non-selected-windows = t.
 +      * character.h (DEFSYM): Move declaration...
 +      * lisp.h (DEFSYM): ...here.
  
 -2007-10-08  Jason Rumney  <jasonr@gnu.org>
 +      * gnutls.c:
 +      * minibuf.c:
 +      * w32menu.c:
 +      * w32proc.c:
 +      * w32select.c: Don't include character.h.
  
 -      * w32.c (w32_get_resource): Always close registry keys.
 +      * alloc.c (syms_of_alloc):
 +      * buffer.c (syms_of_buffer):
 +      * bytecode.c (syms_of_bytecode):
 +      * callint.c (syms_of_callint):
 +      * casefiddle.c (syms_of_casefiddle):
 +      * casetab.c (init_casetab_once):
 +      * category.c (init_category_once, syms_of_category):
 +      * ccl.c (syms_of_ccl):
 +      * cmds.c (syms_of_cmds):
 +      * composite.c (syms_of_composite):
 +      * dbusbind.c (syms_of_dbusbind):
 +      * dired.c (syms_of_dired):
 +      * dispnew.c (syms_of_display):
 +      * doc.c (syms_of_doc):
 +      * editfns.c (syms_of_editfns):
 +      * emacs.c (syms_of_emacs):
 +      * eval.c (syms_of_eval):
 +      * fileio.c (syms_of_fileio):
 +      * fns.c (syms_of_fns):
 +      * frame.c (syms_of_frame):
 +      * fringe.c (syms_of_fringe):
 +      * insdel.c (syms_of_insdel):
 +      * keymap.c (syms_of_keymap):
 +      * lread.c (init_obarray, syms_of_lread):
 +      * macros.c (syms_of_macros):
 +      * msdos.c (syms_of_msdos):
 +      * print.c (syms_of_print):
 +      * process.c (syms_of_process):
 +      * search.c (syms_of_search):
 +      * sound.c (syms_of_sound):
 +      * syntax.c (init_syntax_once, syms_of_syntax):
 +      * terminal.c (syms_of_terminal):
 +      * textprop.c (syms_of_textprop):
 +      * undo.c (syms_of_undo):
 +      * w32.c (globals_of_w32):
 +      * window.c (syms_of_window):
 +      * xdisp.c (syms_of_xdisp):
 +      * xfaces.c (syms_of_xfaces):
 +      * xfns.c (syms_of_xfns):
 +      * xmenu.c (syms_of_xmenu):
 +      * xsettings.c (syms_of_xsettings):
 +      * xterm.c (syms_of_xterm): Use DEFSYM.
 +
 +2011-06-24  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * gnutls.c (syms_of_gnutls): Use the DEFSYM macro from character.h.
 +
 +2011-06-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer and buffer overflow fixes (Bug#8873).
 +
 +      * print.c (printchar, strout): Check for string overflow.
 +      (PRINTPREPARE, printchar, strout):
 +      Don't set size unless allocation succeeds.
 +
 +      * minibuf.c (read_minibuf_noninteractive): Use ptrdiff_t, not int,
 +      for sizes.  Check for string overflow more accurately.
 +      Simplify newline removal at end; this suppresses a GCC 4.6.0 warning.
 +
 +      * macros.c: Integer and buffer overflow fixes.
 +      * keyboard.h (struct keyboard.kbd_macro_bufsize):
 +      * macros.c (Fstart_kbd_macro, store_kbd_macro_char):
 +      Use ptrdiff_t, not int, for sizes.
 +      Don't increment bufsize until after realloc succeeds.
 +      Check for size-calculation overflow.
 +      (Fstart_kbd_macro): Use EMACS_INT, not int, for XINT result.
 +
 +      * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling.
 +
 +      * lread.c: Integer overflow fixes.
 +      (read_integer): Radix is now EMACS_INT, not int,
 +      to improve quality of diagnostics for out-of-range radices.
 +      Calculate buffer size correctly for out-of-range radices.
 +      (read1): Check for integer overflow in radices, and in
 +      read-circle numbers.
 +      (read_escape): Avoid int overflow.
 +      (Fload, openp, read_buffer_size, read1)
 +      (substitute_object_recurse, read_vector, read_list, map_obarray):
 +      Use ptrdiff_t, not int, for sizes.
 +      (read1): Use EMACS_INT, not int, for sizes.
 +      Check for size overflow.
 +
 +      * image.c (cache_image): Check for size arithmetic overflow.
 +
 +      * lread.c: Integer overflow issues.
 +      (saved_doc_string_size, saved_doc_string_length)
 +      (prev_saved_doc_string_size, prev_saved_doc_string_length):
 +      Now ptrdiff_t, not int.
 +      (read1): Don't assume doc string length fits in int.  Check for
 +      out-of-range doc string lengths.
 +      (read_list): Don't assume file position fits in int.
 +      (read_escape): Check for hex character overflow.
 +
 +2011-06-22  Leo Liu  <sdl.web@gmail.com>
 +
 +      * minibuf.c (Fcompleting_read_default, Vcompleting_read_function):
 +      Move to minibuffer.el.
 +
 +2011-06-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking.
 +      The following patches are for when GLYPH_DEBUG && !XASSERT.
 +      * dispextern.h (trace_redisplay_p, dump_glyph_string):
 +      * dispnew.c (flush_stdout):
 +      * xdisp.c (dump_glyph_row, dump_glyph_matrix, dump_glyph):
 +      Mark as externally visible.
 +      * dispnew.c (check_window_matrix_pointers): Now static.
 +      * dispnew.c (window_to_frame_vpos):
 +      * xfns.c (unwind_create_frame):
 +      * xterm.c (x_check_font): Remove unused local.
 +      * scroll.c (CHECK_BOUNDS):
 +      * xfaces.c (cache_fache): Rename local to avoid shadowing.
 +      * xfns.c, w32fns.c (image_cache_refcount, dpyinfo_refcount): Now static.
 +      * xdisp.c (check_window_end): Now a no-op if !XASSERTS.
 +      (debug_first_unchanged_at_end_vpos, debug_last_unchanged_at_beg_vpos)
 +      (debug_dvpos, debug_dy, debug_delta, debug_delta_bytes, debug_end_vpos):
 +      Now static.
 +      (debug_method_add): Use va_list and vsprintf rather than relying
 +      on undefined behavior with wrong number of arguments.
 +      (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
 +      Don't assume ptrdiff_t and EMACS_INT are the same width as int.
 +      In this code, it's OK to assume C99 behavior for ptrdiff_t formats
 +      since we're not interested in debugging glyphs with old libraries.
 +      * xfaces.c (cache_face): Move debugging code earlier; this pacifies
 +      GCC 4.6.0's static checking.
 +
 +2011-06-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer overflow and signedness fixes (Bug#8873).
 +      A few related buffer overrun fixes, too.
 +
 +      * font.c (font_score): Use EMACS_INT, not int, to store XINT value.
 +
 +      * dispextern.h (struct face.stipple):
 +      * image.c (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
 +      (x_bitmap_mask, x_allocate_bitmap_record)
 +      (x_create_bitmap_from_data, x_create_bitmap_from_file)
 +      (x_destroy_bitmap, x_destroy_all_bitmaps, x_create_bitmap_mask)
 +      (x_create_bitmap_from_xpm_data):
 +      * nsterm.h (struct ns_display_info.bitmaps_size, .bitmaps_last):
 +      * w32term.h (struct w32_display_info.icon_bitmap_id, .bitmaps_size)
 +      (.bitmaps_last):
 +      * xfaces.c (load_pixmap):
 +      * xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap):
 +      * xterm.h (struct x_display_info.icon_bitmap_id, .bitmaps_size)
 +      (.bitmaps_last, struct x_output.icon_bitmap):
 +      Use ptrdiff_t, not int, for bitmap indexes.
 +      (x_allocate_bitmap_record): Check for size overflow.
 +      * dispextern.h, lisp.h: Adjust to API changes elsewhere.
 +
 +      Use ptrdiff_t, not int, for overlay counts.
 +      * buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT):
 +      * editfns.c (overlays_around, get_pos_property):
 +      * textprop.c (get_char_property_and_overlay):
 +      * xdisp.c (next_overlay_change, note_mouse_highlight):
 +      * xfaces.c (face_at_buffer_position):
 +      * buffer.c (OVERLAY_COUNT_MAX): New macro.
 +      (overlays_at, overlays_in, sort_overlays, Foverlays_at)
 +      (Fnext_overlay_change, Fprevious_overlay_change)
 +      (mouse_face_overlay_overlaps, Foverlays_in):
 +      Use ptrdiff_t, not int, for sizes.
 +      (overlays_at, overlays_in): Check for size-calculation overflow.
 +
 +      * xterm.c (xim_initialize, same_x_server): Strlen may not fit in int.
 +
 +      * xsmfns.c (smc_save_yourself_CB, x_session_initialize): Avoid strlen.
 +      (x_session_initialize): Do not assume string length fits in int.
 +
 +      * xsettings.c (apply_xft_settings): Fix potential buffer overrun.
 +      This is unlikely, but can occur if DPI is outlandish.
 +
 +      * xsettings.c (Ffont_get_system_normal_font, Ffont_get_system_font):
 +      * xselect.c (Fx_get_atom_name): Avoid need for strlen.
 +
 +      * xrdb.c: Don't assume strlen fits in int; avoid some strlens.
 +      * xrdb.c (magic_file_p, search_magic_path):
 +      Omit last arg SUFFIX; it was always 0.  All callers changed.
 +      (magic_file_p): Use ptrdiff_t, not int.  Check for size overflow.
 +
 +      * xfont.c (xfont_match): Avoid need for strlen.
 +
 +      * xfns.c: Don't assume strlen fits in int.
 +      (xic_create_fontsetname, x_window): Use ptrdiff_t, not int.
 +
 +      * xdisp.c (message_log_check_duplicate): Return intmax_t,
 +      not unsigned long, as we prefer signed integers.  All callers changed.
 +      Detect integer overflow in repeat count.
 +      (message_dolog): Don't assume print length fits in 39 bytes.
 +      (display_mode_element): Don't assume strlen fits in int.
 +
 +      * termcap.c: Don't assume sizes fit in int and never overflow.
 +      (struct termcap_buffer, tgetent): Use ptrdiff_t, not int, for sizes.
 +      (gobble_line): Check for size-calculation overflow.
 +
 +      * minibuf.c (Fread_buffer):
 +      * lread.c (intern, intern_c_string):
 +      * image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]:
 +      Don't assume string length fits in int.
 +
 +      * keyboard.c (parse_tool_bar_item):
 +      * gtkutil.c (style_changed_cb): Avoid need for strlen.
 +
 +      * font.c: Don't assume string length fits in int.
 +      (font_parse_xlfd, font_parse_fcname, font_unparse_fcname):
 +      Use ptrdiff_t, not int.
 +      (font_intern_prop): Don't assume string length fits in int.
 +      Don't assume integer property fits in fixnum.
 +      * font.h (font_intern_prop): 2nd arg is now ptrdiff_t, not int.
 +
 +      * filelock.c: Fix some buffer overrun and integer overflow issues.
 +      (get_boot_time): Don't assume gzip command string fits in 100 bytes.
 +      Reformulate so as not to need the command string.
 +      Invoke gzip -cd rather than gunzip, as it's more portable.
 +      (lock_info_type, lock_file_1, lock_file):
 +      Don't assume pid_t and time_t fit in unsigned long.
 +      (LOCK_PID_MAX): Remove; we now use more-reliable bounds.
 +      (current_lock_owner): Prefer signed type for sizes.
 +      Use memcpy, not strncpy, where memcpy is what is really wanted.
 +      Don't assume (via atoi) that time_t and pid_t fit in int.
 +      Check for time_t and/or pid_t out of range, e.g., via a network share.
 +      Don't alloca where an auto var works fine.
 +
 +      * fileio.c: Fix some integer overflow issues.
 +      (file_name_as_directory, Fexpand_file_name, Fsubstitute_in_file_name):
 +      Don't assume string length fits in int.
 +      (directory_file_name): Don't assume string length fits in long.
 +      (make_temp_name): Don't assume pid fits in int, or that its print
 +      length is less than 20.
 +
 +      * data.c (Fsubr_name): Rewrite to avoid a strlen call.
 +
 +      * coding.c (make_subsidiaries): Don't assume string length fits in int.
 +
 +      * callproc.c (child_setup): Rewrite to avoid two strlen calls.
 +
 +      * process.c (Fformat_network_address): Use EMACS_INT, not EMACS_UINT.
 +      We prefer signed integers, even for size calculations.
 +
 +      * emacs.c: Don't assume string length fits in 'int'.
 +      (DEFINE_DUMMY_FUNCTION, sort_args): Use ptrdiff_t, not int.
 +      (main): Don't invoke strlen when not needed.
 +
 +      * dbusbind.c (XD_ERROR): Don't arbitrarily truncate string.
 +      (XD_DEBUG_MESSAGE): Don't waste a byte.
 +
 +      * callproc.c (getenv_internal_1, getenv_internal)
 +      (Fgetenv_internal):
 +      * buffer.c (init_buffer): Don't assume string length fits in 'int'.
 +
 +      * lread.c (invalid_syntax): Omit length argument.
 +      All uses changed.  This doesn't fix a bug, but it simplifies the
 +      code away from its former Hollerith-constant appearance, and it's
 +      one less 'int' to worry about when looking at integer-overflow issues.
 +      (string_to_number): Simplify 2011-04-26 change by invoking xsignal1.
 +
 +      * lisp.h (DEFUN): Remove bogus use of sizeof (struct Lisp_Subr).
 +      This didn't break anything, but it didn't help either.
 +      It's confusing to put a bogus integer in a place where the actual
 +      value does not matter.
 +      (LIST_END_P): Remove unused macro and its bogus comment.
 +      (make_fixnum_or_float): Remove unnecessary cast to EMACS_INT.
  
 -2007-10-08  Jason Rumney  <jasonr@gnu.org>
 +      * lisp.h (union Lisp_Object.i): EMACS_INT, not EMACS_UINT.
 +      This is for consistency with the ordinary, non-USE_LISP_UNION_TYPE,
 +      implementation.
 +      (struct Lisp_Bool_Vector.size): EMACS_INT, not EMACS_UINT.
 +      We prefer signed types, and the value cannot exceed the EMACS_INT
 +      range anyway (because otherwise the length would not be representable).
 +      (XSET) [USE_LISP_UNION_TYPE]: Use uintptr_t and intptr_t,
 +      not EMACS_UINT and EMACS_INT, when converting pointer to integer.
 +      This avoids a GCC warning when WIDE_EMACS_INT.
 +
 +      * indent.c (sane_tab_width): New function.
 +      (current_column, scan_for_column, Findent_to, position_indentation)
 +      (compute_motion): Use it.  This is just for clarity.
 +      (Fcompute_motion): Don't assume hscroll and tab offset fit in int.
 +
 +      * image.c (xbm_image_p): Don't assume stated width, height fit in int.
 +
 +      * lisp.h (lint_assume): New macro.
 +      * composite.c (composition_gstring_put_cache):
 +      * ftfont.c (ftfont_shape_by_flt): Use it to pacify GCC 4.6.0.
 +
 +      * editfns.c, insdel.c:
 +      Omit unnecessary forward decls, to simplify future changes.
 +
 +      * ftfont.c (ftfont_shape_by_flt): Use signed integers for lengths.
 +
 +      * font.c (Ffont_shape_gstring): Don't assume glyph len fits in 'int'.
 +
 +      * fns.c (Ffillarray): Don't assume bool vector size fits in 'int'.
 +      Use much-faster test for byte-length change.
 +      Don't assume string byte-length fits in 'int'.
 +      Check that character arg fits in 'int'.
 +      (mapcar1): Declare byte as byte, for clarity.
 +
 +      * alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication.
 +
 +      * fns.c (concat): Catch string overflow earlier.
 +      Do not rely on integer wraparound.
 +
 +      * dispextern.h (struct it.overlay_strings_charpos)
 +      (struct it.selective): Now EMACS_INT, not int.
 +      * xdisp.c (forward_to_next_line_start)
 +      (back_to_previous_visible_line_start)
 +      (reseat_at_next_visible_line_start, next_element_from_buffer):
 +      Don't arbitrarily truncate the value of 'selective' to int.
 +
 +      * xdisp.c (init_iterator): Use XINT, not XFASTINT; it might be < 0.
 +
 +      * composite.c: Don't truncate sizes to 'int'.
 +      (composition_gstring_p, composition_reseat_it)
 +      (composition_adjust_point): Use EMACS_INT, not int.
 +      (get_composition_id, composition_gstring_put_cache): Use EMACS_INT,
 +      not EMACS_UINT, for indexes.
  
 -      * makefile.w32-in (LIBS): Add COMCTL32.
 +      * category.h (CATEGORY_SET_P): Remove unnecessary cast to EMACS_INT.
  
 -      * w32fns.c (globals_of_w32fns): Init common controls.
 +      * buffer.c: Include <verify.h>.
 +      (struct sortvec.priority, struct sortstr.priority):
 +      Now EMACS_INT, not int.
 +      (compare_overlays, cmp_for_strings): Avoid subtraction overflow.
 +      (struct sortstr.size, record_overlay_string)
 +      (struct sortstrlist.size, struct sortlist.used):
 +      Don't truncate size to int.
 +      (record_overlay_string): Check for size-calculation overflow.
 +      (init_buffer_once): Check at compile-time, not run-time.
  
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 +2011-06-22  Jim Meyering  <meyering@redhat.com>
  
 -      * image.c (our_memory_buffer): Rename from omfib_buffer.
 +      Don't leak an XBM-image-sized buffer
 +      * image.c (xbm_load): Free the image buffer after using it.
  
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 +2011-06-21  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * buffer.c (Foverlays_at): Doc fix.
 +      Port to Sun C.
 +      * composite.c (find_automatic_composition): Omit needless 'return 0;'
 +      that Sun C diagnosed.
 +      * fns.c (secure_hash): Fix pointer signedness issue.
 +      * intervals.c (static_offset_intervals): New function.
 +      (offset_intervals): Use it.
  
 -2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-06-21  Leo Liu  <sdl.web@gmail.com>
  
 -      * fns.c (Fplist_put): Preserve uneven tail data.
 +      * deps.mk (fns.o):
 +      * makefile.w32-in ($(BLD)/fns.$(O)): Include sha256.h and
 +      sha512.h.
  
 -2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 +      * fns.c (secure_hash): Rename from crypto_hash_function and change
 +      the first arg to accept symbols.
 +      (Fsecure_hash): New primitive.
 +      (syms_of_fns): New symbols.
  
 -      * termhooks.h (enum event_kind): Remove trailing comma.
 +2011-06-20  Deniz Dogan  <deniz@dogan.se>
  
 -      * frame.h (enum): Remove trailing comma.
 +      * process.c (Fset_process_buffer): Clarify return value in
 +      docstring.
  
 -2007-10-08  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
 +2011-06-18  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * w32proc.c (delete_child): Don't terminate threads of zombies.
 +      * dispnew.c (add_window_display_history): Use BVAR.
  
 -2007-10-08  Martin Rudalics  <rudalics@gmx.at>
 +      * xdisp.c (debug_method_add): Use BVAR.
 +      (check_window_end, dump_glyph_matrix, dump_glyph)
 +      (dump_glyph_row, dump_glyph_string): Convert arglist to ANSI C.
  
 -      * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
 +      * xfaces.c (check_lface_attrs, check_lface, dump_realized_face):
 +      Likewise.
  
 -      * 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.
 +      * xfns.c (Fx_create_frame, x_create_tip_frame): Delay image cache
 +      check till after the cache is created in init_frame_faces.
  
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 +2011-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * eval.c (condition-case): Doc fix.
 +      * fns.c (Fsafe_length): Yet another int/Lisp_Object mixup.
  
 -2007-10-08  Masatake YAMATO  <jet@gyve.org>
 +2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * xfaces.c (tty_supports_face_attributes_p): Fix code
 -      for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
 -      was copied and not edited.
 +      * lisp.h: Include <limits.h>, for INT_MAX, LONG_MAX, LLONG_MAX.
 +      Without this, prin1 mishandles Lisp_Misc_Save_Value printing on
 +      hosts with pre-C99 libraries, because pD is wrongly defined to "t".
  
 -2007-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      Improve buffer-overflow checking (Bug#8873).
 +      * fileio.c (Finsert_file_contents):
 +      * insdel.c (insert_from_buffer_1, replace_range, replace_range_2):
 +      Remove the old (too-loose) buffer overflow checks.
 +      They weren't needed, since make_gap checks for buffer overflow.
 +      * insdel.c (make_gap_larger): Catch buffer overflows that were missed.
 +      The old code merely checked for Emacs fixnum overflow, and relied
 +      on undefined (wraparound) behavior.  The new code avoids undefined
 +      behavior, and also checks for ptrdiff_t and/or size_t overflow.
 +
 +      * editfns.c (Finsert_char): Don't dump core with very negative counts.
 +      Tune.  Don't use wider integers than needed.  Don't use alloca.
 +      Use a bigger 'string' buffer.  Rewrite to avoid 'n > 0' test.
 +
 +      * insdel.c (replace_range): Fix buf overflow when insbytes < outgoing.
 +
 +      * insdel.c, lisp.h (buffer_overflow): New function.
 +      (insert_from_buffer_1, replace_range, replace_range_2):
 +      * insdel.c (make_gap_larger):
 +      * editfns.c (Finsert_char):
 +      * fileio.c (Finsert_file_contents): Use it, to normalize wording.
 +
 +      * buffer.h (BUF_BYTES_MAX): Cast to ptrdiff_t so that it's signed.
 +
 +2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer overflow and signedness fixes (Bug#8873, Bug#8828).
 +
 +      * ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772.
 +      (GET_CCL_RANGE, IN_INT_RANGE): Use it.
 +
 +      * fileio.c: Don't assume EMACS_INT fits in off_t.
 +      (emacs_lseek): New static function.
 +      (Finsert_file_contents, Fwrite_region): Use it.
 +      Use SEEK_SET, SEEK_CUR, SEEK_END as appropriate.
 +
 +      * fns.c (Fload_average): Don't assume 100 * load average fits in int.
 +
 +      * fns.c: Don't overflow int when computing a list length.
 +      * fns.c (QUIT_COUNT_HEURISTIC): New constant.
 +      (Flength, Fsafe_length): Use EMACS_INT, not int, to avoid unwanted
 +      truncation on 64-bit hosts.  Check for QUIT every
 +      QUIT_COUNT_HEURISTIC entries rather than every other entry; that's
 +      faster and is responsive enough.
 +      (Flength): Report an error instead of overflowing an integer.
 +      (Fsafe_length): Return a float if the value is not representable
 +      as a fixnum.  This shouldn't happen except in contrived situations.
 +      (Fnthcdr, Fsort): Don't assume list length fits in int.
 +      (Fcopy_sequence): Don't assume vector length fits in int.
 +
 +      * alloc.c: Check that resized vectors' lengths fit in fixnums.
 +      (header_size, word_size): New constants.
 +      (allocate_vectorlike): Don't check size overflow here.
 +      (allocate_vector): Check it here instead, since this is the only
 +      caller of allocate_vectorlike that could cause overflow.
 +      Check that the new vector's length is representable as a fixnum.
 +
 +      * fns.c (next_almost_prime): Don't return a multiple of 3 or 5.
 +      The previous code was bogus.  For example, next_almost_prime (32)
 +      returned 39, which is undesirable as it is a multiple of 3; and
 +      next_almost_prime (24) returned 25, which is a multiple of 5 so
 +      why was the code bothering to check for multiples of 7?
 +
 +      * bytecode.c (exec_byte_code): Use ptrdiff_t, not int, for vector length.
 +
 +      * eval.c, doprnt.c (SIZE_MAX): Remove; inttypes.h defines this now.
 +
 +      Variadic C functions now count arguments with ptrdiff_t.
 +      This partly undoes my 2011-03-30 change, which replaced int with size_t.
 +      Back then I didn't know that the Emacs coding style prefers signed int.
 +      Also, in the meantime I found a few more instances where arguments
 +      were being counted with int, which may truncate counts on 64-bit
 +      machines, or EMACS_INT, which may be unnecessarily wide.
 +      * lisp.h (struct Lisp_Subr.function.aMANY)
 +      (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call):
 +      Arg counts are now ptrdiff_t, not size_t.
 +      All variadic functions and their callers changed accordingly.
 +      (struct gcpro.nvars): Now size_t, not size_t.  All uses changed.
 +      * bytecode.c (exec_byte_code): Check maxdepth for overflow,
 +      to avoid potential buffer overrun.  Don't assume arg counts fit in 'int'.
 +      * callint.c (Fcall_interactively): Check arg count for overflow,
 +      to avoid potential buffer overrun.  Use signed char, not 'int',
 +      for 'varies' array, so that we needn't bother to check its size
 +      calculation for overflow.
 +      * editfns.c (Fformat): Use ptrdiff_t, not EMACS_INT, to count args.
 +      * eval.c (apply_lambda):
 +      * fns.c (Fmapconcat): Use XFASTINT, not XINT, to get args length.
 +      (struct textprop_rec.argnum): Now ptrdiff_t, not int.  All uses changed.
 +      (mapconcat): Use ptrdiff_t, not int and EMACS_INT, to count args.
 +
 +      * callint.c (Fcall_interactively): Don't use index var as event count.
 +
 +      * vm-limit.c (check_memory_limits): Fix incorrect extern function decls.
 +      * mem-limits.h (SIZE): Remove; no longer used.
 +
 +      * xterm.c (x_alloc_nearest_color_1): Prefer int to long when int works.
 +
 +      Remove unnecessary casts.
 +      * xterm.c (x_term_init):
 +      * xfns.c (x_set_border_pixel):
 +      * widget.c (create_frame_gcs): Remove casts to unsigned long etc.
 +      These aren't needed now that we assume ANSI C.
  
 -      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.
 +      * sound.c (Fplay_sound_internal): Remove cast to unsigned long.
 +      It's more likely to cause problems (due to unsigned overflow)
 +      than to cure them.
  
 -      * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
 -      This was made redundant by the previous introduction of XSETPVECTYPE.
 +      * dired.c (Ffile_attributes): Don't use 32-bit hack on 64-bit hosts.
  
 -2007-10-09  Richard Stallman  <rms@gnu.org>
 +      * unexelf.c (unexec): Don't assume BSS addr fits in unsigned.
  
 -      * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
 +      * xterm.c (handle_one_xevent): Omit unnecessary casts to unsigned.
  
 -2007-09-29  Richard Stallman  <rms@gnu.org>
 +      * keyboard.c (modify_event_symbol): Don't limit alist len to UINT_MAX.
  
 -      * 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.
 +      * lisp.h (CHAR_TABLE_SET): Omit now-redundant test.
  
 -2007-10-06  Andreas Schwab  <schwab@suse.de>
 +      * lread.c (Fload): Don't compare a possibly-garbage time_t value.
  
 -      * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
 +      GLYPH_CODE_FACE returns EMACS_INT, not int.
 +      * dispextern.h (merge_faces):
 +      * xfaces.c (merge_faces):
 +      * xdisp.c (get_next_display_element, next_element_from_display_vector):
 +      Don't assume EMACS_INT fits in int.
 +
 +      * character.h (CHAR_VALID_P): Remove unused parameter.
 +      * fontset.c, lisp.h, xdisp.c: All uses changed.
 +
 +      * editfns.c (Ftranslate_region_internal): Omit redundant test.
 +
 +      * fns.c (concat): Minor tuning based on overflow analysis.
 +      This doesn't fix any bugs.  Use int to hold character, instead
 +      of constantly refetching from Emacs object.  Use XFASTINT, not
 +      XINT, for value known to be a character.  Don't bother comparing
 +      a single byte to 0400, as it's always less.
 +
 +      * floatfns.c (Fexpt):
 +      * fileio.c (make_temp_name): Omit unnecessary cast to unsigned.
 +
 +      * editfns.c (Ftranslate_region_internal): Use int, not EMACS_INT
 +      for characters.
 +
 +      * doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives.
 +
 +      * data.c (Faset): If ARRAY is a string, check that NEWELT is a char.
 +      Without this fix, on a 64-bit host (aset S 0 4294967386) would
 +      incorrectly succeed when S was a string, because 4294967386 was
 +      truncated before it was used.
 +
 +      * chartab.c (Fchar_table_range): Use CHARACTERP to check range.
 +      Otherwise, an out-of-range integer could cause undefined behavior
 +      on a 64-bit host.
 +
 +      * composite.c: Use int, not EMACS_INT, for characters.
 +      (fill_gstring_body, composition_compute_stop_pos): Use int, not
 +      EMACS_INT, for values that are known to be in character range.
 +      This doesn't fix any bugs but is the usual style inside Emacs and
 +      may generate better code on 32-bit machines.
 +
 +      Make sure a 64-bit char is never passed to ENCODE_CHAR.
 +      This is for reasons similar to the recent CHAR_STRING fix.
 +      * charset.c (Fencode_char): Check that character arg is actually
 +      a character.  Pass an int to ENCODE_CHAR.
 +      * charset.h (ENCODE_CHAR): Verify that the character argument is no
 +      wider than 'int', as a compile-time check to prevent future regressions
 +      in this area.
 +
 +      * character.c (char_string): Remove unnecessary casts.
 +
 +      Make sure a 64-bit char is never passed to CHAR_STRING.
 +      Otherwise, CHAR_STRING would do the wrong thing on a 64-bit platform,
 +      by silently ignoring the top 32 bits, allowing some values
 +      that were far too large to be valid characters.
 +      * character.h: Include <verify.h>.
 +      (CHAR_STRING, CHAR_STRING_ADVANCE): Verify that the character
 +      arguments are no wider than unsigned, as a compile-time check
 +      to prevent future regressions in this area.
 +      * data.c (Faset):
 +      * editfns.c (Fchar_to_string, general_insert_function, Finsert_char)
 +      (Fsubst_char_in_region):
 +      * fns.c (concat):
 +      * xdisp.c (decode_mode_spec_coding):
 +      Adjust to CHAR_STRING's new requirement.
 +      * editfns.c (Finsert_char, Fsubst_char_in_region):
 +      * fns.c (concat): Check that character args are actually
 +      characters.  Without this test, these functions did the wrong
 +      thing with wildly out-of-range values on 64-bit hosts.
 +
 +      Remove incorrect casts to 'unsigned' that lose info on 64-bit hosts.
 +      These casts should not be needed on 32-bit hosts, either.
 +      * keyboard.c (read_char):
 +      * lread.c (Fload): Remove casts to unsigned.
 +
 +      * lisp.h (UNSIGNED_CMP): New macro.
 +      This fixes comparison bugs on 64-bit hosts.
 +      (ASCII_CHAR_P): Use it.
 +      * casefiddle.c (casify_object):
 +      * character.h (ASCII_BYTE_P, CHAR_VALID_P)
 +      (SINGLE_BYTE_CHAR_P, CHAR_STRING):
 +      * composite.h (COMPOSITION_ENCODE_RULE_VALID):
 +      * dispextern.h (FACE_FROM_ID):
 +      * keyboard.c (read_char): Use UNSIGNED_CMP.
 +
 +      * xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t,
 +      not to EMACS_INT, to avoid GCC warning.
 +
 +      * xfns.c (x_set_scroll_bar_default_width): Remove unused 'int' locals.
 +
 +      * buffer.h (PTR_BYTE_POS, BUF_PTR_BYTE_POS): Remove harmful cast.
 +      The cast incorrectly truncated 64-bit byte offsets to 32 bits, and
 +      isn't needed on 32-bit machines.
 +
 +      * buffer.c (Fgenerate_new_buffer_name):
 +      Use EMACS_INT for count, not int.
 +      (advance_to_char_boundary): Return EMACS_INT, not int.
 +
 +      * data.c (Qcompiled_function): Now static.
 +
 +      * window.c (window_body_lines): Now static.
 +
 +      * image.c (gif_load): Rename local to avoid shadowing.
 +
 +      * lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow.
 +      (struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member.
 +      * alloc.c (make_save_value): Integer argument is now of type
 +      ptrdiff_t, not int.
 +      (mark_object): Use ptrdiff_t, not int.
 +      * lisp.h (pD): New macro.
 +      * print.c (print_object): Use it.
 +
 +      * alloc.c: Use EMACS_INT, not int, to count objects.
 +      (total_conses, total_markers, total_symbols, total_vector_size)
 +      (total_free_conses, total_free_markers, total_free_symbols)
 +      (total_free_floats, total_floats, total_free_intervals)
 +      (total_intervals, total_strings, total_free_strings):
 +      Now EMACS_INT, not int.  All uses changed.
 +      (Fgarbage_collect): Compute overall total using a double, so that
 +      integer overflow is less likely to be a problem.  Check for overflow
 +      when converting back to an integer.
 +      (n_interval_blocks, n_string_blocks, n_float_blocks, n_cons_blocks)
 +      (n_vectors, n_symbol_blocks, n_marker_blocks): Remove.
 +      These were 'int' variables that could overflow on 64-bit hosts;
 +      they were never used, so remove them instead of repairing them.
 +      (nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'.
 +      (inhibit_garbage_collection): Set gc_cons_threshold to max value.
 +      Previously, this ceilinged at INT_MAX, but that doesn't work on
 +      64-bit machines.
 +      (allocate_pseudovector): Don't use EMACS_INT when int would do.
 +
 +      * alloc.c (Fmake_bool_vector): Don't assume vector size fits in int.
 +      (allocate_vectorlike): Check for ptrdiff_t overflow.
 +      (mark_vectorlike, mark_char_table, mark_object): Avoid EMACS_UINT
 +      when a (possibly-narrower) signed value would do just as well.
 +      We prefer using signed arithmetic, to avoid comparison confusion.
 +
 +      * alloc.c: Catch some string size overflows that we were missing.
 +      (XMALLOC_OVERRUN_CHECK_SIZE) [!XMALLOC_OVERRUN_CHECK]: Define to 0,
 +      for convenience in STRING_BYTES_MAX.
 +      (STRING_BYTES_MAX): New macro, superseding the old one in lisp.h.
 +      The definition here is exact; the one in lisp.h was approximate.
 +      (allocate_string_data): Check for string overflow.  This catches
 +      some instances we weren't catching before.  Also, it catches
 +      size_t overflow on (unusual) hosts where SIZE_MAX <= min
 +      (PTRDIFF_MAX, MOST_POSITIVE_FIXNUM), e.g., when size_t is 32 bits
 +      and ptrdiff_t and EMACS_INT are both 64 bits.
 +
 +      * character.c, coding.c, doprnt.c, editfns.c, eval.c:
 +      All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND.
 +      * lisp.h (STRING_BYTES_BOUND): Rename from STRING_BYTES_MAX.
 +
 +      * character.c (string_escape_byte8): Fix nbytes/nchars typo.
 +
 +      * alloc.c (Fmake_string): Check for out-of-range init.
 +
 +2011-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * eval.c (Fdefvaralias): Also mark the target as variable-special-p.
 +
 +2011-06-14  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xfns.c (x_set_scroll_bar_default_width): Remove argument to
 +      xg_get_default_scrollbar_width.
 +
 +      * gtkutil.c: Include emacsgtkfixed.h if HAVE_GTK3.
 +      (int_gtk_range_get_value): Move to the scroll bar part of the file.
 +      (style_changed_cb): Call update_theme_scrollbar_width and call
 +      x_set_scroll_bar_default_width and xg_frame_set_char_size for
 +      all frames (Bug#8505).
 +      (xg_create_frame_widgets): Call emacs_fixed_new if HAVE_GTK3 (Bug#8505).
 +      Call gtk_window_set_resizable if HAVE_GTK3.
 +      (x_wm_set_size_hint): Call emacs_fixed_set_min_size with min width
 +      and height if HAVE_GTK3 (Bug#8505).
 +      (scroll_bar_width_for_theme): New variable.
 +      (update_theme_scrollbar_width): New function.
 +      (xg_get_default_scrollbar_width): Move code to
 +      update_theme_scrollbar_width, just return scroll_bar_width_for_theme.
 +      (xg_initialize): Call update_theme_scrollbar_width.
 +
 +      * gtkutil.h (xg_get_default_scrollbar_width): Remove argument.
 +
 +      * emacsgtkfixed.c, emacsgtkfixed.h: New files.
 +
 +2011-06-12  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (make_frame): Call other_buffer_safely instead of
 +      other_buffer.
 +
 +      * window.c (temp_output_buffer_show): Call display_buffer with
 +      second argument Vtemp_buffer_show_specifiers and reset latter
 +      immediately after the call.
 +      (Vtemp_buffer_show_specifiers): New variable.
 +      (auto_window_vscroll_p, next_screen_context_lines)
 +      (Vscroll_preserve_screen_position): Remove leading asterisks from
 +      doc-strings.
 +
 +2011-06-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix minor problems found by GCC 4.6.0 static checking.
 +      * buffer.c (Qclone_number): Remove for now, as it's unused.
 +      (record_buffer, Funrecord_buffer): Rename local to avoid shadowing.
 +      (record_buffer): Remove unused local.
 +      * frame.c (other_visible_frames, frame_buffer_list): Now static.
 +      (set_frame_buffer_list): Remove; unused.
 +      * frame.h (other_visible_frames): Remove decl.
 +      * keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF.
 +      * lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls.
 +      (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only
 +      if HAVE_GPM.
 +      * menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF.
 +      * process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
 +      Define only if HAVE_GPM.
 +      * widget.c (EmacsFrameResize, emacsFrameClassRec): Now static.
 +      (update_hints_inhibit): Remove; never set.  All uses removed.
 +      * widgetprv.h (emacsFrameClassRec): Remove decl.
 +      * window.c (delete_deletable_window): Now returns void, since it
 +      wasn't returning anything.
 +      (compare_window_configurations): Remove unused locals.
 +      * xfns.c (x_set_scroll_bar_default_width): Remove unused locals.
 +      * xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF.
 +      (dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers
 +      the same widths as pointers.  This follows up on the 2011-05-06 patch.
 +      * xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID.
 +      * xterm.h: Likewise.
 +      (x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF.
 +
 +2011-06-12  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
 +      * makefile.w32-in: Update dependencies.
 +      (LISP_H): Add lib/intprops.h.
 +
 +2011-06-11  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * image.c (gif_load): Add animation frame delay to the metadata.
 +      (syms_of_image): Use DEFSYM.  New symbol `delay'.
 +
 +2011-06-11  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (delete_deletable_window): Re-add.
 +      (Fset_window_configuration): Rewrite to handle dead buffers and
 +      consequently deletable windows.
 +      (window_tree, Fwindow_tree): Remove.  Supply functionality in
 +      window.el.
 +      (compare_window_configurations): Simplify code.
 +
 +2011-06-11  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * image.c (imagemagick_load_image): Fix type mismatch.
 +      (Fimagemagick_types): Likewise.
 +
 +      * window.h (replace_buffer_in_windows): Declare.
 +
 +2011-06-11  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * buffer.c: New Lisp objects Qbuffer_list_update_hook and
 +      Qclone_number.  Remove external declaration of Qdelete_window.
 +      (Fbuffer_list): Rewrite doc-string.  Minor restructuring of
 +      code.
 +      (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer):
 +      Run Qbuffer_list_update_hook if allowed.
 +      (Fother_buffer): Rewrite doc-string.  Major rewrite for new
 +      buffer list implementation.
 +      (other_buffer_safely): New function.
 +      (Fkill_buffer): Replace call to replace_buffer_in_all_windows by
 +      calls to replace_buffer_in_windows and
 +      replace_buffer_in_windows_safely.  Run Qbuffer_list_update_hook
 +      if allowed.
 +      (record_buffer): Inhibit quitting and rewrite using quittable
 +      functions.  Run Qbuffer_list_update_hook if allowed.
 +      (Frecord_buffer, Funrecord_buffer): New functions.
 +      (switch_to_buffer_1, Fswitch_to_buffer): Remove.
 +      Move switch-to-buffer to window.el.
 +      (bury-buffer): Move to window.el.
 +      (Vbuffer_list_update_hook): New variable.
 +
 +      * lisp.h (other_buffer_safely): Add prototype in buffer.c
 +      section.
 +
 +      * window.h (resize_frame_windows): Move up in code.
 +      (Fwindow_frame): Remove EXFUN.
 +      (replace_buffer_in_all_windows): Remove prototype.
 +      (replace_buffer_in_windows_safely): Add prototype.
 +
 +      * window.c: Declare Qdelete_window static again.  Move down
 +      declaration of select_count.
 +      (Fnext_window, Fprevious_window): Rewrite doc-strings.
 +      (Fother_window): Move to window.el.
 +      (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER
 +      cases.  Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case.
 +      (Fdelete_windows_on, Freplace_buffer_in_windows): Move to
 +      window.el.
 +      (replace_buffer_in_windows): Implement by calling
 +      Qreplace_buffer_in_windows.
 +      (replace_buffer_in_all_windows): Remove with some functionality
 +      moved into replace_buffer_in_windows_safely.
 +      (replace_buffer_in_windows_safely): New function.
 +      (select_window_norecord, select_frame_norecord): Move in front
 +      of run_window_configuration_change_hook.  Remove now obsolete
 +      declarations.
 +      (Fset_window_buffer): Rewrite doc-string.
 +      Call Qrecord_window_buffer.
 +      (keys_of_window): Move binding for other-window to window.el.
 +
 +2011-06-11  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * dispextern.h (struct image): Replace data member, whose int_val
 +      and ptr_val fields were not used by anything, with a single
 +      lisp_val object.
 +
 +      * image.c (Fimage_metadata, make_image, mark_image, tiff_load)
 +      (gif_clear_image, gif_load, imagemagick_load_image)
 +      (gs_clear_image, gs_load): Callers changed.
 +
 +2011-06-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * buffer.h: Include <time.h>, for time_t.
 +      Needed to build on FreeBSD 8.2.  Problem reported by Herbert J. Skuhra.
 +
 +      Fix minor problems found by static checking.
 +
 +      * image.c (PixelGetMagickColor): Declare if ImageMagick headers don't.
 +
 +      Make identifiers static if they are not used in other modules.
 +      * data.c (Qcompiled_function, Qframe, Qvector):
 +      * image.c (QimageMagick, Qsvg):
 +      * minibuf.c (Qmetadata):
 +      * window.c (resize_window_check, resize_root_window): Now static.
 +      * window.h (resize_window_check, resize_root_window): Remove decls.
 +
 +      * window.c (window_deletion_count, delete_deletable_window):
 +      Remove; unused.
 +      (window_body_lines): Now static.
 +      (Fdelete_other_windows_internal): Mark vars as initialized.
 +      Make sure 'resize_failed' is initialized.
 +      (run_window_configuration_change_hook): Rename local to avoid shadowing.
 +      (resize_window_apply): Remove unused local.
 +      * window.h (delete_deletable_window): Remove decl.
 +
 +      * image.c (gif_load, svg_load_image): Rename locals to avoid shadowing.
 +      (imagemagick_load_image): Fix pointer signedness problem by changing
 +      last arg from unsigned char * to char *.  All uses changed.
 +      Also, fix a local for similar reasons.
 +      Remove unused locals.  Remove locals to avoid shadowing.
 +      (fn_rsvg_handle_free): Remove; unused.
 +      (svg_load, svg_load_image): Fix pointer signedness problem.
 +      (imagemagick_load_image): Don't use garbage pointer image_wand.
 +
 +      * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals.
 +
 +2011-06-10  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * image.c (gif_load): Fix omitted cast error introduced by
 +      2011-06-06 change.
 +
 +2011-06-10  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.h (resize_proportionally, orig_total_lines)
 +      (orig_top_line): Remove from window structure.
 +      (set_window_height, set_window_width, change_window_heights)
 +      (Fdelete_window): Remove prototypes.
 +      (resize_frame_windows): Remove duplicate declaration.
 +
 +2011-06-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * window.h (resize_frame_windows, resize_window_check)
 +      (delete_deletable_window, resize_root_window)
 +      (resize_frame_windows): Declare prototypes.
 +
 +      * window.c (resize_window_apply): Make definition be "static" to
 +      match the prototype.
 +
 +2011-06-10  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c: Remove declarations of Qwindow_size_fixed,
 +      window_min_size_1, window_min_size_2, window_min_size,
 +      size_window, window_fixed_size_p, enlarge_window, delete_window.
 +      Remove static from declaration of Qdelete_window, it's
 +      temporarily needed by Fbury_buffer.
 +      (replace_window): Don't assign orig_top_line and
 +      orig_total_lines.
 +      (Fdelete_window, delete_window): Remove.  Window deletion is
 +      handled by window.el.
 +      (window_loop): Remove DELETE_OTHER_WINDOWS case.
 +      Replace Fdelete_window calls with calls to Qdelete_window.
 +      (Fdelete_other_windows): Remove.  Deleting other windows is
 +      handled by window.el.
 +      (window_fixed_size_p): Remove.  Fixed-sizeness of windows is
 +      handled in window.el.
 +      (window_min_size_2, window_min_size_1, window_min_size): Remove.
 +      Window minimum sizes are handled in window.el.
 +      (shrink_windows, size_window, set_window_height)
 +      (set_window_width, change_window_heights, window_height)
 +      (window_width, CURBEG, CURSIZE, enlarge_window)
 +      (adjust_window_trailing_edge, Fadjust_window_trailing_edge)
 +      (Fenlarge_window, Fshrink_window): Remove.  Window resizing is
 +      handled in window.el.
 +      (make_dummy_parent): Rename to make_parent_window and give it a
 +      second argument horflag.
 +      (make_window): Don't set resize_proportionally any more.
 +      (Fsplit_window): Remove.  Windows are split in window.el.
 +      (save_restore_action, save_restore_orig_size)
 +      (shrink_window_lowest_first, save_restore_orig_size): Remove.
 +      Resize mini windows in window.el.
 +      (grow_mini_window, shrink_mini_window): Implement by calling
 +      Qresize_root_window_vertically, resize_window_check and
 +      resize_window_apply.
 +      (saved_window, Fset_window_configuration, save_window_save):
 +      Do not handle orig_top_line, orig_total_lines, and
 +      resize_proportionally.
 +      (window_min_height, window_min_width): Move to window.el.
 +      (keys_of_window): Move bindings for delete-other-windows,
 +      split-window, delete-window and enlarge-window to window.el.
 +
 +      * buffer.c: Temporarily extern Qdelete_window.
 +      (Fbury_buffer): Temporarily call Qdelete_window instead of
 +      Fdelete_window (Fbury_buffer will move to window.el soon).
 +
 +      * frame.c (set_menu_bar_lines_1): Remove code handling
 +      orig_top_line and orig_total_lines.
 +
 +      * dispnew.c (adjust_frame_glyphs_initially): Don't use
 +      set_window_height but set heights directly.
 +      (change_frame_size_1): Use resize_frame_windows.
 +
 +      * xdisp.c (init_xdisp): Don't use set_window_height but set
 +      heights directly.
 +
 +      * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines):
 +      Use resize_frame_windows instead of change_window_heights and run
 +      run_window_configuration_change_hook.
 +
 +      * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows
 +      instead of change_window_heights and run
 +      run_window_configuration_change_hook.
 +
 +2011-06-09  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (replace_window): Rename second argument REPLACEMENT to
 +      NEW.  New third argument SETFLAG.  Rewrite.
 +      (delete_window, make_dummy_parent): Call replace_window with
 +      third argument 1.
 +      (window_list_1): Move down in code.
 +      (run_window_configuration_change_hook): Move set_buffer part
 +      before select_frame_norecord part in order to unwind correctly.
 +      Rename count1 to count.
 +      (recombine_windows, delete_deletable_window, resize_root_window)
 +      (Fdelete_other_windows_internal)
 +      (Frun_window_configuration_change_hook, make_parent_window)
 +      (resize_window_check, resize_window_apply, Fresize_window_apply)
 +      (resize_frame_windows, Fsplit_window_internal)
 +      (Fdelete_window_internal, Fresize_mini_window_internal):
 +      New functions.
 +      (syms_of_window): New variables Vwindow_splits and Vwindow_nest.
  
 -      * image.c (syms_of_image) <image-types>: Fix typo in docstring.
 +2011-06-08  Martin Rudalics  <rudalics@gmx.at>
  
 -2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * window.h (window): Add some new members to window structure -
 +      normal_lines, normal_cols, new_total, new_normal, clone_number,
 +      splits, nest, prev_buffers, next_buffers.
 +      (WINDOW_TOTAL_SIZE): Move here from window.c.
 +      (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): Define here.
  
 -      * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
 +      * window.c (Fwindow_height, Fwindow_width, Fwindow_full_width_p):
 +      Remove.
 +      (make_dummy_parent): Set new members of windows structure.
 +      (make_window): Move down in code.  Handle new members of window
 +      structure.
 +      (Fwindow_clone_number, Fwindow_splits, Fset_window_splits)
 +      (Fwindow_nest, Fset_window_nest, Fwindow_new_total)
 +      (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers)
 +      (Fset_window_prev_buffers, Fwindow_next_buffers)
 +      (Fset_window_next_buffers, Fset_window_clone_number):
 +      New functions.
 +      (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start)
 +      (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p):
 +      Doc-string fixes.
 +      (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter):
 +      Argument WINDOW can be now internal window too.
 +      (Fwindow_use_time): Move up in code.
 +      (Fget_buffer_window): Rename argument FRAME to ALL-FRAMES.
 +      Rewrite doc-string.
 +      (Fset_window_configuration, saved_window)
 +      (Fcurrent_window_configuration, save_window_save): Handle new
 +      members of window structure.
 +      (WINDOW_TOTAL_SIZE, MIN_SAFE_WINDOW_WIDTH)
 +      (MIN_SAFE_WINDOW_HEIGHT): Move to window.h.
 +      (syms_of_window): New Lisp objects Qrecord_window_buffer,
 +      Qwindow_deletable_p, Qdelete_window, Qreplace_buffer_in_windows,
 +      Qget_mru_window, Qresize_root_window,
 +      Qresize_root_window_vertically, Qsafe, Qabove, Qbelow,
 +      Qauto_buffer_name; staticpro them.
 +
 +2011-06-07  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (Fwindow_total_size, Fwindow_left_column)
 +      (Fwindow_top_line, window_body_lines, Fwindow_body_size)
 +      (Fwindow_list_1): New functions.
 +      (window_box_text_cols): Replace with window_body_cols.
 +      (Fwindow_width, Fscroll_left, Fscroll_right):
 +      Use window_body_cols instead of window_box_text_cols.
 +      (delete_window, Fset_window_configuration):
 +      Call delete_all_subwindows with window as argument.
 +      (delete_all_subwindows): Take a window as argument and not a
 +      structure.  Rewrite.
 +      (window_loop): Remove handling of GET_LRU_WINDOW and
 +      GET_LARGEST_WINDOW.
 +      (Fget_lru_window, Fget_largest_window): Move to window.el.
 +
 +      * window.h: Extern window_body_cols instead of
 +      window_box_text_cols.  delete_all_subwindows now takes a
 +      Lisp_Object as argument.
 +
 +      * indent.c (compute_motion, Fcompute_motion):
 +      Use window_body_cols instead of window_box_text_cols.
 +
 +      * frame.c (delete_frame): Call delete_all_subwindows with root
 +      window as argument.
 +
 +2011-06-07  Daniel Colascione  <dan.colascione@gmail.com>
 +
 +      * fns.c (Fputhash): Document return value.
 +
 +2011-06-06  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * image.c (gif_load): Implement gif89a spec "no disposal" method.
 +
 +2011-06-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Cons<->int and similar integer overflow fixes (Bug#8794).
 +
 +      Check for overflow when converting integer to cons and back.
 +      * charset.c (Fdefine_charset_internal, Fdecode_char):
 +      Use cons_to_unsigned to catch overflow.
 +      (Fencode_char): Use INTEGER_TO_CONS.
 +      * composite.h (LGLYPH_CODE): Use cons_to_unsigned.
 +      (LGLYPH_SET_CODE): Use INTEGER_TO_CONS.
 +      * data.c (long_to_cons, cons_to_long): Remove.
 +      (cons_to_unsigned, cons_to_signed): New functions.
 +      These signal an error for invalid or out-of-range values.
 +      * dired.c (Ffile_attributes): Use INTEGER_TO_CONS.
 +      * fileio.c (Fset_visited_file_modtime): Use CONS_TO_INTEGER.
 +      * font.c (Ffont_variation_glyphs):
 +      * fontset.c (Finternal_char_font): Use INTEGER_TO_CONS.
 +      * lisp.h: Include <intprops.h>.
 +      (INTEGER_TO_CONS, CONS_TO_INTEGER): New macros.
 +      (cons_to_signed, cons_to_unsigned): New decls.
 +      (long_to_cons, cons_to_long): Remove decls.
 +      * undo.c (record_first_change): Use INTEGER_TO_CONS.
 +      (Fprimitive_undo): Use CONS_TO_INTEGER.
 +      * xfns.c (Fx_window_property): Likewise.
 +      * xselect.c: Include <limits.h>.
 +      (x_own_selection, selection_data_to_lisp_data):
 +      Use INTEGER_TO_CONS.
 +      (x_handle_selection_request, x_handle_selection_clear)
 +      (x_get_foreign_selection, Fx_disown_selection_internal)
 +      (Fx_get_atom_name, x_send_client_event): Use CONS_TO_INTEGER.
 +      (lisp_data_to_selection_data): Use cons_to_unsigned.
 +      (x_fill_property_data): Use cons_to_signed.
 +      Report values out of range.
 +
 +      Check for buffer and string overflow more precisely.
 +      * buffer.h (BUF_BYTES_MAX): New macro.
 +      * lisp.h (STRING_BYTES_MAX): New macro.
 +      * alloc.c (Fmake_string):
 +      * character.c (string_escape_byte8):
 +      * coding.c (coding_alloc_by_realloc):
 +      * doprnt.c (doprnt):
 +      * editfns.c (Fformat):
 +      * eval.c (verror):
 +      Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM,
 +      since they may not be the same number.
 +      * editfns.c (Finsert_char):
 +      * fileio.c (Finsert_file_contents):
 +      Likewise for BUF_BYTES_MAX.
  
 -2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * image.c: Use ptrdiff_t, not int, for sizes.
 +      (slurp_file): Switch from int to ptrdiff_t.
 +      All uses changed.
 +      (slurp_file): Check that file size fits in both size_t (for
 +      malloc) and ptrdiff_t (for sanity and safety).
 +
 +      * fileio.c (Fverify_visited_file_modtime): Avoid time overflow
 +      if b->modtime has its maximal value.
 +
 +      * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits.
 +
 +      Don't assume time_t can fit into int.
 +      * buffer.h (struct buffer.modtime): Now time_t, not int.
 +      * fileio.c (Fvisited_file_modtime): No need for time_t cast now.
 +      * undo.c (Fprimitive_undo): Use time_t, not int, for time_t value.
 +
 +      Minor fixes for signed vs unsigned integers.
 +      * character.h (MAYBE_UNIFY_CHAR):
 +      * charset.c (maybe_unify_char):
 +      * keyboard.c (read_char, reorder_modifiers):
 +      XINT -> XFASTINT, since the integer must be nonnegative.
 +      * ftfont.c (ftfont_spec_pattern):
 +      * keymap.c (access_keymap, silly_event_symbol_error):
 +      XUINT -> XFASTINT, since the integer must be nonnegative.
 +      (Fsingle_key_description, preferred_sequence_p): XUINT -> XINT,
 +      since it makes no difference and we prefer signed.
 +      * keyboard.c (record_char): Use XUINT when all the neighbors do.
 +      (access_keymap): NATNUMP -> INTEGERP, since the integer must be
 +      nonnegative.
 +
 +2011-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.h (Fwindow_frame): Declare.
 +
 +2011-06-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c: Simplify handling of large-request failures (Bug#8800).
 +      (SPARE_MEMORY): Always define.
 +      (LARGE_REQUEST): Remove.
 +      (memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST.
 +
 +2011-06-06  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * lisp.h: Move EXFUNS for Fframe_root_window,
 +      Fframe_first_window and Fset_frame_selected_window to window.h.
 +
 +      * window.h: Move EXFUNS for Fframe_root_window,
 +      Fframe_first_window and Fset_frame_selected_window here from
 +      lisp.h.
 +
 +      * frame.c (Fwindow_frame, Fframe_first_window)
 +      (Fframe_root_window, Fframe_selected_window)
 +      (Fset_frame_selected_window): Move to window.c.
 +      (Factive_minibuffer_window): Move to minibuf.c.
 +      (Fother_visible_frames_p): New function.
 +
 +      * minibuf.c (Factive_minibuffer_window): Move here from frame.c.
 +
 +      * window.c (decode_window, decode_any_window): Move up in code.
 +      (Fwindowp, Fwindow_live_p): Rewrite doc-strings.
 +      (inhibit_frame_unsplittable): Remove unused variable.
 +      (Fwindow_buffer): Move up and rewrite doc-string.
 +      (Fwindow_parent, Fwindow_vchild, Fwindow_hchild, Fwindow_next)
 +      (Fwindow_prev): New functions.
 +      (Fwindow_frame): Move here from frame.c.  Accept any window as
 +      argument.
 +      (Fframe_root_window, Fframe_first_window)
 +      (Fframe_selected_window): Move here from frame.c.  Accept frame
 +      or arbitrary window as argument.  Update doc-strings.
 +      (Fminibuffer_window): Move up in code.
 +      (Fwindow_minibuffer_p): Move up in code and simplify.
 +      (Fset_frame_selected_window): Move here from frame.c.
 +      Marginal rewrite.
 +      (Fselected_window, select_window, Fselect_window): Move up in
 +      code.  Minor doc-string fixes.
  
 -      * 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.
 +2011-06-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
 -      Turn `count' into an integer.
 +      * alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacOS (Bug#8800).
 +      Do not assume that spare memory exists; that assumption is valid
 +      only if SYSTEM_MALLOC.
 +      (LARGE_REQUEST): New macro, so that the issue of large requests
 +      is separated from the issue of spare memory.
  
 -      * 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.
 +2011-06-05  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * 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.
 +      * editfns.c (Fformat): Correctly handle zero flag with hexadecimal
 +      format.  (Bug#8806)
  
 -      * frame.c (Fframe_parameters): Minor simplification.
 +      * gtkutil.c (xg_get_default_scrollbar_width): Avoid warning.
  
 -      * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
 +      * xfns.c (x_set_scroll_bar_default_width): Move declarations
 +      before statements.
  
 -      * marker.c (Fmarker_buffer): Make test for odd case into a failure.
 +2011-06-05  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * buffer.c (Fget_buffer_create, init_buffer_once):
 -      * lread.c (defsubr):
 -      * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
 +      * gtkutil.c (xg_get_default_scrollbar_width): New function.
  
 -      * 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.
 +      * gtkutil.h: Declare xg_get_default_scrollbar_width.
  
 -      * 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.
 +      * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get
 +      min width by calling x_set_scroll_bar_default_width (Bug#8505).
  
 -      * 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.
 +2011-06-05  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * window.c (candidate_window_p): Only consider as visible frames that
 -      are on the same terminal.
 +      * xdisp.c (single_display_spec_intangible_p): Remove declaration.
  
 -      * m/ibms390x.h (MARKBIT): Remove unused macro.
 +2011-06-04  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
 +      * xselect.c (x_clipboard_manager_save): Remove redundant arg.
 +      (x_clipboard_manager_save): Add return value.
 +      (x_clipboard_manager_error_1, x_clipboard_manager_error_2):
 +      New error handlers.
 +      (x_clipboard_manager_save_frame, x_clipboard_manager_save_all):
 +      Obey Vx_select_enable_clipboard_manager.  Catch errors in
 +      x_clipboard_manager_save (Bug#8779).
 +      (Vx_select_enable_clipboard_manager): New variable.
 +      (x_get_foreign_selection): Reduce scope of x_catch_errors (Bug#8790).
  
 -      * lread.c (Fload): Fix typo in docstring.
 +2011-06-04  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2007-10-01  Michaël Cadilhac  <michael@cadilhac.name>
 +      * emacs.c (main): Warn when starting a GTK emacs in daemon mode.
  
 -      * floatfns.c (Fexpt): Manually check for overflows, so that a power
 -      of a non-zero value can't yield zero.
 +2011-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * fringe.c (update_window_fringes): Don't update overlay arrow bitmap
 +      in the current matrix if keep_current_p is non-zero.
  
 -      * term.c (term_clear_mouse_face, term_mouse_highlight)
 -      (tty_write_glyphs_with_face): Only define is HAVE_GPM.
 +2011-06-04  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (bidi_level_of_next_char): Fix last change.
 +
 +2011-06-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Support bidi reordering of text covered by display properties.
 +
 +      * bidi.c (bidi_copy_it): Use offsetof instead of emulating it.
 +      (bidi_fetch_char, bidi_fetch_char_advance): New functions.
 +      (bidi_cache_search, bidi_cache_iterator_state)
 +      (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
 +      (bidi_level_of_next_char, bidi_move_to_visually_next):
 +      Support character positions inside a run of characters covered by a
 +      display string.
 +      (bidi_paragraph_init, bidi_resolve_explicit_1)
 +      (bidi_level_of_next_char): Call bidi_fetch_char and
 +      bidi_fetch_char_advance instead of FETCH_CHAR and
 +      FETCH_CHAR_ADVANCE.
 +      (bidi_init_it): Initialize new members.
 +      (LRE_CHAR, RLE_CHAR, PDF_CHAR, LRO_CHAR, RLO_CHAR): Remove macro
 +      definitions.
 +      (bidi_explicit_dir_char): Lookup character type in bidi_type_table,
 +      instead of using explicit *_CHAR codes.
 +      (bidi_resolve_explicit, bidi_resolve_weak):
 +      Use FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of
 +      bidirectional text is supported only in multibyte buffers.
 +      (bidi_init_it): Accept additional argument FRAME_WINDOW_P and use
 +      it to initialize the frame_window_p member of struct bidi_it.
 +      (bidi_cache_iterator_state, bidi_resolve_explicit_1)
 +      (bidi_resolve_explicit, bidi_resolve_weak)
 +      (bidi_level_of_next_char, bidi_move_to_visually_next): Abort if
 +      bidi_it->nchars is non-positive.
 +      (bidi_level_of_next_char): Don't try to lookup the cache for the
 +      next/previous character if nothing is cached there yet, or if we
 +      were just reseat()'ed to a new position.
 +
 +      * xdisp.c (set_cursor_from_row): Set start and stop points
 +      according to the row's direction when priming the loop that looks
 +      for the glyph on which to display cursor.
 +      (single_display_spec_intangible_p): Function deleted.
 +      (display_prop_intangible_p): Reimplement to call
 +      handle_display_spec instead of single_display_spec_intangible_p.
 +      Accept 3 additional arguments needed by handle_display_spec.
 +      This fixes incorrect cursor motion across display property with complex
 +      values: lists, `(when COND...)' forms, etc.
 +      (single_display_spec_string_p): Support property values that are
 +      lists with the argument STRING its top-level element.
 +      (display_prop_string_p): Fix the condition for processing a
 +      property that is a list to be consistent with handle_display_spec.
 +      (handle_display_spec): New function, refactored from the
 +      last portion of handle_display_prop.
 +      (compute_display_string_pos): Accept additional argument
 +      FRAME_WINDOW_P.  Call handle_display_spec to determine whether the
 +      value of a `display' property is a "replacing spec".
 +      (handle_single_display_spec): Accept 2 additional arguments BUFPOS
 +      and FRAME_WINDOW_P.  If IT is NULL, don't set up the iterator from
 +      the display property, but just return a value indicating whether
 +      the display property will replace the characters it covers.
 +      (Fcurrent_bidi_paragraph_direction): Initialize the nchars and
 +      frame_window_p members of struct bidi_it.
 +      (compute_display_string_pos, compute_display_string_end):
 +      New functions.
 +      (push_it): Accept second argument POSITION, where pop_it should
 +      jump to continue iteration.
 +      (reseat_1): Initialize bidi_it.disp_pos.
 +
 +      * keyboard.c (adjust_point_for_property): Adjust the call to
 +      display_prop_intangible_p to its new signature.
 +
 +      * dispextern.h (struct bidi_it): New member frame_window_p.
 +      (bidi_init_it): Update prototypes.
 +      (display_prop_intangible_p): Update prototype.
 +      (compute_display_string_pos, compute_display_string_end):
 +      Declare prototypes.
 +      (struct bidi_it): New members nchars and disp_pos.  ch_len is now
 +      EMACS_INT.
  
 -      * print.c (safe_debug_print): Use XHASH.
 +2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Malloc failure behavior now depends on size of allocation.
 +      * alloc.c (buffer_memory_full, memory_full): New arg NBYTES.
 +      * lisp.h: Change signatures accordingly.
 +      * alloc.c, buffer.c, editfns.c, menu.c, minibuf.c, xterm.c:
 +      All callers changed.  (Bug#8762)
 +
 +      * gnutls.c: Use Emacs's memory allocators.
 +      Without this change, the gnutls library would invoke malloc etc.
 +      directly, which causes problems on non-SYNC_INPUT hosts, and which
 +      runs afoul of improving memory_full behavior.  (Bug#8761)
 +      (fn_gnutls_global_set_mem_functions): New macro or function pointer.
 +      (emacs_gnutls_global_init): Use it to specify xmalloc, xrealloc,
 +      xfree instead of the default malloc, realloc, free.
 +      (Fgnutls_boot): No need to check for memory allocation failure,
 +      since xmalloc does that for us.
 +
 +      Remove arbitrary limit of 2**31 entries in hash tables.  (Bug#8771)
 +      * category.c (hash_get_category_set):
 +      * ccl.c (ccl_driver):
 +      * charset.c (Fdefine_charset_internal):
 +      * charset.h (struct charset.hash_index):
 +      * composite.c (get_composition_id, gstring_lookup_cache)
 +      (composition_gstring_put_cache):
 +      * composite.h (struct composition.hash_index):
 +      * dispextern.h (struct image.hash):
 +      * fns.c (next_almost_prime, larger_vector, cmpfn_eql)
 +      (cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
 +      (hashfn_equal, hashfn_user_defined, make_hash_table)
 +      (maybe_resize_hash_table, hash_lookup, hash_put)
 +      (hash_remove_from_table, hash_clear, sweep_weak_table, SXHASH_COMBINE)
 +      (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector)
 +      (Fsxhash, Fgethash, Fputhash, Fmaphash):
 +      * image.c (make_image, search_image_cache, lookup_image)
 +      (xpm_put_color_table_h):
 +      * lisp.h (struct Lisp_Hash_Table):
 +      * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
 +      * print.c (print): Use 'EMACS_UINT' and 'EMACS_INT'
 +      for hashes and hash indexes, instead of 'unsigned' and 'int'.
 +      * alloc.c (allocate_vectorlike):
 +      Check for overflow in vector size calculations.
 +      * ccl.c (ccl_driver):
 +      Check for overflow when converting EMACS_INT to int.
 +      * fns.c, image.c: Remove unnecessary static decls that would otherwise
 +      need to be updated by these changes.
 +      * fns.c (make_hash_table, maybe_resize_hash_table):
 +      Check for integer overflow with large hash tables.
 +      (make_hash_table, maybe_resize_hash_table, Fmake_hash_table):
 +      Prefer the faster XFLOAT_DATA to XFLOATINT where either will do.
 +      (SXHASH_REDUCE): New macro.
 +      (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector):
 +      Use it instead of discarding useful hash info with large hash values.
 +      (sxhash_float): New function.
 +      (sxhash): Use it.  No more need for "& INTMASK" due to above changes.
 +      * lisp.h (FIXNUM_BITS): New macro, useful for SXHASH_REDUCE etc.
 +      (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
 +      Rewrite to use FIXNUM_BITS, as this simplifies things.
 +      (next_almost_prime, larger_vector, sxhash, hash_lookup, hash_put):
 +      Adjust signatures to match updated version of code.
 +      (consing_since_gc): Now EMACS_INT, since a single hash table can
 +      use more than INT_MAX bytes.
  
 -      * 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.
 +2011-06-01  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * 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.
 +      Make it possible to build with GCC-4.6+ -O2 -flto.
  
 -      * 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.
 +      * emacs.c (__malloc_initialize_hook): Mark as EXTERNALLY_VISIBLE.
  
 -      * 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.
 +2011-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * minibuf.c (get_minibuffer, read_minibuf_unwind):
 +      Call minibuffer-inactive-mode.
  
 -      * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
 -      loaded by default.
 +2011-05-31  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * makefile.w32-in ($(BLD)/data.$(O), $(BLD)/editfns.$(O)):
 +      Update dependencies.
  
 -      * 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.
 +2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * 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.
 +      * data.c (init_data): Remove code for UTS, this system is not
 +      supported anymore.
  
 -2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
 -      (init_sys_modes): Check that gpm_tty is the current tty.
 +      Don't force ./temacs to start in terminal mode.
  
 -      * 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.
 +      * frame.c (make_initial_frame): Initialize faces in all cases, not
 +      only when CANNOT_DUMP is defined.
 +      * dispnew.c (init_display): Remove CANNOT_DUMP condition.
  
 -      * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
 -      the GC to the beginning.
 +2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * indent.h:
 -      * indent.c: Use EMACS_INT for ints coming from Elisp data.
 +      * dispnew.c (add_window_display_history): Use const for the string
 +      pointer.  Remove declaration, not needed.
  
 -      * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
 +2011-05-31  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-09-25  Jason Rumney  <jasonr@gnu.org>
 +      Use 'inline', not 'INLINE'.
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00914.html>
 +      * alloc.c, fontset.c (INLINE): Remove.
 +      * alloc.c, bidi.c, charset.c, coding.c, dispnew.c, fns.c, image.c:
 +      * intervals.c, keyboard.c, process.c, syntax.c, textprop.c, w32term.c:
 +      * xdisp.c, xfaces.c, xterm.c: Replace all uses of INLINE with inline.
 +      * gmalloc.c (register_heapinfo): Use inline unconditionally.
 +      * lisp.h (LISP_MAKE_RVALUE): Use inline, not __inline__.
  
 -      * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
 +2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * w32console.c (create_w32cons_output): Remove.
 +      Make it possible to run ./temacs.
  
 -      * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
 +      * callproc.c (set_initial_environment): Remove CANNOT_DUMP code,
 +      syms_of_callproc does the same thing.  Remove test for
 +      "initialized", do it in the caller.
 +      * emacs.c (main): Avoid calling set_initial_environment when dumping.
  
 -      * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
 -      (reset_sys_modes): Use reset_terminal_modes_hook.
 +2011-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * minibuf.c (Finternal_complete_buffer): Return `category' metadata.
 +      (read_minibuf): Use get_minibuffer.
 +      (syms_of_minibuf): Use DEFSYM.
 +      (Qmetadata): New var.
 +      * data.c (Qbuffer): Don't make it static.
 +      (syms_of_data): Use DEFSYM.
  
 -      * eval.c (do_autoload): Don't output any message.
 +2011-05-31  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-09-24  Juri Linkov  <juri@jurta.org>
 +      * ccl.c (CCL_CODE_RANGE): Allow negative numbers.  (Bug#8751)
 +      (CCL_CODE_MIN): New macro.
  
 -      * emacs.c (standard_args): Change priority of "--no-splash"
 -      from 40 to 3.  Add "--no-desktop" with the same priority.
 +2011-05-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +      * alloc.c (lisp_align_malloc): Omit unnecessary val==NULL tests.
  
 -      * alloc.c (gc_sweep): Check cons cell mark bits word by word
 -      and optimize the case where they are all 1.
 +      * eval.c (Qdebug): Now static.
 +      * lisp.h (Qdebug): Remove decl.  This reverts a part of the
 +      2011-04-26T11:26:05Z!dan.colascione@gmail.com that inadvertently undid part of
 +      2011-04-14T06:48:41Z!eggert@cs.ucla.edu.
  
 -2007-09-23  Johannes Weiner  <hannes@saeurebad.de>
 +2011-05-29  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * image.c: Various fixes to ImageMagick code comments.
 +      (Fimagemagick_types): Doc fix.
  
 -2007-09-22  Eli Zaretskii  <eliz@gnu.org>
 +2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      Minor fixes prompted by GCC 4.6.0 warnings.
  
 -2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * xselect.c (converted_selections, conversion_fail_tag): Now static.
  
 -      * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
 -      up the tty state.
 +      * emacs.c [HAVE_X_WINDOWS]: Include "xterm.h".
 +      (x_clipboard_manager_save_all): Move extern decl to ...
 +      * xterm.h: ... here, so that it can be checked for consistency.
  
 -2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-05-29  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * xselect.c (x_clipboard_manager_save_frame)
 +      (x_clipboard_manager_save_all): New functions.
 +      (Fx_clipboard_manager_save): Lisp function deleted.
  
 -2007-09-21  Juanma Barranquero  <lekktu@gmail.com>
 +      * emacs.c (Fkill_emacs): Call x_clipboard_manager_save_all.
 +      * frame.c (delete_frame): Call x_clipboard_manager_save_frame.
  
 -      * w32term.c (x_draw_glyph_string): Use strike_through_color, not
 -      underline_color, to draw strike-through.
 +      * xterm.h: Update prototype.
  
 -2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-05-28  William Xu  <william.xwl@gmail.com>
  
 -      * lisp.h (allocate_terminal): Declare.
 +      * nsterm.m (ns_term_shutdown): Synchronize user defaults before
 +      exiting (Bug#8239).
  
 -      * 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).
 +2011-05-28  Jim Meyering  <meyering@redhat.com>
  
 -      * frame.c (Qdisplay_environment_variable):
 -      * frame.h (Qdisplay_environment_variable): Delete.
 +      Avoid a sign-extension bug in crypto_hash_function.
 +      * fns.c (to_uchar): Define.
 +      (crypto_hash_function): Use it to convert some newly-signed
 +      variables to unsigned, to avoid sign-extension bugs.  For example,
 +      without this change, (md5 "truc") would evaluate to
 +      45723a2aff78ff4fff7fff1114760e62 rather than the expected
 +      45723a2af3788c4ff17f8d1114760e62.  Reported by Antoine Levitt in
 +      https://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00883.html.
  
 -      * .gdbinit (xbacktrace): Print the arg's address rather than the value
 -      of the first arg, since that value may be a union.
 +2011-05-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      Integer overflow fixes.
  
 -2007-09-21  Glenn Morris  <rgm@gnu.org>
 +      * dbusbind.c: Serial number integer overflow fixes.
 +      (CHECK_DBUS_SERIAL_GET_SERIAL): New macro.
 +      (Fdbus_call_method_asynchronously, xd_read_message_1): Use a float
 +      to hold a serial number that is too large for a fixnum.
 +      (Fdbus_method_return_internal, Fdbus_method_error_internal):
 +      Check for serial numbers out of range.  Decode any serial number
 +      that was so large that it became a float.  (Bug#8722)
 +
 +      * dbusbind.c: Use XFASTINT rather than XUINT, and check for nonneg.
 +      (Fdbus_call_method, Fdbus_call_method_asynchronously):
 +      Use XFASTINT rather than XUINT when numbers are nonnegative.
 +      (xd_append_arg, Fdbus_method_return_internal):
 +      (Fdbus_method_error_internal): Likewise.  Also, for unsigned
 +      arguments, check that Lisp number is nonnegative, rather than
 +      silently wrapping negative numbers around.  (Bug#8722)
 +      (xd_read_message_1): Don't assume dbus_uint32_t can fit in int.
 +      (Bug#8722)
 +
 +      * data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT.
 +
 +      * ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'.
 +
 +      ccl: add integer overflow checks
 +      * ccl.c (CCL_CODE_MAX, GET_CCL_RANGE, GET_CCL_CODE, GET_CCL_INT):
 +      (IN_INT_RANGE): New macros.
 +      (ccl_driver): Use them to check for integer overflow when
 +      decoding a CCL program.  Many of the new checks are whether XINT (x)
 +      fits in int; it doesn't always, on 64-bit hosts.  The new version
 +      doesn't catch all possible integer overflows, but it's an
 +      improvement.  (Bug#8719)
 +
 +      * alloc.c (make_event_array): Use XINT, not XUINT.
 +      There's no need for unsigned here.
 +
 +      * mem-limits.h (EXCEEDS_LISP_PTR) [!USE_LSB_TAG]: EMACS_UINT -> uintptr_t
 +      This follows up to the 2011-05-06 change that substituted uintptr_t
 +      for EMACS_INT.  This case wasn't caught back then.
 +
 +      Rework Fformat to avoid integer overflow issues.
 +      * editfns.c: Include <float.h> unconditionally, as it's everywhere
 +      now (part of C89).  Include <verify.h>.
 +      (MAX_10_EXP, CONVERTED_BYTE_SIZE): Remove; no longer needed.
 +      (pWIDE, pWIDElen, signed_wide, unsigned_wide): New defns.
 +      (Fformat): Avoid the prepass trying to compute sizes; it was only
 +      approximate and thus did not catch overflow reliably.  Instead, walk
 +      through the format just once, formatting and computing sizes as we go,
 +      checking for integer overflow at every step, and allocating a larger
 +      buffer as needed.  Keep track separately whether the format is
 +      multibyte.  Keep only the most-recently calculated precision, rather
 +      than them all.  Record whether each argument has been converted to
 +      string.  Use EMACS_INT, not int, for byte and char and arg counts.
 +      Support field widths and precisions larger than INT_MAX.  Avoid
 +      sprintf's undefined behavior with conversion specifications such as %#d
 +      and %.0c.  Fix bug with strchr succeeding on '\0' when looking for
 +      flags.  Fix bug with (format "%c" 256.0).  Avoid integer overflow when
 +      formatting out-of-range floating point numbers with int
 +      formats.  (Bug#8668)
 +
 +      * lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN.
 +
 +      * data.c: Avoid integer truncation in expressions involving floats.
 +      * data.c: Include <intprops.h>.
 +      (arith_driver): When there's an integer overflow in an expression
 +      involving floating point, convert the integers to floating point
 +      so that the resulting value does not suffer from catastrophic
 +      integer truncation.  For example, on a 64-bit host (* 4
 +      most-negative-fixnum 0.5) should yield about -4.6e+18, not zero.
 +      Do not rely on undefined behavior after integer overflow.
 +
 +      merge count_size_as_multibyte, parse_str_to_multibyte
 +      * character.c, character.h (count_size_as_multibyte):
 +      Rename from parse_str_to_multibyte; all uses changed.
 +      Check for integer overflow.
 +      * insdel.c, lisp.h (count_size_as_multibyte): Remove,
 +      since it's now a duplicate of the other.  This is more of
 +      a character than a buffer op, so better that it's in character.c.
 +      * fns.c, print.c: Adjust to above changes.
 +
 +2011-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * xselect.c (x_convert_selection): Yet another int/Lisp_Object mixup.
 +
 +2011-05-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xselect.c: Fix minor problems prompted by GCC 4.6.0 warnings.
 +      (x_handle_selection_request, frame_for_x_selection): Remove unused vars.
 +      (x_clipboard_manager_save): Now static.
 +      (Fx_clipboard_manager_save): Rename local to avoid shadowing.
 +
 +      * fns.c: Fix minor problems prompted by GCC 4.6.0 warnings.
 +      (crypto_hash_function): Now static.
 +      Fix pointer signedness problems.  Avoid unnecessary initializations.
 +
 +2011-05-27  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * termhooks.h (Vselection_alist): Make it terminal-local.
 +
 +      * terminal.c (create_terminal): Initialize it.
 +
 +      * xselect.c: Support for clipboard managers.
 +      (Vselection_alist): Move to termhooks.h as terminal-local var.
 +      (LOCAL_SELECTION): New macro.
 +      (x_atom_to_symbol): Handle x_display_info_for_display fail case.
 +      (symbol_to_x_atom): Remove gratuitous arg.
 +      (x_handle_selection_request, lisp_data_to_selection_data)
 +      (x_get_foreign_selection, Fx_register_dnd_atom): Callers changed.
 +      (x_own_selection, x_get_local_selection, x_convert_selection):
 +      New arg, specifying work frame.  Use terminal-local Vselection_alist.
 +      (some_frame_on_display): Delete unused function.
 +      (Fx_own_selection_internal, Fx_get_selection_internal)
 +      (Fx_disown_selection_internal, Fx_selection_owner_p)
 +      (Fx_selection_exists_p): New optional frame arg.
 +      (frame_for_x_selection, Fx_clipboard_manager_save): New functions.
 +      (x_handle_selection_clear): Don't treat other terminals with the
 +      same keyboard specially.  Use the terminal-local Vselection_alist.
 +      (x_clear_frame_selections): Use Frun_hook_with_args.
 +
 +      * xterm.c (x_term_init): Intern ATOM and CLIPBOARD_MANAGER atoms.
 +
 +      * xterm.h: Add support for those atoms.
 +
 +2011-05-26  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * xselect.c: ICCCM-compliant handling of MULTIPLE targets.
 +      (converted_selections, conversion_fail_tag): New global variables.
 +      (x_selection_request_lisp_error): Free the above.
 +      (x_get_local_selection): Remove unnecessary code.
 +      (x_reply_selection_request): Args changed; handle arbitrary array
 +      of converted selections stored in converted_selections.
 +      Separate the XChangeProperty and SelectionNotify steps.
 +      (x_handle_selection_request): Rewrite to handle MULTIPLE target.
 +      (x_convert_selection): New function.
 +      (x_handle_selection_event): Simplify.
 +      (x_get_foreign_selection): Don't ignore incoming requests while
 +      waiting for an answer; this will fail when we implement
 +      SAVE_TARGETS, and seems unnecessary anyway.
 +      (selection_data_to_lisp_data): Recognize ATOM_PAIR type.
 +      (Vx_sent_selection_functions): Doc fix.
 +
 +2011-05-26  Leo Liu  <sdl.web@gmail.com>
 +
 +      * editfns.c (Ftranspose_regions): Allow empty regions.  (Bug#8699)
  
 -      * Makefile.in (emacstool): Remove target.
 -      (lisp, shortlisp): Remove termdev.elc.
 +2011-05-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-09-21  Markus Triska  <markus.triska@gmx.at>
 +      * dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p.
  
 -      * xterm.c (x_delete_display): Compile session management conditionally.
 +      * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row
 +      for fringe update if it has periodic bitmap.
 +      (row_equal_p): Also compare left_fringe_offset, right_fringe_offset,
 +      and fringe_bitmap_periodic_p.
  
 -2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * fringe.c (get_fringe_bitmap_data): New function.
 +      (draw_fringe_bitmap_1, update_window_fringes): Use it.
 +      (update_window_fringes): Record periodicity of fringe bitmap in glyph
 +      row.  Mark glyph row for fringe update if periodicity changed.
  
 -      * callproc.c (getenv_internal_1): New function.
 -      (getenv_internal): Use it.
 -      (Fgetenv_internal): Use it.  Accept an env-list as optional arg.
 +      * xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row
 +      for fringe update unless it has periodic bitmap.
  
 -      * 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.
 +2011-05-25  Kenichi Handa  <handa@m17n.org>
  
 -      * 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.
 +      * xdisp.c (get_next_display_element): Set correct it->face_id for
 +      a static composition.
  
 -      * 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.
 +2011-05-24  Leo Liu  <sdl.web@gmail.com>
  
 -      * 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.
 +      * deps.mk (fns.o):
 +      * makefile.w32-in ($(BLD)/fns.$(O)): Include sha1.h.
  
 -      * termhooks.h (struct terminal): Make it into a pseudovector.
 -      Remove `deleted' replaced by checking `name's nullness.
 +      * fns.c (crypto_hash_function, Fsha1): New function.
 +      (Fmd5): Use crypto_hash_function.
 +      (syms_of_fns): Add Ssha1.
  
 -      * print.c (print_object): Handle terminals.
 +2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * lisp.h (enum pvec_type): New `terminal' pseudovector.
 -      (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
 +      * gnutls.c: Remove unused macros.
 +      (fn_gnutls_transport_set_lowat, fn_gnutls_transport_set_pull_function):
 +      (fn_gnutls_transport_set_push_function) [!WINDOWSNT]:
 +      Remove macros that are defined and never used.
 +      Caught by gcc -Wunused-macros (GCC 4.6.0, Fedora 14).
  
 -      * 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.
 +2011-05-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-09-20  Glenn Morris  <rgm@gnu.org>
 +      * xselect.c (syms_of_xselect): Remove unused symbol SAVE_TARGETS.
 +      (Fx_get_selection_internal): Minor cleanup.
 +      (Fx_own_selection_internal): Rename arguments for consistency with
 +      select.el.
  
 -      * process.c (Fmake_network_process): Doc fix.
 +2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-09-19  Jason Rumney  <jasonr@gnu.org>
 +      * xselect.c (QSAVE_TARGETS): New static var, to fix build failure.
  
 -      * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
 +2011-05-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-09-19  Michaël Cadilhac  <michael@cadilhac.name>
 +      * xselect.c (syms_of_xselect): Include character.h; use DEFSYM.
  
 -      * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
 -      Fix a C warning regarding variable constness.
 +2011-05-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xterm.c (handle_one_xevent): Fix a C warning.
 +      * dispnew.c (scrolling_window): Don't exclude the case that the
 +      last enabled row in the desired matrix touches the bottom boundary.
  
 -2007-09-18  Jason Rumney  <jasonr@gnu.org>
 +2011-05-21  Glenn Morris  <rgm@gnu.org>
  
 -      * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
 +      * Makefile.in ($(etc)/DOC): Make second command line even shorter.
 +      (SOME_MACHINE_OBJECTS): Replace FONT_OBJ by its maximal expansion,
 +      and add some more files.
  
 -2007-09-17  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-05-20  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * callproc.c (Fcall_process) [MSDOS]: Fix arguments to
 +      report_file_error introduced by the change from 2011-05-07.
  
 -2007-09-16  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * systime.h (Time): Define only if emacs is defined.
 +      This is to allow ../lib-src/profile.c to be compiled on FreeBSD,
 +      where the include path doesn't have X11/X.h by default.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00561.html>.
  
 -2007-09-16  Andreas Schwab  <schwab@suse.de>
 +2011-05-20  Kenichi Handa  <handa@m17n.org>
  
 -      * alloc.c (reset_malloc_hooks): Set the hooks to the previous
 -      values instead of zapping them.
 +      * composite.c (find_automatic_composition): Fix previous change.
  
 -2007-09-14  Glenn Morris  <rgm@gnu.org>
 +2011-05-20  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.
 +      * lisp.mk: New file, split from Makefile.in.
 +      * Makefile.in (lisp): Move to separate file, inserted by @lisp_frag@.
 +      (shortlisp): Remove.
 +      ($(etc)/DOC): Edit lisp.mk rather than using $shortlisp.
  
 -2007-09-14  Kenichi Handa  <handa@m17n.org>
 +2011-05-19  Glenn Morris  <rgm@gnu.org>
  
 -      * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
 +      * Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT)
 +      (REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
 +      (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove.
 +      (lisp): Set the order to that of loadup.el.
 +      (shortlisp): Make it a copy of $lisp.
 +      (SOME_MACHINE_LISP): Remove.
 +      ($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too.
 +      Use just $shortlisp, not $SOME_MACHINE_LISP too.
  
 -2007-09-13  Jason Rumney  <jasonr@gnu.org>
 +2011-05-18  Kenichi Handa  <handa@m17n.org>
  
 -      * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
 +      * composite.c (CHAR_COMPOSABLE_P): Add more check for efficiency.
 +      (BACKWARD_CHAR): Wrap the arg STOP by parenthesis.
 +      (find_automatic_composition): Mostly rewrite for efficiency.
  
 -      * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
 +2011-05-18  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * macterm.c (mac_initialize): Don't call mac_init_fringe here.
 -      (mac_term_init): Call here instead, passing rif.
 +      * makefile.w32-in: Update dependencies.
  
 -2007-09-13  Glenn Morris  <rgm@gnu.org>
 +2011-05-18  Christoph Scholtes  <cschol2112@googlemail.com>
  
 -      * s/hpux.h: No longer define `static' as nothing.
 +      * menu.c: Include limits.h (fixes the MS-Windows build broken by
 +      2011-06-18T18:49:19Z!cyd@stupidchicken.com).
  
 -2007-09-13  Johan BockgÃ¥rd  <bojohan@gnu.org>
 +2011-05-18  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * callint.c (Fcall_interactively): Remove unused var `fun'.
 +      Fix some integer overflow issues, such as string length overflow.
  
 -2007-09-12  Romain Francoise  <romain@orebokech.com>
 +      * insdel.c (count_size_as_multibyte): Check for string overflow.
  
 -      * window.c (prefer_window_split_horizontally, display_buffer):
 -      Revert 2007-09-08 change.
 +      * character.c (lisp_string_width): Check for string overflow.
 +      Use EMACS_INT, not int, for string indexes and lengths; in
 +      particular, 2nd arg is now EMACS_INT, not int.  Do not crash if
 +      the resulting string length overflows an EMACS_INT; instead,
 +      report a string overflow if no precision given.  When checking for
 +      precision exhaustion, use a check that cannot possibly have
 +      integer overflow.  (Bug#8675)
 +      * character.h (lisp_string_width): Adjust to new signature.
  
 -2007-09-12  Glenn Morris  <rgm@gnu.org>
 +      * alloc.c (string_overflow): New function.
 +      (Fmake_string): Use it.  This doesn't change behavior, but saves
 +      a few bytes and will simplify future changes.
 +      * character.c (string_escape_byte8): Likewise.
 +      * lisp.h (string_overflow): New decl.
  
 -      * 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.
 +      Fixups, following up to the user-interface timestamp change.
 +      * nsterm.m (last_mouse_movement_time, ns_mouse_position): Use Time
 +      for UI timestamps, instead of unsigned long.
 +      * msdos.c (mouse_get_pos): Likewise.
 +      * w32inevt.c (movement_time, w32_console_mouse_position): Likewise.
 +      * w32gui.h (Time): Define by including "systime.h" rather than by
 +      declaring it ourselves.  (Bug#8664)
  
 -      * Makefile.in (SOURCES, unlock, relock): Delete.
 +      * dispextern.h (struct image): Don't assume time_t <= unsigned long.
 +      * image.c (clear_image_cache): Likewise.
  
 -      * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
 -      (menu_grab_callback): All uses changed.
 +      * term.c (term_mouse_position): Don't assume time_t wraparound.
  
 -      * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
 -      (x_reply_selection_request): All uses changed.
 +      Be more systematic about user-interface timestamps.
 +      Before, the code sometimes used 'Time', sometimes 'unsigned long',
 +      and sometimes 'EMACS_UINT', to represent these timestamps.
 +      This change causes it to use 'Time' uniformly, as that's what X uses.
 +      This makes the code easier to follow, and makes it easier to catch
 +      integer overflow bugs such as Bug#8664.
 +      * frame.c (Fmouse_position, Fmouse_pixel_position):
 +      Use Time, not unsigned long, for user-interface timestamps.
 +      * keyboard.c (last_event_timestamp, kbd_buffer_get_event): Likewise.
 +      (button_down_time, make_lispy_position, make_lispy_movement): Likewise.
 +      * keyboard.h (last_event_timestamp): Likewise.
 +      * menu.c (Fx_popup_menu) [!HAVE_X_WINDOWS]: Likewise.
 +      * menu.h (xmenu_show): Likewise.
 +      * term.c (term_mouse_position): Likewise.
 +      * termhooks.h (struct input_event.timestamp): Likewise.
 +      (struct terminal.mouse_position_hook): Likewise.
 +      * xmenu.c (create_and_show_popup_menu, xmenu_show): Likewise.
 +      * xterm.c (XTmouse_position, x_scroll_bar_report_motion): Likewise.
 +      * systime.h (Time): New decl.  Pull it in from <X11/X.h> if
 +      HAVE_X_WINDOWS, otherwise define it as unsigned long, which is
 +      what it was before.
 +      * menu.h, termhooks.h: Include "systime.h", for Time.
 +
 +      * keyboard.c (make_lispy_event): Fix problem in integer overflow.
 +      Don't assume that the difference between two unsigned long values
 +      can fit into an integer.  At this point, we know button_down_time
 +      <= event->timestamp, so the difference must be nonnegative, so
 +      there's no need to cast the result if double-click-time is
 +      nonnegative, as it should be; check that it's nonnegative, just in
 +      case.  This bug is triggered when events are more than 2**31 ms
 +      apart (about 25 days).  (Bug#8664)
 +
 +      * xselect.c (last_event_timestamp): Remove duplicate decl.
 +      (x_own_selection): Remove needless cast to unsigned long.
 +
 +      * xmenu.c (set_frame_menubar): Use int, not EMACS_UINT, for indexes
 +      that always fit in int.  Use a sentinel instead of a counter, to
 +      avoid a temp and to allay GCC's concerns about possible int overflow.
 +      * frame.h (struct frame): Use int for menu_bar_items_used
 +      instead of EMACS_INT, since it always fits in int.
 +
 +      * menu.c (grow_menu_items): Check for int overflow.
 +
 +      * xmenu.c (set_frame_menubar): Don't mishandle vectors with no nils.
 +
 +      * xterm.c: Use EMACS_INT for Emacs modifiers, and int for X modifiers.
 +      Before, the code was not consistent.  These values cannot exceed
 +      2**31 - 1 so there's no need to make them unsigned.
 +      (x_x_to_emacs_modifiers): Accept int and return EMACS_INT.
 +      (x_emacs_to_x_modifiers): Accept EMACS_INT and return int.
 +      (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Reject non-integers
 +      as modifiers.
 +      * xterm.h (x_x_to_emacs_modifiers): Adjust to signature change.
 +
 +      * lisp.h (XINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_INT.
 +      (XUINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_UINT.
 +      Otherwise, GCC 4.6.0 warns about printf (pI, XINT (...)),
 +      presumably because the widths might not match.
 +
 +      * window.c (size_window): Avoid needless test at loop start.
 +
 +2011-05-18  Courtney Bane  <emacs-bugs-7626@cbane.org>  (tiny change)
 +
 +      * term.c (Fresume_tty): Restore hooks before reinitializing (bug#8687).
 +
 +2011-05-12  Drew Adams  <drew.adams@oracle.com>
  
 -2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655).
  
 -      * lread.c (load_warn_old_style_backquotes): Change message to look
 -      better when it appears in the middle of byte-compiler messages.
 +2011-05-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and
 +      `width' to `bar_area_x' and `bar_area_width', respectively.
 +      (x_scroll_run): Take account of fringe background extension.
  
 -      * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
 +      * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
 +      Rename local vars `left' and `width' to `bar_area_x' and
 +      `bar_area_width', respectively.
 +      (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe
 +      background extension.
  
 -      * xterm.c (x_create_terminal): Add comment.
 +2011-05-10  Jim Meyering  <meyering@redhat.com>
  
 -      * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
 +      * xdisp.c (x_intersect_rectangles): Fix typo "the the -> the".
  
 -2007-09-10  Richard Stallman  <rms@gnu.org>
 +2011-05-10  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
 +      * image.c (Finit_image_library): Return t for built-in image types,
 +      like pbm and xbm.  (Bug#8640)
  
 -2007-09-10  Michaël Cadilhac  <michael@cadilhac.name>
 +2011-05-09  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
 -      (DEFUN): Document `intspec', use it instead of `prompt'.
 +      * w32menu.c (set_frame_menubar): Fix submenu allocation.
  
 -      * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
 +2011-05-07  Eli Zaretskii  <eliz@gnu.org>
  
 -      * data.c (Finteractive_form): If the interactive specification starts
 -      with a `(', use it as a Lisp form.
 +      * w32console.c (Fset_screen_color): Doc fix.
 +      (Fget_screen_color): New function.
 +      (syms_of_ntterm): Defsubr it.
  
 -      * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
 -      name and file modes.
 +      * callproc.c (call_process_cleanup) [MSDOS]: Don't close and
 +      unlink the temporary file if Fcall_process didn't create it in the
 +      first place.
 +      (Fcall_process) [MSDOS]: Don't create tempfile if stdout of the
 +      child process will be redirected to a file specified with `:file'.
 +      Don't try to re-open tempfile in that case, and set fd[0] to -1 as
 +      cue to call_process_cleanup not to close that handle.
  
 -      * callint.c (Fcall_interactively): Comment fixes.
 +2011-05-07  Ben Key  <bkey76@gmail.com>
  
 -2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * makefile.w32-in: The bootstrap-temacs rule now makes use of
 +      one of two shell specific rules, either bootstrap-temacs-CMD or
 +      bootstrap-temacs-SH.  The bootstrap-temacs-SH rule is identical
 +      to the previous implementation of the bootstrap-temacs rule.
 +      The bootstrap-temacs-CMD rule is similar to the previous
 +      implementation of the bootstrap-temacs rule except that it
 +      makes use of the ESC_CFLAGS variable instead of the CFLAGS
 +      variable.
  
 -      * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
 -      and compiled functions.
 +      These changes, along with some changes to nt/configure.bat,
 +      nt/gmake.defs, and nt/nmake.defs, are required to extend my
 +      earlier fix to add support for --cflags and --ldflags options
 +      that include quotes so that it works whether make uses cmd or
 +      sh as the shell.
  
 -2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>
 +2011-05-06  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * window.c (prefer_window_split_horizontally): New variable.
 -      (display_buffer): Consider splitting window horizontally depending
 -      on prefer_window_split_horizontally.
 +      * dbusbind.c (QCdbus_type_unix_fd): Declare static.
 +      (xd_remove_watch): Don't check QCdbus_type_unix_fd for SYMBOLP, it
 +      is a constant.
 +      (Fdbus_init_bus, xd_read_queued_messages): Bus can be a symbol or
 +      a string.  Handle both cases.
 +      (Fdbus_call_method_asynchronously, Fdbus_register_signal)
 +      (Fdbus_register_method): Use Qinvalid_function.
  
 -2007-09-08  Eli Zaretskii  <eliz@gnu.org>
 +2011-05-06  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
 +      * makefile.w32-in: Update dependencies.
 +      (LISP_H): Add inttypes.h and stdin.h.
 +      (PROCESS_H): Add unistd.h.
 +
 +2011-05-06  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * lread.c: Include limits.h (fixes the MS-Windows build broken by
 +      2011-05-06T07:13:19Z!eggert@cs.ucla.edu).
 +
 +2011-05-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * image.c (Finit_image_library) [!HAVE_NTGUI]: Omit unused local.
 +
 +      * term.c (vfatal): Remove stray call to va_end.
 +      It's not needed and the C Standard doesn't allow it here anyway.
 +
 +      Use C99's va_copy to avoid undefined behavior on x86-64 GNU/Linux.
 +      * eval.c (verror): doprnt a copy of ap, not the original.  (Bug#8545)
 +
 +      * eval.c (verror): OK to create a string of up to MOST_POSITIVE_FIXNUM
 +      bytes.
 +
 +      * term.c: Don't include <stdarg.h>, as <lisp.h> does that.
 +
 +      * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering.
 +
 +      * process.c (Fformat_network_address): Fix typo: args2 -> *args2.
 +
 +      * xmenu.c (set_frame_menubar): Fix typo: int * -> int (3 times).
 +
 +      * coding.c (detect_coding_charset): Fix typo: * 2 -> *4 (Bug#8601).
 +
 +      * charset.h (struct charset.code_space): Now has 15 elements, not 16.
 +      * charset.c (Fdefine_charset_internal): Don't initialize
 +      charset.code_space[15].  The value was garbage, on hosts with
 +      32-bit int (Bug#8600).
  
 -2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * lread.c (read_integer): Be more consistent with string-to-number.
 +      Use string_to_number to do the actual conversion; this avoids
 +      rounding errors and fixes some other screwups.  Without this fix,
 +      for example, #x1fffffffffffffff was misread as -2305843009213693952.
 +      (digit_to_number): Move earlier, for benefit of read_integer.
 +      Return -1 if the digit is out of range for the base, -2 if it is
 +      not a digit in any supported base.  (Bug#8602)
  
 -      * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
 +      * doprnt.c (doprnt): Support arbitrary pI values, such as "I64".
  
 -      * frame.c (x_set_frame_parameters): Check number is positive before
 -      using XFASTINT.
 +      * dispnew.c (scrolling_window): Return 1 if we scrolled,
 +      to match comment at start of function.  This also removes a
 +      GCC warning about overflow in a 32+64-bit port.
  
 -      * 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.
 +      * lisp.h (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Simplify.
  
 -2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)
 +      * dbusbind.c: Do not use XPNTR on a value that may be an integer.
 +      Reported by Stefan Monnier in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00919.html>.
 +      (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages):
 +      Use SYMBOLP-guarded XSYMBOL, not XPNTR.
  
 -      * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
 +      * lisp.h (EMACS_INTPTR): Remove.  All uses changed to intptr_t.
 +      (EMACS_UINTPTR): Likewise, with uintptr_t.
  
 -2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * lisp.h: Prefer 64-bit EMACS_INT if available.
 +      (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Define to 64-bit
 +      on 32-bit hosts that have 64-bit int, so that they can access
 +      large files.
 +      However, temporarily disable this change unless the temporary
 +      symbol WIDE_EMACS_INT is defined.
  
 -      * window.c (Vsplit_window_preferred_function): New var.
 -      (Fdisplay_buffer): Use it.
 -      (syms_of_window): Export, and initialize it.
 +      * lread.c, process.c: Do not include <inttypes.h>; lisp.h does it now.
  
 -2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)
 +      Prefer intptr_t/uintptr_t for integers the same widths as pointers.
 +      This removes an assumption that EMACS_INT and long are the same
 +      width as pointers.  The assumption is true for Emacs porting targets
 +      now, but we want to make other targets possible.
 +      * lisp.h: Include <inttypes.h>, for INTPTR_MAX, UINTPTR_MAX.
 +      (EMACS_INTPTR, EMACS_UINTPTR): New macros.
 +      In the rest of the code, change types of integers that hold casted
 +      pointers to EMACS_INTPTR and EMACS_UINTPTR, systematically
 +      replacing EMACS_INT, long, EMACS_UINT, and unsigned long.
 +      (XTYPE): Don't cast arg to EMACS_UINT; normally is not needed.
 +      (XSET): Cast type of XTYPE arg to EMACS_INTPTR; it is needed here.
 +      No need to cast type when ORing.
 +      (XPNTR): Return a value of type EMACS_INTPTR or EMACS_UINTPTR.
 +      * alloc.c (lisp_align_malloc): Remove a no-longer-needed cast.
 +      * doc.c (store_function_docstring): Use EMACS_INTPTR, so as not to
 +      assume EMACS_INT is the same width as char *.
 +      * gtkutil.c (xg_gtk_scroll_destroy, xg_tool_bar_button_cb):
 +      (xg_tool_bar_callback, xg_tool_bar_help_callback, xg_make_tool_item):
 +      Remove no-longer-needed casts.
 +      (xg_create_scroll_bar, xg_tool_bar_button_cb, xg_tool_bar_callback):
 +      (xg_tool_bar_help_callback, xg_make_tool_item):
 +      Use EMACS_INTPTR to hold an integer
 +      that will be cast to void *; this can avoid a GCC warning
 +      if EMACS_INT is not the same width as void *.
 +      * menu.c (find_and_call_menu_selection): Remove no-longer-needed cast.
 +      * xdisp.c (display_echo_area_1, resize_mini_window_1):
 +      (current_message_1, set_message_1):
 +      Use a local to convert to proper width without a cast.
 +      * xmenu.c (dialog_selection_callback): Likewise.
  
 -      * image.c (gif_load): Fix bug: Handle nonexistent colormap.
 +      * sysdep.c (get_random): Don't assume EMACS_INT is no wider than long.
 +      Also, don't assume VALBITS / RAND_BITS is less than 5,
 +      and don't rely on undefined behavior when shifting a 1 left into
 +      the sign bit.
 +      * lisp.h (get_random): Change signature to match.
 +
 +      * lread.c (hash_string): Use size_t, not int, for hash computation.
 +      Normally we prefer signed values; but hashing is special, because
 +      it's better to use unsigned division on hash table sizes so that
 +      the remainder is nonnegative.  Also, size_t is the natural width
 +      for hashing into memory.  The previous code used 'int', which doesn't
 +      retain enough info to hash well into very large tables.
 +      (oblookup, oblookup_last_bucket_number, Funintern): Likewise.
 +
 +      * dbusbind.c: Don't possibly lose pointer info when converting.
 +      (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages):
 +      Use XPNTR rather than XHASH, so that the high-order bits of
 +      the pointer aren't lost when converting through void *.
 +
 +      * eval.c (Fautoload): Don't double-shift a pointer.
 +
 +      * fns.c (Frandom): Let EMACS_UINT be wider than unsigned long.
 +
 +2011-05-06  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * gnutls.c (DEF_GNUTLS_FN):
 +      * image.c (DEF_IMGLIB_FN): Make function pointers static.
 +
 +2011-05-05  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * lread.c (lisp_file_lexically_bound_p): Stop scanning at end
 +      marker.  (Bug#8610)
 +
 +2011-05-05  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-09-06  Glenn Morris  <rgm@gnu.org>
 +      * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]:
 +      New version that can reserve upto 2GB of heap space.
  
 -      * gtkutil.c (menu_grab_callback) <cnt>:
 -      * xselect.c (x_reply_selection_request) <cnt>: Move static
 -      variable to file scope.
 +2011-05-05  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534).
  
 -      * xdisp.c (redisplay_internal): Make sure Elisp code always sees
 -      consistent values of selected_frame and selected_window.
 +2011-05-05  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -2007-09-04  Jason Rumney  <jasonr@gnu.org>
 +      * gnutls.c (fn_gnutls_certificate_set_x509_key_file): Add alias to
 +      `gnutls_certificate_set_x509_key_file'.
  
 -      * w32console.c (initialize_w32_display): Zero unused hooks.
 +2011-05-05  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * makefile.w32-in ($(BLD)/image.$(O), $(BLD)/process.$(O)):
 +      Update dependencies.
  
 -      * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
 -      (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
 +2011-05-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-09-04  Jason Rumney  <jasonr@gnu.org>
 +      * gnutls.h (emacs_gnutls_write, emacs_gnutls_read):
 +      * gnutls.c (emacs_gnutls_write, emacs_gnutls_read):
 +      Remove unused parameter `fildes'.
 +      * process.c (read_process_output, send_process): Don't pass it.
  
 -      * 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.
 +2011-05-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * s/ms-w32.h (MULTI_KBOARD): Define.
 +      Fix previous change: the library cache is defined in w32.c.
 +      * image.c (CACHE_IMAGE_TYPE) [!HAVE_NTGUI]: Define to noop.
 +      (Finit_image_library): Wrap Vlibrary_cache on "#ifdef HAVE_NTGUI".
  
 -      * w32console.c (one_and_only_w32cons): Remove.
 -      (initialize_w32_display): Take terminal argument.
 +2011-05-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * term.c (init_tty) [WINDOWSNT]: Pass terminal to
 -      initialize_w32_display.
 -      (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
 +      Implement dynamic loading of GnuTLS on Windows.
  
 -      * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
 +      * gnutls.h (GNUTLS_EMACS_ERROR_NOT_LOADED): New macro.
 +      (emacs_gnutls_write, emacs_gnutls_read): Mark as extern.
 +      (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
 +      Declare.
  
 -      * 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.
 +      * gnutls.c (Qgnutls_dll): Define.
 +      (DEF_GNUTLS_FN, LOAD_GNUTLS_FN): New macros.
 +      (gnutls_*): Declare function pointers.
 +      (init_gnutls_functions): New function to initialize function pointers.
 +      (emacs_gnutls_handshake, Fgnutls_error_string, Fgnutls_deinit)
 +      (emacs_gnutls_global_init, Fgnutls_bye): Use function pointers.
 +      (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
 +      Wrappers for gnutls_record_check_pending and gnutls_transport_set_errno.
 +      (emacs_gnutls_write, emacs_gnutls_read)
 +      (emacs_gnutls_handle_error, Fgnutls_error_fatalp)
 +      (Fgnutls_available_p): New function.
 +      (Fgnutls_boot): Call Fgnutls_available_p.  Use function pointers.
 +      (syms_of_gnutls) <Qgnutls_dll>: Initialize and staticpro it.
 +      (syms_of_gnutls) <Sgnutls_available_p>: defsubr it.
  
 -      * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
 -      <WM_MOUSEHWHEEL>: Pass new system message to lisp.
 +      * image.c: Include w32.h.
 +      (Vimage_type_cache): Delete.
 +      (syms_of_image) <Vimage_type_cache>: Don't initialize and staticpro it.
 +      (CACHE_IMAGE_TYPE, Finit_image_library): Use Vlibrary_cache instead.
 +      (w32_delayed_load): Move to w32.c.
  
 -      * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
 +      * w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare.
  
 -      * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
 -      from WM_MOUSEHWHEEL.
 -      (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
 +      * w32.c (QCloaded_from, Vlibrary_cache): Define.
 +      (w32_delayed_load): Move from image.c.  When loading a library, record
 +      its filename in the :loaded-from property of the library id.
 +      (globals_of_w32) <QCloaded_from, Vlibrary_cache>:
 +      Initialize and staticpro them.
 +      (emacs_gnutls_pull, emacs_gnutls_push): Call emacs_gnutls_* functions.
  
 -      * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
 -      terminal.
 +      * process.c: Include lisp.h before w32.h, not after.
 +      (wait_reading_process_output): Call emacs_gnutls_record_check_pending
 +      instead of gnutls_record_check_pending.
  
 -      * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
 -      keyboard for the terminal.
 +      * callproc.c, emacs.c: Include lisp.h before w32.h, not after.
  
 -2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-05-04  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * 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.
 +      * gnutls.c (Fgnutls_boot): Support :keylist and :crlfiles options
 +      instead of :keyfiles.  Give GnuTLS the keylist and the CRL lists
 +      as passed in.
  
 -2007-09-02  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-05-03  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:".
 +      * xterm.c (x_set_frame_alpha): Do not set property on anything
 +      else than FRAME_X_OUTER_WINDOW (Bug#8608).
  
 -2007-08-31  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-05-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
 +      * sysdep.c (get_tty_size) [WINDOWSNT]: Implement.  (Bug#8596)
  
 -2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-05-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * frame.h:
 -      * frame.c (Qterm_environment_variable): Remove.
 -      (syms_of_frame): Don't init and staticpro it.
 +      * gnutls.c (Qgnutls_log_level, Qgnutls_code, Qgnutls_anon)
 +      (Qgnutls_x509pki, Qgnutls_e_interrupted, Qgnutls_e_again)
 +      (Qgnutls_e_invalid_session, Qgnutls_e_not_ready_for_handshake)
 +      (gnutls_global_initialized, Qgnutls_bootprop_priority)
 +      (Qgnutls_bootprop_trustfiles, Qgnutls_bootprop_keyfiles)
 +      (Qgnutls_bootprop_callbacks, Qgnutls_bootprop_loglevel)
 +      (Qgnutls_bootprop_hostname, Qgnutls_bootprop_verify_flags)
 +      (Qgnutls_bootprop_verify_error, Qgnutls_bootprop_verify_hostname_error)
 +      (Qgnutls_bootprop_callbacks_verify): Make static.
  
 -      * callproc.c (getenv_internal): Remove special case for $TERM.
 +2011-05-01  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * 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.
 +      * callproc.c: Indentation fixup.
  
 -2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * sysdep.c (wait_for_termination_1): Make static.
 +      (wait_for_termination, interruptible_wait_for_termination):
 +      Move after wait_for_termination_1.
  
 -      * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
 -      * s/darwin.h: ... do it here.
 +2011-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * sysdep.c (interruptible_wait_for_termination): New function
 +      which is like wait_for_termination, but allows keyboard
 +      interruptions.
  
 -      * lisp.h (set_initial_environment): Rename from set_global_environment.
 +      * callproc.c (Fcall_process): Add (:file "file") as an option for
 +      the STDOUT buffer.
 +      (Fcall_process_region): Ditto.
  
 -      * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
 -      removed by mistake on the multi-tty branch.
 +2011-04-30  Eli Zaretskii  <eliz@gnu.org>
  
 -      * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
 -      (Fmodify_frame_parameters): Return a value.
 +      * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Use `ASIZE (FOO)'
 +      rather than `XVECTOR (FOO)->size'.
  
 -      * image.c (png_load): Comment-out var only used in commented-out code.
 +      * process.c: Remove HAVE_INTTYPES_H condition from inclusion of
 +      inttypes.h, as a gnulib replacement is used if it not available in
 +      system headers.
  
 -      * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
 -      before passing it to mark_object.
 +2011-04-21  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xfaces.c (internal_resolve_face_name): Return a value.
 -      (internal_resolve_face_name, resolve_face_name_error): Comment out.
 +      Lift the MOST_POSITIVE_FIXNUM/4 limitation on visited files.
 +      * fileio.c (Finsert_file_contents): Don't limit file size to 1/4
 +      of MOST_POSITIVE_FIXNUM.  (Bug#8528)
  
 -      * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
 -      (x_icon): Comment-out var only used in commented-out code.
 +      * coding.c (coding_alloc_by_realloc): Error out if destination
 +      will grow beyond MOST_POSITIVE_FIXNUM.
 +      (decode_coding_emacs_mule): Abort if there isn't enough place in
 +      charbuf for the composition carryover bytes.  Reserve an extra
 +      space for up to 2 characters produced in a loop.
 +      (decode_coding_iso_2022): Abort if there isn't enough place in
 +      charbuf for the composition carryover bytes.
  
 -2007-08-29  Romain Francoise  <romain@orebokech.com>
 +2011-04-21  Eli Zaretskii  <eliz@gnu.org>
  
 -      * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
 -      QUIT hasn't been provided.
 +      * doprnt.c (doprnt) [!HAVE_LONG_LONG_INT]: Error out instead of
 +      aborting when %lld or %lll format is passed.
 +      [!HAVE_UNSIGNED_LONG_LONG_INT]: Error out instead of aborting when
 +      %llo or %llx format is passed.  (Bug#8545)
  
 -2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * window.c (window_scroll_line_based): Use a marker instead of
 +      simple variables to record original value of point.  (Bug#7952)
  
 -      * callproc.c (child_setup, getenv_internal): Use the
 -      display-environment-variable and term-environment-variable frame params.
 -      (set_initial_environment): Initialise Vprocess_environment.
 +      * doprnt.c (doprnt): Fix the case where a multibyte sequence
 +      produced by %s or %c overflows available buffer space.  (Bug#8545)
  
 -      * config.in: Disable multi-keyboard support on a mac.
 +2011-04-28  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * frame.c (Qterm_environment_variable)
 -      (Qdisplay_environment_variable): New variables.
 -      (syms_of_frame): Intern and staticpro them.
 -      (Fmake_terminal_frame): Disable output method test.
 +      * doprnt.c (doprnt): Omit useless test; int overflow check (Bug#8545).
 +      (SIZE_MAX): Move defn after all includes, as they might #define it.
  
 -      * frame.h: Declare them here.
 +2011-04-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * w32.c (init_environment): Warn about defaulting HOME to C:\.
  
 -      * macmenu.c: Reorder includes.
 -      (Fx_popup_menu): Use terminal specific mouse_position_hook.
 +2011-04-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * keyboard.c (Qdelayed_warnings_hook): Define.
 +      (command_loop_1): Run `delayed-warnings-hook'
 +      if Vdelayed_warnings_list is non-nil.
 +      (syms_of_keyboard) <delayed-warnings-hook>: DEFSYM it.
 +      (syms_of_keyboard) <delayed-warnings-list>: DEFVAR_LISP it.
  
 -      * macterm.h (struct mac_display_info): Add terminal.
 -      (mac_initialize): Delete declaration.
 +2011-04-28  Eli Zaretskii  <eliz@gnu.org>
  
 -      * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
 +      * doprnt.c (doprnt): Don't return value smaller than the buffer
 +      size if the message was truncated.  (Bug#8545).
  
 -      * sysdep.c: Comment out text after #endif.
 +2011-04-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
 -      is defined.  Better initialize ttys in windows.  Use terminal
 -      specific mouse_position_hook.
 +      * w32fns.c (Fx_change_window_property, Fx_delete_window_property)
 +      (Fx_window_property): #if-0 the whole functions, not just the bodies.
  
 -      * termhooks.h (union display_info): Add mac_display_info.
 +2011-04-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * doprnt.c (doprnt): Support "ll" length modifier, for long long.
  
 -      * w32term.c (w32_initialize): Make static.
 +2011-04-27  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xselect.c (x_handle_selection_clear): Only access
 -      terminal->kboard when MULTI_KBOARD is defined.
 +      * makefile.w32-in: Update dependencies.
  
 -      * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
 -      (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
 +2011-04-27  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-08-29  Jason Rumney  <jasonr@gnu.org>
 +      Improve `doprnt' and its usage.  (Bug#8545)
 +      * doprnt.c (doprnt): Make sure `format' is never accessed beyond
 +      `format_end'.  Remove support for %l as a conversion specifier.
 +      Don't use xrealloc.  Improve diagnostics when the %l size modifier
 +      is used.  Update the commentary.
  
 -      * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
 -      (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
 +      * eval.c (verror): Simplify calculation of size_t.
  
 -      * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
 -      (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
 +      * coding.c (Ffind_operation_coding_system): Fix diagnostic error
 +      messages.
  
 -      * keyboard.c (restore_kboard_configuration): Only define when
 -      MULTI_KBOARD defined.
 +2011-04-27  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
  
 -      * makefile.w32-in: Update dependancies from Makefile.in.
 -      (OBJ1): Add terminal.$(O)
 +      * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to aliasing
 +      change.
  
 -      * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
 -      Don't define function body.
 -      (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
 +2011-04-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * termhooks.h (display_info) [WINDOWSNT]: Add w32.
 +      * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF.
 +      This makes this file independent of the recent pseudovector change.
  
 -      * w32.c (request_sigio, unrequest_sigio): Remove.
 +2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * keyboard.c (handle_user_signal): Fix pointer signedness problem.
  
 -      * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
 -      arg a frame.
 +      * gnutls.c (emacs_gnutls_handle_error): Remove unused local.
 +      (Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *.
 +      Remove unused local.
 +      (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0.
  
 -      * 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.
 +      * lisp.h: Fix a problem with aliasing and vector headers.  (Bug#8546)
 +      GCC 4.6.0 optimizes based on type-based alias analysis.
 +      For example, if b is of type struct buffer * and v of type struct
 +      Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size
 +      != &v->size, and therefore "v->size = 1; b->size = 2; return
 +      v->size;" must therefore return 1.  This assumption is incorrect
 +      for Emacs, since it type-puns struct Lisp_Vector * with many other
 +      types.  To fix this problem, this patch adds a new type struct
 +      vectorlike_header that documents the constraints on layout of vectors
 +      and pseudovectors, and helps optimizing compilers not get fooled
 +      by Emacs's type punning.  It also adds the macros XSETTYPED_PVECTYPE
 +      XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons.
 +      * lisp.h (XSETTYPED_PVECTYPE): New macro, specifying the name of
 +      the size member.
 +      (XSETPVECTYPE): Rewrite in terms of new macro.
 +      (XSETPVECTYPESIZE): New macro, specifying both type and size.
 +      This is a bit clearer, and further avoids the possibility of
 +      undesirable aliasing.
 +      (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size.
 +      (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR.
 +      (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE,
 +      since Lisp_Subr is a special case (no "next" field).
 +      (ASIZE): Now uses header.size rather than size.
 +      All previous uses of XVECTOR (foo)->size replaced to use this macro,
 +      to avoid the hassle of writing XVECTOR (foo)->header.size.
 +      (struct vectorlike_header): New type.
 +      (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the
 +      object, to help avoid aliasing.
 +      (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP.
 +      (SUBRP): Likewise, since Lisp_Subr is a special case.
 +      * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table):
 +      (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector):
 +      (struct Lisp_Hash_Table): Combine first two members into a single
 +      struct vectorlike_header member.  All uses of "size" and "next" members
 +      changed to be "header.size" and "header.next".
 +      * buffer.h (struct buffer): Likewise.
 +      * font.h (struct font_spec, struct font_entity, struct font): Likewise.
 +      * frame.h (struct frame): Likewise.
 +      * process.h (struct Lisp_Process): Likewise.
 +      * termhooks.h (struct terminal): Likewise.
 +      * window.c (struct save_window_data, struct saved_window): Likewise.
 +      * window.h (struct window): Likewise.
 +      * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector):
 +      Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems.
 +      * buffer.c (init_buffer_once): Likewise.
 +      * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a
 +      special case.
 +      * process.c (Fformat_network_address): Use local var for size,
 +      for brevity.
  
 -      * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
 +      * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
  
 -      * 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.
 +      Make the Lisp reader and string-to-float more consistent (Bug#8525)
 +      * data.c (atof): Remove decl; no longer used or needed.
 +      (digit_to_number): Move to lread.c.
 +      (Fstring_to_number): Use new string_to_number function, to be
 +      consistent with how the Lisp reader treats infinities and NaNs.
 +      Do not assume that floating-point numbers represent EMACS_INT
 +      without losing information; this is not true on most 64-bit hosts.
 +      Avoid double-rounding errors, by insisting on integers when
 +      parsing non-base-10 numbers, as the documentation specifies.
 +      * lisp.h (string_to_number): New decl, replacing ...
 +      (isfloat_string): Remove.
 +      * lread.c: Include <inttypes.h>, for uintmax_t and strtoumax.
 +      (read1): Do not accept +. and -. as integers; this
 +      appears to have been a coding error.  Similarly, do not accept
 +      strings like +-1e0 as floating point numbers.  Do not report
 +      overflow for integer overflows unless the base is not 10 which
 +      means we have no simple and reliable way to continue.
 +      Break out the floating-point parsing into a new
 +      function string_to_number, so that Fstring_to_number parses
 +      floating point numbers consistently with the Lisp reader.
 +      (digit_to_number): Move here from data.c.  Make it static inline.
 +      (E_CHAR, EXP_INT): Remove, replacing with ...
 +      (E_EXP): New macro, to solve the "1.0e+" problem mentioned below.
 +      (string_to_number): New function, replacing isfloat_string.
 +      This function checks for valid syntax and produces the resulting
 +      Lisp float number too.  Rework it so that string-to-number
 +      no longer mishandles examples like "1.0e+".  Use strtoumax,
 +      so that overflow for non-base-10 numbers is reported only when
 +      there's no portable and simple way to convert to floating point.
 +
 +      * textprop.c (set_text_properties_1): Rewrite for clarity,
 +      and to avoid GCC warning about integer overflow.
 +
 +      * intervals.h (struct interval): Use EMACS_INT for members
 +      where EMACS_UINT might cause problems.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html>.
 +      (CHECK_TOTAL_LENGTH): Remove cast to EMACS_INT; no longer needed.
 +      * intervals.c (interval_deletion_adjustment): Now returns EMACS_INT.
 +      All uses changed.
 +      (offset_intervals): Tell GCC not to worry about length overflow
 +      when negating a negative length.
 +
 +      * alloc.c (overrun_check_malloc, overrun_check_realloc): Now static.
 +      (overrun_check_free): Likewise.
 +
 +      * alloc.c (SDATA_SIZE) [!GC_CHECK_STRING_BYTES]: Avoid runtime check
 +      in the common case where SDATA_DATA_OFFSET is a multiple of Emacs
 +      word size.
 +
 +      * gnutls.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
 +      (gnutls_make_error): Rename local to avoid shadowing.
 +      (gnutls_emacs_global_deinit): ifdef out; not used.
 +      (Fgnutls_boot): Use const for pointer to readonly storage.
 +      Comment out unused local.  Fix pointer signedness problems.
 +
 +      * lread.c (openp): Don't stuff size_t into an 'int'.
 +      Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning
 +      about possible signed overflow.
 +
 +      * gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
 +      (GDK_KEY_g): Don't define if already defined.
 +      (xg_prepare_tooltip): Avoid pointer signedness problem.
 +      (xg_set_toolkit_scroll_bar_thumb): Redo to avoid two casts.
 +
 +      * process.c (Fnetwork_interface_info): Avoid left-shift undefined
 +      behavior with 1 << 31.  GCC 4.6.0 warns about this on 32-bit hosts.
 +
 +      * xfns.c (Fx_window_property): Simplify a bit,
 +      to make a bit faster and to avoid GCC 4.6.0 warning.
 +      * xselect.c (x_get_window_property, x_handle_dnd_message): Likewise.
 +
 +      * fns.c (internal_equal): Don't assume size_t fits in int.
 +
 +      * alloc.c (compact_small_strings): Tighten assertion a little.
 +
 +      Replace pEd with more-general pI, and fix some printf arg casts.
 +      * lisp.h (pI): New macro, generalizing old pEd macro to other
 +      conversion specifiers.  For example, use "...%"pI"d..." rather
 +      than "...%"pEd"...".
 +      (pEd): Remove.  All uses replaced with similar uses of pI.
 +      * src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h: Likewise.
 +      * alloc.c (check_pure_size): Don't overflow by converting size to int.
 +      * bidi.c (bidi_dump_cached_states): Use pI to avoid cast.
 +      * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort.
 +      * dbusbind.c (xd_append_arg): Use pI to avoid cast.
 +      (Fdbus_method_return_internal, Fdbus_method_error_internal): Likewise.
 +      * font.c (font_unparse_xlfd): Avoid potential buffer overrun on
 +      64-bit hosts.
 +      (font_unparse_xlfd, font_unparse_fcname): Use pI to avoid casts.
 +      * keyboard.c (record_char, modify_event_symbol): Use pI to avoid casts.
 +      * print.c (safe_debug_print, print_object): Likewise.
 +      (print_object): Don't overflow by converting EMACS_INT or EMACS_UINT
 +      to int.
 +      Use pI instead of if-then-else-abort.  Use %p to avoid casts,
 +      avoiding the 0 flag, which is not portable.
 +      * process.c (Fmake_network_process): Use pI to avoid cast.
 +      * region-cache.c (pp_cache): Likewise.
 +      * xdisp.c (decode_mode_spec): Likewise.
 +      * xrdb.c (x_load_resources) [USE_MOTIF]: Use pI to avoid undefined
 +      behavior on 64-bit hosts with printf arg.
 +      * xselect.c (x_queue_event): Use %p to avoid casts, avoiding 0 flag.
 +      (x_stop_queuing_selection_requests): Likewise.
 +      (x_get_window_property): Don't truncate byte count to an 'int'
 +      when tracing.
 +
 +      * frame.c (frame_name_fnn_p): Get rid of strtol, which isn't right
 +      here, since it parses constructs like leading '-' and spaces,
 +      which are not wanted; and it overflows with large numbers.
 +      Instead, simply match F[0-9]+, which is what is wanted anyway.
 +
 +      * alloc.c: Remove unportable assumptions about struct layout.
 +      (SDATA_SELECTOR, SDATA_DATA_OFFSET): New macros.
 +      (SDATA_OF_STRING, SDATA_SIZE, allocate_string_data):
 +      (allocate_vectorlike, make_pure_vector): Use the new macros,
 +      plus offsetof, to remove unportable assumptions about struct layout.
 +      These assumptions hold on all porting targets that I know of, but
 +      they are not guaranteed, they're easy to remove, and removing them
 +      makes further changes easier.
 +
 +      * alloc.c (BLOCK BYTES): Fix typo by changing "ablock" to "ablocks".
 +      This doesn't fix a bug but makes the code clearer.
 +      (string_overrun_cookie): Now const.  Use initializers that
 +      don't formally overflow signed char, to avoid warnings.
 +      (allocate_string_data) [GC_CHECK_STRING_OVERRUN]: Fix typo that
 +      can cause Emacs to crash when string overrun checking is enabled.
 +      (allocate_buffer): Don't assume sizeof (struct buffer) is a
 +      multiple of sizeof (EMACS_INT); it need not be, if
 +      alignof(EMACS_INT) < sizeof (EMACS_INT).
 +      (check_sblock, check_string_bytes, check_string_free_list): Protoize.
 +
 +2011-04-26  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * keyboard.c (QCrtl): Rename from Qrtl.  All uses changed.
 +
 +2011-04-26  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * gnutls.c (emacs_gnutls_handshake): Return an error if we're not
 +      supposed to be handshaking.  (Bug#8556)
 +      Reported by Paul Eggert <eggert@cs.ucla.edu>.
 +
 +2011-04-26  Daniel Colascione  <dan.colascione@gmail.com>
 +
 +      * lisp.h (Qdebug): List symbol.
 +      * eval.c (Qdebug): Restore global linkage.
 +      * keyboard.c (debug-on-event): New variable.
 +      (handle_user_signal): Break into debugger when debug-on-event
 +      matches the current signal symbol.
 +
 +2011-04-25  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * alloc.c (check_sblock, check_string_bytes)
 +      (check_string_free_list): Convert to standard C.
 +
 +2011-04-25  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * w32.c (emacs_gnutls_push): Fix typo.
 +
 +2011-04-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * gnutls.c (emacs_gnutls_handshake): Avoid compiler warnings about
 +      "cast to pointer from integer of different size".
 +
 +      Improve doprnt and its use in verror.  (Bug#8545)
 +      * doprnt.c (doprnt): Document the set of format control sequences
 +      supported by the function.  Use SAFE_ALLOCA instead of always
 +      using `alloca'.
 +
 +      * eval.c (verror): Don't limit the buffer size at size_max-1, that
 +      is one byte too soon.  Don't use xrealloc; instead xfree and
 +      xmalloc anew.
 +
 +2011-04-24  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the
 +      callbacks stage.
 +
 +      * gnutls.c: Renamed global_initialized to
 +      gnutls_global_initialized.  Added internals for the
 +      :verify-hostname-error, :verify-error, and :verify-flags
 +      parameters of `gnutls-boot' and documented those parameters in the
 +      docstring.  Start callback support.
 +      (emacs_gnutls_handshake): Add Woe32 support.  Retry handshake
 +      unless a fatal error occurred.  Call gnutls_alert_send_appropriate
 +      on error.  Return error code.
 +      (emacs_gnutls_write): Call emacs_gnutls_handle_error.
 +      (emacs_gnutls_read): Likewise.
 +      (Fgnutls_boot): Return handshake error code.
 +      (emacs_gnutls_handle_error): New function.
 +      (wsaerror_to_errno): Likewise.
 +
 +      * w32.h (emacs_gnutls_pull): Add prototype.
 +      (emacs_gnutls_push): Likewise.
  
 -      * 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.
 +      * w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32.
 +      (emacs_gnutls_push): Likewise.
  
 -      * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
 +2011-04-24  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
  
 -      * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
 +      * process.c (wait_reading_process_output): Check if GnuTLS
 +      buffered some data internally if no FDs are set for TLS
 +      connections.
  
 -2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)
 +      * makefile.w32-in (OBJ2): Add gnutls.$(O).
 +      (LIBS): Link to USER_LIBS.
 +      ($(BLD)/gnutls.$(0)): New target.
  
 -      * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
 -      Fix get_named_tty calls for the controlling tty.
 +2011-04-24  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
 +      * xdisp.c (handle_single_display_spec): Rename the
 +      display_replaced_before_p argument into display_replaced_p, to
 +      make it consistent with the commentary.  Fix typos in the
 +      commentary.
  
 -      * term.c (dissociate_if_controlling_tty) [USG]: Fix parse error.
 +      * textprop.c (syms_of_textprop): Remove dead code.
 +      (copy_text_properties): Delete obsolete commentary about an
 +      interface that was deleted long ago.  Fix typos in the description
 +      of arguments.
  
 -2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
 +      * msdos.c (XMenuActivate, XMenuAddSelection): Adjust argument list
 +      to changes in oldXMenu/XMenu.h from 2011-04-16.
 +      <menu_help_message, prev_menu_help_message>: Constify.
 +      (IT_menu_make_room): menu->help_text is now `const char **';
 +      adjust.
  
 -      * term.c (tty_insert_glyphs): Add missing first parameter.
 +      * msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes
 +      to changes in oldXMenu/XMenu.h from 2011-04-16.
 +      (struct XMenu): Declare `help_text' `const char **'.
  
 -2007-08-29  Károly LÅ‘rentey  <karoly@lorentey.hu>
 +      * xfaces.c <Qunspecified>: Make extern again.
  
 -      * buffer.c (Fbuffer_list, Fbury_buffer):
 -      Take frame->buried_buffer_list into account.
 +      * syntax.c: Include sys/types.h before including regex.h, as
 +      required by Posix.
  
 -      * 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().
 +      * doc.c (get_doc_string): Improve the format passed to `error'.
  
 -      * 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.
 +      * doprnt.c (doprnt): Improve commentary.
  
 -      * 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.
 +      * term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal.
  
 -      * 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.
 +      * Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan
 +      them with etags.
  
 -      * keymap.h (Fset_keymap_parent): Add EXFUN.
 +      * makefile.w32-in (globals.h): Add a dummy recipe, to make any
 +      changes in globals.h immediately force recompilation.
 +      (TAGS): Depend on $(CURDIR)/m/intel386.h and
 +      $(CURDIR)/s/ms-w32.h.
 +      (TAGS-gmake): Scan $(CURDIR)/m/intel386.h and $(CURDIR)/s/ms-w32.h.
  
 -      * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
 -      * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
 -      Remove redundant definition.
 +      * character.c (Fchar_direction): Function deleted.
 +      (syms_of_character): Don't defsubr it.
 +      <char-direction-table>: Deleted.
  
 -      * macfns.c (x_set_mouse_color, x_make_gc):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 +2011-04-23  Eli Zaretskii  <eliz@gnu.org>
  
 -      * w32term.c (x_free_frame_resources):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -      (w32_initialize): Use the accessor macros for terminal characteristics.
 +      Fix doprnt so it could be used again safely in `verror'.  (Bug#8435)
 +      * doprnt.c: Include limits.h.
 +      (SIZE_MAX): New macro.
 +      (doprnt): Return a size_t value.  2nd arg is now size_t.
 +      Many local variables are now size_t instead of int or unsigned.
 +      Improve overflow protection.  Support `l' modifier for integer
 +      conversions.  Support %l conversion.  Don't assume an EMACS_INT
 +      argument for integer conversions and for %c.
  
 -      * 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.
 +      * lisp.h (doprnt): Restore prototype.
  
 -      * termopts.h (no_redraw_on_reenter): Declare.
 +      * makefile.w32-in ($(BLD)/callint.$(O)): Depend on
 +      $(SRC)/character.h.
  
 -      * alloc.c (emacs_blocked_malloc): Disable mallopt call.
 -      (mark_terminals, mark_ttys): Declare.
 -      (Fgarbage_collect): Call them.
 -      (mark_object): Mark buried_buffer_list.
 +      * Makefile.in (base_obj): Add back doprnt.o.
  
 -      * prefix-args.c: Include stdlib.h for exit.
 +      * deps.mk (doprnt.o): Add back prerequisites.
 +      (callint.o): Depend on character.h.
  
 -      * syssignal.h: Add comment.
 +      * eval.c (internal_lisp_condition_case): Include the handler
 +      representation in the error message.
 +      (verror): Call doprnt instead of vsnprintf.  Fix an off-by-one bug
 +      when breaking from the loop.
  
 -      * indent.c: Include stdio.h.
 +      * xdisp.c (vmessage): Call doprnt instead of vsnprintf.
  
 -      * window.h (Vinitial_window_system): Declare.
 -      (Vwindow_system): Delete declaration.
 +      * callint.c (Fcall_interactively): When displaying error message
 +      about invalid control letter, pass the character's codepoint, not
 +      a pointer to its multibyte form.  Improve display of the character
 +      in octal and display also its hex code.
  
 -      * fontset.c (Finternal_char_font): Use FRAME_RIF.
 +      * character.c (char_string): Use %x to display the (unsigned)
 +      codepoint of an invalid character, to avoid displaying a bogus
 +      negative value.
  
 -      * image.c (lookup_image): Don't initialize `c' until the xasserts
 -      have been run.
 +      * font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to
 +      `error', not SYMBOL_NAME itself.
  
 -      * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
 -      FRAME_FOREGROUND_PIXEL.
 +      * coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for
 +      character arguments to `error'.
  
 -      * print.c (print_preprocess): Don't lose print_depth levels while
 -      iterating.
 +      * charset.c (check_iso_charset_parameter): Fix incorrect argument
 +      to `error' in error message about FINAL_CHAR argument.  Make sure
 +      FINAL_CHAR is a character, and use %c when it is passed as
 +      argument to `error'.
  
 -      * widget.c (update_from_various_frame_slots):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 +2011-04-23  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * s/ms-w32.h (localtime): Redirect to sys_localtime.
  
 -      * fileio.c (Fread_file_name): Update comment.
 +      * w32.c: Include <time.h>.
 +      (sys_localtime): New function.
  
 -      * 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.
 +2011-04-23  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
  
 -2007-08-24  Jason Rumney  <jasonr@gnu.org>
 +      * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
  
 -      * 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.
 +2011-04-23  Samuel Thibault  <sthibault@debian.org>  (tiny change)
  
 -2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
 +      zombies (Bug#8467).
  
 -      * 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).
 +2011-04-19  Eli Zaretskii  <eliz@gnu.org>
  
 -      * image.c (svg_load_image): Blend with specified background if exists.
 -      Use IMAGE_BACKGROUND.  Add Mac OS Support.
 +      * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
 +      gl_state.e_property when gl_state.object is Qt.
  
 -      * 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.
 +      * insdel.c (make_gap_larger): Remove limitation of buffer size
 +      to <= INT_MAX.
  
 -2007-08-22  Glenn Morris  <rgm@gnu.org>
 +2011-04-18  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
 +      * xdisp.c (lookup_glyphless_char_display)
 +      (produce_glyphless_glyph): Handle cons cell entry in
 +      glyphless-char-display.
 +      (Vglyphless_char_display): Document it.
  
 -2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>
 +      * term.c (produce_glyphless_glyph): Handle cons cell entry in
 +      glyphless-char-display.
  
 -      * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
 +2011-04-17  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * xdisp.c (get_next_display_element): Remove unnecessary ifdefs.
  
 -2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions.
  
 -      * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
 +      * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing
 +      definition for no-X builds.
  
 -2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-04-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      Static checks with GCC 4.6.0 and non-default toolkits.
  
 -      * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
 +      * s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl.
  
 -      * 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.
 +      * process.c (keyboard_bit_set): Define only if SIGIO.
 +      (send_process_trap): Mark it with NO_RETURN if it doesn't return.
 +      (send_process): Repair possible setjmp clobbering.
  
 -2007-08-22  Jason Rumney  <jasonr@gnu.org>
 +      * s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'.
  
 -      * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
 +      * eval.c: Include <stdio.h>, for vsnprintf on non-GNU/Linux hosts.
  
 -2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>
 +      * data.c (arith_error): Mark with NO_RETURN if it doesn't return.
  
 -      * puresize.h (BASE_PURESIZE): Increase to 1140000.
 +      * alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED):
 +      Define only if needed.
  
 -2007-08-19  Richard Stallman  <rms@gnu.org>
 +      * sysdep.c (_FILE_OFFSET_BITS): Make this hack even uglier
 +      by pacifying GCC about it.  Maybe it's time to retire it?
 +      * xfaces.c (USG, __TIMEVAL__): Likewise.
  
 -      * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
 +      * dispextern.h (struct redisplay_interface): Rename param
 +      to avoid shadowing.
 +      * termhooks.h (struct terminal): Likewise.
 +      * xterm.c (xembed_send_message): Likewise.
  
 -2007-08-19  Andreas Schwab  <schwab@suse.de>
 +      * insdel.c (make_gap_smaller): Define only if
 +      USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC.
  
 -      * alloc.c (pure): Round PURESIZE up.
 +      * keyboard.c (read_char): Make a var volatile so longjmp won't clobber
 +      it.
  
 -2007-08-17  Jan Djärv  <jan.h.d@swipnet.se>
 +      * emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used,
 +      so that we aren't warned about unused symbols.
  
 -      * xterm.c (handle_one_xevent): Remove check that mouse click is in
 -      active frame.
 +      * xfns.c (Fx_file_dialog): Rename local to avoid shadowing.
  
 -2007-08-16  Richard Stallman  <rms@gnu.org>
 +      * xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512).
  
 -      * eval.c (Fcommandp): Add parens to clarify.
 +      * xfns.c (x_real_positions): Mark locals as initialized.
  
 -      * minibuf.c (Fall_completions): Use enum for type of table.
 +      * xmenu.c (xmenu_show): Don't use uninitialized vars.
  
 -      * emacs.c (USAGE2): Improve text.
 +      * xterm.c: Fix problems found by static analysis with other toolkits.
 +      (toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT.
 +      (x_dispatch_event): Declare static if USE_GTK, and
 +      define if USE_GTK || USE_X_TOOLKIT.
 +      (SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK.
 +      * xterm.h (x_dispatch_event): Extern only if USE_X_TOOLKIT.
 +      * xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only
 +      if defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK.
  
 -2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>
 +      * xmenu.c (menu_help_callback): Pointer type fixes.
 +      Use const pointers when pointing at readonly data.  Avoid pointer
 +      signedness clashes.
 +      (FALSE): Remove unused macro.
 +      (update_frame_menubar): Remove unused decl.
  
 -      * term.c (tty_default_color_capabilities): Declare static
 -      variables in file scope, to avoid HPUX compiler problem.
 +      * xfns.c (Fx_hide_tip): Move locals to avoid shadowing.
  
 -2007-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 +      * menu.c (push_submenu_start, push_submenu_end): Do not define unless
 +      USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI.
 +      (single_menu_item): Rename local to avoid shadowing.
  
 -      * gtkutil.c (update_frame_tool_bar): Use -1 as index
 -      to gtk_toolbar_insert.
 +      * keyboard.c (make_lispy_event): Remove unused local var.
  
 -2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * frame.c, frame.h (x_get_resource_string): Bring this back, but
 +      only if HAVE_X_WINDOWS && !USE_X_TOOLKIT.
  
 -      * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
 +      * bitmaps: Change bitmaps from unsigned char back to the X11
 +      compatible char.  Avoid the old compiler warnings about
 +      out-of-range initializers by using, for example, '\xab' rather
 +      than 0xab.
  
 -      * 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.
 +      * xgselect.c (xgselect_initialize): Check vs interface
 +      even if ! (defined (USE_GTK) || defined (HAVE_GCONF)).
  
 -2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xmenu.c (xmenu_show): Rename parm to avoid shadowing.
  
 -      * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
 -      filling pixmap with stippled background.
 +      * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers
 +      to read-only memory.
  
 -2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * fns.c (vector): Remove; this old hack is no longer needed.
  
 -      * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
 -      Don't use invisible frame as parent window for repositioning.
 +      * xsmfns.c (create_client_leader_window): Rename shadowing arg.
 +      Remove unused var.
 +      (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define.
  
 -2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xrdb.c (x_load_resources): Omit unused local.
  
 -      * 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.
 +      * xfns.c (free_frame_menubar, atof): Remove duplicate decls.
 +      (x_window): Rename locals to avoid shadowing.
 +      (USG): Use the kludged USG macro, to pacify gcc.
  
 -2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused.
 +      (x_term_init): Remove local to avoid shadowing.
  
 -      * gmalloc.c (posix_memalign): New function.
 +      * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl.
  
 -      * 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.
 +      * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if
 +      USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then.
  
 -2007-08-08  Glenn Morris  <rgm@gnu.org>
 +2011-04-16  Eli Zaretskii  <eliz@gnu.org>
  
 -      * Replace `iff' in doc-strings and comments.
 +      * gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'.
  
 -2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
 +      Fix regex.c, syntax.c and friends for buffers > 2GB.
 +      * syntax.h (struct gl_state_s): Declare character position members
 +      EMACS_INT.
  
 -      * xdisp.c (move_it_by_lines): Remove incorrect optimization.
 +      * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT.
  
 -2007-08-07  Martin Rudalics  <rudalics@gmx.at>
 +      * textprop.c (verify_interval_modification, interval_of):
 +      Declare arguments EMACS_INT.
  
 -      * 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.
 +      * intervals.c (adjust_intervals_for_insertion): Declare arguments
 +      EMACS_INT.
  
 -2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'.
  
 -      * emacs.c (main)
 -      [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
 -      Call malloc_enable_thread on interactive startup.
 +      * indent.c (Fvertical_motion): Local variable it_start is now
 +      EMACS_INT.
  
 -      * 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.
 +      * regex.c (re_match, re_match_2, re_match_2_internal)
 +      (bcmp_translate, regcomp, regexec, print_double_string)
 +      (group_in_compile_stack, re_search, re_search_2, regex_compile)
 +      (re_compile_pattern, re_exec): Declare arguments and local
 +      variables `size_t' and `ssize_t' and return values `regoff_t', as
 +      appropriate.
 +      (POP_FAILURE_REG_OR_COUNT) <pfreg>: Declare `long'.
 +      (CHECK_INFINITE_LOOP) <failure>: Declare `ssize_t'.
 +      <compile_stack_type>: `size' and `avail' are now `size_t'.
  
 -2007-08-06  Chong Yidong  <cyd@stupidchicken.com>
 +      * regex.h <regoff_t>: Use ssize_t, not int.
 +      (re_search, re_search_2, re_match, re_match_2): Arguments that
 +      specify buffer/string position and length are now ssize_t and
 +      size_t.  Return type is regoff_t.
  
 -      * xdisp.c (redisplay_window): When restoring original buffer
 -      position, make sure it is still valid.
 +2011-04-16  Ben Key  <bkey76@gmail.com>
  
 -      * image.c (png_load): Ignore png-supplied background color.
 +      * nsfont.m: Fixed bugs in ns_get_family and
 +      ns_descriptor_to_entity that were caused by using free to
 +      deallocate memory blocks that were allocated by xmalloc (via
 +      xstrdup).  This caused Emacs to crash when compiled with
 +      XMALLOC_OVERRUN_CHECK defined (when Emacs was configured with
 +      --enable-checking=xmallocoverrun).  xfree is now used to
 +      deallocate these memory blocks.
 +
 +2011-04-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT.
 +
 +      emacs_write: Accept and return EMACS_INT for sizes.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html
 +      et seq.
 +      * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write):
 +      Accept and return EMACS_INT.
 +      (emacs_gnutls_write): Return the number of bytes written on
 +      partial writes.
 +      * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise.
 +      (emacs_read, emacs_write): Remove check for negative size, as the
 +      Emacs source code has been audited now.
 +      * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs.
 +      (emacs_read, emacs_write): Use it.
 +      * process.c (send_process): Adjust to the new signatures of
 +      emacs_write and emacs_gnutls_write.  Do not attempt to store
 +      a byte offset into an 'int'; it might overflow.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html
 +
 +      * sound.c: Don't assume sizes fit in 'int'.
 +      (struct sound_device.period_size, alsa_period_size):
 +      Return EMACS_INT, not int.
 +      (struct sound_device.write, vox_write, alsa_write):
 +      Accept EMACS_INT, not int.
 +      (wav_play, au_play): Use EMACS_INT to store sizes and to
 +      record read return values.
 +
 +2011-04-15  Ben Key  <bkey76@gmail.com>
 +
 +      * keyboard.c (Qundefined): Don't declare static since it is used
 +      in nsfns.m.
 +      * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't declare
 +      static since they are used in nsfont.m.
 +
 +2011-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * process.c (Qprocessp): Don't declare static.
 +      * lisp.h (Qprocessp): Declare again.
 +
 +2011-04-15  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * font.c (Qopentype): Don't make static (used from w32uniscribe.c).
 +
 +2011-04-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve C-level modularity by making more things 'static'.
 +
 +      Don't publish debugger-only interfaces to other modules.
 +      * lisp.h (safe_debug_print, debug_output_compilation_hack):
 +      (verify_bytepos, count_markers): Move decls to the only modules
 +      that need them.
 +      * region-cache.h (pp_cache): Likewise.
 +      * window.h (check_all_windows): Likewise.
 +      * marker.c, print.c, region-cache.c, window.c: Decls moved here.
 +
 +      * sysdep.c (croak): Now static, if
 +      defined TIOCNOTTY || defined USG5 || defined CYGWIN.
 +      * syssignal.h (croak): Declare only if not static.
 +
 +      * alloc.c (refill_memory_reserve): Now static if
 +      !defined REL_ALLOC || defined SYSTEM_MALLOC.
 +      * lisp.h (refill_memory_reserve): Declare only if not static.
 +
 +      * xsettings.c, xsettings.h (xsettings_get_system_normal_font):
 +      Define only if USE_LUCID.
 +
 +      * xrdb.c (x_customization_string, x_rm_string): Now static.
 +
 +      * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF.
 +      * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF.
 +
 +      * xdisp.c (draw_row_with_mouse_face): Now static.
 +      * dispextern.h (draw_row_with_mouse_fave): Remove decl.
 +
 +      * window.h (check_all_windows): Mark externally visible.
 +
 +      * window.c (window_deletion_count): Now static.
 +
 +      * undo.c: Make symbols static if they're not exported.
 +      (last_undo_buffer, last_boundary_position, pending_boundary):
 +      Now static.
  
 -2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * textprop.c (interval_insert_behind_hooks): Now static.
 +      (interval_insert_in_front_hooks): Likewise.
 +
 +      * term.c: Make symbols static if they're not exported.
 +      (tty_turn_off_highlight, get_tty_terminal, max_frame_cols):
 +      (max_frame_lines, tty_set_terminal_modes):
 +      (tty_reset_terminal_modes, tty_turn_off_highlight):
 +      (get_tty_terminal): Now static.
 +      (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM.
 +      * termhooks.h (term_mouse_moveto): Do not declare if
 +      HAVE_WINDOW_SYSTEM.
 +      * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes):
 +      (tty_turn_off_highlight, get_tty_terminal): Remove decls.
 +
 +      * sysdep.c: Make symbols static if they're not exported.
 +      (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner):
 +      Now static.
 +      (sigprocmask_set, full_mask): Remove; unused.
 +      (wait_debugging): Mark as visible.
 +      * syssignal.h (SIGFULLMASK, full_mask): Remove decls.
 +      * systty.h (emacs_get_tty, emacs_set_tty): Remove decls.
 +
 +      * syntax.c (syntax_temp): Define only if !__GNUC__.
 +
 +      * sound.c (current_sound_device, current_sound): Now static.
 +
 +      * search.c (searchbufs, searchbuf_head): Now static.
 +
 +      * scroll.c (scroll_cost): Remove; unused.
 +      * dispextern.h (scroll_cost): Remove decl.
 +
 +      * region-cache.h (pp_cache): Mark as externally visible.
 +
 +      * process.c: Make symbols static if they're not exported.
 +      (process_tick, update_tick, create_process, chan_process):
 +      (Vprocess_alist, proc_buffered_char, datagram_access):
 +      (fd_callback_data, send_process_frame, process_sent_to): Now static.
 +      (deactivate_process): Mark defn as static, as well as decl.
 +      * lisp.h (create_process): Remove decl.
 +      * process.h (chan_process, Vprocess_alist): Remove decls.
 +
 +      * print.c: Make symbols static if they're not exported.
 +      (print_depth, new_backquote_output, being_printed, print_buffer):
 +      (print_buffer_size, print_buffer_pos, print_buffer_pos_byte):
 +      (print_interval, print_number_index, initial_stderr_stream):
 +      Now static.
 +      * lisp.h (Fprinc): Remove decl.
 +      (debug_output_compilation_hack): Mark as externally visible.
 +
 +      * sysdep.c (croak): Move decl from here to syssignal.h.
 +      * syssignal.h (croak): Put it here, so the API can be checked when
 +      'croak' is called from dissociate_if_controlling_tty.
 +
 +      * minibuf.c: Make symbols static if they're not exported.
 +      (minibuf_save_list, choose_minibuf_frame): Now static.
 +      * lisp.h (choose_minibuf_frame): Remove decl.
 +
 +      * lisp.h (verify_bytepos, count_markers): Mark as externally visible.
 +
 +      * lread.c: Make symbols static if they're not exported.
 +      (read_objects, initial_obarray, oblookup_last_bucket_number):
 +      Now static.
 +      (make_symbol): Remove; unused.
 +      * lisp.h (initial_obarray, make_symbol): Remove decls.
 +
 +      * keyboard.c: Make symbols static if they're not exported.
 +      (single_kboard, recent_keys_index, total_keys, recent_keys):
 +      (this_command_key_count_reset, raw_keybuf, raw_keybuf_count):
 +      (this_single_command_key_start, echoing, last_auto_save):
 +      (read_key_sequence_cmd, dribble, recursive_edit_unwind):
 +      (command_loop, echo_now, keyboard_init_hook, help_char_p):
 +      (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer):
 +      (Vlispy_mouse_stem, double_click_count):
 +      Now static.
 +      (force_auto_save_soon): Define only if SIGDANGER.
 +      (ignore_mouse_drag_p): Now static if
 +      !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS.
 +      (print_help): Remove; unused.
 +      (stop_character, last_timer_event): Mark as externally visible.
 +      * keyboard.h (ignore_mouse_drag_p): Declare only if
 +      defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS.
 +      (echo_now, help_char_p, quit_throw_to_read_char): Remove decls.
 +      * lisp.h (echoing): Remove decl.
 +      (force_auto_save_soon): Declare only if SIGDANGER.
 +      * xdisp.c (redisplay_window): Simplify code, to make it more
 +      obvious that ignore_mouse_drag_p is not accessed if !defined
 +      USE_GTK && !defined HAVE_NS.
 +
 +      * intervals.c: Make symbols static if they're not exported.
 +      (merge_properties_sticky, merge_interval_right, delete_interval):
 +      Now static.
 +      * intervals.h (merge_interval_right, delete_interval): Remove decls.
 +
 +      * insdel.c: Make symbols static if they're not exported.
 +      However, leave prepare_to_modify_buffer alone.  It's never
 +      called from outside this function, but that appears to be a bug.
 +      (combine_after_change_list, combine_after_change_buffer):
 +      (adjust_after_replace, signal_before_change): Now static.
 +      (adjust_after_replace_noundo): Remove; unused.
 +      * lisp.h (adjust_after_replace, adjust_after_replace_noundo):
 +      (signal_before_change): Remove decls.
 +
 +      * indent.c (val_compute_motion, val_vmotion): Now static.
 +
 +      * image.c: Make symbols static if they're not exported.
 +      * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare
 +      if USE_GTK.
 +      * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK.
 +      (xpm_color_cache, ct_table, ct_colors_allocated): Now static.
 +
 +      * fringe.c (standard_bitmaps): Now static.
 +      (max_used_fringe_bitmap): Now static, unless HAVE_NS.
 +
 +      * frame.c: Make symbols static if they're not exported.
 +      (x_report_frame_params, make_terminal_frame): Now static.
 +      (get_frame_param): Now static, unless HAVE_NS.
 +      (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM.
 +      (x_get_resource_string): Remove; not used.
 +      * frame.h (make_terminal_frame, x_report_frame_params):
 +      (x_get_resource_string); Remove decls.
 +      (x_fullscreen_adjust): Declare only if WINDOWSNT.
 +      * lisp.h (get_frame_param): Declare only if HAVE_NS.
 +
 +      * font.c, fontset.c: Make symbols static if they're not exported.
 +      * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro.
 +      (FACE_SUITABLE_FOR_CHAR_P): Use it.
 +      * font.c (font_close_object): Now static.
 +      * font.h (font_close_object): Remove.
 +      * fontset.c (FONTSET_OBJLIST): Remove.
 +      (free_realized_fontset) #if-0 the body, which does nothing.
 +      (face_suitable_for_char_p): #if-0, as it's never called.
 +      * fontset.h (face_suitable_for_char_p): Remove decl.
 +      * xfaces.c (face_at_string_position):
 +      Use FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P,
 +      since 0 is always ASCII.
 +
 +      * fns.c (weak_hash_tables): Now static.
 +
 +      * fileio.c: Make symbols static if they're not exported.
 +      (auto_saving, auto_save_mode_bits, auto_save_error_occurred):
 +      (Vwrite_region_annotation_buffers): Now static.
 +
 +      * eval.c: Make symbols static if they're not exported.
 +      (backtrace_list, lisp_eval_depth, when_entered_debugger): Now static.
 +      * lisp.h (backtrace_list): Remove decl.
 +
 +      * emacs.c: Make symbols static if they're not exported.
 +      (malloc_state_ptr, malloc_using_checking, syms_of_emacs):
 +      (fatal_error_code, fatal_error_signal_hook, standard_args):
 +      Now static.
 +      (fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL.
 +      (DEFINE_DUMMY_FUNCTION): Mark function as externally visible.
 +      (__CTOR_LIST__, __DTOR_LIST__): Now externally visible.
 +      * lisp.h (fatal_error_signal_hook): Remove decl.
 +      (fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL.
 +
 +      * editfns.c: Move a (normally-unused) function to its only use.
 +      * editfns.c, lisp.h (get_operating_system_release): Remove.
 +      * process.c (init_process) [DARWIN_OS]: Do it inline, as it is not
 +      worth the hassle of breaking this out.
 +
 +      * xterm.c: Make symbols static if they're not exported.
 +      (x_raise_frame, x_lower_frame, x_wm_set_window_state):
 +      (x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error):
 +      (x_destroy_window, x_delete_display):
 +      Now static.
 +      (x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT).
 +      (x_mouse_leave): Remove; unused.
 +      * xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame):
 +      (x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap):
 +      (x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes):
 +      Remove decls.
 +      (x_mouse_leave): Declare only if WINDOWSNT.
 +      (x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT.
 +      (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS &&
 +      USE_X_TOOLKIT.
 +
 +      * ftxfont.c: Make symbols static if they're not exported.
 +      (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined
 +      HAVE_FREETYPE.
 +      * font.h (ftxfont_driver): Likewise.
 +
 +      * xfns.c: Make symbols static if they're not exported.
 +      (x_last_font_name, x_display_info_for_name):
 +      (x_set_foreground_color, x_set_background_color, x_set_mouse_color):
 +      (x_set_cursor_color, x_set_border_pixel, x_set_border_color):
 +      (x_set_cursor_type, x_set_icon_type, x_set_icon_name):
 +      (x_set_scroll_bar_foreground, x_set_scroll_bar_background):
 +      (x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer):
 +      (last_show_tip_args): Now static.
 +      (xic_defaut_fontset, xic_create_fontsetname): Define only if
 +      defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT
 +      (x_screen_planes): Remove; unused.
 +      * dispextern.h (x_screen_planes): Remove decl.
 +
 +      * dispnew.c: Make symbols static if they're not exported.
 +      * dispextern.h (redraw_garbaged_frames, scrolling):
 +      (increment_row_positions): Remove.
 +      * dispnew.c (new_glyph_matrix, increment_row_positions, scrolling):
 +      (delayed_size_change, glyph_matrix_count, glyph_pool_count):
 +      Now static.
 +      (redraw_garbaged_frames): Remove; unused.
 +
 +      * xfaces.c: Make symbols static if they're not exported.
 +      * dispextern.h (ascii_face_of_lisp_face, free_realized_face):
 +      Remove decls.
 +      * xterm.h (defined_color): Remove decls.
 +      (x_free_dpy_colors): Declare only if USE_X_TOOLKIT.
 +      * xfaces.c (tty_suppress_bold_inverse_default_colors_p):
 +      (menu_face_changed_default, defined_color, free_realized_face):
 +      (x_free_dpy_colors): Define only if USE_X_TOOLKIT.
 +      (ascii_face_of_lisp_face): Remove; unused.
 +
 +      * xdisp.c: Make symbols static if they're not exported.
 +      * dispextern.h (scratch_glyph_row, window_box_edges):
 +      (glyph_to_pixel_coords, set_cursor_from_row):
 +      (get_next_display_element, set_iterator_to_next):
 +      (highlight_trailing_whitespace, frame_to_window_pixel_xy):
 +      (show_mouse_face): Remove decls
 +      * frame.h (message_buf_print): Likewise.
 +      * lisp.h (pop_message, set_message, check_point_in_composition):
 +      Likewise.
 +      * xterm.h (set_vertical_scroll_bar): Likewise.
 +      * xdisp.c (list_of_error, Vmessage_stack, line_number_displayed):
 +      (message_buf_print, scratch_glyph_row, displayed_buffer):
 +      (set_iterator_to_next, pop_message, set_message, set_cursor_from_row):
 +      (get_next_display_element, show_mouse_face, window_box_edges):
 +      (frame_to_window_pixel_xy, check_point_in_composition):
 +      (set_vertical_scroll_bar, highlight_trailing_whitespace): Now static.
 +      (glyph_to_pixel_coords): Remove; unused.
 +
 +      * dired.c (file_name_completion): Now static.
 +
 +      * dbusbind.c (xd_in_read_queued_messages): Now static.
 +
 +      * lisp.h (circular_list_error, FOREACH): Remove; unused.
 +      * data.c (circular_list_error): Remove.
 +
 +      * commands.h (last_point_position, last_point_position_buffer):
 +      (last_point_position_window): Remove decls.
 +      * keyboard.c: Make these variables static.
 +
 +      * coding.h (coding, code_convert_region, encode_coding_gap):
 +      Remove decls.
 +      * coding.c (Vsjis_coding_system, Vbig5_coding_system):
 +      (iso_code_class, detect_coding, code_convert_region): Now static.
 +      (encode_coding_gap): Remove; unused.
 +
 +      * chartab.c (chartab_chars, chartab_bits): Now static.
 +
 +      * charset.h (charset_iso_8859_1): Remove decl.
 +      * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump):
 +      Now static.
 +
 +      * ccl.h (check_ccl_update, Vccl_program_table): Remove decls.
 +      * ccl.c (Vccl_program_table): Now static.
 +      (check_ccl_update): Remove; unused.
 +
 +      * category.c (SET_CATEGORY_SET, set_category_set): Move here.
 +      * category.h: ... from here.
 +      * category.c (check_category_table, set_category_set): Now static.
 +
 +      * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static.
 +      * lisp.h: Remove these decls.
 +
 +      * buffer.c (buffer_count): Remove unused var.
 +
 +      * bidi.c (bidi_dump_cached_states): Mark as externally visible,
 +      so that it's not optimized away.
 +      (bidi_ignore_explicit_marks_for_paragraph_level): Likewise.
 +      * dispextern.h (bidi_dump_cached_states): Remove, since it's
 +      exported only to the debugger.
 +
 +      * atimer.c (alarm_signal_handler, run_all_atimers): Now static.
 +      * atimer.h (run_all_atimers): Remove; not exported.
 +
 +      font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
 +      * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
 +      was inaccessible from Lisp.
 +      (merge_font_spec): Likewise, renaming from Fmerge_font_spec.
 +      * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
 +
 +      alloc.c: Import and export fewer symbols, and remove unused items.
 +      * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING
 +      is defined.
 +      (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that
 +      it's not optimized away by whole-program optimization.
 +      (message_enable_multibyte, free_misc): Remove.
 +      (catchlist, handlerlist, mark_backtrace):
 +      Declare only if BYTE_MARK_STACK.
 +      (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo.
 +      * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined.
 +      (message_enable_multibyte): Remove decl.
 +      (free_misc, interval_free_list, float_block, float_block_index):
 +      (n_float_blocks, float_free_list, cons_block, cons_block_index):
 +      (cons_free_list, last_marked_index):
 +      Now static.
 +      (suppress_checking, die): Define only if ENABLE_CHECKING is defined.
 +      * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK.
 +      (mark_backtrace): Define only if BYTE_MARK_STACK.
 +      * xdisp.c (message_enable_multibyte): Now static.
 +
 +      Declare Lisp_Object Q* variables to be 'static' if not exported.
 +      This makes it easier for human readers (and static analyzers)
 +      to see whether these variables are used from other modules.
 +      * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c:
 +      * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c:
 +      * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c:
 +      * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c:
 +      * lread.c, macros.c, minibuf.c, print.c, process.c, search.c:
 +      * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c:
 +      * xmenu.c, xselect.c:
 +      Declare Q* vars static if they are not used in other modules.
 +      * ccl.h, character.h, charset.h, coding.h, composite.h, font.h:
 +      * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h:
 +      Remove decls of unexported vars.
 +      * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro.
 +
 +      * lisp.h (DEFINE_FUNC): Make sname 'static'.
 +
 +      Make Emacs functions such as Fatom 'static' by default.
 +      This makes it easier for human readers (and static analyzers)
 +      to see whether these functions can be called from other modules.
 +      DEFUN now defines a static function.  To make the function external
 +      so that it can be used in other C modules, use the new macro DEFUE.
 +      * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p):
 +      (Finit_image_library):
 +      (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
 +      (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
 +      (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
 +      Remove decls, since these functions are now static.
 +      (Funintern, Fget_internal_run_time): New decls, since these functions
 +      were already external.
 +
 +      * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
 +      * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
 +      * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
 +      * fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
 +      * keyboard.c, keymap.c, lread.c:
 +      * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
 +      * syntax.c, term.c, terminal.c, textprop.c, undo.c:
 +      * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
 +      Mark functions with DEFUE instead of DEFUN,
 +      if they are used in other modules.
 +      * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
 +      decls for now-static functions.
 +      * buffer.h (Fdelete_overlay): Remove decl.
 +      * callproc.c (Fgetenv_internal): Mark as internal.
 +      * composite.c (Fremove_list_of_text_properties): Remove decl.
 +      (Fcomposition_get_gstring): New forward static decl.
 +      * composite.h (Fcomposite_get_gstring): Remove decl.
 +      * dired.c (Ffile_attributes): New forward static decl.
 +      * doc.c (Fdocumntation_property): New forward static decl.
 +      * eval.c (Ffetch_bytecode): New forward static decl.
 +      (Funintern): Remove extern decl; now in .h file where it belongs.
 +      * fileio.c (Fmake_symbolic_link): New forward static decl.
 +      * image.c (Finit_image_library): New forward static decl.
 +      * insdel.c (Fcombine_after_change_execute): Make forward decl static.
 +      * intervals.h (Fprevious_property_change):
 +      (Fremove_list_of_text_properties): Remove decls.
 +      * keyboard.c (Fthis_command_keys): Remove decl.
 +      (Fcommand_execute): New forward static decl.
 +      * keymap.c (Flookup_key): New forward static decl.
 +      (Fcopy_keymap): Now static.
 +      * keymap.h (Flookup_key): Remove decl.
 +      * process.c (Fget_process): New forward static decl.
 +      (Fprocess_datagram_address): Mark as internal.
 +      * syntax.c (Fsyntax_table_p): New forward static decl.
 +      (skip_chars): Remove duplicate decl.
 +      * textprop.c (Fprevious_property_change): New forward static decl.
 +      * window.c (Fset_window_fringes, Fset_window_scroll_bars):
 +      Now internal.
 +      (Fset_window_margins, Fset_window_vscroll): New forward static decls.
 +      * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
 +
 +      * editfns.c (Fformat): Remove unreachable code.
 +
 +2011-04-14  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13
 +      change.  (Bug#8496)
 +
 +2011-04-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init
 +      when at ZV.  (Bug#8487)
 +
 +2011-04-12  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * charset.c (Fclear_charset_maps): Use xfree instead of free.
 +      (Bug#8437)
 +      * keyboard.c (parse_tool_bar_item): Likewise.
 +      * sound.c (sound_cleanup, alsa_close): Likewise.
 +      * termcap.c (tgetent): Likewise.
 +      * xfns.c (x_default_font_parameter): Likewise.
 +      * xsettings.c (read_and_apply_settings): Likewise.
 +
 +      * alloc.c (overrun_check_malloc, overrun_check_realloc)
 +      (overrun_check_free): Protoize.
 +
 +2011-04-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c (emacs_read, emacs_write): Check for negative sizes
 +      since callers should never pass a negative size.
 +      Change the signature to match that of plain 'read' and 'write'; see
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00397.html>.
 +      * lisp.h: Update prototypes of emacs_write and emacs_read.
 +
 +2011-04-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (redisplay_window): Don't try to determine the character
 +      position of the scroll margin if the window start point w->startp
 +      is outside the buffer's accessible region.  (Bug#8468)
 +
 +2011-04-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Fix write-region and its subroutines for buffers > 2GB.
 +      * fileio.c (a_write, e_write): Modify declaration of arguments and
 +      local variables to support buffers larger than 2GB.
 +      (Fcopy_file): Use EMACS_INT for return value of emacs_read.
 +
 +      * sysdep.c (emacs_write, emacs_read): Use ssize_t for last
 +      argument, local variables, and return value.
 +
 +      * lisp.h: Update prototypes of emacs_write and emacs_read.
 +
 +      * sound.c (vox_write): Use ssize_t for return value of emacs_write.
 +
 +2011-04-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
 +
 +      Fix more problems found by GCC 4.6.0's static checks.
 +
 +      * xdisp.c (vmessage): Use a better test for character truncation.
 +
 +      * charset.c (load_charset_map): <, not <=, for optimization,
 +      and to avoid potential problems with integer overflow.
 +      * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise.
 +      * casetab.c (set_identity, shuffle): Likewise.
 +      * editfns.c (Fformat): Likewise.
 +      * syntax.c (skip_chars): Likewise.
 +
 +      * xmenu.c (set_frame_menubar): Allocate smaller local vectors.
 +      This also lets GCC 4.6.0 generate slightly better loop code.
 +
 +      * callint.c (Fcall_interactively): <, not <=, for optimization.
 +      (Fcall_interactively): Count the number of arguments produced,
 +      not the number of arguments given.  This is simpler and lets GCC
 +      4.6.0 generate slightly better code.
 +
 +      * ftfont.c: Distingish more carefully between FcChar8 and char.
 +      The previous code passed unsigned char * to a functions like
 +      strlen and xstrcasecmp that expect char *, which does not
 +      conform to the C standard.
 +      (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for
 +      arguments to FcPatternGetString, and explicitly cast FcChar8 * to
 +      char * when the C standard requires it.
  
 -      * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
 -      Use kCFAbsoluteTimeIntervalSince1970.
 +      * keyboard.c (read_char): Remove unused var.
  
 -      * 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.
 +      * eval.c: Port to Windows vsnprintf (Bug#8435).
 +      Include <limits.h>.
 +      (SIZE_MAX): Define if the headers do not.
 +      (verror): Do not give up if vsnprintf returns a negative count.
 +      Instead, grow the buffer.  This ports to Windows vsnprintf, which
 +      does not conform to C99.  Problem reported by Eli Zaretskii.
 +      Also, simplify the allocation scheme, by avoiding the need for
 +      calling realloc, and removing the ALLOCATED variable.
  
 -      * 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.
 +      * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
  
 -2007-08-04  Jan Djärv  <jan.h.d@swipnet.se>
 +      Remove invocations of doprnt, as Emacs now uses vsnprintf.
 +      But keep the doprint source code for now, as we might revamp it
 +      and use it again (Bug#8435).
 +      * lisp.h (doprnt): Remove.
 +      * Makefile.in (base_obj): Remove doprnt.o.
 +      * deps.mk (doprnt.o): Remove.
  
 -      * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
 -      add comment explaining why.
 +      error: Print 32- and 64-bit integers portably (Bug#8435).
 +      Without this change, on typical 64-bit hosts error ("...%d...", N)
 +      was used to print both 32- and 64-bit integers N, which relied on
 +      undefined behavior.
 +      * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd):
 +      New macro.
 +      * lisp.h (error, verror): Mark as printf-like functions.
 +      * eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
 +      Report overflow in size calculations when allocating printf buffer.
 +      Do not truncate output string at its first null byte.
 +      * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work.
 +      Truncate the output at a character boundary, since vsnprintf does not
 +      do that.
 +      * charset.c (check_iso_charset_parameter): Convert internal
 +      character to string before calling 'error', since %c now has the
 +      printf meaning.
 +      * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int
 +      overflow when computing char to be passed to 'error'.  Do not
 +      pass Lisp_Object to 'error'; pass the integer instead.
 +      * nsfns.m (Fns_do_applescript): Use int, not long, since it's
 +      formatted with plain %d.
  
 -2007-08-03  Richard Stallman  <rms@gnu.org>
 +      * eval.c (internal_lisp_condition_case): Don't pass spurious arg.
  
 -      * fileio.c (Fvisited_file_modtime): Use make_time.
 +      * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
  
 -2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
 +      * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
  
 -      * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
 -      build.
 +      * xterm.c (x_catch_errors): Remove duplicate declaration.
  
 -2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
  
 -      * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
 +      * xdisp.c, lisp.h (message_nolog): Remove; unused.
  
 -2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
 +2011-04-10  Jim Meyering  <meyering@redhat.com>
  
 -      * puresize.h (BASE_PURESIZE): Increase to 1130000.
 +      use ssize_t and size_t for read- and write-like emacs_gnutls_* functions
 +      * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like:
 +      return ssize_t not "int", and use size_t as the buffer length.
 +      (emacs_gnutls_write): Likewise, and make the buffer pointer "const".
 +      * gnutls.h: Update declarations.
 +      * process.c (read_process_output): Use ssize_t, to match.
 +      (send_process): Likewise.
  
 -2007-07-30  Richard Stallman  <rms@gnu.org>
 +2011-04-09  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * lread.c (readevalloop, read1): Treat NBSP as whitespace.
 +      * image.c (Fimagemagick_types): Doc fix, and comment cleanup.
  
 -2007-07-29  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-04-09  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * ftfont.c (get_adstyle_property, ftfont_pattern_entity):
 +      Use unsigned char, to match FcChar8 type definition.
  
 -      * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
 +      * 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.
  
 -2007-07-28  Nick Roberts  <nickrob@snap.net.nz>
 +2011-04-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
 -      remote default-directory.
 +      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.
  
 -      * buffer.c (mode-line-format): Update doc string.
 +      * xdisp.c (display_count_lines): 3rd argument and return value now
 +      EMACS_INT.  All callers changed.
 +      (pint2hrstr): Last argument is now EMACS_INT.
  
 -2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * 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.
  
 -      * 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.
 +      * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
 +      All users changed.
  
 -      * w32term.h (struct scroll_bar): New member fringe_extended_p.
 -      (w32_fill_area): Enclose multiple statements with do ... while (0).
 +      * ccl.c (Fccl_execute_on_string): Declare some variables
 +      EMACS_INT.
  
 -      * 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.
 +2011-04-08  Samuel Thibault  <sthibault@debian.org>  (tiny change)
  
 -      * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 -      New member fringe_extended_p.
 +      * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
  
 -2007-07-25  Glenn Morris  <rgm@gnu.org>
 +2011-03-19  Christoph Scholtes  <cschol2112@googlemail.com>
  
 -      * Relicense all FSF files to GPLv3 or later.
 +      * process.c (Fformat_network_address): Doc fix.
  
 -      * COPYING: Switch to GPLv3.
 +2011-04-08  T.V. Raman  <tv.raman.tv@gmail.com>  (tiny change)
  
 -2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xml.c (parse_region): Avoid creating spurious whitespace nodes.
  
 -      * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
 +2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * data.c (Finteractive_form): Check for the presence of an
 -      `interactive-form' symbol property more thoroughly.
 +      * 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.
  
 -      * data.c (Finteractive_form): Use an `interactive-form' property if
 -      present, analogous to the function-documentation property.
 +      * print.c (internal_with_output_to_temp_buffer): Function deleted.
  
 -2007-07-24  Jason Rumney  <jasonr@gnu.org>
 +      * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
  
 -      * w32fns.c (x_real_positions): Get real position from OS instead of
 -      calculating it.
 +2011-04-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-07-23  Jason Rumney  <jasonr@gnu.org>
 +      * process.c (Flist_processes): Remove to Lisp.
 +      (list_processes_1): Delete.
  
 -      * filelock.c (current_lock_owner): Allow for @ sign in username.
 +2011-04-06  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-07-22  Nick Roberts  <nickrob@snap.net.nz>
 +      * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
  
 -      * xdisp.c (decode_mode_spec): Add case 'R' for to test for
 -      remote default-directory.
 +      * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
  
 -      * buffer.c (mode-line-format): Describe above case in doc string.
 +2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-07-20  Eli Zaretskii  <eliz@gnu.org>
 +      Fix more problems found by GCC 4.6.0's static checks.
  
 -      * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
 -      Define if not defined.
 +      * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
  
 -2007-07-18  Jason Rumney  <jasonr@gnu.org>
 +      * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
  
 -      * w32proc.c (w32_executable_type): Handle 64 bit executables.
 +      * lisp.h (message, message_nolog, fatal): Mark as printf-like.
  
 -2007-07-18  Richard Stallman  <rms@gnu.org>
 +      * xdisp.c (vmessage): Mark as a printf-like function.
  
 -      * data.c (Fsetq_default): Doc fix.
 +      * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
  
 -      * eval.c (Fsetq): Doc fix.
 +      * sound.c (sound_warning): Don't crash if arg contains a printf format.
  
 -2007-07-18  Juanma Barranquero  <lekktu@gmail.com>
 +      * 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.
  
 -      * coding.c (Ffind_operation_coding_system):
 -      * eval.c (For, Fand): Doc fixes.
 -      Reported by Johan BockgÃ¥rd.
 +      * eval.c (Fsignal): Remove excess argument to 'fatal'.
  
 -2007-07-18  Jan Djärv  <jan.h.d@swipnet.se>
 +      * 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.
  
 -      * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
 +      * xfont.c (xfont_text_extents): Remove var that was set but not used.
 +      (xfont_open): Avoid unnecessary tests.
  
 -      * xterm.h: Declare x_ewmh_activate_frame.
 +      * composite.c (composition_gstring_put_cache): Use unsigned integer.
  
 -      * xterm.c (x_ewmh_activate_frame): New function.
 -      (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
 +      * composite.h, composite.c (composition_gstring_put_cache):
 +      Use EMACS_INT, not int, for length.
  
 -2007-07-17  Martin Rudalics  <rudalics@gmx.at>
 +      * 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.
  
 -      * 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.
 +      * textprop.c (set_text_properties_1): Change while to do-while,
 +      since the condition is always true at first.
  
 -2007-07-17  Glenn Morris  <rgm@gnu.org>
 +      * intervals.c (graft_intervals_into_buffer): Mark var as used.
 +      (interval_deletion_adjustment): Return unsigned value.
 +      All uses changed.
  
 -      * 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.
 +      * 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.
  
 -2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
  
 -      * process.c (Fstart_process, Fmake_network_process)
 -      (read_process_output): Fix up last changes.
 +      * syntax.c (scan_words): Remove var that was set but not used.
 +      (update_syntax_table): Use unsigned instead of int.
  
 -2007-07-16  Eli Zaretskii  <eliz@gnu.org>
 +      * 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.
  
 -      * makefile.w32-in (clean): Don't delete *~.
 +      * print.c (print_error_message): Avoid int overflow.
  
 -2007-07-16  Andreas Schwab  <schwab@suse.de>
 +      * font.c (font_list_entities): Redo for clarity,
 +      so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
  
 -      * window.c (Fdisplay_buffer): Use NILP.
 -      (Fset_window_scroll_bars): Likewise.
 +      * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
 +      (font_score): Avoid potential overflow in diff calculation.
  
 -2007-07-15  Martin Rudalics  <rudalics@gmx.at>
 +      * fns.c (substring_both): Remove var that is set but not used.
 +      (sxhash): Redo loop for clarity and to avoid wraparound warning.
  
 -      * 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 (funcall_lambda): Rename local to avoid shadowing.
  
 -      * window.h: Add EXFUN for Fwindow_full_width_p.
 +      * 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.
  
 -2007-07-14  Jason Rumney  <jasonr@gnu.org>
 +      * search.c (boyer_moore, wordify): Remove vars set but not used.
 +      (wordify): Omit three unnecessary tests.
  
 -      * process.c [WINDOWSNT]: Don't undefine AF_INET6.
 +      * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
 +      All callers changed.  This avoids the need for an unused var.
  
 -2007-07-14  Richard Stallman  <rms@gnu.org>
 +      * casefiddle.c (casify_region): Remove var that is set but not used.
  
 -      * 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.
 +      * dired.c (file_name_completion): Remove var that is set but not used.
  
 -2007-07-14  Juanma Barranquero  <lekktu@gmail.com>
 +      * fileio.c (Finsert_file_contents): Make EOF condition clearer.
  
 -      * eval.c (Fprogn):
 -      * keyboard.c (Ftrack_mouse):
 -      * print.c (Fwith_output_to_temp_buffer):
 -      * window.c (Fsave_window_excursion): Doc fix.
 +      * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
 +      (Finsert_file_contents): Remove unnecessary code checking fd.
  
 -2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
 +      Check for integer overflow on size calculations.
  
 -      * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
 +      * buffer.c (Fprevious_overlay_change): Remove var that is set
 +      but not used.
  
 -2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * 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.
  
 -      * 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.
 +      * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
  
 -2007-07-12  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.
  
 -      * term.c: Include unistd.h only if HAVE_UNISTD_H.
 +      * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
 +      that are set but not used.
  
 -2007-07-11  Jason Rumney  <jasonr@gnu.org>
 +      * xfns.c (make_invisible_cursor): Don't return garbage
 +      if XCreateBitmapFromData fails (Bug#8410).
  
 -      * makefile.w32-in (LIBS): Include OLE32.
 +      * xselect.c (x_get_local_selection, x_handle_property_notify):
 +      Remove vars that are set but not used.
  
 -      * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
 -      (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
 +      * xfns.c (x_create_tip_frame): Remove var that is set but not used.
 +      (make_invisible_cursor): Initialize a possibly-uninitialized variable.
  
 -2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * 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.
  
 -      * 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.
 +      * xfaces.c (realize_named_face): Remove vars that are set but not used.
 +      (map_tty_color) [!defined MSDOS]: Likewise.
  
 -      * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
 +      * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
  
 -      * 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.
 +      * 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-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
 +      that is set but not used.
  
 -      * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
 -      USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
 +      * print.c (print_object): Remove var that is set but not used.
  
 -      * 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.
 +      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.
  
 -      * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
 +2011-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * 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.
 +      * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
 +      first non-nil return value).
  
 -      * keymap.h (map_keymap_function_t): More informative prototype.
 +2011-04-03  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>
 +      * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
 +      if not defined (Bug#8403).
  
 -      * 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-04-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * 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.
  
 -      * minibuf.c (Fcompleting_read): New value `confirm-only'
 -      for `require-match'.
 +2011-04-02  Jim Meyering  <meyering@redhat.com>
  
 -2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      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>
  
 -      * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
 -      part of the 2007-06-27 change to syms_of_fileio.
 +      * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
 +
 +2011-04-02  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
 +      later (Bug#8403).
  
 -      * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
 -      Check WINDOWP before using XWINDOW.  Consolidate return statements.
 +2011-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Add lexical binding.
  
 -2007-06-27  Richard Stallman  <rms@gnu.org>
 +      * window.c (Ftemp_output_buffer_show): New fun.
 +      (Fsave_window_excursion):
 +      * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
  
 -      * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
 +      * 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'.
  
 -2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
 +      * lisp.h (struct Lisp_Symbol): New field `declared_special'.
  
 -      * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
 +      * keyboard.c (eval_dyn): New fun.
 +      (menu_item_eval_property): Use it.
  
 -2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * image.c (parse_image_spec): Use Ffunctionp.
  
 -      * 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.
 +      * fns.c (concat, mapcar1): Accept byte-code-functions.
  
 -2007-06-26  Kenichi Handa  <handa@m17n.org>
 +      * 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.
  
 -      * coding.c (Ffind_operation_coding_system): Docstring improved.
 -      (syms_of_coding): Docstring of `file-coding-system-alist' improved.
 +      * doc.c (Fdocumentation, store_function_docstring):
 +      * data.c (Finteractive_form): Handle closures.
  
 -2007-06-25  David Kastrup  <dak@gnu.org>
 +      * callint.c (Fcall_interactively): Preserve lexical-binding mode for
 +      interactive spec.
  
 -      * keymap.c (Fcurrent_active_maps): Add `position' argument.
 -      (Fwhere_is_internal): Adjust call to `current-active-maps' to
 -      cater for additional parameter.
 +      * 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.
  
 -      * keymap.h: Adjust number of parameters to `current-active-maps'.
 +      * buffer.c (defvar_per_buffer): Set new `declared_special' field.
  
 -      * doc.c (Fsubstitute_command_keys): Adjust call of
 -      `current-active-maps'.
 +      * alloc.c (Fmake_symbol): Init new `declared_special' field.
  
 -2007-06-25  David Kastrup  <dak@gnu.org>
 +2011-03-31  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * callint.c (Fcall_interactively): Make the parsing of interactive
 -      specs somewhat more readable.
 +      * xdisp.c (redisplay_internal): Fix prototype.
  
 -2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-31  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * 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)
  
 -2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      (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.
  
 -      * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
 -      (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
 +2011-03-31  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 (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.
  
 -2007-06-21  Jason Rumney  <jasonr@gnu.org>
 +      * indent.c (Fvertical_motion):
 +      * window.c (window_scroll_pixel_based, Frecenter):
 +      Don't pass `need_y_p' to `move_it_by_lines'.
  
 -      * image.c (convert_mono_to_color_image): Swap fore and background.
 +2011-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2007-06-20  Jason Rumney  <jasonr@gnu.org>
 +      * 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.
  
 -      * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
 -      (w32_free_bdf_font): Unmap memory not handle.
 +      * bytecode.c (Fbyte_code): CAR and CDR can GC.
  
 -2007-06-20  Sam Steingold  <sds@gnu.org>
 +2011-03-30  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
  
 -      * gmalloc.c (__morecore): Fix the declaration to comply with the
 -      definition.
 +      * keyboard.c (Fexecute_extended_command): Do log the "suggest key
 +      binding" message (bug#7967).
  
 -2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
 +2011-03-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * w32term.c (w32_delete_display): Remove leftover declaration.
 -      (w32_define_cursor, w32_initialize): Make static.
 +      Fix more problems found by GCC 4.6.0's static checks.
  
 -      * w32.c (_wsa_errlist): Fix typo in error message.
 -      (init_environment): Ignore any environment variable from the
 -      registry having a null value.
 +      * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
 +      Remove unused local var.
  
 -2007-06-20  Glenn Morris  <rgm@gnu.org>
 +      * editfns.c (Fmessage_box): Remove unused local var.
  
 -      * Makefile.in (LIBGIF): Default to -lgif.
 +      * 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-17  Jason Rumney  <jasonr@gnu.org>
 +      * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
 +      instead of alloca (Bug#8344).
  
 -      * w32menu.c (add_menu_item): Don't use multibyte string functions on
 -      unicode strings.
 +      * eval.c (Fbacktrace): Don't assume nargs fits in int.
 +      (Fbacktrace_frame): Don't assume nframes fits in int.
  
 -2007-06-16  Juanma Barranquero  <lekktu@gmail.com>
 +      * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
  
 -      * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
 -      Fix typo in docstring.
 +      * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
 +      concerns.
  
 -2007-06-16  Eli Zaretskii  <eliz@gnu.org>
 +      * term.c (produce_glyphless_glyph): Remove unnecessary test.
  
 -      * w32menu.c (add_menu_item): Escape `&' characters in menu items
 -      and their keybindings.
 +      * cm.c (calccost): Turn while-do into do-while, for clarity.
  
 -2007-06-15  Chong Yidong  <cyd@stupidchicken.com>
 +      * 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.
  
 -      * composite.c (update_compositions): Fix last fix.
 +      * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
  
 -2007-06-14  Jason Rumney  <jasonr@gnu.org>
 +      * xselect.c (x_check_property_data): Return correct size (Bug#8335).
  
 -      * 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.
 +      * chartab.c (sub_char_table_ref_and_range): Redo for slight
 +      efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
  
 -      * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
 +      * 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.
  
 -2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>
 +      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.
  
 -      * composite.c (update_compositions): Check the validness of
 -      compositions.
 +      * 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.
  
 -2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
 -      (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
 +      * 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.
  
 -      * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
 -      (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
 +      * 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.
  
 -      * macgui.h (USE_MAC_TOOLBAR): New define.
 +2011-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
 -      Return immediately unless popup is activated.
 +      * 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.
  
 -      * 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.
 +      * 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.
  
 -      * 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.
 +2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
 -      [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
 +      * dispextern.h (string_buffer_position): Remove declaration.
  
 -2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
 +      * print.c (strout): Remove parameter `multibyte', unused since
 +      1999-08-21T19:30:21Z!gerd@gnu.org.  All callers changed.
  
 -      * image.c (search_image_cache): Remove unused variable.
 +      * 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-13  Chong Yidong  <cyd@stupidchicken.com>
 +      * w32.c (_wsa_errlist): Use braces for struct initializers.
  
 -      * xfns.c, xmenu.c: Link to xaw3d if available.
 +      * 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-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
 -      frame_foreground and frame_background.
 +      * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
  
 -      * image.c (lookup_image): Save frame foreground and background colors.
 -      (search_image_cache): Check if saved and current frame colors match.
 +2011-03-27  Anders Lindgren  <andlind@gmail.com>
  
 -2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * 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.
  
 -      * regex.c (regex_compile): Remove the `regnum' counter.
 -      Use bufp->re_nsub instead.  Add support for \(?N:RE\).
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsmenu.m (runDialogAt): Remove argument to timer_check.
  
 -      * term.c: Include intervals.h to declare Fget_text_property.
 +2011-03-27  Glenn Morris  <rgm@gnu.org>
  
 -2007-06-10  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.
  
 -      * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
 +2011-03-26  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-06-08  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)
  
 -      * 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.
 +2011-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-06-05  Juanma Barranquero  <lekktu@gmail.com>
 +      * w32.c (read_unc_volume): Use parameter `henum', instead of
 +      global variable `wget_enum_handle'.
  
 -      * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
 +      * 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-03  Nick Roberts  <nickrob@snap.net.nz>
 +      * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
  
 -      * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
 +      * 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.
  
 -      * frame.c (Fmouse_position, Fmouse_pixel_position):
 -      Condition on HAVE_GPM too.
 +      * keyboard.c (read_char):
 +      * w32menu.c (w32_menu_display_help):
 +      * xmenu.c (show_help_event, menu_help_callback):
 +      Adjust calls to `show_help_echo'.
  
 -      * 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.
 +      * 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'.
  
 -      * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
 +      * 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-03  Chong Yidong  <cyd@stupidchicken.com>
 +2011-03-25  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.
 +      * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
 +      incurred during fontification.
  
 -2007-06-01  Juanma Barranquero  <lekktu@gmail.com>
 +2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * window.c (Fshrink_window): Reflow docstring.
 +      * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
 +      (DEFVAR_PER_BUFFER): Don't pass it.
  
 -2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
 +      * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
 +      (scrolling_window): Don't pass it.
  
 -      * Version 22.1 released.
 +2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-06-01  Richard Stallman  <rms@gnu.org>
 +      * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
  
 -      * xfns.c (x_encode_text): Add GCPRO.
 +      * 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'.
  
 -2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * image.c (XPutPixel): Remove unused variable `height'.
  
 -      * xfns.c (x_set_name_internal): Save encoded name before
 -      x_encode_text in case string data is relocated.
 +      * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
  
 -2007-05-31  Richard Stallman  <rms@gnu.org>
 +      * unexw32.c (get_section_info): Remove unused variable `section'.
  
 -      * buffer.c (syms_of_buffer): Doc fix.
 +      * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
 +      (system_process_attributes): Remove unused variable `sess'.
 +      (sys_read): Remove unused variable `err'.
  
 -2007-05-30  Nick Roberts  <nickrob@snap.net.nz>
 +      * 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'.
  
 -      * sysdep.c (init_sys_modes): Add rather than replace with
 -      O_NONBLOCK.
 +      * w32inevt.c (w32_console_read_socket):
 +      Remove unused variable `no_events'.
  
 -      * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
 -      term_mouse_moveto.
 +      * w32term.c (x_draw_composite_glyph_string_foreground):
 +      Remove unused variable `width'.
  
 -      * termhooks.h (term_mouse_moveto): New extern.
 +2011-03-24  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * w32term.c (x_set_glyph_string_clipping):
 +      Don't pass uninitialized region to CombineRgn.
  
 -2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-23  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
 -      around current_column call.
 +      * 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-05-26  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * w32font.c (w32font_draw): Return number of glyphs.
 +      (w32font_open_internal): Remove unused variable `i'.
 +      (w32font_driver): Add missing initializer.
  
 -      * 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.
 +      * w32menu.c (utf8to16): Remove unused variable `utf16'.
 +      (fill_in_menu): Remove unused variable `items_added'.
  
 -2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * 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'.
  
 -      * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
 -      Call mac_wakeup_from_rne on window size change.
 +      * 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-05-25  Chong Yidong  <cyd@stupidchicken.com>
 +2011-03-23  Julien Danjou  <julien@danjou.info>
  
 -      * image.c (uncache_image): Fix typo.
 +      * 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):
 +      * 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
 +      unconditionally 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 Liu  <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 background 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, 2012  Free Software Foundation, Inc.
 +  Copyright (C) 2011-2012  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/character.c
index a2cb416d770b1f1bab4ad19ddc923636abee1c86,0409f30dc0efee5f6dd365d33304776bf452aca8..593fbcece0ba2ca7c7f0ab10ebbbf370fb17bc82
@@@ -1,11 -1,11 +1,11 @@@
  /* Basic character support.
 -   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
 -     2010, 2011, 2012  Free Software Foundation, Inc.
 -   Copyright (C) 1995, 1997, 1998, 2001 Electrotechnical Laboratory, JAPAN.
 -     Licensed to the Free Software Foundation.
 -   Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 -     National Institute of Advanced Industrial Science and Technology (AIST)
 -     Registration Number H13PRO009
 +
 +Copyright (C) 2001-2012  Free Software Foundation, Inc.
 +Copyright (C) 1995, 1997, 1998, 2001 Electrotechnical Laboratory, JAPAN.
 +  Licensed to the Free Software Foundation.
 +Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 +  National Institute of Advanced Industrial Science and Technology (AIST)
 +  Registration Number H13PRO009
  
  This file is part of GNU Emacs.
  
@@@ -35,7 -35,6 +35,7 @@@ along with GNU Emacs.  If not, see <htt
  
  #include <sys/types.h>
  #include <setjmp.h>
 +#include <intprops.h>
  #include "lisp.h"
  #include "character.h"
  #include "buffer.h"
  
  Lisp_Object Qcharacterp;
  
 -/* Vector of translation table ever defined.
 -   ID of a translation table is used to index this vector.  */
 -Lisp_Object Vtranslation_table_vector;
 -
 -/* A char-table for characters which may invoke auto-filling.  */
 -Lisp_Object Vauto_fill_chars;
 -
 -Lisp_Object Qauto_fill_chars;
 +static Lisp_Object Qauto_fill_chars;
  
  /* Char-table of information about which character to unify to which
     Unicode character.  Mainly used by the macro MAYBE_UNIFY_CHAR.  */
  Lisp_Object Vchar_unify_table;
  
 -/* A char-table.  An element is non-nil iff the corresponding
 -   character has a printable glyph.  */
 -Lisp_Object Vprintable_chars;
 -
 -/* A char-table.  An elemnent is a column-width of the corresponding
 -   character.  */
 -Lisp_Object Vchar_width_table;
 -
 -/* A char-table.  An element is a symbol indicating the direction
 -   property of corresponding character.  */
 -Lisp_Object Vchar_direction_table;
 -
  /* Variable used locally in the macro FETCH_MULTIBYTE_CHAR.  */
  unsigned char *_fetch_multibyte_char_p;
  
 -/* Char table of scripts.  */
 -Lisp_Object Vchar_script_table;
 -
 -/* Alist of scripts vs representative characters.  */
 -Lisp_Object Vscript_representative_chars;
 -
  static Lisp_Object Qchar_script_table;
  
 -Lisp_Object Vunicode_category_table;
  \f
  
  /* If character code C has modifier masks, reflect them to the
     character code if possible.  Return the resulting code.  */
  
  int
 -char_resolve_modifier_mask (c)
 -     int c;
 +char_resolve_modifier_mask (int c)
  {
    /* A non-ASCII character can't reflect modifier bits to the code.  */
    if (! ASCII_CHAR_P ((c & ~CHAR_MODIFIER_MASK)))
     handle them appropriately.  */
  
  int
 -char_string (c, p)
 -     unsigned c;
 -     unsigned char *p;
 +char_string (unsigned int c, unsigned char *p)
  {
    int bytes;
  
    if (c & CHAR_MODIFIER_MASK)
      {
 -      c = (unsigned) char_resolve_modifier_mask ((int) c);
 +      c = char_resolve_modifier_mask (c);
        /* If C still has any modifier bits, just ignore it.  */
        c &= ~CHAR_MODIFIER_MASK;
      }
        bytes = BYTE8_STRING (c, p);
      }
    else
 -    error ("Invalid character: %d", c);
 +    error ("Invalid character: %x", c);
  
    return bytes;
  }
  
  
 -/* Return a character whose multibyte form is at P.  Set LEN is not
 +/* Return a character whose multibyte form is at P.  If LEN is not
     NULL, it must be a pointer to integer.  In that case, set *LEN to
 -   the byte length of the multibyte form.  If ADVANCED is not NULL, is
 +   the byte length of the multibyte form.  If ADVANCED is not NULL, it
     must be a pointer to unsigned char.  In that case, set *ADVANCED to
 -   the ending address (i.e. the starting address of the next
 +   the ending address (i.e., the starting address of the next
     character) of the multibyte form.  */
  
  int
 -string_char (p, advanced, len)
 -     const unsigned char *p;
 -     const unsigned char **advanced;
 -     int *len;
 +string_char (const unsigned char *p, const unsigned char **advanced, int *len)
  {
    int c;
    const unsigned char *saved_p = p;
  }
  
  
 -/* Translate character C by translation table TABLE.  If C is
 -   negative, translate a character specified by CHARSET and CODE.  If
 -   no translation is found in TABLE, return the untranslated
 -   character.  If TABLE is a list, elements are char tables.  In this
 -   case, translace C by all tables.  */
 +/* Translate character C by translation table TABLE.  If no translation is
 +   found in TABLE, return the untranslated character.  If TABLE is a list,
 +   elements are char tables.  In that case, recursively translate C by all the
 +   tables in the list.  */
  
  int
 -translate_char (table, c)
 -     Lisp_Object table;
 -     int c;
 +translate_char (Lisp_Object table, int c)
  {
    if (CHAR_TABLE_P (table))
      {
  }
  
  /* Convert ASCII or 8-bit character C to unibyte.  If C is none of
 -   them, return (C & 0xFF).
 -
 -   The argument REV_TBL is now ignored.  It will be removed in the
 -   future.  */
 +   them, return (C & 0xFF).  */
  
  int
 -multibyte_char_to_unibyte (c, rev_tbl)
 -     int c;
 -     Lisp_Object rev_tbl;
 +multibyte_char_to_unibyte (int c)
  {
    if (c < 0x80)
      return c;
     by charset_unibyte.  */
  
  int
 -multibyte_char_to_unibyte_safe (c)
 -     int c;
 +multibyte_char_to_unibyte_safe (int c)
  {
    if (c < 0x80)
      return c;
  }
  
  DEFUN ("characterp", Fcharacterp, Scharacterp, 1, 2, 0,
 -       doc: /* Return non-nil if OBJECT is a character.  */)
 -     (object, ignore)
 -     Lisp_Object object, ignore;
 +       doc: /* Return non-nil if OBJECT is a character.
 +usage: (characterp OBJECT)  */)
 +  (Lisp_Object object, Lisp_Object ignore)
  {
    return (CHARACTERP (object) ? Qt : Qnil);
  }
  
  DEFUN ("max-char", Fmax_char, Smax_char, 0, 0, 0,
         doc: /* Return the character of the maximum code.  */)
 -     ()
 +  (void)
  {
    return make_number (MAX_CHAR);
  }
  DEFUN ("unibyte-char-to-multibyte", Funibyte_char_to_multibyte,
         Sunibyte_char_to_multibyte, 1, 1, 0,
         doc: /* Convert the byte CH to multibyte character.  */)
 -     (ch)
 -     Lisp_Object ch;
 +  (Lisp_Object ch)
  {
    int c;
  
@@@ -291,7 -332,8 +291,7 @@@ DEFUN ("multibyte-char-to-unibyte", Fmu
         Smultibyte_char_to_unibyte, 1, 1, 0,
         doc: /* Convert the multibyte character CH to a byte.
  If the multibyte character does not represent a byte, return -1.  */)
 -     (ch)
 -     Lisp_Object ch;
 +  (Lisp_Object ch)
  {
    int cm;
  
      }
  }
  
 -DEFUN ("char-bytes", Fchar_bytes, Schar_bytes, 1, 1, 0,
 -       doc: /* Return 1 regardless of the argument CHAR.
 -This is now an obsolete function.  We keep it just for backward compatibility.
 -usage: (char-bytes CHAR)  */)
 -     (ch)
 -     Lisp_Object ch;
 -{
 -  CHECK_CHARACTER (ch);
 -  return make_number (1);
 -}
 -
+ /* Return width (columns) of C considering the buffer display table DP. */
+ static int
+ char_width (int c, struct Lisp_Char_Table *dp)
+ {
+   int width = CHAR_WIDTH (c);
+   if (dp)
+     {
+       Lisp_Object disp = DISP_CHAR_VECTOR (dp, c), ch;
+       int i;
+       if (VECTORP (disp))
+       for (i = 0, width = 0; i < ASIZE (disp); i++)
+         {
+           ch = AREF (disp, i);
+           if (CHARACTERP (ch))
+             width += CHAR_WIDTH (XFASTINT (ch));
+         }
+     }
+   return width;
+ }
  DEFUN ("char-width", Fchar_width, Schar_width, 1, 1, 0,
         doc: /* Return width of CHAR when displayed in the current buffer.
  The width is measured by how many columns it occupies on the screen.
  Tab is taken to occupy `tab-width' columns.
  usage: (char-width CHAR)  */)
 -     (ch)
 -       Lisp_Object ch;
 +  (Lisp_Object ch)
  {
-   Lisp_Object disp;
    int c, width;
-   struct Lisp_Char_Table *dp = buffer_display_table ();
  
    CHECK_CHARACTER (ch);
    c = XINT (ch);
-   /* Get the way the display table would display it.  */
-   disp = dp ? DISP_CHAR_VECTOR (dp, c) : Qnil;
-   if (VECTORP (disp))
-     width = sanitize_char_width (ASIZE (disp));
-   else
-     width = CHAR_WIDTH (c);
--
+   width = char_width (c, buffer_display_table ());
    return make_number (width);
  }
  
     characters and bytes of the substring in *NCHARS and *NBYTES
     respectively.  */
  
 -int
 -c_string_width (const unsigned char *str, int len, int precision, int *nchars, int *nbytes)
 +EMACS_INT
 +c_string_width (const unsigned char *str, EMACS_INT len, int precision,
 +              EMACS_INT *nchars, EMACS_INT *nbytes)
  {
 -  int i = 0, i_byte = 0;
 -  int width = 0;
 +  EMACS_INT i = 0, i_byte = 0;
 +  EMACS_INT width = 0;
    struct Lisp_Char_Table *dp = buffer_display_table ();
  
    while (i_byte < len)
      {
-       int bytes, thiswidth;
-       Lisp_Object val;
+       int bytes;
        int c = STRING_CHAR_AND_LENGTH (str + i_byte, bytes);
-       if (dp)
-       {
-         val = DISP_CHAR_VECTOR (dp, c);
-         if (VECTORP (val))
-           thiswidth = sanitize_char_width (ASIZE (val));
-         else
-           thiswidth = CHAR_WIDTH (c);
-       }
-       else
-       {
-         thiswidth = CHAR_WIDTH (c);
-       }
+       int thiswidth = char_width (c, dp);
  
        if (precision > 0
          && (width + thiswidth > precision))
     current buffer.  The width is measured by how many columns it
     occupies on the screen.  */
  
 -int
 -strwidth (str, len)
 -     unsigned char *str;
 -     int len;
 +EMACS_INT
 +strwidth (const char *str, EMACS_INT len)
  {
 -  return c_string_width (str, len, -1, NULL, NULL);
 +  return c_string_width ((const unsigned char *) str, len, -1, NULL, NULL);
  }
  
  /* Return width of Lisp string STRING when displayed in the current
     PRECISION, and set number of characters and bytes of the substring
     in *NCHARS and *NBYTES respectively.  */
  
 -int
 -lisp_string_width (string, precision, nchars, nbytes)
 -     Lisp_Object string;
 -     int precision, *nchars, *nbytes;
 +EMACS_INT
 +lisp_string_width (Lisp_Object string, EMACS_INT precision,
 +                 EMACS_INT *nchars, EMACS_INT *nbytes)
  {
 -  int len = SCHARS (string);
 +  EMACS_INT len = SCHARS (string);
    /* This set multibyte to 0 even if STRING is multibyte when it
       contains only ascii and eight-bit-graphic, but that's
       intentional.  */
    int multibyte = len < SBYTES (string);
    unsigned char *str = SDATA (string);
 -  int i = 0, i_byte = 0;
 -  int width = 0;
 +  EMACS_INT i = 0, i_byte = 0;
 +  EMACS_INT width = 0;
    struct Lisp_Char_Table *dp = buffer_display_table ();
  
    while (i < len)
      {
 -      int chars, bytes, thiswidth;
 +      EMACS_INT chars, bytes, thiswidth;
        Lisp_Object val;
 -      int cmp_id;
 +      ptrdiff_t cmp_id;
        EMACS_INT ignore, end;
  
        if (find_composition (i, -1, &ignore, &end, &val, string)
          int c;
  
          if (multibyte)
 -          c = STRING_CHAR_AND_LENGTH (str + i_byte, bytes);
 +          {
 +            int cbytes;
 +            c = STRING_CHAR_AND_LENGTH (str + i_byte, cbytes);
 +            bytes = cbytes;
 +          }
          else
            c = str[i_byte], bytes = 1;
          chars = 1;
-         if (dp)
-           {
-             val = DISP_CHAR_VECTOR (dp, c);
-             if (VECTORP (val))
-               thiswidth = sanitize_char_width (ASIZE (val));
-             else
-               thiswidth = CHAR_WIDTH (c);
-           }
-         else
-           {
-             thiswidth = CHAR_WIDTH (c);
-           }
+         thiswidth = char_width (c, dp);
        }
  
 -      if (precision > 0
 -        && (width + thiswidth > precision))
 +      if (precision <= 0)
 +      {
 +#ifdef emacs
 +        if (INT_ADD_OVERFLOW (width, thiswidth))
 +          string_overflow ();
 +#endif
 +      }
 +      else if (precision - width < thiswidth)
        {
          *nchars = i;
          *nbytes = i_byte;
        i += chars;
        i_byte += bytes;
        width += thiswidth;
 -  }
 +    }
  
    if (precision > 0)
      {
@@@ -496,7 -534,8 +487,7 @@@ only the base leading-code is considere
  the following bytes is not checked.  Tabs in STRING are always
  taken to occupy `tab-width' columns.
  usage: (string-width STRING)  */)
 -     (str)
 -     Lisp_Object str;
 +  (Lisp_Object str)
  {
    Lisp_Object val;
  
    return val;
  }
  
 -DEFUN ("char-direction", Fchar_direction, Schar_direction, 1, 1, 0,
 -       doc: /* Return the direction of CHAR.
 -The returned value is 0 for left-to-right and 1 for right-to-left.
 -usage: (char-direction CHAR)  */)
 -     (ch)
 -     Lisp_Object ch;
 -{
 -  int c;
 -
 -  CHECK_CHARACTER (ch);
 -  c = XINT (ch);
 -  return CHAR_TABLE_REF (Vchar_direction_table, c);
 -}
 -
  /* Return the number of characters in the NBYTES bytes at PTR.
     This works by looking at the contents and checking for multibyte
     sequences while assuming that there's no invalid sequence.
     nil, we treat each byte as a character.  */
  
  EMACS_INT
 -chars_in_text (ptr, nbytes)
 -     const unsigned char *ptr;
 -     EMACS_INT nbytes;
 +chars_in_text (const unsigned char *ptr, EMACS_INT nbytes)
  {
    /* current_buffer is null at early stages of Emacs initialization.  */
    if (current_buffer == 0
 -      || NILP (current_buffer->enable_multibyte_characters))
 +      || NILP (BVAR (current_buffer, enable_multibyte_characters)))
      return nbytes;
  
    return multibyte_chars_in_text (ptr, nbytes);
     ignores enable-multibyte-characters.  */
  
  EMACS_INT
 -multibyte_chars_in_text (ptr, nbytes)
 -     const unsigned char *ptr;
 -     EMACS_INT nbytes;
 +multibyte_chars_in_text (const unsigned char *ptr, EMACS_INT nbytes)
  {
    const unsigned char *endp = ptr + nbytes;
 -  int chars = 0;
 +  EMACS_INT chars = 0;
  
    while (ptr < endp)
      {
 -      int len = MULTIBYTE_LENGTH (ptr, endp);
 +      EMACS_INT len = MULTIBYTE_LENGTH (ptr, endp);
  
        if (len == 0)
        abort ();
     represented by 2-byte in a multibyte text.  */
  
  void
 -parse_str_as_multibyte (str, len, nchars, nbytes)
 -     const unsigned char *str;
 -     int len, *nchars, *nbytes;
 +parse_str_as_multibyte (const unsigned char *str, EMACS_INT len,
 +                      EMACS_INT *nchars, EMACS_INT *nbytes)
  {
    const unsigned char *endp = str + len;
 -  int n, chars = 0, bytes = 0;
 +  EMACS_INT n, chars = 0, bytes = 0;
  
    if (len >= MAX_MULTIBYTE_LENGTH)
      {
  }
  
  /* Arrange unibyte text at STR of NBYTES bytes as a multibyte text.
 -   It actually converts only such 8-bit characters that don't contruct
 +   It actually converts only such 8-bit characters that don't construct
     a multibyte sequence to multibyte forms of Latin-1 characters.  If
     NCHARS is nonzero, set *NCHARS to the number of characters in the
     text.  It is assured that we can use LEN bytes at STR as a work
     area and that is enough.  Return the number of bytes of the
     resulting text.  */
  
 -int
 -str_as_multibyte (str, len, nbytes, nchars)
 -     unsigned char *str;
 -     int len, nbytes, *nchars;
 +EMACS_INT
 +str_as_multibyte (unsigned char *str, EMACS_INT len, EMACS_INT nbytes,
 +                EMACS_INT *nchars)
  {
    unsigned char *p = str, *endp = str + nbytes;
    unsigned char *to;
 -  int chars = 0;
 +  EMACS_INT chars = 0;
    int n;
  
    if (nbytes >= MAX_MULTIBYTE_LENGTH)
    to = p;
    nbytes = endp - p;
    endp = str + len;
 -  safe_bcopy ((char *) p, (char *) (endp - nbytes), nbytes);
 +  memmove (endp - nbytes, p, nbytes);
    p = endp - nbytes;
  
    if (nbytes >= MAX_MULTIBYTE_LENGTH)
  }
  
  /* Parse unibyte string at STR of LEN bytes, and return the number of
 -   bytes it may ocupy when converted to multibyte string by
 +   bytes it may occupy when converted to multibyte string by
     `str_to_multibyte'.  */
  
 -int
 -parse_str_to_multibyte (str, len)
 -     unsigned char *str;
 -     int len;
 +EMACS_INT
 +count_size_as_multibyte (const unsigned char *str, EMACS_INT len)
  {
 -  unsigned char *endp = str + len;
 -  int bytes;
 +  const unsigned char *endp = str + len;
 +  EMACS_INT bytes;
  
    for (bytes = 0; str < endp; str++)
 -    bytes += (*str < 0x80) ? 1 : 2;
 +    {
 +      int n = *str < 0x80 ? 1 : 2;
 +      if (INT_ADD_OVERFLOW (bytes, n))
 +        string_overflow ();
 +      bytes += n;
 +    }
    return bytes;
  }
  
  
 -/* Convert unibyte text at STR of NBYTES bytes to a multibyte text
 +/* Convert unibyte text at STR of BYTES bytes to a multibyte text
     that contains the same single-byte characters.  It actually
     converts all 8-bit characters to multibyte forms.  It is assured
     that we can use LEN bytes at STR as a work area and that is
     enough.  */
  
 -int
 -str_to_multibyte (str, len, bytes)
 -     unsigned char *str;
 -     int len, bytes;
 +EMACS_INT
 +str_to_multibyte (unsigned char *str, EMACS_INT len, EMACS_INT bytes)
  {
    unsigned char *p = str, *endp = str + bytes;
    unsigned char *to;
    to = p;
    bytes = endp - p;
    endp = str + len;
 -  safe_bcopy ((char *) p, (char *) (endp - bytes), bytes);
 +  memmove (endp - bytes, p, bytes);
    p = endp - bytes;
    while (p < endp)
      {
     actually converts characters in the range 0x80..0xFF to
     unibyte.  */
  
 -int
 -str_as_unibyte (str, bytes)
 -     unsigned char *str;
 -     int bytes;
 +EMACS_INT
 +str_as_unibyte (unsigned char *str, EMACS_INT bytes)
  {
    const unsigned char *p = str, *endp = str + bytes;
    unsigned char *to;
     Note: Currently the arg ACCEPT_LATIN_1 is not used.  */
  
  EMACS_INT
 -str_to_unibyte (src, dst, chars, accept_latin_1)
 -     const unsigned char *src;
 -     unsigned char *dst;
 -     EMACS_INT chars;
 -     int accept_latin_1;
 +str_to_unibyte (const unsigned char *src, unsigned char *dst, EMACS_INT chars, int accept_latin_1)
  {
    EMACS_INT i;
  
  }
  
  
 -int
 -string_count_byte8 (string)
 -     Lisp_Object string;
 +static EMACS_INT
 +string_count_byte8 (Lisp_Object string)
  {
    int multibyte = STRING_MULTIBYTE (string);
 -  int nbytes = SBYTES (string);
 +  EMACS_INT nbytes = SBYTES (string);
    unsigned char *p = SDATA (string);
    unsigned char *pend = p + nbytes;
 -  int count = 0;
 +  EMACS_INT count = 0;
    int c, len;
  
    if (multibyte)
  
  
  Lisp_Object
 -string_escape_byte8 (string)
 -     Lisp_Object string;
 +string_escape_byte8 (Lisp_Object string)
  {
 -  int nchars = SCHARS (string);
 -  int nbytes = SBYTES (string);
 +  EMACS_INT nchars = SCHARS (string);
 +  EMACS_INT nbytes = SBYTES (string);
    int multibyte = STRING_MULTIBYTE (string);
 -  int byte8_count;
 +  EMACS_INT byte8_count;
    const unsigned char *src, *src_end;
    unsigned char *dst;
    Lisp_Object val;
      return string;
  
    if (multibyte)
 -    /* Convert 2-byte sequence of byte8 chars to 4-byte octal.  */
 -    val = make_uninit_multibyte_string (nchars + byte8_count * 3,
 -                                      nbytes + byte8_count * 2);
 +    {
 +      if ((MOST_POSITIVE_FIXNUM - nchars) / 3 < byte8_count
 +        || (STRING_BYTES_BOUND - nbytes) / 2 < byte8_count)
 +      string_overflow ();
 +
 +      /* Convert 2-byte sequence of byte8 chars to 4-byte octal.  */
 +      val = make_uninit_multibyte_string (nchars + byte8_count * 3,
 +                                        nbytes + byte8_count * 2);
 +    }
    else
 -    /* Convert 1-byte sequence of byte8 chars to 4-byte octal.  */
 -    val = make_uninit_string (nbytes + byte8_count * 3);
 +    {
 +      if ((STRING_BYTES_BOUND - nbytes) / 3 < byte8_count)
 +      string_overflow ();
 +
 +      /* Convert 1-byte sequence of byte8 chars to 4-byte octal.  */
 +      val = make_uninit_string (nbytes + byte8_count * 3);
 +    }
  
    src = SDATA (string);
    src_end = src + nbytes;
@@@ -894,15 -949,16 +885,15 @@@ DEFUN ("string", Fstring, Sstring, 0, M
         doc: /*
  Concatenate all the argument characters and make the result a string.
  usage: (string &rest CHARACTERS)  */)
 -     (n, args)
 -     int n;
 -     Lisp_Object *args;
 +  (ptrdiff_t n, Lisp_Object *args)
  {
 -  int i, c;
 +  ptrdiff_t i;
 +  int c;
    unsigned char *buf, *p;
    Lisp_Object str;
    USE_SAFE_ALLOCA;
  
 -  SAFE_ALLOCA (buf, unsigned char *, MAX_MULTIBYTE_LENGTH * n);
 +  SAFE_NALLOCA (buf, MAX_MULTIBYTE_LENGTH, n);
    p = buf;
  
    for (i = 0; i < n; i++)
  DEFUN ("unibyte-string", Funibyte_string, Sunibyte_string, 0, MANY, 0,
         doc: /* Concatenate all the argument bytes and make the result a unibyte string.
  usage: (unibyte-string &rest BYTES)  */)
 -     (n, args)
 -     int n;
 -     Lisp_Object *args;
 +  (ptrdiff_t n, Lisp_Object *args)
  {
 -  int i, c;
 +  ptrdiff_t i;
 +  int c;
    unsigned char *buf, *p;
    Lisp_Object str;
    USE_SAFE_ALLOCA;
@@@ -951,7 -1008,8 +942,7 @@@ DEFUN ("char-resolve-modifiers", Fchar_
  The value is a character with modifiers resolved into the character
  code.  Unresolved modifiers are kept in the value.
  usage: (char-resolve-modifiers CHAR)  */)
 -     (character)
 -     Lisp_Object character;
 +  (Lisp_Object character)
  {
    int c;
  
@@@ -969,8 -1027,9 +960,8 @@@ character is a target to get a byte val
  non-nil, is an index of a target character in the string.
  
  If the current buffer (or STRING) is multibyte, and the target
 -character is not ASCII nor 8-bit character, an error is signalled.  */)
 -     (position, string)
 -     Lisp_Object position, string;
 +character is not ASCII nor 8-bit character, an error is signaled.  */)
 +  (Lisp_Object position, Lisp_Object string)
  {
    int c;
    EMACS_INT pos;
          pos = XFASTINT (position);
          p = CHAR_POS_ADDR (pos);
        }
 -      if (NILP (current_buffer->enable_multibyte_characters))
 +      if (NILP (BVAR (current_buffer, enable_multibyte_characters)))
        return make_number (*p);
      }
    else
  
  
  void
 -init_character_once ()
 +init_character_once (void)
  {
  }
  
  #ifdef emacs
  
  void
 -syms_of_character ()
 +syms_of_character (void)
  {
    DEFSYM (Qcharacterp, "characterp");
    DEFSYM (Qauto_fill_chars, "auto-fill-chars");
    defsubr (&Scharacterp);
    defsubr (&Sunibyte_char_to_multibyte);
    defsubr (&Smultibyte_char_to_unibyte);
 -  defsubr (&Schar_bytes);
    defsubr (&Schar_width);
    defsubr (&Sstring_width);
 -  defsubr (&Schar_direction);
    defsubr (&Sstring);
    defsubr (&Sunibyte_string);
    defsubr (&Schar_resolve_modifiers);
    defsubr (&Sget_byte);
  
 -  DEFVAR_LISP ("translation-table-vector",  &Vtranslation_table_vector,
 +  DEFVAR_LISP ("translation-table-vector",  Vtranslation_table_vector,
               doc: /*
  Vector recording all translation tables ever defined.
  Each element is a pair (SYMBOL . TABLE) relating the table to the
  symbol naming it.  The ID of a translation table is an index into this vector.  */);
    Vtranslation_table_vector = Fmake_vector (make_number (16), Qnil);
  
 -  DEFVAR_LISP ("auto-fill-chars", &Vauto_fill_chars,
 +  DEFVAR_LISP ("auto-fill-chars", Vauto_fill_chars,
               doc: /*
  A char-table for characters which invoke auto-filling.
  Such characters have value t in this table.  */);
    CHAR_TABLE_SET (Vauto_fill_chars, ' ', Qt);
    CHAR_TABLE_SET (Vauto_fill_chars, '\n', Qt);
  
 -  DEFVAR_LISP ("char-width-table", &Vchar_width_table,
 +  DEFVAR_LISP ("char-width-table", Vchar_width_table,
               doc: /*
  A char-table for width (columns) of each character.  */);
    Vchar_width_table = Fmake_char_table (Qnil, make_number (1));
    char_table_set_range (Vchar_width_table, MAX_5_BYTE_CHAR + 1, MAX_CHAR,
                        make_number (4));
  
 -  DEFVAR_LISP ("char-direction-table", &Vchar_direction_table,
 -             doc: /* A char-table for direction of each character.  */);
 -  Vchar_direction_table = Fmake_char_table (Qnil, make_number (1));
 -
 -  DEFVAR_LISP ("printable-chars", &Vprintable_chars,
 +  DEFVAR_LISP ("printable-chars", Vprintable_chars,
               doc: /* A char-table for each printable character.  */);
    Vprintable_chars = Fmake_char_table (Qnil, Qnil);
    Fset_char_table_range (Vprintable_chars,
                         Fcons (make_number (160),
                                make_number (MAX_5_BYTE_CHAR)), Qt);
  
 -  DEFVAR_LISP ("char-script-table", &Vchar_script_table,
 +  DEFVAR_LISP ("char-script-table", Vchar_script_table,
               doc: /* Char table of script symbols.
  It has one extra slot whose value is a list of script symbols.  */);
  
    Fput (Qchar_script_table, Qchar_table_extra_slots, make_number (1));
    Vchar_script_table = Fmake_char_table (Qchar_script_table, Qnil);
  
 -  DEFVAR_LISP ("script-representative-chars", &Vscript_representative_chars,
 +  DEFVAR_LISP ("script-representative-chars", Vscript_representative_chars,
               doc: /* Alist of scripts vs the representative characters.
  Each element is a cons (SCRIPT . CHARS).
  SCRIPT is a symbol representing a script or a subgroup of a script.
@@@ -1101,7 -1166,7 +1092,7 @@@ If it is a vector, one of the character
  This variable is used to find a font for a specific script.  */);
    Vscript_representative_chars = Qnil;
  
 -  DEFVAR_LISP ("unicode-category-table", &Vunicode_category_table,
 +  DEFVAR_LISP ("unicode-category-table", Vunicode_category_table,
               doc: /* Char table of Unicode's "General Category".
  All Unicode characters have one of the following values (symbol):
    Lu, Ll, Lt, Lm, Lo, Mn, Mc, Me, Nd, Nl, No, Pc, Pd, Ps, Pe, Pi, Pf, Po,
@@@ -1112,3 -1177,6 +1103,3 @@@ See The Unicode Standard for the meanin
  }
  
  #endif /* emacs */
 -
 -/* arch-tag: b6665960-3c3d-4184-85cd-af4318197999
 -   (do not change this comment) */