comparison lisp/emulation/viper-macs.el @ 64215:a4c59075cac8

* viper-cmd.el (viper--key-maps): new variable. (viper-normalize-minor-mode-map-alist): use viper--key-maps and emulation-mode-map-alists. (viper-envelop-ESC-key): use viper-subseq. (viper-search-forward/backward/next): disable debug-on-error. * viper-keym.el (viper-toggle-key,viper-quoted-insert-key, viper-ESC-key): new defcustoms. * viper-macs.el (ex-map-read-args): use viper-subseq. * viper-util.el (viper-key-to-emacs-key): use viper-subseq. (viper-subseq): copy of subseq from cl.el. * viper.el (viper-go-away,viper-set-hooks): use emulation-mode-map-alists, advise self-insert-command, add-minor-mode. * viper-mous.el (viper-current-frame-saved): use defvar. * viper-init.el: got rid of -face in face names. * ediff-diff.el (ediff-extract-diffs,ediff-extract-diffs3): Make it work with longlines mode * ediff-mult.el (ediff-meta-mode-hook): new variable. * ediff-ptch.el (ediff-file-name-sans-prefix): quote regexp. * ediff-init: got rid of -face in face names.
author Michael Kifer <kifer@cs.stonybrook.edu>
date Sun, 10 Jul 2005 18:46:24 +0000
parents 18a818a2ee7c
children 34bd8e434dd7 fbb2bea03df9
comparison
equal deleted inserted replaced
64214:0441edbff1bf 64215:a4c59075cac8
176 (setq key-seq (vconcat key-seq (if key (vector key) []))) 176 (setq key-seq (vconcat key-seq (if key (vector key) [])))
177 ;; the only keys available for editing are these-- no help while there 177 ;; the only keys available for editing are these-- no help while there
178 (if (member 178 (if (member
179 key 179 key
180 '(?\b ?\d '^? '^H (control h) (control \?) backspace delete)) 180 '(?\b ?\d '^? '^H (control h) (control \?) backspace delete))
181 (setq key-seq (subseq key-seq 0 (- (length key-seq) 2)))) 181 (setq key-seq (viper-subseq key-seq 0 (- (length key-seq) 2))))
182 (setq message 182 (setq message
183 (format 183 (format
184 ":map%s %s" 184 ":map%s %s"
185 variant (if (> (length key-seq) 0) 185 variant (if (> (length key-seq) 0)
186 (prin1-to-string (viper-display-macro key-seq)) 186 (prin1-to-string (viper-display-macro key-seq))
240 (setq key-seq (vconcat key-seq (if key (vector key) []))) 240 (setq key-seq (vconcat key-seq (if key (vector key) [])))
241 ;; the only keys available for editing are these-- no help while there 241 ;; the only keys available for editing are these-- no help while there
242 (cond ((member 242 (cond ((member
243 key 243 key
244 '(?\b ?\d '^? '^H (control h) (control \?) backspace delete)) 244 '(?\b ?\d '^? '^H (control h) (control \?) backspace delete))
245 (setq key-seq (subseq key-seq 0 (- (length key-seq) 2)))) 245 (setq key-seq (viper-subseq key-seq 0 (- (length key-seq) 2))))
246 ((member key '(tab (control i) ?\t)) 246 ((member key '(tab (control i) ?\t))
247 (setq key-seq (subseq key-seq 0 (1- (length key-seq)))) 247 (setq key-seq (viper-subseq key-seq 0 (1- (length key-seq))))
248 (setq message 248 (setq message
249 (format 249 (format
250 ":unmap%s %s" 250 ":unmap%s %s"
251 variant (if (> (length key-seq) 0) 251 variant (if (> (length key-seq) 0)
252 (prin1-to-string 252 (prin1-to-string
616 macro-alist-elt (assoc keyseq macro-alist) 616 macro-alist-elt (assoc keyseq macro-alist)
617 next-best-match (viper-find-best-matching-macro macro-alist keyseq)) 617 next-best-match (viper-find-best-matching-macro macro-alist keyseq))
618 618
619 (if (null macro-alist-elt) 619 (if (null macro-alist-elt)
620 (setq macro-alist-elt (car next-best-match) 620 (setq macro-alist-elt (car next-best-match)
621 unmatched-suffix (subseq event-seq (cdr next-best-match)))) 621 unmatched-suffix (viper-subseq event-seq (cdr next-best-match))))
622 622
623 (cond ((null macro-alist-elt)) 623 (cond ((null macro-alist-elt))
624 ((setq macro-body (viper-kbd-buf-definition macro-alist-elt))) 624 ((setq macro-body (viper-kbd-buf-definition macro-alist-elt)))
625 ((setq macro-body (viper-kbd-mode-definition macro-alist-elt))) 625 ((setq macro-body (viper-kbd-mode-definition macro-alist-elt)))
626 ((setq macro-body (viper-kbd-global-definition macro-alist-elt)))) 626 ((setq macro-body (viper-kbd-global-definition macro-alist-elt))))
699 ;; whether SEQ1 is a prefix of SEQ2 699 ;; whether SEQ1 is a prefix of SEQ2
700 (defun viper-prefix-subseq-p (seq1 seq2) 700 (defun viper-prefix-subseq-p (seq1 seq2)
701 (let ((len1 (length seq1)) 701 (let ((len1 (length seq1))
702 (len2 (length seq2))) 702 (len2 (length seq2)))
703 (if (<= len1 len2) 703 (if (<= len1 len2)
704 (equal seq1 (subseq seq2 0 len1))))) 704 (equal seq1 (viper-subseq seq2 0 len1)))))
705 705
706 ;; find the longest common prefix 706 ;; find the longest common prefix
707 (defun viper-common-seq-prefix (&rest seqs) 707 (defun viper-common-seq-prefix (&rest seqs)
708 (let* ((first (car seqs)) 708 (let* ((first (car seqs))
709 (rest (cdr seqs)) 709 (rest (cdr seqs))
764 match unmatched-start-idx found macro-def) 764 match unmatched-start-idx found macro-def)
765 (while (and (not found) lis) 765 (while (and (not found) lis)
766 (setq macro-def (car lis) 766 (setq macro-def (car lis)
767 def-len (length (car macro-def))) 767 def-len (length (car macro-def)))
768 (if (and (>= str-len def-len) 768 (if (and (>= str-len def-len)
769 (equal (car macro-def) (subseq str 0 def-len))) 769 (equal (car macro-def) (viper-subseq str 0 def-len)))
770 (if (or (viper-kbd-buf-definition macro-def) 770 (if (or (viper-kbd-buf-definition macro-def)
771 (viper-kbd-mode-definition macro-def) 771 (viper-kbd-mode-definition macro-def)
772 (viper-kbd-global-definition macro-def)) 772 (viper-kbd-global-definition macro-def))
773 (setq found t)) 773 (setq found t))
774 ) 774 )