]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoEMBA infrastructure improvements for Emacs build testing.
Ted Zlatanov [Thu, 14 Jan 2021 10:34:09 +0000 (10:34 +0000)]
EMBA infrastructure improvements for Emacs build testing.

* .gitlab-ci.yml: Use job templates and rules. Split tests into
fast/normal/slow. Make Docker images for each tested platform
(inotify, filenotify-gio, gnustep). Increase timeout.
* test/Makefile.in (check-lisp, check-net): Add new testing
targets.
* test/README: Document them.
* test/file-organization.org: Mention test/infra.
* test/infra/Dockerfile.emba: Add special Docker recipes for EMBA
testing.

4 years ago* lisp/isearch.el: C-s C-u M-y reads a string from the kill-ring minibuffer
Juri Linkov [Wed, 13 Jan 2021 18:19:22 +0000 (20:19 +0200)]
* lisp/isearch.el: C-s C-u M-y reads a string from the kill-ring minibuffer

* lisp/isearch.el (isearch-yank-from-kill-ring): New command
with code moved from isearch-yank-pop.
(isearch-yank-pop): Use isearch-yank-from-kill-ring.
(isearch-yank-pop-only): Add optional arg, and call
isearch-yank-from-kill-ring when the prefix arg is C-u.
https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00089.html

4 years agoLift {global,local}-key-binding to Lisp
Stefan Kangas [Wed, 13 Jan 2021 17:54:09 +0000 (18:54 +0100)]
Lift {global,local}-key-binding to Lisp

* lisp/subr.el (local-key-binding, global-key-binding): New defuns.
* src/keymap.c (Flocal_key_binding, Fglobal_key_binding): Remove DEFUNs.
(syms_of_keymap): Remove defsubrs for above DEFUNs.
* test/lisp/subr-tests.el (subr-test-local-key-binding)
(subr-test-global-key-binding): New tests.

4 years agoPrefer skip-unless in more tests
Stefan Kangas [Wed, 13 Jan 2021 16:39:53 +0000 (17:39 +0100)]
Prefer skip-unless in more tests

* test/lisp/emacs-lisp/timer-tests.el (timer-tests-debug-timer-check):
* test/src/decompress-tests.el (zlib--decompress):
* test/src/xml-tests.el (libxml-tests): Prefer skip-unless.

4 years agoFix 'visual-line-mode' when 'word-wrap-by-category' is in effect
Eli Zaretskii [Wed, 13 Jan 2021 14:45:31 +0000 (16:45 +0200)]
Fix 'visual-line-mode' when 'word-wrap-by-category' is in effect

