* lisp/gnus/nnselect.el (nnselect-generate-run): New function that
replaces nnselect-run.
(nnselect-store-artlist): New function.
(nnselect-get-artlist): Update function.
(nnselect-request-group, nnselect-request-thread)
(nnselect-request-create-group, nnselect-request-group-scan): Use the
new functions.
* doc/misc/gnus.texi (Selection Groups): Document artlist storage and
retrieval.
The format of EUDC inline expansion results is formatted according to
the variable eudc-inline-expansion-format, which previously defaulted
to '("%s %s <%s>" firstname name email).
Since email address specifications need to comply with RFC 5322 in
order to be useful in messages, there was little headroom for users to
change this format anyway. Plus, if an EUDC back-end returned an empty
first and last name, the result was the email address in angle
brackets. Whilst this was standard with RFC 822, it is marked as
obsolete syntax by its successor RFC 5322. Also, the first and last
name part was never enclosed in double quotes, potentially producing
invalid address specifications, which may be rejected by a receiving
MTA.
This commit updates the variable eudc-inline-expansion-format, so that
it can, in addition to the current ("format" attributes) list, now
alternatively be set to nil, or a formatting function. In both cases
the resulting email address is formatted using the new function
eudc-rfc5322-make-address, whose results fully comply with RFC 5322.
If the value is nil (the new default value), eudc-rfc5322-make-address
will be called to produce any of the default formats
ADDRESS
FIRST <ADDRESS>
LAST <ADDRESS>
FIRST LAST <ADDRESS>
depending on whether a first and/or last name are returned by the
query, or not.
If the value is a formatting function, that will be called to allow
the user to supply content for the phrase and comment parts of the
address (cf. RFC 5322). Thus one can produce any of the formats:
ADDRESS
PHRASE <ADDRESS>
ADDRESS (COMMENT)
PHRASE <ADDRESS> (COMMENT)
This can for example be used to get "last, first <address>" instead of
the default "first last <address>".
In any case when using nil, or the formatting function, the phrase
part of the result will be enclosed in double quotes if needed, and
the comment part will be omitted if it contains characters not allowed
by RFC 5322.
When eudc-inline-expansion-format remains set to a list as previously,
the old behaviour is fully retained.
* doc/misc/tramp.texi (Home directories): New section.
(Top, Usage): Add it to the menue.
(Predefined connection information): Mention "~".
(Multi-hops, File name syntax): Fix typos.
* lisp/net/tramp.el (tramp-handle-expand-file-name): Check for
remote home directory. (Bug#53847)
* doc/misc/efaq.texi (File-name conventions) Mention
Info-directory-list instead.
* doc/misc/info.texi (Emacs Info Variables): Mention
Info--default-directory-list.
* lisp/info.el (Info-default-directory-list): Default to nil to
avoid statting directories on Emacs startup (bug#27933).
(Info--default-directory-list): Factored out into own function.
(Info-default-dirs): Append value of Info-default-directory-list
to the value returned from Info--default-directory-list.
* lisp/gnus/nnselect.el (nnselect-allow-ephemeral-expiry): Make
the first sentence of the doc string be a single line.
* doc/misc/gnus.texi (Creating Search Groups): Fix space between
sentences.
Articles in (persistent) groups from the gnus/nnselect backend will
now be run through the expiry process upon exit, like other persistent
groups. Expiry is not on by default for ephemeral nnselect groups but
may be turned on with nnselect-allow-ephemeral-expiry set to t.
* lisp/gnus/nnselect.el (nnselect-request-expire-articles): Make
article expiry work.
(nnselect-allow-ephemeral-expiry): New variable.
* doc/misc/gnus.texi (Creating Search Groups): Document
nnselect-allow-ephemeral-expiry.
Since '$var[hello 0]' doesn't make sense when 'var' is a string, the
previous restriction was unnecessary.
* lisp/eshell/esh-var.el (Commentary): Update documentation.
(eshell-apply-indices): Allow "plain" strings to split strings.
* test/lisp/eshell/esh-var-test.el
(esh-var-test/interp-var-string-split-indices)
(esh-var-test/quoted-interp-var-string-split-indices): Update tests.
* doc/misc/eshell.texi (Dollars expansion): Update documentation.
Previously, more-complex index expansions, like '$var[":" 0]' or
'$var[$(expr) 0]' failed to parse correctly.
* lisp/eshell/esh-var.el (Commentary): Clarify indexing and length
expansions.
(eshell-parse-indices): Expand docstring and support parsing inside
double-quotes.
(eshell-eval-indices): New function.
(eshell-parse-variable): Use it.
* test/lisp/eshell/esh-var-tests.el (eshell-test-value): New defvar.
(esh-var-test/interp-var-indices,
(esh-var-test/interp-var-split-indices)
(esh-var-test/interp-var-string-split-indices)
(esh-var-test/interp-var-regexp-split-indices)
(esh-var-test/interp-var-assoc, esh-var-test/interp-var-length-list)
(esh-var-test/interp-var-length-string)
(esh-var-test/interp-var-length-alist)
(esh-var-test/quoted-interp-var-indices)
(esh-var-test/quoted-interp-var-split-indices)
(esh-var-test/quoted-interp-var-string-split-indices)
(esh-var-test/quoted-interp-var-regexp-split-indices)
(esh-var-test/quoted-interp-var-assoc)
(esh-var-test/quoted-interp-var-length-list)
(esh-var-test/quoted-interp-var-length-string)
(esh-var-test/quoted-interp-var-length-alist): New tests.
* doc/misc/eshell.texi (Dollars Expansion): Expand and reword
documentation for indexing and length expansions.
* doc/misc/modus-themes.org (Enable and load)
(Differences between loading and enabling): Clarify wording.
(Customization Options): Update sample configuration.
(Option for completion framework aesthetics): Refactor
'modus-themes-completions' to accept an alist value instead of a
symbol.
(Override colors): Elaborate on the example.
(Toggle themes without reloading them): Document sample command that
uses 'enable-theme' instead of 'load-theme'.
(Acknowledgements): Update names of contributors to ideas.
* etc/themes/modus-themes.el (modus-themes-operandi-colors)
(modus-themes-vivendi-colors): Tweak the palette's completion-related
background colors.
(modus-themes-completion-standard-first-match)
(modus-themes-completion-standard-selected)
(modus-themes-completion-extra-selected): Deprecate faces and replace
them with 'modus-themes-completion-selection'.
(modus-themes-completion-key-binding): Rename it to
'modus-themes-key-binding'.
(modus-themes-mode-line): Remove faulty default value.
(modus-themes-completions): Refactor it to accept an alist value.
(modus-themes-box-buttons): Fix typo.
(modus-themes--standard-completions, modus-themes--extra-completions)
(modus-themes--extra-completions-line): Remove outdated private
functions.
(modus-themes--completion): Add new private function.
(modus-themes-faces): Update faces.
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-vivendi-theme.el: Bump file's version.
For a detailed change log, read:
<https://protesilaos.com/codelog/2022-02-23-modus-themes-2-2-0/>.
c8442df ; Separate command and concept index in Transient manual
8aa052c ; Fix Transient manual
5b7752a Fix problem with popd for in remote shell buffers
38f6ea1 Import texi source file for transient manual
df34929 Update to Org 9.5.2-15-gc5ceb6
* doc/misc/modus-themes.org (Customization Options): Document new user
options and relevant changes.
(Option for links, Option for box buttons)
(Option for completion framework aesthetics, Option for mail citations)
(Option for intense markup in Org and others)
(Option for diff buffer looks, Option for org-mode block styles)
(Option for Org agenda constructs)
(Option for the headings' overall style): Update user options.
(More accurate colors in terminal emulators): Add section on how to
improve the accuracy of color reproduction in terminal emulators.
(Case-by-case face specs using the themes' palette)
(Face specs at scale using the themes' palette, Override colors)
(Override colors through blending, Custom Org user faces): Improve
wording.
(Custom Org emphasis faces): Add section about bespoke faces for Org
emphasis markers.
(Backdrop for pdf-tools): Improve sample code.
(Ediff without diff color-coding): Add section about user-level
changes to the style of Ediff buffers.
(Full support for packages or face groups): Update lists of supported
packages.
(Indirectly covered packages): Update list of indirectly supported
packages.
(Note on underlines in compilation buffers): Clarify wording.
(Note on EWW and Elfeed fonts): Be more specific about 'shr' faces.
(Are these color schemes?): Answer frequently asked question.
(Acknowledgements): Update acknowledgements' section.
* etc/themes/modus-themes.el (modus-themes-operandi-colors)
(modus-themes-vivendi-colors): Update color palettes.
(modus-themes-subtle-red, modus-themes-subtle-green)
(modus-themes-subtle-yellow, modus-themes-subtle-blue)
(modus-themes-subtle-magenta, modus-themes-subtle-cyan)
(modus-themes-subtle-neutral, modus-themes-intense-red)
(modus-themes-intense-green, modus-themes-intense-yellow)
(modus-themes-intense-blue, modus-themes-intense-magenta)
(modus-themes-intense-cyan, modus-themes-intense-neutral)
(modus-themes-refine-red, modus-themes-refine-green)
(modus-themes-refine-yellow, modus-themes-refine-blue)
(modus-themes-refine-magenta, modus-themes-refine-cyan)
(modus-themes-nuanced-red, modus-themes-nuanced-green)
(modus-themes-nuanced-yellow, modus-themes-nuanced-blue)
(modus-themes-nuanced-magenta, modus-themes-nuanced-cyan)
(modus-themes-special-cold, modus-themes-special-mild)
(modus-themes-special-warm, modus-themes-special-calm)
(modus-themes-diff-added, modus-themes-diff-changed)
(modus-themes-diff-removed, modus-themes-diff-refine-added)
(modus-themes-diff-refine-changed, modus-themes-diff-refine-removed)
(modus-themes-diff-focus-added, modus-themes-diff-focus-changed)
(modus-themes-diff-focus-removed, modus-themes-diff-heading)
(modus-themes-heading-1, modus-themes-heading-2, modus-themes-heading-3)
(modus-themes-heading-4, modus-themes-heading-5, modus-themes-heading-6)
(modus-themes-heading-7, modus-themes-heading-8, modus-themes-hl-line)
(modus-themes-variable-pitch, modus-themes-lang-note)
(modus-themes-lang-warning, modus-themes-lang-error)
(modus-themes-reset-soft, modus-themes-reset-hard): Fix typo in
':group'.
(modus-themes-markup-code): Add face.
(modus-themes--headings-choice, modus-themes-headings)
(modus-themes-org-agenda): Update documentation about typographic
weights.
(modus-themes-org-blocks, modus-themes-completions): Update doc string
and add new stylistic variant.
(modus-themes-intense-markup): Deprecate old user option. Replace it
with 'modus-themes-markup'.
(modus-themes-mail-citations): Update doc string and add another
stylistic variant.
(modus-themes-box-buttons): Add new user option.
(modus-themes--slant): Tweak how slant is applied.
(modus-themes--markup, modus-themes--prompt, modus-themes--paren)
(modus-themes--syntax-foreground, modus-themes--syntax-extra)
(modus-themes--syntax-string, modus-themes--syntax-comment)
(modus-themes--heading, modus-themes--agenda-structure)
(modus-themes--agenda-habit, modus-themes--org-block-delim)
(modus-themes--mode-line-attrs, modus-themes--standard-completions)
(modus-themes--link, modus-themes--link-color, modus-themes--region)
(modus-themes--hl-line, modus-themes--mail-cite): Tweak private
functions.
(modus-themes--button): Adjust private function.
(modus-themes--heading-weights): Deprecate it. Replace by
'modus-themes-weights'.
(modus-themes-faces): Update faces.
* etc/themes/modus-vivendi-theme.el
* etc/themes/modus-operandi-theme.el: Bump version number.
For a detailed change log, read:
<https://protesilaos.com/codelog/2022-02-17-modus-themes-2-1-0/>.
* doc/misc/transient.texi (all nodes): Replace ".." with Texinfo
style ``..'' quoting or by @dfn{..} or by other appropriate
markup, like @samp{..}. Add indexing. Fix punctuation. Fix
markup of keyboard commands.
* doc/misc/tramp.texi (Remote processes): Add also tramp-sshfs.el.
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Error-out for multi-byte `default-directory'.
* lisp/net/tramp.el (tramp-tolerate-tilde): Move it up.
(tramp-handle-abbreviate-file-name): Use it.
(tramp-read-passwd): Show literal passphrase prompt.
* doc/misc/gnus.texi: The options `gnus-use-toolbar',
`gnus-toolbar-thickness', and `gnus-summary-mail-toolbar' no longer
exist. Other options in this section have been renamed from "toolbar"
to "tool-bar".
* lisp/vc/ediff-diff.el (ediff-diff-options):
* doc/misc/ediff.texi (Patch and Diff Programs): Note that setting
this variable directly is probably the wrong thing to do (bug#6512).
* doc/misc/tramp.texi: Use @trampfn{} function where possible.
(Top, Configuration): Insert section 'Ssh setup' and remove
section 'Windows setup hints' in menu.
(Default Method): Mention tramp-use-scp-direct-remote-copying.
(Ssh setup): New node.
(Windows setup hints): Move it to that new node.
(Frequently Asked Questions): Move items about ssh config to that node.
* etc/NEWS: Add Tramp's direct remote copying feature. Fix typos.
* lisp/net/tramp-sh.el (tramp-use-scp-direct-remote-copying):
New defcustom.
(tramp-methods) <scp, scpx>: Add "%y" marker.
(tramp-scp-direct-remote-copying): New defun.
(tramp-do-copy-or-rename-file-out-of-band): Extend for direct
remote copying.
* lisp/net/tramp.el (tramp-methods): Extend docstring.
(tramp-password-prompt-not-unique): New defvar.
(tramp-read-passwd): Adapt docstring.
(tramp-read-passwd-without-cache): New defun.
(tramp-action-password): Call it.
* doc/misc/ert.texi (Running Tests in Batch Mode): Adjust doc.
* lisp/emacs-lisp/ert.el (ert-run-tests-batch): Allow overriding
the EMACS_TEST_VERBOSE variable by setting it to "" (bug#53313).