]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from emacs--devo--0
authorMiles Bader <miles@gnu.org>
Sat, 16 Jun 2007 22:33:42 +0000 (22:33 +0000)
committerMiles Bader <miles@gnu.org>
Sat, 16 Jun 2007 22:33:42 +0000 (22:33 +0000)
Patches applied:

 * emacs--devo--0  (patch 793-802)

   - Update from CVS
   - Remove RCS keywords
   - Merge from emacs--rel--22

 * emacs--rel--22  (patch 42-50)

   - Update from CVS
   - Merge from gnus--rel--5.10
   - Gnus ChangeLog tweaks

 * gnus--rel--5.10  (patch 229-232)

   - Merge from emacs--devo--0, emacs--rel--22
   - ChangeLog tweak
   - Update from CVS

Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-23

26 files changed:
1  2 
configure
configure.in
lisp/font-lock.el
lisp/gnus/ChangeLog.2
lisp/mb-depth.el
lisp/server.el
lisp/startup.el
lisp/subr.el
lisp/term/mac-win.el
lisp/term/x-win.el
lisp/term/xterm.el
lisp/x-dnd.el
src/config.in
src/dispextern.h
src/frame.h
src/image.c
src/macfns.c
src/macmenu.c
src/macterm.c
src/macterm.h
src/term.c
src/w32.c
src/w32menu.c
src/xdisp.c
src/xfns.c
src/xmenu.c

diff --cc configure
Simple merge
diff --cc configure.in
Simple merge
Simple merge
index 4dac2ac55eac49fcc73e7d8bf338d3d271309570,26c3a1d90c319dba2a430707d7d77c9becb957a1..d4472992aeba26de1e8618e0c1ca82650944e79e
        (mml1991-pgg-sign, mml1991-pgg-encrypt): New functions.
        (mml1991-pgg-encrypt): Fix recipients querying.
  
 -2002-09-28  <dme@dme.org>
++2002-09-28  <dme@dme.org>  (tiny change)
+       * mml2015.el (autoload): Autoload correct files.
  2002-09-28  Simon Josefsson  <jas@extundo.com>
  
-       * mml2015.el (autoload): Autoload correct files.  Trivial patch
-       from dme@dme.org.
        (mml2015-pgg-decrypt, mml2015-pgg-verify): Make sure either nil or
        handle is returned.
  
