abo-abo / swiper

Ivy - a generic completion frontend for Emacs, Swiper - isearch with an overview, and more. Oh, man!
https://oremacs.com/swiper/
2.32k stars 338 forks source link

Test ivy-partial-files quits in Emacs 28 #2906

Closed basil-conto closed 3 years ago

basil-conto commented 3 years ago
Emacs 28 build information ``` In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2021-08-15 built on tia Repository revision: bf11c698b6af5eb243da656b57d99084a2c2e890 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: Debian GNU/Linux 11 (bullseye) Configured using: 'configure 'CC=ccache gcc' 'CFLAGS=-Og -ggdb' --config-cache --prefix=/home/blc/.local --enable-checking=structs --with-x-toolkit=lucid --with-file-notification=yes --with-x' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XAW3D XDBE XIM XPM LUCID ZLIB Important settings: value of $LANG: en_IE.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map text-property-search time-date subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit x multi-tty make-network-process emacs) ```

The test suite unexpectedly quits inside ivy-partial-files, as can be seen in the following log:

make clean compile test log ``` make clean compile test rm -f *.elc emacs -batch -l elpa.el -L . -f batch-byte-compile colir.el ivy-faces.el ivy-overlay.el ivy.el ivy-avy.el swiper.el counsel.el emacs -batch -l elpa.el -l colir.el -l ivy-overlay.el -l ivy.el -l swiper.el -l counsel.el -l ivy-test.el -f ivy-test-run-tests GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2021-08-15 Running 1 tests (2021-08-17 16:19:35+0100, selector ‘ivy--lazy-load-ffap--ffap-url-p’) passed 1/1 ivy--lazy-load-ffap--ffap-url-p (0.005878 sec) Ran 1 tests, 1 results as expected, 0 unexpected (2021-08-17 16:19:35+0100, 0.006042 sec) Running 75 tests (2021-08-17 16:19:35+0100, selector ‘(not ivy--lazy-load-ffap--ffap-url-p)’) passed 1/75 colir-blend-face-background (0.000087 sec) passed 2/75 colir-color-parse (0.000053 sec) passed 3/75 counsel--elisp-to-pcre (0.000227 sec) passed 4/75 counsel--grep-regex (0.000103 sec) passed 5/75 counsel--normalize-grep-match (0.000139 sec) passed 6/75 counsel--split-command-args (0.000052 sec) passed 7/75 counsel--split-string-with-eol-cr (0.000106 sec) passed 8/75 counsel--split-string-with-eol-crlf (0.000066 sec) passed 9/75 counsel--split-string-with-eol-lf (0.000041 sec) passed 10/75 counsel-find-file-single-match-directories (0.191891 sec) passed 11/75 counsel-find-file-with-dollars (0.016661 sec) passed 12/75 counsel-find-file-with-dotfiles (0.045556 sec) passed 13/75 counsel-find-file-with-spaces (0.077457 sec) passed 14/75 counsel-url-expand (0.000132 sec) passed 15/75 counsel-yank-pop (0.002374 sec) passed 16/75 ivy--break-lines (0.001849 sec) passed 17/75 ivy--filter (0.000181 sec) passed 18/75 ivy--format (0.000143 sec) passed 19/75 ivy--handle-directory (0.000056 sec) passed 20/75 ivy--handle-full-path-yank-on-remote (0.025763 sec) passed 21/75 ivy--minibuffer-index-bounds (0.000116 sec) passed 22/75 ivy--preselect-index (0.000156 sec) passed 23/75 ivy--regex (0.000245 sec) passed 24/75 ivy--regex-fuzzy (0.000136 sec) passed 25/75 ivy--regex-ignore-order (0.000295 sec) passed 26/75 ivy--regex-plus (0.000099 sec) passed 27/75 ivy--sort-function (0.000249 sec) passed 28/75 ivy--split (0.000369 sec) passed 29/75 ivy--split-negation (0.000134 sec) passed 30/75 ivy--split-spaces (0.000254 sec) passed 31/75 ivy--yank-handle-case-fold (0.000049 sec) passed 32/75 ivy-avy (0.025102 sec) passed 33/75 ivy-backward-kill-word (0.003047 sec) passed 34/75 ivy-completing-read (0.001437 sec) passed 35/75 ivy-completing-read-def-handling (0.052173 sec) passed 36/75 ivy-completing-read-handlers (0.025344 sec) passed 37/75 ivy-completion-common-length (0.000079 sec) passed 38/75 ivy-completion-in-region (0.027861 sec) passed 39/75 ivy-counsel-read-directory-name (0.002284 sec) passed 40/75 ivy-empty-directory-open (0.028705 sec) passed 41/75 ivy-inhibit-action (0.002488 sec) passed 42/75 ivy-multi-resume (0.045285 sec) passed 43/75 ivy-no-prefix-arg (0.044984 sec) passed 44/75 ivy-numeric-prefix-arg (0.002614 sec) passed 45/75 ivy-one-prefix-arg (0.046491 sec) passed 46/75 ivy-partial-1 (0.020623 sec) passed 47/75 ivy-partial-2 (0.031756 sec) Quit make: *** [Makefile:12: test] Error 255 ```

An initial suspect might be the following upstream change:

Quit minibuffers without aborting kmacros 7edbcb3648 2021-07-20 14:36:45 +0200 https://git.sv.gnu.org/cgit/emacs.git/commit/?id=7edbcb3648e9d08a4ccc291f672f831b4f07eb5c

But changing ivy-partial-files to catch the tags exit and quit, or handle the error signals t, quit, minibuffer-quit, or error, doesn't seem to change anything.

basil-conto commented 3 years ago

An initial suspect might be the following upstream change:

Quit minibuffers without aborting kmacros 7edbcb3648 2021-07-20 14:36:45 +0200 https://git.sv.gnu.org/cgit/emacs.git/commit/?id=7edbcb3648e9d08a4ccc291f672f831b4f07eb5c

Bisecting pointed to this one instead:

Use `abort-minibuffers' in delsel b4f3e6caba 2021-08-04 09:15:25 +0200 https://git.sv.gnu.org/cgit/emacs.git/commit/?id=b4f3e6cabafb3e04292a650874d977c692dbad22

basil-conto commented 3 years ago

Bisecting pointed to this one instead:

That's only because Ivy loads delsel, though. The underlying issue was indeed introduced in the first suspect commit. I've now reported the issue here: https://bugs.gnu.org/48603#19