* lisp/progmodes/compile.el (compilation-parse-errors):
Don't omit messages from the error count when FILE is a function
rather than a regexp match number.
The internal representation of columns uses half-open intervals but
don't expose that in the test cases, where we want to use the same
numbers as in the compilation messages.
* lisp/pcmpl-unix.el (pcomplete/xargs): Add support for completing xargs
options, including the ability to distinguish them from the command
xargs runs (bug#49603).
Copyright-paperwork-exempt: yes
Make 'n'/'p' work again in shortdoc after previous changes
* lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Adjust to
changes in how the text properties are inserted in 22a5482ab6
(bug#49605). Also make into a regular function.
* lisp/emacs-lisp/eieio.el (initialize-instance):
Do not evaluate initform of a slot when initarg for the slot is provided,
according to the following secitons of CLHS:
- Object Creation and Initialization
- Initialization Arguments
- Defaulting of Initialization Arguments
- Rules for Initialization Arguments
* test/lisp/emacs-lisp/eieio-etests/eieio-tests.el:
Add corresponding tests
Fix a typo
7ac411ae2c (origin/emacs-27) ; * src/data.c (Fcar, Fcdr): Doc fix. 0d9e1826f7 One more minor update of the Emacs manual for 19th printing 92616d30e0 ; Fix let-alist Texinfo markup c13acf8e34 ; * doc/emacs/mule.texi (International Chars): Mention 'de...
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for codeberg.org bug and pull request references.
* doc/emacs/maintaining.texi (Bug Reference): Mention that bug and
pull request references for codeberg projects are supported.
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for bug references like #17 and ~user/project#19 for
sourcehut (sr.ht).
* doc/emacs/maintaining.texi (Bug Reference): Document sourcehut
support.
Ori [Thu, 15 Jul 2021 16:57:38 +0000 (18:57 +0200)]
; * lisp/help-fns.el: Speed up `describe-mode'
* lisp/help-fns.el (help-fns--list-local-commands): Speed up (bug#49579).
A predicate checks if there are no key bindings for a given function. A
full list of bindings is not needed, even a single binding is sufficient
to say the function is bound. Set FIRSTONLY arg in where-is-internal so
this predicate runs faster, with functional equivalence. For some
configurations this has a noticeable improvement on the speed of
describe-mode.
Improve the shortdoc link action in *Help* buffers
* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Allow
taking an optional parameter to place point on a specific function.
(shortdoc--display-function): Go to the function in question in
the shortdoc buffer.
Allow restoring the original order in 'tabulated-list-mode'
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Allow
restoring the original order (bug#13411).
(tabulated-list--sort-by-column-name): Store the original order.
(tabulated-list--original-order): New buffer-local variable.
* doc/misc/modus-themes.org (Enable and load): Include internal link.
(Sample configuration for use-package): Update code sample.
(Customization Options): Update references to customization options.
(Option for more italic constructs): Document new variable, as an
alias of the deprecated 'modus-themes-slanted-constructs'.
(Option for syntax highlighting, Option for links)
(Option for command prompt styles, Option for mode line presentation)
(Option for language checkers)
(Option for line highlighting (hl-line-mode))
(Option for parenthesis matching (show-paren-mode))
(Option for active region, Option for the headings' overall style):
Update documentation to describe new possible values, expressed as a
list of symbols.
(Option for Org agenda constructs): Document new user option.
(Control the scale of headings): Update symbol of variable.
(Remap face with local value (DIY), Backdrop for pdf-tools (DIY)):
Tweak text of internal reference.
(Font configurations for Org and others (DIY)): Add internal link and
document how to configure the 'bold' and 'italic' faces.
(Custom Org user faces (DIY)): Minor corrections or changes to single
words.
(Full support for packages or face groups): Include new items.
(Notes on individual packages): Add notes on Avy hints, the colour of
days in 'M-x calendar', and underlines in 'compilation-mode' buffers.
(What is the best setup for legibility?): Remove single word.
(Acknowledgements): Update list of contributors.
(modus-themes-scale-5, modus-themes-scale-title): Deprecate variable
and replace it with alias 'modus-themes-scale-title'.
(modus-themes-slanted-constructs, modus-themes-italic-constructs):
Deprecate variable and replace it with alias
'modus-themes-italic-constructs'.
(modus-themes-org-habit, modus-themes-org-agenda): Deprecate variable
and make its functionality a part of 'modus-themes-org-agenda'.
(modus-themes-headings, modus-themes-mode-line, modus-themes-diffs)
(modus-themes-prompts, modus-themes-paren-match, modus-themes-syntax)
(modus-themes-links, modus-themes-region, modus-themes-lang-checkers)
(modus-themes-org-blocks): Make user options accept a value as a list
of properties.
(modus-themes--mixed-fonts, modus-themes--slant)
(modus-themes--fixed-pitch, modus-themes--lang-check)
(modus-themes--prompt, modus-themes--paren)
(modus-themes--syntax-foreground, modus-themes--syntax-extra)
(modus-themes--syntax-string, modus-themes--syntax-docstring)
(modus-themes--syntax-comment, modus-themes--heading-p)
(modus-themes--heading, modus-themes--org-habit)
(modus-themes--mode-line-attrs, modus-themes--link-color)
(modus-themes--link, modus-themes--region, modus-themes--hl-line):
Update internal functions to parse new values for user options.
* etc/themes/modus-operandi-theme.el,
etc/themes/modus-vivendi-theme.el: Bump version number.
A detailed change log is provided here (no javascript required):
<https://protesilaos.com/codelog/2021-07-15-modus-themes-1-5-0/>.
* lisp/gnus/message.el (message-signature-separator): New face
(bug#17757).
(message-font-lock-keywords): Add it to the signature, and ensure
that the trailing space isn't removed when hitting RET.
(message--match-signature): New helper function.
Fix hilit-chg highlighting of characters where text has been removed
* lisp/hilit-chg.el (hilit-chg-set-face-on-change): Remove
highlighting from characters that are just highlighted because of
something that has been previously deleted (bug#17784).
Eli Zaretskii [Wed, 14 Jul 2021 12:27:19 +0000 (15:27 +0300)]
Fix deprecation warnings from libtiff
* src/image.c (UINT32) [TIFFLIB_VERSION >= 20210416]: Define to
use stdint.h type for recent libtiff versions. Reported by Andy
Moreton <andrewjmoreton@gmail.com>.
Make `apropos-library' also work for libraries without symbols
* lisp/apropos.el (apropos--preamble): Factor out (bug#17832)...
(apropos-print-doc): ... from here.
(apropos-library): Use it to display the apropos buffer even if it
has no symbols of its own.
Fall back on zlib-decompress-region if gzip doesn't exist
* lisp/jka-cmpr-hook.el (jka-compr-info-uncompress-function): New
function (bug#18823).
(jka-compr-compression-info-list): Expand info with decompression
function.
* lisp/jka-compr.el (jka-compr-insert-file-contents): Fall back on
internal decompression function if external doesn't exist.
Juri Linkov [Tue, 13 Jul 2021 19:25:05 +0000 (22:25 +0300)]
Support Isearch filter predicates with empty search hits (bug#49534)
* lisp/isearch.el (isearch-search): Move (= (match-beginning 0) (match-end 0))
and (bobp)/(eobp) outside the call to isearch-filter-predicate.
Use forward-char 1/-1 on empty matches only when going to retry search.
(isearch-lazy-highlight-search): Remove (= (point) bound),
but leave (= (match-beginning 0) (match-end 0)) since empty matches
make no sense in lazy-highlighting.
Add new user option to avoid piling on Dired buffers
* doc/emacs/dired.texi (Dired Visiting): Document it.
* lisp/dired.el (dired-kill-when-opening-new-dired-buffer): New
user option (bug#20598).
(dired-up-directory, dired-find-file): Use it.
(dired--find-possibly-alternative-file): New convenience command
to respect the user option.
Block TLS handshake until TCP connection established
If a TLS handshake is attempted before the completion of an
asynchronous TCP connection has been ascertained, our local state will
not be set up correctly for further progress and the sentinel "open"
event will never be sent. This can occur if sufficient time passes
after the initiation of an async TCP connection so that by the time
`wait_reading_process_output` is called, the connection has already
been established on the TCP level.
This somewhat timing-sensitive bug has plagued HTTPS connections on
some platforms, notably macOS, for a long time (bug#49449).
* src/process.c (wait_reading_process_output): Gate the TLS handshake
by the NON_BLOCKING_CONNECT_FD flag. The flag will be cleared as soon
as the TCP socket is found to be writable.
* test/src/process-tests.el (process-async-https-with-delay):
New test.
Ken Brown [Mon, 12 Jul 2021 13:24:12 +0000 (09:24 -0400)]
Fix portability issue with make-serial-process
* src/sysdep.c (struct speed_struct): New struct.
(speeds): New static array of struct speed_struct.
(convert_speed): New static function to convert a numerical baud
rate (e.g., 9600) to a Bnnn constant defined in termios.h (e.g.,
B9600).
(serial_configure): Use convert_speed to make the call to cfsetspeed
compliant with its advertised API. (Bug#49524)
Paul Eggert [Mon, 12 Jul 2021 07:11:22 +0000 (00:11 -0700)]
Port test module to glibc 2.33
* test/Makefile.in (REPLACE_FREE, FREE_SOURCE_0, FREE_SOURCE_1):
New macros.
($(test_module)): Improve accuracy of test as to whether free.c
should be compiled; glibc 2.33 does not need it compiled and the
compilation breaks if you try, if you build with
--enable-gcc-warnings.
Paul Eggert [Mon, 12 Jul 2021 07:00:20 +0000 (00:00 -0700)]
Pacify gcc 11.1.1 -Wanalyzer-null-argument
* lib-src/etags.c (regexp): Omit member force_explicit_name,
since it’s always true. All uses removed. This lets us
remove calls to strlen (name) where GCC isn’t smart enough
to deduce that name must be nonnull.
* lib-src/movemail.c (main): Fix bug that could cause
link (tempname, NULL) to be called.
* src/emacs.c (argmatch): Break check into two ‘if’s,
since GCC doesn’t seem to be smart enough to check the single ‘if’.
* src/gtkutil.c (xg_update_menu_item): Fix bug where strcmp
could be given a NULL arg.
* src/xfont.c (xfont_list_family): Use nonnull value for dummy
initial value.
Eric Abrahamsen [Sun, 11 Jul 2021 16:00:33 +0000 (09:00 -0700)]
Further tweaks to gnus-search-query-expand-key
* lisp/gnus/gnus-search.el (gnus-search-query-expand-key): It's
possible that KEY could be partially completed (ie no longer string=
to COMP), but not all the way. Use a more accurate test. Add
docstring.
Paul Eggert [Sun, 11 Jul 2021 07:54:32 +0000 (00:54 -0700)]
Make pdumper-marking pickier
Prevent some false-positives in conservative GC marking.
This doesn’t fix any correctness bugs; it’s merely to
reclaim some memory instead of keeping it unnecessarily.
* src/alloc.c (mark_maybe_pointer): New arg SYMBOL_ONLY.
All callers changed. Check that the pointer’s tag, if any,
matches the pdumper-reported type.
Paul Eggert [Sun, 11 Jul 2021 07:27:43 +0000 (00:27 -0700)]
Fix pdumper-related GC bug
* src/alloc.c (mark_maybe_pointer): Also mark pointers
to pdumper objects, even when the pointers are tagged.
Add a FIXME saying why this isn’t enough.