]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years ago; Fix typo in doc/lispref/display.texi.
Zajcev Evgeny [Wed, 26 Jan 2022 13:29:13 +0000 (16:29 +0300)]
; Fix typo in doc/lispref/display.texi.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Thu, 27 Jan 2022 08:45:49 +0000 (09:45 +0100)]
Merge from origin/emacs-28

c9524819ea Partially revert a fill-region-as-paragraph regression
6075ea0b79 Fix 'make_lispy_position' when there's an image at EOB

# Conflicts:
# test/lisp/textmodes/fill-tests.el

3 years ago; Merge from origin/emacs-28
Stefan Kangas [Thu, 27 Jan 2022 08:07:56 +0000 (09:07 +0100)]
; Merge from origin/emacs-28

The following commits were skipped:

c5b0019e10 Fix copyright-find-copyright when searching from the end
ed18d08f6f Fix copyright.el comment and add a test

3 years ago* lisp/xwidget.el (xwidget-webkit-edit-mode-map): Pass C-backspace.
Po Lu [Thu, 27 Jan 2022 06:07:08 +0000 (14:07 +0800)]
* lisp/xwidget.el (xwidget-webkit-edit-mode-map): Pass C-backspace.

3 years agoImplement crossing event generation between windows for xwidgets on X
Po Lu [Thu, 27 Jan 2022 05:56:32 +0000 (13:56 +0800)]
Implement crossing event generation between windows for xwidgets on X

* src/xwidget.c (enum xw_crossing_mode): New enum.
(xwidget_motion_notify):
(xwidget_motion_or_crossing): Synthesize crossing events if the
pointer moved between different windows.
(window_coords_from_toplevel):
(xw_maybe_synthesize_crossing): New functions.
(xwidget_init_view): Initialize new field to NULL.
(Fdelete_xwidget_view): Clear last crossing window.