index 0000000000000000000000000000000000000000,d0885741ad456e26ec76a9c9ddb4259d0298a0fb..256c7ee6a99a7107eca590dffeb3923420797842
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,71 +1,72 @@@
+ ;;; mb-depth.el --- Indicate minibuffer-depth in prompt
+ ;;
+ ;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+ ;;
+ ;; Author: Miles Bader <miles@gnu.org>
+ ;; Keywords: convenience
+ ;; 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 2, 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; see the file COPYING.  If not, write to the
+ ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ ;; Boston, MA 02110-1301, USA.
+ ;;; Commentary:
+ ;;
+ ;; Defines the minor mode `minibuffer-indicate-depth-mode'.
+ ;;
+ ;; When active, any recursive use of the minibuffer will show
+ ;; the recursion depth in the minibuffer prompt.  This is only
+ ;; useful if `enable-recursive-minibuffers' is non-nil.
+ ;;; Code:
+ ;; An overlay covering the prompt.  This is a buffer-local variable in
+ ;; each affected minibuffer.
+ ;;
+ (defvar minibuf-depth-overlay)
+ (make-variable-buffer-local 'minibuf-depth-overlay)
+ ;; This function goes on minibuffer-setup-hook
+ (defun minibuf-depth-setup-minibuffer ()
+   "Set up a minibuffer for `minibuffer-indicate-depth-mode'.
+ The prompt should already have been inserted."
+   (when (> (minibuffer-depth) 1)
+     (setq minibuf-depth-overlay (make-overlay (point-min) (1+ (point-min))))
+     (overlay-put minibuf-depth-overlay 'before-string
+                (propertize (format "[%d]" (minibuffer-depth))
+                            'face 'highlight))
+     (overlay-put minibuf-depth-overlay 'evaporate t)))
+ ;;;###autoload
+ (define-minor-mode minibuffer-indicate-depth-mode
+   "Toggle Minibuffer Indicate Depth mode.
+ When active, any recursive use of the minibuffer will show
+ the recursion depth in the minibuffer prompt.  This is only
+ useful if `enable-recursive-minibuffers' is non-nil.
+ With prefix argument ARG, turn on if positive, otherwise off.
+ Returns non-nil if the new state is enabled."
+   :global t
+   :group 'minibuffer
+   (if minibuffer-indicate-depth-mode
+       ;; Enable the mode
+       (add-hook 'minibuffer-setup-hook 'minibuf-depth-setup-minibuffer)
+     ;; Disable the mode
+     (remove-hook 'minibuffer-setup-hook 'minibuf-depth-setup-minibuffer)))
+ (provide 'mb-depth)
++;; arch-tag: 50224089-5bf5-46f8-803d-18f018c5eacf
+ ;;; mb-depth.el ends here
diff --cc lisp/server.el
Simple merge
diff --cc lisp/startup.el
Simple merge
diff --cc lisp/subr.el
Simple merge
Simple merge
Simple merge
index f804fac5761d07a474d2be99f4b22f442ee0160f,a7249536f7bafb1738b74637da0f6a37f0f13d1f..d664f758197fbcbe414ed8ad000a2711b11f2e00
      ;; function-key-map. This substitution is needed because if a key
      ;; definition is found in function-key-map, there are no further
      ;; lookups in other keymaps.
 -    (substitute-key-definition [f13] [S-f1] function-key-map)
 -    (substitute-key-definition [f14] [S-f2] function-key-map)
 -    (substitute-key-definition [f15] [S-f3] function-key-map)
 -    (substitute-key-definition [f16] [S-f4] function-key-map)
 -    (substitute-key-definition [f17] [S-f5] function-key-map)
 -    (substitute-key-definition [f18] [S-f6] function-key-map)
 -    (substitute-key-definition [f19] [S-f7] function-key-map)
 -    (substitute-key-definition [f20] [S-f8] function-key-map)
 -    (substitute-key-definition [f21] [S-f9] function-key-map)
 -    (substitute-key-definition [f22] [S-f10] function-key-map)
 -    (substitute-key-definition [f23] [S-f11] function-key-map)
 -    (substitute-key-definition [f24] [S-f12] function-key-map)
 -
 -    (substitute-key-definition [f25] [C-f1] function-key-map)
 -    (substitute-key-definition [f26] [C-f2] function-key-map)
 -    (substitute-key-definition [f27] [C-f3] function-key-map)
 -    (substitute-key-definition [f28] [C-f4] function-key-map)
 -    (substitute-key-definition [f29] [C-f5] function-key-map)
 -    (substitute-key-definition [f30] [C-f6] function-key-map)
 -    (substitute-key-definition [f31] [C-f7] function-key-map)
 -    (substitute-key-definition [f32] [C-f8] function-key-map)
 -    (substitute-key-definition [f33] [C-f9] function-key-map)
 -    (substitute-key-definition [f34] [C-f10] function-key-map)
 -    (substitute-key-definition [f35] [C-f11] function-key-map)
 -    (substitute-key-definition [f36] [C-f12] function-key-map)
 -
 -    (substitute-key-definition [f37] [C-S-f1] function-key-map)
 -    (substitute-key-definition [f38] [C-S-f2] function-key-map)
 -    (substitute-key-definition [f39] [C-S-f3] function-key-map)
 -    (substitute-key-definition [f40] [C-S-f4] function-key-map)
 -    (substitute-key-definition [f41] [C-S-f5] function-key-map)
 -    (substitute-key-definition [f42] [C-S-f6] function-key-map)
 -    (substitute-key-definition [f43] [C-S-f7] function-key-map)
 -    (substitute-key-definition [f44] [C-S-f8] function-key-map)
 -    (substitute-key-definition [f45] [C-S-f9] function-key-map)
 -    (substitute-key-definition [f46] [C-S-f10] function-key-map)
 -    (substitute-key-definition [f47] [C-S-f11] function-key-map)
 -    (substitute-key-definition [f48] [C-S-f12] function-key-map)
 -
 -    (substitute-key-definition [f49] [A-f1] function-key-map)
 -    (substitute-key-definition [f50] [A-f2] function-key-map)
 -    (substitute-key-definition [f51] [A-f3] function-key-map)
 -    (substitute-key-definition [f52] [A-f4] function-key-map)
 -    (substitute-key-definition [f53] [A-f5] function-key-map)
 -    (substitute-key-definition [f54] [A-f6] function-key-map)
 -    (substitute-key-definition [f55] [A-f7] function-key-map)
 -    (substitute-key-definition [f56] [A-f8] function-key-map)
 -    (substitute-key-definition [f57] [A-f9] function-key-map)
 -    (substitute-key-definition [f58] [A-f10] function-key-map)
 -    (substitute-key-definition [f59] [A-f11] function-key-map)
 -    (substitute-key-definition [f60] [A-f12] function-key-map)
 +    (substitute-key-definition [f13] [S-f1] local-function-key-map)
 +    (substitute-key-definition [f14] [S-f2] local-function-key-map)
 +    (substitute-key-definition [f15] [S-f3] local-function-key-map)
 +    (substitute-key-definition [f16] [S-f4] local-function-key-map)
 +    (substitute-key-definition [f17] [S-f5] local-function-key-map)
 +    (substitute-key-definition [f18] [S-f6] local-function-key-map)
 +    (substitute-key-definition [f19] [S-f7] local-function-key-map)
 +    (substitute-key-definition [f20] [S-f8] local-function-key-map)
 +    (substitute-key-definition [f21] [S-f9] local-function-key-map)
 +    (substitute-key-definition [f22] [S-f10] local-function-key-map)
 +    (substitute-key-definition [f23] [S-f11] local-function-key-map)
 +    (substitute-key-definition [f24] [S-f12] local-function-key-map)
 +
 +    (substitute-key-definition [f25] [C-f1] local-function-key-map)
 +    (substitute-key-definition [f26] [C-f2] local-function-key-map)
 +    (substitute-key-definition [f27] [C-f3] local-function-key-map)
 +    (substitute-key-definition [f28] [C-f4] local-function-key-map)
 +    (substitute-key-definition [f29] [C-f5] local-function-key-map)
 +    (substitute-key-definition [f30] [C-f6] local-function-key-map)
 +    (substitute-key-definition [f31] [C-f7] local-function-key-map)
 +    (substitute-key-definition [f32] [C-f8] local-function-key-map)
 +    (substitute-key-definition [f33] [C-f9] local-function-key-map)
 +    (substitute-key-definition [f34] [C-f10] local-function-key-map)
 +    (substitute-key-definition [f35] [C-f11] local-function-key-map)
 +    (substitute-key-definition [f36] [C-f12] local-function-key-map)
 +
 +    (substitute-key-definition [f37] [C-S-f1] local-function-key-map)
 +    (substitute-key-definition [f38] [C-S-f2] local-function-key-map)
 +    (substitute-key-definition [f39] [C-S-f3] local-function-key-map)
 +    (substitute-key-definition [f40] [C-S-f4] local-function-key-map)
 +    (substitute-key-definition [f41] [C-S-f5] local-function-key-map)
 +    (substitute-key-definition [f42] [C-S-f6] local-function-key-map)
 +    (substitute-key-definition [f43] [C-S-f7] local-function-key-map)
 +    (substitute-key-definition [f44] [C-S-f8] local-function-key-map)
 +    (substitute-key-definition [f45] [C-S-f9] local-function-key-map)
 +    (substitute-key-definition [f46] [C-S-f10] local-function-key-map)
 +    (substitute-key-definition [f47] [C-S-f11] local-function-key-map)
 +    (substitute-key-definition [f48] [C-S-f12] local-function-key-map)
 +
 +    (substitute-key-definition [f49] [A-f1] local-function-key-map)
 +    (substitute-key-definition [f50] [A-f2] local-function-key-map)
 +    (substitute-key-definition [f51] [A-f3] local-function-key-map)
 +    (substitute-key-definition [f52] [A-f4] local-function-key-map)
 +    (substitute-key-definition [f53] [A-f5] local-function-key-map)
 +    (substitute-key-definition [f54] [A-f6] local-function-key-map)
 +    (substitute-key-definition [f55] [A-f7] local-function-key-map)
 +    (substitute-key-definition [f56] [A-f8] local-function-key-map)
 +    (substitute-key-definition [f57] [A-f9] local-function-key-map)
 +    (substitute-key-definition [f58] [A-f10] local-function-key-map)
 +    (substitute-key-definition [f59] [A-f11] local-function-key-map)
 +    (substitute-key-definition [f60] [A-f12] local-function-key-map)
  
-     ;; Use inheritance to let the main keymap override those defaults.
-     ;; This way we don't override terminfo-derived settings or settings
-     ;; made in the .emacs file.
-     (let ((m (copy-keymap xterm-function-map)))
-       (set-keymap-parent m (keymap-parent local-function-key-map))
-       (set-keymap-parent local-function-key-map m)))
+     (let ((map (make-sparse-keymap)))
++
++      ;; Use inheritance to let the main keymap override those defaults.
++      ;; This way we don't override terminfo-derived settings or settings
++      ;; made in the .emacs file.
++      (set-keymap-parent map (keymap-parent local-function-key-map))
++      (set-keymap-parent local-function-key-map map)
++
+       ;; xterm from X.org 6.8.2 uses these key definitions.
+       (define-key map "\eOP" [f1])
+       (define-key map "\eOQ" [f2])
+       (define-key map "\eOR" [f3])
+       (define-key map "\eOS" [f4])
+       (define-key map "\e[15~" [f5])
+       (define-key map "\e[17~" [f6])
+       (define-key map "\e[18~" [f7])
+       (define-key map "\e[19~" [f8])
+       (define-key map "\e[20~" [f9])
+       (define-key map "\e[21~" [f10])
+       (define-key map "\e[23~" [f11])
+       (define-key map "\e[24~" [f12])
+       (define-key map "\eO2P" [S-f1])
+       (define-key map "\eO2Q" [S-f2])
+       (define-key map "\eO2R" [S-f3])
+       (define-key map "\eO2S" [S-f4])
+       (define-key map "\e[1;2P" [S-f1])
+       (define-key map "\e[1;2Q" [S-f2])
+       (define-key map "\e[1;2R" [S-f3])
+       (define-key map "\e[1;2S" [S-f4])
+       (define-key map "\e[15;2~" [S-f5])
+       (define-key map "\e[17;2~" [S-f6])
+       (define-key map "\e[18;2~" [S-f7])
+       (define-key map "\e[19;2~" [S-f8])
+       (define-key map "\e[20;2~" [S-f9])
+       (define-key map "\e[21;2~" [S-f10])
+       (define-key map "\e[23;2~" [S-f11])
+       (define-key map "\e[24;2~" [S-f12])
+       (define-key map "\eO5P" [C-f1])
+       (define-key map "\eO5Q" [C-f2])
+       (define-key map "\eO5R" [C-f3])
+       (define-key map "\eO5S" [C-f4])
+       (define-key map "\e[15;5~" [C-f5])
+       (define-key map "\e[17;5~" [C-f6])
+       (define-key map "\e[18;5~" [C-f7])
+       (define-key map "\e[19;5~" [C-f8])
+       (define-key map "\e[20;5~" [C-f9])
+       (define-key map "\e[21;5~" [C-f10])
+       (define-key map "\e[23;5~" [C-f11])
+       (define-key map "\e[24;5~" [C-f12])
+       (define-key map "\eO6P" [C-S-f1])
+       (define-key map "\eO6Q" [C-S-f2])
+       (define-key map "\eO6R" [C-S-f3])
+       (define-key map "\eO6S" [C-S-f4])
+       (define-key map "\e[15;6~" [C-S-f5])
+       (define-key map "\e[17;6~" [C-S-f6])
+       (define-key map "\e[18;6~" [C-S-f7])
+       (define-key map "\e[19;6~" [C-S-f8])
+       (define-key map "\e[20;6~" [C-S-f9])
+       (define-key map "\e[21;6~" [C-S-f10])
+       (define-key map "\e[23;6~" [C-S-f11])
+       (define-key map "\e[24;6~" [C-S-f12])
+       (define-key map "\eO3P" [A-f1])
+       (define-key map "\eO3Q" [A-f2])
+       (define-key map "\eO3R" [A-f3])
+       (define-key map "\eO3S" [A-f4])
+       (define-key map "\e[15;3~" [A-f5])
+       (define-key map "\e[17;3~" [A-f6])
+       (define-key map "\e[18;3~" [A-f7])
+       (define-key map "\e[19;3~" [A-f8])
+       (define-key map "\e[20;3~" [A-f9])
+       (define-key map "\e[21;3~" [A-f10])
+       (define-key map "\e[23;3~" [A-f11])
+       (define-key map "\e[24;3~" [A-f12])
+       (define-key map "\eOA" [up])
+       (define-key map "\eOB" [down])
+       (define-key map "\eOC" [right])
+       (define-key map "\eOD" [left])
+       (define-key map "\eOF" [end])
+       (define-key map "\eOH" [home])
+       (define-key map "\e[1;2A" [S-up])
+       (define-key map "\e[1;2B" [S-down])
+       (define-key map "\e[1;2C" [S-right])
+       (define-key map "\e[1;2D" [S-left])
+       (define-key map "\e[1;2F" [S-end])
+       (define-key map "\e[1;2H" [S-home])
+       (define-key map "\e[1;5A" [C-up])
+       (define-key map "\e[1;5B" [C-down])
+       (define-key map "\e[1;5C" [C-right])
+       (define-key map "\e[1;5D" [C-left])
+       (define-key map "\e[1;5F" [C-end])
+       (define-key map "\e[1;5H" [C-home])
+       (define-key map "\e[1;6A" [C-S-up])
+       (define-key map "\e[1;6B" [C-S-down])
+       (define-key map "\e[1;6C" [C-S-right])
+       (define-key map "\e[1;6D" [C-S-left])
+       (define-key map "\e[1;6F" [C-S-end])
+       (define-key map "\e[1;6H" [C-S-home])
+       (define-key map "\e[1;3A" [A-up])
+       (define-key map "\e[1;3B" [A-down])
+       (define-key map "\e[1;3C" [A-right])
+       (define-key map "\e[1;3D" [A-left])
+       (define-key map "\e[1;3F" [A-end])
+       (define-key map "\e[1;3H" [A-home])
+       (define-key map "\e[2~" [insert])
+       (define-key map "\e[3~" [delete])
+       (define-key map "\e[5~" [prior])
+       (define-key map "\e[6~" [next])
+       (define-key map "\e[2;2~" [S-insert])
+       (define-key map "\e[3;2~" [S-delete])
+       (define-key map "\e[5;2~" [S-prior])
+       (define-key map "\e[6;2~" [S-next])
+       (define-key map "\e[2;5~" [C-insert])
+       (define-key map "\e[3;5~" [C-delete])
+       (define-key map "\e[5;5~" [C-prior])
+       (define-key map "\e[6;5~" [C-next])
+       (define-key map "\e[2;6~" [C-S-insert])
+       (define-key map "\e[3;6~" [C-S-delete])
+       (define-key map "\e[5;6~" [C-S-prior])
+       (define-key map "\e[6;6~" [C-S-next])
+       (define-key map "\e[2;3~" [A-insert])
+       (define-key map "\e[3;3~" [A-delete])
+       (define-key map "\e[5;3~" [A-prior])
+       (define-key map "\e[6;3~" [A-next])
+       (define-key map "\e[4~" [select])
+       (define-key map "\e[29~" [print])
+       (define-key map "\eOj" [kp-multiply])
+       (define-key map "\eOk" [kp-add])
+       (define-key map "\eOl" [kp-separator])
+       (define-key map "\eOm" [kp-subtract])
+       (define-key map "\eOo" [kp-divide])
+       (define-key map "\eOp" [kp-0])
+       (define-key map "\eOq" [kp-1])
+       (define-key map "\eOr" [kp-2])
+       (define-key map "\eOs" [kp-3])
+       (define-key map "\eOt" [kp-4])
+       (define-key map "\eOu" [kp-5])
+       (define-key map "\eOv" [kp-6])
+       (define-key map "\eOw" [kp-7])
+       (define-key map "\eOx" [kp-8])
+       (define-key map "\eOy" [kp-9])
+       ;; These keys are available in xterm starting from version 216
+       ;; if the modifyOtherKeys resource is set to 1.
+       (define-key map "\e[27;5;9~"   [C-tab])
+       (define-key map "\e[27;5;13~"  [C-return])
+       (define-key map "\e[27;5;39~"  [?\C-\'])
+       (define-key map "\e[27;5;44~"  [?\C-,])
+       (define-key map "\e[27;5;45~"  [?\C--])
+       (define-key map "\e[27;5;46~"  [?\C-.])
+       (define-key map "\e[27;5;47~"  [?\C-/])
+       (define-key map "\e[27;5;48~"  [?\C-0])
+       (define-key map "\e[27;5;49~"  [?\C-1])
+       ;; Not all C-DIGIT keys have a distinct binding.
+       (define-key map "\e[27;5;57~"  [?\C-9])
+       (define-key map "\e[27;5;59~"  [?\C-\;])
+       (define-key map "\e[27;5;61~"  [?\C-=])
+       (define-key map "\e[27;5;92~"  [?\C-\\])
+       (define-key map "\e[27;6;33~"  [?\C-!])
+       (define-key map "\e[27;6;34~"  [?\C-\"])
+       (define-key map "\e[27;6;35~"  [?\C-#])
+       (define-key map "\e[27;6;36~"  [?\C-$])
+       (define-key map "\e[27;6;37~"  [?\C-%])
+       (define-key map "\e[27;6;38~"  [?\C-&])
+       (define-key map "\e[27;6;40~"  [?\C-\(])
+       (define-key map "\e[27;6;41~"  [?\C-\)])
+       (define-key map "\e[27;6;42~"  [?\C-*])
+       (define-key map "\e[27;6;43~"  [?\C-+])
+       (define-key map "\e[27;6;58~"  [?\C-:])
+       (define-key map "\e[27;6;60~"  [?\C-<])
+       (define-key map "\e[27;6;62~"  [?\C->])
+       (define-key map "\e[27;6;63~"  [(control ??)])
+       ;; These are the strings emitted for various C-M- combinations
+       ;; for keyboards that the Meta and Alt modifiers are on the same
+       ;; key (usually labeled "Alt").
+       (define-key map "\e[27;13;9~"  [C-M-tab])
+       (define-key map "\e[27;13;13~" [C-M-return])
+       (define-key map "\e[27;13;39~" [?\C-\M-\'])
+       (define-key map "\e[27;13;44~" [?\C-\M-,])
+       (define-key map "\e[27;13;45~" [?\C-\M--])
+       (define-key map "\e[27;13;46~" [?\C-\M-.])
+       (define-key map "\e[27;13;47~" [?\C-\M-/])
+       (define-key map "\e[27;13;48~" [?\C-\M-0])
+       (define-key map "\e[27;13;49~" [?\C-\M-1])
+       (define-key map "\e[27;13;50~" [?\C-\M-2])
+       (define-key map "\e[27;13;51~" [?\C-\M-3])
+       (define-key map "\e[27;13;52~" [?\C-\M-4])
+       (define-key map "\e[27;13;53~" [?\C-\M-5])
+       (define-key map "\e[27;13;54~" [?\C-\M-6])
+       (define-key map "\e[27;13;55~" [?\C-\M-7])
+       (define-key map "\e[27;13;56~" [?\C-\M-8])
+       (define-key map "\e[27;13;57~" [?\C-\M-9])
+       (define-key map "\e[27;13;59~" [?\C-\M-\;])
+       (define-key map "\e[27;13;61~" [?\C-\M-=])
+       (define-key map "\e[27;13;92~" [?\C-\M-\\])
+       (define-key map "\e[27;14;33~"  [?\C-\M-!])
+       (define-key map "\e[27;14;34~"  [?\C-\M-\"])
+       (define-key map "\e[27;14;35~"  [?\C-\M-#])
+       (define-key map "\e[27;14;36~"  [?\C-\M-$])
+       (define-key map "\e[27;14;37~"  [?\C-\M-%])
+       (define-key map "\e[27;14;38~"  [?\C-\M-&])
+       (define-key map "\e[27;14;40~"  [?\C-\M-\(])
+       (define-key map "\e[27;14;41~"  [?\C-\M-\)])
+       (define-key map "\e[27;14;42~"  [?\C-\M-*])
+       (define-key map "\e[27;14;43~"  [?\C-\M-+])
+       (define-key map "\e[27;14;58~"  [?\C-\M-:])
+       (define-key map "\e[27;14;60~"  [?\C-\M-<])
+       (define-key map "\e[27;14;62~"  [?\C-\M->])
+       (define-key map "\e[27;14;63~"  [(control meta ??)])
+       (define-key map "\e[27;7;9~"  [C-M-tab])
+       (define-key map "\e[27;7;13~" [C-M-return])
+       (define-key map "\e[27;7;32~" [?\C-\M-\s])
+       (define-key map "\e[27;7;39~" [?\C-\M-\'])
+       (define-key map "\e[27;7;44~" [?\C-\M-,])
+       (define-key map "\e[27;7;45~" [?\C-\M--])
+       (define-key map "\e[27;7;46~" [?\C-\M-.])
+       (define-key map "\e[27;7;47~" [?\C-\M-/])
+       (define-key map "\e[27;7;48~" [?\C-\M-0])
+       (define-key map "\e[27;7;49~" [?\C-\M-1])
+       (define-key map "\e[27;7;50~" [?\C-\M-2])
+       (define-key map "\e[27;7;51~" [?\C-\M-3])
+       (define-key map "\e[27;7;52~" [?\C-\M-4])
+       (define-key map "\e[27;7;53~" [?\C-\M-5])
+       (define-key map "\e[27;7;54~" [?\C-\M-6])
+       (define-key map "\e[27;7;55~" [?\C-\M-7])
+       (define-key map "\e[27;7;56~" [?\C-\M-8])
+       (define-key map "\e[27;7;57~" [?\C-\M-9])
+       (define-key map "\e[27;7;59~" [?\C-\M-\;])
+       (define-key map "\e[27;7;61~" [?\C-\M-=])
+       (define-key map "\e[27;7;92~" [?\C-\M-\\])
+       (define-key map "\e[27;8;33~"  [?\C-\M-!])
+       (define-key map "\e[27;8;34~"  [?\C-\M-\"])
+       (define-key map "\e[27;8;35~"  [?\C-\M-#])
+       (define-key map "\e[27;8;36~"  [?\C-\M-$])
+       (define-key map "\e[27;8;37~"  [?\C-\M-%])
+       (define-key map "\e[27;8;38~"  [?\C-\M-&])
+       (define-key map "\e[27;8;40~"  [?\C-\M-\(])
+       (define-key map "\e[27;8;41~"  [?\C-\M-\)])
+       (define-key map "\e[27;8;42~"  [?\C-\M-*])
+       (define-key map "\e[27;8;43~"  [?\C-\M-+])
+       (define-key map "\e[27;8;58~"  [?\C-\M-:])
+       (define-key map "\e[27;8;60~"  [?\C-\M-<])
+       (define-key map "\e[27;8;62~"  [?\C-\M->])
+       (define-key map "\e[27;8;63~"  [(control meta ??)])
+       (define-key map "\e[27;2;9~"   [S-tab])
+       (define-key map "\e[27;2;13~"  [S-return])
+       (define-key map "\e[27;6;9~"   [C-S-tab])
+       (define-key map "\e[27;6;13~"  [C-S-return])
+       ;; Other versions of xterm might emit these.
+       (define-key map "\e[A" [up])
+       (define-key map "\e[B" [down])
+       (define-key map "\e[C" [right])
+       (define-key map "\e[D" [left])
+       (define-key map "\e[1~" [home])
+       (define-key map "\eO2A" [S-up])
+       (define-key map "\eO2B" [S-down])
+       (define-key map "\eO2C" [S-right])
+       (define-key map "\eO2D" [S-left])
+       (define-key map "\eO2F" [S-end])
+       (define-key map "\eO2H" [S-home])
+       (define-key map "\eO5A" [C-up])
+       (define-key map "\eO5B" [C-down])
+       (define-key map "\eO5C" [C-right])
+       (define-key map "\eO5D" [C-left])
+       (define-key map "\eO5F" [C-end])
+       (define-key map "\eO5H" [C-home])
+       (define-key map "\e[11~" [f1])
+       (define-key map "\e[12~" [f2])
+       (define-key map "\e[13~" [f3])
 -      (define-key map "\e[14~" [f4])
 -
 -      ;; Use inheritance to let the main keymap override those defaults.
 -      ;; This way we don't override terminfo-derived settings or settings
 -      ;; made in the .emacs file.
 -      (set-keymap-parent map (keymap-parent function-key-map))
 -      (set-keymap-parent function-key-map map))
++      (define-key map "\e[14~" [f4]))
  
 -    ;; Do it!
      (xterm-register-default-colors)
      ;; This recomputes all the default faces given the colors we've just set up.
 -    (tty-set-up-initial-frame-faces)))
 +    (tty-set-up-initial-frame-faces))
  
  ;; Set up colors, for those versions of xterm that support it.
  (defvar xterm-standard-colors
diff --cc lisp/x-dnd.el
Simple merge
diff --cc src/config.in
Simple merge
Simple merge
diff --cc src/frame.h
Simple merge
diff --cc src/image.c
Simple merge
diff --cc src/macfns.c
Simple merge
diff --cc src/macmenu.c
Simple merge
diff --cc src/macterm.c
Simple merge
diff --cc src/macterm.h
Simple merge
diff --cc src/term.c
index ceeac103e855d4b3feb3543011a982e002833309,20d3024bd6d1a0f6c85c460e7ebfcd20ebf9cd0c..122eab91bdbd06d414f45786c80fc17294c16f6f
@@@ -48,8 -39,7 +48,9 @@@ Boston, MA 02110-1301, USA.  *
  #include "window.h"
  #include "keymap.h"
  #include "blockinput.h"
 +#include "syssignal.h"
 +#include "systty.h"
+ #include "intervals.h"
  
  /* For now, don't try to include termcap.h.  On some systems,
     configure finds a non-standard termcap.h that the main build
diff --cc src/w32.c
Simple merge
diff --cc src/w32menu.c
index 5f507ad76c02973c0ef217051393b89363518f4f,bcd56c8c88e7072abf34ec3ad367b95e32109a38..f86bfa3b7dbb9d343f370c907f0d0764abb26157
@@@ -20,11 -20,12 +20,12 @@@ the Free Software Foundation, Inc., 51 
  Boston, MA 02110-1301, USA.  */
  
  #include <config.h>
 -#include <signal.h>
  
 +#include <signal.h>
  #include <stdio.h>
+ #include <mbstring.h>
 +
  #include "lisp.h"
 -#include "termhooks.h"
  #include "keyboard.h"
  #include "keymap.h"
  #include "frame.h"
diff --cc src/xdisp.c
index afa7f92a1ccef9db10d4a0aa99a7fa5c2123cee3,e1c29ce72eb7f02ff27ef14658c7cb32ce418d4e..7c7fedeb0b8599eadfc9534574d2b2c850e835a0
@@@ -13476,22 -13467,20 +13476,22 @@@ redisplay_window (window, just_this_one
          display_menu_bar (w);
  
  #ifdef HAVE_WINDOW_SYSTEM
- #ifdef USE_GTK
 +      if (FRAME_WINDOW_P (f))
 +        {
 -      redisplay_tool_bar_p = FRAME_EXTERNAL_TOOL_BAR (f);
+ #if defined (USE_GTK) || USE_MAC_TOOLBAR
 +          redisplay_tool_bar_p = FRAME_EXTERNAL_TOOL_BAR (f);
  #else
 -      redisplay_tool_bar_p = WINDOWP (f->tool_bar_window)
 -        && (FRAME_TOOL_BAR_LINES (f) > 0
 -            || !NILP (Vauto_resize_tool_bars));
 -
 +          redisplay_tool_bar_p = WINDOWP (f->tool_bar_window)
 +            && (FRAME_TOOL_BAR_LINES (f) > 0
 +                || !NILP (Vauto_resize_tool_bars));
  #endif
  
 -      if (redisplay_tool_bar_p && redisplay_tool_bar (f))
 -      {
 -        extern int ignore_mouse_drag_p;
 -        ignore_mouse_drag_p = 1;
 -      }
 +          if (redisplay_tool_bar_p && redisplay_tool_bar (f))
 +          {
 +            extern int ignore_mouse_drag_p;
 +            ignore_mouse_drag_p = 1;
 +          }
 +        }
  #endif
      }
  
diff --cc src/xfns.c
Simple merge
diff --cc src/xmenu.c
Simple merge