]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoAdd a bidi-control target for `glyphless-char-display-control'
Lars Ingebrigtsen [Thu, 2 Dec 2021 07:31:37 +0000 (08:31 +0100)]
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.

3 years ago* lisp/cedet/semantic/bovine/c.el (semantic-tag-protection): Silence warning
Stefan Monnier [Thu, 2 Dec 2021 03:59:35 +0000 (22:59 -0500)]
* 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.

3 years ago* lisp/emacs-lisp/macroexp.el: Improve last change
Stefan Monnier [Thu, 2 Dec 2021 03:51:39 +0000 (22:51 -0500)]
* 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.

3 years agoAdd some primitive momentum-based precision scrolling
Po Lu [Thu, 2 Dec 2021 03:01:59 +0000 (11:01 +0800)]
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.

3 years agoAdd `touch-end' event type
Po Lu [Thu, 2 Dec 2021 02:27:24 +0000 (10:27 +0800)]
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.

3 years agoFix precision scrolling when there is a scroll margin
Po Lu [Thu, 2 Dec 2021 01:56:52 +0000 (09:56 +0800)]
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.

3 years agoGet rid of vmotion loop in `pixel-scroll-precision-scroll-up'
Po Lu [Thu, 2 Dec 2021 01:15:43 +0000 (09:15 +0800)]
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.

3 years agoChange how Dired displays available space
Lars Ingebrigtsen [Wed, 1 Dec 2021 22:27:09 +0000 (23:27 +0100)]
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.

3 years agoFix "SEE ALSO" buttons in some man pages
Lars Ingebrigtsen [Wed, 1 Dec 2021 19:31:14 +0000 (20:31 +0100)]
Fix "SEE ALSO" buttons in some man pages

* lisp/man.el (Man-highlight-references0): Don't include "and" in
the links (bug#52229).

3 years agoMake use of `comp-cstr-shallow-copy'
Andrea Corallo [Wed, 1 Dec 2021 14:01:55 +0000 (15:01 +0100)]
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'.

3 years ago* Redefine `comp-cstr-shallow-copy'
Andrea Corallo [Wed, 1 Dec 2021 13:39:33 +0000 (14:39 +0100)]
* 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'.

3 years ago* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Decl struct predicates as pure
Andrea Corallo [Wed, 1 Dec 2021 10:23:25 +0000 (11:23 +0100)]
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Decl struct predicates as pure

3 years agoMake `C-x C-d' require either an existing directory or a wildcard
Lars Ingebrigtsen [Wed, 1 Dec 2021 19:16:29 +0000 (20:16 +0100)]
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).

3 years ago* lisp/emacs-lisp/cconv.el (cconv--lifted-arg): Simplify
Stefan Monnier [Wed, 1 Dec 2021 19:05:09 +0000 (14:05 -0500)]
* lisp/emacs-lisp/cconv.el (cconv--lifted-arg): Simplify

3 years agoFix table-fixed-width-mode when typing fast
Lars Ingebrigtsen [Wed, 1 Dec 2021 18:49:07 +0000 (19:49 +0100)]
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).

3 years agoMention 'glyphless-display-mode' in conjunction with bidi display
Eli Zaretskii [Wed, 1 Dec 2021 18:11:21 +0000 (20:11 +0200)]
Mention 'glyphless-display-mode' in conjunction with bidi display

* doc/emacs/mule.texi (Bidirectional Editing): Mention
'glyphless-display-mode'.  (Bug#27544)

3 years agoFix fencepost error in pixel-fill--fill-line
Lars Ingebrigtsen [Wed, 1 Dec 2021 16:33:34 +0000 (17:33 +0100)]
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.

3 years agocharacters.el: remove repetition in glyphless-char-display-control
Robert Pluim [Wed, 1 Dec 2021 16:11:07 +0000 (17:11 +0100)]
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'.

3 years agoAdd new face `variable-pitch-text'
Lars Ingebrigtsen [Wed, 1 Dec 2021 16:20:11 +0000 (17:20 +0100)]
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.

3 years agoFix closure-conversion of shadowed captured lambda-lifted vars
Mattias Engdegård [Mon, 22 Nov 2021 15:56:38 +0000 (16:56 +0100)]
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.

3 years agoAdd a new minor mode `glyphless-display-mode'
Lars Ingebrigtsen [Wed, 1 Dec 2021 15:53:00 +0000 (16:53 +0100)]
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).