* src/xwidget.h (struct xwidget_view): New field
`last_crossing_window'.

3 years agoSilence byte-compiler slightly in tests
Stefan Kangas [Thu, 27 Jan 2022 03:23:18 +0000 (04:23 +0100)]
Silence byte-compiler slightly in tests

* test/src/comp-resources/comp-test-45603.el
(comp-test-45603--call-marked):
* test/src/comp-resources/comp-test-funcs.el
(comp-tests-discardn-f, comp-test-42360-f, comp-test-46824-1-f)
(comp-test-silly-frame2): Silence byte-compiler.

3 years agoDon't use obsolete second argument to byte-compile-file
Stefan Kangas [Thu, 27 Jan 2022 03:15:13 +0000 (04:15 +0100)]
Don't use obsolete second argument to byte-compile-file

* test/src/comp-resources/comp-test-funcs.el
(comp-test-big-interactive): Don't use obsolete second argument to
byte-compile-file.

3 years agoDon't discourage auto-mode-alist entries in autoloads
Stefan Kangas [Thu, 27 Jan 2022 02:56:49 +0000 (03:56 +0100)]
Don't discourage auto-mode-alist entries in autoloads

* lisp/files.el (auto-mode-alist, interpreter-mode-alist): Delete
comment discouraging entries in autoload directives.  (Bug#8158)

3 years agoImprove XI2 valuator reset logic
Po Lu [Thu, 27 Jan 2022 02:03:56 +0000 (10:03 +0800)]
Improve XI2 valuator reset logic

* src/xterm.c (handle_one_xevent): Clear valuators on XI_Leave
instead of XI_Enter.

3 years ago* src/xterm.c (x_focus_frame): Set input focus on outer window.
Po Lu [Thu, 27 Jan 2022 01:33:11 +0000 (09:33 +0800)]
* src/xterm.c (x_focus_frame): Set input focus on outer window.

3 years agoGet rid of unnecessary draw locking in haikumenu.c
Po Lu [Thu, 27 Jan 2022 01:25:20 +0000 (01:25 +0000)]
Get rid of unnecessary draw locking in haikumenu.c

* src/haikumenu.c (Fhaiku_menu_bar_open): Stop holding the draw
lock.

3 years agoApply fix for bug#52761 to GTK native input as well
Po Lu [Thu, 27 Jan 2022 01:20:25 +0000 (09:20 +0800)]
Apply fix for bug#52761 to GTK native input as well

* src/xgselect.c (xg_select): Apply said fix on regular GTK
builds when native input is being used.

3 years ago* Makefile.in (install-etc): Remove unnecessary chown.
Glenn Morris [Wed, 26 Jan 2022 21:58:21 +0000 (16:58 -0500)]
* Makefile.in (install-etc): Remove unnecessary chown.

Not needed since this rule was changed to not use tar, 2012-05-11.

3 years agoMake smerge-refine-ignore-whitespace into defcustom
Lars Ingebrigtsen [Wed, 26 Jan 2022 17:54:58 +0000 (18:54 +0100)]
Make smerge-refine-ignore-whitespace into defcustom

* lisp/vc/smerge-mode.el (smerge-refine-ignore-whitespace): Make
into defcustom (bug#12585).

3 years agoAdd tests for concat, vconcat and append
Mattias Engdegård [Wed, 26 Jan 2022 15:47:31 +0000 (16:47 +0100)]
Add tests for concat, vconcat and append

* test/src/fns-tests.el (fns-tests-concat)
(fns-concat, fns-vconcat, fns-append): New.

3 years agoMinor `concat` tweaks
Mattias Engdegård [Wed, 26 Jan 2022 10:28:33 +0000 (11:28 +0100)]
Minor `concat` tweaks

* src/fns.c (concat): Do things in the right order for speed.
(concat_strings): Initialise variable.

3 years agoPartially revert a fill-region-as-paragraph regression
Lars Ingebrigtsen [Wed, 26 Jan 2022 15:17:49 +0000 (16:17 +0100)]
Partially revert a fill-region-as-paragraph regression

* lisp/textmodes/fill.el (fill-region-as-paragraph): Revert
e186af261 (bug#53537), because it leads to regressions.  (But
leave tests in place.)

3 years agoFix 'make_lispy_position' when there's an image at EOB
Eli Zaretskii [Wed, 26 Jan 2022 14:44:14 +0000 (16:44 +0200)]
Fix 'make_lispy_position' when there's an image at EOB

* src/xdisp.c (move_it_to): Don't compare IT_CHARPOS with an
invalid TO_CHARPOS.  (Bug#53546)

3 years agoFix copyright-find-copyright when searching from the end
Lars Ingebrigtsen [Wed, 26 Jan 2022 14:02:00 +0000 (15:02 +0100)]
Fix copyright-find-copyright when searching from the end

* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make
the double check also work when searching from the end (bug#7179).

Do not merge to master.

3 years agoFix copyright.el comment and add a test
Lars Ingebrigtsen [Wed, 26 Jan 2022 13:53:07 +0000 (14:53 +0100)]
Fix copyright.el comment and add a test

* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Fix
comment (bug#7179).

Do not merge to master.

3 years agoFix copyright-find-copyright when searching from the end
Lars Ingebrigtsen [Wed, 26 Jan 2022 14:02:00 +0000 (15:02 +0100)]
Fix copyright-find-copyright when searching from the end

* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make
the double check also work when searching from the end (bug#7179).

3 years agoFix copyright.el comment and add a test
Lars Ingebrigtsen [Wed, 26 Jan 2022 13:53:07 +0000 (14:53 +0100)]
Fix copyright.el comment and add a test

* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Fix
comment (bug#7179).

3 years agoFix input of sharp-quoted symbols in Eshell with em-extpipe
Sean Whitton [Wed, 26 Jan 2022 13:13:00 +0000 (14:13 +0100)]
Fix input of sharp-quoted symbols in Eshell with em-extpipe

* lisp/eshell/em-extpipe.el (eshell-parse-external-pipeline): Fix
misinterpreting sharp-quoted symbols as the beginning of single-quoted
strings (Bug#53518).  Add protection against a possible infinite loop.
* test/lisp/eshell/em-extpipe-tests.el (em-extpipe-test-17): New
test (bug#53518).

3 years agoAdapt tramp-tests
Michael Albinus [Wed, 26 Jan 2022 13:05:30 +0000 (14:05 +0100)]
Adapt tramp-tests

* test/lisp/net/tramp-tests.el (tramp--test-special-characters):
Adapt test candidates.

3 years agoFix insert-file-contents for tramp-crypt
Michael Albinus [Wed, 26 Jan 2022 13:05:11 +0000 (14:05 +0100)]
Fix insert-file-contents for tramp-crypt

* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
Use `tramp-handle-insert-file-contents'.

3 years agoAdd workaround for super modifier misconfiguration to non-XKB code
Po Lu [Wed, 26 Jan 2022 12:35:04 +0000 (20:35 +0800)]
Add workaround for super modifier misconfiguration to non-XKB code

* src/xterm.c (x_find_modifier_meanings): Don't let a modifier
be both Hyper and Super.

3 years agoMake use of NILP where possible
Andrea Corallo [Wed, 26 Jan 2022 11:19:59 +0000 (12:19 +0100)]
Make use of NILP where possible

* src/w32menu.c (menubar_selection_callback, w32_menu_show): Use NILP
where possible.
* src/w32fns.c (w32_set_mouse_color): Likewise.
* src/w16select.c (Fw16_selection_exists_p): Likewise.
* src/process.c (Fnetwork_lookup_address_info): Likewise.
* src/cygw32.c (Fcygwin_convert_file_name_to_windows)
(Fcygwin_convert_file_name_from_windows): Likewise.

3 years agoSimplify Haiku scrolling code
Po Lu [Wed, 26 Jan 2022 06:05:35 +0000 (06:05 +0000)]
Simplify Haiku scrolling code

