Function: viper-exec-form-in-vi
viper-exec-form-in-vi is a byte-compiled function defined in
viper-cmd.el.gz.
Signature
(viper-exec-form-in-vi FORM)
Documentation
Execute FORM in Vi state, regardless of the current Vi state.
Source Code
;; Defined in /usr/src/emacs/lisp/emulation/viper-cmd.el.gz
(defun viper-exec-form-in-vi (form)
"Execute FORM in Vi state, regardless of the current Vi state."
(let ((buff (current-buffer))
result)
(viper-set-mode-vars-for 'vi-state)
(condition-case nil
(let (viper-vi-kbd-minor-mode) ; execute without kbd macros
(setq result (eval form t)))
(error
(signal 'quit nil)))
(if (not (equal buff (current-buffer))) ; cmd switched buffer
(with-current-buffer buff
(viper-set-mode-vars-for viper-current-state)))
(viper-set-mode-vars-for viper-current-state)
result))