all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#67226: 30.0.50; Regression in previous-complete-history-element with empty input
       [not found] <87il62m110.fsf.ref@aol.com>
@ 2023-11-16 10:43 ` Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-11-16 17:32   ` Juri Linkov
  0 siblings, 1 reply; 6+ messages in thread
From: Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-16 10:43 UTC (permalink / raw)
  To: 67226



When using previous-complete-history-element like:

The behavior changed sometime recently, because

When the input is empty it shows:

 [No earlier matching history item]

Previously it behaved like `previous-history-element` in that case.

Is this intended due to some recent change or is it an issue?

```
Emacs -Q

M-: (keymap-set minibuffer-local-map "<up>" #'previous-complete-history-element)

M-x some-command1
M-x some-command2
M-x some-command3
M-x <up-arrow>
```





In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.18.0) of 2023-11-12 built on Ergus
Repository revision: 0bfe764fe5691a76c1c12557b6b0b5bfa9cbc012
Repository branch: master
System Description: Arch Linux

Configured using:
 'configure --prefix=/home/ergo/.local/ --with-mailutils --with-json
 --with-x-toolkit=gtk3 --with-xft --with-modules --with-cairo
 --with-harfbuzz --with-native-compilation
 '--program-transform-name=s/^ctags$/ctags.emacs/''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  global-auto-revert-mode: t
  electric-pair-mode: t
  flyspell-mode: t
  company-mode: t
  flycheck-mode: t
  diff-hl-margin-local-mode: t
  diff-hl-margin-mode: t
  diff-hl-mode: t
  fancy-compilation-mode: t
  gtags-mode: t
  repeat-mode: t
  xterm-mouse-mode: t
  xclip-mode: t
  override-global-mode: t
  winner-mode: t
  save-place-mode: t
  delete-selection-mode: t
  savehist-mode: t
  global-display-fill-column-indicator-mode: t
  display-fill-column-indicator-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  which-key-mode: t
  eldoc-mode: t
  show-paren-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/mnt/casa/gits/emacs_clones/gtags-mode/gtags-mode hides /home/ergo/.config/emacs/elpa/gtags-mode-1.0/gtags-mode
