bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#14637: recent viper-mode regression


From: Juri Linkov
Subject: bug#14637: recent viper-mode regression
Date: Tue, 18 Jun 2013 23:25:20 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu)

> Now, however, it merely appends the result, instead of replacing the
> source lines.

I know nothing about viper-mode, but apparently this regression is
caused by revno:112695 that now requires for the callers of
`shell-command-on-region' to explicitly specify its argument REPLACE
as documented in its docstring for a long time.  However, this fix
breaks such callers that don't care about providing the correct
non-nil REPLACE argument to behave according to the documentation.
Grepping for `shell-command-on-region' revealed the exhaustive list
of the callers that are fixed now with this patch to set both args
OUTPUT-BUFFER and REPLACE to the same value in unison:

=== modified file 'lisp/emulation/vi.el'
--- lisp/emulation/vi.el        2012-09-17 05:41:04 +0000
+++ lisp/emulation/vi.el        2013-06-18 20:17:20 +0000
@@ -1148,7 +1148,8 @@ (defun vi-shell-op (motion-command arg &
       (cond ((null shell-command)
             (setq shell-command (read-string "!" nil))
             (setq vi-last-shell-command shell-command)))
-      (shell-command-on-region begin end shell-command (not 
(vi-prefix-char-value arg)))
+      (shell-command-on-region begin end shell-command (not 
(vi-prefix-char-value arg))
+                                                      (not 
(vi-prefix-char-value arg)))
       t)))
 
 (defun vi-shift-op (motion-command arg amount)

=== modified file 'lisp/emulation/vip.el'
--- lisp/emulation/vip.el       2013-03-12 02:08:21 +0000
+++ lisp/emulation/vip.el       2013-06-18 20:17:24 +0000
@@ -775,7 +775,7 @@ (defun vip-execute-com (m-com val com)
                  (if (= com ?!)
                      (setq vip-last-shell-com (vip-read-string "!"))
                    vip-last-shell-com)
-                 t)))
+                 t t)))
              ((= com ?=)
               (save-excursion
                 (set-mark vip-com-point)
@@ -3042,7 +3042,7 @@ (defun ex-command ()
          (goto-char beg)
          (set-mark end)
          (vip-enlarge-region (point) (mark))
-         (shell-command-on-region (point) (mark) command t))
+         (shell-command-on-region (point) (mark) command t t))
        (goto-char beg)))))
 
 (defun ex-line-no ()

=== modified file 'lisp/emulation/viper-cmd.el'
--- lisp/emulation/viper-cmd.el 2013-05-22 03:21:30 +0000
+++ lisp/emulation/viper-cmd.el 2013-06-18 20:17:31 +0000
@@ -1548,7 +1548,7 @@ (defun viper-exec-bang (m-com com)
                (car viper-shell-history)
                ))
        viper-last-shell-com)
-     t)))
+     t t)))
 
 (defun viper-exec-equals (m-com com)
   (save-excursion

=== modified file 'lisp/emulation/viper-ex.el'
--- lisp/emulation/viper-ex.el  2013-05-22 03:21:30 +0000
+++ lisp/emulation/viper-ex.el  2013-06-18 20:17:34 +0000
@@ -2176,7 +2176,7 @@ (defun ex-command ()
          (goto-char beg)
          (set-mark end)
          (viper-enlarge-region (point) (mark t))
-         (shell-command-on-region (point) (mark t) command t))
+         (shell-command-on-region (point) (mark t) command t t))
        (goto-char beg)))))
 
 (defun ex-compile ()

=== modified file 'lisp/mh-e/mh-alias.el'
--- lisp/mh-e/mh-alias.el       2013-01-01 09:11:05 +0000
+++ lisp/mh-e/mh-alias.el       2013-06-18 20:17:37 +0000
@@ -141,7 +141,7 @@ (defun mh-alias-local-users ()
             (insert-file-contents "/etc/passwd")))
        ((stringp mh-alias-local-users)
         (insert mh-alias-local-users "\n")
-        (shell-command-on-region (point-min) (point-max) mh-alias-local-users 
t)
+        (shell-command-on-region (point-min) (point-max) mh-alias-local-users 
t t)
         (goto-char (point-min))))
       (while  (< (point) (point-max))
         (cond






reply via email to

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