* lisp/progmodes/compile.el
(compilation-error-regexp-alist-alist): Prior to this patch the
line that contains "from a.h:1:0," was seen as INFO and the line
that contains "from a.c:1:" was seen as a WARNING. This patch
makes them both INFO (bug#17826).
* lisp/server.el (server-socket-dir): Use expand-file-name to
avoid "//" in the path name (if either XDG_RUNTIME_DIR or TMPDIR
ends in a slash) (bug#18658).
* textmodes/paragraph.el (mark-paragraph): Handle negative
arguments correctly (bug#18847). This makes `M- M-h M-h' do the
correct thing with expanding the region (like other marking
commands) backwards. Also fix problem at the end of the buffer,
where the numbers of paragraphs left in the buffer is less than
ARG, then paragraphs would also be marked *before* the current
paragraph. Also clarify the doc string.
* doc/lispref/tips.texi (Comment Tips): Update information on section
headings to reflect common usage.
Previously the tips stated that if the code is split up into multiple
sections, then that should be done by splitting up the ";;; Code:"
section into multiple sub-sections.
However about half the libraries in Emacs instead use multiple
top-level sections. We update the tips (aka conventions) to allow
this common usage, but because it is awkward if there is a section
named "Code", which contains only some of the code instead of all of
it, we now recommend that that section should be empty in this case.
We cannot just give up on the "Code:" section/heading because that is
an old convention that is followed be nearly every library and because
it is likely that there are some utilities out there that depend on
its presence.
This was discussed in
https://lists.gnu.org/archive/html/emacs-devel/2020-07/msg00444.htmlhttps://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00001.html
Each section ends right before the following section begins and IMO
that means that it is unnecessary to mark the end of sections.
For users of `outline-minor-mode' the old end-of-section markers were
a distraction. They made it much harder to parse the overview outline
state because each section heading was followed by a end-of-section
marker that was formatted as a section heading. Because of this I
wanted to remove the end-of-section markers.
But as Eli pointed out these sections are long and not everyone uses
`outline-minor-mode'.
So instead of removing them, I am turning the end-of-section markers
into regular comments (beginning with just two semicolons) instead of
section headings (beginning with tree semicolons). That way users of
`outline-minor-mode' won't be distracted by them and others can still
benefit from the markers as before.
The "Commentary" was already split into multiple sections, but
these sections where on the same level as "Commentary" itself,
which is less convenient for users of `outline-minor-mode'.
This library already used section headings but it used just two
instead of three semicolons, making them indistinguishable from
plain comments. One heading is new.
This library already used section headings but it used just two
instead of three semicolons, making them indistinguishable from
plain comments. One heading is new.
These comments are unnecessary because the doc-strings that follow
already cover the same ground, while being more concise. These
comments were also prefixed with too many semicolons, causing them
to be treated as outline headings.
The motivation behind this change is that the indentation of some
lines was outright wrong. If we address that issue, then we might
as well also address the issue that some code is needlessly nested
an additional level. That we can fix by merging the conditions.
By doing these two changes in on commit we have to change the fewest
lines. Even though we are moving to using just spaces for indentation
of the modified lines, other lines in the same function are left alone
and continue to us tabs+spaces for indentation. That is not "wrong",
but just the style we are slowly migrating away from when touching
lines for other reasons.
Discussed in bug#42397.
* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Merge two
conditions and fix indentation.
`concat' treats arguments that are nil as if they were empty strings.
We therefore do not have to write (if TEST THEN "") and can just use
(and TEST THEN).
* lib-src/emacsclient.c (set_local_socket): Don't output the
warning if both -a and --quiet are specified (bug#16117).
Inspired by a patch from Scott Turner <srt19170@gmail.com>.
It wasn’t needed for MinGW after all, no other platform
seems to need it, and it slows down ‘configure’.
* admin/merge-gnulib (GNULIB_MODULES): Remove inttypes.
* m4/gnulib-comp.m4: Regenerate.
This incorporates:
2020-08-12 stdint: port intptr_t to more-recent MinGW
2020-08-11 Use __restrict also on clang
2020-08-11 Use flexible array syntax also on clang
2020-08-11 fcntl: On native Windows, use _setmode, not setmode
* lib/binary-io.h, lib/cdefs.h, lib/fcntl.c, lib/regex.h:
* lib/stdint.in.h: Copy from Gnulib.
* lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): For
compatibility with XEmacs, mm-mime-mule-charset-alist was first
set to a list of hard-coded entries, and then overwritten on Emacs
from `coding-system-list'. Remove the hard-coded values and
simplify the code.
* lisp/net/eudc-bob.el (eudc-bob-save-object)
(eudc-bob-pipe-object-to-external-program): Remove checks for
functions that are always defined in Emacs.
* lisp/erc/erc-goodies.el (erc-italic-face): New face for italic text.
(erc-controls-interpret), (erc-controls-highlight): Add `italicp'.
(erc-controls-remove-regexp),
(erc-controls-highlight-regexp): Handle C-] for italic.
(erc-controls-propertize): Add `italicp' argument and use it to
conditionally propertize text with the new `erc-italic-face'.
* etc/NEWS: Announce italic text support.
* lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
(viper-non-hook-settings, viper-mode):
* lisp/emulation/viper-cmd.el (viper-normalize-minor-mode-map-alist)
(viper-harness-minor-mode): Remove a bunch of checks to do (or
not do) things based on whether add-to-ordered-list is fbound and
emulation-mode-map-alists is bound, because in Emacs now, these
are always true.
* lisp/net/eudc-bob.el (eudc-bob-sound-menu)
(eudc-bob-play-sound-at-point): Check for play-sound-internal
instead of play-sound, because the latter is always defined.