<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/lisp/erc, branch feature/delsel-replace</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>Use seq-doseq for iterating over strings in ERC</title>
<updated>2026-01-11T13:25:03+00:00</updated>
<author>
<name>F. Jason Park</name>
</author>
<published>2025-10-31T05:58:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c84aea1c1b4fe868635ca6dbb1769ffbc3c927e0'/>
<id>c84aea1c1b4fe868635ca6dbb1769ffbc3c927e0</id>
<content type='text'>
* lisp/erc/erc-common.el (erc--doarray): Remove unused function.
* lisp/erc/erc.el (erc--channel-mode-types, erc--process-channel-modes)
(erc--parse-user-modes): Replace `erc--doarray' with `seq-doseq'.
* test/lisp/erc/erc-tests.el (erc--doarray): Remove test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/erc/erc-common.el (erc--doarray): Remove unused function.
* lisp/erc/erc.el (erc--channel-mode-types, erc--process-channel-modes)
(erc--parse-user-modes): Replace `erc--doarray' with `seq-doseq'.
* test/lisp/erc/erc-tests.el (erc--doarray): Remove test.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Add 2026 to copyright years.</title>
<updated>2026-01-01T12:54:34+00:00</updated>
<author>
<name>Sean Whitton</name>
</author>
<published>2026-01-01T12:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c31f6adc31d48076c63ad82b83b2970e1b0d7b9b'/>
<id>c31f6adc31d48076c63ad82b83b2970e1b0d7b9b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>December 2025 spelling fixes</title>
<updated>2025-12-26T18:22:12+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-12-26T18:20:45+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=481ad70d5cb5ef68a456152a6bab88e27f9bd319'/>
<id>481ad70d5cb5ef68a456152a6bab88e27f9bd319</id>
<content type='text'>
Some of the fixes are to continue to use American
rather than British spelling.
* doc/misc/modus-themes.org (my-modus-themes-engraved-faces):
Fix misspelled ‘:foreground’s.
* etc/themes/modus-themes.el (modus-themes-faces):
Fix misspelled ‘modus-themes-bold’.
* lisp/emacs-lisp/rx.el (rx--normalize-char-pattern):
Rename from rx--normalise-char-pattern.
(rx--optimize-or-args):	Rename from rx--optimise-or-args.
* lisp/frame.el (frame--special-parameters):
Fix misspelled "right-divider-width".
* lisp/net/tramp.el (tramp-fingerprint-prompt-regexp):
Use American spelling “centered”, to match current libfprintf.
* lisp/org/org-fold-core.el (org-fold-core--optimize-for-huge-buffers):
Rename from org-fold-core--optimise-for-huge-buffers.
(org-fold-core-update-optimization):
Rename from org-fold-core-update-optimisation,
leaving an alias behind.
(org-fold-core-remove-optimization):
Rename from org-fold-core-remove-optimisation,
leaving an alias behind.
* lisp/org/org.el (org-advertized-archive-subtree):
This alias is now obsolete.
* lisp/play/zone.el (zone-ignored-buffers):
Fix misspelling of ‘zone--buffer-encrypted-p’.
* lisp/progmodes/csharp-mode.el (csharp-ts-mode-faces):
Fix misspelling of ‘csharp’ group.
* lisp/vc/vc.el (vc-clonable-backends-custom-type):
Rename from vc-cloneable-backends-custom-type,
leaving an alias behind.
* test/lisp/emacs-lisp/bytecomp-tests.el:
(bytecomp-tests--warn-arity-non-compiled-callee):
Rename from bytecomp-tests--warn-arity-noncompiled-callee.
(bytecomp-test-defface-spec): Reword a deliberate misspelling
of “default” that is so common I don’t want it to pollute the
spelling dictionary.
* test/lisp/emacs-lisp/package-vc-tests.el:
(package-vc-tests-preserve-artifacts):
Rename from package-vc-tests-preserve-artifacts.
* test/lisp/eshell/em-prompt-tests.el:
(em-prompt-test/forward-backward-paragraph-1):
Reword a deliberate misspelling of “goodbye” that is so common I
don’t want it to pollute the spelling dictionary.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some of the fixes are to continue to use American
rather than British spelling.
* doc/misc/modus-themes.org (my-modus-themes-engraved-faces):
Fix misspelled ‘:foreground’s.
* etc/themes/modus-themes.el (modus-themes-faces):
Fix misspelled ‘modus-themes-bold’.
* lisp/emacs-lisp/rx.el (rx--normalize-char-pattern):
Rename from rx--normalise-char-pattern.
(rx--optimize-or-args):	Rename from rx--optimise-or-args.
* lisp/frame.el (frame--special-parameters):
Fix misspelled "right-divider-width".
* lisp/net/tramp.el (tramp-fingerprint-prompt-regexp):
Use American spelling “centered”, to match current libfprintf.
* lisp/org/org-fold-core.el (org-fold-core--optimize-for-huge-buffers):
Rename from org-fold-core--optimise-for-huge-buffers.
(org-fold-core-update-optimization):
Rename from org-fold-core-update-optimisation,
leaving an alias behind.
(org-fold-core-remove-optimization):
Rename from org-fold-core-remove-optimisation,
leaving an alias behind.
* lisp/org/org.el (org-advertized-archive-subtree):
This alias is now obsolete.
* lisp/play/zone.el (zone-ignored-buffers):
Fix misspelling of ‘zone--buffer-encrypted-p’.
* lisp/progmodes/csharp-mode.el (csharp-ts-mode-faces):
Fix misspelling of ‘csharp’ group.
* lisp/vc/vc.el (vc-clonable-backends-custom-type):
Rename from vc-cloneable-backends-custom-type,
leaving an alias behind.
* test/lisp/emacs-lisp/bytecomp-tests.el:
(bytecomp-tests--warn-arity-non-compiled-callee):
Rename from bytecomp-tests--warn-arity-noncompiled-callee.
(bytecomp-test-defface-spec): Reword a deliberate misspelling
of “default” that is so common I don’t want it to pollute the
spelling dictionary.
* test/lisp/emacs-lisp/package-vc-tests.el:
(package-vc-tests-preserve-artifacts):
Rename from package-vc-tests-preserve-artifacts.
* test/lisp/eshell/em-prompt-tests.el:
(em-prompt-test/forward-backward-paragraph-1):
Reword a deliberate misspelling of “goodbye” that is so common I
don’t want it to pollute the spelling dictionary.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix regression involving erc-channel-user accessors</title>
<updated>2025-10-28T02:29:44+00:00</updated>
<author>
<name>F. Jason Park</name>
</author>
<published>2025-10-26T13:51:59+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=44cdb65cf3d98f9d6706419a5cf866ff2df79019'/>
<id>44cdb65cf3d98f9d6706419a5cf866ff2df79019</id>
<content type='text'>
* etc/ERC-NEWS: New section for ERC 5.6.2 and new entry mentioning
slight change in `erc-channel-user' accessor behavior.
* lisp/erc/erc-common.el (erc-channel-user): Change type for status slot
to natnum from integer.
* lisp/erc/erc.el (erc-channel-user-signal-if-status-unknown): New
variable.
(erc--define-channel-user-status-compat-getter): Only use fallback in
Non-ERC buffers because "obviously" a status flag is unusable if the
server doesn't advertise it or, rather, advertises nonsupport via its
absence.  This regression was introduced in ERC 5.6.
(erc-channel-begin-receiving-names): Sharp-quote function name.
(erc--get-prefix-flag): Mention in doc that a return value of nil can
also mean the status flag is not supported by the server.
* test/lisp/erc/erc-tests.el (erc--parsed-prefix): Show that it returns
nil in a non-ERC buffer.
(erc-tests--make-combinations)
(erc-tests--with-channel-user-status-accessors): New functions.
(erc-channel-user/status-accessors/solo/default)
(erc-channel-user/status-accessors/solo/ov)
(erc-channel-user/status-accessors/multi/default)
(erc-channel-user/status-accessors/multi/ov): New tests.
(Bug#67220)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* etc/ERC-NEWS: New section for ERC 5.6.2 and new entry mentioning
slight change in `erc-channel-user' accessor behavior.
* lisp/erc/erc-common.el (erc-channel-user): Change type for status slot
to natnum from integer.
* lisp/erc/erc.el (erc-channel-user-signal-if-status-unknown): New
variable.
(erc--define-channel-user-status-compat-getter): Only use fallback in
Non-ERC buffers because "obviously" a status flag is unusable if the
server doesn't advertise it or, rather, advertises nonsupport via its
absence.  This regression was introduced in ERC 5.6.
(erc-channel-begin-receiving-names): Sharp-quote function name.
(erc--get-prefix-flag): Mention in doc that a return value of nil can
also mean the status flag is not supported by the server.
* test/lisp/erc/erc-tests.el (erc--parsed-prefix): Show that it returns
nil in a non-ERC buffer.
(erc-tests--make-combinations)
(erc-tests--with-channel-user-status-accessors): New functions.
(erc-channel-user/status-accessors/solo/default)
(erc-channel-user/status-accessors/solo/ov)
(erc-channel-user/status-accessors/multi/default)
(erc-channel-user/status-accessors/multi/ov): New tests.
(Bug#67220)
</pre>
</div>
</content>
</entry>
<entry>
<title>Change ERC version to 5.6.2-git</title>
<updated>2025-10-28T02:28:43+00:00</updated>
<author>
<name>F. Jason Park</name>
</author>
<published>2025-10-26T17:59:04+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=2fa768dd4b37319a45761e7c0f02347f32fe8cc6'/>
<id>2fa768dd4b37319a45761e7c0f02347f32fe8cc6</id>
<content type='text'>
* doc/misc/erc.texi: Change ERCVER to 5.6.2.
* lisp/erc/erc.el (erc-version): Change working version to 5.6.2-git.
Do the same for the package Version header and the
`customize-package-emacs-version-alist' mapping.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/erc.texi: Change ERCVER to 5.6.2.
* lisp/erc/erc.el (erc-version): Change working version to 5.6.2-git.
Do the same for the package Version header and the
`customize-package-emacs-version-alist' mapping.
</pre>
</div>
</content>
</entry>
<entry>
<title>Release ERC 5.6.1</title>
<updated>2025-10-22T01:21:46+00:00</updated>
<author>
<name>F. Jason Park</name>
</author>
<published>2025-10-21T03:47:41+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1b5fef63b483fba9908543da39365bd522ad6e4a'/>
<id>1b5fef63b483fba9908543da39365bd522ad6e4a</id>
<content type='text'>
* lisp/erc/erc.el: Change "Version" header from 5.6.1-git to 5.6.1.  A
`customize-package-emacs-version-alist' mapping to Emacs 31.1 was
already added at some point during the course of development for this
release.  The ERCVER variable in doc/misc/erc.texi was updated when
moving to the "-git" suffixed version.
(erc-version): Change version from 5.6.1-git to 5.6.1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/erc/erc.el: Change "Version" header from 5.6.1-git to 5.6.1.  A
`customize-package-emacs-version-alist' mapping to Emacs 31.1 was
already added at some point during the course of development for this
release.  The ERCVER variable in doc/misc/erc.texi was updated when
moving to the "-git" suffixed version.
(erc-version): Change version from 5.6.1-git to 5.6.1.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make function erc-scrolltobottom-mode idempotent</title>
<updated>2025-09-05T00:12:25+00:00</updated>
<author>
<name>F. Jason Park</name>
</author>
<published>2025-09-04T00:48:21+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=fca0dbe0ab2930e39aaec304df3e6bb7cad17995'/>
<id>fca0dbe0ab2930e39aaec304df3e6bb7cad17995</id>
<content type='text'>
* lisp/erc/erc-goodies.el (erc-scrolltobottom-mode)
(erc-scrolltobottom-enable): Always remove hook functions whose
membership hinges on the value of `erc-scrolltobottom-all'.  In ERC 5.6,
an init file's `setopt' form containing an `erc-modules' assignment
before an `erc-scrolltobottom-all' one would result in conflicting sets
of hook members come `erc-open'.  Having such option-dependent branching
in module setup, while difficult to maintain, is a long held ERC
practice, as seen in functions like `erc-nickserv-identify-mode'.
Making all new modules "local" may be the most manageable solution
because existing global modules can't be made to require prior
deactivation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/erc/erc-goodies.el (erc-scrolltobottom-mode)
(erc-scrolltobottom-enable): Always remove hook functions whose
membership hinges on the value of `erc-scrolltobottom-all'.  In ERC 5.6,
an init file's `setopt' form containing an `erc-modules' assignment
before an `erc-scrolltobottom-all' one would result in conflicting sets
of hook members come `erc-open'.  Having such option-dependent branching
in module setup, while difficult to maintain, is a long held ERC
practice, as seen in functions like `erc-nickserv-identify-mode'.
Making all new modules "local" may be the most manageable solution
because existing global modules can't be made to require prior
deactivation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't touch window configuration in erc-fill prompt hook</title>
<updated>2025-09-05T00:10:32+00:00</updated>
<author>
<name>F. Jason Park</name>
</author>
<published>2025-08-31T23:38:30+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b3abbab63254fd18e1c7bad56d3401b49dd8604c'/>
<id>b3abbab63254fd18e1c7bad56d3401b49dd8604c</id>
<content type='text'>
* lisp/erc/erc-fill.el (erc-fill--wrap-indent-prompt): While computing
the prompt indentation's text size, don't bother saving and restoring
the window configuration because unwanted scrolls are now believed to be
unlikely because of other changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/erc/erc-fill.el (erc-fill--wrap-indent-prompt): While computing
the prompt indentation's text size, don't bother saving and restoring
the window configuration because unwanted scrolls are now believed to be
unlikely because of other changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove scrolltobottom dependency from erc-fill module</title>
<updated>2025-08-26T04:17:48+00:00</updated>
<author>
<name>F. Jason Park</name>
</author>
<published>2025-08-25T02:53:27+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d98e1a83753ecc988fe9109308aea05e86534734'/>
<id>d98e1a83753ecc988fe9109308aea05e86534734</id>
<content type='text'>
This mostly reverts 9668b4f97c2fc6bfff83258861d455a6d02516a8
"Make erc-fill-wrap depend on scrolltobottom".

* etc/ERC-NEWS: Mention removal of formal dependency.
* lisp/erc/erc-fill.el (erc-fill--wrap-scrolltobottom-exempt-p): Remove
unused variable.
(erc-fill--wrap-ensure-dependencies): Remove unused dependency check.
(erc-fill-wrap-mode): Remove scrolltobottom dependency from doc string.
* test/lisp/erc/erc-fill-tests.el (erc-fill-tests--wrap-populate):
Remove unused binding from var list.
* test/lisp/erc/resources/erc-scenarios-common.el
(erc-scenarios-common--make-bindings): Remove unused binding.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This mostly reverts 9668b4f97c2fc6bfff83258861d455a6d02516a8
"Make erc-fill-wrap depend on scrolltobottom".

* etc/ERC-NEWS: Mention removal of formal dependency.
* lisp/erc/erc-fill.el (erc-fill--wrap-scrolltobottom-exempt-p): Remove
unused variable.
(erc-fill--wrap-ensure-dependencies): Remove unused dependency check.
(erc-fill-wrap-mode): Remove scrolltobottom dependency from doc string.
* test/lisp/erc/erc-fill-tests.el (erc-fill-tests--wrap-populate):
Remove unused binding from var list.
* test/lisp/erc/resources/erc-scenarios-common.el
(erc-scenarios-common--make-bindings): Remove unused binding.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prefer window-text-pixel-size in erc-fill</title>
<updated>2025-08-26T04:15:29+00:00</updated>
<author>
<name>F. Jason Park</name>
</author>
<published>2025-08-25T02:27:47+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c711ba3c7bcab1b0900604425283fc018257abe0'/>
<id>c711ba3c7bcab1b0900604425283fc018257abe0</id>
<content type='text'>
* lisp/erc/erc-fill.el (erc-fill--wrap-measure): Using
`buffer-text-pixel-size' for measuring text size in the selected window
can end up triggering a scroll, which then requires imperfect countering
by the scrolltobottom module, especially with regard to the option
`erc-scrolltobottom-all'.  Thanks to Alcor for reporting and helping
with this bug, which was introduced along with fill-wrap in ERC 5.6.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/erc/erc-fill.el (erc-fill--wrap-measure): Using
`buffer-text-pixel-size' for measuring text size in the selected window
can end up triggering a scroll, which then requires imperfect countering
by the scrolltobottom module, especially with regard to the option
`erc-scrolltobottom-all'.  Thanks to Alcor for reporting and helping
with this bug, which was introduced along with fill-wrap in ERC 5.6.
</pre>
</div>
</content>
</entry>
</feed>
