]> git.eshelyaron.com Git - emacs.git/commitdiff
2008-04-03 Michael Kifer <kifer@cs.stonybrook.edu>
authorMichael Kifer <kifer@cs.stonybrook.edu>
Thu, 3 Apr 2008 21:04:18 +0000 (21:04 +0000)
committerMichael Kifer <kifer@cs.stonybrook.edu>
Thu, 3 Apr 2008 21:04:18 +0000 (21:04 +0000)
* viper-macs.el (viper-read-fast-keysequence): use viper-read-event
instead of viper-read-key.

* viper.el (viper-mode): move the check for fundamental mode.

* viper-utils.el (viper-get-saved-cursor-color-in-replace-mode)
viper-get-saved-cursor-color-in-insert-mode): get rid of redundant
let-statements.

* viper*.el: replaced load with require in eval-when-compile.

lisp/ChangeLog
lisp/emulation/viper-cmd.el
lisp/emulation/viper-ex.el
lisp/emulation/viper-macs.el
lisp/emulation/viper-mous.el
lisp/emulation/viper-util.el
lisp/emulation/viper.el

index fa273b8af6ca775e08d10abdce9fe0fe4b9b3a7d..a8edd6cb63eb7ed5ec7a33bfc96868412eac25fb 100644 (file)
@@ -1,3 +1,16 @@
+2008-04-03  Michael Kifer  <kifer@cs.stonybrook.edu>
+       
+       * viper-macs.el (viper-read-fast-keysequence): use viper-read-event
+       instead of viper-read-key.
+       
+       * viper.el (viper-mode): move the check for fundamental mode.
+       
+       * viper-utils.el (viper-get-saved-cursor-color-in-replace-mode)
+       viper-get-saved-cursor-color-in-insert-mode): get rid of redundant
+       let-statements.
+       
+       * viper*.el: replaced load with require in eval-when-compile.
+       
 2008-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * files.el (auto-mode-alist): Use archive-mode for Debian packages.
index a56c69e095b4ba1de5a877206b24e64d62c16601..26ae05c24fdfcef354300ff6ffeadc1bf7907ed3 100644 (file)
@@ -1839,13 +1839,13 @@ invokes the command before that, etc."
             (concat "`" (viper-array-to-string keys) "'")
             (viper-abbreviate-string
              (if (featurep 'xemacs)
-              (replace-in-string ; xemacs
-               (cond ((characterp text) (char-to-string text))
-                     ((stringp text) text)
-                     (t ""))
-               "\n" "^J")
-              text ; emacs
-              )
+                 (replace-in-string ; xemacs
+                  (cond ((characterp text) (char-to-string text))
+                        ((stringp text) text)
+                        (t ""))
+                  "\n" "^J")
+               text ; emacs
+               )
              max-text-len
              "  inserting  `" "'" "    ......."))
     ))