* src/haikuterm.c (haiku_scroll_run): Remove code that can never
be reached since Cairo frames are always double buffered.

3 years agoFix GTK menu bar height reporting when scaled
Po Lu [Wed, 26 Jan 2022 05:53:20 +0000 (13:53 +0800)]
Fix GTK menu bar height reporting when scaled

* src/gtkutil.c (xg_update_frame_menubar): Multiply requisition
height by GDK scale.

3 years ago; * src/xterm.c (handle_one_xevent): Fix formatting of XI2 switch.
Po Lu [Wed, 26 Jan 2022 05:46:28 +0000 (13:46 +0800)]
; * src/xterm.c (handle_one_xevent): Fix formatting of XI2 switch.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Wed, 26 Jan 2022 05:30:26 +0000 (06:30 +0100)]
Merge from origin/emacs-28

7eca80b204 ; * src/composite.c (syms_of_composite) <auto-composition-...

3 years agoSimplify Haiku underline code
Po Lu [Wed, 26 Jan 2022 05:09:09 +0000 (05:09 +0000)]
Simplify Haiku underline code

* src/haikuterm.c (haiku_draw_text_decoration): Remove code left
over from when mouse face had to be set manually.

3 years agoMake `haiku-menu-bar-open' faster
Po Lu [Wed, 26 Jan 2022 01:20:48 +0000 (01:20 +0000)]
Make `haiku-menu-bar-open' faster

* src/haikumenu.c (Fhaiku_menu_bar_open): Get draw lock before
updating the menu bar.
* src/haikuterm.c (haiku_read_socket): Don't update menu bar if
b->no_lock.

3 years ago; * test/lisp/emacs-lisp/derived-tests.el: Silence byte-compiler.
Stefan Kangas [Tue, 25 Jan 2022 23:44:00 +0000 (00:44 +0100)]
; * test/lisp/emacs-lisp/derived-tests.el: Silence byte-compiler.

3 years ago* src/image.c (parse_image_spec): Use NILP.
Stefan Kangas [Tue, 25 Jan 2022 23:42:10 +0000 (00:42 +0100)]
* src/image.c (parse_image_spec): Use NILP.

3 years agoImprove how change-log-mode fills all-file-name lines
Lars Ingebrigtsen [Tue, 25 Jan 2022 13:55:26 +0000 (14:55 +0100)]
Improve how change-log-mode fills all-file-name lines

