]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years ago* test/lisp/emacs-lisp/nadvice-tests.el: Re-add no-byte-compile.
Stefan Kangas [Mon, 8 Aug 2022 11:37:43 +0000 (13:37 +0200)]
* test/lisp/emacs-lisp/nadvice-tests.el: Re-add no-byte-compile.

2 years agoRemove redundant local variables in tests
Stefan Kangas [Mon, 8 Aug 2022 11:18:36 +0000 (13:18 +0200)]
Remove redundant local variables in tests

* test/lisp/calc/calc-tests.el:
* test/lisp/progmodes/python-tests.el: Remove redundant local
variables.
* test/src/coding-tests.el: Pacify byte-compiler without using local
variable.

2 years agoRevert "Don't autoload obsolete library tpu-extras.el"
Stefan Kangas [Mon, 8 Aug 2022 10:03:30 +0000 (12:03 +0200)]
Revert "Don't autoload obsolete library tpu-extras.el"

This reverts commit 77bf50cb330807039cc84138fb84870bd6d532e2.

2 years agoGroup print buffer state in a struct
Mattias Engdegård [Mon, 8 Aug 2022 11:09:39 +0000 (13:09 +0200)]
Group print buffer state in a struct

* src/print.c (print_buffer, print_buffer_size, print_buffer_pos)
(print_buffer_pos_byte): Replace with...
(struct print_buffer, print_buffer): ...this.
* src/print.c: (print_free_buffer, print_unwind)
(print_prepare, print_finish, printchar, strout): Adapt users.

2 years agoTurn large macros in print.c to functions
Mattias Engdegård [Mon, 8 Aug 2022 10:39:12 +0000 (12:39 +0200)]
Turn large macros in print.c to functions

This is easier to read and maintain, and makes the state explicit.
It is a pure refactoring; the compiled code should be equivalent.

* src/print.c (PRINTPREPARE, PRINTFINISH): Replace with...
(struct print_context, print_prepare, print_finish): ...these new
functions and explicit state in a struct.
(Fwrite_char, write_string, Fterpri, Fprin1, Fprin1_to_string)
(Fprinc, Fprint): Adapt callers.

2 years agoRemove no-byte-compile cookie from some libraries
Stefan Kangas [Mon, 8 Aug 2022 09:50:33 +0000 (11:50 +0200)]
Remove no-byte-compile cookie from some libraries

This gives us back byte-compiler warnings for these files.
* lisp/mh-e/mh-acros.el:
* test/lisp/comint-tests.el:
* test/lisp/emacs-lisp/nadvice-tests.el:
* test/lisp/emacs-lisp/syntax-tests.el:
* test/lisp/xml-tests.el:
* test/src/font-tests.el: Remove no-byte-compile cookie.
* test/src/font-tests.el (font-parse-explain): Fix warning.

2 years agoDon't autoload obsolete library tpu-extras.el
Stefan Kangas [Mon, 8 Aug 2022 09:13:58 +0000 (11:13 +0200)]
Don't autoload obsolete library tpu-extras.el

* lisp/obsolete/tpu-edt.el: Remove autoloads of obsolete library
tpu-extras.el.
* lisp/obsolete/tpu-extras.el: Don't set generated-autoload-file
to tpu-edt.el.

2 years agoClean up some local variable sections
Stefan Kangas [Sun, 7 Aug 2022 17:23:36 +0000 (19:23 +0200)]
Clean up some local variable sections

* lisp/filesets.el:
* lisp/mh-e/mh-*.el:
* lisp/progmodes/python.el (python): Don't set options that are
already set in .dir-locals.el.
* lisp/textmodes/ispell.el: Remove redundant local variables.
* lisp/gnus/nnmaildir.el: Remove local variables that conflicts with
Emacs defaults.

2 years agoFix warnings outside XI2 builds
Po Lu [Mon, 8 Aug 2022 03:59:08 +0000 (11:59 +0800)]
Fix warnings outside XI2 builds

* src/xterm.c (x_query_pointer): Juggle some definitions around.

2 years agoImprove handling of pointer focus under the input extension
Po Lu [Mon, 8 Aug 2022 03:44:53 +0000 (11:44 +0800)]
Improve handling of pointer focus under the input extension

* src/xfns.c (x_relative_mouse_position)
(Fx_mouse_absolute_pixel_position, compute_tip_xy): Use
x_query_pointer instead of XQueryPointer.
* src/xterm.c (xi_populate_device_from_info): Set new attachment
field.
(xi_handle_focus_change): Set client pointer.
(xi_focus_handle_for_device, xi_handle_interaction): Use
attached keyboard device to handle focus.
(x_query_pointer): New function.
(XTmouse_position, x_scroll_bar_report_motion)
(x_horizontal_scroll_bar_report_motion, handle_one_xevent): Use
x_query_pointer instead of XQueryPointer.
(x_term_init): Initialize client pointer device.
* src/xterm.h (struct xi_device_t): New field `attachment'.
(struct x_display_info): New field `client_pointer_device'.

2 years agoMinor cleanups in ediff-*.el
Stefan Kangas [Sun, 7 Aug 2022 17:21:09 +0000 (19:21 +0200)]
Minor cleanups in ediff-*.el

