1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-14 23:40:39 -08:00
Commit graph

149422 commits

Author SHA1 Message Date
Eli Zaretskii
fdf148cab4 Fix unwarranted point movement after C-g
When the same buffer is displayed in more than one window,
redisplay temporarily moves point to the window-point when it
works on non-selected windows.  If we allow C-g to quit out of
redisplay_window in this situation, point will appear to have
moved to the window-point of that non-selected window, which is
unwarranted.  These changes prevent quitting in strategic places,
so that we never quit out of redisplay_window.
* src/xdisp.c (run_window_scroll_functions):
Prevent quitting while running window-scroll-functions, so that we
don't quit out of redisplay_window with temporarily moved point.
(redisplay_window): While redisplaying the mode line, prevent
quitting, to avoid exiting while point is temporarily moved.
(decode_mode_spec): Use safe_call1 instead of call1, to trap any
errors instead of letting them throw out of redisplay.  (Bug#44448)
2021-08-15 14:11:23 +03:00
Masahiro Nakamura
e2eb58c487 Mark up commands in shortdoc.el for modes
* lisp/emacs-lisp/shortdoc.el: Add command mode tagging
(bug#50064).
2021-08-15 11:55:34 +02:00
João Távora
e6f3a4dc6c Fix bug#50063 when using icomplete-fido-kill with C-x p p
C-x p p utilizes a completion table "category" which is 'project-file'
icomplete-fido-kill only functioned for 'buffer' and 'file', and
failed with a non-informative message when something else was used.

* lisp/icomplete.el (icomplete-fido-kill): Support 'project-file'
class.  Use cl-case, instead of pcase.
2021-08-15 09:13:25 +01:00
Wolfgang Scherer
3572613550 Fix vc-git-state for filenames with wildcards
* lisp/vc/vc-git.el: (vc-git--literal-pathspec-inner),
(vc-git--literal-pathspec), (vc-git--literal-pathspecs) new functions
to add ":(literal)" pathspec magic (bug#39452).

(vc-git-registered), (vc-git-state), (vc-git-dir-status-goto-stage),
(vc-git-register), (vc-git-unregister), (vc-git-checkin),
(vc-git-find-revision), (vc-git-checkout), (vc-git-revert),
(vc-git-conflicted-files), (vc-git-print-log), (vc-git-diff),
(vc-git-previous-revision), (vc-git-next-revision),
(vc-git-delete-file), (vc-git-rename-file) functions
vc-git--literal-pathspec, vc-git--literal-pathspecs applied.
2021-08-15 04:22:26 +03:00
Dmitry Gutov
d1dbf7fc9e Revert "Bind the GIT_LITERAL_PATHSPECS environment variable"
This reverts commit a2d0ff2600.

It was found to break a certain use case, and we decided to go with
the other solution (bug#39452).
2021-08-15 03:45:42 +03:00
Lars Ingebrigtsen
31ab12e261 Mark auto-revert-test02-auto-revert-deleted-file as unstable
* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): This tests fails
about 30% of the time for me.
2021-08-14 21:37:32 +02:00
Eli Zaretskii
9c5dc3cbe0 * src/w32.c (_sys_read_ahead): Pacify a silly compiler warning. 2021-08-14 20:38:05 +03:00
Stefan Monnier
bf55b5ac17 * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Fix bug#50051
This corrects the quite confused conversion to closure done in
commit a070bd1c8b.
2021-08-14 12:22:57 -04:00
Alan Mackenzie
e3205eaeef * lisp/progmodes/cc-engine.el (c-ml-string-in-end-delim): Rewrite function 2021-08-14 14:42:55 +00:00
Eli Zaretskii
482049e542 Fix 'random' on MS-Windows when integers are wider than 30 bits
* src/w32.c (random): Provide more random bits for MS-Windows
builds with EMACS_INT that is wider than 32 bits.  (Bug#32605)
2021-08-14 17:39:38 +03:00
Lars Ingebrigtsen
e5cb6d3fd1 Add a test for netrc folding parsing (bug#25769) 2021-08-14 16:08:48 +02:00
Lars Ingebrigtsen
3c053ef142 Filter out -L foo labels in diff-hunk-file-names
* lisp/vc/diff-mode.el (diff-hunk-file-names): Filter out "-L foo"
labels (bug#10160).
2021-08-14 15:50:55 +02:00
Lars Ingebrigtsen
3fd0cc85a5 Revert "Add macro seq-setq."
This reverts commit a8a3fd8f8e.

The same patch was applied twice.  Remove the second instance.
2021-08-14 15:30:17 +02:00
Lars Ingebrigtsen
22d8e71d04 Make lm-crack-address less strict
* lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Use
mail-header-parse-address-lax (bug#50049).
2021-08-14 15:23:29 +02:00
Lars Ingebrigtsen
e91b574bf8 Add new functions for lax mail address splitting
* lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Autoload.
* lisp/mail/mail-parse.el (mail-header-parse-addresses-lax)
(mail-header-parse-address-lax): New functions.
2021-08-14 15:20:59 +02:00
Earl Hyatt
a8a3fd8f8e Add macro seq-setq.
* doc/lispref/sequences.texi (seq-setq): Document this macro.

* test/lisp/emacs-lisp/seq-tests.el (test-seq-setq):
Test this macro (bug#50053).
2021-08-14 14:17:55 +02:00
Earl Hyatt
c58f8dda2b Add macro seq-setq.
* doc/lispref/sequences.texi (seq-setq): Document this macro.

* lisp/emacs-lisp/seq.el (seq-setq): New macro.

* test/lisp/emacs-lisp/seq-tests.el (test-seq-setq):
Test this macro (bug#50053).
2021-08-14 14:17:12 +02:00
Yikai Zhao
adb6c3f1a4 Fix memory-report counting of vector/hash table sizes
* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1):
Count element values in vectors and hash tables.

Copyright-paperwork-exempt: yes
2021-08-14 13:46:37 +02:00
Basil L. Contovounesios
37d48edf6d Fix merging of ambiguous nil maps
* lisp/emacs-lisp/map.el: Bump version to 3.1.
(map--merge): New merging subroutine that uses a hash table in place
of lists, for both efficiency and avoiding ambiguities (bug#49848).
(map-merge): Rewrite in terms of map--merge.
(map-merge-with): Ditto.  This ensures that FUNCTION is called
whenever two keys are merged, even if they are not eql (which could
happen until now).  It also makes map-merge-with consistent with
map-merge, thus achieving greater overall predictability.
* etc/NEWS: Announce this weakening of guarantees.
* test/lisp/emacs-lisp/map-tests.el (test-map-merge)
(test-map-merge-with): Don't depend on specific orderings.  Test
that nil is correctly merged into a plist.
2021-08-14 11:24:54 +01:00
Mattias Engdegård
1bfbb2b706 Add font-lock-doc-markup-face (bug#50041)
This face is intended for mark-up syntax and constructs inside text
using font-lock-doc-face; ie, documentation comments and strings in
programming modes.

* lisp/font-lock.el (font-lock-doc-markup-face): New face.
* lisp/cus-theme.el (custom-theme--listed-faces): Add it to the list.
* doc/lispref/modes.texi (Faces for Font Lock): Document it.
* etc/NEWS: Mention it.
2021-08-14 11:00:40 +02:00
Eli Zaretskii
a3dd5f1216 ; * etc/NEWS: Improve wording of a recent addition. 2021-08-14 10:35:09 +03:00
Alan Mackenzie
254dc6ab4c CC Mode: Fix a bug in yesterday's patch
* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Check
the language has multi-line strings before calling
c-ml-string-opener-at-or-around-point.
2021-08-13 20:58:30 +00:00
Lars Ingebrigtsen
8fbb870083 Make debug' reset inhibit-read-only' while running
* lisp/emacs-lisp/debug.el (debug): Bind `inhibit-read-only' to
nil in case we're in a context that has bound it to t (bug#26947).
2021-08-13 15:50:14 +02:00
Lars Ingebrigtsen
e30c7f314b Adjust previous diff-changed-unspecified change
* lisp/vc/diff-mode.el (diff-changed-unspecified): Adjust the
definition to Emacs 28 (bug#26969).
2021-08-13 15:37:21 +02:00
Lars Ingebrigtsen
4d51c2c472 Add new face diff-changed-unspecified
* lisp/vc/diff-mode.el (diff-changed-unspecified): New face.
(diff-font-lock-keywords): Use it (bug#26969).
2021-08-13 15:35:49 +02:00
Lars Ingebrigtsen
cebe18b63e permanently-enabled-local-variables doc string clarification
* lisp/files.el (permanently-enabled-local-variables): Clarify
what kind of local variables this refers to.
2021-08-13 14:44:30 +02:00
Lars Ingebrigtsen
711eb40b9b Make info-look search harder for the Python info file
* lisp/info-look.el (python-mode): Try harder to find the correct
info file (bug#31405).
2021-08-13 13:38:38 +02:00
Lars Ingebrigtsen
65dd00667f Fix problem where an error would change standard-output
* src/keyboard.c (cmd_error): Don't set
standard-output/standard-input (bug#30529).  Instead bind them
temporarily while handling the error.
2021-08-13 13:19:39 +02:00
Lars Ingebrigtsen
37dbf10893 Unknown line endings in filepos-to-bufferpos/bufferpos-to-linepos
* lisp/international/mule-util.el (filepos-to-bufferpos): Give
better errors on `exact' with unknown line endings, and guess at
Unix if `approximate' (bug#36573).
(bufferpos-to-filepos): Ditto.
2021-08-13 13:06:33 +02:00
Lars Ingebrigtsen
6247540723 Remove :group from defcustoms in image-dired.el
* lisp/image-dired.el: Remove :group from the defcustoms throughout.
2021-08-13 12:28:55 +02:00
Peter Münster
6fd2a49335 Don't disable transient mark mode when changing image faces
* lisp/image-dired.el (image-dired-thumb-update-marks): Keep the
mark state when changing faces. (bug#49999).
2021-08-13 12:25:27 +02:00
Juri Linkov
a93d164ff3 * lisp/tab-bar.el (tab-bar-history-buttons-show): Remove defcustom.
(tab-bar-format-history): Don't use this recently added variable
because now it's possible to customize the option 'tab-bar-format'
to remove 'tab-bar-format-history' from it that gives the same result.
2021-08-13 10:30:20 +03:00
Juri Linkov
a9ad3d4774 Add save-some-buffers-root to save-some-buffers-default-predicate (bug#46374)
* lisp/files.el (save-some-buffers-default-predicate): Add choice
'save-some-buffers-root'.
(save-some-buffers-root): New predicate function.
(save-some-buffers): Check if 'pred' returns a lexically-bound lambda,
then use it as 'pred'.

Thanks to Tino Calancha <tino.calancha@gmail.com>
2021-08-13 10:10:29 +03:00
Alan Mackenzie
c4d34d24e3 CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language
* lisp/progmodes/cc-defs.el (cadar, caddr, cdddr): Add defsubsts for these for
when they are missing from the host Emacs.
(c-point): Add new `position' 'boll "beginning of logical line".
(c-clear-char-properties): Return the position of the lowest removed
property.

* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Fix for rare case where
LIMIT < START in parse-partial-sexp.
(c-old-beg-rs, c-old-end-rs, c-raw-string-end-delim-disrupted)
(c-raw-string-pos, c-raw-string-in-end-delim, c-depropertize-raw-string)
(c-depropertize-raw-strings-in-region, c-before-change-check-raw-strings)
(c-propertize-raw-string-id, c-propertize-raw-string-opener): Old functions
and variables removed or renamed "raw" -> "ml" and adapted.
(c-old-beg-ml, c-old-1-beg-ml, c-old-end-ml, c-beg-pos, c-end-pos)
(c-ml-string-end-delim-disrupted, c-depropertize-ml-string-delims)
(c-ml-string-delims-around-point,c-position-wrt-ml-delims)
(c-before-change-check-ml-strings, c-after-change-unmark-ml-strings)
(c-maybe-re-mark-ml-string, c-propertize-ml-string-id)
(c-propertize-ml-string-opener, c-depropertize-ml-string)
(c-depropertize-ml-strings-in-region): New functions and variables adapted and
possibly renamed from "raw" -> "ml".
(c-ml-string-make-closer-re, c-ml-string-make-opener-re)
(c-c++-make-ml-string-closer-re, c-c++-make-ml-string-opener-re)
(c-get-ml-closer, c-ml-string-opener-around-point)
(c-ml-string-opener-intersects-region, c-ml-string-opener-at-or-around-point)
(c-ml-string-back-to-neutral, c-ml-string-in-end-delim, c-neutralize-pos)
(c-neutralized-prop): New functions and variables.

* lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Replace
c-font-lock-raw-strings with c-font-lock-ml-strings.
(c-font-lock-ml-strings): New function taking the place of the old
c-font-lock-ml-strings.

* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Move
c-depropertize-CPP to the second item of the C++ entry, and replace
c-before-change-check-raw-strings by c-before-change-check-ml-strings.  Add a
new entry for Pike Mode.
(c-before-font-lock-functions): (Replace c-after-change-unmark-raw-strings by
c-after-change-unmark-ml-strings in the C++ entry, and add a new entry for
Pike Mode.
(c-ml-string-backslash-escapes, c-ml-string-non-punc-skip-chars)
(c-ml-string-opener-re, c-ml-string-max-opener-len, c-ml-string-any-closer-re)
(c-ml-string-max-closer-len, c-ml-string-max-closer-len-no-leader)
(c-ml-string-back-closer-re, c-make-ml-string-closer-re-function)
(c-make-ml-string-opener-re-function, c-ml-string-cpp-or-opener-re)
(c-cpp-or-ml-match-offset): New c-lang-defconsts and c-land-defvars.
(c-multiline-string-start-char): Remove the Pike Mode setting.

* lisp/progmodes/cc-mode.el (c-depropertize-CPP): Test for general ml strings
rather than C++ raw strings.
(c-unescaped-nls-in-string-p): Handle languages with ml strings.
(c-clear-string-fences): Fix bug with wrong parenthesisation.
(c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
Adapt for multi-line strings.
2021-08-12 19:04:28 +00:00
Michael Albinus
5d50acd0a6 Improve connection type `pipe' for remote processes
* doc/misc/tramp.texi (Remote processes): New subsection "Remote
process connection type".

* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Use `tramp-process-connection-type' as default connection type.
Improve check for `:connection-type'.

* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Use `tramp-process-connection-type' as default connection type.
Improve check for `:connection-type'.  Send "stty -icrnl" when
connection type is a pipe.

* lisp/net/tramp.el (tramp-process-connection-type): Allow all
possible values.
(tramp-handle-make-process): Use `tramp-process-connection-type'
as default connection type.  Improve check for `:connection-type'.

* test/lisp/net/tramp-tests.el (tramp-test30-make-process): Extend test.
2021-08-12 20:09:48 +02:00
Stefan Monnier
5809728bc5 * lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Handle multi-addresses
(lm-authors, lm-maintainers): Adjust accordingly.
2021-08-12 13:55:38 -04:00
Basil L. Contovounesios
1d60a25541 ; Fix last change. 2021-08-12 16:35:43 +01:00
Lars Ingebrigtsen
4e4b76b094 Make info-look try to use more recent Python manual
* lisp/info-look.el: Use the Debian-installed python3.9 manual if
it exists (bug#31405).
2021-08-12 17:20:35 +02:00
Lars Ingebrigtsen
0d04ceca2e Further tweak minibuffer-inactive-mode doc string
* lisp/minibuffer.el (minibuffer-inactive-mode): Mention
`minibuffer-exit-hook' (bug#13641).
2021-08-12 17:15:52 +02:00
Lars Ingebrigtsen
afc945d0c9 Improve minibuffer-inactive-mode documentation
* lisp/minibuffer.el (minibuffer-inactive-mode): Clarify when it's
used (bug#13641).
2021-08-12 17:15:52 +02:00
Lars Ingebrigtsen
1678d3599b Mention url-handler-mode in the Emacs manual
* doc/emacs/misc.texi (Browse-URL): Mention url-handler-mode
(bug#30389).

* lisp/url/url-handlers.el (url-handler-mode): Improve doc string.
2021-08-12 17:15:52 +02:00
Stefan Monnier
96d83a8546 * lisp/emacs-lisp/pcase.el (pcase-setq): Align its semantics with pcase-let
* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-setq): Rename from
pcase-setq and ajust accordingly.
2021-08-12 11:04:30 -04:00
Lars Ingebrigtsen
0a611a5d7f Add support for Python mode in info-lookup-symbol
* lisp/info-look.el (:mode): Add support for Python mode
(bug#31405).
2021-08-12 16:10:57 +02:00
Lars Ingebrigtsen
368c9f5e84 Clarify smie-indent-forward-token doc string
* lisp/emacs-lisp/smie.el (smie-indent-forward-token): Doc string
clarification (bug#31948).
2021-08-12 15:39:36 +02:00
Lars Ingebrigtsen
7328a6ea10 Change the `region' face in the Wombat theme
* etc/themes/wombat-theme.el (class): Don't use a foreground in
the `region' face because it obscures syntax highlighting (bug#32143).
2021-08-12 15:34:36 +02:00
Omar Polo
45cfa2a8cd Mention `find-ignore-file' in the vc.el commentary
* lisp/vc/vc.el: Update documentation in the comments about
`find-ignore-file' (bug#50013).
2021-08-12 14:59:45 +02:00
Lars Ingebrigtsen
cb03917034 Add XLFD font parsing tests
* test/src/font-tests.el (font-parse-xlfd-test): Add some tests
for XLFD testing (bug#35816).
2021-08-12 14:18:08 +02:00
Stefan Monnier
9445d7bf8c * lisp/emacs-lisp/cl-macs.el (fixnum, bignum): Fix type definitions 2021-08-11 22:42:06 -04:00
Lars Ingebrigtsen
8dd6120594 Fix bytecomp container test case
* lisp/startup.el (normal-top-level): Make startup more robust --
we may not be allowed to create any directories when running under
test mode (bug#48350).
2021-08-12 01:19:30 +02:00
Stefan Monnier
bd6c3a014a * lisp/obsolete/cl.el (labels): Don't quote lambda
(flet): Don't need `fboundp` any more before calling `symbol-function`.
2021-08-11 18:20:35 -04:00