This new backend allows gnus to handle arbitrary sets of messages
spanning multiple groups, even when these groups are from different
backends and different servers. All gnus glue is removed from
nnir (leaving only the backend search functions) and gnus
search-related processing is done through nnselect. In appropriate
places 'nnir' has been replaced by 'nnselect' or 'search'.
* etc/NEWS: Document the change.
* doc/misc/gnus.texi: New documentation for nnselect and update
searching and thread-referral sections.
* lisp/gnus/nnselect.el: New file.
* lisp/gnus/nnir.el: Remove all gnus glue, leaving only searching
capability. Improve documentation strings.
* lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-search-group,
gnus-group-make-search-group): New functions.
* lisp/gnus/gnus-msg.el (gnus-setup-message, gnus-group-news,
gnus-summary-news-other-window): Update to work for nnselect. Fix
gnus-newsgroup-name wrangling.
*lisp/gnus/gnus-registry.el
(gnus-registry-action,gnus-registry-ignore-group-p): Make work from nnselect.
* lisp/gnus/nnheader.el (nnheader-parse-head, nnheader-parse-nov):
Rework and consolidate header parsing.
* lisp/gnus/gnus-agent.el (gnus-agent-regenerate-group):
* lisp/gnus/gnus-cache.el (gnus-possibly-enter-article):
* lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks):
* lisp/gnus/gnus-msg.el (gnus-inews-yank-articles):
* lisp/gnus/gnus-sum. (gnus-get-newsgroup-headers):
* lisp/gnus/nndiary.el (nndiary-parse-head):
* lisp/gnus/nnfolder.el (nnfolder-parse-head):
* lisp/gnus/nnmaildir.el (nnmaildir--update-nov):
* lisp/gnus/nnml.el (nnml-parse-head):
* lisp/gnus/nnspool.el (nnspool-insert-nov-head):
Use new header parsing.
* lisp/gnus/gnus-start.el (gnus-read-active-for-groups): Rescan on
activation by default.
* lisp/gnus/gnus-sum.el (gnus-summary-line-format-alist): New specs
for virtual groups.
(gnus-article-sort-by-rsv, gnus-thread-sort-by-rsv): New functions to
allow sorting by search RSV.
* doc/misc/dbus.texi (Receiving Method Calls): Describe how to
produce D-Bus error messages.
(Receiving Method Calls): Support :write access type.
* lisp/net/dbus.el (dbus-error-dbus, dbus-error-failed)
(dbus-error-access-denied, dbus-error-invalid-args)
(dbus-error-property-read-only): New defconsts.
(dbus-method-error-internal): Add arg ERROR-NAME.
(dbus-register-method): Adapt docstring.
(dbus-handle-event): Handle error messages returned from the handler.
(dbus-get-this-registered-property)
(dbus-get-other-registered-property): New defuns.
(dbus-register-property): Support :write access type.
(dbus-property-handler): Submit proper D-Bus error messages.
Handle several paths at the same interface.
* src/dbusbind.c (Fdbus_message_internal): Improve handling of
DBUS_MESSAGE_TYPE_ERROR.
* lisp/gnus/gnus-dbus.el: New library, registering a signal that
closes all Gnus servers when the system is going to sleep.
* lisp/gnus/gnus-start.el: Check new option
`gnus-dbus-close-on-sleep', and register the appropriate D-Bus signal
if it is non-nil.
* lisp/gnus/gnus.el: New gnus-dbus customization group.
* doc/misc/gnus.texi: Document.
* doc/misc/tramp.texi (Remote processes): Precise restrictions for direct
async processes.
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-direct-async-process-p): Make it more precise.
(tramp-handle-make-process): Rewrite, based on `make-process'.
* test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
Add `tramp-direct-async-args` for mock method.
(tramp-test29-start-file-process, tramp-test30-make-process):
Use weaker regexp checking "foo".
(tramp-test30-make-process): Do not check stderr for direct async processes.
(tramp--test--deftest-direct-async-process): New defmacro.
(tramp-test29-start-file-process-direct-async)
(tramp-test30-make-process-direct-async): New tests.
Buffers `*Shell Command Output*' and `*Async Shell Command*'
have been around since a long time; used across several libraries,
they are de facto output buffers for shell commands.
* lisp/simple.el (shell-command-buffer-name)
(shell-command-buffer-name-async): New variables.
* lisp/dired-aux.el
* lisp/gnus/gnus-sum.el
* lisp/gnus/gnus-win.el
* lisp/ibuf-ext.el
* lisp/net/tramp.el: Use them.
* etc/NEWS (Changes in Emacs 28.1): Announce this change.
* doc/emacs/misc.texi (Single Shell)
* doc/misc/tramp.texi (Remote processes):
Update manual (bug#39138).
* lisp/gnus/mml.el (mml-parse-1): Use `data-encoding' to be
slightly less confusing than `content-transfer-encoding'.
* doc/misc/emacs-mime.texi (MML Definition): Document it.
* lisp/gnus/message.el (message-insert-screenshot): Adjust usage.
* doc/misc/message.texi (System Mailer Setup): Document the usage.
* lisp/gnus/gnus-art.el (gnus-url-mailto): Move most of the code
here to 'message-mailto-1' (bug#38314).
* lisp/gnus/message.el (message-parse-mailto-url): Mark as obsolete.
(message-parse-mailto-url): Rewritten slightly from the above.
(message-mailto): New command.
(message-mailto-1): New function.
This should avoid some configuration confusion as exemplified
by Jeffrey Walton’s recent bug report (Bug#42675).
* configure.ac (opsys): Simplify Solaris configuration by
not worrying about Solaris 9 and earlier, as they are no
longer supported by the Solaris developers. This should
support Walton’s ‘./configure --build=x86_64-sun-solaris’.
Instead of bothering with ‘opsys=sol2-6’ and ‘opsys=sol2-10’,
just use ‘opsys=solaris’. All uses changed.
(emacs_check_sunpro_c): Remove unused var.
* doc/misc/tramp.texi (Remote programs):
* etc/MACHINES, etc/PROBLEMS:
Modernize PATH for Oracle Developer Studio.
* etc/PROBLEMS: Move Solaris-related problems to legacy area,
except those that are still relevant.
* doc/misc/message.texi (MIME): Document it.
* lisp/gnus/message.el (message-screenshot-command): New variable.
(message-mode-map): New keystroke and menu item. Also add
mml-attach-file to the menu.
(message-insert-screenshot): New command.
* lisp/gnus/mml.el (mml-parse-1): Allow having
content-transfer-encoding already in the part, so that we can have
inline base64-encoded binaries in the Message buffers.
* doc/misc/tramp.texi (Predefined connection information):
Add "direct-async-process".
(Remote processes): New subsection "Improving performance of
asynchronous remote processes".
* lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-login-program'
and `tramp-login-args'.
(tramp-adb-handle-make-process): Use `tramp-handle-make-process'.
(tramp-adb-maybe-open-connection): Add "set +o vi +o emacs" command.
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Use `tramp-handle-make-process'.
(tramp-sh-file-name-handler-p, tramp-multi-hop-p): New defuns.
(tramp-compute-multi-hops): Use `tramp-multi-hop-p'.
* lisp/net/tramp.el (tramp-dissect-file-name, tramp-dissect-hop-name):
Use `tramp-multi-hop-p'.
(tramp-handle-insert-file-contents, tramp-local-host-p):
Use `tramp-sh-file-name-handler-p'.
(tramp-handle-make-process): New defun.
* test/README: Add another example how to use SELECTOR.
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-method-rules):
Adapt test.
(tramp--test-sh-p): Use `tramp-sh-file-name-handler-p'.
* doc/misc/emacs-mime.texi (Display Customization): Document it.
* lisp/gnus/gnus-art.el (gnus-mime-display-single): Bind it.
* lisp/gnus/mm-view.el (mm-inline-font-lock): New variable (bug#38421).
(mm-display-inline-fontify): Use it.
This incorporates:
2020-07-30 work around some Oracle Studio attribute bugs
2020-07-29 fsusage, regex, stat-size: remove Cray support
2020-07-26 inttypes: remove support for AIX 4
2020-07-26 gettimeofday: remove workaround for Mac OS X 10.0
2020-07-26 don't require gl_LOCALTIME_BUFFER_DEFAULTS
2020-07-26 alloca: remove Cray-2 and Cray Y-MP support
2020-07-26 libgmp: remove dependency on havelib
2020-07-26 libgmp: remove HAVE_GMP, LIB_GMP
2020-07-25 multiarch: prepare for x86_64+arm64 universal in macOS 11
2020-07-25 sigprocmask: small autoconf macro improvement
2020-07-25 small autoconf macro improvements
2020-07-24 timespec: remove dependence on ‘verify’
2020-07-24 optimize a few more three-valued comparisons
2020-07-24 fix _GL_CMP parenthesization typo
2020-07-23 optimize three-valued comparison between integers
2020-07-24 doc: update for Mac OS X 10.13
2020-07-23 fchmodat, lchmod: use /proc on Cygwin
2020-07-21 inttypes: fix PRI*PTR and SCN*PTR on 64-bit native Windows
2020-07-12 libgmp: avoid warning when --without-libgmp is used
2020-07-12 libgmp: link to the correct shared library
* lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh, doc/misc/texinfo.tex, lib/c-strcasecmp.c:
* lib/c-strncasecmp.c, lib/fchmodat.c, lib/fsusage.c:
* lib/gettimeofday.c, lib/inttypes.in.h, lib/lchmod.c:
* lib/mini-gmp-gnulib.c, lib/nstrftime.c, lib/regex.h, lib/timespec.h:
* m4/alloca.m4, m4/getgroups.m4, m4/gettimeofday.m4:
* m4/gnulib-common.m4, m4/inttypes.m4, m4/libgmp.m4, m4/mktime.m4:
* m4/multiarch.m4:
Copy from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* src/Makefile.in, test/Makefile.in (LIBGMP):
Rename from LIB_GMP for compatibility with Gnulib.
All uses changed.
* lisp/net/eww.el (erc--download-directory): New function (bug#41030).
(eww-download-directory): Use it.
(eww-download): Use it.
(eww-download-callback): Adjust parameters.
* doc/misc/gnus.texi (Article Washing): Document it.
* lisp/gnus/gnus-art.el (article-fill-long-lines): Take a numeric
prefix as the fill width (bug#38698).
* doc/misc/gnus.texi (Child Gnusae): Rename node from "Slave
Gnusae" and adjust wording. Also remove at least one joke.
* lisp/gnus/gnus-start.el (gnus-no-server-1, gnus-1)
(gnus-setup-news, gnus-save-newsrc-file): Adjust parameter names.
(gnus-child-mode): Rename and add alias.
(gnus-child-save-newsrc): Rename.
(gnus-parent-read-child-newsrc): Ditto.
* lisp/gnus/gnus-group.el (gnus-group-mode)
(gnus-group-get-new-news): Ditto.
* lisp/gnus/gnus-agent.el (gnus-child-unplugged): Rename function
from gnus-slave-unplugged (and add the latter as an obsolete alias).
* lisp/gnus/gnus.el (gnus-other-frame-function): Adjust function
names in the defcustom to new naming scheme.
(gnus-other-frame-resume-function): Ditto.
(gnus): Adjust parameter names.
This incorporates:
2020-06-27 getloadavg: don’t depend on fopen-gnu
2020-06-25 c-dtoastr, c-ldtoastr: new modules
2020-06-01 getloadavg: fix double-increment bug
2020-06-01 tempname: use getrandom, not getentropy
2020-05-31 tempname: merge from glibc and coreutils
2020-05-31 getentropy: work around a macOS and Solaris problem
2020-05-31 fnmatch: merge from glibc
2020-05-30 unistd: remove conflicting declaration of getrandom
2020-05-30 don't assume that UNICODE is not defined
2020-05-29 fix compilation error on native Windows
2020-05-28 avoid dynamic loading of Windows API functions when possible
2020-05-28 at-internal: make more robust in multithreaded applications
2020-05-28 getloadavg: make more robust in multithreaded applications
2020-05-27 getloadavg: make more robust in multithreaded applications
2020-05-26 count-one-bits: fix MSVC specific code
2020-05-25 getentropy, getrandom: new modules
2020-05-24 open, openat: really support O_CLOEXEC
2020-05-23 verify: document ‘assume’ better
2020-05-21 regex: configure better with "clang -fsanitize=leak"
2020-05-21 memmem: configure better with "clang -fsanitize=undefined"
2020-05-19 ftoastr: fix ifndef typo
* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
* lib/count-one-bits.h, lib/ftoastr.c, lib/ftoastr.h:
* lib/getloadavg.c, lib/gettimeofday.c, lib/libc-config.h:
* lib/open.c, lib/openat-proc.c, lib/tempname.c, lib/tempname.h:
* lib/unistd.in.h, lib/verify.h, m4/memmem.m4, m4/regex.m4:
* m4/unistd_h.m4:
Update from Gnulib.
* lib/getrandom.c, lib/sys_random.in.h:
* m4/getrandom.m4, m4/sys_random_h.m4:
New files, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
5280e118c0 (origin/emacs-27) ; * src/xdisp.c (pos_visible_p): Fix las...
bb1a9481c9 Fix posn-at-point at beginning of a display string
0c4b033670 Improve documentation of Info node movement commands
632b0119e1 Add Jansson dependency to Windows Build
dbfcdab837 Unbreak 'reverse-region'
c37de84845 Fix typos and markup in fill column indicator docs
f61bff3ee9 ; * CONTRIBUTE: Clarify the preferences for patch formatting.
368e140660 Avoid crashes in 'defconst'
11e3413cff Fix text about Lisp archives in the Emacs FQ
4c81724675 Don't use 'cl' functions in ELisp manual's examples
* src/term.c (init_tty): When COLORTERM=truecolor is defined,
override setaf/setab/colors terminfo capabilities with 24-bit
color support.
* doc/misc/efaq.texi (Colors on a TTY): Mention the possibility to
enable 24-bit color via the COLORTERM environment variable.
(Bug#41846)
Copyright-paperwork-exempt: yes
* doc/misc/gnus-faq.texi (FAQ 3-11):
* doc/emacs/frames.texi (Tab Bars): Consistently use @var with
lower-case metasyntactic variables and @minus instead of a dash.
(Text-Only Mouse):
* doc/emacs/files.texi (Auto Revert):
* doc/emacs/misc.texi (emacsclient Options)
(Embedded WebKit Widgets):
* doc/lispref/control.texi (pcase Macro):
* doc/lispref/debugging.texi (Backtraces):
* doc/lispref/files.texi (Truenames):
* doc/lispref/frames.texi (Management Parameters):
* doc/lispref/os.texi (Time Calculations):
* doc/lispref/text.texi (Parsing JSON):
* doc/misc/efaq-w32.texi (Other versions of Emacs, Debugging)
(Swap Caps NT, Printing, Bash, Developing with Emacs):
* doc/misc/efaq.texi (New in Emacs 25):
* doc/misc/emacs-gnutls.texi (Help For Users):
* doc/misc/message.texi (Using S/MIME, Passphrase caching):
* test/manual/etags/tex-src/gzip.texi (Overview): Use @. when a
sentence in the middle of a paragraph ends with an upper-case letter
as per "(texinfo) Ending a Sentence".