Subject: Re: bug#45800: 27.1; ibuffer sort by filename/process fails with Dired

From: Fabrice BAUZAC-STEHLY <[email-masked]>
Date: Mon, 18 Jan 2021 23:05:24 +0100

"Basil L. Contovounesios" <[email-masked]> writes:

> Fabrice BAUZAC-STEHLY <[email-masked]> writes:
>
>> To fix this on my side, I have replaced both occurrences of
>>   (buffer-file-name (car X))
>> with
>>   (with-current-buffer (car X) (ibuffer-buffer-file-name))
>> which seems to work:
>
> Thanks, that looks correct.  Would you like to provide a patch against
> master to that effect?

Sure, here it is:

diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index ed5c9c0211..44574abd46 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -1497,10 +1497,10 @@ filename/process
   (string-lessp
    ;; FIXME: For now just compare the file name and the process name
    ;; (if it exists).  Is there a better way to do this?
-   (or (buffer-file-name (car a))
+   (or (with-current-buffer (car a) (ibuffer-buffer-file-name))
        (let ((pr-a (get-buffer-process (car a))))
 	 (and (processp pr-a) (process-name pr-a))))
-   (or (buffer-file-name (car b))
+   (or (with-current-buffer (car b) (ibuffer-buffer-file-name))
        (let ((pr-b (get-buffer-process (car b))))
 	 (and (processp pr-b) (process-name pr-b))))))

> I think your cumulative changes would still be exempt of copyright
> paperwork, but would you be willing to start the copyright assignment
> process for future changes that exceed the limit, if you haven't
> already?

Yes, no problem for that.

-- 
Fabrice Bauzac-Stehly
PGP 01EEACF8244E9C14B551C5256ADA5F189BD322B6
old PGP 015AE9B25DCB0511D200A75DE5674DEA514C891D