Stefan Kangas [Wed, 9 Sep 2020 23:32:24 +0000 (01:32 +0200)]
Make M-x show obsolete commands (Bug#43300)
* lisp/simple.el (read-extended-command): Don't hide obsolete
commands.
(read-extended-command--annotation): Show an annotation for obsolete
commands that says what their new name is.
read-file-name already displays a long path when given a default
(like INITIAL in many other prompting functions), so using
format-prompt here is superfluous.
Michael Albinus [Sun, 13 Sep 2020 11:25:52 +0000 (13:25 +0200)]
Fix a conversion failure in tramp-archive-tests (Bug#43353)
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test-file-archive-hexlified): New defun.
(tramp-archive-test02-file-name-dissect): Use it. (Bug#43353)
* test/Makefile.in (TEST_LOCALE): Remove.
(emacs): Don't force LC_ALL=C, since it causes problems with
non-ascii directories. This mirrors a 7-year old lisp/Makefile change.
Adapt some tests for Emacs's excitingly variable quoting format
* test/lisp/subr-tests.el (subr-test-version-parsing):
* test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-other-file):
* test/src/callint-tests.el (call-interactively/incomplete-multibyte-sequence):
* test/src/emacs-module-tests.el (module/describe-function-1):
Don't fail if curly quotes are in use, as they can be if LC_ALL != C.
Michael Albinus [Sat, 12 Sep 2020 17:33:44 +0000 (19:33 +0200)]
Cleanup in dbus.el, dbus-tests.el
* lisp/net/dbus.el (dbus-error-no-reply): New defconst.
(dbus-call-method): Use it.
(dbus-call-method-asynchronously, dbus-register-signal): Fix docstring.
(dbus-unregister-object): Obey :serial entries in
`dbus-registered-objects-table'.
Alan Mackenzie [Sat, 12 Sep 2020 16:37:56 +0000 (16:37 +0000)]
C++ Mode: handle __attribute__,etc. inside constructor argument lists
This corrects both the fontification and indentation of these things, fixing
bug #42270.
* lisp/progmodes/cc-engine.el (c-do-declarators): Skip over "hangon keys" and
noise macros whilst scanning a putative C++ function.
(c-forward-decl-or-cast-1): When checking for typeless functions, skip over
"hangon keys" and noise macros.
* lisp/progmodes/cc-mode.el (c-fl-decl-end): Deal with certain invalid
"nested declarators" by scanning over them with a recursive call of
c-fl-decl-end.
* lisp/progmodes/cc-vars.el (c-noise-macro-names)
(c-noise-macro-with-parens-names): State in the doc strings that if either of
these is a regexp, it must have a submatch 1 which matches the noise macro
exactly.
Martin Rudalics [Fri, 11 Sep 2020 20:04:20 +0000 (16:04 -0400)]
Fix toggle-frame-fullscreen on w32 builds
* src/w32term.c (w32_read_socket): Set 'fullscreen' to 'maximized'
if Windows sends SIZE_MAXIMIZED and either the top or the left of
the frame is outside the screen. (Bug#25542)
* lisp/mail/flow-fill.el (fill-flowed): Don't bug out if there's a
space at the end of the buffer. This is probably not allowed in
the flow-fill specification, but has been observed in the wild.
Alan Mackenzie [Fri, 11 Sep 2020 14:18:43 +0000 (14:18 +0000)]
CC Mode: Fix minor bugs in the string handling functions
These sometimes gave rise to the tail of a buffer being "stringed out".
* lixp/progmodes/cc-defs.el (c-will-be-unescaped): New macro.
* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings): Fix bugs in the handling of string
fence syntax-table text properties.
Michael Albinus [Fri, 11 Sep 2020 13:34:33 +0000 (15:34 +0200)]
D-Bus: Implement other compound types of properties
* doc/misc/dbus.texi (Errors and Events):
* etc/NEWS: Mention dbus-show-dbus-errors.
* lisp/net/dbus.el (dbus-compound-types): New defconst.
(dbus): New defgroup.
(dbus-show-dbus-errors): New defcustom.
(dbus-ignore-errors): Use it.
(dbus-set-property): Simplify.
(dbus-property-handler): Implement other compound types of properties.
* lisp/net/mailcap.el (mailcap-view-mime): Most MIME viewers can't
take input on stdin (and in any case, "-" is not how many of them
designate stdin) (bug#43318). So rewrite to put the data on a
file and feed the file name to the viewer.
* lisp/calc/calc-comb.el (math-small-factorial-table):
* lisp/calc/calc-funcs.el (math-bernoulli-b-cache):
* lisp/calc/calc.el (math-2-word-size, math-half-2-word-size):
No need for math-read-number-simple.
Andrew G Cohen [Fri, 11 Sep 2020 02:31:47 +0000 (10:31 +0800)]
Allow an info structure as argument for gnus-group-get-parameter
* lisp/gnus/gnus.el (gnus-group-get-parameter): Allow the group
argument to be either a group name or a group info structure. This is
then parallel to gnus-group-set-parameter.
Andrew G Cohen [Fri, 11 Sep 2020 01:02:09 +0000 (09:02 +0800)]
Clean up group-finding in Gnus nnir search
This is part of removing code from nnir.el that isn't related to
searching backends and therefore belongs somewhere else.
* lisp/gnus/gnus-group.el (gnus-group-make-search-group)
(gnus-group-read-ephemeral-search-group): Put the logic for
determining the groups to search here, rather than in nnir. Improve
documentation.
* lisp/gnus/gnus-int.el (gnus-server-get-active): Renamed from
'nnir-get-active.
* lisp/gnus/nnir.el (nnir-run-imap, nnir-run-find-grep): Use it.
(nnir-get-active): Remove.
(nnir-make-specs): Make obsolete.
* lisp/gnus/nnselect.el (nnselect-group-server): Make obsolete in
favor of 'gnus-group-server.
Tweak how `M-RET' in Message mode fills paragraphs
* lisp/gnus/message.el (message-newline-and-reformat): Pick up any
longer white-space prefix before starting to fill (bug#43299).
This fixes the problem of hitting M-RET on a line that's just ">".
* test/lisp/net/dbus-tests.el (dbus--test-interface): Make it
different to `dbus--test-service'.
(dbus-test05-register-property)
(dbus-test05-register-property-several-paths): Adapt tests.
* lisp/emulation/viper-keym.el (viper-ESC-key): Revert back to
using ESC instead of `escape' (bug#18182). This allows using
`C-[' again on terminals for ESC. The key should be mapped back
to `escape' by `function-key-map'.
Andrew G Cohen [Thu, 10 Sep 2020 12:23:34 +0000 (20:23 +0800)]
Fix new summary-line after editing an article in Gnus
* lisp/gnus/gnus-sum.el (gnus-summary-edit-article-done): Strip ^M
from the ends of lines after saving an edited article. Otherwise the
new header isn't always parsed properly, resulting in an incorrect
subject line in the summary buffer.
Set `generated-autoload-file' in erc-status-sidebar.el
* lisp/erc/erc-status-sidebar.el: Set `generated-autoload-file' to
ERC's dedicated "erc-loaddefs.el", since we don't need this file's
autoloaded functions to be available before ERC itself is loaded.
* doc/emacs/trouble.texi (Checklist): Mention the new command.
* doc/lispref/intro.texi (Caveats): Ditto.
* lisp/mail/emacsbug.el (emacs-bug--system-description): Factor
out into own function.
(report-emacs-bug): ... from here.
(submit-emacs-patch): New command.
Andrew G Cohen [Wed, 9 Sep 2020 09:01:44 +0000 (17:01 +0800)]
Make Gnus cache work with nnselect
* lisp/gnus/gnus-cache.el (gnus-cache-possibly-enter-article)
(gnus-cache-possibly-remove-articles)
(gnus-cache-possibly-remove-article): Use originating article info for
nnselect groups.
Andrew G Cohen [Wed, 9 Sep 2020 01:58:39 +0000 (09:58 +0800)]
Add Gnus function to make a persistent group from a search result
* lisp/gnus/gnus-sum.el (gnus-summary-make-group-from-search): New
command (bound to C-c C-p in summary buffers).
* doc/misc/gnus.texi (What is nnir?): Document it. Correct previous
errors.
* etc/NEWS (Gnus): Mention it.
* doc/lispref/minibuf.texi (Text from Minibuffer): Document it.
* lisp/minibuffer.el (format-prompt): Allow DEFAULT to be a list
(and use the first element). This is how many of the prompting
functions interpret their default parameters.
Daniel Martín [Tue, 8 Sep 2020 12:18:17 +0000 (14:18 +0200)]
Use mouse-wheel-up-event in mwheel-tests.el
Enabling mouse-wheel-mode binds two different mouse events, depending
on the operating system. The correct way to check for those events is
by checking mouse-wheel-up-event, as explained in the ELisp manual.
* test/lisp/mwheel-tests.el (mwheel-test-enable/disable): Check
mouse-wheel-up-event instead of mouse-4 to make the test work
irrespective of the platform it's running.
Michael Albinus [Tue, 8 Sep 2020 14:24:11 +0000 (16:24 +0200)]
Implement typed D-Bus properties (Bug#43252)
* doc/misc/dbus.texi (Properties and Annotations)
(Receiving Method Call): Document optional type symbol in
`dbus-set-property' and `dbus-register-property'.
* lisp/net/dbus.el (dbus-error-unknown-interface)
(dbus-error-unknown-method, dbus-error-unknown-object)
(dbus-error-unknown-property): New defconsts.
(dbus-peer-handler): Improve error handling.
(dbus-introspect-get-signature): Handle also properties.
(dbus-set-property, dbus-register-property): Allow optional TYPE
symbol for VALUE. (Bug#43252)
(dbus-property-handler): Implement property types. Improve error
handling.
Alex Bochannek [Tue, 8 Sep 2020 09:47:28 +0000 (11:47 +0200)]
Introduce a new Gnus scoring method (for article age)
* doc/misc/gnus.texi (Score File Format): Document it.
* lisp/gnus/gnus-score.el (gnus-score-check-syntax): Add support
for the new date methods < and > (bug#43270).
(gnus-score-date): Allow scoring on dates by age.