Commit graph

82750 commits

Author SHA1 Message Date
Stefan Kangas
48d1e6e9d9 Merge from origin/emacs-28
f38dfa56a0 ; Update loaddefs files.
b3d4b18507 ; make change-history-commit
334ff0232e * lisp/repeat.el: Use same logic for repeat-check-key and ...
8230a47ecc * lisp/help.el (help--analyze-key): Prefer posn-set-point ...

# Conflicts:
#	lisp/ldefs-boot.el
2021-12-02 17:34:10 +01:00
Stefan Kangas
fa2e812894 Merge from origin/emacs-28
aa1d7dd867 ; * etc/AUTHORS: Update.
6294e60205 ; * admin/authors.el (authors-aliases): More fixes.
40fc31ea28 ; * ChangeLog.3: Update.
2be090d5d3 ; * ChangeLog.3: Minor fixes.
9963b11bf7 ; * admin/authors.el (authors-aliases): Further updates.
50b40e1d4f ; * lisp/org/ob-julia.el: Fix Author header for authors.el.
84166ea2e6 CC Mode: Recognise "struct foo {" as introducing a type de...
2021-12-02 17:34:10 +01:00
Lars Ingebrigtsen
a97fce7a89 Fix characters.el build issue
* lisp/international/characters.el
(glyphless--bidi-control-characters): Don't use names here,
because it's too early (bug#52240).
2021-12-02 17:33:00 +01:00
Lars Ingebrigtsen
4c7faf3377 Fix previous macroexp--warn-wrap change
* lisp/emacs-lisp/macroexp.el (macroexp--warn-wrap): Don't call
byte-compile-warning-enabled-p with zero parameters.
2021-12-02 16:47:49 +01:00
Filipp Gunbin
c469efbd83 * lisp/gnus/gnus-art.el (gnus--variable-pitch-p): Don't error out if face nil 2021-12-02 16:15:32 +03:00
Lars Ingebrigtsen
9ea5a915bd Make `C-c C-w' copy the executable bits to the new file
* lisp/files.el (write-file): When visiting an executable file,
make the new file executable, too (bug#18915).
2021-12-02 13:21:53 +01:00
Lars Ingebrigtsen
a516ab79c3 Add a new variable 'process-error-pause-time'
* doc/lispref/processes.texi (Asynchronous Processes): Document it.
* lisp/cus-start.el (standard): Customize.

* src/process.c (read_process_output_error_handler)
(exec_sentinel_error_handler): Use it.
(syms_of_process): New variable process-error-pause-time (bug#19457).
2021-12-02 13:21:53 +01:00
Po Lu
d45e72fe5a Improve momentum scrolling algorithm
* lisp/pixel-scroll.el (pixel-scroll-precision-momentum-tick):
(pixel-scroll-precision-momentum-factor): New user options.

(pixel-scroll-kinetic-state, pixel-scroll-accumulate-velocity):
Set scroll momentum ring size to 10.

(pixel-scroll-start-momentum): Improve algorithm.
2021-12-02 19:36:33 +08:00
Eli Zaretskii
aa6a05c146 Fix display of free disk space in Dired
* lisp/dired.el (dired--insert-disk-space): Fix 'first' display on
MS-Windows.
(dired-free-space): Clarify the meaning of 'first'.
2021-12-02 13:04:45 +02:00
Eli Zaretskii
e2494bdaee ; * lisp/dired-x.el (dired-virtual): Doc fix. (Bug#20992) 2021-12-02 12:43:51 +02:00
Eli Zaretskii
dfc7338828 ; * lisp/international/characters.el: Fix a typo in last change. 2021-12-02 12:34:37 +02:00
Eli Zaretskii
6927841ecb Fix recent changes related to 'glyphless-display-mode'
* lisp/textmodes/glyphless-mode.el (glyphless-mode-types): Fix
spelling of "bidirectional".
* lisp/international/characters.el (char-acronym-table): Fix
acronyms for LRI and RLI: use their accepted shorthands.
(glyphless-char-display-control): Fix spelling of doc string.

* doc/lispref/display.texi (Glyphless Chars): Fix spelling and add
a cross-reference.
2021-12-02 12:32:17 +02:00
Lars Ingebrigtsen
3f98188b86 Make dired-virtual doc string less confusing
* lisp/dired-x.el (dired-virtual): Make the doc string less
confusing (bug#20992).
2021-12-02 10:47:18 +01:00
Lars Ingebrigtsen
7ca865dc52 Add `cl-constantly' function
* lisp/emacs-lisp/cl-lib.el (cl-constantly): Add Common Lisp
function missing (bug#21584).
2021-12-02 10:19:10 +01:00
Jim Porter
5db380abad Ensure there are no duplicate separators when creating a context menu
Previously, if there were three or more consecutive menu separators,
not all of them would be removed.

* lisp/mouse.el (context-menu-map): Ensure no duplicate separators
(bug#52237).
2021-12-02 09:23:06 +01:00
Daniel Fleischer
d353c08d2b browse-url-button-regexp: Recognize gemini: links
Gemini is a relatively new text-based web protocol, similar to
gopher. There's the "elpher" package to browse gopher and gemini
pages. Adding it to the regexp will make Emacs be aware of gemini links,
e.g. in ERC.

* lisp/net/browse-url.el (browse-url-button-regexp): Add support
for the gemini: URL type.
2021-12-02 09:11:21 +01:00
Lars Ingebrigtsen
35075267a6 Add a bidi-control target for `glyphless-char-display-control'
* doc/lispref/display.texi (Glyphless Chars): Document bidi-control.

* lisp/international/characters.el (char-acronym-table): Add the
ISOLATE characters.
(update-glyphless-char-display): Implement bidi-control, and mark
all Cf characters we don't know about as UNK.
(glyphless--bidi-control-characters): New variable.
(glyphless-char-display-control): Add a new type -- bidi-control.

* lisp/textmodes/glyphless-mode.el (glyphless-mode-types): Add a
new type -- bidi-control.
2021-12-02 08:31:37 +01:00
Stefan Monnier
aaf0e62048 * lisp/cedet/semantic/bovine/c.el (semantic-tag-protection): Silence warning
We used to get

    cedet/semantic/bovine/c.el:1462:25: Warning: value returned from
    (string= s "static") is unused

* lisp/cedet/semantic/bovine/c.el (semantic-tag-protection): Merge two
`when` into an `if` and set `prot` instead of throwing away a result.
Use `pcase` while we're at it.
2021-12-01 22:59:35 -05:00
Stefan Monnier
c6dd8dd223 * lisp/emacs-lisp/macroexp.el: Improve last change
Don't burp when `byte-compile-warning-enabled-p` is not yet defined.
And use the call that we had already instead of adding a new one.

(macroexp--warn-wrap): Allow `category`
to be a list to pass to `byte-compile-warning-enabled-p`.
(macroexp-macroexpand): Simplify accordingly.
2021-12-01 22:51:55 -05:00
Po Lu
603bdc8d38 Add some primitive momentum-based precision scrolling
The algorithm used to scroll the display kinetically is very
simple and needs improvement.  Someone should work on that
eventually.

* lisp/pixel-scroll.el (pixel-scroll-precision-use-momentum):
New user option.
(pixel-scroll-precision-mode-map): Add
`pixel-scroll-start-momentum'.
(pixel-scroll-kinetic-state):
(pixel-scroll-accumulate-velocity):
(pixel-scroll-calculate-velocity): New functions.
(pixel-scroll-start-momentum): New command.

* src/xterm.c (handle_one_xevent): Fix touch-end event
generation.
2021-12-02 11:01:59 +08:00
Po Lu
5001f4f91b Add `touch-end' event type
* etc/NEWS:
* doc/lispref/commands.texi (Misc Events): Document new
`touch-end' event type.

* lisp/bindings.el: Ignore touch-end events by default.

* src/keyboard.c (make_lispy_event): Add support for
TOUCH_END_EVENT events.
(syms_of_keyboard): New symbol `touch-end'.

* src/termhooks.h (enum event_kind): New member
`TOUCH_END_EVENT'.

* src/xterm.c (handle_one_xevent): Send touch-end events when
appropriate.
2021-12-02 10:27:24 +08:00
Po Lu
a4ff841154 Fix precision scrolling when there is a scroll margin
* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down)
(pixel-scroll-precision-scroll-up): Take scroll margin into
accout.
2021-12-02 09:56:52 +08:00
Po Lu
01a6c0b409 Get rid of vmotion loop in `pixel-scroll-precision-scroll-up'
* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-up): Use
posn-at-x-y for cursor motion.
2021-12-02 09:15:43 +08:00
Lars Ingebrigtsen
1914d946d6 Change how Dired displays available space
* doc/emacs/dired.texi (Misc Dired Features): Document it (bug#23812).
* lisp/dired.el (dired-free-space): New user option.
(dired-insert-directory): Use it from here.
(dired--insert-disk-space): New function that uses the user option.

* lisp/files.el (insert-directory): Don't transform "total" here.
* lisp/ls-lisp.el (ls-lisp--insert-directory): Or here.  Instead
just leave the "total <num>" bit alone, and let Dired transform it.

* test/lisp/files-tests.el (files-tests): Move "available" tests
to dired-tests.
* test/lisp/dired-tests.el (data-dir): Moved here.
2021-12-01 23:27:19 +01:00
Lars Ingebrigtsen
ed7591c905 Fix "SEE ALSO" buttons in some man pages
* lisp/man.el (Man-highlight-references0): Don't include "and" in
the links (bug#52229).
2021-12-01 23:27:19 +01:00
Andrea Corallo
fd86829e66 Make use of `comp-cstr-shallow-copy'
* lisp/emacs-lisp/comp.el (comp-mvar-propagate): Remove.
(comp-fwprop-call, comp-fwprop-insn): Use `comp-cstr-shallow-copy'.

* lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range)
(comp-cstr-union-1-no-mem, comp-cstr-union-1)
(comp-cstr-intersection-no-mem, comp-cstr-intersection)
(comp-cstr-negation): Use `comp-cstr-shallow-copy'.
2021-12-01 22:21:04 +01:00
Andrea Corallo
f3284d5acd * Redefine `comp-cstr-shallow-copy'
* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Don't synthesize copier
function.
(comp-cstr-shallow-copy): New function.
(comp-cstr-=): Use `copy-sequence'.
2021-12-01 22:21:04 +01:00
Andrea Corallo
c35c86a353 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Decl struct predicates as pure 2021-12-01 22:21:04 +01:00
Stefan Kangas
f38dfa56a0 ; Update loaddefs files. 2021-12-01 21:12:11 +01:00
Lars Ingebrigtsen
ec3b6fa8e1 Make `C-x C-d' require either an existing directory or a wildcard
* lisp/files.el (list-directory): Require either an existing
directory or a wildcard (bug#25807).
2021-12-01 20:16:57 +01:00
Stefan Monnier
02ebd790b7 * lisp/emacs-lisp/cconv.el (cconv--lifted-arg): Simplify 2021-12-01 14:05:23 -05:00
Lars Ingebrigtsen
cbcf8a616e Fix table-fixed-width-mode when typing fast
* lisp/textmodes/table.el (table-with-cache-buffer): Use the value
of table-fixed-width-mode in the correct buffer (bug#26701).
2021-12-01 19:49:13 +01:00
Juri Linkov
334ff0232e * lisp/repeat.el: Use same logic for repeat-check-key and repeat-exit-timeout.
* lisp/repeat.el (repeat-check-key): Use for repeat-check-key the same logic
as is used for repeat-exit-timeout in repeat-post-hook (bug#51390).
(repeat-post-hook): Check for repeat-exit-timeout symbol property.
2021-12-01 19:41:37 +02:00
Juri Linkov
8230a47ecc * lisp/help.el (help--analyze-key): Prefer posn-set-point over mouse-set-point
* lisp/help.el (help--analyze-key): Use posn-set-point instead of
mouse-set-point that runs the hook mouse-leave-buffer-hook via
mouse-minibuffer-check.  Using posn-set-point also unnecessitates
extra conditions added in bug#51421.

* lisp/isearch.el (isearch-describe-key, isearch-describe-mode):
Add precautions to not call isearch-update when the executed
command exited isearch-mode (bug#51173).
2021-12-01 19:36:00 +02:00
Lars Ingebrigtsen
d086d4f91d Fix fencepost error in pixel-fill--fill-line
* lisp/textmodes/pixel-fill.el (pixel-fill--fill-line): Don't add
a newline (and continuation) if we're at the end of the line.
2021-12-01 17:34:07 +01:00
Robert Pluim
0f6bf308ab characters.el: remove repetition in glyphless-char-display-control
* lisp/international/characters.el (glyphless-char-display-method):
New custom widget for the different options for displaying glyphless
characters.
(glyphless-char-display-control): Use 'glyphless-char-display-method'.
2021-12-01 17:30:35 +01:00
Lars Ingebrigtsen
93824a760e Add new face `variable-pitch-text'
* doc/emacs/display.texi (Standard Faces): Mention in.

* lisp/faces.el (variable-pitch-text): New face.

* lisp/gnus/gnus-art.el (gnus-header): Use it.

* lisp/net/shr.el (shr-text): Use it.
2021-12-01 17:20:16 +01:00
Stefan Kangas
50b40e1d4f ; * lisp/org/ob-julia.el: Fix Author header for authors.el. 2021-12-01 17:03:52 +01:00
Mattias Engdegård
45252ad8f9 Fix closure-conversion of shadowed captured lambda-lifted vars
Lambda-lifted variables (ones passed explicitly to lambda-lifted
functions) that are also captured in an outer closure and shadowed
were renamed incorrectly (bug#51982).

Reported by Paul Pogonyshev.

* lisp/emacs-lisp/cconv.el (cconv--lifted-arg): New.
(cconv-convert): Provide correct definiens for the closed-over
variable.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
* test/lisp/emacs-lisp/cconv-tests.el (cconv-tests--intern-all)
(cconv-closure-convert-remap-var): Add tests.
2021-12-01 16:58:25 +01:00
Lars Ingebrigtsen
6a60bd475d Add a new minor mode `glyphless-display-mode'
* doc/emacs/display.texi (Text Display): Mention it.

* doc/lispref/display.texi (Glyphless Chars): Document it.
* lisp/textmodes/glyphless-mode.el: New minor mode (bug#27544).
2021-12-01 16:53:00 +01:00
Lars Ingebrigtsen
8959b1343b Fix update-glyphless-char-display variable setting
* lisp/international/characters.el
(update-glyphless-char-display): Only set the variable if given.
2021-12-01 16:48:06 +01:00
Alan Mackenzie
84166ea2e6 CC Mode: Recognise "struct foo {" as introducing a type declaration
This fixes bug #52157.

* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): If such a construct
is parsed, set the flag at-type-decl which is part of the function's return
value.
2021-12-01 15:41:09 +00:00
Lars Ingebrigtsen
6348ca1a88 Make pixel-fill-region handle space regions better
* lisp/textmodes/pixel-fill.el (pixel-fill-region): Preserve the
face on the replacement spaces.
2021-12-01 15:03:24 +01:00
Po Lu
2ee6621fe9 Fix precision pixel scrolling for a recent change
* lisp/pixel-scroll.el (pixel-scroll-precision-mode-map): Use
`mwheel-coalesce-scroll-events' instead.
2021-12-01 21:54:10 +08:00
Lars Ingebrigtsen
3bc0768e9b Enable gnus-treat-fold-headers by default
* lisp/gnus/gnus-art.el (gnus-treat-fold-headers): Change default
to `head'.
2021-12-01 14:41:42 +01:00
Lars Ingebrigtsen
2d60566c87 Use proportional fonts in the Gnus headers by default
* lisp/gnus/gnus-art.el (gnus-header): Inherit from `variable-pitch'.
(gnus--variable-pitch-p): New helper function.
(gnus-article-treat-fold-headers): Fill using pixel filling.
2021-12-01 14:41:42 +01:00
Lars Ingebrigtsen
9d17e346fe Preserve newlines at the end of pixel-fill-region
* lisp/textmodes/pixel-fill.el (pixel-fill-region): Preserve
newlines at the end.
2021-12-01 14:41:42 +01:00
Stefan Kangas
93d9bc09f4 Merge from origin/emacs-28
e632b83a28 Update authors.el for Emacs 28
e9fdb11903 ; * ChangeLog.3: Some additional fixes.
8fa4749df1 ; * ChangeLog.3: Filename fixes.
ea5a90b4f4 * lisp/repeat.el: Fix long-standing problem when a random ...
ef4954b69c * lisp/repeat.el (repeat-keep-prefix): Change default to nil.
6d5886e780 * test/lisp/repeat-tests.el (repeat-tests-call-b): Test fo...
9e16c6a96d ; * src/comp.c (syms_of_comp) <comp-no-native-file-h>: Doc...
9aa8fd6e62 * src/callint.c (Fcall_interactively): Fix inhibit_mouse_e...
70c229b1fc Fix regression in gdb-frame-handler
cd9dd26d24 Format and index concept 'predicate' in ELisp Intro
ab291656d0 ; * ChangeLog.3: Fix typos.
354f6c5609 ; * ChangeLog.3: Formatting fixes.
6192525a96 ; make change-history-commit
2021-12-01 06:30:22 +01:00
Bob Rogers
ec59a6cb0f Make date-to-time work with date-only date strings
* lisp/calendar/time-date.el (date-to-time): Try harder to parse
dates with no times (bug#52209).
2021-12-01 05:14:26 +01:00
Lars Ingebrigtsen
e2637beb28 Regenerate ldefs-boot.el 2021-12-01 04:55:18 +01:00