Mercurial > emacs
comparison lisp/emulation/viper-util.el @ 85972:51aa47312c4b
* ediff-init.el (ediff-xemacs-p, ediff-emacs-p): Remove.
(ediff-has-face-support-p, ediff-BAD-INFO, ediff-check-version)
(ediff-current-diff-A, ediff-current-diff-B)
(ediff-current-diff-C, ediff-fine-diff-C, ediff-fine-diff-A)
(ediff-fine-diff-B, ediff-fine-diff-Ancestor, ediff-even-diff-A)
(ediff-even-diff-B, ediff-even-diff-C, ediff-even-diff-Ancestor)
(ediff-odd-diff-A, ediff-odd-diff-B, ediff-odd-diff-C)
(ediff-odd-diff-Ancestor, ediff-reset-mouse):
* ediff-wind.el (ediff-narrow-control-frame-leftward-shift)
(ediff-setup-windows-plain-merge)
(ediff-setup-windows-plain-compare, ediff-setup-control-frame)
(ediff-refresh-control-frame, ediff-get-visible-buffer-window):
* ediff-util.el (ediff-setup-keymap, )
(ediff-toggle-wide-display, ediff-toggle-multiframe)
(ediff-toggle-use-toolbar, ediff-really-quit)
(ediff-good-frame-under-mouse)
(ediff-highlight-diff-in-one-buffer)
(ediff-remove-flags-from-buffer, ediff-place-flags-in-buffer1)
(ediff-make-bullet-proof-overlay):
* ediff-mult.el (ediff-setup-meta-map, ediff-emacs-p)
(ediff-set-meta-overlay):
* ediff-help.el (ediff-help-region-map, ediff-set-help-overlays):
* ediff.el (ediff-documentation): Replace ediff-xemacs-p and
ediff-emacs-p with their former definitions.
* emulation/viper-init.el (viper-xemacs-p, viper-emacs-p): Remove.
(viper-has-face-support-p, viper-inactivate-input-method)
(viper-activate-input-method)
(viper-use-replace-region-delimiters, viper-restore-cursor-type):
* emulation/viper-mous.el (viper-multiclick-timeout)
(viper-surrounding-word, viper-mouse-click-insert-word)
(viper-mouse-click-search-word, viper-parse-mouse-key):
* emulation/viper-macs.el (viper-char-array-to-macro):
* emulation/viper.el (viper-go-away, viper-set-hooks)
(viper-non-hook-settings):
* emulation/viper-util.el (viper-get-saved-cursor-color-in-replace-mode)
(viper-get-saved-cursor-color-in-insert-mode)
(viper-get-saved-cursor-color-in-emacs-mode)
(viper-check-version, viper-get-visible-buffer-window)
(viper-file-checked-in-p, viper-set-replace-overlay)
(viper-set-replace-overlay-glyphs, viper-set-minibuffer-overlay)
(viper-check-minibuffer-overlay, viper-read-key-sequence)
(viper-key-to-emacs-key): Replace viper-xemacs-p and viper-emacs-p
with their former definitions.
(viper-eventify-list-xemacs): Only do work for XEmacs.
(viper-set-unread-command-events): Only do work for Emacs.
(viper-overlay-p, viper-make-overlay, viper-overlay-live-p)
(viper-move-overlay, viper-overlay-start, viper-overlay-end)
(viper-overlay-get, viper-overlay-put, viper-read-event)
(viper-characterp, viper-int-to-char, viper-get-face)
(viper-color-defined-p, viper-iconify): New defaliases replacing
the old fsets.
* progmodes/fortran.el (comment-region-function)
(uncomment-region-function): Pacify byte compiler.
* vc.el (vc-diff-internal): Remove code for an old version of
gnus.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Fri, 09 Nov 2007 05:20:57 +0000 |
parents | 862e65546389 |
children | 4d615a83cee2 880960b70474 |
comparison
equal
deleted
inserted
replaced
85971:2e692f327278 | 85972:51aa47312c4b |
---|---|
62 (fset 'x-display-color-p (symbol-function 'ns-display-color-p))) | 62 (fset 'x-display-color-p (symbol-function 'ns-display-color-p))) |
63 (if (and (not (fboundp 'x-color-defined-p)) (fboundp 'ns-color-defined-p)) | 63 (if (and (not (fboundp 'x-color-defined-p)) (fboundp 'ns-color-defined-p)) |
64 (fset 'x-color-defined-p (symbol-function 'ns-color-defined-p))) | 64 (fset 'x-color-defined-p (symbol-function 'ns-color-defined-p))) |
65 | 65 |
66 | 66 |
67 ;;; XEmacs support | 67 (defalias 'viper-overlay-p |
68 | 68 (if (featurep 'xemacs) 'extentp 'overlayp)) |
69 | 69 (defalias 'viper-make-overlay |
70 (viper-cond-compile-for-xemacs-or-emacs | 70 (if (featurep 'xemacs) 'make-extent 'make-overlay)) |
71 (progn ; xemacs | 71 (defalias 'viper-overlay-live-p |
72 (fset 'viper-overlay-p (symbol-function 'extentp)) | 72 (if (featurep 'xemacs) 'extent-live-p 'overlayp)) |
73 (fset 'viper-make-overlay (symbol-function 'make-extent)) | 73 (defalias 'viper-move-overlay |
74 (fset 'viper-overlay-live-p (symbol-function 'extent-live-p)) | 74 (if (featurep 'xemacs) 'set-extent-endpoints 'move-overlay)) |
75 (fset 'viper-move-overlay (symbol-function 'set-extent-endpoints)) | 75 (defalias 'viper-overlay-start |
76 (fset 'viper-overlay-start (symbol-function 'extent-start-position)) | 76 (if (featurep 'xemacs) 'extent-start-position 'overlay-start)) |
77 (fset 'viper-overlay-end (symbol-function 'extent-end-position)) | 77 (defalias 'viper-overlay-end |
78 (fset 'viper-overlay-get (symbol-function 'extent-property)) | 78 (if (featurep 'xemacs) 'extent-end-position 'overlay-end)) |
79 (fset 'viper-overlay-put (symbol-function 'set-extent-property)) | 79 (defalias 'viper-overlay-get |
80 (fset 'viper-read-event (symbol-function 'next-command-event)) | 80 (if (featurep 'xemacs) 'extent-property 'overlay-get)) |
81 (fset 'viper-characterp (symbol-function 'characterp)) | 81 (defalias 'viper-overlay-put |
82 (fset 'viper-int-to-char (symbol-function 'int-to-char)) | 82 (if (featurep 'xemacs) 'set-extent-property 'overlay-put)) |
83 (if (viper-window-display-p) | 83 (defalias 'viper-read-event |
84 (fset 'viper-iconify (symbol-function 'iconify-frame))) | 84 (if (featurep 'xemacs) 'next-command-event 'read-event)) |
85 (cond ((viper-has-face-support-p) | 85 (defalias 'viper-characterp |
86 (fset 'viper-get-face (symbol-function 'get-face)) | 86 (if (featurep 'xemacs) 'characterp 'integerp)) |
87 (fset 'viper-color-defined-p (symbol-function 'valid-color-name-p)) | 87 (defalias 'viper-int-to-char |
88 ))) | 88 (if (featurep 'xemacs) 'int-to-char 'identity)) |
89 (progn ; emacs | 89 (defalias 'viper-get-face |
90 (fset 'viper-overlay-p (symbol-function 'overlayp)) | 90 (if (featurep 'xemacs) 'get-face 'internal-get-face)) |
91 (fset 'viper-make-overlay (symbol-function 'make-overlay)) | 91 (defalias 'viper-color-defined-p |
92 (fset 'viper-overlay-live-p (symbol-function 'overlayp)) | 92 (if (featurep 'xemacs) 'valid-color-name-p 'x-color-defined-p)) |
93 (fset 'viper-move-overlay (symbol-function 'move-overlay)) | 93 (defalias 'viper-iconify |
94 (fset 'viper-overlay-start (symbol-function 'overlay-start)) | 94 (if (featurep 'xemacs) 'iconify-frame 'iconify-or-deiconify-frame)) |
95 (fset 'viper-overlay-end (symbol-function 'overlay-end)) | |
96 (fset 'viper-overlay-get (symbol-function 'overlay-get)) | |
97 (fset 'viper-overlay-put (symbol-function 'overlay-put)) | |
98 (fset 'viper-read-event (symbol-function 'read-event)) | |
99 (fset 'viper-characterp (symbol-function 'integerp)) | |
100 (fset 'viper-int-to-char (symbol-function 'identity)) | |
101 (if (viper-window-display-p) | |
102 (fset 'viper-iconify (symbol-function 'iconify-or-deiconify-frame))) | |
103 (cond ((viper-has-face-support-p) | |
104 (fset 'viper-get-face (symbol-function 'internal-get-face)) | |
105 (fset 'viper-color-defined-p (symbol-function 'x-color-defined-p)) | |
106 ))) | |
107 ) | |
108 | |
109 | 95 |
110 | 96 |
111 ;; CHAR is supposed to be a char or an integer (positive or negative) | 97 ;; CHAR is supposed to be a char or an integer (positive or negative) |
112 ;; LIST is a list of chars, nil, and negative numbers | 98 ;; LIST is a list of chars, nil, and negative numbers |
113 ;; Check if CHAR is a member by trying to convert in characters, if necessary. | 99 ;; Check if CHAR is a member by trying to convert in characters, if necessary. |
199 | 185 |
200 | 186 |
201 (defsubst viper-get-saved-cursor-color-in-replace-mode () | 187 (defsubst viper-get-saved-cursor-color-in-replace-mode () |
202 (or | 188 (or |
203 (funcall | 189 (funcall |
204 (if viper-emacs-p 'frame-parameter 'frame-property) | 190 (if (featurep 'emacs) 'frame-parameter 'frame-property) |
205 (selected-frame) | 191 (selected-frame) |
206 'viper-saved-cursor-color-in-replace-mode) | 192 'viper-saved-cursor-color-in-replace-mode) |
207 (if (and (eq viper-current-state 'emacs-mode) viper-emacs-state-cursor-color) | 193 (if (and (eq viper-current-state 'emacs-mode) viper-emacs-state-cursor-color) |
208 viper-emacs-state-cursor-color | 194 viper-emacs-state-cursor-color |
209 viper-vi-state-cursor-color))) | 195 viper-vi-state-cursor-color))) |
210 | 196 |
211 (defsubst viper-get-saved-cursor-color-in-insert-mode () | 197 (defsubst viper-get-saved-cursor-color-in-insert-mode () |
212 (or | 198 (or |
213 (funcall | 199 (funcall |
214 (if viper-emacs-p 'frame-parameter 'frame-property) | 200 (if (featurep 'emacs) 'frame-parameter 'frame-property) |
215 (selected-frame) | 201 (selected-frame) |
216 'viper-saved-cursor-color-in-insert-mode) | 202 'viper-saved-cursor-color-in-insert-mode) |
217 (if (and (eq viper-current-state 'emacs-mode) viper-emacs-state-cursor-color) | 203 (if (and (eq viper-current-state 'emacs-mode) viper-emacs-state-cursor-color) |
218 viper-emacs-state-cursor-color | 204 viper-emacs-state-cursor-color |
219 viper-vi-state-cursor-color))) | 205 viper-vi-state-cursor-color))) |
220 | 206 |
221 (defsubst viper-get-saved-cursor-color-in-emacs-mode () | 207 (defsubst viper-get-saved-cursor-color-in-emacs-mode () |
222 (or | 208 (or |
223 (funcall | 209 (funcall |
224 (if viper-emacs-p 'frame-parameter 'frame-property) | 210 (if (featurep 'emacs) 'frame-parameter 'frame-property) |
225 (selected-frame) | 211 (selected-frame) |
226 'viper-saved-cursor-color-in-emacs-mode) | 212 'viper-saved-cursor-color-in-emacs-mode) |
227 viper-vi-state-cursor-color)) | 213 viper-vi-state-cursor-color)) |
228 | 214 |
229 ;; restore cursor color from replace overlay | 215 ;; restore cursor color from replace overlay |
247 ;; will be nil (when op is =, >, or >=) and t (when op is <, <=), which may be | 233 ;; will be nil (when op is =, >, or >=) and t (when op is <, <=), which may be |
248 ;; incorrect. However, this gives correct result in our cases, since we are | 234 ;; incorrect. However, this gives correct result in our cases, since we are |
249 ;; testing for sufficiently high Emacs versions. | 235 ;; testing for sufficiently high Emacs versions. |
250 (defun viper-check-version (op major minor &optional type-of-emacs) | 236 (defun viper-check-version (op major minor &optional type-of-emacs) |
251 (if (and (boundp 'emacs-major-version) (boundp 'emacs-minor-version)) | 237 (if (and (boundp 'emacs-major-version) (boundp 'emacs-minor-version)) |
252 (and (cond ((eq type-of-emacs 'xemacs) viper-xemacs-p) | 238 (and (cond ((eq type-of-emacs 'xemacs) (featurep 'xemacs)) |
253 ((eq type-of-emacs 'emacs) viper-emacs-p) | 239 ((eq type-of-emacs 'emacs) (featurep 'emacs)) |
254 (t t)) | 240 (t t)) |
255 (cond ((eq op '=) (and (= emacs-minor-version minor) | 241 (cond ((eq op '=) (and (= emacs-minor-version minor) |
256 (= emacs-major-version major))) | 242 (= emacs-major-version major))) |
257 ((memq op '(> >= < <=)) | 243 ((memq op '(> >= < <=)) |
258 (and (or (funcall op emacs-major-version major) | 244 (and (or (funcall op emacs-major-version major) |
265 (cond ((memq op '(= > >=)) nil) | 251 (cond ((memq op '(= > >=)) nil) |
266 ((memq op '(< <=)) t)))) | 252 ((memq op '(< <=)) t)))) |
267 | 253 |
268 | 254 |
269 (defun viper-get-visible-buffer-window (wind) | 255 (defun viper-get-visible-buffer-window (wind) |
270 (if viper-xemacs-p | 256 (if (featurep 'xemacs) |
271 (get-buffer-window wind t) | 257 (get-buffer-window wind t) |
272 (get-buffer-window wind 'visible))) | 258 (get-buffer-window wind 'visible))) |
273 | 259 |
274 | 260 |
275 ;; Return line position. | 261 ;; Return line position. |
722 | 708 |
723 | 709 |
724 (defsubst viper-file-checked-in-p (file) | 710 (defsubst viper-file-checked-in-p (file) |
725 (and (featurep 'vc-hooks) | 711 (and (featurep 'vc-hooks) |
726 ;; CVS files are considered not checked in | 712 ;; CVS files are considered not checked in |
713 ;; FIXME: Should this deal with more than CVS? | |
727 (not (memq (vc-backend file) '(nil CVS))) | 714 (not (memq (vc-backend file) '(nil CVS))) |
728 (if (fboundp 'vc-state) | 715 (if (fboundp 'vc-state) |
729 (and | 716 (and |
730 (not (memq (vc-state file) '(edited needs-merge))) | 717 (not (memq (vc-state file) '(edited needs-merge))) |
731 (not (stringp (vc-state file)))) | 718 (not (stringp (vc-state file)))) |
732 ;; XEmacs has no vc-state | 719 ;; XEmacs has no vc-state |
733 (not (vc-locking-user file))) | 720 (if (featurep 'xemacs)(not (vc-locking-user file)))) |
734 )) | 721 )) |
735 | 722 |
736 ;; checkout if visited file is checked in | 723 ;; checkout if visited file is checked in |
737 (defun viper-maybe-checkout (buf) | 724 (defun viper-maybe-checkout (buf) |
738 (let ((file (expand-file-name (buffer-file-name buf))) | 725 (let ((file (expand-file-name (buffer-file-name buf))) |
785 (if (viper-overlay-live-p viper-replace-overlay) | 772 (if (viper-overlay-live-p viper-replace-overlay) |
786 (viper-move-replace-overlay beg end) | 773 (viper-move-replace-overlay beg end) |
787 (setq viper-replace-overlay (viper-make-overlay beg end (current-buffer))) | 774 (setq viper-replace-overlay (viper-make-overlay beg end (current-buffer))) |
788 ;; never detach | 775 ;; never detach |
789 (viper-overlay-put | 776 (viper-overlay-put |
790 viper-replace-overlay (if viper-emacs-p 'evaporate 'detachable) nil) | 777 viper-replace-overlay (if (featurep 'emacs) 'evaporate 'detachable) nil) |
791 (viper-overlay-put | 778 (viper-overlay-put |
792 viper-replace-overlay 'priority viper-replace-overlay-priority) | 779 viper-replace-overlay 'priority viper-replace-overlay-priority) |
793 ;; If Emacs will start supporting overlay maps, as it currently supports | 780 ;; If Emacs will start supporting overlay maps, as it currently supports |
794 ;; text-property maps, we could do away with viper-replace-minor-mode and | 781 ;; text-property maps, we could do away with viper-replace-minor-mode and |
795 ;; just have keymap attached to replace overlay. | 782 ;; just have keymap attached to replace overlay. |
796 ;;(viper-overlay-put | 783 ;;(viper-overlay-put |
797 ;; viper-replace-overlay | 784 ;; viper-replace-overlay |
798 ;; (if viper-xemacs-p 'keymap 'local-map) | 785 ;; (if (featurep 'xemacs) 'keymap 'local-map) |
799 ;; viper-replace-map) | 786 ;; viper-replace-map) |
800 ) | 787 ) |
801 (if (viper-has-face-support-p) | 788 (if (viper-has-face-support-p) |
802 (viper-overlay-put | 789 (viper-overlay-put |
803 viper-replace-overlay 'face viper-replace-overlay-face)) | 790 viper-replace-overlay 'face viper-replace-overlay-face)) |
809 (defun viper-set-replace-overlay-glyphs (before-glyph after-glyph) | 796 (defun viper-set-replace-overlay-glyphs (before-glyph after-glyph) |
810 (or (viper-overlay-live-p viper-replace-overlay) | 797 (or (viper-overlay-live-p viper-replace-overlay) |
811 (viper-set-replace-overlay (point-min) (point-min))) | 798 (viper-set-replace-overlay (point-min) (point-min))) |
812 (if (or (not (viper-has-face-support-p)) | 799 (if (or (not (viper-has-face-support-p)) |
813 viper-use-replace-region-delimiters) | 800 viper-use-replace-region-delimiters) |
814 (let ((before-name (if viper-xemacs-p 'begin-glyph 'before-string)) | 801 (let ((before-name (if (featurep 'xemacs) 'begin-glyph 'before-string)) |
815 (after-name (if viper-xemacs-p 'end-glyph 'after-string))) | 802 (after-name (if (featurep 'xemacs) 'end-glyph 'after-string))) |
816 (viper-overlay-put viper-replace-overlay before-name before-glyph) | 803 (viper-overlay-put viper-replace-overlay before-name before-glyph) |
817 (viper-overlay-put viper-replace-overlay after-name after-glyph)))) | 804 (viper-overlay-put viper-replace-overlay after-name after-glyph)))) |
818 | 805 |
819 (defun viper-hide-replace-overlay () | 806 (defun viper-hide-replace-overlay () |
820 (viper-set-replace-overlay-glyphs nil nil) | 807 (viper-set-replace-overlay-glyphs nil nil) |
841 (viper-overlay-put | 828 (viper-overlay-put |
842 viper-minibuffer-overlay 'priority viper-minibuffer-overlay-priority) | 829 viper-minibuffer-overlay 'priority viper-minibuffer-overlay-priority) |
843 ;; never detach | 830 ;; never detach |
844 (viper-overlay-put | 831 (viper-overlay-put |
845 viper-minibuffer-overlay | 832 viper-minibuffer-overlay |
846 (if viper-emacs-p 'evaporate 'detachable) | 833 (if (featurep 'emacs) 'evaporate 'detachable) |
847 nil) | 834 nil) |
848 ;; make viper-minibuffer-overlay open-ended | 835 ;; make viper-minibuffer-overlay open-ended |
849 ;; In emacs, it is made open ended at creation time | 836 ;; In emacs, it is made open ended at creation time |
850 (if viper-xemacs-p | 837 (if (featurep 'xemacs) |
851 (progn | 838 (progn |
852 (viper-overlay-put viper-minibuffer-overlay 'start-open nil) | 839 (viper-overlay-put viper-minibuffer-overlay 'start-open nil) |
853 (viper-overlay-put viper-minibuffer-overlay 'end-open nil))) | 840 (viper-overlay-put viper-minibuffer-overlay 'end-open nil))) |
854 ))) | 841 ))) |
855 | 842 |
858 (viper-move-overlay | 845 (viper-move-overlay |
859 viper-minibuffer-overlay | 846 viper-minibuffer-overlay |
860 (if (fboundp 'minibuffer-prompt-end) (minibuffer-prompt-end) 1) | 847 (if (fboundp 'minibuffer-prompt-end) (minibuffer-prompt-end) 1) |
861 (1+ (buffer-size))) | 848 (1+ (buffer-size))) |
862 (setq viper-minibuffer-overlay | 849 (setq viper-minibuffer-overlay |
863 (if viper-xemacs-p | 850 (if (featurep 'xemacs) |
864 (viper-make-overlay 1 (1+ (buffer-size)) (current-buffer)) | 851 (viper-make-overlay 1 (1+ (buffer-size)) (current-buffer)) |
865 ;; make overlay open-ended | 852 ;; make overlay open-ended |
866 (viper-make-overlay | 853 (viper-make-overlay |
867 (if (fboundp 'minibuffer-prompt-end) (minibuffer-prompt-end) 1) | 854 (if (fboundp 'minibuffer-prompt-end) (minibuffer-prompt-end) 1) |
868 (1+ (buffer-size)) | 855 (1+ (buffer-size)) |
981 | 968 |
982 ;; Viperized read-key-sequence | 969 ;; Viperized read-key-sequence |
983 (defun viper-read-key-sequence (prompt &optional continue-echo) | 970 (defun viper-read-key-sequence (prompt &optional continue-echo) |
984 (let (inhibit-quit event keyseq) | 971 (let (inhibit-quit event keyseq) |
985 (setq keyseq (read-key-sequence prompt continue-echo)) | 972 (setq keyseq (read-key-sequence prompt continue-echo)) |
986 (setq event (if viper-xemacs-p | 973 (setq event (if (featurep 'xemacs) |
987 (elt keyseq 0) ; XEmacs returns vector of events | 974 (elt keyseq 0) ; XEmacs returns vector of events |
988 (elt (listify-key-sequence keyseq) 0))) | 975 (elt (listify-key-sequence keyseq) 0))) |
989 (if (viper-ESC-event-p event) | 976 (if (viper-ESC-event-p event) |
990 (let (unread-command-events) | 977 (let (unread-command-events) |
991 (if (viper-fast-keysequence-p) | 978 (if (viper-fast-keysequence-p) |
1076 (append mod (list basis)) | 1063 (append mod (list basis)) |
1077 basis)))) | 1064 basis)))) |
1078 | 1065 |
1079 (defun viper-key-to-emacs-key (key) | 1066 (defun viper-key-to-emacs-key (key) |
1080 (let (key-name char-p modifiers mod-char-list base-key base-key-name) | 1067 (let (key-name char-p modifiers mod-char-list base-key base-key-name) |
1081 (cond (viper-xemacs-p key) | 1068 (cond ((featurep 'xemacs) key) |
1082 | 1069 |
1083 ((symbolp key) | 1070 ((symbolp key) |
1084 (setq key-name (symbol-name key)) | 1071 (setq key-name (symbol-name key)) |
1085 (cond ((= (length key-name) 1) ; character event | 1072 (cond ((= (length key-name) 1) ; character event |
1086 (string-to-char key-name)) | 1073 (string-to-char key-name)) |
1087 ;; Emacs doesn't recognize `return' and `escape' as events on | 1074 ;; Emacs doesn't recognize `return' and `escape' as events on |
1088 ;; dumb terminals, so we translate them into characters | 1075 ;; dumb terminals, so we translate them into characters |
1089 ((and viper-emacs-p (not (viper-window-display-p)) | 1076 ((and (featurep 'emacs) (not (viper-window-display-p)) |
1090 (string= key-name "return")) | 1077 (string= key-name "return")) |
1091 ?\C-m) | 1078 ?\C-m) |
1092 ((and viper-emacs-p (not (viper-window-display-p)) | 1079 ((and (featurep 'emacs) (not (viper-window-display-p)) |
1093 (string= key-name "escape")) | 1080 (string= key-name "escape")) |
1094 ?\e) | 1081 ?\e) |
1095 ;; pass symbol-event as is | 1082 ;; pass symbol-event as is |
1096 (t key))) | 1083 (t key))) |
1097 | 1084 |
1121 )) | 1108 )) |
1122 | 1109 |
1123 | 1110 |
1124 ;; LIS is assumed to be a list of events of characters | 1111 ;; LIS is assumed to be a list of events of characters |
1125 (defun viper-eventify-list-xemacs (lis) | 1112 (defun viper-eventify-list-xemacs (lis) |
1126 (mapcar | 1113 (if (featurep 'xemacs) |
1127 (lambda (elt) | 1114 (mapcar |
1128 (cond ((viper-characterp elt) (character-to-event elt)) | 1115 (lambda (elt) |
1129 ((eventp elt) elt) | 1116 (cond ((viper-characterp elt) (character-to-event elt)) |
1130 (t (error | 1117 ((eventp elt) elt) |
1131 "viper-eventify-list-xemacs: can't convert to event, %S" | 1118 (t (error |
1132 elt)))) | 1119 "viper-eventify-list-xemacs: can't convert to event, %S" |
1133 lis)) | 1120 elt)))) |
1121 lis))) | |
1134 | 1122 |
1135 | 1123 |
1136 ;; Smoothes out the difference between Emacs' unread-command-events | 1124 ;; Smoothes out the difference between Emacs' unread-command-events |
1137 ;; and XEmacs unread-command-event. Arg is a character, an event, a list of | 1125 ;; and XEmacs unread-command-event. Arg is a character, an event, a list of |
1138 ;; events or a sequence of keys. | 1126 ;; events or a sequence of keys. |
1140 ;; Due to the way unread-command-events in Emacs (not XEmacs), a non-event | 1128 ;; Due to the way unread-command-events in Emacs (not XEmacs), a non-event |
1141 ;; symbol in unread-command-events list may cause Emacs to turn this symbol | 1129 ;; symbol in unread-command-events list may cause Emacs to turn this symbol |
1142 ;; into an event. Below, we delete nil from event lists, since nil is the most | 1130 ;; into an event. Below, we delete nil from event lists, since nil is the most |
1143 ;; common symbol that might appear in this wrong context. | 1131 ;; common symbol that might appear in this wrong context. |
1144 (defun viper-set-unread-command-events (arg) | 1132 (defun viper-set-unread-command-events (arg) |
1145 (if viper-emacs-p | 1133 (if (featurep 'emacs) |
1146 (setq | 1134 (setq |
1147 unread-command-events | 1135 unread-command-events |
1148 (let ((new-events | 1136 (let ((new-events |
1149 (cond ((eventp arg) (list arg)) | 1137 (cond ((eventp arg) (list arg)) |
1150 ((listp arg) arg) | 1138 ((listp arg) arg) |