[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX]
From: |
Stephen Berman |
Subject: |
bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX] |
Date: |
Fri, 18 Jun 2021 16:11:04 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
On Wed, 16 Jun 2021 10:19:23 +0200 Lars Ingebrigtsen <larsi@gnus.org> wrote:
> Boruch Baum <boruch_baum@gmx.com> writes:
>
>> Oops. I misquoted the code (because I had submitted the report after I
>> had made/tested/byte-compiled/over-writte my only local copy). If you look
>> at the
>> code on the gnu cgit instance, at line 1907, you'll see that it adds one
>> to the line-end-position before passing the value the function
>> delete-region.
>
> Right -- so I guess the problem here is that the last line of the buffer
> doesn't have a newline... but skimming the code (I'm not super-familiar
> with ibuffer), it seems like the final non-newline line is a summary
> line and should be kept out of the sorting/filtering process? (If
> there's a "buffer line" without a newline, it'll mess up the display
> after filtering.)
>
> So I think that perhaps the bug is somewhere else, but it's hard to say
> without a recipe that reproduces the bug.
>
> Do you have a test case?
I do. It's the result of an error being raised in Tramp. Here's the
recipe (reliably reproducible on
GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.29,
cairo version 1.17.4) of 2021-06-06 built on strobelfs
Repository revision: 218d2d1509673d8bc67014558a31f5d0da1be5c6
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
Configured using: 'configure --with-native-compilation 'CFLAGS=-Og -g3''
Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS
GSETTINGS HARFBUZZ JPEG LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB
):
0. emacs -Q
1. Create a nonempty ZIP file test.zip (content is irrelevant).
2. Visit the directory containing test.zip in Dired.
3. Type `M-x load-library RET dired-x RET'.
4. With point on the Dired line containing test.zip type `M-!', which
prompts with "! on test.zip {3 guesses} [unzip]:" and type RET to
execute unzip (this of course requires having the unzip program).
5. With point still on the test.zip line type `D' and at the prompt `y'
to delete the ZIP file.
=> This raises a file-error (see below), but the ZIP file is deleted.
6. Type `M-x ibuffer'.
=> This raises the error "tramp-error: Method ‘archive’ is not known."
7. In the *Ibuffer* buffer type `g'.
=> This raises the error "ibuffer-current-state-list: Args out of range:
#<buffer *Ibuffer*>, 280, 332".
The latter error is apparently what the OP reported, and it's because
the Ibuffer buffer is corrupted; here's what it looks like after step 7,
except for the last character `|', which I added to show EOB:
[ Default ]
% tmp 802 Dired by name /tmp/
*% *Messages* 754 Messages
% steve 4171 Dired by name ~/
*scratch* 145 Lisp Interaction
* *Shell Command ... 114 Fundamental
*tramp/archive ... 0 Fundamental |
In other words, as you deduced, the summary line is missing, so the
attempt to do delete-region errors out.
The corruption of the Ibuffer buffer is due to the error raised at step
6, which is triggered in ibuffer-redisplay-engine during the execution
of ibuffer-insert-filter-group. This errors prevent the subsequent
execution of ibuffer-update-title-and-summary, resulting in the above
corrupted Ibuffer display.
As for the error at step 5, which is the cause of the following errors,
it is raised in tramp-gvfs-maybe-open-connection. Here's what the
*Messages* buffer contains after step 5:
Deleting...
Waiting for git... [2 times]
Tramp: Opening connection for file%3A%2F%2F%2Ftmp%2Ftest.zip using
archive...failed
file-error: org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code1
Error when getting information for file “/tmp/test.zip”: No such file or
directory
Step 3 of the recipe is necessary to raise the above errors. I guess
dired-guess-shell-command triggers Tramp file handling. CCing Michael
Albinus, who should be able to solve the problem.
Steve Berman
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Boruch Baum, 2021/06/15
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Lars Ingebrigtsen, 2021/06/15
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Boruch Baum, 2021/06/15
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Lars Ingebrigtsen, 2021/06/16
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Boruch Baum, 2021/06/16
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Lars Ingebrigtsen, 2021/06/16
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Eli Zaretskii, 2021/06/16
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Boruch Baum, 2021/06/16
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Eli Zaretskii, 2021/06/16
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX],
Stephen Berman <=
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Lars Ingebrigtsen, 2021/06/19
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Michael Albinus, 2021/06/19
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Michael Albinus, 2021/06/19
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Stephen Berman, 2021/06/19
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Stephen Berman, 2021/06/19
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Boruch Baum, 2021/06/20
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Michael Albinus, 2021/06/20
- bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Lars Ingebrigtsen, 2021/06/21
bug#49043: 27.1: ibuffer-toggle-filter-group [BUGFIX], Eli Zaretskii, 2021/06/15