Mercurial > emacs
comparison lisp/emulation/viper-macs.el @ 90201:fbb2bea03df9
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-69
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 474-484)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 88-91)
- Merge from emacs--cvs-trunk--0
- Update FSF's address in GPL notices
- Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Thu, 14 Jul 2005 08:02:00 +0000 |
parents | f9a65d7ebd29 a4c59075cac8 |
children | edf295560b5a |
comparison
equal
deleted
inserted
replaced
90200:f9a65d7ebd29 | 90201:fbb2bea03df9 |
---|---|
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 ) |