emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/emulation/viper-cmd.el,v


From: Michael Kifer
Subject: [Emacs-diffs] Changes to emacs/lisp/emulation/viper-cmd.el,v
Date: Sat, 23 Dec 2006 21:33:50 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Michael Kifer <kifer>   06/12/23 21:33:50

Index: lisp/emulation/viper-cmd.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/emulation/viper-cmd.el,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- lisp/emulation/viper-cmd.el 23 Oct 2006 19:20:15 -0000      1.58
+++ lisp/emulation/viper-cmd.el 23 Dec 2006 21:33:50 -0000      1.59
@@ -171,7 +171,9 @@
   (run-hook-with-args 'viper-before-change-functions beg end))
 
 (defsubst viper-post-command-sentinel ()
+  (condition-case conds
   (run-hooks 'viper-post-command-hooks)
+    (error (viper-message-conditions conds)))
   (if (eq viper-current-state 'vi-state)
       (viper-restore-cursor-color 'after-insert-mode)))
 
@@ -926,8 +928,7 @@
 
     (condition-case nil
        (let (viper-vi-kbd-minor-mode) ; execute without kbd macros
-         (setq result (eval form))
-         )
+         (setq result (eval form)))
       (error
        (signal 'quit nil)))
 
@@ -1971,9 +1972,16 @@
        (if (and (eobp)
                 (not (bolp))
                 require-final-newline
+                ;; add newline only if we actually edited buffer. otherwise it
+                ;; might unintentionally modify binary buffers
+                (buffer-modified-p) 
                 (not (viper-is-in-minibuffer))
                 (not buffer-read-only))
-           (insert "\n")))
+           ;; text property may be read-only
+           (condition-case nil
+               (insert "\n")
+             (error nil))
+         ))
       ))
 
 (defun viper-yank-defun ()




reply via email to

[Prev in Thread] Current Thread [Next in Thread]