@@ -2159,9 +2159,9 @@ To turn this feature off, set this variable to nil."
                        (key-binding (setq key (read-key-sequence nil))))
                  (cond ((eq cmd 'self-insert-command)
                         (if (featurep 'xemacs)
-                         (insert (events-to-keys key)) ; xemacs
-                         (insert key) ; emacs
-                         ))
+                            (insert (events-to-keys key)) ; xemacs
+                          (insert key) ; emacs
+                          ))
                        ((memq cmd '(exit-minibuffer viper-exit-minibuffer))
                         nil)
                        (t (command-execute cmd)))
@@ -3450,7 +3450,8 @@ controlled by the sign of prefix numeric value."
 ;; (which is called from viper-search-forward/backward/next).  If the value of
 ;; viper-search-scroll-threshold is negative - don't scroll.
 (defun viper-adjust-window ()
-  (let ((win-height (if (featurep 'xemacs) (window-displayed-height)
+  (let ((win-height (if (featurep 'xemacs)
+                       (window-displayed-height)
                      (1- (window-height)))) ; adjust for modeline
        (pt (point))
        at-top-p at-bottom-p
index cd153bdaf9199bfbad0f95ef15e6ca7c23a175f0..af5780f0d72241feae88a11f46e31f15f8555b23 100644 (file)
 ;; in order to spare non-viperized emacs from being viperized
 (if noninteractive
     (eval-when-compile
-      (let ((load-path (cons (expand-file-name ".") load-path)))
-       (or (featurep 'viper-cmd)
-           (load "viper-cmd.el" nil t 'nosuffix))
-       )))
+      (require 'viper-cmd)
+      ))
 ;; end pacifier
 
 (require 'viper-util)
@@ -2077,7 +2075,8 @@ Please contact your system administrator. "
              ;; create temp buffer for the region
              (setq temp-buf (get-buffer-create " *ex-write*"))
              (set-buffer temp-buf)
-             (if (featurep 'xemacs) (set-visited-file-name ex-file)
+             (if (featurep 'xemacs)
+                 (set-visited-file-name ex-file)
                (set-visited-file-name ex-file 'noquery))
              (erase-buffer)
              (if (and file-exists ex-append)
index a9e24f28e7b08cfe259f04a02d15520b652cc21b..448903da5c9c6a01cc40be46d0928d97768b218b 100644 (file)
 ;; in order to spare non-viperized emacs from being viperized
 (if noninteractive
     (eval-when-compile
-      (let ((load-path (cons (expand-file-name ".") load-path)))
-       (or (featurep 'viper-cmd)
-           (load "viper-cmd.el" nil t 'nosuffix))
-       )))
+      (require 'viper-cmd)
+      ))
 ;; end pacifier
 
 (require 'viper-util)
@@ -873,9 +871,13 @@ name from there."
   (let ((lis (vector event))
        next-event)
     (while (and (viper-fast-keysequence-p)
-               (viper-keyseq-is-a-possible-macro lis macro-alist))
-      (setq next-event (viper-read-key))
-      ;;(setq next-event (viper-read-event))
+           (viper-keyseq-is-a-possible-macro lis macro-alist))
+      ;; Seems that viper-read-event is more robust here. We need to be able to
+      ;; place these events on unread-command-events list. If we use
+      ;; viper-read-key then events will be converted to keys, and sometimes
+      ;; (e.g., (control \[)) those keys differ from the corresponding events.
+      ;; So, do not use (setq next-event (viper-read-key))
+      (setq next-event (viper-read-event))
       (or (viper-mouse-event-p next-event)
          (setq lis (vconcat lis (vector next-event)))))
     lis))
index 1d60d1eb5eedb1257e34e77046698068b8717c67..e7d2315b52bee07268c7204dbbdd545fcb6e8401 100644 (file)
 ;; in order to spare non-viperized emacs from being viperized
 (if noninteractive
     (eval-when-compile
-      (let ((load-path (cons (expand-file-name ".") load-path)))
-       (or (featurep 'viper-cmd)
-           (load "viper-cmd.el" nil t 'nosuffix))
-       )))
+      (require 'viper-cmd)
+      ))
 ;; end pacifier
 
 (require 'viper-util)
index c89823754fa9ad85f5caf175addd599fdaf2ef84..7410e05f7b4374951c090b52d28292385d0673ce 100644 (file)
@@ -209,10 +209,9 @@ Otherwise return the normal value."
     (if (featurep 'emacs) 'frame-parameter 'frame-property)
     (selected-frame)
     'viper-saved-cursor-color-in-replace-mode)
-   (let ((ecolor (viper-frame-value viper-emacs-state-cursor-color)))
-     (or (and (eq viper-current-state 'emacs-mode)
-             ecolor)
-        (viper-frame-value viper-vi-state-cursor-color)))))
+   (or (and (eq viper-current-state 'emacs-mode)
+           (viper-frame-value viper-emacs-state-cursor-color))
+       (viper-frame-value viper-vi-state-cursor-color))))
 
 (defsubst viper-get-saved-cursor-color-in-insert-mode ()
   (or
@@ -220,10 +219,9 @@ Otherwise return the normal value."
     (if (featurep 'emacs) 'frame-parameter 'frame-property)
     (selected-frame)
     'viper-saved-cursor-color-in-insert-mode)
-   (let ((ecolor (viper-frame-value viper-emacs-state-cursor-color)))
-     (or (and (eq viper-current-state 'emacs-mode)
-             ecolor)
-        (viper-frame-value viper-vi-state-cursor-color)))))
+   (or (and (eq viper-current-state 'emacs-mode)
+           (viper-frame-value viper-emacs-state-cursor-color))
+       (viper-frame-value viper-vi-state-cursor-color))))
 
 (defsubst viper-get-saved-cursor-color-in-emacs-mode ()
   (or
@@ -996,7 +994,7 @@ Otherwise return the normal value."
 ;; This function lets function-key-map convert key sequences into logical
 ;; keys.  This does a better job than viper-read-event when it comes to kbd
 ;; macros, since it enables certain macros to be shared between X and TTY modes
-;; by correctly mapping key sequences for Left/Right/... (one an ascii
+;; by correctly mapping key sequences for Left/Right/... (on an ascii
 ;; terminal) into logical keys left, right, etc.
 (defun viper-read-key ()
   (let ((overriding-local-map viper-overriding-map)
@@ -1206,9 +1204,9 @@ Otherwise return the normal value."
 
 (defun viper-key-press-events-to-chars (events)
   (mapconcat (if (featurep 'xemacs)
-             (lambda (elt) (char-to-string (event-to-character elt))) ; xemacs
-             'char-to-string ; emacs
-             )
+                (lambda (elt) (char-to-string (event-to-character elt))) ; xemacs
+              'char-to-string ; emacs
+              )
             events
             ""))
 
index 0ca83ae6ec0d5105f85f40f28289b0409b4dce98..a3667aa59934413b5d9168345a9b85520f7bd99c 100644 (file)
@@ -597,13 +597,14 @@ This startup message appears whenever you load Viper, unless you type `y' now."
                    ))
              (viper-set-expert-level 'dont-change-unless)))
 
-       (if (eq major-mode 'viper-mode)
-           (setq major-mode 'fundamental-mode))
-
        (or (memq major-mode viper-emacs-state-mode-list) ; don't switch to Vi
            (memq major-mode viper-insert-state-mode-list) ; don't switch
            (viper-change-state-to-vi))
-       )))
+       ))
+
+  (if (eq major-mode 'viper-mode)
+      (setq major-mode 'fundamental-mode))
+  )
 
 
 ;; Apply a little heuristic to invoke vi state on major-modes
@@ -1023,63 +1024,63 @@ It also can't undo some Viper settings."
            (append '("" viper-mode-string) (cdr global-mode-string))))
 
   (if (featurep 'xemacs)
-   ;; XEmacs
-   (defadvice describe-key (before viper-describe-key-ad protect activate)
-     "Force to read key via `viper-read-key-sequence'."
-     (interactive (list (viper-read-key-sequence "Describe key: "))))
-   ;; Emacs
-   (defadvice describe-key (before viper-describe-key-ad protect activate)
-     "Force to read key via `viper-read-key-sequence'."
-     (interactive (let (key)
-                   (setq key (viper-read-key-sequence
-                              "Describe key (or click or menu item): "))
-                   (list key
-                         (prefix-numeric-value current-prefix-arg)
-                         ;; If KEY is a down-event, read also the
-                         ;; corresponding up-event.
-                         (and (vectorp key)
-                              (let ((last-idx (1- (length key))))
-                                (and (eventp (aref key last-idx))
-                                     (memq 'down (event-modifiers
-                                                  (aref key last-idx)))))
-                              (or (and (eventp (aref key 0))
-                                       (memq 'down (event-modifiers
-                                                    (aref key 0)))
-                                       ;; For the C-down-mouse-2 popup menu,
-                                       ;; there is no subsequent up-event
-                                       (= (length key) 1))
-                                  (and (> (length key) 1)
-                                       (eventp (aref key 1))
-                                       (memq 'down (event-modifiers (aref key 1)))))
-                              (read-event))))))
-   ) ; (if (featurep 'xemacs)
-
+      ;; XEmacs
+      (defadvice describe-key (before viper-describe-key-ad protect activate)
+       "Force to read key via `viper-read-key-sequence'."
+       (interactive (list (viper-read-key-sequence "Describe key: "))))
+    ;; Emacs
+    (defadvice describe-key (before viper-describe-key-ad protect activate)
+      "Force to read key via `viper-read-key-sequence'."
+      (interactive (let (key)
+                    (setq key (viper-read-key-sequence
+                               "Describe key (or click or menu item): "))
+                    (list key
+                          (prefix-numeric-value current-prefix-arg)
+                          ;; If KEY is a down-event, read also the
+                          ;; corresponding up-event.
+                          (and (vectorp key)
+                               (let ((last-idx (1- (length key))))
+                                 (and (eventp (aref key last-idx))
+                                      (memq 'down (event-modifiers
+                                                   (aref key last-idx)))))
+                               (or (and (eventp (aref key 0))
+                                        (memq 'down (event-modifiers
+                                                     (aref key 0)))
+                                        ;; For the C-down-mouse-2 popup menu,
+                                        ;; there is no subsequent up-event
+                                        (= (length key) 1))
+                                   (and (> (length key) 1)
+                                        (eventp (aref key 1))
+                                        (memq 'down (event-modifiers (aref key 1)))))
+                               (read-event))))))
+    ) ; (if (featurep 'xemacs)
+  
   (if (featurep 'xemacs)
-   ;; XEmacs
-   (defadvice describe-key-briefly
-     (before viper-describe-key-briefly-ad protect activate)
-     "Force to read key via `viper-read-key-sequence'."
-     (interactive (list (viper-read-key-sequence "Describe key briefly: "))))
-   ;; Emacs
-   (defadvice describe-key-briefly
-     (before viper-describe-key-briefly-ad protect activate)
-     "Force to read key via `viper-read-key-sequence'."
-     (interactive (let (key)
-                   (setq key (viper-read-key-sequence
-                              "Describe key (or click or menu item): "))
-                   ;; If KEY is a down-event, read and discard the
-                   ;; corresponding up-event.
-                   (and (vectorp key)
-                        (let ((last-idx (1- (length key))))
-                          (and (eventp (aref key last-idx))
-                               (memq 'down (event-modifiers (aref key last-idx)))))
-                        (read-event))
-                   (list key
-                         (if current-prefix-arg
-                             (prefix-numeric-value current-prefix-arg))
-                         1))))
-   ) ; (if (featurep 'xemacs)
-
+      ;; XEmacs
+      (defadvice describe-key-briefly
+       (before viper-describe-key-briefly-ad protect activate)
+       "Force to read key via `viper-read-key-sequence'."
+       (interactive (list (viper-read-key-sequence "Describe key briefly: "))))
+    ;; Emacs
+    (defadvice describe-key-briefly
+      (before viper-describe-key-briefly-ad protect activate)
+      "Force to read key via `viper-read-key-sequence'."
+      (interactive (let (key)
+                    (setq key (viper-read-key-sequence
+                               "Describe key (or click or menu item): "))
+                    ;; If KEY is a down-event, read and discard the
+                    ;; corresponding up-event.
+                    (and (vectorp key)
+                         (let ((last-idx (1- (length key))))
+                           (and (eventp (aref key last-idx))
+                                (memq 'down (event-modifiers (aref key last-idx)))))
+                         (read-event))
+                    (list key
+                          (if current-prefix-arg
+                              (prefix-numeric-value current-prefix-arg))
+                          1))))
+    ) ; (if (featurep 'xemacs)
+  
   (defadvice find-file (before viper-add-suffix-advice activate)
     "Use `read-file-name' for reading arguments."
     (interactive (cons (read-file-name "Find file: " nil default-directory)