* lisp/vc/ediff-init.el (ediff-window-visible-p):
(ediff-nonempty-string-p): Simplify.
(stipple-pixmap): Don't try XEmacs specific(?) variable.
(ediff-frame-unsplittable-p): Make obsolete.  Update callers.
(ediff-has-gutter-support-p): Redefine as obsolete function alias for
'ignore'.
(ediff-mouse-event-p): Redefine as obsolete function alias for
'mouse-event-p'.  Update callers.
* lisp/vc/ediff-util.el (ediff-submit-report): Simplify.
(ediff-filename-magic-p): Make obsolete.  Update callers.
(ediff-activate-mark): Make obsolete.  Update callers.
* lisp/vc/ediff-help.el:
* lisp/vc/ediff-hook.el:
* lisp/vc/ediff-util.el:
* lisp/vc/ediff-wind.el: Remove superfluous defvars.

2 years agoMake ediff-window-display-p obsolete
Stefan Kangas [Sun, 7 Aug 2022 15:50:33 +0000 (17:50 +0200)]
Make ediff-window-display-p obsolete

* lisp/vc/ediff-init.el (ediff-window-display-p): Redefine as
obsolete function alias for 'display-graphic-p'.

2 years ago; * lisp/emacs-lisp/bytecomp.el: indentation fix
Mattias Engdegård [Sun, 7 Aug 2022 15:18:21 +0000 (17:18 +0200)]
; * lisp/emacs-lisp/bytecomp.el: indentation fix

2 years agoPacify a gcc warning in xi_handle_focus_change
Lars Ingebrigtsen [Sun, 7 Aug 2022 15:22:46 +0000 (17:22 +0200)]
Pacify a gcc warning in xi_handle_focus_change

* src/xterm.c (xi_handle_focus_change): Pacify a wrong warning on
gcc (Debian 10.2.1-6).

xterm.c: In function ‘xi_handle_focus_change’:
xterm.c:12564:25: warning: ‘source’ may be used uninitialized in
this function [-Wmaybe-uninitialized]
12564 |       ie.device = source->name;
      |                   ~~~~~~^~~~~~

2 years agoImprove Tramp error message
Michael Albinus [Sun, 7 Aug 2022 14:35:50 +0000 (16:35 +0200)]
Improve Tramp error message

* lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
Simplify for empty files.  Better error message.  (Bug#56879)

2 years agoFix blank/comment line handling in python-nav-beginning-of-block
kobarity [Sun, 7 Aug 2022 14:10:26 +0000 (16:10 +0200)]
Fix blank/comment line handling in python-nav-beginning-of-block

* lisp/progmodes/python.el (python-nav-beginning-of-block): Fix
handling of blank/comment line right after block start (bug#57038).

2 years agoFix 'vertical-motion' in bidi-reordered text
Eli Zaretskii [Sun, 7 Aug 2022 14:03:52 +0000 (17:03 +0300)]
Fix 'vertical-motion' in bidi-reordered text

* src/xdisp.c (move_it_vertically_backward): Fix the case of long
bidi-reordered lines when starting from its last (top-most) screen
line.
(move_it_by_lines): Fix logic of detection when going by lines
overshoots.

2 years agoMake ediff-file-remote-p obsolete in favor of file-remote-p
Stefan Kangas [Sun, 7 Aug 2022 12:28:38 +0000 (14:28 +0200)]
Make ediff-file-remote-p obsolete in favor of file-remote-p

* lisp/vc/ediff-init.el (ediff-file-remote-p): Make into obsolete
function alias for file-remote-p.  Update callers.

2 years ago; Improve obsoletions in ediff-init.el
Stefan Kangas [Sun, 7 Aug 2022 12:19:19 +0000 (14:19 +0200)]
; Improve obsoletions in ediff-init.el

* lisp/vc/ediff-init.el (ediff-convert-standard-filename): Convert
to obsolete function alias.
(ediff-device-type, ediff-last-command-char): Better document
obsoletion.

2 years agoDeclare unused function ediff-user-grabbed-mouse obsolete
Stefan Kangas [Sun, 7 Aug 2022 11:51:39 +0000 (13:51 +0200)]
Declare unused function ediff-user-grabbed-mouse obsolete

* lisp/vc/ediff-init.el (ediff-user-grabbed-mouse): Declare unused
function obsolete.  As far as I can tell, this has been unused
since 1996.

* lisp/vc/ediff-wind.el (ediff-mouse-pixel-position): Make
variable obsolete.  It is only used in the above obsolete funct
* lisp/vc/ediff-mult.el (ediff-filegroup-action)
(ediff-registry-action):
* lisp/vc/ediff-util.el (ediff-setup): Don't set above unused
variable.

* lisp/vc/ediff-init.el (ediff-spy-after-mouse): Make obsolete.
* lisp/vc/ediff-util.el (ediff-setup): Don't add above obsolete
function to pre-command-hook.

2 years agoMake compat function custom-reset-variables obsolete
Stefan Kangas [Sun, 7 Aug 2022 11:46:00 +0000 (13:46 +0200)]
Make compat function custom-reset-variables obsolete

* lisp/custom.el (custom-reset-variables): Make unused XEmacs compat
function obsolete.

2 years agoRemove workaround for XEmacs bug in ediff-util.el
Stefan Kangas [Sun, 7 Aug 2022 11:43:47 +0000 (13:43 +0200)]
Remove workaround for XEmacs bug in ediff-util.el

* lisp/vc/ediff-util.el (ediff-make-empty-tmp-file): Remove
workaround for XEmacs bug.

2 years ago* lib-src/etags.c: Remove XEmacs support.
Stefan Kangas [Sun, 7 Aug 2022 11:32:45 +0000 (13:32 +0200)]
* lib-src/etags.c: Remove XEmacs support.

2 years agoClarify lisp/Makefile.in comment
Lars Ingebrigtsen [Sun, 7 Aug 2022 12:40:54 +0000 (14:40 +0200)]
Clarify lisp/Makefile.in comment

* lisp/Makefile.in: Clarify comment.

2 years agoCC Mode: Fix looping in patch from yesterday
Alan Mackenzie [Sun, 7 Aug 2022 12:26:16 +0000 (12:26 +0000)]
CC Mode: Fix looping in patch from yesterday

* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings): Check (eobp) in loops advancing over
escaped newlines.

2 years agoTweak autoloads lisp/Makefile.in dependencies
Lars Ingebrigtsen [Sun, 7 Aug 2022 12:02:42 +0000 (14:02 +0200)]
Tweak autoloads lisp/Makefile.in dependencies

* lisp/Makefile.in (autoloads): Adjust the dependencies to what
they were before, and update the comments.

2 years ago; Improve time-convert call in recently changed test
Stefan Kangas [Sun, 7 Aug 2022 11:16:53 +0000 (13:16 +0200)]
; Improve time-convert call in recently changed test

* test/lisp/eshell/em-pred-tests.el
(eshell-parse-file-name-attributes): Use t instead of nil as
second argument to 'time-convert'.
Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.

2 years agoImprove how url-http displays status messages
Stefan Kangas [Sun, 7 Aug 2022 11:14:20 +0000 (13:14 +0200)]
Improve how url-http displays status messages

* lisp/url/url-util.el (url-display-message): New function.
(url-display-percentage): Make obsolete in favor of
url-display-message.

* lisp/url/url-http.el
(url-http-content-length-after-change-function):
Prefer 'url-display-message' to 'url-display-percentage'.
(url-http-content-length-after-change-function)
(url-http-chunked-encoding-after-change-function):
Remove ineffectual calls to 'url-display-percentage'.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Sun, 7 Aug 2022 10:57:53 +0000 (12:57 +0200)]
Merge from origin/emacs-28