3 years agoFix update-glyphless-char-display variable setting
Lars Ingebrigtsen [Wed, 1 Dec 2021 15:48:06 +0000 (16:48 +0100)]
Fix update-glyphless-char-display variable setting

* lisp/international/characters.el
(update-glyphless-char-display): Only set the variable if given.

3 years agoMake pixel-fill-region handle space regions better
Lars Ingebrigtsen [Wed, 1 Dec 2021 14:03:16 +0000 (15:03 +0100)]
Make pixel-fill-region handle space regions better

* lisp/textmodes/pixel-fill.el (pixel-fill-region): Preserve the
face on the replacement spaces.

3 years ago; * src/w32term.c (w32_construct_mouse_wheel): Fix a typo.
Eli Zaretskii [Wed, 1 Dec 2021 13:57:59 +0000 (15:57 +0200)]
; * src/w32term.c (w32_construct_mouse_wheel): Fix a typo.

3 years agoFix precision pixel scrolling for a recent change
Po Lu [Wed, 1 Dec 2021 13:54:10 +0000 (21:54 +0800)]
Fix precision pixel scrolling for a recent change

* lisp/pixel-scroll.el (pixel-scroll-precision-mode-map): Use
`mwheel-coalesce-scroll-events' instead.

3 years agoEnable gnus-treat-fold-headers by default
Lars Ingebrigtsen [Wed, 1 Dec 2021 13:10:19 +0000 (14:10 +0100)]
Enable gnus-treat-fold-headers by default

* lisp/gnus/gnus-art.el (gnus-treat-fold-headers): Change default
to `head'.

3 years agoUse proportional fonts in the Gnus headers by default
Lars Ingebrigtsen [Wed, 1 Dec 2021 05:30:32 +0000 (06:30 +0100)]
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.

3 years agoPreserve newlines at the end of pixel-fill-region
Lars Ingebrigtsen [Wed, 1 Dec 2021 05:18:12 +0000 (06:18 +0100)]
Preserve newlines at the end of pixel-fill-region

* lisp/textmodes/pixel-fill.el (pixel-fill-region): Preserve
newlines at the end.

3 years agoSupport precision mouse scrolling on MS-Windows
Eli Zaretskii [Wed, 1 Dec 2021 13:36:55 +0000 (15:36 +0200)]
Support precision mouse scrolling on MS-Windows

* src/w32fns.c (w32_wnd_proc): Pass the WM_SETTINGCHANGE message
to the Lisp thread.
* src/w32term.c (w32_construct_mouse_wheel): Support mice with
precision scrolling wheel.
(w32_get_mouse_wheel_vertical_delta): New function.
(w32_read_socket): When the WM_SETTINGCHANGE is received, call
'w32_get_mouse_wheel_vertical_delta'.
(w32_initialize): Call 'w32_get_mouse_wheel_vertical_delta' at
startup.
* src/nsterm.m (syms_of_nsterm):
* src/haikuterm.c (syms_of_haikuterm):
* src/xterm.c (syms_of_xterm): Remove window-system specific
variables for coalescing mwheel events.
* src/keyboard.c (syms_of_keyboard)
<mwheel-coalesce-scroll-events>: New variable, to replace the
above platform-specific ones.

* doc/lispref/commands.texi (Misc Events): Improve wording of the
description of mouse-wheel events.

3 years agoupdate_autogen: Remove deprecated -I flag
Stefan Kangas [Wed, 1 Dec 2021 10:23:29 +0000 (11:23 +0100)]
update_autogen: Remove deprecated -I flag

* admin/update_autogen (info_dir): Remove deprecated -I flag; it is no
longer used since info/dir is now generated at install time if needed,
and is not in the repository any more.

3 years ago; Merge from origin/emacs-28
Stefan Kangas [Wed, 1 Dec 2021 05:30:23 +0000 (06:30 +0100)]
; Merge from origin/emacs-28

The following commit was skipped:

bc6bcb8f0b ; Auto-commit of loaddefs files.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Wed, 1 Dec 2021 05:30:22 +0000 (06:30 +0100)]
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

3 years agoUpdate SKK-JISYO.L from upstream
Stefan Kangas [Wed, 1 Dec 2021 05:01:07 +0000 (06:01 +0100)]
Update SKK-JISYO.L from upstream

