Andrea Corallo [Mon, 14 Sep 2020 20:02:36 +0000 (22:02 +0200)]
* Add gv-setters for compiler hints
* lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Add
gv-setters so type hinted expressions can be used as places.
Read we can now have like: '(cl-incf (cl-the fixnum x))'.
Andrea Corallo [Mon, 14 Sep 2020 19:06:54 +0000 (21:06 +0200)]
* Add 'cl-optimize' as function declaration
* lisp/emacs-lisp/cl-macs.el: Register cl-optimize into
`defun-declarations-alist' and `macro-declarations-alist'.
(cl--optimize): New function to serve 'cl-optimize' declaration.
Andrea Corallo [Sun, 13 Sep 2020 16:15:32 +0000 (18:15 +0200)]
* Fix defsbust declare effectiveness introduced by 80d7f710 (Bug#43280).
* lisp/emacs-lisp/byte-run.el (defsubst): Do not add a speed
declaration as this breaks a pre existing ones if present but
rather calls directly `byte-run--set-speed'.
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.
Andrea Corallo [Sun, 31 May 2020 13:39:59 +0000 (14:39 +0100)]
* Make use of new 'gcc_jit_global_set_initializer' entry point
Use this brand new entry point to avoid the current workaround and its
load-time memcpys.
* src/comp.c (gcc_jit_global_set_initializer): Add to the dynamic
load machinery.
(static_obj_t): Remove const qualifier from the data field.
(emit_static_object): Make use of 'gcc_jit_global_set_initializer'
when available.
(load_static_obj): Use the blob for loading if that was emitted.
* 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.