<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/lisp/icomplete.el, branch scratch/alloc</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>Make icomplete-tidy-shadowed-file-names into a defcustom</title>
<updated>2023-03-22T19:14:43+00:00</updated>
<author>
<name>Sean Whitton</name>
</author>
<published>2023-03-22T17:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e11813d574db1297a9b33ec2a4cba4dc3c6a16af'/>
<id>e11813d574db1297a9b33ec2a4cba4dc3c6a16af</id>
<content type='text'>
lisp/icomplete.el (icomplete-tidy-shadowed-file-names): Make variable
into a defcustom.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
lisp/icomplete.el (icomplete-tidy-shadowed-file-names): Make variable
into a defcustom.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-29</title>
<updated>2023-03-07T05:30:10+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2023-03-07T05:30:10+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=8179555730d23f43b3043df0bfecc9f9c4f36eda'/>
<id>8179555730d23f43b3043df0bfecc9f9c4f36eda</id>
<content type='text'>
bd07cec8442 Fix regression in Fido mode (bug#62015)
0e3c7ac13da * Fix `emacs-lisp-native-compile-and-load' for (bug#61917)
4a7e657389a * lisp/emacs-lisp/comp.el (comp-prettyformat-insn): Fix (...
8a8a994cfab Revert "Fix configuration of webp libraries"
de4277af009 Fix configuration of webp libraries
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bd07cec8442 Fix regression in Fido mode (bug#62015)
0e3c7ac13da * Fix `emacs-lisp-native-compile-and-load' for (bug#61917)
4a7e657389a * lisp/emacs-lisp/comp.el (comp-prettyformat-insn): Fix (...
8a8a994cfab Revert "Fix configuration of webp libraries"
de4277af009 Fix configuration of webp libraries
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix regression in Fido mode (bug#62015)</title>
<updated>2023-03-06T22:58:11+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2023-03-06T22:28:47+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=bd07cec844257ba8ae95b2ab2e66982360576c9d'/>
<id>bd07cec844257ba8ae95b2ab2e66982360576c9d</id>
<content type='text'>
To understand the regression consider this recipe where the 'fo'
pattern is typed by the user in the last step.

   emacs -Q
   C-x b foo RET
   C-x b afoo RET
   C-x b *scratch* RET
   M-x fido-mode RET
   C-x b fo

This used to offer both 'foo' and 'afoo' as candidates but now only
offered 'foo'.  This is because the pattern 'fo' matches 'foo', but
not 'afoo' with 'basic' completion style.

Fido mode, however, prioritizes 'flex' completion style, and that is
not happening here as it used to.

This was introduced in this commit

     commit bf81df86e52fdc995bec8d9646f84d114cb896d1
     Author: João Távora &lt;joaotavora@gmail.com&gt;
     Date:   Wed Dec 7 10:43:59 2022 +0000

         Don't override completion-category-defaults in fido-mode

I took away the nil setting of 'completion-category-defaults; in Fido
mode's minibuffer. It seemed generally the correct thing to do, and
was done mainly because Eglot added its style preferences to that
variable instead of completion-category-overrides directly, which is a
nono.  So, to be able use the Fido UI with Eglot successfully,
'completion-category-defaults' should stay untouched.  Or so I
thought.

However, I failed to notice that, for most categories, the default
value of 'completion-category-defaults' prioritizes the 'basic'
completion style.

For example, in the 'buffer' category, the default value has the
styles list '(basic substring)'.  This means that if a pattern matches
accoring to the 'basic' style, 'substring' will not be tried.  And
neither will 'completion-styles' which in Fido mode's case happens to
be 'flex'.

The solution in this commit is to craft a value for completion
category defaults that is just like the default one, but prioritizes
'flex' completion for every category.

* lisp/icomplete.el (icomplete--fido-ccd): New helper.
(icomplete--fido-mode-setup): Use it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To understand the regression consider this recipe where the 'fo'
pattern is typed by the user in the last step.

   emacs -Q
   C-x b foo RET
   C-x b afoo RET
   C-x b *scratch* RET
   M-x fido-mode RET
   C-x b fo

This used to offer both 'foo' and 'afoo' as candidates but now only
offered 'foo'.  This is because the pattern 'fo' matches 'foo', but
not 'afoo' with 'basic' completion style.

Fido mode, however, prioritizes 'flex' completion style, and that is
not happening here as it used to.

This was introduced in this commit

     commit bf81df86e52fdc995bec8d9646f84d114cb896d1
     Author: João Távora &lt;joaotavora@gmail.com&gt;
     Date:   Wed Dec 7 10:43:59 2022 +0000

         Don't override completion-category-defaults in fido-mode

I took away the nil setting of 'completion-category-defaults; in Fido
mode's minibuffer. It seemed generally the correct thing to do, and
was done mainly because Eglot added its style preferences to that
variable instead of completion-category-overrides directly, which is a
nono.  So, to be able use the Fido UI with Eglot successfully,
'completion-category-defaults' should stay untouched.  Or so I
thought.

However, I failed to notice that, for most categories, the default
value of 'completion-category-defaults' prioritizes the 'basic'
completion style.

For example, in the 'buffer' category, the default value has the
styles list '(basic substring)'.  This means that if a pattern matches
accoring to the 'basic' style, 'substring' will not be tried.  And
neither will 'completion-styles' which in Fido mode's case happens to
be 'flex'.

The solution in this commit is to craft a value for completion
category defaults that is just like the default one, but prioritizes
'flex' completion for every category.

* lisp/icomplete.el (icomplete--fido-ccd): New helper.
(icomplete--fido-mode-setup): Use it.
</pre>
</div>
</content>
</entry>
<entry>
<title>* lisp/icomplete.el (icomplete-in-buffer): Make into a defcustom.</title>
<updated>2023-03-04T02:17:40+00:00</updated>
<author>
<name>Sean Whitton</name>
</author>
<published>2023-03-04T02:17:40+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=682fb19dc3215dde4b3b0330e5b513e7102c531f'/>
<id>682fb19dc3215dde4b3b0330e5b513e7102c531f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert inadvertent change to lisp/icomplete.el in previous commit</title>
<updated>2023-03-03T23:36:26+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2023-03-03T23:36:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b3e930d328e2e9a3da4bf5b6c109928532326c06'/>
<id>b3e930d328e2e9a3da4bf5b6c109928532326c06</id>
<content type='text'>
The change

   commit 3a651773d29afb48ac4229cd19e532bd57a4ee2d
   Author: João Távora &lt;joaotavora@gmail.com&gt;
   Date:   Fri Mar 3 13:13:35 2023 +0000

       Eglot: pay better attention to hints' paddingLeft/Right (bug#61924)

Inadvertently added a line to this file, which shouldn't (yet) bet
added.

* lisp/icomplete.el (icomplete--vertical-minibuffer-setup): Remove
truncate-lines.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The change

   commit 3a651773d29afb48ac4229cd19e532bd57a4ee2d
   Author: João Távora &lt;joaotavora@gmail.com&gt;
   Date:   Fri Mar 3 13:13:35 2023 +0000

       Eglot: pay better attention to hints' paddingLeft/Right (bug#61924)

Inadvertently added a line to this file, which shouldn't (yet) bet
added.

* lisp/icomplete.el (icomplete--vertical-minibuffer-setup): Remove
truncate-lines.
</pre>
</div>
</content>
</entry>
<entry>
<title>Eglot: pay better attention to hints' paddingLeft/Right (bug#61924)</title>
<updated>2023-03-03T13:14:34+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2023-03-03T13:13:35+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3a651773d29afb48ac4229cd19e532bd57a4ee2d'/>
<id>3a651773d29afb48ac4229cd19e532bd57a4ee2d</id>
<content type='text'>
* lisp/progmodes/eglot.el (eglot--update-hints-1): Consider
:json-false, which is a non-nil value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/progmodes/eglot.el (eglot--update-hints-1): Consider
:json-false, which is a non-nil value.
</pre>
</div>
</content>
</entry>
<entry>
<title>* lisp/icomplete.el (fido-mode): Enable in-buffer completion (bug#45763).</title>
<updated>2023-03-01T17:54:59+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2023-02-27T18:40:48+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=db50545e3e9cd51dd8e6ad93034dc48d45b705e2'/>
<id>db50545e3e9cd51dd8e6ad93034dc48d45b705e2</id>
<content type='text'>
Backport:
(cherry picked from commit b5c13032538377b0037c745715613693a1580f81)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport:
(cherry picked from commit b5c13032538377b0037c745715613693a1580f81)
</pre>
</div>
</content>
</entry>
<entry>
<title>* lisp/icomplete.el: Fix in-buffer completion.</title>
<updated>2023-03-01T17:52:35+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2023-02-27T18:32:53+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ef72e99e867e76135644de6ba29c8d423c5a00ae'/>
<id>ef72e99e867e76135644de6ba29c8d423c5a00ae</id>
<content type='text'>
(icomplete-force-complete-and-exit, icomplete-force-complete): Use
'icomplete--field-beg/end' when not in the minibuffer to not erase
the current buffer.  Also disable 'completion-in-region-mode' instead
of calling 'exit-minibuffer' (bug#45764, bug#51575, bug#61479).

Backport:
(cherry picked from commit a7a984c0ebebb891e2052d8416544f0bd7002007)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(icomplete-force-complete-and-exit, icomplete-force-complete): Use
'icomplete--field-beg/end' when not in the minibuffer to not erase
the current buffer.  Also disable 'completion-in-region-mode' instead
of calling 'exit-minibuffer' (bug#45764, bug#51575, bug#61479).

Backport:
(cherry picked from commit a7a984c0ebebb891e2052d8416544f0bd7002007)
</pre>
</div>
</content>
</entry>
<entry>
<title>* lisp/icomplete.el (fido-mode): Enable in-buffer completion (bug#45763).</title>
<updated>2023-02-27T18:40:48+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2023-02-27T18:40:48+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b5c13032538377b0037c745715613693a1580f81'/>
<id>b5c13032538377b0037c745715613693a1580f81</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>* lisp/icomplete.el: Fix in-buffer completion.</title>
<updated>2023-02-27T18:32:53+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2023-02-27T18:32:53+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a7a984c0ebebb891e2052d8416544f0bd7002007'/>
<id>a7a984c0ebebb891e2052d8416544f0bd7002007</id>
<content type='text'>
(icomplete-force-complete-and-exit, icomplete-force-complete): Use
'icomplete--field-beg/end' when not in the minibuffer to not erase
the current buffer.  Also disable 'completion-in-region-mode' instead
of calling 'exit-minibuffer' (bug#45764, bug#51575, bug#61479).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(icomplete-force-complete-and-exit, icomplete-force-complete): Use
'icomplete--field-beg/end' when not in the minibuffer to not erase
the current buffer.  Also disable 'completion-in-region-mode' instead
of calling 'exit-minibuffer' (bug#45764, bug#51575, bug#61479).
</pre>
</div>
</content>
</entry>
</feed>