/home/ergo/.config/emacs/elpa/transient-20231103.2312/transient hides /home/ergo/.local/share/emacs/30.0.50/lisp/transient

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny rfc822
mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
time-date autorevert filenotify ffap thingatpt url-parse auth-source
password-cache url-vars misearch multi-isearch elec-pair
flyspell-correct flyspell ispell company-semantic company-template
company-capf company-elisp company flycheck json map find-func dash
pcase diff-hl-margin diff-hl-dired citre-lang-fileref citre-tags
citre-ctags citre-readtags citre-readtags-tables citre-backend-interface
citre-ui-peek color citre-ui-jump citre-common-tag citre-common-util
dired-x dired dired-loaddefs diff-hl log-view pcvs-util vc-dir ewoc vc
cape compat fancy-compilation compile text-property-search comint
ansi-osc ansi-color comp-run comp-common rx gtags-mode subr-x files-x
xref project vc-git diff-mode vc-dispatcher term/tmux term/xterm xterm
init repeat xt-mouse xclip edmacro kmacro use-package-bind-key bind-key
simple-16-theme winner ring saveplace delsel savehist easy-mmode
display-fill-column-indicator display-line-numbers diminish which-key
cl-extra help-mode use-package-diminish use-package-core disp-table info
ac-html-autoloads arduino-cli-mode-autoloads arduino-mode-autoloads
ede/auto eieio-base cl-seq eieio byte-opt bytecomp byte-compile
eieio-core cl-macs gv cl-loaddefs cl-lib auto-complete-autoloads
avy-zap-autoloads avy-autoloads better-shell-autoloads caml-autoloads
cape-autoloads citre-autoloads clang-format-autoloads
cobol-mode-autoloads company-auctex-autoloads auctex-autoloads tex-site
company-c-headers-autoloads company-lua-autoloads
company-nginx-autoloads company-reftex-autoloads company-autoloads
compile-multi-autoloads crdt-autoloads csv-mode-autoloads
cuda-mode-autoloads deadgrep-autoloads debbugs-autoloads
diff-hl-autoloads diminish-autoloads dired-sidebar-autoloads
dired-subtree-autoloads dired-hacks-utils-autoloads dumb-jump-autoloads
e2ansi-autoloads emamux-autoloads esup-autoloads
evil-collection-autoloads annalist-autoloads evil-leader-autoloads
evil-autoloads face-explorer-autoloads fancy-compilation-autoloads
flx-autoloads flycheck-julia-autoloads flycheck-rust-autoloads
flycheck-autoloads flymake-nasm-autoloads flymake-quickdef-autoloads
flyspell-correct-autoloads git-modes-autoloads git-timemachine-autoloads
gnuplot-autoloads google-c-style-autoloads goto-chg-autoloads
groovy-mode-autoloads gtags-mode-autoloads
highlight-indent-guides-autoloads i3wm-config-mode-autoloads
ibuffer-project-autoloads ibuffer-sidebar-autoloads
ibuffer-tramp-autoloads ibuffer-vc-autoloads iedit-autoloads
imenu-list-autoloads julia-ts-mode-autoloads julia-mode-autoloads
languagetool-autoloads lice-autoloads lorem-ipsum-autoloads
lua-mode-autoloads magit-autoloads git-commit-autoloads
magit-section-autoloads markdown-mode-autoloads
modern-cpp-font-lock-autoloads move-dup-autoloads
multiple-cursors-autoloads mutt-mode-autoloads nasm-mode-autoloads
neotree-autoloads nftables-mode-autoloads nginx-mode-autoloads
notmuch-autoloads objed-autoloads opencl-mode-autoloads
paradox-autoloads phi-search-autoloads pkg-info-autoloads epl-autoloads
pkgbuild-mode-autoloads popup-autoloads protobuf-mode-autoloads
protobuf-ts-mode-autoloads ptemplate-templates-autoloads
ptemplate-autoloads scopeline-autoloads shell-command+-autoloads
slime-autoloads macrostep-autoloads sphinx-mode-autoloads f-autoloads
dash-autoloads s-autoloads spinner-autoloads ssh-config-mode-autoloads
string-inflection-autoloads sudo-edit-autoloads systemd-autoloads
tmux-mode-autoloads transient-autoloads tree-sitter-autoloads
tsc-autoloads vdiff-autoloads hydra-autoloads lv-autoloads
vterm-toggle-autoloads vterm-autoloads vundo-autoloads
which-key-autoloads with-editor-autoloads compat-autoloads
xclip-autoloads yasnippet-snippets-autoloads yasnippet-autoloads
early-init rmc iso-transl tooltip cconv eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt
fringe tabulated-list replace newcomment text-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 nadvice seq simple cl-generic indonesian philippine
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 emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 233392 53195) (symbols 48 16449 0)
 (strings 32 59163 12912) (string-bytes 1 1959263) (vectors 16 31794)
 (vector-slots 8 1004548 85430) (floats 8 191 13477)
 (intervals 56 6483 821) (buffers 992 15))





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#67226: 30.0.50; Regression in previous-complete-history-element with empty input
  2023-11-16 10:43 ` bug#67226: 30.0.50; Regression in previous-complete-history-element with empty input Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-11-16 17:32   ` Juri Linkov
  2023-11-25  9:39     ` Eli Zaretskii
  2023-11-25 16:03     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 6+ messages in thread
From: Juri Linkov @ 2023-11-16 17:32 UTC (permalink / raw)
  To: Ergus; +Cc: Stefan Monnier, 67226

> When using previous-complete-history-element like:
>
> The behavior changed sometime recently, because
>
> When the input is empty it shows:
>
>  [No earlier matching history item]
>
> Previously it behaved like `previous-history-element` in that case.
>
> Is this intended due to some recent change or is it an issue?
>
> ```
> Emacs -Q
>
> M-: (keymap-set minibuffer-local-map "<up>" #'previous-complete-history-element)
>
> M-x some-command1
> M-x some-command2
> M-x some-command3
> M-x <up-arrow>
> ```

The regression is on this line in `previous-matching-history-element`:

  (string-match (concat ".*\\(" regexp "\\)") match-string)

In GNU Emacs 29.1.90

  (string-match ".*\\(^\\)" "foo")
  => 0

But in GNU Emacs 30.0.50

  (string-match ".*\\(^\\)" "foo")
  => nil

Cc:ing Stefan.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#67226: 30.0.50; Regression in previous-complete-history-element with empty input
  2023-11-16 17:32   ` Juri Linkov
@ 2023-11-25  9:39     ` Eli Zaretskii
  2023-11-25 15:30       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-11-25 16:03     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2023-11-25  9:39 UTC (permalink / raw)
  To: Juri Linkov, monnier; +Cc: spacibba, 67226

Stefan, any comments?

> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, 67226@debbugs.gnu.org
> From: Juri Linkov <juri@linkov.net>
> Date: Thu, 16 Nov 2023 19:32:13 +0200
> 
> > When using previous-complete-history-element like:
> >
> > The behavior changed sometime recently, because
> >
> > When the input is empty it shows:
> >
> >  [No earlier matching history item]
> >
> > Previously it behaved like `previous-history-element` in that case.
> >
> > Is this intended due to some recent change or is it an issue?
> >
> > ```
> > Emacs -Q
> >
> > M-: (keymap-set minibuffer-local-map "<up>" #'previous-complete-history-element)
> >
> > M-x some-command1
> > M-x some-command2
> > M-x some-command3
> > M-x <up-arrow>
> > ```
> 
> The regression is on this line in `previous-matching-history-element`:
> 
>   (string-match (concat ".*\\(" regexp "\\)") match-string)
> 
> In GNU Emacs 29.1.90
> 
>   (string-match ".*\\(^\\)" "foo")
>   => 0
> 
> But in GNU Emacs 30.0.50
> 
>   (string-match ".*\\(^\\)" "foo")
>   => nil
> 
> Cc:ing Stefan.
> 
> 
> 
> 





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#67226: 30.0.50; Regression in previous-complete-history-element with empty input
  2023-11-25  9:39     ` Eli Zaretskii
@ 2023-11-25 15:30       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 6+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-25 15:30 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: spacibba, 67226, Juri Linkov

> Stefan, any comments?

Looks like a bug in my new regexp code.  Hmm...


        Stefan






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#67226: 30.0.50; Regression in previous-complete-history-element with empty input
  2023-11-16 17:32   ` Juri Linkov
  2023-11-25  9:39     ` Eli Zaretskii
@ 2023-11-25 16:03     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-11-25 18:34       ` Juri Linkov
  1 sibling, 1 reply; 6+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-25 16:03 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Ergus, 67226

> The regression is on this line in `previous-matching-history-element`:
>
>   (string-match (concat ".*\\(" regexp "\\)") match-string)
>
> In GNU Emacs 29.1.90
>
>   (string-match ".*\\(^\\)" "foo")
>   => 0
>
> But in GNU Emacs 30.0.50
>
>   (string-match ".*\\(^\\)" "foo")
>   => nil
>
> Cc:ing Stefan.

Thanks, I believe this is now fixed on `master`.


        Stefan






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#67226: 30.0.50; Regression in previous-complete-history-element with empty input
  2023-11-25 16:03     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-11-25 18:34       ` Juri Linkov
  0 siblings, 0 replies; 6+ messages in thread
From: Juri Linkov @ 2023-11-25 18:34 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Ergus, 67226

close 67226 30.0.50
thanks

>> The regression is on this line in `previous-matching-history-element`:
>>
>>   (string-match (concat ".*\\(" regexp "\\)") match-string)
>>
>> In GNU Emacs 29.1.90
>>
>>   (string-match ".*\\(^\\)" "foo")
>>   => 0
>>
>> But in GNU Emacs 30.0.50
>>
>>   (string-match ".*\\(^\\)" "foo")
>>   => nil
>>
>> Cc:ing Stefan.
>
> Thanks, I believe this is now fixed on `master`.

I confirm it's fixed, so closing now.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-11-25 18:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <87il62m110.fsf.ref@aol.com>
2023-11-16 10:43 ` bug#67226: 30.0.50; Regression in previous-complete-history-element with empty input Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-16 17:32   ` Juri Linkov
2023-11-25  9:39     ` Eli Zaretskii
2023-11-25 15:30       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-25 16:03     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-25 18:34       ` Juri Linkov

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.