]> git.eshelyaron.com Git - emacs.git/commitdiff
Ibuffer: Detect correctly the buffers running a process
authorTino Calancha <tino.calancha@gmail.com>
Mon, 13 Aug 2018 10:22:49 +0000 (19:22 +0900)
committerTino Calancha <tino.calancha@gmail.com>
Mon, 13 Aug 2018 10:22:49 +0000 (19:22 +0900)
* lisp/ibuffer.el (filename-and-process): Store the process buffer
as a text property; check for such property to detect a buffer
with a process (Bug#32420).

lisp/ibuffer.el

index 0a7bfe00a982b1704821e56bb16c41ad14ae5405..03018d08a58c79f313dc33b3ae355db9455f992b 100644 (file)
@@ -1912,11 +1912,9 @@ If point is on a group name, this function operates on that group."
      (let ((procs 0)
           (files 0))
        (dolist (string strings)
-        (if (string-match "\\(?:\\`([[:ascii:]]+)\\)" string)
-            (progn (setq procs (1+ procs))
-                   (if (< (match-end 0) (length string))
-                       (setq files (1+ files))))
-          (setq files (1+ files))))
+         (when (get-text-property 1 'ibuffer-process string)
+           (setq procs (1+ procs)))
+        (setq files (1+ files)))
        (concat (cond ((zerop files) "No files")
                     ((= 1 files) "1 file")
                     (t (format "%d files" files)))
@@ -1928,7 +1926,8 @@ If point is on a group name, this function operates on that group."
        (filename (ibuffer-make-column-filename buffer mark)))
     (if proc
        (concat (propertize (format "(%s %s)" proc (process-status proc))
-                           'font-lock-face 'italic)
+                           'font-lock-face 'italic
+                            'ibuffer-process proc)
                (if (> (length filename) 0)
                    (format " %s" filename)
                  ""))