<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/doc/misc, branch scratch/cl-types</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>cl-types: The big renaming to "derived types"</title>
<updated>2025-05-07T17:24:07+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2025-05-07T17:24:07+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b13044dae3db9c449a93f52fecfd848a3e7dd67d'/>
<id>b13044dae3db9c449a93f52fecfd848a3e7dd67d</id>
<content type='text'>
`cl-defstruct` also defines a type and is also in CL, so
"cl-type" is not precise enough to talk about those types
defined with `cl-deftype`.  Use the term "derived type" to be
more clear, as is done in the HyperSpec.

* doc/misc/cl.texi (Derived types): Move `cl-deftype` to this
new subsection.  Document the use of derived types as method specializers.

* lisp/emacs-lisp/cl-extra.el (cl--types-of-memo): Rename from
`cl--type-unique`.
(cl--derived-type-dispatch-list): Rename from `cl--type-dispatch-list`.
(cl--derived-type-generalizer): Rename from `cl--type-generalizer`.
(cl--derived-type-generalizers): Rename from `cl--type-generalizers`.

* lisp/emacs-lisp/cl-lib.el (cl-generic-generalizers) &lt;derived-types&gt;:
Rename from &lt;cl-types-of&gt;.  Catch but don't hide errors when a derived
type cannot be used as an atomic type specifier.

* lisp/emacs-lisp/cl-preloaded.el (cl--derived-type-list): Rename from
`cl--type-list`.
(cl-derived-type-class): Rename from `cl-type-class`.
(cl--derived-type-class-make): Rename from `cl--type-class-make`.
(cl--define-derived-type): Rename from `cl--type-deftype`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`cl-defstruct` also defines a type and is also in CL, so
"cl-type" is not precise enough to talk about those types
defined with `cl-deftype`.  Use the term "derived type" to be
more clear, as is done in the HyperSpec.

* doc/misc/cl.texi (Derived types): Move `cl-deftype` to this
new subsection.  Document the use of derived types as method specializers.

* lisp/emacs-lisp/cl-extra.el (cl--types-of-memo): Rename from
`cl--type-unique`.
(cl--derived-type-dispatch-list): Rename from `cl--type-dispatch-list`.
(cl--derived-type-generalizer): Rename from `cl--type-generalizer`.
(cl--derived-type-generalizers): Rename from `cl--type-generalizers`.

* lisp/emacs-lisp/cl-lib.el (cl-generic-generalizers) &lt;derived-types&gt;:
Rename from &lt;cl-types-of&gt;.  Catch but don't hide errors when a derived
type cannot be used as an atomic type specifier.

* lisp/emacs-lisp/cl-preloaded.el (cl--derived-type-list): Rename from
`cl--type-list`.
(cl-derived-type-class): Rename from `cl-type-class`.
(cl--derived-type-class-make): Rename from `cl--type-class-make`.
(cl--define-derived-type): Rename from `cl--type-deftype`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix ruby lint output regexps</title>
<updated>2025-04-28T00:05:41+00:00</updated>
<author>
<name>Tim Landscheidt</name>
</author>
<published>2025-04-28T00:05:22+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4765a3b3f2b83e6a2ba4e63f78bec16dc8ca737f'/>
<id>4765a3b3f2b83e6a2ba4e63f78bec16dc8ca737f</id>
<content type='text'>
* doc/misc/flymake.texi (An annotated example backend):
Fix regexp.

* lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
(ruby-flymake-rubocop): Fix regexp
(https://lists.gnu.org/archive/html/emacs-devel/2025-04/msg00851.html).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/flymake.texi (An annotated example backend):
Fix regexp.

* lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
(ruby-flymake-rubocop): Fix regexp
(https://lists.gnu.org/archive/html/emacs-devel/2025-04/msg00851.html).
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from savannah/emacs-30</title>
<updated>2025-04-27T13:09:29+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-04-27T13:09:29+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d87cde317770b31e594f33b7e216de5646214aee'/>
<id>d87cde317770b31e594f33b7e216de5646214aee</id>
<content type='text'>
b5967dda32d ; * doc/misc/ert.texi (Introduction): Be more Lisp-specific.
be4819bd578 Include additional version metadata during Windows install
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
b5967dda32d ; * doc/misc/ert.texi (Introduction): Be more Lisp-specific.
be4819bd578 Include additional version metadata during Windows install
</pre>
</div>
</content>
</entry>
<entry>
<title>Flymake: Experimental 'fancy' flymake-show-diagnostics-at-end-of-line</title>
<updated>2025-04-27T12:03:19+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2025-04-27T12:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0262e3e158e35770f864d3131baf8f1793a20e58'/>
<id>0262e3e158e35770f864d3131baf8f1793a20e58</id>
<content type='text'>
* doc/misc/flymake.texi (Customizable variables): Describe new
flymake-show-diagnostics-at-end-of-line.

* etc/NEWS: Mention 'flymake-show-diagnostics-at-end-of-line'.

* lisp/progmodes/flymake.el
(flymake-show-diagnostics-at-end-of-line): Update docstring.

* lisp/progmodes/flymake.el (flymake--eol-overlay-summary):
Rework.  Move to separate section.
(flymake--update-eol-overlays): Rework.  Use 'display'.  Move to
separate section.
(flymake--eol-draw-fancy-1, flymake--eol-draw-fancy): New helpers.
(flymake-end-of-line-diagnostics-face): Remove box.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/flymake.texi (Customizable variables): Describe new
flymake-show-diagnostics-at-end-of-line.

* etc/NEWS: Mention 'flymake-show-diagnostics-at-end-of-line'.

* lisp/progmodes/flymake.el
(flymake-show-diagnostics-at-end-of-line): Update docstring.

* lisp/progmodes/flymake.el (flymake--eol-overlay-summary):
Rework.  Move to separate section.
(flymake--update-eol-overlays): Rework.  Use 'display'.  Move to
separate section.
(flymake--eol-draw-fancy-1, flymake--eol-draw-fancy): New helpers.
(flymake-end-of-line-diagnostics-face): Remove box.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix use-package :custom-face to set face-defface-spec (bug#77928)</title>
<updated>2025-04-27T07:48:55+00:00</updated>
<author>
<name>Michael Shields</name>
</author>
<published>2025-04-19T19:58:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ebcde0f90f67852d485a36941b0661cfd1b892eb'/>
<id>ebcde0f90f67852d485a36941b0661cfd1b892eb</id>
<content type='text'>
By default, `face-set-spec' sets the override face spec, so face
attributes are combined with defaults rather than replacing them.
This was a behavior change that was an apparently unintended
consequence of commit 6b344a9.

Also set the `face-modified' property, which causes Customize to
flag the face as changed outside Customize.

* doc/misc/use-package.texi (Faces): Document the behavior.
* lisp/use-package/use-package-core.el (use-package-handler/:custom-face):
(use-package): Improve docstring to reflect implementation.
* test/lisp/use-package/use-package-tests.el
(use-package-test/:custom-face-1): (use-package-test/:custom-face-2):
(use-package-test/:custom-face-3): (use-package-test/:custom-face-4):
Add tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By default, `face-set-spec' sets the override face spec, so face
attributes are combined with defaults rather than replacing them.
This was a behavior change that was an apparently unintended
consequence of commit 6b344a9.

Also set the `face-modified' property, which causes Customize to
flag the face as changed outside Customize.

* doc/misc/use-package.texi (Faces): Document the behavior.
* lisp/use-package/use-package-core.el (use-package-handler/:custom-face):
(use-package): Improve docstring to reflect implementation.
* test/lisp/use-package/use-package-tests.el
(use-package-test/:custom-face-1): (use-package-test/:custom-face-2):
(use-package-test/:custom-face-3): (use-package-test/:custom-face-4):
Add tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * doc/misc/ert.texi (Introduction): Be more Lisp-specific.</title>
<updated>2025-04-27T03:59:17+00:00</updated>
<author>
<name>Sean Whitton</name>
</author>
<published>2025-04-27T03:59:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b5967dda32dd9091389e30d8aaa46bdf8319d3e8'/>
<id>b5967dda32dd9091389e30d8aaa46bdf8319d3e8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-30</title>
<updated>2025-04-26T14:57:33+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2025-04-26T14:57:33+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=86211172e31f50b04ddfd74fc640cff9adc79025'/>
<id>86211172e31f50b04ddfd74fc640cff9adc79025</id>
<content type='text'>
1f520db97bd * doc/emacs/files.texi (Time Stamp Customization): Typo.
d824b66c242 ; * doc/emacs/search.texi (Isearch Yank): Improve flow.
62b284f9153 ; * etc/DEBUG: Say that debugging code compiled w/ -Og ca...
49ea1f64c77 ; Improve documentation of 'modifier-bar-mode'
a975232c0fd ; * doc/emacs/programs.texi (Matching): Fix wording (bug#...
29142dab316 ; * doc/misc/efaq-w32.texi (MinGW-w64): Fix punctuation (...
4cd4a801d86 ; * java/res/README: Note origin of emacs_wrench.png.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1f520db97bd * doc/emacs/files.texi (Time Stamp Customization): Typo.
d824b66c242 ; * doc/emacs/search.texi (Isearch Yank): Improve flow.
62b284f9153 ; * etc/DEBUG: Say that debugging code compiled w/ -Og ca...
49ea1f64c77 ; Improve documentation of 'modifier-bar-mode'
a975232c0fd ; * doc/emacs/programs.texi (Matching): Fix wording (bug#...
29142dab316 ; * doc/misc/efaq-w32.texi (MinGW-w64): Fix punctuation (...
4cd4a801d86 ; * java/res/README: Note origin of emacs_wrench.png.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * doc/misc/efaq-w32.texi (MinGW-w64): Fix punctuation (bug#78005).</title>
<updated>2025-04-23T13:18:26+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2025-04-23T13:18:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=29142dab3169b650c87a08b1313757a899f321cc'/>
<id>29142dab3169b650c87a08b1313757a899f321cc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Flymake: rework, simplify and address problems of recent change (bug#75841)</title>
<updated>2025-04-20T22:20:33+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2025-04-20T12:29:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3001d50d9ae6e41b3f1d8e576b13a85198f60da9'/>
<id>3001d50d9ae6e41b3f1d8e576b13a85198f60da9</id>
<content type='text'>
Various problems were addressed:

- Unbreak Flymake for Emacs 26.3.  Due to use of some Elisp constructs,
  the change completely broke compatibility to Emacs &lt; 29.1.  That
  violated Flymake's status as a :core package as highlighted in its
  description, which has implications for packages depending on it (such
  as Eglot);

- No new two commands are needed (they weren't documented in the manual
  anyway).  The new functionality was integrated in the existing
  flymake-show-buffer-diagnostics;

- Some helper functions aren't needed at all (they weren't marked
  internal anyway);

- The new hook called only when a particular function is called
  non-interactively in a particular way is not useful.  A case for the
  usefulness (if any) of this hook must be made separately.  Such a hook
  should be documented in the manual;

- Added missing recentering after revealing diagnostic in buffer;

- The menu entry "List all problems" was never intended to direct the
  user the user to any particular problem at point;

- The useful new functionality is called out in the manual and NEWS.

* lisp/progmodes/flymake.el (flymake--indicator-overlay-spec):
Use flymake-show-buffer-diagnostics-at-mouse.
(flymake-mode-map): Recover old definition.
(flymake-after-show-buffer-diagnostics-hook): Remove hook.
(flymake-show-buffer-diagnostics): Rework.
(flymake-show-diagnostic, flymake-goto-diagnostic): Rework
docstring.
(flymake-show-buffer-diagnostics-at-event-position)
(flymake-show-buffer-diagnostics-at-event-line): Delete undocumented commands.
(flymake-diagnostics-at-mouse-event)
(flymake-pulse-momentary-highlight-region): Delete non-helpful
helper.

* doc/misc/flymake.texi (listing diagnostics): Mention new
  functionality.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Various problems were addressed:

- Unbreak Flymake for Emacs 26.3.  Due to use of some Elisp constructs,
  the change completely broke compatibility to Emacs &lt; 29.1.  That
  violated Flymake's status as a :core package as highlighted in its
  description, which has implications for packages depending on it (such
  as Eglot);

- No new two commands are needed (they weren't documented in the manual
  anyway).  The new functionality was integrated in the existing
  flymake-show-buffer-diagnostics;

- Some helper functions aren't needed at all (they weren't marked
  internal anyway);

- The new hook called only when a particular function is called
  non-interactively in a particular way is not useful.  A case for the
  usefulness (if any) of this hook must be made separately.  Such a hook
  should be documented in the manual;

- Added missing recentering after revealing diagnostic in buffer;

- The menu entry "List all problems" was never intended to direct the
  user the user to any particular problem at point;

- The useful new functionality is called out in the manual and NEWS.

* lisp/progmodes/flymake.el (flymake--indicator-overlay-spec):
Use flymake-show-buffer-diagnostics-at-mouse.
(flymake-mode-map): Recover old definition.
(flymake-after-show-buffer-diagnostics-hook): Remove hook.
(flymake-show-buffer-diagnostics): Rework.
(flymake-show-diagnostic, flymake-goto-diagnostic): Rework
docstring.
(flymake-show-buffer-diagnostics-at-event-position)
(flymake-show-buffer-diagnostics-at-event-line): Delete undocumented commands.
(flymake-diagnostics-at-mouse-event)
(flymake-pulse-momentary-highlight-region): Delete non-helpful
helper.

* doc/misc/flymake.texi (listing diagnostics): Mention new
  functionality.
</pre>
</div>
</content>
</entry>
<entry>
<title>Flymake: new flymake-diagnostic-format-alist (bug#77439, bug#77480)</title>
<updated>2025-04-20T22:20:33+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2025-04-18T18:43:45+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ed1311a62a4e02817e548b0873ab21114047c076'/>
<id>ed1311a62a4e02817e548b0873ab21114047c076</id>
<content type='text'>
* lisp/progmodes/flymake.el (flymake-diagnostic-text): Overhaul.
(flymake-diagnostic-format-alist): New defcustom.
(flymake--diagnostic-format): New util.
(flymake--eol-overlay-summary)
(flymake--highlight-line)
(flymake-eldoc-function): Use flymake--diagnostic-format.
(flymake--tabulated-diagnostic-origin): New helper.
(flymake--tabulated-entries-1): Use flymake--tabulated-diagnostic-origin.
(flymake--diagnostics-base-tabulated-list-format): "Backend" -&gt; "Origin"

* doc/misc/flymake.texi (Customizable variable): Mention new variable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/progmodes/flymake.el (flymake-diagnostic-text): Overhaul.
(flymake-diagnostic-format-alist): New defcustom.
(flymake--diagnostic-format): New util.
(flymake--eol-overlay-summary)
(flymake--highlight-line)
(flymake-eldoc-function): Use flymake--diagnostic-format.
(flymake--tabulated-diagnostic-origin): New helper.
(flymake--tabulated-entries-1): Use flymake--tabulated-diagnostic-origin.
(flymake--diagnostics-base-tabulated-list-format): "Backend" -&gt; "Origin"

* doc/misc/flymake.texi (Customizable variable): Mention new variable.
</pre>
</div>
</content>
</entry>
</feed>