* src/xdisp.c (move_it_in_display_line_to): Don't reset
next_may_wrap after saving a potential wrap point.  This fixes the
case where several characters in a row can serve as a wrap point.
(Bug#45837)

4 years agoUse skip-unless instead of if+message in test
Stefan Kangas [Wed, 13 Jan 2021 14:23:31 +0000 (15:23 +0100)]
Use skip-unless instead of if+message in test

* test/lisp/cedet/semantic-utest.el (semantic-utest-Javascript):
Use skip-unless instead of if+message.

4 years agoRemove some XEmacs compat code from tests
Stefan Kangas [Wed, 13 Jan 2021 14:17:44 +0000 (15:17 +0100)]
Remove some XEmacs compat code from tests

* test/lisp/cedet/srecode-utest-getset.el
(srecode-utest-getset-output):
* test/lisp/cedet/srecode-utest-template.el
(srecode-utest-template-output): Remove XEmacs compat code.

4 years ago* lisp/calc/calc.el: Remove some XEmacs compat code.
Stefan Kangas [Wed, 13 Jan 2021 14:12:08 +0000 (15:12 +0100)]
* lisp/calc/calc.el: Remove some XEmacs compat code.

4 years agoStabilise lunar-phase-list test (bug#45818)
Mattias Engdegård [Wed, 13 Jan 2021 13:16:57 +0000 (14:16 +0100)]
Stabilise lunar-phase-list test (bug#45818)

The test reference data was produced with accidental interference from
the system daylight saving in effect at the time.  Prevent that
from occurring again and correct the data.

* test/lisp/calendar/lunar-tests.el (with-lunar-test):
Switch to UTC and make sure daylight saving adjustment is disabled.
Use normal time presentation for maintainability.
* test/lisp/calendar/lunar-tests.el (lunar-test-phase): Adjust to UTC.
(lunar-test-phase-list): Adjust to UTC with correct times.
Enable the test by removing its :unstable mark.

4 years agoFix Indian time zone test when run by Irishmen (bug#45818)
Mattias Engdegård [Tue, 12 Jan 2021 20:38:47 +0000 (21:38 +0100)]
Fix Indian time zone test when run by Irishmen (bug#45818)

* test/lisp/calendar/solar-tests.el (solar-sunrise-sunset):
Inhibit any attempt by confused calendar code to apply daylight saving
correction when Irish time zone settings are in effect.  It's not
entirely clear why this is needed but may be related to the fact that
'IST' stands for both Irish and Indian Standard Time, and that Ireland
uses reversed daylight saving in winter.

4 years ago; Update docstring
Arash Esbati [Tue, 12 Jan 2021 16:18:24 +0000 (17:18 +0100)]
; Update docstring

* lisp/textmodes/reftex-vars.el (reftex-label-regexps): Track the
latest addition of "frame" environment.

4 years agoOnly run IPv6 tests if we have an IPv6 address
Robert Pluim [Tue, 12 Jan 2021 17:50:38 +0000 (18:50 +0100)]
Only run IPv6 tests if we have an IPv6 address

* test/src/process-tests.el (ipv6-is-available): New function for
checking whether we have a globally routable IPv6 prefix assigned.
(lookup-family-specification): Use 'ipv6-is-available' to check for
IPv6.  Use 'localhost' instead of 'google.com' to test
'network-lookup-address-info' API.
(lookup-google): Use 'ipv6-is-available' to check for
IPv6.

* test/lisp/net/nsm-tests.el (nsm-ipv6-is-available): Rename to
'ipv6-is-available', make identical to the one in
test/src/process-tests.el.

4 years agoFix nsm-should-check for "google.com" failure
Robert Pluim [Tue, 12 Jan 2021 17:36:01 +0000 (18:36 +0100)]
Fix nsm-should-check for "google.com" failure

* lisp/net/nsm.el (nsm-should-check): Extract the mask from
'network-interface-list' rather than the broadcast
address (Bug#45798).

4 years agoAdd a new function 'buffer-line-statistics'
Lars Ingebrigtsen [Tue, 12 Jan 2021 17:43:53 +0000 (18:43 +0100)]
Add a new function 'buffer-line-statistics'

* src/fns.c (Fbuffer_line_statistics): New function.

4 years agoAdd a new variable `inhibit-interaction'
Lars Ingebrigtsen [Tue, 12 Jan 2021 14:12:28 +0000 (15:12 +0100)]
Add a new variable `inhibit-interaction'

* doc/lispref/elisp.texi (Top): Add a link.
* doc/lispref/errors.texi (Standard Errors): Mention the new error.

* doc/lispref/minibuf.texi (Minibuffers): Add a link.
(Inhibiting Interaction): New node.

* src/data.c (syms_of_data): Define the `inhibited-interaction' error.

* src/lisp.h: Export the barfing function.

* src/lread.c (Fread_char, Fread_event, Fread_char_exclusive):
Barf if inhibited.

* src/minibuf.c (barf_if_interaction_inhibited): New function.
(Fread_from_minibuffer, Fread_no_blanks_input): Barf if inhibited.
(syms_of_minibuf): Define the `inhibit-interaction' variable.

4 years agoUpdate substitute-command-keys tests, again
Glenn Morris [Tue, 12 Jan 2021 13:41:13 +0000 (05:41 -0800)]
Update substitute-command-keys tests, again

* test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps)
(help-tests-substitute-command-keys/keymap-change):
Update following recent minibuffer changes.

4 years agocomint-read-input-ring: Simplify last commit
Brian Leung [Tue, 12 Jan 2021 12:29:03 +0000 (13:29 +0100)]
comint-read-input-ring: Simplify last commit

* lisp/comint.el (comint-read-input-ring): It is not necessary to use
  `goto-char' again since we have already moved point to the desired
  location (bug#45797).

4 years ago* lisp/emacs-lisp/eieio-base.el: Silence warnings in last change
Stefan Monnier [Mon, 11 Jan 2021 21:44:39 +0000 (16:44 -0500)]
* lisp/emacs-lisp/eieio-base.el: Silence warnings in last change

(eieio-persistent-make-instance): Quote the `eieio-named` class name.
(eieio-named): Move before `eieio-persistent`.

4 years agocedet/ede/auto.el:
Eric Ludlam [Sun, 10 Jan 2021 15:37:50 +0000 (10:37 -0500)]
cedet/ede/auto.el:

(ede-calc-fromconfig): New method.  Support functions in addition to
string matchers.
(ede-dirmatch-installed, ede-do-dirmatch):
Use `ede-calc-fromconfig' to do conversion.
Author: Eric Ludlam <zappo@gnu.org>

4 years agoeieio-base.el:
Eric Ludlam [Sun, 10 Jan 2021 15:54:49 +0000 (10:54 -0500)]
eieio-base.el:

(eieio-persistent-make-instance): Save the backward compatible 'name'
of objects saved in the file, and if the newly loaded class inherits
from 'eieio-named', restore the name of the object.
Author: Eric Ludlam <zappo@gnu.org>

4 years agoFix possible prepending of "TEXT" to IMAP searches
Eric Abrahamsen [Mon, 11 Jan 2021 17:46:58 +0000 (09:46 -0800)]
Fix possible prepending of "TEXT" to IMAP searches

* lisp/gnus/gnus-search.el (gnus-search-imap-search-keys): Add missing
keys "old", "new", "or" and "not".
(gnus-search-run-search): In addition, don't touch the query if it
starts with a parenthesis. Consider just getting rid of this
convenience altogether.

4 years ago* admin/notes/elpa: Update to match recent Gnu ELPA changes
Stephen Leake [Mon, 11 Jan 2021 17:18:31 +0000 (09:18 -0800)]
* admin/notes/elpa: Update to match recent Gnu ELPA changes

4 years agoMark previous erc-services change as not needing documentation
Lars Ingebrigtsen [Mon, 11 Jan 2021 16:06:11 +0000 (17:06 +0100)]
Mark previous erc-services change as not needing documentation

4 years agoMake comint-read-input-ring skip uninteresting text in .zsh_history
Brian Leung [Mon, 11 Jan 2021 15:42:03 +0000 (16:42 +0100)]
Make comint-read-input-ring skip uninteresting text in .zsh_history

* lisp/comint.el (comint-read-input-ring): Simplify (bug#45606).
* lisp/shell.el (shell-mode): Add "~/.zsh_history".
* lisp/comint.el (comint-read-input-ring): Bind
`comint-input-ring-file-prefix' in anticipation of a buffer switch.
* lisp/comint.el (comint-read-input-ring): Skip the separator.

Because re-search-backward moves point to the beginning of the match,
and since we don't want the separator appearing in the output, we skip
over it.

This is required to properly detect instances of the value that zsh
uses for `comint-input-ring-file-prefix'; if the
`comint-input-ring-file-prefix' is ':potato', the subsequent
invocation `looking-at' sees '\n:potato' for all entries after the one
at the very beginning of the history file.

4 years agoAdd a failing test for bug#44834
Anticrisis [Mon, 11 Jan 2021 15:16:50 +0000 (16:16 +0100)]
Add a failing test for bug#44834

* test/lisp/progmodes/tcl-tests.el (tcl-mode-namespace-indent-2):
New, failing test (bug#44834).
(tcl-mode-function-name-2):
(tcl-mode-function-name-3): Fix names of the tests so that they're
actually run.

Copyright-paperwork-exempt: yes

4 years agoSupport using auth-source for NickServ passwords in ERC
Leon Vack [Mon, 11 Jan 2021 14:51:14 +0000 (15:51 +0100)]
Support using auth-source for NickServ passwords in ERC

* lisp/etc/erc-services.el (erc-nickserv-passwords): Document that
the passwords are only used when erc-prompt-for-nickserv-password
is nil.
* (erc-use-auth-source-for-nickserv-password): New customizable
variable to enable checking auth-source for NickServ passwords.
* (etc-nickserv-get-password): New function to handle the lookup
of the NickServ password from both auth-source and the
erc-nickserv-passwords variable.
* (erc-nickserv-call-identify-function): Use new
erc-nickserv-get-password function to lookup NickServ passwords.
* (erc-nickserv-identify-autodetect, erc-nickserv-identify-on-connect,
erc-nickserv-identify-on-nick-change): Call
erc-nickserv-call-identify-function when
erc-use-auth-source-for-nickserv-password is set.
* etc/NEWS: Document change (bug#45340).

4 years agoFix problem with non-ASCII characters in nnmaildir
Alexandre Duret-Lutz [Mon, 11 Jan 2021 14:27:54 +0000 (15:27 +0100)]
Fix problem with non-ASCII characters in nnmaildir

* lisp/gnus/nnmaildir.el (nnmaildir-request-article): Enable
multipart 8bit-content-transfer-encoded files to be displayed
correctly by reading as `raw-text' instead of having Emacs
(incorrectly) decode the files (bug#44307).

Copyright-paperwork-exempt: yes

4 years agoAdd `flat-button' to custom-face-attributes
Pedro Andres Aranda Gutierrez [Mon, 11 Jan 2021 14:07:01 +0000 (15:07 +0100)]
Add `flat-button' to custom-face-attributes

* lisp/cus-face.el (custom-face-attributes): Add `flat-button'
(bug#45769).

4 years ago* configure.ac: Alphabetize emacs_config_features
Robert Pluim [Mon, 11 Jan 2021 12:16:59 +0000 (13:16 +0100)]
* configure.ac: Alphabetize emacs_config_features

4 years agoEnsure HAVE_GMP is reflected in emacs_config_features
Robert Pluim [Mon, 11 Jan 2021 12:11:51 +0000 (13:11 +0100)]
Ensure HAVE_GMP is reflected in emacs_config_features

* configure.ac: Move HAVE_GMP setting before emacs_config_features
setting (Bug#45771).

4 years agoNew command xref-quit-and-pop-marker-stack
Dmitry Gutov [Sun, 10 Jan 2021 22:44:38 +0000 (00:44 +0200)]
New command xref-quit-and-pop-marker-stack

* lisp/progmodes/xref.el (xref-quit-and-pop-marker-stack):
New command.
(xref--xref-buffer-mode-map): Binding for it.

4 years agoAllow evaluation of tests from local source repository
Phillip Lord [Sun, 10 Jan 2021 21:49:51 +0000 (21:49 +0000)]
Allow evaluation of tests from local source repository

* etc/w32-feature.el (w32-feature-load-tests): Add new command

4 years agoFix build breakage if Lisp_Object is not a primitive type.
Philipp Stephani [Sun, 10 Jan 2021 21:35:02 +0000 (22:35 +0100)]
Fix build breakage if Lisp_Object is not a primitive type.

* src/minibuf.c (choose_minibuf_frame): Don't compare Lisp_Objects
with '!='.  Use 'EQ' instead.

4 years agoAdd functions to open a file without quitting.
Philipp Stephani [Sun, 10 Jan 2021 21:28:31 +0000 (22:28 +0100)]
Add functions to open a file without quitting.

In some situations, e.g. when the Lisp machinery isn't available, we
can't quit.  Don't check the quit flags in such situations, in case
they contain garbage.

* src/sysdep.c (emacs_open_noquit, emacs_openat_noquit): New variants
of 'emacs_open' and 'emacs_openat' that don't check the quit flags.

* src/emacs.c (main, Fdaemon_initialized):
* src/pdumper.c (pdumper_load):
* src/w32term.c (w32_initialize):
* src/buffer.c (mmap_init):
* src/callproc.c (emacs_spawn): Use them where we can't quit.

4 years agoFix incompleteness in the implementation of minibuffer-follows-selected-frame
Alan Mackenzie [Sun, 10 Jan 2021 20:32:40 +0000 (20:32 +0000)]
Fix incompleteness in the implementation of minibuffer-follows-selected-frame

In particular, add a new value to the variable, and fix several bugs apparent
with the implementation up till now.

* doc/emacs/mini.texi (Basic Minibuffer): Add a description of the new
non-nil, non-t value of minibuffer-follows-selected-frame.

* doc/emacs/trouble.texi (Quitting): Add a description of how C-g handles
recursive minibuffers when typed in one which isn't the most nested.

* doc/lispref/minibuf.texi (Intro to Minibuffers): Add an @dfn for "active
minibuffer".
(Minibuffer Commands): Document that exit-minibuffer throws an error when not
invoked from the innermost Minibuffer.
(Recursive Mini): Amend the description of the visibility of outer level
minibuffers.
(Minibuffer Misc): In the description of the minibuffer hooks, replace "the
minibuffer" with "a minibuffer".

* etc/NEWS (Entry announcing minibuffer-follows-selected-frame): Add a
description of the new non-nil, non-t value.

* lisp/cus-start.el (top level): make the customize entry for
minibuffer-follows-selected-frame a choice between three entries.

* lisp/minibuffer.el (exit-minibuffer): throw an error when we're not in the
most nested minibuffer.
(top level): Bind C-g to abort-minibuffers in minibuffer-local-map.

* lisp/window.el (window-deletable-p): return the symbol `frame' when (amongst
other things) minibuffer-follows-selected-frame is t.

* src/eval.c (internal_catch): Add a mechanism to (throw 'exit t) repeatedly
when the throw currently being processed doesn't terminate the current
minibuffer.

* src/lisp.h (this_minibuffer_depth): New extern declaration
(minibuf_level): extern declaration moved here from window.h.

* src/minibuf.c (minibuffer_follows_frame, minibuf_stays_put)
(minibuf_moves_frame_when_opened): New and amended functions to query the
value of minibuffer-follows-selected-frame.
(choose_minibuf_frame): check (minibuf > 1) in place of (minibufer > 0) at a
particular place.  At another place, check that an alleged frame is so and is
live.  Before selecting a non-miniwindow on a different frame, ensure it
really is a different frame.
(move_minibuffer_onto_frame): Stack up all recursive minibuffers on the target
frame.  Check the minibuf_window isn't in the old frame before setting that
frame's miniwindow to an inactive minibuffer.
(Finnermost_minibuffer_p, Fabort_minibuffers): New primitives.
(this_minibuffer_depth): New function.
(read_minibuf): Record the calling frame in a variable, and switch back to it
after the recursive edit has terminated normally, using
select-frame-set-input-focus.  Stack up all the recursive minibuffers on the
miniwindow where a new minibuffer is being opened.  After the recursive edit,
switch the selected window away from the expired minibuffer's window.
(nth_minibuffer): New function.
(minibuffer-follows-selected-frame): Change from a DEFVAR_BOOL to a
DEFVAR_LISP.

* src/window.c (decode_next_window_args): Set *minibuf to w's mini-window's
content when that content is a minibuffer.

* src/window.h (minibuf_level) Declaration moved from here to lisp.h.

4 years agoRespect message-forward-ignored-headers more
Lars Ingebrigtsen [Sun, 10 Jan 2021 15:16:42 +0000 (16:16 +0100)]
Respect message-forward-ignored-headers more

* lisp/gnus/message.el (message-forward-ignored-headers): Clarify
doc string once again.
(message-forward-make-body-mime): Remove headers when not
encrypted (bug#45631).
(message-forward-make-body): Pass in correct values.

4 years agoDefault python-shell-interpreter to python3
Glenn Morris [Sun, 10 Jan 2021 14:48:57 +0000 (15:48 +0100)]
Default python-shell-interpreter to python3

* lisp/progmodes/python.el (python-shell-interpreter): Default to
python3 (bug#45655).

4 years agoFix example in the Gnus manual
David Edmondson [Sun, 10 Jan 2021 14:45:07 +0000 (15:45 +0100)]
Fix example in the Gnus manual

* doc/misc/gnus.texi (Score Variables): In the example showing how to
use a list of functions for gnus-score-find-score-files-find-function,
return a list of strings from the lambda rather than trying to call
the string as a function (bug#45673).

4 years agoSpecify precedence in .authinfo files
Lars Ingebrigtsen [Sun, 10 Jan 2021 14:32:57 +0000 (15:32 +0100)]
Specify precedence in .authinfo files

* doc/misc/auth.texi (Help for users): Mention placing more
specific entries first (bug#45711).

4 years agoImprove fill-region-as-paragraph when there's a fill prefix
Lars Ingebrigtsen [Sun, 10 Jan 2021 14:04:39 +0000 (15:04 +0100)]
Improve fill-region-as-paragraph when there's a fill prefix

* lisp/textmodes/fill.el (fill-region-as-paragraph): Try to
improve how line breaks are set on unbreakable text with a fill
prefix area that has spaces within (bug#45720).

4 years agoMake font locking work in mercury-mode
k3tu0isui [Sun, 10 Jan 2021 13:36:51 +0000 (14:36 +0100)]
Make font locking work in mercury-mode

* lisp/progmodes/prolog.el (prolog-font-lock-keywords): Work in
all modes derived from prolog-mode (bug#45747).
(mercury-mode): Set up variables based on the Prolog system (bug#45747).

Copyright-paperwork-exempt: yes

4 years agoHyperlink symbol names without word syntax in Help
Basil L. Contovounesios [Sun, 27 Dec 2020 14:21:50 +0000 (14:21 +0000)]
Hyperlink symbol names without word syntax in Help

* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
(lisp-cl-font-lock-keywords-2): Allow single-character symbol names.
* lisp/help-mode.el (help-xref-symbol-regexp): Also match symbol
names starting with symbol syntax (bug#6601, bug#24309).
* test/lisp/help-mode-tests.el (help-mode-tests-xref-button): Test
hyperlink creation for function names without symbol syntax.

4 years agoAdd support for 'process-attributes' on OpenBSD
Omar Polo [Sun, 10 Jan 2021 13:25:22 +0000 (14:25 +0100)]
Add support for 'process-attributes' on OpenBSD

* src/sysdep.c (make_lisp_timeval):
(system_process_attributes): Implement for OpenBSD (bug#45729).

4 years ago; * lisp/custom.el (defcustom): Fix last change.
Basil L. Contovounesios [Sun, 10 Jan 2021 13:20:51 +0000 (13:20 +0000)]
; * lisp/custom.el (defcustom): Fix last change.

4 years agoAdd support for flat buttons
Pedro Andres Aranda Gutierrez [Sun, 10 Jan 2021 13:10:18 +0000 (14:10 +0100)]
Add support for flat buttons

* src/xfaces.c (Finternal_set_lisp_face_attribute):
(realize_gui_face): Add support for `flat-button' (bug#45735).

Copyright-paperwork-exempt: yes

4 years agoMinor shortdoc link improvements
Daniel Martín [Sun, 10 Jan 2021 12:45:44 +0000 (13:45 +0100)]
Minor shortdoc link improvements

* lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Use
describe-function as a fallback link when a function is not documented
in any Info manual.  Also make the link respond to mouse-1, like the
rest of *Help* links, and add a proper help-echo property.
* lisp/help-fns.el (help-fns--mention-shortdoc-groups): Same link
improvement as described before, this time for the shortdoc groups
(bug#45750).

4 years agoAdd a link to the manual from the defcustom doc string
Lars Ingebrigtsen [Sun, 10 Jan 2021 12:43:12 +0000 (13:43 +0100)]
Add a link to the manual from the defcustom doc string

* lisp/custom.el (defcustom): Add a link to the manual for the
:type element.

4 years agoRevert recent mm-with-part change
Lars Ingebrigtsen [Sun, 10 Jan 2021 12:30:25 +0000 (13:30 +0100)]
Revert recent mm-with-part change

* lisp/gnus/mm-decode.el (mm-with-part): Revert
23a887e426f81033b0de2f4c93a8525cb31c28da -- this is the wrong
place to handle this peculiarity.

4 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Sun, 10 Jan 2021 12:27:10 +0000 (13:27 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

4 years agoRework parts of Tramp's insert-directory, bug#45691
Michael Albinus [Sun, 10 Jan 2021 12:26:29 +0000 (13:26 +0100)]
Rework parts of Tramp's insert-directory, bug#45691

* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Fix some
unibyte/multibyte inconsistencies.  (Bug#45691)

* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory-one-file):
New test.

4 years agoAdd more mm-decode tests
Lars Ingebrigtsen [Sun, 10 Jan 2021 12:20:49 +0000 (13:20 +0100)]
Add more mm-decode tests

4 years ago* lisp/subr.el (global-map): Doc fix; add cross-reference.
Stefan Kangas [Sat, 9 Jan 2021 11:03:12 +0000 (12:03 +0100)]
* lisp/subr.el (global-map): Doc fix; add cross-reference.

4 years agoCreate new test file for socks.el
F. Jason Park [Sun, 10 Jan 2021 11:40:53 +0000 (12:40 +0100)]
Create new test file for socks.el

* test/lisp/net/socks-tests.el (socks-tests-auth-filter-url-http): Add
SOCKS5 authentication test and fake server (bug#45162).

4 years agoIncrease probability that a process test succeeds.
Philipp Stephani [Sun, 10 Jan 2021 09:14:27 +0000 (10:14 +0100)]
Increase probability that a process test succeeds.

* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-process): Work around
potential Emacs bug.

4 years agoRemove a pointless check for WCOREDUMPED.
Philipp Stephani [Sun, 10 Jan 2021 08:50:15 +0000 (09:50 +0100)]
Remove a pointless check for WCOREDUMPED.

WCOREDUMPED can only be used if the process was killed.

* src/process.c (status_convert): Don't check WCOREDUMPED if
WIFEXITED.

4 years agoSupport keyval style beamer frame labels
Tassilo Horn [Sun, 10 Jan 2021 08:40:07 +0000 (09:40 +0100)]
Support keyval style beamer frame labels

* lisp/textmodes/reftex-vars.el (reftex-label-regexps): Support keyval
style beamer frame labels.

4 years agoRemove reference to gnus-bug-create-help-buffer
Eric Abrahamsen [Sat, 9 Jan 2021 17:45:49 +0000 (09:45 -0800)]
Remove reference to gnus-bug-create-help-buffer

* lisp/gnus/gnus-win.el (gnus-buffer-configuration): Variable no
longer exists.

4 years agoDon't unblock SIGCHLD too early.
Philipp Stephani [Sat, 9 Jan 2021 20:17:42 +0000 (21:17 +0100)]
Don't unblock SIGCHLD too early.

We first need to register the received process ID so that
'handle_child_signal' checks it.  Otherwise we might never call
'waitpid' for these processes, risking deadlock.

* src/callproc.c (call_process):
* src/process.c (create_process): Don't unblock SIGCHLD before
registering the process ID to wait for.

* src/callproc.c (emacs_spawn): Accept a signal set from the caller.

4 years agoCount Flymake diagnostics in modeline by severity, not type
João Távora [Sat, 9 Jan 2021 18:49:49 +0000 (18:49 +0000)]
Count Flymake diagnostics in modeline by severity, not type

Originally reported in https://github.com/joaotavora/eglot/issues/588
by Pankaj Jangid.

* lisp/progmodes/flymake.el (flymake--mode-line-counter): Count
diagnostics by severity level, not by type.
(Version): Bump to 1.1.1

4 years ago* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Fix build of gnus-agent.el
Stefan Monnier [Sat, 9 Jan 2021 16:35:53 +0000 (11:35 -0500)]
* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Fix build of gnus-agent.el

Don't burp on "naked" variable let bindings.

4 years agoFix cl-concatenate use in macros
Eli Zaretskii [Sat, 9 Jan 2021 12:12:14 +0000 (14:12 +0200)]
Fix cl-concatenate use in macros

* lisp/emacs-lisp/cl-macs.el (inline): Remove cl-concatenate.
(Bug#45610)

4 years ago* lisp/emacs-lisp/cl-macs.el: Optimize self-calls in tail position
Stefan Monnier [Sat, 9 Jan 2021 00:59:16 +0000 (19:59 -0500)]
* lisp/emacs-lisp/cl-macs.el: Optimize self-calls in tail position

Implement a limited form of tail-call optimization for the special
case of recursive functions defined with `cl-labels`.  Only self-recursion
is optimized, no attempt is made to handle more complex cases such a mutual
recursion.

The main benefit is to reduce the use of the stack, tho in my limited
tests, this can also improve performance (about half of the way to
a hand-written `while` loop).

(cl--self-tco): New function.
(cl-labels): Use it.

* lisp/subr.el (letrec): Optimize single-binding corner case.

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): Add tests
to check that TCO is working.

4 years agoMake sure default-directory relates to the originating buffer
Dmitry Gutov [Sat, 9 Jan 2021 00:08:59 +0000 (02:08 +0200)]
Make sure default-directory relates to the originating buffer

* lisp/progmodes/xref.el (xref--show-xref-buffer):
Pick up default-directory value from the caller
(https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00551.html).
(xref-show-definitions-buffer-at-bottom): Same.

4 years ago* lisp/subr.el (letrec): Optimize some non-recursive bindings
Stefan Monnier [Fri, 8 Jan 2021 23:44:13 +0000 (18:44 -0500)]
* lisp/subr.el (letrec): Optimize some non-recursive bindings

* lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Look inside bytecode
objects as well.

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
* test/lisp/subr-tests.el (subr--tests-letrec): New tests.

4 years ago* lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): Fix last change
Stefan Monnier [Fri, 8 Jan 2021 23:28:47 +0000 (18:28 -0500)]
* lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): Fix last change

4 years ago* lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Rename from `pcase--fgrep`
Stefan Monnier [Fri, 8 Jan 2021 22:57:26 +0000 (17:57 -0500)]
* lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Rename from `pcase--fgrep`

* lisp/emacs-lisp/cl-generic.el (cl--generic-fgrep): Delete.
(cl--generic-lambda): Use `macroexp--pacse` instead.

* lisp/emacs-lisp/pcase.el (pcase--fgrep): Rename to `macroexp--fgrep`.

4 years agoMerge recently added kbd tests
Stefan Kangas [Fri, 8 Jan 2021 14:26:02 +0000 (15:26 +0100)]
Merge recently added kbd tests

* test/lisp/subr-tests.el (subr--kbd): Merge test...
(subr-test-kbd): ...with this one.  Fix thinko in my previous commit.
Thanks to Mattias Engdegård <mattiase@acm.org>.

4 years agoLift define-prefix-command to Lisp
Stefan Kangas [Fri, 8 Jan 2021 14:16:02 +0000 (15:16 +0100)]
Lift define-prefix-command to Lisp

* lisp/subr.el (define-prefix-command): New defun.
* src/keymap.c (Fdefine_prefix_command): Remove DEFUN.
(syms_of_keymap): Remove defsubr for Fdefine_prefix_command.
* test/lisp/subr-tests.el (subr-test-define-prefix-command): New
test.

4 years ago* test/lisp/subr-tests.el (subr-test-kbd): New test.
Stefan Kangas [Fri, 8 Jan 2021 11:27:32 +0000 (12:27 +0100)]
* test/lisp/subr-tests.el (subr-test-kbd): New test.

4 years agoRemove unused DEFSYM
Stefan Kangas [Thu, 7 Jan 2021 18:01:55 +0000 (19:01 +0100)]
Remove unused DEFSYM

* src/minibuf.c (syms_of_minibuf) <Qhistory_length>: Remove unused
DEFSYM.

4 years agoFix syntax of space characters
Eli Zaretskii [Fri, 8 Jan 2021 11:53:28 +0000 (13:53 +0200)]
Fix syntax of space characters

* lisp/international/characters.el (tbl): Give all the space
characters whose Unicode General Category is Zs the 'space'
syntax.  (Bug#45660)

4 years ago* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
Michael Albinus [Fri, 8 Jan 2021 08:58:31 +0000 (09:58 +0100)]
* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):

Tag it :unstable on hydra.

4 years ago* lisp/tab-bar.el: Improve tab-bar-show (bug#45556)
Juri Linkov [Thu, 7 Jan 2021 18:08:44 +0000 (20:08 +0200)]
* lisp/tab-bar.el: Improve tab-bar-show (bug#45556)

* lisp/tab-bar.el (tab-bar-show): Change :set lambda to update all frames.
Improve docstring.

4 years ago* lisp/mb-depth.el (minibuffer-depth-indicator): Add :group 'minibuffer'.
Juri Linkov [Thu, 7 Jan 2021 17:56:59 +0000 (19:56 +0200)]
* lisp/mb-depth.el (minibuffer-depth-indicator): Add :group 'minibuffer'.

4 years agoRemove an outdated comment
Stefan Kangas [Thu, 7 Jan 2021 17:51:50 +0000 (18:51 +0100)]
Remove an outdated comment

* lisp/subr.el: Remove comment to reflect recent change in the
definition of global-map, esc-map and ctl-x-map.

4 years agoFurther display-buffer doc changes
Lars Ingebrigtsen [Thu, 7 Jan 2021 15:47:26 +0000 (16:47 +0100)]
Further display-buffer doc changes

* lisp/window.el (display-buffer): `display-buffer-alist' is
apparently the variable the user should be directed towards.

4 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Thu, 7 Jan 2021 15:43:45 +0000 (16:43 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

4 years ago* test/lisp/filenotify-tests.el (file-notify-test07-many-events-remote):
Michael Albinus [Thu, 7 Jan 2021 15:43:27 +0000 (16:43 +0100)]
* test/lisp/filenotify-tests.el (file-notify-test07-many-events-remote):

Mark it as unstable also on emba.

4 years agoAdd a display-buffer window selection function that's more like XEmacs
Lars Ingebrigtsen [Thu, 7 Jan 2021 15:35:48 +0000 (16:35 +0100)]
Add a display-buffer window selection function that's more like XEmacs

* doc/lispref/windows.texi (Buffer Display Action Functions):
Document it.
* lisp/window.el (display-buffer--action-function-custom-type): Add.
(display-buffer): Mention it.
(display-buffer-use-least-recent-window): New function (bug#45688).

* src/window.c (Fwindow_bump_use_time): New function.

4 years agoFix typo in last display-buffer doc string change
Lars Ingebrigtsen [Thu, 7 Jan 2021 15:00:58 +0000 (16:00 +0100)]
Fix typo in last display-buffer doc string change

* lisp/window.el (display-buffer): Fix typo in last doc string change.

4 years agoEdit the display-buffer doc string slightly
Lars Ingebrigtsen [Thu, 7 Jan 2021 14:45:05 +0000 (15:45 +0100)]
Edit the display-buffer doc string slightly

* lisp/window.el (display-buffer): Reword the start of the doc
string (bug#45688).

4 years agoAdd work-around for nnmaildir encoding problem
Lars Ingebrigtsen [Thu, 7 Jan 2021 14:12:23 +0000 (15:12 +0100)]
Add work-around for nnmaildir encoding problem

* lisp/gnus/mm-decode.el (mm-with-part): Fix problem with
multipart 8bit encoded posts from nnmaildir (bug#44307).

4 years agoAdd tests for mm-decode.el
Lars Ingebrigtsen [Thu, 7 Jan 2021 13:32:28 +0000 (14:32 +0100)]
Add tests for mm-decode.el

4 years agoClear socks protocol scratch after authentication
F. Jason Park [Thu, 7 Jan 2021 12:43:13 +0000 (13:43 +0100)]
Clear socks protocol scratch after authentication

* lisp/net/socks.el (socks-open-connection): Fix incomplete patch
titled "Append incremental message segments in socks-filter," which
addressed chunk ordering but neglected to zero out the work area
following successful username/password authentication (bug#45162).

4 years agoFix quoting problem in pop3-uidl-save
Andreas Schwab [Thu, 7 Jan 2021 12:20:43 +0000 (13:20 +0100)]
Fix quoting problem in pop3-uidl-save

* lisp/net/pop3.el (pop3-uidl-save): Quote strings properly
(bug#43896).

4 years agoRevert mark-paragraph change and add tests
Lars Ingebrigtsen [Thu, 7 Jan 2021 12:08:45 +0000 (13:08 +0100)]
Revert mark-paragraph change and add tests

* lisp/textmodes/paragraphs.el (mark-paragraph): Revert
eb090f65ceb0ae8a90829e911694348583135ba5 (bug#45318).  This restores
the behaviour from Emacs 27 -- further work is needed on this patch.

4 years ago* test/Makefile.in (WRITE_LOG): Mark also problematic tests for emba.
Michael Albinus [Thu, 7 Jan 2021 09:14:37 +0000 (10:14 +0100)]
* test/Makefile.in (WRITE_LOG): Mark also problematic tests for emba.

4 years agoUpdate a substitute-command-keys test
Glenn Morris [Thu, 7 Jan 2021 01:19:17 +0000 (17:19 -0800)]
Update a substitute-command-keys test

* test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps):
Update for "Pretty-print keys without <> around modifiers" change.

4 years agoFix some failing tests in BSD systems
Daniel Martín [Wed, 6 Jan 2021 20:53:40 +0000 (22:53 +0200)]
Fix some failing tests in BSD systems

* test/lisp/progmodes/xref-tests.el
(xref--xref-file-name-display-is-abs)
(xref--xref-file-name-display-is-relative-to-project-root):
Accommodate some older versions of BSD find
(https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00156.html).

4 years agoProof some searches and file listings against symlinks
Dmitry Gutov [Wed, 6 Jan 2021 17:41:55 +0000 (19:41 +0200)]
Proof some searches and file listings against symlinks

* lisp/progmodes/project.el (project--files-in-directory):
Make sure the directory includes the trailing slash in case it's
a symlink, discussed in
https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00345.html.

* lisp/progmodes/xref.el (xref-matches-in-directory): Same.

* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
Same.

4 years ago* lisp/mb-depth.el (minibuffer-depth-indicator): New face.
Gabriel do Nascimento Ribeiro [Wed, 6 Jan 2021 18:27:26 +0000 (20:27 +0200)]
* lisp/mb-depth.el (minibuffer-depth-indicator): New face.

(minibuffer-depth-setup): Use new face and add a single space between
the depth indicator and the minibuffer prompt.
https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00230.html

Copyright-paperwork-exempt: yes

4 years agoFix obsolete variable warnings about class names
Michael Heerdegen [Tue, 22 Dec 2020 04:44:47 +0000 (05:44 +0100)]
Fix obsolete variable warnings about class names

* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload): Try to make
the wording of the warning about the obsoleted variable less confusing.
* lisp/emacs-lisp/bytecomp.el (byte-compile-check-variable): Don't
warn for lexical variables (Bug#39169).  Fix spurious `or'.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp/warn-obsolete-variable-bound\.el): New test.
* test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-bound.el:
New file.

4 years ago* lisp/play/dunnet.el: Run the game when loaded via `--batch -l dunnet`
Stefan Monnier [Wed, 6 Jan 2021 02:29:41 +0000 (21:29 -0500)]
* lisp/play/dunnet.el: Run the game when loaded via `--batch -l dunnet`

(dun--batch): Rename from `dun-batch` and don't autoload.
(dunnet): Delegate to `dun--batch` when in batch mode.

4 years ago* lisp/emacs-lisp/package.el (package-activate-all): Another tweak
Stefan Monnier [Wed, 6 Jan 2021 02:26:03 +0000 (21:26 -0500)]
* lisp/emacs-lisp/package.el (package-activate-all): Another tweak

`package-quickstart.el` files presume `package-activated-list`
is a bound variable, so make sure this is the case even when `package.el` is
not yet loaded.

4 years ago* lisp/emacs-lisp/autoload.el: Improve last change
Stefan Monnier [Tue, 5 Jan 2021 22:57:15 +0000 (17:57 -0500)]
* lisp/emacs-lisp/autoload.el: Improve last change

It turns out there were other places that used `custom-initialize-delay`
on autoloaded variables and used various hacks to make it work with
`autoload.el`.  The new code makes those hacks unneeded.
Also, there's no point trying to "optimize" those rare cases anyway,
so I simplified the `autoload.el` code for those cases.

(make-autoload): For non-trivial cases,
just include the whole `defcustom` instead of trying to mimic it.

* lisp/mail/rmail.el (rmail-spool-directory): Remove hacks.
* lisp/info.el (Info-default-directory-list): Remove `progn` hack.

* lisp/custom.el (custom-declare-variable)
(custom-handle-all-keywords): Don't use pseudo-group `nil`.

4 years agoPrevent stack overflow in GNUstep menu code
Alan Third [Tue, 5 Jan 2021 21:43:12 +0000 (21:43 +0000)]
Prevent stack overflow in GNUstep menu code

* src/nsmenu.m (ns_update_menubar): Always do a deep update for
GNUstep.
([EmacsMenu menuNeedsUpdate:]): Don't update the menu as it should
always have had a deep update.

4 years ago* lisp/subr.el (remove-hook): Add default value (bug#45393)
Juri Linkov [Tue, 5 Jan 2021 18:59:51 +0000 (20:59 +0200)]
* lisp/subr.el (remove-hook): Add default value (bug#45393)

4 years ago* lisp/tab-bar.el (tab-bar-tab-name-format-function): New defcustom.
Juri Linkov [Tue, 5 Jan 2021 18:55:29 +0000 (20:55 +0200)]
* lisp/tab-bar.el (tab-bar-tab-name-format-function): New defcustom.

(tab-bar-tab-name-format-default): New function as the default value.
(tab-bar-make-keymap-1): Funcall tab-bar-tab-name-format-function.

4 years ago* lisp/tab-bar.el (toggle-frame-tab-bar): New command (bug#45556)
Juri Linkov [Tue, 5 Jan 2021 18:43:22 +0000 (20:43 +0200)]
* lisp/tab-bar.el (toggle-frame-tab-bar): New command (bug#45556)

4 years agoRefactor tab-bar-mode to -define-keys and -load-buttons (bug#42052)
James N. V. Cash [Tue, 5 Jan 2021 18:35:35 +0000 (20:35 +0200)]
Refactor tab-bar-mode to -define-keys and -load-buttons (bug#42052)

* lisp/tab-bar.el (tab-bar--define-keys, tab-bar--load-buttons):
Move some code here from 'tab-bar-mode'.
(tab-bar-new-tab-to): Call tab-bar--load-buttons and tab-bar--define-keys.

Copyright-paperwork-exempt: yes