Commit Graph

144887 Commits

Author SHA1 Message Date
Lars Ingebrigtsen
3bbec2eb2b Fix up example in the Modifying Menus node in the lispref manual
* doc/lispref/keymaps.texi (Modifying Menus): Make the second
example more regular (bug#14257).
2021-01-20 04:17:41 +01:00
Lars Ingebrigtsen
f925aabcce Mention that the mouse will switch on transient-mark-mode in manual
* doc/lispref/markers.texi (The Mark): Mention that the mouse will
enable the `(only)' transient mark mode (bug#14945).
2021-01-20 03:54:18 +01:00
Lars Ingebrigtsen
5aff1bfdaf Make sh-mode use `auto-mode-interpreter-regexp'
* lisp/progmodes/sh-script.el (sh-mode): Use
`auto-mode-interpreter-regexp' instead of open-coding the value
(bug#17158).
2021-01-20 03:25:46 +01:00
Nick Drozd
5536893c6e test/lisp/replace-tests.el: Add nested match group test
* test/lisp/replace-tests.el (replace-regexp-bug45973): Add test
(bug#45973).
2021-01-20 02:46:17 +01:00
Philipp Stephani
8ed97a8d54 Make child signal read pipe non-blocking.
Otherwise Emacs might hang when trying to read the pipe twice in a
row.  This is consistent with the other file descriptors we pass to
'pselect'.

* src/process.c (child_signal_init): Make read end of pipe
non-blocking.
2021-01-19 21:38:46 +01:00
Dmitry Gutov
8725f7690a Declare some project commands interactive-only
* lisp/progmodes/project.el (project-async-shell-command)
(project-shell-command, project-compile):
Declare interactive-only (bug#45765).
2021-01-19 21:50:11 +02:00
Juri Linkov
eec059b124 * lisp/help-fns.el: Move defvar keymap-name-history closer to where it's used. 2021-01-19 20:27:29 +02:00
Juri Linkov
e718d3a849 Better check for nil in search-/query-replace-highlight-submatches (bug#45973)
* lisp/isearch.el (isearch-highlight):
* lisp/replace.el (replace-highlight):
Use integer-or-marker-p to check matches.
2021-01-19 20:13:48 +02:00
Ted Zlatanov
1248c67484 * test/infra/gitlab-ci.yml: Bootstrap only from web, schedule, or C-related. 2021-01-19 18:00:55 +00:00
Mattias Engdegård
bfa140d7cf Calc: use Unicode brackets in Big mode when available (bug#45917)
* lisp/calc/calccomp.el (math--big-bracket-alist)
(math--big-bracket, math--comp-bracket, math--comp-round-bracket):
New.
(math-compose-expr, math-compose-log, math-compose-log10)
(math-compose-choose, math-compose-integ, math-compose-sum)
(math-compose-prod): Use big brackets when available.
2021-01-19 19:00:09 +01:00
Stefan Monnier
039ab602cb * etc/NEWS.19: Add entry for indent-line-to
* lisp/version.el (emacs-major-version, emacs-minor-version):
Remove redundant version info already displayed by `C-h o`.
2021-01-19 12:53:42 -05:00
Michael Albinus
f3b9d5b315 Some Tramp fixes, resulting from test campaign
* doc/misc/tramp.texi (Remote shell setup): Clarifications for
`tramp-actions-before-shell' example.

* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Do not expand
FILENAME explicitely.
(tramp-open-shell): Add "-i" for interactive shells.

* test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p)
(tramp-test14-delete-directory)
(tramp-test43-asynchronous-requests): Skip for MS windows.
2021-01-19 18:45:55 +01:00
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
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