* lisp/vc/add-log.el (change-log-fill-file-list): New function to
improve how we fill all-file-name ChangeLog lines (bug#19341).
(change-log-indent): Use it.

3 years agoFix up Gnus FAQ entry
Lars Ingebrigtsen [Tue, 25 Jan 2022 13:37:50 +0000 (14:37 +0100)]
Fix up Gnus FAQ entry

* doc/misc/gnus-faq.texi (FAQ 3-9): Remove mention of
nnimap-list-pattern, which was removed some years ago (bug#53522).

3 years ago* src/comp.c (emit_lisp_obj_rval): Make use of NILP.
Andrea Corallo [Tue, 25 Jan 2022 21:15:51 +0000 (22:15 +0100)]
* src/comp.c (emit_lisp_obj_rval): Make use of NILP.

3 years ago;* src/fns.c (concat_strings): Add missing space.
Andrea Corallo [Tue, 25 Jan 2022 21:05:05 +0000 (22:05 +0100)]
;* src/fns.c (concat_strings): Add missing space.

3 years ago* src/comp.c (emit_limple_insn): Fix another int/Lisp_Object mixup
Stefan Monnier [Tue, 25 Jan 2022 19:36:48 +0000 (14:36 -0500)]
* src/comp.c (emit_limple_insn): Fix another int/Lisp_Object mixup

3 years agoTag an mml-sec test
Glenn Morris [Tue, 25 Jan 2022 17:38:50 +0000 (09:38 -0800)]
Tag an mml-sec test

* test/lisp/gnus/mml-sec-tests.el (mml-secure-en-decrypt-3):
Tag unstable on hydra.nixos.org due to repeated intermittent failures.

3 years ago; * src/fns.c (concat_strings): Fix comment style.
Eli Zaretskii [Tue, 25 Jan 2022 17:12:50 +0000 (19:12 +0200)]
; * src/fns.c (concat_strings): Fix comment style.

3 years ago* src/fns.c (concat_strings): Clean-up unused variable.
Andrea Corallo [Tue, 25 Jan 2022 16:52:43 +0000 (17:52 +0100)]
* src/fns.c (concat_strings): Clean-up unused variable.

3 years ago* `batch-byte+native-compile' produce .eln younger than .elc (bug#52912)
Andrea Corallo [Tue, 25 Jan 2022 11:01:55 +0000 (12:01 +0100)]
* `batch-byte+native-compile' produce .eln younger than .elc (bug#52912)

* lisp/emacs-lisp/comp.el (batch-native-compile): Add return
value.
(batch-byte+native-compile): Touch the produced .eln after the
corresponding .elc is produced.

3 years ago* lisp/emacs-lisp/comp.el (batch-byte+native-compile): Fix unwind form
Andrea Corallo [Mon, 24 Jan 2022 14:29:38 +0000 (15:29 +0100)]
* lisp/emacs-lisp/comp.el (batch-byte+native-compile): Fix unwind form

3 years ago* src/lisp.h (lisp_h_EQ, lisp_h_NILP): Fix length and indent
Stefan Monnier [Tue, 25 Jan 2022 15:03:01 +0000 (10:03 -0500)]
* src/lisp.h (lisp_h_EQ, lisp_h_NILP): Fix length and indent

3 years agoFaster concat, append, vconcat, copy-sequence, etc
Mattias Engdegård [Fri, 21 Jan 2022 09:00:19 +0000 (10:00 +0100)]
Faster concat, append, vconcat, copy-sequence, etc

Split the C auxiliary function `concat` into separate functions for
string and list/vector as target types, respectively.  This makes them
simpler and faster.

Implement `Fcopy_sequence` more efficiently for strings, lists and
vectors instead of using `concat`.

The result is a significant performance increase for the Lisp
built-ins concat, append, vconcat, copy-sequence and anything using
them such as mapconcat, copy-alist and propertize.

* src/fns.c (concat2, concat3, Fconcat): Use concat_strings.
(Fappend, Fvconcat): Adapt to changed signature of concat.
(Fcopy_sequence): Faster implementation for lists, strings, and vectors.
(concat_strings): New.
(concat): Strip code for string target, simplify, optimise.
(Fcopy_alist): Use Fcopy_sequence.

3 years agoDon't mutate literals in tabulated-list-widen-current-column
Lars Ingebrigtsen [Tue, 25 Jan 2022 13:21:22 +0000 (14:21 +0100)]
Don't mutate literals in tabulated-list-widen-current-column

* lisp/emacs-lisp/tabulated-list.el
(tabulated-list-widen-current-column): Avoid mutating constants
(bug#53501).

3 years agoFix widening some columns in tabulated-list-widen-current-column
Lars Ingebrigtsen [Tue, 25 Jan 2022 12:58:30 +0000 (13:58 +0100)]
Fix widening some columns in tabulated-list-widen-current-column

* lisp/emacs-lisp/tabulated-list.el
(tabulated-list-widen-current-column): Don't bug out on list-based
columns (bug#53498).

3 years agoTreat "-" as a positional arg in 'eshell-eval-using-options'
Jim Porter [Tue, 25 Jan 2022 05:08:50 +0000 (21:08 -0800)]
Treat "-" as a positional arg in 'eshell-eval-using-options'

* lisp/eshell/esh-opt.el (eshell--process-args): Treat "-" as a
positional arg.

* lisp/eshell/em-tramp.el (eshell/su): Simplify checking for "-".

* test/lisp/eshell/esh-opt-tests.el
(esh-opt-test/eval-using-options-stdin): New test.

3 years agoDon't manipulate args in-place for 'eshell-eval-using-options'
Jim Porter [Tue, 25 Jan 2022 05:03:42 +0000 (21:03 -0800)]
Don't manipulate args in-place for 'eshell-eval-using-options'

This is necessary for preserve the original arguments to forward on to
:external commands.  Previously, when :preserve-args was also set, the
original argument list could be altered, changing the meaning of the
command.

* lisp/eshell/esh-opt.el (eshell-eval-using-options): Copy MACRO-ARGS
when :preserve-args is set, and pass the original value to
'eshell--do-opts'.
(eshell--do-opts): Use the original arguments when calling an external
command.

* lisp/eshell/em-tramp.el (eshell/su, eshell/sudo): Don't copy the
original arguments, since 'eshell-eval-using-options' does this for
us.

* test/lisp/eshell/esh-opt-tests.el (esh-opt-process-args-test):
Split this test into...
(esh-opt-test/process-args)
(esh-opt-test/process-args-parse-leading-options-only)
(esh-opt-test/process-args-external): ... these.
(test-eshell-eval-using-options): Split this test into...
(esh-opt-test/eval-using-options-short)
(esh-opt-test/eval-using-options-long)
(esh-opt-test/eval-using-options-constant)
(esh-opt-test/eval-using-options-user-specified)
(esh-opt-test/eval-using-options-short-single-token)
(esh-opt-test/eval-using-options-terminate-options)
(esh-opt-test/eval-using-options-parse-leading-options-only)
(esh-opt-test/eval-using-options-unrecognized): ... these.
(esh-opt-test/eval-using-options-external): New test.

* test/lisp/eshell/em-tramp-tests.el: New tests.

3 years ago; * src/composite.c (syms_of_composite) <auto-composition-mode>: Doc fix.
Eli Zaretskii [Tue, 25 Jan 2022 12:15:36 +0000 (14:15 +0200)]
; * src/composite.c (syms_of_composite) <auto-composition-mode>: Doc fix.

3 years agoImprove the term-clear-full-screen-programs doc string
Lars Ingebrigtsen [Tue, 25 Jan 2022 11:51:23 +0000 (12:51 +0100)]
Improve the term-clear-full-screen-programs doc string

* lisp/term.el (term-clear-full-screen-programs): Improve the doc
string.

3 years agoImprove reliability of menu bar updates on Haiku
Po Lu [Tue, 25 Jan 2022 11:19:20 +0000 (11:19 +0000)]
Improve reliability of menu bar updates on Haiku

* src/haiku_support.cc (class EmacsWindow): New fields
`menu_update_cv', `menu_update_mutex' and `menu_updated_p'.
(~EmacsWindow): Destroy cv and mutex.
(MenusBeginning): Release lock and wait for condition to be
become true.
(EmacsWindow_signal_menu_update_complete): New function.
* src/haiku_support.h (struct haiku_menu_bar_state_event): New
field `no_lock'.
* src/haikumenu.c (Fhaiku_menu_bar_open): Always update menu
bar.
* src/haikuterm.c (haiku_read_socket): Always update menu bar
and signal the window thread after update completion.

3 years ago* src/haiku_support.cc (Highlight): Send events if !highlight_p.
Po Lu [Tue, 25 Jan 2022 10:18:35 +0000 (10:18 +0000)]
* src/haiku_support.cc (Highlight): Send events if !highlight_p.

3 years agoDon't send menu help events on Haiku if the pointer isn't in the menu
Po Lu [Tue, 25 Jan 2022 10:02:16 +0000 (10:02 +0000)]
Don't send menu help events on Haiku if the pointer isn't in the menu

* src/haiku_support.cc (Highlight): Only send help events
if the mouse cursor is actually in the menu.

3 years agoFix tool bar size reporting on GTK when the display is scaled
Po Lu [Tue, 25 Jan 2022 06:42:33 +0000 (14:42 +0800)]
Fix tool bar size reporting on GTK when the display is scaled

* src/gtkutil.c (xg_update_tool_bar_sizes): Multiply sizes to
turn them into device pixels.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Tue, 25 Jan 2022 05:31:03 +0000 (06:31 +0100)]
Merge from origin/emacs-28

c34d06e3d7 * configure.ac (LIBSECCOMP): Bump minimum version for facc...
335a5a9e0f Make the `f' command work in image-mode again

3 years agoImprove portability of X11 IM code
Po Lu [Tue, 25 Jan 2022 03:49:39 +0000 (11:49 +0800)]
Improve portability of X11 IM code

* configure.ac: Test for XICCallback.callback if X11R6 or later.
* src/xfns.c (Xxic_preedit_start_callback): Use XICCallback if
present.

3 years agoRemove some dubious uses of `interactive-form`
Stefan Monnier [Tue, 25 Jan 2022 02:31:53 +0000 (21:31 -0500)]
Remove some dubious uses of `interactive-form`

* lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): `commandp` and
`interactive-form` are for function values, not for source code.
* lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
Prefer `commandp` over `interactive-form`.

3 years agoFix invalid picture after toggling the tool bar or menu bar on GTK
Po Lu [Tue, 25 Jan 2022 02:14:28 +0000 (10:14 +0800)]
Fix invalid picture after toggling the tool bar or menu bar on GTK

* src/xterm.c (x_drop_xrender_surfaces): New function.
(handle_one_xevent): Call x_drop_xrender_surfaces instead of
just font_drop_xrender_surfaces.

3 years agoFix GTK native input on scaled displays
Po Lu [Tue, 25 Jan 2022 00:21:55 +0000 (08:21 +0800)]
Fix GTK native input on scaled displays

* src/xfns.c (xic_set_preeditarea): Scale preedit spot rectangle
before giving it to GTK.

3 years agoAdd Eshell syntax to more easily bypass Eshell's own pipelining
Sean Whitton [Mon, 17 Jan 2022 22:15:36 +0000 (15:15 -0700)]
Add Eshell syntax to more easily bypass Eshell's own pipelining

* etc/NEWS:
* doc/misc/eshell.texi (Input/Output): Document the new syntax.
* lisp/eshell/em-extpipe.el: New module (Bug#46351).
* test/lisp/eshell/em-extpipe-tests.el: New tests.
* lisp/eshell/esh-module.el (eshell-modules-list): Add `eshell-extpipe'.

3 years agoRework eshell-match-result for testing asynchronous commands
Sean Whitton [Sun, 23 Jan 2022 01:54:55 +0000 (18:54 -0700)]
Rework eshell-match-result for testing asynchronous commands

When using eshell-match-result via eshell-command-result-p to examine
the output of asynchronous Eshell commands, a newly emitted prompt is
included in the text against which the regexp is matched.  This makes
it awkward to match against the whole output; for example, to check
whether it is empty.  Rework the function to exclude the prompt.

* test/lisp/eshell/eshell-tests-helpers.el (eshell-match-result):
Exclude any newly emitted prompt from the text against which the
regexp is matched.  Additionally, the function no longer moves point.
* test/lisp/eshell/eshell-tests.el (eshell-test/flush-output): Update
and simplify test given how eshell-match-result no longer moves point.

3 years agoMove Eshell test helpers to their own file
Sean Whitton [Sat, 22 Jan 2022 05:32:22 +0000 (22:32 -0700)]
Move Eshell test helpers to their own file

* test/lisp/eshell/eshell-tests.el:
* test/lisp/eshell/eshell-tests-helpers.el: Move helpers to own file.

3 years agoMake hi-lock-face-defaults into a defcustom
Lars Ingebrigtsen [Mon, 24 Jan 2022 19:14:15 +0000 (20:14 +0100)]
Make hi-lock-face-defaults into a defcustom

* lisp/hi-lock.el (hi-lock-face-defaults): Make into defcustom.

3 years ago* lisp/hi-lock.el (hi-lock-use-overlays): New variable.
Juri Linkov [Mon, 24 Jan 2022 19:15:37 +0000 (21:15 +0200)]
* lisp/hi-lock.el (hi-lock-use-overlays): New variable.

(hi-lock-set-pattern): Use it.  Set overlay priority to 1.
(bug#53155)

3 years agoAdd NEWS entry for term-clear-full-screen-programs
Lars Ingebrigtsen [Mon, 24 Jan 2022 19:02:26 +0000 (20:02 +0100)]
Add NEWS entry for term-clear-full-screen-programs

3 years agoImplement alternative sub-buffer support in term.el
Miha Rihtaršič [Sun, 23 Jan 2022 20:13:24 +0000 (21:13 +0100)]
Implement alternative sub-buffer support in term.el

* etc/e/eterm-color.ti: Added termcaps for entering and leaving an
alternative sub-buffer.
* lisp/term.el (term-reset-size): Resize correctly in an alternative
sub-buffer is in use.
(term-clear-full-screen-programs): New user option.
(term-handle-ansi-escape):
(term-termcap-format): Handle termcaps for entering and leaving an
alternative sub-buffer.
(term-switch-to-alternate-sub-buffer): New (used to be commented out)
function to enter or leave an alternative sub-buffer.
bug#53485

3 years ago* lisp/info.el (Info-link-keymap): Fix repetitive clicks on the header line.
Juri Linkov [Mon, 24 Jan 2022 18:52:59 +0000 (20:52 +0200)]
* lisp/info.el (Info-link-keymap): Fix repetitive clicks on the header line.

Rebind [header-line mouse-1] from mouse-select-window to
Info-mouse-follow-link.  It selects the window anyway,
but also allows repetitively clicking on the Next button
on the Info header line (bug#53170).

3 years agoDon't list the default hi-lock faces twice in the future history
Lars Ingebrigtsen [Mon, 24 Jan 2022 18:51:55 +0000 (19:51 +0100)]
Don't list the default hi-lock faces twice in the future history

* lisp/hi-lock.el (hi-lock-read-face-name): Don't include faces
twice in the defaults (bug#19877).

3 years agoFix gnus-article-truncate-lines doc string
Lars Ingebrigtsen [Mon, 24 Jan 2022 18:41:15 +0000 (19:41 +0100)]
Fix gnus-article-truncate-lines doc string

* lisp/gnus/gnus-art.el (gnus-article-truncate-lines): Fix doc
string.

3 years ago* etc/NEWS: Mention 'replace-regexp-function' (bug#52558).
Juri Linkov [Mon, 24 Jan 2022 18:45:53 +0000 (20:45 +0200)]
* etc/NEWS: Mention 'replace-regexp-function' (bug#52558).

3 years ago* lisp/faces.el (read-face-name): Support a list of defaults for M-n.
Juri Linkov [Mon, 24 Jan 2022 18:28:10 +0000 (20:28 +0200)]
* lisp/faces.el (read-face-name): Support a list of defaults for M-n.

When MULTIPLE is nil and the arg DEFAULT is a list, keep its elements
in the "future history" of the minibuffer retrieved by `M-n M-n ...'.
(bug#53255)

3 years ago* lisp/minibuffer.el (completions-sort): Fix type.
Glenn Morris [Mon, 24 Jan 2022 18:16:36 +0000 (10:16 -0800)]
* lisp/minibuffer.el (completions-sort): Fix type.

Flagged by test-custom-opts.

3 years agoDon't output spurious prefixes in read-char-exclusive
Lars Ingebrigtsen [Mon, 24 Jan 2022 17:17:10 +0000 (18:17 +0100)]
Don't output spurious prefixes in read-char-exclusive

* src/keyboard.c (read_char): Don't touch the echo area if
Vecho_keystrokes is nil.
* src/lread.c (read_filtered_event): Bind echo_keystrokes to nil
to avoid outputting prefixes we're not going to act on anyway
(bug#19718).

3 years agoAllow sorting in electric-buffer-list with `S'
Lars Ingebrigtsen [Mon, 24 Jan 2022 16:22:49 +0000 (17:22 +0100)]
Allow sorting in electric-buffer-list with `S'

* lisp/ebuff-menu.el (electric-buffer-menu-mode-map): Add the `S'
sorting command here, too (bug#20178).

3 years agoERC: Add new comaintainer, F. Jason Park
Amin Bandali [Mon, 24 Jan 2022 15:59:05 +0000 (10:59 -0500)]
ERC: Add new comaintainer, F. Jason Park

* lisp/erc/erc*.el: Add J.P. as my comaintainer to headers.

3 years agoFix \href{a_b} in tex-mode
Lars Ingebrigtsen [Mon, 24 Jan 2022 14:19:38 +0000 (15:19 +0100)]
Fix \href{a_b} in tex-mode

* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-2): Fontify
href parameters like constants so that _ aren't fontified like
subscripts.

3 years agoRevert "Fix tex-mode handling of _ chars in href{} commands"
Lars Ingebrigtsen [Mon, 24 Jan 2022 14:15:59 +0000 (15:15 +0100)]
Revert "Fix tex-mode handling of _ chars in href{} commands"

This reverts commit 487a0be7f7eb0ca9402247f13a11e39aa2946d05.

This will be fixed a different way.

3 years agoAdd derived-mode test for bug#24176
Lars Ingebrigtsen [Mon, 24 Jan 2022 14:10:18 +0000 (15:10 +0100)]
Add derived-mode test for bug#24176

3 years agoMake anonymous functions work in auto-mode-alist
Lars Ingebrigtsen [Mon, 24 Jan 2022 14:05:28 +0000 (15:05 +0100)]
Make anonymous functions work in auto-mode-alist

* lisp/files.el (set-auto-mode--apply-alist): Don't infloop on
anonymous functions in auto-mode-alist (bug#20709).

3 years ago; * src/bytecode.c (exec_byte_code): Silence GCC warning
Mattias Engdegård [Mon, 24 Jan 2022 14:02:17 +0000 (15:02 +0100)]
; * src/bytecode.c (exec_byte_code): Silence GCC warning

3 years agoDon't loop so much in gud-query-cmdline on remote systems
Lars Ingebrigtsen [Mon, 24 Jan 2022 13:55:35 +0000 (14:55 +0100)]
Don't loop so much in gud-query-cmdline on remote systems

* lisp/progmodes/gud.el (gud-query-cmdline): Avoid looping over
large numbers of files on remote systems (bug#21528).

3 years agoMake Completions sorting a user option
Protesilaos Stavrou [Wed, 19 Jan 2022 12:20:19 +0000 (14:20 +0200)]
Make Completions sorting a user option

* etc/NEWS: Document the new user option.
* lisp/minibuffer.el (completions-sort): Add new user option.
(minibuffer-completion-help): Implement it for the Completions
buffer.  (Bug#53362)

3 years agoAllow jumping to ert failure definitions
Lars Ingebrigtsen [Mon, 24 Jan 2022 13:00:50 +0000 (14:00 +0100)]
Allow jumping to ert failure definitions

* lisp/emacs-lisp/ert.el (ert-test):
(ert-deftest):  Store the file name.
(ert-test-location): New function.
(ert-run-tests-batch): Use it.

* lisp/emacs-lisp/find-func.el (find-ert-deftest-regexp): New
variable.
(find-function-regexp-alist): Add ert-deftest (bug#22471).

Based on code by Phillip Lord <phillip.lord@russet.org.uk>.

3 years ago* configure.ac: Remove forgotten GLIB_GSETTINGS call
Yuuki Harano [Mon, 24 Jan 2022 12:26:17 +0000 (21:26 +0900)]
* configure.ac: Remove forgotten GLIB_GSETTINGS call

3 years agoAdd NEWS item for `I' command
Lars Ingebrigtsen [Mon, 24 Jan 2022 12:02:00 +0000 (13:02 +0100)]
Add NEWS item for `I' command

3 years agoAdd a *Help* command that'll take you to the lispref manual
Lars Ingebrigtsen [Mon, 24 Jan 2022 11:59:55 +0000 (12:59 +0100)]
Add a *Help* command that'll take you to the lispref manual

* doc/emacs/help.texi (Help Mode): Document it.
* lisp/help-mode.el (help-mode-map): Add an `I' keystroke.
(help-goto-lispref-info): New command.

* lisp/info-look.el (:mode): Add an entry for the lispref manual.

3 years agoFix tex-mode handling of _ chars in href{} commands
Lars Ingebrigtsen [Mon, 24 Jan 2022 11:39:02 +0000 (12:39 +0100)]
Fix tex-mode handling of _ chars in href{} commands

* lisp/textmodes/tex-mode.el (tex--current-command): New function
(bug#23102).
(tex-font-lock-suscript): Don't subscript _ chars in href.

3 years agoMake `font-lock-add-keywords' work in derived modes
Lars Ingebrigtsen [Mon, 24 Jan 2022 10:55:57 +0000 (11:55 +0100)]
Make `font-lock-add-keywords' work in derived modes

* lisp/font-lock.el (font-lock-set-defaults): Make
`font-lock-add-keywords' work in derived modes (bug#24176).

3 years agoRemove redundant declarations from keyboard.h that are now in lisp.h
Po Lu [Mon, 24 Jan 2022 10:49:54 +0000 (18:49 +0800)]
Remove redundant declarations from keyboard.h that are now in lisp.h

* src/keyboard.h (process_pending_signals)
(pending_signals): Remove declarations.

3 years agoInline maybe_quit
Mattias Engdegård [Sat, 15 Jan 2022 15:23:09 +0000 (16:23 +0100)]
Inline maybe_quit

Since `maybe_quit` is called on many critical paths, inline a slightly
cheaper condition (that ignores Vinhibit_quit).

* src/eval.c (maybe_quit): Rename to `probably_quit`.
* src/lisp.h (maybe_quit): New simplified inline function.

3 years agoBump specpdl inline, move reallocation out of line
Mattias Engdegård [Sat, 15 Jan 2022 13:51:09 +0000 (14:51 +0100)]
Bump specpdl inline, move reallocation out of line

The common case is just to increment `specpdl_ptr`; do that in-line,
but move the uncommon reallocation to a separate subroutine.

* src/eval.c (grow_specpdl): Now inline, most code moved...
(grow_specpdl_allocation): ...here.

3 years agoImplement Ffuncall in terms of funcall_general
Mattias Engdegård [Wed, 12 Jan 2022 11:05:26 +0000 (12:05 +0100)]
Implement Ffuncall in terms of funcall_general

* src/eval.c (funcall_general, Ffuncall): Delegate the actual work in
Ffuncall to funcall_general which does exactly this.
This slows down some less used function call paths by a small amount
but the code duplication was just silly.

3 years ago; * lisp/emacs-lisp/byte-opt.el: Remove outdated comments
Mattias Engdegård [Sun, 2 Jan 2022 15:11:45 +0000 (16:11 +0100)]
; * lisp/emacs-lisp/byte-opt.el: Remove outdated comments

These were optimisation ideas that have been implemented, have become
irrelevant, or were impractical to begin with.

3 years agoOpen-code aref and aset in bytecode interpreter
Mattias Engdegård [Sun, 2 Jan 2022 11:19:54 +0000 (12:19 +0100)]
Open-code aref and aset in bytecode interpreter

* src/bytecode.c (exec_byte_code): Inline aref and aset for
vectors and records, since this is important for code that makes heavy
use of arrays and/or objects.

3 years agoRemove the unused unbind-all bytecode
Mattias Engdegård [Sun, 2 Jan 2022 10:35:16 +0000 (11:35 +0100)]
Remove the unused unbind-all bytecode

It was implemented but never generated, originally intended for
TCO in the pre-lexbind era (which was semantically dubious anyway).
Removing it speeds up the interpreter because there is no longer any
need for the outermost `count` variable unless checking is enabled.

* lisp/emacs-lisp/bytecomp.el:
* lisp/emacs-lisp/comp.el (comp-limplify-lap-inst):
* src/bytecode.c (BYTE_CODES, exec_byte_code):
Remove definition and implementation of unbind-all, freeing up the opcode
for other purposes.

3 years agoMove a runtime interpreter check to debug mode
Mattias Engdegård [Sun, 2 Jan 2022 10:15:41 +0000 (11:15 +0100)]
Move a runtime interpreter check to debug mode

* src/bytecode.c (exec_byte_code): Perform bytecode unwinding error
check only when building with debugging (NDEBUG not defined, checking
enabled, or BYTE_CODE_SAFE enabled).  This improves speed in several
ways.

3 years agoRemove nil check in exec_byte_code
Mattias Engdegård [Sat, 1 Jan 2022 21:39:17 +0000 (22:39 +0100)]
Remove nil check in exec_byte_code

Since we pass no arguments to a non-lexbind bytecode function, we can
specify its arity as 0 instead of nil and save a test and branch.

* src/bytecode.c (Fbyte_code, exec_byte_code):
* src/eval.c (fetch_and_exec_byte_code, funcall_lambda):
* src/lisp.h:
Change the args_template parameter type to ptrdiff_t, since it is now
always a small integer, in exec_byte_code and
fetch_and_exec_byte_code, all callers adjusted.