* leim/SKK-DIC/SKK-JISYO.L: Update from
https://raw.githubusercontent.com/skk-dev/dict/master/SKK-JISYO.L

3 years agoUpdate publicsuffix.txt from upstream
Stefan Kangas [Wed, 1 Dec 2021 05:01:05 +0000 (06:01 +0100)]
Update publicsuffix.txt from upstream

* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2021-11-26 23:07:15 UTC.

3 years agoSuppress emacsclient message that daemon should have started if --quiet
Jim Porter [Wed, 1 Dec 2021 04:56:55 +0000 (05:56 +0100)]
Suppress emacsclient message that daemon should have started if --quiet

* lib-src/emacsclient.c (start_daemon_and_retry_set_socket): Don't
output "daemon should have started" message if --quiet (bug#52214).

3 years agoMake date-to-time work with date-only date strings
Bob Rogers [Wed, 1 Dec 2021 04:14:26 +0000 (05:14 +0100)]
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).

3 years agoRegenerate ldefs-boot.el
Lars Ingebrigtsen [Wed, 1 Dec 2021 03:55:14 +0000 (04:55 +0100)]
Regenerate ldefs-boot.el

3 years agoAutoload byte-compile-warning-enabled-p
Lars Ingebrigtsen [Wed, 1 Dec 2021 03:54:59 +0000 (04:54 +0100)]
Autoload byte-compile-warning-enabled-p

* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-enabled-p):
Autoloads (for easier use in macroexp etc).

3 years agoAdd an ldefs-boot.el target to the Makefile
Lars Ingebrigtsen [Wed, 1 Dec 2021 03:54:20 +0000 (04:54 +0100)]
Add an ldefs-boot.el target to the Makefile

* lisp/Makefile.in (ldefs-boot.el): Add a target to regenerate the
ldefs-boot.el file.

3 years agoMake "make force-autoloads" produce the correct result
Lars Ingebrigtsen [Wed, 1 Dec 2021 03:51:01 +0000 (04:51 +0100)]
Make "make force-autoloads" produce the correct result

* lisp/emacs-lisp/autoload.el (cl-lib): We need the cl-macs at
runtime to expand cl-defmacros to find declare indent forms.

3 years agoDon't include the other loaddef files in the no-autoloads section
Lars Ingebrigtsen [Wed, 1 Dec 2021 02:55:17 +0000 (03:55 +0100)]
Don't include the other loaddef files in the no-autoloads section

* lisp/emacs-lisp/autoload.el (make-directory-autoloads): Don't
include the other loaddef files in the no-autoloads section.

3 years agoAvoid unnecessary call when pixel scrolling
Po Lu [Wed, 1 Dec 2021 03:22:58 +0000 (11:22 +0800)]
Avoid unnecessary call when pixel scrolling

* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down):
Avoid unnecessary call to `posn-at-point'

3 years agoMake pixel scrolling faster
Po Lu [Wed, 1 Dec 2021 01:33:35 +0000 (09:33 +0800)]
Make pixel scrolling faster

* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down): Get
rid of big motion loop.
(pixel-scroll-precision-scroll-up): Stop subtracting height of
window lines.

3 years ago; Auto-commit of loaddefs files.
Stefan Kangas [Wed, 1 Dec 2021 01:15:10 +0000 (02:15 +0100)]
; Auto-commit of loaddefs files.

3 years ago; Auto-commit of loaddefs files.
Stefan Kangas [Wed, 1 Dec 2021 00:57:24 +0000 (01:57 +0100)]
; Auto-commit of loaddefs files.

3 years agoUpdate authors.el for Emacs 28
Stefan Kangas [Tue, 30 Nov 2021 23:20:24 +0000 (00:20 +0100)]
Update authors.el for Emacs 28

* admin/authors.el (authors-aliases, authors-ignored-files)
(authors-renamed-files-alist): Update for Emacs 28.

3 years ago; * ChangeLog.3: Some additional fixes.
Stefan Kangas [Tue, 30 Nov 2021 22:46:45 +0000 (23:46 +0100)]
; * ChangeLog.3: Some additional fixes.

3 years ago; * ChangeLog.3: Filename fixes.
Stefan Kangas [Tue, 30 Nov 2021 19:15:19 +0000 (20:15 +0100)]
; * ChangeLog.3: Filename fixes.

3 years ago* lisp/repeat.el: Fix long-standing problem when a random key activates map
Juri Linkov [Tue, 30 Nov 2021 19:05:05 +0000 (21:05 +0200)]
* lisp/repeat.el: Fix long-standing problem when a random key activates map

* lisp/repeat.el (repeat-check-key): New defcustom (bug#51390).
(repeat--command-property): New internal function.
(repeat-check-key): New function.
(repeat-post-hook): Use repeat--command-property and repeat-check-key.

* test/lisp/repeat-tests.el (repeat-tests-check-key): New test.

3 years ago* lisp/repeat.el (repeat-keep-prefix): Change default to nil.
Juri Linkov [Tue, 30 Nov 2021 18:55:19 +0000 (20:55 +0200)]
* lisp/repeat.el (repeat-keep-prefix): Change default to nil.

'repeat-keep-prefix' doesn't yet have sufficient support
that covers all cases in bug#51281, so it's disabled now.

3 years ago* test/lisp/repeat-tests.el (repeat-tests-call-b): Test for commit 588caf0b27.
Juri Linkov [Tue, 30 Nov 2021 18:52:47 +0000 (20:52 +0200)]
* test/lisp/repeat-tests.el (repeat-tests-call-b): Test for commit 588caf0b27.

This tests for 'repeat-map' as a variable instead of a symbol.

3 years ago; * src/comp.c (syms_of_comp) <comp-no-native-file-h>: Doc fix.
Eli Zaretskii [Tue, 30 Nov 2021 18:23:47 +0000 (20:23 +0200)]
; * src/comp.c (syms_of_comp) <comp-no-native-file-h>: Doc fix.

3 years ago* lisp/loadup.el (paren): Preload it (again).
Andrea Corallo [Tue, 30 Nov 2021 18:12:52 +0000 (19:12 +0100)]
* lisp/loadup.el (paren): Preload it (again).

3 years ago; * src/comp.c (syms_of_comp): Fix first lines of doc strings.
Eli Zaretskii [Tue, 30 Nov 2021 18:16:25 +0000 (20:16 +0200)]
; * src/comp.c (syms_of_comp): Fix first lines of doc strings.

3 years ago* src/callint.c (Fcall_interactively): Fix inhibit_mouse_event_check.
Juri Linkov [Tue, 30 Nov 2021 18:12:06 +0000 (20:12 +0200)]
* src/callint.c (Fcall_interactively): Fix inhibit_mouse_event_check.

Don't search for the next mouse event with parameters
when inhibit-mouse-event-check is non-nil (bug#50067).

3 years ago; Fix last change.
Eli Zaretskii [Tue, 30 Nov 2021 18:09:08 +0000 (20:09 +0200)]
; Fix last change.

3 years agoImprove documentation of pixel-fill
Eli Zaretskii [Tue, 30 Nov 2021 18:07:19 +0000 (20:07 +0200)]
Improve documentation of pixel-fill

* doc/lispref/text.texi (Filling): Describe the arguments of
'pixel-fill-region'.  Add index entry.

* lisp/textmodes/pixel-fill.el (pixel-fill-region): Doc fix.

3 years agoUse pixel-fill-width in shr.el
Lars Ingebrigtsen [Tue, 30 Nov 2021 15:54:34 +0000 (16:54 +0100)]
Use pixel-fill-width in shr.el

* lisp/net/shr.el (shr--window-width): Factor out into own function.
(shr-insert-document): Use it.
(shr-fill-text): Ditto.

3 years agoDocument pixel-fill-region
Lars Ingebrigtsen [Tue, 30 Nov 2021 15:46:24 +0000 (16:46 +0100)]
Document pixel-fill-region

* doc/lispref/text.texi (Filling): Document pixel-fill-region.

* lisp/textmodes/pixel-fill.el (pixel-fill-width): Add new helper
function.

3 years agoRevert "Preload paren.el"
Andrea Corallo [Tue, 30 Nov 2021 12:49:36 +0000 (13:49 +0100)]
Revert "Preload paren.el"

Reverting as the previous commit make this fix not anymore necessary.

This reverts commit 340e527bed83ff0382446132c871088ad61d1745.

3 years agoImprove native compiler startup circular dependecy prevention mechanism
Andrea Corallo [Tue, 30 Nov 2021 13:18:58 +0000 (14:18 +0100)]
Improve native compiler startup circular dependecy prevention mechanism

* src/comp.c (maybe_defer_native_compilation): Update to accumulate
delayed objects in `comp--delayed-sources'.
(syms_of_comp): Add `comp--delayed-sources' and `comp--loadable'
vars.

