mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
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.
This commit is contained in:
parent
ece2193705
commit
2ee00512e3
7 changed files with 111 additions and 99 deletions
|
|
@ -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>
|
2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
* files.el (auto-mode-alist): Use archive-mode for Debian packages.
|
* files.el (auto-mode-alist): Use archive-mode for Debian packages.
|
||||||
|
|
|
||||||
|
|
@ -1839,13 +1839,13 @@ invokes the command before that, etc."
|
||||||
(concat "`" (viper-array-to-string keys) "'")
|
(concat "`" (viper-array-to-string keys) "'")
|
||||||
(viper-abbreviate-string
|
(viper-abbreviate-string
|
||||||
(if (featurep 'xemacs)
|
(if (featurep 'xemacs)
|
||||||
(replace-in-string ; xemacs
|
(replace-in-string ; xemacs
|
||||||
(cond ((characterp text) (char-to-string text))
|
(cond ((characterp text) (char-to-string text))
|
||||||
((stringp text) text)
|
((stringp text) text)
|
||||||
(t ""))
|
(t ""))
|
||||||
"\n" "^J")
|
"\n" "^J")
|
||||||
text ; emacs
|
text ; emacs
|
||||||
)
|
)
|
||||||
max-text-len
|
max-text-len
|
||||||
" inserting `" "'" " ......."))
|
" inserting `" "'" " ......."))
|
||||||
))
|
))
|
||||||
|
|
@ -2159,9 +2159,9 @@ To turn this feature off, set this variable to nil."
|
||||||
(key-binding (setq key (read-key-sequence nil))))
|
(key-binding (setq key (read-key-sequence nil))))
|
||||||
(cond ((eq cmd 'self-insert-command)
|
(cond ((eq cmd 'self-insert-command)
|
||||||
(if (featurep 'xemacs)
|
(if (featurep 'xemacs)
|
||||||
(insert (events-to-keys key)) ; xemacs
|
(insert (events-to-keys key)) ; xemacs
|
||||||
(insert key) ; emacs
|
(insert key) ; emacs
|
||||||
))
|
))
|
||||||
((memq cmd '(exit-minibuffer viper-exit-minibuffer))
|
((memq cmd '(exit-minibuffer viper-exit-minibuffer))
|
||||||
nil)
|
nil)
|
||||||
(t (command-execute cmd)))
|
(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
|
;; (which is called from viper-search-forward/backward/next). If the value of
|
||||||
;; viper-search-scroll-threshold is negative - don't scroll.
|
;; viper-search-scroll-threshold is negative - don't scroll.
|
||||||
(defun viper-adjust-window ()
|
(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
|
(1- (window-height)))) ; adjust for modeline
|
||||||
(pt (point))
|
(pt (point))
|
||||||
at-top-p at-bottom-p
|
at-top-p at-bottom-p
|
||||||
|
|
|
||||||
|
|
@ -46,10 +46,8 @@
|
||||||
;; in order to spare non-viperized emacs from being viperized
|
;; in order to spare non-viperized emacs from being viperized
|
||||||
(if noninteractive
|
(if noninteractive
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
(require 'viper-cmd)
|
||||||
(or (featurep 'viper-cmd)
|
))
|
||||||
(load "viper-cmd.el" nil t 'nosuffix))
|
|
||||||
)))
|
|
||||||
;; end pacifier
|
;; end pacifier
|
||||||
|
|
||||||
(require 'viper-util)
|
(require 'viper-util)
|
||||||
|
|
@ -2077,7 +2075,8 @@ Please contact your system administrator. "
|
||||||
;; create temp buffer for the region
|
;; create temp buffer for the region
|
||||||
(setq temp-buf (get-buffer-create " *ex-write*"))
|
(setq temp-buf (get-buffer-create " *ex-write*"))
|
||||||
(set-buffer temp-buf)
|
(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))
|
(set-visited-file-name ex-file 'noquery))
|
||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
(if (and file-exists ex-append)
|
(if (and file-exists ex-append)
|
||||||
|
|
|
||||||
|
|
@ -38,10 +38,8 @@
|
||||||
;; in order to spare non-viperized emacs from being viperized
|
;; in order to spare non-viperized emacs from being viperized
|
||||||
(if noninteractive
|
(if noninteractive
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
(require 'viper-cmd)
|
||||||
(or (featurep 'viper-cmd)
|
))
|
||||||
(load "viper-cmd.el" nil t 'nosuffix))
|
|
||||||
)))
|
|
||||||
;; end pacifier
|
;; end pacifier
|
||||||
|
|
||||||
(require 'viper-util)
|
(require 'viper-util)
|
||||||
|
|
@ -873,9 +871,13 @@ name from there."
|
||||||
(let ((lis (vector event))
|
(let ((lis (vector event))
|
||||||
next-event)
|
next-event)
|
||||||
(while (and (viper-fast-keysequence-p)
|
(while (and (viper-fast-keysequence-p)
|
||||||
(viper-keyseq-is-a-possible-macro lis macro-alist))
|
(viper-keyseq-is-a-possible-macro lis macro-alist))
|
||||||
(setq next-event (viper-read-key))
|
;; Seems that viper-read-event is more robust here. We need to be able to
|
||||||
;;(setq next-event (viper-read-event))
|
;; 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)
|
(or (viper-mouse-event-p next-event)
|
||||||
(setq lis (vconcat lis (vector next-event)))))
|
(setq lis (vconcat lis (vector next-event)))))
|
||||||
lis))
|
lis))
|
||||||
|
|
|
||||||
|
|
@ -41,10 +41,8 @@
|
||||||
;; in order to spare non-viperized emacs from being viperized
|
;; in order to spare non-viperized emacs from being viperized
|
||||||
(if noninteractive
|
(if noninteractive
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
(require 'viper-cmd)
|
||||||
(or (featurep 'viper-cmd)
|
))
|
||||||
(load "viper-cmd.el" nil t 'nosuffix))
|
|
||||||
)))
|
|
||||||
;; end pacifier
|
;; end pacifier
|
||||||
|
|
||||||
(require 'viper-util)
|
(require 'viper-util)
|
||||||
|
|
|
||||||
|
|
@ -209,10 +209,9 @@ Otherwise return the normal value."
|
||||||
(if (featurep 'emacs) 'frame-parameter 'frame-property)
|
(if (featurep 'emacs) 'frame-parameter 'frame-property)
|
||||||
(selected-frame)
|
(selected-frame)
|
||||||
'viper-saved-cursor-color-in-replace-mode)
|
'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)
|
||||||
(or (and (eq viper-current-state 'emacs-mode)
|
(viper-frame-value viper-emacs-state-cursor-color))
|
||||||
ecolor)
|
(viper-frame-value viper-vi-state-cursor-color))))
|
||||||
(viper-frame-value viper-vi-state-cursor-color)))))
|
|
||||||
|
|
||||||
(defsubst viper-get-saved-cursor-color-in-insert-mode ()
|
(defsubst viper-get-saved-cursor-color-in-insert-mode ()
|
||||||
(or
|
(or
|
||||||
|
|
@ -220,10 +219,9 @@ Otherwise return the normal value."
|
||||||
(if (featurep 'emacs) 'frame-parameter 'frame-property)
|
(if (featurep 'emacs) 'frame-parameter 'frame-property)
|
||||||
(selected-frame)
|
(selected-frame)
|
||||||
'viper-saved-cursor-color-in-insert-mode)
|
'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)
|
||||||
(or (and (eq viper-current-state 'emacs-mode)
|
(viper-frame-value viper-emacs-state-cursor-color))
|
||||||
ecolor)
|
(viper-frame-value viper-vi-state-cursor-color))))
|
||||||
(viper-frame-value viper-vi-state-cursor-color)))))
|
|
||||||
|
|
||||||
(defsubst viper-get-saved-cursor-color-in-emacs-mode ()
|
(defsubst viper-get-saved-cursor-color-in-emacs-mode ()
|
||||||
(or
|
(or
|
||||||
|
|
@ -996,7 +994,7 @@ Otherwise return the normal value."
|
||||||
;; This function lets function-key-map convert key sequences into logical
|
;; 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
|
;; 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
|
;; 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.
|
;; terminal) into logical keys left, right, etc.
|
||||||
(defun viper-read-key ()
|
(defun viper-read-key ()
|
||||||
(let ((overriding-local-map viper-overriding-map)
|
(let ((overriding-local-map viper-overriding-map)
|
||||||
|
|
@ -1206,9 +1204,9 @@ Otherwise return the normal value."
|
||||||
|
|
||||||
(defun viper-key-press-events-to-chars (events)
|
(defun viper-key-press-events-to-chars (events)
|
||||||
(mapconcat (if (featurep 'xemacs)
|
(mapconcat (if (featurep 'xemacs)
|
||||||
(lambda (elt) (char-to-string (event-to-character elt))) ; xemacs
|
(lambda (elt) (char-to-string (event-to-character elt))) ; xemacs
|
||||||
'char-to-string ; emacs
|
'char-to-string ; emacs
|
||||||
)
|
)
|
||||||
events
|
events
|
||||||
""))
|
""))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -597,13 +597,14 @@ This startup message appears whenever you load Viper, unless you type `y' now."
|
||||||
))
|
))
|
||||||
(viper-set-expert-level 'dont-change-unless)))
|
(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
|
(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
|
(memq major-mode viper-insert-state-mode-list) ; don't switch
|
||||||
(viper-change-state-to-vi))
|
(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
|
;; 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))))
|
(append '("" viper-mode-string) (cdr global-mode-string))))
|
||||||
|
|
||||||
(if (featurep 'xemacs)
|
(if (featurep 'xemacs)
|
||||||
;; XEmacs
|
;; XEmacs
|
||||||
(defadvice describe-key (before viper-describe-key-ad protect activate)
|
(defadvice describe-key (before viper-describe-key-ad protect activate)
|
||||||
"Force to read key via `viper-read-key-sequence'."
|
"Force to read key via `viper-read-key-sequence'."
|
||||||
(interactive (list (viper-read-key-sequence "Describe key: "))))
|
(interactive (list (viper-read-key-sequence "Describe key: "))))
|
||||||
;; Emacs
|
;; Emacs
|
||||||
(defadvice describe-key (before viper-describe-key-ad protect activate)
|
(defadvice describe-key (before viper-describe-key-ad protect activate)
|
||||||
"Force to read key via `viper-read-key-sequence'."
|
"Force to read key via `viper-read-key-sequence'."
|
||||||
(interactive (let (key)
|
(interactive (let (key)
|
||||||
(setq key (viper-read-key-sequence
|
(setq key (viper-read-key-sequence
|
||||||
"Describe key (or click or menu item): "))
|
"Describe key (or click or menu item): "))
|
||||||
(list key
|
(list key
|
||||||
(prefix-numeric-value current-prefix-arg)
|
(prefix-numeric-value current-prefix-arg)
|
||||||
;; If KEY is a down-event, read also the
|
;; If KEY is a down-event, read also the
|
||||||
;; corresponding up-event.
|
;; corresponding up-event.
|
||||||
(and (vectorp key)
|
(and (vectorp key)
|
||||||
(let ((last-idx (1- (length key))))
|
(let ((last-idx (1- (length key))))
|
||||||
(and (eventp (aref key last-idx))
|
(and (eventp (aref key last-idx))
|
||||||
(memq 'down (event-modifiers
|
(memq 'down (event-modifiers
|
||||||
(aref key last-idx)))))
|
(aref key last-idx)))))
|
||||||
(or (and (eventp (aref key 0))
|
(or (and (eventp (aref key 0))
|
||||||
(memq 'down (event-modifiers
|
(memq 'down (event-modifiers
|
||||||
(aref key 0)))
|
(aref key 0)))
|
||||||
;; For the C-down-mouse-2 popup menu,
|
;; For the C-down-mouse-2 popup menu,
|
||||||
;; there is no subsequent up-event
|
;; there is no subsequent up-event
|
||||||
(= (length key) 1))
|
(= (length key) 1))
|
||||||
(and (> (length key) 1)
|
(and (> (length key) 1)
|
||||||
(eventp (aref key 1))
|
(eventp (aref key 1))
|
||||||
(memq 'down (event-modifiers (aref key 1)))))
|
(memq 'down (event-modifiers (aref key 1)))))
|
||||||
(read-event))))))
|
(read-event))))))
|
||||||
) ; (if (featurep 'xemacs)
|
) ; (if (featurep 'xemacs)
|
||||||
|
|
||||||
(if (featurep 'xemacs)
|
(if (featurep 'xemacs)
|
||||||
;; XEmacs
|
;; XEmacs
|
||||||
(defadvice describe-key-briefly
|
(defadvice describe-key-briefly
|
||||||
(before viper-describe-key-briefly-ad protect activate)
|
(before viper-describe-key-briefly-ad protect activate)
|
||||||
"Force to read key via `viper-read-key-sequence'."
|
"Force to read key via `viper-read-key-sequence'."
|
||||||
(interactive (list (viper-read-key-sequence "Describe key briefly: "))))
|
(interactive (list (viper-read-key-sequence "Describe key briefly: "))))
|
||||||
;; Emacs
|
;; Emacs
|
||||||
(defadvice describe-key-briefly
|
(defadvice describe-key-briefly
|
||||||
(before viper-describe-key-briefly-ad protect activate)
|
(before viper-describe-key-briefly-ad protect activate)
|
||||||
"Force to read key via `viper-read-key-sequence'."
|
"Force to read key via `viper-read-key-sequence'."
|
||||||
(interactive (let (key)
|
(interactive (let (key)
|
||||||
(setq key (viper-read-key-sequence
|
(setq key (viper-read-key-sequence
|
||||||
"Describe key (or click or menu item): "))
|
"Describe key (or click or menu item): "))
|
||||||
;; If KEY is a down-event, read and discard the
|
;; If KEY is a down-event, read and discard the
|
||||||
;; corresponding up-event.
|
;; corresponding up-event.
|
||||||
(and (vectorp key)
|
(and (vectorp key)
|
||||||
(let ((last-idx (1- (length key))))
|
(let ((last-idx (1- (length key))))
|
||||||
(and (eventp (aref key last-idx))
|
(and (eventp (aref key last-idx))
|
||||||
(memq 'down (event-modifiers (aref key last-idx)))))
|
(memq 'down (event-modifiers (aref key last-idx)))))
|
||||||
(read-event))
|
(read-event))
|
||||||
(list key
|
(list key
|
||||||
(if current-prefix-arg
|
(if current-prefix-arg
|
||||||
(prefix-numeric-value current-prefix-arg))
|
(prefix-numeric-value current-prefix-arg))
|
||||||
1))))
|
1))))
|
||||||
) ; (if (featurep 'xemacs)
|
) ; (if (featurep 'xemacs)
|
||||||
|
|
||||||
(defadvice find-file (before viper-add-suffix-advice activate)
|
(defadvice find-file (before viper-add-suffix-advice activate)
|
||||||
"Use `read-file-name' for reading arguments."
|
"Use `read-file-name' for reading arguments."
|
||||||
(interactive (cons (read-file-name "Find file: " nil default-directory)
|
(interactive (cons (read-file-name "Find file: " nil default-directory)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue