aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emulation
diff options
context:
space:
mode:
authorKaroly Lorentey2007-01-01 17:38:32 +0000
committerKaroly Lorentey2007-01-01 17:38:32 +0000
commit65e86587ab836aaa86b12ce30b219bcb4fcbaa06 (patch)
tree7e13feee7387635f52df3613cf1bba4414781aab /lisp/emulation
parent8c778e28bcf16b4baef6400a124ec2403941e940 (diff)
parent1fc8c92b50100da709c94a0faa47deed5603634f (diff)
downloademacs-65e86587ab836aaa86b12ce30b219bcb4fcbaa06.tar.gz
emacs-65e86587ab836aaa86b12ce30b219bcb4fcbaa06.zip
Merged from emacs@sv.gnu.org.
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-536 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-537 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-538 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-539 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-540 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-541 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-542 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-543 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-544 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-545 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-546 Update from erc--emacs--22 * emacs@sv.gnu.org/emacs--devo--0--patch-547 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-548 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-549 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-550 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-551 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-552 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-553 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-554 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-555 erc-iswitchb: Temporarily enable iswitchb mode * emacs@sv.gnu.org/emacs--devo--0--patch-556 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-557 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-558 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-559 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-560 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-561 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-562 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-563 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-564 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-565 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-566 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-567 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-568 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-569 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-570 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-571 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-572 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-573 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-574 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-575 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-576 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-577 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-578 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-579 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-580 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-581 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-582 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-583 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-584 Fix admin/quick-install-emacs to work with recent versions of autoconf * emacs@sv.gnu.org/gnus--rel--5.10--patch-171 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-172 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-173 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-174 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-175 Update from CVS: lisp/legacy-gnus-agent.el: Add Copyright notice. * emacs@sv.gnu.org/gnus--rel--5.10--patch-176 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-177 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-178 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-179 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-180 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-181 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-182 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-183 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-184 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-185 Merge from emacs--devo--0 git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-590
Diffstat (limited to 'lisp/emulation')
-rw-r--r--lisp/emulation/crisp.el2
-rw-r--r--lisp/emulation/cua-base.el120
-rw-r--r--lisp/emulation/edt-lk201.el6
-rw-r--r--lisp/emulation/edt-mapper.el12
-rw-r--r--lisp/emulation/edt-pc.el6
-rw-r--r--lisp/emulation/edt-vt100.el4
-rw-r--r--lisp/emulation/edt.el12
-rw-r--r--lisp/emulation/pc-mode.el2
-rw-r--r--lisp/emulation/tpu-edt.el2
-rw-r--r--lisp/emulation/tpu-extras.el2
-rw-r--r--lisp/emulation/tpu-mapper.el2
-rw-r--r--lisp/emulation/vi.el2
-rw-r--r--lisp/emulation/vip.el4
-rw-r--r--lisp/emulation/viper-cmd.el16
-rw-r--r--lisp/emulation/ws-mode.el2
15 files changed, 146 insertions, 48 deletions
diff --git a/lisp/emulation/crisp.el b/lisp/emulation/crisp.el
index 361d1b98d3b..0d629d69235 100644
--- a/lisp/emulation/crisp.el
+++ b/lisp/emulation/crisp.el
@@ -1,6 +1,6 @@
1;;; crisp.el --- CRiSP/Brief Emacs emulator 1;;; crisp.el --- CRiSP/Brief Emacs emulator
2 2
3;; Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004, 3;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004,
4;; 2005, 2006 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Gary D. Foster <Gary.Foster@Corp.Sun.COM> 6;; Author: Gary D. Foster <Gary.Foster@Corp.Sun.COM>
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index 236e3e2c9ad..194b7e2c326 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -317,11 +317,19 @@ If the value is nil, use a shifted prefix key to inhibit the override."
317 :group 'cua) 317 :group 'cua)
318 318
319(defcustom cua-toggle-set-mark t 319(defcustom cua-toggle-set-mark t
320 "*In non-nil, the `cua-set-mark' command toggles the mark." 320 "*If non-nil, the `cua-set-mark' command toggles the mark."
321 :type '(choice (const :tag "Disabled" nil) 321 :type '(choice (const :tag "Disabled" nil)
322 (other :tag "Enabled" t)) 322 (other :tag "Enabled" t))
323 :group 'cua) 323 :group 'cua)
324 324
325(defcustom cua-auto-mark-last-change nil
326 "*If non-nil, set implicit mark at position of last buffer change.
327This means that \\[universal-argument] \\[cua-set-mark] will jump to the position
328of the last buffer change before jumping to the explicit marks on the mark ring.
329See `cua-set-mark' for details."
330 :type 'boolean
331 :group 'cua)
332
325(defcustom cua-enable-register-prefix 'not-ctrl-u 333(defcustom cua-enable-register-prefix 'not-ctrl-u
326 "*If non-nil, registers are supported via numeric prefix arg. 334 "*If non-nil, registers are supported via numeric prefix arg.
327If the value is t, any numeric prefix arg in the range 0 to 9 will be 335If the value is t, any numeric prefix arg in the range 0 to 9 will be
@@ -358,6 +366,15 @@ managers, so try setting this to nil, if prefix override doesn't work."
358 :type 'boolean 366 :type 'boolean
359 :group 'cua) 367 :group 'cua)
360 368
369(defcustom cua-paste-pop-rotate-temporarily nil
370 "*If non-nil, \\[cua-paste-pop] only rotates the kill-ring temporarily.
371This means that both \\[yank] and the first \\[yank-pop] in a sequence always insert
372the most recently killed text. Each immediately following \\[cua-paste-pop] replaces
373the previous text with the next older element on the `kill-ring'.
374With prefix arg, \\[universal-argument] \\[yank-pop] inserts the same text as the most
375recent \\[yank-pop] (or \\[yank]) command."
376 :type 'boolean
377 :group 'cua)
361 378
362;;; Rectangle Customization 379;;; Rectangle Customization
363 380
@@ -912,15 +929,53 @@ If global mark is active, copy from register or one character."
912 (clipboard-yank)) 929 (clipboard-yank))
913 (t (yank arg))))))) 930 (t (yank arg)))))))
914 931
932
933;; cua-paste-pop-rotate-temporarily == t mechanism:
934;;
935;; C-y M-y M-y => only rotates kill ring temporarily,
936;; so next C-y yanks what previous C-y yanked,
937;;
938;; M-y M-y M-y => equivalent to C-y M-y M-y
939;;
940;; But: After another command, C-u M-y remembers the temporary
941;; kill-ring position, so
942;; C-u M-y => yanks what the last M-y yanked
943;;
944
945(defvar cua-paste-pop-count nil)
946
915(defun cua-paste-pop (arg) 947(defun cua-paste-pop (arg)
916 "Replace a just-pasted text or rectangle with a different text. 948 "Replace a just-pasted text or rectangle with a different text.
917See `yank-pop' for details." 949See `yank-pop' for details about the default behaviour. For an alternative
950behaviour, see `cua-paste-pop-rotate-temporarily'."
918 (interactive "P") 951 (interactive "P")
919 (if (eq last-command 'cua--paste-rectangle) 952 (cond
920 (progn 953 ((eq last-command 'cua--paste-rectangle)
921 (undo) 954 (undo)
922 (yank arg)) 955 (yank arg))
923 (yank-pop (prefix-numeric-value arg)))) 956 ((not cua-paste-pop-rotate-temporarily)
957 (yank-pop (prefix-numeric-value arg)))
958 (t
959 (let ((rotate (if (consp arg) 1 (prefix-numeric-value arg))))
960 (cond
961 ((or (null cua-paste-pop-count)
962 (eq last-command 'yank)
963 (eq last-command 'cua-paste))
964 (setq cua-paste-pop-count rotate)
965 (setq last-command 'yank)
966 (yank-pop cua-paste-pop-count))
967 ((and (eq last-command 'cua-paste-pop) (not (consp arg)))
968 (setq cua-paste-pop-count (+ cua-paste-pop-count rotate))
969 (setq last-command 'yank)
970 (yank-pop cua-paste-pop-count))
971 (t
972 (setq cua-paste-pop-count
973 (if (consp arg) (+ cua-paste-pop-count rotate -1) 1))
974 (yank (1+ cua-paste-pop-count)))))
975 ;; Undo rotating the kill-ring, so next C-y will
976 ;; yank the original head.
977 (setq kill-ring-yank-pointer kill-ring)
978 (setq this-command 'cua-paste-pop))))
924 979
925(defun cua-exchange-point-and-mark (arg) 980(defun cua-exchange-point-and-mark (arg)
926 "Exchanges point and mark, but don't activate the mark. 981 "Exchanges point and mark, but don't activate the mark.
@@ -961,14 +1016,14 @@ of text."
961 (if (and s (= (cdr u) s)) 1016 (if (and s (= (cdr u) s))
962 (setq s (car u)) 1017 (setq s (car u))
963 (setq s (car u) e (cdr u))))))) 1018 (setq s (car u) e (cdr u)))))))
964 (setq cua--repeat-replace-text 1019 (cond ((and s e (<= s e) (= s (mark t)))
965 (cond ((and s e (<= s e) (= s (mark t))) 1020 (setq cua--repeat-replace-text
966 (filter-buffer-substring s e nil t)) 1021 (filter-buffer-substring s e nil t)))
967 ((and (null s) (eq u elt)) ;; nothing inserted 1022 ((and (null s) (eq u elt)) ;; nothing inserted
968 "") 1023 (setq cua--repeat-replace-text
969 (t 1024 ""))
970 (message "Cannot locate replacement text") 1025 (t
971 nil)))))) 1026 (message "Cannot locate replacement text"))))))
972 (setq cua--last-deleted-region-pos nil)) 1027 (setq cua--last-deleted-region-pos nil))
973 (if (and cua--last-deleted-region-text 1028 (if (and cua--last-deleted-region-text
974 cua--repeat-replace-text 1029 cua--repeat-replace-text
@@ -985,6 +1040,28 @@ of text."
985 1040
986;;; Shift activated / extended region 1041;;; Shift activated / extended region
987 1042
1043(defun cua-pop-to-last-change ()
1044 (let ((undo-list buffer-undo-list)
1045 pos elt)
1046 (while (and (not pos)
1047 (consp undo-list))
1048 (setq elt (car undo-list)
1049 undo-list (cdr undo-list))
1050 (cond
1051 ((integerp elt)
1052 (setq pos elt))
1053 ((not (consp elt)))
1054 ((and (integerp (cdr elt))
1055 (or (integerp (car elt)) (stringp (car elt))))
1056 (setq pos (cdr elt)))
1057 ((and (eq (car elt) 'apply) (consp (cdr elt)) (integerp (cadr elt)))
1058 (setq pos (nth 3 elt)))))
1059 (when (and pos
1060 (/= pos (point))
1061 (>= pos (point-min)) (<= pos (point-max)))
1062 (goto-char pos)
1063 t)))
1064
988(defun cua-set-mark (&optional arg) 1065(defun cua-set-mark (&optional arg)
989 "Set mark at where point is, clear mark, or jump to mark. 1066 "Set mark at where point is, clear mark, or jump to mark.
990 1067
@@ -993,12 +1070,15 @@ mark, and push old mark position on local mark ring; also push mark on
993global mark ring if last mark was set in another buffer. 1070global mark ring if last mark was set in another buffer.
994 1071
995With argument, jump to mark, and pop a new position for mark off 1072With argument, jump to mark, and pop a new position for mark off
996the local mark ring \(this does not affect the global mark ring\). 1073the local mark ring (this does not affect the global mark ring).
997Use \\[pop-global-mark] to jump to a mark off the global mark ring 1074Use \\[pop-global-mark] to jump to a mark off the global mark ring
998\(see `pop-global-mark'\). 1075\(see `pop-global-mark').
1076
1077If `cua-auto-mark-last-change' is non-nil, this command behaves as if there
1078was an implicit mark at the position of the last buffer change.
999 1079
1000Repeating the command without the prefix jumps to the next position 1080Repeating the command without the prefix jumps to the next position
1001off the local \(or global\) mark ring. 1081off the local (or global) mark ring.
1002 1082
1003With a double \\[universal-argument] prefix argument, unconditionally set mark." 1083With a double \\[universal-argument] prefix argument, unconditionally set mark."
1004 (interactive "P") 1084 (interactive "P")
@@ -1013,7 +1093,9 @@ With a double \\[universal-argument] prefix argument, unconditionally set mark."
1013 (pop-global-mark)) 1093 (pop-global-mark))
1014 (arg 1094 (arg
1015 (setq this-command 'pop-to-mark-command) 1095 (setq this-command 'pop-to-mark-command)
1016 (pop-to-mark-command)) 1096 (or (and cua-auto-mark-last-change
1097 (cua-pop-to-last-change))
1098 (pop-to-mark-command)))
1017 ((and cua-toggle-set-mark mark-active) 1099 ((and cua-toggle-set-mark mark-active)
1018 (cua--deactivate) 1100 (cua--deactivate)
1019 (message "Mark Cleared")) 1101 (message "Mark Cleared"))
diff --git a/lisp/emulation/edt-lk201.el b/lisp/emulation/edt-lk201.el
index 17308c132e0..f7bca958b72 100644
--- a/lisp/emulation/edt-lk201.el
+++ b/lisp/emulation/edt-lk201.el
@@ -1,10 +1,10 @@
1;;; edt-lk201.el --- enhanced EDT keypad mode emulation for LK-201 keyboards 1;;; edt-lk201.el --- enhanced EDT keypad mode emulation for LK-201 keyboards
2 2
3;; Copyright (C) 1986, 1992, 1993, 1995, 2002, 2003, 2004, 3;; Copyright (C) 1986, 1992, 1993, 1995, 2001, 2002, 2003, 2004,
4;; 2005, 2006 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Kevin Gallagher <kevingal@onramp.net> 6;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
7;; Maintainer: Kevin Gallagher <kevingal@onramp.net> 7;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
8;; Keywords: emulations 8;; Keywords: emulations
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
diff --git a/lisp/emulation/edt-mapper.el b/lisp/emulation/edt-mapper.el
index cee60c6ec8e..53bb8e63d33 100644
--- a/lisp/emulation/edt-mapper.el
+++ b/lisp/emulation/edt-mapper.el
@@ -3,8 +3,8 @@
3;; Copyright (C) 1994, 1995, 2000, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1994, 1995, 2000, 2001, 2002, 2003, 2004,
4;; 2005, 2006 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Kevin Gallagher <kevingal@onramp.net> 6;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
7;; Maintainer: Kevin Gallagher <kevingal@onramp.net> 7;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
8;; Keywords: emulations 8;; Keywords: emulations
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
@@ -129,8 +129,12 @@
129 129
130(defconst edt-xserver (if (eq edt-window-system 'x) 130(defconst edt-xserver (if (eq edt-window-system 'x)
131 (if edt-x-emacs-p 131 (if edt-x-emacs-p
132 (replace-in-string (x-server-vendor) "[ _]" "-") 132 ;; The Cygwin window manager has a `/' in its
133 (subst-char-in-string ? ?- (x-server-vendor))) 133 ;; name, which breaks the generated file name of
134 ;; the custom key map file. Replace `/' with a
135 ;; `-' to work around that.
136 (replace-in-string (x-server-vendor) "[ /]" "-")
137 (subst-char-in-string ?/ ?- (subst-char-in-string ? ?- (x-server-vendor))))
134 nil) 138 nil)
135 "Indicates X server vendor name, if applicable.") 139 "Indicates X server vendor name, if applicable.")
136 140
diff --git a/lisp/emulation/edt-pc.el b/lisp/emulation/edt-pc.el
index 6f393197281..1282e940d9c 100644
--- a/lisp/emulation/edt-pc.el
+++ b/lisp/emulation/edt-pc.el
@@ -1,10 +1,10 @@
1;;; edt-pc.el --- enhanced EDT keypad mode emulation for PC 101 keyboards 1;;; edt-pc.el --- enhanced EDT keypad mode emulation for PC 101 keyboards
2 2
3;; Copyright (C) 1986, 1994, 1995, 2002, 2003, 2004, 3;; Copyright (C) 1986, 1994, 1995, 2001, 2002, 2003, 2004,
4;; 2005, 2006 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Kevin Gallagher <kevingal@onramp.net> 6;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
7;; Maintainer: Kevin Gallagher <kevingal@onramp.net> 7;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
8;; Keywords: emulations 8;; Keywords: emulations
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
diff --git a/lisp/emulation/edt-vt100.el b/lisp/emulation/edt-vt100.el
index b4599cdb2cd..cd3e03885eb 100644
--- a/lisp/emulation/edt-vt100.el
+++ b/lisp/emulation/edt-vt100.el
@@ -3,8 +3,8 @@
3;; Copyright (C) 1986, 1992, 1993, 1995, 2002, 2003, 2004, 3;; Copyright (C) 1986, 1992, 1993, 1995, 2002, 2003, 2004,
4;; 2005, 2006 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Kevin Gallagher <kevingal@onramp.net> 6;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
7;; Maintainer: Kevin Gallagher <kevingal@onramp.net> 7;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
8;; Keywords: emulations 8;; Keywords: emulations
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
diff --git a/lisp/emulation/edt.el b/lisp/emulation/edt.el
index ae131dc50e9..89d017a1cad 100644
--- a/lisp/emulation/edt.el
+++ b/lisp/emulation/edt.el
@@ -3,8 +3,8 @@
3;; Copyright (C) 1986, 1992, 1993, 1994, 1995, 2000, 2001, 2002, 2003, 3;; Copyright (C) 1986, 1992, 1993, 1994, 1995, 2000, 2001, 2002, 2003,
4;; 2004, 2005, 2006 Free Software Foundation, Inc. 4;; 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Kevin Gallagher <kevingal@onramp.net> 6;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
7;; Maintainer: Kevin Gallagher <kevingal@onramp.net> 7;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
8;; Keywords: emulations 8;; Keywords: emulations
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
@@ -339,8 +339,12 @@ This means that an edt-user.el file was found in the user's `load-path'.")
339 339
340(defconst edt-xserver (if (eq edt-window-system 'x) 340(defconst edt-xserver (if (eq edt-window-system 'x)
341 (if edt-x-emacs19-p 341 (if edt-x-emacs19-p
342 (replace-in-string (x-server-vendor) "[ _]" "-") 342 ;; The Cygwin window manager has a `/' in its
343 (subst-char-in-string ? ?- (x-server-vendor))) 343 ;; name, which breaks the generated file name of
344 ;; the custom key map file. Replace `/' with a
345 ;; `-' to work around that.
346 (replace-in-string (x-server-vendor) "[ /]" "-")
347 (subst-char-in-string ?/ ?- (subst-char-in-string ? ?- (x-server-vendor))))
344 nil) 348 nil)
345 "Indicates X server vendor name, if applicable.") 349 "Indicates X server vendor name, if applicable.")
346 350
diff --git a/lisp/emulation/pc-mode.el b/lisp/emulation/pc-mode.el
index e2b0d36f0f4..af632694bd0 100644
--- a/lisp/emulation/pc-mode.el
+++ b/lisp/emulation/pc-mode.el
@@ -1,6 +1,6 @@
1;;; pc-mode.el --- emulate certain key bindings used on PCs 1;;; pc-mode.el --- emulate certain key bindings used on PCs
2 2
3;; Copyright (C) 1995, 2002, 2003, 2004, 2005, 3;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
4;; 2006 Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Maintainer: FSF 6;; Maintainer: FSF
diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el
index 5d90728898a..b848f45d7d8 100644
--- a/lisp/emulation/tpu-edt.el
+++ b/lisp/emulation/tpu-edt.el
@@ -1,6 +1,6 @@
1;;; tpu-edt.el --- Emacs emulating TPU emulating EDT 1;;; tpu-edt.el --- Emacs emulating TPU emulating EDT
2 2
3;; Copyright (C) 1993, 1994, 1995, 2000, 2002, 2003, 2004, 3;; Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004,
4;; 2005, 2006 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Rob Riepel <riepel@networking.stanford.edu> 6;; Author: Rob Riepel <riepel@networking.stanford.edu>
diff --git a/lisp/emulation/tpu-extras.el b/lisp/emulation/tpu-extras.el
index 2aed6f464d5..2a84e5ff7d5 100644
--- a/lisp/emulation/tpu-extras.el
+++ b/lisp/emulation/tpu-extras.el
@@ -1,6 +1,6 @@
1;;; tpu-extras.el --- scroll margins and free cursor mode for TPU-edt 1;;; tpu-extras.el --- scroll margins and free cursor mode for TPU-edt
2 2
3;; Copyright (C) 1993, 1994, 1995, 2000, 2002, 2003, 2004, 3;; Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004,
4;; 2005, 2006 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Rob Riepel <riepel@networking.stanford.edu> 6;; Author: Rob Riepel <riepel@networking.stanford.edu>
diff --git a/lisp/emulation/tpu-mapper.el b/lisp/emulation/tpu-mapper.el
index eb71542e811..349a03fc8eb 100644
--- a/lisp/emulation/tpu-mapper.el
+++ b/lisp/emulation/tpu-mapper.el
@@ -1,6 +1,6 @@
1;;; tpu-mapper.el --- create a TPU-edt X-windows keymap file 1;;; tpu-mapper.el --- create a TPU-edt X-windows keymap file
2 2
3;; Copyright (C) 1993, 1994, 1995, 2002, 2003, 2004, 3;; Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004,
4;; 2005, 2006 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Rob Riepel <riepel@networking.stanford.edu> 6;; Author: Rob Riepel <riepel@networking.stanford.edu>
diff --git a/lisp/emulation/vi.el b/lisp/emulation/vi.el
index 559d1677347..54fb2d1e997 100644
--- a/lisp/emulation/vi.el
+++ b/lisp/emulation/vi.el
@@ -820,7 +820,7 @@ The given COUNT is remembered for future scrollings."
820 820
821(defun vi-char-argument (arg) 821(defun vi-char-argument (arg)
822 "Get following character (could be any CHAR) as part of the prefix argument. 822 "Get following character (could be any CHAR) as part of the prefix argument.
823Possible prefix-arg cases are NIL, INTEGER, (NIL . CHAR) or (INTEGER . CHAR)." 823Possible prefix-arg cases are nil, INTEGER, (nil . CHAR) or (INTEGER . CHAR)."
824 (interactive "P") 824 (interactive "P")
825 (let ((char (read-char))) 825 (let ((char (read-char)))
826 (cond ((null arg) (setq prefix-arg (cons nil char))) 826 (cond ((null arg) (setq prefix-arg (cons nil char)))
diff --git a/lisp/emulation/vip.el b/lisp/emulation/vip.el
index 8b5109793c0..16db3988c5b 100644
--- a/lisp/emulation/vip.el
+++ b/lisp/emulation/vip.el
@@ -1,7 +1,7 @@
1;;; vip.el --- a VI Package for GNU Emacs 1;;; vip.el --- a VI Package for GNU Emacs
2 2
3;; Copyright (C) 1986, 1987, 1988, 1992, 1993, 1998, 2002, 2003, 2004, 3;; Copyright (C) 1986, 1987, 1988, 1992, 1993, 1998, 2001, 2002, 2003,
4;; 2005, 2006 Free Software Foundation, Inc. 4;; 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Masahiko Sato <ms@sail.stanford.edu> 6;; Author: Masahiko Sato <ms@sail.stanford.edu>
7;; Keywords: emulations 7;; Keywords: emulations
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el
index ac3ef55d6e4..d3dae72d13e 100644
--- a/lisp/emulation/viper-cmd.el
+++ b/lisp/emulation/viper-cmd.el
@@ -171,7 +171,9 @@
171 (run-hook-with-args 'viper-before-change-functions beg end)) 171 (run-hook-with-args 'viper-before-change-functions beg end))
172 172
173(defsubst viper-post-command-sentinel () 173(defsubst viper-post-command-sentinel ()
174 (run-hooks 'viper-post-command-hooks) 174 (condition-case conds
175 (run-hooks 'viper-post-command-hooks)
176 (error (viper-message-conditions conds)))
175 (if (eq viper-current-state 'vi-state) 177 (if (eq viper-current-state 'vi-state)
176 (viper-restore-cursor-color 'after-insert-mode))) 178 (viper-restore-cursor-color 'after-insert-mode)))
177 179
@@ -926,8 +928,7 @@ Vi's prefix argument will be used. Otherwise, the prefix argument passed to
926 928
927 (condition-case nil 929 (condition-case nil
928 (let (viper-vi-kbd-minor-mode) ; execute without kbd macros 930 (let (viper-vi-kbd-minor-mode) ; execute without kbd macros
929 (setq result (eval form)) 931 (setq result (eval form)))
930 )
931 (error 932 (error
932 (signal 'quit nil))) 933 (signal 'quit nil)))
933 934
@@ -1971,9 +1972,16 @@ Undo previous insertion and inserts new."
1971 (if (and (eobp) 1972 (if (and (eobp)
1972 (not (bolp)) 1973 (not (bolp))
1973 require-final-newline 1974 require-final-newline
1975 ;; add newline only if we actually edited buffer. otherwise it
1976 ;; might unintentionally modify binary buffers
1977 (buffer-modified-p)
1974 (not (viper-is-in-minibuffer)) 1978 (not (viper-is-in-minibuffer))
1975 (not buffer-read-only)) 1979 (not buffer-read-only))
1976 (insert "\n"))) 1980 ;; text property may be read-only
1981 (condition-case nil
1982 (insert "\n")
1983 (error nil))
1984 ))
1977 )) 1985 ))
1978 1986
1979(defun viper-yank-defun () 1987(defun viper-yank-defun ()
diff --git a/lisp/emulation/ws-mode.el b/lisp/emulation/ws-mode.el
index 0230d6e118a..a4a1575f629 100644
--- a/lisp/emulation/ws-mode.el
+++ b/lisp/emulation/ws-mode.el
@@ -1,6 +1,6 @@
1;;; ws-mode.el --- WordStar emulation mode for GNU Emacs 1;;; ws-mode.el --- WordStar emulation mode for GNU Emacs
2 2
3;; Copyright (C) 1991, 2002, 2003, 2004, 2005, 3;; Copyright (C) 1991, 2001, 2002, 2003, 2004, 2005,
4;; 2006 Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Author: Juergen Nickelsen <nickel@cs.tu-berlin.de> 6;; Author: Juergen Nickelsen <nickel@cs.tu-berlin.de>