* lisp/startup.el (startup--honor-delayed-native-compilations): New
function.
(normal-top-level): Call it.

3 years agoAllow storing buffer names in registers
Lars Ingebrigtsen [Tue, 30 Nov 2021 14:14:16 +0000 (15:14 +0100)]
Allow storing buffer names in registers

* doc/emacs/regs.texi (File and Buffer Registers): Rename and add
doc for `buffer' version.
* lisp/register.el (register-val-jump-to, register-val-describe):
Add support for (buffer . ...) registers (bug#33033).

3 years agoGeneralise CPS-conversion let optimisation
Mattias Engdegård [Tue, 30 Nov 2021 14:04:46 +0000 (15:04 +0100)]
Generalise CPS-conversion let optimisation

* lisp/emacs-lisp/generator.el (cps--transform-1):
Eliminate a temporary for the last of any `let` form, not just for
single-binding ones.  Suggested by Stefan Monnier.

3 years agoAllow inhibiting warnings about obsolete macros again
Lars Ingebrigtsen [Tue, 30 Nov 2021 13:38:15 +0000 (14:38 +0100)]
Allow inhibiting warnings about obsolete macros again

* lisp/emacs-lisp/macroexp.el (macroexp-macroexpand): Inhibit
warning if requested (bug#50984).

3 years ago* src/nsterm.m (Vns_scroll_event_delta_factor): Fix doc string.
Po Lu [Tue, 30 Nov 2021 13:10:36 +0000 (21:10 +0800)]
* src/nsterm.m (Vns_scroll_event_delta_factor): Fix doc string.

3 years agoFix regression in gdb-frame-handler
Lars Ingebrigtsen [Tue, 30 Nov 2021 13:09:19 +0000 (14:09 +0100)]
Fix regression in gdb-frame-handler

* lisp/progmodes/gdb-mi.el (gdb-frame-handler): Protect against
nil fullnames (bug#52196).

3 years agoFormat and index concept 'predicate' in ELisp Intro
YugaEgo [Tue, 30 Nov 2021 13:03:32 +0000 (14:03 +0100)]
Format and index concept 'predicate' in ELisp Intro

* doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument):
Add index and format definition (bug#52197).

Copyright-paperwork-exempt: yes

3 years agoFix pixel scrolling again
Po Lu [Tue, 30 Nov 2021 12:49:59 +0000 (20:49 +0800)]
Fix pixel scrolling again

* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down): Fix
confusion about absolutivity of `window-edges'.

3 years agoFix 1-off errors in pixel scrolling code
Po Lu [Tue, 30 Nov 2021 12:44:54 +0000 (20:44 +0800)]
Fix 1-off errors in pixel scrolling code

* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down): Fix
one-off errors.

3 years agoImprove upwards pixel scrolling for large images
Po Lu [Tue, 30 Nov 2021 12:35:11 +0000 (20:35 +0800)]
Improve upwards pixel scrolling for large images

This fixes most of the problem, but with a large image the
vscroll can sometimes jump about, which has to be fixed.

* lisp/pixel-scroll.el (pixel-scroll-precision-up): Handle
vscrolling large images in the first unseen line.

3 years agoBetter CPS conversion of multi-binding `let`
Mattias Engdegård [Tue, 30 Nov 2021 10:32:20 +0000 (11:32 +0100)]
Better CPS conversion of multi-binding `let`

* lisp/emacs-lisp/generator.el (cps--transform-1):
Don't translate single-binding `let` into `let*` with an extra
temporary variable; it just adds two more useless states.

3 years ago* lisp/pixel-scroll.el (pixel-scroll-precision): Handle zero delta.
Po Lu [Tue, 30 Nov 2021 11:28:04 +0000 (19:28 +0800)]
* lisp/pixel-scroll.el (pixel-scroll-precision): Handle zero delta.

3 years ago; * ChangeLog.3: Fix typos.
Stefan Kangas [Tue, 30 Nov 2021 09:25:59 +0000 (10:25 +0100)]
; * ChangeLog.3: Fix typos.

3 years ago; * ChangeLog.3: Formatting fixes.
Stefan Kangas [Tue, 30 Nov 2021 08:46:20 +0000 (09:46 +0100)]
; * ChangeLog.3: Formatting fixes.