7ffcba4213 * etc/PROBLEMS: Problems with Alacritty and Emoji.  (Bug#5...
df95118e83 Link from (emacs)Init Syntax to (elisp)Introduction
7793cf0c3d Don't mention removed XEmacs support in reftex manual
3d1cf1b47a Don't mention removed XEmacs support in idlwave manual
7ff60c62a9 ; * admin/make-tarball.txt: Fix last change.
2fd5590d0c ; * lisp/play/fortune.el (fortune-ask-file): Doc fix.

2 years agoCease emitting negative file offsets for user variables
Mattias Engdegård [Sun, 7 Aug 2022 08:52:16 +0000 (10:52 +0200)]
Cease emitting negative file offsets for user variables

'User variables' were made obsolete in Emacs 24 along with
user-variable-p; the sign of the position in (#$ . POS) hasn't
mattered since.

* lisp/emacs-lisp/bytecomp.el (byte-compile-output-docform):
Don't emit negative position when doc string starts with `*`.
* src/lread.c (get_lazy_string): Explain.

2 years agoUse struct for saved strings in the reader
Mattias Engdegård [Sat, 6 Aug 2022 14:39:42 +0000 (16:39 +0200)]
Use struct for saved strings in the reader

* src/lread.c (saved_doc_string, saved_doc_string_size)
(saved_doc_string_length, saved_doc_string_position)
(prev_saved_doc_string, prev_saved_doc_string_size)
(prev_saved_doc_string_length, prev_saved_doc_string_position):
Replace with...
(struct saved_string, saved_strings): ...this.
* src/lread.c (Fload, skip_lazy_string, get_lazy_string):
Adapt code.

2 years agoMake force-load-doc-strings work again
Mattias Engdegård [Sat, 6 Aug 2022 11:38:12 +0000 (13:38 +0200)]
Make force-load-doc-strings work again

When load-force-doc-strings is true, read (#$ . POS) as the (unibyte)
string referred to.  This feature was lost by mistake in the recent
nonrecursive reader rewrite.

Noticed by Stefan Monnier.

* src/lread.c (get_lazy_string): New function (code mostly recycled
from an old version).
(read0): Detect (#$ . FIXNUM) and retrieve the string if appropriate.
* test/src/lread-resources/lazydoc.el:
* test/src/lread-tests.el (lread-force-load-doc-strings):
New test.

2 years agoRevert "Improve X event timestamp tracking"
Po Lu [Sun, 7 Aug 2022 03:47:26 +0000 (11:47 +0800)]
Revert "Improve X event timestamp tracking"

This reverts commit 4b98a79a508ebdc719abfcf51ee6de32e46d0e1c.

This change was installed without answering several important
questions.

2 years agoImprove X event timestamp tracking
Daniel Colascione [Sun, 7 Aug 2022 03:42:36 +0000 (23:42 -0400)]
Improve X event timestamp tracking

Fix two problems with our handling of X timestamps

1) We're not properly updating the X interaction timestamp after
receiving certain input events, and

2) X events sent in response to emacsclient commands get stale
timestamps because the timestamp tracking doesn't take into account
that interactions with the user can occur outside the X input
event channel.

* src/xterm.c:
(x_display_set_last_user_time_1): New function.
(x_display_set_last_user_time): Call it.
(x_ewmh_activate_frame): Refactor.
(x_focus_frame): Don't call XSetInputFocus if we can use EWMH activation.
(server_timestamp_predicate): New function.
(x_get_server_time): New function.
(x_note_oob_interaction): New function.
(x_create_terminal): Register new function as terminal hook.

* src/termhooks.h: New hook: note_oob_interaction_hook.

* src/gtkutil.h:
(xg_set_user_timestamp): Declare.

* src/gtkutil.c:
(xg_set_user_timestamp): New function.

* src/frame.c:
(Fframe_note_oob_interaction): New function.
(syms_of_frame): Register it.

* lisp/server.el:
(server-switch-buffer): Call frame-note-oob-interaction when user
requests frame be raised.

2 years agoCorrectly set user time on GTK+ for key press events
Po Lu [Sun, 7 Aug 2022 02:18:14 +0000 (10:18 +0800)]
Correctly set user time on GTK+ for key press events

* src/xterm.c (x_set_gtk_user_time): New function.
(handle_one_xevent): Call that after key press event on GTK+.

2 years ago* lisp/transient.el: Update to package version v0.3.7-158-gc09b34e
Jonas Bernoulli [Sat, 6 Aug 2022 22:28:18 +0000 (00:28 +0200)]
* lisp/transient.el: Update to package version v0.3.7-158-gc09b34e

2 years agoCC Mode: Optimize font-locking stanzas for long raw strings.
Alan Mackenzie [Sat, 6 Aug 2022 21:11:18 +0000 (21:11 +0000)]
CC Mode: Optimize font-locking stanzas for long raw strings.

Also replace some regexp searches which had caused regexp engine stack
overflows with simple end-of-line calls.

* lisp/progmodes/cc-fonts.el (c-make-syntactic-matcher)
(c-make-font-lock-search-form): Start the generated functions with a skipping
of comments and strings.
(c-make-font-lock-BO-decl-search-function): Start the generated function with
a (fast) movement to the start of any literal.

* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings): Replace complicated regexp searches
for end of logical line with basic Lisp functions.

2 years agoFinish up obsoletion of mh-compat.el
Stefan Kangas [Sat, 6 Aug 2022 18:36:13 +0000 (20:36 +0200)]
Finish up obsoletion of mh-compat.el

* lisp/obsolete/mh-compat.el: Add "Obsolete-since" header.
* lisp/mh-e/mh-e.el (mh-compat): Don't require.
* lisp/mh-e/mh-utils.el (mailabbrev): Require.

2 years agoMake mh-compat.el obsolete
Stefan Kangas [Sat, 6 Aug 2022 18:34:45 +0000 (20:34 +0200)]
Make mh-compat.el obsolete

This used to be for XEmacs and old version compatibility, but nowadays
everything in this file is obsolete.

* lisp/mh-e/mh-compat.el: Move from here...
* lisp/obsolete/mh-compat.el: ...to here.

2 years agoMove mh-flet macro to mh-acros.el
Stefan Kangas [Sat, 6 Aug 2022 18:33:50 +0000 (20:33 +0200)]
Move mh-flet macro to mh-acros.el

* lisp/mh-e/mh-compat.el (mh-flet): Move from here...
* lisp/mh-e/mh-acros.el (mh-flet): ...to here.

2 years agoMake compat macro mh-display-completion-list obsolete
Stefan Kangas [Sat, 6 Aug 2022 18:32:59 +0000 (20:32 +0200)]
Make compat macro mh-display-completion-list obsolete

* lisp/mh-e/mh-compat.el (mh-display-completion-list): Make compat
macro obsolete.  Update callers.

2 years ago* etc/PROBLEMS: Problems with Alacritty and Emoji. (Bug#56952)
Eli Zaretskii [Sat, 6 Aug 2022 16:19:01 +0000 (19:19 +0300)]
* etc/PROBLEMS: Problems with Alacritty and Emoji.  (Bug#56952)

2 years agoAdapt Tramp for Android 12
Michael Albinus [Sat, 6 Aug 2022 16:09:35 +0000 (18:09 +0200)]
Adapt Tramp for Android 12

* lisp/net/tramp-adb.el (tramp-methods): Use "%d".
(tramp-adb-handle-directory-files-and-attributes): Fix "." and
".." in listing.
(tramp-adb-sh-fix-ls-output): Fix file names with spaces.
(tramp-adb-maybe-open-connection): Compute args from `tramp-login-args'.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-handle-make-process): Check for adb device if indicated.

* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
(tramp-test22-file-times): Adapt tests.

2 years ago; * src/composite.c: Include stdlib.h.
Eli Zaretskii [Sat, 6 Aug 2022 15:37:57 +0000 (18:37 +0300)]
; * src/composite.c: Include stdlib.h.

2 years agoFix namespacing problem in allout.el
Stefan Kangas [Sat, 6 Aug 2022 15:00:13 +0000 (17:00 +0200)]
Fix namespacing problem in allout.el

* lisp/allout.el (allout-outlinify-sticky): Rename from
'outlineify-sticky'.  Make old name into obsolete alias.
(outlinify-sticky): Make into obsolete function alias for
'allout-outlinify-sticky'.
(allout-mode): Doc fix.

2 years agoFix defvar-keymap example in elisp manual
Stefan Kangas [Sat, 6 Aug 2022 14:47:22 +0000 (16:47 +0200)]
Fix defvar-keymap example in elisp manual

* lisp/textmodes/text-mode.el (text-mode-map): Convert to
defvar-keymap.
* doc/lispref/modes.texi (Example Major Modes): Fix example to
match code.

2 years agoMake indented-text-mode alias obsolete
Stefan Kangas [Sat, 6 Aug 2022 14:44:29 +0000 (16:44 +0200)]
Make indented-text-mode alias obsolete

* lisp/textmodes/text-mode.el (indented-text-mode): Make compat
alias obsolete.
* lisp/allout.el (allout-use-hanging-indents):
* lisp/emulation/viper.el (viper-vi-state-mode-list):
* lisp/textmodes/remember.el (remember-mode):
* lisp/textmodes/text-mode.el (text-mode-map):
* lisp/vc/ediff-util.el (ediff-choose-syntax-table): Don't mention or
use above obsolete alias.

2 years agoMake {close,replace}-rectangle compat aliases obsolete
Stefan Kangas [Sat, 6 Aug 2022 14:29:14 +0000 (16:29 +0200)]
Make {close,replace}-rectangle compat aliases obsolete

* lisp/rect.el (close-rectangle, replace-rectangle): Make compat
aliases obsolete.

2 years agoDon't mention test failures on Ubuntu 16.04 in PROBLEMS
Stefan Kangas [Sat, 6 Aug 2022 14:20:56 +0000 (16:20 +0200)]
Don't mention test failures on Ubuntu 16.04 in PROBLEMS

Ubuntu 16.04 LTS reached end of life on April 30th, 2021.
Furthermore, test failures don't seem significant enough to warrant an
entry.  It's rather cosmetic.
* etc/PROBLEMS: Delete entry on test failures on Ubuntu 16.04.

2 years ago; * src/composite.c (Fcomposition_sort_rules): Fix last change.
Eli Zaretskii [Sat, 6 Aug 2022 15:00:16 +0000 (18:00 +0300)]
; * src/composite.c (Fcomposition_sort_rules): Fix last change.

2 years agoNew function 'composition-sort-rules'
Eli Zaretskii [Sat, 6 Aug 2022 14:58:08 +0000 (17:58 +0300)]
New function 'composition-sort-rules'

* src/composite.c (Fcomposition_sort_rules)
(compare_composition_rules): New functions.

2 years ago* doc/misc/transient.texi: Update to transient v0.3.7-156-ga5562cb
Jonas Bernoulli [Sat, 6 Aug 2022 13:26:15 +0000 (15:26 +0200)]
* doc/misc/transient.texi: Update to transient v0.3.7-156-ga5562cb

Eventually we want to be able to generate "transient.texi" from
"transient.org", without having to either give up on idiomatic texinfo
or making it much more painful to maintain the org file.

We are much closer to that now, but there are still a few areas where
additional work is needed.  This was mostly accomplished by using Org
macros.

The most significant outstanding issue is that the generated
references don't yet look like an experienced texinfo author like Eli
would like them to look.  Additionally it is not yet possible to use a
macro that produces @dots{} in the places Eli added them, and in Org
code blocks it is not possible to use macros, so we cannot have
@var{...} appear in "@lisp ... @end lisp".  The last issue probably
cannot be changed on Org's side, but since there are only two such
code blocks, this might be a situation where the compromise has to
come from the texinfo side.  There are also three other very minor
and inconsequential differences.

For now I have regenerated the texinfo file from the org file and then
discarded the differences mentioned in the previous paragraph.

The process of merging (1) Eli's changes to the texinfo file
(including, but certainly not limited to markup), (2) changes to the
org source (updated content, formatting changes backported earlier,
fixes for formatting changes Eli did not fix, etc.) and (3) changes to
the code that converts the org source to texinfo, was very laborious
and painful.  In essence, this amounted to a (at least) three-way
merge across three different languages and three repositories.

I tried very hard to not waste any of the effort Eli had put into
fixing up the generated texinfo file.  I.e., I went back and forth
making improvements to the org source, implementing org macros,
regenerating the texinfo and comparing the remaining difference, and
creating commits on both sides.  This resulted in a dozen commits on
both sides and took me well over a day.  I could have put in even more
effort to absolutely ensure nothing at all is lost in the process, but
I think that would have amounted to a colossal waste of my time.

Going forward, if you find unidiomatic texinfo, then please don't fix
each instance.  Instead write me an email, explaining what the problem
is.  You are welcome to make limited fixes to the content or fix
one-of markup issue in the texinfo file; those are relatively simple
to backport in comparison.

2 years agoSpeed up display of Arabic
Eli Zaretskii [Sat, 6 Aug 2022 13:55:51 +0000 (16:55 +0300)]
Speed up display of Arabic

* lisp/language/misc-lang.el (composition-function-table): Move
some of the Arabic composition rules to ZWJ and ZWNJ cells.  This
speeds up display of Arabic by a factor of 2.  (Bug#56682)

2 years agoFix C-n/C-p inside bidirectional text
Eli Zaretskii [Sat, 6 Aug 2022 13:24:34 +0000 (16:24 +0300)]
Fix C-n/C-p inside bidirectional text

* src/xdisp.c (move_it_by_lines, try_cursor_movement): Handle
glyph rows whose direction of increasing buffer positions is
reverse of the normal: going down in the window makes buffer
positions higher.
* src/indent.c (Fvertical_motion): When looking for the last glyph
row occupied by point, take into account the bidi iteration
direction.

2 years agoLink from (emacs)Init Syntax to (elisp)Introduction
YugaEgo [Sat, 6 Aug 2022 12:20:09 +0000 (15:20 +0300)]
Link from (emacs)Init Syntax to (elisp)Introduction

* doc/emacs/custom.texi (Init Syntax): Link to the ELisp manual (Bug#56870)

2 years agoFontify python escape sequences in literals
lWarne [Sat, 6 Aug 2022 13:01:38 +0000 (15:01 +0200)]
Fontify python escape sequences in literals

* lisp/progmodes/python.el (python-rx): Add regular expressions
matching escape codes in string and byte literals
(python--string-bytes-literal-matcher): new function
(python--not-raw-bytes-literal-start-regexp): new constant
(python--not-raw-string-literal-start-regexp): new constant
* test/lisp/progmodes/python-tests.el: Add tests for new
fontification (bug#57004).

2 years agoFix mh-e.texi syntax (from previous change)
Lars Ingebrigtsen [Sat, 6 Aug 2022 12:50:50 +0000 (14:50 +0200)]
Fix mh-e.texi syntax (from previous change)

* doc/misc/mh-e.texi (Viewing): Add closing brace to @footnote.

2 years ago* etc/PROBLEMS: Delete entry on 20+ years old version of X-Symbol.
Stefan Kangas [Sat, 6 Aug 2022 12:32:23 +0000 (14:32 +0200)]
* etc/PROBLEMS: Delete entry on 20+ years old version of X-Symbol.

2 years ago* admin/check-doc-strings: Remove XEmacs support.
Stefan Kangas [Sat, 6 Aug 2022 12:30:09 +0000 (14:30 +0200)]
* admin/check-doc-strings: Remove XEmacs support.

2 years agoDon't mention removed XEmacs support in reftex manual
Stefan Kangas [Sat, 6 Aug 2022 12:26:07 +0000 (14:26 +0200)]
Don't mention removed XEmacs support in reftex manual

* doc/misc/reftex.texi (Installation, Imprint): Don't mention
removed XEmacs support.

2 years agoDon't mention removed XEmacs support in mh-e manual
Stefan Kangas [Sat, 6 Aug 2022 12:20:39 +0000 (14:20 +0200)]
Don't mention removed XEmacs support in mh-e manual

* doc/misc/mh-e.texi (Preface, Incorporating Mail, Viewing)
(Tool Bar, Tool Bar): Remove any reference to XEmacs.

2 years agoMake alias widget-visibility-value-create obsolete
Stefan Kangas [Sat, 6 Aug 2022 12:14:18 +0000 (14:14 +0200)]
Make alias widget-visibility-value-create obsolete

* lisp/wid-edit.el (widget-visibility-value-create): Make compat
alias obsolete.

2 years ago; Adjust time-convert call to recent change
Stefan Kangas [Sat, 6 Aug 2022 11:03:38 +0000 (13:03 +0200)]
; Adjust time-convert call to recent change

* test/lisp/eshell/em-pred-tests.el
(eshell-parse-file-name-attributes): Adjust test to recent change.

2 years ago; Maintain admin/update_autogen
Stefan Kangas [Sat, 6 Aug 2022 10:59:04 +0000 (12:59 +0200)]
; Maintain admin/update_autogen

2 years agoMake an rmail compat alias obsolete
Stefan Kangas [Sat, 6 Aug 2022 08:34:47 +0000 (10:34 +0200)]
Make an rmail compat alias obsolete

* lisp/mail/rmailsum.el (rmail-summary-output-to-rmail-file): Make
compat alias obsolete.

2 years agoMake compat alias ede-toplevel-project-or-nil obsolete
Stefan Kangas [Sat, 6 Aug 2022 08:32:24 +0000 (10:32 +0200)]
Make compat alias ede-toplevel-project-or-nil obsolete

* lisp/cedet/ede/files.el (ede-toplevel-project-or-nil): Make
compat alias obsolete.

2 years agoDrop support for XEmacs package func-menu from idlwave
Stefan Kangas [Sat, 6 Aug 2022 08:21:24 +0000 (10:21 +0200)]
Drop support for XEmacs package func-menu from idlwave

* lisp/progmodes/idlwave.el (idlwave-function-menu): Make into
obsolete alias for imenu.  Update callers.
* doc/misc/idlwave.texi (Introduction, Motion Commands): Remove
any mention of func-menu.

2 years agoMake face-doc-string aliases obsolete
Stefan Kangas [Sat, 6 Aug 2022 08:13:19 +0000 (10:13 +0200)]
Make face-doc-string aliases obsolete

* lisp/faces.el (face-doc-string, set-face-doc-string): Make
aliases obsolete.

2 years ago; * lisp/gnus/mm-util.el: Remove duplicate defalias.
Stefan Kangas [Sat, 6 Aug 2022 08:12:18 +0000 (10:12 +0200)]
; * lisp/gnus/mm-util.el: Remove duplicate defalias.

2 years ago* admin/update_autogen: Fix generating ldefs-boot.el.
Stefan Kangas [Sat, 6 Aug 2022 10:21:40 +0000 (12:21 +0200)]
* admin/update_autogen: Fix generating ldefs-boot.el.

2 years ago* admin/update_autogen: Fix refreshing grammar-wy.el.
Stefan Kangas [Sat, 6 Aug 2022 09:46:43 +0000 (11:46 +0200)]
* admin/update_autogen: Fix refreshing grammar-wy.el.

2 years agoPut no-byte-compile cookie back in ldefs-boot.el
Lars Ingebrigtsen [Sat, 6 Aug 2022 09:41:40 +0000 (11:41 +0200)]
Put no-byte-compile cookie back in ldefs-boot.el

2 years ago; Auto-commit of loaddefs files.
Stefan Kangas [Sat, 6 Aug 2022 09:32:32 +0000 (11:32 +0200)]
; Auto-commit of loaddefs files.

2 years agoDon't mention removed XEmacs support in idlwave manual
Stefan Kangas [Sat, 6 Aug 2022 08:25:39 +0000 (10:25 +0200)]
Don't mention removed XEmacs support in idlwave manual

* doc/misc/idlwave.texi (Lesson I---Development Cycle)
(Syntax Highlighting, Windows and macOS, Troubleshooting): Delete
most references to XEmacs.  Support for it was deleted in 28.1.

2 years agoCorrectly initialize values after a new device is enabled
Po Lu [Sat, 6 Aug 2022 06:50:04 +0000 (14:50 +0800)]
Correctly initialize values after a new device is enabled

* src/xterm.c (handle_one_xevent): Initialize new device to
zero.  (bug#57011)

2 years ago; * admin/make-tarball.txt: Fix last change.
Eli Zaretskii [Sat, 6 Aug 2022 06:48:15 +0000 (09:48 +0300)]
; * admin/make-tarball.txt: Fix last change.

2 years ago; * lisp/play/fortune.el (fortune-ask-file): Doc fix.
Eli Zaretskii [Sat, 6 Aug 2022 06:44:45 +0000 (09:44 +0300)]
; * lisp/play/fortune.el (fortune-ask-file): Doc fix.

2 years ago; * lisp/emacs-lisp/lisp.el (end-of-defun-moves-to-eol): Doc fix.
Eli Zaretskii [Sat, 6 Aug 2022 06:40:07 +0000 (09:40 +0300)]
; * lisp/emacs-lisp/lisp.el (end-of-defun-moves-to-eol): Doc fix.

2 years ago* src/puresize.h (BASE_PURESIZE): Bump the value. (Bug#57007)
Eli Zaretskii [Sat, 6 Aug 2022 06:11:01 +0000 (09:11 +0300)]
* src/puresize.h (BASE_PURESIZE): Bump the value.  (Bug#57007)

2 years agoMerge from origin/emacs-28
Stefan Kangas [Sat, 6 Aug 2022 04:30:27 +0000 (06:30 +0200)]
Merge from origin/emacs-28

f3b9bccb45 * lisp/play/fortune.el: Doc fixes.

2 years agoImprove XI focus handling for entry and exit events
Po Lu [Sat, 6 Aug 2022 02:59:15 +0000 (10:59 +0800)]
Improve XI focus handling for entry and exit events

* src/xterm.c (handle_one_xevent): Skip useless
x_detect_focus_change calls in more cases.

2 years ago; Update ldefs-boot.el again
Po Lu [Sat, 6 Aug 2022 02:28:00 +0000 (10:28 +0800)]
; Update ldefs-boot.el again

2 years ago* src/callproc.c (emacs_spawn): Fix Mac OS X build.
Po Lu [Sat, 6 Aug 2022 02:27:03 +0000 (10:27 +0800)]
* src/callproc.c (emacs_spawn): Fix Mac OS X build.

2 years ago; Update ldefs-boot.el
Po Lu [Sat, 6 Aug 2022 02:22:41 +0000 (10:22 +0800)]
; Update ldefs-boot.el

2 years agoFix signature of `seconds-to-time'
Po Lu [Sat, 6 Aug 2022 02:21:52 +0000 (10:21 +0800)]
Fix signature of `seconds-to-time'

* lisp/calendar/time-date.el (seconds-to-time): Fix after change
to time-convert.

2 years agoImprove XI focus handling
Po Lu [Sat, 6 Aug 2022 02:17:38 +0000 (10:17 +0800)]
Improve XI focus handling

* src/xterm.c (handle_one_xevent): Skip useless
x_detect_focus_change calls in some cases.

2 years agoAdd STREAM argument to 'process-tty-name'
Jim Porter [Wed, 20 Jul 2022 04:36:54 +0000 (21:36 -0700)]
Add STREAM argument to 'process-tty-name'

* src/process.c (process-tty-name): Add STREAM argument.

* lisp/eshell/esh-io.el (eshell-close-target): Only call
'process-send-eof' once if the process's stdin is a pipe.

* test/src/process-tests.el (make-process/test-connection-type): Check
behavior of 'process-tty-name'.

* doc/lispref/processes.texi (Process Information): Document the new
argument.

* etc/NEWS: Announce this change.

2 years agoAllow creating processes where only one of stdin or stdout is a PTY
Jim Porter [Mon, 18 Jul 2022 03:25:00 +0000 (20:25 -0700)]
Allow creating processes where only one of stdin or stdout is a PTY

* src/lisp.h (emacs_spawn):
* src/callproc.c (emacs_spawn): Add PTY_IN and PTY_OUT arguments to
specify which streams should be set up as a PTY.
(call_process): Adjust call to 'emacs_spawn'.

* src/process.h (Lisp_Process): Replace 'pty_flag' with 'pty_in' and
'pty_out'.

* src/process.c (is_pty_from_symbol): New function.
(make-process): Allow :connection-type to be a cons cell, and allow
using a stderr process with a PTY for stdin/stdout.
(create_process): Handle creating a process where only one of stdin or
stdout is a PTY.

* lisp/eshell/esh-proc.el (eshell-needs-pipe, eshell-needs-pipe-p):
Remove.
(eshell-gather-process-output): Use 'make-process' and set
':connection-type' as needed by the value of 'eshell-in-pipeline-p'.

* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't signal an
error when ':connection-type' is a cons cell.

* test/src/process-tests.el
(process-test-sentinel-wait-function-working-p): Allow passing PROC
in, and rework into...
(process-test-wait-for-sentinel): ... this.
(process-test-sentinel-accept-process-output)
(process-test-sentinel-sit-for, process-test-quoted-batfile)
(process-test-stderr-filter): Use 'process-test-wait-for-sentinel'.
(make/process/test-connection-type): New function.
(make-process/connection-type/pty, make-process/connection-type/pty-2)
(make-process/connection-type/pipe)
(make-process/connection-type/pipe-2)
(make-process/connection-type/in-pty)
(make-process/connection-type/out-pty)
(make-process/connection-type/pty-with-stderr-buffer)
(make-process/connection-type/out-pty-with-stderr-buffer): New tests.

* test/lisp/eshell/esh-proc-tests.el (esh-proc-test--detect-pty-cmd):
New variable.
(esh-proc-test/pipeline-connection-type/no-pipeline)
(esh-proc-test/pipeline-connection-type/first)
(esh-proc-test/pipeline-connection-type/middle)
(esh-proc-test/pipeline-connection-type/last): New tests.

* doc/lispref/processes.texi (Asynchronous Processes): Document new
':connection-type' behavior.
(Output from Processes): Remove caveat about ':stderr' forcing
'make-process' to use pipes.

* etc/NEWS: Announce this change (bug#56025).

2 years agotime-convert): Deprecate calls without an explicit FORM arg
Stefan Monnier [Fri, 5 Aug 2022 22:46:31 +0000 (18:46 -0400)]
time-convert): Deprecate calls without an explicit FORM arg

* lisp/subr.el (time-convert): Deprecate calls without an explicit FORM arg.

* doc/lispref/os.texi (Time Conversion): Adjust doc accordingly.

* lisp/calendar/time-date.el (days-to-time):
* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
* lisp/gnus/nnrss.el (nnrss-normalize-date):
* lisp/epa-ks.el (epa-ks--parse-buffer): Silence corresponding warnings.

2 years agoEnsure that leim-list.el is built
Lars Ingebrigtsen [Fri, 5 Aug 2022 21:48:33 +0000 (23:48 +0200)]
Ensure that leim-list.el is built

* lisp/Makefile.in: Ensure that leim-list.el is built (bug#56998).

2 years agoAllow newline after def*-form for definition-prefix
Stefan Kangas [Fri, 5 Aug 2022 18:17:23 +0000 (20:17 +0200)]
Allow newline after def*-form for definition-prefix

* lisp/emacs-lisp/loaddefs-gen.el (autoload-ignored-definitions):
Add another semantic function.
(loaddefs-generate--compute-prefixes): Allow newline after the "(def*"
form.  (Bug#57000)

2 years agoAdd variable end-of-defun-moves-to-eol
Filipp Gunbin [Fri, 5 Aug 2022 18:01:10 +0000 (21:01 +0300)]
Add variable end-of-defun-moves-to-eol

* lisp/emacs-lisp/lisp.el (end-of-defun-moves-to-eol): New variable.
(end-of-defun): Use it.

2 years ago* src/keyboard.c (timer_check_2): Replace redundant test with assertion
Stefan Monnier [Fri, 5 Aug 2022 16:34:47 +0000 (12:34 -0400)]
* src/keyboard.c (timer_check_2): Replace redundant test with assertion

2 years agotimer.el: Avoid repeated timers
Stefan Monnier [Fri, 5 Aug 2022 14:38:59 +0000 (10:38 -0400)]
timer.el: Avoid repeated timers

https://mail.gnu.org/archive/html/emacs-devel/2022-07/msg01127.html
points out that end-users can get bitten by this, accidentally
calling `timer-activate` on an already activated timer.

* lisp/emacs-lisp/timer.el (timer--activate): Signal an error if we try
to re-add a timer that's already on the timer-list.

2 years agobytecomp.el: Update comments referring to `make-docfile`
Stefan Monnier [Fri, 5 Aug 2022 13:41:03 +0000 (09:41 -0400)]
bytecomp.el: Update comments referring to `make-docfile`

2 years agoAvoid assertion violations in 'back_to_previous_visible_line_start'
Eli Zaretskii [Fri, 5 Aug 2022 12:53:06 +0000 (15:53 +0300)]
Avoid assertion violations in 'back_to_previous_visible_line_start'

* src/xdisp.c (init_iterator): Always initialize narrowed_begv to
zero, since SET_WITH_NARROWED_BEGV depends on it being non-zero as
an indication that long-line optimizations are in use.
(back_to_previous_visible_line_start): When long-line
optimizations are in effect, we may end up not on a newline.

2 years agobytecomp.el: Further simplifications enabled by commit 59732a83c8875c
Stefan Monnier [Fri, 5 Aug 2022 12:18:04 +0000 (08:18 -0400)]
bytecomp.el: Further simplifications enabled by commit 59732a83c8875c

* lisp/emacs-lisp/bytecomp.el (byte-compile-output-docform): Don't
insert a \n before the #@ docstrings since make-docfile doesn't scan
.elc files any more.

2 years agoFix lisp/Makefile.in autoloads dependency
Lars Ingebrigtsen [Fri, 5 Aug 2022 12:06:22 +0000 (14:06 +0200)]
Fix lisp/Makefile.in autoloads dependency

* lisp/Makefile.in (autoloads): Ensure that loaddefs-gen.elc
exists before making autoloads.

2 years agoMake ange-ftp-re-read-dir compat alias obsolete
Stefan Kangas [Fri, 5 Aug 2022 11:36:38 +0000 (13:36 +0200)]
Make ange-ftp-re-read-dir compat alias obsolete

* lisp/net/ange-ftp.el (ange-ftp-re-read-dir): Make alias obsolete.
Update callers.

2 years agoMake loaddefs.el dependencies more explicit in src/Makefile.in
Lars Ingebrigtsen [Fri, 5 Aug 2022 11:51:19 +0000 (13:51 +0200)]
Make loaddefs.el dependencies more explicit in src/Makefile.in

* src/Makefile.in (LC_ALL): Add loaddefs.el as a dependency, too,
since that file may be deleted, but the loaddefs.elc file still
exists.  This causes problems in nativecomp builds.