* bug#32420: 26.1.50; Ibuffer: Detect correctly the buffers running a process
@ 2018-08-11 16:48 Tino Calancha
2018-08-11 16:57 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Tino Calancha @ 2018-08-11 16:48 UTC (permalink / raw)
To: 32420
emacs -Q
M-x info RET
m Emacs RET
M-x ibuffer RET
;; Ibuffer wrongly reports *info* buffer as running a process.
--8<-----------------------------cut here---------------start------------->8---
commit db8f778c98bd6eb8db7b16239f6fddab012e5314
Author: Tino Calancha <tino.calancha@gmail.com>
Date: Sun Aug 12 01:38:03 2018 +0900
Ibuffer: Detect correctly the buffers running a process
* 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).
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 0a7bfe00a9..03018d08a5 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -1912,11 +1912,9 @@ filename-and-process
(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 @@ filename-and-process
(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)
""))
--8<-----------------------------cut here---------------end--------------->8---
In GNU Emacs 26.1.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
of 2018-08-11
Repository revision: ec6f588940e51013435408a456c10d33ddf98fb2
Windowing system distributor 'The X.Org Foundation', version 11.0.11902000
System Description: Debian GNU/Linux 9.5 (stretch)
^ permalink raw reply related [flat|nested] 7+ messages in thread
* bug#32420: 26.1.50; Ibuffer: Detect correctly the buffers running a process
2018-08-11 16:48 bug#32420: 26.1.50; Ibuffer: Detect correctly the buffers running a process Tino Calancha
@ 2018-08-11 16:57 ` Eli Zaretskii
2018-08-11 17:13 ` Tino Calancha
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2018-08-11 16:57 UTC (permalink / raw)
To: Tino Calancha; +Cc: 32420
> From: Tino Calancha <tino.calancha@gmail.com>
> Date: Sun, 12 Aug 2018 01:48:22 +0900
>
>
> emacs -Q
> M-x info RET
> m Emacs RET
> M-x ibuffer RET
> ;; Ibuffer wrongly reports *info* buffer as running a process.
How do you see it reporting a process? What I see is that it reports
a pseudo-file for it. Am I missing something?
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#32420: 26.1.50; Ibuffer: Detect correctly the buffers running a process
2018-08-11 16:57 ` Eli Zaretskii
@ 2018-08-11 17:13 ` Tino Calancha
2018-08-11 17:37 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Tino Calancha @ 2018-08-11 17:13 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 32420
[-- Attachment #1: Type: text/plain, Size: 621 bytes --]
On Sat, 11 Aug 2018, Eli Zaretskii wrote:
>> From: Tino Calancha <tino.calancha@gmail.com>
>> Date: Sun, 12 Aug 2018 01:48:22 +0900
>>
>>
>> emacs -Q
>> M-x info RET
>> m Emacs RET
>> M-x ibuffer RET
>> ;; Ibuffer wrongly reports *info* buffer as running a process.
>
> How do you see it reporting a process? What I see is that it reports
> a pseudo-file for it. Am I missing something?
Attached 1 picture.
It shows at the bottom the line:
3 buffers 2515909 1 file, 1 process
If you delete buffer *info*, then you see:
2 buffers 574 No files, no processes
[-- Attachment #2: Type: image/png, Size: 87417 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#32420: 26.1.50; Ibuffer: Detect correctly the buffers running a process
2018-08-11 17:13 ` Tino Calancha
@ 2018-08-11 17:37 ` Eli Zaretskii
2018-08-12 8:21 ` Tino Calancha
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2018-08-11 17:37 UTC (permalink / raw)
To: Tino Calancha; +Cc: 32420
> From: Tino Calancha <tino.calancha@gmail.com>
> Date: Sun, 12 Aug 2018 02:13:20 +0900 (JST)
> cc: 32420@debbugs.gnu.org
>
> >> emacs -Q
> >> M-x info RET
> >> m Emacs RET
> >> M-x ibuffer RET
> >> ;; Ibuffer wrongly reports *info* buffer as running a process.
> >
> > How do you see it reporting a process? What I see is that it reports
> > a pseudo-file for it. Am I missing something?
> Attached 1 picture.
> It shows at the bottom the line:
> 3 buffers 2515909 1 file, 1 process
Ah, okay. So, to fix this, isn't it better to see if the current
buffer is a process-buffer of some process in process-list?
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#32420: 26.1.50; Ibuffer: Detect correctly the buffers running a process
2018-08-11 17:37 ` Eli Zaretskii
@ 2018-08-12 8:21 ` Tino Calancha
2018-08-12 18:46 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Tino Calancha @ 2018-08-12 8:21 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 32420, Tino Calancha
>>> How do you see it reporting a process? What I see is that it reports
>>> a pseudo-file for it. Am I missing something?
>> Attached 1 picture.
>> It shows at the bottom the line:
>> 3 buffers 2515909 1 file, 1 process
>
> Ah, okay. So, to fix this, isn't it better to see if the current
> buffer is a process-buffer of some process in process-list?
It's a bit tricky code.
When such thing run, the summarizer, I believe the current buffer
is *Ibuffer*; you receive 'strings': they are the rows in
column 'Filename/Process'.
There is no direct way to connect each string with its buffer. The
original code make the assumption that if 'string' matches something like
(foobar)
then it corresponds to a buffer running a process.
That assumption is wrong, for instance, in several info buffers.
Because you first create all columns, and the summarizer runs at the end,
I thought is simple to add the process as a text property for those
buffers having a process. Then you don't need any assumption on 'string':
you just check whether if 'string' has a property 'ibuffer-process' or
not.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#32420: 26.1.50; Ibuffer: Detect correctly the buffers running a process
2018-08-12 8:21 ` Tino Calancha
@ 2018-08-12 18:46 ` Eli Zaretskii
2018-08-13 10:30 ` Tino Calancha
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2018-08-12 18:46 UTC (permalink / raw)
To: Tino Calancha; +Cc: 32420
> From: Tino Calancha <tino.calancha@gmail.com>
> Date: Sun, 12 Aug 2018 17:21:36 +0900 (JST)
> cc: Tino Calancha <tino.calancha@gmail.com>, 32420@debbugs.gnu.org
>
> > Ah, okay. So, to fix this, isn't it better to see if the current
> > buffer is a process-buffer of some process in process-list?
> It's a bit tricky code.
Then maybe it's high time to redesign it ;-)
But don't let that hold your fix.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#32420: 26.1.50; Ibuffer: Detect correctly the buffers running a process
2018-08-12 18:46 ` Eli Zaretskii
@ 2018-08-13 10:30 ` Tino Calancha
0 siblings, 0 replies; 7+ messages in thread
From: Tino Calancha @ 2018-08-13 10:30 UTC (permalink / raw)
To: 32420-done
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Tino Calancha <tino.calancha@gmail.com>
>> Date: Sun, 12 Aug 2018 17:21:36 +0900 (JST)
>> cc: Tino Calancha <tino.calancha@gmail.com>, 32420@debbugs.gnu.org
>>
>> > Ah, okay. So, to fix this, isn't it better to see if the current
>> > buffer is a process-buffer of some process in process-list?
>> It's a bit tricky code.
>
> Then maybe it's high time to redesign it ;-)
I need to talk with my manager: she organize my agenda with that stuff.
> But don't let that hold your fix.
Fixed in emacs-26 branch as commit
'Ibuffer: Detect correctly the buffers running a process'
(12f7116714cf0cc3566ea2a5b1184c99cbfe7b90)
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-08-13 10:30 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-11 16:48 bug#32420: 26.1.50; Ibuffer: Detect correctly the buffers running a process Tino Calancha
2018-08-11 16:57 ` Eli Zaretskii
2018-08-11 17:13 ` Tino Calancha
2018-08-11 17:37 ` Eli Zaretskii
2018-08-12 8:21 ` Tino Calancha
2018-08-12 18:46 ` Eli Zaretskii
2018-08-13 10:30 ` Tino Calancha
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).