]> git.eshelyaron.com Git - emacs.git/log
emacs.git
17 months agoClean up Android debug code
Po Lu [Fri, 14 Jul 2023 00:51:07 +0000 (08:51 +0800)]
Clean up Android debug code

* java/org/gnu/emacs/EmacsInputConnection.java
(getSurroundingText): Don't print debug information if DEBUG_IC
is off.

17 months ago; * lisp/calc/calc.el (calc): Fix typo.
Po Lu [Fri, 14 Jul 2023 00:05:21 +0000 (08:05 +0800)]
; * lisp/calc/calc.el (calc): Fix typo.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 13 Jul 2023 23:58:49 +0000 (07:58 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months agocl-print: Put buttons on ellipses
Stefan Monnier [Thu, 13 Jul 2023 23:00:51 +0000 (19:00 -0400)]
cl-print: Put buttons on ellipses

Currently, in *Backtrace* we have a nice behavior for cl-printed objects
where they're truncated by default to a manageable size but we can click
on the "..." to expand them when needed.

The patch below moves that functionality to `cl-print.el` such
that it can be enjoyed "everywhere" (bug#64536).  It also has the
benefit of simplifying the code since `backtrace.el` had to look for
ellipses in order to add buttons to them, whereas now we can put
the ellipses right when we write them.

* lisp/emacs-lisp/cl-print.el (cl-print-object-contents): Improve docstring.
(cl-print-expand-ellipsis-function): New var.
(cl-print--default-expand-ellipsis): New function.
(cl-print-expand-ellipsis): New command.
(cl-print-insert-ellipsis): Allow nil instead of 0 to mean "this elides
the whole object".
(cl-print-ellipsis): Move button type from `backtrace.el`.
(cl-print-propertize-ellipsis): Put a button.
(cl-print--expand-ellipsis): Rename from `cl-print-expand-ellipsis`.
(cl-print-to-string-with-limit): Allow new value t for `limit`.

* lisp/emacs-lisp/backtrace.el (backtrace--font-lock-keywords): Simplify.
(backtrace--match-ellipsis-in-string): Delete function.
(backtrace--change-button-skip): Adjust to new button type name.
(backtrace--expand-ellipsis): New function, extracted from
`backtrace-expand-ellipsis`.
(backtrace-expand-ellipsis): Delete function.
(backtrace-ellipsis): Move button type to `cl-print.el`.
(backtrace--print-to-string): Don't look for cl-print ellipses any more.
(backtrace-mode): Use `backtrace--expand-ellipsis`.

* lisp/ielm.el (ielm--expand-ellipsis): New function.
(inferior-emacs-lisp-mode): Use it to fill the data when expanded.

* test/lisp/emacs-lisp/cl-print-tests.el
(cl-print-tests-check-ellipsis-expansion)
(cl-print-tests-check-ellipsis-expansion-rx): Adjust to new internal
function name.

17 months agoDon't recalculate the buffer basename inside uniquify
Spencer Baugh [Sun, 9 Jul 2023 14:24:33 +0000 (10:24 -0400)]
Don't recalculate the buffer basename inside uniquify

Previously, uniquify--create-file-buffer-advice would use the filename
of the buffer to calculate what the buffer's basename should be.  Now
that gets passed in from create-file-buffer, which lets us fix several
bugs:

1. before this patch, if a buffer happened to be named the same thing
as directory in its default-directory, the buffer would get renamed
with a directory separator according to uniquify-trailing-separator-p.

2. buffers with a leading space should get a leading |, as described
by create-file-buffer's docstring; before this patch, uniquify would
remove that leading |.

* lisp/dired.el (dired-internal-noselect): Pass a directory name to
create-file-buffer.
* lisp/files.el (create-file-buffer): Do uniquify-trailing-separator-p
handling if passed a directory filename. (bug#62732)
* lisp/uniquify.el (uniquify-item):
(uniquify-rationalize-file-buffer-names, uniquify-rationalize,
uniquify-get-proposed-name, uniquify-rationalize-conflicting-sublist):
Remove uniquify-trailing-separator-p handling.
(uniquify--create-file-buffer-advice): Take new basename argument and
use it, instead of recalculating the basename from the filename.

17 months agoPort NaN, infinity handling better to VAX
Paul Eggert [Thu, 13 Jul 2023 21:26:29 +0000 (14:26 -0700)]
Port NaN, infinity handling better to VAX

Nowadays .elc files routinely contain tokens like 1.0e+INF and
0.0e+NaN that do not work on antiques like the VAX that lack IEEE fp.
Port Emacs to these platforms, by treating infinities as extreme
values and NaNs as strings that trap if used numerically.
* src/lread.c (INFINITY): Default to HUGE_VAL if non-IEEE.
(not_a_number) [!IEEE_FLOATING_POINT]: New static array.
(syms_of_lread) [!IEEE_FLOATING_POINT]: Initialize it.
(read0): Report invalid syntax for +0.0e+NaN on platforms
that lack NaNs.
(string_to_number): On non-IEEE platforms, return HUGE_VAL
for infinity and a string for NaN.  All callers changed.

17 months ago* lisp/help-mode.el (help-setup-xref): Disable outline-minor-mode (bug#64575).
Juri Linkov [Thu, 13 Jul 2023 16:38:36 +0000 (19:38 +0300)]
* lisp/help-mode.el (help-setup-xref): Disable outline-minor-mode (bug#64575).

17 months agoFix flymake mode line scrolling with pixel-scroll-precision-mode
Spencer Baugh [Sun, 2 Jul 2023 21:49:23 +0000 (17:49 -0400)]
Fix flymake mode line scrolling with pixel-scroll-precision-mode

When pixel-scroll-precision-mode is enabled, scrolling the mouse
wheel will yield wheel-{up,down} events.  Flymake now binds the
new events in addition to the old mouse-wheel-{up,down}-event.

* lisp/progmodes/flymake.el:(flymake--mode-line-counter-scroll-prev)
(flymake--mode-line-counter-scroll-next)
flymake--mode-line-counter-map): New.
(flymake--mode-line-counter): Use new keymap and include
'flymake--diagnostic-type' as a property in the mode-line.
(Bug#64428)

17 months agoPrevent tex-shell buffer from reusing same window
Robert Pluim [Mon, 19 Jun 2023 15:31:25 +0000 (17:31 +0200)]
Prevent tex-shell buffer from reusing same window

* lisp/window.el (display-tex-shell-buffer-action): Add
'inhibit-same-window' to the default action.

17 months agoAutodetect coding system when yanking media
Robert Pluim [Thu, 22 Jun 2023 14:59:19 +0000 (16:59 +0200)]
Autodetect coding system when yanking media

Some browers send eg 'text/html' selections formatted as UTF-8, but
with a type of STRING, which actually means iso-latin-1.  Autodetect
the correct coding system to use by calling 'gui-get-selection'.

* lisp/yank-media.el (yank-media--get-selection): Call
'gui-get-selection' instead of 'gui-backend-get-selection'.

17 months agoAdd a Doc View tool bar
Po Lu [Thu, 13 Jul 2023 11:19:57 +0000 (19:19 +0800)]
Add a Doc View tool bar

* etc/NEWS: Announce the new tool bar.
* etc/images/last-page.xpm:
* etc/images/last-page.pbm: New images.  Mirrored from
next-page.xpm.
* lisp/doc-view.el (doc-view-menu): Use `doc-view-new-search'
instead of an anonymous function.
(doc-view-tool-bar-map): New keymap.
(doc-view-search): Update the tool bar after initiating a
search.
(doc-view-new-search): New command.
(doc-view-mode): Set the tool bar map appropriately.

17 months agoImprove workaround for partial texture updates on Android
Po Lu [Thu, 13 Jul 2023 10:17:59 +0000 (18:17 +0800)]
Improve workaround for partial texture updates on Android

* java/AndroidManifest.xml.in:
* java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Don't
change hardware acceleration state.
* java/org/gnu/emacs/EmacsNative.java (notifyPixelsChanged): New
function.
* java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
New field `bitmapChanged'.
(copyToFrontBuffer): Signal that the bitmap has changed.
(onDraw): If the bitmap has changed, increment the generation
ID.
* src/android.c (JNICALL): Implement new function.

17 months ago; * lisp/progmodes/project.el (project-current): Doc fix.
Eshel Yaron [Sat, 24 Jun 2023 14:16:19 +0000 (17:16 +0300)]
; * lisp/progmodes/project.el (project-current): Doc fix.

Avoid saying that 'project-current' asks specifically for a
directory, as it can also ask for a project's directory by other
identifiers, such as the project's name, when 'project-prompter'
is set to a different value than the default
'project-prompt-project-dir'.  (Bug#64266)

17 months agoDisable hardware acceleration on Android
Po Lu [Thu, 13 Jul 2023 04:05:50 +0000 (12:05 +0800)]
Disable hardware acceleration on Android

It serves no purpose and causes tearing.  Uploading the bitmap
to the GPU takes about as long as it does to incrementally
update the surface in software.

* java/AndroidManifest.xml.in: Disable hardware acceleration.
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): Make
lastClosedMenu static.
* java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Enable
hardware acceleration within alert dialogs.
* java/org/gnu/emacs/EmacsSurfaceView.java (onDraw): Describe
why hardware acceleration is disabled.
* java/org/gnu/emacs/EmacsWindow.java (run): Remove redundant
call.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 13 Jul 2023 00:33:27 +0000 (08:33 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months agoMinor correction to X error handling
Po Lu [Wed, 12 Jul 2023 10:07:53 +0000 (18:07 +0800)]
Minor correction to X error handling

* src/xterm.c (x_error_handler): Clear fail->selection_serial
after reporting an error during selection transfer, in case any
other outstanding requests within the protected section also
report errors.

17 months agoImprove commentary
Po Lu [Wed, 12 Jul 2023 10:04:03 +0000 (18:04 +0800)]
Improve commentary

* src/xterm.c (x_ignore_errors_for_next_request): Reword
description of SELECTION_SERIAL.

17 months agoEglot: fix advertisement of textDocument.codeAction.resolveSupport
João Távora [Wed, 12 Jul 2023 09:11:34 +0000 (10:11 +0100)]
Eglot: fix advertisement of textDocument.codeAction.resolveSupport

See https://github.com/joaotavora/eglot/issues/1255.

* lisp/progmodes/eglot.el (eglot-client-capabilities):
Use correct format for textDocument.codeAction.resolveSupport.

17 months ago; * src/android.c (android_run_select_thread): Fix typo.
Po Lu [Wed, 12 Jul 2023 09:04:35 +0000 (17:04 +0800)]
; * src/android.c (android_run_select_thread): Fix typo.

17 months agoUpdate Android port
Po Lu [Wed, 12 Jul 2023 08:45:24 +0000 (16:45 +0800)]
Update Android port

* src/android.c (android_run_select_thread): Correctly return
the set of ready read and write descriptors on __ANDROID_API__ <
16 systems.
(android_select): Clear the set of ready file descriptors if
events from the event queue are present despite pselect failing.

17 months agoFix keyboard state translation on Android
Po Lu [Wed, 12 Jul 2023 04:46:08 +0000 (12:46 +0800)]
Fix keyboard state translation on Android

* src/androidterm.c (android_android_to_emacs_modifiers)
(android_emacs_to_android_modifiers): Fix statement precedence
bugs.

17 months ago; * src/doc.c (doc_close): Remove unused macro.
Po Lu [Wed, 12 Jul 2023 01:57:13 +0000 (09:57 +0800)]
; * src/doc.c (doc_close): Remove unused macro.

17 months agoUpdate Android port
Po Lu [Wed, 12 Jul 2023 01:45:58 +0000 (09:45 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsWindow.java (whatButtonWasIt): Handle
back and forward buttons along with styluses.
* src/doc.c (close_file_unwind_android_fd): New function.
(get_doc_string, Fsnarf_documentation): Don't create a temporary
fd if it can be avoided.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 12 Jul 2023 00:53:54 +0000 (08:53 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months ago; * doc/misc/eshell.texi (Invocation): Whitespace cleanup.
Michael Albinus [Tue, 11 Jul 2023 10:18:31 +0000 (12:18 +0200)]
; * doc/misc/eshell.texi (Invocation): Whitespace cleanup.

17 months agoFix doc file generation on Android
Po Lu [Tue, 11 Jul 2023 08:47:13 +0000 (16:47 +0800)]
Fix doc file generation on Android

* .gitignore: Ignore cross/etc/DOC.
* configure.ac: Make the directory `cross/etc'.
* cross/Makefile.in (CLEAN_SUBDIRS): Clean files inside `etc' as
well.
* java/Makefile.in (install_temp): Copy cross/etc/DOC to the
package if it is available.
* src/Makefile.in (SOME_MACHINE_OBJECTS): Add androidselect.c,
sfntfont-android.c and sfntfont.c.
(libemacs.so): Depend on $(etc)/DOC.

17 months agoUpdate Android port
Po Lu [Tue, 11 Jul 2023 04:40:13 +0000 (12:40 +0800)]
Update Android port

* src/sfnt.c (sfnt_fill_span): Correctly clip span to raster
width, ensuring that the last pixel is filled.
(main): Adjust test sizes.

17 months agoFix Wrong type argument: consp, nil error
Bill Wohler [Tue, 11 Jul 2023 03:46:58 +0000 (20:46 -0700)]
Fix Wrong type argument: consp, nil error

* lisp/mh-e/mh-folder.el (mh-update-sequences): Add cur sequence when
missing

17 months agoFix mh-show-msg: Symbol’s value as variable is void: mh-mm-inline-media-tests
Bill Wohler [Tue, 11 Jul 2023 03:41:57 +0000 (20:41 -0700)]
Fix mh-show-msg: Symbol’s value as variable is void: mh-mm-inline-media-tests

* lisp/mh-e/mh-show.el: Require mh-mime

17 months agoUpdate Android port
Po Lu [Tue, 11 Jul 2023 02:22:03 +0000 (10:22 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsView.java (onGenericMotionEvent): Call
onGenericMotionEvent.
* java/org/gnu/emacs/EmacsWindow.java (Coordinate): New fields
`button' and `id'.
(<init>): Add new arguments to the construtor.
(whatButtonWasIt): Return 0 if the button state has not changed.
(buttonForEvent): New function.
(figureChange): Return the Coordinate object associated to
EVENT.  Determine whether or not EVENT was accompanied by a
change to the button state, and ascertain which button that was.
(motionEvent): New function.
(onGenericMotionEvent, onTouchEvent): Factor out touch and mouse
event delivery to motionEvent.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 11 Jul 2023 00:19:32 +0000 (08:19 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months agoEglot: add support for :codeAction/resolve
João Távora [Mon, 10 Jul 2023 23:09:08 +0000 (00:09 +0100)]
Eglot: add support for :codeAction/resolve

See https://github.com/emacs-grammarly/eglot-grammarly/issues/7.

* lisp/progmodes/eglot.el (eglot--lsp-interface-alist): Augment
CodeAction type.
(eglot-execute): Consider :codeAction/resolve
(eglot-client-capabilities): Advertise
textDocument.codeAction.resolveSupport

17 months agoAdd support for explicitly-remote commands in Eshell
Jim Porter [Sun, 9 Jul 2023 19:06:13 +0000 (12:06 -0700)]
Add support for explicitly-remote commands in Eshell

* lisp/files.el (file-remote-p):
* doc/lispref/files.texi (Magic File Names): Document 'never' for
CONNECTED argument.

* lisp/net/tramp.el (tramp-handle-file-remote-p): Handle CONNECTED
value of 'never'.

* lisp/eshell/esh-ext.el (eshell-explicit-remote-commands): New
option.
(eshell-ext-initialize): Apply 'eshell-handle-remote-command' when
requested.
(eshell-handle-remote-command): New function.
(eshell-remote-command): Reimplement this function and dispatch to
'eshell-external-command', which can handle remote processes on its
own.

* test/lisp/eshell/esh-ext-tests.el
(esh-ext-test/explicitly-remote-command)
(esh-ext-test/explicitly-local-command): New tests.

* doc/misc/eshell.texi (Remote Access): Document explicitly-remote
commands.

* etc/NEWS: Announce this change.

17 months agoAdd documentation about remote access in Eshell
Jim Porter [Sun, 9 Jul 2023 19:04:01 +0000 (12:04 -0700)]
Add documentation about remote access in Eshell

* doc/misc/eshell.texi
(Invocation): Mention the '*' prefix.
(Remote Access): New section...
(Commands): ... link to it.

17 months ago* lisp/progmodes/project.el (project-prompt-project-name): Fix order.
Juri Linkov [Mon, 10 Jul 2023 17:43:13 +0000 (20:43 +0300)]
* lisp/progmodes/project.el (project-prompt-project-name): Fix order.

Reverse choices in this recently added new command to follow exactly
the same order as in the old function 'project-prompt-project-dir'.

17 months agoFurther simplify configure-time locale testing
Paul Eggert [Mon, 10 Jul 2023 16:53:07 +0000 (09:53 -0700)]
Further simplify configure-time locale testing

* configure.ac (gl_STDLIB_H): Replace this, not gt_LOCALE_FR_UTF8,
as this lets us also omit MB_CUR_MAX checking that will never be
executed, and also lets us remove testing for ecvt, fcvt, gcvt
that Emacs doesn’t need.
(AC_C_RESTRICT): Invoke explicitly, as Emacs uses ‘restrict’
directly.  Also, simplifies the replacement for gl_STDLIB_H, which
would otherwise need to AC_REQUIRE AC_C_RESTRICT.
* lib/gnulib.mk.in: Regenerate via admin/merge-gnulib.

17 months agoAdapt Tramp test
Michael Albinus [Mon, 10 Jul 2023 16:11:24 +0000 (18:11 +0200)]
Adapt Tramp test

* test/lisp/net/tramp-tests.el (tramp-test33-environment-variables):
Adapt test.

17 months ago; * lisp/subr.el (with-demoted-errors): warning message typo
Mattias Engdegård [Mon, 10 Jul 2023 14:31:28 +0000 (16:31 +0200)]
; * lisp/subr.el (with-demoted-errors): warning message typo

17 months agoEglot: fix eglot--sig-info again
João Távora [Mon, 10 Jul 2023 13:06:42 +0000 (14:06 +0100)]
Eglot: fix eglot--sig-info again

See https://github.com/joaotavora/eglot/issues/1253

* lisp/progmodes/eglot.el (eglot--sig-info): Fall back to regexp
technique if no parameters or poor parameter information.

17 months agoEglot: fix eglot--sig-info
João Távora [Mon, 10 Jul 2023 12:09:48 +0000 (13:09 +0100)]
Eglot: fix eglot--sig-info

See https://github.com/joaotavora/eglot/issues/1253

* lisp/progmodes/eglot.el (eglot--sig-info): Fix.

17 months agoUpdate Android port
Po Lu [Mon, 10 Jul 2023 05:31:57 +0000 (13:31 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsService.java (browseUrl): New argument
SEND.  Choose from a list of applications that want to share the
URL if true.
* lisp/net/browse-url.el (browse-url-android-share): New user
option.
(browse-url-default-android-browser): Respect said user option.
* src/android.c (android_init_emacs_service)
(android_browse_url): Expose new option.
* src/android.h: Update prototypes.
* src/androidselect.c (Fandroid_browse_url): Likewise.

17 months ago; Update from Gnulib
Po Lu [Mon, 10 Jul 2023 00:24:40 +0000 (08:24 +0800)]
; Update from Gnulib

* lib/vasnprintf.c (VASNPRINTF):
* m4/printf.m4 (gl_SWPRINTF_WORKS):
(gl_SWPRINTF_DIRECTIVE_LA):
* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE):

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 10 Jul 2023 00:21:59 +0000 (08:21 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months agoSimplify ‘configure’ check for MB_CUR_MAX
Paul Eggert [Sun, 9 Jul 2023 20:27:54 +0000 (13:27 -0700)]
Simplify ‘configure’ check for MB_CUR_MAX

* admin/merge-gnulib: Remove m4/locale-fr.m4.
* configure.ac (gt_LOCALE_FR_UTF8): Replace Gnulib’s
definition with a near no-op, as Emacs doesn’t care
about the Solaris 10 MB_CUR_MAX bug.
* lib/gnulib.mk.in: Regenerate.
* m4/locale-fr.m4: Remove; no longer needed due
to above changes.

17 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sun, 9 Jul 2023 20:05:01 +0000 (13:05 -0700)]
Update from Gnulib by running admin/merge-gnulib

17 months agoUpdate Android port
Po Lu [Sun, 9 Jul 2023 05:13:53 +0000 (13:13 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsWindow.java (eventModifiers)
(motionEventModifiers): New functions.
(onKeyDown, onKeyUp, onFocusChanged, onSomeKindOfMotionEvent):
Don't record the previous modifier mask; instead, always use the
modifier state specified in the event.
* src/androidterm.c (handle_one_android_event): Don't dispatch
button release events when a popup is active.

17 months agoUpdate Android port
Po Lu [Sun, 9 Jul 2023 04:50:15 +0000 (12:50 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsService.java (onStartCommand): Fix
typo in notification message.
* java/org/gnu/emacs/EmacsWindow.java (onFocusChanged): Reset
the recorded modifier state upon a change to the window focus.

17 months ago; * java/org/gnu/emacs/EmacsService.java (onCreate): Fix typo.
Po Lu [Sun, 9 Jul 2023 02:06:18 +0000 (10:06 +0800)]
; * java/org/gnu/emacs/EmacsService.java (onCreate): Fix typo.

17 months agoUpdate Android port
Po Lu [Sun, 9 Jul 2023 02:05:08 +0000 (10:05 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsDrawPoint.java (perform): Don't fill
an extra pixel.
* java/org/gnu/emacs/EmacsService.java (onCreate): Make sure
scaledDensity is always at least 160 dpi.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 9 Jul 2023 00:40:38 +0000 (08:40 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months agocl-print.el: Reduce code duplication
Stefan Monnier [Sun, 9 Jul 2023 00:19:02 +0000 (20:19 -0400)]
cl-print.el: Reduce code duplication

While at it, fix a bug in `cl-print-object-contents` for strings,
where we forgot to pass `stream` to `princ` at one place and simplify
a `substring` call using a negative offset.

* lisp/emacs-lisp/cl-print.el (cl-print--cons-tail)
(cl-print--vector-contents, cl-print--struct-contents)
(cl-print--string-props): New functions, extracted from
`cl-print-object-contents`.
(cl-print-object, cl-print-object-contents): Use them.

17 months ago; Re-add recently removed comment in cyrillic.el.
Basil L. Contovounesios [Sat, 8 Jul 2023 21:27:20 +0000 (22:27 +0100)]
; Re-add recently removed comment in cyrillic.el.

https://lists.gnu.org/r/emacs-devel/2023-07/msg00303.html

17 months agoAdd special '$GID' variable in Eshell
Jim Porter [Sat, 8 Jul 2023 06:18:33 +0000 (23:18 -0700)]
Add special '$GID' variable in Eshell

See bug#64529.

* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add '$GID'.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/gid-var): New test.

* doc/misc/eshell.texi (Variables): Document '$GID'.

* etc/NEWS: Announce this change (and the previous change for '$UID').

17 months ago; * doc/misc/eshell.texi: Fix last change.
Jim Porter [Sat, 8 Jul 2023 19:13:22 +0000 (12:13 -0700)]
; * doc/misc/eshell.texi: Fix last change.

17 months agopp-fill: Fix missing indentation in some cases
Stefan Monnier [Sat, 8 Jul 2023 19:10:23 +0000 (15:10 -0400)]
pp-fill: Fix missing indentation in some cases

* lisp/emacs-lisp/pp.el (pp-fill): Improve handling of char-tables.
(pp-buffer): Improve backward compatibility.

17 months ago* lisp/menu-bar.el (menu-bar-search-options-menu): Don't quote lambdas
Stefan Monnier [Sat, 8 Jul 2023 19:08:10 +0000 (15:08 -0400)]
* lisp/menu-bar.el (menu-bar-search-options-menu): Don't quote lambdas

Expose the commands to the compiler.

17 months ago; Simplify last change to cyrillic.el.
Basil L. Contovounesios [Sat, 8 Jul 2023 16:50:43 +0000 (17:50 +0100)]
; Simplify last change to cyrillic.el.

https://lists.gnu.org/r/emacs-devel/2023-07/msg00297.html

17 months ago; * test/lisp/shell-tests.el: Add tests for shell-dirtrack-mode (bug#64311)
Vladimir Sedach [Tue, 27 Jun 2023 04:30:25 +0000 (22:30 -0600)]
; * test/lisp/shell-tests.el: Add tests for shell-dirtrack-mode (bug#64311)

17 months agoMinor tree-sitter cleanups
Basil L. Contovounesios [Sat, 3 Jun 2023 10:25:05 +0000 (11:25 +0100)]
Minor tree-sitter cleanups

* lisp/treesit.el (treesit-fontify-with-override): Fix docstring
grammar.  Remove redundant precondition (bug#64052).
* src/treesit.c (Ftreesit_parser_set_included_ranges): Fix typo in
commentary.
(treesit_predicate_equal, treesit_predicate_match)
(treesit_predicate_pred): Avoid fixnum roundtrip by using
list_length in place of Flength.  Make error messages more accurate.
(treesit_eval_predicates): Quote predicate names in error message.

17 months agoMinor search_buffer cleanup
Basil L. Contovounesios [Sat, 3 Jun 2023 13:46:19 +0000 (14:46 +0100)]
Minor search_buffer cleanup

* src/search.c: Move commentary that used to precede search_buffer
to that location once more.  Update it for the current arglist.
(search_command, search_buffer_non_re, search_buffer):
* src/lisp.h (search_buffer): Turn RE flag/argument from an int into
a bool.  All callers changed (bug#64049).

17 months ago; Fix last change to lisp/language/cyrillic.el.
Basil L. Contovounesios [Sat, 8 Jul 2023 15:24:15 +0000 (16:24 +0100)]
; Fix last change to lisp/language/cyrillic.el.

For discussion, see the following emacs-devel thread:
https://lists.gnu.org/r/emacs-devel/2023-07/msg00221.html

17 months agoRearrange setting date and modes in Tramp
Michael Albinus [Sat, 8 Jul 2023 14:48:20 +0000 (16:48 +0200)]
Rearrange setting date and modes in Tramp

* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Set date
and modes if appropriate.
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-directly)
(tramp-do-copy-or-rename-file-out-of-band): Do not set date and modes.

17 months agoFix EmacsDrawLine again
Po Lu [Sat, 8 Jul 2023 13:49:21 +0000 (21:49 +0800)]
Fix EmacsDrawLine again

* java/org/gnu/emacs/EmacsDrawLine.java (perform): Symmetrically
adjust coordinates to cover the last pixel.  Then, fill the left
most pixel of the line.

17 months agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 8 Jul 2023 13:43:37 +0000 (16:43 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

17 months agoFix condition-case-unless-debug with :success
Basil L. Contovounesios [Mon, 3 Jul 2023 09:10:47 +0000 (10:10 +0100)]
Fix condition-case-unless-debug with :success

* lisp/subr.el (condition-case-unless-debug): Don't add debug
condition to :success handler (bug#64404).
* test/lisp/subr-tests.el (condition-case-unless-debug)
(condition-case-unless-debug-success): New tests.

17 months agoMention minibuffer-next-completion in completion-help
Spencer Baugh [Mon, 3 Jul 2023 13:59:04 +0000 (09:59 -0400)]
Mention minibuffer-next-completion in completion-help

Now that it's not necessary to switch to the *Completions* buffer to
switch between and choose completions, we should make that clear in
the help text.  Let's also make the bindings uniform both in and
outside the *Completions* buffer so users don't have to think about
the difference.

In working with new users, they've assumed that since the help text in
*Completions* says "Click on a completion to select it", that that's
the only way to select a completion.  This text should help clarify
that.

* doc/emacs/mini.texi (Completion Commands): Document new bindings.
* lisp/simple.el (completion-list-mode-map): Bind
minibuffer-{next,previous,choose}-completion.
(completion-setup-function): Mention bindings for
minibuffer-{next,previous,choose}-completion. (Bug#64425)

17 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 8 Jul 2023 09:46:10 +0000 (05:46 -0400)]
Merge from origin/emacs-29

600b90ed568 Mark failing icalendar test as unstable (bug#56241)
f8a918c9778 ; * src/coding.c (Fcoding_system_put): Improve doc string.
40f84e906f6 ; * doc/lispref/keymaps.texi (Key Binding Commands): Fix ...
502a7800319 ; Improve documentation of 'vertical-motion' in ELisp manual
0d90873fa41 ; * src/indent.c (Fvertical_motion): Doc fix.
9b38773a20b ; * lisp/dired.el (dired-no-confirm): Doc fix.  (Bug#64493)
a30ebe7a556 ; Improve documentation of key-binding commands
c3fefb2b3ae Improve natnump shortdoc
244d4c837ab correct info documentation of benchmark-call
67def1f5502 * lisp/progmodes/grep.el (rgrep): Fix docstring.
8da2091362d ; Fix documentation of minibuffer-completion commands
aa030698cef ; Fix typos in documented names of keymap-* functions
a9b46bb25df Include a help-echo for flymake's modeline counters
37ed3d15f38 Avoid errors in completion due to 'completion-regexp-list'
15ff8761777 ; * lisp/register.el (register-val-describe): Doc fix.
fe7b909c16c ; Fix two typos in recent changes in the manual
7a74b8c3277 C Mode: Don't fontify foo globally as type due to "struct...
823bf6bdb1a * lisp/rect.el (rectangle--duplicate-right): Fix rectangl...
e339d0080d3 ; * test/lisp/misc-tests.el (ert): require misc to avoid ...

# Conflicts:
# lisp/rect.el

17 months agoFix 'toggle-side-windows' with 3 or more side windows
Martin Rudalics [Fri, 7 Jul 2023 13:56:22 +0000 (15:56 +0200)]
Fix 'toggle-side-windows' with 3 or more side windows

* lisp/window.el (window--state-put-1): Consider
'window-combined-p' when determining 'window-combination-limit'.
(window-state-put): Bind 'window-combination-limit' and
'window-combination-resize' to nil.  (Bug#64405)

17 months ago; Fix last change.
Eli Zaretskii [Sat, 8 Jul 2023 08:48:12 +0000 (11:48 +0300)]
; Fix last change.

17 months ago* etc/NEWS: Document changes to coding-system mnemonics.
Eli Zaretskii [Sat, 8 Jul 2023 08:47:32 +0000 (11:47 +0300)]
* etc/NEWS: Document changes to coding-system mnemonics.

17 months agoDisambiguate mode line indication for utf-8 and utf-16
Ulrich Müller [Thu, 6 Jul 2023 18:36:09 +0000 (20:36 +0200)]
Disambiguate mode line indication for utf-8 and utf-16

* lisp/international/mule-conf.el (utf-7):
* lisp/language/cyrillic.el (koi8-u): Change mnemonic letters to
?u and ?\N{cyrillic capital letter u}, respectively.

17 months agoFix 'shell-dirtrack-mode' showing as enabled in unrelated buffers
Vladimir Sedach [Tue, 27 Jun 2023 04:32:07 +0000 (22:32 -0600)]
Fix 'shell-dirtrack-mode' showing as enabled in unrelated buffers

* lisp/shell.el (shell-dirtrack-mode): Reverse the alias.
(shell-dirtrack-mode): Move before first use of the variable.  Add
:interactive keyword.
(shell-directory-tracker, shell-cd): Use 'shell-dirtrack-mode'
instead of 'shell-dirtrackp'.  (Bug#64311)

17 months agoAvoid aborts when trying to 'read' sub-char-tables
Stefan Monnier [Tue, 4 Jul 2023 23:58:12 +0000 (19:58 -0400)]
Avoid aborts when trying to 'read' sub-char-tables

* src/data.c (Ftype_of): Support 'sub-char-table'.  (Bug#64450)
* src/lisp.h: Fix commentary of char-table.

17 months ago; * doc/misc/eshell.texi: Fix typos and clean up unclear wording.
Jim Porter [Sat, 8 Jul 2023 01:19:08 +0000 (18:19 -0700)]
; * doc/misc/eshell.texi: Fix typos and clean up unclear wording.

17 months agoDocument some missing Eshell commands
Jim Porter [Sat, 8 Jul 2023 00:30:26 +0000 (17:30 -0700)]
Document some missing Eshell commands

* doc/misc/eshell.texi (Built-ins): Document 'eshell-debug'.
(Extra built-in commands): Document 'count', 'ff', and 'gf'.

17 months agoUpdate Android port
Po Lu [Sat, 8 Jul 2023 02:15:38 +0000 (10:15 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsService.java (DEBUG_IC)
(DEBUG_THREADS): Improve commentary.
* src/androidterm.c (handle_one_android_event): Signal
completion of IME events that have lost their frames.
(requestCursorUpdates): Don't set an edit counter as this event
won't be passed to the text conversion machinery.

17 months ago; Fix whitespace
Po Lu [Sat, 8 Jul 2023 00:55:24 +0000 (08:55 +0800)]
; Fix whitespace

* src/android.c (android_blit_xor):
(android_check_query_urgent):
(android_run_in_emacs_thread):
(android_update_extracted_text): Fix whitespace.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 8 Jul 2023 00:53:55 +0000 (08:53 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months ago* lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Fix bug#64232
Stefan Monnier [Fri, 7 Jul 2023 16:09:50 +0000 (12:09 -0400)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Fix bug#64232

17 months agoMark failing icalendar test as unstable (bug#56241)
Mattias Engdegård [Fri, 7 Jul 2023 12:40:37 +0000 (14:40 +0200)]
Mark failing icalendar test as unstable (bug#56241)

* test/lisp/calendar/icalendar-tests.el
(icalendar-export-bug-56241-dotted-pair):
This test started failing early July 2023 in multiple branches at
once without any change to the code and is likely sensitive to the
current date.  Tag it to keep it quiet for now.

17 months ago; * src/coding.c (Fcoding_system_put): Improve doc string.
Eli Zaretskii [Fri, 7 Jul 2023 07:29:55 +0000 (10:29 +0300)]
; * src/coding.c (Fcoding_system_put): Improve doc string.

17 months ago* lisp/tab-bar.el: Fix tab-bar-tab-name-current for active minibuffer.
Juri Linkov [Fri, 7 Jul 2023 07:18:43 +0000 (10:18 +0300)]
* lisp/tab-bar.el: Fix tab-bar-tab-name-current for active minibuffer.

(tab-bar-tab-name-current): Use get-mru-window in the active minibuffer
when minibuffer-selected-window is nil after switching to another tab.
(tab-bar-tab-name-current-with-count)
(tab-bar-tab-name-truncated): Use tab-bar-tab-name-current.

17 months ago; * doc/lispref/keymaps.texi (Key Binding Commands): Fix typo.
Eli Zaretskii [Fri, 7 Jul 2023 06:59:52 +0000 (09:59 +0300)]
; * doc/lispref/keymaps.texi (Key Binding Commands): Fix typo.

17 months ago* lisp/tab-bar.el: Improve tab-bar-minibuffer-restore-tab (bug#64373).
Juri Linkov [Fri, 7 Jul 2023 06:33:56 +0000 (09:33 +0300)]
* lisp/tab-bar.el: Improve tab-bar-minibuffer-restore-tab (bug#64373).

(tab-bar-select-tab): Set tab-bar-minibuffer-restore-tab and
minibuffer-exit-hook minibuffer-locally to handle recursive minibuffers
for non-nil read-minibuffer-restore-windows.
(tab-bar-minibuffer-restore-tab): No need to reset minibuffer-local values.

17 months ago; Improve documentation of 'vertical-motion' in ELisp manual
Eli Zaretskii [Fri, 7 Jul 2023 06:26:58 +0000 (09:26 +0300)]
; Improve documentation of 'vertical-motion' in ELisp manual

* doc/lispref/positions.texi (Screen Lines): Improve the
documentation of 'vertical-motion'.

17 months agoUpdate Android port
Po Lu [Fri, 7 Jul 2023 06:22:38 +0000 (14:22 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsSurfaceView.java (copyToFrontBuffer):
Use fallback bit blit function on Android 7.0 as well, as
crashes have been observed in drawBitmap.

17 months ago; * src/indent.c (Fvertical_motion): Doc fix.
Eli Zaretskii [Fri, 7 Jul 2023 06:16:12 +0000 (09:16 +0300)]
; * src/indent.c (Fvertical_motion): Doc fix.

17 months agoUpdate Android port
Po Lu [Fri, 7 Jul 2023 02:00:56 +0000 (10:00 +0800)]
Update Android port

* lisp/tool-bar.el (modifier-bar-modifier-list): New variable.
(modifier-bar-button): New function.
(tool-bar-event-apply-alt-modifier)
(tool-bar-event-apply-super-modifier)
(tool-bar-event-apply-hyper-modifier)
(tool-bar-event-apply-shift-modifier)
(tool-bar-event-apply-control-modifier)
(tool-bar-event-apply-meta-modifier): Factor out modifier bar
logic to that function, and redisplay the tool bar where
necessary.
(modifier-bar-available-p): New function.
(modifier-bar-mode): Disable tool bar items corresponding to
modifier keys that've already been pressed.

* etc/images/shift.pbm: Regenerate from correct font.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Fri, 7 Jul 2023 00:45:07 +0000 (08:45 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months ago; cperl-mode: Refine syntax of attributes
Harald Jörg [Thu, 6 Jul 2023 15:29:42 +0000 (17:29 +0200)]
; cperl-mode: Refine syntax of attributes

Attributes may start with underscore, and must be separated.
Thanks to Mattias Engdegård for pointing out a regex mistake.

* lisp/progmodes/cperl-mode.el (defconst): Fix bad grouping and
allow attributes to start with an underscore in
cperl--single-attribute-rx.  Adjust cperl--attribute-list-rx
accordingly.
(cperl-find-sub-attrs): Allow attributes to start with an underscore.

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-attribute-list-rx): Add new test cases for valid and
invalid attribute lists.

17 months agoRevert "Use 'emacs-lisp-compilation-mode' in native compilation buffers"
Eli Zaretskii [Thu, 6 Jul 2023 15:00:05 +0000 (18:00 +0300)]
Revert "Use 'emacs-lisp-compilation-mode' in native compilation buffers"

This reverts commit 40492581f96626e405e4b453456b8c9b83822c97.
It caused a recursive-load error when native-compiling files.
(Bug#64391)

17 months ago; * lisp/dired.el (dired-no-confirm): Doc fix. (Bug#64493)
Eli Zaretskii [Thu, 6 Jul 2023 10:12:21 +0000 (13:12 +0300)]
; * lisp/dired.el (dired-no-confirm): Doc fix.  (Bug#64493)

17 months agoUse 'emacs-lisp-compilation-mode' in native compilation buffers
Eli Zaretskii [Thu, 6 Jul 2023 08:50:41 +0000 (11:50 +0300)]
Use 'emacs-lisp-compilation-mode' in native compilation buffers

* lisp/emacs-lisp/comp.el (comp-log-to-buffer)
(comp-run-async-workers): Use 'emacs-lisp-compilation-mode' in the
buffers where we log the results of native compilation.  Suggested
by No Wayman <iarchivedmywholelife@gmail.com>.  (Bug#64452)

17 months ago; Improve documentation of key-binding commands
Eli Zaretskii [Thu, 6 Jul 2023 08:42:01 +0000 (11:42 +0300)]
; Improve documentation of key-binding commands

* doc/lispref/keymaps.texi (Key Binding Commands): Improve the
documentation of arguments expected by key binding commands.

* lisp/keymap.el (keymap-set, keymap-global-set)
(keymap-local-set, keymap-global-unset, keymap-local-unset)
(keymap-unset, key-parse): Doc fixes.

17 months ago; * etc/NEWS: News entry for previous change (bug#62164).
Spencer Baugh [Fri, 7 Apr 2023 21:54:06 +0000 (17:54 -0400)]
; * etc/NEWS: News entry for previous change (bug#62164).

17 months agoAllow floating the ediff control frame under X
Spencer Baugh [Fri, 7 Apr 2023 21:54:06 +0000 (17:54 -0400)]
Allow floating the ediff control frame under X

This is a step in the direction of making ediff behave better by
default under tiling window managers and fixing Bug#62164.

* lisp/vc/ediff-wind.el (ediff-floating-control-frame): Add
defcustom.
(ediff-frame-make-utility, ediff-setup-control-frame): Allow setting
the control frame up as a utility window under X.  (Bug#62164)

17 months ago; * etc/NEWS: Fix punctuation and whitespace of last added entry.
Eli Zaretskii [Thu, 6 Jul 2023 07:33:43 +0000 (10:33 +0300)]
; * etc/NEWS: Fix punctuation and whitespace of last added entry.

17 months agoSupport right-align in mode-line
Hugo Heagren [Sat, 1 Apr 2023 21:27:25 +0000 (22:27 +0100)]
Support right-align in mode-line

* lisp/bindings.el (mode-line-right-align-edge):  New custom
variable, controls where `mode-line-format-right-align' should
align to.
(mode-line-format-right-align):  New function.  If the symbol
`mode-line-format-right-align' appears in `mode-line-format',
then return return a padding string which aligns everything
after that symbol to the right.  Padding width is altered with
the display property and depends on the value of
`mode-line-right-align-edge'.
(mode-line-format-right-align):  New variable.  Convenience
definition for including right alignment in `mode-line-format'.
* doc/lispref/modes.texi (Mode Line Variables):  Document new
alignment functionality and user option.  (Bug#62606)

17 months agoImprove Python imports management commands
Matthias Meulien [Sat, 1 Jul 2023 20:12:43 +0000 (22:12 +0200)]
Improve Python imports management commands

* lisp/progmodes/python.el (python--list-imports): Handle import
errors.
(python--do-isort): Specialize error message.  (Bug#64406)

17 months agoFix target-async and background execution in gdb-mi.el
Wang Diancheng [Fri, 30 Jun 2023 07:08:18 +0000 (15:08 +0800)]
Fix target-async and background execution in gdb-mi.el

* lisp/progmodes/gdb-mi.el (gdb-target-async-checked): New
variable.
(gdb-non-stop-setting): Change the value back to default to
non-nil on systems other than MS-Windows.
(gdb-non-stop-handler): Try to set mi-async first, falling back to
target-async by calling 'gdb-set-mi-async-handler'.
(gdb-set-mi-async-handler, gdb-try-check-target-async-support):
New functions.
(gdb-check-target-async): Set 'gdb-non-stop' here...
(gdb-starting): ...and here.
(gdb-stopped): Call 'gdb-try-check-target-async-support' when the
program stops for the first time.  (Bug#64186)  (Bug#63084)

Copyright-paperwork-exempt: yes