emacs-diffs
[Top][All Lists]
Advanced

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

master b79cfaaf14: Filter out nul bytes when killing from a *grep* buffe


From: Lars Ingebrigtsen
Subject: master b79cfaaf14: Filter out nul bytes when killing from a *grep* buffer
Date: Sat, 2 Jul 2022 11:59:52 -0400 (EDT)

branch: master
commit b79cfaaf14a7aa7e8bb56fc4063bd007e0edc69a
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Filter out nul bytes when killing from a *grep* buffer
    
    * lisp/progmodes/grep.el (grep-mode): Filter out the nul bytes
    (bug#48321).
---
 lisp/progmodes/grep.el | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index a3ef90f397..4f90a53444 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -885,6 +885,14 @@ The value depends on `grep-command', `grep-template',
   (setq-local compilation-disable-input t)
   (setq-local compilation-error-screen-columns
               grep-error-screen-columns)
+  ;; We normally use a nul byte to separate the file name from the
+  ;; contents, but display it as ":".  That's fine, but when yanking
+  ;; to other buffers, it's annoying to have the nul byte there.
+  (unless kill-transform-function
+    (setq-local kill-transform-function #'identity))
+  (add-function :filter-return (local 'kill-transform-function)
+                (lambda (string)
+                  (string-replace "\0" ":" string)))
   (add-hook 'compilation-filter-hook #'grep-filter nil t))
 
 (defun grep--save-buffers ()



reply via email to

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