1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-10 00:42:17 -07:00
Commit graph

155589 commits

Author SHA1 Message Date
Stefan Monnier
deb90c893d * lisp/startup.el: Fix bug#45857, bug#30994, and bug#45913.
(command-line): Don't re-evaluate the `custom-delayed-init-variables`
a second time after reading the `early-init.el` file.
(x-apply-session-resources): Set `blink-cursor-mode` rather than
`no-blinking-cursor`.

* lisp/frame.el (blink-cursor-start): Turn `blink-cursor-mode` off
if `blink-cursor-mode` was set to nil.
(blink-cursor-mode): Default to it being enabled regardless of
`window-system`.

* lisp/custom.el (custom-initialize-delay): Fox docstring now that
autoload.el preserves the `:initialize` info.
2021-01-19 12:10:48 -05:00
Lars Ingebrigtsen
3c58443855 Only show "2x entries" i vc log buffers if needed
* lisp/vc/vc.el (vc-print-log-setup-buttons): Only show the "more"
buttons if we got more or equal to the number of entries we asked
for (bug#18959).
2021-01-19 17:26:01 +01:00
Mattias Engdegård
5369b69bd8 Parse square root sign in embedded Calc mode
* lisp/calc/calc-lang.el (math-read-big-rec): Recognise √ since it may
be used in Big mode.
2021-01-19 16:11:51 +01:00
Mattias Engdegård
297edbebec Missing dynamic variable declarations in Calc
* lisp/calc/calc-embed.el (calc-embedded-set-modes): Prevent
the-language and the-display-just from being lexically bound here,
because they may be assigned using 'set'.
2021-01-19 16:11:51 +01:00
Lars Ingebrigtsen
3b731b123d Fix slow abbrev expansion in `message-mode' in some circumstances
* lisp/gnus/message.el (message--syntax-propertize): Use the
correct Message mode syntax table to avoid having
`message-cite-prefix-regexp' trigger very heavy backtracing when
called from an abbrev context (which defines "_" as a word
constituent) (bug#45944).
2021-01-19 16:07:54 +01:00
Lars Ingebrigtsen
e544b86343 Don't stop Gnus startup on password failures
* lisp/gnus/nntp.el (nntp-send-authinfo): Don't signal an
`nntp-authinfo-rejected' error, because that will stop Gnus
startup (bug#45855).  Instead signal an error that will be caught
higher up.
2021-01-19 15:54:45 +01:00
Michael Albinus
91a6e19337 Handle also test/lib-src directory
* test/Makefile.in (SUBDIRS): Add lib-src.

* test/README: Add predefined selectors.

* test/file-organization.org: Mention test/lib-src directory.
2021-01-19 14:12:22 +01:00
Mauro Aranda
f2f06b0209 Fix list-colors-print handling of callback arg
* lisp/facemenu.el (list-colors-print): Keeping
backward-compatibility, don't fail when passed a closure object as
CALLBACK.  (Bug#45831)
2021-01-19 09:25:00 -03:00
Mauro Aranda
33ff86a20a Add test for the widget-color-match function (Bug#45829)
* test/lisp/wid-edit-tests.el (widget-test-color-match): New test.
2021-01-19 09:11:37 -03:00
Drew Adams
ba0cf1d701 Tweaks to the color widget (Bug#45829)
* lisp/wid-edit.el (widget-color-match, widget-color-validate): New
functions.
(color): Use the new functions.  Base size on longest defined color
name, defaulting to the longest RGB hex string.
2021-01-19 09:11:18 -03:00
Protesilaos Stavrou
b62a1e358b Add 'perl-non-scalar-variable' face to perl-mode
* etc/NEWS: Document the new face (bug#45840).
* lisp/progmodes/perl-mode.el (perl-non-scalar-variable): Define new
face.
(perl-font-lock-keywords-2): Apply 'perl-non-scalar-variable' face.
2021-01-19 08:11:39 +01:00
James N. V. Cash
4e64d02356 Define keymap-name-history
* lisp/help-fns.el (keymap-name-history): Define the history
variable (bug#45879).  This avoids problems in other completing
systems like Helm.

Copyright-paperwork-exempt: yes
2021-01-19 07:07:37 +01:00
Lars Ingebrigtsen
378a01e168 Actually make the calc trail window dedicated
* lisp/calc/calc.el (calc-trail-display): Actually make the trail
window dedicated (bug#45928).
2021-01-19 06:05:53 +01:00
Lars Ingebrigtsen
43982a8f10 Don't infloop in comint-redirect-results-list-from-process
* lisp/comint.el (comint-redirect-results-list-from-process):
Ensure forward progress (bug#45950).
2021-01-19 05:13:03 +01:00
Lucas Werkmeister
973799f179 Mark the various nxml flags as safa
* lisp/nxml/nxml-mode.el (nxml-char-ref-display-glyph-flag)
(nxml-sexp-element-flag, nxml-slash-auto-complete-flag)
(nxml-child-indent, nxml-attribute-indent)
(nxml-bind-meta-tab-to-complete-flag)
(nxml-prefer-utf-16-to-utf-8-flag)
(nxml-prefer-utf-16-little-to-big-endian-flag)
(nxml-default-buffer-file-coding-system)
(nxml-auto-insert-xml-declaration-flag): Add :safe to allow easier
cusomization (bug#45969).
2021-01-19 04:47:14 +01:00
Lars Ingebrigtsen
f844ce69cd Revert "* .gitignore: add src/fingerprint.c"
This reverts commit 2644353cbc.

The src/fingerprint.c file is no longer generated, and the spelling of the obsolete function was correct.
2021-01-19 04:29:56 +01:00
Dmitry Gutov
4ca808ee7a Make sure the new window is not too tall
* lisp/progmodes/xref.el (xref-show-definitions-buffer-at-bottom):
Make sure the new window is not too tall (bug#45945).
2021-01-19 03:05:44 +02:00
Stephen Gildea
35119b2bc0 time-stamp-tests now pass in more locales
Update time-stamp-tests to use format-time-string to generate the date
words (month, day of week, AM/PM) instead of hard-coding English.  Now
the tests pass in locales other than "C" and US English.

Expand the test coverage of modifier characters.
2021-01-18 13:47:15 -08:00
Eric Abrahamsen
20add1cd22 Allow gnus-retrieve-headers to return headers directly
Previously, all Gnus backends returned header information by writing
nov lines into the nntp-server-buffer, which was later parsed.  This
commit allows the backends to return their header information as a
list of already-parsed headers, though so far none of the backends
actually do that.  The agent, cache, cloud etc. now operate on parsed
headers rather than nov text, ie. they use gnus-fetch-headers instead
of gnus-retrieve-headers.

* lisp/gnus/gnus-sum.el (gnus-fetch-headers): Handle the case in which
gnus-retrieve-headers returns headers directly.
* lisp/gnus/nnvirtual.el (nnvirtual-retrieve-headers): Use
gnus-fetch-headers rather than gnus-retrieve-headers to get headers,
meaning we're operating on already-parsed headers.
(nnvirtual-convert-headers): Remove now-unnecessary function.
(nnvirtual-update-xref-header): Rewrite to operate on parsed header.
* lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks): Use
gnus-fetch-headers instead of gnus-retrieve-headers.
* lisp/gnus/gnus-cache.el (gnus-cache-retrieve-headers): Use
gnus-fetch-headers.
(gnus-cache-braid-nov, gnus-cache-braid-heads): Delete unnecessary
functions -- we now do this work on a list of parsed headers.
* lisp/gnus/gnus-agent.el (gnus-agent-retrieve-headers): Use
gnus-fetch-headers.
(gnus-agent-braid-nov): Remove unnecessary function.
(gnus-agent-fetch-headers): Use gnus-fetch-headers.
2021-01-18 13:05:36 -08:00
Basil L. Contovounesios
8f4b3b812a
Fix ibuffer-mark-by-file-name-regexp abbreviations
* lisp/ibuffer.el (ibuffer--abbreviate-file-name): New function.
(filename): Use it.
* lisp/ibuf-ext.el (ibuffer-mark-by-file-name-regexp): Prefer
read-regexp over read-string for reading regexps.  Determine file
name using ibuffer-buffer-file-name for consistency.  Abbreviate
file name using ibuffer-directory-abbrev-alist (bug#18859).
2021-01-18 17:58:42 +00:00
Basil L. Contovounesios
bdb9889f78
Use format-prompt in read-regexp.
* lisp/replace.el (read-regexp): Use format-prompt (bug#12443).
2021-01-18 17:58:42 +00:00
Eric Ludlam
9214402791 * lisp/cedet/ede/proj.el: Enable Project files to load
(ede-proj-target-makefile): Give more precise type for its `rules` slot.

* lisp/cedet/ede/base.el (ede-target-list): Don't define.
(ede-project): Use `list-of` instead.
2021-01-18 12:49:11 -05:00
Eli Zaretskii
b2e6ed4026 Fix recent changes for Cham script
* lisp/language/cham.el ("Cham"): Fix sample-text.
* lisp/leim/quail/cham.el: Really install this new file.
2021-01-18 19:17:59 +02:00
Eli Zaretskii
47ddda0cc4 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2021-01-18 19:03:46 +02:00
Aaron Jensen
c4be126c42 * test/src/xdisp-tests.el: Fix tests to work in batch mode
(xdisp-tests--window-text-pixel-size)
(xdisp-tests--window-text-pixel-size-leading-space)
(xdisp-tests--window-text-pixel-size-trailing-space): Fix tests.
(Bug#45748)
2021-01-18 19:03:01 +02:00
Lars Ingebrigtsen
f9dab61272 Don't double up keys in epa--list-keys
* lisp/epa.el (epa--list-keys): Delete the list keys before
redisplaying (bug#44134).
2021-01-18 17:35:55 +01:00
Stephen Berman
455f08c095 Fix problem with `epa-list-keys' bugging out
* lisp/epa.el (epa--list-keys): Partially revert 517285f7ca which
removed the wrong property (bug#44134).
2021-01-18 17:29:41 +01:00
Mattias Engdegård
36d33776c2 Avoid macOS NSFilenamesPboardType warning (bug#33035)
* src/nsterm.h (NS_USE_NSPasteboardTypeFileURL): New #define.
* src/nsterm.m (ns_term_init):
([EmacsView performDragOperation:]):
* src/nsselect.m (ns_string_to_symbol):
(nxatoms_of_nsselect):
NSFilenamesPboardType was deprecated in macOS 10.14; use
NSPasteboardTypeFileURL instead when available.
2021-01-18 12:52:08 +01:00
Philipp Stephani
3b4050154e Replace Unix commands with Emacs in process tests.
That way, the tests only depend on Emacs, and not on utilities that
might not be available during test time.

* test/src/process-tests.el (process-tests--eval)
(process-tests--emacs-command, process-tests--emacs-binary)
(process-tests--dump-file)
(process-tests--usable-file-for-reinvoke): New helper functions.
(process-tests/sentinel-called)
(process-tests/sentinel-with-multiple-processes): Use them.
2021-01-18 11:40:34 +01:00
Andrea Corallo
39b3bcd324 * Run dead code removal always before fwprop, optim bootstrap time (~20% less)
* lisp/emacs-lisp/comp.el (comp-passes): Remove `comp-dead-code'.
	(comp-fwprop): Call `comp-dead-code'.
	(comp-dead-code): Remove fake arg.
2021-01-17 22:42:19 +01:00
Andrea Corallo
339b4a754b * Introduce `comp-fwprop-max-insns-scan' as heuristic threshold
* lisp/emacs-lisp/comp.el (comp-fwprop-max-insns-scan): New
	constant.
	(comp-fwprop*): Give-up when `comp-fwprop-max-insns-scan' is
	exceeded.
2021-01-17 22:33:02 +01:00
Andrea Corallo
883d937320 Make `comp-enable-subr-trampolines' effective for advices (bug#45854)
* src/comp.c: Copyright update.
	(syms_of_comp): Update `comp-enable-subr-trampolines' doc.
	* lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Check
	for `comp-enable-subr-trampolines'.
2021-01-17 17:01:51 +01:00
Eli Zaretskii
b215e83a78 Improve support for the Cham script and languages
* etc/NEWS: Announce the new 'cham' input method.
* etc/HELLO: Fix the order of letters in the Cham greeting.
Remove redundant newlines (reported by Ulrich Mueller
<ulm@gentoo.org>).

* lisp/language/cham.el ("Cham"): Add input-method entry.
* lisp/leim/quail/cham.el: New file.
* lisp/international/fontset.el (setup-default-fontset): Add an
entry for Cham.
2021-01-17 16:53:54 +02:00
Ted Zlatanov
372694e7c6
; * test/infra/gitlab-ci.yml: Merge test-template script into job-template. 2021-01-17 14:01:16 +00:00
Ted Zlatanov
1fe135a024
* test/infra/gitlab-ci.yml: Merge test-template into job-template. 2021-01-17 13:56:39 +00:00
Philipp Stephani
1773679af3 Ensure that sentinels are called during 'accept-process-output'.
When we're trying to notify a process about a status change, we need
to ignore the SIGCHLD pipe temporarily, otherwise the code would
likely not run into the timeout case that's necessary for a status
change to happen.

* src/process.c (wait_reading_process_output): Ignore the SIGCHLD pipe
when notifying a process about a status change.
* test/src/process-tests.el (process-tests/sentinel-called)
(process-tests/sentinel-with-multiple-processes): New unit tests.
2021-01-17 14:02:36 +01:00
Michael Albinus
39a65844e8 Add new targets to test/Makefile
* test/Makefile.in (SUBDIRS): New variable.
(subdir_template): New template.
(top) Create new check-<dirname> targets.

* test/README: Document them.

* test/infra/gitlab-ci.yml (test-lisp-net-inotify): Rename.
2021-01-17 13:37:58 +01:00
Philipp Stephani
152964362f Add a bit more clarification around standard error processes.
* doc/lispref/processes.texi (Asynchronous Processes): Document
how to obtain the standard error process that Emacs creates.
(Accepting Output): Add an example how to wait for standard error in
case Emacs has created a standard error process.
2021-01-17 11:55:45 +01:00
Stefan Monnier
25e1b73294 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Use pcase 2021-01-16 14:21:57 -05:00
Stefan Monnier
0ab56a4e93 * lisp/emacs-lisp/pcase.el: Add support for not to pred
(pcase--split-pred, pcase--funcall): Adjust for `not`.
(pcase--get-macroexpander): New function.
(pcase--edebug-match-macro, pcase--make-docstring)
(pcase--macroexpand): Use it.

* lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Use it!

* doc/lispref/control.texi (The @code{pcase} macro): Document it.

* lisp/emacs-lisp/ert.el (ert--explain-equal-rec): Remove redundant test.
2021-01-16 14:21:57 -05:00
Philipp Stephani
df34ed8cbf Don't crash if no asynchronous process has been created yet.
* src/process.c (wait_reading_process_output): Allow
child_signal_read_fd < 0.
2021-01-16 19:46:44 +01:00
Philipp Stephani
8f0ce42d3e Fix deadlock when receiving SIGCHLD during 'pselect'.
If we receive and handle a SIGCHLD signal for a process while waiting
for that process, 'pselect' might never return.  Instead, we have to
explicitly 'pselect' that the process status has changed.  We do this
by writing to a pipe in the SIGCHLD handler and having
'wait_reading_process_output' select on it.

* src/process.c (child_signal_init): New helper function to create a
pipe for SIGCHLD notifications.
(child_signal_read, child_signal_notify): New helper functions to
read from/write to the child signal pipe.
(create_process): Initialize the child signal pipe on first use.
(handle_child_signal): Notify waiters that a process status has
changed.
(wait_reading_process_output): Make sure that we also catch
SIGCHLD/process status changes.

* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-process): Remove workaround,
which is no longer needed.
2021-01-16 19:46:44 +01:00
Eli Zaretskii
66756df286 Fix Rmail summary for more than 99,999 messages
* lisp/mail/rmailsum.el (rmail-summary-font-lock-keywords): Don't
assume there will be less than 100,000 messages in an mbox file.
(Bug#45912)
2021-01-16 20:18:32 +02:00
Eli Zaretskii
0057294b2a Fix two tests
* test/lisp/progmodes/elisp-mode-tests.el (xref-elisp-test-run):
Make sure file names can be compared as strings, by running them
through 'file-truename'.  Reported by Vin Shelton
<acs@alumni.princeton.edu>.
* test/lisp/emacs-lisp/bytecomp-tests.el ("warn-obsolete-hook.el")
("warn-obsolete-variable.el"): Use [^z-a] to match a newline as
well.  Reported by Vin Shelton <acs@alumni.princeton.edu>.
2021-01-16 20:15:17 +02:00
Ted Zlatanov
57ae3f29af
test/infra/gitlab-ci.yml: run only for tags and some branches 2021-01-16 18:01:47 +00:00
Eli Zaretskii
378ce65a0d Improve support for Cham script
* lisp/language/cham.el ("Cham"): Expand the entry.

* etc/HELLO: Add entry for Cham.
2021-01-16 16:54:01 +02:00
Eli Zaretskii
b58fd1eab9 ; * lisp/language/cham.el: Fix copy-paste mistake in comment. 2021-01-16 16:32:00 +02:00
Ted Zlatanov
84e0749b8b
EMBA container build improvements for Emacs build testing.
* test/infra/gitlab-ci.yml: Moved from .gitlab-ci.yml. Use the
EMBA container registry with a different login token storage file
for each commit. Split test stages into prep, build, fast tests,
normal tests, platform tests, and slow (everything) and use
templates where possible.

* .gitlab-ci.yml: Include test/infra/gitlab-ci.yml and move all
content there.
2021-01-16 13:05:38 +00:00
Eli Zaretskii
c55b7b8e1f Fix last change
* src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position):
Don't compile the FRAME_MSDOS_P case on platforms other than
MSDOS, as that will never happen there.
2021-01-16 15:02:48 +02:00
Jared Finder
ba29d13f41 Make mouse-related calls be more consistent on all frame types
* src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Call
Fselect_frame and appropriate mouse_moveto function on all non-GUI
frame types, independent of #ifdef's.
* src/term.c (init_tty): Initialize mouse_face_window for all
non-GUI frame types.
(term_mouse_moveto) [HAVE_GPM]: Make available even if
HAVE_WINDOW_SYSTEM is defined.
* src/xdisp.c (try_window_id): Call gui_clear_window_mouse_face
in all cases.
2021-01-16 15:02:10 +02:00