3 years ago; make change-history-commit
Stefan Kangas [Tue, 30 Nov 2021 08:36:54 +0000 (09:36 +0100)]
; make change-history-commit

3 years agoMerge from origin/emacs-28
Stefan Kangas [Tue, 30 Nov 2021 06:38:52 +0000 (07:38 +0100)]
Merge from origin/emacs-28

30553d889d Merge branch 'emacs-28' of git.savannah.gnu.org:/srv/git/e...
ecf3bf66ba Remove problematic characters from modus-themes.org (bug#5...
de9d27f679 Avoid undefined behaviour when copying part of structure

# Conflicts:
# doc/misc/modus-themes.org

3 years ago; Merge from origin/emacs-28
Stefan Kangas [Tue, 30 Nov 2021 06:35:37 +0000 (07:35 +0100)]
; Merge from origin/emacs-28

The following commit was skipped:

de9d27f679 Avoid undefined behaviour when copying part of structure

3 years agoFix annoying bell rings when pixel scrolling to buffer limits
Po Lu [Tue, 30 Nov 2021 06:05:18 +0000 (14:05 +0800)]
Fix annoying bell rings when pixel scrolling to buffer limits

* lisp/pixel-scroll.el (pixel-scroll-precision): Don't ding at
buffer limits.

3 years agoAdd `ns-scroll-event-delta-factor'
Po Lu [Tue, 30 Nov 2021 05:41:16 +0000 (13:41 +0800)]
Add `ns-scroll-event-delta-factor'

* src/nsterm.m (- mouseDown): Take delta factor into account.
(Vns_scroll_event_delta_factor): New variable.

* lisp/cus-start.el: Add option.

3 years agoAllow non-float values in x-scroll-event-delta-factor
Po Lu [Tue, 30 Nov 2021 01:46:25 +0000 (09:46 +0800)]
Allow non-float values in x-scroll-event-delta-factor

* src/xterm.c (handle_one_xevent): Use XFLOATINT instead of
XFLOAT_DATA.

3 years agoAdd new package pixel-fill.el
Lars Ingebrigtsen [Tue, 30 Nov 2021 01:07:22 +0000 (02:07 +0100)]
Add new package pixel-fill.el

* lisp/net/shr.el (shr-char-breakable-p, shr-char-nospace-p)
(shr-char-kinsoku-bol-p, shr-char-kinsoku-eol-p)
(shr-find-fill-point): Moved to pixel-fill.el and renamed.
(shr-pixel-region): Made obsolete.
(shr-fill-line): Use pixel-fill-region.

* lisp/textmodes/pixel-fill.el: New package.

3 years agoAudit the Emacs manual for keymap-*-related changes
Lars Ingebrigtsen [Mon, 29 Nov 2021 23:14:51 +0000 (00:14 +0100)]
Audit the Emacs manual for keymap-*-related changes

* doc/emacs/programs.texi (Other C Commands):
* doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
* doc/emacs/custom.texi (Init Examples):
* doc/emacs/abbrevs.texi (Editing Abbrevs): Change some examples
to use keymap-* functions.

3 years agoFix some of the argument handling in keymap-set and keymap-substitute
Lars Ingebrigtsen [Mon, 29 Nov 2021 23:13:47 +0000 (00:13 +0100)]
Fix some of the argument handling in keymap-set and keymap-substitute

* lisp/keymap.el (keymap-set): Fix handling of binding one key to
another key.
(keymap-substitute): Fix confusion in implementation -- the args
are definitions, not keys.

3 years agoEdit the lispref manual for define-key/keymap-set fallout
Lars Ingebrigtsen [Mon, 29 Nov 2021 22:54:48 +0000 (23:54 +0100)]
Edit the lispref manual for define-key/keymap-set fallout

* doc/lispref/variables.texi (Tips for Defining):
* doc/lispref/text.texi (Clickable Text):
* doc/lispref/modes.texi (Derived Modes):
(Example Major Modes):
* doc/lispref/loading.texi (Autoload):
(Hooks for Loading):
* doc/lispref/keymaps.texi (Creating Keymaps):
(Inheritance and Keymaps):
(Controlling Active Maps):
(Changing Key Bindings):
(Low-Level Key Binding):
(Remapping Commands):
(Translation Keymaps):
(Key Binding Commands):
* doc/lispref/help.texi (Help Functions):
* doc/lispref/display.texi (Abstract Display Example):
* doc/lispref/commands.texi (Interactive Codes):
(Keyboard Events):
(Misc Events):
(Classifying Events):
(Strings of Events): Prefer `keymap-set' instead of `define-key'
most places, and use `defvar-keymap' in some of the examples.

3 years agoFix build on macOS
Alan Third [Mon, 29 Nov 2021 22:11:04 +0000 (22:11 +0000)]
Fix build on macOS

* src/nsterm.h (NSPasteboardTypeMultipleTextSelection):
(NSPasteboardTypePNG): These are already defined on macOS 10.6 and
above and aren't used at all in GNUstep.

3 years agoFix NS port text decorations (bug#52156)
Alan Third [Mon, 29 Nov 2021 21:56:13 +0000 (21:56 +0000)]
Fix NS port text decorations (bug#52156)

* src/nsterm.m (ns_draw_text_decoration): Set the correct colors for
decorations other than underline.
(ns_draw_glyph_string): Remove superfluous color setting call.

3 years agoRegenerate ldefs-boot.el
Lars Ingebrigtsen [Mon, 29 Nov 2021 21:40:38 +0000 (22:40 +0100)]
Regenerate ldefs-boot.el

3 years agoFix up generation of help text for ldefs-boot.el
Lars Ingebrigtsen [Mon, 29 Nov 2021 21:39:57 +0000 (22:39 +0100)]
Fix up generation of help text for ldefs-boot.el

* lisp/emacs-lisp/autoload.el (autoload-rubric): Don't put the
help text into cedet/*/loaddefs.el (bug#51744).

3 years ago* test/infra/gitlab-ci.yml (.job-template): Modify find scripts.
Michael Albinus [Mon, 29 Nov 2021 20:36:51 +0000 (21:36 +0100)]
* test/infra/gitlab-ci.yml (.job-template): Modify find scripts.

3 years agoMerge branch 'emacs-28' of git.savannah.gnu.org:/srv/git/emacs into emacs-28
Eli Zaretskii [Mon, 29 Nov 2021 20:30:37 +0000 (22:30 +0200)]
Merge branch 'emacs-28' of git.savannah.gnu.org:/srv/git/emacs into emacs-28

3 years agoRemove problematic characters from modus-themes.org (bug#52126)
Protesilaos Stavrou [Mon, 29 Nov 2021 19:06:52 +0000 (21:06 +0200)]
Remove problematic characters from modus-themes.org (bug#52126)

* doc/misc/modus-themes.org
(Enable and load, Font configurations for Org and others)
(Note on highlight-parentheses.el, Note on god-mode.el): Update links to
headings so that they no longer include the removed portions of text.

(Option for color-coding success state, Option for line highlighting)
(Option for line numbers, Option for parenthesis matching)
(Advanced customization, Per-theme customization settings)
(Case-by-case face specs using the themes' palette)
(Face specs at scale using the themes' palette)
(Remap face with local value, Cycle through arbitrary colors)
(Override colors, Override color saturation)
(Font configurations for Org and others, Configure bold and italic faces)
(Custom Org user faces, Update Org block delimiter fontification)
(Measure color contrast, Load theme depending on time of day)
(Backdrop for pdf-tools, Decrease mode line height)
(A theme-agnostic hook for theme loading, Note on EWW and Elfeed fonts)
(Frequently Asked Questions): Remove parentheses from headings as they
can cause problems in the .texi version of the file.

3 years agoRemove problematic characters from modus-themes.org (bug#52126)
Protesilaos Stavrou [Mon, 29 Nov 2021 19:13:55 +0000 (21:13 +0200)]
Remove problematic characters from modus-themes.org (bug#52126)

* doc/misc/modus-themes.org
(Enable and load, Font configurations for Org and others)
(Note on highlight-parentheses.el, Note on god-mode.el): Update links to
headings so that they no longer include the removed portions of text.

(Option for color-coding success state, Option for line highlighting)
(Option for line numbers, Option for parenthesis matching)
(Advanced customization, Per-theme customization settings)
(Case-by-case face specs using the themes' palette)
(Face specs at scale using the themes' palette)
(Remap face with local value, Cycle through arbitrary colors)
(Override colors, Override color saturation)
(Font configurations for Org and others, Configure bold and italic faces)
(Custom Org user faces, Update Org block delimiter fontification)
(Measure color contrast, Load theme depending on time of day)
(Backdrop for pdf-tools)
(A theme-agnostic hook for theme loading, Note on EWW and Elfeed fonts)
(Frequently Asked Questions): Remove parentheses from headings as they
can cause problems in the .texi version of the file.

3 years agoDon't return whitespace for thing-at-point in whitespace-only buffers
Lars Ingebrigtsen [Mon, 29 Nov 2021 16:18:49 +0000 (17:18 +0100)]
Don't return whitespace for thing-at-point in whitespace-only buffers

* lisp/thingatpt.el (bounds-of-thing-at-point): If the buffer is
empty, return nil for most things (bug#52098).

3 years agoMake Re: recognition in ispell-message less ambiguous
Lars Ingebrigtsen [Mon, 29 Nov 2021 16:08:11 +0000 (17:08 +0100)]
Make Re: recognition in ispell-message less ambiguous

* lisp/textmodes/ispell.el (ispell-message): Require a "Re" as a
word, not as a word ending (bug#52104).

3 years agoMake `group' widgets prettier in Customize
Brahimi Saifullah [Mon, 29 Nov 2021 15:52:26 +0000 (16:52 +0100)]
Make `group' widgets prettier in Customize

* lisp/wid-edit.el (group): Make the ":" invisible so that the
buffer looks prettier (bug#52143).

Copyright-paperwork-exempt: yes

3 years agoproject-kill-buffers can display list of buffers to kill
Matthias Meulien [Mon, 29 Nov 2021 15:42:02 +0000 (16:42 +0100)]
project-kill-buffers can display list of buffers to kill

* lisp/progmodes/project.el
(project-kill-buffers-display-buffer-list): Option to toggle
temporarily display of the list of buffers to kill when calling
project-kill-buffers
(project-kill-buffers): Handle
project-kill-buffers-display-buffer-list option (bug#52148).

3 years agoSignal a better error in tabulated-list-sort
Lars Ingebrigtsen [Mon, 29 Nov 2021 15:39:02 +0000 (16:39 +0100)]
Signal a better error in tabulated-list-sort

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Signal
error earlier on invalid column numbers (bug#52154).

3 years agoUse mupdf in doc-view-mode if gs is not installed
Daniel Martín [Mon, 29 Nov 2021 14:48:03 +0000 (15:48 +0100)]
Use mupdf in doc-view-mode if gs is not installed

* lisp/doc-view.el (doc-view-mode-p): Use mupdf to render PDF and
related formats if gs is not installed (bug#52170).

3 years agoMake fill-region-as-paragraph clear the markers it creates
Ikumi Keita [Mon, 29 Nov 2021 14:40:19 +0000 (15:40 +0100)]
Make fill-region-as-paragraph clear the markers it creates

* lisp/textmodes/fill.el (fill-region-as-paragraph): Clear
temporary markers (bug#52175).

Copyright-paperwork-exempt: yes

3 years agoDo not buttonize key bindings outside of *Help* buffers
Gregory Heytings [Mon, 29 Nov 2021 14:13:31 +0000 (15:13 +0100)]
Do not buttonize key bindings outside of *Help* buffers

* etc/NEWS: Mention the new variable.

* lisp/apropos.el (apropos-describe-plist): Bind the new
variable (bug#52053).
* lisp/button.el (button-describe): Bind the new variable.

* lisp/help-fns.el (describe-function, describe-variable)
(describe-face, describe-symbol, describe-syntax)
(describe-categories, describe-keymap, describe-mode)
(describe-widget): Bind the new variable.

* lisp/help-macro.el (make-help-screen): Bind the new variable.

* lisp/help.el (help-buffer-under-preparation): New variable
that is bound to t by commands that create a *Help* buffer.
(substitute-command-keys): Use the new variable:
help-link-key-to-documentation is supposed to have an effect
only "in *Help* buffers". Fixes bug#52053.
(view-lossage, describe-bindings, describe-key): Bind the new
variable.

* lisp/repeat.el (describe-repeat-maps): Bind the new variable.

* lisp/international/mule-cmds.el (describe-input-method)
(describe-language-environment): Bind the new variable.

* lisp/international/mule-diag.el (describe-character-set)
(describe-coding-system, describe-font, describe-fontset)
((list-fontsets): Bind the new variable.