]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from emacs--devo--0
authorMiles Bader <miles@gnu.org>
Tue, 24 Jul 2007 01:25:28 +0000 (01:25 +0000)
committerMiles Bader <miles@gnu.org>
Tue, 24 Jul 2007 01:25:28 +0000 (01:25 +0000)
Patches applied:

 * emacs--devo--0  (patch 814-823)

   - Update from CVS
   - Merge from emacs--rel--22

 * emacs--rel--22  (patch 59-69)

   - Update from CVS
   - Merge from gnus--rel--5.10

 * gnus--rel--5.10  (patch 237-238)

   - Update from CVS

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

20 files changed:
1  2 
lib-src/makefile.w32-in
lisp/bindings.el
lisp/emulation/cua-base.el
lisp/files.el
lisp/isearch.el
lisp/simple.el
lisp/startup.el
lisp/term/x-win.el
lisp/term/xterm.el
src/buffer.c
src/coding.c
src/data.c
src/eval.c
src/makefile.w32-in
src/process.c
src/window.c
src/xdisp.c
src/xfns.c
src/xterm.c
src/xterm.h

Simple merge
index 27d27946122193512550c7e4f5560117e310a5d4,93a28e9cf2019c7c9153a886d1fb86b961750e01..df435ed532f2a879332f4b383fcdd279c54866de
@@@ -292,8 -302,8 +308,9 @@@ Keymap to display on minor modes."
         "%e"
         (propertize "-" 'help-echo help-echo)
         'mode-line-mule-info
 +       'mode-line-client
         'mode-line-modified
+        'mode-line-remote
         'mode-line-frame-identification
         'mode-line-buffer-identification
         (propertize "   " 'help-echo help-echo)
Simple merge
diff --cc lisp/files.el
Simple merge
diff --cc lisp/isearch.el
Simple merge
diff --cc lisp/simple.el
Simple merge
diff --cc lisp/startup.el
Simple merge
Simple merge
index 9cc4c6b45d6f5dfce5c4dab49ea13f539f92f41a,5d26b4abd344bece400ea298a473c82b68794b11..3308b50a58887547bd9f9ca35daa7c1d384df883
        ;; 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))
 +      (set-keymap-parent map (keymap-parent local-function-key-map))
 +      (set-keymap-parent local-function-key-map map)))
  
 -    ;; 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)
+     ;; Try to turn on the modifyOtherKeys feature on modern xterms.
+     ;; When it is turned on much more key bindings work: things like
+     ;; C-. C-, etc.
+     ;; To do that we need to find out if the current terminal supports
+     ;; modifyOtherKeys. At this time only xterm does.
+     (let ((coding-system-for-read 'binary)
+         (chr nil)
+         (str nil))
+       ;; Try to find out the type of terminal by sending a "Secondary
+       ;; Device Attributes (DA)" query.
+       (send-string-to-terminal "\e[>0c")
+       ;; The reply should be of the form: \e [ > NUMBER1 ; NUMBER2 ; NUMBER3 c
+       (when (equal (read-event nil nil 0.1) ?\e)
+       (when (equal (read-event nil nil 0.1) ?\[)
+         (while (not (equal (setq chr (read-event nil nil 0.1)) ?c))
+           (setq str (concat str (string chr))))
+         (when (string-match ">0;\\([0-9]+\\);0" str)
+           ;; NUMBER2 is the xterm version number, look for something
+           ;; greater than 216, the version when modifyOtherKeys was
+           ;; introduced.
+           (when (>= (string-to-number 
+                      (substring str (match-beginning 1) (match-end 1))) 216)
+             ;; Make sure that the modifyOtherKeys state is restored when
+             ;; suspending, resuming and exiting.
+             (add-hook 'suspend-hook 'xterm-turn-off-modify-other-keys)
+             (add-hook 'suspend-resume-hook 'xterm-turn-on-modify-other-keys)
+             (add-hook 'kill-emacs-hook 'xterm-turn-off-modify-other-keys)
+             (xterm-turn-on-modify-other-keys))))))))
  
  ;; Set up colors, for those versions of xterm that support it.
  (defvar xterm-standard-colors
diff --cc src/buffer.c
Simple merge
diff --cc src/coding.c
Simple merge
diff --cc src/data.c
Simple merge
diff --cc src/eval.c
Simple merge
Simple merge
diff --cc src/process.c
Simple merge
diff --cc src/window.c
Simple merge
diff --cc src/xdisp.c
Simple merge
diff --cc src/xfns.c
Simple merge
diff --cc src/xterm.c
Simple merge
diff --cc src/xterm.h
Simple merge