]> code.delx.au - gnu-emacs/commitdiff
Make ibuffer not break on newline-embedded buffer names
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 28 Apr 2016 16:51:51 +0000 (18:51 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 28 Apr 2016 16:51:51 +0000 (18:51 +0200)
* lisp/ibuffer.el (name): When buffer names contain newlines,
quote those newlines before displaying (bug#12378).

lisp/ibuffer.el

index b2ec073dc16dae9447d3173d9f426018a5137d55..704907a79f751c746e1fb37dde1b79982d247e12 100644 (file)
@@ -1740,7 +1740,13 @@ If point is on a group name, this function operates on that group."
        (cond ((zerop bufs) "No buffers")
             ((= 1 bufs) "1 buffer")
             (t (format "%s buffers" bufs))))))
-  (propertize (buffer-name) 'font-lock-face (ibuffer-buffer-name-face buffer mark)))
+  (let ((string (propertize (buffer-name)
+                            'font-lock-face
+                            (ibuffer-buffer-name-face buffer mark))))
+    (if (not (seq-position string ?\n))
+        string
+      (replace-regexp-in-string
+       "\n" (propertize "^J" 'font-lock-face 'escape-glyph) string))))
 
 (define-ibuffer-column size
   (:inline t